This is an automated email from the ASF dual-hosted git repository. jbertram pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis-console.git
commit c0451a41000d35e9dad477fdbe5567b5bec96028 Author: Andy Taylor <[email protected]> AuthorDate: Fri Dec 6 11:21:59 2024 +0000 ARTEMIS-5193 - Add page size to saved preferences --- .../artemis/artemis-preferences-service.ts | 14 ++++++++++++++ .../artemis-extension/artemis/messages/MessagesTable.tsx | 3 +++ .../src/artemis-extension/artemis/table/ArtemisTable.tsx | 6 ++++++ 3 files changed, 23 insertions(+) diff --git a/artemis-console-extension/artemis-extension/src/artemis-extension/artemis/artemis-preferences-service.ts b/artemis-console-extension/artemis-extension/src/artemis-extension/artemis/artemis-preferences-service.ts index 4863670..46c57d0 100644 --- a/artemis-console-extension/artemis-extension/src/artemis-extension/artemis/artemis-preferences-service.ts +++ b/artemis-console-extension/artemis-extension/src/artemis-extension/artemis/artemis-preferences-service.ts @@ -16,6 +16,8 @@ */ import { Column } from "./table/ArtemisTable" +const PAGE_SIZE = ".pageSize"; + export interface IArtemisPreferencesService { loadArtemisPreferences(): ArtemisOptions saveArtemisPreferences(newValues: Partial<ArtemisOptions>): void @@ -68,6 +70,18 @@ class ArtemisPreferencesService implements IArtemisPreferencesService { localStorage.setItem(storageLocation, JSON.stringify(data)); } + loadTablePageSize(storageLocation: string|undefined, size: number): number { + const localStorageData = localStorage.getItem(storageLocation + PAGE_SIZE); + if (localStorageData) { + return Number(localStorageData); + } + return size; + } + + saveTablePageSize(storageLocation: string, size: number) { + localStorage.setItem(storageLocation + PAGE_SIZE, size.toString()); + } + private loadFromStorage(): Partial<ArtemisOptions> { const localStorageData = localStorage.getItem(STORAGE_KEY_ARTEMIS_PREFERENCES) diff --git a/artemis-console-extension/artemis-extension/src/artemis-extension/artemis/messages/MessagesTable.tsx b/artemis-console-extension/artemis-extension/src/artemis-extension/artemis/messages/MessagesTable.tsx index 632fd62..46ad6b8 100644 --- a/artemis-console-extension/artemis-extension/src/artemis-extension/artemis/messages/MessagesTable.tsx +++ b/artemis-console-extension/artemis-extension/src/artemis-extension/artemis/messages/MessagesTable.tsx @@ -28,6 +28,7 @@ import { SendMessage } from './SendMessage'; import { Message } from './MessageView'; import { ArtemisContext } from '../context'; import { log } from '../globals'; +import { artemisPreferencesService } from '../artemis-preferences-service'; export type MessageProps = { address: string, @@ -90,6 +91,7 @@ export const MessagesTable: React.FunctionComponent<MessageProps> = props => { const response = await artemisService.getMessages(queueMBean, page, perPage, filter); return response; } + setPerPage(artemisPreferencesService.loadTablePageSize("messagesColumnDefs", 10)); listData(); }, [props.address, props.routingType, props.queue, page, perPage, filter, selectedMessages]) @@ -99,6 +101,7 @@ export const MessagesTable: React.FunctionComponent<MessageProps> = props => { }; const handlePerPageSelect = (_event: React.MouseEvent | React.KeyboardEvent | MouseEvent, newPerPage: number, newPage: number) => { + artemisPreferencesService.saveTablePageSize("messagesColumnDefs", newPerPage) setPerPage(newPerPage); }; diff --git a/artemis-console-extension/artemis-extension/src/artemis-extension/artemis/table/ArtemisTable.tsx b/artemis-console-extension/artemis-extension/src/artemis-extension/artemis/table/ArtemisTable.tsx index 0722618..6c7257b 100644 --- a/artemis-console-extension/artemis-extension/src/artemis-extension/artemis/table/ArtemisTable.tsx +++ b/artemis-console-extension/artemis-extension/src/artemis-extension/artemis/table/ArtemisTable.tsx @@ -141,6 +141,9 @@ const operationOptions = [ setColumns(updatedColumns); setColumnsLoaded(true); } + if(broker.storageColumnLocation) { + setPerPage(artemisPreferencesService.loadTablePageSize(broker.storageColumnLocation, 10)); + } listData(); }, [columns, page, activeSort, filter, perPage, columnsLoaded, broker]) @@ -215,6 +218,9 @@ const operationOptions = [ }; const handlePerPageSelect = (_event: React.MouseEvent | React.KeyboardEvent | MouseEvent, newPerPage: number, newPage: number) => { + if(broker.storageColumnLocation) { + artemisPreferencesService.saveTablePageSize(broker.storageColumnLocation, newPerPage) + } setPerPage(newPerPage); }; --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected] For further information, visit: https://activemq.apache.org/contact
