@den4ik92/ng2-smart-table 18.2.13 → 19.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/README.md +167 -0
  2. package/fesm2022/den4ik92-ng2-smart-table.mjs +1502 -1581
  3. package/fesm2022/den4ik92-ng2-smart-table.mjs.map +1 -1
  4. package/lib/components/cell/cell-edit-mode/custom-edit.component.d.ts +3 -5
  5. package/lib/components/cell/cell-edit-mode/default-edit.component.d.ts +3 -3
  6. package/lib/components/cell/cell-edit-mode/edit-cell-default.d.ts +2 -3
  7. package/lib/components/cell/cell-edit-mode/edit-cell.component.d.ts +4 -5
  8. package/lib/components/cell/cell-editors/checkbox-editor.component.d.ts +2 -2
  9. package/lib/components/cell/cell-editors/default-editor.d.ts +8 -8
  10. package/lib/components/cell/cell-editors/input-editor.component.d.ts +2 -2
  11. package/lib/components/cell/cell-editors/select-editor.component.d.ts +2 -2
  12. package/lib/components/cell/cell-editors/textarea-editor.component.d.ts +2 -2
  13. package/lib/components/cell/cell-view-mode/custom-view.component.d.ts +1 -1
  14. package/lib/components/cell/cell-view-mode/view-cell.component.d.ts +2 -2
  15. package/lib/components/cell/cell.component.d.ts +8 -8
  16. package/lib/components/filter/custom-filter.component.d.ts +3 -5
  17. package/lib/components/filter/default-filter.component.d.ts +1 -1
  18. package/lib/components/filter/filter-default.d.ts +2 -3
  19. package/lib/components/filter/filter-types/checkbox-filter.component.d.ts +4 -4
  20. package/lib/components/filter/filter-types/default-filter.d.ts +4 -4
  21. package/lib/components/filter/filter-types/input-filter.component.d.ts +4 -4
  22. package/lib/components/filter/filter-types/select-filter.component.d.ts +1 -1
  23. package/lib/components/filter/filter.component.d.ts +2 -2
  24. package/lib/components/pager/pager.component.d.ts +5 -5
  25. package/lib/components/tbody/cells/create-cancel.component.d.ts +4 -4
  26. package/lib/components/tbody/cells/custom.component.d.ts +2 -3
  27. package/lib/components/tbody/cells/edit-delete.component.d.ts +7 -7
  28. package/lib/components/tbody/tbody.component.d.ts +19 -19
  29. package/lib/components/thead/cells/actions-title.component.d.ts +3 -4
  30. package/lib/components/thead/cells/actions.component.d.ts +4 -4
  31. package/lib/components/thead/cells/add-button.component.d.ts +5 -6
  32. package/lib/components/thead/cells/checkbox-select-all.component.d.ts +3 -3
  33. package/lib/components/thead/cells/column-title.component.d.ts +4 -5
  34. package/lib/components/thead/cells/title/title.component.d.ts +8 -8
  35. package/lib/components/thead/rows/thead-filters-row.component.d.ts +4 -4
  36. package/lib/components/thead/rows/thead-form-row.component.d.ts +4 -4
  37. package/lib/components/thead/rows/thead-titles-row.component.d.ts +6 -6
  38. package/lib/components/thead/thead.component.d.ts +7 -7
  39. package/lib/lib/grid.d.ts +20 -11
  40. package/lib/lib/helpers.d.ts +4 -1
  41. package/lib/lib/interfaces/smart-table.models.d.ts +16 -12
  42. package/lib/ng2-smart-table.component.d.ts +20 -21
  43. package/package.json +6 -7
  44. package/public-api.d.ts +0 -1
  45. package/esm2022/den4ik92-ng2-smart-table.mjs +0 -5
  46. package/esm2022/lib/components/cell/cell-edit-mode/custom-edit.component.mjs +0 -44
  47. package/esm2022/lib/components/cell/cell-edit-mode/default-edit.component.mjs +0 -26
  48. package/esm2022/lib/components/cell/cell-edit-mode/edit-cell-default.mjs +0 -35
  49. package/esm2022/lib/components/cell/cell-edit-mode/edit-cell.component.mjs +0 -76
  50. package/esm2022/lib/components/cell/cell-editors/checkbox-editor.component.mjs +0 -40
  51. package/esm2022/lib/components/cell/cell-editors/default-editor.mjs +0 -30
  52. package/esm2022/lib/components/cell/cell-editors/input-editor.component.mjs +0 -37
  53. package/esm2022/lib/components/cell/cell-editors/select-editor.component.mjs +0 -52
  54. package/esm2022/lib/components/cell/cell-editors/textarea-editor.component.mjs +0 -39
  55. package/esm2022/lib/components/cell/cell-view-mode/custom-view.component.mjs +0 -15
  56. package/esm2022/lib/components/cell/cell-view-mode/view-cell.component.mjs +0 -47
  57. package/esm2022/lib/components/cell/cell-view-mode/view-cell.mjs +0 -2
  58. package/esm2022/lib/components/cell/cell.component.mjs +0 -73
  59. package/esm2022/lib/components/cell/cell.module.mjs +0 -75
  60. package/esm2022/lib/components/filter/custom-filter.component.mjs +0 -43
  61. package/esm2022/lib/components/filter/default-filter.component.mjs +0 -73
  62. package/esm2022/lib/components/filter/filter-default.mjs +0 -37
  63. package/esm2022/lib/components/filter/filter-types/checkbox-filter.component.mjs +0 -54
  64. package/esm2022/lib/components/filter/filter-types/default-filter.mjs +0 -36
  65. package/esm2022/lib/components/filter/filter-types/input-filter.component.mjs +0 -53
  66. package/esm2022/lib/components/filter/filter-types/select-filter.component.mjs +0 -58
  67. package/esm2022/lib/components/filter/filter.component.mjs +0 -86
  68. package/esm2022/lib/components/filter/filter.module.mjs +0 -62
  69. package/esm2022/lib/components/pager/pager.component.mjs +0 -241
  70. package/esm2022/lib/components/pager/pager.module.mjs +0 -28
  71. package/esm2022/lib/components/tbody/cells/create-cancel.component.mjs +0 -195
  72. package/esm2022/lib/components/tbody/cells/custom.component.mjs +0 -59
  73. package/esm2022/lib/components/tbody/cells/edit-delete.component.mjs +0 -241
  74. package/esm2022/lib/components/tbody/tbody.component.mjs +0 -95
  75. package/esm2022/lib/components/tbody/tbody.module.mjs +0 -47
  76. package/esm2022/lib/components/thead/cells/actions-title.component.mjs +0 -31
  77. package/esm2022/lib/components/thead/cells/actions.component.mjs +0 -42
  78. package/esm2022/lib/components/thead/cells/add-button.component.mjs +0 -57
  79. package/esm2022/lib/components/thead/cells/checkbox-select-all.component.mjs +0 -25
  80. package/esm2022/lib/components/thead/cells/column-title.component.mjs +0 -34
  81. package/esm2022/lib/components/thead/cells/title/title.component.mjs +0 -87
  82. package/esm2022/lib/components/thead/rows/thead-filters-row.component.mjs +0 -89
  83. package/esm2022/lib/components/thead/rows/thead-form-row.component.mjs +0 -108
  84. package/esm2022/lib/components/thead/rows/thead-titles-row.component.mjs +0 -87
  85. package/esm2022/lib/components/thead/thead.component.mjs +0 -42
  86. package/esm2022/lib/components/thead/thead.module.mjs +0 -75
  87. package/esm2022/lib/lib/data-set/cell.mjs +0 -43
  88. package/esm2022/lib/lib/data-set/column.mjs +0 -74
  89. package/esm2022/lib/lib/data-set/data-set.mjs +0 -96
  90. package/esm2022/lib/lib/data-set/row.mjs +0 -47
  91. package/esm2022/lib/lib/data-source/data-source.mjs +0 -92
  92. package/esm2022/lib/lib/data-source/local/local.data-source.mjs +0 -263
  93. package/esm2022/lib/lib/data-source/local/local.filter.mjs +0 -13
  94. package/esm2022/lib/lib/data-source/local/local.pager.mjs +0 -6
  95. package/esm2022/lib/lib/data-source/local/local.sorter.mjs +0 -19
  96. package/esm2022/lib/lib/grid.mjs +0 -218
  97. package/esm2022/lib/lib/helpers.mjs +0 -84
  98. package/esm2022/lib/lib/interfaces/smart-table.models.mjs +0 -16
  99. package/esm2022/lib/ng2-smart-table.component.mjs +0 -169
  100. package/esm2022/lib/ng2-smart-table.module.mjs +0 -51
  101. package/esm2022/public-api.mjs +0 -12
  102. package/lib/components/cell/cell.module.d.ts +0 -20
  103. package/lib/components/filter/filter.module.d.ts +0 -16
  104. package/lib/components/pager/pager.module.d.ts +0 -9
  105. package/lib/components/tbody/tbody.module.d.ts +0 -13
  106. package/lib/components/thead/thead.module.d.ts +0 -20
  107. package/lib/ng2-smart-table.module.d.ts +0 -14
