[ADF-2921] New Icon for Smart Folders (#3747)

* [ADF-2921] New Icon for Smart Folders

* [ADF-2921] Smart folder icon now  matches current theme

* [ADF-2921] Unit tests added and fixed

* [ADF-2921] Improved logic on Share Datatable Adapter
This commit is contained in:
davidcanonieto
2018-09-14 17:54:22 +01:00
committed by Eugenio Romano
parent 0569065684
commit a6e61ac3a4
6 changed files with 56 additions and 2 deletions

View File

@@ -16,7 +16,7 @@
*/
import { DataColumn, DataRow, DataSorting, ContentService } from '@alfresco/adf-core';
import { FileNode, FolderNode } from './../../mock';
import { FileNode, FolderNode, SmartFolderNode } from './../../mock';
import { DocumentListService } from './../services/document-list.service';
import { ShareDataRow } from './share-data-row.model';
import { ShareDataTableAdapter } from './share-datatable-adapter';
@@ -209,6 +209,19 @@ describe('ShareDataTableAdapter', () => {
expect(value).toContain(`svg`);
});
it('should resolve smart folder icon', () => {
spyOn(documentListService, 'getMimeTypeIcon').and.returnValue(`assets/images/ft_ic_smart_folder.svg`);
let adapter = new ShareDataTableAdapter(documentListService, null, null);
let row = new ShareDataRow(new SmartFolderNode(), documentListService, null);
let col = <DataColumn> { type: 'folder', key: '$thumbnail' };
let value = adapter.getValue(row, col);
expect(value).toContain(`assets/images/ft_ic_smart_folder`);
expect(value).toContain(`svg`);
});
it('should resolve file thumbnail', () => {
let imageUrl = 'http://<addresss>';
let adapter = new ShareDataTableAdapter(documentListService, null, null);

View File

@@ -104,7 +104,11 @@ export class ShareDataTableAdapter implements DataTableAdapter {
const node = (<ShareDataRow> row).node;
if (node.entry.isFolder) {
return this.documentListService.getMimeTypeIcon('folder');
if (this.isSmartFolder(node)) {
return this.documentListService.getMimeTypeIcon('smartFolder');
} else {
return this.documentListService.getMimeTypeIcon('folder');
}
}
if (node.entry.isFile) {
@@ -163,6 +167,11 @@ export class ShareDataTableAdapter implements DataTableAdapter {
this.imageResolver = resolver;
}
isSmartFolder(node: any) {
return node.entry.aspectNames.indexOf('smf:customConfigSmartFolder') > -1 ||
(node.entry.aspectNames.indexOf('smf:systemConfigSmartFolder') > -1);
}
private sortRows(rows: DataRow[], sorting: DataSorting) {
if (this.sortingMode === 'server') {
return;

View File

@@ -54,6 +54,7 @@ export class NodeMinimal implements MinimalNodeEntryEntity {
content: ContentInfo;
path: PathInfoEntity;
properties: NodeProperties = {};
aspectNames: string[];
}
export class UserInfo {