[ADF-2432] Creating component to display node permission (#3106)

* [ADF-2432] start adding demo shell changes for permissions

* [ADF-2432] permission display component - phase 1

* [ADF-2432] added permissions to node query|

* [ADF-2432] display permission table for node - phase 2

* [ADF-2432] fixed layout for display permissions

* [ADF-2432] added test and documentation for permission display

* [ADF-2432] fixed wrong rebase changes

* [ADF-2432] added peer review changes

* [ADF-2432] added license header to mock file
This commit is contained in:
Vito
2018-03-21 22:02:40 +00:00
committed by Eugenio Romano
parent ae8b7419a0
commit 99e694ef98
26 changed files with 602 additions and 8 deletions

View File

@@ -47,6 +47,7 @@ import { ReactiveFormsModule } from '@angular/forms';
import { TaskAttachmentsComponent } from './components/process-service/task-attachments.component';
import { ProcessAttachmentsComponent } from './components/process-service/process-attachments.component';
import { SharedLinkViewComponent } from './components/shared-link-view/shared-link-view.component';
import { DemoPermissionComponent } from './components/permissions/demo-permissions.component';
@NgModule({
@@ -94,7 +95,8 @@ import { SharedLinkViewComponent } from './components/shared-link-view/shared-li
ProcessAttachmentsComponent,
OverlayViewerComponent,
SharedLinkViewComponent,
FormLoadingComponent
FormLoadingComponent,
DemoPermissionComponent
],
providers: [
{ provide: AppConfigService, useClass: DebugAppConfigService },

View File

@@ -46,6 +46,7 @@ import { FormListComponent } from './components/form/form-list.component';
import { OverlayViewerComponent } from './components/overlay-viewer/overlay-viewer.component';
import { SharedLinkViewComponent } from './components/shared-link-view/shared-link-view.component';
import { FormLoadingComponent } from './components/form/form-loading.component';
import { DemoPermissionComponent } from './components/permissions/demo-permissions.component';
export const appRoutes: Routes = [
{ path: 'login', component: LoginComponent },
@@ -165,6 +166,11 @@ export const appRoutes: Routes = [
component: SocialComponent,
canActivate: [AuthGuardEcm]
},
{
path: 'permissions/:id',
component: DemoPermissionComponent,
canActivate: [AuthGuardEcm]
},
{ path: 'about', component: AboutComponent },
{ path: 'form', component: FormComponent },
{ path: 'form-list', component: FormListComponent },

View File

@@ -178,7 +178,7 @@ export class DataTableComponent {
getRowForNode() {
const opts: any = {
includeSource: true,
include: ['path', 'properties', 'allowableOperations']
include: ['path', 'properties', 'allowableOperations', 'permissions']
};
Observable.fromPromise(this.apiService.getInstance().nodes

View File

@@ -308,6 +308,13 @@
title="DOCUMENT_LIST.ACTIONS.DOCUMENT.PROCESS_ACTION"
(execute)="startProcesAction($event)">
</content-action>
<content-action
icon="settings_input_component"
title="{{'DOCUMENT_LIST.ACTIONS.PERMISSION' | translate}}"
permission="copy"
(error)="onContentActionError($event)"
(execute)="onPermissionRequested($event)">
</content-action>
</content-actions>
</adf-document-list>
<adf-pagination

View File

@@ -344,6 +344,10 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
this.reloadForInfiniteScrolling();
}
onPermissionRequested(node) {
this.router.navigate(['/permissions', node.value.entry.id]);
}
private reloadForInfiniteScrolling() {
if (this.infiniteScrolling) {
this.documentList.skipCount = 0;

View File

@@ -0,0 +1,2 @@
<adf-permission-list [nodeId]="nodeId">
</adf-permission-list>

View File

@@ -0,0 +1,43 @@
/*!
* @license
* Copyright 2016 Alfresco Software, Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { Component, Optional, OnInit } from '@angular/core';
import { ActivatedRoute, Params} from '@angular/router';
@Component({
selector: 'app-permissions',
templateUrl: './demo-permissions.component.html',
styleUrls: ['./demo-permissions.component.scss']
})
export class DemoPermissionComponent implements OnInit {
nodeId: string;
constructor(@Optional() private route: ActivatedRoute) {
}
ngOnInit() {
if (this.route) {
this.route.params.forEach((params: Params) => {
if (params['id']) {
this.nodeId = params['id'];
}
});
}
}
}