@skyux/ag-grid 5.10.0 → 5.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/bundles/skyux-ag-grid.umd.js +314 -76
  2. package/documentation.json +526 -335
  3. package/esm2015/index.js +2 -0
  4. package/esm2015/index.js.map +1 -1
  5. package/esm2015/lib/modules/ag-grid/ag-grid.service.js +1 -1
  6. package/esm2015/lib/modules/ag-grid/ag-grid.service.js.map +1 -1
  7. package/esm2015/lib/modules/ag-grid/cell-editors/cell-editor-autocomplete/cell-editor-autocomplete.component.js +36 -3
  8. package/esm2015/lib/modules/ag-grid/cell-editors/cell-editor-autocomplete/cell-editor-autocomplete.component.js.map +1 -1
  9. package/esm2015/lib/modules/ag-grid/cell-editors/cell-editor-autocomplete/cell-editor-autocomplete.module.js +14 -4
  10. package/esm2015/lib/modules/ag-grid/cell-editors/cell-editor-autocomplete/cell-editor-autocomplete.module.js.map +1 -1
  11. package/esm2015/lib/modules/ag-grid/cell-editors/cell-editor-currency/cell-editor-currency.component.js +42 -7
  12. package/esm2015/lib/modules/ag-grid/cell-editors/cell-editor-currency/cell-editor-currency.component.js.map +1 -1
  13. package/esm2015/lib/modules/ag-grid/cell-editors/cell-editor-currency/cell-editor-currency.module.js +14 -4
  14. package/esm2015/lib/modules/ag-grid/cell-editors/cell-editor-currency/cell-editor-currency.module.js.map +1 -1
  15. package/esm2015/lib/modules/ag-grid/cell-editors/cell-editor-datepicker/cell-editor-datepicker.component.js +60 -13
  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-datepicker/cell-editor-datepicker.module.js +4 -4
  18. package/esm2015/lib/modules/ag-grid/cell-editors/cell-editor-datepicker/cell-editor-datepicker.module.js.map +1 -1
  19. package/esm2015/lib/modules/ag-grid/cell-editors/cell-editor-lookup/cell-editor-lookup.component.js +35 -9
  20. package/esm2015/lib/modules/ag-grid/cell-editors/cell-editor-lookup/cell-editor-lookup.component.js.map +1 -1
  21. package/esm2015/lib/modules/ag-grid/cell-editors/cell-editor-number/cell-editor-number.component.js +33 -3
  22. package/esm2015/lib/modules/ag-grid/cell-editors/cell-editor-number/cell-editor-number.component.js.map +1 -1
  23. package/esm2015/lib/modules/ag-grid/cell-editors/cell-editor-number/cell-editor-number.module.js +4 -4
  24. package/esm2015/lib/modules/ag-grid/cell-editors/cell-editor-number/cell-editor-number.module.js.map +1 -1
  25. package/esm2015/lib/modules/ag-grid/cell-editors/cell-editor-text/cell-editor-text.component.js +32 -3
  26. package/esm2015/lib/modules/ag-grid/cell-editors/cell-editor-text/cell-editor-text.component.js.map +1 -1
  27. package/esm2015/lib/modules/ag-grid/cell-editors/cell-editor-text/cell-editor-text.module.js +4 -4
  28. package/esm2015/lib/modules/ag-grid/cell-editors/cell-editor-text/cell-editor-text.module.js.map +1 -1
  29. package/esm2015/lib/modules/ag-grid/types/cell-editor-initial-action.js +13 -0
  30. package/esm2015/lib/modules/ag-grid/types/cell-editor-initial-action.js.map +1 -0
  31. package/esm2015/lib/modules/ag-grid/types/cell-editor-utils.js +31 -0
  32. package/esm2015/lib/modules/ag-grid/types/cell-editor-utils.js.map +1 -0
  33. package/fesm2015/skyux-ag-grid.js +296 -58
  34. package/fesm2015/skyux-ag-grid.js.map +1 -1
  35. package/index.d.ts +2 -0
  36. package/lib/modules/ag-grid/cell-editors/cell-editor-autocomplete/cell-editor-autocomplete.component.d.ts +4 -2
  37. package/lib/modules/ag-grid/cell-editors/cell-editor-autocomplete/cell-editor-autocomplete.module.d.ts +1 -1
  38. package/lib/modules/ag-grid/cell-editors/cell-editor-currency/cell-editor-currency.component.d.ts +8 -3
  39. package/lib/modules/ag-grid/cell-editors/cell-editor-currency/cell-editor-currency.module.d.ts +1 -1
  40. package/lib/modules/ag-grid/cell-editors/cell-editor-datepicker/cell-editor-datepicker.component.d.ts +7 -4
  41. package/lib/modules/ag-grid/cell-editors/cell-editor-datepicker/cell-editor-datepicker.module.d.ts +1 -1
  42. package/lib/modules/ag-grid/cell-editors/cell-editor-lookup/cell-editor-lookup.component.d.ts +2 -1
  43. package/lib/modules/ag-grid/cell-editors/cell-editor-number/cell-editor-number.component.d.ts +4 -2
  44. package/lib/modules/ag-grid/cell-editors/cell-editor-number/cell-editor-number.module.d.ts +1 -1
  45. package/lib/modules/ag-grid/cell-editors/cell-editor-text/cell-editor-text.component.d.ts +4 -2
  46. package/lib/modules/ag-grid/cell-editors/cell-editor-text/cell-editor-text.module.d.ts +1 -1
  47. package/lib/modules/ag-grid/types/cell-editor-initial-action.d.ts +11 -0
  48. package/lib/modules/ag-grid/types/cell-editor-utils.d.ts +9 -0
  49. package/package.json +12 -12
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/common'), require('@angular/core'), require('@skyux/core'), require('@skyux/data-manager'), require('@skyux/layout'), require('ag-grid-angular'), require('rxjs'), require('rxjs/operators'), require('@skyux/lookup'), require('@angular/forms'), require('@skyux/i18n'), require('@skyux/autonumeric'), require('ag-grid-community'), require('@skyux/theme'), require('@skyux/datetime'), require('@skyux/forms'), require('@skyux/popovers'), require('@skyux/indicators')) :
3
- typeof define === 'function' && define.amd ? define('@skyux/ag-grid', ['exports', '@angular/common', '@angular/core', '@skyux/core', '@skyux/data-manager', '@skyux/layout', 'ag-grid-angular', 'rxjs', 'rxjs/operators', '@skyux/lookup', '@angular/forms', '@skyux/i18n', '@skyux/autonumeric', 'ag-grid-community', '@skyux/theme', '@skyux/datetime', '@skyux/forms', '@skyux/popovers', '@skyux/indicators'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.skyux = global.skyux || {}, global.skyux["ag-grid"] = {}), global.ng.common, global.ng.core, global.i1, global.i1$1, global.i1$2, global.agGridAngular, global.rxjs, global.rxjs.operators, global.i1$3, global.ng.forms, global.i3$1, global.i2, global.agGridCommunity, global.i1$5, global.i2$1, global.i1$6, global.i2$2, global.i1$7));
5
- })(this, (function (exports, i3, i0, i1, i1$1, i1$2, agGridAngular, rxjs, operators, i1$3, i1$4, i3$1, i2, agGridCommunity, i1$5, i2$1, i1$6, i2$2, i1$7) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/common'), require('@angular/core'), require('@skyux/core'), require('@skyux/data-manager'), require('@skyux/layout'), require('ag-grid-angular'), require('rxjs'), require('rxjs/operators'), require('@angular/forms'), require('ag-grid-community'), require('@skyux/lookup'), require('@skyux/i18n'), require('@skyux/autonumeric'), require('@skyux/theme'), require('@skyux/datetime'), require('@skyux/forms'), require('@skyux/popovers'), require('@skyux/indicators')) :
3
+ typeof define === 'function' && define.amd ? define('@skyux/ag-grid', ['exports', '@angular/common', '@angular/core', '@skyux/core', '@skyux/data-manager', '@skyux/layout', 'ag-grid-angular', 'rxjs', 'rxjs/operators', '@angular/forms', 'ag-grid-community', '@skyux/lookup', '@skyux/i18n', '@skyux/autonumeric', '@skyux/theme', '@skyux/datetime', '@skyux/forms', '@skyux/popovers', '@skyux/indicators'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.skyux = global.skyux || {}, global.skyux["ag-grid"] = {}), global.ng.common, global.ng.core, global.i1, global.i1$1, global.i1$2, global.agGridAngular, global.rxjs, global.rxjs.operators, global.ng.forms, global.agGridCommunity, global.i1$4, global.i3$1, global.i2, global.i1$5, global.i2$1, global.i1$6, global.i2$2, global.i1$7));
5
+ })(this, (function (exports, i3, i0, i1, i1$1, i1$2, agGridAngular, rxjs, operators, i1$3, agGridCommunity, i1$4, i3$1, i2, i1$5, i2$1, i1$6, i2$2, i1$7) { 'use strict';
6
6
 
7
7
  function _interopNamespace(e) {
8
8
  if (e && e.__esModule) return e;
@@ -27,8 +27,8 @@
27
27
  var i1__namespace = /*#__PURE__*/_interopNamespace(i1);
28
28
  var i1__namespace$1 = /*#__PURE__*/_interopNamespace(i1$1);
29
29
  var i1__namespace$2 = /*#__PURE__*/_interopNamespace(i1$2);
30
- var i1__namespace$3 = /*#__PURE__*/_interopNamespace(i1$3);
31
- var i1__namespace$4 = /*#__PURE__*/_interopNamespace(i1$4);
30
+ var i1__namespace$4 = /*#__PURE__*/_interopNamespace(i1$3);
31
+ var i1__namespace$3 = /*#__PURE__*/_interopNamespace(i1$4);
32
32
  var i3__namespace$1 = /*#__PURE__*/_interopNamespace(i3$1);
33
33
  var i2__namespace = /*#__PURE__*/_interopNamespace(i2);
34
34
  var i1__namespace$5 = /*#__PURE__*/_interopNamespace(i1$5);
@@ -1003,35 +1003,109 @@
1003
1003
  args: [agGridAngular.AgGridAngular]
1004
1004
  }] } });
1005
1005
 
