This is an automated email from the ASF dual-hosted git repository.

robbie pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/activemq-artemis-console.git


The following commit(s) were added to refs/heads/main by this push:
     new 9c0d231  ARTEMIS-5407 - remember sort and filters for web session
9c0d231 is described below

commit 9c0d231cdab561929f213820318b958307110f04
Author: Andy Taylor <[email protected]>
AuthorDate: Fri May 16 07:37:01 2025 +0100

    ARTEMIS-5407 - remember sort and filters for web session
---
 .../src/table/ArtemisTable.tsx                     | 35 ++++++++++++++++------
 1 file changed, 26 insertions(+), 9 deletions(-)

diff --git 
a/artemis-console-extension/artemis-extension/packages/artemis-console-plugin/src/table/ArtemisTable.tsx
 
b/artemis-console-extension/artemis-extension/packages/artemis-console-plugin/src/table/ArtemisTable.tsx
index b42b8e5..2e9e622 100644
--- 
a/artemis-console-extension/artemis-extension/packages/artemis-console-plugin/src/table/ArtemisTable.tsx
+++ 
b/artemis-console-extension/artemis-extension/packages/artemis-console-plugin/src/table/ArtemisTable.tsx
@@ -101,11 +101,17 @@ const operationOptions = [
     { id: 'GREATER_THAN', name: 'Greater Than' },
     { id: 'LESS_THAN', name: 'Less Than' }
   ]
-
-  const initialActiveSort: ActiveSort = {
-    id: broker.allColumns[0].id,
-    order: SortDirection.ASCENDING
+  
+  const initialActiveSort = () => {
+    if (broker.storageColumnLocation && 
sessionStorage.getItem(broker.storageColumnLocation + '.activesort')) {
+      return JSON.parse(sessionStorage.getItem(broker.storageColumnLocation + 
'.activesort') as string);
+    }
+    return {
+      id: broker.allColumns[0].id,
+      order: SortDirection.ASCENDING
+    };
   }
+
   const [rows, setRows] = useState([])
   const [resultsSize, setresultsSize] = useState(0)
   const [columnsLoaded, setColumnsLoaded] = useState(false);
@@ -116,11 +122,17 @@ const operationOptions = [
   const [isModalOpen, setIsModalOpen] = useState(false);
   const [page, setPage] = useState(1);
   const [perPage, setPerPage] = useState(10);
-  const initialFilter: Filter = {
-    column: columns[1].id,
-    operation: operationOptions[0].id,
-    input: ''
+  const initialFilter = () =>  {
+    if (broker.storageColumnLocation && 
sessionStorage.getItem(broker.storageColumnLocation + '.filter')) {
+      return JSON.parse(sessionStorage.getItem(broker.storageColumnLocation + 
'.filter') as string);
+    }
+    return { 
+      column: columns[1].id,
+      operation: operationOptions[0].id,
+      input: ''
+    }
   }
+
   const [filter, setFilter] = useState(broker.filter !== undefined? 
broker.filter:initialFilter);
 
   const [filterColumnStatusSelected, setFilterColumnStatusSelected] = 
useState(columns.find(column => filter.column === column.id)?.name);
@@ -194,6 +206,7 @@ const operationOptions = [
       order: order
     };
     setActiveSort(updatedActiveSort)
+    sessionStorage.setItem(broker.storageColumnLocation + 
".activesort",JSON.stringify(updatedActiveSort));
   }
 
   const onFilterColumnStatusSelect = (
@@ -243,7 +256,11 @@ const operationOptions = [
     const operation = operationOptions.find(operation => operation.name === 
filterColumnOperationSelected);
     const column = columns.find(column => column.name === 
filterColumnStatusSelected);
     if (operation && column) {
-      setFilter({ column: column.id, operation: operation.id, input: 
inputValue });
+      var filter = { column: column.id, operation: operation.id, input: 
inputValue };
+      setFilter(filter);
+      if (broker.storageColumnLocation) {
+        sessionStorage.setItem(broker.storageColumnLocation + '.filter', 
JSON.stringify(filter));
+      }
     }
   }
 


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information, visit: https://activemq.apache.org/contact


Reply via email to