diff --git a/packages/client/manifest.json b/packages/client/manifest.json index 795cc17097..c8d0506553 100644 --- a/packages/client/manifest.json +++ b/packages/client/manifest.json @@ -4615,14 +4615,15 @@ "type": "field/sortable", "label": "Sort by", "key": "sortColumn", - "placeholder": "None" + "placeholder": "Default" }, { "type": "select", "label": "Sort order", "key": "sortOrder", "options": ["Ascending", "Descending"], - "defaultValue": "Ascending" + "defaultValue": "Ascending", + "dependsOn": "sortColumn" }, { "type": "select", diff --git a/packages/frontend-core/src/api/viewsV2.js b/packages/frontend-core/src/api/viewsV2.js index c765214c3b..38bacac012 100644 --- a/packages/frontend-core/src/api/viewsV2.js +++ b/packages/frontend-core/src/api/viewsV2.js @@ -31,6 +31,7 @@ export const buildViewV2Endpoints = API => ({ /** * Fetches all rows in a view * @param viewId the id of the view + * @param query the search query * @param paginate whether to paginate or not * @param limit page size * @param bookmark pagination cursor @@ -40,6 +41,7 @@ export const buildViewV2Endpoints = API => ({ */ fetch: async ({ viewId, + query, paginate, limit, bookmark, @@ -50,6 +52,7 @@ export const buildViewV2Endpoints = API => ({ return await API.post({ url: `/api/v2/views/${viewId}/search`, body: { + query, paginate, limit, bookmark, diff --git a/packages/frontend-core/src/components/grid/controls/SortButton.svelte b/packages/frontend-core/src/components/grid/controls/SortButton.svelte index bd75249216..60e3c8e514 100644 --- a/packages/frontend-core/src/components/grid/controls/SortButton.svelte +++ b/packages/frontend-core/src/components/grid/controls/SortButton.svelte @@ -8,7 +8,6 @@ let anchor $: columnOptions = getColumnOptions($stickyColumn, $columns) - $: checkValidSortColumn($sort.column, $stickyColumn, $columns) $: orderOptions = getOrderOptions($sort.column, columnOptions) const getColumnOptions = (stickyColumn, columns) => { @@ -46,8 +45,8 @@ const updateSortColumn = e => { sort.update(state => ({ - ...state, column: e.detail, + order: e.detail ? state.order : "ascending", })) } @@ -57,29 +56,6 @@ order: e.detail, })) } - - // Ensure we never have a sort column selected that is not visible - const checkValidSortColumn = (sortColumn, stickyColumn, columns) => { - if (!sortColumn) { - return - } - if ( - sortColumn !== stickyColumn?.name && - !columns.some(col => col.name === sortColumn) - ) { - if (stickyColumn) { - sort.update(state => ({ - ...state, - column: stickyColumn.name, - })) - } else { - sort.update(state => ({ - ...state, - column: columns[0]?.name, - })) - } - } - }
@@ -98,21 +74,23 @@
+ {#if $sort.column} +