structure store vuex

pull/1/head
saeid_01 5 years ago
parent 27d379f2a9
commit fc8da079ac

@ -1,6 +1,6 @@
{ {
"/js/vue/Authentication/app.js": "/js/vue/Authentication/app.js?id=e11c94b631fa8e23411d", "/js/vue/Authentication/app.js": "/js/vue/Authentication/app.js?id=ada36e14123738cce4a1",
"/js/vue/Home/app.js": "/js/vue/Home/app.js?id=8a41fb4476589b3a6cff", "/js/vue/Home/app.js": "/js/vue/Home/app.js?id=4389447314d810908e49",
"/js/vue/Modules/CRM/app.js": "/js/vue/Modules/CRM/app.js?id=311655cd117deb0ab373", "/js/vue/Modules/CRM/app.js": "/js/vue/Modules/CRM/app.js?id=69a949dff23fe14cc621",
"/js/vue/User/app.js": "/js/vue/User/app.js?id=4d34a4ac917830fbaa36" "/js/vue/User/app.js": "/js/vue/User/app.js?id=32e40e7920eba25a4bb2"
} }

@ -0,0 +1,3 @@
export default {
//
}

@ -0,0 +1,3 @@
export default {
//
}

@ -0,0 +1,31 @@
/**
* Vuex
*
* @library
*
* https://vuex.vuejs.org/en/
*/
// Lib imports
import Vue from 'vue'
import Vuex from 'vuex'
// Store functionality
import actions from './actions'
import getters from './getters'
import modules from './modules'
import mutations from './mutations'
import state from './state'
Vue.use(Vuex)
// Create a new store
const store = new Vuex.Store({
actions,
getters,
modules,
mutations,
state
})
export default store

@ -0,0 +1,21 @@
// https://vuex.vuejs.org/en/modules.html
const requireModule = require.context('.', true, /\.js$/)
const modules = {}
requireModule.keys().forEach(fileName => {
if (fileName === './index.js') return
// Replace ./ and .js
const path = fileName.replace(/(\.\/|\.js)/g, '')
const [moduleName, imported] = path.split('/')
if (!modules[moduleName]) {
modules[moduleName] = {
namespaced: true
}
}
modules[moduleName][imported] = requireModule(fileName).default
})
export default modules

@ -0,0 +1,12 @@
export default {
getCurrentModal: (state) => {
return state.currentModal.slice(-1)[0].name
},
getCurrentModalProperties: (state) => {
return state.currentModal.slice(-1)[0].properties;
},
getModalResult: (state) => {
return state.currentModal.slice(-1)[0].result;
}
}

@ -0,0 +1,38 @@
export default {
changeCurrentModal: (state, data) => {
state.currentModal.slice(-1)[0].result = '';
state.currentModal.slice(-1)[0].name = data.modal;
if (data.properties) {
state.currentModal.slice(-1)[0].properties = data.properties;
}
},
addModal: (state, data) => {
let modal = {
name : data.modal,
result : '',
};
if (data.properties) {
modal['properties'] = data.properties;
}
state.currentModal.push(modal);
},
setResultCurrentModal: (state, data) => {
state.currentModal.slice(-1)[0].result = data;
},
closeModal: state => {
state.currentModal.pop();
},
closeAllModals : state => {
state.currentModal = [
{
name: '',
properties: {},
result: {}
},
];
}
};

@ -0,0 +1,9 @@
export default {
currentModal: [
{
name: '',
properties: {},
result: {}
},
],
}

@ -0,0 +1,3 @@
export default {
//
}

@ -0,0 +1,3 @@
export default {
//
}

1
webpack.mix.js vendored

@ -35,6 +35,7 @@ mix.js('resources/js/Authentication/app.js', 'public/js/vue/Authentication')
.js('resources/js/User/app.js', 'public/js/vue/User'); .js('resources/js/User/app.js', 'public/js/vue/User');
require('./modules/wm-core/webpack.mix');
require('./modules/wm-common/webpack.mix'); require('./modules/wm-common/webpack.mix');
require('./modules/wm-crm/webpack.mix'); require('./modules/wm-crm/webpack.mix');

Loading…
Cancel
Save