1006
+ /** The intiial action that a cell editor should take when initialized. */
1007
+ exports.SkyAgGridCellEditorInitialAction = void 0;
1008
+ (function (SkyAgGridCellEditorInitialAction) {
1009
+ /** The cell should be cleared. */
1010
+ SkyAgGridCellEditorInitialAction[SkyAgGridCellEditorInitialAction["Delete"] = 0] = "Delete";
1011
+ /** The cell value should be highlighted. */
1012
+ SkyAgGridCellEditorInitialAction[SkyAgGridCellEditorInitialAction["Highlighted"] = 1] = "Highlighted";
1013
+ /** The cell value should be replaced with the initializing value. */
1014
+ SkyAgGridCellEditorInitialAction[SkyAgGridCellEditorInitialAction["Replace"] = 2] = "Replace";
1015
+ /** The cell should not be modified and the cursor is placed at the end of the value. */
1016
+ SkyAgGridCellEditorInitialAction[SkyAgGridCellEditorInitialAction["Untouched"] = 3] = "Untouched";
1017
+ })(exports.SkyAgGridCellEditorInitialAction || (exports.SkyAgGridCellEditorInitialAction = {}));
1018
+
1019
+ var SkyAgGridCellEditorUtils = /** @class */ (function () {
1020
+ function SkyAgGridCellEditorUtils() {
1021
+ }
1022
+ /**
1023
+ * Gets the intiial action that a cell editor should take when initialized.
1024
+ * @param params The editor's initializing parameters.
1025
+ */
1026
+ SkyAgGridCellEditorUtils.getEditorInitialAction = function (params) {
1027
+ if (params.cellStartedEdit) {
1028
+ if (params.keyPress === agGridCommunity.KeyCode.BACKSPACE ||
1029
+ params.keyPress === agGridCommunity.KeyCode.DELETE) {
1030
+ return exports.SkyAgGridCellEditorInitialAction.Delete;
1031
+ }
1032
+ else if (params.charPress) {
1033
+ return exports.SkyAgGridCellEditorInitialAction.Replace;
1034
+ }
1035
+ else {
1036
+ if (params.keyPress !== agGridCommunity.KeyCode.F2) {
1037
+ return exports.SkyAgGridCellEditorInitialAction.Highlighted;
1038
+ }
1039
+ else {
1040
+ return exports.SkyAgGridCellEditorInitialAction.Untouched;
1041
+ }
1042
+ }
1043
+ }
1044
+ else {
1045
+ return exports.SkyAgGridCellEditorInitialAction.Untouched;
1046
+ }
1047
+ };
1048
+ return SkyAgGridCellEditorUtils;
1049
+ }());
1050
+
1051
+ var _SkyAgGridCellEditorAutocompleteComponent_triggerType;
1006
1052
  /**
1007
1053
  * @internal
1008
1054
  */
1009
1055
  var SkyAgGridCellEditorAutocompleteComponent = /** @class */ (function () {
1010
1056
  function SkyAgGridCellEditorAutocompleteComponent() {
1057
+ this.editorForm = new i1$3.FormGroup({
1058
+ selection: new i1$3.FormControl(),
1059
+ });
1011
1060
  this.skyComponentProperties = {};
1061
+ _SkyAgGridCellEditorAutocompleteComponent_triggerType.set(this, void 0);
1012
1062
  }
1013
1063
  SkyAgGridCellEditorAutocompleteComponent.prototype.agInit = function (params) {
1014
1064
  this.params = params;
1015
- this.currentSelection = this.params.value;
1065
+ __classPrivateFieldSet(this, _SkyAgGridCellEditorAutocompleteComponent_triggerType, SkyAgGridCellEditorUtils.getEditorInitialAction(params), "f");
1066
+ var control = this.editorForm.get('selection');
1067
+ switch (__classPrivateFieldGet(this, _SkyAgGridCellEditorAutocompleteComponent_triggerType, "f")) {
1068
+ case exports.SkyAgGridCellEditorInitialAction.Delete:
1069
+ control.setValue(undefined);
1070
+ break;
1071
+ case exports.SkyAgGridCellEditorInitialAction.Replace:
1072
+ case exports.SkyAgGridCellEditorInitialAction.Highlighted:
1073
+ case exports.SkyAgGridCellEditorInitialAction.Untouched:
1074
+ default:
1075
+ control.setValue(params.value);
1076
+ break;
1077
+ }
1016
1078
  this.columnHeader = this.params.colDef && this.params.colDef.headerName;
1017
1079
  this.rowNumber = this.params.rowIndex + 1;
1018
1080
  this.skyComponentProperties = this.params.skyComponentProperties || {};
1019
1081
  };
1020
1082
  SkyAgGridCellEditorAutocompleteComponent.prototype.afterGuiAttached = function () {
1021
1083
  this.input.nativeElement.focus();
1084
+ if (__classPrivateFieldGet(this, _SkyAgGridCellEditorAutocompleteComponent_triggerType, "f") === exports.SkyAgGridCellEditorInitialAction.Replace) {
1085
+ this.input.nativeElement.select();
1086
+ this.input.nativeElement.setRangeText(this.params.charPress);
1087
+ // Ensure the cursor is at the end of the text.
1088
+ this.input.nativeElement.setSelectionRange(this.params.charPress.length, this.params.charPress.length);
1089
+ this.input.nativeElement.dispatchEvent(new Event('input'));
1090
+ }
1091
+ if (__classPrivateFieldGet(this, _SkyAgGridCellEditorAutocompleteComponent_triggerType, "f") === exports.SkyAgGridCellEditorInitialAction.Highlighted) {
1092
+ this.input.nativeElement.select();
1093
+ }
1022
1094
  };
1023
1095
  SkyAgGridCellEditorAutocompleteComponent.prototype.getValue = function () {
1024
- return this.currentSelection;
1096
+ var val = this.editorForm.get('selection').value;
1097
+ return val !== undefined && val !== null ? val : undefined;
1025
1098
  };
1026
1099
  return SkyAgGridCellEditorAutocompleteComponent;
1027
1100
  }());
1101
+ _SkyAgGridCellEditorAutocompleteComponent_triggerType = new WeakMap();
1028
1102
  SkyAgGridCellEditorAutocompleteComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyAgGridCellEditorAutocompleteComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
1029
- SkyAgGridCellEditorAutocompleteComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: SkyAgGridCellEditorAutocompleteComponent, selector: "sky-ag-grid-cell-editor-autocomplete", viewQueries: [{ propertyName: "input", first: true, predicate: ["skyCellEditorAutocomplete"], descendants: true, read: i0.ElementRef }], ngImport: i0__namespace, template: "<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", styles: ["sky-autocomplete input{border:none;box-shadow:none}\n"], components: [{ type: i1__namespace$3.λ2, selector: "sky-autocomplete", inputs: ["ariaLabelledBy", "data", "debounceTime", "descriptorProperty", "enableShowMore", "messageStream", "wrapperClass", "propertiesToSearch", "search", "searchResultTemplate", "searchTextMinimumCharacters", "searchFilters", "searchResultsLimit", "showAddButton", "noResultsFoundText", "searchAsyncDisabled"], outputs: ["addClick", "showMoreClick", "selectionChange", "searchAsync"] }], directives: [{ type: i1__namespace$3.λ1, selector: "input[skyAutocomplete], textarea[skyAutocomplete]", inputs: ["autocompleteAttribute", "disabled"] }, { type: i1__namespace$4.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: i1__namespace$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1__namespace$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "skyLibResources": i3__namespace$1.SkyLibResourcesPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
1103
+ SkyAgGridCellEditorAutocompleteComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: SkyAgGridCellEditorAutocompleteComponent, selector: "sky-ag-grid-cell-editor-autocomplete", viewQueries: [{ propertyName: "input", first: true, predicate: ["skyCellEditorAutocomplete"], descendants: true, read: i0.ElementRef }], ngImport: i0__namespace, template: "<div class=\"sky-ag-grid-cell-editor-autocomplete\" [formGroup]=\"editorForm\">\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 formControlName=\"selection\"\n skyAutocomplete\n #skyCellEditorAutocomplete\n type=\"text\"\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", styles: ["sky-autocomplete input{border:none;box-shadow:none}\n"], components: [{ type: i1__namespace$3.λ2, selector: "sky-autocomplete", inputs: ["ariaLabelledBy", "data", "debounceTime", "descriptorProperty", "enableShowMore", "messageStream", "wrapperClass", "propertiesToSearch", "search", "searchResultTemplate", "searchTextMinimumCharacters", "searchFilters", "searchResultsLimit", "showAddButton", "noResultsFoundText", "searchAsyncDisabled"], outputs: ["addClick", "showMoreClick", "selectionChange", "searchAsync"] }], directives: [{ type: i1__namespace$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1__namespace$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i1__namespace$4.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: i1__namespace$3.λ1, selector: "input[skyAutocomplete], textarea[skyAutocomplete]", inputs: ["autocompleteAttribute", "disabled"] }, { type: i1__namespace$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1__namespace$4.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }], pipes: { "skyLibResources": i3__namespace$1.SkyLibResourcesPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
1030
1104
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyAgGridCellEditorAutocompleteComponent, decorators: [{
1031
1105
  type: i0.Component,
1032
1106
  args: [{
1033
1107
  selector: 'sky-ag-grid-cell-editor-autocomplete',
1034
- template: "<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",
1108
+ template: "<div class=\"sky-ag-grid-cell-editor-autocomplete\" [formGroup]=\"editorForm\">\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 formControlName=\"selection\"\n skyAutocomplete\n #skyCellEditorAutocomplete\n type=\"text\"\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",
1035
1109
  styles: ["sky-autocomplete input{border:none;box-shadow:none}\n"],
1036
1110
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
1037
1111
  }]
@@ -1120,23 +1194,39 @@
1120
1194
  return SkyAgGridCellEditorAutocompleteModule;
1121
1195
  }());
1122
1196
  SkyAgGridCellEditorAutocompleteModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyAgGridCellEditorAutocompleteModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
1123
- SkyAgGridCellEditorAutocompleteModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyAgGridCellEditorAutocompleteModule, declarations: [SkyAgGridCellEditorAutocompleteComponent], imports: [i1$4.FormsModule, SkyAgGridResourcesModule, i1$3.SkyAutocompleteModule], exports: [SkyAgGridCellEditorAutocompleteComponent] });
1124
- SkyAgGridCellEditorAutocompleteModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyAgGridCellEditorAutocompleteModule, imports: [[i1$4.FormsModule, SkyAgGridResourcesModule, i1$3.SkyAutocompleteModule]] });
1197
+ SkyAgGridCellEditorAutocompleteModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyAgGridCellEditorAutocompleteModule, declarations: [SkyAgGridCellEditorAutocompleteComponent], imports: [i1$3.ReactiveFormsModule,
1198
+ SkyAgGridResourcesModule,
1199
+ i1$4.SkyAutocompleteModule], exports: [SkyAgGridCellEditorAutocompleteComponent] });
1200
+ SkyAgGridCellEditorAutocompleteModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyAgGridCellEditorAutocompleteModule, imports: [[
1201
+ i1$3.ReactiveFormsModule,
1202
+ SkyAgGridResourcesModule,
1203
+ i1$4.SkyAutocompleteModule,
1204
+ ]] });
1125
1205
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyAgGridCellEditorAutocompleteModule, decorators: [{
1126
1206
  type: i0.NgModule,
1127
1207
  args: [{
1128
- imports: [i1$4.FormsModule, SkyAgGridResourcesModule, i1$3.SkyAutocompleteModule],
1208
+ imports: [
1209
+ i1$3.ReactiveFormsModule,
1210
+ SkyAgGridResourcesModule,
1211
+ i1$4.SkyAutocompleteModule,
1212
+ ],
1129
1213
  declarations: [SkyAgGridCellEditorAutocompleteComponent],
1130
1214
  exports: [SkyAgGridCellEditorAutocompleteComponent],
1131
1215
  }]
1132
1216
  }] });
1133
1217
 
