import api from '@/api' import { print } from 'graphql/language/printer' import { TextsDepart, TextRef, TextdepartRecursive } from '@/api/queries' export default { state: { textsDepart: undefined }, mutations: { 'SET_TEXTS_DEPART' (state, texts) { state.textsDepart = texts } }, actions: { 'GET_TEXTS_DEPART' ({ state, commit }) { return api.post('', { query: print(TextsDepart) }).then(({ data }) => { commit('SET_TEXTS_DEPART', data.data.textsdepart) return state.textsDepart }) }, 'GET_TEXT' ({ state }, { id }) { return api.post('', { query: print(TextRef), variables: { id } }) .then(data => (data.data.data)) }, 'GET_TREE' ({ dispatch }, id) { return api.post('', { query: print(TextdepartRecursive), variables: { id } }) .then(({ data }) => (data.data.textref)) } }, getters: { textsDepartOptions: state => { if (!state.textsDepart) return undefined return state.textsDepart.map(({ id, title }) => ({ value: id, text: `(${id}) ${title}` })) } } }