var CACHE_NAME = 'IM_COLECTORES_CACHE-V4';
var urlsToCache = [
  //PRINCIPALES
  './',
  './manifest.json',
  './app.js',
  './sw.js',
  './index.html',
  //REFERENCIAS DE BIBLIOTECAS
  './referencias/popper/popper.min.js',
  './referencias/popper/popper.min.js.map',
  './referencias/vue/vue.js',
  './referencias/vue/vue.min.js',
  './referencias/vuex/vuex.js',
  './referencias/buefy/css/materialdesignicons.css',
  './referencias/buefy/css/materialdesignicons.css.map',
  './referencias/buefy/css/materialdesignicons.min.css',
  './referencias/buefy/css/materialdesignicons.min.css.map',
  './referencias/buefy/dist/buefy.min.css',
  './referencias/buefy/dist/materialdesignicons.min.css',
  './referencias/buefy/fonts/materialdesignicons-webfont.eot',
  './referencias/buefy/fonts/materialdesignicons-webfont.ttf',
  './referencias/buefy/fonts/materialdesignicons-webfont.woff',
  './referencias/buefy/fonts/materialdesignicons-webfont.woff2',
  './referencias/fontawesome-free/webfonts/fa-solid-900.woff2',    
  './referencias/fontawesome-free/webfonts/fa-solid-900.woff',    
  './referencias/fontawesome-free/webfonts/fa-solid-900.ttf',

  //LOGOS
  './recursos/logos/icon-72x72.png',
  './recursos/logos/icon-96x96.png',
  './recursos/logos/icon-128x128.png',
  './recursos/logos/icon-144x144.png',
  './recursos/logos/icon-152x152.png',
  './recursos/logos/icon-192x192.png',
  './recursos/logos/icon-384x384.png',
  './recursos/logos/icon-512x512.png',

  //ICONOS

   //COMPONENTES
  './componentes/login/login.js',
  './componentes/login/usuarios.js',
  './componentes/login/tipologias.js',
  './componentes/menu_principal/menu_principal.js',
  './componentes/catastro/catastro.js',
  './componentes/indicadores/indicadores.js',

  //FECHAS
  './referencias/lbdate/lbdate.umd.min.js',

 //EXCEL
 './referencias/excel/FileSaver.js',
 './referencias/excel/jszip.js',
 './referencias/excel/myexcel.js',


  //LEAFLET y TURF
  './referencias/turf/turf.min.js',
  './referencias/leaflet/leaflet-src.esm.js',
  './referencias/leaflet/leaflet-src.esm.js.map',
  './referencias/leaflet/leaflet-src.js',
  './referencias/leaflet/leaflet-src.js.map',
  './referencias/leaflet/leaflet.css',
  './referencias/leaflet/leaflet.js',
  './referencias/leaflet/leaflet.js.map',
  './referencias/leaflet/images/layers-2x.png',
  './referencias/leaflet/images/layers.png',
  './referencias/leaflet/images/marker-icon-2x.png',
  './referencias/leaflet/images/marker-icon.png',
  './referencias/leaflet/images/marker-shadow.png',
  './referencias/leaflet/dl_estilos/dl_estilos_leaflet.css',
  './referencias/leaflet/leaflet-bing-layer.js',
  './referencias/leaflet/leaflet.Editable.js',
  './referencias/leaflet/leaflet.textpath.js',


  //CHARTIST
  './referencias/chart/c3.min.css',
  './referencias/chart/c3.min.js'



];

self.addEventListener('install', function(event) {
  console.log('Se ejecuto el evento install');  
  // Perform install steps
event.waitUntil(
    caches.open(CACHE_NAME)
      .then(function(cache) {
        console.log('Se ejecuto el evento install');
        return cache.addAll(urlsToCache);
      })
  );
});

self.addEventListener('activate', function(event) {
  console.log('Se activo una nueva version del service worker');
  return self.clients.claim();
});


self.addEventListener('fetch', function(event) {
  event.respondWith(
    fetch(event.request).catch(function() {
          return caches.match(event.request).catch(function(){
            //console.log(event.request);
            return(event.request);
          });
    }) 
    )
});

if ('serviceWorker' in navigator) {
  navigator.serviceWorker.getRegistrations().then(function(registrations) {
      for (let registration of registrations) {
          registration.update();
      }
  });
}
