Process filters should use own model class not task filter (#1458)

Refs #1422
This commit is contained in:
Will Abson
2017-01-13 16:56:35 +00:00
committed by Mario Romano
parent 0a725f00e2
commit 6658630eea
5 changed files with 36 additions and 18 deletions

View File

@@ -28,6 +28,7 @@ import {
ActivitiProcessInstanceDetails, ActivitiProcessInstanceDetails,
ActivitiProcessInstanceListComponent, ActivitiProcessInstanceListComponent,
ActivitiStartProcessInstance, ActivitiStartProcessInstance,
FilterProcessRepresentationModel,
ProcessInstance ProcessInstance
} from 'ng2-activiti-processlist'; } from 'ng2-activiti-processlist';
import { AnalyticsReportListComponent } from 'ng2-activiti-analytics'; import { AnalyticsReportListComponent } from 'ng2-activiti-analytics';
@@ -87,7 +88,7 @@ export class ActivitiDemoComponent implements AfterViewInit {
taskFilter: FilterRepresentationModel; taskFilter: FilterRepresentationModel;
report: any; report: any;
processFilter: FilterRepresentationModel; processFilter: FilterProcessRepresentationModel;
sub: Subscription; sub: Subscription;
@@ -164,11 +165,11 @@ export class ActivitiDemoComponent implements AfterViewInit {
this.currentTaskId = this.activititasklist.getCurrentId(); this.currentTaskId = this.activititasklist.getCurrentId();
} }
onProcessFilterClick(event: FilterRepresentationModel) { onProcessFilterClick(event: FilterProcessRepresentationModel) {
this.processFilter = event; this.processFilter = event;
} }
onSuccessProcessFilterList(event: any) { onSuccessProcessFilterList() {
this.processFilter = this.activitiprocessfilter.getCurrentFilter(); this.processFilter = this.activitiprocessfilter.getCurrentFilter();
} }

View File

