From 7fb5ab31d94be5ef1f1f6f07e3890ee8df6baa81 Mon Sep 17 00:00:00 2001 From: Simon Knox Date: Mon, 2 Apr 2018 06:18:00 +1000 Subject: trigger Vue change detection --- app/assets/javascripts/diffs/store/mutations.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/app/assets/javascripts/diffs/store/mutations.js b/app/assets/javascripts/diffs/store/mutations.js index d4b00c26ac2..f7f99b5d62a 100644 --- a/app/assets/javascripts/diffs/store/mutations.js +++ b/app/assets/javascripts/diffs/store/mutations.js @@ -1,3 +1,4 @@ +import Vue from 'vue'; import { convertObjectPropsToCamelCase } from '~/lib/utils/common_utils'; import * as utils from './utils'; import * as types from './mutation_types'; @@ -48,19 +49,18 @@ export default { type: COMMENT_FORM_TYPE, }; - state.diffLineCommentForms[lineCode] = { - ...state.diffLineCommentForms[lineCode], - [linePosition]: { - formObj, - }, - }; + if (!state.diffLineCommentForms[lineCode]) { + Vue.set(state.diffLineCommentForms, lineCode, { linePosition: {} }); + } + + Vue.set(state.diffLineCommentForms[lineCode], linePosition, formObj); }, [types.REMOVE_COMMENT_FORM_LINE](state, { lineCode, linePosition }) { if (linePosition) { - delete state.diffLineCommentForms[lineCode][linePosition]; + Vue.set(state.diffLineCommentForms[lineCode], linePosition, null); } else { - delete state.diffLineCommentForms[lineCode]; + Vue.set(state.diffLineCommentForms, lineCode, null); } }, -- cgit v1.2.1