// 1 => LOADING // 2 => DONE // 3 => ERROR import * as api from "../api/status.js" export default { namespaced: true, state: { search : '', search_status: 0, search_error_message: "", status: [], total_status: 0, selected_status: {}, mounted: 0 }, mutations: { update_search(state,val) { state.search=val }, update_search_error_message(state,status) { state.search_error_message = status }, update_search_status(state,status) { state.search_status = status }, update_status (state, data) { state.status = data.records state.total_status = data.total }, update_selected_status(state, doc) { state.selected_status = doc } }, actions: { async search(context) { context.commit("update_search_status",1) try { let resp= await api.search(context.state.search) if (resp.status != "OK") { context.commit("update_search_status",3) context.commit("update_search_error_message",resp.message) } else { context.commit("update_search_status",2) context.commit("update_search_error_message","") let data = { total : resp.data.total, records : resp.data.records } context.commit("update_status", data) if (context.rootState.loaded < 1) { context.commit("update_selected_status", data.records[0]) context.dispatch("patient/search", null, {root:true}) context.commit('inc_loaded', null, {root:true}) } } } catch(e) { context.commit("update_search_status",3) context.commit("update_search_error_message", e.message ) } } } }