@tetacom/ng-components 1.0.22 → 1.0.26

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 (356) hide show
  1. package/.browserslistrc +16 -0
  2. package/component/chart/core/axis-creator.d.ts +2 -1
  3. package/component/chart/model/enum/scale-type.d.ts +2 -1
  4. package/component/chart/model/series.d.ts +2 -2
  5. package/component/property-grid/property-grid/property-grid-item/property-grid-item.component.d.ts +2 -0
  6. package/component/property-grid/property-grid.module.d.ts +2 -1
  7. package/component/table/contract/table-column.d.ts +9 -2
  8. package/component/table/head-cell-dropdown/head-cell-dropdown.component.d.ts +2 -1
  9. package/component/table/service/table.service.d.ts +0 -1
  10. package/component/table/table/table.component.d.ts +1 -2
  11. package/esm2020/common/contract/auto-close-ignore-case.mjs +1 -1
  12. package/esm2020/common/contract/constructor-type.mjs +1 -1
  13. package/esm2020/common/contract/dynamic-data.mjs +1 -1
  14. package/esm2020/common/contract/i-dictionary.mjs +1 -1
  15. package/esm2020/common/contract/i-id-name.mjs +1 -1
  16. package/esm2020/common/contract/i-rect.mjs +1 -1
  17. package/esm2020/common/contract/i-tree-data.mjs +1 -1
  18. package/esm2020/common/contract/public-api.mjs +1 -1
  19. package/esm2020/common/contract/teta-content-ref.mjs +1 -1
  20. package/esm2020/common/enum/align.enum.mjs +1 -1
  21. package/esm2020/common/enum/public-api.mjs +1 -1
  22. package/esm2020/common/enum/teta-size.enum.mjs +1 -1
  23. package/esm2020/common/enum/vertical-align.enum.mjs +1 -1
  24. package/esm2020/common/public-api.mjs +1 -1
  25. package/esm2020/common/service/click.service.mjs +1 -1
  26. package/esm2020/common/service/dynamic-component.service.mjs +1 -1
  27. package/esm2020/common/service/overlay-container.service.mjs +1 -1
  28. package/esm2020/common/service/public-api.mjs +1 -1
  29. package/esm2020/common/util/array-util.mjs +1 -1
  30. package/esm2020/common/util/dom-util.mjs +1 -1
  31. package/esm2020/common/util/position-util.mjs +1 -1
  32. package/esm2020/common/util/public-api.mjs +1 -1
  33. package/esm2020/component/accordion/accordion/accordion.component.mjs +1 -1
  34. package/esm2020/component/accordion/accordion-content.directive.mjs +1 -1
  35. package/esm2020/component/accordion/accordion-head/accordion-head.component.mjs +1 -1
  36. package/esm2020/component/accordion/accordion-item/accordion-item.component.mjs +1 -1
  37. package/esm2020/component/accordion/accordion.module.mjs +1 -1
  38. package/esm2020/component/accordion/public-api.mjs +1 -1
  39. package/esm2020/component/button/button/button.component.mjs +1 -1
  40. package/esm2020/component/button/button.module.mjs +1 -1
  41. package/esm2020/component/button/public-api.mjs +1 -1
  42. package/esm2020/component/chart/chart/chart.component.mjs +1 -1
  43. package/esm2020/component/chart/chart.module.mjs +1 -1
  44. package/esm2020/component/chart/core/axis-creator.mjs +1 -1
  45. package/esm2020/component/chart/core/chart.mjs +1 -1
  46. package/esm2020/component/chart/core/public-api.mjs +1 -1
  47. package/esm2020/component/chart/drawer/area-drawer.mjs +1 -1
  48. package/esm2020/component/chart/drawer/bar-drawer.mjs +1 -1
  49. package/esm2020/component/chart/drawer/contour-drawer.mjs +1 -1
  50. package/esm2020/component/chart/drawer/default-drawer-mapping.mjs +1 -1
  51. package/esm2020/component/chart/drawer/line-drawer.mjs +1 -1
  52. package/esm2020/component/chart/drawer/pie-drawer.mjs +1 -1
  53. package/esm2020/component/chart/drawer/public-api.mjs +1 -1
  54. package/esm2020/component/chart/drawer/scatter-drawer.mjs +1 -1
  55. package/esm2020/component/chart/drawer/spline-drawer.mjs +1 -1
  56. package/esm2020/component/chart/legend-drawer/default-drawer-legend-mapping.mjs +1 -1
  57. package/esm2020/component/chart/legend-drawer/gradient-drawer.mjs +1 -1
  58. package/esm2020/component/chart/legend-drawer/swatch-drawer.mjs +1 -1
  59. package/esm2020/component/chart/model/annotation.mjs +1 -1
  60. package/esm2020/component/chart/model/axis-options.mjs +1 -1
  61. package/esm2020/component/chart/model/chart-bounds.mjs +1 -1
  62. package/esm2020/component/chart/model/chart-options.mjs +1 -1
  63. package/esm2020/component/chart/model/enum/axis-type.mjs +1 -1
  64. package/esm2020/component/chart/model/enum/dispatch-type.mjs +1 -1
  65. package/esm2020/component/chart/model/enum/drag-point-type.mjs +1 -1
  66. package/esm2020/component/chart/model/enum/legend-type.mjs +1 -1
  67. package/esm2020/component/chart/model/enum/public-api.mjs +1 -1
  68. package/esm2020/component/chart/model/enum/scale-type.mjs +2 -1
  69. package/esm2020/component/chart/model/enum/scale.mjs +1 -1
  70. package/esm2020/component/chart/model/enum/series-type.mjs +1 -1
  71. package/esm2020/component/chart/model/enum/zoom-type.mjs +1 -1
  72. package/esm2020/component/chart/model/i-drag-event.mjs +1 -1
  73. package/esm2020/component/chart/model/i-drawer-legend.mjs +1 -1
  74. package/esm2020/component/chart/model/i-drawer.mjs +1 -1
  75. package/esm2020/component/chart/model/i-zoom-event.mjs +1 -1
  76. package/esm2020/component/chart/model/plot-band.mjs +1 -1
  77. package/esm2020/component/chart/model/plot-line.mjs +1 -1
  78. package/esm2020/component/chart/model/point/bar-point.mjs +1 -1
  79. package/esm2020/component/chart/model/point/base-point.mjs +1 -1
  80. package/esm2020/component/chart/model/point/contour-point.mjs +1 -1
  81. package/esm2020/component/chart/model/point/marker-options.mjs +1 -1
  82. package/esm2020/component/chart/model/point/public-api.mjs +1 -1
  83. package/esm2020/component/chart/model/point/scatter-point.mjs +1 -1
  84. package/esm2020/component/chart/model/public-api.mjs +1 -1
  85. package/esm2020/component/chart/model/series.mjs +1 -1
  86. package/esm2020/component/chart/model/tooltip-options.mjs +1 -1
  87. package/esm2020/component/chart/public-api.mjs +1 -1
  88. package/esm2020/component/chart-3d/chart-3d.module.mjs +1 -1
  89. package/esm2020/component/chart-3d/chart3d/chart3d.component.mjs +1 -1
  90. package/esm2020/component/chart-3d/model/base-3d-point.mjs +1 -1
  91. package/esm2020/component/chart-3d/model/chart-3d-options.mjs +1 -1
  92. package/esm2020/component/chart-3d/model/public-api.mjs +1 -1
  93. package/esm2020/component/chart-3d/model/series-3d.mjs +1 -1
  94. package/esm2020/component/chart-3d/public-api.mjs +1 -1
  95. package/esm2020/component/checkbox/checkbox/checkbox.component.mjs +1 -1
  96. package/esm2020/component/checkbox/checkbox.module.mjs +1 -1
  97. package/esm2020/component/checkbox/public-api.mjs +1 -1
  98. package/esm2020/component/date-picker/date-picker/date-picker.component.mjs +1 -1
  99. package/esm2020/component/date-picker/date-picker.module.mjs +1 -1
  100. package/esm2020/component/date-picker/day-select/day-select.component.mjs +1 -1
  101. package/esm2020/component/date-picker/model/date-period.mjs +1 -1
  102. package/esm2020/component/date-picker/model/date-picker-mode.enum.mjs +1 -1
  103. package/esm2020/component/date-picker/model/day-model.mjs +1 -1
  104. package/esm2020/component/date-picker/model/picker-locale-model.mjs +1 -1
  105. package/esm2020/component/date-picker/month-picker/month-picker.component.mjs +1 -1
  106. package/esm2020/component/date-picker/month-select/month-select.component.mjs +1 -1
  107. package/esm2020/component/date-picker/public-api.mjs +1 -1
  108. package/esm2020/component/date-picker/service/picker-locale.service.mjs +1 -1
  109. package/esm2020/component/date-picker/service/picker-touch.service.mjs +1 -1
  110. package/esm2020/component/date-picker/time-part-control/time-part-control.component.mjs +1 -1
  111. package/esm2020/component/date-picker/util/date-picker-util.mjs +1 -1
  112. package/esm2020/component/date-picker/year-select/year-select.component.mjs +1 -1
  113. package/esm2020/component/delimiter/delimiter/delimiter.component.mjs +1 -1
  114. package/esm2020/component/delimiter/delimiter.module.mjs +1 -1
  115. package/esm2020/component/delimiter/public-api.mjs +1 -1
  116. package/esm2020/component/dropdown/dropdown/dropdown.component.mjs +1 -1
  117. package/esm2020/component/dropdown/dropdown-base.mjs +1 -1
  118. package/esm2020/component/dropdown/dropdown-content.directive.mjs +1 -1
  119. package/esm2020/component/dropdown/dropdown-head.directive.mjs +1 -1
  120. package/esm2020/component/dropdown/dropdown.directive.mjs +1 -1
  121. package/esm2020/component/dropdown/dropdown.module.mjs +1 -1
  122. package/esm2020/component/dropdown/public-api.mjs +1 -1
  123. package/esm2020/component/dynamic-component/dynamic-component.module.mjs +1 -1
  124. package/esm2020/component/dynamic-component/popup-content/popup-content.component.mjs +1 -1
  125. package/esm2020/component/dynamic-component/public-api.mjs +1 -1
  126. package/esm2020/component/expand-panel/expand-panel/expand-panel.component.mjs +1 -1
  127. package/esm2020/component/expand-panel/expand-panel-content.directive.mjs +1 -1
  128. package/esm2020/component/expand-panel/expand-panel-head.directive.mjs +1 -1
  129. package/esm2020/component/expand-panel/expand-panel.module.mjs +1 -1
  130. package/esm2020/component/expand-panel/public-api.mjs +1 -1
  131. package/esm2020/component/file-upload/file-item/file-item.component.mjs +1 -1
  132. package/esm2020/component/file-upload/file-upload-area/file-upload-area.component.mjs +1 -1
  133. package/esm2020/component/file-upload/file-upload.module.mjs +1 -1
  134. package/esm2020/component/file-upload/public-api.mjs +1 -1
  135. package/esm2020/component/filter/base/filter-base.mjs +1 -1
  136. package/esm2020/component/filter/base/filter-component-base.mjs +1 -1
  137. package/esm2020/component/filter/boolean-filter/boolean-filter.component.mjs +1 -1
  138. package/esm2020/component/filter/contarct/boolean-filter.mjs +1 -1
  139. package/esm2020/component/filter/contarct/date-filter-value.mjs +1 -1
  140. package/esm2020/component/filter/contarct/date-filter.mjs +1 -1
  141. package/esm2020/component/filter/contarct/filter-component-map.mjs +1 -1
  142. package/esm2020/component/filter/contarct/filter-item.mjs +1 -1
  143. package/esm2020/component/filter/contarct/filter-state.mjs +1 -1
  144. package/esm2020/component/filter/contarct/i-filter.mjs +1 -1
  145. package/esm2020/component/filter/contarct/list-filter.mjs +1 -1
  146. package/esm2020/component/filter/contarct/numeric-filter-value.mjs +1 -1
  147. package/esm2020/component/filter/contarct/numeric-filter.mjs +1 -1
  148. package/esm2020/component/filter/contarct/sort-param.mjs +1 -1
  149. package/esm2020/component/filter/contarct/string-filter.mjs +1 -1
  150. package/esm2020/component/filter/date-filter/date-filter.component.mjs +1 -1
  151. package/esm2020/component/filter/enum/filter-type.enum.mjs +1 -1
  152. package/esm2020/component/filter/enum/list-filter-type.enum.mjs +1 -1
  153. package/esm2020/component/filter/enum/string-filter-type.enum.mjs +1 -1
  154. package/esm2020/component/filter/filter-host/filter-host.component.mjs +1 -1
  155. package/esm2020/component/filter/filter-panel/filter-panel.component.mjs +1 -1
  156. package/esm2020/component/filter/filter.module.mjs +1 -1
  157. package/esm2020/component/filter/list-filter/list-filter.component.mjs +1 -1
  158. package/esm2020/component/filter/numeric-filter/numeric-filter.component.mjs +1 -1
  159. package/esm2020/component/filter/public-api.mjs +1 -1
  160. package/esm2020/component/filter/string-filter/string-filter.component.mjs +1 -1
  161. package/esm2020/component/icon/icon/icon.component.mjs +1 -1
  162. package/esm2020/component/icon/icon-sprite.directive.mjs +1 -1
  163. package/esm2020/component/icon/icon.module.mjs +1 -1
  164. package/esm2020/component/icon/icon.service.mjs +1 -1
  165. package/esm2020/component/icon/public-api.mjs +1 -1
  166. package/esm2020/component/input/form-group-title/form-group-title.component.mjs +1 -1
  167. package/esm2020/component/input/input/input.component.mjs +1 -1
  168. package/esm2020/component/input/input.module.mjs +1 -1
  169. package/esm2020/component/input/public-api.mjs +1 -1
  170. package/esm2020/component/input/text-field/text-field.component.mjs +1 -1
  171. package/esm2020/component/message/message/message.component.mjs +1 -1
  172. package/esm2020/component/message/message-host/message-host.component.mjs +1 -1
  173. package/esm2020/component/message/message.module.mjs +1 -1
  174. package/esm2020/component/message/message.service.mjs +1 -1
  175. package/esm2020/component/message/model/message.mjs +1 -1
  176. package/esm2020/component/message/public-api.mjs +1 -1
  177. package/esm2020/component/modal/dialog/dialog.component.mjs +1 -1
  178. package/esm2020/component/modal/dialog.service.mjs +1 -1
  179. package/esm2020/component/modal/modal-container/modal-container.component.mjs +1 -1
  180. package/esm2020/component/modal/modal.module.mjs +1 -1
  181. package/esm2020/component/modal/modal.service.mjs +1 -1
  182. package/esm2020/component/modal/model/current-modal.mjs +1 -1
  183. package/esm2020/component/modal/model/i-modal-config.mjs +1 -1
  184. package/esm2020/component/modal/model/i-modal-result.mjs +1 -1
  185. package/esm2020/component/modal/model/modal-close-reason.enum.mjs +1 -1
  186. package/esm2020/component/modal/model/modal-instance.mjs +1 -1
  187. package/esm2020/component/modal/public-api.mjs +1 -1
  188. package/esm2020/component/pager/model/pager-state.mjs +1 -1
  189. package/esm2020/component/pager/pager/pager.component.mjs +1 -1
  190. package/esm2020/component/pager/pager.module.mjs +1 -1
  191. package/esm2020/component/pager/public-api.mjs +1 -1
  192. package/esm2020/component/pager/util/pager-util.mjs +1 -1
  193. package/esm2020/component/panel/panel/panel.component.mjs +1 -1
  194. package/esm2020/component/panel/panel.module.mjs +1 -1
  195. package/esm2020/component/panel/public-api.mjs +1 -1
  196. package/esm2020/component/progress-bar/progress-bar/progress-bar.component.mjs +1 -1
  197. package/esm2020/component/progress-bar/progress-bar.module.mjs +1 -1
  198. package/esm2020/component/progress-bar/public-api.mjs +1 -1
  199. package/esm2020/component/property-grid/default/date-item-default/date-item-default.component.mjs +1 -1
  200. package/esm2020/component/property-grid/default/list-item-default/list-item-default.component.mjs +1 -1
  201. package/esm2020/component/property-grid/default/numeric-item-default/numeric-item-default.component.mjs +1 -1
  202. package/esm2020/component/property-grid/default/string-item-default/string-item-default.component.mjs +1 -1
  203. package/esm2020/component/property-grid/property-grid/property-grid-group/property-grid-group.component.mjs +1 -1
  204. package/esm2020/component/property-grid/property-grid/property-grid-item/property-grid-item.component.mjs +7 -4
  205. package/esm2020/component/property-grid/property-grid/property-grid.component.mjs +1 -1
  206. package/esm2020/component/property-grid/property-grid.module.mjs +6 -2
  207. package/esm2020/component/property-grid/public-api.mjs +1 -1
  208. package/esm2020/component/public-api.mjs +1 -1
  209. package/esm2020/component/radio/public-api.mjs +1 -1
  210. package/esm2020/component/radio/radio/radio.component.mjs +1 -1
  211. package/esm2020/component/radio/radio-button/radio-button.component.mjs +1 -1
  212. package/esm2020/component/radio/radio.module.mjs +1 -1
  213. package/esm2020/component/resize-panel/public-api.mjs +1 -1
  214. package/esm2020/component/resize-panel/resize-panel/resize-panel.component.mjs +1 -1
  215. package/esm2020/component/resize-panel/resize-panel.module.mjs +1 -1
  216. package/esm2020/component/select/public-api.mjs +1 -1
  217. package/esm2020/component/select/select/select.component.mjs +1 -1
  218. package/esm2020/component/select/select-option.directive.mjs +1 -1
  219. package/esm2020/component/select/select-value.directive.mjs +1 -1
  220. package/esm2020/component/select/select.module.mjs +1 -1
  221. package/esm2020/component/sidebar/public-api.mjs +1 -1
  222. package/esm2020/component/sidebar/sidebar/sidebar.component.mjs +1 -1
  223. package/esm2020/component/sidebar/sidebar-position.enum.mjs +1 -1
  224. package/esm2020/component/sidebar/sidebar.module.mjs +1 -1
  225. package/esm2020/component/switch/public-api.mjs +1 -1
  226. package/esm2020/component/switch/switch/switch.component.mjs +1 -1
  227. package/esm2020/component/switch/switch-button/switch-button.component.mjs +1 -1
  228. package/esm2020/component/switch/switch.module.mjs +1 -1
  229. package/esm2020/component/switch/switch.service.mjs +1 -1
  230. package/esm2020/component/table/base/cell-component-base.mjs +21 -12
  231. package/esm2020/component/table/base/detail-component-base.mjs +1 -1
  232. package/esm2020/component/table/base/group-row-component-base.mjs +1 -1
  233. package/esm2020/component/table/base/head-cell-component-base.mjs +1 -1
  234. package/esm2020/component/table/cell/cell.component.mjs +1 -1
  235. package/esm2020/component/table/cell-host/cell-host.component.mjs +1 -1
  236. package/esm2020/component/table/contract/cell-components-map.mjs +1 -1
  237. package/esm2020/component/table/contract/column-reorder-event.mjs +1 -1
  238. package/esm2020/component/table/contract/column-resize-event.mjs +1 -1
  239. package/esm2020/component/table/contract/i-cell-coordinates.mjs +1 -1
  240. package/esm2020/component/table/contract/i-cell-event.mjs +1 -1
  241. package/esm2020/component/table/contract/i-cell-value.mjs +1 -1
  242. package/esm2020/component/table/contract/public-api.mjs +1 -1
  243. package/esm2020/component/table/contract/sort-event.mjs +1 -1
  244. package/esm2020/component/table/contract/table-column-store.mjs +1 -1
  245. package/esm2020/component/table/contract/table-column.mjs +2 -1
  246. package/esm2020/component/table/contract/table-context-menu-config.mjs +1 -1
  247. package/esm2020/component/table/contract/table-row.mjs +1 -1
  248. package/esm2020/component/table/default/boolean-cell/boolean-cell.component.mjs +1 -1
  249. package/esm2020/component/table/default/date-cell/date-cell.component.mjs +1 -1
  250. package/esm2020/component/table/default/date-time-cell/date-time-cell.component.mjs +1 -1
  251. package/esm2020/component/table/default/default-head-cell/default-head-cell.component.mjs +1 -1
  252. package/esm2020/component/table/default/group-row/group-row.component.mjs +1 -1
  253. package/esm2020/component/table/default/list-cell/list-cell.component.mjs +1 -1
  254. package/esm2020/component/table/default/numeric-cell/numeric-cell.component.mjs +1 -1
  255. package/esm2020/component/table/default/string-cell/string-cell.component.mjs +1 -1
  256. package/esm2020/component/table/enum/aggregation-type.enum.mjs +1 -1
  257. package/esm2020/component/table/enum/edit-event.enum.mjs +1 -1
  258. package/esm2020/component/table/enum/edit-type.enum.mjs +1 -1
  259. package/esm2020/component/table/enum/public-api.mjs +1 -1
  260. package/esm2020/component/table/enum/select-type.enum.mjs +1 -1
  261. package/esm2020/component/table/head-cell/head-cell.component.mjs +1 -1
  262. package/esm2020/component/table/head-cell-dropdown/head-cell-dropdown.component.mjs +3 -3
  263. package/esm2020/component/table/head-cell-host/head-cell-host.component.mjs +1 -1
  264. package/esm2020/component/table/public-api.mjs +1 -1
  265. package/esm2020/component/table/selection-cell/selection-cell.component.mjs +1 -1
  266. package/esm2020/component/table/selection-head-cell/selection-head-cell.component.mjs +1 -1
  267. package/esm2020/component/table/service/table.service.mjs +9 -4
  268. package/esm2020/component/table/table/table.component.mjs +5 -8
  269. package/esm2020/component/table/table-body/table-body.component.mjs +1 -1
  270. package/esm2020/component/table/table-head/table-head.component.mjs +1 -1
  271. package/esm2020/component/table/table-head-group/table-head-group.component.mjs +1 -1
  272. package/esm2020/component/table/table.module.mjs +1 -1
  273. package/esm2020/component/table/util/public-api.mjs +1 -1
  274. package/esm2020/component/table/util/state-util.mjs +1 -1
  275. package/esm2020/component/table/util/table-util.mjs +1 -1
  276. package/esm2020/component/tabs/public-api.mjs +1 -1
  277. package/esm2020/component/tabs/tab/tab.component.mjs +1 -1
  278. package/esm2020/component/tabs/tab-content.directive.mjs +1 -1
  279. package/esm2020/component/tabs/tab-title.directive.mjs +1 -1
  280. package/esm2020/component/tabs/tabs/tabs.component.mjs +1 -1
  281. package/esm2020/component/tabs/tabs.module.mjs +1 -1
  282. package/esm2020/component/theme-switch/public-api.mjs +1 -1
  283. package/esm2020/component/theme-switch/theme-switch/theme-switch.component.mjs +1 -1
  284. package/esm2020/component/theme-switch/theme-switch.module.mjs +1 -1
  285. package/esm2020/component/theme-switch/theme-switch.service.mjs +1 -1
  286. package/esm2020/component/toggle/public-api.mjs +1 -1
  287. package/esm2020/component/toggle/toggle/toggle.component.mjs +1 -1
  288. package/esm2020/component/toggle/toggle.module.mjs +1 -1
  289. package/esm2020/component/toolbar/public-api.mjs +1 -1
  290. package/esm2020/component/toolbar/toolbar/toolbar.component.mjs +1 -1
  291. package/esm2020/component/toolbar/toolbar.module.mjs +1 -1
  292. package/esm2020/component/tree/public-api.mjs +1 -1
  293. package/esm2020/component/tree/tree/tree.component.mjs +1 -1
  294. package/esm2020/component/tree/tree-item/tree-item.component.mjs +1 -1
  295. package/esm2020/component/tree/tree-item-toggle/tree-item-toggle.component.mjs +1 -1
  296. package/esm2020/component/tree/tree.module.mjs +1 -1
  297. package/esm2020/component/tree/tree.service.mjs +1 -1
  298. package/esm2020/directive/click-outside/click-outside.directive.mjs +1 -1
  299. package/esm2020/directive/click-outside/click-outside.module.mjs +1 -1
  300. package/esm2020/directive/click-outside/public-api.mjs +1 -1
  301. package/esm2020/directive/context-menu/context-menu.directive.mjs +1 -1
  302. package/esm2020/directive/context-menu/context-menu.module.mjs +1 -1
  303. package/esm2020/directive/context-menu/public-api.mjs +1 -1
  304. package/esm2020/directive/disable-control/disable-control.directive.mjs +1 -1
  305. package/esm2020/directive/disable-control/disable-control.module.mjs +1 -1
  306. package/esm2020/directive/disable-control/public-api.mjs +1 -1
  307. package/esm2020/directive/drag-sort/drag-sort-container.directive.mjs +1 -1
  308. package/esm2020/directive/drag-sort/drag-sort-event.mjs +1 -1
  309. package/esm2020/directive/drag-sort/drag-sort-item.directive.mjs +1 -1
  310. package/esm2020/directive/drag-sort/drag-sort.module.mjs +1 -1
  311. package/esm2020/directive/drag-sort/public-api.mjs +1 -1
  312. package/esm2020/directive/dynamic-content-base.directive.mjs +1 -1
  313. package/esm2020/directive/highlight/highlight.directive.mjs +1 -1
  314. package/esm2020/directive/highlight/highlight.module.mjs +1 -1
  315. package/esm2020/directive/highlight/public-api.mjs +1 -1
  316. package/esm2020/directive/hint/hint.directive.mjs +1 -1
  317. package/esm2020/directive/hint/hint.module.mjs +1 -1
  318. package/esm2020/directive/hint/public-api.mjs +1 -1
  319. package/esm2020/directive/loader/loader.directive.mjs +1 -1
  320. package/esm2020/directive/loader/loader.module.mjs +1 -1
  321. package/esm2020/directive/loader/public-api.mjs +1 -1
  322. package/esm2020/directive/no-autofill/no-autofill.directive.mjs +1 -1
  323. package/esm2020/directive/no-autofill/no-autofill.module.mjs +1 -1
  324. package/esm2020/directive/no-autofill/public-api.mjs +1 -1
  325. package/esm2020/directive/only-number/only-number.directive.mjs +1 -1
  326. package/esm2020/directive/only-number/only-number.module.mjs +1 -1
  327. package/esm2020/directive/only-number/public-api.mjs +1 -1
  328. package/esm2020/directive/public-api.mjs +1 -1
  329. package/esm2020/directive/resize-drag/public-api.mjs +1 -1
  330. package/esm2020/directive/resize-drag/resize-drag.directive.mjs +1 -1
  331. package/esm2020/directive/resize-drag/resize-drag.module.mjs +1 -1
  332. package/esm2020/directive/teta-template/public-api.mjs +1 -1
  333. package/esm2020/directive/teta-template/teta-template.directive.mjs +1 -1
  334. package/esm2020/directive/teta-template/teta-template.module.mjs +1 -1
  335. package/esm2020/directive/tooltip/public-api.mjs +1 -1
  336. package/esm2020/directive/tooltip/tooltip.directive.mjs +1 -1
  337. package/esm2020/directive/tooltip/tooltip.module.mjs +1 -1
  338. package/esm2020/pipe/number-pipe/number-pipe.module.mjs +1 -1
  339. package/esm2020/pipe/number-pipe/number.pipe.mjs +1 -1
  340. package/esm2020/pipe/number-pipe/public-api.mjs +1 -1
  341. package/esm2020/pipe/prepend-zero/prepend-zero.module.mjs +1 -1
  342. package/esm2020/pipe/prepend-zero/prepend-zero.pipe.mjs +1 -1
  343. package/esm2020/pipe/public-api.mjs +1 -1
  344. package/esm2020/pipe/util/number-helper.mjs +1 -1
  345. package/esm2020/public-api.mjs +1 -1
  346. package/esm2020/tetacom-ng-components.mjs +1 -1
  347. package/esm2020/util/date-util.mjs +1 -1
  348. package/esm2020/util/forms-util.mjs +1 -1
  349. package/esm2020/util/public-api.mjs +1 -1
  350. package/esm2020/util/string-util.mjs +1 -1
  351. package/fesm2015/tetacom-ng-components.mjs +226 -208
  352. package/fesm2015/tetacom-ng-components.mjs.map +1 -1
  353. package/fesm2020/tetacom-ng-components.mjs +224 -206
  354. package/fesm2020/tetacom-ng-components.mjs.map +1 -1
  355. package/package.json +1 -1
  356. package/style/tabs.scss +1 -1
