@den4ik92/ng2-smart-table 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) hide show
  1. package/esm2020/den4ik92-ng2-smart-table.mjs +5 -0
  2. package/esm2020/lib/components/cell/cell-edit-mode/custom-edit.component.mjs +50 -0
  3. package/esm2020/lib/components/cell/cell-edit-mode/default-edit.component.mjs +84 -0
  4. package/esm2020/lib/components/cell/cell-edit-mode/edit-cell-default.mjs +35 -0
  5. package/esm2020/lib/components/cell/cell-edit-mode/edit-cell.component.mjs +75 -0
  6. package/esm2020/lib/components/cell/cell-editors/checkbox-editor.component.mjs +37 -0
  7. package/esm2020/lib/components/cell/cell-editors/completer-editor.component.mjs +38 -0
  8. package/esm2020/lib/components/cell/cell-editors/default-editor.mjs +29 -0
  9. package/esm2020/lib/components/cell/cell-editors/input-editor.component.mjs +33 -0
  10. package/esm2020/lib/components/cell/cell-editors/select-editor.component.mjs +55 -0
  11. package/esm2020/lib/components/cell/cell-editors/textarea-editor.component.mjs +35 -0
  12. package/esm2020/lib/components/cell/cell-view-mode/custom-view.component.mjs +63 -0
  13. package/esm2020/lib/components/cell/cell-view-mode/view-cell.component.mjs +59 -0
  14. package/esm2020/lib/components/cell/cell-view-mode/view-cell.mjs +2 -0
  15. package/esm2020/lib/components/cell/cell.component.mjs +82 -0
  16. package/esm2020/lib/components/cell/cell.module.mjs +80 -0
  17. package/esm2020/lib/components/filter/custom-filter.component.mjs +53 -0
  18. package/esm2020/lib/components/filter/default-filter.component.mjs +100 -0
  19. package/esm2020/lib/components/filter/filter-default.mjs +35 -0
  20. package/esm2020/lib/components/filter/filter-types/checkbox-filter.component.mjs +65 -0
  21. package/esm2020/lib/components/filter/filter-types/completer-filter.component.mjs +52 -0
  22. package/esm2020/lib/components/filter/filter-types/default-filter.mjs +34 -0
  23. package/esm2020/lib/components/filter/filter-types/input-filter.component.mjs +51 -0
  24. package/esm2020/lib/components/filter/filter-types/select-filter.component.mjs +71 -0
  25. package/esm2020/lib/components/filter/filter.component.mjs +91 -0
  26. package/esm2020/lib/components/filter/filter.module.mjs +67 -0
  27. package/esm2020/lib/components/pager/pager.component.mjs +284 -0
  28. package/esm2020/lib/components/pager/pager.module.mjs +29 -0
  29. package/esm2020/lib/components/tbody/cells/create-cancel.component.mjs +52 -0
  30. package/esm2020/lib/components/tbody/cells/custom.component.mjs +56 -0
  31. package/esm2020/lib/components/tbody/cells/edit-delete.component.mjs +103 -0
  32. package/esm2020/lib/components/tbody/tbody.component.mjs +206 -0
  33. package/esm2020/lib/components/tbody/tbody.module.mjs +48 -0
  34. package/esm2020/lib/components/thead/cells/actions-title.component.mjs +36 -0
  35. package/esm2020/lib/components/thead/cells/actions.component.mjs +44 -0
  36. package/esm2020/lib/components/thead/cells/add-button.component.mjs +63 -0
  37. package/esm2020/lib/components/thead/cells/checkbox-select-all.component.mjs +28 -0
  38. package/esm2020/lib/components/thead/cells/column-title.component.mjs +37 -0
  39. package/esm2020/lib/components/thead/cells/title/title.component.mjs +100 -0
  40. package/esm2020/lib/components/thead/rows/thead-filters-row.component.mjs +105 -0
  41. package/esm2020/lib/components/thead/rows/thead-form-row.component.mjs +108 -0
  42. package/esm2020/lib/components/thead/rows/thead-titles-row.component.mjs +103 -0
  43. package/esm2020/lib/components/thead/thead.component.mjs +76 -0
  44. package/esm2020/lib/components/thead/thead.module.mjs +76 -0
  45. package/esm2020/lib/lib/data-set/cell.mjs +41 -0
  46. package/esm2020/lib/lib/data-set/column.mjs +75 -0
  47. package/esm2020/lib/lib/data-set/data-set.mjs +98 -0
  48. package/esm2020/lib/lib/data-set/row.mjs +46 -0
  49. package/esm2020/lib/lib/data-source/data-source.mjs +101 -0
  50. package/esm2020/lib/lib/data-source/local/local.data-source.mjs +228 -0
  51. package/esm2020/lib/lib/data-source/local/local.filter.mjs +13 -0
  52. package/esm2020/lib/lib/data-source/local/local.pager.mjs +6 -0
  53. package/esm2020/lib/lib/data-source/local/local.sorter.mjs +19 -0
  54. package/esm2020/lib/lib/data-source/server/server-source.conf.mjs +20 -0
  55. package/esm2020/lib/lib/data-source/server/server.data-source.mjs +93 -0
  56. package/esm2020/lib/lib/grid.mjs +220 -0
  57. package/esm2020/lib/lib/helpers.mjs +84 -0
  58. package/esm2020/lib/lib/interfaces/smart-table.models.mjs +2 -0
  59. package/esm2020/lib/ng2-smart-table.component.mjs +203 -0
  60. package/esm2020/lib/ng2-smart-table.module.mjs +52 -0
  61. package/esm2020/public-api.mjs +8 -0
  62. package/fesm2015/den4ik92-ng2-smart-table.mjs +4329 -0
  63. package/fesm2015/den4ik92-ng2-smart-table.mjs.map +1 -0
  64. package/fesm2020/den4ik92-ng2-smart-table.mjs +3949 -0
  65. package/fesm2020/den4ik92-ng2-smart-table.mjs.map +1 -0
  66. package/index.d.ts +5 -0
  67. package/lib/components/cell/cell-edit-mode/custom-edit.component.d.ts +13 -0
  68. package/lib/components/cell/cell-edit-mode/default-edit.component.d.ts +8 -0
  69. package/lib/components/cell/cell-edit-mode/edit-cell-default.d.ts +13 -0
  70. package/lib/components/cell/cell-edit-mode/edit-cell.component.d.ts +12 -0
  71. package/lib/components/cell/cell-editors/checkbox-editor.component.d.ts +8 -0
  72. package/lib/components/cell/cell-editors/completer-editor.component.d.ts +13 -0
  73. package/lib/components/cell/cell-editors/default-editor.d.ts +19 -0
  74. package/lib/components/cell/cell-editors/input-editor.component.d.ts +7 -0
  75. package/lib/components/cell/cell-editors/select-editor.component.d.ts +7 -0
  76. package/lib/components/cell/cell-editors/textarea-editor.component.d.ts +7 -0
  77. package/lib/components/cell/cell-view-mode/custom-view.component.d.ts +19 -0
  78. package/lib/components/cell/cell-view-mode/view-cell.component.d.ts +7 -0
  79. package/lib/components/cell/cell-view-mode/view-cell.d.ts +4 -0
  80. package/lib/components/cell/cell.component.d.ts +20 -0
  81. package/lib/components/cell/cell.module.d.ts +21 -0
  82. package/lib/components/filter/custom-filter.component.d.ts +14 -0
  83. package/lib/components/filter/default-filter.component.d.ts +7 -0
  84. package/lib/components/filter/filter-default.d.ts +14 -0
  85. package/lib/components/filter/filter-types/checkbox-filter.component.d.ts +13 -0
  86. package/lib/components/filter/filter-types/completer-filter.component.d.ts +12 -0
  87. package/lib/components/filter/filter-types/default-filter.d.ts +24 -0
  88. package/lib/components/filter/filter-types/input-filter.component.d.ts +12 -0
  89. package/lib/components/filter/filter-types/select-filter.component.d.ts +11 -0
  90. package/lib/components/filter/filter.component.d.ts +11 -0
  91. package/lib/components/filter/filter.module.d.ts +17 -0
  92. package/lib/components/pager/pager.component.d.ts +35 -0
  93. package/lib/components/pager/pager.module.d.ts +9 -0
  94. package/lib/components/tbody/cells/create-cancel.component.d.ts +16 -0
  95. package/lib/components/tbody/cells/custom.component.d.ts +13 -0
  96. package/lib/components/tbody/cells/edit-delete.component.d.ts +24 -0
  97. package/lib/components/tbody/tbody.component.d.ts +37 -0
  98. package/lib/components/tbody/tbody.module.d.ts +13 -0
  99. package/lib/components/thead/cells/actions-title.component.d.ts +13 -0
  100. package/lib/components/thead/cells/actions.component.d.ts +12 -0
  101. package/lib/components/thead/cells/add-button.component.d.ts +18 -0
  102. package/lib/components/thead/cells/checkbox-select-all.component.d.ts +9 -0
  103. package/lib/components/thead/cells/column-title.component.d.ts +11 -0
  104. package/lib/components/thead/cells/title/title.component.d.ts +17 -0
  105. package/lib/components/thead/rows/thead-filters-row.component.d.ts +19 -0
  106. package/lib/components/thead/rows/thead-form-row.component.d.ts +20 -0
  107. package/lib/components/thead/rows/thead-titles-row.component.d.ts +18 -0
  108. package/lib/components/thead/thead.component.d.ts +18 -0
  109. package/lib/components/thead/thead.module.d.ts +20 -0
  110. package/lib/lib/data-set/cell.d.ts +20 -0
  111. package/lib/lib/data-set/column.d.ts +44 -0
  112. package/lib/lib/data-set/data-set.d.ts +37 -0
  113. package/lib/lib/data-set/row.d.ts +20 -0
  114. package/lib/lib/data-source/data-source.d.ts +35 -0
  115. package/lib/lib/data-source/local/local.data-source.d.ts +55 -0
  116. package/lib/lib/data-source/local/local.filter.d.ts +4 -0
  117. package/lib/lib/data-source/local/local.pager.d.ts +3 -0
  118. package/lib/lib/data-source/local/local.sorter.d.ts +4 -0
  119. package/lib/lib/data-source/server/server-source.conf.d.ts +27 -0
  120. package/lib/lib/data-source/server/server.data-source.d.ts +30 -0
  121. package/lib/lib/grid.d.ts +49 -0
  122. package/lib/lib/helpers.d.ts +18 -0
  123. package/lib/lib/interfaces/smart-table.models.d.ts +148 -0
  124. package/lib/ng2-smart-table.component.d.ts +43 -0
  125. package/lib/ng2-smart-table.module.d.ts +14 -0
  126. package/package.json +35 -0
  127. package/public-api.d.ts +8 -0
