|
@@ -2,9 +2,6 @@ import Vue from 'vue'
|
|
|
import router from '@/router'
|
|
|
|
|
|
import api from '@/api'
|
|
|
-import {
|
|
|
- AllTags
|
|
|
-} from '@/api/queries'
|
|
|
import {
|
|
|
parseNodesQueryParams,
|
|
|
getUniqueNodesIds,
|
|
@@ -71,7 +68,8 @@ export default {
|
|
|
// │ │├─╯ │ │ │ ││││╰─╮
|
|
|
// ╰─╯╵ ╵ ╶┴╴╰─╯╵╰╯╶─╯
|
|
|
|
|
|
- 'SET_TAGS_OPTIONS' (state, tags) {
|
|
|
+ 'SET_TAGS_OPTIONS' (state, nodes) {
|
|
|
+ const tags = nodes.reduce((tags, node) => tags.concat(node.tags || []), [])
|
|
|
state.tagsOptions = Array.from(new Set(tags.map(tag => tag.name)))
|
|
|
},
|
|
|
|
|
@@ -104,7 +102,6 @@ export default {
|
|
|
async 'INIT_LIBRARY' ({ state, commit, dispatch, rootState }) {
|
|
|
const departIds = await dispatch('GET_ALL_NODES_IDS', 'depart')
|
|
|
await dispatch('GET_NODES', { ids: departIds, dataLevel: 'initial' })
|
|
|
- dispatch('GET_ALL_TAGS')
|
|
|
if (state.nodebook && state.nodebook.length) {
|
|
|
commit('UPDATE_OPTIONS_VISIBILITY', false)
|
|
|
}
|
|
@@ -122,12 +119,16 @@ export default {
|
|
|
const departNodes = await dispatch('GET_NODES', { ids, dataLevel: 'partial' })
|
|
|
const relatedIds = getRelatedNodesIds(departNodes, ids)
|
|
|
const relatedNodes = await dispatch('GET_NODES', { ids: relatedIds, dataLevel: 'partial' })
|
|
|
- return [...departNodes, ...relatedNodes]
|
|
|
+ const nodes = [...departNodes, ...relatedNodes]
|
|
|
+ commit('SET_TAGS_OPTIONS', nodes)
|
|
|
+ return nodes
|
|
|
},
|
|
|
|
|
|
async 'INIT_LIBRARY_LIST' ({ state, commit, dispatch }) {
|
|
|
const departIds = await dispatch('INIT_LIBRARY')
|
|
|
- return dispatch('GET_NODES', { ids: departIds, dataLevel: 'partial' })
|
|
|
+ const nodes = await dispatch('GET_NODES', { ids: departIds, dataLevel: 'partial' })
|
|
|
+ commit('SET_TAGS_OPTIONS', nodes)
|
|
|
+ return nodes
|
|
|
},
|
|
|
|
|
|
async 'UPDATE_NODEBOOK' ({ state, commit, dispatch }, query) {
|
|
@@ -171,14 +172,6 @@ export default {
|
|
|
// │ │├─╯ │ │ │ ││││╰─╮
|
|
|
// ╰─╯╵ ╵ ╶┴╴╰─╯╵╰╯╶─╯
|
|
|
|
|
|
- 'GET_ALL_TAGS' ({ state, commit }) {
|
|
|
- if (state.tagsOptions.length) return state.tagsOptions
|
|
|
- return api.query(AllTags).then(data => {
|
|
|
- commit('SET_TAGS_OPTIONS', data.tags)
|
|
|
- return state.tagsOptions
|
|
|
- })
|
|
|
- },
|
|
|
-
|
|
|
async 'SET_NODE_DEPART_ID' ({ state, rootState, commit, dispatch, getters }, id) {
|
|
|
if (state.nodeDepartId === id) return
|
|
|
|