Added paging.

This commit is contained in:
baldo 2022-06-02 15:02:31 +02:00
commit 87839f4faa
4 changed files with 176 additions and 19 deletions

View file

@ -4,6 +4,8 @@ import {internalApi} from "@/utils/Api";
interface NodesStoreState {
nodes: EnhancedNode[];
page: number;
nodesPerPage: number;
totalNodes: number;
}
@ -12,6 +14,8 @@ export const useNodesStore = defineStore({
state(): NodesStoreState {
return {
nodes: [],
page: 1,
nodesPerPage: 20,
totalNodes: 0,
};
},
@ -22,16 +26,29 @@ export const useNodesStore = defineStore({
getTotalNodes(state: NodesStoreState): number {
return state.totalNodes;
}
},
getNodesPerPage(state: NodesStoreState): number {
return state.nodesPerPage
},
getPage(state: NodesStoreState): number {
return state.page
},
},
actions: {
async refresh(): Promise<void> {
async refresh(page: number, nodesPerPage: number): Promise<void> {
// TODO: Handle paging
const result = await internalApi.getPagedList<EnhancedNode>(
"nodes",
isEnhancedNode
isEnhancedNode,
page,
nodesPerPage,
);
this.nodes = result.entries;
this.totalNodes = result.total;
this.page = page;
this.nodesPerPage = nodesPerPage;
},
},
});