1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- import router from '@/router'
- export default {
- state: {
- creation: undefined
- },
- mutations: {
- 'SET_CREATION' (state, id) {
- state.creation = id
- }
- },
- actions: {
- async 'INIT_GALLERY' ({ state, commit, dispatch, getters }, id) {
- const ids = await dispatch('GET_ALL_NODES_IDS', { variant: 'creation', dataLevel: 'full' })
- if (isNaN(id)) {
- dispatch('OPEN_CREATION', { id: ids[ids.length - 1] })
- } else {
- dispatch('DISPLAY_CREATION', id)
- }
- return dispatch('GET_NODES', { ids, dataLevel: 'full' })
- },
- 'DISPLAY_CREATION' ({ state, commit, dispatch, getters }, id) {
- commit('SET_CREATION', id)
- commit('ADD_HISTORY_ENTRIES', [id])
- },
- async 'OPEN_CREATION' ({ state, commit, dispatch }, { id, map = true }) {
- if (router.currentRoute.name !== 'gallery-view') {
- router.push({ name: 'gallery-view', params: { id }, hash: map ? '#map' : '' })
- } else {
- router.push({ params: { id } })
- }
- }
- },
- 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]
- }
- }
- }
|