@zengrid/core 1.1.0 → 1.2.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/index.cjs.js +19925 -16577
- package/dist/index.esm.js +19899 -16577
- package/dist/package.json +5 -2
- package/dist/src/data/data-accessor/array-accessor.d.ts.map +1 -1
- package/dist/src/data/data-manager.d.ts +5 -7
- package/dist/src/data/data-manager.d.ts.map +1 -1
- package/dist/src/datetime-core/popup/popup-manager.d.ts +4 -12
- package/dist/src/datetime-core/popup/popup-manager.d.ts.map +1 -1
- package/dist/src/editing/datetime/date-editor/date-editor.d.ts +1 -0
- package/dist/src/editing/datetime/date-editor/date-editor.d.ts.map +1 -1
- package/dist/src/editing/datetime/date-range-editor/date-range-calendar.d.ts.map +1 -1
- package/dist/src/editing/datetime/date-range-editor/date-range-dom.d.ts.map +1 -1
- package/dist/src/editing/datetime/date-range-editor/date-range-validation.d.ts.map +1 -1
- package/dist/src/editing/datetime/date-range-editor/types.d.ts +0 -3
- package/dist/src/editing/datetime/date-range-editor/types.d.ts.map +1 -1
- package/dist/src/events/grid-events.d.ts +4 -0
- package/dist/src/events/grid-events.d.ts.map +1 -1
- package/dist/src/features/column-drag/column-drag.styles.css +8 -18
- package/dist/src/features/column-drag/drop-zone-detector.d.ts.map +1 -1
- package/dist/src/features/column-resize/column-resize.styles.css +5 -4
- package/dist/src/features/column-resize/programmatic-operations.d.ts +1 -1
- package/dist/src/features/column-resize/programmatic-operations.d.ts.map +1 -1
- package/dist/src/features/filtering/filter-ast-compiler.d.ts +30 -0
- package/dist/src/features/filtering/filter-ast-compiler.d.ts.map +1 -0
- package/dist/src/features/filtering/filter-ast.d.ts +39 -0
- package/dist/src/features/filtering/filter-ast.d.ts.map +1 -0
- package/dist/src/features/filtering/filter-export-manager.d.ts +0 -8
- package/dist/src/features/filtering/filter-export-manager.d.ts.map +1 -1
- package/dist/src/features/filtering/filter-expression.d.ts +15 -0
- package/dist/src/features/filtering/filter-expression.d.ts.map +1 -0
- package/dist/src/features/filtering/filter-manager/filter-core.d.ts +63 -11
- package/dist/src/features/filtering/filter-manager/filter-core.d.ts.map +1 -1
- package/dist/src/features/filtering/filter-manager/filter-export.d.ts +3 -49
- package/dist/src/features/filtering/filter-manager/filter-export.d.ts.map +1 -1
- package/dist/src/features/filtering/filter-manager/filter-optimizer.d.ts.map +1 -1
- package/dist/src/features/filtering/filter-manager/filter-query.d.ts +14 -48
- package/dist/src/features/filtering/filter-manager/filter-query.d.ts.map +1 -1
- package/dist/src/features/filtering/filter-manager/index.d.ts +11 -129
- package/dist/src/features/filtering/filter-manager/index.d.ts.map +1 -1
- package/dist/src/features/filtering/filter-manager/types.d.ts +0 -11
- package/dist/src/features/filtering/filter-manager/types.d.ts.map +1 -1
- package/dist/src/features/filtering/filter-query-parser.d.ts +10 -50
- package/dist/src/features/filtering/filter-query-parser.d.ts.map +1 -1
- package/dist/src/features/filtering/index.d.ts +3 -0
- package/dist/src/features/filtering/index.d.ts.map +1 -1
- package/dist/src/features/loading/loading.styles.css +19 -90
- package/dist/src/features/pagination/pagination.styles.css +34 -74
- package/dist/src/features/query/query-state.d.ts +12 -0
- package/dist/src/features/query/query-state.d.ts.map +1 -0
- package/dist/src/features/sorting/sort-manager.d.ts +9 -23
- package/dist/src/features/sorting/sort-manager.d.ts.map +1 -1
- package/dist/src/features/sorting/sort-request.d.ts +5 -0
- package/dist/src/features/sorting/sort-request.d.ts.map +1 -0
- package/dist/src/grid/api/column-api.d.ts +23 -0
- package/dist/src/grid/api/column-api.d.ts.map +1 -0
- package/dist/src/grid/api/export-api.d.ts +9 -0
- package/dist/src/grid/api/export-api.d.ts.map +1 -0
- package/dist/src/grid/api/filter-api.d.ts +28 -0
- package/dist/src/grid/api/filter-api.d.ts.map +1 -0
- package/dist/src/grid/api/index.d.ts +15 -0
- package/dist/src/grid/api/index.d.ts.map +1 -0
- package/dist/src/grid/api/pagination-api.d.ts +14 -0
- package/dist/src/grid/api/pagination-api.d.ts.map +1 -0
- package/dist/src/grid/api/scroll-api.d.ts +26 -0
- package/dist/src/grid/api/scroll-api.d.ts.map +1 -0
- package/dist/src/grid/api/sort-api.d.ts +17 -0
- package/dist/src/grid/api/sort-api.d.ts.map +1 -0
- package/dist/src/grid/api/state-api.d.ts +10 -0
- package/dist/src/grid/api/state-api.d.ts.map +1 -0
- package/dist/src/grid/filter-ui.d.ts +34 -5
- package/dist/src/grid/filter-ui.d.ts.map +1 -1
- package/dist/src/grid/grid-api.d.ts +0 -3
- package/dist/src/grid/grid-api.d.ts.map +1 -1
- package/dist/src/grid/grid-context.d.ts +5 -29
- package/dist/src/grid/grid-context.d.ts.map +1 -1
- package/dist/src/grid/grid-core.d.ts +92 -95
- package/dist/src/grid/grid-core.d.ts.map +1 -1
- package/dist/src/grid/grid-setup.d.ts +3 -3
- package/dist/src/grid/grid-setup.d.ts.map +1 -1
- package/dist/src/grid/grid-theme-methods.d.ts +17 -0
- package/dist/src/grid/grid-theme-methods.d.ts.map +1 -0
- package/dist/src/grid/index.d.ts +5 -10
- package/dist/src/grid/index.d.ts.map +1 -1
- package/dist/src/index.d.ts +21 -3
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/overlay/index.d.ts +2 -0
- package/dist/src/overlay/index.d.ts.map +1 -0
- package/dist/src/overlay/overlay-manager.d.ts +46 -0
- package/dist/src/overlay/overlay-manager.d.ts.map +1 -0
- package/dist/src/plugins/async-filter-plugin.d.ts.map +1 -1
- package/dist/src/plugins/async-sort-plugin.d.ts.map +1 -1
- package/dist/src/plugins/column/column-plugin.d.ts +18 -0
- package/dist/src/plugins/column/column-plugin.d.ts.map +1 -0
- package/dist/src/{grid → plugins/column}/grid-state.d.ts +2 -2
- package/dist/src/plugins/column/grid-state.d.ts.map +1 -0
- package/dist/src/plugins/column/index.d.ts +3 -0
- package/dist/src/plugins/column/index.d.ts.map +1 -0
- package/dist/src/plugins/data-plugin.d.ts +14 -0
- package/dist/src/plugins/data-plugin.d.ts.map +1 -0
- package/dist/src/plugins/dom/dom-plugin.d.ts +14 -0
- package/dist/src/plugins/dom/dom-plugin.d.ts.map +1 -0
- package/dist/src/plugins/dom/index.d.ts +3 -0
- package/dist/src/plugins/dom/index.d.ts.map +1 -0
- package/dist/src/plugins/editing/editing-plugin.d.ts +11 -12
- package/dist/src/plugins/editing/editing-plugin.d.ts.map +1 -1
- package/dist/src/plugins/filter-plugin.d.ts +1 -1
- package/dist/src/plugins/filter-plugin.d.ts.map +1 -1
- package/dist/src/plugins/filter-ui/filter-ui-plugin.d.ts +1 -0
- package/dist/src/plugins/filter-ui/filter-ui-plugin.d.ts.map +1 -1
- package/dist/src/{grid → plugins/header}/header-dom-operations.d.ts +3 -3
- package/dist/src/plugins/header/header-dom-operations.d.ts.map +1 -0
- package/dist/src/{grid → plugins/header}/header-event-handlers.d.ts +3 -3
- package/dist/src/plugins/header/header-event-handlers.d.ts.map +1 -0
- package/dist/src/plugins/header/header-plugin.d.ts +18 -0
- package/dist/src/plugins/header/header-plugin.d.ts.map +1 -0
- package/dist/src/{grid → plugins/header}/header-reactive-subscription.d.ts +1 -1
- package/dist/src/plugins/header/header-reactive-subscription.d.ts.map +1 -0
- package/dist/src/{grid → plugins/header}/header-registry-setup.d.ts +1 -1
- package/dist/src/plugins/header/header-registry-setup.d.ts.map +1 -0
- package/dist/src/{grid → plugins/header}/header-render-params.d.ts +4 -4
- package/dist/src/plugins/header/header-render-params.d.ts.map +1 -0
- package/dist/src/{grid → plugins/header}/header-rendering.d.ts +2 -2
- package/dist/src/plugins/header/header-rendering.d.ts.map +1 -0
- package/dist/src/{grid → plugins/header}/header-types.d.ts +5 -5
- package/dist/src/plugins/header/header-types.d.ts.map +1 -0
- package/dist/src/plugins/header/index.d.ts +3 -0
- package/dist/src/plugins/header/index.d.ts.map +1 -0
- package/dist/src/plugins/index.d.ts +14 -1
- package/dist/src/plugins/index.d.ts.map +1 -1
- package/dist/src/plugins/infinite-scroll/infinite-scroll-plugin.d.ts +4 -2
- package/dist/src/plugins/infinite-scroll/infinite-scroll-plugin.d.ts.map +1 -1
- package/dist/src/plugins/legacy-bridge/devtools-connector.d.ts.map +1 -1
- package/dist/src/plugins/legacy-bridge/index.d.ts +0 -1
- package/dist/src/plugins/legacy-bridge/index.d.ts.map +1 -1
- package/dist/src/plugins/lifecycle/index.d.ts +3 -0
- package/dist/src/plugins/lifecycle/index.d.ts.map +1 -0
- package/dist/src/plugins/lifecycle/lifecycle-plugin.d.ts +19 -0
- package/dist/src/plugins/lifecycle/lifecycle-plugin.d.ts.map +1 -0
- package/dist/src/plugins/pagination/index.d.ts +3 -0
- package/dist/src/plugins/pagination/index.d.ts.map +1 -0
- package/dist/src/plugins/pagination/pagination-plugin.d.ts +13 -0
- package/dist/src/plugins/pagination/pagination-plugin.d.ts.map +1 -0
- package/dist/src/plugins/rendering/index.d.ts +3 -0
- package/dist/src/plugins/rendering/index.d.ts.map +1 -0
- package/dist/src/plugins/rendering/rendering-plugin.d.ts +22 -0
- package/dist/src/plugins/rendering/rendering-plugin.d.ts.map +1 -0
- package/dist/src/plugins/resize/resize-plugin.d.ts.map +1 -1
- package/dist/src/plugins/scroll/scroll-plugin.d.ts.map +1 -1
- package/dist/src/plugins/selection/selection-plugin.d.ts.map +1 -1
- package/dist/src/plugins/sort-plugin.d.ts +3 -2
- package/dist/src/plugins/sort-plugin.d.ts.map +1 -1
- package/dist/src/reactive/debug.d.ts +3 -0
- package/dist/src/reactive/debug.d.ts.map +1 -1
- package/dist/src/reactive/store.d.ts +3 -1
- package/dist/src/reactive/store.d.ts.map +1 -1
- package/dist/src/reactive/types.d.ts +5 -2
- package/dist/src/reactive/types.d.ts.map +1 -1
- package/dist/src/rendering/cache/renderer-cache.d.ts +4 -0
- package/dist/src/rendering/cache/renderer-cache.d.ts.map +1 -1
- package/dist/src/rendering/cell-positioner/cell-positioner.d.ts +5 -0
- package/dist/src/rendering/cell-positioner/cell-positioner.d.ts.map +1 -1
- package/dist/src/rendering/cell-positioner/cell-positioner.interface.d.ts +9 -0
- package/dist/src/rendering/cell-positioner/cell-positioner.interface.d.ts.map +1 -1
- package/dist/src/rendering/headers/renderers/filterable-header-renderer.d.ts.map +1 -1
- package/dist/src/rendering/headers/renderers/sortable-header-renderer.d.ts +4 -1
- package/dist/src/rendering/headers/renderers/sortable-header-renderer.d.ts.map +1 -1
- package/dist/src/rendering/renderers/button/button-renderer.d.ts.map +1 -1
- package/dist/src/rendering/renderers/chip/chip-renderer.d.ts.map +1 -1
- package/dist/src/rendering/renderers/date-range/date-range-renderer.d.ts.map +1 -1
- package/dist/src/rendering/renderers/datetime/date-renderer.d.ts.map +1 -1
- package/dist/src/rendering/renderers/dropdown/dropdown-dom.d.ts +1 -1
- package/dist/src/rendering/renderers/dropdown/dropdown-dom.d.ts.map +1 -1
- package/dist/src/rendering/renderers/dropdown/dropdown-events.d.ts.map +1 -1
- package/dist/src/rendering/renderers/dropdown/dropdown-renderer.d.ts.map +1 -1
- package/dist/src/rendering/renderers/dropdown/dropdown-state.d.ts +10 -6
- package/dist/src/rendering/renderers/dropdown/dropdown-state.d.ts.map +1 -1
- package/dist/src/rendering/virtual-scroller/virtual-scroller.d.ts +4 -0
- package/dist/src/rendering/virtual-scroller/virtual-scroller.d.ts.map +1 -1
- package/dist/src/rendering/width-provider/column-model-width-provider.d.ts +6 -7
- package/dist/src/rendering/width-provider/column-model-width-provider.d.ts.map +1 -1
- package/dist/src/styles/grid.css +362 -362
- package/dist/src/styles.css +183 -45
- package/dist/src/theming/color-utils.d.ts +10 -0
- package/dist/src/theming/color-utils.d.ts.map +1 -0
- package/dist/src/theming/index.d.ts +10 -0
- package/dist/src/theming/index.d.ts.map +1 -0
- package/dist/src/theming/theme-builder.d.ts +46 -0
- package/dist/src/theming/theme-builder.d.ts.map +1 -0
- package/dist/src/theming/theme-manager.d.ts +11 -0
- package/dist/src/theming/theme-manager.d.ts.map +1 -0
- package/dist/src/theming/theme-registry.d.ts +17 -0
- package/dist/src/theming/theme-registry.d.ts.map +1 -0
- package/dist/src/theming/theme.interface.d.ts +88 -0
- package/dist/src/theming/theme.interface.d.ts.map +1 -0
- package/dist/src/theming/themes/dark.d.ts +3 -0
- package/dist/src/theming/themes/dark.d.ts.map +1 -0
- package/dist/src/theming/themes/dracula.d.ts +3 -0
- package/dist/src/theming/themes/dracula.d.ts.map +1 -0
- package/dist/src/theming/themes/github.d.ts +3 -0
- package/dist/src/theming/themes/github.d.ts.map +1 -0
- package/dist/src/theming/themes/index.d.ts +14 -0
- package/dist/src/theming/themes/index.d.ts.map +1 -0
- package/dist/src/theming/themes/light.d.ts +3 -0
- package/dist/src/theming/themes/light.d.ts.map +1 -0
- package/dist/src/theming/themes/material.d.ts +3 -0
- package/dist/src/theming/themes/material.d.ts.map +1 -0
- package/dist/src/theming/themes/nord.d.ts +3 -0
- package/dist/src/theming/themes/nord.d.ts.map +1 -0
- package/dist/src/theming/themes/one-dark.d.ts +3 -0
- package/dist/src/theming/themes/one-dark.d.ts.map +1 -0
- package/dist/src/theming/themes/solarized.d.ts +3 -0
- package/dist/src/theming/themes/solarized.d.ts.map +1 -0
- package/dist/src/types/data.d.ts +34 -60
- package/dist/src/types/data.d.ts.map +1 -1
- package/dist/src/types/filter.d.ts +107 -35
- package/dist/src/types/filter.d.ts.map +1 -1
- package/dist/src/types/grid.d.ts +11 -46
- package/dist/src/types/grid.d.ts.map +1 -1
- package/dist/src/types/index.d.ts +1 -0
- package/dist/src/types/index.d.ts.map +1 -1
- package/dist/src/types/query.d.ts +64 -0
- package/dist/src/types/query.d.ts.map +1 -0
- package/dist/src/types/sort.d.ts +9 -6
- package/dist/src/types/sort.d.ts.map +1 -1
- package/package.json +7 -4
- package/dist/src/editing/date-range/calendar-manager.d.ts +0 -17
- package/dist/src/editing/date-range/calendar-manager.d.ts.map +0 -1
- package/dist/src/editing/date-range/event-handlers.d.ts +0 -30
- package/dist/src/editing/date-range/event-handlers.d.ts.map +0 -1
- package/dist/src/editing/date-range/formatters.d.ts +0 -26
- package/dist/src/editing/date-range/formatters.d.ts.map +0 -1
- package/dist/src/editing/date-range/positioning.d.ts +0 -14
- package/dist/src/editing/date-range/positioning.d.ts.map +0 -1
- package/dist/src/editing/date-range/types.d.ts +0 -41
- package/dist/src/editing/date-range/types.d.ts.map +0 -1
- package/dist/src/editing/date-range/ui-builder.d.ts +0 -33
- package/dist/src/editing/date-range/ui-builder.d.ts.map +0 -1
- package/dist/src/editing/date-range/validator.d.ts +0 -7
- package/dist/src/editing/date-range/validator.d.ts.map +0 -1
- package/dist/src/grid/data.d.ts +0 -74
- package/dist/src/grid/data.d.ts.map +0 -1
- package/dist/src/grid/dom.d.ts +0 -37
- package/dist/src/grid/dom.d.ts.map +0 -1
- package/dist/src/grid/drag.d.ts +0 -50
- package/dist/src/grid/drag.d.ts.map +0 -1
- package/dist/src/grid/grid-column-methods.d.ts +0 -37
- package/dist/src/grid/grid-column-methods.d.ts.map +0 -1
- package/dist/src/grid/grid-editing.d.ts +0 -43
- package/dist/src/grid/grid-editing.d.ts.map +0 -1
- package/dist/src/grid/grid-filter-methods.d.ts +0 -24
- package/dist/src/grid/grid-filter-methods.d.ts.map +0 -1
- package/dist/src/grid/grid-header-methods.d.ts +0 -10
- package/dist/src/grid/grid-header-methods.d.ts.map +0 -1
- package/dist/src/grid/grid-lifecycle.d.ts +0 -10
- package/dist/src/grid/grid-lifecycle.d.ts.map +0 -1
- package/dist/src/grid/grid-sort-methods.d.ts +0 -17
- package/dist/src/grid/grid-sort-methods.d.ts.map +0 -1
- package/dist/src/grid/grid-state.d.ts.map +0 -1
- package/dist/src/grid/grid-wiring.d.ts +0 -11
- package/dist/src/grid/grid-wiring.d.ts.map +0 -1
- package/dist/src/grid/header-dom-operations.d.ts.map +0 -1
- package/dist/src/grid/header-event-handlers.d.ts.map +0 -1
- package/dist/src/grid/header-manager.d.ts +0 -119
- package/dist/src/grid/header-manager.d.ts.map +0 -1
- package/dist/src/grid/header-reactive-subscription.d.ts.map +0 -1
- package/dist/src/grid/header-registry-setup.d.ts.map +0 -1
- package/dist/src/grid/header-render-params.d.ts.map +0 -1
- package/dist/src/grid/header-rendering.d.ts.map +0 -1
- package/dist/src/grid/header-types.d.ts.map +0 -1
- package/dist/src/grid/init.d.ts +0 -56
- package/dist/src/grid/init.d.ts.map +0 -1
- package/dist/src/grid/pagination.d.ts +0 -63
- package/dist/src/grid/pagination.d.ts.map +0 -1
- package/dist/src/grid/resize.d.ts +0 -87
- package/dist/src/grid/resize.d.ts.map +0 -1
- package/dist/src/grid/scroll.d.ts +0 -86
- package/dist/src/grid/scroll.d.ts.map +0 -1
- package/dist/src/plugins/legacy-bridge/legacy-api-plugin.d.ts +0 -3
- package/dist/src/plugins/legacy-bridge/legacy-api-plugin.d.ts.map +0 -1
- package/dist/src/rendering/renderers/date/date-renderer.d.ts +0 -156
- package/dist/src/rendering/renderers/date/date-renderer.d.ts.map +0 -1
- package/dist/src/rendering/renderers/date/index.d.ts +0 -3
- package/dist/src/rendering/renderers/date/index.d.ts.map +0 -1
package/dist/src/types/data.d.ts
CHANGED
|
@@ -1,81 +1,31 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Data loading request/response types
|
|
3
3
|
*/
|
|
4
|
-
import type {
|
|
5
|
-
import type { FilterModel } from './filter';
|
|
4
|
+
import type { QueryState } from './query';
|
|
6
5
|
/**
|
|
7
|
-
* Data loading request parameters
|
|
8
|
-
* Enhanced with field-based filter exports for backend convenience
|
|
6
|
+
* Data loading request parameters.
|
|
9
7
|
*/
|
|
10
8
|
export interface DataLoadRequest {
|
|
11
9
|
/**
|
|
12
|
-
* Start row index
|
|
10
|
+
* Start row index of the requested window.
|
|
13
11
|
*/
|
|
14
12
|
startRow: number;
|
|
15
13
|
/**
|
|
16
|
-
* End row index
|
|
14
|
+
* End row index of the requested window.
|
|
17
15
|
*/
|
|
18
16
|
endRow: number;
|
|
19
17
|
/**
|
|
20
|
-
*
|
|
18
|
+
* Monotonic identifier for this request lifecycle.
|
|
21
19
|
*/
|
|
22
|
-
|
|
20
|
+
requestId?: number;
|
|
23
21
|
/**
|
|
24
|
-
*
|
|
25
|
-
* @deprecated Use `filter` field-based format instead
|
|
26
|
-
* Kept for backwards compatibility
|
|
22
|
+
* Abort signal for cancellation-aware backends.
|
|
27
23
|
*/
|
|
28
|
-
|
|
24
|
+
signal?: AbortSignal;
|
|
29
25
|
/**
|
|
30
|
-
*
|
|
31
|
-
* Uses field names instead of column indices
|
|
26
|
+
* Canonical query envelope for filter, sort, and pagination state.
|
|
32
27
|
*/
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* Pre-computed filter exports (NEW)
|
|
36
|
-
* Ready-to-use formats for backend queries
|
|
37
|
-
*
|
|
38
|
-
* @example REST
|
|
39
|
-
* ```typescript
|
|
40
|
-
* fetch(`/api/users?${request.filterExport.queryString}`)
|
|
41
|
-
* // => /api/users?filter[age][gt]=18
|
|
42
|
-
* ```
|
|
43
|
-
*
|
|
44
|
-
* @example GraphQL
|
|
45
|
-
* ```typescript
|
|
46
|
-
* graphqlClient.query({
|
|
47
|
-
* query: GET_USERS,
|
|
48
|
-
* variables: { where: request.filterExport.graphqlWhere }
|
|
49
|
-
* })
|
|
50
|
-
* ```
|
|
51
|
-
*
|
|
52
|
-
* @example SQL
|
|
53
|
-
* ```typescript
|
|
54
|
-
* db.query(
|
|
55
|
-
* `SELECT * FROM users WHERE ${request.filterExport.sql.whereClause}`,
|
|
56
|
-
* request.filterExport.sql.positionalParams
|
|
57
|
-
* )
|
|
58
|
-
* ```
|
|
59
|
-
*/
|
|
60
|
-
filterExport?: {
|
|
61
|
-
/** REST query string (URL-encoded) */
|
|
62
|
-
queryString: string;
|
|
63
|
-
/** GraphQL where clause */
|
|
64
|
-
graphqlWhere: Record<string, any>;
|
|
65
|
-
/** SQL WHERE clause with parameters */
|
|
66
|
-
sql: import('../features/filtering/adapters/types').SQLFilterExport;
|
|
67
|
-
};
|
|
68
|
-
/**
|
|
69
|
-
* Pagination info (NEW)
|
|
70
|
-
*/
|
|
71
|
-
pagination?: {
|
|
72
|
-
/** Current page (0-based) */
|
|
73
|
-
page: number;
|
|
74
|
-
/** Items per page */
|
|
75
|
-
pageSize: number;
|
|
76
|
-
/** Row offset (startRow) */
|
|
77
|
-
offset: number;
|
|
78
|
-
};
|
|
28
|
+
query: QueryState;
|
|
79
29
|
}
|
|
80
30
|
/**
|
|
81
31
|
* Data loading response
|
|
@@ -98,4 +48,28 @@ export interface DataLoadResponse {
|
|
|
98
48
|
*/
|
|
99
49
|
endRow: number;
|
|
100
50
|
}
|
|
51
|
+
/**
|
|
52
|
+
* Backend data request lifecycle state
|
|
53
|
+
*/
|
|
54
|
+
export interface DataRequestState {
|
|
55
|
+
/** Resolved data mode */
|
|
56
|
+
mode: 'frontend' | 'backend';
|
|
57
|
+
/** Current request status */
|
|
58
|
+
status: 'idle' | 'loading' | 'success' | 'empty' | 'error';
|
|
59
|
+
/** Whether a backend request is currently in flight */
|
|
60
|
+
isLoading: boolean;
|
|
61
|
+
/** Last request error, if any */
|
|
62
|
+
error: Error | null;
|
|
63
|
+
/** Last request sent to the backend */
|
|
64
|
+
lastRequest: DataLoadRequest | null;
|
|
65
|
+
/** Last successfully loaded row window */
|
|
66
|
+
lastLoadedRange: {
|
|
67
|
+
startRow: number;
|
|
68
|
+
endRow: number;
|
|
69
|
+
} | null;
|
|
70
|
+
/** Latest known total row count */
|
|
71
|
+
totalRows: number;
|
|
72
|
+
/** Whether retry is currently possible */
|
|
73
|
+
canRetry: boolean;
|
|
74
|
+
}
|
|
101
75
|
//# sourceMappingURL=data.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../src/types/data.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../src/types/data.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IAErB;;OAEG;IACH,KAAK,EAAE,UAAU,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC;IAEd;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,yBAAyB;IACzB,IAAI,EAAE,UAAU,GAAG,SAAS,CAAC;IAE7B,6BAA6B;IAC7B,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;IAE3D,uDAAuD;IACvD,SAAS,EAAE,OAAO,CAAC;IAEnB,iCAAiC;IACjC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAEpB,uCAAuC;IACvC,WAAW,EAAE,eAAe,GAAG,IAAI,CAAC;IAEpC,0CAA0C;IAC1C,eAAe,EAAE;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;KAChB,GAAG,IAAI,CAAC;IAET,mCAAmC;IACnC,SAAS,EAAE,MAAM,CAAC;IAElB,0CAA0C;IAC1C,QAAQ,EAAE,OAAO,CAAC;CACnB"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Filter types
|
|
3
3
|
*/
|
|
4
|
+
import type { FilterExportResult } from '../features/filtering/adapters/types';
|
|
5
|
+
import type { FieldFilterState, StandardFilterOperator } from '../features/filtering/types';
|
|
4
6
|
/**
|
|
5
7
|
* Filter operator types
|
|
6
8
|
*/
|
|
@@ -20,66 +22,136 @@ export interface FilterModel {
|
|
|
20
22
|
conditions: FilterCondition[];
|
|
21
23
|
logic?: 'AND' | 'OR';
|
|
22
24
|
}
|
|
25
|
+
/**
|
|
26
|
+
* Quick filter state shared across frontend/backend request paths
|
|
27
|
+
*/
|
|
28
|
+
export interface FilterQuickState {
|
|
29
|
+
query: string;
|
|
30
|
+
columns: number[] | null;
|
|
31
|
+
}
|
|
23
32
|
/**
|
|
24
33
|
* SQL-like filter query with parameterization
|
|
25
34
|
* Supports cleaner syntax than FilterModel for complex queries
|
|
26
|
-
*
|
|
27
|
-
* @example
|
|
28
|
-
* ```typescript
|
|
29
|
-
* // Simple query
|
|
30
|
-
* { sql: "age > 18" }
|
|
31
|
-
*
|
|
32
|
-
* // Parameterized query (recommended - prevents injection)
|
|
33
|
-
* {
|
|
34
|
-
* sql: "age > :minAge AND status = :status",
|
|
35
|
-
* params: { minAge: 18, status: 'active' }
|
|
36
|
-
* }
|
|
37
|
-
*
|
|
38
|
-
* // Complex query
|
|
39
|
-
* {
|
|
40
|
-
* sql: "age BETWEEN :min AND :max AND (name LIKE :search OR email LIKE :search)",
|
|
41
|
-
* params: { min: 18, max: 65, search: '%john%' }
|
|
42
|
-
* }
|
|
43
|
-
* ```
|
|
44
35
|
*/
|
|
45
36
|
export interface FilterQuery {
|
|
46
|
-
/**
|
|
47
|
-
* SQL-like query string
|
|
48
|
-
* Supported operators: =, !=, <, >, <=, >=, LIKE, NOT LIKE, BETWEEN, IN, IS NULL, IS NOT NULL
|
|
49
|
-
* Supported logic: AND, OR, NOT, parentheses for grouping
|
|
50
|
-
*/
|
|
51
37
|
sql: string;
|
|
52
|
-
/**
|
|
53
|
-
* Named parameters for the query
|
|
54
|
-
* Use :paramName in sql and provide values here
|
|
55
|
-
* Recommended for security and readability
|
|
56
|
-
*/
|
|
57
38
|
params?: Record<string, any>;
|
|
58
39
|
}
|
|
59
40
|
/**
|
|
60
|
-
*
|
|
61
|
-
|
|
41
|
+
* Canonical value classification for AST predicates.
|
|
42
|
+
*/
|
|
43
|
+
export type FilterValueType = 'text' | 'number' | 'date' | 'boolean' | 'enum' | 'custom' | 'unknown';
|
|
44
|
+
/**
|
|
45
|
+
* Shared target reference for AST predicates and search nodes.
|
|
46
|
+
*
|
|
47
|
+
* The long-term canonical key is `field`, but `column` remains available
|
|
48
|
+
* for compatibility with existing index-based APIs.
|
|
49
|
+
*/
|
|
50
|
+
export interface FilterAstTarget {
|
|
51
|
+
field?: string;
|
|
52
|
+
column?: number;
|
|
53
|
+
columnId?: string;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Base metadata shared across AST nodes.
|
|
57
|
+
*/
|
|
58
|
+
export interface FilterAstBaseNode {
|
|
59
|
+
source?: 'model' | 'field' | 'quickFilter' | 'sql' | 'api';
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Group node for boolean composition.
|
|
63
|
+
*/
|
|
64
|
+
export interface FilterAstGroupNode extends FilterAstBaseNode {
|
|
65
|
+
kind: 'group';
|
|
66
|
+
logic: 'AND' | 'OR';
|
|
67
|
+
children: FilterAstNode[];
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Predicate node for field/column constraints.
|
|
71
|
+
*/
|
|
72
|
+
export interface FilterAstPredicateNode extends FilterAstBaseNode {
|
|
73
|
+
kind: 'predicate';
|
|
74
|
+
target: FilterAstTarget;
|
|
75
|
+
operator: StandardFilterOperator | string;
|
|
76
|
+
value?: any;
|
|
77
|
+
valueTo?: any;
|
|
78
|
+
valueType?: FilterValueType;
|
|
79
|
+
sourceOperator?: FilterOperator | string;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Search node for global or scoped quick-filter semantics.
|
|
83
|
+
*/
|
|
84
|
+
export interface FilterAstSearchNode extends FilterAstBaseNode {
|
|
85
|
+
kind: 'search';
|
|
86
|
+
query: string;
|
|
87
|
+
targets?: FilterAstTarget[] | null;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* NOT node for future advanced filtering support.
|
|
91
|
+
*/
|
|
92
|
+
export interface FilterAstNotNode extends FilterAstBaseNode {
|
|
93
|
+
kind: 'not';
|
|
94
|
+
child: FilterAstNode;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Compatibility node used while SQL-like input is still accepted.
|
|
98
|
+
*/
|
|
99
|
+
export interface FilterAstSqlNode extends FilterAstBaseNode {
|
|
100
|
+
kind: 'sql';
|
|
101
|
+
sql: string;
|
|
102
|
+
boundSql?: string;
|
|
103
|
+
params?: any[];
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Filter AST node union.
|
|
107
|
+
*/
|
|
108
|
+
export type FilterAstNode = FilterAstGroupNode | FilterAstPredicateNode | FilterAstSearchNode | FilterAstNotNode | FilterAstSqlNode;
|
|
109
|
+
/**
|
|
110
|
+
* Canonical filter AST envelope.
|
|
111
|
+
*/
|
|
112
|
+
export interface FilterAst {
|
|
113
|
+
version: 1;
|
|
114
|
+
root: FilterAstGroupNode | null;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Parsed filter expression shared by backend callbacks and backend data requests.
|
|
62
118
|
*/
|
|
63
119
|
export interface FilterExpression {
|
|
64
120
|
/**
|
|
65
|
-
*
|
|
121
|
+
* Canonical typed filter AST.
|
|
122
|
+
*/
|
|
123
|
+
ast?: FilterAst | null;
|
|
124
|
+
/**
|
|
125
|
+
* Type of filter input.
|
|
66
126
|
*/
|
|
67
127
|
type: 'sql' | 'model';
|
|
68
128
|
/**
|
|
69
|
-
* Original SQL query (if type is 'sql')
|
|
129
|
+
* Original SQL query (if type is 'sql').
|
|
70
130
|
*/
|
|
71
131
|
sql?: string;
|
|
72
132
|
/**
|
|
73
|
-
* Bound
|
|
133
|
+
* Bound SQL converted to positional placeholders (if type is 'sql').
|
|
74
134
|
*/
|
|
75
135
|
boundSql?: string;
|
|
76
136
|
/**
|
|
77
|
-
* Parameters array for positional binding
|
|
137
|
+
* Parameters array for positional binding.
|
|
78
138
|
*/
|
|
79
139
|
params?: any[];
|
|
80
140
|
/**
|
|
81
|
-
*
|
|
141
|
+
* Column-based filter models.
|
|
82
142
|
*/
|
|
83
143
|
models?: FilterModel[];
|
|
144
|
+
/**
|
|
145
|
+
* Quick filter state applied alongside column filters.
|
|
146
|
+
*/
|
|
147
|
+
quickFilter?: FilterQuickState;
|
|
148
|
+
/**
|
|
149
|
+
* Field-based filter state for backend-friendly consumption.
|
|
150
|
+
*/
|
|
151
|
+
fieldState?: FieldFilterState | null;
|
|
152
|
+
/**
|
|
153
|
+
* Pre-computed backend exports (REST / GraphQL / SQL).
|
|
154
|
+
*/
|
|
155
|
+
filterExport?: FilterExportResult | null;
|
|
84
156
|
}
|
|
85
157
|
//# sourceMappingURL=filter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../../src/types/filter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,MAAM,cAAc,GACtB,QAAQ,GACR,WAAW,GACX,UAAU,GACV,aAAa,GACb,YAAY,GACZ,UAAU,GACV,aAAa,GACb,UAAU,GACV,oBAAoB,GACpB,iBAAiB,GACjB,OAAO,GACP,UAAU,GACV,SAAS,GACT,IAAI,GACJ,OAAO,GACP,OAAO,CAAC;AAEZ;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,cAAc,CAAC;IACzB,KAAK,CAAC,EAAE,GAAG,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9B,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;CACtB;AAED
|
|
1
|
+
{"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../../src/types/filter.ts"],"names":[],"mappings":"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"}
|
package/dist/src/types/grid.d.ts
CHANGED
|
@@ -6,10 +6,11 @@ import type { OperationMode } from '@zengrid/shared';
|
|
|
6
6
|
import type { CellRef, CellRange } from './cell';
|
|
7
7
|
import type { ColumnDef, SortIcons } from './column';
|
|
8
8
|
import type { SortState } from './sort';
|
|
9
|
-
import type { FilterModel
|
|
9
|
+
import type { FilterModel } from './filter';
|
|
10
10
|
import type { DataLoadRequest, DataLoadResponse } from './data';
|
|
11
11
|
import type { PaginationConfig } from './pagination';
|
|
12
12
|
import type { LoadingConfig } from './loading';
|
|
13
|
+
import type { ZenGridTheme } from '../theming/theme.interface';
|
|
13
14
|
/**
|
|
14
15
|
* Grid options
|
|
15
16
|
*/
|
|
@@ -19,6 +20,15 @@ export interface GridOptions {
|
|
|
19
20
|
rowHeight: number | number[];
|
|
20
21
|
colWidth: number | number[];
|
|
21
22
|
columns?: ColumnDef[];
|
|
23
|
+
/**
|
|
24
|
+
* Theme to apply - a theme ID string (e.g. 'dark', 'material') or a full ZenGridTheme object
|
|
25
|
+
*/
|
|
26
|
+
theme?: string | ZenGridTheme;
|
|
27
|
+
/**
|
|
28
|
+
* Automatically switch between light/dark themes based on prefers-color-scheme
|
|
29
|
+
* When enabled, uses 'light' theme for light mode and 'dark' theme for dark mode
|
|
30
|
+
*/
|
|
31
|
+
autoTheme?: boolean;
|
|
22
32
|
enableSelection?: boolean;
|
|
23
33
|
enableMultiSelection?: boolean;
|
|
24
34
|
/**
|
|
@@ -42,57 +52,12 @@ export interface GridOptions {
|
|
|
42
52
|
* - 'auto': Use backend if onDataRequest provided, else frontend
|
|
43
53
|
*/
|
|
44
54
|
dataMode?: OperationMode;
|
|
45
|
-
/**
|
|
46
|
-
* Sort mode
|
|
47
|
-
* - 'frontend': Sort in memory using IndexMap (default)
|
|
48
|
-
* - 'backend': Delegate sorting to server via onSortRequest
|
|
49
|
-
* - 'auto': Use backend if onSortRequest provided, else frontend
|
|
50
|
-
*/
|
|
51
|
-
sortMode?: OperationMode;
|
|
52
|
-
/**
|
|
53
|
-
* Filter mode
|
|
54
|
-
* - 'frontend': Filter in memory (default)
|
|
55
|
-
* - 'backend': Delegate filtering to server via onFilterRequest
|
|
56
|
-
* - 'auto': Use backend if onFilterRequest provided, else frontend
|
|
57
|
-
*/
|
|
58
|
-
filterMode?: OperationMode;
|
|
59
55
|
/**
|
|
60
56
|
* Backend data loading callback
|
|
61
57
|
* Called when dataMode is 'backend' or 'auto' (with callback present)
|
|
62
58
|
* Application should fetch data based on request parameters
|
|
63
59
|
*/
|
|
64
60
|
onDataRequest?: (request: DataLoadRequest) => Promise<DataLoadResponse>;
|
|
65
|
-
/**
|
|
66
|
-
* Backend sorting callback
|
|
67
|
-
* Called when sortMode is 'backend' or 'auto' (with callback present)
|
|
68
|
-
* Application should fetch sorted data and call grid.setData()
|
|
69
|
-
*/
|
|
70
|
-
onSortRequest?: (sortState: SortState[]) => Promise<void> | void;
|
|
71
|
-
/**
|
|
72
|
-
* Backend filtering callback
|
|
73
|
-
* Called when filterMode is 'backend' or 'auto' (with callback present)
|
|
74
|
-
* Application should fetch filtered data and call grid.setData()
|
|
75
|
-
*
|
|
76
|
-
* Receives FilterExpression which contains:
|
|
77
|
-
* - SQL query with parameters (if using SQL-like syntax)
|
|
78
|
-
* - Filter models (if using traditional approach)
|
|
79
|
-
*
|
|
80
|
-
* @example SQL-like filtering
|
|
81
|
-
* ```typescript
|
|
82
|
-
* onFilterRequest: async (filter) => {
|
|
83
|
-
* if (filter.type === 'sql') {
|
|
84
|
-
* // Backend receives: filter.sql = "age > ? AND status = ?"
|
|
85
|
-
* // Backend receives: filter.params = [18, 'active']
|
|
86
|
-
* const data = await api.get('/data', {
|
|
87
|
-
* filter: filter.sql,
|
|
88
|
-
* params: filter.params
|
|
89
|
-
* });
|
|
90
|
-
* grid.setData(data);
|
|
91
|
-
* }
|
|
92
|
-
* }
|
|
93
|
-
* ```
|
|
94
|
-
*/
|
|
95
|
-
onFilterRequest?: (filterExpression: FilterExpression) => Promise<void> | void;
|
|
96
61
|
/**
|
|
97
62
|
* Pagination configuration
|
|
98
63
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grid.d.ts","sourceRoot":"","sources":["../../../src/types/grid.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,KAAK,EAAE,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"grid.d.ts","sourceRoot":"","sources":["../../../src/types/grid.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared query-state envelope.
|
|
3
|
+
*/
|
|
4
|
+
import type { FilterAst } from './filter';
|
|
5
|
+
import type { SortDescriptor } from './sort';
|
|
6
|
+
/**
|
|
7
|
+
* Query pagination slice.
|
|
8
|
+
*/
|
|
9
|
+
export interface QueryPaginationState {
|
|
10
|
+
page: number;
|
|
11
|
+
pageSize: number;
|
|
12
|
+
offset: number;
|
|
13
|
+
cursor?: string | null;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Shared query-state contract.
|
|
17
|
+
*/
|
|
18
|
+
export interface QueryState {
|
|
19
|
+
version: 1;
|
|
20
|
+
filter: FilterAst | null;
|
|
21
|
+
sort: SortDescriptor[] | null;
|
|
22
|
+
pagination: QueryPaginationState | null;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Persistence scope for a saved filter preset.
|
|
26
|
+
*/
|
|
27
|
+
export type SavedFilterPresetScope = 'personal' | 'shared' | 'system';
|
|
28
|
+
/**
|
|
29
|
+
* Named common-view preset backed by the canonical query envelope.
|
|
30
|
+
*
|
|
31
|
+
* Presets intentionally reuse {@link QueryState} so saved views stay aligned
|
|
32
|
+
* with backend request state without depending on legacy filter-only shapes.
|
|
33
|
+
*/
|
|
34
|
+
export interface SavedFilterPreset {
|
|
35
|
+
/**
|
|
36
|
+
* Stable application identifier for the preset.
|
|
37
|
+
*/
|
|
38
|
+
id: string;
|
|
39
|
+
/**
|
|
40
|
+
* User-facing preset name.
|
|
41
|
+
*/
|
|
42
|
+
name: string;
|
|
43
|
+
/**
|
|
44
|
+
* Optional helper text shown in preset pickers or menus.
|
|
45
|
+
*/
|
|
46
|
+
description?: string;
|
|
47
|
+
/**
|
|
48
|
+
* Canonical query envelope for the common view.
|
|
49
|
+
*/
|
|
50
|
+
query: QueryState;
|
|
51
|
+
/**
|
|
52
|
+
* Visibility / ownership scope for the preset.
|
|
53
|
+
*/
|
|
54
|
+
scope?: SavedFilterPresetScope;
|
|
55
|
+
/**
|
|
56
|
+
* Whether the preset should be treated as the default starting view.
|
|
57
|
+
*/
|
|
58
|
+
isDefault?: boolean;
|
|
59
|
+
/**
|
|
60
|
+
* Prevents end users from editing or deleting built-in presets.
|
|
61
|
+
*/
|
|
62
|
+
readonly?: boolean;
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=query.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../src/types/query.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAE7C;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,CAAC,CAAC;IACX,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC;IACzB,IAAI,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;IAC9B,UAAU,EAAE,oBAAoB,GAAG,IAAI,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEtE;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,KAAK,EAAE,UAAU,CAAC;IAElB;;OAEG;IACH,KAAK,CAAC,EAAE,sBAAsB,CAAC;IAE/B;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB"}
|
package/dist/src/types/sort.d.ts
CHANGED
|
@@ -1,16 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Sort types
|
|
3
3
|
*/
|
|
4
|
-
import type { OperationMode } from '@zengrid/shared';
|
|
5
4
|
/**
|
|
6
5
|
* Sort direction
|
|
7
6
|
*/
|
|
8
7
|
export type SortDirection = 'asc' | 'desc' | null;
|
|
9
|
-
/**
|
|
10
|
-
* Sort mode - alias for OperationMode for backward compatibility
|
|
11
|
-
* @deprecated Use OperationMode from @zengrid/shared instead
|
|
12
|
-
*/
|
|
13
|
-
export type SortMode = OperationMode;
|
|
14
8
|
/**
|
|
15
9
|
* Sort state for a column
|
|
16
10
|
*/
|
|
@@ -19,4 +13,13 @@ export interface SortState {
|
|
|
19
13
|
direction: SortDirection;
|
|
20
14
|
sortIndex?: number;
|
|
21
15
|
}
|
|
16
|
+
/**
|
|
17
|
+
* Backend-friendly sort descriptor derived from the grid sort state
|
|
18
|
+
*/
|
|
19
|
+
export interface SortDescriptor {
|
|
20
|
+
column: number;
|
|
21
|
+
field?: string;
|
|
22
|
+
direction: Exclude<SortDirection, null>;
|
|
23
|
+
sortIndex: number;
|
|
24
|
+
}
|
|
22
25
|
//# sourceMappingURL=sort.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sort.d.ts","sourceRoot":"","sources":["../../../src/types/sort.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH
|
|
1
|
+
{"version":3,"file":"sort.d.ts","sourceRoot":"","sources":["../../../src/types/sort.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,aAAa,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IACxC,SAAS,EAAE,MAAM,CAAC;CACnB"}
|
package/package.json
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zengrid/core",
|
|
3
|
-
"version": "1.1
|
|
3
|
+
"version": "1.2.1",
|
|
4
4
|
"description": "High-performance data grid library with 14 advanced data structures and virtual scrolling",
|
|
5
|
-
"main": "./dist/index.cjs",
|
|
5
|
+
"main": "./dist/index.cjs.js",
|
|
6
6
|
"module": "./dist/index.esm.js",
|
|
7
7
|
"types": "./dist/index.d.ts",
|
|
8
8
|
"exports": {
|
|
9
9
|
".": {
|
|
10
10
|
"types": "./dist/index.d.ts",
|
|
11
11
|
"import": "./dist/index.esm.js",
|
|
12
|
-
"require": "./dist/index.cjs"
|
|
12
|
+
"require": "./dist/index.cjs.js"
|
|
13
13
|
},
|
|
14
14
|
"./dist/styles.css": "./dist/src/styles.css",
|
|
15
15
|
"./styles/*": "./dist/src/*"
|
|
@@ -42,7 +42,10 @@
|
|
|
42
42
|
"homepage": "https://github.com/zengrid-dev/zengrid#readme",
|
|
43
43
|
"dependencies": {
|
|
44
44
|
"@preact/signals-core": "^1.13.0",
|
|
45
|
-
"@zengrid/shared": "^1.1
|
|
45
|
+
"@zengrid/shared": "^1.2.1",
|
|
46
46
|
"vanilla-calendar-pro": "^3.0.5"
|
|
47
|
+
},
|
|
48
|
+
"publishConfig": {
|
|
49
|
+
"access": "public"
|
|
47
50
|
}
|
|
48
51
|
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { DateRange, DateRangeEditorNormalizedOptions } from './types';
|
|
2
|
-
/**
|
|
3
|
-
* Initialize both start and end calendars
|
|
4
|
-
*/
|
|
5
|
-
export declare function initializeCalendars(startCalendarDiv: HTMLDivElement, endCalendarDiv: HTMLDivElement, currentValue: DateRange, options: DateRangeEditorNormalizedOptions, onStartDateSelect: (date: Date) => void, onEndDateSelect: (date: Date) => void): Promise<{
|
|
6
|
-
startCalendar: any;
|
|
7
|
-
endCalendar: any;
|
|
8
|
-
}>;
|
|
9
|
-
/**
|
|
10
|
-
* Update end calendar's minimum date after start date selection
|
|
11
|
-
*/
|
|
12
|
-
export declare function updateEndCalendarMinDate(endCalendar: any, startDate: Date | null, endDate: Date | null): void;
|
|
13
|
-
/**
|
|
14
|
-
* Reinitialize calendars (for Clear button)
|
|
15
|
-
*/
|
|
16
|
-
export declare function reinitializeCalendars(startCalendar: any, endCalendar: any, minDate: Date | string): void;
|
|
17
|
-
//# sourceMappingURL=calendar-manager.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"calendar-manager.d.ts","sourceRoot":"","sources":["../../../../src/editing/date-range/calendar-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,gCAAgC,EAAE,MAAM,SAAS,CAAC;AAG3E;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,gBAAgB,EAAE,cAAc,EAChC,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,SAAS,EACvB,OAAO,EAAE,gCAAgC,EACzC,iBAAiB,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,EACvC,eAAe,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,GACpC,OAAO,CAAC;IAAE,aAAa,EAAE,GAAG,CAAC;IAAC,WAAW,EAAE,GAAG,CAAA;CAAE,CAAC,CAwDnD;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,GAAG,EAChB,SAAS,EAAE,IAAI,GAAG,IAAI,EACtB,OAAO,EAAE,IAAI,GAAG,IAAI,GACnB,IAAI,CAWN;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,aAAa,EAAE,GAAG,EAClB,WAAW,EAAE,GAAG,EAChB,OAAO,EAAE,IAAI,GAAG,MAAM,GACrB,IAAI,CAeN"}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import type { EditorParams } from '../cell-editor.interface';
|
|
2
|
-
import type { DateRange, DateRangeEditorNormalizedOptions } from './types';
|
|
3
|
-
/**
|
|
4
|
-
* Create date selection handlers
|
|
5
|
-
*/
|
|
6
|
-
export declare function createDateSelectionHandlers(currentValue: DateRange, _inputElement: HTMLInputElement | null, calendarWrapper: HTMLDivElement | null, endCalendar: any, _options: DateRangeEditorNormalizedOptions, updateInputDisplay: () => void): {
|
|
7
|
-
handleStartDateSelect: (date: Date) => void;
|
|
8
|
-
handleEndDateSelect: (date: Date) => void;
|
|
9
|
-
};
|
|
10
|
-
/**
|
|
11
|
-
* Create button action handlers
|
|
12
|
-
*/
|
|
13
|
-
export declare function createButtonHandlers(currentValue: DateRange, initialValue: DateRange, calendarWrapper: HTMLDivElement | null, startCalendar: any, endCalendar: any, options: DateRangeEditorNormalizedOptions, params: EditorParams | null, updateInputDisplay: () => void): {
|
|
14
|
-
handleClear: () => void;
|
|
15
|
-
handleCancel: () => void;
|
|
16
|
-
handleApply: () => void;
|
|
17
|
-
};
|
|
18
|
-
/**
|
|
19
|
-
* Setup scroll handler for calendar repositioning
|
|
20
|
-
*/
|
|
21
|
-
export declare function setupScrollHandler(calendarWrapper: HTMLDivElement | null, inputElement: HTMLInputElement | null, cellElement: HTMLElement | null, gridScrollContainer: HTMLElement | null, currentValue: DateRange, params: EditorParams | null): ((e: Event) => void) | null;
|
|
22
|
-
/**
|
|
23
|
-
* Setup resize handler for calendar repositioning
|
|
24
|
-
*/
|
|
25
|
-
export declare function setupResizeHandler(calendarWrapper: HTMLDivElement | null, inputElement: HTMLInputElement | null): (() => void) | null;
|
|
26
|
-
/**
|
|
27
|
-
* Update input display with current value
|
|
28
|
-
*/
|
|
29
|
-
export declare function updateInputElementDisplay(inputElement: HTMLInputElement | null, currentValue: DateRange, format: string): void;
|
|
30
|
-
//# sourceMappingURL=event-handlers.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"event-handlers.d.ts","sourceRoot":"","sources":["../../../../src/editing/date-range/event-handlers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,gCAAgC,EAAE,MAAM,SAAS,CAAC;AAO3E;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,YAAY,EAAE,SAAS,EACvB,aAAa,EAAE,gBAAgB,GAAG,IAAI,EACtC,eAAe,EAAE,cAAc,GAAG,IAAI,EACtC,WAAW,EAAE,GAAG,EAChB,QAAQ,EAAE,gCAAgC,EAC1C,kBAAkB,EAAE,MAAM,IAAI;kCAEO,IAAI,KAAG,IAAI;gCAYb,IAAI,KAAG,IAAI;EAS/C;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,SAAS,EACvB,YAAY,EAAE,SAAS,EACvB,eAAe,EAAE,cAAc,GAAG,IAAI,EACtC,aAAa,EAAE,GAAG,EAClB,WAAW,EAAE,GAAG,EAChB,OAAO,EAAE,gCAAgC,EACzC,MAAM,EAAE,YAAY,GAAG,IAAI,EAC3B,kBAAkB,EAAE,MAAM,IAAI;uBAEN,IAAI;wBAUH,IAAI;uBAML,IAAI;EAO7B;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,eAAe,EAAE,cAAc,GAAG,IAAI,EACtC,YAAY,EAAE,gBAAgB,GAAG,IAAI,EACrC,WAAW,EAAE,WAAW,GAAG,IAAI,EAC/B,mBAAmB,EAAE,WAAW,GAAG,IAAI,EACvC,YAAY,EAAE,SAAS,EACvB,MAAM,EAAE,YAAY,GAAG,IAAI,GAC1B,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC,GAAG,IAAI,CAkB7B;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,eAAe,EAAE,cAAc,GAAG,IAAI,EACtC,YAAY,EAAE,gBAAgB,GAAG,IAAI,GACpC,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CASrB;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,YAAY,EAAE,gBAAgB,GAAG,IAAI,EACrC,YAAY,EAAE,SAAS,EACvB,MAAM,EAAE,MAAM,GACb,IAAI,CAUN"}
|