@skyux/ag-grid 5.7.2 → 5.8.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/skyux-ag-grid.umd.js +85 -43
- package/documentation.json +3432 -60
- package/esm2015/index.js +7 -0
- package/esm2015/index.js.map +1 -1
- package/esm2015/lib/modules/ag-grid/ag-grid-row-delete.directive.js +0 -3
- package/esm2015/lib/modules/ag-grid/ag-grid-row-delete.directive.js.map +1 -1
- package/esm2015/lib/modules/ag-grid/ag-grid-wrapper.component.js +8 -4
- package/esm2015/lib/modules/ag-grid/ag-grid-wrapper.component.js.map +1 -1
- package/esm2015/lib/modules/ag-grid/ag-grid.service.js +5 -3
- package/esm2015/lib/modules/ag-grid/ag-grid.service.js.map +1 -1
- package/esm2015/lib/modules/ag-grid/apply-lookup-properties-defaults.js +29 -0
- package/esm2015/lib/modules/ag-grid/apply-lookup-properties-defaults.js.map +1 -0
- package/esm2015/lib/modules/ag-grid/cell-editors/cell-editor-autocomplete/cell-editor-autocomplete.component.js.map +1 -1
- package/esm2015/lib/modules/ag-grid/cell-editors/cell-editor-currency/cell-editor-currency.component.js +8 -1
- package/esm2015/lib/modules/ag-grid/cell-editors/cell-editor-currency/cell-editor-currency.component.js.map +1 -1
- package/esm2015/lib/modules/ag-grid/cell-editors/cell-editor-datepicker/cell-editor-datepicker.component.js.map +1 -1
- package/esm2015/lib/modules/ag-grid/cell-editors/cell-editor-lookup/cell-editor-lookup.component.js +15 -4
- package/esm2015/lib/modules/ag-grid/cell-editors/cell-editor-lookup/cell-editor-lookup.component.js.map +1 -1
- package/esm2015/lib/modules/ag-grid/cell-editors/cell-editor-number/cell-editor-number.component.js +4 -1
- package/esm2015/lib/modules/ag-grid/cell-editors/cell-editor-number/cell-editor-number.component.js.map +1 -1
- package/esm2015/lib/modules/ag-grid/cell-editors/cell-editor-text/cell-editor-text.component.js +3 -1
- package/esm2015/lib/modules/ag-grid/cell-editors/cell-editor-text/cell-editor-text.component.js.map +1 -1
- package/esm2015/lib/modules/ag-grid/cell-renderers/cell-renderer-currency/cell-renderer-currency.component.js.map +1 -1
- package/esm2015/lib/modules/ag-grid/cell-renderers/cell-renderer-lookup/cell-renderer-lookup.component.js +4 -1
- package/esm2015/lib/modules/ag-grid/cell-renderers/cell-renderer-lookup/cell-renderer-lookup.component.js.map +1 -1
- package/esm2015/lib/modules/ag-grid/cell-validator/ag-grid-cell-validator-tooltip.component.js +31 -24
- package/esm2015/lib/modules/ag-grid/cell-validator/ag-grid-cell-validator-tooltip.component.js.map +1 -1
- package/esm2015/lib/modules/ag-grid/types/ag-grid-row-delete-cancel-args.js.map +1 -1
- package/esm2015/lib/modules/ag-grid/types/ag-grid-row-delete-confirm-args.js.map +1 -1
- package/esm2015/lib/modules/ag-grid/types/autocomplete-properties.js.map +1 -1
- package/esm2015/lib/modules/ag-grid/types/cell-editor-autocomplete-params.js.map +1 -1
- package/esm2015/lib/modules/ag-grid/types/cell-editor-currency-params.js.map +1 -1
- package/esm2015/lib/modules/ag-grid/types/cell-editor-datepicker-params.js.map +1 -1
- package/esm2015/lib/modules/ag-grid/types/cell-editor-lookup-params.js.map +1 -1
- package/esm2015/lib/modules/ag-grid/types/cell-editor-number-params.js +2 -0
- package/esm2015/lib/modules/ag-grid/types/cell-editor-number-params.js.map +1 -0
- package/esm2015/lib/modules/ag-grid/types/cell-editor-text-params.js +2 -0
- package/esm2015/lib/modules/ag-grid/types/cell-editor-text-params.js.map +1 -0
- package/esm2015/lib/modules/ag-grid/types/cell-renderer-currency-params.js.map +1 -1
- package/esm2015/lib/modules/ag-grid/types/cell-renderer-lookup-params.js.map +1 -1
- package/esm2015/lib/modules/ag-grid/types/cell-renderer-validator-params.js.map +1 -1
- package/esm2015/lib/modules/ag-grid/types/currency-properties.js.map +1 -1
- package/esm2015/lib/modules/ag-grid/types/datepicker-properties.js.map +1 -1
- package/esm2015/lib/modules/ag-grid/types/lookup-properties.js +1 -25
- package/esm2015/lib/modules/ag-grid/types/lookup-properties.js.map +1 -1
- package/esm2015/lib/modules/ag-grid/types/number-properties.js +2 -0
- package/esm2015/lib/modules/ag-grid/types/number-properties.js.map +1 -0
- package/esm2015/lib/modules/ag-grid/types/text-properties.js +2 -0
- package/esm2015/lib/modules/ag-grid/types/text-properties.js.map +1 -0
- package/esm2015/lib/modules/ag-grid/types/validator-properties.js +2 -0
- package/esm2015/lib/modules/ag-grid/types/validator-properties.js.map +1 -0
- package/fesm2015/skyux-ag-grid.js +78 -38
- package/fesm2015/skyux-ag-grid.js.map +1 -1
- package/index.d.ts +7 -0
- package/lib/modules/ag-grid/ag-grid-row-delete.directive.d.ts +0 -3
- package/lib/modules/ag-grid/ag-grid-wrapper.component.d.ts +4 -3
- package/lib/modules/ag-grid/apply-lookup-properties-defaults.d.ts +27 -0
- package/lib/modules/ag-grid/cell-editors/cell-editor-autocomplete/cell-editor-autocomplete.component.d.ts +2 -2
- package/lib/modules/ag-grid/cell-editors/cell-editor-currency/cell-editor-currency.component.d.ts +6 -2
- package/lib/modules/ag-grid/cell-editors/cell-editor-datepicker/cell-editor-datepicker.component.d.ts +2 -2
- package/lib/modules/ag-grid/cell-editors/cell-editor-lookup/cell-editor-lookup.component.d.ts +6 -2
- package/lib/modules/ag-grid/cell-editors/cell-editor-number/cell-editor-number.component.d.ts +4 -2
- package/lib/modules/ag-grid/cell-editors/cell-editor-text/cell-editor-text.component.d.ts +3 -2
- package/lib/modules/ag-grid/cell-renderers/cell-renderer-currency/cell-renderer-currency.component.d.ts +2 -2
- package/lib/modules/ag-grid/cell-renderers/cell-renderer-lookup/cell-renderer-lookup.component.d.ts +3 -0
- package/lib/modules/ag-grid/cell-validator/ag-grid-cell-validator-tooltip.component.d.ts +5 -6
- package/lib/modules/ag-grid/types/ag-grid-row-delete-cancel-args.d.ts +0 -1
- package/lib/modules/ag-grid/types/ag-grid-row-delete-confirm-args.d.ts +0 -1
- package/lib/modules/ag-grid/types/autocomplete-properties.d.ts +6 -4
- package/lib/modules/ag-grid/types/cell-editor-autocomplete-params.d.ts +5 -2
- package/lib/modules/ag-grid/types/cell-editor-currency-params.d.ts +5 -2
- package/lib/modules/ag-grid/types/cell-editor-datepicker-params.d.ts +5 -2
- package/lib/modules/ag-grid/types/cell-editor-lookup-params.d.ts +5 -2
- package/lib/modules/ag-grid/types/cell-editor-number-params.d.ts +8 -0
- package/lib/modules/ag-grid/types/cell-editor-text-params.d.ts +8 -0
- package/lib/modules/ag-grid/types/cell-renderer-currency-params.d.ts +5 -2
- package/lib/modules/ag-grid/types/cell-renderer-lookup-params.d.ts +5 -2
- package/lib/modules/ag-grid/types/cell-renderer-validator-params.d.ts +5 -2
- package/lib/modules/ag-grid/types/currency-properties.d.ts +1 -1
- package/lib/modules/ag-grid/types/datepicker-properties.d.ts +6 -4
- package/lib/modules/ag-grid/types/lookup-properties.d.ts +1 -24
- package/lib/modules/ag-grid/types/number-properties.d.ts +4 -0
- package/lib/modules/ag-grid/types/text-properties.d.ts +3 -0
- package/lib/modules/ag-grid/types/{validator-options.d.ts → validator-properties.d.ts} +1 -1
- package/package.json +13 -13
- package/esm2015/lib/modules/ag-grid/types/validator-options.js +0 -2
- package/esm2015/lib/modules/ag-grid/types/validator-options.js.map +0 -1
package/esm2015/index.js
CHANGED
|
@@ -6,9 +6,14 @@ export * from './lib/modules/ag-grid/types/ag-grid-row-delete-confirm-args';
|
|
|
6
6
|
export * from './lib/modules/ag-grid/types/autocomplete-properties';
|
|
7
7
|
export * from './lib/modules/ag-grid/types/cell-class';
|
|
8
8
|
export * from './lib/modules/ag-grid/types/cell-type';
|
|
9
|
+
export * from './lib/modules/ag-grid/types/currency-properties';
|
|
9
10
|
export * from './lib/modules/ag-grid/types/datepicker-properties';
|
|
10
11
|
export * from './lib/modules/ag-grid/types/header-class';
|
|
12
|
+
export * from './lib/modules/ag-grid/types/lookup-properties';
|
|
13
|
+
export * from './lib/modules/ag-grid/types/number-properties';
|
|
11
14
|
export * from './lib/modules/ag-grid/types/sky-grid-options';
|
|
15
|
+
export * from './lib/modules/ag-grid/types/text-properties';
|
|
16
|
+
export * from './lib/modules/ag-grid/types/validator-properties';
|
|
12
17
|
// Components and directives must be exported to support Angular's "partial" Ivy compiler.
|
|
13
18
|
// Obscure names are used to indicate types are not part of the public API.
|
|
14
19
|
export { SkyAgGridCellEditorAutocompleteComponent as λ1 } from './lib/modules/ag-grid/cell-editors/cell-editor-autocomplete/cell-editor-autocomplete.component';
|
|
@@ -25,4 +30,6 @@ export { SkyAgGridCellValidatorTooltipComponent as λ11 } from './lib/modules/ag
|
|
|
25
30
|
export { SkyAgGridWrapperComponent as λ12 } from './lib/modules/ag-grid/ag-grid-wrapper.component';
|
|
26
31
|
export { SkyAgGridRowDeleteDirective as λ13 } from './lib/modules/ag-grid/ag-grid-row-delete.directive';
|
|
27
32
|
export { SkyAgGridDataManagerAdapterDirective as λ14 } from './lib/modules/ag-grid/ag-grid-data-manager-adapter.directive';
|
|
33
|
+
export { SkyAgGridCellEditorLookupComponent as λ15 } from './lib/modules/ag-grid/cell-editors/cell-editor-lookup/cell-editor-lookup.component';
|
|
34
|
+
export { SkyAgGridCellRendererLookupComponent as λ16 } from './lib/modules/ag-grid/cell-renderers/cell-renderer-lookup/cell-renderer-lookup.component';
|
|
28
35
|
//# sourceMappingURL=index.js.map
|
package/esm2015/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/components/ag-grid/src/index.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,cAAc,sCAAsC,CAAC;AACrD,cAAc,uCAAuC,CAAC;AACtD,cAAc,4DAA4D,CAAC;AAC3E,cAAc,6DAA6D,CAAC;AAC5E,cAAc,qDAAqD,CAAC;AACpE,cAAc,wCAAwC,CAAC;AACvD,cAAc,uCAAuC,CAAC;AACtD,cAAc,mDAAmD,CAAC;AAClE,cAAc,0CAA0C,CAAC;AACzD,cAAc,8CAA8C,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/components/ag-grid/src/index.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,cAAc,sCAAsC,CAAC;AACrD,cAAc,uCAAuC,CAAC;AACtD,cAAc,4DAA4D,CAAC;AAC3E,cAAc,6DAA6D,CAAC;AAC5E,cAAc,qDAAqD,CAAC;AACpE,cAAc,wCAAwC,CAAC;AACvD,cAAc,uCAAuC,CAAC;AACtD,cAAc,iDAAiD,CAAC;AAChE,cAAc,mDAAmD,CAAC;AAClE,cAAc,0CAA0C,CAAC;AACzD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,kDAAkD,CAAC;AAEjE,0FAA0F;AAC1F,2EAA2E;AAC3E,OAAO,EAAE,wCAAwC,IAAI,EAAE,EAAE,MAAM,gGAAgG,CAAC;AAChK,OAAO,EAAE,gCAAgC,IAAI,EAAE,EAAE,MAAM,gFAAgF,CAAC;AACxI,OAAO,EAAE,oCAAoC,IAAI,EAAE,EAAE,MAAM,wFAAwF,CAAC;AACpJ,OAAO,EAAE,kCAAkC,IAAI,EAAE,EAAE,MAAM,oFAAoF,CAAC;AAC9I,OAAO,EAAE,sCAAsC,IAAI,EAAE,EAAE,MAAM,4FAA4F,CAAC;AAC1J,OAAO,EAAE,2BAA2B,IAAI,EAAE,EAAE,MAAM,oDAAoD,CAAC;AACvG,OAAO,EAAE,yCAAyC,IAAI,EAAE,EAAE,MAAM,sGAAsG,CAAC;AACvK,OAAO,EAAE,+CAA+C,IAAI,EAAE,EAAE,MAAM,wGAAwG,CAAC;AAC/K,OAAO,EAAE,sCAAsC,IAAI,EAAE,EAAE,MAAM,8FAA8F,CAAC;AAC5J,OAAO,EAAE,8CAA8C,IAAI,GAAG,EAAE,MAAM,gHAAgH,CAAC;AACvL,OAAO,EAAE,sCAAsC,IAAI,GAAG,EAAE,MAAM,+EAA+E,CAAC;AAC9I,OAAO,EAAE,yBAAyB,IAAI,GAAG,EAAE,MAAM,iDAAiD,CAAC;AACnG,OAAO,EAAE,2BAA2B,IAAI,GAAG,EAAE,MAAM,oDAAoD,CAAC;AACxG,OAAO,EAAE,oCAAoC,IAAI,GAAG,EAAE,MAAM,8DAA8D,CAAC;AAC3H,OAAO,EAAE,kCAAkC,IAAI,GAAG,EAAE,MAAM,oFAAoF,CAAC;AAC/I,OAAO,EAAE,oCAAoC,IAAI,GAAG,EAAE,MAAM,0FAA0F,CAAC","sourcesContent":["// Export any types that should be included in the root.\nexport * from './lib/modules/ag-grid/ag-grid.module';\nexport * from './lib/modules/ag-grid/ag-grid.service';\nexport * from './lib/modules/ag-grid/types/ag-grid-row-delete-cancel-args';\nexport * from './lib/modules/ag-grid/types/ag-grid-row-delete-confirm-args';\nexport * from './lib/modules/ag-grid/types/autocomplete-properties';\nexport * from './lib/modules/ag-grid/types/cell-class';\nexport * from './lib/modules/ag-grid/types/cell-type';\nexport * from './lib/modules/ag-grid/types/currency-properties';\nexport * from './lib/modules/ag-grid/types/datepicker-properties';\nexport * from './lib/modules/ag-grid/types/header-class';\nexport * from './lib/modules/ag-grid/types/lookup-properties';\nexport * from './lib/modules/ag-grid/types/number-properties';\nexport * from './lib/modules/ag-grid/types/sky-grid-options';\nexport * from './lib/modules/ag-grid/types/text-properties';\nexport * from './lib/modules/ag-grid/types/validator-properties';\n\n// Components and directives must be exported to support Angular's \"partial\" Ivy compiler.\n// Obscure names are used to indicate types are not part of the public API.\nexport { SkyAgGridCellEditorAutocompleteComponent as λ1 } from './lib/modules/ag-grid/cell-editors/cell-editor-autocomplete/cell-editor-autocomplete.component';\nexport { SkyAgGridCellEditorTextComponent as λ2 } from './lib/modules/ag-grid/cell-editors/cell-editor-text/cell-editor-text.component';\nexport { SkyAgGridCellEditorCurrencyComponent as λ3 } from './lib/modules/ag-grid/cell-editors/cell-editor-currency/cell-editor-currency.component';\nexport { SkyAgGridCellEditorNumberComponent as λ4 } from './lib/modules/ag-grid/cell-editors/cell-editor-number/cell-editor-number.component';\nexport { SkyAgGridCellEditorDatepickerComponent as λ5 } from './lib/modules/ag-grid/cell-editors/cell-editor-datepicker/cell-editor-datepicker.component';\nexport { SkyAgGridRowDeleteComponent as λ6 } from './lib/modules/ag-grid/ag-grid-row-delete.component';\nexport { SkyAgGridCellRendererRowSelectorComponent as λ7 } from './lib/modules/ag-grid/cell-renderers/cell-renderer-row-selector/cell-renderer-row-selector.component';\nexport { SkyAgGridCellRendererCurrencyValidatorComponent as λ8 } from './lib/modules/ag-grid/cell-renderers/cell-renderer-currency/cell-renderer-currency-validator.component';\nexport { SkyAgGridCellRendererCurrencyComponent as λ9 } from './lib/modules/ag-grid/cell-renderers/cell-renderer-currency/cell-renderer-currency.component';\nexport { SkyAgGridCellRendererValidatorTooltipComponent as λ10 } from './lib/modules/ag-grid/cell-renderers/cell-renderer-validator-tooltip/cell-renderer-validator-tooltip.component';\nexport { SkyAgGridCellValidatorTooltipComponent as λ11 } from './lib/modules/ag-grid/cell-validator/ag-grid-cell-validator-tooltip.component';\nexport { SkyAgGridWrapperComponent as λ12 } from './lib/modules/ag-grid/ag-grid-wrapper.component';\nexport { SkyAgGridRowDeleteDirective as λ13 } from './lib/modules/ag-grid/ag-grid-row-delete.directive';\nexport { SkyAgGridDataManagerAdapterDirective as λ14 } from './lib/modules/ag-grid/ag-grid-data-manager-adapter.directive';\nexport { SkyAgGridCellEditorLookupComponent as λ15 } from './lib/modules/ag-grid/cell-editors/cell-editor-lookup/cell-editor-lookup.component';\nexport { SkyAgGridCellRendererLookupComponent as λ16 } from './lib/modules/ag-grid/cell-renderers/cell-renderer-lookup/cell-renderer-lookup.component';\n"]}
|
|
@@ -6,9 +6,6 @@ import { takeUntil } from 'rxjs/operators';
|
|
|
6
6
|
import { SkyAgGridRowDeleteComponent } from './ag-grid-row-delete.component';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
import * as i1 from "@skyux/core";
|
|
9
|
-
/**
|
|
10
|
-
* @internal
|
|
11
|
-
*/
|
|
12
9
|
export class SkyAgGridRowDeleteDirective {
|
|
13
10
|
constructor(affixService, changeDetector, elementRef, resolver, overlayService, viewContainerRef) {
|
|
14
11
|
this.affixService = affixService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ag-grid-row-delete.directive.js","sourceRoot":"","sources":["../../../../../../../../libs/components/ag-grid/src/lib/modules/ag-grid/ag-grid-row-delete.directive.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n AfterContentInit,\n ChangeDetectorRef,\n ComponentFactoryResolver,\n ContentChild,\n Directive,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n SkyAffixAutoFitContext,\n SkyAffixService,\n SkyAffixer,\n SkyOverlayService,\n} from '@skyux/core';\n\nimport { AgGridAngular } from 'ag-grid-angular';\nimport { RowNode } from 'ag-grid-community';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { SkyAgGridRowDeleteComponent } from './ag-grid-row-delete.component';\nimport { SkyAgGridRowDeleteCancelArgs } from './types/ag-grid-row-delete-cancel-args';\nimport { SkyAgGridRowDeleteConfig } from './types/ag-grid-row-delete-config';\nimport { SkyAgGridRowDeleteConfirmArgs } from './types/ag-grid-row-delete-confirm-args';\nimport { SkyAgGridRowDeleteContents } from './types/ag-grid-row-delete-contents';\n\n/**\n * @internal\n */\n@Directive({\n selector: '[skyAgGridRowDelete]',\n})\nexport class SkyAgGridRowDeleteDirective\n implements AfterContentInit, OnDestroy\n{\n /**\n * Specifies the ids of the data in the rows on which inline delete's should be shown.\n */\n @Input()\n set rowDeleteIds(value: string[]) {\n this._rowDeleteIds = value;\n\n if (!value) {\n for (const config of this.rowDeleteConfigs) {\n this.destroyRowDelete(config.id);\n }\n\n this.changeDetector.markForCheck();\n\n return;\n }\n\n for (const id of value) {\n const existingConfig = this.rowDeleteConfigs.find(\n (config) => config.id === id\n );\n if (existingConfig) {\n existingConfig.pending = false;\n } else {\n this.rowDeleteConfigs.push({\n id: id,\n pending: false,\n });\n\n const overlay = this.overlayService.create({\n enableScroll: true,\n showBackdrop: false,\n closeOnNavigation: true,\n enableClose: false,\n enablePointerEvents: true,\n });\n\n overlay.attachTemplate(\n this.rowDeleteComponent.inlineDeleteTemplateRef,\n {\n $implicit: this.agGrid.api.getRowNode(id),\n tableWidth: () => {\n return this.tableWidth;\n },\n getRowDeleteItem: (row: RowNode) => this.getRowDeleteItem(row),\n cancelRowDelete: (row: RowNode) => this.cancelRowDelete(row),\n confirmRowDelete: (row: RowNode) => this.confirmRowDelete(row),\n }\n );\n\n /**\n * We are manually setting the z-index here because overlays will always be on top of\n * the omnibar. This manual setting is 2 less than the omnibar's z-index of 1000 and one less than\n * the header row's viewkeeper which is 999. We discussed changing the overlay service to allow for this\n * but decided against that change at this time due to its niche nature.\n */\n overlay.componentRef.instance.zIndex = '998';\n\n setTimeout(() => {\n const inlineDeleteRef = this.rowDeleteComponent.inlineDeleteRefs\n .toArray()\n .find((elRef) => {\n return elRef.nativeElement.id === 'row-delete-ref-' + id;\n });\n const affixer = this.affixService.createAffixer(inlineDeleteRef);\n\n this.affixToRow(affixer, id);\n\n this.rowDeleteContents[id] = {\n affixer: affixer,\n overlay: overlay,\n };\n });\n }\n }\n\n for (const config of this.rowDeleteConfigs) {\n if (value.indexOf(config.id) < 0) {\n this.destroyRowDelete(config.id);\n }\n }\n\n this.changeDetector.markForCheck();\n }\n\n get rowDeleteIds(): string[] {\n return this._rowDeleteIds;\n }\n\n /**\n * Emits a `SkyAgGridRowDeleteCancelArgs` object when a row's inline delete is cancelled.\n */\n @Output()\n public rowDeleteCancel = new EventEmitter<SkyAgGridRowDeleteCancelArgs>();\n\n /**\n * Emits a `SkyAgGridRowDeleteConfirmArgs` object when a row's inline delete is confirmed.\n */\n @Output()\n public rowDeleteConfirm = new EventEmitter<SkyAgGridRowDeleteConfirmArgs>();\n\n /**\n * Emits when the list of ids of the data in the rows where inline deletes are shown changes.\n */\n @Output()\n public rowDeleteIdsChange = new EventEmitter<string[]>();\n\n public rowDeleteConfigs: SkyAgGridRowDeleteConfig[] = [];\n\n public get tableWidth() {\n return this.elementRef.nativeElement.querySelectorAll('.sky-ag-grid')[0]\n .offsetWidth;\n }\n\n @ContentChild(AgGridAngular)\n public agGrid: AgGridAngular;\n\n private ngUnsubscribe = new Subject();\n private rowDeleteComponent: SkyAgGridRowDeleteComponent;\n private rowDeleteContents: { [id: string]: SkyAgGridRowDeleteContents } = {};\n\n private _rowDeleteIds: string[];\n\n constructor(\n private affixService: SkyAffixService,\n private changeDetector: ChangeDetectorRef,\n private elementRef: ElementRef,\n private resolver: ComponentFactoryResolver,\n private overlayService: SkyOverlayService,\n private viewContainerRef: ViewContainerRef\n ) {}\n\n public ngAfterContentInit(): void {\n const factory = this.resolver.resolveComponentFactory(\n SkyAgGridRowDeleteComponent\n );\n this.rowDeleteComponent =\n this.viewContainerRef.createComponent(factory).instance;\n this.agGrid.rowDataChanged\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe(() => {\n this.updateRowDeleteStates();\n });\n\n this.agGrid.rowDataUpdated\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe(() => {\n this.updateRowDeleteStates();\n });\n\n this.agGrid.sortChanged\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe(() => {\n this.updateRowDeleteStates();\n });\n\n this.agGrid.filterChanged\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe(() => {\n this.updateRowDeleteStates();\n });\n\n this.agGrid.getRowNodeId = (data: any) => {\n return data.id.toString();\n };\n }\n\n public ngOnDestroy(): void {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n\n Object.keys(this.rowDeleteContents).forEach((id) => {\n this.destroyRowDelete(id);\n });\n }\n\n public cancelRowDelete(row: RowNode): void {\n this.rowDeleteConfigs = this.rowDeleteConfigs.filter(\n (config) => config.id !== row.id\n );\n this.rowDeleteCancel.emit({ id: row.id });\n\n this.destroyRowDelete(row.id);\n }\n\n public confirmRowDelete(row: RowNode): void {\n this.rowDeleteConfigs.find((config) => config.id === row.id).pending = true;\n this.rowDeleteConfirm.emit({ id: row.id });\n }\n\n public getRowDeleteItem(row: RowNode): SkyAgGridRowDeleteConfig {\n return this.rowDeleteConfigs.find((rowDelete) => rowDelete.id === row.id);\n }\n\n private affixToRow(affixer: SkyAffixer, id: string) {\n let rowElement: HTMLElement = this.elementRef.nativeElement.querySelector(`\n [row-id=\"${id}\"] div[aria-colindex=\"1\"],\n .ag-row.sky-ag-grid-row-${id} div[aria-colindex=\"1\"]\n `);\n\n // This covers cases where AG Grid places the column index on an inner element (such as with the `enableCellTextSelection` option)\n // This appears to have been fixed by AG Grid in version 24 and so it is not testable after that version.\n /* istanbul ignore if */\n if (!rowElement) {\n const columns = this.elementRef.nativeElement.querySelectorAll(\n '[row-id=\"' + id + '\"] > div'\n );\n\n for (let i = 0; i < columns.length; i++) {\n if (columns[i].querySelector('[aria-colindex=\"1\"]')) {\n rowElement = columns[i];\n break;\n }\n }\n }\n\n affixer.affixTo(rowElement, {\n autoFitContext: SkyAffixAutoFitContext.Viewport,\n isSticky: true,\n placement: 'above',\n verticalAlignment: 'top',\n horizontalAlignment: 'left',\n enableAutoFit: false,\n });\n }\n\n private destroyRowDelete(id: string): void {\n const rowDeleteContents = this.rowDeleteContents[id];\n\n /* sanity check */\n /* istanbul ignore else */\n if (rowDeleteContents) {\n rowDeleteContents.affixer.destroy();\n this.overlayService.close(rowDeleteContents.overlay);\n delete this.rowDeleteContents[id];\n this.rowDeleteConfigs = this.rowDeleteConfigs.filter(\n (config) => config.id !== id\n );\n this._rowDeleteIds = this.rowDeleteIds?.filter(\n (arrayId) => arrayId !== id\n );\n this.rowDeleteIdsChange.emit(this._rowDeleteIds);\n }\n }\n\n private updateRowDeleteStates(): void {\n this.rowDeleteConfigs.forEach((config: SkyAgGridRowDeleteConfig) => {\n if (!this.agGrid.api.getRowNode(config.id)) {\n this.destroyRowDelete(config.id);\n } else {\n // We must reaffix things when the data changes because the rows rerender and the previous element that the delete was affixed\n // to is destroyed.\n this.affixToRow(this.rowDeleteContents[config.id].affixer, config.id);\n }\n });\n this.changeDetector.markForCheck();\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"ag-grid-row-delete.directive.js","sourceRoot":"","sources":["../../../../../../../../libs/components/ag-grid/src/lib/modules/ag-grid/ag-grid-row-delete.directive.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n AfterContentInit,\n ChangeDetectorRef,\n ComponentFactoryResolver,\n ContentChild,\n Directive,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n SkyAffixAutoFitContext,\n SkyAffixService,\n SkyAffixer,\n SkyOverlayService,\n} from '@skyux/core';\n\nimport { AgGridAngular } from 'ag-grid-angular';\nimport { RowNode } from 'ag-grid-community';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { SkyAgGridRowDeleteComponent } from './ag-grid-row-delete.component';\nimport { SkyAgGridRowDeleteCancelArgs } from './types/ag-grid-row-delete-cancel-args';\nimport { SkyAgGridRowDeleteConfig } from './types/ag-grid-row-delete-config';\nimport { SkyAgGridRowDeleteConfirmArgs } from './types/ag-grid-row-delete-confirm-args';\nimport { SkyAgGridRowDeleteContents } from './types/ag-grid-row-delete-contents';\n\n@Directive({\n selector: '[skyAgGridRowDelete]',\n})\nexport class SkyAgGridRowDeleteDirective\n implements AfterContentInit, OnDestroy\n{\n /**\n * Specifies the ids of the data in the rows on which inline delete's should be shown.\n */\n @Input()\n set rowDeleteIds(value: string[]) {\n this._rowDeleteIds = value;\n\n if (!value) {\n for (const config of this.rowDeleteConfigs) {\n this.destroyRowDelete(config.id);\n }\n\n this.changeDetector.markForCheck();\n\n return;\n }\n\n for (const id of value) {\n const existingConfig = this.rowDeleteConfigs.find(\n (config) => config.id === id\n );\n if (existingConfig) {\n existingConfig.pending = false;\n } else {\n this.rowDeleteConfigs.push({\n id: id,\n pending: false,\n });\n\n const overlay = this.overlayService.create({\n enableScroll: true,\n showBackdrop: false,\n closeOnNavigation: true,\n enableClose: false,\n enablePointerEvents: true,\n });\n\n overlay.attachTemplate(\n this.rowDeleteComponent.inlineDeleteTemplateRef,\n {\n $implicit: this.agGrid.api.getRowNode(id),\n tableWidth: () => {\n return this.tableWidth;\n },\n getRowDeleteItem: (row: RowNode) => this.getRowDeleteItem(row),\n cancelRowDelete: (row: RowNode) => this.cancelRowDelete(row),\n confirmRowDelete: (row: RowNode) => this.confirmRowDelete(row),\n }\n );\n\n /**\n * We are manually setting the z-index here because overlays will always be on top of\n * the omnibar. This manual setting is 2 less than the omnibar's z-index of 1000 and one less than\n * the header row's viewkeeper which is 999. We discussed changing the overlay service to allow for this\n * but decided against that change at this time due to its niche nature.\n */\n overlay.componentRef.instance.zIndex = '998';\n\n setTimeout(() => {\n const inlineDeleteRef = this.rowDeleteComponent.inlineDeleteRefs\n .toArray()\n .find((elRef) => {\n return elRef.nativeElement.id === 'row-delete-ref-' + id;\n });\n const affixer = this.affixService.createAffixer(inlineDeleteRef);\n\n this.affixToRow(affixer, id);\n\n this.rowDeleteContents[id] = {\n affixer: affixer,\n overlay: overlay,\n };\n });\n }\n }\n\n for (const config of this.rowDeleteConfigs) {\n if (value.indexOf(config.id) < 0) {\n this.destroyRowDelete(config.id);\n }\n }\n\n this.changeDetector.markForCheck();\n }\n\n get rowDeleteIds(): string[] {\n return this._rowDeleteIds;\n }\n\n /**\n * Emits a `SkyAgGridRowDeleteCancelArgs` object when a row's inline delete is cancelled.\n */\n @Output()\n public rowDeleteCancel = new EventEmitter<SkyAgGridRowDeleteCancelArgs>();\n\n /**\n * Emits a `SkyAgGridRowDeleteConfirmArgs` object when a row's inline delete is confirmed.\n */\n @Output()\n public rowDeleteConfirm = new EventEmitter<SkyAgGridRowDeleteConfirmArgs>();\n\n /**\n * Emits when the list of ids of the data in the rows where inline deletes are shown changes.\n */\n @Output()\n public rowDeleteIdsChange = new EventEmitter<string[]>();\n\n public rowDeleteConfigs: SkyAgGridRowDeleteConfig[] = [];\n\n public get tableWidth() {\n return this.elementRef.nativeElement.querySelectorAll('.sky-ag-grid')[0]\n .offsetWidth;\n }\n\n @ContentChild(AgGridAngular)\n public agGrid: AgGridAngular;\n\n private ngUnsubscribe = new Subject();\n private rowDeleteComponent: SkyAgGridRowDeleteComponent;\n private rowDeleteContents: { [id: string]: SkyAgGridRowDeleteContents } = {};\n\n private _rowDeleteIds: string[];\n\n constructor(\n private affixService: SkyAffixService,\n private changeDetector: ChangeDetectorRef,\n private elementRef: ElementRef,\n private resolver: ComponentFactoryResolver,\n private overlayService: SkyOverlayService,\n private viewContainerRef: ViewContainerRef\n ) {}\n\n public ngAfterContentInit(): void {\n const factory = this.resolver.resolveComponentFactory(\n SkyAgGridRowDeleteComponent\n );\n this.rowDeleteComponent =\n this.viewContainerRef.createComponent(factory).instance;\n this.agGrid.rowDataChanged\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe(() => {\n this.updateRowDeleteStates();\n });\n\n this.agGrid.rowDataUpdated\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe(() => {\n this.updateRowDeleteStates();\n });\n\n this.agGrid.sortChanged\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe(() => {\n this.updateRowDeleteStates();\n });\n\n this.agGrid.filterChanged\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe(() => {\n this.updateRowDeleteStates();\n });\n\n this.agGrid.getRowNodeId = (data: any) => {\n return data.id.toString();\n };\n }\n\n public ngOnDestroy(): void {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n\n Object.keys(this.rowDeleteContents).forEach((id) => {\n this.destroyRowDelete(id);\n });\n }\n\n public cancelRowDelete(row: RowNode): void {\n this.rowDeleteConfigs = this.rowDeleteConfigs.filter(\n (config) => config.id !== row.id\n );\n this.rowDeleteCancel.emit({ id: row.id });\n\n this.destroyRowDelete(row.id);\n }\n\n public confirmRowDelete(row: RowNode): void {\n this.rowDeleteConfigs.find((config) => config.id === row.id).pending = true;\n this.rowDeleteConfirm.emit({ id: row.id });\n }\n\n public getRowDeleteItem(row: RowNode): SkyAgGridRowDeleteConfig {\n return this.rowDeleteConfigs.find((rowDelete) => rowDelete.id === row.id);\n }\n\n private affixToRow(affixer: SkyAffixer, id: string) {\n let rowElement: HTMLElement = this.elementRef.nativeElement.querySelector(`\n [row-id=\"${id}\"] div[aria-colindex=\"1\"],\n .ag-row.sky-ag-grid-row-${id} div[aria-colindex=\"1\"]\n `);\n\n // This covers cases where AG Grid places the column index on an inner element (such as with the `enableCellTextSelection` option)\n // This appears to have been fixed by AG Grid in version 24 and so it is not testable after that version.\n /* istanbul ignore if */\n if (!rowElement) {\n const columns = this.elementRef.nativeElement.querySelectorAll(\n '[row-id=\"' + id + '\"] > div'\n );\n\n for (let i = 0; i < columns.length; i++) {\n if (columns[i].querySelector('[aria-colindex=\"1\"]')) {\n rowElement = columns[i];\n break;\n }\n }\n }\n\n affixer.affixTo(rowElement, {\n autoFitContext: SkyAffixAutoFitContext.Viewport,\n isSticky: true,\n placement: 'above',\n verticalAlignment: 'top',\n horizontalAlignment: 'left',\n enableAutoFit: false,\n });\n }\n\n private destroyRowDelete(id: string): void {\n const rowDeleteContents = this.rowDeleteContents[id];\n\n /* sanity check */\n /* istanbul ignore else */\n if (rowDeleteContents) {\n rowDeleteContents.affixer.destroy();\n this.overlayService.close(rowDeleteContents.overlay);\n delete this.rowDeleteContents[id];\n this.rowDeleteConfigs = this.rowDeleteConfigs.filter(\n (config) => config.id !== id\n );\n this._rowDeleteIds = this.rowDeleteIds?.filter(\n (arrayId) => arrayId !== id\n );\n this.rowDeleteIdsChange.emit(this._rowDeleteIds);\n }\n }\n\n private updateRowDeleteStates(): void {\n this.rowDeleteConfigs.forEach((config: SkyAgGridRowDeleteConfig) => {\n if (!this.agGrid.api.getRowNode(config.id)) {\n this.destroyRowDelete(config.id);\n } else {\n // We must reaffix things when the data changes because the rows rerender and the previous element that the delete was affixed\n // to is destroyed.\n this.affixToRow(this.rowDeleteContents[config.id].affixer, config.id);\n }\n });\n this.changeDetector.markForCheck();\n }\n}\n"]}
|
|
@@ -5,9 +5,6 @@ import * as i0 from "@angular/core";
|
|
|
5
5
|
import * as i1 from "./ag-grid-adapter.service";
|
|
6
6
|
import * as i2 from "@skyux/core";
|
|
7
7
|
let idIndex = 0;
|
|
8
|
-
/**
|
|
9
|
-
* @internal
|
|
10
|
-
*/
|
|
11
8
|
export class SkyAgGridWrapperComponent {
|
|
12
9
|
constructor(adapterService, changeDetector, elementRef) {
|
|
13
10
|
this.adapterService = adapterService;
|
|
@@ -32,6 +29,13 @@ export class SkyAgGridWrapperComponent {
|
|
|
32
29
|
this.viewkeeperClasses.push('.ag-header');
|
|
33
30
|
}
|
|
34
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
|
+
}
|
|
35
39
|
onGridKeydown(event) {
|
|
36
40
|
if (this.agGrid && !this.isInEditMode && event.key === 'Tab') {
|
|
37
41
|
const idToFocus = event.shiftKey
|
|
@@ -79,7 +83,7 @@ export class SkyAgGridWrapperComponent {
|
|
|
79
83
|
}
|
|
80
84
|
}
|
|
81
85
|
SkyAgGridWrapperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyAgGridWrapperComponent, deps: [{ token: i1.SkyAgGridAdapterService }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
82
|
-
SkyAgGridWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", 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>\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 });
|
|
86
|
+
SkyAgGridWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", 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 });
|
|
83
87
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyAgGridWrapperComponent, decorators: [{
|
|
84
88
|
type: Component,
|
|
85
89
|
args: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ag-grid-wrapper.component.js","sourceRoot":"","sources":["../../../../../../../../libs/components/ag-grid/src/lib/modules/ag-grid/ag-grid-wrapper.component.ts","../../../../../../../../libs/components/ag-grid/src/lib/modules/ag-grid/ag-grid-wrapper.component.html"],"names":[],"mappings":"AAAA,OAAO,EAEL,uBAAuB,EACvB,iBAAiB,EACjB,SAAS,EACT,YAAY,EACZ,UAAU,GACX,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;;;;AAEpE,IAAI,OAAO,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"ag-grid-wrapper.component.js","sourceRoot":"","sources":["../../../../../../../../libs/components/ag-grid/src/lib/modules/ag-grid/ag-grid-wrapper.component.ts","../../../../../../../../libs/components/ag-grid/src/lib/modules/ag-grid/ag-grid-wrapper.component.html"],"names":[],"mappings":"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","sourcesContent":["import {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n} from '@angular/core';\n\nimport { AgGridAngular } from 'ag-grid-angular';\nimport { DetailGridInfo } from 'ag-grid-community';\n\nimport { SkyAgGridAdapterService } from './ag-grid-adapter.service';\n\nlet idIndex = 0;\n\n@Component({\n selector: 'sky-ag-grid-wrapper',\n templateUrl: './ag-grid-wrapper.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyAgGridWrapperComponent implements AfterContentInit {\n @ContentChild(AgGridAngular, {\n static: true,\n })\n public agGrid: AgGridAngular;\n\n public afterAnchorId: string;\n public beforeAnchorId: string;\n public gridId: string;\n\n public get viewkeeperClasses(): string[] {\n return this._viewkeeperClasses;\n }\n\n public set viewkeeperClasses(value: string[]) {\n this._viewkeeperClasses = value;\n this.changeDetector.markForCheck();\n }\n\n private _viewkeeperClasses: string[] = [];\n\n constructor(\n private adapterService: SkyAgGridAdapterService,\n private changeDetector: ChangeDetectorRef,\n private elementRef: ElementRef\n ) {\n idIndex++;\n this.afterAnchorId = 'sky-ag-grid-nav-anchor-after-' + idIndex;\n this.beforeAnchorId = 'sky-ag-grid-nav-anchor-before-' + idIndex;\n this.gridId = 'sky-ag-grid-' + idIndex;\n }\n\n public ngAfterContentInit(): void {\n if (\n this.agGrid.gridOptions &&\n this.agGrid.gridOptions.domLayout === 'autoHeight'\n ) {\n this.viewkeeperClasses.push('.ag-header');\n }\n }\n\n /**\n * Prevent closing a modal when focused in AG Grid.\n */\n public onKeyUpEscape($event: Event) {\n $event.stopPropagation();\n this.agGrid.api.stopEditing(true);\n }\n\n public onGridKeydown(event: KeyboardEvent): void {\n if (this.agGrid && !this.isInEditMode && event.key === 'Tab') {\n const idToFocus = event.shiftKey\n ? this.beforeAnchorId\n : this.afterAnchorId;\n this.adapterService.setFocusedElementById(\n this.elementRef.nativeElement,\n idToFocus\n );\n }\n }\n\n public onAnchorFocus(event: FocusEvent): void {\n const gridId = this.gridId;\n const relatedTarget = event.relatedTarget as HTMLElement;\n const previousFocusedId = relatedTarget && relatedTarget.id;\n const previousWasCell =\n relatedTarget &&\n !!this.adapterService.getElementOrParentWithClass(\n relatedTarget,\n 'ag-cell'\n );\n\n if (previousFocusedId !== gridId && !previousWasCell) {\n const columns = this.agGrid.columnApi.getAllDisplayedColumns();\n const firstColumn = columns && columns[0];\n const rowIndex = this.agGrid.api.getFirstDisplayedRow();\n\n if (firstColumn && rowIndex >= 0) {\n this.agGrid.api.setFocusedCell(rowIndex, firstColumn);\n }\n }\n }\n\n private get isInEditMode(): boolean {\n /* Sanity check */\n /* istanbul ignore else */\n if (this.agGrid && this.agGrid.api) {\n const primaryGridEditing = this.agGrid.api.getEditingCells().length > 0;\n if (primaryGridEditing) {\n return true;\n } else {\n let innerEditing = false;\n this.agGrid.api.forEachDetailGridInfo((detailGrid: DetailGridInfo) => {\n if (detailGrid.api.getEditingCells().length > 0) {\n innerEditing = true;\n }\n });\n\n return innerEditing;\n }\n } else {\n return false;\n }\n }\n}\n","<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"]}
|
|
@@ -4,6 +4,7 @@ import { SkyThemeService } from '@skyux/theme';
|
|
|
4
4
|
import { Subject } from 'rxjs';
|
|
5
5
|
import { takeUntil } from 'rxjs/operators';
|
|
6
6
|
import { SkyAgGridAdapterService } from './ag-grid-adapter.service';
|
|
7
|
+
import { applySkyLookupPropertiesDefaults } from './apply-lookup-properties-defaults';
|
|
7
8
|
import { SkyAgGridCellEditorAutocompleteComponent } from './cell-editors/cell-editor-autocomplete/cell-editor-autocomplete.component';
|
|
8
9
|
import { SkyAgGridCellEditorCurrencyComponent } from './cell-editors/cell-editor-currency/cell-editor-currency.component';
|
|
9
10
|
import { SkyAgGridCellEditorDatepickerComponent } from './cell-editors/cell-editor-datepicker/cell-editor-datepicker.component';
|
|
@@ -18,7 +19,6 @@ import { SkyAgGridCellRendererValidatorTooltipComponent } from './cell-renderers
|
|
|
18
19
|
import { SkyCellClass } from './types/cell-class';
|
|
19
20
|
import { SkyCellType } from './types/cell-type';
|
|
20
21
|
import { SkyHeaderClass } from './types/header-class';
|
|
21
|
-
import { applySkyLookupPropertiesDefaults } from './types/lookup-properties';
|
|
22
22
|
import * as i0 from "@angular/core";
|
|
23
23
|
import * as i1 from "./ag-grid-adapter.service";
|
|
24
24
|
import * as i2 from "@skyux/theme";
|
|
@@ -190,7 +190,8 @@ export class SkyAgGridService {
|
|
|
190
190
|
minWidth: 185,
|
|
191
191
|
},
|
|
192
192
|
[SkyCellType.Number]: {
|
|
193
|
-
cellClassRules: Object.assign({ [SkyCellClass.Number]: cellClassRuleTrueExpression }, editableCellClassRules),
|
|
193
|
+
cellClassRules: Object.assign(Object.assign({ [SkyCellClass.Number]: cellClassRuleTrueExpression }, validatorCellClassRules), editableCellClassRules),
|
|
194
|
+
cellRendererSelector: getValidatorCellRendererSelector('sky-ag-grid-cell-renderer-validator-tooltip'),
|
|
194
195
|
cellEditorFramework: SkyAgGridCellEditorNumberComponent,
|
|
195
196
|
headerClass: SkyHeaderClass.RightAligned,
|
|
196
197
|
},
|
|
@@ -207,8 +208,9 @@ export class SkyAgGridService {
|
|
|
207
208
|
width: 55,
|
|
208
209
|
},
|
|
209
210
|
[SkyCellType.Text]: {
|
|
210
|
-
cellClassRules: Object.assign({ [SkyCellClass.Text]: cellClassRuleTrueExpression }, editableCellClassRules),
|
|
211
|
+
cellClassRules: Object.assign(Object.assign({ [SkyCellClass.Text]: cellClassRuleTrueExpression }, validatorCellClassRules), editableCellClassRules),
|
|
211
212
|
cellEditorFramework: SkyAgGridCellEditorTextComponent,
|
|
213
|
+
cellRendererSelector: getValidatorCellRendererSelector('sky-ag-grid-cell-renderer-validator-tooltip'),
|
|
212
214
|
},
|
|
213
215
|
[SkyCellType.Validator]: {
|
|
214
216
|
cellClassRules: Object.assign(Object.assign({}, validatorCellClassRules), editableCellClassRules),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ag-grid.service.js","sourceRoot":"","sources":["../../../../../../../../libs/components/ag-grid/src/lib/modules/ag-grid/ag-grid.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { Injectable, OnDestroy, Optional } from '@angular/core';\nimport { SkyLibResourcesService } from '@skyux/i18n';\nimport { SkyThemeService, SkyThemeSettings } from '@skyux/theme';\n\nimport {\n CellClassParams,\n GridOptions,\n ICellRendererParams,\n RowClassParams,\n SuppressKeyboardEventParams,\n ValueFormatterParams,\n} from 'ag-grid-community';\nimport { EditableCallbackParams } from 'ag-grid-community/dist/lib/entities/colDef';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { SkyAgGridAdapterService } from './ag-grid-adapter.service';\nimport { SkyAgGridCellEditorAutocompleteComponent } from './cell-editors/cell-editor-autocomplete/cell-editor-autocomplete.component';\nimport { SkyAgGridCellEditorCurrencyComponent } from './cell-editors/cell-editor-currency/cell-editor-currency.component';\nimport { SkyAgGridCellEditorDatepickerComponent } from './cell-editors/cell-editor-datepicker/cell-editor-datepicker.component';\nimport { SkyAgGridCellEditorLookupComponent } from './cell-editors/cell-editor-lookup/cell-editor-lookup.component';\nimport { SkyAgGridCellEditorNumberComponent } from './cell-editors/cell-editor-number/cell-editor-number.component';\nimport { SkyAgGridCellEditorTextComponent } from './cell-editors/cell-editor-text/cell-editor-text.component';\nimport { SkyAgGridCellRendererCurrencyValidatorComponent } from './cell-renderers/cell-renderer-currency/cell-renderer-currency-validator.component';\nimport { SkyAgGridCellRendererCurrencyComponent } from './cell-renderers/cell-renderer-currency/cell-renderer-currency.component';\nimport { SkyAgGridCellRendererLookupComponent } from './cell-renderers/cell-renderer-lookup/cell-renderer-lookup.component';\nimport { SkyAgGridCellRendererRowSelectorComponent } from './cell-renderers/cell-renderer-row-selector/cell-renderer-row-selector.component';\nimport { SkyAgGridCellRendererValidatorTooltipComponent } from './cell-renderers/cell-renderer-validator-tooltip/cell-renderer-validator-tooltip.component';\nimport { SkyCellClass } from './types/cell-class';\nimport { SkyCellType } from './types/cell-type';\nimport { SkyHeaderClass } from './types/header-class';\nimport { applySkyLookupPropertiesDefaults } from './types/lookup-properties';\nimport { SkyGetGridOptionsArgs } from './types/sky-grid-options';\n\nfunction autocompleteComparator(\n value1: { name: string },\n value2: { name: string }\n): number {\n if (value1 && value2) {\n if (value1.name > value2.name) {\n return 1;\n }\n\n if (value1.name < value2.name) {\n return -1;\n }\n\n return 0;\n }\n\n return value1 ? 1 : -1;\n}\n\nfunction autocompleteFormatter(\n params: ValueFormatterParams\n): string | undefined {\n return params.value && params.value.name;\n}\n\nfunction dateComparator(date1: any, date2: any): number {\n let date1value = date1;\n let date2value = date2;\n\n if (typeof date1value === 'string') {\n date1value = new Date(date1);\n }\n\n if (typeof date2value === 'string') {\n date2value = new Date(date2);\n }\n\n if (date1value && date2value) {\n if (date1value > date2value) {\n return 1;\n }\n\n if (date1value < date2value) {\n return -1;\n }\n\n return 0;\n }\n\n return date1value ? 1 : -1;\n}\n\nfunction getValidatorCellRendererSelector(component: string, fallback?: any) {\n return (params: ICellRendererParams) => {\n if (\n params.colDef &&\n typeof params.colDef.cellRendererParams?.skyComponentProperties\n ?.validator === 'function'\n ) {\n if (\n !params.colDef.cellRendererParams.skyComponentProperties.validator(\n params.value,\n params.data,\n params.rowIndex\n )\n ) {\n return {\n component,\n params: {\n ...params.colDef.cellRendererParams,\n },\n };\n }\n }\n return fallback;\n };\n}\n\nlet rowNodeId = -1;\n\n/**\n * `SkyAgGridService` provides methods to get AG Grid `gridOptions` to ensure grids match SKY UX functionality. The `gridOptions` can be overridden, and include registered SKY UX column types.\n */\n@Injectable({\n providedIn: 'any',\n})\nexport class SkyAgGridService implements OnDestroy {\n /**\n * @internal\n */\n public currentTheme: SkyThemeSettings;\n private ngUnsubscribe = new Subject();\n\n constructor(\n private agGridAdapterService: SkyAgGridAdapterService,\n @Optional() private themeSvc?: SkyThemeService,\n @Optional() private resources?: SkyLibResourcesService\n ) {\n /*istanbul ignore else*/\n if (this.themeSvc) {\n this.themeSvc.settingsChange\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe(\n (settingsChange) =>\n (this.currentTheme = settingsChange.currentSettings)\n );\n }\n }\n\n public ngOnDestroy() {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n\n /**\n * Returns [AG Grid `gridOptions`](https://www.ag-grid.com/javascript-grid-properties/) with default SKY UX options, styling, and cell renderers registered for read-only grids.\n * @param args\n * @returns\n */\n public getGridOptions(args: SkyGetGridOptionsArgs): GridOptions {\n const defaultGridOptions = this.getDefaultGridOptions(args);\n const mergedGridOptions = this.mergeGridOptions(\n defaultGridOptions,\n args.gridOptions\n );\n\n return mergedGridOptions;\n }\n\n /**\n * Returns [AG Grid `gridOptions`](https://www.ag-grid.com/javascript-grid-properties/) with default SKY UX options, styling, and cell editors registered for editable grids.\n * @param args\n * @returns\n */\n public getEditableGridOptions(args: SkyGetGridOptionsArgs): GridOptions {\n const defaultGridOptions = this.getDefaultEditableGridOptions(args);\n const mergedGridOptions = this.mergeGridOptions(\n defaultGridOptions,\n args.gridOptions\n );\n\n return mergedGridOptions;\n }\n\n private mergeGridOptions(\n defaultGridOptions: GridOptions,\n providedGridOptions: GridOptions\n ): GridOptions {\n const mergedGridOptions = {\n ...defaultGridOptions,\n ...providedGridOptions,\n columnTypes: {\n ...providedGridOptions.columnTypes,\n // apply default second to prevent consumers from overwriting our default column types\n ...defaultGridOptions.columnTypes,\n },\n defaultColDef: {\n ...defaultGridOptions.defaultColDef,\n ...providedGridOptions.defaultColDef,\n // allow consumers to override all defaultColDef properties except cellClassRules, which we reserve for styling\n cellClassRules: defaultGridOptions.defaultColDef.cellClassRules,\n },\n icons: {\n ...defaultGridOptions.icons,\n ...providedGridOptions.icons,\n },\n };\n\n return mergedGridOptions;\n }\n\n private getDefaultGridOptions(args: SkyGetGridOptionsArgs): GridOptions {\n // cellClassRules can be functions or string expressions\n const cellClassRuleTrueExpression = 'true';\n\n function getEditableFn(\n isUneditable?: boolean\n ): (params: CellClassParams) => boolean {\n return function (params: CellClassParams): boolean {\n let isEditable = params.colDef.editable;\n\n if (typeof isEditable === 'function') {\n const column = params.columnApi.getColumn(params.colDef.field);\n isEditable = isEditable({\n ...params,\n column,\n } as EditableCallbackParams);\n }\n\n return isUneditable ? !isEditable : isEditable;\n };\n }\n\n const editableCellClassRules = {\n [SkyCellClass.Editable]: getEditableFn(),\n [SkyCellClass.Uneditable]: getEditableFn(true),\n };\n\n function getValidatorFn(): (params: CellClassParams) => boolean {\n return function (param: CellClassParams) {\n if (\n param.colDef &&\n typeof param.colDef.cellRendererParams?.skyComponentProperties\n ?.validator === 'function'\n ) {\n return !param.colDef.cellRendererParams.skyComponentProperties.validator(\n param.value,\n param.data,\n param.rowIndex\n );\n }\n return false;\n };\n }\n\n const validatorCellClassRules = {\n [SkyCellClass.Invalid]: getValidatorFn(),\n };\n\n const defaultSkyGridOptions: GridOptions = {\n columnTypes: {\n [SkyCellType.Autocomplete]: {\n cellClassRules: {\n [SkyCellClass.Autocomplete]: cellClassRuleTrueExpression,\n ...editableCellClassRules,\n },\n cellEditorFramework: SkyAgGridCellEditorAutocompleteComponent,\n valueFormatter: autocompleteFormatter,\n comparator: autocompleteComparator,\n minWidth: 185,\n },\n [SkyCellType.Currency]: {\n cellClassRules: {\n [SkyCellClass.Currency]: cellClassRuleTrueExpression,\n ...validatorCellClassRules,\n ...editableCellClassRules,\n },\n cellRendererSelector: getValidatorCellRendererSelector(\n 'sky-ag-grid-cell-renderer-currency-validator',\n { component: 'sky-ag-grid-cell-renderer-currency' }\n ),\n cellEditorFramework: SkyAgGridCellEditorCurrencyComponent,\n headerClass: SkyHeaderClass.RightAligned,\n minWidth: 185,\n },\n [SkyCellType.Date]: {\n cellClassRules: {\n [SkyCellClass.Date]: cellClassRuleTrueExpression,\n ...editableCellClassRules,\n },\n cellEditorFramework: SkyAgGridCellEditorDatepickerComponent,\n comparator: dateComparator,\n minWidth: this.currentTheme?.theme?.name === 'modern' ? 180 : 160,\n valueFormatter: (params: ValueFormatterParams) =>\n this.dateFormatter(params, args.locale),\n },\n [SkyCellType.Lookup]: {\n cellClassRules: {\n [SkyCellClass.Lookup]: cellClassRuleTrueExpression,\n ...editableCellClassRules,\n },\n cellEditorFramework: SkyAgGridCellEditorLookupComponent,\n cellRendererFramework: SkyAgGridCellRendererLookupComponent,\n valueFormatter: (params) => {\n const lookupProperties = applySkyLookupPropertiesDefaults(params);\n return (params.value || [])\n .map((value) => {\n return value[lookupProperties.descriptorProperty];\n })\n .filter((value) => value !== '' && value !== undefined)\n .join('; ');\n },\n minWidth: 185,\n },\n [SkyCellType.Number]: {\n cellClassRules: {\n [SkyCellClass.Number]: cellClassRuleTrueExpression,\n ...editableCellClassRules,\n },\n cellEditorFramework: SkyAgGridCellEditorNumberComponent,\n headerClass: SkyHeaderClass.RightAligned,\n },\n [SkyCellType.RowSelector]: {\n cellClassRules: {\n [SkyCellClass.RowSelector]: cellClassRuleTrueExpression,\n [SkyCellClass.Uneditable]: cellClassRuleTrueExpression,\n },\n cellRendererFramework: SkyAgGridCellRendererRowSelectorComponent,\n headerName: '',\n minWidth: 55,\n maxWidth: 55,\n sortable: false,\n width: 55,\n },\n [SkyCellType.Text]: {\n cellClassRules: {\n [SkyCellClass.Text]: cellClassRuleTrueExpression,\n ...editableCellClassRules,\n },\n cellEditorFramework: SkyAgGridCellEditorTextComponent,\n },\n [SkyCellType.Validator]: {\n cellClassRules: {\n ...validatorCellClassRules,\n ...editableCellClassRules,\n },\n cellRendererSelector: getValidatorCellRendererSelector(\n 'sky-ag-grid-cell-renderer-validator-tooltip'\n ),\n },\n },\n defaultColDef: {\n cellClassRules: editableCellClassRules,\n minWidth: 100,\n resizable: true,\n sortable: true,\n suppressKeyboardEvent: (keypress: SuppressKeyboardEventParams) =>\n this.suppressTab(keypress),\n },\n domLayout: 'autoHeight',\n enterMovesDownAfterEdit: true,\n frameworkComponents: {\n 'sky-ag-grid-cell-renderer-currency':\n SkyAgGridCellRendererCurrencyComponent,\n 'sky-ag-grid-cell-renderer-currency-validator':\n SkyAgGridCellRendererCurrencyValidatorComponent,\n 'sky-ag-grid-cell-renderer-validator-tooltip':\n SkyAgGridCellRendererValidatorTooltipComponent,\n },\n getRowNodeId(data: any): string {\n if ('id' in data && data.id !== undefined) {\n return `${data.id}`;\n }\n return `${rowNodeId--}`;\n },\n getRowClass: (params: RowClassParams) => {\n if (params.node.id) {\n return `sky-ag-grid-row-${params.node.id}`;\n } else {\n return undefined;\n }\n },\n headerHeight: this.currentTheme?.theme?.name === 'modern' ? 60 : 37,\n icons: {\n sortDescending: this.getIconTemplate('caret-down'),\n sortAscending: this.getIconTemplate('caret-up'),\n columnMoveMove: this.getIconTemplate('arrows'),\n columnMoveHide: this.getIconTemplate('arrows'),\n columnMoveLeft: this.getIconTemplate('arrows'),\n columnMoveRight: this.getIconTemplate('arrows'),\n columnMovePin: this.getIconTemplate('arrows'),\n },\n onCellFocused: () => this.onCellFocused(),\n rowHeight: this.currentTheme?.theme?.name === 'modern' ? 60 : 38,\n rowMultiSelectWithClick: true,\n rowSelection: 'multiple',\n singleClickEdit: true,\n // tslint:disable-next-line: no-null-keyword\n sortingOrder: ['desc', 'asc', null],\n stopEditingWhenGridLosesFocus: false,\n suppressRowClickSelection: true,\n suppressDragLeaveHidesColumns: true,\n };\n\n defaultSkyGridOptions.columnTypes[SkyCellType.CurrencyValidator] = {\n ...defaultSkyGridOptions.columnTypes[SkyCellType.Currency],\n cellRendererParams: {\n skyComponentProperties: {\n validator: (value: any, data: any, rowIndex: number) => {\n return !!`${value || ''}`.match(/^[^0-9]*(\\d+[,.]?)+\\d*[^0-9]*$/);\n },\n validatorMessage: 'Please enter a valid currency',\n },\n },\n };\n /*istanbul ignore else*/\n if (this.resources) {\n this.resources\n .getString('sky_ag_grid_cell_renderer_currency_validator_message')\n .subscribe((value) => {\n defaultSkyGridOptions.columnTypes[\n SkyCellType.CurrencyValidator\n ].cellRendererParams.skyComponentProperties.validatorMessage = value;\n });\n }\n\n defaultSkyGridOptions.columnTypes[SkyCellType.NumberValidator] = {\n ...defaultSkyGridOptions.columnTypes[SkyCellType.Validator],\n ...defaultSkyGridOptions.columnTypes[SkyCellType.Number],\n cellClassRules: {\n ...defaultSkyGridOptions.columnTypes[SkyCellType.Validator]\n .cellClassRules,\n ...defaultSkyGridOptions.columnTypes[SkyCellType.Number].cellClassRules,\n },\n cellRendererParams: {\n skyComponentProperties: {\n validator: (value: any, data: any, rowIndex: number) => {\n return !!value && !isNaN(parseFloat(value));\n },\n validatorMessage: 'Please enter a valid number',\n },\n },\n };\n /*istanbul ignore else*/\n if (this.resources) {\n this.resources\n .getString('sky_ag_grid_cell_renderer_number_validator_message')\n .subscribe((value) => {\n defaultSkyGridOptions.columnTypes[\n SkyCellType.NumberValidator\n ].cellRendererParams.skyComponentProperties.validatorMessage = value;\n });\n }\n\n return defaultSkyGridOptions;\n }\n\n private onCellFocused(): void {\n const currentElement = this.agGridAdapterService.getFocusedElement();\n\n this.agGridAdapterService.focusOnFocusableChildren(currentElement);\n }\n\n private getDefaultEditableGridOptions(\n args: SkyGetGridOptionsArgs\n ): GridOptions {\n const defaultGridOptions = this.getDefaultGridOptions(args);\n\n defaultGridOptions.rowSelection = 'none';\n\n return defaultGridOptions;\n }\n\n private dateFormatter(\n params: ValueFormatterParams,\n locale: string = 'en-us'\n ): string | undefined {\n const dateConfig = { year: 'numeric', month: '2-digit', day: '2-digit' };\n let date: Date = params.value;\n\n if (date && typeof date === 'string') {\n date = new Date(params.value);\n }\n\n const formattedDate =\n date &&\n date.toLocaleDateString &&\n date.toLocaleDateString(locale, dateConfig as Intl.DateTimeFormatOptions);\n\n if (date && date.getTime && !isNaN(date.getTime())) {\n return formattedDate;\n }\n }\n\n private getIconTemplate(iconName: string): string {\n return `<i class=\"fa fa-${iconName}\"></i>`;\n }\n\n private suppressTab(params: SuppressKeyboardEventParams): boolean {\n if (params.event.code === 'Tab') {\n if (params.editing) {\n const currentlyFocusedEl =\n this.agGridAdapterService.getFocusedElement();\n // inline cell editors have the 'ag-cell' class, while popup editors have the 'ag-popup-editor' class\n const cellEl = this.agGridAdapterService.getElementOrParentWithClass(\n currentlyFocusedEl,\n 'ag-cell'\n );\n const popupEl = this.agGridAdapterService.getElementOrParentWithClass(\n currentlyFocusedEl,\n 'ag-popup-editor'\n );\n const parentEl = cellEl || popupEl;\n\n const nextFocusableElementInCell =\n this.agGridAdapterService.getNextFocusableElement(\n currentlyFocusedEl,\n parentEl,\n params.event.shiftKey\n );\n return !!nextFocusableElementInCell;\n }\n return true;\n }\n return false;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"ag-grid.service.js","sourceRoot":"","sources":["../../../../../../../../libs/components/ag-grid/src/lib/modules/ag-grid/ag-grid.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { Injectable, OnDestroy, Optional } from '@angular/core';\nimport { SkyLibResourcesService } from '@skyux/i18n';\nimport { SkyThemeService, SkyThemeSettings } from '@skyux/theme';\n\nimport {\n CellClassParams,\n GridOptions,\n ICellRendererParams,\n RowClassParams,\n SuppressKeyboardEventParams,\n ValueFormatterParams,\n} from 'ag-grid-community';\nimport { EditableCallbackParams } from 'ag-grid-community/dist/lib/entities/colDef';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { SkyAgGridAdapterService } from './ag-grid-adapter.service';\nimport { applySkyLookupPropertiesDefaults } from './apply-lookup-properties-defaults';\nimport { SkyAgGridCellEditorAutocompleteComponent } from './cell-editors/cell-editor-autocomplete/cell-editor-autocomplete.component';\nimport { SkyAgGridCellEditorCurrencyComponent } from './cell-editors/cell-editor-currency/cell-editor-currency.component';\nimport { SkyAgGridCellEditorDatepickerComponent } from './cell-editors/cell-editor-datepicker/cell-editor-datepicker.component';\nimport { SkyAgGridCellEditorLookupComponent } from './cell-editors/cell-editor-lookup/cell-editor-lookup.component';\nimport { SkyAgGridCellEditorNumberComponent } from './cell-editors/cell-editor-number/cell-editor-number.component';\nimport { SkyAgGridCellEditorTextComponent } from './cell-editors/cell-editor-text/cell-editor-text.component';\nimport { SkyAgGridCellRendererCurrencyValidatorComponent } from './cell-renderers/cell-renderer-currency/cell-renderer-currency-validator.component';\nimport { SkyAgGridCellRendererCurrencyComponent } from './cell-renderers/cell-renderer-currency/cell-renderer-currency.component';\nimport { SkyAgGridCellRendererLookupComponent } from './cell-renderers/cell-renderer-lookup/cell-renderer-lookup.component';\nimport { SkyAgGridCellRendererRowSelectorComponent } from './cell-renderers/cell-renderer-row-selector/cell-renderer-row-selector.component';\nimport { SkyAgGridCellRendererValidatorTooltipComponent } from './cell-renderers/cell-renderer-validator-tooltip/cell-renderer-validator-tooltip.component';\nimport { SkyCellClass } from './types/cell-class';\nimport { SkyCellType } from './types/cell-type';\nimport { SkyHeaderClass } from './types/header-class';\nimport { SkyGetGridOptionsArgs } from './types/sky-grid-options';\n\nfunction autocompleteComparator(\n value1: { name: string },\n value2: { name: string }\n): number {\n if (value1 && value2) {\n if (value1.name > value2.name) {\n return 1;\n }\n\n if (value1.name < value2.name) {\n return -1;\n }\n\n return 0;\n }\n\n return value1 ? 1 : -1;\n}\n\nfunction autocompleteFormatter(\n params: ValueFormatterParams\n): string | undefined {\n return params.value && params.value.name;\n}\n\nfunction dateComparator(date1: any, date2: any): number {\n let date1value = date1;\n let date2value = date2;\n\n if (typeof date1value === 'string') {\n date1value = new Date(date1);\n }\n\n if (typeof date2value === 'string') {\n date2value = new Date(date2);\n }\n\n if (date1value && date2value) {\n if (date1value > date2value) {\n return 1;\n }\n\n if (date1value < date2value) {\n return -1;\n }\n\n return 0;\n }\n\n return date1value ? 1 : -1;\n}\n\nfunction getValidatorCellRendererSelector(component: string, fallback?: any) {\n return (params: ICellRendererParams) => {\n if (\n params.colDef &&\n typeof params.colDef.cellRendererParams?.skyComponentProperties\n ?.validator === 'function'\n ) {\n if (\n !params.colDef.cellRendererParams.skyComponentProperties.validator(\n params.value,\n params.data,\n params.rowIndex\n )\n ) {\n return {\n component,\n params: {\n ...params.colDef.cellRendererParams,\n },\n };\n }\n }\n return fallback;\n };\n}\n\nlet rowNodeId = -1;\n\n/**\n * `SkyAgGridService` provides methods to get AG Grid `gridOptions` to ensure grids match SKY UX functionality. The `gridOptions` can be overridden, and include registered SKY UX column types.\n */\n@Injectable({\n providedIn: 'any',\n})\nexport class SkyAgGridService implements OnDestroy {\n /**\n * @internal\n */\n public currentTheme: SkyThemeSettings;\n private ngUnsubscribe = new Subject();\n\n constructor(\n private agGridAdapterService: SkyAgGridAdapterService,\n @Optional() private themeSvc?: SkyThemeService,\n @Optional() private resources?: SkyLibResourcesService\n ) {\n /*istanbul ignore else*/\n if (this.themeSvc) {\n this.themeSvc.settingsChange\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe(\n (settingsChange) =>\n (this.currentTheme = settingsChange.currentSettings)\n );\n }\n }\n\n public ngOnDestroy() {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n\n /**\n * Returns [AG Grid `gridOptions`](https://www.ag-grid.com/javascript-grid-properties/) with default SKY UX options, styling, and cell renderers registered for read-only grids.\n * @param args\n * @returns\n */\n public getGridOptions(args: SkyGetGridOptionsArgs): GridOptions {\n const defaultGridOptions = this.getDefaultGridOptions(args);\n const mergedGridOptions = this.mergeGridOptions(\n defaultGridOptions,\n args.gridOptions\n );\n\n return mergedGridOptions;\n }\n\n /**\n * Returns [AG Grid `gridOptions`](https://www.ag-grid.com/javascript-grid-properties/) with default SKY UX options, styling, and cell editors registered for editable grids.\n * @param args\n * @returns\n */\n public getEditableGridOptions(args: SkyGetGridOptionsArgs): GridOptions {\n const defaultGridOptions = this.getDefaultEditableGridOptions(args);\n const mergedGridOptions = this.mergeGridOptions(\n defaultGridOptions,\n args.gridOptions\n );\n\n return mergedGridOptions;\n }\n\n private mergeGridOptions(\n defaultGridOptions: GridOptions,\n providedGridOptions: GridOptions\n ): GridOptions {\n const mergedGridOptions = {\n ...defaultGridOptions,\n ...providedGridOptions,\n columnTypes: {\n ...providedGridOptions.columnTypes,\n // apply default second to prevent consumers from overwriting our default column types\n ...defaultGridOptions.columnTypes,\n },\n defaultColDef: {\n ...defaultGridOptions.defaultColDef,\n ...providedGridOptions.defaultColDef,\n // allow consumers to override all defaultColDef properties except cellClassRules, which we reserve for styling\n cellClassRules: defaultGridOptions.defaultColDef.cellClassRules,\n },\n icons: {\n ...defaultGridOptions.icons,\n ...providedGridOptions.icons,\n },\n };\n\n return mergedGridOptions;\n }\n\n private getDefaultGridOptions(args: SkyGetGridOptionsArgs): GridOptions {\n // cellClassRules can be functions or string expressions\n const cellClassRuleTrueExpression = 'true';\n\n function getEditableFn(\n isUneditable?: boolean\n ): (params: CellClassParams) => boolean {\n return function (params: CellClassParams): boolean {\n let isEditable = params.colDef.editable;\n\n if (typeof isEditable === 'function') {\n const column = params.columnApi.getColumn(params.colDef.field);\n isEditable = isEditable({\n ...params,\n column,\n } as EditableCallbackParams);\n }\n\n return isUneditable ? !isEditable : isEditable;\n };\n }\n\n const editableCellClassRules = {\n [SkyCellClass.Editable]: getEditableFn(),\n [SkyCellClass.Uneditable]: getEditableFn(true),\n };\n\n function getValidatorFn(): (params: CellClassParams) => boolean {\n return function (param: CellClassParams) {\n if (\n param.colDef &&\n typeof param.colDef.cellRendererParams?.skyComponentProperties\n ?.validator === 'function'\n ) {\n return !param.colDef.cellRendererParams.skyComponentProperties.validator(\n param.value,\n param.data,\n param.rowIndex\n );\n }\n return false;\n };\n }\n\n const validatorCellClassRules = {\n [SkyCellClass.Invalid]: getValidatorFn(),\n };\n\n const defaultSkyGridOptions: GridOptions = {\n columnTypes: {\n [SkyCellType.Autocomplete]: {\n cellClassRules: {\n [SkyCellClass.Autocomplete]: cellClassRuleTrueExpression,\n ...editableCellClassRules,\n },\n cellEditorFramework: SkyAgGridCellEditorAutocompleteComponent,\n valueFormatter: autocompleteFormatter,\n comparator: autocompleteComparator,\n minWidth: 185,\n },\n [SkyCellType.Currency]: {\n cellClassRules: {\n [SkyCellClass.Currency]: cellClassRuleTrueExpression,\n ...validatorCellClassRules,\n ...editableCellClassRules,\n },\n cellRendererSelector: getValidatorCellRendererSelector(\n 'sky-ag-grid-cell-renderer-currency-validator',\n { component: 'sky-ag-grid-cell-renderer-currency' }\n ),\n cellEditorFramework: SkyAgGridCellEditorCurrencyComponent,\n headerClass: SkyHeaderClass.RightAligned,\n minWidth: 185,\n },\n [SkyCellType.Date]: {\n cellClassRules: {\n [SkyCellClass.Date]: cellClassRuleTrueExpression,\n ...editableCellClassRules,\n },\n cellEditorFramework: SkyAgGridCellEditorDatepickerComponent,\n comparator: dateComparator,\n minWidth: this.currentTheme?.theme?.name === 'modern' ? 180 : 160,\n valueFormatter: (params: ValueFormatterParams) =>\n this.dateFormatter(params, args.locale),\n },\n [SkyCellType.Lookup]: {\n cellClassRules: {\n [SkyCellClass.Lookup]: cellClassRuleTrueExpression,\n ...editableCellClassRules,\n },\n cellEditorFramework: SkyAgGridCellEditorLookupComponent,\n cellRendererFramework: SkyAgGridCellRendererLookupComponent,\n valueFormatter: (params) => {\n const lookupProperties = applySkyLookupPropertiesDefaults(params);\n return (params.value || [])\n .map((value) => {\n return value[lookupProperties.descriptorProperty];\n })\n .filter((value) => value !== '' && value !== undefined)\n .join('; ');\n },\n minWidth: 185,\n },\n [SkyCellType.Number]: {\n cellClassRules: {\n [SkyCellClass.Number]: cellClassRuleTrueExpression,\n ...validatorCellClassRules,\n ...editableCellClassRules,\n },\n cellRendererSelector: getValidatorCellRendererSelector(\n 'sky-ag-grid-cell-renderer-validator-tooltip'\n ),\n cellEditorFramework: SkyAgGridCellEditorNumberComponent,\n headerClass: SkyHeaderClass.RightAligned,\n },\n [SkyCellType.RowSelector]: {\n cellClassRules: {\n [SkyCellClass.RowSelector]: cellClassRuleTrueExpression,\n [SkyCellClass.Uneditable]: cellClassRuleTrueExpression,\n },\n cellRendererFramework: SkyAgGridCellRendererRowSelectorComponent,\n headerName: '',\n minWidth: 55,\n maxWidth: 55,\n sortable: false,\n width: 55,\n },\n [SkyCellType.Text]: {\n cellClassRules: {\n [SkyCellClass.Text]: cellClassRuleTrueExpression,\n ...validatorCellClassRules,\n ...editableCellClassRules,\n },\n cellEditorFramework: SkyAgGridCellEditorTextComponent,\n cellRendererSelector: getValidatorCellRendererSelector(\n 'sky-ag-grid-cell-renderer-validator-tooltip'\n ),\n },\n [SkyCellType.Validator]: {\n cellClassRules: {\n ...validatorCellClassRules,\n ...editableCellClassRules,\n },\n cellRendererSelector: getValidatorCellRendererSelector(\n 'sky-ag-grid-cell-renderer-validator-tooltip'\n ),\n },\n },\n defaultColDef: {\n cellClassRules: editableCellClassRules,\n minWidth: 100,\n resizable: true,\n sortable: true,\n suppressKeyboardEvent: (keypress: SuppressKeyboardEventParams) =>\n this.suppressTab(keypress),\n },\n domLayout: 'autoHeight',\n enterMovesDownAfterEdit: true,\n frameworkComponents: {\n 'sky-ag-grid-cell-renderer-currency':\n SkyAgGridCellRendererCurrencyComponent,\n 'sky-ag-grid-cell-renderer-currency-validator':\n SkyAgGridCellRendererCurrencyValidatorComponent,\n 'sky-ag-grid-cell-renderer-validator-tooltip':\n SkyAgGridCellRendererValidatorTooltipComponent,\n },\n getRowNodeId(data: any): string {\n if ('id' in data && data.id !== undefined) {\n return `${data.id}`;\n }\n return `${rowNodeId--}`;\n },\n getRowClass: (params: RowClassParams) => {\n if (params.node.id) {\n return `sky-ag-grid-row-${params.node.id}`;\n } else {\n return undefined;\n }\n },\n headerHeight: this.currentTheme?.theme?.name === 'modern' ? 60 : 37,\n icons: {\n sortDescending: this.getIconTemplate('caret-down'),\n sortAscending: this.getIconTemplate('caret-up'),\n columnMoveMove: this.getIconTemplate('arrows'),\n columnMoveHide: this.getIconTemplate('arrows'),\n columnMoveLeft: this.getIconTemplate('arrows'),\n columnMoveRight: this.getIconTemplate('arrows'),\n columnMovePin: this.getIconTemplate('arrows'),\n },\n onCellFocused: () => this.onCellFocused(),\n rowHeight: this.currentTheme?.theme?.name === 'modern' ? 60 : 38,\n rowMultiSelectWithClick: true,\n rowSelection: 'multiple',\n singleClickEdit: true,\n // tslint:disable-next-line: no-null-keyword\n sortingOrder: ['desc', 'asc', null],\n stopEditingWhenGridLosesFocus: false,\n suppressRowClickSelection: true,\n suppressDragLeaveHidesColumns: true,\n };\n\n defaultSkyGridOptions.columnTypes[SkyCellType.CurrencyValidator] = {\n ...defaultSkyGridOptions.columnTypes[SkyCellType.Currency],\n cellRendererParams: {\n skyComponentProperties: {\n validator: (value: any, data: any, rowIndex: number) => {\n return !!`${value || ''}`.match(/^[^0-9]*(\\d+[,.]?)+\\d*[^0-9]*$/);\n },\n validatorMessage: 'Please enter a valid currency',\n },\n },\n };\n /*istanbul ignore else*/\n if (this.resources) {\n this.resources\n .getString('sky_ag_grid_cell_renderer_currency_validator_message')\n .subscribe((value) => {\n defaultSkyGridOptions.columnTypes[\n SkyCellType.CurrencyValidator\n ].cellRendererParams.skyComponentProperties.validatorMessage = value;\n });\n }\n\n defaultSkyGridOptions.columnTypes[SkyCellType.NumberValidator] = {\n ...defaultSkyGridOptions.columnTypes[SkyCellType.Validator],\n ...defaultSkyGridOptions.columnTypes[SkyCellType.Number],\n cellClassRules: {\n ...defaultSkyGridOptions.columnTypes[SkyCellType.Validator]\n .cellClassRules,\n ...defaultSkyGridOptions.columnTypes[SkyCellType.Number].cellClassRules,\n },\n cellRendererParams: {\n skyComponentProperties: {\n validator: (value: any, data: any, rowIndex: number) => {\n return !!value && !isNaN(parseFloat(value));\n },\n validatorMessage: 'Please enter a valid number',\n },\n },\n };\n /*istanbul ignore else*/\n if (this.resources) {\n this.resources\n .getString('sky_ag_grid_cell_renderer_number_validator_message')\n .subscribe((value) => {\n defaultSkyGridOptions.columnTypes[\n SkyCellType.NumberValidator\n ].cellRendererParams.skyComponentProperties.validatorMessage = value;\n });\n }\n\n return defaultSkyGridOptions;\n }\n\n private onCellFocused(): void {\n const currentElement = this.agGridAdapterService.getFocusedElement();\n\n this.agGridAdapterService.focusOnFocusableChildren(currentElement);\n }\n\n private getDefaultEditableGridOptions(\n args: SkyGetGridOptionsArgs\n ): GridOptions {\n const defaultGridOptions = this.getDefaultGridOptions(args);\n\n defaultGridOptions.rowSelection = 'none';\n\n return defaultGridOptions;\n }\n\n private dateFormatter(\n params: ValueFormatterParams,\n locale: string = 'en-us'\n ): string | undefined {\n const dateConfig = { year: 'numeric', month: '2-digit', day: '2-digit' };\n let date: Date = params.value;\n\n if (date && typeof date === 'string') {\n date = new Date(params.value);\n }\n\n const formattedDate =\n date &&\n date.toLocaleDateString &&\n date.toLocaleDateString(locale, dateConfig as Intl.DateTimeFormatOptions);\n\n if (date && date.getTime && !isNaN(date.getTime())) {\n return formattedDate;\n }\n }\n\n private getIconTemplate(iconName: string): string {\n return `<i class=\"fa fa-${iconName}\"></i>`;\n }\n\n private suppressTab(params: SuppressKeyboardEventParams): boolean {\n if (params.event.code === 'Tab') {\n if (params.editing) {\n const currentlyFocusedEl =\n this.agGridAdapterService.getFocusedElement();\n // inline cell editors have the 'ag-cell' class, while popup editors have the 'ag-popup-editor' class\n const cellEl = this.agGridAdapterService.getElementOrParentWithClass(\n currentlyFocusedEl,\n 'ag-cell'\n );\n const popupEl = this.agGridAdapterService.getElementOrParentWithClass(\n currentlyFocusedEl,\n 'ag-popup-editor'\n );\n const parentEl = cellEl || popupEl;\n\n const nextFocusableElementInCell =\n this.agGridAdapterService.getNextFocusableElement(\n currentlyFocusedEl,\n parentEl,\n params.event.shiftKey\n );\n return !!nextFocusableElementInCell;\n }\n return true;\n }\n return false;\n }\n}\n"]}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @internal
|
|
3
|
+
*/
|
|
4
|
+
export function applySkyLookupPropertiesDefaults(skyLookupProperties) {
|
|
5
|
+
return {
|
|
6
|
+
addClick: skyLookupProperties.addClick || undefined,
|
|
7
|
+
ariaLabel: skyLookupProperties.ariaLabel || '',
|
|
8
|
+
autocompleteAttribute: skyLookupProperties.autocompleteAttribute || 'off',
|
|
9
|
+
data: skyLookupProperties.data || [],
|
|
10
|
+
debounceTime: skyLookupProperties.debounceTime || 0,
|
|
11
|
+
descriptorProperty: skyLookupProperties.descriptorProperty || 'name',
|
|
12
|
+
disabled: skyLookupProperties.disabled || false,
|
|
13
|
+
enableShowMore: skyLookupProperties.enableShowMore || false,
|
|
14
|
+
idProperty: skyLookupProperties.idProperty || undefined,
|
|
15
|
+
placeholderText: skyLookupProperties.placeholderText || '',
|
|
16
|
+
propertiesToSearch: skyLookupProperties.propertiesToSearch || undefined,
|
|
17
|
+
search: skyLookupProperties.search || undefined,
|
|
18
|
+
searchAsync: skyLookupProperties.searchAsync || undefined,
|
|
19
|
+
searchFilters: skyLookupProperties.searchFilters || [],
|
|
20
|
+
searchResultsLimit: skyLookupProperties.searchResultsLimit || undefined,
|
|
21
|
+
searchResultTemplate: skyLookupProperties.searchResultTemplate || undefined,
|
|
22
|
+
searchTextMinimumCharacters: skyLookupProperties.searchTextMinimumCharacters || 1,
|
|
23
|
+
selectMode: skyLookupProperties.selectMode || undefined,
|
|
24
|
+
showAddButton: skyLookupProperties.showAddButton || false,
|
|
25
|
+
showMoreConfig: skyLookupProperties.showMoreConfig || {},
|
|
26
|
+
wrapperClass: 'ag-custom-component-popup',
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=apply-lookup-properties-defaults.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apply-lookup-properties-defaults.js","sourceRoot":"","sources":["../../../../../../../../libs/components/ag-grid/src/lib/modules/ag-grid/apply-lookup-properties-defaults.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,UAAU,gCAAgC,CAC9C,mBAA8C;IAE9C,OAAO;QACL,QAAQ,EAAE,mBAAmB,CAAC,QAAQ,IAAI,SAAS;QACnD,SAAS,EAAE,mBAAmB,CAAC,SAAS,IAAI,EAAE;QAC9C,qBAAqB,EAAE,mBAAmB,CAAC,qBAAqB,IAAI,KAAK;QACzE,IAAI,EAAE,mBAAmB,CAAC,IAAI,IAAI,EAAE;QACpC,YAAY,EAAE,mBAAmB,CAAC,YAAY,IAAI,CAAC;QACnD,kBAAkB,EAAE,mBAAmB,CAAC,kBAAkB,IAAI,MAAM;QACpE,QAAQ,EAAE,mBAAmB,CAAC,QAAQ,IAAI,KAAK;QAC/C,cAAc,EAAE,mBAAmB,CAAC,cAAc,IAAI,KAAK;QAC3D,UAAU,EAAE,mBAAmB,CAAC,UAAU,IAAI,SAAS;QACvD,eAAe,EAAE,mBAAmB,CAAC,eAAe,IAAI,EAAE;QAC1D,kBAAkB,EAAE,mBAAmB,CAAC,kBAAkB,IAAI,SAAS;QACvE,MAAM,EAAE,mBAAmB,CAAC,MAAM,IAAI,SAAS;QAC/C,WAAW,EAAE,mBAAmB,CAAC,WAAW,IAAI,SAAS;QACzD,aAAa,EAAE,mBAAmB,CAAC,aAAa,IAAI,EAAE;QACtD,kBAAkB,EAAE,mBAAmB,CAAC,kBAAkB,IAAI,SAAS;QACvE,oBAAoB,EAAE,mBAAmB,CAAC,oBAAoB,IAAI,SAAS;QAC3E,2BAA2B,EACzB,mBAAmB,CAAC,2BAA2B,IAAI,CAAC;QACtD,UAAU,EAAE,mBAAmB,CAAC,UAAU,IAAI,SAAS;QACvD,aAAa,EAAE,mBAAmB,CAAC,aAAa,IAAI,KAAK;QACzD,cAAc,EAAE,mBAAmB,CAAC,cAAc,IAAI,EAAE;QACxD,YAAY,EAAE,2BAA2B;KAC1C,CAAC;AACJ,CAAC","sourcesContent":["import { SkyAgGridLookupProperties } from './types/lookup-properties';\n\n/**\n * @internal\n */\nexport function applySkyLookupPropertiesDefaults(\n skyLookupProperties: SkyAgGridLookupProperties\n) {\n return {\n addClick: skyLookupProperties.addClick || undefined,\n ariaLabel: skyLookupProperties.ariaLabel || '',\n autocompleteAttribute: skyLookupProperties.autocompleteAttribute || 'off',\n data: skyLookupProperties.data || [],\n debounceTime: skyLookupProperties.debounceTime || 0,\n descriptorProperty: skyLookupProperties.descriptorProperty || 'name',\n disabled: skyLookupProperties.disabled || false,\n enableShowMore: skyLookupProperties.enableShowMore || false,\n idProperty: skyLookupProperties.idProperty || undefined,\n placeholderText: skyLookupProperties.placeholderText || '',\n propertiesToSearch: skyLookupProperties.propertiesToSearch || undefined,\n search: skyLookupProperties.search || undefined,\n searchAsync: skyLookupProperties.searchAsync || undefined,\n searchFilters: skyLookupProperties.searchFilters || [],\n searchResultsLimit: skyLookupProperties.searchResultsLimit || undefined,\n searchResultTemplate: skyLookupProperties.searchResultTemplate || undefined,\n searchTextMinimumCharacters:\n skyLookupProperties.searchTextMinimumCharacters || 1,\n selectMode: skyLookupProperties.selectMode || undefined,\n showAddButton: skyLookupProperties.showAddButton || false,\n showMoreConfig: skyLookupProperties.showMoreConfig || {},\n wrapperClass: 'ag-custom-component-popup',\n };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cell-editor-autocomplete.component.js","sourceRoot":"","sources":["../../../../../../../../../../libs/components/ag-grid/src/lib/modules/ag-grid/cell-editors/cell-editor-autocomplete/cell-editor-autocomplete.component.ts","../../../../../../../../../../libs/components/ag-grid/src/lib/modules/ag-grid/cell-editors/cell-editor-autocomplete/cell-editor-autocomplete.component.html"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,SAAS,EACT,UAAU,EACV,SAAS,GACV,MAAM,eAAe,CAAC;;;;;AAOvB;;GAEG;AAOH,MAAM,OAAO,wCAAwC;IANrD;QAYS,2BAAsB,
|
|
1
|
+
{"version":3,"file":"cell-editor-autocomplete.component.js","sourceRoot":"","sources":["../../../../../../../../../../libs/components/ag-grid/src/lib/modules/ag-grid/cell-editors/cell-editor-autocomplete/cell-editor-autocomplete.component.ts","../../../../../../../../../../libs/components/ag-grid/src/lib/modules/ag-grid/cell-editors/cell-editor-autocomplete/cell-editor-autocomplete.component.html"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,SAAS,EACT,UAAU,EACV,SAAS,GACV,MAAM,eAAe,CAAC;;;;;AAOvB;;GAEG;AAOH,MAAM,OAAO,wCAAwC;IANrD;QAYS,2BAAsB,GAAoC,EAAE,CAAC;KAqBrE;IAfQ,MAAM,CAAC,MAAuC;QACnD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAC1C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC;QACxE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC;QAC1C,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,MAAM,CAAC,sBAAsB,IAAI,EAAE,CAAC;IACzE,CAAC;IAEM,gBAAgB;QACrB,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IACnC,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;;sIA1BU,wCAAwC;0HAAxC,wCAAwC,2KASH,UAAU,6BC9B5D,8nCA8BA;4FDTa,wCAAwC;kBANpD,SAAS;mBAAC;oBACT,QAAQ,EAAE,sCAAsC;oBAChD,WAAW,EAAE,2CAA2C;oBACxD,SAAS,EAAE,CAAC,2CAA2C,CAAC;oBACxD,eAAe,EAAE,uBAAuB,CAAC,MAAM;iBAChD;8BAWQ,KAAK;sBADX,SAAS;uBAAC,2BAA2B,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE","sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n ViewChild,\n} from '@angular/core';\n\nimport { ICellEditorAngularComp } from 'ag-grid-angular';\n\nimport { SkyAgGridAutocompleteProperties } from '../../types/autocomplete-properties';\nimport { SkyCellEditorAutocompleteParams } from '../../types/cell-editor-autocomplete-params';\n\n/**\n * @internal\n */\n@Component({\n selector: 'sky-ag-grid-cell-editor-autocomplete',\n templateUrl: './cell-editor-autocomplete.component.html',\n styleUrls: ['./cell-editor-autocomplete.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyAgGridCellEditorAutocompleteComponent\n implements ICellEditorAngularComp\n{\n public currentSelection: any;\n public columnHeader: string;\n public rowNumber: number;\n public skyComponentProperties: SkyAgGridAutocompleteProperties = {};\n private params: SkyCellEditorAutocompleteParams;\n\n @ViewChild('skyCellEditorAutocomplete', { read: ElementRef })\n public input: ElementRef;\n\n public agInit(params: SkyCellEditorAutocompleteParams) {\n this.params = params;\n this.currentSelection = this.params.value;\n this.columnHeader = this.params.colDef && this.params.colDef.headerName;\n this.rowNumber = this.params.rowIndex + 1;\n this.skyComponentProperties = this.params.skyComponentProperties || {};\n }\n\n public afterGuiAttached(): void {\n this.input.nativeElement.focus();\n }\n\n public getValue(): any {\n return this.currentSelection;\n }\n}\n","<div class=\"sky-ag-grid-cell-editor-autocomplete\">\n <sky-autocomplete\n [data]=\"skyComponentProperties.data\"\n [debounceTime]=\"skyComponentProperties.debounceTime\"\n [descriptorProperty]=\"skyComponentProperties.descriptorProperty\"\n [propertiesToSearch]=\"skyComponentProperties.propertiesToSearch\"\n [search]=\"skyComponentProperties.search\"\n [searchFilters]=\"skyComponentProperties.searchFilters\"\n [searchResultsLimit]=\"skyComponentProperties.searchResultsLimit\"\n [searchResultTemplate]=\"skyComponentProperties.searchResultTemplate\"\n [searchTextMinimumCharacters]=\"\n skyComponentProperties.searchTextMinimumCharacters\n \"\n (selectionChange)=\"\n skyComponentProperties.selectionChange &&\n skyComponentProperties.selectionChange($event)\n \"\n >\n <input\n skyAutocomplete\n #skyCellEditorAutocomplete\n type=\"text\"\n [(ngModel)]=\"currentSelection\"\n [attr.aria-label]=\"\n 'sky_ag_grid_cell_editor_autocomplete_aria_label'\n | skyLibResources: columnHeader:rowNumber\n \"\n />\n </sky-autocomplete>\n</div>\n"]}
|
|
@@ -39,9 +39,16 @@ export class SkyAgGridCellEditorCurrencyComponent {
|
|
|
39
39
|
getValue() {
|
|
40
40
|
return this.value;
|
|
41
41
|
}
|
|
42
|
+
/**
|
|
43
|
+
* The autoNumeric library's event handler suppresses the escape key event. This additional handler re-enables AG Grid's default functionality.
|
|
44
|
+
*/
|
|
45
|
+
onPressEscape() {
|
|
46
|
+
this.params.api.stopEditing(true);
|
|
47
|
+
this.params.api.setFocusedCell(this.params.rowIndex, this.params.column);
|
|
48
|
+
}
|
|
42
49
|
}
|
|
43
50
|
SkyAgGridCellEditorCurrencyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyAgGridCellEditorCurrencyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
44
|
-
SkyAgGridCellEditorCurrencyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: SkyAgGridCellEditorCurrencyComponent, selector: "sky-ag-grid-cell-editor-currency", viewQueries: [{ propertyName: "input", first: true, predicate: ["skyCellEditorCurrency"], descendants: true, read: ElementRef }], ngImport: i0, template: "<input\n type=\"text\"\n [attr.aria-label]=\"\n 'sky_ag_grid_cell_editor_currency_aria_label'\n | skyLibResources: columnHeader:rowNumber\n \"\n [style.width.px]=\"columnWidth\"\n [style.height.px]=\"rowHeightWithoutBorders\"\n [(ngModel)]=\"value\"\n [skyAutonumeric]=\"skyComponentProperties\"\n #skyCellEditorCurrency\n/>\n", styles: ["input{border:none;padding-left:11px}\n"], directives: [{ type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i2.λ1, selector: "input[skyAutonumeric]", inputs: ["skyAutonumeric"] }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "skyLibResources": i3.SkyLibResourcesPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
51
|
+
SkyAgGridCellEditorCurrencyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: SkyAgGridCellEditorCurrencyComponent, selector: "sky-ag-grid-cell-editor-currency", viewQueries: [{ propertyName: "input", first: true, predicate: ["skyCellEditorCurrency"], descendants: true, read: ElementRef }], ngImport: i0, template: "<input\n type=\"text\"\n [attr.aria-label]=\"\n 'sky_ag_grid_cell_editor_currency_aria_label'\n | skyLibResources: columnHeader:rowNumber\n \"\n [style.width.px]=\"columnWidth\"\n [style.height.px]=\"rowHeightWithoutBorders\"\n [(ngModel)]=\"value\"\n [skyAutonumeric]=\"skyComponentProperties\"\n (keyup.escape)=\"onPressEscape()\"\n #skyCellEditorCurrency\n/>\n", styles: ["input{border:none;padding-left:11px}\n"], directives: [{ type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i2.λ1, selector: "input[skyAutonumeric]", inputs: ["skyAutonumeric"] }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "skyLibResources": i3.SkyLibResourcesPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
45
52
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyAgGridCellEditorCurrencyComponent, decorators: [{
|
|
46
53
|
type: Component,
|
|
47
54
|
args: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cell-editor-currency.component.js","sourceRoot":"","sources":["../../../../../../../../../../libs/components/ag-grid/src/lib/modules/ag-grid/cell-editors/cell-editor-currency/cell-editor-currency.component.ts","../../../../../../../../../../libs/components/ag-grid/src/lib/modules/ag-grid/cell-editors/cell-editor-currency/cell-editor-currency.component.html"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,SAAS,EACT,UAAU,EACV,SAAS,GACV,MAAM,eAAe,CAAC;;;;;AAOvB;;GAEG;AAOH,MAAM,OAAO,oCAAoC;IANjD;QAUS,2BAAsB,
|
|
1
|
+
{"version":3,"file":"cell-editor-currency.component.js","sourceRoot":"","sources":["../../../../../../../../../../libs/components/ag-grid/src/lib/modules/ag-grid/cell-editors/cell-editor-currency/cell-editor-currency.component.ts","../../../../../../../../../../libs/components/ag-grid/src/lib/modules/ag-grid/cell-editors/cell-editor-currency/cell-editor-currency.component.html"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,SAAS,EACT,UAAU,EACV,SAAS,GACV,MAAM,eAAe,CAAC;;;;;AAOvB;;GAEG;AAOH,MAAM,OAAO,oCAAoC;IANjD;QAUS,2BAAsB,GAAgC,EAAE,CAAC;KAkDjE;IAvCC;;;OAGG;IACI,MAAM,CAAC,MAAmC;QAC/C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAC/B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC;QAClD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC;QAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;QACvD,IAAI,CAAC,uBAAuB;YAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACrD,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,MAAM,CAAC,sBAAsB,IAAI;YAClE,aAAa,EAAE,CAAC;YAChB,cAAc,EAAE,GAAG;SACpB,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,gBAAgB;QACrB,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IACnC,CAAC;IAED;;OAEG;IACI,QAAQ;QACb,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;OAEG;IACI,aAAa;QAClB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC3E,CAAC;;kIArDU,oCAAoC;sHAApC,oCAAoC,mKAYH,UAAU,6BCjCxD,8XAaA;4FDQa,oCAAoC;kBANhD,SAAS;mBAAC;oBACT,QAAQ,EAAE,kCAAkC;oBAC5C,WAAW,EAAE,uCAAuC;oBACpD,SAAS,EAAE,CAAC,uCAAuC,CAAC;oBACpD,eAAe,EAAE,uBAAuB,CAAC,MAAM;iBAChD;8BAcS,KAAK;sBADZ,SAAS;uBAAC,uBAAuB,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE","sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n ViewChild,\n} from '@angular/core';\n\nimport { ICellEditorAngularComp } from 'ag-grid-angular';\n\nimport { SkyCellEditorCurrencyParams } from '../../types/cell-editor-currency-params';\nimport { SkyAgGridCurrencyProperties } from '../../types/currency-properties';\n\n/**\n * @internal\n */\n@Component({\n selector: 'sky-ag-grid-cell-editor-currency',\n templateUrl: './cell-editor-currency.component.html',\n styleUrls: ['./cell-editor-currency.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyAgGridCellEditorCurrencyComponent\n implements ICellEditorAngularComp\n{\n public value: number;\n public skyComponentProperties: SkyAgGridCurrencyProperties = {};\n public columnHeader: string;\n public columnWidth: number;\n public rowHeightWithoutBorders: number;\n public rowNumber: number;\n\n private params: SkyCellEditorCurrencyParams;\n\n @ViewChild('skyCellEditorCurrency', { read: ElementRef })\n private input: ElementRef;\n\n /**\n * agInit is called by agGrid once after the editor is created and provides the editor with the information it needs.\n * @param params The cell editor params that include data about the cell, column, row, and grid.\n */\n public agInit(params: SkyCellEditorCurrencyParams): void {\n this.params = params;\n this.value = this.params.value;\n this.columnHeader = this.params.colDef.headerName;\n this.rowNumber = this.params.rowIndex + 1;\n this.columnWidth = this.params.column.getActualWidth();\n this.rowHeightWithoutBorders =\n this.params.node && this.params.node.rowHeight - 4;\n this.skyComponentProperties = this.params.skyComponentProperties || {\n decimalPlaces: 2,\n currencySymbol: '$',\n };\n }\n\n /**\n * afterGuiAttached is called by agGrid after the editor is rendered in the DOM. Once it is attached the editor is ready to be focused on.\n */\n public afterGuiAttached(): void {\n this.input.nativeElement.focus();\n }\n\n /**\n * getValue is called by agGrid when editing is stopped to get the new value of the cell.\n */\n public getValue(): number {\n return this.value;\n }\n\n /**\n * The autoNumeric library's event handler suppresses the escape key event. This additional handler re-enables AG Grid's default functionality.\n */\n public onPressEscape() {\n this.params.api.stopEditing(true);\n this.params.api.setFocusedCell(this.params.rowIndex, this.params.column);\n }\n}\n","<input\n type=\"text\"\n [attr.aria-label]=\"\n 'sky_ag_grid_cell_editor_currency_aria_label'\n | skyLibResources: columnHeader:rowNumber\n \"\n [style.width.px]=\"columnWidth\"\n [style.height.px]=\"rowHeightWithoutBorders\"\n [(ngModel)]=\"value\"\n [skyAutonumeric]=\"skyComponentProperties\"\n (keyup.escape)=\"onPressEscape()\"\n #skyCellEditorCurrency\n/>\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cell-editor-datepicker.component.js","sourceRoot":"","sources":["../../../../../../../../../../libs/components/ag-grid/src/lib/modules/ag-grid/cell-editors/cell-editor-datepicker/cell-editor-datepicker.component.ts","../../../../../../../../../../libs/components/ag-grid/src/lib/modules/ag-grid/cell-editors/cell-editor-datepicker/cell-editor-datepicker.component.html"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,SAAS,EACT,UAAU,EACV,QAAQ,EACR,SAAS,EACT,iBAAiB,GAClB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAG/C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;;;;;AAKnD;;GAEG;AAQH,MAAM,OAAO,sCACX,SAAQ,cAAc;IAatB,YAAgC,QAA0B;QACxD,KAAK,EAAE,CAAC;QADsB,aAAQ,GAAR,QAAQ,CAAkB;QANnD,2BAAsB,
|
|
1
|
+
{"version":3,"file":"cell-editor-datepicker.component.js","sourceRoot":"","sources":["../../../../../../../../../../libs/components/ag-grid/src/lib/modules/ag-grid/cell-editors/cell-editor-datepicker/cell-editor-datepicker.component.ts","../../../../../../../../../../libs/components/ag-grid/src/lib/modules/ag-grid/cell-editors/cell-editor-datepicker/cell-editor-datepicker.component.html"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,SAAS,EACT,UAAU,EACV,QAAQ,EACR,SAAS,EACT,iBAAiB,GAClB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAG/C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;;;;;AAKnD;;GAEG;AAQH,MAAM,OAAO,sCACX,SAAQ,cAAc;IAatB,YAAgC,QAA0B;QACxD,KAAK,EAAE,CAAC;QADsB,aAAQ,GAAR,QAAQ,CAAkB;QANnD,2BAAsB,GAAkC,EAAE,CAAC;IAQlE,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,MAAqC;;QACjD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QACrC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,MAAM,CAAC,sBAAsB,IAAI,EAAE,CAAC;QACvE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;QACvD,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QACtD,IAAI,CAAC,uBAAuB;YAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACrD,MAAA,IAAI,CAAC,QAAQ,0CAAE,cAAc,CAAC,SAAS,CAAC,CAAC,aAAa,EAAE,EAAE;YACxD,IAAI,aAAa,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;gBACzD,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,WAAW,CAAC;gBAClD,IAAI,CAAC,uBAAuB;oBAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;aAClD;iBAAM;gBACL,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;gBACtD,IAAI,CAAC,uBAAuB;oBAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;aACtD;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACI,gBAAgB;QACrB,IAAI,CAAC,sBAAsB,EAAE,CAAC;IAChC,CAAC;IAED;;OAEG;IACI,QAAQ;QACb,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAEM,sBAAsB;QAC3B,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IAC7C,CAAC;;oIA5DU,sCAAsC;wHAAtC,sCAAsC,sLAWE,UAAU,oDCrC/D,ywBAsBA;4FDIa,sCAAsC;kBAPlD,SAAS;mBAAC;oBACT,QAAQ,EAAE,oCAAoC;oBAC9C,WAAW,EAAE,yCAAyC;oBACtD,SAAS,EAAE,CAAC,yCAAyC,CAAC;oBACtD,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;iBACtC;;0BAec,QAAQ;4CAFb,eAAe;sBADtB,SAAS;uBAAC,8BAA8B,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE","sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Optional,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { SkyThemeService } from '@skyux/theme';\n\nimport { ICellEditorAngularComp } from 'ag-grid-angular';\nimport { PopupComponent } from 'ag-grid-community';\n\nimport { SkyCellEditorDatepickerParams } from '../../types/cell-editor-datepicker-params';\nimport { SkyAgGridDatepickerProperties } from '../../types/datepicker-properties';\n\n/**\n * @internal\n */\n@Component({\n selector: 'sky-ag-grid-cell-editor-datepicker',\n templateUrl: './cell-editor-datepicker.component.html',\n styleUrls: ['./cell-editor-datepicker.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class SkyAgGridCellEditorDatepickerComponent\n extends PopupComponent\n implements ICellEditorAngularComp\n{\n public columnWidth: number;\n public currentDate: Date;\n public columnWidthWithoutBorders: number;\n public rowHeightWithoutBorders: number;\n public skyComponentProperties: SkyAgGridDatepickerProperties = {};\n private params: SkyCellEditorDatepickerParams;\n\n @ViewChild('skyCellEditorDatepickerInput', { read: ElementRef })\n private datepickerInput: ElementRef;\n\n constructor(@Optional() private themeSvc?: SkyThemeService) {\n super();\n }\n\n /**\n * agInit is called by agGrid once after the editor is created and provides the editor with the information it needs.\n * @param params The cell editor params that include data about the cell, column, row, and grid.\n */\n public agInit(params: SkyCellEditorDatepickerParams): void {\n this.params = params;\n this.currentDate = this.params.value;\n this.skyComponentProperties = this.params.skyComponentProperties || {};\n this.columnWidth = this.params.column.getActualWidth();\n this.columnWidthWithoutBorders = this.columnWidth - 2;\n this.rowHeightWithoutBorders =\n this.params.node && this.params.node.rowHeight - 3;\n this.themeSvc?.settingsChange.subscribe((themeSettings) => {\n if (themeSettings.currentSettings.theme.name === 'modern') {\n this.columnWidthWithoutBorders = this.columnWidth;\n this.rowHeightWithoutBorders =\n this.params.node && this.params.node.rowHeight;\n } else {\n this.columnWidthWithoutBorders = this.columnWidth - 2;\n this.rowHeightWithoutBorders =\n this.params.node && this.params.node.rowHeight - 3;\n }\n });\n }\n\n /**\n * afterGuiAttached is called by agGrid after the editor is rendered in the DOM. Once it is attached the editor is ready to be focused on.\n */\n public afterGuiAttached(): void {\n this.focusOnDatepickerInput();\n }\n\n /**\n * getValue is called by agGrid when editing is stopped to get the new value of the cell.\n */\n public getValue(): Date {\n this.datepickerInput.nativeElement.blur();\n return this.currentDate;\n }\n\n public focusOnDatepickerInput(): void {\n this.datepickerInput.nativeElement.focus();\n }\n}\n","<div\n class=\"sky-ag-grid-cell-editor-datepicker\"\n [style.width.px]=\"columnWidthWithoutBorders\"\n>\n <sky-datepicker\n data-sky-id=\"cell-datepicker\"\n pickerClass=\"ag-custom-component-popup\"\n >\n <input\n skyDatepickerInput\n [disabled]=\"skyComponentProperties.disabled\"\n [minDate]=\"skyComponentProperties.minDate\"\n [maxDate]=\"skyComponentProperties.maxDate\"\n [dateFormat]=\"skyComponentProperties.dateFormat\"\n [startingDay]=\"skyComponentProperties.startingDay\"\n [skyDatepickerNoValidate]=\"skyComponentProperties.skyDatepickerNoValidate\"\n [style.height.px]=\"rowHeightWithoutBorders\"\n [(ngModel)]=\"currentDate\"\n #skyCellEditorDatepickerInput\n />\n </sky-datepicker>\n</div>\n"]}
|