Skip to content
Snippets Groups Projects
main.js 1.75 KiB
Newer Older
const axios = require("axios")
import Vue from 'vue'

import App from './App.vue'
import './registerServiceWorker'
import router from './router'
import store from './store'
import 'leaflet/dist/leaflet.css';
import 'leaflet-draw/dist/leaflet.draw.css';
import '@/assets/resources/leaflet-control-geocoder-1.13.0/Control.Geocoder.css';
Vue.config.productionTip = false

DESPRES Damien's avatar
DESPRES Damien committed
// gestion mise à jour du serviceWorker et du precache
var refreshing=false;
if(navigator.serviceWorker){
  navigator.serviceWorker.addEventListener('controllerchange', () => {
    // We'll also need to add 'refreshing' to our data originally set to false.
    if (refreshing) return
    refreshing = true
    // Here the actual reload of the page occurs
    window.location.reload()
  })
}

DESPRES Damien's avatar
DESPRES Damien committed


let onConfigLoaded = function(config){
  store.commit("SET_CONFIG", config);
  window.proxy_url=config.VUE_APP_DJANGO_API_BASE+"proxy/";
  axios.all([store.dispatch("USER_INFO"),
    store.dispatch("GET_ALL_PROJECTS"),
    store.dispatch("GET_STATIC_PAGES"),
    store.dispatch("GET_USER_LEVEL_PROJECTS"),
    store.dispatch("map/GET_AVAILABLE_LAYERS"),
DESPRES Damien's avatar
DESPRES Damien committed
    store.dispatch("GET_USER_LEVEL_PERMISSIONS"),
  ]).then(axios.spread(function () {
    new Vue({
      router,
      store,
      render: h => h(App)
    }).$mount('#app')
  }));

}
Sébastien DA ROCHA's avatar
Sébastien DA ROCHA committed
axios.get("./config/config.json")
DESPRES Damien's avatar
DESPRES Damien committed
  .catch((error)=>{
    console.log(error);
    console.log("try to get From Localstorage");
    let conf=localStorage.getItem("geontrib_conf");
    if(conf){
      onConfigLoaded(JSON.parse(conf))
    }
  })
  .then((response) => {
    if (response && response.status === 200) {
DESPRES Damien's avatar
DESPRES Damien committed
      localStorage.setItem("geontrib_conf",JSON.stringify(response.data));
      onConfigLoaded(response.data)
    }
  })
  .catch((error) => {
    throw error;