Skip to content
Snippets Groups Projects
feature.js 3.77 KiB
Newer Older
const axios = require("axios");
DESPRES Damien's avatar
DESPRES Damien committed

//const DJANGO_API_BASE = configuration.VUE_APP_DJANGO_API_BASE;
const feature = {
  namespaced: true,
  state: {
    linkedFormset: [],
    SET_FEATURES(state, features) {
      state.features = features;
    },
    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);
    },
    GET_PROJECT_FEATURES({ commit, /* dispatch */ }, project_slug) {
        .get(`${this.state.configuration.VUE_APP_DJANGO_API_BASE}projects/${project_slug}/feature/`)
        .then((response) => {
          const features = response.data.features;
          commit("SET_FEATURES", features);
          //dispatch("map/ADD_FEATURES", null, { root: true }); //todo: should check if map was initiated
        })
        .catch((error) => {
          throw error;
        });
    },
    /* UPDATE_FEATURES({dispatch, commit}, features) {
      commit("SET_FEATURES", features);
      dispatch ("map/ADD_FEATURES");
    }, */

    // POST_FEATURE({ state }) {
    /* const data = {
      form: state.form,
      attachmentFormset: state.attachmentFormset,
      linkedFormset: state.linkedFormset,
      extra_form: state.extra_form,
    } */
    /* 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)
      }); */
    // },
Timothee P's avatar
Timothee P committed
    //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_FEATURES({ /* state */ }) {
    //console.log("Export features", state.features)
    // }