@@ -1,13 +0,0 @@
1
- export function filterValues(value, search) {
2
- return value.toString().toLowerCase().includes(search.toString().toLowerCase());
3
- }
4
- export class LocalFilter {
5
- static filter(data, field, search, customFilter) {
6
- const filter = customFilter ? customFilter : filterValues;
7
- return data.filter((el) => {
8
- const value = typeof el[field] === 'undefined' || el[field] === null ? '' : el[field];
9
- return filter.call(null, value, search);
10
- });
11
- }
12
- }
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwuZmlsdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmcyLXNtYXJ0LXRhYmxlL3NyYy9saWIvbGliL2RhdGEtc291cmNlL2xvY2FsL2xvY2FsLmZpbHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFVBQVUsWUFBWSxDQUFDLEtBQWEsRUFBRSxNQUFjO0lBQ3hELE9BQU8sS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztBQUNsRixDQUFDO0FBRUQsTUFBTSxPQUFPLFdBQVc7SUFDdEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFXLEVBQUUsS0FBYSxFQUFFLE1BQWMsRUFBRSxZQUF1QjtRQUMvRSxNQUFNLE1BQU0sR0FBYSxZQUFZLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDO1FBRXBFLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFO1lBQ3hCLE1BQU0sS0FBSyxHQUFHLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLFdBQVcsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN0RixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztRQUMxQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBmaWx0ZXJWYWx1ZXModmFsdWU6IHN0cmluZywgc2VhcmNoOiBzdHJpbmcpIHtcbiAgcmV0dXJuIHZhbHVlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2gudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpKTtcbn1cblxuZXhwb3J0IGNsYXNzIExvY2FsRmlsdGVyIHtcbiAgc3RhdGljIGZpbHRlcihkYXRhOiBhbnlbXSwgZmllbGQ6IHN0cmluZywgc2VhcmNoOiBzdHJpbmcsIGN1c3RvbUZpbHRlcj86IEZ1bmN0aW9uKTogYW55W10ge1xuICAgIGNvbnN0IGZpbHRlcjogRnVuY3Rpb24gPSBjdXN0b21GaWx0ZXIgPyBjdXN0b21GaWx0ZXIgOiBmaWx0ZXJWYWx1ZXM7XG5cbiAgICByZXR1cm4gZGF0YS5maWx0ZXIoKGVsKSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHR5cGVvZiBlbFtmaWVsZF0gPT09ICd1bmRlZmluZWQnIHx8IGVsW2ZpZWxkXSA9PT0gbnVsbCA/ICcnIDogZWxbZmllbGRdO1xuICAgICAgcmV0dXJuIGZpbHRlci5jYWxsKG51bGwsIHZhbHVlLCBzZWFyY2gpO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -1,6 +0,0 @@
1
- export class LocalPager {
2
- static paginate(data, page, perPage) {
3
- return data.slice(perPage * (page - 1), perPage * page);
4
- }
5
- }
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwucGFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZzItc21hcnQtdGFibGUvc3JjL2xpYi9saWIvZGF0YS1zb3VyY2UvbG9jYWwvbG9jYWwucGFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFVBQVU7SUFFckIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFnQixFQUFFLElBQVksRUFBRSxPQUFlO1FBQzdELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEVBQUUsT0FBTyxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQzFELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBMb2NhbFBhZ2VyIHtcblxuICBzdGF0aWMgcGFnaW5hdGUoZGF0YTogQXJyYXk8YW55PiwgcGFnZTogbnVtYmVyLCBwZXJQYWdlOiBudW1iZXIpOiBBcnJheTxhbnk+IHtcbiAgICByZXR1cm4gZGF0YS5zbGljZShwZXJQYWdlICogKHBhZ2UgLSAxKSwgcGVyUGFnZSAqIHBhZ2UpO1xuICB9XG59XG4iXX0=
@@ -1,19 +0,0 @@
1
- export function compareValues(direction, a, b) {
2
- if (a < b) {
3
- return -1 * direction;
4
- }
5
- if (a > b) {
6
- return direction;
7
- }
8
- return 0;
9
- }
10
- export class LocalSorter {
11
- static sort(data, field, direction, customCompare) {
12
- const dir = (direction === 'asc') ? 1 : -1;
13
- const compare = customCompare ? customCompare : compareValues;
14
- return data.sort((a, b) => {
15
- return compare.call(null, dir, a[field], b[field]);
16
- });
17
- }
18
- }
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwuc29ydGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmcyLXNtYXJ0LXRhYmxlL3NyYy9saWIvbGliL2RhdGEtc291cmNlL2xvY2FsL2xvY2FsLnNvcnRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFVBQVUsYUFBYSxDQUFDLFNBQWMsRUFBRSxDQUFNLEVBQUUsQ0FBTTtJQUMxRCxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUNWLE9BQU8sQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUNWLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFDRCxPQUFPLENBQUMsQ0FBQztBQUNYLENBQUM7QUFFRCxNQUFNLE9BQU8sV0FBVztJQUV0QixNQUFNLENBQUMsSUFBSSxDQUFDLElBQWdCLEVBQUUsS0FBYSxFQUFFLFNBQWlCLEVBQUUsYUFBd0I7UUFFdEYsTUFBTSxHQUFHLEdBQVcsQ0FBQyxTQUFTLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkQsTUFBTSxPQUFPLEdBQWEsYUFBYSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQztRQUV4RSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDeEIsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3JELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGNvbXBhcmVWYWx1ZXMoZGlyZWN0aW9uOiBhbnksIGE6IGFueSwgYjogYW55KSB7XG4gIGlmIChhIDwgYikge1xuICAgIHJldHVybiAtMSAqIGRpcmVjdGlvbjtcbiAgfVxuICBpZiAoYSA+IGIpIHtcbiAgICByZXR1cm4gZGlyZWN0aW9uO1xuICB9XG4gIHJldHVybiAwO1xufVxuXG5leHBvcnQgY2xhc3MgTG9jYWxTb3J0ZXIge1xuXG4gIHN0YXRpYyBzb3J0KGRhdGE6IEFycmF5PGFueT4sIGZpZWxkOiBzdHJpbmcsIGRpcmVjdGlvbjogc3RyaW5nLCBjdXN0b21Db21wYXJlPzogRnVuY3Rpb24pOiBBcnJheTxhbnk+IHtcblxuICAgIGNvbnN0IGRpcjogbnVtYmVyID0gKGRpcmVjdGlvbiA9PT0gJ2FzYycpID8gMSA6IC0xO1xuICAgIGNvbnN0IGNvbXBhcmU6IEZ1bmN0aW9uID0gY3VzdG9tQ29tcGFyZSA/IGN1c3RvbUNvbXBhcmUgOiBjb21wYXJlVmFsdWVzO1xuXG4gICAgcmV0dXJuIGRhdGEuc29ydCgoYSwgYikgPT4ge1xuICAgICAgcmV0dXJuIGNvbXBhcmUuY2FsbChudWxsLCBkaXIsIGFbZmllbGRdLCBiW2ZpZWxkXSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,218 +0,0 @@
1
- import { Subject } from "rxjs";
2
- import { Deferred, getDeepFromObject } from "./helpers";
3
- import { DataSet } from "./data-set/data-set";
4
- export class Grid {
5
- constructor(source, settings) {
6
- this.createFormShown = false;
7
- this.onSelectRowSource = new Subject();
8
- this.onDeselectRowSource = new Subject();
9
- this.setSettings(settings);
10
- this.setSource(source);
11
- }
12
- detach() {
13
- if (this.sourceOnChangedSubscription) {
14
- this.sourceOnChangedSubscription.unsubscribe();
15
- }
16
- if (this.sourceOnUpdatedSubscription) {
17
- this.sourceOnUpdatedSubscription.unsubscribe();
18
- }
19
- }
20
- showActionColumn(position) {
21
- return this.isCurrentActionsPosition(position) && this.isActionsVisible();
22
- }
23
- isCurrentActionsPosition(position) {
24
- return position == this.getSetting("actions.position");
25
- }
26
- isActionsVisible() {
27
- return (this.getSetting("actions.add", false) ||
28
- this.getSetting("actions.edit", false) ||
29
- this.getSetting("actions.delete", false) ||
30
- !!this.getSetting("actions.custom", [])?.length);
31
- }
32
- isMultiSelectVisible() {
33
- return this.getSetting("selectMode") === "multi";
34
- }
35
- getNewRow() {
36
- return this.dataSet.newRow;
37
- }
38
- setSettings(settings) {
39
- this.settings = settings;
40
- this.dataSet = new DataSet([], this.getSetting("columns"));
41
- if (this.source) {
42
- this.source.refresh();
43
- }
44
- }
45
- getDataSet() {
46
- return this.dataSet;
47
- }
48
- setSource(source) {
49
- this.source = this.prepareSource(source);
50
- this.detach();
51
- this.sourceOnChangedSubscription = this.source
52
- .onChanged()
53
- .subscribe((changes) => this.processDataChange(changes));
54
- this.sourceOnUpdatedSubscription = this.source
55
- .onUpdated()
56
- .subscribe((data) => {
57
- const changedRow = this.dataSet.findRowByData(data);
58
- if (changedRow) {
59
- changedRow.setData(data);
60
- }
61
- });
62
- }
63
- getSetting(name, defaultValue) {
64
- return getDeepFromObject(this.settings, name, defaultValue);
65
- }
66
- getColumns() {
67
- return this.dataSet.getColumns();
68
- }
69
- getRows() {
70
- return this.dataSet.getRows();
71
- }
72
- selectRow(row, state) {
73
- this.dataSet.selectRow(row, state);
74
- }
75
- multipleSelectRow(row) {
76
- this.dataSet.multipleSelectRow(row);
77
- }
78
- onSelectRow() {
79
- return this.onSelectRowSource.asObservable();
80
- }
81
- onDeselectRow() {
82
- return this.onDeselectRowSource.asObservable();
83
- }
84
- edit(row) {
85
- row.isInEditing = true;
86
- }
87
- create(row, confirmEmitter) {
88
- row.pending = true;
89
- const deferred = new Deferred();
90
- deferred.promise
91
- .then((newData) => {
92
- row.pending = false;
93
- newData = newData ? newData : row.getNewData();
94
- this.source.prepend(newData).then(() => {
95
- this.createFormShown = false;
96
- this.dataSet.createNewRow();
97
- });
98
- })
99
- .catch((err) => {
100
- row.pending = false;
101
- });
102
- if (this.getSetting("add.confirmCreate")) {
103
- confirmEmitter.emit({
104
- newData: row.getNewData(),
105
- source: this.source,
106
- confirm: deferred,
107
- });
108
- }
109
- else {
110
- deferred.resolve(false);
111
- }
112
- }
113
- save(row, confirmEmitter) {
114
- row.pending = true;
115
- const deferred = new Deferred();
116
- deferred.promise
117
- .then((newData) => {
118
- row.pending = false;
119
- newData = newData ? newData : row.getNewData();
120
- this.source.update(row.getData(), newData).then(() => {
121
- row.isInEditing = false;
122
- });
123
- })
124
- .catch((err) => {
125
- row.pending = false;
126
- });
127
- if (this.getSetting("edit.confirmSave")) {
128
- confirmEmitter.emit({
129
- data: row.getData(),
130
- newData: row.getNewData(),
131
- source: this.source,
132
- confirm: deferred,
133
- });
134
- }
135
- else {
136
- deferred.resolve(false);
137
- }
138
- }
139
- delete(row, confirmEmitter) {
140
- row.pending = true;
141
- const deferred = new Deferred();
142
- deferred.promise
143
- .then(() => {
144
- row.pending = false;
145
- this.source.remove(row.getData());
146
- })
147
- .catch((err) => {
148
- row.pending = false;
149
- // doing nothing
150
- });
151
- if (this.getSetting("delete.confirmDelete")) {
152
- confirmEmitter.emit({
153
- data: row.getData(),
154
- source: this.source,
155
- confirm: deferred,
156
- });
157
- }
158
- else {
159
- deferred.resolve(false);
160
- }
161
- if (row.isSelected) {
162
- this.dataSet.selectRow(row, false);
163
- }
164
- }
165
- processDataChange(changes) {
166
- if (this.shouldProcessChange(changes)) {
167
- if (changes["action"] === "load") {
168
- this.dataSet.deselectAll();
169
- }
170
- this.dataSet.setData(changes["elements"]);
171
- }
172
- }
173
- shouldProcessChange(changes) {
174
- if (["filter", "sort", "page", "remove", "refresh", "load", "paging"].indexOf(changes["action"]) !== -1) {
175
- return true;
176
- }
177
- else if (["prepend", "append"].indexOf(changes["action"]) !== -1 &&
178
- !this.getSetting("pager.display")) {
179
- return true;
180
- }
181
- return false;
182
- }
183
- prepareSource(source) {
184
- const initialSort = this.getInitialSort();
185
- if (initialSort) {
186
- source.setSort([initialSort], false);
187
- }
188
- if (this.getSetting("pager.display") === true) {
189
- source.setPaging(1, this.getSetting("pager.perPage"), false);
190
- }
191
- source.refresh();
192
- return source;
193
- }
194
- getInitialSort() {
195
- const defaultSortColumn = this.getColumns().find((column) => column.isSortable && column.defaultSortDirection);
196
- if (!defaultSortColumn) {
197
- return false;
198
- }
199
- return {
200
- field: defaultSortColumn.id,
201
- direction: defaultSortColumn.defaultSortDirection || "asc",
202
- compare: defaultSortColumn.getCompareFunction(),
203
- };
204
- }
205
- getSelectedRowsData() {
206
- return this.dataSet.getRows();
207
- }
208
- selectAllRows(status) {
209
- this.dataSet.setSelectAll(status);
210
- }
211
- getFirstRow() {
212
- return this.dataSet.getFirstRow();
213
- }
214
- getLastRow() {
215
- return this.dataSet.getLastRow();
216
- }
217
- }
218
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nMi1zbWFydC10YWJsZS9zcmMvbGliL2xpYi9ncmlkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBSTdDLE9BQU8sRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFHeEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBTzlDLE1BQU0sT0FBTyxJQUFJO0lBYWYsWUFBWSxNQUF1QixFQUFFLFFBQTRCO1FBWmpFLG9CQUFlLEdBQVksS0FBSyxDQUFDO1FBTWpDLHNCQUFpQixHQUFHLElBQUksT0FBTyxFQUFPLENBQUM7UUFDdkMsd0JBQW1CLEdBQUcsSUFBSSxPQUFPLEVBQU8sQ0FBQztRQU12QyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLElBQUksQ0FBQywyQkFBMkIsRUFBRSxDQUFDO1lBQ3JDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNqRCxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztZQUNyQyxJQUFJLENBQUMsMkJBQTJCLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDakQsQ0FBQztJQUNILENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxRQUFnQjtRQUMvQixPQUFPLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUM1RSxDQUFDO0lBRUQsd0JBQXdCLENBQUMsUUFBZ0I7UUFDdkMsT0FBTyxRQUFRLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxr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QUFJLENBQzlDLENBQUMsTUFBYyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsVUFBVSxJQUFJLE1BQU0sQ0FBQyxvQkFBb0IsQ0FDckUsQ0FBQztRQUNGLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUNELE9BQU87WUFDTCxLQUFLLEVBQUUsaUJBQWlCLENBQUMsRUFBRTtZQUMzQixTQUFTLEVBQUUsaUJBQWlCLENBQUMsb0JBQW9CLElBQUksS0FBSztZQUMxRCxPQUFPLEVBQUUsaUJBQWlCLENBQUMsa0JBQWtCLEVBQUU7U0FDaEQsQ0FBQztJQUNKLENBQUM7SUFFRCxtQkFBbUI7UUFDakIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxhQUFhLENBQUMsTUFBZTtRQUMzQixJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2NhbERhdGFTb3VyY2UgfSBmcm9tIFwiLi9kYXRhLXNvdXJjZS9sb2NhbC9sb2NhbC5kYXRhLXNvdXJjZVwiO1xuaW1wb3J0IHsgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgRXZlbnRFbWl0dGVyIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuaW1wb3J0IHsgRGVmZXJyZWQsIGdldERlZXBGcm9tT2JqZWN0IH0gZnJvbSBcIi4vaGVscGVyc1wiO1xuaW1wb3J0IHsgQ29sdW1uIH0gZnJvbSBcIi4vZGF0YS1zZXQvY29sdW1uXCI7XG5pbXBvcnQgeyBSb3cgfSBmcm9tIFwiLi9kYXRhLXNldC9yb3dcIjtcbmltcG9ydCB7IERhdGFTZXQgfSBmcm9tIFwiLi9kYXRhLXNldC9kYXRhLXNldFwiO1xuaW1wb3J0IHtcbiAgU21hcnRUYWJsZVNldHRpbmdzLFxuICBTbWFydFRhYmxlQ29sdW1uU2V0dGluZ3MsXG4gIFNtYXJ0VGFibGVTb3J0SXRlbSxcbn0gZnJvbSBcIi4vaW50ZXJmYWNlcy9zbWFydC10YWJsZS5tb2RlbHNcIjtcblxuZXhwb3J0IGNsYXNzIEdyaWQge1xuICBjcmVhdGVGb3JtU2hvd246IGJvb2xlYW4gPSBmYWxzZTtcblxuICBzb3VyY2UhOiBMb2NhbERhdGFTb3VyY2U7XG4gIHNldHRpbmdzITogU21hcnRUYWJsZVNldHRpbmdzO1xuICBkYXRhU2V0ITogRGF0YVNldDtcblxuICBvblNlbGVjdFJvd1NvdXJjZSA9IG5ldyBTdWJqZWN0PGFueT4oKTtcbiAgb25EZXNlbGVjdFJvd1NvdXJjZSA9IG5ldyBTdWJqZWN0PGFueT4oKTtcblxuICBwcml2YXRlIHNvdXJjZU9uQ2hhbmdlZFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIHNvdXJjZU9uVXBkYXRlZFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKHNvdXJjZTogTG9jYWxEYXRhU291cmNlLCBzZXR0aW5nczogU21hcnRUYWJsZVNldHRpbmdzKSB7XG4gICAgdGhpcy5zZXRTZXR0aW5ncyhzZXR0aW5ncyk7XG4gICAgdGhpcy5zZXRTb3VyY2Uoc291cmNlKTtcbiAgfVxuXG4gIGRldGFjaCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zb3VyY2VPbkNoYW5nZWRTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuc291cmNlT25DaGFuZ2VkU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLnNvdXJjZU9uVXBkYXRlZFN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5zb3VyY2VPblVwZGF0ZWRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBzaG93QWN0aW9uQ29sdW1uKHBvc2l0aW9uOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc0N1cnJlbnRBY3Rpb25zUG9zaXRpb24ocG9zaXRpb24pICYmIHRoaXMuaXNBY3Rpb25zVmlzaWJsZSgpO1xuICB9XG5cbiAgaXNDdXJyZW50QWN0aW9uc1Bvc2l0aW9uKHBvc2l0aW9uOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gcG9zaXRpb24gPT0gdGhpcy5nZXRTZXR0aW5nKFwiYWN0aW9ucy5wb3NpdGlvblwiKTtcbiAgfVxuXG4gIGlzQWN0aW9uc1Zpc2libGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuZ2V0U2V0dGluZzxib29sZWFuPihcImFjdGlvbnMuYWRkXCIsIGZhbHNlKSB8fFxuICAgICAgdGhpcy5nZXRTZXR0aW5nPGJvb2xlYW4+KFwiYWN0aW9ucy5lZGl0XCIsIGZhbHNlKSB8fFxuICAgICAgdGhpcy5nZXRTZXR0aW5nPGJvb2xlYW4+KFwiYWN0aW9ucy5kZWxldGVcIiwgZmFsc2UpIHx8XG4gICAgICAhIXRoaXMuZ2V0U2V0dGluZzxbXT4oXCJhY3Rpb25zLmN1c3RvbVwiLCBbXSk/Lmxlbmd0aFxuICAgICk7XG4gIH1cblxuICBpc011bHRpU2VsZWN0VmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5nZXRTZXR0aW5nKFwic2VsZWN0TW9kZVwiKSA9PT0gXCJtdWx0aVwiO1xuICB9XG5cbiAgZ2V0TmV3Um93KCk6IFJvdyB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YVNldC5uZXdSb3c7XG4gIH1cblxuICBzZXRTZXR0aW5ncyhzZXR0aW5nczogU21hcnRUYWJsZVNldHRpbmdzKSB7XG4gICAgdGhpcy5zZXR0aW5ncyA9IHNldHRpbmdzO1xuICAgIHRoaXMuZGF0YVNldCA9IG5ldyBEYXRhU2V0KFxuICAgICAgW10sXG4gICAgICB0aGlzLmdldFNldHRpbmc8U21hcnRUYWJsZUNvbHVtblNldHRpbmdzW10+KFwiY29sdW1uc1wiKVxuICAgICk7XG5cbiAgICBpZiAodGhpcy5zb3VyY2UpIHtcbiAgICAgIHRoaXMuc291cmNlLnJlZnJlc2goKTtcbiAgICB9XG4gIH1cblxuICBnZXREYXRhU2V0KCk6IERhdGFTZXQge1xuICAgIHJldHVybiB0aGlzLmRhdGFTZXQ7XG4gIH1cblxuICBzZXRTb3VyY2Uoc291cmNlOiBMb2NhbERhdGFTb3VyY2UpIHtcbiAgICB0aGlzLnNvdXJjZSA9IHRoaXMucHJlcGFyZVNvdXJjZShzb3VyY2UpO1xuICAgIHRoaXMuZGV0YWNoKCk7XG5cbiAgICB0aGlzLnNvdXJjZU9uQ2hhbmdlZFN1YnNjcmlwdGlvbiA9IHRoaXMuc291cmNlXG4gICAgICAub25DaGFuZ2VkKClcbiAgICAgIC5zdWJzY3JpYmUoKGNoYW5nZXM6IGFueSkgPT4gdGhpcy5wcm9jZXNzRGF0YUNoYW5nZShjaGFuZ2VzKSk7XG5cbiAgICB0aGlzLnNvdXJjZU9uVXBkYXRlZFN1YnNjcmlwdGlvbiA9IHRoaXMuc291cmNlXG4gICAgICAub25VcGRhdGVkKClcbiAgICAgIC5zdWJzY3JpYmUoKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICBjb25zdCBjaGFuZ2VkUm93ID0gdGhpcy5kYXRhU2V0LmZpbmRSb3dCeURhdGEoZGF0YSk7XG4gICAgICAgIGlmIChjaGFuZ2VkUm93KSB7XG4gICAgICAgICAgY2hhbmdlZFJvdy5zZXREYXRhKGRhdGEpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIGdldFNldHRpbmc8VD4obmFtZTogc3RyaW5nLCBkZWZhdWx0VmFsdWU/OiBhbnkpOiBUIHtcbiAgICByZXR1cm4gZ2V0RGVlcEZyb21PYmplY3QodGhpcy5zZXR0aW5ncywgbmFtZSwgZGVmYXVsdFZhbHVlKTtcbiAgfVxuXG4gIGdldENvbHVtbnMoKTogQXJyYXk8Q29sdW1uPiB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YVNldC5nZXRDb2x1bW5zKCk7XG4gIH1cblxuICBnZXRSb3dzKCk6IEFycmF5PFJvdz4ge1xuICAgIHJldHVybiB0aGlzLmRhdGFTZXQuZ2V0Um93cygpO1xuICB9XG5cbiAgc2VsZWN0Um93KHJvdzogUm93LCBzdGF0ZTogYm9vbGVhbikge1xuICAgIHRoaXMuZGF0YVNldC5zZWxlY3RSb3cocm93LCBzdGF0ZSk7XG4gIH1cblxuICBtdWx0aXBsZVNlbGVjdFJvdyhyb3c6IFJvdykge1xuICAgIHRoaXMuZGF0YVNldC5tdWx0aXBsZVNlbGVjdFJvdyhyb3cpO1xuICB9XG5cbiAgb25TZWxlY3RSb3coKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5vblNlbGVjdFJvd1NvdXJjZS5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIG9uRGVzZWxlY3RSb3coKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5vbkRlc2VsZWN0Um93U291cmNlLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZWRpdChyb3c6IFJvdykge1xuICAgIHJvdy5pc0luRWRpdGluZyA9IHRydWU7XG4gIH1cblxuICBjcmVhdGUocm93OiBSb3csIGNvbmZpcm1FbWl0dGVyOiBFdmVudEVtaXR0ZXI8YW55Pikge1xuICAgIHJvdy5wZW5kaW5nID0gdHJ1ZTtcbiAgICBjb25zdCBkZWZlcnJlZCA9IG5ldyBEZWZlcnJlZCgpO1xuICAgIGRlZmVycmVkLnByb21pc2VcbiAgICAgIC50aGVuKChuZXdEYXRhKSA9PiB7XG4gICAgICAgIHJvdy5wZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIG5ld0RhdGEgPSBuZXdEYXRhID8gbmV3RGF0YSA6IHJvdy5nZXROZXdEYXRhKCk7XG4gICAgICAgIHRoaXMuc291cmNlLnByZXBlbmQobmV3RGF0YSkudGhlbigoKSA9PiB7XG4gICAgICAgICAgdGhpcy5jcmVhdGVGb3JtU2hvd24gPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLmRhdGFTZXQuY3JlYXRlTmV3Um93KCk7XG4gICAgICAgIH0pO1xuICAgICAgfSlcbiAgICAgIC5jYXRjaCgoZXJyKSA9PiB7XG4gICAgICAgIHJvdy5wZW5kaW5nID0gZmFsc2U7XG4gICAgICB9KTtcblxuICAgIGlmICh0aGlzLmdldFNldHRpbmcoXCJhZGQuY29uZmlybUNyZWF0ZVwiKSkge1xuICAgICAgY29uZmlybUVtaXR0ZXIuZW1pdCh7XG4gICAgICAgIG5ld0RhdGE6IHJvdy5nZXROZXdEYXRhKCksXG4gICAgICAgIHNvdXJjZTogdGhpcy5zb3VyY2UsXG4gICAgICAgIGNvbmZpcm06IGRlZmVycmVkLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRlZmVycmVkLnJlc29sdmUoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIHNhdmUocm93OiBSb3csIGNvbmZpcm1FbWl0dGVyOiBFdmVudEVtaXR0ZXI8YW55Pikge1xuICAgIHJvdy5wZW5kaW5nID0gdHJ1ZTtcbiAgICBjb25zdCBkZWZlcnJlZCA9IG5ldyBEZWZlcnJlZCgpO1xuICAgIGRlZmVycmVkLnByb21pc2VcbiAgICAgIC50aGVuKChuZXdEYXRhKSA9PiB7XG4gICAgICAgIHJvdy5wZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIG5ld0RhdGEgPSBuZXdEYXRhID8gbmV3RGF0YSA6IHJvdy5nZXROZXdEYXRhKCk7XG4gICAgICAgIHRoaXMuc291cmNlLnVwZGF0ZShyb3cuZ2V0RGF0YSgpLCBuZXdEYXRhKS50aGVuKCgpID0+IHtcbiAgICAgICAgICByb3cuaXNJbkVkaXRpbmcgPSBmYWxzZTtcbiAgICAgICAgfSk7XG4gICAgICB9KVxuICAgICAgLmNhdGNoKChlcnIpID0+IHtcbiAgICAgICAgcm93LnBlbmRpbmcgPSBmYWxzZTtcbiAgICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuZ2V0U2V0dGluZyhcImVkaXQuY29uZmlybVNhdmVcIikpIHtcbiAgICAgIGNvbmZpcm1FbWl0dGVyLmVtaXQoe1xuICAgICAgICBkYXRhOiByb3cuZ2V0RGF0YSgpLFxuICAgICAgICBuZXdEYXRhOiByb3cuZ2V0TmV3RGF0YSgpLFxuICAgICAgICBzb3VyY2U6IHRoaXMuc291cmNlLFxuICAgICAgICBjb25maXJtOiBkZWZlcnJlZCxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBkZWZlcnJlZC5yZXNvbHZlKGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBkZWxldGUocm93OiBSb3csIGNvbmZpcm1FbWl0dGVyOiBFdmVudEVtaXR0ZXI8YW55Pikge1xuICAgIHJvdy5wZW5kaW5nID0gdHJ1ZTtcbiAgICBjb25zdCBkZWZlcnJlZCA9IG5ldyBEZWZlcnJlZCgpO1xuICAgIGRlZmVycmVkLnByb21pc2VcbiAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgcm93LnBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5zb3VyY2UucmVtb3ZlKHJvdy5nZXREYXRhKCkpO1xuICAgICAgfSlcbiAgICAgIC5jYXRjaCgoZXJyKSA9PiB7XG4gICAgICAgIHJvdy5wZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIC8vIGRvaW5nIG5vdGhpbmdcbiAgICAgIH0pO1xuICAgIGlmICh0aGlzLmdldFNldHRpbmcoXCJkZWxldGUuY29uZmlybURlbGV0ZVwiKSkge1xuICAgICAgY29uZmlybUVtaXR0ZXIuZW1pdCh7XG4gICAgICAgIGRhdGE6IHJvdy5nZXREYXRhKCksXG4gICAgICAgIHNvdXJjZTogdGhpcy5zb3VyY2UsXG4gICAgICAgIGNvbmZpcm06IGRlZmVycmVkLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRlZmVycmVkLnJlc29sdmUoZmFsc2UpO1xuICAgIH1cbiAgICBpZiAocm93LmlzU2VsZWN0ZWQpIHtcbiAgICAgIHRoaXMuZGF0YVNldC5zZWxlY3RSb3cocm93LCBmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgcHJvY2Vzc0RhdGFDaGFuZ2UoY2hhbmdlczogYW55KSB7XG4gICAgaWYgKHRoaXMuc2hvdWxkUHJvY2Vzc0NoYW5nZShjaGFuZ2VzKSkge1xuICAgICAgaWYgKGNoYW5nZXNbXCJhY3Rpb25cIl0gPT09IFwibG9hZFwiKSB7XG4gICAgICAgIHRoaXMuZGF0YVNldC5kZXNlbGVjdEFsbCgpO1xuICAgICAgfVxuICAgICAgdGhpcy5kYXRhU2V0LnNldERhdGEoY2hhbmdlc1tcImVsZW1lbnRzXCJdKTtcbiAgICB9XG4gIH1cblxuICBzaG91bGRQcm9jZXNzQ2hhbmdlKGNoYW5nZXM6IGFueSk6IGJvb2xlYW4ge1xuICAgIGlmIChcbiAgICAgIFtcImZpbHRlclwiLCBcInNvcnRcIiwgXCJwYWdlXCIsIFwicmVtb3ZlXCIsIFwicmVmcmVzaFwiLCBcImxvYWRcIiwgXCJwYWdpbmdcIl0uaW5kZXhPZihcbiAgICAgICAgY2hhbmdlc1tcImFjdGlvblwiXVxuICAgICAgKSAhPT0gLTFcbiAgICApIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gZWxzZSBpZiAoXG4gICAgICBbXCJwcmVwZW5kXCIsIFwiYXBwZW5kXCJdLmluZGV4T2YoY2hhbmdlc1tcImFjdGlvblwiXSkgIT09IC0xICYmXG4gICAgICAhdGhpcy5nZXRTZXR0aW5nKFwicGFnZXIuZGlzcGxheVwiKVxuICAgICkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByZXBhcmVTb3VyY2Uoc291cmNlOiBMb2NhbERhdGFTb3VyY2UpOiBMb2NhbERhdGFTb3VyY2Uge1xuICAgIGNvbnN0IGluaXRpYWxTb3J0OiBTbWFydFRhYmxlU29ydEl0ZW0gfCBmYWxzZSA9IHRoaXMuZ2V0SW5pdGlhbFNvcnQoKTtcbiAgICBpZiAoaW5pdGlhbFNvcnQpIHtcbiAgICAgIHNvdXJjZS5zZXRTb3J0KFtpbml0aWFsU29ydF0sIGZhbHNlKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuZ2V0U2V0dGluZyhcInBhZ2VyLmRpc3BsYXlcIikgPT09IHRydWUpIHtcbiAgICAgIHNvdXJjZS5zZXRQYWdpbmcoMSwgdGhpcy5nZXRTZXR0aW5nKFwicGFnZXIucGVyUGFnZVwiKSwgZmFsc2UpO1xuICAgIH1cblxuICAgIHNvdXJjZS5yZWZyZXNoKCk7XG4gICAgcmV0dXJuIHNvdXJjZTtcbiAgfVxuXG4gIGdldEluaXRpYWxTb3J0KCk6IFNtYXJ0VGFibGVTb3J0SXRlbSB8IGZhbHNlIHtcbiAgICBjb25zdCBkZWZhdWx0U29ydENvbHVtbiA9IHRoaXMuZ2V0Q29sdW1ucygpLmZpbmQoXG4gICAgICAoY29sdW1uOiBDb2x1bW4pID0+IGNvbHVtbi5pc1NvcnRhYmxlICYmIGNvbHVtbi5kZWZhdWx0U29ydERpcmVjdGlvblxuICAgICk7XG4gICAgaWYgKCFkZWZhdWx0U29ydENvbHVtbikge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgZmllbGQ6IGRlZmF1bHRTb3J0Q29sdW1uLmlkLFxuICAgICAgZGlyZWN0aW9uOiBkZWZhdWx0U29ydENvbHVtbi5kZWZhdWx0U29ydERpcmVjdGlvbiB8fCBcImFzY1wiLFxuICAgICAgY29tcGFyZTogZGVmYXVsdFNvcnRDb2x1bW4uZ2V0Q29tcGFyZUZ1bmN0aW9uKCksXG4gICAgfTtcbiAgfVxuXG4gIGdldFNlbGVjdGVkUm93c0RhdGEoKTogQXJyYXk8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YVNldC5nZXRSb3dzKCk7XG4gIH1cblxuICBzZWxlY3RBbGxSb3dzKHN0YXR1czogYm9vbGVhbikge1xuICAgIHRoaXMuZGF0YVNldC5zZXRTZWxlY3RBbGwoc3RhdHVzKTtcbiAgfVxuXG4gIGdldEZpcnN0Um93KCk6IFJvdyB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YVNldC5nZXRGaXJzdFJvdygpO1xuICB9XG5cbiAgZ2V0TGFzdFJvdygpOiBSb3cge1xuICAgIHJldHVybiB0aGlzLmRhdGFTZXQuZ2V0TGFzdFJvdygpO1xuICB9XG59XG4iXX0=
@@ -1,84 +0,0 @@
1
- /**
2
- * Extending object that entered in first argument.
3
- *
4
- * Returns extended object or false if have no target object or incorrect type.
5
- *
6
- * If you wish to clone source object (without modify it), just use empty new
7
- * object as first argument, like this:
8
- * deepExtend({}, yourObj_1, [yourObj_N]);
9
- */
10
- export const deepExtend = function (...objects) {
11
- if (arguments.length < 1 || typeof arguments[0] !== 'object') {
12
- return false;
13
- }
14
- if (arguments.length < 2) {
15
- return arguments[0];
16
- }
17
- const target = arguments[0];
18
- // convert arguments to array and cut off target object
19
- const args = Array.prototype.slice.call(arguments, 1);
20
- let val, src;
21
- args.forEach((obj) => {
22
- // skip argument if it is array or isn't object
23
- if (typeof obj !== 'object' || Array.isArray(obj)) {
24
- return;
25
- }
26
- Object.keys(obj).forEach(function (key) {
27
- src = target[key]; // source value
28
- val = obj[key]; // new value
29
- // recursion prevention
30
- if (val === target) {
31
- return;
32
- /**
33
- * if new value isn't object then just overwrite by new value
34
- * instead of extending.
35
- */
36
- }
37
- else if (typeof val !== 'object' || val === null) {
38
- target[key] = val;
39
- return;
40
- // just clone arrays (and recursive clone objects inside)
41
- }
42
- else if (Array.isArray(val)) {
43
- target[key] = [...val];
44
- return;
45
- // overwrite by new value if source isn't object or array
46
- }
47
- else if (typeof src !== 'object' || src === null || Array.isArray(src)) {
48
- target[key] = deepExtend({}, val);
49
- return;
50
- // source value and new value is objects both, extending...
51
- }
52
- else {
53
- target[key] = deepExtend(src, val);
54
- return;
55
- }
56
- });
57
- });
58
- return target;
59
- };
60
- export class Deferred {
61
- constructor() {
62
- this.promise = new Promise((resolve, reject) => {
63
- this.resolve = resolve;
64
- this.reject = reject;
65
- });
66
- }
67
- }
68
- // getDeepFromObject({result: {data: 1}}, 'result.data', 2); // returns 1
69
- export function getDeepFromObject(object = {}, name, defaultValue = null) {
70
- const keys = name.split('.');
71
- // clone the object
72
- let level = deepExtend({}, object);
73
- keys.forEach((k) => {
74
- if (level && typeof level[k] !== 'undefined') {
75
- level = level[k];
76
- }
77
- });
78
- return typeof level === 'undefined' ? defaultValue : level;
79
- }
80
- export function getPageForRowIndex(index, perPage) {
81
- // we need to add 1 to convert 0-based index to 1-based page number.
82
- return Math.floor(index / perPage) + 1;
83
- }
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nMi1zbWFydC10YWJsZS9zcmMvbGliL2xpYi9oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLFVBQVMsR0FBRyxPQUFtQjtJQUN2RCxJQUFJLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLE9BQU8sU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzdELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELElBQUksU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUN6QixPQUFPLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0QixDQUFDO0lBRUQsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRTVCLHVEQUF1RDtJQUN2RCxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRXRELElBQUksR0FBRyxFQUFFLEdBQUcsQ0FBQztJQUViLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRTtRQUN4QiwrQ0FBK0M7UUFDL0MsSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2xELE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxHQUFHO1lBQ3BDLEdBQUcsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxlQUFlO1lBQ2xDLEdBQUcsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxZQUFZO1lBRTVCLHVCQUF1QjtZQUN2QixJQUFJLEdBQUcsS0FBSyxNQUFNLEVBQUUsQ0FBQztnQkFDbkIsT0FBTztnQkFFUDs7O21CQUdHO1lBQ0wsQ0FBQztpQkFBTSxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsSUFBSSxHQUFHLEtBQUssSUFBSSxFQUFFLENBQUM7Z0JBQ25ELE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUM7Z0JBQ2xCLE9BQU87Z0JBRVAseURBQXlEO1lBQzNELENBQUM7aUJBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQzlCLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7Z0JBQ3ZCLE9BQU87Z0JBRVAseURBQXlEO1lBQzNELENBQUM7aUJBQU0sSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLElBQUksR0FBRyxLQUFLLElBQUksSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ3pFLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxVQUFVLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO2dCQUNsQyxPQUFPO2dCQUVQLDJEQUEyRDtZQUM3RCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7Z0JBQ25DLE9BQU87WUFDVCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMsQ0FBQztBQUVGLE1BQU0sT0FBTyxRQUFRO0lBS25CO1FBQ0UsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLE9BQU8sQ0FBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNoRCxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQWMsQ0FBQztZQUM5QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUN2QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQUVELHlFQUF5RTtBQUN6RSxNQUFNLFVBQVUsaUJBQWlCLENBQUMsTUFBTSxHQUFHLEVBQUUsRUFBRSxJQUFZLEVBQUUsZUFBb0IsSUFBSTtJQUNuRixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzdCLG1CQUFtQjtJQUNuQixJQUFJLEtBQUssR0FBRyxVQUFVLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ25DLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtRQUNqQixJQUFJLEtBQUssSUFBSSxPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxXQUFXLEVBQUUsQ0FBQztZQUM3QyxLQUFLLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25CLENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUNILE9BQU8sT0FBTyxLQUFLLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUM3RCxDQUFDO0FBRUQsTUFBTSxVQUFVLGtCQUFrQixDQUFDLEtBQWEsRUFBRSxPQUFlO0lBQy9ELG9FQUFvRTtJQUNwRSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN6QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBFeHRlbmRpbmcgb2JqZWN0IHRoYXQgZW50ZXJlZCBpbiBmaXJzdCBhcmd1bWVudC5cbiAqXG4gKiBSZXR1cm5zIGV4dGVuZGVkIG9iamVjdCBvciBmYWxzZSBpZiBoYXZlIG5vIHRhcmdldCBvYmplY3Qgb3IgaW5jb3JyZWN0IHR5cGUuXG4gKlxuICogSWYgeW91IHdpc2ggdG8gY2xvbmUgc291cmNlIG9iamVjdCAod2l0aG91dCBtb2RpZnkgaXQpLCBqdXN0IHVzZSBlbXB0eSBuZXdcbiAqIG9iamVjdCBhcyBmaXJzdCBhcmd1bWVudCwgbGlrZSB0aGlzOlxuICogICBkZWVwRXh0ZW5kKHt9LCB5b3VyT2JqXzEsIFt5b3VyT2JqX05dKTtcbiAqL1xuZXhwb3J0IGNvbnN0IGRlZXBFeHRlbmQgPSBmdW5jdGlvbiguLi5vYmplY3RzOiBBcnJheTxhbnk+KTogYW55IHtcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAxIHx8IHR5cGVvZiBhcmd1bWVudHNbMF0gIT09ICdvYmplY3QnKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAyKSB7XG4gICAgcmV0dXJuIGFyZ3VtZW50c1swXTtcbiAgfVxuXG4gIGNvbnN0IHRhcmdldCA9IGFyZ3VtZW50c1swXTtcblxuICAvLyBjb252ZXJ0IGFyZ3VtZW50cyB0byBhcnJheSBhbmQgY3V0IG9mZiB0YXJnZXQgb2JqZWN0XG4gIGNvbnN0IGFyZ3MgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsIDEpO1xuXG4gIGxldCB2YWwsIHNyYztcblxuICBhcmdzLmZvckVhY2goKG9iajogYW55KSA9PiB7XG4gICAgLy8gc2tpcCBhcmd1bWVudCBpZiBpdCBpcyBhcnJheSBvciBpc24ndCBvYmplY3RcbiAgICBpZiAodHlwZW9mIG9iaiAhPT0gJ29iamVjdCcgfHwgQXJyYXkuaXNBcnJheShvYmopKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgT2JqZWN0LmtleXMob2JqKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHtcbiAgICAgIHNyYyA9IHRhcmdldFtrZXldOyAvLyBzb3VyY2UgdmFsdWVcbiAgICAgIHZhbCA9IG9ialtrZXldOyAvLyBuZXcgdmFsdWVcblxuICAgICAgLy8gcmVjdXJzaW9uIHByZXZlbnRpb25cbiAgICAgIGlmICh2YWwgPT09IHRhcmdldCkge1xuICAgICAgICByZXR1cm47XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIGlmIG5ldyB2YWx1ZSBpc24ndCBvYmplY3QgdGhlbiBqdXN0IG92ZXJ3cml0ZSBieSBuZXcgdmFsdWVcbiAgICAgICAgICogaW5zdGVhZCBvZiBleHRlbmRpbmcuXG4gICAgICAgICAqL1xuICAgICAgfSBlbHNlIGlmICh0eXBlb2YgdmFsICE9PSAnb2JqZWN0JyB8fCB2YWwgPT09IG51bGwpIHtcbiAgICAgICAgdGFyZ2V0W2tleV0gPSB2YWw7XG4gICAgICAgIHJldHVybjtcblxuICAgICAgICAvLyBqdXN0IGNsb25lIGFycmF5cyAoYW5kIHJlY3Vyc2l2ZSBjbG9uZSBvYmplY3RzIGluc2lkZSlcbiAgICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheSh2YWwpKSB7XG4gICAgICAgIHRhcmdldFtrZXldID0gWy4uLnZhbF07XG4gICAgICAgIHJldHVybjtcblxuICAgICAgICAvLyBvdmVyd3JpdGUgYnkgbmV3IHZhbHVlIGlmIHNvdXJjZSBpc24ndCBvYmplY3Qgb3IgYXJyYXlcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHNyYyAhPT0gJ29iamVjdCcgfHwgc3JjID09PSBudWxsIHx8IEFycmF5LmlzQXJyYXkoc3JjKSkge1xuICAgICAgICB0YXJnZXRba2V5XSA9IGRlZXBFeHRlbmQoe30sIHZhbCk7XG4gICAgICAgIHJldHVybjtcblxuICAgICAgICAvLyBzb3VyY2UgdmFsdWUgYW5kIG5ldyB2YWx1ZSBpcyBvYmplY3RzIGJvdGgsIGV4dGVuZGluZy4uLlxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGFyZ2V0W2tleV0gPSBkZWVwRXh0ZW5kKHNyYywgdmFsKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH0pO1xuICB9KTtcblxuICByZXR1cm4gdGFyZ2V0O1xufTtcblxuZXhwb3J0IGNsYXNzIERlZmVycmVkPFQ+IHtcbiAgcHJvbWlzZTogUHJvbWlzZTxUPjtcbiAgcmVzb2x2ZSE6ICh2YWx1ZT86IFQpID0+IHZvaWQ7XG4gIHJlamVjdCE6IChyZWFzb24/OiBzdHJpbmcpID0+IHZvaWQ7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5wcm9taXNlID0gbmV3IFByb21pc2U8VD4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgdGhpcy5yZXNvbHZlID0gcmVzb2x2ZSBhcyBhbnk7XG4gICAgICB0aGlzLnJlamVjdCA9IHJlamVjdDtcbiAgICB9KTtcbiAgfVxufVxuXG4vLyBnZXREZWVwRnJvbU9iamVjdCh7cmVzdWx0OiB7ZGF0YTogMX19LCAncmVzdWx0LmRhdGEnLCAyKTsgLy8gcmV0dXJucyAxXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGVlcEZyb21PYmplY3Qob2JqZWN0ID0ge30sIG5hbWU6IHN0cmluZywgZGVmYXVsdFZhbHVlOiBhbnkgPSBudWxsKSB7XG4gIGNvbnN0IGtleXMgPSBuYW1lLnNwbGl0KCcuJyk7XG4gIC8vIGNsb25lIHRoZSBvYmplY3RcbiAgbGV0IGxldmVsID0gZGVlcEV4dGVuZCh7fSwgb2JqZWN0KTtcbiAga2V5cy5mb3JFYWNoKChrKSA9PiB7XG4gICAgaWYgKGxldmVsICYmIHR5cGVvZiBsZXZlbFtrXSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIGxldmVsID0gbGV2ZWxba107XG4gICAgfVxuICB9KTtcbiAgcmV0dXJuIHR5cGVvZiBsZXZlbCA9PT0gJ3VuZGVmaW5lZCcgPyBkZWZhdWx0VmFsdWUgOiBsZXZlbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFBhZ2VGb3JSb3dJbmRleChpbmRleDogbnVtYmVyLCBwZXJQYWdlOiBudW1iZXIpOiBudW1iZXIge1xuICAvLyB3ZSBuZWVkIHRvIGFkZCAxIHRvIGNvbnZlcnQgMC1iYXNlZCBpbmRleCB0byAxLWJhc2VkIHBhZ2UgbnVtYmVyLlxuICByZXR1cm4gTWF0aC5mbG9vcihpbmRleCAvIHBlclBhZ2UpICsgMTtcbn1cbiJdfQ==
@@ -1,16 +0,0 @@
1
- export var SmartTableOnChangedEventName;
2
- (function (SmartTableOnChangedEventName) {
3
- SmartTableOnChangedEventName["load"] = "load";
4
- SmartTableOnChangedEventName["paging"] = "paging";
5
- SmartTableOnChangedEventName["update"] = "update";
6
- SmartTableOnChangedEventName["page"] = "page";
7
- SmartTableOnChangedEventName["filter"] = "filter";
8
- SmartTableOnChangedEventName["empty"] = "empty";
9
- SmartTableOnChangedEventName["sort"] = "sort";
10
- SmartTableOnChangedEventName["add"] = "add";
11
- SmartTableOnChangedEventName["remove"] = "remove";
12
- SmartTableOnChangedEventName["append"] = "append";
13
- SmartTableOnChangedEventName["prepend"] = "prepend";
14
- SmartTableOnChangedEventName["refresh"] = "refresh";
15
- })(SmartTableOnChangedEventName || (SmartTableOnChangedEventName = {}));
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtdGFibGUubW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmcyLXNtYXJ0LXRhYmxlL3NyYy9saWIvbGliL2ludGVyZmFjZXMvc21hcnQtdGFibGUubW9kZWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQStNQSxNQUFNLENBQU4sSUFBWSw0QkFhWDtBQWJELFdBQVksNEJBQTRCO0lBQ3ZDLDZDQUFlLENBQUE7SUFDZixpREFBbUIsQ0FBQTtJQUNuQixpREFBbUIsQ0FBQTtJQUNuQiw2Q0FBZSxDQUFBO0lBQ2YsaURBQW1CLENBQUE7SUFDbkIsK0NBQWlCLENBQUE7SUFDakIsNkNBQWUsQ0FBQTtJQUNmLDJDQUFhLENBQUE7SUFDYixpREFBbUIsQ0FBQTtJQUNuQixpREFBbUIsQ0FBQTtJQUNuQixtREFBcUIsQ0FBQTtJQUNyQixtREFBcUIsQ0FBQTtBQUN0QixDQUFDLEVBYlcsNEJBQTRCLEtBQTVCLDRCQUE0QixRQWF2QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvY2FsRGF0YVNvdXJjZSB9IGZyb20gXCIuLi9kYXRhLXNvdXJjZS9sb2NhbC9sb2NhbC5kYXRhLXNvdXJjZVwiO1xuaW1wb3J0IHsgRGVmZXJyZWQgfSBmcm9tIFwiLi4vaGVscGVyc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNlbGVjdE9wdGlvbiB7XG5cdHRpdGxlOiBzdHJpbmc7XG5cdHZhbHVlOiBhbnk7XG59XG5cbmludGVyZmFjZSBPYmplY3RBbnkge1xuXHRba2V5OiBzdHJpbmddOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU21hcnRUYWJsZVNldHRpbmdzPFQgZXh0ZW5kcyBPYmplY3RBbnkgPSBhbnk+IHtcblx0bW9kZT86ICdpbmxpbmUnIHwgJ2V4dGVybmFsJyB8ICdjbGljay10by1lZGl0Jztcblx0c2VsZWN0TW9kZT86ICdzaW5nbGUnIHwgJ211bHRpJztcblx0c2VsZWN0ZWRSb3dJbmRleD86IG51bWJlcjsgLy9pZiBuZWVkIGRlc2VsZWN0IGZpcnN0IGl0ZW0gc2V0IHZhbHVlIDwgMDtcblx0c3dpdGNoUGFnZVRvU2VsZWN0ZWRSb3dQYWdlPzogYm9vbGVhbjtcblx0aGlkZUhlYWRlcj86IGJvb2xlYW47XG5cdGhpZGVTdWJIZWFkZXI/OiBib29sZWFuO1xuXHRhY3Rpb25zPzogU21hcnRUYWJsZUFjdGlvbiB8IGZhbHNlO1xuXHRmaWx0ZXI/OiB7XG5cdFx0aW5wdXRDbGFzczogc3RyaW5nO1xuXHR9O1xuXHRlZGl0Pzpcblx0fCB7XG5cdFx0aW5wdXRDbGFzcz86IHN0cmluZztcblx0XHRlZGl0QnV0dG9uQ29udGVudD86IHN0cmluZztcblx0XHRzYXZlQnV0dG9uQ29udGVudD86IHN0cmluZztcblx0XHRjYW5jZWxCdXR0b25Db250ZW50Pzogc3RyaW5nO1xuXHRcdGNvbmZpcm1TYXZlPzogYm9vbGVhbjtcblx0fVxuXHR8IGZhbHNlO1xuXHRhZGQ/OlxuXHR8IHtcblx0XHRpbnB1dENsYXNzPzogc3RyaW5nO1xuXHRcdGFkZEJ1dHRvbkNvbnRlbnQ/OiBzdHJpbmc7XG5cdFx0Y3JlYXRlQnV0dG9uQ29udGVudD86IHN0cmluZztcblx0XHRjYW5jZWxCdXR0b25Db250ZW50Pzogc3RyaW5nO1xuXHRcdGNvbmZpcm1DcmVhdGU/OiBib29sZWFuO1xuXHR9XG5cdHwgZmFsc2U7XG5cdGRlbGV0ZT86XG5cdHwge1xuXHRcdGRlbGV0ZUJ1dHRvbkNvbnRlbnQ/OiBzdHJpbmc7XG5cdFx0Y29uZmlybURlbGV0ZT86IGJvb2xlYW47XG5cdH1cblx0fCBmYWxzZTtcblx0YXR0cj86IHtcblx0XHRpZD86IHN0cmluZztcblx0XHRjbGFzcz86IHN0cmluZztcblx0fTtcblx0bm9EYXRhTWVzc2FnZT86IHN0cmluZztcblx0Y29sdW1uczogU21hcnRUYWJsZUNvbHVtblNldHRpbmdzPFQ+W107XG5cdHBhZ2VyPzogU21hcnRUYWJsZVBhZ2VyU2V0dGluZ3MgfCBmYWxzZTtcblx0cm93Q2xhc3NGdW5jdGlvbj86IChyb3c6IHsgZGF0YTogVCB9KSA9PiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU21hcnRUYWJsZUFjdGlvbiB7XG5cdGNvbHVtblRpdGxlPzogc3RyaW5nO1xuXHRhZGQ/OiBib29sZWFuO1xuXHRlZGl0PzogYm9vbGVhbjtcblx0ZGVsZXRlPzogYm9vbGVhbjtcblx0Y3VzdG9tPzogU21hcnRUYWJsZUN1c3RvbUFjdGlvbltdO1xuXHRwb3NpdGlvbj86ICdsZWZ0JyB8ICdyaWdodCc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU21hcnRUYWJsZUN1c3RvbUFjdGlvbiB7XG5cdG5hbWU6IHN0cmluZztcblx0dGl0bGU6IHN0cmluZzsgLy8gaW5zZXJ0IGh0bWwgY29udGVudCB0byBhY3Rpb24gYnV0dG9uXG59XG5cbmV4cG9ydCB0eXBlIFNtYXJ0VGFibGVDb2x1bW5TZXR0aW5nc1R5cGVzID0gJ3RleHQnIHwgJ2h0bWwnIHwgJ2N1c3RvbSdcblxuZXhwb3J0IHR5cGUgU21hcnRUYWJsZUNvbHVtblNldHRpbmdzPFQ9YW55PiA9IFNtYXJ0VGFibGVUZXh0SHRtbENvbHVtbjxUPiB8IFNtYXJ0VGFibGVDdXN0b21Db2x1bW48VD47XG5cbmludGVyZmFjZSBTbWFydFRhYmxlRGVmYXVsdENvbHVtbjxUPiB7XG5cdGtleToga2V5b2YgVDtcblx0dGl0bGU6IHN0cmluZztcblx0d2lkdGg/OiBzdHJpbmc7IC8vZXhhbXBsZTogJzIwcHgnLCAnMjAlJ1xuXHRjbGFzcz86IHN0cmluZztcblx0ZWRpdGFibGU/OiBib29sZWFuO1xuXHRoaWRlPzogYm9vbGVhbjtcblx0c29ydD86IGJvb2xlYW47XG5cdGFkZGFibGU/OiBib29sZWFuO1xuXHRzb3J0RGlyZWN0aW9uPzogU21hcnRUYWJsZVNvcnREaXJlY3Rpb24gfCBmYWxzZTtcblx0ZWRpdG9yPzogU21hcnRUYWJsZUVkaXRvckFuZEZpbHRlcjtcblx0ZmlsdGVyPzogU21hcnRUYWJsZUVkaXRvckFuZEZpbHRlciB8IGZhbHNlO1xuXHRjb21wYXJlRnVuY3Rpb24/OiAoaXRlbUE6IFQsIGl0ZW1COiBUKSA9PiBudW1iZXI7XG5cdHZhbHVlUHJlcGFyZUZ1bmN0aW9uPzogKGNvbHVtbkRhdGE6IGFueSwgcm93RGF0YTogVCkgPT4gYW55O1xuXHRmaWx0ZXJGdW5jdGlvbj86IChjb2x1bW5EYXRhOiBhbnksIHNlYXJjaDogc3RyaW5nKSA9PiBib29sZWFuO1xufVxuXG5pbnRlcmZhY2UgU21hcnRUYWJsZVRleHRIdG1sQ29sdW1uPFQ+IGV4dGVuZHMgU21hcnRUYWJsZURlZmF1bHRDb2x1bW48VD4ge1xuXHR0eXBlOiAndGV4dCcgfCAnaHRtbCc7XG59XG5cbmludGVyZmFjZSBTbWFydFRhYmxlQ3VzdG9tQ29sdW1uPFQ+IGV4dGVuZHMgU21hcnRUYWJsZURlZmF1bHRDb2x1bW48VD4ge1xuXHR0eXBlOiAnY3VzdG9tJztcblx0cmVuZGVyQ29tcG9uZW50OiBhbnk7XG59XG5cbmV4cG9ydCB0eXBlIFNtYXJ0VGFibGVFZGl0b3JBbmRGaWx0ZXJUeXBlcyA9ICd0ZXh0JyB8ICd0ZXh0YXJlYScgfCAnbGlzdCcgfCAnY3VzdG9tJyB8ICdjaGVja2JveCc7XG5cbmV4cG9ydCB0eXBlIFNtYXJ0VGFibGVFZGl0b3JBbmRGaWx0ZXIgPVxuXHR8IFNtYXJ0VGFibGVUZXh0RWRpdG9yXG5cdHwgU21hcnRUYWJsZUVkaXRvckxpc3Rcblx0fCBTbWFydFRhYmxlRWRpdG9yQ2hlY2tib3hcblx0fCBTbWFydFRhYmxlRWRpdG9yQ3VzdG9tO1xuXG5pbnRlcmZhY2UgU21hcnRUYWJsZVRleHRFZGl0b3Ige1xuXHR0eXBlOiAndGV4dCcgfCAndGV4dGFyZWEnO1xuXHRjb25maWc6IGFueTtcbn1cblxuaW50ZXJmYWNlIFNtYXJ0VGFibGVFZGl0b3JMaXN0IHtcblx0dHlwZTogJ2xpc3QnO1xuXHRjb25maWc6IHtcblx0XHRzZWxlY3RUZXh0Pzogc3RyaW5nO1xuXHRcdGxpc3Q6IFNlbGVjdE9wdGlvbltdO1xuXHR9O1xufVxuXG4vL2RlcHJlY2F0ZWRcbmludGVyZmFjZSBTbWFydFRhYmxlRWRpdG9yQ29tcGxldGVyIHtcblx0dHlwZTogJ2NvbXBsZXRlcic7XG5cdGNvbmZpZzoge1xuXHRcdGNvbXBsZXRlcjoge1xuXHRcdFx0ZGF0YTogYW55W107XG5cdFx0XHRzZWFyY2hGaWVsZHM6IHN0cmluZztcblx0XHRcdHRpdGxlRmllbGQ6IHN0cmluZztcblx0XHRcdGRlc2NyaXB0aW9uRmllbGQ/OiBzdHJpbmc7XG5cdFx0fTtcblx0fTtcbn1cblxuaW50ZXJmYWNlIFNtYXJ0VGFibGVFZGl0b3JDaGVja2JveCB7XG5cdHR5cGU6ICdjaGVja2JveCc7XG5cdGNvbmZpZz86IHtcblx0XHR0cnVlOiBhbnk7XG5cdFx0ZmFsc2U6IGFueTtcblx0XHRyZXNldFRleHQ/OiBzdHJpbmc7XG5cdH07XG59XG5cbmludGVyZmFjZSBTbWFydFRhYmxlRWRpdG9yQ3VzdG9tIHtcblx0dHlwZTogJ2N1c3RvbSc7XG5cdGNvbXBvbmVudDogYW55O1xuXHRjb25maWc/OiBhbnk7XG59XG5cbmludGVyZmFjZSBTbWFydFRhYmxlUGFnZXJTZXR0aW5ncyB7XG5cdGRpc3BsYXk6IGJvb2xlYW47XG5cdHBhZ2U/OiBudW1iZXI7XG5cdHBlclBhZ2U6IG51bWJlcjtcblx0cGVyUGFnZVNlbGVjdD86IG51bWJlcltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNtYXJ0VGFibGVGaWx0ZXJJdGVtIHtcblx0ZmllbGQ6IHN0cmluZztcblx0c2VhcmNoOiBzdHJpbmc7XG5cdGZpbHRlcj86IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTbWFydFRhYmxlUGFnaW5nSXRlbSB7XG5cdHBhZ2U6IG51bWJlcjtcblx0cGVyUGFnZTogbnVtYmVyO1xufVxuXG5leHBvcnQgdHlwZSBTbWFydFRhYmxlU29ydERpcmVjdGlvbiA9ICdhc2MnIHwgJ2Rlc2MnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNtYXJ0VGFibGVTb3J0SXRlbSB7XG5cdGZpZWxkOiBzdHJpbmc7XG5cdGRpcmVjdGlvbjogU21hcnRUYWJsZVNvcnREaXJlY3Rpb247XG5cdGNvbXBhcmU/OiBhbnk7XG59XG5cbmludGVyZmFjZSBTbWFydFRhYmxlRGVmYXVsdEV2ZW50PFQ+IHtcblx0Y29uZmlybTogRGVmZXJyZWQ8VD47XG5cdGRhdGE6IFQ7XG5cdHNvdXJjZTogTG9jYWxEYXRhU291cmNlO1xufVxuXG5leHBvcnQgdHlwZSBTbWFydFRhYmxlQ29uZmlybURlbGV0ZUV2ZW50PFQgPSBhbnk+ID0gU21hcnRUYWJsZURlZmF1bHRFdmVudDxUPjtcblxuZXhwb3J0IHR5cGUgU21hcnRUYWJsZVJvd0NsaWNrZWRFdmVudDxUID0gYW55PiA9IE9taXQ8U21hcnRUYWJsZURlZmF1bHRFdmVudDxUPiwgXCJjb25maXJtXCI+XG5cbmV4cG9ydCBpbnRlcmZhY2UgU21hcnRUYWJsZUN1c3RvbUV2ZW50PFQgPSBhbnk+IGV4dGVuZHMgT21pdDxTbWFydFRhYmxlRGVmYXVsdEV2ZW50PFQ+LCBcImNvbmZpcm1cIj4ge1xuXHRhY3Rpb246IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTbWFydFRhYmxlUm93U2VsZWN0RXZlbnQ8VCA9IGFueT4gZXh0ZW5kcyBPbWl0PFNtYXJ0VGFibGVEZWZhdWx0RXZlbnQ8VD4sIFwiY29uZmlybVwiPiB7XG5cdGlzU2VsZWN0ZWQ6IGJvb2xlYW47XG5cdHNlbGVjdGVkOiBUW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU21hcnRUYWJsZUNvbmZpcm1FZGl0RXZlbnQ8VCA9IGFueSwgTiA9IFQ+IGV4dGVuZHMgU21hcnRUYWJsZURlZmF1bHRFdmVudDxUPiB7XG5cdG5ld0RhdGE6IE47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU21hcnRUYWJsZUNyZWF0ZUNvbmZpcm08VCA9IGFueT4gZXh0ZW5kcyBPbWl0PFNtYXJ0VGFibGVEZWZhdWx0RXZlbnQ8VD4sIFwiZGF0YVwiPiB7XG5cdG5ld0RhdGE6IFQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT2JqZWN0U3RyaW5nU3RyaW5nIHtcblx0W2tleTogc3RyaW5nXTogc3RyaW5nO1xufVxuXG5leHBvcnQgZW51bSBTbWFydFRhYmxlT25DaGFuZ2VkRXZlbnROYW1lIHtcblx0J2xvYWQnID0gJ2xvYWQnLFxuXHQncGFnaW5nJyA9ICdwYWdpbmcnLFxuXHQndXBkYXRlJyA9ICd1cGRhdGUnLFxuXHQncGFnZScgPSAncGFnZScsXG5cdCdmaWx0ZXInID0gJ2ZpbHRlcicsXG5cdCdlbXB0eScgPSAnZW1wdHknLFxuXHQnc29ydCcgPSAnc29ydCcsXG5cdCdhZGQnID0gJ2FkZCcsXG5cdCdyZW1vdmUnID0gJ3JlbW92ZScsXG5cdCdhcHBlbmQnID0gJ2FwcGVuZCcsXG5cdCdwcmVwZW5kJyA9ICdwcmVwZW5kJyxcblx0J3JlZnJlc2gnID0gJ3JlZnJlc2gnLFxufVxuXG5leHBvcnQgdHlwZSBTbWFydFRhYmxlT25DaGFuZ2VkRXZlbnRUeXBlID0gJ2xvYWQnIHwgJ3ByZXBlbmQnIHwgJ2FwcGVuZCcgfCAndXBkYXRlJyB8ICdlbXB0eScgfCAncGFnaW5nJyB8ICdwYWdlJyB8ICdmaWx0ZXInIHwgJ3NvcnQnIHwgJ2FkZCcgfCAncmVtb3ZlJyB8ICdyZWZyZXNoJztcblxuZXhwb3J0IGludGVyZmFjZSBTbWFydFRhYmxlT25DaGFuZ2VkRXZlbnQ8VCBleHRlbmRzIE9iamVjdEFueSA9IGFueT4ge1xuXHRhY3Rpb246IFNtYXJ0VGFibGVPbkNoYW5nZWRFdmVudFR5cGU7XG5cdGVsZW1lbnRzOiBUW107XG5cdGZpbHRlcjogU21hcnRUYWJsZUZpbHRlckNvbmY7XG5cdHBhZ2luZzogU21hcnRUYWJsZVBhZ2luZ0l0ZW0gfCBmYWxzZTtcblx0c29ydDogU21hcnRUYWJsZVNvcnRJdGVtW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU21hcnRUYWJsZUZpbHRlckNvbmYgeyBmaWx0ZXJzOiBTbWFydFRhYmxlRmlsdGVySXRlbVtdOyBhbmRPcGVyYXRvcjogYm9vbGVhbiB9Il19
@@ -1,169 +0,0 @@
1
- import { Component, Input, Output, EventEmitter } from '@angular/core';
2
- import { Grid } from './lib/grid';
3
- import { deepExtend } from './lib/helpers';
4
- import { LocalDataSource } from './lib/data-source/local/local.data-source';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/common";
7
- import * as i2 from "./components/pager/pager.component";
8
- import * as i3 from "./components/tbody/tbody.component";
9
- import * as i4 from "./components/thead/thead.component";
10
- export class Ng2SmartTableComponent {
11
- constructor() {
12
- this.multiRowSelect = new EventEmitter();
13
- this.rowClicked = new EventEmitter();
14
- this.delete = new EventEmitter();
15
- this.edit = new EventEmitter();
16
- this.editCancel = new EventEmitter();
17
- this.create = new EventEmitter();
18
- this.custom = new EventEmitter();
19
- this.deleteConfirm = new EventEmitter();
20
- this.editConfirm = new EventEmitter();
21
- this.createConfirm = new EventEmitter();
22
- this.rowHover = new EventEmitter();
23
- this.tableClass = '';
24
- this.tableId = '';
25
- this.perPageSelect = [];
26
- this.isHideHeader = false;
27
- this.isHideSubHeader = false;
28
- this.isPagerDisplay = false;
29
- this.rowClassFunction = () => '';
30
- this.defaultSettings = {
31
- mode: 'inline', // inline|external|click-to-edit
32
- selectMode: 'single', // single|multi
33
- selectedRowIndex: -1,
34
- switchPageToSelectedRowPage: false,
35
- hideHeader: false,
36
- hideSubHeader: false,
37
- actions: {
38
- columnTitle: 'Actions',
39
- add: true,
40
- edit: true,
41
- delete: true,
42
- custom: [],
43
- position: 'left', // left|right
44
- },
45
- filter: {
46
- inputClass: '',
47
- },
48
- edit: {
49
- inputClass: '',
50
- editButtonContent: 'Edit',
51
- saveButtonContent: 'Update',
52
- cancelButtonContent: 'Cancel',
53
- confirmSave: false,
54
- },
55
- add: {
56
- inputClass: '',
57
- addButtonContent: 'Add New',
58
- createButtonContent: 'Create',
59
- cancelButtonContent: 'Cancel',
60
- confirmCreate: false,
61
- },
62
- delete: {
63
- deleteButtonContent: 'Delete',
64
- confirmDelete: false,
65
- },
66
- attr: {
67
- id: '',
68
- class: '',
69
- },
70
- noDataMessage: 'No data found',
71
- columns: [],
72
- pager: false,
73
- rowClassFunction: () => '',
74
- };
75
- }
76
- ngOnChanges(changes) {
77
- if (this.grid) {
78
- if (changes['settings']) {
79
- this.grid.setSettings(this.prepareSettings());
80
- }
81
- if (changes['source']) {
82
- this.source = this.prepareSource();
83
- this.grid.setSource(this.source);
84
- }
85
- }
86
- else {
87
- this.initGrid();
88
- }
89
- this.tableId = this.grid.getSetting('attr.id');
90
- this.tableClass = this.grid.getSetting('attr.class');
91
- this.isHideHeader = this.grid.getSetting('hideHeader');
92
- this.isHideSubHeader = this.grid.getSetting('hideSubHeader');
93
- this.isPagerDisplay = this.grid.getSetting('pager.display', false);
94
- this.perPageSelect = this.grid.getSetting('pager.perPageSelect');
95
- this.rowClassFunction = this.grid.getSetting('rowClassFunction', () => '');
96
- }
97
- multipleSelectRow(row) {
98
- this.grid.multipleSelectRow(row);
99
- this.emitUserSelectRow(row);
100
- }
101
- onSelectAllRows() {
102
- this.grid.dataSet.isAllSelected;
103
- this.grid.selectAllRows(!this.grid.dataSet.isAllSelected);
104
- this.emitUserSelectRow(null);
105
- }
106
- onSelectRow(row, state) {
107
- this.grid.selectRow(row, state);
108
- }
109
- emitUserRowClicked(row) {
110
- this.rowClicked.emit({
111
- data: row ? row.getData() : null,
112
- source: this.source,
113
- });
114
- }
115
- initGrid() {
116
- this.source = this.prepareSource();
117
- this.grid = new Grid(this.source, this.prepareSettings());
118
- }
119
- prepareSource() {
120
- if (this.source instanceof LocalDataSource) {
121
- return this.source;
122
- }
123
- return new LocalDataSource();
124
- }
125
- prepareSettings() {
126
- return deepExtend({}, this.defaultSettings, this.settings);
127
- }
128
- emitUserSelectRow(row) {
129
- this.multiRowSelect.emit({
130
- data: row ? row.getData() : null,
131
- isSelected: row ? row.getIsSelected() : false,
132
- source: this.source,
133
- selected: this.grid.dataSet.getSelectedRowsData(),
134
- });
135
- }
136
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Ng2SmartTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
137
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: Ng2SmartTableComponent, selector: "ng2-smart-table", inputs: { source: "source", settings: "settings" }, outputs: { multiRowSelect: "multiRowSelect", rowClicked: "rowClicked", delete: "delete", edit: "edit", editCancel: "editCancel", create: "create", custom: "custom", deleteConfirm: "deleteConfirm", editConfirm: "editConfirm", createConfirm: "createConfirm", rowHover: "rowHover" }, usesOnChanges: true, ngImport: i0, template: "<table [id]=\"tableId\" [ngClass]=\"tableClass\">\n\n @if (!isHideHeader || !isHideSubHeader) {\n <thead ng2-st-thead\n [grid]=\"grid\"\n [source]=\"source\"\n [createConfirm]=\"createConfirm\"\n (create)=\"create.emit($event)\"\n (selectAllRows)=\"onSelectAllRows()\">\n </thead>\n }\n\n <tbody ng2-st-tbody [grid]=\"grid\"\n [source]=\"source\"\n [deleteConfirm]=\"deleteConfirm\"\n [editConfirm]=\"editConfirm\"\n [rowClassFunction]=\"rowClassFunction\"\n (edit)=\"edit.emit($event)\"\n (editCancel)=\"editCancel.emit($event)\"\n (delete)=\"delete.emit($event)\"\n (custom)=\"custom.emit($event)\"\n (userClickedRow)=\"emitUserRowClicked($event)\"\n (multipleSelectRow)=\"multipleSelectRow($event)\">\n </tbody>\n\n</table>\n\n@if (isPagerDisplay) {\n <ng2-smart-table-pager\n [source]=\"source\"\n [perPageSelect]=\"perPageSelect\">\n </ng2-smart-table-pager>\n}\n", styles: [":host{font-size:1rem}:host ::ng-deep *{box-sizing:border-box}:host ::ng-deep button,:host ::ng-deep input,:host ::ng-deep optgroup,:host ::ng-deep select,:host ::ng-deep textarea{color:inherit;font:inherit;margin:0}:host ::ng-deep table{line-height:1.5em;border-collapse:collapse;border-spacing:0;display:table;width:100%;max-width:100%;word-break:normal;word-break:keep-all;overflow:auto}:host ::ng-deep table tr th{font-weight:700}:host ::ng-deep table tr section{font-size:.75em;font-weight:700}:host ::ng-deep table tr td,:host ::ng-deep table tr th{font-size:.875em;margin:0;padding:.5em 1em}:host ::ng-deep a{color:#1e6bb8;text-decoration:none}:host ::ng-deep a:hover{text-decoration:underline}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.PagerComponent, selector: "ng2-smart-table-pager", inputs: ["source", "perPageSelect"], outputs: ["changePage"] }, { kind: "component", type: i3.Ng2SmartTableTbodyComponent, selector: "[ng2-st-tbody]", inputs: ["grid", "source", "deleteConfirm", "editConfirm", "rowClassFunction"], outputs: ["save", "cancel", "edit", "editCancel", "delete", "custom", "edited", "userSelectRow", "userClickedRow", "editRowSelect", "multipleSelectRow"] }, { kind: "component", type: i4.Ng2SmartTableTheadComponent, selector: "[ng2-st-thead]", inputs: ["grid", "source", "createConfirm"], outputs: ["sort", "selectAllRows", "create", "filter"] }] }); }
138
- }
139
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Ng2SmartTableComponent, decorators: [{
140
- type: Component,
141
- args: [{ selector: 'ng2-smart-table', template: "<table [id]=\"tableId\" [ngClass]=\"tableClass\">\n\n @if (!isHideHeader || !isHideSubHeader) {\n <thead ng2-st-thead\n [grid]=\"grid\"\n [source]=\"source\"\n [createConfirm]=\"createConfirm\"\n (create)=\"create.emit($event)\"\n (selectAllRows)=\"onSelectAllRows()\">\n </thead>\n }\n\n <tbody ng2-st-tbody [grid]=\"grid\"\n [source]=\"source\"\n [deleteConfirm]=\"deleteConfirm\"\n [editConfirm]=\"editConfirm\"\n [rowClassFunction]=\"rowClassFunction\"\n (edit)=\"edit.emit($event)\"\n (editCancel)=\"editCancel.emit($event)\"\n (delete)=\"delete.emit($event)\"\n (custom)=\"custom.emit($event)\"\n (userClickedRow)=\"emitUserRowClicked($event)\"\n (multipleSelectRow)=\"multipleSelectRow($event)\">\n </tbody>\n\n</table>\n\n@if (isPagerDisplay) {\n <ng2-smart-table-pager\n [source]=\"source\"\n [perPageSelect]=\"perPageSelect\">\n </ng2-smart-table-pager>\n}\n", styles: [":host{font-size:1rem}:host ::ng-deep *{box-sizing:border-box}:host ::ng-deep button,:host ::ng-deep input,:host ::ng-deep optgroup,:host ::ng-deep select,:host ::ng-deep textarea{color:inherit;font:inherit;margin:0}:host ::ng-deep table{line-height:1.5em;border-collapse:collapse;border-spacing:0;display:table;width:100%;max-width:100%;word-break:normal;word-break:keep-all;overflow:auto}:host ::ng-deep table tr th{font-weight:700}:host ::ng-deep table tr section{font-size:.75em;font-weight:700}:host ::ng-deep table tr td,:host ::ng-deep table tr th{font-size:.875em;margin:0;padding:.5em 1em}:host ::ng-deep a{color:#1e6bb8;text-decoration:none}:host ::ng-deep a:hover{text-decoration:underline}\n"] }]
142
- }], propDecorators: { source: [{
143
- type: Input
144
- }], settings: [{
145
- type: Input
146
- }], multiRowSelect: [{
147
- type: Output
148
- }], rowClicked: [{
149
- type: Output
150
- }], delete: [{
151
- type: Output
152
- }], edit: [{
153
- type: Output
154
- }], editCancel: [{
155
- type: Output
156
- }], create: [{
157
- type: Output
158
- }], custom: [{
159
- type: Output
160
- }], deleteConfirm: [{
161
- type: Output
162
- }], editConfirm: [{
163
- type: Output
164
- }], createConfirm: [{
165
- type: Output
166
- }], rowHover: [{
167
- type: Output
168
- }] } });
169
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmcyLXNtYXJ0LXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nMi1zbWFydC10YWJsZS9zcmMvbGliL25nMi1zbWFydC10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZzItc21hcnQtdGFibGUvc3JjL2xpYi9uZzItc21hcnQtdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFnQixZQUFZLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFFaEcsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFlBQVksQ0FBQztBQUVsQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQzs7Ozs7O0FBUTVFLE1BQU0sT0FBTyxzQkFBc0I7SUFMbkM7UUFTWSxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUE0QixDQUFDO1FBQzlELGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBNkIsQ0FBQztRQUMzRCxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNqQyxTQUFJLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUMvQixlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNyQyxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNqQyxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQXlCLENBQUM7UUFDbkQsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBZ0MsQ0FBQztRQUNqRSxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUE4QixDQUFDO1FBQzdELGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQTJCLENBQUM7UUFDNUQsYUFBUSxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBRWhFLGVB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QUFVO3NCQUFuQixNQUFNO2dCQUNHLE1BQU07c0JBQWYsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlLCBFdmVudEVtaXR0ZXIsIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBHcmlkIH0gZnJvbSAnLi9saWIvZ3JpZCc7XG5pbXBvcnQgeyBSb3cgfSBmcm9tICcuL2xpYi9kYXRhLXNldC9yb3cnO1xuaW1wb3J0IHsgZGVlcEV4dGVuZCB9IGZyb20gJy4vbGliL2hlbHBlcnMnO1xuaW1wb3J0IHsgTG9jYWxEYXRhU291cmNlIH0gZnJvbSAnLi9saWIvZGF0YS1zb3VyY2UvbG9jYWwvbG9jYWwuZGF0YS1zb3VyY2UnO1xuaW1wb3J0IHsgU21hcnRUYWJsZUNvbmZpcm1EZWxldGVFdmVudCwgU21hcnRUYWJsZUNvbmZpcm1FZGl0RXZlbnQsIFNtYXJ0VGFibGVDcmVhdGVDb25maXJtLCBTbWFydFRhYmxlQ3VzdG9tRXZlbnQsIFNtYXJ0VGFibGVSb3dDbGlja2VkRXZlbnQsIFNtYXJ0VGFibGVSb3dTZWxlY3RFdmVudCwgU21hcnRUYWJsZVNldHRpbmdzIH0gZnJvbSAnLi9saWIvaW50ZXJmYWNlcy9zbWFydC10YWJsZS5tb2RlbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZzItc21hcnQtdGFibGUnLFxuICBzdHlsZVVybHM6IFsnLi9uZzItc21hcnQtdGFibGUuY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGVVcmw6ICcuL25nMi1zbWFydC10YWJsZS5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIE5nMlNtYXJ0VGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBzb3VyY2UhOiBMb2NhbERhdGFTb3VyY2U7XG4gIEBJbnB1dCgpIHNldHRpbmdzITogU21hcnRUYWJsZVNldHRpbmdzO1xuXG4gIEBPdXRwdXQoKSBtdWx0aVJvd1NlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8U21hcnRUYWJsZVJvd1NlbGVjdEV2ZW50PigpO1xuICBAT3V0cHV0KCkgcm93Q2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8U21hcnRUYWJsZVJvd0NsaWNrZWRFdmVudD4oKTtcbiAgQE91dHB1dCgpIGRlbGV0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZWRpdCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZWRpdENhbmNlbCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgY3JlYXRlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBjdXN0b20gPSBuZXcgRXZlbnRFbWl0dGVyPFNtYXJ0VGFibGVDdXN0b21FdmVudD4oKTtcbiAgQE91dHB1dCgpIGRlbGV0ZUNvbmZpcm0gPSBuZXcgRXZlbnRFbWl0dGVyPFNtYXJ0VGFibGVDb25maXJtRGVsZXRlRXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBlZGl0Q29uZmlybSA9IG5ldyBFdmVudEVtaXR0ZXI8U21hcnRUYWJsZUNvbmZpcm1FZGl0RXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBjcmVhdGVDb25maXJtID0gbmV3IEV2ZW50RW1pdHRlcjxTbWFydFRhYmxlQ3JlYXRlQ29uZmlybT4oKTtcbiAgQE91dHB1dCgpIHJvd0hvdmVyOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIHRhYmxlQ2xhc3M6IHN0cmluZyA9ICcnO1xuICB0YWJsZUlkOiBzdHJpbmcgPSAnJztcbiAgcGVyUGFnZVNlbGVjdDogbnVtYmVyW10gPSBbXTtcbiAgaXNIaWRlSGVhZGVyID0gZmFsc2U7XG4gIGlzSGlkZVN1YkhlYWRlciA9IGZhbHNlO1xuICBpc1BhZ2VyRGlzcGxheSA9IGZhbHNlO1xuICByb3dDbGFzc0Z1bmN0aW9uOiBGdW5jdGlvbiA9ICgpPT4nJztcblxuICBncmlkITogR3JpZDtcbiAgZGVmYXVsdFNldHRpbmdzOiBTbWFydFRhYmxlU2V0dGluZ3MgPSB7XG4gICAgbW9kZTogJ2lubGluZScsIC8vIGlubGluZXxleHRlcm5hbHxjbGljay10by1lZGl0XG4gICAgc2VsZWN0TW9kZTogJ3NpbmdsZScsIC8vIHNpbmdsZXxtdWx0aVxuICAgIHNlbGVjdGVkUm93SW5kZXg6IC0xLFxuICAgIHN3aXRjaFBhZ2VUb1NlbGVjdGVkUm93UGFnZTogZmFsc2UsXG4gICAgaGlkZUhlYWRlcjogZmFsc2UsXG4gICAgaGlkZVN1YkhlYWRlcjogZmFsc2UsXG4gICAgYWN0aW9uczoge1xuICAgICAgY29sdW1uVGl0bGU6ICdBY3Rpb25zJyxcbiAgICAgIGFkZDogdHJ1ZSxcbiAgICAgIGVkaXQ6IHRydWUsXG4gICAgICBkZWxldGU6IHRydWUsXG4gICAgICBjdXN0b206IFtdLFxuICAgICAgcG9zaXRpb246ICdsZWZ0JywgLy8gbGVmdHxyaWdodFxuICAgIH0sXG4gICAgZmlsdGVyOiB7XG4gICAgICBpbnB1dENsYXNzOiAnJyxcbiAgICB9LFxuICAgIGVkaXQ6IHtcbiAgICAgIGlucHV0Q2xhc3M6ICcnLFxuICAgICAgZWRpdEJ1dHRvbkNvbnRlbnQ6ICdFZGl0JyxcbiAgICAgIHNhdmVCdXR0b25Db250ZW50OiAnVXBkYXRlJyxcbiAgICAgIGNhbmNlbEJ1dHRvbkNvbnRlbnQ6ICdDYW5jZWwnLFxuICAgICAgY29uZmlybVNhdmU6IGZhbHNlLFxuICAgIH0sXG4gICAgYWRkOiB7XG4gICAgICBpbnB1dENsYXNzOiAnJyxcbiAgICAgIGFkZEJ1dHRvbkNvbnRlbnQ6ICdBZGQgTmV3JyxcbiAgICAgIGNyZWF0ZUJ1dHRvbkNvbnRlbnQ6ICdDcmVhdGUnLFxuICAgICAgY2FuY2VsQnV0dG9uQ29udGVudDogJ0NhbmNlbCcsXG4gICAgICBjb25maXJtQ3JlYXRlOiBmYWxzZSxcbiAgICB9LFxuICAgIGRlbGV0ZToge1xuICAgICAgZGVsZXRlQnV0dG9uQ29udGVudDogJ0RlbGV0ZScsXG4gICAgICBjb25maXJtRGVsZXRlOiBmYWxzZSxcbiAgICB9LFxuICAgIGF0dHI6IHtcbiAgICAgIGlkOiAnJyxcbiAgICAgIGNsYXNzOiAnJyxcbiAgICB9LFxuICAgIG5vRGF0YU1lc3NhZ2U6ICdObyBkYXRhIGZvdW5kJyxcbiAgICBjb2x1bW5zOiBbXSxcbiAgICBwYWdlcjogZmFsc2UsXG4gICAgcm93Q2xhc3NGdW5jdGlvbjogKCkgPT4gJycsXG4gIH07XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogeyBbcHJvcGVydHlOYW1lOiBzdHJpbmddOiBTaW1wbGVDaGFuZ2UgfSkge1xuICAgIGlmICh0aGlzLmdyaWQpIHtcbiAgICAgIGlmIChjaGFuZ2VzWydzZXR0aW5ncyddKSB7XG4gICAgICAgIHRoaXMuZ3JpZC5zZXRTZXR0aW5ncyh0aGlzLnByZXBhcmVTZXR0aW5ncygpKTtcbiAgICAgIH1cbiAgICAgIGlmIChjaGFuZ2VzWydzb3VyY2UnXSkge1xuICAgICAgICB0aGlzLnNvdXJjZSA9IHRoaXMucHJlcGFyZVNvdXJjZSgpO1xuICAgICAgICB0aGlzLmdyaWQuc2V0U291cmNlKHRoaXMuc291cmNlKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pbml0R3JpZCgpO1xuICAgIH1cbiAgICB0aGlzLnRhYmxlSWQgPSB0aGlzLmdyaWQuZ2V0U2V0dGluZygnYXR0ci5pZCcpO1xuICAgIHRoaXMudGFibGVDbGFzcyA9IHRoaXMuZ3JpZC5nZXRTZXR0aW5nKCdhdHRyLmNsYXNzJyk7XG4gICAgdGhpcy5pc0hpZGVIZWFkZXIgPSB0aGlzLmdyaWQuZ2V0U2V0dGluZygnaGlkZUhlYWRlcicpO1xuICAgIHRoaXMuaXNIaWRlU3ViSGVhZGVyID0gdGhpcy5ncmlkLmdldFNldHRpbmcoJ2hpZGVTdWJIZWFkZXInKTtcbiAgICB0aGlzLmlzUGFnZXJEaXNwbGF5ID0gdGhpcy5ncmlkLmdldFNldHRpbmcoJ3BhZ2VyLmRpc3BsYXknLCBmYWxzZSk7XG4gICAgdGhpcy5wZXJQYWdlU2VsZWN0ID0gdGhpcy5ncmlkLmdldFNldHRpbmcoJ3BhZ2VyLnBlclBhZ2VTZWxlY3QnKTtcbiAgICB0aGlzLnJvd0NsYXNzRnVuY3Rpb24gPSB0aGlzLmdyaWQuZ2V0U2V0dGluZygncm93Q2xhc3NGdW5jdGlvbicsICgpID0+ICcnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBtdWx0aXBsZVNlbGVjdFJvdyhyb3c6IFJvdyk6IHZvaWQge1xuICAgIHRoaXMuZ3JpZC5tdWx0aXBsZVNlbGVjdFJvdyhyb3cpO1xuICAgIHRoaXMuZW1pdFVzZXJTZWxlY3RSb3cocm93KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvblNlbGVjdEFsbFJvd3MoKTogdm9pZCB7XG4gICAgdGhpcy5ncmlkLmRhdGFTZXQuaXNBbGxTZWxlY3RlZDtcbiAgICB0aGlzLmdyaWQuc2VsZWN0QWxsUm93cyghdGhpcy5ncmlkLmRhdGFTZXQuaXNBbGxTZWxlY3RlZCk7XG4gICAgdGhpcy5lbWl0VXNlclNlbGVjdFJvdyhudWxsKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvblNlbGVjdFJvdyhyb3c6IFJvdywgc3RhdGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmdyaWQuc2VsZWN0Um93KHJvdywgc3RhdGUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGVtaXRVc2VyUm93Q2xpY2tlZChyb3c6IFJvdyk6IHZvaWQge1xuICAgIHRoaXMucm93Q2xpY2tlZC5lbWl0KHtcbiAgICAgIGRhdGE6IHJvdyA/IHJvdy5nZXREYXRhKCkgOiBudWxsLFxuICAgICAgc291cmNlOiB0aGlzLnNvdXJjZSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdEdyaWQoKTogdm9pZCB7XG4gICAgdGhpcy5zb3VyY2UgPSB0aGlzLnByZXBhcmVTb3VyY2UoKTtcbiAgICB0aGlzLmdyaWQgPSBuZXcgR3JpZCh0aGlzLnNvdXJjZSwgdGhpcy5wcmVwYXJlU2V0dGluZ3MoKSk7XG4gIH1cblxuICBwcml2YXRlIHByZXBhcmVTb3VyY2UoKTogTG9jYWxEYXRhU291cmNlIHtcbiAgICBpZiAodGhpcy5zb3VyY2UgaW5zdGFuY2VvZiBMb2NhbERhdGFTb3VyY2UpIHtcbiAgICAgIHJldHVybiB0aGlzLnNvdXJjZTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBMb2NhbERhdGFTb3VyY2UoKTtcbiAgfVxuXG4gIHByaXZhdGUgcHJlcGFyZVNldHRpbmdzKCk6IFNtYXJ0VGFibGVTZXR0aW5ncyB7XG4gICAgcmV0dXJuIGRlZXBFeHRlbmQoe30sIHRoaXMuZGVmYXVsdFNldHRpbmdzLCB0aGlzLnNldHRpbmdzKTtcbiAgfVxuXG4gIHByaXZhdGUgZW1pdFVzZXJTZWxlY3RSb3cocm93OiBSb3cgfCBudWxsKTogdm9pZCB7XG4gICAgdGhpcy5tdWx0aVJvd1NlbGVjdC5lbWl0KHtcbiAgICAgIGRhdGE6IHJvdyA/IHJvdy5nZXREYXRhKCkgOiBudWxsLFxuICAgICAgaXNTZWxlY3RlZDogcm93ID8gcm93LmdldElzU2VsZWN0ZWQoKSA6IGZhbHNlLFxuICAgICAgc291cmNlOiB0aGlzLnNvdXJjZSxcbiAgICAgIHNlbGVjdGVkOiB0aGlzLmdyaWQuZGF0YVNldC5nZXRTZWxlY3RlZFJvd3NEYXRhKCksXG4gICAgfSk7XG4gIH0gIFxufVxuIiwiPHRhYmxlIFtpZF09XCJ0YWJsZUlkXCIgW25nQ2xhc3NdPVwidGFibGVDbGFzc1wiPlxuXG4gIEBpZiAoIWlzSGlkZUhlYWRlciB8fCAhaXNIaWRlU3ViSGVhZGVyKSB7XG4gICAgPHRoZWFkIG5nMi1zdC10aGVhZFxuICAgICAgW2dyaWRdPVwiZ3JpZFwiXG4gICAgICBbc291cmNlXT1cInNvdXJjZVwiXG4gICAgICBbY3JlYXRlQ29uZmlybV09XCJjcmVhdGVDb25maXJtXCJcbiAgICAgIChjcmVhdGUpPVwiY3JlYXRlLmVtaXQoJGV2ZW50KVwiXG4gICAgICAoc2VsZWN0QWxsUm93cyk9XCJvblNlbGVjdEFsbFJvd3MoKVwiPlxuICAgIDwvdGhlYWQ+XG4gIH1cblxuICA8dGJvZHkgbmcyLXN0LXRib2R5IFtncmlkXT1cImdyaWRcIlxuICAgIFtzb3VyY2VdPVwic291cmNlXCJcbiAgICBbZGVsZXRlQ29uZmlybV09XCJkZWxldGVDb25maXJtXCJcbiAgICBbZWRpdENvbmZpcm1dPVwiZWRpdENvbmZpcm1cIlxuICAgIFtyb3dDbGFzc0Z1bmN0aW9uXT1cInJvd0NsYXNzRnVuY3Rpb25cIlxuICAgIChlZGl0KT1cImVkaXQuZW1pdCgkZXZlbnQpXCJcbiAgICAoZWRpdENhbmNlbCk9XCJlZGl0Q2FuY2VsLmVtaXQoJGV2ZW50KVwiXG4gICAgKGRlbGV0ZSk9XCJkZWxldGUuZW1pdCgkZXZlbnQpXCJcbiAgICAoY3VzdG9tKT1cImN1c3RvbS5lbWl0KCRldmVudClcIlxuICAgICh1c2VyQ2xpY2tlZFJvdyk9XCJlbWl0VXNlclJvd0NsaWNrZWQoJGV2ZW50KVwiXG4gICAgKG11bHRpcGxlU2VsZWN0Um93KT1cIm11bHRpcGxlU2VsZWN0Um93KCRldmVudClcIj5cbiAgPC90Ym9keT5cblxuPC90YWJsZT5cblxuQGlmIChpc1BhZ2VyRGlzcGxheSkge1xuICA8bmcyLXNtYXJ0LXRhYmxlLXBhZ2VyXG4gICAgW3NvdXJjZV09XCJzb3VyY2VcIlxuICAgIFtwZXJQYWdlU2VsZWN0XT1cInBlclBhZ2VTZWxlY3RcIj5cbiAgPC9uZzItc21hcnQtdGFibGUtcGFnZXI+XG59XG4iXX0=