@skyux/grids 5.0.0 → 5.5.0-beta.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 (100) hide show
  1. package/README.md +6 -4
  2. package/bundles/skyux-grids.umd.js +324 -303
  3. package/documentation.json +265 -117
  4. package/esm2015/index.js +20 -0
  5. package/esm2015/index.js.map +1 -0
  6. package/esm2015/lib/modules/grid/grid-adapter.service.js +84 -0
  7. package/esm2015/lib/modules/grid/grid-adapter.service.js.map +1 -0
  8. package/esm2015/lib/modules/grid/grid-cell.component.js +46 -0
  9. package/esm2015/lib/modules/grid/grid-cell.component.js.map +1 -0
  10. package/esm2015/lib/modules/grid/grid-column.component.js +116 -0
  11. package/esm2015/lib/modules/grid/grid-column.component.js.map +1 -0
  12. package/esm2015/lib/modules/grid/grid-column.model.js +25 -0
  13. package/esm2015/lib/modules/grid/grid-column.model.js.map +1 -0
  14. package/esm2015/lib/modules/grid/grid.component.js +998 -0
  15. package/esm2015/lib/modules/grid/grid.component.js.map +1 -0
  16. package/esm2015/lib/modules/grid/grid.module.js +71 -0
  17. package/esm2015/lib/modules/grid/grid.module.js.map +1 -0
  18. package/esm2015/lib/modules/grid/types/grid-column-alignment.js +2 -0
  19. package/esm2015/lib/modules/grid/types/grid-column-alignment.js.map +1 -0
  20. package/esm2015/lib/modules/grid/types/grid-column-description-model-change.js +2 -0
  21. package/esm2015/lib/modules/grid/types/grid-column-description-model-change.js.map +1 -0
  22. package/esm2015/lib/modules/grid/types/grid-column-heading-model-change.js +2 -0
  23. package/esm2015/lib/modules/grid/types/grid-column-heading-model-change.js.map +1 -0
  24. package/esm2015/lib/modules/grid/types/grid-column-inline-help-popover-model-change.js +2 -0
  25. package/esm2015/lib/modules/grid/types/grid-column-inline-help-popover-model-change.js.map +1 -0
  26. package/esm2015/lib/modules/grid/types/grid-column-width-model-change.js +2 -0
  27. package/esm2015/lib/modules/grid/types/grid-column-width-model-change.js.map +1 -0
  28. package/esm2015/lib/modules/grid/types/grid-message-type.js +20 -0
  29. package/esm2015/lib/modules/grid/types/grid-message-type.js.map +1 -0
  30. package/esm2015/lib/modules/grid/types/grid-message.js +2 -0
  31. package/esm2015/lib/modules/grid/types/grid-message.js.map +1 -0
  32. package/esm2015/lib/modules/grid/types/grid-row-delete-cancel-args.js +2 -0
  33. package/esm2015/lib/modules/grid/types/grid-row-delete-cancel-args.js.map +1 -0
  34. package/esm2015/lib/modules/grid/types/grid-row-delete-config.js +2 -0
  35. package/esm2015/lib/modules/grid/types/grid-row-delete-config.js.map +1 -0
  36. package/esm2015/lib/modules/grid/types/grid-row-delete-confirm-args.js +2 -0
  37. package/esm2015/lib/modules/grid/types/grid-row-delete-confirm-args.js.map +1 -0
  38. package/esm2015/lib/modules/grid/types/grid-row-delete-contents.js +2 -0
  39. package/esm2015/lib/modules/grid/types/grid-row-delete-contents.js.map +1 -0
  40. package/esm2015/lib/modules/grid/types/grid-selected-rows-model-change.js +2 -0
  41. package/esm2015/lib/modules/grid/types/grid-selected-rows-model-change.js.map +1 -0
  42. package/esm2015/lib/modules/grid/types/grid-selected-rows-source.js +12 -0
  43. package/esm2015/lib/modules/grid/types/grid-selected-rows-source.js.map +1 -0
  44. package/esm2015/lib/modules/grid/types/grid-ui-config.js +2 -0
  45. package/esm2015/lib/modules/grid/types/grid-ui-config.js.map +1 -0
  46. package/esm2015/lib/modules/shared/skyux-grids-resources.module.js +45 -0
  47. package/esm2015/lib/modules/shared/skyux-grids-resources.module.js.map +1 -0
  48. package/esm2015/skyux-grids.js +2 -2
  49. package/esm2015/skyux-grids.js.map +1 -0
  50. package/fesm2015/skyux-grids.js +259 -236
  51. package/fesm2015/skyux-grids.js.map +1 -1
  52. package/index.d.ts +17 -0
  53. package/{modules → lib/modules}/grid/grid-adapter.service.d.ts +0 -0
  54. package/{modules → lib/modules}/grid/grid-cell.component.d.ts +0 -0
  55. package/{modules → lib/modules}/grid/grid-column.component.d.ts +2 -1
  56. package/{modules → lib/modules}/grid/grid-column.model.d.ts +0 -0
  57. package/{modules → lib/modules}/grid/grid.component.d.ts +5 -6
  58. package/{modules → lib/modules}/grid/grid.module.d.ts +0 -0
  59. package/{modules → lib/modules}/grid/types/grid-column-alignment.d.ts +0 -0
  60. package/{modules → lib/modules}/grid/types/grid-column-description-model-change.d.ts +0 -0
  61. package/{modules → lib/modules}/grid/types/grid-column-heading-model-change.d.ts +0 -0
  62. package/{modules → lib/modules}/grid/types/grid-column-inline-help-popover-model-change.d.ts +0 -0
  63. package/{modules → lib/modules}/grid/types/grid-column-width-model-change.d.ts +0 -0
  64. package/{modules → lib/modules}/grid/types/grid-message-type.d.ts +0 -0
  65. package/{modules → lib/modules}/grid/types/grid-message.d.ts +0 -0
  66. package/{modules → lib/modules}/grid/types/grid-row-delete-cancel-args.d.ts +0 -0
  67. package/{modules → lib/modules}/grid/types/grid-row-delete-config.d.ts +0 -0
  68. package/{modules → lib/modules}/grid/types/grid-row-delete-confirm-args.d.ts +0 -0
  69. package/{modules → lib/modules}/grid/types/grid-row-delete-contents.d.ts +0 -0
  70. package/{modules → lib/modules}/grid/types/grid-selected-rows-model-change.d.ts +0 -0
  71. package/{modules → lib/modules}/grid/types/grid-selected-rows-source.d.ts +0 -0
  72. package/{modules → lib/modules}/grid/types/grid-ui-config.d.ts +0 -0
  73. package/{modules → lib/modules}/shared/skyux-grids-resources.module.d.ts +0 -0
  74. package/package.json +26 -12
  75. package/skyux-grids.d.ts +1 -1
  76. package/LICENSE +0 -21
  77. package/bundles/skyux-grids.umd.js.map +0 -1
  78. package/esm2015/modules/grid/grid-adapter.service.js +0 -84
  79. package/esm2015/modules/grid/grid-cell.component.js +0 -46
  80. package/esm2015/modules/grid/grid-column.component.js +0 -114
  81. package/esm2015/modules/grid/grid-column.model.js +0 -25
  82. package/esm2015/modules/grid/grid.component.js +0 -977
  83. package/esm2015/modules/grid/grid.module.js +0 -75
  84. package/esm2015/modules/grid/types/grid-column-alignment.js +0 -2
  85. package/esm2015/modules/grid/types/grid-column-description-model-change.js +0 -2
  86. package/esm2015/modules/grid/types/grid-column-heading-model-change.js +0 -2
  87. package/esm2015/modules/grid/types/grid-column-inline-help-popover-model-change.js +0 -2
  88. package/esm2015/modules/grid/types/grid-column-width-model-change.js +0 -2
  89. package/esm2015/modules/grid/types/grid-message-type.js +0 -20
  90. package/esm2015/modules/grid/types/grid-message.js +0 -2
  91. package/esm2015/modules/grid/types/grid-row-delete-cancel-args.js +0 -2
  92. package/esm2015/modules/grid/types/grid-row-delete-config.js +0 -2
  93. package/esm2015/modules/grid/types/grid-row-delete-confirm-args.js +0 -2
  94. package/esm2015/modules/grid/types/grid-row-delete-contents.js +0 -2
  95. package/esm2015/modules/grid/types/grid-selected-rows-model-change.js +0 -2
  96. package/esm2015/modules/grid/types/grid-selected-rows-source.js +0 -12
  97. package/esm2015/modules/grid/types/grid-ui-config.js +0 -2
  98. package/esm2015/modules/shared/skyux-grids-resources.module.js +0 -41
  99. package/esm2015/public-api.js +0 -20
  100. package/public-api.d.ts +0 -17
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/forms'), require('ng2-dragula'), require('@skyux/core'), require('@skyux/forms'), require('@skyux/indicators'), require('@skyux/layout'), require('@skyux/popovers'), require('rxjs'), require('rxjs/operators'), require('@skyux/list-builder-common'), require('@skyux/i18n')) :
3
- typeof define === 'function' && define.amd ? define('@skyux/grids', ['exports', '@angular/core', '@angular/common', '@angular/forms', 'ng2-dragula', '@skyux/core', '@skyux/forms', '@skyux/indicators', '@skyux/layout', '@skyux/popovers', 'rxjs', 'rxjs/operators', '@skyux/list-builder-common', '@skyux/i18n'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.skyux = global.skyux || {}, global.skyux.grids = {}), global.ng.core, global.ng.common, global.ng.forms, global.i2, global.i1, global.i5, global.i4, global.i7, global.i9, global.rxjs, global.rxjs.operators, global.listBuilderCommon, global.i11));
5
- }(this, (function (exports, i0, i8, i10, i2, i1, i5, i4, i7, i9, rxjs, operators, listBuilderCommon, i11) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/forms'), require('ng2-dragula'), require('@skyux/core'), require('@skyux/forms'), require('@skyux/indicators'), require('@skyux/layout'), require('@skyux/popovers'), require('@skyux/list-builder-common'), require('rxjs'), require('rxjs/operators'), require('@skyux/i18n')) :
3
+ typeof define === 'function' && define.amd ? define('@skyux/grids', ['exports', '@angular/core', '@angular/common', '@angular/forms', 'ng2-dragula', '@skyux/core', '@skyux/forms', '@skyux/indicators', '@skyux/layout', '@skyux/popovers', '@skyux/list-builder-common', 'rxjs', 'rxjs/operators', '@skyux/i18n'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.skyux = global.skyux || {}, global.skyux.grids = {}), global.ng.core, global.ng.common, global.ng.forms, global.i2, global.i1, global.i5, global.i4, global.i7, global.i9, global.listBuilderCommon, global.rxjs, global.rxjs.operators, global.i11));
5
+ })(this, (function (exports, i0, i8, i10, i2, i1, i5, i4, i7, i9, listBuilderCommon, rxjs, operators, i11) { 'use strict';
6
6
 
7
7
  function _interopNamespace(e) {
8
8
  if (e && e.__esModule) return e;
@@ -13,14 +13,12 @@
13
13
  var d = Object.getOwnPropertyDescriptor(e, k);
14
14
  Object.defineProperty(n, k, d.get ? d : {
15
15
  enumerable: true,
16
- get: function () {
17
- return e[k];
18
- }
16
+ get: function () { return e[k]; }
19
17
  });
20
18
  }
21
19
  });
22
20
  }
23
- n['default'] = e;
21
+ n["default"] = e;
24
22
  return Object.freeze(n);
25
23
  }
26
24
 
@@ -35,181 +33,6 @@
35
33
  var i9__namespace = /*#__PURE__*/_interopNamespace(i9);
36
34
  var i11__namespace = /*#__PURE__*/_interopNamespace(i11);
37
35
 
