From 06e22191108f82bdeba141be752928f58f0e7a95 Mon Sep 17 00:00:00 2001 From: Fayaz Ahmed <15716057+fayazara@users.noreply.github.com> Date: Tue, 25 Oct 2022 12:19:19 +0530 Subject: [PATCH] chore: Improve macros stability (#5700) Co-authored-by: Pranav Raj S --- .../widgets/AutomationActionInput.vue | 4 +- .../widgets/AutomationFileInput.vue | 1 + .../dashboard/mixins/specs/uiSettings.spec.js | 2 +- .../dashboard/settings/macros/MacroEditor.vue | 12 +++++- .../dashboard/settings/macros/MacroForm.vue | 13 ++++-- .../dashboard/settings/macros/MacroNodes.vue | 7 --- .../settings/macros/MacroProperties.vue | 43 +++++++++++-------- .../specs/conversations/actions.spec.js | 5 +++ 8 files changed, 55 insertions(+), 32 deletions(-) diff --git a/app/javascript/dashboard/components/widgets/AutomationActionInput.vue b/app/javascript/dashboard/components/widgets/AutomationActionInput.vue index 93a5e3e6c..c79406680 100644 --- a/app/javascript/dashboard/components/widgets/AutomationActionInput.vue +++ b/app/javascript/dashboard/components/widgets/AutomationActionInput.vue @@ -150,7 +150,7 @@ export default { }, actionInputStyles() { return { - error: this.v.action_params.$dirty && this.v.action_params.$error, + 'has-error': this.v.action_params.$dirty && this.v.action_params.$error, 'is-a-macro': this.isMacro, }; }, @@ -187,7 +187,7 @@ export default { margin-bottom: 0; } -.filter.error { +.filter.has-error { background: var(--r-50); } diff --git a/app/javascript/dashboard/components/widgets/AutomationFileInput.vue b/app/javascript/dashboard/components/widgets/AutomationFileInput.vue index 595faa8fb..0840072a6 100644 --- a/app/javascript/dashboard/components/widgets/AutomationFileInput.vue +++ b/app/javascript/dashboard/components/widgets/AutomationFileInput.vue @@ -113,5 +113,6 @@ input[type='file'] { overflow: hidden; text-overflow: ellipsis; width: 100%; + margin-bottom: 0; } diff --git a/app/javascript/dashboard/mixins/specs/uiSettings.spec.js b/app/javascript/dashboard/mixins/specs/uiSettings.spec.js index 3613574ba..7959f8996 100644 --- a/app/javascript/dashboard/mixins/specs/uiSettings.spec.js +++ b/app/javascript/dashboard/mixins/specs/uiSettings.spec.js @@ -116,10 +116,10 @@ describe('uiSettingsMixin', () => { const wrapper = shallowMount(Component, { store, localVue }); expect(wrapper.vm.conversationSidebarItemsOrder).toEqual([ { name: 'conversation_actions' }, + { name: 'macros' }, { name: 'conversation_info' }, { name: 'contact_attributes' }, { name: 'previous_conversation' }, - { name: 'macros' }, ]); }); }); diff --git a/app/javascript/dashboard/routes/dashboard/settings/macros/MacroEditor.vue b/app/javascript/dashboard/routes/dashboard/settings/macros/MacroEditor.vue index b3ead6750..6a6531f88 100644 --- a/app/javascript/dashboard/routes/dashboard/settings/macros/MacroEditor.vue +++ b/app/javascript/dashboard/routes/dashboard/settings/macros/MacroEditor.vue @@ -16,7 +16,6 @@ import MacroForm from './MacroForm'; import { MACRO_ACTION_TYPES } from './constants'; import { mapGetters } from 'vuex'; -import { emptyMacro } from './macroHelper'; import actionQueryGenerator from 'dashboard/helper/actionQueryGenerator.js'; import alertMixin from 'shared/mixins/alertMixin'; import macrosMixin from 'dashboard/mixins/macrosMixin'; @@ -107,7 +106,16 @@ export default { }, initNewMacro() { this.mode = 'CREATE'; - this.macro = emptyMacro; + this.macro = { + name: '', + actions: [ + { + action_name: 'assign_team', + action_params: [], + }, + ], + visibility: 'global', + }; }, async saveMacro(macro) { try { diff --git a/app/javascript/dashboard/routes/dashboard/settings/macros/MacroForm.vue b/app/javascript/dashboard/routes/dashboard/settings/macros/MacroForm.vue index 36162db3a..95db0ed65 100644 --- a/app/javascript/dashboard/routes/dashboard/settings/macros/MacroForm.vue +++ b/app/javascript/dashboard/routes/dashboard/settings/macros/MacroForm.vue @@ -47,6 +47,12 @@ export default { }; }, watch: { + $route: { + handler() { + this.resetValidation(); + }, + immediate: true, + }, macroData: { handler() { this.macro = this.macroData; @@ -79,9 +85,6 @@ export default { }, }, }, - mounted() { - this.$v.$reset(); - }, methods: { updateName(value) { this.macro.name = value; @@ -104,8 +107,12 @@ export default { this.$emit('submit', this.macro); }, resetNode(index) { + this.$v.macro.actions.$each[index].$reset(); this.macro.actions[index].action_params = []; }, + resetValidation() { + this.$v.$reset(); + }, }, }; diff --git a/app/javascript/dashboard/routes/dashboard/settings/macros/MacroNodes.vue b/app/javascript/dashboard/routes/dashboard/settings/macros/MacroNodes.vue index 6e8b82007..0123055cf 100644 --- a/app/javascript/dashboard/routes/dashboard/settings/macros/MacroNodes.vue +++ b/app/javascript/dashboard/routes/dashboard/settings/macros/MacroNodes.vue @@ -8,8 +8,6 @@ tag="div" class="macros__nodes-draggable" handle=".macros__node-drag-handle" - @start="dragging = true" - @end="dragging = false" >
[], }, }, - data() { - return { - dragging: false, - }; - }, computed: { actionData: { get() { diff --git a/app/javascript/dashboard/routes/dashboard/settings/macros/MacroProperties.vue b/app/javascript/dashboard/routes/dashboard/settings/macros/MacroProperties.vue index ec8588ef8..076dad07b 100644 --- a/app/javascript/dashboard/routes/dashboard/settings/macros/MacroProperties.vue +++ b/app/javascript/dashboard/routes/dashboard/settings/macros/MacroProperties.vue @@ -10,7 +10,7 @@ @input="onUpdateName($event)" />
-
+

{{ $t('MACROS.EDITOR.VISIBILITY.LABEL') }}