@tetacom/ng-components 1.0.39 → 1.0.40

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 (199) hide show
  1. package/component/file-upload/file-upload-area/file-upload-area.component.d.ts +3 -2
  2. package/component/table/contract/head-dropdown-tab.d.ts +13 -0
  3. package/component/table/contract/public-api.d.ts +1 -0
  4. package/component/table/contract/table-column.d.ts +7 -3
  5. package/component/table/head-cell/head-cell.component.d.ts +7 -3
  6. package/component/table/head-cell-dropdown/head-cell-dropdown.component.d.ts +5 -43
  7. package/component/table/table/table.component.d.ts +1 -1
  8. package/component/table/table-head/filter-dropdown-tab/filter-dropdown-tab.component.d.ts +32 -0
  9. package/component/table/table-head/main-dropdown-tab/main-dropdown-tab.component.d.ts +41 -0
  10. package/component/table/table-head/visibility-dropdown-tab/visibility-dropdown-tab.component.d.ts +46 -0
  11. package/component/table/table.module.d.ts +23 -20
  12. package/esm2020/common/service/click.service.mjs +3 -3
  13. package/esm2020/common/service/dynamic-component.service.mjs +3 -3
  14. package/esm2020/common/service/overlay-container.service.mjs +3 -3
  15. package/esm2020/component/accordion/accordion/accordion.component.mjs +3 -3
  16. package/esm2020/component/accordion/accordion-content.directive.mjs +3 -3
  17. package/esm2020/component/accordion/accordion-head/accordion-head.component.mjs +3 -3
  18. package/esm2020/component/accordion/accordion-item/accordion-item.component.mjs +3 -3
  19. package/esm2020/component/accordion/accordion.module.mjs +4 -4
  20. package/esm2020/component/button/button/button.component.mjs +3 -3
  21. package/esm2020/component/button/button.module.mjs +4 -4
  22. package/esm2020/component/chart-3d/chart-3d.module.mjs +4 -4
  23. package/esm2020/component/chart-3d/chart3d/chart3d.component.mjs +3 -3
  24. package/esm2020/component/checkbox/checkbox/checkbox.component.mjs +3 -3
  25. package/esm2020/component/checkbox/checkbox.module.mjs +4 -4
  26. package/esm2020/component/date-picker/date-picker/date-picker.component.mjs +5 -5
  27. package/esm2020/component/date-picker/date-picker.module.mjs +4 -4
  28. package/esm2020/component/date-picker/day-select/day-select.component.mjs +3 -3
  29. package/esm2020/component/date-picker/month-picker/month-picker.component.mjs +5 -5
  30. package/esm2020/component/date-picker/month-select/month-select.component.mjs +3 -3
  31. package/esm2020/component/date-picker/service/picker-touch.service.mjs +3 -3
  32. package/esm2020/component/date-picker/time-part-control/time-part-control.component.mjs +3 -3
  33. package/esm2020/component/date-picker/year-select/year-select.component.mjs +3 -3
  34. package/esm2020/component/delimiter/delimiter/delimiter.component.mjs +3 -3
  35. package/esm2020/component/delimiter/delimiter.module.mjs +4 -4
  36. package/esm2020/component/dropdown/dropdown/dropdown.component.mjs +3 -3
  37. package/esm2020/component/dropdown/dropdown-base.mjs +3 -3
  38. package/esm2020/component/dropdown/dropdown-content.directive.mjs +3 -3
  39. package/esm2020/component/dropdown/dropdown-head.directive.mjs +3 -3
  40. package/esm2020/component/dropdown/dropdown.directive.mjs +3 -3
  41. package/esm2020/component/dropdown/dropdown.module.mjs +4 -4
  42. package/esm2020/component/dynamic-component/dynamic-component.module.mjs +4 -4
  43. package/esm2020/component/dynamic-component/popup-content/popup-content.component.mjs +3 -3
  44. package/esm2020/component/expand-card/expand-card/expand-card.component.mjs +5 -5
  45. package/esm2020/component/expand-card/expand-card.module.mjs +4 -4
  46. package/esm2020/component/expand-panel/expand-panel/expand-panel.component.mjs +3 -3
  47. package/esm2020/component/expand-panel/expand-panel-content.directive.mjs +3 -3
  48. package/esm2020/component/expand-panel/expand-panel-head.directive.mjs +3 -3
  49. package/esm2020/component/expand-panel/expand-panel.module.mjs +4 -4
  50. package/esm2020/component/file-upload/file-item/file-item.component.mjs +3 -3
  51. package/esm2020/component/file-upload/file-upload-area/file-upload-area.component.mjs +11 -7
  52. package/esm2020/component/file-upload/file-upload.module.mjs +4 -4
  53. package/esm2020/component/filter/boolean-filter/boolean-filter.component.mjs +3 -3
  54. package/esm2020/component/filter/date-filter/date-filter.component.mjs +3 -3
  55. package/esm2020/component/filter/filter-host/filter-host.component.mjs +3 -3
  56. package/esm2020/component/filter/filter.module.mjs +4 -4
  57. package/esm2020/component/filter/list-filter/list-filter.component.mjs +3 -3
  58. package/esm2020/component/filter/numeric-filter/numeric-filter.component.mjs +3 -3
  59. package/esm2020/component/filter/string-filter/string-filter.component.mjs +3 -3
  60. package/esm2020/component/icon/icon/icon.component.mjs +3 -3
  61. package/esm2020/component/icon/icon-sprite.directive.mjs +3 -3
  62. package/esm2020/component/icon/icon.module.mjs +4 -4
  63. package/esm2020/component/icon/icon.service.mjs +3 -3
  64. package/esm2020/component/input/form-group-title/form-group-title.component.mjs +3 -3
  65. package/esm2020/component/input/input/input.component.mjs +3 -3
  66. package/esm2020/component/input/input.module.mjs +4 -4
  67. package/esm2020/component/input/text-field/text-field.component.mjs +3 -3
  68. package/esm2020/component/message/message/message.component.mjs +3 -3
  69. package/esm2020/component/message/message-host/message-host.component.mjs +3 -3
  70. package/esm2020/component/message/message.module.mjs +4 -4
  71. package/esm2020/component/message/message.service.mjs +3 -3
  72. package/esm2020/component/modal/dialog/dialog.component.mjs +3 -3
  73. package/esm2020/component/modal/dialog.service.mjs +3 -3
  74. package/esm2020/component/modal/modal-container/modal-container.component.mjs +3 -3
  75. package/esm2020/component/modal/modal.module.mjs +4 -4
  76. package/esm2020/component/modal/modal.service.mjs +3 -3
  77. package/esm2020/component/pager/pager/pager.component.mjs +3 -3
  78. package/esm2020/component/pager/pager.module.mjs +4 -4
  79. package/esm2020/component/panel/panel/panel.component.mjs +3 -3
  80. package/esm2020/component/panel/panel.module.mjs +4 -4
  81. package/esm2020/component/progress-bar/progress-bar/progress-bar.component.mjs +3 -3
  82. package/esm2020/component/progress-bar/progress-bar.module.mjs +4 -4
  83. package/esm2020/component/property-grid/default/date-item-default/date-item-default.component.mjs +3 -3
  84. package/esm2020/component/property-grid/default/list-item-default/list-item-default.component.mjs +3 -3
  85. package/esm2020/component/property-grid/default/numeric-item-default/numeric-item-default.component.mjs +3 -3
  86. package/esm2020/component/property-grid/default/string-item-default/string-item-default.component.mjs +3 -3
  87. package/esm2020/component/property-grid/property-grid/property-grid-group/property-grid-group.component.mjs +3 -3
  88. package/esm2020/component/property-grid/property-grid/property-grid-item/property-grid-item.component.mjs +3 -3
  89. package/esm2020/component/property-grid/property-grid/property-grid.component.mjs +3 -3
  90. package/esm2020/component/property-grid/property-grid.module.mjs +4 -4
  91. package/esm2020/component/radio/radio/radio.component.mjs +3 -3
  92. package/esm2020/component/radio/radio-button/radio-button.component.mjs +3 -3
  93. package/esm2020/component/radio/radio.module.mjs +4 -4
  94. package/esm2020/component/resize-panel/resize-panel/resize-panel.component.mjs +3 -3
  95. package/esm2020/component/resize-panel/resize-panel.module.mjs +4 -4
  96. package/esm2020/component/select/select/select.component.mjs +3 -3
  97. package/esm2020/component/select/select-option.directive.mjs +3 -3
  98. package/esm2020/component/select/select-value.directive.mjs +3 -3
  99. package/esm2020/component/select/select.module.mjs +4 -4
  100. package/esm2020/component/sidebar/sidebar/sidebar.component.mjs +3 -3
  101. package/esm2020/component/sidebar/sidebar.module.mjs +4 -4
  102. package/esm2020/component/switch/switch/switch.component.mjs +3 -3
  103. package/esm2020/component/switch/switch-button/switch-button.component.mjs +3 -3
  104. package/esm2020/component/switch/switch.module.mjs +4 -4
  105. package/esm2020/component/switch/switch.service.mjs +3 -3
  106. package/esm2020/component/table/base/cell-component-base.mjs +3 -3
  107. package/esm2020/component/table/base/head-cell-component-base.mjs +3 -3
  108. package/esm2020/component/table/cell/cell.component.mjs +3 -3
  109. package/esm2020/component/table/cell-host/cell-host.component.mjs +3 -3
  110. package/esm2020/component/table/contract/head-dropdown-tab.mjs +2 -0
  111. package/esm2020/component/table/contract/public-api.mjs +2 -1
  112. package/esm2020/component/table/contract/table-column.mjs +4 -2
  113. package/esm2020/component/table/default/boolean-cell/boolean-cell.component.mjs +3 -3
  114. package/esm2020/component/table/default/date-cell/date-cell.component.mjs +3 -3
  115. package/esm2020/component/table/default/date-time-cell/date-time-cell.component.mjs +3 -3
  116. package/esm2020/component/table/default/default-head-cell/default-head-cell.component.mjs +5 -5
  117. package/esm2020/component/table/default/group-row/group-row.component.mjs +3 -3
  118. package/esm2020/component/table/default/list-cell/list-cell.component.mjs +3 -3
  119. package/esm2020/component/table/default/numeric-cell/numeric-cell.component.mjs +3 -3
  120. package/esm2020/component/table/default/string-cell/string-cell.component.mjs +3 -3
  121. package/esm2020/component/table/head-cell/head-cell.component.mjs +59 -16
  122. package/esm2020/component/table/head-cell-dropdown/head-cell-dropdown.component.mjs +17 -180
  123. package/esm2020/component/table/head-cell-host/head-cell-host.component.mjs +3 -3
  124. package/esm2020/component/table/selection-cell/selection-cell.component.mjs +5 -5
  125. package/esm2020/component/table/selection-head-cell/selection-head-cell.component.mjs +3 -3
  126. package/esm2020/component/table/service/table.service.mjs +14 -5
  127. package/esm2020/component/table/table/table.component.mjs +12 -5
  128. package/esm2020/component/table/table-body/table-body.component.mjs +32 -28
  129. package/esm2020/component/table/table-head/filter-dropdown-tab/filter-dropdown-tab.component.mjs +55 -0
  130. package/esm2020/component/table/table-head/main-dropdown-tab/main-dropdown-tab.component.mjs +81 -0
  131. package/esm2020/component/table/table-head/table-head.component.mjs +22 -22
  132. package/esm2020/component/table/table-head/visibility-dropdown-tab/visibility-dropdown-tab.component.mjs +140 -0
  133. package/esm2020/component/table/table-head-group/table-head-group.component.mjs +3 -3
  134. package/esm2020/component/table/table.module.mjs +15 -6
  135. package/esm2020/component/tabs/tab/tab.component.mjs +3 -3
  136. package/esm2020/component/tabs/tab-content.directive.mjs +3 -3
  137. package/esm2020/component/tabs/tab-title.directive.mjs +3 -3
  138. package/esm2020/component/tabs/tabs/tabs.component.mjs +3 -3
  139. package/esm2020/component/tabs/tabs.module.mjs +4 -4
  140. package/esm2020/component/theme-switch/theme-switch/theme-switch.component.mjs +3 -3
  141. package/esm2020/component/theme-switch/theme-switch.module.mjs +4 -4
  142. package/esm2020/component/theme-switch/theme-switch.service.mjs +3 -3
  143. package/esm2020/component/toggle/toggle/toggle.component.mjs +3 -3
  144. package/esm2020/component/toggle/toggle.module.mjs +4 -4
  145. package/esm2020/component/toolbar/toolbar/toolbar.component.mjs +3 -3
  146. package/esm2020/component/toolbar/toolbar.module.mjs +4 -4
  147. package/esm2020/component/tree/tree/tree.component.mjs +3 -3
  148. package/esm2020/component/tree/tree-item/tree-item.component.mjs +3 -3
  149. package/esm2020/component/tree/tree-item-toggle/tree-item-toggle.component.mjs +3 -3
  150. package/esm2020/component/tree/tree.module.mjs +4 -4
  151. package/esm2020/component/tree/tree.service.mjs +3 -3
  152. package/esm2020/directive/click-outside/click-outside.directive.mjs +3 -3
  153. package/esm2020/directive/click-outside/click-outside.module.mjs +4 -4
  154. package/esm2020/directive/context-menu/context-menu.directive.mjs +3 -3
  155. package/esm2020/directive/context-menu/context-menu.module.mjs +4 -4
  156. package/esm2020/directive/disable-control/disable-control.directive.mjs +3 -3
  157. package/esm2020/directive/disable-control/disable-control.module.mjs +4 -4
  158. package/esm2020/directive/drag-drop/drag-container.directive.mjs +3 -3
  159. package/esm2020/directive/drag-drop/drag-drop.module.mjs +4 -4
  160. package/esm2020/directive/drag-drop/drag-drop.service.mjs +3 -3
  161. package/esm2020/directive/drag-drop/drag-placeholder.directive.mjs +3 -3
  162. package/esm2020/directive/drag-drop/drag-preview.directive.mjs +3 -3
  163. package/esm2020/directive/drag-drop/drag.directive.mjs +3 -3
  164. package/esm2020/directive/drag-sort/drag-sort-container.directive.mjs +3 -3
  165. package/esm2020/directive/drag-sort/drag-sort-item.directive.mjs +3 -3
  166. package/esm2020/directive/drag-sort/drag-sort.module.mjs +4 -4
  167. package/esm2020/directive/dynamic-content-base.directive.mjs +3 -3
  168. package/esm2020/directive/highlight/highlight.directive.mjs +3 -3
  169. package/esm2020/directive/highlight/highlight.module.mjs +4 -4
  170. package/esm2020/directive/hint/hint.directive.mjs +3 -3
  171. package/esm2020/directive/hint/hint.module.mjs +4 -4
  172. package/esm2020/directive/let/let.directive.mjs +3 -3
  173. package/esm2020/directive/let/let.module.mjs +4 -4
  174. package/esm2020/directive/loader/loader.directive.mjs +3 -3
  175. package/esm2020/directive/loader/loader.module.mjs +4 -4
  176. package/esm2020/directive/no-autofill/no-autofill.directive.mjs +3 -3
  177. package/esm2020/directive/no-autofill/no-autofill.module.mjs +4 -4
  178. package/esm2020/directive/only-number/only-number.directive.mjs +3 -3
  179. package/esm2020/directive/only-number/only-number.module.mjs +4 -4
  180. package/esm2020/directive/resize-drag/resize-drag.directive.mjs +3 -3
  181. package/esm2020/directive/resize-drag/resize-drag.module.mjs +4 -4
  182. package/esm2020/directive/scroll-into-view/scroll-into-view.directive.mjs +3 -3
  183. package/esm2020/directive/scroll-into-view/scroll-into-view.module.mjs +4 -4
  184. package/esm2020/directive/teta-template/teta-template.directive.mjs +3 -3
  185. package/esm2020/directive/teta-template/teta-template.module.mjs +4 -4
  186. package/esm2020/directive/tooltip/tooltip.directive.mjs +3 -3
  187. package/esm2020/directive/tooltip/tooltip.module.mjs +4 -4
  188. package/esm2020/locale/teta-config.service.mjs +3 -3
  189. package/esm2020/pipe/number-pipe/number-pipe.module.mjs +4 -4
  190. package/esm2020/pipe/number-pipe/number.pipe.mjs +3 -3
  191. package/esm2020/pipe/prepend-zero/prepend-zero.module.mjs +4 -4
  192. package/esm2020/pipe/prepend-zero/prepend-zero.pipe.mjs +3 -3
  193. package/fesm2015/tetacom-ng-components.mjs +883 -716
  194. package/fesm2015/tetacom-ng-components.mjs.map +1 -1
  195. package/fesm2020/tetacom-ng-components.mjs +880 -715
  196. package/fesm2020/tetacom-ng-components.mjs.map +1 -1
  197. package/package.json +1 -1
  198. package/style/layout.scss +2 -1
  199. package/style/table.scss +14 -1