38
- exports.SkyGridMessageType = void 0;
39
- (function (SkyGridMessageType) {
40
- /**
41
- * Selects the multiselect checkboxes for all rows in the grid.
42
- */
43
- SkyGridMessageType[SkyGridMessageType["SelectAll"] = 0] = "SelectAll";
44
- /**
45
- * Clears the multiselect checkboxes for all rows in the grid.
46
- */
47
- SkyGridMessageType[SkyGridMessageType["ClearAll"] = 1] = "ClearAll";
48
- /**
49
- * @internal
50
- */
51
- SkyGridMessageType[SkyGridMessageType["PromptDeleteRow"] = 2] = "PromptDeleteRow";
52
- /**
53
- * @internal
54
- */
55
- SkyGridMessageType[SkyGridMessageType["AbortDeleteRow"] = 3] = "AbortDeleteRow";
56
- })(exports.SkyGridMessageType || (exports.SkyGridMessageType = {}));
57
-
58
- /**
59
- * @internal
60
- */
61
- exports.SkyGridSelectedRowsSource = void 0;
62
- (function (SkyGridSelectedRowsSource) {
63
- SkyGridSelectedRowsSource[SkyGridSelectedRowsSource["CheckboxChange"] = 0] = "CheckboxChange";
64
- SkyGridSelectedRowsSource[SkyGridSelectedRowsSource["ClearAll"] = 1] = "ClearAll";
65
- SkyGridSelectedRowsSource[SkyGridSelectedRowsSource["RowClick"] = 2] = "RowClick";
66
- SkyGridSelectedRowsSource[SkyGridSelectedRowsSource["SelectAll"] = 3] = "SelectAll";
67
- SkyGridSelectedRowsSource[SkyGridSelectedRowsSource["SelectedRowIdsChange"] = 4] = "SelectedRowIdsChange";
68
- })(exports.SkyGridSelectedRowsSource || (exports.SkyGridSelectedRowsSource = {}));
69
-
70
- /**
71
- * Specifies the column information.
72
- */
73
- var SkyGridColumnComponent = /** @class */ (function () {
74
- function SkyGridColumnComponent() {
75
- /**
76
- * Specifies the horizontal alignment of the column's data and header.
77
- * @default 'left'
78
- */
79
- this.alignment = 'left';
80
- /**
81
- * Indicates whether the column sorts the grid when users click the column header.
82
- * @default true
83
- */
84
- this.isSortable = true;
85
- /**
86
- * Specifies a search function to apply for the specific column. By default,
87
- * the column executes a string compare on the column data.
88
- * @default (value, searchText) => value.toString().toLowerCase().indexOf(searchText) !== -1
89
- */
90
- /* tslint:disable-next-line:no-input-rename */
91
- this.searchFunction = this.search;
92
- this.descriptionChanges = new i0.EventEmitter();
93
- this.descriptionModelChanges = new i0.EventEmitter();
94
- this.headingChanges = new i0.EventEmitter();
95
- this.headingModelChanges = new i0.EventEmitter();
96
- this.inlineHelpPopoverModelChanges = new i0.EventEmitter();
97
- }
98
- SkyGridColumnComponent.prototype.ngOnChanges = function (changes) {
99
- if (changes.heading && changes.heading.firstChange === false) {
100
- this.headingChanges.emit(this.heading);
101
- this.headingModelChanges.emit({
102
- value: this.heading,
103
- id: this.id,
104
- field: this.field
105
- });
106
- }
107
- if (changes.description && changes.description.firstChange === false) {
108
- this.descriptionChanges.emit(this.description);
109
- this.descriptionModelChanges.emit({
110
- value: this.description,
111
- id: this.id,
112
- field: this.field
113
- });
114
- }
115
- if (changes.inlineHelpPopover && changes.inlineHelpPopover.firstChange === false) {
116
- this.inlineHelpPopoverModelChanges.emit({
117
- value: this.inlineHelpPopover,
118
- id: this.id,
119
- field: this.field
120
- });
121
- }
122
- };
123
- Object.defineProperty(SkyGridColumnComponent.prototype, "template", {
124
- get: function () {
125
- if (this.templates.length > 0) {
126
- return this.templates.first;
127
- }
128
- return this.templateInput;
129
- },
130
- enumerable: false,
131
- configurable: true
132
- });
133
- SkyGridColumnComponent.prototype.search = function (value, searchText) {
134
- /* tslint:disable:no-null-keyword */
135
- if (value !== undefined && value !== null) {
136
- return value.toString().toLowerCase().indexOf(searchText) !== -1;
137
- }
138
- /* tslint:enable */
139
- return false;
140
- };
141
- return SkyGridColumnComponent;
142
- }());
143
- SkyGridColumnComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0__namespace, type: SkyGridColumnComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
144
- SkyGridColumnComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.7", type: SkyGridColumnComponent, selector: "sky-grid-column", inputs: { alignment: "alignment", description: "description", excludeFromHighlighting: "excludeFromHighlighting", field: "field", heading: "heading", hidden: "hidden", id: "id", inlineHelpPopover: "inlineHelpPopover", isSortable: "isSortable", locked: "locked", searchFunction: ["search", "searchFunction"], type: "type", templateInput: ["template", "templateInput"], width: "width" }, queries: [{ propertyName: "templates", predicate: i0.TemplateRef }], usesOnChanges: true, ngImport: i0__namespace, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
145
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0__namespace, type: SkyGridColumnComponent, decorators: [{
146
- type: i0.Component,
147
- args: [{
148
- selector: 'sky-grid-column',
149
- template: '<ng-content></ng-content>',
150
- changeDetection: i0.ChangeDetectionStrategy.OnPush
151
- }]
152
- }], propDecorators: { alignment: [{
153
- type: i0.Input
154
- }], description: [{
155
- type: i0.Input
156
- }], excludeFromHighlighting: [{
157
- type: i0.Input
158
- }], field: [{
159
- type: i0.Input
160
- }], heading: [{
161
- type: i0.Input
162
- }], hidden: [{
163
- type: i0.Input
164
- }], id: [{
165
- type: i0.Input
166
- }], inlineHelpPopover: [{
167
- type: i0.Input
168
- }], isSortable: [{
169
- type: i0.Input
170
- }], locked: [{
171
- type: i0.Input
172
- }], searchFunction: [{
173
- type: i0.Input,
174
- args: ['search']
175
- }], type: [{
176
- type: i0.Input
177
- }], templateInput: [{
178
- type: i0.Input,
179
- args: ['template']
180
- }], width: [{
181
- type: i0.Input
182
- }], templates: [{
183
- type: i0.ContentChildren,
184
- args: [i0.TemplateRef]
185
- }] } });
186
-
187
- /**
188
- * @internal
189
- */
190
- var SkyGridColumnModel = /** @class */ (function () {
191
- function SkyGridColumnModel(template, data) {
192
- this.isSortable = true;
193
- this.template = template;
194
- if (data) {
195
- this.id = data.id || data.field;
196
- this.type = data.type;
197
- this.field = data.field;
198
- this.heading = data.heading;
199
- this.inlineHelpPopover = data.inlineHelpPopover;
200
- this.width = data.width ? Number(data.width) : undefined;
201
- this.hidden = data.hidden;
202
- this.locked = data.locked;
203
- this.description = data.description;
204
- this.searchFunction = data.searchFunction;
205
- this.isSortable = data.isSortable;
206
- this.excludeFromHighlighting = data.excludeFromHighlighting;
207
- this.alignment = data.alignment;
208
- }
209
- }
210
- return SkyGridColumnModel;
211
- }());
212
-
213
36
  /*! *****************************************************************************
214
37
  Copyright (c) Microsoft Corporation.
215
38
 
@@ -445,7 +268,7 @@
445
268
  ar[i] = from[i];
446
269
  }
447
270
  }
448
- return to.concat(ar || from);
271
+ return to.concat(ar || Array.prototype.slice.call(from));
449
272
  }
450
273
  function __await(v) {
451
274
  return this instanceof __await ? (this.v = v, this) : new __await(v);
@@ -566,12 +389,12 @@
566
389
  moves: function (el, container, handle) {
567
390
  var columns = container.querySelectorAll('th div');
568
391
  var isLeftOfLocked = _this.isLeftOfLocked(handle, columns);
569
- return !el.querySelector(GRID_HEADER_LOCKED_SELECTOR)
570
- && handle !== undefined
571
- && !handle.matches(GRID_HEADER_RESIZE_HANDLE)
572
- && !handle.matches(GRID_MULTISELECT_SELECTOR)
573
- && !handle.matches(GRID_ROW_DELETE_SELECTOR)
574
- && !isLeftOfLocked;
392
+ return (!el.querySelector(GRID_HEADER_LOCKED_SELECTOR) &&
393
+ handle !== undefined &&
394
+ !handle.matches(GRID_HEADER_RESIZE_HANDLE) &&
395
+ !handle.matches(GRID_MULTISELECT_SELECTOR) &&
396
+ !handle.matches(GRID_ROW_DELETE_SELECTOR) &&
397
+ !isLeftOfLocked);
575
398
  },
576
399
  accepts: function (el, target, source, sibling) {
577
400
  if (sibling === undefined || !sibling) {
@@ -580,14 +403,14 @@
580
403
  var columns = source.querySelectorAll('th div');
581
404
  var siblingDiv = sibling.querySelector('div');
582
405
  var isLeftOfLocked = _this.isLeftOfLocked(siblingDiv, columns);
583
- return ((!sibling.matches(GRID_HEADER_LOCKED_SELECTOR)
584
- && !sibling.matches(GRID_HEADER_RESIZE_HANDLE)))
585
- && !isLeftOfLocked;
586
- }
406
+ return (!sibling.matches(GRID_HEADER_LOCKED_SELECTOR) &&
407
+ !sibling.matches(GRID_HEADER_RESIZE_HANDLE) &&
408
+ !isLeftOfLocked);
409
+ },
587
410
  });
588
411
  };
589
412
  SkyGridAdapterService.prototype.getRowHeight = function (el, index) {
590
- return el.nativeElement.querySelectorAll('tbody tr')[index].scrollHeight + 'px';
413
+ return (el.nativeElement.querySelectorAll('tbody tr')[index].scrollHeight + 'px');
591
414
  };
592
415
  SkyGridAdapterService.prototype.setStyle = function (el, style, value) {
593
416
  if (el) {
@@ -612,7 +435,7 @@
612
435
  }
613
436
  finally { if (e_1) throw e_1.error; }
614
437
  }
615
- for (var i = (columns.length - 1); i >= 0; i--) {
438
+ for (var i = columns.length - 1; i >= 0; i--) {
616
439
  if (columns[i].classList.contains('sky-grid-header-locked')) {
617
440
  return true;
618
441
  }
@@ -624,12 +447,189 @@
624
447
  };
625
448
  return SkyGridAdapterService;
626
449
  }());
627
- SkyGridAdapterService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0__namespace, type: SkyGridAdapterService, deps: [{ token: i0__namespace.RendererFactory2 }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
628
- SkyGridAdapterService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0__namespace, type: SkyGridAdapterService });
629
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0__namespace, type: SkyGridAdapterService, decorators: [{
450
+ SkyGridAdapterService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyGridAdapterService, deps: [{ token: i0__namespace.RendererFactory2 }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
451
+ SkyGridAdapterService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyGridAdapterService });
452
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyGridAdapterService, decorators: [{
630
453
  type: i0.Injectable
631
454
  }], ctorParameters: function () { return [{ type: i0__namespace.RendererFactory2 }]; } });
632
455
 
456
+ /**
457
+ * Specifies the column information.
458
+ */
459
+ var SkyGridColumnComponent = /** @class */ (function () {
460
+ function SkyGridColumnComponent() {
461
+ /**
462
+ * Specifies the horizontal alignment of the column's data and header.
463
+ * Options include: `"left"`, `"center"`, and `"right"`.
464
+ * @default "left"
465
+ */
466
+ this.alignment = 'left';
467
+ /**
468
+ * Indicates whether the column sorts the grid when users click the column header.
469
+ * @default true
470
+ */
471
+ this.isSortable = true;
472
+ /**
473
+ * Specifies a search function to apply for the specific column. By default,
474
+ * the column executes a string compare on the column data.
475
+ * @default (value, searchText) => value.toString().toLowerCase().indexOf(searchText) !== -1
476
+ */
477
+ // eslint-disable-next-line @angular-eslint/no-input-rename
478
+ this.searchFunction = this.search;
479
+ this.descriptionChanges = new i0.EventEmitter();
480
+ this.descriptionModelChanges = new i0.EventEmitter();
481
+ this.headingChanges = new i0.EventEmitter();
482
+ this.headingModelChanges = new i0.EventEmitter();
483
+ this.inlineHelpPopoverModelChanges = new i0.EventEmitter();
484
+ }
485
+ SkyGridColumnComponent.prototype.ngOnChanges = function (changes) {
486
+ if (changes.heading && changes.heading.firstChange === false) {
487
+ this.headingChanges.emit(this.heading);
488
+ this.headingModelChanges.emit({
489
+ value: this.heading,
490
+ id: this.id,
491
+ field: this.field,
492
+ });
493
+ }
494
+ if (changes.description && changes.description.firstChange === false) {
495
+ this.descriptionChanges.emit(this.description);
496
+ this.descriptionModelChanges.emit({
497
+ value: this.description,
498
+ id: this.id,
499
+ field: this.field,
500
+ });
501
+ }
502
+ if (changes.inlineHelpPopover &&
503
+ changes.inlineHelpPopover.firstChange === false) {
504
+ this.inlineHelpPopoverModelChanges.emit({
505
+ value: this.inlineHelpPopover,
506
+ id: this.id,
507
+ field: this.field,
508
+ });
509
+ }
510
+ };
511
+ Object.defineProperty(SkyGridColumnComponent.prototype, "template", {
512
+ get: function () {
513
+ if (this.templates.length > 0) {
514
+ return this.templates.first;
515
+ }
516
+ return this.templateInput;
517
+ },
518
+ enumerable: false,
519
+ configurable: true
520
+ });
521
+ SkyGridColumnComponent.prototype.search = function (value, searchText) {
522
+ /* tslint:disable:no-null-keyword */
523
+ if (value !== undefined && value !== null) {
524
+ return value.toString().toLowerCase().indexOf(searchText) !== -1;
525
+ }
526
+ /* tslint:enable */
527
+ return false;
528
+ };
529
+ return SkyGridColumnComponent;
530
+ }());
531
+ SkyGridColumnComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyGridColumnComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
532
+ SkyGridColumnComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: SkyGridColumnComponent, selector: "sky-grid-column", inputs: { alignment: "alignment", description: "description", excludeFromHighlighting: "excludeFromHighlighting", field: "field", heading: "heading", hidden: "hidden", id: "id", inlineHelpPopover: "inlineHelpPopover", isSortable: "isSortable", locked: "locked", searchFunction: ["search", "searchFunction"], type: "type", templateInput: ["template", "templateInput"], width: "width" }, queries: [{ propertyName: "templates", predicate: i0.TemplateRef }], usesOnChanges: true, ngImport: i0__namespace, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
533
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyGridColumnComponent, decorators: [{
534
+ type: i0.Component,
535
+ args: [{
536
+ selector: 'sky-grid-column',
537
+ template: '<ng-content></ng-content>',
538
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
539
+ }]
540
+ }], propDecorators: { alignment: [{
541
+ type: i0.Input
542
+ }], description: [{
543
+ type: i0.Input
544
+ }], excludeFromHighlighting: [{
545
+ type: i0.Input
546
+ }], field: [{
547
+ type: i0.Input
548
+ }], heading: [{
549
+ type: i0.Input
550
+ }], hidden: [{
551
+ type: i0.Input
552
+ }], id: [{
553
+ type: i0.Input
554
+ }], inlineHelpPopover: [{
555
+ type: i0.Input
556
+ }], isSortable: [{
557
+ type: i0.Input
558
+ }], locked: [{
559
+ type: i0.Input
560
+ }], searchFunction: [{
561
+ type: i0.Input,
562
+ args: ['search']
563
+ }], type: [{
564
+ type: i0.Input
565
+ }], templateInput: [{
566
+ type: i0.Input,
567
+ args: ['template']
568
+ }], width: [{
569
+ type: i0.Input
570
+ }], templates: [{
571
+ type: i0.ContentChildren,
572
+ args: [i0.TemplateRef]
573
+ }] } });
574
+
575
+ /**
576
+ * @internal
577
+ */
578
+ var SkyGridColumnModel = /** @class */ (function () {
579
+ function SkyGridColumnModel(template, data) {
580
+ this.isSortable = true;
581
+ this.template = template;
582
+ if (data) {
583
+ this.id = data.id || data.field;
584
+ this.type = data.type;
585
+ this.field = data.field;
586
+ this.heading = data.heading;
587
+ this.inlineHelpPopover = data.inlineHelpPopover;
588
+ this.width = data.width ? Number(data.width) : undefined;
589
+ this.hidden = data.hidden;
590
+ this.locked = data.locked;
591
+ this.description = data.description;
592
+ this.searchFunction = data.searchFunction;
593
+ this.isSortable = data.isSortable;
594
+ this.excludeFromHighlighting = data.excludeFromHighlighting;
595
+ this.alignment = data.alignment;
596
+ }
597
+ }
598
+ return SkyGridColumnModel;
599
+ }());
600
+
601
+ exports.SkyGridMessageType = void 0;
602
+ (function (SkyGridMessageType) {
603
+ /**
604
+ * Selects the multiselect checkboxes for all rows in the grid.
605
+ */
606
+ SkyGridMessageType[SkyGridMessageType["SelectAll"] = 0] = "SelectAll";
607
+ /**
608
+ * Clears the multiselect checkboxes for all rows in the grid.
609
+ */
610
+ SkyGridMessageType[SkyGridMessageType["ClearAll"] = 1] = "ClearAll";
611
+ /**
612
+ * @internal
613
+ */
614
+ SkyGridMessageType[SkyGridMessageType["PromptDeleteRow"] = 2] = "PromptDeleteRow";
615
+ /**
616
+ * @internal
617
+ */
618
+ SkyGridMessageType[SkyGridMessageType["AbortDeleteRow"] = 3] = "AbortDeleteRow";
619
+ })(exports.SkyGridMessageType || (exports.SkyGridMessageType = {}));
620
+
621
+ /**
622
+ * @internal
623
+ */
624
+ exports.SkyGridSelectedRowsSource = void 0;
625
+ (function (SkyGridSelectedRowsSource) {
626
+ SkyGridSelectedRowsSource[SkyGridSelectedRowsSource["CheckboxChange"] = 0] = "CheckboxChange";
627
+ SkyGridSelectedRowsSource[SkyGridSelectedRowsSource["ClearAll"] = 1] = "ClearAll";
628
+ SkyGridSelectedRowsSource[SkyGridSelectedRowsSource["RowClick"] = 2] = "RowClick";
629
+ SkyGridSelectedRowsSource[SkyGridSelectedRowsSource["SelectAll"] = 3] = "SelectAll";
630
+ SkyGridSelectedRowsSource[SkyGridSelectedRowsSource["SelectedRowIdsChange"] = 4] = "SelectedRowIdsChange";
631
+ })(exports.SkyGridSelectedRowsSource || (exports.SkyGridSelectedRowsSource = {}));
632
+
633
633
  /**
634
634
  * @internal
635
635
  */
