enable prefer-const rule for tslint, fix issues (#4409)

* enable prefer-const rule for tslint, fix issues

* Update content-node-selector.component.spec.ts

* Update content-node-selector.component.spec.ts

* fix const

* fix lint issues

* update tests

* update tests

* update tests

* fix code

* fix page class
This commit is contained in:
Denys Vuika
2019-03-25 12:19:33 +00:00
committed by Eugenio Romano
parent 26c5982a1a
commit a7a48e8b2b
581 changed files with 5435 additions and 5402 deletions

View File

@@ -41,8 +41,8 @@ describe('ContentColumnList', () => {
it('should register action', () => {
spyOn(documentList.actions, 'push').and.callThrough();
let action = new ContentActionModel();
let result = actionList.registerAction(action);
const action = new ContentActionModel();
const result = actionList.registerAction(action);
expect(result).toBeTruthy();
expect(documentList.actions.push).toHaveBeenCalledWith(action);
@@ -50,13 +50,13 @@ describe('ContentColumnList', () => {
it('should require document list instance to register action', () => {
actionList = new ContentActionListComponent(null);
let action = new ContentActionModel();
const action = new ContentActionModel();
expect(actionList.registerAction(action)).toBeFalsy();
});
it('should require action instance to register', () => {
spyOn(documentList.actions, 'push').and.callThrough();
let result = actionList.registerAction(null);
const result = actionList.registerAction(null);
expect(result).toBeFalsy();
expect(documentList.actions.push).not.toHaveBeenCalled();

View File

@@ -58,14 +58,14 @@ describe('ContentAction', () => {
it('should register within parent actions list', () => {
spyOn(actionList, 'registerAction').and.stub();
let action = new ContentActionComponent(actionList, null, null);
const action = new ContentActionComponent(actionList, null, null);
action.ngOnInit();
expect(actionList.registerAction).toHaveBeenCalled();
});
it('should setup and register model', () => {
let action = new ContentActionComponent(actionList, null, null);
const action = new ContentActionComponent(actionList, null, null);
action.target = 'document';
action.title = '<title>';
action.icon = '<icon>';
@@ -75,14 +75,14 @@ describe('ContentAction', () => {
expect(documentList.actions.length).toBe(1);
let model = documentList.actions[0];
const model = documentList.actions[0];
expect(model.target).toBe(action.target);
expect(model.title).toBe(action.title);
expect(model.icon).toBe(action.icon);
});
it('should update visibility binding', () => {
let action = new ContentActionComponent(actionList, null, null);
const action = new ContentActionComponent(actionList, null, null);
action.target = 'document';
action.title = '<title>';
action.icon = '<icon>';
@@ -101,11 +101,11 @@ describe('ContentAction', () => {
it('should get action handler from document actions service', () => {
let handler = function () {
const handler = function () {
};
spyOn(documentActions, 'getHandler').and.returnValue(handler);
let action = new ContentActionComponent(actionList, documentActions, null);
const action = new ContentActionComponent(actionList, documentActions, null);
action.target = 'document';
action.handler = '<handler>';
action.ngOnInit();
@@ -113,16 +113,16 @@ describe('ContentAction', () => {
expect(documentActions.getHandler).toHaveBeenCalledWith(action.handler);
expect(documentList.actions.length).toBe(1);
let model = documentList.actions[0];
const model = documentList.actions[0];
expect(model.handler).toBe(handler);
});
it('should get action handler from folder actions service', () => {
let handler = function () {
const handler = function () {
};
spyOn(folderActions, 'getHandler').and.returnValue(handler);
let action = new ContentActionComponent(actionList, null, folderActions);
const action = new ContentActionComponent(actionList, null, folderActions);
action.target = 'folder';
action.handler = '<handler>';
action.ngOnInit();
@@ -130,7 +130,7 @@ describe('ContentAction', () => {
expect(folderActions.getHandler).toHaveBeenCalledWith(action.handler);
expect(documentList.actions.length).toBe(1);
let model = documentList.actions[0];
const model = documentList.actions[0];
expect(model.handler).toBe(handler);
});
@@ -138,7 +138,7 @@ describe('ContentAction', () => {
spyOn(folderActions, 'getHandler').and.stub();
spyOn(documentActions, 'getHandler').and.stub();
let action = new ContentActionComponent(actionList, documentActions, folderActions);
const action = new ContentActionComponent(actionList, documentActions, folderActions);
action.handler = '<handler>';
action.ngOnInit();
@@ -151,7 +151,7 @@ describe('ContentAction', () => {
spyOn(folderActions, 'getHandler').and.stub();
spyOn(documentActions, 'getHandler').and.stub();
let action = new ContentActionComponent(actionList, documentActions, folderActions);
const action = new ContentActionComponent(actionList, documentActions, folderActions);
action.handler = '<handler>';
action.target = 'document';
@@ -165,7 +165,7 @@ describe('ContentAction', () => {
spyOn(folderActions, 'getHandler').and.stub();
spyOn(documentActions, 'getHandler').and.stub();
let action = new ContentActionComponent(actionList, documentActions, folderActions);
const action = new ContentActionComponent(actionList, documentActions, folderActions);
action.handler = '<handler>';
action.target = 'folder';
@@ -178,7 +178,7 @@ describe('ContentAction', () => {
it('should be case insensitive for document target', () => {
spyOn(documentActions, 'getHandler').and.stub();
let action = new ContentActionComponent(actionList, documentActions, null);
const action = new ContentActionComponent(actionList, documentActions, null);
action.target = 'DoCuMeNt';
action.handler = '<handler>';
@@ -189,7 +189,7 @@ describe('ContentAction', () => {
it('should be case insensitive for folder target', () => {
spyOn(folderActions, 'getHandler').and.stub();
let action = new ContentActionComponent(actionList, null, folderActions);
const action = new ContentActionComponent(actionList, null, folderActions);
action.target = 'FoLdEr';
action.handler = '<handler>';
@@ -198,46 +198,46 @@ describe('ContentAction', () => {
});
it('should use custom "execute" emitter', (done) => {
let emitter = new EventEmitter();
const emitter = new EventEmitter();
emitter.subscribe((e) => {
expect(e.value).toBe('<obj>');
done();
});
let action = new ContentActionComponent(actionList, null, null);
const action = new ContentActionComponent(actionList, null, null);
action.target = 'document';
action.execute = emitter;
action.ngOnInit();
expect(documentList.actions.length).toBe(1);
let model = documentList.actions[0];
const model = documentList.actions[0];
model.execute('<obj>');
});
it('should not find document action handler with missing service', () => {
let action = new ContentActionComponent(actionList, null, null);
const action = new ContentActionComponent(actionList, null, null);
expect(action.getSystemHandler('document', 'name')).toBeNull();
});
it('should not find folder action handler with missing service', () => {
let action = new ContentActionComponent(actionList, null, null);
const action = new ContentActionComponent(actionList, null, null);
expect(action.getSystemHandler('folder', 'name')).toBeNull();
});
it('should find document action handler via service', () => {
let handler = <ContentActionHandler> function (obj: any, target?: any) {
const handler = <ContentActionHandler> function (obj: any, target?: any) {
};
let action = new ContentActionComponent(actionList, documentActions, null);
const action = new ContentActionComponent(actionList, documentActions, null);
spyOn(documentActions, 'getHandler').and.returnValue(handler);
expect(action.getSystemHandler('document', 'name')).toBe(handler);
});
it('should find folder action handler via service', () => {
let handler = <ContentActionHandler> function (obj: any, target?: any) {
const handler = <ContentActionHandler> function (obj: any, target?: any) {
};
let action = new ContentActionComponent(actionList, null, folderActions);
const action = new ContentActionComponent(actionList, null, folderActions);
spyOn(folderActions, 'getHandler').and.returnValue(handler);
expect(action.getSystemHandler('folder', 'name')).toBe(handler);
});
@@ -246,7 +246,7 @@ describe('ContentAction', () => {
spyOn(folderActions, 'getHandler').and.stub();
spyOn(documentActions, 'getHandler').and.stub();
let action = new ContentActionComponent(actionList, documentActions, folderActions);
const action = new ContentActionComponent(actionList, documentActions, folderActions);
expect(action.getSystemHandler('unknown', 'name')).toBeNull();
expect(folderActions.getHandler).not.toHaveBeenCalled();
@@ -255,10 +255,10 @@ describe('ContentAction', () => {
});
it('should wire model with custom event handler', async(() => {
let action = new ContentActionComponent(actionList, documentActions, folderActions);
let file = new FileNode();
const action = new ContentActionComponent(actionList, documentActions, folderActions);
const file = new FileNode();
let handler = new EventEmitter();
const handler = new EventEmitter();
handler.subscribe((e) => {
expect(e.value).toBe(file);
});
@@ -270,7 +270,7 @@ describe('ContentAction', () => {
}));
it('should allow registering model without handler', () => {
let action = new ContentActionComponent(actionList, documentActions, folderActions);
const action = new ContentActionComponent(actionList, documentActions, folderActions);
spyOn(actionList, 'registerAction').and.callThrough();
action.execute = null;
@@ -282,7 +282,7 @@ describe('ContentAction', () => {
});
it('should register on init', () => {
let action = new ContentActionComponent(actionList, null, null);
const action = new ContentActionComponent(actionList, null, null);
spyOn(action, 'register').and.callThrough();
action.ngOnInit();

View File

@@ -43,11 +43,11 @@ describe('ContentColumnList', () => {
});
it('should register column within parent document list', () => {
let columns = documentList.data.getColumns();
const columns = documentList.data.getColumns();
expect(columns.length).toBe(0);
let column = <DataColumn> {};
let result = columnList.registerColumn(column);
const column = <DataColumn> {};
const result = columnList.registerColumn(column);
expect(result).toBeTruthy();
expect(columns.length).toBe(1);
@@ -56,13 +56,13 @@ describe('ContentColumnList', () => {
it('should require document list instance to register action', () => {
columnList = new ContentColumnListComponent(null, logService);
let col = <DataColumn> {};
const col = <DataColumn> {};
expect(columnList.registerColumn(col)).toBeFalsy();
});
it('should require action instance to register', () => {
spyOn(documentList.actions, 'push').and.callThrough();
let result = columnList.registerColumn(null);
const result = columnList.registerColumn(null);
expect(result).toBeFalsy();
expect(documentList.actions.push).not.toHaveBeenCalled();

View File

@@ -39,7 +39,7 @@ export class ContentColumnListComponent {
*/
registerColumn(column: DataColumn): boolean {
if (this.documentList && column) {
let columns = this.documentList.data.getColumns();
const columns = this.documentList.data.getColumns();
columns.push(column);
return true;
}

View File

@@ -45,18 +45,18 @@ describe('ContentColumn', () => {
it('should register model within parent column list', () => {
spyOn(columnList, 'registerColumn').and.callThrough();
let column = new ContentColumnComponent(columnList, logService);
const column = new ContentColumnComponent(columnList, logService);
column.ngAfterContentInit();
expect(columnList.registerColumn).toHaveBeenCalled();
let columns = documentList.data.getColumns();
const columns = documentList.data.getColumns();
expect(columns.length).toBe(1);
expect(columns[0]).toBe(column);
});
it('should setup screen reader title for thumbnail column', () => {
let column = new ContentColumnComponent(columnList, logService);
const column = new ContentColumnComponent(columnList, logService);
column.key = '$thumbnail';
column.ngOnInit();
@@ -64,7 +64,7 @@ describe('ContentColumn', () => {
});
it('should register on init', () => {
let column = new ContentColumnComponent(columnList, logService);
const column = new ContentColumnComponent(columnList, logService);
spyOn(column, 'register').and.callThrough();
column.ngAfterContentInit();

View File

@@ -107,7 +107,7 @@ describe('DocumentList', () => {
it('should add the custom columns', () => {
fixture.detectChanges();
let column = <DataColumn> {
const column = <DataColumn> {
title: 'title',
key: 'source',
cssClass: 'css',
@@ -116,7 +116,7 @@ describe('DocumentList', () => {
format: ''
};
let columns = documentList.data.getColumns();
const columns = documentList.data.getColumns();
columns.push(column);
documentList.ngAfterContentInit();
@@ -125,8 +125,8 @@ describe('DocumentList', () => {
});
it('should call action\'s handler with node', () => {
let node = new FileNode();
let action = new ContentActionModel();
const node = new FileNode();
const action = new ContentActionModel();
action.handler = () => {
};
@@ -138,8 +138,8 @@ describe('DocumentList', () => {
});
it('should call action\'s handler with node and permission', () => {
let node = new FileNode();
let action = new ContentActionModel();
const node = new FileNode();
const action = new ContentActionModel();
action.handler = () => {
};
action.permission = 'fake-permission';
@@ -151,8 +151,8 @@ describe('DocumentList', () => {
});
it('should call action\'s execute with node if it is defined', () => {
let node = new FileNode();
let action = new ContentActionModel();
const node = new FileNode();
const action = new ContentActionModel();
action.execute = () => {
};
spyOn(action, 'execute').and.stub();
@@ -164,8 +164,8 @@ describe('DocumentList', () => {
it('should call action\'s execute only after the handler has been executed', () => {
const deleteObservable: Subject<any> = new Subject<any>();
let node = new FileNode();
let action = new ContentActionModel();
const node = new FileNode();
const action = new ContentActionModel();
action.handler = () => deleteObservable;
action.execute = () => {
};
@@ -260,7 +260,7 @@ describe('DocumentList', () => {
});
it('should not execute action without node provided', () => {
let action = new ContentActionModel();
const action = new ContentActionModel();
action.handler = function () {
};
@@ -270,15 +270,15 @@ describe('DocumentList', () => {
});
it('should not give node actions for empty target', () => {
let actions = documentList.getNodeActions(null);
const actions = documentList.getNodeActions(null);
expect(actions.length).toBe(0);
});
it('should filter content actions for various targets', () => {
let folderMenu = new ContentActionModel();
const folderMenu = new ContentActionModel();
folderMenu.target = 'folder';
let documentMenu = new ContentActionModel();
const documentMenu = new ContentActionModel();
documentMenu.target = 'document';
documentList.actions = [
@@ -297,7 +297,7 @@ describe('DocumentList', () => {
it('should disable the action if there is no permission for the file and disableWithNoPermission true', () => {
documentList.currentFolderId = 'fake-node-id';
let documentMenu = new ContentActionModel({
const documentMenu = new ContentActionModel({
disableWithNoPermission: true,
permission: 'delete',
target: 'document',
@@ -308,9 +308,9 @@ describe('DocumentList', () => {
documentMenu
];
let nodeFile = { entry: { isFile: true, name: 'xyz', allowableOperations: ['create', 'update'] } };
const nodeFile = { entry: { isFile: true, name: 'xyz', allowableOperations: ['create', 'update'] } };
let actions = documentList.getNodeActions(nodeFile);
const actions = documentList.getNodeActions(nodeFile);
expect(actions.length).toBe(1);
expect(actions[0].title).toEqual('FileAction');
expect(actions[0].disabled).toBe(true);
@@ -382,7 +382,7 @@ describe('DocumentList', () => {
});
it('should not disable the action if there is copy permission', () => {
let documentMenu = new ContentActionModel({
const documentMenu = new ContentActionModel({
disableWithNoPermission: true,
permission: 'copy',
target: 'document',
@@ -393,9 +393,9 @@ describe('DocumentList', () => {
documentMenu
];
let nodeFile = { entry: { isFile: true, name: 'xyz', allowableOperations: ['create', 'update'] } };
const nodeFile = { entry: { isFile: true, name: 'xyz', allowableOperations: ['create', 'update'] } };
let actions = documentList.getNodeActions(nodeFile);
const actions = documentList.getNodeActions(nodeFile);
expect(actions.length).toBe(1);
expect(actions[0].title).toEqual('FileAction');
expect(actions[0].disabled).toBeFalsy();
@@ -403,7 +403,7 @@ describe('DocumentList', () => {
});
it('should disable the action if there is no permission for the folder and disableWithNoPermission true', () => {
let documentMenu = new ContentActionModel({
const documentMenu = new ContentActionModel({
disableWithNoPermission: true,
permission: 'delete',
target: 'folder',
@@ -414,9 +414,9 @@ describe('DocumentList', () => {
documentMenu
];
let nodeFile = { entry: { isFolder: true, name: 'xyz', allowableOperations: ['create', 'update'] } };
const nodeFile = { entry: { isFolder: true, name: 'xyz', allowableOperations: ['create', 'update'] } };
let actions = documentList.getNodeActions(nodeFile);
const actions = documentList.getNodeActions(nodeFile);
expect(actions.length).toBe(1);
expect(actions[0].title).toEqual('FolderAction');
expect(actions[0].disabled).toBe(true);
@@ -424,7 +424,7 @@ describe('DocumentList', () => {
});
it('should not disable the action if there is the right permission for the file', () => {
let documentMenu = new ContentActionModel({
const documentMenu = new ContentActionModel({
disableWithNoPermission: true,
permission: 'delete',
target: 'document',
@@ -435,16 +435,16 @@ describe('DocumentList', () => {
documentMenu
];
let nodeFile = { entry: { isFile: true, name: 'xyz', allowableOperations: ['create', 'update', 'delete'] } };
const nodeFile = { entry: { isFile: true, name: 'xyz', allowableOperations: ['create', 'update', 'delete'] } };
let actions = documentList.getNodeActions(nodeFile);
const actions = documentList.getNodeActions(nodeFile);
expect(actions.length).toBe(1);
expect(actions[0].title).toEqual('FileAction');
expect(actions[0].disabled).toBeFalsy();
});
it('should not disable the action if there is the right permission for the folder', () => {
let documentMenu = new ContentActionModel({
const documentMenu = new ContentActionModel({
disableWithNoPermission: true,
permission: 'delete',
target: 'folder',
@@ -455,16 +455,16 @@ describe('DocumentList', () => {
documentMenu
];
let nodeFile = { entry: { isFolder: true, name: 'xyz', allowableOperations: ['create', 'update', 'delete'] } };
const nodeFile = { entry: { isFolder: true, name: 'xyz', allowableOperations: ['create', 'update', 'delete'] } };
let actions = documentList.getNodeActions(nodeFile);
const actions = documentList.getNodeActions(nodeFile);
expect(actions.length).toBe(1);
expect(actions[0].title).toEqual('FolderAction');
expect(actions[0].disabled).toBeFalsy();
});
it('should not disable the action if there are no permissions for the file and disable with no permission is false', () => {
let documentMenu = new ContentActionModel({
const documentMenu = new ContentActionModel({
permission: 'delete',
target: 'document',
title: 'FileAction',
@@ -475,16 +475,16 @@ describe('DocumentList', () => {
documentMenu
];
let nodeFile = { entry: { isFile: true, name: 'xyz', allowableOperations: null } };
const nodeFile = { entry: { isFile: true, name: 'xyz', allowableOperations: null } };
let actions = documentList.getNodeActions(nodeFile);
const actions = documentList.getNodeActions(nodeFile);
expect(actions.length).toBe(1);
expect(actions[0].title).toEqual('FileAction');
expect(actions[0].disabled).toBeFalsy();
});
it('should not disable the action if there are no permissions for the folder and disable with no permission is false', () => {
let documentMenu = new ContentActionModel({
const documentMenu = new ContentActionModel({
permission: 'delete',
target: 'folder',
title: 'FolderAction',
@@ -495,16 +495,16 @@ describe('DocumentList', () => {
documentMenu
];
let nodeFile = { entry: { isFolder: true, name: 'xyz', allowableOperations: null } };
const nodeFile = { entry: { isFolder: true, name: 'xyz', allowableOperations: null } };
let actions = documentList.getNodeActions(nodeFile);
const actions = documentList.getNodeActions(nodeFile);
expect(actions.length).toBe(1);
expect(actions[0].title).toEqual('FolderAction');
expect(actions[0].disabled).toBeFalsy();
});
it('should disable the action if there are no permissions for the file and disable with no permission is true', () => {
let documentMenu = new ContentActionModel({
const documentMenu = new ContentActionModel({
permission: 'delete',
target: 'document',
title: 'FileAction',
@@ -515,9 +515,9 @@ describe('DocumentList', () => {
documentMenu
];
let nodeFile = { entry: { isFile: true, name: 'xyz', allowableOperations: null } };
const nodeFile = { entry: { isFile: true, name: 'xyz', allowableOperations: null } };
let actions = documentList.getNodeActions(nodeFile);
const actions = documentList.getNodeActions(nodeFile);
expect(actions.length).toBe(1);
expect(actions[0].title).toEqual('FileAction');
expect(actions[0].disabled).toBeDefined();
@@ -525,7 +525,7 @@ describe('DocumentList', () => {
});
it('should disable the action if there are no permissions for the folder and disable with no permission is true', () => {
let documentMenu = new ContentActionModel({
const documentMenu = new ContentActionModel({
permission: 'delete',
target: 'folder',
title: 'FolderAction',
@@ -536,9 +536,9 @@ describe('DocumentList', () => {
documentMenu
];
let nodeFile = { entry: { isFolder: true, name: 'xyz', allowableOperations: null } };
const nodeFile = { entry: { isFolder: true, name: 'xyz', allowableOperations: null } };
let actions = documentList.getNodeActions(nodeFile);
const actions = documentList.getNodeActions(nodeFile);
expect(actions.length).toBe(1);
expect(actions[0].title).toEqual('FolderAction');
expect(actions[0].disabled).toBeDefined();
@@ -546,7 +546,7 @@ describe('DocumentList', () => {
});
it('should find no content actions', () => {
let documentButton = new ContentActionModel();
const documentButton = new ContentActionModel();
documentButton.target = 'document';
documentList.actions = [documentButton];
@@ -560,8 +560,8 @@ describe('DocumentList', () => {
});
it('should emit nodeClick event', (done) => {
let node = new FileNode();
let disposableClick = documentList.nodeClick.subscribe((e) => {
const node = new FileNode();
const disposableClick = documentList.nodeClick.subscribe((e) => {
expect(e.value).toBe(node);
disposableClick.unsubscribe();
done();
@@ -570,7 +570,7 @@ describe('DocumentList', () => {
});
it('should display folder content on click', () => {
let node = new FolderNode('<display name>');
const node = new FolderNode('<display name>');
spyOn(documentList, 'loadFolder').and.returnValue(Promise.resolve(true));
@@ -593,7 +593,7 @@ describe('DocumentList', () => {
expect(documentList.navigate).toBe(true);
spyOn(documentList, 'loadFolder').and.stub();
let node = new FileNode();
const node = new FileNode();
documentList.onNodeClick(node);
expect(documentList.loadFolder).not.toHaveBeenCalled();
@@ -602,7 +602,7 @@ describe('DocumentList', () => {
it('should not display folder content on click when navigation is off', () => {
spyOn(documentList, 'loadFolder').and.stub();
let node = new FolderNode('<display name>');
const node = new FolderNode('<display name>');
documentList.navigate = false;
documentList.onNodeClick(node);
@@ -610,7 +610,7 @@ describe('DocumentList', () => {
});
it('should execute context action on callback', () => {
let action = {
const action = {
node: {},
model: {}
};
@@ -629,7 +629,7 @@ describe('DocumentList', () => {
it('should subscribe to context action handler', () => {
spyOn(documentList, 'loadFolder').and.stub();
spyOn(documentList, 'contextActionCallback').and.stub();
let value = {};
const value = {};
documentList.ngOnInit();
documentList.contextActionHandler.next(value);
expect(documentList.contextActionCallback).toHaveBeenCalledWith(value);
@@ -650,8 +650,8 @@ describe('DocumentList', () => {
});
it('should emit file preview event on single click', (done) => {
let file = new FileNode();
let disposablePreview = documentList.preview.subscribe((e) => {
const file = new FileNode();
const disposablePreview = documentList.preview.subscribe((e) => {
expect(e.value).toBe(file);
disposablePreview.unsubscribe();
done();
@@ -661,8 +661,8 @@ describe('DocumentList', () => {
});
it('should emit file preview event on double click', (done) => {
let file = new FileNode();
let disposablePreview = documentList.preview.subscribe((e) => {
const file = new FileNode();
const disposablePreview = documentList.preview.subscribe((e) => {
expect(e.value).toBe(file);
disposablePreview.unsubscribe();
done();
@@ -672,7 +672,7 @@ describe('DocumentList', () => {
});
it('should perform folder navigation on single click', () => {
let folder = new FolderNode();
const folder = new FolderNode();
spyOn(documentList, 'navigateTo').and.stub();
documentList.navigationMode = DocumentListComponent.SINGLE_CLICK_NAVIGATION;
@@ -681,7 +681,7 @@ describe('DocumentList', () => {
});
it('should perform folder navigation on double click', () => {
let folder = new FolderNode();
const folder = new FolderNode();
spyOn(documentList, 'navigateTo').and.stub();
documentList.navigationMode = DocumentListComponent.DOUBLE_CLICK_NAVIGATION;
@@ -690,7 +690,7 @@ describe('DocumentList', () => {
});
it('should not perform folder navigation on double click when single mode', () => {
let folder = new FolderNode();
const folder = new FolderNode();
spyOn(documentList, 'navigateTo').and.stub();
documentList.navigationMode = DocumentListComponent.SINGLE_CLICK_NAVIGATION;
@@ -700,7 +700,7 @@ describe('DocumentList', () => {
});
it('should not perform folder navigation on double click when navigation off', () => {
let folder = new FolderNode();
const folder = new FolderNode();
spyOn(documentList, 'navigateTo').and.stub();
documentList.navigate = false;
@@ -711,8 +711,8 @@ describe('DocumentList', () => {
});
it('should perform navigation for folder node only', () => {
let folder = new FolderNode();
let file = new FileNode();
const folder = new FolderNode();
const file = new FileNode();
spyOn(documentList, 'loadFolder').and.stub();
@@ -722,7 +722,7 @@ describe('DocumentList', () => {
});
it('should perform navigation through corret linked folder', () => {
let linkFolder = new FolderNode();
const linkFolder = new FolderNode();
linkFolder.entry.id = 'link-folder';
linkFolder.entry.nodeType = 'app:folderlink';
linkFolder.entry.properties['cm:destination'] = 'normal-folder';
@@ -734,7 +734,7 @@ describe('DocumentList', () => {
});
it('should require valid node for file preview', () => {
let file = new FileNode();
const file = new FileNode();
file.entry = null;
let called = false;
@@ -750,7 +750,7 @@ describe('DocumentList', () => {
});
it('should require valid node for folder navigation', () => {
let folder = new FolderNode();
const folder = new FolderNode();
folder.entry = null;
spyOn(documentList, 'navigateTo').and.stub();
@@ -781,18 +781,18 @@ describe('DocumentList', () => {
it('should require node to resolve context menu actions', () => {
expect(documentList.getContextActions(null)).toBeNull();
let file = new FileNode();
const file = new FileNode();
file.entry = null;
expect(documentList.getContextActions(file)).toBeNull();
});
it('should fetch context menu actions for a file node', () => {
let actionModel: any = {};
const actionModel: any = {};
spyOn(documentList, 'getNodeActions').and.returnValue([actionModel]);
let file = new FileNode();
let actions = documentList.getContextActions(file);
const file = new FileNode();
const actions = documentList.getContextActions(file);
expect(documentList.getNodeActions).toHaveBeenCalledWith(file);
expect(actions.length).toBe(1);
@@ -802,11 +802,11 @@ describe('DocumentList', () => {
});
it('should fetch context menu actions for a folder node', () => {
let actionModel: any = {};
const actionModel: any = {};
spyOn(documentList, 'getNodeActions').and.returnValue([actionModel]);
let folder = new FolderNode();
let actions = documentList.getContextActions(folder);
const folder = new FolderNode();
const actions = documentList.getContextActions(folder);
expect(documentList.getNodeActions).toHaveBeenCalledWith(folder);
expect(actions.length).toBe(1);
@@ -818,19 +818,19 @@ describe('DocumentList', () => {
it('should fetch no context menu actions for unknown type', () => {
spyOn(documentList, 'getNodeActions').and.stub();
let node = new FileNode();
const node = new FileNode();
node.entry.isFile = false;
node.entry.isFolder = false;
let actions = documentList.getContextActions(node);
const actions = documentList.getContextActions(node);
expect(actions).toBeNull();
});
it('should return null value when no content actions found', () => {
spyOn(documentList, 'getNodeActions').and.returnValue([]);
let file = new FileNode();
let actions = documentList.getContextActions(file);
const file = new FileNode();
const actions = documentList.getContextActions(file);
expect(actions).toBeNull();
expect(documentList.getNodeActions).toHaveBeenCalled();
@@ -872,7 +872,7 @@ describe('DocumentList', () => {
it('should set row filter and reload contents if currentFolderId is set when setting rowFilter', () => {
fixture.detectChanges();
let filter = <RowFilter> {};
const filter = <RowFilter> {};
documentList.currentFolderId = 'id';
spyOn(documentList.data, 'setFilter').and.callThrough();
spyOn(documentListService, 'getFolder').and.callThrough();
@@ -894,7 +894,7 @@ describe('DocumentList', () => {
it('should set image resolver for underlying adapter', () => {
fixture.detectChanges();
let resolver = <ImageResolver> {};
const resolver = <ImageResolver> {};
spyOn(documentList.data, 'setImageResolver').and.callThrough();
documentList.ngOnChanges({ imageResolver: new SimpleChange(null, resolver, true) });
@@ -903,7 +903,7 @@ describe('DocumentList', () => {
});
it('should emit [nodeClick] event on row click', () => {
let node = new NodeMinimalEntry();
const node = new NodeMinimalEntry();
spyOn(documentList, 'onNodeClick').and.callThrough();
documentList.onNodeClick(node);
@@ -911,7 +911,7 @@ describe('DocumentList', () => {
});
it('should emit node-click DOM event', (done) => {
let node = new NodeMinimalEntry();
const node = new NodeMinimalEntry();
document.addEventListener('node-click', (customEvent: CustomEvent) => {
done();
@@ -921,7 +921,7 @@ describe('DocumentList', () => {
});
it('should emit [nodeDblClick] event on row double-click', () => {
let node = new NodeMinimalEntry();
const node = new NodeMinimalEntry();
spyOn(documentList, 'onNodeDblClick').and.callThrough();
documentList.onNodeDblClick(node);
@@ -929,7 +929,7 @@ describe('DocumentList', () => {
});
it('should emit node-dblclick DOM event', (done) => {
let node = new NodeMinimalEntry();
const node = new NodeMinimalEntry();
document.addEventListener('node-dblclick', (customEvent: CustomEvent) => {
done();
@@ -952,7 +952,7 @@ describe('DocumentList', () => {
const error = { message: '{ "error": { "statusCode": 501 } }' };
spyOn(documentListService, 'getFolder').and.returnValue(throwError(error));
let disposableError = documentList.error.subscribe((val) => {
const disposableError = documentList.error.subscribe((val) => {
expect(val).toBe(error);
disposableError.unsubscribe();
done();
@@ -975,7 +975,7 @@ describe('DocumentList', () => {
const error = { message: '{ "error": { "statusCode": 403 } }' };
spyOn(documentListService, 'getFolder').and.returnValue(throwError(error));
let disposableError = documentList.error.subscribe((val) => {
const disposableError = documentList.error.subscribe((val) => {
expect(val).toBe(error);
expect(documentList.noPermission).toBe(true);
disposableError.unsubscribe();
@@ -1020,7 +1020,7 @@ describe('DocumentList', () => {
spyOn(documentListService, 'getFolder').and.returnValue(throwError(error));
documentList.loadFolder();
let clickedFolderNode = new FolderNode('fake-folder-node');
const clickedFolderNode = new FolderNode('fake-folder-node');
documentList.onNodeDblClick(clickedFolderNode);
expect(documentList.noPermission).toBeTruthy();
@@ -1049,7 +1049,7 @@ describe('DocumentList', () => {
it('should emit error when fetch trashcan fails', (done) => {
spyOn(apiService.nodesApi, 'getDeletedNodes').and.returnValue(Promise.reject('error'));
let disposableError = documentList.error.subscribe((val) => {
const disposableError = documentList.error.subscribe((val) => {
expect(val).toBe('error');
disposableError.unsubscribe();
done();
@@ -1070,7 +1070,7 @@ describe('DocumentList', () => {
spyOn(apiService.getInstance().core.sharedlinksApi, 'findSharedLinks')
.and.returnValue(Promise.reject('error'));
let disposableError = documentList.error.subscribe((val) => {
const disposableError = documentList.error.subscribe((val) => {
expect(val).toBe('error');
disposableError.unsubscribe();
done();
@@ -1089,7 +1089,7 @@ describe('DocumentList', () => {
it('should emit error when fetch sites fails', (done) => {
spyGetSites.and.returnValue(Promise.reject('error'));
let disposableError = documentList.error.subscribe((val) => {
const disposableError = documentList.error.subscribe((val) => {
expect(val).toBe('error');
disposableError.unsubscribe();
done();
@@ -1101,7 +1101,7 @@ describe('DocumentList', () => {
it('should assure that sites have name property set', (done) => {
fixture.detectChanges();
let disposableReady = documentList.ready.subscribe((page) => {
const disposableReady = documentList.ready.subscribe((page) => {
const entriesWithoutName = page.list.entries.filter((item) => !item.entry.name);
expect(entriesWithoutName.length).toBe(0);
disposableReady.unsubscribe();
@@ -1114,7 +1114,7 @@ describe('DocumentList', () => {
it('should assure that sites have name property set correctly', (done) => {
fixture.detectChanges();
let disposableReady = documentList.ready.subscribe((page) => {
const disposableReady = documentList.ready.subscribe((page) => {
const wrongName = page.list.entries.filter((item) => (item.entry.name !== item.entry.title));
expect(wrongName.length).toBe(0);
disposableReady.unsubscribe();
@@ -1136,7 +1136,7 @@ describe('DocumentList', () => {
spyOn(apiService.getInstance().core.peopleApi, 'listSiteMembershipsForPerson')
.and.returnValue(Promise.reject('error'));
let disposableError = documentList.error.subscribe((val) => {
const disposableError = documentList.error.subscribe((val) => {
expect(val).toBe('error');
disposableError.unsubscribe();
done();
@@ -1153,7 +1153,7 @@ describe('DocumentList', () => {
documentList.loadFolderByNodeId('-mysites-');
expect(peopleApi.listSiteMembershipsForPerson).toHaveBeenCalled();
let disposableReady = documentList.ready.subscribe((page) => {
const disposableReady = documentList.ready.subscribe((page) => {
const entriesWithoutName = page.list.entries.filter((item) => !item.entry.name);
expect(entriesWithoutName.length).toBe(0);
disposableReady.unsubscribe();
@@ -1169,7 +1169,7 @@ describe('DocumentList', () => {
documentList.loadFolderByNodeId('-mysites-');
expect(peopleApi.listSiteMembershipsForPerson).toHaveBeenCalled();
let disposableReady = documentList.ready.subscribe((page) => {
const disposableReady = documentList.ready.subscribe((page) => {
const wrongName = page.list.entries.filter((item) => (item.entry.name !== item.entry.title));
expect(wrongName.length).toBe(0);
disposableReady.unsubscribe();
@@ -1188,7 +1188,7 @@ describe('DocumentList', () => {
it('should emit error when fetch favorites fails', (done) => {
spyFavorite.and.returnValue(Promise.reject('error'));
let disposableError = documentList.error.subscribe((val) => {
const disposableError = documentList.error.subscribe((val) => {
expect(val).toBe('error');
disposableError.unsubscribe();
done();
@@ -1200,7 +1200,7 @@ describe('DocumentList', () => {
it('should fetch recent', () => {
const person = { entry: { id: 'person ' } };
let getPersonSpy = spyOn(apiService.peopleApi, 'getPerson').and.returnValue(Promise.resolve(person));
const getPersonSpy = spyOn(apiService.peopleApi, 'getPerson').and.returnValue(Promise.resolve(person));
documentList.loadFolderByNodeId('-recent-');
@@ -1210,7 +1210,7 @@ describe('DocumentList', () => {
it('should emit error when fetch recent fails on getPerson call', (done) => {
spyOn(apiService.peopleApi, 'getPerson').and.returnValue(Promise.reject('error'));
let disposableError = documentList.error.subscribe((val) => {
const disposableError = documentList.error.subscribe((val) => {
expect(val).toBe('error');
disposableError.unsubscribe();
done();
@@ -1222,7 +1222,7 @@ describe('DocumentList', () => {
it('should emit error when fetch recent fails on search call', (done) => {
spyOn(customResourcesService, 'loadFolderByNodeId').and.returnValue(throwError('error'));
let disposableError = documentList.error.subscribe((val) => {
const disposableError = documentList.error.subscribe((val) => {
expect(val).toBe('error');
disposableError.unsubscribe();
done();
@@ -1297,7 +1297,7 @@ describe('DocumentList', () => {
});
it('should reset the pagination when enter in a new folder', () => {
let folder = new FolderNode();
const folder = new FolderNode();
documentList.navigationMode = DocumentListComponent.SINGLE_CLICK_NAVIGATION;
documentList.updatePagination({
maxItems: 10,

View File

@@ -334,7 +334,7 @@ export class DocumentListComponent implements OnInit, OnChanges, OnDestroy, Afte
getContextActions(node: NodeEntry) {
if (node && node.entry) {
let actions = this.getNodeActions(node);
const actions = this.getNodeActions(node);
if (actions && actions.length > 0) {
return actions.map((currentAction: ContentActionModel) => {
return {
@@ -419,7 +419,7 @@ export class DocumentListComponent implements OnInit, OnChanges, OnDestroy, Afte
this.data.setColumns(schema);
}
let columns = this.data.getColumns();
const columns = this.data.getColumns();
if (!columns || columns.length === 0) {
this.setupDefaultColumns(this._currentFolderId);
}
@@ -445,7 +445,7 @@ export class DocumentListComponent implements OnInit, OnChanges, OnDestroy, Afte
if (this.data) {
if (changes.node && changes.node.currentValue) {
let merge = this._pagination ? this._pagination.merge : false;
const merge = this._pagination ? this._pagination.merge : false;
this.data.loadPage(changes.node.currentValue, merge);
this.onDataReady(changes.node.currentValue);
@@ -492,7 +492,7 @@ export class DocumentListComponent implements OnInit, OnChanges, OnDestroy, Afte
return actions;
}
let actionsByTarget = this.actions
const actionsByTarget = this.actions
.filter((entry) => {
const isVisible = (typeof entry.visible === 'function')
? entry.visible(node)
@@ -653,7 +653,7 @@ export class DocumentListComponent implements OnInit, OnChanges, OnDestroy, Afte
}
getSourceNodeWithPath(nodeId: string): Observable<NodeEntry> {
let getSourceObservable = this.documentListService.getFolderNode(nodeId, this.includeFields);
const getSourceObservable = this.documentListService.getFolderNode(nodeId, this.includeFields);
getSourceObservable.subscribe((nodeEntry: NodeEntry) => {
this.folderNode = nodeEntry.entry;
@@ -784,8 +784,8 @@ export class DocumentListComponent implements OnInit, OnChanges, OnDestroy, Afte
onShowRowContextMenu(event: DataCellEvent) {
if (this.contextMenuActions) {
let args = event.value;
let node = (<ShareDataRow> args.row).node;
const args = event.value;
const node = (<ShareDataRow> args.row).node;
if (node) {
args.actions = this.getContextActions(node) || [];
}
@@ -794,8 +794,8 @@ export class DocumentListComponent implements OnInit, OnChanges, OnDestroy, Afte
onShowRowActionsMenu(event: DataCellEvent) {
if (this.contentActions) {
let args = event.value;
let node = (<ShareDataRow> args.row).node;
const args = event.value;
const node = (<ShareDataRow> args.row).node;
if (node) {
args.actions = this.getNodeActions(node) || [];
}
@@ -804,9 +804,9 @@ export class DocumentListComponent implements OnInit, OnChanges, OnDestroy, Afte
onExecuteRowAction(event: DataRowActionEvent) {
if (this.contentActions) {
let args = event.value;
let node = (<ShareDataRow> args.row).node;
let action = (<ContentActionModel> args.action);
const args = event.value;
const node = (<ShareDataRow> args.row).node;
const action = (<ContentActionModel> args.action);
this.executeContentAction(node, action);
}
}

View File

@@ -27,7 +27,7 @@ describe('ShareDataTableAdapter', () => {
let contentService: ContentService;
beforeEach(() => {
let imageUrl: string = 'http://<addresss>';
const imageUrl: string = 'http://<addresss>';
contentService = new ContentService(null, null, null, null);
documentListService = new DocumentListService(null, contentService, null, null, null);
spyOn(documentListService, 'getDocumentThumbnailUrl').and.returnValue(imageUrl);
@@ -59,8 +59,8 @@ describe('ShareDataTableAdapter', () => {
});
it('should setup rows and columns with constructor', () => {
let schema = [<DataColumn> {}];
let adapter = new ShareDataTableAdapter(documentListService, null, contentService, schema);
const schema = [<DataColumn> {}];
const adapter = new ShareDataTableAdapter(documentListService, null, contentService, schema);
expect(adapter.getRows()).toEqual([]);
expect(adapter.getColumns()).toEqual(schema);
@@ -72,15 +72,15 @@ describe('ShareDataTableAdapter', () => {
});
it('should set new columns', () => {
let columns = [<DataColumn> {}, <DataColumn> {}];
let adapter = new ShareDataTableAdapter(documentListService, null, contentService, null);
const columns = [<DataColumn> {}, <DataColumn> {}];
const adapter = new ShareDataTableAdapter(documentListService, null, contentService, null);
adapter.setColumns(columns);
expect(adapter.getColumns()).toEqual(columns);
});
it('should reset columns', () => {
let columns = [<DataColumn> {}, <DataColumn> {}];
let adapter = new ShareDataTableAdapter(documentListService, null, contentService, columns);
const columns = [<DataColumn> {}, <DataColumn> {}];
const adapter = new ShareDataTableAdapter(documentListService, null, contentService, columns);
expect(adapter.getColumns()).toEqual(columns);
adapter.setColumns(null);
@@ -88,8 +88,8 @@ describe('ShareDataTableAdapter', () => {
});
it('should set new rows', () => {
let rows = [<DataRow> {}, <DataRow> {}];
let adapter = new ShareDataTableAdapter(documentListService, null, contentService, null);
const rows = [<DataRow> {}, <DataRow> {}];
const adapter = new ShareDataTableAdapter(documentListService, null, contentService, null);
expect(adapter.getRows()).toEqual([]);
adapter.setRows(rows);
@@ -97,8 +97,8 @@ describe('ShareDataTableAdapter', () => {
});
it('should reset rows', () => {
let rows = [<DataRow> {}, <DataRow> {}];
let adapter = new ShareDataTableAdapter(documentListService, null, contentService, null);
const rows = [<DataRow> {}, <DataRow> {}];
const adapter = new ShareDataTableAdapter(documentListService, null, contentService, null);
adapter.setRows(rows);
expect(adapter.getRows()).toEqual(rows);
@@ -108,61 +108,61 @@ describe('ShareDataTableAdapter', () => {
});
it('should sort new rows', () => {
let adapter = new ShareDataTableAdapter(documentListService, null, contentService, null);
const adapter = new ShareDataTableAdapter(documentListService, null, contentService, null);
spyOn(adapter, 'sort').and.callThrough();
let rows = [<DataRow> {}];
const rows = [<DataRow> {}];
adapter.setRows(rows);
expect(adapter.sort).toHaveBeenCalled();
});
it('should fail when getting value for missing row', () => {
let adapter = new ShareDataTableAdapter(documentListService, null, contentService, null);
let check = () => {
const adapter = new ShareDataTableAdapter(documentListService, null, contentService, null);
const check = () => {
return adapter.getValue(null, <DataColumn> {});
};
expect(check).toThrowError(adapter.ERR_ROW_NOT_FOUND);
});
it('should fail when getting value for missing column', () => {
let adapter = new ShareDataTableAdapter(documentListService, null, contentService, null);
let check = () => {
const adapter = new ShareDataTableAdapter(documentListService, null, contentService, null);
const check = () => {
return adapter.getValue(<DataRow> {}, null);
};
expect(check).toThrowError(adapter.ERR_COL_NOT_FOUND);
});
it('should return date value as string', () => {
let rawValue = new Date(2015, 6, 15, 21, 43, 11); // Wed Jul 15 2015 21:43:11 GMT+0100 (BST);
const rawValue = new Date(2015, 6, 15, 21, 43, 11); // Wed Jul 15 2015 21:43:11 GMT+0100 (BST);
let file = new FileNode();
const file = new FileNode();
file.entry.createdAt = rawValue;
let col = <DataColumn> {
const col = <DataColumn> {
key: 'createdAt',
type: 'string'
};
let row = new ShareDataRow(file, contentService, null);
let adapter = new ShareDataTableAdapter(documentListService, null, contentService, null);
const row = new ShareDataRow(file, contentService, null);
const adapter = new ShareDataTableAdapter(documentListService, null, contentService, null);
let value = adapter.getValue(row, col);
const value = adapter.getValue(row, col);
expect(value).toBe(rawValue);
});
it('should generate fallback icon for a file thumbnail with missing mime type', () => {
spyOn(documentListService, 'getDefaultMimeTypeIcon').and.returnValue(`assets/images/ft_ic_miscellaneous.svg`);
let adapter = new ShareDataTableAdapter(documentListService, null, contentService, null);
const adapter = new ShareDataTableAdapter(documentListService, null, contentService, null);
let file = new FileNode();
const file = new FileNode();
file.entry.content.mimeType = null;
let row = new ShareDataRow(file, contentService, null);
let col = <DataColumn> { type: 'image', key: '$thumbnail' };
const row = new ShareDataRow(file, contentService, null);
const col = <DataColumn> { type: 'image', key: '$thumbnail' };
let value = adapter.getValue(row, col);
const value = adapter.getValue(row, col);
expect(value).toContain(`assets/images/ft_ic_miscellaneous`);
expect(value).toContain(`svg`);
});
@@ -170,42 +170,42 @@ describe('ShareDataTableAdapter', () => {
it('should generate fallback icon for a file with no content entry', () => {
spyOn(documentListService, 'getDefaultMimeTypeIcon').and.returnValue(`assets/images/ft_ic_miscellaneous.svg`);
let adapter = new ShareDataTableAdapter(documentListService, null, contentService, null);
const adapter = new ShareDataTableAdapter(documentListService, null, contentService, null);
let file = new FileNode();
const file = new FileNode();
file.entry.content = null;
let row = new ShareDataRow(file, contentService, null);
let col = <DataColumn> { type: 'image', key: '$thumbnail' };
const row = new ShareDataRow(file, contentService, null);
const col = <DataColumn> { type: 'image', key: '$thumbnail' };
let value = adapter.getValue(row, col);
const value = adapter.getValue(row, col);
expect(value).toContain(`assets/images/ft_ic_miscellaneous`);
expect(value).toContain(`svg`);
});
it('should return image value unmodified', () => {
let imageUrl = 'http://<address>';
const imageUrl = 'http://<address>';
let file = new FileNode();
const file = new FileNode();
file.entry['icon'] = imageUrl;
let adapter = new ShareDataTableAdapter(documentListService, null, contentService, null);
let row = new ShareDataRow(file, contentService, null);
let col = <DataColumn> { type: 'image', key: 'icon' };
const adapter = new ShareDataTableAdapter(documentListService, null, contentService, null);
const row = new ShareDataRow(file, contentService, null);
const col = <DataColumn> { type: 'image', key: 'icon' };
let value = adapter.getValue(row, col);
const value = adapter.getValue(row, col);
expect(value).toBe(imageUrl);
});
it('should resolve folder icon', () => {
spyOn(documentListService, 'getMimeTypeIcon').and.returnValue(`assets/images/ft_ic_folder.svg`);
let adapter = new ShareDataTableAdapter(documentListService, null, contentService, null);
const adapter = new ShareDataTableAdapter(documentListService, null, contentService, null);
let row = new ShareDataRow(new FolderNode(), contentService, null);
let col = <DataColumn> { type: 'image', key: '$thumbnail' };
const row = new ShareDataRow(new FolderNode(), contentService, null);
const col = <DataColumn> { type: 'image', key: '$thumbnail' };
let value = adapter.getValue(row, col);
const value = adapter.getValue(row, col);
expect(value).toContain(`assets/images/ft_ic_folder`);
expect(value).toContain(`svg`);
});
@@ -213,12 +213,12 @@ describe('ShareDataTableAdapter', () => {
it('should resolve smart folder icon', () => {
spyOn(documentListService, 'getMimeTypeIcon').and.returnValue(`assets/images/ft_ic_smart_folder.svg`);
let adapter = new ShareDataTableAdapter(documentListService, null, contentService, null);
const adapter = new ShareDataTableAdapter(documentListService, null, contentService, null);
let row = new ShareDataRow(new SmartFolderNode(), contentService, null);
let col = <DataColumn> { type: 'folder', key: '$thumbnail' };
const row = new ShareDataRow(new SmartFolderNode(), contentService, null);
const col = <DataColumn> { type: 'folder', key: '$thumbnail' };
let value = adapter.getValue(row, col);
const value = adapter.getValue(row, col);
expect(value).toContain(`assets/images/ft_ic_smart_folder`);
expect(value).toContain(`svg`);
});
@@ -226,12 +226,12 @@ describe('ShareDataTableAdapter', () => {
it('should resolve link folder icon', () => {
spyOn(documentListService, 'getMimeTypeIcon').and.returnValue(`assets/images/ft_ic_folder_shortcut_link.svg`);
let adapter = new ShareDataTableAdapter(documentListService, null, contentService, null);
const adapter = new ShareDataTableAdapter(documentListService, null, contentService, null);
let row = new ShareDataRow(new LinkFolderNode(), contentService, null);
let col = <DataColumn> { type: 'folder', key: '$thumbnail' };
const row = new ShareDataRow(new LinkFolderNode(), contentService, null);
const col = <DataColumn> { type: 'folder', key: '$thumbnail' };
let value = adapter.getValue(row, col);
const value = adapter.getValue(row, col);
expect(value).toContain(`assets/images/ft_ic_folder_shortcut_link`);
expect(value).toContain(`svg`);
});
@@ -239,26 +239,26 @@ describe('ShareDataTableAdapter', () => {
it('should resolve rule folder icon', () => {
spyOn(documentListService, 'getMimeTypeIcon').and.returnValue(`assets/images/ft_ic_folder_rule.svg`);
let adapter = new ShareDataTableAdapter(documentListService, null, contentService, null);
const adapter = new ShareDataTableAdapter(documentListService, null, contentService, null);
let row = new ShareDataRow(new RuleFolderNode(), contentService, null);
let col = <DataColumn> { type: 'folder', key: '$thumbnail' };
const row = new ShareDataRow(new RuleFolderNode(), contentService, null);
const col = <DataColumn> { type: 'folder', key: '$thumbnail' };
let value = adapter.getValue(row, col);
const value = adapter.getValue(row, col);
expect(value).toContain(`assets/images/ft_ic_folder_rule`);
expect(value).toContain(`svg`);
});
it('should resolve file thumbnail', () => {
let imageUrl = 'http://<addresss>';
let adapter = new ShareDataTableAdapter(documentListService, null, contentService, null);
const imageUrl = 'http://<addresss>';
const adapter = new ShareDataTableAdapter(documentListService, null, contentService, null);
adapter.thumbnails = true;
let file = new FileNode();
let row = new ShareDataRow(file, contentService, null);
let col = <DataColumn> { type: 'image', key: '$thumbnail' };
const file = new FileNode();
const row = new ShareDataRow(file, contentService, null);
const col = <DataColumn> { type: 'image', key: '$thumbnail' };
let value = adapter.getValue(row, col);
const value = adapter.getValue(row, col);
expect(value).toBe(imageUrl);
expect(documentListService.getDocumentThumbnailUrl).toHaveBeenCalledWith(file);
});
@@ -266,45 +266,45 @@ describe('ShareDataTableAdapter', () => {
it('should resolve fallback file icon for unknown node', () => {
spyOn(documentListService, 'getDefaultMimeTypeIcon').and.returnValue(`assets/images/ft_ic_miscellaneous.svg`);
let adapter = new ShareDataTableAdapter(documentListService, null, contentService, null);
const adapter = new ShareDataTableAdapter(documentListService, null, contentService, null);
let file = new FileNode();
const file = new FileNode();
file.entry.isFile = false;
file.entry.isFolder = false;
file.entry.content = null;
let row = new ShareDataRow(file, contentService, null);
let col = <DataColumn> { type: 'image', key: '$thumbnail' };
const row = new ShareDataRow(file, contentService, null);
const col = <DataColumn> { type: 'image', key: '$thumbnail' };
let value = adapter.getValue(row, col);
const value = adapter.getValue(row, col);
expect(value).toContain(`assets/images/ft_ic_miscellaneous`);
expect(value).toContain(`svg`);
});
it('should resolve file icon for content type', () => {
spyOn(documentListService, 'getMimeTypeIcon').and.returnValue(`assets/images/ft_ic_raster_image.svg`);
let adapter = new ShareDataTableAdapter(documentListService, null, contentService, null);
const adapter = new ShareDataTableAdapter(documentListService, null, contentService, null);
let file = new FileNode();
const file = new FileNode();
file.entry.isFile = false;
file.entry.isFolder = false;
file.entry.content.mimeType = 'image/png';
let row = new ShareDataRow(file, contentService, null);
let col = <DataColumn> { type: 'image', key: '$thumbnail' };
const row = new ShareDataRow(file, contentService, null);
const col = <DataColumn> { type: 'image', key: '$thumbnail' };
let value = adapter.getValue(row, col);
const value = adapter.getValue(row, col);
expect(value).toContain(`assets/images/ft_ic_raster_image`);
expect(value).toContain(`svg`);
});
it('should put folders on top upon sort', () => {
let file1 = new FileNode('file1');
let file2 = new FileNode('file2');
let folder = new FolderNode();
const file1 = new FileNode('file1');
const file2 = new FileNode('file2');
const folder = new FolderNode();
let col = <DataColumn> { key: 'name' };
let adapter = new ShareDataTableAdapter(documentListService, null, contentService, [col]);
const col = <DataColumn> { key: 'name' };
const adapter = new ShareDataTableAdapter(documentListService, null, contentService, [col]);
adapter.setSorting(new DataSorting('name', 'asc'));
adapter.setRows([
@@ -313,21 +313,21 @@ describe('ShareDataTableAdapter', () => {
new ShareDataRow(folder, contentService, null)
]);
let sorted = adapter.getRows();
const sorted = adapter.getRows();
expect((<ShareDataRow> sorted[0]).node).toBe(folder);
expect((<ShareDataRow> sorted[1]).node).toBe(file1);
expect((<ShareDataRow> sorted[2]).node).toBe(file2);
});
it('should sort by dates up to ms', () => {
let file1 = new FileNode('file1');
const file1 = new FileNode('file1');
file1.entry['dateProp'] = new Date(2016, 6, 30, 13, 14, 1);
let file2 = new FileNode('file2');
const file2 = new FileNode('file2');
file2.entry['dateProp'] = new Date(2016, 6, 30, 13, 14, 2);
let col = <DataColumn> { key: 'dateProp' };
let adapter = new ShareDataTableAdapter(documentListService, null, contentService, [col]);
const col = <DataColumn> { key: 'dateProp' };
const adapter = new ShareDataTableAdapter(documentListService, null, contentService, [col]);
adapter.setRows([
new ShareDataRow(file2, contentService, null),
@@ -336,7 +336,7 @@ describe('ShareDataTableAdapter', () => {
adapter.sort('dateProp', 'asc');
let rows = adapter.getRows();
const rows = adapter.getRows();
expect((<ShareDataRow> rows[0]).node).toBe(file1);
expect((<ShareDataRow> rows[1]).node).toBe(file2);
@@ -346,18 +346,18 @@ describe('ShareDataTableAdapter', () => {
});
it('should sort by file size', () => {
let file1 = new FileNode('file1');
let file2 = new FileNode('file2');
let file3 = new FileNode('file3');
let file4 = new FileNode('file4');
const file1 = new FileNode('file1');
const file2 = new FileNode('file2');
const file3 = new FileNode('file3');
const file4 = new FileNode('file4');
file1.entry.content.sizeInBytes = 146; // 146 bytes
file2.entry.content.sizeInBytes = 10075; // 9.84 KB
file3.entry.content.sizeInBytes = 4224120; // 4.03 MB
file4.entry.content.sizeInBytes = 2852791665; // 2.66 GB
let col = <DataColumn> { key: 'content.sizeInBytes' };
let adapter = new ShareDataTableAdapter(documentListService, null, contentService, [col]);
const col = <DataColumn> { key: 'content.sizeInBytes' };
const adapter = new ShareDataTableAdapter(documentListService, null, contentService, [col]);
adapter.setRows([
new ShareDataRow(file3, contentService, null),
@@ -367,7 +367,7 @@ describe('ShareDataTableAdapter', () => {
]);
adapter.sort('content.sizeInBytes', 'asc');
let rows = adapter.getRows();
const rows = adapter.getRows();
expect((<ShareDataRow> rows[0]).node).toBe(file1);
expect((<ShareDataRow> rows[1]).node).toBe(file2);
@@ -382,15 +382,15 @@ describe('ShareDataTableAdapter', () => {
});
it('should sort by name', () => {
let file1 = new FileNode('file1');
let file2 = new FileNode('file11');
let file3 = new FileNode('file20');
let file4 = new FileNode('file11-1'); // auto rename
let file5 = new FileNode('a');
let file6 = new FileNode('b');
const file1 = new FileNode('file1');
const file2 = new FileNode('file11');
const file3 = new FileNode('file20');
const file4 = new FileNode('file11-1'); // auto rename
const file5 = new FileNode('a');
const file6 = new FileNode('b');
let col = <DataColumn> { key: 'name' };
let adapter = new ShareDataTableAdapter(documentListService, null, contentService, [col]);
const col = <DataColumn> { key: 'name' };
const adapter = new ShareDataTableAdapter(documentListService, null, contentService, [col]);
adapter.setRows([
new ShareDataRow(file4, contentService, null),
@@ -402,7 +402,7 @@ describe('ShareDataTableAdapter', () => {
]);
adapter.sort('name', 'asc');
let rows = adapter.getRows();
const rows = adapter.getRows();
expect((<ShareDataRow> rows[0]).node).toBe(file5);
expect((<ShareDataRow> rows[1]).node).toBe(file6);
@@ -423,8 +423,8 @@ describe('ShareDataTableAdapter', () => {
describe('ShareDataRow', () => {
it('should wrap node', () => {
let file = new FileNode();
let row = new ShareDataRow(file, contentService, null);
const file = new FileNode();
const row = new ShareDataRow(file, contentService, null);
expect(row.node).toBe(file);
});
@@ -435,37 +435,37 @@ describe('ShareDataTableAdapter', () => {
});
it('should resolve value from node entry', () => {
let file = new FileNode('test');
let row = new ShareDataRow(file, contentService, null);
const file = new FileNode('test');
const row = new ShareDataRow(file, contentService, null);
expect(row.getValue('name')).toBe('test');
});
it('should check value', () => {
let file = new FileNode('test');
let row = new ShareDataRow(file, contentService, null);
const file = new FileNode('test');
const row = new ShareDataRow(file, contentService, null);
expect(row.hasValue('name')).toBeTruthy();
expect(row.hasValue('missing')).toBeFalsy();
});
it('should be set as drop target when user has permission for that node', () => {
let file = new FolderNode('test');
const file = new FolderNode('test');
file.entry['allowableOperations'] = ['create'];
let row = new ShareDataRow(file, contentService, null);
const row = new ShareDataRow(file, contentService, null);
expect(row.isDropTarget).toBeTruthy();
});
it('should not be set as drop target when user has permission for that node', () => {
let file = new FolderNode('test');
let row = new ShareDataRow(file, contentService, null);
const file = new FolderNode('test');
const row = new ShareDataRow(file, contentService, null);
expect(row.isDropTarget).toBeFalsy();
});
it('should not be set as drop target when element is not a Folder', () => {
let file = new FileNode('test');
let row = new ShareDataRow(file, contentService, null);
const file = new FileNode('test');
const row = new ShareDataRow(file, contentService, null);
expect(row.isDropTarget).toBeFalsy();
});

View File

@@ -96,8 +96,8 @@ export class ShareDataTableAdapter implements DataTableAdapter {
if (!col) {
throw new Error(this.ERR_COL_NOT_FOUND);
}
let dataRow: ShareDataRow = <ShareDataRow> row;
let value: any = row.getValue(col.key);
const dataRow: ShareDataRow = <ShareDataRow> row;
const value: any = row.getValue(col.key);
if (dataRow.cache[col.key] !== undefined) {
return dataRow.cache[col.key];
}
@@ -105,7 +105,7 @@ export class ShareDataTableAdapter implements DataTableAdapter {
if (col.key === '$thumbnail') {
if (this.imageResolver) {
let resolved = this.imageResolver(row, col);
const resolved = this.imageResolver(row, col);
if (resolved) {
return resolved;
}
@@ -136,7 +136,7 @@ export class ShareDataTableAdapter implements DataTableAdapter {
if (col.type === 'image') {
if (this.imageResolver) {
let resolved = this.imageResolver(row, col);
const resolved = this.imageResolver(row, col);
if (resolved) {
return resolved;
}
@@ -157,7 +157,7 @@ export class ShareDataTableAdapter implements DataTableAdapter {
}
sort(key?: string, direction?: string): void {
let sorting = this.sorting || new DataSorting();
const sorting = this.sorting || new DataSorting();
if (key) {
sorting.key = key;
sorting.direction = direction || 'asc';
@@ -186,13 +186,13 @@ export class ShareDataTableAdapter implements DataTableAdapter {
}
isSmartFolder(node: any) {
let nodeAspects = this.getNodeAspectNames(node);
const nodeAspects = this.getNodeAspectNames(node);
return nodeAspects.indexOf('smf:customConfigSmartFolder') > -1 ||
(nodeAspects.indexOf('smf:systemConfigSmartFolder') > -1);
}
isRuleFolder(node: any) {
let nodeAspects = this.getNodeAspectNames(node);
const nodeAspects = this.getNodeAspectNames(node);
return nodeAspects.indexOf('rule:rules') > -1 ||
(nodeAspects.indexOf('rule:rules') > -1);
}
@@ -249,7 +249,7 @@ export class ShareDataTableAdapter implements DataTableAdapter {
let shareDataRows: ShareDataRow[] = [];
if (nodePaging && nodePaging.list) {
let nodeEntries: NodeEntry[] = nodePaging.list.entries;
const nodeEntries: NodeEntry[] = nodePaging.list.entries;
if (nodeEntries && nodeEntries.length > 0) {
shareDataRows = nodeEntries.map((item) => new ShareDataRow(item, this.contentService, this.permissionsStyle, this.thumbnailService));
@@ -260,11 +260,11 @@ export class ShareDataTableAdapter implements DataTableAdapter {
if (this.sortingMode !== 'server') {
// Sort by first sortable or just first column
if (this.columns && this.columns.length > 0) {
let sorting = this.getSorting();
const sorting = this.getSorting();
if (sorting) {
this.sortRows(shareDataRows, sorting);
} else {
let sortable = this.columns.filter((c) => c.sortable);
const sortable = this.columns.filter((c) => c.sortable);
if (sortable.length > 0) {
this.sort(sortable[0].key, 'asc');
} else {
@@ -277,8 +277,8 @@ export class ShareDataTableAdapter implements DataTableAdapter {
}
if (merge) {
let listPrunedDuplicate = shareDataRows.filter((elementToFilter: any) => {
let isPresent = this.rows.find((currentRow: any) => {
const listPrunedDuplicate = shareDataRows.filter((elementToFilter: any) => {
const isPresent = this.rows.find((currentRow: any) => {
return currentRow.obj.entry.id === elementToFilter.obj.entry.id;
});

View File

@@ -103,7 +103,7 @@ export class CustomResourcesService {
* @returns List of favorite files
*/
loadFavorites(pagination: PaginationModel, includeFields: string[] = []): Observable<NodePaging> {
let includeFieldsRequest = this.getIncludesFields(includeFields);
const includeFieldsRequest = this.getIncludesFields(includeFields);
const options = {
maxItems: pagination.maxItems,
@@ -115,7 +115,7 @@ export class CustomResourcesService {
return new Observable((observer) => {
this.apiService.favoritesApi.getFavorites('-me-', options)
.then((result: FavoritePaging) => {
let page: FavoritePaging = {
const page: FavoritePaging = {
list: {
entries: result.list.entries
.map(({ entry: { target } }: any) => ({
@@ -157,7 +157,7 @@ export class CustomResourcesService {
return new Observable((observer) => {
this.apiService.peopleApi.listSiteMembershipsForPerson('-me-', options)
.then((result: SiteRolePaging) => {
let page: SiteMemberPaging = new SiteMemberPaging( {
const page: SiteMemberPaging = new SiteMemberPaging( {
list: {
entries: result.list.entries
.map(({ entry: { site } }: any) => {
@@ -219,7 +219,7 @@ export class CustomResourcesService {
* @returns List of deleted items
*/
loadTrashcan(pagination: PaginationModel, includeFields: string[] = []): Observable<DeletedNodesPaging> {
let includeFieldsRequest = this.getIncludesFields(includeFields);
const includeFieldsRequest = this.getIncludesFields(includeFields);
const options = {
include: includeFieldsRequest,
@@ -239,7 +239,7 @@ export class CustomResourcesService {
* @returns List of shared links
*/
loadSharedLinks(pagination: PaginationModel, includeFields: string[] = []): Observable<SharedLinkPaging> {
let includeFieldsRequest = this.getIncludesFields(includeFields);
const includeFieldsRequest = this.getIncludesFields(includeFields);
const options = {
include: includeFieldsRequest,

View File

@@ -22,14 +22,12 @@ import { FileNode, FolderNode } from '../../mock';
import { ContentActionHandler } from '../models/content-action.model';
import { DocumentActionsService } from './document-actions.service';
import { DocumentListService } from './document-list.service';
import { NodeActionsService } from './node-actions.service';
import { of } from 'rxjs';
describe('DocumentActionsService', () => {
let service: DocumentActionsService;
let documentListService: DocumentListService;
let nodeActionsService: NodeActionsService;
setupTestBed({
imports: [
@@ -38,8 +36,8 @@ describe('DocumentActionsService', () => {
});
beforeEach(() => {
let contentService = new ContentService(null, null, null, null);
let alfrescoApiService = new AlfrescoApiServiceMock(new AppConfigService(null), new StorageService());
const contentService = new ContentService(null, null, null, null);
const alfrescoApiService = new AlfrescoApiServiceMock(new AppConfigService(null), new StorageService());
documentListService = new DocumentListService(null, contentService, alfrescoApiService, null, null);
service = new DocumentActionsService(null, null, new TranslationMock(), documentListService, contentService);
@@ -54,7 +52,7 @@ describe('DocumentActionsService', () => {
});
it('should register custom action handler', () => {
let handler: ContentActionHandler = function (obj: any) {
const handler: ContentActionHandler = function (obj: any) {
};
service.setHandler('<key>', handler);
expect(service.getHandler('<key>')).toBe(handler);
@@ -65,7 +63,7 @@ describe('DocumentActionsService', () => {
});
it('should be case insensitive for keys', () => {
let handler: ContentActionHandler = function (obj: any) {
const handler: ContentActionHandler = function (obj: any) {
};
service.setHandler('<key>', handler);
expect(service.getHandler('<KEY>')).toBe(handler);
@@ -77,10 +75,10 @@ describe('DocumentActionsService', () => {
});
it('should allow action execution only when service available', () => {
let file = new FileNode();
const file = new FileNode();
expect(service.canExecuteAction(file)).toBeTruthy();
service = new DocumentActionsService(nodeActionsService, null, null);
service = new DocumentActionsService(null, null, null);
expect(service.canExecuteAction(file)).toBeFalsy();
});
@@ -91,7 +89,7 @@ describe('DocumentActionsService', () => {
});
it('should set new handler only by key', () => {
let handler: ContentActionHandler = function (obj: any) {
const handler: ContentActionHandler = function (obj: any) {
};
expect(service.setHandler(null, handler)).toBeFalsy();
expect(service.setHandler('', handler)).toBeFalsy();
@@ -112,7 +110,7 @@ describe('DocumentActionsService', () => {
done();
});
let file = new FileNode();
const file = new FileNode();
service.getHandler('delete')(file);
});
@@ -120,7 +118,7 @@ describe('DocumentActionsService', () => {
it('should call the error on the returned Observable if there are no permissions', (done) => {
spyOn(documentListService, 'deleteNode').and.returnValue(of(true));
let file = new FileNode();
const file = new FileNode();
const deleteObservable = service.getHandler('delete')(file);
deleteObservable.subscribe({
@@ -134,9 +132,9 @@ describe('DocumentActionsService', () => {
it('should delete the file node if there is the delete permission', () => {
spyOn(documentListService, 'deleteNode').and.returnValue(of(true));
let permission = 'delete';
let file = new FileNode();
let fileWithPermission: any = file;
const permission = 'delete';
const file = new FileNode();
const fileWithPermission: any = file;
fileWithPermission.entry.allowableOperations = [permission];
service.getHandler('delete')(fileWithPermission, null, permission);
@@ -153,9 +151,9 @@ describe('DocumentActionsService', () => {
done();
});
let permission = 'delete';
let file = new FileNode();
let fileWithPermission: any = file;
const permission = 'delete';
const file = new FileNode();
const fileWithPermission: any = file;
fileWithPermission.entry.allowableOperations = ['create', 'update'];
service.getHandler('delete')(fileWithPermission, null, permission);
});
@@ -163,9 +161,9 @@ describe('DocumentActionsService', () => {
it('should delete the file node if there is the delete and others permission ', () => {
spyOn(documentListService, 'deleteNode').and.returnValue(of(true));
let permission = 'delete';
let file = new FileNode();
let fileWithPermission: any = file;
const permission = 'delete';
const file = new FileNode();
const fileWithPermission: any = file;
fileWithPermission.entry.allowableOperations = ['create', 'update', permission];
service.getHandler('delete')(fileWithPermission, null, permission);
@@ -179,9 +177,9 @@ describe('DocumentActionsService', () => {
it('should delete file node', () => {
spyOn(documentListService, 'deleteNode').and.returnValue(of(true));
let permission = 'delete';
let file = new FileNode();
let fileWithPermission: any = file;
const permission = 'delete';
const file = new FileNode();
const fileWithPermission: any = file;
fileWithPermission.entry.allowableOperations = [permission];
const deleteObservable = service.getHandler('delete')(fileWithPermission, null, permission);
@@ -192,13 +190,13 @@ describe('DocumentActionsService', () => {
it('should support deletion only file node', () => {
spyOn(documentListService, 'deleteNode').and.returnValue(of(true));
let folder = new FolderNode();
const folder = new FolderNode();
service.getHandler('delete')(folder);
expect(documentListService.deleteNode).not.toHaveBeenCalled();
let permission = 'delete';
let file = new FileNode();
let fileWithPermission: any = file;
const permission = 'delete';
const file = new FileNode();
const fileWithPermission: any = file;
fileWithPermission.entry.allowableOperations = [permission];
service.getHandler('delete')(fileWithPermission, null, permission);
expect(documentListService.deleteNode).toHaveBeenCalled();
@@ -207,7 +205,7 @@ describe('DocumentActionsService', () => {
it('should require node id to delete', () => {
spyOn(documentListService, 'deleteNode').and.returnValue(of(true));
let file = new FileNode();
const file = new FileNode();
file.entry.id = null;
service.getHandler('delete')(file);
@@ -221,10 +219,10 @@ describe('DocumentActionsService', () => {
});
spyOn(documentListService, 'deleteNode').and.returnValue(of(true));
let target = jasmine.createSpyObj('obj', ['reload']);
let permission = 'delete';
let file = new FileNode();
let fileWithPermission: any = file;
const target = jasmine.createSpyObj('obj', ['reload']);
const permission = 'delete';
const file = new FileNode();
const fileWithPermission: any = file;
fileWithPermission.entry.allowableOperations = [permission];
service.getHandler('delete')(fileWithPermission, target, permission);

View File

@@ -51,7 +51,7 @@ export class DocumentActionsService {
*/
getHandler(key: string): ContentActionHandler {
if (key) {
let lKey = key.toLowerCase();
const lKey = key.toLowerCase();
return this.handlers[lKey] || null;
}
return null;
@@ -65,7 +65,7 @@ export class DocumentActionsService {
*/
setHandler(key: string, handler: ContentActionHandler): boolean {
if (key) {
let lKey = key.toLowerCase();
const lKey = key.toLowerCase();
this.handlers[lKey] = handler;
return true;
}
@@ -125,10 +125,10 @@ export class DocumentActionsService {
if (this.contentService.hasAllowableOperations(node.entry, permission)) {
handlerObservable = this.documentListService.deleteNode(node.entry.id);
handlerObservable.subscribe(() => {
let message = this.translation.instant('CORE.DELETE_NODE.SINGULAR', { name: node.entry.name });
const message = this.translation.instant('CORE.DELETE_NODE.SINGULAR', { name: node.entry.name });
this.success.next(message);
}, () => {
let message = this.translation.instant('CORE.DELETE_NODE.ERROR_SINGULAR', { name: node.entry.name });
const message = this.translation.instant('CORE.DELETE_NODE.ERROR_SINGULAR', { name: node.entry.name });
this.error.next(message);
});
return handlerObservable;

View File

@@ -26,7 +26,7 @@ describe('DocumentListService', () => {
let service: DocumentListService;
let alfrescoApiService: AlfrescoApiService;
let fakeFolder = {
const fakeFolder = {
'list': {
'pagination': { 'count': 1, 'hasMoreItems': false, 'totalItems': 1, 'skipCount': 0, 'maxItems': 20 },
'entries': [{
@@ -67,8 +67,8 @@ describe('DocumentListService', () => {
});
beforeEach(() => {
let logService = new LogService(new AppConfigServiceMock(null));
let contentService = new ContentService(null, null, null, null);
const logService = new LogService(new AppConfigServiceMock(null));
const contentService = new ContentService(null, null, null, null);
alfrescoApiService = new AlfrescoApiServiceMock(new AppConfigService(null), new StorageService());
service = new DocumentListService(null, contentService, alfrescoApiService, logService, null);
jasmine.Ajax.install();
@@ -98,7 +98,7 @@ describe('DocumentListService', () => {
});
it('should add the includeTypes in the request Node Children if required', () => {
let spyGetNodeInfo = spyOn(alfrescoApiService.getInstance().nodes, 'getNodeChildren').and.callThrough();
const spyGetNodeInfo = spyOn(alfrescoApiService.getInstance().nodes, 'getNodeChildren').and.callThrough();
service.getFolder('/fake-root/fake-name', {}, ['isLocked']);
@@ -110,7 +110,7 @@ describe('DocumentListService', () => {
});
it('should not add the includeTypes in the request Node Children if is duplicated', () => {
let spyGetNodeInfo = spyOn(alfrescoApiService.getInstance().nodes, 'getNodeChildren').and.callThrough();
const spyGetNodeInfo = spyOn(alfrescoApiService.getInstance().nodes, 'getNodeChildren').and.callThrough();
service.getFolder('/fake-root/fake-name', {}, ['allowableOperations']);
@@ -122,7 +122,7 @@ describe('DocumentListService', () => {
});
it('should add the includeTypes in the request getFolderNode if required', () => {
let spyGetNodeInfo = spyOn(alfrescoApiService.getInstance().nodes, 'getNode').and.callThrough();
const spyGetNodeInfo = spyOn(alfrescoApiService.getInstance().nodes, 'getNode').and.callThrough();
service.getFolderNode('test-id', ['isLocked']);
@@ -133,7 +133,7 @@ describe('DocumentListService', () => {
});
it('should not add the includeTypes in the request getFolderNode if is duplicated', () => {
let spyGetNodeInfo = spyOn(alfrescoApiService.getInstance().nodes, 'getNode').and.callThrough();
const spyGetNodeInfo = spyOn(alfrescoApiService.getInstance().nodes, 'getNode').and.callThrough();
service.getFolderNode('test-id', ['allowableOperations']);

View File

@@ -86,10 +86,10 @@ export class DocumentListService {
rootNodeId = opts.rootFolderId;
}
let includeFieldsRequest = ['path', 'properties', 'allowableOperations', 'permissions', 'aspectNames', ...includeFields]
const includeFieldsRequest = ['path', 'properties', 'allowableOperations', 'permissions', 'aspectNames', ...includeFields]
.filter((element, index, array) => index === array.indexOf(element));
let params: any = {
const params: any = {
includeSource: true,
include: includeFieldsRequest
};
@@ -123,10 +123,10 @@ export class DocumentListService {
*/
getNode(nodeId: string, includeFields: string[] = []): Observable<NodeEntry> {
let includeFieldsRequest = ['path', 'properties', 'allowableOperations', 'permissions', ...includeFields]
const includeFieldsRequest = ['path', 'properties', 'allowableOperations', 'permissions', ...includeFields]
.filter((element, index, array) => index === array.indexOf(element));
let opts: any = {
const opts: any = {
includeSource: true,
include: includeFieldsRequest
};
@@ -142,10 +142,10 @@ export class DocumentListService {
*/
getFolderNode(nodeId: string, includeFields: string[] = []): Observable<NodeEntry> {
let includeFieldsRequest = ['path', 'properties', 'allowableOperations', 'permissions', 'aspectNames', ...includeFields]
const includeFieldsRequest = ['path', 'properties', 'allowableOperations', 'permissions', 'aspectNames', ...includeFields]
.filter((element, index, array) => index === array.indexOf(element));
let opts: any = {
const opts: any = {
includeSource: true,
include: includeFieldsRequest
};

View File

@@ -35,17 +35,17 @@ describe('FolderActionsService', () => {
});
beforeEach(() => {
let appConfig: AppConfigService = TestBed.get(AppConfigService);
const appConfig: AppConfigService = TestBed.get(AppConfigService);
appConfig.config.ecmHost = 'http://localhost:9876/ecm';
let contentService = new ContentService(null, null, null, null);
let alfrescoApiService = new AlfrescoApiServiceMock(new AppConfigService(null), new StorageService());
const contentService = new ContentService(null, null, null, null);
const alfrescoApiService = new AlfrescoApiServiceMock(new AppConfigService(null), new StorageService());
documentListService = new DocumentListService(null, contentService, alfrescoApiService, null, null);
service = new FolderActionsService(null, documentListService, contentService, new TranslationMock());
});
it('should register custom action handler', () => {
let handler: ContentActionHandler = function () {
const handler: ContentActionHandler = function () {
};
service.setHandler('<key>', handler);
expect(service.getHandler('<key>')).toBe(handler);
@@ -56,7 +56,7 @@ describe('FolderActionsService', () => {
});
it('should be case insensitive for keys', () => {
let handler: ContentActionHandler = function () {
const handler: ContentActionHandler = function () {
};
service.setHandler('<key>', handler);
expect(service.getHandler('<KEY>')).toBe(handler);
@@ -68,7 +68,7 @@ describe('FolderActionsService', () => {
});
it('should allow action execution only when service available', () => {
let folder = new FolderNode();
const folder = new FolderNode();
expect(service.canExecuteAction(folder)).toBeTruthy();
});
@@ -79,7 +79,7 @@ describe('FolderActionsService', () => {
});
it('should set new handler only by key', () => {
let handler: ContentActionHandler = function () {
const handler: ContentActionHandler = function () {
};
expect(service.setHandler(null, handler)).toBeFalsy();
expect(service.setHandler('', handler)).toBeFalsy();
@@ -100,7 +100,7 @@ describe('FolderActionsService', () => {
done();
});
let folder = new FolderNode();
const folder = new FolderNode();
service.getHandler('delete')(folder);
});
@@ -113,9 +113,9 @@ describe('FolderActionsService', () => {
});
});
let permission = 'delete';
let folder = new FolderNode();
let folderWithPermission: any = folder;
const permission = 'delete';
const folder = new FolderNode();
const folderWithPermission: any = folder;
folderWithPermission.entry.allowableOperations = [permission];
const deleteObservable = service.getHandler('delete')(folderWithPermission, null, permission);
@@ -138,8 +138,8 @@ describe('FolderActionsService', () => {
done();
});
let folder = new FolderNode();
let folderWithPermission: any = folder;
const folder = new FolderNode();
const folderWithPermission: any = folder;
folderWithPermission.entry.allowableOperations = ['create', 'update'];
service.getHandler('delete')(folderWithPermission);
});
@@ -152,8 +152,8 @@ describe('FolderActionsService', () => {
});
});
let folder = new FolderNode();
let folderWithPermission: any = folder;
const folder = new FolderNode();
const folderWithPermission: any = folder;
folderWithPermission.entry.allowableOperations = ['create', 'update'];
const deleteObservable = service.getHandler('delete')(folderWithPermission);
@@ -174,9 +174,9 @@ describe('FolderActionsService', () => {
});
});
let permission = 'delete';
let folder = new FolderNode();
let folderWithPermission: any = folder;
const permission = 'delete';
const folder = new FolderNode();
const folderWithPermission: any = folder;
folderWithPermission.entry.allowableOperations = ['create', 'update', permission];
service.getHandler('delete')(folderWithPermission, null, permission);
@@ -191,13 +191,13 @@ describe('FolderActionsService', () => {
});
});
let permission = 'delete';
let file = new FileNode();
const permission = 'delete';
const file = new FileNode();
service.getHandler('delete')(file);
expect(documentListService.deleteNode).not.toHaveBeenCalled();
let folder = new FolderNode();
let folderWithPermission: any = folder;
const folder = new FolderNode();
const folderWithPermission: any = folder;
folderWithPermission.entry.allowableOperations = [permission];
service.getHandler('delete')(folderWithPermission, null, permission);
expect(documentListService.deleteNode).toHaveBeenCalled();
@@ -211,7 +211,7 @@ describe('FolderActionsService', () => {
});
});
let folder = new FolderNode();
const folder = new FolderNode();
folder.entry.id = null;
service.getHandler('delete')(folder);
@@ -226,13 +226,13 @@ describe('FolderActionsService', () => {
});
});
let permission = 'delete';
let target = jasmine.createSpyObj('obj', ['reload']);
let folder = new FolderNode();
let folderWithPermission: any = folder;
const permission = 'delete';
const target = jasmine.createSpyObj('obj', ['reload']);
const folder = new FolderNode();
const folderWithPermission: any = folder;
folderWithPermission.entry.allowableOperations = [permission];
let deleteHandler = service.getHandler('delete')(folderWithPermission, target, permission);
const deleteHandler = service.getHandler('delete')(folderWithPermission, target, permission);
deleteHandler.subscribe(() => {
expect(target.reload).toHaveBeenCalled();
@@ -255,10 +255,10 @@ describe('FolderActionsService', () => {
done();
});
let permission = 'delete';
let target = jasmine.createSpyObj('obj', ['reload']);
let folder = new FolderNode();
let folderWithPermission: any = folder;
const permission = 'delete';
const target = jasmine.createSpyObj('obj', ['reload']);
const folder = new FolderNode();
const folderWithPermission: any = folder;
folderWithPermission.entry.allowableOperations = [permission];
service.getHandler('delete')(folderWithPermission, target, permission);

View File

@@ -49,7 +49,7 @@ export class FolderActionsService {
*/
getHandler(key: string): ContentActionHandler {
if (key) {
let lKey = key.toLowerCase();
const lKey = key.toLowerCase();
return this.handlers[lKey] || null;
}
return null;
@@ -63,7 +63,7 @@ export class FolderActionsService {
*/
setHandler(key: string, handler: ContentActionHandler): boolean {
if (key) {
let lKey = key.toLowerCase();
const lKey = key.toLowerCase();
this.handlers[lKey] = handler;
return true;
}
@@ -125,10 +125,10 @@ export class FolderActionsService {
target.reload();
}
let message = this.translation.instant('CORE.DELETE_NODE.SINGULAR', { name: node.entry.name });
const message = this.translation.instant('CORE.DELETE_NODE.SINGULAR', { name: node.entry.name });
this.success.next(message);
}, () => {
let message = this.translation.instant('CORE.DELETE_NODE.ERROR_SINGULAR', { name: node.entry.name });
const message = this.translation.instant('CORE.DELETE_NODE.ERROR_SINGULAR', { name: node.entry.name });
this.error.next(message);
});

View File

@@ -52,7 +52,7 @@ describe('NodeActionsService', () => {
});
beforeEach(() => {
let appConfig: AppConfigService = TestBed.get(AppConfigService);
const appConfig: AppConfigService = TestBed.get(AppConfigService);
appConfig.config.ecmHost = 'http://localhost:9876/ecm';
service = TestBed.get(NodeActionsService);