@tetacom/ng-components 1.0.31 → 1.0.35

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 (150) hide show
  1. package/common/contract/i-id.d.ts +3 -0
  2. package/common/contract/public-api.d.ts +1 -0
  3. package/component/chart-3d/chart3d/chart3d.component.d.ts +1 -0
  4. package/component/chart-3d/model/chart-3d-options.d.ts +1 -0
  5. package/component/date-picker/date-picker/date-picker.component.d.ts +9 -6
  6. package/component/date-picker/day-select/day-select.component.d.ts +5 -5
  7. package/component/date-picker/month-picker/month-picker.component.d.ts +5 -5
  8. package/component/date-picker/month-select/month-select.component.d.ts +2 -2
  9. package/component/dropdown/dropdown-base.d.ts +3 -2
  10. package/component/filter/base/filter-component-base.d.ts +3 -1
  11. package/component/filter/boolean-filter/boolean-filter.component.d.ts +5 -3
  12. package/component/filter/date-filter/date-filter.component.d.ts +11 -4
  13. package/component/filter/filter-host/filter-host.component.d.ts +6 -3
  14. package/component/filter/filter.module.d.ts +15 -16
  15. package/component/filter/list-filter/list-filter.component.d.ts +11 -4
  16. package/component/filter/numeric-filter/numeric-filter.component.d.ts +11 -4
  17. package/component/filter/public-api.d.ts +0 -1
  18. package/component/filter/string-filter/string-filter.component.d.ts +11 -4
  19. package/component/input/text-field/text-field.component.d.ts +2 -2
  20. package/component/select/select/select.component.d.ts +1 -1
  21. package/component/table/base/cell-component-base.d.ts +3 -1
  22. package/component/table/base/head-cell-component-base.d.ts +5 -3
  23. package/component/table/contract/i-cell-coordinates.d.ts +3 -5
  24. package/component/table/contract/i-cell-event.d.ts +1 -1
  25. package/component/table/contract/i-cell-instance.d.ts +12 -0
  26. package/component/table/contract/i-cell-value.d.ts +1 -2
  27. package/component/table/contract/public-api.d.ts +1 -1
  28. package/component/table/contract/table-column.d.ts +3 -3
  29. package/component/table/default/boolean-cell/boolean-cell.component.d.ts +1 -1
  30. package/component/table/default/date-cell/date-cell.component.d.ts +1 -1
  31. package/component/table/default/date-time-cell/date-time-cell.component.d.ts +1 -1
  32. package/component/table/default/default-head-cell/default-head-cell.component.d.ts +7 -3
  33. package/component/table/default/list-cell/list-cell.component.d.ts +1 -1
  34. package/component/table/default/numeric-cell/numeric-cell.component.d.ts +1 -1
  35. package/component/table/default/string-cell/string-cell.component.d.ts +1 -1
  36. package/component/table/enum/edit-type.enum.d.ts +3 -2
  37. package/component/table/head-cell/head-cell.component.d.ts +3 -2
  38. package/component/table/head-cell-dropdown/head-cell-dropdown.component.d.ts +12 -5
  39. package/component/table/head-cell-host/head-cell-host.component.d.ts +7 -3
  40. package/component/table/service/table.service.d.ts +38 -15
  41. package/component/table/table/table.component.d.ts +21 -32
  42. package/component/table/table-body/table-body.component.d.ts +12 -9
  43. package/component/table/table-head/table-head.component.d.ts +4 -4
  44. package/component/table/table-head-group/table-head-group.component.d.ts +5 -3
  45. package/component/table/table.module.d.ts +2 -1
  46. package/component/table/util/state-util.d.ts +3 -0
  47. package/component/table/util/table-util.d.ts +0 -1
  48. package/directive/loader/loader.directive.d.ts +3 -1
  49. package/esm2020/common/contract/i-id.mjs +2 -0
  50. package/esm2020/common/contract/public-api.mjs +2 -1
  51. package/esm2020/component/chart-3d/chart3d/chart3d.component.mjs +64 -57
  52. package/esm2020/component/chart-3d/model/chart-3d-options.mjs +1 -1
  53. package/esm2020/component/checkbox/checkbox/checkbox.component.mjs +3 -3
  54. package/esm2020/component/date-picker/date-picker/date-picker.component.mjs +17 -8
  55. package/esm2020/component/date-picker/day-select/day-select.component.mjs +10 -8
  56. package/esm2020/component/date-picker/month-picker/month-picker.component.mjs +10 -8
  57. package/esm2020/component/date-picker/month-select/month-select.component.mjs +5 -4
  58. package/esm2020/component/dropdown/dropdown-base.mjs +14 -6
  59. package/esm2020/component/filter/base/filter-base.mjs +4 -3
  60. package/esm2020/component/filter/base/filter-component-base.mjs +1 -1
  61. package/esm2020/component/filter/boolean-filter/boolean-filter.component.mjs +4 -2
  62. package/esm2020/component/filter/contarct/filter-item.mjs +4 -3
  63. package/esm2020/component/filter/contarct/sort-param.mjs +3 -2
  64. package/esm2020/component/filter/date-filter/date-filter.component.mjs +15 -9
  65. package/esm2020/component/filter/filter-host/filter-host.component.mjs +12 -2
  66. package/esm2020/component/filter/filter.module.mjs +3 -8
  67. package/esm2020/component/filter/list-filter/list-filter.component.mjs +20 -12
  68. package/esm2020/component/filter/numeric-filter/numeric-filter.component.mjs +15 -9
  69. package/esm2020/component/filter/public-api.mjs +1 -2
  70. package/esm2020/component/filter/string-filter/string-filter.component.mjs +16 -9
  71. package/esm2020/component/input/input/input.component.mjs +2 -2
  72. package/esm2020/component/input/text-field/text-field.component.mjs +8 -3
  73. package/esm2020/component/property-grid/property-grid/property-grid-item/property-grid-item.component.mjs +1 -1
  74. package/esm2020/component/select/select/select.component.mjs +12 -6
  75. package/esm2020/component/table/base/cell-component-base.mjs +20 -26
  76. package/esm2020/component/table/base/head-cell-component-base.mjs +1 -1
  77. package/esm2020/component/table/contract/i-cell-coordinates.mjs +1 -1
  78. package/esm2020/component/table/contract/i-cell-event.mjs +1 -1
  79. package/esm2020/component/table/contract/i-cell-instance.mjs +2 -0
  80. package/esm2020/component/table/contract/i-cell-value.mjs +1 -1
  81. package/esm2020/component/table/contract/public-api.mjs +2 -2
  82. package/esm2020/component/table/contract/table-column.mjs +1 -1
  83. package/esm2020/component/table/default/boolean-cell/boolean-cell.component.mjs +4 -4
  84. package/esm2020/component/table/default/date-cell/date-cell.component.mjs +4 -4
  85. package/esm2020/component/table/default/date-time-cell/date-time-cell.component.mjs +6 -6
  86. package/esm2020/component/table/default/default-head-cell/default-head-cell.component.mjs +14 -4
  87. package/esm2020/component/table/default/list-cell/list-cell.component.mjs +4 -4
  88. package/esm2020/component/table/default/numeric-cell/numeric-cell.component.mjs +13 -9
  89. package/esm2020/component/table/default/string-cell/string-cell.component.mjs +16 -10
  90. package/esm2020/component/table/enum/edit-type.enum.mjs +4 -3
  91. package/esm2020/component/table/head-cell/head-cell.component.mjs +19 -19
  92. package/esm2020/component/table/head-cell-dropdown/head-cell-dropdown.component.mjs +47 -31
  93. package/esm2020/component/table/head-cell-host/head-cell-host.component.mjs +14 -2
  94. package/esm2020/component/table/selection-head-cell/selection-head-cell.component.mjs +1 -1
  95. package/esm2020/component/table/service/table.service.mjs +213 -27
  96. package/esm2020/component/table/table/table.component.mjs +174 -156
  97. package/esm2020/component/table/table-body/table-body.component.mjs +26 -50
  98. package/esm2020/component/table/table-head/table-head.component.mjs +14 -35
  99. package/esm2020/component/table/table-head-group/table-head-group.component.mjs +29 -14
  100. package/esm2020/component/table/table.module.mjs +6 -2
  101. package/esm2020/component/table/util/state-util.mjs +20 -1
  102. package/esm2020/component/table/util/table-util.mjs +10 -14
  103. package/esm2020/component/toolbar/toolbar/toolbar.component.mjs +2 -2
  104. package/esm2020/directive/context-menu/context-menu.directive.mjs +7 -5
  105. package/esm2020/directive/dynamic-content-base.directive.mjs +6 -7
  106. package/esm2020/directive/loader/loader.directive.mjs +15 -2
  107. package/esm2020/locale/en.mjs +57 -0
  108. package/esm2020/locale/public-api.mjs +5 -0
  109. package/esm2020/locale/ru.mjs +57 -0
  110. package/esm2020/locale/teta-config.service.mjs +28 -0
  111. package/esm2020/locale/teta-localisation.mjs +2 -0
  112. package/esm2020/public-api.mjs +3 -1
  113. package/esm2020/util/string-util.mjs +5 -1
  114. package/fesm2015/tetacom-ng-components.mjs +1231 -844
  115. package/fesm2015/tetacom-ng-components.mjs.map +1 -1
  116. package/fesm2020/tetacom-ng-components.mjs +1161 -761
  117. package/fesm2020/tetacom-ng-components.mjs.map +1 -1
  118. package/locale/en.d.ts +2 -0
  119. package/locale/public-api.d.ts +4 -0
  120. package/locale/ru.d.ts +2 -0
  121. package/locale/teta-config.service.d.ts +11 -0
  122. package/locale/teta-localisation.d.ts +56 -0
  123. package/package.json +1 -1
  124. package/public-api.d.ts +1 -0
  125. package/style/border.scss +1 -1
  126. package/style/button.scss +9 -5
  127. package/style/checkbox.scss +10 -2
  128. package/style/datepicker.scss +9 -7
  129. package/style/dropdown.scss +12 -2
  130. package/style/input.scss +6 -5
  131. package/style/list.scss +1 -1
  132. package/style/loader.scss +10 -0
  133. package/style/presets/color-presets.scss +62 -62
  134. package/style/presets/font-presets.scss +62 -45
  135. package/style/presets/shadow-presets.scss +3 -3
  136. package/style/select.scss +6 -6
  137. package/style/switch.scss +1 -1
  138. package/style/table.scss +44 -45
  139. package/style/tabs.scss +2 -2
  140. package/style/toolbar.scss +3 -6
  141. package/style/tree.scss +2 -2
  142. package/util/string-util.d.ts +1 -0
  143. package/component/date-picker/model/picker-locale-model.d.ts +0 -16
  144. package/component/date-picker/service/picker-locale.service.d.ts +0 -11
  145. package/component/filter/filter-panel/filter-panel.component.d.ts +0 -8
  146. package/component/table/contract/table-context-menu-config.d.ts +0 -14
  147. package/esm2020/component/date-picker/model/picker-locale-model.mjs +0 -13
  148. package/esm2020/component/date-picker/service/picker-locale.service.mjs +0 -30
  149. package/esm2020/component/filter/filter-panel/filter-panel.component.mjs +0 -13
  150. package/esm2020/component/table/contract/table-context-menu-config.mjs +0 -17
@@ -15,14 +15,24 @@ export class DefaultHeadCellComponent extends HeadCellComponentBase {
15
15
  get column() {
16
16
  return this._column;
17
17
  }
18
- ngOnInit() { }
18
+ set data(data) {
19
+ this._data = data;
20
+ this._cdr.detectChanges();
21
+ }
22
+ get data() {
23
+ return this._data;
24
+ }
25
+ ngOnInit() {
26
+ }
19
27
  }
20
28
  DefaultHeadCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: DefaultHeadCellComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
