|  | @@ -15,12 +15,15 @@ import {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  export default {
 | 
	
		
			
				|  |  |    state: {
 | 
	
		
			
				|  |  | -    tags: undefined,
 | 
	
		
			
				|  |  | -    strangeness: [0, 1, 2, 3, 4],
 | 
	
		
			
				|  |  | -    nodeDepartId: undefined,
 | 
	
		
			
				|  |  |      trees: {},
 | 
	
		
			
				|  |  | -    mode: undefined,
 | 
	
		
			
				|  |  |      nodebook: undefined,
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    // LibraryOptions options
 | 
	
		
			
				|  |  | +    strangeness: [0, 1, 2, 3, 4],
 | 
	
		
			
				|  |  | +    tagsOptions: [],
 | 
	
		
			
				|  |  | +    // LibraryOptions state
 | 
	
		
			
				|  |  | +    mode: undefined,
 | 
	
		
			
				|  |  | +    nodeDepartId: undefined,
 | 
	
		
			
				|  |  |      search: ''
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -58,8 +61,8 @@ export default {
 | 
	
		
			
				|  |  |      // │ │├─╯ │  │ │ ││││╰─╮
 | 
	
		
			
				|  |  |      // ╰─╯╵   ╵ ╶┴╴╰─╯╵╰╯╶─╯
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    'SET_TAGS' (state, tags) {
 | 
	
		
			
				|  |  | -      state.tags = tags
 | 
	
		
			
				|  |  | +    'SET_TAGS_OPTIONS' (state, tags) {
 | 
	
		
			
				|  |  | +      state.tagsOptions = tags.map(tag => ({ value: tag.id, text: tag.name }))
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      'SET_MODE' (state, mode) {
 | 
	
	
		
			
				|  | @@ -144,7 +147,7 @@ export default {
 | 
	
		
			
				|  |  |      'GET_ALL_TAGS' ({ state, commit }) {
 | 
	
		
			
				|  |  |        if (state.tags !== undefined) return state.tags
 | 
	
		
			
				|  |  |        return api.query(AllTags).then(data => {
 | 
	
		
			
				|  |  | -        commit('SET_TAGS', data.tags)
 | 
	
		
			
				|  |  | +        commit('SET_TAGS_OPTIONS', data.tags)
 | 
	
		
			
				|  |  |          return state.tags
 | 
	
		
			
				|  |  |        })
 | 
	
		
			
				|  |  |      },
 | 
	
	
		
			
				|  | @@ -170,29 +173,13 @@ export default {
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    getters: {
 | 
	
		
			
				|  |  | +    // LibraryOptions state
 | 
	
		
			
				|  |  |      mode: state => state.mode,
 | 
	
		
			
				|  |  |      nodeDepartId: state => state.nodeDepartId,
 | 
	
		
			
				|  |  |      search: state => state.search,
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    nodebook: (state, getters, rootState) => {
 | 
	
		
			
				|  |  | -      if (!state.nodebook) return []
 | 
	
		
			
				|  |  | -      return state.nodebook.map(([parentId, ...childrenIds]) => {
 | 
	
		
			
				|  |  | -        return {
 | 
	
		
			
				|  |  | -          parent: rootState.nodes[parentId],
 | 
	
		
			
				|  |  | -          children: childrenIds.map(id => rootState.nodes[id])
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -      })
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    activeNodes: state => {
 | 
	
		
			
				|  |  | -      if (!state.nodebook) return []
 | 
	
		
			
				|  |  | -      return state.nodebook.reduce((acc, ids) => [...acc, ...ids], [])
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    tagsOptions: state => {
 | 
	
		
			
				|  |  | -      if (state.tags === undefined) return []
 | 
	
		
			
				|  |  | -      return state.tags.map(tag => ({ value: tag.id, text: tag.name }))
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  | +    // LibraryOptions options
 | 
	
		
			
				|  |  | +    tagsOptions: state => state.tagsOptions,
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      nodesDepartsOptions: (state, getters, rootState) => {
 | 
	
		
			
				|  |  |        const departIds = rootState.ids.depart
 | 
	
	
		
			
				|  | @@ -207,6 +194,18 @@ export default {
 | 
	
		
			
				|  |  |        })
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    // Library
 | 
	
		
			
				|  |  | +    nodebook: (state, getters, rootState) => {
 | 
	
		
			
				|  |  | +      if (!state.nodebook) return []
 | 
	
		
			
				|  |  | +      return state.nodebook.map(([parentId, ...childrenIds]) => {
 | 
	
		
			
				|  |  | +        return {
 | 
	
		
			
				|  |  | +          parent: rootState.nodes[parentId],
 | 
	
		
			
				|  |  | +          children: childrenIds.map(id => rootState.nodes[id])
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      })
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    // LibraryList
 | 
	
		
			
				|  |  |      orderedTextsDepart: (state, getters, rootState) => {
 | 
	
		
			
				|  |  |        const departIds = rootState.ids.depart
 | 
	
		
			
				|  |  |        if (departIds === undefined || rootState.nodes[departIds[0]] === undefined) return
 | 
	
	
		
			
				|  | @@ -224,8 +223,15 @@ export default {
 | 
	
		
			
				|  |  |        }, {})
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    // LibraryTree
 | 
	
		
			
				|  |  |      nodeTree: (state, rootState) => {
 | 
	
		
			
				|  |  |        return state.trees[state.nodeDepartId] || { nodes: [], links: [] }
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    // Commons
 | 
	
		
			
				|  |  | +    activeNodes: state => {
 | 
	
		
			
				|  |  | +      if (!state.nodebook) return []
 | 
	
		
			
				|  |  | +      return state.nodebook.reduce((acc, ids) => [...acc, ...ids], [])
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  }
 |