Gogs 7 лет назад
Родитель
Сommit
3e60b86133

+ 2 - 0
src/store/index.js

@@ -3,6 +3,7 @@ import Vuex from 'vuex'
 
 
 import actions from '@/store/actions'
 import actions from '@/store/actions'
 
 
+import loader from '@/store/modules/loader'
 import company from '@/store/modules/company'
 import company from '@/store/modules/company'
 import currencies from '@/store/modules/currencies'
 import currencies from '@/store/modules/currencies'
 import products from '@/store/modules/products'
 import products from '@/store/modules/products'
@@ -14,6 +15,7 @@ Vue.use(Vuex)
 const Store = new Vuex.Store({
 const Store = new Vuex.Store({
     ...actions,
     ...actions,
     modules: {
     modules: {
+        loader,
         company,
         company,
         currencies,
         currencies,
         products,
         products,

+ 5 - 2
src/store/modules/company.js

@@ -18,7 +18,7 @@ const mutations = {
 }
 }
 
 
 const actions = {
 const actions = {
-    fetchCompany({ commit }) {
+    fetchCompany({ commit, dispatch }) {
         return new Promise((resolve, reject) => {
         return new Promise((resolve, reject) => {
             let pos = new openerp.web.Model('eiru.pos')
             let pos = new openerp.web.Model('eiru.pos')
             pos.call('get_company').then(response => {
             pos.call('get_company').then(response => {
@@ -26,7 +26,10 @@ const actions = {
                     company: response
                     company: response
                 })
                 })
 
 
-                console.log('fetched company')
+                dispatch('loaded', {
+                    module: 'company'
+                })
+                
                 resolve()
                 resolve()
             }).fail(error => {
             }).fail(error => {
                 console.log(error)
                 console.log(error)

+ 5 - 2
src/store/modules/currencies.js

@@ -18,7 +18,7 @@ const mutations = {
 }
 }
 
 
 const actions = {
 const actions = {
-    fetchCurrencies({ commit }) {
+    fetchCurrencies({ commit, dispatch }) {
         return new Promise((resolve, reject) => {
         return new Promise((resolve, reject) => {
             let pos = new openerp.web.Model('eiru.pos')
             let pos = new openerp.web.Model('eiru.pos')
             pos.call('get_currencies').then(response => {
             pos.call('get_currencies').then(response => {
@@ -26,7 +26,10 @@ const actions = {
                     currencies: response
                     currencies: response
                 })
                 })
 
 
-                console.log('fetched currencies')
+                dispatch('loaded', {
+                    module: 'currencies'
+                })
+
                 resolve()
                 resolve()
             }).fail(error => {
             }).fail(error => {
                 console.log(error);
                 console.log(error);

+ 6 - 2
src/store/modules/customers.js

@@ -22,14 +22,18 @@ const mutations = {
 }
 }
 
 
 const actions = {
 const actions = {
-    fetchCustomers({ commit }) {
+    fetchCustomers({ commit, dispatch }) {
         return new Promise((resolve, reject) => {
         return new Promise((resolve, reject) => {
             let customer = new openerp.web.Model('res.partner')
             let customer = new openerp.web.Model('res.partner')
             customer.query(['name', 'display_name', 'image_medium']).filter([['customer', '=', true], ['is_company', '=', false], ['active', '=', true]]).all().then(response => {
             customer.query(['name', 'display_name', 'image_medium']).filter([['customer', '=', true], ['is_company', '=', false], ['active', '=', true]]).all().then(response => {
                 commit('pushCustomers', {
                 commit('pushCustomers', {
                     customers: response
                     customers: response
                 })
                 })
-                console.log('fetched customers')
+                
+                dispatch('loaded', {
+                    module: 'customers'
+                })
+
                 resolve()
                 resolve()
             }).fail(error => {
             }).fail(error => {
                 console.log(error)
                 console.log(error)

+ 33 - 0
src/store/modules/loader.js

@@ -0,0 +1,33 @@
+const state = {
+    loaded: {
+        company: false,
+        currencies: false,
+        customers: false,
+        products: false,
+    }
+}
+
+const getters = {
+    isLoaded(state) {
+        return state.loaded.company && state.loaded.currencies && state.loaded.customers && state.loaded.products
+    }
+}
+
+const mutations = {
+    setLoaded(state, payload) {
+        state.loaded[payload.module] = true
+    }
+}
+
+const actions = {
+    loaded({ commit }, payload) {
+        commit('setLoaded', payload)
+    }
+}
+
+export default {
+    state,
+    getters,
+    mutations,
+    actions
+}

+ 5 - 2
src/store/modules/products.js

@@ -30,7 +30,7 @@ const mutations = {
 }
 }
 
 
 const actions = {
 const actions = {
-    fetchProducts ({ commit }) {
+    fetchProducts ({ commit, dispatch }) {
         return new Promise((resolve, reject) => {
         return new Promise((resolve, reject) => {
             let pos = new openerp.web.Model('eiru.pos')
             let pos = new openerp.web.Model('eiru.pos')
             pos.call('get_products').then(response => {
             pos.call('get_products').then(response => {
@@ -38,7 +38,10 @@ const actions = {
                     products: response
                     products: response
                 })
                 })
 
 
-                console.log('fetched products')
+                dispatch('loaded', {
+                    module: 'products'
+                })
+                
                 resolve()
                 resolve()
             }).fail(error => {
             }).fail(error => {
                 console.log(error)
                 console.log(error)