@zengrid/core 1.2.0 → 1.2.2

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.
Files changed (112) hide show
  1. package/dist/index.cjs.js +10372 -7432
  2. package/dist/index.esm.js +10373 -7433
  3. package/dist/package.json +5 -2
  4. package/dist/src/data/data-accessor/array-accessor.d.ts.map +1 -1
  5. package/dist/src/data/data-manager.d.ts +5 -7
  6. package/dist/src/data/data-manager.d.ts.map +1 -1
  7. package/dist/src/datetime-core/popup/popup-manager.d.ts +4 -12
  8. package/dist/src/datetime-core/popup/popup-manager.d.ts.map +1 -1
  9. package/dist/src/events/grid-events.d.ts +3 -0
  10. package/dist/src/events/grid-events.d.ts.map +1 -1
  11. package/dist/src/features/filtering/filter-ast-compiler.d.ts +30 -0
  12. package/dist/src/features/filtering/filter-ast-compiler.d.ts.map +1 -0
  13. package/dist/src/features/filtering/filter-ast.d.ts +37 -0
  14. package/dist/src/features/filtering/filter-ast.d.ts.map +1 -0
  15. package/dist/src/features/filtering/filter-execution-error.d.ts +2 -0
  16. package/dist/src/features/filtering/filter-execution-error.d.ts.map +1 -0
  17. package/dist/src/features/filtering/filter-export-manager.d.ts +0 -8
  18. package/dist/src/features/filtering/filter-export-manager.d.ts.map +1 -1
  19. package/dist/src/features/filtering/filter-expression.d.ts +15 -0
  20. package/dist/src/features/filtering/filter-expression.d.ts.map +1 -0
  21. package/dist/src/features/filtering/filter-manager/filter-core.d.ts +73 -13
  22. package/dist/src/features/filtering/filter-manager/filter-core.d.ts.map +1 -1
  23. package/dist/src/features/filtering/filter-manager/filter-export.d.ts +3 -49
  24. package/dist/src/features/filtering/filter-manager/filter-export.d.ts.map +1 -1
  25. package/dist/src/features/filtering/filter-manager/filter-optimizer.d.ts.map +1 -1
  26. package/dist/src/features/filtering/filter-manager/filter-query.d.ts +19 -48
  27. package/dist/src/features/filtering/filter-manager/filter-query.d.ts.map +1 -1
  28. package/dist/src/features/filtering/filter-manager/index.d.ts +12 -129
  29. package/dist/src/features/filtering/filter-manager/index.d.ts.map +1 -1
  30. package/dist/src/features/filtering/filter-manager/types.d.ts +0 -11
  31. package/dist/src/features/filtering/filter-manager/types.d.ts.map +1 -1
  32. package/dist/src/features/filtering/filter-query-parser.d.ts +10 -50
  33. package/dist/src/features/filtering/filter-query-parser.d.ts.map +1 -1
  34. package/dist/src/features/filtering/filter-signature.d.ts +6 -0
  35. package/dist/src/features/filtering/filter-signature.d.ts.map +1 -0
  36. package/dist/src/features/filtering/index.d.ts +3 -0
  37. package/dist/src/features/filtering/index.d.ts.map +1 -1
  38. package/dist/src/features/query/query-signature.d.ts +3 -0
  39. package/dist/src/features/query/query-signature.d.ts.map +1 -0
  40. package/dist/src/features/query/query-state.d.ts +12 -0
  41. package/dist/src/features/query/query-state.d.ts.map +1 -0
  42. package/dist/src/features/sorting/sort-manager.d.ts +9 -23
  43. package/dist/src/features/sorting/sort-manager.d.ts.map +1 -1
  44. package/dist/src/features/sorting/sort-request.d.ts +5 -0
  45. package/dist/src/features/sorting/sort-request.d.ts.map +1 -0
  46. package/dist/src/grid/api/filter-api.d.ts +7 -3
  47. package/dist/src/grid/api/filter-api.d.ts.map +1 -1
  48. package/dist/src/grid/api/sort-api.d.ts.map +1 -1
  49. package/dist/src/grid/filter-ui.d.ts +35 -5
  50. package/dist/src/grid/filter-ui.d.ts.map +1 -1
  51. package/dist/src/grid/grid-context.d.ts +2 -0
  52. package/dist/src/grid/grid-context.d.ts.map +1 -1
  53. package/dist/src/grid/grid-core.d.ts +12 -3
  54. package/dist/src/grid/grid-core.d.ts.map +1 -1
  55. package/dist/src/grid/grid-setup.d.ts.map +1 -1
  56. package/dist/src/grid/options-manager.d.ts +14 -0
  57. package/dist/src/grid/options-manager.d.ts.map +1 -0
  58. package/dist/src/grid/plugin-host.d.ts +3 -2
  59. package/dist/src/grid/plugin-host.d.ts.map +1 -1
  60. package/dist/src/grid/query-mode.d.ts +4 -0
  61. package/dist/src/grid/query-mode.d.ts.map +1 -0
  62. package/dist/src/index.d.ts +2 -1
  63. package/dist/src/index.d.ts.map +1 -1
  64. package/dist/src/overlay/index.d.ts +2 -0
  65. package/dist/src/overlay/index.d.ts.map +1 -0
  66. package/dist/src/overlay/overlay-manager.d.ts +46 -0
  67. package/dist/src/overlay/overlay-manager.d.ts.map +1 -0
  68. package/dist/src/plugins/async-filter-plugin.d.ts.map +1 -1
  69. package/dist/src/plugins/data-plugin.d.ts +14 -0
  70. package/dist/src/plugins/data-plugin.d.ts.map +1 -0
  71. package/dist/src/plugins/filter-plugin.d.ts +1 -1
  72. package/dist/src/plugins/filter-plugin.d.ts.map +1 -1
  73. package/dist/src/plugins/filter-ui/filter-ui-plugin.d.ts +1 -0
  74. package/dist/src/plugins/filter-ui/filter-ui-plugin.d.ts.map +1 -1
  75. package/dist/src/plugins/header/header-render-params.d.ts.map +1 -1
  76. package/dist/src/plugins/index.d.ts +2 -0
  77. package/dist/src/plugins/index.d.ts.map +1 -1
  78. package/dist/src/plugins/lifecycle/lifecycle-plugin.d.ts +3 -0
  79. package/dist/src/plugins/lifecycle/lifecycle-plugin.d.ts.map +1 -1
  80. package/dist/src/plugins/sort-plugin.d.ts +3 -2
  81. package/dist/src/plugins/sort-plugin.d.ts.map +1 -1
  82. package/dist/src/reactive/index.d.ts +1 -1
  83. package/dist/src/reactive/index.d.ts.map +1 -1
  84. package/dist/src/reactive/types.d.ts +16 -1
  85. package/dist/src/reactive/types.d.ts.map +1 -1
  86. package/dist/src/rendering/headers/renderers/sortable-header-renderer.d.ts +4 -1
  87. package/dist/src/rendering/headers/renderers/sortable-header-renderer.d.ts.map +1 -1
  88. package/dist/src/rendering/renderers/button/button-renderer.d.ts.map +1 -1
  89. package/dist/src/rendering/renderers/chip/chip-renderer.d.ts.map +1 -1
  90. package/dist/src/rendering/renderers/dropdown/dropdown-dom.d.ts +1 -1
  91. package/dist/src/rendering/renderers/dropdown/dropdown-dom.d.ts.map +1 -1
  92. package/dist/src/rendering/renderers/dropdown/dropdown-events.d.ts.map +1 -1
  93. package/dist/src/rendering/renderers/dropdown/dropdown-renderer.d.ts.map +1 -1
  94. package/dist/src/rendering/renderers/dropdown/dropdown-state.d.ts +10 -6
  95. package/dist/src/rendering/renderers/dropdown/dropdown-state.d.ts.map +1 -1
  96. package/dist/src/rendering/virtual-scroller/virtual-scroller.d.ts.map +1 -1
  97. package/dist/src/styles.css +93 -4
  98. package/dist/src/types/data.d.ts +35 -60
  99. package/dist/src/types/data.d.ts.map +1 -1
  100. package/dist/src/types/filter.d.ts +106 -35
  101. package/dist/src/types/filter.d.ts.map +1 -1
  102. package/dist/src/types/grid.d.ts +6 -50
  103. package/dist/src/types/grid.d.ts.map +1 -1
  104. package/dist/src/types/index.d.ts +1 -0
  105. package/dist/src/types/index.d.ts.map +1 -1
  106. package/dist/src/types/query.d.ts +24 -0
  107. package/dist/src/types/query.d.ts.map +1 -0
  108. package/dist/src/types/sort.d.ts +9 -6
  109. package/dist/src/types/sort.d.ts.map +1 -1
  110. package/dist/src/utils/stable-hash.d.ts +2 -0
  111. package/dist/src/utils/stable-hash.d.ts.map +1 -0
  112. package/package.json +8 -5
