From 69a1ea5584e72e10c27d2b1be444d0f92a458a63 Mon Sep 17 00:00:00 2001 From: Diamantis Tziotzios Date: Wed, 6 Mar 2024 14:39:10 +0200 Subject: [PATCH] no message --- .../reference-type/reference-type.service.ts | 8 ++--- .../src/app/ui/dashboard/dashboard.module.ts | 10 +++--- .../recent-edited-activity.component.ts | 2 ++ .../editor/description-editor.resolver.ts | 32 ++++++++++++++++--- .../editor/description-editor.routing.ts | 17 ++++++++++ .../listing/description-listing.module.ts | 1 + .../ui/dmp/listing/dmp-listing.component.ts | 3 +- .../app/ui/dmp/listing/dmp-listing.module.ts | 1 + .../dmp-listing-item.component.html | 2 +- 9 files changed, 60 insertions(+), 16 deletions(-) diff --git a/dmp-frontend/src/app/core/services/reference-type/reference-type.service.ts b/dmp-frontend/src/app/core/services/reference-type/reference-type.service.ts index c35262a87..b0588c97e 100644 --- a/dmp-frontend/src/app/core/services/reference-type/reference-type.service.ts +++ b/dmp-frontend/src/app/core/services/reference-type/reference-type.service.ts @@ -130,11 +130,11 @@ export class ReferenceTypeService { return fields; } - public getResearcherReferenceType(): Guid { - return Guid.parse('5a2112e7-ea99-4cfe-98a1-68665e26726e');; + public getResearcherReferenceType(): any { + return '5a2112e7-ea99-4cfe-98a1-68665e26726e'; } - public getGrantReferenceType(): Guid { - return Guid.parse('5b9c284f-f041-4995-96cc-fad7ad13289c'); + public getGrantReferenceType(): any { + return '5b9c284f-f041-4995-96cc-fad7ad13289c'; } } \ No newline at end of file diff --git a/dmp-frontend/src/app/ui/dashboard/dashboard.module.ts b/dmp-frontend/src/app/ui/dashboard/dashboard.module.ts index fcb9c5f13..f25b20282 100644 --- a/dmp-frontend/src/app/ui/dashboard/dashboard.module.ts +++ b/dmp-frontend/src/app/ui/dashboard/dashboard.module.ts @@ -5,13 +5,13 @@ import { DashboardComponent } from '@app/ui/dashboard/dashboard.component'; import { DashboardRoutingModule } from '@app/ui/dashboard/dashboard.routing'; import { ConfirmationDialogModule } from '@common/modules/confirmation-dialog/confirmation-dialog.module'; import { CommonUiModule } from '@common/ui/common-ui.module'; -import { DescriptionModule } from '../description/description.module'; -import { DmpModule } from '../dmp/dmp.module'; +import { DescriptionListingModule } from '../description/listing/description-listing.module'; +import { DmpListingModule } from '../dmp/listing/dmp-listing.module'; +import { StartNewDmpDialogModule } from '../dmp/new/start-new-dmp-dialogue/start-new-dmp-dialog.module'; import { DraftsComponent } from './drafts/drafts.component'; import { RecentEditedActivityComponent } from './recent-edited-activity/recent-edited-activity.component'; import { RecentEditedDescriptionActivityComponent } from './recent-edited-description-activity/recent-edited-description-activity.component'; import { RecentEditedDmpActivityComponent } from './recent-edited-dmp-activity/recent-edited-dmp-activity.component'; -import { StartNewDmpDialogModule } from '../dmp/new/start-new-dmp-dialogue/start-new-dmp-dialog.module'; @NgModule({ imports: [ @@ -23,8 +23,8 @@ import { StartNewDmpDialogModule } from '../dmp/new/start-new-dmp-dialogue/start FormsModule, ReactiveFormsModule, - DmpModule, //TODO: add only listing component to a seperate module - DescriptionModule, //TODO: add only listing component to a seperate module + DmpListingModule, + DescriptionListingModule, StartNewDmpDialogModule ], declarations: [ diff --git a/dmp-frontend/src/app/ui/dashboard/recent-edited-activity/recent-edited-activity.component.ts b/dmp-frontend/src/app/ui/dashboard/recent-edited-activity/recent-edited-activity.component.ts index 8f6a6f352..87c999d44 100644 --- a/dmp-frontend/src/app/ui/dashboard/recent-edited-activity/recent-edited-activity.component.ts +++ b/dmp-frontend/src/app/ui/dashboard/recent-edited-activity/recent-edited-activity.component.ts @@ -89,6 +89,8 @@ export class RecentEditedActivityComponent extends BaseComponent implements OnIn this.updateUrl(); } }); + + this.refresh(); } ngOnChanges() { diff --git a/dmp-frontend/src/app/ui/description/editor/description-editor.resolver.ts b/dmp-frontend/src/app/ui/description/editor/description-editor.resolver.ts index 44cc72f24..b73e6976e 100644 --- a/dmp-frontend/src/app/ui/description/editor/description-editor.resolver.ts +++ b/dmp-frontend/src/app/ui/description/editor/description-editor.resolver.ts @@ -27,6 +27,21 @@ export class DescriptionEditorResolver extends BaseEditorResolver { } public static lookupFields(): string[] { + return [ + ...DescriptionEditorResolver.descriptionLookupFields(), + ...DescriptionEditorResolver.dmpLookupFields(nameof(x => x.dmp)), + ...DescriptionEditorResolver.descriptionTemplateLookupFields(nameof(x => x.descriptionTemplate)), + ] + } + + public static cloneLookupFields(): string[] { + return [ + ...DescriptionEditorResolver.descriptionLookupFields(), + ...DescriptionEditorResolver.descriptionTemplateLookupFields(nameof(x => x.descriptionTemplate)), + ] + } + + public static descriptionLookupFields(): string[] { return [ ...BaseEditorResolver.lookupFields(), nameof(x => x.id), @@ -35,13 +50,9 @@ export class DescriptionEditorResolver extends BaseEditorResolver { nameof(x => x.description), nameof(x => x.status), - ...DescriptionEditorResolver.dmpLookupFields(nameof(x => x.dmp)), - [nameof(x => x.dmpDescriptionTemplate), nameof(x => x.id)].join('.'), [nameof(x => x.dmpDescriptionTemplate), nameof(x => x.sectionId)].join('.'), - ...DescriptionEditorResolver.descriptionTemplateLookupFields(nameof(x => x.descriptionTemplate)), - [nameof(x => x.properties), nameof(x => x.fieldSets), nameof(x => x.items), nameof(x => x.comment)].join('.'), [nameof(x => x.properties), nameof(x => x.fieldSets), nameof(x => x.items), nameof(x => x.ordinal)].join('.'), [nameof(x => x.properties), nameof(x => x.fieldSets), nameof(x => x.items), nameof(x => x.fields), nameof(x => x.textValue)].join('.'), @@ -60,7 +71,6 @@ export class DescriptionEditorResolver extends BaseEditorResolver { nameof(x => x.createdAt), nameof(x => x.hash), nameof(x => x.isActive) - ] } @@ -141,6 +151,7 @@ export class DescriptionEditorResolver extends BaseEditorResolver { const id = route.paramMap.get('id'); const dmpId = route.paramMap.get('dmpId'); const dmpSectionId = route.paramMap.get('dmpSectionId'); + const copyDmpId = route.paramMap.get('copyDmpId'); // const cloneid = route.paramMap.get('cloneid'); if (id != null) { return this.descriptionService.getSingle(Guid.parse(id), fields) @@ -154,6 +165,17 @@ export class DescriptionEditorResolver extends BaseEditorResolver { } return description; })); + } else if (copyDmpId != null && id != null && dmpSectionId != null) { + return this.dmpService.getSingle(Guid.parse(copyDmpId), DescriptionEditorResolver.dmpLookupFields()).pipe(tap(x => this.breadcrumbService.addIdResolvedValue(x.id?.toString(), x.label)), takeUntil(this._destroyed), map(dmp => { + return this.descriptionService.getSingle(Guid.parse(id), DescriptionEditorResolver.cloneLookupFields()).pipe(tap(x => this.breadcrumbService.addIdResolvedValue(x.id?.toString(), x.label)), takeUntil(this._destroyed), map(description => { + + description.dmp = dmp; + description.dmpDescriptionTemplate = { + sectionId: Guid.parse(dmpSectionId) + } + return description; + })); + })); } //TODO: check this // else if (cloneid != null) { diff --git a/dmp-frontend/src/app/ui/description/editor/description-editor.routing.ts b/dmp-frontend/src/app/ui/description/editor/description-editor.routing.ts index 75d6ed43c..3a3ee6cad 100644 --- a/dmp-frontend/src/app/ui/description/editor/description-editor.routing.ts +++ b/dmp-frontend/src/app/ui/description/editor/description-editor.routing.ts @@ -44,6 +44,23 @@ const routes: Routes = [ } } }, + { + path: 'copy/:id/:copyDmpId/:dmpSectionId', + canActivate: [AuthGuard], + component: DescriptionEditorComponent, + canDeactivate: [PendingChangesGuard], + resolve: { + 'entity': DescriptionEditorResolver + }, + data: { + ...BreadcrumbService.generateRouteDataConfiguration({ + title: 'BREADCRUMBS.EDIT-DESCRIPTION' + }), + authContext: { + permissions: [AppPermission.EditDescription] + } + } + }, // { // path: 'edit/:id/finalize', diff --git a/dmp-frontend/src/app/ui/description/listing/description-listing.module.ts b/dmp-frontend/src/app/ui/description/listing/description-listing.module.ts index 920e30ca1..a86d9ff85 100644 --- a/dmp-frontend/src/app/ui/description/listing/description-listing.module.ts +++ b/dmp-frontend/src/app/ui/description/listing/description-listing.module.ts @@ -20,6 +20,7 @@ import { DescriptionCopyDialogModule } from '../description-copy-dialog/descript DescriptionListingItemComponent, ], exports: [ + DescriptionListingItemComponent ] }) export class DescriptionListingModule { } diff --git a/dmp-frontend/src/app/ui/dmp/listing/dmp-listing.component.ts b/dmp-frontend/src/app/ui/dmp/listing/dmp-listing.component.ts index e33b4a31b..a421601bb 100644 --- a/dmp-frontend/src/app/ui/dmp/listing/dmp-listing.component.ts +++ b/dmp-frontend/src/app/ui/dmp/listing/dmp-listing.component.ts @@ -96,11 +96,12 @@ export class DmpListingComponent extends BaseComponent implements OnInit { //IBr this.lookup.order = { items: ['-' + nameof(x => x.updatedAt)] }; this.lookup.metadata = { countAll: true }; this.lookup.isActive = [IsActive.Active]; - this.lookup.versionStatuses = [DmpVersionStatus.Current]; if (this.groupId != null && Guid.isGuid(this.groupId)) { this.lookup.groupIds = [Guid.parse(this.groupId)]; this.lookup.versionStatuses = null; + } else { + this.lookup.versionStatuses = [DmpVersionStatus.Current]; } this.refresh(this.lookup); diff --git a/dmp-frontend/src/app/ui/dmp/listing/dmp-listing.module.ts b/dmp-frontend/src/app/ui/dmp/listing/dmp-listing.module.ts index 3831394e5..d51ab340c 100644 --- a/dmp-frontend/src/app/ui/dmp/listing/dmp-listing.module.ts +++ b/dmp-frontend/src/app/ui/dmp/listing/dmp-listing.module.ts @@ -24,6 +24,7 @@ import { DmpInvitationDialogModule } from '../invitation/dialog/dmp-invitation-d DmpListingItemComponent, ], exports: [ + DmpListingItemComponent ] }) export class DmpListingModule { } diff --git a/dmp-frontend/src/app/ui/dmp/listing/listing-item/dmp-listing-item.component.html b/dmp-frontend/src/app/ui/dmp/listing/listing-item/dmp-listing-item.component.html index 91b74d6d8..521638806 100644 --- a/dmp-frontend/src/app/ui/dmp/listing/listing-item/dmp-listing-item.component.html +++ b/dmp-frontend/src/app/ui/dmp/listing/listing-item/dmp-listing-item.component.html @@ -28,7 +28,7 @@ {{'GENERAL.ACTIONS.SHOW-MORE' | translate}}