mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-08 10:34:15 +00:00
Finished themeable components
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
import { NgModule } from '@angular/core';
|
||||
import { RouterModule } from '@angular/router';
|
||||
import { AuthenticatedGuard } from '../core/auth/authenticated.guard';
|
||||
import { SubmissionImportExternalComponent } from '../submission/import-external/submission-import-external.component';
|
||||
import { ThemedSubmissionImportExternalComponent } from '../submission/import-external/themed-submission-import-external.component';
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
@@ -9,7 +9,7 @@ import { SubmissionImportExternalComponent } from '../submission/import-external
|
||||
{
|
||||
canActivate: [ AuthenticatedGuard ],
|
||||
path: '',
|
||||
component: SubmissionImportExternalComponent,
|
||||
component: ThemedSubmissionImportExternalComponent,
|
||||
pathMatch: 'full',
|
||||
data: {
|
||||
title: 'submission.import-external.page.title'
|
||||
|
@@ -16,7 +16,7 @@ export class ThemedFullItemPageComponent extends ThemedComponent<FullItemPageCom
|
||||
}
|
||||
|
||||
protected importThemedComponent(themeName: string): Promise<any> {
|
||||
return import(`../../themes/${themeName}/app/+item-page/full/full-item-page.component`);
|
||||
return import(`../../../themes/${themeName}/app/+item-page/full/full-item-page.component`);
|
||||
}
|
||||
|
||||
protected importUnthemedComponent(): Promise<any> {
|
||||
|
@@ -1,15 +1,14 @@
|
||||
import { NgModule } from '@angular/core';
|
||||
import { RouterModule } from '@angular/router';
|
||||
|
||||
import { MyDSpacePageComponent } from './my-dspace-page.component';
|
||||
import { MyDSpaceGuard } from './my-dspace.guard';
|
||||
import { ThemedMyDSpacePageComponent } from './themed-my-dspace-page.component';
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
RouterModule.forChild([
|
||||
{
|
||||
path: '',
|
||||
component: MyDSpacePageComponent,
|
||||
component: ThemedMyDSpacePageComponent,
|
||||
data: { title: 'mydspace.title' },
|
||||
canActivate: [
|
||||
MyDSpaceGuard
|
||||
|
@@ -11,6 +11,15 @@ import { MyDSpaceGuard } from './my-dspace.guard';
|
||||
import { MyDSpaceConfigurationService } from './my-dspace-configuration.service';
|
||||
import { CollectionSelectorComponent } from './collection-selector/collection-selector.component';
|
||||
import { MyDspaceSearchModule } from './my-dspace-search.module';
|
||||
import { ThemedMyDSpacePageComponent } from './themed-my-dspace-page.component';
|
||||
|
||||
const DECLARATIONS = [
|
||||
MyDSpacePageComponent,
|
||||
ThemedMyDSpacePageComponent,
|
||||
MyDSpaceResultsComponent,
|
||||
MyDSpaceNewSubmissionComponent,
|
||||
CollectionSelectorComponent
|
||||
];
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
@@ -19,16 +28,12 @@ import { MyDspaceSearchModule } from './my-dspace-search.module';
|
||||
MyDspacePageRoutingModule,
|
||||
MyDspaceSearchModule.withEntryComponents()
|
||||
],
|
||||
declarations: [
|
||||
MyDSpacePageComponent,
|
||||
MyDSpaceResultsComponent,
|
||||
MyDSpaceNewSubmissionComponent,
|
||||
CollectionSelectorComponent
|
||||
],
|
||||
declarations: DECLARATIONS,
|
||||
providers: [
|
||||
MyDSpaceGuard,
|
||||
MyDSpaceConfigurationService
|
||||
]
|
||||
],
|
||||
exports: DECLARATIONS,
|
||||
})
|
||||
|
||||
/**
|
||||
|
27
src/app/+my-dspace-page/themed-my-dspace-page.component.ts
Normal file
27
src/app/+my-dspace-page/themed-my-dspace-page.component.ts
Normal file
@@ -0,0 +1,27 @@
|
||||
import { Component } from '@angular/core';
|
||||
import { ThemedComponent } from '../shared/theme-support/themed.component';
|
||||
import { MyDSpacePageComponent } from './my-dspace-page.component';
|
||||
|
||||
/**
|
||||
* Themed wrapper for MyDSpacePageComponent
|
||||
*/
|
||||
@Component({
|
||||
selector: 'ds-themed-my-dspace-page',
|
||||
styleUrls: [],
|
||||
templateUrl: './../shared/theme-support/themed.component.html'
|
||||
})
|
||||
export class ThemedMyDSpacePageComponent extends ThemedComponent<MyDSpacePageComponent> {
|
||||
protected inAndOutputNames: (keyof MyDSpacePageComponent & keyof this)[];
|
||||
|
||||
protected getComponentName(): string {
|
||||
return 'MyDSpacePageComponent';
|
||||
}
|
||||
|
||||
protected importThemedComponent(themeName: string): Promise<any> {
|
||||
return import(`../../themes/${themeName}/app/+my-dspace-page/my-dspace-page.component`);
|
||||
}
|
||||
|
||||
protected importUnthemedComponent(): Promise<any> {
|
||||
return import(`./my-dspace-page.component`);
|
||||
}
|
||||
}
|
@@ -2,7 +2,7 @@ import { NgModule } from '@angular/core';
|
||||
import { RouterModule } from '@angular/router';
|
||||
|
||||
import { AuthenticatedGuard } from '../core/auth/authenticated.guard';
|
||||
import { SubmissionSubmitComponent } from '../submission/submit/submission-submit.component';
|
||||
import { ThemedSubmissionSubmitComponent } from '../submission/submit/themed-submission-submit.component';
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
@@ -11,7 +11,7 @@ import { SubmissionSubmitComponent } from '../submission/submit/submission-submi
|
||||
canActivate: [AuthenticatedGuard],
|
||||
path: '',
|
||||
pathMatch: 'full',
|
||||
component: SubmissionSubmitComponent,
|
||||
component: ThemedSubmissionSubmitComponent,
|
||||
data: { title: 'submission.submit.title' }
|
||||
}
|
||||
])
|
||||
|
@@ -0,0 +1,26 @@
|
||||
import { WorkflowItemDeleteComponent } from './workflow-item-delete.component';
|
||||
import { ThemedComponent } from '../../shared/theme-support/themed.component';
|
||||
import { Component } from '@angular/core';
|
||||
|
||||
/**
|
||||
* Themed wrapper for WorkflowItemDeleteComponent
|
||||
*/
|
||||
|
||||
@Component({
|
||||
selector: 'ds-themed-workflow-item-delete',
|
||||
styleUrls: [],
|
||||
templateUrl: './../../shared/theme-support/themed.component.html'
|
||||
})
|
||||
export class ThemedWorkflowItemDeleteComponent extends ThemedComponent<WorkflowItemDeleteComponent> {
|
||||
protected getComponentName(): string {
|
||||
return 'WorkflowItemDeleteComponent';
|
||||
}
|
||||
|
||||
protected importThemedComponent(themeName: string): Promise<any> {
|
||||
return import(`../../../themes/${themeName}/app/+workflowitems-edit-page/workflow-item-delete/workflow-item-delete.component`);
|
||||
}
|
||||
|
||||
protected importUnthemedComponent(): Promise<any> {
|
||||
return import(`./workflow-item-delete.component`);
|
||||
}
|
||||
}
|
@@ -0,0 +1,26 @@
|
||||
import { ThemedComponent } from '../../shared/theme-support/themed.component';
|
||||
import { Component } from '@angular/core';
|
||||
import { WorkflowItemSendBackComponent } from './workflow-item-send-back.component';
|
||||
|
||||
/**
|
||||
* Themed wrapper for WorkflowItemActionPageComponent
|
||||
*/
|
||||
|
||||
@Component({
|
||||
selector: 'ds-themed-workflow-item-send-back',
|
||||
styleUrls: [],
|
||||
templateUrl: './../../shared/theme-support/themed.component.html'
|
||||
})
|
||||
export class ThemedWorkflowItemSendBackComponent extends ThemedComponent<WorkflowItemSendBackComponent> {
|
||||
protected getComponentName(): string {
|
||||
return 'WorkflowItemSendBackComponent';
|
||||
}
|
||||
|
||||
protected importThemedComponent(themeName: string): Promise<any> {
|
||||
return import(`../../../themes/${themeName}/app/+workflowitems-edit-page/workflow-item-send-back/workflow-item-send-back.component`);
|
||||
}
|
||||
|
||||
protected importUnthemedComponent(): Promise<any> {
|
||||
return import(`./workflow-item-send-back.component`);
|
||||
}
|
||||
}
|
@@ -2,15 +2,11 @@ import { NgModule } from '@angular/core';
|
||||
import { RouterModule } from '@angular/router';
|
||||
|
||||
import { AuthenticatedGuard } from '../core/auth/authenticated.guard';
|
||||
import { SubmissionEditComponent } from '../submission/edit/submission-edit.component';
|
||||
import { WorkflowItemDeleteComponent } from './workflow-item-delete/workflow-item-delete.component';
|
||||
import { WorkflowItemPageResolver } from './workflow-item-page.resolver';
|
||||
import { WorkflowItemSendBackComponent } from './workflow-item-send-back/workflow-item-send-back.component';
|
||||
import {
|
||||
WORKFLOW_ITEM_SEND_BACK_PATH,
|
||||
WORKFLOW_ITEM_DELETE_PATH,
|
||||
WORKFLOW_ITEM_EDIT_PATH
|
||||
} from './workflowitems-edit-page-routing-paths';
|
||||
import { WORKFLOW_ITEM_DELETE_PATH, WORKFLOW_ITEM_EDIT_PATH, WORKFLOW_ITEM_SEND_BACK_PATH } from './workflowitems-edit-page-routing-paths';
|
||||
import { ThemedSubmissionEditComponent } from '../submission/edit/themed-submission-edit.component';
|
||||
import { ThemedWorkflowItemDeleteComponent } from './workflow-item-delete/themed-workflow-item-delete.component';
|
||||
import { ThemedWorkflowItemSendBackComponent } from './workflow-item-send-back/themed-workflow-item-send-back.component';
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
@@ -22,19 +18,19 @@ import {
|
||||
{
|
||||
canActivate: [AuthenticatedGuard],
|
||||
path: WORKFLOW_ITEM_EDIT_PATH,
|
||||
component: SubmissionEditComponent,
|
||||
component: ThemedSubmissionEditComponent,
|
||||
data: { title: 'submission.edit.title' }
|
||||
},
|
||||
{
|
||||
canActivate: [AuthenticatedGuard],
|
||||
path: WORKFLOW_ITEM_DELETE_PATH,
|
||||
component: WorkflowItemDeleteComponent,
|
||||
component: ThemedWorkflowItemDeleteComponent,
|
||||
data: { title: 'workflow-item.delete.title' }
|
||||
},
|
||||
{
|
||||
canActivate: [AuthenticatedGuard],
|
||||
path: WORKFLOW_ITEM_SEND_BACK_PATH,
|
||||
component: WorkflowItemSendBackComponent,
|
||||
component: ThemedWorkflowItemSendBackComponent,
|
||||
data: { title: 'workflow-item.send-back.title' }
|
||||
}
|
||||
]
|
||||
|
@@ -5,6 +5,8 @@ import { WorkflowItemsEditPageRoutingModule } from './workflowitems-edit-page-ro
|
||||
import { SubmissionModule } from '../submission/submission.module';
|
||||
import { WorkflowItemDeleteComponent } from './workflow-item-delete/workflow-item-delete.component';
|
||||
import { WorkflowItemSendBackComponent } from './workflow-item-send-back/workflow-item-send-back.component';
|
||||
import { ThemedWorkflowItemDeleteComponent } from './workflow-item-delete/themed-workflow-item-delete.component';
|
||||
import { ThemedWorkflowItemSendBackComponent } from './workflow-item-send-back/themed-workflow-item-send-back.component';
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
@@ -13,7 +15,7 @@ import { WorkflowItemSendBackComponent } from './workflow-item-send-back/workflo
|
||||
SharedModule,
|
||||
SubmissionModule,
|
||||
],
|
||||
declarations: [WorkflowItemDeleteComponent, WorkflowItemSendBackComponent]
|
||||
declarations: [WorkflowItemDeleteComponent, ThemedWorkflowItemDeleteComponent, WorkflowItemSendBackComponent, ThemedWorkflowItemSendBackComponent]
|
||||
})
|
||||
/**
|
||||
* This module handles all modules that need to access the workflowitems edit page.
|
||||
|
@@ -2,7 +2,7 @@ import { NgModule } from '@angular/core';
|
||||
import { RouterModule } from '@angular/router';
|
||||
|
||||
import { AuthenticatedGuard } from '../core/auth/authenticated.guard';
|
||||
import { SubmissionEditComponent } from '../submission/edit/submission-edit.component';
|
||||
import { ThemedSubmissionEditComponent } from '../submission/edit/themed-submission-edit.component';
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
@@ -11,7 +11,7 @@ import { SubmissionEditComponent } from '../submission/edit/submission-edit.comp
|
||||
{
|
||||
canActivate: [AuthenticatedGuard],
|
||||
path: ':id/edit',
|
||||
component: SubmissionEditComponent,
|
||||
component: ThemedSubmissionEditComponent,
|
||||
data: { title: 'submission.edit.title' }
|
||||
}
|
||||
])
|
||||
|
@@ -2,6 +2,7 @@ import { Component } from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'ds-forgot-email',
|
||||
styleUrls: ['./forgot-email.component.scss'],
|
||||
templateUrl: './forgot-email.component.html'
|
||||
})
|
||||
/**
|
||||
|
@@ -16,7 +16,7 @@ export class ThemedForgotEmailComponent extends ThemedComponent<ForgotEmailCompo
|
||||
}
|
||||
|
||||
protected importThemedComponent(themeName: string): Promise<any> {
|
||||
return import(`../../themes/${themeName}/app/forgot-password/forgot-password-email/forgot-email.component`);
|
||||
return import(`../../../themes/${themeName}/app/forgot-password/forgot-password-email/forgot-email.component`);
|
||||
}
|
||||
|
||||
protected importUnthemedComponent(): Promise<any> {
|
||||
|
@@ -14,6 +14,7 @@ import { EPerson } from '../../core/eperson/models/eperson.model';
|
||||
|
||||
@Component({
|
||||
selector: 'ds-forgot-password-form',
|
||||
styleUrls: ['./forgot-password-form.component.scss'],
|
||||
templateUrl: './forgot-password-form.component.html'
|
||||
})
|
||||
/**
|
||||
|
@@ -16,7 +16,7 @@ export class ThemedForgotPasswordFormComponent extends ThemedComponent<ForgotPas
|
||||
}
|
||||
|
||||
protected importThemedComponent(themeName: string): Promise<any> {
|
||||
return import(`../../themes/${themeName}/app/forgot-password/forgot-password-form/forgot-password-form.component`);
|
||||
return import(`../../../themes/${themeName}/app/forgot-password/forgot-password-form/forgot-password-form.component`);
|
||||
}
|
||||
|
||||
protected importUnthemedComponent(): Promise<any> {
|
||||
|
0
src/app/profile-page/profile-page.component.scss
Normal file
0
src/app/profile-page/profile-page.component.scss
Normal file
@@ -21,6 +21,7 @@ import { Operation } from 'fast-json-patch';
|
||||
|
||||
@Component({
|
||||
selector: 'ds-profile-page',
|
||||
styleUrls: ['./profile-page.component.scss'],
|
||||
templateUrl: './profile-page.component.html'
|
||||
})
|
||||
/**
|
||||
|
@@ -26,6 +26,7 @@ import { getFirstCompletedRemoteData } from '../../core/shared/operators';
|
||||
*/
|
||||
@Component({
|
||||
selector: 'ds-create-profile',
|
||||
styleUrls: ['./create-profile.component.scss'],
|
||||
templateUrl: './create-profile.component.html'
|
||||
})
|
||||
export class CreateProfileComponent implements OnInit {
|
||||
|
@@ -16,7 +16,7 @@ export class ThemedCreateProfileComponent extends ThemedComponent<CreateProfileC
|
||||
}
|
||||
|
||||
protected importThemedComponent(themeName: string): Promise<any> {
|
||||
return import(`../../themes/${themeName}/app/register-page/create-profile/create-profile.component`);
|
||||
return import(`../../../themes/${themeName}/app/register-page/create-profile/create-profile.component`);
|
||||
}
|
||||
|
||||
protected importUnthemedComponent(): Promise<any> {
|
||||
|
@@ -2,6 +2,7 @@ import { Component } from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'ds-register-email',
|
||||
styleUrls: ['./register-email.component.scss'],
|
||||
templateUrl: './register-email.component.html'
|
||||
})
|
||||
/**
|
||||
|
25
src/app/submission/edit/themed-submission-edit.component.ts
Normal file
25
src/app/submission/edit/themed-submission-edit.component.ts
Normal file
@@ -0,0 +1,25 @@
|
||||
/**
|
||||
* Themed wrapper for SubmissionEditComponent
|
||||
*/
|
||||
import { Component } from '@angular/core';
|
||||
import { ThemedComponent } from '../../shared/theme-support/themed.component';
|
||||
import { SubmissionEditComponent } from './submission-edit.component';
|
||||
|
||||
@Component({
|
||||
selector: 'ds-themed-submission-edit',
|
||||
styleUrls: [],
|
||||
templateUrl: './../../shared/theme-support/themed.component.html'
|
||||
})
|
||||
export class ThemedSubmissionEditComponent extends ThemedComponent<SubmissionEditComponent> {
|
||||
protected getComponentName(): string {
|
||||
return 'SubmissionEditComponent';
|
||||
}
|
||||
|
||||
protected importThemedComponent(themeName: string): Promise<any> {
|
||||
return import(`../../../themes/${themeName}/app/submission/edit/submission-edit.component`);
|
||||
}
|
||||
|
||||
protected importUnthemedComponent(): Promise<any> {
|
||||
return import(`./submission-edit.component`);
|
||||
}
|
||||
}
|
@@ -0,0 +1,25 @@
|
||||
import { Component } from '@angular/core';
|
||||
import { ThemedComponent } from '../../shared/theme-support/themed.component';
|
||||
import { SubmissionImportExternalComponent } from './submission-import-external.component';
|
||||
|
||||
/**
|
||||
* Themed wrapper for SubmissionImportExternalComponent
|
||||
*/
|
||||
@Component({
|
||||
selector: 'ds-themed-submission-import-external',
|
||||
styleUrls: [],
|
||||
templateUrl: './../../shared/theme-support/themed.component.html'
|
||||
})
|
||||
export class ThemedSubmissionImportExternalComponent extends ThemedComponent<SubmissionImportExternalComponent> {
|
||||
protected getComponentName(): string {
|
||||
return 'SubmissionImportExternalComponent';
|
||||
}
|
||||
|
||||
protected importThemedComponent(themeName: string): Promise<any> {
|
||||
return import(`../../../themes/${themeName}/app/submission/import-external/submission-import-external.component`);
|
||||
}
|
||||
|
||||
protected importUnthemedComponent(): Promise<any> {
|
||||
return import(`./submission-import-external.component`);
|
||||
}
|
||||
}
|
@@ -34,6 +34,36 @@ import { SubmissionImportExternalCollectionComponent } from './import-external/i
|
||||
import { SubmissionSectionCcLicensesComponent } from './sections/cc-license/submission-section-cc-licenses.component';
|
||||
import { JournalEntitiesModule } from '../entity-groups/journal-entities/journal-entities.module';
|
||||
import { ResearchEntitiesModule } from '../entity-groups/research-entities/research-entities.module';
|
||||
import { ThemedSubmissionEditComponent } from './edit/themed-submission-edit.component';
|
||||
import { ThemedSubmissionSubmitComponent } from './submit/themed-submission-submit.component';
|
||||
import { ThemedSubmissionImportExternalComponent } from './import-external/themed-submission-import-external.component';
|
||||
|
||||
const DECLARATIONS = [
|
||||
SubmissionSectionUploadAccessConditionsComponent,
|
||||
SubmissionSectionUploadComponent,
|
||||
SubmissionSectionformComponent,
|
||||
SubmissionSectionLicenseComponent,
|
||||
SubmissionSectionCcLicensesComponent,
|
||||
SectionsDirective,
|
||||
SubmissionEditComponent,
|
||||
ThemedSubmissionEditComponent,
|
||||
SubmissionFormSectionAddComponent,
|
||||
SubmissionFormCollectionComponent,
|
||||
SubmissionFormComponent,
|
||||
SubmissionFormFooterComponent,
|
||||
SubmissionSubmitComponent,
|
||||
ThemedSubmissionSubmitComponent,
|
||||
SubmissionUploadFilesComponent,
|
||||
SubmissionSectionContainerComponent,
|
||||
SubmissionSectionUploadFileComponent,
|
||||
SubmissionSectionUploadFileEditComponent,
|
||||
SubmissionSectionUploadFileViewComponent,
|
||||
SubmissionImportExternalComponent,
|
||||
ThemedSubmissionImportExternalComponent,
|
||||
SubmissionImportExternalSearchbarComponent,
|
||||
SubmissionImportExternalPreviewComponent,
|
||||
SubmissionImportExternalCollectionComponent
|
||||
];
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
@@ -45,35 +75,8 @@ import { ResearchEntitiesModule } from '../entity-groups/research-entities/resea
|
||||
JournalEntitiesModule.withEntryComponents(),
|
||||
ResearchEntitiesModule.withEntryComponents(),
|
||||
],
|
||||
declarations: [
|
||||
SubmissionSectionUploadAccessConditionsComponent,
|
||||
SubmissionSectionUploadComponent,
|
||||
SubmissionSectionformComponent,
|
||||
SubmissionSectionLicenseComponent,
|
||||
SubmissionSectionCcLicensesComponent,
|
||||
SectionsDirective,
|
||||
SubmissionEditComponent,
|
||||
SubmissionFormSectionAddComponent,
|
||||
SubmissionFormCollectionComponent,
|
||||
SubmissionFormComponent,
|
||||
SubmissionFormFooterComponent,
|
||||
SubmissionSubmitComponent,
|
||||
SubmissionUploadFilesComponent,
|
||||
SubmissionSectionContainerComponent,
|
||||
SubmissionSectionUploadFileComponent,
|
||||
SubmissionSectionUploadFileEditComponent,
|
||||
SubmissionSectionUploadFileViewComponent,
|
||||
SubmissionImportExternalComponent,
|
||||
SubmissionImportExternalSearchbarComponent,
|
||||
SubmissionImportExternalPreviewComponent,
|
||||
SubmissionImportExternalCollectionComponent
|
||||
],
|
||||
exports: [
|
||||
SubmissionEditComponent,
|
||||
SubmissionFormComponent,
|
||||
SubmissionSubmitComponent,
|
||||
SubmissionImportExternalComponent
|
||||
],
|
||||
declarations: DECLARATIONS,
|
||||
exports: DECLARATIONS,
|
||||
providers: [
|
||||
SectionUploadService,
|
||||
SectionsService,
|
||||
|
@@ -0,0 +1,25 @@
|
||||
import { Component } from '@angular/core';
|
||||
import { ThemedComponent } from '../../shared/theme-support/themed.component';
|
||||
import { SubmissionSubmitComponent } from './submission-submit.component';
|
||||
|
||||
/**
|
||||
* Themed wrapper for SubmissionSubmitComponent
|
||||
*/
|
||||
@Component({
|
||||
selector: 'ds-themed-submission-submit',
|
||||
styleUrls: [],
|
||||
templateUrl: './../../shared/theme-support/themed.component.html'
|
||||
})
|
||||
export class ThemedSubmissionSubmitComponent extends ThemedComponent<SubmissionSubmitComponent> {
|
||||
protected getComponentName(): string {
|
||||
return 'SubmissionImportExternalComponent';
|
||||
}
|
||||
|
||||
protected importThemedComponent(themeName: string): Promise<any> {
|
||||
return import(`../../../themes/${themeName}/app/submission/submit/submission-submit.component`);
|
||||
}
|
||||
|
||||
protected importUnthemedComponent(): Promise<any> {
|
||||
return import(`./submission-submit.component`);
|
||||
}
|
||||
}
|
@@ -251,10 +251,10 @@ export const environment: GlobalConfig = {
|
||||
// name: 'custom',
|
||||
// uuid: '0958c910-2037-42a9-81c7-dca80e3892b4'
|
||||
// },
|
||||
{
|
||||
// A theme with only a name will match every route
|
||||
name: 'custom'
|
||||
},
|
||||
// {
|
||||
// // A theme with only a name will match every route
|
||||
// name: 'custom'
|
||||
// },
|
||||
|
||||
{
|
||||
// This theme will use the default bootstrap styling for DSpace components
|
||||
|
@@ -0,0 +1,20 @@
|
||||
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
||||
import { fadeInOut } from '../../../../../app/shared/animations/fade';
|
||||
import { FullItemPageComponent as BaseComponent } from '../../../../../app/+item-page/full/full-item-page.component';
|
||||
|
||||
/**
|
||||
* This component renders a full item page.
|
||||
* The route parameter 'id' is used to request the item it represents.
|
||||
*/
|
||||
|
||||
@Component({
|
||||
selector: 'ds-full-item-page',
|
||||
// styleUrls: ['./full-item-page.component.scss'],
|
||||
styleUrls: ['../../../../../app/+item-page/full/full-item-page.component.scss'],
|
||||
// templateUrl: './full-item-page.component.html',
|
||||
templateUrl: '../../../../../app/+item-page/full/full-item-page.component.html',
|
||||
changeDetection: ChangeDetectionStrategy.OnPush,
|
||||
animations: [fadeInOut]
|
||||
})
|
||||
export class FullItemPageComponent extends BaseComponent {
|
||||
}
|
@@ -0,0 +1,21 @@
|
||||
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
||||
import { ItemPageComponent as BaseComponent } from '../../../../../app/+item-page/simple/item-page.component';
|
||||
import { fadeInOut } from '../../../../../app/shared/animations/fade';
|
||||
|
||||
/**
|
||||
* This component renders a simple item page.
|
||||
* The route parameter 'id' is used to request the item it represents.
|
||||
* All fields of the item that should be displayed, are defined in its template.
|
||||
*/
|
||||
@Component({
|
||||
selector: 'ds-item-page',
|
||||
// styleUrls: ['../item-page.component.scss'],
|
||||
styleUrls: ['../../../../../app/+item-page/simple/item-page.component.scss'],
|
||||
// templateUrl: './item-page.component.html',
|
||||
templateUrl: '../../../../../app/+item-page/simple/item-page.component.html',
|
||||
changeDetection: ChangeDetectionStrategy.OnPush,
|
||||
animations: [fadeInOut]
|
||||
})
|
||||
export class ItemPageComponent extends BaseComponent {
|
||||
|
||||
}
|
10
src/themes/custom/app/+login-page/login-page.component.html
Normal file
10
src/themes/custom/app/+login-page/login-page.component.html
Normal file
@@ -0,0 +1,10 @@
|
||||
<div class="container w-100 h-100">
|
||||
<div class="text-center mt-5 row justify-content-center">
|
||||
<div>
|
||||
<img class="mb-4 login-logo" src="assets/images/dspace-logo.png">
|
||||
<h1 class="h3 mb-0 font-weight-normal">{{"login.form.header" | translate}}</h1>
|
||||
<ds-log-in
|
||||
[isStandalonePage]="true"></ds-log-in>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
@@ -0,0 +1,4 @@
|
||||
.login-logo {
|
||||
height: var(--ds-login-logo-height);
|
||||
width: var(--ds-login-logo-width);
|
||||
}
|
15
src/themes/custom/app/+login-page/login-page.component.ts
Normal file
15
src/themes/custom/app/+login-page/login-page.component.ts
Normal file
@@ -0,0 +1,15 @@
|
||||
import { Component } from '@angular/core';
|
||||
import { LoginPageComponent as BaseComponent } from '../../../../app/+login-page/login-page.component';
|
||||
|
||||
/**
|
||||
* This component represents the login page
|
||||
*/
|
||||
@Component({
|
||||
selector: 'ds-login-page',
|
||||
// styleUrls: ['./login-page.component.scss'],
|
||||
styleUrls: ['../../../../app/+login-page/login-page.component.scss'],
|
||||
// templateUrl: './login-page.component.html'
|
||||
templateUrl: '../../../../app/+login-page/login-page.component.html'
|
||||
})
|
||||
export class LoginPageComponent extends BaseComponent {
|
||||
}
|
@@ -0,0 +1,9 @@
|
||||
<div class="container w-100 h-100">
|
||||
<div class="text-center mt-5 row justify-content-md-center">
|
||||
<div class="mx-auto">
|
||||
<img class="mb-4 login-logo" src="assets/images/dspace-logo.png">
|
||||
<h1 class="h3 mb-0 font-weight-normal">{{"logout.form.header" | translate}}</h1>
|
||||
<ds-log-out></ds-log-out>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
@@ -0,0 +1 @@
|
||||
@import '../+login-page/login-page.component.scss';
|
12
src/themes/custom/app/+logout-page/logout-page.component.ts
Normal file
12
src/themes/custom/app/+logout-page/logout-page.component.ts
Normal file
@@ -0,0 +1,12 @@
|
||||
import { Component } from '@angular/core';
|
||||
import { LogoutPageComponent as BaseComponent} from '../../../../app/+logout-page/logout-page.component';
|
||||
|
||||
@Component({
|
||||
selector: 'ds-logout-page',
|
||||
// styleUrls: ['./logout-page.component.scss'],
|
||||
styleUrls: ['../../../../app/+logout-page/logout-page.component.scss'],
|
||||
// templateUrl: './logout-page.component.html'
|
||||
templateUrl: '../../../../app/+logout-page/logout-page.component.html'
|
||||
})
|
||||
export class LogoutPageComponent extends BaseComponent {
|
||||
}
|
@@ -0,0 +1,25 @@
|
||||
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
||||
import { pushInOut } from '../../../../app/shared/animations/push';
|
||||
import { MyDSpacePageComponent as BaseComponent, SEARCH_CONFIG_SERVICE } from '../../../../app/+my-dspace-page/my-dspace-page.component';
|
||||
import { MyDSpaceConfigurationService } from '../../../../app/+my-dspace-page/my-dspace-configuration.service';
|
||||
|
||||
/**
|
||||
* This component represents the whole mydspace page
|
||||
*/
|
||||
@Component({
|
||||
selector: 'ds-my-dspace-page',
|
||||
// styleUrls: ['./my-dspace-page.component.scss'],
|
||||
styleUrls: ['../../../../app/+my-dspace-page/my-dspace-page.component.scss'],
|
||||
// templateUrl: './my-dspace-page.component.html',
|
||||
templateUrl: '../../../../app/+my-dspace-page/my-dspace-page.component.html',
|
||||
changeDetection: ChangeDetectionStrategy.OnPush,
|
||||
animations: [pushInOut],
|
||||
providers: [
|
||||
{
|
||||
provide: SEARCH_CONFIG_SERVICE,
|
||||
useClass: MyDSpaceConfigurationService
|
||||
}
|
||||
]
|
||||
})
|
||||
export class MyDSpacePageComponent extends BaseComponent {
|
||||
}
|
@@ -0,0 +1,14 @@
|
||||
import { Component } from '@angular/core';
|
||||
import { WorkflowItemDeleteComponent as BaseComponent } from '../../../../../app/+workflowitems-edit-page/workflow-item-delete/workflow-item-delete.component';
|
||||
|
||||
@Component({
|
||||
selector: 'ds-workflow-item-delete',
|
||||
// styleUrls: ['workflow-item-delete.component.scss'],
|
||||
// templateUrl: './workflow-item-delete.component.html'
|
||||
templateUrl: '../../../../../app/+workflowitems-edit-page/workflow-item-action-page.component.html'
|
||||
})
|
||||
/**
|
||||
* Component representing a page to delete a workflow item
|
||||
*/
|
||||
export class WorkflowItemDeleteComponent extends BaseComponent {
|
||||
}
|
@@ -0,0 +1,14 @@
|
||||
import { Component } from '@angular/core';
|
||||
import { WorkflowItemSendBackComponent as BaseComponent } from '../../../../../app/+workflowitems-edit-page/workflow-item-send-back/workflow-item-send-back.component';
|
||||
|
||||
@Component({
|
||||
selector: 'ds-workflow-item-send-back',
|
||||
// styleUrls: ['workflow-item-send-back.component.scss'],
|
||||
// templateUrl: './workflow-item-send-back.component.html'
|
||||
templateUrl: '../../../../../app/+workflowitems-edit-page/workflow-item-action-page.component.html'
|
||||
})
|
||||
/**
|
||||
* Component representing a page to send back a workflow item to the submitter
|
||||
*/
|
||||
export class WorkflowItemSendBackComponent extends BaseComponent {
|
||||
}
|
@@ -0,0 +1,15 @@
|
||||
import { Component } from '@angular/core';
|
||||
import { ForgotEmailComponent as BaseComponent } from '../../../../../app/forgot-password/forgot-password-email/forgot-email.component';
|
||||
|
||||
@Component({
|
||||
selector: 'ds-forgot-email',
|
||||
// styleUrls: ['./forgot-email.component.scss'],
|
||||
styleUrls: ['../../../../../app/forgot-password/forgot-password-email/forgot-email.component.scss'],
|
||||
// templateUrl: './forgot-email.component.html'
|
||||
templateUrl: '../../../../../app/forgot-password/forgot-password-email/forgot-email.component.html'
|
||||
})
|
||||
/**
|
||||
* Component responsible the forgot password email step
|
||||
*/
|
||||
export class ForgotEmailComponent extends BaseComponent {
|
||||
}
|
@@ -0,0 +1,15 @@
|
||||
import { Component } from '@angular/core';
|
||||
import { ForgotPasswordFormComponent as BaseComponent } from '../../../../../app/forgot-password/forgot-password-form/forgot-password-form.component';
|
||||
|
||||
@Component({
|
||||
selector: 'ds-forgot-password-form',
|
||||
// styleUrls: ['./forgot-password-form.component.scss'],
|
||||
styleUrls: ['../../../../../app/forgot-password/forgot-password-form/forgot-password-form.component.scss'],
|
||||
// templateUrl: './forgot-password-form.component.html'
|
||||
templateUrl: '../../../../../app/forgot-password/forgot-password-form/forgot-password-form.component.html'
|
||||
})
|
||||
/**
|
||||
* Component for a user to enter a new password for a forgot token.
|
||||
*/
|
||||
export class ForgotPasswordFormComponent extends BaseComponent {
|
||||
}
|
14
src/themes/custom/app/profile-page/profile-page.component.ts
Normal file
14
src/themes/custom/app/profile-page/profile-page.component.ts
Normal file
@@ -0,0 +1,14 @@
|
||||
import { Component } from '@angular/core';
|
||||
import { ProfilePageComponent as BaseComponent } from '../../../../app/profile-page/profile-page.component';
|
||||
|
||||
@Component({
|
||||
selector: 'ds-profile-page',
|
||||
styleUrls: ['./profile-page.component.scss'],
|
||||
templateUrl: './profile-page.component.html'
|
||||
})
|
||||
/**
|
||||
* Component for a user to edit their profile information
|
||||
*/
|
||||
export class ProfilePageComponent extends BaseComponent {
|
||||
|
||||
}
|
@@ -0,0 +1,15 @@
|
||||
import { Component } from '@angular/core';
|
||||
import { CreateProfileComponent as BaseComponent } from '../../../../../app/register-page/create-profile/create-profile.component';
|
||||
|
||||
/**
|
||||
* Component that renders the create profile page to be used by a user registering through a token
|
||||
*/
|
||||
@Component({
|
||||
selector: 'ds-create-profile',
|
||||
// styleUrls: ['./create-profile.component.scss'],
|
||||
styleUrls: ['../../../../../app/register-page/create-profile/create-profile.component.scss'],
|
||||
// templateUrl: './create-profile.component.html'
|
||||
templateUrl: '../../../../../app/register-page/create-profile/create-profile.component.html'
|
||||
})
|
||||
export class CreateProfileComponent extends BaseComponent {
|
||||
}
|
@@ -0,0 +1,15 @@
|
||||
import { Component } from '@angular/core';
|
||||
import { RegisterEmailComponent as BaseComponent } from '../../../../../app/register-page/register-email/register-email.component';
|
||||
|
||||
@Component({
|
||||
selector: 'ds-register-email',
|
||||
// styleUrls: ['./register-email.component.scss'],
|
||||
styleUrls: ['../../../../../app/register-page/register-email/register-email.component.scss'],
|
||||
// templateUrl: './register-email.component.html'
|
||||
templateUrl: '../../../../../app/register-page/register-email/register-email.component.html'
|
||||
})
|
||||
/**
|
||||
* Component responsible the email registration step when registering as a new user
|
||||
*/
|
||||
export class RegisterEmailComponent extends BaseComponent{
|
||||
}
|
@@ -0,0 +1,15 @@
|
||||
import { Component } from '@angular/core';
|
||||
import { SubmissionEditComponent as BaseComponent } from '../../../../../app/submission/edit/submission-edit.component';
|
||||
|
||||
/**
|
||||
* This component allows to edit an existing workspaceitem/workflowitem.
|
||||
*/
|
||||
@Component({
|
||||
selector: 'ds-submission-edit',
|
||||
// styleUrls: ['./submission-edit.component.scss'],
|
||||
styleUrls: ['../../../../../app/submission/edit/submission-edit.component.scss'],
|
||||
// templateUrl: './submission-edit.component.html'
|
||||
templateUrl: '../../../../../app/submission/edit/submission-edit.component.html'
|
||||
})
|
||||
export class SubmissionEditComponent extends BaseComponent {
|
||||
}
|
@@ -0,0 +1,18 @@
|
||||
import { Component } from '@angular/core';
|
||||
import { fadeIn } from '../../../../../app/shared/animations/fade';
|
||||
import { SubmissionImportExternalComponent as BaseComponent } from '../../../../../app/submission/import-external/submission-import-external.component';
|
||||
|
||||
/**
|
||||
* This component allows to submit a new workspaceitem importing the data from an external source.
|
||||
*/
|
||||
@Component({
|
||||
selector: 'ds-submission-import-external',
|
||||
// styleUrls: ['./submission-import-external.component.scss'],
|
||||
styleUrls: ['../../../../../app/submission/import-external/submission-import-external.component.scss'],
|
||||
// templateUrl: './submission-import-external.component.html',
|
||||
templateUrl: '../../../../../app/submission/import-external/submission-import-external.component.html',
|
||||
animations: [fadeIn]
|
||||
})
|
||||
export class SubmissionImportExternalComponent extends BaseComponent {
|
||||
|
||||
}
|
@@ -0,0 +1,15 @@
|
||||
import { Component } from '@angular/core';
|
||||
import { SubmissionSubmitComponent as BaseComponent } from '../../../../../app/submission/submit/submission-submit.component';
|
||||
|
||||
/**
|
||||
* This component allows to submit a new workspaceitem.
|
||||
*/
|
||||
@Component({
|
||||
selector: 'ds-submission-submit',
|
||||
// styleUrls: ['./submission-submit.component.scss'],
|
||||
styleUrls: ['../../../../../app/submission/submit/submission-submit.component.scss'],
|
||||
// templateUrl: './submission-submit.component.html'
|
||||
templateUrl: '../../../../../app/submission/submit/submission-submit.component.html'
|
||||
})
|
||||
export class SubmissionSubmitComponent extends BaseComponent{
|
||||
}
|
@@ -57,6 +57,23 @@ import { CollectionPageComponent } from './app/+collection-page/collection-page.
|
||||
import { CommunityPageModule } from '../../app/+community-page/community-page.module';
|
||||
import { CollectionPageModule } from '../../app/+collection-page/collection-page.module';
|
||||
import { ConfigurationSearchPageComponent } from './app/+search-page/configuration-search-page.component';
|
||||
import { ItemPageComponent } from './app/+item-page/simple/item-page.component';
|
||||
import { FullItemPageComponent } from './app/+item-page/full/full-item-page.component';
|
||||
import { LoginPageComponent } from './app/+login-page/login-page.component';
|
||||
import { LogoutPageComponent } from './app/+logout-page/logout-page.component';
|
||||
import { CreateProfileComponent } from './app/register-page/create-profile/create-profile.component';
|
||||
import { ForgotEmailComponent } from './app/forgot-password/forgot-password-email/forgot-email.component';
|
||||
import { ForgotPasswordFormComponent } from './app/forgot-password/forgot-password-form/forgot-password-form.component';
|
||||
import { ProfilePageComponent } from './app/profile-page/profile-page.component';
|
||||
import { RegisterEmailComponent } from './app/register-page/register-email/register-email.component';
|
||||
import { SubmissionEditComponent } from './app/submission/edit/submission-edit.component';
|
||||
import { SubmissionImportExternalComponent } from './app/submission/import-external/submission-import-external.component';
|
||||
import { SubmissionSubmitComponent } from './app/submission/submit/submission-submit.component';
|
||||
import { MyDSpacePageComponent } from './app/+my-dspace-page/my-dspace-page.component';
|
||||
import { WorkflowItemSendBackComponent } from './app/+workflowitems-edit-page/workflow-item-send-back/workflow-item-send-back.component';
|
||||
import { WorkflowItemDeleteComponent } from './app/+workflowitems-edit-page/workflow-item-delete/workflow-item-delete.component';
|
||||
import { SubmissionModule } from '../../app/submission/submission.module';
|
||||
import { MyDSpacePageModule } from '../../app/+my-dspace-page/my-dspace-page.module';
|
||||
|
||||
const DECLARATIONS = [
|
||||
HomePageComponent,
|
||||
@@ -77,7 +94,23 @@ const DECLARATIONS = [
|
||||
ItemStatisticsPageComponent,
|
||||
SiteStatisticsPageComponent,
|
||||
CommunityPageComponent,
|
||||
CollectionPageComponent
|
||||
CollectionPageComponent,
|
||||
ItemPageComponent,
|
||||
FullItemPageComponent,
|
||||
LoginPageComponent,
|
||||
LogoutPageComponent,
|
||||
CreateProfileComponent,
|
||||
ForgotEmailComponent,
|
||||
ForgotPasswordFormComponent,
|
||||
ProfilePageComponent,
|
||||
RegisterEmailComponent,
|
||||
MyDSpacePageComponent,
|
||||
SubmissionEditComponent,
|
||||
SubmissionImportExternalComponent,
|
||||
SubmissionSubmitComponent,
|
||||
WorkflowItemDeleteComponent,
|
||||
WorkflowItemSendBackComponent
|
||||
|
||||
];
|
||||
|
||||
@NgModule({
|
||||
@@ -121,11 +154,14 @@ const DECLARATIONS = [
|
||||
StoreModule,
|
||||
StoreRouterConnectingModule,
|
||||
TranslateModule,
|
||||
SubmissionModule,
|
||||
MyDSpacePageModule,
|
||||
MyDspaceSearchModule,
|
||||
],
|
||||
declarations: DECLARATIONS
|
||||
})
|
||||
|
||||
/**
|
||||
/**
|
||||
* This module serves as an index for all the components in this theme.
|
||||
* It should import all other modules, so the compiler knows where to find any components referenced
|
||||
* from a component in this theme
|
||||
|
Reference in New Issue
Block a user