@@ -0,0 +1,103 @@
1
+ import { Component, Input, Output, EventEmitter } from '@angular/core';
2
+ import { Grid } from '../../../lib/grid';
3
+ import { DataSource } from '../../../lib/data-source/data-source';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ import * as i2 from "../cells/actions-title.component";
7
+ import * as i3 from "../cells/checkbox-select-all.component";
8
+ import * as i4 from "../cells/column-title.component";
9
+ const _c0 = ["ng2-st-thead-titles-row", ""];
10
+ function TheadTitlesRowComponent_th_0_Template(rf, ctx) { if (rf & 1) {
11
+ const _r5 = i0.ɵɵgetCurrentView();
12
+ i0.ɵɵelementStart(0, "th", 3);
13
+ i0.ɵɵlistener("click", function TheadTitlesRowComponent_th_0_Template_th_click_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r4 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r4.selectAllRows.emit($event)); });
14
+ i0.ɵɵelementEnd();
15
+ } if (rf & 2) {
16
+ const ctx_r0 = i0.ɵɵnextContext();
17
+ i0.ɵɵproperty("grid", ctx_r0.grid)("source", ctx_r0.source);
18
+ } }
19
+ function TheadTitlesRowComponent_th_1_Template(rf, ctx) { if (rf & 1) {
20
+ i0.ɵɵelement(0, "th", 4);
21
+ } if (rf & 2) {
22
+ const ctx_r1 = i0.ɵɵnextContext();
23
+ i0.ɵɵproperty("grid", ctx_r1.grid);
24
+ } }
25
+ function TheadTitlesRowComponent_th_2_Template(rf, ctx) { if (rf & 1) {
26
+ const _r8 = i0.ɵɵgetCurrentView();
27
+ i0.ɵɵelementStart(0, "th", 5)(1, "ng2-st-column-title", 6);
28
+ i0.ɵɵlistener("sort", function TheadTitlesRowComponent_th_2_Template_ng2_st_column_title_sort_1_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r7 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r7.sort.emit($event)); });
29
+ i0.ɵɵelementEnd()();
30
+ } if (rf & 2) {
31
+ const column_r6 = ctx.$implicit;
32
+ const ctx_r2 = i0.ɵɵnextContext();
33
+ i0.ɵɵclassMapInterpolate1("ng2-smart-th ", column_r6.id, "");
34
+ i0.ɵɵstyleProp("width", column_r6.width);
35
+ i0.ɵɵproperty("ngClass", column_r6.class);
36
+ i0.ɵɵadvance(1);
37
+ i0.ɵɵproperty("source", ctx_r2.source)("column", column_r6);
38
+ } }
39
+ function TheadTitlesRowComponent_th_3_Template(rf, ctx) { if (rf & 1) {
40
+ i0.ɵɵelement(0, "th", 4);
41
+ } if (rf & 2) {
42
+ const ctx_r3 = i0.ɵɵnextContext();
43
+ i0.ɵɵproperty("grid", ctx_r3.grid);
44
+ } }
45
+ export class TheadTitlesRowComponent {
46
+ constructor() {
47
+ this.sort = new EventEmitter();
48
+ this.selectAllRows = new EventEmitter();
49
+ }
50
+ ngOnChanges() {
51
+ this.isMultiSelectVisible = this.grid.isMultiSelectVisible();
52
+ this.showActionColumnLeft = this.grid.showActionColumn('left');
53
+ this.showActionColumnRight = this.grid.showActionColumn('right');
54
+ }
55
+ getVisibleColumns(columns) {
56
+ return (columns || []).filter((column) => !column.hide);
57
+ }
58
+ }
59
+ TheadTitlesRowComponent.ɵfac = function TheadTitlesRowComponent_Factory(t) { return new (t || TheadTitlesRowComponent)(); };
60
+ TheadTitlesRowComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TheadTitlesRowComponent, selectors: [["", "ng2-st-thead-titles-row", ""]], inputs: { grid: "grid", source: "source" }, outputs: { sort: "sort", selectAllRows: "selectAllRows" }, features: [i0.ɵɵNgOnChangesFeature], attrs: _c0, decls: 4, vars: 4, consts: [["ng2-st-checkbox-select-all", "", 3, "grid", "source", "click", 4, "ngIf"], ["ng2-st-actions-title", "", 3, "grid", 4, "ngIf"], [3, "class", "ngClass", "width", 4, "ngFor", "ngForOf"], ["ng2-st-checkbox-select-all", "", 3, "grid", "source", "click"], ["ng2-st-actions-title", "", 3, "grid"], [3, "ngClass"], [3, "source", "column", "sort"]], template: function TheadTitlesRowComponent_Template(rf, ctx) { if (rf & 1) {
61
+ i0.ɵɵtemplate(0, TheadTitlesRowComponent_th_0_Template, 1, 2, "th", 0);
62
+ i0.ɵɵtemplate(1, TheadTitlesRowComponent_th_1_Template, 1, 1, "th", 1);
63
+ i0.ɵɵtemplate(2, TheadTitlesRowComponent_th_2_Template, 2, 8, "th", 2);
64
+ i0.ɵɵtemplate(3, TheadTitlesRowComponent_th_3_Template, 1, 1, "th", 1);
65
+ } if (rf & 2) {
66
+ i0.ɵɵproperty("ngIf", ctx.isMultiSelectVisible);
67
+ i0.ɵɵadvance(1);
68
+ i0.ɵɵproperty("ngIf", ctx.showActionColumnLeft);
69
+ i0.ɵɵadvance(1);
70
+ i0.ɵɵproperty("ngForOf", ctx.getVisibleColumns(ctx.grid.getColumns()));
71
+ i0.ɵɵadvance(1);
72
+ i0.ɵɵproperty("ngIf", ctx.showActionColumnRight);
73
+ } }, dependencies: [i1.NgClass, i1.NgForOf, i1.NgIf, i2.ActionsTitleComponent, i3.CheckboxSelectAllComponent, i4.ColumnTitleComponent], encapsulation: 2 });
74
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TheadTitlesRowComponent, [{
75
+ type: Component,
76
+ args: [{
77
+ selector: '[ng2-st-thead-titles-row]',
78
+ template: `
79
+ <th ng2-st-checkbox-select-all *ngIf="isMultiSelectVisible"
80
+ [grid]="grid"
81
+ [source]="source"
82
+ (click)="selectAllRows.emit($event)">
83
+ </th>
84
+ <th ng2-st-actions-title *ngIf="showActionColumnLeft" [grid]="grid"></th>
85
+ <th *ngFor="let column of getVisibleColumns(grid.getColumns())"
86
+ class="ng2-smart-th {{ column.id }}"
87
+ [ngClass]="column.class"
88
+ [style.width]="column.width">
89
+ <ng2-st-column-title [source]="source" [column]="column" (sort)="sort.emit($event)"></ng2-st-column-title>
90
+ </th>
91
+ <th ng2-st-actions-title *ngIf="showActionColumnRight" [grid]="grid"></th>
92
+ `,
93
+ }]
94
+ }], null, { grid: [{
95
+ type: Input
96
+ }], source: [{
97
+ type: Input
98
+ }], sort: [{
99
+ type: Output
100
+ }], selectAllRows: [{
101
+ type: Output
102
+ }] }); })();
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlYWQtdGl0bGVzLXJvdy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZzItc21hcnQtdGFibGUvc3JjL2xpYi9jb21wb25lbnRzL3RoZWFkL3Jvd3MvdGhlYWQtdGl0bGVzLXJvdy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUVoRixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDekMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7Ozs7Ozs7SUFNOUQsNkJBR29FO0lBQXJDLHFLQUFTLGVBQUEsaUNBQTBCLENBQUEsSUFBQztJQUNuRSxpQkFBSzs7O0lBSDBCLGtDQUFhLHlCQUFBOzs7SUFJNUMsd0JBQXlFOzs7SUFBbkIsa0NBQWE7Ozs7SUFDbkUsNkJBR2lDLDZCQUFBO0lBQzBCLG9MQUFRLGVBQUEsd0JBQWlCLENBQUEsSUFBQztJQUFDLGlCQUFzQixFQUFBOzs7O0lBSHhHLDREQUFvQztJQUVwQyx3Q0FBNEI7SUFENUIseUNBQXdCO0lBRUwsZUFBaUI7SUFBakIsc0NBQWlCLHFCQUFBOzs7SUFFeEMsd0JBQTBFOzs7SUFBbkIsa0NBQWE7O0FBR3hFLE1BQU0sT0FBTyx1QkFBdUI7SUFsQnBDO1FBdUJZLFNBQUksR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQy9CLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztLQWdCbkQ7SUFUQyxXQUFXO1FBQ1QsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUM3RCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvRCxJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQsaUJBQWlCLENBQUMsT0FBc0I7UUFDdEMsT0FBTyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFjLEVBQUUsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xFLENBQUM7OzhGQXJCVSx1QkFBdUI7MEVBQXZCLHVCQUF1QjtRQWZoQyxzRUFJSztRQUNMLHNFQUF5RTtRQUN6RSxzRUFLSztRQUNMLHNFQUEwRTs7UUFaMUMsK0NBQTBCO1FBS2hDLGVBQTBCO1FBQTFCLCtDQUEwQjtRQUM3QixlQUF1QztRQUF2QyxzRUFBdUM7UUFNcEMsZUFBMkI7UUFBM0IsZ0RBQTJCOzt1RkFHNUMsdUJBQXVCO2NBbEJuQyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLDJCQUEyQjtnQkFDckMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7OztHQWNUO2FBQ0Y7Z0JBR1UsSUFBSTtrQkFBWixLQUFLO1lBQ0csTUFBTTtrQkFBZCxLQUFLO1lBRUksSUFBSTtrQkFBYixNQUFNO1lBQ0csYUFBYTtrQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9uQ2hhbmdlc30gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEdyaWQgfSBmcm9tICcuLi8uLi8uLi9saWIvZ3JpZCc7XG5pbXBvcnQgeyBEYXRhU291cmNlIH0gZnJvbSAnLi4vLi4vLi4vbGliL2RhdGEtc291cmNlL2RhdGEtc291cmNlJztcbmltcG9ydCB7IENvbHVtbiB9IGZyb20gXCIuLi8uLi8uLi9saWIvZGF0YS1zZXQvY29sdW1uXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ1tuZzItc3QtdGhlYWQtdGl0bGVzLXJvd10nLFxuICB0ZW1wbGF0ZTogYFxuICAgIDx0aCBuZzItc3QtY2hlY2tib3gtc2VsZWN0LWFsbCAqbmdJZj1cImlzTXVsdGlTZWxlY3RWaXNpYmxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2dyaWRdPVwiZ3JpZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzb3VyY2VdPVwic291cmNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdEFsbFJvd3MuZW1pdCgkZXZlbnQpXCI+XG4gICAgPC90aD5cbiAgICA8dGggbmcyLXN0LWFjdGlvbnMtdGl0bGUgKm5nSWY9XCJzaG93QWN0aW9uQ29sdW1uTGVmdFwiIFtncmlkXT1cImdyaWRcIj48L3RoPlxuICAgIDx0aCAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGdldFZpc2libGVDb2x1bW5zKGdyaWQuZ2V0Q29sdW1ucygpKVwiXG4gICAgICAgIGNsYXNzPVwibmcyLXNtYXJ0LXRoIHt7IGNvbHVtbi5pZCB9fVwiXG4gICAgICAgIFtuZ0NsYXNzXT1cImNvbHVtbi5jbGFzc1wiXG4gICAgICAgIFtzdHlsZS53aWR0aF09XCJjb2x1bW4ud2lkdGhcIj5cbiAgICAgIDxuZzItc3QtY29sdW1uLXRpdGxlIFtzb3VyY2VdPVwic291cmNlXCIgW2NvbHVtbl09XCJjb2x1bW5cIiAoc29ydCk9XCJzb3J0LmVtaXQoJGV2ZW50KVwiPjwvbmcyLXN0LWNvbHVtbi10aXRsZT5cbiAgICA8L3RoPlxuICAgIDx0aCBuZzItc3QtYWN0aW9ucy10aXRsZSAqbmdJZj1cInNob3dBY3Rpb25Db2x1bW5SaWdodFwiIFtncmlkXT1cImdyaWRcIj48L3RoPlxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBUaGVhZFRpdGxlc1Jvd0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG5cbiAgQElucHV0KCkgZ3JpZDogR3JpZDtcbiAgQElucHV0KCkgc291cmNlOiBEYXRhU291cmNlO1xuXG4gIEBPdXRwdXQoKSBzb3J0ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBzZWxlY3RBbGxSb3dzID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgaXNNdWx0aVNlbGVjdFZpc2libGU6IGJvb2xlYW47XG4gIHNob3dBY3Rpb25Db2x1bW5MZWZ0OiBib29sZWFuO1xuICBzaG93QWN0aW9uQ29sdW1uUmlnaHQ6IGJvb2xlYW47XG5cblxuICBuZ09uQ2hhbmdlcygpIHtcbiAgICB0aGlzLmlzTXVsdGlTZWxlY3RWaXNpYmxlID0gdGhpcy5ncmlkLmlzTXVsdGlTZWxlY3RWaXNpYmxlKCk7XG4gICAgdGhpcy5zaG93QWN0aW9uQ29sdW1uTGVmdCA9IHRoaXMuZ3JpZC5zaG93QWN0aW9uQ29sdW1uKCdsZWZ0Jyk7XG4gICAgdGhpcy5zaG93QWN0aW9uQ29sdW1uUmlnaHQgPSB0aGlzLmdyaWQuc2hvd0FjdGlvbkNvbHVtbigncmlnaHQnKTtcbiAgfVxuXG4gIGdldFZpc2libGVDb2x1bW5zKGNvbHVtbnM6IEFycmF5PENvbHVtbj4pOiBBcnJheTxDb2x1bW4+IHtcbiAgICByZXR1cm4gKGNvbHVtbnMgfHwgW10pLmZpbHRlcigoY29sdW1uOiBDb2x1bW4pID0+ICFjb2x1bW4uaGlkZSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,76 @@
1
+ import { Component, Input, Output, EventEmitter } from '@angular/core';
2
+ import { Grid } from '../../lib/grid';
3
+ import { DataSource } from '../../lib/data-source/data-source';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ import * as i2 from "./rows/thead-filters-row.component";
7
+ import * as i3 from "./rows/thead-form-row.component";
8
+ import * as i4 from "./rows/thead-titles-row.component";
9
+ const _c0 = ["ng2-st-thead", ""];
10
+ function Ng2SmartTableTheadComponent_tr_0_Template(rf, ctx) { if (rf & 1) {
11
+ const _r4 = i0.ɵɵgetCurrentView();
12
+ i0.ɵɵelementStart(0, "tr", 3);
13
+ i0.ɵɵlistener("sort", function Ng2SmartTableTheadComponent_tr_0_Template_tr_sort_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r3 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r3.sort.emit($event)); })("selectAllRows", function Ng2SmartTableTheadComponent_tr_0_Template_tr_selectAllRows_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r5 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r5.selectAllRows.emit($event)); });
14
+ i0.ɵɵelementEnd();
15
+ } if (rf & 2) {
16
+ const ctx_r0 = i0.ɵɵnextContext();
17
+ i0.ɵɵproperty("grid", ctx_r0.grid)("source", ctx_r0.source);
18
+ } }
19
+ function Ng2SmartTableTheadComponent_tr_1_Template(rf, ctx) { if (rf & 1) {
20
+ const _r7 = i0.ɵɵgetCurrentView();
21
+ i0.ɵɵelementStart(0, "tr", 4);
22
+ i0.ɵɵlistener("create", function Ng2SmartTableTheadComponent_tr_1_Template_tr_create_0_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r6 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r6.create.emit($event)); })("filter", function Ng2SmartTableTheadComponent_tr_1_Template_tr_filter_0_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r8 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r8.filter.emit($event)); });
23
+ i0.ɵɵelementEnd();
24
+ } if (rf & 2) {
25
+ const ctx_r1 = i0.ɵɵnextContext();
26
+ i0.ɵɵproperty("grid", ctx_r1.grid)("source", ctx_r1.source);
27
+ } }
28
+ function Ng2SmartTableTheadComponent_tr_2_Template(rf, ctx) { if (rf & 1) {
29
+ i0.ɵɵelement(0, "tr", 5);
30
+ } if (rf & 2) {
31
+ const ctx_r2 = i0.ɵɵnextContext();
32
+ i0.ɵɵproperty("grid", ctx_r2.grid)("createConfirm", ctx_r2.createConfirm);
33
+ } }
34
+ export class Ng2SmartTableTheadComponent {
35
+ constructor() {
36
+ this.sort = new EventEmitter();
37
+ this.selectAllRows = new EventEmitter();
38
+ this.create = new EventEmitter();
39
+ this.filter = new EventEmitter();
40
+ }
41
+ ngOnChanges() {
42
+ this.isHideHeader = this.grid.getSetting('hideHeader');
43
+ this.isHideSubHeader = this.grid.getSetting('hideSubHeader');
44
+ }
45
+ }
46
+ Ng2SmartTableTheadComponent.ɵfac = function Ng2SmartTableTheadComponent_Factory(t) { return new (t || Ng2SmartTableTheadComponent)(); };
47
+ Ng2SmartTableTheadComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Ng2SmartTableTheadComponent, selectors: [["", "ng2-st-thead", ""]], inputs: { grid: "grid", source: "source", createConfirm: "createConfirm" }, outputs: { sort: "sort", selectAllRows: "selectAllRows", create: "create", filter: "filter" }, features: [i0.ɵɵNgOnChangesFeature], attrs: _c0, decls: 3, vars: 3, consts: [["ng2-st-thead-titles-row", "", "class", "ng2-smart-titles", 3, "grid", "source", "sort", "selectAllRows", 4, "ngIf"], ["ng2-st-thead-filters-row", "", "class", "ng2-smart-filters", 3, "grid", "source", "create", "filter", 4, "ngIf"], ["ng2-st-thead-form-row", "", 3, "grid", "createConfirm", 4, "ngIf"], ["ng2-st-thead-titles-row", "", 1, "ng2-smart-titles", 3, "grid", "source", "sort", "selectAllRows"], ["ng2-st-thead-filters-row", "", 1, "ng2-smart-filters", 3, "grid", "source", "create", "filter"], ["ng2-st-thead-form-row", "", 3, "grid", "createConfirm"]], template: function Ng2SmartTableTheadComponent_Template(rf, ctx) { if (rf & 1) {
48
+ i0.ɵɵtemplate(0, Ng2SmartTableTheadComponent_tr_0_Template, 1, 2, "tr", 0);
49
+ i0.ɵɵtemplate(1, Ng2SmartTableTheadComponent_tr_1_Template, 1, 2, "tr", 1);
50
+ i0.ɵɵtemplate(2, Ng2SmartTableTheadComponent_tr_2_Template, 1, 2, "tr", 2);
51
+ } if (rf & 2) {
52
+ i0.ɵɵproperty("ngIf", !ctx.isHideHeader);
53
+ i0.ɵɵadvance(1);
54
+ i0.ɵɵproperty("ngIf", !ctx.isHideSubHeader);
55
+ i0.ɵɵadvance(1);
56
+ i0.ɵɵproperty("ngIf", ctx.grid.createFormShown);
57
+ } }, dependencies: [i1.NgIf, i2.TheadFitlersRowComponent, i3.TheadFormRowComponent, i4.TheadTitlesRowComponent], encapsulation: 2 });
58
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(Ng2SmartTableTheadComponent, [{
59
+ type: Component,
60
+ args: [{ selector: '[ng2-st-thead]', template: "<tr ng2-st-thead-titles-row *ngIf=\"!isHideHeader\"\n class=\"ng2-smart-titles\"\n [grid]=\"grid\"\n [source]=\"source\"\n (sort)=\"sort.emit($event)\"\n (selectAllRows)=\"selectAllRows.emit($event)\">\n</tr>\n\n<tr ng2-st-thead-filters-row *ngIf=\"!isHideSubHeader\"\n class=\"ng2-smart-filters\"\n [grid]=\"grid\"\n [source]=\"source\"\n (create)=\"create.emit($event)\"\n (filter)=\"filter.emit($event)\">\n</tr>\n\n<tr ng2-st-thead-form-row *ngIf=\"grid.createFormShown\"\n [grid]=\"grid\"\n [createConfirm]=\"createConfirm\">\n</tr>\n" }]
61
+ }], null, { grid: [{
62
+ type: Input
63
+ }], source: [{
64
+ type: Input
65
+ }], createConfirm: [{
66
+ type: Input
67
+ }], sort: [{
68
+ type: Output
69
+ }], selectAllRows: [{
70
+ type: Output
71
+ }], create: [{
72
+ type: Output
73
+ }], filter: [{
74
+ type: Output
75
+ }] }); })();
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmcyLXNtYXJ0LXRhYmxlL3NyYy9saWIvY29tcG9uZW50cy90aGVhZC90aGVhZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZzItc21hcnQtdGFibGUvc3JjL2xpYi9jb21wb25lbnRzL3RoZWFkL3RoZWFkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQVksTUFBTSxlQUFlLENBQUM7QUFFaEYsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7Ozs7O0lDSC9ELDZCQUt5RTtJQUQ3Qyx1S0FBUSxlQUFBLHdCQUFpQixDQUFBLElBQUMsNEtBQ1QsZUFBQSxpQ0FBMEIsQ0FBQSxJQURqQjtJQUV0RCxpQkFBSzs7O0lBSnVCLGtDQUFhLHlCQUFBOzs7O0lBTXpDLDZCQUs2RDtJQUQvQiwyS0FBVSxlQUFBLDBCQUFtQixDQUFBLElBQUMsOEpBQ3BCLGVBQUEsMEJBQW1CLENBQUEsSUFEQztJQUU1RCxpQkFBSzs7O0lBSnlCLGtDQUFhLHlCQUFBOzs7SUFNM0Msd0JBR0s7OztJQUZxQixrQ0FBYSx1Q0FBQTs7QURSdkMsTUFBTSxPQUFPLDJCQUEyQjtJQUp4QztRQVVjLFNBQUksR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQy9CLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUN4QyxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNqQyxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztLQVM5QztJQUpDLFdBQVc7UUFDUCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDL0QsQ0FBQzs7c0dBakJRLDJCQUEyQjs4RUFBM0IsMkJBQTJCO1FDVHhDLDBFQU1LO1FBRUwsMEVBTUs7UUFFTCwwRUFHSzs7UUFuQndCLHdDQUFtQjtRQVFsQixlQUFzQjtRQUF0QiwyQ0FBc0I7UUFRekIsZUFBMEI7UUFBMUIsK0NBQTBCOzt1RkRQeEMsMkJBQTJCO2NBSnZDLFNBQVM7MkJBQ0ksZ0JBQWdCO2dCQUtqQixJQUFJO2tCQUFaLEtBQUs7WUFDRyxNQUFNO2tCQUFkLEtBQUs7WUFDRyxhQUFhO2tCQUFyQixLQUFLO1lBRUksSUFBSTtrQkFBYixNQUFNO1lBQ0csYUFBYTtrQkFBdEIsTUFBTTtZQUNHLE1BQU07a0JBQWYsTUFBTTtZQUNHLE1BQU07a0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9uQ2hhbmdlc30gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEdyaWQgfSBmcm9tICcuLi8uLi9saWIvZ3JpZCc7XG5pbXBvcnQgeyBEYXRhU291cmNlIH0gZnJvbSAnLi4vLi4vbGliL2RhdGEtc291cmNlL2RhdGEtc291cmNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdbbmcyLXN0LXRoZWFkXScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RoZWFkLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgTmcyU21hcnRUYWJsZVRoZWFkQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcblxuICAgIEBJbnB1dCgpIGdyaWQ6IEdyaWQ7XG4gICAgQElucHV0KCkgc291cmNlOiBEYXRhU291cmNlO1xuICAgIEBJbnB1dCgpIGNyZWF0ZUNvbmZpcm06IEV2ZW50RW1pdHRlcjxhbnk+O1xuXG4gICAgQE91dHB1dCgpIHNvcnQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgc2VsZWN0QWxsUm93cyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBjcmVhdGUgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgZmlsdGVyID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgICBpc0hpZGVIZWFkZXI6IGJvb2xlYW47XG4gICAgaXNIaWRlU3ViSGVhZGVyOiBib29sZWFuO1xuXG4gIG5nT25DaGFuZ2VzKCkge1xuICAgICAgdGhpcy5pc0hpZGVIZWFkZXIgPSB0aGlzLmdyaWQuZ2V0U2V0dGluZygnaGlkZUhlYWRlcicpO1xuICAgICAgdGhpcy5pc0hpZGVTdWJIZWFkZXIgPSB0aGlzLmdyaWQuZ2V0U2V0dGluZygnaGlkZVN1YkhlYWRlcicpO1xuICAgIH1cbn1cbiIsIjx0ciBuZzItc3QtdGhlYWQtdGl0bGVzLXJvdyAqbmdJZj1cIiFpc0hpZGVIZWFkZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibmcyLXNtYXJ0LXRpdGxlc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2dyaWRdPVwiZ3JpZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NvdXJjZV09XCJzb3VyY2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzb3J0KT1cInNvcnQuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2VsZWN0QWxsUm93cyk9XCJzZWxlY3RBbGxSb3dzLmVtaXQoJGV2ZW50KVwiPlxuPC90cj5cblxuPHRyIG5nMi1zdC10aGVhZC1maWx0ZXJzLXJvdyAqbmdJZj1cIiFpc0hpZGVTdWJIZWFkZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJuZzItc21hcnQtZmlsdGVyc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZ3JpZF09XCJncmlkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzb3VyY2VdPVwic291cmNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjcmVhdGUpPVwiY3JlYXRlLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZmlsdGVyKT1cImZpbHRlci5lbWl0KCRldmVudClcIj5cbjwvdHI+XG5cbjx0ciBuZzItc3QtdGhlYWQtZm9ybS1yb3cgKm5nSWY9XCJncmlkLmNyZWF0ZUZvcm1TaG93blwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtncmlkXT1cImdyaWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbY3JlYXRlQ29uZmlybV09XCJjcmVhdGVDb25maXJtXCI+XG48L3RyPlxuIl19
@@ -0,0 +1,76 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { FormsModule } from '@angular/forms';
4
+ import { FilterModule } from '../filter/filter.module';
5
+ import { CellModule } from '../cell/cell.module';
6
+ import { Ng2SmartTableTheadComponent } from './thead.component';
7
+ import { ActionsComponent } from './cells/actions.component';
8
+ import { ActionsTitleComponent } from './cells/actions-title.component';
9
+ import { AddButtonComponent } from './cells/add-button.component';
10
+ import { CheckboxSelectAllComponent } from './cells/checkbox-select-all.component';
11
+ import { ColumnTitleComponent } from './cells/column-title.component';
12
+ import { TitleComponent } from './cells/title/title.component';
13
+ import { TheadFitlersRowComponent } from './rows/thead-filters-row.component';
14
+ import { TheadFormRowComponent } from './rows/thead-form-row.component';
15
+ import { TheadTitlesRowComponent } from './rows/thead-titles-row.component';
16
+ import * as i0 from "@angular/core";
17
+ const THEAD_COMPONENTS = [
18
+ ActionsComponent,
19
+ ActionsTitleComponent,
20
+ AddButtonComponent,
21
+ CheckboxSelectAllComponent,
22
+ ColumnTitleComponent,
23
+ TitleComponent,
24
+ TheadFitlersRowComponent,
25
+ TheadFormRowComponent,
26
+ TheadTitlesRowComponent,
27
+ Ng2SmartTableTheadComponent,
28
+ ];
29
+ export class THeadModule {
30
+ }
31
+ THeadModule.ɵfac = function THeadModule_Factory(t) { return new (t || THeadModule)(); };
32
+ THeadModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: THeadModule });
33
+ THeadModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule,
34
+ FormsModule,
35
+ FilterModule,
36
+ CellModule] });
37
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(THeadModule, [{
38
+ type: NgModule,
39
+ args: [{
40
+ imports: [
41
+ CommonModule,
42
+ FormsModule,
43
+ FilterModule,
44
+ CellModule,
45
+ ],
46
+ declarations: [
47
+ ...THEAD_COMPONENTS,
48
+ ],
49
+ exports: [
50
+ ...THEAD_COMPONENTS,
51
+ ],
52
+ }]
53
+ }], null, null); })();
54
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(THeadModule, { declarations: [ActionsComponent,
55
+ ActionsTitleComponent,
56
+ AddButtonComponent,
57
+ CheckboxSelectAllComponent,
58
+ ColumnTitleComponent,
59
+ TitleComponent,
60
+ TheadFitlersRowComponent,
61
+ TheadFormRowComponent,
62
+ TheadTitlesRowComponent,
63
+ Ng2SmartTableTheadComponent], imports: [CommonModule,
64
+ FormsModule,
65
+ FilterModule,
66
+ CellModule], exports: [ActionsComponent,
67
+ ActionsTitleComponent,
68
+ AddButtonComponent,
69
+ CheckboxSelectAllComponent,
70
+ ColumnTitleComponent,
71
+ TitleComponent,
72
+ TheadFitlersRowComponent,
73
+ TheadFormRowComponent,
74
+ TheadTitlesRowComponent,
75
+ Ng2SmartTableTheadComponent] }); })();
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlYWQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmcyLXNtYXJ0LXRhYmxlL3NyYy9saWIvY29tcG9uZW50cy90aGVhZC90aGVhZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFakQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDbkYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQy9ELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOztBQUU1RSxNQUFNLGdCQUFnQixHQUFHO0lBQ3ZCLGdCQUFnQjtJQUNoQixxQkFBcUI7SUFDckIsa0JBQWtCO0lBQ2xCLDBCQUEwQjtJQUMxQixvQkFBb0I7SUFDcEIsY0FBYztJQUNkLHdCQUF3QjtJQUN4QixxQkFBcUI7SUFDckIsdUJBQXVCO0lBQ3ZCLDJCQUEyQjtDQUM1QixDQUFDO0FBZ0JGLE1BQU0sT0FBTyxXQUFXOztzRUFBWCxXQUFXOzZEQUFYLFdBQVc7aUVBWnBCLFlBQVk7UUFDWixXQUFXO1FBQ1gsWUFBWTtRQUNaLFVBQVU7dUZBU0QsV0FBVztjQWR2QixRQUFRO2VBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osV0FBVztvQkFDWCxZQUFZO29CQUNaLFVBQVU7aUJBQ1g7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLEdBQUcsZ0JBQWdCO2lCQUNwQjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsR0FBRyxnQkFBZ0I7aUJBQ3BCO2FBQ0Y7O3dGQUNZLFdBQVcsbUJBMUJ0QixnQkFBZ0I7UUFDaEIscUJBQXFCO1FBQ3JCLGtCQUFrQjtRQUNsQiwwQkFBMEI7UUFDMUIsb0JBQW9CO1FBQ3BCLGNBQWM7UUFDZCx3QkFBd0I7UUFDeEIscUJBQXFCO1FBQ3JCLHVCQUF1QjtRQUN2QiwyQkFBMkIsYUFLekIsWUFBWTtRQUNaLFdBQVc7UUFDWCxZQUFZO1FBQ1osVUFBVSxhQWpCWixnQkFBZ0I7UUFDaEIscUJBQXFCO1FBQ3JCLGtCQUFrQjtRQUNsQiwwQkFBMEI7UUFDMUIsb0JBQW9CO1FBQ3BCLGNBQWM7UUFDZCx3QkFBd0I7UUFDeEIscUJBQXFCO1FBQ3JCLHVCQUF1QjtRQUN2QiwyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBGaWx0ZXJNb2R1bGUgfSBmcm9tICcuLi9maWx0ZXIvZmlsdGVyLm1vZHVsZSc7XG5pbXBvcnQgeyBDZWxsTW9kdWxlIH0gZnJvbSAnLi4vY2VsbC9jZWxsLm1vZHVsZSc7XG5cbmltcG9ydCB7IE5nMlNtYXJ0VGFibGVUaGVhZENvbXBvbmVudCB9IGZyb20gJy4vdGhlYWQuY29tcG9uZW50JztcbmltcG9ydCB7IEFjdGlvbnNDb21wb25lbnQgfSBmcm9tICcuL2NlbGxzL2FjdGlvbnMuY29tcG9uZW50JztcbmltcG9ydCB7IEFjdGlvbnNUaXRsZUNvbXBvbmVudCB9IGZyb20gJy4vY2VsbHMvYWN0aW9ucy10aXRsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQWRkQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9jZWxscy9hZGQtYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDaGVja2JveFNlbGVjdEFsbENvbXBvbmVudCB9IGZyb20gJy4vY2VsbHMvY2hlY2tib3gtc2VsZWN0LWFsbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29sdW1uVGl0bGVDb21wb25lbnQgfSBmcm9tICcuL2NlbGxzL2NvbHVtbi10aXRsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGl0bGVDb21wb25lbnQgfSBmcm9tICcuL2NlbGxzL3RpdGxlL3RpdGxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVhZEZpdGxlcnNSb3dDb21wb25lbnQgfSBmcm9tICcuL3Jvd3MvdGhlYWQtZmlsdGVycy1yb3cuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZWFkRm9ybVJvd0NvbXBvbmVudCB9IGZyb20gJy4vcm93cy90aGVhZC1mb3JtLXJvdy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlYWRUaXRsZXNSb3dDb21wb25lbnQgfSBmcm9tICcuL3Jvd3MvdGhlYWQtdGl0bGVzLXJvdy5jb21wb25lbnQnO1xuXG5jb25zdCBUSEVBRF9DT01QT05FTlRTID0gW1xuICBBY3Rpb25zQ29tcG9uZW50LFxuICBBY3Rpb25zVGl0bGVDb21wb25lbnQsXG4gIEFkZEJ1dHRvbkNvbXBvbmVudCxcbiAgQ2hlY2tib3hTZWxlY3RBbGxDb21wb25lbnQsXG4gIENvbHVtblRpdGxlQ29tcG9uZW50LFxuICBUaXRsZUNvbXBvbmVudCxcbiAgVGhlYWRGaXRsZXJzUm93Q29tcG9uZW50LFxuICBUaGVhZEZvcm1Sb3dDb21wb25lbnQsXG4gIFRoZWFkVGl0bGVzUm93Q29tcG9uZW50LFxuICBOZzJTbWFydFRhYmxlVGhlYWRDb21wb25lbnQsXG5dO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIEZpbHRlck1vZHVsZSxcbiAgICBDZWxsTW9kdWxlLFxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICAuLi5USEVBRF9DT01QT05FTlRTLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgLi4uVEhFQURfQ09NUE9ORU5UUyxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVEhlYWRNb2R1bGUgeyB9XG4iXX0=
@@ -0,0 +1,41 @@
1
+ export function prepareValue(value) { return value; }
2
+ export class Cell {
3
+ constructor(value, row, column, dataSet) {
4
+ this.value = value;
5
+ this.row = row;
6
+ this.column = column;
7
+ this.dataSet = dataSet;
8
+ this.newValue = '';
9
+ this.newValue = value;
10
+ }
11
+ getColumn() {
12
+ return this.column;
13
+ }
14
+ getRow() {
15
+ return this.row;
16
+ }
17
+ getValue() {
18
+ const valid = this.column.getValuePrepareFunction() instanceof Function;
19
+ const prepare = valid ? this.column.getValuePrepareFunction() : Cell.PREPARE;
20
+ return prepare.call(null, this.value, this.row.getData(), this);
21
+ }
22
+ setValue(value) {
23
+ this.newValue = value;
24
+ }
25
+ getId() {
26
+ return this.getColumn().id;
27
+ }
28
+ getTitle() {
29
+ return this.getColumn().title;
30
+ }
31
+ isEditable() {
32
+ if (this.getRow().index === -1) {
33
+ return this.getColumn().isAddable;
34
+ }
35
+ else {
36
+ return this.getColumn().isEditable;
37
+ }
38
+ }
39
+ }
40
+ Cell.PREPARE = prepareValue;
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nMi1zbWFydC10YWJsZS9zcmMvbGliL2xpYi9kYXRhLXNldC9jZWxsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE1BQU0sVUFBVSxZQUFZLENBQUUsS0FBVSxJQUFJLE9BQU8sS0FBSyxDQUFBLENBQUMsQ0FBQztBQUUxRCxNQUFNLE9BQU8sSUFBSTtJQUtmLFlBQXNCLEtBQVUsRUFBWSxHQUFRLEVBQVksTUFBVyxFQUFZLE9BQWdCO1FBQWpGLFVBQUssR0FBTCxLQUFLLENBQUs7UUFBWSxRQUFHLEdBQUgsR0FBRyxDQUFLO1FBQVksV0FBTSxHQUFOLE1BQU0sQ0FBSztRQUFZLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFIdkcsYUFBUSxHQUFRLEVBQUUsQ0FBQztRQUlqQixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUN4QixDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQsTUFBTTtRQUNKLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUNsQixDQUFDO0lBRUQsUUFBUTtRQUNOLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsdUJBQXVCLEVBQUUsWUFBWSxRQUFRLENBQUM7UUFDeEUsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLHVCQUF1QixFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDN0UsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFVO1FBQ2pCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxLQUFLO1FBQ0gsT0FBTyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsS0FBSyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQyxFQUFFO1lBQzlCLE9BQU8sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLFNBQVMsQ0FBQztTQUNuQzthQUNJO1lBQ0gsT0FBTyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsVUFBVSxDQUFDO1NBQ3BDO0lBQ0gsQ0FBQzs7QUF2Q2dCLFlBQU8sR0FBRyxZQUFZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2x1bW4gfSBmcm9tICcuL2NvbHVtbic7XG5pbXBvcnQgeyBEYXRhU2V0IH0gZnJvbSAnLi9kYXRhLXNldCc7XG5pbXBvcnQgeyBSb3cgfSBmcm9tICcuL3Jvdyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBwcmVwYXJlVmFsdWUgKHZhbHVlOiBhbnkpIHsgcmV0dXJuIHZhbHVlIH1cblxuZXhwb3J0IGNsYXNzIENlbGwge1xuXG4gIG5ld1ZhbHVlOiBhbnkgPSAnJztcbiAgcHJvdGVjdGVkIHN0YXRpYyBQUkVQQVJFID0gcHJlcGFyZVZhbHVlO1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCB2YWx1ZTogYW55LCBwcm90ZWN0ZWQgcm93OiBSb3csIHByb3RlY3RlZCBjb2x1bW46IGFueSwgcHJvdGVjdGVkIGRhdGFTZXQ6IERhdGFTZXQpIHtcbiAgICB0aGlzLm5ld1ZhbHVlID0gdmFsdWU7XG4gIH1cblxuICBnZXRDb2x1bW4oKTogQ29sdW1uIHtcbiAgICByZXR1cm4gdGhpcy5jb2x1bW47XG4gIH1cblxuICBnZXRSb3coKTogUm93IHtcbiAgICByZXR1cm4gdGhpcy5yb3c7XG4gIH1cblxuICBnZXRWYWx1ZSgpOiBhbnkge1xuICAgIGNvbnN0IHZhbGlkID0gdGhpcy5jb2x1bW4uZ2V0VmFsdWVQcmVwYXJlRnVuY3Rpb24oKSBpbnN0YW5jZW9mIEZ1bmN0aW9uO1xuICAgIGNvbnN0IHByZXBhcmUgPSB2YWxpZCA/IHRoaXMuY29sdW1uLmdldFZhbHVlUHJlcGFyZUZ1bmN0aW9uKCkgOiBDZWxsLlBSRVBBUkU7XG4gICAgcmV0dXJuIHByZXBhcmUuY2FsbChudWxsLCB0aGlzLnZhbHVlLCB0aGlzLnJvdy5nZXREYXRhKCksIHRoaXMpO1xuICB9XG5cbiAgc2V0VmFsdWUodmFsdWU6IGFueSk6IGFueSB7XG4gICAgdGhpcy5uZXdWYWx1ZSA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0SWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5nZXRDb2x1bW4oKS5pZDtcbiAgfVxuXG4gIGdldFRpdGxlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0Q29sdW1uKCkudGl0bGU7XG4gIH1cblxuICBpc0VkaXRhYmxlKCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLmdldFJvdygpLmluZGV4ID09PSAtMSkge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0Q29sdW1uKCkuaXNBZGRhYmxlO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLmdldENvbHVtbigpLmlzRWRpdGFibGU7XG4gICAgfVxuICB9XG5cbn1cbiJdfQ==
@@ -0,0 +1,75 @@
1
+ export class Column {
2
+ constructor(id, settings, dataSet) {
3
+ this.id = id;
4
+ this.settings = settings;
5
+ this.dataSet = dataSet;
6
+ this.title = '';
7
+ this.type = '';
8
+ this.class = '';
9
+ this.width = '';
10
+ this.hide = false;
11
+ this.isSortable = false;
12
+ this.isEditable = true;
13
+ this.isAddable = true;
14
+ this.isFilterable = false;
15
+ this.sortDirection = '';
16
+ this.defaultSortDirection = '';
17
+ this.editor = { type: '', config: {}, component: null };
18
+ this.filter = { type: '', config: {}, component: null };
19
+ this.renderComponent = null;
20
+ this.process();
21
+ }
22
+ getOnComponentInitFunction() {
23
+ return this.onComponentInitFunction;
24
+ }
25
+ getCompareFunction() {
26
+ return this.compareFunction;
27
+ }
28
+ getValuePrepareFunction() {
29
+ return this.valuePrepareFunction;
30
+ }
31
+ getFilterFunction() {
32
+ return this.filterFunction;
33
+ }
34
+ getConfig() {
35
+ return this.editor && this.editor.config;
36
+ }
37
+ getFilterType() {
38
+ return this.filter && this.filter.type;
39
+ }
40
+ getFilterConfig() {
41
+ return this.filter && this.filter.config;
42
+ }
43
+ process() {
44
+ this.title = this.settings['title'];
45
+ this.class = this.settings['class'];
46
+ this.width = this.settings['width'];
47
+ this.hide = !!this.settings['hide'];
48
+ this.type = this.prepareType();
49
+ this.editor = this.settings['editor'];
50
+ this.filter = this.settings['filter'];
51
+ this.renderComponent = this.settings['renderComponent'];
52
+ this.isFilterable = typeof this.settings['filter'] === 'undefined' ? true : !!this.settings['filter'];
53
+ this.defaultSortDirection = ['asc', 'desc']
54
+ .indexOf(this.settings['sortDirection']) !== -1 ? this.settings['sortDirection'] : '';
55
+ this.isSortable = typeof this.settings['sort'] === 'undefined' ? true : !!this.settings['sort'];
56
+ this.isEditable = typeof this.settings['editable'] === 'undefined' ? true : !!this.settings['editable'];
57
+ this.isAddable = typeof this.settings['addable'] === 'undefined' ? true : !!this.settings['addable'];
58
+ this.sortDirection = this.prepareSortDirection();
59
+ this.compareFunction = this.settings['compareFunction'];
60
+ this.valuePrepareFunction = this.settings['valuePrepareFunction'];
61
+ this.filterFunction = this.settings['filterFunction'];
62
+ this.onComponentInitFunction = this.settings['onComponentInitFunction'];
63
+ }
64
+ prepareType() {
65
+ return this.settings['type'] || this.determineType();
66
+ }
67
+ prepareSortDirection() {
68
+ return this.settings['sort'] === 'desc' ? 'desc' : 'asc';
69
+ }
70
+ determineType() {
71
+ // TODO: determine type by data
72
+ return 'text';
73
+ }
74
+ }
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmcyLXNtYXJ0LXRhYmxlL3NyYy9saWIvbGliL2RhdGEtc2V0L2NvbHVtbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sTUFBTTtJQXFCakIsWUFBbUIsRUFBVSxFQUFZLFFBQWEsRUFBWSxPQUFnQjtRQUEvRCxPQUFFLEdBQUYsRUFBRSxDQUFRO1FBQVksYUFBUSxHQUFSLFFBQVEsQ0FBSztRQUFZLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFuQmxGLFVBQUssR0FBVyxFQUFFLENBQUM7UUFDbkIsU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUNsQixVQUFLLEdBQVcsRUFBRSxDQUFDO1FBQ25CLFVBQUssR0FBVyxFQUFFLENBQUM7UUFDbkIsU0FBSSxHQUFZLEtBQUssQ0FBQztRQUN0QixlQUFVLEdBQVksS0FBSyxDQUFDO1FBQzVCLGVBQVUsR0FBWSxJQUFJLENBQUM7UUFDM0IsY0FBUyxHQUFZLElBQUksQ0FBQztRQUMxQixpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUM5QixrQkFBYSxHQUFXLEVBQUUsQ0FBQztRQUMzQix5QkFBb0IsR0FBVyxFQUFFLENBQUM7UUFDbEMsV0FBTSxHQUFrRCxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDbEcsV0FBTSxHQUFrRCxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDbEcsb0JBQWUsR0FBUSxJQUFJLENBQUM7UUFPMUIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRCwwQkFBMEI7UUFDeEIsT0FBTyxJQUFJLENBQUMsdUJBQXVCLENBQUM7SUFDdEMsQ0FBQztJQUVELGtCQUFrQjtRQUNo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Q3hELElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDbEUsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLHVCQUF1QixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkQsQ0FBQztJQUVELG9CQUFvQjtRQUNsQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUMzRCxDQUFDO0lBRUQsYUFBYTtRQUNYLCtCQUErQjtRQUMvQixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRhU2V0IH0gZnJvbSAnLi9kYXRhLXNldCc7XG5cbmV4cG9ydCBjbGFzcyBDb2x1bW4ge1xuXG4gIHRpdGxlOiBzdHJpbmcgPSAnJztcbiAgdHlwZTogc3RyaW5nID0gJyc7XG4gIGNsYXNzOiBzdHJpbmcgPSAnJztcbiAgd2lkdGg6IHN0cmluZyA9ICcnO1xuICBoaWRlOiBib29sZWFuID0gZmFsc2U7XG4gIGlzU29ydGFibGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNFZGl0YWJsZTogYm9vbGVhbiA9IHRydWU7XG4gIGlzQWRkYWJsZTogYm9vbGVhbiA9IHRydWU7XG4gIGlzRmlsdGVyYWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuICBzb3J0RGlyZWN0aW9uOiBzdHJpbmcgPSAnJztcbiAgZGVmYXVsdFNvcnREaXJlY3Rpb246IHN0cmluZyA9ICcnO1xuICBlZGl0b3I6IHsgdHlwZTogc3RyaW5nLCBjb25maWc6IGFueSwgY29tcG9uZW50OiBhbnkgfSA9IHsgdHlwZTogJycsIGNvbmZpZzoge30sIGNvbXBvbmVudDogbnVsbCB9O1xuICBmaWx0ZXI6IHsgdHlwZTogc3RyaW5nLCBjb25maWc6IGFueSwgY29tcG9uZW50OiBhbnkgfSA9IHsgdHlwZTogJycsIGNvbmZpZzoge30sIGNvbXBvbmVudDogbnVsbCB9O1xuICByZW5kZXJDb21wb25lbnQ6IGFueSA9IG51bGw7XG4gIGNvbXBhcmVGdW5jdGlvbjogRnVuY3Rpb247XG4gIHZhbHVlUHJlcGFyZUZ1bmN0aW9uOiBGdW5jdGlvbjtcbiAgZmlsdGVyRnVuY3Rpb246IEZ1bmN0aW9uO1xuICBvbkNvbXBvbmVudEluaXRGdW5jdGlvbjogRnVuY3Rpb247XG5cbiAgY29uc3RydWN0b3IocHVibGljIGlkOiBzdHJpbmcsIHByb3RlY3RlZCBzZXR0aW5nczogYW55LCBwcm90ZWN0ZWQgZGF0YVNldDogRGF0YVNldCkge1xuICAgIHRoaXMucHJvY2VzcygpO1xuICB9XG5cbiAgZ2V0T25Db21wb25lbnRJbml0RnVuY3Rpb24oKTogRnVuY3Rpb24ge1xuICAgIHJldHVybiB0aGlzLm9uQ29tcG9uZW50SW5pdEZ1bmN0aW9uO1xuICB9XG5cbiAgZ2V0Q29tcGFyZUZ1bmN0aW9uKCk6IEZ1bmN0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5jb21wYXJlRnVuY3Rpb247XG4gIH1cblxuICBnZXRWYWx1ZVByZXBhcmVGdW5jdGlvbigpOiBGdW5jdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWVQcmVwYXJlRnVuY3Rpb247XG4gIH1cblxuICBnZXRGaWx0ZXJGdW5jdGlvbigpOiBGdW5jdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyRnVuY3Rpb247XG4gIH1cblxuICBnZXRDb25maWcoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5lZGl0b3IgJiYgdGhpcy5lZGl0b3IuY29uZmlnO1xuICB9XG5cbiAgZ2V0RmlsdGVyVHlwZSgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLmZpbHRlciAmJiB0aGlzLmZpbHRlci50eXBlO1xuICB9XG5cbiAgZ2V0RmlsdGVyQ29uZmlnKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyICYmIHRoaXMuZmlsdGVyLmNvbmZpZztcbiAgfVxuXG4gIHByb3RlY3RlZCBwcm9jZXNzKCkge1xuICAgIHRoaXMudGl0bGUgPSB0aGlzLnNldHRpbmdzWyd0aXRsZSddO1xuICAgIHRoaXMuY2xhc3MgPSB0aGlzLnNldHRpbmdzWydjbGFzcyddO1xuICAgIHRoaXMud2lkdGggPSB0aGlzLnNldHRpbmdzWyd3aWR0aCddO1xuICAgIHRoaXMuaGlkZSA9ICEhdGhpcy5zZXR0aW5nc1snaGlkZSddO1xuICAgIHRoaXMudHlwZSA9IHRoaXMucHJlcGFyZVR5cGUoKTtcbiAgICB0aGlzLmVkaXRvciA9IHRoaXMuc2V0dGluZ3NbJ2VkaXRvciddO1xuICAgIHRoaXMuZmlsdGVyID0gdGhpcy5zZXR0aW5nc1snZmlsdGVyJ107XG4gICAgdGhpcy5yZW5kZXJDb21wb25lbnQgPSB0aGlzLnNldHRpbmdzWydyZW5kZXJDb21wb25lbnQnXTtcblxuICAgIHRoaXMuaXNGaWx0ZXJhYmxlID0gdHlwZW9mIHRoaXMuc2V0dGluZ3NbJ2ZpbHRlciddID09PSAndW5kZWZpbmVkJyA/IHRydWUgOiAhIXRoaXMuc2V0dGluZ3NbJ2ZpbHRlciddO1xuICAgIHRoaXMuZGVmYXVsdFNvcnREaXJlY3Rpb24gPSBbJ2FzYycsICdkZXNjJ11cbiAgICAgIC5pbmRleE9mKHRoaXMuc2V0dGluZ3NbJ3NvcnREaXJlY3Rpb24nXSkgIT09IC0xID8gdGhpcy5zZXR0aW5nc1snc29ydERpcmVjdGlvbiddIDogJyc7XG4gICAgdGhpcy5pc1NvcnRhYmxlID0gdHlwZW9mIHRoaXMuc2V0dGluZ3NbJ3NvcnQnXSA9PT0gJ3VuZGVmaW5lZCcgPyB0cnVlIDogISF0aGlzLnNldHRpbmdzWydzb3J0J107XG4gICAgdGhpcy5pc0VkaXRhYmxlID0gdHlwZW9mIHRoaXMuc2V0dGluZ3NbJ2VkaXRhYmxlJ10gPT09ICd1bmRlZmluZWQnID8gdHJ1ZSA6ICEhdGhpcy5zZXR0aW5nc1snZWRpdGFibGUnXTtcbiAgICB0aGlzLmlzQWRkYWJsZT10eXBlb2YgdGhpcy5zZXR0aW5nc1snYWRkYWJsZSddID09PSAndW5kZWZpbmVkJyA/IHRydWUgOiAhIXRoaXMuc2V0dGluZ3NbJ2FkZGFibGUnXTtcbiAgICB0aGlzLnNvcnREaXJlY3Rpb24gPSB0aGlzLnByZXBhcmVTb3J0RGlyZWN0aW9uKCk7XG5cbiAgICB0aGlzLmNvbXBhcmVGdW5jdGlvbiA9IHRoaXMuc2V0dGluZ3NbJ2NvbXBhcmVGdW5jdGlvbiddO1xuICAgIHRoaXMudmFsdWVQcmVwYXJlRnVuY3Rpb24gPSB0aGlzLnNldHRpbmdzWyd2YWx1ZVByZXBhcmVGdW5jdGlvbiddO1xuICAgIHRoaXMuZmlsdGVyRnVuY3Rpb24gPSB0aGlzLnNldHRpbmdzWydmaWx0ZXJGdW5jdGlvbiddO1xuICAgIHRoaXMub25Db21wb25lbnRJbml0RnVuY3Rpb24gPSB0aGlzLnNldHRpbmdzWydvbkNvbXBvbmVudEluaXRGdW5jdGlvbiddO1xuICB9XG5cbiAgcHJlcGFyZVR5cGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5zZXR0aW5nc1sndHlwZSddIHx8IHRoaXMuZGV0ZXJtaW5lVHlwZSgpO1xuICB9XG5cbiAgcHJlcGFyZVNvcnREaXJlY3Rpb24oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5zZXR0aW5nc1snc29ydCddID09PSAnZGVzYycgPyAnZGVzYycgOiAnYXNjJztcbiAgfVxuXG4gIGRldGVybWluZVR5cGUoKTogc3RyaW5nIHtcbiAgICAvLyBUT0RPOiBkZXRlcm1pbmUgdHlwZSBieSBkYXRhXG4gICAgcmV0dXJuICd0ZXh0JztcbiAgfVxufVxuIl19
@@ -0,0 +1,98 @@
1
+ import { Row } from './row';
2
+ import { Column } from './column';
3
+ export class DataSet {
4
+ constructor(data = [], columnSettings) {
5
+ this.columnSettings = columnSettings;
6
+ this.data = [];
7
+ this.columns = [];
8
+ this.rows = [];
9
+ this.selectedRows = new Set();
10
+ this.createColumns(columnSettings);
11
+ this.setData(data);
12
+ this.createNewRow();
13
+ }
14
+ setData(data) {
15
+ this.data = data;
16
+ this.createRows();
17
+ }
18
+ getColumns() {
19
+ return this.columns;
20
+ }
21
+ getRows() {
22
+ return this.rows;
23
+ }
24
+ getFirstRow() {
25
+ return this.rows[0];
26
+ }
27
+ getLastRow() {
28
+ return this.rows[this.rows.length - 1];
29
+ }
30
+ findRowByData(data) {
31
+ return this.rows.find((row) => row.getData() === data);
32
+ }
33
+ setSelectAll(state) {
34
+ this.rows.forEach((row) => {
35
+ row.isSelected = state;
36
+ this.storeSelectedRow(row);
37
+ });
38
+ }
39
+ deselectAll() {
40
+ this.rows.forEach((row) => {
41
+ row.isSelected = false;
42
+ });
43
+ // we need to clear selectedRow field because no one row selected
44
+ this.selectedRows.clear();
45
+ }
46
+ selectRow(row, state) {
47
+ row.isSelected = state;
48
+ this.storeSelectedRow(row);
49
+ }
50
+ multipleSelectRow(row) {
51
+ row.isSelected = !row.isSelected;
52
+ this.storeSelectedRow(row);
53
+ return row;
54
+ }
55
+ getSelectedRowsData() {
56
+ return [...this.selectedRows];
57
+ }
58
+ createNewRow() {
59
+ this.newRow = new Row(-1, {}, this);
60
+ this.newRow.isInEditing = true;
61
+ }
62
+ /**
63
+ * Create columns by mapping from the settings
64
+ * @param settings
65
+ * @private
66
+ */
67
+ createColumns(settings) {
68
+ for (const id in settings) {
69
+ if (settings.hasOwnProperty(id)) {
70
+ this.columns.push(new Column(id, settings[id], this));
71
+ }
72
+ }
73
+ }
74
+ /**
75
+ * Create rows based on current data prepared in data source
76
+ * @private
77
+ */
78
+ createRows() {
79
+ this.rows = [];
80
+ this.data.forEach((el, index) => {
81
+ const row = new Row(index, el, this);
82
+ row.isSelected = this.selectedRows.has(row.getData());
83
+ this.rows.push(row);
84
+ });
85
+ }
86
+ get isAllSelected() {
87
+ return this.rows.every((row) => row.isSelected);
88
+ }
89
+ storeSelectedRow(row) {
90
+ if (row.isSelected) {
91
+ this.selectedRows.add(row.getData());
92
+ }
93
+ else {
94
+ this.selectedRows.delete(row.getData());
95
+ }
96
+ }
97
+ }
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZzItc21hcnQtdGFibGUvc3JjL2xpYi9saWIvZGF0YS1zZXQvZGF0YS1zZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUM1QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRWxDLE1BQU0sT0FBTyxPQUFPO0lBU2xCLFlBQVksT0FBbUIsRUFBRSxFQUFZLGNBQXNCO1FBQXRCLG1CQUFjLEdBQWQsY0FBYyxDQUFRO1FBTnpELFNBQUksR0FBZSxFQUFFLENBQUM7UUFDdEIsWUFBTyxHQUFrQixFQUFFLENBQUM7UUFDNUIsU0FBSSxHQUFlLEVBQUUsQ0FBQztRQUN0QixpQkFBWSxHQUFHLElBQUksR0FBRyxFQUFPLENBQUM7UUFJdEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRW5CLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsT0FBTyxDQUFDLElBQWdCO1FBQ3RCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNuQixDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0QixDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsYUFBYSxDQUFDLElBQVM7UUFDckIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxLQUFLLElBQUksQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCxZQUFZLENBQUMsS0FBYztRQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ3hCLEdBQUcsQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUN4QixHQUFHLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FBQztRQUNILGlFQUFpRTtRQUNqRSxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxTQUFTLENBQUMsR0FBUSxFQUFFLEtBQWM7UUFDaEMsR0FBRyxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxHQUFRO1FBQ3hCLEdBQUcsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUUzQixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxtQkFBbUI7UUFDakIsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFBO0lBQy9CLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO0lBQ2pDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsYUFBYSxDQUFDLFFBQWE7UUFDekIsS0FBSyxNQUFNLEVBQUUsSUFBSSxRQUFRLEVBQUU7WUFDekIsSUFBSSxRQUFRLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxFQUFFO2dCQUMvQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLE1BQU0sQ0FBQyxFQUFFLEVBQUUsUUFBUSxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7YUFDdkQ7U0FDRjtJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSCxVQUFVO1FBQ1IsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7UUFDZixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUM5QixNQUFNLEdBQUcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3JDLEdBQUcsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDdEQsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsSUFBVyxhQUFhO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUNqRCxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsR0FBUTtRQUMvQixJQUFHLEdBQUcsQ0FBQyxVQUFVLEVBQUU7WUFDakIsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7U0FDdEM7YUFBTTtZQUNMLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1NBQ3pDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUm93IH0gZnJvbSAnLi9yb3cnO1xuaW1wb3J0IHsgQ29sdW1uIH0gZnJvbSAnLi9jb2x1bW4nO1xuXG5leHBvcnQgY2xhc3MgRGF0YVNldCB7XG4gIG5ld1JvdzogUm93O1xuXG4gIHByb3RlY3RlZCBkYXRhOiBBcnJheTxhbnk+ID0gW107XG4gIHByb3RlY3RlZCBjb2x1bW5zOiBBcnJheTxDb2x1bW4+ID0gW107XG4gIHByb3RlY3RlZCByb3dzOiBBcnJheTxSb3c+ID0gW107XG4gIHByb3RlY3RlZCBzZWxlY3RlZFJvd3MgPSBuZXcgU2V0PFJvdz4oKTtcbiAgcHJvdGVjdGVkIHdpbGxTZWxlY3Q6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihkYXRhOiBBcnJheTxhbnk+ID0gW10sIHByb3RlY3RlZCBjb2x1bW5TZXR0aW5nczogT2JqZWN0KSB7XG4gICAgdGhpcy5jcmVhdGVDb2x1bW5zKGNvbHVtblNldHRpbmdzKTtcbiAgICB0aGlzLnNldERhdGEoZGF0YSk7XG5cbiAgICB0aGlzLmNyZWF0ZU5ld1JvdygpO1xuICB9XG5cbiAgc2V0RGF0YShkYXRhOiBBcnJheTxhbnk+KSB7XG4gICAgdGhpcy5kYXRhID0gZGF0YTtcbiAgICB0aGlzLmNyZWF0ZVJvd3MoKTtcbiAgfVxuXG4gIGdldENvbHVtbnMoKTogQXJyYXk8Q29sdW1uPiB7XG4gICAgcmV0dXJuIHRoaXMuY29sdW1ucztcbiAgfVxuXG4gIGdldFJvd3MoKTogQXJyYXk8Um93PiB7XG4gICAgcmV0dXJuIHRoaXMucm93cztcbiAgfVxuXG4gIGdldEZpcnN0Um93KCk6IFJvdyB7XG4gICAgcmV0dXJuIHRoaXMucm93c1swXTtcbiAgfVxuXG4gIGdldExhc3RSb3coKTogUm93IHtcbiAgICByZXR1cm4gdGhpcy5yb3dzW3RoaXMucm93cy5sZW5ndGggLSAxXTtcbiAgfVxuXG4gIGZpbmRSb3dCeURhdGEoZGF0YTogYW55KTogUm93IHtcbiAgICByZXR1cm4gdGhpcy5yb3dzLmZpbmQoKHJvdzogUm93KSA9PiByb3cuZ2V0RGF0YSgpID09PSBkYXRhKTtcbiAgfVxuXG4gIHNldFNlbGVjdEFsbChzdGF0ZTogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMucm93cy5mb3JFYWNoKChyb3cpID0+IHtcbiAgICAgIHJvdy5pc1NlbGVjdGVkID0gc3RhdGU7XG4gICAgICB0aGlzLnN0b3JlU2VsZWN0ZWRSb3cocm93KTtcbiAgICB9KTtcbiAgfVxuXG4gIGRlc2VsZWN0QWxsKCkge1xuICAgIHRoaXMucm93cy5mb3JFYWNoKChyb3cpID0+IHtcbiAgICAgIHJvdy5pc1NlbGVjdGVkID0gZmFsc2U7XG4gICAgfSk7XG4gICAgLy8gd2UgbmVlZCB0byBjbGVhciBzZWxlY3RlZFJvdyBmaWVsZCBiZWNhdXNlIG5vIG9uZSByb3cgc2VsZWN0ZWRcbiAgICB0aGlzLnNlbGVjdGVkUm93cy5jbGVhcigpO1xuICB9XG5cbiAgc2VsZWN0Um93KHJvdzogUm93LCBzdGF0ZTogYm9vbGVhbik6IHZvaWQge1xuICAgIHJvdy5pc1NlbGVjdGVkID0gc3RhdGU7XG4gICAgdGhpcy5zdG9yZVNlbGVjdGVkUm93KHJvdyk7XG4gIH1cblxuICBtdWx0aXBsZVNlbGVjdFJvdyhyb3c6IFJvdyk6IFJvdyB7XG4gICAgcm93LmlzU2VsZWN0ZWQgPSAhcm93LmlzU2VsZWN0ZWQ7XG4gICAgdGhpcy5zdG9yZVNlbGVjdGVkUm93KHJvdyk7XG5cbiAgICByZXR1cm4gcm93O1xuICB9XG5cbiAgZ2V0U2VsZWN0ZWRSb3dzRGF0YSgpOiBBcnJheTxhbnk+IHtcbiAgICByZXR1cm4gWy4uLnRoaXMuc2VsZWN0ZWRSb3dzXVxuICB9XG5cbiAgY3JlYXRlTmV3Um93KCkge1xuICAgIHRoaXMubmV3Um93ID0gbmV3IFJvdygtMSwge30sIHRoaXMpO1xuICAgIHRoaXMubmV3Um93LmlzSW5FZGl0aW5nID0gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgY29sdW1ucyBieSBtYXBwaW5nIGZyb20gdGhlIHNldHRpbmdzXG4gICAqIEBwYXJhbSBzZXR0aW5nc1xuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgY3JlYXRlQ29sdW1ucyhzZXR0aW5nczogYW55KSB7XG4gICAgZm9yIChjb25zdCBpZCBpbiBzZXR0aW5ncykge1xuICAgICAgaWYgKHNldHRpbmdzLmhhc093blByb3BlcnR5KGlkKSkge1xuICAgICAgICB0aGlzLmNvbHVtbnMucHVzaChuZXcgQ29sdW1uKGlkLCBzZXR0aW5nc1tpZF0sIHRoaXMpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIHJvd3MgYmFzZWQgb24gY3VycmVudCBkYXRhIHByZXBhcmVkIGluIGRhdGEgc291cmNlXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBjcmVhdGVSb3dzKCkge1xuICAgIHRoaXMucm93cyA9IFtdO1xuICAgIHRoaXMuZGF0YS5mb3JFYWNoKChlbCwgaW5kZXgpID0+IHtcbiAgICAgIGNvbnN0IHJvdyA9IG5ldyBSb3coaW5kZXgsIGVsLCB0aGlzKTtcbiAgICAgIHJvdy5pc1NlbGVjdGVkID0gdGhpcy5zZWxlY3RlZFJvd3MuaGFzKHJvdy5nZXREYXRhKCkpO1xuICAgICAgdGhpcy5yb3dzLnB1c2gocm93KTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNBbGxTZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5yb3dzLmV2ZXJ5KChyb3cpID0+IHJvdy5pc1NlbGVjdGVkKVxuICB9XG5cbiAgcHJpdmF0ZSBzdG9yZVNlbGVjdGVkUm93KHJvdzogUm93KTogdm9pZCB7XG4gICAgaWYocm93LmlzU2VsZWN0ZWQpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRSb3dzLmFkZChyb3cuZ2V0RGF0YSgpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZWxlY3RlZFJvd3MuZGVsZXRlKHJvdy5nZXREYXRhKCkpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -0,0 +1,46 @@
1
+ import { Cell } from './cell';
2
+ export class Row {
3
+ constructor(index, data, _dataSet) {
4
+ this.index = index;
5
+ this.data = data;
6
+ this._dataSet = _dataSet;
7
+ this.isSelected = false;
8
+ this.isInEditing = false;
9
+ this.cells = [];
10
+ this.process();
11
+ }
12
+ getCell(column) {
13
+ return this.cells.find(el => el.getColumn() === column);
14
+ }
15
+ getCells() {
16
+ return this.cells;
17
+ }
18
+ getData() {
19
+ return this.data;
20
+ }
21
+ getIsSelected() {
22
+ return this.isSelected;
23
+ }
24
+ getNewData() {
25
+ const values = Object.assign({}, this.data);
26
+ this.getCells().forEach((cell) => values[cell.getColumn().id] = cell.newValue);
27
+ return values;
28
+ }
29
+ setData(data) {
30
+ this.data = data;
31
+ this.process();
32
+ }
33
+ process() {
34
+ this.cells = [];
35
+ this._dataSet.getColumns().forEach((column) => {
36
+ const cell = this.createCell(column);
37
+ this.cells.push(cell);
38
+ });
39
+ }
40
+ createCell(column) {
41
+ const defValue = column.settings.defaultValue ? column.settings.defaultValue : '';
42
+ const value = typeof this.data[column.id] === 'undefined' ? defValue : this.data[column.id];
43
+ return new Cell(value, this, column, this._dataSet);
44
+ }
45
+ }
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmcyLXNtYXJ0LXRhYmxlL3NyYy9saWIvbGliL2RhdGEtc2V0L3Jvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBSTlCLE1BQU0sT0FBTyxHQUFHO0lBT2QsWUFBbUIsS0FBYSxFQUFZLElBQVMsRUFBWSxRQUFpQjtRQUEvRCxVQUFLLEdBQUwsS0FBSyxDQUFRO1FBQVksU0FBSSxHQUFKLElBQUksQ0FBSztRQUFZLGFBQVEsR0FBUixRQUFRLENBQVM7UUFMbEYsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUM1QixnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUM3QixVQUFLLEdBQWdCLEVBQUUsQ0FBQztRQUl0QixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVELE9BQU8sQ0FBQyxNQUFjO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsU0FBUyxFQUFFLEtBQUssTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVELE9BQU87UUFDTCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUVELFVBQVU7UUFDUixNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDL0UsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELE9BQU8sQ0FBQyxJQUFTO1FBQ2YsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFjLEVBQUUsRUFBRTtZQUNwRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3JDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFVBQVUsQ0FBQyxNQUFjO1FBQ3ZCLE1BQU0sUUFBUSxHQUFJLE1BQWMsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBRSxNQUFjLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3BHLE1BQU0sS0FBSyxHQUFHLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzVGLE9BQU8sSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3RELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENlbGwgfSBmcm9tICcuL2NlbGwnO1xuaW1wb3J0IHsgQ29sdW1uIH0gZnJvbSAnLi9jb2x1bW4nO1xuaW1wb3J0IHsgRGF0YVNldCB9IGZyb20gJy4vZGF0YS1zZXQnO1xuXG5leHBvcnQgY2xhc3MgUm93IHtcblxuICBpc1NlbGVjdGVkOiBib29sZWFuID0gZmFsc2U7XG4gIGlzSW5FZGl0aW5nOiBib29sZWFuID0gZmFsc2U7XG4gIGNlbGxzOiBBcnJheTxDZWxsPiA9IFtdO1xuXG5cbiAgY29uc3RydWN0b3IocHVibGljIGluZGV4OiBudW1iZXIsIHByb3RlY3RlZCBkYXRhOiBhbnksIHByb3RlY3RlZCBfZGF0YVNldDogRGF0YVNldCkge1xuICAgIHRoaXMucHJvY2VzcygpO1xuICB9XG5cbiAgZ2V0Q2VsbChjb2x1bW46IENvbHVtbik6IENlbGwge1xuICAgIHJldHVybiB0aGlzLmNlbGxzLmZpbmQoZWwgPT4gZWwuZ2V0Q29sdW1uKCkgPT09IGNvbHVtbik7XG4gIH1cblxuICBnZXRDZWxscygpIHtcbiAgICByZXR1cm4gdGhpcy5jZWxscztcbiAgfVxuXG4gIGdldERhdGEoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5kYXRhO1xuICB9XG5cbiAgZ2V0SXNTZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc1NlbGVjdGVkO1xuICB9XG5cbiAgZ2V0TmV3RGF0YSgpOiBhbnkge1xuICAgIGNvbnN0IHZhbHVlcyA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuZGF0YSk7XG4gICAgdGhpcy5nZXRDZWxscygpLmZvckVhY2goKGNlbGwpID0+IHZhbHVlc1tjZWxsLmdldENvbHVtbigpLmlkXSA9IGNlbGwubmV3VmFsdWUpO1xuICAgIHJldHVybiB2YWx1ZXM7XG4gIH1cblxuICBzZXREYXRhKGRhdGE6IGFueSk6IGFueSB7XG4gICAgdGhpcy5kYXRhID0gZGF0YTtcbiAgICB0aGlzLnByb2Nlc3MoKTtcbiAgfVxuXG4gIHByb2Nlc3MoKSB7XG4gICAgdGhpcy5jZWxscyA9IFtdO1xuICAgIHRoaXMuX2RhdGFTZXQuZ2V0Q29sdW1ucygpLmZvckVhY2goKGNvbHVtbjogQ29sdW1uKSA9PiB7XG4gICAgICBjb25zdCBjZWxsID0gdGhpcy5jcmVhdGVDZWxsKGNvbHVtbik7XG4gICAgICB0aGlzLmNlbGxzLnB1c2goY2VsbCk7XG4gICAgfSk7XG4gIH1cblxuICBjcmVhdGVDZWxsKGNvbHVtbjogQ29sdW1uKTogQ2VsbCB7XG4gICAgY29uc3QgZGVmVmFsdWUgPSAoY29sdW1uIGFzIGFueSkuc2V0dGluZ3MuZGVmYXVsdFZhbHVlID8gKGNvbHVtbiBhcyBhbnkpLnNldHRpbmdzLmRlZmF1bHRWYWx1ZSA6ICcnO1xuICAgIGNvbnN0IHZhbHVlID0gdHlwZW9mIHRoaXMuZGF0YVtjb2x1bW4uaWRdID09PSAndW5kZWZpbmVkJyA/IGRlZlZhbHVlIDogdGhpcy5kYXRhW2NvbHVtbi5pZF07XG4gICAgcmV0dXJuIG5ldyBDZWxsKHZhbHVlLCB0aGlzLCBjb2x1bW4sIHRoaXMuX2RhdGFTZXQpO1xuICB9XG59XG4iXX0=