@skyux/ag-grid 4.11.0 → 4.12.3

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 (56) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/bundles/skyux-ag-grid.umd.js +287 -53
  3. package/bundles/skyux-ag-grid.umd.js.map +1 -1
  4. package/bundles/skyux-ag-grid.umd.min.js +2 -2
  5. package/bundles/skyux-ag-grid.umd.min.js.map +1 -1
  6. package/css/sky-ag-grid.css +56 -8
  7. package/esm2015/modules/ag-grid/ag-grid-data-manager-adapter.directive.js +49 -14
  8. package/esm2015/modules/ag-grid/ag-grid-row-delete.directive.js +5 -2
  9. package/esm2015/modules/ag-grid/ag-grid.module.js +9 -1
  10. package/esm2015/modules/ag-grid/ag-grid.service.js +53 -13
  11. package/esm2015/modules/ag-grid/cell-editors/cell-editor-lookup/cell-editor-lookup.component.js +68 -0
  12. package/esm2015/modules/ag-grid/cell-editors/cell-editor-lookup/cell-editor-lookup.module.js +25 -0
  13. package/esm2015/modules/ag-grid/cell-renderers/cell-renderer-lookup/cell-renderer-lookup.component.js +32 -0
  14. package/esm2015/modules/ag-grid/cell-renderers/cell-renderer-lookup/cell-renderer-lookup.module.js +16 -0
  15. package/esm2015/modules/ag-grid/cell-validator/ag-grid-cell-validator-tooltip.component.js +3 -3
  16. package/esm2015/modules/ag-grid/types/cell-class.js +2 -1
  17. package/esm2015/modules/ag-grid/types/cell-editor-lookup-params.js +1 -0
  18. package/esm2015/modules/ag-grid/types/cell-renderer-lookup-params.js +1 -0
  19. package/esm2015/modules/ag-grid/types/cell-type.js +2 -1
  20. package/esm2015/modules/ag-grid/types/lookup-properties.js +24 -0
  21. package/esm2015/plugin-resources/ag-grid-resources-provider.js +2 -2
  22. package/esm2015/skyux-ag-grid.js +20 -16
  23. package/esm5/modules/ag-grid/ag-grid-data-manager-adapter.directive.js +51 -14
  24. package/esm5/modules/ag-grid/ag-grid-row-delete.directive.js +2 -2
  25. package/esm5/modules/ag-grid/ag-grid.module.js +9 -1
  26. package/esm5/modules/ag-grid/ag-grid.service.js +63 -23
  27. package/esm5/modules/ag-grid/cell-editors/cell-editor-lookup/cell-editor-lookup.component.js +69 -0
  28. package/esm5/modules/ag-grid/cell-editors/cell-editor-lookup/cell-editor-lookup.module.js +28 -0
  29. package/esm5/modules/ag-grid/cell-renderers/cell-renderer-lookup/cell-renderer-lookup.component.js +33 -0
  30. package/esm5/modules/ag-grid/cell-renderers/cell-renderer-lookup/cell-renderer-lookup.module.js +19 -0
  31. package/esm5/modules/ag-grid/cell-validator/ag-grid-cell-validator-tooltip.component.js +3 -3
  32. package/esm5/modules/ag-grid/types/cell-class.js +2 -1
  33. package/esm5/modules/ag-grid/types/cell-editor-lookup-params.js +1 -0
  34. package/esm5/modules/ag-grid/types/cell-renderer-lookup-params.js +1 -0
  35. package/esm5/modules/ag-grid/types/cell-type.js +2 -1
  36. package/esm5/modules/ag-grid/types/lookup-properties.js +24 -0
  37. package/esm5/plugin-resources/ag-grid-resources-provider.js +2 -2
  38. package/esm5/skyux-ag-grid.js +20 -16
  39. package/fesm2015/skyux-ag-grid.js +256 -33
  40. package/fesm2015/skyux-ag-grid.js.map +1 -1
  41. package/fesm5/skyux-ag-grid.js +273 -43
  42. package/fesm5/skyux-ag-grid.js.map +1 -1
  43. package/modules/ag-grid/ag-grid-data-manager-adapter.directive.d.ts +3 -1
  44. package/modules/ag-grid/cell-editors/cell-editor-lookup/cell-editor-lookup.component.d.ts +22 -0
  45. package/modules/ag-grid/cell-editors/cell-editor-lookup/cell-editor-lookup.module.d.ts +2 -0
  46. package/modules/ag-grid/cell-renderers/cell-renderer-lookup/cell-renderer-lookup.component.d.ts +11 -0
  47. package/modules/ag-grid/cell-renderers/cell-renderer-lookup/cell-renderer-lookup.module.d.ts +2 -0
  48. package/modules/ag-grid/types/cell-class.d.ts +1 -0
  49. package/modules/ag-grid/types/cell-editor-lookup-params.d.ts +5 -0
  50. package/modules/ag-grid/types/cell-renderer-lookup-params.d.ts +5 -0
  51. package/modules/ag-grid/types/cell-type.d.ts +1 -0
  52. package/modules/ag-grid/types/lookup-properties.d.ts +44 -0
  53. package/package.json +3 -3
  54. package/skyux-ag-grid.d.ts +19 -15
  55. package/skyux-ag-grid.metadata.json +1 -1
  56. package/src/assets/locales/resources_en_US.json +4 -0
