Merge branch 'w2p-89720_Add-themable-components_contribute-7.2' into w2p-91272_Add-themed-components-to-upstream-branch

This commit is contained in:
Alexandre Vryghem
2022-05-13 14:41:34 +02:00
13 changed files with 107 additions and 4 deletions

View File

@@ -6,7 +6,7 @@ import { CreateCollectionPageComponent } from './create-collection-page/create-c
import { AuthenticatedGuard } from '../core/auth/authenticated.guard';
import { CreateCollectionPageGuard } from './create-collection-page/create-collection-page.guard';
import { DeleteCollectionPageComponent } from './delete-collection-page/delete-collection-page.component';
import { EditItemTemplatePageComponent } from './edit-item-template-page/edit-item-template-page.component';
import { ThemedEditItemTemplatePageComponent } from './edit-item-template-page/themed-edit-item-template-page.component';
import { ItemTemplatePageResolver } from './edit-item-template-page/item-template-page.resolver';
import { CollectionBreadcrumbResolver } from '../core/breadcrumbs/collection-breadcrumb.resolver';
import { DSOBreadcrumbsService } from '../core/breadcrumbs/dso-breadcrumbs.service';
@@ -52,7 +52,7 @@ import { MenuItemType } from '../shared/menu/menu-item-type.model';
},
{
path: ITEMTEMPLATE_PATH,
component: EditItemTemplatePageComponent,
component: ThemedEditItemTemplatePageComponent,
canActivate: [AuthenticatedGuard],
resolve: {
item: ItemTemplatePageResolver,

View File

@@ -8,6 +8,7 @@ import { CollectionPageRoutingModule } from './collection-page-routing.module';
import { CreateCollectionPageComponent } from './create-collection-page/create-collection-page.component';
import { DeleteCollectionPageComponent } from './delete-collection-page/delete-collection-page.component';
import { EditItemTemplatePageComponent } from './edit-item-template-page/edit-item-template-page.component';
import { ThemedEditItemTemplatePageComponent } from './edit-item-template-page/themed-edit-item-template-page.component';
import { EditItemPageModule } from '../item-page/edit-item-page/edit-item-page.module';
import { CollectionItemMapperComponent } from './collection-item-mapper/collection-item-mapper.component';
import { SearchService } from '../core/shared/search/search.service';
@@ -32,6 +33,7 @@ import { ComcolModule } from '../shared/comcol/comcol.module';
CreateCollectionPageComponent,
DeleteCollectionPageComponent,
EditItemTemplatePageComponent,
ThemedEditItemTemplatePageComponent,
CollectionItemMapperComponent
],
providers: [

View File

@@ -3,7 +3,7 @@
<div class="col-12" *ngVar="(itemRD$ | async) as itemRD">
<ng-container *ngIf="itemRD?.hasSucceeded">
<h2 class="border-bottom">{{ 'collection.edit.template.head' | translate:{ collection: collection?.name } }}</h2>
<ds-item-metadata [updateService]="itemTemplateService" [item]="itemRD?.payload"></ds-item-metadata>
<ds-themed-item-metadata [updateService]="itemTemplateService" [item]="itemRD?.payload"></ds-themed-item-metadata>
<button [routerLink]="getCollectionEditUrl(collection)" class="btn btn-outline-secondary">{{ 'collection.edit.template.cancel' | translate }}</button>
</ng-container>
<ds-loading *ngIf="itemRD?.isLoading" [message]="'collection.edit.template.loading' | translate"></ds-loading>

View File

@@ -0,0 +1,25 @@
import { Component } from '@angular/core';
import { ThemedComponent } from '../../shared/theme-support/themed.component';
import { EditItemTemplatePageComponent } from './edit-item-template-page.component';
@Component({
selector: 'ds-themed-edit-item-template-page',
styleUrls: [],
templateUrl: '../../shared/theme-support/themed.component.html',
})
/**
* Component for editing the item template of a collection
*/
export class ThemedEditItemTemplatePageComponent extends ThemedComponent<EditItemTemplatePageComponent> {
protected getComponentName(): string {
return 'EditItemTemplatePageComponent';
}
protected importThemedComponent(themeName: string): Promise<any> {
return import(`../../../themes/${themeName}/app/collection-page/edit-item-template-page/edit-item-template-page.component`);
}
protected importUnthemedComponent(): Promise<any> {
return import('./edit-item-template-page.component');
}
}

View File

@@ -15,6 +15,7 @@ import { ItemPrivateComponent } from './item-private/item-private.component';
import { ItemPublicComponent } from './item-public/item-public.component';
import { ItemDeleteComponent } from './item-delete/item-delete.component';
import { ItemMetadataComponent } from './item-metadata/item-metadata.component';
import { ThemedItemMetadataComponent } from './item-metadata/themed-item-metadata.component';
import { EditInPlaceFieldComponent } from './item-metadata/edit-in-place-field/edit-in-place-field.component';
import { ItemBitstreamsComponent } from './item-bitstreams/item-bitstreams.component';
import { ItemEditBitstreamComponent } from './item-bitstreams/item-edit-bitstream/item-edit-bitstream.component';
@@ -62,6 +63,7 @@ import { ResourcePoliciesModule } from '../../shared/resource-policies/resource-
ItemDeleteComponent,
ItemStatusComponent,
ItemMetadataComponent,
ThemedItemMetadataComponent,
ItemRelationshipsComponent,
ItemBitstreamsComponent,
ItemVersionHistoryComponent,
@@ -83,7 +85,8 @@ import { ResourcePoliciesModule } from '../../shared/resource-policies/resource-
ObjectValuesPipe
],
exports: [
ItemMetadataComponent
EditInPlaceFieldComponent,
ThemedItemMetadataComponent,
]
})
export class EditItemPageModule {

View File

@@ -0,0 +1,34 @@
import { Component, Input } from '@angular/core';
import { Item } from '../../../core/shared/item.model';
import { UpdateDataService } from '../../../core/data/update-data.service';
import { ItemMetadataComponent } from './item-metadata.component';
import { ThemedComponent } from '../../../shared/theme-support/themed.component';
@Component({
selector: 'ds-themed-item-metadata',
styleUrls: [],
templateUrl: './../../../shared/theme-support/themed.component.html',
})
/**
* Component for displaying an item's metadata edit page
*/
export class ThemedItemMetadataComponent extends ThemedComponent<ItemMetadataComponent> {
@Input() item: Item;
@Input() updateService: UpdateDataService<Item>;
protected inAndOutputNames: (keyof ItemMetadataComponent & keyof this)[] = ['item', 'updateService'];
protected getComponentName(): string {
return 'ItemMetadataComponent';
}
protected importThemedComponent(themeName: string): Promise<any> {
return import(`../../../../themes/${themeName}/app/item-page/edit-item-page/item-metadata/item-metadata.component`);
}
protected importUnthemedComponent(): Promise<any> {
return import(`./item-metadata.component`);
}
}

View File

@@ -0,0 +1,16 @@
import { Component } from '@angular/core';
import {
EditItemTemplatePageComponent as BaseComponent
} from '../../../../../app/collection-page/edit-item-template-page/edit-item-template-page.component';
@Component({
selector: 'ds-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',
})
/**
* Component for editing the item template of a collection
*/
export class EditItemTemplatePageComponent extends BaseComponent {
}

View File

@@ -0,0 +1,17 @@
import { Component } from '@angular/core';
import {
ItemMetadataComponent as BaseComponent
} from '../../../../../../app/item-page/edit-item-page/item-metadata/item-metadata.component';
@Component({
selector: 'ds-item-metadata',
// styleUrls: ['./item-metadata.component.scss'],
styleUrls: ['../../../../../../app/item-page/edit-item-page/item-metadata/item-metadata.component.scss'],
// templateUrl: './item-metadata.component.html',
templateUrl: '../../../../../../app/item-page/edit-item-page/item-metadata/item-metadata.component.html',
})
/**
* Component for displaying an item's metadata edit page
*/
export class ItemMetadataComponent extends BaseComponent {
}

View File

@@ -89,6 +89,10 @@ import { AuthNavMenuComponent } from './app/shared/auth-nav-menu/auth-nav-menu.c
import {
ExpandableNavbarSectionComponent
} from './app/navbar/expandable-navbar-section/expandable-navbar-section.component';
import { ItemMetadataComponent } from './app/item-page/edit-item-page/item-metadata/item-metadata.component';
import {
EditItemTemplatePageComponent
} from './app/collection-page/edit-item-template-page/edit-item-template-page.component';
const DECLARATIONS = [
FileSectionComponent,
@@ -135,6 +139,8 @@ const DECLARATIONS = [
CommunityListComponent,
AuthNavMenuComponent,
ExpandableNavbarSectionComponent,
ItemMetadataComponent,
EditItemTemplatePageComponent,
];
@NgModule({