diff --git a/ng2-components/ng2-alfresco-documentlist/src/components/document-list.d.ts b/ng2-components/ng2-alfresco-documentlist/src/components/document-list.d.ts index 6801800392..30559f952f 100644 --- a/ng2-components/ng2-alfresco-documentlist/src/components/document-list.d.ts +++ b/ng2-components/ng2-alfresco-documentlist/src/components/document-list.d.ts @@ -42,12 +42,12 @@ export declare class DocumentList implements OnInit, AfterViewChecked, AfterCont ngAfterViewChecked(): void; getContentActions(target: string, type: string): ContentActionModel[]; onNavigateParentClick($event: any): void; - onItemClick(item: DocumentEntity, $event: any): void; + onItemClick(item: DocumentEntity, $event?: any): void; goToRoute(r: any, $event: any): void; - getContentUrl(document: DocumentEntity): string; - getDocumentThumbnailUrl(document: DocumentEntity): string; + getContentUrl(node: DocumentEntity): string; + getDocumentThumbnailUrl(node: DocumentEntity): string; executeContentAction(node: DocumentEntity, action: ContentActionModel): void; displayFolderContent(path: any): void; - private _getItemPath(item); - private _setupDefaultColumns(); + getNodePath(node: DocumentEntity): string; + setupDefaultColumns(): void; } diff --git a/ng2-components/ng2-alfresco-documentlist/src/components/document-list.js b/ng2-components/ng2-alfresco-documentlist/src/components/document-list.js index 9d22aca89c..917b39fbbd 100644 --- a/ng2-components/ng2-alfresco-documentlist/src/components/document-list.js +++ b/ng2-components/ng2-alfresco-documentlist/src/components/document-list.js @@ -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 () { @@ -98,6 +98,7 @@ System.register(['angular2/core', './../services/alfresco.service', './../models } }; DocumentList.prototype.onItemClick = function (item, $event) { + if ($event === void 0) { $event = null; } if ($event) { $event.preventDefault(); } @@ -106,7 +107,7 @@ System.register(['angular2/core', './../services/alfresco.service', './../models }); if (this.navigate && item) { if (item.isFolder) { - var path = this._getItemPath(item); + var path = this.getNodePath(item); this.route.push({ name: item.displayName, path: path @@ -127,11 +128,17 @@ System.register(['angular2/core', './../services/alfresco.service', './../models } } }; - DocumentList.prototype.getContentUrl = function (document) { - return this._alfrescoService.getContentUrl(document); + DocumentList.prototype.getContentUrl = function (node) { + if (this._alfrescoService) { + return this._alfrescoService.getContentUrl(node); + } + return null; }; - DocumentList.prototype.getDocumentThumbnailUrl = function (document) { - return this._alfrescoService.getDocumentThumbnailUrl(document); + DocumentList.prototype.getDocumentThumbnailUrl = function (node) { + if (this._alfrescoService) { + return this._alfrescoService.getDocumentThumbnailUrl(node); + } + return null; }; DocumentList.prototype.executeContentAction = function (node, action) { if (action) { @@ -147,13 +154,16 @@ System.register(['angular2/core', './../services/alfresco.service', './../models .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.getNodePath = function (node) { + if (node) { + var container = node.location.container; + var path = node.location.path !== '/' ? (node.location.path + '/') : '/'; + var relativePath = container + path + node.fileName; + return node.location.site + '/' + relativePath; + } + return null; }; - 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(); diff --git a/ng2-components/ng2-alfresco-documentlist/src/components/document-list.js.map b/ng2-components/ng2-alfresco-documentlist/src/components/document-list.js.map index e86a566357..d97c641df7 100644 --- a/ng2-components/ng2-alfresco-documentlist/src/components/document-list.js.map +++ b/ng2-components/ng2-alfresco-documentlist/src/components/document-list.js.map @@ -1 +1 @@ -{"version":3,"file":"document-list.js","sourceRoot":"","sources":["document-list.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"document-list.js","sourceRoot":"","sources":["document-list.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ng2-components/ng2-alfresco-documentlist/src/components/document-list.ts b/ng2-components/ng2-alfresco-documentlist/src/components/document-list.ts index e254c56e23..a72461f63e 100644 --- a/ng2-components/ng2-alfresco-documentlist/src/components/document-list.ts +++ b/ng2-components/ng2-alfresco-documentlist/src/components/document-list.ts @@ -81,7 +81,7 @@ export class DocumentList implements OnInit, AfterViewChecked, AfterContentInit ngAfterContentInit() { if (!this.columns || this.columns.length === 0) { - this._setupDefaultColumns(); + this.setupDefaultColumns(); } } @@ -120,7 +120,7 @@ export class DocumentList implements OnInit, AfterViewChecked, AfterContentInit } } - onItemClick(item: DocumentEntity, $event) { + onItemClick(item: DocumentEntity, $event = null) { if ($event) { $event.preventDefault(); } @@ -131,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.getNodePath(item); this.route.push({ name: item.displayName, path: path @@ -155,12 +155,18 @@ export class DocumentList implements OnInit, AfterViewChecked, AfterContentInit } } - getContentUrl(document: DocumentEntity) { - return this._alfrescoService.getContentUrl(document); + getContentUrl(node: DocumentEntity) { + if (this._alfrescoService) { + return this._alfrescoService.getContentUrl(node); + } + return null; } - getDocumentThumbnailUrl(document: DocumentEntity) { - return this._alfrescoService.getDocumentThumbnailUrl(document); + getDocumentThumbnailUrl(node: DocumentEntity) { + if (this._alfrescoService) { + return this._alfrescoService.getDocumentThumbnailUrl(node); + } + return null; } executeContentAction(node: DocumentEntity, action: ContentActionModel) { @@ -181,14 +187,17 @@ export class DocumentList implements OnInit, AfterViewChecked, AfterContentInit } } - 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; + getNodePath(node: DocumentEntity): string { + if (node) { + let container = node.location.container; + let path = node.location.path !== '/' ? (node.location.path + '/' ) : '/'; + let relativePath = container + path + node.fileName; + return node.location.site + '/' + relativePath; + } + return null; } - private _setupDefaultColumns() { + setupDefaultColumns(): void { let thumbnailCol = new ContentColumnModel(); thumbnailCol.source = '$thumbnail'; diff --git a/ng2-components/ng2-alfresco-documentlist/test/components/document-list.spec.ts b/ng2-components/ng2-alfresco-documentlist/test/components/document-list.spec.ts index 9d0f07a2a6..3b213b0b53 100644 --- a/ng2-components/ng2-alfresco-documentlist/test/components/document-list.spec.ts +++ b/ng2-components/ng2-alfresco-documentlist/test/components/document-list.spec.ts @@ -30,14 +30,23 @@ describe('document-list', () => { let alfrescoServiceMock: AlfrescoServiceMock; let documentList: DocumentList; + let eventMock: any; beforeEach(() => { alfrescoServiceMock = new AlfrescoServiceMock(); documentList = new DocumentList(alfrescoServiceMock); + + eventMock = { + preventDefault: function() {} + }; }); it('should setup default columns', () => { + spyOn(documentList, 'setupDefaultColumns').and.callThrough(); + documentList.ngAfterContentInit(); + + expect(documentList.setupDefaultColumns).toHaveBeenCalled(); expect(documentList.columns.length).not.toBe(0); }); @@ -93,6 +102,12 @@ describe('document-list', () => { expect(alfrescoServiceMock.getContentUrl).toHaveBeenCalled(); }); + it('should return no content url without service', () => { + let list = new DocumentList(null); + let node = new DocumentEntity(); + expect(list.getContentUrl(node)).toBeNull(); + }); + it('should get thumbnail url', () => { let url = 'URL'; spyOn(alfrescoServiceMock, 'getDocumentThumbnailUrl').and.returnValue(url); @@ -102,6 +117,12 @@ describe('document-list', () => { expect(result).toBe(url); expect(alfrescoServiceMock.getDocumentThumbnailUrl).toHaveBeenCalled(); }); + + it('should get no thumbnail url without service', () => { + let list = new DocumentList(null); + let node = new DocumentEntity(); + expect(list.getDocumentThumbnailUrl(node)).toBeNull(); + }); it('should execute action with node', () => { let node = new DocumentEntity(); @@ -207,4 +228,90 @@ describe('document-list', () => { expect(actions.length).toBe(0); }); + it('should emit itemClick event', (done) => { + let node: DocumentEntity = new DocumentEntity(); + documentList.itemClick.subscribe(e => { + expect(e.value).toBe(node); + done(); + }); + documentList.onItemClick(node); + }); + + it('should prevent default events for item click', () => { + spyOn(eventMock, 'preventDefault').and.stub(); + + documentList.onItemClick(null, eventMock); + expect(eventMock.preventDefault).toHaveBeenCalled(); + }); + + it('should display folder content on click', () => { + let path = '/'; + + let node = new DocumentEntity(); + node.isFolder = true; + node.displayName = ''; + + spyOn(documentList, 'getNodePath').and.returnValue(path); + spyOn(documentList, 'displayFolderContent').and.stub(); + + documentList.onItemClick(node); + + expect(documentList.displayFolderContent).toHaveBeenCalledWith(path); + + var routeEntry = documentList.route.pop(); + expect(routeEntry.name).toBe(node.displayName); + expect(routeEntry.path).toBe(path); + }); + + it('should not display folder content when no target node provided', () => { + expect(documentList.navigate).toBe(true); + spyOn(documentList, 'displayFolderContent').and.stub(); + + documentList.onItemClick(null); + expect(documentList.displayFolderContent).not.toHaveBeenCalled(); + + }); + + it('should display folder content only on folder node click', () => { + expect(documentList.navigate).toBe(true); + spyOn(documentList, 'displayFolderContent').and.stub(); + + let node = new DocumentEntity(); + node.isFolder = false; + + documentList.onItemClick(node); + + expect(documentList.displayFolderContent).not.toHaveBeenCalled(); + }); + + it('should not display folder content on click when navigation is off', () => { + spyOn(documentList, 'displayFolderContent').and.stub(); + + let node = new DocumentEntity(); + node.isFolder = true; + node.displayName = ''; + + documentList.navigate = false; + documentList.onItemClick(node); + + expect(documentList.displayFolderContent).not.toHaveBeenCalled(); + }); + + it('should require node to get path', () => { + expect(documentList.getNodePath(null)).toBe(null); + }); + + it('should get node path', () => { + let node = { + fileName: 'fileName', + location: { + site: 'swsdp', + container: 'documentLibrary', + path: '\/' + } + }; + + expect(documentList.getNodePath(node)).toBe('swsdp/documentLibrary/fileName'); + }); + });