diff --git a/ng2-components/ng2-activiti-form/README.md b/ng2-components/ng2-activiti-form/README.md index 311cdeaa50..a8cb1de03b 100644 --- a/ng2-components/ng2-activiti-form/README.md +++ b/ng2-components/ng2-activiti-form/README.md @@ -153,6 +153,7 @@ The recommended set of properties can be found in the following table: | formSaved | Invoked when form is submitted with `Save` or custom outcomes. | | formCompleted | Invoked when form is submitted with `Complete` outcome. | | executeOutcome | Invoked when any outcome is executed, default behaviour can be prevented via `event.preventDefault()` | +| onError | Invoked at any error | All `form*` events receive an instance of the `FormModel` as event argument for ease of development: diff --git a/ng2-components/ng2-activiti-form/src/components/activiti-form.component.ts b/ng2-components/ng2-activiti-form/src/components/activiti-form.component.ts index 2c5151d877..e2ae2ff507 100644 --- a/ng2-components/ng2-activiti-form/src/components/activiti-form.component.ts +++ b/ng2-components/ng2-activiti-form/src/components/activiti-form.component.ts @@ -147,6 +147,9 @@ export class ActivitiForm implements OnInit, AfterViewChecked, OnChanges { @Output() executeOutcome: EventEmitter = new EventEmitter(); + @Output() + onError: EventEmitter = new EventEmitter(); + form: FormModel; debugMode: boolean = false; @@ -301,7 +304,9 @@ export class ActivitiForm implements OnInit, AfterViewChecked, OnChanges { this.form = new FormModel(form, data, this.readOnly); this.formLoaded.emit(this.form); }, - this.handleError + (error) => { + this.handleError(error); + } ); } @@ -314,7 +319,9 @@ export class ActivitiForm implements OnInit, AfterViewChecked, OnChanges { this.form = this.parseForm(form); this.formLoaded.emit(this.form); }, - this.handleError + (error) => { + this.handleError(error); + } ); } @@ -329,10 +336,14 @@ export class ActivitiForm implements OnInit, AfterViewChecked, OnChanges { this.form = this.parseForm(form); this.formLoaded.emit(this.form); }, - this.handleError + (error) => { + this.handleError(error); + } ); }, - this.handleError + (error) => { + this.handleError(error); + } ); } @@ -345,7 +356,9 @@ export class ActivitiForm implements OnInit, AfterViewChecked, OnChanges { this.formSaved.emit(this.form); this.storeFormAsMetadata(); }, - this.handleError + (error) => { + this.handleError(error); + } ); } } @@ -359,13 +372,16 @@ export class ActivitiForm implements OnInit, AfterViewChecked, OnChanges { this.formCompleted.emit(this.form); this.storeFormAsMetadata(); }, - this.handleError + (error) => { + this.handleError(error); + } ); } } handleError(err: any): any { console.log(err); + this.onError.emit(err); } parseForm(json: any): FormModel { @@ -415,7 +431,9 @@ export class ActivitiForm implements OnInit, AfterViewChecked, OnChanges { this.loadFormFromFormId(form.id); } }, - this.handleError + (error) => { + this.handleError(error); + } ); } @@ -428,7 +446,10 @@ export class ActivitiForm implements OnInit, AfterViewChecked, OnChanges { if (this.saveMetadata) { this.ecmModelService.createEcmTypeForActivitiForm(this.formName, this.form).subscribe(type => { this.nodeService.createNodeMetadata(type.nodeType || type.entry.prefixedName, EcmModelService.MODEL_NAMESPACE, this.form.values, this.path, this.nameNode); - }, this.handleError + }, + (error) => { + this.handleError(error); + } ); } } diff --git a/ng2-components/ng2-activiti-tasklist/README.md b/ng2-components/ng2-activiti-tasklist/README.md index a560fbc566..374581a818 100644 --- a/ng2-components/ng2-activiti-tasklist/README.md +++ b/ng2-components/ng2-activiti-tasklist/README.md @@ -96,7 +96,13 @@ The component shows the details of the task id passed in input ``` #### Events -No events +| Name | Description | +| --- | --- | +| formLoaded | Invoked when form is loaded or reloaded. | +| formSaved | Invoked when form is submitted with `Save` or custom outcomes. | +| formCompleted | Invoked when form is submitted with `Complete` outcome. | +| executeOutcome | Invoked when any outcome is executed, default behaviour can be prevented via `event.preventDefault()` | +| onError | Invoked at any error | #### Options diff --git a/ng2-components/ng2-activiti-tasklist/src/components/activiti-task-details.component.html b/ng2-components/ng2-activiti-tasklist/src/components/activiti-task-details.component.html index f505ac7162..5b91551dbc 100644 --- a/ng2-components/ng2-activiti-tasklist/src/components/activiti-task-details.component.html +++ b/ng2-components/ng2-activiti-tasklist/src/components/activiti-task-details.component.html @@ -30,6 +30,8 @@ (formSaved)='formSavedEmitter($event)' (formCompleted)='formCompletedEmitter($event)' (formLoaded)='formLoadedEmitter($event)' + (onError)='onErrorEmitter($event)' + (executeOutcome)='executeOutcomeEmitter($event)' #activitiForm> diff --git a/ng2-components/ng2-activiti-tasklist/src/components/activiti-task-details.component.ts b/ng2-components/ng2-activiti-tasklist/src/components/activiti-task-details.component.ts index fbf4deab72..cfee98b438 100644 --- a/ng2-components/ng2-activiti-tasklist/src/components/activiti-task-details.component.ts +++ b/ng2-components/ng2-activiti-tasklist/src/components/activiti-task-details.component.ts @@ -75,6 +75,12 @@ export class ActivitiTaskDetails implements OnInit { @Output() formLoaded = new EventEmitter(); + @Output() + onError = new EventEmitter(); + + @Output() + executeOutcome = new EventEmitter(); + taskDetails: TaskDetailsModel; taskForm: FormModel; @@ -159,4 +165,12 @@ export class ActivitiTaskDetails implements OnInit { formLoadedEmitter(data: any) { this.formLoaded.emit(data); } + + onErrorEmitter(err: any) { + this.onError.emit(err); + } + + executeOutcomeEmitter(data: any) { + this.executeOutcome.emit(data); + } }