From 6658630eeadbb0dd78daa1a9df88d25514438a74 Mon Sep 17 00:00:00 2001 From: Will Abson Date: Fri, 13 Jan 2017 16:56:35 +0000 Subject: [PATCH] Process filters should use own model class not task filter (#1458) Refs #1422 --- .../activiti/activiti-demo.component.ts | 7 ++--- .../components/activiti-filters.component.ts | 26 +++++++++---------- .../src/models/filter-process.model.ts | 19 +++++++++++++- .../src/models/index.ts | 1 + .../src/services/activiti-process.service.ts | 1 - 5 files changed, 36 insertions(+), 18 deletions(-) diff --git a/demo-shell-ng2/app/components/activiti/activiti-demo.component.ts b/demo-shell-ng2/app/components/activiti/activiti-demo.component.ts index dc41a0707f..279d1de0ec 100644 --- a/demo-shell-ng2/app/components/activiti/activiti-demo.component.ts +++ b/demo-shell-ng2/app/components/activiti/activiti-demo.component.ts @@ -28,6 +28,7 @@ import { ActivitiProcessInstanceDetails, ActivitiProcessInstanceListComponent, ActivitiStartProcessInstance, + FilterProcessRepresentationModel, ProcessInstance } from 'ng2-activiti-processlist'; import { AnalyticsReportListComponent } from 'ng2-activiti-analytics'; @@ -87,7 +88,7 @@ export class ActivitiDemoComponent implements AfterViewInit { taskFilter: FilterRepresentationModel; report: any; - processFilter: FilterRepresentationModel; + processFilter: FilterProcessRepresentationModel; sub: Subscription; @@ -164,11 +165,11 @@ export class ActivitiDemoComponent implements AfterViewInit { this.currentTaskId = this.activititasklist.getCurrentId(); } - onProcessFilterClick(event: FilterRepresentationModel) { + onProcessFilterClick(event: FilterProcessRepresentationModel) { this.processFilter = event; } - onSuccessProcessFilterList(event: any) { + onSuccessProcessFilterList() { this.processFilter = this.activitiprocessfilter.getCurrentFilter(); } diff --git a/ng2-components/ng2-activiti-processlist/src/components/activiti-filters.component.ts b/ng2-components/ng2-activiti-processlist/src/components/activiti-filters.component.ts index d363543e21..e19d68ebb1 100644 --- a/ng2-components/ng2-activiti-processlist/src/components/activiti-filters.component.ts +++ b/ng2-components/ng2-activiti-processlist/src/components/activiti-filters.component.ts @@ -18,7 +18,7 @@ import { Component, Output, EventEmitter, OnInit, Input, OnChanges, SimpleChanges } from '@angular/core'; import { Observable, Observer } from 'rxjs/Rx'; import { AlfrescoTranslateService, LogService } from 'ng2-alfresco-core'; -import { FilterRepresentationModel } from 'ng2-activiti-tasklist'; +import { FilterProcessRepresentationModel } from './../models/filter-process.model'; import { ActivitiProcessService } from './../services/activiti-process.service'; declare let componentHandler: any; @@ -32,10 +32,10 @@ declare let componentHandler: any; export class ActivitiProcessFilters implements OnInit, OnChanges { @Output() - filterClick: EventEmitter = new EventEmitter(); + filterClick: EventEmitter = new EventEmitter(); @Output() - onSuccess: EventEmitter = new EventEmitter(); + onSuccess: EventEmitter = new EventEmitter(); @Output() onError: EventEmitter = new EventEmitter(); @@ -46,17 +46,17 @@ export class ActivitiProcessFilters implements OnInit, OnChanges { @Input() appName: string; - private filterObserver: Observer; - filter$: Observable; + private filterObserver: Observer; + filter$: Observable; - currentFilter: FilterRepresentationModel; + currentFilter: FilterProcessRepresentationModel; - filters: FilterRepresentationModel [] = []; + filters: FilterProcessRepresentationModel [] = []; constructor(private translate: AlfrescoTranslateService, private activiti: ActivitiProcessService, private logService: LogService) { - this.filter$ = new Observable(observer => this.filterObserver = observer).share(); + this.filter$ = new Observable(observer => this.filterObserver = observer).share(); if (translate) { translate.addTranslationFolder('ng2-activiti-processlist', 'node_modules/ng2-activiti-processlist/src'); @@ -64,7 +64,7 @@ export class ActivitiProcessFilters implements OnInit, OnChanges { } ngOnInit() { - this.filter$.subscribe((filter: FilterRepresentationModel) => { + this.filter$.subscribe((filter: FilterProcessRepresentationModel) => { this.filters.push(filter); }); @@ -103,7 +103,7 @@ export class ActivitiProcessFilters implements OnInit, OnChanges { */ getFiltersByAppId(appId?: number) { this.activiti.getProcessFilters(appId).subscribe( - (res: FilterRepresentationModel[]) => { + (res: FilterProcessRepresentationModel[]) => { this.resetFilter(); res.forEach((filter) => { this.filterObserver.next(filter); @@ -111,7 +111,7 @@ export class ActivitiProcessFilters implements OnInit, OnChanges { this.selectFirstFilter(); this.onSuccess.emit(res); }, - (err) => { + (err: any) => { this.logService.error(err); this.onError.emit(err); } @@ -138,7 +138,7 @@ export class ActivitiProcessFilters implements OnInit, OnChanges { * Pass the selected filter as next * @param filter */ - public selectFilter(filter: FilterRepresentationModel) { + public selectFilter(filter: FilterProcessRepresentationModel) { this.currentFilter = filter; this.filterClick.emit(filter); } @@ -158,7 +158,7 @@ export class ActivitiProcessFilters implements OnInit, OnChanges { * Return the current task * @returns {FilterRepresentationModel} */ - getCurrentFilter(): FilterRepresentationModel { + getCurrentFilter(): FilterProcessRepresentationModel { return this.currentFilter; } diff --git a/ng2-components/ng2-activiti-processlist/src/models/filter-process.model.ts b/ng2-components/ng2-activiti-processlist/src/models/filter-process.model.ts index 3383d8db81..1dcb551476 100644 --- a/ng2-components/ng2-activiti-processlist/src/models/filter-process.model.ts +++ b/ng2-components/ng2-activiti-processlist/src/models/filter-process.model.ts @@ -28,7 +28,7 @@ export class FilterProcessRepresentationModel { name: string; recent: boolean; icon: string; - filter: any; + filter: ProcessFilterParamRepresentationModel; index: number; constructor(obj?: any) { @@ -44,3 +44,20 @@ export class FilterProcessRepresentationModel { return this.filter ? true : false; } } + +/** + * + * This object represent the parameters of a process filter. + * + * + * @returns {ProcessFilterParamRepresentationModel} . + */ +export class ProcessFilterParamRepresentationModel { + state: string; + sort: string; + + constructor(obj?: any) { + this.state = obj && obj.state || null; + this.sort = obj && obj.sort || null; + } +} diff --git a/ng2-components/ng2-activiti-processlist/src/models/index.ts b/ng2-components/ng2-activiti-processlist/src/models/index.ts index 7b879cbf50..b463bce748 100644 --- a/ng2-components/ng2-activiti-processlist/src/models/index.ts +++ b/ng2-components/ng2-activiti-processlist/src/models/index.ts @@ -15,6 +15,7 @@ * limitations under the License. */ +export * from './filter-process.model'; export * from './process-definition.model'; export * from './process-instance.model'; export * from './process-instance-filter.model'; diff --git a/ng2-components/ng2-activiti-processlist/src/services/activiti-process.service.ts b/ng2-components/ng2-activiti-processlist/src/services/activiti-process.service.ts index cede5b2ea9..6d895158bf 100644 --- a/ng2-components/ng2-activiti-processlist/src/services/activiti-process.service.ts +++ b/ng2-components/ng2-activiti-processlist/src/services/activiti-process.service.ts @@ -146,7 +146,6 @@ export class ActivitiProcessService { * @returns {FilterProcessRepresentationModel} */ addFilter(filter: FilterProcessRepresentationModel): Observable { - delete filter.filter.assignment; return Observable.fromPromise(this.callApiAddFilter(filter)) .catch(err => this.handleError(err)); }