@theseam/ui-common 0.2.8 → 0.2.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/bundles/theseam-ui-common-data-exporter.umd.js.map +1 -1
  2. package/bundles/theseam-ui-common-datatable.umd.js +54 -4
  3. package/bundles/theseam-ui-common-datatable.umd.js.map +1 -1
  4. package/bundles/theseam-ui-common-framework.umd.js +2 -2
  5. package/bundles/theseam-ui-common-framework.umd.js.map +1 -1
  6. package/bundles/theseam-ui-common-table-cell-types.umd.js +245 -19
  7. package/bundles/theseam-ui-common-table-cell-types.umd.js.map +1 -1
  8. package/bundles/theseam-ui-common-utils.umd.js.map +1 -1
  9. package/data-exporter/data-exporter.d.ts +4 -0
  10. package/data-exporter/theseam-ui-common-data-exporter.metadata.json +1 -1
  11. package/datatable/datatable/datatable.component.d.ts +2 -0
  12. package/datatable/datatable-footer/datatable-footer-tpl.directive.d.ts +5 -0
  13. package/datatable/datatable-footer/datatable-footer.directive.d.ts +6 -0
  14. package/datatable/public-api.d.ts +2 -0
  15. package/datatable/theseam-ui-common-datatable.metadata.json +1 -1
  16. package/esm2015/data-exporter/data-exporter.js +1 -1
  17. package/esm2015/datatable/datatable/datatable.component.js +5 -3
  18. package/esm2015/datatable/datatable-export-button/datatable-export-button.component.js +8 -3
  19. package/esm2015/datatable/datatable-footer/datatable-footer-tpl.directive.js +15 -0
  20. package/esm2015/datatable/datatable-footer/datatable-footer.directive.js +18 -0
  21. package/esm2015/datatable/datatable.module.js +7 -1
  22. package/esm2015/datatable/public-api.js +3 -1
  23. package/esm2015/framework/side-nav/side-nav-item/side-nav-item.component.js +3 -3
  24. package/esm2015/table-cell-types/public-api.js +8 -1
  25. package/esm2015/table-cell-types/table-cell-type-currency/table-cell-type-currency-config.js +2 -0
  26. package/esm2015/table-cell-types/table-cell-type-currency/table-cell-type-currency.component.js +74 -0
  27. package/esm2015/table-cell-types/table-cell-type-currency/table-cell-type-currency.js +2 -0
  28. package/esm2015/table-cell-types/table-cell-type-decimal/table-cell-type-decimal-config.js +1 -1
  29. package/esm2015/table-cell-types/table-cell-type-decimal/table-cell-type-decimal.component.js +73 -0
  30. package/esm2015/table-cell-types/table-cell-type-decimal/table-cell-type-decimal.js +2 -0
  31. package/esm2015/table-cell-types/table-cell-type-integer/table-cell-type-integer-config.js +1 -1
  32. package/esm2015/table-cell-types/table-cell-type-integer/table-cell-type-integer.component.js +71 -0
  33. package/esm2015/table-cell-types/table-cell-type-integer/table-cell-type-integer.js +2 -0
  34. package/esm2015/table-cell-types/table-cell-type-manifests.js +29 -17
  35. package/esm2015/table-cell-types/table-cell-types.module.js +9 -2
  36. package/esm2015/utils/router/is-empty-url-route.js +1 -1
  37. package/fesm2015/theseam-ui-common-data-exporter.js.map +1 -1
  38. package/fesm2015/theseam-ui-common-datatable.js +45 -5
  39. package/fesm2015/theseam-ui-common-datatable.js.map +1 -1
  40. package/fesm2015/theseam-ui-common-framework.js +2 -2
  41. package/fesm2015/theseam-ui-common-framework.js.map +1 -1
  42. package/fesm2015/theseam-ui-common-table-cell-types.js +232 -20
  43. package/fesm2015/theseam-ui-common-table-cell-types.js.map +1 -1
  44. package/fesm2015/theseam-ui-common-utils.js.map +1 -1
  45. package/framework/side-nav/side-nav-item/side-nav-item.component.scss +36 -9
  46. package/framework/theseam-ui-common-framework.metadata.json +1 -1
  47. package/package.json +1 -1
  48. package/styles/common/_table.scss +0 -5
  49. package/styles/vendor/ngx-datatable/_ngx-datatable.scss +478 -87
  50. package/styles/vendor/ngx-datatable/_themes/bootstrap/_variables.scss +174 -0
  51. package/styles/vendor/ngx-datatable/_themes/dark/_variables.scss +166 -0
  52. package/styles/vendor/ngx-datatable/_themes/material/_variables.scss +165 -0
  53. package/styles/vendor/ngx-datatable/_variables.scss +3 -0
  54. package/table-cell-types/public-api.d.ts +7 -0
  55. package/table-cell-types/table-cell-type-currency/table-cell-type-currency-config.d.ts +39 -0
  56. package/table-cell-types/table-cell-type-currency/table-cell-type-currency.component.d.ts +19 -0
  57. package/table-cell-types/table-cell-type-currency/table-cell-type-currency.d.ts +3 -0
  58. package/table-cell-types/table-cell-type-decimal/table-cell-type-decimal-config.d.ts +31 -1
  59. package/table-cell-types/table-cell-type-decimal/table-cell-type-decimal.component.d.ts +19 -0
  60. package/table-cell-types/table-cell-type-decimal/table-cell-type-decimal.d.ts +3 -0
  61. package/table-cell-types/table-cell-type-integer/table-cell-type-integer-config.d.ts +23 -1
  62. package/table-cell-types/table-cell-type-integer/table-cell-type-integer.component.d.ts +19 -0
  63. package/table-cell-types/table-cell-type-integer/table-cell-type-integer.d.ts +3 -0
  64. package/table-cell-types/table-cell-type-manifests.d.ts +2 -1
  65. package/table-cell-types/theseam-ui-common-table-cell-types.metadata.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"theseam-ui-common-datatable.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../projects/ui-common/datatable/models/datatable-data-source.ts","../../../projects/ui-common/datatable/datatable-action-menu-item/datatable-action-menu-item.component.ts","../../../projects/ui-common/datatable/datatable-action-menu/datatable-action-menu.component.ts","../../../projects/ui-common/datatable/directives/datatable-cell-tpl.directive.ts","../../../projects/ui-common/datatable/services/datatable-column-changes.service.ts","../../../projects/ui-common/datatable/datatable-column/datatable-column.component.ts","../../../projects/ui-common/datatable/directives/datatable-filter.directive.ts","../../../projects/ui-common/datatable/datatable-menu-bar/datatable-menu-bar.component.ts","../../../projects/ui-common/datatable/datatable-row-detail/datatable-row-detail-tpl.directive.ts","../../../projects/ui-common/datatable/datatable-row-detail/datatable-row-detail.directive.ts","../../../projects/ui-common/datatable/directives/datatable-row-action-item.directive.ts","../../../projects/ui-common/datatable/tokens/datatable-preferences-accessor.ts","../../../projects/ui-common/datatable/utils/with-stored-column-info.ts","../../../projects/ui-common/datatable/services/datatable-preferences.service.ts","../../../projects/ui-common/datatable/tokens/datatable-accessor.ts","../../../projects/ui-common/datatable/datatable/datatable.component.ts","../../../projects/ui-common/datatable/datatable-column-preferences/datatable-column-preferences.component.ts","../../../projects/ui-common/datatable/datatable-column-preferences-button/datatable-column-preferences-button.component.ts","../../../projects/ui-common/datatable/datatable-export-button/datatable-export-button.component.ts","../../../projects/ui-common/datatable/datatable-menu-bar-column-center/datatable-menu-bar-column-center.component.ts","../../../projects/ui-common/datatable/datatable-menu-bar-column-left/datatable-menu-bar-column-left.component.ts","../../../projects/ui-common/datatable/datatable-menu-bar-column-right/datatable-menu-bar-column-right.component.ts","../../../projects/ui-common/datatable/datatable-menu-bar-row/datatable-menu-bar-row.component.ts","../../../projects/ui-common/datatable/tokens/menubar-item-data.ts","../../../projects/ui-common/datatable/datatable-menu-bar-text/datatable-menu-bar-text.component.ts","../../../projects/ui-common/datatable/directives/datatable-action-menu-item.directive.ts","../../../projects/ui-common/datatable/directives/datatable-action-menu-toggle.directive.ts","../../../projects/ui-common/datatable/models/datatable-gql-data-source.ts","../../../projects/ui-common/datatable/services/datatable-scrollbar-helper.service.ts","../../../projects/ui-common/datatable/datatable.module.ts","../../../projects/ui-common/datatable/theseam-ui-common-datatable.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 (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\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 var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(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, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, 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\n/** @deprecated */\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\n/** @deprecated */\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 __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\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\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\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 (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, 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, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { DataSource } from '@angular/cdk/collections'\nimport { BehaviorSubject, Observable, of } from 'rxjs'\nimport { map, startWith, switchMap } from 'rxjs/operators'\n\nimport { DataFilterState } from '@theseam/ui-common/data-filters'\n\nimport { TheSeamDatatableAccessor } from './datatable-accessor'\nimport { TheSeamPageInfo } from './page-info'\nimport { SortItem } from './sort-item'\n\nexport abstract class DatatableDataSource<TRow> extends DataSource<TRow> {\n\n private readonly _datatableSubject = new BehaviorSubject<TheSeamDatatableAccessor | undefined>(undefined)\n\n public readonly sorts$: Observable<SortItem[]>\n public readonly filterStates$: Observable<DataFilterState[]>\n public readonly page$: Observable<TheSeamPageInfo>\n\n constructor() {\n super()\n\n this.sorts$ = this._datatableSubject.pipe(\n switchMap(_datatable => {\n if (!_datatable) {\n return of([])\n }\n\n return _datatable.sort.pipe(\n map(v => v.sorts),\n startWith(_datatable.sorts)\n )\n })\n )\n\n this.filterStates$ = this._datatableSubject.pipe(\n switchMap(_datatable => {\n if (!_datatable) {\n return of([])\n }\n\n return _datatable.filterStates\n })\n )\n\n this.page$ = this._datatableSubject.pipe(\n switchMap(_datatable => {\n if (!_datatable) {\n return of({\n offset: 0,\n pageSize: 0,\n limit: undefined,\n count: 0\n })\n }\n\n return _datatable.page.pipe(\n startWith(_datatable.pageInfo)\n )\n })\n )\n }\n\n // connect(): Observable<readonly TRow[]> {\n // return this.\n // }\n\n // disconnect(): void {\n // throw new Error('Method not implemented.')\n // }\n\n public setDatatableAccessor(accessor: TheSeamDatatableAccessor): void {\n this._datatableSubject.next(accessor)\n }\n\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output\n} from '@angular/core'\n\nimport { ThemeTypes } from '@theseam/ui-common/models'\n\n@Component({\n selector: 'seam-datatable-action-menu-item',\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DatatableActionMenuItemComponent {\n\n @Input() label: string | undefined | null\n\n // tslint:disable-next-line:no-input-rename\n @Input('attr.href') href: string | undefined | null\n @Input() target: string | undefined | null\n\n // Allow routerLink inputs on menu item\n @Input() queryParams: {[k: string]: any} | undefined | null\n @Input() fragment: string | undefined | null\n @Input() queryParamsHandling: any\n @Input() preserveFragment: boolean| undefined | null\n @Input() skipLocationChange: boolean| undefined | null\n @Input() replaceUrl: boolean| undefined | null\n @Input() state: {[k: string]: any} | undefined | null\n @Input() routerLink: string | any[] | undefined | null\n\n @Input() confirmDialog: { message?: string, alert?: string | { message: string, type: ThemeTypes } } | undefined | null\n\n @Input() disabled: boolean | undefined | null\n\n @Output() readonly click = new EventEmitter<any>()\n\n}\n","import { ConnectionPositionPair } from '@angular/cdk/overlay'\nimport { Component, ContentChildren, QueryList } from '@angular/core'\nimport { NavigationExtras, Router } from '@angular/router'\n\nimport { faEllipsisH } from '@fortawesome/free-solid-svg-icons'\n\nimport { SeamConfirmDialogService } from '@theseam/ui-common/confirm-dialog'\n\nimport { DatatableActionMenuItemComponent } from '../datatable-action-menu-item/datatable-action-menu-item.component'\n\n@Component({\n selector: 'seam-datatable-action-menu',\n templateUrl: './datatable-action-menu.component.html',\n styleUrls: ['./datatable-action-menu.component.scss']\n})\nexport class DatatableActionMenuComponent {\n\n faEllipsisH = faEllipsisH\n\n @ContentChildren(DatatableActionMenuItemComponent) items?: QueryList<DatatableActionMenuItemComponent>\n\n /** @ignore */\n _actionMenuPositions: ConnectionPositionPair[] = [\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom',\n },\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n },\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n },\n ]\n\n constructor(\n private _confirmDialog: SeamConfirmDialogService,\n private _router: Router\n ) { }\n\n activateItem(event: any, item: DatatableActionMenuItemComponent) {\n if (item.confirmDialog) {\n this._confirmDialog.open(item.confirmDialog.message, item.confirmDialog.alert)\n .afterClosed()\n .subscribe(v => {\n if (v === 'confirm') {\n item.click.emit(event)\n if (item.href) {\n const win = window.open(item.href, item.target || undefined)\n // TODO: Consider if always setting opener to null is to restrictive\n // if (win && item.target && item.target.toLowerCase() === '_blank') {\n // win.opener = null\n // }\n } else {\n const extras: NavigationExtras = {}\n if (item.queryParams) { extras.queryParams = item.queryParams }\n if (item.fragment) { extras.fragment = item.fragment }\n if (item.queryParamsHandling) { extras.queryParamsHandling = item.queryParamsHandling }\n if (item.preserveFragment) { extras.preserveFragment = item.preserveFragment }\n if (item.skipLocationChange) { extras.skipLocationChange = item.skipLocationChange }\n if (item.replaceUrl) { extras.replaceUrl = item.replaceUrl }\n if (item.state) { extras.state = item.state }\n\n const commands = Array.isArray(item.routerLink) ? item.routerLink : [item.routerLink]\n this._router.navigate(commands, extras)\n }\n }\n })\n } else {\n item.click.emit(event)\n }\n }\n\n}\n","import { Directive, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[seamDatatableCellTpl]'\n})\nexport class DatatableCellTplDirective {\n\n constructor(public template: TemplateRef<any>) { }\n\n}\n","import { Injectable } from '@angular/core'\nimport { Observable, Subject } from 'rxjs'\n\n@Injectable()\nexport class DatatableColumnChangesService {\n\n private columnInputChanges = new Subject<undefined>()\n\n get columnInputChanges$(): Observable<undefined> {\n return this.columnInputChanges.asObservable()\n }\n\n onInputChange(): void {\n this.columnInputChanges.next(undefined)\n }\n\n}\n","import { Component, ContentChild, Input, OnChanges, OnInit, PipeTransform, SimpleChanges, TemplateRef } from '@angular/core'\n\nimport { ColumnChangesService } from '@marklb/ngx-datatable'\n\nimport { DatatableCellTplDirective } from '../directives/datatable-cell-tpl.directive'\nimport { DatatableColumnChangesService } from '../services/datatable-column-changes.service'\n\n// HACK: Union type prevents the not found warning\ntype _PipeTransform = PipeTransform | PipeTransform\n\n// TODO: The column component should implement `ITheSeamDatatableColumn`, since\n// providing some properties by input and some by template could be confusing.\n\n@Component({\n selector: 'seam-datatable-column',\n templateUrl: './datatable-column.component.html',\n styleUrls: ['./datatable-column.component.scss']\n})\nexport class DatatableColumnComponent implements OnInit, OnChanges {\n\n @Input() name: string | undefined | null\n @Input() prop: string | number | undefined | null\n\n @Input() flexGrow: number | undefined | null\n @Input() minWidth: number | undefined | null\n @Input() maxWidth: number | undefined | null\n @Input() width: number | undefined | null\n\n @Input() resizeable: boolean | undefined | null\n @Input() sortable: boolean | undefined | null\n @Input() draggable: boolean | undefined | null\n\n @Input() canAutoResize: boolean | undefined | null\n\n @Input() comparator: ((valueA: any, valueB: any, rowA?: any, rowB?: any, sortDirection?: 'asc' | 'desc') => -1 | 0 | 1) | undefined | null\n\n @Input() headerTemplate: TemplateRef<any> | undefined | null\n\n @Input() checkboxable: boolean | undefined | null\n @Input() headerCheckboxable: boolean | undefined | null\n\n @Input() headerClass: string | ((data: any) => string|any) | undefined | null\n @Input() cellClass: string | ((data: any) => string|any) | undefined | null\n\n @Input() frozenLeft: boolean | undefined | null\n @Input() frozenRight: boolean | undefined | null\n\n @Input() pipe: _PipeTransform | undefined | null\n\n @Input() isTreeColumn: boolean | undefined | null\n @Input() treeLevelIndent: number | undefined | null\n\n @Input() summaryFunc: ((cells: any[]) => any) | undefined | null\n @Input() summaryTemplate: TemplateRef<any> | undefined | null\n\n @Input() hidden: boolean | undefined | null\n\n private _isFirstChange = true\n\n @ContentChild(DatatableCellTplDirective, { static: true }) cellTplDirective?: DatatableCellTplDirective\n\n // tslint:disable-next-line: no-input-rename\n @Input('cellTemplate')\n _cellTemplateInput: TemplateRef<any> | undefined | null\n\n @ContentChild(DatatableCellTplDirective, { read: TemplateRef, static: true })\n _cellTemplateQuery?: TemplateRef<any>\n\n get cellTemplate(): TemplateRef<any> | undefined | null {\n return this._cellTemplateInput || this._cellTemplateQuery\n }\n\n // @Input('headerTemplate')\n // _headerTemplateInput: TemplateRef<any>;\n\n // @ContentChild(DataTableColumnHeaderDirective, { read: TemplateRef, static: true })\n // _headerTemplateQuery: TemplateRef<any>;\n\n // get headerTemplate(): TemplateRef<any> {\n // return this._headerTemplateInput || this._headerTemplateQuery;\n // }\n\n // @Input('treeToggleTemplate')\n // _treeToggleTemplateInput: TemplateRef<any>;\n\n // @ContentChild(DataTableColumnCellTreeToggle, { read: TemplateRef, static: true })\n // _treeToggleTemplateQuery: TemplateRef<any>;\n\n // get treeToggleTemplate(): TemplateRef<any> {\n // return this._treeToggleTemplateInput || this._treeToggleTemplateQuery;\n // }\n\n constructor(\n private _columnChangesService: DatatableColumnChangesService\n ) {}\n\n ngOnInit() { }\n\n ngOnChanges(changes: SimpleChanges) {\n if (this._isFirstChange) {\n this._isFirstChange = false\n } else {\n this._columnChangesService.onInputChange()\n }\n }\n\n public getCellDirective(): DatatableCellTplDirective | null {\n if (this.cellTplDirective) {\n return this.cellTplDirective\n }\n\n return null\n }\n\n}\n","import { Directive, Inject, Self } from '@angular/core'\n\nimport { IDataFilter, THESEAM_DATA_FILTER } from '@theseam/ui-common/data-filters'\n\n@Directive({\n selector: '[seamDatatableFilter]'\n})\nexport class DatatableFilterDirective {\n\n private _filter?: IDataFilter\n\n constructor(\n @Self() @Inject(THESEAM_DATA_FILTER) dataFilters: IDataFilter[]\n ) {\n if (dataFilters && dataFilters.length > 0) {\n this._filter = dataFilters[0]\n }\n }\n\n get filter() {\n return this._filter\n }\n\n}\n","import { AfterViewInit, Component, ContentChildren, EventEmitter, forwardRef, OnInit, QueryList } from '@angular/core'\n\nimport { IDataFilter, THESEAM_DATA_FILTER_CONTAINER } from '@theseam/ui-common/data-filters'\nimport { notNullOrUndefined } from '@theseam/ui-common/utils'\n\nimport { DatatableFilterDirective } from '../directives/datatable-filter.directive'\n\nexport const _THESEAM_DATA_FILTER_CONTAINER: any = {\n provide: THESEAM_DATA_FILTER_CONTAINER,\n // tslint:disable-next-line:no-use-before-declare\n useExisting: forwardRef(() => DatatableMenuBarComponent)\n}\n\n@Component({\n selector: 'seam-datatable-menu-bar',\n templateUrl: './datatable-menu-bar.component.html',\n styleUrls: ['./datatable-menu-bar.component.scss'],\n providers: [ _THESEAM_DATA_FILTER_CONTAINER ]\n})\nexport class DatatableMenuBarComponent implements OnInit, AfterViewInit {\n\n @ContentChildren(DatatableFilterDirective)\n get filterDirectives(): QueryList<DatatableFilterDirective> | undefined {\n return this._filterDirectives\n }\n set filterDirectives(value: QueryList<DatatableFilterDirective> | undefined) {\n this._filterDirectives = value\n this.filtersChanged.emit(this.filters())\n }\n private _filterDirectives: QueryList<DatatableFilterDirective> | undefined\n\n private _filtersArr: IDataFilter[] = []\n\n public readonly filtersChanged = new EventEmitter<IDataFilter[]>()\n\n constructor() { }\n\n ngOnInit() { }\n\n ngAfterViewInit() {\n // console.log('_filterDirectives', this._filterDirectives, this.filters())\n }\n\n public filters(): IDataFilter[] {\n const fDirectives = this._filterDirectives\n ? this._filterDirectives.map(f => f.filter).filter(notNullOrUndefined)\n : []\n\n const fArr = this._filtersArr\n .filter(f => fDirectives.findIndex(fd => fd.uid === f.uid) === -1)\n return [ ...fArr, ...fDirectives ]\n }\n\n public addFilter(dataFilter: IDataFilter): void {\n this._filtersArr.push(dataFilter)\n this.filtersChanged.emit(this.filters())\n }\n\n public removeFilter(dataFilter: IDataFilter): void {\n this._filtersArr = this._filtersArr.filter(f => f !== dataFilter)\n this.filtersChanged.emit(this.filters())\n }\n\n}\n","import { Directive, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[seamDatatableRowDetailTpl]'\n})\nexport class DatatableRowDetailTplDirective {\n\n constructor(public template: TemplateRef<any>) { }\n\n}\n","import { ContentChild, Directive, EventEmitter, Input, Output, TemplateRef } from '@angular/core'\n\nimport { DatatableRowDetailTplDirective } from './datatable-row-detail-tpl.directive'\n\n@Directive({\n // tslint:disable-next-line: directive-selector\n selector: 'seam-datatable-row-detail'\n})\nexport class TheSeamDatatableRowDetailDirective {\n\n /**\n * The detail row height is required especially\n * when virtual scroll is enabled.\n */\n @Input() rowHeight: number | ((row?: any, index?: number) => number) | undefined | null = 0\n\n // tslint:disable-next-line: no-input-rename\n @Input('template')\n _templateInput: TemplateRef<any> | undefined | null\n\n @ContentChild(DatatableRowDetailTplDirective, { read: TemplateRef, static: true })\n _templateQuery: TemplateRef<any> | undefined | null\n\n get template(): TemplateRef<any> | undefined | null {\n return this._templateInput || this._templateQuery\n }\n\n /**\n * Row detail row visbility was toggled.\n */\n // NOTE: This will trigger from the internal ngx-datatable toggle event.\n @Output() toggle: EventEmitter<any> = new EventEmitter()\n\n /**\n * Internal use for wrapper only.\n *\n * To avoid confusion with this directives output and the ngx-datatable\n * directive being wrapped, this directive emits `_toggle` stream to the\n * `ngx-datatable-row-detail` directive and emits it's `toggle` stream out to\n * this directives `toggle` stream.\n * @ignore\n */\n _toggle: EventEmitter<any> = new EventEmitter()\n\n /**\n * Toggle the expansion of the row\n */\n toggleExpandRow(row: any): void {\n this._toggle.emit({\n type: 'row',\n value: row\n })\n }\n\n /**\n * API method to expand all the rows.\n */\n expandAllRows(): void {\n this._toggle.emit({\n type: 'all',\n value: true\n })\n }\n\n /**\n * API method to collapse all the rows.\n */\n collapseAllRows(): void {\n this._toggle.emit({\n type: 'all',\n value: false\n })\n }\n\n}\n","import { Directive, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[seamDatatableRowActionItem]'\n})\nexport class DatatableRowActionItemDirective {\n\n constructor(public template: TemplateRef<any>) { }\n\n}\n","import { InjectionToken } from '@angular/core'\n\nimport { ITheSeamDatatablePreferencesAccessor } from '../models/preferences-accessor'\n\nexport const THESEAM_DATATABLE_PREFERENCES_ACCESSOR = new InjectionToken<ITheSeamDatatablePreferencesAccessor>(\n 'ITheSeamDatatablePreferencesAccessor'\n)\n","import { hasProperty } from '@theseam/ui-common/utils'\n\nimport { ITheSeamDatatablePreferencesColumn } from '../models/preferences'\nimport { TheSeamDatatableColumn } from '../models/table-column'\n\nexport function withStoredColumnInfo(\n columns: TheSeamDatatableColumn[],\n preferenceColumns: ITheSeamDatatablePreferencesColumn[]\n): TheSeamDatatableColumn[] {\n const _columns: TheSeamDatatableColumn[] = []\n for (const col of columns) {\n const storedCol = preferenceColumns.find(v => v.prop === col.prop)\n if (storedCol) {\n const _col = { ...col }\n if (hasProperty(storedCol, 'width')) { _col.width = Math.max(storedCol.width, 0) }\n _col.canAutoResize = storedCol.canAutoResize\n _columns.push(_col)\n } else {\n _columns.push(col)\n }\n }\n return _columns\n}\n","import { Inject, Injectable, isDevMode, Optional } from '@angular/core'\nimport { Observable, of, Subject } from 'rxjs'\nimport { map, shareReplay, startWith, switchMap, take, tap } from 'rxjs/operators'\n\nimport { hasProperty } from '@theseam/ui-common/utils'\nimport { ITheSeamDatatablePreferences, ITheSeamDatatablePreferencesColumn } from '../models/preferences'\nimport type { ITheSeamDatatablePreferencesAccessor } from '../models/preferences-accessor'\nimport { THESEAM_DATATABLE_PREFERENCES_ACCESSOR } from '../tokens/datatable-preferences-accessor'\nimport { withStoredColumnInfo } from '../utils/with-stored-column-info'\n\nexport interface IDatatablePreferencesMapRecord {\n observable: Observable<ITheSeamDatatablePreferences>\n refresh: Subject<void>\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DatatablePreferencesService {\n\n private readonly _tablePrefsMap = new Map<string, IDatatablePreferencesMapRecord>()\n private _pending = false\n\n public get pending() { return this._pending }\n\n constructor(\n @Optional() @Inject(THESEAM_DATATABLE_PREFERENCES_ACCESSOR) private _prefsAccessor?: ITheSeamDatatablePreferencesAccessor\n ) { }\n\n public preferences(preferenceKey: string): Observable<ITheSeamDatatablePreferences> {\n let prefs = this._tablePrefsMap.get(preferenceKey)\n if (!prefs) {\n const refreshSubject = new Subject<void>()\n prefs = {\n observable: this._createObservable(refreshSubject, preferenceKey),\n refresh: refreshSubject\n }\n this._tablePrefsMap.set(preferenceKey, prefs)\n }\n return prefs.observable\n }\n\n private _createObservable(refreshSubject: Subject<void>, prefKey: string): Observable<ITheSeamDatatablePreferences> {\n if (!this._prefsAccessor) {\n return of({})\n }\n\n const accessor = (key: string): Observable<string> =>\n this._prefsAccessor ? this._prefsAccessor.get(key) : of('{}')\n\n return refreshSubject.pipe(\n startWith({}),\n switchMap(() => accessor(prefKey).pipe(\n map(v => {\n if (!v) {\n return null\n }\n\n // TODO: Add a schema validator and migration tool to avoid parsing issues.\n try {\n return JSON.parse(v) as ITheSeamDatatablePreferences\n } catch (error) {\n if (isDevMode()) {\n console.error(error)\n }\n return null\n }\n }),\n map(v => !!v ? v : {}),\n // tap(v => console.log('preferences$', v))\n // tap(v => this._pending = false)\n )),\n shareReplay(1)\n )\n }\n\n public refresh(preferenceKey: string): void {\n const prefs = this._tablePrefsMap.get(preferenceKey)\n if (prefs) {\n this._pending = true\n prefs.refresh.next()\n }\n }\n\n // TODO: Improve this updating to be more generic, so we can quickly add\n // edits for different preference schema's.\n //\n // TODO: Decide if a send queue/merging of pending queue is needed to avoid\n // out of order updates. This shouldn't be an issue, with how fast preferences\n // will most likely be changing, but it could happen in situations, such as\n // network issues.\n public setColumnPreference(preferenceKey: string, column: ITheSeamDatatablePreferencesColumn): void {\n if (!this._prefsAccessor) {\n return\n }\n\n this._pending = true\n this.preferences(preferenceKey).pipe(\n map(prefs => {\n // Making the preferences immutable may not be necessary, but for now\n // this obj->str->obj will work as a naive clone.\n const columns = JSON.parse(JSON.stringify(prefs.columns || []))\n const _colPref = columns.find((c: any) => c.prop === column.prop)\n // console.log('has', _colPref)\n if (_colPref) {\n // console.log('hasProperty(column, \"width\"))', hasProperty(column, 'width'))\n if (hasProperty(column, 'width')) { _colPref.width = column.width }\n if (hasProperty(column, 'canAutoResize')) { _colPref.canAutoResize = column.canAutoResize }\n if (hasProperty(column, 'hidden')) { _colPref.hidden = column.hidden }\n } else {\n columns.push({ ...column })\n }\n const newPrefs: ITheSeamDatatablePreferences = { ...prefs, columns }\n return newPrefs\n }),\n // tap(v => console.log('newPrefs', v)),\n take(1),\n switchMap(newPrefs => this._prefsAccessor\n ? this._prefsAccessor.update(preferenceKey, JSON.stringify(newPrefs))\n : of(newPrefs)\n ),\n tap(() => this.refresh(preferenceKey))\n )\n .subscribe()\n }\n\n public withColumnPreferences<T>(preferenceKey: string, columns: T[]): Observable<T[]> {\n return this.preferences(preferenceKey).pipe(\n startWith({} as ITheSeamDatatablePreferences),\n map(preferences => preferences && preferences.columns\n ? withStoredColumnInfo(columns, preferences.columns) as T[]\n : columns\n )\n )\n }\n\n}\n","import { InjectionToken } from '@angular/core'\n\nimport { TheSeamDatatableAccessor } from '../models/datatable-accessor'\n\nexport const THESEAM_DATATABLE_ACCESSOR = new InjectionToken<TheSeamDatatableAccessor>(\n 'TheSeamDatatableAccessor'\n)\n","import { animate, style, transition, trigger } from '@angular/animations'\nimport { BooleanInput, coerceArray, NumberInput } from '@angular/cdk/coercion'\nimport {\n AfterContentInit, ChangeDetectionStrategy, Component, ContentChild, ContentChildren,\n ElementRef, EventEmitter, forwardRef, InjectionToken, Input, KeyValueDiffer,\n KeyValueDiffers, OnDestroy, OnInit, Output, QueryList, TemplateRef, ViewChild\n} from '@angular/core'\nimport { BehaviorSubject, combineLatest, Observable, of, Subject, Subscription } from 'rxjs'\nimport { concatMap, map, shareReplay, startWith, switchMap, takeUntil, tap } from 'rxjs/operators'\nimport { DatatableDataSource } from './../models/datatable-data-source'\n\nimport { faChevronDown, faChevronRight, faSpinner } from '@fortawesome/free-solid-svg-icons'\nimport {\n ColumnMode,\n ContextmenuType,\n DataTableColumnCellTreeToggle,\n DataTableColumnDirective,\n DataTableColumnHeaderDirective,\n DatatableComponent as NgxDatatableComponent,\n DatatableRowDetailDirective,\n setColumnDefaults,\n SortType,\n TableColumn,\n translateTemplates,\n TreeStatus\n} from '@marklb/ngx-datatable'\nimport type { SelectionType } from '@marklb/ngx-datatable'\n\nimport { InputBoolean, InputNumber } from '@theseam/ui-common/core'\nimport { composeDataFilters, composeDataFilterStates, DataFilterState, IDataFilter } from '@theseam/ui-common/data-filters'\nimport { IElementResizedEvent } from '@theseam/ui-common/shared'\nimport { hasProperty, notNullOrUndefined } from '@theseam/ui-common/utils'\n\nimport { CollectionViewer, DataSource, isDataSource, ListRange } from '@angular/cdk/collections'\nimport { isObservable } from 'rxjs'\nimport { DatatableActionMenuComponent } from '../datatable-action-menu/datatable-action-menu.component'\nimport { DatatableColumnComponent } from '../datatable-column/datatable-column.component'\nimport { DatatableMenuBarComponent } from '../datatable-menu-bar/datatable-menu-bar.component'\nimport { TheSeamDatatableRowDetailDirective } from '../datatable-row-detail/datatable-row-detail.directive'\nimport { DatatableRowActionItemDirective } from '../directives/datatable-row-action-item.directive'\nimport { TheSeamDatatableAccessor } from '../models/datatable-accessor'\nimport { TheSeamPageInfo } from '../models/page-info'\nimport { SortEvent } from '../models/sort-event'\nimport { SortItem } from '../models/sort-item'\nimport { TheSeamDatatableColumn } from '../models/table-column'\nimport { DatatableColumnChangesService } from '../services/datatable-column-changes.service'\nimport { DatatablePreferencesService } from '../services/datatable-preferences.service'\nimport { THESEAM_DATATABLE_ACCESSOR } from '../tokens/datatable-accessor'\n\nexport function _setColumnDefaults(columns: TheSeamDatatableColumn[]): void {\n for (const column of columns) {\n if (!column.hasOwnProperty('hidden')) {\n column.hidden = false\n }\n }\n setColumnDefaults(columns)\n}\n\n/**\n * NOTE: This is still being worked on. I am trying to figure out this model\n * because `ngx-datatable` just uses an untyped object and sets properties in\n * multiple places.\n */\nexport interface ICellContext {\n allRowsSelected: false\n\n selectFn: () => any\n sortDir?: 'asc' | 'desc'\n sortFn: () => any\n\n expanded?: boolean\n\n onCheckboxChangeFn?: any\n activateFn?: any\n row?: any\n group?: any\n value?: any\n column?: TheSeamDatatableColumn\n rowHeight?: number\n isSelected?: boolean\n rowIndex?: number\n treeStatus?: TreeStatus\n onTreeAction?: any\n}\n\n/**\n * Intended for internal classes declared by the `TheSeamDatatableModule`.\n */\nexport const THESEAM_DATATABLE = new InjectionToken<IDataFilter>('LibDatatable')\n\nexport const _THESEAM_DATATABLE: any = {\n provide: THESEAM_DATATABLE,\n // tslint:disable-next-line:no-use-before-declare\n useExisting: forwardRef(() => DatatableComponent)\n}\n\nexport const _THESEAM_DATATABLE_ACCESSOR: any = {\n provide: THESEAM_DATATABLE_ACCESSOR,\n // tslint:disable-next-line:no-use-before-declare\n useExisting: forwardRef(() => DatatableComponent)\n}\n\n// TODO: Reduce reliance on BehaviorSubject based observables, because it should\n// be easier to avoit over emitting observables.\n@Component({\n selector: 'seam-datatable',\n templateUrl: './datatable.component.html',\n styleUrls: ['./datatable.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n trigger('slideDown', [\n transition(':enter', [\n style({ transform: 'translateY(-20%)', opacity: '0' }),\n animate('250ms', style({ transform: 'translateY(0)', opacity: '1' })),\n ]),\n transition(':leave', [\n style({ transform: 'translateY(0)', opacity: '1' }),\n animate('250ms', style({ transform: 'translateY(-20%)', opacity: '0' })),\n ])\n ])\n ],\n providers: [ _THESEAM_DATATABLE, DatatableColumnChangesService, _THESEAM_DATATABLE_ACCESSOR ]\n})\nexport class DatatableComponent implements OnInit, OnDestroy, AfterContentInit, TheSeamDatatableAccessor, CollectionViewer {\n static ngAcceptInputType_externalPaging: BooleanInput\n static ngAcceptInputType_externalSorting: BooleanInput\n static ngAcceptInputType_externalFiltering: BooleanInput\n static ngAcceptInputType_loadingIndicator: BooleanInput\n static ngAcceptInputType_reorderable: BooleanInput\n static ngAcceptInputType_swapColumns: BooleanInput\n static ngAcceptInputType_groupExpansionDefault: BooleanInput\n static ngAcceptInputType_selectAllRowsOnPage: BooleanInput\n static ngAcceptInputType_summaryRow: BooleanInput\n static ngAcceptInputType_virtualization: BooleanInput\n static ngAcceptInputType_scrollbarV: BooleanInput\n static ngAcceptInputType_scrollbarH: BooleanInput\n static ngAcceptInputType_limit: NumberInput\n static ngAcceptInputType_count: NumberInput\n static ngAcceptInputType_offset: NumberInput\n static ngAcceptInputType_headerHeight: NumberInput\n static ngAcceptInputType_rowHeight: NumberInput\n static ngAcceptInputType_footerHeight: NumberInput\n static ngAcceptInputType_summaryHeight: NumberInput\n static ngAcceptInputType_columns: TheSeamDatatableColumn[] | undefined | null\n static ngAcceptInputType_sorts: SortItem[] | undefined | null\n\n faChevronDown = faChevronDown\n faChevronRight = faChevronRight\n faSpinner = faSpinner\n\n private readonly _ngUnsubscribe = new Subject()\n private readonly _filtersSubject = new BehaviorSubject<IDataFilter[]>([])\n private readonly _columnsObservable = new BehaviorSubject<Observable<TheSeamDatatableColumn[]> | undefined>(undefined)\n private readonly _dataSourceSubject = new BehaviorSubject<DataSource<any> | any[] | undefined>(undefined)\n\n public readonly filterStates: Observable<DataFilterState[]>\n\n get filters(): IDataFilter[] { return this._filtersSubject.value }\n\n public readonly filters$: Observable<IDataFilter[]>\n\n @Input()\n get preferencesKey(): string | undefined | null { return this._preferencesKey.value }\n set preferencesKey(value: string | undefined | null) { this._preferencesKey.next(value || undefined) }\n private _preferencesKey = new BehaviorSubject<string | undefined | null>(undefined)\n\n @Input() targetMarkerTemplate: any\n\n @Input()\n get columns(): TheSeamDatatableColumn[] { return this._columns.value }\n set columns(value: TheSeamDatatableColumn[]) {\n // console.log('columns input', value)\n this._columns.next(Array.isArray(value) ? value : [])\n }\n private _columns = new BehaviorSubject<TheSeamDatatableColumn[]>([])\n\n @Input()\n get rows(): any[] { return this._rows.value }\n set rows(value: any[]) { this._rows.next(value || []) }\n private _rows = new BehaviorSubject<any[]>([])\n\n public rows$: Observable<any[]>\n\n @Input() columnMode: ColumnMode | undefined | null = ColumnMode.force\n\n @Input() groupRowsBy: string | undefined | null\n @Input() groupedRows: any[] | undefined | null\n\n @Input() selected: any[] | undefined | null = []\n\n @Input() @InputBoolean() externalPaging: boolean = false\n @Input() @InputBoolean() externalSorting: boolean = false\n @Input() @InputBoolean() externalFiltering: boolean = false\n\n @Input() @InputNumber() limit: number | undefined\n @Input() @InputNumber(0) count: number = 0\n @Input() @InputNumber(0) offset: number = 0\n\n @Input() @InputBoolean() loadingIndicator: boolean = false\n\n @Input() selectionType: SelectionType | undefined | null\n\n @Input() @InputBoolean() reorderable: boolean = true\n @Input() @InputBoolean() swapColumns: boolean = false\n\n @Input() sortType: SortType | undefined | null = SortType.single\n\n @Input()\n get sorts(): SortItem[] { return this.ngxDatatable ? this.ngxDatatable.sorts : this._sorts }\n set sorts(value: SortItem[]) {\n this._sorts = notNullOrUndefined(value) ? coerceArray(value) : []\n }\n _sorts: SortItem[] = []\n\n @Input() cssClasses: any | undefined | null = {\n sortAscending: 'datatable-icon-up',\n sortDescending: 'datatable-icon-down',\n pagerLeftArrow: 'datatable-icon-left',\n pagerRightArrow: 'datatable-icon-right',\n pagerPrevious: 'datatable-icon-prev',\n pagerNext: 'datatable-icon-skip'\n }\n\n @Input() messages: any | undefined | null = {\n // Message to show when array is presented\n // but contains no values\n emptyMessage: 'No records found',\n\n // Footer total message\n totalMessage: 'total',\n\n // Footer selected message\n selectedMessage: 'selected'\n }\n\n @Input() rowIdentity: ((x: any) => any) | undefined | null = ((x: any) => x)\n\n @Input() rowClass: any | undefined | null\n\n @Input() selectCheck: any | undefined | null\n @Input() displayCheck: ((row: any, column?: any, value?: any) => boolean) | undefined | null\n\n @Input() @InputBoolean() groupExpansionDefault: boolean = false\n\n @Input() trackByProp: string | undefined | null\n\n @Input() @InputBoolean() selectAllRowsOnPage: boolean = false\n\n @Input() treeFromRelation: string | undefined | null\n @Input() treeToRelation: string | undefined | null\n @Input() @InputBoolean() summaryRow: boolean = false\n @Input() @InputNumber() summaryHeight: number = 30\n @Input() summaryPosition: string | undefined | null = 'top'\n\n @Input() @InputBoolean() virtualization: boolean = true\n\n @Input() @InputNumber() headerHeight: number = 50\n @Input() @InputNumber() rowHeight: number = 50\n @Input() @InputNumber() footerHeight: number = 40\n\n @Input() @InputBoolean() scrollbarV: boolean = true\n @Input() @InputBoolean() scrollbarH: boolean = true\n\n @Input()\n set dataSource(value: DataSource<any> | any[] | undefined | null) {\n if (value instanceof DatatableDataSource) {\n value.setDatatableAccessor(this)\n }\n this._dataSourceSubject.next(value || undefined)\n }\n\n @Output() readonly scroll = new EventEmitter<any>()\n @Output() readonly activate = new EventEmitter<any>()\n @Output() readonly select = new EventEmitter<any>()\n @Output() readonly sort = new EventEmitter<SortEvent>()\n @Output() readonly page = new EventEmitter<TheSeamPageInfo>()\n @Output() readonly reorder = new EventEmitter<any>()\n @Output() readonly resize = new EventEmitter<any>()\n @Output() readonly tableContextmenu = new EventEmitter<{ event: MouseEvent, type: ContextmenuType, content: any }>(false)\n @Output() readonly treeAction = new EventEmitter<any>()\n\n @Output() readonly actionRefreshRequest = new EventEmitter<void>()\n @Output() readonly hiddenColumnsChange = new EventEmitter<string[]>()\n\n @ContentChildren(DatatableColumnComponent) columnComponents?: QueryList<DatatableColumnComponent>\n\n @ContentChild(DatatableActionMenuComponent, { static: true }) actionMenu?: DatatableActionMenuComponent\n @ContentChild(DatatableRowActionItemDirective, { static: true }) rowActionItem?: DatatableRowActionItemDirective\n @ContentChild(TheSeamDatatableRowDetailDirective, { static: true }) rowDetail?: TheSeamDatatableRowDetailDirective\n\n @ContentChild(DatatableMenuBarComponent)\n get menuBarComponent(): DatatableMenuBarComponent | undefined { return this._menuBarComponent }\n set menuBarComponent(value: DatatableMenuBarComponent | undefined) {\n this._menuBarComponent = value\n\n if (this._menuBarSub) { this._menuBarSub.unsubscribe() }\n\n if (value) {\n this._setMenuBarFilters(value.filters())\n\n this._menuBarSub = this._menuBarComponent?.filtersChanged\n .subscribe(v => { this._setMenuBarFilters(value.filters()) })\n }\n }\n private _menuBarComponent: DatatableMenuBarComponent | undefined\n private _menuBarSub: Subscription | undefined\n\n @ViewChild(NgxDatatableComponent) ngxDatatable?: NgxDatatableComponent\n @ViewChild(NgxDatatableComponent, { read: ElementRef }) ngxDatatableElement?: ElementRef\n @ViewChild(DatatableRowDetailDirective) ngxRowDetail?: DatatableRowDetailDirective\n\n @ViewChild('actionMenuCellTpl', { static: true }) actionMenuCellTpl?: TemplateRef<DataTableColumnDirective>\n @ViewChild('treeToggleTpl', { static: true }) treeToggleTpl?: TemplateRef<DataTableColumnCellTreeToggle>\n @ViewChild('headerTpl', { static: true }) headerTpl?: TemplateRef<DataTableColumnHeaderDirective>\n @ViewChild('blankHeaderTpl', { static: true }) blankHeaderTpl?: TemplateRef<DataTableColumnHeaderDirective>\n @ViewChild('cellTypeSelectorTpl', { static: true }) cellTypeSelectorTpl?: TemplateRef<DataTableColumnDirective>\n\n public columnComponents$?: Observable<DatatableColumnComponent[]>\n private _colDiffersInp: { [propName: string]: KeyValueDiffer<any, any> } = {}\n private _colDiffersTpl: { [propName: string]: KeyValueDiffer<any, any> } = {}\n\n public readonly columns$: Observable<TheSeamDatatableColumn[]>\n public readonly displayColumns$: Observable<TheSeamDatatableColumn[]>\n\n viewChange: Observable<ListRange>\n\n private _rowDetailToggleSubscription = Subscription.EMPTY\n\n constructor(\n private readonly _columnChangesService: DatatableColumnChangesService,\n private readonly _differs: KeyValueDiffers,\n private readonly _preferences: DatatablePreferencesService\n ) {\n // this.displayColumns$ = this.hiddenColumns$.pipe(\n // switchMap(hiddenColumns => this.columns$.pipe(map(cols => cols.filter(c => hiddenColumns.findIndex(hc => hc === c.prop) === -1))))\n // )\n\n const applyPrefs = (cols: TheSeamDatatableColumn[]) => this._preferencesKey.pipe(\n switchMap(name => !!name\n // NOTE: This pending check is temporary to avoid table using previously\n // retrieved preference while the new one is being updated on the\n // server.\n ? !this._preferences.pending\n ? this._preferences.withColumnPreferences(name, cols)\n : of(cols)\n : of(cols)\n )\n )\n\n this.columns$ = this._columnsObservable.pipe(switchMap(colsObs => colsObs ?? of([])))\n\n this.displayColumns$ = this.columns$.pipe(\n map(cols => cols.filter(c => !c.hidden)),\n tap(v => this._removeUnusedDiffs(v)),\n switchMap(cols => applyPrefs(cols)),\n )\n\n this.filters$ = this._filtersSubject.asObservable()\n\n this.filterStates = this._filtersSubject.asObservable().pipe(\n switchMap(filters => composeDataFilterStates(filters))\n )\n\n // this.rows$ = this._filtersSubject.asObservable()\n // .pipe(\n // switchMap(filters => {\n // if (this.externalFiltering) {\n // return this._rows.asObservable()\n // }\n // return this._rows.asObservable().pipe(composeDataFilters(filters))\n // })\n // )\n\n this.rows$ = this._dataSourceSubject.pipe(\n switchMap(dataSource => {\n // console.log('dataSource', dataSource)\n let dataStream: Observable<any[]>\n\n if (isDataSource(dataSource)) {\n // console.log('~datasource')\n dataStream = dataSource.connect(this) as any\n } else if (isObservable(dataSource)) {\n // console.log('~observable')\n dataStream = dataSource as any\n } else if (Array.isArray(dataSource)) {\n // console.log('~array')\n dataStream = of(dataSource)\n } else {\n // console.log('~rows fallback')\n dataStream = this._rows.asObservable()\n // .pipe(tap(v => console.log('rows~', v)))\n }\n\n if (!this.externalFiltering) {\n // console.log('not using externalFiltering')\n dataStream = dataStream.pipe(\n switchMap(rows => this._filtersSubject.pipe(\n // tap(v => console.log('filters', v)),\n concatMap(filters => of(rows).pipe(composeDataFilters(filters))),\n // tap(v => console.log('composed filters', v)),\n ))\n )\n\n // dataStream = this._filtersSubject.pipe(\n // tap(v => console.log('filters', v)),\n // concatMap(filters => dataStream.pipe(composeDataFilters(filters))),\n // tap(v => console.log('composed filters', v)),\n // )\n }\n\n return dataStream.pipe(\n // tap(v => console.log('stream', v)),\n takeUntil(this._ngUnsubscribe)\n )\n })\n )\n\n // this.hiddenColumns$ = this._hiddenColumns.asObservable()\n\n // this._hiddenColumns.pipe(\n // skip(1),\n // distinctUntilChanged((a, b) => {\n // const _a = Array.isArray(a) ? a : []\n // const _b = Array.isArray(b) ? b : []\n // if (_a.length !== _b.length) { return false }\n // const _as = _a.sort()\n // const _bs = _b.sort()\n // return !_as.sort().every((value: string, index: number) => _bs[index] === value)\n // }),\n // tap(v => this.hiddenColumnsChange.emit(v)),\n // untilDestroyed(this)\n // ).subscribe(v => console.log('hiddenColumnsChange', v))\n\n // TODO: Implement viewChange for CollectionViewer.\n this.viewChange = this.page.pipe(map(p => ({ start: 0, end: p.count })))\n }\n\n ngOnInit() {\n if (this.rowDetail) {\n this._rowDetailToggleSubscription = this.rowDetail._toggle.subscribe(event => {\n if (this.ngxRowDetail) {\n this.ngxRowDetail.toggle.emit(event)\n }\n })\n }\n }\n\n ngOnDestroy() {\n this._rowDetailToggleSubscription.unsubscribe()\n }\n\n ngAfterContentInit() {\n this.columnComponents$ = this._columnChangesService.columnInputChanges$.pipe(\n map(() => this.columnComponents?.toArray() ?? []),\n startWith(this.columnComponents?.toArray() ?? []),\n shareReplay({ bufferSize: 1, refCount: true })\n )\n\n const _columns = combineLatest([\n this.columnComponents$,\n this._columns\n ]).pipe(\n map(v => this._getMergedTplAndInpColumns(v[0], v[1] ?? [])),\n // tap(v => console.log('cols', v)),\n shareReplay({ bufferSize: 1, refCount: true }),\n )\n this._columnsObservable.next(_columns)\n }\n\n private _getMergedTplAndInpColumns(\n tplCols: DatatableColumnComponent[],\n inpCols: TheSeamDatatableColumn[]\n ): TheSeamDatatableColumn[] {\n const cols: TheSeamDatatableColumn[] = []\n\n if (this.selectionType === 'checkbox') {\n const checkBoxCol: TheSeamDatatableColumn = {\n prop: '$$__checkbox__',\n name: '',\n width: 40,\n sortable: false,\n canAutoResize: false,\n draggable: false,\n resizeable: false,\n headerCheckboxable: true,\n checkboxable: true\n }\n\n cols.push(checkBoxCol)\n }\n\n const _tplCols = translateTemplates(<any>(tplCols || []))\n for (const col of inpCols) {\n const tplCol = _tplCols.find(t => t.prop === col.prop)\n // console.log({ col: { ...(col || {}) }, tplCol: { ...(tplCol || {}) } })\n\n const dtColumns = (this.ngxDatatable && this.ngxDatatable._internalColumns) || []\n const prev = dtColumns.find(c => c.prop === col.prop)\n\n const inpColDiff = this._getColDiff(col)\n const _inpCol = inpColDiff ? {} : this._hasPrevColDiff(col) ? {} : col\n if (inpColDiff) {\n inpColDiff.forEachRemovedItem(r => {\n if (prev && prev.hasOwnProperty(r.key)) {\n const k = r.key as keyof TableColumn\n delete prev[k]\n }\n })\n inpColDiff.forEachAddedItem(r => (_inpCol as any)[r.key] = r.currentValue)\n inpColDiff.forEachChangedItem(r => (_inpCol as any)[r.key] = r.currentValue)\n }\n\n let _tplCol: TheSeamDatatableColumn = {}\n if (tplCol) {\n const tplColDiff = tplCol ? this._getColDiff(tplCol, true) : undefined\n _tplCol = tplColDiff ? {} : this._hasPrevColDiff(col, true) ? {} : tplCol\n if (tplColDiff) {\n tplColDiff.forEachRemovedItem(r => {\n if (prev && prev.hasOwnProperty(r.key)) {\n const k = r.key as keyof TableColumn\n delete prev[k]\n }\n })\n tplColDiff.forEachAddedItem(r => (_tplCol as any)[r.key] = r.currentValue)\n tplColDiff.forEachChangedItem(r => (_tplCol as any)[r.key] = r.currentValue)\n }\n }\n\n const _col: TheSeamDatatableColumn = {\n ...(prev || {}),\n ..._inpCol,\n ..._tplCol\n }\n\n cols.push(_col)\n }\n\n if (this.rowActionItem) {\n const actionMenuColumn: TheSeamDatatableColumn = {\n prop: '$$__actionMenu__',\n name: '',\n width: 50,\n minWidth: 50,\n maxWidth: 50,\n resizeable: false,\n sortable: false,\n draggable: false,\n // TODO: Fix column auto sizing with fixed column and cell overlay before enabling.\n // frozenRight: true,\n cellTemplate: this.actionMenuCellTpl,\n headerTemplate: this.blankHeaderTpl\n }\n cols.push(actionMenuColumn)\n }\n\n for (const col of cols) {\n if (col.isTreeColumn && hasProperty(col, 'treeToggleTemplate')) {\n col.treeToggleTemplate = this.treeToggleTpl\n }\n\n if (!hasProperty(col, 'headerTemplate')) {\n col.headerTemplate = this.headerTpl\n }\n\n if (hasProperty(col, 'cellType')) {\n col.cellTemplate = this.cellTypeSelectorTpl\n }\n }\n\n // setColumnDefaults(cols)\n _setColumnDefaults(cols)\n\n\n // console.log(cols.map(c => ({ prop: c.prop, canAutoResize: c.canAutoResize })))\n\n return cols\n }\n\n private _hasPrevColDiff(col: TheSeamDatatableColumn, isTpl: boolean = false): boolean {\n if (!col || !col.prop) {\n return false\n }\n\n const differsMap = isTpl ? this._colDiffersTpl : this._colDiffersInp\n\n return !!differsMap\n }\n\n private _getColDiff(col: TheSeamDatatableColumn, isTpl: boolean = false) {\n if (!col || !col.prop) {\n return\n }\n\n const differsMap = isTpl ? this._colDiffersTpl : this._colDiffersInp\n\n if (!differsMap[col.prop]) {\n differsMap[col.prop] = this._differs.find({}).create()\n }\n\n const differ = differsMap[col.prop]\n\n const diff = differ.diff(col)\n return diff\n }\n\n private _removeUnusedDiffs(cols: TheSeamDatatableColumn[]) {\n const inpKeys = Object.keys(this._colDiffersInp)\n inpKeys.filter(k => cols.findIndex(c => c.prop === k) === -1)\n .forEach(k => { delete this._colDiffersInp[k] })\n\n const tplKeys = Object.keys(this._colDiffersTpl)\n tplKeys.filter(k => cols.findIndex(c => c.prop === k) === -1)\n .forEach(k => { delete this._colDiffersTpl[k] })\n }\n\n private _setMenuBarFilters(filters: IDataFilter[]) {\n // console.log('_setMenuBarFilters', filters)\n this._filtersSubject.next(filters || [])\n }\n\n public getColumnComponent(propName: string): DatatableColumnComponent | null {\n if (!this.columnComponents || this.columnComponents.length === 0) {\n return null\n }\n\n const tpl = this.columnComponents.find(t => t.prop === propName)\n if (tpl) {\n return tpl\n }\n\n return null\n }\n\n _columnData(col: any): { col: any, comp: DatatableColumnComponent | null } {\n const comp = this.getColumnComponent(col.prop)\n return { col, comp }\n }\n\n _getRowExpanded(row: any) {\n if (this.ngxDatatable && this.ngxDatatable.bodyComponent) {\n return this.ngxDatatable.bodyComponent.getRowExpanded(row)\n }\n return false\n }\n\n public trackByFnColumn(index: number, item: any) {\n return item.prop\n }\n\n public onDatatableResize(event: IElementResizedEvent) {\n if (this.ngxDatatable && this.ngxDatatableElement && this.ngxDatatableElement.nativeElement) {\n // TODO: Consider integrating this into the ngx-datatable library to avoid\n // multiple resize calls when the table resizes itself.\n this.ngxDatatable.recalculate()\n }\n }\n\n _onResize(event: any) {\n // console.log('resize', event, event.column.prop)\n this.resize.emit(event)\n\n if (event.isDone && this.columns) {\n const columns = this.columns\n const col = columns.find(c => c.prop === event.column.prop)\n if (col) {\n col.canAutoResize = false\n }\n\n if (this.preferencesKey) {\n const pref = { prop: event.column.prop, width: event.column.width, canAutoResize: false }\n this._preferences.setColumnPreference(this.preferencesKey, pref)\n }\n\n this.columns = [ ...this.columns ]\n }\n }\n\n _onTreeAction(event: any) {\n const index = event.rowIndex\n const row = event.row\n if (row.treeStatus === 'collapsed') {\n row.treeStatus = 'expanded'\n } else {\n row.treeStatus = 'collapsed'\n }\n this.rows = [ ...this.rows ]\n }\n\n public triggerActionRefreshRequest() {\n this.actionRefreshRequest.emit(undefined)\n }\n\n public get pageInfo(): TheSeamPageInfo {\n return {\n offset: this.ngxDatatable?.offset ?? 0,\n pageSize: this.ngxDatatable?.pageSize ?? 0,\n limit: this.ngxDatatable?.limit,\n count: this.ngxDatatable?.count ?? 0\n }\n }\n\n}\n","import { ChangeDetectionStrategy, Component, Inject, OnInit } from '@angular/core'\nimport { FormControl } from '@angular/forms'\nimport { combineLatest, Observable, of } from 'rxjs'\nimport { map } from 'rxjs/operators'\n\nimport { observeControlValue } from '@theseam/ui-common/utils'\n\nimport { DatatableComponent, THESEAM_DATATABLE } from '../datatable/datatable.component'\nimport { TheSeamDatatableColumn } from '../models/table-column'\n\n@Component({\n selector: 'seam-datatable-column-preferences',\n templateUrl: './datatable-column-preferences.component.html',\n styleUrls: ['./datatable-column-preferences.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DatatableColumnPreferencesComponent implements OnInit {\n\n _columns$: Observable<TheSeamDatatableColumn[]>\n\n _filterControl = new FormControl()\n\n constructor(\n @Inject(THESEAM_DATATABLE) private _datatable: DatatableComponent,\n ) {\n this._columns$ = combineLatest([\n this._datatable.columns$ ?? of([]),\n observeControlValue<string>(this._filterControl)\n ]).pipe(\n map(([ columns, filter ]) => {\n const _filter = (filter || '').trim().toLowerCase()\n return columns.filter(c => `${(c.name || c.prop || '')}`.toLowerCase().indexOf(_filter) !== -1)\n }),\n map(cols => cols.sort((a, b) => a.prop === b.prop ? 0 : (<string>a.prop) > (<string>b.prop) ? 1 : -1))\n )\n }\n\n ngOnInit() { }\n\n _onChange(event: any, col: TheSeamDatatableColumn) {\n // TODO: Figure out the right way to update this value. If it is set by\n // column component input this may not work right.\n const columns = this._datatable.columns || []\n const column = columns.find(c => c.prop === col.prop)\n if (column) {\n column.hidden = !event.checked\n this._datatable.columns = [ ...columns ]\n }\n }\n\n _onCloseClick() {\n // TODO: Implement when PopoverRef is implemented.\n }\n\n}\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core'\n\nimport { faColumns } from '@fortawesome/free-solid-svg-icons'\n\n@Component({\n selector: 'seam-datatable-column-preferences-button',\n templateUrl: './datatable-column-preferences-button.component.html',\n styleUrls: ['./datatable-column-preferences-button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DatatableColumnPreferencesButtonComponent implements OnInit {\n\n icon = faColumns\n\n constructor() { }\n\n ngOnInit() { }\n\n}\n","import { ChangeDetectionStrategy, Component, Inject, Input, isDevMode, OnInit, Optional } from '@angular/core'\nimport { of } from 'rxjs'\nimport { catchError, concatMap, map, take, tap } from 'rxjs/operators'\n\nimport { faFileDownload } from '@fortawesome/free-solid-svg-icons'\nimport { ToastrService } from 'ngx-toastr'\n\nimport { IDataExporter } from '@theseam/ui-common/data-exporter'\nimport { DynamicValueHelperService, THESEAM_DYNAMIC_DATA } from '@theseam/ui-common/dynamic'\nimport { TheSeamLoadingOverlayService } from '@theseam/ui-common/loading'\nimport { hasProperty } from '@theseam/ui-common/utils'\n\nimport { DatatableComponent, THESEAM_DATATABLE } from '../datatable/datatable.component'\nimport { TheSeamDatatableColumn } from '../models/table-column'\n\nexport interface IDatatableExportButtonData {\n exporters: IDataExporter[]\n}\n\n@Component({\n selector: 'seam-datatable-export-button',\n templateUrl: './datatable-export-button.component.html',\n styleUrls: ['./datatable-export-button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DatatableExportButtonComponent implements OnInit {\n\n icon = faFileDownload\n\n @Input() exporters: IDataExporter[] | undefined | null\n\n get disabled() {\n return !(this.exporters && this.exporters.length > 0)\n }\n\n constructor(\n @Inject(THESEAM_DATATABLE) private readonly _datatable: DatatableComponent,\n private readonly _toastr: ToastrService,\n private readonly _loading: TheSeamLoadingOverlayService,\n private readonly _valueHelper: DynamicValueHelperService,\n @Optional() @Inject(THESEAM_DYNAMIC_DATA) private readonly _data?: IDatatableExportButtonData\n ) {\n if (this._data && this._data.exporters) {\n this.exporters = this._data.exporters\n }\n }\n\n ngOnInit() { }\n\n _onExporterClicked(exporter: IDataExporter) {\n if (!exporter.export) {\n const msg = isDevMode()\n ? `Exporter '${exporter.name}' is missing an export method.`\n : `${exporter.label} export is not available.`\n this._toastr.error(msg, 'Data Export')\n }\n\n const export$ = this._datatable.rows$\n .pipe(\n take(1),\n map(rows => this._mapExportData(this._datatable.columns || [], rows)),\n concatMap(data => exporter.export(data)),\n catchError(err => {\n console.error(err)\n return of(false)\n }),\n tap(success => {\n if (success) {\n this._toastr.success(`${exporter.label} export complete.`, 'Data Export')\n } else {\n this._toastr.success(`${exporter.label} export failed.`, 'Data Export')\n }\n })\n )\n\n this._loading.while(export$).subscribe()\n }\n\n private _mapExportData(columns: TheSeamDatatableColumn[], rows: any[]) {\n const data: any[] = []\n\n for (const row of rows) {\n const newRow: any = {}\n\n for (const col of columns) {\n if (!col.exportIgnore) {\n const colName = col.exportHeader || col.name || col.prop\n if (colName) {\n newRow[colName] = this._rowValue(col, row)\n }\n }\n }\n\n data.push(newRow)\n }\n\n return data\n }\n\n private _rowValue(column: TheSeamDatatableColumn, row: any) {\n if (hasProperty(column as any, 'exportValue')) {\n const context = { value: column.prop ? row[column.prop] : undefined, row }\n return this._valueHelper.evalSync((column as any).exportValue, context)\n }\n\n const colProp = column.prop\n if (colProp) {\n return row[colProp]\n }\n return undefined\n }\n\n}\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core'\n\n@Component({\n selector: 'seam-datatable-menu-bar-column-center',\n templateUrl: './datatable-menu-bar-column-center.component.html',\n styleUrls: ['./datatable-menu-bar-column-center.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DatatableMenuBarColumnCenterComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core'\n\n@Component({\n selector: 'seam-datatable-menu-bar-column-left',\n templateUrl: './datatable-menu-bar-column-left.component.html',\n styleUrls: ['./datatable-menu-bar-column-left.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DatatableMenuBarColumnLeftComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core'\n\n@Component({\n selector: 'seam-datatable-menu-bar-column-right',\n templateUrl: './datatable-menu-bar-column-right.component.html',\n styleUrls: ['./datatable-menu-bar-column-right.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DatatableMenuBarColumnRightComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core'\n\n@Component({\n selector: 'seam-datatable-menu-bar-row',\n templateUrl: './datatable-menu-bar-row.component.html',\n styleUrls: ['./datatable-menu-bar-row.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DatatableMenuBarRowComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import { InjectionToken } from '@angular/core'\n\nimport { MenubarItemData } from '../models/menubar-item-data'\n\nexport const THESEAM_MENUBAR_ITEM_DATA = new InjectionToken<MenubarItemData>('MenubarItemData')\n","import { ChangeDetectionStrategy, Component, Inject, Input, OnInit, Optional } from '@angular/core'\n\nimport { hasProperty, notNullOrUndefined } from '@theseam/ui-common/utils'\nimport { DatatableMenuBarComponent } from './../datatable-menu-bar/datatable-menu-bar.component'\nimport { MenubarItemData } from './../models/menubar-item-data'\nimport { THESEAM_MENUBAR_ITEM_DATA } from './../tokens/menubar-item-data'\n\n\n@Component({\n selector: 'seam-datatable-menu-bar-text',\n templateUrl: './datatable-menu-bar-text.component.html',\n styleUrls: ['./datatable-menu-bar-text.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DatatableMenuBarTextComponent implements OnInit {\n\n @Input()\n public value: string | undefined | null\n\n constructor(\n private _menuBar: DatatableMenuBarComponent,\n @Optional() @Inject(THESEAM_MENUBAR_ITEM_DATA) private _data: MenubarItemData | null\n ) {\n if (notNullOrUndefined(this._data)) {\n if (hasProperty(this._data, 'value')) {\n this.value = this._data.value\n }\n }\n }\n\n ngOnInit(): void { }\n\n}\n","// import { QueryParamsHandling } from '@angular/router/src/config'\nimport { ComponentType } from '@angular/cdk/portal'\nimport { HttpClient, HttpHeaders } from '@angular/common/http'\nimport { Component, Directive, EventEmitter, HostBinding, Input, isDevMode, OnDestroy, OnInit, Optional, Output } from '@angular/core'\nimport { Subscription } from 'rxjs'\n\n// import jexl from 'jexl'\n\nimport { TheSeamDynamicComponentLoader } from '@theseam/ui-common/dynamic-component-loader'\nimport { Modal } from '@theseam/ui-common/modal'\n\n//\n// TODO: Move the dynamic datatable logic out of this component when refactoring.\n//\n\n// export interface IActionMenuItemEndpointConfig {\n// /**\n// * Api endpoint.\n// */\n// endpoint?: string\n\n// endpointExpr?: string\n\n// method: 'GET' | 'POST' | 'PATCH' | 'DELETE'\n\n// bodyExpr?: string\n\n// paramsExpr?: string\n// }\n\n// export interface IActionMenuItemModalConfig {\n// component: ComponentType<{}> | string\n// }\n\nexport interface TheSeamDatatableRow {\n [prop: string]: any\n}\n\n@Directive({\n selector: '[seamDatatableActionMenuItem]'\n})\nexport class DatatableActionMenuItemDirective implements OnInit, OnDestroy {\n\n @HostBinding('class.list-group-item') _listGroupItem = true\n @HostBinding('class.list-group-item-action') _listGroupItemAction = true\n\n @Input() label: string | undefined | null\n\n // tslint:disable-next-line:no-input-rename\n @Input('attr.href') href: string | undefined | null\n @Input() target: string | undefined | null\n\n // Allow routerLink inputs on menu item\n @Input() queryParams: { [k: string]: any } | undefined | null\n @Input() fragment: string | undefined | null\n // @Input() queryParamsHandling: QueryParamsHandling\n @Input() queryParamsHandling: any | undefined | null\n @Input() preserveFragment: boolean | undefined | null\n @Input() skipLocationChange: boolean | undefined | null\n @Input() replaceUrl: boolean | undefined | null\n @Input() state: {[k: string]: any} | undefined | null\n @Input() routerLink: string | any[] | undefined | null\n\n @Input() confirmDialog: any\n\n // @Input()\n // get endpointConfig(): IActionMenuItemEndpointConfig { return this._endpointConfig }\n // set endpointConfig(value: IActionMenuItemEndpointConfig) {\n // this._endpointConfig = value\n // if (value) {\n // // TODO: Handle this in a way that can be canceled.\n // this._endpointConfigSub = this.click\n // .pipe(untilDestroyed(this))\n // .subscribe(e => this._handleEndpointAction())\n // } else {\n // if (this._endpointConfigSub) {\n // this._endpointConfigSub.unsubscribe()\n // }\n // }\n // }\n // private _endpointConfig: IActionMenuItemEndpointConfig\n // private _endpointConfigSub: Subscription\n\n // @Input()\n // get modalConfig(): IActionMenuItemModalConfig { return this._modalConfig }\n // set modalConfig(value: IActionMenuItemModalConfig) {\n // this._modalConfig = value\n // if (value) {\n // // TODO: Handle this in a way that can be canceled.\n // this._modalConfigSub = this.click\n // .pipe(untilDestroyed(this))\n // .subscribe(e => this._handleModalAction())\n // } else {\n // if (this._modalConfigSub) {\n // this._modalConfigSub.unsubscribe()\n // }\n // }\n // }\n // private _modalConfig: IActionMenuItemModalConfig\n // private _modalConfigSub: Subscription\n\n @Input() row: TheSeamDatatableRow | undefined | null\n\n @Output() click = new EventEmitter<any>()\n\n constructor(\n private readonly _modal: Modal,\n private readonly _dynamicComponentLoader: TheSeamDynamicComponentLoader,\n @Optional() private readonly _http: HttpClient,\n ) { }\n\n ngOnInit() { }\n\n ngOnDestroy() { }\n\n // private _handleEndpointAction() {\n // if (!this._http) {\n // if (isDevMode()) {\n // console.warn(`[DatatableActionMenuItemDirective] Endpoint actions require \\`HttpClientModule\\` to be imported.`)\n // }\n // return\n // }\n\n // // console.log('_handleEndpointAction')\n // // TODO: This should probably be done through a provider that uses the api.\n // if (isDevMode()) {\n // console.warn(`[DatatableActionMenuItemDirective] '_handleEndpointAction()' is not ready for production yet.`)\n // } else {\n // // I don't expect this to be attempted in prod before completed, so I am just adding a console warning.\n // console.warn(`Unable to complete request. Contact support for assistance.`)\n // }\n\n // let endpoint = ''\n // const method = this._endpointConfig.method\n // const context = { row: this.row }\n // // console.log('context', context)\n\n // if (this._endpointConfig.endpoint) {\n // endpoint = this._endpointConfig.endpoint\n // }\n\n // if (this._endpointConfig.endpointExpr) {\n // // TODO: Use async jexl.\n // endpoint = jexl.evalSync(this._endpointConfig.endpointExpr, context)\n // }\n\n // const url = `http://localhost:57648/api/${endpoint}`\n\n // const options: any = {}\n // if (this._endpointConfig.bodyExpr) {\n // // TODO: Use async jexl.\n // options.body = jexl.evalSync(this._endpointConfig.bodyExpr, context)\n // }\n // if (this._endpointConfig.paramsExpr) {\n // // TODO: Use async jexl.\n // options.params = jexl.evalSync(this._endpointConfig.paramsExpr, context)\n // }\n\n // const headers = new HttpHeaders({\n // 'Content-Type': 'application/json'\n // })\n\n // this._http.request<any>(method, url, { ...options, headers })\n // .subscribe()\n // // .subscribe(v => console.log('v', v))\n // }\n\n // private _handleModalAction() {\n // if (typeof this._modalConfig.component === 'string') {\n // this._dynamicComponentLoader.getComponentFactory(this._modalConfig.component)\n // .subscribe(componentFactory => {\n // const factoryResolver = (<any /* ComponentFactoryBoundToModule */>componentFactory).ngModule.componentFactoryResolver\n // this._modal.openFromComponent(componentFactory.componentType, undefined, factoryResolver)\n // })\n // } else {\n // this._modal.openFromComponent(this._modalConfig.component)\n // }\n // }\n\n}\n","import { ESCAPE } from '@angular/cdk/keycodes'\nimport { ConnectionPositionPair, Overlay, OverlayRef, PositionStrategy } from '@angular/cdk/overlay'\nimport { TemplatePortal } from '@angular/cdk/portal'\nimport { Directive, ElementRef, HostListener, Input, TemplateRef, ViewContainerRef } from '@angular/core'\n\n@Directive({\n selector: '[seamDatatableActionMenuToggle]',\n exportAs: 'seamDatatableActionMenuToggle'\n})\nexport class DatatableActionMenuToggleDirective {\n\n @Input() seamDatatableActionMenuToggle: TemplateRef<HTMLElement> | undefined | null\n\n private _active = false\n private _overlayRef?: OverlayRef\n private _actionDown = false\n\n @HostListener('document:keydown', [ '$event' ])\n _onKeydown(event: any) {\n if (event.keyCode === ESCAPE) {\n this.disable()\n }\n }\n\n @HostListener('click', [ '$event' ])\n _onClick(event: any) {\n this.toggle()\n }\n\n @HostListener('mousedown', [ '$event' ]) _mouseDown(event: any) { this.onInputDown(event) }\n @HostListener('pointerdown', [ '$event' ]) _pointerDown(event: any) { this.onInputDown(event) }\n\n @HostListener('mouseup', [ '$event' ]) _mouseUp(event: any) { this.onInputUp(event) }\n @HostListener('pointerup', [ '$event' ]) _pointerUp(event: any) { this.onInputUp(event) }\n\n constructor(\n private _elementRef: ElementRef<HTMLElement>,\n private _viewContainerRef: ViewContainerRef,\n private _overlay: Overlay,\n ) { }\n\n public get active(): boolean { return this._active }\n\n public toggle() {\n if (this._active) {\n this.disable()\n } else {\n this.enable()\n }\n }\n\n public enable() {\n if (this.active) { return }\n if (!this.seamDatatableActionMenuToggle) { return }\n\n this._overlayRef = this._overlay.create({\n hasBackdrop: false,\n positionStrategy: this.getOverlayPosition(this._elementRef.nativeElement),\n })\n\n this._overlayRef.attach(new TemplatePortal(this.seamDatatableActionMenuToggle, this._viewContainerRef))\n\n this._active = true\n }\n\n public disable() {\n if (!this.active) { return }\n\n if (this._overlayRef?.hasAttached()) {\n this._overlayRef.detach()\n }\n\n this._active = false\n }\n\n private getOverlayPosition(origin: HTMLElement): PositionStrategy {\n const positionStrategy = this._overlay.position()\n .flexibleConnectedTo(origin)\n .withPositions(this.getPositions())\n .withFlexibleDimensions(false)\n .withPush(false)\n\n return positionStrategy\n }\n\n private getPositions(): ConnectionPositionPair[] {\n return [\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom',\n },\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n },\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n },\n ]\n }\n\n onFocusChangeOverlay(event: any) {\n if (event === null) {\n if (!this._actionDown) {\n // this.disable()\n }\n }\n }\n\n onInputDown(event: any) {\n this._actionDown = true\n }\n\n onInputUp(event: any) {\n this._actionDown = false\n }\n\n}\n","import { CollectionViewer } from '@angular/cdk/collections'\nimport { combineLatest, Observable } from 'rxjs'\n\nimport { DatatableDataSource } from './datatable-data-source'\n\n\nexport class DatatableGqlDataSource<TRow> extends DatatableDataSource<TRow> {\n\n connect(collectionViewer: CollectionViewer): Observable<readonly TRow[]> {\n throw new Error('Method not implemented.')\n\n // return combineLatest([\n // this.sorts$,\n // this.filterStates$,\n // this.page$\n // ]).pipe()\n }\n\n disconnect(collectionViewer: CollectionViewer): void {\n throw new Error('Method not implemented.')\n }\n\n\n}\n","import { Injectable, NgZone } from '@angular/core'\n\nimport { OverlayScrollbarsService } from '@theseam/ui-common/scrollbar'\n\n@Injectable()\nexport class TheSeamDatatableScrollbarHelperService {\n\n width = 0\n\n /**\n * Animates programmatic scrolling, such as switching pages.\n *\n * NOTE: Animating the scrolling works, but the datatable may need changes\n * before this is enabled, because it seems a little stuttery when it moves.\n */\n animatedScrolling = false\n animatedScrollingTime = 250\n\n constructor(\n private _ngZone: NgZone,\n private _scrollbars: OverlayScrollbarsService\n ) { }\n\n onInitScroller(scroller: any): void {\n this._scrollbars.initializeInstance(scroller.parentElement, {\n callbacks: {\n onScroll: (e) => {\n this._ngZone.run(() => {\n scroller.onScrolled(e)\n })\n }\n }\n })\n }\n\n onDestroyScroller(scroller: any): void {\n this._scrollbars.destroyInstance(scroller.parentElement)\n }\n\n setOffset(scroller: any, offsetY: number): void {\n this._ngZone.runOutsideAngular(() => {\n if (this.animatedScrolling) {\n this._scrollbars.getInstance(scroller.parentElement)\n .scroll({ y: offsetY }, this.animatedScrollingTime)\n } else {\n this._scrollbars.getInstance(scroller.parentElement)\n .scroll({ y: offsetY })\n }\n })\n }\n}\n","import { A11yModule } from '@angular/cdk/a11y'\nimport { OverlayModule } from '@angular/cdk/overlay'\nimport { PortalModule } from '@angular/cdk/portal'\nimport { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\nimport { ReactiveFormsModule } from '@angular/forms'\nimport { RouterModule } from '@angular/router'\n\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome'\nimport { NgxDatatableModule, ScrollbarHelper } from '@marklb/ngx-datatable'\nimport { ToastrModule } from 'ngx-toastr'\n\nimport { TheSeamButtonsModule } from '@theseam/ui-common/buttons'\nimport { TheSeamCheckboxModule } from '@theseam/ui-common/checkbox'\nimport { TheSeamConfirmDialogModule } from '@theseam/ui-common/confirm-dialog'\nimport { TheSeamFormFieldModule } from '@theseam/ui-common/form-field'\nimport { TheSeamIconModule } from '@theseam/ui-common/icon'\nimport { TheSeamLoadingModule } from '@theseam/ui-common/loading'\nimport { TheSeamMenuModule } from '@theseam/ui-common/menu'\nimport { TheSeamPopoverModule } from '@theseam/ui-common/popover'\nimport { TheSeamSharedModule } from '@theseam/ui-common/shared'\nimport { TheSeamTableCellTypeModule } from '@theseam/ui-common/table-cell-type'\n\nimport { DatatableActionMenuItemComponent } from './datatable-action-menu-item/datatable-action-menu-item.component'\nimport { DatatableActionMenuComponent } from './datatable-action-menu/datatable-action-menu.component'\nimport { DatatableColumnPreferencesButtonComponent } from './datatable-column-preferences-button/datatable-column-preferences-button.component' // tslint:disable-line: max-line-length\nimport { DatatableColumnPreferencesComponent } from './datatable-column-preferences/datatable-column-preferences.component'\nimport { DatatableColumnComponent } from './datatable-column/datatable-column.component'\nimport { DatatableExportButtonComponent } from './datatable-export-button/datatable-export-button.component'\nimport { DatatableMenuBarColumnCenterComponent } from './datatable-menu-bar-column-center/datatable-menu-bar-column-center.component'\nimport { DatatableMenuBarColumnLeftComponent } from './datatable-menu-bar-column-left/datatable-menu-bar-column-left.component'\nimport { DatatableMenuBarColumnRightComponent } from './datatable-menu-bar-column-right/datatable-menu-bar-column-right.component'\nimport { DatatableMenuBarRowComponent } from './datatable-menu-bar-row/datatable-menu-bar-row.component'\nimport { DatatableMenuBarTextComponent } from './datatable-menu-bar-text/datatable-menu-bar-text.component'\nimport { DatatableMenuBarComponent } from './datatable-menu-bar/datatable-menu-bar.component'\nimport { DatatableRowDetailTplDirective } from './datatable-row-detail/datatable-row-detail-tpl.directive'\nimport { TheSeamDatatableRowDetailDirective } from './datatable-row-detail/datatable-row-detail.directive'\nimport { DatatableComponent } from './datatable/datatable.component'\nimport { DatatableActionMenuItemDirective } from './directives/datatable-action-menu-item.directive'\nimport { DatatableActionMenuToggleDirective } from './directives/datatable-action-menu-toggle.directive'\nimport { DatatableCellTplDirective } from './directives/datatable-cell-tpl.directive'\nimport { DatatableFilterDirective } from './directives/datatable-filter.directive'\nimport { DatatableRowActionItemDirective } from './directives/datatable-row-action-item.directive'\nimport { TheSeamDatatableScrollbarHelperService } from './services/datatable-scrollbar-helper.service'\n\n@NgModule({\n declarations: [\n DatatableComponent,\n DatatableCellTplDirective,\n DatatableColumnComponent,\n DatatableActionMenuComponent,\n DatatableActionMenuToggleDirective,\n DatatableActionMenuItemComponent,\n DatatableMenuBarComponent,\n DatatableFilterDirective,\n DatatableRowActionItemDirective,\n DatatableExportButtonComponent,\n TheSeamDatatableRowDetailDirective,\n DatatableRowDetailTplDirective,\n DatatableColumnPreferencesComponent,\n DatatableColumnPreferencesButtonComponent,\n DatatableActionMenuItemDirective,\n DatatableMenuBarRowComponent,\n DatatableMenuBarColumnLeftComponent,\n DatatableMenuBarColumnCenterComponent,\n DatatableMenuBarColumnRightComponent,\n DatatableMenuBarTextComponent,\n ],\n imports: [\n CommonModule,\n NgxDatatableModule,\n FontAwesomeModule,\n OverlayModule,\n A11yModule,\n TheSeamSharedModule,\n RouterModule,\n TheSeamMenuModule,\n TheSeamButtonsModule,\n TheSeamIconModule,\n ToastrModule,\n TheSeamLoadingModule,\n PortalModule,\n TheSeamConfirmDialogModule,\n TheSeamPopoverModule,\n TheSeamCheckboxModule,\n TheSeamFormFieldModule,\n ReactiveFormsModule,\n TheSeamTableCellTypeModule\n ],\n exports: [\n DatatableComponent,\n DatatableCellTplDirective,\n DatatableColumnComponent,\n DatatableActionMenuComponent,\n DatatableActionMenuItemComponent,\n DatatableMenuBarComponent,\n DatatableFilterDirective,\n DatatableRowActionItemDirective,\n DatatableExportButtonComponent,\n TheSeamDatatableRowDetailDirective,\n DatatableRowDetailTplDirective,\n DatatableColumnPreferencesComponent,\n DatatableColumnPreferencesButtonComponent,\n DatatableActionMenuItemDirective,\n DatatableMenuBarRowComponent,\n DatatableMenuBarColumnLeftComponent,\n DatatableMenuBarColumnCenterComponent,\n DatatableMenuBarColumnRightComponent,\n DatatableMenuBarTextComponent\n ],\n providers: [\n { provide: ScrollbarHelper, useClass: TheSeamDatatableScrollbarHelperService }\n ],\n entryComponents: [\n DatatableColumnPreferencesComponent,\n DatatableExportButtonComponent,\n DatatableMenuBarTextComponent\n ]\n})\nexport class TheSeamDatatableModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {THESEAM_DATATABLE_ACCESSOR as ɵa} from './tokens/datatable-accessor';"],"names":["BehaviorSubject","switchMap","of","map","startWith","DataSource","EventEmitter","Component","ChangeDetectionStrategy","Input","Output","faEllipsisH","SeamConfirmDialogService","Router","ContentChildren","Directive","TemplateRef","Subject","Injectable","ContentChild","Self","Inject","THESEAM_DATA_FILTER","THESEAM_DATA_FILTER_CONTAINER","forwardRef","notNullOrUndefined","InjectionToken","hasProperty","isDevMode","shareReplay","take","tap","Optional","setColumnDefaults","faChevronDown","faChevronRight","faSpinner","ColumnMode","SortType","Subscription","composeDataFilterStates","isDataSource","isObservable","concatMap","composeDataFilters","takeUntil","coerceArray","combineLatest","translateTemplates","trigger","transition","style","animate","KeyValueDiffers","ViewChild","NgxDatatableComponent","ElementRef","DatatableRowDetailDirective","InputBoolean","InputNumber","FormControl","observeControlValue","faColumns","faFileDownload","catchError","ToastrService","TheSeamLoadingOverlayService","DynamicValueHelperService","THESEAM_DYNAMIC_DATA","Modal","TheSeamDynamicComponentLoader","HttpClient","HostBinding","ESCAPE","TemplatePortal","ViewContainerRef","Overlay","HostListener","NgZone","OverlayScrollbarsService","NgModule","CommonModule","NgxDatatableModule","FontAwesomeModule","OverlayModule","A11yModule","TheSeamSharedModule","RouterModule","TheSeamMenuModule","TheSeamButtonsModule","TheSeamIconModule","ToastrModule","TheSeamLoadingModule","PortalModule","TheSeamConfirmDialogModule","TheSeamPopoverModule","TheSeamCheckboxModule","TheSeamFormFieldModule","ReactiveFormsModule","TheSeamTableCellTypeModule","ScrollbarHelper"],"mappings":"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"}