@@ -1,79 +1,50 @@
1
- import type { FilterModel, FilterQuery, FilterExpression } from '../../../types';
2
- import type { OperationMode } from '@zengrid/shared';
1
+ import type { ColumnDef, FilterExpression, FilterModel, FilterQuery } from '../../../types';
3
2
  import type { EventEmitter } from '../../../events/event-emitter';
4
3
  import type { GridEvents } from '../../../events/grid-events';
4
+ import type { FilterExportResult } from '../adapters/types';
5
+ import type { FieldFilterState } from '../types';
5
6
  import type { FilterCore } from './filter-core';
6
7
  /**
7
- * FilterQueryHandler - SQL-like query parsing and mode management
8
- *
9
- * Handles SQL-like filter queries, mode switching (frontend/backend/auto),
10
- * and filter expression management.
8
+ * FilterQueryHandler - SQL-like query parsing and expression management.
11
9
  */
12
10
  export declare class FilterQueryHandler {
13
- private mode;
14
11
  private columnNames;
12
+ private columns?;
15
13
  private parser;
16
- private onFilterRequest?;
17
14
  private currentExpression;
18
15
  private events?;
19
16
  private core;
20
- constructor(core: FilterCore, mode: OperationMode, columnNames: string[], events?: EventEmitter<GridEvents>, onFilterRequest?: (filter: FilterExpression) => Promise<void> | void);
17
+ private getFieldFilterState?;
18
+ private getFilterExport?;
19
+ constructor(core: FilterCore, columnNames: string[], columns?: ColumnDef[], events?: EventEmitter<GridEvents>, getFieldFilterState?: () => FieldFilterState | null, getFilterExport?: () => FilterExportResult | null);
21
20
  /**
22
- * Apply filter using SQL-like query or FilterModels
23
- * Supports both frontend and backend filtering
24
- *
25
- * @example SQL Query (Frontend)
26
- * ```typescript
27
- * await filterManager.applyFilter({
28
- * sql: "age > :minAge AND status = :status",
29
- * params: { minAge: 18, status: 'active' }
30
- * });
31
- * ```
32
- *
33
- * @example SQL Query (Backend)
34
- * ```typescript
35
- * // With mode='backend', this will call onFilterRequest callback
36
- * await filterManager.applyFilter({
37
- * sql: "price BETWEEN :min AND :max",
38
- * params: { min: 100, max: 500 }
39
- * });
40
- * ```
41
- *
42
- * @example FilterModels
43
- * ```typescript
44
- * await filterManager.applyFilter([
45
- * {
46
- * column: 2,
47
- * conditions: [{ operator: 'greaterThan', value: 18 }],
48
- * logic: 'AND'
49
- * }
50
- * ]);
51
- * ```
21
+ * Apply filter using SQL-like query or FilterModels.
52
22
  */
53
23
  applyFilter(filter: FilterQuery | FilterModel[] | null): Promise<void>;
54
24
  /**
55
- * Parse filter input into FilterExpression
25
+ * Parse filter input into FilterExpression.
56
26
  */
57
27
  private parseFilterInput;
28
+ private buildCurrentExpression;
58
29
  /**
59
- * Type guard for FilterQuery
30
+ * Type guard for FilterQuery.
60
31
  */
61
32
  private isFilterQuery;
62
33
  /**
63
- * Apply frontend filtering (in-memory)
34
+ * Apply frontend filtering (in-memory).
64
35
  */
65
36
  private applyFrontendFilter;
66
37
  /**
67
- * Apply backend filtering (delegate to server)
68
- */
69
- private applyBackendFilter;
70
- /**
71
- * Get current filter expression
38
+ * Get current filter expression.
72
39
  */
73
40
  getCurrentExpression(): FilterExpression | null;
74
41
  /**
75
- * Update column names (for SQL query mapping)
42
+ * Update column names (for SQL query mapping).
76
43
  */
77
44
  setColumnNames(names: string[]): void;
45
+ /**
46
+ * Update column metadata used for AST target enrichment.
47
+ */
48
+ setColumns(columns: ColumnDef[]): void;
78
49
  }
