const feature = { namespaced: true, state: { attachmentFormset: [], linkedFormset: [], features: [ // TODO: récupérer dans api { status: "archived", title: "What the title !", description: "Very very very very very loooooooooooooong tiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiittttttttttttttlllllllllllllllllllllllllllllllleeeeeeeeeeeeeeeeeeeeee, isn't it ? 987653210", created_on: "16/08/2021", display_creator: "Babar", feature_type: { geom_type: "point", title: "Éolienne", is_editable: true, } }, { status: "pending", title: "Éolienne offshore", description: "Feature pending", created_on: "16/08/2021", display_creator: "Babar", feature_type: { geom_type: "point", title: "Éolienne", is_editable: true, } }, { status: "published", title: "Éolienne privé", description: "Feature published", created_on: "16/08/2021", display_creator: "Babar", feature_type: { geom_type: "point", title: "Éolienne", is_editable: true, } }, { status: "published", title: "Zac", description: "Feature published", created_on: "18/08/2021", display_creator: "Winnie l'ourson", feature_type: { geom_type: "polygon", title: "Zone de zonage", is_editable: true, } }, { status: "draft", title: "Éolienne terrestre", description: "Fedraft description", created_on: "16/08/2021", display_creator: "Babar", feature_type: { geom_type: "point", title: "Éolienne", is_editable: true, } }, ], form: null, extra_form: [ { field_type: "char", name: "deplacement_frontiere", label: "Déplacement frontière" }, { field_type: "list", name: "deplacement_status", label: "Statut du déplacement", choices: [ "à confirmer", "confirmé" ] }, { field_type: "integer", name: "deplacement_value", label: "Mesure du déplacement" }, { field_type: "boolean", name: "is_deplacement", label: "Déplacement confirmé" }, { field_type: "date", name: "deplacement_date", label: "Date de déplacement" }, { field_type: "decimal", name: "deplacement_decimal", label: "Importance de déplacement" }, { field_type: "text", name: "deplacement_description", label: "Déscription du déplacement" }, ] }, mutations: { UPDATE_FORM(state, payload) { state.form = payload; }, UPDATE_EXTRA_FORM(state, payload) { state.extra_form = payload; }, ADD_ATTACHMENT_FORM(state, dataKey) { state.attachmentFormset = [...state.attachmentFormset, { dataKey }]; }, UPDATE_ATTACHMENT_FORM(state, payload) { const index = state.attachmentFormset.findIndex((el) => el.dataKey === payload.dataKey); if (index !== -1) state.attachmentFormset[index] = payload }, REMOVE_ATTACHMENT_FORM(state, payload) { state.attachmentFormset = state.attachmentFormset.filter(form => form.dataKey !== payload); }, ADD_LINKED_FORM(state, dataKey) { state.linkedFormset = [...state.linkedFormset, { dataKey }]; }, UPDATE_LINKED_FORM(state, payload) { const index = state.linkedFormset.findIndex((el) => el.dataKey === payload.dataKey); if (index !== -1) state.linkedFormset[index] = payload }, REMOVE_LINKED_FORM(state, payload) { state.linkedFormset = state.linkedFormset.filter(form => form.dataKey !== payload); }, }, getters: { }, actions: { POST_FEATURE({ state }) { const data = { form: state.form, attachmentFormset: state.attachmentFormset, linkedFormset: state.linkedFormset, extra_form: state.extra_form, } console.log("data", data) /* axios .post(`${DJANGO_API_BASE}feature_type/`, data) .then((response) => { const routerHistory = router.options.routerHistory commit("SET_USER", response.data.user); router.push(routerHistory[routerHistory.length - 1] || "/") dispatch("GET_USER_LEVEL_PROJECTS"); }) .catch(() => { commit("SET_USER", false) }); */ }, DELETE_FEATURE({ state }, feature_slug) { console.log("Deleting feature:", feature_slug, state) /* axios .post(`${DJANGO_API_BASE}feature_type/`, data) .then((response) => { const routerHistory = router.options.routerHistory commit("SET_USER", response.data.user); router.push(routerHistory[routerHistory.length - 1] || "/") dispatch("GET_USER_LEVEL_PROJECTS"); }) .catch(() => { commit("SET_USER", false) }); */ }, POST_COMMENT({ state }, data) { console.log("post comment", data, state) /* axios .post(`${DJANGO_API_BASE}feature_type/`, data) .then((response) => { const routerHistory = router.options.routerHistory commit("SET_USER", response.data.user); router.push(routerHistory[routerHistory.length - 1] || "/") dispatch("GET_USER_LEVEL_PROJECTS"); }) .catch(() => { commit("SET_USER", false) }); */ }, }, } export default feature