From 94ab0ab0b3a03b09f777daa4c035a184a5d08ee9 Mon Sep 17 00:00:00 2001
From: lucile varloteaux <lucile.varloteaux@inrae.fr>
Date: Mon, 23 Oct 2023 16:57:42 +0200
Subject: [PATCH] ajout des filtres lors du chargement des pages

---
 .../views/references/ReferenceTableView.vue   | 28 +++++++++++--------
 1 file changed, 16 insertions(+), 12 deletions(-)

diff --git a/ui/src/views/references/ReferenceTableView.vue b/ui/src/views/references/ReferenceTableView.vue
index c5955794c..77924ac7f 100644
--- a/ui/src/views/references/ReferenceTableView.vue
+++ b/ui/src/views/references/ReferenceTableView.vue
@@ -192,7 +192,7 @@ export default {
     const { shallowRefArray: referenceValues, doChangeArray: changeReferenceValues } = useArray();
     const { shallowRefArray: tableValues, doChangeArray: changeTableValues } = useArray();
     const { shallowRefArray: tags, doChangeArray: changeTags } = useArray();
-    const { shallowRefArray: filters } = useArray();
+    const { shallowRefArray: filters, doAddToArray: pushFilters } = useArray();
     const {
       shallowRefArray: referenceTypeForReferencingColumns,
       doChangeArray: changeReferenceTypeForReferencingColumns,
@@ -365,8 +365,9 @@ export default {
         props.refId,
         event.filters
       );
-      changeTotalRows(tableValue.length);
+      changeTotalRows(tableValue.referenceValues.length);
       changeReferenceValues(tableValue.referenceValues);
+      pushFilters(event.filters);
       await setInitialVariables();
       changeIsLoading(false);
     }
@@ -406,17 +407,20 @@ export default {
     }
 
     async function changePage(value) {
-      params.offset = (value - 1) * params.limit;
-      const references = await services.referenceService.getReferenceValues(
-        props.applicationName,
-        props.refId,
-        {
-          _offset_: params.offset,
-          _limit_: params.limit,
+      let references;
+      if(filters.value.length === 0) {
+        params.offset = (value - 1) * params.limit;
+        references = await services.referenceService.getReferenceValues(
+            props.applicationName,
+            props.refId,
+            {
+              _offset_: params.offset,
+              _limit_: params.limit,
+            }
+        );
+        if (references) {
+          changeReferenceValues(references.referenceValues);
         }
-      );
-      if (references) {
-        changeReferenceValues(references.referenceValues);
       }
       if (referenceValues.value) {
         changeTableValues(Object.values(referenceValues.value).map((refValue) => refValue.values));
-- 
GitLab