repare si champ vide

This commit is contained in:
Christophe 2020-11-10 12:12:12 +01:00
parent bc2556cbd7
commit 7e2718e00d
2 changed files with 78 additions and 51 deletions

View file

@ -242,8 +242,18 @@ let monTableau = {
if (!Array.isArray(colValue)) { if (!Array.isArray(colValue)) {
colValue = [colValue]; colValue = [colValue];
} }
if (colValue.filter((w) => w.length > 0).length) { let TcolValue = [];
if (colValue.filter((w) => w.length > 0).indexOf(ligne.search[colName]) === -1) { colValue.forEach((s) => {
if (Number.isInteger(s)) {
TcolValue.push(s);
}
if (s.length > 0) {
TcolValue.push(s);
}
});
if (TcolValue.length) {
if (TcolValue.indexOf(ligne.html[colName]) === -1) {
rsearch = false; rsearch = false;
} }
} }
@ -283,17 +293,19 @@ let monTableau = {
// Si on veut filtrer la liste des options dynamique en fonction // Si on veut filtrer la liste des options dynamique en fonction
// du tri du tableau // du tri du tableau
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//this.filtreCol.forEach((col) => { if (this.filtrecolmulti === 'non') {
//let Tval = ['']; this.filtreCol.forEach((col) => {
//this.tableau.forEach((t) => { let Tval = [''];
//let valCol = t.search[col]; this.tableau.forEach((t) => {
//if (Tval.indexOf(valCol) === -1) { let valCol = t.html[col];
//Tval.push(valCol); if (Tval.indexOf(valCol) === -1) {
//this.filtreColValOk = true; Tval.push(valCol);
//} this.filtreColValOk = true;
//}); }
//this.filtreColVal[col] = Tval; });
//}); this.filtreColVal[col] = Tval;
});
}
}, },
}, },
methods: { methods: {
@ -360,7 +372,7 @@ let monTableau = {
this.filtreCol.forEach((col) => { this.filtreCol.forEach((col) => {
let Tval = ['']; let Tval = [''];
this.table.forEach((t) => { this.table.forEach((t) => {
let valCol = t.search[col]; let valCol = t.html[col];
if (Tval.indexOf(valCol) === -1) { if (Tval.indexOf(valCol) === -1) {
Tval.push(valCol); Tval.push(valCol);
} }

View file

@ -295,12 +295,19 @@ var monTableau = {
colValue = [colValue]; colValue = [colValue];
} }
if (colValue.filter(function (w) { var TcolValue = [];
return w.length > 0; colValue.forEach(function (s) {
}).length) { if (Number.isInteger(s)) {
if (colValue.filter(function (w) { TcolValue.push(s);
return w.length > 0; }
}).indexOf(ligne.search[colName]) === -1) {
if (s.length > 0) {
TcolValue.push(s);
}
});
if (TcolValue.length) {
if (TcolValue.indexOf(ligne.html[colName]) === -1) {
rsearch = false; rsearch = false;
} }
} }
@ -330,21 +337,29 @@ var monTableau = {
}].concat(_toConsumableArray(this.table)); }].concat(_toConsumableArray(this.table));
localStorage.setItem(this.nameLocalStorage, JSON.stringify($table)); localStorage.setItem(this.nameLocalStorage, JSON.stringify($table));
}, },
tableau: function tableau() {// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ tableau: function tableau() {
var _this3 = this;
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Si on veut filtrer la liste des options dynamique en fonction // Si on veut filtrer la liste des options dynamique en fonction
// du tri du tableau // du tri du tableau
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//this.filtreCol.forEach((col) => { if (this.filtrecolmulti === 'non') {
//let Tval = ['']; this.filtreCol.forEach(function (col) {
//this.tableau.forEach((t) => { var Tval = [''];
//let valCol = t.search[col];
//if (Tval.indexOf(valCol) === -1) { _this3.tableau.forEach(function (t) {
//Tval.push(valCol); var valCol = t.html[col];
//this.filtreColValOk = true;
//} if (Tval.indexOf(valCol) === -1) {
//}); Tval.push(valCol);
//this.filtreColVal[col] = Tval; _this3.filtreColValOk = true;
//}); }
});
_this3.filtreColVal[col] = Tval;
});
}
} }
}, },
methods: { methods: {
@ -360,7 +375,7 @@ var monTableau = {
return ''; return '';
}, },
chargerJson: function chargerJson(id) { chargerJson: function chargerJson(id) {
var _this3 = this; var _this4 = this;
var url = this.apiuri; var url = this.apiuri;
@ -396,56 +411,56 @@ var monTableau = {
return response.json(); return response.json();
}).then(function (data) { }).then(function (data) {
var config = data.shift(); var config = data.shift();
_this3.header = config.header; _this4.header = config.header;
if (config.crayons !== undefined) { if (config.crayons !== undefined) {
_this3.crayons = config.crayons; _this4.crayons = config.crayons;
} }
if (config.classes !== undefined) { if (config.classes !== undefined) {
_this3.classes = config.classes; _this4.classes = config.classes;
} }
if (parseInt(id) > 0) { if (parseInt(id) > 0) {
if (data.length > 0) { if (data.length > 0) {
var i = trouver_index(_this3.table, id); var i = trouver_index(_this4.table, id);
_this3.table[i] = data[0]; _this4.table[i] = data[0];
} else { } 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 { } else {
_this3.table = data; _this4.table = data;
if (data[0] && data[0].search) { if (data[0] && data[0].search) {
_this3.champ_search = 'search'; _this4.champ_search = 'search';
} }
} }
if (config.filtreCol !== undefined) { if (config.filtreCol !== undefined) {
_this3.filtreCol = config.filtreCol; _this4.filtreCol = config.filtreCol;
_this3.filtreCol.forEach(function (col) { _this4.filtreCol.forEach(function (col) {
var Tval = ['']; var Tval = [''];
_this3.table.forEach(function (t) { _this4.table.forEach(function (t) {
var valCol = t.search[col]; var valCol = t.html[col];
if (Tval.indexOf(valCol) === -1) { if (Tval.indexOf(valCol) === -1) {
Tval.push(valCol); Tval.push(valCol);
} }
}); });
_this3.filtreColVal[col] = Tval; _this4.filtreColVal[col] = Tval;
}); });
} }
Vue.nextTick(function () { Vue.nextTick(function () {
_this3.chargement = false; _this4.chargement = false;
if ($_id > 0) { if ($_id > 0) {
_this3.selectLigne($_id, 'id'); _this4.selectLigne($_id, 'id');
var _url = new URL(window.location); var _url = new URL(window.location);
@ -530,7 +545,7 @@ var monTableau = {
} }
}, },
exportCSV: function exportCSV() { exportCSV: function exportCSV() {
var _this4 = this; var _this5 = this;
var $csv = []; var $csv = [];
var $header = []; var $header = [];
@ -540,7 +555,7 @@ var monTableau = {
}); });
$tableau = this.tableau.reduce(function (acc, ligne) { $tableau = this.tableau.reduce(function (acc, ligne) {
var $uneLigne = []; var $uneLigne = [];
Object.values(ligne[_this4.champcsv]).forEach(function (l) { Object.values(ligne[_this5.champcsv]).forEach(function (l) {
return $uneLigne.push(l); return $uneLigne.push(l);
}); });
return [].concat(_toConsumableArray(acc), [[].concat($uneLigne)]); return [].concat(_toConsumableArray(acc), [[].concat($uneLigne)]);