diff --git a/src/app/shared/access-control-form-container/access-control-array-form/access-control-array-form.component.ts b/src/app/shared/access-control-form-container/access-control-array-form/access-control-array-form.component.ts index 519fc0ae3e..ec9c5c9a41 100644 --- a/src/app/shared/access-control-form-container/access-control-array-form/access-control-array-form.component.ts +++ b/src/app/shared/access-control-form-container/access-control-array-form/access-control-array-form.component.ts @@ -70,7 +70,7 @@ export class AccessControlArrayFormComponent implements OnInit, OnDestroy { * @return The form value */ getValue() { - return this.form.value.accessControl + return (this.form.value.accessControl as any[]) .filter(x => x.itemName !== null && x.itemName !== '') .map(x => ({ name: x.itemName, diff --git a/src/app/shared/access-control-form-container/access-control-form-container-intial-state.ts b/src/app/shared/access-control-form-container/access-control-form-container-intial-state.ts new file mode 100644 index 0000000000..6e19e04d84 --- /dev/null +++ b/src/app/shared/access-control-form-container/access-control-form-container-intial-state.ts @@ -0,0 +1,27 @@ +import {ListableObject} from '../object-collection/shared/listable-object.model'; + +export const accessControlInitialFormState: AccessControlFormState = { + item: { + toggleStatus: false, + accessMode: 'replace', + }, + bitstream: { + toggleStatus: false, + accessMode: 'replace', + changesLimit: 'all', // 'all' | 'selected' + selectedBitstreams: [] as ListableObject[], + }, +}; + +export interface AccessControlFormState { + item: { + toggleStatus: boolean, + accessMode: 'add' | 'replace', + }, + bitstream: { + toggleStatus: boolean, + accessMode: 'add' | 'replace', + changesLimit: string, + selectedBitstreams: ListableObject[], + } +} diff --git a/src/app/shared/access-control-form-container/access-control-form-container.component.ts b/src/app/shared/access-control-form-container/access-control-form-container.component.ts index 9394b083b1..7ebcc73ed8 100644 --- a/src/app/shared/access-control-form-container/access-control-form-container.component.ts +++ b/src/app/shared/access-control-form-container/access-control-form-container.component.ts @@ -7,7 +7,6 @@ import { BulkAccessControlService } from './bulk-access-control.service'; import { SelectableListService } from '../object-list/selectable-list/selectable-list.service'; import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; import { map, take } from 'rxjs/operators'; -import { ListableObject } from '../object-collection/shared/listable-object.model'; import { DSpaceObject } from '../../core/shared/dspace-object.model'; import { ITEM_ACCESS_CONTROL_SELECT_BITSTREAMS_LIST_ID, @@ -17,6 +16,7 @@ import { BulkAccessConfigDataService } from '../../core/config/bulk-access-confi import { getFirstCompletedRemoteData } from '../../core/shared/operators'; import { BulkAccessConditionOptions } from '../../core/config/models/bulk-access-condition-options.model'; import { AlertType } from '../alert/aletr-type'; +import { accessControlInitialFormState } from './access-control-form-container-intial-state'; @Component({ selector: 'ds-access-control-form-container', @@ -61,7 +61,7 @@ export class AccessControlFormContainerComponent impleme private cdr: ChangeDetectorRef ) {} - state = initialState; + state = accessControlInitialFormState; dropdownData$: Observable = this.bulkAccessConfigService.findByName('default').pipe( getFirstCompletedRemoteData(), @@ -92,7 +92,7 @@ export class AccessControlFormContainerComponent impleme reset() { this.bitstreamAccessCmp.reset(); this.itemAccessCmp.reset(); - this.state = initialState; + this.state = accessControlInitialFormState; } /** @@ -156,29 +156,3 @@ export class AccessControlFormContainerComponent impleme } - -const initialState: AccessControlFormState = { - item: { - toggleStatus: false, - accessMode: 'replace', - }, - bitstream: { - toggleStatus: false, - accessMode: 'replace', - changesLimit: 'all', // 'all' | 'selected' - selectedBitstreams: [] as ListableObject[], - }, -}; - -export interface AccessControlFormState { - item: { - toggleStatus: boolean, - accessMode: 'add' | 'replace', - }, - bitstream: { - toggleStatus: boolean, - accessMode: 'add' | 'replace', - changesLimit: string, - selectedBitstreams: ListableObject[], - } -} diff --git a/src/app/shared/access-control-form-container/bulk-access-control.service.ts b/src/app/shared/access-control-form-container/bulk-access-control.service.ts index 5302e3aa4a..51eba4275d 100644 --- a/src/app/shared/access-control-form-container/bulk-access-control.service.ts +++ b/src/app/shared/access-control-form-container/bulk-access-control.service.ts @@ -7,7 +7,7 @@ import { TranslateService } from '@ngx-translate/core'; import { ScriptDataService } from '../../core/data/processes/script-data.service'; import { ProcessParameter } from '../../process-page/processes/process-parameter.model'; -import { AccessControlFormState } from './access-control-form-container.component'; +import { AccessControlFormState } from './access-control-form-container-intial-state'; import { getFirstCompletedRemoteData } from '../../core/shared/operators'; import { RemoteData } from '../../core/data/remote-data'; import { Process } from '../../process-page/processes/process.model';