diff --git a/angular.json b/angular.json index 5f0204249b1..90aa66f53e6 100644 --- a/angular.json +++ b/angular.json @@ -59,6 +59,11 @@ "input": "src/themes/dspace/styles/theme.scss", "inject": false, "bundleName": "dspace-theme" + }, + { + "input": "src/themes/qmu/styles/theme.scss", + "inject": false, + "bundleName": "qmu-theme" } ], "scripts": [], diff --git a/src/themes/qmu/app/admin/admin-import-metadata-page/metadata-import-page.component.html b/src/themes/qmu/app/admin/admin-import-metadata-page/metadata-import-page.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/admin/admin-import-metadata-page/metadata-import-page.component.ts b/src/themes/qmu/app/admin/admin-import-metadata-page/metadata-import-page.component.ts new file mode 100644 index 00000000000..79d950b1709 --- /dev/null +++ b/src/themes/qmu/app/admin/admin-import-metadata-page/metadata-import-page.component.ts @@ -0,0 +1,20 @@ +import { Component } from '@angular/core'; +import { FormsModule } from '@angular/forms'; +import { TranslateModule } from '@ngx-translate/core'; + +import { MetadataImportPageComponent as BaseComponent } from '../../../../../app/admin/admin-import-metadata-page/metadata-import-page.component'; +import { FileDropzoneNoUploaderComponent } from '../../../../../app/shared/upload/file-dropzone-no-uploader/file-dropzone-no-uploader.component'; + +@Component({ + selector: 'ds-themed-metadata-import-page', + // templateUrl: './metadata-import-page.component.html', + templateUrl: '../../../../../app/admin/admin-import-metadata-page/metadata-import-page.component.html', + standalone: true, + imports: [ + FileDropzoneNoUploaderComponent, + FormsModule, + TranslateModule, + ], +}) +export class MetadataImportPageComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/admin/admin-sidebar/admin-sidebar.component.html b/src/themes/qmu/app/admin/admin-sidebar/admin-sidebar.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/admin/admin-sidebar/admin-sidebar.component.scss b/src/themes/qmu/app/admin/admin-sidebar/admin-sidebar.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/admin/admin-sidebar/admin-sidebar.component.ts b/src/themes/qmu/app/admin/admin-sidebar/admin-sidebar.component.ts new file mode 100644 index 00000000000..2d615616116 --- /dev/null +++ b/src/themes/qmu/app/admin/admin-sidebar/admin-sidebar.component.ts @@ -0,0 +1,27 @@ +import { + AsyncPipe, + NgClass, + NgComponentOutlet, + NgFor, + NgIf, +} from '@angular/common'; +import { Component } from '@angular/core'; +import { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap'; +import { TranslateModule } from '@ngx-translate/core'; + +import { AdminSidebarComponent as BaseComponent } from '../../../../../app/admin/admin-sidebar/admin-sidebar.component'; + +/** + * Component representing the admin sidebar + */ +@Component({ + selector: 'ds-themed-admin-sidebar', + // templateUrl: './admin-sidebar.component.html', + templateUrl: '../../../../../app/admin/admin-sidebar/admin-sidebar.component.html', + // styleUrls: ['./admin-sidebar.component.scss'] + styleUrls: ['../../../../../app/admin/admin-sidebar/admin-sidebar.component.scss'], + standalone: true, + imports: [NgIf, NgbDropdownModule, NgClass, NgFor, NgComponentOutlet, AsyncPipe, TranslateModule], +}) +export class AdminSidebarComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/bitstream-page/edit-bitstream-page/edit-bitstream-page.component.html b/src/themes/qmu/app/bitstream-page/edit-bitstream-page/edit-bitstream-page.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/bitstream-page/edit-bitstream-page/edit-bitstream-page.component.scss b/src/themes/qmu/app/bitstream-page/edit-bitstream-page/edit-bitstream-page.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/bitstream-page/edit-bitstream-page/edit-bitstream-page.component.ts b/src/themes/qmu/app/bitstream-page/edit-bitstream-page/edit-bitstream-page.component.ts new file mode 100644 index 00000000000..1fc23a1bd03 --- /dev/null +++ b/src/themes/qmu/app/bitstream-page/edit-bitstream-page/edit-bitstream-page.component.ts @@ -0,0 +1,42 @@ +import { + AsyncPipe, + NgIf, +} from '@angular/common'; +import { + ChangeDetectionStrategy, + Component, +} from '@angular/core'; +import { RouterLink } from '@angular/router'; +import { TranslateModule } from '@ngx-translate/core'; + +import { EditBitstreamPageComponent as BaseComponent } from '../../../../../app/bitstream-page/edit-bitstream-page/edit-bitstream-page.component'; +import { ErrorComponent } from '../../../../../app/shared/error/error.component'; +import { FormComponent } from '../../../../../app/shared/form/form.component'; +import { ThemedLoadingComponent } from '../../../../../app/shared/loading/themed-loading.component'; +import { FileSizePipe } from '../../../../../app/shared/utils/file-size-pipe'; +import { VarDirective } from '../../../../../app/shared/utils/var.directive'; +import { ThemedThumbnailComponent } from '../../../../../app/thumbnail/themed-thumbnail.component'; + +@Component({ + selector: 'ds-themed-edit-bitstream-page', + // styleUrls: ['./edit-bitstream-page.component.scss'], + styleUrls: ['../../../../../app/bitstream-page/edit-bitstream-page/edit-bitstream-page.component.scss'], + // templateUrl: './edit-bitstream-page.component.html', + templateUrl: '../../../../../app/bitstream-page/edit-bitstream-page/edit-bitstream-page.component.html', + changeDetection: ChangeDetectionStrategy.OnPush, + standalone: true, + imports: [ + FormComponent, + NgIf, + VarDirective, + ThemedThumbnailComponent, + AsyncPipe, + RouterLink, + ErrorComponent, + ThemedLoadingComponent, + TranslateModule, + FileSizePipe, + ], +}) +export class EditBitstreamPageComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/breadcrumbs/breadcrumbs.component.html b/src/themes/qmu/app/breadcrumbs/breadcrumbs.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/breadcrumbs/breadcrumbs.component.scss b/src/themes/qmu/app/breadcrumbs/breadcrumbs.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/breadcrumbs/breadcrumbs.component.ts b/src/themes/qmu/app/breadcrumbs/breadcrumbs.component.ts new file mode 100644 index 00000000000..c71caf9f023 --- /dev/null +++ b/src/themes/qmu/app/breadcrumbs/breadcrumbs.component.ts @@ -0,0 +1,28 @@ +import { + AsyncPipe, + NgFor, + NgIf, + NgTemplateOutlet, +} from '@angular/common'; +import { Component } from '@angular/core'; +import { RouterLink } from '@angular/router'; +import { NgbTooltipModule } from '@ng-bootstrap/ng-bootstrap'; +import { TranslateModule } from '@ngx-translate/core'; + +import { BreadcrumbsComponent as BaseComponent } from '../../../../app/breadcrumbs/breadcrumbs.component'; +import { VarDirective } from '../../../../app/shared/utils/var.directive'; + +/** + * Component representing the breadcrumbs of a page + */ +@Component({ + selector: 'ds-themed-breadcrumbs', + // templateUrl: './breadcrumbs.component.html', + templateUrl: '../../../../app/breadcrumbs/breadcrumbs.component.html', + // styleUrls: ['./breadcrumbs.component.scss'] + styleUrls: ['../../../../app/breadcrumbs/breadcrumbs.component.scss'], + standalone: true, + imports: [VarDirective, NgIf, NgTemplateOutlet, NgFor, RouterLink, NgbTooltipModule, AsyncPipe, TranslateModule], +}) +export class BreadcrumbsComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/browse-by/browse-by-date/browse-by-date.component.html b/src/themes/qmu/app/browse-by/browse-by-date/browse-by-date.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/browse-by/browse-by-date/browse-by-date.component.scss b/src/themes/qmu/app/browse-by/browse-by-date/browse-by-date.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/browse-by/browse-by-date/browse-by-date.component.ts b/src/themes/qmu/app/browse-by/browse-by-date/browse-by-date.component.ts new file mode 100644 index 00000000000..d4582dcf25d --- /dev/null +++ b/src/themes/qmu/app/browse-by/browse-by-date/browse-by-date.component.ts @@ -0,0 +1,42 @@ +import { + AsyncPipe, + NgIf, +} from '@angular/common'; +import { Component } from '@angular/core'; +import { TranslateModule } from '@ngx-translate/core'; + +import { BrowseByDateComponent as BaseComponent } from '../../../../../app/browse-by/browse-by-date/browse-by-date.component'; +import { ThemedBrowseByComponent } from '../../../../../app/shared/browse-by/themed-browse-by.component'; +import { ThemedComcolPageBrowseByComponent } from '../../../../../app/shared/comcol/comcol-page-browse-by/themed-comcol-page-browse-by.component'; +import { ThemedComcolPageContentComponent } from '../../../../../app/shared/comcol/comcol-page-content/themed-comcol-page-content.component'; +import { ThemedComcolPageHandleComponent } from '../../../../../app/shared/comcol/comcol-page-handle/themed-comcol-page-handle.component'; +import { ComcolPageHeaderComponent } from '../../../../../app/shared/comcol/comcol-page-header/comcol-page-header.component'; +import { ComcolPageLogoComponent } from '../../../../../app/shared/comcol/comcol-page-logo/comcol-page-logo.component'; +import { DsoEditMenuComponent } from '../../../../../app/shared/dso-page/dso-edit-menu/dso-edit-menu.component'; +import { ThemedLoadingComponent } from '../../../../../app/shared/loading/themed-loading.component'; +import { VarDirective } from '../../../../../app/shared/utils/var.directive'; + +@Component({ + selector: 'ds-browse-by-date', + // styleUrls: ['./browse-by-date.component.scss'], + styleUrls: ['../../../../../app/browse-by/browse-by-metadata/browse-by-metadata.component.scss'], + // templateUrl: './browse-by-date.component.html', + templateUrl: '../../../../../app/browse-by/browse-by-metadata/browse-by-metadata.component.html', + standalone: true, + imports: [ + VarDirective, + AsyncPipe, + ComcolPageHeaderComponent, + ComcolPageLogoComponent, + NgIf, + ThemedComcolPageHandleComponent, + ThemedComcolPageContentComponent, + DsoEditMenuComponent, + ThemedComcolPageBrowseByComponent, + TranslateModule, + ThemedLoadingComponent, + ThemedBrowseByComponent, + ], +}) +export class BrowseByDateComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/browse-by/browse-by-metadata/browse-by-metadata.component.html b/src/themes/qmu/app/browse-by/browse-by-metadata/browse-by-metadata.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/browse-by/browse-by-metadata/browse-by-metadata.component.scss b/src/themes/qmu/app/browse-by/browse-by-metadata/browse-by-metadata.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/browse-by/browse-by-metadata/browse-by-metadata.component.ts b/src/themes/qmu/app/browse-by/browse-by-metadata/browse-by-metadata.component.ts new file mode 100644 index 00000000000..d2894fce3aa --- /dev/null +++ b/src/themes/qmu/app/browse-by/browse-by-metadata/browse-by-metadata.component.ts @@ -0,0 +1,42 @@ +import { + AsyncPipe, + NgIf, +} from '@angular/common'; +import { Component } from '@angular/core'; +import { TranslateModule } from '@ngx-translate/core'; + +import { BrowseByMetadataComponent as BaseComponent } from '../../../../../app/browse-by/browse-by-metadata/browse-by-metadata.component'; +import { ThemedBrowseByComponent } from '../../../../../app/shared/browse-by/themed-browse-by.component'; +import { ThemedComcolPageBrowseByComponent } from '../../../../../app/shared/comcol/comcol-page-browse-by/themed-comcol-page-browse-by.component'; +import { ThemedComcolPageContentComponent } from '../../../../../app/shared/comcol/comcol-page-content/themed-comcol-page-content.component'; +import { ThemedComcolPageHandleComponent } from '../../../../../app/shared/comcol/comcol-page-handle/themed-comcol-page-handle.component'; +import { ComcolPageHeaderComponent } from '../../../../../app/shared/comcol/comcol-page-header/comcol-page-header.component'; +import { ComcolPageLogoComponent } from '../../../../../app/shared/comcol/comcol-page-logo/comcol-page-logo.component'; +import { DsoEditMenuComponent } from '../../../../../app/shared/dso-page/dso-edit-menu/dso-edit-menu.component'; +import { ThemedLoadingComponent } from '../../../../../app/shared/loading/themed-loading.component'; +import { VarDirective } from '../../../../../app/shared/utils/var.directive'; + +@Component({ + selector: 'ds-browse-by-metadata', + // styleUrls: ['./browse-by-metadata.component.scss'], + styleUrls: ['../../../../../app/browse-by/browse-by-metadata/browse-by-metadata.component.scss'], + // templateUrl: './browse-by-metadata.component.html', + templateUrl: '../../../../../app/browse-by/browse-by-metadata/browse-by-metadata.component.html', + standalone: true, + imports: [ + VarDirective, + AsyncPipe, + ComcolPageHeaderComponent, + ComcolPageLogoComponent, + NgIf, + ThemedComcolPageHandleComponent, + ThemedComcolPageContentComponent, + DsoEditMenuComponent, + ThemedComcolPageBrowseByComponent, + TranslateModule, + ThemedLoadingComponent, + ThemedBrowseByComponent, + ], +}) +export class BrowseByMetadataComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/browse-by/browse-by-taxonomy/browse-by-taxonomy.component.html b/src/themes/qmu/app/browse-by/browse-by-taxonomy/browse-by-taxonomy.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/browse-by/browse-by-taxonomy/browse-by-taxonomy.component.scss b/src/themes/qmu/app/browse-by/browse-by-taxonomy/browse-by-taxonomy.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/browse-by/browse-by-taxonomy/browse-by-taxonomy.component.ts b/src/themes/qmu/app/browse-by/browse-by-taxonomy/browse-by-taxonomy.component.ts new file mode 100644 index 00000000000..edf2a35c744 --- /dev/null +++ b/src/themes/qmu/app/browse-by/browse-by-taxonomy/browse-by-taxonomy.component.ts @@ -0,0 +1,46 @@ +import { + AsyncPipe, + NgIf, +} from '@angular/common'; +import { Component } from '@angular/core'; +import { RouterLink } from '@angular/router'; +import { TranslateModule } from '@ngx-translate/core'; + +import { BrowseByTaxonomyComponent as BaseComponent } from '../../../../../app/browse-by/browse-by-taxonomy/browse-by-taxonomy.component'; +import { ThemedBrowseByComponent } from '../../../../../app/shared/browse-by/themed-browse-by.component'; +import { ThemedComcolPageBrowseByComponent } from '../../../../../app/shared/comcol/comcol-page-browse-by/themed-comcol-page-browse-by.component'; +import { ThemedComcolPageContentComponent } from '../../../../../app/shared/comcol/comcol-page-content/themed-comcol-page-content.component'; +import { ThemedComcolPageHandleComponent } from '../../../../../app/shared/comcol/comcol-page-handle/themed-comcol-page-handle.component'; +import { ComcolPageHeaderComponent } from '../../../../../app/shared/comcol/comcol-page-header/comcol-page-header.component'; +import { ComcolPageLogoComponent } from '../../../../../app/shared/comcol/comcol-page-logo/comcol-page-logo.component'; +import { DsoEditMenuComponent } from '../../../../../app/shared/dso-page/dso-edit-menu/dso-edit-menu.component'; +import { VocabularyTreeviewComponent } from '../../../../../app/shared/form/vocabulary-treeview/vocabulary-treeview.component'; +import { ThemedLoadingComponent } from '../../../../../app/shared/loading/themed-loading.component'; +import { VarDirective } from '../../../../../app/shared/utils/var.directive'; + +@Component({ + selector: 'ds-browse-by-taxonomy', + // templateUrl: './browse-by-taxonomy.component.html', + templateUrl: '../../../../../app/browse-by/browse-by-taxonomy/browse-by-taxonomy.component.html', + // styleUrls: ['./browse-by-taxonomy.component.scss'], + styleUrls: ['../../../../../app/browse-by/browse-by-taxonomy/browse-by-taxonomy.component.scss'], + standalone: true, + imports: [ + VarDirective, + AsyncPipe, + ComcolPageHeaderComponent, + ComcolPageLogoComponent, + NgIf, + ThemedComcolPageHandleComponent, + ThemedComcolPageContentComponent, + DsoEditMenuComponent, + ThemedComcolPageBrowseByComponent, + TranslateModule, + ThemedLoadingComponent, + ThemedBrowseByComponent, + VocabularyTreeviewComponent, + RouterLink, + ], +}) +export class BrowseByTaxonomyComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/browse-by/browse-by-title/browse-by-title.component.html b/src/themes/qmu/app/browse-by/browse-by-title/browse-by-title.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/browse-by/browse-by-title/browse-by-title.component.scss b/src/themes/qmu/app/browse-by/browse-by-title/browse-by-title.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/browse-by/browse-by-title/browse-by-title.component.ts b/src/themes/qmu/app/browse-by/browse-by-title/browse-by-title.component.ts new file mode 100644 index 00000000000..578663c43ca --- /dev/null +++ b/src/themes/qmu/app/browse-by/browse-by-title/browse-by-title.component.ts @@ -0,0 +1,42 @@ +import { + AsyncPipe, + NgIf, +} from '@angular/common'; +import { Component } from '@angular/core'; +import { TranslateModule } from '@ngx-translate/core'; + +import { BrowseByTitleComponent as BaseComponent } from '../../../../../app/browse-by/browse-by-title/browse-by-title.component'; +import { ThemedBrowseByComponent } from '../../../../../app/shared/browse-by/themed-browse-by.component'; +import { ThemedComcolPageBrowseByComponent } from '../../../../../app/shared/comcol/comcol-page-browse-by/themed-comcol-page-browse-by.component'; +import { ThemedComcolPageContentComponent } from '../../../../../app/shared/comcol/comcol-page-content/themed-comcol-page-content.component'; +import { ThemedComcolPageHandleComponent } from '../../../../../app/shared/comcol/comcol-page-handle/themed-comcol-page-handle.component'; +import { ComcolPageHeaderComponent } from '../../../../../app/shared/comcol/comcol-page-header/comcol-page-header.component'; +import { ComcolPageLogoComponent } from '../../../../../app/shared/comcol/comcol-page-logo/comcol-page-logo.component'; +import { DsoEditMenuComponent } from '../../../../../app/shared/dso-page/dso-edit-menu/dso-edit-menu.component'; +import { ThemedLoadingComponent } from '../../../../../app/shared/loading/themed-loading.component'; +import { VarDirective } from '../../../../../app/shared/utils/var.directive'; + +@Component({ + selector: 'ds-browse-by-title', + // styleUrls: ['./browse-by-title.component.scss'], + styleUrls: ['../../../../../app/browse-by/browse-by-metadata/browse-by-metadata.component.scss'], + // templateUrl: './browse-by-title.component.html', + templateUrl: '../../../../../app/browse-by/browse-by-metadata/browse-by-metadata.component.html', + standalone: true, + imports: [ + VarDirective, + AsyncPipe, + ComcolPageHeaderComponent, + ComcolPageLogoComponent, + NgIf, + ThemedComcolPageHandleComponent, + ThemedComcolPageContentComponent, + DsoEditMenuComponent, + ThemedComcolPageBrowseByComponent, + TranslateModule, + ThemedLoadingComponent, + ThemedBrowseByComponent, + ], +}) +export class BrowseByTitleComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/collection-page/collection-page.component.html b/src/themes/qmu/app/collection-page/collection-page.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/collection-page/collection-page.component.scss b/src/themes/qmu/app/collection-page/collection-page.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/collection-page/collection-page.component.ts b/src/themes/qmu/app/collection-page/collection-page.component.ts new file mode 100644 index 00000000000..4b2f9e3245e --- /dev/null +++ b/src/themes/qmu/app/collection-page/collection-page.component.ts @@ -0,0 +1,63 @@ +import { + AsyncPipe, + NgIf, +} from '@angular/common'; +import { + ChangeDetectionStrategy, + Component, +} from '@angular/core'; +import { RouterOutlet } from '@angular/router'; +import { TranslateModule } from '@ngx-translate/core'; + +import { CollectionPageComponent as BaseComponent } from '../../../../app/collection-page/collection-page.component'; +import { + fadeIn, + fadeInOut, +} from '../../../../app/shared/animations/fade'; +import { ThemedComcolPageBrowseByComponent } from '../../../../app/shared/comcol/comcol-page-browse-by/themed-comcol-page-browse-by.component'; +import { ThemedComcolPageContentComponent } from '../../../../app/shared/comcol/comcol-page-content/themed-comcol-page-content.component'; +import { ThemedComcolPageHandleComponent } from '../../../../app/shared/comcol/comcol-page-handle/themed-comcol-page-handle.component'; +import { ComcolPageHeaderComponent } from '../../../../app/shared/comcol/comcol-page-header/comcol-page-header.component'; +import { ComcolPageLogoComponent } from '../../../../app/shared/comcol/comcol-page-logo/comcol-page-logo.component'; +import { DsoEditMenuComponent } from '../../../../app/shared/dso-page/dso-edit-menu/dso-edit-menu.component'; +import { ErrorComponent } from '../../../../app/shared/error/error.component'; +import { ThemedLoadingComponent } from '../../../../app/shared/loading/themed-loading.component'; +import { ObjectCollectionComponent } from '../../../../app/shared/object-collection/object-collection.component'; +import { VarDirective } from '../../../../app/shared/utils/var.directive'; +import { ViewTrackerComponent } from '../../../../app/statistics/angulartics/dspace/view-tracker.component'; + +@Component({ + selector: 'ds-themed-collection-page', + // templateUrl: './collection-page.component.html', + templateUrl: '../../../../app/collection-page/collection-page.component.html', + // styleUrls: ['./collection-page.component.scss'] + styleUrls: ['../../../../app/collection-page/collection-page.component.scss'], + changeDetection: ChangeDetectionStrategy.OnPush, + animations: [ + fadeIn, + fadeInOut, + ], + standalone: true, + imports: [ + ThemedComcolPageContentComponent, + ErrorComponent, + NgIf, + ThemedLoadingComponent, + TranslateModule, + ViewTrackerComponent, + VarDirective, + AsyncPipe, + ComcolPageHeaderComponent, + ComcolPageLogoComponent, + ThemedComcolPageHandleComponent, + DsoEditMenuComponent, + ThemedComcolPageBrowseByComponent, + ObjectCollectionComponent, + RouterOutlet, + ], +}) +/** + * This component represents a detail page for a single collection + */ +export class CollectionPageComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/collection-page/edit-item-template-page/edit-item-template-page.component.html b/src/themes/qmu/app/collection-page/edit-item-template-page/edit-item-template-page.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/collection-page/edit-item-template-page/edit-item-template-page.component.scss b/src/themes/qmu/app/collection-page/edit-item-template-page/edit-item-template-page.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/collection-page/edit-item-template-page/edit-item-template-page.component.ts b/src/themes/qmu/app/collection-page/edit-item-template-page/edit-item-template-page.component.ts new file mode 100644 index 00000000000..f69fcc868ca --- /dev/null +++ b/src/themes/qmu/app/collection-page/edit-item-template-page/edit-item-template-page.component.ts @@ -0,0 +1,36 @@ +import { + AsyncPipe, + NgIf, +} from '@angular/common'; +import { Component } from '@angular/core'; +import { RouterLink } from '@angular/router'; +import { TranslateModule } from '@ngx-translate/core'; + +import { EditItemTemplatePageComponent as BaseComponent } from '../../../../../app/collection-page/edit-item-template-page/edit-item-template-page.component'; +import { ThemedDsoEditMetadataComponent } from '../../../../../app/dso-shared/dso-edit-metadata/themed-dso-edit-metadata.component'; +import { AlertComponent } from '../../../../../app/shared/alert/alert.component'; +import { ThemedLoadingComponent } from '../../../../../app/shared/loading/themed-loading.component'; +import { VarDirective } from '../../../../../app/shared/utils/var.directive'; + +@Component({ + selector: 'ds-themed-edit-item-template-page', + styleUrls: ['./edit-item-template-page.component.scss'], + // templateUrl: './edit-item-template-page.component.html', + templateUrl: '../../../../../app/collection-page/edit-item-template-page/edit-item-template-page.component.html', + standalone: true, + imports: [ + ThemedDsoEditMetadataComponent, + RouterLink, + AsyncPipe, + VarDirective, + NgIf, + TranslateModule, + ThemedLoadingComponent, + AlertComponent, + ], +}) +/** + * Component for editing the item template of a collection + */ +export class EditItemTemplatePageComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/community-list-page/community-list-page.component.html b/src/themes/qmu/app/community-list-page/community-list-page.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/community-list-page/community-list-page.component.scss b/src/themes/qmu/app/community-list-page/community-list-page.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/community-list-page/community-list-page.component.ts b/src/themes/qmu/app/community-list-page/community-list-page.component.ts new file mode 100644 index 00000000000..571964d5de6 --- /dev/null +++ b/src/themes/qmu/app/community-list-page/community-list-page.component.ts @@ -0,0 +1,21 @@ +import { Component } from '@angular/core'; +import { TranslateModule } from '@ngx-translate/core'; + +import { ThemedCommunityListComponent } from '../../../../app/community-list-page/community-list/themed-community-list.component'; +import { CommunityListPageComponent as BaseComponent } from '../../../../app/community-list-page/community-list-page.component'; + +@Component({ + selector: 'ds-themed-community-list-page', + // styleUrls: ['./community-list-page.component.scss'], + // templateUrl: './community-list-page.component.html' + templateUrl: '../../../../app/community-list-page/community-list-page.component.html', + standalone: true, + imports: [ThemedCommunityListComponent, TranslateModule], +}) + +/** + * Page with title and the community list tree, as described in community-list.component; + * navigated to with community-list.page.routing.module + */ +export class CommunityListPageComponent extends BaseComponent {} + diff --git a/src/themes/qmu/app/community-list-page/community-list/community-list.component.html b/src/themes/qmu/app/community-list-page/community-list/community-list.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/community-list-page/community-list/community-list.component.scss b/src/themes/qmu/app/community-list-page/community-list/community-list.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/community-list-page/community-list/community-list.component.ts b/src/themes/qmu/app/community-list-page/community-list/community-list.component.ts new file mode 100644 index 00000000000..8a48901634d --- /dev/null +++ b/src/themes/qmu/app/community-list-page/community-list/community-list.component.ts @@ -0,0 +1,32 @@ +import { CdkTreeModule } from '@angular/cdk/tree'; +import { + AsyncPipe, + NgClass, + NgIf, +} from '@angular/common'; +import { Component } from '@angular/core'; +import { RouterLink } from '@angular/router'; +import { TranslateModule } from '@ngx-translate/core'; + +import { CommunityListComponent as BaseComponent } from '../../../../../app/community-list-page/community-list/community-list.component'; +import { ThemedLoadingComponent } from '../../../../../app/shared/loading/themed-loading.component'; +import { TruncatableComponent } from '../../../../../app/shared/truncatable/truncatable.component'; +import { TruncatablePartComponent } from '../../../../../app/shared/truncatable/truncatable-part/truncatable-part.component'; + +/** + * A tree-structured list of nodes representing the communities, their subCommunities and collections. + * Initially only the page-restricted top communities are shown. + * Each node can be expanded to show its children and all children are also page-limited. + * More pages of a page-limited result can be shown by pressing a show more node/link. + * Which nodes were expanded is kept in the store, so this persists across pages. + */ +@Component({ + selector: 'ds-themed-community-list', + // styleUrls: ['./community-list.component.scss'], + // templateUrl: './community-list.component.html' + templateUrl: '../../../../../app/community-list-page/community-list/community-list.component.html', + standalone: true, + imports: [NgIf, ThemedLoadingComponent, CdkTreeModule, NgClass, RouterLink, TruncatableComponent, TruncatablePartComponent, AsyncPipe, TranslateModule], +}) +export class CommunityListComponent extends BaseComponent {} + diff --git a/src/themes/qmu/app/community-page/community-page.component.html b/src/themes/qmu/app/community-page/community-page.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/community-page/community-page.component.scss b/src/themes/qmu/app/community-page/community-page.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/community-page/community-page.component.ts b/src/themes/qmu/app/community-page/community-page.component.ts new file mode 100644 index 00000000000..5aa7e855270 --- /dev/null +++ b/src/themes/qmu/app/community-page/community-page.component.ts @@ -0,0 +1,63 @@ +import { + AsyncPipe, + NgIf, +} from '@angular/common'; +import { + ChangeDetectionStrategy, + Component, +} from '@angular/core'; +import { + RouterModule, + RouterOutlet, +} from '@angular/router'; +import { TranslateModule } from '@ngx-translate/core'; + +import { CommunityPageComponent as BaseComponent } from '../../../../app/community-page/community-page.component'; +import { ThemedCollectionPageSubCollectionListComponent } from '../../../../app/community-page/sections/sub-com-col-section/sub-collection-list/themed-community-page-sub-collection-list.component'; +import { ThemedCommunityPageSubCommunityListComponent } from '../../../../app/community-page/sections/sub-com-col-section/sub-community-list/themed-community-page-sub-community-list.component'; +import { fadeInOut } from '../../../../app/shared/animations/fade'; +import { ThemedComcolPageBrowseByComponent } from '../../../../app/shared/comcol/comcol-page-browse-by/themed-comcol-page-browse-by.component'; +import { ThemedComcolPageContentComponent } from '../../../../app/shared/comcol/comcol-page-content/themed-comcol-page-content.component'; +import { ThemedComcolPageHandleComponent } from '../../../../app/shared/comcol/comcol-page-handle/themed-comcol-page-handle.component'; +import { ComcolPageHeaderComponent } from '../../../../app/shared/comcol/comcol-page-header/comcol-page-header.component'; +import { ComcolPageLogoComponent } from '../../../../app/shared/comcol/comcol-page-logo/comcol-page-logo.component'; +import { DsoEditMenuComponent } from '../../../../app/shared/dso-page/dso-edit-menu/dso-edit-menu.component'; +import { ErrorComponent } from '../../../../app/shared/error/error.component'; +import { ThemedLoadingComponent } from '../../../../app/shared/loading/themed-loading.component'; +import { VarDirective } from '../../../../app/shared/utils/var.directive'; +import { ViewTrackerComponent } from '../../../../app/statistics/angulartics/dspace/view-tracker.component'; + +@Component({ + selector: 'ds-themed-community-page', + // templateUrl: './community-page.component.html', + templateUrl: '../../../../app/community-page/community-page.component.html', + // styleUrls: ['./community-page.component.scss'] + styleUrls: ['../../../../app/community-page/community-page.component.scss'], + changeDetection: ChangeDetectionStrategy.OnPush, + animations: [fadeInOut], + standalone: true, + imports: [ + ThemedComcolPageContentComponent, + ErrorComponent, + ThemedLoadingComponent, + NgIf, + TranslateModule, + ThemedCommunityPageSubCommunityListComponent, + ThemedCollectionPageSubCollectionListComponent, + ThemedComcolPageBrowseByComponent, + DsoEditMenuComponent, + ThemedComcolPageHandleComponent, + ComcolPageLogoComponent, + ComcolPageHeaderComponent, + AsyncPipe, + ViewTrackerComponent, + VarDirective, + RouterOutlet, + RouterModule, + ], +}) +/** + * This component represents a detail page for a single community + */ +export class CommunityPageComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/community-page/sections/sub-com-col-section/sub-collection-list/community-page-sub-collection-list.component.html b/src/themes/qmu/app/community-page/sections/sub-com-col-section/sub-collection-list/community-page-sub-collection-list.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/community-page/sections/sub-com-col-section/sub-collection-list/community-page-sub-collection-list.component.scss b/src/themes/qmu/app/community-page/sections/sub-com-col-section/sub-collection-list/community-page-sub-collection-list.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/community-page/sections/sub-com-col-section/sub-collection-list/community-page-sub-collection-list.component.ts b/src/themes/qmu/app/community-page/sections/sub-com-col-section/sub-collection-list/community-page-sub-collection-list.component.ts new file mode 100644 index 00000000000..ab2d49b920f --- /dev/null +++ b/src/themes/qmu/app/community-page/sections/sub-com-col-section/sub-collection-list/community-page-sub-collection-list.component.ts @@ -0,0 +1,32 @@ +import { + AsyncPipe, + NgIf, +} from '@angular/common'; +import { Component } from '@angular/core'; +import { TranslateModule } from '@ngx-translate/core'; + +import { CommunityPageSubCollectionListComponent as BaseComponent } from '../../../../../../../app/community-page/sections/sub-com-col-section/sub-collection-list/community-page-sub-collection-list.component'; +import { ErrorComponent } from '../../../../../../../app/shared/error/error.component'; +import { ThemedLoadingComponent } from '../../../../../../../app/shared/loading/themed-loading.component'; +import { ObjectCollectionComponent } from '../../../../../../../app/shared/object-collection/object-collection.component'; +import { VarDirective } from '../../../../../../../app/shared/utils/var.directive'; + +@Component({ + selector: 'ds-themed-community-page-sub-collection-list', + // styleUrls: ['./community-page-sub-collection-list.component.scss'], + styleUrls: ['../../../../../../../app/community-page/sections/sub-com-col-section/sub-collection-list/community-page-sub-collection-list.component.scss'], + // templateUrl: './community-page-sub-collection-list.component.html', + templateUrl: '../../../../../../../app/community-page/sections/sub-com-col-section/sub-collection-list/community-page-sub-collection-list.component.html', + imports: [ + ObjectCollectionComponent, + ErrorComponent, + ThemedLoadingComponent, + NgIf, + TranslateModule, + AsyncPipe, + VarDirective, + ], + standalone: true, +}) +export class CommunityPageSubCollectionListComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/community-page/sections/sub-com-col-section/sub-community-list/community-page-sub-community-list.component.html b/src/themes/qmu/app/community-page/sections/sub-com-col-section/sub-community-list/community-page-sub-community-list.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/community-page/sections/sub-com-col-section/sub-community-list/community-page-sub-community-list.component.scss b/src/themes/qmu/app/community-page/sections/sub-com-col-section/sub-community-list/community-page-sub-community-list.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/community-page/sections/sub-com-col-section/sub-community-list/community-page-sub-community-list.component.ts b/src/themes/qmu/app/community-page/sections/sub-com-col-section/sub-community-list/community-page-sub-community-list.component.ts new file mode 100644 index 00000000000..3b48efcb0e2 --- /dev/null +++ b/src/themes/qmu/app/community-page/sections/sub-com-col-section/sub-community-list/community-page-sub-community-list.component.ts @@ -0,0 +1,36 @@ +import { + AsyncPipe, + NgIf, +} from '@angular/common'; +import { Component } from '@angular/core'; +import { TranslateModule } from '@ngx-translate/core'; + +import { CommunityPageSubCommunityListComponent as BaseComponent } from '../../../../../../../app/community-page/sections/sub-com-col-section/sub-community-list/community-page-sub-community-list.component'; +import { ErrorComponent } from '../../../../../../../app/shared/error/error.component'; +import { ThemedLoadingComponent } from '../../../../../../../app/shared/loading/themed-loading.component'; +import { ObjectCollectionComponent } from '../../../../../../../app/shared/object-collection/object-collection.component'; +import { VarDirective } from '../../../../../../../app/shared/utils/var.directive'; + +@Component({ + selector: 'ds-themed-community-page-sub-community-list', + // styleUrls: ['./community-page-sub-community-list.component.scss'], + styleUrls: ['../../../../../../../app/community-page/sections/sub-com-col-section/sub-community-list/community-page-sub-community-list.component.scss'], + // templateUrl: './community-page-sub-community-list.component.html', + templateUrl: '../../../../../../../app/community-page/sections/sub-com-col-section/sub-community-list/community-page-sub-community-list.component.html', + standalone: true, + imports: [ + ErrorComponent, + ThemedLoadingComponent, + VarDirective, + NgIf, + ObjectCollectionComponent, + AsyncPipe, + TranslateModule, + ObjectCollectionComponent, + ErrorComponent, + ThemedLoadingComponent, + VarDirective, + ], +}) +export class CommunityPageSubCommunityListComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/dso-shared/dso-edit-metadata/dso-edit-metadata.component.html b/src/themes/qmu/app/dso-shared/dso-edit-metadata/dso-edit-metadata.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/dso-shared/dso-edit-metadata/dso-edit-metadata.component.scss b/src/themes/qmu/app/dso-shared/dso-edit-metadata/dso-edit-metadata.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/dso-shared/dso-edit-metadata/dso-edit-metadata.component.ts b/src/themes/qmu/app/dso-shared/dso-edit-metadata/dso-edit-metadata.component.ts new file mode 100644 index 00000000000..a7437c04081 --- /dev/null +++ b/src/themes/qmu/app/dso-shared/dso-edit-metadata/dso-edit-metadata.component.ts @@ -0,0 +1,28 @@ +import { + AsyncPipe, + NgFor, + NgIf, +} from '@angular/common'; +import { Component } from '@angular/core'; +import { TranslateModule } from '@ngx-translate/core'; + +import { DsoEditMetadataComponent as BaseComponent } from '../../../../../app/dso-shared/dso-edit-metadata/dso-edit-metadata.component'; +import { DsoEditMetadataFieldValuesComponent } from '../../../../../app/dso-shared/dso-edit-metadata/dso-edit-metadata-field-values/dso-edit-metadata-field-values.component'; +import { DsoEditMetadataHeadersComponent } from '../../../../../app/dso-shared/dso-edit-metadata/dso-edit-metadata-headers/dso-edit-metadata-headers.component'; +import { DsoEditMetadataValueComponent } from '../../../../../app/dso-shared/dso-edit-metadata/dso-edit-metadata-value/dso-edit-metadata-value.component'; +import { DsoEditMetadataValueHeadersComponent } from '../../../../../app/dso-shared/dso-edit-metadata/dso-edit-metadata-value-headers/dso-edit-metadata-value-headers.component'; +import { MetadataFieldSelectorComponent } from '../../../../../app/dso-shared/dso-edit-metadata/metadata-field-selector/metadata-field-selector.component'; +import { AlertComponent } from '../../../../../app/shared/alert/alert.component'; +import { ThemedLoadingComponent } from '../../../../../app/shared/loading/themed-loading.component'; + +@Component({ + selector: 'ds-themed-dso-edit-metadata', + // styleUrls: ['./dso-edit-metadata.component.scss'], + styleUrls: ['../../../../../app/dso-shared/dso-edit-metadata/dso-edit-metadata.component.scss'], + // templateUrl: './dso-edit-metadata.component.html', + templateUrl: '../../../../../app/dso-shared/dso-edit-metadata/dso-edit-metadata.component.html', + standalone: true, + imports: [NgIf, DsoEditMetadataHeadersComponent, MetadataFieldSelectorComponent, DsoEditMetadataValueHeadersComponent, DsoEditMetadataValueComponent, NgFor, DsoEditMetadataFieldValuesComponent, AlertComponent, ThemedLoadingComponent, AsyncPipe, TranslateModule], +}) +export class DsoEditMetadataComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component.html b/src/themes/qmu/app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component.scss b/src/themes/qmu/app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component.ts b/src/themes/qmu/app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component.ts new file mode 100644 index 00000000000..66803ffd846 --- /dev/null +++ b/src/themes/qmu/app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component.ts @@ -0,0 +1,35 @@ +import { + AsyncPipe, + NgIf, +} from '@angular/common'; +import { Component } from '@angular/core'; +import { RouterLink } from '@angular/router'; +import { TranslateModule } from '@ngx-translate/core'; + +import { Context } from '../../../../../../../app/core/shared/context.model'; +import { ViewMode } from '../../../../../../../app/core/shared/view-mode.model'; +import { JournalIssueComponent as BaseComponent } from '../../../../../../../app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component'; +import { GenericItemPageFieldComponent } from '../../../../../../../app/item-page/simple/field-components/specific-field/generic/generic-item-page-field.component'; +import { ThemedItemPageTitleFieldComponent } from '../../../../../../../app/item-page/simple/field-components/specific-field/title/themed-item-page-field.component'; +import { RelatedItemsComponent } from '../../../../../../../app/item-page/simple/related-items/related-items-component'; +import { DsoEditMenuComponent } from '../../../../../../../app/shared/dso-page/dso-edit-menu/dso-edit-menu.component'; +import { MetadataFieldWrapperComponent } from '../../../../../../../app/shared/metadata-field-wrapper/metadata-field-wrapper.component'; +import { listableObjectComponent } from '../../../../../../../app/shared/object-collection/shared/listable-object/listable-object.decorator'; +import { ThemedResultsBackButtonComponent } from '../../../../../../../app/shared/results-back-button/themed-results-back-button.component'; +import { ThemedThumbnailComponent } from '../../../../../../../app/thumbnail/themed-thumbnail.component'; + +@listableObjectComponent('JournalIssue', ViewMode.StandalonePage, Context.Any, 'custom') +@Component({ + selector: 'ds-journal-issue', + // styleUrls: ['./journal-issue.component.scss'], + styleUrls: ['../../../../../../../app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component.scss'], + // templateUrl: './journal-issue.component.html', + templateUrl: '../../../../../../../app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component.html', + standalone: true, + imports: [NgIf, ThemedResultsBackButtonComponent, ThemedItemPageTitleFieldComponent, DsoEditMenuComponent, MetadataFieldWrapperComponent, ThemedThumbnailComponent, GenericItemPageFieldComponent, RelatedItemsComponent, RouterLink, AsyncPipe, TranslateModule], +}) +/** + * The component for displaying metadata and relations of an item of the type Journal Issue + */ +export class JournalIssueComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component.html b/src/themes/qmu/app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component.scss b/src/themes/qmu/app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component.ts b/src/themes/qmu/app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component.ts new file mode 100644 index 00000000000..c63f68bd708 --- /dev/null +++ b/src/themes/qmu/app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component.ts @@ -0,0 +1,35 @@ +import { + AsyncPipe, + NgIf, +} from '@angular/common'; +import { Component } from '@angular/core'; +import { RouterLink } from '@angular/router'; +import { TranslateModule } from '@ngx-translate/core'; + +import { Context } from '../../../../../../../app/core/shared/context.model'; +import { ViewMode } from '../../../../../../../app/core/shared/view-mode.model'; +import { JournalVolumeComponent as BaseComponent } from '../../../../../../../app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component'; +import { GenericItemPageFieldComponent } from '../../../../../../../app/item-page/simple/field-components/specific-field/generic/generic-item-page-field.component'; +import { ThemedItemPageTitleFieldComponent } from '../../../../../../../app/item-page/simple/field-components/specific-field/title/themed-item-page-field.component'; +import { RelatedItemsComponent } from '../../../../../../../app/item-page/simple/related-items/related-items-component'; +import { DsoEditMenuComponent } from '../../../../../../../app/shared/dso-page/dso-edit-menu/dso-edit-menu.component'; +import { MetadataFieldWrapperComponent } from '../../../../../../../app/shared/metadata-field-wrapper/metadata-field-wrapper.component'; +import { listableObjectComponent } from '../../../../../../../app/shared/object-collection/shared/listable-object/listable-object.decorator'; +import { ThemedResultsBackButtonComponent } from '../../../../../../../app/shared/results-back-button/themed-results-back-button.component'; +import { ThemedThumbnailComponent } from '../../../../../../../app/thumbnail/themed-thumbnail.component'; + +@listableObjectComponent('JournalVolume', ViewMode.StandalonePage, Context.Any, 'custom') +@Component({ + selector: 'ds-journal-volume', + // styleUrls: ['./journal-volume.component.scss'], + styleUrls: ['../../../../../../../app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component.scss'], + // templateUrl: './journal-volume.component.html', + templateUrl: '../../../../../../../app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component.html', + standalone: true, + imports: [NgIf, ThemedResultsBackButtonComponent, ThemedItemPageTitleFieldComponent, DsoEditMenuComponent, MetadataFieldWrapperComponent, ThemedThumbnailComponent, GenericItemPageFieldComponent, RelatedItemsComponent, RouterLink, AsyncPipe, TranslateModule], +}) +/** + * The component for displaying metadata and relations of an item of the type Journal Volume + */ +export class JournalVolumeComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/entity-groups/journal-entities/item-pages/journal/journal.component.html b/src/themes/qmu/app/entity-groups/journal-entities/item-pages/journal/journal.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/entity-groups/journal-entities/item-pages/journal/journal.component.scss b/src/themes/qmu/app/entity-groups/journal-entities/item-pages/journal/journal.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/entity-groups/journal-entities/item-pages/journal/journal.component.ts b/src/themes/qmu/app/entity-groups/journal-entities/item-pages/journal/journal.component.ts new file mode 100644 index 00000000000..104f1b40b05 --- /dev/null +++ b/src/themes/qmu/app/entity-groups/journal-entities/item-pages/journal/journal.component.ts @@ -0,0 +1,36 @@ +import { + AsyncPipe, + NgIf, +} from '@angular/common'; +import { Component } from '@angular/core'; +import { RouterLink } from '@angular/router'; +import { TranslateModule } from '@ngx-translate/core'; + +import { Context } from '../../../../../../../app/core/shared/context.model'; +import { ViewMode } from '../../../../../../../app/core/shared/view-mode.model'; +import { JournalComponent as BaseComponent } from '../../../../../../../app/entity-groups/journal-entities/item-pages/journal/journal.component'; +import { GenericItemPageFieldComponent } from '../../../../../../../app/item-page/simple/field-components/specific-field/generic/generic-item-page-field.component'; +import { ThemedItemPageTitleFieldComponent } from '../../../../../../../app/item-page/simple/field-components/specific-field/title/themed-item-page-field.component'; +import { TabbedRelatedEntitiesSearchComponent } from '../../../../../../../app/item-page/simple/related-entities/tabbed-related-entities-search/tabbed-related-entities-search.component'; +import { RelatedItemsComponent } from '../../../../../../../app/item-page/simple/related-items/related-items-component'; +import { DsoEditMenuComponent } from '../../../../../../../app/shared/dso-page/dso-edit-menu/dso-edit-menu.component'; +import { MetadataFieldWrapperComponent } from '../../../../../../../app/shared/metadata-field-wrapper/metadata-field-wrapper.component'; +import { listableObjectComponent } from '../../../../../../../app/shared/object-collection/shared/listable-object/listable-object.decorator'; +import { ThemedResultsBackButtonComponent } from '../../../../../../../app/shared/results-back-button/themed-results-back-button.component'; +import { ThemedThumbnailComponent } from '../../../../../../../app/thumbnail/themed-thumbnail.component'; + +@listableObjectComponent('Journal', ViewMode.StandalonePage, Context.Any, 'custom') +@Component({ + selector: 'ds-journal', + // styleUrls: ['./journal.component.scss'], + styleUrls: ['../../../../../../../app/entity-groups/journal-entities/item-pages/journal/journal.component.scss'], + // templateUrl: './journal.component.html', + templateUrl: '../../../../../../../app/entity-groups/journal-entities/item-pages/journal/journal.component.html', + standalone: true, + imports: [NgIf, ThemedResultsBackButtonComponent, ThemedItemPageTitleFieldComponent, DsoEditMenuComponent, MetadataFieldWrapperComponent, ThemedThumbnailComponent, GenericItemPageFieldComponent, RelatedItemsComponent, RouterLink, TabbedRelatedEntitiesSearchComponent, AsyncPipe, TranslateModule], +}) +/** + * The component for displaying metadata and relations of an item of the type Journal + */ +export class JournalComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/entity-groups/research-entities/item-pages/person/person.component.html b/src/themes/qmu/app/entity-groups/research-entities/item-pages/person/person.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/entity-groups/research-entities/item-pages/person/person.component.scss b/src/themes/qmu/app/entity-groups/research-entities/item-pages/person/person.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/entity-groups/research-entities/item-pages/person/person.component.ts b/src/themes/qmu/app/entity-groups/research-entities/item-pages/person/person.component.ts new file mode 100644 index 00000000000..f1a60957eda --- /dev/null +++ b/src/themes/qmu/app/entity-groups/research-entities/item-pages/person/person.component.ts @@ -0,0 +1,33 @@ +import { + AsyncPipe, + NgIf, +} from '@angular/common'; +import { Component } from '@angular/core'; +import { RouterLink } from '@angular/router'; +import { TranslateModule } from '@ngx-translate/core'; +import { GenericItemPageFieldComponent } from 'src/app/item-page/simple/field-components/specific-field/generic/generic-item-page-field.component'; +import { ThemedItemPageTitleFieldComponent } from 'src/app/item-page/simple/field-components/specific-field/title/themed-item-page-field.component'; +import { TabbedRelatedEntitiesSearchComponent } from 'src/app/item-page/simple/related-entities/tabbed-related-entities-search/tabbed-related-entities-search.component'; +import { RelatedItemsComponent } from 'src/app/item-page/simple/related-items/related-items-component'; +import { DsoEditMenuComponent } from 'src/app/shared/dso-page/dso-edit-menu/dso-edit-menu.component'; +import { MetadataFieldWrapperComponent } from 'src/app/shared/metadata-field-wrapper/metadata-field-wrapper.component'; +import { ThemedResultsBackButtonComponent } from 'src/app/shared/results-back-button/themed-results-back-button.component'; +import { ThemedThumbnailComponent } from 'src/app/thumbnail/themed-thumbnail.component'; + +import { Context } from '../../../../../../../app/core/shared/context.model'; +import { ViewMode } from '../../../../../../../app/core/shared/view-mode.model'; +import { PersonComponent as BaseComponent } from '../../../../../../../app/entity-groups/research-entities/item-pages/person/person.component'; +import { listableObjectComponent } from '../../../../../../../app/shared/object-collection/shared/listable-object/listable-object.decorator'; + +@listableObjectComponent('Person', ViewMode.StandalonePage, Context.Any, 'custom') +@Component({ + selector: 'ds-person', + // styleUrls: ['./person.component.scss'], + styleUrls: ['../../../../../../../app/entity-groups/research-entities/item-pages/person/person.component.scss'], + // templateUrl: './person.component.html', + templateUrl: '../../../../../../../app/entity-groups/research-entities/item-pages/person/person.component.html', + standalone: true, + imports: [NgIf, ThemedResultsBackButtonComponent, ThemedItemPageTitleFieldComponent, DsoEditMenuComponent, MetadataFieldWrapperComponent, ThemedThumbnailComponent, GenericItemPageFieldComponent, RelatedItemsComponent, RouterLink, TabbedRelatedEntitiesSearchComponent, AsyncPipe, TranslateModule], +}) +export class PersonComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/footer/footer.component.html b/src/themes/qmu/app/footer/footer.component.html new file mode 100644 index 00000000000..34f83107171 --- /dev/null +++ b/src/themes/qmu/app/footer/footer.component.html @@ -0,0 +1,86 @@ + diff --git a/src/themes/qmu/app/footer/footer.component.scss b/src/themes/qmu/app/footer/footer.component.scss new file mode 100644 index 00000000000..651394c2fa0 --- /dev/null +++ b/src/themes/qmu/app/footer/footer.component.scss @@ -0,0 +1,45 @@ +:host { + footer { + background-color: #fff; + text-align: center; + z-index: var(--ds-footer-z-index); + border-top: var(--ds-footer-border); + padding: var(--ds-footer-padding); + + p { + margin: 0; + } + + div > img { + height: var(--ds-footer-logo-height); + } + + + .top-footer { + background-color: var(--ds-top-footer-bg); + padding: var(--ds-footer-padding); + margin: calc(var(--ds-footer-padding) * -1); + } + + .bottom-footer { + ul { + li { + display: inline-flex; + + a { + padding: 0 calc(var(--bs-spacer) / 2); + color: inherit + } + + &:not(:last-child) { + &:after { + content: ''; + border-right: 1px var(--bs-secondary) solid; + } + + } + } + } + } + } +} diff --git a/src/themes/qmu/app/footer/footer.component.ts b/src/themes/qmu/app/footer/footer.component.ts new file mode 100644 index 00000000000..a4fb5d40611 --- /dev/null +++ b/src/themes/qmu/app/footer/footer.component.ts @@ -0,0 +1,22 @@ +import { + AsyncPipe, + DatePipe, + NgIf, +} from '@angular/common'; +import { Component } from '@angular/core'; +import { RouterLink } from '@angular/router'; +import { TranslateModule } from '@ngx-translate/core'; + +import { FooterComponent as BaseComponent } from '../../../../app/footer/footer.component'; + +@Component({ + selector: 'ds-themed-footer', + styleUrls: ['./footer.component.scss'], + // styleUrls: ['../../../../app/footer/footer.component.scss'], + templateUrl: './footer.component.html', + // templateUrl: '../../../../app/footer/footer.component.html', + standalone: true, + imports: [NgIf, RouterLink, AsyncPipe, DatePipe, TranslateModule], +}) +export class FooterComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/forbidden/forbidden.component.html b/src/themes/qmu/app/forbidden/forbidden.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/forbidden/forbidden.component.scss b/src/themes/qmu/app/forbidden/forbidden.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/forbidden/forbidden.component.ts b/src/themes/qmu/app/forbidden/forbidden.component.ts new file mode 100644 index 00000000000..58c32581c1e --- /dev/null +++ b/src/themes/qmu/app/forbidden/forbidden.component.ts @@ -0,0 +1,20 @@ +import { Component } from '@angular/core'; +import { RouterLink } from '@angular/router'; +import { TranslateModule } from '@ngx-translate/core'; + +import { ForbiddenComponent as BaseComponent } from '../../../../app/forbidden/forbidden.component'; + + +@Component({ + selector: 'ds-themed-forbidden', + // templateUrl: './forbidden.component.html', + templateUrl: '../../../../app/forbidden/forbidden.component.html', + // styleUrls: ['./forbidden.component.scss'] + styleUrls: ['../../../../app/forbidden/forbidden.component.scss'], + standalone: true, + imports: [RouterLink, TranslateModule], +}) +/** + * This component representing the `Forbidden` DSpace page. + */ +export class ForbiddenComponent extends BaseComponent {} diff --git a/src/themes/qmu/app/forgot-password/forgot-password-email/forgot-email.component.html b/src/themes/qmu/app/forgot-password/forgot-password-email/forgot-email.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/forgot-password/forgot-password-email/forgot-email.component.scss b/src/themes/qmu/app/forgot-password/forgot-password-email/forgot-email.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/forgot-password/forgot-password-email/forgot-email.component.ts b/src/themes/qmu/app/forgot-password/forgot-password-email/forgot-email.component.ts new file mode 100644 index 00000000000..ac334902a33 --- /dev/null +++ b/src/themes/qmu/app/forgot-password/forgot-password-email/forgot-email.component.ts @@ -0,0 +1,21 @@ +import { Component } from '@angular/core'; +import { ThemedRegisterEmailFormComponent } from 'src/app/register-email-form/themed-registry-email-form.component'; + +import { ForgotEmailComponent as BaseComponent } from '../../../../../app/forgot-password/forgot-password-email/forgot-email.component'; + +@Component({ + selector: 'ds-themed-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', + standalone: true, + imports: [ + ThemedRegisterEmailFormComponent, + ], +}) +/** + * Component responsible the forgot password email step + */ +export class ForgotEmailComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/forgot-password/forgot-password-form/forgot-password-form.component.html b/src/themes/qmu/app/forgot-password/forgot-password-form/forgot-password-form.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/forgot-password/forgot-password-form/forgot-password-form.component.scss b/src/themes/qmu/app/forgot-password/forgot-password-form/forgot-password-form.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/forgot-password/forgot-password-form/forgot-password-form.component.ts b/src/themes/qmu/app/forgot-password/forgot-password-form/forgot-password-form.component.ts new file mode 100644 index 00000000000..9656e7b85ce --- /dev/null +++ b/src/themes/qmu/app/forgot-password/forgot-password-form/forgot-password-form.component.ts @@ -0,0 +1,31 @@ +import { + AsyncPipe, + NgIf, +} from '@angular/common'; +import { Component } from '@angular/core'; +import { TranslateModule } from '@ngx-translate/core'; + +import { ForgotPasswordFormComponent as BaseComponent } from '../../../../../app/forgot-password/forgot-password-form/forgot-password-form.component'; +import { ProfilePageSecurityFormComponent } from '../../../../../app/profile-page/profile-page-security-form/profile-page-security-form.component'; +import { BrowserOnlyPipe } from '../../../../../app/shared/utils/browser-only.pipe'; + +@Component({ + selector: 'ds-themed-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', + standalone: true, + imports: [ + TranslateModule, + BrowserOnlyPipe, + ProfilePageSecurityFormComponent, + AsyncPipe, + NgIf, + ], +}) +/** + * Component for a user to enter a new password for a forgot token. + */ +export class ForgotPasswordFormComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/header-nav-wrapper/header-navbar-wrapper.component.html b/src/themes/qmu/app/header-nav-wrapper/header-navbar-wrapper.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/header-nav-wrapper/header-navbar-wrapper.component.scss b/src/themes/qmu/app/header-nav-wrapper/header-navbar-wrapper.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/header-nav-wrapper/header-navbar-wrapper.component.ts b/src/themes/qmu/app/header-nav-wrapper/header-navbar-wrapper.component.ts new file mode 100644 index 00000000000..ac1ac94140f --- /dev/null +++ b/src/themes/qmu/app/header-nav-wrapper/header-navbar-wrapper.component.ts @@ -0,0 +1,24 @@ +import { + AsyncPipe, + NgClass, +} from '@angular/common'; +import { Component } from '@angular/core'; + +import { ThemedHeaderComponent } from '../../../../app/header/themed-header.component'; +import { HeaderNavbarWrapperComponent as BaseComponent } from '../../../../app/header-nav-wrapper/header-navbar-wrapper.component'; +import { ThemedNavbarComponent } from '../../../../app/navbar/themed-navbar.component'; + +/** + * This component represents a wrapper for the horizontal navbar and the header + */ +@Component({ + selector: 'ds-themed-header-navbar-wrapper', + // styleUrls: ['./header-navbar-wrapper.component.scss'], + styleUrls: ['../../../../app/header-nav-wrapper/header-navbar-wrapper.component.scss'], + // templateUrl: './header-navbar-wrapper.component.html', + templateUrl: '../../../../app/header-nav-wrapper/header-navbar-wrapper.component.html', + standalone: true, + imports: [NgClass, ThemedHeaderComponent, ThemedNavbarComponent, AsyncPipe], +}) +export class HeaderNavbarWrapperComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/header/header.component.html b/src/themes/qmu/app/header/header.component.html new file mode 100644 index 00000000000..84b97cab7f5 --- /dev/null +++ b/src/themes/qmu/app/header/header.component.html @@ -0,0 +1,33 @@ +
+
+
+
+ + + + + + + +
+
+
+
diff --git a/src/themes/qmu/app/header/header.component.scss b/src/themes/qmu/app/header/header.component.scss new file mode 100644 index 00000000000..23990404389 --- /dev/null +++ b/src/themes/qmu/app/header/header.component.scss @@ -0,0 +1,26 @@ +.qmu-header { + background-color: #374a5c; +} +.qmu-header h1 { + color: #444; + font-family: "Oswald",sans-serif; + font-size: 2.3em; + margin: 1em; +} +.qmu-header h1 a { + color: #524c44; + text-decoration: none; +} +.qmu-header h1 a:hover { + text-decoration: none; + border-bottom: 1px dotted #ffffff; + color: #ffffff; +} +#sidebar a:link, +#sidebar a:visited, +#sidebar a { + color: #524c44; +} +.qmu-header-content { + background-color: #374a5c; +} diff --git a/src/themes/qmu/app/header/header.component.ts b/src/themes/qmu/app/header/header.component.ts new file mode 100644 index 00000000000..94f6ce34584 --- /dev/null +++ b/src/themes/qmu/app/header/header.component.ts @@ -0,0 +1,30 @@ +import { + AsyncPipe, + NgIf, +} from '@angular/common'; +import { Component } from '@angular/core'; +import { RouterLink } from '@angular/router'; +import { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap'; +import { TranslateModule } from '@ngx-translate/core'; +import { ThemedLangSwitchComponent } from 'src/app/shared/lang-switch/themed-lang-switch.component'; + +import { ContextHelpToggleComponent } from '../../../../app/header/context-help-toggle/context-help-toggle.component'; +import { HeaderComponent as BaseComponent } from '../../../../app/header/header.component'; +import { ThemedSearchNavbarComponent } from '../../../../app/search-navbar/themed-search-navbar.component'; +import { ThemedAuthNavMenuComponent } from '../../../../app/shared/auth-nav-menu/themed-auth-nav-menu.component'; +import { ImpersonateNavbarComponent } from '../../../../app/shared/impersonate-navbar/impersonate-navbar.component'; + +/** + * Represents the header with the logo and simple navigation + */ +@Component({ + selector: 'ds-themed-header', + styleUrls: ['header.component.scss'], + // styleUrls: ['../../../../app/header/header.component.scss'], + templateUrl: 'header.component.html', + // templateUrl: '../../../../app/header/header.component.html', + standalone: true, + imports: [RouterLink, ThemedLangSwitchComponent, NgbDropdownModule, ThemedSearchNavbarComponent, ContextHelpToggleComponent, ThemedAuthNavMenuComponent, ImpersonateNavbarComponent, TranslateModule, AsyncPipe, NgIf], +}) +export class HeaderComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/home-page/home-news/home-news.component.html b/src/themes/qmu/app/home-page/home-news/home-news.component.html new file mode 100644 index 00000000000..e4a82fe410f --- /dev/null +++ b/src/themes/qmu/app/home-page/home-news/home-news.component.html @@ -0,0 +1,15 @@ +
+
+
+
+

QMU Repositories

+

Welcome to Queen Margaret University's repositories which contain a + growing collection of research publications and outputs by QMU authors. QMU + researchers can submit items by sending details to the eResearch + Team at: eResearch@qmu.ac.uk +

+
+
+ +
+
diff --git a/src/themes/qmu/app/home-page/home-news/home-news.component.scss b/src/themes/qmu/app/home-page/home-news/home-news.component.scss new file mode 100644 index 00000000000..44c97ad6e84 --- /dev/null +++ b/src/themes/qmu/app/home-page/home-news/home-news.component.scss @@ -0,0 +1,21 @@ +:host { + display: block; + margin-top: calc(-1 * var(--ds-content-spacing)); + margin-bottom: calc(-1 * var(--ds-content-spacing)); +} + +.display-3 { + word-break: break-word; +} + +.jumbotron { + background-color: var(--ds-home-news-background-color); +} + +a { + color: var(--ds-home-news-link-color); + + @include hover { + color: var(--ds-home-news-link-hover-color); + } +} diff --git a/src/themes/qmu/app/home-page/home-news/home-news.component.ts b/src/themes/qmu/app/home-page/home-news/home-news.component.ts new file mode 100644 index 00000000000..6b1ba460476 --- /dev/null +++ b/src/themes/qmu/app/home-page/home-news/home-news.component.ts @@ -0,0 +1,18 @@ +import { Component } from '@angular/core'; + +import { HomeNewsComponent as BaseComponent } from '../../../../../app/home-page/home-news/home-news.component'; + +@Component({ + selector: 'ds-themed-home-news', + styleUrls: ['./home-news.component.scss'], + //styleUrls: ['../../../../../app/home-page/home-news/home-news.component.scss'], + templateUrl: './home-news.component.html', + //templateUrl: '../../../../../app/home-page/home-news/home-news.component.html', + standalone: true, +}) + +/** + * Component to render the news section on the home page + */ +export class HomeNewsComponent extends BaseComponent {} + diff --git a/src/themes/qmu/app/home-page/home-page.component.html b/src/themes/qmu/app/home-page/home-page.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/home-page/home-page.component.scss b/src/themes/qmu/app/home-page/home-page.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/home-page/home-page.component.ts b/src/themes/qmu/app/home-page/home-page.component.ts new file mode 100644 index 00000000000..2b45f697544 --- /dev/null +++ b/src/themes/qmu/app/home-page/home-page.component.ts @@ -0,0 +1,32 @@ +import { + AsyncPipe, + NgClass, + NgIf, + NgTemplateOutlet, +} from '@angular/common'; +import { Component } from '@angular/core'; +import { TranslateModule } from '@ngx-translate/core'; + +import { HomeCoarComponent } from '../../../../app/home-page/home-coar/home-coar.component'; +import { ThemedHomeNewsComponent } from '../../../../app/home-page/home-news/themed-home-news.component'; +import { HomePageComponent as BaseComponent } from '../../../../app/home-page/home-page.component'; +import { RecentItemListComponent } from '../../../../app/home-page/recent-item-list/recent-item-list.component'; +import { ThemedTopLevelCommunityListComponent } from '../../../../app/home-page/top-level-community-list/themed-top-level-community-list.component'; +import { SuggestionsPopupComponent } from '../../../../app/notifications/suggestions-popup/suggestions-popup.component'; +import { ThemedConfigurationSearchPageComponent } from '../../../../app/search-page/themed-configuration-search-page.component'; +import { ThemedSearchFormComponent } from '../../../../app/shared/search-form/themed-search-form.component'; +import { PageWithSidebarComponent } from '../../../../app/shared/sidebar/page-with-sidebar.component'; +import { ViewTrackerComponent } from '../../../../app/statistics/angulartics/dspace/view-tracker.component'; + +@Component({ + selector: 'ds-themed-home-page', + // styleUrls: ['./home-page.component.scss'], + styleUrls: ['../../../../app/home-page/home-page.component.scss'], + // templateUrl: './home-page.component.html' + templateUrl: '../../../../app/home-page/home-page.component.html', + standalone: true, + imports: [ThemedHomeNewsComponent, NgTemplateOutlet, NgIf, ViewTrackerComponent, ThemedSearchFormComponent, ThemedTopLevelCommunityListComponent, RecentItemListComponent, AsyncPipe, TranslateModule, NgClass, SuggestionsPopupComponent, ThemedConfigurationSearchPageComponent, PageWithSidebarComponent, HomeCoarComponent], +}) +export class HomePageComponent extends BaseComponent { + +} diff --git a/src/themes/qmu/app/home-page/top-level-community-list/top-level-community-list.component.html b/src/themes/qmu/app/home-page/top-level-community-list/top-level-community-list.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/home-page/top-level-community-list/top-level-community-list.component.scss b/src/themes/qmu/app/home-page/top-level-community-list/top-level-community-list.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/home-page/top-level-community-list/top-level-community-list.component.ts b/src/themes/qmu/app/home-page/top-level-community-list/top-level-community-list.component.ts new file mode 100644 index 00000000000..0613377e147 --- /dev/null +++ b/src/themes/qmu/app/home-page/top-level-community-list/top-level-community-list.component.ts @@ -0,0 +1,25 @@ +import { + AsyncPipe, + NgIf, +} from '@angular/common'; +import { Component } from '@angular/core'; +import { TranslateModule } from '@ngx-translate/core'; + +import { TopLevelCommunityListComponent as BaseComponent } from '../../../../../app/home-page/top-level-community-list/top-level-community-list.component'; +import { ErrorComponent } from '../../../../../app/shared/error/error.component'; +import { ThemedLoadingComponent } from '../../../../../app/shared/loading/themed-loading.component'; +import { ObjectCollectionComponent } from '../../../../../app/shared/object-collection/object-collection.component'; +import { VarDirective } from '../../../../../app/shared/utils/var.directive'; + +@Component({ + selector: 'ds-themed-top-level-community-list', + // styleUrls: ['./top-level-community-list.component.scss'], + styleUrls: ['../../../../../app/home-page/top-level-community-list/top-level-community-list.component.scss'], + // templateUrl: './top-level-community-list.component.html' + templateUrl: '../../../../../app/home-page/top-level-community-list/top-level-community-list.component.html', + standalone: true, + imports: [VarDirective, NgIf, ObjectCollectionComponent, ErrorComponent, ThemedLoadingComponent, AsyncPipe, TranslateModule], +}) + +export class TopLevelCommunityListComponent extends BaseComponent {} + diff --git a/src/themes/qmu/app/info/end-user-agreement/end-user-agreement.component.html b/src/themes/qmu/app/info/end-user-agreement/end-user-agreement.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/info/end-user-agreement/end-user-agreement.component.scss b/src/themes/qmu/app/info/end-user-agreement/end-user-agreement.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/info/end-user-agreement/end-user-agreement.component.ts b/src/themes/qmu/app/info/end-user-agreement/end-user-agreement.component.ts new file mode 100644 index 00000000000..05f22522163 --- /dev/null +++ b/src/themes/qmu/app/info/end-user-agreement/end-user-agreement.component.ts @@ -0,0 +1,22 @@ +import { Component } from '@angular/core'; +import { FormsModule } from '@angular/forms'; +import { TranslateModule } from '@ngx-translate/core'; + +import { EndUserAgreementComponent as BaseComponent } from '../../../../../app/info/end-user-agreement/end-user-agreement.component'; +import { EndUserAgreementContentComponent } from '../../../../../app/info/end-user-agreement/end-user-agreement-content/end-user-agreement-content.component'; + +@Component({ + selector: 'ds-themed-end-user-agreement', + // styleUrls: ['./end-user-agreement.component.scss'], + styleUrls: ['../../../../../app/info/end-user-agreement/end-user-agreement.component.scss'], + // templateUrl: './end-user-agreement.component.html' + templateUrl: '../../../../../app/info/end-user-agreement/end-user-agreement.component.html', + standalone: true, + imports: [EndUserAgreementContentComponent, FormsModule, TranslateModule], +}) + +/** + * Component displaying the End User Agreement and an option to accept it + */ +export class EndUserAgreementComponent extends BaseComponent {} + diff --git a/src/themes/qmu/app/info/feedback/feedback-form/feedback-form.component.html b/src/themes/qmu/app/info/feedback/feedback-form/feedback-form.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/info/feedback/feedback-form/feedback-form.component.scss b/src/themes/qmu/app/info/feedback/feedback-form/feedback-form.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/info/feedback/feedback-form/feedback-form.component.ts b/src/themes/qmu/app/info/feedback/feedback-form/feedback-form.component.ts new file mode 100644 index 00000000000..b3cd90e73ed --- /dev/null +++ b/src/themes/qmu/app/info/feedback/feedback-form/feedback-form.component.ts @@ -0,0 +1,22 @@ +import { NgIf } from '@angular/common'; +import { Component } from '@angular/core'; +import { + FormsModule, + ReactiveFormsModule, +} from '@angular/forms'; +import { TranslateModule } from '@ngx-translate/core'; + +import { FeedbackFormComponent as BaseComponent } from '../../../../../../app/info/feedback/feedback-form/feedback-form.component'; +import { ErrorComponent } from '../../../../../../app/shared/error/error.component'; + +@Component({ + selector: 'ds-themed-feedback-form', + // templateUrl: './feedback-form.component.html', + templateUrl: '../../../../../../app/info/feedback/feedback-form/feedback-form.component.html', + // styleUrls: ['./feedback-form.component.scss'], + styleUrls: ['../../../../../../app/info/feedback/feedback-form/feedback-form.component.scss'], + standalone: true, + imports: [FormsModule, ReactiveFormsModule, NgIf, ErrorComponent, TranslateModule], +}) +export class FeedbackFormComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/info/feedback/feedback.component.html b/src/themes/qmu/app/info/feedback/feedback.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/info/feedback/feedback.component.scss b/src/themes/qmu/app/info/feedback/feedback.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/info/feedback/feedback.component.ts b/src/themes/qmu/app/info/feedback/feedback.component.ts new file mode 100644 index 00000000000..e31cfd46cf9 --- /dev/null +++ b/src/themes/qmu/app/info/feedback/feedback.component.ts @@ -0,0 +1,19 @@ +import { Component } from '@angular/core'; + +import { FeedbackComponent as BaseComponent } from '../../../../../app/info/feedback/feedback.component'; +import { ThemedFeedbackFormComponent } from '../../../../../app/info/feedback/feedback-form/themed-feedback-form.component'; + +@Component({ + selector: 'ds-themed-feedback', + // styleUrls: ['./feedback.component.scss'], + styleUrls: ['../../../../../app/info/feedback/feedback.component.scss'], + // templateUrl: './feedback.component.html' + templateUrl: '../../../../../app/info/feedback/feedback.component.html', + standalone: true, + imports: [ThemedFeedbackFormComponent], +}) + +/** + * Component displaying the feedback Statement + */ +export class FeedbackComponent extends BaseComponent { } diff --git a/src/themes/qmu/app/info/privacy/privacy.component.html b/src/themes/qmu/app/info/privacy/privacy.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/info/privacy/privacy.component.scss b/src/themes/qmu/app/info/privacy/privacy.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/info/privacy/privacy.component.ts b/src/themes/qmu/app/info/privacy/privacy.component.ts new file mode 100644 index 00000000000..463a89a0925 --- /dev/null +++ b/src/themes/qmu/app/info/privacy/privacy.component.ts @@ -0,0 +1,19 @@ +import { Component } from '@angular/core'; + +import { PrivacyComponent as BaseComponent } from '../../../../../app/info/privacy/privacy.component'; +import { PrivacyContentComponent } from '../../../../../app/info/privacy/privacy-content/privacy-content.component'; + +@Component({ + selector: 'ds-themed-privacy', + // styleUrls: ['./privacy.component.scss'], + styleUrls: ['../../../../../app/info/privacy/privacy.component.scss'], + // templateUrl: './privacy.component.html' + templateUrl: '../../../../../app/info/privacy/privacy.component.html', + standalone: true, + imports: [PrivacyContentComponent], +}) + +/** + * Component displaying the Privacy Statement + */ +export class PrivacyComponent extends BaseComponent {} diff --git a/src/themes/qmu/app/item-page/alerts/item-alerts.component.html b/src/themes/qmu/app/item-page/alerts/item-alerts.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/item-page/alerts/item-alerts.component.scss b/src/themes/qmu/app/item-page/alerts/item-alerts.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/item-page/alerts/item-alerts.component.ts b/src/themes/qmu/app/item-page/alerts/item-alerts.component.ts new file mode 100644 index 00000000000..4cfa632f02f --- /dev/null +++ b/src/themes/qmu/app/item-page/alerts/item-alerts.component.ts @@ -0,0 +1,28 @@ +import { + AsyncPipe, + NgIf, +} from '@angular/common'; +import { Component } from '@angular/core'; +import { RouterLink } from '@angular/router'; +import { TranslateModule } from '@ngx-translate/core'; + +import { ItemAlertsComponent as BaseComponent } from '../../../../../app/item-page/alerts/item-alerts.component'; +import { AlertComponent } from '../../../../../app/shared/alert/alert.component'; + +@Component({ + selector: 'ds-themed-item-alerts', + // templateUrl: './item-alerts.component.html', + templateUrl: '../../../../../app/item-page/alerts/item-alerts.component.html', + // styleUrls: ['./item-alerts.component.scss'], + styleUrls: ['../../../../../app/item-page/alerts/item-alerts.component.scss'], + standalone: true, + imports: [ + AlertComponent, + NgIf, + TranslateModule, + RouterLink, + AsyncPipe, + ], +}) +export class ItemAlertsComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/item-page/edit-item-page/item-status/item-status.component.html b/src/themes/qmu/app/item-page/edit-item-page/item-status/item-status.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/item-page/edit-item-page/item-status/item-status.component.ts b/src/themes/qmu/app/item-page/edit-item-page/item-status/item-status.component.ts new file mode 100644 index 00000000000..a39d2e4cda7 --- /dev/null +++ b/src/themes/qmu/app/item-page/edit-item-page/item-status/item-status.component.ts @@ -0,0 +1,42 @@ +import { + AsyncPipe, + NgClass, + NgForOf, + NgIf, +} from '@angular/common'; +import { + ChangeDetectionStrategy, + Component, +} from '@angular/core'; +import { RouterLink } from '@angular/router'; +import { TranslateModule } from '@ngx-translate/core'; + +import { ItemOperationComponent } from '../../../../../../app/item-page/edit-item-page/item-operation/item-operation.component'; +import { ItemStatusComponent as BaseComponent } from '../../../../../../app/item-page/edit-item-page/item-status/item-status.component'; +import { + fadeIn, + fadeInOut, +} from '../../../../../../app/shared/animations/fade'; + +@Component({ + selector: 'ds-themed-item-status', + // templateUrl: './item-status.component.html', + templateUrl: '../../../../../../app/item-page/edit-item-page/item-status/item-status.component.html', + changeDetection: ChangeDetectionStrategy.Default, + animations: [ + fadeIn, + fadeInOut, + ], + standalone: true, + imports: [ + TranslateModule, + NgForOf, + AsyncPipe, + NgIf, + RouterLink, + ItemOperationComponent, + NgClass, + ], +}) +export class ItemStatusComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/item-page/full/field-components/file-section/full-file-section.component.html b/src/themes/qmu/app/item-page/full/field-components/file-section/full-file-section.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/item-page/full/field-components/file-section/full-file-section.component.scss b/src/themes/qmu/app/item-page/full/field-components/file-section/full-file-section.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/item-page/full/field-components/file-section/full-file-section.component.ts b/src/themes/qmu/app/item-page/full/field-components/file-section/full-file-section.component.ts new file mode 100644 index 00000000000..1475cd04ee9 --- /dev/null +++ b/src/themes/qmu/app/item-page/full/field-components/file-section/full-file-section.component.ts @@ -0,0 +1,38 @@ +import { + AsyncPipe, + NgForOf, + NgIf, +} from '@angular/common'; +import { Component } from '@angular/core'; +import { TranslateModule } from '@ngx-translate/core'; + +import { FullFileSectionComponent as BaseComponent } from '../../../../../../../app/item-page/full/field-components/file-section/full-file-section.component'; +import { ThemedFileDownloadLinkComponent } from '../../../../../../../app/shared/file-download-link/themed-file-download-link.component'; +import { MetadataFieldWrapperComponent } from '../../../../../../../app/shared/metadata-field-wrapper/metadata-field-wrapper.component'; +import { PaginationComponent } from '../../../../../../../app/shared/pagination/pagination.component'; +import { FileSizePipe } from '../../../../../../../app/shared/utils/file-size-pipe'; +import { VarDirective } from '../../../../../../../app/shared/utils/var.directive'; +import { ThemedThumbnailComponent } from '../../../../../../../app/thumbnail/themed-thumbnail.component'; + +@Component({ + selector: 'ds-themed-item-page-full-file-section', + // styleUrls: ['./full-file-section.component.scss'], + styleUrls: ['../../../../../../../app/item-page/full/field-components/file-section/full-file-section.component.scss'], + // templateUrl: './full-file-section.component.html', + templateUrl: '../../../../../../../app/item-page/full/field-components/file-section/full-file-section.component.html', + standalone: true, + imports: [ + PaginationComponent, + NgIf, + TranslateModule, + AsyncPipe, + VarDirective, + ThemedThumbnailComponent, + NgForOf, + ThemedFileDownloadLinkComponent, + FileSizePipe, + MetadataFieldWrapperComponent, + ], +}) +export class FullFileSectionComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/item-page/full/full-item-page.component.html b/src/themes/qmu/app/item-page/full/full-item-page.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/item-page/full/full-item-page.component.scss b/src/themes/qmu/app/item-page/full/full-item-page.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/item-page/full/full-item-page.component.ts b/src/themes/qmu/app/item-page/full/full-item-page.component.ts new file mode 100644 index 00000000000..c1bad7ba897 --- /dev/null +++ b/src/themes/qmu/app/item-page/full/full-item-page.component.ts @@ -0,0 +1,63 @@ +import { + AsyncPipe, + KeyValuePipe, + NgForOf, + NgIf, +} from '@angular/common'; +import { + ChangeDetectionStrategy, + Component, +} from '@angular/core'; +import { RouterLink } from '@angular/router'; +import { TranslateModule } from '@ngx-translate/core'; + +import { ThemedItemAlertsComponent } from '../../../../../app/item-page/alerts/themed-item-alerts.component'; +import { CollectionsComponent } from '../../../../../app/item-page/field-components/collections/collections.component'; +import { ThemedFullFileSectionComponent } from '../../../../../app/item-page/full/field-components/file-section/themed-full-file-section.component'; +import { FullItemPageComponent as BaseComponent } from '../../../../../app/item-page/full/full-item-page.component'; +import { ThemedItemPageTitleFieldComponent } from '../../../../../app/item-page/simple/field-components/specific-field/title/themed-item-page-field.component'; +import { ItemVersionsComponent } from '../../../../../app/item-page/versions/item-versions.component'; +import { ItemVersionsNoticeComponent } from '../../../../../app/item-page/versions/notice/item-versions-notice.component'; +import { fadeInOut } from '../../../../../app/shared/animations/fade'; +import { DsoEditMenuComponent } from '../../../../../app/shared/dso-page/dso-edit-menu/dso-edit-menu.component'; +import { ErrorComponent } from '../../../../../app/shared/error/error.component'; +import { ThemedLoadingComponent } from '../../../../../app/shared/loading/themed-loading.component'; +import { VarDirective } from '../../../../../app/shared/utils/var.directive'; +import { ViewTrackerComponent } from '../../../../../app/statistics/angulartics/dspace/view-tracker.component'; + +/** + * This component renders a full item page. + * The route parameter 'id' is used to request the item it represents. + */ + +@Component({ + selector: 'ds-themed-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], + standalone: true, + imports: [ + ErrorComponent, + ThemedLoadingComponent, + TranslateModule, + ThemedFullFileSectionComponent, + CollectionsComponent, + ItemVersionsComponent, + NgIf, + NgForOf, + AsyncPipe, + KeyValuePipe, + RouterLink, + ThemedItemPageTitleFieldComponent, + DsoEditMenuComponent, + ItemVersionsNoticeComponent, + ViewTrackerComponent, + ThemedItemAlertsComponent, + VarDirective, + ], +}) +export class FullItemPageComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/item-page/media-viewer/media-viewer-image/media-viewer-image.component.html b/src/themes/qmu/app/item-page/media-viewer/media-viewer-image/media-viewer-image.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/item-page/media-viewer/media-viewer-image/media-viewer-image.component.scss b/src/themes/qmu/app/item-page/media-viewer/media-viewer-image/media-viewer-image.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/item-page/media-viewer/media-viewer-image/media-viewer-image.component.ts b/src/themes/qmu/app/item-page/media-viewer/media-viewer-image/media-viewer-image.component.ts new file mode 100644 index 00000000000..da2f62eb9b3 --- /dev/null +++ b/src/themes/qmu/app/item-page/media-viewer/media-viewer-image/media-viewer-image.component.ts @@ -0,0 +1,20 @@ +import { AsyncPipe } from '@angular/common'; +import { Component } from '@angular/core'; +import { NgxGalleryModule } from '@kolkov/ngx-gallery'; + +import { MediaViewerImageComponent as BaseComponent } from '../../../../../../app/item-page/media-viewer/media-viewer-image/media-viewer-image.component'; + +@Component({ + selector: 'ds-themed-media-viewer-image', + // templateUrl: './media-viewer-image.component.html', + templateUrl: '../../../../../../app/item-page/media-viewer/media-viewer-image/media-viewer-image.component.html', + // styleUrls: ['./media-viewer-image.component.scss'], + styleUrls: ['../../../../../../app/item-page/media-viewer/media-viewer-image/media-viewer-image.component.scss'], + standalone: true, + imports: [ + NgxGalleryModule, + AsyncPipe, + ], +}) +export class MediaViewerImageComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/item-page/media-viewer/media-viewer-video/media-viewer-video.component.html b/src/themes/qmu/app/item-page/media-viewer/media-viewer-video/media-viewer-video.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/item-page/media-viewer/media-viewer-video/media-viewer-video.component.scss b/src/themes/qmu/app/item-page/media-viewer/media-viewer-video/media-viewer-video.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/item-page/media-viewer/media-viewer-video/media-viewer-video.component.ts b/src/themes/qmu/app/item-page/media-viewer/media-viewer-video/media-viewer-video.component.ts new file mode 100644 index 00000000000..5c6c7f35072 --- /dev/null +++ b/src/themes/qmu/app/item-page/media-viewer/media-viewer-video/media-viewer-video.component.ts @@ -0,0 +1,26 @@ +import { + NgForOf, + NgIf, +} from '@angular/common'; +import { Component } from '@angular/core'; +import { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap'; +import { TranslateModule } from '@ngx-translate/core'; + +import { MediaViewerVideoComponent as BaseComponent } from '../../../../../../app/item-page/media-viewer/media-viewer-video/media-viewer-video.component'; + +@Component({ + selector: 'ds-themed-media-viewer-video', + // templateUrl: './media-viewer-video.component.html', + templateUrl: '../../../../../../app/item-page/media-viewer/media-viewer-video/media-viewer-video.component.html', + // styleUrls: ['./media-viewer-video.component.scss'], + styleUrls: ['../../../../../../app/item-page/media-viewer/media-viewer-video/media-viewer-video.component.scss'], + standalone: true, + imports: [ + NgForOf, + NgbDropdownModule, + TranslateModule, + NgIf, + ], +}) +export class MediaViewerVideoComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/item-page/media-viewer/media-viewer.component.html b/src/themes/qmu/app/item-page/media-viewer/media-viewer.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/item-page/media-viewer/media-viewer.component.scss b/src/themes/qmu/app/item-page/media-viewer/media-viewer.component.scss new file mode 100644 index 00000000000..8b137891791 --- /dev/null +++ b/src/themes/qmu/app/item-page/media-viewer/media-viewer.component.scss @@ -0,0 +1 @@ + diff --git a/src/themes/qmu/app/item-page/media-viewer/media-viewer.component.ts b/src/themes/qmu/app/item-page/media-viewer/media-viewer.component.ts new file mode 100644 index 00000000000..35336e6086b --- /dev/null +++ b/src/themes/qmu/app/item-page/media-viewer/media-viewer.component.ts @@ -0,0 +1,34 @@ +import { + AsyncPipe, + NgIf, +} from '@angular/common'; +import { Component } from '@angular/core'; +import { TranslateModule } from '@ngx-translate/core'; + +import { MediaViewerComponent as BaseComponent } from '../../../../../app/item-page/media-viewer/media-viewer.component'; +import { ThemedMediaViewerImageComponent } from '../../../../../app/item-page/media-viewer/media-viewer-image/themed-media-viewer-image.component'; +import { ThemedMediaViewerVideoComponent } from '../../../../../app/item-page/media-viewer/media-viewer-video/themed-media-viewer-video.component'; +import { ThemedLoadingComponent } from '../../../../../app/shared/loading/themed-loading.component'; +import { VarDirective } from '../../../../../app/shared/utils/var.directive'; +import { ThemedThumbnailComponent } from '../../../../../app/thumbnail/themed-thumbnail.component'; + +@Component({ + selector: 'ds-themed-media-viewer', + // templateUrl: './media-viewer.component.html', + templateUrl: '../../../../../app/item-page/media-viewer/media-viewer.component.html', + // styleUrls: ['./media-viewer.component.scss'], + styleUrls: ['../../../../../app/item-page/media-viewer/media-viewer.component.scss'], + standalone: true, + imports: [ + ThemedMediaViewerImageComponent, + ThemedThumbnailComponent, + AsyncPipe, + NgIf, + ThemedMediaViewerVideoComponent, + TranslateModule, + ThemedLoadingComponent, + VarDirective, + ], +}) +export class MediaViewerComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/item-page/simple/field-components/file-section/file-section.component.html b/src/themes/qmu/app/item-page/simple/field-components/file-section/file-section.component.html new file mode 100644 index 00000000000..8b137891791 --- /dev/null +++ b/src/themes/qmu/app/item-page/simple/field-components/file-section/file-section.component.html @@ -0,0 +1 @@ + diff --git a/src/themes/qmu/app/item-page/simple/field-components/file-section/file-section.component.ts b/src/themes/qmu/app/item-page/simple/field-components/file-section/file-section.component.ts new file mode 100644 index 00000000000..e39f7536eb0 --- /dev/null +++ b/src/themes/qmu/app/item-page/simple/field-components/file-section/file-section.component.ts @@ -0,0 +1,31 @@ +import { CommonModule } from '@angular/common'; +import { Component } from '@angular/core'; +import { TranslateModule } from '@ngx-translate/core'; + +import { FileSectionComponent as BaseComponent } from '../../../../../../../app/item-page/simple/field-components/file-section/file-section.component'; +import { slideSidebarPadding } from '../../../../../../../app/shared/animations/slide'; +import { ThemedFileDownloadLinkComponent } from '../../../../../../../app/shared/file-download-link/themed-file-download-link.component'; +import { ThemedLoadingComponent } from '../../../../../../../app/shared/loading/themed-loading.component'; +import { MetadataFieldWrapperComponent } from '../../../../../../../app/shared/metadata-field-wrapper/metadata-field-wrapper.component'; +import { FileSizePipe } from '../../../../../../../app/shared/utils/file-size-pipe'; +import { VarDirective } from '../../../../../../../app/shared/utils/var.directive'; + +@Component({ + selector: 'ds-themed-item-page-file-section', + // templateUrl: './file-section.component.html', + templateUrl: '../../../../../../../app/item-page/simple/field-components/file-section/file-section.component.html', + animations: [slideSidebarPadding], + standalone: true, + imports: [ + CommonModule, + ThemedFileDownloadLinkComponent, + MetadataFieldWrapperComponent, + ThemedLoadingComponent, + TranslateModule, + FileSizePipe, + VarDirective, + ], +}) +export class FileSectionComponent extends BaseComponent { + +} diff --git a/src/themes/qmu/app/item-page/simple/field-components/specific-field/title/item-page-title-field.component.html b/src/themes/qmu/app/item-page/simple/field-components/specific-field/title/item-page-title-field.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/item-page/simple/field-components/specific-field/title/item-page-title-field.component.ts b/src/themes/qmu/app/item-page/simple/field-components/specific-field/title/item-page-title-field.component.ts new file mode 100644 index 00000000000..4b0bfa4c91b --- /dev/null +++ b/src/themes/qmu/app/item-page/simple/field-components/specific-field/title/item-page-title-field.component.ts @@ -0,0 +1,15 @@ +import { NgIf } from '@angular/common'; +import { Component } from '@angular/core'; +import { TranslateModule } from '@ngx-translate/core'; + +import { ItemPageTitleFieldComponent as BaseComponent } from '../../../../../../../../app/item-page/simple/field-components/specific-field/title/item-page-title-field.component'; + +@Component({ + selector: 'ds-themed-item-page-title-field', + // templateUrl: './item-page-title-field.component.html', + templateUrl: '../../../../../../../../app/item-page/simple/field-components/specific-field/title/item-page-title-field.component.html', + standalone: true, + imports: [NgIf, TranslateModule], +}) +export class ItemPageTitleFieldComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/item-page/simple/item-page.component.html b/src/themes/qmu/app/item-page/simple/item-page.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/item-page/simple/item-page.component.scss b/src/themes/qmu/app/item-page/simple/item-page.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/item-page/simple/item-page.component.ts b/src/themes/qmu/app/item-page/simple/item-page.component.ts new file mode 100644 index 00000000000..7daa65287a5 --- /dev/null +++ b/src/themes/qmu/app/item-page/simple/item-page.component.ts @@ -0,0 +1,56 @@ +import { + AsyncPipe, + NgIf, +} from '@angular/common'; +import { + ChangeDetectionStrategy, + Component, +} from '@angular/core'; +import { TranslateModule } from '@ngx-translate/core'; + +import { ThemedItemAlertsComponent } from '../../../../../app/item-page/alerts/themed-item-alerts.component'; +import { ItemPageComponent as BaseComponent } from '../../../../../app/item-page/simple/item-page.component'; +import { NotifyRequestsStatusComponent } from '../../../../../app/item-page/simple/notify-requests-status/notify-requests-status-component/notify-requests-status.component'; +import { QaEventNotificationComponent } from '../../../../../app/item-page/simple/qa-event-notification/qa-event-notification.component'; +import { ItemVersionsComponent } from '../../../../../app/item-page/versions/item-versions.component'; +import { ItemVersionsNoticeComponent } from '../../../../../app/item-page/versions/notice/item-versions-notice.component'; +import { fadeInOut } from '../../../../../app/shared/animations/fade'; +import { ErrorComponent } from '../../../../../app/shared/error/error.component'; +import { ThemedLoadingComponent } from '../../../../../app/shared/loading/themed-loading.component'; +import { ListableObjectComponentLoaderComponent } from '../../../../../app/shared/object-collection/shared/listable-object/listable-object-component-loader.component'; +import { VarDirective } from '../../../../../app/shared/utils/var.directive'; +import { ViewTrackerComponent } from '../../../../../app/statistics/angulartics/dspace/view-tracker.component'; + +/** + * 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-themed-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], + standalone: true, + imports: [ + VarDirective, + ThemedItemAlertsComponent, + ItemVersionsNoticeComponent, + ViewTrackerComponent, + ListableObjectComponentLoaderComponent, + ItemVersionsComponent, + ErrorComponent, + ThemedLoadingComponent, + TranslateModule, + AsyncPipe, + NgIf, + NotifyRequestsStatusComponent, + QaEventNotificationComponent, + ], +}) +export class ItemPageComponent extends BaseComponent { + +} diff --git a/src/themes/qmu/app/item-page/simple/item-types/publication/publication.component.html b/src/themes/qmu/app/item-page/simple/item-types/publication/publication.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/item-page/simple/item-types/publication/publication.component.scss b/src/themes/qmu/app/item-page/simple/item-types/publication/publication.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/item-page/simple/item-types/publication/publication.component.ts b/src/themes/qmu/app/item-page/simple/item-types/publication/publication.component.ts new file mode 100644 index 00000000000..ce56724e4ab --- /dev/null +++ b/src/themes/qmu/app/item-page/simple/item-types/publication/publication.component.ts @@ -0,0 +1,49 @@ +import { + AsyncPipe, + NgIf, +} from '@angular/common'; +import { + ChangeDetectionStrategy, + Component, +} from '@angular/core'; +import { RouterLink } from '@angular/router'; +import { TranslateModule } from '@ngx-translate/core'; + +import { Context } from '../../../../../../../app/core/shared/context.model'; +import { ViewMode } from '../../../../../../../app/core/shared/view-mode.model'; +import { CollectionsComponent } from '../../../../../../../app/item-page/field-components/collections/collections.component'; +import { ThemedMediaViewerComponent } from '../../../../../../../app/item-page/media-viewer/themed-media-viewer.component'; +import { MiradorViewerComponent } from '../../../../../../../app/item-page/mirador-viewer/mirador-viewer.component'; +import { ThemedFileSectionComponent } from '../../../../../../../app/item-page/simple/field-components/file-section/themed-file-section.component'; +import { ItemPageAbstractFieldComponent } from '../../../../../../../app/item-page/simple/field-components/specific-field/abstract/item-page-abstract-field.component'; +import { ItemPageDateFieldComponent } from '../../../../../../../app/item-page/simple/field-components/specific-field/date/item-page-date-field.component'; +import { GenericItemPageFieldComponent } from '../../../../../../../app/item-page/simple/field-components/specific-field/generic/generic-item-page-field.component'; +import { ThemedItemPageTitleFieldComponent } from '../../../../../../../app/item-page/simple/field-components/specific-field/title/themed-item-page-field.component'; +import { ItemPageUriFieldComponent } from '../../../../../../../app/item-page/simple/field-components/specific-field/uri/item-page-uri-field.component'; +import { PublicationComponent as BaseComponent } from '../../../../../../../app/item-page/simple/item-types/publication/publication.component'; +import { ThemedMetadataRepresentationListComponent } from '../../../../../../../app/item-page/simple/metadata-representation-list/themed-metadata-representation-list.component'; +import { RelatedItemsComponent } from '../../../../../../../app/item-page/simple/related-items/related-items-component'; +import { DsoEditMenuComponent } from '../../../../../../../app/shared/dso-page/dso-edit-menu/dso-edit-menu.component'; +import { MetadataFieldWrapperComponent } from '../../../../../../../app/shared/metadata-field-wrapper/metadata-field-wrapper.component'; +import { listableObjectComponent } from '../../../../../../../app/shared/object-collection/shared/listable-object/listable-object.decorator'; +import { ThemedResultsBackButtonComponent } from '../../../../../../../app/shared/results-back-button/themed-results-back-button.component'; +import { ThemedThumbnailComponent } from '../../../../../../../app/thumbnail/themed-thumbnail.component'; + +/** + * Component that represents a publication Item page + */ + +@listableObjectComponent('Publication', ViewMode.StandalonePage, Context.Any, 'custom') +@Component({ + selector: 'ds-publication', + // styleUrls: ['./publication.component.scss'], + styleUrls: ['../../../../../../../app/item-page/simple/item-types/publication/publication.component.scss'], + // templateUrl: './publication.component.html', + templateUrl: '../../../../../../../app/item-page/simple/item-types/publication/publication.component.html', + changeDetection: ChangeDetectionStrategy.OnPush, + standalone: true, + imports: [NgIf, ThemedResultsBackButtonComponent, MiradorViewerComponent, ThemedItemPageTitleFieldComponent, DsoEditMenuComponent, MetadataFieldWrapperComponent, ThemedThumbnailComponent, ThemedMediaViewerComponent, ThemedFileSectionComponent, ItemPageDateFieldComponent, ThemedMetadataRepresentationListComponent, GenericItemPageFieldComponent, RelatedItemsComponent, ItemPageAbstractFieldComponent, ItemPageUriFieldComponent, CollectionsComponent, RouterLink, AsyncPipe, TranslateModule], +}) +export class PublicationComponent extends BaseComponent { + +} diff --git a/src/themes/qmu/app/item-page/simple/item-types/untyped-item/untyped-item.component.html b/src/themes/qmu/app/item-page/simple/item-types/untyped-item/untyped-item.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/item-page/simple/item-types/untyped-item/untyped-item.component.scss b/src/themes/qmu/app/item-page/simple/item-types/untyped-item/untyped-item.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/item-page/simple/item-types/untyped-item/untyped-item.component.ts b/src/themes/qmu/app/item-page/simple/item-types/untyped-item/untyped-item.component.ts new file mode 100644 index 00000000000..6fbb035d2f2 --- /dev/null +++ b/src/themes/qmu/app/item-page/simple/item-types/untyped-item/untyped-item.component.ts @@ -0,0 +1,70 @@ +import { + AsyncPipe, + NgIf, +} from '@angular/common'; +import { + ChangeDetectionStrategy, + Component, +} from '@angular/core'; +import { RouterLink } from '@angular/router'; +import { TranslateModule } from '@ngx-translate/core'; + +import { Context } from '../../../../../../../app/core/shared/context.model'; +import { Item } from '../../../../../../../app/core/shared/item.model'; +import { ViewMode } from '../../../../../../../app/core/shared/view-mode.model'; +import { CollectionsComponent } from '../../../../../../../app/item-page/field-components/collections/collections.component'; +import { ThemedMediaViewerComponent } from '../../../../../../../app/item-page/media-viewer/themed-media-viewer.component'; +import { MiradorViewerComponent } from '../../../../../../../app/item-page/mirador-viewer/mirador-viewer.component'; +import { ThemedFileSectionComponent } from '../../../../../../../app/item-page/simple/field-components/file-section/themed-file-section.component'; +import { ItemPageAbstractFieldComponent } from '../../../../../../../app/item-page/simple/field-components/specific-field/abstract/item-page-abstract-field.component'; +import { ItemPageCcLicenseFieldComponent } from '../../../../../../../app/item-page/simple/field-components/specific-field/cc-license/item-page-cc-license-field.component'; +import { ItemPageDateFieldComponent } from '../../../../../../../app/item-page/simple/field-components/specific-field/date/item-page-date-field.component'; +import { GenericItemPageFieldComponent } from '../../../../../../../app/item-page/simple/field-components/specific-field/generic/generic-item-page-field.component'; +import { ThemedItemPageTitleFieldComponent } from '../../../../../../../app/item-page/simple/field-components/specific-field/title/themed-item-page-field.component'; +import { ItemPageUriFieldComponent } from '../../../../../../../app/item-page/simple/field-components/specific-field/uri/item-page-uri-field.component'; +import { UntypedItemComponent as BaseComponent } from '../../../../../../../app/item-page/simple/item-types/untyped-item/untyped-item.component'; +import { ThemedMetadataRepresentationListComponent } from '../../../../../../../app/item-page/simple/metadata-representation-list/themed-metadata-representation-list.component'; +import { DsoEditMenuComponent } from '../../../../../../../app/shared/dso-page/dso-edit-menu/dso-edit-menu.component'; +import { MetadataFieldWrapperComponent } from '../../../../../../../app/shared/metadata-field-wrapper/metadata-field-wrapper.component'; +import { listableObjectComponent } from '../../../../../../../app/shared/object-collection/shared/listable-object/listable-object.decorator'; +import { ThemedResultsBackButtonComponent } from '../../../../../../../app/shared/results-back-button/themed-results-back-button.component'; +import { ThemedThumbnailComponent } from '../../../../../../../app/thumbnail/themed-thumbnail.component'; + +/** + * Component that represents an untyped Item page + */ +@listableObjectComponent(Item, ViewMode.StandalonePage, Context.Any, 'custom') +@Component({ + selector: 'ds-untyped-item', + // styleUrls: ['./untyped-item.component.scss'], + styleUrls: [ + '../../../../../../../app/item-page/simple/item-types/untyped-item/untyped-item.component.scss', + ], + // templateUrl: './untyped-item.component.html', + templateUrl: + '../../../../../../../app/item-page/simple/item-types/untyped-item/untyped-item.component.html', + changeDetection: ChangeDetectionStrategy.OnPush, + standalone: true, + imports: [ + NgIf, + ThemedResultsBackButtonComponent, + MiradorViewerComponent, + ThemedItemPageTitleFieldComponent, + DsoEditMenuComponent, + MetadataFieldWrapperComponent, + ThemedThumbnailComponent, + ThemedMediaViewerComponent, + ThemedFileSectionComponent, + ItemPageDateFieldComponent, + ThemedMetadataRepresentationListComponent, + GenericItemPageFieldComponent, + ItemPageAbstractFieldComponent, + ItemPageUriFieldComponent, + CollectionsComponent, + RouterLink, + AsyncPipe, + TranslateModule, + ItemPageCcLicenseFieldComponent, + ], +}) +export class UntypedItemComponent extends BaseComponent {} diff --git a/src/themes/qmu/app/item-page/simple/metadata-representation-list/metadata-representation-list.component.html b/src/themes/qmu/app/item-page/simple/metadata-representation-list/metadata-representation-list.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/item-page/simple/metadata-representation-list/metadata-representation-list.component.ts b/src/themes/qmu/app/item-page/simple/metadata-representation-list/metadata-representation-list.component.ts new file mode 100644 index 00000000000..6d2ddb8f1f3 --- /dev/null +++ b/src/themes/qmu/app/item-page/simple/metadata-representation-list/metadata-representation-list.component.ts @@ -0,0 +1,24 @@ +import { + AsyncPipe, + NgFor, + NgIf, +} from '@angular/common'; +import { Component } from '@angular/core'; +import { TranslateModule } from '@ngx-translate/core'; + +import { MetadataRepresentationListComponent as BaseComponent } from '../../../../../../app/item-page/simple/metadata-representation-list/metadata-representation-list.component'; +import { ThemedLoadingComponent } from '../../../../../../app/shared/loading/themed-loading.component'; +import { MetadataFieldWrapperComponent } from '../../../../../../app/shared/metadata-field-wrapper/metadata-field-wrapper.component'; +import { MetadataRepresentationLoaderComponent } from '../../../../../../app/shared/metadata-representation/metadata-representation-loader.component'; +import { VarDirective } from '../../../../../../app/shared/utils/var.directive'; + +@Component({ + selector: 'ds-themed-metadata-representation-list', + // templateUrl: './metadata-representation-list.component.html' + templateUrl: '../../../../../../app/item-page/simple/metadata-representation-list/metadata-representation-list.component.html', + standalone: true, + imports: [MetadataFieldWrapperComponent, NgFor, VarDirective, MetadataRepresentationLoaderComponent, NgIf, ThemedLoadingComponent, AsyncPipe, TranslateModule], +}) +export class MetadataRepresentationListComponent extends BaseComponent { + +} diff --git a/src/themes/qmu/app/login-page/login-page.component.html b/src/themes/qmu/app/login-page/login-page.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/login-page/login-page.component.scss b/src/themes/qmu/app/login-page/login-page.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/login-page/login-page.component.ts b/src/themes/qmu/app/login-page/login-page.component.ts new file mode 100644 index 00000000000..1e7daae653a --- /dev/null +++ b/src/themes/qmu/app/login-page/login-page.component.ts @@ -0,0 +1,20 @@ +import { Component } from '@angular/core'; +import { TranslateModule } from '@ngx-translate/core'; +import { ThemedLogInComponent } from 'src/app/shared/log-in/themed-log-in.component'; + +import { LoginPageComponent as BaseComponent } from '../../../../app/login-page/login-page.component'; + +/** + * This component represents the login page + */ +@Component({ + selector: 'ds-themed-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', + standalone: true, + imports: [ThemedLogInComponent, TranslateModule], +}) +export class LoginPageComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/logout-page/logout-page.component.html b/src/themes/qmu/app/logout-page/logout-page.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/logout-page/logout-page.component.scss b/src/themes/qmu/app/logout-page/logout-page.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/logout-page/logout-page.component.ts b/src/themes/qmu/app/logout-page/logout-page.component.ts new file mode 100644 index 00000000000..97f82c17287 --- /dev/null +++ b/src/themes/qmu/app/logout-page/logout-page.component.ts @@ -0,0 +1,17 @@ +import { Component } from '@angular/core'; +import { TranslateModule } from '@ngx-translate/core'; + +import { LogoutPageComponent as BaseComponent } from '../../../../app/logout-page/logout-page.component'; +import { LogOutComponent } from '../../../../app/shared/log-out/log-out.component'; + +@Component({ + selector: 'ds-themed-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', + standalone: true, + imports: [LogOutComponent, TranslateModule], +}) +export class LogoutPageComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/lookup-by-id/objectnotfound/objectnotfound.component.html b/src/themes/qmu/app/lookup-by-id/objectnotfound/objectnotfound.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/lookup-by-id/objectnotfound/objectnotfound.component.scss b/src/themes/qmu/app/lookup-by-id/objectnotfound/objectnotfound.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/lookup-by-id/objectnotfound/objectnotfound.component.ts b/src/themes/qmu/app/lookup-by-id/objectnotfound/objectnotfound.component.ts new file mode 100644 index 00000000000..ea599d8a61f --- /dev/null +++ b/src/themes/qmu/app/lookup-by-id/objectnotfound/objectnotfound.component.ts @@ -0,0 +1,25 @@ +import { + ChangeDetectionStrategy, + Component, +} from '@angular/core'; +import { RouterLink } from '@angular/router'; +import { TranslateModule } from '@ngx-translate/core'; + +import { ObjectNotFoundComponent as BaseComponent } from '../../../../../app/lookup-by-id/objectnotfound/objectnotfound.component'; + +@Component({ + selector: 'ds-themed-objnotfound', + // styleUrls: ['./objectnotfound.component.scss'], + styleUrls: ['../../../../../app/lookup-by-id/objectnotfound/objectnotfound.component.scss'], + // templateUrl: './objectnotfound.component.html', + templateUrl: '../../../../../app/lookup-by-id/objectnotfound/objectnotfound.component.html', + changeDetection: ChangeDetectionStrategy.Default, + standalone: true, + imports: [RouterLink, TranslateModule], +}) + +/** + * This component representing the `PageNotFound` DSpace page. + */ +export class ObjectNotFoundComponent extends BaseComponent {} + diff --git a/src/themes/qmu/app/my-dspace-page/my-dspace-page.component.html b/src/themes/qmu/app/my-dspace-page/my-dspace-page.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/my-dspace-page/my-dspace-page.component.scss b/src/themes/qmu/app/my-dspace-page/my-dspace-page.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/my-dspace-page/my-dspace-page.component.ts b/src/themes/qmu/app/my-dspace-page/my-dspace-page.component.ts new file mode 100644 index 00000000000..39156a0ac75 --- /dev/null +++ b/src/themes/qmu/app/my-dspace-page/my-dspace-page.component.ts @@ -0,0 +1,51 @@ +import { + AsyncPipe, + NgIf, +} from '@angular/common'; +import { + ChangeDetectionStrategy, + Component, +} from '@angular/core'; + +import { + MyDSpaceConfigurationService, + SEARCH_CONFIG_SERVICE, +} from '../../../../app/my-dspace-page/my-dspace-configuration.service'; +import { MyDSpaceNewSubmissionComponent } from '../../../../app/my-dspace-page/my-dspace-new-submission/my-dspace-new-submission.component'; +import { MyDSpacePageComponent as BaseComponent } from '../../../../app/my-dspace-page/my-dspace-page.component'; +import { MyDspaceQaEventsNotificationsComponent } from '../../../../app/my-dspace-page/my-dspace-qa-events-notifications/my-dspace-qa-events-notifications.component'; +import { SuggestionsNotificationComponent } from '../../../../app/notifications/suggestions-notification/suggestions-notification.component'; +import { pushInOut } from '../../../../app/shared/animations/push'; +import { RoleDirective } from '../../../../app/shared/roles/role.directive'; +import { ThemedSearchComponent } from '../../../../app/shared/search/themed-search.component'; + +/** + * This component represents the whole mydspace page + */ +@Component({ + selector: 'ds-themed-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, + }, + ], + standalone: true, + imports: [ + ThemedSearchComponent, + MyDSpaceNewSubmissionComponent, + AsyncPipe, + RoleDirective, + NgIf, + SuggestionsNotificationComponent, + MyDspaceQaEventsNotificationsComponent, + ], +}) +export class MyDSpacePageComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/navbar/expandable-navbar-section/expandable-navbar-section.component.html b/src/themes/qmu/app/navbar/expandable-navbar-section/expandable-navbar-section.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/navbar/expandable-navbar-section/expandable-navbar-section.component.scss b/src/themes/qmu/app/navbar/expandable-navbar-section/expandable-navbar-section.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/navbar/expandable-navbar-section/expandable-navbar-section.component.ts b/src/themes/qmu/app/navbar/expandable-navbar-section/expandable-navbar-section.component.ts new file mode 100644 index 00000000000..f0e2ebd5029 --- /dev/null +++ b/src/themes/qmu/app/navbar/expandable-navbar-section/expandable-navbar-section.component.ts @@ -0,0 +1,28 @@ +import { + AsyncPipe, + NgComponentOutlet, + NgFor, + NgIf, +} from '@angular/common'; +import { Component } from '@angular/core'; +import { RouterLinkActive } from '@angular/router'; + +import { ExpandableNavbarSectionComponent as BaseComponent } from '../../../../../app/navbar/expandable-navbar-section/expandable-navbar-section.component'; +import { slide } from '../../../../../app/shared/animations/slide'; +import { VarDirective } from '../../../../../app/shared/utils/var.directive'; + +/** + * Represents an expandable section in the navbar + */ +@Component({ + selector: 'ds-themed-expandable-navbar-section', + // templateUrl: './expandable-navbar-section.component.html', + templateUrl: '../../../../../app/navbar/expandable-navbar-section/expandable-navbar-section.component.html', + // styleUrls: ['./expandable-navbar-section.component.scss'], + styleUrls: ['../../../../../app/navbar/expandable-navbar-section/expandable-navbar-section.component.scss'], + animations: [slide], + standalone: true, + imports: [VarDirective, RouterLinkActive, NgComponentOutlet, NgIf, NgFor, AsyncPipe], +}) +export class ExpandableNavbarSectionComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/navbar/navbar.component.html b/src/themes/qmu/app/navbar/navbar.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/navbar/navbar.component.scss b/src/themes/qmu/app/navbar/navbar.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/navbar/navbar.component.ts b/src/themes/qmu/app/navbar/navbar.component.ts new file mode 100644 index 00000000000..9a5ee91b606 --- /dev/null +++ b/src/themes/qmu/app/navbar/navbar.component.ts @@ -0,0 +1,30 @@ +import { + AsyncPipe, + NgClass, + NgComponentOutlet, + NgFor, + NgIf, +} from '@angular/common'; +import { Component } from '@angular/core'; +import { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap'; +import { TranslateModule } from '@ngx-translate/core'; +import { ThemedUserMenuComponent } from 'src/app/shared/auth-nav-menu/user-menu/themed-user-menu.component'; + +import { NavbarComponent as BaseComponent } from '../../../../app/navbar/navbar.component'; +import { slideMobileNav } from '../../../../app/shared/animations/slide'; + +/** + * Component representing the public navbar + */ +@Component({ + selector: 'ds-themed-navbar', + // styleUrls: ['./navbar.component.scss'], + styleUrls: ['../../../../app/navbar/navbar.component.scss'], + // templateUrl: './navbar.component.html', + templateUrl: '../../../../app/navbar/navbar.component.html', + animations: [slideMobileNav], + standalone: true, + imports: [NgbDropdownModule, NgClass, NgIf, ThemedUserMenuComponent, NgFor, NgComponentOutlet, AsyncPipe, TranslateModule], +}) +export class NavbarComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/pagenotfound/pagenotfound.component.html b/src/themes/qmu/app/pagenotfound/pagenotfound.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/pagenotfound/pagenotfound.component.scss b/src/themes/qmu/app/pagenotfound/pagenotfound.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/pagenotfound/pagenotfound.component.ts b/src/themes/qmu/app/pagenotfound/pagenotfound.component.ts new file mode 100644 index 00000000000..f74af21914a --- /dev/null +++ b/src/themes/qmu/app/pagenotfound/pagenotfound.component.ts @@ -0,0 +1,25 @@ +import { + ChangeDetectionStrategy, + Component, +} from '@angular/core'; +import { RouterLink } from '@angular/router'; +import { TranslateModule } from '@ngx-translate/core'; + +import { PageNotFoundComponent as BaseComponent } from '../../../../app/pagenotfound/pagenotfound.component'; + +@Component({ + selector: 'ds-themed-pagenotfound', + // styleUrls: ['./pagenotfound.component.scss'], + styleUrls: ['../../../../app/pagenotfound/pagenotfound.component.scss'], + // templateUrl: './pagenotfound.component.html' + templateUrl: '../../../../app/pagenotfound/pagenotfound.component.html', + changeDetection: ChangeDetectionStrategy.Default, + standalone: true, + imports: [RouterLink, TranslateModule], +}) + +/** + * This component representing the `PageNotFound` DSpace page. + */ +export class PageNotFoundComponent extends BaseComponent {} + diff --git a/src/themes/qmu/app/profile-page/profile-page-metadata-form/profile-page-metadata-form.component.html b/src/themes/qmu/app/profile-page/profile-page-metadata-form/profile-page-metadata-form.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/profile-page/profile-page-metadata-form/profile-page-metadata-form.component.ts b/src/themes/qmu/app/profile-page/profile-page-metadata-form/profile-page-metadata-form.component.ts new file mode 100644 index 00000000000..9a3994172d8 --- /dev/null +++ b/src/themes/qmu/app/profile-page/profile-page-metadata-form/profile-page-metadata-form.component.ts @@ -0,0 +1,18 @@ +import { NgIf } from '@angular/common'; +import { Component } from '@angular/core'; + +import { ProfilePageMetadataFormComponent as BaseComponent } from '../../../../../app/profile-page/profile-page-metadata-form/profile-page-metadata-form.component'; +import { FormComponent } from '../../../../../app/shared/form/form.component'; + +@Component({ + selector: 'ds-themed-profile-page-metadata-form', + templateUrl: '../../../../../app/profile-page/profile-page-metadata-form/profile-page-metadata-form.component.html', + // templateUrl: './profile-page-metadata-form.component.html', + imports: [ + FormComponent, + NgIf, + ], + standalone: true, +}) +export class ProfilePageMetadataFormComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/profile-page/profile-page.component.html b/src/themes/qmu/app/profile-page/profile-page.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/profile-page/profile-page.component.scss b/src/themes/qmu/app/profile-page/profile-page.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/profile-page/profile-page.component.ts b/src/themes/qmu/app/profile-page/profile-page.component.ts new file mode 100644 index 00000000000..74a88fdba63 --- /dev/null +++ b/src/themes/qmu/app/profile-page/profile-page.component.ts @@ -0,0 +1,40 @@ +import { + AsyncPipe, + NgForOf, + NgIf, +} from '@angular/common'; +import { Component } from '@angular/core'; +import { TranslateModule } from '@ngx-translate/core'; + +import { SuggestionsNotificationComponent } from '../../../../app/notifications/suggestions-notification/suggestions-notification.component'; +import { ProfilePageComponent as BaseComponent } from '../../../../app/profile-page/profile-page.component'; +import { ThemedProfilePageMetadataFormComponent } from '../../../../app/profile-page/profile-page-metadata-form/themed-profile-page-metadata-form.component'; +import { ProfilePageResearcherFormComponent } from '../../../../app/profile-page/profile-page-researcher-form/profile-page-researcher-form.component'; +import { ProfilePageSecurityFormComponent } from '../../../../app/profile-page/profile-page-security-form/profile-page-security-form.component'; +import { VarDirective } from '../../../../app/shared/utils/var.directive'; + +@Component({ + selector: 'ds-themed-profile-page', + // styleUrls: ['./profile-page.component.scss'], + styleUrls: ['../../../../app/profile-page/profile-page.component.scss'], + // templateUrl: './profile-page.component.html' + templateUrl: '../../../../app/profile-page/profile-page.component.html', + standalone: true, + imports: [ + ThemedProfilePageMetadataFormComponent, + ProfilePageSecurityFormComponent, + AsyncPipe, + TranslateModule, + ProfilePageResearcherFormComponent, + VarDirective, + NgIf, + NgForOf, + SuggestionsNotificationComponent, + ], +}) +/** + * Component for a user to edit their profile information + */ +export class ProfilePageComponent extends BaseComponent { + +} diff --git a/src/themes/qmu/app/register-email-form/register-email-form.component.html b/src/themes/qmu/app/register-email-form/register-email-form.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/register-email-form/register-email-form.component.ts b/src/themes/qmu/app/register-email-form/register-email-form.component.ts new file mode 100644 index 00000000000..44426c527fd --- /dev/null +++ b/src/themes/qmu/app/register-email-form/register-email-form.component.ts @@ -0,0 +1,24 @@ +import { + AsyncPipe, + NgIf, +} from '@angular/common'; +import { Component } from '@angular/core'; +import { + FormsModule, + ReactiveFormsModule, +} from '@angular/forms'; +import { TranslateModule } from '@ngx-translate/core'; +import { AlertComponent } from 'src/app/shared/alert/alert.component'; +import { GoogleRecaptchaComponent } from 'src/app/shared/google-recaptcha/google-recaptcha.component'; + +import { RegisterEmailFormComponent as BaseComponent } from '../../../../app/register-email-form/register-email-form.component'; + +@Component({ + selector: 'ds-themed-register-email-form', + // templateUrl: './register-email-form.component.html', + templateUrl: '../../../../app/register-email-form/register-email-form.component.html', + standalone: true, + imports: [NgIf, FormsModule, ReactiveFormsModule, AlertComponent, GoogleRecaptchaComponent, AsyncPipe, TranslateModule], +}) +export class RegisterEmailFormComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/register-page/create-profile/create-profile.component.html b/src/themes/qmu/app/register-page/create-profile/create-profile.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/register-page/create-profile/create-profile.component.scss b/src/themes/qmu/app/register-page/create-profile/create-profile.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/register-page/create-profile/create-profile.component.ts b/src/themes/qmu/app/register-page/create-profile/create-profile.component.ts new file mode 100644 index 00000000000..ac2491cc4ee --- /dev/null +++ b/src/themes/qmu/app/register-page/create-profile/create-profile.component.ts @@ -0,0 +1,33 @@ +import { + AsyncPipe, + NgForOf, + NgIf, +} from '@angular/common'; +import { Component } from '@angular/core'; +import { ReactiveFormsModule } from '@angular/forms'; +import { TranslateModule } from '@ngx-translate/core'; + +import { ProfilePageSecurityFormComponent } from '../../../../../app/profile-page/profile-page-security-form/profile-page-security-form.component'; +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-themed-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', + standalone: true, + imports: [ + ProfilePageSecurityFormComponent, + TranslateModule, + NgIf, + AsyncPipe, + ReactiveFormsModule, + NgForOf, + ], +}) +export class CreateProfileComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/register-page/register-email/register-email.component.html b/src/themes/qmu/app/register-page/register-email/register-email.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/register-page/register-email/register-email.component.scss b/src/themes/qmu/app/register-page/register-email/register-email.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/register-page/register-email/register-email.component.ts b/src/themes/qmu/app/register-page/register-email/register-email.component.ts new file mode 100644 index 00000000000..7296e1eebb4 --- /dev/null +++ b/src/themes/qmu/app/register-page/register-email/register-email.component.ts @@ -0,0 +1,21 @@ +import { Component } from '@angular/core'; +import { ThemedRegisterEmailFormComponent } from 'src/app/register-email-form/themed-registry-email-form.component'; + +import { RegisterEmailComponent as BaseComponent } from '../../../../../app/register-page/register-email/register-email.component'; + +@Component({ + selector: 'ds-themed-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', + standalone: true, + imports: [ + ThemedRegisterEmailFormComponent, + ], +}) +/** + * Component responsible the email registration step when registering as a new user + */ +export class RegisterEmailComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/request-copy/deny-request-copy/deny-request-copy.component.html b/src/themes/qmu/app/request-copy/deny-request-copy/deny-request-copy.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/request-copy/deny-request-copy/deny-request-copy.component.scss b/src/themes/qmu/app/request-copy/deny-request-copy/deny-request-copy.component.scss new file mode 100644 index 00000000000..8b137891791 --- /dev/null +++ b/src/themes/qmu/app/request-copy/deny-request-copy/deny-request-copy.component.scss @@ -0,0 +1 @@ + diff --git a/src/themes/qmu/app/request-copy/deny-request-copy/deny-request-copy.component.ts b/src/themes/qmu/app/request-copy/deny-request-copy/deny-request-copy.component.ts new file mode 100644 index 00000000000..f15193dd434 --- /dev/null +++ b/src/themes/qmu/app/request-copy/deny-request-copy/deny-request-copy.component.ts @@ -0,0 +1,24 @@ +import { + AsyncPipe, + NgIf, +} from '@angular/common'; +import { Component } from '@angular/core'; +import { TranslateModule } from '@ngx-translate/core'; +import { DenyRequestCopyComponent as BaseComponent } from 'src/app/request-copy/deny-request-copy/deny-request-copy.component'; + +import { ThemedEmailRequestCopyComponent } from '../../../../../app/request-copy/email-request-copy/themed-email-request-copy.component'; +import { ThemedLoadingComponent } from '../../../../../app/shared/loading/themed-loading.component'; +import { VarDirective } from '../../../../../app/shared/utils/var.directive'; + +@Component({ + selector: 'ds-themed-deny-request-copy', + // styleUrls: ['./deny-request-copy.component.scss'], + styleUrls: [], + // templateUrl: './deny-request-copy.component.html', + templateUrl: './../../../../../app/request-copy/deny-request-copy/deny-request-copy.component.html', + standalone: true, + imports: [VarDirective, NgIf, ThemedEmailRequestCopyComponent, ThemedLoadingComponent, AsyncPipe, TranslateModule], +}) +export class DenyRequestCopyComponent + extends BaseComponent { +} diff --git a/src/themes/qmu/app/request-copy/email-request-copy/email-request-copy.component.html b/src/themes/qmu/app/request-copy/email-request-copy/email-request-copy.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/request-copy/email-request-copy/email-request-copy.component.scss b/src/themes/qmu/app/request-copy/email-request-copy/email-request-copy.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/request-copy/email-request-copy/email-request-copy.component.ts b/src/themes/qmu/app/request-copy/email-request-copy/email-request-copy.component.ts new file mode 100644 index 00000000000..1876b134a26 --- /dev/null +++ b/src/themes/qmu/app/request-copy/email-request-copy/email-request-copy.component.ts @@ -0,0 +1,21 @@ +import { + NgClass, + NgIf, +} from '@angular/common'; +import { Component } from '@angular/core'; +import { FormsModule } from '@angular/forms'; +import { TranslateModule } from '@ngx-translate/core'; +import { EmailRequestCopyComponent as BaseComponent } from 'src/app/request-copy/email-request-copy/email-request-copy.component'; + +@Component({ + selector: 'ds-themed-email-request-copy', + // styleUrls: ['./email-request-copy.component.scss'], + styleUrls: [], + // templateUrl: './email-request-copy.component.html', + templateUrl: './../../../../../app/request-copy/email-request-copy/email-request-copy.component.html', + standalone: true, + imports: [FormsModule, NgClass, NgIf, TranslateModule], +}) +export class EmailRequestCopyComponent + extends BaseComponent { +} diff --git a/src/themes/qmu/app/request-copy/grant-request-copy/grant-request-copy.component.html b/src/themes/qmu/app/request-copy/grant-request-copy/grant-request-copy.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/request-copy/grant-request-copy/grant-request-copy.component.scss b/src/themes/qmu/app/request-copy/grant-request-copy/grant-request-copy.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/request-copy/grant-request-copy/grant-request-copy.component.ts b/src/themes/qmu/app/request-copy/grant-request-copy/grant-request-copy.component.ts new file mode 100644 index 00000000000..b121c09cdbe --- /dev/null +++ b/src/themes/qmu/app/request-copy/grant-request-copy/grant-request-copy.component.ts @@ -0,0 +1,23 @@ +import { + AsyncPipe, + NgIf, +} from '@angular/common'; +import { Component } from '@angular/core'; +import { FormsModule } from '@angular/forms'; +import { TranslateModule } from '@ngx-translate/core'; +import { GrantRequestCopyComponent as BaseComponent } from 'src/app/request-copy/grant-request-copy/grant-request-copy.component'; + +import { ThemedEmailRequestCopyComponent } from '../../../../../app/request-copy/email-request-copy/themed-email-request-copy.component'; +import { ThemedLoadingComponent } from '../../../../../app/shared/loading/themed-loading.component'; +import { VarDirective } from '../../../../../app/shared/utils/var.directive'; + +@Component({ + selector: 'ds-themed-grant-request-copy', + // styleUrls: ['./grant-request-copy.component.scss'], + styleUrls: [], + // templateUrl: './grant-request-copy.component.html', + templateUrl: './../../../../../app/request-copy/grant-request-copy/grant-request-copy.component.html', + standalone: true, + imports: [VarDirective, NgIf, ThemedEmailRequestCopyComponent, FormsModule, ThemedLoadingComponent, AsyncPipe, TranslateModule], +}) +export class GrantRequestCopyComponent extends BaseComponent {} diff --git a/src/themes/qmu/app/root/root.component.html b/src/themes/qmu/app/root/root.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/root/root.component.scss b/src/themes/qmu/app/root/root.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/root/root.component.ts b/src/themes/qmu/app/root/root.component.ts new file mode 100644 index 00000000000..bac434eeb3b --- /dev/null +++ b/src/themes/qmu/app/root/root.component.ts @@ -0,0 +1,45 @@ +import { + AsyncPipe, + NgClass, + NgIf, +} from '@angular/common'; +import { Component } from '@angular/core'; +import { RouterOutlet } from '@angular/router'; +import { TranslateModule } from '@ngx-translate/core'; + +import { ThemedAdminSidebarComponent } from '../../../../app/admin/admin-sidebar/themed-admin-sidebar.component'; +import { ThemedBreadcrumbsComponent } from '../../../../app/breadcrumbs/themed-breadcrumbs.component'; +import { ThemedFooterComponent } from '../../../../app/footer/themed-footer.component'; +import { ThemedHeaderNavbarWrapperComponent } from '../../../../app/header-nav-wrapper/themed-header-navbar-wrapper.component'; +import { RootComponent as BaseComponent } from '../../../../app/root/root.component'; +import { slideSidebarPadding } from '../../../../app/shared/animations/slide'; +import { ThemedLoadingComponent } from '../../../../app/shared/loading/themed-loading.component'; +import { NotificationsBoardComponent } from '../../../../app/shared/notifications/notifications-board/notifications-board.component'; +import { SystemWideAlertBannerComponent } from '../../../../app/system-wide-alert/alert-banner/system-wide-alert-banner.component'; + +@Component({ + selector: 'ds-themed-root', + // styleUrls: ['./root.component.scss'], + styleUrls: ['../../../../app/root/root.component.scss'], + // templateUrl: './root.component.html', + templateUrl: '../../../../app/root/root.component.html', + animations: [slideSidebarPadding], + standalone: true, + imports: [ + TranslateModule, + ThemedAdminSidebarComponent, + SystemWideAlertBannerComponent, + ThemedHeaderNavbarWrapperComponent, + ThemedBreadcrumbsComponent, + NgIf, + NgClass, + ThemedLoadingComponent, + RouterOutlet, + ThemedFooterComponent, + NotificationsBoardComponent, + AsyncPipe, + ], +}) +export class RootComponent extends BaseComponent { + +} diff --git a/src/themes/qmu/app/search-navbar/search-navbar.component.html b/src/themes/qmu/app/search-navbar/search-navbar.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/search-navbar/search-navbar.component.scss b/src/themes/qmu/app/search-navbar/search-navbar.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/search-navbar/search-navbar.component.ts b/src/themes/qmu/app/search-navbar/search-navbar.component.ts new file mode 100644 index 00000000000..59f6bf08a1a --- /dev/null +++ b/src/themes/qmu/app/search-navbar/search-navbar.component.ts @@ -0,0 +1,23 @@ +import { Component } from '@angular/core'; +import { + FormsModule, + ReactiveFormsModule, +} from '@angular/forms'; +import { TranslateModule } from '@ngx-translate/core'; + +import { SearchNavbarComponent as BaseComponent } from '../../../../app/search-navbar/search-navbar.component'; +import { BrowserOnlyPipe } from '../../../../app/shared/utils/browser-only.pipe'; +import { ClickOutsideDirective } from '../../../../app/shared/utils/click-outside.directive'; + +@Component({ + selector: 'ds-themed-search-navbar', + // styleUrls: ['./search-navbar.component.scss'], + styleUrls: ['../../../../app/search-navbar/search-navbar.component.scss'], + // templateUrl: './search-navbar.component.html' + templateUrl: '../../../../app/search-navbar/search-navbar.component.html', + standalone: true, + imports: [ClickOutsideDirective, FormsModule, ReactiveFormsModule, TranslateModule, BrowserOnlyPipe], +}) +export class SearchNavbarComponent extends BaseComponent { + +} diff --git a/src/themes/qmu/app/search-page/configuration-search-page.component.html b/src/themes/qmu/app/search-page/configuration-search-page.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/search-page/configuration-search-page.component.scss b/src/themes/qmu/app/search-page/configuration-search-page.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/search-page/configuration-search-page.component.ts b/src/themes/qmu/app/search-page/configuration-search-page.component.ts new file mode 100644 index 00000000000..8635cd2edbb --- /dev/null +++ b/src/themes/qmu/app/search-page/configuration-search-page.component.ts @@ -0,0 +1,45 @@ +import { + AsyncPipe, + NgIf, + NgTemplateOutlet, +} from '@angular/common'; +import { + ChangeDetectionStrategy, + Component, +} from '@angular/core'; +import { TranslateModule } from '@ngx-translate/core'; + +import { SearchConfigurationService } from '../../../../app/core/shared/search/search-configuration.service'; +import { SEARCH_CONFIG_SERVICE } from '../../../../app/my-dspace-page/my-dspace-configuration.service'; +import { ConfigurationSearchPageComponent as BaseComponent } from '../../../../app/search-page/configuration-search-page.component'; +import { pushInOut } from '../../../../app/shared/animations/push'; +import { SearchLabelsComponent } from '../../../../app/shared/search/search-labels/search-labels.component'; +import { ThemedSearchResultsComponent } from '../../../../app/shared/search/search-results/themed-search-results.component'; +import { ThemedSearchSidebarComponent } from '../../../../app/shared/search/search-sidebar/themed-search-sidebar.component'; +import { ThemedSearchFormComponent } from '../../../../app/shared/search-form/themed-search-form.component'; +import { PageWithSidebarComponent } from '../../../../app/shared/sidebar/page-with-sidebar.component'; +import { ViewModeSwitchComponent } from '../../../../app/shared/view-mode-switch/view-mode-switch.component'; + +@Component({ + selector: 'ds-themed-configuration-search-page', + // styleUrls: ['./configuration-search-page.component.scss'], + styleUrls: ['../../../../app/shared/search/search.component.scss'], + // templateUrl: './configuration-search-page.component.html' + templateUrl: '../../../../app/shared/search/search.component.html', + changeDetection: ChangeDetectionStrategy.OnPush, + animations: [pushInOut], + providers: [ + { + provide: SEARCH_CONFIG_SERVICE, + useClass: SearchConfigurationService, + }, + ], + standalone: true, + imports: [NgIf, NgTemplateOutlet, PageWithSidebarComponent, ViewModeSwitchComponent, ThemedSearchResultsComponent, ThemedSearchSidebarComponent, ThemedSearchFormComponent, SearchLabelsComponent, AsyncPipe, TranslateModule], +}) + +/** + * This component renders a search page using a configuration as input. + */ +export class ConfigurationSearchPageComponent extends BaseComponent {} + diff --git a/src/themes/qmu/app/search-page/search-page.component.html b/src/themes/qmu/app/search-page/search-page.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/search-page/search-page.component.scss b/src/themes/qmu/app/search-page/search-page.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/search-page/search-page.component.ts b/src/themes/qmu/app/search-page/search-page.component.ts new file mode 100644 index 00000000000..2d8093c7541 --- /dev/null +++ b/src/themes/qmu/app/search-page/search-page.component.ts @@ -0,0 +1,27 @@ +import { Component } from '@angular/core'; +import { SEARCH_CONFIG_SERVICE } from 'src/app/my-dspace-page/my-dspace-configuration.service'; + +import { SearchConfigurationService } from '../../../../app/core/shared/search/search-configuration.service'; +import { SearchPageComponent as BaseComponent } from '../../../../app/search-page/search-page.component'; +import { ThemedSearchComponent } from '../../../../app/shared/search/themed-search.component'; + +@Component({ + selector: 'ds-themed-search-page', + // styleUrls: ['./search-page.component.scss'], + // templateUrl: './search-page.component.html' + templateUrl: '../../../../app/search-page/search-page.component.html', + providers: [ + { + provide: SEARCH_CONFIG_SERVICE, + useClass: SearchConfigurationService, + }, + ], + standalone: true, + imports: [ThemedSearchComponent], +}) +/** + * This component represents the whole search page + * It renders search results depending on the current search options + */ +export class SearchPageComponent extends BaseComponent {} + diff --git a/src/themes/qmu/app/shared/auth-nav-menu/auth-nav-menu.component.html b/src/themes/qmu/app/shared/auth-nav-menu/auth-nav-menu.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/auth-nav-menu/auth-nav-menu.component.scss b/src/themes/qmu/app/shared/auth-nav-menu/auth-nav-menu.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/auth-nav-menu/auth-nav-menu.component.ts b/src/themes/qmu/app/shared/auth-nav-menu/auth-nav-menu.component.ts new file mode 100644 index 00000000000..bddca786047 --- /dev/null +++ b/src/themes/qmu/app/shared/auth-nav-menu/auth-nav-menu.component.ts @@ -0,0 +1,37 @@ +import { + AsyncPipe, + NgClass, + NgIf, +} from '@angular/common'; +import { Component } from '@angular/core'; +import { + RouterLink, + RouterLinkActive, +} from '@angular/router'; +import { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap'; +import { TranslateModule } from '@ngx-translate/core'; +import { ThemedUserMenuComponent } from 'src/app/shared/auth-nav-menu/user-menu/themed-user-menu.component'; +import { ThemedLogInComponent } from 'src/app/shared/log-in/themed-log-in.component'; + +import { + fadeInOut, + fadeOut, +} from '../../../../../app/shared/animations/fade'; +import { AuthNavMenuComponent as BaseComponent } from '../../../../../app/shared/auth-nav-menu/auth-nav-menu.component'; +import { BrowserOnlyPipe } from '../../../../../app/shared/utils/browser-only.pipe'; + +/** + * Component representing the {@link AuthNavMenuComponent} of a page + */ +@Component({ + selector: 'ds-themed-auth-nav-menu', + // templateUrl: './auth-nav-menu.component.html', + templateUrl: '../../../../../app/shared/auth-nav-menu/auth-nav-menu.component.html', + // styleUrls: ['./auth-nav-menu.component.scss'], + styleUrls: ['../../../../../app/shared/auth-nav-menu/auth-nav-menu.component.scss'], + animations: [fadeInOut, fadeOut], + standalone: true, + imports: [NgClass, NgIf, NgbDropdownModule, ThemedLogInComponent, RouterLink, RouterLinkActive, ThemedUserMenuComponent, AsyncPipe, TranslateModule, BrowserOnlyPipe], +}) +export class AuthNavMenuComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/shared/auth-nav-menu/user-menu/user-menu.component.html b/src/themes/qmu/app/shared/auth-nav-menu/user-menu/user-menu.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/auth-nav-menu/user-menu/user-menu.component.scss b/src/themes/qmu/app/shared/auth-nav-menu/user-menu/user-menu.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/auth-nav-menu/user-menu/user-menu.component.ts b/src/themes/qmu/app/shared/auth-nav-menu/user-menu/user-menu.component.ts new file mode 100644 index 00000000000..80df6857292 --- /dev/null +++ b/src/themes/qmu/app/shared/auth-nav-menu/user-menu/user-menu.component.ts @@ -0,0 +1,31 @@ +import { + AsyncPipe, + NgClass, + NgIf, +} from '@angular/common'; +import { Component } from '@angular/core'; +import { + RouterLink, + RouterLinkActive, +} from '@angular/router'; +import { TranslateModule } from '@ngx-translate/core'; +import { ThemedLoadingComponent } from 'src/app/shared/loading/themed-loading.component'; +import { LogOutComponent } from 'src/app/shared/log-out/log-out.component'; + +import { UserMenuComponent as BaseComponent } from '../../../../../../app/shared/auth-nav-menu/user-menu/user-menu.component'; + +/** + * Component representing the {@link UserMenuComponent} of a page + */ +@Component({ + selector: 'ds-themed-user-menu', + // templateUrl: 'user-menu.component.html', + templateUrl: '../../../../../../app/shared/auth-nav-menu/user-menu/user-menu.component.html', + // styleUrls: ['user-menu.component.scss'], + styleUrls: ['../../../../../../app/shared/auth-nav-menu/user-menu/user-menu.component.scss'], + standalone: true, + imports: [NgIf, ThemedLoadingComponent, RouterLinkActive, NgClass, RouterLink, LogOutComponent, AsyncPipe, TranslateModule], + +}) +export class UserMenuComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/shared/browse-by/browse-by.component.html b/src/themes/qmu/app/shared/browse-by/browse-by.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/browse-by/browse-by.component.scss b/src/themes/qmu/app/shared/browse-by/browse-by.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/browse-by/browse-by.component.ts b/src/themes/qmu/app/shared/browse-by/browse-by.component.ts new file mode 100644 index 00000000000..34c0bf965a7 --- /dev/null +++ b/src/themes/qmu/app/shared/browse-by/browse-by.component.ts @@ -0,0 +1,36 @@ +import { + AsyncPipe, + NgClass, + NgComponentOutlet, + NgIf, +} from '@angular/common'; +import { Component } from '@angular/core'; +import { TranslateModule } from '@ngx-translate/core'; +import { ErrorComponent } from 'src/app/shared/error/error.component'; +import { ThemedLoadingComponent } from 'src/app/shared/loading/themed-loading.component'; +import { ObjectCollectionComponent } from 'src/app/shared/object-collection/object-collection.component'; +import { ThemedResultsBackButtonComponent } from 'src/app/shared/results-back-button/themed-results-back-button.component'; +import { VarDirective } from 'src/app/shared/utils/var.directive'; + +import { + fadeIn, + fadeInOut, +} from '../../../../../app/shared/animations/fade'; +import { BrowseByComponent as BaseComponent } from '../../../../../app/shared/browse-by/browse-by.component'; +import { StartsWithLoaderComponent } from '../../../../../app/shared/starts-with/starts-with-loader.component'; + +@Component({ + selector: 'ds-themed-browse-by', + // styleUrls: ['./browse-by.component.scss'], + styleUrls: ['../../../../../app/shared/browse-by/browse-by.component.scss'], + // templateUrl: './browse-by.component.html', + templateUrl: '../../../../../app/shared/browse-by/browse-by.component.html', + animations: [ + fadeIn, + fadeInOut, + ], + standalone: true, + imports: [VarDirective, NgClass, NgComponentOutlet, NgIf, ThemedResultsBackButtonComponent, ObjectCollectionComponent, ThemedLoadingComponent, ErrorComponent, AsyncPipe, TranslateModule, StartsWithLoaderComponent], +}) +export class BrowseByComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/shared/collection-dropdown/collection-dropdown.component.html b/src/themes/qmu/app/shared/collection-dropdown/collection-dropdown.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/collection-dropdown/collection-dropdown.component.scss b/src/themes/qmu/app/shared/collection-dropdown/collection-dropdown.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/collection-dropdown/collection-dropdown.component.ts b/src/themes/qmu/app/shared/collection-dropdown/collection-dropdown.component.ts new file mode 100644 index 00000000000..0217a309f66 --- /dev/null +++ b/src/themes/qmu/app/shared/collection-dropdown/collection-dropdown.component.ts @@ -0,0 +1,28 @@ +import { + AsyncPipe, + NgFor, + NgIf, +} from '@angular/common'; +import { Component } from '@angular/core'; +import { + FormsModule, + ReactiveFormsModule, +} from '@angular/forms'; +import { TranslateModule } from '@ngx-translate/core'; +import { InfiniteScrollModule } from 'ngx-infinite-scroll'; + +import { CollectionDropdownComponent as BaseComponent } from '../../../../../app/shared/collection-dropdown/collection-dropdown.component'; +import { ThemedLoadingComponent } from '../../../../../app/shared/loading/themed-loading.component'; + +@Component({ + selector: 'ds-themed-collection-dropdown', + templateUrl: '../../../../../app/shared/collection-dropdown/collection-dropdown.component.html', + // templateUrl: './collection-dropdown.component.html', + styleUrls: ['../../../../../app/shared/collection-dropdown/collection-dropdown.component.scss'], + // styleUrls: ['./collection-dropdown.component.scss'] + standalone: true, + imports: [NgIf, FormsModule, ReactiveFormsModule, InfiniteScrollModule, NgFor, ThemedLoadingComponent, AsyncPipe, TranslateModule], +}) +export class CollectionDropdownComponent extends BaseComponent { + +} diff --git a/src/themes/qmu/app/shared/comcol/comcol-page-browse-by/comcol-page-browse-by.component.html b/src/themes/qmu/app/shared/comcol/comcol-page-browse-by/comcol-page-browse-by.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/comcol/comcol-page-browse-by/comcol-page-browse-by.component.scss b/src/themes/qmu/app/shared/comcol/comcol-page-browse-by/comcol-page-browse-by.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/comcol/comcol-page-browse-by/comcol-page-browse-by.component.ts b/src/themes/qmu/app/shared/comcol/comcol-page-browse-by/comcol-page-browse-by.component.ts new file mode 100644 index 00000000000..9495ae45d56 --- /dev/null +++ b/src/themes/qmu/app/shared/comcol/comcol-page-browse-by/comcol-page-browse-by.component.ts @@ -0,0 +1,34 @@ +import { + AsyncPipe, + NgForOf, + NgIf, +} from '@angular/common'; +import { Component } from '@angular/core'; +import { FormsModule } from '@angular/forms'; +import { + RouterLink, + RouterLinkActive, +} from '@angular/router'; +import { TranslateModule } from '@ngx-translate/core'; + +import { ComcolPageBrowseByComponent as BaseComponent } from '../../../../../../app/shared/comcol/comcol-page-browse-by/comcol-page-browse-by.component'; + +@Component({ + selector: 'ds-themed-comcol-page-browse-by', + // styleUrls: ['./comcol-page-browse-by.component.scss'], + styleUrls: ['../../../../../../app/shared/comcol/comcol-page-browse-by/comcol-page-browse-by.component.scss'], + // templateUrl: './comcol-page-browse-by.component.html' + templateUrl: '../../../../../../app/shared/comcol/comcol-page-browse-by/comcol-page-browse-by.component.html', + standalone: true, + imports: [ + FormsModule, + NgForOf, + RouterLink, + RouterLinkActive, + TranslateModule, + AsyncPipe, + NgIf, + ], +}) +export class ComcolPageBrowseByComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/shared/comcol/comcol-page-content/comcol-page-content.component.html b/src/themes/qmu/app/shared/comcol/comcol-page-content/comcol-page-content.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/comcol/comcol-page-content/comcol-page-content.component.scss b/src/themes/qmu/app/shared/comcol/comcol-page-content/comcol-page-content.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/comcol/comcol-page-content/comcol-page-content.component.ts b/src/themes/qmu/app/shared/comcol/comcol-page-content/comcol-page-content.component.ts new file mode 100644 index 00000000000..1d98892e33d --- /dev/null +++ b/src/themes/qmu/app/shared/comcol/comcol-page-content/comcol-page-content.component.ts @@ -0,0 +1,20 @@ +import { NgIf } from '@angular/common'; +import { Component } from '@angular/core'; +import { TranslateModule } from '@ngx-translate/core'; + +import { ComcolPageContentComponent as BaseComponent } from '../../../../../../app/shared/comcol/comcol-page-content/comcol-page-content.component'; + +@Component({ + selector: 'ds-themed-comcol-page-content', + // styleUrls: ['./comcol-page-content.component.scss'], + styleUrls: ['../../../../../../app/shared/comcol/comcol-page-content/comcol-page-content.component.scss'], + // templateUrl: './comcol-page-content.component.html', + templateUrl: '../../../../../../app/shared/comcol/comcol-page-content/comcol-page-content.component.html', + imports: [ + TranslateModule, + NgIf, + ], + standalone: true, +}) +export class ComcolPageContentComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/shared/comcol/comcol-page-handle/comcol-page-handle.component.html b/src/themes/qmu/app/shared/comcol/comcol-page-handle/comcol-page-handle.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/comcol/comcol-page-handle/comcol-page-handle.component.scss b/src/themes/qmu/app/shared/comcol/comcol-page-handle/comcol-page-handle.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/comcol/comcol-page-handle/comcol-page-handle.component.ts b/src/themes/qmu/app/shared/comcol/comcol-page-handle/comcol-page-handle.component.ts new file mode 100644 index 00000000000..7609879f784 --- /dev/null +++ b/src/themes/qmu/app/shared/comcol/comcol-page-handle/comcol-page-handle.component.ts @@ -0,0 +1,20 @@ +import { NgIf } from '@angular/common'; +import { Component } from '@angular/core'; +import { TranslateModule } from '@ngx-translate/core'; + +import { ComcolPageHandleComponent as BaseComponent } from '../../../../../../app/shared/comcol/comcol-page-handle/comcol-page-handle.component'; + +@Component({ + selector: 'ds-themed-comcol-page-handle', + // templateUrl: './comcol-page-handle.component.html', + templateUrl: '../../../../../../app/shared/comcol/comcol-page-handle/comcol-page-handle.component.html', + // styleUrls: ['./comcol-page-handle.component.scss'], + styleUrls: ['../../../../../../app/shared/comcol/comcol-page-handle/comcol-page-handle.component.scss'], + standalone: true, + imports: [ + NgIf, + TranslateModule, + ], +}) +export class ComcolPageHandleComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/shared/dso-selector/modal-wrappers/create-collection-parent-selector/create-collection-parent-selector.component.html b/src/themes/qmu/app/shared/dso-selector/modal-wrappers/create-collection-parent-selector/create-collection-parent-selector.component.html new file mode 100644 index 00000000000..54044f5d796 --- /dev/null +++ b/src/themes/qmu/app/shared/dso-selector/modal-wrappers/create-collection-parent-selector/create-collection-parent-selector.component.html @@ -0,0 +1,11 @@ +
+ + +
diff --git a/src/themes/qmu/app/shared/dso-selector/modal-wrappers/create-collection-parent-selector/create-collection-parent-selector.component.scss b/src/themes/qmu/app/shared/dso-selector/modal-wrappers/create-collection-parent-selector/create-collection-parent-selector.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/dso-selector/modal-wrappers/create-collection-parent-selector/create-collection-parent-selector.component.ts b/src/themes/qmu/app/shared/dso-selector/modal-wrappers/create-collection-parent-selector/create-collection-parent-selector.component.ts new file mode 100644 index 00000000000..4b7ee16d689 --- /dev/null +++ b/src/themes/qmu/app/shared/dso-selector/modal-wrappers/create-collection-parent-selector/create-collection-parent-selector.component.ts @@ -0,0 +1,17 @@ +import { NgIf } from '@angular/common'; +import { Component } from '@angular/core'; +import { TranslateModule } from '@ngx-translate/core'; + +import { DSOSelectorComponent } from '../../../../../../../app/shared/dso-selector/dso-selector/dso-selector.component'; +import { CreateCollectionParentSelectorComponent as BaseComponent } from '../../../../../../../app/shared/dso-selector/modal-wrappers/create-collection-parent-selector/create-collection-parent-selector.component'; + +@Component({ + selector: 'ds-themed-create-collection-parent-selector', + // styleUrls: ['./create-collection-parent-selector.component.scss'], + // templateUrl: './create-collection-parent-selector.component.html', + templateUrl: '../../../../../../../app/shared/dso-selector/modal-wrappers/dso-selector-modal-wrapper.component.html', + standalone: true, + imports: [NgIf, DSOSelectorComponent, TranslateModule], +}) +export class CreateCollectionParentSelectorComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/shared/dso-selector/modal-wrappers/create-community-parent-selector/create-community-parent-selector.component.html b/src/themes/qmu/app/shared/dso-selector/modal-wrappers/create-community-parent-selector/create-community-parent-selector.component.html new file mode 100644 index 00000000000..a13be638803 --- /dev/null +++ b/src/themes/qmu/app/shared/dso-selector/modal-wrappers/create-community-parent-selector/create-community-parent-selector.component.html @@ -0,0 +1,19 @@ +
+ + +
diff --git a/src/themes/qmu/app/shared/dso-selector/modal-wrappers/create-community-parent-selector/create-community-parent-selector.component.scss b/src/themes/qmu/app/shared/dso-selector/modal-wrappers/create-community-parent-selector/create-community-parent-selector.component.scss new file mode 100644 index 00000000000..0daf4cfa5fc --- /dev/null +++ b/src/themes/qmu/app/shared/dso-selector/modal-wrappers/create-community-parent-selector/create-community-parent-selector.component.scss @@ -0,0 +1,3 @@ +#create-community-or-separator { + top: 0; +} \ No newline at end of file diff --git a/src/themes/qmu/app/shared/dso-selector/modal-wrappers/create-community-parent-selector/create-community-parent-selector.component.ts b/src/themes/qmu/app/shared/dso-selector/modal-wrappers/create-community-parent-selector/create-community-parent-selector.component.ts new file mode 100644 index 00000000000..6c4aa8082c6 --- /dev/null +++ b/src/themes/qmu/app/shared/dso-selector/modal-wrappers/create-community-parent-selector/create-community-parent-selector.component.ts @@ -0,0 +1,17 @@ +import { Component } from '@angular/core'; +import { TranslateModule } from '@ngx-translate/core'; + +import { DSOSelectorComponent } from '../../../../../../../app/shared/dso-selector/dso-selector/dso-selector.component'; +import { CreateCommunityParentSelectorComponent as BaseComponent } from '../../../../../../../app/shared/dso-selector/modal-wrappers/create-community-parent-selector/create-community-parent-selector.component'; + +@Component({ + selector: 'ds-themed-create-community-parent-selector', + // styleUrls: ['./create-community-parent-selector.component.scss'], + styleUrls: ['../../../../../../../app/shared/dso-selector/modal-wrappers/create-community-parent-selector/create-community-parent-selector.component.scss'], + // templateUrl: './create-community-parent-selector.component.html', + templateUrl: '../../../../../../../app/shared/dso-selector/modal-wrappers/create-community-parent-selector/create-community-parent-selector.component.html', + standalone: true, + imports: [DSOSelectorComponent, TranslateModule], +}) +export class CreateCommunityParentSelectorComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/shared/dso-selector/modal-wrappers/create-item-parent-selector/create-item-parent-selector.component.html b/src/themes/qmu/app/shared/dso-selector/modal-wrappers/create-item-parent-selector/create-item-parent-selector.component.html new file mode 100644 index 00000000000..664aef95c01 --- /dev/null +++ b/src/themes/qmu/app/shared/dso-selector/modal-wrappers/create-item-parent-selector/create-item-parent-selector.component.html @@ -0,0 +1,15 @@ +
+ + +
diff --git a/src/themes/qmu/app/shared/dso-selector/modal-wrappers/create-item-parent-selector/create-item-parent-selector.component.scss b/src/themes/qmu/app/shared/dso-selector/modal-wrappers/create-item-parent-selector/create-item-parent-selector.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/dso-selector/modal-wrappers/create-item-parent-selector/create-item-parent-selector.component.ts b/src/themes/qmu/app/shared/dso-selector/modal-wrappers/create-item-parent-selector/create-item-parent-selector.component.ts new file mode 100644 index 00000000000..8b7867e3621 --- /dev/null +++ b/src/themes/qmu/app/shared/dso-selector/modal-wrappers/create-item-parent-selector/create-item-parent-selector.component.ts @@ -0,0 +1,17 @@ +import { NgIf } from '@angular/common'; +import { Component } from '@angular/core'; +import { TranslateModule } from '@ngx-translate/core'; + +import { AuthorizedCollectionSelectorComponent } from '../../../../../../../app/shared/dso-selector/dso-selector/authorized-collection-selector/authorized-collection-selector.component'; +import { CreateItemParentSelectorComponent as BaseComponent } from '../../../../../../../app/shared/dso-selector/modal-wrappers/create-item-parent-selector/create-item-parent-selector.component'; + +@Component({ + selector: 'ds-themed-create-item-parent-selector', + // styleUrls: ['./create-item-parent-selector.component.scss'], + // templateUrl: './create-item-parent-selector.component.html', + templateUrl: '../../../../../../../app/shared/dso-selector/modal-wrappers/create-item-parent-selector/create-item-parent-selector.component.html', + standalone: true, + imports: [NgIf, AuthorizedCollectionSelectorComponent, TranslateModule], +}) +export class CreateItemParentSelectorComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/shared/dso-selector/modal-wrappers/edit-collection-selector/edit-collection-selector.component.html b/src/themes/qmu/app/shared/dso-selector/modal-wrappers/edit-collection-selector/edit-collection-selector.component.html new file mode 100644 index 00000000000..54044f5d796 --- /dev/null +++ b/src/themes/qmu/app/shared/dso-selector/modal-wrappers/edit-collection-selector/edit-collection-selector.component.html @@ -0,0 +1,11 @@ +
+ + +
diff --git a/src/themes/qmu/app/shared/dso-selector/modal-wrappers/edit-collection-selector/edit-collection-selector.component.scss b/src/themes/qmu/app/shared/dso-selector/modal-wrappers/edit-collection-selector/edit-collection-selector.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/dso-selector/modal-wrappers/edit-collection-selector/edit-collection-selector.component.ts b/src/themes/qmu/app/shared/dso-selector/modal-wrappers/edit-collection-selector/edit-collection-selector.component.ts new file mode 100644 index 00000000000..89616d560a6 --- /dev/null +++ b/src/themes/qmu/app/shared/dso-selector/modal-wrappers/edit-collection-selector/edit-collection-selector.component.ts @@ -0,0 +1,17 @@ +import { NgIf } from '@angular/common'; +import { Component } from '@angular/core'; +import { TranslateModule } from '@ngx-translate/core'; + +import { DSOSelectorComponent } from '../../../../../../../app/shared/dso-selector/dso-selector/dso-selector.component'; +import { EditCollectionSelectorComponent as BaseComponent } from '../../../../../../../app/shared/dso-selector/modal-wrappers/edit-collection-selector/edit-collection-selector.component'; + +@Component({ + selector: 'ds-themed-edit-collection-selector', + // styleUrls: ['./edit-collection-selector.component.scss'], + // templateUrl: './edit-collection-selector.component.html', + templateUrl: '../../../../../../../app/shared/dso-selector/modal-wrappers/dso-selector-modal-wrapper.component.html', + standalone: true, + imports: [NgIf, DSOSelectorComponent, TranslateModule], +}) +export class EditCollectionSelectorComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/shared/dso-selector/modal-wrappers/edit-community-selector/edit-community-selector.component.html b/src/themes/qmu/app/shared/dso-selector/modal-wrappers/edit-community-selector/edit-community-selector.component.html new file mode 100644 index 00000000000..54044f5d796 --- /dev/null +++ b/src/themes/qmu/app/shared/dso-selector/modal-wrappers/edit-community-selector/edit-community-selector.component.html @@ -0,0 +1,11 @@ +
+ + +
diff --git a/src/themes/qmu/app/shared/dso-selector/modal-wrappers/edit-community-selector/edit-community-selector.component.scss b/src/themes/qmu/app/shared/dso-selector/modal-wrappers/edit-community-selector/edit-community-selector.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/dso-selector/modal-wrappers/edit-community-selector/edit-community-selector.component.ts b/src/themes/qmu/app/shared/dso-selector/modal-wrappers/edit-community-selector/edit-community-selector.component.ts new file mode 100644 index 00000000000..491a99aae37 --- /dev/null +++ b/src/themes/qmu/app/shared/dso-selector/modal-wrappers/edit-community-selector/edit-community-selector.component.ts @@ -0,0 +1,17 @@ +import { NgIf } from '@angular/common'; +import { Component } from '@angular/core'; +import { TranslateModule } from '@ngx-translate/core'; + +import { DSOSelectorComponent } from '../../../../../../../app/shared/dso-selector/dso-selector/dso-selector.component'; +import { EditCommunitySelectorComponent as BaseComponent } from '../../../../../../../app/shared/dso-selector/modal-wrappers/edit-community-selector/edit-community-selector.component'; + +@Component({ + selector: 'ds-themed-edit-item-selector', + // styleUrls: ['./edit-community-selector.component.scss'], + // templateUrl: './edit-community-selector.component.html', + templateUrl: '../../../../../../../app/shared/dso-selector/modal-wrappers/dso-selector-modal-wrapper.component.html', + standalone: true, + imports: [NgIf, DSOSelectorComponent, TranslateModule], +}) +export class EditCommunitySelectorComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/shared/dso-selector/modal-wrappers/edit-item-selector/edit-item-selector.component.html b/src/themes/qmu/app/shared/dso-selector/modal-wrappers/edit-item-selector/edit-item-selector.component.html new file mode 100644 index 00000000000..85d8797e660 --- /dev/null +++ b/src/themes/qmu/app/shared/dso-selector/modal-wrappers/edit-item-selector/edit-item-selector.component.html @@ -0,0 +1,11 @@ +
+ + +
diff --git a/src/themes/qmu/app/shared/dso-selector/modal-wrappers/edit-item-selector/edit-item-selector.component.scss b/src/themes/qmu/app/shared/dso-selector/modal-wrappers/edit-item-selector/edit-item-selector.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/dso-selector/modal-wrappers/edit-item-selector/edit-item-selector.component.ts b/src/themes/qmu/app/shared/dso-selector/modal-wrappers/edit-item-selector/edit-item-selector.component.ts new file mode 100644 index 00000000000..fa65ffd691e --- /dev/null +++ b/src/themes/qmu/app/shared/dso-selector/modal-wrappers/edit-item-selector/edit-item-selector.component.ts @@ -0,0 +1,17 @@ +import { NgIf } from '@angular/common'; +import { Component } from '@angular/core'; +import { TranslateModule } from '@ngx-translate/core'; +import { EditItemSelectorComponent as BaseComponent } from 'src/app/shared/dso-selector/modal-wrappers/edit-item-selector/edit-item-selector.component'; + +import { DSOSelectorComponent } from '../../../../../../../app/shared/dso-selector/dso-selector/dso-selector.component'; + +@Component({ + selector: 'ds-themed-edit-item-selector', + // styleUrls: ['./edit-item-selector.component.scss'], + // templateUrl: './edit-item-selector.component.html', + templateUrl: '../../../../../../../app/shared/dso-selector/modal-wrappers/dso-selector-modal-wrapper.component.html', + standalone: true, + imports: [NgIf, DSOSelectorComponent, TranslateModule], +}) +export class EditItemSelectorComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/shared/file-download-link/file-download-link.component.html b/src/themes/qmu/app/shared/file-download-link/file-download-link.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/file-download-link/file-download-link.component.scss b/src/themes/qmu/app/shared/file-download-link/file-download-link.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/file-download-link/file-download-link.component.ts b/src/themes/qmu/app/shared/file-download-link/file-download-link.component.ts new file mode 100644 index 00000000000..491d20e79c4 --- /dev/null +++ b/src/themes/qmu/app/shared/file-download-link/file-download-link.component.ts @@ -0,0 +1,23 @@ +import { + AsyncPipe, + NgClass, + NgIf, + NgTemplateOutlet, +} from '@angular/common'; +import { Component } from '@angular/core'; +import { RouterLink } from '@angular/router'; +import { TranslateModule } from '@ngx-translate/core'; + +import { FileDownloadLinkComponent as BaseComponent } from '../../../../../app/shared/file-download-link/file-download-link.component'; + +@Component({ + selector: 'ds-themed-file-download-link', + // templateUrl: './file-download-link.component.html', + templateUrl: '../../../../../app/shared/file-download-link/file-download-link.component.html', + // styleUrls: ['./file-download-link.component.scss'], + styleUrls: ['../../../../../app/shared/file-download-link/file-download-link.component.scss'], + standalone: true, + imports: [RouterLink, NgClass, NgIf, NgTemplateOutlet, AsyncPipe, TranslateModule], +}) +export class FileDownloadLinkComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/dynamic-lookup-relation-external-source-tab.component.html b/src/themes/qmu/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/dynamic-lookup-relation-external-source-tab.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/dynamic-lookup-relation-external-source-tab.component.scss b/src/themes/qmu/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/dynamic-lookup-relation-external-source-tab.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/dynamic-lookup-relation-external-source-tab.component.ts b/src/themes/qmu/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/dynamic-lookup-relation-external-source-tab.component.ts new file mode 100644 index 00000000000..ff1f3d9c5ec --- /dev/null +++ b/src/themes/qmu/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/dynamic-lookup-relation-external-source-tab.component.ts @@ -0,0 +1,53 @@ +import { + AsyncPipe, + NgIf, +} from '@angular/common'; +import { Component } from '@angular/core'; +import { TranslateModule } from '@ngx-translate/core'; + +import { SearchConfigurationService } from '../../../../../../../../../app/core/shared/search/search-configuration.service'; +import { SEARCH_CONFIG_SERVICE } from '../../../../../../../../../app/my-dspace-page/my-dspace-configuration.service'; +import { + fadeIn, + fadeInOut, +} from '../../../../../../../../../app/shared/animations/fade'; +import { ErrorComponent } from '../../../../../../../../../app/shared/error/error.component'; +import { DsDynamicLookupRelationExternalSourceTabComponent as BaseComponent } from '../../../../../../../../../app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/dynamic-lookup-relation-external-source-tab.component'; +import { ThemedLoadingComponent } from '../../../../../../../../../app/shared/loading/themed-loading.component'; +import { ObjectCollectionComponent } from '../../../../../../../../../app/shared/object-collection/object-collection.component'; +import { PageSizeSelectorComponent } from '../../../../../../../../../app/shared/page-size-selector/page-size-selector.component'; +import { ThemedSearchFormComponent } from '../../../../../../../../../app/shared/search-form/themed-search-form.component'; +import { VarDirective } from '../../../../../../../../../app/shared/utils/var.directive'; + +@Component({ + selector: 'ds-themed-dynamic-lookup-relation-external-source-tab', + // styleUrls: ['./dynamic-lookup-relation-external-source-tab.component.scss'], + styleUrls: ['../../../../../../../../../app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/dynamic-lookup-relation-external-source-tab.component.scss'], + // templateUrl: './dynamic-lookup-relation-external-source-tab.component.html', + templateUrl: '../../../../../../../../../app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/dynamic-lookup-relation-external-source-tab.component.html', + providers: [ + { + provide: SEARCH_CONFIG_SERVICE, + useClass: SearchConfigurationService, + }, + ], + animations: [ + fadeIn, + fadeInOut, + ], + standalone: true, + imports: [ + ThemedSearchFormComponent, + PageSizeSelectorComponent, + ObjectCollectionComponent, + VarDirective, + AsyncPipe, + TranslateModule, + ErrorComponent, + NgIf, + ThemedLoadingComponent, + ], +}) +export class DsDynamicLookupRelationExternalSourceTabComponent extends BaseComponent { + +} diff --git a/src/themes/qmu/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/external-source-entry-import-modal/external-source-entry-import-modal.component.html b/src/themes/qmu/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/external-source-entry-import-modal/external-source-entry-import-modal.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/external-source-entry-import-modal/external-source-entry-import-modal.component.scss b/src/themes/qmu/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/external-source-entry-import-modal/external-source-entry-import-modal.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/external-source-entry-import-modal/external-source-entry-import-modal.component.ts b/src/themes/qmu/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/external-source-entry-import-modal/external-source-entry-import-modal.component.ts new file mode 100644 index 00000000000..424adb79429 --- /dev/null +++ b/src/themes/qmu/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/external-source-entry-import-modal/external-source-entry-import-modal.component.ts @@ -0,0 +1,26 @@ +import { + AsyncPipe, + NgIf, +} from '@angular/common'; +import { Component } from '@angular/core'; +import { TranslateModule } from '@ngx-translate/core'; + +import { ExternalSourceEntryImportModalComponent as BaseComponent } from '../../../../../../../../../../app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/external-source-entry-import-modal/external-source-entry-import-modal.component'; +import { ThemedSearchResultsComponent } from '../../../../../../../../../../app/shared/search/search-results/themed-search-results.component'; + +@Component({ + selector: 'ds-themed-external-source-entry-import-modal', + styleUrls: ['../../../../../../../../../../app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/external-source-entry-import-modal/external-source-entry-import-modal.component.scss'], + // styleUrls: ['./external-source-entry-import-modal.component.scss'], + templateUrl: '../../../../../../../../../../app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/external-source-entry-import-modal/external-source-entry-import-modal.component.html', + standalone: true, + imports: [ + TranslateModule, + ThemedSearchResultsComponent, + NgIf, + AsyncPipe, + ], +}) +export class ExternalSourceEntryImportModalComponent extends BaseComponent { + +} diff --git a/src/themes/qmu/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/dynamic-lookup-relation-search-tab.component.html b/src/themes/qmu/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/dynamic-lookup-relation-search-tab.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/dynamic-lookup-relation-search-tab.component.scss b/src/themes/qmu/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/dynamic-lookup-relation-search-tab.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/dynamic-lookup-relation-search-tab.component.ts b/src/themes/qmu/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/dynamic-lookup-relation-search-tab.component.ts new file mode 100644 index 00000000000..3843c95811b --- /dev/null +++ b/src/themes/qmu/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/dynamic-lookup-relation-search-tab.component.ts @@ -0,0 +1,39 @@ +import { + AsyncPipe, + NgIf, +} from '@angular/common'; +import { Component } from '@angular/core'; +import { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap'; +import { TranslateModule } from '@ngx-translate/core'; + +import { SearchConfigurationService } from '../../../../../../../../../app/core/shared/search/search-configuration.service'; +import { SEARCH_CONFIG_SERVICE } from '../../../../../../../../../app/my-dspace-page/my-dspace-configuration.service'; +import { DsDynamicLookupRelationSearchTabComponent as BaseComponent } from '../../../../../../../../../app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/dynamic-lookup-relation-search-tab.component'; +import { ThemedSearchComponent } from '../../../../../../../../../app/shared/search/themed-search.component'; +import { VarDirective } from '../../../../../../../../../app/shared/utils/var.directive'; + +@Component({ + selector: 'ds-themed-dynamic-lookup-relation-search-tab', + // styleUrls: ['./dynamic-lookup-relation-search-tab.component.scss'], + styleUrls: ['../../../../../../../../../app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/dynamic-lookup-relation-search-tab.component.scss'], + // templateUrl: './dynamic-lookup-relation-search-tab.component.html', + templateUrl: '../../../../../../../../../app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/dynamic-lookup-relation-search-tab.component.html', + providers: [ + { + provide: SEARCH_CONFIG_SERVICE, + useClass: SearchConfigurationService, + }, + ], + standalone: true, + imports: [ + AsyncPipe, + VarDirective, + TranslateModule, + NgbDropdownModule, + NgIf, + ThemedSearchComponent, + ], +}) +export class DsDynamicLookupRelationSearchTabComponent extends BaseComponent { + +} diff --git a/src/themes/qmu/app/shared/lang-switch/lang-switch.component.html b/src/themes/qmu/app/shared/lang-switch/lang-switch.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/lang-switch/lang-switch.component.scss b/src/themes/qmu/app/shared/lang-switch/lang-switch.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/lang-switch/lang-switch.component.ts b/src/themes/qmu/app/shared/lang-switch/lang-switch.component.ts new file mode 100644 index 00000000000..ce9c192723c --- /dev/null +++ b/src/themes/qmu/app/shared/lang-switch/lang-switch.component.ts @@ -0,0 +1,21 @@ +import { + NgFor, + NgIf, +} from '@angular/common'; +import { Component } from '@angular/core'; +import { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap'; +import { TranslateModule } from '@ngx-translate/core'; + +import { LangSwitchComponent as BaseComponent } from '../../../../../app/shared/lang-switch/lang-switch.component'; + +@Component({ + selector: 'ds-themed-lang-switch', + // styleUrls: ['./lang-switch.component.scss'], + styleUrls: ['../../../../../app/shared/lang-switch/lang-switch.component.scss'], + // templateUrl: './lang-switch.component.html', + templateUrl: '../../../../../app/shared/lang-switch/lang-switch.component.html', + standalone: true, + imports: [NgIf, NgbDropdownModule, NgFor, TranslateModule], +}) +export class LangSwitchComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/shared/loading/loading.component.html b/src/themes/qmu/app/shared/loading/loading.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/loading/loading.component.scss b/src/themes/qmu/app/shared/loading/loading.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/loading/loading.component.ts b/src/themes/qmu/app/shared/loading/loading.component.ts new file mode 100644 index 00000000000..891381e77ed --- /dev/null +++ b/src/themes/qmu/app/shared/loading/loading.component.ts @@ -0,0 +1,17 @@ +import { NgIf } from '@angular/common'; +import { Component } from '@angular/core'; + +import { LoadingComponent as BaseComponent } from '../../../../../app/shared/loading/loading.component'; + +@Component({ + selector: 'ds-themed-loading', + styleUrls: ['../../../../../app/shared/loading/loading.component.scss'], + // styleUrls: ['./loading.component.scss'], + templateUrl: '../../../../../app/shared/loading/loading.component.html', + // templateUrl: './loading.component.html' + standalone: true, + imports: [NgIf], +}) +export class LoadingComponent extends BaseComponent { + +} diff --git a/src/themes/qmu/app/shared/log-in/log-in.component.html b/src/themes/qmu/app/shared/log-in/log-in.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/log-in/log-in.component.scss b/src/themes/qmu/app/shared/log-in/log-in.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/log-in/log-in.component.ts b/src/themes/qmu/app/shared/log-in/log-in.component.ts new file mode 100644 index 00000000000..1af55058355 --- /dev/null +++ b/src/themes/qmu/app/shared/log-in/log-in.component.ts @@ -0,0 +1,22 @@ +import { + AsyncPipe, + NgFor, + NgIf, +} from '@angular/common'; +import { Component } from '@angular/core'; +import { ThemedLoadingComponent } from 'src/app/shared/loading/themed-loading.component'; +import { LogInContainerComponent } from 'src/app/shared/log-in/container/log-in-container.component'; + +import { LogInComponent as BaseComponent } from '../../../../../app/shared/log-in/log-in.component'; + +@Component({ + selector: 'ds-themed-log-in', + // templateUrl: './log-in.component.html', + templateUrl: '../../../../../app/shared/log-in/log-in.component.html', + // styleUrls: ['./log-in.component.scss'], + styleUrls: ['../../../../../app/shared/log-in/log-in.component.scss'], + standalone: true, + imports: [NgIf, ThemedLoadingComponent, NgFor, LogInContainerComponent, AsyncPipe], +}) +export class LogInComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/shared/object-collection/shared/badges/access-status-badge/access-status-badge.component.html b/src/themes/qmu/app/shared/object-collection/shared/badges/access-status-badge/access-status-badge.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/object-collection/shared/badges/access-status-badge/access-status-badge.component.scss b/src/themes/qmu/app/shared/object-collection/shared/badges/access-status-badge/access-status-badge.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/object-collection/shared/badges/access-status-badge/access-status-badge.component.ts b/src/themes/qmu/app/shared/object-collection/shared/badges/access-status-badge/access-status-badge.component.ts new file mode 100644 index 00000000000..24e0006b884 --- /dev/null +++ b/src/themes/qmu/app/shared/object-collection/shared/badges/access-status-badge/access-status-badge.component.ts @@ -0,0 +1,18 @@ +import { + AsyncPipe, + NgIf, +} from '@angular/common'; +import { Component } from '@angular/core'; +import { TranslateModule } from '@ngx-translate/core'; +import { AccessStatusBadgeComponent as BaseComponent } from 'src/app/shared/object-collection/shared/badges/access-status-badge/access-status-badge.component'; + +@Component({ + selector: 'ds-themed-access-status-badge', + // styleUrls: ['./access-status-badge.component.scss'], + // templateUrl: './access-status-badge.component.html', + templateUrl: '../../../../../../../../app/shared/object-collection/shared/badges/access-status-badge/access-status-badge.component.html', + standalone: true, + imports: [NgIf, AsyncPipe, TranslateModule], +}) +export class AccessStatusBadgeComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/shared/object-collection/shared/badges/badges.component.html b/src/themes/qmu/app/shared/object-collection/shared/badges/badges.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/object-collection/shared/badges/badges.component.scss b/src/themes/qmu/app/shared/object-collection/shared/badges/badges.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/object-collection/shared/badges/badges.component.ts b/src/themes/qmu/app/shared/object-collection/shared/badges/badges.component.ts new file mode 100644 index 00000000000..f374a9707cb --- /dev/null +++ b/src/themes/qmu/app/shared/object-collection/shared/badges/badges.component.ts @@ -0,0 +1,20 @@ +import { NgIf } from '@angular/common'; +import { Component } from '@angular/core'; +import { BadgesComponent as BaseComponent } from 'src/app/shared/object-collection/shared/badges/badges.component'; + +import { ThemedAccessStatusBadgeComponent } from '../../../../../../../app/shared/object-collection/shared/badges/access-status-badge/themed-access-status-badge.component'; +import { ThemedMyDSpaceStatusBadgeComponent } from '../../../../../../../app/shared/object-collection/shared/badges/my-dspace-status-badge/themed-my-dspace-status-badge.component'; +import { ThemedStatusBadgeComponent } from '../../../../../../../app/shared/object-collection/shared/badges/status-badge/themed-status-badge.component'; +import { ThemedTypeBadgeComponent } from '../../../../../../../app/shared/object-collection/shared/badges/type-badge/themed-type-badge.component'; + +@Component({ + selector: 'ds-themed-badges', + // styleUrls: ['./badges.component.scss'], + styleUrls: ['../../../../../../../app/shared/object-collection/shared/badges/badges.component.scss'], + // templateUrl: './badges.component.html', + templateUrl: '../../../../../../../app/shared/object-collection/shared/badges/badges.component.html', + standalone: true, + imports: [ThemedStatusBadgeComponent, NgIf, ThemedMyDSpaceStatusBadgeComponent, ThemedTypeBadgeComponent, ThemedAccessStatusBadgeComponent], +}) +export class BadgesComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/shared/object-collection/shared/badges/my-dspace-status-badge/my-dspace-status-badge.component.html b/src/themes/qmu/app/shared/object-collection/shared/badges/my-dspace-status-badge/my-dspace-status-badge.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/object-collection/shared/badges/my-dspace-status-badge/my-dspace-status-badge.component.scss b/src/themes/qmu/app/shared/object-collection/shared/badges/my-dspace-status-badge/my-dspace-status-badge.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/object-collection/shared/badges/my-dspace-status-badge/my-dspace-status-badge.component.ts b/src/themes/qmu/app/shared/object-collection/shared/badges/my-dspace-status-badge/my-dspace-status-badge.component.ts new file mode 100644 index 00000000000..428f51711b9 --- /dev/null +++ b/src/themes/qmu/app/shared/object-collection/shared/badges/my-dspace-status-badge/my-dspace-status-badge.component.ts @@ -0,0 +1,15 @@ +import { Component } from '@angular/core'; +import { TranslateModule } from '@ngx-translate/core'; +import { MyDSpaceStatusBadgeComponent as BaseComponent } from 'src/app/shared/object-collection/shared/badges/my-dspace-status-badge/my-dspace-status-badge.component'; + +@Component({ + selector: 'ds-themed-my-dspace-status-badge', + // styleUrls: ['./my-dspace-status-badge.component.scss'], + styleUrls: ['../../../../../../../../app/shared/object-collection/shared/badges/my-dspace-status-badge/my-dspace-status-badge.component.scss'], + // templateUrl: './my-dspace-status-badge.component.html', + templateUrl: '../../../../../../../../app/shared/object-collection/shared/badges/my-dspace-status-badge/my-dspace-status-badge.component.html', + standalone: true, + imports: [TranslateModule], +}) +export class MyDSpaceStatusBadgeComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/shared/object-collection/shared/badges/status-badge/status-badge.component.html b/src/themes/qmu/app/shared/object-collection/shared/badges/status-badge/status-badge.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/object-collection/shared/badges/status-badge/status-badge.component.scss b/src/themes/qmu/app/shared/object-collection/shared/badges/status-badge/status-badge.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/object-collection/shared/badges/status-badge/status-badge.component.ts b/src/themes/qmu/app/shared/object-collection/shared/badges/status-badge/status-badge.component.ts new file mode 100644 index 00000000000..c39b0849ba3 --- /dev/null +++ b/src/themes/qmu/app/shared/object-collection/shared/badges/status-badge/status-badge.component.ts @@ -0,0 +1,15 @@ +import { NgIf } from '@angular/common'; +import { Component } from '@angular/core'; +import { TranslateModule } from '@ngx-translate/core'; +import { StatusBadgeComponent as BaseComponent } from 'src/app/shared/object-collection/shared/badges/status-badge/status-badge.component'; + +@Component({ + selector: 'ds-themed-status-badge', + // styleUrls: ['./status-badge.component.scss'], + // templateUrl: './status-badge.component.html', + templateUrl: '../../../../../../../../app/shared/object-collection/shared/badges/status-badge/status-badge.component.html', + standalone: true, + imports: [NgIf, TranslateModule], +}) +export class StatusBadgeComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/shared/object-collection/shared/badges/type-badge/type-badge.component.html b/src/themes/qmu/app/shared/object-collection/shared/badges/type-badge/type-badge.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/object-collection/shared/badges/type-badge/type-badge.component.scss b/src/themes/qmu/app/shared/object-collection/shared/badges/type-badge/type-badge.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/object-collection/shared/badges/type-badge/type-badge.component.ts b/src/themes/qmu/app/shared/object-collection/shared/badges/type-badge/type-badge.component.ts new file mode 100644 index 00000000000..5f7d87f7066 --- /dev/null +++ b/src/themes/qmu/app/shared/object-collection/shared/badges/type-badge/type-badge.component.ts @@ -0,0 +1,15 @@ +import { NgIf } from '@angular/common'; +import { Component } from '@angular/core'; +import { TranslateModule } from '@ngx-translate/core'; +import { TypeBadgeComponent as BaseComponent } from 'src/app/shared/object-collection/shared/badges/type-badge/type-badge.component'; + +@Component({ + selector: 'ds-themed-type-badge', + // styleUrls: ['./type-badge.component.scss'], + // templateUrl: './type-badge.component.html', + templateUrl: '../../../../../../../../app/shared/object-collection/shared/badges/type-badge/type-badge.component.html', + standalone: true, + imports: [NgIf, TranslateModule], +}) +export class TypeBadgeComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview-field/item-detail-preview-field.component.html b/src/themes/qmu/app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview-field/item-detail-preview-field.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview-field/item-detail-preview-field.component.ts b/src/themes/qmu/app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview-field/item-detail-preview-field.component.ts new file mode 100644 index 00000000000..241ac0289ae --- /dev/null +++ b/src/themes/qmu/app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview-field/item-detail-preview-field.component.ts @@ -0,0 +1,24 @@ +import { + NgFor, + NgIf, +} from '@angular/common'; +import { Component } from '@angular/core'; +import { TranslateModule } from '@ngx-translate/core'; + +import { MetadataFieldWrapperComponent } from '../../../../../../../../app/shared/metadata-field-wrapper/metadata-field-wrapper.component'; +import { ItemDetailPreviewFieldComponent as BaseComponent } from '../../../../../../../../app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview-field/item-detail-preview-field.component'; + +@Component({ + selector: 'ds-themed-item-detail-preview-field', + // templateUrl: './item-detail-preview-field.component.html', + templateUrl: '../../../../../../../../app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview-field/item-detail-preview-field.component.html', + standalone: true, + imports: [ + MetadataFieldWrapperComponent, + NgFor, + NgIf, + TranslateModule, + ], +}) +export class ItemDetailPreviewFieldComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/shared/object-list/browse-entry-list-element/browse-entry-list-element.component.html b/src/themes/qmu/app/shared/object-list/browse-entry-list-element/browse-entry-list-element.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/object-list/browse-entry-list-element/browse-entry-list-element.component.scss b/src/themes/qmu/app/shared/object-list/browse-entry-list-element/browse-entry-list-element.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/object-list/browse-entry-list-element/browse-entry-list-element.component.ts b/src/themes/qmu/app/shared/object-list/browse-entry-list-element/browse-entry-list-element.component.ts new file mode 100644 index 00000000000..5391c516243 --- /dev/null +++ b/src/themes/qmu/app/shared/object-list/browse-entry-list-element/browse-entry-list-element.component.ts @@ -0,0 +1,25 @@ +import { + AsyncPipe, + NgIf, +} from '@angular/common'; +import { Component } from '@angular/core'; +import { RouterLink } from '@angular/router'; + +import { BrowseEntry } from '../../../../../../app/core/shared/browse-entry.model'; +import { Context } from '../../../../../../app/core/shared/context.model'; +import { ViewMode } from '../../../../../../app/core/shared/view-mode.model'; +import { listableObjectComponent } from '../../../../../../app/shared/object-collection/shared/listable-object/listable-object.decorator'; +import { BrowseEntryListElementComponent as BaseComponent } from '../../../../../../app/shared/object-list/browse-entry-list-element/browse-entry-list-element.component'; + +@Component({ + selector: 'ds-browse-entry-list-element', + // styleUrls: ['./browse-entry-list-element.component.scss'], + styleUrls: ['../../../../../../app/shared/object-list/browse-entry-list-element/browse-entry-list-element.component.scss'], + // templateUrl: './browse-entry-list-element.component.html', + templateUrl: '../../../../../../app/shared/object-list/browse-entry-list-element/browse-entry-list-element.component.html', + standalone: true, + imports: [NgIf, RouterLink, AsyncPipe], +}) +@listableObjectComponent(BrowseEntry, ViewMode.ListElement, Context.Any, 'custom') +export class BrowseEntryListElementComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/shared/object-list/collection-list-element/collection-list-element.component.scss b/src/themes/qmu/app/shared/object-list/collection-list-element/collection-list-element.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/object-list/collection-list-element/collection-list-element.component.ts b/src/themes/qmu/app/shared/object-list/collection-list-element/collection-list-element.component.ts new file mode 100644 index 00000000000..d7db69198b7 --- /dev/null +++ b/src/themes/qmu/app/shared/object-list/collection-list-element/collection-list-element.component.ts @@ -0,0 +1,27 @@ +import { NgIf } from '@angular/common'; +import { Component } from '@angular/core'; +import { RouterLink } from '@angular/router'; + +import { Collection } from '../../../../../../app/core/shared/collection.model'; +import { Context } from '../../../../../../app/core/shared/context.model'; +import { ViewMode } from '../../../../../../app/core/shared/view-mode.model'; +import { listableObjectComponent } from '../../../../../../app/shared/object-collection/shared/listable-object/listable-object.decorator'; +import { CollectionListElementComponent as BaseComponent } from '../../../../../../app/shared/object-list/collection-list-element/collection-list-element.component'; + +@listableObjectComponent(Collection, ViewMode.ListElement, Context.Any, 'custom') + +@Component({ + selector: 'ds-collection-list-element', + // styleUrls: ['./collection-list-element.component.scss'], + styleUrls: ['../../../../../../app/shared/object-list/collection-list-element/collection-list-element.component.scss'], + // templateUrl: './collection-list-element.component.html' + templateUrl: '../../../../../../app/shared/object-list/collection-list-element/collection-list-element.component.html', + standalone: true, + imports: [NgIf, RouterLink], +}) +/** + * Component representing list element for a collection + */ +export class CollectionListElementComponent extends BaseComponent {} + + diff --git a/src/themes/qmu/app/shared/object-list/community-list-element/community-list-element.component.html b/src/themes/qmu/app/shared/object-list/community-list-element/community-list-element.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/object-list/community-list-element/community-list-element.component.scss b/src/themes/qmu/app/shared/object-list/community-list-element/community-list-element.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/object-list/community-list-element/community-list-element.component.ts b/src/themes/qmu/app/shared/object-list/community-list-element/community-list-element.component.ts new file mode 100644 index 00000000000..50f24ae91ae --- /dev/null +++ b/src/themes/qmu/app/shared/object-list/community-list-element/community-list-element.component.ts @@ -0,0 +1,25 @@ +import { NgIf } from '@angular/common'; +import { Component } from '@angular/core'; +import { RouterLink } from '@angular/router'; + +import { Community } from '../../../../../../app/core/shared/community.model'; +import { Context } from '../../../../../../app/core/shared/context.model'; +import { ViewMode } from '../../../../../../app/core/shared/view-mode.model'; +import { listableObjectComponent } from '../../../../../../app/shared/object-collection/shared/listable-object/listable-object.decorator'; +import { CommunityListElementComponent as BaseComponent } from '../../../../../../app/shared/object-list/community-list-element/community-list-element.component'; + +@listableObjectComponent(Community, ViewMode.ListElement, Context.Any, 'custom') + +@Component({ + selector: 'ds-community-list-element', + // styleUrls: ['./community-list-element.component.scss'], + styleUrls: ['../../../../../../app/shared/object-list/community-list-element/community-list-element.component.scss'], + // templateUrl: './community-list-element.component.html' + templateUrl: '../../../../../../app/shared/object-list/community-list-element/community-list-element.component.html', + standalone: true, + imports: [NgIf, RouterLink], +}) +/** + * Component representing a list element for a community + */ +export class CommunityListElementComponent extends BaseComponent {} diff --git a/src/themes/qmu/app/shared/object-list/my-dspace-result-list-element/item-list-preview/item-list-preview.component.html b/src/themes/qmu/app/shared/object-list/my-dspace-result-list-element/item-list-preview/item-list-preview.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/object-list/my-dspace-result-list-element/item-list-preview/item-list-preview.component.scss b/src/themes/qmu/app/shared/object-list/my-dspace-result-list-element/item-list-preview/item-list-preview.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/object-list/my-dspace-result-list-element/item-list-preview/item-list-preview.component.ts b/src/themes/qmu/app/shared/object-list/my-dspace-result-list-element/item-list-preview/item-list-preview.component.ts new file mode 100644 index 00000000000..54634fd952a --- /dev/null +++ b/src/themes/qmu/app/shared/object-list/my-dspace-result-list-element/item-list-preview/item-list-preview.component.ts @@ -0,0 +1,42 @@ +import { + AsyncPipe, + NgClass, + NgFor, + NgIf, +} from '@angular/common'; +import { Component } from '@angular/core'; +import { TranslateModule } from '@ngx-translate/core'; + +import { fadeInOut } from '../../../../../../../app/shared/animations/fade'; +import { ThemedBadgesComponent } from '../../../../../../../app/shared/object-collection/shared/badges/themed-badges.component'; +import { ItemCollectionComponent } from '../../../../../../../app/shared/object-collection/shared/mydspace-item-collection/item-collection.component'; +import { ItemSubmitterComponent } from '../../../../../../../app/shared/object-collection/shared/mydspace-item-submitter/item-submitter.component'; +import { ItemListPreviewComponent as BaseComponent } from '../../../../../../../app/shared/object-list/my-dspace-result-list-element/item-list-preview/item-list-preview.component'; +import { TruncatableComponent } from '../../../../../../../app/shared/truncatable/truncatable.component'; +import { TruncatablePartComponent } from '../../../../../../../app/shared/truncatable/truncatable-part/truncatable-part.component'; +import { ThemedThumbnailComponent } from '../../../../../../../app/thumbnail/themed-thumbnail.component'; + +@Component({ + selector: 'ds-themed-item-list-preview', + // styleUrls: ['./item-list-preview.component.scss'], + styleUrls: ['../../../../../../../app/shared/object-list/my-dspace-result-list-element/item-list-preview/item-list-preview.component.scss'], + // templateUrl: './item-list-preview.component.html', + templateUrl: '../../../../../../../app/shared/object-list/my-dspace-result-list-element/item-list-preview/item-list-preview.component.html', + animations: [fadeInOut], + standalone: true, + imports: [ + AsyncPipe, + ItemCollectionComponent, + ItemSubmitterComponent, + NgClass, + NgFor, + NgIf, + ThemedBadgesComponent, + ThemedThumbnailComponent, + TranslateModule, + TruncatableComponent, + TruncatablePartComponent, + ], +}) +export class ItemListPreviewComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/shared/object-list/object-list.component.html b/src/themes/qmu/app/shared/object-list/object-list.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/object-list/object-list.component.scss b/src/themes/qmu/app/shared/object-list/object-list.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/object-list/object-list.component.ts b/src/themes/qmu/app/shared/object-list/object-list.component.ts new file mode 100644 index 00000000000..f94c31aeb04 --- /dev/null +++ b/src/themes/qmu/app/shared/object-list/object-list.component.ts @@ -0,0 +1,29 @@ +import { + NgClass, + NgFor, + NgIf, +} from '@angular/common'; +import { Component } from '@angular/core'; + +import { ImportableListItemControlComponent } from '../../../../../app/shared/object-collection/shared/importable-list-item-control/importable-list-item-control.component'; +import { ListableObjectComponentLoaderComponent } from '../../../../../app/shared/object-collection/shared/listable-object/listable-object-component-loader.component'; +import { SelectableListItemControlComponent } from '../../../../../app/shared/object-collection/shared/selectable-list-item-control/selectable-list-item-control.component'; +import { ObjectListComponent as BaseComponent } from '../../../../../app/shared/object-list/object-list.component'; +import { PaginationComponent } from '../../../../../app/shared/pagination/pagination.component'; +import { BrowserOnlyPipe } from '../../../../../app/shared/utils/browser-only.pipe'; + +/** + * A component to display the "Browse By" section of a Community or Collection page + * It expects the ID of the Community or Collection as input to be passed on as a scope + */ +@Component({ + selector: 'ds-themed-object-list', + // styleUrls: ['./object-list.component.scss'], + styleUrls: ['../../../../../app/shared/object-list/object-list.component.scss'], + // templateUrl: './object-list.component.html' + templateUrl: '../../../../../app/shared/object-list/object-list.component.html', + imports: [PaginationComponent, NgIf, NgClass, NgFor, SelectableListItemControlComponent, ImportableListItemControlComponent, ListableObjectComponentLoaderComponent, BrowserOnlyPipe], + standalone: true, +}) + +export class ObjectListComponent extends BaseComponent {} diff --git a/src/themes/qmu/app/shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component.html b/src/themes/qmu/app/shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component.scss b/src/themes/qmu/app/shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component.ts b/src/themes/qmu/app/shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component.ts new file mode 100644 index 00000000000..7d2913dc1f2 --- /dev/null +++ b/src/themes/qmu/app/shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component.ts @@ -0,0 +1,33 @@ +import { + AsyncPipe, + NgClass, + NgFor, + NgIf, +} from '@angular/common'; +import { Component } from '@angular/core'; +import { RouterLink } from '@angular/router'; + +import { Context } from '../../../../../../../../../app/core/shared/context.model'; +import { ViewMode } from '../../../../../../../../../app/core/shared/view-mode.model'; +import { ThemedBadgesComponent } from '../../../../../../../../../app/shared/object-collection/shared/badges/themed-badges.component'; +import { ItemSearchResult } from '../../../../../../../../../app/shared/object-collection/shared/item-search-result.model'; +import { listableObjectComponent } from '../../../../../../../../../app/shared/object-collection/shared/listable-object/listable-object.decorator'; +import { ItemSearchResultListElementComponent as BaseComponent } from '../../../../../../../../../app/shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component'; +import { TruncatableComponent } from '../../../../../../../../../app/shared/truncatable/truncatable.component'; +import { TruncatablePartComponent } from '../../../../../../../../../app/shared/truncatable/truncatable-part/truncatable-part.component'; +import { ThemedThumbnailComponent } from '../../../../../../../../../app/thumbnail/themed-thumbnail.component'; + +@listableObjectComponent('PublicationSearchResult', ViewMode.ListElement, Context.Any, 'custom') +@listableObjectComponent(ItemSearchResult, ViewMode.ListElement, Context.Any, 'custom') +@Component({ + selector: 'ds-item-search-result-list-element', + // styleUrls: ['./item-search-result-list-element.component.scss'], + styleUrls: ['../../../../../../../../../app/shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component.scss'], + // templateUrl: './item-search-result-list-element.component.html', + templateUrl: '../../../../../../../../../app/shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component.html', + standalone: true, + imports: [NgIf, RouterLink, ThemedThumbnailComponent, NgClass, ThemedBadgesComponent, TruncatableComponent, TruncatablePartComponent, NgFor, AsyncPipe], + +}) +export class ItemSearchResultListElementComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/shared/object-list/sidebar-search-list-element/item-types/publication/publication-sidebar-search-list-element.component.html b/src/themes/qmu/app/shared/object-list/sidebar-search-list-element/item-types/publication/publication-sidebar-search-list-element.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/object-list/sidebar-search-list-element/item-types/publication/publication-sidebar-search-list-element.component.ts b/src/themes/qmu/app/shared/object-list/sidebar-search-list-element/item-types/publication/publication-sidebar-search-list-element.component.ts new file mode 100644 index 00000000000..dbb4526a9a7 --- /dev/null +++ b/src/themes/qmu/app/shared/object-list/sidebar-search-list-element/item-types/publication/publication-sidebar-search-list-element.component.ts @@ -0,0 +1,28 @@ +import { + AsyncPipe, + NgClass, + NgIf, +} from '@angular/common'; +import { Component } from '@angular/core'; +import { TranslateModule } from '@ngx-translate/core'; + +import { Context } from '../../../../../../../../app/core/shared/context.model'; +import { ViewMode } from '../../../../../../../../app/core/shared/view-mode.model'; +import { ItemSearchResult } from '../../../../../../../../app/shared/object-collection/shared/item-search-result.model'; +import { listableObjectComponent } from '../../../../../../../../app/shared/object-collection/shared/listable-object/listable-object.decorator'; +import { PublicationSidebarSearchListElementComponent as BaseComponent } from '../../../../../../../../app/shared/object-list/sidebar-search-list-element/item-types/publication/publication-sidebar-search-list-element.component'; +import { TruncatablePartComponent } from '../../../../../../../../app/shared/truncatable/truncatable-part/truncatable-part.component'; + +@listableObjectComponent('PublicationSearchResult', ViewMode.ListElement, Context.SideBarSearchModal, 'custom') +@listableObjectComponent('PublicationSearchResult', ViewMode.ListElement, Context.SideBarSearchModalCurrent, 'custom') +@listableObjectComponent(ItemSearchResult, ViewMode.ListElement, Context.SideBarSearchModal, 'custom') +@listableObjectComponent(ItemSearchResult, ViewMode.ListElement, Context.SideBarSearchModalCurrent, 'custom') +@Component({ + selector: 'ds-publication-sidebar-search-list-element', + // templateUrl: './publication-sidebar-search-list-element.component.html', + templateUrl: '../../../../../../../../app/shared/object-list/sidebar-search-list-element/sidebar-search-list-element.component.html', + standalone: true, + imports: [TruncatablePartComponent, NgClass, NgIf, AsyncPipe, TranslateModule], +}) +export class PublicationSidebarSearchListElementComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/shared/results-back-button/results-back-button.component.html b/src/themes/qmu/app/shared/results-back-button/results-back-button.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/results-back-button/results-back-button.component.scss b/src/themes/qmu/app/shared/results-back-button/results-back-button.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/results-back-button/results-back-button.component.ts b/src/themes/qmu/app/shared/results-back-button/results-back-button.component.ts new file mode 100644 index 00000000000..2ec6d7d6aba --- /dev/null +++ b/src/themes/qmu/app/shared/results-back-button/results-back-button.component.ts @@ -0,0 +1,15 @@ +import { AsyncPipe } from '@angular/common'; +import { Component } from '@angular/core'; + +import { ResultsBackButtonComponent as BaseComponent } from '../../../../../app/shared/results-back-button/results-back-button.component'; + +@Component({ + selector: 'ds-themed-results-back-button', + // styleUrls: ['./results-back-button.component.scss'], + styleUrls: ['../../../../../app/shared/results-back-button/results-back-button.component.scss'], + //templateUrl: './results-back-button.component.html', + templateUrl: '../../../../../app/shared/results-back-button/results-back-button.component.html', + standalone: true, + imports: [AsyncPipe], +}) +export class ResultsBackButtonComponent extends BaseComponent {} diff --git a/src/themes/qmu/app/shared/search-form/search-form.component.html b/src/themes/qmu/app/shared/search-form/search-form.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/search-form/search-form.component.scss b/src/themes/qmu/app/shared/search-form/search-form.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/search-form/search-form.component.ts b/src/themes/qmu/app/shared/search-form/search-form.component.ts new file mode 100644 index 00000000000..729a001f61c --- /dev/null +++ b/src/themes/qmu/app/shared/search-form/search-form.component.ts @@ -0,0 +1,23 @@ +import { + AsyncPipe, + NgIf, +} from '@angular/common'; +import { Component } from '@angular/core'; +import { FormsModule } from '@angular/forms'; +import { NgbTooltipModule } from '@ng-bootstrap/ng-bootstrap'; +import { TranslateModule } from '@ngx-translate/core'; + +import { SearchFormComponent as BaseComponent } from '../../../../../app/shared/search-form/search-form.component'; +import { BrowserOnlyPipe } from '../../../../../app/shared/utils/browser-only.pipe'; + +@Component({ + selector: 'ds-themed-search-form', + // styleUrls: ['./search-form.component.scss'], + styleUrls: ['../../../../../app/shared/search-form/search-form.component.scss'], + // templateUrl: './search-form.component.html', + templateUrl: '../../../../../app/shared/search-form/search-form.component.html', + standalone: true, + imports: [FormsModule, NgIf, NgbTooltipModule, AsyncPipe, TranslateModule, BrowserOnlyPipe], +}) +export class SearchFormComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/shared/search/search-filters/search-filters.component.html b/src/themes/qmu/app/shared/search/search-filters/search-filters.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/search/search-filters/search-filters.component.scss b/src/themes/qmu/app/shared/search/search-filters/search-filters.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/search/search-filters/search-filters.component.ts b/src/themes/qmu/app/shared/search/search-filters/search-filters.component.ts new file mode 100644 index 00000000000..5b10c841453 --- /dev/null +++ b/src/themes/qmu/app/shared/search/search-filters/search-filters.component.ts @@ -0,0 +1,41 @@ +/** + * The contents of this file are subject to the license and copyright + * detailed in the LICENSE_ATMIRE and NOTICE_ATMIRE files at the root of the source + * tree and available online at + * + * https://www.atmire.com/software-license/ + */ +import { + AsyncPipe, + NgFor, + NgIf, +} from '@angular/common'; +import { Component } from '@angular/core'; +import { RouterLink } from '@angular/router'; +import { TranslateModule } from '@ngx-translate/core'; + +import { SearchConfigurationService } from '../../../../../../app/core/shared/search/search-configuration.service'; +import { SEARCH_CONFIG_SERVICE } from '../../../../../../app/my-dspace-page/my-dspace-configuration.service'; +import { AdvancedSearchComponent } from '../../../../../../app/shared/search/advanced-search/advanced-search.component'; +import { SearchFilterComponent } from '../../../../../../app/shared/search/search-filters/search-filter/search-filter.component'; +import { SearchFiltersComponent as BaseComponent } from '../../../../../../app/shared/search/search-filters/search-filters.component'; + + +@Component({ + selector: 'ds-themed-search-filters', + // styleUrls: ['./search-filters.component.scss'], + styleUrls: ['../../../../../../app/shared/search/search-filters/search-filters.component.scss'], + // templateUrl: './search-filters.component.html', + templateUrl: '../../../../../../app/shared/search/search-filters/search-filters.component.html', + providers: [ + { + provide: SEARCH_CONFIG_SERVICE, + useClass: SearchConfigurationService, + }, + ], + standalone: true, + imports: [NgIf, NgFor, SearchFilterComponent, RouterLink, AsyncPipe, TranslateModule, AdvancedSearchComponent], +}) + +export class SearchFiltersComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/shared/search/search-results/search-results.component.html b/src/themes/qmu/app/shared/search/search-results/search-results.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/search/search-results/search-results.component.scss b/src/themes/qmu/app/shared/search/search-results/search-results.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/search/search-results/search-results.component.ts b/src/themes/qmu/app/shared/search/search-results/search-results.component.ts new file mode 100644 index 00000000000..b72297f32f6 --- /dev/null +++ b/src/themes/qmu/app/shared/search/search-results/search-results.component.ts @@ -0,0 +1,30 @@ +import { NgIf } from '@angular/common'; +import { Component } from '@angular/core'; +import { RouterLink } from '@angular/router'; +import { TranslateModule } from '@ngx-translate/core'; + +import { + fadeIn, + fadeInOut, +} from '../../../../../../app/shared/animations/fade'; +import { ErrorComponent } from '../../../../../../app/shared/error/error.component'; +import { ThemedLoadingComponent } from '../../../../../../app/shared/loading/themed-loading.component'; +import { ObjectCollectionComponent } from '../../../../../../app/shared/object-collection/object-collection.component'; +import { SearchExportCsvComponent } from '../../../../../../app/shared/search/search-export-csv/search-export-csv.component'; +import { SearchResultsComponent as BaseComponent } from '../../../../../../app/shared/search/search-results/search-results.component'; + +@Component({ + selector: 'ds-themed-search-results', + // templateUrl: './search-results.component.html', + templateUrl: '../../../../../../app/shared/search/search-results/search-results.component.html', + // styleUrls: ['./search-results.component.scss'], + animations: [ + fadeIn, + fadeInOut, + ], + standalone: true, + imports: [NgIf, SearchExportCsvComponent, ObjectCollectionComponent, ThemedLoadingComponent, ErrorComponent, RouterLink, TranslateModule], +}) +export class SearchResultsComponent extends BaseComponent { + +} diff --git a/src/themes/qmu/app/shared/search/search-settings/search-settings.component.html b/src/themes/qmu/app/shared/search/search-settings/search-settings.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/search/search-settings/search-settings.component.scss b/src/themes/qmu/app/shared/search/search-settings/search-settings.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/search/search-settings/search-settings.component.ts b/src/themes/qmu/app/shared/search/search-settings/search-settings.component.ts new file mode 100644 index 00000000000..111b7b0c7c9 --- /dev/null +++ b/src/themes/qmu/app/shared/search/search-settings/search-settings.component.ts @@ -0,0 +1,39 @@ +/** + * The contents of this file are subject to the license and copyright + * detailed in the LICENSE_ATMIRE and NOTICE_ATMIRE files at the root of the source + * tree and available online at + * + * https://www.atmire.com/software-license/ + */ +import { + NgFor, + NgIf, +} from '@angular/common'; +import { Component } from '@angular/core'; +import { FormsModule } from '@angular/forms'; +import { TranslateModule } from '@ngx-translate/core'; + +import { SearchConfigurationService } from '../../../../../../app/core/shared/search/search-configuration.service'; +import { SEARCH_CONFIG_SERVICE } from '../../../../../../app/my-dspace-page/my-dspace-configuration.service'; +import { PageSizeSelectorComponent } from '../../../../../../app/shared/page-size-selector/page-size-selector.component'; +import { SearchSettingsComponent as BaseComponent } from '../../../../../../app/shared/search/search-settings/search-settings.component'; +import { SidebarDropdownComponent } from '../../../../../../app/shared/sidebar/sidebar-dropdown.component'; + + +@Component({ + selector: 'ds-themed-search-settings', + // styleUrls: ['./search-settings.component.scss'], + styleUrls: ['../../../../../../app/shared/search/search-settings/search-settings.component.scss'], + // templateUrl: './search-settings.component.html', + templateUrl: '../../../../../../app/shared/search/search-settings/search-settings.component.html', + providers: [ + { + provide: SEARCH_CONFIG_SERVICE, + useClass: SearchConfigurationService, + }, + ], + standalone: true, + imports: [NgIf, SidebarDropdownComponent, NgFor, FormsModule, PageSizeSelectorComponent, TranslateModule], +}) + +export class SearchSettingsComponent extends BaseComponent {} diff --git a/src/themes/qmu/app/shared/search/search-sidebar/search-sidebar.component.html b/src/themes/qmu/app/shared/search/search-sidebar/search-sidebar.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/search/search-sidebar/search-sidebar.component.scss b/src/themes/qmu/app/shared/search/search-sidebar/search-sidebar.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/search/search-sidebar/search-sidebar.component.ts b/src/themes/qmu/app/shared/search/search-sidebar/search-sidebar.component.ts new file mode 100644 index 00000000000..94892ad57bd --- /dev/null +++ b/src/themes/qmu/app/shared/search/search-sidebar/search-sidebar.component.ts @@ -0,0 +1,41 @@ +/** + * The contents of this file are subject to the license and copyright + * detailed in the LICENSE_ATMIRE and NOTICE_ATMIRE files at the root of the source + * tree and available online at + * + * https://www.atmire.com/software-license/ + */ +import { + AsyncPipe, + NgIf, +} from '@angular/common'; +import { Component } from '@angular/core'; +import { TranslateModule } from '@ngx-translate/core'; + +import { SearchConfigurationService } from '../../../../../../app/core/shared/search/search-configuration.service'; +import { SEARCH_CONFIG_SERVICE } from '../../../../../../app/my-dspace-page/my-dspace-configuration.service'; +import { AdvancedSearchComponent } from '../../../../../../app/shared/search/advanced-search/advanced-search.component'; +import { ThemedSearchFiltersComponent } from '../../../../../../app/shared/search/search-filters/themed-search-filters.component'; +import { ThemedSearchSettingsComponent } from '../../../../../../app/shared/search/search-settings/themed-search-settings.component'; +import { SearchSidebarComponent as BaseComponent } from '../../../../../../app/shared/search/search-sidebar/search-sidebar.component'; +import { SearchSwitchConfigurationComponent } from '../../../../../../app/shared/search/search-switch-configuration/search-switch-configuration.component'; +import { ViewModeSwitchComponent } from '../../../../../../app/shared/view-mode-switch/view-mode-switch.component'; + + +@Component({ + selector: 'ds-themed-search-sidebar', + // styleUrls: ['./search-sidebar.component.scss'], + styleUrls: ['../../../../../../app/shared/search/search-sidebar/search-sidebar.component.scss'], + // templateUrl: './search-sidebar.component.html', + templateUrl: '../../../../../../app/shared/search/search-sidebar/search-sidebar.component.html', + providers: [ + { + provide: SEARCH_CONFIG_SERVICE, + useClass: SearchConfigurationService, + }, + ], + standalone: true, + imports: [NgIf, ViewModeSwitchComponent, SearchSwitchConfigurationComponent, ThemedSearchFiltersComponent, ThemedSearchSettingsComponent, TranslateModule, AdvancedSearchComponent, AsyncPipe], +}) +export class SearchSidebarComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/shared/search/search.component.html b/src/themes/qmu/app/shared/search/search.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/search/search.component.scss b/src/themes/qmu/app/shared/search/search.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/search/search.component.ts b/src/themes/qmu/app/shared/search/search.component.ts new file mode 100644 index 00000000000..85a453c16cc --- /dev/null +++ b/src/themes/qmu/app/shared/search/search.component.ts @@ -0,0 +1,44 @@ +import { + AsyncPipe, + NgIf, + NgTemplateOutlet, +} from '@angular/common'; +import { + ChangeDetectionStrategy, + Component, +} from '@angular/core'; +import { TranslateModule } from '@ngx-translate/core'; + +import { pushInOut } from '../../../../../app/shared/animations/push'; +import { SearchComponent as BaseComponent } from '../../../../../app/shared/search/search.component'; +import { SearchLabelsComponent } from '../../../../../app/shared/search/search-labels/search-labels.component'; +import { ThemedSearchResultsComponent } from '../../../../../app/shared/search/search-results/themed-search-results.component'; +import { ThemedSearchSidebarComponent } from '../../../../../app/shared/search/search-sidebar/themed-search-sidebar.component'; +import { ThemedSearchFormComponent } from '../../../../../app/shared/search-form/themed-search-form.component'; +import { PageWithSidebarComponent } from '../../../../../app/shared/sidebar/page-with-sidebar.component'; +import { ViewModeSwitchComponent } from '../../../../../app/shared/view-mode-switch/view-mode-switch.component'; + +@Component({ + selector: 'ds-themed-search', + // styleUrls: ['./search.component.scss'], + styleUrls: ['../../../../../app/shared/search/search.component.scss'], + // templateUrl: './search.component.html', + templateUrl: '../../../../../app/shared/search/search.component.html', + changeDetection: ChangeDetectionStrategy.OnPush, + animations: [pushInOut], + standalone: true, + imports: [ + AsyncPipe, + NgIf, + NgTemplateOutlet, + PageWithSidebarComponent, + ThemedSearchFormComponent, + ThemedSearchResultsComponent, + ThemedSearchSidebarComponent, + TranslateModule, + SearchLabelsComponent, + ViewModeSwitchComponent, + ], +}) +export class SearchComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/shared/starts-with/date/starts-with-date.component.html b/src/themes/qmu/app/shared/starts-with/date/starts-with-date.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/starts-with/date/starts-with-date.component.scss b/src/themes/qmu/app/shared/starts-with/date/starts-with-date.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/starts-with/date/starts-with-date.component.ts b/src/themes/qmu/app/shared/starts-with/date/starts-with-date.component.ts new file mode 100644 index 00000000000..3f57274d369 --- /dev/null +++ b/src/themes/qmu/app/shared/starts-with/date/starts-with-date.component.ts @@ -0,0 +1,21 @@ +import { NgFor } from '@angular/common'; +import { Component } from '@angular/core'; +import { + FormsModule, + ReactiveFormsModule, +} from '@angular/forms'; +import { TranslateModule } from '@ngx-translate/core'; + +import { StartsWithDateComponent as BaseComponent } from '../../../../../../app/shared/starts-with/date/starts-with-date.component'; + +@Component({ + selector: 'ds-starts-with-date', + // styleUrls: ['./starts-with-date.component.scss'], + styleUrls: ['../../../../../../app/shared/starts-with/date/starts-with-date.component.scss'], + // templateUrl: './starts-with-date.component.html', + templateUrl: '../../../../../../app/shared/starts-with/date/starts-with-date.component.html', + standalone: true, + imports: [FormsModule, ReactiveFormsModule, NgFor, TranslateModule], +}) +export class StartsWithDateComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/shared/starts-with/text/starts-with-text.component.html b/src/themes/qmu/app/shared/starts-with/text/starts-with-text.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/starts-with/text/starts-with-text.component.scss b/src/themes/qmu/app/shared/starts-with/text/starts-with-text.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/shared/starts-with/text/starts-with-text.component.ts b/src/themes/qmu/app/shared/starts-with/text/starts-with-text.component.ts new file mode 100644 index 00000000000..d893b3f4d2e --- /dev/null +++ b/src/themes/qmu/app/shared/starts-with/text/starts-with-text.component.ts @@ -0,0 +1,20 @@ +import { Component } from '@angular/core'; +import { + FormsModule, + ReactiveFormsModule, +} from '@angular/forms'; +import { TranslateModule } from '@ngx-translate/core'; + +import { StartsWithTextComponent as BaseComponent } from '../../../../../../app/shared/starts-with/text/starts-with-text.component'; + +@Component({ + selector: 'ds-starts-with-text', + // styleUrls: ['./starts-with-text.component.scss'], + styleUrls: ['../../../../../../app/shared/starts-with/text/starts-with-text.component.scss'], + // templateUrl: './starts-with-text.component.html', + templateUrl: '../../../../../../app/shared/starts-with/text/starts-with-text.component.html', + standalone: true, + imports: [FormsModule, ReactiveFormsModule, TranslateModule], +}) +export class StartsWithTextComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/statistics-page/collection-statistics-page/collection-statistics-page.component.html b/src/themes/qmu/app/statistics-page/collection-statistics-page/collection-statistics-page.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/statistics-page/collection-statistics-page/collection-statistics-page.component.scss b/src/themes/qmu/app/statistics-page/collection-statistics-page/collection-statistics-page.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/statistics-page/collection-statistics-page/collection-statistics-page.component.ts b/src/themes/qmu/app/statistics-page/collection-statistics-page/collection-statistics-page.component.ts new file mode 100644 index 00000000000..3fbd6d0bcac --- /dev/null +++ b/src/themes/qmu/app/statistics-page/collection-statistics-page/collection-statistics-page.component.ts @@ -0,0 +1,24 @@ +import { CommonModule } from '@angular/common'; +import { Component } from '@angular/core'; +import { TranslateModule } from '@ngx-translate/core'; + +import { ThemedLoadingComponent } from '../../../../../app/shared/loading/themed-loading.component'; +import { VarDirective } from '../../../../../app/shared/utils/var.directive'; +import { CollectionStatisticsPageComponent as BaseComponent } from '../../../../../app/statistics-page/collection-statistics-page/collection-statistics-page.component'; +import { StatisticsTableComponent } from '../../../../../app/statistics-page/statistics-table/statistics-table.component'; + +@Component({ + selector: 'ds-themed-collection-statistics-page', + // styleUrls: ['./collection-statistics-page.component.scss'], + styleUrls: ['../../../../../app/statistics-page/collection-statistics-page/collection-statistics-page.component.scss'], + // templateUrl: './collection-statistics-page.component.html', + templateUrl: '../../../../../app/statistics-page/statistics-page/statistics-page.component.html', + standalone: true, + imports: [CommonModule, VarDirective, ThemedLoadingComponent, StatisticsTableComponent, TranslateModule], +}) + +/** + * Component representing the statistics page for a collection. + */ +export class CollectionStatisticsPageComponent extends BaseComponent {} + diff --git a/src/themes/qmu/app/statistics-page/community-statistics-page/community-statistics-page.component.html b/src/themes/qmu/app/statistics-page/community-statistics-page/community-statistics-page.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/statistics-page/community-statistics-page/community-statistics-page.component.scss b/src/themes/qmu/app/statistics-page/community-statistics-page/community-statistics-page.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/statistics-page/community-statistics-page/community-statistics-page.component.ts b/src/themes/qmu/app/statistics-page/community-statistics-page/community-statistics-page.component.ts new file mode 100644 index 00000000000..7c76eeac7d3 --- /dev/null +++ b/src/themes/qmu/app/statistics-page/community-statistics-page/community-statistics-page.component.ts @@ -0,0 +1,24 @@ +import { CommonModule } from '@angular/common'; +import { Component } from '@angular/core'; +import { TranslateModule } from '@ngx-translate/core'; + +import { ThemedLoadingComponent } from '../../../../../app/shared/loading/themed-loading.component'; +import { VarDirective } from '../../../../../app/shared/utils/var.directive'; +import { CommunityStatisticsPageComponent as BaseComponent } from '../../../../../app/statistics-page/community-statistics-page/community-statistics-page.component'; +import { StatisticsTableComponent } from '../../../../../app/statistics-page/statistics-table/statistics-table.component'; + +@Component({ + selector: 'ds-themed-collection-statistics-page', + // styleUrls: ['./community-statistics-page.component.scss'], + styleUrls: ['../../../../../app/statistics-page/community-statistics-page/community-statistics-page.component.scss'], + // templateUrl: './community-statistics-page.component.html', + templateUrl: '../../../../../app/statistics-page/statistics-page/statistics-page.component.html', + standalone: true, + imports: [CommonModule, VarDirective, ThemedLoadingComponent, StatisticsTableComponent, TranslateModule], +}) + +/** + * Component representing the statistics page for a community. + */ +export class CommunityStatisticsPageComponent extends BaseComponent {} + diff --git a/src/themes/qmu/app/statistics-page/item-statistics-page/item-statistics-page.component.html b/src/themes/qmu/app/statistics-page/item-statistics-page/item-statistics-page.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/statistics-page/item-statistics-page/item-statistics-page.component.scss b/src/themes/qmu/app/statistics-page/item-statistics-page/item-statistics-page.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/statistics-page/item-statistics-page/item-statistics-page.component.ts b/src/themes/qmu/app/statistics-page/item-statistics-page/item-statistics-page.component.ts new file mode 100644 index 00000000000..fe9d0a0a3a2 --- /dev/null +++ b/src/themes/qmu/app/statistics-page/item-statistics-page/item-statistics-page.component.ts @@ -0,0 +1,24 @@ +import { CommonModule } from '@angular/common'; +import { Component } from '@angular/core'; +import { TranslateModule } from '@ngx-translate/core'; + +import { ThemedLoadingComponent } from '../../../../../app/shared/loading/themed-loading.component'; +import { VarDirective } from '../../../../../app/shared/utils/var.directive'; +import { ItemStatisticsPageComponent as BaseComponent } from '../../../../../app/statistics-page/item-statistics-page/item-statistics-page.component'; +import { StatisticsTableComponent } from '../../../../../app/statistics-page/statistics-table/statistics-table.component'; + +@Component({ + selector: 'ds-themed-item-statistics-page', + // styleUrls: ['./item-statistics-page.component.scss'], + styleUrls: ['../../../../../app/statistics-page/item-statistics-page/item-statistics-page.component.scss'], + // templateUrl: './item-statistics-page.component.html', + templateUrl: '../../../../../app/statistics-page/statistics-page/statistics-page.component.html', + standalone: true, + imports: [CommonModule, VarDirective, ThemedLoadingComponent, StatisticsTableComponent, TranslateModule], +}) + +/** + * Component representing the statistics page for an item. + */ +export class ItemStatisticsPageComponent extends BaseComponent {} + diff --git a/src/themes/qmu/app/statistics-page/site-statistics-page/site-statistics-page.component.html b/src/themes/qmu/app/statistics-page/site-statistics-page/site-statistics-page.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/statistics-page/site-statistics-page/site-statistics-page.component.scss b/src/themes/qmu/app/statistics-page/site-statistics-page/site-statistics-page.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/statistics-page/site-statistics-page/site-statistics-page.component.ts b/src/themes/qmu/app/statistics-page/site-statistics-page/site-statistics-page.component.ts new file mode 100644 index 00000000000..13019499634 --- /dev/null +++ b/src/themes/qmu/app/statistics-page/site-statistics-page/site-statistics-page.component.ts @@ -0,0 +1,24 @@ +import { CommonModule } from '@angular/common'; +import { Component } from '@angular/core'; +import { TranslateModule } from '@ngx-translate/core'; + +import { ThemedLoadingComponent } from '../../../../../app/shared/loading/themed-loading.component'; +import { VarDirective } from '../../../../../app/shared/utils/var.directive'; +import { SiteStatisticsPageComponent as BaseComponent } from '../../../../../app/statistics-page/site-statistics-page/site-statistics-page.component'; +import { StatisticsTableComponent } from '../../../../../app/statistics-page/statistics-table/statistics-table.component'; + +@Component({ + selector: 'ds-themed-site-statistics-page', + // styleUrls: ['./site-statistics-page.component.scss'], + styleUrls: ['../../../../../app/statistics-page/site-statistics-page/site-statistics-page.component.scss'], + // templateUrl: './site-statistics-page.component.html', + templateUrl: '../../../../../app/statistics-page/statistics-page/statistics-page.component.html', + standalone: true, + imports: [CommonModule, VarDirective, ThemedLoadingComponent, StatisticsTableComponent, TranslateModule], +}) + +/** + * Component representing the site-wide statistics page. + */ +export class SiteStatisticsPageComponent extends BaseComponent {} + diff --git a/src/themes/qmu/app/submission/edit/submission-edit.component.html b/src/themes/qmu/app/submission/edit/submission-edit.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/submission/edit/submission-edit.component.scss b/src/themes/qmu/app/submission/edit/submission-edit.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/submission/edit/submission-edit.component.ts b/src/themes/qmu/app/submission/edit/submission-edit.component.ts new file mode 100644 index 00000000000..c41b4321fa5 --- /dev/null +++ b/src/themes/qmu/app/submission/edit/submission-edit.component.ts @@ -0,0 +1,21 @@ +import { Component } from '@angular/core'; + +import { SubmissionEditComponent as BaseComponent } from '../../../../../app/submission/edit/submission-edit.component'; +import { SubmissionFormComponent } from '../../../../../app/submission/form/submission-form.component'; + +/** + * This component allows to edit an existing workspaceitem/workflowitem. + */ +@Component({ + selector: 'ds-themed-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', + standalone: true, + imports: [ + SubmissionFormComponent, + ], +}) +export class SubmissionEditComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/submission/form/submission-upload-files/submission-upload-files.component.html b/src/themes/qmu/app/submission/form/submission-upload-files/submission-upload-files.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/submission/form/submission-upload-files/submission-upload-files.component.ts b/src/themes/qmu/app/submission/form/submission-upload-files/submission-upload-files.component.ts new file mode 100644 index 00000000000..9c479cb129a --- /dev/null +++ b/src/themes/qmu/app/submission/form/submission-upload-files/submission-upload-files.component.ts @@ -0,0 +1,18 @@ +import { NgIf } from '@angular/common'; +import { Component } from '@angular/core'; + +import { UploaderComponent } from '../../../../../../app/shared/upload/uploader/uploader.component'; +import { SubmissionUploadFilesComponent as BaseComponent } from '../../../../../../app/submission/form/submission-upload-files/submission-upload-files.component'; + +@Component({ + selector: 'ds-themed-submission-upload-files', + // templateUrl: './submission-upload-files.component.html', + templateUrl: '../../../../../../app/submission/form/submission-upload-files/submission-upload-files.component.html', + imports: [ + UploaderComponent, + NgIf, + ], + standalone: true, +}) +export class SubmissionUploadFilesComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/submission/import-external/submission-import-external.component.html b/src/themes/qmu/app/submission/import-external/submission-import-external.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/submission/import-external/submission-import-external.component.scss b/src/themes/qmu/app/submission/import-external/submission-import-external.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/submission/import-external/submission-import-external.component.ts b/src/themes/qmu/app/submission/import-external/submission-import-external.component.ts new file mode 100644 index 00000000000..cda5c207bf4 --- /dev/null +++ b/src/themes/qmu/app/submission/import-external/submission-import-external.component.ts @@ -0,0 +1,42 @@ +import { + AsyncPipe, + NgIf, +} from '@angular/common'; +import { Component } from '@angular/core'; +import { RouterLink } from '@angular/router'; +import { TranslateModule } from '@ngx-translate/core'; + +import { AlertComponent } from '../../../../../app/shared/alert/alert.component'; +import { fadeIn } from '../../../../../app/shared/animations/fade'; +import { ThemedLoadingComponent } from '../../../../../app/shared/loading/themed-loading.component'; +import { ObjectCollectionComponent } from '../../../../../app/shared/object-collection/object-collection.component'; +import { VarDirective } from '../../../../../app/shared/utils/var.directive'; +import { SubmissionImportExternalSearchbarComponent } from '../../../../../app/submission/import-external/import-external-searchbar/submission-import-external-searchbar.component'; +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-themed-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], + standalone: true, + imports: [ + ObjectCollectionComponent, + ThemedLoadingComponent, + AlertComponent, + NgIf, + AsyncPipe, + SubmissionImportExternalSearchbarComponent, + TranslateModule, + VarDirective, + RouterLink, + ], +}) +export class SubmissionImportExternalComponent extends BaseComponent { + +} diff --git a/src/themes/qmu/app/submission/sections/upload/file/section-upload-file.component.html b/src/themes/qmu/app/submission/sections/upload/file/section-upload-file.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/submission/sections/upload/file/section-upload-file.component.scss b/src/themes/qmu/app/submission/sections/upload/file/section-upload-file.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/submission/sections/upload/file/section-upload-file.component.ts b/src/themes/qmu/app/submission/sections/upload/file/section-upload-file.component.ts new file mode 100644 index 00000000000..13f5f976503 --- /dev/null +++ b/src/themes/qmu/app/submission/sections/upload/file/section-upload-file.component.ts @@ -0,0 +1,34 @@ +import { + AsyncPipe, + NgIf, +} from '@angular/common'; +import { Component } from '@angular/core'; +import { TranslateModule } from '@ngx-translate/core'; +import { SubmissionSectionUploadFileComponent as BaseComponent } from 'src/app/submission/sections/upload/file/section-upload-file.component'; + +import { ThemedFileDownloadLinkComponent } from '../../../../../../../app/shared/file-download-link/themed-file-download-link.component'; +import { FileSizePipe } from '../../../../../../../app/shared/utils/file-size-pipe'; +import { SubmissionSectionUploadFileViewComponent } from '../../../../../../../app/submission/sections/upload/file/view/section-upload-file-view.component'; + +/** + * This component represents a single bitstream contained in the submission + */ +@Component({ + selector: 'ds-themed-submission-upload-section-file', + // styleUrls: ['./section-upload-file.component.scss'], + styleUrls: ['../../../../../../../app/submission/sections/upload/file/section-upload-file.component.scss'], + // templateUrl: './section-upload-file.component.html' + templateUrl: '../../../../../../../app/submission/sections/upload/file/section-upload-file.component.html', + standalone: true, + imports: [ + TranslateModule, + SubmissionSectionUploadFileViewComponent, + NgIf, + AsyncPipe, + ThemedFileDownloadLinkComponent, + FileSizePipe, + ], +}) +export class SubmissionSectionUploadFileComponent + extends BaseComponent { +} diff --git a/src/themes/qmu/app/submission/submit/submission-submit.component.html b/src/themes/qmu/app/submission/submit/submission-submit.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/submission/submit/submission-submit.component.scss b/src/themes/qmu/app/submission/submit/submission-submit.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/submission/submit/submission-submit.component.ts b/src/themes/qmu/app/submission/submit/submission-submit.component.ts new file mode 100644 index 00000000000..9c84aeedc3d --- /dev/null +++ b/src/themes/qmu/app/submission/submit/submission-submit.component.ts @@ -0,0 +1,17 @@ +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-themed-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', + standalone: true, +}) +export class SubmissionSubmitComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/thumbnail/thumbnail.component.html b/src/themes/qmu/app/thumbnail/thumbnail.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/thumbnail/thumbnail.component.scss b/src/themes/qmu/app/thumbnail/thumbnail.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/thumbnail/thumbnail.component.ts b/src/themes/qmu/app/thumbnail/thumbnail.component.ts new file mode 100644 index 00000000000..fbd2e22cd18 --- /dev/null +++ b/src/themes/qmu/app/thumbnail/thumbnail.component.ts @@ -0,0 +1,20 @@ +import { CommonModule } from '@angular/common'; +import { Component } from '@angular/core'; +import { TranslateModule } from '@ngx-translate/core'; + +import { ThemedLoadingComponent } from '../../../../app/shared/loading/themed-loading.component'; +import { SafeUrlPipe } from '../../../../app/shared/utils/safe-url-pipe'; +import { VarDirective } from '../../../../app/shared/utils/var.directive'; +import { ThumbnailComponent as BaseComponent } from '../../../../app/thumbnail/thumbnail.component'; + +@Component({ + selector: 'ds-themed-thumbnail', + // styleUrls: ['./thumbnail.component.scss'], + styleUrls: ['../../../../app/thumbnail/thumbnail.component.scss'], + // templateUrl: './thumbnail.component.html', + templateUrl: '../../../../app/thumbnail/thumbnail.component.html', + standalone: true, + imports: [VarDirective, CommonModule, ThemedLoadingComponent, TranslateModule, SafeUrlPipe], +}) +export class ThumbnailComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/workflowitems-edit-page/workflow-item-delete/workflow-item-delete.component.html b/src/themes/qmu/app/workflowitems-edit-page/workflow-item-delete/workflow-item-delete.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/workflowitems-edit-page/workflow-item-delete/workflow-item-delete.component.scss b/src/themes/qmu/app/workflowitems-edit-page/workflow-item-delete/workflow-item-delete.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/workflowitems-edit-page/workflow-item-delete/workflow-item-delete.component.ts b/src/themes/qmu/app/workflowitems-edit-page/workflow-item-delete/workflow-item-delete.component.ts new file mode 100644 index 00000000000..591ff5dd449 --- /dev/null +++ b/src/themes/qmu/app/workflowitems-edit-page/workflow-item-delete/workflow-item-delete.component.ts @@ -0,0 +1,21 @@ +import { CommonModule } from '@angular/common'; +import { Component } from '@angular/core'; +import { TranslateModule } from '@ngx-translate/core'; + +import { ModifyItemOverviewComponent } from '../../../../../app/item-page/edit-item-page/modify-item-overview/modify-item-overview.component'; +import { VarDirective } from '../../../../../app/shared/utils/var.directive'; +import { WorkflowItemDeleteComponent as BaseComponent } from '../../../../../app/workflowitems-edit-page/workflow-item-delete/workflow-item-delete.component'; + +@Component({ + selector: 'ds-themed-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', + standalone: true, + imports: [VarDirective, TranslateModule, CommonModule, ModifyItemOverviewComponent], +}) +/** + * Component representing a page to delete a workflow item + */ +export class WorkflowItemDeleteComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/workflowitems-edit-page/workflow-item-send-back/workflow-item-send-back.component.html b/src/themes/qmu/app/workflowitems-edit-page/workflow-item-send-back/workflow-item-send-back.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/workflowitems-edit-page/workflow-item-send-back/workflow-item-send-back.component.scss b/src/themes/qmu/app/workflowitems-edit-page/workflow-item-send-back/workflow-item-send-back.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/workflowitems-edit-page/workflow-item-send-back/workflow-item-send-back.component.ts b/src/themes/qmu/app/workflowitems-edit-page/workflow-item-send-back/workflow-item-send-back.component.ts new file mode 100644 index 00000000000..9d3ea161931 --- /dev/null +++ b/src/themes/qmu/app/workflowitems-edit-page/workflow-item-send-back/workflow-item-send-back.component.ts @@ -0,0 +1,24 @@ +import { CommonModule } from '@angular/common'; +import { Component } from '@angular/core'; +import { TranslateModule } from '@ngx-translate/core'; + +import { ModifyItemOverviewComponent } from '../../../../../app/item-page/edit-item-page/modify-item-overview/modify-item-overview.component'; +import { VarDirective } from '../../../../../app/shared/utils/var.directive'; +import { WorkflowItemSendBackComponent as BaseComponent } from '../../../../../app/workflowitems-edit-page/workflow-item-send-back/workflow-item-send-back.component'; + +@Component({ + selector: 'ds-themed-workflow-item-send-back', + // NOTE: the SCSS file for workflow-item-action-page does not have a corresponding file in the original + // implementation, so this commented out line below is a stub, here if you + // need it, but you probably don't need it. + // 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', + standalone: true, + imports: [VarDirective, TranslateModule, CommonModule, ModifyItemOverviewComponent], +}) +/** + * Component representing a page to send back a workflow item to the submitter + */ +export class WorkflowItemSendBackComponent extends BaseComponent { +} diff --git a/src/themes/qmu/app/workspaceitems-edit-page/workspaceitems-delete-page/workspaceitems-delete-page.component.html b/src/themes/qmu/app/workspaceitems-edit-page/workspaceitems-delete-page/workspaceitems-delete-page.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/workspaceitems-edit-page/workspaceitems-delete-page/workspaceitems-delete-page.component.scss b/src/themes/qmu/app/workspaceitems-edit-page/workspaceitems-delete-page/workspaceitems-delete-page.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/app/workspaceitems-edit-page/workspaceitems-delete-page/workspaceitems-delete-page.component.ts b/src/themes/qmu/app/workspaceitems-edit-page/workspaceitems-delete-page/workspaceitems-delete-page.component.ts new file mode 100644 index 00000000000..aeecb081d75 --- /dev/null +++ b/src/themes/qmu/app/workspaceitems-edit-page/workspaceitems-delete-page/workspaceitems-delete-page.component.ts @@ -0,0 +1,20 @@ +import { CommonModule } from '@angular/common'; +import { Component } from '@angular/core'; +import { TranslateModule } from '@ngx-translate/core'; + +import { ModifyItemOverviewComponent } from '../../../../../app/item-page/edit-item-page/modify-item-overview/modify-item-overview.component'; +import { WorkspaceItemsDeletePageComponent as BaseComponent } from '../../../../../app/workspaceitems-edit-page/workspaceitems-delete-page/workspaceitems-delete-page.component'; + + +@Component({ + selector: 'ds-themed-workspaceitems-delete-page', + templateUrl: '../../../../../app/workspaceitems-edit-page/workspaceitems-delete-page/workspaceitems-delete-page.component.html', + standalone: true, + imports: [ + ModifyItemOverviewComponent, + TranslateModule, + CommonModule, + ], +}) +export class WorkspaceItemsDeletePageComponent extends BaseComponent { +} diff --git a/src/themes/qmu/assets/fonts/.gitkeep b/src/themes/qmu/assets/fonts/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/assets/i18n/en.json5 b/src/themes/qmu/assets/i18n/en.json5 new file mode 100644 index 00000000000..ec80114873c --- /dev/null +++ b/src/themes/qmu/assets/i18n/en.json5 @@ -0,0 +1,10 @@ +{ + // DSpace default: "All of DSpace" + "menu.section.browse_global": "Browse DSpace", + + // DSpace default: "DSpace Angular :: " + "repository.title.prefix": "DSpace :: ", + + "home.top-level-communities.head": "Communities in QMU Repositories", + +} diff --git a/src/themes/qmu/assets/images/.gitkeep b/src/themes/qmu/assets/images/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/qmu/assets/images/eResearch-logo.svg b/src/themes/qmu/assets/images/eResearch-logo.svg new file mode 100644 index 00000000000..0af20923256 --- /dev/null +++ b/src/themes/qmu/assets/images/eResearch-logo.svg @@ -0,0 +1,162 @@ + +image/svg+xml \ No newline at end of file diff --git a/src/themes/qmu/eager-theme.module.ts b/src/themes/qmu/eager-theme.module.ts new file mode 100644 index 00000000000..ecc88073a3c --- /dev/null +++ b/src/themes/qmu/eager-theme.module.ts @@ -0,0 +1,97 @@ +import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; + +import { RootModule } from '../../app/root.module'; +import { JournalComponent } from './app/entity-groups/journal-entities/item-pages/journal/journal.component'; +import { JournalIssueComponent } from './app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component'; +import { JournalVolumeComponent } from './app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component'; +import { PersonComponent } from './app/entity-groups/research-entities/item-pages/person/person.component'; +import { FooterComponent } from './app/footer/footer.component'; +import { HeaderComponent } from './app/header/header.component'; +import { HeaderNavbarWrapperComponent } from './app/header-nav-wrapper/header-navbar-wrapper.component'; +import { HomeNewsComponent } from './app/home-page/home-news/home-news.component'; +import { TopLevelCommunityListComponent } from './app/home-page/top-level-community-list/top-level-community-list.component'; +import { PublicationComponent } from './app/item-page/simple/item-types/publication/publication.component'; +import { UntypedItemComponent } from './app/item-page/simple/item-types/untyped-item/untyped-item.component'; +import { NavbarComponent } from './app/navbar/navbar.component'; +import { SearchNavbarComponent } from './app/search-navbar/search-navbar.component'; +import { CollectionDropdownComponent } from './app/shared/collection-dropdown/collection-dropdown.component'; +import { CreateCollectionParentSelectorComponent } from './app/shared/dso-selector/modal-wrappers/create-collection-parent-selector/create-collection-parent-selector.component'; +import { CreateCommunityParentSelectorComponent } from './app/shared/dso-selector/modal-wrappers/create-community-parent-selector/create-community-parent-selector.component'; +import { CreateItemParentSelectorComponent } from './app/shared/dso-selector/modal-wrappers/create-item-parent-selector/create-item-parent-selector.component'; +import { EditCollectionSelectorComponent } from './app/shared/dso-selector/modal-wrappers/edit-collection-selector/edit-collection-selector.component'; +import { EditCommunitySelectorComponent } from './app/shared/dso-selector/modal-wrappers/edit-community-selector/edit-community-selector.component'; +import { EditItemSelectorComponent } from './app/shared/dso-selector/modal-wrappers/edit-item-selector/edit-item-selector.component'; +import { FileDownloadLinkComponent } from './app/shared/file-download-link/file-download-link.component'; +import { LangSwitchComponent } from './app/shared/lang-switch/lang-switch.component'; +import { LogInComponent } from './app/shared/log-in/log-in.component'; +import { BrowseEntryListElementComponent } from './app/shared/object-list/browse-entry-list-element/browse-entry-list-element.component'; +import { CollectionListElementComponent } from './app/shared/object-list/collection-list-element/collection-list-element.component'; +import { CommunityListElementComponent } from './app/shared/object-list/community-list-element/community-list-element.component'; +import { ItemSearchResultListElementComponent } from './app/shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component'; +import { PublicationSidebarSearchListElementComponent } from './app/shared/object-list/sidebar-search-list-element/item-types/publication/publication-sidebar-search-list-element.component'; +import { StartsWithDateComponent } from './app/shared/starts-with/date/starts-with-date.component'; +import { StartsWithTextComponent } from './app/shared/starts-with/text/starts-with-text.component'; + +/** + * Add components that use a custom decorator to ENTRY_COMPONENTS as well as DECLARATIONS. + * This will ensure that decorator gets picked up when the app loads + */ +const ENTRY_COMPONENTS = [ + JournalComponent, + JournalIssueComponent, + JournalVolumeComponent, + PersonComponent, + PublicationComponent, + UntypedItemComponent, + CommunityListElementComponent, + CollectionListElementComponent, + CollectionDropdownComponent, + FileDownloadLinkComponent, + StartsWithDateComponent, + StartsWithTextComponent, + PublicationSidebarSearchListElementComponent, + ItemSearchResultListElementComponent, + TopLevelCommunityListComponent, + BrowseEntryListElementComponent, +]; + +const DECLARATIONS = [ + ...ENTRY_COMPONENTS, + HomeNewsComponent, + HeaderComponent, + HeaderNavbarWrapperComponent, + NavbarComponent, + SearchNavbarComponent, + FooterComponent, + CreateCollectionParentSelectorComponent, + CreateCommunityParentSelectorComponent, + CreateItemParentSelectorComponent, + EditCollectionSelectorComponent, + EditCommunitySelectorComponent, + EditItemSelectorComponent, + LogInComponent, + LangSwitchComponent, +]; + +@NgModule({ + imports: [ + CommonModule, + RootModule, + ...DECLARATIONS, + ], + providers: [ + ...ENTRY_COMPONENTS.map((component) => ({ provide: component })), + ], +}) +/** + * This module is included in the main bundle that gets downloaded at first page load. So it should + * contain only the themed components that have to be available immediately for the first page load, + * and the minimal set of imports required to make them work. Anything you can cut from it will make + * the initial page load faster, but may cause the page to flicker as components that were already + * rendered server side need to be lazy-loaded again client side + * + * Themed EntryComponents should also be added here + */ +export class EagerThemeModule { +} diff --git a/src/themes/qmu/lazy-theme.module.ts b/src/themes/qmu/lazy-theme.module.ts new file mode 100644 index 00000000000..cb80948daf8 --- /dev/null +++ b/src/themes/qmu/lazy-theme.module.ts @@ -0,0 +1,226 @@ +import { DragDropModule } from '@angular/cdk/drag-drop'; +import { CommonModule } from '@angular/common'; +import { HttpClientModule } from '@angular/common/http'; +import { NgModule } from '@angular/core'; +import { FormsModule } from '@angular/forms'; +import { RouterModule } from '@angular/router'; +import { NgxGalleryModule } from '@kolkov/ngx-gallery'; +import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; +import { StoreRouterConnectingModule } from '@ngrx/router-store'; +import { StoreModule } from '@ngrx/store'; +import { TranslateModule } from '@ngx-translate/core'; +import { ScrollToModule } from '@nicky-lenaers/ngx-scroll-to'; + +import { RootModule } from '../../app/root.module'; +import { MetadataImportPageComponent } from './app/admin/admin-import-metadata-page/metadata-import-page.component'; +import { AdminSidebarComponent } from './app/admin/admin-sidebar/admin-sidebar.component'; +import { EditBitstreamPageComponent } from './app/bitstream-page/edit-bitstream-page/edit-bitstream-page.component'; +import { BreadcrumbsComponent } from './app/breadcrumbs/breadcrumbs.component'; +import { BrowseByDateComponent } from './app/browse-by/browse-by-date/browse-by-date.component'; +import { BrowseByMetadataComponent } from './app/browse-by/browse-by-metadata/browse-by-metadata.component'; +import { BrowseByTaxonomyComponent } from './app/browse-by/browse-by-taxonomy/browse-by-taxonomy.component'; +import { BrowseByTitleComponent } from './app/browse-by/browse-by-title/browse-by-title.component'; +import { CollectionPageComponent } from './app/collection-page/collection-page.component'; +import { EditItemTemplatePageComponent } from './app/collection-page/edit-item-template-page/edit-item-template-page.component'; +import { CommunityListComponent } from './app/community-list-page/community-list/community-list.component'; +import { CommunityListPageComponent } from './app/community-list-page/community-list-page.component'; +import { CommunityPageComponent } from './app/community-page/community-page.component'; +import { CommunityPageSubCollectionListComponent } from './app/community-page/sections/sub-com-col-section/sub-collection-list/community-page-sub-collection-list.component'; +import { CommunityPageSubCommunityListComponent } from './app/community-page/sections/sub-com-col-section/sub-community-list/community-page-sub-community-list.component'; +import { DsoEditMetadataComponent } from './app/dso-shared/dso-edit-metadata/dso-edit-metadata.component'; +import { ForbiddenComponent } from './app/forbidden/forbidden.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 { HomePageComponent } from './app/home-page/home-page.component'; +import { EndUserAgreementComponent } from './app/info/end-user-agreement/end-user-agreement.component'; +import { FeedbackComponent } from './app/info/feedback/feedback.component'; +import { FeedbackFormComponent } from './app/info/feedback/feedback-form/feedback-form.component'; +import { PrivacyComponent } from './app/info/privacy/privacy.component'; +import { ItemAlertsComponent } from './app/item-page/alerts/item-alerts.component'; +import { ItemStatusComponent } from './app/item-page/edit-item-page/item-status/item-status.component'; +import { FullFileSectionComponent } from './app/item-page/full/field-components/file-section/full-file-section.component'; +import { FullItemPageComponent } from './app/item-page/full/full-item-page.component'; +import { MediaViewerComponent } from './app/item-page/media-viewer/media-viewer.component'; +import { MediaViewerImageComponent } from './app/item-page/media-viewer/media-viewer-image/media-viewer-image.component'; +import { MediaViewerVideoComponent } from './app/item-page/media-viewer/media-viewer-video/media-viewer-video.component'; +import { FileSectionComponent } from './app/item-page/simple/field-components/file-section/file-section.component'; +import { ItemPageTitleFieldComponent } from './app/item-page/simple/field-components/specific-field/title/item-page-title-field.component'; +import { ItemPageComponent } from './app/item-page/simple/item-page.component'; +import { MetadataRepresentationListComponent } from './app/item-page/simple/metadata-representation-list/metadata-representation-list.component'; +import { LoginPageComponent } from './app/login-page/login-page.component'; +import { LogoutPageComponent } from './app/logout-page/logout-page.component'; +import { ObjectNotFoundComponent } from './app/lookup-by-id/objectnotfound/objectnotfound.component'; +import { MyDSpacePageComponent } from './app/my-dspace-page/my-dspace-page.component'; +import { ExpandableNavbarSectionComponent } from './app/navbar/expandable-navbar-section/expandable-navbar-section.component'; +import { PageNotFoundComponent } from './app/pagenotfound/pagenotfound.component'; +import { ProfilePageComponent } from './app/profile-page/profile-page.component'; +import { ProfilePageMetadataFormComponent } from './app/profile-page/profile-page-metadata-form/profile-page-metadata-form.component'; +import { RegisterEmailFormComponent } from './app/register-email-form/register-email-form.component'; +import { CreateProfileComponent } from './app/register-page/create-profile/create-profile.component'; +import { RegisterEmailComponent } from './app/register-page/register-email/register-email.component'; +import { DenyRequestCopyComponent } from './app/request-copy/deny-request-copy/deny-request-copy.component'; +import { EmailRequestCopyComponent } from './app/request-copy/email-request-copy/email-request-copy.component'; +import { GrantRequestCopyComponent } from './app/request-copy/grant-request-copy/grant-request-copy.component'; +import { RootComponent } from './app/root/root.component'; +import { ConfigurationSearchPageComponent } from './app/search-page/configuration-search-page.component'; +import { SearchPageComponent } from './app/search-page/search-page.component'; +import { AuthNavMenuComponent } from './app/shared/auth-nav-menu/auth-nav-menu.component'; +import { UserMenuComponent } from './app/shared/auth-nav-menu/user-menu/user-menu.component'; +import { BrowseByComponent } from './app/shared/browse-by/browse-by.component'; +import { ComcolPageBrowseByComponent } from './app/shared/comcol/comcol-page-browse-by/comcol-page-browse-by.component'; +import { ComcolPageContentComponent } from './app/shared/comcol/comcol-page-content/comcol-page-content.component'; +import { ComcolPageHandleComponent } from './app/shared/comcol/comcol-page-handle/comcol-page-handle.component'; +import { DsDynamicLookupRelationExternalSourceTabComponent } from './app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/dynamic-lookup-relation-external-source-tab.component'; +import { ExternalSourceEntryImportModalComponent } from './app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/external-source-entry-import-modal/external-source-entry-import-modal.component'; +import { DsDynamicLookupRelationSearchTabComponent } from './app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/dynamic-lookup-relation-search-tab.component'; +import { LoadingComponent } from './app/shared/loading/loading.component'; +import { AccessStatusBadgeComponent } from './app/shared/object-collection/shared/badges/access-status-badge/access-status-badge.component'; +import { BadgesComponent } from './app/shared/object-collection/shared/badges/badges.component'; +import { MyDSpaceStatusBadgeComponent } from './app/shared/object-collection/shared/badges/my-dspace-status-badge/my-dspace-status-badge.component'; +import { StatusBadgeComponent } from './app/shared/object-collection/shared/badges/status-badge/status-badge.component'; +import { TypeBadgeComponent } from './app/shared/object-collection/shared/badges/type-badge/type-badge.component'; +import { ItemDetailPreviewFieldComponent } from './app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview-field/item-detail-preview-field.component'; +import { ItemListPreviewComponent } from './app/shared/object-list/my-dspace-result-list-element/item-list-preview/item-list-preview.component'; +import { ObjectListComponent } from './app/shared/object-list/object-list.component'; +import { ResultsBackButtonComponent } from './app/shared/results-back-button/results-back-button.component'; +import { SearchComponent } from './app/shared/search/search.component'; +import { SearchFiltersComponent } from './app/shared/search/search-filters/search-filters.component'; +import { SearchResultsComponent } from './app/shared/search/search-results/search-results.component'; +import { SearchSettingsComponent } from './app/shared/search/search-settings/search-settings.component'; +import { SearchSidebarComponent } from './app/shared/search/search-sidebar/search-sidebar.component'; +import { SearchFormComponent } from './app/shared/search-form/search-form.component'; +import { CollectionStatisticsPageComponent } from './app/statistics-page/collection-statistics-page/collection-statistics-page.component'; +import { CommunityStatisticsPageComponent } from './app/statistics-page/community-statistics-page/community-statistics-page.component'; +import { ItemStatisticsPageComponent } from './app/statistics-page/item-statistics-page/item-statistics-page.component'; +import { SiteStatisticsPageComponent } from './app/statistics-page/site-statistics-page/site-statistics-page.component'; +import { SubmissionEditComponent } from './app/submission/edit/submission-edit.component'; +import { SubmissionUploadFilesComponent } from './app/submission/form/submission-upload-files/submission-upload-files.component'; +import { SubmissionImportExternalComponent } from './app/submission/import-external/submission-import-external.component'; +import { SubmissionSectionUploadFileComponent } from './app/submission/sections/upload/file/section-upload-file.component'; +import { SubmissionSubmitComponent } from './app/submission/submit/submission-submit.component'; +import { ThumbnailComponent } from './app/thumbnail/thumbnail.component'; +import { WorkflowItemDeleteComponent } from './app/workflowitems-edit-page/workflow-item-delete/workflow-item-delete.component'; +import { WorkflowItemSendBackComponent } from './app/workflowitems-edit-page/workflow-item-send-back/workflow-item-send-back.component'; +import { WorkspaceItemsDeletePageComponent } from './app/workspaceitems-edit-page/workspaceitems-delete-page/workspaceitems-delete-page.component'; + +const DECLARATIONS = [ + FileSectionComponent, + HomePageComponent, + RootComponent, + CommunityListPageComponent, + SearchPageComponent, + ConfigurationSearchPageComponent, + SearchFormComponent, + EndUserAgreementComponent, + PageNotFoundComponent, + ObjectNotFoundComponent, + ForbiddenComponent, + PrivacyComponent, + CollectionStatisticsPageComponent, + CommunityStatisticsPageComponent, + ItemStatisticsPageComponent, + SiteStatisticsPageComponent, + CommunityPageComponent, + CommunityPageSubCommunityListComponent, + CommunityPageSubCollectionListComponent, + CollectionPageComponent, + ItemPageComponent, + FullItemPageComponent, + LoginPageComponent, + LogoutPageComponent, + CreateProfileComponent, + ForgotEmailComponent, + ForgotPasswordFormComponent, + ProfilePageComponent, + RegisterEmailComponent, + MyDSpacePageComponent, + SubmissionEditComponent, + SubmissionImportExternalComponent, + SubmissionSubmitComponent, + WorkflowItemDeleteComponent, + WorkflowItemSendBackComponent, + BreadcrumbsComponent, + FeedbackComponent, + FeedbackFormComponent, + CommunityListComponent, + ComcolPageHandleComponent, + AuthNavMenuComponent, + ExpandableNavbarSectionComponent, + EditItemTemplatePageComponent, + LoadingComponent, + SearchResultsComponent, + AdminSidebarComponent, + SearchSettingsComponent, + ComcolPageBrowseByComponent, + ObjectListComponent, + BrowseByMetadataComponent, + BrowseByDateComponent, + BrowseByTitleComponent, + BrowseByTaxonomyComponent, + ExternalSourceEntryImportModalComponent, + SearchFiltersComponent, + SearchSidebarComponent, + BadgesComponent, + StatusBadgeComponent, + TypeBadgeComponent, + MyDSpaceStatusBadgeComponent, + AccessStatusBadgeComponent, + ResultsBackButtonComponent, + DsoEditMetadataComponent, + ItemAlertsComponent, + FullFileSectionComponent, + MetadataRepresentationListComponent, + DsDynamicLookupRelationSearchTabComponent, + DsDynamicLookupRelationExternalSourceTabComponent, + ItemPageTitleFieldComponent, + MediaViewerComponent, + MediaViewerImageComponent, + MediaViewerVideoComponent, + DenyRequestCopyComponent, + EmailRequestCopyComponent, + GrantRequestCopyComponent, + WorkspaceItemsDeletePageComponent, + ThumbnailComponent, + SubmissionSectionUploadFileComponent, + ItemStatusComponent, + EditBitstreamPageComponent, + UserMenuComponent, + BrowseByComponent, + RegisterEmailFormComponent, + SearchComponent, + ItemListPreviewComponent, + MetadataImportPageComponent, + ItemDetailPreviewFieldComponent, + ProfilePageMetadataFormComponent, + SubmissionUploadFilesComponent, + ComcolPageContentComponent, +]; + +@NgModule({ + imports: [ + RootModule, + CommonModule, + DragDropModule, + FormsModule, + HttpClientModule, + NgbModule, + RouterModule, + ScrollToModule, + StoreModule, + StoreRouterConnectingModule, + TranslateModule, + FormsModule, + NgxGalleryModule, + ...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 + * It is purposefully not exported, it should never be imported anywhere else, its only purpose is + * to give lazily loaded components a context in which they can be compiled successfully + */ +class LazyThemeModule { +} diff --git a/src/themes/qmu/styles/_global-styles.scss b/src/themes/qmu/styles/_global-styles.scss new file mode 100644 index 00000000000..3857f1ad0ac --- /dev/null +++ b/src/themes/qmu/styles/_global-styles.scss @@ -0,0 +1,4 @@ +// Add any global css for the theme here + +// imports the base global style +@import '../../../styles/_global-styles.scss'; diff --git a/src/themes/qmu/styles/_theme_css_variable_overrides.scss b/src/themes/qmu/styles/_theme_css_variable_overrides.scss new file mode 100644 index 00000000000..3ff54cbf8f8 --- /dev/null +++ b/src/themes/qmu/styles/_theme_css_variable_overrides.scss @@ -0,0 +1,8 @@ +// Override or add CSS variables for your theme here + +:root { + //--ds-header-logo-height: 80px; + //--ds-header-logo-height-xs: 50px; + //--ds-header-icon-color: #{$link-color}; + //--ds-header-icon-color-hover: #{darken($link-color, 15%)}; +} diff --git a/src/themes/qmu/styles/_theme_sass_variable_overrides.scss b/src/themes/qmu/styles/_theme_sass_variable_overrides.scss new file mode 100644 index 00000000000..f1387aa619b --- /dev/null +++ b/src/themes/qmu/styles/_theme_sass_variable_overrides.scss @@ -0,0 +1,29 @@ +// DSpace works with CSS variables for its own components, and has a mapping of all bootstrap Sass +// variables to CSS equivalents (see src/styles/_bootstrap_variables_mapping.scss). However Bootstrap +// still uses Sass variables internally. So if you want to override bootstrap (or other sass +// variables) you can do so here. Their CSS counterparts will include the changes you make here + +// $font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !default; +// +// $gray-700: #495057 !default; // Bootstrap $gray-700 +// $gray-100: #f8f9fa !default; // $gray-100 +// +// $blue: #2B4E72 !default; +// $green: #94BA65 !default; +// $cyan: #006666 !default; +// $yellow: #ec9433 !default; +// $red: #CF4444 !default; +// $dark: darken($blue, 17%) !default; +// +// $theme-colors: ( +// primary: $blue, +// secondary: $gray-700, +// success: $green, +// info: $cyan, +// warning: $yellow, +// danger: $red, +// light: $gray-100, +// dark: $dark +// ) !default; +// +// $link-color: map-get($theme-colors, info) !default; diff --git a/src/themes/qmu/styles/theme.scss b/src/themes/qmu/styles/theme.scss new file mode 100644 index 00000000000..05c96f33728 --- /dev/null +++ b/src/themes/qmu/styles/theme.scss @@ -0,0 +1,12 @@ +// This file combines the other scss files in to one. You usually shouldn't edit this file directly + +@import './_theme_sass_variable_overrides.scss'; +@import '../../../styles/_variables.scss'; +@import '../../../styles/_mixins.scss'; +@import '../../../styles/helpers/font_awesome_imports.scss'; +@import '../../../styles/_vendor.scss'; +@import '../../../styles/_custom_variables.scss'; +@import './_theme_css_variable_overrides.scss'; +@import '../../../styles/bootstrap_variables_mapping.scss'; +@import '../../../styles/_truncatable-part.component.scss'; +@import './_global-styles.scss';