diff --git a/client/src/components/Modal.vue b/client/src/components/Modal.vue index 2427959f..c9df6725 100644 --- a/client/src/components/Modal.vue +++ b/client/src/components/Modal.vue @@ -9,7 +9,7 @@ diff --git a/client/src/components/NewContentBlockWizard.vue b/client/src/components/NewContentBlockWizard.vue index dad8b585..963beef9 100644 --- a/client/src/components/NewContentBlockWizard.vue +++ b/client/src/components/NewContentBlockWizard.vue @@ -1,6 +1,9 @@ @@ -70,17 +79,20 @@ } return 'content-block-chooser-widget' }, - changeLinkUrl(value, index) { + updateProperty(value, index, key) { this.elements.splice(index, 1, { ...this.elements[index], - url: value + [key]: value }); }, + changeLinkUrl(value, index) { + this.updateProperty(value, index, 'url') + }, changeLinkText(value, index) { - this.elements.splice(index, 1, { - ...this.elements[index], - text: value - }); + this.updateProperty(value, index, 'text') + }, + changeVideoUrl(value, index) { + this.updateProperty(value, index, 'url') }, removeElement(index) { this.elements.splice(index, 1); @@ -103,6 +115,14 @@ } this.elements.splice(index, 1, el); + }, + hideModal() { + this.$store.dispatch('hideModal'); + }, + saveContentBlock() { + this.$store.dispatch('saveContentBlock', { + elements: this.elements + }); } }, diff --git a/client/src/store/index.js b/client/src/store/index.js index aa75af13..3a7118bb 100644 --- a/client/src/store/index.js +++ b/client/src/store/index.js @@ -10,7 +10,8 @@ export default new Vuex.Store({ specialContainerClass: '', showFilter: true, showModal: false, - scrollPosition: 0 + scrollPosition: 0, + newContentBlock: {} }, getters: {}, @@ -32,6 +33,11 @@ export default new Vuex.Store({ showModal({commit}) { document.body.classList.add('no-scroll'); commit('setModal', true); + }, + saveContentBlock({commit}, payload){ + console.log(payload); + commit('setNewContentBlock', payload); + commit('setModal', false); } }, @@ -47,6 +53,9 @@ export default new Vuex.Store({ }, setScrollPosition(state, payload) { state.scrollPosition = payload; + }, + setNewContentBlock(state, payload) { + state.newContentBlock = payload; } } })