@@ -14,6 +14,7 @@ import { ScrollingModule, CdkVirtualScrollViewport } from '@angular/cdk/scrollin
14
14
  import * as i1$1 from '@ngneat/transloco';
15
15
  import { TranslocoModule, TRANSLOCO_SCOPE } from '@ngneat/transloco';
16
16
  import * as hash from 'object-hash';
17
+ import hash__default from 'object-hash';
17
18
  import { SizeStrategy, Datasource, UiScrollModule } from 'ngx-ui-scroll';
18
19
  import * as d3 from 'd3';
19
20
  import { zoomIdentity } from 'd3';
@@ -5999,10 +6000,172 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
5999
6000
  args: ['click']
6000
6001
  }] } });
6001
6002
 
6003
+ class DynamicContentBaseDirective {
6004
+ constructor(_document, _elementRef, _service, _injector, _zone, _cdr) {
6005
+ this._document = _document;
6006
+ this._elementRef = _elementRef;
6007
+ this._service = _service;
6008
+ this._injector = _injector;
6009
+ this._zone = _zone;
6010
+ this._cdr = _cdr;
6011
+ this.align = Align.left;
6012
+ this.verticalAlign = VerticalAlign.bottom;
6013
+ this.openChange = new EventEmitter();
6014
+ this._alive = true;
6015
+ this._open = false;
6016
+ this._zone.onStable
6017
+ .pipe(takeWhile((_) => this._alive), filter((_) => this._open))
6018
+ .subscribe((_) => {
6019
+ this.setPosition();
6020
+ });
6021
+ }
6022
+ set open(open) {
6023
+ this._open = open;
6024
+ if (this._open) {
6025
+ this.createContentRef();
6026
+ }
6027
+ else {
6028
+ this.destroyContentRef();
6029
+ }
6030
+ }
6031
+ ngOnDestroy() {
6032
+ this._alive = false;
6033
+ this.destroyContentRef();
6034
+ }
6035
+ ngOnInit() { }
6036
+ createContentRef(className) {
6037
+ if (!this._componentRef) {
6038
+ this._open = true;
6039
+ const injector = this._service.getInjector(this.data, this._injector);
6040
+ const context = this._service.getContext(this._dynamicContent, this.data);
6041
+ this._content = this._service.createContent(this._dynamicContent, this._injector, context);
6042
+ this._componentRef = this._service.createComponent(PopupContentComponent, this._content, injector, this.appendToBody ? this._document.body : this._elementRef.nativeElement);
6043
+ if (className) {
6044
+ this._componentRef.instance.addClass(className);
6045
+ }
6046
+ }
6047
+ return this._componentRef;
6048
+ }
6049
+ destroyContentRef() {
6050
+ if (this._open) {
6051
+ this._open = false;
6052
+ this._service.destroy(this._componentRef, this._content, this.appendToBody ? this._document.body : this._elementRef.nativeElement);
6053
+ this._componentRef = null;
6054
+ }
6055
+ }
6056
+ }
6057
+ DynamicContentBaseDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: DynamicContentBaseDirective, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
6058
+ DynamicContentBaseDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.1", type: DynamicContentBaseDirective, inputs: { data: "data", className: "className", align: "align", verticalAlign: "verticalAlign", appendToBody: "appendToBody", open: "open" }, outputs: { openChange: "openChange" }, ngImport: i0 });
6059
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: DynamicContentBaseDirective, decorators: [{
6060
+ type: Directive
6061
+ }], ctorParameters: function () { return [{ type: undefined }, { type: i0.ElementRef }, { type: DynamicComponentService }, { type: i0.Injector }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { data: [{
6062
+ type: Input
6063
+ }], className: [{
6064
+ type: Input
6065
+ }], align: [{
6066
+ type: Input
6067
+ }], verticalAlign: [{
6068
+ type: Input
6069
+ }], appendToBody: [{
6070
+ type: Input
6071
+ }], open: [{
6072
+ type: Input
6073
+ }], openChange: [{
6074
+ type: Output
6075
+ }] } });
6076
+
6077
+ class HintDirective extends DynamicContentBaseDirective {
6078
+ constructor(_document, _elementRef, _service, _injector, _zone, _cdr) {
6079
+ super(_document, _elementRef, _service, _injector, _zone, _cdr);
6080
+ this._document = _document;
6081
+ this._elementRef = _elementRef;
6082
+ this._service = _service;
6083
+ this._injector = _injector;
6084
+ this._zone = _zone;
6085
+ this._cdr = _cdr;
6086
+ this.align = Align.center;
6087
+ this.verticalAlign = VerticalAlign.top;
6088
+ this.delay = 300;
6089
+ }
6090
+ get _dynamicContent() {
6091
+ return this.tetaHint;
6092
+ }
6093
+ mouseenter() {
6094
+ clearTimeout(this._timeout);
6095
+ this._timeout = setTimeout(() => {
6096
+ this.createHint();
6097
+ }, this.delay);
6098
+ }
6099
+ mouseleave() {
6100
+ clearTimeout(this._timeout);
6101
+ if (this._open && this._componentRef) {
6102
+ this._timeout = setTimeout(() => {
6103
+ this.destroyContentRef();
6104
+ }, this.delay);
6105
+ }
6106
+ }
6107
+ click(event) {
6108
+ if (this._open &&
6109
+ this._componentRef &&
6110
+ DomUtil.clickedInside(this._componentRef.location.nativeElement, event)) {
6111
+ event.stopPropagation();
6112
+ }
6113
+ }
6114
+ setPosition() {
6115
+ if (this._componentRef && this._open) {
6116
+ if (!this._componentRect) {
6117
+ this._componentRect =
6118
+ this._componentRef.location.nativeElement.getBoundingClientRect();
6119
+ }
6120
+ const position = PositionUtil.getPosition(this._elementRef.nativeElement.getBoundingClientRect(), this._componentRect, this.align, this.verticalAlign, 0, 4);
6121
+ PositionUtil.setElementPosition(this._componentRef.location.nativeElement, position);
6122
+ }
6123
+ }
6124
+ createHint() {
6125
+ if (!this._dynamicContent) {
6126
+ return;
6127
+ }
6128
+ this._componentRef = this.createContentRef();
6129
+ this._componentRef.instance.className = [
6130
+ ...ArrayUtil.asArray(this.className),
6131
+ 'hint',
6132
+ ];
6133
+ }
6134
+ }
6135
+ HintDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: HintDirective, deps: [{ token: DOCUMENT }, { token: i0.ElementRef }, { token: DynamicComponentService }, { token: i0.Injector }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
6136
+ HintDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.1", type: HintDirective, selector: "[tetaHint]", inputs: { tetaHint: "tetaHint", align: "align", verticalAlign: "verticalAlign", delay: "delay" }, host: { listeners: { "mouseenter": "mouseenter($event)", "mouseleave": "mouseleave($event)", "click": "click($event)" } }, usesInheritance: true, ngImport: i0 });
6137
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: HintDirective, decorators: [{
6138
+ type: Directive,
6139
+ args: [{
6140
+ selector: '[tetaHint]',
6141
+ }]
6142
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
6143
+ type: Inject,
6144
+ args: [DOCUMENT]
6145
+ }] }, { type: i0.ElementRef }, { type: DynamicComponentService }, { type: i0.Injector }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { tetaHint: [{
6146
+ type: Input
6147
+ }], align: [{
6148
+ type: Input
6149
+ }], verticalAlign: [{
6150
+ type: Input
6151
+ }], delay: [{
6152
+ type: Input
6153
+ }], mouseenter: [{
6154
+ type: HostListener,
6155
+ args: ['mouseenter', ['$event']]
6156
+ }], mouseleave: [{
6157
+ type: HostListener,
6158
+ args: ['mouseleave', ['$event']]
6159
+ }], click: [{
6160
+ type: HostListener,
6161
+ args: ['click', ['$event']]
6162
+ }] } });
6163
+
6002
6164
  class PropertyGridItemComponent {
6003
6165
  constructor(_transloco) {
6004
6166
  this._transloco = _transloco;
6005
6167
  this.controlValueChange = new EventEmitter();
6168
+ this.align = Align;
6006
6169
  this.filterTypeEnum = FilterType;
6007
6170
  this._alive = true;
6008
6171
  }
@@ -6068,10 +6231,10 @@ class PropertyGridItemComponent {
6068
6231
  }
6069
6232
  }
