@skyux/ag-grid 13.11.5 → 13.13.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/skyux-ag-grid-testing.mjs +69 -0
- package/fesm2022/skyux-ag-grid-testing.mjs.map +1 -0
- package/fesm2022/skyux-ag-grid.mjs +53 -18
- package/fesm2022/skyux-ag-grid.mjs.map +1 -1
- package/index.d.ts +28 -12
- package/package.json +18 -13
- package/testing/index.d.ts +39 -0
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { UnitTestElement } from '@angular/cdk/testing/testbed';
|
|
2
|
+
import { SkyComponentHarness } from '@skyux/core/testing';
|
|
3
|
+
import { getGridApi } from 'ag-grid-community';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Harness for interacting with SKY UX AG Grid components in tests.
|
|
7
|
+
*/
|
|
8
|
+
class SkyAgGridWrapperHarness extends SkyComponentHarness {
|
|
9
|
+
/**
|
|
10
|
+
* @internal
|
|
11
|
+
*/
|
|
12
|
+
static { this.hostSelector = 'sky-ag-grid-wrapper'; }
|
|
13
|
+
/**
|
|
14
|
+
* Gets a `HarnessPredicate` that can be used to search for a
|
|
15
|
+
* `SkyAgGridWrapperHarness` that meets certain criteria
|
|
16
|
+
*/
|
|
17
|
+
static with(filters) {
|
|
18
|
+
return SkyAgGridWrapperHarness.getDataSkyIdPredicate(filters);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Checks whether the grid is ready.
|
|
22
|
+
*/
|
|
23
|
+
async isGridReady() {
|
|
24
|
+
const gridReady = this.locatorFactory.locatorFor('.ag-root.ag-unselectable');
|
|
25
|
+
return await gridReady()
|
|
26
|
+
.then((el) => !!el)
|
|
27
|
+
.catch(() => false);
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Retrieves the IDs of the currently displayed columns.
|
|
31
|
+
*/
|
|
32
|
+
async getDisplayedColumnIds() {
|
|
33
|
+
return await this.#getGridApi()
|
|
34
|
+
.then((api) => api.getAllDisplayedColumns().map((col) => col.getColId()))
|
|
35
|
+
.catch(() => Promise.reject('Unable to retrieve displayed column IDs.'));
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Retrieves the header names of the currently displayed columns.
|
|
39
|
+
*/
|
|
40
|
+
async getDisplayedColumnHeaderNames() {
|
|
41
|
+
return await this.#getGridApi()
|
|
42
|
+
.then((api) => api
|
|
43
|
+
.getAllDisplayedColumns()
|
|
44
|
+
.map((col) => col.getColDef().headerName || ''))
|
|
45
|
+
.catch(() => Promise.reject('Unable to retrieve displayed column header names.'));
|
|
46
|
+
}
|
|
47
|
+
async #getGridApi() {
|
|
48
|
+
await this.waitForTasksOutsideAngular();
|
|
49
|
+
const locator = this.locatorFactory.locatorFor('ag-grid-angular');
|
|
50
|
+
return await locator().then((grid) => {
|
|
51
|
+
if (grid instanceof UnitTestElement) {
|
|
52
|
+
const api = getGridApi(grid.element);
|
|
53
|
+
if (api) {
|
|
54
|
+
return api;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
// If this harness were used in an environment that did not provide UnitTestElement.
|
|
58
|
+
/* istanbul ignore next */
|
|
59
|
+
throw new Error('Unable to get GridApi from AgGridAngular component.');
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Generated bundle index. Do not edit.
|
|
66
|
+
*/
|
|
67
|
+
|
|
68
|
+
export { SkyAgGridWrapperHarness };
|
|
69
|
+
//# sourceMappingURL=skyux-ag-grid-testing.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skyux-ag-grid-testing.mjs","sources":["../../../../../libs/components/ag-grid/testing/src/modules/ag-grid-wrapper/ag-grid-wrapper-harness.ts","../../../../../libs/components/ag-grid/testing/src/skyux-ag-grid-testing.ts"],"sourcesContent":["import { HarnessPredicate } from '@angular/cdk/testing';\nimport { UnitTestElement } from '@angular/cdk/testing/testbed';\nimport { SkyComponentHarness } from '@skyux/core/testing';\n\nimport { GridApi, getGridApi } from 'ag-grid-community';\n\nimport { SkyAgGridWrapperHarnessFilters } from './ag-grid-wrapper-harness.filters';\n\n/**\n * Harness for interacting with SKY UX AG Grid components in tests.\n */\nexport class SkyAgGridWrapperHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-ag-grid-wrapper';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyAgGridWrapperHarness` that meets certain criteria\n */\n public static with(\n filters: SkyAgGridWrapperHarnessFilters,\n ): HarnessPredicate<SkyAgGridWrapperHarness> {\n return SkyAgGridWrapperHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Checks whether the grid is ready.\n */\n public async isGridReady(): Promise<boolean> {\n const gridReady = this.locatorFactory.locatorFor(\n '.ag-root.ag-unselectable',\n );\n\n return await gridReady()\n .then((el) => !!el)\n .catch(() => false);\n }\n\n /**\n * Retrieves the IDs of the currently displayed columns.\n */\n public async getDisplayedColumnIds(): Promise<string[]> {\n return await this.#getGridApi()\n .then((api) => api.getAllDisplayedColumns().map((col) => col.getColId()))\n .catch(() => Promise.reject('Unable to retrieve displayed column IDs.'));\n }\n\n /**\n * Retrieves the header names of the currently displayed columns.\n */\n public async getDisplayedColumnHeaderNames(): Promise<string[]> {\n return await this.#getGridApi()\n .then((api) =>\n api\n .getAllDisplayedColumns()\n .map((col) => col.getColDef().headerName || ''),\n )\n .catch(() =>\n Promise.reject('Unable to retrieve displayed column header names.'),\n );\n }\n\n async #getGridApi(): Promise<GridApi> {\n await this.waitForTasksOutsideAngular();\n const locator = this.locatorFactory.locatorFor('ag-grid-angular');\n return await locator().then((grid) => {\n if (grid instanceof UnitTestElement) {\n const api = getGridApi(grid.element);\n if (api) {\n return api;\n }\n }\n // If this harness were used in an environment that did not provide UnitTestElement.\n /* istanbul ignore next */\n throw new Error('Unable to get GridApi from AgGridAngular component.');\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;AAQA;;AAEG;AACG,MAAO,uBAAwB,SAAQ,mBAAmB,CAAA;AAC9D;;AAEG;aACW,IAAA,CAAA,YAAY,GAAG,qBAAqB,CAAC;AAEnD;;;AAGG;IACI,OAAO,IAAI,CAChB,OAAuC,EAAA;AAEvC,QAAA,OAAO,uBAAuB,CAAC,qBAAqB,CAAC,OAAO,CAAC;IAC/D;AAEA;;AAEG;AACI,IAAA,MAAM,WAAW,GAAA;QACtB,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAC9C,0BAA0B,CAC3B;QAED,OAAO,MAAM,SAAS;aACnB,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE;AACjB,aAAA,KAAK,CAAC,MAAM,KAAK,CAAC;IACvB;AAEA;;AAEG;AACI,IAAA,MAAM,qBAAqB,GAAA;AAChC,QAAA,OAAO,MAAM,IAAI,CAAC,WAAW;aAC1B,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,sBAAsB,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,QAAQ,EAAE,CAAC;aACvE,KAAK,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,0CAA0C,CAAC,CAAC;IAC5E;AAEA;;AAEG;AACI,IAAA,MAAM,6BAA6B,GAAA;AACxC,QAAA,OAAO,MAAM,IAAI,CAAC,WAAW;AAC1B,aAAA,IAAI,CAAC,CAAC,GAAG,KACR;AACG,aAAA,sBAAsB;AACtB,aAAA,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,SAAS,EAAE,CAAC,UAAU,IAAI,EAAE,CAAC;aAElD,KAAK,CAAC,MACL,OAAO,CAAC,MAAM,CAAC,mDAAmD,CAAC,CACpE;IACL;AAEA,IAAA,MAAM,WAAW,GAAA;AACf,QAAA,MAAM,IAAI,CAAC,0BAA0B,EAAE;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,iBAAiB,CAAC;QACjE,OAAO,MAAM,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,KAAI;AACnC,YAAA,IAAI,IAAI,YAAY,eAAe,EAAE;gBACnC,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;gBACpC,IAAI,GAAG,EAAE;AACP,oBAAA,OAAO,GAAG;gBACZ;YACF;;;AAGA,YAAA,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC;AACxE,QAAA,CAAC,CAAC;IACJ;;;AC9EF;;AAEG;;;;"}
|
|
@@ -8,7 +8,7 @@ import { toSignal, toObservable, takeUntilDestroyed } from '@angular/core/rxjs-i
|
|
|
8
8
|
import * as i1 from '@skyux/core';
|
|
9
9
|
import { SkyMutationObserverService, SkyIdModule, SkyViewkeeperModule, SkyMediaQueryService, SkyResizeObserverService, SkyAffixModule, SkyOverlayService, SkyScrollableHostService, SKY_STACKING_CONTEXT, SkyNumericModule, SkyDynamicComponentService, SkyDynamicComponentLocation, SkyLogService } from '@skyux/core';
|
|
10
10
|
import { SkyDataManagerService } from '@skyux/data-manager';
|
|
11
|
-
import { Subject, BehaviorSubject, ReplaySubject, takeUntil, combineLatest, of, distinctUntilChanged, take, switchMap, filter, fromEvent, Subscription, merge, startWith,
|
|
11
|
+
import { Subject, BehaviorSubject, ReplaySubject, takeUntil, combineLatest, of, distinctUntilChanged, take, map, switchMap, filter, fromEvent, Subscription, merge, startWith, scan, first, fromEventPattern, isObservable, observeOn, asyncScheduler } from 'rxjs';
|
|
12
12
|
import * as i2$4 from '@skyux/theme';
|
|
13
13
|
import { SkyThemeService, SkyThemeModule } from '@skyux/theme';
|
|
14
14
|
import { themeQuartz, colorSchemeLight, KeyCode } from 'ag-grid-community';
|
|
@@ -22,7 +22,6 @@ import * as i2 from '@skyux/lookup';
|
|
|
22
22
|
import { SkyAutocompleteModule, SkyLookupModule } from '@skyux/lookup';
|
|
23
23
|
import * as i2$1 from '@skyux/autonumeric';
|
|
24
24
|
import { SkyAutonumericModule } from '@skyux/autonumeric';
|
|
25
|
-
import { first } from 'rxjs/operators';
|
|
26
25
|
import * as i1$3 from '@skyux/forms';
|
|
27
26
|
import { SkyInputBoxModule, SkyCheckboxModule } from '@skyux/forms';
|
|
28
27
|
import * as i2$3 from '@skyux/indicators';
|
|
@@ -297,18 +296,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
|
|
|
297
296
|
|
|
298
297
|
/**
|
|
299
298
|
* These column types can be used by setting the AG Grid [column definition `type`](https://www.ag-grid.com/angular-data-grid/column-properties/#reference-editing) to one of the following values.
|
|
300
|
-
* Any [SKY UX component](https://developer.blackbaud.com/skyux/components) can be made into a [cell editor](https://www.ag-grid.com/
|
|
299
|
+
* Any [SKY UX component](https://developer.blackbaud.com/skyux/components) can be made into a [cell editor](https://www.ag-grid.com/angular-data-grid/cell-editors/) or [cell renderer](https://www.ag-grid.com/angular-data-grid/component-cell-renderer/) component. If you would like to use a component that does not have a column definition yet, please consider [contributing it](https://github.com/blackbaud/skyux/blob/main/CONTRIBUTING.md) to the SKY UX data entry grid module.
|
|
301
300
|
*/
|
|
302
301
|
var SkyCellType;
|
|
303
302
|
(function (SkyCellType) {
|
|
304
303
|
/**
|
|
305
304
|
* **Edit mode**
|
|
306
305
|
*
|
|
307
|
-
* Cells in the column will be edited as [SKY UX autocomplete components](https://developer.blackbaud.com/skyux/components/autocomplete). You can set any of the autocomplete component's properties by passing `SkyCellEditorAutocompleteParams` in the [column definition's `cellEditorParams` property](https://www.ag-grid.com/angular-data-grid/column-properties/#reference-editing). These params can be updated as other cell edits are made or [provided dynamically](https://www.ag-grid.com/
|
|
306
|
+
* Cells in the column will be edited as [SKY UX autocomplete components](https://developer.blackbaud.com/skyux/components/autocomplete). You can set any of the autocomplete component's properties by passing `SkyCellEditorAutocompleteParams` in the [column definition's `cellEditorParams` property](https://www.ag-grid.com/angular-data-grid/column-properties/#reference-editing). These params can be updated as other cell edits are made or [provided dynamically](https://www.ag-grid.com/angular-data-grid/cell-editing/) based on other cell values. See the demo for an example. Text can be entered and a value selected from the provided list.
|
|
308
307
|
*
|
|
309
308
|
* **Read-only mode**
|
|
310
309
|
*
|
|
311
|
-
* Cells the column will display the currently selected value's name property by default. If the autocomplete needs to show a different property or needs to be formatted in any way, you can [define a `valueFormatter`](https://www.ag-grid.com/
|
|
310
|
+
* Cells the column will display the currently selected value's name property by default. If the autocomplete needs to show a different property or needs to be formatted in any way, you can [define a `valueFormatter`](https://www.ag-grid.com/angular-data-grid/value-formatters/) on the column definition.
|
|
312
311
|
*/
|
|
313
312
|
SkyCellType["Autocomplete"] = "skyCellAutocomplete";
|
|
314
313
|
/**
|
|
@@ -330,21 +329,21 @@ var SkyCellType;
|
|
|
330
329
|
/**
|
|
331
330
|
* **Edit mode**
|
|
332
331
|
*
|
|
333
|
-
* Cells in the column will be edited as [SKY UX datepicker components](https://developer.blackbaud.com/skyux/components/datepicker). You can set any of the datepicker component's properties by passing `SkyCellEditorDatepickerParams` in the [column definition's `cellEditorParams` property](https://www.ag-grid.com/angular-data-grid/column-properties/#reference-editing). These params can be updated as other cell edits are made or [provided dynamically](https://www.ag-grid.com/
|
|
332
|
+
* Cells in the column will be edited as [SKY UX datepicker components](https://developer.blackbaud.com/skyux/components/datepicker). You can set any of the datepicker component's properties by passing `SkyCellEditorDatepickerParams` in the [column definition's `cellEditorParams` property](https://www.ag-grid.com/angular-data-grid/column-properties/#reference-editing). These params can be updated as other cell edits are made or [provided dynamically](https://www.ag-grid.com/angular-data-grid/cell-editing/) based on other cell values. See the demo for an example. Date values can be entered.
|
|
334
333
|
*
|
|
335
334
|
* **Read-only mode**
|
|
336
335
|
*
|
|
337
|
-
* Cells in the column will display the currently selected date formatted as `MM-DD-YYYY`, or the date format of the locale passed to `getGridOptions()`. If you would like to overwrite this format, you can [define a `valueFormatter`](https://www.ag-grid.com/
|
|
336
|
+
* Cells in the column will display the currently selected date formatted as `MM-DD-YYYY`, or the date format of the locale passed to `getGridOptions()`. If you would like to overwrite this format, you can [define a `valueFormatter`](https://www.ag-grid.com/angular-data-grid/value-formatters/) on the column definition. See the demo for an example.
|
|
338
337
|
*/
|
|
339
338
|
SkyCellType["Date"] = "skyCellDate";
|
|
340
339
|
/**
|
|
341
340
|
* **Edit mode**
|
|
342
341
|
*
|
|
343
|
-
* Cells in the column will be edited as [SKY UX lookup components](https://developer.blackbaud.com/skyux-v5/components/lookup). You can set any of the lookup component's properties by passing `SkyCellEditorLookupParams` in the [column definition's `cellEditorParams` property](https://www.ag-grid.com/angular-data-grid/column-properties/#reference-editing). These params can be updated as other cell edits are made or [provided dynamically](https://www.ag-grid.com/
|
|
342
|
+
* Cells in the column will be edited as [SKY UX lookup components](https://developer.blackbaud.com/skyux-v5/components/lookup). You can set any of the lookup component's properties by passing `SkyCellEditorLookupParams` in the [column definition's `cellEditorParams` property](https://www.ag-grid.com/angular-data-grid/column-properties/#reference-editing). These params can be updated as other cell edits are made or [provided dynamically](https://www.ag-grid.com/angular-data-grid/cell-editing/) based on other cell values. See the demo for an example. Text can be entered and a value selected from the provided list.
|
|
344
343
|
*
|
|
345
344
|
* **Read-only mode**
|
|
346
345
|
*
|
|
347
|
-
* Cells the column will display, by default, either: the name(s) of the selected value(s) if there are less than 6, or a summary count of the values if there are more than 5. If the lookup needs to show a different property or needs to be formatted in any way, you can [define a `valueFormatter`](https://www.ag-grid.com/
|
|
346
|
+
* Cells the column will display, by default, either: the name(s) of the selected value(s) if there are less than 6, or a summary count of the values if there are more than 5. If the lookup needs to show a different property or needs to be formatted in any way, you can [define a `valueFormatter`](https://www.ag-grid.com/angular-data-grid/value-formatters/) on the column definition.
|
|
348
347
|
*/
|
|
349
348
|
SkyCellType["Lookup"] = "skyCellLookup";
|
|
350
349
|
/**
|
|
@@ -372,7 +371,7 @@ var SkyCellType;
|
|
|
372
371
|
/**
|
|
373
372
|
* **Edit and read-only modes**
|
|
374
373
|
*
|
|
375
|
-
* Cells in the column will render as [SKY UX checkbox components](https://developer.blackbaud.com/skyux/components/checkbox). It allows the user to select multiple rows, and adds a highlight to selected rows. The [Ag Grid `rowNode`](https://www.ag-grid.com/
|
|
374
|
+
* Cells in the column will render as [SKY UX checkbox components](https://developer.blackbaud.com/skyux/components/checkbox). It allows the user to select multiple rows, and adds a highlight to selected rows. The [Ag Grid `rowNode`](https://www.ag-grid.com/angular-data-grid/row-object/) will be updated to reflect the selected state.
|
|
376
375
|
*/
|
|
377
376
|
SkyCellType["RowSelector"] = "skyCellRowSelector";
|
|
378
377
|
/**
|
|
@@ -650,7 +649,7 @@ class SkyAgGridWrapperComponent {
|
|
|
650
649
|
}
|
|
651
650
|
#updateGridTheme(hasEditableClass, isCompact, themeSettings) {
|
|
652
651
|
const skyAgGridTheme = getSkyAgGridTheme(hasEditableClass ? 'data-entry-grid' : 'data-grid');
|
|
653
|
-
this.agGrid?.api
|
|
652
|
+
this.agGrid?.api?.setGridOption('theme', skyAgGridTheme);
|
|
654
653
|
const skyAgGridThemeClassName = getSkyAgGridThemeClassName(hasEditableClass, themeSettings, isCompact);
|
|
655
654
|
const previousValue = this.#wrapperClasses.getValue();
|
|
656
655
|
let value = [
|
|
@@ -697,7 +696,7 @@ function toColumnWidthName(breakpoint) {
|
|
|
697
696
|
return breakpoint === 'xs' ? 'xs' : 'sm';
|
|
698
697
|
}
|
|
699
698
|
/**
|
|
700
|
-
*
|
|
699
|
+
* Connects `SkyAgGridWrapperComponent` with a `SkyDataViewComponent` to control the grid using a `SkyDataManagerService` instance.
|
|
701
700
|
*/
|
|
702
701
|
class SkyAgGridDataManagerAdapterDirective {
|
|
703
702
|
#currentAgGrid;
|
|
@@ -749,7 +748,7 @@ class SkyAgGridDataManagerAdapterDirective {
|
|
|
749
748
|
const viewId = this.viewId();
|
|
750
749
|
return activeViewId === viewId;
|
|
751
750
|
}, ...(ngDevMode ? [{ debugName: "#isActiveView" }] : []));
|
|
752
|
-
this.#breakpoint = toSignal(inject(SkyMediaQueryService).breakpointChange);
|
|
751
|
+
this.#breakpoint = toSignal(inject(SkyMediaQueryService).breakpointChange.pipe(map(toColumnWidthName)));
|
|
753
752
|
effect(() => {
|
|
754
753
|
const list = this.agGridList();
|
|
755
754
|
this.#checkForAgGrid(list);
|
|
@@ -836,10 +835,16 @@ class SkyAgGridDataManagerAdapterDirective {
|
|
|
836
835
|
if (agGrid) {
|
|
837
836
|
agGrid.gridReady
|
|
838
837
|
.pipe(takeUntil(this.#ngUnsubscribe), switchMap(() => {
|
|
839
|
-
|
|
838
|
+
let viewConfig = this.#viewConfig();
|
|
840
839
|
if (viewConfig) {
|
|
841
|
-
viewConfig
|
|
842
|
-
|
|
840
|
+
viewConfig = {
|
|
841
|
+
...viewConfig,
|
|
842
|
+
onSelectAllClick: () => agGrid.api.selectAll(),
|
|
843
|
+
onClearAllClick: () => agGrid.api.deselectAll(),
|
|
844
|
+
};
|
|
845
|
+
if (viewConfig.columnPickerEnabled && !viewConfig.columnOptions) {
|
|
846
|
+
viewConfig.columnOptions = this.#readColumnOptionsFromGrid(agGrid.api);
|
|
847
|
+
}
|
|
843
848
|
this.#dataManagerSvc.updateViewConfig(viewConfig);
|
|
844
849
|
this.#applyColumnWidths();
|
|
845
850
|
return this.#dataManagerSvc.getDataStateUpdates(viewConfig.id);
|
|
@@ -1033,6 +1038,20 @@ class SkyAgGridDataManagerAdapterDirective {
|
|
|
1033
1038
|
}
|
|
1034
1039
|
return gridColumnLimits;
|
|
1035
1040
|
}
|
|
1041
|
+
#readColumnOptionsFromGrid(api) {
|
|
1042
|
+
// Technically `api.getColumns()` can return null but it's not testable.
|
|
1043
|
+
/* istanbul ignore next */
|
|
1044
|
+
const columns = api.getColumns() ?? [];
|
|
1045
|
+
return columns.map((col) => {
|
|
1046
|
+
const colDef = col.getColDef();
|
|
1047
|
+
return {
|
|
1048
|
+
id: col.getColId(),
|
|
1049
|
+
initialHide: colDef.initialHide,
|
|
1050
|
+
label: `${colDef.headerName ?? ''}`,
|
|
1051
|
+
alwaysDisplayed: colDef.lockVisible || !colDef.headerName || col.isPinned(),
|
|
1052
|
+
};
|
|
1053
|
+
});
|
|
1054
|
+
}
|
|
1036
1055
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: SkyAgGridDataManagerAdapterDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1037
1056
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "20.3.15", type: SkyAgGridDataManagerAdapterDirective, isStandalone: true, selector: "[skyAgGridDataManagerAdapter]", inputs: { viewId: { classPropertyName: "viewId", publicName: "viewId", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "agGridList", predicate: AgGridAngular, descendants: true, isSignal: true }, { propertyName: "skyAgGridWrapperList", predicate: SkyAgGridWrapperComponent, descendants: true, isSignal: true }], ngImport: i0 }); }
|
|
1038
1057
|
}
|
|
@@ -1141,6 +1160,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
|
|
|
1141
1160
|
}, template: "@for (row of rowsWithElements(); track row.increment) {\n @if (row.element?.offsetParent && row.element; as element) {\n <div\n class=\"sky-ag-grid-row-delete\"\n affixPlacement=\"above\"\n affixVerticalAlignment=\"top\"\n affixHorizontalAlignment=\"left\"\n [id]=\"'row-delete-ref-' + row.rowId\"\n [style.height]=\"element.offsetHeight + 'px'\"\n [skyAffixTo]=\"element\"\n [affixIsSticky]=\"true\"\n >\n <sky-inline-delete\n [pending]=\"pending().includes(row.rowId ?? '')\"\n (cancelTriggered)=\"cancelDelete(row.rowId)\"\n (deleteTriggered)=\"confirmDelete(row.rowId)\"\n />\n </div>\n }\n}\n", styles: [":host{display:block}.sky-ag-grid-row-delete{position:fixed;top:-100vh;width:var(--table-width, 100%)}\n"] }]
|
|
1142
1161
|
}], ctorParameters: () => [] });
|
|
1143
1162
|
|
|
1163
|
+
/**
|
|
1164
|
+
* Enables inline row delete functionality for an AG Grid when included
|
|
1165
|
+
* on the `SkyAgGridWrapperComponent` element. The directive uses
|
|
1166
|
+
* `rowDeleteIds` to determine which rows to add inline delete options to.
|
|
1167
|
+
*/
|
|
1144
1168
|
class SkyAgGridRowDeleteDirective {
|
|
1145
1169
|
#agGridBodyViewport;
|
|
1146
1170
|
#agGridBodyClipElements;
|
|
@@ -1297,6 +1321,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
|
|
|
1297
1321
|
}]
|
|
1298
1322
|
}], ctorParameters: () => [], propDecorators: { rowDeleteIds: [{ type: i0.Input, args: [{ isSignal: true, alias: "rowDeleteIds", required: false }] }, { type: i0.Output, args: ["rowDeleteIdsChange"] }], rowDeleteCancel: [{ type: i0.Output, args: ["rowDeleteCancel"] }], rowDeleteConfirm: [{ type: i0.Output, args: ["rowDeleteConfirm"] }], agGrid: [{ type: i0.ContentChild, args: [i0.forwardRef(() => AgGridAngular), { isSignal: true }] }] } });
|
|
1299
1323
|
|
|
1324
|
+
/**
|
|
1325
|
+
* Provides `SkyAgGridWrapperComponent` and `SkyAgGridRowDeleteDirective`, but to use
|
|
1326
|
+
* AG Grid in your application, you must also load `AgGridAngular` from `ag-grid-angular` and
|
|
1327
|
+
* `ModuleRegistry` from `ag-grid-community`. For more information, see
|
|
1328
|
+
* [AG Grid modules](https://www.ag-grid.com/angular-data-grid/modules/).
|
|
1329
|
+
*
|
|
1330
|
+
* @example
|
|
1331
|
+
* ```typescript
|
|
1332
|
+
* ModuleRegistry.registerModules([AllCommunityModule]);
|
|
1333
|
+
* ```
|
|
1334
|
+
*/
|
|
1300
1335
|
class SkyAgGridModule {
|
|
1301
1336
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: SkyAgGridModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
1302
1337
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: SkyAgGridModule, imports: [AgGridAngular,
|
|
@@ -3514,7 +3549,7 @@ class SkyAgGridService {
|
|
|
3514
3549
|
this.#ngUnsubscribe.complete();
|
|
3515
3550
|
}
|
|
3516
3551
|
/**
|
|
3517
|
-
* Returns [AG Grid `gridOptions`](https://www.ag-grid.com/
|
|
3552
|
+
* Returns [AG Grid `gridOptions`](https://www.ag-grid.com/angular-data-grid/grid-options/) with default SKY UX options, styling, and cell renderers registered for read-only grids.
|
|
3518
3553
|
* @param args
|
|
3519
3554
|
* @returns
|
|
3520
3555
|
*/
|
|
@@ -3524,7 +3559,7 @@ class SkyAgGridService {
|
|
|
3524
3559
|
return mergedGridOptions;
|
|
3525
3560
|
}
|
|
3526
3561
|
/**
|
|
3527
|
-
* Returns [AG Grid `gridOptions`](https://www.ag-grid.com/
|
|
3562
|
+
* Returns [AG Grid `gridOptions`](https://www.ag-grid.com/angular-data-grid/grid-options/) with default SKY UX options, styling, and cell editors registered for editable grids.
|
|
3528
3563
|
* @param args
|
|
3529
3564
|
* @returns
|
|
3530
3565
|
*/
|