From 7239b37daca2da47460d56077c206e36a5f96467 Mon Sep 17 00:00:00 2001 From: Maurizio Vitale Date: Wed, 5 Apr 2017 16:00:28 +0100 Subject: [PATCH] Activtiti apps - Provide a way to filter the apps (#1804) * Provide a way to filter the apps #1389 * Add unit test #1389 * Add documentation #1389 * Improve docs #1389 * Correct image * Add parameter filtersAppId to docs --- .../ng2-activiti-tasklist/README.md | 33 ++++++++-- .../docs/assets/how-filter-apps.png | Bin 0 -> 90699 bytes .../src/assets/activiti-apps.mock.ts | 60 +++++++++++++----- .../components/activiti-apps.component.html | 3 + .../activiti-apps.component.spec.ts | 57 ++++++++++++++++- .../src/components/activiti-apps.component.ts | 25 ++++++++ .../ng2-activiti-tasklist/src/i18n/en.json | 3 + .../ng2-activiti-tasklist/src/i18n/it.json | 3 + 8 files changed, 162 insertions(+), 22 deletions(-) create mode 100644 ng2-components/ng2-activiti-tasklist/docs/assets/how-filter-apps.png diff --git a/ng2-components/ng2-activiti-tasklist/README.md b/ng2-components/ng2-activiti-tasklist/README.md index aac116cc4b..ecb2c1ec0e 100644 --- a/ng2-components/ng2-activiti-tasklist/README.md +++ b/ng2-components/ng2-activiti-tasklist/README.md @@ -224,10 +224,10 @@ Example: ```json [ - {type: 'text', key: 'id', title: 'Id'}, - {type: 'text', key: 'name', title: 'Name', cssClass: 'full-width name-column', sortable: true}, - {type: 'text', key: 'formKey', title: 'Form Key', sortable: true}, - {type: 'text', key: 'created', title: 'Created', sortable: true} + {"type": "text", "key": "id", "title": "Id"}, + {"type": "text", "key": "name", "title": "Name", "cssClass": "full-width name-column", "sortable": true}, + {"type": "text", "key": "formKey", "title": "Form Key", "sortable": true}, + {"type": "text", "key": "created", "title": "Created", "sortable": true} ] ``` @@ -310,6 +310,31 @@ The component shows all the available apps. | Name | Type | Required | Description | | --- | --- | --- | --- | | `layoutType` | {string} | required | Define the layout of the apps. There are two possible values: GRID or LIST. | +| `filtersAppId` | {Object} | | Provide a way to filter the apps to show. | + + +### How filter the activiti apps + +If you want show some specific apps you can specify them through the filtersAppId parameters + +```html + +``` + +In this specific case only the Tasks app, the app with deploymentId 15037 and the app with "my app name" will be showed +![how-filter-apps](docs/assets/how-filter-apps.png) + +You can use inside the filter one of the following property +```json +{ + "defaultAppId": "string", + "deploymentId": "string", + "name": "string", + "id": "number", + "modelId": "number", + "tenantId": "number" +} +``` ## Basic usage example Activiti Filter diff --git a/ng2-components/ng2-activiti-tasklist/docs/assets/how-filter-apps.png b/ng2-components/ng2-activiti-tasklist/docs/assets/how-filter-apps.png new file mode 100644 index 0000000000000000000000000000000000000000..e50e4f57e18cd769ec6067ef9221fd3d06965a2d GIT binary patch literal 90699 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 + diff --git a/ng2-components/ng2-activiti-tasklist/src/components/activiti-apps.component.spec.ts b/ng2-components/ng2-activiti-tasklist/src/components/activiti-apps.component.spec.ts index dcaac27e5a..28707b09dd 100644 --- a/ng2-components/ng2-activiti-tasklist/src/components/activiti-apps.component.spec.ts +++ b/ng2-components/ng2-activiti-tasklist/src/components/activiti-apps.component.spec.ts @@ -59,7 +59,7 @@ describe('ActivitiApps', () => { debugElement = fixture.debugElement; service = fixture.debugElement.injector.get(ActivitiTaskListService); - getAppsSpy = spyOn(service, 'getDeployedApplications').and.returnValue(Observable.of()); + getAppsSpy = spyOn(service, 'getDeployedApplications').and.returnValue(Observable.of(deployedApps)); componentHandler = jasmine.createSpyObj('componentHandler', [ 'upgradeAllRegistered', @@ -79,6 +79,59 @@ describe('ActivitiApps', () => { expect(getAppsSpy).toHaveBeenCalled(); }); + it('should show the apps filterd by defaultAppId', () => { + component.filtersAppId = [{defaultAppId: 'fake-app-1'}]; + fixture.detectChanges(); + expect(component.isEmpty()).toBe(false); + expect(component.appList).toBeDefined(); + expect(component.appList.length).toEqual(1); + }); + + it('should show the apps filterd by deploymentId', () => { + component.filtersAppId = [{deploymentId: '4'}]; + fixture.detectChanges(); + expect(component.isEmpty()).toBe(false); + expect(component.appList).toBeDefined(); + expect(component.appList.length).toEqual(1); + expect(component.appList[0].deploymentId).toEqual('4'); + }); + + it('should show the apps filterd by name', () => { + component.filtersAppId = [{name: 'App5'}]; + fixture.detectChanges(); + expect(component.isEmpty()).toBe(false); + expect(component.appList).toBeDefined(); + expect(component.appList.length).toEqual(1); + expect(component.appList[0].name).toEqual('App5'); + }); + + it('should show the apps filterd by id', () => { + component.filtersAppId = [{id: 6}]; + fixture.detectChanges(); + expect(component.isEmpty()).toBe(false); + expect(component.appList).toBeDefined(); + expect(component.appList.length).toEqual(1); + expect(component.appList[0].id).toEqual(6); + }); + + it('should show the apps filterd by modelId', () => { + component.filtersAppId = [{modelId: 66}]; + fixture.detectChanges(); + expect(component.isEmpty()).toBe(false); + expect(component.appList).toBeDefined(); + expect(component.appList.length).toEqual(2); + expect(component.appList[0].modelId).toEqual(66); + }); + + it('should show the apps filterd by tenandId', () => { + component.filtersAppId = [{tenantId: 9}]; + fixture.detectChanges(); + expect(component.isEmpty()).toBe(false); + expect(component.appList).toBeDefined(); + expect(component.appList.length).toEqual(2); + expect(component.appList[0].tenantId).toEqual(9); + }); + it('should emit an error when an error occurs loading apps', () => { let emitSpy = spyOn(component.error, 'emit'); getAppsSpy.and.returnValue(Observable.throw({})); @@ -119,7 +172,7 @@ describe('ActivitiApps', () => { it('should display all deployed apps', () => { getAppsSpy.and.returnValue(Observable.of(deployedApps)); fixture.detectChanges(); - expect(debugElement.queryAll(By.css('h1')).length).toBe(3); + expect(debugElement.queryAll(By.css('h1')).length).toBe(6); }); it('should not display undeployed apps', () => { diff --git a/ng2-components/ng2-activiti-tasklist/src/components/activiti-apps.component.ts b/ng2-components/ng2-activiti-tasklist/src/components/activiti-apps.component.ts index 82bd16a2be..099bd5c496 100644 --- a/ng2-components/ng2-activiti-tasklist/src/components/activiti-apps.component.ts +++ b/ng2-components/ng2-activiti-tasklist/src/components/activiti-apps.component.ts @@ -45,6 +45,9 @@ export class ActivitiApps implements OnInit { @Input() layoutType: string = ActivitiApps.LAYOUT_GRID; + @Input() + filtersAppId: any[]; + @Output() appClick: EventEmitter = new EventEmitter(); @@ -90,6 +93,7 @@ export class ActivitiApps implements OnInit { private load() { this.activitiTaskList.getDeployedApplications().subscribe( (res) => { + res = this.filterApps(res); res.forEach((app: AppDefinitionRepresentationModel) => { if (app.defaultAppId === ActivitiApps.DEFAULT_TASKS_APP) { app.name = ActivitiApps.DEFAULT_TASKS_APP_NAME; @@ -125,6 +129,27 @@ export class ActivitiApps implements OnInit { return (this.currentApp !== undefined && appId === this.currentApp.id); } + private filterApps(apps: AppDefinitionRepresentationModel []): AppDefinitionRepresentationModel[] { + let filteredApps = []; + if (this.filtersAppId) { + apps.filter((app: AppDefinitionRepresentationModel) => { + this.filtersAppId.forEach((filter) => { + if (app.defaultAppId === filter.defaultAppId || + app.deploymentId === filter.deploymentId || + app.name === filter.name || + app.id === filter.id || + app.modelId === filter.modelId || + app.tenantId === filter.tenantId) { + filteredApps.push(app); + } + }); + }); + } else { + return apps; + } + return filteredApps; + } + /** * Check if the value of the layoutType property is an allowed value * @returns {boolean} diff --git a/ng2-components/ng2-activiti-tasklist/src/i18n/en.json b/ng2-components/ng2-activiti-tasklist/src/i18n/en.json index 7c79ccb57a..87528d901e 100644 --- a/ng2-components/ng2-activiti-tasklist/src/i18n/en.json +++ b/ng2-components/ng2-activiti-tasklist/src/i18n/en.json @@ -1,4 +1,7 @@ { + "APPS": { + "NONE": "No apps found." + }, "TASK_LIST": { "MESSAGES": { "NONE": "No tasks list found." diff --git a/ng2-components/ng2-activiti-tasklist/src/i18n/it.json b/ng2-components/ng2-activiti-tasklist/src/i18n/it.json index 2965bcdb39..8d33434f4d 100644 --- a/ng2-components/ng2-activiti-tasklist/src/i18n/it.json +++ b/ng2-components/ng2-activiti-tasklist/src/i18n/it.json @@ -1,4 +1,7 @@ { + "APPS": { + "NONE": "Nessuna applicazione trovata." + }, "TASK_LIST": { "MESSAGES": { "NONE": "Nessuna lista tasks trovata."