@@ -24,13 +24,15 @@ export class TableColumn extends FilterItem {
24
24
  this.locked = options?.locked ?? false;
25
25
  this.parentName = options?.parentName;
26
26
  this.unit = options?.unit ?? '';
27
+ this.unitMeasureParameterId = options?.unitMeasureParameterId;
28
+ this.unitId = options?.unitId;
27
29
  this.data = options?.data;
28
30
  this.editable = options?.editable ?? true;
29
31
  this.groupBy = options?.groupBy ?? false;
30
32
  this.groupingOrder = options?.groupingOrder ?? 0;
31
33
  this.groupByFn = options?.groupByFn;
32
34
  this.headCellComponent = options?.headCellComponent;
33
- this.headDropdownTemplate = options?.headDropdownTemplate;
35
+ this.headDropdownConfig = options?.headDropdownConfig;
34
36
  this.cellComponent = options?.cellComponent;
35
37
  this.aggregate = options?.aggregate;
36
38
  this.defaultValue = options?.defaultValue;
@@ -40,4 +42,4 @@ export class TableColumn extends FilterItem {
40
42
  this.columns = options?.columns?.map((x) => new TableColumn(x)) ?? [];
41
43
  }
42
44
  }
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29sdW1uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC90YWJsZS9jb250cmFjdC90YWJsZS1jb2x1bW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBVTdELE1BQU0sT0FBTyxXQUFZLFNBQVEsVUFBVTtJQW1HekM7O09BRUc7SUFDSCxZQUFZLE9Bb0NYO1FBQ0MsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBMUlqQjs7V0FFRztRQUNILFVBQUssR0FBRyxHQUFHLENBQUM7UUFDWjs7V0FFRztRQUNILFNBQUksR0FBRyxDQUFDLENBQUM7UUFxRFQ7O1dBRUc7UUFDSCxrQkFBYSxHQUFHLENBQUMsQ0FBQztRQTRFaEIsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLEVBQUUsS0FBSyxJQUFJLEdBQUcsQ0FBQztRQUNuQyxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sRUFBRSxJQUFJLElBQUksQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxhQUFhLEdBQUcsT0FBTyxFQUFFLGFBQWEsSUFBSSxFQUFFLENBQUM7UUFDbEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLEVBQUUsU0FBUyxJQUFJLEVBQUUsQ0FBQztRQUMxQyxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sRUFBRSxNQUFNLElBQUksS0FBSyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxVQUFVLEdBQUcsT0FBTyxFQUFFLFVBQVUsQ0FBQztRQUN0QyxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxFQUFFLElBQUksQ0FBQztRQUMxQixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sRUFBRSxRQUFRLElBQUksSUFBSSxDQUFDO1FBQzFDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxFQUFFLE9BQU8sSUFBSSxLQUFLLENBQUM7UUFDekMsSUFBSSxDQUFDLGFBQWEsR0FBRyxPQUFPLEVBQUUsYUFBYSxJQUFJLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sRUFBRSxTQUFTLENBQUM7UUFDcEMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLE9BQU8sRUFBRSxpQkFBaUIsQ0FBQztRQUNwRCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsT0FBTyxFQUFFLG9CQUFvQixDQUFDO1FBQzFELElBQUksQ0FBQyxhQUFhLEdBQUcsT0FBTyxFQUFFLGFBQWEsQ0FBQztRQUM1QyxJQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sRUFBRSxTQUFTLENBQUM7UUFDcEMsSUFBSSxDQUFDLFlBQVksR0FBRyxPQUFPLEVBQUUsWUFBWSxDQUFDO1FBQzFDLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxFQUFFLFFBQVEsQ0FBQztRQUNsQyxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sRUFBRSxRQUFRLENBQUM7UUFDbEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLEVBQUUsUUFBUSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxFQUFFLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3hFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RmlsdGVySXRlbX0gZnJvbSAnLi4vLi4vZmlsdGVyL2NvbnRhcmN0L2ZpbHRlci1pdGVtJztcbmltcG9ydCB7RmlsdGVyVHlwZX0gZnJvbSAnLi4vLi4vZmlsdGVyL2VudW0vZmlsdGVyLXR5cGUuZW51bSc7XG5pbXBvcnQge1N0cmluZ0ZpbHRlclR5cGV9IGZyb20gJy4uLy4uL2ZpbHRlci9lbnVtL3N0cmluZy1maWx0ZXItdHlwZS5lbnVtJztcbmltcG9ydCB7TGlzdEZpbHRlclR5cGV9IGZyb20gJy4uLy4uL2ZpbHRlci9lbnVtL2xpc3QtZmlsdGVyLXR5cGUuZW51bSc7XG5pbXBvcnQge1RhYmxlUm93fSBmcm9tICcuL3RhYmxlLXJvdyc7XG5pbXBvcnQge0FnZ3JlZ2F0aW9uVHlwZX0gZnJvbSAnLi4vZW51bS9hZ2dyZWdhdGlvbi10eXBlLmVudW0nO1xuaW1wb3J0IHtUZW1wbGF0ZVJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0lDZWxsQ29vcmRpbmF0ZXN9IGZyb20gJy4vaS1jZWxsLWNvb3JkaW5hdGVzJztcbmltcG9ydCB7SUNlbGxJbnN0YW5jZX0gZnJvbSAnLi9pLWNlbGwtaW5zdGFuY2UnO1xuXG5leHBvcnQgY2xhc3MgVGFibGVDb2x1bW4gZXh0ZW5kcyBGaWx0ZXJJdGVtIHtcbiAgLyoqXG4gICAqINCo0LjRgNC40L3QsFxuICAgKi9cbiAgd2lkdGggPSAxNTA7XG4gIC8qKlxuICAgKiDQmtC+0Y3RhNGE0LjRhtC40LXQvdGCINGA0LDRgdGC0Y/QttC10L3QuNGPINGP0YfQtdC50LrQuFxuICAgKi9cbiAgZmxleCA9IDA7XG4gIC8qKlxuICAgKiDQodGC0L7QsdC10YYg0LfQsNC60YDQtdC/0LvQtdC9XG4gICAqL1xuICBsb2NrZWQ6IGJvb2xlYW47XG4gIC8qKlxuICAgKiDQndCw0LfQstCw0L3QuNC1INGB0YLQvtC70LHRhtCwINCyINGB0YLRgNC+0LrQtSDRgNC10LfRg9C70YzRgtCw0YLQvtCyXG4gICAqL1xuICBvdmVycmlkZSBuYW1lOiBzdHJpbmc7XG4gIC8qKlxuICAgKiDQndCw0LfQstCw0L3QuNC1INGB0YLQvtC70LHRhtCwINGA0L7QtNC40YLQtdC70Y9cbiAgICovXG4gIHBhcmVudE5hbWU6IHN0cmluZztcbiAgLyoqXG4gICAqINCd0LDQt9Cy0LDQvdC40LUg0YHRgtC+0LvQsdGG0LAg0LTQu9GPINC30LDQs9C+0LvQvtCy0LrQsCDRgtCw0LHQu9C40YbRi1xuICAgKi9cbiAgb3ZlcnJpZGUgY2FwdGlvbjogc3RyaW5nO1xuICAvKipcbiAgICog0JXQtNC40L3QuNGG0Ysg0LjQt9C80LXRgNC10L3QuNGPXG4gICAqL1xuICB1bml0OiBzdHJpbmc7XG4gIC8qKlxuICAgKiDRgdC/0LjRgdC+0Logc3R5bGUg0LrQu9Cw0YHRgdC+0LIg0LTQu9GPINGI0LDQv9C60Lgg0YLQsNCx0LvQuNGG0YtcbiAgICovXG4gIGhlYWRDZWxsQ2xhc3M6IHN0cmluZ1tdO1xuICAvKipcbiAgICog0YHQv9C40YHQvtC6IHN0eWxlINC60LvQsNGB0YHQvtCyINC00LvRjyDRj9GH0LXQudC60Lgg0YLQsNCx0LvQuNGG0YtcbiAgICovXG4gIGNlbGxDbGFzczogc3RyaW5nW107XG4gIC8qKlxuICAgKiDQlNC+0L/QvtC70L3QuNGC0LXQu9GM0L3Ri9C1INC00LDQvdC90YvQtSwg0YHQstC+0LHQvtC00L3QvtC1INC+0L/QuNGB0LDQvdC40LUsINC00L7RgdGC0YPQv9C90Ysg0LLQvdGD0YLRgNC4INC60L7QvNC/0L7QvdC10YLQsCDRj9GH0LXQudC60LgsINC80L7QttC90L4g0L/RgNC+0LrQuNC90YPRgtGMIGNhbGxiYWNrINC90LDQv9GA0LjQvNC10YBcbiAgICovXG4gIGRhdGE6IGFueTtcbiAgLyoqXG4gICAqINCa0L7Qu9C+0L3QutCwINC00L7RgdGC0YPQv9C90LAg0LTQu9GPINGA0LXQtNCw0LrRgtC40YDQvtCy0LDQvdC40Y9cbiAgICovXG4gIGVkaXRhYmxlOiBib29sZWFuIHwgKChjb29yZGluYXRlczogSUNlbGxJbnN0YW5jZTxhbnk+KSA9PiBib29sZWFuKTtcbiAgLyoqXG4gICAqINCa0L7QvNC/0L7QvdC10L3RgiDQtNC70Y8g0YDQtdC90LTQtdGA0LAg0Y/Rh9C10LnQutC4XG4gICAqL1xuICBjZWxsQ29tcG9uZW50OiBhbnk7XG4gIC8qKlxuICAgKiDQmtC+0LzQv9C+0L3QtdC90YIg0LTQu9GPINGA0LXQvdC00LXRgNCwINC30LDQs9C+0LvQvtCy0LrQsCDRgdGC0L7Qu9Cx0YbQsCDRj9GH0LXQudC60LhcbiAgICovXG4gIGhlYWRDZWxsQ29tcG9uZW50OiBhbnk7XG4gIC8qKlxuICAgKiBDdXN0b20gaGVhZCBkcm9wZG93biBmb3IgY29sdW1uXG4gICAqL1xuICBoZWFkRHJvcGRvd25UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgLyoqXG4gICAqINCT0YDRg9C/0L/QuNGA0L7QstCw0YLRjCDQv9C+INGN0YLQvtC80YMg0YHRgtC+0LvQsdGG0YNcbiAgICovXG4gIGdyb3VwQnk6IGJvb2xlYW47XG4gIC8qKlxuICAgKiDQn9C+0YDRj9C00L7QuiDQs9GA0YPQv9C/0LjRgNC+0LLQutC4XG4gICAqL1xuICBncm91cGluZ09yZGVyID0gMDtcbiAgLyoqXG4gICAqXG4gICAqL1xuICBncm91cEJ5Rm46ICgocm93OiBUYWJsZVJvdzxhbnk+KSA9PiBzdHJpbmcpIHwgdW5kZWZpbmVkO1xuICAvKipcbiAgICog0JTQvtGH0LXRgNC90LjQtSDQutC+0LvQvtC90LrQuFxuICAgKi9cbiAgb3ZlcnJpZGUgY29sdW1uczogVGFibGVDb2x1bW5bXTtcblxuICAvKipcbiAgICogQWdncmVnYXRlIHR5cGVcbiAgICovXG4gIGFnZ3JlZ2F0ZTogQWdncmVnYXRpb25UeXBlO1xuXG4gIC8qKlxuICAgKiDQl9C90LDRh9C10L3QuNC1INC/0L4g0YPQvNC+0LvRh9Cw0L3QuNGOINC/0YDQuCDRgdC+0LfQtNCw0L3QuNC4INC30LDQv9C40YHQuFxuICAgKi9cbiAgZGVmYXVsdFZhbHVlOiBhbnk7XG5cbiAgLyoqXG4gICAqINCX0L3QsNGH0LXQvdC40LUg0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4g0L/RgNC4INGB0L7Qt9C00LDQvdC40Lgg0LfQsNC/0LjRgdC4XG4gICAqL1xuICBtYXhWYWx1ZTogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiDQl9C90LDRh9C10L3QuNC1INC/0L4g0YPQvNC+0LvRh9Cw0L3QuNGOINC/0YDQuCDRgdC+0LfQtNCw0L3QuNC4INC30LDQv9C40YHQuFxuICAgKi9cbiAgbWluVmFsdWU6IG51bWJlcjtcblxuICAvKipcbiAgICog0J/QvtC70LUg0L7QsdGP0LfQsNGC0LXQu9GM0L3QviDQtNC70Y8g0LfQsNC/0L7Qu9C90LXQvdC40Y9cbiAgICovXG4gIHJlcXVpcmVkOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiDQmNC90LjRhtC40LDQu9C40LfQsNGG0LjRjyDQuNC3INCw0L3QvtC90LjQvNC90L7Qs9C+INC+0LHRitC10LrRgtCwXG4gICAqL1xuICBjb25zdHJ1Y3RvcihvcHRpb25zPzoge1xuICAgIHdpZHRoPzogbnVtYmVyO1xuICAgIGZsZXg/OiBudW1iZXI7XG4gICAgc29ydE9yZGVyPzogbnVtYmVyO1xuICAgIGxvY2tlZD86IGJvb2xlYW47XG4gICAgbmFtZT86IHN0cmluZztcbiAgICBwYXJlbnROYW1lPzogc3RyaW5nO1xuICAgIGNhcHRpb24/OiBzdHJpbmc7XG4gICAgaGludD86IHN0cmluZztcbiAgICB1bml0Pzogc3RyaW5nO1xuICAgIHNvcnRhYmxlPzogYm9vbGVhbjtcbiAgICBzb3J0RmllbGQ/OiBzdHJpbmc7XG4gICAgZmlsdGVyYWJsZT86IGJvb2xlYW47XG4gICAgZmlsdGVyRmllbGQ/OiBzdHJpbmc7XG4gICAgZmlsdGVyVHlwZT86IEZpbHRlclR5cGUgfCBudWxsO1xuICAgIHN0cmluZ0ZpbHRlclR5cGU/OiBTdHJpbmdGaWx0ZXJUeXBlO1xuICAgIGxpc3RGaWx0ZXJUeXBlPzogTGlzdEZpbHRlclR5cGU7XG4gICAgc3RyaWN0PzogYm9vbGVhbjtcbiAgICBoZWFkQ2VsbENsYXNzPzogc3RyaW5nW107XG4gICAgY2VsbENsYXNzPzogc3RyaW5nW107XG4gICAgZGF0YT86IGFueTtcbiAgICBlZGl0YWJsZT86IGJvb2xlYW4gfCAoKGNvb3JkaW5hdGVzOiBJQ2VsbEluc3RhbmNlPGFueT4pID0+IGJvb2xlYW4pO1xuICAgIG9iamVjdFR5cGU/OiBib29sZWFuO1xuICAgIGNlbGxDb21wb25lbnQ/OiBhbnk7XG4gICAgaGVhZENlbGxDb21wb25lbnQ/OiBhbnk7XG4gICAgaGVhZERyb3Bkb3duVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIGZpbHRlckNvbXBvbmVudD86IGFueTtcbiAgICBncm91cEJ5PzogYm9vbGVhbjtcbiAgICBncm91cGluZ09yZGVyPzogbnVtYmVyO1xuICAgIGdyb3VwQnlGbj86IChyb3c6IFRhYmxlUm93PGFueT4pID0+IHN0cmluZztcbiAgICBjb2x1bW5zPzogYW55W107XG4gICAgYWdncmVnYXRlPzogQWdncmVnYXRpb25UeXBlO1xuICAgIGRlZmF1bHRWYWx1ZT86IGFueTtcbiAgICBtYXhWYWx1ZT86IG51bWJlcjtcbiAgICBtaW5WYWx1ZT86IG51bWJlcjtcbiAgICByZXF1aXJlZD86IGJvb2xlYW47XG4gIH0pIHtcbiAgICBzdXBlcihvcHRpb25zKTtcbiAgICB0aGlzLndpZHRoID0gb3B0aW9ucz8ud2lkdGggPz8gMTUwO1xuICAgIHRoaXMuZmxleCA9IG9wdGlvbnM/LmZsZXggPz8gMDtcbiAgICB0aGlzLmhlYWRDZWxsQ2xhc3MgPSBvcHRpb25zPy5oZWFkQ2VsbENsYXNzID8/IFtdO1xuICAgIHRoaXMuY2VsbENsYXNzID0gb3B0aW9ucz8uY2VsbENsYXNzID8/IFtdO1xuICAgIHRoaXMubG9ja2VkID0gb3B0aW9ucz8ubG9ja2VkID8/IGZhbHNlO1xuICAgIHRoaXMucGFyZW50TmFtZSA9IG9wdGlvbnM/LnBhcmVudE5hbWU7XG4gICAgdGhpcy51bml0ID0gb3B0aW9ucz8udW5pdCA/PyAnJztcbiAgICB0aGlzLmRhdGEgPSBvcHRpb25zPy5kYXRhO1xuICAgIHRoaXMuZWRpdGFibGUgPSBvcHRpb25zPy5lZGl0YWJsZSA/PyB0cnVlO1xuICAgIHRoaXMuZ3JvdXBCeSA9IG9wdGlvbnM/Lmdyb3VwQnkgPz8gZmFsc2U7XG4gICAgdGhpcy5ncm91cGluZ09yZGVyID0gb3B0aW9ucz8uZ3JvdXBpbmdPcmRlciA/PyAwO1xuICAgIHRoaXMuZ3JvdXBCeUZuID0gb3B0aW9ucz8uZ3JvdXBCeUZuO1xuICAgIHRoaXMuaGVhZENlbGxDb21wb25lbnQgPSBvcHRpb25zPy5oZWFkQ2VsbENvbXBvbmVudDtcbiAgICB0aGlzLmhlYWREcm9wZG93blRlbXBsYXRlID0gb3B0aW9ucz8uaGVhZERyb3Bkb3duVGVtcGxhdGU7XG4gICAgdGhpcy5jZWxsQ29tcG9uZW50ID0gb3B0aW9ucz8uY2VsbENvbXBvbmVudDtcbiAgICB0aGlzLmFnZ3JlZ2F0ZSA9IG9wdGlvbnM/LmFnZ3JlZ2F0ZTtcbiAgICB0aGlzLmRlZmF1bHRWYWx1ZSA9IG9wdGlvbnM/LmRlZmF1bHRWYWx1ZTtcbiAgICB0aGlzLm1heFZhbHVlID0gb3B0aW9ucz8ubWF4VmFsdWU7XG4gICAgdGhpcy5taW5WYWx1ZSA9IG9wdGlvbnM/Lm1pblZhbHVlO1xuICAgIHRoaXMucmVxdWlyZWQgPSBvcHRpb25zPy5yZXF1aXJlZDtcbiAgICB0aGlzLmNvbHVtbnMgPSBvcHRpb25zPy5jb2x1bW5zPy5tYXAoKHgpID0+IG5ldyBUYWJsZUNvbHVtbih4KSkgPz8gW107XG4gIH1cbn1cbiJdfQ==
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29sdW1uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC90YWJsZS9jb250cmFjdC90YWJsZS1jb2x1bW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBVTdELE1BQU0sT0FBTyxXQUFZLFNBQVEsVUFBVTtJQXFHekM7O09BRUc7SUFDSCxZQUFZLE9Bc0NYO1FBQ0MsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBOUlqQjs7V0FFRztRQUNILFVBQUssR0FBRyxHQUFHLENBQUM7UUFDWjs7V0FFRztRQUNILFNBQUksR0FBRyxDQUFDLENBQUM7UUF1RFQ7O1dBRUc7UUFDSCxrQkFBYSxHQUFHLENBQUMsQ0FBQztRQThFaEIsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLEVBQUUsS0FBSyxJQUFJLEdBQUcsQ0FBQztRQUNuQyxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sRUFBRSxJQUFJLElBQUksQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxhQUFhLEdBQUcsT0FBTyxFQUFFLGFBQWEsSUFBSSxFQUFFLENBQUM7UUFDbEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLEVBQUUsU0FBUyxJQUFJLEVBQUUsQ0FBQztRQUMxQyxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sRUFBRSxNQUFNLElBQUksS0FBSyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxVQUFVLEdBQUcsT0FBTyxFQUFFLFVBQVUsQ0FBQztRQUN0QyxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxPQUFPLEVBQUUsc0JBQXNCLENBQUM7UUFDOUQsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLEVBQUUsTUFBTSxDQUFDO1FBQzlCLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxFQUFFLElBQUksQ0FBQztRQUMxQixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sRUFBRSxRQUFRLElBQUksSUFBSSxDQUFDO1FBQzFDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxFQUFFLE9BQU8sSUFBSSxLQUFLLENBQUM7UUFDekMsSUFBSSxDQUFDLGFBQWEsR0FBRyxPQUFPLEVBQUUsYUFBYSxJQUFJLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sRUFBRSxTQUFTLENBQUM7UUFDcEMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLE9BQU8sRUFBRSxpQkFBaUIsQ0FBQztRQUNwRCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsT0FBTyxFQUFFLGtCQUFrQixDQUFDO1FBQ3RELElBQUksQ0FBQyxhQUFhLEdBQUcsT0FBTyxFQUFFLGFBQWEsQ0FBQztRQUM1QyxJQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sRUFBRSxTQUFTLENBQUM7UUFDcEMsSUFBSSxDQUFDLFlBQVksR0FBRyxPQUFPLEVBQUUsWUFBWSxDQUFDO1FBQzFDLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxFQUFFLFFBQVEsQ0FBQztRQUNsQyxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sRUFBRSxRQUFRLENBQUM7UUFDbEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLEVBQUUsUUFBUSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxFQUFFLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3hFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RmlsdGVySXRlbX0gZnJvbSAnLi4vLi4vZmlsdGVyL2NvbnRhcmN0L2ZpbHRlci1pdGVtJztcbmltcG9ydCB7RmlsdGVyVHlwZX0gZnJvbSAnLi4vLi4vZmlsdGVyL2VudW0vZmlsdGVyLXR5cGUuZW51bSc7XG5pbXBvcnQge1N0cmluZ0ZpbHRlclR5cGV9IGZyb20gJy4uLy4uL2ZpbHRlci9lbnVtL3N0cmluZy1maWx0ZXItdHlwZS5lbnVtJztcbmltcG9ydCB7TGlzdEZpbHRlclR5cGV9IGZyb20gJy4uLy4uL2ZpbHRlci9lbnVtL2xpc3QtZmlsdGVyLXR5cGUuZW51bSc7XG5pbXBvcnQge1RhYmxlUm93fSBmcm9tICcuL3RhYmxlLXJvdyc7XG5pbXBvcnQge0FnZ3JlZ2F0aW9uVHlwZX0gZnJvbSAnLi4vZW51bS9hZ2dyZWdhdGlvbi10eXBlLmVudW0nO1xuaW1wb3J0IHtUZW1wbGF0ZVJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0lDZWxsSW5zdGFuY2V9IGZyb20gJy4vaS1jZWxsLWluc3RhbmNlJztcbmltcG9ydCB7SGVhZERyb3Bkb3duVGFiQ29uZmlnfSBmcm9tICcuL2hlYWQtZHJvcGRvd24tdGFiJztcblxuZXhwb3J0IGNsYXNzIFRhYmxlQ29sdW1uIGV4dGVuZHMgRmlsdGVySXRlbSB7XG4gIC8qKlxuICAgKiDQqNC40YDQuNC90LBcbiAgICovXG4gIHdpZHRoID0gMTUwO1xuICAvKipcbiAgICog0JrQvtGN0YTRhNC40YbQuNC10L3RgiDRgNCw0YHRgtGP0LbQtdC90LjRjyDRj9GH0LXQudC60LhcbiAgICovXG4gIGZsZXggPSAwO1xuICAvKipcbiAgICog0KHRgtC+0LHQtdGGINC30LDQutGA0LXQv9C70LXQvVxuICAgKi9cbiAgbG9ja2VkOiBib29sZWFuO1xuICAvKipcbiAgICog0J3QsNC30LLQsNC90LjQtSDRgdGC0L7Qu9Cx0YbQsCDQsiDRgdGC0YDQvtC60LUg0YDQtdC30YPQu9GM0YLQsNGC0L7QslxuICAgKi9cbiAgb3ZlcnJpZGUgbmFtZTogc3RyaW5nO1xuICAvKipcbiAgICog0J3QsNC30LLQsNC90LjQtSDRgdGC0L7Qu9Cx0YbQsCDRgNC+0LTQuNGC0LXQu9GPXG4gICAqL1xuICBwYXJlbnROYW1lOiBzdHJpbmc7XG4gIC8qKlxuICAgKiDQndCw0LfQstCw0L3QuNC1INGB0YLQvtC70LHRhtCwINC00LvRjyDQt9Cw0LPQvtC70L7QstC60LAg0YLQsNCx0LvQuNGG0YtcbiAgICovXG4gIG92ZXJyaWRlIGNhcHRpb246IHN0cmluZztcbiAgLyoqXG4gICAqINCV0LTQuNC90LjRhtGLINC40LfQvNC10YDQtdC90LjRj1xuICAgKi9cbiAgdW5pdDogc3RyaW5nO1xuICB1bml0TWVhc3VyZVBhcmFtZXRlcklkOiBudW1iZXI7XG4gIHVuaXRJZDogbnVtYmVyO1xuICAvKipcbiAgICog0YHQv9C40YHQvtC6IHN0eWxlINC60LvQsNGB0YHQvtCyINC00LvRjyDRiNCw0L/QutC4INGC0LDQsdC70LjRhtGLXG4gICAqL1xuICBoZWFkQ2VsbENsYXNzOiBzdHJpbmdbXTtcbiAgLyoqXG4gICAqINGB0L/QuNGB0L7QuiBzdHlsZSDQutC70LDRgdGB0L7QsiDQtNC70Y8g0Y/Rh9C10LnQutC4INGC0LDQsdC70LjRhtGLXG4gICAqL1xuICBjZWxsQ2xhc3M6IHN0cmluZ1tdO1xuICAvKipcbiAgICog0JTQvtC/0L7Qu9C90LjRgtC10LvRjNC90YvQtSDQtNCw0L3QvdGL0LUsINGB0LLQvtCx0L7QtNC90L7QtSDQvtC/0LjRgdCw0L3QuNC1LCDQtNC+0YHRgtGD0L/QvdGLINCy0L3Rg9GC0YDQuCDQutC+0LzQv9C+0L3QtdGC0LAg0Y/Rh9C10LnQutC4LCDQvNC+0LbQvdC+INC/0YDQvtC60LjQvdGD0YLRjCBjYWxsYmFjayDQvdCw0L/RgNC40LzQtdGAXG4gICAqL1xuICBkYXRhOiBhbnk7XG4gIC8qKlxuICAgKiDQmtC+0LvQvtC90LrQsCDQtNC+0YHRgtGD0L/QvdCwINC00LvRjyDRgNC10LTQsNC60YLQuNGA0L7QstCw0L3QuNGPXG4gICAqL1xuICBlZGl0YWJsZTogYm9vbGVhbiB8ICgoY29vcmRpbmF0ZXM6IElDZWxsSW5zdGFuY2U8YW55PikgPT4gYm9vbGVhbik7XG4gIC8qKlxuICAgKiDQmtC+0LzQv9C+0L3QtdC90YIg0LTQu9GPINGA0LXQvdC00LXRgNCwINGP0YfQtdC50LrQuFxuICAgKi9cbiAgY2VsbENvbXBvbmVudDogYW55O1xuICAvKipcbiAgICog0JrQvtC80L/QvtC90LXQvdGCINC00LvRjyDRgNC10L3QtNC10YDQsCDQt9Cw0LPQvtC70L7QstC60LAg0YHRgtC+0LvQsdGG0LAg0Y/Rh9C10LnQutC4XG4gICAqL1xuICBoZWFkQ2VsbENvbXBvbmVudDogYW55O1xuICAvKipcbiAgICogQ3VzdG9tIGhlYWQgZHJvcGRvd24gZm9yIGNvbHVtblxuICAgKi9cbiAgaGVhZERyb3Bkb3duQ29uZmlnOiBIZWFkRHJvcGRvd25UYWJDb25maWc7XG4gIC8qKlxuICAgKiDQk9GA0YPQv9C/0LjRgNC+0LLQsNGC0Ywg0L/QviDRjdGC0L7QvNGDINGB0YLQvtC70LHRhtGDXG4gICAqL1xuICBncm91cEJ5OiBib29sZWFuO1xuICAvKipcbiAgICog0J/QvtGA0Y/QtNC+0Log0LPRgNGD0L/Qv9C40YDQvtCy0LrQuFxuICAgKi9cbiAgZ3JvdXBpbmdPcmRlciA9IDA7XG4gIC8qKlxuICAgKlxuICAgKi9cbiAgZ3JvdXBCeUZuOiAoKHJvdzogVGFibGVSb3c8YW55PikgPT4gc3RyaW5nKSB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqINCU0L7Rh9C10YDQvdC40LUg0LrQvtC70L7QvdC60LhcbiAgICovXG4gIG92ZXJyaWRlIGNvbHVtbnM6IFRhYmxlQ29sdW1uW107XG5cbiAgLyoqXG4gICAqIEFnZ3JlZ2F0ZSB0eXBlXG4gICAqL1xuICBhZ2dyZWdhdGU6IEFnZ3JlZ2F0aW9uVHlwZTtcblxuICAvKipcbiAgICog0JfQvdCw0YfQtdC90LjQtSDQv9C+INGD0LzQvtC70YfQsNC90LjRjiDQv9GA0Lgg0YHQvtC30LTQsNC90LjQuCDQt9Cw0L/QuNGB0LhcbiAgICovXG4gIGRlZmF1bHRWYWx1ZTogYW55O1xuXG4gIC8qKlxuICAgKiDQl9C90LDRh9C10L3QuNC1INC/0L4g0YPQvNC+0LvRh9Cw0L3QuNGOINC/0YDQuCDRgdC+0LfQtNCw0L3QuNC4INC30LDQv9C40YHQuFxuICAgKi9cbiAgbWF4VmFsdWU6IG51bWJlcjtcblxuICAvKipcbiAgICog0JfQvdCw0YfQtdC90LjQtSDQv9C+INGD0LzQvtC70YfQsNC90LjRjiDQv9GA0Lgg0YHQvtC30LTQsNC90LjQuCDQt9Cw0L/QuNGB0LhcbiAgICovXG4gIG1pblZhbHVlOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqINCf0L7Qu9C1INC+0LHRj9C30LDRgtC10LvRjNC90L4g0LTQu9GPINC30LDQv9C+0LvQvdC10L3QuNGPXG4gICAqL1xuICByZXF1aXJlZDogYm9vbGVhbjtcblxuICAvKipcbiAgICog0JjQvdC40YbQuNCw0LvQuNC30LDRhtC40Y8g0LjQtyDQsNC90L7QvdC40LzQvdC+0LPQviDQvtCx0YrQtdC60YLQsFxuICAgKi9cbiAgY29uc3RydWN0b3Iob3B0aW9ucz86IHtcbiAgICB3aWR0aD86IG51bWJlcjtcbiAgICBmbGV4PzogbnVtYmVyO1xuICAgIHNvcnRPcmRlcj86IG51bWJlcjtcbiAgICBsb2NrZWQ/OiBib29sZWFuO1xuICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgcGFyZW50TmFtZT86IHN0cmluZztcbiAgICBjYXB0aW9uPzogc3RyaW5nO1xuICAgIGhpbnQ/OiBzdHJpbmc7XG4gICAgdW5pdD86IHN0cmluZztcbiAgICB1bml0TWVhc3VyZVBhcmFtZXRlcklkPzogbnVtYmVyO1xuICAgIHVuaXRJZD86IG51bWJlcjtcbiAgICBzb3J0YWJsZT86IGJvb2xlYW47XG4gICAgc29ydEZpZWxkPzogc3RyaW5nO1xuICAgIGZpbHRlcmFibGU/OiBib29sZWFuO1xuICAgIGZpbHRlckZpZWxkPzogc3RyaW5nO1xuICAgIGZpbHRlclR5cGU/OiBGaWx0ZXJUeXBlIHwgbnVsbDtcbiAgICBzdHJpbmdGaWx0ZXJUeXBlPzogU3RyaW5nRmlsdGVyVHlwZTtcbiAgICBsaXN0RmlsdGVyVHlwZT86IExpc3RGaWx0ZXJUeXBlO1xuICAgIHN0cmljdD86IGJvb2xlYW47XG4gICAgaGVhZENlbGxDbGFzcz86IHN0cmluZ1tdO1xuICAgIGNlbGxDbGFzcz86IHN0cmluZ1tdO1xuICAgIGRhdGE/OiBhbnk7XG4gICAgZWRpdGFibGU/OiBib29sZWFuIHwgKChjb29yZGluYXRlczogSUNlbGxJbnN0YW5jZTxhbnk+KSA9PiBib29sZWFuKTtcbiAgICBvYmplY3RUeXBlPzogYm9vbGVhbjtcbiAgICBjZWxsQ29tcG9uZW50PzogYW55O1xuICAgIGhlYWRDZWxsQ29tcG9uZW50PzogYW55O1xuICAgIGhlYWREcm9wZG93bkNvbmZpZz86IEhlYWREcm9wZG93blRhYkNvbmZpZztcbiAgICBmaWx0ZXJDb21wb25lbnQ/OiBhbnk7XG4gICAgZ3JvdXBCeT86IGJvb2xlYW47XG4gICAgZ3JvdXBpbmdPcmRlcj86IG51bWJlcjtcbiAgICBncm91cEJ5Rm4/OiAocm93OiBUYWJsZVJvdzxhbnk+KSA9PiBzdHJpbmc7XG4gICAgY29sdW1ucz86IGFueVtdO1xuICAgIGFnZ3JlZ2F0ZT86IEFnZ3JlZ2F0aW9uVHlwZTtcbiAgICBkZWZhdWx0VmFsdWU/OiBhbnk7XG4gICAgbWF4VmFsdWU/OiBudW1iZXI7XG4gICAgbWluVmFsdWU/OiBudW1iZXI7XG4gICAgcmVxdWlyZWQ/OiBib29sZWFuO1xuICB9KSB7XG4gICAgc3VwZXIob3B0aW9ucyk7XG4gICAgdGhpcy53aWR0aCA9IG9wdGlvbnM/LndpZHRoID8/IDE1MDtcbiAgICB0aGlzLmZsZXggPSBvcHRpb25zPy5mbGV4ID8/IDA7XG4gICAgdGhpcy5oZWFkQ2VsbENsYXNzID0gb3B0aW9ucz8uaGVhZENlbGxDbGFzcyA/PyBbXTtcbiAgICB0aGlzLmNlbGxDbGFzcyA9IG9wdGlvbnM/LmNlbGxDbGFzcyA/PyBbXTtcbiAgICB0aGlzLmxvY2tlZCA9IG9wdGlvbnM/LmxvY2tlZCA/PyBmYWxzZTtcbiAgICB0aGlzLnBhcmVudE5hbWUgPSBvcHRpb25zPy5wYXJlbnROYW1lO1xuICAgIHRoaXMudW5pdCA9IG9wdGlvbnM/LnVuaXQgPz8gJyc7XG4gICAgdGhpcy51bml0TWVhc3VyZVBhcmFtZXRlcklkID0gb3B0aW9ucz8udW5pdE1lYXN1cmVQYXJhbWV0ZXJJZDtcbiAgICB0aGlzLnVuaXRJZCA9IG9wdGlvbnM/LnVuaXRJZDtcbiAgICB0aGlzLmRhdGEgPSBvcHRpb25zPy5kYXRhO1xuICAgIHRoaXMuZWRpdGFibGUgPSBvcHRpb25zPy5lZGl0YWJsZSA/PyB0cnVlO1xuICAgIHRoaXMuZ3JvdXBCeSA9IG9wdGlvbnM/Lmdyb3VwQnkgPz8gZmFsc2U7XG4gICAgdGhpcy5ncm91cGluZ09yZGVyID0gb3B0aW9ucz8uZ3JvdXBpbmdPcmRlciA/PyAwO1xuICAgIHRoaXMuZ3JvdXBCeUZuID0gb3B0aW9ucz8uZ3JvdXBCeUZuO1xuICAgIHRoaXMuaGVhZENlbGxDb21wb25lbnQgPSBvcHRpb25zPy5oZWFkQ2VsbENvbXBvbmVudDtcbiAgICB0aGlzLmhlYWREcm9wZG93bkNvbmZpZyA9IG9wdGlvbnM/LmhlYWREcm9wZG93bkNvbmZpZztcbiAgICB0aGlzLmNlbGxDb21wb25lbnQgPSBvcHRpb25zPy5jZWxsQ29tcG9uZW50O1xuICAgIHRoaXMuYWdncmVnYXRlID0gb3B0aW9ucz8uYWdncmVnYXRlO1xuICAgIHRoaXMuZGVmYXVsdFZhbHVlID0gb3B0aW9ucz8uZGVmYXVsdFZhbHVlO1xuICAgIHRoaXMubWF4VmFsdWUgPSBvcHRpb25zPy5tYXhWYWx1ZTtcbiAgICB0aGlzLm1pblZhbHVlID0gb3B0aW9ucz8ubWluVmFsdWU7XG4gICAgdGhpcy5yZXF1aXJlZCA9IG9wdGlvbnM/LnJlcXVpcmVkO1xuICAgIHRoaXMuY29sdW1ucyA9IG9wdGlvbnM/LmNvbHVtbnM/Lm1hcCgoeCkgPT4gbmV3IFRhYmxlQ29sdW1uKHgpKSA/PyBbXTtcbiAgfVxufVxuIl19
@@ -29,9 +29,9 @@ export class BooleanCellComponent extends CellComponentBase {
29
29
  this.cdr.markForCheck();
30
30
  }
