[ADF-3606] added extra icon for special folders and fixed link navigation folder (#3960)

* [ADF-3606] added extra icon for special folders

* [ADF-3606] changed icons and added tests

* [ADF-3606] added navigation via linked folder

* [ADF-3606] fixed problem in test

* [ADF-3606] added extra documentation

* [ADF-3606] fixed problem with folderchange event
This commit is contained in:
Vito
2018-11-19 12:29:26 +00:00
committed by Eugenio Romano
parent a18b1c1579
commit 2fcec4f235
10 changed files with 151 additions and 8 deletions

View File

@@ -104,11 +104,7 @@ export class ShareDataTableAdapter implements DataTableAdapter {
const node = (<ShareDataRow> row).node;
if (node.entry.isFolder) {
if (this.isSmartFolder(node)) {
return this.documentListService.getMimeTypeIcon('smartFolder');
} else {
return this.documentListService.getMimeTypeIcon('folder');
}
return this.getFolderIcon(node);
}
if (node.entry.isFile) {
@@ -167,12 +163,35 @@ export class ShareDataTableAdapter implements DataTableAdapter {
this.imageResolver = resolver;
}
private getFolderIcon(node: any) {
if (this.isSmartFolder(node)) {
return this.documentListService.getMimeTypeIcon('smartFolder');
} else if (this.isRuleFolder(node)) {
return this.documentListService.getMimeTypeIcon('ruleFolder');
} else if (this.isALinkFolder(node)) {
return this.documentListService.getMimeTypeIcon('linkFolder');
} else {
return this.documentListService.getMimeTypeIcon('folder');
}
}
isSmartFolder(node: any) {
let nodeAspects = this.getNodeAspectNames(node);
return nodeAspects.indexOf('smf:customConfigSmartFolder') > -1 ||
(nodeAspects.indexOf('smf:systemConfigSmartFolder') > -1);
}
isRuleFolder(node: any) {
let nodeAspects = this.getNodeAspectNames(node);
return nodeAspects.indexOf('rule:rules') > -1 ||
(nodeAspects.indexOf('rule:rules') > -1);
}
isALinkFolder(node: any) {
const nodeType = node.entry ? node.entry.nodeType : node.nodeType;
return nodeType === 'app:folderlink';
}
private getNodeAspectNames(node: any): any[] {
return node.entry && node.entry.aspectNames ? node.entry.aspectNames : node.aspectNames ? node.aspectNames : [];
}