@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.
Files changed (87) hide show
  1. package/bundles/skyux-ag-grid.umd.js +85 -43
  2. package/documentation.json +3432 -60
  3. package/esm2015/index.js +7 -0
  4. package/esm2015/index.js.map +1 -1
  5. package/esm2015/lib/modules/ag-grid/ag-grid-row-delete.directive.js +0 -3
  6. package/esm2015/lib/modules/ag-grid/ag-grid-row-delete.directive.js.map +1 -1
  7. package/esm2015/lib/modules/ag-grid/ag-grid-wrapper.component.js +8 -4
  8. package/esm2015/lib/modules/ag-grid/ag-grid-wrapper.component.js.map +1 -1
  9. package/esm2015/lib/modules/ag-grid/ag-grid.service.js +5 -3
  10. package/esm2015/lib/modules/ag-grid/ag-grid.service.js.map +1 -1
  11. package/esm2015/lib/modules/ag-grid/apply-lookup-properties-defaults.js +29 -0
  12. package/esm2015/lib/modules/ag-grid/apply-lookup-properties-defaults.js.map +1 -0
  13. package/esm2015/lib/modules/ag-grid/cell-editors/cell-editor-autocomplete/cell-editor-autocomplete.component.js.map +1 -1
  14. package/esm2015/lib/modules/ag-grid/cell-editors/cell-editor-currency/cell-editor-currency.component.js +8 -1
  15. package/esm2015/lib/modules/ag-grid/cell-editors/cell-editor-currency/cell-editor-currency.component.js.map +1 -1
  16. package/esm2015/lib/modules/ag-grid/cell-editors/cell-editor-datepicker/cell-editor-datepicker.component.js.map +1 -1
  17. package/esm2015/lib/modules/ag-grid/cell-editors/cell-editor-lookup/cell-editor-lookup.component.js +15 -4
  18. package/esm2015/lib/modules/ag-grid/cell-editors/cell-editor-lookup/cell-editor-lookup.component.js.map +1 -1
  19. package/esm2015/lib/modules/ag-grid/cell-editors/cell-editor-number/cell-editor-number.component.js +4 -1
  20. package/esm2015/lib/modules/ag-grid/cell-editors/cell-editor-number/cell-editor-number.component.js.map +1 -1
  21. package/esm2015/lib/modules/ag-grid/cell-editors/cell-editor-text/cell-editor-text.component.js +3 -1
  22. package/esm2015/lib/modules/ag-grid/cell-editors/cell-editor-text/cell-editor-text.component.js.map +1 -1
  23. package/esm2015/lib/modules/ag-grid/cell-renderers/cell-renderer-currency/cell-renderer-currency.component.js.map +1 -1
  24. package/esm2015/lib/modules/ag-grid/cell-renderers/cell-renderer-lookup/cell-renderer-lookup.component.js +4 -1
  25. package/esm2015/lib/modules/ag-grid/cell-renderers/cell-renderer-lookup/cell-renderer-lookup.component.js.map +1 -1
  26. package/esm2015/lib/modules/ag-grid/cell-validator/ag-grid-cell-validator-tooltip.component.js +31 -24
  27. package/esm2015/lib/modules/ag-grid/cell-validator/ag-grid-cell-validator-tooltip.component.js.map +1 -1
  28. package/esm2015/lib/modules/ag-grid/types/ag-grid-row-delete-cancel-args.js.map +1 -1
  29. package/esm2015/lib/modules/ag-grid/types/ag-grid-row-delete-confirm-args.js.map +1 -1
  30. package/esm2015/lib/modules/ag-grid/types/autocomplete-properties.js.map +1 -1
  31. package/esm2015/lib/modules/ag-grid/types/cell-editor-autocomplete-params.js.map +1 -1
  32. package/esm2015/lib/modules/ag-grid/types/cell-editor-currency-params.js.map +1 -1
  33. package/esm2015/lib/modules/ag-grid/types/cell-editor-datepicker-params.js.map +1 -1
  34. package/esm2015/lib/modules/ag-grid/types/cell-editor-lookup-params.js.map +1 -1
  35. package/esm2015/lib/modules/ag-grid/types/cell-editor-number-params.js +2 -0
  36. package/esm2015/lib/modules/ag-grid/types/cell-editor-number-params.js.map +1 -0
  37. package/esm2015/lib/modules/ag-grid/types/cell-editor-text-params.js +2 -0
  38. package/esm2015/lib/modules/ag-grid/types/cell-editor-text-params.js.map +1 -0
  39. package/esm2015/lib/modules/ag-grid/types/cell-renderer-currency-params.js.map +1 -1
  40. package/esm2015/lib/modules/ag-grid/types/cell-renderer-lookup-params.js.map +1 -1
  41. package/esm2015/lib/modules/ag-grid/types/cell-renderer-validator-params.js.map +1 -1
  42. package/esm2015/lib/modules/ag-grid/types/currency-properties.js.map +1 -1
  43. package/esm2015/lib/modules/ag-grid/types/datepicker-properties.js.map +1 -1
  44. package/esm2015/lib/modules/ag-grid/types/lookup-properties.js +1 -25
  45. package/esm2015/lib/modules/ag-grid/types/lookup-properties.js.map +1 -1
  46. package/esm2015/lib/modules/ag-grid/types/number-properties.js +2 -0
  47. package/esm2015/lib/modules/ag-grid/types/number-properties.js.map +1 -0
  48. package/esm2015/lib/modules/ag-grid/types/text-properties.js +2 -0
  49. package/esm2015/lib/modules/ag-grid/types/text-properties.js.map +1 -0
  50. package/esm2015/lib/modules/ag-grid/types/validator-properties.js +2 -0
  51. package/esm2015/lib/modules/ag-grid/types/validator-properties.js.map +1 -0
  52. package/fesm2015/skyux-ag-grid.js +78 -38
  53. package/fesm2015/skyux-ag-grid.js.map +1 -1
  54. package/index.d.ts +7 -0
  55. package/lib/modules/ag-grid/ag-grid-row-delete.directive.d.ts +0 -3
  56. package/lib/modules/ag-grid/ag-grid-wrapper.component.d.ts +4 -3
  57. package/lib/modules/ag-grid/apply-lookup-properties-defaults.d.ts +27 -0
  58. package/lib/modules/ag-grid/cell-editors/cell-editor-autocomplete/cell-editor-autocomplete.component.d.ts +2 -2
  59. package/lib/modules/ag-grid/cell-editors/cell-editor-currency/cell-editor-currency.component.d.ts +6 -2
  60. package/lib/modules/ag-grid/cell-editors/cell-editor-datepicker/cell-editor-datepicker.component.d.ts +2 -2
  61. package/lib/modules/ag-grid/cell-editors/cell-editor-lookup/cell-editor-lookup.component.d.ts +6 -2
  62. package/lib/modules/ag-grid/cell-editors/cell-editor-number/cell-editor-number.component.d.ts +4 -2
  63. package/lib/modules/ag-grid/cell-editors/cell-editor-text/cell-editor-text.component.d.ts +3 -2
  64. package/lib/modules/ag-grid/cell-renderers/cell-renderer-currency/cell-renderer-currency.component.d.ts +2 -2
  65. package/lib/modules/ag-grid/cell-renderers/cell-renderer-lookup/cell-renderer-lookup.component.d.ts +3 -0
  66. package/lib/modules/ag-grid/cell-validator/ag-grid-cell-validator-tooltip.component.d.ts +5 -6
  67. package/lib/modules/ag-grid/types/ag-grid-row-delete-cancel-args.d.ts +0 -1
  68. package/lib/modules/ag-grid/types/ag-grid-row-delete-confirm-args.d.ts +0 -1
  69. package/lib/modules/ag-grid/types/autocomplete-properties.d.ts +6 -4
  70. package/lib/modules/ag-grid/types/cell-editor-autocomplete-params.d.ts +5 -2
  71. package/lib/modules/ag-grid/types/cell-editor-currency-params.d.ts +5 -2
  72. package/lib/modules/ag-grid/types/cell-editor-datepicker-params.d.ts +5 -2
  73. package/lib/modules/ag-grid/types/cell-editor-lookup-params.d.ts +5 -2
  74. package/lib/modules/ag-grid/types/cell-editor-number-params.d.ts +8 -0
  75. package/lib/modules/ag-grid/types/cell-editor-text-params.d.ts +8 -0
  76. package/lib/modules/ag-grid/types/cell-renderer-currency-params.d.ts +5 -2
  77. package/lib/modules/ag-grid/types/cell-renderer-lookup-params.d.ts +5 -2
  78. package/lib/modules/ag-grid/types/cell-renderer-validator-params.d.ts +5 -2
  79. package/lib/modules/ag-grid/types/currency-properties.d.ts +1 -1
  80. package/lib/modules/ag-grid/types/datepicker-properties.d.ts +6 -4
  81. package/lib/modules/ag-grid/types/lookup-properties.d.ts +1 -24
  82. package/lib/modules/ag-grid/types/number-properties.d.ts +4 -0
  83. package/lib/modules/ag-grid/types/text-properties.d.ts +3 -0
  84. package/lib/modules/ag-grid/types/{validator-options.d.ts → validator-properties.d.ts} +1 -1
  85. package/package.json +13 -13
  86. package/esm2015/lib/modules/ag-grid/types/validator-options.js +0 -2
  87. 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
@@ -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;AAE7D,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","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/datepicker-properties';\nexport * from './lib/modules/ag-grid/types/header-class';\nexport * from './lib/modules/ag-grid/types/sky-grid-options';\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';\n"]}
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":"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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/**\n * @internal\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 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>\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"]}
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,GAA8B,EAAE,CAAC;KAqB/D;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 { SkyAutocompleteProperties } 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: SkyAutocompleteProperties = {};\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"]}
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,GAA0B,EAAE,CAAC;KA0C3D;IA/BC;;;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;;kIA7CU,oCAAoC;sHAApC,oCAAoC,mKAYH,UAAU,6BCjCxD,wVAYA;4FDSa,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 { SkyCurrencyProperties } 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: SkyCurrencyProperties = {};\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","<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"]}
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,GAA4B,EAAE,CAAC;IAQ5D,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 { SkyDatepickerProperties } 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: SkyDatepickerProperties = {};\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"]}
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"]}