79
50
  //# sourceMappingURL=filter-query.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"filter-query.d.ts","sourceRoot":"","sources":["../../../../../src/features/filtering/filter-manager/filter-query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACjF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAE9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD;;;;;GAKG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,IAAI,CAAgB;IAC5B,OAAO,CAAC,WAAW,CAAW;IAC9B,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,eAAe,CAAC,CAAqD;IAC7E,OAAO,CAAC,iBAAiB,CAAiC;IAC1D,OAAO,CAAC,MAAM,CAAC,CAA2B;IAC1C,OAAO,CAAC,IAAI,CAAa;gBAGvB,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,aAAa,EACnB,WAAW,EAAE,MAAM,EAAE,EACrB,MAAM,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,EACjC,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAmBtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACG,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,EAAE,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAoD5E;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAaxB;;OAEG;IACH,OAAO,CAAC,aAAa;IAIrB;;OAEG;YACW,mBAAmB;IAuBjC;;OAEG;YACW,kBAAkB;IAahC;;OAEG;IACH,oBAAoB,IAAI,gBAAgB,GAAG,IAAI;IAI/C;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;CAQtC"}
1
+ {"version":3,"file":"filter-query.d.ts","sourceRoot":"","sources":["../../../../../src/features/filtering/filter-manager/filter-query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC5F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAI5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD;;GAEG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,WAAW,CAAW;IAC9B,OAAO,CAAC,OAAO,CAAC,CAAc;IAC9B,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,iBAAiB,CAAiC;IAC1D,OAAO,CAAC,MAAM,CAAC,CAA2B;IAC1C,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,mBAAmB,CAAC,CAAgC;IAC5D,OAAO,CAAC,eAAe,CAAC,CAAkC;gBAGxD,IAAI,EAAE,UAAU,EAChB,WAAW,EAAE,MAAM,EAAE,EACrB,OAAO,CAAC,EAAE,SAAS,EAAE,EACrB,MAAM,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,EACjC,mBAAmB,CAAC,EAAE,MAAM,gBAAgB,GAAG,IAAI,EACnD,eAAe,CAAC,EAAE,MAAM,kBAAkB,GAAG,IAAI;IAmBnD;;OAEG;IACG,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,EAAE,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAuC5E;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,sBAAsB;IAgB9B;;OAEG;IACH,OAAO,CAAC,aAAa;IAIrB;;OAEG;YACW,mBAAmB;IAsBjC;;OAEG;IACH,oBAAoB,IAAI,gBAAgB,GAAG,IAAI;IAI/C;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IASrC;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,IAAI;CAGvC"}
@@ -1,67 +1,11 @@
1
- import type { FilterModel, FilterQuery, FilterExpression, ColumnDef } from '../../../types';
2
1
  import type { ColumnType } from '@zengrid/shared';
3
- import type { FieldFilterState } from '../types';
2
+ import type { ColumnDef, FilterAst, FilterExpression, FilterModel, FilterQuery } from '../../../types';
4
3
  import type { FilterExportResult } from '../adapters/types';
5
- import type { FilterManagerOptions } from './types';
6
4
  import type { ColumnFilter } from '../column-filter';
5
+ import type { FieldFilterState } from '../types';
6
+ import type { FilterManagerOptions } from './types';
7
7
  /**
8
- * FilterManager - Manages filtering across all columns
9
- *
10
- * Supports both frontend and backend filtering with two input formats:
11
- * 1. FilterModel[] - Traditional structured filters
12
- * 2. FilterQuery - SQL-like queries with parameterization
13
- *
14
- * @example Traditional Filtering
15
- * ```typescript
16
- * const filterManager = new FilterManager({
17
- * colCount: 10,
18
- * getValue: (row, col) => data[row][col],
19
- * mode: 'frontend'
20
- * });
21
- *
22
- * // Add filter for column 0
23
- * filterManager.setColumnFilter(0, [
24
- * { operator: 'greaterThan', value: 100 },
25
- * ]);
26
- *
27
- * // Test if row passes all filters
28
- * const passes = filterManager.testRow(5);
29
- *
30
- * // Get visible row indices
31
- * const visible = filterManager.getVisibleRows(1000);
32
- * ```
33
- *
34
- * @example SQL-like Filtering
35
- * ```typescript
36
- * const filterManager = new FilterManager({
37
- * colCount: 10,
38
- * getValue: (row, col) => data[row][col],
39
- * mode: 'frontend',
40
- * columnNames: ['id', 'name', 'age', 'status']
41
- * });
42
- *
43
- * // Apply SQL-like filter
44
- * await filterManager.applyFilter({
45
- * sql: "age > :minAge AND status = :status",
46
- * params: { minAge: 18, status: 'active' }
47
- * });
48
- * ```
49
- *
50
- * @example Backend Filtering
51
- * ```typescript
52
- * const filterManager = new FilterManager({
53
- * colCount: 10,
54
- * getValue: (row, col) => data[row][col],
55
- * mode: 'backend',
56
- * onFilterRequest: async (filter) => {
57
- * const data = await api.get('/data', {
58
- * filter: filter.sql,
59
- * params: filter.params
60
- * });
61
- * grid.setData(data);
62
- * }
63
- * });
64
- * ```
8
+ * FilterManager - Manages filtering across all columns.
65
9
  */
66
10
  export declare class FilterManager {
67
11
  private core;
@@ -69,90 +13,38 @@ export declare class FilterManager {
69
13
  private exporter;
70
14
  private optimizer;
71
15
  constructor(options: FilterManagerOptions);
72
- /**
73
- * Set filter for a column
74
- */
75
16
  setColumnFilter(column: number, conditions: any[], logic?: 'AND' | 'OR'): void;
76
- /**
77
- * Clear filter for a column
78
- */
79
17
  clearColumnFilter(column: number): void;
80
- /**
81
- * Clear all filters
82
- */
83
18
  clearAll(): void;
84
- /**
85
- * Test if a row passes all filters
86
- */
87
19
  testRow(row: number): boolean;
88
- /**
89
- * Get all visible row indices
90
- */
91
20
  getVisibleRows(rowCount: number): number[];
92
- /**
93
- * Get filter statistics
94
- */
95
21
  getStats(rowCount: number): {
96
22
  totalRows: number;
97
23
  visibleRows: number;
98
24
  hiddenRows: number;
99
25
  activeFilters: number;
100
26
  };
101
- /**
102
- * Get current filter state
103
- */
104
27
  getFilterState(): FilterModel[];
105
- /**
106
- * Check if any filters are active
107
- */
28
+ setFilterState(models: FilterModel[]): void;
29
+ getFilterAst(): FilterAst | null;
30
+ getAstProjectionWarnings(): string[];
31
+ getAstExecutionWarnings(): string[];
108
32
  hasActiveFilters(): boolean;
109
- /**
110
- * Get filter for specific column
111
- */
33
+ hasStructuredFilters(): boolean;
34
+ isUsingAstExecution(): boolean;
35
+ hasUnexecutableFilters(): boolean;
112
36
  getColumnFilter(column: number): ColumnFilter | undefined;
113
- /**
114
- * Apply filter using SQL-like query or FilterModels
115
- */
116
37
  applyFilter(filter: FilterQuery | FilterModel[] | null): Promise<void>;
117
- /**
118
- * Get current filter expression
119
- */
120
38
  getCurrentExpression(): FilterExpression | null;
121
- /**
122
- * Update column names (for SQL query mapping)
123
- */
124
39
  setColumnNames(names: string[]): void;
125
- /**
126
- * Get current filter state in field-based format
127
- */
128
40
  getFieldFilterState(): FieldFilterState | null;
129
- /**
130
- * Get filter export in all formats (REST, GraphQL, SQL)
131
- */
132
41
  getFilterExport(): FilterExportResult | null;
133
- /**
134
- * Get filter export in specific format
135
- */
136
42
  getFilterExportAs<T>(format: string): T | null;
137
- /**
138
- * Set filter from field-based format
139
- */
140
43
  setFieldFilter(state: FieldFilterState): void;
141
- /**
142
- * Update columns (for export manager)
143
- */
144
44
  setColumns(columns: ColumnDef[]): void;
145
- /**
146
- * Set data version (invalidates cache)
147
- */
45
+ setColCount(colCount: number): void;
148
46
  setDataVersion(version: number): void;
149
- /**
150
- * Index a column for optimized filtering
151
- */
152
47
  indexColumn(col: number, rowCount: number, type?: ColumnType): void;
153
- /**
154
- * Get cache statistics
155
- */
156
48
  getCacheStats(): {
157
49
  hitCount: number;
158
50
  missCount: number;
@@ -160,22 +52,13 @@ export declare class FilterManager {
160
52
  size: number;
161
53
  capacity: number;
162
54
  } | null;
163
- /**
164
- * Get index memory statistics
165
- */
166
55
  getIndexMemoryStats(): {
167
56
  usedMB: number;
168
57
  limitMB: number;
169
58
  utilizationPercent: number;
170
59
  indexedColumns: number;
171
60
  } | null;
172
- /**
173
- * Clear all caches and indexes
174
- */
175
61
  clearOptimizations(): void;
176
- /**
177
- * Destroy filter manager
178
- */
179
62
  destroy(): void;
180
63
  }
181
64
  export type { FilterManagerOptions } from './types';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/filtering/filter-manager/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/filtering/filter-manager/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  import type { FilterModel, ColumnDef } from '../../../types';
2
- import type { OperationMode } from '@zengrid/shared';
3
2
  import type { EventEmitter } from '../../../events/event-emitter';
4
3
  import type { GridEvents } from '../../../events/grid-events';
5
4
  import type { FilterExportManagerOptions } from '../filter-export-manager';
@@ -23,20 +22,10 @@ export interface FilterManagerOptions {
23
22
  * Initial filter models
24
23
  */
25
24
  initialFilters?: FilterModel[];
26
- /**
27
- * Filter mode: frontend, backend, or auto
28
- * @default 'frontend'
29
- */
30
- mode?: OperationMode;
31
25
  /**
32
26
  * Column names for SQL query field mapping
33
27
  */
34
28
  columnNames?: string[];
35
- /**
36
- * Backend filtering callback
37
- * Called when mode is 'backend' or 'auto' (with callback present)
38
- */
39
- onFilterRequest?: (filter: any) => Promise<void> | void;
40
29
  /**
41
30
  * Column definitions (for field-based filtering)
42
31
  * Required for FilterExportManager
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/features/filtering/filter-manager/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;IAElC;;OAEG;IACH,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,GAAG,CAAC;IAE5C;;OAEG;IACH,cAAc,CAAC,EAAE,WAAW,EAAE,CAAC;IAE/B;;;OAGG;IACH,IAAI,CAAC,EAAE,aAAa,CAAC;IAErB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IAEvB;;;OAGG;IACH,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAExD;;;OAGG;IACH,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;IAEtB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAEnD;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;;OAGG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAElC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/features/filtering/filter-manager/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;IAElC;;OAEG;IACH,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,GAAG,CAAC;IAE5C;;OAEG;IACH,cAAc,CAAC,EAAE,WAAW,EAAE,CAAC;IAE/B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IAEvB;;;OAGG;IACH,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;IAEtB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAEnD;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;;OAGG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAElC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB"}
@@ -1,69 +1,29 @@
1
- import type { FilterQuery, FilterExpression, FilterModel } from '../../types';
1
+ import type { FilterExpression, FilterModel, FilterQuery } from '../../types';
2
2
  /**
3
3
  * FilterQueryParser - Parses SQL-like filter queries
4
4
  *
5
- * Converts SQL-like syntax to FilterExpression for both backend and frontend use
6
- *
7
- * Supported operators:
8
- * - Comparison: =, !=, <, >, <=, >=
9
- * - String: LIKE, NOT LIKE
10
- * - Range: BETWEEN, NOT BETWEEN
11
- * - List: IN, NOT IN
12
- * - Null: IS NULL, IS NOT NULL
13
- * - Logic: AND, OR, NOT, ( )
14
- *
15
- * @example
16
- * ```typescript
17
- * const parser = new FilterQueryParser();
18
- *
19
- * // Simple query
20
- * parser.parse({ sql: "age > 18" });
21
- *
22
- * // Parameterized query (recommended)
23
- * parser.parse({
24
- * sql: "age > :minAge AND status = :status",
25
- * params: { minAge: 18, status: 'active' }
26
- * });
27
- *
28
- * // Complex query
29
- * parser.parse({
30
- * sql: "age BETWEEN :min AND :max AND (name LIKE :search OR email LIKE :search)",
31
- * params: { min: 18, max: 65, search: '%john%' }
32
- * });
33
- * ```
5
+ * Converts SQL-like syntax to FilterExpression for both backend and frontend use.
6
+ * Supported syntax is lowered into semantic AST nodes so frontend and backend
7
+ * now share the same canonical filter tree.
34
8
  */
35
9
  export declare class FilterQueryParser {
10
+ private columnMap;
36
11
  /**
37
12
  * Set column name to index mapping
38
13
  * Required for converting SQL field names to column indices
39
14
  */
40
- setColumnMapping(_mapping: Record<string, number>): void;
15
+ setColumnMapping(mapping: Record<string, number>): void;
41
16
  /**
42
17
  * Parse SQL-like filter query into FilterExpression
43
18
  */
44
19
  parse(query: FilterQuery): FilterExpression;
45
- /**
46
- * Bind named parameters (:paramName) to their values
47
- * Converts to positional placeholders (?)
48
- */
49
- private bindNamedParameters;
50
- /**
51
- * Extract positional parameters from SQL
52
- * Converts literal values to ? placeholders
53
- */
54
- private extractPositionalParameters;
55
- /**
56
- * Check if a value is part of a SQL keyword
57
- */
58
- private isPartOfKeyword;
59
20
  /**
60
21
  * Convert SQL query to FilterModels (for frontend filtering)
61
- * This is a simplified conversion - complex queries may not convert perfectly
62
22
  */
63
23
  parseToModels(query: FilterQuery, columnNames: string[]): FilterModel[];
64
- /**
65
- * Convert SQL operator to FilterOperator
66
- */
67
- private sqlOperatorToFilterOperator;
24
+ private parseSemanticAst;
25
+ private resolveTarget;
26
+ private toPositionalQuery;
27
+ private toSqlParamValue;
68
28
  }
69
29
  //# sourceMappingURL=filter-query-parser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"filter-query-parser.d.ts","sourceRoot":"","sources":["../../../../src/features/filtering/filter-query-parser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,WAAW,EAAkB,MAAM,aAAa,CAAC;AAE9F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,qBAAa,iBAAiB;IAI5B;;;OAGG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAKxD;;OAEG;IACH,KAAK,CAAC,KAAK,EAAE,WAAW,GAAG,gBAAgB;IAoB3C;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAiB3B;;;OAGG;IACH,OAAO,CAAC,2BAA2B;IAyBnC;;OAEG;IACH,OAAO,CAAC,eAAe;IAOvB;;;OAGG;IACH,aAAa,CAAC,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE;IAcvE;;OAEG;IACH,OAAO,CAAC,2BAA2B;CAepC"}
1
+ {"version":3,"file":"filter-query-parser.d.ts","sourceRoot":"","sources":["../../../../src/features/filtering/filter-query-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAKV,gBAAgB,EAChB,WAAW,EAEX,WAAW,EACZ,MAAM,aAAa,CAAC;AAsCrB;;;;;;GAMG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,SAAS,CAAkC;IAEnD;;;OAGG;IACH,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAIvD;;OAEG;IACH,KAAK,CAAC,KAAK,EAAE,WAAW,GAAG,gBAAgB;IAiB3C;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE;IAqBvE,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,iBAAiB;IAuCzB,OAAO,CAAC,eAAe;CAYxB"}
@@ -0,0 +1,6 @@
1
+ import type { FilterAst, FilterModel } from '../../types';
2
+ type FilterExecutionMode = 'none' | 'column' | 'ast' | 'unexecutable';
3
+ export declare function getFilterAstSignature(ast: FilterAst | null | undefined): string;
4
+ export declare function buildFilterStateSignature(executionMode: FilterExecutionMode, models: readonly FilterModel[], ast?: FilterAst | null): string;
5
+ export {};
6
+ //# sourceMappingURL=filter-signature.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-signature.d.ts","sourceRoot":"","sources":["../../../../src/features/filtering/filter-signature.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG1D,KAAK,mBAAmB,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,cAAc,CAAC;AAItE,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAa/E;AAED,wBAAgB,yBAAyB,CACvC,aAAa,EAAE,mBAAmB,EAClC,MAAM,EAAE,SAAS,WAAW,EAAE,EAC9B,GAAG,CAAC,EAAE,SAAS,GAAG,IAAI,GACrB,MAAM,CAUR"}
@@ -5,9 +5,12 @@ export { FilterCompiler } from './filter-compiler';
5
5
  export type { FilterPredicate } from './filter-compiler';
6
6
  export { ColumnFilter } from './column-filter';
7
7
  export type { ColumnFilterOptions } from './column-filter';
8
+ export { FilterAstCompiler } from './filter-ast-compiler';
9
+ export type { FilterAstRowPredicate } from './filter-ast-compiler';
8
10
  export { FilterManager } from './filter-manager';
9
11
  export type { FilterManagerOptions } from './filter-manager';
10
12
  export { FilterAutocomplete } from './filter-autocomplete';
13
+ export * from './filter-ast';
11
14
  export { FilterOptimizer } from './filter-optimizer';
12
15
  export { SubstringFilter } from './substring-filter';
13
16
  export { FilterCache } from './filter-cache';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/features/filtering/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,YAAY,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,YAAY,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAE7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGrD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAGhE,YAAY,EACV,sBAAsB,EACtB,cAAc,EACd,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,YAAY,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAG1E,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/features/filtering/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,YAAY,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAE3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,YAAY,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAEnE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,YAAY,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAE7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGrD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAGhE,YAAY,EACV,sBAAsB,EACtB,cAAc,EACd,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,YAAY,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAG1E,cAAc,YAAY,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { QueryState } from '../../types';
2
+ export declare function getQueryStateSignature(query: QueryState | null | undefined): string;
3
+ //# sourceMappingURL=query-signature.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-signature.d.ts","sourceRoot":"","sources":["../../../../src/features/query/query-signature.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAkB,MAAM,aAAa,CAAC;AAM9D,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAmBnF"}
@@ -0,0 +1,12 @@
1
+ import type { ColumnDef, FilterAst, QueryPaginationState, QueryState, SortState } from '../../types';
2
+ export interface BuildQueryStateOptions {
3
+ sortState?: SortState[] | null;
4
+ filterAst?: FilterAst | null;
5
+ pagination?: QueryPaginationState | null;
6
+ columns?: ColumnDef[];
7
+ }
8
+ export declare function buildQueryPaginationState(page: number, pageSize: number, offset?: number): QueryPaginationState;
9
+ export declare function buildRangeQueryPaginationState(startRow: number, endRow: number): QueryPaginationState;
10
+ export declare function buildStoreQueryPaginationState(page: number | null | undefined, pageSize: number | null | undefined): QueryPaginationState | null;
11
+ export declare function buildQueryState(options?: BuildQueryStateOptions): QueryState;
12
+ //# sourceMappingURL=query-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-state.d.ts","sourceRoot":"","sources":["../../../../src/features/query/query-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,SAAS,EACT,oBAAoB,EACpB,UAAU,EACV,SAAS,EACV,MAAM,aAAa,CAAC;AAGrB,MAAM,WAAW,sBAAsB;IACrC,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IAC/B,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IAC7B,UAAU,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACzC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;CACvB;AAED,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,MAAM,SAAkB,GACvB,oBAAoB,CAMtB;AAED,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,oBAAoB,CAKtB;AAED,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAC/B,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAClC,oBAAoB,GAAG,IAAI,CAU7B;AAED,wBAAgB,eAAe,CAAC,OAAO,GAAE,sBAA2B,GAAG,UAAU,CAYhF"}
@@ -1,7 +1,7 @@
1
- import type { SortState, SortDirection, SortMode } from '../../types';
1
+ import type { SortState, SortDirection } from '../../types';
2
2
  import type { EventEmitter } from '../../events/event-emitter';
3
3
  import type { GridEvents } from '../../events/grid-events';
4
- import type { IndexMap } from '../../data/index-map';
4
+ import { type IndexMap } from '../../data/index-map';
5
5
  /**
6
6
  * Sort manager options
7
7
  */
@@ -27,20 +27,6 @@ export interface SortManagerOptions {
27
27
  * Initial sort state
28
28
  */
29
29
  initialSort?: SortState[];
30
- /**
31
- * Sort mode - determines where sorting is executed
32
- * - 'frontend': Sort data in memory (default)
33
- * - 'backend': Emit events only, application handles sorting
34
- * - 'auto': Use backend mode if onSortRequest is provided, otherwise frontend
35
- * @default 'frontend'
36
- */
37
- sortMode?: SortMode;
38
- /**
39
- * Callback for backend sorting
40
- * Called when sortMode is 'backend' or 'auto' (with callback present)
41
- * Application should fetch sorted data and call grid.setData()
42
- */
43
- onSortRequest?: (sortState: SortState[]) => Promise<void> | void;
44
30
  }
45
31
  /**
46
32
  * SortManager - Manages sorting state and execution
@@ -73,8 +59,6 @@ export declare class SortManager {
73
59
  private enableMultiSort;
74
60
  private sortState;
75
61
  private indexMap;
76
- private sortMode;
77
- private onSortRequest?;
78
62
  constructor(options: SortManagerOptions);
79
63
  /**
80
64
  * Toggle sort on a column
@@ -114,16 +98,18 @@ export declare class SortManager {
114
98
  * Execute the sort
115
99
  */
116
100
  private executeSort;
101
+ private sortMultipleColumns;
102
+ private compareRows;
103
+ private compareValues;
104
+ private compareNumbers;
105
+ private compareStrings;
106
+ private compareBooleans;
107
+ private compareDates;
117
108
  /**
118
109
  * Update row count
119
110
  * @param rowCount - New row count
120
111
  */
121
112
  updateRowCount(rowCount: number): void;
122
- /**
123
- * Get current sort mode (resolved from 'auto')
124
- * Returns the actual mode being used: 'frontend' or 'backend'
125
- */
126
- getSortMode(): 'frontend' | 'backend';
127
113
  /**
128
114
  * Destroy sort manager
129
115
  */
@@ -1 +1 @@
1
- {"version":3,"file":"sort-manager.d.ts","sourceRoot":"","sources":["../../../../src/features/sorting/sort-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;IAElC;;OAEG;IACH,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,GAAG,CAAC;IAE5C;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;OAEG;IACH,WAAW,CAAC,EAAE,SAAS,EAAE,CAAC;IAE1B;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB;;;;OAIG;IACH,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAClE;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAC,CAA2B;IAC1C,OAAO,CAAC,QAAQ,CAAoC;IACpD,OAAO,CAAC,eAAe,CAAU;IACjC,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,QAAQ,CAAyB;IACzC,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,aAAa,CAAC,CAAmD;gBAE7D,OAAO,EAAE,kBAAkB;IAmBvC;;;;OAIG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAE,OAAe,GAAG,IAAI;IA2D3D;;;OAGG;IACH,YAAY,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,IAAI;IAc1C;;OAEG;IACH,SAAS,IAAI,IAAI;IAajB;;OAEG;IACH,YAAY,IAAI,SAAS,EAAE;IAI3B;;;;OAIG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa;IAK5C;;OAEG;IACH,QAAQ,IAAI,OAAO;IAInB;;;OAGG;IACH,WAAW,IAAI,QAAQ,GAAG,IAAI;IAI9B;;OAEG;IACH,OAAO,CAAC,WAAW;IA6GnB;;;OAGG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAStC;;;OAGG;IACH,WAAW,IAAI,UAAU,GAAG,SAAS;IAIrC;;OAEG;IACH,OAAO,IAAI,IAAI;CAIhB"}
1
+ {"version":3,"file":"sort-manager.d.ts","sourceRoot":"","sources":["../../../../src/features/sorting/sort-manager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAIrE;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;IAElC;;OAEG;IACH,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,GAAG,CAAC;IAE5C;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;OAEG;IACH,WAAW,CAAC,EAAE,SAAS,EAAE,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAC,CAA2B;IAC1C,OAAO,CAAC,QAAQ,CAAoC;IACpD,OAAO,CAAC,eAAe,CAAU;IACjC,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,QAAQ,CAAyB;gBAE7B,OAAO,EAAE,kBAAkB;IAYvC;;;;OAIG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAE,OAAe,GAAG,IAAI;IA6D3D;;;OAGG;IACH,YAAY,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,IAAI;IAc1C;;OAEG;IACH,SAAS,IAAI,IAAI;IAajB;;OAEG;IACH,YAAY,IAAI,SAAS,EAAE;IAI3B;;;;OAIG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa;IAK5C;;OAEG;IACH,QAAQ,IAAI,OAAO;IAInB;;;OAGG;IACH,WAAW,IAAI,QAAQ,GAAG,IAAI;IAI9B;;OAEG;IACH,OAAO,CAAC,WAAW;IA6DnB,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,WAAW;IAkBnB,OAAO,CAAC,aAAa;IAkCrB,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,YAAY;IAIpB;;;OAGG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAStC;;OAEG;IACH,OAAO,IAAI,IAAI;CAIhB"}
@@ -0,0 +1,5 @@
1
+ import type { ColumnDef } from '../../types/column';
2
+ import type { SortDescriptor, SortState } from '../../types/sort';
3
+ export declare function normalizeSortState(sortState: SortState[]): SortState[];
4
+ export declare function serializeSortState(sortState: SortState[], columns?: ColumnDef[]): SortDescriptor[];
5
+ //# sourceMappingURL=sort-request.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sort-request.d.ts","sourceRoot":"","sources":["../../../../src/features/sorting/sort-request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAiB,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAQjF,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,CA6CtE;AAED,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,SAAS,EAAE,EACtB,OAAO,CAAC,EAAE,SAAS,EAAE,GACpB,cAAc,EAAE,CAOlB"}
@@ -1,4 +1,6 @@
1
- import type { FilterModel } from '../../types';
1
+ import type { FilterExpression, FilterModel } from '../../types';
2
+ import type { FilterExportResult } from '../../features/filtering/adapters/types';
3
+ import type { FieldFilterState } from '../../features/filtering/types';
2
4
  import type { SlimGridContext } from '../grid-context';
3
5
  export interface FilterApi {
4
6
  set(column: number, operator: string, value: any): void;
@@ -6,12 +8,14 @@ export interface FilterApi {
6
8
  operator: string;
7
9
  value: any;
8
10
  }>, logic?: 'AND' | 'OR'): void;
11
+ setFieldState(state: FieldFilterState): void;
9
12
  clear(): void;
10
13
  clearColumn(column: number): void;
11
14
  getState(): FilterModel[];
12
15
  setState(models: FilterModel[]): void;
13
- getFieldState(): any;
14
- getExports(): any;
16
+ getFieldState(): FieldFilterState | null;
17
+ getExports(): FilterExportResult | null;
18
+ getExpression(): FilterExpression | null;
15
19
  getMode(): 'frontend' | 'backend';
16
20
  setQuick(query: string, columns?: number[]): void;
17
21
  clearQuick(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"filter-api.d.ts","sourceRoot":"","sources":["../../../../src/grid/api/filter-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD,MAAM,WAAW,SAAS;IACxB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI,CAAC;IACxD,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAE,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC;IAC3G,KAAK,IAAI,IAAI,CAAC;IACd,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,IAAI,WAAW,EAAE,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IACtC,aAAa,IAAI,GAAG,CAAC;IACrB,UAAU,IAAI,GAAG,CAAC;IAClB,OAAO,IAAI,UAAU,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAClD,UAAU,IAAI,IAAI,CAAC;IACnB,QAAQ,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;KAAE,CAAC;CACzD;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,eAAe,GAAG,SAAS,CAqE/D"}
1
+ {"version":3,"file":"filter-api.d.ts","sourceRoot":"","sources":["../../../../src/grid/api/filter-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAClF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGvD,MAAM,WAAW,SAAS;IACxB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI,CAAC;IACxD,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAE,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC;IAC3G,aAAa,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC7C,KAAK,IAAI,IAAI,CAAC;IACd,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,IAAI,WAAW,EAAE,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IACtC,aAAa,IAAI,gBAAgB,GAAG,IAAI,CAAC;IACzC,UAAU,IAAI,kBAAkB,GAAG,IAAI,CAAC;IACxC,aAAa,IAAI,gBAAgB,GAAG,IAAI,CAAC;IACzC,OAAO,IAAI,UAAU,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAClD,UAAU,IAAI,IAAI,CAAC;IACnB,QAAQ,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;KAAE,CAAC;CACzD;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,eAAe,GAAG,SAAS,CAiF/D"}
@@ -1 +1 @@
1
- {"version":3,"file":"sort-api.d.ts","sourceRoot":"","sources":["../../../../src/grid/api/sort-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD,MAAM,WAAW,OAAO;IACtB,KAAK,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IACpC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,KAAK,IAAI,IAAI,CAAC;IACd,QAAQ,IAAI,SAAS,EAAE,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IACvC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC;IACnC,QAAQ,IAAI;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,OAAO,IAAI,UAAU,GAAG,SAAS,CAAC;CACnC;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAkD3D"}
1
+ {"version":3,"file":"sort-api.d.ts","sourceRoot":"","sources":["../../../../src/grid/api/sort-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGvD,MAAM,WAAW,OAAO;IACtB,KAAK,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IACpC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,KAAK,IAAI,IAAI,CAAC;IACd,QAAQ,IAAI,SAAS,EAAE,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IACvC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC;IACnC,QAAQ,IAAI;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,OAAO,IAAI,UAAU,GAAG,SAAS,CAAC;CACnC;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAmD3D"}