mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-31 17:38:48 +00:00
Add new activiti api tasklist
This commit is contained in:
@@ -17,7 +17,7 @@
|
||||
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
import { ActivitiTaskList } from 'ng2-alfresco-activiti-tasklist';
|
||||
import { DataColumn, ObjectDataTableAdapter, ObjectDataColumn } from 'ng2-alfresco-datatable';
|
||||
import { ObjectDataTableAdapter, ObjectDataColumn } from 'ng2-alfresco-datatable';
|
||||
|
||||
@Component({
|
||||
selector: 'tasks-demo',
|
||||
|
@@ -39,6 +39,9 @@ export class ActivitiTaskList {
|
||||
@Input()
|
||||
data: DataTableAdapter;
|
||||
|
||||
@Input()
|
||||
assignment: string;
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
* @param auth
|
||||
@@ -51,11 +54,19 @@ export class ActivitiTaskList {
|
||||
translate.addTranslationFolder('node_modules/ng2-alfresco-activiti-tasklist');
|
||||
|
||||
if (auth.isLoggedIn('BPM')) {
|
||||
activiti.getTasks().subscribe((res) => {
|
||||
activiti.getTaskListFilters().subscribe((resFilter) => {
|
||||
let tasksListFilter = resFilter.data || [];
|
||||
if (tasksListFilter.length === 0) {
|
||||
activiti.createMyTaskFilter().subscribe(() => {
|
||||
console.log('Default filters created');
|
||||
});
|
||||
activiti.getTasks(this.assignment).subscribe((res) => {
|
||||
let tasks = res.data || [];
|
||||
console.log(tasks);
|
||||
this.loadTasks(tasks);
|
||||
});
|
||||
}
|
||||
});
|
||||
} else {
|
||||
console.error('User unauthorized');
|
||||
}
|
||||
|
@@ -24,23 +24,86 @@ export class ActivitiTaskListService {
|
||||
|
||||
constructor(private http: Http) {}
|
||||
|
||||
getTaskListFilters() {
|
||||
let url = 'http://localhost:9999/activiti-app/app/rest/filters/tasks';
|
||||
let headers = new Headers({
|
||||
'Content-Type': 'application/json',
|
||||
'Cache-Control': 'no-cache'
|
||||
});
|
||||
let options = new RequestOptions({ headers: headers });
|
||||
|
||||
return this.http
|
||||
.get(url, options)
|
||||
.map((res: Response) => res.json())
|
||||
.catch(this.handleError);
|
||||
}
|
||||
|
||||
createMyTaskFilter() {
|
||||
let data = JSON.stringify({
|
||||
'name': 'My Tasks',
|
||||
'index': 1,
|
||||
'icon': 'glyphicon-inbox',
|
||||
'filter': {
|
||||
'name': '',
|
||||
'sort': 'created-desc',
|
||||
'state': 'open',
|
||||
'assignment': 'assignee'
|
||||
},
|
||||
'appId': null
|
||||
});
|
||||
return this.callApiCreateFilter(data);
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrive all the tasks created in activiti
|
||||
* @returns {any}
|
||||
*/
|
||||
getTasks(): Observable<any> {
|
||||
// emulate filter value
|
||||
getTasks(assignment: string = 'assignee'): Observable<any> {
|
||||
let data = JSON.stringify({
|
||||
'page': 0,
|
||||
'filterId': 1,
|
||||
'filter': {
|
||||
'name': '',
|
||||
'sort': 'created-desc',
|
||||
'state': 'open',
|
||||
'assignment': assignment
|
||||
},
|
||||
'appDefinitionId': null
|
||||
});
|
||||
return this.callApiFilterTasks(data);
|
||||
}
|
||||
|
||||
getInvolvedTasks(): Observable<any> {
|
||||
let data = JSON.stringify({
|
||||
'page': 0,
|
||||
'filterId': 3,
|
||||
'filter': {
|
||||
'sort': 'created-desc',
|
||||
'name': '',
|
||||
'sort': 'created-desc',
|
||||
'state': 'open',
|
||||
'assignment': 'involved'
|
||||
},
|
||||
'appDefinitionId': null
|
||||
});
|
||||
return this.callApiFilterTasks(data);
|
||||
}
|
||||
|
||||
private callApiCreateFilter(data: Object): Observable<any> {
|
||||
|
||||
let url = 'http://localhost:9999/activiti-app/app/rest/filters/tasks';
|
||||
let headers = new Headers({
|
||||
'Content-Type': 'application/json',
|
||||
'Cache-Control': 'no-cache'
|
||||
});
|
||||
let options = new RequestOptions({ headers: headers });
|
||||
|
||||
return this.http
|
||||
.post(url, data, options)
|
||||
.map((res: Response) => res.json())
|
||||
.catch(this.handleError);
|
||||
}
|
||||
|
||||
private callApiFilterTasks(data: Object): Observable<any> {
|
||||
|
||||
let url = 'http://localhost:9999/activiti-app/app/rest/filter/tasks';
|
||||
let headers = new Headers({
|
||||
|
Reference in New Issue
Block a user