You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by an...@apache.org on 2025/09/12 08:51:48 UTC
(activemq-artemis-console) 01/06: ARTEMIS-5424 - Allow listing all items in tables
This is an automated email from the ASF dual-hosted git repository.
andytaylor pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/activemq-artemis-console.git
commit f7a88e6357ec8defab2f81875f3bf117a2787770
Author: GChuf <ga...@gmail.com>
AuthorDate: Fri May 30 23:18:17 2025 +0200
ARTEMIS-5424 - Allow listing all items in tables
---
.../src/ArtemisPreferences.tsx | 1 +
.../src/table/ArtemisTable.tsx | 27 ++++++++++++++++++++--
2 files changed, 26 insertions(+), 2 deletions(-)
diff --git a/artemis-console-extension/artemis-extension/packages/artemis-console-plugin/src/ArtemisPreferences.tsx b/artemis-console-extension/artemis-extension/packages/artemis-console-plugin/src/ArtemisPreferences.tsx
index cbf80e4..9743599 100644
--- a/artemis-console-extension/artemis-extension/packages/artemis-console-plugin/src/ArtemisPreferences.tsx
+++ b/artemis-console-extension/artemis-extension/packages/artemis-console-plugin/src/ArtemisPreferences.tsx
@@ -197,6 +197,7 @@ const ArtemisPreferencesForm: React.FunctionComponent = () => {
<SelectOption label={"20"} value={"20"}>{"20"}</SelectOption>
<SelectOption label={"50"} value={"50"}>{"50"}</SelectOption>
<SelectOption label={"100"} value={"100"}>{"100"}</SelectOption>
+ <SelectOption label={"All"} value={"-1"}>{"-1"}</SelectOption>
</SelectList>
</Select>
</FlexItem>
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 616a21e..050476c 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
@@ -118,7 +118,10 @@ const operationOptions = [
const [isSortDropdownOpen, setIsSortDropdownOpen] = useState(false);
const [isModalOpen, setIsModalOpen] = useState(false);
const [page, setPage] = useState(1);
+ const [isCompact, setIsCompact] = useState(false);
const [perPage, setPerPage] = useState(10);
+ const pageSize = artemisPreferencesService.loadTablePageSize(broker.storageColumnLocation);
+
const initialFilter = () => {
if (broker.storageColumnLocation && sessionStorage.getItem(broker.storageColumnLocation + '.filter')) {
return JSON.parse(sessionStorage.getItem(broker.storageColumnLocation + '.filter') as string);
@@ -141,6 +144,9 @@ const operationOptions = [
useEffect(() => {
if (!columnsLoaded && broker.storageColumnLocation) {
const updatedColumns: Column[] = artemisPreferencesService.loadColumnPreferences(broker.storageColumnLocation, broker.allColumns);
+ if (pageSize == -1) {
+ setIsCompact(true);
+ }
setColumns(updatedColumns);
setColumnsLoaded(true);
}
@@ -210,14 +216,28 @@ const operationOptions = [
if(broker.storageColumnLocation) {
artemisPreferencesService.saveTablePageSize(broker.storageColumnLocation, newPerPage)
}
+ if (newPerPage === -1) {
+ setIsCompact(true);
+ setPerPage(resultsSize);
+ } else {
+ setIsCompact(false);
+ setPerPage(newPerPage);
+ }
setPage(1);
- setPerPage(newPerPage);
};
const getKeyByValue = (producer: never, columnName: string) => {
return producer[columnName];
}
+ const pageSizeOptions = [
+ { title: '10 per page', value: 10 },
+ { title: '20 per page', value: 20 },
+ { title: '50 per page', value: 50 },
+ { title: '100 per page', value: 100 },
+ { title: 'All items', value: -1 },
+ ];
+
const renderPagination = (variant: PaginationVariant | undefined) => (
<Pagination
itemCount={resultsSize}
@@ -225,9 +245,12 @@ const operationOptions = [
perPage={perPage}
onSetPage={handleSetPage}
onPerPageSelect={handlePerPageSelect}
+ isCompact={isCompact}
+ perPageOptions={pageSizeOptions}
variant={variant}
titles={{
- paginationAriaLabel: `${variant} pagination`
+ paginationAriaLabel: `${variant} pagination`,
+ perPageSuffix: ''
}}
/>
);
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@activemq.apache.org
For additional commands, e-mail: commits-help@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact