[ACA-1552] extensibility support for document lists (#714)

* dynamic column component

* dynamic columns for files

* support conditional rendering

* libraries preset

* shared files preset

* recent files preset

* favorites preset

* trashcan preset

* load presets from the extension config

* code fixes
This commit is contained in:
Denys Vuika
2018-10-14 08:21:58 +01:00
committed by Cilibiu Bogdan
parent 933f426759
commit 9dcdacce40
19 changed files with 785 additions and 239 deletions

View File

@@ -49,6 +49,7 @@ import {
mergeObjects
} from '@alfresco/adf-extensions';
import { AppConfigService } from '@alfresco/adf-core';
import { DocumentListPresetRef } from './document-list.extensions';
@Injectable({
providedIn: 'root'
@@ -71,6 +72,22 @@ export class AppExtensionService implements RuleContext {
sidebar: Array<SidebarTabRef> = [];
contentMetadata: any;
documentListPresets: {
files: Array<DocumentListPresetRef>;
libraries: Array<DocumentListPresetRef>;
shared: Array<DocumentListPresetRef>;
recent: Array<DocumentListPresetRef>;
favorites: Array<DocumentListPresetRef>;
trashcan: Array<DocumentListPresetRef>;
} = {
files: [],
libraries: [],
shared: [],
recent: [],
favorites: [],
trashcan: []
};
selection: SelectionState;
navigation: NavigationState;
profile: ProfileState;
@@ -139,6 +156,33 @@ export class AppExtensionService implements RuleContext {
'features.sidebar'
);
this.contentMetadata = this.loadContentMetadata(config);
this.documentListPresets = {
files: this.loader.getElements<DocumentListPresetRef>(
config,
'features.documentList.files'
),
libraries: this.loader.getElements<DocumentListPresetRef>(
config,
'features.documentList.libraries'
),
shared: this.loader.getElements<DocumentListPresetRef>(
config,
'features.documentList.shared'
),
recent: this.loader.getElements<DocumentListPresetRef>(
config,
'features.documentList.recent'
),
favorites: this.loader.getElements<DocumentListPresetRef>(
config,
'features.documentList.favorites'
),
trashcan: this.loader.getElements<DocumentListPresetRef>(
config,
'features.documentList.trashcan'
)
};
}
protected loadNavBar(config: ExtensionConfig): Array<NavBarGroupRef> {