[CST-9636] WIP Create the access-control.module

This commit is contained in:
Giuseppe Digilio
2023-05-10 18:25:41 +02:00
parent 7b5b795954
commit e31fc562c5
7 changed files with 51 additions and 72 deletions

View File

@@ -9,18 +9,14 @@ import { CollectionCurateComponent } from './collection-curate/collection-curate
import { CollectionSourceComponent } from './collection-source/collection-source.component'; import { CollectionSourceComponent } from './collection-source/collection-source.component';
import { CollectionAuthorizationsComponent } from './collection-authorizations/collection-authorizations.component'; import { CollectionAuthorizationsComponent } from './collection-authorizations/collection-authorizations.component';
import { CollectionFormModule } from '../collection-form/collection-form.module'; import { CollectionFormModule } from '../collection-form/collection-form.module';
import { CollectionSourceControlsComponent } from './collection-source/collection-source-controls/collection-source-controls.component'; import {
CollectionSourceControlsComponent
} from './collection-source/collection-source-controls/collection-source-controls.component';
import { ResourcePoliciesModule } from '../../shared/resource-policies/resource-policies.module'; import { ResourcePoliciesModule } from '../../shared/resource-policies/resource-policies.module';
import { FormModule } from '../../shared/form/form.module'; import { FormModule } from '../../shared/form/form.module';
import { ComcolModule } from '../../shared/comcol/comcol.module'; import { ComcolModule } from '../../shared/comcol/comcol.module';
import { CollectionAccessControlComponent } from './collection-access-control/collection-access-control.component'; import { CollectionAccessControlComponent } from './collection-access-control/collection-access-control.component';
import { import { AccessControlFormModule } from '../../shared/access-control-form-container/access-control-form.module';
AccessControlArrayFormModule
} from '../../shared/access-control-form-container/access-control-array-form/access-control-array-form.component';
import { UiSwitchModule } from 'ngx-ui-switch';
import {
AccessControlFormContainerModule
} from '../../shared/access-control-form-container/access-control-form-container.component';
/** /**
* Module that contains all components related to the Edit Collection page administrator functionality * Module that contains all components related to the Edit Collection page administrator functionality
@@ -34,9 +30,7 @@ import {
ResourcePoliciesModule, ResourcePoliciesModule,
FormModule, FormModule,
ComcolModule, ComcolModule,
AccessControlArrayFormModule, AccessControlFormModule,
UiSwitchModule,
AccessControlFormContainerModule,
], ],
declarations: [ declarations: [
EditCollectionPageComponent, EditCollectionPageComponent,

View File

@@ -1,8 +1,6 @@
import { Component, OnInit } from '@angular/core'; import { Component, OnInit } from '@angular/core';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
import { RemoteData } from '../../../core/data/remote-data'; import { RemoteData } from '../../../core/data/remote-data';
import { SelectableListService } from '../../../shared/object-list/selectable-list/selectable-list.service';
import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
import { ActivatedRoute } from '@angular/router'; import { ActivatedRoute } from '@angular/router';
import { map } from 'rxjs/operators'; import { map } from 'rxjs/operators';
import { getFirstSucceededRemoteData } from '../../../core/shared/operators'; import { getFirstSucceededRemoteData } from '../../../core/shared/operators';

View File

@@ -11,13 +11,9 @@ import { CommunityFormModule } from '../community-form/community-form.module';
import { ResourcePoliciesModule } from '../../shared/resource-policies/resource-policies.module'; import { ResourcePoliciesModule } from '../../shared/resource-policies/resource-policies.module';
import { ComcolModule } from '../../shared/comcol/comcol.module'; import { ComcolModule } from '../../shared/comcol/comcol.module';
import { CommunityAccessControlComponent } from './community-access-control/community-access-control.component'; import { CommunityAccessControlComponent } from './community-access-control/community-access-control.component';
import { UiSwitchModule } from 'ngx-ui-switch';
import { import {
AccessControlArrayFormModule AccessControlFormModule
} from '../../shared/access-control-form-container/access-control-array-form/access-control-array-form.component'; } from '../../shared/access-control-form-container/access-control-form.module';
import {
AccessControlFormContainerModule
} from '../../shared/access-control-form-container/access-control-form-container.component';
/** /**
* Module that contains all components related to the Edit Community page administrator functionality * Module that contains all components related to the Edit Community page administrator functionality
@@ -30,9 +26,7 @@ import {
CommunityFormModule, CommunityFormModule,
ComcolModule, ComcolModule,
ResourcePoliciesModule, ResourcePoliciesModule,
UiSwitchModule, AccessControlFormModule,
AccessControlArrayFormModule,
AccessControlFormContainerModule,
], ],
declarations: [ declarations: [
EditCommunityPageComponent, EditCommunityPageComponent,

View File

@@ -47,12 +47,10 @@ import { IdentifierDataComponent } from '../../shared/object-list/identifier-dat
import { ItemRegisterDoiComponent } from './item-register-doi/item-register-doi.component'; import { ItemRegisterDoiComponent } from './item-register-doi/item-register-doi.component';
import { DsoSharedModule } from '../../dso-shared/dso-shared.module'; import { DsoSharedModule } from '../../dso-shared/dso-shared.module';
import { ItemAccessControlComponent } from './item-access-control/item-access-control.component'; import { ItemAccessControlComponent } from './item-access-control/item-access-control.component';
import { UiSwitchModule } from 'ngx-ui-switch';
import { ResultsBackButtonModule } from '../../shared/results-back-button/results-back-button.module'; import { ResultsBackButtonModule } from '../../shared/results-back-button/results-back-button.module';
import { import {
AccessControlFormContainerModule AccessControlFormModule
} from '../../shared/access-control-form-container/access-control-form-container.component'; } from '../../shared/access-control-form-container/access-control-form.module';
/** /**
* Module that contains all components related to the Edit Item page administrator functionality * Module that contains all components related to the Edit Item page administrator functionality
@@ -69,9 +67,8 @@ import {
NgbModule, NgbModule,
ItemVersionsModule, ItemVersionsModule,
DsoSharedModule, DsoSharedModule,
UiSwitchModule,
ResultsBackButtonModule, ResultsBackButtonModule,
AccessControlFormContainerModule, AccessControlFormModule,
], ],
declarations: [ declarations: [
EditItemPageComponent, EditItemPageComponent,

View File

@@ -1,17 +1,10 @@
import { Component, Input, NgModule, OnDestroy, OnInit } from '@angular/core'; import { Component, Input, OnDestroy, OnInit } from '@angular/core';
import { CommonModule } from '@angular/common'; import { FormArray, FormBuilder, FormControl } from '@angular/forms';
import { FormArray, FormBuilder, FormControl, ReactiveFormsModule } from '@angular/forms';
import { SharedBrowseByModule } from '../../browse-by/shared-browse-by.module';
import { TranslateModule } from '@ngx-translate/core';
import { NgbDatepickerModule } from '@ng-bootstrap/ng-bootstrap';
import { ControlMaxStartDatePipe } from './control-max-start-date.pipe';
import { ControlMaxEndDatePipe } from './control-max-end-date.pipe';
import { distinctUntilChanged, takeUntil } from 'rxjs/operators'; import { distinctUntilChanged, takeUntil } from 'rxjs/operators';
import { Subject } from 'rxjs'; import { Subject } from 'rxjs';
import { AccessesConditionOption } from '../../../core/config/models/config-accesses-conditions-options.model'; import { AccessesConditionOption } from '../../../core/config/models/config-accesses-conditions-options.model';
@Component({ @Component({
selector: 'ds-access-control-array-form', selector: 'ds-access-control-array-form',
templateUrl: './access-control-array-form.component.html', templateUrl: './access-control-array-form.component.html',
@@ -151,11 +144,3 @@ export class AccessControlArrayFormComponent implements OnInit, OnDestroy {
} }
} }
@NgModule({
imports: [ CommonModule, ReactiveFormsModule, SharedBrowseByModule, TranslateModule, NgbDatepickerModule ],
declarations: [ AccessControlArrayFormComponent, ControlMaxStartDatePipe, ControlMaxEndDatePipe ],
exports: [ AccessControlArrayFormComponent ],
})
export class AccessControlArrayFormModule {
}

View File

@@ -1,20 +1,13 @@
import { ChangeDetectorRef, Component, Input, NgModule, OnDestroy, ViewChild } from '@angular/core'; import { ChangeDetectorRef, Component, Input, OnDestroy, ViewChild } from '@angular/core';
import { concatMap, Observable, shareReplay } from 'rxjs'; import { concatMap, Observable, shareReplay } from 'rxjs';
import { RemoteData } from '../../core/data/remote-data'; import { RemoteData } from '../../core/data/remote-data';
import { Item } from '../../core/shared/item.model'; import { Item } from '../../core/shared/item.model';
import { import { AccessControlArrayFormComponent } from './access-control-array-form/access-control-array-form.component';
AccessControlArrayFormComponent,
AccessControlArrayFormModule
} from './access-control-array-form/access-control-array-form.component';
import { BulkAccessControlService } from './bulk-access-control.service'; import { BulkAccessControlService } from './bulk-access-control.service';
import { SelectableListService } from '../object-list/selectable-list/selectable-list.service'; import { SelectableListService } from '../object-list/selectable-list/selectable-list.service';
import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
import { map, take } from 'rxjs/operators'; import { map, take } from 'rxjs/operators';
import { CommonModule } from '@angular/common';
import { ListableObject } from '../object-collection/shared/listable-object.model'; import { ListableObject } from '../object-collection/shared/listable-object.model';
import { SharedModule } from '../shared.module';
import { TranslateModule } from '@ngx-translate/core';
import { UiSwitchModule } from 'ngx-ui-switch';
import { DSpaceObject } from '../../core/shared/dspace-object.model'; import { DSpaceObject } from '../../core/shared/dspace-object.model';
import { import {
ITEM_ACCESS_CONTROL_SELECT_BITSTREAMS_LIST_ID, ITEM_ACCESS_CONTROL_SELECT_BITSTREAMS_LIST_ID,
@@ -175,21 +168,3 @@ export interface AccessControlFormState {
selectedBitstreams: ListableObject[], selectedBitstreams: ListableObject[],
} }
} }
@NgModule({
imports: [
CommonModule,
AccessControlArrayFormModule,
SharedModule,
TranslateModule,
UiSwitchModule
],
declarations: [
AccessControlFormContainerComponent,
ItemAccessControlSelectBitstreamsModalComponent
],
exports: [ AccessControlFormContainerComponent, AccessControlArrayFormModule ],
})
export class AccessControlFormContainerModule {}

View File

@@ -0,0 +1,36 @@
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { TranslateModule } from '@ngx-translate/core';
import { UiSwitchModule } from 'ngx-ui-switch';
import {
AccessControlArrayFormComponent
} from './access-control-array-form/access-control-array-form.component';
import { SharedModule } from '../shared.module';
import {
ItemAccessControlSelectBitstreamsModalComponent
} from './item-access-control-select-bitstreams-modal/item-access-control-select-bitstreams-modal.component';
import { AccessControlFormContainerComponent } from './access-control-form-container.component';
import { ControlMaxStartDatePipe } from './access-control-array-form/control-max-start-date.pipe';
import { ControlMaxEndDatePipe } from './access-control-array-form/control-max-end-date.pipe';
import { NgbDatepickerModule } from '@ng-bootstrap/ng-bootstrap';
@NgModule({
imports: [
CommonModule,
SharedModule,
TranslateModule,
UiSwitchModule,
NgbDatepickerModule
],
declarations: [
AccessControlFormContainerComponent,
AccessControlArrayFormComponent,
ItemAccessControlSelectBitstreamsModalComponent,
ControlMaxStartDatePipe,
ControlMaxEndDatePipe
],
exports: [ AccessControlFormContainerComponent, AccessControlArrayFormComponent ],
})
export class AccessControlFormModule {}