1218
+ var _SkyAgGridCellEditorCurrencyComponent_triggerType;
1134
1219
  /**
1135
1220
  * @internal
1136
1221
  */
1137
1222
  var SkyAgGridCellEditorCurrencyComponent = /** @class */ (function () {
1138
- function SkyAgGridCellEditorCurrencyComponent() {
1223
+ function SkyAgGridCellEditorCurrencyComponent(changeDetector) {
1224
+ this.changeDetector = changeDetector;
1139
1225
  this.skyComponentProperties = {};
1226
+ this.editorForm = new i1$3.FormGroup({
1227
+ currency: new i1$3.FormControl(),
1228
+ });
1229
+ _SkyAgGridCellEditorCurrencyComponent_triggerType.set(this, void 0);
1140
1230
  }
1141
1231
  /**
1142
1232
  * agInit is called by agGrid once after the editor is created and provides the editor with the information it needs.
@@ -1144,7 +1234,6 @@
1144
1234
  */
1145
1235
  SkyAgGridCellEditorCurrencyComponent.prototype.agInit = function (params) {
1146
1236
  this.params = params;
1147
- this.value = this.params.value;
1148
1237
  this.columnHeader = this.params.colDef.headerName;
1149
1238
  this.rowNumber = this.params.rowIndex + 1;
1150
1239
  this.columnWidth = this.params.column.getActualWidth();
@@ -1159,13 +1248,39 @@
1159
1248
  * 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.
1160
1249
  */
1161
1250
  SkyAgGridCellEditorCurrencyComponent.prototype.afterGuiAttached = function () {
1251
+ var _this = this;
1162
1252
  this.input.nativeElement.focus();
1253
+ // This setup is in `afterGuiAttached` due to the lifecycle of autonumeric which will highlight the initial value if it is in place when it renders.
1254
+ // Since we don't want that, we set the initial value after autonumeric initializes.
1255
+ __classPrivateFieldSet(this, _SkyAgGridCellEditorCurrencyComponent_triggerType, SkyAgGridCellEditorUtils.getEditorInitialAction(this.params), "f");
1256
+ var control = this.editorForm.get('currency');
1257
+ switch (__classPrivateFieldGet(this, _SkyAgGridCellEditorCurrencyComponent_triggerType, "f")) {
1258
+ case exports.SkyAgGridCellEditorInitialAction.Delete:
1259
+ control.setValue(undefined);
1260
+ break;
1261
+ case exports.SkyAgGridCellEditorInitialAction.Replace:
1262
+ control.setValue(parseFloat(this.params.charPress) || undefined);
1263
+ break;
1264
+ case exports.SkyAgGridCellEditorInitialAction.Highlighted:
1265
+ case exports.SkyAgGridCellEditorInitialAction.Untouched:
1266
+ default:
1267
+ control.setValue(parseFloat(this.params.value));
1268
+ break;
1269
+ }
1270
+ this.changeDetector.markForCheck();
1271
+ // Without the `setTimeout` there is inconsistent behavior with the highlighting when no initial value is present.
1272
+ setTimeout(function () {
1273
+ if (__classPrivateFieldGet(_this, _SkyAgGridCellEditorCurrencyComponent_triggerType, "f") === exports.SkyAgGridCellEditorInitialAction.Highlighted) {
1274
+ _this.input.nativeElement.select();
1275
+ }
1276
+ }, 100);
1163
1277
  };
1164
1278
  /**
1165
1279
  * getValue is called by agGrid when editing is stopped to get the new value of the cell.
1166
1280
  */
1167
1281
  SkyAgGridCellEditorCurrencyComponent.prototype.getValue = function () {
1168
- return this.value;
1282
+ var val = this.editorForm.get('currency').value;
1283
+ return val !== undefined && val !== null ? val : undefined;
1169
1284
  };
1170
1285
  /**
1171
1286
  * The autoNumeric library's event handler suppresses the escape key event. This additional handler re-enables AG Grid's default functionality.
@@ -1176,17 +1291,18 @@
1176
1291
  };
1177
1292
  return SkyAgGridCellEditorCurrencyComponent;
1178
1293
  }());
1179
- SkyAgGridCellEditorCurrencyComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyAgGridCellEditorCurrencyComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
1180
- SkyAgGridCellEditorCurrencyComponent.ɵcmp = i0__namespace.ɵɵ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: i0.ElementRef }], ngImport: i0__namespace, 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__namespace$4.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__namespace.λ1, selector: "input[skyAutonumeric]", inputs: ["skyAutonumeric"] }, { type: i1__namespace$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1__namespace$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "skyLibResources": i3__namespace$1.SkyLibResourcesPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
1294
+ _SkyAgGridCellEditorCurrencyComponent_triggerType = new WeakMap();
1295
+ SkyAgGridCellEditorCurrencyComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyAgGridCellEditorCurrencyComponent, deps: [{ token: i0__namespace.ChangeDetectorRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
1296
+ SkyAgGridCellEditorCurrencyComponent.ɵcmp = i0__namespace.ɵɵ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: i0.ElementRef }], ngImport: i0__namespace, template: "<ng-container [formGroup]=\"editorForm\">\n <input\n formControlName=\"currency\"\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 [skyAutonumeric]=\"skyComponentProperties\"\n [skyAutonumericFormChangesUnformatted]=\"params?.charPress\"\n (keyup.escape)=\"onPressEscape()\"\n #skyCellEditorCurrency\n />\n</ng-container>\n", styles: ["input{border:none;padding-left:11px}\n"], directives: [{ type: i1__namespace$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1__namespace$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i1__namespace$4.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__namespace.λ1, selector: "input[skyAutonumeric]", inputs: ["skyAutonumeric", "skyAutonumericFormChangesUnformatted"] }, { type: i1__namespace$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1__namespace$4.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }], pipes: { "skyLibResources": i3__namespace$1.SkyLibResourcesPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
1181
1297
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyAgGridCellEditorCurrencyComponent, decorators: [{
1182
1298
  type: i0.Component,
1183
1299
  args: [{
1184
1300
  selector: 'sky-ag-grid-cell-editor-currency',
1185
- 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",
1301
+ template: "<ng-container [formGroup]=\"editorForm\">\n <input\n formControlName=\"currency\"\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 [skyAutonumeric]=\"skyComponentProperties\"\n [skyAutonumericFormChangesUnformatted]=\"params?.charPress\"\n (keyup.escape)=\"onPressEscape()\"\n #skyCellEditorCurrency\n />\n</ng-container>\n",
1186
1302
  styles: ["input{border:none;padding-left:11px}\n"],
1187
1303
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
1188
1304
  }]
1189
- }], propDecorators: { input: [{
1305
+ }], ctorParameters: function () { return [{ type: i0__namespace.ChangeDetectorRef }]; }, propDecorators: { input: [{
1190
1306
  type: i0.ViewChild,
1191
1307
  args: ['skyCellEditorCurrency', { read: i0.ElementRef }]
1192
1308
  }] } });
@@ -1197,26 +1313,42 @@
1197
1313
  return SkyAgGridCellEditorCurrencyModule;
1198
1314
  }());
1199
1315
  SkyAgGridCellEditorCurrencyModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyAgGridCellEditorCurrencyModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
1200
- SkyAgGridCellEditorCurrencyModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyAgGridCellEditorCurrencyModule, declarations: [SkyAgGridCellEditorCurrencyComponent], imports: [SkyAgGridResourcesModule, i1$4.FormsModule, i2.SkyAutonumericModule], exports: [SkyAgGridCellEditorCurrencyComponent] });
1201
- SkyAgGridCellEditorCurrencyModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyAgGridCellEditorCurrencyModule, imports: [[SkyAgGridResourcesModule, i1$4.FormsModule, i2.SkyAutonumericModule]] });
1316
+ SkyAgGridCellEditorCurrencyModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyAgGridCellEditorCurrencyModule, declarations: [SkyAgGridCellEditorCurrencyComponent], imports: [SkyAgGridResourcesModule,
1317
+ i1$3.ReactiveFormsModule,
1318
+ i2.SkyAutonumericModule], exports: [SkyAgGridCellEditorCurrencyComponent] });
1319
+ SkyAgGridCellEditorCurrencyModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyAgGridCellEditorCurrencyModule, imports: [[
1320
+ SkyAgGridResourcesModule,
1321
+ i1$3.ReactiveFormsModule,
1322
+ i2.SkyAutonumericModule,
1323
+ ]] });
1202
1324
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyAgGridCellEditorCurrencyModule, decorators: [{
1203
1325
  type: i0.NgModule,
1204
1326
  args: [{
1205
- imports: [SkyAgGridResourcesModule, i1$4.FormsModule, i2.SkyAutonumericModule],
1327
+ imports: [
1328
+ SkyAgGridResourcesModule,
1329
+ i1$3.ReactiveFormsModule,
1330
+ i2.SkyAutonumericModule,
1331
+ ],
1206
1332
  declarations: [SkyAgGridCellEditorCurrencyComponent],
1207
1333
  exports: [SkyAgGridCellEditorCurrencyComponent],
1208
1334
  }]
1209
1335
  }] });
1210
1336
 
1337
+ var _SkyAgGridCellEditorDatepickerComponent_triggerType;
1211
1338
  /**
1212
1339
  * @internal
1213
1340
  */
1214
1341
  var SkyAgGridCellEditorDatepickerComponent = /** @class */ (function (_super) {
1215
1342
  __extends(SkyAgGridCellEditorDatepickerComponent, _super);
1216
- function SkyAgGridCellEditorDatepickerComponent(themeSvc) {
1343
+ function SkyAgGridCellEditorDatepickerComponent(changeDetector, themeSvc) {
1217
1344
  var _this = _super.call(this) || this;
1345
+ _this.changeDetector = changeDetector;
1218
1346
  _this.themeSvc = themeSvc;
1347
+ _this.editorForm = new i1$3.FormGroup({
1348
+ date: new i1$3.FormControl(),
1349
+ });
1219
1350
  _this.skyComponentProperties = {};
1351
+ _SkyAgGridCellEditorDatepickerComponent_triggerType.set(_this, void 0);
1220
1352
  return _this;
1221
1353
  }
1222
1354
  /**
@@ -1225,15 +1357,33 @@
1225
1357
  */
1226
1358
  SkyAgGridCellEditorDatepickerComponent.prototype.agInit = function (params) {
1227
1359
  var _this = this;
1228
- var _a;
1360
+ var _a, _b;
1229
1361
  this.params = params;
1230
- this.currentDate = this.params.value;
1362
+ __classPrivateFieldSet(this, _SkyAgGridCellEditorDatepickerComponent_triggerType, SkyAgGridCellEditorUtils.getEditorInitialAction(params), "f");
1363
+ var control = this.editorForm.get('date');
1364
+ switch (__classPrivateFieldGet(this, _SkyAgGridCellEditorDatepickerComponent_triggerType, "f")) {
1365
+ case exports.SkyAgGridCellEditorInitialAction.Delete:
1366
+ control.setValue(undefined);
1367
+ break;
1368
+ case exports.SkyAgGridCellEditorInitialAction.Replace:
1369
+ control.setValue(params.charPress);
1370
+ break;
1371
+ case exports.SkyAgGridCellEditorInitialAction.Highlighted:
1372
+ case exports.SkyAgGridCellEditorInitialAction.Untouched:
1373
+ default:
1374
+ control.setValue(params.value);
1375
+ break;
1376
+ }
1377
+ if ((_a = this.params.skyComponentProperties) === null || _a === void 0 ? void 0 : _a.disabled) {
1378
+ control.disable();
1379
+ }
1380
+ this.changeDetector.markForCheck();
1231
1381
  this.skyComponentProperties = this.params.skyComponentProperties || {};
1232
1382
  this.columnWidth = this.params.column.getActualWidth();
1233
1383
  this.columnWidthWithoutBorders = this.columnWidth - 2;
1234
1384
  this.rowHeightWithoutBorders =
1235
1385
  this.params.node && this.params.node.rowHeight - 3;
1236
- (_a = this.themeSvc) === null || _a === void 0 ? void 0 : _a.settingsChange.subscribe(function (themeSettings) {
1386
+ (_b = this.themeSvc) === null || _b === void 0 ? void 0 : _b.settingsChange.subscribe(function (themeSettings) {
1237
1387
  if (themeSettings.currentSettings.theme.name === 'modern') {
1238
1388
  _this.columnWidthWithoutBorders = _this.columnWidth;
1239
1389
  _this.rowHeightWithoutBorders =
@@ -1250,33 +1400,50 @@
1250
1400
  * 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.
1251
1401
  */
1252
1402
  SkyAgGridCellEditorDatepickerComponent.prototype.afterGuiAttached = function () {
1253
- this.focusOnDatepickerInput();
1403
+ var datepickerInputEl = this.datepickerInput
1404
+ .nativeElement;
1405
+ datepickerInputEl.focus();
1406
+ // Programatically set the value of in the input; however, do not do this via the form control so that the value is not formatted when editing starts.
1407
+ // Watch for the first blur and fire a 'change' event as programatic changes won't queue a change event, but we need to do this so that formatting happens if the user tabs to the calendar button.
1408
+ if (__classPrivateFieldGet(this, _SkyAgGridCellEditorDatepickerComponent_triggerType, "f") === exports.SkyAgGridCellEditorInitialAction.Replace) {
1409
+ rxjs.fromEvent(datepickerInputEl, 'blur')
1410
+ .pipe(operators.first())
1411
+ .subscribe(function () {
1412
+ datepickerInputEl.dispatchEvent(new Event('change'));
1413
+ });
1414
+ datepickerInputEl.select();
1415
+ datepickerInputEl.setRangeText(this.params.charPress);
1416
+ // Ensure the cursor is at the end of the text.
1417
+ datepickerInputEl.setSelectionRange(this.params.charPress.length, this.params.charPress.length);
1418
+ }
1419
+ // this.changeDetector.markForCheck();
1420
+ if (__classPrivateFieldGet(this, _SkyAgGridCellEditorDatepickerComponent_triggerType, "f") === exports.SkyAgGridCellEditorInitialAction.Highlighted) {
1421
+ datepickerInputEl.select();
1422
+ }
1254
1423
  };
1255
1424
  /**
1256
1425
  * getValue is called by agGrid when editing is stopped to get the new value of the cell.
1257
1426
  */
1258
1427
  SkyAgGridCellEditorDatepickerComponent.prototype.getValue = function () {
1259
1428
  this.datepickerInput.nativeElement.blur();
1260
- return this.currentDate;
1261
- };
1262
- SkyAgGridCellEditorDatepickerComponent.prototype.focusOnDatepickerInput = function () {
1263
- this.datepickerInput.nativeElement.focus();
1429
+ return this.editorForm.get('date').value;
1264
1430
  };
1265
1431
  return SkyAgGridCellEditorDatepickerComponent;
1266
1432
  }(agGridCommunity.PopupComponent));
1267
- SkyAgGridCellEditorDatepickerComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyAgGridCellEditorDatepickerComponent, deps: [{ token: i1__namespace$5.SkyThemeService, optional: true }], target: i0__namespace.ɵɵFactoryTarget.Component });
1268
- SkyAgGridCellEditorDatepickerComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: SkyAgGridCellEditorDatepickerComponent, selector: "sky-ag-grid-cell-editor-datepicker", viewQueries: [{ propertyName: "datepickerInput", first: true, predicate: ["skyCellEditorDatepickerInput"], descendants: true, read: i0.ElementRef }], usesInheritance: true, ngImport: i0__namespace, template: "<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", styles: [".sky-ag-grid-cell-editor-datepicker{position:relative;top:1px;left:1px}.sky-ag-grid-cell-editor-datepicker sky-datepicker input.sky-form-control{box-shadow:none;border-width:1px;border-style:solid;border-color:transparent #cdcfd2 transparent transparent}.sky-ag-grid-cell-editor-datepicker sky-datepicker .sky-input-group-datepicker-btn{border-radius:0}:host-context(.sky-theme-modern) .sky-ag-grid-cell-editor-datepicker{position:static;top:initial;left:initial}:host-context(.sky-theme-modern) .sky-ag-grid-cell-editor-datepicker sky-datepicker input.sky-form-control{border-radius:0;border:1px solid #1870B8}:host-context(.sky-theme-modern) .sky-ag-grid-cell-editor-datepicker sky-datepicker input.sky-form-control:focus{border-width:2px!important}.sky-theme-modern .sky-ag-grid-cell-editor-datepicker{position:static;top:initial;left:initial}.sky-theme-modern .sky-ag-grid-cell-editor-datepicker sky-datepicker input.sky-form-control{border-radius:0;border:1px solid #1870B8}.sky-theme-modern .sky-ag-grid-cell-editor-datepicker sky-datepicker input.sky-form-control:focus{border-width:2px!important}\n"], components: [{ type: i2__namespace$1.λ2, selector: "sky-datepicker", inputs: ["pickerClass"], outputs: ["calendarDateRangeChange"] }], directives: [{ type: i1__namespace$4.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__namespace$1.λ3, selector: "[skyDatepickerInput]", inputs: ["dateFormat", "disabled", "maxDate", "minDate", "skyDatepickerInput", "skyDatepickerNoValidate", "startingDay", "strict"] }, { type: i1__namespace$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1__namespace$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush, encapsulation: i0__namespace.ViewEncapsulation.None });
1433
+ _SkyAgGridCellEditorDatepickerComponent_triggerType = new WeakMap();
1434
+ SkyAgGridCellEditorDatepickerComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyAgGridCellEditorDatepickerComponent, deps: [{ token: i0__namespace.ChangeDetectorRef }, { token: i1__namespace$5.SkyThemeService, optional: true }], target: i0__namespace.ɵɵFactoryTarget.Component });
1435
+ SkyAgGridCellEditorDatepickerComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: SkyAgGridCellEditorDatepickerComponent, selector: "sky-ag-grid-cell-editor-datepicker", viewQueries: [{ propertyName: "datepickerInput", first: true, predicate: ["skyCellEditorDatepickerInput"], descendants: true, read: i0.ElementRef }], usesInheritance: true, ngImport: i0__namespace, template: "<div\n class=\"sky-ag-grid-cell-editor-datepicker\"\n [formGroup]=\"editorForm\"\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 formControlName=\"date\"\n skyDatepickerInput\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 #skyCellEditorDatepickerInput\n />\n </sky-datepicker>\n</div>\n", styles: [".sky-ag-grid-cell-editor-datepicker{position:relative;top:1px;left:1px}.sky-ag-grid-cell-editor-datepicker sky-datepicker input.sky-form-control{box-shadow:none;border-width:1px;border-style:solid;border-color:transparent #cdcfd2 transparent transparent}.sky-ag-grid-cell-editor-datepicker sky-datepicker .sky-input-group-datepicker-btn{border-radius:0}:host-context(.sky-theme-modern) .sky-ag-grid-cell-editor-datepicker{position:static;top:initial;left:initial}:host-context(.sky-theme-modern) .sky-ag-grid-cell-editor-datepicker sky-datepicker input.sky-form-control{border-radius:0;border:1px solid #1870B8}:host-context(.sky-theme-modern) .sky-ag-grid-cell-editor-datepicker sky-datepicker input.sky-form-control:focus{border-width:2px!important}.sky-theme-modern .sky-ag-grid-cell-editor-datepicker{position:static;top:initial;left:initial}.sky-theme-modern .sky-ag-grid-cell-editor-datepicker sky-datepicker input.sky-form-control{border-radius:0;border:1px solid #1870B8}.sky-theme-modern .sky-ag-grid-cell-editor-datepicker sky-datepicker input.sky-form-control:focus{border-width:2px!important}\n"], components: [{ type: i2__namespace$1.λ2, selector: "sky-datepicker", inputs: ["pickerClass"], outputs: ["calendarDateRangeChange"] }], directives: [{ type: i1__namespace$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1__namespace$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i1__namespace$4.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: i1__namespace$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1__namespace$4.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i2__namespace$1.λ3, selector: "[skyDatepickerInput]", inputs: ["dateFormat", "disabled", "maxDate", "minDate", "skyDatepickerInput", "skyDatepickerNoValidate", "startingDay", "strict"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush, encapsulation: i0__namespace.ViewEncapsulation.None });
1269
1436
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyAgGridCellEditorDatepickerComponent, decorators: [{
1270
1437
  type: i0.Component,
1271
1438
  args: [{
1272
1439
  selector: 'sky-ag-grid-cell-editor-datepicker',
1273
- template: "<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",
1440
+ template: "<div\n class=\"sky-ag-grid-cell-editor-datepicker\"\n [formGroup]=\"editorForm\"\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 formControlName=\"date\"\n skyDatepickerInput\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 #skyCellEditorDatepickerInput\n />\n </sky-datepicker>\n</div>\n",
1274
1441
  styles: [".sky-ag-grid-cell-editor-datepicker{position:relative;top:1px;left:1px}.sky-ag-grid-cell-editor-datepicker sky-datepicker input.sky-form-control{box-shadow:none;border-width:1px;border-style:solid;border-color:transparent #cdcfd2 transparent transparent}.sky-ag-grid-cell-editor-datepicker sky-datepicker .sky-input-group-datepicker-btn{border-radius:0}:host-context(.sky-theme-modern) .sky-ag-grid-cell-editor-datepicker{position:static;top:initial;left:initial}:host-context(.sky-theme-modern) .sky-ag-grid-cell-editor-datepicker sky-datepicker input.sky-form-control{border-radius:0;border:1px solid #1870B8}:host-context(.sky-theme-modern) .sky-ag-grid-cell-editor-datepicker sky-datepicker input.sky-form-control:focus{border-width:2px!important}.sky-theme-modern .sky-ag-grid-cell-editor-datepicker{position:static;top:initial;left:initial}.sky-theme-modern .sky-ag-grid-cell-editor-datepicker sky-datepicker input.sky-form-control{border-radius:0;border:1px solid #1870B8}.sky-theme-modern .sky-ag-grid-cell-editor-datepicker sky-datepicker input.sky-form-control:focus{border-width:2px!important}\n"],
1275
1442
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
1276
1443
  encapsulation: i0.ViewEncapsulation.None,
1277
1444
  }]
1278
1445
  }], ctorParameters: function () {
1279
- return [{ type: i1__namespace$5.SkyThemeService, decorators: [{
1446
+ return [{ type: i0__namespace.ChangeDetectorRef }, { type: i1__namespace$5.SkyThemeService, decorators: [{
1280
1447
  type: i0.Optional
1281
1448
  }] }];
1282
1449
  }, propDecorators: { datepickerInput: [{
@@ -1290,12 +1457,12 @@
1290
1457
  return SkyAgGridCellEditorDatepickerModule;
1291
1458
  }());
1292
1459
  SkyAgGridCellEditorDatepickerModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyAgGridCellEditorDatepickerModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
1293
- SkyAgGridCellEditorDatepickerModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyAgGridCellEditorDatepickerModule, declarations: [SkyAgGridCellEditorDatepickerComponent], imports: [i2$1.SkyDatepickerModule, i1$4.FormsModule], exports: [SkyAgGridCellEditorDatepickerComponent] });
1294
- SkyAgGridCellEditorDatepickerModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyAgGridCellEditorDatepickerModule, imports: [[i2$1.SkyDatepickerModule, i1$4.FormsModule]] });
1460
+ SkyAgGridCellEditorDatepickerModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyAgGridCellEditorDatepickerModule, declarations: [SkyAgGridCellEditorDatepickerComponent], imports: [i2$1.SkyDatepickerModule, i1$3.ReactiveFormsModule], exports: [SkyAgGridCellEditorDatepickerComponent] });
1461
+ SkyAgGridCellEditorDatepickerModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyAgGridCellEditorDatepickerModule, imports: [[i2$1.SkyDatepickerModule, i1$3.ReactiveFormsModule]] });
1295
1462
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyAgGridCellEditorDatepickerModule, decorators: [{
1296
1463
  type: i0.NgModule,
1297
1464
  args: [{
1298
- imports: [i2$1.SkyDatepickerModule, i1$4.FormsModule],
1465
+ imports: [i2$1.SkyDatepickerModule, i1$3.ReactiveFormsModule],
1299
1466
  declarations: [SkyAgGridCellEditorDatepickerComponent],
1300
1467
  exports: [SkyAgGridCellEditorDatepickerComponent],
1301
1468
  }]
@@ -1330,6 +1497,7 @@
1330
1497
  };
1331
1498
  }
1332
1499
 
1500
+ var _SkyAgGridCellEditorLookupComponent_triggerType;
1333
1501
  /**
1334
1502
  * @internal
1335
1503
  */
@@ -1338,13 +1506,14 @@
1338
1506
  this.changeDetector = changeDetector;
1339
1507
  this.elementRef = elementRef;
1340
1508
  this.isAlive = false;
1341
- this.lookupForm = new i1$4.FormGroup({
1342
- currentSelection: new i1$4.FormControl({
1509
+ this.editorForm = new i1$3.FormGroup({
1510
+ selection: new i1$3.FormControl({
1343
1511
  value: [],
1344
1512
  disabled: false,
1345
1513
  }),
1346
1514
  });
1347
1515
  this.useAsyncSearch = false;
1516
+ _SkyAgGridCellEditorLookupComponent_triggerType.set(this, void 0);
1348
1517
  }
1349
1518
  SkyAgGridCellEditorLookupComponent.prototype.agInit = function (params) {
1350
1519
  var _this = this;
@@ -1352,8 +1521,19 @@
1352
1521
  if (!Array.isArray(this.params.value)) {
1353
1522
  throw new Error("Lookup value must be an array");
1354
1523
  }
1355
- var control = this.lookupForm.get('currentSelection');
1356
- control.setValue(this.params.value);
1524
+ __classPrivateFieldSet(this, _SkyAgGridCellEditorLookupComponent_triggerType, SkyAgGridCellEditorUtils.getEditorInitialAction(params), "f");
1525
+ var control = this.editorForm.get('selection');
1526
+ switch (__classPrivateFieldGet(this, _SkyAgGridCellEditorLookupComponent_triggerType, "f")) {
1527
+ case exports.SkyAgGridCellEditorInitialAction.Delete:
1528
+ control.setValue([]);
1529
+ break;
1530
+ case exports.SkyAgGridCellEditorInitialAction.Replace:
1531
+ case exports.SkyAgGridCellEditorInitialAction.Highlighted:
1532
+ case exports.SkyAgGridCellEditorInitialAction.Untouched:
1533
+ default:
1534
+ control.setValue(params.value);
1535
+ break;
1536
+ }
1357
1537
  if (this.params.skyComponentProperties.disabled) {
1358
1538
  control.disable();
1359
1539
  }
@@ -1378,15 +1558,24 @@
1378
1558
  return this.elementRef.nativeElement;
1379
1559
  };
1380
1560
  SkyAgGridCellEditorLookupComponent.prototype.getValue = function () {
1381
- return this.lookupForm.get('currentSelection').value;
1561
+ return this.editorForm.get('selection').value;
1382
1562
  };
1383
1563
  SkyAgGridCellEditorLookupComponent.prototype.isPopup = function () {
1384
1564
  return true;
1385
1565
  };
1386
- /*istanbul ignore next*/
1387
1566
  SkyAgGridCellEditorLookupComponent.prototype.afterGuiAttached = function () {
1388
- var _a;
1389
- (_a = this.elementRef.nativeElement.querySelector('.sky-lookup-input')) === null || _a === void 0 ? void 0 : _a.focus();
1567
+ var lookupInput = this.elementRef.nativeElement.querySelector('.sky-lookup-input');
1568
+ lookupInput.focus();
1569
+ if (__classPrivateFieldGet(this, _SkyAgGridCellEditorLookupComponent_triggerType, "f") === exports.SkyAgGridCellEditorInitialAction.Replace) {
1570
+ lookupInput.select();
1571
+ lookupInput.setRangeText(this.params.charPress);
1572
+ // Ensure the cursor is at the end of the text.
1573
+ lookupInput.setSelectionRange(lookupInput.value.length, lookupInput.value.length);
1574
+ lookupInput.dispatchEvent(new Event('input'));
1575
+ }
1576
+ if (__classPrivateFieldGet(this, _SkyAgGridCellEditorLookupComponent_triggerType, "f") === exports.SkyAgGridCellEditorInitialAction.Highlighted) {
1577
+ lookupInput.select();
1578
+ }
1390
1579
  };
1391
1580
  SkyAgGridCellEditorLookupComponent.prototype.updateComponentProperties = function (params) {
1392
1581
  var skyLookupProperties = params.skyComponentProperties;
@@ -1394,13 +1583,14 @@
1394
1583
  };
1395
1584
  return SkyAgGridCellEditorLookupComponent;
1396
1585
  }());
1586
+ _SkyAgGridCellEditorLookupComponent_triggerType = new WeakMap();
1397
1587
  SkyAgGridCellEditorLookupComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyAgGridCellEditorLookupComponent, deps: [{ token: i0__namespace.ChangeDetectorRef }, { token: i0__namespace.ElementRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
1398
- SkyAgGridCellEditorLookupComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: SkyAgGridCellEditorLookupComponent, selector: "sky-ag-grid-cell-editor-lookup", host: { properties: { "style.width.px": "this.width" } }, ngImport: i0__namespace, template: "<sky-input-box\n *ngIf=\"isAlive && useAsyncSearch\"\n [disabled]=\"skyComponentProperties?.disabled\"\n [formGroup]=\"lookupForm\"\n>\n <sky-lookup\n [ariaLabel]=\"skyComponentProperties?.ariaLabel\"\n [autocompleteAttribute]=\"skyComponentProperties?.autocompleteAttribute\"\n [data]=\"skyComponentProperties?.data\"\n [debounceTime]=\"skyComponentProperties?.debounceTime\"\n [descriptorProperty]=\"skyComponentProperties?.descriptorProperty\"\n [enableShowMore]=\"skyComponentProperties?.enableShowMore\"\n formControlName=\"currentSelection\"\n [idProperty]=\"skyComponentProperties?.idProperty\"\n [placeholderText]=\"skyComponentProperties?.placeholderText\"\n [propertiesToSearch]=\"skyComponentProperties?.propertiesToSearch\"\n [searchFilters]=\"skyComponentProperties?.searchFilters\"\n [searchResultsLimit]=\"skyComponentProperties?.searchResultsLimit\"\n [searchResultTemplate]=\"skyComponentProperties?.searchResultTemplate\"\n [searchTextMinimumCharacters]=\"\n skyComponentProperties?.searchTextMinimumCharacters\n \"\n (searchAsync)=\"skyComponentProperties.searchAsync($event)\"\n [selectMode]=\"skyComponentProperties?.selectMode\"\n [showAddButton]=\"skyComponentProperties?.showAddButton\"\n [showMoreConfig]=\"skyComponentProperties?.showMoreConfig\"\n [wrapperClass]=\"skyComponentProperties?.wrapperClass\"\n >\n </sky-lookup>\n</sky-input-box>\n<sky-input-box\n *ngIf=\"isAlive && !useAsyncSearch\"\n [disabled]=\"skyComponentProperties?.disabled\"\n [formGroup]=\"lookupForm\"\n>\n <sky-lookup\n [ariaLabel]=\"skyComponentProperties?.ariaLabel\"\n [autocompleteAttribute]=\"skyComponentProperties?.autocompleteAttribute\"\n [data]=\"skyComponentProperties?.data\"\n [debounceTime]=\"skyComponentProperties?.debounceTime\"\n [descriptorProperty]=\"skyComponentProperties?.descriptorProperty\"\n [enableShowMore]=\"skyComponentProperties?.enableShowMore\"\n formControlName=\"currentSelection\"\n [idProperty]=\"skyComponentProperties?.idProperty\"\n [placeholderText]=\"skyComponentProperties?.placeholderText\"\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 [selectMode]=\"skyComponentProperties?.selectMode\"\n [showAddButton]=\"skyComponentProperties?.showAddButton\"\n [showMoreConfig]=\"skyComponentProperties?.showMoreConfig\"\n [wrapperClass]=\"skyComponentProperties?.wrapperClass\"\n >\n </sky-lookup>\n</sky-input-box>\n", styles: [":host{display:block}\n"], components: [{ type: i1__namespace$6.λ10, selector: "sky-input-box", inputs: ["hasErrors", "disabled"] }, { type: i1__namespace$3.λ4, selector: "sky-lookup", inputs: ["ariaLabel", "ariaLabelledBy", "autocompleteAttribute", "data", "disabled", "enableShowMore", "placeholderText", "idProperty", "showAddButton", "showMoreConfig", "selectMode", "wrapperClass"], outputs: ["addClick"] }], directives: [{ type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1__namespace$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1__namespace$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i1__namespace$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1__namespace$4.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
1588
+ SkyAgGridCellEditorLookupComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: SkyAgGridCellEditorLookupComponent, selector: "sky-ag-grid-cell-editor-lookup", host: { properties: { "style.width.px": "this.width" } }, ngImport: i0__namespace, template: "<sky-input-box\n *ngIf=\"isAlive && useAsyncSearch\"\n [disabled]=\"skyComponentProperties?.disabled\"\n [formGroup]=\"editorForm\"\n>\n <sky-lookup\n [ariaLabel]=\"skyComponentProperties?.ariaLabel\"\n [autocompleteAttribute]=\"skyComponentProperties?.autocompleteAttribute\"\n [data]=\"skyComponentProperties?.data\"\n [debounceTime]=\"skyComponentProperties?.debounceTime\"\n [descriptorProperty]=\"skyComponentProperties?.descriptorProperty\"\n [enableShowMore]=\"skyComponentProperties?.enableShowMore\"\n formControlName=\"selection\"\n [idProperty]=\"skyComponentProperties?.idProperty\"\n [placeholderText]=\"skyComponentProperties?.placeholderText\"\n [propertiesToSearch]=\"skyComponentProperties?.propertiesToSearch\"\n [searchFilters]=\"skyComponentProperties?.searchFilters\"\n [searchResultsLimit]=\"skyComponentProperties?.searchResultsLimit\"\n [searchResultTemplate]=\"skyComponentProperties?.searchResultTemplate\"\n [searchTextMinimumCharacters]=\"\n skyComponentProperties?.searchTextMinimumCharacters\n \"\n (searchAsync)=\"skyComponentProperties.searchAsync($event)\"\n [selectMode]=\"skyComponentProperties?.selectMode\"\n [showAddButton]=\"skyComponentProperties?.showAddButton\"\n [showMoreConfig]=\"skyComponentProperties?.showMoreConfig\"\n [wrapperClass]=\"skyComponentProperties?.wrapperClass\"\n >\n </sky-lookup>\n</sky-input-box>\n<sky-input-box\n *ngIf=\"isAlive && !useAsyncSearch\"\n [disabled]=\"skyComponentProperties?.disabled\"\n [formGroup]=\"editorForm\"\n>\n <sky-lookup\n [ariaLabel]=\"skyComponentProperties?.ariaLabel\"\n [autocompleteAttribute]=\"skyComponentProperties?.autocompleteAttribute\"\n [data]=\"skyComponentProperties?.data\"\n [debounceTime]=\"skyComponentProperties?.debounceTime\"\n [descriptorProperty]=\"skyComponentProperties?.descriptorProperty\"\n [enableShowMore]=\"skyComponentProperties?.enableShowMore\"\n formControlName=\"selection\"\n [idProperty]=\"skyComponentProperties?.idProperty\"\n [placeholderText]=\"skyComponentProperties?.placeholderText\"\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 [selectMode]=\"skyComponentProperties?.selectMode\"\n [showAddButton]=\"skyComponentProperties?.showAddButton\"\n [showMoreConfig]=\"skyComponentProperties?.showMoreConfig\"\n [wrapperClass]=\"skyComponentProperties?.wrapperClass\"\n >\n </sky-lookup>\n</sky-input-box>\n", styles: [":host{display:block}\n"], components: [{ type: i1__namespace$6.λ10, selector: "sky-input-box", inputs: ["hasErrors", "disabled"] }, { type: i1__namespace$3.λ4, selector: "sky-lookup", inputs: ["ariaLabel", "ariaLabelledBy", "autocompleteAttribute", "data", "disabled", "enableShowMore", "placeholderText", "idProperty", "showAddButton", "showMoreConfig", "selectMode", "wrapperClass"], outputs: ["addClick"] }], directives: [{ type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1__namespace$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1__namespace$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i1__namespace$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1__namespace$4.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
1399
1589
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyAgGridCellEditorLookupComponent, decorators: [{
1400
1590
  type: i0.Component,
1401
1591
  args: [{
1402
1592
  selector: 'sky-ag-grid-cell-editor-lookup',
1403
- template: "<sky-input-box\n *ngIf=\"isAlive && useAsyncSearch\"\n [disabled]=\"skyComponentProperties?.disabled\"\n [formGroup]=\"lookupForm\"\n>\n <sky-lookup\n [ariaLabel]=\"skyComponentProperties?.ariaLabel\"\n [autocompleteAttribute]=\"skyComponentProperties?.autocompleteAttribute\"\n [data]=\"skyComponentProperties?.data\"\n [debounceTime]=\"skyComponentProperties?.debounceTime\"\n [descriptorProperty]=\"skyComponentProperties?.descriptorProperty\"\n [enableShowMore]=\"skyComponentProperties?.enableShowMore\"\n formControlName=\"currentSelection\"\n [idProperty]=\"skyComponentProperties?.idProperty\"\n [placeholderText]=\"skyComponentProperties?.placeholderText\"\n [propertiesToSearch]=\"skyComponentProperties?.propertiesToSearch\"\n [searchFilters]=\"skyComponentProperties?.searchFilters\"\n [searchResultsLimit]=\"skyComponentProperties?.searchResultsLimit\"\n [searchResultTemplate]=\"skyComponentProperties?.searchResultTemplate\"\n [searchTextMinimumCharacters]=\"\n skyComponentProperties?.searchTextMinimumCharacters\n \"\n (searchAsync)=\"skyComponentProperties.searchAsync($event)\"\n [selectMode]=\"skyComponentProperties?.selectMode\"\n [showAddButton]=\"skyComponentProperties?.showAddButton\"\n [showMoreConfig]=\"skyComponentProperties?.showMoreConfig\"\n [wrapperClass]=\"skyComponentProperties?.wrapperClass\"\n >\n </sky-lookup>\n</sky-input-box>\n<sky-input-box\n *ngIf=\"isAlive && !useAsyncSearch\"\n [disabled]=\"skyComponentProperties?.disabled\"\n [formGroup]=\"lookupForm\"\n>\n <sky-lookup\n [ariaLabel]=\"skyComponentProperties?.ariaLabel\"\n [autocompleteAttribute]=\"skyComponentProperties?.autocompleteAttribute\"\n [data]=\"skyComponentProperties?.data\"\n [debounceTime]=\"skyComponentProperties?.debounceTime\"\n [descriptorProperty]=\"skyComponentProperties?.descriptorProperty\"\n [enableShowMore]=\"skyComponentProperties?.enableShowMore\"\n formControlName=\"currentSelection\"\n [idProperty]=\"skyComponentProperties?.idProperty\"\n [placeholderText]=\"skyComponentProperties?.placeholderText\"\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 [selectMode]=\"skyComponentProperties?.selectMode\"\n [showAddButton]=\"skyComponentProperties?.showAddButton\"\n [showMoreConfig]=\"skyComponentProperties?.showMoreConfig\"\n [wrapperClass]=\"skyComponentProperties?.wrapperClass\"\n >\n </sky-lookup>\n</sky-input-box>\n",
1593
+ template: "<sky-input-box\n *ngIf=\"isAlive && useAsyncSearch\"\n [disabled]=\"skyComponentProperties?.disabled\"\n [formGroup]=\"editorForm\"\n>\n <sky-lookup\n [ariaLabel]=\"skyComponentProperties?.ariaLabel\"\n [autocompleteAttribute]=\"skyComponentProperties?.autocompleteAttribute\"\n [data]=\"skyComponentProperties?.data\"\n [debounceTime]=\"skyComponentProperties?.debounceTime\"\n [descriptorProperty]=\"skyComponentProperties?.descriptorProperty\"\n [enableShowMore]=\"skyComponentProperties?.enableShowMore\"\n formControlName=\"selection\"\n [idProperty]=\"skyComponentProperties?.idProperty\"\n [placeholderText]=\"skyComponentProperties?.placeholderText\"\n [propertiesToSearch]=\"skyComponentProperties?.propertiesToSearch\"\n [searchFilters]=\"skyComponentProperties?.searchFilters\"\n [searchResultsLimit]=\"skyComponentProperties?.searchResultsLimit\"\n [searchResultTemplate]=\"skyComponentProperties?.searchResultTemplate\"\n [searchTextMinimumCharacters]=\"\n skyComponentProperties?.searchTextMinimumCharacters\n \"\n (searchAsync)=\"skyComponentProperties.searchAsync($event)\"\n [selectMode]=\"skyComponentProperties?.selectMode\"\n [showAddButton]=\"skyComponentProperties?.showAddButton\"\n [showMoreConfig]=\"skyComponentProperties?.showMoreConfig\"\n [wrapperClass]=\"skyComponentProperties?.wrapperClass\"\n >\n </sky-lookup>\n</sky-input-box>\n<sky-input-box\n *ngIf=\"isAlive && !useAsyncSearch\"\n [disabled]=\"skyComponentProperties?.disabled\"\n [formGroup]=\"editorForm\"\n>\n <sky-lookup\n [ariaLabel]=\"skyComponentProperties?.ariaLabel\"\n [autocompleteAttribute]=\"skyComponentProperties?.autocompleteAttribute\"\n [data]=\"skyComponentProperties?.data\"\n [debounceTime]=\"skyComponentProperties?.debounceTime\"\n [descriptorProperty]=\"skyComponentProperties?.descriptorProperty\"\n [enableShowMore]=\"skyComponentProperties?.enableShowMore\"\n formControlName=\"selection\"\n [idProperty]=\"skyComponentProperties?.idProperty\"\n [placeholderText]=\"skyComponentProperties?.placeholderText\"\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 [selectMode]=\"skyComponentProperties?.selectMode\"\n [showAddButton]=\"skyComponentProperties?.showAddButton\"\n [showMoreConfig]=\"skyComponentProperties?.showMoreConfig\"\n [wrapperClass]=\"skyComponentProperties?.wrapperClass\"\n >\n </sky-lookup>\n</sky-input-box>\n",
1404
1594
  styles: [":host{display:block}\n"],
1405
1595
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
1406
1596
  }]
@@ -1416,16 +1606,16 @@
1416
1606
  }());
1417
1607
  SkyAgGridCellEditorLookupModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyAgGridCellEditorLookupModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
1418
1608
  SkyAgGridCellEditorLookupModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyAgGridCellEditorLookupModule, declarations: [SkyAgGridCellEditorLookupComponent], imports: [i3.CommonModule,
1419
- i1$4.ReactiveFormsModule,
1609
+ i1$3.ReactiveFormsModule,
1420
1610
  i3$1.SkyI18nModule,
1421
1611
  i1$6.SkyInputBoxModule,
1422
- i1$3.SkyLookupModule], exports: [SkyAgGridCellEditorLookupComponent] });
1612
+ i1$4.SkyLookupModule], exports: [SkyAgGridCellEditorLookupComponent] });
1423
1613
  SkyAgGridCellEditorLookupModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyAgGridCellEditorLookupModule, imports: [[
1424
1614
  i3.CommonModule,
1425
- i1$4.ReactiveFormsModule,
1615
+ i1$3.ReactiveFormsModule,
1426
1616
  i3$1.SkyI18nModule,
1427
1617
  i1$6.SkyInputBoxModule,
1428
- i1$3.SkyLookupModule,
1618
+ i1$4.SkyLookupModule,
1429
1619
  ]] });
1430
1620
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyAgGridCellEditorLookupModule, decorators: [{
1431
1621
  type: i0.NgModule,
@@ -1434,19 +1624,24 @@
1434
1624
  exports: [SkyAgGridCellEditorLookupComponent],
1435
1625
  imports: [
1436
1626
  i3.CommonModule,
1437
- i1$4.ReactiveFormsModule,
1627
+ i1$3.ReactiveFormsModule,
1438
1628
  i3$1.SkyI18nModule,
1439
1629
  i1$6.SkyInputBoxModule,
1440
- i1$3.SkyLookupModule,
1630
+ i1$4.SkyLookupModule,
1441
1631
  ],
1442
1632
  }]
1443
1633
  }] });
1444
1634
 
1635
+ var _SkyAgGridCellEditorNumberComponent_triggerType;
1445
1636
  /**
1446
1637
  * @internal
1447
1638
  */
1448
1639
  var SkyAgGridCellEditorNumberComponent = /** @class */ (function () {
1449
1640
  function SkyAgGridCellEditorNumberComponent() {
1641
+ this.editorForm = new i1$3.FormGroup({
1642
+ number: new i1$3.FormControl(),
1643
+ });
1644
+ _SkyAgGridCellEditorNumberComponent_triggerType.set(this, void 0);
1450
1645
  }
1451
1646
  /**
1452
1647
  * agInit is called by agGrid once after the editor is created and provides the editor with the information it needs.
@@ -1455,7 +1650,21 @@
1455
1650
  SkyAgGridCellEditorNumberComponent.prototype.agInit = function (params) {
1456
1651
  var _a, _b;
1457
1652
  this.params = params;
1458
- this.value = this.params.value;
1653
+ __classPrivateFieldSet(this, _SkyAgGridCellEditorNumberComponent_triggerType, SkyAgGridCellEditorUtils.getEditorInitialAction(params), "f");
1654
+ var control = this.editorForm.get('number');
1655
+ switch (__classPrivateFieldGet(this, _SkyAgGridCellEditorNumberComponent_triggerType, "f")) {
1656
+ case exports.SkyAgGridCellEditorInitialAction.Delete:
1657
+ control.setValue(undefined);
1658
+ break;
1659
+ case exports.SkyAgGridCellEditorInitialAction.Replace:
1660
+ control.setValue(parseFloat(this.params.charPress) || undefined);
1661
+ break;
1662
+ case exports.SkyAgGridCellEditorInitialAction.Highlighted:
1663
+ case exports.SkyAgGridCellEditorInitialAction.Untouched:
1664
+ default:
1665
+ control.setValue(params.value);
1666
+ break;
1667
+ }
1459
1668
  this.max = (_a = params.skyComponentProperties) === null || _a === void 0 ? void 0 : _a.max;
1460
1669
  this.min = (_b = params.skyComponentProperties) === null || _b === void 0 ? void 0 : _b.min;
1461
1670
  this.columnHeader = this.params.colDef.headerName;
@@ -1469,22 +1678,27 @@
1469
1678
  */
1470
1679
  SkyAgGridCellEditorNumberComponent.prototype.afterGuiAttached = function () {
1471
1680
  this.input.nativeElement.focus();
1681
+ if (__classPrivateFieldGet(this, _SkyAgGridCellEditorNumberComponent_triggerType, "f") === exports.SkyAgGridCellEditorInitialAction.Highlighted) {
1682
+ this.input.nativeElement.select();
1683
+ }
1472
1684
  };
1473
1685
  /**
1474
1686
  * getValue is called by agGrid when editing is stopped to get the new value of the cell.
1475
1687
  */
1476
1688
  SkyAgGridCellEditorNumberComponent.prototype.getValue = function () {
1477
- return this.value;
1689
+ var val = this.editorForm.get('number').value;
1690
+ return val !== undefined && val !== null ? val : undefined;
1478
1691
  };
1479
1692
  return SkyAgGridCellEditorNumberComponent;
1480
1693
  }());
1694
+ _SkyAgGridCellEditorNumberComponent_triggerType = new WeakMap();
1481
1695
  SkyAgGridCellEditorNumberComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyAgGridCellEditorNumberComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
1482
- SkyAgGridCellEditorNumberComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: SkyAgGridCellEditorNumberComponent, selector: "sky-ag-grid-cell-editor-number", viewQueries: [{ propertyName: "input", first: true, predicate: ["skyCellEditorNumber"], descendants: true, read: i0.ElementRef }], ngImport: i0__namespace, template: "<input\n type=\"number\"\n [attr.aria-label]=\"\n 'sky_ag_grid_cell_editor_number_aria_label'\n | skyLibResources: columnHeader:rowNumber\n \"\n [style.width.px]=\"columnWidth\"\n [style.height.px]=\"rowHeightWithoutBorders\"\n [(ngModel)]=\"value\"\n [max]=\"max\"\n [min]=\"min\"\n #skyCellEditorNumber\n/>\n", styles: ["input{border:none;text-align:right}\n"], directives: [{ type: i1__namespace$4.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { type: i1__namespace$4.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { type: i1__namespace$4.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { type: i1__namespace$4.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: i1__namespace$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1__namespace$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "skyLibResources": i3__namespace$1.SkyLibResourcesPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
1696
+ SkyAgGridCellEditorNumberComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: SkyAgGridCellEditorNumberComponent, selector: "sky-ag-grid-cell-editor-number", viewQueries: [{ propertyName: "input", first: true, predicate: ["skyCellEditorNumber"], descendants: true, read: i0.ElementRef }], ngImport: i0__namespace, template: "<ng-container [formGroup]=\"editorForm\">\n <input\n formControlName=\"number\"\n type=\"number\"\n [attr.aria-label]=\"\n 'sky_ag_grid_cell_editor_number_aria_label'\n | skyLibResources: columnHeader:rowNumber\n \"\n [style.width.px]=\"columnWidth\"\n [style.height.px]=\"rowHeightWithoutBorders\"\n [max]=\"max\"\n [min]=\"min\"\n #skyCellEditorNumber\n />\n</ng-container>\n", styles: ["input{border:none;text-align:right}\n"], directives: [{ type: i1__namespace$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1__namespace$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i1__namespace$4.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: i1__namespace$4.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { type: i1__namespace$4.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { type: i1__namespace$4.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { type: i1__namespace$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1__namespace$4.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }], pipes: { "skyLibResources": i3__namespace$1.SkyLibResourcesPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
1483
1697
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyAgGridCellEditorNumberComponent, decorators: [{
1484
1698
  type: i0.Component,
1485
1699
  args: [{
1486
1700
  selector: 'sky-ag-grid-cell-editor-number',
1487
- template: "<input\n type=\"number\"\n [attr.aria-label]=\"\n 'sky_ag_grid_cell_editor_number_aria_label'\n | skyLibResources: columnHeader:rowNumber\n \"\n [style.width.px]=\"columnWidth\"\n [style.height.px]=\"rowHeightWithoutBorders\"\n [(ngModel)]=\"value\"\n [max]=\"max\"\n [min]=\"min\"\n #skyCellEditorNumber\n/>\n",
1701
+ template: "<ng-container [formGroup]=\"editorForm\">\n <input\n formControlName=\"number\"\n type=\"number\"\n [attr.aria-label]=\"\n 'sky_ag_grid_cell_editor_number_aria_label'\n | skyLibResources: columnHeader:rowNumber\n \"\n [style.width.px]=\"columnWidth\"\n [style.height.px]=\"rowHeightWithoutBorders\"\n [max]=\"max\"\n [min]=\"min\"\n #skyCellEditorNumber\n />\n</ng-container>\n",
1488
1702
  styles: ["input{border:none;text-align:right}\n"],
1489
1703
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
1490
1704
  }]
@@ -1499,22 +1713,27 @@
1499
1713
  return SkyAgGridCellEditorNumberModule;
1500
1714
  }());
1501
1715
  SkyAgGridCellEditorNumberModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyAgGridCellEditorNumberModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
1502
- SkyAgGridCellEditorNumberModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyAgGridCellEditorNumberModule, declarations: [SkyAgGridCellEditorNumberComponent], imports: [SkyAgGridResourcesModule, i1$4.FormsModule], exports: [SkyAgGridCellEditorNumberComponent] });
1503
- SkyAgGridCellEditorNumberModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyAgGridCellEditorNumberModule, imports: [[SkyAgGridResourcesModule, i1$4.FormsModule]] });
1716
+ SkyAgGridCellEditorNumberModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyAgGridCellEditorNumberModule, declarations: [SkyAgGridCellEditorNumberComponent], imports: [SkyAgGridResourcesModule, i1$3.ReactiveFormsModule], exports: [SkyAgGridCellEditorNumberComponent] });
1717
+ SkyAgGridCellEditorNumberModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyAgGridCellEditorNumberModule, imports: [[SkyAgGridResourcesModule, i1$3.ReactiveFormsModule]] });
1504
1718
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyAgGridCellEditorNumberModule, decorators: [{
1505
1719
  type: i0.NgModule,
1506
1720
  args: [{
1507
- imports: [SkyAgGridResourcesModule, i1$4.FormsModule],
1721
+ imports: [SkyAgGridResourcesModule, i1$3.ReactiveFormsModule],
1508
1722
  declarations: [SkyAgGridCellEditorNumberComponent],
1509
1723
  exports: [SkyAgGridCellEditorNumberComponent],
1510
1724
  }]
1511
1725
  }] });
