[ACA-2734] Be able to show an extension based on provider (#1405)

* Ability to disable extension based on provider

* Remove mystake

* Use latest adf
This commit is contained in:
Maurizio Vitale 2020-04-08 20:04:49 +01:00 committed by GitHub
parent 74f49a7df1
commit 3ee61c3d29
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 34 additions and 22 deletions

View File

@ -179,6 +179,11 @@
"description": "Unique identifier",
"type": "string"
},
"provider": {
"description": "Define on which system the user should be authenticate",
"type": "string",
"enum": ["BPM", "ECM", "ALL"]
},
"icon": {
"description": "Element icon",
"type": "string"

28
package-lock.json generated
View File

@ -5,25 +5,25 @@
"requires": true,
"dependencies": {
"@alfresco/adf-content-services": {
"version": "3.8.0-179bdb2790b85b5316ae2512b5a13e8beffc74f5",
"resolved": "https://registry.npmjs.org/@alfresco/adf-content-services/-/adf-content-services-3.8.0-179bdb2790b85b5316ae2512b5a13e8beffc74f5.tgz",
"integrity": "sha512-C+2t2qe6KXOG1pDq2aSTTiDqohNf0z4gWitI70khQ0bBLzg6arZPLtCoH9sbyojnzUJ9OZrmm8MjCb71wARkQA==",
"version": "3.8.0-83e362d31a737200bc9251e9505137f198509d2f",
"resolved": "https://registry.npmjs.org/@alfresco/adf-content-services/-/adf-content-services-3.8.0-83e362d31a737200bc9251e9505137f198509d2f.tgz",
"integrity": "sha512-zazTFT5uMb8J7SKoAwQWYOEAQRyifhtRdoDO02sl5/KKh8BPELH7Ba5wgq+SWOPxUwHq2bR8aESfQvs/64NyIw==",
"requires": {
"tslib": "^1.9.0"
}
},
"@alfresco/adf-core": {
"version": "3.8.0-179bdb2790b85b5316ae2512b5a13e8beffc74f5",
"resolved": "https://registry.npmjs.org/@alfresco/adf-core/-/adf-core-3.8.0-179bdb2790b85b5316ae2512b5a13e8beffc74f5.tgz",
"integrity": "sha512-IWP2C9fyjOq/RoyVU1LhSz+14mO2JuQUJu9AZ7XfVLAyYAOHVsIOoLTYjjfjhlhlXeGPnwinBpNsbzvrOz3+OA==",
"version": "3.8.0-83e362d31a737200bc9251e9505137f198509d2f",
"resolved": "https://registry.npmjs.org/@alfresco/adf-core/-/adf-core-3.8.0-83e362d31a737200bc9251e9505137f198509d2f.tgz",
"integrity": "sha512-DW4fUWOtopsZLDhadULW8ywJKHqOdZIRE9YoTlT7023U2iAN6eLMBep7zPAcMNRuzRshw5Uteit1k5uLI2lSPw==",
"requires": {
"tslib": "^1.9.0"
}
},
"@alfresco/adf-extensions": {
"version": "3.8.0-179bdb2790b85b5316ae2512b5a13e8beffc74f5",
"resolved": "https://registry.npmjs.org/@alfresco/adf-extensions/-/adf-extensions-3.8.0-179bdb2790b85b5316ae2512b5a13e8beffc74f5.tgz",
"integrity": "sha512-kaYtmIhO1pcPjnYcyg52Zy51jIxQ2jlkKaGZKc+u5mVy/dQhvb/+JYVhinuWvEhho+fOA6qh+8HHlpDAkbJgag==",
"version": "3.8.0-83e362d31a737200bc9251e9505137f198509d2f",
"resolved": "https://registry.npmjs.org/@alfresco/adf-extensions/-/adf-extensions-3.8.0-83e362d31a737200bc9251e9505137f198509d2f.tgz",
"integrity": "sha512-ywg63QF9yPHrbwvYlFqESw+jJWssJhY3DdhfDwrGsDIeqd64S0t7VXPkiWc0alKEMOA+t2mz5xvOifRaqNOcBw==",
"requires": {
"tslib": "^1.9.0"
}
@ -6717,7 +6717,7 @@
},
"http-errors": {
"version": "1.6.3",
"resolved": "http://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
"integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=",
"requires": {
"depd": "~1.1.2",
@ -8140,13 +8140,13 @@
"dependencies": {
"core-js": {
"version": "2.3.0",
"resolved": "http://registry.npmjs.org/core-js/-/core-js-2.3.0.tgz",
"resolved": "https://registry.npmjs.org/core-js/-/core-js-2.3.0.tgz",
"integrity": "sha1-+rg/uwstjchfpjbEudNMdUIMbWU=",
"dev": true
},
"es6-promise": {
"version": "3.0.2",
"resolved": "http://registry.npmjs.org/es6-promise/-/es6-promise-3.0.2.tgz",
"resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.0.2.tgz",
"integrity": "sha1-AQ1YWEI6XxGJeWZfRkhqlcbuK7Y=",
"dev": true
},
@ -8158,7 +8158,7 @@
},
"readable-stream": {
"version": "2.0.6",
"resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
"integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=",
"dev": true,
"requires": {
@ -8172,7 +8172,7 @@
},
"string_decoder": {
"version": "0.10.31",
"resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
"dev": true
}

View File

@ -40,9 +40,9 @@
},
"private": true,
"dependencies": {
"@alfresco/adf-content-services": "3.8.0-179bdb2790b85b5316ae2512b5a13e8beffc74f5",
"@alfresco/adf-core": "3.8.0-179bdb2790b85b5316ae2512b5a13e8beffc74f5",
"@alfresco/adf-extensions": "3.8.0-179bdb2790b85b5316ae2512b5a13e8beffc74f5",
"@alfresco/adf-content-services": "3.8.0-83e362d31a737200bc9251e9505137f198509d2f",
"@alfresco/adf-core": "3.8.0-83e362d31a737200bc9251e9505137f198509d2f",
"@alfresco/adf-extensions": "3.8.0-83e362d31a737200bc9251e9505137f198509d2f",
"@alfresco/js-api": "3.8.0-17d85a03af98b8dd906f51d10c6887393910e64b",
"@angular-custom-builders/lite-serve": "0.0.2",
"@angular/animations": "7.2.15",

View File

@ -22,11 +22,11 @@
</ng-template>
</ng-container>
<ng-container *ngIf="!item.component">
<ng-container *ngIf="isLoggedIn(item.provider) && !item.component">
<app-expand-menu [item]="item"></app-expand-menu>
</ng-container>
<ng-container *ngIf="item.component">
<ng-container *ngIf="isLoggedIn(item.provider) && item.component">
<adf-dynamic-component
[data]="{ item: item, state: 'expanded' }"
[id]="item.component"
@ -51,11 +51,11 @@
</ng-template>
</ng-container>
<ng-container *ngIf="!item.component">
<ng-container *ngIf="isLoggedIn(item.provider) && !item.component">
<app-button-menu [item]="item"></app-button-menu>
</ng-container>
<ng-container *ngIf="item.component">
<ng-container *ngIf="isLoggedIn(item.provider) && item.component">
<adf-dynamic-component
[data]="{ item: item, state: 'collapsed' }"
[id]="item.component"

View File

@ -36,6 +36,7 @@ import { CollapsedTemplateDirective } from './directives/collapsed-template.dire
import { ExpandedTemplateDirective } from './directives/expanded-template.directive';
import { AppExtensionService } from '../../extensions/extension.service';
import { NavBarGroupRef } from '@alfresco/adf-extensions';
import { AuthenticationService } from '@alfresco/adf-core';
import { Store } from '@ngrx/store';
import { AppStore, getSideNavState } from '@alfresco/aca-shared/store';
import { Subject } from 'rxjs';
@ -62,7 +63,8 @@ export class SidenavComponent implements OnInit, OnDestroy {
constructor(
private store: Store<AppStore>,
private extensions: AppExtensionService
private extensions: AppExtensionService,
private authService: AuthenticationService
) {}
ngOnInit() {
@ -80,6 +82,11 @@ export class SidenavComponent implements OnInit, OnDestroy {
});
}
isLoggedIn(provider: string): boolean {
if (provider === undefined) return true;
return this.authService.isLoggedInWith(provider);
}
trackById(_: number, obj: { id: string }) {
return obj.id;
}