6070
6233
  PropertyGridItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: PropertyGridItemComponent, deps: [{ token: i1$1.TranslocoService }], target: i0.ɵɵFactoryTarget.Component });
6071
- PropertyGridItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: PropertyGridItemComponent, selector: "teta-property-grid-item", inputs: { column: "column", hideNonEditable: "hideNonEditable", dict: "dict", formGroup: "formGroup", horizontal: "horizontal" }, outputs: { controlValueChange: "controlValueChange" }, ngImport: i0, template: "<teta-input [label]=\"caption\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal\"\n *ngIf=\"column.editable || !hideNonEditable\">\n <ng-container [ngSwitch]=\"column.filterType\">\n <teta-select class=\"row_auto\"\n *ngSwitchCase=\"filterTypeEnum.list\"\n [searchRef]=\"getDict()?.length > 10 ? 'name' : ''\"\n [allowNull]=\"!column.required\"\n [appendToBody]=\"true\"\n [invalid]=\"controlIsInvalid(column.name)\"\n [formControlName]=\"column.name\"\n [options]=\"getDict()\"\n [valueRef]=\"'id'\"\n [textRef]=\"'name'\"\n [multiple]=\"false\"></teta-select>\n <teta-date-picker *ngSwitchCase=\"filterTypeEnum.date\"\n class=\"row_auto\"\n [appendToBody]=\"true\"\n [invalid]=\"controlIsInvalid(column.name)\"\n [formControlName]=\"column.name\"></teta-date-picker>\n <teta-toggle *ngSwitchCase=\"filterTypeEnum.boolean\"\n [formControlName]=\"column.name\">{{column.caption}}</teta-toggle>\n <teta-text-field class=\"row_auto\"\n *ngSwitchDefault\n (focusout)=\"valueChange()\"\n [onlyNumber]=\"column.filterType === filterTypeEnum.number\"\n [placeholder]=\"column.caption\"\n [invalid]=\"controlIsInvalid(column.name)\"\n [formControlName]=\"column.name\"></teta-text-field>\n </ng-container>\n <div *ngIf=\"controlIsInvalid(column.name)\"\n ngProjectAs=\"message\"\n class=\"color-red-50\">\n {{getError(column)}}\n </div>\n</teta-input>\n", styles: [""], components: [{ type: InputComponent, selector: "teta-input", inputs: ["label", "horizontal", "required"] }, { type: SelectComponent, selector: "teta-select", inputs: ["multiple", "options", "invalid", "align", "verticalAlign", "autoClose", "autoCloseIgnore", "disabled", "itemSize", "virtual", "icon", "placeholder", "appendToBody", "allowNull", "valueRef", "textRef", "searchRef"] }, { type: DatePickerComponent, selector: "teta-date-picker", inputs: ["disabled", "invalid", "firstDayOfWeek", "disabledDates", "disabledPeriods", "disabledDays", "minDate", "maxDate", "minYearDate", "maxYearDate", "align", "verticalAlign", "appendToBody", "showTime", "format"] }, { type: ToggleComponent, selector: "teta-toggle", inputs: ["palette", "noLabel", "disabled"] }, { type: TextFieldComponent, selector: "teta-text-field", inputs: ["placeholder", "leftIconName", "disabled", "onlyNumber", "invalid"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i2.NgSwitchDefault, selector: "[ngSwitchDefault]" }] });
6234
+ PropertyGridItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: PropertyGridItemComponent, selector: "teta-property-grid-item", inputs: { column: "column", hideNonEditable: "hideNonEditable", dict: "dict", formGroup: "formGroup", horizontal: "horizontal" }, outputs: { controlValueChange: "controlValueChange" }, ngImport: i0, template: "<teta-input [label]=\"caption\"\n [tetaHint]=\"column.hint\"\n [align]=\"align.left\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal\"\n *ngIf=\"column.editable || !hideNonEditable\">\n <ng-container [ngSwitch]=\"column.filterType\">\n <teta-select class=\"row_auto\"\n *ngSwitchCase=\"filterTypeEnum.list\"\n [searchRef]=\"getDict()?.length > 10 ? 'name' : ''\"\n [allowNull]=\"!column.required\"\n [appendToBody]=\"true\"\n [invalid]=\"controlIsInvalid(column.name)\"\n [formControlName]=\"column.name\"\n [options]=\"getDict()\"\n [valueRef]=\"'id'\"\n [textRef]=\"'name'\"\n [multiple]=\"false\"></teta-select>\n <teta-date-picker *ngSwitchCase=\"filterTypeEnum.date\"\n class=\"row_auto\"\n [appendToBody]=\"true\"\n [invalid]=\"controlIsInvalid(column.name)\"\n [formControlName]=\"column.name\"></teta-date-picker>\n <teta-toggle *ngSwitchCase=\"filterTypeEnum.boolean\"\n [formControlName]=\"column.name\">{{column.caption}}</teta-toggle>\n <teta-text-field class=\"row_auto\"\n *ngSwitchDefault\n (focusout)=\"valueChange()\"\n [onlyNumber]=\"column.filterType === filterTypeEnum.number\"\n [placeholder]=\"column.caption\"\n [invalid]=\"controlIsInvalid(column.name)\"\n [formControlName]=\"column.name\"></teta-text-field>\n </ng-container>\n <div *ngIf=\"controlIsInvalid(column.name)\"\n ngProjectAs=\"message\"\n class=\"color-red-50\">\n {{getError(column)}}\n </div>\n</teta-input>\n", styles: [""], components: [{ type: InputComponent, selector: "teta-input", inputs: ["label", "horizontal", "required"] }, { type: SelectComponent, selector: "teta-select", inputs: ["multiple", "options", "invalid", "align", "verticalAlign", "autoClose", "autoCloseIgnore", "disabled", "itemSize", "virtual", "icon", "placeholder", "appendToBody", "allowNull", "valueRef", "textRef", "searchRef"] }, { type: DatePickerComponent, selector: "teta-date-picker", inputs: ["disabled", "invalid", "firstDayOfWeek", "disabledDates", "disabledPeriods", "disabledDays", "minDate", "maxDate", "minYearDate", "maxYearDate", "align", "verticalAlign", "appendToBody", "showTime", "format"] }, { type: ToggleComponent, selector: "teta-toggle", inputs: ["palette", "noLabel", "disabled"] }, { type: TextFieldComponent, selector: "teta-text-field", inputs: ["placeholder", "leftIconName", "disabled", "onlyNumber", "invalid"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: HintDirective, selector: "[tetaHint]", inputs: ["tetaHint", "align", "verticalAlign", "delay"] }, { type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i2.NgSwitchDefault, selector: "[ngSwitchDefault]" }] });
6072
6235
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: PropertyGridItemComponent, decorators: [{
6073
6236
  type: Component,
6074
- args: [{ selector: 'teta-property-grid-item', template: "<teta-input [label]=\"caption\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal\"\n *ngIf=\"column.editable || !hideNonEditable\">\n <ng-container [ngSwitch]=\"column.filterType\">\n <teta-select class=\"row_auto\"\n *ngSwitchCase=\"filterTypeEnum.list\"\n [searchRef]=\"getDict()?.length > 10 ? 'name' : ''\"\n [allowNull]=\"!column.required\"\n [appendToBody]=\"true\"\n [invalid]=\"controlIsInvalid(column.name)\"\n [formControlName]=\"column.name\"\n [options]=\"getDict()\"\n [valueRef]=\"'id'\"\n [textRef]=\"'name'\"\n [multiple]=\"false\"></teta-select>\n <teta-date-picker *ngSwitchCase=\"filterTypeEnum.date\"\n class=\"row_auto\"\n [appendToBody]=\"true\"\n [invalid]=\"controlIsInvalid(column.name)\"\n [formControlName]=\"column.name\"></teta-date-picker>\n <teta-toggle *ngSwitchCase=\"filterTypeEnum.boolean\"\n [formControlName]=\"column.name\">{{column.caption}}</teta-toggle>\n <teta-text-field class=\"row_auto\"\n *ngSwitchDefault\n (focusout)=\"valueChange()\"\n [onlyNumber]=\"column.filterType === filterTypeEnum.number\"\n [placeholder]=\"column.caption\"\n [invalid]=\"controlIsInvalid(column.name)\"\n [formControlName]=\"column.name\"></teta-text-field>\n </ng-container>\n <div *ngIf=\"controlIsInvalid(column.name)\"\n ngProjectAs=\"message\"\n class=\"color-red-50\">\n {{getError(column)}}\n </div>\n</teta-input>\n", styles: [""] }]
6237
+ args: [{ selector: 'teta-property-grid-item', template: "<teta-input [label]=\"caption\"\n [tetaHint]=\"column.hint\"\n [align]=\"align.left\"\n [formGroup]=\"formGroup\"\n [horizontal]=\"horizontal\"\n *ngIf=\"column.editable || !hideNonEditable\">\n <ng-container [ngSwitch]=\"column.filterType\">\n <teta-select class=\"row_auto\"\n *ngSwitchCase=\"filterTypeEnum.list\"\n [searchRef]=\"getDict()?.length > 10 ? 'name' : ''\"\n [allowNull]=\"!column.required\"\n [appendToBody]=\"true\"\n [invalid]=\"controlIsInvalid(column.name)\"\n [formControlName]=\"column.name\"\n [options]=\"getDict()\"\n [valueRef]=\"'id'\"\n [textRef]=\"'name'\"\n [multiple]=\"false\"></teta-select>\n <teta-date-picker *ngSwitchCase=\"filterTypeEnum.date\"\n class=\"row_auto\"\n [appendToBody]=\"true\"\n [invalid]=\"controlIsInvalid(column.name)\"\n [formControlName]=\"column.name\"></teta-date-picker>\n <teta-toggle *ngSwitchCase=\"filterTypeEnum.boolean\"\n [formControlName]=\"column.name\">{{column.caption}}</teta-toggle>\n <teta-text-field class=\"row_auto\"\n *ngSwitchDefault\n (focusout)=\"valueChange()\"\n [onlyNumber]=\"column.filterType === filterTypeEnum.number\"\n [placeholder]=\"column.caption\"\n [invalid]=\"controlIsInvalid(column.name)\"\n [formControlName]=\"column.name\"></teta-text-field>\n </ng-container>\n <div *ngIf=\"controlIsInvalid(column.name)\"\n ngProjectAs=\"message\"\n class=\"color-red-50\">\n {{getError(column)}}\n </div>\n</teta-input>\n", styles: [""] }]
6075
6238
  }], ctorParameters: function () { return [{ type: i1$1.TranslocoService }]; }, propDecorators: { column: [{
6076
6239
  type: Input
6077
6240
  }], hideNonEditable: [{
@@ -6267,6 +6430,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
6267
6430
  }]
6268
6431
  }] });
