@skyux/ag-grid 5.9.4 → 6.0.0-beta.10
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/css/sky-ag-grid.css +693 -126
- package/documentation.json +325 -338
- package/esm2020/index.mjs +35 -0
- package/esm2020/lib/modules/ag-grid/ag-grid-adapter.service.mjs +55 -0
- package/esm2020/lib/modules/ag-grid/ag-grid-data-manager-adapter.directive.mjs +212 -0
- package/esm2020/lib/modules/ag-grid/ag-grid-row-delete.component.mjs +77 -0
- package/esm2020/lib/modules/ag-grid/ag-grid-row-delete.directive.mjs +220 -0
- package/esm2020/lib/modules/ag-grid/ag-grid-wrapper.component.mjs +96 -0
- package/esm2020/lib/modules/ag-grid/ag-grid.module.mjs +101 -0
- package/esm2020/lib/modules/ag-grid/ag-grid.service.mjs +424 -0
- package/esm2020/lib/modules/ag-grid/apply-lookup-properties-defaults.mjs +29 -0
- package/esm2020/lib/modules/ag-grid/cell-editors/cell-editor-autocomplete/cell-editor-autocomplete.component.mjs +36 -0
- package/esm2020/lib/modules/ag-grid/cell-editors/cell-editor-autocomplete/cell-editor-autocomplete.module.mjs +20 -0
- package/esm2020/lib/modules/ag-grid/cell-editors/cell-editor-currency/cell-editor-currency.component.mjs +59 -0
- package/esm2020/lib/modules/ag-grid/cell-editors/cell-editor-currency/cell-editor-currency.module.mjs +20 -0
- package/esm2020/lib/modules/ag-grid/cell-editors/cell-editor-datepicker/cell-editor-datepicker.component.mjs +70 -0
- package/esm2020/lib/modules/ag-grid/cell-editors/cell-editor-datepicker/cell-editor-datepicker.module.mjs +19 -0
- package/esm2020/lib/modules/ag-grid/cell-editors/cell-editor-lookup/cell-editor-lookup.component.mjs +79 -0
- package/esm2020/lib/modules/ag-grid/cell-editors/cell-editor-lookup/cell-editor-lookup.module.mjs +38 -0
- package/esm2020/lib/modules/ag-grid/cell-editors/cell-editor-number/cell-editor-number.component.mjs +46 -0
- package/esm2020/lib/modules/ag-grid/cell-editors/cell-editor-number/cell-editor-number.module.mjs +19 -0
- package/esm2020/lib/modules/ag-grid/cell-editors/cell-editor-text/cell-editor-text.component.mjs +45 -0
- package/esm2020/lib/modules/ag-grid/cell-editors/cell-editor-text/cell-editor-text.module.mjs +19 -0
- package/esm2020/lib/modules/ag-grid/cell-renderers/cell-renderer-currency/cell-renderer-currency-validator.component.mjs +39 -0
- package/esm2020/lib/modules/ag-grid/cell-renderers/cell-renderer-currency/cell-renderer-currency.component.mjs +48 -0
- package/esm2020/lib/modules/ag-grid/cell-renderers/cell-renderer-currency/cell-renderer-currency.module.mjs +47 -0
- package/esm2020/lib/modules/ag-grid/cell-renderers/cell-renderer-lookup/cell-renderer-lookup.component.mjs +30 -0
- package/esm2020/lib/modules/ag-grid/cell-renderers/cell-renderer-lookup/cell-renderer-lookup.module.mjs +19 -0
- package/esm2020/lib/modules/ag-grid/cell-renderers/cell-renderer-row-selector/cell-renderer-row-selector.component.mjs +62 -0
- package/esm2020/lib/modules/ag-grid/cell-renderers/cell-renderer-row-selector/cell-renderer-row-selector.module.mjs +20 -0
- package/esm2020/lib/modules/ag-grid/cell-renderers/cell-renderer-validator-tooltip/cell-renderer-validator-tooltip.component.mjs +36 -0
- package/esm2020/lib/modules/ag-grid/cell-renderers/cell-renderer-validator-tooltip/cell-renderer-validator-tooltip.module.mjs +18 -0
- package/esm2020/lib/modules/ag-grid/cell-validator/ag-grid-cell-validator-tooltip.component.mjs +85 -0
- package/esm2020/lib/modules/ag-grid/cell-validator/ag-grid-cell-validator.module.mjs +20 -0
- package/esm2020/lib/modules/ag-grid/types/ag-grid-row-delete-cancel-args.mjs +2 -0
- package/esm2020/lib/modules/ag-grid/types/ag-grid-row-delete-config.mjs +2 -0
- package/esm2020/lib/modules/ag-grid/types/ag-grid-row-delete-confirm-args.mjs +2 -0
- package/esm2020/lib/modules/ag-grid/types/ag-grid-row-delete-contents.mjs +2 -0
- package/esm2020/lib/modules/ag-grid/types/autocomplete-properties.mjs +2 -0
- package/esm2020/lib/modules/ag-grid/types/cell-class.mjs +17 -0
- package/esm2020/lib/modules/ag-grid/types/cell-editor-autocomplete-params.mjs +2 -0
- package/esm2020/lib/modules/ag-grid/types/cell-editor-currency-params.mjs +2 -0
- package/esm2020/lib/modules/ag-grid/types/cell-editor-datepicker-params.mjs +2 -0
- package/esm2020/lib/modules/ag-grid/types/cell-editor-lookup-params.mjs +2 -0
- package/esm2020/lib/modules/ag-grid/types/cell-editor-number-params.mjs +2 -0
- package/esm2020/lib/modules/ag-grid/types/cell-editor-text-params.mjs +2 -0
- package/esm2020/lib/modules/ag-grid/types/cell-renderer-currency-params.mjs +2 -0
- package/esm2020/lib/modules/ag-grid/types/cell-renderer-lookup-params.mjs +2 -0
- package/esm2020/lib/modules/ag-grid/types/cell-renderer-validator-params.mjs +2 -0
- package/esm2020/lib/modules/ag-grid/types/cell-type.mjs +93 -0
- package/esm2020/lib/modules/ag-grid/types/currency-properties.mjs +2 -0
- package/esm2020/lib/modules/ag-grid/types/datepicker-properties.mjs +2 -0
- package/esm2020/lib/modules/ag-grid/types/header-class.mjs +8 -0
- package/esm2020/lib/modules/ag-grid/types/lookup-properties.mjs +2 -0
- package/esm2020/lib/modules/ag-grid/types/number-properties.mjs +2 -0
- package/esm2020/lib/modules/ag-grid/types/sky-grid-options.mjs +2 -0
- package/esm2020/lib/modules/ag-grid/types/text-properties.mjs +2 -0
- package/esm2020/lib/modules/ag-grid/types/validator-properties.mjs +2 -0
- package/esm2020/lib/modules/shared/sky-ag-grid-resources.module.mjs +71 -0
- package/esm2020/skyux-ag-grid.mjs +5 -0
- package/fesm2015/{skyux-ag-grid.js → skyux-ag-grid.mjs} +202 -274
- package/fesm2015/skyux-ag-grid.mjs.map +1 -0
- package/fesm2020/skyux-ag-grid.mjs +2130 -0
- package/fesm2020/skyux-ag-grid.mjs.map +1 -0
- package/lib/modules/ag-grid/ag-grid-row-delete.directive.d.ts +2 -3
- package/lib/modules/ag-grid/ag-grid.service.d.ts +1 -0
- package/lib/modules/ag-grid/cell-renderers/cell-renderer-lookup/cell-renderer-lookup.component.d.ts +0 -1
- package/package.json +38 -22
- package/bundles/skyux-ag-grid.umd.js +0 -2612
- package/esm2015/index.js +0 -35
- package/esm2015/index.js.map +0 -1
- package/esm2015/lib/modules/ag-grid/ag-grid-adapter.service.js +0 -55
- package/esm2015/lib/modules/ag-grid/ag-grid-adapter.service.js.map +0 -1
- package/esm2015/lib/modules/ag-grid/ag-grid-data-manager-adapter.directive.js +0 -212
- package/esm2015/lib/modules/ag-grid/ag-grid-data-manager-adapter.directive.js.map +0 -1
- package/esm2015/lib/modules/ag-grid/ag-grid-row-delete.component.js +0 -77
- package/esm2015/lib/modules/ag-grid/ag-grid-row-delete.component.js.map +0 -1
- package/esm2015/lib/modules/ag-grid/ag-grid-row-delete.directive.js +0 -227
- package/esm2015/lib/modules/ag-grid/ag-grid-row-delete.directive.js.map +0 -1
- package/esm2015/lib/modules/ag-grid/ag-grid-wrapper.component.js +0 -100
- package/esm2015/lib/modules/ag-grid/ag-grid-wrapper.component.js.map +0 -1
- package/esm2015/lib/modules/ag-grid/ag-grid.module.js +0 -122
- package/esm2015/lib/modules/ag-grid/ag-grid.module.js.map +0 -1
- package/esm2015/lib/modules/ag-grid/ag-grid.service.js +0 -357
- package/esm2015/lib/modules/ag-grid/ag-grid.service.js.map +0 -1
- package/esm2015/lib/modules/ag-grid/apply-lookup-properties-defaults.js +0 -29
- package/esm2015/lib/modules/ag-grid/apply-lookup-properties-defaults.js.map +0 -1
- package/esm2015/lib/modules/ag-grid/cell-editors/cell-editor-autocomplete/cell-editor-autocomplete.component.js +0 -41
- package/esm2015/lib/modules/ag-grid/cell-editors/cell-editor-autocomplete/cell-editor-autocomplete.component.js.map +0 -1
- package/esm2015/lib/modules/ag-grid/cell-editors/cell-editor-autocomplete/cell-editor-autocomplete.module.js +0 -20
- package/esm2015/lib/modules/ag-grid/cell-editors/cell-editor-autocomplete/cell-editor-autocomplete.module.js.map +0 -1
- package/esm2015/lib/modules/ag-grid/cell-editors/cell-editor-currency/cell-editor-currency.component.js +0 -64
- package/esm2015/lib/modules/ag-grid/cell-editors/cell-editor-currency/cell-editor-currency.component.js.map +0 -1
- package/esm2015/lib/modules/ag-grid/cell-editors/cell-editor-currency/cell-editor-currency.module.js +0 -20
- package/esm2015/lib/modules/ag-grid/cell-editors/cell-editor-currency/cell-editor-currency.module.js.map +0 -1
- package/esm2015/lib/modules/ag-grid/cell-editors/cell-editor-datepicker/cell-editor-datepicker.component.js +0 -77
- package/esm2015/lib/modules/ag-grid/cell-editors/cell-editor-datepicker/cell-editor-datepicker.component.js.map +0 -1
- package/esm2015/lib/modules/ag-grid/cell-editors/cell-editor-datepicker/cell-editor-datepicker.module.js +0 -19
- package/esm2015/lib/modules/ag-grid/cell-editors/cell-editor-datepicker/cell-editor-datepicker.module.js.map +0 -1
- package/esm2015/lib/modules/ag-grid/cell-editors/cell-editor-lookup/cell-editor-lookup.component.js +0 -85
- package/esm2015/lib/modules/ag-grid/cell-editors/cell-editor-lookup/cell-editor-lookup.component.js.map +0 -1
- package/esm2015/lib/modules/ag-grid/cell-editors/cell-editor-lookup/cell-editor-lookup.module.js +0 -38
- package/esm2015/lib/modules/ag-grid/cell-editors/cell-editor-lookup/cell-editor-lookup.module.js.map +0 -1
- package/esm2015/lib/modules/ag-grid/cell-editors/cell-editor-number/cell-editor-number.component.js +0 -52
- package/esm2015/lib/modules/ag-grid/cell-editors/cell-editor-number/cell-editor-number.component.js.map +0 -1
- package/esm2015/lib/modules/ag-grid/cell-editors/cell-editor-number/cell-editor-number.module.js +0 -19
- package/esm2015/lib/modules/ag-grid/cell-editors/cell-editor-number/cell-editor-number.module.js.map +0 -1
- package/esm2015/lib/modules/ag-grid/cell-editors/cell-editor-text/cell-editor-text.component.js +0 -51
- package/esm2015/lib/modules/ag-grid/cell-editors/cell-editor-text/cell-editor-text.component.js.map +0 -1
- package/esm2015/lib/modules/ag-grid/cell-editors/cell-editor-text/cell-editor-text.module.js +0 -19
- package/esm2015/lib/modules/ag-grid/cell-editors/cell-editor-text/cell-editor-text.module.js.map +0 -1
- package/esm2015/lib/modules/ag-grid/cell-renderers/cell-renderer-currency/cell-renderer-currency-validator.component.js +0 -43
- package/esm2015/lib/modules/ag-grid/cell-renderers/cell-renderer-currency/cell-renderer-currency-validator.component.js.map +0 -1
- package/esm2015/lib/modules/ag-grid/cell-renderers/cell-renderer-currency/cell-renderer-currency.component.js +0 -54
- package/esm2015/lib/modules/ag-grid/cell-renderers/cell-renderer-currency/cell-renderer-currency.component.js.map +0 -1
- package/esm2015/lib/modules/ag-grid/cell-renderers/cell-renderer-currency/cell-renderer-currency.module.js +0 -47
- package/esm2015/lib/modules/ag-grid/cell-renderers/cell-renderer-currency/cell-renderer-currency.module.js.map +0 -1
- package/esm2015/lib/modules/ag-grid/cell-renderers/cell-renderer-lookup/cell-renderer-lookup.component.js +0 -38
- package/esm2015/lib/modules/ag-grid/cell-renderers/cell-renderer-lookup/cell-renderer-lookup.component.js.map +0 -1
- package/esm2015/lib/modules/ag-grid/cell-renderers/cell-renderer-lookup/cell-renderer-lookup.module.js +0 -19
- package/esm2015/lib/modules/ag-grid/cell-renderers/cell-renderer-lookup/cell-renderer-lookup.module.js.map +0 -1
- package/esm2015/lib/modules/ag-grid/cell-renderers/cell-renderer-row-selector/cell-renderer-row-selector.component.js +0 -68
- package/esm2015/lib/modules/ag-grid/cell-renderers/cell-renderer-row-selector/cell-renderer-row-selector.component.js.map +0 -1
- package/esm2015/lib/modules/ag-grid/cell-renderers/cell-renderer-row-selector/cell-renderer-row-selector.module.js +0 -20
- package/esm2015/lib/modules/ag-grid/cell-renderers/cell-renderer-row-selector/cell-renderer-row-selector.module.js.map +0 -1
- package/esm2015/lib/modules/ag-grid/cell-renderers/cell-renderer-validator-tooltip/cell-renderer-validator-tooltip.component.js +0 -41
- package/esm2015/lib/modules/ag-grid/cell-renderers/cell-renderer-validator-tooltip/cell-renderer-validator-tooltip.component.js.map +0 -1
- package/esm2015/lib/modules/ag-grid/cell-renderers/cell-renderer-validator-tooltip/cell-renderer-validator-tooltip.module.js +0 -18
- package/esm2015/lib/modules/ag-grid/cell-renderers/cell-renderer-validator-tooltip/cell-renderer-validator-tooltip.module.js.map +0 -1
- package/esm2015/lib/modules/ag-grid/cell-validator/ag-grid-cell-validator-tooltip.component.js +0 -90
- package/esm2015/lib/modules/ag-grid/cell-validator/ag-grid-cell-validator-tooltip.component.js.map +0 -1
- package/esm2015/lib/modules/ag-grid/cell-validator/ag-grid-cell-validator.module.js +0 -20
- package/esm2015/lib/modules/ag-grid/cell-validator/ag-grid-cell-validator.module.js.map +0 -1
- package/esm2015/lib/modules/ag-grid/types/ag-grid-row-delete-cancel-args.js +0 -2
- package/esm2015/lib/modules/ag-grid/types/ag-grid-row-delete-cancel-args.js.map +0 -1
- package/esm2015/lib/modules/ag-grid/types/ag-grid-row-delete-config.js +0 -2
- package/esm2015/lib/modules/ag-grid/types/ag-grid-row-delete-config.js.map +0 -1
- package/esm2015/lib/modules/ag-grid/types/ag-grid-row-delete-confirm-args.js +0 -2
- package/esm2015/lib/modules/ag-grid/types/ag-grid-row-delete-confirm-args.js.map +0 -1
- package/esm2015/lib/modules/ag-grid/types/ag-grid-row-delete-contents.js +0 -2
- package/esm2015/lib/modules/ag-grid/types/ag-grid-row-delete-contents.js.map +0 -1
- package/esm2015/lib/modules/ag-grid/types/autocomplete-properties.js +0 -2
- package/esm2015/lib/modules/ag-grid/types/autocomplete-properties.js.map +0 -1
- package/esm2015/lib/modules/ag-grid/types/cell-class.js +0 -17
- package/esm2015/lib/modules/ag-grid/types/cell-class.js.map +0 -1
- package/esm2015/lib/modules/ag-grid/types/cell-editor-autocomplete-params.js +0 -2
- package/esm2015/lib/modules/ag-grid/types/cell-editor-autocomplete-params.js.map +0 -1
- package/esm2015/lib/modules/ag-grid/types/cell-editor-currency-params.js +0 -2
- package/esm2015/lib/modules/ag-grid/types/cell-editor-currency-params.js.map +0 -1
- package/esm2015/lib/modules/ag-grid/types/cell-editor-datepicker-params.js +0 -2
- package/esm2015/lib/modules/ag-grid/types/cell-editor-datepicker-params.js.map +0 -1
- package/esm2015/lib/modules/ag-grid/types/cell-editor-lookup-params.js +0 -2
- package/esm2015/lib/modules/ag-grid/types/cell-editor-lookup-params.js.map +0 -1
- package/esm2015/lib/modules/ag-grid/types/cell-editor-number-params.js +0 -2
- package/esm2015/lib/modules/ag-grid/types/cell-editor-number-params.js.map +0 -1
- package/esm2015/lib/modules/ag-grid/types/cell-editor-text-params.js +0 -2
- package/esm2015/lib/modules/ag-grid/types/cell-editor-text-params.js.map +0 -1
- package/esm2015/lib/modules/ag-grid/types/cell-renderer-currency-params.js +0 -2
- package/esm2015/lib/modules/ag-grid/types/cell-renderer-currency-params.js.map +0 -1
- package/esm2015/lib/modules/ag-grid/types/cell-renderer-lookup-params.js +0 -2
- package/esm2015/lib/modules/ag-grid/types/cell-renderer-lookup-params.js.map +0 -1
- package/esm2015/lib/modules/ag-grid/types/cell-renderer-validator-params.js +0 -2
- package/esm2015/lib/modules/ag-grid/types/cell-renderer-validator-params.js.map +0 -1
- package/esm2015/lib/modules/ag-grid/types/cell-type.js +0 -93
- package/esm2015/lib/modules/ag-grid/types/cell-type.js.map +0 -1
- package/esm2015/lib/modules/ag-grid/types/currency-properties.js +0 -2
- package/esm2015/lib/modules/ag-grid/types/currency-properties.js.map +0 -1
- package/esm2015/lib/modules/ag-grid/types/datepicker-properties.js +0 -2
- package/esm2015/lib/modules/ag-grid/types/datepicker-properties.js.map +0 -1
- package/esm2015/lib/modules/ag-grid/types/header-class.js +0 -8
- package/esm2015/lib/modules/ag-grid/types/header-class.js.map +0 -1
- package/esm2015/lib/modules/ag-grid/types/lookup-properties.js +0 -2
- package/esm2015/lib/modules/ag-grid/types/lookup-properties.js.map +0 -1
- package/esm2015/lib/modules/ag-grid/types/number-properties.js +0 -2
- package/esm2015/lib/modules/ag-grid/types/number-properties.js.map +0 -1
- package/esm2015/lib/modules/ag-grid/types/sky-grid-options.js +0 -2
- package/esm2015/lib/modules/ag-grid/types/sky-grid-options.js.map +0 -1
- package/esm2015/lib/modules/ag-grid/types/text-properties.js +0 -2
- package/esm2015/lib/modules/ag-grid/types/text-properties.js.map +0 -1
- package/esm2015/lib/modules/ag-grid/types/validator-properties.js +0 -2
- package/esm2015/lib/modules/ag-grid/types/validator-properties.js.map +0 -1
- package/esm2015/lib/modules/shared/sky-ag-grid-resources.module.js +0 -71
- package/esm2015/lib/modules/shared/sky-ag-grid-resources.module.js.map +0 -1
- package/esm2015/skyux-ag-grid.js +0 -5
- package/esm2015/skyux-ag-grid.js.map +0 -1
- package/fesm2015/skyux-ag-grid.js.map +0 -1
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
import { ChangeDetectorRef, ContentChild, Directive, ElementRef, EventEmitter, Input, Output, ViewContainerRef, } from '@angular/core';
|
|
2
|
+
import { SkyAffixAutoFitContext, SkyAffixService, SkyOverlayService, } from '@skyux/core';
|
|
3
|
+
import { AgGridAngular } from 'ag-grid-angular';
|
|
4
|
+
import { Subject } from 'rxjs';
|
|
5
|
+
import { takeUntil } from 'rxjs/operators';
|
|
6
|
+
import { SkyAgGridRowDeleteComponent } from './ag-grid-row-delete.component';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@skyux/core";
|
|
9
|
+
export class SkyAgGridRowDeleteDirective {
|
|
10
|
+
constructor(affixService, changeDetector, elementRef, overlayService, viewContainerRef) {
|
|
11
|
+
this.affixService = affixService;
|
|
12
|
+
this.changeDetector = changeDetector;
|
|
13
|
+
this.elementRef = elementRef;
|
|
14
|
+
this.overlayService = overlayService;
|
|
15
|
+
this.viewContainerRef = viewContainerRef;
|
|
16
|
+
/**
|
|
17
|
+
* Emits a `SkyAgGridRowDeleteCancelArgs` object when a row's inline delete is cancelled.
|
|
18
|
+
*/
|
|
19
|
+
this.rowDeleteCancel = new EventEmitter();
|
|
20
|
+
/**
|
|
21
|
+
* Emits a `SkyAgGridRowDeleteConfirmArgs` object when a row's inline delete is confirmed.
|
|
22
|
+
*/
|
|
23
|
+
this.rowDeleteConfirm = new EventEmitter();
|
|
24
|
+
/**
|
|
25
|
+
* Emits when the list of ids of the data in the rows where inline deletes are shown changes.
|
|
26
|
+
*/
|
|
27
|
+
this.rowDeleteIdsChange = new EventEmitter();
|
|
28
|
+
this.rowDeleteConfigs = [];
|
|
29
|
+
this.ngUnsubscribe = new Subject();
|
|
30
|
+
this.rowDeleteContents = {};
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Specifies the ids of the data in the rows on which inline delete's should be shown.
|
|
34
|
+
*/
|
|
35
|
+
set rowDeleteIds(value) {
|
|
36
|
+
this._rowDeleteIds = value;
|
|
37
|
+
if (!value) {
|
|
38
|
+
for (const config of this.rowDeleteConfigs) {
|
|
39
|
+
this.destroyRowDelete(config.id);
|
|
40
|
+
}
|
|
41
|
+
this.changeDetector.markForCheck();
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
for (const id of value) {
|
|
45
|
+
const existingConfig = this.rowDeleteConfigs.find((config) => config.id === id);
|
|
46
|
+
if (existingConfig) {
|
|
47
|
+
existingConfig.pending = false;
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
this.rowDeleteConfigs.push({
|
|
51
|
+
id: id,
|
|
52
|
+
pending: false,
|
|
53
|
+
});
|
|
54
|
+
const overlay = this.overlayService.create({
|
|
55
|
+
enableScroll: true,
|
|
56
|
+
showBackdrop: false,
|
|
57
|
+
closeOnNavigation: true,
|
|
58
|
+
enableClose: false,
|
|
59
|
+
enablePointerEvents: true,
|
|
60
|
+
});
|
|
61
|
+
overlay.attachTemplate(this.rowDeleteComponent.inlineDeleteTemplateRef, {
|
|
62
|
+
$implicit: this.agGrid.api.getRowNode(id),
|
|
63
|
+
tableWidth: () => {
|
|
64
|
+
return this.tableWidth;
|
|
65
|
+
},
|
|
66
|
+
getRowDeleteItem: (row) => this.getRowDeleteItem(row),
|
|
67
|
+
cancelRowDelete: (row) => this.cancelRowDelete(row),
|
|
68
|
+
confirmRowDelete: (row) => this.confirmRowDelete(row),
|
|
69
|
+
});
|
|
70
|
+
/**
|
|
71
|
+
* We are manually setting the z-index here because overlays will always be on top of
|
|
72
|
+
* the omnibar. This manual setting is 2 less than the omnibar's z-index of 1000 and one less than
|
|
73
|
+
* the header row's viewkeeper which is 999. We discussed changing the overlay service to allow for this
|
|
74
|
+
* but decided against that change at this time due to its niche nature.
|
|
75
|
+
*/
|
|
76
|
+
overlay.componentRef.instance.zIndex = '998';
|
|
77
|
+
setTimeout(() => {
|
|
78
|
+
const inlineDeleteRef = this.rowDeleteComponent.inlineDeleteRefs
|
|
79
|
+
.toArray()
|
|
80
|
+
.find((elRef) => {
|
|
81
|
+
return elRef.nativeElement.id === 'row-delete-ref-' + id;
|
|
82
|
+
});
|
|
83
|
+
const affixer = this.affixService.createAffixer(inlineDeleteRef);
|
|
84
|
+
this.affixToRow(affixer, id);
|
|
85
|
+
this.rowDeleteContents[id] = {
|
|
86
|
+
affixer: affixer,
|
|
87
|
+
overlay: overlay,
|
|
88
|
+
};
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
for (const config of this.rowDeleteConfigs) {
|
|
93
|
+
if (value.indexOf(config.id) < 0) {
|
|
94
|
+
this.destroyRowDelete(config.id);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
this.changeDetector.markForCheck();
|
|
98
|
+
}
|
|
99
|
+
get rowDeleteIds() {
|
|
100
|
+
return this._rowDeleteIds;
|
|
101
|
+
}
|
|
102
|
+
get tableWidth() {
|
|
103
|
+
return this.elementRef.nativeElement.querySelectorAll('.sky-ag-grid')[0]
|
|
104
|
+
.offsetWidth;
|
|
105
|
+
}
|
|
106
|
+
ngAfterContentInit() {
|
|
107
|
+
this.rowDeleteComponent = this.viewContainerRef.createComponent(SkyAgGridRowDeleteComponent).instance;
|
|
108
|
+
this.agGrid.rowDataChanged
|
|
109
|
+
.pipe(takeUntil(this.ngUnsubscribe))
|
|
110
|
+
.subscribe(() => {
|
|
111
|
+
this.updateRowDeleteStates();
|
|
112
|
+
});
|
|
113
|
+
this.agGrid.rowDataUpdated
|
|
114
|
+
.pipe(takeUntil(this.ngUnsubscribe))
|
|
115
|
+
.subscribe(() => {
|
|
116
|
+
this.updateRowDeleteStates();
|
|
117
|
+
});
|
|
118
|
+
this.agGrid.sortChanged
|
|
119
|
+
.pipe(takeUntil(this.ngUnsubscribe))
|
|
120
|
+
.subscribe(() => {
|
|
121
|
+
this.updateRowDeleteStates();
|
|
122
|
+
});
|
|
123
|
+
this.agGrid.filterChanged
|
|
124
|
+
.pipe(takeUntil(this.ngUnsubscribe))
|
|
125
|
+
.subscribe(() => {
|
|
126
|
+
this.updateRowDeleteStates();
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
ngOnDestroy() {
|
|
130
|
+
this.ngUnsubscribe.next();
|
|
131
|
+
this.ngUnsubscribe.complete();
|
|
132
|
+
Object.keys(this.rowDeleteContents).forEach((id) => {
|
|
133
|
+
this.destroyRowDelete(id);
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
cancelRowDelete(row) {
|
|
137
|
+
this.rowDeleteConfigs = this.rowDeleteConfigs.filter((config) => config.id !== row.id);
|
|
138
|
+
this.rowDeleteCancel.emit({ id: row.id });
|
|
139
|
+
this.destroyRowDelete(row.id);
|
|
140
|
+
}
|
|
141
|
+
confirmRowDelete(row) {
|
|
142
|
+
this.rowDeleteConfigs.find((config) => config.id === row.id).pending = true;
|
|
143
|
+
this.rowDeleteConfirm.emit({ id: row.id });
|
|
144
|
+
}
|
|
145
|
+
getRowDeleteItem(row) {
|
|
146
|
+
return this.rowDeleteConfigs.find((rowDelete) => rowDelete.id === row.id);
|
|
147
|
+
}
|
|
148
|
+
affixToRow(affixer, id) {
|
|
149
|
+
let rowElement = this.elementRef.nativeElement.querySelector(`
|
|
150
|
+
[row-id="${id}"] div[aria-colindex="1"],
|
|
151
|
+
.ag-row.sky-ag-grid-row-${id} div[aria-colindex="1"]
|
|
152
|
+
`);
|
|
153
|
+
// This covers cases where AG Grid places the column index on an inner element (such as with the `enableCellTextSelection` option)
|
|
154
|
+
// This appears to have been fixed by AG Grid in version 24 and so it is not testable after that version.
|
|
155
|
+
/* istanbul ignore if */
|
|
156
|
+
if (!rowElement) {
|
|
157
|
+
const columns = this.elementRef.nativeElement.querySelectorAll('[row-id="' + id + '"] > div');
|
|
158
|
+
for (let i = 0; i < columns.length; i++) {
|
|
159
|
+
if (columns[i].querySelector('[aria-colindex="1"]')) {
|
|
160
|
+
rowElement = columns[i];
|
|
161
|
+
break;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
affixer.affixTo(rowElement, {
|
|
166
|
+
autoFitContext: SkyAffixAutoFitContext.Viewport,
|
|
167
|
+
isSticky: true,
|
|
168
|
+
placement: 'above',
|
|
169
|
+
verticalAlignment: 'top',
|
|
170
|
+
horizontalAlignment: 'left',
|
|
171
|
+
enableAutoFit: false,
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
destroyRowDelete(id) {
|
|
175
|
+
const rowDeleteContents = this.rowDeleteContents[id];
|
|
176
|
+
/* sanity check */
|
|
177
|
+
/* istanbul ignore else */
|
|
178
|
+
if (rowDeleteContents) {
|
|
179
|
+
rowDeleteContents.affixer.destroy();
|
|
180
|
+
this.overlayService.close(rowDeleteContents.overlay);
|
|
181
|
+
delete this.rowDeleteContents[id];
|
|
182
|
+
this.rowDeleteConfigs = this.rowDeleteConfigs.filter((config) => config.id !== id);
|
|
183
|
+
this._rowDeleteIds = this.rowDeleteIds?.filter((arrayId) => arrayId !== id);
|
|
184
|
+
this.rowDeleteIdsChange.emit(this._rowDeleteIds);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
updateRowDeleteStates() {
|
|
188
|
+
this.rowDeleteConfigs.forEach((config) => {
|
|
189
|
+
if (!this.agGrid.api.getRowNode(config.id)) {
|
|
190
|
+
this.destroyRowDelete(config.id);
|
|
191
|
+
}
|
|
192
|
+
else {
|
|
193
|
+
// We must reaffix things when the data changes because the rows rerender and the previous element that the delete was affixed
|
|
194
|
+
// to is destroyed.
|
|
195
|
+
this.affixToRow(this.rowDeleteContents[config.id].affixer, config.id);
|
|
196
|
+
}
|
|
197
|
+
});
|
|
198
|
+
this.changeDetector.markForCheck();
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
SkyAgGridRowDeleteDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyAgGridRowDeleteDirective, deps: [{ token: i1.SkyAffixService }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1.SkyOverlayService }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
202
|
+
SkyAgGridRowDeleteDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: SkyAgGridRowDeleteDirective, selector: "[skyAgGridRowDelete]", inputs: { rowDeleteIds: "rowDeleteIds" }, outputs: { rowDeleteCancel: "rowDeleteCancel", rowDeleteConfirm: "rowDeleteConfirm", rowDeleteIdsChange: "rowDeleteIdsChange" }, queries: [{ propertyName: "agGrid", first: true, predicate: AgGridAngular, descendants: true }], ngImport: i0 });
|
|
203
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyAgGridRowDeleteDirective, decorators: [{
|
|
204
|
+
type: Directive,
|
|
205
|
+
args: [{
|
|
206
|
+
selector: '[skyAgGridRowDelete]',
|
|
207
|
+
}]
|
|
208
|
+
}], ctorParameters: function () { return [{ type: i1.SkyAffixService }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i1.SkyOverlayService }, { type: i0.ViewContainerRef }]; }, propDecorators: { rowDeleteIds: [{
|
|
209
|
+
type: Input
|
|
210
|
+
}], rowDeleteCancel: [{
|
|
211
|
+
type: Output
|
|
212
|
+
}], rowDeleteConfirm: [{
|
|
213
|
+
type: Output
|
|
214
|
+
}], rowDeleteIdsChange: [{
|
|
215
|
+
type: Output
|
|
216
|
+
}], agGrid: [{
|
|
217
|
+
type: ContentChild,
|
|
218
|
+
args: [AgGridAngular]
|
|
219
|
+
}] } });
|
|
220
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWctZ3JpZC1yb3ctZGVsZXRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9hZy1ncmlkL3NyYy9saWIvbW9kdWxlcy9hZy1ncmlkL2FnLWdyaWQtcm93LWRlbGV0ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLGlCQUFpQixFQUNqQixZQUFZLEVBQ1osU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLHNCQUFzQixFQUN0QixlQUFlLEVBRWYsaUJBQWlCLEdBQ2xCLE1BQU0sYUFBYSxDQUFDO0FBRXJCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVoRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7O0FBUzdFLE1BQU0sT0FBTywyQkFBMkI7SUE4SHRDLFlBQ1UsWUFBNkIsRUFDN0IsY0FBaUMsRUFDakMsVUFBc0IsRUFDdEIsY0FBaUMsRUFDakMsZ0JBQWtDO1FBSmxDLGlCQUFZLEdBQVosWUFBWSxDQUFpQjtRQUM3QixtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFDakMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFDakMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQXZDNUM7O1dBRUc7UUFFSSxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFnQyxDQUFDO1FBRTFFOztXQUVHO1FBRUkscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQWlDLENBQUM7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QyxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFO2dCQUMxQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQ2xDO2lCQUFNO2dCQUNMLDhIQUE4SDtnQkFDOUgsbUJBQW1CO2dCQUNuQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUN2RTtRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNyQyxDQUFDOzt3SEE3UFUsMkJBQTJCOzRHQUEzQiwyQkFBMkIsMlFBcUh4QixhQUFhOzJGQXJIaEIsMkJBQTJCO2tCQUh2QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxzQkFBc0I7aUJBQ2pDOzhOQVFLLFlBQVk7c0JBRGYsS0FBSztnQkEwRkMsZUFBZTtzQkFEckIsTUFBTTtnQkFPQSxnQkFBZ0I7c0JBRHRCLE1BQU07Z0JBT0Esa0JBQWtCO3NCQUR4QixNQUFNO2dCQVdBLE1BQU07c0JBRFosWUFBWTt1QkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbnRlbnRDaGlsZCxcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBTa3lBZmZpeEF1dG9GaXRDb250ZXh0LFxuICBTa3lBZmZpeFNlcnZpY2UsXG4gIFNreUFmZml4ZXIsXG4gIFNreU92ZXJsYXlTZXJ2aWNlLFxufSBmcm9tICdAc2t5dXgvY29yZSc7XG5cbmltcG9ydCB7IEFnR3JpZEFuZ3VsYXIgfSBmcm9tICdhZy1ncmlkLWFuZ3VsYXInO1xuaW1wb3J0IHsgUm93Tm9kZSB9IGZyb20gJ2FnLWdyaWQtY29tbXVuaXR5JztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5QWdHcmlkUm93RGVsZXRlQ29tcG9uZW50IH0gZnJvbSAnLi9hZy1ncmlkLXJvdy1kZWxldGUuY29tcG9uZW50JztcbmltcG9ydCB7IFNreUFnR3JpZFJvd0RlbGV0ZUNhbmNlbEFyZ3MgfSBmcm9tICcuL3R5cGVzL2FnLWdyaWQtcm93LWRlbGV0ZS1jYW5jZWwtYXJncyc7XG5pbXBvcnQgeyBTa3lBZ0dyaWRSb3dEZWxldGVDb25maWcgfSBmcm9tICcuL3R5cGVzL2FnLWdyaWQtcm93LWRlbGV0ZS1jb25maWcnO1xuaW1wb3J0IHsgU2t5QWdHcmlkUm93RGVsZXRlQ29uZmlybUFyZ3MgfSBmcm9tICcuL3R5cGVzL2FnLWdyaWQtcm93LWRlbGV0ZS1jb25maXJtLWFyZ3MnO1xuaW1wb3J0IHsgU2t5QWdHcmlkUm93RGVsZXRlQ29udGVudHMgfSBmcm9tICcuL3R5cGVzL2FnLWdyaWQtcm93LWRlbGV0ZS1jb250ZW50cyc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tza3lBZ0dyaWRSb3dEZWxldGVdJyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5QWdHcmlkUm93RGVsZXRlRGlyZWN0aXZlXG4gIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95XG57XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIGlkcyBvZiB0aGUgZGF0YSBpbiB0aGUgcm93cyBvbiB3aGljaCBpbmxpbmUgZGVsZXRlJ3Mgc2hvdWxkIGJlIHNob3duLlxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IHJvd0RlbGV0ZUlkcyh2YWx1ZTogc3RyaW5nW10pIHtcbiAgICB0aGlzLl9yb3dEZWxldGVJZHMgPSB2YWx1ZTtcblxuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIGZvciAoY29uc3QgY29uZmlnIG9mIHRoaXMucm93RGVsZXRlQ29uZmlncykge1xuICAgICAgICB0aGlzLmRlc3Ryb3lSb3dEZWxldGUoY29uZmlnLmlkKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgaWQgb2YgdmFsdWUpIHtcbiAgICAgIGNvbnN0IGV4aXN0aW5nQ29uZmlnID0gdGhpcy5yb3dEZWxldGVDb25maWdzLmZpbmQoXG4gICAgICAgIChjb25maWcpID0+IGNvbmZpZy5pZCA9PT0gaWRcbiAgICAgICk7XG4gICAgICBpZiAoZXhpc3RpbmdDb25maWcpIHtcbiAgICAgICAgZXhpc3RpbmdDb25maWcucGVuZGluZyA9IGZhbHNlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5yb3dEZWxldGVDb25maWdzLnB1c2goe1xuICAgICAgICAgIGlkOiBpZCxcbiAgICAgICAgICBwZW5kaW5nOiBmYWxzZSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3Qgb3ZlcmxheSA9IHRoaXMub3ZlcmxheVNlcnZpY2UuY3JlYXRlKHtcbiAgICAgICAgICBlbmFibGVTY3JvbGw6IHRydWUsXG4gICAgICAgICAgc2hvd0JhY2tkcm9wOiBmYWxzZSxcbiAgICAgICAgICBjbG9zZU9uTmF2aWdhdGlvbjogdHJ1ZSxcbiAgICAgICAgICBlbmFibGVDbG9zZTogZmFsc2UsXG4gICAgICAgICAgZW5hYmxlUG9pbnRlckV2ZW50czogdHJ1ZSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgb3ZlcmxheS5hdHRhY2hUZW1wbGF0ZShcbiAgICAgICAgICB0aGlzLnJvd0RlbGV0ZUNvbXBvbmVudC5pbmxpbmVEZWxldGVUZW1wbGF0ZVJlZixcbiAgICAgICAgICB7XG4gICAgICAgICAgICAkaW1wbGljaXQ6IHRoaXMuYWdHcmlkLmFwaS5nZXRSb3dOb2RlKGlkKSxcbiAgICAgICAgICAgIHRhYmxlV2lkdGg6ICgpID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudGFibGVXaWR0aDtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBnZXRSb3dEZWxldGVJdGVtOiAocm93OiBSb3dOb2RlKSA9PiB0aGlzLmdldFJvd0RlbGV0ZUl0ZW0ocm93KSxcbiAgICAgICAgICAgIGNhbmNlbFJvd0RlbGV0ZTogKHJvdzogUm93Tm9kZSkgPT4gdGhpcy5jYW5jZWxSb3dEZWxldGUocm93KSxcbiAgICAgICAgICAgIGNvbmZpcm1Sb3dEZWxldGU6IChyb3c6IFJvd05vZGUpID0+IHRoaXMuY29uZmlybVJvd0RlbGV0ZShyb3cpLFxuICAgICAgICAgIH1cbiAgICAgICAgKTtcblxuICAgICAgICAvKipcbiAgICAgICAgICogV2UgYXJlIG1hbnVhbGx5IHNldHRpbmcgdGhlIHotaW5kZXggaGVyZSBiZWNhdXNlIG92ZXJsYXlzIHdpbGwgYWx3YXlzIGJlIG9uIHRvcCBvZlxuICAgICAgICAgKiB0aGUgb21uaWJhci4gVGhpcyBtYW51YWwgc2V0dGluZyBpcyAyIGxlc3MgdGhhbiB0aGUgb21uaWJhcidzIHotaW5kZXggb2YgMTAwMCBhbmQgb25lIGxlc3MgdGhhblxuICAgICAgICAgKiB0aGUgaGVhZGVyIHJvdydzIHZpZXdrZWVwZXIgd2hpY2ggaXMgOTk5LiBXZSBkaXNjdXNzZWQgY2hhbmdpbmcgdGhlIG92ZXJsYXkgc2VydmljZSB0byBhbGxvdyBmb3IgdGhpc1xuICAgICAgICAgKiBidXQgZGVjaWRlZCBhZ2FpbnN0IHRoYXQgY2hhbmdlIGF0IHRoaXMgdGltZSBkdWUgdG8gaXRzIG5pY2hlIG5hdHVyZS5cbiAgICAgICAgICovXG4gICAgICAgIG92ZXJsYXkuY29tcG9uZW50UmVmLmluc3RhbmNlLnpJbmRleCA9ICc5OTgnO1xuXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGlubGluZURlbGV0ZVJlZiA9IHRoaXMucm93RGVsZXRlQ29tcG9uZW50LmlubGluZURlbGV0ZVJlZnNcbiAgICAgICAgICAgIC50b0FycmF5KClcbiAgICAgICAgICAgIC5maW5kKChlbFJlZikgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4gZWxSZWYubmF0aXZlRWxlbWVudC5pZCA9PT0gJ3Jvdy1kZWxldGUtcmVmLScgKyBpZDtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIGNvbnN0IGFmZml4ZXIgPSB0aGlzLmFmZml4U2VydmljZS5jcmVhdGVBZmZpeGVyKGlubGluZURlbGV0ZVJlZik7XG5cbiAgICAgICAgICB0aGlzLmFmZml4VG9Sb3coYWZmaXhlciwgaWQpO1xuXG4gICAgICAgICAgdGhpcy5yb3dEZWxldGVDb250ZW50c1tpZF0gPSB7XG4gICAgICAgICAgICBhZmZpeGVyOiBhZmZpeGVyLFxuICAgICAgICAgICAgb3ZlcmxheTogb3ZlcmxheSxcbiAgICAgICAgICB9O1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGNvbmZpZyBvZiB0aGlzLnJvd0RlbGV0ZUNvbmZpZ3MpIHtcbiAgICAgIGlmICh2YWx1ZS5pbmRleE9mKGNvbmZpZy5pZCkgPCAwKSB7XG4gICAgICAgIHRoaXMuZGVzdHJveVJvd0RlbGV0ZShjb25maWcuaWQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBnZXQgcm93RGVsZXRlSWRzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5fcm93RGVsZXRlSWRzO1xuICB9XG5cbiAgLyoqXG4gICAqIEVtaXRzIGEgYFNreUFnR3JpZFJvd0RlbGV0ZUNhbmNlbEFyZ3NgIG9iamVjdCB3aGVuIGEgcm93J3MgaW5saW5lIGRlbGV0ZSBpcyBjYW5jZWxsZWQuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIHJvd0RlbGV0ZUNhbmNlbCA9IG5ldyBFdmVudEVtaXR0ZXI8U2t5QWdHcmlkUm93RGVsZXRlQ2FuY2VsQXJncz4oKTtcblxuICAvKipcbiAgICogRW1pdHMgYSBgU2t5QWdHcmlkUm93RGVsZXRlQ29uZmlybUFyZ3NgIG9iamVjdCB3aGVuIGEgcm93J3MgaW5saW5lIGRlbGV0ZSBpcyBjb25maXJtZWQuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIHJvd0RlbGV0ZUNvbmZpcm0gPSBuZXcgRXZlbnRFbWl0dGVyPFNreUFnR3JpZFJvd0RlbGV0ZUNvbmZpcm1BcmdzPigpO1xuXG4gIC8qKlxuICAgKiBFbWl0cyB3aGVuIHRoZSBsaXN0IG9mIGlkcyBvZiB0aGUgZGF0YSBpbiB0aGUgcm93cyB3aGVyZSBpbmxpbmUgZGVsZXRlcyBhcmUgc2hvd24gY2hhbmdlcy5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgcm93RGVsZXRlSWRzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmdbXT4oKTtcblxuICBwdWJsaWMgcm93RGVsZXRlQ29uZmlnczogU2t5QWdHcmlkUm93RGVsZXRlQ29uZmlnW10gPSBbXTtcblxuICBwdWJsaWMgZ2V0IHRhYmxlV2lkdGgoKSB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5za3ktYWctZ3JpZCcpWzBdXG4gICAgICAub2Zmc2V0V2lkdGg7XG4gIH1cblxuICBAQ29udGVudENoaWxkKEFnR3JpZEFuZ3VsYXIpXG4gIHB1YmxpYyBhZ0dyaWQ6IEFnR3JpZEFuZ3VsYXI7XG5cbiAgcHJpdmF0ZSBuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSByb3dEZWxldGVDb21wb25lbnQ6IFNreUFnR3JpZFJvd0RlbGV0ZUNvbXBvbmVudDtcbiAgcHJpdmF0ZSByb3dEZWxldGVDb250ZW50czogeyBbaWQ6IHN0cmluZ106IFNreUFnR3JpZFJvd0RlbGV0ZUNvbnRlbnRzIH0gPSB7fTtcblxuICBwcml2YXRlIF9yb3dEZWxldGVJZHM6IHN0cmluZ1tdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYWZmaXhTZXJ2aWNlOiBTa3lBZmZpeFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgb3ZlcmxheVNlcnZpY2U6IFNreU92ZXJsYXlTZXJ2aWNlLFxuICAgIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZlxuICApIHt9XG5cbiAgcHVibGljIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnJvd0RlbGV0ZUNvbXBvbmVudCA9IHRoaXMudmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoXG4gICAgICBTa3lBZ0dyaWRSb3dEZWxldGVDb21wb25lbnRcbiAgICApLmluc3RhbmNlO1xuXG4gICAgdGhpcy5hZ0dyaWQucm93RGF0YUNoYW5nZWRcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMudXBkYXRlUm93RGVsZXRlU3RhdGVzKCk7XG4gICAgICB9KTtcblxuICAgIHRoaXMuYWdHcmlkLnJvd0RhdGFVcGRhdGVkXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnVwZGF0ZVJvd0RlbGV0ZVN0YXRlcygpO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLmFnR3JpZC5zb3J0Q2hhbmdlZFxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy51cGRhdGVSb3dEZWxldGVTdGF0ZXMoKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5hZ0dyaWQuZmlsdGVyQ2hhbmdlZFxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy51cGRhdGVSb3dEZWxldGVTdGF0ZXMoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMubmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG5cbiAgICBPYmplY3Qua2V5cyh0aGlzLnJvd0RlbGV0ZUNvbnRlbnRzKS5mb3JFYWNoKChpZCkgPT4ge1xuICAgICAgdGhpcy5kZXN0cm95Um93RGVsZXRlKGlkKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBjYW5jZWxSb3dEZWxldGUocm93OiBSb3dOb2RlKTogdm9pZCB7XG4gICAgdGhpcy5yb3dEZWxldGVDb25maWdzID0gdGhpcy5yb3dEZWxldGVDb25maWdzLmZpbHRlcihcbiAgICAgIChjb25maWcpID0+IGNvbmZpZy5pZCAhPT0gcm93LmlkXG4gICAgKTtcbiAgICB0aGlzLnJvd0RlbGV0ZUNhbmNlbC5lbWl0KHsgaWQ6IHJvdy5pZCB9KTtcblxuICAgIHRoaXMuZGVzdHJveVJvd0RlbGV0ZShyb3cuaWQpO1xuICB9XG5cbiAgcHVibGljIGNvbmZpcm1Sb3dEZWxldGUocm93OiBSb3dOb2RlKTogdm9pZCB7XG4gICAgdGhpcy5yb3dEZWxldGVDb25maWdzLmZpbmQoKGNvbmZpZykgPT4gY29uZmlnLmlkID09PSByb3cuaWQpLnBlbmRpbmcgPSB0cnVlO1xuICAgIHRoaXMucm93RGVsZXRlQ29uZmlybS5lbWl0KHsgaWQ6IHJvdy5pZCB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRSb3dEZWxldGVJdGVtKHJvdzogUm93Tm9kZSk6IFNreUFnR3JpZFJvd0RlbGV0ZUNvbmZpZyB7XG4gICAgcmV0dXJuIHRoaXMucm93RGVsZXRlQ29uZmlncy5maW5kKChyb3dEZWxldGUpID0+IHJvd0RlbGV0ZS5pZCA9PT0gcm93LmlkKTtcbiAgfVxuXG4gIHByaXZhdGUgYWZmaXhUb1JvdyhhZmZpeGVyOiBTa3lBZmZpeGVyLCBpZDogc3RyaW5nKSB7XG4gICAgbGV0IHJvd0VsZW1lbnQ6IEhUTUxFbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihgXG4gICAgICBbcm93LWlkPVwiJHtpZH1cIl0gZGl2W2FyaWEtY29saW5kZXg9XCIxXCJdLFxuICAgICAgLmFnLXJvdy5za3ktYWctZ3JpZC1yb3ctJHtpZH0gZGl2W2FyaWEtY29saW5kZXg9XCIxXCJdXG4gICAgYCk7XG5cbiAgICAvLyBUaGlzIGNvdmVycyBjYXNlcyB3aGVyZSBBRyBHcmlkIHBsYWNlcyB0aGUgY29sdW1uIGluZGV4IG9uIGFuIGlubmVyIGVsZW1lbnQgKHN1Y2ggYXMgd2l0aCB0aGUgYGVuYWJsZUNlbGxUZXh0U2VsZWN0aW9uYCBvcHRpb24pXG4gICAgLy8gVGhpcyBhcHBlYXJzIHRvIGhhdmUgYmVlbiBmaXhlZCBieSBBRyBHcmlkIGluIHZlcnNpb24gMjQgYW5kIHNvIGl0IGlzIG5vdCB0ZXN0YWJsZSBhZnRlciB0aGF0IHZlcnNpb24uXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgaWYgKCFyb3dFbGVtZW50KSB7XG4gICAgICBjb25zdCBjb2x1bW5zID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbChcbiAgICAgICAgJ1tyb3ctaWQ9XCInICsgaWQgKyAnXCJdID4gZGl2J1xuICAgICAgKTtcblxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb2x1bW5zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmIChjb2x1bW5zW2ldLnF1ZXJ5U2VsZWN0b3IoJ1thcmlhLWNvbGluZGV4PVwiMVwiXScpKSB7XG4gICAgICAgICAgcm93RWxlbWVudCA9IGNvbHVtbnNbaV07XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBhZmZpeGVyLmFmZml4VG8ocm93RWxlbWVudCwge1xuICAgICAgYXV0b0ZpdENvbnRleHQ6IFNreUFmZml4QXV0b0ZpdENvbnRleHQuVmlld3BvcnQsXG4gICAgICBpc1N0aWNreTogdHJ1ZSxcbiAgICAgIHBsYWNlbWVudDogJ2Fib3ZlJyxcbiAgICAgIHZlcnRpY2FsQWxpZ25tZW50OiAndG9wJyxcbiAgICAgIGhvcml6b250YWxBbGlnbm1lbnQ6ICdsZWZ0JyxcbiAgICAgIGVuYWJsZUF1dG9GaXQ6IGZhbHNlLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBkZXN0cm95Um93RGVsZXRlKGlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCByb3dEZWxldGVDb250ZW50cyA9IHRoaXMucm93RGVsZXRlQ29udGVudHNbaWRdO1xuXG4gICAgLyogc2FuaXR5IGNoZWNrICovXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAocm93RGVsZXRlQ29udGVudHMpIHtcbiAgICAgIHJvd0RlbGV0ZUNvbnRlbnRzLmFmZml4ZXIuZGVzdHJveSgpO1xuICAgICAgdGhpcy5vdmVybGF5U2VydmljZS5jbG9zZShyb3dEZWxldGVDb250ZW50cy5vdmVybGF5KTtcbiAgICAgIGRlbGV0ZSB0aGlzLnJvd0RlbGV0ZUNvbnRlbnRzW2lkXTtcbiAgICAgIHRoaXMucm93RGVsZXRlQ29uZmlncyA9IHRoaXMucm93RGVsZXRlQ29uZmlncy5maWx0ZXIoXG4gICAgICAgIChjb25maWcpID0+IGNvbmZpZy5pZCAhPT0gaWRcbiAgICAgICk7XG4gICAgICB0aGlzLl9yb3dEZWxldGVJZHMgPSB0aGlzLnJvd0RlbGV0ZUlkcz8uZmlsdGVyKFxuICAgICAgICAoYXJyYXlJZCkgPT4gYXJyYXlJZCAhPT0gaWRcbiAgICAgICk7XG4gICAgICB0aGlzLnJvd0RlbGV0ZUlkc0NoYW5nZS5lbWl0KHRoaXMuX3Jvd0RlbGV0ZUlkcyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVSb3dEZWxldGVTdGF0ZXMoKTogdm9pZCB7XG4gICAgdGhpcy5yb3dEZWxldGVDb25maWdzLmZvckVhY2goKGNvbmZpZzogU2t5QWdHcmlkUm93RGVsZXRlQ29uZmlnKSA9PiB7XG4gICAgICBpZiAoIXRoaXMuYWdHcmlkLmFwaS5nZXRSb3dOb2RlKGNvbmZpZy5pZCkpIHtcbiAgICAgICAgdGhpcy5kZXN0cm95Um93RGVsZXRlKGNvbmZpZy5pZCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBXZSBtdXN0IHJlYWZmaXggdGhpbmdzIHdoZW4gdGhlIGRhdGEgY2hhbmdlcyBiZWNhdXNlIHRoZSByb3dzIHJlcmVuZGVyIGFuZCB0aGUgcHJldmlvdXMgZWxlbWVudCB0aGF0IHRoZSBkZWxldGUgd2FzIGFmZml4ZWRcbiAgICAgICAgLy8gdG8gaXMgZGVzdHJveWVkLlxuICAgICAgICB0aGlzLmFmZml4VG9Sb3codGhpcy5yb3dEZWxldGVDb250ZW50c1tjb25maWcuaWRdLmFmZml4ZXIsIGNvbmZpZy5pZCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, ElementRef, } from '@angular/core';
|
|
2
|
+
import { AgGridAngular } from 'ag-grid-angular';
|
|
3
|
+
import { SkyAgGridAdapterService } from './ag-grid-adapter.service';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "./ag-grid-adapter.service";
|
|
6
|
+
import * as i2 from "@skyux/core";
|
|
7
|
+
let idIndex = 0;
|
|
8
|
+
export class SkyAgGridWrapperComponent {
|
|
9
|
+
constructor(adapterService, changeDetector, elementRef) {
|
|
10
|
+
this.adapterService = adapterService;
|
|
11
|
+
this.changeDetector = changeDetector;
|
|
12
|
+
this.elementRef = elementRef;
|
|
13
|
+
this._viewkeeperClasses = [];
|
|
14
|
+
idIndex++;
|
|
15
|
+
this.afterAnchorId = 'sky-ag-grid-nav-anchor-after-' + idIndex;
|
|
16
|
+
this.beforeAnchorId = 'sky-ag-grid-nav-anchor-before-' + idIndex;
|
|
17
|
+
this.gridId = 'sky-ag-grid-' + idIndex;
|
|
18
|
+
}
|
|
19
|
+
get viewkeeperClasses() {
|
|
20
|
+
return this._viewkeeperClasses;
|
|
21
|
+
}
|
|
22
|
+
set viewkeeperClasses(value) {
|
|
23
|
+
this._viewkeeperClasses = value;
|
|
24
|
+
this.changeDetector.markForCheck();
|
|
25
|
+
}
|
|
26
|
+
ngAfterContentInit() {
|
|
27
|
+
if (this.agGrid.gridOptions &&
|
|
28
|
+
this.agGrid.gridOptions.domLayout === 'autoHeight') {
|
|
29
|
+
this.viewkeeperClasses.push('.ag-header');
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Prevent closing a modal when focused in AG Grid.
|
|
34
|
+
*/
|
|
35
|
+
onKeyUpEscape($event) {
|
|
36
|
+
$event.stopPropagation();
|
|
37
|
+
this.agGrid.api.stopEditing(true);
|
|
38
|
+
}
|
|
39
|
+
onGridKeydown(event) {
|
|
40
|
+
if (this.agGrid && !this.isInEditMode && event.key === 'Tab') {
|
|
41
|
+
const idToFocus = event.shiftKey
|
|
42
|
+
? this.beforeAnchorId
|
|
43
|
+
: this.afterAnchorId;
|
|
44
|
+
this.adapterService.setFocusedElementById(this.elementRef.nativeElement, idToFocus);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
onAnchorFocus(event) {
|
|
48
|
+
const gridId = this.gridId;
|
|
49
|
+
const relatedTarget = event.relatedTarget;
|
|
50
|
+
const previousFocusedId = relatedTarget && relatedTarget.id;
|
|
51
|
+
const previousWasCell = relatedTarget &&
|
|
52
|
+
!!this.adapterService.getElementOrParentWithClass(relatedTarget, 'ag-cell');
|
|
53
|
+
if (previousFocusedId !== gridId && !previousWasCell) {
|
|
54
|
+
const columns = this.agGrid.columnApi.getAllDisplayedColumns();
|
|
55
|
+
const firstColumn = columns && columns[0];
|
|
56
|
+
const rowIndex = this.agGrid.api.getFirstDisplayedRow();
|
|
57
|
+
if (firstColumn && rowIndex >= 0) {
|
|
58
|
+
this.agGrid.api.setFocusedCell(rowIndex, firstColumn);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
get isInEditMode() {
|
|
63
|
+
/* Sanity check */
|
|
64
|
+
/* istanbul ignore else */
|
|
65
|
+
if (this.agGrid && this.agGrid.api) {
|
|
66
|
+
const primaryGridEditing = this.agGrid.api.getEditingCells().length > 0;
|
|
67
|
+
if (primaryGridEditing) {
|
|
68
|
+
return true;
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
let innerEditing = false;
|
|
72
|
+
this.agGrid.api.forEachDetailGridInfo((detailGrid) => {
|
|
73
|
+
if (detailGrid.api.getEditingCells().length > 0) {
|
|
74
|
+
innerEditing = true;
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
return innerEditing;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
return false;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
SkyAgGridWrapperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyAgGridWrapperComponent, deps: [{ token: i1.SkyAgGridAdapterService }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
86
|
+
SkyAgGridWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: SkyAgGridWrapperComponent, selector: "sky-ag-grid-wrapper", queries: [{ propertyName: "agGrid", first: true, predicate: AgGridAngular, descendants: true, static: true }], ngImport: i0, template: "<span\n class=\"nav-anchor\"\n tabindex=\"0\"\n [id]=\"beforeAnchorId\"\n (focusin)=\"onAnchorFocus($event)\"\n>\n</span>\n<div\n class=\"sky-ag-grid\"\n tabindex=\"0\"\n [id]=\"gridId\"\n [skyViewkeeper]=\"viewkeeperClasses\"\n (keydown)=\"onGridKeydown($event)\"\n (keyup.escape)=\"onKeyUpEscape($event)\"\n>\n <ng-content></ng-content>\n</div>\n<span\n tabindex=\"0\"\n class=\"nav-anchor\"\n [id]=\"afterAnchorId\"\n (focusin)=\"onAnchorFocus($event)\"\n>\n</span>\n", directives: [{ type: i2.λ3, selector: "[skyViewkeeper]", inputs: ["skyViewkeeper"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
87
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyAgGridWrapperComponent, decorators: [{
|
|
88
|
+
type: Component,
|
|
89
|
+
args: [{ selector: 'sky-ag-grid-wrapper', changeDetection: ChangeDetectionStrategy.OnPush, template: "<span\n class=\"nav-anchor\"\n tabindex=\"0\"\n [id]=\"beforeAnchorId\"\n (focusin)=\"onAnchorFocus($event)\"\n>\n</span>\n<div\n class=\"sky-ag-grid\"\n tabindex=\"0\"\n [id]=\"gridId\"\n [skyViewkeeper]=\"viewkeeperClasses\"\n (keydown)=\"onGridKeydown($event)\"\n (keyup.escape)=\"onKeyUpEscape($event)\"\n>\n <ng-content></ng-content>\n</div>\n<span\n tabindex=\"0\"\n class=\"nav-anchor\"\n [id]=\"afterAnchorId\"\n (focusin)=\"onAnchorFocus($event)\"\n>\n</span>\n" }]
|
|
90
|
+
}], ctorParameters: function () { return [{ type: i1.SkyAgGridAdapterService }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }]; }, propDecorators: { agGrid: [{
|
|
91
|
+
type: ContentChild,
|
|
92
|
+
args: [AgGridAngular, {
|
|
93
|
+
static: true,
|
|
94
|
+
}]
|
|
95
|
+
}] } });
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWctZ3JpZC13cmFwcGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9hZy1ncmlkL3NyYy9saWIvbW9kdWxlcy9hZy1ncmlkL2FnLWdyaWQtd3JhcHBlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvYWctZ3JpZC9zcmMvbGliL21vZHVsZXMvYWctZ3JpZC9hZy1ncmlkLXdyYXBwZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEdBQ1gsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBR2hELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7O0FBRXBFLElBQUksT0FBTyxHQUFHLENBQUMsQ0FBQztBQU9oQixNQUFNLE9BQU8seUJBQXlCO0lBcUJwQyxZQUNVLGNBQXVDLEVBQ3ZDLGNBQWlDLEVBQ2pDLFVBQXNCO1FBRnRCLG1CQUFjLEdBQWQsY0FBYyxDQUF5QjtRQUN2QyxtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFDakMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUx4Qix1QkFBa0IsR0FBYSxFQUFFLENBQUM7UUFPeEMsT0FBTyxFQUFFLENBQUM7UUFDVixJQUFJLENBQUMsYUFBYSxHQUFHLCtCQUErQixHQUFHLE9BQU8sQ0FBQztRQUMvRCxJQUFJLENBQUMsY0FBYyxHQUFHLGdDQUFnQyxHQUFHLE9BQU8sQ0FBQztRQUNqRSxJQUFJLENBQUMsTUFBTSxHQUFHLGNBQWMsR0FBRyxPQUFPLENBQUM7SUFDekMsQ0FBQztJQXBCRCxJQUFXLGlCQUFpQjtRQUMxQixPQUFPLElBQUks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QUMsRUFBRTt3QkFDL0MsWUFBWSxHQUFHLElBQUksQ0FBQztxQkFDckI7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7Z0JBRUgsT0FBTyxZQUFZLENBQUM7YUFDckI7U0FDRjthQUFNO1lBQ0wsT0FBTyxLQUFLLENBQUM7U0FDZDtJQUNILENBQUM7O3NIQXZHVSx5QkFBeUI7MEdBQXpCLHlCQUF5QiwrRkFDdEIsYUFBYSw4REN0QjdCLHVlQXdCQTsyRkRIYSx5QkFBeUI7a0JBTHJDLFNBQVM7K0JBQ0UscUJBQXFCLG1CQUVkLHVCQUF1QixDQUFDLE1BQU07dUtBTXhDLE1BQU07c0JBSFosWUFBWTt1QkFBQyxhQUFhLEVBQUU7d0JBQzNCLE1BQU0sRUFBRSxJQUFJO3FCQUNiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRWxlbWVudFJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEFnR3JpZEFuZ3VsYXIgfSBmcm9tICdhZy1ncmlkLWFuZ3VsYXInO1xuaW1wb3J0IHsgRGV0YWlsR3JpZEluZm8gfSBmcm9tICdhZy1ncmlkLWNvbW11bml0eSc7XG5cbmltcG9ydCB7IFNreUFnR3JpZEFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi9hZy1ncmlkLWFkYXB0ZXIuc2VydmljZSc7XG5cbmxldCBpZEluZGV4ID0gMDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LWFnLWdyaWQtd3JhcHBlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9hZy1ncmlkLXdyYXBwZXIuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2t5QWdHcmlkV3JhcHBlckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xuICBAQ29udGVudENoaWxkKEFnR3JpZEFuZ3VsYXIsIHtcbiAgICBzdGF0aWM6IHRydWUsXG4gIH0pXG4gIHB1YmxpYyBhZ0dyaWQ6IEFnR3JpZEFuZ3VsYXI7XG5cbiAgcHVibGljIGFmdGVyQW5jaG9ySWQ6IHN0cmluZztcbiAgcHVibGljIGJlZm9yZUFuY2hvcklkOiBzdHJpbmc7XG4gIHB1YmxpYyBncmlkSWQ6IHN0cmluZztcblxuICBwdWJsaWMgZ2V0IHZpZXdrZWVwZXJDbGFzc2VzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5fdmlld2tlZXBlckNsYXNzZXM7XG4gIH1cblxuICBwdWJsaWMgc2V0IHZpZXdrZWVwZXJDbGFzc2VzKHZhbHVlOiBzdHJpbmdbXSkge1xuICAgIHRoaXMuX3ZpZXdrZWVwZXJDbGFzc2VzID0gdmFsdWU7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHByaXZhdGUgX3ZpZXdrZWVwZXJDbGFzc2VzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYWRhcHRlclNlcnZpY2U6IFNreUFnR3JpZEFkYXB0ZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZlxuICApIHtcbiAgICBpZEluZGV4Kys7XG4gICAgdGhpcy5hZnRlckFuY2hvcklkID0gJ3NreS1hZy1ncmlkLW5hdi1hbmNob3ItYWZ0ZXItJyArIGlkSW5kZXg7XG4gICAgdGhpcy5iZWZvcmVBbmNob3JJZCA9ICdza3ktYWctZ3JpZC1uYXYtYW5jaG9yLWJlZm9yZS0nICsgaWRJbmRleDtcbiAgICB0aGlzLmdyaWRJZCA9ICdza3ktYWctZ3JpZC0nICsgaWRJbmRleDtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5hZ0dyaWQuZ3JpZE9wdGlvbnMgJiZcbiAgICAgIHRoaXMuYWdHcmlkLmdyaWRPcHRpb25zLmRvbUxheW91dCA9PT0gJ2F1dG9IZWlnaHQnXG4gICAgKSB7XG4gICAgICB0aGlzLnZpZXdrZWVwZXJDbGFzc2VzLnB1c2goJy5hZy1oZWFkZXInKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUHJldmVudCBjbG9zaW5nIGEgbW9kYWwgd2hlbiBmb2N1c2VkIGluIEFHIEdyaWQuXG4gICAqL1xuICBwdWJsaWMgb25LZXlVcEVzY2FwZSgkZXZlbnQ6IEV2ZW50KSB7XG4gICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMuYWdHcmlkLmFwaS5zdG9wRWRpdGluZyh0cnVlKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkdyaWRLZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYWdHcmlkICYmICF0aGlzLmlzSW5FZGl0TW9kZSAmJiBldmVudC5rZXkgPT09ICdUYWInKSB7XG4gICAgICBjb25zdCBpZFRvRm9jdXMgPSBldmVudC5zaGlmdEtleVxuICAgICAgICA/IHRoaXMuYmVmb3JlQW5jaG9ySWRcbiAgICAgICAgOiB0aGlzLmFmdGVyQW5jaG9ySWQ7XG4gICAgICB0aGlzLmFkYXB0ZXJTZXJ2aWNlLnNldEZvY3VzZWRFbGVtZW50QnlJZChcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgIGlkVG9Gb2N1c1xuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25BbmNob3JGb2N1cyhldmVudDogRm9jdXNFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGdyaWRJZCA9IHRoaXMuZ3JpZElkO1xuICAgIGNvbnN0IHJlbGF0ZWRUYXJnZXQgPSBldmVudC5yZWxhdGVkVGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuICAgIGNvbnN0IHByZXZpb3VzRm9jdXNlZElkID0gcmVsYXRlZFRhcmdldCAmJiByZWxhdGVkVGFyZ2V0LmlkO1xuICAgIGNvbnN0IHByZXZpb3VzV2FzQ2VsbCA9XG4gICAgICByZWxhdGVkVGFyZ2V0ICYmXG4gICAgICAhIXRoaXMuYWRhcHRlclNlcnZpY2UuZ2V0RWxlbWVudE9yUGFyZW50V2l0aENsYXNzKFxuICAgICAgICByZWxhdGVkVGFyZ2V0LFxuICAgICAgICAnYWctY2VsbCdcbiAgICAgICk7XG5cbiAgICBpZiAocHJldmlvdXNGb2N1c2VkSWQgIT09IGdyaWRJZCAmJiAhcHJldmlvdXNXYXNDZWxsKSB7XG4gICAgICBjb25zdCBjb2x1bW5zID0gdGhpcy5hZ0dyaWQuY29sdW1uQXBpLmdldEFsbERpc3BsYXllZENvbHVtbnMoKTtcbiAgICAgIGNvbnN0IGZpcnN0Q29sdW1uID0gY29sdW1ucyAmJiBjb2x1bW5zWzBdO1xuICAgICAgY29uc3Qgcm93SW5kZXggPSB0aGlzLmFnR3JpZC5hcGkuZ2V0Rmlyc3REaXNwbGF5ZWRSb3coKTtcblxuICAgICAgaWYgKGZpcnN0Q29sdW1uICYmIHJvd0luZGV4ID49IDApIHtcbiAgICAgICAgdGhpcy5hZ0dyaWQuYXBpLnNldEZvY3VzZWRDZWxsKHJvd0luZGV4LCBmaXJzdENvbHVtbik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXQgaXNJbkVkaXRNb2RlKCk6IGJvb2xlYW4ge1xuICAgIC8qIFNhbml0eSBjaGVjayAqL1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMuYWdHcmlkICYmIHRoaXMuYWdHcmlkLmFwaSkge1xuICAgICAgY29uc3QgcHJpbWFyeUdyaWRFZGl0aW5nID0gdGhpcy5hZ0dyaWQuYXBpLmdldEVkaXRpbmdDZWxscygpLmxlbmd0aCA+IDA7XG4gICAgICBpZiAocHJpbWFyeUdyaWRFZGl0aW5nKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbGV0IGlubmVyRWRpdGluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmFnR3JpZC5hcGkuZm9yRWFjaERldGFpbEdyaWRJbmZvKChkZXRhaWxHcmlkOiBEZXRhaWxHcmlkSW5mbykgPT4ge1xuICAgICAgICAgIGlmIChkZXRhaWxHcmlkLmFwaS5nZXRFZGl0aW5nQ2VsbHMoKS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBpbm5lckVkaXRpbmcgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIGlubmVyRWRpdGluZztcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxufVxuIiwiPHNwYW5cbiAgY2xhc3M9XCJuYXYtYW5jaG9yXCJcbiAgdGFiaW5kZXg9XCIwXCJcbiAgW2lkXT1cImJlZm9yZUFuY2hvcklkXCJcbiAgKGZvY3VzaW4pPVwib25BbmNob3JGb2N1cygkZXZlbnQpXCJcbj5cbjwvc3Bhbj5cbjxkaXZcbiAgY2xhc3M9XCJza3ktYWctZ3JpZFwiXG4gIHRhYmluZGV4PVwiMFwiXG4gIFtpZF09XCJncmlkSWRcIlxuICBbc2t5Vmlld2tlZXBlcl09XCJ2aWV3a2VlcGVyQ2xhc3Nlc1wiXG4gIChrZXlkb3duKT1cIm9uR3JpZEtleWRvd24oJGV2ZW50KVwiXG4gIChrZXl1cC5lc2NhcGUpPVwib25LZXlVcEVzY2FwZSgkZXZlbnQpXCJcbj5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9kaXY+XG48c3BhblxuICB0YWJpbmRleD1cIjBcIlxuICBjbGFzcz1cIm5hdi1hbmNob3JcIlxuICBbaWRdPVwiYWZ0ZXJBbmNob3JJZFwiXG4gIChmb2N1c2luKT1cIm9uQW5jaG9yRm9jdXMoJGV2ZW50KVwiXG4+XG48L3NwYW4+XG4iXX0=
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { SkyViewkeeperModule } from '@skyux/core';
|
|
4
|
+
import { SkyDataManagerModule } from '@skyux/data-manager';
|
|
5
|
+
import { SkyInlineDeleteModule } from '@skyux/layout';
|
|
6
|
+
import { AgGridModule } from 'ag-grid-angular';
|
|
7
|
+
import { SkyAgGridDataManagerAdapterDirective } from './ag-grid-data-manager-adapter.directive';
|
|
8
|
+
import { SkyAgGridRowDeleteComponent } from './ag-grid-row-delete.component';
|
|
9
|
+
import { SkyAgGridRowDeleteDirective } from './ag-grid-row-delete.directive';
|
|
10
|
+
import { SkyAgGridWrapperComponent } from './ag-grid-wrapper.component';
|
|
11
|
+
import { SkyAgGridCellEditorAutocompleteModule } from './cell-editors/cell-editor-autocomplete/cell-editor-autocomplete.module';
|
|
12
|
+
import { SkyAgGridCellEditorCurrencyModule } from './cell-editors/cell-editor-currency/cell-editor-currency.module';
|
|
13
|
+
import { SkyAgGridCellEditorDatepickerModule } from './cell-editors/cell-editor-datepicker/cell-editor-datepicker.module';
|
|
14
|
+
import { SkyAgGridCellEditorLookupModule } from './cell-editors/cell-editor-lookup/cell-editor-lookup.module';
|
|
15
|
+
import { SkyAgGridCellEditorNumberModule } from './cell-editors/cell-editor-number/cell-editor-number.module';
|
|
16
|
+
import { SkyAgGridCellEditorTextModule } from './cell-editors/cell-editor-text/cell-editor-text.module';
|
|
17
|
+
import { SkyAgGridCellRendererCurrencyModule } from './cell-renderers/cell-renderer-currency/cell-renderer-currency.module';
|
|
18
|
+
import { SkyAgGridCellRendererLookupModule } from './cell-renderers/cell-renderer-lookup/cell-renderer-lookup.module';
|
|
19
|
+
import { SkyAgGridCellRendererRowSelectorModule } from './cell-renderers/cell-renderer-row-selector/cell-renderer-row-selector.module';
|
|
20
|
+
import { SkyAgGridCellRendererValidatorTooltipModule } from './cell-renderers/cell-renderer-validator-tooltip/cell-renderer-validator-tooltip.module';
|
|
21
|
+
import { SkyAgGridCellValidatorModule } from './cell-validator/ag-grid-cell-validator.module';
|
|
22
|
+
import * as i0 from "@angular/core";
|
|
23
|
+
export class SkyAgGridModule {
|
|
24
|
+
}
|
|
25
|
+
SkyAgGridModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyAgGridModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
26
|
+
SkyAgGridModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyAgGridModule, declarations: [SkyAgGridDataManagerAdapterDirective,
|
|
27
|
+
SkyAgGridRowDeleteComponent,
|
|
28
|
+
SkyAgGridRowDeleteDirective,
|
|
29
|
+
SkyAgGridWrapperComponent], imports: [AgGridModule,
|
|
30
|
+
CommonModule,
|
|
31
|
+
SkyAgGridCellEditorAutocompleteModule,
|
|
32
|
+
SkyAgGridCellEditorDatepickerModule,
|
|
33
|
+
SkyAgGridCellEditorLookupModule,
|
|
34
|
+
SkyAgGridCellEditorNumberModule,
|
|
35
|
+
SkyAgGridCellEditorCurrencyModule,
|
|
36
|
+
SkyAgGridCellRendererCurrencyModule,
|
|
37
|
+
SkyAgGridCellRendererLookupModule,
|
|
38
|
+
SkyAgGridCellRendererRowSelectorModule,
|
|
39
|
+
SkyAgGridCellRendererValidatorTooltipModule,
|
|
40
|
+
SkyAgGridCellValidatorModule,
|
|
41
|
+
SkyAgGridCellEditorTextModule,
|
|
42
|
+
SkyDataManagerModule,
|
|
43
|
+
SkyInlineDeleteModule,
|
|
44
|
+
SkyViewkeeperModule], exports: [SkyAgGridDataManagerAdapterDirective,
|
|
45
|
+
SkyAgGridRowDeleteComponent,
|
|
46
|
+
SkyAgGridRowDeleteDirective,
|
|
47
|
+
SkyAgGridWrapperComponent] });
|
|
48
|
+
SkyAgGridModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyAgGridModule, imports: [[
|
|
49
|
+
AgGridModule,
|
|
50
|
+
CommonModule,
|
|
51
|
+
SkyAgGridCellEditorAutocompleteModule,
|
|
52
|
+
SkyAgGridCellEditorDatepickerModule,
|
|
53
|
+
SkyAgGridCellEditorLookupModule,
|
|
54
|
+
SkyAgGridCellEditorNumberModule,
|
|
55
|
+
SkyAgGridCellEditorCurrencyModule,
|
|
56
|
+
SkyAgGridCellRendererCurrencyModule,
|
|
57
|
+
SkyAgGridCellRendererLookupModule,
|
|
58
|
+
SkyAgGridCellRendererRowSelectorModule,
|
|
59
|
+
SkyAgGridCellRendererValidatorTooltipModule,
|
|
60
|
+
SkyAgGridCellValidatorModule,
|
|
61
|
+
SkyAgGridCellEditorTextModule,
|
|
62
|
+
SkyDataManagerModule,
|
|
63
|
+
SkyInlineDeleteModule,
|
|
64
|
+
SkyViewkeeperModule,
|
|
65
|
+
]] });
|
|
66
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyAgGridModule, decorators: [{
|
|
67
|
+
type: NgModule,
|
|
68
|
+
args: [{
|
|
69
|
+
declarations: [
|
|
70
|
+
SkyAgGridDataManagerAdapterDirective,
|
|
71
|
+
SkyAgGridRowDeleteComponent,
|
|
72
|
+
SkyAgGridRowDeleteDirective,
|
|
73
|
+
SkyAgGridWrapperComponent,
|
|
74
|
+
],
|
|
75
|
+
imports: [
|
|
76
|
+
AgGridModule,
|
|
77
|
+
CommonModule,
|
|
78
|
+
SkyAgGridCellEditorAutocompleteModule,
|
|
79
|
+
SkyAgGridCellEditorDatepickerModule,
|
|
80
|
+
SkyAgGridCellEditorLookupModule,
|
|
81
|
+
SkyAgGridCellEditorNumberModule,
|
|
82
|
+
SkyAgGridCellEditorCurrencyModule,
|
|
83
|
+
SkyAgGridCellRendererCurrencyModule,
|
|
84
|
+
SkyAgGridCellRendererLookupModule,
|
|
85
|
+
SkyAgGridCellRendererRowSelectorModule,
|
|
86
|
+
SkyAgGridCellRendererValidatorTooltipModule,
|
|
87
|
+
SkyAgGridCellValidatorModule,
|
|
88
|
+
SkyAgGridCellEditorTextModule,
|
|
89
|
+
SkyDataManagerModule,
|
|
90
|
+
SkyInlineDeleteModule,
|
|
91
|
+
SkyViewkeeperModule,
|
|
92
|
+
],
|
|
93
|
+
exports: [
|
|
94
|
+
SkyAgGridDataManagerAdapterDirective,
|
|
95
|
+
SkyAgGridRowDeleteComponent,
|
|
96
|
+
SkyAgGridRowDeleteDirective,
|
|
97
|
+
SkyAgGridWrapperComponent,
|
|
98
|
+
],
|
|
99
|
+
}]
|
|
100
|
+
}] });
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWctZ3JpZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvYWctZ3JpZC9zcmMvbGliL21vZHVsZXMvYWctZ3JpZC9hZy1ncmlkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXRELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNoRyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM3RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM3RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN4RSxPQUFPLEVBQUUscUNBQXFDLEVBQUUsTUFBTSx5RUFBeUUsQ0FBQztBQUNoSSxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxpRUFBaUUsQ0FBQztBQUNwSCxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSxxRUFBcUUsQ0FBQztBQUMxSCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUM5RyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUM5RyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUN4RyxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSx1RUFBdUUsQ0FBQztBQUM1SCxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxtRUFBbUUsQ0FBQztBQUN0SCxPQUFPLEVBQUUsc0NBQXNDLEVBQUUsTUFBTSwrRUFBK0UsQ0FBQztBQUN2SSxPQUFPLEVBQUUsMkNBQTJDLEVBQUUsTUFBTSx5RkFBeUYsQ0FBQztBQUN0SixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQzs7QUFrQzlGLE1BQU0sT0FBTyxlQUFlOzs0R0FBZixlQUFlOzZHQUFmLGVBQWUsaUJBOUJ4QixvQ0FBb0M7UUFDcEMsMkJBQTJCO1FBQzNCLDJCQUEyQjtRQUMzQix5QkFBeUIsYUFHekIsWUFBWTtRQUNaLFlBQVk7UUFDWixxQ0FBcUM7UUFDckMsbUNBQW1DO1FBQ25DLCtCQUErQjtRQUMvQiwrQkFBK0I7UUFDL0IsaUNBQWlDO1FBQ2pDLG1DQUFtQztRQUNuQyxpQ0FBaUM7UUFDakMsc0NBQXNDO1FBQ3RDLDJDQUEyQztRQUMzQyw0QkFBNEI7UUFDNUIsNkJBQTZCO1FBQzdCLG9CQUFvQjtRQUNwQixxQkFBcUI7UUFDckIsbUJBQW1CLGFBR25CLG9DQUFvQztRQUNwQywyQkFBMkI7UUFDM0IsMkJBQTJCO1FBQzNCLHlCQUF5Qjs2R0FHaEIsZUFBZSxZQXpCakI7WUFDUCxZQUFZO1lBQ1osWUFBWTtZQUNaLHFDQUFxQztZQUNyQyxtQ0FBbUM7WUFDbkMsK0JBQStCO1lBQy9CLCtCQUErQjtZQUMvQixpQ0FBaUM7WUFDakMsbUNBQW1DO1lBQ25DLGlDQUFpQztZQUNqQyxzQ0FBc0M7WUFDdEMsMkNBQTJDO1lBQzNDLDRCQUE0QjtZQUM1Qiw2QkFBNkI7WUFDN0Isb0JBQW9CO1lBQ3BCLHFCQUFxQjtZQUNyQixtQkFBbUI7U0FDcEI7MkZBUVUsZUFBZTtrQkFoQzNCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLG9DQUFvQzt3QkFDcEMsMkJBQTJCO3dCQUMzQiwyQkFBMkI7d0JBQzNCLHlCQUF5QjtxQkFDMUI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixxQ0FBcUM7d0JBQ3JDLG1DQUFtQzt3QkFDbkMsK0JBQStCO3dCQUMvQiwrQkFBK0I7d0JBQy9CLGlDQUFpQzt3QkFDakMsbUNBQW1DO3dCQUNuQyxpQ0FBaUM7d0JBQ2pDLHNDQUFzQzt3QkFDdEMsMkNBQTJDO3dCQUMzQyw0QkFBNEI7d0JBQzVCLDZCQUE2Qjt3QkFDN0Isb0JBQW9CO3dCQUNwQixxQkFBcUI7d0JBQ3JCLG1CQUFtQjtxQkFDcEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLG9DQUFvQzt3QkFDcEMsMkJBQTJCO3dCQUMzQiwyQkFBMkI7d0JBQzNCLHlCQUF5QjtxQkFDMUI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreVZpZXdrZWVwZXJNb2R1bGUgfSBmcm9tICdAc2t5dXgvY29yZSc7XG5pbXBvcnQgeyBTa3lEYXRhTWFuYWdlck1vZHVsZSB9IGZyb20gJ0Bza3l1eC9kYXRhLW1hbmFnZXInO1xuaW1wb3J0IHsgU2t5SW5saW5lRGVsZXRlTW9kdWxlIH0gZnJvbSAnQHNreXV4L2xheW91dCc7XG5cbmltcG9ydCB7IEFnR3JpZE1vZHVsZSB9IGZyb20gJ2FnLWdyaWQtYW5ndWxhcic7XG5cbmltcG9ydCB7IFNreUFnR3JpZERhdGFNYW5hZ2VyQWRhcHRlckRpcmVjdGl2ZSB9IGZyb20gJy4vYWctZ3JpZC1kYXRhLW1hbmFnZXItYWRhcHRlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU2t5QWdHcmlkUm93RGVsZXRlQ29tcG9uZW50IH0gZnJvbSAnLi9hZy1ncmlkLXJvdy1kZWxldGUuY29tcG9uZW50JztcbmltcG9ydCB7IFNreUFnR3JpZFJvd0RlbGV0ZURpcmVjdGl2ZSB9IGZyb20gJy4vYWctZ3JpZC1yb3ctZGVsZXRlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTa3lBZ0dyaWRXcmFwcGVyQ29tcG9uZW50IH0gZnJvbSAnLi9hZy1ncmlkLXdyYXBwZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNreUFnR3JpZENlbGxFZGl0b3JBdXRvY29tcGxldGVNb2R1bGUgfSBmcm9tICcuL2NlbGwtZWRpdG9ycy9jZWxsLWVkaXRvci1hdXRvY29tcGxldGUvY2VsbC1lZGl0b3ItYXV0b2NvbXBsZXRlLm1vZHVsZSc7XG5pbXBvcnQgeyBTa3lBZ0dyaWRDZWxsRWRpdG9yQ3VycmVuY3lNb2R1bGUgfSBmcm9tICcuL2NlbGwtZWRpdG9ycy9jZWxsLWVkaXRvci1jdXJyZW5jeS9jZWxsLWVkaXRvci1jdXJyZW5jeS5tb2R1bGUnO1xuaW1wb3J0IHsgU2t5QWdHcmlkQ2VsbEVkaXRvckRhdGVwaWNrZXJNb2R1bGUgfSBmcm9tICcuL2NlbGwtZWRpdG9ycy9jZWxsLWVkaXRvci1kYXRlcGlja2VyL2NlbGwtZWRpdG9yLWRhdGVwaWNrZXIubW9kdWxlJztcbmltcG9ydCB7IFNreUFnR3JpZENlbGxFZGl0b3JMb29rdXBNb2R1bGUgfSBmcm9tICcuL2NlbGwtZWRpdG9ycy9jZWxsLWVkaXRvci1sb29rdXAvY2VsbC1lZGl0b3ItbG9va3VwLm1vZHVsZSc7XG5pbXBvcnQgeyBTa3lBZ0dyaWRDZWxsRWRpdG9yTnVtYmVyTW9kdWxlIH0gZnJvbSAnLi9jZWxsLWVkaXRvcnMvY2VsbC1lZGl0b3ItbnVtYmVyL2NlbGwtZWRpdG9yLW51bWJlci5tb2R1bGUnO1xuaW1wb3J0IHsgU2t5QWdHcmlkQ2VsbEVkaXRvclRleHRNb2R1bGUgfSBmcm9tICcuL2NlbGwtZWRpdG9ycy9jZWxsLWVkaXRvci10ZXh0L2NlbGwtZWRpdG9yLXRleHQubW9kdWxlJztcbmltcG9ydCB7IFNreUFnR3JpZENlbGxSZW5kZXJlckN1cnJlbmN5TW9kdWxlIH0gZnJvbSAnLi9jZWxsLXJlbmRlcmVycy9jZWxsLXJlbmRlcmVyLWN1cnJlbmN5L2NlbGwtcmVuZGVyZXItY3VycmVuY3kubW9kdWxlJztcbmltcG9ydCB7IFNreUFnR3JpZENlbGxSZW5kZXJlckxvb2t1cE1vZHVsZSB9IGZyb20gJy4vY2VsbC1yZW5kZXJlcnMvY2VsbC1yZW5kZXJlci1sb29rdXAvY2VsbC1yZW5kZXJlci1sb29rdXAubW9kdWxlJztcbmltcG9ydCB7IFNreUFnR3JpZENlbGxSZW5kZXJlclJvd1NlbGVjdG9yTW9kdWxlIH0gZnJvbSAnLi9jZWxsLXJlbmRlcmVycy9jZWxsLXJlbmRlcmVyLXJvdy1zZWxlY3Rvci9jZWxsLXJlbmRlcmVyLXJvdy1zZWxlY3Rvci5tb2R1bGUnO1xuaW1wb3J0IHsgU2t5QWdHcmlkQ2VsbFJlbmRlcmVyVmFsaWRhdG9yVG9vbHRpcE1vZHVsZSB9IGZyb20gJy4vY2VsbC1yZW5kZXJlcnMvY2VsbC1yZW5kZXJlci12YWxpZGF0b3ItdG9vbHRpcC9jZWxsLXJlbmRlcmVyLXZhbGlkYXRvci10b29sdGlwLm1vZHVsZSc7XG5pbXBvcnQgeyBTa3lBZ0dyaWRDZWxsVmFsaWRhdG9yTW9kdWxlIH0gZnJvbSAnLi9jZWxsLXZhbGlkYXRvci9hZy1ncmlkLWNlbGwtdmFsaWRhdG9yLm1vZHVsZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFNreUFnR3JpZERhdGFNYW5hZ2VyQWRhcHRlckRpcmVjdGl2ZSxcbiAgICBTa3lBZ0dyaWRSb3dEZWxldGVDb21wb25lbnQsXG4gICAgU2t5QWdHcmlkUm93RGVsZXRlRGlyZWN0aXZlLFxuICAgIFNreUFnR3JpZFdyYXBwZXJDb21wb25lbnQsXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBBZ0dyaWRNb2R1bGUsXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFNreUFnR3JpZENlbGxFZGl0b3JBdXRvY29tcGxldGVNb2R1bGUsXG4gICAgU2t5QWdHcmlkQ2VsbEVkaXRvckRhdGVwaWNrZXJNb2R1bGUsXG4gICAgU2t5QWdHcmlkQ2VsbEVkaXRvckxvb2t1cE1vZHVsZSxcbiAgICBTa3lBZ0dyaWRDZWxsRWRpdG9yTnVtYmVyTW9kdWxlLFxuICAgIFNreUFnR3JpZENlbGxFZGl0b3JDdXJyZW5jeU1vZHVsZSxcbiAgICBTa3lBZ0dyaWRDZWxsUmVuZGVyZXJDdXJyZW5jeU1vZHVsZSxcbiAgICBTa3lBZ0dyaWRDZWxsUmVuZGVyZXJMb29rdXBNb2R1bGUsXG4gICAgU2t5QWdHcmlkQ2VsbFJlbmRlcmVyUm93U2VsZWN0b3JNb2R1bGUsXG4gICAgU2t5QWdHcmlkQ2VsbFJlbmRlcmVyVmFsaWRhdG9yVG9vbHRpcE1vZHVsZSxcbiAgICBTa3lBZ0dyaWRDZWxsVmFsaWRhdG9yTW9kdWxlLFxuICAgIFNreUFnR3JpZENlbGxFZGl0b3JUZXh0TW9kdWxlLFxuICAgIFNreURhdGFNYW5hZ2VyTW9kdWxlLFxuICAgIFNreUlubGluZURlbGV0ZU1vZHVsZSxcbiAgICBTa3lWaWV3a2VlcGVyTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgU2t5QWdHcmlkRGF0YU1hbmFnZXJBZGFwdGVyRGlyZWN0aXZlLFxuICAgIFNreUFnR3JpZFJvd0RlbGV0ZUNvbXBvbmVudCxcbiAgICBTa3lBZ0dyaWRSb3dEZWxldGVEaXJlY3RpdmUsXG4gICAgU2t5QWdHcmlkV3JhcHBlckNvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5QWdHcmlkTW9kdWxlIHt9XG4iXX0=
|