From e287386eac0b750eddf1f7498ae2a5a31cf05d1a Mon Sep 17 00:00:00 2001 From: tofulm Date: Tue, 10 Nov 2020 08:22:24 +0100 Subject: [PATCH] on filtre les valeurs du select, pour n'afficher que celle possible --- js/gamutable.es6.js | 23 +++++++++-------- js/gamutable.js | 62 ++++++++++++++++++++++++--------------------- 2 files changed, 46 insertions(+), 39 deletions(-) diff --git a/js/gamutable.es6.js b/js/gamutable.es6.js index 27e1a47..fff1a03 100644 --- a/js/gamutable.es6.js +++ b/js/gamutable.es6.js @@ -272,6 +272,19 @@ let monTableau = { ]; localStorage.setItem(this.nameLocalStorage, JSON.stringify($table)); }, + tableau() { + this.filtreCol.forEach((col) => { + let Tval = ['']; + this.tableau.forEach((t) => { + let valCol = t.search[col]; + if (Tval.indexOf(valCol) === -1) { + Tval.push(valCol); + this.filtreColValOk = true; + } + }); + this.filtreColVal[col] = Tval; + }); + }, }, methods: { selectValCol() { @@ -333,16 +346,6 @@ let monTableau = { } if (config.filtreCol !== undefined) { this.filtreCol = config.filtreCol; - this.filtreCol.forEach((col) => { - let Tval = ['']; - this.table.forEach((t) => { - let valCol = t.search[col]; - if (Tval.indexOf(valCol) === -1) { - Tval.push(valCol); - } - }); - this.filtreColVal[col] = Tval; - }); } Vue.nextTick(() => { this.chargement = false; diff --git a/js/gamutable.js b/js/gamutable.js index d73ab7d..5e06f3e 100644 --- a/js/gamutable.js +++ b/js/gamutable.js @@ -318,6 +318,24 @@ var monTableau = { filtreCol: this.filtreCol }].concat(_toConsumableArray(this.table)); localStorage.setItem(this.nameLocalStorage, JSON.stringify($table)); + }, + tableau: function tableau() { + var _this3 = this; + + this.filtreCol.forEach(function (col) { + var Tval = ['']; + + _this3.tableau.forEach(function (t) { + var valCol = t.search[col]; + + if (Tval.indexOf(valCol) === -1) { + Tval.push(valCol); + _this3.filtreColValOk = true; + } + }); + + _this3.filtreColVal[col] = Tval; + }); } }, methods: { @@ -332,7 +350,7 @@ var monTableau = { return ''; }, chargerJson: function chargerJson(id) { - var _this3 = this; + var _this4 = this; var url = this.apiuri; @@ -368,56 +386,42 @@ var monTableau = { return response.json(); }).then(function (data) { var config = data.shift(); - _this3.header = config.header; + _this4.header = config.header; if (config.crayons !== undefined) { - _this3.crayons = config.crayons; + _this4.crayons = config.crayons; } if (config.classes !== undefined) { - _this3.classes = config.classes; + _this4.classes = config.classes; } if (parseInt(id) > 0) { if (data.length > 0) { - var i = trouver_index(_this3.table, id); - _this3.table[i] = data[0]; + var i = trouver_index(_this4.table, id); + _this4.table[i] = data[0]; } else { - var _i2 = trouver_index(_this3.table, id); + var _i2 = trouver_index(_this4.table, id); - _this3.table.splice(_i2, 1); + _this4.table.splice(_i2, 1); } } else { - _this3.table = data; + _this4.table = data; if (data[0] && data[0].search) { - _this3.champ_search = 'search'; + _this4.champ_search = 'search'; } } if (config.filtreCol !== undefined) { - _this3.filtreCol = config.filtreCol; - - _this3.filtreCol.forEach(function (col) { - var Tval = ['']; - - _this3.table.forEach(function (t) { - var valCol = t.search[col]; - - if (Tval.indexOf(valCol) === -1) { - Tval.push(valCol); - } - }); - - _this3.filtreColVal[col] = Tval; - }); + _this4.filtreCol = config.filtreCol; } Vue.nextTick(function () { - _this3.chargement = false; + _this4.chargement = false; if ($_id > 0) { - _this3.selectLigne($_id, 'id'); + _this4.selectLigne($_id, 'id'); var _url = new URL(window.location); @@ -502,7 +506,7 @@ var monTableau = { } }, exportCSV: function exportCSV() { - var _this4 = this; + var _this5 = this; var $csv = []; var $header = []; @@ -512,7 +516,7 @@ var monTableau = { }); $tableau = this.tableau.reduce(function (acc, ligne) { var $uneLigne = []; - Object.values(ligne[_this4.champcsv]).forEach(function (l) { + Object.values(ligne[_this5.champcsv]).forEach(function (l) { return $uneLigne.push(l); }); return [].concat(_toConsumableArray(acc), [[].concat($uneLigne)]);