From 500f5c645f43286e4bf37eaec4c3e9abf16aa939 Mon Sep 17 00:00:00 2001 From: Giuseppe Digilio Date: Thu, 27 Feb 2020 11:15:31 +0100 Subject: [PATCH 1/4] Fixed issue with DataService's delete method that used wrong uuid to make the request --- .../bitstream-formats.component.spec.ts | 16 ++++++++-------- .../bitstream-formats.component.ts | 2 +- .../item-delete/item-delete.component.spec.ts | 2 +- .../item-delete/item-delete.component.ts | 4 ++-- .../data/bitstream-format-data.service.spec.ts | 2 +- .../core/data/bitstream-format-data.service.ts | 8 ++++---- src/app/core/data/data.service.ts | 15 +++++++++++---- .../delete-comcol-page.component.spec.ts | 2 +- .../delete-comcol-page.component.ts | 2 +- .../workspaceitem-actions.component.spec.ts | 4 ++-- .../workspaceitem-actions.component.ts | 4 ++-- 11 files changed, 34 insertions(+), 27 deletions(-) diff --git a/src/app/+admin/admin-registries/bitstream-formats/bitstream-formats.component.spec.ts b/src/app/+admin/admin-registries/bitstream-formats/bitstream-formats.component.spec.ts index 5fd2c9cde0..7ff15cad6d 100644 --- a/src/app/+admin/admin-registries/bitstream-formats/bitstream-formats.component.spec.ts +++ b/src/app/+admin/admin-registries/bitstream-formats/bitstream-formats.component.spec.ts @@ -230,10 +230,10 @@ describe('BitstreamFormatsComponent', () => { comp.deleteFormats(); expect(bitstreamFormatService.clearBitStreamFormatRequests).toHaveBeenCalled(); - expect(bitstreamFormatService.delete).toHaveBeenCalledWith(bitstreamFormat1); - expect(bitstreamFormatService.delete).toHaveBeenCalledWith(bitstreamFormat2); - expect(bitstreamFormatService.delete).toHaveBeenCalledWith(bitstreamFormat3); - expect(bitstreamFormatService.delete).toHaveBeenCalledWith(bitstreamFormat4); + expect(bitstreamFormatService.delete).toHaveBeenCalledWith(bitstreamFormat1.id); + expect(bitstreamFormatService.delete).toHaveBeenCalledWith(bitstreamFormat2.id); + expect(bitstreamFormatService.delete).toHaveBeenCalledWith(bitstreamFormat3.id); + expect(bitstreamFormatService.delete).toHaveBeenCalledWith(bitstreamFormat4.id); expect(notificationsServiceStub.success).toHaveBeenCalledWith('admin.registries.bitstream-formats.delete.success.head', 'admin.registries.bitstream-formats.delete.success.amount'); @@ -276,10 +276,10 @@ describe('BitstreamFormatsComponent', () => { comp.deleteFormats(); expect(bitstreamFormatService.clearBitStreamFormatRequests).toHaveBeenCalled(); - expect(bitstreamFormatService.delete).toHaveBeenCalledWith(bitstreamFormat1); - expect(bitstreamFormatService.delete).toHaveBeenCalledWith(bitstreamFormat2); - expect(bitstreamFormatService.delete).toHaveBeenCalledWith(bitstreamFormat3); - expect(bitstreamFormatService.delete).toHaveBeenCalledWith(bitstreamFormat4); + expect(bitstreamFormatService.delete).toHaveBeenCalledWith(bitstreamFormat1.id); + expect(bitstreamFormatService.delete).toHaveBeenCalledWith(bitstreamFormat2.id); + expect(bitstreamFormatService.delete).toHaveBeenCalledWith(bitstreamFormat3.id); + expect(bitstreamFormatService.delete).toHaveBeenCalledWith(bitstreamFormat4.id); expect(notificationsServiceStub.error).toHaveBeenCalledWith('admin.registries.bitstream-formats.delete.failure.head', 'admin.registries.bitstream-formats.delete.failure.amount'); diff --git a/src/app/+admin/admin-registries/bitstream-formats/bitstream-formats.component.ts b/src/app/+admin/admin-registries/bitstream-formats/bitstream-formats.component.ts index ec4003c108..52010e0132 100644 --- a/src/app/+admin/admin-registries/bitstream-formats/bitstream-formats.component.ts +++ b/src/app/+admin/admin-registries/bitstream-formats/bitstream-formats.component.ts @@ -64,7 +64,7 @@ export class BitstreamFormatsComponent implements OnInit { const tasks$ = []; for (const format of formats) { if (hasValue(format.id)) { - tasks$.push(this.bitstreamFormatService.delete(format)); + tasks$.push(this.bitstreamFormatService.delete(format.id)); } } zip(...tasks$).subscribe((results: boolean[]) => { diff --git a/src/app/+item-page/edit-item-page/item-delete/item-delete.component.spec.ts b/src/app/+item-page/edit-item-page/item-delete/item-delete.component.spec.ts index bb9085d31f..a22d81a5dd 100644 --- a/src/app/+item-page/edit-item-page/item-delete/item-delete.component.spec.ts +++ b/src/app/+item-page/edit-item-page/item-delete/item-delete.component.spec.ts @@ -220,7 +220,7 @@ describe('ItemDeleteComponent', () => { spyOn(comp, 'notify'); comp.performAction(); expect(mockItemDataService.delete) - .toHaveBeenCalledWith(mockItem, types.filter((type) => typesSelection[type]).map((type) => type.id)); + .toHaveBeenCalledWith(mockItem.id, types.filter((type) => typesSelection[type]).map((type) => type.id)); expect(comp.notify).toHaveBeenCalled(); }); }); diff --git a/src/app/+item-page/edit-item-page/item-delete/item-delete.component.ts b/src/app/+item-page/edit-item-page/item-delete/item-delete.component.ts index 6fe44c109b..eecbdf8c6f 100644 --- a/src/app/+item-page/edit-item-page/item-delete/item-delete.component.ts +++ b/src/app/+item-page/edit-item-page/item-delete/item-delete.component.ts @@ -312,7 +312,7 @@ export class ItemDeleteComponent ) ), ).subscribe((types) => { - this.itemDataService.delete(this.item, types).pipe(first()).subscribe( + this.itemDataService.delete(this.item.id, types).pipe(first()).subscribe( (succeeded: boolean) => { this.notify(succeeded); } @@ -322,7 +322,7 @@ export class ItemDeleteComponent /** * When the item is successfully delete, navigate to the homepage, otherwise navigate back to the item edit page - * @param response + * @param succeeded */ notify(succeeded: boolean) { if (succeeded) { diff --git a/src/app/core/data/bitstream-format-data.service.spec.ts b/src/app/core/data/bitstream-format-data.service.spec.ts index daf3dea87c..7954416010 100644 --- a/src/app/core/data/bitstream-format-data.service.spec.ts +++ b/src/app/core/data/bitstream-format-data.service.spec.ts @@ -282,7 +282,7 @@ describe('BitstreamFormatDataService', () => { format.id = 'format-id'; const expected = cold('(b|)', {b: true}); - const result = service.delete(format); + const result = service.delete(format.id); expect(result).toBeObservable(expected); }); diff --git a/src/app/core/data/bitstream-format-data.service.ts b/src/app/core/data/bitstream-format-data.service.ts index 5c7029a09f..e8cf030a52 100644 --- a/src/app/core/data/bitstream-format-data.service.ts +++ b/src/app/core/data/bitstream-format-data.service.ts @@ -154,19 +154,19 @@ export class BitstreamFormatDataService extends DataService { /** * Delete an existing DSpace Object on the server - * @param format The DSpace Object to be removed + * @param formatID The DSpace Object'id to be removed * Return an observable that emits true when the deletion was successful, false when it failed */ - delete(format: BitstreamFormat): Observable { + delete(formatID: string): Observable { const requestId = this.requestService.generateRequestId(); const hrefObs = this.halService.getEndpoint(this.linkPath).pipe( - map((endpoint: string) => this.getIDHref(endpoint, format.id))); + map((endpoint: string) => this.getIDHref(endpoint, formatID))); hrefObs.pipe( find((href: string) => hasValue(href)), map((href: string) => { - const request = new DeleteByIDRequest(requestId, href, format.id); + const request = new DeleteByIDRequest(requestId, href, formatID); this.requestService.configure(request); }) ).subscribe(); diff --git a/src/app/core/data/data.service.ts b/src/app/core/data/data.service.ts index 3be1ef9768..7dcfb6bd6e 100644 --- a/src/app/core/data/data.service.ts +++ b/src/app/core/data/data.service.ts @@ -152,7 +152,11 @@ export abstract class DataService { /** * Returns {@link RemoteData} of all object with a list of {@link FollowLinkConfig}, to indicate which embedded * info should be added to the objects + * + * @param options Find list options object * @param linksToFollow List of {@link FollowLinkConfig} that indicate which {@link HALLink}s should be automatically resolved + * @return {Observable>>} + * Return an observable that emits object list */ findAll(options: FindListOptions = {}, ...linksToFollow: Array>): Observable>> { return this.findList(this.getFindAllHref(options), options, ...linksToFollow); @@ -162,6 +166,7 @@ export abstract class DataService { * Returns an observable of {@link RemoteData} of an object, based on href observable, * with a list of {@link FollowLinkConfig}, to automatically resolve {@link HALLink}s of the object * @param href$ Observable of href of object we want to retrieve + * @param options Find list options object * @param linksToFollow List of {@link FollowLinkConfig} that indicate which {@link HALLink}s should be automatically resolved */ protected findList(href$, options: FindListOptions, ...linksToFollow: Array>) { @@ -231,6 +236,7 @@ export abstract class DataService { * Returns a list of observables of {@link RemoteData} of objects, based on an href, with a list of {@link FollowLinkConfig}, * to automatically resolve {@link HALLink}s of the object * @param href The url of object we want to retrieve + * @param findListOptions Find list options object * @param linksToFollow List of {@link FollowLinkConfig} that indicate which {@link HALLink}s should be automatically resolved */ findAllByHref(href: string, findListOptions: FindListOptions = {}, ...linksToFollow: Array>): Observable>> { @@ -259,6 +265,7 @@ export abstract class DataService { * * @param searchMethod The search method for the object * @param options The [[FindListOptions]] object + * @param linksToFollow The array of [[FollowLinkConfig]] * @return {Observable>} * Return an observable that emits response from the server */ @@ -367,16 +374,16 @@ export abstract class DataService { /** * Delete an existing DSpace Object on the server - * @param dso The DSpace Object to be removed + * @param dsoID The DSpace Object' id to be removed * @param copyVirtualMetadata (optional parameter) the identifiers of the relationship types for which the virtual * metadata should be saved as real metadata * @return an observable that emits true when the deletion was successful, false when it failed */ - delete(dso: T, copyVirtualMetadata?: string[]): Observable { + delete(dsoID: string, copyVirtualMetadata?: string[]): Observable { const requestId = this.requestService.generateRequestId(); const hrefObs = this.halService.getEndpoint(this.linkPath).pipe( - map((endpoint: string) => this.getIDHref(endpoint, dso.uuid))); + map((endpoint: string) => this.getIDHref(endpoint, dsoID))); hrefObs.pipe( find((href: string) => hasValue(href)), @@ -388,7 +395,7 @@ export abstract class DataService { + id ); } - const request = new DeleteByIDRequest(requestId, href, dso.uuid); + const request = new DeleteByIDRequest(requestId, href, dsoID); this.requestService.configure(request); }) ).subscribe(); diff --git a/src/app/shared/comcol-forms/delete-comcol-page/delete-comcol-page.component.spec.ts b/src/app/shared/comcol-forms/delete-comcol-page/delete-comcol-page.component.spec.ts index 3b39d36008..dbbeea5bc6 100644 --- a/src/app/shared/comcol-forms/delete-comcol-page/delete-comcol-page.component.spec.ts +++ b/src/app/shared/comcol-forms/delete-comcol-page/delete-comcol-page.component.spec.ts @@ -125,7 +125,7 @@ describe('DeleteComColPageComponent', () => { it('should call delete on the data service', () => { comp.onConfirm(data1); fixture.detectChanges(); - expect(dsoDataService.delete).toHaveBeenCalledWith(data1); + expect(dsoDataService.delete).toHaveBeenCalledWith(data1.id); }); }); diff --git a/src/app/shared/comcol-forms/delete-comcol-page/delete-comcol-page.component.ts b/src/app/shared/comcol-forms/delete-comcol-page/delete-comcol-page.component.ts index 57c860e04f..f5a1a84af5 100644 --- a/src/app/shared/comcol-forms/delete-comcol-page/delete-comcol-page.component.ts +++ b/src/app/shared/comcol-forms/delete-comcol-page/delete-comcol-page.component.ts @@ -43,7 +43,7 @@ export class DeleteComColPageComponent implements * Deletes an existing DSO and redirects to the home page afterwards, showing a notification that states whether or not the deletion was successful */ onConfirm(dso: TDomain) { - this.dsoDataService.delete(dso) + this.dsoDataService.delete(dso.id) .pipe(first()) .subscribe((success: boolean) => { if (success) { diff --git a/src/app/shared/mydspace-actions/workspaceitem/workspaceitem-actions.component.spec.ts b/src/app/shared/mydspace-actions/workspaceitem/workspaceitem-actions.component.spec.ts index 8950966e26..00f5422b27 100644 --- a/src/app/shared/mydspace-actions/workspaceitem/workspaceitem-actions.component.spec.ts +++ b/src/app/shared/mydspace-actions/workspaceitem/workspaceitem-actions.component.spec.ts @@ -1,5 +1,5 @@ import { ChangeDetectionStrategy, Injector, NO_ERRORS_SCHEMA } from '@angular/core'; -import { async, ComponentFixture, fakeAsync, TestBed } from '@angular/core/testing'; +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { Router } from '@angular/router'; import { By } from '@angular/platform-browser'; @@ -141,7 +141,7 @@ describe('WorkspaceitemActionsComponent', () => { fixture.detectChanges(); fixture.whenStable().then(() => { - expect(mockDataService.delete).toHaveBeenCalledWith(mockObject); + expect(mockDataService.delete).toHaveBeenCalledWith(mockObject.id); }); }); diff --git a/src/app/shared/mydspace-actions/workspaceitem/workspaceitem-actions.component.ts b/src/app/shared/mydspace-actions/workspaceitem/workspaceitem-actions.component.ts index 2378c8e251..27512d899e 100644 --- a/src/app/shared/mydspace-actions/workspaceitem/workspaceitem-actions.component.ts +++ b/src/app/shared/mydspace-actions/workspaceitem/workspaceitem-actions.component.ts @@ -1,4 +1,4 @@ -import { Component, Injector, Input, OnDestroy } from '@angular/core'; +import { Component, Injector, Input } from '@angular/core'; import { Router } from '@angular/router'; import { BehaviorSubject } from 'rxjs'; @@ -62,7 +62,7 @@ export class WorkspaceitemActionsComponent extends MyDSpaceActionsComponent { if (result === 'ok') { this.processingDelete$.next(true); - this.objectDataService.delete(this.object) + this.objectDataService.delete(this.object.id) .subscribe((response: boolean) => { this.processingDelete$.next(false); this.handleActionResponse(response); From 355d9984b4495d7df7ccf8825265a9101e676a56 Mon Sep 17 00:00:00 2001 From: Giuseppe Digilio Date: Thu, 27 Feb 2020 11:16:42 +0100 Subject: [PATCH 2/4] Fixed initialization of workspaceitem/workflowitem's selfUrl --- src/app/submission/edit/submission-edit.component.spec.ts | 2 +- src/app/submission/edit/submission-edit.component.ts | 2 +- src/app/submission/submit/submission-submit.component.spec.ts | 2 +- src/app/submission/submit/submission-submit.component.ts | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/app/submission/edit/submission-edit.component.spec.ts b/src/app/submission/edit/submission-edit.component.spec.ts index 115016d2fe..3b8695b023 100644 --- a/src/app/submission/edit/submission-edit.component.spec.ts +++ b/src/app/submission/edit/submission-edit.component.spec.ts @@ -74,7 +74,7 @@ describe('SubmissionEditComponent Component', () => { expect(comp.submissionId).toBe(submissionId); expect(comp.collectionId).toBe(submissionObject.collection.id); - expect(comp.selfUrl).toBe(submissionObject.self); + expect(comp.selfUrl).toBe(submissionObject._links.self.href); expect(comp.sections).toBe(submissionObject.sections); expect(comp.submissionDefinition).toBe(submissionObject.submissionDefinition); diff --git a/src/app/submission/edit/submission-edit.component.ts b/src/app/submission/edit/submission-edit.component.ts index 60c8b9a7a3..908f473136 100644 --- a/src/app/submission/edit/submission-edit.component.ts +++ b/src/app/submission/edit/submission-edit.component.ts @@ -94,7 +94,7 @@ export class SubmissionEditComponent implements OnDestroy, OnInit { } else { this.submissionId = submissionObjectRD.payload.id.toString(); this.collectionId = (submissionObjectRD.payload.collection as Collection).id; - this.selfUrl = submissionObjectRD.payload.self; + this.selfUrl = submissionObjectRD.payload._links.self.href; this.sections = submissionObjectRD.payload.sections; this.submissionDefinition = (submissionObjectRD.payload.submissionDefinition as SubmissionDefinitionsModel); this.changeDetectorRef.detectChanges(); diff --git a/src/app/submission/submit/submission-submit.component.spec.ts b/src/app/submission/submit/submission-submit.component.spec.ts index ca3316669f..809a4dd627 100644 --- a/src/app/submission/submit/submission-submit.component.spec.ts +++ b/src/app/submission/submit/submission-submit.component.spec.ts @@ -68,7 +68,7 @@ describe('SubmissionSubmitComponent Component', () => { expect(comp.submissionId.toString()).toEqual(submissionId); expect(comp.collectionId).toBe(submissionObject.collection.id); - expect(comp.selfUrl).toBe(submissionObject.self); + expect(comp.selfUrl).toBe(submissionObject._links.self.href); expect(comp.submissionDefinition).toBe(submissionObject.submissionDefinition); })); diff --git a/src/app/submission/submit/submission-submit.component.ts b/src/app/submission/submit/submission-submit.component.ts index 0aa0380a25..d3d3ca4e66 100644 --- a/src/app/submission/submit/submission-submit.component.ts +++ b/src/app/submission/submit/submission-submit.component.ts @@ -95,7 +95,7 @@ export class SubmissionSubmitComponent implements OnDestroy, OnInit { this.router.navigate(['/mydspace']); } else { this.collectionId = (submissionObject.collection as Collection).id; - this.selfUrl = submissionObject.self; + this.selfUrl = submissionObject._links.self.href; this.submissionDefinition = (submissionObject.submissionDefinition as SubmissionDefinitionsModel); this.submissionId = submissionObject.id; this.changeDetectorRef.detectChanges(); From 653cf8e921be4b502320704ff16fdc04eda5ccbf Mon Sep 17 00:00:00 2001 From: Giuseppe Digilio Date: Thu, 27 Feb 2020 11:20:00 +0100 Subject: [PATCH 3/4] Temporary fix for Collection defaultAccessConditions issue --- .../submission/sections/upload/section-upload.component.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/app/submission/sections/upload/section-upload.component.ts b/src/app/submission/sections/upload/section-upload.component.ts index 86da00c816..f8f096d4bd 100644 --- a/src/app/submission/sections/upload/section-upload.component.ts +++ b/src/app/submission/sections/upload/section-upload.component.ts @@ -164,7 +164,8 @@ export class SubmissionSectionUploadComponent extends SectionModelComponent { flatMap((submissionObject: SubmissionObjectEntry) => this.collectionDataService.findById(submissionObject.collection)), filter((rd: RemoteData) => isNotUndefined((rd.payload))), tap((collectionRemoteData: RemoteData) => this.collectionName = collectionRemoteData.payload.name), - flatMap((collectionRemoteData: RemoteData) => { + // TODO review this part when https://github.com/DSpace/dspace-angular/issues/575 is resolved +/* flatMap((collectionRemoteData: RemoteData) => { return this.resourcePolicyService.findByHref( (collectionRemoteData.payload as any)._links.defaultAccessConditions.href ); @@ -176,7 +177,7 @@ export class SubmissionSectionUploadComponent extends SectionModelComponent { this.collectionDefaultAccessConditions = Array.isArray(defaultAccessConditionsRemoteData.payload) ? defaultAccessConditionsRemoteData.payload : [defaultAccessConditionsRemoteData.payload]; } - }), + }),*/ flatMap(() => config$), flatMap((config: SubmissionUploadsModel) => { this.required$.next(config.required); From 5d22ba7d367b3451b078af4e7122deadb2d43e4f Mon Sep 17 00:00:00 2001 From: Giuseppe Digilio Date: Wed, 26 Feb 2020 13:58:36 +0100 Subject: [PATCH 4/4] Fixed Related Dynamic Form Controls functionality after Angular 8 upgrade --- src/app/app.module.ts | 10 +++++----- .../section-upload-file-edit.component.ts | 10 ++++++---- .../edit/section-upload-file-edit.model.ts | 19 +++++++++++-------- 3 files changed, 22 insertions(+), 17 deletions(-) diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 7bc4ee1c5a..f5db7ef096 100755 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -3,12 +3,11 @@ import { HttpClientModule } from '@angular/common/http'; import { NgModule } from '@angular/core'; import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; - import { EffectsModule } from '@ngrx/effects'; import { RouterStateSerializer, StoreRouterConnectingModule } from '@ngrx/router-store'; -import { META_REDUCERS, MetaReducer, StoreModule, USER_PROVIDED_META_REDUCERS } from '@ngrx/store'; +import { MetaReducer, StoreModule, USER_PROVIDED_META_REDUCERS } from '@ngrx/store'; import { StoreDevtoolsModule } from '@ngrx/store-devtools'; - +import { DYNAMIC_MATCHER_PROVIDERS } from '@ng-dynamic-forms/core'; import { TranslateModule } from '@ngx-translate/core'; import { ScrollToModule } from '@nicky-lenaers/ngx-scroll-to'; @@ -21,7 +20,7 @@ import { AppRoutingModule } from './app-routing.module'; import { AppComponent } from './app.component'; import { appEffects } from './app.effects'; -import { appMetaReducers, debugMetaReducers, universalMetaReducer } from './app.metareducers'; +import { appMetaReducers, debugMetaReducers } from './app.metareducers'; import { appReducers, AppState } from './app.reducer'; import { CoreModule } from './core/core.module'; @@ -97,7 +96,8 @@ const PROVIDERS = [ provide: RouterStateSerializer, useClass: DSpaceRouterStateSerializer }, - ClientCookieService + ClientCookieService, + ...DYNAMIC_MATCHER_PROVIDERS, ]; const DECLARATIONS = [ diff --git a/src/app/submission/sections/upload/file/edit/section-upload-file-edit.component.ts b/src/app/submission/sections/upload/file/edit/section-upload-file-edit.component.ts index 19ee5d6d3d..217754b42e 100644 --- a/src/app/submission/sections/upload/file/edit/section-upload-file-edit.component.ts +++ b/src/app/submission/sections/upload/file/edit/section-upload-file-edit.component.ts @@ -10,7 +10,9 @@ import { DynamicFormControlEvent, DynamicFormControlModel, DynamicFormGroupModel, - DynamicSelectModel + DynamicSelectModel, + MATCH_ENABLED, + OR_OPERATOR } from '@ng-dynamic-forms/core'; import { WorkspaceitemSectionUploadFileObject } from '../../../../../core/submission/models/workspaceitem-section-upload-file.model'; @@ -206,9 +208,9 @@ export class SubmissionSectionUploadFileEditComponent implements OnChanges { hasGroups.push({ id: 'name', value: condition.name }); } }); - const confStart = { relation: [{ action: 'ENABLE', connective: 'OR', when: hasStart }] }; - const confEnd = { relation: [{ action: 'ENABLE', connective: 'OR', when: hasEnd }] }; - const confGroup = { relation: [{ action: 'ENABLE', connective: 'OR', when: hasGroups }] }; + const confStart = { relations: [{ match: MATCH_ENABLED, operator: OR_OPERATOR, when: hasStart }] }; + const confEnd = { relations: [{ match: MATCH_ENABLED, operator: OR_OPERATOR, when: hasEnd }] }; + const confGroup = { relations: [{ match: MATCH_ENABLED, operator: OR_OPERATOR, when: hasGroups }] }; accessConditionsArrayConfig.groupFactory = () => { const type = new DynamicSelectModel(accessConditionTypeModelConfig, BITSTREAM_FORM_ACCESS_CONDITION_TYPE_LAYOUT); diff --git a/src/app/submission/sections/upload/file/edit/section-upload-file-edit.model.ts b/src/app/submission/sections/upload/file/edit/section-upload-file-edit.model.ts index bc994aac52..dd2ac7a2a7 100644 --- a/src/app/submission/sections/upload/file/edit/section-upload-file-edit.model.ts +++ b/src/app/submission/sections/upload/file/edit/section-upload-file-edit.model.ts @@ -1,8 +1,11 @@ import { DynamicDatePickerModelConfig, DynamicFormArrayModelConfig, + DynamicFormControlLayout, + DynamicFormGroupModelConfig, DynamicSelectModelConfig, - DynamicFormGroupModelConfig, DynamicFormControlLayout, + MATCH_ENABLED, + OR_OPERATOR, } from '@ng-dynamic-forms/core'; export const BITSTREAM_METADATA_FORM_GROUP_CONFIG: DynamicFormGroupModelConfig = { @@ -15,7 +18,7 @@ export const BITSTREAM_METADATA_FORM_GROUP_LAYOUT: DynamicFormControlLayout = { label: 'col-form-label' }, grid: { - label: 'col-sm-3' + label: 'col-sm-3' } }; @@ -52,8 +55,8 @@ export const BITSTREAM_FORM_ACCESS_CONDITION_START_DATE_CONFIG: DynamicDatePicke toggleIcon: 'far fa-calendar-alt', relations: [ { - match: 'ENABLE', - operator: 'OR', + match: MATCH_ENABLED, + operator: OR_OPERATOR, when: [] } ], @@ -83,8 +86,8 @@ export const BITSTREAM_FORM_ACCESS_CONDITION_END_DATE_CONFIG: DynamicDatePickerM toggleIcon: 'far fa-calendar-alt', relations: [ { - match: 'ENABLE', - operator: 'OR', + match: MATCH_ENABLED, + operator: OR_OPERATOR, when: [] } ], @@ -112,8 +115,8 @@ export const BITSTREAM_FORM_ACCESS_CONDITION_GROUPS_CONFIG: DynamicSelectModelCo options: [], relations: [ { - match: 'ENABLE', - operator: 'OR', + match: MATCH_ENABLED, + operator: OR_OPERATOR, when: [] } ],