@@ -18,7 +18,7 @@
import { Component, Output, EventEmitter, OnInit, Input, OnChanges, SimpleChanges } from '@angular/core'; import { Component, Output, EventEmitter, OnInit, Input, OnChanges, SimpleChanges } from '@angular/core';
import { Observable, Observer } from 'rxjs/Rx'; import { Observable, Observer } from 'rxjs/Rx';
import { AlfrescoTranslateService, LogService } from 'ng2-alfresco-core'; 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'; import { ActivitiProcessService } from './../services/activiti-process.service';
declare let componentHandler: any; declare let componentHandler: any;
@@ -32,10 +32,10 @@ declare let componentHandler: any;
export class ActivitiProcessFilters implements OnInit, OnChanges { export class ActivitiProcessFilters implements OnInit, OnChanges {
@Output() @Output()
filterClick: EventEmitter<FilterRepresentationModel> = new EventEmitter<FilterRepresentationModel>(); filterClick: EventEmitter<FilterProcessRepresentationModel> = new EventEmitter<FilterProcessRepresentationModel>();
@Output() @Output()
onSuccess: EventEmitter<any> = new EventEmitter<any>(); onSuccess: EventEmitter<FilterProcessRepresentationModel[]> = new EventEmitter<FilterProcessRepresentationModel[]>();
@Output() @Output()
onError: EventEmitter<any> = new EventEmitter<any>(); onError: EventEmitter<any> = new EventEmitter<any>();
@@ -46,17 +46,17 @@ export class ActivitiProcessFilters implements OnInit, OnChanges {
@Input() @Input()
appName: string; appName: string;
private filterObserver: Observer<FilterRepresentationModel>; private filterObserver: Observer<FilterProcessRepresentationModel>;
filter$: Observable<FilterRepresentationModel>; filter$: Observable<FilterProcessRepresentationModel>;
currentFilter: FilterRepresentationModel; currentFilter: FilterProcessRepresentationModel;
filters: FilterRepresentationModel [] = []; filters: FilterProcessRepresentationModel [] = [];
constructor(private translate: AlfrescoTranslateService, constructor(private translate: AlfrescoTranslateService,
private activiti: ActivitiProcessService, private activiti: ActivitiProcessService,
private logService: LogService) { private logService: LogService) {
this.filter$ = new Observable<FilterRepresentationModel>(observer => this.filterObserver = observer).share(); this.filter$ = new Observable<FilterProcessRepresentationModel>(observer => this.filterObserver = observer).share();
if (translate) { if (translate) {
translate.addTranslationFolder('ng2-activiti-processlist', 'node_modules/ng2-activiti-processlist/src'); translate.addTranslationFolder('ng2-activiti-processlist', 'node_modules/ng2-activiti-processlist/src');
@@ -64,7 +64,7 @@ export class ActivitiProcessFilters implements OnInit, OnChanges {
} }
ngOnInit() { ngOnInit() {
this.filter$.subscribe((filter: FilterRepresentationModel) => { this.filter$.subscribe((filter: FilterProcessRepresentationModel) => {
this.filters.push(filter); this.filters.push(filter);
}); });
@@ -103,7 +103,7 @@ export class ActivitiProcessFilters implements OnInit, OnChanges {
*/ */
getFiltersByAppId(appId?: number) { getFiltersByAppId(appId?: number) {
this.activiti.getProcessFilters(appId).subscribe( this.activiti.getProcessFilters(appId).subscribe(
(res: FilterRepresentationModel[]) => { (res: FilterProcessRepresentationModel[]) => {
this.resetFilter(); this.resetFilter();
res.forEach((filter) => { res.forEach((filter) => {
this.filterObserver.next(filter); this.filterObserver.next(filter);
@@ -111,7 +111,7 @@ export class ActivitiProcessFilters implements OnInit, OnChanges {
this.selectFirstFilter(); this.selectFirstFilter();
this.onSuccess.emit(res); this.onSuccess.emit(res);
}, },
(err) => { (err: any) => {
this.logService.error(err); this.logService.error(err);
this.onError.emit(err); this.onError.emit(err);
} }
@@ -138,7 +138,7 @@ export class ActivitiProcessFilters implements OnInit, OnChanges {
* Pass the selected filter as next * Pass the selected filter as next
* @param filter * @param filter
*/ */
public selectFilter(filter: FilterRepresentationModel) { public selectFilter(filter: FilterProcessRepresentationModel) {
this.currentFilter = filter; this.currentFilter = filter;
this.filterClick.emit(filter); this.filterClick.emit(filter);
} }
@@ -158,7 +158,7 @@ export class ActivitiProcessFilters implements OnInit, OnChanges {
* Return the current task * Return the current task
* @returns {FilterRepresentationModel} * @returns {FilterRepresentationModel}
*/ */
getCurrentFilter(): FilterRepresentationModel { getCurrentFilter(): FilterProcessRepresentationModel {
return this.currentFilter; return this.currentFilter;
} }

View File

@@ -28,7 +28,7 @@ export class FilterProcessRepresentationModel {
name: string; name: string;
recent: boolean; recent: boolean;
icon: string; icon: string;
filter: any; filter: ProcessFilterParamRepresentationModel;
index: number; index: number;
constructor(obj?: any) { constructor(obj?: any) {
@@ -44,3 +44,20 @@ export class FilterProcessRepresentationModel {
return this.filter ? true : false; 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;
}
}

View File

@@ -15,6 +15,7 @@
* limitations under the License. * limitations under the License.
*/ */
export * from './filter-process.model';
export * from './process-definition.model'; export * from './process-definition.model';
export * from './process-instance.model'; export * from './process-instance.model';
export * from './process-instance-filter.model'; export * from './process-instance-filter.model';

View File

@@ -146,7 +146,6 @@ export class ActivitiProcessService {
* @returns {FilterProcessRepresentationModel} * @returns {FilterProcessRepresentationModel}
*/ */
addFilter(filter: FilterProcessRepresentationModel): Observable<FilterProcessRepresentationModel> { addFilter(filter: FilterProcessRepresentationModel): Observable<FilterProcessRepresentationModel> {
delete filter.filter.assignment;
return Observable.fromPromise(this.callApiAddFilter(filter)) return Observable.fromPromise(this.callApiAddFilter(filter))
.catch(err => this.handleError(err)); .catch(err => this.handleError(err));
} }