6269
6432
 
6433
+ class HintModule {
6434
+ }
6435
+ HintModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: HintModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
6436
+ HintModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: HintModule, declarations: [HintDirective], imports: [CommonModule,
6437
+ DynamicComponentModule], exports: [HintDirective] });
6438
+ HintModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: HintModule, imports: [[
6439
+ CommonModule,
6440
+ DynamicComponentModule
6441
+ ]] });
6442
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: HintModule, decorators: [{
6443
+ type: NgModule,
6444
+ args: [{
6445
+ declarations: [HintDirective],
6446
+ exports: [HintDirective],
6447
+ imports: [
6448
+ CommonModule,
6449
+ DynamicComponentModule
6450
+ ]
6451
+ }]
6452
+ }] });
6453
+
6270
6454
  class PropertyGridModule {
6271
6455
  }
6272
6456
  PropertyGridModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: PropertyGridModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
@@ -6285,7 +6469,8 @@ PropertyGridModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", vers
6285
6469
  InputModule,
6286
6470
  ToggleModule,
6287
6471
  ReactiveFormsModule,
6288
- TranslocoModule], exports: [PropertyGridComponent] });
6472
+ TranslocoModule,
6473
+ HintModule], exports: [PropertyGridComponent] });
6289
6474
  PropertyGridModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: PropertyGridModule, providers: [
6290
6475
  {
6291
6476
  provide: TRANSLOCO_SCOPE,
@@ -6303,6 +6488,7 @@ PropertyGridModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", vers
6303
6488
  ToggleModule,
6304
6489
  ReactiveFormsModule,
6305
6490
  TranslocoModule,
6491
+ HintModule,
6306
6492
  ]] });