1512
1726
 
1727
+ var _SkyAgGridCellEditorTextComponent_triggerType;
1513
1728
  /**
1514
1729
  * @internal
1515
1730
  */
1516
1731
  var SkyAgGridCellEditorTextComponent = /** @class */ (function () {
1517
1732
  function SkyAgGridCellEditorTextComponent() {
1733
+ this.editorForm = new i1$3.FormGroup({
1734
+ text: new i1$3.FormControl(),
1735
+ });
1736
+ _SkyAgGridCellEditorTextComponent_triggerType.set(this, void 0);
1518
1737
  }
1519
1738
  /**
1520
1739
  * agInit is called by agGrid once after the editor is created and provides the editor with the information it needs.
@@ -1523,7 +1742,21 @@
1523
1742
  SkyAgGridCellEditorTextComponent.prototype.agInit = function (params) {
1524
1743
  var _a;
1525
1744
  this.params = params;
1526
- this.value = this.params.charPress || this.params.value;
1745
+ __classPrivateFieldSet(this, _SkyAgGridCellEditorTextComponent_triggerType, SkyAgGridCellEditorUtils.getEditorInitialAction(params), "f");
1746
+ var control = this.editorForm.get('text');
1747
+ switch (__classPrivateFieldGet(this, _SkyAgGridCellEditorTextComponent_triggerType, "f")) {
1748
+ case exports.SkyAgGridCellEditorInitialAction.Delete:
1749
+ control.setValue(undefined);
1750
+ break;
1751
+ case exports.SkyAgGridCellEditorInitialAction.Replace:
1752
+ control.setValue(params.charPress);
1753
+ break;
1754
+ case exports.SkyAgGridCellEditorInitialAction.Highlighted:
1755
+ case exports.SkyAgGridCellEditorInitialAction.Untouched:
1756
+ default:
1757
+ control.setValue(params.value);
1758
+ break;
1759
+ }
1527
1760
  this.maxlength = (_a = params.skyComponentProperties) === null || _a === void 0 ? void 0 : _a.maxlength;
1528
1761
  this.columnHeader = this.params.colDef.headerName;
1529
1762
  this.rowNumber = this.params.rowIndex + 1;
@@ -1536,22 +1769,26 @@
1536
1769
  */
1537
1770
  SkyAgGridCellEditorTextComponent.prototype.afterGuiAttached = function () {
1538
1771
  this.input.nativeElement.focus();
1772
+ if (__classPrivateFieldGet(this, _SkyAgGridCellEditorTextComponent_triggerType, "f") === exports.SkyAgGridCellEditorInitialAction.Highlighted) {
1773
+ this.input.nativeElement.select();
1774
+ }
1539
1775
  };
1540
1776
  /**
1541
1777
  * getValue is called by agGrid when editing is stopped to get the new value of the cell.
1542
1778
  */
1543
1779
  SkyAgGridCellEditorTextComponent.prototype.getValue = function () {
1544
- return this.value;
1780
+ return this.editorForm.get('text').value || undefined;
1545
1781
  };
1546
1782
  return SkyAgGridCellEditorTextComponent;
1547
1783
  }());
