diff options
author | Simon Knox <psimyn@gmail.com> | 2018-03-26 12:21:01 +1100 |
---|---|---|
committer | Simon Knox <psimyn@gmail.com> | 2018-03-26 12:21:01 +1100 |
commit | 24cc3e88d506ef9530615d9bc61307d318411a23 (patch) | |
tree | d3de2185a39e4acb0ce3d577fefe1ba8b8304805 | |
parent | 63e427ac3bcf9a7bf0dc9e3ee840427d2bd4b59c (diff) | |
download | gitlab-ce-vuex_note_modules.tar.gz |
fix Vuex module structre for diffs and notesvuex_note_modules
match directory structure described in Vuex docs
-rw-r--r-- | app/assets/javascripts/diffs/store/index.js | 24 | ||||
-rw-r--r-- | app/assets/javascripts/diffs/store/modules/index.js | 17 | ||||
-rw-r--r-- | app/assets/javascripts/mr_notes/index.js | 16 | ||||
-rw-r--r-- | app/assets/javascripts/mr_notes/stores/index.js | 23 | ||||
-rw-r--r-- | app/assets/javascripts/mr_notes/stores/modules/index.js | 12 | ||||
-rw-r--r-- | app/assets/javascripts/notes/index.js | 11 | ||||
-rw-r--r-- | app/assets/javascripts/notes/stores/index.js | 21 | ||||
-rw-r--r-- | app/assets/javascripts/notes/stores/modules/index.js | 22 |
8 files changed, 83 insertions, 63 deletions
diff --git a/app/assets/javascripts/diffs/store/index.js b/app/assets/javascripts/diffs/store/index.js index a25851e2f79..e6aa8f5b12a 100644 --- a/app/assets/javascripts/diffs/store/index.js +++ b/app/assets/javascripts/diffs/store/index.js @@ -1,17 +1,11 @@ -import Cookies from 'js-cookie'; -import * as actions from './actions'; -import getters from './getters'; -import mutations from './mutations'; -import { INLINE_DIFF_VIEW_TYPE, DIFF_VIEW_COOKIE_NAME } from '../constants'; +import Vue from 'vue'; +import Vuex from 'vuex'; +import diffsModule from './modules'; -export default { - state: { - isLoading: true, - endpoint: '', - diffFiles: [], - diffViewType: Cookies.get(DIFF_VIEW_COOKIE_NAME) || INLINE_DIFF_VIEW_TYPE, +Vue.use(Vuex); + +export default new Vuex.Store({ + modules: { + diffs: diffsModule, }, - getters, - actions, - mutations, -}; +}); diff --git a/app/assets/javascripts/diffs/store/modules/index.js b/app/assets/javascripts/diffs/store/modules/index.js new file mode 100644 index 00000000000..5497145c6eb --- /dev/null +++ b/app/assets/javascripts/diffs/store/modules/index.js @@ -0,0 +1,17 @@ +import Cookies from 'js-cookie'; +import * as actions from '../actions'; +import getters from '../getters'; +import mutations from '../mutations'; +import { INLINE_DIFF_VIEW_TYPE, DIFF_VIEW_COOKIE_NAME } from '../../constants'; + +export default { + state: { + isLoading: true, + endpoint: '', + diffFiles: [], + diffViewType: Cookies.get(DIFF_VIEW_COOKIE_NAME) || INLINE_DIFF_VIEW_TYPE, + }, + getters, + actions, + mutations, +}; diff --git a/app/assets/javascripts/mr_notes/index.js b/app/assets/javascripts/mr_notes/index.js index c09952364f4..2d2a37c26a5 100644 --- a/app/assets/javascripts/mr_notes/index.js +++ b/app/assets/javascripts/mr_notes/index.js @@ -1,23 +1,11 @@ import Vue from 'vue'; -import Vuex, { mapActions, mapState } from 'vuex'; +import { mapActions, mapState } from 'vuex'; import notesApp from '../notes/components/notes_app.vue'; import diffsApp from '../diffs/components/app.vue'; import discussionCounter from '../notes/components/discussion_counter.vue'; -import notesStoreConfig from '../notes/stores'; -import diffsStoreConfig from '../diffs/store'; -import mrPageStoreConfig from './stores'; +import store from './stores'; import MergeRequest from '../merge_request'; -Vue.use(Vuex); - -const store = new Vuex.Store({ - modules: { - page: mrPageStoreConfig, - notes: notesStoreConfig, - diffs: diffsStoreConfig, - }, -}); - export default function initMrNotes() { const mrShowNode = document.querySelector('.merge-request'); // eslint-disable-next-line no-new diff --git a/app/assets/javascripts/mr_notes/stores/index.js b/app/assets/javascripts/mr_notes/stores/index.js index 3284bc08c70..dd2019001db 100644 --- a/app/assets/javascripts/mr_notes/stores/index.js +++ b/app/assets/javascripts/mr_notes/stores/index.js @@ -1,12 +1,15 @@ -import actions from './actions'; -import getters from './getters'; -import mutations from './mutations'; +import Vue from 'vue'; +import Vuex from 'vuex'; +import notesModule from '~/notes/stores/modules'; +import diffsModule from '~/diffs/store/modules'; +import mrPageModule from './modules'; -export default { - state: { - activeTab: null, +Vue.use(Vuex); + +export default new Vuex.Store({ + modules: { + page: mrPageModule, + notes: notesModule, + diffs: diffsModule, }, - actions, - getters, - mutations, -}; +}); diff --git a/app/assets/javascripts/mr_notes/stores/modules/index.js b/app/assets/javascripts/mr_notes/stores/modules/index.js new file mode 100644 index 00000000000..660081f76c8 --- /dev/null +++ b/app/assets/javascripts/mr_notes/stores/modules/index.js @@ -0,0 +1,12 @@ +import actions from '../actions'; +import getters from '../getters'; +import mutations from '../mutations'; + +export default { + state: { + activeTab: null, + }, + actions, + getters, + mutations, +}; diff --git a/app/assets/javascripts/notes/index.js b/app/assets/javascripts/notes/index.js index 66897e6a0db..aa100577fbe 100644 --- a/app/assets/javascripts/notes/index.js +++ b/app/assets/javascripts/notes/index.js @@ -1,15 +1,6 @@ import Vue from 'vue'; -import Vuex from 'vuex'; import notesApp from './components/notes_app.vue'; -import storeConfig from './stores'; - -Vue.use(Vuex); - -const store = new Vuex.Store({ - modules: { - notes: storeConfig, - }, -}); +import store from './stores'; document.addEventListener( 'DOMContentLoaded', diff --git a/app/assets/javascripts/notes/stores/index.js b/app/assets/javascripts/notes/stores/index.js index f9805bc4d1e..1ed641a327e 100644 --- a/app/assets/javascripts/notes/stores/index.js +++ b/app/assets/javascripts/notes/stores/index.js @@ -1,22 +1,15 @@ +import Vue from 'vue'; +import Vuex from 'vuex'; import * as actions from './actions'; import * as getters from './getters'; import mutations from './mutations'; +import module from './modules'; -export default { - state: { - notes: [], - targetNoteHash: null, - lastFetchedAt: null, +Vue.use(Vuex); - // View layer - isToggleStateButtonLoading: false, - - // holds endpoints and permissions provided through haml - notesData: {}, - userData: {}, - noteableData: {}, - }, +export default new Vuex.Store({ + state: module.state, actions, getters, mutations, -}; +}); diff --git a/app/assets/javascripts/notes/stores/modules/index.js b/app/assets/javascripts/notes/stores/modules/index.js new file mode 100644 index 00000000000..0bbcb0e3615 --- /dev/null +++ b/app/assets/javascripts/notes/stores/modules/index.js @@ -0,0 +1,22 @@ +import * as actions from '../actions'; +import * as getters from '../getters'; +import mutations from '../mutations'; + +export default { + state: { + notes: [], + targetNoteHash: null, + lastFetchedAt: null, + + // View layer + isToggleStateButtonLoading: false, + + // holds endpoints and permissions provided through haml + notesData: {}, + userData: {}, + noteableData: {}, + }, + actions, + getters, + mutations, +}; |