@@ -658,15 +658,15 @@
658
658
  });
659
659
  return SkyGridCellComponent;
660
660
  }());
661
- SkyGridCellComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0__namespace, type: SkyGridCellComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
662
- SkyGridCellComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.7", type: SkyGridCellComponent, selector: "sky-grid-cell", inputs: { item: "item", columnId: "columnId", template: "template", fieldSelector: "fieldSelector" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["cell"], descendants: true, read: i0.ViewContainerRef, static: true }], ngImport: i0__namespace, template: '<ng-template #cell></ng-template>', isInline: true, styles: [":host{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:8px;min-height:35px}\n"], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
663
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0__namespace, type: SkyGridCellComponent, decorators: [{
661
+ SkyGridCellComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyGridCellComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
662
+ SkyGridCellComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: SkyGridCellComponent, selector: "sky-grid-cell", inputs: { item: "item", columnId: "columnId", template: "template", fieldSelector: "fieldSelector" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["cell"], descendants: true, read: i0.ViewContainerRef, static: true }], ngImport: i0__namespace, template: '<ng-template #cell></ng-template>', isInline: true, styles: [":host{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:8px;min-height:35px}\n"], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
663
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyGridCellComponent, decorators: [{
664
664
  type: i0.Component,
665
665
  args: [{
666
666
  selector: 'sky-grid-cell',
667
667
  template: '<ng-template #cell></ng-template>',
668
- styleUrls: ['./grid-cell.component.scss'],
669
- changeDetection: i0.ChangeDetectionStrategy.OnPush
668
+ styles: [":host{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:8px;min-height:35px}\n"],
669
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
670
670
  }]
671
671
  }], propDecorators: { item: [{
672
672
  type: i0.Input
@@ -680,7 +680,7 @@
680
680
  type: i0.ViewChild,
681
681
  args: ['cell', {
682
682
  read: i0.ViewContainerRef,
683
- static: true
683
+ static: true,
684
684
  }]
685
685
  }] } });
686
686
 
@@ -708,6 +708,7 @@
708
708
  * which fits the grid to the parent's full width, and `scroll`, which allows the grid
709
709
  * to exceed the parent's width. If the grid does not have enough columns to fill
710
710
  * the parent's width, it always stretches to the parent's full width.
711
+ * @default "width"
711
712
  */
712
713
  this.fit = 'width';
713
714
  /**
@@ -763,7 +764,7 @@
763
764
  this.items = new Array();
764
765
  this.currentSortField = new rxjs.BehaviorSubject({
765
766
  fieldSelector: '',
766
- descending: false
767
+ descending: false,
767
768
  });
768
769
  }
769
770
  Object.defineProperty(SkyGridComponent.prototype, "selectedColumnIds", {
@@ -781,14 +782,12 @@
781
782
  this.setDisplayedColumns();
782
783
  }
783
784
  // Ensure that the ids have changed.
784
- if (!currentIds ||
785
- !value ||
786
- !this.arraysEqual(value, currentIds)) {
785
+ if (!currentIds || !value || !this.arraysEqual(value, currentIds)) {
787
786
  // This variable ensures that we do not set user config options or fire the change event
788
787
  // on the first time that the columns are set up
789
788
  if (this.selectedColumnIdsSet) {
790
789
  this.setUserConfig({
791
- selectedColumnIds: value
790
+ selectedColumnIds: value,
792
791
  });
793
792
  this.selectedColumnIdsChange.emit(this._selectedColumnIds);
794
793
  if (this.isResized) {
@@ -858,7 +857,9 @@
858
857
  var _this = this;
859
858
  if (changes.columns && this.columns) {
860
859
  if (this.selectedColumnIds) {
861
- this.selectedColumnIds = this.selectedColumnIds.filter(function (columnId) { return _this.columns.find(function (column) { return column.id === columnId; }); });
860
+ this.selectedColumnIds = this.selectedColumnIds.filter(function (columnId) {
861
+ return _this.columns.find(function (column) { return column.id === columnId; });
862
+ });
862
863
  }
863
864
  this.setDisplayedColumns(true);
864
865
  }
@@ -881,7 +882,7 @@
881
882
  placement: 'above',
882
883
  verticalAlignment: 'top',
883
884
  horizontalAlignment: 'left',
884
- enableAutoFit: false
885
+ enableAutoFit: false,
885
886
  });
886
887
  }
887
888
  });
@@ -952,12 +953,14 @@
952
953
  .pipe(operators.take(1), operators.map(function (field) {
953
954
  var selector = {
954
955
  fieldSelector: column.field,
955
- descending: true
956
+ descending: true,
956
957
  };
957
- if (field && field.fieldSelector === column.field && field.descending) {
958
+ if (field &&
959
+ field.fieldSelector === column.field &&
960
+ field.descending) {
958
961
  selector = {
959
962
  fieldSelector: column.field,
960
- descending: false
963
+ descending: false,
961
964
  };
962
965
  }
963
966
  _this.sortFieldChange.emit(selector);
@@ -967,28 +970,32 @@
967
970
  }
968
971
  };
969
972
  SkyGridComponent.prototype.getSortDirection = function (columnField) {
970
- return this.currentSortField
971
- .pipe(operators.distinctUntilChanged(), operators.map(function (field) {
972
- return field.fieldSelector === columnField ?
973
- (field.descending ? 'desc' : 'asc') : undefined;
973
+ return this.currentSortField.pipe(operators.distinctUntilChanged(), operators.map(function (field) {
974
+ return field.fieldSelector === columnField
975
+ ? field.descending
976
+ ? 'desc'
977
+ : 'asc'
978
+ : undefined;
974
979
  }));
975
980
  };
976
981
  SkyGridComponent.prototype.getAriaSortDirection = function (column) {
977
- return this.currentSortField
978
- .pipe(operators.distinctUntilChanged(), operators.map(function (field) {
979
- return field.fieldSelector === column.field ?
980
- (field.descending ? 'descending' : 'ascending') : (column.isSortable ? 'none' : undefined);
982
+ return this.currentSortField.pipe(operators.distinctUntilChanged(), operators.map(function (field) {
983
+ return field.fieldSelector === column.field
984
+ ? field.descending
985
+ ? 'descending'
986
+ : 'ascending'
987
+ : column.isSortable
988
+ ? 'none'
989
+ : undefined;
981
990
  }));
982
991
  };
983
992
  SkyGridComponent.prototype.getCaretVisibility = function (columnField) {
984
- return this.currentSortField
985
- .pipe(operators.distinctUntilChanged(), operators.map(function (field) {
993
+ return this.currentSortField.pipe(operators.distinctUntilChanged(), operators.map(function (field) {
986
994
  return field.fieldSelector === columnField ? 'visible' : 'hidden';
987
995
  }));
988
996
  };
989
997
  SkyGridComponent.prototype.getHelpInlineClass = function (columnField) {
990
- return this.getCaretVisibility(columnField)
991
- .pipe(operators.map(function (visibility) {
998
+ return this.getCaretVisibility(columnField).pipe(operators.map(function (visibility) {
992
999
  return visibility === 'hidden';
993
1000
  }));
994
1001
  };
@@ -997,8 +1004,8 @@
997
1004
  };
998
1005
  SkyGridComponent.prototype.updateColumnHeading = function (change) {
999
1006
  var foundColumnModel = this.columns.find(function (column) {
1000
- return (change.id !== undefined && change.id === column.id ||
1001
- change.field !== undefined && change.field === column.field);
1007
+ return ((change.id !== undefined && change.id === column.id) ||
1008
+ (change.field !== undefined && change.field === column.field));
1002
1009
  });
1003
1010
  /* istanbul ignore else */
1004
1011
  if (foundColumnModel) {
@@ -1008,8 +1015,8 @@
1008
1015
  };
