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 { Component, OnInit } from '@angular/core';
|
||||||
import { ActivitiTaskList } from 'ng2-alfresco-activiti-tasklist';
|
import { ActivitiTaskList } from 'ng2-alfresco-activiti-tasklist';
|
||||||
import { DataColumn, ObjectDataTableAdapter, ObjectDataColumn } from 'ng2-alfresco-datatable';
|
import { ObjectDataTableAdapter, ObjectDataColumn } from 'ng2-alfresco-datatable';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'tasks-demo',
|
selector: 'tasks-demo',
|
||||||
|
@@ -29,7 +29,7 @@ declare let __moduleName: string;
|
|||||||
moduleId: __moduleName,
|
moduleId: __moduleName,
|
||||||
templateUrl: './activiti-tasklist.component.html',
|
templateUrl: './activiti-tasklist.component.html',
|
||||||
directives: [ALFRESCO_DATATABLE_DIRECTIVES],
|
directives: [ALFRESCO_DATATABLE_DIRECTIVES],
|
||||||
providers: [ ActivitiTaskListService ]
|
providers: [ActivitiTaskListService]
|
||||||
|
|
||||||
})
|
})
|
||||||
export class ActivitiTaskList {
|
export class ActivitiTaskList {
|
||||||
@@ -39,6 +39,9 @@ export class ActivitiTaskList {
|
|||||||
@Input()
|
@Input()
|
||||||
data: DataTableAdapter;
|
data: DataTableAdapter;
|
||||||
|
|
||||||
|
@Input()
|
||||||
|
assignment: string;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor
|
* Constructor
|
||||||
* @param auth
|
* @param auth
|
||||||
@@ -51,11 +54,19 @@ export class ActivitiTaskList {
|
|||||||
translate.addTranslationFolder('node_modules/ng2-alfresco-activiti-tasklist');
|
translate.addTranslationFolder('node_modules/ng2-alfresco-activiti-tasklist');
|
||||||
|
|
||||||
if (auth.isLoggedIn('BPM')) {
|
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 || [];
|
let tasks = res.data || [];
|
||||||
console.log(tasks);
|
console.log(tasks);
|
||||||
this.loadTasks(tasks);
|
this.loadTasks(tasks);
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
} else {
|
} else {
|
||||||
console.error('User unauthorized');
|
console.error('User unauthorized');
|
||||||
}
|
}
|
||||||
|
@@ -24,23 +24,86 @@ export class ActivitiTaskListService {
|
|||||||
|
|
||||||
constructor(private http: Http) {}
|
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
|
* Retrive all the tasks created in activiti
|
||||||
* @returns {any}
|
* @returns {any}
|
||||||
*/
|
*/
|
||||||
getTasks(): Observable<any> {
|
getTasks(assignment: string = 'assignee'): Observable<any> {
|
||||||
// emulate filter value
|
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({
|
let data = JSON.stringify({
|
||||||
'page': 0,
|
'page': 0,
|
||||||
'filterId': 3,
|
'filterId': 3,
|
||||||
'filter': {
|
'filter': {
|
||||||
'sort': 'created-desc',
|
|
||||||
'name': '',
|
'name': '',
|
||||||
|
'sort': 'created-desc',
|
||||||
'state': 'open',
|
'state': 'open',
|
||||||
'assignment': 'involved'
|
'assignment': 'involved'
|
||||||
},
|
},
|
||||||
'appDefinitionId': null
|
'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 url = 'http://localhost:9999/activiti-app/app/rest/filter/tasks';
|
||||||
let headers = new Headers({
|
let headers = new Headers({
|
||||||
|
Reference in New Issue
Block a user