mirror of
https://github.com/t8y2/dbx.git
synced 2026-11-01 00:25:38 +00:00
fix(grid): preserve page size when reloading data after save
The reload event did not carry limit/offset, so buildTableSelectSql always fell back to its default LIMIT 100, resetting 1000-row pages back to 100 after every commit.
This commit is contained in:
@@ -51,12 +51,19 @@ export function useDataGridActions(activeTab: ComputedRef<QueryTab | undefined>)
|
||||
await queryStore.executeTabSql(tab.id, sql);
|
||||
}
|
||||
|
||||
async function onReloadData(sql?: string, _searchText?: string, whereInput?: string, orderBy?: string) {
|
||||
async function onReloadData(
|
||||
sql?: string,
|
||||
_searchText?: string,
|
||||
whereInput?: string,
|
||||
orderBy?: string,
|
||||
limit?: number,
|
||||
offset?: number,
|
||||
) {
|
||||
const tab = activeTab.value;
|
||||
if (!tab) return;
|
||||
if (tab.mode === "data" && tab.tableMeta) {
|
||||
tab.whereInput = whereInput ?? "";
|
||||
queryStore.updateSql(tab.id, buildTableSql(tab, { whereInput, orderBy }));
|
||||
queryStore.updateSql(tab.id, buildTableSql(tab, { whereInput, orderBy, limit, offset }));
|
||||
await queryStore.executeCurrentTab();
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -66,8 +66,18 @@ export interface UseDataGridEditorOptions {
|
||||
rowStatusFilter: Ref<RowStatusFilter>;
|
||||
initialEditColumn?: ComputedRef<number>;
|
||||
getRowItem: (rowId: number) => RowItem | undefined;
|
||||
pageSize: Ref<number>;
|
||||
currentPage: Ref<number>;
|
||||
emit: {
|
||||
(event: "reload", sql?: string, searchText?: string, whereInput?: string, orderBy?: string): void;
|
||||
(
|
||||
event: "reload",
|
||||
sql?: string,
|
||||
searchText?: string,
|
||||
whereInput?: string,
|
||||
orderBy?: string,
|
||||
limit?: number,
|
||||
offset?: number,
|
||||
): void;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -91,6 +101,8 @@ export function useDataGridEditor(options: UseDataGridEditorOptions) {
|
||||
rowStatusFilter,
|
||||
initialEditColumn,
|
||||
getRowItem,
|
||||
pageSize,
|
||||
currentPage,
|
||||
emit,
|
||||
} = options;
|
||||
|
||||
@@ -486,6 +498,8 @@ export function useDataGridEditor(options: UseDataGridEditorOptions) {
|
||||
searchText.value,
|
||||
whereFilterInput.value.trim() || undefined,
|
||||
orderByInput.value.trim() || undefined,
|
||||
pageSize.value,
|
||||
(currentPage.value - 1) * pageSize.value,
|
||||
);
|
||||
return;
|
||||
}
|
||||
@@ -571,6 +585,8 @@ export function useDataGridEditor(options: UseDataGridEditorOptions) {
|
||||
searchText.value,
|
||||
whereFilterInput.value.trim() || undefined,
|
||||
orderByInput.value.trim() || undefined,
|
||||
pageSize.value,
|
||||
(currentPage.value - 1) * pageSize.value,
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user