6307
6493
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: PropertyGridModule, decorators: [{
6308
6494
  type: NgModule,
@@ -6328,6 +6514,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
6328
6514
  ToggleModule,
6329
6515
  ReactiveFormsModule,
6330
6516
  TranslocoModule,
6517
+ HintModule,
6331
6518
  ],
6332
6519
  providers: [
6333
6520
  {
@@ -6615,6 +6802,7 @@ class TableColumn extends FilterItem {
6615
6802
  this.groupingOrder = options?.groupingOrder ?? 0;
6616
6803
  this.groupByFn = options?.groupByFn;
6617
6804
  this.headCellComponent = options?.headCellComponent;
6805
+ this.headDropdownTemplate = options?.headDropdownTemplate;
6618
6806
  this.cellComponent = options?.cellComponent;
6619
6807
  this.aggregate = options?.aggregate;
6620
6808
  this.defaultValue = options?.defaultValue;
@@ -6827,6 +7015,7 @@ class TableService {
6827
7015
  this.hiddenColumns = this._hiddenColumns.asObservable();
6828
7016
  this.scrollIndex = this._scrollIndex.asObservable();
6829
7017
  }
7018
+ // cellEditable: boolean | ((row: ICellCoordinates<T>) => boolean);
6830
7019
  get dragSource() {
6831
7020
  return this._dragSource;
6832
7021
  }
@@ -6839,7 +7028,11 @@ class TableService {
6839
7028
  }
6840
7029
  setColumns(columns) {
6841
7030
  this.initialColumns = columns ? columns.map((_) => new TableColumn(_)) : [];
6842
- this.initialColumnsHash = hash.sha1(this.initialColumns);
7031
+ this.initialColumnsHash = hash__default(this.initialColumns, {
7032
+ algorithm: 'sha1',
7033
+ ignoreUnknown: true,
7034
+ excludeKeys: key => key === 'headDropdownTemplate',
7035
+ });
6843
7036
  const restored = this.restoreColumns();
6844
7037
  if (restored) {
6845
7038
  this.setDisplayColumns(restored);
@@ -7063,7 +7256,7 @@ class TableService {
7063
7256
  if (this._currentEditCell != null) {
7064
7257
  this._editCellStop.next(this._currentEditCell);
7065
7258
  }
7066
- if (this.boolOrFuncCallback(this.cellEditable)(cellCoordinates)) {
7259
+ if (this.boolOrFuncCallback(cellCoordinates.column.editable)(cellCoordinates)) {
7067
7260
  this._editCellStart.next(cellCoordinates);
7068
7261
  this._currentEditCell = cellCoordinates;
7069
7262
  }
@@ -7441,167 +7634,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
7441
7634
  args: ['class.table-head__cell__component']
7442
7635
  }] } });
7443
7636
 
7444
- class DynamicContentBaseDirective {
7445
- constructor(_document, _elementRef, _service, _injector, _zone, _cdr) {
7446
- this._document = _document;
7447
- this._elementRef = _elementRef;
7448
- this._service = _service;
7449
- this._injector = _injector;
7450
- this._zone = _zone;
7451
- this._cdr = _cdr;
7452
- this.align = Align.left;
7453
- this.verticalAlign = VerticalAlign.bottom;
7454
- this.openChange = new EventEmitter();
7455
- this._alive = true;
7456
- this._open = false;
7457
- this._zone.onStable
7458
- .pipe(takeWhile((_) => this._alive), filter((_) => this._open))
7459
- .subscribe((_) => {
7460
- this.setPosition();
7461
- });
7462
- }
7463
- set open(open) {
7464
- this._open = open;
7465
- if (this._open) {
7466
- this.createContentRef();
7467
- }
7468
- else {
7469
- this.destroyContentRef();
7470
- }
7471
- }
7472
- ngOnDestroy() {
7473
- this._alive = false;
7474
- this.destroyContentRef();
7475
- }
7476
- ngOnInit() { }
7477
- createContentRef(className) {
7478
- if (!this._componentRef) {
7479
- this._open = true;
7480
- const injector = this._service.getInjector(this.data, this._injector);
7481
- const context = this._service.getContext(this._dynamicContent, this.data);
7482
- this._content = this._service.createContent(this._dynamicContent, this._injector, context);
7483
- this._componentRef = this._service.createComponent(PopupContentComponent, this._content, injector, this.appendToBody ? this._document.body : this._elementRef.nativeElement);
7484
- if (className) {
7485
- this._componentRef.instance.addClass(className);
7486
- }
7487
- }
7488
- return this._componentRef;
7489
- }
7490
- destroyContentRef() {
7491
- if (this._open) {
7492
- this._open = false;
7493
- this._service.destroy(this._componentRef, this._content, this.appendToBody ? this._document.body : this._elementRef.nativeElement);
7494
- this._componentRef = null;
7495
- }
7496
- }
7497
- }
7498
- DynamicContentBaseDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: DynamicContentBaseDirective, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
7499
- DynamicContentBaseDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.1", type: DynamicContentBaseDirective, inputs: { data: "data", className: "className", align: "align", verticalAlign: "verticalAlign", appendToBody: "appendToBody", open: "open" }, outputs: { openChange: "openChange" }, ngImport: i0 });
7500
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: DynamicContentBaseDirective, decorators: [{
7501
- type: Directive
7502
- }], ctorParameters: function () { return [{ type: undefined }, { type: i0.ElementRef }, { type: DynamicComponentService }, { type: i0.Injector }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { data: [{
7503
- type: Input
7504
- }], className: [{
7505
- type: Input
7506
- }], align: [{
7507
- type: Input
7508
- }], verticalAlign: [{
7509
- type: Input
7510
- }], appendToBody: [{
7511
- type: Input
7512
- }], open: [{
7513
- type: Input
7514
- }], openChange: [{
7515
- type: Output
7516
- }] } });
7517
-
7518
- class HintDirective extends DynamicContentBaseDirective {
7519
- constructor(_document, _elementRef, _service, _injector, _zone, _cdr) {
7520
- super(_document, _elementRef, _service, _injector, _zone, _cdr);
7521
- this._document = _document;
7522
- this._elementRef = _elementRef;
7523
- this._service = _service;
7524
- this._injector = _injector;
7525
- this._zone = _zone;
7526
- this._cdr = _cdr;
7527
- this.align = Align.center;
7528
- this.verticalAlign = VerticalAlign.top;
7529
- this.delay = 300;
7530
- }
7531
- get _dynamicContent() {
7532
- return this.tetaHint;
7533
- }
7534
- mouseenter() {
7535
- clearTimeout(this._timeout);
7536
- this._timeout = setTimeout(() => {
7537
- this.createHint();
7538
- }, this.delay);
7539
- }
7540
- mouseleave() {
7541
- clearTimeout(this._timeout);
7542
- if (this._open && this._componentRef) {
7543
- this._timeout = setTimeout(() => {
7544
- this.destroyContentRef();
7545
- }, this.delay);
7546
- }
7547
- }
7548
- click(event) {
7549
- if (this._open &&
7550
- this._componentRef &&
7551
- DomUtil.clickedInside(this._componentRef.location.nativeElement, event)) {
7552
- event.stopPropagation();
7553
- }
7554
- }
7555
- setPosition() {
7556
- if (this._componentRef && this._open) {
7557
- if (!this._componentRect) {
7558
- this._componentRect =
7559
- this._componentRef.location.nativeElement.getBoundingClientRect();
7560
- }
7561
- const position = PositionUtil.getPosition(this._elementRef.nativeElement.getBoundingClientRect(), this._componentRect, this.align, this.verticalAlign, 0, 4);
7562
- PositionUtil.setElementPosition(this._componentRef.location.nativeElement, position);
7563
- }
7564
- }
7565
- createHint() {
7566
- if (!this._dynamicContent) {
7567
- return;
7568
- }
7569
- this._componentRef = this.createContentRef();
7570
- this._componentRef.instance.className = [
7571
- ...ArrayUtil.asArray(this.className),
7572
- 'hint',
7573
- ];
7574
- }
7575
- }
7576
- HintDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: HintDirective, deps: [{ token: DOCUMENT }, { token: i0.ElementRef }, { token: DynamicComponentService }, { token: i0.Injector }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
7577
- HintDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.1", type: HintDirective, selector: "[tetaHint]", inputs: { tetaHint: "tetaHint", align: "align", verticalAlign: "verticalAlign", delay: "delay" }, host: { listeners: { "mouseenter": "mouseenter($event)", "mouseleave": "mouseleave($event)", "click": "click($event)" } }, usesInheritance: true, ngImport: i0 });
7578
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: HintDirective, decorators: [{
7579
- type: Directive,
7580
- args: [{
7581
- selector: '[tetaHint]',
7582
- }]
7583
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
7584
- type: Inject,
7585
- args: [DOCUMENT]
7586
- }] }, { type: i0.ElementRef }, { type: DynamicComponentService }, { type: i0.Injector }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { tetaHint: [{
7587
- type: Input
7588
- }], align: [{
7589
- type: Input
7590
- }], verticalAlign: [{
7591
- type: Input
7592
- }], delay: [{
7593
- type: Input
7594
- }], mouseenter: [{
7595
- type: HostListener,
7596
- args: ['mouseenter', ['$event']]
7597
- }], mouseleave: [{
7598
- type: HostListener,
7599
- args: ['mouseleave', ['$event']]
7600
- }], click: [{
7601
- type: HostListener,
7602
- args: ['click', ['$event']]
7603
- }] } });
7604
-
7605
7637
  class DefaultHeadCellComponent extends HeadCellComponentBase {
7606
7638
  constructor(_cdr) {
7607
7639
  super();
@@ -8156,10 +8188,10 @@ class HeadCellDropdownComponent {
8156
8188
  }
8157
8189
  }
8158
8190
  HeadCellDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: HeadCellDropdownComponent, deps: [{ token: TableService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
8159
- HeadCellDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: HeadCellDropdownComponent, selector: "teta-head-cell-dropdown", inputs: { columns: "columns", column: "column", state: "state", dropDownOpen: "dropDownOpen" }, outputs: { dropDownOpenChange: "dropDownOpenChange", autosize: "autosize", autosizeAll: "autosizeAll" }, host: { properties: { "class.shadow-2": "this.shadow", "class.bg-background-50": "this.bg" } }, ngImport: i0, template: "<teta-tabs class=\"column_auto\">\n <teta-tab *ngIf=\"column.filterable\">\n <ng-template tetaTabTitle>\n <teta-icon [name]=\"'filter'\"></teta-icon>\n </ng-template>\n <ng-template tetaTabContent>\n <teta-filter-host [column]=\"column\" [state]=\"state\"\n *ngIf=\"dict | async as d\"\n [filterOptions]=\"d[column.name]\"></teta-filter-host>\n <teta-toolbar class=\"justify-content-between\">\n <button teta-button [palette]=\"'text'\" [view]=\"'ghost'\" (click)=\"clearFilter()\">\n \u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C\n </button>\n <button teta-button [palette]=\"'primary'\" (click)=\"applyFilter()\">\n <teta-icon [name]=\"'tick'\"></teta-icon>\n \u041F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C\n </button>\n </teta-toolbar>\n </ng-template>\n </teta-tab>\n <teta-tab>\n <ng-template tetaTabTitle>\n <teta-icon [name]=\"'menu'\"></teta-icon>\n </ng-template>\n <ng-template tetaTabContent>\n <div class=\"list column_auto\">\n <div class=\"list-item list-item_interactive\" (click)=\"pinColumn()\">\n <teta-icon [palette]=\"'text'\"\n [name]=\"column.locked ? 'unpin' : 'pin'\"\n class=\"margin-right-2\"></teta-icon>\n {{column.locked ? '\u041E\u0442\u043A\u0440\u0435\u043F\u0438\u0442\u044C' : '\u0417\u0430\u043A\u0440\u0435\u043F\u0438\u0442\u044C'}}\n </div>\n <div class=\"list-divider\"></div>\n <ng-container *ngIf=\"hasSortedColumns()\">\n <div class=\"list-item list-item_interactive\"\n *ngIf=\"sortParam\"\n (click)=\"clearSort()\">\n <teta-icon [palette]=\"'text'\"\n [name]=\"'pin'\" class=\"margin-right-2\"></teta-icon>\n \u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C \u0441\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u043A\u0443\n </div>\n <div class=\"list-item list-item_interactive\"\n (click)=\"clearAllSort()\">\n <teta-icon [palette]=\"'text'\"\n [name]=\"'pin'\"\n class=\"margin-right-2\"></teta-icon>\n \u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C \u0432\u0441\u0435 \u0441\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u043A\u0438\n </div>\n <div class=\"list-divider\"></div>\n </ng-container>\n <ng-container *ngIf=\"hasFilteredColumns()\">\n <div class=\"list-item list-item_interactive\"\n *ngIf=\"filtered\"\n (click)=\"clearFilter()\">\n <teta-icon [palette]=\"'text'\"\n [name]=\"'pin'\"\n class=\"margin-right-2\"></teta-icon>\n \u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u0444\u0438\u043B\u044C\u0442\u0440\n </div>\n <div class=\"list-item list-item_interactive\"\n (click)=\"clearAllFilters()\">\n <teta-icon [palette]=\"'text'\"\n [name]=\"'pin'\"\n class=\"margin-right-2\"></teta-icon>\n \u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u0432\u0441\u0435 \u0444\u0438\u043B\u044C\u0442\u0440\u044B\n </div>\n <div class=\"list-divider\"></div>\n </ng-container>\n <div class=\"list-item list-item_interactive\" (click)=\"autosize.emit()\">\n <teta-icon [palette]=\"'text'\"\n [name]=\"'autoSize'\"\n class=\"margin-right-2\"></teta-icon>\n \u0410\u0432\u0442\u043E\u0440\u0430\u0437\u043C\u0435\u0440 \u043A\u043E\u043B\u043E\u043D\u043A\u0438\n </div>\n <div class=\"list-item list-item_interactive\" (click)=\"autosizeAll.emit()\">\n <teta-icon [palette]=\"'text'\"\n [name]=\"'autoSizeAll'\"\n class=\"margin-right-2\"></teta-icon>\n \u0410\u0432\u0442\u043E\u0440\u0430\u0437\u043C\u0435\u0440 \u0432\u0441\u0435\u0445 \u043A\u043E\u043B\u043E\u043D\u043E\u043A\n </div>\n <div class=\"list-divider\"></div>\n <div class=\"list-item list-item_interactive\" (click)=\"restoreDefaultColumns()\">\n <teta-icon [palette]=\"'text'\"\n [name]=\"'undo'\"\n class=\"margin-right-2\"></teta-icon>\n \u041E\u0442\u043C\u0435\u043D\u0438\u0442\u044C \u0432\u0441\u0435 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F\n </div>\n </div>\n </ng-template>\n </teta-tab>\n <teta-tab>\n <ng-template tetaTabTitle>\n <teta-icon [name]=\"'eye'\"></teta-icon>\n </ng-template>\n <ng-template tetaTabContent>\n <div class=\"list-item padding-left-6 padding-top-2\" [class.padding-left-9]=\"childMode\">\n <teta-checkbox [binary]=\"true\"\n [allowNull]=\"true\"\n [ngModel]=\"allColumnsVisible()\"\n (ngModelChange)=\"setAllColumns($event)\">\n \u0412\u0441\u0435\n </teta-checkbox>\n </div>\n <div class=\"list-divider\"></div>\n <div class=\"padding-v-2 column column_auto scrollable\">\n <teta-tree [data]=\"columns\"\n [openItems]=\"openItems\"\n (openItemsChange)=\"openItems = $event\"\n [childNodeName]=\"'columns'\"\n [compareItems]=\"compareItems\">\n <ng-template tetaTemplate let-item>\n <div class=\"tree__item\">\n <teta-tree-item-toggle [item]=\"item\" *ngIf=\"item.columns?.length > 0\"></teta-tree-item-toggle>\n <teta-checkbox\n [ngModel]=\"!columnIsHidden(item)\"\n (ngModelChange)=\"setColumnVisibility(item, $event)\"\n (click)=\"$event.stopPropagation()\"\n [binary]=\"true\"\n >\n {{item.caption}}\n </teta-checkbox>\n </div>\n </ng-template>\n </teta-tree>\n </div>\n <teta-toolbar class=\"justify-content-end\">\n <button teta-button\n [disabled]=\"allColumnsVisible() === false\"\n [palette]=\"'primary'\"\n (click)=\"setColumnsVisibility()\">\n \u041F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C\n </button>\n </teta-toolbar>\n </ng-template>\n </teta-tab>\n</teta-tabs>\n", styles: [":host{display:flex;flex-grow:1;min-height:0;width:250px}\n"], components: [{ type: TabsComponent, selector: "teta-tabs", inputs: ["activeId", "destroyOnHide"], outputs: ["tabChange"] }, { type: TabComponent, selector: "teta-tab", inputs: ["id", "title", "disabled"] }, { type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }, { type: FilterHostComponent, selector: "teta-filter-host", inputs: ["column", "state", "filterOptions"], outputs: ["filterChanged"] }, { type: ToolbarComponent, selector: "teta-toolbar", inputs: ["palette", "class"] }, { type: ButtonComponent, selector: "button[teta-button], teta-button", inputs: ["palette", "class", "view", "square"] }, { type: CheckboxComponent, selector: "teta-checkbox", inputs: ["class", "palette", "noLabel", "disabled", "value", "binary", "allowNull"] }, { type: TreeComponent, selector: "teta-tree", inputs: ["data", "class", "padding", "childNodeName", "openItems", "compareItems"], outputs: ["service", "openItemsChange"] }, { type: TreeItemToggleComponent, selector: "teta-tree-item-toggle", inputs: ["item"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: TabTitleDirective, selector: "[tetaTabTitle]" }, { type: TabContentDirective, selector: "[tetaTabContent]" }, { 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"] }, { type: TetaTemplateDirective, selector: "[tetaTemplate]", inputs: ["tetaTemplate"] }], pipes: { "async": i2.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
8191
+ HeadCellDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: HeadCellDropdownComponent, selector: "teta-head-cell-dropdown", inputs: { columns: "columns", column: "column", state: "state", dropDownOpen: "dropDownOpen" }, outputs: { dropDownOpenChange: "dropDownOpenChange", autosize: "autosize", autosizeAll: "autosizeAll" }, host: { properties: { "class.shadow-2": "this.shadow", "class.bg-background-50": "this.bg" } }, ngImport: i0, template: "<teta-tabs class=\"column_auto\">\n <teta-tab *ngIf=\"column.filterable\">\n <ng-template tetaTabTitle>\n <teta-icon [name]=\"'filter'\"></teta-icon>\n </ng-template>\n <ng-template tetaTabContent>\n <teta-filter-host [column]=\"column\" [state]=\"state\"\n *ngIf=\"dict | async as d\"\n [filterOptions]=\"d[column.name]\"></teta-filter-host>\n <teta-toolbar class=\"justify-content-between\">\n <button teta-button [palette]=\"'text'\" [view]=\"'ghost'\" (click)=\"clearFilter()\">\n \u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C\n </button>\n <button teta-button [palette]=\"'primary'\" (click)=\"applyFilter()\">\n <teta-icon [name]=\"'tick'\"></teta-icon>\n \u041F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C\n </button>\n </teta-toolbar>\n </ng-template>\n </teta-tab>\n <teta-tab *ngIf=\"column.headDropdownTemplate\">\n <ng-template tetaTabTitle>\n <teta-icon [name]=\"'measurement'\"></teta-icon>\n </ng-template>\n <ng-template tetaTabContent>\n <ng-container\n *ngTemplateOutlet=\"column.headDropdownTemplate; context: {$implicit: column, column: column}\"></ng-container>\n </ng-template>\n </teta-tab>\n <teta-tab>\n <ng-template tetaTabTitle>\n <teta-icon [name]=\"'menu'\"></teta-icon>\n </ng-template>\n <ng-template tetaTabContent>\n <div class=\"list column_auto\">\n <div class=\"list-item list-item_interactive\" (click)=\"pinColumn()\">\n <teta-icon [palette]=\"'text'\"\n [name]=\"column.locked ? 'unpin' : 'pin'\"\n class=\"margin-right-2\"></teta-icon>\n {{column.locked ? '\u041E\u0442\u043A\u0440\u0435\u043F\u0438\u0442\u044C' : '\u0417\u0430\u043A\u0440\u0435\u043F\u0438\u0442\u044C'}}\n </div>\n <div class=\"list-divider\"></div>\n <ng-container *ngIf=\"hasSortedColumns()\">\n <div class=\"list-item list-item_interactive\"\n *ngIf=\"sortParam\"\n (click)=\"clearSort()\">\n <teta-icon [palette]=\"'text'\"\n [name]=\"'pin'\" class=\"margin-right-2\"></teta-icon>\n \u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C \u0441\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u043A\u0443\n </div>\n <div class=\"list-item list-item_interactive\"\n (click)=\"clearAllSort()\">\n <teta-icon [palette]=\"'text'\"\n [name]=\"'pin'\"\n class=\"margin-right-2\"></teta-icon>\n \u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C \u0432\u0441\u0435 \u0441\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u043A\u0438\n </div>\n <div class=\"list-divider\"></div>\n </ng-container>\n <ng-container *ngIf=\"hasFilteredColumns()\">\n <div class=\"list-item list-item_interactive\"\n *ngIf=\"filtered\"\n (click)=\"clearFilter()\">\n <teta-icon [palette]=\"'text'\"\n [name]=\"'pin'\"\n class=\"margin-right-2\"></teta-icon>\n \u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u0444\u0438\u043B\u044C\u0442\u0440\n </div>\n <div class=\"list-item list-item_interactive\"\n (click)=\"clearAllFilters()\">\n <teta-icon [palette]=\"'text'\"\n [name]=\"'pin'\"\n class=\"margin-right-2\"></teta-icon>\n \u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u0432\u0441\u0435 \u0444\u0438\u043B\u044C\u0442\u0440\u044B\n </div>\n <div class=\"list-divider\"></div>\n </ng-container>\n <div class=\"list-item list-item_interactive\" (click)=\"autosize.emit()\">\n <teta-icon [palette]=\"'text'\"\n [name]=\"'autoSize'\"\n class=\"margin-right-2\"></teta-icon>\n \u0410\u0432\u0442\u043E\u0440\u0430\u0437\u043C\u0435\u0440 \u043A\u043E\u043B\u043E\u043D\u043A\u0438\n </div>\n <div class=\"list-item list-item_interactive\" (click)=\"autosizeAll.emit()\">\n <teta-icon [palette]=\"'text'\"\n [name]=\"'autoSizeAll'\"\n class=\"margin-right-2\"></teta-icon>\n \u0410\u0432\u0442\u043E\u0440\u0430\u0437\u043C\u0435\u0440 \u0432\u0441\u0435\u0445 \u043A\u043E\u043B\u043E\u043D\u043E\u043A\n </div>\n <div class=\"list-divider\"></div>\n <div class=\"list-item list-item_interactive\" (click)=\"restoreDefaultColumns()\">\n <teta-icon [palette]=\"'text'\"\n [name]=\"'undo'\"\n class=\"margin-right-2\"></teta-icon>\n \u041E\u0442\u043C\u0435\u043D\u0438\u0442\u044C \u0432\u0441\u0435 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F\n </div>\n </div>\n </ng-template>\n </teta-tab>\n <teta-tab>\n <ng-template tetaTabTitle>\n <teta-icon [name]=\"'eye'\"></teta-icon>\n </ng-template>\n <ng-template tetaTabContent>\n <div class=\"list-item padding-left-6 padding-top-2\" [class.padding-left-9]=\"childMode\">\n <teta-checkbox [binary]=\"true\"\n [allowNull]=\"true\"\n [ngModel]=\"allColumnsVisible()\"\n (ngModelChange)=\"setAllColumns($event)\">\n \u0412\u0441\u0435\n </teta-checkbox>\n </div>\n <div class=\"list-divider\"></div>\n <div class=\"padding-v-2 column column_auto scrollable\">\n <teta-tree [data]=\"columns\"\n [openItems]=\"openItems\"\n (openItemsChange)=\"openItems = $event\"\n [childNodeName]=\"'columns'\"\n [compareItems]=\"compareItems\">\n <ng-template tetaTemplate let-item>\n <div class=\"tree__item\">\n <teta-tree-item-toggle [item]=\"item\" *ngIf=\"item.columns?.length > 0\"></teta-tree-item-toggle>\n <teta-checkbox\n [ngModel]=\"!columnIsHidden(item)\"\n (ngModelChange)=\"setColumnVisibility(item, $event)\"\n (click)=\"$event.stopPropagation()\"\n [binary]=\"true\"\n >\n {{item.caption}}\n </teta-checkbox>\n </div>\n </ng-template>\n </teta-tree>\n </div>\n <teta-toolbar class=\"justify-content-end\">\n <button teta-button\n [disabled]=\"allColumnsVisible() === false\"\n [palette]=\"'primary'\"\n (click)=\"setColumnsVisibility()\">\n \u041F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C\n </button>\n </teta-toolbar>\n </ng-template>\n </teta-tab>\n</teta-tabs>\n", styles: [":host{display:flex;flex-grow:1;min-height:0;width:250px}\n"], components: [{ type: TabsComponent, selector: "teta-tabs", inputs: ["activeId", "destroyOnHide"], outputs: ["tabChange"] }, { type: TabComponent, selector: "teta-tab", inputs: ["id", "title", "disabled"] }, { type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }, { type: FilterHostComponent, selector: "teta-filter-host", inputs: ["column", "state", "filterOptions"], outputs: ["filterChanged"] }, { type: ToolbarComponent, selector: "teta-toolbar", inputs: ["palette", "class"] }, { type: ButtonComponent, selector: "button[teta-button], teta-button", inputs: ["palette", "class", "view", "square"] }, { type: CheckboxComponent, selector: "teta-checkbox", inputs: ["class", "palette", "noLabel", "disabled", "value", "binary", "allowNull"] }, { type: TreeComponent, selector: "teta-tree", inputs: ["data", "class", "padding", "childNodeName", "openItems", "compareItems"], outputs: ["service", "openItemsChange"] }, { type: TreeItemToggleComponent, selector: "teta-tree-item-toggle", inputs: ["item"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: TabTitleDirective, selector: "[tetaTabTitle]" }, { type: TabContentDirective, selector: "[tetaTabContent]" }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { 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"] }, { type: TetaTemplateDirective, selector: "[tetaTemplate]", inputs: ["tetaTemplate"] }], pipes: { "async": i2.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
8160
8192
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: HeadCellDropdownComponent, decorators: [{
8161
8193
  type: Component,
8162
- args: [{ selector: 'teta-head-cell-dropdown', changeDetection: ChangeDetectionStrategy.OnPush, template: "<teta-tabs class=\"column_auto\">\n <teta-tab *ngIf=\"column.filterable\">\n <ng-template tetaTabTitle>\n <teta-icon [name]=\"'filter'\"></teta-icon>\n </ng-template>\n <ng-template tetaTabContent>\n <teta-filter-host [column]=\"column\" [state]=\"state\"\n *ngIf=\"dict | async as d\"\n [filterOptions]=\"d[column.name]\"></teta-filter-host>\n <teta-toolbar class=\"justify-content-between\">\n <button teta-button [palette]=\"'text'\" [view]=\"'ghost'\" (click)=\"clearFilter()\">\n \u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C\n </button>\n <button teta-button [palette]=\"'primary'\" (click)=\"applyFilter()\">\n <teta-icon [name]=\"'tick'\"></teta-icon>\n \u041F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C\n </button>\n </teta-toolbar>\n </ng-template>\n </teta-tab>\n <teta-tab>\n <ng-template tetaTabTitle>\n <teta-icon [name]=\"'menu'\"></teta-icon>\n </ng-template>\n <ng-template tetaTabContent>\n <div class=\"list column_auto\">\n <div class=\"list-item list-item_interactive\" (click)=\"pinColumn()\">\n <teta-icon [palette]=\"'text'\"\n [name]=\"column.locked ? 'unpin' : 'pin'\"\n class=\"margin-right-2\"></teta-icon>\n {{column.locked ? '\u041E\u0442\u043A\u0440\u0435\u043F\u0438\u0442\u044C' : '\u0417\u0430\u043A\u0440\u0435\u043F\u0438\u0442\u044C'}}\n </div>\n <div class=\"list-divider\"></div>\n <ng-container *ngIf=\"hasSortedColumns()\">\n <div class=\"list-item list-item_interactive\"\n *ngIf=\"sortParam\"\n (click)=\"clearSort()\">\n <teta-icon [palette]=\"'text'\"\n [name]=\"'pin'\" class=\"margin-right-2\"></teta-icon>\n \u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C \u0441\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u043A\u0443\n </div>\n <div class=\"list-item list-item_interactive\"\n (click)=\"clearAllSort()\">\n <teta-icon [palette]=\"'text'\"\n [name]=\"'pin'\"\n class=\"margin-right-2\"></teta-icon>\n \u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C \u0432\u0441\u0435 \u0441\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u043A\u0438\n </div>\n <div class=\"list-divider\"></div>\n </ng-container>\n <ng-container *ngIf=\"hasFilteredColumns()\">\n <div class=\"list-item list-item_interactive\"\n *ngIf=\"filtered\"\n (click)=\"clearFilter()\">\n <teta-icon [palette]=\"'text'\"\n [name]=\"'pin'\"\n class=\"margin-right-2\"></teta-icon>\n \u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u0444\u0438\u043B\u044C\u0442\u0440\n </div>\n <div class=\"list-item list-item_interactive\"\n (click)=\"clearAllFilters()\">\n <teta-icon [palette]=\"'text'\"\n [name]=\"'pin'\"\n class=\"margin-right-2\"></teta-icon>\n \u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u0432\u0441\u0435 \u0444\u0438\u043B\u044C\u0442\u0440\u044B\n </div>\n <div class=\"list-divider\"></div>\n </ng-container>\n <div class=\"list-item list-item_interactive\" (click)=\"autosize.emit()\">\n <teta-icon [palette]=\"'text'\"\n [name]=\"'autoSize'\"\n class=\"margin-right-2\"></teta-icon>\n \u0410\u0432\u0442\u043E\u0440\u0430\u0437\u043C\u0435\u0440 \u043A\u043E\u043B\u043E\u043D\u043A\u0438\n </div>\n <div class=\"list-item list-item_interactive\" (click)=\"autosizeAll.emit()\">\n <teta-icon [palette]=\"'text'\"\n [name]=\"'autoSizeAll'\"\n class=\"margin-right-2\"></teta-icon>\n \u0410\u0432\u0442\u043E\u0440\u0430\u0437\u043C\u0435\u0440 \u0432\u0441\u0435\u0445 \u043A\u043E\u043B\u043E\u043D\u043E\u043A\n </div>\n <div class=\"list-divider\"></div>\n <div class=\"list-item list-item_interactive\" (click)=\"restoreDefaultColumns()\">\n <teta-icon [palette]=\"'text'\"\n [name]=\"'undo'\"\n class=\"margin-right-2\"></teta-icon>\n \u041E\u0442\u043C\u0435\u043D\u0438\u0442\u044C \u0432\u0441\u0435 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F\n </div>\n </div>\n </ng-template>\n </teta-tab>\n <teta-tab>\n <ng-template tetaTabTitle>\n <teta-icon [name]=\"'eye'\"></teta-icon>\n </ng-template>\n <ng-template tetaTabContent>\n <div class=\"list-item padding-left-6 padding-top-2\" [class.padding-left-9]=\"childMode\">\n <teta-checkbox [binary]=\"true\"\n [allowNull]=\"true\"\n [ngModel]=\"allColumnsVisible()\"\n (ngModelChange)=\"setAllColumns($event)\">\n \u0412\u0441\u0435\n </teta-checkbox>\n </div>\n <div class=\"list-divider\"></div>\n <div class=\"padding-v-2 column column_auto scrollable\">\n <teta-tree [data]=\"columns\"\n [openItems]=\"openItems\"\n (openItemsChange)=\"openItems = $event\"\n [childNodeName]=\"'columns'\"\n [compareItems]=\"compareItems\">\n <ng-template tetaTemplate let-item>\n <div class=\"tree__item\">\n <teta-tree-item-toggle [item]=\"item\" *ngIf=\"item.columns?.length > 0\"></teta-tree-item-toggle>\n <teta-checkbox\n [ngModel]=\"!columnIsHidden(item)\"\n (ngModelChange)=\"setColumnVisibility(item, $event)\"\n (click)=\"$event.stopPropagation()\"\n [binary]=\"true\"\n >\n {{item.caption}}\n </teta-checkbox>\n </div>\n </ng-template>\n </teta-tree>\n </div>\n <teta-toolbar class=\"justify-content-end\">\n <button teta-button\n [disabled]=\"allColumnsVisible() === false\"\n [palette]=\"'primary'\"\n (click)=\"setColumnsVisibility()\">\n \u041F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C\n </button>\n </teta-toolbar>\n </ng-template>\n </teta-tab>\n</teta-tabs>\n", styles: [":host{display:flex;flex-grow:1;min-height:0;width:250px}\n"] }]
8194
+ args: [{ selector: 'teta-head-cell-dropdown', changeDetection: ChangeDetectionStrategy.OnPush, template: "<teta-tabs class=\"column_auto\">\n <teta-tab *ngIf=\"column.filterable\">\n <ng-template tetaTabTitle>\n <teta-icon [name]=\"'filter'\"></teta-icon>\n </ng-template>\n <ng-template tetaTabContent>\n <teta-filter-host [column]=\"column\" [state]=\"state\"\n *ngIf=\"dict | async as d\"\n [filterOptions]=\"d[column.name]\"></teta-filter-host>\n <teta-toolbar class=\"justify-content-between\">\n <button teta-button [palette]=\"'text'\" [view]=\"'ghost'\" (click)=\"clearFilter()\">\n \u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C\n </button>\n <button teta-button [palette]=\"'primary'\" (click)=\"applyFilter()\">\n <teta-icon [name]=\"'tick'\"></teta-icon>\n \u041F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C\n </button>\n </teta-toolbar>\n </ng-template>\n </teta-tab>\n <teta-tab *ngIf=\"column.headDropdownTemplate\">\n <ng-template tetaTabTitle>\n <teta-icon [name]=\"'measurement'\"></teta-icon>\n </ng-template>\n <ng-template tetaTabContent>\n <ng-container\n *ngTemplateOutlet=\"column.headDropdownTemplate; context: {$implicit: column, column: column}\"></ng-container>\n </ng-template>\n </teta-tab>\n <teta-tab>\n <ng-template tetaTabTitle>\n <teta-icon [name]=\"'menu'\"></teta-icon>\n </ng-template>\n <ng-template tetaTabContent>\n <div class=\"list column_auto\">\n <div class=\"list-item list-item_interactive\" (click)=\"pinColumn()\">\n <teta-icon [palette]=\"'text'\"\n [name]=\"column.locked ? 'unpin' : 'pin'\"\n class=\"margin-right-2\"></teta-icon>\n {{column.locked ? '\u041E\u0442\u043A\u0440\u0435\u043F\u0438\u0442\u044C' : '\u0417\u0430\u043A\u0440\u0435\u043F\u0438\u0442\u044C'}}\n </div>\n <div class=\"list-divider\"></div>\n <ng-container *ngIf=\"hasSortedColumns()\">\n <div class=\"list-item list-item_interactive\"\n *ngIf=\"sortParam\"\n (click)=\"clearSort()\">\n <teta-icon [palette]=\"'text'\"\n [name]=\"'pin'\" class=\"margin-right-2\"></teta-icon>\n \u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C \u0441\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u043A\u0443\n </div>\n <div class=\"list-item list-item_interactive\"\n (click)=\"clearAllSort()\">\n <teta-icon [palette]=\"'text'\"\n [name]=\"'pin'\"\n class=\"margin-right-2\"></teta-icon>\n \u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C \u0432\u0441\u0435 \u0441\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u043A\u0438\n </div>\n <div class=\"list-divider\"></div>\n </ng-container>\n <ng-container *ngIf=\"hasFilteredColumns()\">\n <div class=\"list-item list-item_interactive\"\n *ngIf=\"filtered\"\n (click)=\"clearFilter()\">\n <teta-icon [palette]=\"'text'\"\n [name]=\"'pin'\"\n class=\"margin-right-2\"></teta-icon>\n \u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u0444\u0438\u043B\u044C\u0442\u0440\n </div>\n <div class=\"list-item list-item_interactive\"\n (click)=\"clearAllFilters()\">\n <teta-icon [palette]=\"'text'\"\n [name]=\"'pin'\"\n class=\"margin-right-2\"></teta-icon>\n \u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u0432\u0441\u0435 \u0444\u0438\u043B\u044C\u0442\u0440\u044B\n </div>\n <div class=\"list-divider\"></div>\n </ng-container>\n <div class=\"list-item list-item_interactive\" (click)=\"autosize.emit()\">\n <teta-icon [palette]=\"'text'\"\n [name]=\"'autoSize'\"\n class=\"margin-right-2\"></teta-icon>\n \u0410\u0432\u0442\u043E\u0440\u0430\u0437\u043C\u0435\u0440 \u043A\u043E\u043B\u043E\u043D\u043A\u0438\n </div>\n <div class=\"list-item list-item_interactive\" (click)=\"autosizeAll.emit()\">\n <teta-icon [palette]=\"'text'\"\n [name]=\"'autoSizeAll'\"\n class=\"margin-right-2\"></teta-icon>\n \u0410\u0432\u0442\u043E\u0440\u0430\u0437\u043C\u0435\u0440 \u0432\u0441\u0435\u0445 \u043A\u043E\u043B\u043E\u043D\u043E\u043A\n </div>\n <div class=\"list-divider\"></div>\n <div class=\"list-item list-item_interactive\" (click)=\"restoreDefaultColumns()\">\n <teta-icon [palette]=\"'text'\"\n [name]=\"'undo'\"\n class=\"margin-right-2\"></teta-icon>\n \u041E\u0442\u043C\u0435\u043D\u0438\u0442\u044C \u0432\u0441\u0435 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F\n </div>\n </div>\n </ng-template>\n </teta-tab>\n <teta-tab>\n <ng-template tetaTabTitle>\n <teta-icon [name]=\"'eye'\"></teta-icon>\n </ng-template>\n <ng-template tetaTabContent>\n <div class=\"list-item padding-left-6 padding-top-2\" [class.padding-left-9]=\"childMode\">\n <teta-checkbox [binary]=\"true\"\n [allowNull]=\"true\"\n [ngModel]=\"allColumnsVisible()\"\n (ngModelChange)=\"setAllColumns($event)\">\n \u0412\u0441\u0435\n </teta-checkbox>\n </div>\n <div class=\"list-divider\"></div>\n <div class=\"padding-v-2 column column_auto scrollable\">\n <teta-tree [data]=\"columns\"\n [openItems]=\"openItems\"\n (openItemsChange)=\"openItems = $event\"\n [childNodeName]=\"'columns'\"\n [compareItems]=\"compareItems\">\n <ng-template tetaTemplate let-item>\n <div class=\"tree__item\">\n <teta-tree-item-toggle [item]=\"item\" *ngIf=\"item.columns?.length > 0\"></teta-tree-item-toggle>\n <teta-checkbox\n [ngModel]=\"!columnIsHidden(item)\"\n (ngModelChange)=\"setColumnVisibility(item, $event)\"\n (click)=\"$event.stopPropagation()\"\n [binary]=\"true\"\n >\n {{item.caption}}\n </teta-checkbox>\n </div>\n </ng-template>\n </teta-tree>\n </div>\n <teta-toolbar class=\"justify-content-end\">\n <button teta-button\n [disabled]=\"allColumnsVisible() === false\"\n [palette]=\"'primary'\"\n (click)=\"setColumnsVisibility()\">\n \u041F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C\n </button>\n </teta-toolbar>\n </ng-template>\n </teta-tab>\n</teta-tabs>\n", styles: [":host{display:flex;flex-grow:1;min-height:0;width:250px}\n"] }]
8163
8195
  }], ctorParameters: function () { return [{ type: TableService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { columns: [{
8164
8196
  type: Input
8165
8197
  }], column: [{
@@ -8566,7 +8598,7 @@ class CellComponentBase {
8566
8598
  }
8567
8599
  get edit() {
8568
8600
  return (this._edit &&
8569
- this.svc.boolOrFuncCallback(this.svc.cellEditable)({
8601
+ this.svc.boolOrFuncCallback(this.column.editable)({
8570
8602
  column: this.column,
8571
8603
  row: this.row,
8572
8604
  }));
@@ -8585,14 +8617,16 @@ class CellComponentBase {
8585
8617
  }
8586
8618
  init() {
8587
8619
  this.svc.editRowStart
8588
- .pipe(takeWhile((_) => this._alive), filter((_) => this.column.editable))
8620
+ .pipe(takeWhile((_) => this._alive))
8589
8621
  .subscribe((cell) => {
8590
8622
  if (this.row === cell?.row &&
8591
- !this._edit &&
8592
- this.svc.boolOrFuncCallback(this.svc.cellEditable)({
8593
- column: this.column,
8594
- row: this.row,
8595
- })) {
8623
+ !this._edit
8624
+ // &&
8625
+ // this.svc.boolOrFuncCallback(this.svc.cellEditable)({
8626
+ // column: this.column,
8627
+ // row: this.row,
8628
+ // })
8629
+ ) {
8596
8630
  this.start(cell, 'row');
8597
8631
  }
8598
8632
  if (this.row !== cell?.row && this._edit) {
@@ -8600,7 +8634,7 @@ class CellComponentBase {
8600
8634
  }
8601
8635
  });
8602
8636
  this.svc.editCellStart
8603
- .pipe(takeWhile((_) => this._alive), filter((_) => this.column.editable))
8637
+ .pipe(takeWhile((_) => this._alive))
8604
8638
  .subscribe((cell) => {
8605
8639
  if (this.row === cell.row &&
8606
8640
  this.column.name === cell.column.name &&
@@ -8615,12 +8649,19 @@ class CellComponentBase {
8615
8649
  this.svc.valueSet
8616
8650
  .pipe(takeWhile((_) => this._alive))
8617
8651
  .subscribe((cellValue) => {
8618
- if (this.row === cellValue.cell.row &&
8619
- this.column.name === cellValue.cell.column.name) {
8652
+ if (this.row === cellValue.cell.row
8653
+ && this.column.name === cellValue.cell.column.name) {
8620
8654
  this.row.data[this.column.name] = cellValue.value;
8621
8655
  this.cdr.detectChanges();
8622
8656
  }
8623
8657
  });
8658
+ this.svc.valueChanged
8659
+ .pipe(takeWhile((_) => this._alive))
8660
+ .subscribe((cellValue) => {
8661
+ if (this.row === cellValue.row) {
8662
+ this.cdr.detectChanges();
8663
+ }
8664
+ });
8624
8665
  }
8625
8666
  start(initiator, type) {
8626
8667
  this._edit = true;
@@ -9357,14 +9398,13 @@ class TableComponent {
9357
9398
  if (changes.hasOwnProperty('rowEditable')) {
9358
9399
  this._svc.rowEditable = this.rowEditable;
9359
9400
  }
9360
- if (changes.hasOwnProperty('cellEditable')) {
9361
- this._svc.cellEditable = this.cellEditable;
9362
- }
9363
9401
  if (changes.hasOwnProperty('cookieName')) {
9364
9402
  this._svc.setCookieName(this.cookieName);
9365
9403
  }
9366
9404
  if (changes.hasOwnProperty('columns')) {
9367
- this._svc.setColumns(this.columns);
9405
+ if (this.columns !== null && this.columns !== undefined) {
9406
+ this._svc.setColumns(this.columns);
9407
+ }
9368
9408
  }
9369
9409
  if (changes.hasOwnProperty('data')) {
9370
9410
  this._svc.setData(this.data);
@@ -9453,7 +9493,7 @@ class TableComponent {
9453
9493
  }
9454
9494
  }
9455
9495
  TableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: TableComponent, deps: [{ token: TableService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
9456
- TableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: TableComponent, selector: "teta-table", inputs: { data: "data", columns: "columns", dict: "dict", state: "state", rowHeight: "rowHeight", cookieName: "cookieName", virtual: "virtual", detailComponent: "detailComponent", activeRow: "activeRow", selectedRows: "selectedRows", selectType: "selectType", aggregate: "aggregate", grouping: "grouping", groupRowComponent: "groupRowComponent", openLevels: "openLevels", tree: "tree", trackBy: "trackBy", editType: "editType", editEvent: "editEvent", rowEditable: "rowEditable", cellEditable: "cellEditable", rowClass: "rowClass", scrollToIndex: "scrollToIndex", contextMenuConfig: "contextMenuConfig", showHeadCellMenu: "showHeadCellMenu" }, outputs: { stateChange: "stateChange", bodyLeft: "bodyLeft", activeRowChange: "activeRowChange", selectedRowsChange: "selectedRowsChange", rowLeft: "rowLeft", rowEditStart: "rowEditStart", rowEditEnd: "rowEditEnd", cellClick: "cellClick", cellDoubleClick: "cellDoubleClick", cellFocus: "cellFocus", cellEditStart: "cellEditStart", cellEditEnd: "cellEditEnd", valueChange: "valueChange", cellKeyUp: "cellKeyUp", pasteRows: "pasteRows", addRow: "addRow", deleteRows: "deleteRows", tableService: "tableService" }, host: { listeners: { "document:click": "handleClickOutsideAnyRow($event)", "focusin": "focusIn($event)", "dblclick": "dblclick($event)", "window:keyup": "keyup($event)", "mousedown": "mousedown($event)", "contextmenu": "contextMenu($event)" }, properties: { "class.table": "this.tableClass" } }, providers: [TableService], viewQueries: [{ propertyName: "menu", first: true, predicate: ["contextMenu"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"column column_auto\">\n <teta-table-head [selectType]=\"selectType\" [showHeadCellMenu]=\"showHeadCellMenu\"></teta-table-head>\n <teta-table-body\n [aggregate]=\"aggregate\"\n [virtual]=\"virtual\"\n [activeRow]=\"activeRow\"\n [additionalComponent]=\"detailComponent\"\n [grouping]=\"grouping\"\n [groupRowComponent]=\"groupRowComponent\"\n [openLevels]=\"openLevels\"\n [selectType]=\"selectType\"\n [rowHeight]=\"rowHeight\"\n [rowClass]=\"rowClass\"\n [tree]=\"tree\"></teta-table-body>\n</div>\n\n<div #contextMenu\n class=\"list shadow-1\"\n style=\"position: fixed; z-index: 2;\"\n [style.visibility]=\"showContextMenu ? 'visible ' : 'hidden'\"\n [tetaClickOutside]=\"showContextMenu\"\n (clickOutside)=\"showContextMenu = false\">\n <ng-container *ngIf=\"contextMenuConfig?.add\">\n <div class=\"list-item list-item_interactive\"\n (click)=\"rowAdd()\">\n <teta-icon [name]=\"'add'\" [palette]=\"'text'\"></teta-icon>\n \u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0441\u0442\u0440\u043E\u043A\u0443\n </div>\n <div class=\"list-divider\"></div>\n </ng-container>\n <ng-container *ngIf=\"contextMenuConfig?.copy\">\n <div class=\"list-item list-item_interactive\"\n (click)=\"copy(selectedRowsList)\"\n *ngIf=\"selectedRowsList?.length > 0\">\n <teta-icon [name]=\"'copySelected'\" [palette]=\"'text'\"></teta-icon>\n \u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u043D\u044B\u0435 \u0441\u0442\u0440\u043E\u043A\u0438\n </div>\n <div class=\"list-item list-item_interactive\"\n (click)=\"copy([contextMenuTarget.row])\"\n *ngIf=\"contextMenuTarget\">\n <teta-icon [name]=\"'copy'\" [palette]=\"'text'\"></teta-icon>\n \u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0441\u0442\u0440\u043E\u043A\u0443\n </div>\n <div class=\"list-divider\"></div>\n </ng-container>\n <ng-container *ngIf=\"contextMenuConfig?.paste\">\n <div class=\"list-item list-item_interactive\"\n (click)=\"pasteData()\">\n <teta-icon [name]=\"'paste'\" [palette]=\"'text'\"></teta-icon>\n \u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044C\n </div>\n <div class=\"list-divider\"></div>\n </ng-container>\n <ng-container *ngIf=\"contextMenuConfig?.delete\">\n <div class=\"list-item list-item_interactive\"\n (click)=\"delete(selectedRowsList)\"\n *ngIf=\"selectedRowsList?.length > 0\">\n <teta-icon [name]=\"'deleteSelected'\" [palette]=\"'text'\"></teta-icon>\n \u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u043D\u044B\u0435 \u0441\u0442\u0440\u043E\u043A\u0438\n </div>\n <div class=\"list-item list-item_interactive\"\n (click)=\"delete([contextMenuTarget.row])\"\n *ngIf=\"contextMenuTarget\">\n <teta-icon [name]=\"'delete'\" [palette]=\"'text'\"></teta-icon>\n \u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0441\u0442\u0440\u043E\u043A\u0443\n </div>\n </ng-container>\n</div>\n", styles: [""], components: [{ type: TableHeadComponent, selector: "teta-table-head", inputs: ["selectType", "showHeadCellMenu"] }, { type: TableBodyComponent, selector: "teta-table-body", inputs: ["virtual", "activeRow", "rowHeight", "additionalComponent", "tree", "aggregate", "grouping", "groupRowComponent", "openLevels", "selectType", "rowClass"] }, { type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }], directives: [{ type: ClickOutsideDirective, selector: "[tetaClickOutside]", inputs: ["rightClick", "tetaClickOutside"], outputs: ["clickOutside"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
9496
+ TableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: TableComponent, selector: "teta-table", inputs: { data: "data", columns: "columns", dict: "dict", state: "state", rowHeight: "rowHeight", cookieName: "cookieName", virtual: "virtual", detailComponent: "detailComponent", activeRow: "activeRow", selectedRows: "selectedRows", selectType: "selectType", aggregate: "aggregate", grouping: "grouping", groupRowComponent: "groupRowComponent", openLevels: "openLevels", tree: "tree", trackBy: "trackBy", editType: "editType", editEvent: "editEvent", rowEditable: "rowEditable", rowClass: "rowClass", scrollToIndex: "scrollToIndex", contextMenuConfig: "contextMenuConfig", showHeadCellMenu: "showHeadCellMenu" }, outputs: { stateChange: "stateChange", bodyLeft: "bodyLeft", activeRowChange: "activeRowChange", selectedRowsChange: "selectedRowsChange", rowLeft: "rowLeft", rowEditStart: "rowEditStart", rowEditEnd: "rowEditEnd", cellClick: "cellClick", cellDoubleClick: "cellDoubleClick", cellFocus: "cellFocus", cellEditStart: "cellEditStart", cellEditEnd: "cellEditEnd", valueChange: "valueChange", cellKeyUp: "cellKeyUp", pasteRows: "pasteRows", addRow: "addRow", deleteRows: "deleteRows", tableService: "tableService" }, host: { listeners: { "document:click": "handleClickOutsideAnyRow($event)", "focusin": "focusIn($event)", "dblclick": "dblclick($event)", "window:keyup": "keyup($event)", "mousedown": "mousedown($event)", "contextmenu": "contextMenu($event)" }, properties: { "class.table": "this.tableClass" } }, providers: [TableService], viewQueries: [{ propertyName: "menu", first: true, predicate: ["contextMenu"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"column column_auto\">\n <teta-table-head [selectType]=\"selectType\" [showHeadCellMenu]=\"showHeadCellMenu\"></teta-table-head>\n <teta-table-body\n [aggregate]=\"aggregate\"\n [virtual]=\"virtual\"\n [activeRow]=\"activeRow\"\n [additionalComponent]=\"detailComponent\"\n [grouping]=\"grouping\"\n [groupRowComponent]=\"groupRowComponent\"\n [openLevels]=\"openLevels\"\n [selectType]=\"selectType\"\n [rowHeight]=\"rowHeight\"\n [rowClass]=\"rowClass\"\n [tree]=\"tree\"></teta-table-body>\n</div>\n\n<div #contextMenu\n class=\"list shadow-1\"\n style=\"position: fixed; z-index: 2;\"\n [style.visibility]=\"showContextMenu ? 'visible ' : 'hidden'\"\n [tetaClickOutside]=\"showContextMenu\"\n (clickOutside)=\"showContextMenu = false\">\n <ng-container *ngIf=\"contextMenuConfig?.add\">\n <div class=\"list-item list-item_interactive\"\n (click)=\"rowAdd()\">\n <teta-icon [name]=\"'add'\" [palette]=\"'text'\"></teta-icon>\n \u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0441\u0442\u0440\u043E\u043A\u0443\n </div>\n <div class=\"list-divider\"></div>\n </ng-container>\n <ng-container *ngIf=\"contextMenuConfig?.copy\">\n <div class=\"list-item list-item_interactive\"\n (click)=\"copy(selectedRowsList)\"\n *ngIf=\"selectedRowsList?.length > 0\">\n <teta-icon [name]=\"'copySelected'\" [palette]=\"'text'\"></teta-icon>\n \u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u043D\u044B\u0435 \u0441\u0442\u0440\u043E\u043A\u0438\n </div>\n <div class=\"list-item list-item_interactive\"\n (click)=\"copy([contextMenuTarget.row])\"\n *ngIf=\"contextMenuTarget\">\n <teta-icon [name]=\"'copy'\" [palette]=\"'text'\"></teta-icon>\n \u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0441\u0442\u0440\u043E\u043A\u0443\n </div>\n <div class=\"list-divider\"></div>\n </ng-container>\n <ng-container *ngIf=\"contextMenuConfig?.paste\">\n <div class=\"list-item list-item_interactive\"\n (click)=\"pasteData()\">\n <teta-icon [name]=\"'paste'\" [palette]=\"'text'\"></teta-icon>\n \u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044C\n </div>\n <div class=\"list-divider\"></div>\n </ng-container>\n <ng-container *ngIf=\"contextMenuConfig?.delete\">\n <div class=\"list-item list-item_interactive\"\n (click)=\"delete(selectedRowsList)\"\n *ngIf=\"selectedRowsList?.length > 0\">\n <teta-icon [name]=\"'deleteSelected'\" [palette]=\"'text'\"></teta-icon>\n \u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u043D\u044B\u0435 \u0441\u0442\u0440\u043E\u043A\u0438\n </div>\n <div class=\"list-item list-item_interactive\"\n (click)=\"delete([contextMenuTarget.row])\"\n *ngIf=\"contextMenuTarget\">\n <teta-icon [name]=\"'delete'\" [palette]=\"'text'\"></teta-icon>\n \u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0441\u0442\u0440\u043E\u043A\u0443\n </div>\n </ng-container>\n</div>\n", styles: [""], components: [{ type: TableHeadComponent, selector: "teta-table-head", inputs: ["selectType", "showHeadCellMenu"] }, { type: TableBodyComponent, selector: "teta-table-body", inputs: ["virtual", "activeRow", "rowHeight", "additionalComponent", "tree", "aggregate", "grouping", "groupRowComponent", "openLevels", "selectType", "rowClass"] }, { type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }], directives: [{ type: ClickOutsideDirective, selector: "[tetaClickOutside]", inputs: ["rightClick", "tetaClickOutside"], outputs: ["clickOutside"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
9457
9497
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: TableComponent, decorators: [{
9458
9498
  type: Component,
9459
9499
  args: [{ selector: 'teta-table', changeDetection: ChangeDetectionStrategy.OnPush, providers: [TableService], template: "<div class=\"column column_auto\">\n <teta-table-head [selectType]=\"selectType\" [showHeadCellMenu]=\"showHeadCellMenu\"></teta-table-head>\n <teta-table-body\n [aggregate]=\"aggregate\"\n [virtual]=\"virtual\"\n [activeRow]=\"activeRow\"\n [additionalComponent]=\"detailComponent\"\n [grouping]=\"grouping\"\n [groupRowComponent]=\"groupRowComponent\"\n [openLevels]=\"openLevels\"\n [selectType]=\"selectType\"\n [rowHeight]=\"rowHeight\"\n [rowClass]=\"rowClass\"\n [tree]=\"tree\"></teta-table-body>\n</div>\n\n<div #contextMenu\n class=\"list shadow-1\"\n style=\"position: fixed; z-index: 2;\"\n [style.visibility]=\"showContextMenu ? 'visible ' : 'hidden'\"\n [tetaClickOutside]=\"showContextMenu\"\n (clickOutside)=\"showContextMenu = false\">\n <ng-container *ngIf=\"contextMenuConfig?.add\">\n <div class=\"list-item list-item_interactive\"\n (click)=\"rowAdd()\">\n <teta-icon [name]=\"'add'\" [palette]=\"'text'\"></teta-icon>\n \u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0441\u0442\u0440\u043E\u043A\u0443\n </div>\n <div class=\"list-divider\"></div>\n </ng-container>\n <ng-container *ngIf=\"contextMenuConfig?.copy\">\n <div class=\"list-item list-item_interactive\"\n (click)=\"copy(selectedRowsList)\"\n *ngIf=\"selectedRowsList?.length > 0\">\n <teta-icon [name]=\"'copySelected'\" [palette]=\"'text'\"></teta-icon>\n \u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u043D\u044B\u0435 \u0441\u0442\u0440\u043E\u043A\u0438\n </div>\n <div class=\"list-item list-item_interactive\"\n (click)=\"copy([contextMenuTarget.row])\"\n *ngIf=\"contextMenuTarget\">\n <teta-icon [name]=\"'copy'\" [palette]=\"'text'\"></teta-icon>\n \u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0441\u0442\u0440\u043E\u043A\u0443\n </div>\n <div class=\"list-divider\"></div>\n </ng-container>\n <ng-container *ngIf=\"contextMenuConfig?.paste\">\n <div class=\"list-item list-item_interactive\"\n (click)=\"pasteData()\">\n <teta-icon [name]=\"'paste'\" [palette]=\"'text'\"></teta-icon>\n \u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044C\n </div>\n <div class=\"list-divider\"></div>\n </ng-container>\n <ng-container *ngIf=\"contextMenuConfig?.delete\">\n <div class=\"list-item list-item_interactive\"\n (click)=\"delete(selectedRowsList)\"\n *ngIf=\"selectedRowsList?.length > 0\">\n <teta-icon [name]=\"'deleteSelected'\" [palette]=\"'text'\"></teta-icon>\n \u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u043D\u044B\u0435 \u0441\u0442\u0440\u043E\u043A\u0438\n </div>\n <div class=\"list-item list-item_interactive\"\n (click)=\"delete([contextMenuTarget.row])\"\n *ngIf=\"contextMenuTarget\">\n <teta-icon [name]=\"'delete'\" [palette]=\"'text'\"></teta-icon>\n \u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0441\u0442\u0440\u043E\u043A\u0443\n </div>\n </ng-container>\n</div>\n", styles: [""] }]
@@ -9497,8 +9537,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
9497
9537
  type: Input
9498
9538
  }], rowEditable: [{
9499
9539
  type: Input
9500
- }], cellEditable: [{
9501
- type: Input
9502
9540
  }], rowClass: [{
9503
9541
  type: Input
9504
9542
  }], scrollToIndex: [{
@@ -9603,27 +9641,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
9603
9641
  }]
9604
9642
  }] });
9605
9643
 
9606
- class HintModule {
9607
- }
9608
- HintModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: HintModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9609
- HintModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: HintModule, declarations: [HintDirective], imports: [CommonModule,
9610
- DynamicComponentModule], exports: [HintDirective] });
9611
- HintModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: HintModule, imports: [[
9612
- CommonModule,
9613
- DynamicComponentModule
9614
- ]] });
9615
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: HintModule, decorators: [{
9616
- type: NgModule,
9617
- args: [{
9618
- declarations: [HintDirective],
9619
- exports: [HintDirective],
9620
- imports: [
9621
- CommonModule,
9622
- DynamicComponentModule
9623
- ]
9624
- }]
9625
- }] });
9626
-
9627
9644
  class TetaTemplateModule {
9628
9645
  }
9629
9646
  TetaTemplateModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: TetaTemplateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
@@ -10512,6 +10529,7 @@ var ScaleType;
10512
10529
  ScaleType[ScaleType["log"] = 1] = "log";
10513
10530
  ScaleType[ScaleType["pow"] = 2] = "pow";
10514
10531
  ScaleType[ScaleType["sqrt"] = 3] = "sqrt";
10532
+ ScaleType[ScaleType["time"] = 4] = "time";
10515
10533
  })(ScaleType || (ScaleType = {}));
10516
10534
 
10517
10535
  var ZoomType;