@mozaic-ds/angular 2.0.43 → 2.0.45
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/fesm2022/mozaic-ds-angular.mjs +1136 -282
- package/fesm2022/mozaic-ds-angular.mjs.map +1 -1
- package/package.json +1 -1
- package/types/mozaic-ds-angular.d.ts +199 -29
package/package.json
CHANGED
|
@@ -2314,6 +2314,65 @@ interface BulkDeleteEvent {
|
|
|
2314
2314
|
rowSelection?: unknown;
|
|
2315
2315
|
}
|
|
2316
2316
|
|
|
2317
|
+
/**
|
|
2318
|
+
* Filter model — multi-condition filter builder with AND/OR combinators.
|
|
2319
|
+
*
|
|
2320
|
+
* Evaluation is left-associative (no operator precedence). Grouped / parenthesised
|
|
2321
|
+
* conditions (`(a AND b) OR c`) are out of scope for the MVP; see docs.
|
|
2322
|
+
*/
|
|
2323
|
+
type FilterDataType = 'text' | 'number' | 'date' | 'set' | 'boolean';
|
|
2324
|
+
type TextOperator = 'contains' | 'notContains' | 'equals' | 'notEquals' | 'startsWith' | 'endsWith' | 'blank' | 'notBlank';
|
|
2325
|
+
type NumberOperator = 'equals' | 'notEquals' | 'gt' | 'gte' | 'lt' | 'lte' | 'between' | 'blank' | 'notBlank';
|
|
2326
|
+
type DateOperator = NumberOperator;
|
|
2327
|
+
type SetOperator = 'in' | 'notIn' | 'blank' | 'notBlank';
|
|
2328
|
+
type BooleanOperator = 'equals' | 'blank' | 'notBlank';
|
|
2329
|
+
type FilterOperator = TextOperator | NumberOperator | DateOperator | SetOperator | BooleanOperator;
|
|
2330
|
+
type FilterCombinator = 'and' | 'or';
|
|
2331
|
+
interface FilterValue {
|
|
2332
|
+
/** Primary value. Absent / ignored for `blank` / `notBlank`. */
|
|
2333
|
+
value?: unknown;
|
|
2334
|
+
/** Upper bound for `between`. */
|
|
2335
|
+
valueTo?: unknown;
|
|
2336
|
+
}
|
|
2337
|
+
interface FilterCondition {
|
|
2338
|
+
/** Stable identifier — used for trackBy and drag-drop reordering. */
|
|
2339
|
+
id: string;
|
|
2340
|
+
/** Ignored for the first condition. Rendered as "Where" in the UI. */
|
|
2341
|
+
combinator: FilterCombinator;
|
|
2342
|
+
field: string;
|
|
2343
|
+
operator: FilterOperator;
|
|
2344
|
+
value: FilterValue;
|
|
2345
|
+
}
|
|
2346
|
+
interface FilterModel {
|
|
2347
|
+
conditions: FilterCondition[];
|
|
2348
|
+
}
|
|
2349
|
+
type FilterChangeReason = 'add' | 'update' | 'remove' | 'reorder' | 'clear' | 'replace';
|
|
2350
|
+
/**
|
|
2351
|
+
* Payload emitted whenever the filter model changes. Replaces the legacy
|
|
2352
|
+
* `{ filters: ActiveFilter[] }` shape.
|
|
2353
|
+
*/
|
|
2354
|
+
interface FilterEvent {
|
|
2355
|
+
/** Full model after mutation. */
|
|
2356
|
+
model: FilterModel;
|
|
2357
|
+
/** Condition concerned by the mutation. null for `clear` / `replace`. */
|
|
2358
|
+
condition: FilterCondition | null;
|
|
2359
|
+
/** Mutation kind. */
|
|
2360
|
+
reason: FilterChangeReason;
|
|
2361
|
+
}
|
|
2362
|
+
type FilterApplyMode = 'auto' | 'manual';
|
|
2363
|
+
/** Minimal column info the builder needs to render labels, operators and value editors. */
|
|
2364
|
+
interface FilterColumnDescriptor {
|
|
2365
|
+
field: string;
|
|
2366
|
+
headerName: string;
|
|
2367
|
+
filterType: FilterDataType;
|
|
2368
|
+
operators: FilterOperator[];
|
|
2369
|
+
options?: {
|
|
2370
|
+
value: unknown;
|
|
2371
|
+
label: string;
|
|
2372
|
+
}[];
|
|
2373
|
+
defaultOperator: FilterOperator;
|
|
2374
|
+
}
|
|
2375
|
+
|
|
2317
2376
|
type SortDirection = 'asc' | 'desc' | null;
|
|
2318
2377
|
type CellEditorType = 'text' | 'number' | 'textarea' | 'select' | 'checkbox' | 'date' | 'toggle' | 'custom';
|
|
2319
2378
|
interface ColumnDef<T = unknown> {
|
|
@@ -2341,6 +2400,20 @@ interface ColumnDef<T = unknown> {
|
|
|
2341
2400
|
groupable?: boolean;
|
|
2342
2401
|
/** Whether column supports filtering */
|
|
2343
2402
|
filterable?: boolean;
|
|
2403
|
+
/**
|
|
2404
|
+
* Filter data type. When omitted, it is derived from `cellEditor`:
|
|
2405
|
+
* `number → number`, `date → date`, `select → set`, anything else → `text`.
|
|
2406
|
+
*/
|
|
2407
|
+
filterType?: FilterDataType;
|
|
2408
|
+
/** Allowed operators — subset of the defaults for `filterType`. Optional. */
|
|
2409
|
+
filterOperators?: FilterOperator[];
|
|
2410
|
+
/** Default operator used when a condition is created for this column. */
|
|
2411
|
+
defaultFilterOperator?: FilterOperator;
|
|
2412
|
+
/** For `set` filters: the options shown in the value picker. */
|
|
2413
|
+
filterOptions?: {
|
|
2414
|
+
value: unknown;
|
|
2415
|
+
label: string;
|
|
2416
|
+
}[];
|
|
2344
2417
|
/** Whether column is pinned/frozen ('start' | 'end' | null) */
|
|
2345
2418
|
pinned?: 'start' | 'end' | null;
|
|
2346
2419
|
/** Whether column is visible */
|
|
@@ -2455,13 +2528,16 @@ interface LoadMoreEvent {
|
|
|
2455
2528
|
limit: number;
|
|
2456
2529
|
}
|
|
2457
2530
|
|
|
2458
|
-
|
|
2459
|
-
|
|
2460
|
-
|
|
2531
|
+
/**
|
|
2532
|
+
* Lightweight display descriptor for the "FILTERED BY" tag bar. Derived from
|
|
2533
|
+
* the active filter model via `FilterEngine.toLabel()`; kept as a separate
|
|
2534
|
+
* shape so the tag bar template does not depend on the full `FilterCondition`.
|
|
2535
|
+
*/
|
|
2461
2536
|
interface ActiveFilter {
|
|
2537
|
+
/** Condition id (not the column field — multiple conditions can target the same field). */
|
|
2538
|
+
id: string;
|
|
2462
2539
|
field: string;
|
|
2463
2540
|
label: string;
|
|
2464
|
-
value: unknown;
|
|
2465
2541
|
removable: boolean;
|
|
2466
2542
|
}
|
|
2467
2543
|
interface GroupEvent {
|
|
@@ -2564,23 +2640,6 @@ interface GroupDrawerResult {
|
|
|
2564
2640
|
groups: GroupEntry[];
|
|
2565
2641
|
}
|
|
2566
2642
|
|
|
2567
|
-
interface FilterDef {
|
|
2568
|
-
field: string;
|
|
2569
|
-
type: 'text' | 'select' | 'range' | 'custom';
|
|
2570
|
-
operator: 'contains' | 'equals' | 'startsWith' | 'gt' | 'lt' | 'between' | 'in';
|
|
2571
|
-
value: unknown;
|
|
2572
|
-
}
|
|
2573
|
-
declare class FilterEngine<T = unknown> {
|
|
2574
|
-
private readonly state;
|
|
2575
|
-
setFilter(field: string, value: unknown, operator?: FilterDef['operator']): void;
|
|
2576
|
-
removeFilter(field: string): void;
|
|
2577
|
-
clearAllFilters(): void;
|
|
2578
|
-
filterData(data: T[]): T[];
|
|
2579
|
-
private matchFilter;
|
|
2580
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FilterEngine<any>, never>;
|
|
2581
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<FilterEngine<any>>;
|
|
2582
|
-
}
|
|
2583
|
-
|
|
2584
2643
|
declare class GridStateManager<T = unknown> {
|
|
2585
2644
|
readonly sourceData: _angular_core.WritableSignal<T[]>;
|
|
2586
2645
|
readonly totalItems: _angular_core.WritableSignal<number>;
|
|
@@ -2591,8 +2650,11 @@ declare class GridStateManager<T = unknown> {
|
|
|
2591
2650
|
readonly activeSorts: _angular_core.WritableSignal<SortDef[]>;
|
|
2592
2651
|
readonly groupColumns: _angular_core.WritableSignal<GroupEntry[]>;
|
|
2593
2652
|
readonly expandedGroups: _angular_core.WritableSignal<Set<string>>;
|
|
2594
|
-
|
|
2595
|
-
|
|
2653
|
+
/**
|
|
2654
|
+
* Unified filter state: single source of truth for the multi-condition
|
|
2655
|
+
* builder. The tag-bar displays a derived view via `FilterEngine.toLabel()`.
|
|
2656
|
+
*/
|
|
2657
|
+
readonly filterModel: _angular_core.WritableSignal<FilterModel>;
|
|
2596
2658
|
readonly pageIndex: _angular_core.WritableSignal<number>;
|
|
2597
2659
|
readonly pageSize: _angular_core.WritableSignal<number>;
|
|
2598
2660
|
readonly visibleRowCount: _angular_core.WritableSignal<number>;
|
|
@@ -2674,12 +2736,24 @@ declare class RowSelectionEngine<T = unknown> {
|
|
|
2674
2736
|
private readonly engine;
|
|
2675
2737
|
readonly selectedIds: _angular_core.Signal<Set<unknown>>;
|
|
2676
2738
|
readonly excludedIds: _angular_core.Signal<Set<unknown>>;
|
|
2677
|
-
|
|
2739
|
+
/**
|
|
2740
|
+
* Anchor row for shift-click range selection. We track the row object
|
|
2741
|
+
* (not its index) so the anchor stays valid across grouping, sorting and
|
|
2742
|
+
* filtering — where display indices shift without the underlying row
|
|
2743
|
+
* changing.
|
|
2744
|
+
*/
|
|
2745
|
+
readonly lastToggledRow: _angular_core.WritableSignal<T | null>;
|
|
2678
2746
|
readonly count: _angular_core.Signal<number>;
|
|
2679
2747
|
readonly pageSelectedCount: _angular_core.Signal<number>;
|
|
2680
2748
|
readonly isAllSelected: _angular_core.Signal<boolean>;
|
|
2681
2749
|
readonly isIndeterminate: _angular_core.Signal<boolean>;
|
|
2682
|
-
|
|
2750
|
+
/**
|
|
2751
|
+
* Extends the selection from the last-toggled row (the anchor) to `endRow`,
|
|
2752
|
+
* resolving positions by object identity against the currently paginated
|
|
2753
|
+
* data. This is robust to grouping / sorting / filtering because we don't
|
|
2754
|
+
* rely on numeric indices, and works across any visible page slice.
|
|
2755
|
+
*/
|
|
2756
|
+
selectRowRangeToRow(endRow: T): void;
|
|
2683
2757
|
toggleRow(row: T): void;
|
|
2684
2758
|
isRowSelected(row: T): boolean;
|
|
2685
2759
|
selectAllPage(): void;
|
|
@@ -2770,7 +2844,16 @@ declare class MozGridComponent<T = unknown> {
|
|
|
2770
2844
|
readonly settingsChange: _angular_core.OutputEmitterRef<GridSettingsResult>;
|
|
2771
2845
|
protected readonly isFullscreen: _angular_core.WritableSignal<boolean>;
|
|
2772
2846
|
protected readonly groupPanelOpen: _angular_core.WritableSignal<boolean>;
|
|
2773
|
-
|
|
2847
|
+
/**
|
|
2848
|
+
* Mode controlling how the builder emits `filterChange`:
|
|
2849
|
+
* - `auto` : each mutation triggers an event (default in `client` mode).
|
|
2850
|
+
* - `manual` : only an explicit Apply emits (default in `server` mode).
|
|
2851
|
+
*/
|
|
2852
|
+
readonly filterApplyMode: _angular_core.InputSignal<FilterApplyMode | null>;
|
|
2853
|
+
protected readonly resolvedFilterApplyMode: _angular_core.Signal<FilterApplyMode>;
|
|
2854
|
+
/** Display descriptors for the "FILTERED BY" tag bar. */
|
|
2855
|
+
protected readonly activeFilters: _angular_core.Signal<ActiveFilter[]>;
|
|
2856
|
+
protected readonly activeFilterCount: _angular_core.Signal<number>;
|
|
2774
2857
|
protected readonly hasHiddenColumns: _angular_core.Signal<boolean>;
|
|
2775
2858
|
protected readonly hiddenColumnsList: _angular_core.Signal<{
|
|
2776
2859
|
field: string;
|
|
@@ -2824,8 +2907,11 @@ declare class MozGridComponent<T = unknown> {
|
|
|
2824
2907
|
onToggleGroupSort(field: string): void;
|
|
2825
2908
|
onSelectAllRows(): void;
|
|
2826
2909
|
onClearSelection(): void;
|
|
2827
|
-
|
|
2910
|
+
/** Removes a single condition by id (tag "×" button). */
|
|
2911
|
+
onRemoveFilter(id: string): void;
|
|
2912
|
+
/** Clears the whole filter model ("Remove all" button). */
|
|
2828
2913
|
onRemoveAllFilters(): void;
|
|
2914
|
+
onFiltersClick(): void;
|
|
2829
2915
|
onRestoreColumn(field: string): void;
|
|
2830
2916
|
toggleFullscreen(): void;
|
|
2831
2917
|
onRestoreAllColumns(): void;
|
|
@@ -2859,7 +2945,7 @@ declare class MozGridComponent<T = unknown> {
|
|
|
2859
2945
|
private deleteSelectedRows;
|
|
2860
2946
|
private coerceAndValidate;
|
|
2861
2947
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MozGridComponent<any>, never>;
|
|
2862
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MozGridComponent<any>, "moz-grid", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "totalItems": { "alias": "totalItems"; "required": false; "isSignal": true; }; "pagination": { "alias": "pagination"; "required": false; "isSignal": true; }; "pageSize": { "alias": "pageSize"; "required": false; "isSignal": true; }; "pageSizeOptions": { "alias": "pageSizeOptions"; "required": false; "isSignal": true; }; "rowHeight": { "alias": "rowHeight"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "rowSelection": { "alias": "rowSelection"; "required": false; "isSignal": true; }; "expandable": { "alias": "expandable"; "required": false; "isSignal": true; }; "rowIdField": { "alias": "rowIdField"; "required": false; "isSignal": true; }; "detailTemplate": { "alias": "detailTemplate"; "required": false; "isSignal": true; }; "fullscreen": { "alias": "fullscreen"; "required": false; "isSignal": true; }; "reorderable": { "alias": "reorderable"; "required": false; "isSignal": true; }; "stateKey": { "alias": "stateKey"; "required": false; "isSignal": true; }; "exportable": { "alias": "exportable"; "required": false; "isSignal": true; }; "horizontalVirtualScroll": { "alias": "horizontalVirtualScroll"; "required": false; "isSignal": true; }; "loadingStrategy": { "alias": "loadingStrategy"; "required": false; "isSignal": true; }; "scrollThreshold": { "alias": "scrollThreshold"; "required": false; "isSignal": true; }; "plugins": { "alias": "plugins"; "required": false; "isSignal": true; }; }, { "sortChange": "sortChange"; "pageChange": "pageChange"; "loadMore": "loadMore"; "cellEdit": "cellEdit"; "cellEditCancel": "cellEditCancel"; "selectionChange": "selectionChange"; "cellSelectionChange": "cellSelectionChange"; "groupChange": "groupChange"; "filterChange": "filterChange"; "bulkEdit": "bulkEdit"; "bulkCopy": "bulkCopy"; "bulkPaste": "bulkPaste"; "bulkDelete": "bulkDelete"; "fillDown": "fillDown"; "settingsChange": "settingsChange"; }, ["columnDefs", "toolbarDefs"], ["[mozGridFilterTags]"], true, never>;
|
|
2948
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MozGridComponent<any>, "moz-grid", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "totalItems": { "alias": "totalItems"; "required": false; "isSignal": true; }; "pagination": { "alias": "pagination"; "required": false; "isSignal": true; }; "pageSize": { "alias": "pageSize"; "required": false; "isSignal": true; }; "pageSizeOptions": { "alias": "pageSizeOptions"; "required": false; "isSignal": true; }; "rowHeight": { "alias": "rowHeight"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "rowSelection": { "alias": "rowSelection"; "required": false; "isSignal": true; }; "expandable": { "alias": "expandable"; "required": false; "isSignal": true; }; "rowIdField": { "alias": "rowIdField"; "required": false; "isSignal": true; }; "detailTemplate": { "alias": "detailTemplate"; "required": false; "isSignal": true; }; "fullscreen": { "alias": "fullscreen"; "required": false; "isSignal": true; }; "reorderable": { "alias": "reorderable"; "required": false; "isSignal": true; }; "stateKey": { "alias": "stateKey"; "required": false; "isSignal": true; }; "exportable": { "alias": "exportable"; "required": false; "isSignal": true; }; "horizontalVirtualScroll": { "alias": "horizontalVirtualScroll"; "required": false; "isSignal": true; }; "loadingStrategy": { "alias": "loadingStrategy"; "required": false; "isSignal": true; }; "scrollThreshold": { "alias": "scrollThreshold"; "required": false; "isSignal": true; }; "plugins": { "alias": "plugins"; "required": false; "isSignal": true; }; "filterApplyMode": { "alias": "filterApplyMode"; "required": false; "isSignal": true; }; }, { "sortChange": "sortChange"; "pageChange": "pageChange"; "loadMore": "loadMore"; "cellEdit": "cellEdit"; "cellEditCancel": "cellEditCancel"; "selectionChange": "selectionChange"; "cellSelectionChange": "cellSelectionChange"; "groupChange": "groupChange"; "filterChange": "filterChange"; "bulkEdit": "bulkEdit"; "bulkCopy": "bulkCopy"; "bulkPaste": "bulkPaste"; "bulkDelete": "bulkDelete"; "fillDown": "fillDown"; "settingsChange": "settingsChange"; }, ["columnDefs", "toolbarDefs"], ["[mozGridFilterTags]"], true, never>;
|
|
2863
2949
|
}
|
|
2864
2950
|
|
|
2865
2951
|
interface GroupRow<T = unknown> {
|
|
@@ -2980,6 +3066,13 @@ declare class GridEngine<T = unknown> {
|
|
|
2980
3066
|
* Total items count for pagination.
|
|
2981
3067
|
*/
|
|
2982
3068
|
readonly computedTotalItems: _angular_core.Signal<number>;
|
|
3069
|
+
/**
|
|
3070
|
+
* Resolves a display row index (as emitted via `DisplayRow.index`) to the
|
|
3071
|
+
* actual index in `sourceData()`. When sort/filter/group is active these do
|
|
3072
|
+
* not match, so we look up the display row's data object and search for it
|
|
3073
|
+
* in sourceData. Returns -1 when the display index is unknown.
|
|
3074
|
+
*/
|
|
3075
|
+
displayIndexToSourceIndex(displayIndex: number): number;
|
|
2983
3076
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<GridEngine<any>, never>;
|
|
2984
3077
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<GridEngine<any>>;
|
|
2985
3078
|
}
|
|
@@ -3016,6 +3109,7 @@ declare class ColumnResizeEngine<T = unknown> {
|
|
|
3016
3109
|
declare class InlineEditEngine<T = unknown> {
|
|
3017
3110
|
private readonly state;
|
|
3018
3111
|
private readonly history;
|
|
3112
|
+
private readonly gridEngine;
|
|
3019
3113
|
startEdit(rowIndex: number, field: string): void;
|
|
3020
3114
|
/**
|
|
3021
3115
|
* Excel-style "typing-to-edit": starts the editor with the cell value replaced
|
|
@@ -3178,6 +3272,44 @@ declare class GroupEngine<T = unknown> {
|
|
|
3178
3272
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<GroupEngine<any>>;
|
|
3179
3273
|
}
|
|
3180
3274
|
|
|
3275
|
+
declare class FilterEngine<T = unknown> {
|
|
3276
|
+
private readonly state;
|
|
3277
|
+
/** Latest mutation, used by the grid shell to emit `filterChange` once. */
|
|
3278
|
+
private readonly lastChange;
|
|
3279
|
+
readonly conditions: Signal<FilterCondition[]>;
|
|
3280
|
+
readonly hasActiveFilters: Signal<boolean>;
|
|
3281
|
+
readonly lastEvent: Signal<FilterEvent | null>;
|
|
3282
|
+
/** Replaces the whole model in one go. Used by the drawer's Apply button. */
|
|
3283
|
+
setModel(model: FilterModel, reason?: FilterChangeReason): void;
|
|
3284
|
+
addCondition(condition: FilterCondition): void;
|
|
3285
|
+
updateCondition(id: string, patch: Partial<FilterCondition>): void;
|
|
3286
|
+
removeCondition(id: string): void;
|
|
3287
|
+
reorderConditions(fromIndex: number, toIndex: number): void;
|
|
3288
|
+
clearAll(): void;
|
|
3289
|
+
/** Convenience: drop all conditions that target a given field. */
|
|
3290
|
+
removeByField(field: string): void;
|
|
3291
|
+
/**
|
|
3292
|
+
* Evaluates the current model against the provided data. In `server` mode,
|
|
3293
|
+
* the grid delegates filtering to the consumer so we return the input as-is.
|
|
3294
|
+
*/
|
|
3295
|
+
filterData(data: T[]): T[];
|
|
3296
|
+
/** Returns a human-readable label for a condition ("Status equals En stock"). */
|
|
3297
|
+
toLabel(condition: FilterCondition): string;
|
|
3298
|
+
/** Returns the filter data type inferred for a column. */
|
|
3299
|
+
getFilterType(field: string): FilterDataType;
|
|
3300
|
+
/**
|
|
3301
|
+
* Builds the column descriptors consumed by the filter builder UI. The
|
|
3302
|
+
* returned list includes only filterable columns.
|
|
3303
|
+
*/
|
|
3304
|
+
describeFilterableColumns(): FilterColumnDescriptor[];
|
|
3305
|
+
describeColumn(def: ColumnDef<T>): FilterColumnDescriptor;
|
|
3306
|
+
/** Factory for new conditions created by the UI. */
|
|
3307
|
+
makeCondition(field: string, isFirst: boolean, overrides?: Partial<FilterCondition>): FilterCondition;
|
|
3308
|
+
private notify;
|
|
3309
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FilterEngine<any>, never>;
|
|
3310
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<FilterEngine<any>>;
|
|
3311
|
+
}
|
|
3312
|
+
|
|
3181
3313
|
declare class ColumnReorderEngine<T = unknown> {
|
|
3182
3314
|
private readonly state;
|
|
3183
3315
|
reorder(previousIndex: number, newIndex: number): void;
|
|
@@ -3211,6 +3343,8 @@ interface PersistedGridState {
|
|
|
3211
3343
|
pinned: 'start' | 'end' | null;
|
|
3212
3344
|
}>;
|
|
3213
3345
|
sorts: SortDef[];
|
|
3346
|
+
/** Serialised filter conditions. `id` is regenerated on restore. */
|
|
3347
|
+
filters?: Array<Omit<FilterCondition, 'id'>>;
|
|
3214
3348
|
}
|
|
3215
3349
|
declare class StatePersistenceEngine<T = unknown> {
|
|
3216
3350
|
private readonly state;
|
|
@@ -3383,13 +3517,47 @@ declare class MozGridHeaderComponent {
|
|
|
3383
3517
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MozGridHeaderComponent, "moz-grid-header", never, { "showCheckbox": { "alias": "showCheckbox"; "required": false; "isSignal": true; }; "showExpand": { "alias": "showExpand"; "required": false; "isSignal": true; }; "reorderable": { "alias": "reorderable"; "required": false; "isSignal": true; }; }, { "sortClick": "sortClick"; "menuAction": "menuAction"; "resizeStart": "resizeStart"; "selectAllToggle": "selectAllToggle"; "columnReorder": "columnReorder"; }, never, never, true, never>;
|
|
3384
3518
|
}
|
|
3385
3519
|
|
|
3520
|
+
/**
|
|
3521
|
+
* Programmatically opens a CDK overlay anchored on the host element that
|
|
3522
|
+
* renders the filter builder. Unlike the action-listbox directive, the
|
|
3523
|
+
* overlay does not toggle on click — the host is simply the anchor. Open
|
|
3524
|
+
* the overlay by injecting this directive via a template ref (`#filter`)
|
|
3525
|
+
* and calling `filter.open(options)`.
|
|
3526
|
+
*/
|
|
3527
|
+
declare class MozGridFilterOverlayDirective implements OnDestroy {
|
|
3528
|
+
private readonly overlay;
|
|
3529
|
+
private readonly host;
|
|
3530
|
+
private readonly injector;
|
|
3531
|
+
private readonly engine;
|
|
3532
|
+
private overlayRef;
|
|
3533
|
+
private componentRef;
|
|
3534
|
+
/** Opens the overlay anchored on the host. No-op if already open. */
|
|
3535
|
+
open(options: {
|
|
3536
|
+
columns: FilterColumnDescriptor[];
|
|
3537
|
+
model: FilterModel;
|
|
3538
|
+
/** Optional pre-selected column to seed a new condition. */
|
|
3539
|
+
seedField?: string;
|
|
3540
|
+
onChange: (model: FilterModel) => void;
|
|
3541
|
+
}): void;
|
|
3542
|
+
close(): void;
|
|
3543
|
+
ngOnDestroy(): void;
|
|
3544
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MozGridFilterOverlayDirective, never>;
|
|
3545
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<MozGridFilterOverlayDirective, "[mozGridFilterOverlay]", ["mozGridFilterOverlay"], {}, {}, never, never, true, never>;
|
|
3546
|
+
}
|
|
3547
|
+
|
|
3386
3548
|
declare class MozGridHeaderCellComponent<T = unknown> {
|
|
3387
3549
|
private readonly state;
|
|
3550
|
+
private readonly filterEngine;
|
|
3388
3551
|
readonly columnState: _angular_core.InputSignal<ColumnStateEntry>;
|
|
3389
3552
|
readonly def: _angular_core.InputSignal<ColumnDef<T>>;
|
|
3390
3553
|
readonly isLast: _angular_core.InputSignal<boolean>;
|
|
3391
3554
|
readonly pinnedEnd: _angular_core.InputSignal<boolean>;
|
|
3392
3555
|
readonly reorderable: _angular_core.InputSignal<boolean>;
|
|
3556
|
+
protected readonly filterOverlay: _angular_core.Signal<MozGridFilterOverlayDirective | undefined>;
|
|
3557
|
+
/** True when at least one active condition targets this column. */
|
|
3558
|
+
readonly hasActiveFilter: _angular_core.Signal<boolean>;
|
|
3559
|
+
/** Tooltip for the gear / filter button (count + short summary). */
|
|
3560
|
+
readonly filterTooltip: _angular_core.Signal<string>;
|
|
3393
3561
|
readonly resolvedMinWidth: _angular_core.Signal<number>;
|
|
3394
3562
|
readonly isDragging: _angular_core.Signal<boolean>;
|
|
3395
3563
|
readonly sortClick: _angular_core.OutputEmitterRef<{
|
|
@@ -3405,6 +3573,7 @@ declare class MozGridHeaderCellComponent<T = unknown> {
|
|
|
3405
3573
|
readonly menuItems: _angular_core.Signal<MozActionListItem[]>;
|
|
3406
3574
|
onHeaderClick(event: MouseEvent): void;
|
|
3407
3575
|
onMenuItemClick(item: MozActionListItem): void;
|
|
3576
|
+
private openFilterOverlay;
|
|
3408
3577
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MozGridHeaderCellComponent<any>, never>;
|
|
3409
3578
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MozGridHeaderCellComponent<any>, "moz-grid-header-cell", never, { "columnState": { "alias": "columnState"; "required": true; "isSignal": true; }; "def": { "alias": "def"; "required": true; "isSignal": true; }; "isLast": { "alias": "isLast"; "required": false; "isSignal": true; }; "pinnedEnd": { "alias": "pinnedEnd"; "required": false; "isSignal": true; }; "reorderable": { "alias": "reorderable"; "required": false; "isSignal": true; }; }, { "sortClick": "sortClick"; "menuAction": "menuAction"; "resizeStart": "resizeStart"; }, never, never, true, never>;
|
|
3410
3579
|
}
|
|
@@ -3481,6 +3650,7 @@ declare class MozGridCellComponent<T = unknown> {
|
|
|
3481
3650
|
private readonly cellSelectionEngine;
|
|
3482
3651
|
private readonly validationEngine;
|
|
3483
3652
|
private readonly clipboard;
|
|
3653
|
+
private readonly gridEngine;
|
|
3484
3654
|
private readonly elRef;
|
|
3485
3655
|
private preEditWidth;
|
|
3486
3656
|
constructor();
|
|
@@ -4083,4 +4253,4 @@ declare class MozTreeNodeComponent<T = unknown> {
|
|
|
4083
4253
|
}
|
|
4084
4254
|
|
|
4085
4255
|
export { ACTION_LISTBOX_CONFIG, ActionListboxContainerComponent, ActionListboxRef, BuiltInMenuComponent, CellSelectionEngine, CellValidationEngine, ColumnReorderEngine, ColumnResizeEngine, DEFAULT_ACTION_LISTBOX_CONFIG, DEFAULT_GRID_OPTIONS, DEFAULT_MODAL_CONFIG, DEFAULT_TOASTER_CONFIG, DRAWER_CONFIG, DRAWER_DATA, DrawerContainerComponent, ExpandableRowEngine, ExportEngine, FilterEngine, GridEngine, GridGroupDrawerComponent, GridSettingsDrawerComponent, GridStateManager, GroupEngine, HorizontalVirtualScrollEngine, InfiniteScrollEngine, InlineEditEngine, KeyboardEngine, MODAL_CONFIG, MODAL_DATA, MozAccordionComponent, MozAccordionContentComponent, MozAccordionHeaderComponent, MozAccordionPanelComponent, MozActionBottomBarComponent, MozActionListboxComponent, MozActionListboxTriggerDirective, MozAvatarComponent, MozBreadcrumbComponent, MozButtonComponent, MozCalloutComponent, MozCarouselComponent, MozCheckListMenuComponent, MozCheckboxComponent, MozCheckboxGroupComponent, MozCircularProgressBarComponent, MozComboboxComponent, MozComboboxHarness, MozComboboxOptionHarness, MozDatepickerComponent, MozDividerComponent, MozDrawerComponent, MozDrawerFooterDirective, MozDrawerRef, MozDrawerService, MozFieldComponent, MozFieldGroupComponent, MozFileUploaderComponent, MozFileUploaderItemComponent, MozFlagComponent, MozGridBodyComponent, MozGridCellComponent, MozGridColumnDef, MozGridColumnVisibilityPanelComponent, MozGridComponent, MozGridDetailRowComponent, MozGridFooterComponent, MozGridGroupRowComponent, MozGridHeaderCellComponent, MozGridHeaderComponent, MozGridHeaderMenuComponent, MozGridLoadingIndicatorComponent, MozGridRowComponent, MozGridToolbarDef, MozIconButtonComponent, MozKpiComponent, MozLinearProgressBarBufferComponent, MozLinearProgressBarPercentageComponent, MozLinkComponent, MozLoaderComponent, MozLoadingOverlayComponent, MozModalComponent, MozModalFooterDirective, MozModalRef, MozModalService, MozNavigationIndicatorComponent, MozNumberBadgeComponent, MozOverlayComponent, MozPageHeaderComponent, MozPaginationComponent, MozPasswordInputDirective, MozPhoneNumberComponent, MozPincodeInputComponent, MozPopoverComponent, MozPopoverFooterDirective, MozPopoverTriggerDirective, MozQuantitySelectorComponent, MozRadioComponent, MozRadioGroupComponent, MozSegmentedControlComponent, MozSelectComponent, MozSidebarComponent, MozStarRatingComponent, MozStatusBadgeComponent, MozStatusDotComponent, MozStatusMessageComponent, MozStatusNotificationComponent, MozStepperBottomBarComponent, MozStepperCompactComponent, MozStepperInlineComponent, MozStepperStackedComponent, MozTabComponent, MozTabsComponent, MozTagComponent, MozTextInput, MozTextarea, MozTileComponent, MozTileExpandableComponent, MozTileSelectableComponent, MozToasterComponent, MozToasterRef, MozToasterService, MozToggleComponent, MozTooltipComponent, MozTooltipDirective, MozTreeComponent, MozTreeNodeComponent, MozTreeNodeTemplateDirective, POPOVER_CONFIG, POPOVER_DATA, PaginationEngine, PopoverContainerComponent, PopoverRef, PopoverService, RowSelectionEngine, SortEngine, StatePersistenceEngine, TOASTER_CONFIG, TreeEngine, TreeKeyboardService, TreeSelectionService, TreeStateService, isSection, trackByField, trackDisplayRow };
|
|
4086
|
-
export type { ActionListboxConfig, ActionListboxPosition, ActiveFilter, BulkCopyEvent, BulkDeleteEvent, BulkEditEvent, BulkPasteEvent, CellCoord, CellEditCancelEvent, CellEditEvent, CellEditState, CellEditorType, CellError, CellRange, CellSelectionEvent, ColumnDef, ColumnFreezeEvent, ColumnReorderEvent, ColumnResizeEvent, ColumnSearchToggleEvent, ColumnStateEntry, ColumnVisibilityEvent, DisplayRow, ExportOptions, FillDownEvent,
|
|
4256
|
+
export type { ActionListboxConfig, ActionListboxPosition, ActiveFilter, BulkCopyEvent, BulkDeleteEvent, BulkEditEvent, BulkPasteEvent, CellCoord, CellEditCancelEvent, CellEditEvent, CellEditState, CellEditorType, CellError, CellRange, CellSelectionEvent, ColumnDef, ColumnFreezeEvent, ColumnReorderEvent, ColumnResizeEvent, ColumnSearchToggleEvent, ColumnStateEntry, ColumnVisibilityEvent, DisplayRow, ExportOptions, FillDownEvent, FilterEvent, FlatNode, GridDensity, GridEventMap, GridEventType, GridOptions, GridPlugin, GridSettingsData, GridSettingsResult, GridToolbarSlot, GroupDrawerData, GroupDrawerResult, GroupEntry, GroupEvent, GroupRow, HeaderMenuActionId, HeaderMenuConfig, KeyboardActions, LoadChildrenFn, LoadMoreEvent, LoadingStrategy, MozActionListItem, MozActionListItemAppearance, MozAvatarSize, MozBreadcrumbAppearance, MozBreadcrumbLink, MozBuiltInMenuItem, MozBuiltInMenuItemTarget, MozButtonAppearance, MozButtonIconPosition, MozButtonSize, MozButtonType, MozCalloutVariant, MozCheckListMenuItem, MozCircularProgessBarSize, MozComboboxItem, MozComboboxOption, MozComboboxSection, MozComboboxSize, MozDatepickerSize, MozDividerAppearance, MozDividerOrientation, MozDividerSize, MozDrawerConfig, MozDrawerPosition, MozFileUploaderFormat, MozFileUploaderItemFormat, MozFlagType, MozIconButtonAppearance, MozIconButtonSize, MozIconButtonType, MozKpiSize, MozKpiStatus, MozKpiTrend, MozLinearProgressBarBufferSize, MozLinkAppearance, MozLinkIconPosition, MozLinkSize, MozLoaderAppearance, MozLoaderSize, MozNavigationIndicatorAction, MozNumberBadgeAppearance, MozNumberBadgeSize, MozPageHeaderScope, MozPhoneNumberCountry, MozPhoneNumberSize, MozPhoneNumberValue, MozPincodeLength, MozPopoverAppearance, MozPopoverPosition, MozPopoverSize, MozQuantitySelectorSize, MozSegmentedControlSize, MozSegmentedItem, MozSelectOption, MozSelectSize, MozSelectValue, MozSidebarItem, MozSidebarSubItem, MozStarRatingAppearance, MozStarRatingSize, MozStatusBadgeStatus, MozStatusDotSize, MozStatusDotStatus, MozStatusMessageStatus, MozStatusNotificationStatus, MozStepperBottomBarStep, MozStepperInlineStep, MozStepperStackedStep, MozTabItem, MozTagSize, MozTagType, MozTextInputSize, MozTileAppearance, MozTileExpandableTrigger, MozTileInputPosition, MozTileInputVerticalPosition, MozTileSelectableAppearance, MozTileSelectableType, MozToasterPosition, MozToasterRole, MozToasterStatus, MozToggleSize, MozTooltipPosition, PageEvent, PaginationState, PersistedGridState, PopoverConfig, PopoverTriggerMode, RowSelectionEvent, SelectAllMode, SortDef, SortDirection, SortEvent, TreeDisplayRow, TreeNode, TreeNodeConfig, TreeNodeContext, TreeSelectionMode };
|