21
- DefaultHeadCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: DefaultHeadCellComponent, selector: "teta-default-head-cell", inputs: { column: "column" }, usesInheritance: true, ngImport: i0, template: "<div class=\"column column_auto align-center\" [tetaHint]=\"column.hint || column.caption\">\n <div class=\"table-head__cell__text align-center\">\n {{column.caption}}\n </div>\n <div *ngIf=\"column.unit\" class=\"table-head__cell__text align-center color-text-70\" style=\"overflow: visible;\">\n [{{column.unit}}]\n </div>\n</div>\n", styles: [":host{align-items:center;justify-content:center;display:flex;min-width:0}\n"], directives: [{ type: i1.HintDirective, selector: "[tetaHint]", inputs: ["tetaHint", "align", "verticalAlign", "delay"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
29
+ DefaultHeadCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: DefaultHeadCellComponent, selector: "teta-default-head-cell", inputs: { column: "column", data: "data" }, usesInheritance: true, ngImport: i0, template: "<div class=\"column column_auto\" [tetaHint]=\"column.hint || column.caption\">\n <div class=\"table-head__cell__text\">\n {{column.caption}}\n </div>\n <div *ngIf=\"column.unit\" class=\"table-head__cell__text\" style=\"overflow: visible;\">\n [{{column.unit}}]\n </div>\n</div>\n", styles: [":host{align-items:center;justify-content:center;display:flex;min-width:0}\n"], directives: [{ type: i1.HintDirective, selector: "[tetaHint]", inputs: ["tetaHint", "align", "verticalAlign", "delay"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
22
30
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: DefaultHeadCellComponent, decorators: [{
23
31
  type: Component,
24
- args: [{ selector: 'teta-default-head-cell', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"column column_auto align-center\" [tetaHint]=\"column.hint || column.caption\">\n <div class=\"table-head__cell__text align-center\">\n {{column.caption}}\n </div>\n <div *ngIf=\"column.unit\" class=\"table-head__cell__text align-center color-text-70\" style=\"overflow: visible;\">\n [{{column.unit}}]\n </div>\n</div>\n", styles: [":host{align-items:center;justify-content:center;display:flex;min-width:0}\n"] }]
32
+ args: [{ selector: 'teta-default-head-cell', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"column column_auto\" [tetaHint]=\"column.hint || column.caption\">\n <div class=\"table-head__cell__text\">\n {{column.caption}}\n </div>\n <div *ngIf=\"column.unit\" class=\"table-head__cell__text\" style=\"overflow: visible;\">\n [{{column.unit}}]\n </div>\n</div>\n", styles: [":host{align-items:center;justify-content:center;display:flex;min-width:0}\n"] }]
25
33
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { column: [{
26
34
  type: Input
35
+ }], data: [{
36
+ type: Input
27
37
  }] } });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1oZWFkLWNlbGwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC90YWJsZS9kZWZhdWx0L2RlZmF1bHQtaGVhZC1jZWxsL2RlZmF1bHQtaGVhZC1jZWxsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGFibGUvZGVmYXVsdC9kZWZhdWx0LWhlYWQtY2VsbC9kZWZhdWx0LWhlYWQtY2VsbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxLQUFLLEdBRU4sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scUNBQXFDLENBQUM7Ozs7QUFTNUUsTUFBTSxPQUFPLHdCQUNYLFNBQVEscUJBQXFCO0lBZTdCLFlBQW9CLElBQXVCO1FBQ3pDLEtBQUssRUFBRSxDQUFDO1FBRFUsU0FBSSxHQUFKLElBQUksQ0FBbUI7SUFFM0MsQ0FBQztJQVpELElBQ0ksTUFBTSxDQUFDLEdBQWdCO1FBQ3pCLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDO1FBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBTUQsUUFBUSxLQUFVLENBQUM7O3FIQXBCUix3QkFBd0I7eUdBQXhCLHdCQUF3QixtSENoQnJDLDBWQVFBOzJGRFFhLHdCQUF3QjtrQkFOcEMsU0FBUzsrQkFDRSx3QkFBd0IsbUJBR2pCLHVCQUF1QixDQUFDLE1BQU07d0dBUzNDLE1BQU07c0JBRFQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT25Jbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEhlYWRDZWxsQ29tcG9uZW50QmFzZSB9IGZyb20gJy4uLy4uL2Jhc2UvaGVhZC1jZWxsLWNvbXBvbmVudC1iYXNlJztcbmltcG9ydCB7IFRhYmxlQ29sdW1uIH0gZnJvbSAnLi4vLi4vY29udHJhY3QvdGFibGUtY29sdW1uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0YS1kZWZhdWx0LWhlYWQtY2VsbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9kZWZhdWx0LWhlYWQtY2VsbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RlZmF1bHQtaGVhZC1jZWxsLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBEZWZhdWx0SGVhZENlbGxDb21wb25lbnRcbiAgZXh0ZW5kcyBIZWFkQ2VsbENvbXBvbmVudEJhc2VcbiAgaW1wbGVtZW50cyBPbkluaXRcbntcbiAgcHJpdmF0ZSBfY29sdW1uOiBUYWJsZUNvbHVtbjtcblxuICBASW5wdXQoKVxuICBzZXQgY29sdW1uKHZhbDogVGFibGVDb2x1bW4pIHtcbiAgICB0aGlzLl9jb2x1bW4gPSB2YWw7XG4gICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIGdldCBjb2x1bW4oKTogVGFibGVDb2x1bW4ge1xuICAgIHJldHVybiB0aGlzLl9jb2x1bW47XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9jZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge31cbn1cbiIsIjxkaXYgY2xhc3M9XCJjb2x1bW4gY29sdW1uX2F1dG8gYWxpZ24tY2VudGVyXCIgW3RldGFIaW50XT1cImNvbHVtbi5oaW50IHx8IGNvbHVtbi5jYXB0aW9uXCI+XG4gIDxkaXYgY2xhc3M9XCJ0YWJsZS1oZWFkX19jZWxsX190ZXh0IGFsaWduLWNlbnRlclwiPlxuICAgIHt7Y29sdW1uLmNhcHRpb259fVxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj1cImNvbHVtbi51bml0XCIgY2xhc3M9XCJ0YWJsZS1oZWFkX19jZWxsX190ZXh0IGFsaWduLWNlbnRlciBjb2xvci10ZXh0LTcwXCIgc3R5bGU9XCJvdmVyZmxvdzogdmlzaWJsZTtcIj5cbiAgICBbe3tjb2x1bW4udW5pdH19XVxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1oZWFkLWNlbGwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC90YWJsZS9kZWZhdWx0L2RlZmF1bHQtaGVhZC1jZWxsL2RlZmF1bHQtaGVhZC1jZWxsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGFibGUvZGVmYXVsdC9kZWZhdWx0LWhlYWQtY2VsbC9kZWZhdWx0LWhlYWQtY2VsbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxLQUFLLEdBRU4sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0scUNBQXFDLENBQUM7Ozs7QUFVMUUsTUFBTSxPQUFPLHdCQUNYLFNBQVEscUJBQXdCO0lBeUJoQyxZQUFvQixJQUF1QjtRQUN6QyxLQUFLLEVBQUUsQ0FBQztRQURVLFNBQUksR0FBSixJQUFJLENBQW1CO0lBRTNDLENBQUM7SUF0QkQsSUFDSSxNQUFNLENBQUMsR0FBZ0I7UUFDekIsSUFBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUM7UUFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUNJLElBQUksQ0FBQyxJQUFtQjtRQUMxQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQU1ELFFBQVE7SUFDUixDQUFDOztxSEEvQlUsd0JBQXdCO3lHQUF4Qix3QkFBd0IsaUlDakJyQyxxU0FRQTsyRkRTYSx3QkFBd0I7a0JBTnBDLFNBQVM7K0JBQ0Usd0JBQXdCLG1CQUdqQix1QkFBdUIsQ0FBQyxNQUFNO3dHQVMzQyxNQUFNO3NCQURULEtBQUs7Z0JBV0YsSUFBSTtzQkFEUCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPbkluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtIZWFkQ2VsbENvbXBvbmVudEJhc2V9IGZyb20gJy4uLy4uL2Jhc2UvaGVhZC1jZWxsLWNvbXBvbmVudC1iYXNlJztcbmltcG9ydCB7VGFibGVDb2x1bW59IGZyb20gJy4uLy4uL2NvbnRyYWN0L3RhYmxlLWNvbHVtbic7XG5pbXBvcnQge1RhYmxlUm93fSBmcm9tICcuLi8uLi9jb250cmFjdC90YWJsZS1yb3cnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXRhLWRlZmF1bHQtaGVhZC1jZWxsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RlZmF1bHQtaGVhZC1jZWxsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGVmYXVsdC1oZWFkLWNlbGwuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIERlZmF1bHRIZWFkQ2VsbENvbXBvbmVudDxUPlxuICBleHRlbmRzIEhlYWRDZWxsQ29tcG9uZW50QmFzZTxUPlxuICBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByaXZhdGUgX2NvbHVtbjogVGFibGVDb2x1bW47XG4gIHByaXZhdGUgX2RhdGE6IFRhYmxlUm93PFQ+W107XG5cbiAgQElucHV0KClcbiAgc2V0IGNvbHVtbih2YWw6IFRhYmxlQ29sdW1uKSB7XG4gICAgdGhpcy5fY29sdW1uID0gdmFsO1xuICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBnZXQgY29sdW1uKCk6IFRhYmxlQ29sdW1uIHtcbiAgICByZXR1cm4gdGhpcy5fY29sdW1uO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IGRhdGEoZGF0YTogVGFibGVSb3c8VD5bXSkge1xuICAgIHRoaXMuX2RhdGEgPSBkYXRhO1xuICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBnZXQgZGF0YSgpOiBUYWJsZVJvdzxUPltdIHtcbiAgICByZXR1cm4gdGhpcy5fZGF0YTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjb2x1bW4gY29sdW1uX2F1dG9cIiBbdGV0YUhpbnRdPVwiY29sdW1uLmhpbnQgfHwgY29sdW1uLmNhcHRpb25cIj5cbiAgPGRpdiBjbGFzcz1cInRhYmxlLWhlYWRfX2NlbGxfX3RleHRcIj5cbiAgICB7e2NvbHVtbi5jYXB0aW9ufX1cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9XCJjb2x1bW4udW5pdFwiIGNsYXNzPVwidGFibGUtaGVhZF9fY2VsbF9fdGV4dFwiIHN0eWxlPVwib3ZlcmZsb3c6IHZpc2libGU7XCI+XG4gICAgW3t7Y29sdW1uLnVuaXR9fV1cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -32,7 +32,7 @@ export class ListCellComponent extends CellComponentBase {
32
32
  this.valueChanged();
33
33
  }
34
34
  startEdit(initiator, type) {
35
- if (initiator?.column.name === this.column.name) {
35
+ if (initiator?.column === this.column.name) {
36
36
  setTimeout(() => {
37
37
  this.input?.focus();
38
38
  this.cdr.markForCheck();
@@ -59,10 +59,10 @@ export class ListCellComponent extends CellComponentBase {
59
59
  }
60
60
  }
61
61
  ListCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: ListCellComponent, deps: [{ token: i1.TableService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
62
- ListCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: ListCellComponent, selector: "teta-list-cell", inputs: { column: "column", row: "row", filterOptions: "filterOptions" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<span [style.display]=\"edit ? 'none' : 'block'\" class=\"cell-text\">\n {{value}}\n</span>\n<teta-select #input\n class=\"row_auto select-table\"\n *ngIf=\"edit\"\n [allowNull]=\"!column.required\"\n [verticalAlign]=\"verticalAlign.auto\"\n [appendToBody]=\"true\"\n [options]=\"displayFilterOptions\"\n [valueRef]=\"'id'\"\n [textRef]=\"'name'\"\n [ngModel]=\"row.data[column.name]\"\n (ngModelChange)=\"setValue($event)\">\n</teta-select>\n", styles: [""], components: [{ type: i2.SelectComponent, selector: "teta-select", inputs: ["multiple", "options", "invalid", "align", "verticalAlign", "autoClose", "autoCloseIgnore", "disabled", "itemSize", "virtual", "icon", "placeholder", "appendToBody", "allowNull", "valueRef", "textRef", "searchRef"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
62
+ ListCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: ListCellComponent, selector: "teta-list-cell", inputs: { column: "column", row: "row", filterOptions: "filterOptions" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<span [style.display]=\"edit ? 'none' : 'block'\"\n class=\"cell-text\"\n [class.cell-text_disabled]=\"!editable\">\n {{value}}\n</span>\n<teta-select #input\n class=\"row_auto select-table\"\n *ngIf=\"edit\"\n [allowNull]=\"!column.required\"\n [verticalAlign]=\"verticalAlign.auto\"\n [appendToBody]=\"true\"\n [options]=\"displayFilterOptions\"\n [valueRef]=\"'id'\"\n [textRef]=\"'name'\"\n [ngModel]=\"row.data[column.name]\"\n (ngModelChange)=\"setValue($event)\">\n</teta-select>\n", styles: [""], components: [{ type: i2.SelectComponent, selector: "teta-select", inputs: ["multiple", "options", "invalid", "align", "verticalAlign", "autoClose", "autoCloseIgnore", "disabled", "itemSize", "virtual", "icon", "placeholder", "appendToBody", "allowNull", "valueRef", "textRef", "searchRef"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
63
63
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: ListCellComponent, decorators: [{
64
64
  type: Component,
65
- args: [{ selector: 'teta-list-cell', changeDetection: ChangeDetectionStrategy.OnPush, template: "<span [style.display]=\"edit ? 'none' : 'block'\" class=\"cell-text\">\n {{value}}\n</span>\n<teta-select #input\n class=\"row_auto select-table\"\n *ngIf=\"edit\"\n [allowNull]=\"!column.required\"\n [verticalAlign]=\"verticalAlign.auto\"\n [appendToBody]=\"true\"\n [options]=\"displayFilterOptions\"\n [valueRef]=\"'id'\"\n [textRef]=\"'name'\"\n [ngModel]=\"row.data[column.name]\"\n (ngModelChange)=\"setValue($event)\">\n</teta-select>\n", styles: [""] }]
65
+ args: [{ selector: 'teta-list-cell', changeDetection: ChangeDetectionStrategy.OnPush, template: "<span [style.display]=\"edit ? 'none' : 'block'\"\n class=\"cell-text\"\n [class.cell-text_disabled]=\"!editable\">\n {{value}}\n</span>\n<teta-select #input\n class=\"row_auto select-table\"\n *ngIf=\"edit\"\n [allowNull]=\"!column.required\"\n [verticalAlign]=\"verticalAlign.auto\"\n [appendToBody]=\"true\"\n [options]=\"displayFilterOptions\"\n [valueRef]=\"'id'\"\n [textRef]=\"'name'\"\n [ngModel]=\"row.data[column.name]\"\n (ngModelChange)=\"setValue($event)\">\n</teta-select>\n", styles: [""] }]
66
66
  }], ctorParameters: function () { return [{ type: i1.TableService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { column: [{
67
67
  type: Input
68
68
  }], row: [{
@@ -73,4 +73,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
73
73
  type: ViewChild,
74
74
  args: ['input', { static: false }]
75
75
  }] } });
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1jZWxsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGFibGUvZGVmYXVsdC9saXN0LWNlbGwvbGlzdC1jZWxsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGFibGUvZGVmYXVsdC9saXN0LWNlbGwvbGlzdC1jZWxsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULEtBQUssRUFFTCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFJdkIsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFJakUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDZDQUE2QyxDQUFDOzs7Ozs7QUFRMUUsTUFBTSxPQUFPLGlCQUNYLFNBQVEsaUJBQW9CO0lBd0I1QixZQUNxQixHQUFvQixFQUNwQixHQUFzQjtRQUV6QyxLQUFLLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBSEcsUUFBRyxHQUFILEdBQUcsQ0FBaUI7UUFDcEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUF0QnpCLGtCQUFhLEdBQW1CLEVBQUUsQ0FBQztRQWtCckQsa0JBQWEsR0FBRyxhQUFhLENBQUM7SUFPOUIsQ0FBQztJQXZCRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxvQkFBb0I7UUFDdEIsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3ZDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDMUQsSUFBSSxXQUFXLEVBQUU7Z0JBQ2YsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEtBQUssV0FBVyxDQUFDLENBQUM7YUFDbkU7U0FDRjtRQUNELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBYUQsUUFBUSxDQUFDLEtBQVU7UUFDakIsYUFBYTtRQUNiLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsU0FBUyxDQUFDLFNBQThCLEVBQUUsSUFBb0I7UUFDNUQsSUFBSSxTQUFTLEVBQUUsTUFBTSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRTtZQUMvQyxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUM7Z0JBQ3BCLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDMUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ1A7SUFDSCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVRLFFBQVE7UUFDZixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVPLFFBQVE7UUFDZCxJQUNFLElBQUksQ0FBQyxhQUFhLEtBQUssSUFBSTtZQUMzQixJQUFJLENBQUMsYUFBYSxLQUFLLFNBQVM7WUFDaEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLFlBQVksS0FBSyxDQUFDLEVBQ3RDO1lBQ0EsT0FBTyxFQUFFLENBQUM7U0FDWDtRQUNELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUNsQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUMxRCxDQUFDO1FBQ0YsSUFBSSxJQUFJLEtBQUssSUFBSSxJQUFJLElBQUksS0FBSyxTQUFTLEVBQUU7WUFDdkMsT0FBTyxFQUFFLENBQUM7U0FDWDtRQUNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNuQixDQUFDOzs4R0F0RVUsaUJBQWlCO2tHQUFqQixpQkFBaUIsdVBDdkI5QixzakJBZUE7MkZEUWEsaUJBQWlCO2tCQU43QixTQUFTOytCQUNFLGdCQUFnQixtQkFHVCx1QkFBdUIsQ0FBQyxNQUFNO21JQUs3QixNQUFNO3NCQUF2QixLQUFLO2dCQUNZLEdBQUc7c0JBQXBCLEtBQUs7Z0JBQ1ksYUFBYTtzQkFBOUIsS0FBSztnQkFnQitCLEtBQUs7c0JBQXpDLFNBQVM7dUJBQUMsT0FBTyxFQUFFLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUYWJsZUNvbHVtbn0gZnJvbSAnLi4vLi4vY29udHJhY3QvdGFibGUtY29sdW1uJztcbmltcG9ydCB7VGFibGVSb3d9IGZyb20gJy4uLy4uL2NvbnRyYWN0L3RhYmxlLXJvdyc7XG5pbXBvcnQge1RhYmxlU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS90YWJsZS5zZXJ2aWNlJztcbmltcG9ydCB7Q2VsbENvbXBvbmVudEJhc2V9IGZyb20gJy4uLy4uL2Jhc2UvY2VsbC1jb21wb25lbnQtYmFzZSc7XG5pbXBvcnQge1NlbGVjdENvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vc2VsZWN0L3NlbGVjdC9zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7SUlkTmFtZX0gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uL2NvbnRyYWN0L2ktaWQtbmFtZSc7XG5pbXBvcnQge0lDZWxsQ29vcmRpbmF0ZXN9IGZyb20gJy4uLy4uL2NvbnRyYWN0L2ktY2VsbC1jb29yZGluYXRlcyc7XG5pbXBvcnQge1ZlcnRpY2FsQWxpZ259IGZyb20gJy4uLy4uLy4uLy4uL2NvbW1vbi9lbnVtL3ZlcnRpY2FsLWFsaWduLmVudW0nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXRhLWxpc3QtY2VsbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9saXN0LWNlbGwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9saXN0LWNlbGwuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIExpc3RDZWxsQ29tcG9uZW50PFQ+XG4gIGV4dGVuZHMgQ2VsbENvbXBvbmVudEJhc2U8VD5cbiAgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBvdmVycmlkZSBjb2x1bW46IFRhYmxlQ29sdW1uO1xuICBASW5wdXQoKSBvdmVycmlkZSByb3c6IFRhYmxlUm93PFQ+O1xuICBASW5wdXQoKSBvdmVycmlkZSBmaWx0ZXJPcHRpb25zOiBJSWROYW1lPGFueT5bXSA9IFtdO1xuXG4gIGdldCB2YWx1ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgZ2V0IGRpc3BsYXlGaWx0ZXJPcHRpb25zKCk6IElJZE5hbWU8YW55PltdIHtcbiAgICBpZiAodGhpcy5jb2x1bW4/LnBhcmVudE5hbWU/Lmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IHBhcmVudFZhbHVlID0gdGhpcy5yb3cuZGF0YVt0aGlzLmNvbHVtbi5wYXJlbnROYW1lXTtcbiAgICAgIGlmIChwYXJlbnRWYWx1ZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXJPcHRpb25zLmZpbHRlcihfID0+IF8ucGFyZW50SWQgPT09IHBhcmVudFZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyT3B0aW9ucztcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoJ2lucHV0Jywge3N0YXRpYzogZmFsc2V9KSBpbnB1dDogU2VsZWN0Q29tcG9uZW50O1xuXG4gIHZlcnRpY2FsQWxpZ24gPSBWZXJ0aWNhbEFsaWduO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBzdmM6IFRhYmxlU2VydmljZTxUPixcbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHtcbiAgICBzdXBlcihzdmMsIGNkcik7XG4gIH1cblxuICBzZXRWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgLy8gaWYodGhpcy5jKVxuICAgIHRoaXMucm93LmRhdGFbdGhpcy5jb2x1bW4ubmFtZV0gPSB2YWx1ZTtcbiAgICB0aGlzLnZhbHVlQ2hhbmdlZCgpO1xuICB9XG5cbiAgc3RhcnRFZGl0KGluaXRpYXRvcjogSUNlbGxDb29yZGluYXRlczxUPiwgdHlwZTogJ2NlbGwnIHwgJ3JvdycpOiB2b2lkIHtcbiAgICBpZiAoaW5pdGlhdG9yPy5jb2x1bW4ubmFtZSA9PT0gdGhpcy5jb2x1bW4ubmFtZSkge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuaW5wdXQ/LmZvY3VzKCk7XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSwgMCk7XG4gICAgfVxuICB9XG5cbiAgc3RvcEVkaXQoKSB7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBvdmVycmlkZSBuZ09uSW5pdCgpIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRWYWx1ZSgpIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLmZpbHRlck9wdGlvbnMgPT09IG51bGwgfHxcbiAgICAgIHRoaXMuZmlsdGVyT3B0aW9ucyA9PT0gdW5kZWZpbmVkIHx8XG4gICAgICAhKHRoaXMuZmlsdGVyT3B0aW9ucyBpbnN0YW5jZW9mIEFycmF5KVxuICAgICkge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgICBjb25zdCBpdGVtID0gdGhpcy5maWx0ZXJPcHRpb25zLmZpbmQoXG4gICAgICAob3B0aW9uKSA9PiBvcHRpb24uaWQgPT09IHRoaXMucm93LmRhdGFbdGhpcy5jb2x1bW4ubmFtZV1cbiAgICApO1xuICAgIGlmIChpdGVtID09PSBudWxsIHx8IGl0ZW0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgICByZXR1cm4gaXRlbS5uYW1lO1xuICB9XG59XG4iLCI8c3BhbiBbc3R5bGUuZGlzcGxheV09XCJlZGl0ID8gJ25vbmUnIDogJ2Jsb2NrJ1wiIGNsYXNzPVwiY2VsbC10ZXh0XCI+XG4gIHt7dmFsdWV9fVxuPC9zcGFuPlxuPHRldGEtc2VsZWN0ICNpbnB1dFxuICAgICAgICAgICAgIGNsYXNzPVwicm93X2F1dG8gc2VsZWN0LXRhYmxlXCJcbiAgICAgICAgICAgICAqbmdJZj1cImVkaXRcIlxuICAgICAgICAgICAgIFthbGxvd051bGxdPVwiIWNvbHVtbi5yZXF1aXJlZFwiXG4gICAgICAgICAgICAgW3ZlcnRpY2FsQWxpZ25dPVwidmVydGljYWxBbGlnbi5hdXRvXCJcbiAgICAgICAgICAgICBbYXBwZW5kVG9Cb2R5XT1cInRydWVcIlxuICAgICAgICAgICAgIFtvcHRpb25zXT1cImRpc3BsYXlGaWx0ZXJPcHRpb25zXCJcbiAgICAgICAgICAgICBbdmFsdWVSZWZdPVwiJ2lkJ1wiXG4gICAgICAgICAgICAgW3RleHRSZWZdPVwiJ25hbWUnXCJcbiAgICAgICAgICAgICBbbmdNb2RlbF09XCJyb3cuZGF0YVtjb2x1bW4ubmFtZV1cIlxuICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInNldFZhbHVlKCRldmVudClcIj5cbjwvdGV0YS1zZWxlY3Q+XG4iXX0=
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1jZWxsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGFibGUvZGVmYXVsdC9saXN0LWNlbGwvbGlzdC1jZWxsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGFibGUvZGVmYXVsdC9saXN0LWNlbGwvbGlzdC1jZWxsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULEtBQUssRUFFTCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFJdkIsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFJakUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDZDQUE2QyxDQUFDOzs7Ozs7QUFRMUUsTUFBTSxPQUFPLGlCQUNYLFNBQVEsaUJBQW9CO0lBd0I1QixZQUNxQixHQUFvQixFQUNwQixHQUFzQjtRQUV6QyxLQUFLLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBSEcsUUFBRyxHQUFILEdBQUcsQ0FBaUI7UUFDcEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUF0QnpCLGtCQUFhLEdBQW1CLEVBQUUsQ0FBQztRQWtCckQsa0JBQWEsR0FBRyxhQUFhLENBQUM7SUFPOUIsQ0FBQztJQXZCRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxvQkFBb0I7UUFDdEIsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3ZDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDMUQsSUFBSSxXQUFXLEVBQUU7Z0JBQ2YsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEtBQUssV0FBVyxDQUFDLENBQUM7YUFDbkU7U0FDRjtRQUNELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBYUQsUUFBUSxDQUFDLEtBQVU7UUFDakIsYUFBYTtRQUNiLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsU0FBUyxDQUFDLFNBQTJCLEVBQUUsSUFBb0I7UUFDekQsSUFBSSxTQUFTLEVBQUUsTUFBTSxLQUFLLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFO1lBQzFDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQztnQkFDcEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUMxQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDUDtJQUNILENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRVEsUUFBUTtRQUNmLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRU8sUUFBUTtRQUNkLElBQ0UsSUFBSSxDQUFDLGFBQWEsS0FBSyxJQUFJO1lBQzNCLElBQUksQ0FBQyxhQUFhLEtBQUssU0FBUztZQUNoQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsWUFBWSxLQUFLLENBQUMsRUFDdEM7WUFDQSxPQUFPLEVBQUUsQ0FBQztTQUNYO1FBQ0QsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQ2xDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQzFELENBQUM7UUFDRixJQUFJLElBQUksS0FBSyxJQUFJLElBQUksSUFBSSxLQUFLLFNBQVMsRUFBRTtZQUN2QyxPQUFPLEVBQUUsQ0FBQztTQUNYO1FBQ0QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ25CLENBQUM7OzhHQXRFVSxpQkFBaUI7a0dBQWpCLGlCQUFpQix1UEN2QjlCLDZtQkFpQkE7MkZETWEsaUJBQWlCO2tCQU43QixTQUFTOytCQUNFLGdCQUFnQixtQkFHVCx1QkFBdUIsQ0FBQyxNQUFNO21JQUs3QixNQUFNO3NCQUF2QixLQUFLO2dCQUNZLEdBQUc7c0JBQXBCLEtBQUs7Z0JBQ1ksYUFBYTtzQkFBOUIsS0FBSztnQkFnQitCLEtBQUs7c0JBQXpDLFNBQVM7dUJBQUMsT0FBTyxFQUFFLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUYWJsZUNvbHVtbn0gZnJvbSAnLi4vLi4vY29udHJhY3QvdGFibGUtY29sdW1uJztcbmltcG9ydCB7VGFibGVSb3d9IGZyb20gJy4uLy4uL2NvbnRyYWN0L3RhYmxlLXJvdyc7XG5pbXBvcnQge1RhYmxlU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS90YWJsZS5zZXJ2aWNlJztcbmltcG9ydCB7Q2VsbENvbXBvbmVudEJhc2V9IGZyb20gJy4uLy4uL2Jhc2UvY2VsbC1jb21wb25lbnQtYmFzZSc7XG5pbXBvcnQge1NlbGVjdENvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vc2VsZWN0L3NlbGVjdC9zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7SUlkTmFtZX0gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uL2NvbnRyYWN0L2ktaWQtbmFtZSc7XG5pbXBvcnQge0lDZWxsQ29vcmRpbmF0ZXN9IGZyb20gJy4uLy4uL2NvbnRyYWN0L2ktY2VsbC1jb29yZGluYXRlcyc7XG5pbXBvcnQge1ZlcnRpY2FsQWxpZ259IGZyb20gJy4uLy4uLy4uLy4uL2NvbW1vbi9lbnVtL3ZlcnRpY2FsLWFsaWduLmVudW0nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXRhLWxpc3QtY2VsbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9saXN0LWNlbGwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9saXN0LWNlbGwuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIExpc3RDZWxsQ29tcG9uZW50PFQ+XG4gIGV4dGVuZHMgQ2VsbENvbXBvbmVudEJhc2U8VD5cbiAgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBvdmVycmlkZSBjb2x1bW46IFRhYmxlQ29sdW1uO1xuICBASW5wdXQoKSBvdmVycmlkZSByb3c6IFRhYmxlUm93PFQ+O1xuICBASW5wdXQoKSBvdmVycmlkZSBmaWx0ZXJPcHRpb25zOiBJSWROYW1lPGFueT5bXSA9IFtdO1xuXG4gIGdldCB2YWx1ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgZ2V0IGRpc3BsYXlGaWx0ZXJPcHRpb25zKCk6IElJZE5hbWU8YW55PltdIHtcbiAgICBpZiAodGhpcy5jb2x1bW4/LnBhcmVudE5hbWU/Lmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IHBhcmVudFZhbHVlID0gdGhpcy5yb3cuZGF0YVt0aGlzLmNvbHVtbi5wYXJlbnROYW1lXTtcbiAgICAgIGlmIChwYXJlbnRWYWx1ZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXJPcHRpb25zLmZpbHRlcihfID0+IF8ucGFyZW50SWQgPT09IHBhcmVudFZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyT3B0aW9ucztcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoJ2lucHV0Jywge3N0YXRpYzogZmFsc2V9KSBpbnB1dDogU2VsZWN0Q29tcG9uZW50O1xuXG4gIHZlcnRpY2FsQWxpZ24gPSBWZXJ0aWNhbEFsaWduO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBzdmM6IFRhYmxlU2VydmljZTxUPixcbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHtcbiAgICBzdXBlcihzdmMsIGNkcik7XG4gIH1cblxuICBzZXRWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgLy8gaWYodGhpcy5jKVxuICAgIHRoaXMucm93LmRhdGFbdGhpcy5jb2x1bW4ubmFtZV0gPSB2YWx1ZTtcbiAgICB0aGlzLnZhbHVlQ2hhbmdlZCgpO1xuICB9XG5cbiAgc3RhcnRFZGl0KGluaXRpYXRvcjogSUNlbGxDb29yZGluYXRlcywgdHlwZTogJ2NlbGwnIHwgJ3JvdycpOiB2b2lkIHtcbiAgICBpZiAoaW5pdGlhdG9yPy5jb2x1bW4gPT09IHRoaXMuY29sdW1uLm5hbWUpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLmlucHV0Py5mb2N1cygpO1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0sIDApO1xuICAgIH1cbiAgfVxuXG4gIHN0b3BFZGl0KCkge1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkluaXQoKSB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VmFsdWUoKSB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5maWx0ZXJPcHRpb25zID09PSBudWxsIHx8XG4gICAgICB0aGlzLmZpbHRlck9wdGlvbnMgPT09IHVuZGVmaW5lZCB8fFxuICAgICAgISh0aGlzLmZpbHRlck9wdGlvbnMgaW5zdGFuY2VvZiBBcnJheSlcbiAgICApIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gICAgY29uc3QgaXRlbSA9IHRoaXMuZmlsdGVyT3B0aW9ucy5maW5kKFxuICAgICAgKG9wdGlvbikgPT4gb3B0aW9uLmlkID09PSB0aGlzLnJvdy5kYXRhW3RoaXMuY29sdW1uLm5hbWVdXG4gICAgKTtcbiAgICBpZiAoaXRlbSA9PT0gbnVsbCB8fCBpdGVtID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gICAgcmV0dXJuIGl0ZW0ubmFtZTtcbiAgfVxufVxuIiwiPHNwYW4gW3N0eWxlLmRpc3BsYXldPVwiZWRpdCA/ICdub25lJyA6ICdibG9jaydcIlxuICAgICAgY2xhc3M9XCJjZWxsLXRleHRcIlxuICAgICAgW2NsYXNzLmNlbGwtdGV4dF9kaXNhYmxlZF09XCIhZWRpdGFibGVcIj5cbiAge3t2YWx1ZX19XG48L3NwYW4+XG48dGV0YS1zZWxlY3QgI2lucHV0XG4gICAgICAgICAgICAgY2xhc3M9XCJyb3dfYXV0byBzZWxlY3QtdGFibGVcIlxuICAgICAgICAgICAgICpuZ0lmPVwiZWRpdFwiXG4gICAgICAgICAgICAgW2FsbG93TnVsbF09XCIhY29sdW1uLnJlcXVpcmVkXCJcbiAgICAgICAgICAgICBbdmVydGljYWxBbGlnbl09XCJ2ZXJ0aWNhbEFsaWduLmF1dG9cIlxuICAgICAgICAgICAgIFthcHBlbmRUb0JvZHldPVwidHJ1ZVwiXG4gICAgICAgICAgICAgW29wdGlvbnNdPVwiZGlzcGxheUZpbHRlck9wdGlvbnNcIlxuICAgICAgICAgICAgIFt2YWx1ZVJlZl09XCInaWQnXCJcbiAgICAgICAgICAgICBbdGV4dFJlZl09XCInbmFtZSdcIlxuICAgICAgICAgICAgIFtuZ01vZGVsXT1cInJvdy5kYXRhW2NvbHVtbi5uYW1lXVwiXG4gICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2V0VmFsdWUoJGV2ZW50KVwiPlxuPC90ZXRhLXNlbGVjdD5cbiJdfQ==
@@ -19,12 +19,16 @@ export class NumericCellComponent extends CellComponentBase {
19
19
  super.ngOnInit();
20
20
  }
21
21
  startEdit(initiator, type) {
22
- if (initiator?.column.name === this.column.name) {
23
- setTimeout(() => {
24
- this.input?.nativeElement.focus();
25
- this.input?.nativeElement.select();
26
- this.cdr.markForCheck();
27
- }, 0);
22
+ if (initiator?.column === this.column.name) {
23
+ this.cdr.detectChanges();
24
+ this.input.nativeElement?.focus();
25
+ // this.input.nativeElement?.select();
26
+ // this.cdr.detectChanges();
27
+ // setTimeout(() => {
28
+ // this.input?.nativeElement.focus();
29
+ // this.input?.nativeElement.select();
30
+ // this.cdr.markForCheck();
31
+ // }, 0);
28
32
  }
29
33
  }
30
34
  stopEdit() {
@@ -32,10 +36,10 @@ export class NumericCellComponent extends CellComponentBase {
32
36
  }
33
37
  }
34
38
  NumericCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: NumericCellComponent, deps: [{ token: i1.TableService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
35
- NumericCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: NumericCellComponent, selector: "teta-numeric-cell", inputs: { column: "column", row: "row" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<span [style.display]=\"edit ? 'none' : 'block'\" class=\"cell-text cell-text_numeric\">\n {{row.data[column.name] | tetaNumber : 2}}\n</span>\n<input #input\n *ngIf=\"edit\"\n tetaOnlyNumber\n type=\"text\"\n class=\"input row_auto border-radius-0\"\n (blur)=\"setValue()\"\n [ngModel]=\"row.data[column.name]\"\n (ngModelChange)=\"row.data[column.name]=$event;\"/>\n", styles: [":host{justify-content:end}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i4.OnlyNumberDirective, selector: "[tetaOnlyNumber]", inputs: ["tetaOnlyNumber", "allowDecimals", "allowSign", "decimalSeparator", "commaSeparator"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "tetaNumber": i5.NumberPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
39
+ NumericCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: NumericCellComponent, selector: "teta-numeric-cell", inputs: { column: "column", row: "row" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<span [style.display]=\"edit ? 'none' : 'block'\"\n class=\"cell-text\"\n [class.cell-text_disabled]=\"!editable\">\n {{row.data[column.name] | tetaNumber : 2}}\n</span>\n<input #input\n *ngIf=\"edit\"\n tetaOnlyNumber\n type=\"text\"\n class=\"input row_auto border-radius-0\"\n (blur)=\"setValue()\"\n [ngModel]=\"row.data[column.name]\"\n (ngModelChange)=\"row.data[column.name]=$event;\"/>\n", styles: [""], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i4.OnlyNumberDirective, selector: "[tetaOnlyNumber]", inputs: ["tetaOnlyNumber", "allowDecimals", "allowSign", "decimalSeparator", "commaSeparator"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "tetaNumber": i5.NumberPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
36
40
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: NumericCellComponent, decorators: [{
37
41
  type: Component,
38
- args: [{ selector: 'teta-numeric-cell', changeDetection: ChangeDetectionStrategy.OnPush, template: "<span [style.display]=\"edit ? 'none' : 'block'\" class=\"cell-text cell-text_numeric\">\n {{row.data[column.name] | tetaNumber : 2}}\n</span>\n<input #input\n *ngIf=\"edit\"\n tetaOnlyNumber\n type=\"text\"\n class=\"input row_auto border-radius-0\"\n (blur)=\"setValue()\"\n [ngModel]=\"row.data[column.name]\"\n (ngModelChange)=\"row.data[column.name]=$event;\"/>\n", styles: [":host{justify-content:end}\n"] }]
42
+ args: [{ selector: 'teta-numeric-cell', changeDetection: ChangeDetectionStrategy.OnPush, template: "<span [style.display]=\"edit ? 'none' : 'block'\"\n class=\"cell-text\"\n [class.cell-text_disabled]=\"!editable\">\n {{row.data[column.name] | tetaNumber : 2}}\n</span>\n<input #input\n *ngIf=\"edit\"\n tetaOnlyNumber\n type=\"text\"\n class=\"input row_auto border-radius-0\"\n (blur)=\"setValue()\"\n [ngModel]=\"row.data[column.name]\"\n (ngModelChange)=\"row.data[column.name]=$event;\"/>\n", styles: [""] }]
39
43
  }], ctorParameters: function () { return [{ type: i1.TableService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { column: [{
40
44
  type: Input
41
45
  }], row: [{
@@ -44,4 +48,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
44
48
  type: ViewChild,
45
49
  args: ['input', { static: false }]
46
50
  }] } });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtZXJpYy1jZWxsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGFibGUvZGVmYXVsdC9udW1lcmljLWNlbGwvbnVtZXJpYy1jZWxsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGFibGUvZGVmYXVsdC9udW1lcmljLWNlbGwvbnVtZXJpYy1jZWxsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUVULEtBQUssRUFFTCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7QUFZbkUsTUFBTSxPQUFPLG9CQUNYLFNBQVEsaUJBQW9CO0lBTzVCLFlBQ3FCLEdBQW9CLEVBQ3BCLEdBQXNCO1FBRXpDLEtBQUssQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFIRyxRQUFHLEdBQUgsR0FBRyxDQUFpQjtRQUNwQixRQUFHLEdBQUgsR0FBRyxDQUFtQjtJQUczQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRVEsUUFBUTtRQUNmLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsU0FBUyxDQUFDLFNBQThCLEVBQUUsSUFBb0I7UUFDNUQsSUFBSSxTQUFTLEVBQUUsTUFBTSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRTtZQUMvQyxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksQ0FBQyxLQUFLLEVBQUUsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNsQyxJQUFJLENBQUMsS0FBSyxFQUFFLGFBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDbkMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUMxQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDUDtJQUNILENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDOztpSEFuQ1Usb0JBQW9CO3FHQUFwQixvQkFBb0IsME5DckJqQyw2WkFXQTsyRkRVYSxvQkFBb0I7a0JBTmhDLFNBQVM7K0JBQ0UsbUJBQW1CLG1CQUdaLHVCQUF1QixDQUFDLE1BQU07bUlBTTdCLE1BQU07c0JBQXZCLEtBQUs7Z0JBQ1ksR0FBRztzQkFBcEIsS0FBSztnQkFDaUMsS0FBSztzQkFBM0MsU0FBUzt1QkFBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDZWxsQ29tcG9uZW50QmFzZSB9IGZyb20gJy4uLy4uL2Jhc2UvY2VsbC1jb21wb25lbnQtYmFzZSc7XG5pbXBvcnQgeyBUYWJsZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3RhYmxlLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGFibGVDb2x1bW4gfSBmcm9tICcuLi8uLi9jb250cmFjdC90YWJsZS1jb2x1bW4nO1xuaW1wb3J0IHsgVGFibGVSb3cgfSBmcm9tICcuLi8uLi9jb250cmFjdC90YWJsZS1yb3cnO1xuaW1wb3J0IHsgSUNlbGxDb29yZGluYXRlcyB9IGZyb20gJy4uLy4uL2NvbnRyYWN0L2ktY2VsbC1jb29yZGluYXRlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldGEtbnVtZXJpYy1jZWxsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL251bWVyaWMtY2VsbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL251bWVyaWMtY2VsbC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTnVtZXJpY0NlbGxDb21wb25lbnQ8VD5cbiAgZXh0ZW5kcyBDZWxsQ29tcG9uZW50QmFzZTxUPlxuICBpbXBsZW1lbnRzIE9uSW5pdFxue1xuICBASW5wdXQoKSBvdmVycmlkZSBjb2x1bW46IFRhYmxlQ29sdW1uO1xuICBASW5wdXQoKSBvdmVycmlkZSByb3c6IFRhYmxlUm93PFQ+O1xuICBAVmlld0NoaWxkKCdpbnB1dCcsIHsgc3RhdGljOiBmYWxzZSB9KSBpbnB1dDogRWxlbWVudFJlZjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgc3ZjOiBUYWJsZVNlcnZpY2U8VD4sXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gICAgc3VwZXIoc3ZjLCBjZHIpO1xuICB9XG5cbiAgc2V0VmFsdWUoKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZUNoYW5nZWQoKTtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gIH1cblxuICBzdGFydEVkaXQoaW5pdGlhdG9yOiBJQ2VsbENvb3JkaW5hdGVzPFQ+LCB0eXBlOiAnY2VsbCcgfCAncm93Jyk6IHZvaWQge1xuICAgIGlmIChpbml0aWF0b3I/LmNvbHVtbi5uYW1lID09PSB0aGlzLmNvbHVtbi5uYW1lKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5pbnB1dD8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB0aGlzLmlucHV0Py5uYXRpdmVFbGVtZW50LnNlbGVjdCgpO1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0sIDApO1xuICAgIH1cbiAgfVxuXG4gIHN0b3BFZGl0KCk6IHZvaWQge1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG59XG4iLCI8c3BhbiBbc3R5bGUuZGlzcGxheV09XCJlZGl0ID8gJ25vbmUnIDogJ2Jsb2NrJ1wiIGNsYXNzPVwiY2VsbC10ZXh0IGNlbGwtdGV4dF9udW1lcmljXCI+XG4gIHt7cm93LmRhdGFbY29sdW1uLm5hbWVdIHwgdGV0YU51bWJlciA6IDJ9fVxuPC9zcGFuPlxuPGlucHV0ICNpbnB1dFxuICAgICAgICpuZ0lmPVwiZWRpdFwiXG4gICAgICAgdGV0YU9ubHlOdW1iZXJcbiAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgY2xhc3M9XCJpbnB1dCByb3dfYXV0byBib3JkZXItcmFkaXVzLTBcIlxuICAgICAgIChibHVyKT1cInNldFZhbHVlKClcIlxuICAgICAgIFtuZ01vZGVsXT1cInJvdy5kYXRhW2NvbHVtbi5uYW1lXVwiXG4gICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwicm93LmRhdGFbY29sdW1uLm5hbWVdPSRldmVudDtcIi8+XG4iXX0=
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtZXJpYy1jZWxsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGFibGUvZGVmYXVsdC9udW1lcmljLWNlbGwvbnVtZXJpYy1jZWxsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGFibGUvZGVmYXVsdC9udW1lcmljLWNlbGwvbnVtZXJpYy1jZWxsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUVULEtBQUssRUFFTCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7QUFZakUsTUFBTSxPQUFPLG9CQUNYLFNBQVEsaUJBQW9CO0lBTTVCLFlBQ3FCLEdBQW9CLEVBQ3BCLEdBQXNCO1FBRXpDLEtBQUssQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFIRyxRQUFHLEdBQUgsR0FBRyxDQUFpQjtRQUNwQixRQUFHLEdBQUgsR0FBRyxDQUFtQjtJQUczQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRVEsUUFBUTtRQUNmLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsU0FBUyxDQUFDLFNBQTJCLEVBQUUsSUFBb0I7UUFDekQsSUFBSSxTQUFTLEVBQUUsTUFBTSxLQUFLLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFO1lBQzFDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsS0FBSyxFQUFFLENBQUM7WUFDbEMsc0NBQXNDO1lBQ3RDLDRCQUE0QjtZQUU1QixxQkFBcUI7WUFDckIsdUNBQXVDO1lBQ3ZDLHdDQUF3QztZQUN4Qyw2QkFBNkI7WUFDN0IsU0FBUztTQUNWO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFCLENBQUM7O2lIQXZDVSxvQkFBb0I7cUdBQXBCLG9CQUFvQiwwTkNyQmpDLGtjQWFBOzJGRFFhLG9CQUFvQjtrQkFOaEMsU0FBUzsrQkFDRSxtQkFBbUIsbUJBR1osdUJBQXVCLENBQUMsTUFBTTttSUFLN0IsTUFBTTtzQkFBdkIsS0FBSztnQkFDWSxHQUFHO3NCQUFwQixLQUFLO2dCQUMrQixLQUFLO3NCQUF6QyxTQUFTO3VCQUFDLE9BQU8sRUFBRSxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q2VsbENvbXBvbmVudEJhc2V9IGZyb20gJy4uLy4uL2Jhc2UvY2VsbC1jb21wb25lbnQtYmFzZSc7XG5pbXBvcnQge1RhYmxlU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS90YWJsZS5zZXJ2aWNlJztcbmltcG9ydCB7VGFibGVDb2x1bW59IGZyb20gJy4uLy4uL2NvbnRyYWN0L3RhYmxlLWNvbHVtbic7XG5pbXBvcnQge1RhYmxlUm93fSBmcm9tICcuLi8uLi9jb250cmFjdC90YWJsZS1yb3cnO1xuaW1wb3J0IHtJQ2VsbENvb3JkaW5hdGVzfSBmcm9tICcuLi8uLi9jb250cmFjdC9pLWNlbGwtY29vcmRpbmF0ZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXRhLW51bWVyaWMtY2VsbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9udW1lcmljLWNlbGwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9udW1lcmljLWNlbGwuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE51bWVyaWNDZWxsQ29tcG9uZW50PFQ+XG4gIGV4dGVuZHMgQ2VsbENvbXBvbmVudEJhc2U8VD5cbiAgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBvdmVycmlkZSBjb2x1bW46IFRhYmxlQ29sdW1uO1xuICBASW5wdXQoKSBvdmVycmlkZSByb3c6IFRhYmxlUm93PFQ+O1xuICBAVmlld0NoaWxkKCdpbnB1dCcsIHtzdGF0aWM6IGZhbHNlfSkgaW5wdXQ6IEVsZW1lbnRSZWY7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHN2YzogVGFibGVTZXJ2aWNlPFQ+LFxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBjZHI6IENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuICAgIHN1cGVyKHN2YywgY2RyKTtcbiAgfVxuXG4gIHNldFZhbHVlKCk6IHZvaWQge1xuICAgIHRoaXMudmFsdWVDaGFuZ2VkKCk7XG4gIH1cblxuICBvdmVycmlkZSBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuICB9XG5cbiAgc3RhcnRFZGl0KGluaXRpYXRvcjogSUNlbGxDb29yZGluYXRlcywgdHlwZTogJ2NlbGwnIHwgJ3JvdycpOiB2b2lkIHtcbiAgICBpZiAoaW5pdGlhdG9yPy5jb2x1bW4gPT09IHRoaXMuY29sdW1uLm5hbWUpIHtcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudD8uZm9jdXMoKTtcbiAgICAgIC8vIHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudD8uc2VsZWN0KCk7XG4gICAgICAvLyB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICAgIC8vIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgLy8gICB0aGlzLmlucHV0Py5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAvLyAgIHRoaXMuaW5wdXQ/Lm5hdGl2ZUVsZW1lbnQuc2VsZWN0KCk7XG4gICAgICAvLyAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgLy8gfSwgMCk7XG4gICAgfVxuICB9XG5cbiAgc3RvcEVkaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cbn1cbiIsIjxzcGFuIFtzdHlsZS5kaXNwbGF5XT1cImVkaXQgPyAnbm9uZScgOiAnYmxvY2snXCJcbiAgICAgIGNsYXNzPVwiY2VsbC10ZXh0XCJcbiAgICAgIFtjbGFzcy5jZWxsLXRleHRfZGlzYWJsZWRdPVwiIWVkaXRhYmxlXCI+XG4gIHt7cm93LmRhdGFbY29sdW1uLm5hbWVdIHwgdGV0YU51bWJlciA6IDJ9fVxuPC9zcGFuPlxuPGlucHV0ICNpbnB1dFxuICAgICAgICpuZ0lmPVwiZWRpdFwiXG4gICAgICAgdGV0YU9ubHlOdW1iZXJcbiAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgY2xhc3M9XCJpbnB1dCByb3dfYXV0byBib3JkZXItcmFkaXVzLTBcIlxuICAgICAgIChibHVyKT1cInNldFZhbHVlKClcIlxuICAgICAgIFtuZ01vZGVsXT1cInJvdy5kYXRhW2NvbHVtbi5uYW1lXVwiXG4gICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwicm93LmRhdGFbY29sdW1uLm5hbWVdPSRldmVudDtcIi8+XG4iXX0=
@@ -17,23 +17,29 @@ export class StringCellComponent extends CellComponentBase {
17
17
  super.ngOnInit();
18
18
  }
19
19
  startEdit(initiator, type) {
20
- if (initiator?.column.name === this.column.name) {
21
- this.cdr.markForCheck();
22
- setTimeout(() => {
23
- this.input.nativeElement?.focus();
24
- this.input.nativeElement?.select();
25
- }, 0);
20
+ if (initiator?.column === this.column.name) {
21
+ this.cdr.detectChanges();
22
+ this.input.nativeElement?.focus();
23
+ this.input.nativeElement?.select();
24
+ // this.cdr.detectChanges();
25
+ // this.input.nativeElement?.focus();
26
+ // this.input.nativeElement?.select();
27
+ // this.cdr.detectChanges();
28
+ // setTimeout(() => {
29
+ // this.input.nativeElement?.focus();
30
+ // this.input.nativeElement?.select();
31
+ // }, 0);
26
32
  }
27
33
  }
28
34
  stopEdit() {
29
- this.cdr.markForCheck();
35
+ this.cdr.detectChanges();
30
36
  }
31
37
  }
32
38
  StringCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: StringCellComponent, deps: [{ token: i1.TableService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
33
- StringCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: StringCellComponent, selector: "teta-string-cell", inputs: { column: "column", row: "row" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<span [style.display]=\"edit ? 'none' : 'block'\" class=\"cell-text\">\n {{row.data[column.name]}}\n</span>\n<input #input\n *ngIf=\"edit\"\n type=\"text\"\n class=\"input row_auto border-radius-0\"\n (blur)=\"setValue()\"\n [ngModel]=\"row.data[column.name]\"\n (ngModelChange)=\"row.data[column.name]=$event\"/>\n\n", styles: [""], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
39
+ StringCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: StringCellComponent, selector: "teta-string-cell", inputs: { column: "column", row: "row" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<span [style.display]=\"edit ? 'none' : 'block'\"\n class=\"cell-text\"\n [class.cell-text_disabled]=\"!editable\">\n {{row.data[column.name]}}\n</span>\n<input #input\n *ngIf=\"edit\"\n type=\"text\"\n class=\"input row_auto border-radius-0\"\n (blur)=\"setValue()\"\n [ngModel]=\"row.data[column.name]\"\n (ngModelChange)=\"row.data[column.name]=$event\"/>\n\n", styles: [""], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
34
40
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: StringCellComponent, decorators: [{
35
41
  type: Component,
36
- args: [{ selector: 'teta-string-cell', changeDetection: ChangeDetectionStrategy.OnPush, template: "<span [style.display]=\"edit ? 'none' : 'block'\" class=\"cell-text\">\n {{row.data[column.name]}}\n</span>\n<input #input\n *ngIf=\"edit\"\n type=\"text\"\n class=\"input row_auto border-radius-0\"\n (blur)=\"setValue()\"\n [ngModel]=\"row.data[column.name]\"\n (ngModelChange)=\"row.data[column.name]=$event\"/>\n\n", styles: [""] }]
42
+ args: [{ selector: 'teta-string-cell', changeDetection: ChangeDetectionStrategy.OnPush, template: "<span [style.display]=\"edit ? 'none' : 'block'\"\n class=\"cell-text\"\n [class.cell-text_disabled]=\"!editable\">\n {{row.data[column.name]}}\n</span>\n<input #input\n *ngIf=\"edit\"\n type=\"text\"\n class=\"input row_auto border-radius-0\"\n (blur)=\"setValue()\"\n [ngModel]=\"row.data[column.name]\"\n (ngModelChange)=\"row.data[column.name]=$event\"/>\n\n", styles: [""] }]
37
43
  }], ctorParameters: function () { return [{ type: i1.TableService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { column: [{
38
44
  type: Input
39
45
  }], row: [{
@@ -42,4 +48,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
42
48
  type: ViewChild,
43
49
  args: ['input', { static: false }]
44
50
  }] } });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLWNlbGwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC90YWJsZS9kZWZhdWx0L3N0cmluZy1jZWxsL3N0cmluZy1jZWxsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGFibGUvZGVmYXVsdC9zdHJpbmctY2VsbC9zdHJpbmctY2VsbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxLQUFLLEVBRUwsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7OztBQVluRSxNQUFNLE9BQU8sbUJBQ1gsU0FBUSxpQkFBb0I7SUFPNUIsWUFBNEIsR0FBb0IsRUFBa0IsR0FBc0I7UUFDdEYsS0FBSyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQURVLFFBQUcsR0FBSCxHQUFHLENBQWlCO1FBQWtCLFFBQUcsR0FBSCxHQUFHLENBQW1CO0lBRXhGLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFUSxRQUFRO1FBQ2YsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRCxTQUFTLENBQUMsU0FBOEIsRUFBRSxJQUFvQjtRQUM1RCxJQUFJLFNBQVMsRUFBRSxNQUFNLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFO1lBQy9DLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDeEIsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxLQUFLLEVBQUUsQ0FBQztnQkFDbEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDckMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ1A7SUFDSCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUIsQ0FBQzs7Z0hBaENVLG1CQUFtQjtvR0FBbkIsbUJBQW1CLHlOQ3JCaEMsb1dBV0E7MkZEVWEsbUJBQW1CO2tCQU4vQixTQUFTOytCQUNFLGtCQUFrQixtQkFHWCx1QkFBdUIsQ0FBQyxNQUFNO21JQU03QixNQUFNO3NCQUF2QixLQUFLO2dCQUNZLEdBQUc7c0JBQXBCLEtBQUs7Z0JBQ2lDLEtBQUs7c0JBQTNDLFNBQVM7dUJBQUMsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2VsbENvbXBvbmVudEJhc2UgfSBmcm9tICcuLi8uLi9iYXNlL2NlbGwtY29tcG9uZW50LWJhc2UnO1xuaW1wb3J0IHsgVGFibGVDb2x1bW4gfSBmcm9tICcuLi8uLi9jb250cmFjdC90YWJsZS1jb2x1bW4nO1xuaW1wb3J0IHsgVGFibGVSb3cgfSBmcm9tICcuLi8uLi9jb250cmFjdC90YWJsZS1yb3cnO1xuaW1wb3J0IHsgVGFibGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZS90YWJsZS5zZXJ2aWNlJztcbmltcG9ydCB7IElDZWxsQ29vcmRpbmF0ZXMgfSBmcm9tICcuLi8uLi9jb250cmFjdC9pLWNlbGwtY29vcmRpbmF0ZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXRhLXN0cmluZy1jZWxsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3N0cmluZy1jZWxsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc3RyaW5nLWNlbGwuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFN0cmluZ0NlbGxDb21wb25lbnQ8VD5cbiAgZXh0ZW5kcyBDZWxsQ29tcG9uZW50QmFzZTxUPlxuICBpbXBsZW1lbnRzIE9uSW5pdFxue1xuICBASW5wdXQoKSBvdmVycmlkZSBjb2x1bW46IFRhYmxlQ29sdW1uO1xuICBASW5wdXQoKSBvdmVycmlkZSByb3c6IFRhYmxlUm93PFQ+O1xuICBAVmlld0NoaWxkKCdpbnB1dCcsIHsgc3RhdGljOiBmYWxzZSB9KSBpbnB1dDogRWxlbWVudFJlZjtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgb3ZlcnJpZGUgc3ZjOiBUYWJsZVNlcnZpY2U8VD4sIHB1YmxpYyBvdmVycmlkZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgc3VwZXIoc3ZjLCBjZHIpO1xuICB9XG5cbiAgc2V0VmFsdWUoKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZUNoYW5nZWQoKTtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gIH1cblxuICBzdGFydEVkaXQoaW5pdGlhdG9yOiBJQ2VsbENvb3JkaW5hdGVzPFQ+LCB0eXBlOiAnY2VsbCcgfCAncm93Jyk6IHZvaWQge1xuICAgIGlmIChpbml0aWF0b3I/LmNvbHVtbi5uYW1lID09PSB0aGlzLmNvbHVtbi5uYW1lKSB7XG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQ/LmZvY3VzKCk7XG4gICAgICAgIHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudD8uc2VsZWN0KCk7XG4gICAgICB9LCAwKTtcbiAgICB9XG4gIH1cblxuICBzdG9wRWRpdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxufVxuIiwiPHNwYW4gW3N0eWxlLmRpc3BsYXldPVwiZWRpdCA/ICdub25lJyA6ICdibG9jaydcIiBjbGFzcz1cImNlbGwtdGV4dFwiPlxuICB7e3Jvdy5kYXRhW2NvbHVtbi5uYW1lXX19XG48L3NwYW4+XG48aW5wdXQgI2lucHV0XG4gICAgICAgKm5nSWY9XCJlZGl0XCJcbiAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgY2xhc3M9XCJpbnB1dCByb3dfYXV0byBib3JkZXItcmFkaXVzLTBcIlxuICAgICAgIChibHVyKT1cInNldFZhbHVlKClcIlxuICAgICAgIFtuZ01vZGVsXT1cInJvdy5kYXRhW2NvbHVtbi5uYW1lXVwiXG4gICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwicm93LmRhdGFbY29sdW1uLm5hbWVdPSRldmVudFwiLz5cblxuIl19
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLWNlbGwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC90YWJsZS9kZWZhdWx0L3N0cmluZy1jZWxsL3N0cmluZy1jZWxsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGFibGUvZGVmYXVsdC9zdHJpbmctY2VsbC9zdHJpbmctY2VsbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxLQUFLLEVBRUwsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDOzs7OztBQVlqRSxNQUFNLE9BQU8sbUJBQ1gsU0FBUSxpQkFBb0I7SUFNNUIsWUFBNEIsR0FBb0IsRUFBa0IsR0FBc0I7UUFDdEYsS0FBSyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQURVLFFBQUcsR0FBSCxHQUFHLENBQWlCO1FBQWtCLFFBQUcsR0FBSCxHQUFHLENBQW1CO0lBRXhGLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFUSxRQUFRO1FBQ2YsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRCxTQUFTLENBQUMsU0FBMkIsRUFBRSxJQUFvQjtRQUN6RCxJQUFJLFNBQVMsRUFBRSxNQUFNLEtBQUssSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUU7WUFDMUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxLQUFLLEVBQUUsQ0FBQztZQUNsQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNuQyw0QkFBNEI7WUFDNUIscUNBQXFDO1lBQ3JDLHNDQUFzQztZQUN0Qyw0QkFBNEI7WUFDNUIscUJBQXFCO1lBQ3JCLHVDQUF1QztZQUN2Qyx3Q0FBd0M7WUFDeEMsU0FBUztTQUNWO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNCLENBQUM7O2dIQXJDVSxtQkFBbUI7b0dBQW5CLG1CQUFtQix5TkNyQmhDLDJaQWFBOzJGRFFhLG1CQUFtQjtrQkFOL0IsU0FBUzsrQkFDRSxrQkFBa0IsbUJBR1gsdUJBQXVCLENBQUMsTUFBTTttSUFLN0IsTUFBTTtzQkFBdkIsS0FBSztnQkFDWSxHQUFHO3NCQUFwQixLQUFLO2dCQUMrQixLQUFLO3NCQUF6QyxTQUFTO3VCQUFDLE9BQU8sRUFBRSxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q2VsbENvbXBvbmVudEJhc2V9IGZyb20gJy4uLy4uL2Jhc2UvY2VsbC1jb21wb25lbnQtYmFzZSc7XG5pbXBvcnQge1RhYmxlQ29sdW1ufSBmcm9tICcuLi8uLi9jb250cmFjdC90YWJsZS1jb2x1bW4nO1xuaW1wb3J0IHtUYWJsZVJvd30gZnJvbSAnLi4vLi4vY29udHJhY3QvdGFibGUtcm93JztcbmltcG9ydCB7VGFibGVTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3RhYmxlLnNlcnZpY2UnO1xuaW1wb3J0IHtJQ2VsbENvb3JkaW5hdGVzfSBmcm9tICcuLi8uLi9jb250cmFjdC9pLWNlbGwtY29vcmRpbmF0ZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXRhLXN0cmluZy1jZWxsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3N0cmluZy1jZWxsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc3RyaW5nLWNlbGwuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFN0cmluZ0NlbGxDb21wb25lbnQ8VD5cbiAgZXh0ZW5kcyBDZWxsQ29tcG9uZW50QmFzZTxUPlxuICBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIG92ZXJyaWRlIGNvbHVtbjogVGFibGVDb2x1bW47XG4gIEBJbnB1dCgpIG92ZXJyaWRlIHJvdzogVGFibGVSb3c8VD47XG4gIEBWaWV3Q2hpbGQoJ2lucHV0Jywge3N0YXRpYzogZmFsc2V9KSBpbnB1dDogRWxlbWVudFJlZjtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgb3ZlcnJpZGUgc3ZjOiBUYWJsZVNlcnZpY2U8VD4sIHB1YmxpYyBvdmVycmlkZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgc3VwZXIoc3ZjLCBjZHIpO1xuICB9XG5cbiAgc2V0VmFsdWUoKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZUNoYW5nZWQoKTtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gIH1cblxuICBzdGFydEVkaXQoaW5pdGlhdG9yOiBJQ2VsbENvb3JkaW5hdGVzLCB0eXBlOiAnY2VsbCcgfCAncm93Jyk6IHZvaWQge1xuICAgIGlmIChpbml0aWF0b3I/LmNvbHVtbiA9PT0gdGhpcy5jb2x1bW4ubmFtZSkge1xuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50Py5mb2N1cygpO1xuICAgICAgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50Py5zZWxlY3QoKTtcbiAgICAgIC8vIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIC8vIHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudD8uZm9jdXMoKTtcbiAgICAgIC8vIHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudD8uc2VsZWN0KCk7XG4gICAgICAvLyB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAvLyBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIC8vICAgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50Py5mb2N1cygpO1xuICAgICAgLy8gICB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQ/LnNlbGVjdCgpO1xuICAgICAgLy8gfSwgMCk7XG4gICAgfVxuICB9XG5cbiAgc3RvcEVkaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG59XG4iLCI8c3BhbiBbc3R5bGUuZGlzcGxheV09XCJlZGl0ID8gJ25vbmUnIDogJ2Jsb2NrJ1wiXG4gICAgICBjbGFzcz1cImNlbGwtdGV4dFwiXG4gICAgICBbY2xhc3MuY2VsbC10ZXh0X2Rpc2FibGVkXT1cIiFlZGl0YWJsZVwiPlxuICB7e3Jvdy5kYXRhW2NvbHVtbi5uYW1lXX19XG48L3NwYW4+XG48aW5wdXQgI2lucHV0XG4gICAgICAgKm5nSWY9XCJlZGl0XCJcbiAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgY2xhc3M9XCJpbnB1dCByb3dfYXV0byBib3JkZXItcmFkaXVzLTBcIlxuICAgICAgIChibHVyKT1cInNldFZhbHVlKClcIlxuICAgICAgIFtuZ01vZGVsXT1cInJvdy5kYXRhW2NvbHVtbi5uYW1lXVwiXG4gICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwicm93LmRhdGFbY29sdW1uLm5hbWVdPSRldmVudFwiLz5cblxuIl19
@@ -1,6 +1,7 @@
1
1
  export var EditType;
2
2
  (function (EditType) {
3
- EditType[EditType["cell"] = 0] = "cell";
4
- EditType[EditType["row"] = 1] = "row";
3
+ EditType[EditType["none"] = 0] = "none";
4
+ EditType[EditType["cell"] = 1] = "cell";
5
+ EditType[EditType["row"] = 2] = "row";
5
6
  })(EditType || (EditType = {}));
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC10eXBlLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RhYmxlL2VudW0vZWRpdC10eXBlLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksUUFHWDtBQUhELFdBQVksUUFBUTtJQUNsQix1Q0FBSSxDQUFBO0lBQ0oscUNBQUcsQ0FBQTtBQUNMLENBQUMsRUFIVyxRQUFRLEtBQVIsUUFBUSxRQUduQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEVkaXRUeXBlIHtcbiAgY2VsbCxcbiAgcm93XG59XG4iXX0=
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC10eXBlLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RhYmxlL2VudW0vZWRpdC10eXBlLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksUUFJWDtBQUpELFdBQVksUUFBUTtJQUNsQix1Q0FBSSxDQUFBO0lBQ0osdUNBQUksQ0FBQTtJQUNKLHFDQUFHLENBQUE7QUFDTCxDQUFDLEVBSlcsUUFBUSxLQUFSLFFBQVEsUUFJbkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBFZGl0VHlwZSB7XG4gIG5vbmUsXG4gIGNlbGwsXG4gIHJvd1xufVxuIl19
@@ -1,6 +1,5 @@
1
- import { ChangeDetectionStrategy, Component, HostListener, Input, } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, HostBinding, HostListener, Input, } from '@angular/core';
2
2
  import { ColumnResizeEvent } from '../contract/column-resize-event';
3
- import { SortEvent } from '../contract/sort-event';
4
3
  import { map } from 'rxjs/operators';
5
4
  import { StateUtil } from '../util/state-util';
6
5
  import { VerticalAlign } from '../../../common/enum/vertical-align.enum';
@@ -8,15 +7,14 @@ import { Align } from '../../../common/enum/align.enum';
8
7
  import { combineLatest } from 'rxjs';
9
8
  import * as i0 from "@angular/core";
10
9
  import * as i1 from "../service/table.service";
11
- import * as i2 from "../../icon/icon/icon.component";
10
+ import * as i2 from "../../dropdown/dropdown/dropdown.component";
12
11
  import * as i3 from "../head-cell-host/head-cell-host.component";
13
- import * as i4 from "../../dropdown/dropdown/dropdown.component";
14
- import * as i5 from "../../button/button/button.component";
15
- import * as i6 from "../head-cell-dropdown/head-cell-dropdown.component";
12
+ import * as i4 from "../../icon/icon/icon.component";
13
+ import * as i5 from "../head-cell-dropdown/head-cell-dropdown.component";
14
+ import * as i6 from "../../dropdown/dropdown-head.directive";
16
15
  import * as i7 from "@angular/common";
17
- import * as i8 from "../../dropdown/dropdown-head.directive";
18
- import * as i9 from "../../dropdown/dropdown-content.directive";
19
- import * as i10 from "../../../directive/resize-drag/resize-drag.directive";
16
+ import * as i8 from "../../dropdown/dropdown-content.directive";
17
+ import * as i9 from "../../../directive/resize-drag/resize-drag.directive";
20
18
  export class HeadCellComponent {
21
19
  constructor(_svc, _app, _elementRef) {
22
20
  this._svc = _svc;
@@ -85,11 +83,6 @@ export class HeadCellComponent {
85
83
  autosizeAllColumns() {
86
84
  this._svc.autosizeAllColumns(this._elementRef.nativeElement);
87
85
  }
88
- sortColumn(column, event) {
89
- if (!event.defaultPrevented) {
90
- this._svc.sort(new SortEvent(this.column, event.shiftKey));
91
- }
92
- }
93
86
  resizeStart(event) {
94
87
  const rect = this._elementRef.nativeElement.getBoundingClientRect();
95
88
  this._startPosition = rect.x;
@@ -97,8 +90,10 @@ export class HeadCellComponent {
97
90
  }
98
91
  resizeProcess(event) {
99
92
  if (this._startPosition && event.pageX > 0) {
100
- this._svc.resizeColumn(new ColumnResizeEvent(this.column, event.pageX - this._startPosition));
101
- this._app.tick();
93
+ requestAnimationFrame(() => {
94
+ this._svc.resizeColumn(new ColumnResizeEvent(this.column, event.pageX - this._startPosition));
95
+ this._app.tick();
96
+ });
102
97
  }
103
98
  }
104
99
  resizeEnd() {
@@ -106,14 +101,19 @@ export class HeadCellComponent {
106
101
  }
107
102
  }
108
103
  HeadCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: HeadCellComponent, deps: [{ token: i1.TableService }, { token: i0.ApplicationRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
109
- HeadCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: HeadCellComponent, selector: "teta-head-cell", inputs: { column: "column", showHeadCellMenu: "showHeadCellMenu" }, host: { listeners: { "dragstart": "dragstart($event)", "dragenter": "dragenter($event)", "dragover": "allowDrop($event)", "dragleave": "dragleave($event)", "dragend": "dragend($event)", "drop": "drop($event)" } }, ngImport: i0, template: "<div draggable=\"true\" class=\"row row_auto\">\n <div class=\"table-head__cell__wrapper\"\n [ngClass]=\"column.headCellClass\"\n (click)=\"sortColumn(column, $event)\">\n <teta-icon *ngIf=\"iconName | async as icon\"\n [palette]=\"'text'\"\n [name]=\"icon\"></teta-icon>\n <teta-head-cell-host [column]=\"column\"></teta-head-cell-host>\n <teta-dropdown *ngIf=\"showHeadCellMenu\"\n [verticalAlign]=\"verticalAlign.bottom\"\n [appendToBody]=\"true\"\n [(open)]=\"dropDownOpen\"\n [align]=\"align.right\"\n (click)=\"$event.preventDefault()\"\n [class.table-head__cell__menu_open]=\"dropDownOpen\"\n class=\"table-head__cell__menu\">\n <button tetaDropdownHead teta-button\n [square]=\"true\"\n [palette]=\"'text'\"\n [view]=\"'ghost'\">\n <teta-icon [palette]=\"'text'\" [name]=\"'menu'\"></teta-icon>\n </button>\n <teta-head-cell-dropdown tetaDropdownContent\n (autosize)=\"autosizeColumn()\"\n (autosizeAll)=\"autosizeAllColumns()\"\n [column]=\"column\"\n [columns]=\"columns | async\"\n [state]=\"state | async\"\n [(dropDownOpen)]=\"dropDownOpen\"></teta-head-cell-dropdown>\n </teta-dropdown>\n </div>\n <div class=\"drop-area\"\n draggable=\"false\"\n [class.drop-area_left]=\"showDrag === 'left'\"\n [class.drop-area_right]=\"showDrag === 'right'\"\n *ngIf=\"showDrag\"></div>\n</div>\n<div class=\"table-head__cell__resize\"\n draggable=\"false\"\n (dragstart)=\"$event.preventDefault();$event.stopPropagation()\"\n (drag)=\"$event.preventDefault();$event.stopPropagation()\"\n [tetaResizeDrag]=\"'vertical'\"\n (resizeStart)=\"resizeStart($event)\"\n (resizeProcess)=\"resizeProcess($event)\"\n (resizeEnd)=\"resizeEnd()\"></div>\n", styles: [".drop-area{position:absolute;width:1px;background:var(--color-text-50);top:0;bottom:0;z-index:10}.drop-area_left{left:-1px}.drop-area_right{right:-1px}\n"], components: [{ type: i2.IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }, { type: i3.HeadCellHostComponent, selector: "teta-head-cell-host", inputs: ["column"] }, { type: i4.DropdownComponent, selector: "teta-dropdown" }, { type: i5.ButtonComponent, selector: "button[teta-button], teta-button", inputs: ["palette", "class", "view", "square"] }, { type: i6.HeadCellDropdownComponent, selector: "teta-head-cell-dropdown", inputs: ["columns", "column", "state", "dropDownOpen"], outputs: ["dropDownOpenChange", "autosize", "autosizeAll"] }], directives: [{ type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.DropdownHeadDirective, selector: "[tetaDropdownHead]" }, { type: i9.DropdownContentDirective, selector: "[tetaDropdownContent]" }, { type: i10.ResizeDragDirective, selector: "[tetaResizeDrag]", inputs: ["tetaResizeDrag"], outputs: ["resizeStart", "resizeProcess", "resizeEnd"] }], pipes: { "async": i7.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
104
+ HeadCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: HeadCellComponent, selector: "teta-head-cell", inputs: { column: "column", showHeadCellMenu: "showHeadCellMenu", data: "data" }, host: { listeners: { "dragstart": "dragstart($event)", "dragenter": "dragenter($event)", "dragover": "allowDrop($event)", "dragleave": "dragleave($event)", "dragend": "dragend($event)", "drop": "drop($event)" }, properties: { "class.table-head__cell_active": "this.dropDownOpen" } }, ngImport: i0, template: "<div draggable=\"true\" class=\"row row_auto\">\n <teta-dropdown [autoCloseIgnore]=\"['enter']\"\n [verticalAlign]=\"verticalAlign.bottom\"\n [appendToBody]=\"true\"\n [(open)]=\"dropDownOpen\"\n [align]=\"align.left\"\n (click)=\"$event.preventDefault()\"\n [class.table-head__cell__menu_open]=\"dropDownOpen\"\n class=\"column column_auto justify-content-center\">\n <div tetaDropdownHead class=\"table-head__cell__wrapper\"\n [ngClass]=\"column.headCellClass\">\n <teta-head-cell-host [column]=\"column\" [data]=\"data\"></teta-head-cell-host>\n <teta-icon *ngIf=\"iconName | async as icon\"\n [palette]=\"'text'\"\n [name]=\"icon\"></teta-icon>\n </div>\n <teta-head-cell-dropdown tetaDropdownContent\n *ngIf=\"showHeadCellMenu\"\n (autosize)=\"autosizeColumn()\"\n (autosizeAll)=\"autosizeAllColumns()\"\n [data]=\"data\"\n [column]=\"column\"\n [columns]=\"columns | async\"\n [state]=\"state | async\"\n [(dropDownOpen)]=\"dropDownOpen\"></teta-head-cell-dropdown>\n </teta-dropdown>\n <div class=\"drop-area\"\n draggable=\"false\"\n [class.drop-area_left]=\"showDrag === 'left'\"\n [class.drop-area_right]=\"showDrag === 'right'\"\n *ngIf=\"showDrag\"></div>\n</div>\n<div class=\"table-head__cell__resize\"\n draggable=\"false\"\n (dragstart)=\"$event.preventDefault();$event.stopPropagation()\"\n (drag)=\"$event.preventDefault();$event.stopPropagation()\"\n [tetaResizeDrag]=\"'vertical'\"\n (resizeStart)=\"resizeStart($event)\"\n (resizeProcess)=\"resizeProcess($event)\"\n (resizeEnd)=\"resizeEnd()\"></div>\n", styles: [".drop-area{position:absolute;width:1px;background:var(--color-text-50);top:0;bottom:0;z-index:10}.drop-area_left{left:-1px}.drop-area_right{right:-1px}\n"], components: [{ type: i2.DropdownComponent, selector: "teta-dropdown" }, { type: i3.HeadCellHostComponent, selector: "teta-head-cell-host", inputs: ["column", "data"] }, { type: i4.IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }, { type: i5.HeadCellDropdownComponent, selector: "teta-head-cell-dropdown", inputs: ["columns", "column", "state", "data", "dropDownOpen"], outputs: ["dropDownOpenChange", "autosize", "autosizeAll"] }], directives: [{ type: i6.DropdownHeadDirective, selector: "[tetaDropdownHead]" }, { type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.DropdownContentDirective, selector: "[tetaDropdownContent]" }, { type: i9.ResizeDragDirective, selector: "[tetaResizeDrag]", inputs: ["tetaResizeDrag"], outputs: ["resizeStart", "resizeProcess", "resizeEnd"] }], pipes: { "async": i7.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
110
105
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: HeadCellComponent, decorators: [{
111
106
  type: Component,
112
- args: [{ selector: 'teta-head-cell', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div draggable=\"true\" class=\"row row_auto\">\n <div class=\"table-head__cell__wrapper\"\n [ngClass]=\"column.headCellClass\"\n (click)=\"sortColumn(column, $event)\">\n <teta-icon *ngIf=\"iconName | async as icon\"\n [palette]=\"'text'\"\n [name]=\"icon\"></teta-icon>\n <teta-head-cell-host [column]=\"column\"></teta-head-cell-host>\n <teta-dropdown *ngIf=\"showHeadCellMenu\"\n [verticalAlign]=\"verticalAlign.bottom\"\n [appendToBody]=\"true\"\n [(open)]=\"dropDownOpen\"\n [align]=\"align.right\"\n (click)=\"$event.preventDefault()\"\n [class.table-head__cell__menu_open]=\"dropDownOpen\"\n class=\"table-head__cell__menu\">\n <button tetaDropdownHead teta-button\n [square]=\"true\"\n [palette]=\"'text'\"\n [view]=\"'ghost'\">\n <teta-icon [palette]=\"'text'\" [name]=\"'menu'\"></teta-icon>\n </button>\n <teta-head-cell-dropdown tetaDropdownContent\n (autosize)=\"autosizeColumn()\"\n (autosizeAll)=\"autosizeAllColumns()\"\n [column]=\"column\"\n [columns]=\"columns | async\"\n [state]=\"state | async\"\n [(dropDownOpen)]=\"dropDownOpen\"></teta-head-cell-dropdown>\n </teta-dropdown>\n </div>\n <div class=\"drop-area\"\n draggable=\"false\"\n [class.drop-area_left]=\"showDrag === 'left'\"\n [class.drop-area_right]=\"showDrag === 'right'\"\n *ngIf=\"showDrag\"></div>\n</div>\n<div class=\"table-head__cell__resize\"\n draggable=\"false\"\n (dragstart)=\"$event.preventDefault();$event.stopPropagation()\"\n (drag)=\"$event.preventDefault();$event.stopPropagation()\"\n [tetaResizeDrag]=\"'vertical'\"\n (resizeStart)=\"resizeStart($event)\"\n (resizeProcess)=\"resizeProcess($event)\"\n (resizeEnd)=\"resizeEnd()\"></div>\n", styles: [".drop-area{position:absolute;width:1px;background:var(--color-text-50);top:0;bottom:0;z-index:10}.drop-area_left{left:-1px}.drop-area_right{right:-1px}\n"] }]
107
+ args: [{ selector: 'teta-head-cell', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div draggable=\"true\" class=\"row row_auto\">\n <teta-dropdown [autoCloseIgnore]=\"['enter']\"\n [verticalAlign]=\"verticalAlign.bottom\"\n [appendToBody]=\"true\"\n [(open)]=\"dropDownOpen\"\n [align]=\"align.left\"\n (click)=\"$event.preventDefault()\"\n [class.table-head__cell__menu_open]=\"dropDownOpen\"\n class=\"column column_auto justify-content-center\">\n <div tetaDropdownHead class=\"table-head__cell__wrapper\"\n [ngClass]=\"column.headCellClass\">\n <teta-head-cell-host [column]=\"column\" [data]=\"data\"></teta-head-cell-host>\n <teta-icon *ngIf=\"iconName | async as icon\"\n [palette]=\"'text'\"\n [name]=\"icon\"></teta-icon>\n </div>\n <teta-head-cell-dropdown tetaDropdownContent\n *ngIf=\"showHeadCellMenu\"\n (autosize)=\"autosizeColumn()\"\n (autosizeAll)=\"autosizeAllColumns()\"\n [data]=\"data\"\n [column]=\"column\"\n [columns]=\"columns | async\"\n [state]=\"state | async\"\n [(dropDownOpen)]=\"dropDownOpen\"></teta-head-cell-dropdown>\n </teta-dropdown>\n <div class=\"drop-area\"\n draggable=\"false\"\n [class.drop-area_left]=\"showDrag === 'left'\"\n [class.drop-area_right]=\"showDrag === 'right'\"\n *ngIf=\"showDrag\"></div>\n</div>\n<div class=\"table-head__cell__resize\"\n draggable=\"false\"\n (dragstart)=\"$event.preventDefault();$event.stopPropagation()\"\n (drag)=\"$event.preventDefault();$event.stopPropagation()\"\n [tetaResizeDrag]=\"'vertical'\"\n (resizeStart)=\"resizeStart($event)\"\n (resizeProcess)=\"resizeProcess($event)\"\n (resizeEnd)=\"resizeEnd()\"></div>\n", styles: [".drop-area{position:absolute;width:1px;background:var(--color-text-50);top:0;bottom:0;z-index:10}.drop-area_left{left:-1px}.drop-area_right{right:-1px}\n"] }]
113
108
  }], ctorParameters: function () { return [{ type: i1.TableService }, { type: i0.ApplicationRef }, { type: i0.ElementRef }]; }, propDecorators: { column: [{
114
109
  type: Input
115
110
  }], showHeadCellMenu: [{
116
111
  type: Input
112
+ }], data: [{
113
+ type: Input
114
+ }], dropDownOpen: [{
115
+ type: HostBinding,
116
+ args: ['class.table-head__cell_active']
117
117
  }], dragstart: [{
118
118
  type: HostListener,
119
119
  args: ['dragstart', ['$event']]
@@ -133,4 +133,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
133
133
  type: HostListener,
134
134
  args: ['drop', ['$event']]
135
135
  }] } });
136
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZC1jZWxsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGFibGUvaGVhZC1jZWxsL2hlYWQtY2VsbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RhYmxlL2hlYWQtY2VsbC9oZWFkLWNlbGwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssR0FHTixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUdwRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDekUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3hELE9BQU8sRUFBRSxhQUFhLEVBQWMsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7OztBQVFqRCxNQUFNLE9BQU8saUJBQWlCO0lBaUI1QixZQUNVLElBQXFCLEVBQ3JCLElBQW9CLEVBQ3BCLFdBQXVCO1FBRnZCLFNBQUksR0FBSixJQUFJLENBQWlCO1FBQ3JCLFNBQUksR0FBSixJQUFJLENBQWdCO1FBQ3BCLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBakJqQyxrQkFBYSxHQUFHLGFBQWEsQ0FBQztRQUM5QixVQUFLLEdBQUcsS0FBSyxDQUFDO1FBT2QsYUFBUSxHQUE0QixJQUFJLENBQUM7UUFHakMsV0FBTSxHQUFHLElBQUksQ0FBQztJQU9uQixDQUFDO0lBRW1DLFNBQVMsQ0FBQyxLQUFnQjtRQUMvRCxJQUFJLEtBQUssSUFBSSxLQUFLLENBQUMsWUFBWSxFQUFFO1lBQy9CLEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztTQUM1QztRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRXNDLFNBQVMsQ0FBQyxLQUFnQjtRQUMvRCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDckUsQ0FBQztJQUVxQyxTQUFTLENBQUMsS0FBZ0I7UUFDOUQsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNyQyxJQUFJLENBQUMsUUFBUTtnQkFDWCxLQUFLLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7U0FDekU7SUFDSCxDQUFDO0lBRXNDLFNBQVMsQ0FBQyxLQUFnQjtRQUMvRCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7SUFDdkIsQ0FBQztJQUVvQyxPQUFPLENBQUMsS0FBZ0I7UUFDM0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7SUFDdkIsQ0FBQztJQUVpQyxJQUFJLENBQUMsS0FBZ0I7UUFDckQsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLFlBQVksSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0RSxJQUFJLElBQUksS0FBSyxNQUFNLEVBQUU7WUFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUSxLQUFLLE1BQU0sQ0FBQyxDQUFDO1NBQ2hFO1FBQ0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7SUFDdkIsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDN0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FDOUIsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FDbkQsQ0FBQztRQUNGLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQzdCLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FDdkQsQ0FBQztRQUNGLElBQUksQ0FBQyxRQUFRLEdBQUcsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ2pFLEdBQUcsQ0FBQyxDQUFDLElBQTBCLEVBQUUsRUFBRTtZQUNqQyxNQUFNLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxHQUFHLElBQUksQ0FBQztZQUNuQyxJQUFJLFNBQVMsSUFBSSxRQUFRLEVBQUU7Z0JBQ3pCLE9BQU8sU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDO2FBQ3BFO1lBQ0QsSUFBSSxTQUFTLEVBQUU7Z0JBQ2IsT0FBTyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQzthQUN4RDtZQUNELElBQUksUUFBUSxFQUFFO2dCQUNaLE9BQU8sYUFBYSxDQUFDO2FBQ3RCO1lBQ0QsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsVUFBVSxDQUFDLE1BQW1CLEVBQUUsS0FBaUI7UUFDL0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRTtZQUMzQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1NBQzVEO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFpQjtRQUMzQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQ3BFLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQWlCO1FBQzdCLElBQUksSUFBSSxDQUFDLGNBQWMsSUFBSSxLQUFLLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRTtZQUMxQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FDcEIsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUN0RSxDQUFDO1lBQ0YsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNsQjtJQUNILENBQUM7SUFFRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7SUFDN0IsQ0FBQzs7OEdBeEhVLGlCQUFpQjtrR0FBakIsaUJBQWlCLGdWQzVCOUIsdWtFQTZDQTsyRkRqQmEsaUJBQWlCO2tCQU43QixTQUFTOytCQUNFLGdCQUFnQixtQkFHVCx1QkFBdUIsQ0FBQyxNQUFNO3lKQUd0QyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQXFCaUMsU0FBUztzQkFBL0MsWUFBWTt1QkFBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBT0UsU0FBUztzQkFBL0MsWUFBWTt1QkFBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBSUMsU0FBUztzQkFBOUMsWUFBWTt1QkFBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBUUcsU0FBUztzQkFBL0MsWUFBWTt1QkFBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBS0EsT0FBTztzQkFBM0MsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBSUQsSUFBSTtzQkFBckMsWUFBWTt1QkFBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBcHBsaWNhdGlvblJlZixcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGFibGVDb2x1bW4gfSBmcm9tICcuLi9jb250cmFjdC90YWJsZS1jb2x1bW4nO1xuaW1wb3J0IHsgQ29sdW1uUmVzaXplRXZlbnQgfSBmcm9tICcuLi9jb250cmFjdC9jb2x1bW4tcmVzaXplLWV2ZW50JztcbmltcG9ydCB7IEZpbHRlclN0YXRlIH0gZnJvbSAnLi4vLi4vZmlsdGVyL2NvbnRhcmN0L2ZpbHRlci1zdGF0ZSc7XG5pbXBvcnQgeyBUYWJsZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlL3RhYmxlLnNlcnZpY2UnO1xuaW1wb3J0IHsgU29ydEV2ZW50IH0gZnJvbSAnLi4vY29udHJhY3Qvc29ydC1ldmVudCc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBTb3J0UGFyYW0gfSBmcm9tICcuLi8uLi9maWx0ZXIvY29udGFyY3Qvc29ydC1wYXJhbSc7XG5pbXBvcnQgeyBTdGF0ZVV0aWwgfSBmcm9tICcuLi91dGlsL3N0YXRlLXV0aWwnO1xuaW1wb3J0IHsgVmVydGljYWxBbGlnbiB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9lbnVtL3ZlcnRpY2FsLWFsaWduLmVudW0nO1xuaW1wb3J0IHsgQWxpZ24gfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZW51bS9hbGlnbi5lbnVtJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0YS1oZWFkLWNlbGwnLFxuICB0ZW1wbGF0ZVVybDogJy4vaGVhZC1jZWxsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaGVhZC1jZWxsLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBIZWFkQ2VsbENvbXBvbmVudDxUPiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgY29sdW1uOiBUYWJsZUNvbHVtbjtcbiAgQElucHV0KCkgc2hvd0hlYWRDZWxsTWVudTogYm9vbGVhbjtcbiAgdmVydGljYWxBbGlnbiA9IFZlcnRpY2FsQWxpZ247XG4gIGFsaWduID0gQWxpZ247XG4gIHN0YXRlOiBPYnNlcnZhYmxlPEZpbHRlclN0YXRlPjtcbiAgY29sdW1uczogT2JzZXJ2YWJsZTxUYWJsZUNvbHVtbltdPjtcbiAgZmlsdGVyZWQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIHNvcnRQYXJhbTogT2JzZXJ2YWJsZTxTb3J0UGFyYW0+O1xuICBpY29uTmFtZTogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICBkcm9wRG93bk9wZW46IGJvb2xlYW47XG4gIHNob3dEcmFnOiAnbGVmdCcgfCAncmlnaHQnIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgcmVjdDogYW55O1xuXG4gIHByaXZhdGUgX2FsaXZlID0gdHJ1ZTtcbiAgcHJpdmF0ZSBfc3RhcnRQb3NpdGlvbjogbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX3N2YzogVGFibGVTZXJ2aWNlPFQ+LFxuICAgIHByaXZhdGUgX2FwcDogQXBwbGljYXRpb25SZWYsXG4gICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZlxuICApIHt9XG5cbiAgQEhvc3RMaXN0ZW5lcignZHJhZ3N0YXJ0JywgWyckZXZlbnQnXSkgZHJhZ3N0YXJ0KGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQgJiYgZXZlbnQuZGF0YVRyYW5zZmVyKSB7XG4gICAgICBldmVudC5kYXRhVHJhbnNmZXIuc2V0RGF0YSgndGV4dCcsICdtb3ZlJyk7XG4gICAgfVxuICAgIHRoaXMuX3N2Yy5kcmFnU3RhcnQodGhpcy5jb2x1bW4pO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZHJhZ2VudGVyJywgWyckZXZlbnQnXSkgZHJhZ2VudGVyKGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnJlY3QgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkcmFnb3ZlcicsIFsnJGV2ZW50J10pIGFsbG93RHJvcChldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBpZiAodGhpcy5yZWN0ICYmIHRoaXMuX3N2Yy5kcmFnU291cmNlKSB7XG4gICAgICB0aGlzLnNob3dEcmFnID1cbiAgICAgICAgZXZlbnQuY2xpZW50WCA+PSB0aGlzLnJlY3QueCArIHRoaXMucmVjdC53aWR0aCAvIDIgPyAncmlnaHQnIDogJ2xlZnQnO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RyYWdsZWF2ZScsIFsnJGV2ZW50J10pIGRyYWdsZWF2ZShldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLnNob3dEcmFnID0gbnVsbDtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RyYWdlbmQnLCBbJyRldmVudCddKSBkcmFnZW5kKGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dEcmFnID0gbnVsbDtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2Ryb3AnLCBbJyRldmVudCddKSBkcm9wKGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBtb3ZlID0gZXZlbnQuZGF0YVRyYW5zZmVyICYmIGV2ZW50LmRhdGFUcmFuc2Zlci5nZXREYXRhKCd0ZXh0Jyk7XG4gICAgaWYgKG1vdmUgPT09ICdtb3ZlJykge1xuICAgICAgdGhpcy5fc3ZjLnJlb3JkZXJDb2x1bW4odGhpcy5jb2x1bW4sIHRoaXMuc2hvd0RyYWcgPT09ICdsZWZ0Jyk7XG4gICAgfVxuICAgIHRoaXMuc2hvd0RyYWcgPSBudWxsO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jb2x1bW5zID0gdGhpcy5fc3ZjLmNvbHVtbnM7XG4gICAgdGhpcy5zdGF0ZSA9IHRoaXMuX3N2Yy5zdGF0ZTtcbiAgICB0aGlzLnNvcnRQYXJhbSA9IHRoaXMuc3RhdGUucGlwZShcbiAgICAgIG1hcCgoXykgPT4gU3RhdGVVdGlsLmdldFNvcnRTdGF0ZShfLCB0aGlzLmNvbHVtbikpXG4gICAgKTtcbiAgICB0aGlzLmZpbHRlcmVkID0gdGhpcy5zdGF0ZS5waXBlKFxuICAgICAgbWFwKChfKSA9PiBTdGF0ZVV0aWwuaXNDb2x1bW5GaWx0ZXJlZChfLCB0aGlzLmNvbHVtbikpXG4gICAgKTtcbiAgICB0aGlzLmljb25OYW1lID0gY29tYmluZUxhdGVzdChbdGhpcy5zb3J0UGFyYW0sIHRoaXMuZmlsdGVyZWRdKS5waXBlKFxuICAgICAgbWFwKChkYXRhOiBbU29ydFBhcmFtLCBib29sZWFuXSkgPT4ge1xuICAgICAgICBjb25zdCBbc29ydFBhcmFtLCBmaWx0ZXJlZF0gPSBkYXRhO1xuICAgICAgICBpZiAoc29ydFBhcmFtICYmIGZpbHRlcmVkKSB7XG4gICAgICAgICAgcmV0dXJuIHNvcnRQYXJhbS5hc2MgPyAnZmlsdGVyU29ydFVwQ29sb3InIDogJ2ZpbHRlclNvcnREb3duQ29sb3InO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzb3J0UGFyYW0pIHtcbiAgICAgICAgICByZXR1cm4gc29ydFBhcmFtLmFzYyA/ICdzb3J0VXBDb2xvcicgOiAnc29ydERvd25Db2xvcic7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGZpbHRlcmVkKSB7XG4gICAgICAgICAgcmV0dXJuICdmaWx0ZXJDb2xvcic7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuICcnO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fYWxpdmUgPSBmYWxzZTtcbiAgfVxuXG4gIGF1dG9zaXplQ29sdW1uKCkge1xuICAgIHRoaXMuX3N2Yy5hdXRvc2l6ZUNvbHVtbih0aGlzLmNvbHVtbiwgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgfVxuXG4gIGF1dG9zaXplQWxsQ29sdW1ucygpIHtcbiAgICB0aGlzLl9zdmMuYXV0b3NpemVBbGxDb2x1bW5zKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gIH1cblxuICBzb3J0Q29sdW1uKGNvbHVtbjogVGFibGVDb2x1bW4sIGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgaWYgKCFldmVudC5kZWZhdWx0UHJldmVudGVkKSB7XG4gICAgICB0aGlzLl9zdmMuc29ydChuZXcgU29ydEV2ZW50KHRoaXMuY29sdW1uLCBldmVudC5zaGlmdEtleSkpO1xuICAgIH1cbiAgfVxuXG4gIHJlc2l6ZVN0YXJ0KGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgcmVjdCA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICB0aGlzLl9zdGFydFBvc2l0aW9uID0gcmVjdC54O1xuICAgIHRoaXMuX3N2Yy5sb2NrUHJldmlvdXNDb2x1bW5zKHRoaXMuY29sdW1uLCB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICB9XG5cbiAgcmVzaXplUHJvY2VzcyhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9zdGFydFBvc2l0aW9uICYmIGV2ZW50LnBhZ2VYID4gMCkge1xuICAgICAgdGhpcy5fc3ZjLnJlc2l6ZUNvbHVtbihcbiAgICAgICAgbmV3IENvbHVtblJlc2l6ZUV2ZW50KHRoaXMuY29sdW1uLCBldmVudC5wYWdlWCAtIHRoaXMuX3N0YXJ0UG9zaXRpb24pXG4gICAgICApO1xuICAgICAgdGhpcy5fYXBwLnRpY2soKTtcbiAgICB9XG4gIH1cblxuICByZXNpemVFbmQoKSB7XG4gICAgdGhpcy5fc3RhcnRQb3NpdGlvbiA9IG51bGw7XG4gIH1cbn1cbiIsIjxkaXYgZHJhZ2dhYmxlPVwidHJ1ZVwiIGNsYXNzPVwicm93IHJvd19hdXRvXCI+XG4gIDxkaXYgY2xhc3M9XCJ0YWJsZS1oZWFkX19jZWxsX193cmFwcGVyXCJcbiAgICAgICBbbmdDbGFzc109XCJjb2x1bW4uaGVhZENlbGxDbGFzc1wiXG4gICAgICAgKGNsaWNrKT1cInNvcnRDb2x1bW4oY29sdW1uLCAkZXZlbnQpXCI+XG4gICAgPHRldGEtaWNvbiAqbmdJZj1cImljb25OYW1lIHwgYXN5bmMgYXMgaWNvblwiXG4gICAgICAgICAgICAgICBbcGFsZXR0ZV09XCIndGV4dCdcIlxuICAgICAgICAgICAgICAgW25hbWVdPVwiaWNvblwiPjwvdGV0YS1pY29uPlxuICAgIDx0ZXRhLWhlYWQtY2VsbC1ob3N0IFtjb2x1bW5dPVwiY29sdW1uXCI+PC90ZXRhLWhlYWQtY2VsbC1ob3N0PlxuICAgIDx0ZXRhLWRyb3Bkb3duICpuZ0lmPVwic2hvd0hlYWRDZWxsTWVudVwiXG4gICAgICAgICAgICAgICAgICAgW3ZlcnRpY2FsQWxpZ25dPVwidmVydGljYWxBbGlnbi5ib3R0b21cIlxuICAgICAgICAgICAgICAgICAgIFthcHBlbmRUb0JvZHldPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgWyhvcGVuKV09XCJkcm9wRG93bk9wZW5cIlxuICAgICAgICAgICAgICAgICAgIFthbGlnbl09XCJhbGlnbi5yaWdodFwiXG4gICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCJcbiAgICAgICAgICAgICAgICAgICBbY2xhc3MudGFibGUtaGVhZF9fY2VsbF9fbWVudV9vcGVuXT1cImRyb3BEb3duT3BlblwiXG4gICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1oZWFkX19jZWxsX19tZW51XCI+XG4gICAgICA8YnV0dG9uIHRldGFEcm9wZG93bkhlYWQgdGV0YS1idXR0b25cbiAgICAgICAgICAgICAgW3NxdWFyZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgW3BhbGV0dGVdPVwiJ3RleHQnXCJcbiAgICAgICAgICAgICAgW3ZpZXddPVwiJ2dob3N0J1wiPlxuICAgICAgICA8dGV0YS1pY29uIFtwYWxldHRlXT1cIid0ZXh0J1wiIFtuYW1lXT1cIidtZW51J1wiPjwvdGV0YS1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8dGV0YS1oZWFkLWNlbGwtZHJvcGRvd24gdGV0YURyb3Bkb3duQ29udGVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhdXRvc2l6ZSk9XCJhdXRvc2l6ZUNvbHVtbigpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYXV0b3NpemVBbGwpPVwiYXV0b3NpemVBbGxDb2x1bW5zKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2x1bW5dPVwiY29sdW1uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29sdW1uc109XCJjb2x1bW5zIHwgYXN5bmNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdGF0ZV09XCJzdGF0ZSB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKGRyb3BEb3duT3BlbildPVwiZHJvcERvd25PcGVuXCI+PC90ZXRhLWhlYWQtY2VsbC1kcm9wZG93bj5cbiAgICA8L3RldGEtZHJvcGRvd24+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZHJvcC1hcmVhXCJcbiAgICAgICBkcmFnZ2FibGU9XCJmYWxzZVwiXG4gICAgICAgW2NsYXNzLmRyb3AtYXJlYV9sZWZ0XT1cInNob3dEcmFnID09PSAnbGVmdCdcIlxuICAgICAgIFtjbGFzcy5kcm9wLWFyZWFfcmlnaHRdPVwic2hvd0RyYWcgPT09ICdyaWdodCdcIlxuICAgICAgICpuZ0lmPVwic2hvd0RyYWdcIj48L2Rpdj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cInRhYmxlLWhlYWRfX2NlbGxfX3Jlc2l6ZVwiXG4gICAgIGRyYWdnYWJsZT1cImZhbHNlXCJcbiAgICAgKGRyYWdzdGFydCk9XCIkZXZlbnQucHJldmVudERlZmF1bHQoKTskZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAoZHJhZyk9XCIkZXZlbnQucHJldmVudERlZmF1bHQoKTskZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICBbdGV0YVJlc2l6ZURyYWddPVwiJ3ZlcnRpY2FsJ1wiXG4gICAgIChyZXNpemVTdGFydCk9XCJyZXNpemVTdGFydCgkZXZlbnQpXCJcbiAgICAgKHJlc2l6ZVByb2Nlc3MpPVwicmVzaXplUHJvY2VzcygkZXZlbnQpXCJcbiAgICAgKHJlc2l6ZUVuZCk9XCJyZXNpemVFbmQoKVwiPjwvZGl2PlxuIl19
136
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZC1jZWxsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGFibGUvaGVhZC1jZWxsL2hlYWQtY2VsbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RhYmxlL2hlYWQtY2VsbC9oZWFkLWNlbGwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBQ0csV0FBVyxFQUN2QixZQUFZLEVBQ1osS0FBSyxHQUdOLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBR2xFLE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuQyxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDN0MsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RCxPQUFPLEVBQUMsYUFBYSxFQUFhLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7OztBQVMvQyxNQUFNLE9BQU8saUJBQWlCO0lBb0I1QixZQUNVLElBQXFCLEVBQ3JCLElBQW9CLEVBQ3BCLFdBQXVCO1FBRnZCLFNBQUksR0FBSixJQUFJLENBQWlCO1FBQ3JCLFNBQUksR0FBSixJQUFJLENBQWdCO1FBQ3BCLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBbEJqQyxrQkFBYSxHQUFHLGFBQWEsQ0FBQztRQUM5QixVQUFLLEdBQUcsS0FBSyxDQUFDO1FBUWQsYUFBUSxHQUE0QixJQUFJLENBQUM7UUFHakMsV0FBTSxHQUFHLElBQUksQ0FBQztJQVF0QixDQUFDO0lBRXNDLFNBQVMsQ0FBQyxLQUFnQjtRQUMvRCxJQUFJLEtBQUssSUFBSSxLQUFL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RUFBRSxDQUFDO1lBQ25CLENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRUQsU0FBUztRQUNQLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO0lBQzdCLENBQUM7OzhHQXhIVSxpQkFBaUI7a0dBQWpCLGlCQUFpQixvYUM1QjlCLHc3REF3Q0E7MkZEWmEsaUJBQWlCO2tCQU43QixTQUFTOytCQUNFLGdCQUFnQixtQkFHVCx1QkFBdUIsQ0FBQyxNQUFNO3lKQUd0QyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFVTixZQUFZO3NCQURYLFdBQVc7dUJBQUMsK0JBQStCO2dCQWVMLFNBQVM7c0JBQS9DLFlBQVk7dUJBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQU9FLFNBQVM7c0JBQS9DLFlBQVk7dUJBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQUlDLFNBQVM7c0JBQTlDLFlBQVk7dUJBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVFHLFNBQVM7c0JBQS9DLFlBQVk7dUJBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQUtBLE9BQU87c0JBQTNDLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQUlELElBQUk7c0JBQXJDLFlBQVk7dUJBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQXBwbGljYXRpb25SZWYsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1RhYmxlQ29sdW1ufSBmcm9tICcuLi9jb250cmFjdC90YWJsZS1jb2x1bW4nO1xuaW1wb3J0IHtDb2x1bW5SZXNpemVFdmVudH0gZnJvbSAnLi4vY29udHJhY3QvY29sdW1uLXJlc2l6ZS1ldmVudCc7XG5pbXBvcnQge0ZpbHRlclN0YXRlfSBmcm9tICcuLi8uLi9maWx0ZXIvY29udGFyY3QvZmlsdGVyLXN0YXRlJztcbmltcG9ydCB7VGFibGVTZXJ2aWNlfSBmcm9tICcuLi9zZXJ2aWNlL3RhYmxlLnNlcnZpY2UnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7U29ydFBhcmFtfSBmcm9tICcuLi8uLi9maWx0ZXIvY29udGFyY3Qvc29ydC1wYXJhbSc7XG5pbXBvcnQge1N0YXRlVXRpbH0gZnJvbSAnLi4vdXRpbC9zdGF0ZS11dGlsJztcbmltcG9ydCB7VmVydGljYWxBbGlnbn0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2VudW0vdmVydGljYWwtYWxpZ24uZW51bSc7XG5pbXBvcnQge0FsaWdufSBmcm9tICcuLi8uLi8uLi9jb21tb24vZW51bS9hbGlnbi5lbnVtJztcbmltcG9ydCB7Y29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1RhYmxlUm93fSBmcm9tICcuLi9jb250cmFjdC90YWJsZS1yb3cnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXRhLWhlYWQtY2VsbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9oZWFkLWNlbGwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9oZWFkLWNlbGwuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEhlYWRDZWxsQ29tcG9uZW50PFQ+IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBjb2x1bW46IFRhYmxlQ29sdW1uO1xuICBASW5wdXQoKSBzaG93SGVhZENlbGxNZW51OiBib29sZWFuO1xuICBASW5wdXQoKSBkYXRhOiBUYWJsZVJvdzxUPltdO1xuXG4gIHZlcnRpY2FsQWxpZ24gPSBWZXJ0aWNhbEFsaWduO1xuICBhbGlnbiA9IEFsaWduO1xuICBzdGF0ZTogT2JzZXJ2YWJsZTxGaWx0ZXJTdGF0ZT47XG4gIGNvbHVtbnM6IE9ic2VydmFibGU8VGFibGVDb2x1bW5bXT47XG4gIGZpbHRlcmVkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBzb3J0UGFyYW06IE9ic2VydmFibGU8U29ydFBhcmFtPjtcbiAgaWNvbk5hbWU6IE9ic2VydmFibGU8c3RyaW5nPjtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy50YWJsZS1oZWFkX19jZWxsX2FjdGl2ZScpXG4gIGRyb3BEb3duT3BlbjogYm9vbGVhbjtcbiAgc2hvd0RyYWc6ICdsZWZ0JyB8ICdyaWdodCcgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSByZWN0OiBhbnk7XG5cbiAgcHJpdmF0ZSBfYWxpdmUgPSB0cnVlO1xuICBwcml2YXRlIF9zdGFydFBvc2l0aW9uOiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfc3ZjOiBUYWJsZVNlcnZpY2U8VD4sXG4gICAgcHJpdmF0ZSBfYXBwOiBBcHBsaWNhdGlvblJlZixcbiAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmXG4gICkge1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZHJhZ3N0YXJ0JywgWyckZXZlbnQnXSkgZHJhZ3N0YXJ0KGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQgJiYgZXZlbnQuZGF0YVRyYW5zZmVyKSB7XG4gICAgICBldmVudC5kYXRhVHJhbnNmZXIuc2V0RGF0YSgndGV4dCcsICdtb3ZlJyk7XG4gICAgfVxuICAgIHRoaXMuX3N2Yy5kcmFnU3RhcnQodGhpcy5jb2x1bW4pO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZHJhZ2VudGVyJywgWyckZXZlbnQnXSkgZHJhZ2VudGVyKGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnJlY3QgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkcmFnb3ZlcicsIFsnJGV2ZW50J10pIGFsbG93RHJvcChldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBpZiAodGhpcy5yZWN0ICYmIHRoaXMuX3N2Yy5kcmFnU291cmNlKSB7XG4gICAgICB0aGlzLnNob3dEcmFnID1cbiAgICAgICAgZXZlbnQuY2xpZW50WCA+PSB0aGlzLnJlY3QueCArIHRoaXMucmVjdC53aWR0aCAvIDIgPyAncmlnaHQnIDogJ2xlZnQnO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RyYWdsZWF2ZScsIFsnJGV2ZW50J10pIGRyYWdsZWF2ZShldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLnNob3dEcmFnID0gbnVsbDtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RyYWdlbmQnLCBbJyRldmVudCddKSBkcmFnZW5kKGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dEcmFnID0gbnVsbDtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2Ryb3AnLCBbJyRldmVudCddKSBkcm9wKGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBtb3ZlID0gZXZlbnQuZGF0YVRyYW5zZmVyICYmIGV2ZW50LmRhdGFUcmFuc2Zlci5nZXREYXRhKCd0ZXh0Jyk7XG4gICAgaWYgKG1vdmUgPT09ICdtb3ZlJykge1xuICAgICAgdGhpcy5fc3ZjLnJlb3JkZXJDb2x1bW4odGhpcy5jb2x1bW4sIHRoaXMuc2hvd0RyYWcgPT09ICdsZWZ0Jyk7XG4gICAgfVxuICAgIHRoaXMuc2hvd0RyYWcgPSBudWxsO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jb2x1bW5zID0gdGhpcy5fc3ZjLmNvbHVtbnM7XG4gICAgdGhpcy5zdGF0ZSA9IHRoaXMuX3N2Yy5zdGF0ZTtcbiAgICB0aGlzLnNvcnRQYXJhbSA9IHRoaXMuc3RhdGUucGlwZShcbiAgICAgIG1hcCgoXykgPT4gU3RhdGVVdGlsLmdldFNvcnRTdGF0ZShfLCB0aGlzLmNvbHVtbikpXG4gICAgKTtcbiAgICB0aGlzLmZpbHRlcmVkID0gdGhpcy5zdGF0ZS5waXBlKFxuICAgICAgbWFwKChfKSA9PiBTdGF0ZVV0aWwuaXNDb2x1bW5GaWx0ZXJlZChfLCB0aGlzLmNvbHVtbikpXG4gICAgKTtcbiAgICB0aGlzLmljb25OYW1lID0gY29tYmluZUxhdGVzdChbdGhpcy5zb3J0UGFyYW0sIHRoaXMuZmlsdGVyZWRdKS5waXBlKFxuICAgICAgbWFwKChkYXRhOiBbU29ydFBhcmFtLCBib29sZWFuXSkgPT4ge1xuICAgICAgICBjb25zdCBbc29ydFBhcmFtLCBmaWx0ZXJlZF0gPSBkYXRhO1xuICAgICAgICBpZiAoc29ydFBhcmFtICYmIGZpbHRlcmVkKSB7XG4gICAgICAgICAgcmV0dXJuIHNvcnRQYXJhbS5hc2MgPyAnZmlsdGVyU29ydFVwQ29sb3InIDogJ2ZpbHRlclNvcnREb3duQ29sb3InO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzb3J0UGFyYW0pIHtcbiAgICAgICAgICByZXR1cm4gc29ydFBhcmFtLmFzYyA/ICdzb3J0VXBDb2xvcicgOiAnc29ydERvd25Db2xvcic7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGZpbHRlcmVkKSB7XG4gICAgICAgICAgcmV0dXJuICdmaWx0ZXJDb2xvcic7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuICcnO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fYWxpdmUgPSBmYWxzZTtcbiAgfVxuXG4gIGF1dG9zaXplQ29sdW1uKCkge1xuICAgIHRoaXMuX3N2Yy5hdXRvc2l6ZUNvbHVtbih0aGlzLmNvbHVtbiwgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgfVxuXG4gIGF1dG9zaXplQWxsQ29sdW1ucygpIHtcbiAgICB0aGlzLl9zdmMuYXV0b3NpemVBbGxDb2x1bW5zKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gIH1cblxuICByZXNpemVTdGFydChldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHJlY3QgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgdGhpcy5fc3RhcnRQb3NpdGlvbiA9IHJlY3QueDtcbiAgICB0aGlzLl9zdmMubG9ja1ByZXZpb3VzQ29sdW1ucyh0aGlzLmNvbHVtbiwgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgfVxuXG4gIHJlc2l6ZVByb2Nlc3MoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fc3RhcnRQb3NpdGlvbiAmJiBldmVudC5wYWdlWCA+IDApIHtcbiAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuX3N2Yy5yZXNpemVDb2x1bW4oXG4gICAgICAgICAgbmV3IENvbHVtblJlc2l6ZUV2ZW50KHRoaXMuY29sdW1uLCBldmVudC5wYWdlWCAtIHRoaXMuX3N0YXJ0UG9zaXRpb24pXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuX2FwcC50aWNrKCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICByZXNpemVFbmQoKSB7XG4gICAgdGhpcy5fc3RhcnRQb3NpdGlvbiA9IG51bGw7XG4gIH1cbn1cbiIsIjxkaXYgZHJhZ2dhYmxlPVwidHJ1ZVwiIGNsYXNzPVwicm93IHJvd19hdXRvXCI+XG4gIDx0ZXRhLWRyb3Bkb3duIFthdXRvQ2xvc2VJZ25vcmVdPVwiWydlbnRlciddXCJcbiAgICAgICAgICAgICAgICAgW3ZlcnRpY2FsQWxpZ25dPVwidmVydGljYWxBbGlnbi5ib3R0b21cIlxuICAgICAgICAgICAgICAgICBbYXBwZW5kVG9Cb2R5XT1cInRydWVcIlxuICAgICAgICAgICAgICAgICBbKG9wZW4pXT1cImRyb3BEb3duT3BlblwiXG4gICAgICAgICAgICAgICAgIFthbGlnbl09XCJhbGlnbi5sZWZ0XCJcbiAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCJcbiAgICAgICAgICAgICAgICAgW2NsYXNzLnRhYmxlLWhlYWRfX2NlbGxfX21lbnVfb3Blbl09XCJkcm9wRG93bk9wZW5cIlxuICAgICAgICAgICAgICAgICBjbGFzcz1cImNvbHVtbiBjb2x1bW5fYXV0byBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XG4gICAgPGRpdiB0ZXRhRHJvcGRvd25IZWFkIGNsYXNzPVwidGFibGUtaGVhZF9fY2VsbF9fd3JhcHBlclwiXG4gICAgICAgICBbbmdDbGFzc109XCJjb2x1bW4uaGVhZENlbGxDbGFzc1wiPlxuICAgICAgPHRldGEtaGVhZC1jZWxsLWhvc3QgW2NvbHVtbl09XCJjb2x1bW5cIiBbZGF0YV09XCJkYXRhXCI+PC90ZXRhLWhlYWQtY2VsbC1ob3N0PlxuICAgICAgPHRldGEtaWNvbiAqbmdJZj1cImljb25OYW1lIHwgYXN5bmMgYXMgaWNvblwiXG4gICAgICAgICAgICAgICAgIFtwYWxldHRlXT1cIid0ZXh0J1wiXG4gICAgICAgICAgICAgICAgIFtuYW1lXT1cImljb25cIj48L3RldGEtaWNvbj5cbiAgICA8L2Rpdj5cbiAgICA8dGV0YS1oZWFkLWNlbGwtZHJvcGRvd24gdGV0YURyb3Bkb3duQ29udGVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInNob3dIZWFkQ2VsbE1lbnVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYXV0b3NpemUpPVwiYXV0b3NpemVDb2x1bW4oKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhdXRvc2l6ZUFsbCk9XCJhdXRvc2l6ZUFsbENvbHVtbnMoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhXT1cImRhdGFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29sdW1uXT1cImNvbHVtblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2x1bW5zXT1cImNvbHVtbnMgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdGF0ZV09XCJzdGF0ZSB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhkcm9wRG93bk9wZW4pXT1cImRyb3BEb3duT3BlblwiPjwvdGV0YS1oZWFkLWNlbGwtZHJvcGRvd24+XG4gIDwvdGV0YS1kcm9wZG93bj5cbiAgPGRpdiBjbGFzcz1cImRyb3AtYXJlYVwiXG4gICAgICAgZHJhZ2dhYmxlPVwiZmFsc2VcIlxuICAgICAgIFtjbGFzcy5kcm9wLWFyZWFfbGVmdF09XCJzaG93RHJhZyA9PT0gJ2xlZnQnXCJcbiAgICAgICBbY2xhc3MuZHJvcC1hcmVhX3JpZ2h0XT1cInNob3dEcmFnID09PSAncmlnaHQnXCJcbiAgICAgICAqbmdJZj1cInNob3dEcmFnXCI+PC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJ0YWJsZS1oZWFkX19jZWxsX19yZXNpemVcIlxuICAgICBkcmFnZ2FibGU9XCJmYWxzZVwiXG4gICAgIChkcmFnc3RhcnQpPVwiJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7JGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgKGRyYWcpPVwiJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7JGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgW3RldGFSZXNpemVEcmFnXT1cIid2ZXJ0aWNhbCdcIlxuICAgICAocmVzaXplU3RhcnQpPVwicmVzaXplU3RhcnQoJGV2ZW50KVwiXG4gICAgIChyZXNpemVQcm9jZXNzKT1cInJlc2l6ZVByb2Nlc3MoJGV2ZW50KVwiXG4gICAgIChyZXNpemVFbmQpPVwicmVzaXplRW5kKClcIj48L2Rpdj5cbiJdfQ==