12345678910111213141516171819202122232425262728293031323334353637383940 |
- export default {
- state: {
- creation: undefined
- },
- mutations: {
- 'SET_CREATION' (state, id) {
- state.creation = id
- }
- },
- actions: {
- async 'INIT_GALLERY' ({ state, commit, dispatch, getters }) {
- const ids = await dispatch('GET_ALL_NODES_IDS', { variant: 'creation', dataLevel: 'full' })
- dispatch('OPEN_CREATION', ids[ids.length - 1])
- return dispatch('GET_NODES', { ids, dataLevel: 'full' })
- },
- async 'OPEN_CREATION' ({ state, commit, dispatch }, id) {
- commit('SET_CREATION', id)
- commit('ADD_HISTORY_ENTRIES', [id])
- return dispatch('GET_NODE', { id, dataLevel: 'full' })
- }
- },
- getters: {
- creations: (state, getters, rootState) => {
- const ids = rootState.ids.creation
- if (ids === undefined) return
- const nodes = ids.map(id => rootState.nodes[id])
- if (nodes.some(node => node === undefined)) return
- return nodes
- },
- creation: (state, getters, rootState) => {
- if (state.creation === undefined || state.creation === null) return state.creation
- return rootState.nodes[state.creation]
- }
- }
- }
|