mirror of
https://github.com/Alfresco/alfresco-content-app.git
synced 2025-07-31 17:38:28 +00:00
[ACA-543] Disable Share feature based on repository property (#658)
* add visibility type to navigation schema * repository data model * add repository state * add repository state * add repository evaluator * allot navigation elements to called again * AppRuleContext extends * repository status resolver * map repository evaluator * reevaluate navigation elements * generic route evaluator * add route guard on Share * evaluate guard based on data property * changed old imports * add Action suffix * set state false by default * tree shakable services to simplify rebase * fix rebase * isQuickShareEnabled initial null state * repository store effects * repository store actions * refactored * refactored
This commit is contained in:
committed by
Denys Vuika
parent
30863e7bdd
commit
8d9d3dbc45
@@ -26,7 +26,7 @@
|
||||
import { Injectable, Type } from '@angular/core';
|
||||
import { Store } from '@ngrx/store';
|
||||
import { Route } from '@angular/router';
|
||||
import { AppStore } from '../store/states';
|
||||
import { AppStore, RepositoryState } from '../store/states';
|
||||
import { ruleContext } from '../store/selectors/app.selectors';
|
||||
import { NodePermissionService } from '../services/node-permission.service';
|
||||
import { ProfileResolver } from '../services/profile.resolver';
|
||||
@@ -75,6 +75,7 @@ export class AppExtensionService implements RuleContext {
|
||||
selection: SelectionState;
|
||||
navigation: NavigationState;
|
||||
profile: ProfileState;
|
||||
repository: RepositoryState;
|
||||
|
||||
constructor(
|
||||
private store: Store<AppStore>,
|
||||
@@ -87,6 +88,7 @@ export class AppExtensionService implements RuleContext {
|
||||
this.selection = result.selection;
|
||||
this.navigation = result.navigation;
|
||||
this.profile = result.profile;
|
||||
this.repository = result.repository;
|
||||
});
|
||||
}
|
||||
|
||||
@@ -141,16 +143,17 @@ export class AppExtensionService implements RuleContext {
|
||||
}
|
||||
|
||||
protected loadNavBar(config: ExtensionConfig): Array<NavBarGroupRef> {
|
||||
const elements = this.loader.getElements<NavBarGroupRef>(
|
||||
config,
|
||||
'features.navbar'
|
||||
);
|
||||
return this.loader.getElements<NavBarGroupRef>(config, 'features.navbar');
|
||||
}
|
||||
|
||||
getApplicationNavigation(elements) {
|
||||
return elements.map(group => {
|
||||
return {
|
||||
...group,
|
||||
items: (group.items || [])
|
||||
.filter(item => !item.disabled)
|
||||
.filter(item => {
|
||||
return this.filterByRules(item);
|
||||
})
|
||||
.sort(sortByOrder)
|
||||
.map(item => {
|
||||
const routeRef = this.extensions.getRouteById(item.route);
|
||||
|
Reference in New Issue
Block a user