Merge pull request #714 from Alfresco/dev-mromano-713

onError event for form component
This commit is contained in:
Denys Vuika
2016-09-08 10:38:37 +01:00
committed by GitHub
5 changed files with 53 additions and 9 deletions

View File

@@ -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:

View File

@@ -147,6 +147,9 @@ export class ActivitiForm implements OnInit, AfterViewChecked, OnChanges {
@Output()
executeOutcome: EventEmitter<FormOutcomeEvent> = new EventEmitter<FormOutcomeEvent>();
@Output()
onError: EventEmitter<any> = new EventEmitter<any>();
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);
}
);
}
}

View File

@@ -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

View File

@@ -30,6 +30,8 @@
(formSaved)='formSavedEmitter($event)'
(formCompleted)='formCompletedEmitter($event)'
(formLoaded)='formLoadedEmitter($event)'
(onError)='onErrorEmitter($event)'
(executeOutcome)='executeOutcomeEmitter($event)'
#activitiForm>
</activiti-form>

View File

@@ -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);
}
}