diff --git a/lib/content-services/src/lib/content.module.ts b/lib/content-services/src/lib/content.module.ts index 0bc708ac75..8f389ca309 100644 --- a/lib/content-services/src/lib/content.module.ts +++ b/lib/content-services/src/lib/content.module.ts @@ -27,11 +27,10 @@ import { BREADCRUMB_DIRECTIVES } from './breadcrumb/breadcrumb.module'; import { CONTENT_VERSION_DIRECTIVES } from './version-manager/version-manager.module'; import { ContentNodeSelectorModule } from './content-node-selector/content-node-selector.module'; import { ContentNodeShareModule } from './content-node-share/content-node-share.module'; -import { ContentDirectiveModule } from './directives/content-directive.module'; +import { CONTENT_DIRECTIVES } from './directives/content-directive.module'; import { CONTENT_DIALOG_DIRECTIVES } from './dialogs/dialog.module'; import { CONTENT_METADATA_DIRECTIVES } from './content-metadata/content-metadata.module'; -import { PermissionManagerModule } from './permission-manager/permission-manager.module'; -import { TreeViewModule } from './tree-view/tree-view.module'; +import { CONTENT_PERMISSION_MANAGER_DIRECTIVES } from './permission-manager/permission-manager.module'; import { ContentTypeModule } from './content-type/content-type.module'; import { AspectListModule } from './aspect-list/aspect-list.module'; import { versionCompatibilityFactory } from './version-compatibility/version-compatibility-factory'; @@ -47,6 +46,7 @@ import { TreeComponent } from './tree'; import { NewVersionUploaderDialogComponent } from './new-version-uploader'; import { VersionCompatibilityDirective } from './version-compatibility'; import { CONTENT_UPLOAD_DIRECTIVES } from './upload'; +import { TreeViewComponent } from './tree-view'; @NgModule({ imports: [ @@ -66,10 +66,10 @@ import { CONTENT_UPLOAD_DIRECTIVES } from './upload'; ContentNodeSelectorModule, ContentNodeShareModule, ...CONTENT_METADATA_DIRECTIVES, - ContentDirectiveModule, - PermissionManagerModule, + ...CONTENT_DIRECTIVES, + ...CONTENT_PERMISSION_MANAGER_DIRECTIVES, ...CONTENT_VERSION_DIRECTIVES, - TreeViewModule, + TreeViewComponent, ContentTypeModule, AspectListModule, VersionCompatibilityDirective, @@ -93,10 +93,10 @@ import { CONTENT_UPLOAD_DIRECTIVES } from './upload'; ContentNodeShareModule, ...CONTENT_METADATA_DIRECTIVES, ...CONTENT_DIALOG_DIRECTIVES, - ContentDirectiveModule, - PermissionManagerModule, + ...CONTENT_DIRECTIVES, + ...CONTENT_PERMISSION_MANAGER_DIRECTIVES, ...CONTENT_VERSION_DIRECTIVES, - TreeViewModule, + TreeViewComponent, AspectListModule, ContentTypeModule, VersionCompatibilityDirective, diff --git a/lib/content-services/src/lib/permission-manager/components/add-permission/add-permission-dialog.component.spec.ts b/lib/content-services/src/lib/permission-manager/components/add-permission/add-permission-dialog.component.spec.ts index 32f64ed039..1a4b4d38a5 100644 --- a/lib/content-services/src/lib/permission-manager/components/add-permission/add-permission-dialog.component.spec.ts +++ b/lib/content-services/src/lib/permission-manager/components/add-permission/add-permission-dialog.component.spec.ts @@ -63,7 +63,7 @@ describe('AddPermissionDialog', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [ContentTestingModule], + imports: [ContentTestingModule, AddPermissionDialogComponent], providers: [ { provide: MatDialogRef, useValue: dialogRef }, { provide: MAT_DIALOG_DATA, useValue: data } diff --git a/lib/content-services/src/lib/permission-manager/components/add-permission/add-permission-dialog.component.ts b/lib/content-services/src/lib/permission-manager/components/add-permission/add-permission-dialog.component.ts index 20f05fb09f..c53e885d39 100644 --- a/lib/content-services/src/lib/permission-manager/components/add-permission/add-permission-dialog.component.ts +++ b/lib/content-services/src/lib/permission-manager/components/add-permission/add-permission-dialog.component.ts @@ -16,13 +16,38 @@ */ import { Component, Inject, ViewEncapsulation } from '@angular/core'; -import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; +import { MAT_DIALOG_DATA, MatDialogModule, MatDialogRef } from '@angular/material/dialog'; import { NodeEntry, PermissionElement } from '@alfresco/js-api'; import { AddPermissionDialogData } from './add-permission-dialog-data.interface'; import { MemberModel } from '../../models/member.model'; +import { CommonModule } from '@angular/common'; +import { MatButtonModule } from '@angular/material/button'; +import { TranslateModule } from '@ngx-translate/core'; +import { DataColumnComponent, DataColumnListComponent, DataTableComponent, DateColumnHeaderComponent } from '@alfresco/adf-core'; +import { MatIconModule } from '@angular/material/icon'; +import { AddPermissionPanelComponent } from './add-permission-panel.component'; +import { UserIconColumnComponent } from '../user-icon-column/user-icon-column.component'; +import { UserNameColumnComponent } from '../user-name-column/user-name-column.component'; +import { UserRoleColumnComponent } from '../user-role-column/user-role-column.component'; @Component({ selector: 'adf-add-permission-dialog', + standalone: true, + imports: [ + CommonModule, + MatDialogModule, + MatButtonModule, + TranslateModule, + DataTableComponent, + DataColumnListComponent, + DataColumnComponent, + DateColumnHeaderComponent, + MatIconModule, + AddPermissionPanelComponent, + UserIconColumnComponent, + UserNameColumnComponent, + UserRoleColumnComponent + ], templateUrl: './add-permission-dialog.component.html', styleUrls: ['./add-permission-dialog.component.scss'], encapsulation: ViewEncapsulation.None @@ -34,8 +59,7 @@ export class AddPermissionDialogComponent { private existingMembers: PermissionElement[] = []; currentSelection: NodeEntry[] = []; - constructor(@Inject(MAT_DIALOG_DATA) public data: AddPermissionDialogData, - private dialogRef: MatDialogRef) { + constructor(@Inject(MAT_DIALOG_DATA) public data: AddPermissionDialogData, private dialogRef: MatDialogRef) { this.existingMembers = this.data.node.permissions.locallySet || []; } @@ -44,18 +68,19 @@ export class AddPermissionDialogComponent { } onAddClicked() { - const selection = this.selectedMembers.filter(member => !member.readonly).map(member => member.toPermissionElement()); + const selection = this.selectedMembers.filter((member) => !member.readonly).map((member) => member.toPermissionElement()); this.data.confirm.next(selection); this.data.confirm.complete(); } onSearchAddClicked() { - const newMembers = this.currentSelection.map(item => MemberModel.parseFromSearchResult(item)) - .filter(({id}) => !this.selectedMembers.find((member) => member.id === id)); + const newMembers = this.currentSelection + .map((item) => MemberModel.parseFromSearchResult(item)) + .filter(({ id }) => !this.selectedMembers.find((member) => member.id === id)); this.selectedMembers = this.selectedMembers.concat(newMembers); this.selectedMembers.forEach((member) => { - const existingMember = this.existingMembers.find(({authorityId}) => authorityId === member.id); + const existingMember = this.existingMembers.find(({ authorityId }) => authorityId === member.id); if (existingMember) { member.role = existingMember.name; member.accessStatus = existingMember.accessStatus; @@ -82,8 +107,7 @@ export class AddPermissionDialogComponent { } onBulkUpdate(role: string) { - this.selectedMembers.filter(member => !member.readonly) - .forEach(member => (member.role = role)); + this.selectedMembers.filter((member) => !member.readonly).forEach((member) => (member.role = role)); } onMemberDelete({ id }: MemberModel) { @@ -101,6 +125,6 @@ export class AddPermissionDialogComponent { } isValid(): boolean { - return this.selectedMembers.filter(({readonly}) => !readonly).length && this.selectedMembers.every(({role}) => !!role); + return this.selectedMembers.filter(({ readonly }) => !readonly).length && this.selectedMembers.every(({ role }) => !!role); } } diff --git a/lib/content-services/src/lib/permission-manager/components/add-permission/add-permission-panel.component.spec.ts b/lib/content-services/src/lib/permission-manager/components/add-permission/add-permission-panel.component.spec.ts index d8fb8ff98b..f22983db60 100644 --- a/lib/content-services/src/lib/permission-manager/components/add-permission/add-permission-panel.component.spec.ts +++ b/lib/content-services/src/lib/permission-manager/components/add-permission/add-permission-panel.component.spec.ts @@ -37,7 +37,7 @@ describe('AddPermissionPanelComponent', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [ContentTestingModule] + imports: [ContentTestingModule, AddPermissionPanelComponent] }); fixture = TestBed.createComponent(AddPermissionPanelComponent); loader = TestbedHarnessEnvironment.loader(fixture); diff --git a/lib/content-services/src/lib/permission-manager/components/add-permission/add-permission-panel.component.ts b/lib/content-services/src/lib/permission-manager/components/add-permission/add-permission-panel.component.ts index be466fddb6..d692e235a2 100644 --- a/lib/content-services/src/lib/permission-manager/components/add-permission/add-permission-panel.component.ts +++ b/lib/content-services/src/lib/permission-manager/components/add-permission/add-permission-panel.component.ts @@ -19,14 +19,33 @@ import { SearchConfigurationService } from '../../../search/services/search-conf import { SearchService } from '../../../search/services/search.service'; import { Node, NodeEntry } from '@alfresco/js-api'; import { Component, EventEmitter, Output, ViewChild, ViewEncapsulation } from '@angular/core'; -import { UntypedFormControl } from '@angular/forms'; +import { ReactiveFormsModule, UntypedFormControl } from '@angular/forms'; import { debounceTime } from 'rxjs/operators'; import { SearchPermissionConfigurationService } from './search-config-permission.service'; import { SearchComponent } from '../../../search/components/search.component'; -import { MatSelectionList } from '@angular/material/list'; +import { MatListModule, MatSelectionList } from '@angular/material/list'; +import { CommonModule } from '@angular/common'; +import { MatFormFieldModule } from '@angular/material/form-field'; +import { MatInputModule } from '@angular/material/input'; +import { TranslateModule } from '@ngx-translate/core'; +import { MatIconModule } from '@angular/material/icon'; +import { SearchModule } from '../../../search'; +import { UserIconColumnComponent } from '../user-icon-column/user-icon-column.component'; @Component({ selector: 'adf-add-permission-panel', + standalone: true, + imports: [ + CommonModule, + MatFormFieldModule, + MatInputModule, + TranslateModule, + ReactiveFormsModule, + MatIconModule, + SearchModule, + MatListModule, + UserIconColumnComponent + ], templateUrl: './add-permission-panel.component.html', styleUrls: ['./add-permission-panel.component.scss'], encapsulation: ViewEncapsulation.None, diff --git a/lib/content-services/src/lib/permission-manager/components/add-permission/add-permission.component.html b/lib/content-services/src/lib/permission-manager/components/add-permission/add-permission.component.html index 9c1a9f1e92..708626b222 100644 --- a/lib/content-services/src/lib/permission-manager/components/add-permission/add-permission.component.html +++ b/lib/content-services/src/lib/permission-manager/components/add-permission/add-permission.component.html @@ -1,6 +1,4 @@ - - +