package/CHANGELOG.md CHANGED
@@ -1,3 +1,21 @@
1
+ # 4.12.3 (2022-01-03)
2
+
3
+ - Added support for wrapped text in custom components. [#177](https://github.com/blackbaud/skyux-ag-grid/pull/177)
4
+ - Fixed an error with the validator popover change detection. [#180](https://github.com/blackbaud/skyux-ag-grid/pull/180)
5
+
6
+ # 4.12.2 (2021-12-02)
7
+
8
+ - Added bug fixes and features from the `master` branch. [#173](https://github.com/blackbaud/skyux-ag-grid/pull/173)
9
+
10
+ # 4.12.1 (2021-11-10)
11
+
12
+ - Added bug fixes and features from the `master` branch. [#165](https://github.com/blackbaud/skyux-ag-grid/pull/165)
13
+
14
+ # 4.12.0 (2021-11-04)
15
+
16
+ - Added bug fixes and features from the `master` branch. [#161](https://github.com/blackbaud/skyux-ag-grid/pull/161)
17
+ - Added AG Grid 26 support. [#162](https://github.com/blackbaud/skyux-ag-grid/pull/162)
18
+
1
19
  # 4.11.0 (2021-09-24)
2
20
 
3
21
  - Fixed the currency column type so the values are right-aligned. [#147](https://github.com/blackbaud/skyux-ag-grid/pull/147)
@@ -321,6 +321,94 @@
321
321
  return SkyAgGridCellEditorDatepickerComponent;
322
322
  }(agGridCommunity.PopupComponent));
323
323
 
324
+ function applySkyLookupPropertiesDefaults(skyLookupProperties) {
325
+ return {
326
+ ariaLabel: skyLookupProperties.ariaLabel || '',
327
+ autocompleteAttribute: skyLookupProperties.autocompleteAttribute || 'off',
328
+ data: skyLookupProperties.data || [],
329
+ debounceTime: skyLookupProperties.debounceTime || 0,
330
+ descriptorProperty: skyLookupProperties.descriptorProperty || 'name',
331
+ disabled: skyLookupProperties.disabled || false,
332
+ enableShowMore: skyLookupProperties.enableShowMore || false,
333
+ idProperty: skyLookupProperties.idProperty || undefined,
334
+ placeholderText: skyLookupProperties.placeholderText || '',
335
+ propertiesToSearch: skyLookupProperties.propertiesToSearch || undefined,
336
+ search: skyLookupProperties.search || undefined,
337
+ searchFilters: skyLookupProperties.searchFilters || [],
338
+ searchResultsLimit: skyLookupProperties.searchResultsLimit || undefined,
339
+ searchResultTemplate: skyLookupProperties.searchResultTemplate || undefined,
340
+ searchTextMinimumCharacters: skyLookupProperties.searchTextMinimumCharacters || 1,
341
+ selectMode: skyLookupProperties.selectMode || undefined,
342
+ showAddButton: skyLookupProperties.showAddButton || false,
343
+ showMoreConfig: skyLookupProperties.showMoreConfig || {},
344
+ wrapperClass: 'ag-custom-component-popup'
345
+ };
346
+ }
347
+
348
+ var SkyAgGridCellEditorLookupComponent = /** @class */ (function () {
349
+ function SkyAgGridCellEditorLookupComponent(changeDetector, elementRef) {
350
+ this.changeDetector = changeDetector;
351
+ this.elementRef = elementRef;
352
+ this.isAlive = true;
353
+ this.lookupForm = new forms.FormGroup({
354
+ currentSelection: new forms.FormControl({
355
+ value: [],
356
+ disabled: false
357
+ })
358
+ });
359
+ }
360
+ SkyAgGridCellEditorLookupComponent.prototype.agInit = function (params) {
361
+ this.params = params;
362
+ if (!Array.isArray(this.params.value)) {
363
+ throw new Error("Lookup value must be an array");
364
+ }
365
+ var control = this.lookupForm.get('currentSelection');
366
+ control.setValue(this.params.value);
367
+ if (this.params.skyComponentProperties.disabled) {
368
+ control.disable();
369
+ }
370
+ this.skyComponentProperties = this.updateComponentProperties(this.params);
371
+ this.changeDetector.markForCheck();
372
+ };
373
+ SkyAgGridCellEditorLookupComponent.prototype.isCancelAfterEnd = function () {
374
+ // Shut down components to commit values before final value syncs to grid.
375
+ this.isAlive = false;
376
+ this.changeDetector.detectChanges();
377
+ return false;
378
+ };
379
+ SkyAgGridCellEditorLookupComponent.prototype.getGui = function () {
380
+ return this.elementRef.nativeElement;
381
+ };
382
+ SkyAgGridCellEditorLookupComponent.prototype.getValue = function () {
383
+ return this.lookupForm.get('currentSelection').value;
384
+ };
385
+ SkyAgGridCellEditorLookupComponent.prototype.isPopup = function () {
386
+ return true;
387
+ };
388
+ /*istanbul ignore next*/
389
+ SkyAgGridCellEditorLookupComponent.prototype.afterGuiAttached = function () {
390
+ var _a;
391
+ (_a = this.elementRef.nativeElement.querySelector('.sky-lookup-input')) === null || _a === void 0 ? void 0 : _a.focus();
392
+ };
393
+ SkyAgGridCellEditorLookupComponent.prototype.updateComponentProperties = function (params) {
394
+ var skyLookupProperties = params.skyComponentProperties;
395
+ return applySkyLookupPropertiesDefaults(skyLookupProperties);
396
+ };
397
+ SkyAgGridCellEditorLookupComponent.ctorParameters = function () { return [
398
+ { type: core.ChangeDetectorRef },
399
+ { type: core.ElementRef }
400
+ ]; };
401
+ SkyAgGridCellEditorLookupComponent = __decorate([
402
+ core.Component({
403
+ selector: 'sky-ag-grid-cell-editor-lookup',
404
+ template: "<sky-input-box *ngIf=\"isAlive\"\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]=\"skyComponentProperties?.searchTextMinimumCharacters\"\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",
405
+ changeDetection: core.ChangeDetectionStrategy.OnPush,
406
+ styles: [":host{display:block}"]
407
+ })
408
+ ], SkyAgGridCellEditorLookupComponent);
409
+ return SkyAgGridCellEditorLookupComponent;
410
+ }());
411
+
324
412
  var SkyAgGridCellEditorNumberComponent = /** @class */ (function () {
325
413
  function SkyAgGridCellEditorNumberComponent() {
326
414
  }
@@ -444,6 +532,36 @@
444
532
  return SkyAgGridCellRendererCurrencyValidatorComponent;
445
533
  }());
446
534
 
535
+ var SkyAgGridCellRendererLookupComponent = /** @class */ (function () {
536
+ function SkyAgGridCellRendererLookupComponent(changeDetector) {
537
+ this.changeDetector = changeDetector;
538
+ this.value = '';
539
+ this.summaryCount = 0;
540
+ }
541
+ SkyAgGridCellRendererLookupComponent.prototype.agInit = function (params) {
542
+ var _a;
543
+ this.summaryCount = ((_a = params.value) === null || _a === void 0 ? void 0 : _a.length) || 0;
544
+ this.value = "" + params.valueFormatted;
545
+ this.changeDetector.markForCheck();
546
+ };
547
+ SkyAgGridCellRendererLookupComponent.prototype.refresh = function (params) {
548
+ this.agInit(params);
549
+ return true;
550
+ };
551
+ SkyAgGridCellRendererLookupComponent.ctorParameters = function () { return [
552
+ { type: core.ChangeDetectorRef }
553
+ ]; };
554
+ SkyAgGridCellRendererLookupComponent = __decorate([
555
+ core.Component({
556
+ selector: 'sky-cell-renderer-lookup',
557
+ template: "<ng-container *ngIf=\"summaryCount > 5; else showValue\">\n {{ 'skyux_lookup_tokens_summary' | skyLibResources:summaryCount }}\n</ng-container>\n<ng-template #showValue>{{ value }}</ng-template>\n",
558
+ changeDetection: core.ChangeDetectionStrategy.OnPush,
559
+ styles: [":host{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}"]
560
+ })
561
+ ], SkyAgGridCellRendererLookupComponent);
562
+ return SkyAgGridCellRendererLookupComponent;
563
+ }());
564
+
447
565
  var SkyAgGridCellRendererRowSelectorComponent = /** @class */ (function () {
448
566
  function SkyAgGridCellRendererRowSelectorComponent(changeDetection) {
449
567
  this.changeDetection = changeDetection;
@@ -553,6 +671,7 @@
553
671
  SkyCellClass["Date"] = "sky-ag-grid-cell-date";
554
672
  SkyCellClass["Editable"] = "sky-ag-grid-cell-editable";
555
673
  SkyCellClass["Invalid"] = "sky-ag-grid-cell-invalid";
674
+ SkyCellClass["Lookup"] = "sky-ag-grid-cell-lookup";
556
675
  SkyCellClass["Number"] = "sky-ag-grid-cell-number";
557
676
  SkyCellClass["RowSelector"] = "sky-ag-grid-cell-row-selector";
558
677
  SkyCellClass["Text"] = "sky-ag-grid-cell-text";
@@ -565,6 +684,7 @@
565
684
  SkyCellType["Currency"] = "skyCellCurrency";
566
685
  SkyCellType["CurrencyValidator"] = "skyCellCurrencyValidator";
567
686
  SkyCellType["Date"] = "skyCellDate";
687
+ SkyCellType["Lookup"] = "skyCellLookup";
568
688
  SkyCellType["Number"] = "skyCellNumber";
569
689
  SkyCellType["NumberValidator"] = "skyCellNumberValidator";
570
690
  SkyCellType["RowSelector"] = "skyCellRowSelector";
@@ -753,18 +873,19 @@
753
873
  }
754
874
  function getValidatorCellRendererSelector(component, fallback) {
755
875
  return function (params) {
756
- var _a, _b, _c, _d;
757
- if (typeof ((_c = (_b = (_a = params.colDef) === null || _a === void 0 ? void 0 : _a.cellRendererParams) === null || _b === void 0 ? void 0 : _b.skyComponentProperties) === null || _c === void 0 ? void 0 : _c.validator) === 'function') {
876
+ var _a, _b;
877
+ if (params.colDef && typeof ((_b = (_a = params.colDef.cellRendererParams) === null || _a === void 0 ? void 0 : _a.skyComponentProperties) === null || _b === void 0 ? void 0 : _b.validator) === 'function') {
758
878
  if (!params.colDef.cellRendererParams.skyComponentProperties.validator(params.value, params.data, params.rowIndex)) {
759
879
  return {
760
880
  component: component,
761
- params: __assign({}, (_d = params.colDef) === null || _d === void 0 ? void 0 : _d.cellRendererParams)
881
+ params: __assign({}, params.colDef.cellRendererParams)
762
882
  };
763
883
  }
764
884
  }
765
885
  return fallback;
766
886
  };
767
887
  }
888
+ var rowNodeId = 1;
768
889
  /**
769
890
  * A service that provides default styling and behavior for agGrids in SKY UX SPAs.
770
891
  */
@@ -807,9 +928,9 @@
807
928
  return mergedGridOptions;
808
929
  };
809
930
  SkyAgGridService.prototype.getDefaultGridOptions = function (args) {
810
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
931
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
811
932
  var _this = this;
812
- var _k, _l, _m, _o, _p, _q, _r, _s;
933
+ var _l, _m, _o, _p, _q, _r;
813
934
  // cellClassRules can be functions or string expressions
814
935
  var cellClassRuleTrueExpression = 'true';
815
936
  function getEditableFn(isUneditable) {
@@ -828,8 +949,8 @@
828
949
  _a);
829
950
  function getValidatorFn() {
830
951
  return function (param) {
831
- var _a, _b, _c;
832
- if (typeof ((_c = (_b = (_a = param.colDef) === null || _a === void 0 ? void 0 : _a.cellRendererParams) === null || _b === void 0 ? void 0 : _b.skyComponentProperties) === null || _c === void 0 ? void 0 : _c.validator) === 'function') {
952
+ var _a, _b;
953
+ if (param.colDef && typeof ((_b = (_a = param.colDef.cellRendererParams) === null || _a === void 0 ? void 0 : _a.skyComponentProperties) === null || _b === void 0 ? void 0 : _b.validator) === 'function') {
833
954
  return !param.colDef.cellRendererParams.skyComponentProperties.validator(param.value, param.data, param.rowIndex);
834
955
  }
835
956
  return false;
@@ -858,19 +979,34 @@
858
979
  cellClassRules: __assign((_f = {}, _f[exports.SkyCellClass.Date] = cellClassRuleTrueExpression, _f), editableCellClassRules),
859
980
  cellEditorFramework: SkyAgGridCellEditorDatepickerComponent,
860
981
  comparator: dateComparator,
861
- minWidth: ((_l = (_k = this.currentTheme) === null || _k === void 0 ? void 0 : _k.theme) === null || _l === void 0 ? void 0 : _l.name) === 'modern' ? 180 : 160,
982
+ minWidth: ((_m = (_l = this.currentTheme) === null || _l === void 0 ? void 0 : _l.theme) === null || _m === void 0 ? void 0 : _m.name) === 'modern' ? 180 : 160,
862
983
  valueFormatter: function (params) { return _this.dateFormatter(params, args.locale); }
863
984
  },
985
+ _c[exports.SkyCellType.Lookup] = {
986
+ cellClassRules: __assign((_g = {}, _g[exports.SkyCellClass.Lookup] = cellClassRuleTrueExpression, _g), editableCellClassRules),
987
+ cellEditorFramework: SkyAgGridCellEditorLookupComponent,
988
+ cellRendererFramework: SkyAgGridCellRendererLookupComponent,
989
+ valueFormatter: function (params) {
990
+ var lookupProperties = applySkyLookupPropertiesDefaults(params);
991
+ return (params.value || [])
992
+ .map(function (value) {
993
+ return value[lookupProperties.descriptorProperty];
994
+ })
995
+ .filter(function (value) { return value !== '' && value !== undefined; })
996
+ .join('; ');
997
+ },
998
+ minWidth: 185
999
+ },
864
1000
  _c[exports.SkyCellType.Number] = {
865
- cellClassRules: __assign((_g = {}, _g[exports.SkyCellClass.Number] = cellClassRuleTrueExpression, _g), editableCellClassRules),
1001
+ cellClassRules: __assign((_h = {}, _h[exports.SkyCellClass.Number] = cellClassRuleTrueExpression, _h), editableCellClassRules),
866
1002
  cellEditorFramework: SkyAgGridCellEditorNumberComponent,
867
1003
  headerClass: exports.SkyHeaderClass.RightAligned
868
1004
  },
869
1005
  _c[exports.SkyCellType.RowSelector] = {
870
- cellClassRules: (_h = {},
871
- _h[exports.SkyCellClass.RowSelector] = cellClassRuleTrueExpression,
872
- _h[exports.SkyCellClass.Uneditable] = cellClassRuleTrueExpression,
873
- _h),
1006
+ cellClassRules: (_j = {},
1007
+ _j[exports.SkyCellClass.RowSelector] = cellClassRuleTrueExpression,
1008
+ _j[exports.SkyCellClass.Uneditable] = cellClassRuleTrueExpression,
1009
+ _j),
874
1010
  cellRendererFramework: SkyAgGridCellRendererRowSelectorComponent,
875
1011
  headerName: '',
876
1012
  minWidth: 55,
@@ -879,7 +1015,7 @@
879
1015
  width: 55
880
1016
  },
881
1017
  _c[exports.SkyCellType.Text] = {
882
- cellClassRules: __assign((_j = {}, _j[exports.SkyCellClass.Text] = cellClassRuleTrueExpression, _j), editableCellClassRules),
1018
+ cellClassRules: __assign((_k = {}, _k[exports.SkyCellClass.Text] = cellClassRuleTrueExpression, _k), editableCellClassRules),
883
1019
  cellEditorFramework: SkyAgGridCellEditorTextComponent
884
1020
  },
885
1021
  _c[exports.SkyCellType.Validator] = {
@@ -901,7 +1037,21 @@
901
1037
  'sky-ag-grid-cell-renderer-currency-validator': SkyAgGridCellRendererCurrencyValidatorComponent,
902
1038
  'sky-ag-grid-cell-renderer-validator-tooltip': SkyAgGridCellRendererValidatorTooltipComponent
903
1039
  },
904
- headerHeight: ((_o = (_m = this.currentTheme) === null || _m === void 0 ? void 0 : _m.theme) === null || _o === void 0 ? void 0 : _o.name) === 'modern' ? 60 : 37,
1040
+ getRowNodeId: function (data) {
1041
+ if ('id' in data && data.id) {
1042
+ return "" + data.id;
1043
+ }
1044
+ return "" + rowNodeId++;
1045
+ },
1046
+ getRowClass: function (params) {
1047
+ if (params.node.id) {
1048
+ return "sky-ag-grid-row-" + params.node.id;
1049
+ }
1050
+ else {
1051
+ return undefined;
1052
+ }
1053
+ },
1054
+ headerHeight: ((_p = (_o = this.currentTheme) === null || _o === void 0 ? void 0 : _o.theme) === null || _p === void 0 ? void 0 : _p.name) === 'modern' ? 60 : 37,
905
1055
  icons: {
906
1056
  sortDescending: this.getIconTemplate('caret-down'),
907
1057
  sortAscending: this.getIconTemplate('caret-up'),
@@ -912,7 +1062,7 @@
912
1062
  columnMovePin: this.getIconTemplate('arrows')
913
1063
  },
914
1064
  onCellFocused: function () { return _this.onCellFocused(); },
915
- rowHeight: ((_q = (_p = this.currentTheme) === null || _p === void 0 ? void 0 : _p.theme) === null || _q === void 0 ? void 0 : _q.name) === 'modern' ? 60 : 38,
1065
+ rowHeight: ((_r = (_q = this.currentTheme) === null || _q === void 0 ? void 0 : _q.theme) === null || _r === void 0 ? void 0 : _r.name) === 'modern' ? 60 : 38,
916
1066
  rowMultiSelectWithClick: true,
917
1067
  rowSelection: 'multiple',
918
1068
  singleClickEdit: true,
@@ -930,9 +1080,12 @@
930
1080
  validatorMessage: 'Please enter a valid currency'
931
1081
  }
932
1082
  } });
933
- (_r = this.resources) === null || _r === void 0 ? void 0 : _r.getString('sky_ag_grid_cell_renderer_currency_validator_message').subscribe(function (value) {
934
- defaultSkyGridOptions.columnTypes[exports.SkyCellType.CurrencyValidator].cellRendererParams.skyComponentProperties.validatorMessage = value;
935
- });
1083
+ /*istanbul ignore else*/
1084
+ if (this.resources) {
1085
+ this.resources.getString('sky_ag_grid_cell_renderer_currency_validator_message').subscribe(function (value) {
1086
+ defaultSkyGridOptions.columnTypes[exports.SkyCellType.CurrencyValidator].cellRendererParams.skyComponentProperties.validatorMessage = value;
1087
+ });
1088
+ }
936
1089
  defaultSkyGridOptions.columnTypes[exports.SkyCellType.NumberValidator] = __assign(__assign(__assign({}, defaultSkyGridOptions.columnTypes[exports.SkyCellType.Validator]), defaultSkyGridOptions.columnTypes[exports.SkyCellType.Number]), { cellClassRules: __assign(__assign({}, defaultSkyGridOptions.columnTypes[exports.SkyCellType.Validator].cellClassRules), defaultSkyGridOptions.columnTypes[exports.SkyCellType.Number].cellClassRules), cellRendererParams: {
937
1090
  skyComponentProperties: {
938
1091
  validator: function (value, data, rowIndex) {
@@ -941,9 +1094,12 @@
941
1094
  validatorMessage: 'Please enter a valid number'
942
1095
  }
943
1096
  } });
944
- (_s = this.resources) === null || _s === void 0 ? void 0 : _s.getString('sky_ag_grid_cell_renderer_number_validator_message').subscribe(function (value) {
945
- defaultSkyGridOptions.columnTypes[exports.SkyCellType.NumberValidator].cellRendererParams.skyComponentProperties.validatorMessage = value;
946
- });
1097
+ /*istanbul ignore else*/
1098
+ if (this.resources) {
1099
+ this.resources.getString('sky_ag_grid_cell_renderer_number_validator_message').subscribe(function (value) {
1100
+ defaultSkyGridOptions.columnTypes[exports.SkyCellType.NumberValidator].cellRendererParams.skyComponentProperties.validatorMessage = value;
1101
+ });
1102
+ }
947
1103
  return defaultSkyGridOptions;
948
1104
  };
949
1105
  SkyAgGridService.prototype.onCellFocused = function () {
@@ -962,6 +1118,7 @@
962
1118
  if (date && typeof date === 'string') {
963
1119
  date = new Date(params.value);
964
1120
  }
1121
+ // @ts-ignore
965
1122
  var formattedDate = date && date.toLocaleDateString && date.toLocaleDateString(locale, dateConfig);
966
1123
  if (date && date.getTime && !isNaN(date.getTime())) {
967
1124
  return formattedDate;
@@ -1094,7 +1251,7 @@
1094
1251
 
1095
1252
  var SkyAgGridResourcesProvider = /** @class */ (function () {
1096
1253
  function SkyAgGridResourcesProvider() {
1097
- this.resources = { "EN-US": { "sky_ag_grid_row_selector_aria_label": "Row selector for row {0}", "sky_ag_grid_cell_editor_number_aria_label": "Editable number {0} for row {1}", "sky_ag_grid_cell_editor_text_aria_label": "Editable text {0} for row {1}", "sky_ag_grid_cell_editor_autocomplete_aria_label": "Editable autocomplete {0} for row {1}", "sky_ag_grid_cell_renderer_currency_aria_label": "Editable currency {0} for row {1}", "sky_ag_grid_cell_renderer_number_validator_message": "Please enter a valid number", "sky_ag_grid_cell_renderer_currency_validator_message": "Please enter a valid currency" } };
1254
+ this.resources = { "EN-US": { "sky_ag_grid_row_selector_aria_label": "Row selector for row {0}", "sky_ag_grid_cell_editor_number_aria_label": "Editable number {0} for row {1}", "sky_ag_grid_cell_editor_text_aria_label": "Editable text {0} for row {1}", "sky_ag_grid_cell_editor_autocomplete_aria_label": "Editable autocomplete {0} for row {1}", "sky_ag_grid_cell_renderer_currency_aria_label": "Editable currency {0} for row {1}", "sky_ag_grid_cell_renderer_number_validator_message": "Please enter a valid number", "sky_ag_grid_cell_renderer_currency_validator_message": "Please enter a valid currency", "skyux_lookup_tokens_summary": "{0} items selected" } };
1098
1255
  }
1099
1256
  SkyAgGridResourcesProvider.prototype.getString = function (localeInfo, name) {
1100
1257
  return i18n.getStringForLocale(this.resources, localeInfo.locale, name);
@@ -1164,6 +1321,25 @@
1164
1321
  return SkyAgGridCellEditorDatepickerModule;
1165
1322
  }());
1166
1323
 
1324
+ var SkyAgGridCellEditorLookupModule = /** @class */ (function () {
1325
+ function SkyAgGridCellEditorLookupModule() {
1326
+ }
1327
+ SkyAgGridCellEditorLookupModule = __decorate([
1328
+ core.NgModule({
1329
+ declarations: [SkyAgGridCellEditorLookupComponent],
1330
+ exports: [SkyAgGridCellEditorLookupComponent],
1331
+ imports: [
1332
+ common.CommonModule,
1333
+ forms.ReactiveFormsModule,
1334
+ SkyAgGridResourcesModule,
1335
+ forms$1.SkyInputBoxModule,
1336
+ lookup.SkyLookupModule
1337
+ ]
1338
+ })
1339
+ ], SkyAgGridCellEditorLookupModule);
1340
+ return SkyAgGridCellEditorLookupModule;
1341
+ }());
1342
+
1167
1343
  var SkyAgGridCellEditorNumberModule = /** @class */ (function () {
1168
1344
  function SkyAgGridCellEditorNumberModule() {
1169
1345
  }
@@ -1204,6 +1380,19 @@
1204
1380
  return SkyAgGridCellEditorTextModule;
1205
1381
  }());
1206
1382
 
1383
+ var SkyAgGridCellRendererLookupModule = /** @class */ (function () {
1384
+ function SkyAgGridCellRendererLookupModule() {
1385
+ }
1386
+ SkyAgGridCellRendererLookupModule = __decorate([
1387
+ core.NgModule({
1388
+ declarations: [SkyAgGridCellRendererLookupComponent],
1389
+ exports: [SkyAgGridCellRendererLookupComponent],
1390
+ imports: [common.CommonModule, SkyAgGridResourcesModule]
1391
+ })
1392
+ ], SkyAgGridCellRendererLookupModule);
1393
+ return SkyAgGridCellRendererLookupModule;
1394
+ }());
1395
+
1207
1396
  var SkyAgGridCellRendererRowSelectorModule = /** @class */ (function () {
1208
1397
  function SkyAgGridCellRendererRowSelectorModule() {
1209
1398
  }
@@ -1314,13 +1503,30 @@
1314
1503
  agGrid.api.sizeColumnsToFit();
1315
1504
  });
1316
1505
  agGrid.columnMoved
1506
+ .pipe(operators.takeUntil(this.ngUnsubscribe), operators.filter(function (event) {
1507
+ return ![
1508
+ 'gridInitializing',
1509
+ 'uiColumnResized',
1510
+ 'uiColumnDragged',
1511
+ 'api'
1512
+ ].includes(event.source);
1513
+ }))
1514
+ .subscribe(function (value) {
1515
+ _this.updateColumnsInCurrentDataState(value.columnApi);
1516
+ });
1517
+ var currentColumns;
1518
+ agGrid.dragStarted
1317
1519
  .pipe(operators.takeUntil(this.ngUnsubscribe))
1318
- .subscribe(function (event) {
1319
- var columnOrder = agGrid.columnApi.getAllDisplayedVirtualColumns().map(function (col) { return col.getColDef().colId; });
1320
- if (event.source !== 'api') {
1321
- var viewState = _this.currentDataState.getViewStateById(_this.viewConfig.id);
1322
- viewState.displayedColumnIds = columnOrder;
1323
- _this.dataManagerSvc.updateDataState(_this.currentDataState.addOrUpdateView(_this.viewConfig.id, viewState), _this.viewConfig.id);
1520
+ .subscribe(function (value) {
1521
+ currentColumns = _this.getColumnOrder(value.columnApi);
1522
+ });
1523
+ agGrid.dragStopped
1524
+ .pipe(operators.takeUntil(this.ngUnsubscribe))
1525
+ .subscribe(function (value) {
1526
+ var newColumns = _this.getColumnOrder(value.columnApi);
1527
+ var hasChanged = currentColumns.findIndex(function (colId, i) { return colId !== newColumns[i]; });
1528
+ if (hasChanged > -1) {
1529
+ _this.updateColumnsInCurrentDataState(value.columnApi);
1324
1530
  }
1325
1531
  });
1326
1532
  agGrid.rowSelected
@@ -1342,7 +1548,6 @@
1342
1548
  agGrid.sortChanged
1343
1549
  .pipe(operators.takeUntil(this.ngUnsubscribe))
1344
1550
  .subscribe(function () {
1345
- var _a;
1346
1551
  var gridSortModel = agGrid.api.getSortModel();
1347
1552
  var sortOption;
1348
1553
  /* istanbul ignore else */
@@ -1350,20 +1555,41 @@
1350
1555
  var activeSortModel_1 = gridSortModel[0];
1351
1556
  var activeSortColumn_1 = agGrid.columnApi.getColumn(activeSortModel_1.colId);
1352
1557
  var dataManagerConfig = _this.dataManagerSvc.getCurrentDataManagerConfig();
1353
- sortOption = (_a = dataManagerConfig.sortOptions) === null || _a === void 0 ? void 0 : _a.find(function (option) {
1354
- return option.propertyName === activeSortColumn_1.getColDef().field &&
1355
- option.descending === (activeSortModel_1.sort === 'desc');
1356
- });
1558
+ /* istanbul ignore else */
1559
+ if (dataManagerConfig.sortOptions) {
1560
+ sortOption = dataManagerConfig.sortOptions.find(function (option) {
1561
+ return option.propertyName === activeSortColumn_1.getColDef().field &&
1562
+ option.descending === (activeSortModel_1.sort === 'desc');
1563
+ });
1564
+ }
1565
+ else {
1566
+ sortOption = undefined;
1567
+ }
1357
1568
  }
1358
1569
  _this.currentDataState.activeSortOption = sortOption;
1359
1570
  _this.dataManagerSvc.updateDataState(_this.currentDataState, _this.viewConfig.id);
1360
1571
  });
1361
1572
  };
1573
+ SkyAgGridDataManagerAdapterDirective.prototype.updateColumnsInCurrentDataState = function (columnApi) {
1574
+ var columnOrder = this.getColumnOrder(columnApi);
1575
+ var viewState = this.currentDataState.getViewStateById(this.viewConfig.id);
1576
+ viewState.displayedColumnIds = columnOrder;
1577
+ this.dataManagerSvc.updateDataState(this.currentDataState.addOrUpdateView(this.viewConfig.id, viewState), this.viewConfig.id);
1578
+ };
1579
+ SkyAgGridDataManagerAdapterDirective.prototype.getColumnOrder = function (columnApi) {
1580
+ return columnApi
1581
+ .getAllDisplayedVirtualColumns()
1582
+ .map(function (col) { return col.getColDef().colId; });
1583
+ };
1362
1584
  SkyAgGridDataManagerAdapterDirective.prototype.displayColumns = function (dataState) {
1363
1585
  var e_1, _a;
1364
1586
  var agGrid = this.currentAgGrid;
1365
1587
  var viewState = dataState.getViewStateById(this.viewConfig.id);
1366
- var displayedColumnIds = viewState.displayedColumnIds || [];
1588
+ var displayedColumnIds = [];
1589
+ /*istanbul ignore else*/
1590
+ if (viewState.displayedColumnIds) {
1591
+ displayedColumnIds = viewState.displayedColumnIds;
1592
+ }
1367
1593
  var columns = agGrid.columnApi.getAllColumns();
1368
1594
  try {
1369
1595
  for (var columns_1 = __values(columns), columns_1_1 = columns_1.next(); !columns_1_1.done; columns_1_1 = columns_1.next()) {
@@ -1456,7 +1682,7 @@
1456
1682
  var _this = this;
1457
1683
  this.zone.run(function () {
1458
1684
  _this.indicatorShouldShow = false;
1459
- _this.changeDetector.markForCheck();
1685
+ _this.changeDetector.detectChanges();
1460
1686
  });
1461
1687
  };
1462
1688
  SkyAgGridCellValidatorTooltipComponent.prototype.hidePopover = function () {
@@ -1466,7 +1692,7 @@
1466
1692
  var _this = this;
1467
1693
  this.zone.run(function () {
1468
1694
  _this.indicatorShouldShow = true;
1469
- _this.changeDetector.markForCheck();
1695
+ _this.changeDetector.detectChanges();
1470
1696
  });
1471
1697
  };
1472
1698
  SkyAgGridCellValidatorTooltipComponent.prototype.showPopover = function () {
@@ -1745,7 +1971,7 @@
1745
1971
  return this.rowDeleteConfigs.find(function (rowDelete) { return rowDelete.id === row.id; });
1746
1972
  };
1747
1973
  SkyAgGridRowDeleteDirective.prototype.affixToRow = function (affixer, id) {
1748
- var rowElement = this.elementRef.nativeElement.querySelector('[row-id="' + id + '"] div[aria-colindex="1"]');
1974
+ var rowElement = this.elementRef.nativeElement.querySelector("\n [row-id=\"" + id + "\"] div[aria-colindex=\"1\"],\n .ag-row.sky-ag-grid-row-" + id + " div[aria-colindex=\"1\"]\n ");
1749
1975
  // This covers cases where AG Grid places the column index on an inner element (such as with the `enableCellTextSelection` option)
1750
1976
  // This appears to have been fixed by AG Grid in version 24 and so it is not testable after that version.
1751
1977
  /* istanbul ignore if */
@@ -1882,9 +2108,11 @@
1882
2108
  common.CommonModule,
1883
2109
  SkyAgGridCellEditorAutocompleteModule,
1884
2110
  SkyAgGridCellEditorDatepickerModule,
2111
+ SkyAgGridCellEditorLookupModule,
1885
2112
  SkyAgGridCellEditorNumberModule,
1886
2113
  SkyAgGridCellEditorCurrencyModule,
1887
2114
  SkyAgGridCellRendererCurrencyModule,
2115
+ SkyAgGridCellRendererLookupModule,
1888
2116
  SkyAgGridCellRendererRowSelectorModule,
1889
2117
  SkyAgGridCellRendererValidatorTooltipModule,
1890
2118
  SkyAgGridCellValidatorModule,
@@ -1907,10 +2135,12 @@
1907
2135
  entryComponents: [
1908
2136
  SkyAgGridCellEditorAutocompleteComponent,
1909
2137
  SkyAgGridCellEditorDatepickerComponent,
2138
+ SkyAgGridCellEditorLookupComponent,
1910
2139
  SkyAgGridCellEditorNumberComponent,
1911
2140
  SkyAgGridCellEditorCurrencyComponent,
1912
2141
  SkyAgGridCellRendererCurrencyComponent,
1913
2142
  SkyAgGridCellRendererCurrencyValidatorComponent,
2143
+ SkyAgGridCellRendererLookupComponent,
1914
2144
  SkyAgGridCellRendererRowSelectorComponent,
1915
2145
  SkyAgGridCellRendererValidatorTooltipComponent,
1916
2146
  SkyAgGridCellEditorTextComponent,
@@ -1925,6 +2155,10 @@
1925
2155
  exports.SkyAgGridService = SkyAgGridService;
1926
2156
  exports.ɵa = SkyAgGridDataManagerAdapterDirective;
1927
2157
  exports.ɵb = SkyAgGridWrapperComponent;
2158
+ exports.ɵba = SkyAgGridCellRendererValidatorTooltipModule;
2159
+ exports.ɵbb = SkyAgGridCellRendererValidatorTooltipComponent;
2160
+ exports.ɵbc = SkyAgGridCellEditorTextModule;
2161
+ exports.ɵbd = SkyAgGridCellEditorTextComponent;
1928
2162
  exports.ɵc = SkyAgGridAdapterService;
1929
2163
  exports.ɵd = SkyAgGridRowDeleteComponent;
1930
2164
  exports.ɵe = SkyAgGridRowDeleteDirective;
@@ -1934,21 +2168,21 @@
1934
2168
  exports.ɵi = SkyAgGridCellEditorAutocompleteComponent;
1935
2169
  exports.ɵj = SkyAgGridCellEditorDatepickerModule;
1936
2170
  exports.ɵk = SkyAgGridCellEditorDatepickerComponent;
1937
- exports.ɵl = SkyAgGridCellEditorNumberModule;
1938
- exports.ɵm = SkyAgGridCellEditorNumberComponent;
1939
- exports.ɵn = SkyAgGridCellEditorCurrencyModule;
1940
- exports.ɵo = SkyAgGridCellEditorCurrencyComponent;
1941
- exports.ɵp = SkyAgGridCellRendererCurrencyModule;
1942
- exports.ɵq = SkyAgGridCellValidatorModule;
1943
- exports.ɵr = SkyAgGridCellValidatorTooltipComponent;
1944
- exports.ɵs = SkyAgGridCellRendererCurrencyComponent;
1945
- exports.ɵt = SkyAgGridCellRendererCurrencyValidatorComponent;
1946
- exports.ɵu = SkyAgGridCellRendererRowSelectorModule;
1947
- exports.ɵv = SkyAgGridCellRendererRowSelectorComponent;
1948
- exports.ɵw = SkyAgGridCellRendererValidatorTooltipModule;
1949
- exports.ɵx = SkyAgGridCellRendererValidatorTooltipComponent;
1950
- exports.ɵy = SkyAgGridCellEditorTextModule;
1951
- exports.ɵz = SkyAgGridCellEditorTextComponent;
2171
+ exports.ɵl = SkyAgGridCellEditorLookupModule;
2172
+ exports.ɵm = SkyAgGridCellEditorLookupComponent;
2173
+ exports.ɵn = SkyAgGridCellEditorNumberModule;
2174
+ exports.ɵo = SkyAgGridCellEditorNumberComponent;
2175
+ exports.ɵp = SkyAgGridCellEditorCurrencyModule;
2176
+ exports.ɵq = SkyAgGridCellEditorCurrencyComponent;
2177
+ exports.ɵr = SkyAgGridCellRendererCurrencyModule;
2178
+ exports.ɵs = SkyAgGridCellValidatorModule;
2179
+ exports.ɵt = SkyAgGridCellValidatorTooltipComponent;
2180
+ exports.ɵu = SkyAgGridCellRendererCurrencyComponent;
2181
+ exports.ɵv = SkyAgGridCellRendererCurrencyValidatorComponent;
2182
+ exports.ɵw = SkyAgGridCellRendererLookupModule;
2183
+ exports.ɵx = SkyAgGridCellRendererLookupComponent;
2184
+ exports.ɵy = SkyAgGridCellRendererRowSelectorModule;
2185
+ exports.ɵz = SkyAgGridCellRendererRowSelectorComponent;
1952
2186
 
1953
2187
  Object.defineProperty(exports, '__esModule', { value: true });
1954
2188