1009
1016
  SkyGridComponent.prototype.updateInlineHelpPopover = function (change) {
1010
1017
  var foundColumnModel = this.columns.find(function (column) {
1011
- return (change.id !== undefined && change.id === column.id ||
1012
- change.field !== undefined && change.field === column.field);
1018
+ return ((change.id !== undefined && change.id === column.id) ||
1019
+ (change.field !== undefined && change.field === column.field));
1013
1020
  });
1014
1021
  /* istanbul ignore else */
1015
1022
  if (foundColumnModel) {
@@ -1019,8 +1026,8 @@
1019
1026
  };
1020
1027
  SkyGridComponent.prototype.updateColumnDescription = function (change) {
1021
1028
  var foundColumnModel = this.columns.find(function (column) {
1022
- return (change.id !== undefined && change.id === column.id ||
1023
- change.field !== undefined && change.field === column.field);
1029
+ return ((change.id !== undefined && change.id === column.id) ||
1030
+ (change.field !== undefined && change.field === column.field));
1024
1031
  });
1025
1032
  /* istanbul ignore else */
1026
1033
  if (foundColumnModel) {
@@ -1116,7 +1123,8 @@
1116
1123
  SkyGridComponent.prototype.onRowClick = function (event, selectedItem) {
1117
1124
  /* istanbul ignore else */
1118
1125
  if (this.enableMultiselect) {
1119
- if (event.target === event.currentTarget || !this.isInteractiveElement(event)) {
1126
+ if (event.target === event.currentTarget ||
1127
+ !this.isInteractiveElement(event)) {
1120
1128
  selectedItem.isSelected = !selectedItem.isSelected;
1121
1129
  this.changeDetector.markForCheck();
1122
1130
  this.emitSelectedRows(exports.SkyGridSelectedRowsSource.RowClick);
@@ -1178,7 +1186,9 @@
1178
1186
  };
1179
1187
  SkyGridComponent.prototype.checkUserColumnWidthsForScroll = function () {
1180
1188
  var _this = this;
1181
- if (!this.showTopScroll && this.columnElementRefs && this.columnElementRefs.length > 0) {
1189
+ if (!this.showTopScroll &&
1190
+ this.columnElementRefs &&
1191
+ this.columnElementRefs.length > 0) {
1182
1192
  var columnsWidthTotal_1 = 0;
1183
1193
  var windowSize_1 = this.skyWindow.nativeWindow.innerWidth;
1184
1194
  this.columnElementRefs.forEach(function (col) {
@@ -1225,21 +1235,25 @@
1225
1235
  /* sanity check */
1226
1236
  /* istanbul ignore else */
1227
1237
  if (message.data && message.data.promptDeleteRow) {
1228
- var existingConfig = this.rowDeleteConfigs
1229
- .find(function (config) { return config.id === message.data.promptDeleteRow.id; });
1238
+ var existingConfig = this.rowDeleteConfigs.find(function (config) { return config.id === message.data.promptDeleteRow.id; });
1230
1239
  if (existingConfig) {
1231
1240
  existingConfig.pending = false;
1232
1241
  }
1233
1242
  else {
1234
- this.rowDeleteConfigs.push({ id: message.data.promptDeleteRow.id, pending: false });
1243
+ this.rowDeleteConfigs.push({
1244
+ id: message.data.promptDeleteRow.id,
1245
+ pending: false,
1246
+ });
1235
1247
  var overlay_1 = this.overlayService.create({
1236
1248
  enableScroll: true,
1237
1249
  showBackdrop: false,
1238
1250
  closeOnNavigation: true,
1239
1251
  enableClose: false,
1240
- enablePointerEvents: true
1252
+ enablePointerEvents: true,
1253
+ });
1254
+ overlay_1.attachTemplate(this.inlineDeleteTemplateRef, {
1255
+ $implicit: this.data.find(function (item) { return item.id === message.data.promptDeleteRow.id; }),
1241
1256
  });
1242
- overlay_1.attachTemplate(this.inlineDeleteTemplateRef, { $implicit: this.data.find(function (item) { return item.id === message.data.promptDeleteRow.id; }) });
1243
1257
  /**
1244
1258
  * We are manually setting the z-index here because overlays will always be on top of
1245
1259
  * the omnibar. This manual setting is 1 less than the omnibar's z-index of 1000. We
@@ -1248,9 +1262,11 @@
1248
1262
  */
1249
1263
  overlay_1.componentRef.instance.zIndex = '999';
1250
1264
  setTimeout(function () {
1251
- var inlineDeleteRef = _this.inlineDeleteRefs.toArray()
1265
+ var inlineDeleteRef = _this.inlineDeleteRefs
1266
+ .toArray()
1252
1267
  .find(function (elRef) {
1253
- return elRef.nativeElement.id === 'row-delete-ref-' + message.data.promptDeleteRow.id;
1268
+ return (elRef.nativeElement.id ===
1269
+ 'row-delete-ref-' + message.data.promptDeleteRow.id);
1254
1270
  });
1255
1271
  var affixer = _this.affixService.createAffixer(inlineDeleteRef);
1256
1272
  var rowElement = _this.tableElementRef.nativeElement.querySelector('[sky-cmp-id="' + message.data.promptDeleteRow.id + '"]');
@@ -1260,11 +1276,11 @@
1260
1276
  placement: 'above',
1261
1277
  verticalAlignment: 'top',
1262
1278
  horizontalAlignment: 'left',
1263
- enableAutoFit: false
1279
+ enableAutoFit: false,
1264
1280
  });
1265
1281
  _this.rowDeleteContents[message.data.promptDeleteRow.id] = {
1266
1282
  affixer: affixer,
1267
- overlay: overlay_1
1283
+ overlay: overlay_1,
1268
1284
  };
1269
1285
  });
1270
1286
  }
@@ -1294,7 +1310,12 @@
1294
1310
  if (this.selectedColumnIds !== undefined) {
1295
1311
  // setup displayed columns
1296
1312
  this.displayedColumns = this.selectedColumnIds
1297
- .filter(function (columnId) { return _this.columns.find(function (column) { return column.id === columnId; }); }).map(function (columnId) { return _this.columns.filter(function (column) { return column.id === columnId; })[0]; });
1313
+ .filter(function (columnId) {
1314
+ return _this.columns.find(function (column) { return column.id === columnId; });
1315
+ })
1316
+ .map(function (columnId) {
1317
+ return _this.columns.filter(function (column) { return column.id === columnId; })[0];
1318
+ });
1298
1319
  }
1299
1320
  else if (respectHidden) {
1300
1321
  this.displayedColumns = this.columns.filter(function (column) {
@@ -1307,7 +1328,10 @@
1307
1328
  };
1308
1329
  SkyGridComponent.prototype.transformData = function () {
1309
1330
  // Transform data into object with id and data properties
1310
- if (this.data && this.data.length > 0 && this.data[0].id && !this.data[0].data) {
1331
+ if (this.data &&
1332
+ this.data.length > 0 &&
1333
+ this.data[0].id &&
1334
+ !this.data[0].data) {
1311
1335
  if (this.multiselectRowId) {
1312
1336
  this.items = this.getGridDataWithSelectedRows();
1313
1337
  }
@@ -1336,7 +1360,8 @@
1336
1360
  SkyGridComponent.prototype.applySelectedRows = function () {
1337
1361
  if (this.items && this.items.length > 0 && this.selectedRowIds) {
1338
1362
  for (var i = 0; i < this.items.length; i++) {
1339
- this.items[i].isSelected = (this.selectedRowIds.indexOf(this.items[i].id) > -1);
1363
+ this.items[i].isSelected =
1364
+ this.selectedRowIds.indexOf(this.items[i].id) > -1;
1340
1365
  }
1341
1366
  this.changeDetector.markForCheck();
1342
1367
  }
@@ -1397,8 +1422,7 @@
1397
1422
  var computedWidth = parseFloat(window.getComputedStyle(col.nativeElement).width);
1398
1423
  var offsetWidth = col.nativeElement.offsetWidth;
1399
1424
  /* istanbul ignore next */
1400
- var width = Math.max(computedWidth || offsetWidth, _this.minColWidth);
1401
- _this.getColumnModelByIndex(index).width = width;
1425
+ _this.getColumnModelByIndex(index).width = Math.max(computedWidth || offsetWidth, _this.minColWidth);
1402
1426
  });
1403
1427
  // 'scroll' tables should be allowed to expand outside of their constraints.
1404
1428
  if (this.fit === 'scroll') {
@@ -1416,7 +1440,7 @@
1416
1440
  columnWidthModelChange.push({
1417
1441
  id: column.id,
1418
1442
  field: column.field,
1419
- width: column.width
1443
+ width: column.width,
1420
1444
  });
1421
1445
  });
1422
1446
  return columnWidthModelChange;
@@ -1475,15 +1499,17 @@
1475
1499
  SkyGridComponent.prototype.emitSelectedRows = function (source) {
1476
1500
  var selectedRows = {
1477
1501
  selectedRowIds: this.getSelectedRows(),
1478
- source: source
1502
+ source: source,
1479
1503
  };
1480
1504
  this.multiselectSelectionChange.emit(selectedRows);
1481
1505
  };
1482
1506
  SkyGridComponent.prototype.getSelectedRows = function () {
1483
1507
  var _this = this;
1484
- return this.items.filter(function (item) {
1508
+ return this.items
1509
+ .filter(function (item) {
1485
1510
  return item.isSelected;
1486
- }).map(function (item) {
1511
+ })
1512
+ .map(function (item) {
1487
1513
  if (item.data.hasOwnProperty(_this.multiselectRowId)) {
1488
1514
  return item.data[_this.multiselectRowId];
1489
1515
  }
@@ -1496,20 +1522,22 @@
1496
1522
  };
1497
1523
  SkyGridComponent.prototype.setResizeBarPosition = function (xPosition) {
1498
1524
  var parentScroll = this.tableContainerElementRef.nativeElement.scrollLeft;
1499
- var resizeBarX = xPosition - this.tableElementRef.nativeElement.getBoundingClientRect().left - parentScroll;
1525
+ var resizeBarX = xPosition -
1526
+ this.tableElementRef.nativeElement.getBoundingClientRect().left -
1527
+ parentScroll;
1500
1528
  this.gridAdapter.setStyle(this.resizeBar, 'left', resizeBarX + 'px');
1501
1529
  };
1502
1530
  SkyGridComponent.prototype.applyUserConfig = function () {
1503
1531
  var _this = this;
1504
1532
  return new Promise(function (resolve) {
1505
- _this.uiConfigService.getConfig(_this.settingsKey)
1533
+ _this.uiConfigService
1534
+ .getConfig(_this.settingsKey)
1506
1535
  .pipe(operators.take(1))
1507
1536
  .subscribe(function (config) {
1508
1537
  /* istanbul ignore else */
1509
1538
  if (config && config.selectedColumnIds) {
1510
1539
  // Remove any columnIds that don't exist in the current data set.
1511
- var filteredColumnIds = config.selectedColumnIds.filter(function (id) { return _this.columns.find(function (column) { return column.id === id; }); });
1512
- _this.selectedColumnIds = filteredColumnIds;
1540
+ _this.selectedColumnIds = config.selectedColumnIds.filter(function (id) { return _this.columns.find(function (column) { return column.id === id; }); });
1513
1541
  _this.changeDetector.markForCheck();
1514
1542
  }
1515
1543
  resolve();
@@ -1522,7 +1550,8 @@
1522
1550
  if (!this.settingsKey) {
1523
1551
  return;
1524
1552
  }
1525
- this.uiConfigService.setConfig(this.settingsKey, config)
1553
+ this.uiConfigService
1554
+ .setConfig(this.settingsKey, config)
1526
1555
  .pipe(operators.takeUntil(this.ngUnsubscribe))
1527
1556
  .subscribe(function () { }, function (err) {
1528
1557
  console.warn('Could not save grid settings.');
@@ -1532,8 +1561,7 @@
1532
1561
  SkyGridComponent.prototype.initColumns = function () {
1533
1562
  var _this = this;
1534
1563
  /* istanbul ignore else */
1535
- if (this.columnComponents.length !== 0 ||
1536
- this.columns !== undefined) {
1564
+ if (this.columnComponents.length !== 0 || this.columns !== undefined) {
1537
1565
  /* istanbul ignore else */
1538
1566
  /* sanity check */
1539
1567
  if (this.columnComponents.length > 0) {
@@ -1547,41 +1575,34 @@
1547
1575
  this.subscriptions.push(this.columnComponents.changes.subscribe(function () { return _this.updateColumns(); }));
1548
1576
  // Watch for column heading changes:
1549
1577
  this.columnComponents.forEach(function (comp) {
1550
- _this.subscriptions.push(comp.headingModelChanges
1551
- .subscribe(function (change) {
1578
+ _this.subscriptions.push(comp.headingModelChanges.subscribe(function (change) {
1552
1579
  _this.updateColumnHeading(change);
1553
1580
  }));
1554
- _this.subscriptions.push(comp.descriptionModelChanges
1555
- .subscribe(function (change) {
1581
+ _this.subscriptions.push(comp.descriptionModelChanges.subscribe(function (change) {
1556
1582
  _this.updateColumnDescription(change);
1557
1583
  }));
1558
- _this.subscriptions.push(comp.inlineHelpPopoverModelChanges
1559
- .subscribe(function (change) {
1584
+ _this.subscriptions.push(comp.inlineHelpPopoverModelChanges.subscribe(function (change) {
1560
1585
  _this.updateInlineHelpPopover(change);
1561
1586
  }));
1562
1587
  });
1563
1588
  };
1564
1589
  SkyGridComponent.prototype.arraysEqual = function (arrayA, arrayB) {
1565
- return arrayA.length === arrayB.length &&
1566
- arrayA.every(function (value, index) { return value === arrayB[index]; });
1590
+ return (arrayA.length === arrayB.length &&
1591
+ arrayA.every(function (value, index) { return value === arrayB[index]; }));
1567
1592
  };
1568
1593
  return SkyGridComponent;
1569
1594
  }());
1570
- SkyGridComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0__namespace, type: SkyGridComponent, deps: [{ token: i1__namespace.SkyAffixService }, { token: i0__namespace.ChangeDetectorRef }, { token: i2__namespace.DragulaService }, { token: SkyGridAdapterService }, { token: i1__namespace.SkyOverlayService }, { token: i1__namespace.SkyAppWindowRef }, { token: i1__namespace.SkyUIConfigService }], target: i0__namespace.ɵɵFactoryTarget.Component });
1571
- SkyGridComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.7", type: SkyGridComponent, selector: "sky-grid", inputs: { columns: "columns", data: "data", enableMultiselect: "enableMultiselect", fit: "fit", hasToolbar: "hasToolbar", height: "height", highlightText: "highlightText", messageStream: "messageStream", multiselectRowId: "multiselectRowId", rowHighlightedId: "rowHighlightedId", selectedColumnIds: "selectedColumnIds", selectedRowIds: "selectedRowIds", settingsKey: "settingsKey", sortField: "sortField", width: "width" }, outputs: { columnWidthChange: "columnWidthChange", multiselectSelectionChange: "multiselectSelectionChange", rowDeleteCancel: "rowDeleteCancel", rowDeleteConfirm: "rowDeleteConfirm", selectedColumnIdsChange: "selectedColumnIdsChange", sortFieldChange: "sortFieldChange" }, host: { listeners: { "window:resize": "onWindowResize()" } }, providers: [
1572
- SkyGridAdapterService
1573
- ], queries: [{ propertyName: "columnComponents", predicate: SkyGridColumnComponent }], viewQueries: [{ propertyName: "inlineDeleteTemplateRef", first: true, predicate: ["inlineDeleteTemplateRef"], descendants: true, read: i0.TemplateRef }, { propertyName: "tableContainerElementRef", first: true, predicate: ["gridContainer"], descendants: true }, { propertyName: "tableElementRef", first: true, predicate: ["gridTable"], descendants: true }, { propertyName: "topScrollContainerElementRef", first: true, predicate: ["topScrollContainer"], descendants: true }, { propertyName: "resizeBar", first: true, predicate: ["resizeBar"], descendants: true }, { propertyName: "columnElementRefs", predicate: ["gridCol"], descendants: true }, { propertyName: "columnRangeInputElementRefs", predicate: ["colSizeRange"], descendants: true }, { propertyName: "inlineDeleteRefs", predicate: ["inlineDeleteRef"], descendants: true }], usesOnChanges: true, ngImport: i0__namespace, template: "<div class=\"sky-grid\">\n <div *ngIf=\"showTopScroll\"\n class=\"sky-grid-top-scroll-container\"\n (scroll)=\"onTopScroll($event)\"\n #topScrollContainer\n >\n <div\n class=\"sky-grid-top-scroll\"\n [style.width.px]=\"getTopScrollWidth()\"\n ></div>\n </div>\n <div\n class=\"sky-grid-table-container\"\n [style.height.px]=\"height\"\n [style.width.px]=\"width\"\n (scroll)=\"onGridScroll($event)\"\n #gridContainer\n >\n <table\n class=\"sky-grid-table\"\n [ngClass]=\"getTableClassNames()\"\n #gridTable>\n <thead>\n <tr dragula=\"sky-grid-heading\">\n <th *ngIf=\"enableMultiselect\"\n class=\"sky-grid-heading sky-grid-multiselect-cell sky-grid-header-locked\"\n scope=\"col\"\n [style.max-width.px]=\"minColWidth\"\n [style.width.px]=\"minColWidth\"\n >\n <span class=\"screen-reader-only\">\n {{ 'skyux_grid_multiselect_select_row' | skyLibResources }}\n </span>\n </th>\n <th *ngFor=\"let column of displayedColumns; let last = last, let i = index\"\n class=\"sky-grid-heading sky-field-label\"\n scope=\"col\"\n [attr.sky-cmp-index]=\"i\"\n [attr.sky-cmp-id]=\"column.id || column.field\"\n [attr.aria-sort]=\"getAriaSortDirection(column) | async\"\n [id]=\"'sky-grid-' + gridId + '-column-' + i\"\n [ngClass]=\"'sky-grid-column-alignment-' + column.alignment\"\n [style.max-width.px]=\"column.width\"\n [style.width.px]=\"column.width\"\n [tabIndex]=\"column.isSortable ? 0 : -1\"\n (mouseup)=\"sortByColumn(column)\"\n (keydown)=\"onKeydown($event, column)\"\n (touchmove)=\"onTouchMove($event)\"\n #gridCol\n >\n <div\n class=\"overflow\"\n [ngClass]=\"getTableHeaderClassNames(column)\"\n [style.max-width.px]=\"column.width - 1\"\n [style.width.px]=\"column.width - 1\"\n >\n <span *ngIf=\"(getCaretVisibility(column.field) | async) === 'hidden'\"\n class=\"sky-grid-header-caret-hidden-spacing\"\n ></span>\n <!-- The no spacing here is intentional to avoid extra spaces due to these being inline elements -->\n <span\n class=\"sky-grid-header-text\"\n >{{column.heading?.trim()}}</span>\n <sky-icon\n class=\"sky-grid-heading-sort\"\n [ngClass]=\"'sky-grid-heading-sort-' + (getCaretVisibility(column.field) | async)\"\n [icon]=\"getCaretIconNames(column)\"\n >\n </sky-icon>\n <sky-help-inline *ngIf=\"column.inlineHelpPopover\"\n [ngClass]=\"{\n 'sky-grid-help-inline-sort-hidden' : getHelpInlineClass(column.field) | async\n }\"\n [skyPopover]=\"column.inlineHelpPopover\"\n (keydown.enter)=\"$event.stopPropagation()\"\n (keydown.space)=\"$event.stopPropagation()\"\n (mousedown)=\"$event.stopPropagation()\"\n (mouseup)=\"$event.stopPropagation()\"\n >\n </sky-help-inline>\n </div>\n <span\n *ngIf=\"(fit==='width' && !last) || (fit==='scroll')\"\n aria-hidden=\"true\"\n class=\"sky-grid-resize-handle\"\n tabindex=\"-1\"\n [attr.sky-cmp-index]=\"i\"\n (mousedown)=\"onResizeColumnStart($event)\"\n (touchstart)=\"onResizeColumnStart($event)\"\n >\n </span>\n <input\n aria-label=\"Width of column\"\n class=\"sky-grid-column-input-aria-only\"\n role=\"slider\"\n type=\"range\"\n [attr.aria-controls]=\"'sky-grid-' + gridId + '-column-' + i\"\n [attr.aria-valuemin]=\"minColWidth\"\n [attr.aria-valuemax]=\"maxColWidth\"\n [attr.aria-valuenow]=\"column.width\"\n [attr.sky-cmp-index]=\"i\"\n [min]=\"minColWidth\"\n [max]=\"maxColWidth\"\n [step]=\"columnResizeStep\"\n [(ngModel)]=\"column.width\"\n (blur)=\"onResizeHandleBlur($event)\"\n (focus)=\"onResizeHandleFocus($event)\"\n (keydown)=\"onKeydownResizeCol($event)\"\n (change)=\"onInputChangeResizeCol($event)\"\n #colSizeRange />\n </th>\n </tr>\n </thead>\n <tbody class=\"sky-grid-tbody\">\n <tr\n class=\"sky-grid-row\"\n *ngFor=\"let item of items; let i = index\"\n [attr.aria-current]=\"isRowHighlighted(item.id) ? true : null\"\n [attr.aria-selected]=\"item.isSelected\"\n [attr.sky-cmp-id]=\"item.id\"\n [ngClass]=\"{\n 'sky-grid-multiselect-selected-row' : item.isSelected,\n 'sky-grid-multiselect-row' : enableMultiselect,\n 'sky-grid-row-highlight' : isRowHighlighted(item.id)\n }\"\n (click)=\"onRowClick($event, item)\"\n >\n <td *ngIf=\"enableMultiselect\"\n class=\"sky-grid-multiselect-cell sky-grid-header-locked\"\n >\n <div\n [style.max-width.px]=\"minColWidth\"\n [style.width.px]=\"minColWidth\"\n >\n <sky-checkbox\n [label]=\"'skyux_grid_multiselect_select_row' | skyLibResources\"\n (change)=\"onMultiselectCheckboxChange()\"\n [(ngModel)]=\"item.isSelected\"\n >\n </sky-checkbox>\n </div>\n </td>\n <td *ngFor=\"let column of displayedColumns; let last = last; let i = index\"\n class=\"sky-grid-cell\"\n [ngClass]=\"'sky-grid-column-alignment-' + column.alignment\"\n [style.max-width.px]=\"column.width\"\n [style.width.px]=\"column.width\"\n >\n <sky-grid-cell\n [skyHighlight]=\"!column.excludeFromHighlighting ? highlightText : undefined\"\n [template]=\"column.template || defaultCellTemplate\"\n [fieldSelector]=\"column.field\"\n [item]=\"item\"\n [columnId]=\"column.id\"\n [attr.sky-cmp-id]=\"column.id || column.field\">\n </sky-grid-cell>\n </td>\n </tr>\n </tbody>\n </table>\n <div *ngIf=\"showResizeBar\"\n aria-hidden=\"true\"\n id=\"sky-grid-resize-bar\"\n tabindex=\"-1\"\n #resizeBar\n >\n </div>\n </div>\n</div>\n\n<ng-template #defaultCellTemplate let-row=\"row\" let-value=\"value\">{{value}}</ng-template>\n\n<ng-template\n let-item\n #inlineDeleteTemplateRef\n>\n <div\n [id]=\"'row-delete-ref-' + item.id\"\n [ngStyle]='{\n \"height\": getRowHeight(0),\n \"position\": \"fixed\",\n \"width\": tableWidth + \"px\"\n }'\n #inlineDeleteRef\n >\n <sky-inline-delete\n [pending]=\"getRowDeleteItem(item.id).pending\"\n (cancelTriggered)=\"cancelRowDelete(item.id)\"\n (deleteTriggered)=\"confirmRowDelete(item.id)\"\n ></sky-inline-delete>\n </div>\n</ng-template>\n", styles: [".sky-grid{position:relative;display:block}.sky-grid-table-container{overflow:auto}.sky-grid-table{position:relative;table-layout:fixed;border-collapse:collapse;margin:0;font-size:15px;min-width:100%}.sky-grid-table.sky-grid-fit{max-width:100%;width:100%}.sky-grid-tbody{background-color:#fff}.sky-grid-row{border-bottom:1px dotted #cdcfd2}.sky-grid-row:nth-child(odd){background-color:#fbfbfb}.sky-grid-row.sky-grid-row-highlight{border-top:1px solid #0974a1;box-shadow:0 0 0 3px inset #0974a1}.sky-grid-row .sky-grid-cell{padding:0;min-width:10px}.sky-grid-heading{position:relative;border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2;border-left:1px solid #cdcfd2;border-right:1px solid #cdcfd2;border-right-width:0px;padding:0;cursor:pointer;background-color:#fff;overflow:visible;background-clip:padding-box;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;-moz-user-select:none;-ms-user-select:none;user-select:none}.sky-grid-heading:first-child{border-left:1px solid transparent}.sky-grid-heading.sky-grid-header-dragging{background-color:#eeeeef}.sky-grid-heading.sky-grid-column-alignment-left .sky-grid-heading-sort,.sky-grid-heading.sky-grid-column-alignment-center .sky-grid-heading-sort{width:14px}.sky-grid-heading.sky-grid-column-alignment-left .sky-grid-help-inline-sort-hidden,.sky-grid-heading.sky-grid-column-alignment-center .sky-grid-help-inline-sort-hidden{margin-left:-14px;margin-right:14px}.sky-grid-heading.sky-grid-column-alignment-right .sky-grid-header-caret-hidden-spacing{padding-left:14px}.sky-grid-heading.sky-grid-column-alignment-right .sky-grid-heading-sort-visible{width:14px}.sky-grid-heading div{padding:8px}.sky-grid-heading .overflow{text-overflow:ellipsis;white-space:nowrap;position:relative;z-index:1;overflow:hidden;min-width:100%}.sky-grid-heading .sky-grid-column-input-aria-only{-webkit-appearance:none;-moz-appearance:none;height:100%;width:5px;position:absolute;display:block;top:0;bottom:0;right:0}.sky-grid-heading .sky-grid-column-input-aria-only::-moz-range-track{background:transparent}.sky-grid-heading .sky-grid-column-input-aria-only::-moz-range-thumb{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-grid-heading .sky-grid-column-input-aria-only::-ms-thumb{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-grid-heading .sky-grid-column-input-aria-only::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-grid-heading .sky-grid-column-input-aria-only:focus{background-color:#00b4f1}.sky-grid-column-alignment-left{text-align:left}.sky-grid-column-alignment-center{text-align:center}.sky-grid-column-alignment-right{text-align:right}.sky-grid-multiselect-cell{padding:0;text-align:center}.sky-grid-multiselect-cell ::ng-deep .sky-switch-control{margin:0 auto}th.sky-grid-multiselect-cell{cursor:default}th.sky-grid-multiselect-cell .screen-reader-only{width:0;height:0;padding:0;opacity:0;position:absolute;margin:-1px;border:0;overflow:hidden;clip:rect(0,0,0,0);outline:none;white-space:nowrap}@-moz-document url-prefix(){.sky-grid-multiselect-row td{border-left:0px solid transparent;border-right:0px solid transparent}}.sky-grid-multiselect-row:hover{background-color:#e9e4f1}.sky-grid-multiselect-row:hover:nth-child(odd){background:#e9e4f1}.sky-grid-multiselect-selected-row{background:#f1eef6;border-top:1px solid #dadbf6;border-bottom:1px solid #dadbf6}.sky-grid-multiselect-selected-row:nth-child(odd){background:#f1eef6}.sky-grid-has-toolbar .sky-grid-heading{border-top-width:0px}.sky-grid-heading-sort.sky-grid-heading-sort-hidden{visibility:hidden}.sky-grid-heading-sort.sky-grid-heading-sort-visible{visibility:visible;padding-left:5px}.sky-grid-resize-handle{position:absolute;right:0;top:0;bottom:0;width:30px;z-index:2;min-height:20px;height:100%!important;vertical-align:middle;cursor:col-resize}.sky-grid-resize-handle:hover:after{background-color:#00b4f1}.sky-grid-resize-handle:after{position:absolute;right:0;top:0;bottom:0;width:5px;height:100%;content:\"\"}#sky-grid-resize-bar{position:absolute;top:0;left:0;z-index:99;height:100%;width:5px;background:#00b4f1;opacity:.6}tr{position:relative}.sky-grid-top-scroll-container{overflow:auto}.sky-grid-top-scroll{height:1px}\n"], components: [{ type: i4__namespace.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { type: i4__namespace.λ3, selector: "sky-help-inline", outputs: ["actionClick"] }, { type: i5__namespace.λ3, selector: "sky-checkbox", inputs: ["label", "labelledBy", "id", "disabled", "tabindex", "name", "icon", "checkboxType", "checked", "required"], outputs: ["change", "checkedChange", "disabledChange"] }, { type: SkyGridCellComponent, selector: "sky-grid-cell", inputs: ["item", "columnId", "template", "fieldSelector"] }, { type: i7__namespace.λ8, selector: "sky-inline-delete", inputs: ["pending"], outputs: ["cancelTriggered", "deleteTriggered"] }], directives: [{ type: i8__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2__namespace.DragulaDirective, selector: "[dragula]", inputs: ["dragula", "dragulaModel", "dragulaOptions"] }, { type: i8__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i9__namespace.λ7, selector: "[skyPopover]", inputs: ["skyPopover", "skyPopoverAlignment", "skyPopoverMessageStream", "skyPopoverPlacement", "skyPopoverTrigger"] }, { type: i10__namespace.RangeValueAccessor, selector: "input[type=range][formControlName],input[type=range][formControl],input[type=range][ngModel]" }, { type: i10__namespace.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: i10__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i10__namespace.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i4__namespace.λ11, selector: "[skyHighlight]", inputs: ["skyHighlight"] }, { type: i8__namespace.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], pipes: { "skyLibResources": i11__namespace.SkyLibResourcesPipe, "async": i8__namespace.AsyncPipe }, viewProviders: [i2.DragulaService], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
1574
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0__namespace, type: SkyGridComponent, decorators: [{
1595
+ SkyGridComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyGridComponent, deps: [{ token: i1__namespace.SkyAffixService }, { token: i0__namespace.ChangeDetectorRef }, { token: i2__namespace.DragulaService }, { token: SkyGridAdapterService }, { token: i1__namespace.SkyOverlayService }, { token: i1__namespace.SkyAppWindowRef }, { token: i1__namespace.SkyUIConfigService }], target: i0__namespace.ɵɵFactoryTarget.Component });
1596
+ SkyGridComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: SkyGridComponent, selector: "sky-grid", inputs: { columns: "columns", data: "data", enableMultiselect: "enableMultiselect", fit: "fit", hasToolbar: "hasToolbar", height: "height", highlightText: "highlightText", messageStream: "messageStream", multiselectRowId: "multiselectRowId", rowHighlightedId: "rowHighlightedId", selectedColumnIds: "selectedColumnIds", selectedRowIds: "selectedRowIds", settingsKey: "settingsKey", sortField: "sortField", width: "width" }, outputs: { columnWidthChange: "columnWidthChange", multiselectSelectionChange: "multiselectSelectionChange", rowDeleteCancel: "rowDeleteCancel", rowDeleteConfirm: "rowDeleteConfirm", selectedColumnIdsChange: "selectedColumnIdsChange", sortFieldChange: "sortFieldChange" }, host: { listeners: { "window:resize": "onWindowResize()" } }, providers: [SkyGridAdapterService], queries: [{ propertyName: "columnComponents", predicate: SkyGridColumnComponent }], viewQueries: [{ propertyName: "inlineDeleteTemplateRef", first: true, predicate: ["inlineDeleteTemplateRef"], descendants: true, read: i0.TemplateRef }, { propertyName: "tableContainerElementRef", first: true, predicate: ["gridContainer"], descendants: true }, { propertyName: "tableElementRef", first: true, predicate: ["gridTable"], descendants: true }, { propertyName: "topScrollContainerElementRef", first: true, predicate: ["topScrollContainer"], descendants: true }, { propertyName: "resizeBar", first: true, predicate: ["resizeBar"], descendants: true }, { propertyName: "columnElementRefs", predicate: ["gridCol"], descendants: true }, { propertyName: "columnRangeInputElementRefs", predicate: ["colSizeRange"], descendants: true }, { propertyName: "inlineDeleteRefs", predicate: ["inlineDeleteRef"], descendants: true }], usesOnChanges: true, ngImport: i0__namespace, template: "<div class=\"sky-grid\">\n <div\n *ngIf=\"showTopScroll\"\n class=\"sky-grid-top-scroll-container\"\n (scroll)=\"onTopScroll($event)\"\n #topScrollContainer\n >\n <div\n class=\"sky-grid-top-scroll\"\n [style.width.px]=\"getTopScrollWidth()\"\n ></div>\n </div>\n <div\n class=\"sky-grid-table-container\"\n [style.height.px]=\"height\"\n [style.width.px]=\"width\"\n (scroll)=\"onGridScroll($event)\"\n #gridContainer\n >\n <table class=\"sky-grid-table\" [ngClass]=\"getTableClassNames()\" #gridTable>\n <thead>\n <tr dragula=\"sky-grid-heading\">\n <th\n *ngIf=\"enableMultiselect\"\n class=\"\n sky-grid-heading sky-grid-multiselect-cell sky-grid-header-locked\n \"\n scope=\"col\"\n [style.max-width.px]=\"minColWidth\"\n [style.width.px]=\"minColWidth\"\n >\n <span class=\"screen-reader-only\">\n {{ 'skyux_grid_multiselect_select_row' | skyLibResources }}\n </span>\n </th>\n <th\n *ngFor=\"\n let column of displayedColumns;\n let last = last;\n let i = index\n \"\n class=\"sky-grid-heading sky-field-label\"\n scope=\"col\"\n [attr.sky-cmp-index]=\"i\"\n [attr.sky-cmp-id]=\"column.id || column.field\"\n [attr.aria-sort]=\"getAriaSortDirection(column) | async\"\n [id]=\"'sky-grid-' + gridId + '-column-' + i\"\n [ngClass]=\"'sky-grid-column-alignment-' + column.alignment\"\n [style.max-width.px]=\"column.width\"\n [style.width.px]=\"column.width\"\n [tabIndex]=\"column.isSortable ? 0 : -1\"\n (mouseup)=\"sortByColumn(column)\"\n (keydown)=\"onKeydown($event, column)\"\n (touchmove)=\"onTouchMove($event)\"\n #gridCol\n >\n <div\n class=\"overflow\"\n [ngClass]=\"getTableHeaderClassNames(column)\"\n [style.max-width.px]=\"column.width - 1\"\n [style.width.px]=\"column.width - 1\"\n >\n <span\n *ngIf=\"(getCaretVisibility(column.field) | async) === 'hidden'\"\n class=\"sky-grid-header-caret-hidden-spacing\"\n ></span>\n <!-- The no spacing here is intentional to avoid extra spaces due to these being inline elements -->\n <span class=\"sky-grid-header-text\">{{\n column.heading?.trim()\n }}</span>\n <sky-icon\n class=\"sky-grid-heading-sort\"\n [ngClass]=\"\n 'sky-grid-heading-sort-' +\n (getCaretVisibility(column.field) | async)\n \"\n [icon]=\"getCaretIconNames(column)\"\n >\n </sky-icon>\n <sky-help-inline\n *ngIf=\"column.inlineHelpPopover\"\n [ngClass]=\"{\n 'sky-grid-help-inline-sort-hidden':\n getHelpInlineClass(column.field) | async\n }\"\n [skyPopover]=\"column.inlineHelpPopover\"\n (keydown.enter)=\"$event.stopPropagation()\"\n (keydown.space)=\"$event.stopPropagation()\"\n (mousedown)=\"$event.stopPropagation()\"\n (mouseup)=\"$event.stopPropagation()\"\n >\n </sky-help-inline>\n </div>\n <span\n *ngIf=\"(fit === 'width' && !last) || fit === 'scroll'\"\n aria-hidden=\"true\"\n class=\"sky-grid-resize-handle\"\n tabindex=\"-1\"\n [attr.sky-cmp-index]=\"i\"\n (mousedown)=\"onResizeColumnStart($event)\"\n (touchstart)=\"onResizeColumnStart($event)\"\n >\n </span>\n <input\n aria-label=\"Width of column\"\n class=\"sky-grid-column-input-aria-only\"\n role=\"slider\"\n type=\"range\"\n [attr.aria-controls]=\"'sky-grid-' + gridId + '-column-' + i\"\n [attr.aria-valuemin]=\"minColWidth\"\n [attr.aria-valuemax]=\"maxColWidth\"\n [attr.aria-valuenow]=\"column.width\"\n [attr.sky-cmp-index]=\"i\"\n [min]=\"minColWidth\"\n [max]=\"maxColWidth\"\n [step]=\"columnResizeStep\"\n [(ngModel)]=\"column.width\"\n (blur)=\"onResizeHandleBlur($event)\"\n (focus)=\"onResizeHandleFocus($event)\"\n (keydown)=\"onKeydownResizeCol($event)\"\n (change)=\"onInputChangeResizeCol($event)\"\n #colSizeRange\n />\n </th>\n </tr>\n </thead>\n <tbody class=\"sky-grid-tbody\">\n <tr\n class=\"sky-grid-row\"\n *ngFor=\"let item of items; let i = index\"\n [attr.aria-current]=\"isRowHighlighted(item.id) ? true : null\"\n [attr.aria-selected]=\"item.isSelected\"\n [attr.sky-cmp-id]=\"item.id\"\n [ngClass]=\"{\n 'sky-grid-multiselect-selected-row': item.isSelected,\n 'sky-grid-multiselect-row': enableMultiselect,\n 'sky-grid-row-highlight': isRowHighlighted(item.id)\n }\"\n (click)=\"onRowClick($event, item)\"\n >\n <td\n *ngIf=\"enableMultiselect\"\n class=\"sky-grid-multiselect-cell sky-grid-header-locked\"\n >\n <div\n [style.max-width.px]=\"minColWidth\"\n [style.width.px]=\"minColWidth\"\n >\n <sky-checkbox\n [label]=\"'skyux_grid_multiselect_select_row' | skyLibResources\"\n (change)=\"onMultiselectCheckboxChange()\"\n [(ngModel)]=\"item.isSelected\"\n >\n </sky-checkbox>\n </div>\n </td>\n <td\n *ngFor=\"\n let column of displayedColumns;\n let last = last;\n let i = index\n \"\n class=\"sky-grid-cell\"\n [ngClass]=\"'sky-grid-column-alignment-' + column.alignment\"\n [style.max-width.px]=\"column.width\"\n [style.width.px]=\"column.width\"\n >\n <sky-grid-cell\n [skyHighlight]=\"\n !column.excludeFromHighlighting ? highlightText : undefined\n \"\n [template]=\"column.template || defaultCellTemplate\"\n [fieldSelector]=\"column.field\"\n [item]=\"item\"\n [columnId]=\"column.id\"\n [attr.sky-cmp-id]=\"column.id || column.field\"\n >\n </sky-grid-cell>\n </td>\n </tr>\n </tbody>\n </table>\n <div\n *ngIf=\"showResizeBar\"\n aria-hidden=\"true\"\n id=\"sky-grid-resize-bar\"\n tabindex=\"-1\"\n #resizeBar\n ></div>\n </div>\n</div>\n\n<ng-template #defaultCellTemplate let-row=\"row\" let-value=\"value\">{{\n value\n}}</ng-template>\n\n<ng-template let-item #inlineDeleteTemplateRef>\n <div\n [id]=\"'row-delete-ref-' + item.id\"\n [ngStyle]=\"{\n height: getRowHeight(0),\n position: 'fixed',\n width: tableWidth + 'px'\n }\"\n #inlineDeleteRef\n >\n <sky-inline-delete\n [pending]=\"getRowDeleteItem(item.id).pending\"\n (cancelTriggered)=\"cancelRowDelete(item.id)\"\n (deleteTriggered)=\"confirmRowDelete(item.id)\"\n ></sky-inline-delete>\n </div>\n</ng-template>\n", styles: [".sky-grid{position:relative;display:block}.sky-grid-table-container{overflow:auto}.sky-grid-table{position:relative;table-layout:fixed;border-collapse:collapse;margin:0;font-size:15px;min-width:100%}.sky-grid-table.sky-grid-fit{max-width:100%;width:100%}.sky-grid-tbody{background-color:#fff}.sky-grid-row{border-bottom:1px dotted #cdcfd2}.sky-grid-row:nth-child(odd){background-color:#fbfbfb}.sky-grid-row.sky-grid-row-highlight{border-top:1px solid #0974a1;box-shadow:0 0 0 3px inset #0974a1}.sky-grid-row .sky-grid-cell{padding:0;min-width:10px}.sky-grid-heading{position:relative;border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2;border-left:1px solid #cdcfd2;border-right:1px solid #cdcfd2;border-right-width:0px;padding:0;cursor:pointer;background-color:#fff;overflow:visible;background-clip:padding-box;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;user-select:none}.sky-grid-heading:first-child{border-left:1px solid transparent}.sky-grid-heading.sky-grid-header-dragging{background-color:#eeeeef}.sky-grid-heading.sky-grid-column-alignment-left .sky-grid-heading-sort,.sky-grid-heading.sky-grid-column-alignment-center .sky-grid-heading-sort{width:14px}.sky-grid-heading.sky-grid-column-alignment-left .sky-grid-help-inline-sort-hidden,.sky-grid-heading.sky-grid-column-alignment-center .sky-grid-help-inline-sort-hidden{margin-left:-14px;margin-right:14px}.sky-grid-heading.sky-grid-column-alignment-right .sky-grid-header-caret-hidden-spacing{padding-left:14px}.sky-grid-heading.sky-grid-column-alignment-right .sky-grid-heading-sort-visible{width:14px}.sky-grid-heading div{padding:8px}.sky-grid-heading .overflow{text-overflow:ellipsis;white-space:nowrap;position:relative;z-index:1;overflow:hidden;min-width:100%}.sky-grid-heading .sky-grid-column-input-aria-only{-webkit-appearance:none;-moz-appearance:none;height:100%;width:5px;position:absolute;display:block;top:0;bottom:0;right:0}.sky-grid-heading .sky-grid-column-input-aria-only::-moz-range-track{background:transparent}.sky-grid-heading .sky-grid-column-input-aria-only::-moz-range-thumb{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-grid-heading .sky-grid-column-input-aria-only::-ms-thumb{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-grid-heading .sky-grid-column-input-aria-only::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-grid-heading .sky-grid-column-input-aria-only:focus{background-color:#00b4f1}.sky-grid-column-alignment-left{text-align:left}.sky-grid-column-alignment-center{text-align:center}.sky-grid-column-alignment-right{text-align:right}.sky-grid-multiselect-cell{padding:0;text-align:center}.sky-grid-multiselect-cell ::ng-deep .sky-switch-control{margin:0 auto}th.sky-grid-multiselect-cell{cursor:default}th.sky-grid-multiselect-cell .screen-reader-only{width:0;height:0;padding:0;opacity:0;position:absolute;margin:-1px;border:0;overflow:hidden;clip:rect(0,0,0,0);outline:none;white-space:nowrap}@-moz-document url-prefix(){.sky-grid-multiselect-row td{border-left:0px solid transparent;border-right:0px solid transparent}}.sky-grid-multiselect-row:hover{background-color:#e9e4f1}.sky-grid-multiselect-row:hover:nth-child(odd){background:#e9e4f1}.sky-grid-multiselect-selected-row{background:#f1eef6;border-top:1px solid #dadbf6;border-bottom:1px solid #dadbf6}.sky-grid-multiselect-selected-row:nth-child(odd){background:#f1eef6}.sky-grid-has-toolbar .sky-grid-heading{border-top-width:0px}.sky-grid-heading-sort.sky-grid-heading-sort-hidden{visibility:hidden}.sky-grid-heading-sort.sky-grid-heading-sort-visible{visibility:visible;padding-left:5px}.sky-grid-resize-handle{position:absolute;right:0;top:0;bottom:0;width:30px;z-index:2;min-height:20px;height:100%!important;vertical-align:middle;cursor:col-resize}.sky-grid-resize-handle:hover:after{background-color:#00b4f1}.sky-grid-resize-handle:after{position:absolute;right:0;top:0;bottom:0;width:5px;height:100%;content:\"\"}#sky-grid-resize-bar{position:absolute;top:0;left:0;z-index:99;height:100%;width:5px;background:#00b4f1;opacity:.6}tr{position:relative}.sky-grid-top-scroll-container{overflow:auto}.sky-grid-top-scroll{height:1px}\n"], components: [{ type: i4__namespace.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { type: i4__namespace.λ3, selector: "sky-help-inline", outputs: ["actionClick"] }, { type: i5__namespace.λ3, selector: "sky-checkbox", inputs: ["label", "labelledBy", "id", "disabled", "tabindex", "name", "icon", "checkboxType", "checked", "required"], outputs: ["change", "checkedChange", "disabledChange"] }, { type: SkyGridCellComponent, selector: "sky-grid-cell", inputs: ["item", "columnId", "template", "fieldSelector"] }, { type: i7__namespace.λ8, selector: "sky-inline-delete", inputs: ["pending"], outputs: ["cancelTriggered", "deleteTriggered"] }], directives: [{ type: i8__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2__namespace.DragulaDirective, selector: "[dragula]", inputs: ["dragula", "dragulaModel", "dragulaOptions"] }, { type: i8__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i9__namespace.λ7, selector: "[skyPopover]", inputs: ["skyPopover", "skyPopoverAlignment", "skyPopoverMessageStream", "skyPopoverPlacement", "skyPopoverTrigger"] }, { type: i10__namespace.RangeValueAccessor, selector: "input[type=range][formControlName],input[type=range][formControl],input[type=range][ngModel]" }, { type: i10__namespace.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: i10__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i10__namespace.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i4__namespace.λ11, selector: "[skyHighlight]", inputs: ["skyHighlight"] }, { type: i8__namespace.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], pipes: { "skyLibResources": i11__namespace.SkyLibResourcesPipe, "async": i8__namespace.AsyncPipe }, viewProviders: [i2.DragulaService], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
1597
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyGridComponent, decorators: [{
1575
1598
  type: i0.Component,
1576
1599
  args: [{
1577
1600
  selector: 'sky-grid',
1578
- templateUrl: './grid.component.html',
1579
- styleUrls: ['./grid.component.scss'],
1601
+ template: "<div class=\"sky-grid\">\n <div\n *ngIf=\"showTopScroll\"\n class=\"sky-grid-top-scroll-container\"\n (scroll)=\"onTopScroll($event)\"\n #topScrollContainer\n >\n <div\n class=\"sky-grid-top-scroll\"\n [style.width.px]=\"getTopScrollWidth()\"\n ></div>\n </div>\n <div\n class=\"sky-grid-table-container\"\n [style.height.px]=\"height\"\n [style.width.px]=\"width\"\n (scroll)=\"onGridScroll($event)\"\n #gridContainer\n >\n <table class=\"sky-grid-table\" [ngClass]=\"getTableClassNames()\" #gridTable>\n <thead>\n <tr dragula=\"sky-grid-heading\">\n <th\n *ngIf=\"enableMultiselect\"\n class=\"\n sky-grid-heading sky-grid-multiselect-cell sky-grid-header-locked\n \"\n scope=\"col\"\n [style.max-width.px]=\"minColWidth\"\n [style.width.px]=\"minColWidth\"\n >\n <span class=\"screen-reader-only\">\n {{ 'skyux_grid_multiselect_select_row' | skyLibResources }}\n </span>\n </th>\n <th\n *ngFor=\"\n let column of displayedColumns;\n let last = last;\n let i = index\n \"\n class=\"sky-grid-heading sky-field-label\"\n scope=\"col\"\n [attr.sky-cmp-index]=\"i\"\n [attr.sky-cmp-id]=\"column.id || column.field\"\n [attr.aria-sort]=\"getAriaSortDirection(column) | async\"\n [id]=\"'sky-grid-' + gridId + '-column-' + i\"\n [ngClass]=\"'sky-grid-column-alignment-' + column.alignment\"\n [style.max-width.px]=\"column.width\"\n [style.width.px]=\"column.width\"\n [tabIndex]=\"column.isSortable ? 0 : -1\"\n (mouseup)=\"sortByColumn(column)\"\n (keydown)=\"onKeydown($event, column)\"\n (touchmove)=\"onTouchMove($event)\"\n #gridCol\n >\n <div\n class=\"overflow\"\n [ngClass]=\"getTableHeaderClassNames(column)\"\n [style.max-width.px]=\"column.width - 1\"\n [style.width.px]=\"column.width - 1\"\n >\n <span\n *ngIf=\"(getCaretVisibility(column.field) | async) === 'hidden'\"\n class=\"sky-grid-header-caret-hidden-spacing\"\n ></span>\n <!-- The no spacing here is intentional to avoid extra spaces due to these being inline elements -->\n <span class=\"sky-grid-header-text\">{{\n column.heading?.trim()\n }}</span>\n <sky-icon\n class=\"sky-grid-heading-sort\"\n [ngClass]=\"\n 'sky-grid-heading-sort-' +\n (getCaretVisibility(column.field) | async)\n \"\n [icon]=\"getCaretIconNames(column)\"\n >\n </sky-icon>\n <sky-help-inline\n *ngIf=\"column.inlineHelpPopover\"\n [ngClass]=\"{\n 'sky-grid-help-inline-sort-hidden':\n getHelpInlineClass(column.field) | async\n }\"\n [skyPopover]=\"column.inlineHelpPopover\"\n (keydown.enter)=\"$event.stopPropagation()\"\n (keydown.space)=\"$event.stopPropagation()\"\n (mousedown)=\"$event.stopPropagation()\"\n (mouseup)=\"$event.stopPropagation()\"\n >\n </sky-help-inline>\n </div>\n <span\n *ngIf=\"(fit === 'width' && !last) || fit === 'scroll'\"\n aria-hidden=\"true\"\n class=\"sky-grid-resize-handle\"\n tabindex=\"-1\"\n [attr.sky-cmp-index]=\"i\"\n (mousedown)=\"onResizeColumnStart($event)\"\n (touchstart)=\"onResizeColumnStart($event)\"\n >\n </span>\n <input\n aria-label=\"Width of column\"\n class=\"sky-grid-column-input-aria-only\"\n role=\"slider\"\n type=\"range\"\n [attr.aria-controls]=\"'sky-grid-' + gridId + '-column-' + i\"\n [attr.aria-valuemin]=\"minColWidth\"\n [attr.aria-valuemax]=\"maxColWidth\"\n [attr.aria-valuenow]=\"column.width\"\n [attr.sky-cmp-index]=\"i\"\n [min]=\"minColWidth\"\n [max]=\"maxColWidth\"\n [step]=\"columnResizeStep\"\n [(ngModel)]=\"column.width\"\n (blur)=\"onResizeHandleBlur($event)\"\n (focus)=\"onResizeHandleFocus($event)\"\n (keydown)=\"onKeydownResizeCol($event)\"\n (change)=\"onInputChangeResizeCol($event)\"\n #colSizeRange\n />\n </th>\n </tr>\n </thead>\n <tbody class=\"sky-grid-tbody\">\n <tr\n class=\"sky-grid-row\"\n *ngFor=\"let item of items; let i = index\"\n [attr.aria-current]=\"isRowHighlighted(item.id) ? true : null\"\n [attr.aria-selected]=\"item.isSelected\"\n [attr.sky-cmp-id]=\"item.id\"\n [ngClass]=\"{\n 'sky-grid-multiselect-selected-row': item.isSelected,\n 'sky-grid-multiselect-row': enableMultiselect,\n 'sky-grid-row-highlight': isRowHighlighted(item.id)\n }\"\n (click)=\"onRowClick($event, item)\"\n >\n <td\n *ngIf=\"enableMultiselect\"\n class=\"sky-grid-multiselect-cell sky-grid-header-locked\"\n >\n <div\n [style.max-width.px]=\"minColWidth\"\n [style.width.px]=\"minColWidth\"\n >\n <sky-checkbox\n [label]=\"'skyux_grid_multiselect_select_row' | skyLibResources\"\n (change)=\"onMultiselectCheckboxChange()\"\n [(ngModel)]=\"item.isSelected\"\n >\n </sky-checkbox>\n </div>\n </td>\n <td\n *ngFor=\"\n let column of displayedColumns;\n let last = last;\n let i = index\n \"\n class=\"sky-grid-cell\"\n [ngClass]=\"'sky-grid-column-alignment-' + column.alignment\"\n [style.max-width.px]=\"column.width\"\n [style.width.px]=\"column.width\"\n >\n <sky-grid-cell\n [skyHighlight]=\"\n !column.excludeFromHighlighting ? highlightText : undefined\n \"\n [template]=\"column.template || defaultCellTemplate\"\n [fieldSelector]=\"column.field\"\n [item]=\"item\"\n [columnId]=\"column.id\"\n [attr.sky-cmp-id]=\"column.id || column.field\"\n >\n </sky-grid-cell>\n </td>\n </tr>\n </tbody>\n </table>\n <div\n *ngIf=\"showResizeBar\"\n aria-hidden=\"true\"\n id=\"sky-grid-resize-bar\"\n tabindex=\"-1\"\n #resizeBar\n ></div>\n </div>\n</div>\n\n<ng-template #defaultCellTemplate let-row=\"row\" let-value=\"value\">{{\n value\n}}</ng-template>\n\n<ng-template let-item #inlineDeleteTemplateRef>\n <div\n [id]=\"'row-delete-ref-' + item.id\"\n [ngStyle]=\"{\n height: getRowHeight(0),\n position: 'fixed',\n width: tableWidth + 'px'\n }\"\n #inlineDeleteRef\n >\n <sky-inline-delete\n [pending]=\"getRowDeleteItem(item.id).pending\"\n (cancelTriggered)=\"cancelRowDelete(item.id)\"\n (deleteTriggered)=\"confirmRowDelete(item.id)\"\n ></sky-inline-delete>\n </div>\n</ng-template>\n",
1602
+ styles: [".sky-grid{position:relative;display:block}.sky-grid-table-container{overflow:auto}.sky-grid-table{position:relative;table-layout:fixed;border-collapse:collapse;margin:0;font-size:15px;min-width:100%}.sky-grid-table.sky-grid-fit{max-width:100%;width:100%}.sky-grid-tbody{background-color:#fff}.sky-grid-row{border-bottom:1px dotted #cdcfd2}.sky-grid-row:nth-child(odd){background-color:#fbfbfb}.sky-grid-row.sky-grid-row-highlight{border-top:1px solid #0974a1;box-shadow:0 0 0 3px inset #0974a1}.sky-grid-row .sky-grid-cell{padding:0;min-width:10px}.sky-grid-heading{position:relative;border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2;border-left:1px solid #cdcfd2;border-right:1px solid #cdcfd2;border-right-width:0px;padding:0;cursor:pointer;background-color:#fff;overflow:visible;background-clip:padding-box;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;user-select:none}.sky-grid-heading:first-child{border-left:1px solid transparent}.sky-grid-heading.sky-grid-header-dragging{background-color:#eeeeef}.sky-grid-heading.sky-grid-column-alignment-left .sky-grid-heading-sort,.sky-grid-heading.sky-grid-column-alignment-center .sky-grid-heading-sort{width:14px}.sky-grid-heading.sky-grid-column-alignment-left .sky-grid-help-inline-sort-hidden,.sky-grid-heading.sky-grid-column-alignment-center .sky-grid-help-inline-sort-hidden{margin-left:-14px;margin-right:14px}.sky-grid-heading.sky-grid-column-alignment-right .sky-grid-header-caret-hidden-spacing{padding-left:14px}.sky-grid-heading.sky-grid-column-alignment-right .sky-grid-heading-sort-visible{width:14px}.sky-grid-heading div{padding:8px}.sky-grid-heading .overflow{text-overflow:ellipsis;white-space:nowrap;position:relative;z-index:1;overflow:hidden;min-width:100%}.sky-grid-heading .sky-grid-column-input-aria-only{-webkit-appearance:none;-moz-appearance:none;height:100%;width:5px;position:absolute;display:block;top:0;bottom:0;right:0}.sky-grid-heading .sky-grid-column-input-aria-only::-moz-range-track{background:transparent}.sky-grid-heading .sky-grid-column-input-aria-only::-moz-range-thumb{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-grid-heading .sky-grid-column-input-aria-only::-ms-thumb{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-grid-heading .sky-grid-column-input-aria-only::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-grid-heading .sky-grid-column-input-aria-only:focus{background-color:#00b4f1}.sky-grid-column-alignment-left{text-align:left}.sky-grid-column-alignment-center{text-align:center}.sky-grid-column-alignment-right{text-align:right}.sky-grid-multiselect-cell{padding:0;text-align:center}.sky-grid-multiselect-cell ::ng-deep .sky-switch-control{margin:0 auto}th.sky-grid-multiselect-cell{cursor:default}th.sky-grid-multiselect-cell .screen-reader-only{width:0;height:0;padding:0;opacity:0;position:absolute;margin:-1px;border:0;overflow:hidden;clip:rect(0,0,0,0);outline:none;white-space:nowrap}@-moz-document url-prefix(){.sky-grid-multiselect-row td{border-left:0px solid transparent;border-right:0px solid transparent}}.sky-grid-multiselect-row:hover{background-color:#e9e4f1}.sky-grid-multiselect-row:hover:nth-child(odd){background:#e9e4f1}.sky-grid-multiselect-selected-row{background:#f1eef6;border-top:1px solid #dadbf6;border-bottom:1px solid #dadbf6}.sky-grid-multiselect-selected-row:nth-child(odd){background:#f1eef6}.sky-grid-has-toolbar .sky-grid-heading{border-top-width:0px}.sky-grid-heading-sort.sky-grid-heading-sort-hidden{visibility:hidden}.sky-grid-heading-sort.sky-grid-heading-sort-visible{visibility:visible;padding-left:5px}.sky-grid-resize-handle{position:absolute;right:0;top:0;bottom:0;width:30px;z-index:2;min-height:20px;height:100%!important;vertical-align:middle;cursor:col-resize}.sky-grid-resize-handle:hover:after{background-color:#00b4f1}.sky-grid-resize-handle:after{position:absolute;right:0;top:0;bottom:0;width:5px;height:100%;content:\"\"}#sky-grid-resize-bar{position:absolute;top:0;left:0;z-index:99;height:100%;width:5px;background:#00b4f1;opacity:.6}tr{position:relative}.sky-grid-top-scroll-container{overflow:auto}.sky-grid-top-scroll{height:1px}\n"],
1580
1603
  viewProviders: [i2.DragulaService],
1581
- providers: [
1582
- SkyGridAdapterService
1583
- ],
1584
- changeDetection: i0.ChangeDetectionStrategy.OnPush
1604
+ providers: [SkyGridAdapterService],
1605
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
1585
1606
  }]
1586
1607
  }], ctorParameters: function () { return [{ type: i1__namespace.SkyAffixService }, { type: i0__namespace.ChangeDetectorRef }, { type: i2__namespace.DragulaService }, { type: SkyGridAdapterService }, { type: i1__namespace.SkyOverlayService }, { type: i1__namespace.SkyAppWindowRef }, { type: i1__namespace.SkyUIConfigService }]; }, propDecorators: { columns: [{
1587
1608
  type: i0.Input
@@ -1664,7 +1685,7 @@
1664
1685
  * To update this file, simply rerun the command.
1665
1686
  */
1666
1687
  var RESOURCES = {
1667
- 'EN-US': { "skyux_grid_multiselect_select_row": { "message": "Select row" } },
1688
+ 'EN-US': { skyux_grid_multiselect_select_row: { message: 'Select row' } },
1668
1689
  };
1669
1690
  var SkyuxGridsResourcesProvider = /** @class */ (function () {
1670
1691
  function SkyuxGridsResourcesProvider() {
@@ -1682,22 +1703,26 @@
1682
1703
  }
1683
1704
  return SkyuxGridsResourcesModule;
1684
1705
  }());
1685
- SkyuxGridsResourcesModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0__namespace, type: SkyuxGridsResourcesModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
1686
- SkyuxGridsResourcesModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0__namespace, type: SkyuxGridsResourcesModule, exports: [i11.SkyI18nModule] });
1687
- SkyuxGridsResourcesModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0__namespace, type: SkyuxGridsResourcesModule, providers: [{
1706
+ SkyuxGridsResourcesModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyuxGridsResourcesModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
1707
+ SkyuxGridsResourcesModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyuxGridsResourcesModule, exports: [i11.SkyI18nModule] });
1708
+ SkyuxGridsResourcesModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyuxGridsResourcesModule, providers: [
1709
+ {
1688
1710
  provide: i11.SKY_LIB_RESOURCES_PROVIDERS,
1689
1711
  useClass: SkyuxGridsResourcesProvider,
1690
- multi: true
1691
- }], imports: [i11.SkyI18nModule] });
1692
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0__namespace, type: SkyuxGridsResourcesModule, decorators: [{
1712
+ multi: true,
1713
+ },
1714
+ ], imports: [i11.SkyI18nModule] });
1715
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyuxGridsResourcesModule, decorators: [{
1693
1716
  type: i0.NgModule,
1694
1717
  args: [{
1695
1718
  exports: [i11.SkyI18nModule],
1696
- providers: [{
1719
+ providers: [
1720
+ {
1697
1721
  provide: i11.SKY_LIB_RESOURCES_PROVIDERS,
1698
1722
  useClass: SkyuxGridsResourcesProvider,
1699
- multi: true
1700
- }]
1723
+ multi: true,
1724
+ },
1725
+ ],
1701
1726
  }]
1702
1727
  }] });
1703
1728
 
@@ -1706,8 +1731,8 @@
1706
1731
  }
1707
1732
  return SkyGridModule;
1708
1733
  }());
1709
- SkyGridModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0__namespace, type: SkyGridModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
1710
- SkyGridModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0__namespace, type: SkyGridModule, declarations: [SkyGridComponent,
1734
+ SkyGridModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyGridModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
1735
+ SkyGridModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyGridModule, declarations: [SkyGridComponent,
1711
1736
  SkyGridColumnComponent,
1712
1737
  SkyGridCellComponent], imports: [i8.CommonModule,
1713
1738
  i2.DragulaModule,
@@ -1720,9 +1745,8 @@
1720
1745
  i7.SkyInlineDeleteModule,
1721
1746
  i1.SkyOverlayModule,
1722
1747
  i9.SkyPopoverModule,
1723
- i4.SkyTextHighlightModule], exports: [SkyGridComponent,
1724
- SkyGridColumnComponent] });
1725
- SkyGridModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0__namespace, type: SkyGridModule, imports: [[
1748
+ i4.SkyTextHighlightModule], exports: [SkyGridComponent, SkyGridColumnComponent] });
1749
+ SkyGridModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyGridModule, imports: [[
1726
1750
  i8.CommonModule,
1727
1751
  i2.DragulaModule,
1728
1752
  i10.FormsModule,
@@ -1734,15 +1758,15 @@
1734
1758
  i7.SkyInlineDeleteModule,
1735
1759
  i1.SkyOverlayModule,
1736
1760
  i9.SkyPopoverModule,
1737
- i4.SkyTextHighlightModule
1761
+ i4.SkyTextHighlightModule,
1738
1762
  ]] });
1739
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0__namespace, type: SkyGridModule, decorators: [{
1763
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyGridModule, decorators: [{
1740
1764
  type: i0.NgModule,
1741
1765
  args: [{
1742
1766
  declarations: [
1743
1767
  SkyGridComponent,
1744
1768
  SkyGridColumnComponent,
1745
- SkyGridCellComponent
1769
+ SkyGridCellComponent,
1746
1770
  ],
1747
1771
  imports: [
1748
1772
  i8.CommonModule,
@@ -1756,12 +1780,9 @@
1756
1780
  i7.SkyInlineDeleteModule,
1757
1781
  i1.SkyOverlayModule,
1758
1782
  i9.SkyPopoverModule,
1759
- i4.SkyTextHighlightModule
1783
+ i4.SkyTextHighlightModule,
1760
1784
  ],
1761
- exports: [
1762
- SkyGridComponent,
1763
- SkyGridColumnComponent
1764
- ]
1785
+ exports: [SkyGridComponent, SkyGridColumnComponent],
1765
1786
  }]
1766
1787
  }] });
1767
1788
 
@@ -1776,5 +1797,5 @@
1776
1797
 
1777
1798
  Object.defineProperty(exports, '__esModule', { value: true });
1778
1799
 
1779
- })));
1800
+ }));
1780
1801
  //# sourceMappingURL=skyux-grids.umd.js.map