mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-31 17:38:48 +00:00
@@ -46,8 +46,8 @@ export declare class DocumentList implements OnInit, AfterViewChecked, AfterCont
|
||||
goToRoute(r: any, $event: any): void;
|
||||
getContentUrl(document: DocumentEntity): string;
|
||||
getDocumentThumbnailUrl(document: DocumentEntity): string;
|
||||
executeContentAction(document: DocumentEntity, action: ContentActionModel): void;
|
||||
private getItemPath(item);
|
||||
private displayFolderContent(path);
|
||||
private setupDefaultColumns();
|
||||
executeContentAction(node: DocumentEntity, action: ContentActionModel): void;
|
||||
displayFolderContent(path: any): void;
|
||||
private _getItemPath(item);
|
||||
private _setupDefaultColumns();
|
||||
}
|
||||
|
@@ -65,7 +65,7 @@ System.register(['angular2/core', './../services/alfresco.service', './../models
|
||||
};
|
||||
DocumentList.prototype.ngAfterContentInit = function () {
|
||||
if (!this.columns || this.columns.length === 0) {
|
||||
this.setupDefaultColumns();
|
||||
this._setupDefaultColumns();
|
||||
}
|
||||
};
|
||||
DocumentList.prototype.ngAfterViewChecked = function () {
|
||||
@@ -106,7 +106,7 @@ System.register(['angular2/core', './../services/alfresco.service', './../models
|
||||
});
|
||||
if (this.navigate && item) {
|
||||
if (item.isFolder) {
|
||||
var path = this.getItemPath(item);
|
||||
var path = this._getItemPath(item);
|
||||
this.route.push({
|
||||
name: item.displayName,
|
||||
path: path
|
||||
@@ -133,24 +133,27 @@ System.register(['angular2/core', './../services/alfresco.service', './../models
|
||||
DocumentList.prototype.getDocumentThumbnailUrl = function (document) {
|
||||
return this._alfrescoService.getDocumentThumbnailUrl(document);
|
||||
};
|
||||
DocumentList.prototype.executeContentAction = function (document, action) {
|
||||
// todo: safety checks
|
||||
action.handler(document);
|
||||
DocumentList.prototype.executeContentAction = function (node, action) {
|
||||
if (action) {
|
||||
action.handler(node);
|
||||
}
|
||||
};
|
||||
DocumentList.prototype.getItemPath = function (item) {
|
||||
DocumentList.prototype.displayFolderContent = function (path) {
|
||||
var _this = this;
|
||||
if (path) {
|
||||
this.currentFolderPath = path;
|
||||
this._alfrescoService
|
||||
.getFolder(path)
|
||||
.subscribe(function (folder) { return _this.folder = folder; }, function (error) { return _this.errorMessage = error; });
|
||||
}
|
||||
};
|
||||
DocumentList.prototype._getItemPath = function (item) {
|
||||
var container = item.location.container;
|
||||
var path = item.location.path !== '/' ? (item.location.path + '/') : '/';
|
||||
var relativePath = container + path + item.fileName;
|
||||
return item.location.site + '/' + relativePath;
|
||||
};
|
||||
DocumentList.prototype.displayFolderContent = function (path) {
|
||||
var _this = this;
|
||||
this.currentFolderPath = path;
|
||||
this._alfrescoService
|
||||
.getFolder(path)
|
||||
.subscribe(function (folder) { return _this.folder = folder; }, function (error) { return _this.errorMessage = error; });
|
||||
};
|
||||
DocumentList.prototype.setupDefaultColumns = function () {
|
||||
DocumentList.prototype._setupDefaultColumns = function () {
|
||||
var thumbnailCol = new content_column_model_1.ContentColumnModel();
|
||||
thumbnailCol.source = '$thumbnail';
|
||||
var nameCol = new content_column_model_1.ContentColumnModel();
|
||||
|
@@ -1 +1 @@
|
||||
{"version":3,"file":"document-list.js","sourceRoot":"","sources":["document-list.ts"],"names":[],"mappings":"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"}
|
||||
{"version":3,"file":"document-list.js","sourceRoot":"","sources":["document-list.ts"],"names":[],"mappings":"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"}
|
@@ -30,7 +30,7 @@ import {ContentActionModel} from './../models/content-action.model';
|
||||
import {ContentColumnModel} from './../models/content-column.model';
|
||||
|
||||
declare var componentHandler;
|
||||
declare let __moduleName:string;
|
||||
declare let __moduleName: string;
|
||||
|
||||
@Component({
|
||||
moduleId: __moduleName,
|
||||
@@ -42,34 +42,36 @@ declare let __moduleName:string;
|
||||
export class DocumentList implements OnInit, AfterViewChecked, AfterContentInit {
|
||||
|
||||
@Input()
|
||||
navigate:boolean = true;
|
||||
navigate: boolean = true;
|
||||
|
||||
@Input()
|
||||
breadcrumb:boolean = false;
|
||||
breadcrumb: boolean = false;
|
||||
|
||||
@Input('folder-icon')
|
||||
folderIcon:string;
|
||||
folderIcon: string;
|
||||
|
||||
@Output()
|
||||
itemClick:EventEmitter<any> = new EventEmitter();
|
||||
itemClick: EventEmitter<any> = new EventEmitter();
|
||||
|
||||
rootFolder = {
|
||||
name: 'Document Library',
|
||||
path: 'swsdp/documentLibrary'
|
||||
};
|
||||
currentFolderPath:string = 'swsdp/documentLibrary';
|
||||
folder:FolderEntity;
|
||||
currentFolderPath: string = 'swsdp/documentLibrary';
|
||||
folder: FolderEntity;
|
||||
errorMessage;
|
||||
|
||||
route:any[] = [];
|
||||
route: any[] = [];
|
||||
|
||||
actions:ContentActionModel[] = [];
|
||||
columns:ContentColumnModel[] = [];
|
||||
actions: ContentActionModel[] = [];
|
||||
columns: ContentColumnModel[] = [];
|
||||
|
||||
canNavigateParent():boolean {
|
||||
canNavigateParent(): boolean {
|
||||
return this.navigate && !this.breadcrumb &&
|
||||
this.currentFolderPath !== this.rootFolder.path;
|
||||
}
|
||||
|
||||
constructor(private _alfrescoService:AlfrescoService) {
|
||||
constructor(private _alfrescoService: AlfrescoService) {
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
@@ -79,7 +81,7 @@ export class DocumentList implements OnInit, AfterViewChecked, AfterContentInit
|
||||
|
||||
ngAfterContentInit() {
|
||||
if (!this.columns || this.columns.length === 0) {
|
||||
this.setupDefaultColumns();
|
||||
this._setupDefaultColumns();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -90,7 +92,7 @@ export class DocumentList implements OnInit, AfterViewChecked, AfterContentInit
|
||||
}
|
||||
}
|
||||
|
||||
getContentActions(target:string, type:string) {
|
||||
getContentActions(target: string, type: string) {
|
||||
if (target && type) {
|
||||
|
||||
let ltarget = target.toLowerCase();
|
||||
@@ -118,7 +120,7 @@ export class DocumentList implements OnInit, AfterViewChecked, AfterContentInit
|
||||
}
|
||||
}
|
||||
|
||||
onItemClick(item:DocumentEntity, $event) {
|
||||
onItemClick(item: DocumentEntity, $event) {
|
||||
if ($event) {
|
||||
$event.preventDefault();
|
||||
}
|
||||
@@ -129,7 +131,7 @@ export class DocumentList implements OnInit, AfterViewChecked, AfterContentInit
|
||||
|
||||
if (this.navigate && item) {
|
||||
if (item.isFolder) {
|
||||
let path = this.getItemPath(item);
|
||||
let path = this._getItemPath(item);
|
||||
this.route.push({
|
||||
name: item.displayName,
|
||||
path: path
|
||||
@@ -153,37 +155,40 @@ export class DocumentList implements OnInit, AfterViewChecked, AfterContentInit
|
||||
}
|
||||
}
|
||||
|
||||
getContentUrl(document:DocumentEntity) {
|
||||
getContentUrl(document: DocumentEntity) {
|
||||
return this._alfrescoService.getContentUrl(document);
|
||||
}
|
||||
|
||||
getDocumentThumbnailUrl(document:DocumentEntity) {
|
||||
getDocumentThumbnailUrl(document: DocumentEntity) {
|
||||
return this._alfrescoService.getDocumentThumbnailUrl(document);
|
||||
}
|
||||
|
||||
executeContentAction(document:DocumentEntity, action:ContentActionModel) {
|
||||
// todo: safety checks
|
||||
action.handler(document);
|
||||
executeContentAction(node: DocumentEntity, action: ContentActionModel) {
|
||||
if (action) {
|
||||
action.handler(node);
|
||||
}
|
||||
}
|
||||
|
||||
private getItemPath(item:DocumentEntity):string {
|
||||
displayFolderContent(path) {
|
||||
if (path) {
|
||||
this.currentFolderPath = path;
|
||||
this._alfrescoService
|
||||
.getFolder(path)
|
||||
.subscribe(
|
||||
folder => this.folder = folder,
|
||||
error => this.errorMessage = <any>error
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
private _getItemPath(item: DocumentEntity): string {
|
||||
let container = item.location.container;
|
||||
let path = item.location.path !== '/' ? (item.location.path + '/' ) : '/';
|
||||
let relativePath = container + path + item.fileName;
|
||||
return item.location.site + '/' + relativePath;
|
||||
}
|
||||
|
||||
private displayFolderContent(path) {
|
||||
this.currentFolderPath = path;
|
||||
this._alfrescoService
|
||||
.getFolder(path)
|
||||
.subscribe(
|
||||
folder => this.folder = folder,
|
||||
error => this.errorMessage = <any>error
|
||||
);
|
||||
}
|
||||
|
||||
private setupDefaultColumns() {
|
||||
private _setupDefaultColumns() {
|
||||
let thumbnailCol = new ContentColumnModel();
|
||||
thumbnailCol.source = '$thumbnail';
|
||||
|
||||
|
@@ -23,83 +23,188 @@ import {
|
||||
import {DocumentList} from '../../src/components/document-list';
|
||||
import {ContentColumnModel} from '../../src/models/content-column.model';
|
||||
import {AlfrescoServiceMock} from '../assets/alfresco.service.mock';
|
||||
import {DocumentEntity} from '../../src/models/document-library.model';
|
||||
import {ContentActionModel} from '../../src/models/content-action.model';
|
||||
|
||||
describe('document-list', () => {
|
||||
|
||||
let alfrescoServiceMock: AlfrescoServiceMock;
|
||||
let documentList: DocumentList;
|
||||
|
||||
beforeEach(() => {
|
||||
alfrescoServiceMock = new AlfrescoServiceMock();
|
||||
documentList = new DocumentList(alfrescoServiceMock);
|
||||
});
|
||||
|
||||
it('should setup default columns', () => {
|
||||
let list: DocumentList = new DocumentList(null);
|
||||
list.ngAfterContentInit();
|
||||
expect(list.columns.length).not.toBe(0);
|
||||
documentList.ngAfterContentInit();
|
||||
expect(documentList.columns.length).not.toBe(0);
|
||||
});
|
||||
|
||||
it('should use custom columns instead of default ones', () => {
|
||||
let list: DocumentList = new DocumentList(null);
|
||||
let column: ContentColumnModel = {
|
||||
title: 'title',
|
||||
source: 'source',
|
||||
cssClass: 'css'
|
||||
};
|
||||
list.columns.push(column);
|
||||
documentList.columns.push(column);
|
||||
|
||||
list.ngAfterContentInit();
|
||||
expect(list.columns.length).toBe(1);
|
||||
expect(list.columns[0]).toBe(column);
|
||||
documentList.ngAfterContentInit();
|
||||
expect(documentList.columns.length).toBe(1);
|
||||
expect(documentList.columns[0]).toBe(column);
|
||||
});
|
||||
|
||||
it('should setup default root for breadcrumb', () => {
|
||||
documentList.ngOnInit();
|
||||
expect(documentList.route.length).toBe(1);
|
||||
expect(documentList.route[0]).toBe(documentList.rootFolder);
|
||||
});
|
||||
|
||||
let service = new AlfrescoServiceMock();
|
||||
/*
|
||||
spyOn(service, 'getFolder').and.returnValue(
|
||||
Observable.create(observer => {
|
||||
var value = {};
|
||||
observer.next(value);
|
||||
observer.complete();
|
||||
})
|
||||
);
|
||||
*/
|
||||
let list: DocumentList = new DocumentList(service);
|
||||
it('should display custom root path', () => {
|
||||
spyOn(documentList, 'displayFolderContent').and.stub();
|
||||
|
||||
list.ngOnInit();
|
||||
expect(list.route.length).toBe(1);
|
||||
expect(list.route[0]).toBe(list.rootFolder);
|
||||
let root = {
|
||||
name: '<root>',
|
||||
path: '<path>'
|
||||
};
|
||||
|
||||
documentList.rootFolder = root;
|
||||
documentList.ngOnInit();
|
||||
expect(documentList.displayFolderContent).toHaveBeenCalledWith(root.path);
|
||||
});
|
||||
|
||||
it('should fetch folder', () => {
|
||||
let folder = {
|
||||
'nodeRef': 'workspace://SpacesStore/8bb36efb-c26d-4d2b-9199-ab6922f53c28'
|
||||
};
|
||||
let service = new AlfrescoServiceMock();
|
||||
service._folderToReturn = folder;
|
||||
alfrescoServiceMock._folderToReturn = folder;
|
||||
documentList.ngOnInit();
|
||||
|
||||
let list: DocumentList = new DocumentList(service);
|
||||
list.ngOnInit();
|
||||
|
||||
expect(list.folder).toBe(folder);
|
||||
expect(documentList.folder).toBe(folder);
|
||||
});
|
||||
|
||||
it('should get content url', () => {
|
||||
let url = 'URL';
|
||||
let service = new AlfrescoServiceMock();
|
||||
spyOn(service, 'getContentUrl').and.returnValue(url);
|
||||
spyOn(alfrescoServiceMock, 'getContentUrl').and.returnValue(url);
|
||||
|
||||
let list: DocumentList = new DocumentList(service);
|
||||
let result = list.getContentUrl(null);
|
||||
let result = documentList.getContentUrl(null);
|
||||
|
||||
expect(result).toBe(url);
|
||||
expect(service.getContentUrl).toHaveBeenCalled();
|
||||
expect(alfrescoServiceMock.getContentUrl).toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it('should get thumbnail url', () => {
|
||||
let url = 'URL';
|
||||
let service = new AlfrescoServiceMock();
|
||||
spyOn(service, 'getDocumentThumbnailUrl').and.returnValue(url);
|
||||
spyOn(alfrescoServiceMock, 'getDocumentThumbnailUrl').and.returnValue(url);
|
||||
|
||||
let list: DocumentList = new DocumentList(service);
|
||||
let result = list.getDocumentThumbnailUrl(null);
|
||||
let result = documentList.getDocumentThumbnailUrl(null);
|
||||
|
||||
expect(result).toBe(url);
|
||||
expect(service.getDocumentThumbnailUrl).toHaveBeenCalled();
|
||||
expect(alfrescoServiceMock.getDocumentThumbnailUrl).toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it('should execute action with node', () => {
|
||||
let node = new DocumentEntity();
|
||||
let action = new ContentActionModel();
|
||||
action.handler = function() {};
|
||||
|
||||
spyOn(action, 'handler').and.stub();
|
||||
|
||||
documentList.executeContentAction(node, action);
|
||||
expect(action.handler).toHaveBeenCalledWith(node);
|
||||
|
||||
});
|
||||
|
||||
it('should execute action without node provided', () => {
|
||||
let action = new ContentActionModel();
|
||||
action.handler = function() {};
|
||||
|
||||
spyOn(action, 'handler').and.stub();
|
||||
documentList.executeContentAction(null, action);
|
||||
expect(action.handler).toHaveBeenCalledWith(null);
|
||||
});
|
||||
|
||||
it('should update current folder path', () => {
|
||||
expect(documentList.currentFolderPath).toBe(documentList.rootFolder.path);
|
||||
|
||||
let path = '<path>';
|
||||
documentList.displayFolderContent(path);
|
||||
|
||||
expect(documentList.currentFolderPath).toBe(path);
|
||||
});
|
||||
|
||||
it('should give no content actions for empty target', () => {
|
||||
let actions = documentList.getContentActions(null, 'button');
|
||||
expect(actions.length).toBe(0);
|
||||
});
|
||||
|
||||
it('should give no content actions for empty type', () => {
|
||||
let actions = documentList.getContentActions('folder', null);
|
||||
expect(actions.length).toBe(0);
|
||||
});
|
||||
|
||||
it('should filter content actions for various types and targets', () => {
|
||||
var folderButton = new ContentActionModel();
|
||||
folderButton.target = "folder";
|
||||
folderButton.type = "button";
|
||||
|
||||
var folderMenu = new ContentActionModel();
|
||||
folderMenu.target = "folder";
|
||||
folderMenu.type = "menu";
|
||||
|
||||
var documentButton = new ContentActionModel();
|
||||
documentButton.target = "document";
|
||||
documentButton.type = "button";
|
||||
|
||||
var documentMenu = new ContentActionModel();
|
||||
documentMenu.target = "document";
|
||||
documentMenu.type = "menu";
|
||||
|
||||
documentList.actions = [
|
||||
folderButton,
|
||||
folderMenu,
|
||||
documentButton,
|
||||
documentMenu
|
||||
];
|
||||
|
||||
let actions = documentList.getContentActions('folder', 'button');
|
||||
expect(actions.length).toBe(1);
|
||||
expect(actions[0]).toBe(folderButton);
|
||||
|
||||
actions = documentList.getContentActions('folder', 'menu');
|
||||
expect(actions.length).toBe(1);
|
||||
expect(actions[0]).toBe(folderMenu);
|
||||
|
||||
actions = documentList.getContentActions('document', 'button');
|
||||
expect(actions.length).toBe(1);
|
||||
expect(actions[0]).toBe(documentButton);
|
||||
|
||||
actions = documentList.getContentActions('document', 'menu');
|
||||
expect(actions.length).toBe(1);
|
||||
expect(actions[0]).toBe(documentMenu);
|
||||
});
|
||||
|
||||
it('should be case insensitive when filtering content actions', () => {
|
||||
var documentButton = new ContentActionModel();
|
||||
documentButton.target = 'document';
|
||||
documentButton.type = 'button';
|
||||
|
||||
documentList.actions = [documentButton];
|
||||
|
||||
var actions = documentList.getContentActions('DoCuMeNt', 'BUTTON');
|
||||
expect(actions.length).toBe(1);
|
||||
expect(actions[0]).toBe(documentButton);
|
||||
});
|
||||
|
||||
it('should find no content actions', () => {
|
||||
var documentButton = new ContentActionModel();
|
||||
documentButton.target = 'document';
|
||||
documentButton.type = 'button';
|
||||
|
||||
documentList.actions = [documentButton];
|
||||
|
||||
var actions = documentList.getContentActions('unknown', 'value');
|
||||
expect(actions.length).toBe(0);
|
||||
});
|
||||
|
||||
});
|
||||
|
Reference in New Issue
Block a user