From 1a55be12cf68c8f049184be801c24e184708ae7f Mon Sep 17 00:00:00 2001 From: Joel Collins Date: Tue, 18 Feb 2020 17:14:16 +0000 Subject: [PATCH] Allow plugins to emit events on submission response --- src/components/pluginComponents/JsonForm.vue | 21 +++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/src/components/pluginComponents/JsonForm.vue b/src/components/pluginComponents/JsonForm.vue index 9ab98a8c..81587134 100644 --- a/src/components/pluginComponents/JsonForm.vue +++ b/src/components/pluginComponents/JsonForm.vue @@ -111,6 +111,11 @@ export default { type: String, required: false, default: "Submit" + }, + emitOnResponse: { + type: String, + required: false, + default: null } }, @@ -201,6 +206,13 @@ export default { this.$emit("reloadForms"); }, + onSubmissionCompleted: function() { + if (this.emitOnResponse) { + this.$root.$emit(this.emitOnResponse); + } + this.updateForm(); + }, + newQuickRequest: function(params) { console.log(this.submitApiUri); console.log(params); @@ -210,8 +222,8 @@ export default { .then(response => { // Do something with the response console.log(response); - // Update the form data if we're self-updating - this.updateForm(); + // Do all the finished request stuff + this.onSubmissionCompleted(); }) .catch(error => { this.modalError(error); // Let mixin handle error @@ -222,9 +234,8 @@ export default { onTaskResponse: function(responseData) { console.log("Task finished with response data: ", responseData); - if (this.selfUpdate) { - this.getFormData(); - } + // Do all the finished request stuff + this.onSubmissionCompleted(); }, onTaskError: function(error) {