@skyux/ag-grid 4.12.0 → 4.12.4

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.
@@ -1 +1 @@
1
- {"version":3,"file":"skyux-ag-grid.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@skyux/ag-grid/modules/ag-grid/cell-editors/cell-editor-autocomplete/cell-editor-autocomplete.component.ts","ng://@skyux/ag-grid/modules/ag-grid/cell-editors/cell-editor-datepicker/cell-editor-datepicker.component.ts","ng://@skyux/ag-grid/modules/ag-grid/types/lookup-properties.ts","ng://@skyux/ag-grid/modules/ag-grid/cell-editors/cell-editor-lookup/cell-editor-lookup.component.ts","ng://@skyux/ag-grid/modules/ag-grid/cell-editors/cell-editor-number/cell-editor-number.component.ts","ng://@skyux/ag-grid/modules/ag-grid/cell-editors/cell-editor-text/cell-editor-text.component.ts","ng://@skyux/ag-grid/modules/ag-grid/cell-renderers/cell-renderer-currency/cell-renderer-currency-validator.component.ts","ng://@skyux/ag-grid/modules/ag-grid/cell-renderers/cell-renderer-lookup/cell-renderer-lookup.component.ts","ng://@skyux/ag-grid/modules/ag-grid/cell-renderers/cell-renderer-row-selector/cell-renderer-row-selector.component.ts","ng://@skyux/ag-grid/modules/ag-grid/cell-renderers/cell-renderer-validator-tooltip/cell-renderer-validator-tooltip.component.ts","ng://@skyux/ag-grid/modules/ag-grid/types/cell-class.ts","ng://@skyux/ag-grid/modules/ag-grid/types/cell-type.ts","ng://@skyux/ag-grid/modules/ag-grid/types/header-class.ts","ng://@skyux/ag-grid/modules/ag-grid/ag-grid-adapter.service.ts","ng://@skyux/ag-grid/modules/ag-grid/cell-renderers/cell-renderer-currency/cell-renderer-currency.component.ts","ng://@skyux/ag-grid/modules/ag-grid/cell-editors/cell-editor-currency/cell-editor-currency.component.ts","ng://@skyux/ag-grid/modules/ag-grid/ag-grid.service.ts","ng://@skyux/ag-grid/modules/ag-grid/ag-grid-wrapper.component.ts","ng://@skyux/ag-grid/plugin-resources/ag-grid-resources-provider.ts","ng://@skyux/ag-grid/modules/shared/ag-grid-resources.module.ts","ng://@skyux/ag-grid/modules/ag-grid/cell-editors/cell-editor-autocomplete/cell-editor-autocomplete.module.ts","ng://@skyux/ag-grid/modules/ag-grid/cell-editors/cell-editor-datepicker/cell-editor-datepicker.module.ts","ng://@skyux/ag-grid/modules/ag-grid/cell-editors/cell-editor-lookup/cell-editor-lookup.module.ts","ng://@skyux/ag-grid/modules/ag-grid/cell-editors/cell-editor-number/cell-editor-number.module.ts","ng://@skyux/ag-grid/modules/ag-grid/cell-editors/cell-editor-text/cell-editor-text.module.ts","ng://@skyux/ag-grid/modules/ag-grid/cell-renderers/cell-renderer-lookup/cell-renderer-lookup.module.ts","ng://@skyux/ag-grid/modules/ag-grid/cell-renderers/cell-renderer-row-selector/cell-renderer-row-selector.module.ts","ng://@skyux/ag-grid/modules/ag-grid/ag-grid-data-manager-adapter.directive.ts","ng://@skyux/ag-grid/modules/ag-grid/cell-validator/ag-grid-cell-validator-tooltip.component.ts","ng://@skyux/ag-grid/modules/ag-grid/cell-validator/ag-grid-cell-validator.module.ts","ng://@skyux/ag-grid/modules/ag-grid/cell-renderers/cell-renderer-currency/cell-renderer-currency.module.ts","ng://@skyux/ag-grid/modules/ag-grid/ag-grid-row-delete.component.ts","ng://@skyux/ag-grid/modules/ag-grid/ag-grid-row-delete.directive.ts","ng://@skyux/ag-grid/modules/ag-grid/cell-editors/cell-editor-currency/cell-editor-currency.module.ts","ng://@skyux/ag-grid/modules/ag-grid/cell-renderers/cell-renderer-validator-tooltip/cell-renderer-validator-tooltip.module.ts","ng://@skyux/ag-grid/modules/ag-grid/ag-grid.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n ViewChild\n} from '@angular/core';\n\nimport {\n ICellEditorAngularComp\n} from 'ag-grid-angular';\n\nimport {\n SkyCellEditorAutocompleteParams\n} from '../../types/cell-editor-autocomplete-params';\n\nimport {\n SkyAutocompleteProperties\n} from '../../types/autocomplete-properties';\n\n@Component({\n selector: 'sky-ag-grid-cell-editor-autocomplete',\n templateUrl: './cell-editor-autocomplete.component.html',\n styleUrls: ['./cell-editor-autocomplete.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SkyAgGridCellEditorAutocompleteComponent implements ICellEditorAngularComp {\n public currentSelection: any;\n public columnHeader: string;\n public rowNumber: number;\n public skyComponentProperties: SkyAutocompleteProperties = {};\n private params: SkyCellEditorAutocompleteParams;\n\n @ViewChild('skyCellEditorAutocomplete', {read: ElementRef})\n public input: ElementRef;\n\n public agInit(params: SkyCellEditorAutocompleteParams) {\n this.params = params;\n this.currentSelection = this.params.value;\n this.columnHeader = this.params.colDef && this.params.colDef.headerName;\n this.rowNumber = this.params.rowIndex + 1;\n this.skyComponentProperties = this.params.skyComponentProperties || {};\n }\n\n public afterGuiAttached(): void {\n this.input.nativeElement.focus();\n }\n\n public getValue(): any {\n return this.currentSelection;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Optional,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\n\nimport {\n SkyThemeService\n} from '@skyux/theme';\n\nimport {\n ICellEditorAngularComp\n} from 'ag-grid-angular';\n\nimport {\n PopupComponent\n} from 'ag-grid-community';\n\nimport {\n SkyCellEditorDatepickerParams\n} from '../../types/cell-editor-datepicker-params';\n\nimport {\n SkyDatepickerProperties\n} from '../../types/datepicker-properties';\n\n@Component({\n selector: 'sky-ag-grid-cell-editor-datepicker',\n templateUrl: './cell-editor-datepicker.component.html',\n styleUrls: ['./cell-editor-datepicker.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class SkyAgGridCellEditorDatepickerComponent extends PopupComponent implements ICellEditorAngularComp {\n public columnWidth: number;\n public currentDate: Date;\n public columnWidthWithoutBorders: number;\n public rowHeightWithoutBorders: number;\n public skyComponentProperties: SkyDatepickerProperties = {};\n private params: SkyCellEditorDatepickerParams;\n\n @ViewChild('skyCellEditorDatepickerInput', { read: ElementRef })\n private datepickerInput: ElementRef;\n\n constructor(\n @Optional() private themeSvc?: SkyThemeService\n ) {\n super();\n }\n\n /**\n * agInit is called by agGrid once after the editor is created and provides the editor with the information it needs.\n * @param params The cell editor params that include data about the cell, column, row, and grid.\n */\n public agInit(params: SkyCellEditorDatepickerParams): void {\n this.params = params;\n this.currentDate = this.params.value;\n this.skyComponentProperties = this.params.skyComponentProperties || {};\n this.columnWidth = this.params.column.getActualWidth();\n this.columnWidthWithoutBorders = this.columnWidth - 2;\n this.rowHeightWithoutBorders = this.params.node && this.params.node.rowHeight - 3;\n this.themeSvc?.settingsChange.subscribe((themeSettings) => {\n if (themeSettings.currentSettings.theme.name === 'modern') {\n this.columnWidthWithoutBorders = this.columnWidth;\n this.rowHeightWithoutBorders = this.params.node && this.params.node.rowHeight;\n } else {\n this.columnWidthWithoutBorders = this.columnWidth - 2;\n this.rowHeightWithoutBorders = this.params.node && this.params.node.rowHeight - 3;\n }\n });\n }\n\n /**\n * afterGuiAttached is called by agGrid after the editor is rendered in the DOM. Once it is attached the editor is ready to be focused on.\n */\n public afterGuiAttached(): void {\n this.focusOnDatepickerInput();\n }\n\n /**\n * getValue is called by agGrid when editing is stopped to get the new value of the cell.\n */\n public getValue(): Date {\n this.datepickerInput.nativeElement.blur();\n return this.currentDate;\n }\n\n public focusOnDatepickerInput(): void {\n this.datepickerInput.nativeElement.focus();\n }\n}\n","import { TemplateRef } from '@angular/core';\nimport {\n SkyAutocompleteSearchFunction,\n SkyAutocompleteSearchFunctionFilter,\n SkyLookupShowMoreConfig\n} from '@skyux/lookup';\n\nexport interface SkyLookupProperties {\n ariaLabel?: string;\n autocompleteAttribute?: string;\n data: any[];\n debounceTime?: number;\n descriptorProperty?: string;\n disabled?: boolean;\n enableShowMore?: boolean;\n idProperty?: string;\n placeholderText?: string;\n propertiesToSearch?: string[];\n search?: SkyAutocompleteSearchFunction;\n searchFilters?: SkyAutocompleteSearchFunctionFilter[];\n searchResultsLimit?: number;\n searchResultTemplate?: TemplateRef<any>;\n searchTextMinimumCharacters?: number;\n selectMode?: 'single' | 'multiple';\n showAddButton?: boolean;\n showMoreConfig?: SkyLookupShowMoreConfig;\n wrapperClass?: string;\n}\n\nexport function applySkyLookupPropertiesDefaults(skyLookupProperties: SkyLookupProperties) {\n return {\n ariaLabel: skyLookupProperties.ariaLabel || '',\n autocompleteAttribute: skyLookupProperties.autocompleteAttribute || 'off',\n data: skyLookupProperties.data || [],\n debounceTime: skyLookupProperties.debounceTime || 0,\n descriptorProperty: skyLookupProperties.descriptorProperty || 'name',\n disabled: skyLookupProperties.disabled || false,\n enableShowMore: skyLookupProperties.enableShowMore || false,\n idProperty: skyLookupProperties.idProperty || undefined,\n placeholderText: skyLookupProperties.placeholderText || '',\n propertiesToSearch: skyLookupProperties.propertiesToSearch || undefined,\n search: skyLookupProperties.search || undefined,\n searchFilters: skyLookupProperties.searchFilters || [],\n searchResultsLimit: skyLookupProperties.searchResultsLimit || undefined,\n searchResultTemplate: skyLookupProperties.searchResultTemplate || undefined,\n searchTextMinimumCharacters: skyLookupProperties.searchTextMinimumCharacters || 1,\n selectMode: skyLookupProperties.selectMode || undefined,\n showAddButton: skyLookupProperties.showAddButton || false,\n showMoreConfig: skyLookupProperties.showMoreConfig || {},\n wrapperClass: 'ag-custom-component-popup'\n };\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef\n} from '@angular/core';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { ICellEditorAngularComp } from 'ag-grid-angular';\nimport { IPopupComponent } from 'ag-grid-community/dist/lib/interfaces/iPopupComponent';\nimport { SkyCellEditorLookupParams } from '../../types/cell-editor-lookup-params';\nimport { applySkyLookupPropertiesDefaults, SkyLookupProperties } from '../../types/lookup-properties';\n\n@Component({\n selector: 'sky-ag-grid-cell-editor-lookup',\n templateUrl: './cell-editor-lookup.component.html',\n styleUrls: ['./cell-editor-lookup.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SkyAgGridCellEditorLookupComponent implements ICellEditorAngularComp, IPopupComponent<any> {\n\n public skyComponentProperties?: SkyLookupProperties;\n public isAlive = true;\n public lookupForm = new FormGroup({\n currentSelection: new FormControl({\n value: [],\n disabled: false\n })\n });\n\n private params: SkyCellEditorLookupParams;\n\n constructor(\n private changeDetector: ChangeDetectorRef,\n private elementRef: ElementRef\n ) {\n }\n\n public agInit(params: SkyCellEditorLookupParams): void {\n this.params = params;\n if (!Array.isArray(this.params.value)) {\n throw new Error(`Lookup value must be an array`);\n }\n const control = this.lookupForm.get('currentSelection');\n control.setValue(this.params.value);\n if (this.params.skyComponentProperties.disabled) {\n control.disable();\n }\n this.skyComponentProperties = this.updateComponentProperties(this.params);\n this.changeDetector.markForCheck();\n }\n\n public isCancelAfterEnd(): boolean {\n // Shut down components to commit values before final value syncs to grid.\n this.isAlive = false;\n this.changeDetector.detectChanges();\n return false;\n }\n\n public getGui(): HTMLElement {\n return this.elementRef.nativeElement;\n }\n\n public getValue(): any[] {\n return this.lookupForm.get('currentSelection').value;\n }\n\n public isPopup(): boolean {\n return true;\n }\n\n /*istanbul ignore next*/\n public afterGuiAttached(): void {\n this.elementRef.nativeElement.querySelector('.sky-lookup-input')?.focus();\n }\n\n private updateComponentProperties(params: SkyCellEditorLookupParams): SkyLookupProperties {\n const skyLookupProperties = params.skyComponentProperties;\n return applySkyLookupPropertiesDefaults(skyLookupProperties);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n ViewChild\n} from '@angular/core';\n\nimport {\n ICellEditorAngularComp\n} from 'ag-grid-angular';\n\nimport {\n ICellEditorParams\n} from 'ag-grid-community';\n\n@Component({\n selector: 'sky-ag-grid-cell-editor-number',\n templateUrl: './cell-editor-number.component.html',\n styleUrls: ['./cell-editor-number.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n\nexport class SkyAgGridCellEditorNumberComponent implements ICellEditorAngularComp {\n public value: number;\n public columnHeader: string;\n public columnWidth: number;\n public rowHeightWithoutBorders: number;\n public rowNumber: number;\n\n private params: ICellEditorParams;\n\n @ViewChild('skyCellEditorNumber', {read: ElementRef})\n private input: ElementRef;\n\n /**\n * agInit is called by agGrid once after the editor is created and provides the editor with the information it needs.\n * @param params The cell editor params that include data about the cell, column, row, and grid.\n */\n public agInit(params: ICellEditorParams): void {\n this.params = params;\n this.value = this.params.value;\n this.columnHeader = this.params.colDef.headerName;\n this.rowNumber = this.params.rowIndex + 1;\n this.columnWidth = this.params.column.getActualWidth();\n this.rowHeightWithoutBorders = this.params.node && this.params.node.rowHeight - 4;\n }\n\n /**\n * afterGuiAttached is called by agGrid after the editor is rendered in the DOM. Once it is attached the editor is ready to be focused on.\n */\n public afterGuiAttached(): void {\n this.input.nativeElement.focus();\n }\n\n /**\n * getValue is called by agGrid when editing is stopped to get the new value of the cell.\n */\n public getValue(): number {\n return this.value;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n ViewChild\n} from '@angular/core';\n\nimport {\n ICellEditorAngularComp\n} from 'ag-grid-angular';\n\nimport {\n ICellEditorParams\n} from 'ag-grid-community';\n\n@Component({\n selector: 'sky-ag-grid-cell-editor-text',\n templateUrl: './cell-editor-text.component.html',\n styleUrls: ['./cell-editor-text.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n\nexport class SkyAgGridCellEditorTextComponent implements ICellEditorAngularComp {\n public value: string;\n public textInputLabel: string;\n public columnHeader: string;\n public columnWidth: number;\n public rowHeightWithoutBorders: number;\n public rowNumber: number;\n\n private params: ICellEditorParams;\n\n @ViewChild('skyCellEditorText', {read: ElementRef})\n private input: ElementRef;\n\n /**\n * agInit is called by agGrid once after the editor is created and provides the editor with the information it needs.\n * @param params The cell editor params that include data about the cell, column, row, and grid.\n */\n public agInit(params: ICellEditorParams): void {\n this.params = params;\n this.value = this.params.charPress || this.params.value;\n this.columnHeader = this.params.colDef.headerName;\n this.rowNumber = this.params.rowIndex + 1;\n this.columnWidth = this.params.column.getActualWidth();\n this.rowHeightWithoutBorders = this.params.node && this.params.node.rowHeight - 4;\n }\n\n /**\n * afterGuiAttached is called by agGrid after the editor is rendered in the DOM. Once it is attached the editor is ready to be focused on.\n */\n public afterGuiAttached(): void {\n this.input.nativeElement.focus();\n }\n\n /**\n * getValue is called by agGrid when editing is stopped to get the new value of the cell.\n */\n public getValue(): string {\n return this.value;\n }\n}\n","import {\n ChangeDetectionStrategy, ChangeDetectorRef,\n Component,\n Input\n} from '@angular/core';\n\nimport {\n ICellRendererAngularComp\n} from 'ag-grid-angular';\n\nimport {\n SkyCellRendererCurrencyParams\n} from '../../types/cell-renderer-currency-params';\n\n@Component({\n selector: 'sky-ag-grid-cell-renderer-currency-validator',\n templateUrl: 'cell-renderer-currency-validator.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SkyAgGridCellRendererCurrencyValidatorComponent implements ICellRendererAngularComp {\n @Input()\n public set parameters(value: SkyCellRendererCurrencyParams) {\n this.agInit(value);\n }\n\n public cellRendererParams: SkyCellRendererCurrencyParams;\n\n constructor(\n private changeDetector: ChangeDetectorRef\n ) {\n }\n\n /**\n * agInit is called by agGrid once after the renderer is created and provides the renderer with the information it needs.\n * @param params The cell renderer params that include data about the cell, column, row, and grid.\n */\n public agInit(params: SkyCellRendererCurrencyParams) {\n this.cellRendererParams = params;\n this.changeDetector.markForCheck();\n }\n\n public isNumeric(value: any) {\n return !isNaN(parseFloat(value));\n }\n\n public refresh(params: SkyCellRendererCurrencyParams): boolean {\n return false;\n }\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\nimport { SkyCellRendererLookupParams } from '../../types/cell-renderer-lookup-params';\n\n@Component({\n selector: 'sky-cell-renderer-lookup',\n templateUrl: './cell-renderer-lookup.component.html',\n styleUrls: ['./cell-renderer-lookup.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SkyAgGridCellRendererLookupComponent implements ICellRendererAngularComp {\n public value: string = '';\n public summaryCount = 0;\n\n constructor(\n private changeDetector: ChangeDetectorRef\n ) {\n }\n\n public agInit(params: SkyCellRendererLookupParams): void {\n this.summaryCount = params.value?.length || 0;\n this.value = `${params.valueFormatted}`;\n this.changeDetector.markForCheck();\n }\n\n public refresh(params: SkyCellRendererLookupParams): boolean {\n this.agInit(params);\n return true;\n }\n}\n","import {\n ChangeDetectorRef,\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation\n} from '@angular/core';\n\nimport {\n ICellRendererAngularComp\n} from 'ag-grid-angular';\n\nimport {\n ICellRendererParams,\n RowNode,\n RowSelectedEvent\n} from 'ag-grid-community';\n\n@Component({\n selector: 'sky-ag-grid-cell-renderer-row-selector',\n templateUrl: './cell-renderer-row-selector.component.html',\n styleUrls: ['./cell-renderer-row-selector.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class SkyAgGridCellRendererRowSelectorComponent implements ICellRendererAngularComp {\n public checked: boolean;\n public dataField: string;\n public rowNode: RowNode;\n public rowNumber: number;\n\n private params: ICellRendererParams;\n\n constructor(\n private changeDetection: ChangeDetectorRef\n ) { }\n\n /**\n * agInit is called by agGrid once after the cell is created and provides the renderer with the information it needs.\n * @param params The cell renderer params that include data about the cell, column, row, and grid.\n */\n public agInit(params: ICellRendererParams): void {\n this.params = params;\n this.dataField = this.params.colDef && this.params.colDef.field;\n this.rowNode = this.params.node;\n this.rowNumber = this.params.rowIndex + 1;\n\n if (this.dataField) {\n this.checked = this.params.value;\n this.rowNode.setSelected(this.checked);\n } else {\n this.checked = this.rowNode.isSelected();\n }\n\n this.rowNode.addEventListener(RowNode.EVENT_ROW_SELECTED, (event: RowSelectedEvent) => {\n this.rowSelectedListener(event);\n });\n }\n\n /**\n * Used by agGrid to update cell value after a user triggers a refresh. It updates the cell DOM and returns true when the refresh is\n * successful, or false if the cell should be destroyed and rerendered. If consumers have external logic that changes the value of a\n * checkbox cell, rerendering it will gurantee the change applies without knowing the consumer's implementation.\n */\n public refresh(): boolean {\n return false;\n }\n\n public updateRow(): void {\n this.rowNode.setSelected(this.checked);\n\n if (this.dataField) {\n this.rowNode.data[this.dataField] = this.checked;\n }\n }\n\n private rowSelectedListener(event: RowSelectedEvent): void {\n this.checked = event.node.isSelected();\n\n if (this.dataField) {\n this.rowNode.data[this.dataField] = this.checked;\n }\n\n this.changeDetection.markForCheck();\n }\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input } from '@angular/core';\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\nimport { ValueFormatterParams } from 'ag-grid-community';\nimport { SkyCellRendererValidatorParams } from '../../types/cell-renderer-validator-params';\n\n@Component({\n selector: 'sky-ag-grid-cell-renderer-validator-tooltip',\n templateUrl: 'cell-renderer-validator-tooltip.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SkyAgGridCellRendererValidatorTooltipComponent implements ICellRendererAngularComp {\n @Input()\n public set params(value: SkyCellRendererValidatorParams) {\n this.agInit(value);\n }\n\n public cellRendererParams: SkyCellRendererValidatorParams;\n public value: any;\n\n constructor(\n private changeDetector: ChangeDetectorRef\n ) {\n }\n\n public agInit(params: SkyCellRendererValidatorParams): void {\n this.cellRendererParams = params;\n if (typeof params.colDef?.valueFormatter === 'function') {\n this.value = params.colDef.valueFormatter(params as ValueFormatterParams);\n } else {\n this.value = params.value;\n }\n this.changeDetector.markForCheck();\n }\n\n public refresh(params: any): boolean {\n return false;\n }\n}\n","export enum SkyCellClass {\n Autocomplete = 'sky-ag-grid-cell-autocomplete',\n Currency = 'sky-ag-grid-cell-currency',\n Date = 'sky-ag-grid-cell-date',\n Editable = 'sky-ag-grid-cell-editable',\n Invalid = 'sky-ag-grid-cell-invalid',\n Lookup = 'sky-ag-grid-cell-lookup',\n Number = 'sky-ag-grid-cell-number',\n RowSelector = 'sky-ag-grid-cell-row-selector',\n Text = 'sky-ag-grid-cell-text',\n Uneditable = 'sky-ag-grid-cell-uneditable'\n}\n","export enum SkyCellType {\n Autocomplete = 'skyCellAutocomplete',\n Currency = 'skyCellCurrency',\n CurrencyValidator = 'skyCellCurrencyValidator',\n Date = 'skyCellDate',\n Lookup = 'skyCellLookup',\n Number = 'skyCellNumber',\n NumberValidator = 'skyCellNumberValidator',\n RowSelector = 'skyCellRowSelector',\n Text = 'skyCellText',\n Validator = 'skyCellValidator'\n}\n","export enum SkyHeaderClass {\n RightAligned = 'sky-ag-grid-header-right-aligned'\n}\n","import {\n Injectable\n} from '@angular/core';\n\nimport {\n SkyCoreAdapterService\n} from '@skyux/core';\n\n@Injectable()\nexport class SkyAgGridAdapterService {\n constructor(\n private skyAdapterService: SkyCoreAdapterService\n ) { }\n\n public getElementOrParentWithClass(element: HTMLElement, className: string): HTMLElement | undefined {\n if (element && element.classList.contains(className)) {\n return element;\n } else if (element.parentElement) {\n return this.getElementOrParentWithClass(element.parentElement, className);\n }\n }\n\n public setFocusedElementById(parentEl: HTMLElement, selector: string): void {\n const element = parentEl.querySelector(`#${selector}`) as HTMLElement;\n\n /* istanbul ignore else */\n if (element) {\n element.focus();\n }\n }\n\n public getFocusedElement(): HTMLElement {\n return document.activeElement as HTMLElement;\n }\n\n public getNextFocusableElement(currentEl: HTMLElement, parentEl: HTMLElement, moveFocusLeft?: boolean): HTMLElement | undefined {\n if (parentEl) {\n const focusableChildren = this.skyAdapterService.getFocusableChildren(parentEl);\n const currentElementIndex = focusableChildren.indexOf(currentEl);\n const nextIndex = moveFocusLeft ? currentElementIndex - 1 : currentElementIndex + 1;\n\n if ((!moveFocusLeft && focusableChildren.length >= nextIndex) || (moveFocusLeft && nextIndex >= 0)) {\n return focusableChildren[nextIndex];\n }\n }\n }\n\n public focusOnFocusableChildren(element: HTMLElement): void {\n let focusableChildren = this.skyAdapterService.getFocusableChildren(element);\n\n if (focusableChildren.length) {\n focusableChildren[0].focus();\n }\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component, Input\n} from '@angular/core';\nimport { NumericOptions } from '@skyux/core';\n\nimport {\n ICellRendererAngularComp\n} from 'ag-grid-angular';\n\nimport {\n SkyCellRendererCurrencyParams\n} from '../../types/cell-renderer-currency-params';\n\nimport {\n ValidatorOptions\n} from '../../types/validator-options';\n\n@Component({\n selector: 'sky-ag-grid-cell-renderer-currency',\n templateUrl: './cell-renderer-currency.component.html',\n styleUrls: ['./cell-renderer-currency.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n\nexport class SkyAgGridCellRendererCurrencyComponent implements ICellRendererAngularComp {\n @Input()\n public set params(value: SkyCellRendererCurrencyParams) {\n this.agInit(value);\n }\n\n public columnHeader: string;\n public columnWidth: number;\n public rowHeightWithoutBorders: number;\n public rowNumber: number;\n public skyComponentProperties: NumericOptions & ValidatorOptions = {};\n public numericOptions: NumericOptions = {};\n public value: number;\n\n private _params: SkyCellRendererCurrencyParams;\n\n /**\n * agInit is called by agGrid once after the renderer is created and provides the renderer with the information it needs.\n * @param params The cell renderer params that include data about the cell, column, row, and grid.\n */\n public agInit(params: SkyCellRendererCurrencyParams) {\n this.updateProperties(params);\n }\n\n public refresh(params: SkyCellRendererCurrencyParams): boolean {\n return false;\n }\n\n private updateProperties(params: SkyCellRendererCurrencyParams) {\n this._params = params;\n this.value = this._params.value;\n this.columnHeader = this._params.colDef && this._params.colDef.headerName;\n this.rowNumber = this._params.rowIndex + 1;\n this.columnWidth = this._params.column?.getActualWidth();\n this.rowHeightWithoutBorders = this._params.node && this._params.node.rowHeight - 4;\n this.skyComponentProperties = this._params.skyComponentProperties || {};\n this.skyComponentProperties.format = 'currency';\n this.skyComponentProperties.minDigits = 2;\n this.skyComponentProperties.truncate = false;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n ViewChild\n} from '@angular/core';\n\nimport {\n ICellEditorAngularComp\n} from 'ag-grid-angular';\n\nimport {\n SkyCellEditorCurrencyParams\n} from '../../types/cell-editor-currency-params';\n\nimport {\n SkyCurrencyProperties\n} from '../../types/currency-properties';\n\n@Component({\n selector: 'sky-ag-grid-cell-editor-currency',\n templateUrl: './cell-editor-currency.component.html',\n styleUrls: ['./cell-editor-currency.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n\nexport class SkyAgGridCellEditorCurrencyComponent implements ICellEditorAngularComp {\n public value: number;\n public skyComponentProperties: SkyCurrencyProperties = {};\n public columnHeader: string;\n public columnWidth: number;\n public rowHeightWithoutBorders: number;\n public rowNumber: number;\n\n private params: SkyCellEditorCurrencyParams;\n\n @ViewChild('skyCellEditorCurrency', {read: ElementRef})\n private input: ElementRef;\n\n /**\n * agInit is called by agGrid once after the editor is created and provides the editor with the information it needs.\n * @param params The cell editor params that include data about the cell, column, row, and grid.\n */\n public agInit(params: SkyCellEditorCurrencyParams): void {\n this.params = params;\n this.value = this.params.value;\n this.columnHeader = this.params.colDef.headerName;\n this.rowNumber = this.params.rowIndex + 1;\n this.columnWidth = this.params.column.getActualWidth();\n this.rowHeightWithoutBorders = this.params.node && this.params.node.rowHeight - 4;\n this.skyComponentProperties = this.params.skyComponentProperties || { decimalPlaces: 2 , currencySymbol: '$' };\n }\n\n /**\n * afterGuiAttached is called by agGrid after the editor is rendered in the DOM. Once it is attached the editor is ready to be focused on.\n */\n public afterGuiAttached(): void {\n this.input.nativeElement.focus();\n }\n\n /**\n * getValue is called by agGrid when editing is stopped to get the new value of the cell.\n */\n public getValue(): number {\n return this.value;\n }\n}\n","import {\n Injectable,\n OnDestroy,\n Optional\n} from '@angular/core';\n\nimport {\n SkyLibResourcesService\n} from '@skyux/i18n';\n\nimport {\n CellClassParams,\n GridOptions,\n ICellRendererParams,\n SuppressKeyboardEventParams,\n ValueFormatterParams\n} from 'ag-grid-community';\n\nimport {\n Subject\n} from 'rxjs';\n\nimport {\n takeUntil\n} from 'rxjs/operators';\n\nimport {\n SkyThemeService,\n SkyThemeSettings\n} from '@skyux/theme';\n\nimport {\n SkyAgGridCellEditorAutocompleteComponent\n} from './cell-editors/cell-editor-autocomplete/cell-editor-autocomplete.component';\n\nimport {\n SkyAgGridCellEditorDatepickerComponent\n} from './cell-editors/cell-editor-datepicker/cell-editor-datepicker.component';\n\nimport {\n SkyAgGridCellEditorLookupComponent\n} from './cell-editors/cell-editor-lookup/cell-editor-lookup.component';\n\nimport {\n SkyAgGridCellEditorNumberComponent\n} from './cell-editors/cell-editor-number/cell-editor-number.component';\n\nimport {\n SkyAgGridCellEditorTextComponent\n} from './cell-editors/cell-editor-text/cell-editor-text.component';\n\nimport {\n SkyAgGridCellRendererCurrencyValidatorComponent\n} from './cell-renderers/cell-renderer-currency/cell-renderer-currency-validator.component';\n\nimport {\n SkyAgGridCellRendererLookupComponent\n} from './cell-renderers/cell-renderer-lookup/cell-renderer-lookup.component';\n\nimport {\n SkyAgGridCellRendererRowSelectorComponent\n} from './cell-renderers/cell-renderer-row-selector/cell-renderer-row-selector.component';\n\nimport {\n SkyAgGridCellRendererValidatorTooltipComponent\n} from './cell-renderers/cell-renderer-validator-tooltip/cell-renderer-validator-tooltip.component';\n\nimport {\n SkyCellClass\n} from './types/cell-class';\n\nimport {\n SkyCellType\n} from './types/cell-type';\n\nimport {\n SkyHeaderClass\n} from './types/header-class';\nimport { applySkyLookupPropertiesDefaults } from './types/lookup-properties';\n\nimport {\n SkyGetGridOptionsArgs\n} from './types/sky-grid-options';\n\nimport {\n SkyAgGridAdapterService\n} from './ag-grid-adapter.service';\n\nimport {\n SkyAgGridCellRendererCurrencyComponent\n} from './cell-renderers/cell-renderer-currency/cell-renderer-currency.component';\n\nimport {\n SkyAgGridCellEditorCurrencyComponent\n} from './cell-editors/cell-editor-currency/cell-editor-currency.component';\n\nfunction autocompleteComparator(value1: { name: string }, value2: { name: string }): number {\n if (value1 && value2) {\n if (value1.name > value2.name) {\n return 1;\n }\n\n if (value1.name < value2.name) {\n return -1;\n }\n\n return 0;\n }\n\n return value1 ? 1 : -1;\n}\n\nfunction autocompleteFormatter(params: ValueFormatterParams): string | undefined {\n return params.value && params.value.name;\n}\n\nfunction dateComparator(date1: any, date2: any): number {\n let date1value = date1;\n let date2value = date2;\n\n if (typeof date1value === 'string') {\n date1value = new Date(date1);\n }\n\n if (typeof date2value === 'string') {\n date2value = new Date(date2);\n }\n\n if (date1value && date2value) {\n if (date1value > date2value) {\n return 1;\n }\n\n if (date1value < date2value) {\n return -1;\n }\n\n return 0;\n }\n\n return date1value ? 1 : -1;\n}\n\nfunction getValidatorCellRendererSelector(component: string, fallback?: any) {\n return (params: ICellRendererParams) => {\n if (params.colDef && typeof params.colDef.cellRendererParams?.skyComponentProperties?.validator === 'function') {\n if (!params.colDef.cellRendererParams.skyComponentProperties.validator(params.value, params.data, params.rowIndex)) {\n return {\n component,\n params: {\n ...params.colDef.cellRendererParams\n }\n };\n }\n }\n return fallback;\n };\n}\n\n/**\n * A service that provides default styling and behavior for agGrids in SKY UX SPAs.\n */\n@Injectable()\nexport class SkyAgGridService implements OnDestroy {\n public currentTheme: SkyThemeSettings;\n private ngUnsubscribe = new Subject();\n\n constructor(\n private agGridAdapterService: SkyAgGridAdapterService,\n @Optional() private themeSvc?: SkyThemeService,\n @Optional() private resources?: SkyLibResourcesService\n ) {\n /*istanbul ignore else*/\n if (this.themeSvc) {\n this.themeSvc.settingsChange\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe(settingsChange => this.currentTheme = settingsChange.currentSettings);\n }\n }\n\n public ngOnDestroy() {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n\n /**\n * Get SKY UX gridOptions to create your agGrid with default SKY styling and behavior.\n * @param args options to be applied to the default SKY UX agGrid gridOptions.\n */\n public getGridOptions(args: SkyGetGridOptionsArgs): GridOptions {\n const defaultGridOptions = this.getDefaultGridOptions(args);\n const mergedGridOptions = this.mergeGridOptions(defaultGridOptions, args.gridOptions);\n\n return mergedGridOptions;\n }\n\n public getEditableGridOptions(args: SkyGetGridOptionsArgs): GridOptions {\n const defaultGridOptions = this.getDefaultEditableGridOptions(args);\n const mergedGridOptions = this.mergeGridOptions(defaultGridOptions, args.gridOptions);\n\n return mergedGridOptions;\n }\n\n private mergeGridOptions(defaultGridOptions: GridOptions, providedGridOptions: GridOptions): GridOptions {\n let mergedGridOptions = {\n ...defaultGridOptions,\n ...providedGridOptions,\n columnTypes: {\n ...providedGridOptions.columnTypes,\n // apply default second to prevent consumers from overwriting our default column types\n ...defaultGridOptions.columnTypes\n },\n defaultColDef: {\n ...defaultGridOptions.defaultColDef,\n ...providedGridOptions.defaultColDef,\n // allow consumers to override all defaultColDef properties except cellClassRules, which we reserve for styling\n cellClassRules: defaultGridOptions.defaultColDef.cellClassRules\n },\n icons: {\n ...defaultGridOptions.icons,\n ...providedGridOptions.icons\n }\n };\n\n return mergedGridOptions;\n }\n\n private getDefaultGridOptions(args: SkyGetGridOptionsArgs): GridOptions {\n // cellClassRules can be functions or string expressions\n const cellClassRuleTrueExpression = 'true';\n\n function getEditableFn(isUneditable?: boolean): ((params: CellClassParams) => boolean) {\n return function (params: CellClassParams): boolean {\n let isEditable = params.colDef.editable;\n\n if (typeof isEditable === 'function') {\n const column = params.columnApi.getColumn(params.colDef.field);\n isEditable = isEditable({ ...params, column });\n }\n\n return isUneditable ? !isEditable : isEditable;\n };\n }\n\n const editableCellClassRules = {\n [SkyCellClass.Editable]: getEditableFn(),\n [SkyCellClass.Uneditable]: getEditableFn(true)\n };\n\n function getValidatorFn(): ((params: CellClassParams) => boolean) {\n return function (param: CellClassParams) {\n if (param.colDef && typeof param.colDef.cellRendererParams?.skyComponentProperties?.validator === 'function') {\n return !param.colDef.cellRendererParams.skyComponentProperties.validator(param.value, param.data, param.rowIndex);\n }\n return false;\n };\n }\n\n const validatorCellClassRules = {\n [SkyCellClass.Invalid]: getValidatorFn()\n };\n\n const defaultSkyGridOptions: GridOptions = {\n columnTypes: {\n [SkyCellType.Autocomplete]: {\n cellClassRules: {\n [SkyCellClass.Autocomplete]: cellClassRuleTrueExpression,\n ...editableCellClassRules\n },\n cellEditorFramework: SkyAgGridCellEditorAutocompleteComponent,\n valueFormatter: autocompleteFormatter,\n comparator: autocompleteComparator,\n minWidth: 185\n },\n [SkyCellType.Currency]: {\n cellClassRules: {\n [SkyCellClass.Currency]: cellClassRuleTrueExpression,\n ...validatorCellClassRules,\n ...editableCellClassRules\n },\n cellRendererSelector: getValidatorCellRendererSelector(\n 'sky-ag-grid-cell-renderer-currency-validator',\n { component: 'sky-ag-grid-cell-renderer-currency' }\n ),\n cellEditorFramework: SkyAgGridCellEditorCurrencyComponent,\n headerClass: SkyHeaderClass.RightAligned,\n minWidth: 185\n },\n [SkyCellType.Date]: {\n cellClassRules: {\n [SkyCellClass.Date]: cellClassRuleTrueExpression,\n ...editableCellClassRules\n },\n cellEditorFramework: SkyAgGridCellEditorDatepickerComponent,\n comparator: dateComparator,\n minWidth: this.currentTheme?.theme?.name === 'modern' ? 180 : 160,\n valueFormatter: (params: ValueFormatterParams) => this.dateFormatter(params, args.locale)\n },\n [SkyCellType.Lookup]: {\n cellClassRules: {\n [SkyCellClass.Lookup]: cellClassRuleTrueExpression,\n ...editableCellClassRules\n },\n cellEditorFramework: SkyAgGridCellEditorLookupComponent,\n cellRendererFramework: SkyAgGridCellRendererLookupComponent,\n valueFormatter: (params) => {\n const lookupProperties = applySkyLookupPropertiesDefaults(params);\n return (params.value || [])\n .map((value: any) => {\n return value[lookupProperties.descriptorProperty];\n })\n .filter((value: any) => value !== '' && value !== undefined)\n .join('; ');\n },\n minWidth: 185\n },\n [SkyCellType.Number]: {\n cellClassRules: {\n [SkyCellClass.Number]: cellClassRuleTrueExpression,\n ...editableCellClassRules\n },\n cellEditorFramework: SkyAgGridCellEditorNumberComponent,\n headerClass: SkyHeaderClass.RightAligned\n },\n [SkyCellType.RowSelector]: {\n cellClassRules: {\n [SkyCellClass.RowSelector]: cellClassRuleTrueExpression,\n [SkyCellClass.Uneditable]: cellClassRuleTrueExpression\n },\n cellRendererFramework: SkyAgGridCellRendererRowSelectorComponent,\n headerName: '',\n minWidth: 55,\n maxWidth: 55,\n sortable: false,\n width: 55\n },\n [SkyCellType.Text]: {\n cellClassRules: {\n [SkyCellClass.Text]: cellClassRuleTrueExpression,\n ...editableCellClassRules\n },\n cellEditorFramework: SkyAgGridCellEditorTextComponent\n },\n [SkyCellType.Validator]: {\n cellClassRules: {\n ...validatorCellClassRules,\n ...editableCellClassRules\n },\n cellRendererSelector: getValidatorCellRendererSelector('sky-ag-grid-cell-renderer-validator-tooltip')\n }\n },\n defaultColDef: {\n cellClassRules: editableCellClassRules,\n minWidth: 100,\n resizable: true,\n sortable: true,\n suppressKeyboardEvent: (keypress: SuppressKeyboardEventParams) => this.suppressTab(keypress)\n },\n domLayout: 'autoHeight',\n enterMovesDownAfterEdit: true,\n frameworkComponents: {\n 'sky-ag-grid-cell-renderer-currency': SkyAgGridCellRendererCurrencyComponent,\n 'sky-ag-grid-cell-renderer-currency-validator': SkyAgGridCellRendererCurrencyValidatorComponent,\n 'sky-ag-grid-cell-renderer-validator-tooltip': SkyAgGridCellRendererValidatorTooltipComponent\n },\n headerHeight: this.currentTheme?.theme?.name === 'modern' ? 60 : 37,\n icons: {\n sortDescending: this.getIconTemplate('caret-down'),\n sortAscending: this.getIconTemplate('caret-up'),\n columnMoveMove: this.getIconTemplate('arrows'),\n columnMoveHide: this.getIconTemplate('arrows'),\n columnMoveLeft: this.getIconTemplate('arrows'),\n columnMoveRight: this.getIconTemplate('arrows'),\n columnMovePin: this.getIconTemplate('arrows')\n },\n onCellFocused: () => this.onCellFocused(),\n rowHeight: this.currentTheme?.theme?.name === 'modern' ? 60 : 38,\n rowMultiSelectWithClick: true,\n rowSelection: 'multiple',\n singleClickEdit: true,\n // tslint:disable-next-line: no-null-keyword\n sortingOrder: ['desc', 'asc', null],\n stopEditingWhenGridLosesFocus: false,\n suppressRowClickSelection: true,\n suppressDragLeaveHidesColumns: true\n };\n\n defaultSkyGridOptions.columnTypes[SkyCellType.CurrencyValidator] = {\n ...defaultSkyGridOptions.columnTypes[SkyCellType.Currency],\n cellRendererParams: {\n skyComponentProperties: {\n validator: (value: any, data: any, rowIndex: number) => {\n return !!`${value || ''}`.match(/^[^0-9]*(\\d+[,.]?)+\\d*[^0-9]*$/);\n },\n validatorMessage: 'Please enter a valid currency'\n }\n }\n };\n /*istanbul ignore else*/\n if (this.resources) {\n this.resources.getString('sky_ag_grid_cell_renderer_currency_validator_message').subscribe((value) => {\n defaultSkyGridOptions.columnTypes[SkyCellType.CurrencyValidator].cellRendererParams.skyComponentProperties.validatorMessage = value;\n });\n }\n\n defaultSkyGridOptions.columnTypes[SkyCellType.NumberValidator] = {\n ...defaultSkyGridOptions.columnTypes[SkyCellType.Validator],\n ...defaultSkyGridOptions.columnTypes[SkyCellType.Number],\n cellClassRules: {\n ...defaultSkyGridOptions.columnTypes[SkyCellType.Validator].cellClassRules,\n ...defaultSkyGridOptions.columnTypes[SkyCellType.Number].cellClassRules\n },\n cellRendererParams: {\n skyComponentProperties: {\n validator: (value: any, data: any, rowIndex: number) => {\n return !!value && !isNaN(parseFloat(value));\n },\n validatorMessage: 'Please enter a valid number'\n }\n }\n };\n /*istanbul ignore else*/\n if (this.resources) {\n this.resources.getString('sky_ag_grid_cell_renderer_number_validator_message').subscribe((value) => {\n defaultSkyGridOptions.columnTypes[SkyCellType.NumberValidator].cellRendererParams.skyComponentProperties.validatorMessage = value;\n });\n }\n\n return defaultSkyGridOptions;\n }\n\n private onCellFocused(): void {\n const currentElement = this.agGridAdapterService.getFocusedElement();\n\n this.agGridAdapterService.focusOnFocusableChildren(currentElement);\n }\n\n private getDefaultEditableGridOptions(args: SkyGetGridOptionsArgs): GridOptions {\n let defaultGridOptions = this.getDefaultGridOptions(args);\n\n defaultGridOptions.rowSelection = 'none';\n\n return defaultGridOptions;\n }\n\n private dateFormatter(params: ValueFormatterParams, locale: string = 'en-us'): string | undefined {\n const dateConfig = { year: 'numeric', month: '2-digit', day: '2-digit' };\n let date: Date = params.value;\n\n if (date && typeof date === 'string') {\n date = new Date(params.value);\n }\n\n // @ts-ignore\n let formattedDate = date && date.toLocaleDateString && date.toLocaleDateString(locale, dateConfig);\n\n if (date && date.getTime && !isNaN(date.getTime())) {\n return formattedDate;\n }\n }\n\n private getIconTemplate(iconName: string): string {\n return `<i class=\"fa fa-${iconName}\"></i>`;\n }\n\n private suppressTab(params: SuppressKeyboardEventParams): boolean {\n if (params.event.code === 'Tab') {\n if (params.editing) {\n const currentlyFocusedEl = this.agGridAdapterService.getFocusedElement();\n // inline cell editors have the 'ag-cell' class, while popup editors have the 'ag-popup-editor' class\n const cellEl = this.agGridAdapterService.getElementOrParentWithClass(currentlyFocusedEl, 'ag-cell');\n const popupEl = this.agGridAdapterService.getElementOrParentWithClass(currentlyFocusedEl, 'ag-popup-editor');\n const parentEl = cellEl || popupEl;\n\n const nextFocusableElementInCell =\n this.agGridAdapterService.getNextFocusableElement(currentlyFocusedEl, parentEl, params.event.shiftKey);\n return !!nextFocusableElementInCell;\n }\n return true;\n }\n return false;\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectorRef,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef\n} from '@angular/core';\n\nimport {\n AgGridAngular\n} from 'ag-grid-angular';\n\nimport {\n DetailGridInfo\n} from 'ag-grid-community';\n\nimport {\n SkyAgGridAdapterService\n} from './ag-grid-adapter.service';\n\nlet idIndex = 0;\n\n@Component({\n selector: 'sky-ag-grid-wrapper',\n templateUrl: './ag-grid-wrapper.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SkyAgGridWrapperComponent implements AfterContentInit {\n\n @ContentChild(AgGridAngular, {\n static: true\n })\n public agGrid: AgGridAngular;\n\n public afterAnchorId: string;\n public beforeAnchorId: string;\n public gridId: string;\n\n public get viewkeeperClasses(): string[] {\n return this._viewkeeperClasses;\n }\n\n public set viewkeeperClasses(value: string[]) {\n this._viewkeeperClasses = value;\n this.changeDetector.markForCheck();\n }\n\n private _viewkeeperClasses: string[] = [];\n\n constructor(\n private adapterService: SkyAgGridAdapterService,\n private changeDetector: ChangeDetectorRef,\n private elementRef: ElementRef\n ) {\n idIndex++;\n this.afterAnchorId = 'sky-ag-grid-nav-anchor-after-' + idIndex;\n this.beforeAnchorId = 'sky-ag-grid-nav-anchor-before-' + idIndex;\n this.gridId = 'sky-ag-grid-' + idIndex;\n }\n\n public ngAfterContentInit(): void {\n if (this.agGrid.gridOptions && this.agGrid.gridOptions.domLayout === 'autoHeight') {\n this.viewkeeperClasses.push('.ag-header');\n }\n }\n\n public onGridKeydown(event: KeyboardEvent): void {\n if (this.agGrid && !this.isInEditMode && event.key === 'Tab') {\n const idToFocus = event.shiftKey ? this.beforeAnchorId : this.afterAnchorId;\n this.adapterService.setFocusedElementById(this.elementRef.nativeElement, idToFocus);\n }\n }\n\n public onAnchorFocus(event: FocusEvent): void {\n const gridId = this.gridId;\n const relatedTarget = event.relatedTarget as HTMLElement;\n const previousFocusedId = relatedTarget && relatedTarget.id;\n const previousWasCell = relatedTarget && !!this.adapterService.getElementOrParentWithClass(relatedTarget, 'ag-cell');\n\n if (previousFocusedId !== gridId && !previousWasCell) {\n const columns = this.agGrid.columnApi.getAllDisplayedColumns();\n const firstColumn = columns && columns[0];\n const rowIndex = this.agGrid.api.getFirstDisplayedRow();\n\n if (firstColumn && rowIndex >= 0) {\n this.agGrid.api.setFocusedCell(rowIndex, firstColumn);\n }\n }\n }\n\n private get isInEditMode(): boolean {\n /* Sanity check */\n /* istanbul ignore else */\n if (this.agGrid && this.agGrid.api) {\n const primaryGridEditing = this.agGrid.api.getEditingCells().length > 0;\n if (primaryGridEditing) {\n return true;\n } else {\n let innerEditing: boolean = false;\n this.agGrid.api.forEachDetailGridInfo((detailGrid: DetailGridInfo) => {\n if (detailGrid.api.getEditingCells().length > 0) {\n innerEditing = true;\n }\n });\n\n return innerEditing;\n }\n } else {\n return false;\n }\n }\n}\n","\nimport {\n Injectable\n} from '@angular/core';\n\nimport {\n getStringForLocale,\n SkyAppLocaleInfo,\n SkyLibResourcesProvider\n} from '@skyux/i18n';\n\n@Injectable()\nexport class SkyAgGridResourcesProvider implements SkyLibResourcesProvider {\n private resources: any = {\"EN-US\":{\"sky_ag_grid_row_selector_aria_label\":\"Row selector for row {0}\",\"sky_ag_grid_cell_editor_number_aria_label\":\"Editable number {0} for row {1}\",\"sky_ag_grid_cell_editor_text_aria_label\":\"Editable text {0} for row {1}\",\"sky_ag_grid_cell_editor_autocomplete_aria_label\":\"Editable autocomplete {0} for row {1}\",\"sky_ag_grid_cell_renderer_currency_aria_label\":\"Editable currency {0} for row {1}\",\"sky_ag_grid_cell_renderer_number_validator_message\":\"Please enter a valid number\",\"sky_ag_grid_cell_renderer_currency_validator_message\":\"Please enter a valid currency\",\"skyux_lookup_tokens_summary\":\"{0} items selected\"}};\n\n public getString(localeInfo: SkyAppLocaleInfo, name: string): string {\n return getStringForLocale(this.resources, localeInfo.locale, name);\n }\n}\n","import {\n NgModule\n} from '@angular/core';\n\nimport {\n SkyI18nModule,\n SKY_LIB_RESOURCES_PROVIDERS\n} from '@skyux/i18n';\n\nimport {\n SkyAgGridResourcesProvider\n} from '../../plugin-resources/ag-grid-resources-provider';\n\n@NgModule({\n providers: [{\n provide: SKY_LIB_RESOURCES_PROVIDERS,\n useClass: SkyAgGridResourcesProvider,\n multi: true\n }],\n exports: [\n SkyI18nModule\n ]\n})\nexport class SkyAgGridResourcesModule { }\n","import {\n NgModule\n} from '@angular/core';\n\nimport {\n FormsModule\n} from '@angular/forms';\n\nimport {\n SkyAutocompleteModule\n} from '@skyux/lookup';\n\nimport {\n SkyAgGridCellEditorAutocompleteComponent\n} from '../cell-editor-autocomplete/cell-editor-autocomplete.component';\n\nimport {\n SkyAgGridResourcesModule\n} from '../../../shared/ag-grid-resources.module';\n\n@NgModule({\n imports: [\n FormsModule,\n SkyAgGridResourcesModule,\n SkyAutocompleteModule\n ],\n declarations: [\n SkyAgGridCellEditorAutocompleteComponent\n ],\n exports: [\n SkyAgGridCellEditorAutocompleteComponent\n ]\n})\nexport class SkyAgGridCellEditorAutocompleteModule {\n}\n","import {\n NgModule\n} from '@angular/core';\n\nimport {\n FormsModule\n} from '@angular/forms';\n\nimport {\n SkyDatepickerModule\n} from '@skyux/datetime';\n\nimport {\n SkyAgGridCellEditorDatepickerComponent\n} from '../cell-editor-datepicker/cell-editor-datepicker.component';\n\n@NgModule({\n imports: [\n SkyDatepickerModule,\n FormsModule\n ],\n declarations: [\n SkyAgGridCellEditorDatepickerComponent\n ],\n exports: [\n SkyAgGridCellEditorDatepickerComponent\n ]\n})\nexport class SkyAgGridCellEditorDatepickerModule {\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { SkyInputBoxModule } from '@skyux/forms';\nimport { SkyLookupModule } from '@skyux/lookup';\nimport { SkyAgGridResourcesModule } from '../../../shared/ag-grid-resources.module';\nimport { SkyAgGridCellEditorLookupComponent } from './cell-editor-lookup.component';\n\n@NgModule({\n declarations: [SkyAgGridCellEditorLookupComponent],\n exports: [SkyAgGridCellEditorLookupComponent],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n SkyAgGridResourcesModule,\n SkyInputBoxModule,\n SkyLookupModule\n ]\n})\nexport class SkyAgGridCellEditorLookupModule {\n}\n","import {\n NgModule\n} from '@angular/core';\n\nimport {\n FormsModule\n} from '@angular/forms';\n\nimport {\n SkyAgGridResourcesModule\n} from '../../../shared/ag-grid-resources.module';\n\nimport {\n SkyAgGridCellEditorNumberComponent\n} from '../cell-editor-number/cell-editor-number.component';\n\n@NgModule({\n imports: [\n SkyAgGridResourcesModule,\n FormsModule\n ],\n declarations: [\n SkyAgGridCellEditorNumberComponent\n ],\n exports: [\n SkyAgGridCellEditorNumberComponent\n ]\n})\nexport class SkyAgGridCellEditorNumberModule {\n}\n","import {\n NgModule\n} from '@angular/core';\n\nimport {\n FormsModule\n} from '@angular/forms';\n\nimport {\n SkyAgGridResourcesModule\n} from '../../../shared/ag-grid-resources.module';\n\nimport {\n SkyAgGridCellEditorTextComponent\n} from './cell-editor-text.component';\n\n@NgModule({\n imports: [\n SkyAgGridResourcesModule,\n FormsModule\n ],\n declarations: [\n SkyAgGridCellEditorTextComponent\n ],\n exports: [\n SkyAgGridCellEditorTextComponent\n ]\n})\nexport class SkyAgGridCellEditorTextModule {\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SkyAgGridResourcesModule } from '../../../shared/ag-grid-resources.module';\nimport { SkyAgGridCellRendererLookupComponent } from './cell-renderer-lookup.component';\n\n@NgModule({\n declarations: [SkyAgGridCellRendererLookupComponent],\n exports: [SkyAgGridCellRendererLookupComponent],\n imports: [CommonModule, SkyAgGridResourcesModule]\n})\nexport class SkyAgGridCellRendererLookupModule {\n}\n","import {\n NgModule\n} from '@angular/core';\n\nimport {\n FormsModule\n} from '@angular/forms';\n\nimport {\n SkyCheckboxModule\n} from '@skyux/forms';\n\nimport {\n SkyAgGridResourcesModule\n} from '../../../shared/ag-grid-resources.module';\n\nimport {\n SkyAgGridCellRendererRowSelectorComponent\n} from '../cell-renderer-row-selector/cell-renderer-row-selector.component';\n\n@NgModule({\n imports: [\n SkyAgGridResourcesModule,\n SkyCheckboxModule,\n FormsModule\n ],\n declarations: [\n SkyAgGridCellRendererRowSelectorComponent\n ],\n exports: [\n SkyAgGridCellRendererRowSelectorComponent\n ]\n})\nexport class SkyAgGridCellRendererRowSelectorModule {\n}\n","import {\n AfterContentInit,\n ChangeDetectorRef,\n ContentChildren,\n Directive,\n Input,\n OnDestroy,\n QueryList\n} from '@angular/core';\n\nimport {\n Subject,\n Subscription\n} from 'rxjs';\n\nimport {\n takeUntil\n} from 'rxjs/operators';\n\nimport {\n AgGridAngular\n} from 'ag-grid-angular';\n\nimport {\n ColumnMovedEvent,\n RowSelectedEvent\n} from 'ag-grid-community';\n\nimport {\n SkyDataManagerService,\n SkyDataManagerSortOption,\n SkyDataManagerState,\n SkyDataViewConfig\n} from '@skyux/data-manager';\n\nimport {\n SkyAgGridWrapperComponent\n} from './ag-grid-wrapper.component';\n\n@Directive({\n selector: '[skyAgGridDataManagerAdapter]'\n})\nexport class SkyAgGridDataManagerAdapterDirective implements AfterContentInit, OnDestroy {\n\n @Input()\n public viewId: string;\n\n @ContentChildren(AgGridAngular, { descendants: true })\n public agGridList: QueryList<AgGridAngular>;\n\n @ContentChildren(SkyAgGridWrapperComponent, { descendants: true })\n public skyAgGridWrapperList: QueryList<SkyAgGridWrapperComponent>;\n\n private currentAgGrid: AgGridAngular;\n private currentDataState: SkyDataManagerState;\n private currentSkyAgGridWrapper: SkyAgGridWrapperComponent;\n private dataStateSub: Subscription;\n private viewConfig: SkyDataViewConfig;\n private ngUnsubscribe = new Subject();\n\n constructor(\n private changeDetector: ChangeDetectorRef,\n private dataManagerSvc: SkyDataManagerService) { }\n\n public ngAfterContentInit(): void {\n this.dataManagerSvc.setViewkeeperClasses(this.viewId, ['.ag-header']);\n\n this.viewConfig = this.dataManagerSvc.getViewById(this.viewId);\n this.checkForAgGrid();\n this.checkForSkyAgGridWrapper();\n\n this.agGridList.changes\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe(() => this.checkForAgGrid());\n\n this.skyAgGridWrapperList.changes\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe(() => this.checkForSkyAgGridWrapper());\n }\n\n public ngOnDestroy() {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n\n private checkForAgGrid(): void {\n const agGridCount = this.agGridList.length;\n\n /* istanbul ignore else */\n if (agGridCount === 0) {\n this.unregisterAgGrid();\n } else if (this.agGridList.first !== this.currentAgGrid) {\n this.registerAgGrid();\n }\n\n if (agGridCount > 1) {\n console.warn(\n 'More than one ag-grid child component was found. Using the first ag-Grid.'\n );\n }\n }\n\n private checkForSkyAgGridWrapper(): void {\n const skyAgGridWrapperCount = this.skyAgGridWrapperList.length;\n\n /* istanbul ignore else */\n if (skyAgGridWrapperCount === 0) {\n this.unregisterSkyAgGridWrapper();\n } else if (this.skyAgGridWrapperList.first !== this.currentSkyAgGridWrapper) {\n this.registerSkyAgGridWrapper();\n }\n\n if (skyAgGridWrapperCount > 1) {\n console.warn(\n 'More than one ag-grid child component was found. Using the first ag-Grid.'\n );\n }\n }\n\n private unregisterAgGrid(): void {\n this.currentAgGrid = undefined;\n\n /* istanbul ignore if */\n if (this.dataStateSub) {\n this.dataStateSub.unsubscribe();\n }\n }\n\n private unregisterSkyAgGridWrapper(): void {\n this.currentSkyAgGridWrapper = undefined;\n }\n\n private registerSkyAgGridWrapper(): void {\n this.unregisterSkyAgGridWrapper();\n\n this.currentSkyAgGridWrapper = this.skyAgGridWrapperList.first;\n\n setTimeout(() => {\n if (this.currentSkyAgGridWrapper) {\n this.currentSkyAgGridWrapper.viewkeeperClasses = [];\n }\n });\n }\n\n private registerAgGrid(): void {\n this.unregisterAgGrid();\n\n const agGrid = this.agGridList.first;\n\n this.currentAgGrid = agGrid;\n\n agGrid.gridReady\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe(() => {\n this.viewConfig.onSelectAllClick = this.selectAll.bind(this);\n this.viewConfig.onClearAllClick = this.clearAll.bind(this);\n\n this.dataManagerSvc.updateViewConfig(this.viewConfig);\n\n this.dataStateSub = this.dataManagerSvc.getDataStateUpdates(this.viewConfig.id)\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe((dataState: SkyDataManagerState) => {\n this.currentDataState = dataState;\n this.displayColumns(dataState);\n });\n\n agGrid.api.sizeColumnsToFit();\n });\n\n agGrid.columnMoved\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe((event: ColumnMovedEvent) => {\n let columnOrder = agGrid.columnApi.getAllDisplayedVirtualColumns().map(\n col => col.getColDef().colId\n );\n\n if (event.source !== 'api') {\n const viewState = this.currentDataState.getViewStateById(this.viewConfig.id);\n viewState.displayedColumnIds = columnOrder;\n\n this.dataManagerSvc.updateDataState(\n this.currentDataState.addOrUpdateView(this.viewConfig.id, viewState),\n this.viewConfig.id\n );\n }\n });\n\n agGrid.rowSelected\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe((event: RowSelectedEvent) => {\n const row = event.node;\n let selectedIds = this.currentDataState.selectedIds || [];\n const rowIndex = selectedIds.indexOf(row.data.id);\n\n if (row.isSelected() && rowIndex === -1) {\n selectedIds.push(row.data.id);\n } else if (!row.isSelected() && rowIndex !== -1) {\n selectedIds.splice(rowIndex, 1);\n }\n\n this.currentDataState.selectedIds = selectedIds;\n this.dataManagerSvc.updateDataState(this.currentDataState, this.viewConfig.id);\n this.changeDetector.markForCheck();\n });\n\n agGrid.sortChanged\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe(() => {\n const gridSortModel = agGrid.api.getSortModel();\n let sortOption: SkyDataManagerSortOption;\n\n /* istanbul ignore else */\n if (gridSortModel.length) {\n const activeSortModel = gridSortModel[0];\n const activeSortColumn = agGrid.columnApi.getColumn(activeSortModel.colId);\n const dataManagerConfig = this.dataManagerSvc.getCurrentDataManagerConfig();\n\n /* istanbul ignore else */\n if (dataManagerConfig.sortOptions) {\n sortOption = dataManagerConfig.sortOptions.find((option: SkyDataManagerSortOption) => {\n return option.propertyName === activeSortColumn.getColDef().field &&\n option.descending === (activeSortModel.sort === 'desc');\n });\n } else {\n sortOption = undefined;\n }\n }\n this.currentDataState.activeSortOption = sortOption;\n this.dataManagerSvc.updateDataState(this.currentDataState, this.viewConfig.id);\n });\n }\n\n private displayColumns(dataState: SkyDataManagerState): void {\n const agGrid = this.currentAgGrid;\n const viewState = dataState.getViewStateById(this.viewConfig.id);\n let displayedColumnIds: string[] = [];\n /*istanbul ignore else*/\n if (viewState.displayedColumnIds) {\n displayedColumnIds = viewState.displayedColumnIds;\n }\n const columns = agGrid.columnApi.getAllColumns();\n\n for (const column of columns) {\n const colId = column.getColId();\n const colIndex = displayedColumnIds.indexOf(colId);\n\n agGrid.columnApi.setColumnVisible(colId, colIndex !== -1);\n agGrid.columnApi.moveColumn(colId, colIndex);\n }\n }\n\n private selectAll(): void {\n const agGrid = this.agGridList.first;\n agGrid.api.selectAll();\n }\n\n private clearAll(): void {\n const agGrid = this.agGridList.first;\n agGrid.api.deselectAll();\n }\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, NgZone } from '@angular/core';\nimport { SkyPopoverMessage, SkyPopoverMessageType } from '@skyux/popovers';\nimport { CellFocusedEvent, Events } from 'ag-grid-community';\nimport { Subject } from 'rxjs';\nimport { SkyCellRendererValidatorParams } from '../types/cell-renderer-validator-params';\n\n@Component({\n selector: 'sky-ag-grid-cell-validator-tooltip',\n styleUrls: ['ag-grid-cell-validator-tooltip.component.scss'],\n templateUrl: 'ag-grid-cell-validator-tooltip.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SkyAgGridCellValidatorTooltipComponent {\n @Input()\n public set params(value: SkyCellRendererValidatorParams) {\n this.cellRendererParams = value;\n\n /*istanbul ignore next*/\n this.cellRendererParams.api?.addEventListener(Events.EVENT_CELL_FOCUSED, (eventParams: CellFocusedEvent) => {\n // We want to close any popovers that are opened when other cells are focused, but open a popover if the current cell is focused.\n if (eventParams.column.getColId() !== this.cellRendererParams.column.getColId() ||\n eventParams.rowIndex !== this.cellRendererParams.rowIndex) {\n this.hidePopover();\n }\n });\n\n /*istanbul ignore next*/\n this.cellRendererParams.eGridCell?.addEventListener('keyup', (event) => {\n if (['ArrowDown', 'ArrowLeft', 'ArrowRight', 'ArrowUp'].includes(event.key)) {\n this.showPopover();\n }\n });\n\n /*istanbul ignore next*/\n this.cellRendererParams.api?.addEventListener(Events.EVENT_CELL_EDITING_STARTED, () => {\n this.hidePopover();\n });\n\n if (typeof this.cellRendererParams.skyComponentProperties?.validatorMessage === 'function') {\n this.validatorMessage = this.cellRendererParams.skyComponentProperties.validatorMessage(\n this.cellRendererParams.value,\n this.cellRendererParams.data,\n this.cellRendererParams.rowIndex\n );\n } else {\n this.validatorMessage = this.cellRendererParams.skyComponentProperties?.validatorMessage;\n }\n\n this.changeDetector.markForCheck();\n }\n\n public indicatorShouldShow = true;\n public popoverMessageStream = new Subject<SkyPopoverMessage>();\n public validatorMessage: string;\n\n public cellRendererParams: SkyCellRendererValidatorParams;\n\n constructor(\n private changeDetector: ChangeDetectorRef,\n private zone: NgZone\n ) { }\n\n public hideIndicator(): void {\n this.zone.run(() => {\n this.indicatorShouldShow = false;\n this.changeDetector.markForCheck();\n });\n }\n\n public hidePopover(): void {\n this.popoverMessageStream.next({ type: SkyPopoverMessageType.Close });\n }\n\n public showIndicator(): void {\n this.zone.run(() => {\n this.indicatorShouldShow = true;\n this.changeDetector.markForCheck();\n });\n }\n\n public showPopover(): void {\n this.popoverMessageStream.next({ type: SkyPopoverMessageType.Open });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport {\n NgModule\n} from '@angular/core';\nimport { SkyStatusIndicatorModule } from '@skyux/indicators';\nimport { SkyPopoverModule } from '@skyux/popovers';\nimport { SkyAgGridCellValidatorTooltipComponent } from './ag-grid-cell-validator-tooltip.component';\n\n@NgModule({\n declarations: [\n SkyAgGridCellValidatorTooltipComponent\n ],\n exports: [\n SkyAgGridCellValidatorTooltipComponent\n ],\n imports: [\n CommonModule,\n SkyPopoverModule,\n SkyStatusIndicatorModule\n ]\n})\nexport class SkyAgGridCellValidatorModule {}\n","import { CommonModule } from '@angular/common';\nimport {\n NgModule\n} from '@angular/core';\n\nimport {\n FormsModule\n} from '@angular/forms';\n\nimport {\n SkyNumericModule\n} from '@skyux/core';\n\nimport {\n SkyAgGridResourcesModule\n} from '../../../shared/ag-grid-resources.module';\n\nimport {\n SkyAgGridCellRendererCurrencyValidatorComponent\n} from './cell-renderer-currency-validator.component';\n\nimport {\n SkyAgGridCellRendererCurrencyComponent\n} from './cell-renderer-currency.component';\n\nimport {\n SkyAgGridCellValidatorModule\n} from '../../cell-validator/ag-grid-cell-validator.module';\n\n@NgModule({\n imports: [\n CommonModule,\n SkyAgGridResourcesModule,\n SkyAgGridCellValidatorModule,\n FormsModule,\n SkyNumericModule\n ],\n declarations: [\n SkyAgGridCellRendererCurrencyComponent,\n SkyAgGridCellRendererCurrencyValidatorComponent\n ],\n exports: [\n SkyAgGridCellRendererCurrencyComponent,\n SkyAgGridCellRendererCurrencyValidatorComponent\n ]\n})\nexport class SkyAgGridCellRendererCurrencyModule {\n}\n","import {\n Component,\n ElementRef,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewChildren\n} from '@angular/core';\n\n/**\n * Component for rendering the inline delete template in the overlay.\n * @internal\n */\n@Component({\n template: `\n <ng-template\n let-row\n let-tableWidth=\"tableWidth()\"\n let-getRowDeleteItem=\"getRowDeleteItem\"\n let-cancelRowDelete=\"cancelRowDelete\"\n let-confirmRowDelete=\"confirmRowDelete\"\n #inlineDeleteTemplateRef\n >\n <div\n class=\"sky-ag-grid-row-delete\"\n [id]=\"'row-delete-ref-' + row.id\"\n [ngStyle]='{\n \"height\": row.rowHeight + \"px\",\n \"position\": \"fixed\",\n \"width\": tableWidth + \"px\"\n }'\n #inlineDeleteRef\n >\n <sky-inline-delete\n [pending]=\"getRowDeleteItem(row).pending\"\n (cancelTriggered)=\"cancelRowDelete(row)\"\n (deleteTriggered)=\"confirmRowDelete(row)\"\n ></sky-inline-delete>\n </div>\n </ng-template>\n `\n})\nexport class SkyAgGridRowDeleteComponent {\n\n @ViewChildren('inlineDeleteRef')\n public inlineDeleteRefs: QueryList<ElementRef>;\n @ViewChild('inlineDeleteTemplateRef', { read: TemplateRef })\n public inlineDeleteTemplateRef: TemplateRef<any>;\n\n}\n","import {\n AfterContentInit,\n ChangeDetectorRef,\n ComponentFactoryResolver,\n ContentChild,\n Directive,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n ViewContainerRef\n} from '@angular/core';\n\nimport {\n SkyAffixAutoFitContext,\n SkyAffixer,\n SkyAffixService,\n SkyOverlayService\n} from '@skyux/core';\n\nimport {\n AgGridAngular\n} from 'ag-grid-angular';\n\nimport {\n RowNode\n} from 'ag-grid-community';\n\nimport {\n Subject\n} from 'rxjs';\n\nimport {\n takeUntil\n} from 'rxjs/operators';\n\nimport {\n SkyAgGridRowDeleteComponent\n} from './ag-grid-row-delete.component';\n\nimport {\n SkyAgGridRowDeleteCancelArgs\n} from './types/ag-grid-row-delete-cancel-args';\n\nimport {\n SkyAgGridRowDeleteConfig\n} from './types/ag-gird-row-delete-config';\n\nimport {\n SkyAgGridRowDeleteConfirmArgs\n} from './types/ag-grid-row-delete-confirm-args';\n\nimport {\n SkyAgGridRowDeleteContents\n} from './types/ag-grid-row-delete-contents';\n\n@Directive({\n selector: '[skyAgGridRowDelete]'\n})\nexport class SkyAgGridRowDeleteDirective implements AfterContentInit, OnDestroy {\n\n /**\n * Specifies the ids of the data in the rows on which inline delete's should be shown.\n */\n @Input()\n set rowDeleteIds(value: string[]) {\n this._rowDeleteIds = value;\n\n if (!value) {\n for (let config of this.rowDeleteConfigs) {\n this.destroyRowDelete(config.id);\n }\n\n this.changeDetector.markForCheck();\n\n return;\n }\n\n for (let id of value) {\n const existingConfig = this.rowDeleteConfigs\n .find(config => config.id === id);\n if (existingConfig) {\n existingConfig.pending = false;\n } else {\n this.rowDeleteConfigs.push({\n id: id,\n pending: false\n });\n\n let overlay = this.overlayService.create({\n enableScroll: true,\n showBackdrop: false,\n closeOnNavigation: true,\n enableClose: false,\n enablePointerEvents: true\n });\n\n overlay.attachTemplate(this.rowDeleteComponent.inlineDeleteTemplateRef,\n {\n $implicit: this.agGrid.api.getRowNode(id),\n tableWidth: () => { return this.tableWidth; },\n getRowDeleteItem: (row: RowNode) => this.getRowDeleteItem(row),\n cancelRowDelete: (row: RowNode) => this.cancelRowDelete(row),\n confirmRowDelete: (row: RowNode) => this.confirmRowDelete(row)\n });\n\n /**\n * We are manually setting the z-index here because overlays will always be on top of\n * the omnibar. This manual setting is 2 less than the omnibar's z-index of 1000 and one less than\n * the header row's viewkeeper which is 999. We discussed changing the overlay service to allow for this\n * but decided against that change at this time due to its niche nature.\n */\n overlay.componentRef.instance.zIndex = '998';\n\n setTimeout(() => {\n const inlineDeleteRef = this.rowDeleteComponent.inlineDeleteRefs.toArray()\n .find(elRef => {\n return elRef.nativeElement.id === 'row-delete-ref-' + id;\n });\n let affixer = this.affixService.createAffixer(inlineDeleteRef);\n\n this.affixToRow(affixer, id);\n\n this.rowDeleteContents[id] = {\n affixer: affixer,\n overlay: overlay\n };\n });\n }\n }\n\n for (let config of this.rowDeleteConfigs) {\n if (value.indexOf(config.id) < 0) {\n this.destroyRowDelete(config.id);\n }\n }\n\n this.changeDetector.markForCheck();\n }\n\n get rowDeleteIds(): string[] {\n return this._rowDeleteIds;\n }\n\n /**\n * Emits a `SkyAgGridRowDeleteCancelArgs` object when a row's inline delete is cancelled.\n */\n @Output()\n public rowDeleteCancel = new EventEmitter<SkyAgGridRowDeleteCancelArgs>();\n\n /**\n * Emits a `SkyAgGridRowDeleteConfirmArgs` object when a row's inline delete is confirmed.\n */\n @Output()\n public rowDeleteConfirm = new EventEmitter<SkyAgGridRowDeleteConfirmArgs>();\n\n /**\n * Emits when the list of ids of the data in the rows where inline deletes are shown changes.\n */\n @Output()\n public rowDeleteIdsChange = new EventEmitter<string[]>();\n\n public rowDeleteConfigs: SkyAgGridRowDeleteConfig[] = [];\n\n public get tableWidth() {\n return this.elementRef.nativeElement.querySelectorAll('.sky-ag-grid')[0].offsetWidth;\n }\n\n @ContentChild(AgGridAngular)\n public agGrid: AgGridAngular;\n\n private ngUnsubscribe = new Subject();\n private rowDeleteComponent: SkyAgGridRowDeleteComponent;\n private rowDeleteContents: { [id: string]: SkyAgGridRowDeleteContents } = {};\n\n private _rowDeleteIds: string[];\n\n constructor(\n private affixService: SkyAffixService,\n private changeDetector: ChangeDetectorRef,\n private elementRef: ElementRef,\n private resolver: ComponentFactoryResolver,\n private overlayService: SkyOverlayService,\n private viewContainerRef: ViewContainerRef\n ) { }\n\n public ngAfterContentInit(): void {\n const factory = this.resolver.resolveComponentFactory(SkyAgGridRowDeleteComponent);\n this.rowDeleteComponent = this.viewContainerRef.createComponent(factory).instance;\n this.agGrid.rowDataChanged\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe(() => {\n this.updateRowDeleteStates();\n });\n\n this.agGrid.rowDataUpdated\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe(() => {\n this.updateRowDeleteStates();\n });\n\n this.agGrid.sortChanged\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe(() => {\n this.updateRowDeleteStates();\n });\n\n this.agGrid.filterChanged\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe(() => {\n this.updateRowDeleteStates();\n });\n\n this.agGrid.getRowNodeId = (data: any) => {\n return data.id.toString();\n };\n }\n\n public ngOnDestroy(): void {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n\n Object.keys(this.rowDeleteContents).forEach(id => {\n this.destroyRowDelete(id);\n });\n }\n\n public cancelRowDelete(row: RowNode): void {\n this.rowDeleteConfigs = this.rowDeleteConfigs.filter(config => config.id !== row.id);\n this.rowDeleteCancel.emit({ id: row.id });\n\n this.destroyRowDelete(row.id);\n }\n\n public confirmRowDelete(row: RowNode): void {\n this.rowDeleteConfigs.find(config => config.id === row.id).pending = true;\n this.rowDeleteConfirm.emit({ id: row.id });\n }\n\n public getRowDeleteItem(row: RowNode): SkyAgGridRowDeleteConfig {\n return this.rowDeleteConfigs.find(rowDelete => rowDelete.id === row.id);\n }\n\n private affixToRow(affixer: SkyAffixer, id: string) {\n let rowElement: HTMLElement = this.elementRef.nativeElement.querySelector('[row-id=\"' + id + '\"] div[aria-colindex=\"1\"]');\n\n // This covers cases where AG Grid places the column index on an inner element (such as with the `enableCellTextSelection` option)\n // This appears to have been fixed by AG Grid in version 24 and so it is not testable after that version.\n /* istanbul ignore if */\n if (!rowElement) {\n const columns = this.elementRef.nativeElement.querySelectorAll('[row-id=\"' + id + '\"] > div');\n\n for (let i = 0; i < columns.length; i++) {\n if (columns[i].querySelector('[aria-colindex=\"1\"]')) {\n rowElement = columns[i];\n break;\n }\n }\n }\n\n affixer.affixTo(rowElement, {\n autoFitContext: SkyAffixAutoFitContext.Viewport,\n isSticky: true,\n placement: 'above',\n verticalAlignment: 'top',\n horizontalAlignment: 'left',\n enableAutoFit: false\n });\n }\n\n private destroyRowDelete(id: string): void {\n const rowDeleteContents = this.rowDeleteContents[id];\n\n /* sanity check */\n /* istanbul ignore else */\n if (rowDeleteContents) {\n rowDeleteContents.affixer.destroy();\n this.overlayService.close(rowDeleteContents.overlay);\n delete this.rowDeleteContents[id];\n this.rowDeleteConfigs = this.rowDeleteConfigs.filter(config => config.id !== id);\n this._rowDeleteIds = this.rowDeleteIds?.filter(arrayId => arrayId !== id);\n this.rowDeleteIdsChange.emit(this._rowDeleteIds);\n }\n }\n\n private updateRowDeleteStates(): void {\n this.rowDeleteConfigs.forEach((config: SkyAgGridRowDeleteConfig) => {\n if (!this.agGrid.api.getRowNode(config.id)) {\n this.destroyRowDelete(config.id);\n } else {\n // We must reaffix things when the data changes because the rows rerender and the previous element that the delete was affixed\n // to is destroyed.\n this.affixToRow(this.rowDeleteContents[config.id].affixer, config.id);\n }\n });\n this.changeDetector.markForCheck();\n }\n\n}\n","import {\n NgModule\n} from '@angular/core';\n\nimport {\n FormsModule\n} from '@angular/forms';\nimport { SkyAutonumericModule } from '@skyux/autonumeric';\n\nimport {\n SkyAgGridResourcesModule\n} from '../../../shared/ag-grid-resources.module';\n\nimport {\n SkyAgGridCellEditorCurrencyComponent\n} from './cell-editor-currency.component';\n\n@NgModule({\n imports: [\n SkyAgGridResourcesModule,\n FormsModule,\n SkyAutonumericModule\n ],\n declarations: [\n SkyAgGridCellEditorCurrencyComponent\n ],\n exports: [\n SkyAgGridCellEditorCurrencyComponent\n ]\n})\nexport class SkyAgGridCellEditorCurrencyModule {\n}\n","import { NgModule } from '@angular/core';\nimport { SkyAgGridCellValidatorModule } from '../../cell-validator/ag-grid-cell-validator.module';\nimport { SkyAgGridCellRendererValidatorTooltipComponent } from './cell-renderer-validator-tooltip.component';\n\n@NgModule({\n declarations: [\n SkyAgGridCellRendererValidatorTooltipComponent\n ],\n exports: [\n SkyAgGridCellRendererValidatorTooltipComponent\n ],\n imports: [\n SkyAgGridCellValidatorModule\n ]\n})\nexport class SkyAgGridCellRendererValidatorTooltipModule {}\n","import {\n CommonModule\n} from '@angular/common';\n\nimport {\n NgModule\n} from '@angular/core';\n\nimport {\n SkyCoreAdapterModule,\n SkyViewkeeperModule\n} from '@skyux/core';\n\nimport {\n AgGridModule\n} from 'ag-grid-angular';\n\nimport {\n SkyDataManagerModule\n} from '@skyux/data-manager';\n\nimport {\n SkyInlineDeleteModule\n} from '@skyux/layout';\n\nimport {\n SkyAgGridService\n} from './ag-grid.service';\n\nimport {\n SkyAgGridWrapperComponent\n} from './ag-grid-wrapper.component';\n\nimport {\n SkyAgGridAdapterService\n} from './ag-grid-adapter.service';\n\nimport {\n SkyAgGridCellEditorAutocompleteComponent\n} from './cell-editors/cell-editor-autocomplete/cell-editor-autocomplete.component';\n\nimport {\n SkyAgGridCellEditorAutocompleteModule\n} from './cell-editors/cell-editor-autocomplete/cell-editor-autocomplete.module';\n\nimport {\n SkyAgGridCellEditorDatepickerComponent\n} from './cell-editors/cell-editor-datepicker/cell-editor-datepicker.component';\n\nimport {\n SkyAgGridCellEditorDatepickerModule\n} from './cell-editors/cell-editor-datepicker/cell-editor-datepicker.module';\n\nimport {\n SkyAgGridCellEditorLookupComponent\n} from './cell-editors/cell-editor-lookup/cell-editor-lookup.component';\n\nimport {\n SkyAgGridCellEditorLookupModule\n} from './cell-editors/cell-editor-lookup/cell-editor-lookup.module';\n\nimport {\n SkyAgGridCellEditorNumberComponent\n} from './cell-editors/cell-editor-number/cell-editor-number.component';\n\nimport {\n SkyAgGridCellEditorNumberModule\n} from './cell-editors/cell-editor-number/cell-editor-number.module';\n\nimport {\n SkyAgGridCellEditorTextComponent\n} from './cell-editors/cell-editor-text/cell-editor-text.component';\n\nimport {\n SkyAgGridCellEditorTextModule\n} from './cell-editors/cell-editor-text/cell-editor-text.module';\n\nimport {\n SkyAgGridCellRendererCurrencyValidatorComponent\n} from './cell-renderers/cell-renderer-currency/cell-renderer-currency-validator.component';\n\nimport {\n SkyAgGridCellRendererLookupComponent\n} from './cell-renderers/cell-renderer-lookup/cell-renderer-lookup.component';\n\nimport {\n SkyAgGridCellRendererLookupModule\n} from './cell-renderers/cell-renderer-lookup/cell-renderer-lookup.module';\n\nimport {\n SkyAgGridCellRendererRowSelectorComponent\n} from './cell-renderers/cell-renderer-row-selector/cell-renderer-row-selector.component';\n\nimport {\n SkyAgGridCellRendererRowSelectorModule\n} from './cell-renderers/cell-renderer-row-selector/cell-renderer-row-selector.module';\n\nimport {\n SkyAgGridDataManagerAdapterDirective\n} from './ag-grid-data-manager-adapter.directive';\n\nimport {\n SkyAgGridCellRendererCurrencyModule\n} from './cell-renderers/cell-renderer-currency/cell-renderer-currency.module';\n\nimport {\n SkyAgGridCellRendererCurrencyComponent\n} from './cell-renderers/cell-renderer-currency/cell-renderer-currency.component';\n\nimport {\n SkyAgGridRowDeleteComponent\n} from './ag-grid-row-delete.component';\n\nimport {\n SkyAgGridRowDeleteDirective\n} from './ag-grid-row-delete.directive';\n\nimport {\n SkyAgGridCellEditorCurrencyModule\n} from './cell-editors/cell-editor-currency/cell-editor-currency.module';\n\nimport {\n SkyAgGridCellEditorCurrencyComponent\n} from './cell-editors/cell-editor-currency/cell-editor-currency.component';\n\nimport {\n SkyAgGridCellRendererValidatorTooltipComponent\n} from './cell-renderers/cell-renderer-validator-tooltip/cell-renderer-validator-tooltip.component';\n\nimport {\n SkyAgGridCellRendererValidatorTooltipModule\n} from './cell-renderers/cell-renderer-validator-tooltip/cell-renderer-validator-tooltip.module';\n\nimport {\n SkyAgGridCellValidatorModule\n} from './cell-validator/ag-grid-cell-validator.module';\n\n@NgModule({\n declarations: [\n SkyAgGridDataManagerAdapterDirective,\n SkyAgGridRowDeleteComponent,\n SkyAgGridRowDeleteDirective,\n SkyAgGridWrapperComponent\n ],\n imports: [\n AgGridModule,\n CommonModule,\n SkyAgGridCellEditorAutocompleteModule,\n SkyAgGridCellEditorDatepickerModule,\n SkyAgGridCellEditorLookupModule,\n SkyAgGridCellEditorNumberModule,\n SkyAgGridCellEditorCurrencyModule,\n SkyAgGridCellRendererCurrencyModule,\n SkyAgGridCellRendererLookupModule,\n SkyAgGridCellRendererRowSelectorModule,\n SkyAgGridCellRendererValidatorTooltipModule,\n SkyAgGridCellValidatorModule,\n SkyAgGridCellEditorTextModule,\n SkyCoreAdapterModule,\n SkyDataManagerModule,\n SkyInlineDeleteModule,\n SkyViewkeeperModule\n ],\n exports: [\n SkyAgGridDataManagerAdapterDirective,\n SkyAgGridRowDeleteComponent,\n SkyAgGridRowDeleteDirective,\n SkyAgGridWrapperComponent\n ],\n providers: [\n SkyAgGridService,\n SkyAgGridAdapterService\n ],\n entryComponents: [\n SkyAgGridCellEditorAutocompleteComponent,\n SkyAgGridCellEditorDatepickerComponent,\n SkyAgGridCellEditorLookupComponent,\n SkyAgGridCellEditorNumberComponent,\n SkyAgGridCellEditorCurrencyComponent,\n SkyAgGridCellRendererCurrencyComponent,\n SkyAgGridCellRendererCurrencyValidatorComponent,\n SkyAgGridCellRendererLookupComponent,\n SkyAgGridCellRendererRowSelectorComponent,\n SkyAgGridCellRendererValidatorTooltipComponent,\n SkyAgGridCellEditorTextComponent,\n SkyAgGridRowDeleteComponent\n ]\n})\nexport class SkyAgGridModule { }\n"],"names":["ViewChild","ElementRef","Component","ChangeDetectionStrategy","SkyThemeService","Optional","ViewEncapsulation","PopupComponent","FormGroup","FormControl","ChangeDetectorRef","Input","RowNode","SkyCellClass","SkyCellType","SkyHeaderClass","SkyCoreAdapterService","Injectable","Subject","takeUntil","SkyLibResourcesService","ContentChild","AgGridAngular","getStringForLocale","NgModule","SKY_LIB_RESOURCES_PROVIDERS","SkyI18nModule","FormsModule","SkyAutocompleteModule","SkyDatepickerModule","CommonModule","ReactiveFormsModule","SkyInputBoxModule","SkyLookupModule","SkyCheckboxModule","SkyDataManagerService","ContentChildren","Directive","Events","SkyPopoverMessageType","NgZone","SkyPopoverModule","SkyStatusIndicatorModule","SkyNumericModule","ViewChildren","TemplateRef","EventEmitter","SkyAffixAutoFitContext","SkyAffixService","ComponentFactoryResolver","SkyOverlayService","ViewContainerRef","Output","SkyAutonumericModule","AgGridModule","SkyCoreAdapterModule","SkyDataManagerModule","SkyInlineDeleteModule","SkyViewkeeperModule"],"mappings":"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"}
1
+ {"version":3,"file":"skyux-ag-grid.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@skyux/ag-grid/modules/ag-grid/cell-editors/cell-editor-autocomplete/cell-editor-autocomplete.component.ts","ng://@skyux/ag-grid/modules/ag-grid/cell-editors/cell-editor-datepicker/cell-editor-datepicker.component.ts","ng://@skyux/ag-grid/modules/ag-grid/types/lookup-properties.ts","ng://@skyux/ag-grid/modules/ag-grid/cell-editors/cell-editor-lookup/cell-editor-lookup.component.ts","ng://@skyux/ag-grid/modules/ag-grid/cell-editors/cell-editor-number/cell-editor-number.component.ts","ng://@skyux/ag-grid/modules/ag-grid/cell-editors/cell-editor-text/cell-editor-text.component.ts","ng://@skyux/ag-grid/modules/ag-grid/cell-renderers/cell-renderer-currency/cell-renderer-currency-validator.component.ts","ng://@skyux/ag-grid/modules/ag-grid/cell-renderers/cell-renderer-lookup/cell-renderer-lookup.component.ts","ng://@skyux/ag-grid/modules/ag-grid/cell-renderers/cell-renderer-row-selector/cell-renderer-row-selector.component.ts","ng://@skyux/ag-grid/modules/ag-grid/cell-renderers/cell-renderer-validator-tooltip/cell-renderer-validator-tooltip.component.ts","ng://@skyux/ag-grid/modules/ag-grid/types/cell-class.ts","ng://@skyux/ag-grid/modules/ag-grid/types/cell-type.ts","ng://@skyux/ag-grid/modules/ag-grid/types/header-class.ts","ng://@skyux/ag-grid/modules/ag-grid/ag-grid-adapter.service.ts","ng://@skyux/ag-grid/modules/ag-grid/cell-renderers/cell-renderer-currency/cell-renderer-currency.component.ts","ng://@skyux/ag-grid/modules/ag-grid/cell-editors/cell-editor-currency/cell-editor-currency.component.ts","ng://@skyux/ag-grid/modules/ag-grid/ag-grid.service.ts","ng://@skyux/ag-grid/modules/ag-grid/ag-grid-wrapper.component.ts","ng://@skyux/ag-grid/plugin-resources/ag-grid-resources-provider.ts","ng://@skyux/ag-grid/modules/shared/ag-grid-resources.module.ts","ng://@skyux/ag-grid/modules/ag-grid/cell-editors/cell-editor-autocomplete/cell-editor-autocomplete.module.ts","ng://@skyux/ag-grid/modules/ag-grid/cell-editors/cell-editor-datepicker/cell-editor-datepicker.module.ts","ng://@skyux/ag-grid/modules/ag-grid/cell-editors/cell-editor-lookup/cell-editor-lookup.module.ts","ng://@skyux/ag-grid/modules/ag-grid/cell-editors/cell-editor-number/cell-editor-number.module.ts","ng://@skyux/ag-grid/modules/ag-grid/cell-editors/cell-editor-text/cell-editor-text.module.ts","ng://@skyux/ag-grid/modules/ag-grid/cell-renderers/cell-renderer-lookup/cell-renderer-lookup.module.ts","ng://@skyux/ag-grid/modules/ag-grid/cell-renderers/cell-renderer-row-selector/cell-renderer-row-selector.module.ts","ng://@skyux/ag-grid/modules/ag-grid/ag-grid-data-manager-adapter.directive.ts","ng://@skyux/ag-grid/modules/ag-grid/cell-validator/ag-grid-cell-validator-tooltip.component.ts","ng://@skyux/ag-grid/modules/ag-grid/cell-validator/ag-grid-cell-validator.module.ts","ng://@skyux/ag-grid/modules/ag-grid/cell-renderers/cell-renderer-currency/cell-renderer-currency.module.ts","ng://@skyux/ag-grid/modules/ag-grid/ag-grid-row-delete.component.ts","ng://@skyux/ag-grid/modules/ag-grid/ag-grid-row-delete.directive.ts","ng://@skyux/ag-grid/modules/ag-grid/cell-editors/cell-editor-currency/cell-editor-currency.module.ts","ng://@skyux/ag-grid/modules/ag-grid/cell-renderers/cell-renderer-validator-tooltip/cell-renderer-validator-tooltip.module.ts","ng://@skyux/ag-grid/modules/ag-grid/ag-grid.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n ViewChild\n} from '@angular/core';\n\nimport {\n ICellEditorAngularComp\n} from 'ag-grid-angular';\n\nimport {\n SkyCellEditorAutocompleteParams\n} from '../../types/cell-editor-autocomplete-params';\n\nimport {\n SkyAutocompleteProperties\n} from '../../types/autocomplete-properties';\n\n@Component({\n selector: 'sky-ag-grid-cell-editor-autocomplete',\n templateUrl: './cell-editor-autocomplete.component.html',\n styleUrls: ['./cell-editor-autocomplete.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SkyAgGridCellEditorAutocompleteComponent implements ICellEditorAngularComp {\n public currentSelection: any;\n public columnHeader: string;\n public rowNumber: number;\n public skyComponentProperties: SkyAutocompleteProperties = {};\n private params: SkyCellEditorAutocompleteParams;\n\n @ViewChild('skyCellEditorAutocomplete', {read: ElementRef})\n public input: ElementRef;\n\n public agInit(params: SkyCellEditorAutocompleteParams) {\n this.params = params;\n this.currentSelection = this.params.value;\n this.columnHeader = this.params.colDef && this.params.colDef.headerName;\n this.rowNumber = this.params.rowIndex + 1;\n this.skyComponentProperties = this.params.skyComponentProperties || {};\n }\n\n public afterGuiAttached(): void {\n this.input.nativeElement.focus();\n }\n\n public getValue(): any {\n return this.currentSelection;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Optional,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\n\nimport {\n SkyThemeService\n} from '@skyux/theme';\n\nimport {\n ICellEditorAngularComp\n} from 'ag-grid-angular';\n\nimport {\n PopupComponent\n} from 'ag-grid-community';\n\nimport {\n SkyCellEditorDatepickerParams\n} from '../../types/cell-editor-datepicker-params';\n\nimport {\n SkyDatepickerProperties\n} from '../../types/datepicker-properties';\n\n@Component({\n selector: 'sky-ag-grid-cell-editor-datepicker',\n templateUrl: './cell-editor-datepicker.component.html',\n styleUrls: ['./cell-editor-datepicker.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class SkyAgGridCellEditorDatepickerComponent extends PopupComponent implements ICellEditorAngularComp {\n public columnWidth: number;\n public currentDate: Date;\n public columnWidthWithoutBorders: number;\n public rowHeightWithoutBorders: number;\n public skyComponentProperties: SkyDatepickerProperties = {};\n private params: SkyCellEditorDatepickerParams;\n\n @ViewChild('skyCellEditorDatepickerInput', { read: ElementRef })\n private datepickerInput: ElementRef;\n\n constructor(\n @Optional() private themeSvc?: SkyThemeService\n ) {\n super();\n }\n\n /**\n * agInit is called by agGrid once after the editor is created and provides the editor with the information it needs.\n * @param params The cell editor params that include data about the cell, column, row, and grid.\n */\n public agInit(params: SkyCellEditorDatepickerParams): void {\n this.params = params;\n this.currentDate = this.params.value;\n this.skyComponentProperties = this.params.skyComponentProperties || {};\n this.columnWidth = this.params.column.getActualWidth();\n this.columnWidthWithoutBorders = this.columnWidth - 2;\n this.rowHeightWithoutBorders = this.params.node && this.params.node.rowHeight - 3;\n this.themeSvc?.settingsChange.subscribe((themeSettings) => {\n if (themeSettings.currentSettings.theme.name === 'modern') {\n this.columnWidthWithoutBorders = this.columnWidth;\n this.rowHeightWithoutBorders = this.params.node && this.params.node.rowHeight;\n } else {\n this.columnWidthWithoutBorders = this.columnWidth - 2;\n this.rowHeightWithoutBorders = this.params.node && this.params.node.rowHeight - 3;\n }\n });\n }\n\n /**\n * afterGuiAttached is called by agGrid after the editor is rendered in the DOM. Once it is attached the editor is ready to be focused on.\n */\n public afterGuiAttached(): void {\n this.focusOnDatepickerInput();\n }\n\n /**\n * getValue is called by agGrid when editing is stopped to get the new value of the cell.\n */\n public getValue(): Date {\n this.datepickerInput.nativeElement.blur();\n return this.currentDate;\n }\n\n public focusOnDatepickerInput(): void {\n this.datepickerInput.nativeElement.focus();\n }\n}\n","import { TemplateRef } from '@angular/core';\nimport {\n SkyAutocompleteSearchFunction,\n SkyAutocompleteSearchFunctionFilter,\n SkyLookupShowMoreConfig\n} from '@skyux/lookup';\n\nexport interface SkyLookupProperties {\n ariaLabel?: string;\n autocompleteAttribute?: string;\n data: any[];\n debounceTime?: number;\n descriptorProperty?: string;\n disabled?: boolean;\n enableShowMore?: boolean;\n idProperty?: string;\n placeholderText?: string;\n propertiesToSearch?: string[];\n search?: SkyAutocompleteSearchFunction;\n searchFilters?: SkyAutocompleteSearchFunctionFilter[];\n searchResultsLimit?: number;\n searchResultTemplate?: TemplateRef<any>;\n searchTextMinimumCharacters?: number;\n selectMode?: 'single' | 'multiple';\n showAddButton?: boolean;\n showMoreConfig?: SkyLookupShowMoreConfig;\n wrapperClass?: string;\n}\n\nexport function applySkyLookupPropertiesDefaults(skyLookupProperties: SkyLookupProperties) {\n return {\n ariaLabel: skyLookupProperties.ariaLabel || '',\n autocompleteAttribute: skyLookupProperties.autocompleteAttribute || 'off',\n data: skyLookupProperties.data || [],\n debounceTime: skyLookupProperties.debounceTime || 0,\n descriptorProperty: skyLookupProperties.descriptorProperty || 'name',\n disabled: skyLookupProperties.disabled || false,\n enableShowMore: skyLookupProperties.enableShowMore || false,\n idProperty: skyLookupProperties.idProperty || undefined,\n placeholderText: skyLookupProperties.placeholderText || '',\n propertiesToSearch: skyLookupProperties.propertiesToSearch || undefined,\n search: skyLookupProperties.search || undefined,\n searchFilters: skyLookupProperties.searchFilters || [],\n searchResultsLimit: skyLookupProperties.searchResultsLimit || undefined,\n searchResultTemplate: skyLookupProperties.searchResultTemplate || undefined,\n searchTextMinimumCharacters: skyLookupProperties.searchTextMinimumCharacters || 1,\n selectMode: skyLookupProperties.selectMode || undefined,\n showAddButton: skyLookupProperties.showAddButton || false,\n showMoreConfig: skyLookupProperties.showMoreConfig || {},\n wrapperClass: 'ag-custom-component-popup'\n };\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef\n} from '@angular/core';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { ICellEditorAngularComp } from 'ag-grid-angular';\nimport { IPopupComponent } from 'ag-grid-community/dist/lib/interfaces/iPopupComponent';\nimport { SkyCellEditorLookupParams } from '../../types/cell-editor-lookup-params';\nimport { applySkyLookupPropertiesDefaults, SkyLookupProperties } from '../../types/lookup-properties';\n\n@Component({\n selector: 'sky-ag-grid-cell-editor-lookup',\n templateUrl: './cell-editor-lookup.component.html',\n styleUrls: ['./cell-editor-lookup.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SkyAgGridCellEditorLookupComponent implements ICellEditorAngularComp, IPopupComponent<any> {\n\n public skyComponentProperties?: SkyLookupProperties;\n public isAlive = true;\n public lookupForm = new FormGroup({\n currentSelection: new FormControl({\n value: [],\n disabled: false\n })\n });\n\n private params: SkyCellEditorLookupParams;\n\n constructor(\n private changeDetector: ChangeDetectorRef,\n private elementRef: ElementRef\n ) {\n }\n\n public agInit(params: SkyCellEditorLookupParams): void {\n this.params = params;\n if (!Array.isArray(this.params.value)) {\n throw new Error(`Lookup value must be an array`);\n }\n const control = this.lookupForm.get('currentSelection');\n control.setValue(this.params.value);\n if (this.params.skyComponentProperties.disabled) {\n control.disable();\n }\n this.skyComponentProperties = this.updateComponentProperties(this.params);\n this.changeDetector.markForCheck();\n }\n\n public isCancelAfterEnd(): boolean {\n // Shut down components to commit values before final value syncs to grid.\n this.isAlive = false;\n this.changeDetector.detectChanges();\n return false;\n }\n\n public getGui(): HTMLElement {\n return this.elementRef.nativeElement;\n }\n\n public getValue(): any[] {\n return this.lookupForm.get('currentSelection').value;\n }\n\n public isPopup(): boolean {\n return true;\n }\n\n /*istanbul ignore next*/\n public afterGuiAttached(): void {\n this.elementRef.nativeElement.querySelector('.sky-lookup-input')?.focus();\n }\n\n private updateComponentProperties(params: SkyCellEditorLookupParams): SkyLookupProperties {\n const skyLookupProperties = params.skyComponentProperties;\n return applySkyLookupPropertiesDefaults(skyLookupProperties);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n ViewChild\n} from '@angular/core';\n\nimport {\n ICellEditorAngularComp\n} from 'ag-grid-angular';\n\nimport {\n ICellEditorParams\n} from 'ag-grid-community';\n\n@Component({\n selector: 'sky-ag-grid-cell-editor-number',\n templateUrl: './cell-editor-number.component.html',\n styleUrls: ['./cell-editor-number.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n\nexport class SkyAgGridCellEditorNumberComponent implements ICellEditorAngularComp {\n public value: number;\n public columnHeader: string;\n public columnWidth: number;\n public rowHeightWithoutBorders: number;\n public rowNumber: number;\n\n private params: ICellEditorParams;\n\n @ViewChild('skyCellEditorNumber', {read: ElementRef})\n private input: ElementRef;\n\n /**\n * agInit is called by agGrid once after the editor is created and provides the editor with the information it needs.\n * @param params The cell editor params that include data about the cell, column, row, and grid.\n */\n public agInit(params: ICellEditorParams): void {\n this.params = params;\n this.value = this.params.value;\n this.columnHeader = this.params.colDef.headerName;\n this.rowNumber = this.params.rowIndex + 1;\n this.columnWidth = this.params.column.getActualWidth();\n this.rowHeightWithoutBorders = this.params.node && this.params.node.rowHeight - 4;\n }\n\n /**\n * afterGuiAttached is called by agGrid after the editor is rendered in the DOM. Once it is attached the editor is ready to be focused on.\n */\n public afterGuiAttached(): void {\n this.input.nativeElement.focus();\n }\n\n /**\n * getValue is called by agGrid when editing is stopped to get the new value of the cell.\n */\n public getValue(): number {\n return this.value;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n ViewChild\n} from '@angular/core';\n\nimport {\n ICellEditorAngularComp\n} from 'ag-grid-angular';\n\nimport {\n ICellEditorParams\n} from 'ag-grid-community';\n\n@Component({\n selector: 'sky-ag-grid-cell-editor-text',\n templateUrl: './cell-editor-text.component.html',\n styleUrls: ['./cell-editor-text.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n\nexport class SkyAgGridCellEditorTextComponent implements ICellEditorAngularComp {\n public value: string;\n public textInputLabel: string;\n public columnHeader: string;\n public columnWidth: number;\n public rowHeightWithoutBorders: number;\n public rowNumber: number;\n\n private params: ICellEditorParams;\n\n @ViewChild('skyCellEditorText', {read: ElementRef})\n private input: ElementRef;\n\n /**\n * agInit is called by agGrid once after the editor is created and provides the editor with the information it needs.\n * @param params The cell editor params that include data about the cell, column, row, and grid.\n */\n public agInit(params: ICellEditorParams): void {\n this.params = params;\n this.value = this.params.charPress || this.params.value;\n this.columnHeader = this.params.colDef.headerName;\n this.rowNumber = this.params.rowIndex + 1;\n this.columnWidth = this.params.column.getActualWidth();\n this.rowHeightWithoutBorders = this.params.node && this.params.node.rowHeight - 4;\n }\n\n /**\n * afterGuiAttached is called by agGrid after the editor is rendered in the DOM. Once it is attached the editor is ready to be focused on.\n */\n public afterGuiAttached(): void {\n this.input.nativeElement.focus();\n }\n\n /**\n * getValue is called by agGrid when editing is stopped to get the new value of the cell.\n */\n public getValue(): string {\n return this.value;\n }\n}\n","import {\n ChangeDetectionStrategy, ChangeDetectorRef,\n Component,\n Input\n} from '@angular/core';\n\nimport {\n ICellRendererAngularComp\n} from 'ag-grid-angular';\n\nimport {\n SkyCellRendererCurrencyParams\n} from '../../types/cell-renderer-currency-params';\n\n@Component({\n selector: 'sky-ag-grid-cell-renderer-currency-validator',\n templateUrl: 'cell-renderer-currency-validator.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SkyAgGridCellRendererCurrencyValidatorComponent implements ICellRendererAngularComp {\n @Input()\n public set parameters(value: SkyCellRendererCurrencyParams) {\n this.agInit(value);\n }\n\n public cellRendererParams: SkyCellRendererCurrencyParams;\n\n constructor(\n private changeDetector: ChangeDetectorRef\n ) {\n }\n\n /**\n * agInit is called by agGrid once after the renderer is created and provides the renderer with the information it needs.\n * @param params The cell renderer params that include data about the cell, column, row, and grid.\n */\n public agInit(params: SkyCellRendererCurrencyParams) {\n this.cellRendererParams = params;\n this.changeDetector.markForCheck();\n }\n\n public isNumeric(value: any) {\n return !isNaN(parseFloat(value));\n }\n\n public refresh(params: SkyCellRendererCurrencyParams): boolean {\n return false;\n }\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\nimport { SkyCellRendererLookupParams } from '../../types/cell-renderer-lookup-params';\n\n@Component({\n selector: 'sky-cell-renderer-lookup',\n templateUrl: './cell-renderer-lookup.component.html',\n styleUrls: ['./cell-renderer-lookup.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SkyAgGridCellRendererLookupComponent implements ICellRendererAngularComp {\n public value: string = '';\n public summaryCount = 0;\n\n constructor(\n private changeDetector: ChangeDetectorRef\n ) {\n }\n\n public agInit(params: SkyCellRendererLookupParams): void {\n this.summaryCount = params.value?.length || 0;\n this.value = `${params.valueFormatted}`;\n this.changeDetector.markForCheck();\n }\n\n public refresh(params: SkyCellRendererLookupParams): boolean {\n this.agInit(params);\n return true;\n }\n}\n","import {\n ChangeDetectorRef,\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation\n} from '@angular/core';\n\nimport {\n ICellRendererAngularComp\n} from 'ag-grid-angular';\n\nimport {\n ICellRendererParams,\n RowNode,\n RowSelectedEvent\n} from 'ag-grid-community';\n\n@Component({\n selector: 'sky-ag-grid-cell-renderer-row-selector',\n templateUrl: './cell-renderer-row-selector.component.html',\n styleUrls: ['./cell-renderer-row-selector.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class SkyAgGridCellRendererRowSelectorComponent implements ICellRendererAngularComp {\n public checked: boolean;\n public dataField: string;\n public rowNode: RowNode;\n public rowNumber: number;\n\n private params: ICellRendererParams;\n\n constructor(\n private changeDetection: ChangeDetectorRef\n ) { }\n\n /**\n * agInit is called by agGrid once after the cell is created and provides the renderer with the information it needs.\n * @param params The cell renderer params that include data about the cell, column, row, and grid.\n */\n public agInit(params: ICellRendererParams): void {\n this.params = params;\n this.dataField = this.params.colDef && this.params.colDef.field;\n this.rowNode = this.params.node;\n this.rowNumber = this.params.rowIndex + 1;\n\n if (this.dataField) {\n this.checked = this.params.value;\n this.rowNode.setSelected(this.checked);\n } else {\n this.checked = this.rowNode.isSelected();\n }\n\n this.rowNode.addEventListener(RowNode.EVENT_ROW_SELECTED, (event: RowSelectedEvent) => {\n this.rowSelectedListener(event);\n });\n }\n\n /**\n * Used by agGrid to update cell value after a user triggers a refresh. It updates the cell DOM and returns true when the refresh is\n * successful, or false if the cell should be destroyed and rerendered. If consumers have external logic that changes the value of a\n * checkbox cell, rerendering it will gurantee the change applies without knowing the consumer's implementation.\n */\n public refresh(): boolean {\n return false;\n }\n\n public updateRow(): void {\n this.rowNode.setSelected(this.checked);\n\n if (this.dataField) {\n this.rowNode.data[this.dataField] = this.checked;\n }\n }\n\n private rowSelectedListener(event: RowSelectedEvent): void {\n this.checked = event.node.isSelected();\n\n if (this.dataField) {\n this.rowNode.data[this.dataField] = this.checked;\n }\n\n this.changeDetection.markForCheck();\n }\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input } from '@angular/core';\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\nimport { ValueFormatterParams } from 'ag-grid-community';\nimport { SkyCellRendererValidatorParams } from '../../types/cell-renderer-validator-params';\n\n@Component({\n selector: 'sky-ag-grid-cell-renderer-validator-tooltip',\n templateUrl: 'cell-renderer-validator-tooltip.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SkyAgGridCellRendererValidatorTooltipComponent implements ICellRendererAngularComp {\n @Input()\n public set params(value: SkyCellRendererValidatorParams) {\n this.agInit(value);\n }\n\n public cellRendererParams: SkyCellRendererValidatorParams;\n public value: any;\n\n constructor(\n private changeDetector: ChangeDetectorRef\n ) {\n }\n\n public agInit(params: SkyCellRendererValidatorParams): void {\n this.cellRendererParams = params;\n if (typeof params.colDef?.valueFormatter === 'function') {\n this.value = params.colDef.valueFormatter(params as ValueFormatterParams);\n } else {\n this.value = params.value;\n }\n this.changeDetector.markForCheck();\n }\n\n public refresh(params: any): boolean {\n return false;\n }\n}\n","export enum SkyCellClass {\n Autocomplete = 'sky-ag-grid-cell-autocomplete',\n Currency = 'sky-ag-grid-cell-currency',\n Date = 'sky-ag-grid-cell-date',\n Editable = 'sky-ag-grid-cell-editable',\n Invalid = 'sky-ag-grid-cell-invalid',\n Lookup = 'sky-ag-grid-cell-lookup',\n Number = 'sky-ag-grid-cell-number',\n RowSelector = 'sky-ag-grid-cell-row-selector',\n Text = 'sky-ag-grid-cell-text',\n Uneditable = 'sky-ag-grid-cell-uneditable'\n}\n","export enum SkyCellType {\n Autocomplete = 'skyCellAutocomplete',\n Currency = 'skyCellCurrency',\n CurrencyValidator = 'skyCellCurrencyValidator',\n Date = 'skyCellDate',\n Lookup = 'skyCellLookup',\n Number = 'skyCellNumber',\n NumberValidator = 'skyCellNumberValidator',\n RowSelector = 'skyCellRowSelector',\n Text = 'skyCellText',\n Validator = 'skyCellValidator'\n}\n","export enum SkyHeaderClass {\n RightAligned = 'sky-ag-grid-header-right-aligned'\n}\n","import {\n Injectable\n} from '@angular/core';\n\nimport {\n SkyCoreAdapterService\n} from '@skyux/core';\n\n@Injectable()\nexport class SkyAgGridAdapterService {\n constructor(\n private skyAdapterService: SkyCoreAdapterService\n ) { }\n\n public getElementOrParentWithClass(element: HTMLElement, className: string): HTMLElement | undefined {\n if (element && element.classList.contains(className)) {\n return element;\n } else if (element.parentElement) {\n return this.getElementOrParentWithClass(element.parentElement, className);\n }\n }\n\n public setFocusedElementById(parentEl: HTMLElement, selector: string): void {\n const element = parentEl.querySelector(`#${selector}`) as HTMLElement;\n\n /* istanbul ignore else */\n if (element) {\n element.focus();\n }\n }\n\n public getFocusedElement(): HTMLElement {\n return document.activeElement as HTMLElement;\n }\n\n public getNextFocusableElement(currentEl: HTMLElement, parentEl: HTMLElement, moveFocusLeft?: boolean): HTMLElement | undefined {\n if (parentEl) {\n const focusableChildren = this.skyAdapterService.getFocusableChildren(parentEl);\n const currentElementIndex = focusableChildren.indexOf(currentEl);\n const nextIndex = moveFocusLeft ? currentElementIndex - 1 : currentElementIndex + 1;\n\n if ((!moveFocusLeft && focusableChildren.length >= nextIndex) || (moveFocusLeft && nextIndex >= 0)) {\n return focusableChildren[nextIndex];\n }\n }\n }\n\n public focusOnFocusableChildren(element: HTMLElement): void {\n let focusableChildren = this.skyAdapterService.getFocusableChildren(element);\n\n if (focusableChildren.length) {\n focusableChildren[0].focus();\n }\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component, Input\n} from '@angular/core';\nimport { NumericOptions } from '@skyux/core';\n\nimport {\n ICellRendererAngularComp\n} from 'ag-grid-angular';\n\nimport {\n SkyCellRendererCurrencyParams\n} from '../../types/cell-renderer-currency-params';\n\nimport {\n ValidatorOptions\n} from '../../types/validator-options';\n\n@Component({\n selector: 'sky-ag-grid-cell-renderer-currency',\n templateUrl: './cell-renderer-currency.component.html',\n styleUrls: ['./cell-renderer-currency.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n\nexport class SkyAgGridCellRendererCurrencyComponent implements ICellRendererAngularComp {\n @Input()\n public set params(value: SkyCellRendererCurrencyParams) {\n this.agInit(value);\n }\n\n public columnHeader: string;\n public columnWidth: number;\n public rowHeightWithoutBorders: number;\n public rowNumber: number;\n public skyComponentProperties: NumericOptions & ValidatorOptions = {};\n public numericOptions: NumericOptions = {};\n public value: number;\n\n private _params: SkyCellRendererCurrencyParams;\n\n /**\n * agInit is called by agGrid once after the renderer is created and provides the renderer with the information it needs.\n * @param params The cell renderer params that include data about the cell, column, row, and grid.\n */\n public agInit(params: SkyCellRendererCurrencyParams) {\n this.updateProperties(params);\n }\n\n public refresh(params: SkyCellRendererCurrencyParams): boolean {\n return false;\n }\n\n private updateProperties(params: SkyCellRendererCurrencyParams) {\n this._params = params;\n this.value = this._params.value;\n this.columnHeader = this._params.colDef && this._params.colDef.headerName;\n this.rowNumber = this._params.rowIndex + 1;\n this.columnWidth = this._params.column?.getActualWidth();\n this.rowHeightWithoutBorders = this._params.node && this._params.node.rowHeight - 4;\n this.skyComponentProperties = this._params.skyComponentProperties || {};\n this.skyComponentProperties.format = 'currency';\n this.skyComponentProperties.minDigits = 2;\n this.skyComponentProperties.truncate = false;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n ViewChild\n} from '@angular/core';\n\nimport {\n ICellEditorAngularComp\n} from 'ag-grid-angular';\n\nimport {\n SkyCellEditorCurrencyParams\n} from '../../types/cell-editor-currency-params';\n\nimport {\n SkyCurrencyProperties\n} from '../../types/currency-properties';\n\n@Component({\n selector: 'sky-ag-grid-cell-editor-currency',\n templateUrl: './cell-editor-currency.component.html',\n styleUrls: ['./cell-editor-currency.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n\nexport class SkyAgGridCellEditorCurrencyComponent implements ICellEditorAngularComp {\n public value: number;\n public skyComponentProperties: SkyCurrencyProperties = {};\n public columnHeader: string;\n public columnWidth: number;\n public rowHeightWithoutBorders: number;\n public rowNumber: number;\n\n private params: SkyCellEditorCurrencyParams;\n\n @ViewChild('skyCellEditorCurrency', {read: ElementRef})\n private input: ElementRef;\n\n /**\n * agInit is called by agGrid once after the editor is created and provides the editor with the information it needs.\n * @param params The cell editor params that include data about the cell, column, row, and grid.\n */\n public agInit(params: SkyCellEditorCurrencyParams): void {\n this.params = params;\n this.value = this.params.value;\n this.columnHeader = this.params.colDef.headerName;\n this.rowNumber = this.params.rowIndex + 1;\n this.columnWidth = this.params.column.getActualWidth();\n this.rowHeightWithoutBorders = this.params.node && this.params.node.rowHeight - 4;\n this.skyComponentProperties = this.params.skyComponentProperties || { decimalPlaces: 2 , currencySymbol: '$' };\n }\n\n /**\n * afterGuiAttached is called by agGrid after the editor is rendered in the DOM. Once it is attached the editor is ready to be focused on.\n */\n public afterGuiAttached(): void {\n this.input.nativeElement.focus();\n }\n\n /**\n * getValue is called by agGrid when editing is stopped to get the new value of the cell.\n */\n public getValue(): number {\n return this.value;\n }\n}\n","import {\n Injectable,\n OnDestroy,\n Optional\n} from '@angular/core';\n\nimport {\n SkyLibResourcesService\n} from '@skyux/i18n';\n\nimport {\n CellClassParams,\n GridOptions,\n ICellRendererParams,\n SuppressKeyboardEventParams,\n ValueFormatterParams\n} from 'ag-grid-community';\n\nimport {\n Subject\n} from 'rxjs';\n\nimport {\n takeUntil\n} from 'rxjs/operators';\n\nimport {\n SkyThemeService,\n SkyThemeSettings\n} from '@skyux/theme';\n\nimport {\n SkyAgGridCellEditorAutocompleteComponent\n} from './cell-editors/cell-editor-autocomplete/cell-editor-autocomplete.component';\n\nimport {\n SkyAgGridCellEditorDatepickerComponent\n} from './cell-editors/cell-editor-datepicker/cell-editor-datepicker.component';\n\nimport {\n SkyAgGridCellEditorLookupComponent\n} from './cell-editors/cell-editor-lookup/cell-editor-lookup.component';\n\nimport {\n SkyAgGridCellEditorNumberComponent\n} from './cell-editors/cell-editor-number/cell-editor-number.component';\n\nimport {\n SkyAgGridCellEditorTextComponent\n} from './cell-editors/cell-editor-text/cell-editor-text.component';\n\nimport {\n SkyAgGridCellRendererCurrencyValidatorComponent\n} from './cell-renderers/cell-renderer-currency/cell-renderer-currency-validator.component';\n\nimport {\n SkyAgGridCellRendererLookupComponent\n} from './cell-renderers/cell-renderer-lookup/cell-renderer-lookup.component';\n\nimport {\n SkyAgGridCellRendererRowSelectorComponent\n} from './cell-renderers/cell-renderer-row-selector/cell-renderer-row-selector.component';\n\nimport {\n SkyAgGridCellRendererValidatorTooltipComponent\n} from './cell-renderers/cell-renderer-validator-tooltip/cell-renderer-validator-tooltip.component';\n\nimport {\n SkyCellClass\n} from './types/cell-class';\n\nimport {\n SkyCellType\n} from './types/cell-type';\n\nimport {\n SkyHeaderClass\n} from './types/header-class';\nimport { applySkyLookupPropertiesDefaults } from './types/lookup-properties';\n\nimport {\n SkyGetGridOptionsArgs\n} from './types/sky-grid-options';\n\nimport {\n SkyAgGridAdapterService\n} from './ag-grid-adapter.service';\n\nimport {\n SkyAgGridCellRendererCurrencyComponent\n} from './cell-renderers/cell-renderer-currency/cell-renderer-currency.component';\n\nimport {\n SkyAgGridCellEditorCurrencyComponent\n} from './cell-editors/cell-editor-currency/cell-editor-currency.component';\n\nfunction autocompleteComparator(value1: { name: string }, value2: { name: string }): number {\n if (value1 && value2) {\n if (value1.name > value2.name) {\n return 1;\n }\n\n if (value1.name < value2.name) {\n return -1;\n }\n\n return 0;\n }\n\n return value1 ? 1 : -1;\n}\n\nfunction autocompleteFormatter(params: ValueFormatterParams): string | undefined {\n return params.value && params.value.name;\n}\n\nfunction dateComparator(date1: any, date2: any): number {\n let date1value = date1;\n let date2value = date2;\n\n if (typeof date1value === 'string') {\n date1value = new Date(date1);\n }\n\n if (typeof date2value === 'string') {\n date2value = new Date(date2);\n }\n\n if (date1value && date2value) {\n if (date1value > date2value) {\n return 1;\n }\n\n if (date1value < date2value) {\n return -1;\n }\n\n return 0;\n }\n\n return date1value ? 1 : -1;\n}\n\nfunction getValidatorCellRendererSelector(component: string, fallback?: any) {\n return (params: ICellRendererParams) => {\n if (params.colDef && typeof params.colDef.cellRendererParams?.skyComponentProperties?.validator === 'function') {\n if (!params.colDef.cellRendererParams.skyComponentProperties.validator(params.value, params.data, params.rowIndex)) {\n return {\n component,\n params: {\n ...params.colDef.cellRendererParams\n }\n };\n }\n }\n return fallback;\n };\n}\n\nlet rowNodeId = -1;\n\n/**\n * A service that provides default styling and behavior for agGrids in SKY UX SPAs.\n */\n@Injectable()\nexport class SkyAgGridService implements OnDestroy {\n public currentTheme: SkyThemeSettings;\n private ngUnsubscribe = new Subject();\n\n constructor(\n private agGridAdapterService: SkyAgGridAdapterService,\n @Optional() private themeSvc?: SkyThemeService,\n @Optional() private resources?: SkyLibResourcesService\n ) {\n /*istanbul ignore else*/\n if (this.themeSvc) {\n this.themeSvc.settingsChange\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe(settingsChange => this.currentTheme = settingsChange.currentSettings);\n }\n }\n\n public ngOnDestroy() {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n\n /**\n * Get SKY UX gridOptions to create your agGrid with default SKY styling and behavior.\n * @param args options to be applied to the default SKY UX agGrid gridOptions.\n */\n public getGridOptions(args: SkyGetGridOptionsArgs): GridOptions {\n const defaultGridOptions = this.getDefaultGridOptions(args);\n const mergedGridOptions = this.mergeGridOptions(defaultGridOptions, args.gridOptions);\n\n return mergedGridOptions;\n }\n\n public getEditableGridOptions(args: SkyGetGridOptionsArgs): GridOptions {\n const defaultGridOptions = this.getDefaultEditableGridOptions(args);\n const mergedGridOptions = this.mergeGridOptions(defaultGridOptions, args.gridOptions);\n\n return mergedGridOptions;\n }\n\n private mergeGridOptions(defaultGridOptions: GridOptions, providedGridOptions: GridOptions): GridOptions {\n let mergedGridOptions = {\n ...defaultGridOptions,\n ...providedGridOptions,\n columnTypes: {\n ...providedGridOptions.columnTypes,\n // apply default second to prevent consumers from overwriting our default column types\n ...defaultGridOptions.columnTypes\n },\n defaultColDef: {\n ...defaultGridOptions.defaultColDef,\n ...providedGridOptions.defaultColDef,\n // allow consumers to override all defaultColDef properties except cellClassRules, which we reserve for styling\n cellClassRules: defaultGridOptions.defaultColDef.cellClassRules\n },\n icons: {\n ...defaultGridOptions.icons,\n ...providedGridOptions.icons\n }\n };\n\n return mergedGridOptions;\n }\n\n private getDefaultGridOptions(args: SkyGetGridOptionsArgs): GridOptions {\n // cellClassRules can be functions or string expressions\n const cellClassRuleTrueExpression = 'true';\n\n function getEditableFn(isUneditable?: boolean): ((params: CellClassParams) => boolean) {\n return function (params: CellClassParams): boolean {\n let isEditable = params.colDef.editable;\n\n if (typeof isEditable === 'function') {\n const column = params.columnApi.getColumn(params.colDef.field);\n isEditable = isEditable({ ...params, column });\n }\n\n return isUneditable ? !isEditable : isEditable;\n };\n }\n\n const editableCellClassRules = {\n [SkyCellClass.Editable]: getEditableFn(),\n [SkyCellClass.Uneditable]: getEditableFn(true)\n };\n\n function getValidatorFn(): ((params: CellClassParams) => boolean) {\n return function (param: CellClassParams) {\n if (param.colDef && typeof param.colDef.cellRendererParams?.skyComponentProperties?.validator === 'function') {\n return !param.colDef.cellRendererParams.skyComponentProperties.validator(param.value, param.data, param.rowIndex);\n }\n return false;\n };\n }\n\n const validatorCellClassRules = {\n [SkyCellClass.Invalid]: getValidatorFn()\n };\n\n const defaultSkyGridOptions: GridOptions = {\n columnTypes: {\n [SkyCellType.Autocomplete]: {\n cellClassRules: {\n [SkyCellClass.Autocomplete]: cellClassRuleTrueExpression,\n ...editableCellClassRules\n },\n cellEditorFramework: SkyAgGridCellEditorAutocompleteComponent,\n valueFormatter: autocompleteFormatter,\n comparator: autocompleteComparator,\n minWidth: 185\n },\n [SkyCellType.Currency]: {\n cellClassRules: {\n [SkyCellClass.Currency]: cellClassRuleTrueExpression,\n ...validatorCellClassRules,\n ...editableCellClassRules\n },\n cellRendererSelector: getValidatorCellRendererSelector(\n 'sky-ag-grid-cell-renderer-currency-validator',\n { component: 'sky-ag-grid-cell-renderer-currency' }\n ),\n cellEditorFramework: SkyAgGridCellEditorCurrencyComponent,\n headerClass: SkyHeaderClass.RightAligned,\n minWidth: 185\n },\n [SkyCellType.Date]: {\n cellClassRules: {\n [SkyCellClass.Date]: cellClassRuleTrueExpression,\n ...editableCellClassRules\n },\n cellEditorFramework: SkyAgGridCellEditorDatepickerComponent,\n comparator: dateComparator,\n minWidth: this.currentTheme?.theme?.name === 'modern' ? 180 : 160,\n valueFormatter: (params: ValueFormatterParams) => this.dateFormatter(params, args.locale)\n },\n [SkyCellType.Lookup]: {\n cellClassRules: {\n [SkyCellClass.Lookup]: cellClassRuleTrueExpression,\n ...editableCellClassRules\n },\n cellEditorFramework: SkyAgGridCellEditorLookupComponent,\n cellRendererFramework: SkyAgGridCellRendererLookupComponent,\n valueFormatter: (params) => {\n const lookupProperties = applySkyLookupPropertiesDefaults(params);\n return (params.value || [])\n .map((value: any) => {\n return value[lookupProperties.descriptorProperty];\n })\n .filter((value: any) => value !== '' && value !== undefined)\n .join('; ');\n },\n minWidth: 185\n },\n [SkyCellType.Number]: {\n cellClassRules: {\n [SkyCellClass.Number]: cellClassRuleTrueExpression,\n ...editableCellClassRules\n },\n cellEditorFramework: SkyAgGridCellEditorNumberComponent,\n headerClass: SkyHeaderClass.RightAligned\n },\n [SkyCellType.RowSelector]: {\n cellClassRules: {\n [SkyCellClass.RowSelector]: cellClassRuleTrueExpression,\n [SkyCellClass.Uneditable]: cellClassRuleTrueExpression\n },\n cellRendererFramework: SkyAgGridCellRendererRowSelectorComponent,\n headerName: '',\n minWidth: 55,\n maxWidth: 55,\n sortable: false,\n width: 55\n },\n [SkyCellType.Text]: {\n cellClassRules: {\n [SkyCellClass.Text]: cellClassRuleTrueExpression,\n ...editableCellClassRules\n },\n cellEditorFramework: SkyAgGridCellEditorTextComponent\n },\n [SkyCellType.Validator]: {\n cellClassRules: {\n ...validatorCellClassRules,\n ...editableCellClassRules\n },\n cellRendererSelector: getValidatorCellRendererSelector('sky-ag-grid-cell-renderer-validator-tooltip')\n }\n },\n defaultColDef: {\n cellClassRules: editableCellClassRules,\n minWidth: 100,\n resizable: true,\n sortable: true,\n suppressKeyboardEvent: (keypress: SuppressKeyboardEventParams) => this.suppressTab(keypress)\n },\n domLayout: 'autoHeight',\n enterMovesDownAfterEdit: true,\n frameworkComponents: {\n 'sky-ag-grid-cell-renderer-currency': SkyAgGridCellRendererCurrencyComponent,\n 'sky-ag-grid-cell-renderer-currency-validator': SkyAgGridCellRendererCurrencyValidatorComponent,\n 'sky-ag-grid-cell-renderer-validator-tooltip': SkyAgGridCellRendererValidatorTooltipComponent\n },\n getRowNodeId(data: any): string {\n if ('id' in data && data.id !== undefined) {\n return `${data.id}`;\n }\n return `${rowNodeId--}`;\n },\n getRowClass: (params: any) => {\n if (params.node.id) {\n return `sky-ag-grid-row-${params.node.id}`;\n } else {\n return undefined;\n }\n },\n headerHeight: this.currentTheme?.theme?.name === 'modern' ? 60 : 37,\n icons: {\n sortDescending: this.getIconTemplate('caret-down'),\n sortAscending: this.getIconTemplate('caret-up'),\n columnMoveMove: this.getIconTemplate('arrows'),\n columnMoveHide: this.getIconTemplate('arrows'),\n columnMoveLeft: this.getIconTemplate('arrows'),\n columnMoveRight: this.getIconTemplate('arrows'),\n columnMovePin: this.getIconTemplate('arrows')\n },\n onCellFocused: () => this.onCellFocused(),\n rowHeight: this.currentTheme?.theme?.name === 'modern' ? 60 : 38,\n rowMultiSelectWithClick: true,\n rowSelection: 'multiple',\n singleClickEdit: true,\n // tslint:disable-next-line: no-null-keyword\n sortingOrder: ['desc', 'asc', null],\n stopEditingWhenGridLosesFocus: false,\n suppressRowClickSelection: true,\n suppressDragLeaveHidesColumns: true\n };\n\n defaultSkyGridOptions.columnTypes[SkyCellType.CurrencyValidator] = {\n ...defaultSkyGridOptions.columnTypes[SkyCellType.Currency],\n cellRendererParams: {\n skyComponentProperties: {\n validator: (value: any, data: any, rowIndex: number) => {\n return !!`${value || ''}`.match(/^[^0-9]*(\\d+[,.]?)+\\d*[^0-9]*$/);\n },\n validatorMessage: 'Please enter a valid currency'\n }\n }\n };\n /*istanbul ignore else*/\n if (this.resources) {\n this.resources.getString('sky_ag_grid_cell_renderer_currency_validator_message').subscribe((value) => {\n defaultSkyGridOptions.columnTypes[SkyCellType.CurrencyValidator].cellRendererParams.skyComponentProperties.validatorMessage = value;\n });\n }\n\n defaultSkyGridOptions.columnTypes[SkyCellType.NumberValidator] = {\n ...defaultSkyGridOptions.columnTypes[SkyCellType.Validator],\n ...defaultSkyGridOptions.columnTypes[SkyCellType.Number],\n cellClassRules: {\n ...defaultSkyGridOptions.columnTypes[SkyCellType.Validator].cellClassRules,\n ...defaultSkyGridOptions.columnTypes[SkyCellType.Number].cellClassRules\n },\n cellRendererParams: {\n skyComponentProperties: {\n validator: (value: any, data: any, rowIndex: number) => {\n return !!value && !isNaN(parseFloat(value));\n },\n validatorMessage: 'Please enter a valid number'\n }\n }\n };\n /*istanbul ignore else*/\n if (this.resources) {\n this.resources.getString('sky_ag_grid_cell_renderer_number_validator_message').subscribe((value) => {\n defaultSkyGridOptions.columnTypes[SkyCellType.NumberValidator].cellRendererParams.skyComponentProperties.validatorMessage = value;\n });\n }\n\n return defaultSkyGridOptions;\n }\n\n private onCellFocused(): void {\n const currentElement = this.agGridAdapterService.getFocusedElement();\n\n this.agGridAdapterService.focusOnFocusableChildren(currentElement);\n }\n\n private getDefaultEditableGridOptions(args: SkyGetGridOptionsArgs): GridOptions {\n let defaultGridOptions = this.getDefaultGridOptions(args);\n\n defaultGridOptions.rowSelection = 'none';\n\n return defaultGridOptions;\n }\n\n private dateFormatter(params: ValueFormatterParams, locale: string = 'en-us'): string | undefined {\n const dateConfig = { year: 'numeric', month: '2-digit', day: '2-digit' };\n let date: Date = params.value;\n\n if (date && typeof date === 'string') {\n date = new Date(params.value);\n }\n\n // @ts-ignore\n let formattedDate = date && date.toLocaleDateString && date.toLocaleDateString(locale, dateConfig);\n\n if (date && date.getTime && !isNaN(date.getTime())) {\n return formattedDate;\n }\n }\n\n private getIconTemplate(iconName: string): string {\n return `<i class=\"fa fa-${iconName}\"></i>`;\n }\n\n private suppressTab(params: SuppressKeyboardEventParams): boolean {\n if (params.event.code === 'Tab') {\n if (params.editing) {\n const currentlyFocusedEl = this.agGridAdapterService.getFocusedElement();\n // inline cell editors have the 'ag-cell' class, while popup editors have the 'ag-popup-editor' class\n const cellEl = this.agGridAdapterService.getElementOrParentWithClass(currentlyFocusedEl, 'ag-cell');\n const popupEl = this.agGridAdapterService.getElementOrParentWithClass(currentlyFocusedEl, 'ag-popup-editor');\n const parentEl = cellEl || popupEl;\n\n const nextFocusableElementInCell =\n this.agGridAdapterService.getNextFocusableElement(currentlyFocusedEl, parentEl, params.event.shiftKey);\n return !!nextFocusableElementInCell;\n }\n return true;\n }\n return false;\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectorRef,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef\n} from '@angular/core';\n\nimport {\n AgGridAngular\n} from 'ag-grid-angular';\n\nimport {\n DetailGridInfo\n} from 'ag-grid-community';\n\nimport {\n SkyAgGridAdapterService\n} from './ag-grid-adapter.service';\n\nlet idIndex = 0;\n\n@Component({\n selector: 'sky-ag-grid-wrapper',\n templateUrl: './ag-grid-wrapper.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SkyAgGridWrapperComponent implements AfterContentInit {\n\n @ContentChild(AgGridAngular, {\n static: true\n })\n public agGrid: AgGridAngular;\n\n public afterAnchorId: string;\n public beforeAnchorId: string;\n public gridId: string;\n\n public get viewkeeperClasses(): string[] {\n return this._viewkeeperClasses;\n }\n\n public set viewkeeperClasses(value: string[]) {\n this._viewkeeperClasses = value;\n this.changeDetector.markForCheck();\n }\n\n private _viewkeeperClasses: string[] = [];\n\n constructor(\n private adapterService: SkyAgGridAdapterService,\n private changeDetector: ChangeDetectorRef,\n private elementRef: ElementRef\n ) {\n idIndex++;\n this.afterAnchorId = 'sky-ag-grid-nav-anchor-after-' + idIndex;\n this.beforeAnchorId = 'sky-ag-grid-nav-anchor-before-' + idIndex;\n this.gridId = 'sky-ag-grid-' + idIndex;\n }\n\n public ngAfterContentInit(): void {\n if (this.agGrid.gridOptions && this.agGrid.gridOptions.domLayout === 'autoHeight') {\n this.viewkeeperClasses.push('.ag-header');\n }\n }\n\n public onGridKeydown(event: KeyboardEvent): void {\n if (this.agGrid && !this.isInEditMode && event.key === 'Tab') {\n const idToFocus = event.shiftKey ? this.beforeAnchorId : this.afterAnchorId;\n this.adapterService.setFocusedElementById(this.elementRef.nativeElement, idToFocus);\n }\n }\n\n public onAnchorFocus(event: FocusEvent): void {\n const gridId = this.gridId;\n const relatedTarget = event.relatedTarget as HTMLElement;\n const previousFocusedId = relatedTarget && relatedTarget.id;\n const previousWasCell = relatedTarget && !!this.adapterService.getElementOrParentWithClass(relatedTarget, 'ag-cell');\n\n if (previousFocusedId !== gridId && !previousWasCell) {\n const columns = this.agGrid.columnApi.getAllDisplayedColumns();\n const firstColumn = columns && columns[0];\n const rowIndex = this.agGrid.api.getFirstDisplayedRow();\n\n if (firstColumn && rowIndex >= 0) {\n this.agGrid.api.setFocusedCell(rowIndex, firstColumn);\n }\n }\n }\n\n private get isInEditMode(): boolean {\n /* Sanity check */\n /* istanbul ignore else */\n if (this.agGrid && this.agGrid.api) {\n const primaryGridEditing = this.agGrid.api.getEditingCells().length > 0;\n if (primaryGridEditing) {\n return true;\n } else {\n let innerEditing: boolean = false;\n this.agGrid.api.forEachDetailGridInfo((detailGrid: DetailGridInfo) => {\n if (detailGrid.api.getEditingCells().length > 0) {\n innerEditing = true;\n }\n });\n\n return innerEditing;\n }\n } else {\n return false;\n }\n }\n}\n","\nimport {\n Injectable\n} from '@angular/core';\n\nimport {\n getStringForLocale,\n SkyAppLocaleInfo,\n SkyLibResourcesProvider\n} from '@skyux/i18n';\n\n@Injectable()\nexport class SkyAgGridResourcesProvider implements SkyLibResourcesProvider {\n private resources: any = {\"EN-US\":{\"sky_ag_grid_row_selector_aria_label\":\"Row selector for row {0}\",\"sky_ag_grid_cell_editor_number_aria_label\":\"Editable number {0} for row {1}\",\"sky_ag_grid_cell_editor_text_aria_label\":\"Editable text {0} for row {1}\",\"sky_ag_grid_cell_editor_autocomplete_aria_label\":\"Editable autocomplete {0} for row {1}\",\"sky_ag_grid_cell_renderer_currency_aria_label\":\"Editable currency {0} for row {1}\",\"sky_ag_grid_cell_renderer_number_validator_message\":\"Please enter a valid number\",\"sky_ag_grid_cell_renderer_currency_validator_message\":\"Please enter a valid currency\",\"skyux_lookup_tokens_summary\":\"{0} items selected\"}};\n\n public getString(localeInfo: SkyAppLocaleInfo, name: string): string {\n return getStringForLocale(this.resources, localeInfo.locale, name);\n }\n}\n","import {\n NgModule\n} from '@angular/core';\n\nimport {\n SkyI18nModule,\n SKY_LIB_RESOURCES_PROVIDERS\n} from '@skyux/i18n';\n\nimport {\n SkyAgGridResourcesProvider\n} from '../../plugin-resources/ag-grid-resources-provider';\n\n@NgModule({\n providers: [{\n provide: SKY_LIB_RESOURCES_PROVIDERS,\n useClass: SkyAgGridResourcesProvider,\n multi: true\n }],\n exports: [\n SkyI18nModule\n ]\n})\nexport class SkyAgGridResourcesModule { }\n","import {\n NgModule\n} from '@angular/core';\n\nimport {\n FormsModule\n} from '@angular/forms';\n\nimport {\n SkyAutocompleteModule\n} from '@skyux/lookup';\n\nimport {\n SkyAgGridCellEditorAutocompleteComponent\n} from '../cell-editor-autocomplete/cell-editor-autocomplete.component';\n\nimport {\n SkyAgGridResourcesModule\n} from '../../../shared/ag-grid-resources.module';\n\n@NgModule({\n imports: [\n FormsModule,\n SkyAgGridResourcesModule,\n SkyAutocompleteModule\n ],\n declarations: [\n SkyAgGridCellEditorAutocompleteComponent\n ],\n exports: [\n SkyAgGridCellEditorAutocompleteComponent\n ]\n})\nexport class SkyAgGridCellEditorAutocompleteModule {\n}\n","import {\n NgModule\n} from '@angular/core';\n\nimport {\n FormsModule\n} from '@angular/forms';\n\nimport {\n SkyDatepickerModule\n} from '@skyux/datetime';\n\nimport {\n SkyAgGridCellEditorDatepickerComponent\n} from '../cell-editor-datepicker/cell-editor-datepicker.component';\n\n@NgModule({\n imports: [\n SkyDatepickerModule,\n FormsModule\n ],\n declarations: [\n SkyAgGridCellEditorDatepickerComponent\n ],\n exports: [\n SkyAgGridCellEditorDatepickerComponent\n ]\n})\nexport class SkyAgGridCellEditorDatepickerModule {\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { SkyInputBoxModule } from '@skyux/forms';\nimport { SkyLookupModule } from '@skyux/lookup';\nimport { SkyAgGridResourcesModule } from '../../../shared/ag-grid-resources.module';\nimport { SkyAgGridCellEditorLookupComponent } from './cell-editor-lookup.component';\n\n@NgModule({\n declarations: [SkyAgGridCellEditorLookupComponent],\n exports: [SkyAgGridCellEditorLookupComponent],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n SkyAgGridResourcesModule,\n SkyInputBoxModule,\n SkyLookupModule\n ]\n})\nexport class SkyAgGridCellEditorLookupModule {\n}\n","import {\n NgModule\n} from '@angular/core';\n\nimport {\n FormsModule\n} from '@angular/forms';\n\nimport {\n SkyAgGridResourcesModule\n} from '../../../shared/ag-grid-resources.module';\n\nimport {\n SkyAgGridCellEditorNumberComponent\n} from '../cell-editor-number/cell-editor-number.component';\n\n@NgModule({\n imports: [\n SkyAgGridResourcesModule,\n FormsModule\n ],\n declarations: [\n SkyAgGridCellEditorNumberComponent\n ],\n exports: [\n SkyAgGridCellEditorNumberComponent\n ]\n})\nexport class SkyAgGridCellEditorNumberModule {\n}\n","import {\n NgModule\n} from '@angular/core';\n\nimport {\n FormsModule\n} from '@angular/forms';\n\nimport {\n SkyAgGridResourcesModule\n} from '../../../shared/ag-grid-resources.module';\n\nimport {\n SkyAgGridCellEditorTextComponent\n} from './cell-editor-text.component';\n\n@NgModule({\n imports: [\n SkyAgGridResourcesModule,\n FormsModule\n ],\n declarations: [\n SkyAgGridCellEditorTextComponent\n ],\n exports: [\n SkyAgGridCellEditorTextComponent\n ]\n})\nexport class SkyAgGridCellEditorTextModule {\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SkyAgGridResourcesModule } from '../../../shared/ag-grid-resources.module';\nimport { SkyAgGridCellRendererLookupComponent } from './cell-renderer-lookup.component';\n\n@NgModule({\n declarations: [SkyAgGridCellRendererLookupComponent],\n exports: [SkyAgGridCellRendererLookupComponent],\n imports: [CommonModule, SkyAgGridResourcesModule]\n})\nexport class SkyAgGridCellRendererLookupModule {\n}\n","import {\n NgModule\n} from '@angular/core';\n\nimport {\n FormsModule\n} from '@angular/forms';\n\nimport {\n SkyCheckboxModule\n} from '@skyux/forms';\n\nimport {\n SkyAgGridResourcesModule\n} from '../../../shared/ag-grid-resources.module';\n\nimport {\n SkyAgGridCellRendererRowSelectorComponent\n} from '../cell-renderer-row-selector/cell-renderer-row-selector.component';\n\n@NgModule({\n imports: [\n SkyAgGridResourcesModule,\n SkyCheckboxModule,\n FormsModule\n ],\n declarations: [\n SkyAgGridCellRendererRowSelectorComponent\n ],\n exports: [\n SkyAgGridCellRendererRowSelectorComponent\n ]\n})\nexport class SkyAgGridCellRendererRowSelectorModule {\n}\n","import {\n AfterContentInit,\n ChangeDetectorRef,\n ContentChildren,\n Directive,\n Input,\n OnDestroy,\n QueryList\n} from '@angular/core';\n\nimport {\n Subject,\n Subscription\n} from 'rxjs';\n\nimport {\n filter,\n takeUntil\n} from 'rxjs/operators';\n\nimport {\n AgGridAngular\n} from 'ag-grid-angular';\n\nimport {\n ColumnApi,\n ColumnMovedEvent,\n DragStartedEvent,\n DragStoppedEvent,\n RowSelectedEvent\n} from 'ag-grid-community';\n\nimport {\n SkyDataManagerService,\n SkyDataManagerSortOption,\n SkyDataManagerState,\n SkyDataViewConfig\n} from '@skyux/data-manager';\n\nimport {\n SkyAgGridWrapperComponent\n} from './ag-grid-wrapper.component';\n\n@Directive({\n selector: '[skyAgGridDataManagerAdapter]'\n})\nexport class SkyAgGridDataManagerAdapterDirective implements AfterContentInit, OnDestroy {\n\n @Input()\n public viewId: string;\n\n @ContentChildren(AgGridAngular, { descendants: true })\n public agGridList: QueryList<AgGridAngular>;\n\n @ContentChildren(SkyAgGridWrapperComponent, { descendants: true })\n public skyAgGridWrapperList: QueryList<SkyAgGridWrapperComponent>;\n\n private currentAgGrid: AgGridAngular;\n private currentDataState: SkyDataManagerState;\n private currentSkyAgGridWrapper: SkyAgGridWrapperComponent;\n private dataStateSub: Subscription;\n private viewConfig: SkyDataViewConfig;\n private ngUnsubscribe = new Subject();\n\n constructor(\n private changeDetector: ChangeDetectorRef,\n private dataManagerSvc: SkyDataManagerService) { }\n\n public ngAfterContentInit(): void {\n this.dataManagerSvc.setViewkeeperClasses(this.viewId, ['.ag-header']);\n\n this.viewConfig = this.dataManagerSvc.getViewById(this.viewId);\n this.checkForAgGrid();\n this.checkForSkyAgGridWrapper();\n\n this.agGridList.changes\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe(() => this.checkForAgGrid());\n\n this.skyAgGridWrapperList.changes\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe(() => this.checkForSkyAgGridWrapper());\n }\n\n public ngOnDestroy() {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n\n private checkForAgGrid(): void {\n const agGridCount = this.agGridList.length;\n\n /* istanbul ignore else */\n if (agGridCount === 0) {\n this.unregisterAgGrid();\n } else if (this.agGridList.first !== this.currentAgGrid) {\n this.registerAgGrid();\n }\n\n if (agGridCount > 1) {\n console.warn(\n 'More than one ag-grid child component was found. Using the first ag-Grid.'\n );\n }\n }\n\n private checkForSkyAgGridWrapper(): void {\n const skyAgGridWrapperCount = this.skyAgGridWrapperList.length;\n\n /* istanbul ignore else */\n if (skyAgGridWrapperCount === 0) {\n this.unregisterSkyAgGridWrapper();\n } else if (this.skyAgGridWrapperList.first !== this.currentSkyAgGridWrapper) {\n this.registerSkyAgGridWrapper();\n }\n\n if (skyAgGridWrapperCount > 1) {\n console.warn(\n 'More than one ag-grid child component was found. Using the first ag-Grid.'\n );\n }\n }\n\n private unregisterAgGrid(): void {\n this.currentAgGrid = undefined;\n\n /* istanbul ignore if */\n if (this.dataStateSub) {\n this.dataStateSub.unsubscribe();\n }\n }\n\n private unregisterSkyAgGridWrapper(): void {\n this.currentSkyAgGridWrapper = undefined;\n }\n\n private registerSkyAgGridWrapper(): void {\n this.unregisterSkyAgGridWrapper();\n\n this.currentSkyAgGridWrapper = this.skyAgGridWrapperList.first;\n\n setTimeout(() => {\n if (this.currentSkyAgGridWrapper) {\n this.currentSkyAgGridWrapper.viewkeeperClasses = [];\n }\n });\n }\n\n private registerAgGrid(): void {\n this.unregisterAgGrid();\n\n const agGrid = this.agGridList.first;\n\n this.currentAgGrid = agGrid;\n\n agGrid.gridReady\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe(() => {\n this.viewConfig.onSelectAllClick = this.selectAll.bind(this);\n this.viewConfig.onClearAllClick = this.clearAll.bind(this);\n\n this.dataManagerSvc.updateViewConfig(this.viewConfig);\n\n this.dataStateSub = this.dataManagerSvc.getDataStateUpdates(this.viewConfig.id)\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe((dataState: SkyDataManagerState) => {\n this.currentDataState = dataState;\n this.displayColumns(dataState);\n });\n\n agGrid.api.sizeColumnsToFit();\n });\n\n agGrid.columnMoved\n .pipe(\n takeUntil(this.ngUnsubscribe),\n filter(\n (event: ColumnMovedEvent) =>\n ![\n 'gridInitializing',\n 'uiColumnResized',\n 'uiColumnDragged',\n 'api'\n ].includes(event.source)\n )\n )\n .subscribe((value: ColumnMovedEvent) => {\n this.updateColumnsInCurrentDataState(value.columnApi);\n });\n let currentColumns: string[];\n agGrid.dragStarted\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe((value: DragStartedEvent) => {\n currentColumns = this.getColumnOrder(value.columnApi);\n });\n agGrid.dragStopped\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe((value: DragStoppedEvent) => {\n const newColumns = this.getColumnOrder(value.columnApi);\n const hasChanged = currentColumns.findIndex(\n (colId, i) => colId !== newColumns[i]\n );\n if (hasChanged > -1) {\n this.updateColumnsInCurrentDataState(value.columnApi);\n }\n });\n\n agGrid.rowSelected\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe((event: RowSelectedEvent) => {\n const row = event.node;\n let selectedIds = this.currentDataState.selectedIds || [];\n const rowIndex = selectedIds.indexOf(row.data.id);\n\n if (row.isSelected() && rowIndex === -1) {\n selectedIds.push(row.data.id);\n } else if (!row.isSelected() && rowIndex !== -1) {\n selectedIds.splice(rowIndex, 1);\n }\n\n this.currentDataState.selectedIds = selectedIds;\n this.dataManagerSvc.updateDataState(this.currentDataState, this.viewConfig.id);\n this.changeDetector.markForCheck();\n });\n\n agGrid.sortChanged\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe(() => {\n const gridSortModel = agGrid.api.getSortModel();\n let sortOption: SkyDataManagerSortOption;\n\n /* istanbul ignore else */\n if (gridSortModel.length) {\n const activeSortModel = gridSortModel[0];\n const activeSortColumn = agGrid.columnApi.getColumn(activeSortModel.colId);\n const dataManagerConfig = this.dataManagerSvc.getCurrentDataManagerConfig();\n\n /* istanbul ignore else */\n if (dataManagerConfig.sortOptions) {\n sortOption = dataManagerConfig.sortOptions.find((option: SkyDataManagerSortOption) => {\n return option.propertyName === activeSortColumn.getColDef().field &&\n option.descending === (activeSortModel.sort === 'desc');\n });\n } else {\n sortOption = undefined;\n }\n }\n this.currentDataState.activeSortOption = sortOption;\n this.dataManagerSvc.updateDataState(this.currentDataState, this.viewConfig.id);\n });\n }\n\n private updateColumnsInCurrentDataState(columnApi: ColumnApi) {\n const columnOrder = this.getColumnOrder(columnApi);\n\n const viewState = this.currentDataState.getViewStateById(\n this.viewConfig.id\n );\n viewState.displayedColumnIds = columnOrder;\n\n this.dataManagerSvc.updateDataState(\n this.currentDataState.addOrUpdateView(this.viewConfig.id, viewState),\n this.viewConfig.id\n );\n }\n\n private getColumnOrder(columnApi: ColumnApi): string[] {\n return columnApi\n .getAllDisplayedVirtualColumns()\n .map((col) => col.getColDef().colId);\n }\n\n private displayColumns(dataState: SkyDataManagerState): void {\n const agGrid = this.currentAgGrid;\n const viewState = dataState.getViewStateById(this.viewConfig.id);\n let displayedColumnIds: string[] = [];\n /*istanbul ignore else*/\n if (viewState.displayedColumnIds) {\n displayedColumnIds = viewState.displayedColumnIds;\n }\n const columns = agGrid.columnApi.getAllColumns();\n\n for (const column of columns) {\n const colId = column.getColId();\n const colIndex = displayedColumnIds.indexOf(colId);\n\n agGrid.columnApi.setColumnVisible(colId, colIndex !== -1);\n agGrid.columnApi.moveColumn(colId, colIndex);\n }\n }\n\n private selectAll(): void {\n const agGrid = this.agGridList.first;\n agGrid.api.selectAll();\n }\n\n private clearAll(): void {\n const agGrid = this.agGridList.first;\n agGrid.api.deselectAll();\n }\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, NgZone } from '@angular/core';\nimport { SkyPopoverMessage, SkyPopoverMessageType } from '@skyux/popovers';\nimport { CellFocusedEvent, Events } from 'ag-grid-community';\nimport { Subject } from 'rxjs';\nimport { SkyCellRendererValidatorParams } from '../types/cell-renderer-validator-params';\n\n@Component({\n selector: 'sky-ag-grid-cell-validator-tooltip',\n styleUrls: ['ag-grid-cell-validator-tooltip.component.scss'],\n templateUrl: 'ag-grid-cell-validator-tooltip.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SkyAgGridCellValidatorTooltipComponent {\n @Input()\n public set params(value: SkyCellRendererValidatorParams) {\n this.cellRendererParams = value;\n\n /*istanbul ignore next*/\n this.cellRendererParams.api?.addEventListener(Events.EVENT_CELL_FOCUSED, (eventParams: CellFocusedEvent) => {\n // We want to close any popovers that are opened when other cells are focused, but open a popover if the current cell is focused.\n if (eventParams.column.getColId() !== this.cellRendererParams.column.getColId() ||\n eventParams.rowIndex !== this.cellRendererParams.rowIndex) {\n this.hidePopover();\n }\n });\n\n /*istanbul ignore next*/\n this.cellRendererParams.eGridCell?.addEventListener('keyup', (event) => {\n if (['ArrowDown', 'ArrowLeft', 'ArrowRight', 'ArrowUp'].includes(event.key)) {\n this.showPopover();\n }\n });\n\n /*istanbul ignore next*/\n this.cellRendererParams.api?.addEventListener(Events.EVENT_CELL_EDITING_STARTED, () => {\n this.hidePopover();\n });\n\n if (typeof this.cellRendererParams.skyComponentProperties?.validatorMessage === 'function') {\n this.validatorMessage = this.cellRendererParams.skyComponentProperties.validatorMessage(\n this.cellRendererParams.value,\n this.cellRendererParams.data,\n this.cellRendererParams.rowIndex\n );\n } else {\n this.validatorMessage = this.cellRendererParams.skyComponentProperties?.validatorMessage;\n }\n\n this.changeDetector.markForCheck();\n }\n\n public indicatorShouldShow = true;\n public popoverMessageStream = new Subject<SkyPopoverMessage>();\n public validatorMessage: string;\n\n public cellRendererParams: SkyCellRendererValidatorParams;\n\n constructor(\n private changeDetector: ChangeDetectorRef,\n private zone: NgZone\n ) { }\n\n public hideIndicator(): void {\n this.zone.run(() => {\n this.indicatorShouldShow = false;\n this.changeDetector.detectChanges();\n });\n }\n\n public hidePopover(): void {\n this.popoverMessageStream.next({ type: SkyPopoverMessageType.Close });\n }\n\n public showIndicator(): void {\n this.zone.run(() => {\n this.indicatorShouldShow = true;\n this.changeDetector.detectChanges();\n });\n }\n\n public showPopover(): void {\n this.popoverMessageStream.next({ type: SkyPopoverMessageType.Open });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport {\n NgModule\n} from '@angular/core';\nimport { SkyStatusIndicatorModule } from '@skyux/indicators';\nimport { SkyPopoverModule } from '@skyux/popovers';\nimport { SkyAgGridCellValidatorTooltipComponent } from './ag-grid-cell-validator-tooltip.component';\n\n@NgModule({\n declarations: [\n SkyAgGridCellValidatorTooltipComponent\n ],\n exports: [\n SkyAgGridCellValidatorTooltipComponent\n ],\n imports: [\n CommonModule,\n SkyPopoverModule,\n SkyStatusIndicatorModule\n ]\n})\nexport class SkyAgGridCellValidatorModule {}\n","import { CommonModule } from '@angular/common';\nimport {\n NgModule\n} from '@angular/core';\n\nimport {\n FormsModule\n} from '@angular/forms';\n\nimport {\n SkyNumericModule\n} from '@skyux/core';\n\nimport {\n SkyAgGridResourcesModule\n} from '../../../shared/ag-grid-resources.module';\n\nimport {\n SkyAgGridCellRendererCurrencyValidatorComponent\n} from './cell-renderer-currency-validator.component';\n\nimport {\n SkyAgGridCellRendererCurrencyComponent\n} from './cell-renderer-currency.component';\n\nimport {\n SkyAgGridCellValidatorModule\n} from '../../cell-validator/ag-grid-cell-validator.module';\n\n@NgModule({\n imports: [\n CommonModule,\n SkyAgGridResourcesModule,\n SkyAgGridCellValidatorModule,\n FormsModule,\n SkyNumericModule\n ],\n declarations: [\n SkyAgGridCellRendererCurrencyComponent,\n SkyAgGridCellRendererCurrencyValidatorComponent\n ],\n exports: [\n SkyAgGridCellRendererCurrencyComponent,\n SkyAgGridCellRendererCurrencyValidatorComponent\n ]\n})\nexport class SkyAgGridCellRendererCurrencyModule {\n}\n","import {\n Component,\n ElementRef,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewChildren\n} from '@angular/core';\n\n/**\n * Component for rendering the inline delete template in the overlay.\n * @internal\n */\n@Component({\n template: `\n <ng-template\n let-row\n let-tableWidth=\"tableWidth()\"\n let-getRowDeleteItem=\"getRowDeleteItem\"\n let-cancelRowDelete=\"cancelRowDelete\"\n let-confirmRowDelete=\"confirmRowDelete\"\n #inlineDeleteTemplateRef\n >\n <div\n class=\"sky-ag-grid-row-delete\"\n [id]=\"'row-delete-ref-' + row.id\"\n [ngStyle]='{\n \"height\": row.rowHeight + \"px\",\n \"position\": \"fixed\",\n \"width\": tableWidth + \"px\"\n }'\n #inlineDeleteRef\n >\n <sky-inline-delete\n [pending]=\"getRowDeleteItem(row).pending\"\n (cancelTriggered)=\"cancelRowDelete(row)\"\n (deleteTriggered)=\"confirmRowDelete(row)\"\n ></sky-inline-delete>\n </div>\n </ng-template>\n `\n})\nexport class SkyAgGridRowDeleteComponent {\n\n @ViewChildren('inlineDeleteRef')\n public inlineDeleteRefs: QueryList<ElementRef>;\n @ViewChild('inlineDeleteTemplateRef', { read: TemplateRef })\n public inlineDeleteTemplateRef: TemplateRef<any>;\n\n}\n","import {\n AfterContentInit,\n ChangeDetectorRef,\n ComponentFactoryResolver,\n ContentChild,\n Directive,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n ViewContainerRef\n} from '@angular/core';\n\nimport {\n SkyAffixAutoFitContext,\n SkyAffixer,\n SkyAffixService,\n SkyOverlayService\n} from '@skyux/core';\n\nimport {\n AgGridAngular\n} from 'ag-grid-angular';\n\nimport {\n RowNode\n} from 'ag-grid-community';\n\nimport {\n Subject\n} from 'rxjs';\n\nimport {\n takeUntil\n} from 'rxjs/operators';\n\nimport {\n SkyAgGridRowDeleteComponent\n} from './ag-grid-row-delete.component';\n\nimport {\n SkyAgGridRowDeleteCancelArgs\n} from './types/ag-grid-row-delete-cancel-args';\n\nimport {\n SkyAgGridRowDeleteConfig\n} from './types/ag-gird-row-delete-config';\n\nimport {\n SkyAgGridRowDeleteConfirmArgs\n} from './types/ag-grid-row-delete-confirm-args';\n\nimport {\n SkyAgGridRowDeleteContents\n} from './types/ag-grid-row-delete-contents';\n\n@Directive({\n selector: '[skyAgGridRowDelete]'\n})\nexport class SkyAgGridRowDeleteDirective implements AfterContentInit, OnDestroy {\n\n /**\n * Specifies the ids of the data in the rows on which inline delete's should be shown.\n */\n @Input()\n set rowDeleteIds(value: string[]) {\n this._rowDeleteIds = value;\n\n if (!value) {\n for (let config of this.rowDeleteConfigs) {\n this.destroyRowDelete(config.id);\n }\n\n this.changeDetector.markForCheck();\n\n return;\n }\n\n for (let id of value) {\n const existingConfig = this.rowDeleteConfigs\n .find(config => config.id === id);\n if (existingConfig) {\n existingConfig.pending = false;\n } else {\n this.rowDeleteConfigs.push({\n id: id,\n pending: false\n });\n\n let overlay = this.overlayService.create({\n enableScroll: true,\n showBackdrop: false,\n closeOnNavigation: true,\n enableClose: false,\n enablePointerEvents: true\n });\n\n overlay.attachTemplate(this.rowDeleteComponent.inlineDeleteTemplateRef,\n {\n $implicit: this.agGrid.api.getRowNode(id),\n tableWidth: () => { return this.tableWidth; },\n getRowDeleteItem: (row: RowNode) => this.getRowDeleteItem(row),\n cancelRowDelete: (row: RowNode) => this.cancelRowDelete(row),\n confirmRowDelete: (row: RowNode) => this.confirmRowDelete(row)\n });\n\n /**\n * We are manually setting the z-index here because overlays will always be on top of\n * the omnibar. This manual setting is 2 less than the omnibar's z-index of 1000 and one less than\n * the header row's viewkeeper which is 999. We discussed changing the overlay service to allow for this\n * but decided against that change at this time due to its niche nature.\n */\n overlay.componentRef.instance.zIndex = '998';\n\n setTimeout(() => {\n const inlineDeleteRef = this.rowDeleteComponent.inlineDeleteRefs.toArray()\n .find(elRef => {\n return elRef.nativeElement.id === 'row-delete-ref-' + id;\n });\n let affixer = this.affixService.createAffixer(inlineDeleteRef);\n\n this.affixToRow(affixer, id);\n\n this.rowDeleteContents[id] = {\n affixer: affixer,\n overlay: overlay\n };\n });\n }\n }\n\n for (let config of this.rowDeleteConfigs) {\n if (value.indexOf(config.id) < 0) {\n this.destroyRowDelete(config.id);\n }\n }\n\n this.changeDetector.markForCheck();\n }\n\n get rowDeleteIds(): string[] {\n return this._rowDeleteIds;\n }\n\n /**\n * Emits a `SkyAgGridRowDeleteCancelArgs` object when a row's inline delete is cancelled.\n */\n @Output()\n public rowDeleteCancel = new EventEmitter<SkyAgGridRowDeleteCancelArgs>();\n\n /**\n * Emits a `SkyAgGridRowDeleteConfirmArgs` object when a row's inline delete is confirmed.\n */\n @Output()\n public rowDeleteConfirm = new EventEmitter<SkyAgGridRowDeleteConfirmArgs>();\n\n /**\n * Emits when the list of ids of the data in the rows where inline deletes are shown changes.\n */\n @Output()\n public rowDeleteIdsChange = new EventEmitter<string[]>();\n\n public rowDeleteConfigs: SkyAgGridRowDeleteConfig[] = [];\n\n public get tableWidth() {\n return this.elementRef.nativeElement.querySelectorAll('.sky-ag-grid')[0].offsetWidth;\n }\n\n @ContentChild(AgGridAngular)\n public agGrid: AgGridAngular;\n\n private ngUnsubscribe = new Subject();\n private rowDeleteComponent: SkyAgGridRowDeleteComponent;\n private rowDeleteContents: { [id: string]: SkyAgGridRowDeleteContents } = {};\n\n private _rowDeleteIds: string[];\n\n constructor(\n private affixService: SkyAffixService,\n private changeDetector: ChangeDetectorRef,\n private elementRef: ElementRef,\n private resolver: ComponentFactoryResolver,\n private overlayService: SkyOverlayService,\n private viewContainerRef: ViewContainerRef\n ) { }\n\n public ngAfterContentInit(): void {\n const factory = this.resolver.resolveComponentFactory(SkyAgGridRowDeleteComponent);\n this.rowDeleteComponent = this.viewContainerRef.createComponent(factory).instance;\n this.agGrid.rowDataChanged\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe(() => {\n this.updateRowDeleteStates();\n });\n\n this.agGrid.rowDataUpdated\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe(() => {\n this.updateRowDeleteStates();\n });\n\n this.agGrid.sortChanged\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe(() => {\n this.updateRowDeleteStates();\n });\n\n this.agGrid.filterChanged\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe(() => {\n this.updateRowDeleteStates();\n });\n\n this.agGrid.getRowNodeId = (data: any) => {\n return data.id.toString();\n };\n }\n\n public ngOnDestroy(): void {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n\n Object.keys(this.rowDeleteContents).forEach(id => {\n this.destroyRowDelete(id);\n });\n }\n\n public cancelRowDelete(row: RowNode): void {\n this.rowDeleteConfigs = this.rowDeleteConfigs.filter(config => config.id !== row.id);\n this.rowDeleteCancel.emit({ id: row.id });\n\n this.destroyRowDelete(row.id);\n }\n\n public confirmRowDelete(row: RowNode): void {\n this.rowDeleteConfigs.find(config => config.id === row.id).pending = true;\n this.rowDeleteConfirm.emit({ id: row.id });\n }\n\n public getRowDeleteItem(row: RowNode): SkyAgGridRowDeleteConfig {\n return this.rowDeleteConfigs.find(rowDelete => rowDelete.id === row.id);\n }\n\n private affixToRow(affixer: SkyAffixer, id: string) {\n let rowElement: HTMLElement = this.elementRef.nativeElement.querySelector(`\n [row-id=\"${id}\"] div[aria-colindex=\"1\"],\n .ag-row.sky-ag-grid-row-${id} div[aria-colindex=\"1\"]\n `);\n\n // This covers cases where AG Grid places the column index on an inner element (such as with the `enableCellTextSelection` option)\n // This appears to have been fixed by AG Grid in version 24 and so it is not testable after that version.\n /* istanbul ignore if */\n if (!rowElement) {\n const columns = this.elementRef.nativeElement.querySelectorAll('[row-id=\"' + id + '\"] > div');\n\n for (let i = 0; i < columns.length; i++) {\n if (columns[i].querySelector('[aria-colindex=\"1\"]')) {\n rowElement = columns[i];\n break;\n }\n }\n }\n\n affixer.affixTo(rowElement, {\n autoFitContext: SkyAffixAutoFitContext.Viewport,\n isSticky: true,\n placement: 'above',\n verticalAlignment: 'top',\n horizontalAlignment: 'left',\n enableAutoFit: false\n });\n }\n\n private destroyRowDelete(id: string): void {\n const rowDeleteContents = this.rowDeleteContents[id];\n\n /* sanity check */\n /* istanbul ignore else */\n if (rowDeleteContents) {\n rowDeleteContents.affixer.destroy();\n this.overlayService.close(rowDeleteContents.overlay);\n delete this.rowDeleteContents[id];\n this.rowDeleteConfigs = this.rowDeleteConfigs.filter(config => config.id !== id);\n this._rowDeleteIds = this.rowDeleteIds?.filter(arrayId => arrayId !== id);\n this.rowDeleteIdsChange.emit(this._rowDeleteIds);\n }\n }\n\n private updateRowDeleteStates(): void {\n this.rowDeleteConfigs.forEach((config: SkyAgGridRowDeleteConfig) => {\n if (!this.agGrid.api.getRowNode(config.id)) {\n this.destroyRowDelete(config.id);\n } else {\n // We must reaffix things when the data changes because the rows rerender and the previous element that the delete was affixed\n // to is destroyed.\n this.affixToRow(this.rowDeleteContents[config.id].affixer, config.id);\n }\n });\n this.changeDetector.markForCheck();\n }\n\n}\n","import {\n NgModule\n} from '@angular/core';\n\nimport {\n FormsModule\n} from '@angular/forms';\nimport { SkyAutonumericModule } from '@skyux/autonumeric';\n\nimport {\n SkyAgGridResourcesModule\n} from '../../../shared/ag-grid-resources.module';\n\nimport {\n SkyAgGridCellEditorCurrencyComponent\n} from './cell-editor-currency.component';\n\n@NgModule({\n imports: [\n SkyAgGridResourcesModule,\n FormsModule,\n SkyAutonumericModule\n ],\n declarations: [\n SkyAgGridCellEditorCurrencyComponent\n ],\n exports: [\n SkyAgGridCellEditorCurrencyComponent\n ]\n})\nexport class SkyAgGridCellEditorCurrencyModule {\n}\n","import { NgModule } from '@angular/core';\nimport { SkyAgGridCellValidatorModule } from '../../cell-validator/ag-grid-cell-validator.module';\nimport { SkyAgGridCellRendererValidatorTooltipComponent } from './cell-renderer-validator-tooltip.component';\n\n@NgModule({\n declarations: [\n SkyAgGridCellRendererValidatorTooltipComponent\n ],\n exports: [\n SkyAgGridCellRendererValidatorTooltipComponent\n ],\n imports: [\n SkyAgGridCellValidatorModule\n ]\n})\nexport class SkyAgGridCellRendererValidatorTooltipModule {}\n","import {\n CommonModule\n} from '@angular/common';\n\nimport {\n NgModule\n} from '@angular/core';\n\nimport {\n SkyCoreAdapterModule,\n SkyViewkeeperModule\n} from '@skyux/core';\n\nimport {\n AgGridModule\n} from 'ag-grid-angular';\n\nimport {\n SkyDataManagerModule\n} from '@skyux/data-manager';\n\nimport {\n SkyInlineDeleteModule\n} from '@skyux/layout';\n\nimport {\n SkyAgGridService\n} from './ag-grid.service';\n\nimport {\n SkyAgGridWrapperComponent\n} from './ag-grid-wrapper.component';\n\nimport {\n SkyAgGridAdapterService\n} from './ag-grid-adapter.service';\n\nimport {\n SkyAgGridCellEditorAutocompleteComponent\n} from './cell-editors/cell-editor-autocomplete/cell-editor-autocomplete.component';\n\nimport {\n SkyAgGridCellEditorAutocompleteModule\n} from './cell-editors/cell-editor-autocomplete/cell-editor-autocomplete.module';\n\nimport {\n SkyAgGridCellEditorDatepickerComponent\n} from './cell-editors/cell-editor-datepicker/cell-editor-datepicker.component';\n\nimport {\n SkyAgGridCellEditorDatepickerModule\n} from './cell-editors/cell-editor-datepicker/cell-editor-datepicker.module';\n\nimport {\n SkyAgGridCellEditorLookupComponent\n} from './cell-editors/cell-editor-lookup/cell-editor-lookup.component';\n\nimport {\n SkyAgGridCellEditorLookupModule\n} from './cell-editors/cell-editor-lookup/cell-editor-lookup.module';\n\nimport {\n SkyAgGridCellEditorNumberComponent\n} from './cell-editors/cell-editor-number/cell-editor-number.component';\n\nimport {\n SkyAgGridCellEditorNumberModule\n} from './cell-editors/cell-editor-number/cell-editor-number.module';\n\nimport {\n SkyAgGridCellEditorTextComponent\n} from './cell-editors/cell-editor-text/cell-editor-text.component';\n\nimport {\n SkyAgGridCellEditorTextModule\n} from './cell-editors/cell-editor-text/cell-editor-text.module';\n\nimport {\n SkyAgGridCellRendererCurrencyValidatorComponent\n} from './cell-renderers/cell-renderer-currency/cell-renderer-currency-validator.component';\n\nimport {\n SkyAgGridCellRendererLookupComponent\n} from './cell-renderers/cell-renderer-lookup/cell-renderer-lookup.component';\n\nimport {\n SkyAgGridCellRendererLookupModule\n} from './cell-renderers/cell-renderer-lookup/cell-renderer-lookup.module';\n\nimport {\n SkyAgGridCellRendererRowSelectorComponent\n} from './cell-renderers/cell-renderer-row-selector/cell-renderer-row-selector.component';\n\nimport {\n SkyAgGridCellRendererRowSelectorModule\n} from './cell-renderers/cell-renderer-row-selector/cell-renderer-row-selector.module';\n\nimport {\n SkyAgGridDataManagerAdapterDirective\n} from './ag-grid-data-manager-adapter.directive';\n\nimport {\n SkyAgGridCellRendererCurrencyModule\n} from './cell-renderers/cell-renderer-currency/cell-renderer-currency.module';\n\nimport {\n SkyAgGridCellRendererCurrencyComponent\n} from './cell-renderers/cell-renderer-currency/cell-renderer-currency.component';\n\nimport {\n SkyAgGridRowDeleteComponent\n} from './ag-grid-row-delete.component';\n\nimport {\n SkyAgGridRowDeleteDirective\n} from './ag-grid-row-delete.directive';\n\nimport {\n SkyAgGridCellEditorCurrencyModule\n} from './cell-editors/cell-editor-currency/cell-editor-currency.module';\n\nimport {\n SkyAgGridCellEditorCurrencyComponent\n} from './cell-editors/cell-editor-currency/cell-editor-currency.component';\n\nimport {\n SkyAgGridCellRendererValidatorTooltipComponent\n} from './cell-renderers/cell-renderer-validator-tooltip/cell-renderer-validator-tooltip.component';\n\nimport {\n SkyAgGridCellRendererValidatorTooltipModule\n} from './cell-renderers/cell-renderer-validator-tooltip/cell-renderer-validator-tooltip.module';\n\nimport {\n SkyAgGridCellValidatorModule\n} from './cell-validator/ag-grid-cell-validator.module';\n\n@NgModule({\n declarations: [\n SkyAgGridDataManagerAdapterDirective,\n SkyAgGridRowDeleteComponent,\n SkyAgGridRowDeleteDirective,\n SkyAgGridWrapperComponent\n ],\n imports: [\n AgGridModule,\n CommonModule,\n SkyAgGridCellEditorAutocompleteModule,\n SkyAgGridCellEditorDatepickerModule,\n SkyAgGridCellEditorLookupModule,\n SkyAgGridCellEditorNumberModule,\n SkyAgGridCellEditorCurrencyModule,\n SkyAgGridCellRendererCurrencyModule,\n SkyAgGridCellRendererLookupModule,\n SkyAgGridCellRendererRowSelectorModule,\n SkyAgGridCellRendererValidatorTooltipModule,\n SkyAgGridCellValidatorModule,\n SkyAgGridCellEditorTextModule,\n SkyCoreAdapterModule,\n SkyDataManagerModule,\n SkyInlineDeleteModule,\n SkyViewkeeperModule\n ],\n exports: [\n SkyAgGridDataManagerAdapterDirective,\n SkyAgGridRowDeleteComponent,\n SkyAgGridRowDeleteDirective,\n SkyAgGridWrapperComponent\n ],\n providers: [\n SkyAgGridService,\n SkyAgGridAdapterService\n ],\n entryComponents: [\n SkyAgGridCellEditorAutocompleteComponent,\n SkyAgGridCellEditorDatepickerComponent,\n SkyAgGridCellEditorLookupComponent,\n SkyAgGridCellEditorNumberComponent,\n SkyAgGridCellEditorCurrencyComponent,\n SkyAgGridCellRendererCurrencyComponent,\n SkyAgGridCellRendererCurrencyValidatorComponent,\n SkyAgGridCellRendererLookupComponent,\n SkyAgGridCellRendererRowSelectorComponent,\n SkyAgGridCellRendererValidatorTooltipComponent,\n SkyAgGridCellEditorTextComponent,\n SkyAgGridRowDeleteComponent\n ]\n})\nexport class SkyAgGridModule { }\n"],"names":["ViewChild","ElementRef","Component","ChangeDetectionStrategy","SkyThemeService","Optional","ViewEncapsulation","PopupComponent","FormGroup","FormControl","ChangeDetectorRef","Input","RowNode","SkyCellClass","SkyCellType","SkyHeaderClass","SkyCoreAdapterService","Injectable","Subject","takeUntil","SkyLibResourcesService","ContentChild","AgGridAngular","getStringForLocale","NgModule","SKY_LIB_RESOURCES_PROVIDERS","SkyI18nModule","FormsModule","SkyAutocompleteModule","SkyDatepickerModule","CommonModule","ReactiveFormsModule","SkyInputBoxModule","SkyLookupModule","SkyCheckboxModule","filter","SkyDataManagerService","ContentChildren","Directive","Events","SkyPopoverMessageType","NgZone","SkyPopoverModule","SkyStatusIndicatorModule","SkyNumericModule","ViewChildren","TemplateRef","EventEmitter","SkyAffixAutoFitContext","SkyAffixService","ComponentFactoryResolver","SkyOverlayService","ViewContainerRef","Output","SkyAutonumericModule","AgGridModule","SkyCoreAdapterModule","SkyDataManagerModule","SkyInlineDeleteModule","SkyViewkeeperModule"],"mappings":"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"}