nuxt-ui-tools 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/module.json +1 -1
- package/dist/runtime/form/components/root/form.vue +1 -1
- package/dist/runtime/form/composables/use-form-validation.d.ts +2 -3
- package/dist/runtime/form/composables/use-form-validation.js +24 -112
- package/dist/runtime/form/composables/use-form.js +1 -1
- package/dist/runtime/form/fields/password/component.vue +132 -28
- package/dist/runtime/form/fields/password/types.d.ts +6 -0
- package/dist/runtime/form/fields/text/component.vue +7 -2
- package/dist/runtime/form/types/field.d.ts +1 -1
- package/dist/runtime/form/types/validation.d.ts +3 -20
- package/dist/runtime/form/utils/state.d.ts +1 -14
- package/dist/runtime/form/utils/state.js +0 -199
- package/dist/runtime/i18n/locales/en.js +1 -0
- package/dist/runtime/i18n/locales/fr.js +1 -0
- package/dist/runtime/i18n/types.d.ts +1 -0
- package/dist/runtime/table/components/data-list/data-list-content.d.vue.ts +19 -17
- package/dist/runtime/table/components/data-list/data-list-content.vue +14 -87
- package/dist/runtime/table/components/data-list/data-list-content.vue.d.ts +19 -17
- package/dist/runtime/table/components/data-list/data-list-default.d.vue.ts +1 -4
- package/dist/runtime/table/components/data-list/data-list-default.vue.d.ts +1 -4
- package/dist/runtime/table/components/data-list/data-list-error-state.d.vue.ts +13 -0
- package/dist/runtime/table/components/data-list/data-list-error-state.vue +91 -0
- package/dist/runtime/table/components/data-list/data-list-error-state.vue.d.ts +13 -0
- package/dist/runtime/table/components/data-list/data-list-layout-switch.vue +1 -1
- package/dist/runtime/table/components/data-list/data-list-refresh.vue +42 -4
- package/dist/runtime/table/components/data-list/data-list-root.d.vue.ts +1 -9
- package/dist/runtime/table/components/data-list/data-list-root.vue.d.ts +1 -9
- package/dist/runtime/table/components/data-list/data-list-sort-menu.vue +11 -5
- package/dist/runtime/table/components/data-list.d.vue.ts +2 -13
- package/dist/runtime/table/components/data-list.vue.d.ts +2 -13
- package/dist/runtime/table/components/drawers/column-panel.vue +7 -2
- package/dist/runtime/table/components/filters/panel/filter-panel-chips.vue +2 -5
- package/dist/runtime/table/components/filters/panel/option-filter-panel-field.vue +1 -1
- package/dist/runtime/table/components/filters/shared/dynamic-filter-picker.d.vue.ts +2 -2
- package/dist/runtime/table/components/filters/shared/dynamic-filter-picker.vue +103 -101
- package/dist/runtime/table/components/filters/shared/dynamic-filter-picker.vue.d.ts +2 -2
- package/dist/runtime/table/components/filters/shared/filter-option-multiple-list.vue +2 -2
- package/dist/runtime/table/components/filters/shared/filter-option-picker-content.vue +3 -3
- package/dist/runtime/table/components/filters/shared/filter-option-single-list.vue +1 -1
- package/dist/runtime/table/components/filters/shared/filter-popover-shell.d.vue.ts +3 -3
- package/dist/runtime/table/components/filters/shared/filter-popover-shell.vue +17 -15
- package/dist/runtime/table/components/filters/shared/filter-popover-shell.vue.d.ts +3 -3
- package/dist/runtime/table/components/filters/shared/filter-searchable-panel.vue +10 -2
- package/dist/runtime/table/components/filters/sheet/filter-sheet.vue +4 -3
- package/dist/runtime/table/components/filters/tags/filter-tags-bar.vue +1 -1
- package/dist/runtime/table/components/grid/grid-renderer.vue +2 -4
- package/dist/runtime/table/components/table/table-renderer.d.vue.ts +8 -2
- package/dist/runtime/table/components/table/table-renderer.vue +24 -6
- package/dist/runtime/table/components/table/table-renderer.vue.d.ts +8 -2
- package/dist/runtime/table/composables/use-option-filter-editor-state.d.ts +1 -0
- package/dist/runtime/table/composables/use-option-filter-editor-state.js +2 -2
- package/dist/runtime/table/composables/use-table-actions.js +10 -5
- package/dist/runtime/table/composables/use-table-api.js +4 -1
- package/dist/runtime/table/composables/use-table-columns.d.ts +6 -2
- package/dist/runtime/table/composables/use-table-data.d.ts +2 -1
- package/dist/runtime/table/composables/use-table-data.js +19 -2
- package/dist/runtime/table/composables/use-table-filter-options.d.ts +1 -0
- package/dist/runtime/table/composables/use-table-filter-options.js +2 -1
- package/dist/runtime/table/composables/use-table-internals.d.ts +18 -6
- package/dist/runtime/table/types/actions.d.ts +3 -2
- package/dist/runtime/table/types/data-list.d.ts +8 -0
- package/dist/runtime/table/types/source.d.ts +10 -1
- package/dist/runtime/table/utils/builders/table-source.d.ts +14 -15
- package/dist/runtime/table/utils/client-query.d.ts +1 -1
- package/dist/runtime/table/utils/columns/render.d.ts +13 -5
- package/dist/runtime/table/utils/columns/render.js +3 -2
- package/dist/runtime/table/utils/filters/editor-size.js +9 -9
- package/dist/runtime/table/utils/filters/options.js +6 -1
- package/dist/runtime/table/utils/index.d.ts +1 -0
- package/dist/runtime/table/utils/index.js +1 -0
- package/dist/runtime/table/utils/prefetch.js +5 -1
- package/dist/runtime/table/utils/source-request.d.ts +2 -0
- package/dist/runtime/table/utils/source-request.js +9 -0
- package/package.json +1 -1
|
@@ -89,6 +89,15 @@ export interface TableSourceRequestContext<TRow extends GenericObject = GenericO
|
|
|
89
89
|
context: TContext;
|
|
90
90
|
facets?: TableGlobalFacetDescriptor<TableKnownFieldPath<TRow> | string>[];
|
|
91
91
|
}
|
|
92
|
+
export interface TableRemoteSourceRequest<TRow extends GenericObject = GenericObject, TSortKey extends string = TableSortKey<TRow>> {
|
|
93
|
+
pagination?: Exclude<TablePaginationState, {
|
|
94
|
+
mode: 'none';
|
|
95
|
+
}>;
|
|
96
|
+
sorting: TableSortingRule<TSortKey>[];
|
|
97
|
+
filters: TableResolvedFilterGroup<TableKnownFieldPath<TRow> | string>[];
|
|
98
|
+
search: TableSourceSearchRequest<TRow>;
|
|
99
|
+
facets?: TableGlobalFacetDescriptor<TableKnownFieldPath<TRow> | string>[];
|
|
100
|
+
}
|
|
92
101
|
export interface TableFacetsContext<TRow extends GenericObject = GenericObject, TContext extends GenericObject = GenericObject, TKey extends string = TableKnownFieldPath<TRow> | string> {
|
|
93
102
|
filters: TableResolvedFilterGroup<TKey>;
|
|
94
103
|
search: TableSourceSearchRequest<TRow>;
|
|
@@ -102,7 +111,7 @@ export interface TableClientSource<TRow extends GenericObject = GenericObject, T
|
|
|
102
111
|
export type TableRemoteFacetSource<TRow extends GenericObject = GenericObject, TContext extends GenericObject = GenericObject, TKey extends string = TableKnownFieldPath<TRow> | string> = true | ((ctx: TableFacetsContext<TRow, TContext, TKey>) => TableQueryDefinition<TableFacetExecutionResult<TKey>>);
|
|
103
112
|
export interface TableRemoteSource<TRow extends GenericObject = GenericObject, TContext extends GenericObject = GenericObject, TResult = TableSourceExecutionResult<TRow, TableKnownFieldPath<TRow> | string> | TableOffsetPageResult<TRow, TableKnownFieldPath<TRow> | string> | TableCursorPageResult<TRow, TableKnownFieldPath<TRow> | string>> {
|
|
104
113
|
mode: 'remote';
|
|
105
|
-
query: (
|
|
114
|
+
query: (request: TableRemoteSourceRequest<TRow>, context: TContext) => TableQueryDefinition<TResult>;
|
|
106
115
|
facets?: TableRemoteFacetSource<TRow, TContext>;
|
|
107
116
|
}
|
|
108
117
|
export type TableSource<TRow extends GenericObject = GenericObject, TContext extends GenericObject = GenericObject, TResult = TableSourceExecutionResult<TRow> | TRow[]> = TableClientSource<TRow, TContext, Extract<TResult, TableSourceExecutionResult<TRow> | TRow[]> extends never ? TableSourceExecutionResult<TRow> | TRow[] : Extract<TResult, TableSourceExecutionResult<TRow> | TRow[]>> | TableRemoteSource<TRow, TContext, Extract<TResult, TableSourceExecutionResult<TRow, TableKnownFieldPath<TRow> | string> | TableOffsetPageResult<TRow, TableKnownFieldPath<TRow> | string> | TableCursorPageResult<TRow, TableKnownFieldPath<TRow> | string>> extends never ? TableSourceExecutionResult<TRow, TableKnownFieldPath<TRow> | string> | TableOffsetPageResult<TRow, TableKnownFieldPath<TRow> | string> | TableCursorPageResult<TRow, TableKnownFieldPath<TRow> | string> : Extract<TResult, TableSourceExecutionResult<TRow, TableKnownFieldPath<TRow> | string> | TableOffsetPageResult<TRow, TableKnownFieldPath<TRow> | string> | TableCursorPageResult<TRow, TableKnownFieldPath<TRow> | string>>>;
|
|
@@ -1,9 +1,5 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { GenericObject, TableClientSource, TableCursorPageResult, TableGlobalFacetDescriptor, TableOffsetPageResult, TablePaginationState,
|
|
3
|
-
interface TableSourceRowsResult {
|
|
4
|
-
rows: readonly GenericObject[];
|
|
5
|
-
}
|
|
6
|
-
type TableSourceResult = readonly GenericObject[] | TableSourceRowsResult;
|
|
1
|
+
import type { QueryKey, UseQueryOptions } from '@tanstack/vue-query';
|
|
2
|
+
import type { GenericObject, TableClientSource, TableCursorPageResult, TableGlobalFacetDescriptor, TableOffsetPageResult, TablePaginationState, TableRemoteSource, TableRemoteSourceRequest, TableResolvedFilterGroup, TableRowsFromSourceResult, TableSourceExecutionResult, TableSortingRule } from '../../types/index.js';
|
|
7
3
|
type TableSourceRow<TResult> = TableRowsFromSourceResult<Awaited<TResult>> extends infer TRow ? TRow extends GenericObject ? TRow : GenericObject : GenericObject;
|
|
8
4
|
type ClientTableSourceResult<TResult> = TResult extends readonly GenericObject[] ? TableSourceRow<TResult>[] : TableSourceExecutionResult<TableSourceRow<TResult>>;
|
|
9
5
|
type RemoteTableSourceResult<TResult> = TResult extends {
|
|
@@ -26,16 +22,19 @@ interface TableSourceInferenceContext {
|
|
|
26
22
|
context: GenericObject;
|
|
27
23
|
facets?: TableGlobalFacetDescriptor<never>[];
|
|
28
24
|
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
}
|
|
32
|
-
|
|
25
|
+
interface TableSourceQueryDefinition {
|
|
26
|
+
queryKey: QueryKey;
|
|
27
|
+
}
|
|
28
|
+
type TableSourceQueryResult<TQuery> = TQuery extends {
|
|
29
|
+
queryFn: (...args: never[]) => infer TResult;
|
|
30
|
+
} ? Awaited<TResult> : TQuery extends UseQueryOptions<infer _TQueryFnData, infer _TError, infer TResult, infer _TQueryData, infer _TQueryKey> ? Awaited<TResult> : never;
|
|
31
|
+
interface ClientTableSourceInput<TQuery extends TableSourceQueryDefinition> {
|
|
33
32
|
mode?: 'client';
|
|
34
|
-
query: (context: TableSourceInferenceContext) =>
|
|
33
|
+
query: (context: TableSourceInferenceContext) => TQuery;
|
|
35
34
|
}
|
|
36
|
-
interface RemoteTableSourceInput<
|
|
35
|
+
interface RemoteTableSourceInput<TQuery extends TableSourceQueryDefinition> {
|
|
37
36
|
mode: 'remote';
|
|
38
|
-
query: (context:
|
|
37
|
+
query: (request: TableRemoteSourceRequest<GenericObject, string>, context: GenericObject) => TQuery;
|
|
39
38
|
facets?: TableRemoteSource['facets'];
|
|
40
39
|
}
|
|
41
40
|
/**
|
|
@@ -55,6 +54,6 @@ interface RemoteTableSourceInput<TResult extends TableSourceRowsResult> {
|
|
|
55
54
|
* })
|
|
56
55
|
* ```
|
|
57
56
|
*/
|
|
58
|
-
export declare function tableSource<
|
|
59
|
-
export declare function tableSource<
|
|
57
|
+
export declare function tableSource<TQuery extends TableSourceQueryDefinition>(source: RemoteTableSourceInput<TQuery>): TableRemoteSource<TableSourceRow<TableSourceQueryResult<TQuery>>, GenericObject, RemoteTableSourceResult<TableSourceQueryResult<TQuery>>>;
|
|
58
|
+
export declare function tableSource<TQuery extends TableSourceQueryDefinition>(source: ClientTableSourceInput<TQuery>): TableClientSource<TableSourceRow<TableSourceQueryResult<TQuery>>, GenericObject, ClientTableSourceResult<TableSourceQueryResult<TQuery>>>;
|
|
60
59
|
export {};
|
|
@@ -13,7 +13,7 @@ export declare function executeClientFacets<TRow extends GenericObject = Generic
|
|
|
13
13
|
export declare function filterClientRows<TRow extends GenericObject>(params: {
|
|
14
14
|
rows: Iterable<TRow>;
|
|
15
15
|
filters: TableResolvedFilterGroup<string>;
|
|
16
|
-
search: TableSourceRequestContext
|
|
16
|
+
search: TableSourceRequestContext['search'];
|
|
17
17
|
}): TRow[];
|
|
18
18
|
export declare function sortClientRows<TRow extends GenericObject>(params: {
|
|
19
19
|
rows: Iterable<TRow>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/** @jsxImportSource vue */
|
|
2
2
|
import type { DropdownMenuItem } from '@nuxt/ui/components/DropdownMenu.vue';
|
|
3
|
-
import type
|
|
3
|
+
import { type VNodeChild } from 'vue';
|
|
4
4
|
import type { GenericObject } from '../../types/index.js';
|
|
5
5
|
import type { SchemaTableColumn, TableColumnRenderParams, TableRuntimeColumn, UseTableColumnsParams } from './types.js';
|
|
6
6
|
export declare function createSelectionColumn(options: {
|
|
@@ -55,7 +55,9 @@ export declare function createDataColumns(options: {
|
|
|
55
55
|
original: GenericObject;
|
|
56
56
|
index: number;
|
|
57
57
|
};
|
|
58
|
-
}) => import("vue
|
|
58
|
+
}) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
59
|
+
[key: string]: any;
|
|
60
|
+
}>;
|
|
59
61
|
enableHiding: boolean;
|
|
60
62
|
enablePinning: boolean;
|
|
61
63
|
enableResizing: boolean;
|
|
@@ -88,7 +90,9 @@ export declare function createDataColumns(options: {
|
|
|
88
90
|
original: GenericObject;
|
|
89
91
|
index: number;
|
|
90
92
|
};
|
|
91
|
-
}) => import("vue
|
|
93
|
+
}) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
94
|
+
[key: string]: any;
|
|
95
|
+
}>;
|
|
92
96
|
enableHiding: boolean;
|
|
93
97
|
enablePinning: boolean;
|
|
94
98
|
enableResizing: boolean;
|
|
@@ -134,7 +138,9 @@ export declare function createDataColumns(options: {
|
|
|
134
138
|
minSize: number;
|
|
135
139
|
size: number | undefined;
|
|
136
140
|
})[];
|
|
137
|
-
export declare function renderColumnCell(options: TableColumnRenderParams): import("vue
|
|
141
|
+
export declare function renderColumnCell(options: TableColumnRenderParams): import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
142
|
+
[key: string]: any;
|
|
143
|
+
}>;
|
|
138
144
|
export declare function wrapEllipsisContent(options: {
|
|
139
145
|
column: SchemaTableColumn;
|
|
140
146
|
content: VNodeChild;
|
|
@@ -157,7 +163,9 @@ export declare function createRowActionsColumn(options: {
|
|
|
157
163
|
original: GenericObject;
|
|
158
164
|
index: number;
|
|
159
165
|
};
|
|
160
|
-
}) => import("vue
|
|
166
|
+
}) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
167
|
+
[key: string]: any;
|
|
168
|
+
}>;
|
|
161
169
|
enableHiding: boolean;
|
|
162
170
|
enablePinning: boolean;
|
|
163
171
|
enableResizing: boolean;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { jsx } from "vue/jsx-runtime";
|
|
2
|
+
import { h } from "vue";
|
|
2
3
|
import {
|
|
3
4
|
isArray,
|
|
4
5
|
isFunction,
|
|
@@ -258,7 +259,7 @@ export function createRowActionsColumn(options) {
|
|
|
258
259
|
row: row.original,
|
|
259
260
|
rowIndex: row.index
|
|
260
261
|
});
|
|
261
|
-
return
|
|
262
|
+
return h(TableRowScopeProvider, { scope }, { default: () => /* @__PURE__ */ jsx(TableRowActionsControl, {}) });
|
|
262
263
|
},
|
|
263
264
|
enableHiding: false,
|
|
264
265
|
enablePinning: true,
|
|
@@ -288,7 +289,7 @@ export function createRowActionsColumn(options) {
|
|
|
288
289
|
};
|
|
289
290
|
}
|
|
290
291
|
function wrapRowScope(options) {
|
|
291
|
-
return
|
|
292
|
+
return h(TableRowScopeProvider, { scope: options.scope }, { default: () => options.content });
|
|
292
293
|
}
|
|
293
294
|
function resolvePlainRenderContext(params) {
|
|
294
295
|
const contextSource = params.data.contextData.value;
|
|
@@ -1,58 +1,58 @@
|
|
|
1
1
|
const filterEditorSizeClasses = {
|
|
2
2
|
lg: {
|
|
3
|
-
editor: "w-[min(
|
|
3
|
+
editor: "w-[min(22rem,calc(100vw-1rem))] min-w-52 max-w-[calc(100vw-1rem)]",
|
|
4
4
|
empty: "px-3 py-8 text-sm",
|
|
5
5
|
footer: "p-2",
|
|
6
6
|
option: "gap-3 px-3 py-2 text-sm",
|
|
7
7
|
optionIcon: "size-4",
|
|
8
8
|
optionLabel: "text-sm",
|
|
9
9
|
scrollArea: "p-2",
|
|
10
|
-
searchHeader: "p-
|
|
10
|
+
searchHeader: "p-1.5",
|
|
11
11
|
skeletonCount: "h-3.5 w-6",
|
|
12
12
|
skeletonLine: "h-3.5",
|
|
13
13
|
wideEditor: "w-[min(42rem,calc(100vw-1rem))] min-w-[min(21rem,calc(100vw-1rem))] max-w-[calc(100vw-1rem)]"
|
|
14
14
|
},
|
|
15
15
|
md: {
|
|
16
|
-
editor: "w-[min(
|
|
16
|
+
editor: "w-[min(20rem,calc(100vw-1rem))] min-w-48 max-w-[calc(100vw-1rem)]",
|
|
17
17
|
empty: "px-2.5 py-6 text-[13px]",
|
|
18
18
|
footer: "p-1.5",
|
|
19
19
|
option: "gap-2.5 px-2.5 py-1.5 text-[13px]",
|
|
20
20
|
optionIcon: "size-3.5",
|
|
21
21
|
optionLabel: "text-[13px]",
|
|
22
22
|
scrollArea: "p-1.5",
|
|
23
|
-
searchHeader: "p-1
|
|
23
|
+
searchHeader: "p-1",
|
|
24
24
|
skeletonCount: "h-3 w-5",
|
|
25
25
|
skeletonLine: "h-3",
|
|
26
26
|
wideEditor: "w-[min(38rem,calc(100vw-1rem))] min-w-[min(20rem,calc(100vw-1rem))] max-w-[calc(100vw-1rem)]"
|
|
27
27
|
},
|
|
28
28
|
sm: {
|
|
29
|
-
editor: "w-[min(
|
|
29
|
+
editor: "w-[min(18rem,calc(100vw-1rem))] min-w-44 max-w-[calc(100vw-1rem)]",
|
|
30
30
|
empty: "px-2.5 py-5 text-xs",
|
|
31
31
|
footer: "p-1.5",
|
|
32
32
|
option: "gap-2 px-2 py-1 text-xs",
|
|
33
33
|
optionIcon: "size-3.5",
|
|
34
34
|
optionLabel: "text-xs",
|
|
35
35
|
scrollArea: "p-1",
|
|
36
|
-
searchHeader: "p-1
|
|
36
|
+
searchHeader: "p-1",
|
|
37
37
|
skeletonCount: "h-3 w-5",
|
|
38
38
|
skeletonLine: "h-3",
|
|
39
39
|
wideEditor: "w-[min(34rem,calc(100vw-1rem))] min-w-[min(19rem,calc(100vw-1rem))] max-w-[calc(100vw-1rem)]"
|
|
40
40
|
},
|
|
41
41
|
xl: {
|
|
42
|
-
editor: "w-[min(
|
|
42
|
+
editor: "w-[min(24rem,calc(100vw-1rem))] min-w-60 max-w-[calc(100vw-1rem)]",
|
|
43
43
|
empty: "px-4 py-10 text-base",
|
|
44
44
|
footer: "p-3",
|
|
45
45
|
option: "gap-3.5 px-4 py-3 text-base",
|
|
46
46
|
optionIcon: "size-5",
|
|
47
47
|
optionLabel: "text-base",
|
|
48
48
|
scrollArea: "p-3",
|
|
49
|
-
searchHeader: "p-
|
|
49
|
+
searchHeader: "p-2",
|
|
50
50
|
skeletonCount: "h-4 w-7",
|
|
51
51
|
skeletonLine: "h-4",
|
|
52
52
|
wideEditor: "w-[min(46rem,calc(100vw-1rem))] min-w-[min(22rem,calc(100vw-1rem))] max-w-[calc(100vw-1rem)]"
|
|
53
53
|
},
|
|
54
54
|
xs: {
|
|
55
|
-
editor: "w-[min(
|
|
55
|
+
editor: "w-[min(16rem,calc(100vw-1rem))] min-w-44 max-w-[calc(100vw-1rem)]",
|
|
56
56
|
empty: "px-2 py-4 text-xs",
|
|
57
57
|
footer: "p-1",
|
|
58
58
|
option: "gap-1.5 px-1.5 py-1 text-xs",
|
|
@@ -20,7 +20,12 @@ export function resolveFilterOptionEntries(options) {
|
|
|
20
20
|
if (options.definition.kind !== "option") {
|
|
21
21
|
return [];
|
|
22
22
|
}
|
|
23
|
-
const
|
|
23
|
+
const configuredOptions = options.options ?? options.definition.source?.options ?? [];
|
|
24
|
+
const sourceOptions = configuredOptions.length ? configuredOptions : (options.facetCounts ?? []).map((entry) => ({
|
|
25
|
+
count: entry.count,
|
|
26
|
+
label: String(entry.value),
|
|
27
|
+
value: entry.value
|
|
28
|
+
}));
|
|
24
29
|
const countByValue = new Map(
|
|
25
30
|
(options.facetCounts ?? []).map((entry) => [String(entry.value), entry.count])
|
|
26
31
|
);
|
|
@@ -26,6 +26,7 @@ import {
|
|
|
26
26
|
resolveFilterSupportedOperators
|
|
27
27
|
} from "./query-state.js";
|
|
28
28
|
import { createResolvedFilterState } from "./resolved-filters.js";
|
|
29
|
+
import { toTableRemoteSourceRequest } from "./source-request.js";
|
|
29
30
|
export function prefetchTable(params) {
|
|
30
31
|
if (!isTableSchemaView(params.schema)) {
|
|
31
32
|
throw new Error("Invalid table schema: expected a source query definition");
|
|
@@ -130,7 +131,10 @@ function resolveTableQueries(options) {
|
|
|
130
131
|
return Object.fromEntries(entries);
|
|
131
132
|
}
|
|
132
133
|
function resolveSourcePrefetchQuery(options) {
|
|
133
|
-
const definition = options.schema.source.query(
|
|
134
|
+
const definition = options.schema.source.mode === "remote" ? options.schema.source.query(
|
|
135
|
+
toTableRemoteSourceRequest(options.request),
|
|
136
|
+
options.request.context
|
|
137
|
+
) : options.schema.source.query(options.request);
|
|
134
138
|
if (options.request.pagination.mode !== "cursor" || !definition.queryFn) return definition;
|
|
135
139
|
const queryFn = definition.queryFn;
|
|
136
140
|
return {
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export function toTableRemoteSourceRequest(request) {
|
|
2
|
+
return {
|
|
3
|
+
facets: request.facets,
|
|
4
|
+
filters: request.filters.children.length > 0 ? [request.filters] : [],
|
|
5
|
+
pagination: request.pagination.mode === "none" ? void 0 : request.pagination,
|
|
6
|
+
search: request.search,
|
|
7
|
+
sorting: request.sorting
|
|
8
|
+
};
|
|
9
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nuxt-ui-tools",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"description": "Nuxt module and runtime toolkit for UI-heavy Nuxt applications",
|
|
5
5
|
"homepage": "https://github.com/ChronicStone/nuxt-ui-tools#readme",
|
|
6
6
|
"bugs": "https://github.com/ChronicStone/nuxt-ui-tools/issues",
|