1
+ {"version":3,"file":"theseam-ui-common-datatable.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../projects/ui-common/datatable/models/datatable-data-source.ts","../../../projects/ui-common/datatable/datatable-action-menu-item/datatable-action-menu-item.component.ts","../../../projects/ui-common/datatable/datatable-action-menu/datatable-action-menu.component.ts","../../../projects/ui-common/datatable/directives/datatable-cell-tpl.directive.ts","../../../projects/ui-common/datatable/services/datatable-column-changes.service.ts","../../../projects/ui-common/datatable/datatable-column/datatable-column.component.ts","../../../projects/ui-common/datatable/datatable-footer/datatable-footer-tpl.directive.ts","../../../projects/ui-common/datatable/datatable-footer/datatable-footer.directive.ts","../../../projects/ui-common/datatable/directives/datatable-filter.directive.ts","../../../projects/ui-common/datatable/datatable-menu-bar/datatable-menu-bar.component.ts","../../../projects/ui-common/datatable/datatable-row-detail/datatable-row-detail-tpl.directive.ts","../../../projects/ui-common/datatable/datatable-row-detail/datatable-row-detail.directive.ts","../../../projects/ui-common/datatable/directives/datatable-row-action-item.directive.ts","../../../projects/ui-common/datatable/tokens/datatable-preferences-accessor.ts","../../../projects/ui-common/datatable/utils/with-stored-column-info.ts","../../../projects/ui-common/datatable/services/datatable-preferences.service.ts","../../../projects/ui-common/datatable/tokens/datatable-accessor.ts","../../../projects/ui-common/datatable/datatable/datatable.component.ts","../../../projects/ui-common/datatable/datatable-column-preferences/datatable-column-preferences.component.ts","../../../projects/ui-common/datatable/datatable-column-preferences-button/datatable-column-preferences-button.component.ts","../../../projects/ui-common/datatable/datatable-export-button/datatable-export-button.component.ts","../../../projects/ui-common/datatable/datatable-menu-bar-column-center/datatable-menu-bar-column-center.component.ts","../../../projects/ui-common/datatable/datatable-menu-bar-column-left/datatable-menu-bar-column-left.component.ts","../../../projects/ui-common/datatable/datatable-menu-bar-column-right/datatable-menu-bar-column-right.component.ts","../../../projects/ui-common/datatable/datatable-menu-bar-row/datatable-menu-bar-row.component.ts","../../../projects/ui-common/datatable/tokens/menubar-item-data.ts","../../../projects/ui-common/datatable/datatable-menu-bar-text/datatable-menu-bar-text.component.ts","../../../projects/ui-common/datatable/directives/datatable-action-menu-item.directive.ts","../../../projects/ui-common/datatable/directives/datatable-action-menu-toggle.directive.ts","../../../projects/ui-common/datatable/models/datatable-gql-data-source.ts","../../../projects/ui-common/datatable/services/datatable-scrollbar-helper.service.ts","../../../projects/ui-common/datatable/datatable.module.ts","../../../projects/ui-common/datatable/theseam-ui-common-datatable.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 (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\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 var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(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, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, 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\n/** @deprecated */\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\n/** @deprecated */\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 __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\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\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\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 (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, 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, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { DataSource } from '@angular/cdk/collections'\nimport { BehaviorSubject, Observable, of } from 'rxjs'\nimport { map, startWith, switchMap } from 'rxjs/operators'\n\nimport { DataFilterState } from '@theseam/ui-common/data-filters'\n\nimport { TheSeamDatatableAccessor } from './datatable-accessor'\nimport { TheSeamPageInfo } from './page-info'\nimport { SortItem } from './sort-item'\n\nexport abstract class DatatableDataSource<TRow> extends DataSource<TRow> {\n\n private readonly _datatableSubject = new BehaviorSubject<TheSeamDatatableAccessor | undefined>(undefined)\n\n public readonly sorts$: Observable<SortItem[]>\n public readonly filterStates$: Observable<DataFilterState[]>\n public readonly page$: Observable<TheSeamPageInfo>\n\n constructor() {\n super()\n\n this.sorts$ = this._datatableSubject.pipe(\n switchMap(_datatable => {\n if (!_datatable) {\n return of([])\n }\n\n return _datatable.sort.pipe(\n map(v => v.sorts),\n startWith(_datatable.sorts)\n )\n })\n )\n\n this.filterStates$ = this._datatableSubject.pipe(\n switchMap(_datatable => {\n if (!_datatable) {\n return of([])\n }\n\n return _datatable.filterStates\n })\n )\n\n this.page$ = this._datatableSubject.pipe(\n switchMap(_datatable => {\n if (!_datatable) {\n return of({\n offset: 0,\n pageSize: 0,\n limit: undefined,\n count: 0\n })\n }\n\n return _datatable.page.pipe(\n startWith(_datatable.pageInfo)\n )\n })\n )\n }\n\n // connect(): Observable<readonly TRow[]> {\n // return this.\n // }\n\n // disconnect(): void {\n // throw new Error('Method not implemented.')\n // }\n\n public setDatatableAccessor(accessor: TheSeamDatatableAccessor): void {\n this._datatableSubject.next(accessor)\n }\n\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output\n} from '@angular/core'\n\nimport { ThemeTypes } from '@theseam/ui-common/models'\n\n@Component({\n selector: 'seam-datatable-action-menu-item',\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DatatableActionMenuItemComponent {\n\n @Input() label: string | undefined | null\n\n // tslint:disable-next-line:no-input-rename\n @Input('attr.href') href: string | undefined | null\n @Input() target: string | undefined | null\n\n // Allow routerLink inputs on menu item\n @Input() queryParams: {[k: string]: any} | undefined | null\n @Input() fragment: string | undefined | null\n @Input() queryParamsHandling: any\n @Input() preserveFragment: boolean| undefined | null\n @Input() skipLocationChange: boolean| undefined | null\n @Input() replaceUrl: boolean| undefined | null\n @Input() state: {[k: string]: any} | undefined | null\n @Input() routerLink: string | any[] | undefined | null\n\n @Input() confirmDialog: { message?: string, alert?: string | { message: string, type: ThemeTypes } } | undefined | null\n\n @Input() disabled: boolean | undefined | null\n\n @Output() readonly click = new EventEmitter<any>()\n\n}\n","import { ConnectionPositionPair } from '@angular/cdk/overlay'\nimport { Component, ContentChildren, QueryList } from '@angular/core'\nimport { NavigationExtras, Router } from '@angular/router'\n\nimport { faEllipsisH } from '@fortawesome/free-solid-svg-icons'\n\nimport { SeamConfirmDialogService } from '@theseam/ui-common/confirm-dialog'\n\nimport { DatatableActionMenuItemComponent } from '../datatable-action-menu-item/datatable-action-menu-item.component'\n\n@Component({\n selector: 'seam-datatable-action-menu',\n templateUrl: './datatable-action-menu.component.html',\n styleUrls: ['./datatable-action-menu.component.scss']\n})\nexport class DatatableActionMenuComponent {\n\n faEllipsisH = faEllipsisH\n\n @ContentChildren(DatatableActionMenuItemComponent) items?: QueryList<DatatableActionMenuItemComponent>\n\n /** @ignore */\n _actionMenuPositions: ConnectionPositionPair[] = [\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom',\n },\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n },\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n },\n ]\n\n constructor(\n private _confirmDialog: SeamConfirmDialogService,\n private _router: Router\n ) { }\n\n activateItem(event: any, item: DatatableActionMenuItemComponent) {\n if (item.confirmDialog) {\n this._confirmDialog.open(item.confirmDialog.message, item.confirmDialog.alert)\n .afterClosed()\n .subscribe(v => {\n if (v === 'confirm') {\n item.click.emit(event)\n if (item.href) {\n const win = window.open(item.href, item.target || undefined)\n // TODO: Consider if always setting opener to null is to restrictive\n // if (win && item.target && item.target.toLowerCase() === '_blank') {\n // win.opener = null\n // }\n } else {\n const extras: NavigationExtras = {}\n if (item.queryParams) { extras.queryParams = item.queryParams }\n if (item.fragment) { extras.fragment = item.fragment }\n if (item.queryParamsHandling) { extras.queryParamsHandling = item.queryParamsHandling }\n if (item.preserveFragment) { extras.preserveFragment = item.preserveFragment }\n if (item.skipLocationChange) { extras.skipLocationChange = item.skipLocationChange }\n if (item.replaceUrl) { extras.replaceUrl = item.replaceUrl }\n if (item.state) { extras.state = item.state }\n\n const commands = Array.isArray(item.routerLink) ? item.routerLink : [item.routerLink]\n this._router.navigate(commands, extras)\n }\n }\n })\n } else {\n item.click.emit(event)\n }\n }\n\n}\n","import { Directive, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[seamDatatableCellTpl]'\n})\nexport class DatatableCellTplDirective {\n\n constructor(public template: TemplateRef<any>) { }\n\n}\n","import { Injectable } from '@angular/core'\nimport { Observable, Subject } from 'rxjs'\n\n@Injectable()\nexport class DatatableColumnChangesService {\n\n private columnInputChanges = new Subject<undefined>()\n\n get columnInputChanges$(): Observable<undefined> {\n return this.columnInputChanges.asObservable()\n }\n\n onInputChange(): void {\n this.columnInputChanges.next(undefined)\n }\n\n}\n","import { Component, ContentChild, Input, OnChanges, OnInit, PipeTransform, SimpleChanges, TemplateRef } from '@angular/core'\n\nimport { ColumnChangesService } from '@marklb/ngx-datatable'\n\nimport { DatatableCellTplDirective } from '../directives/datatable-cell-tpl.directive'\nimport { DatatableColumnChangesService } from '../services/datatable-column-changes.service'\n\n// HACK: Union type prevents the not found warning\ntype _PipeTransform = PipeTransform | PipeTransform\n\n// TODO: The column component should implement `ITheSeamDatatableColumn`, since\n// providing some properties by input and some by template could be confusing.\n\n@Component({\n selector: 'seam-datatable-column',\n templateUrl: './datatable-column.component.html',\n styleUrls: ['./datatable-column.component.scss']\n})\nexport class DatatableColumnComponent implements OnInit, OnChanges {\n\n @Input() name: string | undefined | null\n @Input() prop: string | number | undefined | null\n\n @Input() flexGrow: number | undefined | null\n @Input() minWidth: number | undefined | null\n @Input() maxWidth: number | undefined | null\n @Input() width: number | undefined | null\n\n @Input() resizeable: boolean | undefined | null\n @Input() sortable: boolean | undefined | null\n @Input() draggable: boolean | undefined | null\n\n @Input() canAutoResize: boolean | undefined | null\n\n @Input() comparator: ((valueA: any, valueB: any, rowA?: any, rowB?: any, sortDirection?: 'asc' | 'desc') => -1 | 0 | 1) | undefined | null\n\n @Input() headerTemplate: TemplateRef<any> | undefined | null\n\n @Input() checkboxable: boolean | undefined | null\n @Input() headerCheckboxable: boolean | undefined | null\n\n @Input() headerClass: string | ((data: any) => string|any) | undefined | null\n @Input() cellClass: string | ((data: any) => string|any) | undefined | null\n\n @Input() frozenLeft: boolean | undefined | null\n @Input() frozenRight: boolean | undefined | null\n\n @Input() pipe: _PipeTransform | undefined | null\n\n @Input() isTreeColumn: boolean | undefined | null\n @Input() treeLevelIndent: number | undefined | null\n\n @Input() summaryFunc: ((cells: any[]) => any) | undefined | null\n @Input() summaryTemplate: TemplateRef<any> | undefined | null\n\n @Input() hidden: boolean | undefined | null\n\n private _isFirstChange = true\n\n @ContentChild(DatatableCellTplDirective, { static: true }) cellTplDirective?: DatatableCellTplDirective\n\n // tslint:disable-next-line: no-input-rename\n @Input('cellTemplate')\n _cellTemplateInput: TemplateRef<any> | undefined | null\n\n @ContentChild(DatatableCellTplDirective, { read: TemplateRef, static: true })\n _cellTemplateQuery?: TemplateRef<any>\n\n get cellTemplate(): TemplateRef<any> | undefined | null {\n return this._cellTemplateInput || this._cellTemplateQuery\n }\n\n // @Input('headerTemplate')\n // _headerTemplateInput: TemplateRef<any>;\n\n // @ContentChild(DataTableColumnHeaderDirective, { read: TemplateRef, static: true })\n // _headerTemplateQuery: TemplateRef<any>;\n\n // get headerTemplate(): TemplateRef<any> {\n // return this._headerTemplateInput || this._headerTemplateQuery;\n // }\n\n // @Input('treeToggleTemplate')\n // _treeToggleTemplateInput: TemplateRef<any>;\n\n // @ContentChild(DataTableColumnCellTreeToggle, { read: TemplateRef, static: true })\n // _treeToggleTemplateQuery: TemplateRef<any>;\n\n // get treeToggleTemplate(): TemplateRef<any> {\n // return this._treeToggleTemplateInput || this._treeToggleTemplateQuery;\n // }\n\n constructor(\n private _columnChangesService: DatatableColumnChangesService\n ) {}\n\n ngOnInit() { }\n\n ngOnChanges(changes: SimpleChanges) {\n if (this._isFirstChange) {\n this._isFirstChange = false\n } else {\n this._columnChangesService.onInputChange()\n }\n }\n\n public getCellDirective(): DatatableCellTplDirective | null {\n if (this.cellTplDirective) {\n return this.cellTplDirective\n }\n\n return null\n }\n\n}\n","import { Directive, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[seamDatatableFooterTpl]'\n})\nexport class DatatableFooterTplDirective {\n\n constructor(public template: TemplateRef<any>) { }\n\n}\n","import { ContentChild, Directive, Input, TemplateRef } from '@angular/core'\n\nimport { DatatableFooterTplDirective } from './datatable-footer-tpl.directive'\n\n@Directive({\n // tslint:disable-next-line: directive-selector\n selector: 'seam-datatable-footer'\n})\nexport class TheSeamDatatableFooterDirective {\n\n // tslint:disable-next-line: no-input-rename\n @Input('template')\n _templateInput: TemplateRef<any> | undefined | null\n\n @ContentChild(DatatableFooterTplDirective, { read: TemplateRef, static: true })\n _templateQuery: TemplateRef<any> | undefined | null\n\n get template(): TemplateRef<any> | undefined | null {\n return this._templateInput || this._templateQuery\n }\n\n}\n","import { Directive, Inject, Self } from '@angular/core'\n\nimport { IDataFilter, THESEAM_DATA_FILTER } from '@theseam/ui-common/data-filters'\n\n@Directive({\n selector: '[seamDatatableFilter]'\n})\nexport class DatatableFilterDirective {\n\n private _filter?: IDataFilter\n\n constructor(\n @Self() @Inject(THESEAM_DATA_FILTER) dataFilters: IDataFilter[]\n ) {\n if (dataFilters && dataFilters.length > 0) {\n this._filter = dataFilters[0]\n }\n }\n\n get filter() {\n return this._filter\n }\n\n}\n","import { AfterViewInit, Component, ContentChildren, EventEmitter, forwardRef, OnInit, QueryList } from '@angular/core'\n\nimport { IDataFilter, THESEAM_DATA_FILTER_CONTAINER } from '@theseam/ui-common/data-filters'\nimport { notNullOrUndefined } from '@theseam/ui-common/utils'\n\nimport { DatatableFilterDirective } from '../directives/datatable-filter.directive'\n\nexport const _THESEAM_DATA_FILTER_CONTAINER: any = {\n provide: THESEAM_DATA_FILTER_CONTAINER,\n // tslint:disable-next-line:no-use-before-declare\n useExisting: forwardRef(() => DatatableMenuBarComponent)\n}\n\n@Component({\n selector: 'seam-datatable-menu-bar',\n templateUrl: './datatable-menu-bar.component.html',\n styleUrls: ['./datatable-menu-bar.component.scss'],\n providers: [ _THESEAM_DATA_FILTER_CONTAINER ]\n})\nexport class DatatableMenuBarComponent implements OnInit, AfterViewInit {\n\n @ContentChildren(DatatableFilterDirective)\n get filterDirectives(): QueryList<DatatableFilterDirective> | undefined {\n return this._filterDirectives\n }\n set filterDirectives(value: QueryList<DatatableFilterDirective> | undefined) {\n this._filterDirectives = value\n this.filtersChanged.emit(this.filters())\n }\n private _filterDirectives: QueryList<DatatableFilterDirective> | undefined\n\n private _filtersArr: IDataFilter[] = []\n\n public readonly filtersChanged = new EventEmitter<IDataFilter[]>()\n\n constructor() { }\n\n ngOnInit() { }\n\n ngAfterViewInit() {\n // console.log('_filterDirectives', this._filterDirectives, this.filters())\n }\n\n public filters(): IDataFilter[] {\n const fDirectives = this._filterDirectives\n ? this._filterDirectives.map(f => f.filter).filter(notNullOrUndefined)\n : []\n\n const fArr = this._filtersArr\n .filter(f => fDirectives.findIndex(fd => fd.uid === f.uid) === -1)\n return [ ...fArr, ...fDirectives ]\n }\n\n public addFilter(dataFilter: IDataFilter): void {\n this._filtersArr.push(dataFilter)\n this.filtersChanged.emit(this.filters())\n }\n\n public removeFilter(dataFilter: IDataFilter): void {\n this._filtersArr = this._filtersArr.filter(f => f !== dataFilter)\n this.filtersChanged.emit(this.filters())\n }\n\n}\n","import { Directive, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[seamDatatableRowDetailTpl]'\n})\nexport class DatatableRowDetailTplDirective {\n\n constructor(public template: TemplateRef<any>) { }\n\n}\n","import { ContentChild, Directive, EventEmitter, Input, Output, TemplateRef } from '@angular/core'\n\nimport { DatatableRowDetailTplDirective } from './datatable-row-detail-tpl.directive'\n\n@Directive({\n // tslint:disable-next-line: directive-selector\n selector: 'seam-datatable-row-detail'\n})\nexport class TheSeamDatatableRowDetailDirective {\n\n /**\n * The detail row height is required especially\n * when virtual scroll is enabled.\n */\n @Input() rowHeight: number | ((row?: any, index?: number) => number) | undefined | null = 0\n\n // tslint:disable-next-line: no-input-rename\n @Input('template')\n _templateInput: TemplateRef<any> | undefined | null\n\n @ContentChild(DatatableRowDetailTplDirective, { read: TemplateRef, static: true })\n _templateQuery: TemplateRef<any> | undefined | null\n\n get template(): TemplateRef<any> | undefined | null {\n return this._templateInput || this._templateQuery\n }\n\n /**\n * Row detail row visbility was toggled.\n */\n // NOTE: This will trigger from the internal ngx-datatable toggle event.\n @Output() toggle: EventEmitter<any> = new EventEmitter()\n\n /**\n * Internal use for wrapper only.\n *\n * To avoid confusion with this directives output and the ngx-datatable\n * directive being wrapped, this directive emits `_toggle` stream to the\n * `ngx-datatable-row-detail` directive and emits it's `toggle` stream out to\n * this directives `toggle` stream.\n * @ignore\n */\n _toggle: EventEmitter<any> = new EventEmitter()\n\n /**\n * Toggle the expansion of the row\n */\n toggleExpandRow(row: any): void {\n this._toggle.emit({\n type: 'row',\n value: row\n })\n }\n\n /**\n * API method to expand all the rows.\n */\n expandAllRows(): void {\n this._toggle.emit({\n type: 'all',\n value: true\n })\n }\n\n /**\n * API method to collapse all the rows.\n */\n collapseAllRows(): void {\n this._toggle.emit({\n type: 'all',\n value: false\n })\n }\n\n}\n","import { Directive, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[seamDatatableRowActionItem]'\n})\nexport class DatatableRowActionItemDirective {\n\n constructor(public template: TemplateRef<any>) { }\n\n}\n","import { InjectionToken } from '@angular/core'\n\nimport { ITheSeamDatatablePreferencesAccessor } from '../models/preferences-accessor'\n\nexport const THESEAM_DATATABLE_PREFERENCES_ACCESSOR = new InjectionToken<ITheSeamDatatablePreferencesAccessor>(\n 'ITheSeamDatatablePreferencesAccessor'\n)\n","import { hasProperty } from '@theseam/ui-common/utils'\n\nimport { ITheSeamDatatablePreferencesColumn } from '../models/preferences'\nimport { TheSeamDatatableColumn } from '../models/table-column'\n\nexport function withStoredColumnInfo(\n columns: TheSeamDatatableColumn[],\n preferenceColumns: ITheSeamDatatablePreferencesColumn[]\n): TheSeamDatatableColumn[] {\n const _columns: TheSeamDatatableColumn[] = []\n for (const col of columns) {\n const storedCol = preferenceColumns.find(v => v.prop === col.prop)\n if (storedCol) {\n const _col = { ...col }\n if (hasProperty(storedCol, 'width')) { _col.width = Math.max(storedCol.width, 0) }\n _col.canAutoResize = storedCol.canAutoResize\n _columns.push(_col)\n } else {\n _columns.push(col)\n }\n }\n return _columns\n}\n","import { Inject, Injectable, isDevMode, Optional } from '@angular/core'\nimport { Observable, of, Subject } from 'rxjs'\nimport { map, shareReplay, startWith, switchMap, take, tap } from 'rxjs/operators'\n\nimport { hasProperty } from '@theseam/ui-common/utils'\nimport { ITheSeamDatatablePreferences, ITheSeamDatatablePreferencesColumn } from '../models/preferences'\nimport type { ITheSeamDatatablePreferencesAccessor } from '../models/preferences-accessor'\nimport { THESEAM_DATATABLE_PREFERENCES_ACCESSOR } from '../tokens/datatable-preferences-accessor'\nimport { withStoredColumnInfo } from '../utils/with-stored-column-info'\n\nexport interface IDatatablePreferencesMapRecord {\n observable: Observable<ITheSeamDatatablePreferences>\n refresh: Subject<void>\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DatatablePreferencesService {\n\n private readonly _tablePrefsMap = new Map<string, IDatatablePreferencesMapRecord>()\n private _pending = false\n\n public get pending() { return this._pending }\n\n constructor(\n @Optional() @Inject(THESEAM_DATATABLE_PREFERENCES_ACCESSOR) private _prefsAccessor?: ITheSeamDatatablePreferencesAccessor\n ) { }\n\n public preferences(preferenceKey: string): Observable<ITheSeamDatatablePreferences> {\n let prefs = this._tablePrefsMap.get(preferenceKey)\n if (!prefs) {\n const refreshSubject = new Subject<void>()\n prefs = {\n observable: this._createObservable(refreshSubject, preferenceKey),\n refresh: refreshSubject\n }\n this._tablePrefsMap.set(preferenceKey, prefs)\n }\n return prefs.observable\n }\n\n private _createObservable(refreshSubject: Subject<void>, prefKey: string): Observable<ITheSeamDatatablePreferences> {\n if (!this._prefsAccessor) {\n return of({})\n }\n\n const accessor = (key: string): Observable<string> =>\n this._prefsAccessor ? this._prefsAccessor.get(key) : of('{}')\n\n return refreshSubject.pipe(\n startWith({}),\n switchMap(() => accessor(prefKey).pipe(\n map(v => {\n if (!v) {\n return null\n }\n\n // TODO: Add a schema validator and migration tool to avoid parsing issues.\n try {\n return JSON.parse(v) as ITheSeamDatatablePreferences\n } catch (error) {\n if (isDevMode()) {\n console.error(error)\n }\n return null\n }\n }),\n map(v => !!v ? v : {}),\n // tap(v => console.log('preferences$', v))\n // tap(v => this._pending = false)\n )),\n shareReplay(1)\n )\n }\n\n public refresh(preferenceKey: string): void {\n const prefs = this._tablePrefsMap.get(preferenceKey)\n if (prefs) {\n this._pending = true\n prefs.refresh.next()\n }\n }\n\n // TODO: Improve this updating to be more generic, so we can quickly add\n // edits for different preference schema's.\n //\n // TODO: Decide if a send queue/merging of pending queue is needed to avoid\n // out of order updates. This shouldn't be an issue, with how fast preferences\n // will most likely be changing, but it could happen in situations, such as\n // network issues.\n public setColumnPreference(preferenceKey: string, column: ITheSeamDatatablePreferencesColumn): void {\n if (!this._prefsAccessor) {\n return\n }\n\n this._pending = true\n this.preferences(preferenceKey).pipe(\n map(prefs => {\n // Making the preferences immutable may not be necessary, but for now\n // this obj->str->obj will work as a naive clone.\n const columns = JSON.parse(JSON.stringify(prefs.columns || []))\n const _colPref = columns.find((c: any) => c.prop === column.prop)\n // console.log('has', _colPref)\n if (_colPref) {\n // console.log('hasProperty(column, \"width\"))', hasProperty(column, 'width'))\n if (hasProperty(column, 'width')) { _colPref.width = column.width }\n if (hasProperty(column, 'canAutoResize')) { _colPref.canAutoResize = column.canAutoResize }\n if (hasProperty(column, 'hidden')) { _colPref.hidden = column.hidden }\n } else {\n columns.push({ ...column })\n }\n const newPrefs: ITheSeamDatatablePreferences = { ...prefs, columns }\n return newPrefs\n }),\n // tap(v => console.log('newPrefs', v)),\n take(1),\n switchMap(newPrefs => this._prefsAccessor\n ? this._prefsAccessor.update(preferenceKey, JSON.stringify(newPrefs))\n : of(newPrefs)\n ),\n tap(() => this.refresh(preferenceKey))\n )\n .subscribe()\n }\n\n public withColumnPreferences<T>(preferenceKey: string, columns: T[]): Observable<T[]> {\n return this.preferences(preferenceKey).pipe(\n startWith({} as ITheSeamDatatablePreferences),\n map(preferences => preferences && preferences.columns\n ? withStoredColumnInfo(columns, preferences.columns) as T[]\n : columns\n )\n )\n }\n\n}\n","import { InjectionToken } from '@angular/core'\n\nimport { TheSeamDatatableAccessor } from '../models/datatable-accessor'\n\nexport const THESEAM_DATATABLE_ACCESSOR = new InjectionToken<TheSeamDatatableAccessor>(\n 'TheSeamDatatableAccessor'\n)\n","import { animate, style, transition, trigger } from '@angular/animations'\nimport { BooleanInput, coerceArray, NumberInput } from '@angular/cdk/coercion'\nimport {\n AfterContentInit, ChangeDetectionStrategy, Component, ContentChild, ContentChildren,\n ElementRef, EventEmitter, forwardRef, InjectionToken, Input, KeyValueDiffer,\n KeyValueDiffers, OnDestroy, OnInit, Output, QueryList, TemplateRef, ViewChild\n} from '@angular/core'\nimport { BehaviorSubject, combineLatest, Observable, of, Subject, Subscription } from 'rxjs'\nimport { concatMap, map, shareReplay, startWith, switchMap, takeUntil, tap } from 'rxjs/operators'\nimport { DatatableDataSource } from './../models/datatable-data-source'\n\nimport { faChevronDown, faChevronRight, faSpinner } from '@fortawesome/free-solid-svg-icons'\nimport {\n ColumnMode,\n ContextmenuType,\n DataTableColumnCellTreeToggle,\n DataTableColumnDirective,\n DataTableColumnHeaderDirective,\n DatatableComponent as NgxDatatableComponent,\n DatatableRowDetailDirective,\n setColumnDefaults,\n SortType,\n TableColumn,\n translateTemplates,\n TreeStatus\n} from '@marklb/ngx-datatable'\nimport type { SelectionType } from '@marklb/ngx-datatable'\n\nimport { InputBoolean, InputNumber } from '@theseam/ui-common/core'\nimport { composeDataFilters, composeDataFilterStates, DataFilterState, IDataFilter } from '@theseam/ui-common/data-filters'\nimport { IElementResizedEvent } from '@theseam/ui-common/shared'\nimport { hasProperty, notNullOrUndefined } from '@theseam/ui-common/utils'\n\nimport { CollectionViewer, DataSource, isDataSource, ListRange } from '@angular/cdk/collections'\nimport { isObservable } from 'rxjs'\nimport { DatatableActionMenuComponent } from '../datatable-action-menu/datatable-action-menu.component'\nimport { DatatableColumnComponent } from '../datatable-column/datatable-column.component'\nimport { TheSeamDatatableFooterDirective } from '../datatable-footer/datatable-footer.directive'\nimport { DatatableMenuBarComponent } from '../datatable-menu-bar/datatable-menu-bar.component'\nimport { TheSeamDatatableRowDetailDirective } from '../datatable-row-detail/datatable-row-detail.directive'\nimport { DatatableRowActionItemDirective } from '../directives/datatable-row-action-item.directive'\nimport { TheSeamDatatableAccessor } from '../models/datatable-accessor'\nimport { TheSeamPageInfo } from '../models/page-info'\nimport { SortEvent } from '../models/sort-event'\nimport { SortItem } from '../models/sort-item'\nimport { TheSeamDatatableColumn } from '../models/table-column'\nimport { DatatableColumnChangesService } from '../services/datatable-column-changes.service'\nimport { DatatablePreferencesService } from '../services/datatable-preferences.service'\nimport { THESEAM_DATATABLE_ACCESSOR } from '../tokens/datatable-accessor'\n\nexport function _setColumnDefaults(columns: TheSeamDatatableColumn[]): void {\n for (const column of columns) {\n if (!column.hasOwnProperty('hidden')) {\n column.hidden = false\n }\n }\n setColumnDefaults(columns)\n}\n\n/**\n * NOTE: This is still being worked on. I am trying to figure out this model\n * because `ngx-datatable` just uses an untyped object and sets properties in\n * multiple places.\n */\nexport interface ICellContext {\n allRowsSelected: false\n\n selectFn: () => any\n sortDir?: 'asc' | 'desc'\n sortFn: () => any\n\n expanded?: boolean\n\n onCheckboxChangeFn?: any\n activateFn?: any\n row?: any\n group?: any\n value?: any\n column?: TheSeamDatatableColumn\n rowHeight?: number\n isSelected?: boolean\n rowIndex?: number\n treeStatus?: TreeStatus\n onTreeAction?: any\n}\n\n/**\n * Intended for internal classes declared by the `TheSeamDatatableModule`.\n */\nexport const THESEAM_DATATABLE = new InjectionToken<IDataFilter>('LibDatatable')\n\nexport const _THESEAM_DATATABLE: any = {\n provide: THESEAM_DATATABLE,\n // tslint:disable-next-line:no-use-before-declare\n useExisting: forwardRef(() => DatatableComponent)\n}\n\nexport const _THESEAM_DATATABLE_ACCESSOR: any = {\n provide: THESEAM_DATATABLE_ACCESSOR,\n // tslint:disable-next-line:no-use-before-declare\n useExisting: forwardRef(() => DatatableComponent)\n}\n\n// TODO: Reduce reliance on BehaviorSubject based observables, because it should\n// be easier to avoit over emitting observables.\n@Component({\n selector: 'seam-datatable',\n templateUrl: './datatable.component.html',\n styleUrls: ['./datatable.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n trigger('slideDown', [\n transition(':enter', [\n style({ transform: 'translateY(-20%)', opacity: '0' }),\n animate('250ms', style({ transform: 'translateY(0)', opacity: '1' })),\n ]),\n transition(':leave', [\n style({ transform: 'translateY(0)', opacity: '1' }),\n animate('250ms', style({ transform: 'translateY(-20%)', opacity: '0' })),\n ])\n ])\n ],\n providers: [ _THESEAM_DATATABLE, DatatableColumnChangesService, _THESEAM_DATATABLE_ACCESSOR ]\n})\nexport class DatatableComponent implements OnInit, OnDestroy, AfterContentInit, TheSeamDatatableAccessor, CollectionViewer {\n static ngAcceptInputType_externalPaging: BooleanInput\n static ngAcceptInputType_externalSorting: BooleanInput\n static ngAcceptInputType_externalFiltering: BooleanInput\n static ngAcceptInputType_loadingIndicator: BooleanInput\n static ngAcceptInputType_reorderable: BooleanInput\n static ngAcceptInputType_swapColumns: BooleanInput\n static ngAcceptInputType_groupExpansionDefault: BooleanInput\n static ngAcceptInputType_selectAllRowsOnPage: BooleanInput\n static ngAcceptInputType_summaryRow: BooleanInput\n static ngAcceptInputType_virtualization: BooleanInput\n static ngAcceptInputType_scrollbarV: BooleanInput\n static ngAcceptInputType_scrollbarH: BooleanInput\n static ngAcceptInputType_limit: NumberInput\n static ngAcceptInputType_count: NumberInput\n static ngAcceptInputType_offset: NumberInput\n static ngAcceptInputType_headerHeight: NumberInput\n static ngAcceptInputType_rowHeight: NumberInput\n static ngAcceptInputType_footerHeight: NumberInput\n static ngAcceptInputType_summaryHeight: NumberInput\n static ngAcceptInputType_columns: TheSeamDatatableColumn[] | undefined | null\n static ngAcceptInputType_sorts: SortItem[] | undefined | null\n\n faChevronDown = faChevronDown\n faChevronRight = faChevronRight\n faSpinner = faSpinner\n\n private readonly _ngUnsubscribe = new Subject()\n private readonly _filtersSubject = new BehaviorSubject<IDataFilter[]>([])\n private readonly _columnsObservable = new BehaviorSubject<Observable<TheSeamDatatableColumn[]> | undefined>(undefined)\n private readonly _dataSourceSubject = new BehaviorSubject<DataSource<any> | any[] | undefined>(undefined)\n\n public readonly filterStates: Observable<DataFilterState[]>\n\n get filters(): IDataFilter[] { return this._filtersSubject.value }\n\n public readonly filters$: Observable<IDataFilter[]>\n\n @Input()\n get preferencesKey(): string | undefined | null { return this._preferencesKey.value }\n set preferencesKey(value: string | undefined | null) { this._preferencesKey.next(value || undefined) }\n private _preferencesKey = new BehaviorSubject<string | undefined | null>(undefined)\n\n @Input() targetMarkerTemplate: any\n\n @Input()\n get columns(): TheSeamDatatableColumn[] { return this._columns.value }\n set columns(value: TheSeamDatatableColumn[]) {\n // console.log('columns input', value)\n this._columns.next(Array.isArray(value) ? value : [])\n }\n private _columns = new BehaviorSubject<TheSeamDatatableColumn[]>([])\n\n @Input()\n get rows(): any[] { return this._rows.value }\n set rows(value: any[]) { this._rows.next(value || []) }\n private _rows = new BehaviorSubject<any[]>([])\n\n public rows$: Observable<any[]>\n\n @Input() columnMode: ColumnMode | undefined | null = ColumnMode.force\n\n @Input() groupRowsBy: string | undefined | null\n @Input() groupedRows: any[] | undefined | null\n\n @Input() selected: any[] | undefined | null = []\n\n @Input() @InputBoolean() externalPaging: boolean = false\n @Input() @InputBoolean() externalSorting: boolean = false\n @Input() @InputBoolean() externalFiltering: boolean = false\n\n @Input() @InputNumber() limit: number | undefined\n @Input() @InputNumber(0) count: number = 0\n @Input() @InputNumber(0) offset: number = 0\n\n @Input() @InputBoolean() loadingIndicator: boolean = false\n\n @Input() selectionType: SelectionType | undefined | null\n\n @Input() @InputBoolean() reorderable: boolean = true\n @Input() @InputBoolean() swapColumns: boolean = false\n\n @Input() sortType: SortType | undefined | null = SortType.single\n\n @Input()\n get sorts(): SortItem[] { return this.ngxDatatable ? this.ngxDatatable.sorts : this._sorts }\n set sorts(value: SortItem[]) {\n this._sorts = notNullOrUndefined(value) ? coerceArray(value) : []\n }\n _sorts: SortItem[] = []\n\n @Input() cssClasses: any | undefined | null = {\n sortAscending: 'datatable-icon-up',\n sortDescending: 'datatable-icon-down',\n pagerLeftArrow: 'datatable-icon-left',\n pagerRightArrow: 'datatable-icon-right',\n pagerPrevious: 'datatable-icon-prev',\n pagerNext: 'datatable-icon-skip'\n }\n\n @Input() messages: any | undefined | null = {\n // Message to show when array is presented\n // but contains no values\n emptyMessage: 'No records found',\n\n // Footer total message\n totalMessage: 'total',\n\n // Footer selected message\n selectedMessage: 'selected'\n }\n\n @Input() rowIdentity: ((x: any) => any) | undefined | null = ((x: any) => x)\n\n @Input() rowClass: any | undefined | null\n\n @Input() selectCheck: any | undefined | null\n @Input() displayCheck: ((row: any, column?: any, value?: any) => boolean) | undefined | null\n\n @Input() @InputBoolean() groupExpansionDefault: boolean = false\n\n @Input() trackByProp: string | undefined | null\n\n @Input() @InputBoolean() selectAllRowsOnPage: boolean = false\n\n @Input() treeFromRelation: string | undefined | null\n @Input() treeToRelation: string | undefined | null\n @Input() @InputBoolean() summaryRow: boolean = false\n @Input() @InputNumber() summaryHeight: number = 30\n @Input() summaryPosition: string | undefined | null = 'top'\n\n @Input() @InputBoolean() virtualization: boolean = true\n\n @Input() @InputNumber() headerHeight: number = 50\n @Input() @InputNumber() rowHeight: number = 50\n @Input() @InputNumber() footerHeight: number = 40\n\n @Input() @InputBoolean() scrollbarV: boolean = true\n @Input() @InputBoolean() scrollbarH: boolean = true\n\n @Input()\n set dataSource(value: DataSource<any> | any[] | undefined | null) {\n if (value instanceof DatatableDataSource) {\n value.setDatatableAccessor(this)\n }\n this._dataSourceSubject.next(value || undefined)\n }\n\n @Output() readonly scroll = new EventEmitter<any>()\n @Output() readonly activate = new EventEmitter<any>()\n @Output() readonly select = new EventEmitter<any>()\n @Output() readonly sort = new EventEmitter<SortEvent>()\n @Output() readonly page = new EventEmitter<TheSeamPageInfo>()\n @Output() readonly reorder = new EventEmitter<any>()\n @Output() readonly resize = new EventEmitter<any>()\n @Output() readonly tableContextmenu = new EventEmitter<{ event: MouseEvent, type: ContextmenuType, content: any }>(false)\n @Output() readonly treeAction = new EventEmitter<any>()\n\n @Output() readonly actionRefreshRequest = new EventEmitter<void>()\n @Output() readonly hiddenColumnsChange = new EventEmitter<string[]>()\n\n @ContentChildren(DatatableColumnComponent) columnComponents?: QueryList<DatatableColumnComponent>\n\n @ContentChild(DatatableActionMenuComponent, { static: true }) actionMenu?: DatatableActionMenuComponent\n @ContentChild(DatatableRowActionItemDirective, { static: true }) rowActionItem?: DatatableRowActionItemDirective\n @ContentChild(TheSeamDatatableRowDetailDirective, { static: true }) rowDetail?: TheSeamDatatableRowDetailDirective\n @ContentChild(TheSeamDatatableFooterDirective, { static: true }) footer?: TheSeamDatatableFooterDirective\n\n @ContentChild(DatatableMenuBarComponent)\n get menuBarComponent(): DatatableMenuBarComponent | undefined { return this._menuBarComponent }\n set menuBarComponent(value: DatatableMenuBarComponent | undefined) {\n this._menuBarComponent = value\n\n if (this._menuBarSub) { this._menuBarSub.unsubscribe() }\n\n if (value) {\n this._setMenuBarFilters(value.filters())\n\n this._menuBarSub = this._menuBarComponent?.filtersChanged\n .subscribe(v => { this._setMenuBarFilters(value.filters()) })\n }\n }\n private _menuBarComponent: DatatableMenuBarComponent | undefined\n private _menuBarSub: Subscription | undefined\n\n @ViewChild(NgxDatatableComponent) ngxDatatable?: NgxDatatableComponent\n @ViewChild(NgxDatatableComponent, { read: ElementRef }) ngxDatatableElement?: ElementRef\n @ViewChild(DatatableRowDetailDirective) ngxRowDetail?: DatatableRowDetailDirective\n\n @ViewChild('actionMenuCellTpl', { static: true }) actionMenuCellTpl?: TemplateRef<DataTableColumnDirective>\n @ViewChild('treeToggleTpl', { static: true }) treeToggleTpl?: TemplateRef<DataTableColumnCellTreeToggle>\n @ViewChild('headerTpl', { static: true }) headerTpl?: TemplateRef<DataTableColumnHeaderDirective>\n @ViewChild('blankHeaderTpl', { static: true }) blankHeaderTpl?: TemplateRef<DataTableColumnHeaderDirective>\n @ViewChild('cellTypeSelectorTpl', { static: true }) cellTypeSelectorTpl?: TemplateRef<DataTableColumnDirective>\n\n public columnComponents$?: Observable<DatatableColumnComponent[]>\n private _colDiffersInp: { [propName: string]: KeyValueDiffer<any, any> } = {}\n private _colDiffersTpl: { [propName: string]: KeyValueDiffer<any, any> } = {}\n\n public readonly columns$: Observable<TheSeamDatatableColumn[]>\n public readonly displayColumns$: Observable<TheSeamDatatableColumn[]>\n\n viewChange: Observable<ListRange>\n\n private _rowDetailToggleSubscription = Subscription.EMPTY\n\n constructor(\n private readonly _columnChangesService: DatatableColumnChangesService,\n private readonly _differs: KeyValueDiffers,\n private readonly _preferences: DatatablePreferencesService\n ) {\n // this.displayColumns$ = this.hiddenColumns$.pipe(\n // switchMap(hiddenColumns => this.columns$.pipe(map(cols => cols.filter(c => hiddenColumns.findIndex(hc => hc === c.prop) === -1))))\n // )\n\n const applyPrefs = (cols: TheSeamDatatableColumn[]) => this._preferencesKey.pipe(\n switchMap(name => !!name\n // NOTE: This pending check is temporary to avoid table using previously\n // retrieved preference while the new one is being updated on the\n // server.\n ? !this._preferences.pending\n ? this._preferences.withColumnPreferences(name, cols)\n : of(cols)\n : of(cols)\n )\n )\n\n this.columns$ = this._columnsObservable.pipe(switchMap(colsObs => colsObs ?? of([])))\n\n this.displayColumns$ = this.columns$.pipe(\n map(cols => cols.filter(c => !c.hidden)),\n tap(v => this._removeUnusedDiffs(v)),\n switchMap(cols => applyPrefs(cols)),\n )\n\n this.filters$ = this._filtersSubject.asObservable()\n\n this.filterStates = this._filtersSubject.asObservable().pipe(\n switchMap(filters => composeDataFilterStates(filters))\n )\n\n // this.rows$ = this._filtersSubject.asObservable()\n // .pipe(\n // switchMap(filters => {\n // if (this.externalFiltering) {\n // return this._rows.asObservable()\n // }\n // return this._rows.asObservable().pipe(composeDataFilters(filters))\n // })\n // )\n\n this.rows$ = this._dataSourceSubject.pipe(\n switchMap(dataSource => {\n // console.log('dataSource', dataSource)\n let dataStream: Observable<any[]>\n\n if (isDataSource(dataSource)) {\n // console.log('~datasource')\n dataStream = dataSource.connect(this) as any\n } else if (isObservable(dataSource)) {\n // console.log('~observable')\n dataStream = dataSource as any\n } else if (Array.isArray(dataSource)) {\n // console.log('~array')\n dataStream = of(dataSource)\n } else {\n // console.log('~rows fallback')\n dataStream = this._rows.asObservable()\n // .pipe(tap(v => console.log('rows~', v)))\n }\n\n if (!this.externalFiltering) {\n // console.log('not using externalFiltering')\n dataStream = dataStream.pipe(\n switchMap(rows => this._filtersSubject.pipe(\n // tap(v => console.log('filters', v)),\n concatMap(filters => of(rows).pipe(composeDataFilters(filters))),\n // tap(v => console.log('composed filters', v)),\n ))\n )\n\n // dataStream = this._filtersSubject.pipe(\n // tap(v => console.log('filters', v)),\n // concatMap(filters => dataStream.pipe(composeDataFilters(filters))),\n // tap(v => console.log('composed filters', v)),\n // )\n }\n\n return dataStream.pipe(\n // tap(v => console.log('stream', v)),\n takeUntil(this._ngUnsubscribe)\n )\n })\n )\n\n // this.hiddenColumns$ = this._hiddenColumns.asObservable()\n\n // this._hiddenColumns.pipe(\n // skip(1),\n // distinctUntilChanged((a, b) => {\n // const _a = Array.isArray(a) ? a : []\n // const _b = Array.isArray(b) ? b : []\n // if (_a.length !== _b.length) { return false }\n // const _as = _a.sort()\n // const _bs = _b.sort()\n // return !_as.sort().every((value: string, index: number) => _bs[index] === value)\n // }),\n // tap(v => this.hiddenColumnsChange.emit(v)),\n // untilDestroyed(this)\n // ).subscribe(v => console.log('hiddenColumnsChange', v))\n\n // TODO: Implement viewChange for CollectionViewer.\n this.viewChange = this.page.pipe(map(p => ({ start: 0, end: p.count })))\n }\n\n ngOnInit() {\n if (this.rowDetail) {\n this._rowDetailToggleSubscription = this.rowDetail._toggle.subscribe(event => {\n if (this.ngxRowDetail) {\n this.ngxRowDetail.toggle.emit(event)\n }\n })\n }\n }\n\n ngOnDestroy() {\n this._rowDetailToggleSubscription.unsubscribe()\n }\n\n ngAfterContentInit() {\n this.columnComponents$ = this._columnChangesService.columnInputChanges$.pipe(\n map(() => this.columnComponents?.toArray() ?? []),\n startWith(this.columnComponents?.toArray() ?? []),\n shareReplay({ bufferSize: 1, refCount: true })\n )\n\n const _columns = combineLatest([\n this.columnComponents$,\n this._columns\n ]).pipe(\n map(v => this._getMergedTplAndInpColumns(v[0], v[1] ?? [])),\n // tap(v => console.log('cols', v)),\n shareReplay({ bufferSize: 1, refCount: true }),\n )\n this._columnsObservable.next(_columns)\n }\n\n private _getMergedTplAndInpColumns(\n tplCols: DatatableColumnComponent[],\n inpCols: TheSeamDatatableColumn[]\n ): TheSeamDatatableColumn[] {\n const cols: TheSeamDatatableColumn[] = []\n\n if (this.selectionType === 'checkbox') {\n const checkBoxCol: TheSeamDatatableColumn = {\n prop: '$$__checkbox__',\n name: '',\n width: 40,\n sortable: false,\n canAutoResize: false,\n draggable: false,\n resizeable: false,\n headerCheckboxable: true,\n checkboxable: true\n }\n\n cols.push(checkBoxCol)\n }\n\n const _tplCols = translateTemplates(<any>(tplCols || []))\n for (const col of inpCols) {\n const tplCol = _tplCols.find(t => t.prop === col.prop)\n // console.log({ col: { ...(col || {}) }, tplCol: { ...(tplCol || {}) } })\n\n const dtColumns = (this.ngxDatatable && this.ngxDatatable._internalColumns) || []\n const prev = dtColumns.find(c => c.prop === col.prop)\n\n const inpColDiff = this._getColDiff(col)\n const _inpCol = inpColDiff ? {} : this._hasPrevColDiff(col) ? {} : col\n if (inpColDiff) {\n inpColDiff.forEachRemovedItem(r => {\n if (prev && prev.hasOwnProperty(r.key)) {\n const k = r.key as keyof TableColumn\n delete prev[k]\n }\n })\n inpColDiff.forEachAddedItem(r => (_inpCol as any)[r.key] = r.currentValue)\n inpColDiff.forEachChangedItem(r => (_inpCol as any)[r.key] = r.currentValue)\n }\n\n let _tplCol: TheSeamDatatableColumn = {}\n if (tplCol) {\n const tplColDiff = tplCol ? this._getColDiff(tplCol, true) : undefined\n _tplCol = tplColDiff ? {} : this._hasPrevColDiff(col, true) ? {} : tplCol\n if (tplColDiff) {\n tplColDiff.forEachRemovedItem(r => {\n if (prev && prev.hasOwnProperty(r.key)) {\n const k = r.key as keyof TableColumn\n delete prev[k]\n }\n })\n tplColDiff.forEachAddedItem(r => (_tplCol as any)[r.key] = r.currentValue)\n tplColDiff.forEachChangedItem(r => (_tplCol as any)[r.key] = r.currentValue)\n }\n }\n\n const _col: TheSeamDatatableColumn = {\n ...(prev || {}),\n ..._inpCol,\n ..._tplCol\n }\n\n cols.push(_col)\n }\n\n if (this.rowActionItem) {\n const actionMenuColumn: TheSeamDatatableColumn = {\n prop: '$$__actionMenu__',\n name: '',\n width: 50,\n minWidth: 50,\n maxWidth: 50,\n resizeable: false,\n sortable: false,\n draggable: false,\n // TODO: Fix column auto sizing with fixed column and cell overlay before enabling.\n // frozenRight: true,\n cellTemplate: this.actionMenuCellTpl,\n headerTemplate: this.blankHeaderTpl\n }\n cols.push(actionMenuColumn)\n }\n\n for (const col of cols) {\n if (col.isTreeColumn && hasProperty(col, 'treeToggleTemplate')) {\n col.treeToggleTemplate = this.treeToggleTpl\n }\n\n if (!hasProperty(col, 'headerTemplate')) {\n col.headerTemplate = this.headerTpl\n }\n\n if (hasProperty(col, 'cellType')) {\n col.cellTemplate = this.cellTypeSelectorTpl\n }\n }\n\n // setColumnDefaults(cols)\n _setColumnDefaults(cols)\n\n\n // console.log(cols.map(c => ({ prop: c.prop, canAutoResize: c.canAutoResize })))\n\n return cols\n }\n\n private _hasPrevColDiff(col: TheSeamDatatableColumn, isTpl: boolean = false): boolean {\n if (!col || !col.prop) {\n return false\n }\n\n const differsMap = isTpl ? this._colDiffersTpl : this._colDiffersInp\n\n return !!differsMap\n }\n\n private _getColDiff(col: TheSeamDatatableColumn, isTpl: boolean = false) {\n if (!col || !col.prop) {\n return\n }\n\n const differsMap = isTpl ? this._colDiffersTpl : this._colDiffersInp\n\n if (!differsMap[col.prop]) {\n differsMap[col.prop] = this._differs.find({}).create()\n }\n\n const differ = differsMap[col.prop]\n\n const diff = differ.diff(col)\n return diff\n }\n\n private _removeUnusedDiffs(cols: TheSeamDatatableColumn[]) {\n const inpKeys = Object.keys(this._colDiffersInp)\n inpKeys.filter(k => cols.findIndex(c => c.prop === k) === -1)\n .forEach(k => { delete this._colDiffersInp[k] })\n\n const tplKeys = Object.keys(this._colDiffersTpl)\n tplKeys.filter(k => cols.findIndex(c => c.prop === k) === -1)\n .forEach(k => { delete this._colDiffersTpl[k] })\n }\n\n private _setMenuBarFilters(filters: IDataFilter[]) {\n // console.log('_setMenuBarFilters', filters)\n this._filtersSubject.next(filters || [])\n }\n\n public getColumnComponent(propName: string): DatatableColumnComponent | null {\n if (!this.columnComponents || this.columnComponents.length === 0) {\n return null\n }\n\n const tpl = this.columnComponents.find(t => t.prop === propName)\n if (tpl) {\n return tpl\n }\n\n return null\n }\n\n _columnData(col: any): { col: any, comp: DatatableColumnComponent | null } {\n const comp = this.getColumnComponent(col.prop)\n return { col, comp }\n }\n\n _getRowExpanded(row: any) {\n if (this.ngxDatatable && this.ngxDatatable.bodyComponent) {\n return this.ngxDatatable.bodyComponent.getRowExpanded(row)\n }\n return false\n }\n\n public trackByFnColumn(index: number, item: any) {\n return item.prop\n }\n\n public onDatatableResize(event: IElementResizedEvent) {\n if (this.ngxDatatable && this.ngxDatatableElement && this.ngxDatatableElement.nativeElement) {\n // TODO: Consider integrating this into the ngx-datatable library to avoid\n // multiple resize calls when the table resizes itself.\n this.ngxDatatable.recalculate()\n }\n }\n\n _onResize(event: any) {\n // console.log('resize', event, event.column.prop)\n this.resize.emit(event)\n\n if (event.isDone && this.columns) {\n const columns = this.columns\n const col = columns.find(c => c.prop === event.column.prop)\n if (col) {\n col.canAutoResize = false\n }\n\n if (this.preferencesKey) {\n const pref = { prop: event.column.prop, width: event.column.width, canAutoResize: false }\n this._preferences.setColumnPreference(this.preferencesKey, pref)\n }\n\n this.columns = [ ...this.columns ]\n }\n }\n\n _onTreeAction(event: any) {\n const index = event.rowIndex\n const row = event.row\n if (row.treeStatus === 'collapsed') {\n row.treeStatus = 'expanded'\n } else {\n row.treeStatus = 'collapsed'\n }\n this.rows = [ ...this.rows ]\n }\n\n public triggerActionRefreshRequest() {\n this.actionRefreshRequest.emit(undefined)\n }\n\n public get pageInfo(): TheSeamPageInfo {\n return {\n offset: this.ngxDatatable?.offset ?? 0,\n pageSize: this.ngxDatatable?.pageSize ?? 0,\n limit: this.ngxDatatable?.limit,\n count: this.ngxDatatable?.count ?? 0\n }\n }\n\n}\n","import { ChangeDetectionStrategy, Component, Inject, OnInit } from '@angular/core'\nimport { FormControl } from '@angular/forms'\nimport { combineLatest, Observable, of } from 'rxjs'\nimport { map } from 'rxjs/operators'\n\nimport { observeControlValue } from '@theseam/ui-common/utils'\n\nimport { DatatableComponent, THESEAM_DATATABLE } from '../datatable/datatable.component'\nimport { TheSeamDatatableColumn } from '../models/table-column'\n\n@Component({\n selector: 'seam-datatable-column-preferences',\n templateUrl: './datatable-column-preferences.component.html',\n styleUrls: ['./datatable-column-preferences.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DatatableColumnPreferencesComponent implements OnInit {\n\n _columns$: Observable<TheSeamDatatableColumn[]>\n\n _filterControl = new FormControl()\n\n constructor(\n @Inject(THESEAM_DATATABLE) private _datatable: DatatableComponent,\n ) {\n this._columns$ = combineLatest([\n this._datatable.columns$ ?? of([]),\n observeControlValue<string>(this._filterControl)\n ]).pipe(\n map(([ columns, filter ]) => {\n const _filter = (filter || '').trim().toLowerCase()\n return columns.filter(c => `${(c.name || c.prop || '')}`.toLowerCase().indexOf(_filter) !== -1)\n }),\n map(cols => cols.sort((a, b) => a.prop === b.prop ? 0 : (<string>a.prop) > (<string>b.prop) ? 1 : -1))\n )\n }\n\n ngOnInit() { }\n\n _onChange(event: any, col: TheSeamDatatableColumn) {\n // TODO: Figure out the right way to update this value. If it is set by\n // column component input this may not work right.\n const columns = this._datatable.columns || []\n const column = columns.find(c => c.prop === col.prop)\n if (column) {\n column.hidden = !event.checked\n this._datatable.columns = [ ...columns ]\n }\n }\n\n _onCloseClick() {\n // TODO: Implement when PopoverRef is implemented.\n }\n\n}\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core'\n\nimport { faColumns } from '@fortawesome/free-solid-svg-icons'\n\n@Component({\n selector: 'seam-datatable-column-preferences-button',\n templateUrl: './datatable-column-preferences-button.component.html',\n styleUrls: ['./datatable-column-preferences-button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DatatableColumnPreferencesButtonComponent implements OnInit {\n\n icon = faColumns\n\n constructor() { }\n\n ngOnInit() { }\n\n}\n","import { ChangeDetectionStrategy, Component, Inject, Input, isDevMode, OnInit, Optional } from '@angular/core'\nimport { of } from 'rxjs'\nimport { catchError, concatMap, map, take, tap } from 'rxjs/operators'\n\nimport { faFileDownload } from '@fortawesome/free-solid-svg-icons'\nimport { ToastrService } from 'ngx-toastr'\n\nimport { IDataExporter } from '@theseam/ui-common/data-exporter'\nimport { DynamicValueHelperService, THESEAM_DYNAMIC_DATA } from '@theseam/ui-common/dynamic'\nimport { TheSeamLoadingOverlayService } from '@theseam/ui-common/loading'\nimport { hasProperty } from '@theseam/ui-common/utils'\n\nimport { DatatableComponent, THESEAM_DATATABLE } from '../datatable/datatable.component'\nimport { TheSeamDatatableColumn } from '../models/table-column'\n\nexport interface IDatatableExportButtonData {\n exporters: IDataExporter[]\n}\n\n@Component({\n selector: 'seam-datatable-export-button',\n templateUrl: './datatable-export-button.component.html',\n styleUrls: ['./datatable-export-button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DatatableExportButtonComponent implements OnInit {\n\n icon = faFileDownload\n\n @Input() exporters: IDataExporter[] | undefined | null\n\n get disabled() {\n return !(this.exporters && this.exporters.length > 0)\n }\n\n constructor(\n @Inject(THESEAM_DATATABLE) private readonly _datatable: DatatableComponent,\n private readonly _toastr: ToastrService,\n private readonly _loading: TheSeamLoadingOverlayService,\n private readonly _valueHelper: DynamicValueHelperService,\n @Optional() @Inject(THESEAM_DYNAMIC_DATA) private readonly _data?: IDatatableExportButtonData\n ) {\n if (this._data && this._data.exporters) {\n this.exporters = this._data.exporters\n }\n }\n\n ngOnInit() { }\n\n _onExporterClicked(exporter: IDataExporter) {\n if (!exporter.export) {\n const msg = isDevMode()\n ? `Exporter '${exporter.name}' is missing an export method.`\n : `${exporter.label} export is not available.`\n this._toastr.error(msg, 'Data Export')\n }\n\n const export$ = this._datatable.rows$\n .pipe(\n take(1),\n map(rows => {\n if (exporter.skipDataMapping) {\n return rows\n }\n return this._mapExportData(this._datatable.columns || [], rows)\n }),\n concatMap(data => exporter.export(data)),\n catchError(err => {\n console.error(err)\n return of(false)\n }),\n tap(success => {\n if (success) {\n this._toastr.success(`${exporter.label} export complete.`, 'Data Export')\n } else {\n this._toastr.error(`${exporter.label} export failed.`, 'Data Export')\n }\n })\n )\n\n this._loading.while(export$).subscribe()\n }\n\n private _mapExportData(columns: TheSeamDatatableColumn[], rows: any[]) {\n const data: any[] = []\n\n for (const row of rows) {\n const newRow: any = {}\n\n for (const col of columns) {\n if (!col.exportIgnore) {\n const colName = col.exportHeader || col.name || col.prop\n if (colName) {\n newRow[colName] = this._rowValue(col, row)\n }\n }\n }\n\n data.push(newRow)\n }\n\n return data\n }\n\n private _rowValue(column: TheSeamDatatableColumn, row: any) {\n if (hasProperty(column as any, 'exportValue')) {\n const context = { value: column.prop ? row[column.prop] : undefined, row }\n return this._valueHelper.evalSync((column as any).exportValue, context)\n }\n\n const colProp = column.prop\n if (colProp) {\n return row[colProp]\n }\n return undefined\n }\n\n}\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core'\n\n@Component({\n selector: 'seam-datatable-menu-bar-column-center',\n templateUrl: './datatable-menu-bar-column-center.component.html',\n styleUrls: ['./datatable-menu-bar-column-center.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DatatableMenuBarColumnCenterComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core'\n\n@Component({\n selector: 'seam-datatable-menu-bar-column-left',\n templateUrl: './datatable-menu-bar-column-left.component.html',\n styleUrls: ['./datatable-menu-bar-column-left.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DatatableMenuBarColumnLeftComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core'\n\n@Component({\n selector: 'seam-datatable-menu-bar-column-right',\n templateUrl: './datatable-menu-bar-column-right.component.html',\n styleUrls: ['./datatable-menu-bar-column-right.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DatatableMenuBarColumnRightComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core'\n\n@Component({\n selector: 'seam-datatable-menu-bar-row',\n templateUrl: './datatable-menu-bar-row.component.html',\n styleUrls: ['./datatable-menu-bar-row.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DatatableMenuBarRowComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import { InjectionToken } from '@angular/core'\n\nimport { MenubarItemData } from '../models/menubar-item-data'\n\nexport const THESEAM_MENUBAR_ITEM_DATA = new InjectionToken<MenubarItemData>('MenubarItemData')\n","import { ChangeDetectionStrategy, Component, Inject, Input, OnInit, Optional } from '@angular/core'\n\nimport { hasProperty, notNullOrUndefined } from '@theseam/ui-common/utils'\nimport { DatatableMenuBarComponent } from './../datatable-menu-bar/datatable-menu-bar.component'\nimport { MenubarItemData } from './../models/menubar-item-data'\nimport { THESEAM_MENUBAR_ITEM_DATA } from './../tokens/menubar-item-data'\n\n\n@Component({\n selector: 'seam-datatable-menu-bar-text',\n templateUrl: './datatable-menu-bar-text.component.html',\n styleUrls: ['./datatable-menu-bar-text.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DatatableMenuBarTextComponent implements OnInit {\n\n @Input()\n public value: string | undefined | null\n\n constructor(\n private _menuBar: DatatableMenuBarComponent,\n @Optional() @Inject(THESEAM_MENUBAR_ITEM_DATA) private _data: MenubarItemData | null\n ) {\n if (notNullOrUndefined(this._data)) {\n if (hasProperty(this._data, 'value')) {\n this.value = this._data.value\n }\n }\n }\n\n ngOnInit(): void { }\n\n}\n","// import { QueryParamsHandling } from '@angular/router/src/config'\nimport { ComponentType } from '@angular/cdk/portal'\nimport { HttpClient, HttpHeaders } from '@angular/common/http'\nimport { Component, Directive, EventEmitter, HostBinding, Input, isDevMode, OnDestroy, OnInit, Optional, Output } from '@angular/core'\nimport { Subscription } from 'rxjs'\n\n// import jexl from 'jexl'\n\nimport { TheSeamDynamicComponentLoader } from '@theseam/ui-common/dynamic-component-loader'\nimport { Modal } from '@theseam/ui-common/modal'\n\n//\n// TODO: Move the dynamic datatable logic out of this component when refactoring.\n//\n\n// export interface IActionMenuItemEndpointConfig {\n// /**\n// * Api endpoint.\n// */\n// endpoint?: string\n\n// endpointExpr?: string\n\n// method: 'GET' | 'POST' | 'PATCH' | 'DELETE'\n\n// bodyExpr?: string\n\n// paramsExpr?: string\n// }\n\n// export interface IActionMenuItemModalConfig {\n// component: ComponentType<{}> | string\n// }\n\nexport interface TheSeamDatatableRow {\n [prop: string]: any\n}\n\n@Directive({\n selector: '[seamDatatableActionMenuItem]'\n})\nexport class DatatableActionMenuItemDirective implements OnInit, OnDestroy {\n\n @HostBinding('class.list-group-item') _listGroupItem = true\n @HostBinding('class.list-group-item-action') _listGroupItemAction = true\n\n @Input() label: string | undefined | null\n\n // tslint:disable-next-line:no-input-rename\n @Input('attr.href') href: string | undefined | null\n @Input() target: string | undefined | null\n\n // Allow routerLink inputs on menu item\n @Input() queryParams: { [k: string]: any } | undefined | null\n @Input() fragment: string | undefined | null\n // @Input() queryParamsHandling: QueryParamsHandling\n @Input() queryParamsHandling: any | undefined | null\n @Input() preserveFragment: boolean | undefined | null\n @Input() skipLocationChange: boolean | undefined | null\n @Input() replaceUrl: boolean | undefined | null\n @Input() state: {[k: string]: any} | undefined | null\n @Input() routerLink: string | any[] | undefined | null\n\n @Input() confirmDialog: any\n\n // @Input()\n // get endpointConfig(): IActionMenuItemEndpointConfig { return this._endpointConfig }\n // set endpointConfig(value: IActionMenuItemEndpointConfig) {\n // this._endpointConfig = value\n // if (value) {\n // // TODO: Handle this in a way that can be canceled.\n // this._endpointConfigSub = this.click\n // .pipe(untilDestroyed(this))\n // .subscribe(e => this._handleEndpointAction())\n // } else {\n // if (this._endpointConfigSub) {\n // this._endpointConfigSub.unsubscribe()\n // }\n // }\n // }\n // private _endpointConfig: IActionMenuItemEndpointConfig\n // private _endpointConfigSub: Subscription\n\n // @Input()\n // get modalConfig(): IActionMenuItemModalConfig { return this._modalConfig }\n // set modalConfig(value: IActionMenuItemModalConfig) {\n // this._modalConfig = value\n // if (value) {\n // // TODO: Handle this in a way that can be canceled.\n // this._modalConfigSub = this.click\n // .pipe(untilDestroyed(this))\n // .subscribe(e => this._handleModalAction())\n // } else {\n // if (this._modalConfigSub) {\n // this._modalConfigSub.unsubscribe()\n // }\n // }\n // }\n // private _modalConfig: IActionMenuItemModalConfig\n // private _modalConfigSub: Subscription\n\n @Input() row: TheSeamDatatableRow | undefined | null\n\n @Output() click = new EventEmitter<any>()\n\n constructor(\n private readonly _modal: Modal,\n private readonly _dynamicComponentLoader: TheSeamDynamicComponentLoader,\n @Optional() private readonly _http: HttpClient,\n ) { }\n\n ngOnInit() { }\n\n ngOnDestroy() { }\n\n // private _handleEndpointAction() {\n // if (!this._http) {\n // if (isDevMode()) {\n // console.warn(`[DatatableActionMenuItemDirective] Endpoint actions require \\`HttpClientModule\\` to be imported.`)\n // }\n // return\n // }\n\n // // console.log('_handleEndpointAction')\n // // TODO: This should probably be done through a provider that uses the api.\n // if (isDevMode()) {\n // console.warn(`[DatatableActionMenuItemDirective] '_handleEndpointAction()' is not ready for production yet.`)\n // } else {\n // // I don't expect this to be attempted in prod before completed, so I am just adding a console warning.\n // console.warn(`Unable to complete request. Contact support for assistance.`)\n // }\n\n // let endpoint = ''\n // const method = this._endpointConfig.method\n // const context = { row: this.row }\n // // console.log('context', context)\n\n // if (this._endpointConfig.endpoint) {\n // endpoint = this._endpointConfig.endpoint\n // }\n\n // if (this._endpointConfig.endpointExpr) {\n // // TODO: Use async jexl.\n // endpoint = jexl.evalSync(this._endpointConfig.endpointExpr, context)\n // }\n\n // const url = `http://localhost:57648/api/${endpoint}`\n\n // const options: any = {}\n // if (this._endpointConfig.bodyExpr) {\n // // TODO: Use async jexl.\n // options.body = jexl.evalSync(this._endpointConfig.bodyExpr, context)\n // }\n // if (this._endpointConfig.paramsExpr) {\n // // TODO: Use async jexl.\n // options.params = jexl.evalSync(this._endpointConfig.paramsExpr, context)\n // }\n\n // const headers = new HttpHeaders({\n // 'Content-Type': 'application/json'\n // })\n\n // this._http.request<any>(method, url, { ...options, headers })\n // .subscribe()\n // // .subscribe(v => console.log('v', v))\n // }\n\n // private _handleModalAction() {\n // if (typeof this._modalConfig.component === 'string') {\n // this._dynamicComponentLoader.getComponentFactory(this._modalConfig.component)\n // .subscribe(componentFactory => {\n // const factoryResolver = (<any /* ComponentFactoryBoundToModule */>componentFactory).ngModule.componentFactoryResolver\n // this._modal.openFromComponent(componentFactory.componentType, undefined, factoryResolver)\n // })\n // } else {\n // this._modal.openFromComponent(this._modalConfig.component)\n // }\n // }\n\n}\n","import { ESCAPE } from '@angular/cdk/keycodes'\nimport { ConnectionPositionPair, Overlay, OverlayRef, PositionStrategy } from '@angular/cdk/overlay'\nimport { TemplatePortal } from '@angular/cdk/portal'\nimport { Directive, ElementRef, HostListener, Input, TemplateRef, ViewContainerRef } from '@angular/core'\n\n@Directive({\n selector: '[seamDatatableActionMenuToggle]',\n exportAs: 'seamDatatableActionMenuToggle'\n})\nexport class DatatableActionMenuToggleDirective {\n\n @Input() seamDatatableActionMenuToggle: TemplateRef<HTMLElement> | undefined | null\n\n private _active = false\n private _overlayRef?: OverlayRef\n private _actionDown = false\n\n @HostListener('document:keydown', [ '$event' ])\n _onKeydown(event: any) {\n if (event.keyCode === ESCAPE) {\n this.disable()\n }\n }\n\n @HostListener('click', [ '$event' ])\n _onClick(event: any) {\n this.toggle()\n }\n\n @HostListener('mousedown', [ '$event' ]) _mouseDown(event: any) { this.onInputDown(event) }\n @HostListener('pointerdown', [ '$event' ]) _pointerDown(event: any) { this.onInputDown(event) }\n\n @HostListener('mouseup', [ '$event' ]) _mouseUp(event: any) { this.onInputUp(event) }\n @HostListener('pointerup', [ '$event' ]) _pointerUp(event: any) { this.onInputUp(event) }\n\n constructor(\n private _elementRef: ElementRef<HTMLElement>,\n private _viewContainerRef: ViewContainerRef,\n private _overlay: Overlay,\n ) { }\n\n public get active(): boolean { return this._active }\n\n public toggle() {\n if (this._active) {\n this.disable()\n } else {\n this.enable()\n }\n }\n\n public enable() {\n if (this.active) { return }\n if (!this.seamDatatableActionMenuToggle) { return }\n\n this._overlayRef = this._overlay.create({\n hasBackdrop: false,\n positionStrategy: this.getOverlayPosition(this._elementRef.nativeElement),\n })\n\n this._overlayRef.attach(new TemplatePortal(this.seamDatatableActionMenuToggle, this._viewContainerRef))\n\n this._active = true\n }\n\n public disable() {\n if (!this.active) { return }\n\n if (this._overlayRef?.hasAttached()) {\n this._overlayRef.detach()\n }\n\n this._active = false\n }\n\n private getOverlayPosition(origin: HTMLElement): PositionStrategy {\n const positionStrategy = this._overlay.position()\n .flexibleConnectedTo(origin)\n .withPositions(this.getPositions())\n .withFlexibleDimensions(false)\n .withPush(false)\n\n return positionStrategy\n }\n\n private getPositions(): ConnectionPositionPair[] {\n return [\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom',\n },\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n },\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n },\n ]\n }\n\n onFocusChangeOverlay(event: any) {\n if (event === null) {\n if (!this._actionDown) {\n // this.disable()\n }\n }\n }\n\n onInputDown(event: any) {\n this._actionDown = true\n }\n\n onInputUp(event: any) {\n this._actionDown = false\n }\n\n}\n","import { CollectionViewer } from '@angular/cdk/collections'\nimport { combineLatest, Observable } from 'rxjs'\n\nimport { DatatableDataSource } from './datatable-data-source'\n\n\nexport class DatatableGqlDataSource<TRow> extends DatatableDataSource<TRow> {\n\n connect(collectionViewer: CollectionViewer): Observable<readonly TRow[]> {\n throw new Error('Method not implemented.')\n\n // return combineLatest([\n // this.sorts$,\n // this.filterStates$,\n // this.page$\n // ]).pipe()\n }\n\n disconnect(collectionViewer: CollectionViewer): void {\n throw new Error('Method not implemented.')\n }\n\n\n}\n","import { Injectable, NgZone } from '@angular/core'\n\nimport { OverlayScrollbarsService } from '@theseam/ui-common/scrollbar'\n\n@Injectable()\nexport class TheSeamDatatableScrollbarHelperService {\n\n width = 0\n\n /**\n * Animates programmatic scrolling, such as switching pages.\n *\n * NOTE: Animating the scrolling works, but the datatable may need changes\n * before this is enabled, because it seems a little stuttery when it moves.\n */\n animatedScrolling = false\n animatedScrollingTime = 250\n\n constructor(\n private _ngZone: NgZone,\n private _scrollbars: OverlayScrollbarsService\n ) { }\n\n onInitScroller(scroller: any): void {\n this._scrollbars.initializeInstance(scroller.parentElement, {\n callbacks: {\n onScroll: (e) => {\n this._ngZone.run(() => {\n scroller.onScrolled(e)\n })\n }\n }\n })\n }\n\n onDestroyScroller(scroller: any): void {\n this._scrollbars.destroyInstance(scroller.parentElement)\n }\n\n setOffset(scroller: any, offsetY: number): void {\n this._ngZone.runOutsideAngular(() => {\n if (this.animatedScrolling) {\n this._scrollbars.getInstance(scroller.parentElement)\n .scroll({ y: offsetY }, this.animatedScrollingTime)\n } else {\n this._scrollbars.getInstance(scroller.parentElement)\n .scroll({ y: offsetY })\n }\n })\n }\n}\n","import { A11yModule } from '@angular/cdk/a11y'\nimport { OverlayModule } from '@angular/cdk/overlay'\nimport { PortalModule } from '@angular/cdk/portal'\nimport { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\nimport { ReactiveFormsModule } from '@angular/forms'\nimport { RouterModule } from '@angular/router'\n\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome'\nimport { NgxDatatableModule, ScrollbarHelper } from '@marklb/ngx-datatable'\nimport { ToastrModule } from 'ngx-toastr'\n\nimport { TheSeamButtonsModule } from '@theseam/ui-common/buttons'\nimport { TheSeamCheckboxModule } from '@theseam/ui-common/checkbox'\nimport { TheSeamConfirmDialogModule } from '@theseam/ui-common/confirm-dialog'\nimport { TheSeamFormFieldModule } from '@theseam/ui-common/form-field'\nimport { TheSeamIconModule } from '@theseam/ui-common/icon'\nimport { TheSeamLoadingModule } from '@theseam/ui-common/loading'\nimport { TheSeamMenuModule } from '@theseam/ui-common/menu'\nimport { TheSeamPopoverModule } from '@theseam/ui-common/popover'\nimport { TheSeamSharedModule } from '@theseam/ui-common/shared'\nimport { TheSeamTableCellTypeModule } from '@theseam/ui-common/table-cell-type'\n\nimport { DatatableActionMenuItemComponent } from './datatable-action-menu-item/datatable-action-menu-item.component'\nimport { DatatableActionMenuComponent } from './datatable-action-menu/datatable-action-menu.component'\nimport { DatatableColumnPreferencesButtonComponent } from './datatable-column-preferences-button/datatable-column-preferences-button.component' // tslint:disable-line: max-line-length\nimport { DatatableColumnPreferencesComponent } from './datatable-column-preferences/datatable-column-preferences.component'\nimport { DatatableColumnComponent } from './datatable-column/datatable-column.component'\nimport { DatatableExportButtonComponent } from './datatable-export-button/datatable-export-button.component'\nimport { DatatableFooterTplDirective } from './datatable-footer/datatable-footer-tpl.directive'\nimport { TheSeamDatatableFooterDirective } from './datatable-footer/datatable-footer.directive'\nimport { DatatableMenuBarColumnCenterComponent } from './datatable-menu-bar-column-center/datatable-menu-bar-column-center.component'\nimport { DatatableMenuBarColumnLeftComponent } from './datatable-menu-bar-column-left/datatable-menu-bar-column-left.component'\nimport { DatatableMenuBarColumnRightComponent } from './datatable-menu-bar-column-right/datatable-menu-bar-column-right.component'\nimport { DatatableMenuBarRowComponent } from './datatable-menu-bar-row/datatable-menu-bar-row.component'\nimport { DatatableMenuBarTextComponent } from './datatable-menu-bar-text/datatable-menu-bar-text.component'\nimport { DatatableMenuBarComponent } from './datatable-menu-bar/datatable-menu-bar.component'\nimport { DatatableRowDetailTplDirective } from './datatable-row-detail/datatable-row-detail-tpl.directive'\nimport { TheSeamDatatableRowDetailDirective } from './datatable-row-detail/datatable-row-detail.directive'\nimport { DatatableComponent } from './datatable/datatable.component'\nimport { DatatableActionMenuItemDirective } from './directives/datatable-action-menu-item.directive'\nimport { DatatableActionMenuToggleDirective } from './directives/datatable-action-menu-toggle.directive'\nimport { DatatableCellTplDirective } from './directives/datatable-cell-tpl.directive'\nimport { DatatableFilterDirective } from './directives/datatable-filter.directive'\nimport { DatatableRowActionItemDirective } from './directives/datatable-row-action-item.directive'\nimport { TheSeamDatatableScrollbarHelperService } from './services/datatable-scrollbar-helper.service'\n\n@NgModule({\n declarations: [\n DatatableComponent,\n DatatableCellTplDirective,\n DatatableColumnComponent,\n DatatableActionMenuComponent,\n DatatableActionMenuToggleDirective,\n DatatableActionMenuItemComponent,\n DatatableMenuBarComponent,\n DatatableFilterDirective,\n DatatableRowActionItemDirective,\n DatatableExportButtonComponent,\n TheSeamDatatableRowDetailDirective,\n DatatableRowDetailTplDirective,\n TheSeamDatatableFooterDirective,\n DatatableFooterTplDirective,\n DatatableColumnPreferencesComponent,\n DatatableColumnPreferencesButtonComponent,\n DatatableActionMenuItemDirective,\n DatatableMenuBarRowComponent,\n DatatableMenuBarColumnLeftComponent,\n DatatableMenuBarColumnCenterComponent,\n DatatableMenuBarColumnRightComponent,\n DatatableMenuBarTextComponent,\n ],\n imports: [\n CommonModule,\n NgxDatatableModule,\n FontAwesomeModule,\n OverlayModule,\n A11yModule,\n TheSeamSharedModule,\n RouterModule,\n TheSeamMenuModule,\n TheSeamButtonsModule,\n TheSeamIconModule,\n ToastrModule,\n TheSeamLoadingModule,\n PortalModule,\n TheSeamConfirmDialogModule,\n TheSeamPopoverModule,\n TheSeamCheckboxModule,\n TheSeamFormFieldModule,\n ReactiveFormsModule,\n TheSeamTableCellTypeModule\n ],\n exports: [\n DatatableComponent,\n DatatableCellTplDirective,\n DatatableColumnComponent,\n DatatableActionMenuComponent,\n DatatableActionMenuItemComponent,\n DatatableMenuBarComponent,\n DatatableFilterDirective,\n DatatableRowActionItemDirective,\n DatatableExportButtonComponent,\n TheSeamDatatableRowDetailDirective,\n DatatableRowDetailTplDirective,\n TheSeamDatatableFooterDirective,\n DatatableFooterTplDirective,\n DatatableColumnPreferencesComponent,\n DatatableColumnPreferencesButtonComponent,\n DatatableActionMenuItemDirective,\n DatatableMenuBarRowComponent,\n DatatableMenuBarColumnLeftComponent,\n DatatableMenuBarColumnCenterComponent,\n DatatableMenuBarColumnRightComponent,\n DatatableMenuBarTextComponent\n ],\n providers: [\n { provide: ScrollbarHelper, useClass: TheSeamDatatableScrollbarHelperService }\n ],\n entryComponents: [\n DatatableColumnPreferencesComponent,\n DatatableExportButtonComponent,\n DatatableMenuBarTextComponent\n ]\n})\nexport class TheSeamDatatableModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {THESEAM_DATATABLE_ACCESSOR as ɵa} from './tokens/datatable-accessor';"],"names":["BehaviorSubject","switchMap","of","map","startWith","DataSource","EventEmitter","Component","ChangeDetectionStrategy","Input","Output","faEllipsisH","SeamConfirmDialogService","Router","ContentChildren","Directive","TemplateRef","Subject","Injectable","ContentChild","Self","Inject","THESEAM_DATA_FILTER","THESEAM_DATA_FILTER_CONTAINER","forwardRef","notNullOrUndefined","InjectionToken","hasProperty","isDevMode","shareReplay","take","tap","Optional","setColumnDefaults","faChevronDown","faChevronRight","faSpinner","ColumnMode","SortType","Subscription","composeDataFilterStates","isDataSource","isObservable","concatMap","composeDataFilters","takeUntil","coerceArray","combineLatest","translateTemplates","trigger","transition","style","animate","KeyValueDiffers","ViewChild","NgxDatatableComponent","ElementRef","DatatableRowDetailDirective","InputBoolean","InputNumber","FormControl","observeControlValue","faColumns","faFileDownload","catchError","ToastrService","TheSeamLoadingOverlayService","DynamicValueHelperService","THESEAM_DYNAMIC_DATA","Modal","TheSeamDynamicComponentLoader","HttpClient","HostBinding","ESCAPE","TemplatePortal","ViewContainerRef","Overlay","HostListener","NgZone","OverlayScrollbarsService","NgModule","CommonModule","NgxDatatableModule","FontAwesomeModule","OverlayModule","A11yModule","TheSeamSharedModule","RouterModule","TheSeamMenuModule","TheSeamButtonsModule","TheSeamIconModule","ToastrModule","TheSeamLoadingModule","PortalModule","TheSeamConfirmDialogModule","TheSeamPopoverModule","TheSeamCheckboxModule","TheSeamFormFieldModule","ReactiveFormsModule","TheSeamTableCellTypeModule","ScrollbarHelper"],"mappings":"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"}