diff --git a/js/gamutable.es6.js b/js/gamutable.es6.js index 0495776..73fb223 100644 --- a/js/gamutable.es6.js +++ b/js/gamutable.es6.js @@ -106,6 +106,7 @@ let monTableau = { triProps: [], selectTr: [], champ_search: 'html', + chargement: true, }; }, mounted() { @@ -145,10 +146,24 @@ let monTableau = { let url = this.apiuri; if (parseInt(id) > 0) { url += '&id=' + id; + } else { + let data = localStorage.getItem('gamuTable'); + data = recupJson(data); + if (data) { + let config = data.shift(); + this.header = config.header; + this.crayons = config.crayons; + this.table = data; + if (data[0].search) { + this.champ_search = 'search'; + } + console.log('fin chargement localStorage'); + } } fetch(url) .then((response) => response.json()) .then((data) => { + localStorage.setItem('gamuTable', JSON.stringify(data)); let config = data.shift(); this.header = config.header; this.crayons = config.crayons; @@ -161,7 +176,8 @@ let monTableau = { this.champ_search = 'search'; } } - Vue.nextTick(function () { + Vue.nextTick(() => { + this.chargement = false; console.timeEnd('Chargement de VueJs APRES Ajax'); }); }) @@ -228,6 +244,14 @@ let monTableau = { + + + Mise à jour de la base de donnée + + + + Base de données synchronisée + diff --git a/js/gamutable.js b/js/gamutable.js index 77e38d1..4a44f22 100644 --- a/js/gamutable.js +++ b/js/gamutable.js @@ -121,7 +121,8 @@ var monTableau = { triOrders: [], triProps: [], selectTr: [], - champ_search: 'html' + champ_search: 'html', + chargement: true }; }, mounted: function mounted() { @@ -160,11 +161,28 @@ var monTableau = { if (parseInt(id) > 0) { url += '&id=' + id; + } else { + var data = localStorage.getItem('gamuTable'); + data = recupJson(data); + + if (data) { + var config = data.shift(); + this.header = config.header; + this.crayons = config.crayons; + this.table = data; + + if (data[0].search) { + this.champ_search = 'search'; + } + + console.log('fin chargement localStorage'); + } } fetch(url).then(function (response) { return response.json(); }).then(function (data) { + localStorage.setItem('gamuTable', JSON.stringify(data)); var config = data.shift(); _this2.header = config.header; _this2.crayons = config.crayons; @@ -184,6 +202,7 @@ var monTableau = { } Vue.nextTick(function () { + _this2.chargement = false; console.timeEnd('Chargement de VueJs APRES Ajax'); }); }).catch(function (error) { @@ -248,7 +267,7 @@ var monTableau = { } } }, - template: "\n\t
\n\t\t
\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t
\n\t\t\t
{{table.length}} \xE9l\xE9ments
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t" + template: "\n\t
\n\t\t
\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\tMise \xE0 jour de la base de donn\xE9e\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\tBase de donn\xE9es synchronis\xE9e\n\t\t\t\n\t\t
\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t
\n\t\t\t
{{table.length}} \xE9l\xE9ments
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
" }; var app = new Vue({ el: '#app',