mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-08 10:34:15 +00:00
Merge remote-tracking branch 'templates/w2p-91874_Authority-control_contribute-7.2' into atmire-contributions-alex-7.5
# Conflicts: # src/app/shared/form/form.module.ts # src/app/shared/shared.module.ts # src/themes/custom/lazy-theme.module.ts
This commit is contained in:
@@ -18,12 +18,12 @@
|
||||
<!--[fields]="['project.identifier.status']"-->
|
||||
<!--[label]="'project.page.status'">-->
|
||||
<!--</ds-generic-item-page-field>-->
|
||||
<ds-metadata-representation-list
|
||||
<ds-themed-metadata-representation-list
|
||||
[parentItem]="object"
|
||||
[itemType]="'OrgUnit'"
|
||||
[metadataFields]="['project.contributor.other']"
|
||||
[label]="'project.page.contributor' | translate">
|
||||
</ds-metadata-representation-list>
|
||||
</ds-themed-metadata-representation-list>
|
||||
<ds-generic-item-page-field [item]="object"
|
||||
[fields]="['project.identifier.funder']"
|
||||
[label]="'project.page.funder'">
|
||||
|
@@ -13,6 +13,9 @@ import { MetadataValuesComponent } from './field-components/metadata-values/meta
|
||||
import { GenericItemPageFieldComponent } from './simple/field-components/specific-field/generic/generic-item-page-field.component';
|
||||
import { MetadataRepresentationListComponent } from './simple/metadata-representation-list/metadata-representation-list.component';
|
||||
import { RelatedItemsComponent } from './simple/related-items/related-items-component';
|
||||
import {
|
||||
ThemedMetadataRepresentationListComponent
|
||||
} from './simple/metadata-representation-list/themed-metadata-representation-list.component';
|
||||
|
||||
const ENTRY_COMPONENTS = [
|
||||
ItemVersionsDeleteModalComponent,
|
||||
@@ -27,6 +30,7 @@ const COMPONENTS = [
|
||||
MetadataValuesComponent,
|
||||
GenericItemPageFieldComponent,
|
||||
MetadataRepresentationListComponent,
|
||||
ThemedMetadataRepresentationListComponent,
|
||||
RelatedItemsComponent,
|
||||
];
|
||||
|
||||
|
@@ -25,12 +25,12 @@
|
||||
</ng-container>
|
||||
<ds-themed-item-page-file-section [item]="object"></ds-themed-item-page-file-section>
|
||||
<ds-item-page-date-field [item]="object"></ds-item-page-date-field>
|
||||
<ds-metadata-representation-list class="ds-item-page-mixed-author-field"
|
||||
<ds-themed-metadata-representation-list class="ds-item-page-mixed-author-field"
|
||||
[parentItem]="object"
|
||||
[itemType]="'Person'"
|
||||
[metadataFields]="['dc.contributor.author', 'dc.creator']"
|
||||
[label]="'relationships.isAuthorOf' | translate">
|
||||
</ds-metadata-representation-list>
|
||||
</ds-themed-metadata-representation-list>
|
||||
<ds-generic-item-page-field [item]="object"
|
||||
[fields]="['journal.title']"
|
||||
[label]="'publication.page.journal-title'">
|
||||
|
@@ -26,12 +26,12 @@
|
||||
</ng-container>
|
||||
<ds-themed-item-page-file-section [item]="object"></ds-themed-item-page-file-section>
|
||||
<ds-item-page-date-field [item]="object"></ds-item-page-date-field>
|
||||
<ds-metadata-representation-list class="ds-item-page-mixed-author-field"
|
||||
<ds-themed-metadata-representation-list class="ds-item-page-mixed-author-field"
|
||||
[parentItem]="object"
|
||||
[itemType]="'Person'"
|
||||
[metadataFields]="['dc.contributor.author', 'dc.creator']"
|
||||
[label]="'relationships.isAuthorOf' | translate">
|
||||
</ds-metadata-representation-list>
|
||||
</ds-themed-metadata-representation-list>
|
||||
<ds-generic-item-page-field [item]="object"
|
||||
[fields]="['journal.title']"
|
||||
[label]="'item.page.journal-title'">
|
||||
|
@@ -0,0 +1,35 @@
|
||||
import { ThemedComponent } from '../../../shared/theme-support/themed.component';
|
||||
import { MetadataRepresentationListComponent } from './metadata-representation-list.component';
|
||||
import { Component, Input } from '@angular/core';
|
||||
import { Item } from '../../../core/shared/item.model';
|
||||
|
||||
@Component({
|
||||
selector: 'ds-themed-metadata-representation-list',
|
||||
styleUrls: [],
|
||||
templateUrl: '../../../shared/theme-support/themed.component.html',
|
||||
})
|
||||
export class ThemedMetadataRepresentationListComponent extends ThemedComponent<MetadataRepresentationListComponent> {
|
||||
protected inAndOutputNames: (keyof MetadataRepresentationListComponent & keyof this)[] = ['parentItem', 'itemType', 'metadataFields', 'label', 'incrementBy'];
|
||||
|
||||
@Input() parentItem: Item;
|
||||
|
||||
@Input() itemType: string;
|
||||
|
||||
@Input() metadataFields: string[];
|
||||
|
||||
@Input() label: string;
|
||||
|
||||
@Input() incrementBy = 10;
|
||||
|
||||
protected getComponentName(): string {
|
||||
return 'MetadataRepresentationListComponent';
|
||||
}
|
||||
|
||||
protected importThemedComponent(themeName: string): Promise<any> {
|
||||
return import(`../../../../themes/${themeName}/app/item-page/simple/metadata-representation-list/metadata-representation-list.component`);
|
||||
}
|
||||
|
||||
protected importUnthemedComponent(): Promise<any> {
|
||||
return import(`./metadata-representation-list.component`);
|
||||
}
|
||||
}
|
@@ -12,7 +12,7 @@
|
||||
<li ngbNavItem>
|
||||
<a ngbNavLink>{{'submission.sections.describe.relationship-lookup.search-tab.tab-title.' + relationshipOptions.relationshipType | translate : { count: (totalInternal$ | async)} }}</a>
|
||||
<ng-template ngbNavContent>
|
||||
<ds-dynamic-lookup-relation-search-tab
|
||||
<ds-themed-dynamic-lookup-relation-search-tab
|
||||
[selection$]="selection$"
|
||||
[listId]="listId"
|
||||
[relationship]="relationshipOptions"
|
||||
@@ -28,13 +28,13 @@
|
||||
(deselectObject)="deselect($event)"
|
||||
(resultFound)="setTotalInternals($event.pageInfo.totalElements)"
|
||||
class="d-block pt-3">
|
||||
</ds-dynamic-lookup-relation-search-tab>
|
||||
</ds-themed-dynamic-lookup-relation-search-tab>
|
||||
</ng-template>
|
||||
</li>
|
||||
<li ngbNavItem *ngFor="let source of (externalSourcesRD$ | async); let idx = index">
|
||||
<a ngbNavLink>{{'submission.sections.describe.relationship-lookup.search-tab.tab-title.' + source.id | translate : { count: (totalExternal$ | async)[idx] } }}</a>
|
||||
<ng-template ngbNavContent>
|
||||
<ds-dynamic-lookup-relation-external-source-tab
|
||||
<ds-themed-dynamic-lookup-relation-external-source-tab
|
||||
[label]="label"
|
||||
[listId]="listId"
|
||||
[repeatable]="repeatable"
|
||||
@@ -45,7 +45,7 @@
|
||||
[externalSource]="source"
|
||||
(importedObject)="imported($event)"
|
||||
class="d-block pt-3">
|
||||
</ds-dynamic-lookup-relation-external-source-tab>
|
||||
</ds-themed-dynamic-lookup-relation-external-source-tab>
|
||||
</ng-template>
|
||||
</li>
|
||||
<li ngbNavItem *ngIf="!isEditRelationship">
|
||||
|
@@ -0,0 +1,62 @@
|
||||
import { ThemedComponent } from '../../../../../theme-support/themed.component';
|
||||
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
||||
import { RelationshipOptions } from '../../../models/relationship-options.model';
|
||||
import { ListableObject } from '../../../../../object-collection/shared/listable-object.model';
|
||||
import { Context } from '../../../../../../core/shared/context.model';
|
||||
import { Item } from '../../../../../../core/shared/item.model';
|
||||
import { SEARCH_CONFIG_SERVICE } from '../../../../../../my-dspace-page/my-dspace-page.component';
|
||||
import { SearchConfigurationService } from '../../../../../../core/shared/search/search-configuration.service';
|
||||
import { Collection } from '../../../../../../core/shared/collection.model';
|
||||
import { ExternalSource } from '../../../../../../core/shared/external-source.model';
|
||||
import { DsDynamicLookupRelationExternalSourceTabComponent } from './dynamic-lookup-relation-external-source-tab.component';
|
||||
import { fadeIn, fadeInOut } from '../../../../../animations/fade';
|
||||
|
||||
@Component({
|
||||
selector: 'ds-themed-dynamic-lookup-relation-external-source-tab',
|
||||
styleUrls: [],
|
||||
templateUrl: '../../../../../theme-support/themed.component.html',
|
||||
providers: [
|
||||
{
|
||||
provide: SEARCH_CONFIG_SERVICE,
|
||||
useClass: SearchConfigurationService
|
||||
}
|
||||
],
|
||||
animations: [
|
||||
fadeIn,
|
||||
fadeInOut
|
||||
]
|
||||
})
|
||||
export class ThemedDynamicLookupRelationExternalSourceTabComponent extends ThemedComponent<DsDynamicLookupRelationExternalSourceTabComponent> {
|
||||
protected inAndOutputNames: (keyof DsDynamicLookupRelationExternalSourceTabComponent & keyof this)[] = ['label', 'listId',
|
||||
'item', 'collection', 'relationship', 'context', 'repeatable', 'importedObject', 'externalSource'];
|
||||
|
||||
@Input() label: string;
|
||||
|
||||
@Input() listId: string;
|
||||
|
||||
@Input() item: Item;
|
||||
|
||||
@Input() collection: Collection;
|
||||
|
||||
@Input() relationship: RelationshipOptions;
|
||||
|
||||
@Input() context: Context;
|
||||
|
||||
@Input() repeatable: boolean;
|
||||
|
||||
@Output() importedObject: EventEmitter<ListableObject> = new EventEmitter<ListableObject>();
|
||||
|
||||
@Input() externalSource: ExternalSource;
|
||||
|
||||
protected getComponentName(): string {
|
||||
return 'DsDynamicLookupRelationExternalSourceTabComponent';
|
||||
}
|
||||
|
||||
protected importThemedComponent(themeName: string): Promise<any> {
|
||||
return import(`../../../../../../../themes/${themeName}/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/dynamic-lookup-relation-external-source-tab.component`);
|
||||
}
|
||||
|
||||
protected importUnthemedComponent(): Promise<any> {
|
||||
return import(`./dynamic-lookup-relation-external-source-tab.component`);
|
||||
}
|
||||
}
|
@@ -0,0 +1,71 @@
|
||||
import { ThemedComponent } from '../../../../../theme-support/themed.component';
|
||||
import { DsDynamicLookupRelationSearchTabComponent } from './dynamic-lookup-relation-search-tab.component';
|
||||
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
||||
import { RelationshipOptions } from '../../../models/relationship-options.model';
|
||||
import { Observable } from 'rxjs';
|
||||
import { ListableObject } from '../../../../../object-collection/shared/listable-object.model';
|
||||
import { Context } from '../../../../../../core/shared/context.model';
|
||||
import { RelationshipType } from '../../../../../../core/shared/item-relationships/relationship-type.model';
|
||||
import { Item } from '../../../../../../core/shared/item.model';
|
||||
import { SearchResult } from '../../../../../search/models/search-result.model';
|
||||
import { SearchObjects } from '../../../../../search/models/search-objects.model';
|
||||
import { DSpaceObject } from '../../../../../../core/shared/dspace-object.model';
|
||||
import { SEARCH_CONFIG_SERVICE } from '../../../../../../my-dspace-page/my-dspace-page.component';
|
||||
import { SearchConfigurationService } from '../../../../../../core/shared/search/search-configuration.service';
|
||||
|
||||
@Component({
|
||||
selector: 'ds-themed-dynamic-lookup-relation-search-tab',
|
||||
styleUrls: [],
|
||||
templateUrl: '../../../../../theme-support/themed.component.html',
|
||||
providers: [
|
||||
{
|
||||
provide: SEARCH_CONFIG_SERVICE,
|
||||
useClass: SearchConfigurationService
|
||||
}
|
||||
]
|
||||
})
|
||||
export class ThemedDynamicLookupRelationSearchTabComponent extends ThemedComponent<DsDynamicLookupRelationSearchTabComponent> {
|
||||
protected inAndOutputNames: (keyof DsDynamicLookupRelationSearchTabComponent & keyof this)[] = ['relationship', 'listId',
|
||||
'query', 'repeatable', 'selection$', 'context', 'relationshipType', 'item', 'isLeft', 'toRemove', 'isEditRelationship',
|
||||
'deselectObject', 'selectObject', 'resultFound'];
|
||||
|
||||
@Input() relationship: RelationshipOptions;
|
||||
|
||||
@Input() listId: string;
|
||||
|
||||
@Input() query: string;
|
||||
|
||||
@Input() repeatable: boolean;
|
||||
|
||||
@Input() selection$: Observable<ListableObject[]>;
|
||||
|
||||
@Input() context: Context;
|
||||
|
||||
@Input() relationshipType: RelationshipType;
|
||||
|
||||
@Input() item: Item;
|
||||
|
||||
@Input() isLeft: boolean;
|
||||
|
||||
@Input() toRemove: SearchResult<Item>[];
|
||||
|
||||
@Input() isEditRelationship: boolean;
|
||||
|
||||
@Output() deselectObject: EventEmitter<ListableObject> = new EventEmitter<ListableObject>();
|
||||
|
||||
@Output() selectObject: EventEmitter<ListableObject> = new EventEmitter<ListableObject>();
|
||||
|
||||
@Output() resultFound: EventEmitter<SearchObjects<DSpaceObject>> = new EventEmitter<SearchObjects<DSpaceObject>>();
|
||||
|
||||
protected getComponentName(): string {
|
||||
return 'DsDynamicLookupRelationSearchTabComponent';
|
||||
}
|
||||
|
||||
protected importThemedComponent(themeName: string): Promise<any> {
|
||||
return import(`../../../../../../../themes/${themeName}/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/dynamic-lookup-relation-search-tab.component`);
|
||||
}
|
||||
|
||||
protected importUnthemedComponent(): Promise<any> {
|
||||
return import(`./dynamic-lookup-relation-search-tab.component`);
|
||||
}
|
||||
}
|
@@ -40,6 +40,8 @@ import { NgxMaskModule } from 'ngx-mask';
|
||||
import { ThemedExternalSourceEntryImportModalComponent } from './builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/external-source-entry-import-modal/themed-external-source-entry-import-modal.component';
|
||||
import { NgbDatepickerModule, NgbTimepickerModule } from '@ng-bootstrap/ng-bootstrap';
|
||||
import { CdkTreeModule } from '@angular/cdk/tree';
|
||||
import { ThemedDynamicLookupRelationSearchTabComponent } from './builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/themed-dynamic-lookup-relation-search-tab.component';
|
||||
import { ThemedDynamicLookupRelationExternalSourceTabComponent } from './builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/themed-dynamic-lookup-relation-external-source-tab.component';
|
||||
|
||||
const COMPONENTS = [
|
||||
CustomSwitchComponent,
|
||||
@@ -48,8 +50,10 @@ const COMPONENTS = [
|
||||
DsDynamicListComponent,
|
||||
DsDynamicLookupComponent,
|
||||
DsDynamicLookupRelationSearchTabComponent,
|
||||
ThemedDynamicLookupRelationSearchTabComponent,
|
||||
DsDynamicLookupRelationSelectionTabComponent,
|
||||
DsDynamicLookupRelationExternalSourceTabComponent,
|
||||
ThemedDynamicLookupRelationExternalSourceTabComponent,
|
||||
DsDynamicDisabledComponent,
|
||||
DsDynamicLookupRelationModalComponent,
|
||||
DsDynamicScrollableDropdownComponent,
|
||||
|
@@ -0,0 +1,11 @@
|
||||
import { MetadataRepresentationListComponent as BaseComponent } from '../../../../../../app/item-page/simple/metadata-representation-list/metadata-representation-list.component';
|
||||
import { Component } from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'ds-metadata-representation-list',
|
||||
// templateUrl: './metadata-representation-list.component.html'
|
||||
templateUrl: '../../../../../../app/item-page/simple/metadata-representation-list/metadata-representation-list.component.html'
|
||||
})
|
||||
export class MetadataRepresentationListComponent extends BaseComponent {
|
||||
|
||||
}
|
@@ -0,0 +1,26 @@
|
||||
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 { Component } from '@angular/core';
|
||||
import { SEARCH_CONFIG_SERVICE } from '../../../../../../../../../app/my-dspace-page/my-dspace-page.component';
|
||||
import { SearchConfigurationService } from '../../../../../../../../../app/core/shared/search/search-configuration.service';
|
||||
import { fadeIn, fadeInOut } from '../../../../../../../../../app/shared/animations/fade';
|
||||
|
||||
@Component({
|
||||
selector: 'ds-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
|
||||
]
|
||||
})
|
||||
export class DsDynamicLookupRelationExternalSourceTabComponent extends BaseComponent {
|
||||
|
||||
}
|
@@ -0,0 +1,21 @@
|
||||
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 { Component } from '@angular/core';
|
||||
import { SEARCH_CONFIG_SERVICE } from '../../../../../../../../../app/my-dspace-page/my-dspace-page.component';
|
||||
import { SearchConfigurationService } from '../../../../../../../../../app/core/shared/search/search-configuration.service';
|
||||
|
||||
@Component({
|
||||
selector: 'ds-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
|
||||
}
|
||||
]
|
||||
})
|
||||
export class DsDynamicLookupRelationSearchTabComponent extends BaseComponent {
|
||||
|
||||
}
|
@@ -130,6 +130,9 @@ import { ItemAlertsComponent } from './app/item-page/alerts/item-alerts.componen
|
||||
import {
|
||||
FullFileSectionComponent
|
||||
} from './app/item-page/full/field-components/file-section/full-file-section.component';
|
||||
import { MetadataRepresentationListComponent } from './app/item-page/simple/metadata-representation-list/metadata-representation-list.component';
|
||||
import { DsDynamicLookupRelationSearchTabComponent } from './app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/dynamic-lookup-relation-search-tab.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';
|
||||
|
||||
const DECLARATIONS = [
|
||||
FileSectionComponent,
|
||||
@@ -189,6 +192,9 @@ const DECLARATIONS = [
|
||||
DsoEditMetadataComponent,
|
||||
ItemAlertsComponent,
|
||||
FullFileSectionComponent,
|
||||
MetadataRepresentationListComponent,
|
||||
DsDynamicLookupRelationSearchTabComponent,
|
||||
DsDynamicLookupRelationExternalSourceTabComponent,
|
||||
];
|
||||
|
||||
@NgModule({
|
||||
|
Reference in New Issue
Block a user