1784
+ _SkyAgGridCellEditorTextComponent_triggerType = new WeakMap();
1548
1785
  SkyAgGridCellEditorTextComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyAgGridCellEditorTextComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
1549
- SkyAgGridCellEditorTextComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: SkyAgGridCellEditorTextComponent, selector: "sky-ag-grid-cell-editor-text", viewQueries: [{ propertyName: "input", first: true, predicate: ["skyCellEditorText"], descendants: true, read: i0.ElementRef }], ngImport: i0__namespace, template: "<input\n type=\"text\"\n [attr.aria-label]=\"\n 'sky_ag_grid_cell_editor_text_aria_label'\n | skyLibResources: columnHeader:rowNumber\n \"\n [style.width.px]=\"columnWidth\"\n [style.height.px]=\"rowHeightWithoutBorders\"\n [(ngModel)]=\"value\"\n [maxlength]=\"maxlength\"\n #skyCellEditorText\n/>\n", styles: ["input{border:none;padding-left:11px}\n"], directives: [{ type: i1__namespace$4.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: i1__namespace$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1__namespace$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i1__namespace$4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }], pipes: { "skyLibResources": i3__namespace$1.SkyLibResourcesPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
1786
+ SkyAgGridCellEditorTextComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: SkyAgGridCellEditorTextComponent, selector: "sky-ag-grid-cell-editor-text", viewQueries: [{ propertyName: "input", first: true, predicate: ["skyCellEditorText"], descendants: true, read: i0.ElementRef }], ngImport: i0__namespace, template: "<ng-container [formGroup]=\"editorForm\">\n <input\n formControlName=\"text\"\n type=\"text\"\n [attr.aria-label]=\"\n 'sky_ag_grid_cell_editor_text_aria_label'\n | skyLibResources: columnHeader:rowNumber\n \"\n [style.width.px]=\"columnWidth\"\n [style.height.px]=\"rowHeightWithoutBorders\"\n [maxlength]=\"maxlength\"\n #skyCellEditorText\n />\n</ng-container>\n", styles: ["input{border:none;padding-left:11px}\n"], directives: [{ type: i1__namespace$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1__namespace$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i1__namespace$4.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: i1__namespace$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1__namespace$4.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i1__namespace$4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }], pipes: { "skyLibResources": i3__namespace$1.SkyLibResourcesPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
1550
1787
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyAgGridCellEditorTextComponent, decorators: [{
1551
1788
  type: i0.Component,
1552
1789
  args: [{
1553
1790
  selector: 'sky-ag-grid-cell-editor-text',
1554
- template: "<input\n type=\"text\"\n [attr.aria-label]=\"\n 'sky_ag_grid_cell_editor_text_aria_label'\n | skyLibResources: columnHeader:rowNumber\n \"\n [style.width.px]=\"columnWidth\"\n [style.height.px]=\"rowHeightWithoutBorders\"\n [(ngModel)]=\"value\"\n [maxlength]=\"maxlength\"\n #skyCellEditorText\n/>\n",
1791
+ template: "<ng-container [formGroup]=\"editorForm\">\n <input\n formControlName=\"text\"\n type=\"text\"\n [attr.aria-label]=\"\n 'sky_ag_grid_cell_editor_text_aria_label'\n | skyLibResources: columnHeader:rowNumber\n \"\n [style.width.px]=\"columnWidth\"\n [style.height.px]=\"rowHeightWithoutBorders\"\n [maxlength]=\"maxlength\"\n #skyCellEditorText\n />\n</ng-container>\n",
1555
1792
  styles: ["input{border:none;padding-left:11px}\n"],
1556
1793
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
1557
1794
  }]
@@ -1566,12 +1803,12 @@
1566
1803
  return SkyAgGridCellEditorTextModule;
1567
1804
  }());
1568
1805
  SkyAgGridCellEditorTextModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyAgGridCellEditorTextModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
1569
- SkyAgGridCellEditorTextModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyAgGridCellEditorTextModule, declarations: [SkyAgGridCellEditorTextComponent], imports: [SkyAgGridResourcesModule, i1$4.FormsModule], exports: [SkyAgGridCellEditorTextComponent] });
1570
- SkyAgGridCellEditorTextModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyAgGridCellEditorTextModule, imports: [[SkyAgGridResourcesModule, i1$4.FormsModule]] });
1806
+ SkyAgGridCellEditorTextModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyAgGridCellEditorTextModule, declarations: [SkyAgGridCellEditorTextComponent], imports: [SkyAgGridResourcesModule, i1$3.ReactiveFormsModule], exports: [SkyAgGridCellEditorTextComponent] });
1807
+ SkyAgGridCellEditorTextModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyAgGridCellEditorTextModule, imports: [[SkyAgGridResourcesModule, i1$3.ReactiveFormsModule]] });
1571
1808
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyAgGridCellEditorTextModule, decorators: [{
1572
1809
  type: i0.NgModule,
1573
1810
  args: [{
1574
- imports: [SkyAgGridResourcesModule, i1$4.FormsModule],
1811
+ imports: [SkyAgGridResourcesModule, i1$3.ReactiveFormsModule],
1575
1812
  declarations: [SkyAgGridCellEditorTextComponent],
1576
1813
  exports: [SkyAgGridCellEditorTextComponent],
1577
1814
  }]
@@ -1792,14 +2029,14 @@
1792
2029
  SkyAgGridCellRendererCurrencyValidatorComponent], imports: [i3.CommonModule,
1793
2030
  SkyAgGridResourcesModule,
1794
2031
  SkyAgGridCellValidatorModule,
1795
- i1$4.FormsModule,
2032
+ i1$3.FormsModule,
1796
2033
  i1.SkyNumericModule], exports: [SkyAgGridCellRendererCurrencyComponent,
1797
2034
  SkyAgGridCellRendererCurrencyValidatorComponent] });
