diff --git a/ng2-components/ng2-alfresco-activiti-form/src/components/activiti-form.component.css b/ng2-components/ng2-alfresco-activiti-form/src/components/activiti-form.component.css
index 0258de8fe1..e5edf859d7 100644
--- a/ng2-components/ng2-alfresco-activiti-form/src/components/activiti-form.component.css
+++ b/ng2-components/ng2-alfresco-activiti-form/src/components/activiti-form.component.css
@@ -1,3 +1,12 @@
+.activiti-form-container {
+ width: 100%;
+ min-height: 100px;
+}
+
+.activiti-form-container > .mdl-card__media {
+ background-color: #fff;
+}
+
.activiti-task-list__item:hover {
cursor: pointer;
font-weight: bold;
diff --git a/ng2-components/ng2-alfresco-activiti-form/src/components/activiti-form.component.html b/ng2-components/ng2-alfresco-activiti-form/src/components/activiti-form.component.html
index 90fd2cc0a4..7cc18d6889 100644
--- a/ng2-components/ng2-alfresco-activiti-form/src/components/activiti-form.component.html
+++ b/ng2-components/ng2-alfresco-activiti-form/src/components/activiti-form.component.html
@@ -20,13 +20,30 @@
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 e01118d03f..2b84b30eb8 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
@@ -66,6 +66,7 @@ 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));
diff --git a/ng2-components/ng2-alfresco-activiti-form/src/components/widgets/widget.model.ts b/ng2-components/ng2-alfresco-activiti-form/src/components/widgets/widget.model.ts
index 2390b8958c..14e75f2be7 100644
--- a/ng2-components/ng2-alfresco-activiti-form/src/components/widgets/widget.model.ts
+++ b/ng2-components/ng2-alfresco-activiti-form/src/components/widgets/widget.model.ts
@@ -142,10 +142,36 @@ export interface WidgetModelCache {
[key: string]: T;
}
+export class FormOutcomeModel extends FormWidgetModel {
+
+ private _id: string;
+ private _name: string;
+
+ isSystem: boolean = false;
+
+ get id() {
+ return this._id;
+ }
+
+ get name() {
+ return this._name;
+ }
+
+ constructor(form: FormModel, json?: any) {
+ super(form, json);
+
+ if (json) {
+ this._id = json.id;
+ this._name = json.name;
+ }
+ }
+}
+
export class FormModel {
tabs: TabModel[] = [];
fields: ContainerModel[] = [];
+ outcomes: FormOutcomeModel[] = [];
private _json: any;
@@ -161,6 +187,10 @@ export class FormModel {
return this.fields && this.fields.length > 0;
}
+ hasOutcomes(): boolean {
+ return this.outcomes && this.outcomes.length > 0;
+ }
+
constructor(json?: any) {
if (json) {
this._json = json;
@@ -172,19 +202,26 @@ export class FormModel {
tabCache[model.id] = model;
return model;
});
- this.fields = (json.fields || []).map(f => new ContainerModel(this, f));
+ this.fields = (json.fields || []).map(obj => new ContainerModel(this, obj));
for (let i = 0; i < this.fields.length; i++) {
let field = this.fields[i];
if (field.tab) {
let tab = tabCache[field.tab];
if (tab) {
- // tab.content = new ContainerModel(this, field.json);
- // tab.fields.push(field);
tab.fields.push(new ContainerModel(this, field.json));
}
}
}
+
+ let saveOutcome = new FormOutcomeModel(this, { id: '$save', name: 'Save' });
+ saveOutcome.isSystem = true;
+
+ let systemOutcomes = [saveOutcome];
+
+ this.outcomes = systemOutcomes.concat(
+ (json.outcomes || []).map(obj => new FormOutcomeModel(this, obj))
+ );
}
}
}