31
31
  }
32
- BooleanCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: BooleanCellComponent, deps: [{ token: i1.TableService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
33
- BooleanCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: BooleanCellComponent, selector: "teta-boolean-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<teta-checkbox\n #input\n *ngIf=\"edit\"\n [binary]=\"true\"\n [(ngModel)]=\"row.data[column.name]\"\n (blur)=\"setValue()\"\n></teta-checkbox>\n", styles: [""], components: [{ type: i2.CheckboxComponent, selector: "teta-checkbox", inputs: ["class", "palette", "noLabel", "disabled", "value", "binary", "allowNull"] }], 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 });
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: BooleanCellComponent, decorators: [{
32
+ BooleanCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: BooleanCellComponent, deps: [{ token: i1.TableService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
33
+ BooleanCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: BooleanCellComponent, selector: "teta-boolean-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<teta-checkbox\n #input\n *ngIf=\"edit\"\n [binary]=\"true\"\n [(ngModel)]=\"row.data[column.name]\"\n (blur)=\"setValue()\"\n></teta-checkbox>\n", styles: [""], components: [{ type: i2.CheckboxComponent, selector: "teta-checkbox", inputs: ["class", "palette", "noLabel", "disabled", "value", "binary", "allowNull"] }], 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 });
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: BooleanCellComponent, decorators: [{
35
35
  type: Component,
36
36
  args: [{ selector: 'teta-boolean-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<teta-checkbox\n #input\n *ngIf=\"edit\"\n [binary]=\"true\"\n [(ngModel)]=\"row.data[column.name]\"\n (blur)=\"setValue()\"\n></teta-checkbox>\n", styles: [""] }]
37
37
  }], ctorParameters: function () { return [{ type: i1.TableService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { column: [{
@@ -31,9 +31,9 @@ export class DateCellComponent extends CellComponentBase {
31
31
  this.cdr.markForCheck();
32
32
  }
33
33
  }
34
- DateCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: DateCellComponent, deps: [{ token: i1.TableService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
35
- DateCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: DateCellComponent, selector: "teta-date-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] | date : 'dd.MM.yyyy'}}\n</span>\n<teta-date-picker class=\"datepicker-table\"\n #input\n *ngIf=\"edit\"\n [appendToBody]=\"true\"\n [showTime]=\"false\"\n [ngModel]=\"row.data[column.name]\"\n (ngModelChange)=\"setValue($event)\"\n></teta-date-picker>\n", styles: [""], components: [{ type: i2.DatePickerComponent, selector: "teta-date-picker", inputs: ["disabled", "invalid", "firstDayOfWeek", "disabledDates", "disabledPeriods", "disabledDays", "minDate", "maxDate", "minYearDate", "maxYearDate", "align", "verticalAlign", "appendToBody", "allowNull", "backdrop", "showTime", "format"] }], 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"] }], pipes: { "date": i3.DatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: DateCellComponent, decorators: [{
34
+ DateCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: DateCellComponent, deps: [{ token: i1.TableService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
35
+ DateCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: DateCellComponent, selector: "teta-date-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] | date : 'dd.MM.yyyy'}}\n</span>\n<teta-date-picker class=\"datepicker-table\"\n #input\n *ngIf=\"edit\"\n [appendToBody]=\"true\"\n [showTime]=\"false\"\n [ngModel]=\"row.data[column.name]\"\n (ngModelChange)=\"setValue($event)\"\n></teta-date-picker>\n", styles: [""], components: [{ type: i2.DatePickerComponent, selector: "teta-date-picker", inputs: ["disabled", "invalid", "firstDayOfWeek", "disabledDates", "disabledPeriods", "disabledDays", "minDate", "maxDate", "minYearDate", "maxYearDate", "align", "verticalAlign", "appendToBody", "allowNull", "backdrop", "showTime", "format"] }], 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"] }], pipes: { "date": i3.DatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: DateCellComponent, decorators: [{
37
37
  type: Component,
38
38
  args: [{ selector: 'teta-date-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] | date : 'dd.MM.yyyy'}}\n</span>\n<teta-date-picker class=\"datepicker-table\"\n #input\n *ngIf=\"edit\"\n [appendToBody]=\"true\"\n [showTime]=\"false\"\n [ngModel]=\"row.data[column.name]\"\n (ngModelChange)=\"setValue($event)\"\n></teta-date-picker>\n", styles: [""] }]
39
39
  }], ctorParameters: function () { return [{ type: i1.TableService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { column: [{
@@ -30,9 +30,9 @@ export class DateTimeCellComponent extends CellComponentBase {
30
30
  this.cdr.markForCheck();
31
31
  }
32
32
  }
33
- DateTimeCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: DateTimeCellComponent, deps: [{ token: i1.TableService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
34
- DateTimeCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: DateTimeCellComponent, selector: "teta-date-time-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] | date : 'dd.MM.yyyy HH:mm:ss'}}\n</span>\n<teta-date-picker class=\"datepicker-table\" #input\n *ngIf=\"edit\"\n [appendToBody]=\"true\"\n [showTime]=\"true\"\n [ngModel]=\"row.data[column.name]\"\n (ngModelChange)=\"setValue($event)\"\n></teta-date-picker>\n", styles: [""], components: [{ type: i2.DatePickerComponent, selector: "teta-date-picker", inputs: ["disabled", "invalid", "firstDayOfWeek", "disabledDates", "disabledPeriods", "disabledDays", "minDate", "maxDate", "minYearDate", "maxYearDate", "align", "verticalAlign", "appendToBody", "allowNull", "backdrop", "showTime", "format"] }], 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"] }], pipes: { "date": i3.DatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: DateTimeCellComponent, decorators: [{
33
+ DateTimeCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: DateTimeCellComponent, deps: [{ token: i1.TableService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
34
+ DateTimeCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: DateTimeCellComponent, selector: "teta-date-time-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] | date : 'dd.MM.yyyy HH:mm:ss'}}\n</span>\n<teta-date-picker class=\"datepicker-table\" #input\n *ngIf=\"edit\"\n [appendToBody]=\"true\"\n [showTime]=\"true\"\n [ngModel]=\"row.data[column.name]\"\n (ngModelChange)=\"setValue($event)\"\n></teta-date-picker>\n", styles: [""], components: [{ type: i2.DatePickerComponent, selector: "teta-date-picker", inputs: ["disabled", "invalid", "firstDayOfWeek", "disabledDates", "disabledPeriods", "disabledDays", "minDate", "maxDate", "minYearDate", "maxYearDate", "align", "verticalAlign", "appendToBody", "allowNull", "backdrop", "showTime", "format"] }], 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"] }], pipes: { "date": i3.DatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: DateTimeCellComponent, decorators: [{
36
36
  type: Component,
37
37
  args: [{ selector: 'teta-date-time-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] | date : 'dd.MM.yyyy HH:mm:ss'}}\n</span>\n<teta-date-picker class=\"datepicker-table\" #input\n *ngIf=\"edit\"\n [appendToBody]=\"true\"\n [showTime]=\"true\"\n [ngModel]=\"row.data[column.name]\"\n (ngModelChange)=\"setValue($event)\"\n></teta-date-picker>\n", styles: [""] }]
38
38
  }], ctorParameters: function () { return [{ type: i1.TableService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { column: [{
@@ -25,14 +25,14 @@ export class DefaultHeadCellComponent extends HeadCellComponentBase {
25
25
  ngOnInit() {
26
26
  }
27
27
  }
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 });
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;padding:6px 8px}\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 });
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: DefaultHeadCellComponent, decorators: [{
28
+ DefaultHeadCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: DefaultHeadCellComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
29
+ DefaultHeadCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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 font-caption\" style=\"overflow: visible;\">\n [{{column.unit}}]\n </div>\n</div>\n", styles: [":host{align-items:center;justify-content:center;display:flex;min-width:0;padding:6px 8px}\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 });
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: DefaultHeadCellComponent, decorators: [{
31
31
  type: Component,
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;padding:6px 8px}\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 font-caption\" style=\"overflow: visible;\">\n [{{column.unit}}]\n </div>\n</div>\n", styles: [":host{align-items:center;justify-content:center;display:flex;min-width:0;padding:6px 8px}\n"] }]
33
33
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { column: [{
34
34
  type: Input
35
35
  }], data: [{
36
36
  type: Input
37
37
  }] } });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1oZWFkLWNlbGwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC90YWJsZS9kZWZhdWx0L2RlZmF1bHQtaGVhZC1jZWxsL2RlZmF1bHQtaGVhZC1jZWxsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGFibGUvZGVmYXVsdC9kZWZhdWx0LWhlYWQtY2VsbC9kZWZhdWx0LWhlYWQtY2VsbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxLQUFLLEdBRU4sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0scUNBQXFDLENBQUM7Ozs7QUFVMUUsTUFBTSxPQUFPLHdCQUNYLFNBQVEscUJBQXdCO0lBeUJoQyxZQUFvQixJQUF1QjtRQUN6QyxLQUFLLEVBQUUsQ0FBQztRQURVLFNBQUksR0FBSixJQUFJLENBQW1CO0lBRTNDLENBQUM7SUF0QkQsSUFDSSxNQUFNLENBQUMsR0FBZ0I7UUFDekIsSUFBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUM7UUFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUNJLElBQUksQ0FBQyxJQUFtQjtRQUMxQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQU1ELFFBQVE7SUFDUixDQUFDOztxSEEvQlUsd0JBQXdCO3lHQUF4Qix3QkFBd0IsaUlDakJyQyxxU0FRQTsyRkRTYSx3QkFBd0I7a0JBTnBDLFNBQVM7K0JBQ0Usd0JBQXdCLG1CQUdqQix1QkFBdUIsQ0FBQyxNQUFNO3dHQVMzQyxNQUFNO3NCQURULEtBQUs7Z0JBV0YsSUFBSTtzQkFEUCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPbkluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtIZWFkQ2VsbENvbXBvbmVudEJhc2V9IGZyb20gJy4uLy4uL2Jhc2UvaGVhZC1jZWxsLWNvbXBvbmVudC1iYXNlJztcbmltcG9ydCB7VGFibGVDb2x1bW59IGZyb20gJy4uLy4uL2NvbnRyYWN0L3RhYmxlLWNvbHVtbic7XG5pbXBvcnQge1RhYmxlUm93fSBmcm9tICcuLi8uLi9jb250cmFjdC90YWJsZS1yb3cnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXRhLWRlZmF1bHQtaGVhZC1jZWxsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RlZmF1bHQtaGVhZC1jZWxsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGVmYXVsdC1oZWFkLWNlbGwuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIERlZmF1bHRIZWFkQ2VsbENvbXBvbmVudDxUPlxuICBleHRlbmRzIEhlYWRDZWxsQ29tcG9uZW50QmFzZTxUPlxuICBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByaXZhdGUgX2NvbHVtbjogVGFibGVDb2x1bW47XG4gIHByaXZhdGUgX2RhdGE6IFRhYmxlUm93PFQ+W107XG5cbiAgQElucHV0KClcbiAgc2V0IGNvbHVtbih2YWw6IFRhYmxlQ29sdW1uKSB7XG4gICAgdGhpcy5fY29sdW1uID0gdmFsO1xuICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBnZXQgY29sdW1uKCk6IFRhYmxlQ29sdW1uIHtcbiAgICByZXR1cm4gdGhpcy5fY29sdW1uO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IGRhdGEoZGF0YTogVGFibGVSb3c8VD5bXSkge1xuICAgIHRoaXMuX2RhdGEgPSBkYXRhO1xuICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBnZXQgZGF0YSgpOiBUYWJsZVJvdzxUPltdIHtcbiAgICByZXR1cm4gdGhpcy5fZGF0YTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjb2x1bW4gY29sdW1uX2F1dG9cIiBbdGV0YUhpbnRdPVwiY29sdW1uLmhpbnQgfHwgY29sdW1uLmNhcHRpb25cIj5cbiAgPGRpdiBjbGFzcz1cInRhYmxlLWhlYWRfX2NlbGxfX3RleHRcIj5cbiAgICB7e2NvbHVtbi5jYXB0aW9ufX1cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9XCJjb2x1bW4udW5pdFwiIGNsYXNzPVwidGFibGUtaGVhZF9fY2VsbF9fdGV4dFwiIHN0eWxlPVwib3ZlcmZsb3c6IHZpc2libGU7XCI+XG4gICAgW3t7Y29sdW1uLnVuaXR9fV1cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1oZWFkLWNlbGwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC90YWJsZS9kZWZhdWx0L2RlZmF1bHQtaGVhZC1jZWxsL2RlZmF1bHQtaGVhZC1jZWxsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGFibGUvZGVmYXVsdC9kZWZhdWx0LWhlYWQtY2VsbC9kZWZhdWx0LWhlYWQtY2VsbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxLQUFLLEdBRU4sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0scUNBQXFDLENBQUM7Ozs7QUFVMUUsTUFBTSxPQUFPLHdCQUNYLFNBQVEscUJBQXdCO0lBeUJoQyxZQUFvQixJQUF1QjtRQUN6QyxLQUFLLEVBQUUsQ0FBQztRQURVLFNBQUksR0FBSixJQUFJLENBQW1CO0lBRTNDLENBQUM7SUF0QkQsSUFDSSxNQUFNLENBQUMsR0FBZ0I7UUFDekIsSUFBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUM7UUFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUNJLElBQUksQ0FBQyxJQUFtQjtRQUMxQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQU1ELFFBQVE7SUFDUixDQUFDOztxSEEvQlUsd0JBQXdCO3lHQUF4Qix3QkFBd0IsaUlDakJyQyxrVEFRQTsyRkRTYSx3QkFBd0I7a0JBTnBDLFNBQVM7K0JBQ0Usd0JBQXdCLG1CQUdqQix1QkFBdUIsQ0FBQyxNQUFNO3dHQVMzQyxNQUFNO3NCQURULEtBQUs7Z0JBV0YsSUFBSTtzQkFEUCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPbkluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtIZWFkQ2VsbENvbXBvbmVudEJhc2V9IGZyb20gJy4uLy4uL2Jhc2UvaGVhZC1jZWxsLWNvbXBvbmVudC1iYXNlJztcbmltcG9ydCB7VGFibGVDb2x1bW59IGZyb20gJy4uLy4uL2NvbnRyYWN0L3RhYmxlLWNvbHVtbic7XG5pbXBvcnQge1RhYmxlUm93fSBmcm9tICcuLi8uLi9jb250cmFjdC90YWJsZS1yb3cnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXRhLWRlZmF1bHQtaGVhZC1jZWxsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RlZmF1bHQtaGVhZC1jZWxsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGVmYXVsdC1oZWFkLWNlbGwuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIERlZmF1bHRIZWFkQ2VsbENvbXBvbmVudDxUPlxuICBleHRlbmRzIEhlYWRDZWxsQ29tcG9uZW50QmFzZTxUPlxuICBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByaXZhdGUgX2NvbHVtbjogVGFibGVDb2x1bW47XG4gIHByaXZhdGUgX2RhdGE6IFRhYmxlUm93PFQ+W107XG5cbiAgQElucHV0KClcbiAgc2V0IGNvbHVtbih2YWw6IFRhYmxlQ29sdW1uKSB7XG4gICAgdGhpcy5fY29sdW1uID0gdmFsO1xuICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBnZXQgY29sdW1uKCk6IFRhYmxlQ29sdW1uIHtcbiAgICByZXR1cm4gdGhpcy5fY29sdW1uO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IGRhdGEoZGF0YTogVGFibGVSb3c8VD5bXSkge1xuICAgIHRoaXMuX2RhdGEgPSBkYXRhO1xuICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBnZXQgZGF0YSgpOiBUYWJsZVJvdzxUPltdIHtcbiAgICByZXR1cm4gdGhpcy5fZGF0YTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjb2x1bW4gY29sdW1uX2F1dG9cIiBbdGV0YUhpbnRdPVwiY29sdW1uLmhpbnQgfHwgY29sdW1uLmNhcHRpb25cIj5cbiAgPGRpdiBjbGFzcz1cInRhYmxlLWhlYWRfX2NlbGxfX3RleHRcIj5cbiAgICB7e2NvbHVtbi5jYXB0aW9ufX1cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9XCJjb2x1bW4udW5pdFwiIGNsYXNzPVwidGFibGUtaGVhZF9fY2VsbF9fdGV4dCBmb250LWNhcHRpb25cIiBzdHlsZT1cIm92ZXJmbG93OiB2aXNpYmxlO1wiPlxuICAgIFt7e2NvbHVtbi51bml0fX1dXG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -7,9 +7,9 @@ export class GroupRowComponent extends GroupRowComponentBase {
7
7
  }
8
8
  ngOnInit() { }
9
9
  }
10
- GroupRowComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: GroupRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11
- GroupRowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: GroupRowComponent, selector: "teta-group-row", inputs: { row: "row", columns: "columns" }, usesInheritance: true, ngImport: i0, template: "<span>{{row.groupValue[row.level]}} ()</span>\n<!--<span>{{row.groupValue[row.level]}} ({{row.children.length}})</span>-->\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush });
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: GroupRowComponent, decorators: [{
10
+ GroupRowComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: GroupRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11
+ GroupRowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: GroupRowComponent, selector: "teta-group-row", inputs: { row: "row", columns: "columns" }, usesInheritance: true, ngImport: i0, template: "<span>{{row.groupValue[row.level]}} ()</span>\n<!--<span>{{row.groupValue[row.level]}} ({{row.children.length}})</span>-->\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush });
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: GroupRowComponent, decorators: [{
13
13
  type: Component,
14
14
  args: [{ selector: 'teta-group-row', changeDetection: ChangeDetectionStrategy.OnPush, template: "<span>{{row.groupValue[row.level]}} ()</span>\n<!--<span>{{row.groupValue[row.level]}} ({{row.children.length}})</span>-->\n", styles: [""] }]
15
15
  }], ctorParameters: function () { return []; }, propDecorators: { row: [{
@@ -58,9 +58,9 @@ export class ListCellComponent extends CellComponentBase {
58
58
  return item.name;
59
59
  }
60
60
  }
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'\"\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
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: ListCellComponent, decorators: [{
61
+ ListCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", 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.3", 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
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ListCellComponent, decorators: [{
64
64
  type: Component,
65
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: [{
@@ -35,9 +35,9 @@ export class NumericCellComponent extends CellComponentBase {
35
35
  this.cdr.markForCheck();
36
36
  }
37
37
  }
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 });
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 });
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: NumericCellComponent, decorators: [{
38
+ NumericCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NumericCellComponent, deps: [{ token: i1.TableService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
39
+ NumericCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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 });
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NumericCellComponent, decorators: [{
41
41
  type: Component,
42
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: [""] }]
43
43
  }], ctorParameters: function () { return [{ type: i1.TableService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { column: [{
@@ -35,9 +35,9 @@ export class StringCellComponent extends CellComponentBase {
35
35
  this.cdr.detectChanges();
36
36
  }
37
37
  }
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 });
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 });
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: StringCellComponent, decorators: [{
38
+ StringCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: StringCellComponent, deps: [{ token: i1.TableService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
39
+ StringCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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 });
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: StringCellComponent, decorators: [{
41
41
  type: Component,
42
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: [""] }]
43
43
  }], ctorParameters: function () { return [{ type: i1.TableService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { column: [{
@@ -1,4 +1,4 @@
1
- import { ChangeDetectionStrategy, Component, HostBinding, HostListener, Input, } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, HostBinding, HostListener, Input, ViewChild, } from '@angular/core';
2
2
  import { ColumnResizeEvent } from '../contract/column-resize-event';
3
3
  import { map } from 'rxjs/operators';
4
4
  import { StateUtil } from '../util/state-util';
@@ -11,10 +11,13 @@ import * as i2 from "../../dropdown/dropdown/dropdown.component";
11
11
  import * as i3 from "../head-cell-host/head-cell-host.component";
12
12
  import * as i4 from "../../icon/icon/icon.component";
13
13
  import * as i5 from "../head-cell-dropdown/head-cell-dropdown.component";
14
- import * as i6 from "../../dropdown/dropdown-head.directive";
15
- import * as i7 from "@angular/common";
16
- import * as i8 from "../../dropdown/dropdown-content.directive";
17
- import * as i9 from "../../../directive/resize-drag/resize-drag.directive";
14
+ import * as i6 from "../table-head/main-dropdown-tab/main-dropdown-tab.component";
15
+ import * as i7 from "../table-head/filter-dropdown-tab/filter-dropdown-tab.component";
16
+ import * as i8 from "../table-head/visibility-dropdown-tab/visibility-dropdown-tab.component";
17
+ import * as i9 from "../../dropdown/dropdown-head.directive";
18
+ import * as i10 from "@angular/common";
19
+ import * as i11 from "../../dropdown/dropdown-content.directive";
20
+ import * as i12 from "../../../directive/resize-drag/resize-drag.directive";
18
21
  export class HeadCellComponent {
19
22
  constructor(_svc, _app, _elementRef) {
20
23
  this._svc = _svc;
@@ -25,6 +28,36 @@ export class HeadCellComponent {
25
28
  this.showDrag = null;
26
29
  this._alive = true;
27
30
  }
31
+ get defaultTemplates() {
32
+ return [
33
+ {
34
+ icon: 'menu',
35
+ template: this.mainTemplate,
36
+ order: 10,
37
+ showTab: () => true,
38
+ }, {
39
+ icon: 'filter',
40
+ template: this.filterTemplate,
41
+ order: 20,
42
+ showTab: (column) => column.filterable,
43
+ }, {
44
+ icon: 'eye',
45
+ template: this.columnsTemplate,
46
+ order: 30,
47
+ showTab: () => true,
48
+ }
49
+ ];
50
+ }
51
+ get tabTemplates() {
52
+ if (this.column?.headDropdownConfig && this.column.headDropdownConfig.tabs?.length > 0) {
53
+ if (this.column.headDropdownConfig.strategy === 'replace') {
54
+ return this.column.headDropdownConfig.tabs;
55
+ }
56
+ return [...this.defaultTemplates, ...this.column.headDropdownConfig.tabs]
57
+ .sort((a, b) => a.order - b.order);
58
+ }
59
+ return this.defaultTemplates;
60
+ }
28
61
  dragstart(event) {
29
62
  if (event && event.dataTransfer) {
30
63
  event.dataTransfer.setData('text', 'move');
@@ -77,12 +110,13 @@ export class HeadCellComponent {
77
110
  ngOnDestroy() {
78
111
  this._alive = false;
79
112
  }
80
- autosizeColumn() {
81
- this._svc.autosizeColumn(this.column, this._elementRef.nativeElement);
82
- }
83
- autosizeAllColumns() {
84
- this._svc.autosizeAllColumns(this._elementRef.nativeElement);
85
- }
113
+ // autosizeColumn() {
114
+ // this._svc.autosizeColumn(this.column, this._elementRef.nativeElement);
115
+ // }
116
+ //
117
+ // autosizeAllColumns() {
118
+ // this._svc.autosizeAllColumns(this._elementRef.nativeElement);
119
+ // }
86
120
  resizeStart(event) {
87
121
  const rect = this._elementRef.nativeElement.getBoundingClientRect();
88
122
  this._startPosition = rect.x;
@@ -100,11 +134,11 @@ export class HeadCellComponent {
100
134
  this._startPosition = null;
101
135
  }
102
136
  }
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 });
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", exportAs: ["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 });
105
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: HeadCellComponent, decorators: [{
137
+ HeadCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: HeadCellComponent, deps: [{ token: i1.TableService }, { token: i0.ApplicationRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
138
+ HeadCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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" } }, viewQueries: [{ propertyName: "mainTemplate", first: true, predicate: ["mainTemplate"], descendants: true, static: true }, { propertyName: "filterTemplate", first: true, predicate: ["filterTemplate"], descendants: true, static: true }, { propertyName: "columnsTemplate", first: true, predicate: ["columnsTemplate"], descendants: true, static: true }], ngImport: i0, template: "<div draggable=\"true\" class=\"row row_auto\">\n <teta-dropdown [autoCloseIgnore]=\"['enter', 'inside']\"\n [verticalAlign]=\"verticalAlign.bottom\"\n [appendToBody]=\"false\"\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 [tabTemplates]=\"tabTemplates\"\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()\">\n <div class=\"table-head__cell__resize_drag\"></div>\n</div>\n<ng-template #mainTemplate let-column=\"column\" let-columns=\"columns\" let-data=\"data\" let-state=\"state\"\n let-close=\"close\">\n <teta-main-dropdown-tab [column]=\"column\" [state]=\"state\" [close]=\"close\"></teta-main-dropdown-tab>\n</ng-template>\n<ng-template #filterTemplate let-column=\"column\" let-columns=\"columns\" let-data=\"data\" let-state=\"state\"\n let-close=\"close\">\n <teta-filter-dropdown-tab [column]=\"column\"\n [state]=\"state\"\n [close]=\"close\"\n [data]=\"data\"></teta-filter-dropdown-tab>\n</ng-template>\n<ng-template #columnsTemplate let-column=\"column\" let-columns=\"columns\" let-data=\"data\" let-state=\"state\"\n let-close=\"close\">\n <teta-visibility-dropdown-tab [column]=\"column\"\n [columns]=\"columns\"\n [state]=\"state\"\n [close]=\"close\"\n [data]=\"data\"></teta-visibility-dropdown-tab>\n</ng-template>\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", exportAs: ["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", "tabTemplates", "dropDownOpen"], outputs: ["dropDownOpenChange"] }, { type: i6.MainDropdownTabComponent, selector: "teta-main-dropdown-tab", inputs: ["columns", "column", "state", "data", "close"] }, { type: i7.FilterDropdownTabComponent, selector: "teta-filter-dropdown-tab", inputs: ["columns", "column", "state", "data", "close"] }, { type: i8.VisibilityDropdownTabComponent, selector: "teta-visibility-dropdown-tab", inputs: ["columns", "column", "state", "data", "close"] }], directives: [{ type: i9.DropdownHeadDirective, selector: "[tetaDropdownHead]" }, { type: i10.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i11.DropdownContentDirective, selector: "[tetaDropdownContent]" }, { type: i12.ResizeDragDirective, selector: "[tetaResizeDrag]", inputs: ["tetaResizeDrag"], outputs: ["resizeStart", "resizeProcess", "resizeEnd"] }], pipes: { "async": i10.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
139
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: HeadCellComponent, decorators: [{
106
140
  type: Component,
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"] }]
141
+ args: [{ selector: 'teta-head-cell', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div draggable=\"true\" class=\"row row_auto\">\n <teta-dropdown [autoCloseIgnore]=\"['enter', 'inside']\"\n [verticalAlign]=\"verticalAlign.bottom\"\n [appendToBody]=\"false\"\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 [tabTemplates]=\"tabTemplates\"\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()\">\n <div class=\"table-head__cell__resize_drag\"></div>\n</div>\n<ng-template #mainTemplate let-column=\"column\" let-columns=\"columns\" let-data=\"data\" let-state=\"state\"\n let-close=\"close\">\n <teta-main-dropdown-tab [column]=\"column\" [state]=\"state\" [close]=\"close\"></teta-main-dropdown-tab>\n</ng-template>\n<ng-template #filterTemplate let-column=\"column\" let-columns=\"columns\" let-data=\"data\" let-state=\"state\"\n let-close=\"close\">\n <teta-filter-dropdown-tab [column]=\"column\"\n [state]=\"state\"\n [close]=\"close\"\n [data]=\"data\"></teta-filter-dropdown-tab>\n</ng-template>\n<ng-template #columnsTemplate let-column=\"column\" let-columns=\"columns\" let-data=\"data\" let-state=\"state\"\n let-close=\"close\">\n <teta-visibility-dropdown-tab [column]=\"column\"\n [columns]=\"columns\"\n [state]=\"state\"\n [close]=\"close\"\n [data]=\"data\"></teta-visibility-dropdown-tab>\n</ng-template>\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"] }]
108
142
  }], ctorParameters: function () { return [{ type: i1.TableService }, { type: i0.ApplicationRef }, { type: i0.ElementRef }]; }, propDecorators: { column: [{
109
143
  type: Input
110
144
  }], showHeadCellMenu: [{
@@ -114,6 +148,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
114
148
  }], dropDownOpen: [{
115
149
  type: HostBinding,
116
150
  args: ['class.table-head__cell_active']
151
+ }], mainTemplate: [{
152
+ type: ViewChild,
153
+ args: ['mainTemplate', { static: true }]
154
+ }], filterTemplate: [{
155
+ type: ViewChild,
156
+ args: ['filterTemplate', { static: true }]
157
+ }], columnsTemplate: [{
158
+ type: ViewChild,
159
+ args: ['columnsTemplate', { static: true }]
117
160
  }], dragstart: [{
118
161
  type: HostListener,
119
162
  args: ['dragstart', ['$event']]
@@ -133,4 +176,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
133
176
  type: HostListener,
134
177
  args: ['drop', ['$event']]
135
178
  }] } });
136
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZC1jZWxsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGFibGUvaGVhZC1jZWxsL2hlYWQtY2VsbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RhYmxlL2hlYWQtY2VsbC9oZWFkLWNlbGwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBQ0csV0FBVyxFQUN2QixZQUFZLEVBQ1osS0FBSyxHQUdOLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBR2xFLE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuQyxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDN0MsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RCxPQUFPLEVBQUMsYUFBYSxFQUFhLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7OztBQVMvQyxNQUFNLE9BQU8saUJBQWlCO0lBb0I1QixZQUNVLElBQXFCLEVBQ3JCLElBQW9CLEVBQ3BCLFdBQXVCO1FBRnZCLFNBQUksR0FBSixJQUFJLENBQWlCO1FBQ3JCLFNBQUksR0FBSixJQUFJLENBQWdCO1FBQ3BCLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBbEJqQyxrQkFBYSxHQUFHLGFBQWEsQ0FBQztRQUM5QixVQUFLLEdBQUcsS0FBSyxDQUFDO1FBUWQsYUFBUSxHQUE0QixJQUFJLENBQUM7UUFHakMsV0FBTSxHQUFHLElBQUksQ0FBQztJQVF0QixDQUFDO0lBRXNDLFNBQVMsQ0FBQyxLQUFnQjtRQUMvRCxJQUFJLEtBQUssSUFBSSxLQUFL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RUFBRSxDQUFDO1lBQ25CLENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRUQsU0FBUztRQUNQLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO0lBQzdCLENBQUM7OzhHQXhIVSxpQkFBaUI7a0dBQWpCLGlCQUFpQixvYUM1QjlCLHc3REF3Q0E7MkZEWmEsaUJBQWlCO2tCQU43QixTQUFTOytCQUNFLGdCQUFnQixtQkFHVCx1QkFBdUIsQ0FBQyxNQUFNO3lKQUd0QyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFVTixZQUFZO3NCQURYLFdBQVc7dUJBQUMsK0JBQStCO2dCQWVMLFNBQVM7c0JBQS9DLFlBQVk7dUJBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQU9FLFNBQVM7c0JBQS9DLFlBQVk7dUJBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQUlDLFNBQVM7c0JBQTlDLFlBQVk7dUJBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVFHLFNBQVM7c0JBQS9DLFlBQVk7dUJBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQUtBLE9BQU87c0JBQTNDLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQUlELElBQUk7c0JBQXJDLFlBQVk7dUJBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQXBwbGljYXRpb25SZWYsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1RhYmxlQ29sdW1ufSBmcm9tICcuLi9jb250cmFjdC90YWJsZS1jb2x1bW4nO1xuaW1wb3J0IHtDb2x1bW5SZXNpemVFdmVudH0gZnJvbSAnLi4vY29udHJhY3QvY29sdW1uLXJlc2l6ZS1ldmVudCc7XG5pbXBvcnQge0ZpbHRlclN0YXRlfSBmcm9tICcuLi8uLi9maWx0ZXIvY29udGFyY3QvZmlsdGVyLXN0YXRlJztcbmltcG9ydCB7VGFibGVTZXJ2aWNlfSBmcm9tICcuLi9zZXJ2aWNlL3RhYmxlLnNlcnZpY2UnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7U29ydFBhcmFtfSBmcm9tICcuLi8uLi9maWx0ZXIvY29udGFyY3Qvc29ydC1wYXJhbSc7XG5pbXBvcnQge1N0YXRlVXRpbH0gZnJvbSAnLi4vdXRpbC9zdGF0ZS11dGlsJztcbmltcG9ydCB7VmVydGljYWxBbGlnbn0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2VudW0vdmVydGljYWwtYWxpZ24uZW51bSc7XG5pbXBvcnQge0FsaWdufSBmcm9tICcuLi8uLi8uLi9jb21tb24vZW51bS9hbGlnbi5lbnVtJztcbmltcG9ydCB7Y29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1RhYmxlUm93fSBmcm9tICcuLi9jb250cmFjdC90YWJsZS1yb3cnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXRhLWhlYWQtY2VsbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9oZWFkLWNlbGwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9oZWFkLWNlbGwuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEhlYWRDZWxsQ29tcG9uZW50PFQ+IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBjb2x1bW46IFRhYmxlQ29sdW1uO1xuICBASW5wdXQoKSBzaG93SGVhZENlbGxNZW51OiBib29sZWFuO1xuICBASW5wdXQoKSBkYXRhOiBUYWJsZVJvdzxUPltdO1xuXG4gIHZlcnRpY2FsQWxpZ24gPSBWZXJ0aWNhbEFsaWduO1xuICBhbGlnbiA9IEFsaWduO1xuICBzdGF0ZTogT2JzZXJ2YWJsZTxGaWx0ZXJTdGF0ZT47XG4gIGNvbHVtbnM6IE9ic2VydmFibGU8VGFibGVDb2x1bW5bXT47XG4gIGZpbHRlcmVkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBzb3J0UGFyYW06IE9ic2VydmFibGU8U29ydFBhcmFtPjtcbiAgaWNvbk5hbWU6IE9ic2VydmFibGU8c3RyaW5nPjtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy50YWJsZS1oZWFkX19jZWxsX2FjdGl2ZScpXG4gIGRyb3BEb3duT3BlbjogYm9vbGVhbjtcbiAgc2hvd0RyYWc6ICdsZWZ0JyB8ICdyaWdodCcgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSByZWN0OiBhbnk7XG5cbiAgcHJpdmF0ZSBfYWxpdmUgPSB0cnVlO1xuICBwcml2YXRlIF9zdGFydFBvc2l0aW9uOiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfc3ZjOiBUYWJsZVNlcnZpY2U8VD4sXG4gICAgcHJpdmF0ZSBfYXBwOiBBcHBsaWNhdGlvblJlZixcbiAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmXG4gICkge1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZHJhZ3N0YXJ0JywgWyckZXZlbnQnXSkgZHJhZ3N0YXJ0KGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQgJiYgZXZlbnQuZGF0YVRyYW5zZmVyKSB7XG4gICAgICBldmVudC5kYXRhVHJhbnNmZXIuc2V0RGF0YSgndGV4dCcsICdtb3ZlJyk7XG4gICAgfVxuICAgIHRoaXMuX3N2Yy5kcmFnU3RhcnQodGhpcy5jb2x1bW4pO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZHJhZ2VudGVyJywgWyckZXZlbnQnXSkgZHJhZ2VudGVyKGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnJlY3QgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkcmFnb3ZlcicsIFsnJGV2ZW50J10pIGFsbG93RHJvcChldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBpZiAodGhpcy5yZWN0ICYmIHRoaXMuX3N2Yy5kcmFnU291cmNlKSB7XG4gICAgICB0aGlzLnNob3dEcmFnID1cbiAgICAgICAgZXZlbnQuY2xpZW50WCA+PSB0aGlzLnJlY3QueCArIHRoaXMucmVjdC53aWR0aCAvIDIgPyAncmlnaHQnIDogJ2xlZnQnO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RyYWdsZWF2ZScsIFsnJGV2ZW50J10pIGRyYWdsZWF2ZShldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLnNob3dEcmFnID0gbnVsbDtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RyYWdlbmQnLCBbJyRldmVudCddKSBkcmFnZW5kKGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dEcmFnID0gbnVsbDtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2Ryb3AnLCBbJyRldmVudCddKSBkcm9wKGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBtb3ZlID0gZXZlbnQuZGF0YVRyYW5zZmVyICYmIGV2ZW50LmRhdGFUcmFuc2Zlci5nZXREYXRhKCd0ZXh0Jyk7XG4gICAgaWYgKG1vdmUgPT09ICdtb3ZlJykge1xuICAgICAgdGhpcy5fc3ZjLnJlb3JkZXJDb2x1bW4odGhpcy5jb2x1bW4sIHRoaXMuc2hvd0RyYWcgPT09ICdsZWZ0Jyk7XG4gICAgfVxuICAgIHRoaXMuc2hvd0RyYWcgPSBudWxsO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jb2x1bW5zID0gdGhpcy5fc3ZjLmNvbHVtbnM7XG4gICAgdGhpcy5zdGF0ZSA9IHRoaXMuX3N2Yy5zdGF0ZTtcbiAgICB0aGlzLnNvcnRQYXJhbSA9IHRoaXMuc3RhdGUucGlwZShcbiAgICAgIG1hcCgoXykgPT4gU3RhdGVVdGlsLmdldFNvcnRTdGF0ZShfLCB0aGlzLmNvbHVtbikpXG4gICAgKTtcbiAgICB0aGlzLmZpbHRlcmVkID0gdGhpcy5zdGF0ZS5waXBlKFxuICAgICAgbWFwKChfKSA9PiBTdGF0ZVV0aWwuaXNDb2x1bW5GaWx0ZXJlZChfLCB0aGlzLmNvbHVtbikpXG4gICAgKTtcbiAgICB0aGlzLmljb25OYW1lID0gY29tYmluZUxhdGVzdChbdGhpcy5zb3J0UGFyYW0sIHRoaXMuZmlsdGVyZWRdKS5waXBlKFxuICAgICAgbWFwKChkYXRhOiBbU29ydFBhcmFtLCBib29sZWFuXSkgPT4ge1xuICAgICAgICBjb25zdCBbc29ydFBhcmFtLCBmaWx0ZXJlZF0gPSBkYXRhO1xuICAgICAgICBpZiAoc29ydFBhcmFtICYmIGZpbHRlcmVkKSB7XG4gICAgICAgICAgcmV0dXJuIHNvcnRQYXJhbS5hc2MgPyAnZmlsdGVyU29ydFVwQ29sb3InIDogJ2ZpbHRlclNvcnREb3duQ29sb3InO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzb3J0UGFyYW0pIHtcbiAgICAgICAgICByZXR1cm4gc29ydFBhcmFtLmFzYyA/ICdzb3J0VXBDb2xvcicgOiAnc29ydERvd25Db2xvcic7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGZpbHRlcmVkKSB7XG4gICAgICAgICAgcmV0dXJuICdmaWx0ZXJDb2xvcic7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuICcnO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fYWxpdmUgPSBmYWxzZTtcbiAgfVxuXG4gIGF1dG9zaXplQ29sdW1uKCkge1xuICAgIHRoaXMuX3N2Yy5hdXRvc2l6ZUNvbHVtbih0aGlzLmNvbHVtbiwgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgfVxuXG4gIGF1dG9zaXplQWxsQ29sdW1ucygpIHtcbiAgICB0aGlzLl9zdmMuYXV0b3NpemVBbGxDb2x1bW5zKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gIH1cblxuICByZXNpemVTdGFydChldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHJlY3QgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgdGhpcy5fc3RhcnRQb3NpdGlvbiA9IHJlY3QueDtcbiAgICB0aGlzLl9zdmMubG9ja1ByZXZpb3VzQ29sdW1ucyh0aGlzLmNvbHVtbiwgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgfVxuXG4gIHJlc2l6ZVByb2Nlc3MoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fc3RhcnRQb3NpdGlvbiAmJiBldmVudC5wYWdlWCA+IDApIHtcbiAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuX3N2Yy5yZXNpemVDb2x1bW4oXG4gICAgICAgICAgbmV3IENvbHVtblJlc2l6ZUV2ZW50KHRoaXMuY29sdW1uLCBldmVudC5wYWdlWCAtIHRoaXMuX3N0YXJ0UG9zaXRpb24pXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuX2FwcC50aWNrKCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICByZXNpemVFbmQoKSB7XG4gICAgdGhpcy5fc3RhcnRQb3NpdGlvbiA9IG51bGw7XG4gIH1cbn1cbiIsIjxkaXYgZHJhZ2dhYmxlPVwidHJ1ZVwiIGNsYXNzPVwicm93IHJvd19hdXRvXCI+XG4gIDx0ZXRhLWRyb3Bkb3duIFthdXRvQ2xvc2VJZ25vcmVdPVwiWydlbnRlciddXCJcbiAgICAgICAgICAgICAgICAgW3ZlcnRpY2FsQWxpZ25dPVwidmVydGljYWxBbGlnbi5ib3R0b21cIlxuICAgICAgICAgICAgICAgICBbYXBwZW5kVG9Cb2R5XT1cInRydWVcIlxuICAgICAgICAgICAgICAgICBbKG9wZW4pXT1cImRyb3BEb3duT3BlblwiXG4gICAgICAgICAgICAgICAgIFthbGlnbl09XCJhbGlnbi5sZWZ0XCJcbiAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCJcbiAgICAgICAgICAgICAgICAgW2NsYXNzLnRhYmxlLWhlYWRfX2NlbGxfX21lbnVfb3Blbl09XCJkcm9wRG93bk9wZW5cIlxuICAgICAgICAgICAgICAgICBjbGFzcz1cImNvbHVtbiBjb2x1bW5fYXV0byBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XG4gICAgPGRpdiB0ZXRhRHJvcGRvd25IZWFkIGNsYXNzPVwidGFibGUtaGVhZF9fY2VsbF9fd3JhcHBlclwiXG4gICAgICAgICBbbmdDbGFzc109XCJjb2x1bW4uaGVhZENlbGxDbGFzc1wiPlxuICAgICAgPHRldGEtaGVhZC1jZWxsLWhvc3QgW2NvbHVtbl09XCJjb2x1bW5cIiBbZGF0YV09XCJkYXRhXCI+PC90ZXRhLWhlYWQtY2VsbC1ob3N0PlxuICAgICAgPHRldGEtaWNvbiAqbmdJZj1cImljb25OYW1lIHwgYXN5bmMgYXMgaWNvblwiXG4gICAgICAgICAgICAgICAgIFtwYWxldHRlXT1cIid0ZXh0J1wiXG4gICAgICAgICAgICAgICAgIFtuYW1lXT1cImljb25cIj48L3RldGEtaWNvbj5cbiAgICA8L2Rpdj5cbiAgICA8dGV0YS1oZWFkLWNlbGwtZHJvcGRvd24gdGV0YURyb3Bkb3duQ29udGVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInNob3dIZWFkQ2VsbE1lbnVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYXV0b3NpemUpPVwiYXV0b3NpemVDb2x1bW4oKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhdXRvc2l6ZUFsbCk9XCJhdXRvc2l6ZUFsbENvbHVtbnMoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhXT1cImRhdGFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29sdW1uXT1cImNvbHVtblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2x1bW5zXT1cImNvbHVtbnMgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdGF0ZV09XCJzdGF0ZSB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhkcm9wRG93bk9wZW4pXT1cImRyb3BEb3duT3BlblwiPjwvdGV0YS1oZWFkLWNlbGwtZHJvcGRvd24+XG4gIDwvdGV0YS1kcm9wZG93bj5cbiAgPGRpdiBjbGFzcz1cImRyb3AtYXJlYVwiXG4gICAgICAgZHJhZ2dhYmxlPVwiZmFsc2VcIlxuICAgICAgIFtjbGFzcy5kcm9wLWFyZWFfbGVmdF09XCJzaG93RHJhZyA9PT0gJ2xlZnQnXCJcbiAgICAgICBbY2xhc3MuZHJvcC1hcmVhX3JpZ2h0XT1cInNob3dEcmFnID09PSAncmlnaHQnXCJcbiAgICAgICAqbmdJZj1cInNob3dEcmFnXCI+PC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJ0YWJsZS1oZWFkX19jZWxsX19yZXNpemVcIlxuICAgICBkcmFnZ2FibGU9XCJmYWxzZVwiXG4gICAgIChkcmFnc3RhcnQpPVwiJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7JGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgKGRyYWcpPVwiJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7JGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgW3RldGFSZXNpemVEcmFnXT1cIid2ZXJ0aWNhbCdcIlxuICAgICAocmVzaXplU3RhcnQpPVwicmVzaXplU3RhcnQoJGV2ZW50KVwiXG4gICAgIChyZXNpemVQcm9jZXNzKT1cInJlc2l6ZVByb2Nlc3MoJGV2ZW50KVwiXG4gICAgIChyZXNpemVFbmQpPVwicmVzaXplRW5kKClcIj48L2Rpdj5cbiJdfQ==
179
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZC1jZWxsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGFibGUvaGVhZC1jZWxsL2hlYWQtY2VsbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RhYmxlL2hlYWQtY2VsbC9oZWFkLWNlbGwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBQ0csV0FBVyxFQUN2QixZQUFZLEVBQ1osS0FBSyxFQUVnQixTQUFTLEdBQy9CLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBR2xFLE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuQyxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDN0MsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RCxPQUFPLEVBQUMsYUFBYSxFQUFhLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7Ozs7OztBQVUvQyxNQUFNLE9BQU8saUJBQWlCO0lBeUQ1QixZQUNVLElBQXFCLEVBQ3JCLElBQW9CLEVBQ3BCLFdBQXVCO1FBRnZCLFNBQUksR0FBSixJQUFJLENBQWlCO1FBQ3JCLFNBQUksR0FBSixJQUFJLENBQWdCO1FBQ3BCLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBdkRqQyxrQkFBYSxHQUFHLGFBQWEsQ0FBQztRQUM5QixVQUFLLEdBQUcsS0FBSyxDQUFDO1FBUWQsYUFBUSxHQUE0QixJQUFJLENBQUM7UUFHakMsV0FBTSxHQUFHLElBQUksQ0FBQztJQTZDdEIsQ0FBQztJQXRDRCxJQUFJLGdCQUFnQjtRQUNsQixPQUFPO1lB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Qzs7OEdBN0pVLGlCQUFpQjtrR0FBakIsaUJBQWlCLG93QkM3QjlCLDZnR0E0REE7MkZEL0JhLGlCQUFpQjtrQkFON0IsU0FBUzsrQkFDRSxnQkFBZ0IsbUJBR1QsdUJBQXVCLENBQUMsTUFBTTt5SkFHdEMsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBVU4sWUFBWTtzQkFEWCxXQUFXO3VCQUFDLCtCQUErQjtnQkFRRCxZQUFZO3NCQUF0RCxTQUFTO3VCQUFDLGNBQWMsRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUM7Z0JBQ0ksY0FBYztzQkFBMUQsU0FBUzt1QkFBQyxnQkFBZ0IsRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUM7Z0JBQ0csZUFBZTtzQkFBNUQsU0FBUzt1QkFBQyxpQkFBaUIsRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUM7Z0JBMENMLFNBQVM7c0JBQS9DLFlBQVk7dUJBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQU9FLFNBQVM7c0JBQS9DLFlBQVk7dUJBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQUlDLFNBQVM7c0JBQTlDLFlBQVk7dUJBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVFHLFNBQVM7c0JBQS9DLFlBQVk7dUJBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQUtBLE9BQU87c0JBQTNDLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQUlELElBQUk7c0JBQXJDLFlBQVk7dUJBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQXBwbGljYXRpb25SZWYsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1RhYmxlQ29sdW1ufSBmcm9tICcuLi9jb250cmFjdC90YWJsZS1jb2x1bW4nO1xuaW1wb3J0IHtDb2x1bW5SZXNpemVFdmVudH0gZnJvbSAnLi4vY29udHJhY3QvY29sdW1uLXJlc2l6ZS1ldmVudCc7XG5pbXBvcnQge0ZpbHRlclN0YXRlfSBmcm9tICcuLi8uLi9maWx0ZXIvY29udGFyY3QvZmlsdGVyLXN0YXRlJztcbmltcG9ydCB7VGFibGVTZXJ2aWNlfSBmcm9tICcuLi9zZXJ2aWNlL3RhYmxlLnNlcnZpY2UnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7U29ydFBhcmFtfSBmcm9tICcuLi8uLi9maWx0ZXIvY29udGFyY3Qvc29ydC1wYXJhbSc7XG5pbXBvcnQge1N0YXRlVXRpbH0gZnJvbSAnLi4vdXRpbC9zdGF0ZS11dGlsJztcbmltcG9ydCB7VmVydGljYWxBbGlnbn0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2VudW0vdmVydGljYWwtYWxpZ24uZW51bSc7XG5pbXBvcnQge0FsaWdufSBmcm9tICcuLi8uLi8uLi9jb21tb24vZW51bS9hbGlnbi5lbnVtJztcbmltcG9ydCB7Y29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1RhYmxlUm93fSBmcm9tICcuLi9jb250cmFjdC90YWJsZS1yb3cnO1xuaW1wb3J0IHtIZWFkRHJvcGRvd25UYWIsIEhlYWREcm9wZG93blRhYkNvbmZpZ30gZnJvbSAnLi4vY29udHJhY3QvaGVhZC1kcm9wZG93bi10YWInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXRhLWhlYWQtY2VsbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9oZWFkLWNlbGwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9oZWFkLWNlbGwuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEhlYWRDZWxsQ29tcG9uZW50PFQ+IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBjb2x1bW46IFRhYmxlQ29sdW1uO1xuICBASW5wdXQoKSBzaG93SGVhZENlbGxNZW51OiBib29sZWFuO1xuICBASW5wdXQoKSBkYXRhOiBUYWJsZVJvdzxUPltdO1xuXG4gIHZlcnRpY2FsQWxpZ24gPSBWZXJ0aWNhbEFsaWduO1xuICBhbGlnbiA9IEFsaWduO1xuICBzdGF0ZTogT2JzZXJ2YWJsZTxGaWx0ZXJTdGF0ZT47XG4gIGNvbHVtbnM6IE9ic2VydmFibGU8VGFibGVDb2x1bW5bXT47XG4gIGZpbHRlcmVkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBzb3J0UGFyYW06IE9ic2VydmFibGU8U29ydFBhcmFtPjtcbiAgaWNvbk5hbWU6IE9ic2VydmFibGU8c3RyaW5nPjtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy50YWJsZS1oZWFkX19jZWxsX2FjdGl2ZScpXG4gIGRyb3BEb3duT3BlbjogYm9vbGVhbjtcbiAgc2hvd0RyYWc6ICdsZWZ0JyB8ICdyaWdodCcgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSByZWN0OiBhbnk7XG5cbiAgcHJpdmF0ZSBfYWxpdmUgPSB0cnVlO1xuICBwcml2YXRlIF9zdGFydFBvc2l0aW9uOiBudW1iZXI7XG5cbiAgQFZpZXdDaGlsZCgnbWFpblRlbXBsYXRlJywge3N0YXRpYzogdHJ1ZX0pIG1haW5UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgQFZpZXdDaGlsZCgnZmlsdGVyVGVtcGxhdGUnLCB7c3RhdGljOiB0cnVlfSkgZmlsdGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gIEBWaWV3Q2hpbGQoJ2NvbHVtbnNUZW1wbGF0ZScsIHtzdGF0aWM6IHRydWV9KSBjb2x1bW5zVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgZ2V0IGRlZmF1bHRUZW1wbGF0ZXMoKTogSGVhZERyb3Bkb3duVGFiW10ge1xuICAgIHJldHVybiBbXG4gICAgICB7XG4gICAgICAgIGljb246ICdtZW51JyxcbiAgICAgICAgdGVtcGxhdGU6IHRoaXMubWFpblRlbXBsYXRlLFxuICAgICAgICBvcmRlcjogMTAsXG4gICAgICAgIHNob3dUYWI6ICgpID0+IHRydWUsXG4gICAgICB9LCB7XG4gICAgICAgIGljb246ICdmaWx0ZXInLFxuICAgICAgICB0ZW1wbGF0ZTogdGhpcy5maWx0ZXJUZW1wbGF0ZSxcbiAgICAgICAgb3JkZXI6IDIwLFxuICAgICAgICBzaG93VGFiOiAoY29sdW1uKSA9PiBjb2x1bW4uZmlsdGVyYWJsZSxcbiAgICAgIH0sIHtcbiAgICAgICAgaWNvbjogJ2V5ZScsXG4gICAgICAgIHRlbXBsYXRlOiB0aGlzLmNvbHVtbnNUZW1wbGF0ZSxcbiAgICAgICAgb3JkZXI6IDMwLFxuICAgICAgICBzaG93VGFiOiAoKSA9PiB0cnVlLFxuICAgICAgfVxuICAgIF07XG4gIH1cblxuICBnZXQgdGFiVGVtcGxhdGVzKCkge1xuICAgIGlmICh0aGlzLmNvbHVtbj8uaGVhZERyb3Bkb3duQ29uZmlnICYmIHRoaXMuY29sdW1uLmhlYWREcm9wZG93bkNvbmZpZy50YWJzPy5sZW5ndGggPiAwKSB7XG4gICAgICBpZiAodGhpcy5jb2x1bW4uaGVhZERyb3Bkb3duQ29uZmlnLnN0cmF0ZWd5ID09PSAncmVwbGFjZScpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29sdW1uLmhlYWREcm9wZG93bkNvbmZpZy50YWJzO1xuICAgICAgfVxuICAgICAgcmV0dXJuIFsuLi50aGlzLmRlZmF1bHRUZW1wbGF0ZXMsIC4uLnRoaXMuY29sdW1uLmhlYWREcm9wZG93bkNvbmZpZy50YWJzXVxuICAgICAgICAuc29ydCgoYSwgYikgPT4gYS5vcmRlciAtIGIub3JkZXIpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmRlZmF1bHRUZW1wbGF0ZXM7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9zdmM6IFRhYmxlU2VydmljZTxUPixcbiAgICBwcml2YXRlIF9hcHA6IEFwcGxpY2F0aW9uUmVmLFxuICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWZcbiAgKSB7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkcmFnc3RhcnQnLCBbJyRldmVudCddKSBkcmFnc3RhcnQoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudCAmJiBldmVudC5kYXRhVHJhbnNmZXIpIHtcbiAgICAgIGV2ZW50LmRhdGFUcmFuc2Zlci5zZXREYXRhKCd0ZXh0JywgJ21vdmUnKTtcbiAgICB9XG4gICAgdGhpcy5fc3ZjLmRyYWdTdGFydCh0aGlzLmNvbHVtbik7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkcmFnZW50ZXInLCBbJyRldmVudCddKSBkcmFnZW50ZXIoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xuICAgIHRoaXMucmVjdCA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RyYWdvdmVyJywgWyckZXZlbnQnXSkgYWxsb3dEcm9wKGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGlmICh0aGlzLnJlY3QgJiYgdGhpcy5fc3ZjLmRyYWdTb3VyY2UpIHtcbiAgICAgIHRoaXMuc2hvd0RyYWcgPVxuICAgICAgICBldmVudC5jbGllbnRYID49IHRoaXMucmVjdC54ICsgdGhpcy5yZWN0LndpZHRoIC8gMiA/ICdyaWdodCcgOiAnbGVmdCc7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZHJhZ2xlYXZlJywgWyckZXZlbnQnXSkgZHJhZ2xlYXZlKGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMuc2hvd0RyYWcgPSBudWxsO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZHJhZ2VuZCcsIFsnJGV2ZW50J10pIGRyYWdlbmQoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuc2hvd0RyYWcgPSBudWxsO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZHJvcCcsIFsnJGV2ZW50J10pIGRyb3AoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IG1vdmUgPSBldmVudC5kYXRhVHJhbnNmZXIgJiYgZXZlbnQuZGF0YVRyYW5zZmVyLmdldERhdGEoJ3RleHQnKTtcbiAgICBpZiAobW92ZSA9PT0gJ21vdmUnKSB7XG4gICAgICB0aGlzLl9zdmMucmVvcmRlckNvbHVtbih0aGlzLmNvbHVtbiwgdGhpcy5zaG93RHJhZyA9PT0gJ2xlZnQnKTtcbiAgICB9XG4gICAgdGhpcy5zaG93RHJhZyA9IG51bGw7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbHVtbnMgPSB0aGlzLl9zdmMuY29sdW1ucztcbiAgICB0aGlzLnN0YXRlID0gdGhpcy5fc3ZjLnN0YXRlO1xuICAgIHRoaXMuc29ydFBhcmFtID0gdGhpcy5zdGF0ZS5waXBlKFxuICAgICAgbWFwKChfKSA9PiBTdGF0ZVV0aWwuZ2V0U29ydFN0YXRlKF8sIHRoaXMuY29sdW1uKSlcbiAgICApO1xuICAgIHRoaXMuZmlsdGVyZWQgPSB0aGlzLnN0YXRlLnBpcGUoXG4gICAgICBtYXAoKF8pID0+IFN0YXRlVXRpbC5pc0NvbHVtbkZpbHRlcmVkKF8sIHRoaXMuY29sdW1uKSlcbiAgICApO1xuICAgIHRoaXMuaWNvbk5hbWUgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnNvcnRQYXJhbSwgdGhpcy5maWx0ZXJlZF0pLnBpcGUoXG4gICAgICBtYXAoKGRhdGE6IFtTb3J0UGFyYW0sIGJvb2xlYW5dKSA9PiB7XG4gICAgICAgIGNvbnN0IFtzb3J0UGFyYW0sIGZpbHRlcmVkXSA9IGRhdGE7XG4gICAgICAgIGlmIChzb3J0UGFyYW0gJiYgZmlsdGVyZWQpIHtcbiAgICAgICAgICByZXR1cm4gc29ydFBhcmFtLmFzYyA/ICdmaWx0ZXJTb3J0VXBDb2xvcicgOiAnZmlsdGVyU29ydERvd25Db2xvcic7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHNvcnRQYXJhbSkge1xuICAgICAgICAgIHJldHVybiBzb3J0UGFyYW0uYXNjID8gJ3NvcnRVcENvbG9yJyA6ICdzb3J0RG93bkNvbG9yJztcbiAgICAgICAgfVxuICAgICAgICBpZiAoZmlsdGVyZWQpIHtcbiAgICAgICAgICByZXR1cm4gJ2ZpbHRlckNvbG9yJztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gJyc7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9hbGl2ZSA9IGZhbHNlO1xuICB9XG5cbiAgLy8gYXV0b3NpemVDb2x1bW4oKSB7XG4gIC8vICAgdGhpcy5fc3ZjLmF1dG9zaXplQ29sdW1uKHRoaXMuY29sdW1uLCB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAvLyB9XG4gIC8vXG4gIC8vIGF1dG9zaXplQWxsQ29sdW1ucygpIHtcbiAgLy8gICB0aGlzLl9zdmMuYXV0b3NpemVBbGxDb2x1bW5zKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gIC8vIH1cblxuICByZXNpemVTdGFydChldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHJlY3QgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgdGhpcy5fc3RhcnRQb3NpdGlvbiA9IHJlY3QueDtcbiAgICB0aGlzLl9zdmMubG9ja1ByZXZpb3VzQ29sdW1ucyh0aGlzLmNvbHVtbiwgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgfVxuXG4gIHJlc2l6ZVByb2Nlc3MoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fc3RhcnRQb3NpdGlvbiAmJiBldmVudC5wYWdlWCA+IDApIHtcbiAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuX3N2Yy5yZXNpemVDb2x1bW4oXG4gICAgICAgICAgbmV3IENvbHVtblJlc2l6ZUV2ZW50KHRoaXMuY29sdW1uLCBldmVudC5wYWdlWCAtIHRoaXMuX3N0YXJ0UG9zaXRpb24pXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuX2FwcC50aWNrKCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICByZXNpemVFbmQoKSB7XG4gICAgdGhpcy5fc3RhcnRQb3NpdGlvbiA9IG51bGw7XG4gIH1cbn1cbiIsIjxkaXYgZHJhZ2dhYmxlPVwidHJ1ZVwiIGNsYXNzPVwicm93IHJvd19hdXRvXCI+XG4gIDx0ZXRhLWRyb3Bkb3duIFthdXRvQ2xvc2VJZ25vcmVdPVwiWydlbnRlcicsICdpbnNpZGUnXVwiXG4gICAgICAgICAgICAgICAgIFt2ZXJ0aWNhbEFsaWduXT1cInZlcnRpY2FsQWxpZ24uYm90dG9tXCJcbiAgICAgICAgICAgICAgICAgW2FwcGVuZFRvQm9keV09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgIFsob3BlbildPVwiZHJvcERvd25PcGVuXCJcbiAgICAgICAgICAgICAgICAgW2FsaWduXT1cImFsaWduLmxlZnRcIlxuICAgICAgICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnByZXZlbnREZWZhdWx0KClcIlxuICAgICAgICAgICAgICAgICBbY2xhc3MudGFibGUtaGVhZF9fY2VsbF9fbWVudV9vcGVuXT1cImRyb3BEb3duT3BlblwiXG4gICAgICAgICAgICAgICAgIGNsYXNzPVwiY29sdW1uIGNvbHVtbl9hdXRvIGp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cbiAgICA8ZGl2IHRldGFEcm9wZG93bkhlYWQgY2xhc3M9XCJ0YWJsZS1oZWFkX19jZWxsX193cmFwcGVyXCJcbiAgICAgICAgIFtuZ0NsYXNzXT1cImNvbHVtbi5oZWFkQ2VsbENsYXNzXCI+XG4gICAgICA8dGV0YS1oZWFkLWNlbGwtaG9zdCBbY29sdW1uXT1cImNvbHVtblwiIFtkYXRhXT1cImRhdGFcIj48L3RldGEtaGVhZC1jZWxsLWhvc3Q+XG4gICAgICA8dGV0YS1pY29uICpuZ0lmPVwiaWNvbk5hbWUgfCBhc3luYyBhcyBpY29uXCJcbiAgICAgICAgICAgICAgICAgW3BhbGV0dGVdPVwiJ3RleHQnXCJcbiAgICAgICAgICAgICAgICAgW25hbWVdPVwiaWNvblwiPjwvdGV0YS1pY29uPlxuICAgIDwvZGl2PlxuICAgIDx0ZXRhLWhlYWQtY2VsbC1kcm9wZG93biB0ZXRhRHJvcGRvd25Db250ZW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwic2hvd0hlYWRDZWxsTWVudVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0YWJUZW1wbGF0ZXNdPVwidGFiVGVtcGxhdGVzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RhdGFdPVwiZGF0YVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2x1bW5dPVwiY29sdW1uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbHVtbnNdPVwiY29sdW1ucyB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0YXRlXT1cInN0YXRlIHwgYXN5bmNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKGRyb3BEb3duT3BlbildPVwiZHJvcERvd25PcGVuXCI+PC90ZXRhLWhlYWQtY2VsbC1kcm9wZG93bj5cbiAgPC90ZXRhLWRyb3Bkb3duPlxuICA8ZGl2IGNsYXNzPVwiZHJvcC1hcmVhXCJcbiAgICAgICBkcmFnZ2FibGU9XCJmYWxzZVwiXG4gICAgICAgW2NsYXNzLmRyb3AtYXJlYV9sZWZ0XT1cInNob3dEcmFnID09PSAnbGVmdCdcIlxuICAgICAgIFtjbGFzcy5kcm9wLWFyZWFfcmlnaHRdPVwic2hvd0RyYWcgPT09ICdyaWdodCdcIlxuICAgICAgICpuZ0lmPVwic2hvd0RyYWdcIj48L2Rpdj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cInRhYmxlLWhlYWRfX2NlbGxfX3Jlc2l6ZVwiXG4gICAgIGRyYWdnYWJsZT1cImZhbHNlXCJcbiAgICAgKGRyYWdzdGFydCk9XCIkZXZlbnQucHJldmVudERlZmF1bHQoKTskZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAoZHJhZyk9XCIkZXZlbnQucHJldmVudERlZmF1bHQoKTskZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICBbdGV0YVJlc2l6ZURyYWddPVwiJ3ZlcnRpY2FsJ1wiXG4gICAgIChyZXNpemVTdGFydCk9XCJyZXNpemVTdGFydCgkZXZlbnQpXCJcbiAgICAgKHJlc2l6ZVByb2Nlc3MpPVwicmVzaXplUHJvY2VzcygkZXZlbnQpXCJcbiAgICAgKHJlc2l6ZUVuZCk9XCJyZXNpemVFbmQoKVwiPlxuICA8ZGl2IGNsYXNzPVwidGFibGUtaGVhZF9fY2VsbF9fcmVzaXplX2RyYWdcIj48L2Rpdj5cbjwvZGl2PlxuPG5nLXRlbXBsYXRlICNtYWluVGVtcGxhdGUgbGV0LWNvbHVtbj1cImNvbHVtblwiIGxldC1jb2x1bW5zPVwiY29sdW1uc1wiIGxldC1kYXRhPVwiZGF0YVwiIGxldC1zdGF0ZT1cInN0YXRlXCJcbiAgICAgICAgICAgICBsZXQtY2xvc2U9XCJjbG9zZVwiPlxuICA8dGV0YS1tYWluLWRyb3Bkb3duLXRhYiBbY29sdW1uXT1cImNvbHVtblwiIFtzdGF0ZV09XCJzdGF0ZVwiIFtjbG9zZV09XCJjbG9zZVwiPjwvdGV0YS1tYWluLWRyb3Bkb3duLXRhYj5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI2ZpbHRlclRlbXBsYXRlIGxldC1jb2x1bW49XCJjb2x1bW5cIiBsZXQtY29sdW1ucz1cImNvbHVtbnNcIiBsZXQtZGF0YT1cImRhdGFcIiBsZXQtc3RhdGU9XCJzdGF0ZVwiXG4gICAgICAgICAgICAgbGV0LWNsb3NlPVwiY2xvc2VcIj5cbiAgPHRldGEtZmlsdGVyLWRyb3Bkb3duLXRhYiBbY29sdW1uXT1cImNvbHVtblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0YXRlXT1cInN0YXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xvc2VdPVwiY2xvc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhXT1cImRhdGFcIj48L3RldGEtZmlsdGVyLWRyb3Bkb3duLXRhYj5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI2NvbHVtbnNUZW1wbGF0ZSBsZXQtY29sdW1uPVwiY29sdW1uXCIgbGV0LWNvbHVtbnM9XCJjb2x1bW5zXCIgbGV0LWRhdGE9XCJkYXRhXCIgbGV0LXN0YXRlPVwic3RhdGVcIlxuICAgICAgICAgICAgIGxldC1jbG9zZT1cImNsb3NlXCI+XG4gIDx0ZXRhLXZpc2liaWxpdHktZHJvcGRvd24tdGFiIFtjb2x1bW5dPVwiY29sdW1uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbHVtbnNdPVwiY29sdW1uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdGF0ZV09XCJzdGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbG9zZV09XCJjbG9zZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhXT1cImRhdGFcIj48L3RldGEtdmlzaWJpbGl0eS1kcm9wZG93bi10YWI+XG48L25nLXRlbXBsYXRlPlxuIl19