From eb3119b65566c4cb81ab9dbfcb9fc63e83ad3b4c Mon Sep 17 00:00:00 2001 From: tofulm Date: Mon, 16 Jan 2023 12:24:01 +0100 Subject: [PATCH] Feat: ajout du trie des col via trier=champ1|asc ref #10 --- inclure/gamutable.html | 2 ++ src/components/gamuTable.vue | 30 ++++++++++++++++++++++++------ 2 files changed, 26 insertions(+), 6 deletions(-) diff --git a/inclure/gamutable.html b/inclure/gamutable.html index 0e0e413..83e805d 100644 --- a/inclure/gamutable.html +++ b/inclure/gamutable.html @@ -48,6 +48,7 @@ filtrer="#ENV{filtrer}" :_id="[(#ENV{_id}|intval)]" filtreselect="[(#ENV{filtrerselect})]" + trier="[(#ENV{trier})]" > @@ -80,6 +81,7 @@ filtrer="#ENV{filtrer}" :_id="[(#ENV{_id}|intval)]" filtreselect="[(#ENV{filtrerselect_deux})]" + trier="[(#ENV{trier_deux})]" > diff --git a/src/components/gamuTable.vue b/src/components/gamuTable.vue index a1c85a3..9518b78 100644 --- a/src/components/gamuTable.vue +++ b/src/components/gamuTable.vue @@ -362,6 +362,9 @@ const props = defineProps({ afficher: { type: Number, }, + trier: { + type: String, + }, apiuri: { type: String, required: true, @@ -457,6 +460,8 @@ let vuebloc = ref(false); let loadingVueSelect = ref(true); let ajaxCrayons = ref(false); let maj = ref(""); +let afficherVal = props.afficher; +let trierVal = props.trier; let nameLocalStorage = calculer_nameLocalStorage(); @@ -787,16 +792,27 @@ function chargerJson(id) { } Tfiltres.forEach((col) => { - filtreColSelected.value[col.champ] = [ - ...filtreColSelected.value[col.champ], - ...col.valeurs, - ]; + if (filtreCol.value.includes(col)) { + filtreColSelected.value[col.champ] = [ + ...filtreColSelected.value[col.champ], + ...col.valeurs, + ]; + } }); filtreColModif.value++; ajaxCrayons = false; - if (props.afficher && props.tparpage.includes(props.afficher)) { - parPageSelect.value = props.afficher; + if (afficherVal && props.tparpage.includes(afficherVal)) { + parPageSelect.value = afficherVal; + } + + if (trierVal) { + trierVal.split(",").forEach((unTri) => { + const [col, sens] = unTri.split("|"); + if (filtreCol.value.includes(col)) { + tri(col, sens); + } + }); } if (parseInt(props._id) > 0) { @@ -837,6 +853,8 @@ function saveHeader() { classes: classes.value, filtreCol: filtreColType.value, ordreCol: ordreCol.value, + afficherVal: afficherVal, + trierVal: trierVal, maj: maj.value, }; localStorage.setItem("header_" + nameLocalStorage, JSON.stringify($header));