-
-
Please select a Task
-
-
diff --git a/ng2-components/ng2-alfresco-activiti-form/src/components/activiti-form.component.ts b/ng2-components/ng2-alfresco-activiti-form/src/components/activiti-form.component.ts
index 9cca8cd473..544f8e6687 100644
--- a/ng2-components/ng2-alfresco-activiti-form/src/components/activiti-form.component.ts
+++ b/ng2-components/ng2-alfresco-activiti-form/src/components/activiti-form.component.ts
@@ -17,8 +17,9 @@
import {
Component,
- OnInit,
- AfterViewChecked
+ OnInit, AfterViewChecked, OnChanges,
+ SimpleChange,
+ Input
} from '@angular/core';
import { MATERIAL_DESIGN_DIRECTIVES } from 'ng2-alfresco-core';
@@ -39,26 +40,24 @@ declare var componentHandler;
directives: [MATERIAL_DESIGN_DIRECTIVES, ContainerWidget, TabsWidget],
providers: [FormService]
})
-export class ActivitiForm implements OnInit, AfterViewChecked {
+export class ActivitiForm implements OnInit, AfterViewChecked, OnChanges {
+
+ @Input()
+ taskId: string;
- task: any;
form: FormModel;
- tasks: any[] = [];
-
debugMode: boolean = false;
hasForm(): boolean {
return this.form ? true : false;
}
- hasTasks(): boolean {
- return this.tasks && this.tasks.length > 0;
- }
-
constructor(private formService: FormService) {}
ngOnInit() {
- this.formService.getTasks().subscribe(val => this.tasks = val || []);
+ if (this.taskId) {
+ this.loadForm(this.taskId);
+ }
}
ngAfterViewChecked() {
@@ -68,14 +67,14 @@ export class ActivitiForm implements OnInit, AfterViewChecked {
}
}
- onTaskClicked(task, e) {
- // alert(`Task: ${task.name} clicked.`);
- this.task = task;
- this.formService
- .getTaskForm(task.id)
- .subscribe(form => this.form = new FormModel(form));
+ ngOnChanges(changes: {[propertyName: string]: SimpleChange}) {
+ let taskId = changes['taskId'];
+ if (taskId && taskId.currentValue) {
+ this.loadForm(taskId.currentValue);
+ }
}
+
onOutcomeClicked(outcome: FormOutcomeModel, event?: Event) {
if (outcome) {
if (outcome.isSystem) {
@@ -87,6 +86,15 @@ export class ActivitiForm implements OnInit, AfterViewChecked {
}
}
+ private loadForm(taskId: string) {
+ this.formService
+ .getTaskForm(taskId)
+ .subscribe(
+ form => this.form = new FormModel(form),
+ err => console.log(err)
+ );
+ }
+
private saveTaskForm() {
let form = {
values: this.form.values