@clr/angular 18.3.0 → 18.4.0
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/clr-angular-accordion.mjs +28 -28
- package/fesm2022/clr-angular-accordion.mjs.map +1 -1
- package/fesm2022/clr-angular-button.mjs +27 -27
- package/fesm2022/clr-angular-button.mjs.map +1 -1
- package/fesm2022/clr-angular-card.mjs +417 -0
- package/fesm2022/clr-angular-card.mjs.map +1 -0
- package/fesm2022/clr-angular-collapsible-panel.mjs +6 -6
- package/fesm2022/clr-angular-collapsible-panel.mjs.map +1 -1
- package/fesm2022/clr-angular-data-datagrid.mjs +1105 -352
- package/fesm2022/clr-angular-data-datagrid.mjs.map +1 -1
- package/fesm2022/clr-angular-data-stack-view.mjs +23 -23
- package/fesm2022/clr-angular-data-stack-view.mjs.map +1 -1
- package/fesm2022/clr-angular-data-tree-view.mjs +283 -48
- package/fesm2022/clr-angular-data-tree-view.mjs.map +1 -1
- package/fesm2022/clr-angular-data.mjs +4 -4
- package/fesm2022/clr-angular-data.mjs.map +1 -1
- package/fesm2022/clr-angular-emphasis-alert.mjs +26 -26
- package/fesm2022/clr-angular-emphasis-alert.mjs.map +1 -1
- package/fesm2022/clr-angular-emphasis-badge.mjs +3 -3
- package/fesm2022/clr-angular-emphasis-badge.mjs.map +1 -1
- package/fesm2022/clr-angular-emphasis-label.mjs +3 -3
- package/fesm2022/clr-angular-emphasis-label.mjs.map +1 -1
- package/fesm2022/clr-angular-emphasis.mjs +4 -4
- package/fesm2022/clr-angular-emphasis.mjs.map +1 -1
- package/fesm2022/clr-angular-forms-checkbox.mjs +13 -13
- package/fesm2022/clr-angular-forms-checkbox.mjs.map +1 -1
- package/fesm2022/clr-angular-forms-combobox.mjs +35 -35
- package/fesm2022/clr-angular-forms-combobox.mjs.map +1 -1
- package/fesm2022/clr-angular-forms-common.mjs +69 -69
- package/fesm2022/clr-angular-forms-common.mjs.map +1 -1
- package/fesm2022/clr-angular-forms-datalist.mjs +17 -17
- package/fesm2022/clr-angular-forms-datalist.mjs.map +1 -1
- package/fesm2022/clr-angular-forms-datepicker.mjs +73 -73
- package/fesm2022/clr-angular-forms-datepicker.mjs.map +1 -1
- package/fesm2022/clr-angular-forms-file-input.mjs +36 -36
- package/fesm2022/clr-angular-forms-file-input.mjs.map +1 -1
- package/fesm2022/clr-angular-forms-input.mjs +10 -10
- package/fesm2022/clr-angular-forms-input.mjs.map +1 -1
- package/fesm2022/clr-angular-forms-number-input.mjs +11 -11
- package/fesm2022/clr-angular-forms-number-input.mjs.map +1 -1
- package/fesm2022/clr-angular-forms-password.mjs +11 -11
- package/fesm2022/clr-angular-forms-password.mjs.map +1 -1
- package/fesm2022/clr-angular-forms-radio.mjs +13 -13
- package/fesm2022/clr-angular-forms-radio.mjs.map +1 -1
- package/fesm2022/clr-angular-forms-range.mjs +10 -10
- package/fesm2022/clr-angular-forms-range.mjs.map +1 -1
- package/fesm2022/clr-angular-forms-select.mjs +10 -10
- package/fesm2022/clr-angular-forms-select.mjs.map +1 -1
- package/fesm2022/clr-angular-forms-textarea.mjs +10 -10
- package/fesm2022/clr-angular-forms-textarea.mjs.map +1 -1
- package/fesm2022/clr-angular-forms.mjs +4 -4
- package/fesm2022/clr-angular-forms.mjs.map +1 -1
- package/fesm2022/clr-angular-icon.mjs +81 -41
- package/fesm2022/clr-angular-icon.mjs.map +1 -1
- package/fesm2022/clr-angular-layout-breadcrumbs.mjs +10 -10
- package/fesm2022/clr-angular-layout-breadcrumbs.mjs.map +1 -1
- package/fesm2022/clr-angular-layout-main-container.mjs +7 -7
- package/fesm2022/clr-angular-layout-main-container.mjs.map +1 -1
- package/fesm2022/clr-angular-layout-nav.mjs +22 -22
- package/fesm2022/clr-angular-layout-nav.mjs.map +1 -1
- package/fesm2022/clr-angular-layout-tabs.mjs +35 -35
- package/fesm2022/clr-angular-layout-tabs.mjs.map +1 -1
- package/fesm2022/clr-angular-layout-vertical-nav.mjs +31 -31
- package/fesm2022/clr-angular-layout-vertical-nav.mjs.map +1 -1
- package/fesm2022/clr-angular-layout.mjs +4 -4
- package/fesm2022/clr-angular-layout.mjs.map +1 -1
- package/fesm2022/clr-angular-modal.mjs +26 -26
- package/fesm2022/clr-angular-modal.mjs.map +1 -1
- package/fesm2022/clr-angular-popover-common.mjs +69 -34
- package/fesm2022/clr-angular-popover-common.mjs.map +1 -1
- package/fesm2022/clr-angular-popover-dropdown.mjs +63 -26
- package/fesm2022/clr-angular-popover-dropdown.mjs.map +1 -1
- package/fesm2022/clr-angular-popover-signpost.mjs +27 -25
- package/fesm2022/clr-angular-popover-signpost.mjs.map +1 -1
- package/fesm2022/clr-angular-popover-tooltip.mjs +19 -19
- package/fesm2022/clr-angular-popover-tooltip.mjs.map +1 -1
- package/fesm2022/clr-angular-popover.mjs +4 -4
- package/fesm2022/clr-angular-popover.mjs.map +1 -1
- package/fesm2022/clr-angular-progress-progress-bars.mjs +7 -7
- package/fesm2022/clr-angular-progress-progress-bars.mjs.map +1 -1
- package/fesm2022/clr-angular-progress-spinner.mjs +7 -7
- package/fesm2022/clr-angular-progress-spinner.mjs.map +1 -1
- package/fesm2022/clr-angular-stepper.mjs +31 -31
- package/fesm2022/clr-angular-stepper.mjs.map +1 -1
- package/fesm2022/clr-angular-timeline.mjs +23 -23
- package/fesm2022/clr-angular-timeline.mjs.map +1 -1
- package/fesm2022/clr-angular-utils-conditional.mjs +16 -16
- package/fesm2022/clr-angular-utils-conditional.mjs.map +1 -1
- package/fesm2022/clr-angular-utils-loading.mjs +7 -7
- package/fesm2022/clr-angular-utils-loading.mjs.map +1 -1
- package/fesm2022/clr-angular-utils.mjs +144 -152
- package/fesm2022/clr-angular-utils.mjs.map +1 -1
- package/fesm2022/clr-angular-wizard.mjs +51 -51
- package/fesm2022/clr-angular-wizard.mjs.map +1 -1
- package/fesm2022/clr-angular.mjs +9 -4
- package/fesm2022/clr-angular.mjs.map +1 -1
- package/package.json +9 -5
- package/types/clr-angular-card.d.ts +110 -0
- package/types/clr-angular-data-datagrid.d.ts +293 -17
- package/types/clr-angular-data-tree-view.d.ts +126 -88
- package/types/clr-angular-forms-datepicker.d.ts +1 -1
- package/types/clr-angular-forms-file-input.d.ts +1 -1
- package/types/clr-angular-icon.d.ts +14 -2
- package/types/clr-angular-popover-common.d.ts +6 -0
- package/types/clr-angular-popover-dropdown.d.ts +33 -4
- package/types/clr-angular-utils.d.ts +61 -20
- package/types/clr-angular.d.ts +8 -6
- package/schematics/vitest.config.d.ts +0 -2
- package/schematics/vitest.config.js +0 -17
- package/schematics/vitest.config.js.map +0 -1
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { TemplateRef, OnDestroy, OnInit, OnChanges, EventEmitter, ElementRef, ViewContainerRef, ChangeDetectorRef, SimpleChanges, DoCheck, IterableDiffers, TrackByFunction, QueryList, AfterContentInit, AfterViewInit, Renderer2, NgZone, EnvironmentInjector, AfterViewChecked, EmbeddedViewRef, Type } from '@angular/core';
|
|
3
|
-
import * as
|
|
4
|
-
import { ClrCommonStringsService, IfExpandService, ClrLoadingState, ClrExpandableAnimationDirective, DomAdapter, WillyWonka, OompaLoompa } from '@clr/angular/utils';
|
|
2
|
+
import { TemplateRef, OnDestroy, OnInit, OnChanges, EventEmitter, ElementRef, ViewContainerRef, ChangeDetectorRef, SimpleChanges, DoCheck, IterableDiffers, TrackByFunction, QueryList, AfterContentInit, AfterViewInit, Renderer2, NgZone, EnvironmentInjector, Injector, AfterViewChecked, EmbeddedViewRef, Type } from '@angular/core';
|
|
3
|
+
import * as i41 from '@clr/angular/utils';
|
|
4
|
+
import { ClrCommonStringsService, IfExpandService, ClrLoadingState, ClrExpandableAnimationDirective, FocusableItem, DomAdapter, WillyWonka, OompaLoompa } from '@clr/angular/utils';
|
|
5
5
|
import { Observable, BehaviorSubject, Subject, ReplaySubject } from 'rxjs';
|
|
6
6
|
import { ModalStackService } from '@clr/angular/modal';
|
|
7
7
|
import * as i1 from '@clr/angular/popover/common';
|
|
8
8
|
import { ClrPopoverPosition, ClrPopoverService, ClrPopoverType } from '@clr/angular/popover/common';
|
|
9
|
-
import * as
|
|
9
|
+
import * as i40 from '@angular/common';
|
|
10
10
|
import { NgForOfContext } from '@angular/common';
|
|
11
11
|
import * as _clr_angular_data_datagrid from '@clr/angular/data/datagrid';
|
|
12
12
|
import { ClrSignpost } from '@clr/angular/popover/signpost';
|
|
@@ -14,16 +14,18 @@ import { Directionality } from '@angular/cdk/bidi';
|
|
|
14
14
|
import { ListRange } from '@angular/cdk/collections';
|
|
15
15
|
import { CdkVirtualForOfContext, ScrollDispatcher, ViewportRuler, CdkVirtualForOf, CdkFixedSizeVirtualScroll } from '@angular/cdk/scrolling';
|
|
16
16
|
import * as _angular_cdk_overlay from '@angular/cdk/overlay';
|
|
17
|
+
import * as i51 from '@clr/angular/popover/dropdown';
|
|
18
|
+
import { ClrDropdown, DropdownFocusHandler, RootDropdownService, ClrDropdownItem } from '@clr/angular/popover/dropdown';
|
|
17
19
|
import { ClrControlLabel } from '@clr/angular/forms/common';
|
|
18
|
-
import * as
|
|
19
|
-
import * as
|
|
20
|
-
import * as
|
|
21
|
-
import * as
|
|
22
|
-
import * as
|
|
23
|
-
import * as
|
|
24
|
-
import * as
|
|
20
|
+
import * as i42 from '@clr/angular/icon';
|
|
21
|
+
import * as i43 from '@clr/angular/forms/input';
|
|
22
|
+
import * as i44 from '@clr/angular/forms/radio';
|
|
23
|
+
import * as i45 from '@clr/angular/forms/checkbox';
|
|
24
|
+
import * as i46 from '@clr/angular/forms/number-input';
|
|
25
|
+
import * as i47 from '@clr/angular/forms/select';
|
|
26
|
+
import * as i48 from '@angular/forms';
|
|
25
27
|
import { ControlValueAccessor } from '@angular/forms';
|
|
26
|
-
import * as
|
|
28
|
+
import * as i49 from '@clr/angular/progress/spinner';
|
|
27
29
|
|
|
28
30
|
/**
|
|
29
31
|
* Enumeration representing the sorting order of a datagrid column. It is a constant Enum,
|
|
@@ -76,6 +78,48 @@ interface ClrDatagridFilterInterface<T, S = any> {
|
|
|
76
78
|
equals?(other: ClrDatagridFilterInterface<T, any>): boolean;
|
|
77
79
|
}
|
|
78
80
|
|
|
81
|
+
/**
|
|
82
|
+
* The part of a filter that the actions menu needs. Declared here rather than importing
|
|
83
|
+
* ClrDatagridFilter, which would close an import cycle back through this service.
|
|
84
|
+
*/
|
|
85
|
+
interface ColumnFilterHandle {
|
|
86
|
+
readonly active: boolean;
|
|
87
|
+
/**
|
|
88
|
+
* The id of the popover the filter renders its content into, for the menu item that opens it to
|
|
89
|
+
* point `aria-controls` at. Optional because it only exists once the filter has an element to
|
|
90
|
+
* label - a handle can register before then.
|
|
91
|
+
*/
|
|
92
|
+
readonly popoverId?: string;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Lets `clr-dg-column-actions` and the filter of the same column find each other without either
|
|
96
|
+
* importing the other, and without depending on the order they are declared in.
|
|
97
|
+
*
|
|
98
|
+
* It is provided by `ClrDatagridColumn`, so every filter flavour resolves the same instance - a
|
|
99
|
+
* projected `clr-dg-filter` is a content child of the column, and the `clr-dg-string-filter` and
|
|
100
|
+
* `clr-dg-numeric-filter` the column creates for `clrDgField` live in its view.
|
|
101
|
+
*/
|
|
102
|
+
declare class ColumnActionsService {
|
|
103
|
+
/**
|
|
104
|
+
* Whether the filter keeps its own toggle in the column header. An actions menu turns this off and
|
|
105
|
+
* opens the filter itself, so the header keeps a single control per column - unless
|
|
106
|
+
* `clrDgKeepFilterInHeader` asks to keep the toggle.
|
|
107
|
+
*
|
|
108
|
+
* A signal rather than a plain flag because the menu and the filter are siblings: either can be
|
|
109
|
+
* created first, and the filter has to react whenever the answer changes.
|
|
110
|
+
*/
|
|
111
|
+
readonly filterInHeader: i0.WritableSignal<boolean>;
|
|
112
|
+
/**
|
|
113
|
+
* Whether the column has an actions menu at all, whatever it does with the filter. While it does,
|
|
114
|
+
* the column drops its own pin toggle, because the menu offers Pin Column instead.
|
|
115
|
+
*/
|
|
116
|
+
readonly menuPresent: i0.WritableSignal<boolean>;
|
|
117
|
+
/** The filter rendered for this column, if it has one. */
|
|
118
|
+
readonly filter: i0.WritableSignal<ColumnFilterHandle>;
|
|
119
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ColumnActionsService, never>;
|
|
120
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<ColumnActionsService>;
|
|
121
|
+
}
|
|
122
|
+
|
|
79
123
|
declare class ColumnsService {
|
|
80
124
|
columns: BehaviorSubject<ColumnState>[];
|
|
81
125
|
columnsStateChange: BehaviorSubject<ColumnState>;
|
|
@@ -308,13 +352,22 @@ declare class ClrDatagridColumn<T = any> extends DatagridFilterRegistrar<T, ClrD
|
|
|
308
352
|
filterNumberMaxPlaceholder: string;
|
|
309
353
|
filterNumberMinPlaceholder: string;
|
|
310
354
|
disableUnsort: boolean;
|
|
355
|
+
/**
|
|
356
|
+
* Lets the user pin and unpin the column from within the datagrid. It only offers the control - the
|
|
357
|
+
* pinned state itself stays on `clrDgPinned`.
|
|
358
|
+
* The control is a pin toggle in the column header, or Pin Column in the column's
|
|
359
|
+
* `clr-dg-column-actions` when it has one - never both, so the header keeps one control per action.
|
|
360
|
+
*/
|
|
361
|
+
pinnable: boolean;
|
|
311
362
|
sortOrderChange: EventEmitter<ClrDatagridSortOrder>;
|
|
363
|
+
pinnedChange: EventEmitter<boolean>;
|
|
312
364
|
filterValueChange: EventEmitter<any>;
|
|
313
365
|
titleContainer: ElementRef<HTMLElement>;
|
|
314
366
|
/**
|
|
315
367
|
* A custom filter for this column that can be provided in the projected content
|
|
316
368
|
*/
|
|
317
369
|
customFilter: boolean;
|
|
370
|
+
protected readonly columnActions: ColumnActionsService;
|
|
318
371
|
private _colType;
|
|
319
372
|
private _field;
|
|
320
373
|
/**
|
|
@@ -386,12 +439,25 @@ declare class ClrDatagridColumn<T = any> extends DatagridFilterRegistrar<T, ClrD
|
|
|
386
439
|
* Sorts the datagrid based on this column
|
|
387
440
|
*/
|
|
388
441
|
sort(reverse?: boolean): void;
|
|
442
|
+
/**
|
|
443
|
+
* Returns the datagrid to its unsorted state. Both the tri-state title button and the sort actions
|
|
444
|
+
* in `clr-dg-column-actions` go through here, so the two cannot drift apart.
|
|
445
|
+
*/
|
|
446
|
+
clearSort(): void;
|
|
447
|
+
/**
|
|
448
|
+
* Pins or unpins the column. Going through the `pinned` setter keeps the rendering in sync, and the
|
|
449
|
+
* output lets the application follow a change it did not initiate - without it a one-way
|
|
450
|
+
* [clrDgPinned] binding would write the old value straight back.
|
|
451
|
+
*/
|
|
452
|
+
togglePinned(): void;
|
|
453
|
+
protected onPinToggleClick(event: MouseEvent): void;
|
|
389
454
|
private listenForDetailPaneChanges;
|
|
390
455
|
private setFilterToggleAriaLabel;
|
|
391
456
|
private listenForSortingChanges;
|
|
392
457
|
private setupDefaultFilter;
|
|
393
458
|
static ɵfac: i0.ɵɵFactoryDeclaration<ClrDatagridColumn<any>, [null, null, null, null, null, null, null, null, { optional: true; }]>;
|
|
394
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ClrDatagridColumn<any>, "clr-dg-column", never, { "filterStringPlaceholder": { "alias": "clrFilterStringPlaceholder"; "required": false; }; "filterNumberMaxPlaceholder": { "alias": "clrFilterNumberMaxPlaceholder"; "required": false; }; "filterNumberMinPlaceholder": { "alias": "clrFilterNumberMinPlaceholder"; "required": false; }; "disableUnsort": { "alias": "clrDgDisableUnsort"; "required": false; }; "pinned": { "alias": "clrDgPinned"; "required": false; }; "colType": { "alias": "clrDgColType"; "required": false; }; "field": { "alias": "clrDgField"; "required": false; }; "sortBy": { "alias": "clrDgSortBy"; "required": false; }; "sortOrder": { "alias": "clrDgSortOrder"; "required": false; }; "updateFilterValue": { "alias": "clrFilterValue"; "required": false; }; }, { "sortOrderChange": "clrDgSortOrderChange"; "filterValueChange": "clrFilterValueChange"; }, ["projectedFilter"], ["clr-dg-filter, clr-dg-string-filter, clr-dg-numeric-filter", "*"], false, [{ directive: typeof i1.ClrPopoverHostDirective; inputs: {}; outputs: {}; }]>;
|
|
459
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ClrDatagridColumn<any>, "clr-dg-column", never, { "filterStringPlaceholder": { "alias": "clrFilterStringPlaceholder"; "required": false; }; "filterNumberMaxPlaceholder": { "alias": "clrFilterNumberMaxPlaceholder"; "required": false; }; "filterNumberMinPlaceholder": { "alias": "clrFilterNumberMinPlaceholder"; "required": false; }; "disableUnsort": { "alias": "clrDgDisableUnsort"; "required": false; }; "pinnable": { "alias": "clrDgPinnable"; "required": false; }; "pinned": { "alias": "clrDgPinned"; "required": false; }; "colType": { "alias": "clrDgColType"; "required": false; }; "field": { "alias": "clrDgField"; "required": false; }; "sortBy": { "alias": "clrDgSortBy"; "required": false; }; "sortOrder": { "alias": "clrDgSortOrder"; "required": false; }; "updateFilterValue": { "alias": "clrFilterValue"; "required": false; }; }, { "sortOrderChange": "clrDgSortOrderChange"; "pinnedChange": "clrDgPinnedChange"; "filterValueChange": "clrFilterValueChange"; }, ["projectedFilter"], ["clr-dg-filter, clr-dg-string-filter, clr-dg-numeric-filter", "*", "clr-dg-column-actions"], false, [{ directive: typeof i1.ClrPopoverHostDirective; inputs: {}; outputs: {}; }]>;
|
|
460
|
+
static ngAcceptInputType_pinnable: unknown;
|
|
395
461
|
static ngAcceptInputType_pinned: unknown;
|
|
396
462
|
}
|
|
397
463
|
|
|
@@ -766,6 +832,13 @@ declare class ClrDatagridRow<T = any> implements AfterContentInit, AfterViewInit
|
|
|
766
832
|
private _rowSelectionLabel;
|
|
767
833
|
private wrappedInjector;
|
|
768
834
|
private subscriptions;
|
|
835
|
+
/**
|
|
836
|
+
* The placeholder cells we create from `fixedCellTemplate` for the calculate pass. Unlike the
|
|
837
|
+
* cell views, which belong to their `WrappedCell`, these are created here on every pass, so
|
|
838
|
+
* they are ours to destroy. Detaching them from the container only unlinks them - the views
|
|
839
|
+
* themselves would stay alive and keep the whole row, and the datagrid with it, in memory.
|
|
840
|
+
*/
|
|
841
|
+
private fixedCellViews;
|
|
769
842
|
private _selectable;
|
|
770
843
|
constructor(selection: Selection<T>, rowActionService: RowActionService, globalExpandable: ExpandableRowsCount, expand: DatagridIfExpandService, detailService: DetailService, displayMode: DisplayModeService, vcr: ViewContainerRef, renderer: Renderer2, el: ElementRef<HTMLElement>, commonStrings: ClrCommonStringsService, items: Items, columnsService: ColumnsService, document: any);
|
|
771
844
|
/**
|
|
@@ -808,6 +881,7 @@ declare class ClrDatagridRow<T = any> implements AfterContentInit, AfterViewInit
|
|
|
808
881
|
* @deprecated related to clrDgRowSelection, which is deprecated
|
|
809
882
|
*/
|
|
810
883
|
protected selectRow(selected: boolean, $event: any): void;
|
|
884
|
+
private destroyFixedCellViews;
|
|
811
885
|
/**
|
|
812
886
|
* Projects the cells into the display containers. Cells of pinned columns go into their static
|
|
813
887
|
* container so they stay visible during horizontal scroll; the rest stay scrollable. Cells are
|
|
@@ -856,6 +930,14 @@ declare class ClrDatagridVirtualScrollDirective<T> implements AfterViewInit, DoC
|
|
|
856
930
|
private cdkVirtualFor;
|
|
857
931
|
private subscriptions;
|
|
858
932
|
private topIndex;
|
|
933
|
+
/**
|
|
934
|
+
* Injectors for the CDK virtual scroll instances we create by hand, in the order they have to be
|
|
935
|
+
* destroyed. Destroying them is what runs the CDK teardown: their `ngOnDestroy` and, importantly,
|
|
936
|
+
* the `DestroyRef` cleanup `CdkVirtualScrollViewport` registers for the effect it creates on the
|
|
937
|
+
* application injector. Leaving them alive keeps that effect registered, which retains the
|
|
938
|
+
* viewport and the entire datagrid view tree for as long as the application lives.
|
|
939
|
+
*/
|
|
940
|
+
private readonly cdkInjectors;
|
|
859
941
|
private mutationChanges;
|
|
860
942
|
private cdkVirtualForInputs;
|
|
861
943
|
private _totalItems;
|
|
@@ -891,6 +973,18 @@ declare class ClrDatagridVirtualScrollDirective<T> implements AfterViewInit, DoC
|
|
|
891
973
|
private updateAriaRowCount;
|
|
892
974
|
private updateAriaRowIndexes;
|
|
893
975
|
private createVirtualScrollViewportForDatagrid;
|
|
976
|
+
private createCdkVirtualScrollViewport;
|
|
977
|
+
/**
|
|
978
|
+
* `Directionality`, `ScrollDispatcher` and `ViewportRuler` belong to the application, not to us.
|
|
979
|
+
* Angular registers every value an injector hands out that has an `ngOnDestroy` - `useValue`
|
|
980
|
+
* providers included - and calls it from `injector.destroy()`, so putting them in an injector we
|
|
981
|
+
* destroy would end scroll, resize and text-direction notification for the whole application the
|
|
982
|
+
* first time a virtual scroll datagrid goes away. They live in this parent, which nothing destroys,
|
|
983
|
+
* so the viewport still resolves the very instances our host injector gave us - including a
|
|
984
|
+
* `Directionality` overridden by an ancestor `[dir]`.
|
|
985
|
+
*/
|
|
986
|
+
private createApplicationInjector;
|
|
987
|
+
private createCdkVirtualForOfDirective;
|
|
894
988
|
static ɵfac: i0.ɵɵFactoryDeclaration<ClrDatagridVirtualScrollDirective<any>, never>;
|
|
895
989
|
static ɵdir: i0.ɵɵDirectiveDeclaration<ClrDatagridVirtualScrollDirective<any>, "[clrVirtualScroll],[ClrVirtualScroll]", never, { "persistItems": { "alias": "clrVirtualPersistItems"; "required": false; }; "cdkVirtualForOf": { "alias": "clrVirtualRowsOf"; "required": false; }; "cdkVirtualForTrackBy": { "alias": "clrVirtualRowsTrackBy"; "required": false; }; "cdkVirtualForTemplate": { "alias": "clrVirtualRowsTemplate"; "required": false; }; "cdkVirtualForTemplateCacheSize": { "alias": "clrVirtualRowsTemplateCacheSize"; "required": false; }; "itemSize": { "alias": "clrVirtualRowsItemSize"; "required": false; }; "minBufferPx": { "alias": "clrVirtualRowsMinBufferPx"; "required": false; }; "maxBufferPx": { "alias": "clrVirtualRowsMaxBufferPx"; "required": false; }; "dataRange": { "alias": "clrVirtualDataRange"; "required": false; }; }, { "renderedRangeChange": "renderedRangeChange"; }, never, never, false, never>;
|
|
896
990
|
}
|
|
@@ -1035,6 +1129,13 @@ declare class ClrDatagrid<T = any> implements AfterContentInit, AfterViewInit, O
|
|
|
1035
1129
|
*/
|
|
1036
1130
|
private _subscriptions;
|
|
1037
1131
|
private _virtualScrollSubscriptions;
|
|
1132
|
+
/**
|
|
1133
|
+
* The placeholder columns we create from `fixedColumnTemplate` for the calculate pass. Unlike
|
|
1134
|
+
* the column views, which belong to their `WrappedColumn`, these are created here on every
|
|
1135
|
+
* pass, so they are ours to destroy. Detaching them from the container only unlinks them - the
|
|
1136
|
+
* views themselves would stay alive and keep the whole datagrid in memory.
|
|
1137
|
+
*/
|
|
1138
|
+
private fixedColumnViews;
|
|
1038
1139
|
private cachedRowsHeight;
|
|
1039
1140
|
private cachedContentHeight;
|
|
1040
1141
|
private resizeObserver;
|
|
@@ -1096,6 +1197,7 @@ declare class ClrDatagrid<T = any> implements AfterContentInit, AfterViewInit, O
|
|
|
1096
1197
|
* Public method to re-trigger the computation of displayed items manually
|
|
1097
1198
|
*/
|
|
1098
1199
|
dataChanged(): void;
|
|
1200
|
+
private destroyFixedColumnViews;
|
|
1099
1201
|
private toggleVirtualScrollSubscriptions;
|
|
1100
1202
|
/**
|
|
1101
1203
|
* Publishes the width of the row controls - the static container holding the select, action and
|
|
@@ -1152,6 +1254,179 @@ declare class ClrDatagridActionOverflow implements OnDestroy {
|
|
|
1152
1254
|
static ɵcmp: i0.ɵɵComponentDeclaration<ClrDatagridActionOverflow, "clr-dg-action-overflow", never, { "buttonLabel": { "alias": "clrDgActionOverflowButtonLabel"; "required": false; }; "open": { "alias": "clrDgActionOverflowOpen"; "required": false; }; }, { "openChange": "clrDgActionOverflowOpenChange"; }, never, ["*"], false, [{ directive: typeof i1.ClrPopoverHostDirective; inputs: {}; outputs: {}; }]>;
|
|
1153
1255
|
}
|
|
1154
1256
|
|
|
1257
|
+
/**
|
|
1258
|
+
* Groups the actions of a single column behind one menu in the column header. It only gathers
|
|
1259
|
+
* controls that already exist on the column - the behavior itself stays on `ClrDatagridColumn`,
|
|
1260
|
+
* so the menu and the header controls can never drift apart.
|
|
1261
|
+
*
|
|
1262
|
+
* Each item is rendered only when the column can actually perform it, so the menu never offers a
|
|
1263
|
+
* dead option - that covers both what the column can never do, such as sorting when it is not
|
|
1264
|
+
* sortable, and what it cannot do right now, such as clearing a sort while nothing is sorted.
|
|
1265
|
+
* Anything projected into the component is appended after the built-in items.
|
|
1266
|
+
*
|
|
1267
|
+
* A column that has a filter gets a filter action automatically, and the filter drops its own toggle
|
|
1268
|
+
* for as long as this menu is present - the header keeps one control per column rather than two. The
|
|
1269
|
+
* trigger also takes over showing that the column is filtered, which the toggle used to do.
|
|
1270
|
+
* `clrDgKeepFilterInHeader` opts back into the toggle, and then the menu drops the filter action in
|
|
1271
|
+
* exchange: a column offers one way to reach its filter, never both at once.
|
|
1272
|
+
*
|
|
1273
|
+
* Projected items can be `clrDgColumnAction`s, plain `clrDropdownItem`s, or a nested `clr-dropdown`.
|
|
1274
|
+
* They join the arrow key order after the built-in items as long as they are projected directly -
|
|
1275
|
+
* an item wrapped in an element of its own is not found. A nested dropdown's own items stay in its
|
|
1276
|
+
* own menu.
|
|
1277
|
+
*
|
|
1278
|
+
* The component is the dropdown itself rather than wrapping one, so that a projected item can reach
|
|
1279
|
+
* it: injection resolves from where a node is declared, and an item declared outside this component
|
|
1280
|
+
* would sit outside the injector of any `clr-dropdown` in its template.
|
|
1281
|
+
*/
|
|
1282
|
+
declare class ClrDatagridColumnActions extends ClrDropdown implements AfterViewInit, OnDestroy {
|
|
1283
|
+
protected column: ClrDatagridColumn;
|
|
1284
|
+
protected commonStrings: ClrCommonStringsService;
|
|
1285
|
+
private columnActions;
|
|
1286
|
+
private columnPopover;
|
|
1287
|
+
private changeDetectorRef;
|
|
1288
|
+
private injector;
|
|
1289
|
+
private filters;
|
|
1290
|
+
protected readonly ClrDatagridSortOrder: typeof ClrDatagridSortOrder;
|
|
1291
|
+
private _keepFilterInHeader;
|
|
1292
|
+
private _menuPopoverContent;
|
|
1293
|
+
private trigger;
|
|
1294
|
+
private subs;
|
|
1295
|
+
private projectedItemsSubscription;
|
|
1296
|
+
private readonly columnActionsFocusHandler;
|
|
1297
|
+
constructor(column: ClrDatagridColumn, commonStrings: ClrCommonStringsService, columnActions: ColumnActionsService, columnPopover: ClrPopoverService, changeDetectorRef: ChangeDetectorRef, injector: Injector, filters: FiltersProvider, parent: ClrDropdown, popoverService: ClrPopoverService, focusHandler: DropdownFocusHandler, dropdownService: RootDropdownService);
|
|
1298
|
+
/**
|
|
1299
|
+
* Keeps the filter's own toggle in the column header instead of moving it into this menu, and the
|
|
1300
|
+
* menu drops its filter action in exchange - a column offers one way to reach its filter at a
|
|
1301
|
+
* time, never two.
|
|
1302
|
+
*/
|
|
1303
|
+
get keepFilterInHeader(): boolean;
|
|
1304
|
+
set keepFilterInHeader(value: boolean);
|
|
1305
|
+
/**
|
|
1306
|
+
* The menu is a live view of the column, so the label has to be read at render time rather than
|
|
1307
|
+
* cached - the column title can change, and so can the sort state it reports.
|
|
1308
|
+
*/
|
|
1309
|
+
protected get triggerLabel(): string;
|
|
1310
|
+
protected get sortOrder(): ClrDatagridSortOrder;
|
|
1311
|
+
protected get canClearSort(): boolean;
|
|
1312
|
+
protected get hasFilter(): boolean;
|
|
1313
|
+
/**
|
|
1314
|
+
* Hiding the filter toggle also hides the only sign that a column is filtered, so the trigger and
|
|
1315
|
+
* the filter action carry that state instead.
|
|
1316
|
+
*/
|
|
1317
|
+
protected get filterActive(): boolean;
|
|
1318
|
+
/**
|
|
1319
|
+
* Whether the filter this menu opens is open, for the filter action to report the same way the
|
|
1320
|
+
* toggle it replaced did. Read from the column's popover service rather than from the filter,
|
|
1321
|
+
* because that service is what the action opens.
|
|
1322
|
+
*/
|
|
1323
|
+
protected get filterOpen(): boolean;
|
|
1324
|
+
/**
|
|
1325
|
+
* The popover the filter action opens, so it can point at what it controls - again the same thing
|
|
1326
|
+
* the replaced toggle pointed at.
|
|
1327
|
+
*/
|
|
1328
|
+
protected get filterPopoverId(): string | null;
|
|
1329
|
+
/**
|
|
1330
|
+
* The items projected into the menu. The menu's own content query cannot see them, so they are
|
|
1331
|
+
* handed to the focus handler from here.
|
|
1332
|
+
*
|
|
1333
|
+
* Only direct children are queried, not descendants: a nested `clr-dropdown` is one item here - its
|
|
1334
|
+
* focus handler - and the items inside it belong to its own menu, not to this one.
|
|
1335
|
+
*/
|
|
1336
|
+
private set projectedItems(value);
|
|
1337
|
+
private set menuPopoverContent(value);
|
|
1338
|
+
ngAfterViewInit(): void;
|
|
1339
|
+
ngOnDestroy(): void;
|
|
1340
|
+
/**
|
|
1341
|
+
* Returns focus to the trigger before closing, the same order `clrDropdownItem` uses - moving focus
|
|
1342
|
+
* first means it lands correctly even when the action opens a modal.
|
|
1343
|
+
*/
|
|
1344
|
+
closeMenu(): void;
|
|
1345
|
+
/**
|
|
1346
|
+
* Re-anchors the open menu to the trigger, for an action that moves the column it belongs to
|
|
1347
|
+
* instead of closing the menu behind it.
|
|
1348
|
+
*
|
|
1349
|
+
* Deferred to after the next render rather than run straight away, because the action that asked
|
|
1350
|
+
* for this has only just been clicked - the column is relocated by the change detection that
|
|
1351
|
+
* follows, so measuring the trigger now would re-anchor the menu to where it already is.
|
|
1352
|
+
*/
|
|
1353
|
+
repositionMenu(): void;
|
|
1354
|
+
/**
|
|
1355
|
+
* Moves focus to one of the projected actions, keeping the menu's keyboard handling in step with
|
|
1356
|
+
* it.
|
|
1357
|
+
*
|
|
1358
|
+
* Called by `clrDgColumnAction` when the item takes focus, so that focusing an item by any means -
|
|
1359
|
+
* including a plain `focus()` from outside, after an action rebuilt the menu - leaves space and
|
|
1360
|
+
* enter acting on that same item rather than on whatever the menu focused when it opened.
|
|
1361
|
+
*/
|
|
1362
|
+
focusAction(item: FocusableItem): void;
|
|
1363
|
+
/**
|
|
1364
|
+
* The menu states a direction rather than cycling through them, so asking for the direction the
|
|
1365
|
+
* column already has is a no-op.
|
|
1366
|
+
*
|
|
1367
|
+
* The guard is needed because `Sort.toggle()` reads `forceReverse: false` as "toggle" rather than
|
|
1368
|
+
* "ascending" - `forceReverse || !this._reverse` falls through to the toggle for a falsy value - so
|
|
1369
|
+
* `sort(false)` on an already ascending column would flip it to descending. The tri-state title
|
|
1370
|
+
* button never hits that path, because it always calls `sort()` without an argument.
|
|
1371
|
+
*/
|
|
1372
|
+
protected sort(descending: boolean): void;
|
|
1373
|
+
/**
|
|
1374
|
+
* Pins or unpins the column, then re-anchors this menu to the trigger.
|
|
1375
|
+
*
|
|
1376
|
+
* Pinning moves the column between the datagrid's static and scrollable containers, and the
|
|
1377
|
+
* trigger this menu is anchored to travels with it - far enough that the menu would otherwise be
|
|
1378
|
+
* left hanging next to where the column used to be. The menu stays open on purpose, so the action
|
|
1379
|
+
* it now offers is the one that undoes the pin the user just applied.
|
|
1380
|
+
*
|
|
1381
|
+
* The columns are relocated on the render cycle the pinned state change schedules, not while this
|
|
1382
|
+
* runs, so the overlay can only be re-anchored once that has happened - which `repositionMenu`
|
|
1383
|
+
* takes care of.
|
|
1384
|
+
*/
|
|
1385
|
+
protected togglePinned(): void;
|
|
1386
|
+
/**
|
|
1387
|
+
* Opens the filter of this column, anchored to the "Filter Column" menu item itself (`#trigger`
|
|
1388
|
+
* above), so the popover positions off the item that was actually clicked rather than the kebab.
|
|
1389
|
+
*
|
|
1390
|
+
* The popover is driven through the column's ClrPopoverService rather than through
|
|
1391
|
+
* `ClrDatagridFilter.open`, because that is the one thing every filter flavour has in common - a
|
|
1392
|
+
* projected clr-dg-filter, and the string and numeric filters the column builds for clrDgField,
|
|
1393
|
+
* all share this service. Setting `origin` is all it takes to re-anchor it: `clrPopoverOrigin` is
|
|
1394
|
+
* itself only an assignment to that property, and with the toggle gone nothing else claims it.
|
|
1395
|
+
*
|
|
1396
|
+
* `parent` links the filter's popover to this menu's, so that scrolling while both are open closes
|
|
1397
|
+
* or repositions them together rather than leaving one behind. It is cleared again once the filter
|
|
1398
|
+
* closes, in the `openChange` subscription below, so it never outlives the menu session that set it.
|
|
1399
|
+
*/
|
|
1400
|
+
protected openFilter(event: Event): void;
|
|
1401
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ClrDatagridColumnActions, [null, null, null, { skipSelf: true; }, null, null, { optional: true; }, { optional: true; skipSelf: true; }, null, null, null]>;
|
|
1402
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ClrDatagridColumnActions, "clr-dg-column-actions", never, { "keepFilterInHeader": { "alias": "clrDgKeepFilterInHeader"; "required": false; }; }, {}, ["projectedItems"], ["*"], false, never>;
|
|
1403
|
+
static ngAcceptInputType_keepFilterInHeader: unknown;
|
|
1404
|
+
}
|
|
1405
|
+
|
|
1406
|
+
/**
|
|
1407
|
+
* An application provided item in a `clr-dg-column-actions` menu. It is the dropdown item - same
|
|
1408
|
+
* inputs, styling and arrow key order - with what a column action needs on top: it closes the menu
|
|
1409
|
+
* when picked, or re-anchors it after an action that leaves it open.
|
|
1410
|
+
*/
|
|
1411
|
+
declare class ClrDatagridColumnAction extends ClrDropdownItem {
|
|
1412
|
+
private columnActions;
|
|
1413
|
+
/**
|
|
1414
|
+
* Whether activating this item should close the menu.
|
|
1415
|
+
*/
|
|
1416
|
+
canClosePopover: boolean;
|
|
1417
|
+
constructor(columnActions: ClrDatagridColumnActions, item: FocusableItem, dropdownService: RootDropdownService, el: ElementRef, renderer: Renderer2);
|
|
1418
|
+
protected onColumnActionClick(): void;
|
|
1419
|
+
/**
|
|
1420
|
+
* Focus can arrive from anywhere - the arrow keys, or a plain `focus()` from an application that
|
|
1421
|
+
* moved the column this action belongs to and rebuilt the menu. Reporting it keeps space and enter
|
|
1422
|
+
* acting on this item rather than on whatever the menu focused when it opened.
|
|
1423
|
+
*/
|
|
1424
|
+
protected onFocus(): void;
|
|
1425
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ClrDatagridColumnAction, never>;
|
|
1426
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<ClrDatagridColumnAction, "[clrDgColumnAction]", never, { "canClosePopover": { "alias": "clrCanClosePopover"; "required": false; }; }, {}, never, never, false, never>;
|
|
1427
|
+
static ngAcceptInputType_canClosePopover: unknown;
|
|
1428
|
+
}
|
|
1429
|
+
|
|
1155
1430
|
declare class ClrDatagridColumnToggle implements OnDestroy {
|
|
1156
1431
|
commonStrings: ClrCommonStringsService;
|
|
1157
1432
|
private columnsService;
|
|
@@ -1339,6 +1614,7 @@ declare class ClrDatagridFilter<T = any> extends DatagridFilterRegistrar<T, ClrD
|
|
|
1339
1614
|
commonStrings: ClrCommonStringsService;
|
|
1340
1615
|
private popoverService;
|
|
1341
1616
|
private keyNavigation;
|
|
1617
|
+
protected columnActions: ColumnActionsService;
|
|
1342
1618
|
openChange: EventEmitter<boolean>;
|
|
1343
1619
|
ariaExpanded: boolean;
|
|
1344
1620
|
popoverId: string;
|
|
@@ -1346,7 +1622,7 @@ declare class ClrDatagridFilter<T = any> extends DatagridFilterRegistrar<T, ClrD
|
|
|
1346
1622
|
popoverType: ClrPopoverType;
|
|
1347
1623
|
anchor: ElementRef<HTMLButtonElement>;
|
|
1348
1624
|
private subs;
|
|
1349
|
-
constructor(_filters: FiltersProvider<T>, commonStrings: ClrCommonStringsService, popoverService: ClrPopoverService, keyNavigation: KeyNavigationGridController);
|
|
1625
|
+
constructor(_filters: FiltersProvider<T>, commonStrings: ClrCommonStringsService, popoverService: ClrPopoverService, keyNavigation: KeyNavigationGridController, columnActions: ColumnActionsService);
|
|
1350
1626
|
get open(): boolean;
|
|
1351
1627
|
set open(open: boolean);
|
|
1352
1628
|
set customFilter(filter: ClrDatagridFilterInterface<T> | RegisteredFilter<T, ClrDatagridFilterInterface<T>>);
|
|
@@ -1355,7 +1631,7 @@ declare class ClrDatagridFilter<T = any> extends DatagridFilterRegistrar<T, ClrD
|
|
|
1355
1631
|
*/
|
|
1356
1632
|
get active(): boolean;
|
|
1357
1633
|
ngOnDestroy(): void;
|
|
1358
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<ClrDatagridFilter<any>, [null, null, null, { optional: true; }]>;
|
|
1634
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ClrDatagridFilter<any>, [null, null, null, { optional: true; }, { optional: true; }]>;
|
|
1359
1635
|
static ɵcmp: i0.ɵɵComponentDeclaration<ClrDatagridFilter<any>, "clr-dg-filter", never, { "open": { "alias": "clrDgFilterOpen"; "required": false; }; "customFilter": { "alias": "clrDgFilter"; "required": false; }; }, { "openChange": "clrDgFilterOpenChange"; }, never, ["*"], false, never>;
|
|
1360
1636
|
static ngAcceptInputType_open: unknown;
|
|
1361
1637
|
}
|
|
@@ -1929,9 +2205,9 @@ declare const CLR_DATAGRID_DIRECTIVES: Type<any>[];
|
|
|
1929
2205
|
declare class ClrDatagridModule {
|
|
1930
2206
|
constructor();
|
|
1931
2207
|
static ɵfac: i0.ɵɵFactoryDeclaration<ClrDatagridModule, never>;
|
|
1932
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<ClrDatagridModule, [typeof ClrDatagrid, typeof ClrDatagridActionBar, typeof ClrDatagridActionOverflow, typeof ClrDatagridCell, typeof ClrDatagridColumn, typeof ClrDatagridColumnSeparator, typeof ClrDatagridDetail, typeof ClrDatagridDetailBody, typeof ClrDatagridDetailHeader, typeof ClrDatagridFilter, typeof ClrDatagridFooter, typeof ClrDatagridHideableColumn, typeof ClrDatagridItems, typeof ClrDatagridPageSize, typeof ClrDatagridPagination, typeof ClrDatagridPlaceholder, typeof ClrDatagridRow, typeof ClrDatagridRowDetail, typeof ClrDatagridSelectionCellDirective, typeof ClrDatagridVirtualScrollDirective, typeof ClrIfDetail, typeof DatagridDetailRegisterer, typeof WrappedCell, typeof WrappedColumn, typeof WrappedRow, typeof DatagridCellRenderer, typeof DatagridHeaderRenderer, typeof DatagridMainRenderer, typeof DatagridRowDetailRenderer, typeof DatagridRowRenderer, typeof ActionableOompaLoompa, typeof DatagridWillyWonka, typeof ExpandableOompaLoompa, typeof DatagridNumericFilter, typeof DatagridStringFilter, typeof ClrDatagridColumnToggle, typeof ClrDatagridColumnToggleButton], [typeof
|
|
2208
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<ClrDatagridModule, [typeof ClrDatagrid, typeof ClrDatagridActionBar, typeof ClrDatagridActionOverflow, typeof ClrDatagridCell, typeof ClrDatagridColumn, typeof ClrDatagridColumnAction, typeof ClrDatagridColumnActions, typeof ClrDatagridColumnSeparator, typeof ClrDatagridDetail, typeof ClrDatagridDetailBody, typeof ClrDatagridDetailHeader, typeof ClrDatagridFilter, typeof ClrDatagridFooter, typeof ClrDatagridHideableColumn, typeof ClrDatagridItems, typeof ClrDatagridPageSize, typeof ClrDatagridPagination, typeof ClrDatagridPlaceholder, typeof ClrDatagridRow, typeof ClrDatagridRowDetail, typeof ClrDatagridSelectionCellDirective, typeof ClrDatagridVirtualScrollDirective, typeof ClrIfDetail, typeof DatagridDetailRegisterer, typeof WrappedCell, typeof WrappedColumn, typeof WrappedRow, typeof DatagridCellRenderer, typeof DatagridHeaderRenderer, typeof DatagridMainRenderer, typeof DatagridRowDetailRenderer, typeof DatagridRowRenderer, typeof ActionableOompaLoompa, typeof DatagridWillyWonka, typeof ExpandableOompaLoompa, typeof DatagridNumericFilter, typeof DatagridStringFilter, typeof ClrDatagridColumnToggle, typeof ClrDatagridColumnToggleButton], [typeof i40.CommonModule, typeof i41.CdkDragModule, typeof i41.CdkTrapFocusModule, typeof i42.ClrIcon, typeof i43.ClrInputModule, typeof i44.ClrRadioModule, typeof i45.ClrCheckboxModule, typeof i46.ClrNumberInputModule, typeof i47.ClrSelectModule, typeof i48.FormsModule, typeof i41.ClrLoadingModule, typeof i41.ClrConditionalModule, typeof i41.ClrOutsideClickModule, typeof i41.ClrExpandableAnimationModule, typeof i49.ClrSpinnerModule, typeof i1.ClrPopoverModuleNext, typeof i51.ClrDropdownModule, typeof i41.ClrKeyFocusModule, typeof ClrDatagridSingleSelectionValueAccessor, typeof i41.ClrIfExpanded], [typeof ClrDatagrid, typeof ClrDatagridActionBar, typeof ClrDatagridActionOverflow, typeof ClrDatagridCell, typeof ClrDatagridColumn, typeof ClrDatagridColumnAction, typeof ClrDatagridColumnActions, typeof ClrDatagridColumnSeparator, typeof ClrDatagridDetail, typeof ClrDatagridDetailBody, typeof ClrDatagridDetailHeader, typeof ClrDatagridFilter, typeof ClrDatagridFooter, typeof ClrDatagridHideableColumn, typeof ClrDatagridItems, typeof ClrDatagridPageSize, typeof ClrDatagridPagination, typeof ClrDatagridPlaceholder, typeof ClrDatagridRow, typeof ClrDatagridRowDetail, typeof ClrDatagridSelectionCellDirective, typeof ClrDatagridVirtualScrollDirective, typeof ClrIfDetail, typeof DatagridDetailRegisterer, typeof WrappedCell, typeof WrappedColumn, typeof WrappedRow, typeof DatagridCellRenderer, typeof DatagridHeaderRenderer, typeof DatagridMainRenderer, typeof DatagridRowDetailRenderer, typeof DatagridRowRenderer, typeof ActionableOompaLoompa, typeof DatagridWillyWonka, typeof ExpandableOompaLoompa, typeof DatagridNumericFilter, typeof DatagridStringFilter, typeof ClrDatagridSingleSelectionValueAccessor, typeof i41.ClrIfExpanded]>;
|
|
1933
2209
|
static ɵinj: i0.ɵɵInjectorDeclaration<ClrDatagridModule>;
|
|
1934
2210
|
}
|
|
1935
2211
|
|
|
1936
|
-
export { ActionableOompaLoompa, CLR_DATAGRID_DIRECTIVES, ClrDatagrid, ClrDatagridActionBar, ClrDatagridActionOverflow, ClrDatagridAriaSortOrder, ClrDatagridCell, ClrDatagridColumn, ClrDatagridColumnSeparator, ClrDatagridColumnToggle, ClrDatagridColumnToggleButton, ClrDatagridDetail, ClrDatagridDetailBody, ClrDatagridDetailHeader, ClrDatagridFilter, ClrDatagridFooter, ClrDatagridHideableColumn, ClrDatagridItems, ClrDatagridModule, ClrDatagridPageSize, ClrDatagridPagination, ClrDatagridPlaceholder, ClrDatagridRow, ClrDatagridRowDetail, ClrDatagridSelectionCellDirective, ClrDatagridSingleSelectionValueAccessor, ClrDatagridSortOrder, ClrDatagridVirtualScrollDirective, ClrIfDetail, DatagridCellRenderer, DatagridDetailRegisterer, DatagridHeaderRenderer, DatagridMainRenderer, DatagridNumericFilter, DatagridPropertyComparator, DatagridPropertyNumericFilter, DatagridPropertyStringFilter, DatagridRowDetailRenderer, DatagridRowRenderer, DatagridStringFilter, DatagridWillyWonka, ExpandableOompaLoompa, Selection, SelectionType, WrappedCell, WrappedColumn, WrappedRow, selectionTypeAttribute };
|
|
2212
|
+
export { ActionableOompaLoompa, CLR_DATAGRID_DIRECTIVES, ClrDatagrid, ClrDatagridActionBar, ClrDatagridActionOverflow, ClrDatagridAriaSortOrder, ClrDatagridCell, ClrDatagridColumn, ClrDatagridColumnAction, ClrDatagridColumnActions, ClrDatagridColumnSeparator, ClrDatagridColumnToggle, ClrDatagridColumnToggleButton, ClrDatagridDetail, ClrDatagridDetailBody, ClrDatagridDetailHeader, ClrDatagridFilter, ClrDatagridFooter, ClrDatagridHideableColumn, ClrDatagridItems, ClrDatagridModule, ClrDatagridPageSize, ClrDatagridPagination, ClrDatagridPlaceholder, ClrDatagridRow, ClrDatagridRowDetail, ClrDatagridSelectionCellDirective, ClrDatagridSingleSelectionValueAccessor, ClrDatagridSortOrder, ClrDatagridVirtualScrollDirective, ClrIfDetail, DatagridCellRenderer, DatagridDetailRegisterer, DatagridHeaderRenderer, DatagridMainRenderer, DatagridNumericFilter, DatagridPropertyComparator, DatagridPropertyNumericFilter, DatagridPropertyStringFilter, DatagridRowDetailRenderer, DatagridRowRenderer, DatagridStringFilter, DatagridWillyWonka, ExpandableOompaLoompa, Selection, SelectionType, WrappedCell, WrappedColumn, WrappedRow, selectionTypeAttribute };
|
|
1937
2213
|
export type { ClrDatagridComparatorInterface, ClrDatagridFilterInterface, ClrDatagridItemsIdentityFunction, ClrDatagridNumericFilterInterface, ClrDatagridStateInterface, ClrDatagridStringFilterInterface, ClrDatagridVirtualScrollRangeInterface };
|