1798
2035
  SkyAgGridCellRendererCurrencyModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyAgGridCellRendererCurrencyModule, imports: [[
1799
2036
  i3.CommonModule,
1800
2037
  SkyAgGridResourcesModule,
1801
2038
  SkyAgGridCellValidatorModule,
1802
- i1$4.FormsModule,
2039
+ i1$3.FormsModule,
1803
2040
  i1.SkyNumericModule,
1804
2041
  ]] });
1805
2042
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyAgGridCellRendererCurrencyModule, decorators: [{
@@ -1809,7 +2046,7 @@
1809
2046
  i3.CommonModule,
1810
2047
  SkyAgGridResourcesModule,
1811
2048
  SkyAgGridCellValidatorModule,
1812
- i1$4.FormsModule,
2049
+ i1$3.FormsModule,
1813
2050
  i1.SkyNumericModule,
1814
2051
  ],
1815
2052
  declarations: [
@@ -1944,12 +2181,12 @@
1944
2181
  return SkyAgGridCellRendererRowSelectorModule;
1945
2182
  }());
1946
2183
  SkyAgGridCellRendererRowSelectorModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyAgGridCellRendererRowSelectorModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
1947
- SkyAgGridCellRendererRowSelectorModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyAgGridCellRendererRowSelectorModule, declarations: [SkyAgGridCellRendererRowSelectorComponent], imports: [SkyAgGridResourcesModule, i1$6.SkyCheckboxModule, i1$4.FormsModule], exports: [SkyAgGridCellRendererRowSelectorComponent] });
1948
- SkyAgGridCellRendererRowSelectorModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyAgGridCellRendererRowSelectorModule, imports: [[SkyAgGridResourcesModule, i1$6.SkyCheckboxModule, i1$4.FormsModule]] });
2184
+ SkyAgGridCellRendererRowSelectorModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyAgGridCellRendererRowSelectorModule, declarations: [SkyAgGridCellRendererRowSelectorComponent], imports: [SkyAgGridResourcesModule, i1$6.SkyCheckboxModule, i1$3.FormsModule], exports: [SkyAgGridCellRendererRowSelectorComponent] });
2185
+ SkyAgGridCellRendererRowSelectorModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyAgGridCellRendererRowSelectorModule, imports: [[SkyAgGridResourcesModule, i1$6.SkyCheckboxModule, i1$3.FormsModule]] });
1949
2186
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyAgGridCellRendererRowSelectorModule, decorators: [{
1950
2187
  type: i0.NgModule,
1951
2188
  args: [{
1952
- imports: [SkyAgGridResourcesModule, i1$6.SkyCheckboxModule, i1$4.FormsModule],
2189
+ imports: [SkyAgGridResourcesModule, i1$6.SkyCheckboxModule, i1$3.FormsModule],
1953
2190
  declarations: [SkyAgGridCellRendererRowSelectorComponent],
1954
2191
  exports: [SkyAgGridCellRendererRowSelectorComponent],
1955
2192
  }]
@@ -2331,7 +2568,7 @@
2331
2568
  var _this = this;
2332
2569
  var _a, _b, _c, _d, _e, _f;
2333
2570
  // cellClassRules can be functions or string expressions
2334
- var cellClassRuleTrueExpression = 'true';
2571
+ var cellClassRuleTrueExpression = function () { return true; };
2335
2572
  function getEditableFn(isUneditable) {
2336
2573
  return function (params) {
2337
2574
  var isEditable = params.colDef.editable;
@@ -2573,6 +2810,7 @@
2573
2810
  * Generated bundle index. Do not edit.
2574
2811
  */
2575
2812
 
2813
+ exports.SkyAgGridCellEditorUtils = SkyAgGridCellEditorUtils;
2576
2814
  exports.SkyAgGridModule = SkyAgGridModule;
2577
2815
  exports.SkyAgGridService = SkyAgGridService;
2578
2816
  exports["λ1"] = SkyAgGridCellEditorAutocompleteComponent;