@progress/kendo-angular-gantt 2.1.0 → 11.0.0-develop.79

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 (269) hide show
  1. package/LICENSE.md +1 -1
  2. package/NOTICE.txt +119 -79
  3. package/binding-directives/flat-binding.directive.d.ts +1 -1
  4. package/binding-directives/hierarchy-binding.directive.d.ts +1 -1
  5. package/columns/cell-template.directive.d.ts +1 -1
  6. package/columns/column-base.component.d.ts +1 -1
  7. package/columns/column-group.component.d.ts +1 -1
  8. package/columns/column-menu-template.directive.d.ts +1 -1
  9. package/columns/column.component.d.ts +1 -1
  10. package/columns/columns.d.ts +1 -1
  11. package/columns/edit-template.directive.d.ts +1 -1
  12. package/columns/filter-cell-template.directive.d.ts +1 -1
  13. package/columns/filter-menu-template.directive.d.ts +1 -1
  14. package/columns/footer-template.directive.d.ts +1 -1
  15. package/columns/header-template.directive.d.ts +1 -1
  16. package/columns/span-column.component.d.ts +1 -1
  17. package/common/default-callbacks.d.ts +1 -1
  18. package/common/mapping.service.d.ts +1 -1
  19. package/common/option-changes.service.d.ts +1 -1
  20. package/common/touch-enabled.d.ts +1 -1
  21. package/dependencies/dependency-dom.service.d.ts +1 -1
  22. package/dependencies/dom-dependency-args.d.ts +1 -1
  23. package/dependencies/gantt-dependency.directive.d.ts +1 -1
  24. package/dependencies/utils.d.ts +1 -1
  25. package/dragging/dependency-drag-create.directive.d.ts +1 -1
  26. package/dragging/drag-validation-tooltip.component.d.ts +1 -1
  27. package/editing/add-task.component.d.ts +1 -1
  28. package/editing/dependencies-table.component.d.ts +1 -1
  29. package/editing/edit-dialog.component.d.ts +1 -1
  30. package/editing/edit.service.d.ts +1 -1
  31. package/editing/task-fields.component.d.ts +1 -1
  32. package/editing/utils.d.ts +1 -1
  33. package/{esm2015/binding-directives/flat-binding.directive.js → esm2020/binding-directives/flat-binding.directive.mjs} +4 -4
  34. package/{esm2015/binding-directives/hierarchy-binding.directive.js → esm2020/binding-directives/hierarchy-binding.directive.mjs} +4 -4
  35. package/{esm2015/columns/cell-template.directive.js → esm2020/columns/cell-template.directive.mjs} +5 -5
  36. package/{esm2015/columns/column-base.component.js → esm2020/columns/column-base.component.mjs} +4 -4
  37. package/{esm2015/columns/column-group.component.js → esm2020/columns/column-group.component.mjs} +5 -4
  38. package/{esm2015/columns/column-menu-template.directive.js → esm2020/columns/column-menu-template.directive.mjs} +5 -5
  39. package/{esm2015/columns/column.component.js → esm2020/columns/column.component.mjs} +5 -4
  40. package/{esm2015/columns/columns.js → esm2020/columns/columns.mjs} +1 -1
  41. package/{esm2015/columns/edit-template.directive.js → esm2020/columns/edit-template.directive.mjs} +5 -5
  42. package/{esm2015/columns/filter-cell-template.directive.js → esm2020/columns/filter-cell-template.directive.mjs} +5 -5
  43. package/{esm2015/columns/filter-menu-template.directive.js → esm2020/columns/filter-menu-template.directive.mjs} +5 -5
  44. package/{esm2015/columns/footer-template.directive.js → esm2020/columns/footer-template.directive.mjs} +5 -5
  45. package/{esm2015/columns/header-template.directive.js → esm2020/columns/header-template.directive.mjs} +5 -5
  46. package/{esm2015/columns/span-column.component.js → esm2020/columns/span-column.component.mjs} +5 -4
  47. package/{esm2015/common/default-callbacks.js → esm2020/common/default-callbacks.mjs} +1 -1
  48. package/{esm2015/common/mapping.service.js → esm2020/common/mapping.service.mjs} +8 -8
  49. package/{esm2015/common/option-changes.service.js → esm2020/common/option-changes.service.mjs} +4 -4
  50. package/{esm2015/common/touch-enabled.js → esm2020/common/touch-enabled.mjs} +1 -1
  51. package/{esm2015/dependencies/dependency-dom.service.js → esm2020/dependencies/dependency-dom.service.mjs} +5 -4
  52. package/{esm2015/models/column-menu-settings.interface.js → esm2020/dependencies/dom-dependency-args.mjs} +1 -1
  53. package/{esm2015/dependencies/gantt-dependency.directive.js → esm2020/dependencies/gantt-dependency.directive.mjs} +8 -6
  54. package/{esm2015/dependencies/utils.js → esm2020/dependencies/utils.mjs} +2 -2
  55. package/{esm2015/dragging/dependency-drag-create.directive.js → esm2020/dragging/dependency-drag-create.directive.mjs} +9 -5
  56. package/{esm2015/dragging/drag-validation-tooltip.component.js → esm2020/dragging/drag-validation-tooltip.component.mjs} +4 -4
  57. package/{esm2015/editing/add-task.component.js → esm2020/editing/add-task.component.mjs} +8 -6
  58. package/{esm2015/editing/dependencies-table.component.js → esm2020/editing/dependencies-table.component.mjs} +10 -7
  59. package/{esm2015/editing/edit-dialog.component.js → esm2020/editing/edit-dialog.component.mjs} +13 -10
  60. package/{esm2015/editing/edit.service.js → esm2020/editing/edit.service.mjs} +5 -4
  61. package/{esm2015/editing/task-fields.component.js → esm2020/editing/task-fields.component.mjs} +8 -5
  62. package/{esm2015/editing/utils.js → esm2020/editing/utils.mjs} +1 -1
  63. package/{esm2015/expanded-state/expand-event.js → esm2020/expanded-state/expand-event.mjs} +4 -2
  64. package/{esm2015/expanded-state/expandable.directive.js → esm2020/expanded-state/expandable.directive.mjs} +4 -4
  65. package/{esm2015/gantt.component.js → esm2020/gantt.component.mjs} +30 -20
  66. package/{esm2015/gantt.module.js → esm2020/gantt.module.mjs} +5 -5
  67. package/{esm2015/main.js → esm2020/index.mjs} +1 -1
  68. package/{esm2015/localization/custom-messages.component.js → esm2020/localization/custom-messages.component.mjs} +5 -4
  69. package/{esm2015/localization/gantt-localization.service.js → esm2020/localization/gantt-localization.service.mjs} +5 -4
  70. package/{esm2015/localization/localized-messages.directive.js → esm2020/localization/localized-messages.directive.mjs} +5 -4
  71. package/{esm2015/localization/messages.js → esm2020/localization/messages.mjs} +4 -4
  72. package/{esm2015/models/cell-content-type.interface.js → esm2020/models/cell-content-type.interface.mjs} +1 -1
  73. package/{esm2015/dependencies/dom-dependency-args.js → esm2020/models/class-callbacks.mjs} +1 -1
  74. package/{esm2015/models/class-callbacks.js → esm2020/models/column-menu-settings.interface.mjs} +1 -1
  75. package/esm2020/models/column-reorder-config.mjs +5 -0
  76. package/esm2020/models/date-range.interface.mjs +5 -0
  77. package/{esm2015/models/dependency-type.enum.js → esm2020/models/dependency-type.enum.mjs} +1 -1
  78. package/esm2020/models/events/cell-click-event.interface.mjs +5 -0
  79. package/{esm2015/models/events/cell-close-event.interface.js → esm2020/models/events/cell-close-event.interface.mjs} +1 -1
  80. package/esm2020/models/events/click-event.interface.mjs +5 -0
  81. package/esm2020/models/events/column-locked-change-event.interface.mjs +5 -0
  82. package/esm2020/models/events/column-reorder-event.interface.mjs +5 -0
  83. package/esm2020/models/events/column-resize-event.interface.mjs +5 -0
  84. package/esm2020/models/events/column-visibility-change-event.interface.mjs +5 -0
  85. package/esm2020/models/events/data-state-change-event.interface.mjs +5 -0
  86. package/esm2020/models/events/dependency-add-event.interface.mjs +5 -0
  87. package/esm2020/models/events/selected-view-change-event.interface.mjs +5 -0
  88. package/esm2020/models/events/task-add-event.interface.mjs +5 -0
  89. package/esm2020/models/events/task-click-event.interface.mjs +5 -0
  90. package/esm2020/models/events/task-delete-event.interface.mjs +5 -0
  91. package/esm2020/models/events/task-edit-event.interface.mjs +5 -0
  92. package/esm2020/models/events/task-move-end-event.interface.mjs +5 -0
  93. package/esm2020/models/events/task-move-event.interface.mjs +5 -0
  94. package/esm2020/models/events/task-move-start-event.interface.mjs +5 -0
  95. package/esm2020/models/events/task-resize-end-event.interface.mjs +5 -0
  96. package/esm2020/models/events/task-resize-event.interface.mjs +5 -0
  97. package/esm2020/models/events/task-resize-start-event.interface.mjs +5 -0
  98. package/esm2020/models/filterable-settings.mjs +5 -0
  99. package/{esm2015/models/gantt-dependency-model-fields.interface.js → esm2020/models/gantt-dependency-model-fields.interface.mjs} +1 -1
  100. package/esm2020/models/gantt-dependency.interface.mjs +5 -0
  101. package/{esm2015/models/gantt-task-model-fields.interface.js → esm2020/models/gantt-task-model-fields.interface.mjs} +1 -1
  102. package/esm2020/models/gantt-task.interface.mjs +5 -0
  103. package/{esm2015/models/models.js → esm2020/models/models.mjs} +1 -1
  104. package/esm2020/models/slot.interface.mjs +5 -0
  105. package/{esm2015/models/sort-settings.js → esm2020/models/sort-settings.mjs} +1 -1
  106. package/{esm2015/models/splitter-pane-options.interface.js → esm2020/models/splitter-pane-options.interface.mjs} +1 -1
  107. package/esm2020/models/timeline-options.interface.mjs +5 -0
  108. package/esm2020/models/timeline-view.mjs +5 -0
  109. package/esm2020/models/toolbar-settings.mjs +5 -0
  110. package/esm2020/models/view-item.interface.mjs +5 -0
  111. package/esm2020/navigation/navigation-models.mjs +5 -0
  112. package/{esm2015/navigation/navigation.service.js → esm2020/navigation/navigation.service.mjs} +6 -5
  113. package/{esm2015/navigation/utils.js → esm2020/navigation/utils.mjs} +1 -1
  114. package/{esm2015/package-metadata.js → esm2020/package-metadata.mjs} +2 -2
  115. package/{esm2015/kendo-angular-gantt.js → esm2020/progress-kendo-angular-gantt.mjs} +2 -2
  116. package/{esm2015/rendering/gantt-header-table-body.component.js → esm2020/rendering/gantt-header-table-body.component.mjs} +4 -4
  117. package/{esm2015/rendering/gantt-milestone-task.component.js → esm2020/rendering/gantt-milestone-task.component.mjs} +12 -16
  118. package/{esm2015/rendering/gantt-summary-task.component.js → esm2020/rendering/gantt-summary-task.component.mjs} +12 -16
  119. package/{esm2015/rendering/gantt-task-base.js → esm2020/rendering/gantt-task-base.mjs} +15 -10
  120. package/{esm2015/rendering/gantt-task.component.js → esm2020/rendering/gantt-task.component.mjs} +13 -16
  121. package/{esm2015/rendering/gantt-tasks-table-body.component.js → esm2020/rendering/gantt-tasks-table-body.component.mjs} +7 -5
  122. package/{esm2015/scrolling/drag-scroll-settings.js → esm2020/scrolling/drag-scroll-settings.mjs} +1 -1
  123. package/{esm2015/scrolling/scroll-sync.service.js → esm2020/scrolling/scroll-sync.service.mjs} +5 -5
  124. package/{esm2015/scrolling/timeline-scroll.directive.js → esm2020/scrolling/timeline-scroll.directive.mjs} +6 -5
  125. package/{esm2015/scrolling/timeline-scroll.service.js → esm2020/scrolling/timeline-scroll.service.mjs} +4 -4
  126. package/{esm2015/scrolling/utils.js → esm2020/scrolling/utils.mjs} +1 -1
  127. package/{esm2015/selection/selectable.directive.js → esm2020/selection/selectable.directive.mjs} +5 -4
  128. package/esm2020/selection/selection-change-event.mjs +5 -0
  129. package/{esm2015/template-directives/summary-task-template.directive.js → esm2020/template-directives/summary-task-template.directive.mjs} +6 -6
  130. package/{esm2015/template-directives/task-content-template.directive.js → esm2020/template-directives/task-content-template.directive.mjs} +5 -5
  131. package/{esm2015/template-directives/task-template.directive.js → esm2020/template-directives/task-template.directive.mjs} +5 -5
  132. package/{esm2015/timeline/gantt-timeline.component.js → esm2020/timeline/gantt-timeline.component.mjs} +9 -7
  133. package/{esm2015/timeline/timeline-base-view.service.js → esm2020/timeline/timeline-base-view.service.mjs} +10 -10
  134. package/{esm2015/timeline/timeline-day-view.component.js → esm2020/timeline/timeline-day-view.component.mjs} +6 -4
  135. package/{esm2015/timeline/timeline-day-view.service.js → esm2020/timeline/timeline-day-view.service.mjs} +8 -6
  136. package/{esm2015/timeline/timeline-month-view.component.js → esm2020/timeline/timeline-month-view.component.mjs} +6 -4
  137. package/{esm2015/timeline/timeline-month-view.service.js → esm2020/timeline/timeline-month-view.service.mjs} +8 -6
  138. package/{esm2015/timeline/timeline-view.service.js → esm2020/timeline/timeline-view.service.mjs} +5 -5
  139. package/{esm2015/timeline/timeline-week-view.component.js → esm2020/timeline/timeline-week-view.component.mjs} +6 -4
  140. package/{esm2015/timeline/timeline-week-view.service.js → esm2020/timeline/timeline-week-view.service.mjs} +8 -6
  141. package/{esm2015/timeline/timeline-year-view.component.js → esm2020/timeline/timeline-year-view.component.mjs} +6 -4
  142. package/{esm2015/timeline/timeline-year-view.service.js → esm2020/timeline/timeline-year-view.service.mjs} +8 -6
  143. package/{esm2015/timeline/view-base.js → esm2020/timeline/view-base.mjs} +6 -4
  144. package/{esm2015/toolbar/toolbar-template.directive.js → esm2020/toolbar/toolbar-template.directive.mjs} +6 -6
  145. package/{esm2015/toolbar/toolbar.component.js → esm2020/toolbar/toolbar.component.mjs} +5 -4
  146. package/{esm2015/toolbar/view-selector.component.js → esm2020/toolbar/view-selector.component.mjs} +6 -5
  147. package/{esm2015/utils.js → esm2020/utils.mjs} +2 -2
  148. package/expanded-state/expand-event.d.ts +1 -1
  149. package/expanded-state/expandable.directive.d.ts +1 -1
  150. package/fesm2015/progress-kendo-angular-gantt.mjs +7878 -0
  151. package/{fesm2015/kendo-angular-gantt.js → fesm2020/progress-kendo-angular-gantt.mjs} +813 -831
  152. package/gantt.component.d.ts +1 -1
  153. package/gantt.module.d.ts +1 -1
  154. package/{main.d.ts → index.d.ts} +1 -1
  155. package/localization/custom-messages.component.d.ts +1 -1
  156. package/localization/gantt-localization.service.d.ts +1 -1
  157. package/localization/localized-messages.directive.d.ts +1 -1
  158. package/localization/messages.d.ts +1 -1
  159. package/models/cell-content-type.interface.d.ts +1 -1
  160. package/models/class-callbacks.d.ts +1 -1
  161. package/models/column-menu-settings.interface.d.ts +1 -1
  162. package/models/column-reorder-config.d.ts +1 -1
  163. package/models/date-range.interface.d.ts +1 -1
  164. package/models/dependency-type.enum.d.ts +1 -1
  165. package/models/events/cell-click-event.interface.d.ts +1 -1
  166. package/models/events/cell-close-event.interface.d.ts +1 -1
  167. package/models/events/click-event.interface.d.ts +1 -1
  168. package/models/events/column-locked-change-event.interface.d.ts +1 -1
  169. package/models/events/column-reorder-event.interface.d.ts +1 -1
  170. package/models/events/column-resize-event.interface.d.ts +1 -1
  171. package/models/events/column-visibility-change-event.interface.d.ts +1 -1
  172. package/models/events/data-state-change-event.interface.d.ts +1 -1
  173. package/models/events/dependency-add-event.interface.d.ts +1 -1
  174. package/models/events/selected-view-change-event.interface.d.ts +1 -1
  175. package/models/events/task-add-event.interface.d.ts +1 -1
  176. package/models/events/task-click-event.interface.d.ts +1 -1
  177. package/models/events/task-delete-event.interface.d.ts +1 -1
  178. package/models/events/task-edit-event.interface.d.ts +1 -1
  179. package/models/events/task-move-end-event.interface.d.ts +1 -1
  180. package/models/events/task-move-event.interface.d.ts +1 -1
  181. package/models/events/task-move-start-event.interface.d.ts +1 -1
  182. package/models/events/task-resize-end-event.interface.d.ts +1 -1
  183. package/models/events/task-resize-event.interface.d.ts +1 -1
  184. package/models/events/task-resize-start-event.interface.d.ts +1 -1
  185. package/models/filterable-settings.d.ts +1 -1
  186. package/models/gantt-dependency-model-fields.interface.d.ts +1 -1
  187. package/models/gantt-dependency.interface.d.ts +1 -1
  188. package/models/gantt-task-model-fields.interface.d.ts +1 -1
  189. package/models/gantt-task.interface.d.ts +1 -1
  190. package/models/models.d.ts +1 -1
  191. package/models/slot.interface.d.ts +1 -1
  192. package/models/sort-settings.d.ts +1 -1
  193. package/models/splitter-pane-options.interface.d.ts +1 -1
  194. package/models/timeline-options.interface.d.ts +1 -1
  195. package/models/timeline-view.d.ts +1 -1
  196. package/models/toolbar-settings.d.ts +1 -1
  197. package/models/view-item.interface.d.ts +1 -1
  198. package/navigation/navigation-models.d.ts +1 -1
  199. package/navigation/navigation.service.d.ts +1 -1
  200. package/navigation/utils.d.ts +1 -1
  201. package/package-metadata.d.ts +1 -1
  202. package/package.json +37 -65
  203. package/{kendo-angular-gantt.d.ts → progress-kendo-angular-gantt.d.ts} +2 -2
  204. package/rendering/gantt-header-table-body.component.d.ts +1 -1
  205. package/rendering/gantt-milestone-task.component.d.ts +1 -1
  206. package/rendering/gantt-summary-task.component.d.ts +1 -1
  207. package/rendering/gantt-task-base.d.ts +1 -1
  208. package/rendering/gantt-task.component.d.ts +1 -1
  209. package/rendering/gantt-tasks-table-body.component.d.ts +1 -1
  210. package/schematics/ngAdd/index.js +1 -5
  211. package/scrolling/drag-scroll-settings.d.ts +1 -1
  212. package/scrolling/scroll-sync.service.d.ts +1 -1
  213. package/scrolling/timeline-scroll.directive.d.ts +1 -1
  214. package/scrolling/timeline-scroll.service.d.ts +1 -1
  215. package/scrolling/utils.d.ts +1 -1
  216. package/selection/selectable.directive.d.ts +1 -1
  217. package/selection/selection-change-event.d.ts +1 -1
  218. package/template-directives/summary-task-template.directive.d.ts +2 -2
  219. package/template-directives/task-content-template.directive.d.ts +1 -1
  220. package/template-directives/task-template.directive.d.ts +1 -1
  221. package/timeline/gantt-timeline.component.d.ts +1 -1
  222. package/timeline/timeline-base-view.service.d.ts +1 -1
  223. package/timeline/timeline-day-view.component.d.ts +1 -1
  224. package/timeline/timeline-day-view.service.d.ts +1 -1
  225. package/timeline/timeline-month-view.component.d.ts +1 -1
  226. package/timeline/timeline-month-view.service.d.ts +1 -1
  227. package/timeline/timeline-view.service.d.ts +1 -1
  228. package/timeline/timeline-week-view.component.d.ts +1 -1
  229. package/timeline/timeline-week-view.service.d.ts +1 -1
  230. package/timeline/timeline-year-view.component.d.ts +1 -1
  231. package/timeline/timeline-year-view.service.d.ts +1 -1
  232. package/timeline/view-base.d.ts +1 -1
  233. package/toolbar/toolbar-template.directive.d.ts +2 -2
  234. package/toolbar/toolbar.component.d.ts +1 -1
  235. package/toolbar/view-selector.component.d.ts +1 -1
  236. package/utils.d.ts +1 -1
  237. package/bundles/kendo-angular-gantt.umd.js +0 -5
  238. package/esm2015/models/column-reorder-config.js +0 -5
  239. package/esm2015/models/date-range.interface.js +0 -5
  240. package/esm2015/models/events/cell-click-event.interface.js +0 -5
  241. package/esm2015/models/events/click-event.interface.js +0 -5
  242. package/esm2015/models/events/column-locked-change-event.interface.js +0 -5
  243. package/esm2015/models/events/column-reorder-event.interface.js +0 -5
  244. package/esm2015/models/events/column-resize-event.interface.js +0 -5
  245. package/esm2015/models/events/column-visibility-change-event.interface.js +0 -5
  246. package/esm2015/models/events/data-state-change-event.interface.js +0 -5
  247. package/esm2015/models/events/dependency-add-event.interface.js +0 -5
  248. package/esm2015/models/events/selected-view-change-event.interface.js +0 -5
  249. package/esm2015/models/events/task-add-event.interface.js +0 -5
  250. package/esm2015/models/events/task-click-event.interface.js +0 -5
  251. package/esm2015/models/events/task-delete-event.interface.js +0 -5
  252. package/esm2015/models/events/task-edit-event.interface.js +0 -5
  253. package/esm2015/models/events/task-move-end-event.interface.js +0 -5
  254. package/esm2015/models/events/task-move-event.interface.js +0 -5
  255. package/esm2015/models/events/task-move-start-event.interface.js +0 -5
  256. package/esm2015/models/events/task-resize-end-event.interface.js +0 -5
  257. package/esm2015/models/events/task-resize-event.interface.js +0 -5
  258. package/esm2015/models/events/task-resize-start-event.interface.js +0 -5
  259. package/esm2015/models/filterable-settings.js +0 -5
  260. package/esm2015/models/gantt-dependency.interface.js +0 -5
  261. package/esm2015/models/gantt-task.interface.js +0 -5
  262. package/esm2015/models/slot.interface.js +0 -5
  263. package/esm2015/models/timeline-options.interface.js +0 -5
  264. package/esm2015/models/timeline-view.js +0 -5
  265. package/esm2015/models/toolbar-settings.js +0 -5
  266. package/esm2015/models/view-item.interface.js +0 -5
  267. package/esm2015/navigation/navigation-models.js +0 -5
  268. package/esm2015/selection/selection-change-event.js +0 -5
  269. package/schematics/ngAdd/index.js.map +0 -1
@@ -1,5 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@progress/kendo-angular-treelist"),require("rxjs"),require("@progress/kendo-licensing"),require("@progress/kendo-angular-common"),require("rxjs/operators"),require("@progress/kendo-date-math"),require("@progress/kendo-common"),require("@angular/common"),require("@progress/kendo-data-query"),require("@progress/kendo-angular-intl"),require("@progress/kendo-angular-l10n"),require("@progress/kendo-angular-buttons"),require("@angular/forms"),require("@progress/kendo-angular-layout"),require("@progress/kendo-angular-dialog"),require("@progress/kendo-angular-inputs"),require("@progress/kendo-angular-label"),require("@progress/kendo-angular-dateinputs"),require("@progress/kendo-angular-grid"),require("@progress/kendo-angular-dropdowns"),require("@progress/kendo-angular-popup")):"function"==typeof define&&define.amd?define("KendoAngularGantt",["exports","@angular/core","@progress/kendo-angular-treelist","rxjs","@progress/kendo-licensing","@progress/kendo-angular-common","rxjs/operators","@progress/kendo-date-math","@progress/kendo-common","@angular/common","@progress/kendo-data-query","@progress/kendo-angular-intl","@progress/kendo-angular-l10n","@progress/kendo-angular-buttons","@angular/forms","@progress/kendo-angular-layout","@progress/kendo-angular-dialog","@progress/kendo-angular-inputs","@progress/kendo-angular-label","@progress/kendo-angular-dateinputs","@progress/kendo-angular-grid","@progress/kendo-angular-dropdowns","@progress/kendo-angular-popup"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).KendoAngularGantt={},e.ng.core,e.KendoAngularTreelist,e.rxjs,e.KendoLicensing,e.KendoAngularCommon,e.rxjs.operators,e.KendoDateMath,e.KendoCommon,e.ng.common,e.KendoDataQuery,e.KendoAngularIntl,e.i1$1,e.KendoAngularButtons,e.ng.forms,e.KendoAngularLayout,e.KendoAngularDialog,e.i4,e.i5,e.i6$1,e.KendoAngularGrid,e.KendoAngularDropdowns,e.KendoAngularPopup)}(this,function(u,g,e,m,B,k,a,c,M,G,N,j,z,W,o,q,H,_,K,$,Z,U,Y){"use strict";function t(n){var i;return n&&n.__esModule?n:(i=Object.create(null),n&&Object.keys(n).forEach(function(e){var t;"default"!==e&&(t=Object.getOwnPropertyDescriptor(n,e),Object.defineProperty(i,e,t.get?t:{enumerable:!0,get:function(){return n[e]}}))}),i.default=n,Object.freeze(i))}var n=t(g),Q=t(e),i=t(k),r=t(G),X=t(j),s=t(z),j=t(W),l=t(o),p=t(q),d=t(H),h=t(_),J=t(K),ee=t($),f=t(Z),te=t(U),ne=t(Y),ie=function(e,t){return(ie=Object.setPrototypeOf||({__proto__:[]}instanceof Array?function(e,t){e.__proto__=t}:function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}))(e,t)};function y(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}ie(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}Object.create;function oe(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var i,o,r=n.call(e),a=[];try{for(;(void 0===t||0<t--)&&!(i=r.next()).done;)a.push(i.value)}catch(e){o={error:e}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return a}function re(e,t,n){if(n||2===arguments.length)for(var i,o=0,r=t.length;o<r;o++)!i&&o in t||((i=i||Array.prototype.slice.call(t,0,o))[o]=t[o]);return e.concat(i||Array.prototype.slice.call(t))}Object.create;function ae(e){return v(e)?Array.isArray(e.data)?e.data:e:[]}function se(e,t,n,i,o){return void 0===n&&(n=0),void 0===i&&(i=0),void 0===o&&(o=0),v(e)?((e=c.cloneDate(e)).setHours(t),e.setMinutes(n),e.setSeconds(i),e.setMilliseconds(o),e):null}function le(e){return c.lastDayOfMonth(e).getDate()}function pe(e,t){return(t=t.getMonth()-e.getMonth()+12*(t.getFullYear()-e.getFullYear()))<=1?0:t-1}function de(e,t){return k.closestInScope(e,k.matchesClasses("k-task-wrap"),t)}function ce(e,t){return e=k.closestInScope(e,k.matchesClasses("k-task-wrap"),t),v(e)}function ue(e,t){return e=k.closestInScope(e,k.matchesClasses("k-task-wrap"),t),v(e)?Number(e.getAttribute("data-task-index")):null}function ge(e,t){return e=k.closestInScope(e,k.matchesClasses("k-task"),t),v(e)}function me(e,t){return e=k.closestInScope(e,k.matchesClasses("k-task-actions"),t),v(e)}function he(e){return!!v(e)&&e.classList.contains("k-task-dot")}function fe(e){return!!v(e)&&e.classList.contains("k-task-dot")&&e.classList.contains("k-task-start")}function ye(e,t){if(!he(e)||!he(t))return null;switch((fe(e)?"S":"F")+(fe(t)?"S":"F")){case"FF":return u.DependencyType.FF;case"FS":return u.DependencyType.FS;case"SF":return u.DependencyType.SF;case"SS":return u.DependencyType.SS;default:return null}}function ke(e,t,n){return!(!v(e)||!v(t))&&de(e,n)===de(t,n)}function ve(e,t,n){return!v(e)||e<t?t:n<e?n:e}function Te(e,t){return k.isDocumentAvailable()?document.elementFromPoint(e,t):null}var be,Ce,Ie={name:"@progress/kendo-angular-gantt",productName:"Kendo UI for Angular",productCodes:["KENDOUIANGULAR","KENDOUICOMPLETE"],publishDate:1669798501,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning"},v=((I=be=be||{})[I.Digit1=97]="Digit1",I[I.Digit2=98]="Digit2",I[I.Digit3=99]="Digit3",I[I.Digit4=100]="Digit4",u.DependencyType=void 0,(I=u.DependencyType||(u.DependencyType={}))[I.FF=0]="FF",I[I.FS=1]="FS",I[I.SF=2]="SF",I[I.SS=3]="SS",function(e){return null!=e}),T=(De.prototype.registerElement=function(t,n){var i=this;this.elements.push({element:t,sourceType:n}),"timeline"!==n&&"treelist"!==n||this.ngZone.runOutsideAngular(function(){var e=m.fromEvent(t,"scroll").pipe(a.map(function(e){e=e.target;return{scrollTop:e.scrollTop,scrollLeft:e.scrollLeft,sourceType:n}}));i.subscriptions.add(e.pipe(a.distinctUntilChanged("timeline"===n?function(e,t){return e.scrollTop===t.scrollTop&&e.scrollLeft===t.scrollLeft}:function(e,t){return e.scrollTop===t.scrollTop})).subscribe(function(e){return i.changes.next(e)}))})},De.prototype.ngOnDestroy=function(){this.subscriptions.unsubscribe(),this.elements=null},De.prototype.syncScrollTop=function(t,n){var e=this.elements.find(function(e){return e.sourceType===t}),i=this.elements.find(function(e){return e.sourceType===n});this.ngZone.onStable.pipe(a.take(1)).subscribe(function(){return i.element.scrollTop=e.element.scrollTop})},De.prototype.resetTimelineScrollLeft=function(){this.elements.find(function(e){return"timeline"===e.sourceType}).element.scrollLeft=0},De.prototype.scroll=function(e){var t=this,n=e.scrollTop,i=e.scrollLeft,o=e.sourceType;this.ngZone.runOutsideAngular(function(){"timeline"===o&&(t.elements.find(function(e){return"header"===e.sourceType}).element.scrollLeft=i,t.syncingTimeline||(t.syncingTreeList=!0,t.elements.find(function(e){return"treelist"===e.sourceType}).element.scrollTop=n),t.syncingTimeline=!1),"treelist"===o&&(t.syncingTreeList||(t.syncingTimeline=!0,t.elements.find(function(e){return"timeline"===e.sourceType}).element.scrollTop=n),t.syncingTreeList=!1)})},De);function De(e){var t=this;this.ngZone=e,this.changes=new m.Subject,this.elements=[],this.subscriptions=new m.Subscription,this.subscriptions.add(this.changes.subscribe(function(e){t.scroll(e)}))}T.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:T,deps:[{token:n.NgZone}],target:n.ɵɵFactoryTarget.Injectable}),T.ɵprov=n.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:T}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:T,decorators:[{type:g.Injectable}],ctorParameters:function(){return[{type:n.NgZone}]}});var we=Object.freeze({toId:"toId",fromId:"fromId",id:"id",type:"type"}),xe=Object.freeze({id:"id",start:"start",end:"end",title:"title",completionRatio:"completionRatio",children:"children"}),b=(Object.defineProperty(Se.prototype,"taskFields",{get:function(){return this._taskFields},set:function(e){this._taskFields=Object.assign(Object.assign({},xe),e)},enumerable:!1,configurable:!0}),Object.defineProperty(Se.prototype,"dependencyFields",{get:function(){return this._dependencyFields},set:function(e){this._dependencyFields=Object.assign(Object.assign({},we),e)},enumerable:!1,configurable:!0}),Se.prototype.extractFromTask=function(e,t){return v(this.taskFields)?M.getter(this.taskFields[t])(e):null},Se.prototype.extractFromDependency=function(e,t){return v(this.dependencyFields)?M.getter(this.dependencyFields[t])(e):null},Se);function Se(){this._taskFields=Object.assign({},xe),this._dependencyFields=Object.assign({},we)}b.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:b,deps:[],target:n.ɵɵFactoryTarget.Injectable}),b.ɵprov=n.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:b}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:b,decorators:[{type:g.Injectable}]});Object.defineProperty(Oe.prototype,"taskChanges",{get:function(){return this.notifier.asObservable()},enumerable:!1,configurable:!0}),Object.defineProperty(Oe.prototype,"dependencyDomArgs",{get:function(){return{tasks:this.tasks,contentContainer:this.contentContainer,timelineRow:this.timelineRow}},enumerable:!1,configurable:!0}),Oe.prototype.ngOnDestroy=function(){this.tasks.clear(),this.tasks=null,this.contentContainer=null},Oe.prototype.registerTimelineRow=function(e){this.timelineRow=e,this.notifyChanges()},Oe.prototype.registerContentContainer=function(e){this.contentContainer=e,this.notifyChanges()},Oe.prototype.registerTask=function(e,t){e=this.mapper.extractFromTask(e,"id");this.tasks.set(e,t),this.notifyChanges()},Oe.prototype.unregisterTask=function(e){e=this.mapper.extractFromTask(e,"id");this.tasks.delete(e),this.notifyChanges()},Oe.prototype.notifyChanges=function(){this.notifier.next(this.dependencyDomArgs)};var C=Oe;function Oe(e){this.mapper=e,this.notifier=new m.Subject,this.tasks=new Map}C.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:C,deps:[{token:b}],target:n.ɵɵFactoryTarget.Injectable}),C.ɵprov=n.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:C}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:C,decorators:[{type:g.Injectable}],ctorParameters:function(){return[{type:b}]}});var I=function(){},Ee=(I.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:I,deps:[],target:n.ɵɵFactoryTarget.Component}),I.ɵcmp=n.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:I,selector:"[kendoGanttHeaderTableBody]",inputs:{groupSlots:"groupSlots",slots:"slots"},ngImport:n,template:'\n <tr>\n <td *ngFor="let item of groupSlots" [attr.colspan]="item.span" class="k-header">{{ item.text }}</td>\n </tr>\n\n <tr>\n <td *ngFor="let item of slots" class="k-header" [attr.colspan]="item.span === 7 ? item.span : 1" [attr.title]="item.text">{{ item.text }}</td>\n </tr>\n ',isInline:!0,directives:[{type:r.NgForOf,selector:"[ngFor][ngForOf]",inputs:["ngForOf","ngForTrackBy","ngForTemplate"]}]}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:I,decorators:[{type:g.Component,args:[{selector:"[kendoGanttHeaderTableBody]",template:'\n <tr>\n <td *ngFor="let item of groupSlots" [attr.colspan]="item.span" class="k-header">{{ item.text }}</td>\n </tr>\n\n <tr>\n <td *ngFor="let item of slots" class="k-header" [attr.colspan]="item.span === 7 ? item.span : 1" [attr.title]="item.text">{{ item.text }}</td>\n </tr>\n '}]}],propDecorators:{groupSlots:[{type:g.Input}],slots:[{type:g.Input}]}}),new g.InjectionToken("gantt-touch-enabled")),Fe="E d/MM",Ve=(Object.defineProperty(Le.prototype,"viewStart",{get:function(){return this._viewStart},enumerable:!1,configurable:!0}),Le.prototype.getRange=function(e){var t;return e&&e.length?(t=N.orderBy(e,[{field:this.mapper.taskFields.start,dir:"asc"}]),e=N.orderBy(e,[{field:this.mapper.taskFields.end,dir:"desc"}]),t=new Date(this.mapper.extractFromTask(t[0],"start"))||new Date,e=new Date(this.mapper.extractFromTask(e[0],"end"))||new Date,t=this.getStartOffset(t),e=this.getEndOffset(e),this._viewStart=Number(t),{start:new Date(t),end:new Date(e)}):{start:new Date,end:new Date}},Le.prototype.getHours=function(e,t){for(var n,i,o=[],r=this.intlService.parseDate(this.options.workDayStart).getHours(),a=this.intlService.parseDate(this.options.workDayEnd).getHours(),s=new Date(e),l=new Date(t);s<l;){var p=new Date(s),d=(d=r,i=a,(n=p).getHours()>=d&&n.getHours()<=i);p.setHours(p.getHours()+1),o.push({start:s,end:p,isWorking:d,text:this.intlService.formatDate(s,"HH:mm aa"),span:1,slotWidth:this.options.slotWidth}),s=p}return o},Le.prototype.getDays=function(e,t){for(var n,i,o=[],r=new Date(e),a=new Date(t);r<=a;){var s=c.getDate(c.addDays(r,1)),l=(n=r,l=this.options.workWeekStart,i=this.options.workWeekEnd,n.getDay()>=l&&n.getDay()<=i);o.push({start:r,end:a<s?a:s,isWorking:l,text:this.intlService.formatDate(r,Fe),span:1,slotWidth:this.options.slotWidth}),r=s}return o},Le.prototype.getWeeks=function(e,t){for(var n=this.intlService.firstDay(),i=[],o=new Date(e),r=new Date(t);o<=r;){var a=function(e,t){e=c.addWeeks(e,1),e=c.firstDayInWeek(e,t);return c.addDays(e,-1)}(o,n),a=r<a?r:a,s=this.getDays(o,a),l=s.length,p=this.intlService.formatDate(c.firstDayInWeek(c.getDate(o),n),Fe),d=this.intlService.formatDate(a,Fe);0<l&&i.push({start:s[0].start,end:s[l-1].end,text:p+" - "+d,span:l,slotWidth:this.options.slotWidth}),o=c.firstDayInWeek(c.addWeeks(a,1))}return i},Le.prototype.getMonths=function(e,t,n){for(var i=[],o=new Date(e),r=new Date(t);o<r;){var a=c.lastDayOfMonth(o),a=r<a?r:a,s=this.getDays(o,a),l=this.getWeeks(o,a),p=(n?s:l).length,d=c.firstDayOfMonth(c.getDate(o)),d=this.intlService.formatDate(d,"MMM");0<p&&i.push({start:(n?s:l)[0].start,end:n?s[p-1]:l[p-1].end,span:p,text:d,slotWidth:this.options.slotWidth}),o=c.firstDayOfMonth(c.addMonths(a,1))}return i},Le.prototype.getYears=function(e,t){for(var n=[],i=new Date(e),o=new Date(t);i<o;){var r=c.lastDayOfMonth(c.lastMonthOfYear(i)),r=o<r?o:r,a=this.getMonths(i,r),s=a.length;0<s&&n.push({start:a[0].start,end:a[s-1].end,span:s,text:r.getFullYear(),slotWidth:this.options.slotWidth}),i=c.addDays(r,1)}return n},Le);function Le(e,t){this.intlService=e,this.mapper=t,this._viewStart=0}y(Re,Ae=Ve),Re.prototype.getStartOffset=function(e){return se(e,e.getHours()-1)},Re.prototype.getEndOffset=function(e){return se(e,e.getHours()+1)},Re.prototype.getTableWidth=function(e){var e=this.getSlots(e)[1],t=this.options.slotWidth;return Math.round(e.length*t)},Re.prototype.getSlots=function(e){for(var t=[],e=this.getRange(e),n=e.start,e=e.end,i=this.getDays(n,e),o=[],r=0;r<i.length;r++){var a=i[r],s=this.getHours(a.start,a.end);a.span=s.length,o.push.apply(o,re([],oe(s)))}return t.push(i,o),t};var Ae,Pe=Re;function Re(e,t){return Ae.call(this,e,t)||this}Pe.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Pe,deps:[{token:X.IntlService},{token:b}],target:n.ɵɵFactoryTarget.Injectable}),Pe.ɵprov=n.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Pe}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Pe,decorators:[{type:g.Injectable}],ctorParameters:function(){return[{type:X.IntlService},{type:b}]}});y(Ge,Be=Ve),Ge.prototype.getStartOffset=function(e){var t=this.intlService.firstDay(),e=c.firstDayInWeek(c.getDate(e),t);return c.addWeeks(c.getDate(e),-1)},Ge.prototype.getEndOffset=function(e){var t=this.intlService.firstDay(),e=c.addDays(c.firstDayInWeek(c.getDate(e),t),6);return c.addWeeks(c.getDate(e),1)},Ge.prototype.getTableWidth=function(e){var e=this.getSlots(e)[1],t=this.options.slotWidth;return Math.round(e.length*t)},Ge.prototype.getSlots=function(e){var t=[],e=this.getRange(e),n=e.start,e=e.end,i=this.getMonths(n,e,!0),n=this.getWeeks(n,e);return t.push(i,n),t};var Be,Me=Ge;function Ge(e,t){return Be.call(this,e,t)||this}Me.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Me,deps:[{token:X.IntlService},{token:b}],target:n.ɵɵFactoryTarget.Injectable}),Me.ɵprov=n.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Me}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Me,decorators:[{type:g.Injectable}],ctorParameters:function(){return[{type:X.IntlService},{type:b}]}});y(ze,Ne=Ve),ze.prototype.getStartOffset=function(e){return c.addDays(c.getDate(e),-1)},ze.prototype.getEndOffset=function(e){return c.addDays(c.getDate(e),1)},ze.prototype.getTableWidth=function(e){var e=this.getSlots(e)[1],t=this.options.slotWidth;return Math.round(e.length*t)},ze.prototype.getSlots=function(e){var t=[],e=this.getRange(e),n=e.start,e=e.end,i=this.getWeeks(n,e),n=this.getDays(n,e);return t.push(i,n),t};var Ne,je=ze;function ze(e,t){return Ne.call(this,e,t)||this}je.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:je,deps:[{token:X.IntlService},{token:b}],target:n.ɵɵFactoryTarget.Injectable}),je.ɵprov=n.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:je}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:je,decorators:[{type:g.Injectable}],ctorParameters:function(){return[{type:X.IntlService},{type:b}]}});y(qe,We=Ve),qe.prototype.getTableWidth=function(e){var e=this.getSlots(e)[1],t=this.options.slotWidth;return Math.round(e.length*t)},qe.prototype.getStartOffset=function(e){e=c.firstDayOfMonth(e);return c.addMonths(c.getDate(e),-1)},qe.prototype.getEndOffset=function(e){e=c.lastDayOfMonth(e);return c.addMonths(c.getDate(e),1)},qe.prototype.getSlots=function(e){var t=[],e=this.getRange(e),n=e.start,e=e.end,i=this.getYears(n,e),n=this.getMonths(n,e);return t.push(i,n),t};var We,Ve=qe;function qe(e,t){return We.call(this,e,t)||this}Ve.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Ve,deps:[{token:X.IntlService},{token:b}],target:n.ɵɵFactoryTarget.Injectable}),Ve.ɵprov=n.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Ve}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Ve,decorators:[{type:g.Injectable}],ctorParameters:function(){return[{type:X.IntlService},{type:b}]}});var He={day:Pe,week:je,month:Me,year:Ve},D=(_e.prototype.service=function(e){e=He[e];return e?this.injector.get(e):null},_e);function _e(e){this.injector=e,this.viewChange=new g.EventEmitter}D.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:D,deps:[{token:n.Injector}],target:n.ɵɵFactoryTarget.Injectable}),D.ɵprov=n.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:D}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:D,decorators:[{type:g.Injectable}],ctorParameters:function(){return[{type:n.Injector}]}});Ke.prototype.notifyColumnChanges=function(){this.columnChanges.emit()},Ke.prototype.notifyViewChanges=function(){this.viewChanges.emit()};var w=Ke;function Ke(){this.viewChanges=new g.EventEmitter,this.columnChanges=new g.EventEmitter}w.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:w,deps:[],target:n.ɵɵFactoryTarget.Injectable}),w.ɵprov=n.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:w}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:w,decorators:[{type:g.Injectable}]});Object.defineProperty(S.prototype,"enabled",{get:function(){return this._enabled},enumerable:!1,configurable:!0}),Object.defineProperty(S.prototype,"activeTask",{get:function(){return{activeIndex:this.activeTimelineIndex,isFocused:this.isTimelineFocused}},enumerable:!1,configurable:!0}),Object.defineProperty(S.prototype,"activeTimelineIndex",{get:function(){var e=this.metadata.treeList.view.data.length-1;return ve(this._activeTimelineIndex,0,e)},set:function(e){this._activeTimelineIndex=e},enumerable:!1,configurable:!0}),Object.defineProperty(S.prototype,"activeTreeListCell",{get:function(){var e=this.treeListHeaderRowsCount+this.metadata.treeList.view.data.length-1,e=ve(this._activeTreeListCell.rowIndex,0,e),t=this.metadata.columns.length;return{rowIndex:e,colIndex:ve(this._activeTreeListCell.colIndex,0,t)}},set:function(e){this._activeTreeListCell=e},enumerable:!1,configurable:!0}),Object.defineProperty(S.prototype,"treeListHeaderRowsCount",{get:function(){return this.metadata.treeListElement.querySelectorAll(".k-grid-header tr").length},enumerable:!1,configurable:!0}),S.prototype.initialize=function(e){var t=this,e=(this._enabled=!0,this.metadata=e,this.metadata.host.querySelector(".k-splitbar"));v(e)&&v(e.previousElementSibling)&&v(e.after)&&e.after(e.previousElementSibling),this.zone.runOutsideAngular(function(){t.eventListenerDisposers=[t.renderer.listen(t.metadata.treeListElement,"mousedown",t.focusTreeList.bind(t)),t.renderer.listen(t.metadata.treeListElement,"focusin",t.handleTreeListFocusIn.bind(t)),t.renderer.listen(t.metadata.timelineElement,"mousedown",t.handleTimelineMousedown.bind(t)),t.renderer.listen(t.metadata.timelineElement,"focusin",t.handleTimelineFocusIn.bind(t)),t.renderer.listen(t.metadata.timelineElement,"focusout",t.handleTimelineFocusOut.bind(t))]})},S.prototype.ngOnDestroy=function(){v(this.eventListenerDisposers)&&(this.eventListenerDisposers.forEach(function(e){return e()}),this.eventListenerDisposers=null),this.metadata=null},S.prototype.focusLastActiveItem=function(){var e,t;0===this.metadata.data.length||!this.treeListLastActive&&!this.timelineLastActive?this.focusCell(0,0):this.treeListLastActive?(e=(t=this.activeTreeListCell).rowIndex,t=t.colIndex,this.metadata.treeList.focusCell(e,t)):this.timelineLastActive&&this.focusTask(this.activeTimelineIndex)},S.prototype.focusCell=function(e,t){this.activeTreeListCell={rowIndex:e,colIndex:t},this.activeTimelineIndex=e-this.treeListHeaderRowsCount,this.metadata.treeList.focusCell(this.activeTreeListCell.rowIndex,this.activeTreeListCell.colIndex)},S.prototype.focusTask=function(e){this.activeTimelineIndex=e,this.isTimelineFocused=!0,this.activeTreeListCell={rowIndex:e+this.treeListHeaderRowsCount,colIndex:this.activeTreeListCell.colIndex},this.notifyTaskStatusChange()},S.prototype.handleTimelineFocusIn=function(e){e=e.target;this.treeListLastActive=!1,this.timelineLastActive=!0,this.isTimelineFocused=!0,ge(e,this.metadata.timelineElement)&&this.notifyTaskStatusChange()},S.prototype.handleTimelineFocusOut=function(e){e=e.relatedTarget;this.isTimelineFocused=this.metadata.timelineElement.contains(e),ge(e,this.metadata.timelineElement)||this.notifyTaskStatusChange()},S.prototype.handleTreeListFocusIn=function(e){var t,n;this.treeListLastActive=!0,this.timelineLastActive=!1,this.metadata.treeListElement.contains(e.relatedTarget)?(n=(e=this.metadata.treeList.activeCell).colIndex,t=e.rowIndex,this.activeTreeListCell={colIndex:n,rowIndex:t}):(t=(e=this.activeTreeListCell).rowIndex,n=e.colIndex,this.metadata.treeList.focusCell(t,n)),this.activeTimelineIndex=this.metadata.treeList.activeCell.dataRowIndex,this.notifyTaskStatusChange(),0<=this.metadata.treeList.activeCell.dataRowIndex&&(this.scrollHorizontallyToTask(),this.scrollSyncService.syncScrollTop("treelist","timeline"))},S.prototype.updateActiveTimeLineIndex=function(e){this.activeTimelineIndex=e},S.prototype.updateActiveTreeListCell=function(){this.activeTreeListCell={rowIndex:this.activeTimelineIndex+this.treeListHeaderRowsCount,colIndex:this.activeTreeListCell.colIndex}},S.prototype.notifyTaskStatusChange=function(){this.taskStatusChanges.next(this.activeTask)},S.prototype.scrollHorizontallyToTask=function(){var e,t,n=this.activeTimelineIndex,n=this.metadata.timelineElement.querySelectorAll(".k-task-wrap").item(n);v(n)&&(e=this.metadata.timelineElement.clientWidth+this.metadata.timelineElement.scrollLeft<n.offsetLeft+200,t=this.metadata.timelineElement.scrollLeft>n.offsetLeft,e||t)&&(this.metadata.timelineElement.scrollLeft=n.offsetLeft)},S.prototype.handleTimelineMousedown=function(e){var e=e.target;ge(e,this.metadata.host)&&!me(e,this.metadata.host)&&(e=ue(e,this.metadata.host),this.focusTask(e))},S.prototype.focusTreeList=function(){this.metadata.treeList.focus()};var x=S;function S(e,t,n){this.zone=e,this.renderer=t,this.scrollSyncService=n,this.taskStatusChanges=new m.Subject,this.isTimelineFocused=!1,this.treeListLastActive=!1,this.timelineLastActive=!1,this._enabled=!1,this._activeTimelineIndex=0,this._activeTreeListCell={rowIndex:0,colIndex:0}}x.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:x,deps:[{token:n.NgZone},{token:n.Renderer2},{token:T}],target:n.ɵɵFactoryTarget.Injectable}),x.ɵprov=n.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:x}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:x,decorators:[{type:g.Injectable}],ctorParameters:function(){return[{type:n.NgZone},{type:n.Renderer2},{type:T}]}});var $e={day:c.MS_PER_HOUR,week:c.MS_PER_DAY,month:7*c.MS_PER_DAY},Ze="k-focus",O=(Object.defineProperty(Ue.prototype,"taskIndexAttribute",{get:function(){return this.index},enumerable:!1,configurable:!0}),Object.defineProperty(Ue.prototype,"ariaSelected",{get:function(){return this.selectable?String(this.isSelected(this.dataItem)):null},enumerable:!1,configurable:!0}),Object.defineProperty(Ue.prototype,"slotUnitDuration",{get:function(){return $e[this.activeView]},enumerable:!1,configurable:!0}),Object.defineProperty(Ue.prototype,"viewService",{get:function(){return this.timelineViewService.service(this.activeView)},enumerable:!1,configurable:!0}),Object.defineProperty(Ue.prototype,"slotWidth",{get:function(){return this.viewService.options.slotWidth},enumerable:!1,configurable:!0}),Object.defineProperty(Ue.prototype,"taskWidth",{get:function(){var e,t,n=this.mapper.extractFromTask(this.dataItem,"start"),i=this.mapper.extractFromTask(this.dataItem,"end");return"year"===this.activeView?(e=Math.max(pe(n,i),0),t=le(n),0<e||0===e&&n.getMonth()!==i.getMonth()?((t-n.getDate())/t+e+i.getDate()/le(i))*this.slotWidth:(i.getDate()-n.getDate())/t*this.slotWidth):(i-n)/this.slotUnitDuration*this.slotWidth},enumerable:!1,configurable:!0}),Object.defineProperty(Ue.prototype,"taskOffset",{get:function(){var e,t=this.mapper.extractFromTask(this.dataItem,"start"),n=this.viewService.viewStart;return"year"===this.activeView?(e=new Date(n),(pe(e,new Date(c.firstDayOfMonth(t)))+1+t.getDate()/le(t))*this.slotWidth):(t-n)/this.slotUnitDuration*this.slotWidth},enumerable:!1,configurable:!0}),Object.defineProperty(Ue.prototype,"completionOverlayWidth",{get:function(){var e,t=this.taskWidth*this.mapper.extractFromTask(this.dataItem,"completionRatio");return"number"!=typeof(e=t)||isNaN(e)?0:t},enumerable:!1,configurable:!0}),Ue.prototype.ngOnChanges=function(e){v(e.dataItem)?(v(e.dataItem.previousValue)&&this.dependencyDomService.unregisterTask(e.dataItem.previousValue),this.dependencyDomService.registerTask(this.dataItem,this.taskElement.nativeElement)):v(e.activeView)&&this.dependencyDomService.notifyChanges(),this.navigationService.enabled&&v(e.index)&&this.updateActiveState(this.navigationService.activeTask)},Ue.prototype.ngOnDestroy=function(){v(this.dataItem)&&this.dependencyDomService.unregisterTask(this.dataItem),this.subscriptions.unsubscribe()},Ue.prototype.updateActiveState=function(e){var t=e.activeIndex,e=e.isFocused,t=t===this.index;this.taskElement.nativeElement.setAttribute("tabindex",t?"0":"-1"),t&&e?(this.taskElement.nativeElement.focus(),this.taskElement.nativeElement.classList.add(Ze)):this.taskElement.nativeElement.classList.remove(Ze)},Ue);function Ue(e,t,n,i,o,r){var a=this;this.mapper=e,this.timelineViewService=t,this.dependencyDomService=n,this.optionChangesService=i,this.cdr=o,this.navigationService=r,this.wrapperClass=!0,this.subscriptions=new m.Subscription,this.subscriptions.add(this.optionChangesService.viewChanges.subscribe(function(){return a.cdr.markForCheck()})),this.subscriptions.add(this.navigationService.taskStatusChanges.subscribe(this.updateActiveState.bind(this)))}O.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:O,deps:[{token:b},{token:D},{token:C},{token:w},{token:n.ChangeDetectorRef},{token:x}],target:n.ɵɵFactoryTarget.Directive}),O.ɵdir=n.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:O,selector:"kendo-gantt-task-base",inputs:{dataItem:"dataItem",index:"index",level:"level",renderDependencyDragClues:"renderDependencyDragClues",selectable:"selectable",isSelected:"isSelected",activeView:"activeView",taskClass:"taskClass"},host:{properties:{"class.k-task-wrap":"this.wrapperClass","attr.data-task-index":"this.taskIndexAttribute","style.left.px":"this.taskOffset"}},viewQueries:[{propertyName:"taskElement",first:!0,predicate:["task"],descendants:!0,static:!0}],usesOnChanges:!0,ngImport:n}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:O,decorators:[{type:g.Directive,args:[{selector:"kendo-gantt-task-base"}]}],ctorParameters:function(){return[{type:b},{type:D},{type:C},{type:w},{type:n.ChangeDetectorRef},{type:x}]},propDecorators:{wrapperClass:[{type:g.HostBinding,args:["class.k-task-wrap"]}],taskIndexAttribute:[{type:g.HostBinding,args:["attr.data-task-index"]}],taskElement:[{type:g.ViewChild,args:["task",{static:!0}]}],dataItem:[{type:g.Input}],index:[{type:g.Input}],level:[{type:g.Input}],renderDependencyDragClues:[{type:g.Input}],selectable:[{type:g.Input}],isSelected:[{type:g.Input}],activeView:[{type:g.Input}],taskClass:[{type:g.Input}],taskOffset:[{type:g.HostBinding,args:["style.left.px"]}]}});y(Xe,Ye=O);var Ye,Qe=Xe;function Xe(e,t,n,i,o,r,a){t=Ye.call(this,t,n,i,o,r,a)||this;return t.touchEnabled=e,t.milestoneWrapperClass=!0,t}Qe.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Qe,deps:[{token:Ee},{token:b},{token:D},{token:C},{token:w},{token:n.ChangeDetectorRef},{token:x}],target:n.ɵɵFactoryTarget.Component}),Qe.ɵcmp=n.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:Qe,selector:"kendo-gantt-milestone-task",host:{properties:{"class.k-milestone-wrap":"this.milestoneWrapperClass"}},providers:[{provide:O,useExisting:g.forwardRef(function(){return Qe})}],usesInheritance:!0,ngImport:n,template:'\n <div\n #task\n role="treeitem"\n class="k-task k-task-milestone"\n [ngClass]="taskClass(dataItem)"\n [attr.title]="mapper.extractFromTask(dataItem, \'title\')"\n [class.k-selected]="isSelected(dataItem)"\n [attr.aria-selected]="ariaSelected"\n [attr.aria-level]="level + 1"\n >\n </div>\n <ng-container *ngIf="renderDependencyDragClues">\n <div\n class="k-task-dot k-task-start k-touch-action-none"\n [class.k-display-block]="touchEnabled"\n >\n </div>\n <div\n class="k-task-dot k-task-end k-touch-action-none"\n [class.k-display-block]="touchEnabled"\n >\n </div>\n </ng-container>\n ',isInline:!0,styles:["\n .k-task.k-focus {\n box-shadow: 0 0 4px 3px grey;\n outline: none;\n }\n .k-task.k-focus.k-selected {\n box-shadow: 0 0 4px 3px #ffaea8;\n }\n "],directives:[{type:r.NgClass,selector:"[ngClass]",inputs:["class","ngClass"]},{type:r.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]}]}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Qe,decorators:[{type:g.Component,args:[{selector:"kendo-gantt-milestone-task",providers:[{provide:O,useExisting:g.forwardRef(function(){return Qe})}],template:'\n <div\n #task\n role="treeitem"\n class="k-task k-task-milestone"\n [ngClass]="taskClass(dataItem)"\n [attr.title]="mapper.extractFromTask(dataItem, \'title\')"\n [class.k-selected]="isSelected(dataItem)"\n [attr.aria-selected]="ariaSelected"\n [attr.aria-level]="level + 1"\n >\n </div>\n <ng-container *ngIf="renderDependencyDragClues">\n <div\n class="k-task-dot k-task-start k-touch-action-none"\n [class.k-display-block]="touchEnabled"\n >\n </div>\n <div\n class="k-task-dot k-task-end k-touch-action-none"\n [class.k-display-block]="touchEnabled"\n >\n </div>\n </ng-container>\n ',styles:["\n .k-task.k-focus {\n box-shadow: 0 0 4px 3px grey;\n outline: none;\n }\n .k-task.k-focus.k-selected {\n box-shadow: 0 0 4px 3px #ffaea8;\n }\n "]}]}],ctorParameters:function(){return[{type:void 0,decorators:[{type:g.Inject,args:[Ee]}]},{type:b},{type:D},{type:C},{type:w},{type:n.ChangeDetectorRef},{type:x}]},propDecorators:{milestoneWrapperClass:[{type:g.HostBinding,args:["class.k-milestone-wrap"]}]}});y(tt,Je=O),Object.defineProperty(tt.prototype,"ariaExpanded",{get:function(){var e=!v(this.isExpanded)||this.isExpanded(this.dataItem);return String(e)},enumerable:!1,configurable:!0});var Je,et=tt;function tt(e,t,n,i,o,r,a){t=Je.call(this,t,n,i,o,r,a)||this;return t.touchEnabled=e,t.summaryWrapperClass=!0,t}et.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:et,deps:[{token:Ee},{token:b},{token:D},{token:C},{token:w},{token:n.ChangeDetectorRef},{token:x}],target:n.ɵɵFactoryTarget.Component}),et.ɵcmp=n.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:et,selector:"kendo-gantt-summary-task",inputs:{template:"template",isExpanded:"isExpanded"},host:{properties:{"class.k-summary-wrap":"this.summaryWrapperClass"}},providers:[{provide:O,useExisting:g.forwardRef(function(){return et})}],usesInheritance:!0,ngImport:n,template:'\n <div\n #task\n role="treeitem"\n class="k-task k-task-summary"\n [ngClass]="taskClass(dataItem)"\n [style.width.px]="taskWidth"\n [attr.title]="mapper.extractFromTask(dataItem, \'title\')"\n [class.k-selected]="isSelected(dataItem)"\n [attr.aria-selected]="ariaSelected"\n [attr.aria-expanded]="ariaExpanded"\n [attr.aria-level]="level + 1"\n >\n <div *ngIf="!template; else summaryTemplate"\n class="k-task-summary-progress"\n [style.width.px]="taskWidth">\n <div\n class="k-task-summary-complete"\n [style.width.px]="completionOverlayWidth"\n >\n </div>\n </div>\n <ng-template\n #summaryTemplate\n [ngTemplateOutlet]="template"\n [ngTemplateOutletContext]="{\n $implicit: dataItem,\n elementWidth: taskWidth\n }"\n >\n </ng-template>\n </div>\n <ng-container *ngIf="renderDependencyDragClues">\n <div\n class="k-task-dot k-task-start k-touch-action-none"\n [class.k-display-block]="touchEnabled"\n >\n </div>\n <div\n class="k-task-dot k-task-end k-touch-action-none"\n [class.k-display-block]="touchEnabled"\n >\n </div>\n </ng-container>\n ',isInline:!0,styles:["\n .k-task.k-focus {\n box-shadow: 0 0 4px 3px grey;\n outline: none;\n }\n .k-task.k-focus.k-selected {\n box-shadow: 0 0 4px 3px #ffaea8;\n }\n "],directives:[{type:r.NgClass,selector:"[ngClass]",inputs:["class","ngClass"]},{type:r.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]},{type:r.NgTemplateOutlet,selector:"[ngTemplateOutlet]",inputs:["ngTemplateOutletContext","ngTemplateOutlet"]}]}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:et,decorators:[{type:g.Component,args:[{selector:"kendo-gantt-summary-task",providers:[{provide:O,useExisting:g.forwardRef(function(){return et})}],template:'\n <div\n #task\n role="treeitem"\n class="k-task k-task-summary"\n [ngClass]="taskClass(dataItem)"\n [style.width.px]="taskWidth"\n [attr.title]="mapper.extractFromTask(dataItem, \'title\')"\n [class.k-selected]="isSelected(dataItem)"\n [attr.aria-selected]="ariaSelected"\n [attr.aria-expanded]="ariaExpanded"\n [attr.aria-level]="level + 1"\n >\n <div *ngIf="!template; else summaryTemplate"\n class="k-task-summary-progress"\n [style.width.px]="taskWidth">\n <div\n class="k-task-summary-complete"\n [style.width.px]="completionOverlayWidth"\n >\n </div>\n </div>\n <ng-template\n #summaryTemplate\n [ngTemplateOutlet]="template"\n [ngTemplateOutletContext]="{\n $implicit: dataItem,\n elementWidth: taskWidth\n }"\n >\n </ng-template>\n </div>\n <ng-container *ngIf="renderDependencyDragClues">\n <div\n class="k-task-dot k-task-start k-touch-action-none"\n [class.k-display-block]="touchEnabled"\n >\n </div>\n <div\n class="k-task-dot k-task-end k-touch-action-none"\n [class.k-display-block]="touchEnabled"\n >\n </div>\n </ng-container>\n ',styles:["\n .k-task.k-focus {\n box-shadow: 0 0 4px 3px grey;\n outline: none;\n }\n .k-task.k-focus.k-selected {\n box-shadow: 0 0 4px 3px #ffaea8;\n }\n "]}]}],ctorParameters:function(){return[{type:void 0,decorators:[{type:g.Inject,args:[Ee]}]},{type:b},{type:D},{type:C},{type:w},{type:n.ChangeDetectorRef},{type:x}]},propDecorators:{summaryWrapperClass:[{type:g.HostBinding,args:["class.k-summary-wrap"]}],template:[{type:g.Input}],isExpanded:[{type:g.Input}]}});Object.defineProperty(nt.prototype,"dependencies",{get:function(){return re(re([],oe(this.predecessors)),oe(this.successors))},set:function(e){var t=this,n=this.mapper.extractFromTask(this.dataItem,"id");this.predecessors=e.filter(function(e){return t.mapper.extractFromDependency(e,"toId")===n}),this.successors=e.filter(function(e){return t.mapper.extractFromDependency(e,"fromId")===n})},enumerable:!1,configurable:!0}),nt.prototype.createEditDialog=function(e,t,n){this.dataItem=e,this.taskFormGroup=t,this.dependencies=n,this.showEditingDialog.next(!0)},nt.prototype.closeEditDialog=function(){this.showEditingDialog.next(!1),this.dataItem=void 0,this.taskFormGroup=void 0,this.dependencies=[],this.updatedItems=[],this.deletedItems=[]},nt.prototype.triggerEditEvent=function(e){this.editEvent.next({taskFormGroup:this.taskFormGroup,dataItem:this.dataItem,dependencies:{createdItems:this.getCreatedDependencies(),updatedItems:this.updatedItems,deletedItems:this.deletedItems},editResultType:e})},nt.prototype.updateDependencies=function(e){var t;this.isNew(e)||(-1!==(t=this.itemIndex(e,this.updatedItems))?this.updatedItems.splice(t,1,e):this.updatedItems.push(e))},nt.prototype.getCreatedDependencies=function(){var t=this;return this.dependencies.filter(function(e){return null===t.mapper.extractFromDependency(e,"id")})},nt.prototype.deleteDependency=function(e){var t=this.itemIndex(e,this.updatedItems);-1!==t&&this.updatedItems.splice(t,1),this.isNew(e)||this.deletedItems.push(e)},nt.prototype.loadTasks=function(e,t){var n=this;return void 0===t&&(t=!0),m.forkJoin(e.map(function(e){return n.getElementById(e)})).pipe(a.map(function(e){return e.reduce(function(e,t){return e.concat(ae(t))},[])}),a.expand(function(e){return e.some(function(e){return n.hasChildren(e)})?n.loadTasks(e,!1):m.EMPTY}),a.reduce(function(e,t){return e.concat(t)},t?re([],oe(e)):[]))},nt.prototype.getElementById=function(e){e=this.fetchChildren(e);return m.isObservable(e)?e:m.of(e)},nt.prototype.isNew=function(e){return!v(this.mapper.extractFromDependency(e,"id"))};var E=nt;function nt(e){var n=this;this.mapper=e,this.showEditingDialog=new m.Subject,this.taskDelete=new m.Subject,this.editEvent=new m.Subject,this.addEvent=new m.Subject,this.predecessors=[],this.successors=[],this.updatedItems=[],this.deletedItems=[],this.itemIndex=function(t,e){return e.findIndex(function(e){return n.mapper.extractFromTask(e,"id")===n.mapper.extractFromTask(t,"id")})}}E.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:E,deps:[{token:b}],target:n.ɵɵFactoryTarget.Injectable}),E.ɵprov=n.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:E}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:E,decorators:[{type:g.Injectable}],ctorParameters:function(){return[{type:b}]}});y(rt,it=O),rt.prototype.onTaskDelete=function(){this.editService.dataItem=this.dataItem,this.editService.taskDelete.next(this.dataItem)};var it,ot=rt;function rt(e,t,n,i,o,r,a,s){n=it.call(this,n,i,o,r,a,s)||this;return n.editService=e,n.touchEnabled=t,n}ot.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:ot,deps:[{token:E},{token:Ee},{token:b},{token:D},{token:C},{token:w},{token:n.ChangeDetectorRef},{token:x}],target:n.ɵɵFactoryTarget.Component}),ot.ɵcmp=n.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:ot,selector:"kendo-gantt-task",inputs:{taskContentTemplate:"taskContentTemplate",taskTemplate:"taskTemplate"},providers:[{provide:O,useExisting:g.forwardRef(function(){return ot})}],usesInheritance:!0,ngImport:n,template:'\n <div\n #task\n class="k-task k-task-single"\n role="treeitem"\n [ngClass]="taskClass(dataItem)"\n [style.width.px]="taskWidth"\n [attr.title]="mapper.extractFromTask(dataItem, \'title\')"\n [class.k-selected]="isSelected(dataItem)"\n [attr.aria-selected]="ariaSelected"\n [attr.aria-level]="level + 1"\n >\n <ng-container *ngIf="!taskTemplate">\n <div\n class="k-task-complete"\n [style.width.px]="completionOverlayWidth"\n aria-hidden="true"\n >\n </div>\n <div class="k-task-content">\n <div class="k-task-template">\n <ng-container *ngIf="!taskContentTemplate; else taskContent">\n {{ mapper.extractFromTask(dataItem, \'title\') }}\n </ng-container>\n <ng-template\n #taskContent\n [ngTemplateOutlet]="taskContentTemplate"\n [ngTemplateOutletContext]="{ $implicit: dataItem }"\n >\n </ng-template>\n </div>\n <span\n class="k-task-actions"\n aria-hidden="true"\n >\n <span\n class="k-link k-task-delete"\n [kendoEventsOutsideAngular]="{\n click: onTaskDelete\n }"\n [scope]="this"\n >\n <span class="k-icon k-i-x"></span>\n </span>\n </span>\n </div>\n </ng-container>\n <ng-template\n *ngIf="taskTemplate"\n [ngTemplateOutlet]="taskTemplate"\n [ngTemplateOutletContext]="{\n $implicit: dataItem,\n elementWidth: taskWidth\n }"\n >\n </ng-template>\n </div>\n <ng-container *ngIf="renderDependencyDragClues">\n <div\n class="k-task-dot k-task-start k-touch-action-none"\n [class.k-display-block]="touchEnabled"\n >\n </div>\n <div\n class="k-task-dot k-task-end k-touch-action-none"\n [class.k-display-block]="touchEnabled"\n >\n </div>\n </ng-container>\n ',isInline:!0,styles:["\n .k-task.k-focus {\n box-shadow: 0 0 4px 3px grey;\n outline: none;\n }\n .k-task.k-focus.k-selected {\n box-shadow: 0 0 4px 3px #ffaea8;\n }\n "],directives:[{type:r.NgClass,selector:"[ngClass]",inputs:["class","ngClass"]},{type:r.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]},{type:r.NgTemplateOutlet,selector:"[ngTemplateOutlet]",inputs:["ngTemplateOutletContext","ngTemplateOutlet"]},{type:i.EventsOutsideAngularDirective,selector:"[kendoEventsOutsideAngular]",inputs:["kendoEventsOutsideAngular","scope"]}]}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:ot,decorators:[{type:g.Component,args:[{selector:"kendo-gantt-task",providers:[{provide:O,useExisting:g.forwardRef(function(){return ot})}],template:'\n <div\n #task\n class="k-task k-task-single"\n role="treeitem"\n [ngClass]="taskClass(dataItem)"\n [style.width.px]="taskWidth"\n [attr.title]="mapper.extractFromTask(dataItem, \'title\')"\n [class.k-selected]="isSelected(dataItem)"\n [attr.aria-selected]="ariaSelected"\n [attr.aria-level]="level + 1"\n >\n <ng-container *ngIf="!taskTemplate">\n <div\n class="k-task-complete"\n [style.width.px]="completionOverlayWidth"\n aria-hidden="true"\n >\n </div>\n <div class="k-task-content">\n <div class="k-task-template">\n <ng-container *ngIf="!taskContentTemplate; else taskContent">\n {{ mapper.extractFromTask(dataItem, \'title\') }}\n </ng-container>\n <ng-template\n #taskContent\n [ngTemplateOutlet]="taskContentTemplate"\n [ngTemplateOutletContext]="{ $implicit: dataItem }"\n >\n </ng-template>\n </div>\n <span\n class="k-task-actions"\n aria-hidden="true"\n >\n <span\n class="k-link k-task-delete"\n [kendoEventsOutsideAngular]="{\n click: onTaskDelete\n }"\n [scope]="this"\n >\n <span class="k-icon k-i-x"></span>\n </span>\n </span>\n </div>\n </ng-container>\n <ng-template\n *ngIf="taskTemplate"\n [ngTemplateOutlet]="taskTemplate"\n [ngTemplateOutletContext]="{\n $implicit: dataItem,\n elementWidth: taskWidth\n }"\n >\n </ng-template>\n </div>\n <ng-container *ngIf="renderDependencyDragClues">\n <div\n class="k-task-dot k-task-start k-touch-action-none"\n [class.k-display-block]="touchEnabled"\n >\n </div>\n <div\n class="k-task-dot k-task-end k-touch-action-none"\n [class.k-display-block]="touchEnabled"\n >\n </div>\n </ng-container>\n ',styles:["\n .k-task.k-focus {\n box-shadow: 0 0 4px 3px grey;\n outline: none;\n }\n .k-task.k-focus.k-selected {\n box-shadow: 0 0 4px 3px #ffaea8;\n }\n "]}]}],ctorParameters:function(){return[{type:E},{type:void 0,decorators:[{type:g.Inject,args:[Ee]}]},{type:b},{type:D},{type:C},{type:w},{type:n.ChangeDetectorRef},{type:x}]},propDecorators:{taskContentTemplate:[{type:g.Input}],taskTemplate:[{type:g.Input}]}});Object.defineProperty(lt.prototype,"timelineRow",{set:function(e){v(e)&&this.dependencyDomService.registerTimelineRow(e.nativeElement)},enumerable:!1,configurable:!0}),lt.prototype.isMileStone=function(e){return!e.hasChildren&&c.isEqual(this.mapper.extractFromTask(e.data,"start"),this.mapper.extractFromTask(e.data,"end"))};var at,st,O=lt;function lt(e,t){this.dependencyDomService=e,this.mapper=t}O.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:O,deps:[{token:C},{token:b}],target:n.ɵɵFactoryTarget.Component}),O.ɵcmp=n.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:O,selector:"[kendoGanttTasksTableBody]",inputs:{selectable:"selectable",rows:"rows",activeView:"activeView",taskContentTemplate:"taskContentTemplate",taskTemplate:"taskTemplate",summaryTaskTemplate:"summaryTaskTemplate",taskClass:"taskClass",isExpanded:"isExpanded",isTaskSelected:"isTaskSelected",renderDependencyDragClues:"renderDependencyDragClues"},viewQueries:[{propertyName:"timelineRow",first:!0,predicate:["timelineRow"],descendants:!0}],ngImport:n,template:'\n <tr #timelineRow *ngFor="let item of rows; let index = index">\n <td>\n <kendo-gantt-milestone-task\n *ngIf="isMileStone(item); else task"\n [dataItem]="item.data"\n [level]="item.level"\n [activeView]="activeView"\n [taskClass]="taskClass"\n [selectable]="selectable"\n [isSelected]="isTaskSelected"\n [index]="index"\n [renderDependencyDragClues]="renderDependencyDragClues"\n >\n </kendo-gantt-milestone-task>\n <ng-template #task>\n <kendo-gantt-summary-task\n *ngIf="item.hasChildren"\n [dataItem]="item.data"\n [level]="item.level"\n [template]="summaryTaskTemplate"\n [activeView]="activeView"\n [taskClass]="taskClass"\n [selectable]="selectable"\n [isSelected]="isTaskSelected"\n [isExpanded]="isExpanded"\n [index]="index"\n [renderDependencyDragClues]="renderDependencyDragClues"\n >\n </kendo-gantt-summary-task>\n <kendo-gantt-task\n *ngIf="!item.hasChildren"\n [dataItem]="item.data"\n [level]="item.level"\n [taskContentTemplate]="taskContentTemplate"\n [taskTemplate]="taskTemplate"\n [activeView]="activeView"\n [taskClass]="taskClass"\n [selectable]="selectable"\n [isSelected]="isTaskSelected"\n [index]="index"\n [renderDependencyDragClues]="renderDependencyDragClues"\n >\n </kendo-gantt-task>\n </ng-template>\n </td>\n </tr>\n ',isInline:!0,components:[{type:Qe,selector:"kendo-gantt-milestone-task"},{type:et,selector:"kendo-gantt-summary-task",inputs:["template","isExpanded"]},{type:ot,selector:"kendo-gantt-task",inputs:["taskContentTemplate","taskTemplate"]}],directives:[{type:r.NgForOf,selector:"[ngFor][ngForOf]",inputs:["ngForOf","ngForTrackBy","ngForTemplate"]},{type:r.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]}]}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:O,decorators:[{type:g.Component,args:[{selector:"[kendoGanttTasksTableBody]",template:'\n <tr #timelineRow *ngFor="let item of rows; let index = index">\n <td>\n <kendo-gantt-milestone-task\n *ngIf="isMileStone(item); else task"\n [dataItem]="item.data"\n [level]="item.level"\n [activeView]="activeView"\n [taskClass]="taskClass"\n [selectable]="selectable"\n [isSelected]="isTaskSelected"\n [index]="index"\n [renderDependencyDragClues]="renderDependencyDragClues"\n >\n </kendo-gantt-milestone-task>\n <ng-template #task>\n <kendo-gantt-summary-task\n *ngIf="item.hasChildren"\n [dataItem]="item.data"\n [level]="item.level"\n [template]="summaryTaskTemplate"\n [activeView]="activeView"\n [taskClass]="taskClass"\n [selectable]="selectable"\n [isSelected]="isTaskSelected"\n [isExpanded]="isExpanded"\n [index]="index"\n [renderDependencyDragClues]="renderDependencyDragClues"\n >\n </kendo-gantt-summary-task>\n <kendo-gantt-task\n *ngIf="!item.hasChildren"\n [dataItem]="item.data"\n [level]="item.level"\n [taskContentTemplate]="taskContentTemplate"\n [taskTemplate]="taskTemplate"\n [activeView]="activeView"\n [taskClass]="taskClass"\n [selectable]="selectable"\n [isSelected]="isTaskSelected"\n [index]="index"\n [renderDependencyDragClues]="renderDependencyDragClues"\n >\n </kendo-gantt-task>\n </ng-template>\n </td>\n </tr>\n '}]}],ctorParameters:function(){return[{type:C},{type:b}]},propDecorators:{timelineRow:[{type:g.ViewChild,args:["timelineRow",{static:!1}]}],selectable:[{type:g.Input}],rows:[{type:g.Input}],activeView:[{type:g.Input}],taskContentTemplate:[{type:g.Input}],taskTemplate:[{type:g.Input}],summaryTaskTemplate:[{type:g.Input}],taskClass:[{type:g.Input}],isExpanded:[{type:g.Input}],isTaskSelected:[{type:g.Input}],renderDependencyDragClues:[{type:g.Input}]}}),(F=at=at||{})[F.Backwards=-1]="Backwards",F[F.Forward=1]="Forward",(F=st=st||{}).Vertical="scrollTop",F.Horizontal="scrollLeft";function pt(e,t,n,i){if(v(e)&&k.isDocumentAvailable())for(var o,r,a=e[i],s=t,l=0;a===e[i]&&!(n===at.Backwards&&Math.floor(e[i])<=0)&&!(n===at.Forward&&(o=e,r=void 0,r=i===st.Horizontal?o.scrollWidth-o.clientWidth:o.scrollHeight-o.clientHeight,Math.ceil(o[i])>=r))&&l<20;)e[i]+=s*n,s+=1,l+=1}function dt(e){var t=e.getBoundingClientRect(),n=Math.max(t.top,0),i=Math.max(t.left,0);return{top:n,bottom:n+Math.min(t.bottom,e.clientHeight),left:i,right:i+Math.min(t.right,e.clientWidth)}}ut.prototype.ngOnDestroy=function(){this.horizontalScroll.complete(),this.verticalScroll.complete(),this.scrollCancel.complete()},ut.prototype.requestHorizontalScroll=function(e){this.horizontalScroll.next(e)},ut.prototype.requestVerticalScroll=function(e){this.verticalScroll.next(e)},ut.prototype.requestScrollCancel=function(){this.scrollCancel.next()};var ct=ut;function ut(){this.horizontalScroll=new m.Subject,this.verticalScroll=new m.Subject,this.scrollCancel=new m.Subject}ct.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:ct,deps:[],target:n.ɵɵFactoryTarget.Injectable}),ct.ɵprov=n.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:ct}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:ct,decorators:[{type:g.Injectable}]});gt.prototype.ngOnDestroy=function(){this.subscriptions.unsubscribe()},gt.prototype.scrollHorizontallyTo=function(n){var i=this;this.zone.runOutsideAngular(function(){var e=i.timelineScrollableContainer.nativeElement,t=dt(e);n<t.left+i.scrollSettings.threshold?i.horizontalScrollInterval=setInterval(function(){return pt(e,i.scrollSettings.step,at.Backwards,st.Horizontal)},i.scrollSettings.interval):n>t.right-i.scrollSettings.threshold&&(i.horizontalScrollInterval=setInterval(function(){return pt(e,i.scrollSettings.step,at.Forward,st.Horizontal)},i.scrollSettings.interval))})},gt.prototype.scrollVerticallyTo=function(n){var i=this;this.zone.runOutsideAngular(function(){var e=i.timelineScrollableContainer.nativeElement,t=dt(e);n<t.top+i.scrollSettings.threshold?i.verticalScrollInterval=setInterval(function(){return pt(e,i.scrollSettings.step,at.Backwards,st.Vertical)},i.scrollSettings.interval):n>t.bottom-i.scrollSettings.threshold&&(i.verticalScrollInterval=setInterval(function(){return pt(e,i.scrollSettings.step,at.Forward,st.Vertical)},i.scrollSettings.interval))})},gt.prototype.cancelScroll=function(){v(this.verticalScrollInterval)&&(clearInterval(this.verticalScrollInterval),this.verticalScrollInterval=null),v(this.horizontalScrollInterval)&&(clearInterval(this.horizontalScrollInterval),this.horizontalScrollInterval=null)};var F=gt;function gt(e,t,n){this.timelineScrollableContainer=e,this.scrollService=t,this.zone=n,this.subscriptions=new m.Subscription,this.subscriptions.add(this.scrollService.horizontalScroll.subscribe(this.scrollHorizontallyTo.bind(this))),this.subscriptions.add(this.scrollService.verticalScroll.subscribe(this.scrollVerticallyTo.bind(this))),this.subscriptions.add(this.scrollService.scrollCancel.subscribe(this.cancelScroll.bind(this)))}F.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:F,deps:[{token:n.ElementRef},{token:ct},{token:n.NgZone}],target:n.ɵɵFactoryTarget.Directive}),F.ɵdir=n.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:F,selector:"[kendoGanttTimelineScrollable]",inputs:{scrollSettings:"scrollSettings"},ngImport:n}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:F,decorators:[{type:g.Directive,args:[{selector:"[kendoGanttTimelineScrollable]"}]}],ctorParameters:function(){return[{type:n.ElementRef},{type:ct},{type:n.NgZone}]},propDecorators:{scrollSettings:[{type:g.Input}]}});function mt(e,t){var n=(t=function(e,t){var n={top:0,left:0};if(t.contains(e))for(var i=e;i&&i!==t;)n.top+=i.offsetTop,n.left+=i.offsetLeft,i=i.offsetParent;return n}(e,t)).top,t=t.left;return{top:n+e.offsetHeight/2,left:t,right:t+e.offsetWidth}}function ht(e,t,n,i){return(n?yt:kt)(e,t,i)}function ft(e,t,n){var i=n.getBoundingClientRect();return{left:e-i.left+n.scrollLeft,top:t-i.top+n.scrollTop}}var yt=function(e,t,n){var i=[];return i.push({top:e-n/2,left:t}),i.push({top:e,left:t-n+1}),i.push({top:e+n/2,left:t}),i.push({top:e,left:t}),i},kt=function(e,t,n){var i=[];return i.push({top:e+n/2,left:t}),i.push({top:e,left:t+n-1}),i.push({top:e-n/2,left:t}),i.push({top:e,left:t}),i},vt=(Tt.prototype.ngOnDestroy=function(){this.subscriptions.unsubscribe()},Tt.prototype.ngOnChanges=function(e){v(e.dependency)&&this.updatePoints(this.dependencyDomService.dependencyDomArgs)},Tt.prototype.updatePoints=function(e){var t,n,i,o,r,a,s,l,p,d=e.timelineRow,c=e.contentContainer,e=e.tasks;v(d)&&v(c)&&v(e)&&0!==e.size&&e.has(this.mapper.extractFromDependency(this.dependency,"fromId"))&&e.has(this.mapper.extractFromDependency(this.dependency,"toId"))?(t=mt(e.get(this.mapper.extractFromDependency(this.dependency,"fromId")),c),e=mt(e.get(this.mapper.extractFromDependency(this.dependency,"toId")),c),c=k.isDocumentAvailable()?d.getBoundingClientRect().height:0,d=t,t=e,e=c,c=this.dependency.type,n=10,i=4,l=[],e=Math.floor(e/2),p=d.top<t.top,c===u.DependencyType.FF||c===u.DependencyType.SS?(a=c===u.DependencyType.SS?"left":"right",o=d.top,r=d[a],l.push({top:o,left:r}),r=Math["left"==a?"min":"max"](d[a],t[a]),l.push({top:o,left:r="left"==a?r-n:r+n}),o=t.top,l.push({top:o,left:r}),r="left"==a?t[a]-i:t[a]+i,l.push({top:o,left:r}),l.push.apply(l,re([],oe(ht(o,r,"left"!=a,i))))):(a=c===u.DependencyType.SF?"left":"right",s=c===u.DependencyType.SF?"right":"left",c=c===u.DependencyType.SF?d[a]-2*n<t[s]:d[a]+2*n>t[s],o=d.top,r=d[a],l.push({top:o,left:r}),l.push({top:o,left:r="left"==a?r-n:r+n}),c&&(l.push({top:o=p?o+e:o-e,left:r}),r="left"==a?t[s]+n:t[s]-n,l.push({top:o,left:r})),o=t.top,l.push({top:o,left:r}),r="left"==s?t[s]-i:t[s]+i,l.push({top:o,left:r}),l.push.apply(l,re([],oe(ht(o,r,"left"!=s,i))))),d=l,this.drawPoints(d)):this.clearPoints()},Tt.prototype.clearPoints=function(){this.renderer.setAttribute(this.polyline.nativeElement,"points","")},Tt.prototype.drawPoints=function(e){v(e)&&0!==e.length?(e=e.map(function(e){return e.left+","+e.top}).join(" "),this.renderer.setAttribute(this.polyline.nativeElement,"points",e)):this.clearPoints()},Tt);function Tt(e,t,n,i,o){var r=this;this.polyline=e,this.zone=t,this.renderer=n,this.mapper=i,this.dependencyDomService=o,this.subscriptions=new m.Subscription,this.subscriptions.add(o.taskChanges.pipe(a.switchMap(function(e){return r.zone.onStable.pipe(a.take(1),a.map(function(){return e}))})).subscribe(function(e){return r.updatePoints(e)}))}vt.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:vt,deps:[{token:n.ElementRef},{token:n.NgZone},{token:n.Renderer2},{token:b},{token:C}],target:n.ɵɵFactoryTarget.Directive}),vt.ɵdir=n.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:vt,selector:"[kendoGanttDependency]",inputs:{dependency:"dependency"},usesOnChanges:!0,ngImport:n}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:vt,decorators:[{type:g.Directive,args:[{selector:"[kendoGanttDependency]"}]}],ctorParameters:function(){return[{type:n.ElementRef},{type:n.NgZone},{type:n.Renderer2},{type:b},{type:C}]},propDecorators:{dependency:[{type:g.Input}]}});Object.defineProperty(Ct.prototype,"draggableEnabled",{get:function(){return this.renderDependencyDragClues},enumerable:!1,configurable:!0}),Ct.prototype.ngAfterViewInit=function(){var e=this.timelineHeaderWrap.nativeElement,t=this.timelineContent.nativeElement;this.scrollSyncService.registerElement(t,"timeline"),this.scrollSyncService.registerElement(e,"header"),this.dependencyDomService.registerContentContainer(this.tasksContainer.nativeElement)},Ct.prototype.ngOnDestroy=function(){this.subscriptions.unsubscribe()},Ct.prototype.isNonWorking=function(e){return e.hasOwnProperty("isWorking")&&!e.isWorking};var bt=Ct;function Ct(e,t,n,i){var o=this;this.scrollSyncService=e,this.dependencyDomService=t,this.renderer=n,this.zone=i,this.hostClass=!0,this.dependencies=[],this.timelineContainerPress=new g.EventEmitter,this.timelineContainerDrag=new g.EventEmitter,this.timelineContainerRelease=new g.EventEmitter,this.subscriptions=new m.Subscription,this.subscriptions.add(this.dependencyDomService.taskChanges.pipe(a.filter(function(e){return v(e.timelineRow)}),a.switchMap(function(e){return o.zone.onStable.pipe(a.take(1),a.map(function(){return e}))})).subscribe(function(e){e=e.timelineRow,e=k.isDocumentAvailable()?e.getBoundingClientRect().height:0;o.renderer.setStyle(o.timelineColumns.nativeElement,"height",(o.rows||[]).length*e+"px")}))}bt.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:bt,deps:[{token:T},{token:C},{token:n.Renderer2},{token:n.NgZone}],target:n.ɵɵFactoryTarget.Component}),bt.ɵcmp=n.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:bt,selector:"kendo-gantt-timeline",inputs:{rows:"rows",slots:"slots",groupSlots:"groupSlots",tableWidth:"tableWidth",activeView:"activeView",taskContentTemplate:"taskContentTemplate",taskTemplate:"taskTemplate",summaryTaskTemplate:"summaryTaskTemplate",taskClass:"taskClass",renderDependencyDragClues:"renderDependencyDragClues",dragScrollSettings:"dragScrollSettings",selectable:"selectable",isTaskSelected:"isTaskSelected",isExpanded:"isExpanded",dependencies:"dependencies"},outputs:{timelineContainerPress:"timelineContainerPress",timelineContainerDrag:"timelineContainerDrag",timelineContainerRelease:"timelineContainerRelease"},host:{properties:{"class.k-gantt-timeline":"this.hostClass"}},viewQueries:[{propertyName:"timelineContent",first:!0,predicate:["timelineContent"],descendants:!0,static:!0},{propertyName:"timelineColumns",first:!0,predicate:["timelineColumns"],descendants:!0,static:!0},{propertyName:"timelineHeaderWrap",first:!0,predicate:["timelineHeaderWrap"],descendants:!0,static:!0},{propertyName:"tasksContainer",first:!0,predicate:["tasksContainer"],descendants:!0,static:!0},{propertyName:"dragPopupContainer",first:!0,predicate:["dragPopupContainer"],descendants:!0,read:g.ViewContainerRef},{propertyName:"dependencyDragCreatePolyline",first:!0,predicate:["dependencyDragCreatePolyline"],descendants:!0}],ngImport:n,template:'\n <div class="k-timeline k-grid k-widget">\n <div class="k-grid-header">\n <div #timelineHeaderWrap class="k-grid-header-wrap">\n <table\n role="presentation"\n [style.width.px]="tableWidth"\n >\n <tbody\n kendoGanttHeaderTableBody\n [groupSlots]="groupSlots"\n [slots]="slots">\n </tbody>\n </table>\n </div>\n </div>\n \x3c!-- tabindex="-1" required for https://bugzilla.mozilla.org/show_bug.cgi?id=1069739 --\x3e\n <div\n #timelineContent\n class="k-grid-content"\n tabindex="-1"\n role="tree"\n aria-roledescription="Timeline"\n kendoGanttTimelineScrollable\n [scrollSettings]="dragScrollSettings"\n kendoDraggable\n [enableDrag]="draggableEnabled"\n (kendoPress)="timelineContainerPress.emit($event)"\n (kendoDrag)="timelineContainerDrag.emit($event)"\n (kendoRelease)="timelineContainerRelease.emit($event)"\n >\n <div class="k-gantt-tables">\n <table\n class="k-gantt-rows"\n [style.width.px]="tableWidth"\n role="presentation"\n >\n <tbody>\n <tr *ngFor="let item of rows; let i = index;"\n [class.k-alt]="i % 2"\n >\n <td></td>\n </tr>\n </tbody>\n </table>\n\n <table\n #timelineColumns\n class="k-gantt-columns"\n role="presentation"\n [style.width.px]="tableWidth"\n >\n <colgroup>\n <col *ngFor="let item of slots">\n </colgroup>\n\n <tbody>\n <tr>\n <td *ngFor="let item of slots"\n [class.k-nonwork-hour]="isNonWorking(item)"\n >\n </td>\n </tr>\n </tbody>\n </table>\n\n <table\n #tasksContainer\n class="k-gantt-tasks"\n role="presentation"\n style="border-collapse: collapse;"\n [style.width.px]="tableWidth"\n >\n <tbody\n kendoGanttTasksTableBody\n [rows]="rows"\n [activeView]="activeView"\n [taskContentTemplate]="taskContentTemplate"\n [taskTemplate]="taskTemplate"\n [summaryTaskTemplate]="summaryTaskTemplate"\n [taskClass]="taskClass"\n [isExpanded]="isExpanded"\n [selectable]="selectable"\n [isTaskSelected]="isTaskSelected"\n [renderDependencyDragClues]="renderDependencyDragClues"\n >\n </tbody>\n </table>\n </div>\n <svg class="k-gantt-dependencies-svg">\n <polyline\n *ngFor="let dependency of dependencies"\n kendoGanttDependency\n [dependency]="dependency"\n />\n <polyline #dependencyDragCreatePolyline />\n </svg>\n\n \x3c!-- placeholder for the dependency drag popup; its position is not arbitrary - the popup is intended to be absolutely positioned inside the .k-grid-content element --\x3e\n <ng-container #dragPopupContainer></ng-container>\n </div>\n </div>\n ',isInline:!0,components:[{type:I,selector:"[kendoGanttHeaderTableBody]",inputs:["groupSlots","slots"]},{type:O,selector:"[kendoGanttTasksTableBody]",inputs:["selectable","rows","activeView","taskContentTemplate","taskTemplate","summaryTaskTemplate","taskClass","isExpanded","isTaskSelected","renderDependencyDragClues"]}],directives:[{type:F,selector:"[kendoGanttTimelineScrollable]",inputs:["scrollSettings"]},{type:i.DraggableDirective,selector:"[kendoDraggable]",inputs:["enableDrag"],outputs:["kendoPress","kendoDrag","kendoRelease"]},{type:r.NgForOf,selector:"[ngFor][ngForOf]",inputs:["ngForOf","ngForTrackBy","ngForTemplate"]},{type:vt,selector:"[kendoGanttDependency]",inputs:["dependency"]}]}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:bt,decorators:[{type:g.Component,args:[{selector:"kendo-gantt-timeline",template:'\n <div class="k-timeline k-grid k-widget">\n <div class="k-grid-header">\n <div #timelineHeaderWrap class="k-grid-header-wrap">\n <table\n role="presentation"\n [style.width.px]="tableWidth"\n >\n <tbody\n kendoGanttHeaderTableBody\n [groupSlots]="groupSlots"\n [slots]="slots">\n </tbody>\n </table>\n </div>\n </div>\n \x3c!-- tabindex="-1" required for https://bugzilla.mozilla.org/show_bug.cgi?id=1069739 --\x3e\n <div\n #timelineContent\n class="k-grid-content"\n tabindex="-1"\n role="tree"\n aria-roledescription="Timeline"\n kendoGanttTimelineScrollable\n [scrollSettings]="dragScrollSettings"\n kendoDraggable\n [enableDrag]="draggableEnabled"\n (kendoPress)="timelineContainerPress.emit($event)"\n (kendoDrag)="timelineContainerDrag.emit($event)"\n (kendoRelease)="timelineContainerRelease.emit($event)"\n >\n <div class="k-gantt-tables">\n <table\n class="k-gantt-rows"\n [style.width.px]="tableWidth"\n role="presentation"\n >\n <tbody>\n <tr *ngFor="let item of rows; let i = index;"\n [class.k-alt]="i % 2"\n >\n <td></td>\n </tr>\n </tbody>\n </table>\n\n <table\n #timelineColumns\n class="k-gantt-columns"\n role="presentation"\n [style.width.px]="tableWidth"\n >\n <colgroup>\n <col *ngFor="let item of slots">\n </colgroup>\n\n <tbody>\n <tr>\n <td *ngFor="let item of slots"\n [class.k-nonwork-hour]="isNonWorking(item)"\n >\n </td>\n </tr>\n </tbody>\n </table>\n\n <table\n #tasksContainer\n class="k-gantt-tasks"\n role="presentation"\n style="border-collapse: collapse;"\n [style.width.px]="tableWidth"\n >\n <tbody\n kendoGanttTasksTableBody\n [rows]="rows"\n [activeView]="activeView"\n [taskContentTemplate]="taskContentTemplate"\n [taskTemplate]="taskTemplate"\n [summaryTaskTemplate]="summaryTaskTemplate"\n [taskClass]="taskClass"\n [isExpanded]="isExpanded"\n [selectable]="selectable"\n [isTaskSelected]="isTaskSelected"\n [renderDependencyDragClues]="renderDependencyDragClues"\n >\n </tbody>\n </table>\n </div>\n <svg class="k-gantt-dependencies-svg">\n <polyline\n *ngFor="let dependency of dependencies"\n kendoGanttDependency\n [dependency]="dependency"\n />\n <polyline #dependencyDragCreatePolyline />\n </svg>\n\n \x3c!-- placeholder for the dependency drag popup; its position is not arbitrary - the popup is intended to be absolutely positioned inside the .k-grid-content element --\x3e\n <ng-container #dragPopupContainer></ng-container>\n </div>\n </div>\n '}]}],ctorParameters:function(){return[{type:T},{type:C},{type:n.Renderer2},{type:n.NgZone}]},propDecorators:{timelineContent:[{type:g.ViewChild,args:["timelineContent",{static:!0}]}],timelineColumns:[{type:g.ViewChild,args:["timelineColumns",{static:!0}]}],timelineHeaderWrap:[{type:g.ViewChild,args:["timelineHeaderWrap",{static:!0}]}],tasksContainer:[{type:g.ViewChild,args:["tasksContainer",{static:!0}]}],dragPopupContainer:[{type:g.ViewChild,args:["dragPopupContainer",{static:!1,read:g.ViewContainerRef}]}],dependencyDragCreatePolyline:[{type:g.ViewChild,args:["dependencyDragCreatePolyline",{static:!1}]}],hostClass:[{type:g.HostBinding,args:["class.k-gantt-timeline"]}],rows:[{type:g.Input}],slots:[{type:g.Input}],groupSlots:[{type:g.Input}],tableWidth:[{type:g.Input}],activeView:[{type:g.Input}],taskContentTemplate:[{type:g.Input}],taskTemplate:[{type:g.Input}],summaryTaskTemplate:[{type:g.Input}],taskClass:[{type:g.Input}],renderDependencyDragClues:[{type:g.Input}],dragScrollSettings:[{type:g.Input}],selectable:[{type:g.Input}],isTaskSelected:[{type:g.Input}],isExpanded:[{type:g.Input}],dependencies:[{type:g.Input}],timelineContainerPress:[{type:g.Output}],timelineContainerDrag:[{type:g.Output}],timelineContainerRelease:[{type:g.Output}]}});y(Dt,It=e.ColumnBase),Object.defineProperty(Dt.prototype,"locked",{get:function(){return It.prototype.locked},set:function(e){It.prototype.locked=e},enumerable:!1,configurable:!0});var It,V=Dt;function Dt(){return null!==It&&It.apply(this,arguments)||this}V.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:V,deps:null,target:n.ɵɵFactoryTarget.Component}),V.ɵcmp=n.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:V,selector:"kendo-gantt-column-base",inputs:{locked:"locked",lockable:"lockable",hidden:"hidden",media:"media",style:"style",headerStyle:"headerStyle",footerStyle:"footerStyle",cssClass:["class","cssClass"],headerClass:"headerClass",footerClass:"footerClass"},usesInheritance:!0,ngImport:n,template:"",isInline:!0}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:V,decorators:[{type:g.Component,args:[{template:"",selector:"kendo-gantt-column-base"}]}],propDecorators:{locked:[{type:g.Input}],lockable:[{type:g.Input}],hidden:[{type:g.Input}],media:[{type:g.Input}],style:[{type:g.Input}],headerStyle:[{type:g.Input}],footerStyle:[{type:g.Input}],cssClass:[{type:g.Input,args:["class"]}],headerClass:[{type:g.Input}],footerClass:[{type:g.Input}]}});var wt,xt=function(e){this.templateRef=e},St=(xt.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:xt,deps:[{token:n.TemplateRef,optional:!0}],target:n.ɵɵFactoryTarget.Directive}),xt.ɵdir=n.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:xt,selector:"[kendoGanttCellTemplate]",ngImport:n}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:xt,decorators:[{type:g.Directive,args:[{selector:"[kendoGanttCellTemplate]"}]}],ctorParameters:function(){return[{type:n.TemplateRef,decorators:[{type:g.Optional}]}]}}),function(e){this.templateRef=e}),Ot=(St.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:St,deps:[{token:n.TemplateRef,optional:!0}],target:n.ɵɵFactoryTarget.Directive}),St.ɵdir=n.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:St,selector:"[kendoGanttColumnMenuTemplate]",ngImport:n}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:St,decorators:[{type:g.Directive,args:[{selector:"[kendoGanttColumnMenuTemplate]"}]}],ctorParameters:function(){return[{type:n.TemplateRef,decorators:[{type:g.Optional}]}]}}),function(e){this.templateRef=e}),Et=(Ot.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Ot,deps:[{token:n.TemplateRef,optional:!0}],target:n.ɵɵFactoryTarget.Directive}),Ot.ɵdir=n.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:Ot,selector:"[kendoGanttFilterCellTemplate]",ngImport:n}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Ot,decorators:[{type:g.Directive,args:[{selector:"[kendoGanttFilterCellTemplate]"}]}],ctorParameters:function(){return[{type:n.TemplateRef,decorators:[{type:g.Optional}]}]}}),function(e){this.templateRef=e}),Ft=(Et.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Et,deps:[{token:n.TemplateRef,optional:!0}],target:n.ɵɵFactoryTarget.Directive}),Et.ɵdir=n.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:Et,selector:"[kendoGanttFilterMenuTemplate]",ngImport:n}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Et,decorators:[{type:g.Directive,args:[{selector:"[kendoGanttFilterMenuTemplate]"}]}],ctorParameters:function(){return[{type:n.TemplateRef,decorators:[{type:g.Optional}]}]}}),function(e){this.templateRef=e}),Vt=(Ft.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Ft,deps:[{token:n.TemplateRef,optional:!0}],target:n.ɵɵFactoryTarget.Directive}),Ft.ɵdir=n.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:Ft,selector:"[kendoGanttFooterTemplate]",ngImport:n}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Ft,decorators:[{type:g.Directive,args:[{selector:"[kendoGanttFooterTemplate]"}]}],ctorParameters:function(){return[{type:n.TemplateRef,decorators:[{type:g.Optional}]}]}}),function(e){this.templateRef=e}),Lt=(Vt.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Vt,deps:[{token:n.TemplateRef,optional:!0}],target:n.ɵɵFactoryTarget.Directive}),Vt.ɵdir=n.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:Vt,selector:"[kendoGanttHeaderTemplate]",ngImport:n}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Vt,decorators:[{type:g.Directive,args:[{selector:"[kendoGanttHeaderTemplate]"}]}],ctorParameters:function(){return[{type:n.TemplateRef,decorators:[{type:g.Optional}]}]}}),function(e){this.templateRef=e}),At=(Lt.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Lt,deps:[{token:n.TemplateRef,optional:!0}],target:n.ɵɵFactoryTarget.Directive}),Lt.ɵdir=n.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:Lt,selector:"[kendoGanttEditTemplate]",ngImport:n}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Lt,decorators:[{type:g.Directive,args:[{selector:"[kendoGanttEditTemplate]"}]}],ctorParameters:function(){return[{type:n.TemplateRef,decorators:[{type:g.Optional}]}]}}),y(Pt,wt=e.ColumnComponent),Object.defineProperty(Pt.prototype,"locked",{get:function(){return wt.prototype.locked},set:function(e){wt.prototype.locked=e},enumerable:!1,configurable:!0}),Pt.prototype.ngOnChanges=function(){this.options.notifyColumnChanges()},Pt);function Pt(e,t){t=wt.call(this,t)||this;return t.options=e,t.headerTemplates=new g.QueryList,t.columnMenuTemplates=new g.QueryList,t.filter="text",t.filterable=!0,t.editor="text",t.editable=!0,t}At.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:At,deps:[{token:w},{token:V,host:!0,optional:!0,skipSelf:!0}],target:n.ɵɵFactoryTarget.Component}),At.ɵcmp=n.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:At,selector:"kendo-gantt-column",inputs:{format:"format",filter:"filter",filterable:"filterable",editor:"editor",editable:"editable",locked:"locked",lockable:"lockable",hidden:"hidden",media:"media",style:"style",headerStyle:"headerStyle",footerStyle:"footerStyle",cssClass:["class","cssClass"],headerClass:"headerClass",footerClass:"footerClass"},providers:[{provide:V,useExisting:g.forwardRef(function(){return At})}],queries:[{propertyName:"footerTemplate",first:!0,predicate:Ft,descendants:!0},{propertyName:"template",first:!0,predicate:xt,descendants:!0},{propertyName:"editTemplate",first:!0,predicate:Lt,descendants:!0},{propertyName:"filterCellTemplate",first:!0,predicate:Ot,descendants:!0},{propertyName:"filterMenuTemplate",first:!0,predicate:Et,descendants:!0},{propertyName:"headerTemplates",predicate:Vt},{propertyName:"columnMenuTemplates",predicate:St}],usesInheritance:!0,usesOnChanges:!0,ngImport:n,template:"",isInline:!0}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:At,decorators:[{type:g.Component,args:[{selector:"kendo-gantt-column",template:"",providers:[{provide:V,useExisting:g.forwardRef(function(){return At})}]}]}],ctorParameters:function(){return[{type:w},{type:V,decorators:[{type:g.SkipSelf},{type:g.Host},{type:g.Optional}]}]},propDecorators:{headerTemplates:[{type:g.ContentChildren,args:[Vt,{descendants:!1}]}],footerTemplate:[{type:g.ContentChild,args:[Ft,{static:!1}]}],columnMenuTemplates:[{type:g.ContentChildren,args:[St]}],template:[{type:g.ContentChild,args:[xt,{static:!1}]}],editTemplate:[{type:g.ContentChild,args:[Lt,{static:!1}]}],filterCellTemplate:[{type:g.ContentChild,args:[Ot,{static:!1}]}],filterMenuTemplate:[{type:g.ContentChild,args:[Et,{static:!1}]}],format:[{type:g.Input}],filter:[{type:g.Input}],filterable:[{type:g.Input}],editor:[{type:g.Input}],editable:[{type:g.Input}],locked:[{type:g.Input}],lockable:[{type:g.Input}],hidden:[{type:g.Input}],media:[{type:g.Input}],style:[{type:g.Input}],headerStyle:[{type:g.Input}],footerStyle:[{type:g.Input}],cssClass:[{type:g.Input,args:["class"]}],headerClass:[{type:g.Input}],footerClass:[{type:g.Input}]}});y(Mt,Rt=e.ColumnGroupComponent),Object.defineProperty(Mt.prototype,"locked",{get:function(){return Rt.prototype.locked},set:function(e){Rt.prototype.locked=e},enumerable:!1,configurable:!0}),Mt.prototype.ngOnChanges=function(){this.options.notifyColumnChanges()};var Rt,Bt=Mt;function Mt(e,t){var n=Rt.call(this,t)||this;if(n.options=e,n.children=new g.QueryList,n.sortable=!0,t&&t.isSpanColumn)throw new Error("ColumnGroupComponent cannot be nested inside SpanColumnComponent");return n}Bt.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Bt,deps:[{token:w},{token:V,host:!0,optional:!0,skipSelf:!0}],target:n.ɵɵFactoryTarget.Component}),Bt.ɵcmp=n.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:Bt,selector:"kendo-gantt-column-group",inputs:{locked:"locked",lockable:"lockable",hidden:"hidden",sortable:"sortable",media:"media",style:"style",headerStyle:"headerStyle",footerStyle:"footerStyle",cssClass:["class","cssClass"],headerClass:"headerClass",footerClass:"footerClass"},providers:[{provide:V,useExisting:g.forwardRef(function(){return Bt})}],queries:[{propertyName:"children",predicate:V},{propertyName:"headerTemplates",predicate:Vt}],usesInheritance:!0,usesOnChanges:!0,ngImport:n,template:"",isInline:!0}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Bt,decorators:[{type:g.Component,args:[{selector:"kendo-gantt-column-group",template:"",providers:[{provide:V,useExisting:g.forwardRef(function(){return Bt})}]}]}],ctorParameters:function(){return[{type:w},{type:V,decorators:[{type:g.SkipSelf},{type:g.Host},{type:g.Optional}]}]},propDecorators:{children:[{type:g.ContentChildren,args:[V]}],headerTemplates:[{type:g.ContentChildren,args:[Vt]}],locked:[{type:g.Input}],lockable:[{type:g.Input}],hidden:[{type:g.Input}],sortable:[{type:g.Input}],media:[{type:g.Input}],style:[{type:g.Input}],headerStyle:[{type:g.Input}],footerStyle:[{type:g.Input}],cssClass:[{type:g.Input,args:["class"]}],headerClass:[{type:g.Input}],footerClass:[{type:g.Input}]}});y(jt,Gt=e.SpanColumnComponent),Object.defineProperty(jt.prototype,"locked",{get:function(){return Gt.prototype.locked},set:function(e){Gt.prototype.locked=e},enumerable:!1,configurable:!0}),Object.defineProperty(jt.prototype,"editable",{get:function(){return Gt.prototype.editable},set:function(e){Gt.prototype.editable=e},enumerable:!1,configurable:!0}),jt.prototype.ngOnChanges=function(){this.options.notifyColumnChanges()};var Gt,Nt=jt;function jt(e,t){t=Gt.call(this,t)||this;return t.options=e,t.childColumns=new g.QueryList,t.template=new g.QueryList,t.editTemplate=new g.QueryList,t}Nt.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Nt,deps:[{token:w},{token:V,host:!0,optional:!0,skipSelf:!0}],target:n.ɵɵFactoryTarget.Component}),Nt.ɵcmp=n.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:Nt,selector:"kendo-gantt-span-column",inputs:{locked:"locked",lockable:"lockable",editable:"editable",hidden:"hidden",media:"media",style:"style",headerStyle:"headerStyle",footerStyle:"footerStyle",cssClass:["class","cssClass"],headerClass:"headerClass",footerClass:"footerClass"},providers:[{provide:V,useExisting:g.forwardRef(function(){return Nt})}],queries:[{propertyName:"childColumns",predicate:At},{propertyName:"template",predicate:xt},{propertyName:"editTemplate",predicate:Lt}],usesInheritance:!0,usesOnChanges:!0,ngImport:n,template:"",isInline:!0}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Nt,decorators:[{type:g.Component,args:[{selector:"kendo-gantt-span-column",template:"",providers:[{provide:V,useExisting:g.forwardRef(function(){return Nt})}]}]}],ctorParameters:function(){return[{type:w},{type:V,decorators:[{type:g.SkipSelf},{type:g.Host},{type:g.Optional}]}]},propDecorators:{childColumns:[{type:g.ContentChildren,args:[At]}],template:[{type:g.ContentChildren,args:[xt,{descendants:!1}]}],editTemplate:[{type:g.ContentChildren,args:[Lt,{descendants:!1}]}],locked:[{type:g.Input}],lockable:[{type:g.Input}],editable:[{type:g.Input}],hidden:[{type:g.Input}],media:[{type:g.Input}],style:[{type:g.Input}],headerStyle:[{type:g.Input}],footerStyle:[{type:g.Input}],cssClass:[{type:g.Input,args:["class"]}],headerClass:[{type:g.Input}],footerClass:[{type:g.Input}]}});function zt(){return!1}function Wt(){return m.of([])}function qt(){return null}function Ht(){return null}function _t(){return!1}y(Zt,Kt=k.PreventableEvent);var Kt,$t=Zt;function Zt(e){var t=Kt.call(this)||this;return Object.assign(t,e),t}Yt.prototype.get=function(e){return this.localizationService.get(e)};var Ut=Yt;function Yt(e){this.localizationService=e}Ut.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Ut,deps:[{token:s.LocalizationService}],target:n.ɵɵFactoryTarget.Injectable}),Ut.ɵprov=n.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Ut}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Ut,decorators:[{type:g.Injectable}],ctorParameters:function(){return[{type:s.LocalizationService}]}});var Qt=Object.freeze({collapsible:!0,collapsed:!1}),Xt=Object.freeze({collapsible:!0,collapsed:!1,size:"50%",resizable:!0}),Jt=function(e){this.templateRef=e},en=(Jt.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Jt,deps:[{token:n.TemplateRef,optional:!0}],target:n.ɵɵFactoryTarget.Directive}),Jt.ɵdir=n.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:Jt,selector:"[kendoGanttTaskTemplate]",ngImport:n}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Jt,decorators:[{type:g.Directive,args:[{selector:"[kendoGanttTaskTemplate]"}]}],ctorParameters:function(){return[{type:n.TemplateRef,decorators:[{type:g.Optional}]}]}}),function(e){this.templateRef=e}),tn=(en.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:en,deps:[{token:n.TemplateRef,optional:!0}],target:n.ɵɵFactoryTarget.Directive}),en.ɵdir=n.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:en,selector:"[kendoGanttSummaryTaskTemplate]",ngImport:n}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:en,decorators:[{type:g.Directive,args:[{selector:"[kendoGanttSummaryTaskTemplate]"}]}],ctorParameters:function(){return[{type:n.TemplateRef,decorators:[{type:g.Optional}]}]}}),function(e){this.templateRef=e}),nn=(tn.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:tn,deps:[{token:n.TemplateRef,optional:!0}],target:n.ɵɵFactoryTarget.Directive}),tn.ɵdir=n.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:tn,selector:"[kendoGanttTaskContentTemplate]",ngImport:n}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:tn,decorators:[{type:g.Directive,args:[{selector:"[kendoGanttTaskContentTemplate]"}]}],ctorParameters:function(){return[{type:n.TemplateRef,decorators:[{type:g.Optional}]}]}}),Object.defineProperty(on.prototype,"position",{get:function(){return this._position},set:function(e){this._position=e},enumerable:!1,configurable:!0}),on);function on(e){this.templateRef=e,this._position="top"}nn.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:nn,deps:[{token:n.TemplateRef,optional:!0}],target:n.ɵɵFactoryTarget.Directive}),nn.ɵdir=n.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:nn,selector:"[kendoGanttToolbarTemplate]",inputs:{position:"position"},ngImport:n}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:nn,decorators:[{type:g.Directive,args:[{selector:"[kendoGanttToolbarTemplate]"}]}],ctorParameters:function(){return[{type:n.TemplateRef,decorators:[{type:g.Optional}]}]},propDecorators:{position:[{type:g.Input,args:["position"]}]}});rn.prototype.ngOnChanges=function(e){k.anyChanged(["slotWidth"],e)&&(this.optionChangesService.notifyColumnChanges(),this.dependencyDomService.notifyChanges())};var L=rn;function rn(e,t){this.optionChangesService=e,this.dependencyDomService=t,this.slotWidth=100}L.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:L,deps:[{token:w},{token:C}],target:n.ɵɵFactoryTarget.Directive}),L.ɵdir=n.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:L,selector:"kendo-gantt-view-base",inputs:{slotWidth:"slotWidth"},usesOnChanges:!0,ngImport:n}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:L,decorators:[{type:g.Directive,args:[{selector:"kendo-gantt-view-base"}]}],ctorParameters:function(){return[{type:w},{type:C}]},propDecorators:{slotWidth:[{type:g.Input}]}});function an(t,e,n){return e=e.find(function(e){return n.extractFromTask(e.data,"id")===n.extractFromTask(t,"id")}),sn(e)}var sn=function(e){return{dataItem:e.data,parent:e.parent.data?sn(e.parent):null}},ln=(pn.prototype.getText=function(e){return this.localizationService.get(e)},pn.prototype.handleOpen=function(e){this.editService.getSelectedItem()||e.preventDefault()},pn.prototype.handleMouseClick=function(){var e=this;this.editService.getSelectedItem()||this.ngZone.run(function(){e.editService.addEvent.next({selectedItem:null,actionType:"addTask"})})},pn.prototype.handleItemClick=function(e){this.editService.addEvent.next({actionType:e.type,selectedItem:null})},pn);function pn(e,t,n){this.localizationService=e,this.editService=t,this.ngZone=n,this.data=[{text:this.getText("addChildText"),type:"addChild"},{text:this.getText("addAboveText"),type:"addAbove"},{text:this.getText("addBelowText"),type:"addBelow"}],this.icon="plus"}ln.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:ln,deps:[{token:s.LocalizationService},{token:E},{token:n.NgZone}],target:n.ɵɵFactoryTarget.Component}),ln.ɵcmp=n.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:ln,selector:"kendo-gantt-add-task",inputs:{data:"data",icon:"icon"},ngImport:n,template:'\n <kendo-dropdownbutton\n [data]="data"\n [icon]="icon"\n [kendoEventsOutsideAngular]="{ click: handleMouseClick }"\n [scope]="this"\n (itemClick)="handleItemClick($event)"\n (open)="handleOpen($event)">\n {{ getText(\'addTaskText\') }}\n </kendo-dropdownbutton>\n ',isInline:!0,components:[{type:j.DropDownButtonComponent,selector:"kendo-dropdownbutton",inputs:["icon","iconClass","imageUrl","textField","data","size","rounded","fillMode","themeColor"],outputs:["itemClick","focus","blur"],exportAs:["kendoDropDownButton"]}],directives:[{type:i.EventsOutsideAngularDirective,selector:"[kendoEventsOutsideAngular]",inputs:["kendoEventsOutsideAngular","scope"]}]}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:ln,decorators:[{type:g.Component,args:[{selector:"kendo-gantt-add-task",template:'\n <kendo-dropdownbutton\n [data]="data"\n [icon]="icon"\n [kendoEventsOutsideAngular]="{ click: handleMouseClick }"\n [scope]="this"\n (itemClick)="handleItemClick($event)"\n (open)="handleOpen($event)">\n {{ getText(\'addTaskText\') }}\n </kendo-dropdownbutton>\n '}]}],ctorParameters:function(){return[{type:s.LocalizationService},{type:E},{type:n.NgZone}]},propDecorators:{data:[{type:g.Input}],icon:[{type:g.Input}]}});cn.prototype.onClick=function(e){e!==this.activeView&&this.activeViewChange.emit(e)},cn.prototype.getViewTypeText=function(e){return this.localizationService.get(e+"ViewText")},cn.prototype.onActiveViewChange=function(e){this.activeViewChange.emit(e.target.value)};var dn=cn;function cn(e){this.localizationService=e,this.hostClass=!0,this.activeView="week",this.activeViewChange=new g.EventEmitter}dn.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:dn,deps:[{token:s.LocalizationService}],target:n.ɵɵFactoryTarget.Component}),dn.ɵcmp=n.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:dn,selector:"kendo-gantt-view-selector",inputs:{views:"views",activeView:"activeView"},outputs:{activeViewChange:"activeViewChange"},host:{properties:{"class.k-gantt-views-wrapper":"this.hostClass"}},ngImport:n,template:'\n <select\n class="k-dropdownlist k-picker k-rounded-md k-views-dropdown"\n aria-label="View Selector"\n [value]="activeView"\n (change)="onActiveViewChange($event)">\n <option *ngFor="let view of views" [value]="view">{{getViewTypeText(view)}}</option>\n </select>\n <kendo-buttongroup class="k-gantt-views" selection="single">\n <button *ngFor="let view of views"\n kendoButton\n type="button"\n [selected]="view === activeView"\n (click)="onClick(view)">{{getViewTypeText(view)}}</button>\n </kendo-buttongroup>\n ',isInline:!0,components:[{type:j.ButtonGroupComponent,selector:"kendo-buttongroup",inputs:["disabled","selection","width","tabIndex","navigable"],outputs:["navigate"],exportAs:["kendoButtonGroup"]}],directives:[{type:r.NgForOf,selector:"[ngFor][ngForOf]",inputs:["ngForOf","ngForTrackBy","ngForTemplate"]},{type:l.NgSelectOption,selector:"option",inputs:["ngValue","value"]},{type:l.ɵNgSelectMultipleOption,selector:"option",inputs:["ngValue","value"]},{type:j.ButtonDirective,selector:"button[kendoButton], span[kendoButton]",inputs:["toggleable","togglable","selected","tabIndex","icon","iconClass","imageUrl","disabled","size","rounded","fillMode","themeColor","role","primary","look"],outputs:["selectedChange","click"],exportAs:["kendoButton"]}]}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:dn,decorators:[{type:g.Component,args:[{selector:"kendo-gantt-view-selector",template:'\n <select\n class="k-dropdownlist k-picker k-rounded-md k-views-dropdown"\n aria-label="View Selector"\n [value]="activeView"\n (change)="onActiveViewChange($event)">\n <option *ngFor="let view of views" [value]="view">{{getViewTypeText(view)}}</option>\n </select>\n <kendo-buttongroup class="k-gantt-views" selection="single">\n <button *ngFor="let view of views"\n kendoButton\n type="button"\n [selected]="view === activeView"\n (click)="onClick(view)">{{getViewTypeText(view)}}</button>\n </kendo-buttongroup>\n '}]}],ctorParameters:function(){return[{type:s.LocalizationService}]},propDecorators:{hostClass:[{type:g.HostBinding,args:["class.k-gantt-views-wrapper"]}],views:[{type:g.Input}],activeView:[{type:g.Input}],activeViewChange:[{type:g.Output}]}});Object.defineProperty(gn.prototype,"position",{get:function(){return this._position},set:function(e){this.context.position=this._position=e},enumerable:!1,configurable:!0}),Object.defineProperty(gn.prototype,"toolbarTemplateRef",{get:function(){return this.toolbarTemplate?this.toolbarTemplate.templateRef:void 0},enumerable:!1,configurable:!0}),Object.defineProperty(gn.prototype,"renderTemplate",{get:function(){var e=this.toolbarTemplate,t=e?e.position:null;return e&&("both"===t||t===this.position)},enumerable:!1,configurable:!0}),gn.prototype.handleViewChange=function(e){this.activeViewChange.emit(e)};var un=gn;function gn(){this.context={},this.role="toolbar",this.activeViewChange=new g.EventEmitter}un.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:un,deps:[],target:n.ɵɵFactoryTarget.Component}),un.ɵcmp=n.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:un,selector:"kendo-gantt-toolbar",inputs:{showAddTask:"showAddTask",showViewSelector:"showViewSelector",views:"views",activeView:"activeView",toolbarTemplate:"toolbarTemplate",position:"position"},outputs:{activeViewChange:"activeViewChange"},host:{properties:{"attr.role":"this.role"}},ngImport:n,template:'\n <ng-container *ngIf="!renderTemplate">\n <kendo-gantt-add-task *ngIf="showAddTask"></kendo-gantt-add-task>\n <span class="k-spacer k-toolbar-spacer"></span>\n <kendo-gantt-view-selector\n *ngIf="showViewSelector"\n [views]="views"\n [activeView]="activeView"\n (activeViewChange)="handleViewChange($event)"></kendo-gantt-view-selector>\n </ng-container>\n <ng-template\n *ngIf="renderTemplate"\n [ngTemplateOutlet]="toolbarTemplateRef"\n [ngTemplateOutletContext]="context"\n >\n </ng-template>\n ',isInline:!0,components:[{type:ln,selector:"kendo-gantt-add-task",inputs:["data","icon"]},{type:dn,selector:"kendo-gantt-view-selector",inputs:["views","activeView"],outputs:["activeViewChange"]}],directives:[{type:r.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]},{type:r.NgTemplateOutlet,selector:"[ngTemplateOutlet]",inputs:["ngTemplateOutletContext","ngTemplateOutlet"]}]}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:un,decorators:[{type:g.Component,args:[{selector:"kendo-gantt-toolbar",template:'\n <ng-container *ngIf="!renderTemplate">\n <kendo-gantt-add-task *ngIf="showAddTask"></kendo-gantt-add-task>\n <span class="k-spacer k-toolbar-spacer"></span>\n <kendo-gantt-view-selector\n *ngIf="showViewSelector"\n [views]="views"\n [activeView]="activeView"\n (activeViewChange)="handleViewChange($event)"></kendo-gantt-view-selector>\n </ng-container>\n <ng-template\n *ngIf="renderTemplate"\n [ngTemplateOutlet]="toolbarTemplateRef"\n [ngTemplateOutletContext]="context"\n >\n </ng-template>\n '}]}],propDecorators:{role:[{type:g.HostBinding,args:["attr.role"]}],activeViewChange:[{type:g.Output}],showAddTask:[{type:g.Input}],showViewSelector:[{type:g.Input}],views:[{type:g.Input}],activeView:[{type:g.Input}],toolbarTemplate:[{type:g.Input}],position:[{type:g.Input}]}});Object.defineProperty(hn.prototype,"formGroup",{get:function(){return this.editService.taskFormGroup},enumerable:!1,configurable:!0}),hn.prototype.getText=function(e){return this.localizationService.get(e)};var mn=hn;function hn(e,t,n){this.mapper=e,this.editService=t,this.localizationService=n}mn.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:mn,deps:[{token:b},{token:E},{token:Ut}],target:n.ɵɵFactoryTarget.Component}),mn.ɵcmp=n.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:mn,selector:"kendo-gantt-task-fields",ngImport:n,template:'\n <form class="k-form" [formGroup]="formGroup">\n <kendo-formfield *ngIf="formGroup.contains(mapper.taskFields.title)">\n <kendo-label [for]="mapper.taskFields.title" [text]="getText(\'titleFieldInputLabel\')"></kendo-label>\n <input kendoTextBox [formControlName]="mapper.taskFields.title" />\n </kendo-formfield>\n <div class="k-hstack">\n <kendo-formfield [style.width.%]="49" *ngIf="formGroup.contains(mapper.taskFields.start)">\n <kendo-label [for]="mapper.taskFields.start" [text]="getText(\'startFieldInputLabel\')"></kendo-label>\n <kendo-datetimepicker [formControlName]="mapper.taskFields.start"></kendo-datetimepicker>\n </kendo-formfield>\n <kendo-treelist-spacer></kendo-treelist-spacer>\n <kendo-formfield [style.width.%]="49" *ngIf="formGroup.contains(mapper.taskFields.end)">\n <kendo-label [for]="mapper.taskFields.end" [text]="getText(\'endFieldInputLabel\')"></kendo-label>\n <kendo-datetimepicker [formControlName]="mapper.taskFields.end"></kendo-datetimepicker>\n </kendo-formfield>\n </div>\n <kendo-formfield [style.width.%]="49" *ngIf="formGroup.contains(mapper.taskFields.completionRatio)">\n <kendo-label [for]="mapper.taskFields.completionRatio" [text]="getText(\'completionRatioFieldInputLabel\')"></kendo-label>\n <kendo-numerictextbox\n [formControlName]="mapper.taskFields.completionRatio"\n [min]="0"\n [max]="1"\n [decimals]="2"\n format="p2"\n [step]="0.01"\n ></kendo-numerictextbox>\n </kendo-formfield>\n </form>\n ',isInline:!0,components:[{type:h.FormFieldComponent,selector:"kendo-formfield",inputs:["showHints","orientation","showErrors"]},{type:J.LabelComponent,selector:"kendo-label",inputs:["text","for","optional"],exportAs:["kendoLabel"]},{type:ee.DateTimePickerComponent,selector:"kendo-datetimepicker",inputs:["value","format","twoDigitYearMax","tabindex","disabledDates","popupSettings","title","disabled","readonly","readOnlyInput","cancelButton","formatPlaceholder","placeholder","steps","focusedDate","calendarType","animateCalendarNavigation","weekNumber","min","max","rangeValidation","disabledDatesValidation","incompleteDateValidation","defaultTab","size","rounded","fillMode"],outputs:["valueChange","open","close","focus","blur"],exportAs:["kendo-datetimepicker"]},{type:Q.TreeListSpacerComponent,selector:"kendo-treelist-spacer, kendo-treelist-pager-spacer",inputs:["width"]},{type:h.NumericTextBoxComponent,selector:"kendo-numerictextbox",inputs:["focusableId","disabled","readonly","title","autoCorrect","format","max","min","decimals","placeholder","step","spinners","rangeValidation","tabindex","tabIndex","changeValueOnScroll","selectOnFocus","value","maxlength","size","rounded","fillMode"],outputs:["valueChange","focus","blur"],exportAs:["kendoNumericTextBox"]}],directives:[{type:l.ɵNgNoValidate,selector:"form:not([ngNoForm]):not([ngNativeValidate])"},{type:l.NgControlStatusGroup,selector:"[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]"},{type:l.FormGroupDirective,selector:"[formGroup]",inputs:["formGroup"],outputs:["ngSubmit"],exportAs:["ngForm"]},{type:r.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]},{type:h.TextBoxDirective,selector:"input[kendoTextBox]",inputs:["value"]},{type:l.DefaultValueAccessor,selector:"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]"},{type:l.NgControlStatus,selector:"[formControlName],[ngModel],[formControl]"},{type:l.FormControlName,selector:"[formControlName]",inputs:["disabled","formControlName","ngModel"],outputs:["ngModelChange"]}]}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:mn,decorators:[{type:g.Component,args:[{selector:"kendo-gantt-task-fields",template:'\n <form class="k-form" [formGroup]="formGroup">\n <kendo-formfield *ngIf="formGroup.contains(mapper.taskFields.title)">\n <kendo-label [for]="mapper.taskFields.title" [text]="getText(\'titleFieldInputLabel\')"></kendo-label>\n <input kendoTextBox [formControlName]="mapper.taskFields.title" />\n </kendo-formfield>\n <div class="k-hstack">\n <kendo-formfield [style.width.%]="49" *ngIf="formGroup.contains(mapper.taskFields.start)">\n <kendo-label [for]="mapper.taskFields.start" [text]="getText(\'startFieldInputLabel\')"></kendo-label>\n <kendo-datetimepicker [formControlName]="mapper.taskFields.start"></kendo-datetimepicker>\n </kendo-formfield>\n <kendo-treelist-spacer></kendo-treelist-spacer>\n <kendo-formfield [style.width.%]="49" *ngIf="formGroup.contains(mapper.taskFields.end)">\n <kendo-label [for]="mapper.taskFields.end" [text]="getText(\'endFieldInputLabel\')"></kendo-label>\n <kendo-datetimepicker [formControlName]="mapper.taskFields.end"></kendo-datetimepicker>\n </kendo-formfield>\n </div>\n <kendo-formfield [style.width.%]="49" *ngIf="formGroup.contains(mapper.taskFields.completionRatio)">\n <kendo-label [for]="mapper.taskFields.completionRatio" [text]="getText(\'completionRatioFieldInputLabel\')"></kendo-label>\n <kendo-numerictextbox\n [formControlName]="mapper.taskFields.completionRatio"\n [min]="0"\n [max]="1"\n [decimals]="2"\n format="p2"\n [step]="0.01"\n ></kendo-numerictextbox>\n </kendo-formfield>\n </form>\n '}]}],ctorParameters:function(){return[{type:b},{type:E},{type:Ut}]}});Object.defineProperty(fn.prototype,"taskId",{get:function(){return this.editService.dataItem.id},enumerable:!1,configurable:!0}),Object.defineProperty(fn.prototype,"dependencyIdField",{get:function(){return"predecessor"===this.dependencyType?"fromId":"toId"},enumerable:!1,configurable:!0}),fn.prototype.ngOnInit=function(){var n,i=this;0===this.formGroups.controls.length&&(n=this.mapper.dependencyFields,this.dependencies.forEach(function(e){var t,e=new o.FormGroup(((t={})[n.id]=new o.FormControl(i.mapper.extractFromDependency(e,"id")),t[n.fromId]=new o.FormControl(i.mapper.extractFromDependency(e,"fromId"),o.Validators.required),t[n.toId]=new o.FormControl(i.mapper.extractFromDependency(e,"toId"),o.Validators.required),t[n.type]=new o.FormControl(i.mapper.extractFromDependency(e,"type"),o.Validators.required),t));i.formGroups.push(e)})),this.formGroups.valueChanges.subscribe(function(e){i.formGroups.controls.forEach(function(e){e.dirty&&i.editService.updateDependencies(e.value)}),i.dependenciesChange.emit(e)})},fn.prototype.getFormControl=function(n,e){return this.formGroups.controls.find(function(e,t){return t===n}).get(this.mapper.dependencyFields[e])},fn.prototype.getText=function(e){return this.localizationService.get(e)},fn.prototype.getDependencyTypes=function(){return Object.keys(u.DependencyType).filter(function(e){return"number"==typeof u.DependencyType[e]}).map(function(e){return{type:e,id:u.DependencyType[e]}})},fn.prototype.addHandler=function(){var e,t=this.mapper.dependencyFields,t=new o.FormGroup(((e={})[t.id]=new o.FormControl,e[t.fromId]=new o.FormControl("toId"===this.dependencyIdField?this.taskId:null,o.Validators.required),e[t.toId]=new o.FormControl("fromId"===this.dependencyIdField?this.taskId:null,o.Validators.required),e[t.type]=new o.FormControl(null,o.Validators.required),e));this.formGroups.push(t)},fn.prototype.removeHandler=function(){var e=oe(this.selectedKeys,1)[0],t=this.formGroups.at(e).value;this.editService.deleteDependency(t),this.formGroups.removeAt(e)};J=fn;function fn(e,t,n){this.mapper=e,this.editService=t,this.localizationService=n,this.dependenciesChange=new g.EventEmitter,this.selectedKeys=[],this.formGroups=new o.FormArray([]),this.dependencyTypes=this.getDependencyTypes()}J.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:J,deps:[{token:b},{token:E},{token:Ut}],target:n.ɵɵFactoryTarget.Component}),J.ɵcmp=n.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:J,selector:"kendo-gantt-dependencies-table",inputs:{tasks:"tasks",dependencies:"dependencies",dependencyType:"dependencyType"},outputs:{dependenciesChange:"dependenciesChange"},ngImport:n,template:'\n <kendo-grid\n [data]="dependencies"\n [selectable]="{ mode: \'single\' }"\n [(selectedKeys)]="selectedKeys"\n kendoGridSelectBy\n [height]="275"\n >\n <ng-template kendoGridToolbarTemplate>\n <button kendoButton (click)="addHandler()">\n {{ getText(\'taskEditingDependenciesAddButtonText\') }}\n </button>\n <button kendoButton (click)="removeHandler()" [disabled]="selectedKeys.length === 0">\n {{ getText(\'taskEditingDependenciesRemoveButtonText\') }}\n </button>\n </ng-template>\n <kendo-grid-column [title]="getText(\'taskEditingDependenciesGridNameColumnTitle\')" [field]="dependencyIdField">\n <ng-template kendoGridCellTemplate let-dataItem="dataItem" let-column="column" let-rowIndex="rowIndex">\n <kendo-dropdownlist\n [data]="tasks"\n textField="title"\n valueField="id"\n [valuePrimitive]="true"\n [formControl]="getFormControl(rowIndex, column.field)"\n >\n </kendo-dropdownlist>\n </ng-template>\n </kendo-grid-column>\n <kendo-grid-column [title]="getText(\'taskEditingDependenciesGridTypeColumnTitle\')" field="type">\n <ng-template kendoGridCellTemplate let-dataItem="dataItem" let-column="column" let-rowIndex="rowIndex">\n <kendo-dropdownlist\n [data]="dependencyTypes"\n textField="type"\n valueField="id"\n [valuePrimitive]="true"\n [formControl]="getFormControl(rowIndex, column.field)"\n >\n </kendo-dropdownlist>\n </ng-template>\n </kendo-grid-column>\n </kendo-grid>\n ',isInline:!0,components:[{type:f.GridComponent,selector:"kendo-grid",inputs:["data","pageSize","height","rowHeight","detailRowHeight","skip","scrollable","selectable","sort","trackBy","filter","group","virtualColumns","filterable","sortable","pageable","groupable","navigable","navigatable","autoSize","rowClass","rowSticky","rowSelected","cellSelected","resizable","reorderable","loading","columnMenu","hideHeader","isDetailExpanded","isGroupExpanded"],outputs:["filterChange","pageChange","groupChange","sortChange","selectionChange","dataStateChange","groupExpand","groupCollapse","detailExpand","detailCollapse","edit","cancel","save","remove","add","cellClose","cellClick","pdfExport","excelExport","columnResize","columnReorder","columnVisibilityChange","columnLockedChange","columnStickyChange","scrollBottom","contentScroll"],exportAs:["kendoGrid"]},{type:f.ColumnComponent,selector:"kendo-grid-column",inputs:["field","format","sortable","groupable","editor","filter","filterable","editable"]},{type:te.DropDownListComponent,selector:"kendo-dropdownlist",inputs:["iconClass","loading","data","value","textField","valueField","popupSettings","listHeight","defaultItem","disabled","itemDisabled","readonly","filterable","virtual","ignoreCase","delay","valuePrimitive","tabindex","tabIndex","size","rounded","fillMode","id"],outputs:["valueChange","filterChange","selectionChange","open","opened","close","closed","focus","blur"],exportAs:["kendoDropDownList"]}],directives:[{type:f.SelectionDirective,selector:"[kendoGridSelectBy]"},{type:f.ToolbarTemplateDirective,selector:"[kendoGridToolbarTemplate]",inputs:["position"]},{type:j.ButtonDirective,selector:"button[kendoButton], span[kendoButton]",inputs:["toggleable","togglable","selected","tabIndex","icon","iconClass","imageUrl","disabled","size","rounded","fillMode","themeColor","role","primary","look"],outputs:["selectedChange","click"],exportAs:["kendoButton"]},{type:f.CellTemplateDirective,selector:"[kendoGridCellTemplate]"},{type:l.NgControlStatus,selector:"[formControlName],[ngModel],[formControl]"},{type:l.FormControlDirective,selector:"[formControl]",inputs:["disabled","formControl","ngModel"],outputs:["ngModelChange"],exportAs:["ngForm"]}]}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:J,decorators:[{type:g.Component,args:[{selector:"kendo-gantt-dependencies-table",template:'\n <kendo-grid\n [data]="dependencies"\n [selectable]="{ mode: \'single\' }"\n [(selectedKeys)]="selectedKeys"\n kendoGridSelectBy\n [height]="275"\n >\n <ng-template kendoGridToolbarTemplate>\n <button kendoButton (click)="addHandler()">\n {{ getText(\'taskEditingDependenciesAddButtonText\') }}\n </button>\n <button kendoButton (click)="removeHandler()" [disabled]="selectedKeys.length === 0">\n {{ getText(\'taskEditingDependenciesRemoveButtonText\') }}\n </button>\n </ng-template>\n <kendo-grid-column [title]="getText(\'taskEditingDependenciesGridNameColumnTitle\')" [field]="dependencyIdField">\n <ng-template kendoGridCellTemplate let-dataItem="dataItem" let-column="column" let-rowIndex="rowIndex">\n <kendo-dropdownlist\n [data]="tasks"\n textField="title"\n valueField="id"\n [valuePrimitive]="true"\n [formControl]="getFormControl(rowIndex, column.field)"\n >\n </kendo-dropdownlist>\n </ng-template>\n </kendo-grid-column>\n <kendo-grid-column [title]="getText(\'taskEditingDependenciesGridTypeColumnTitle\')" field="type">\n <ng-template kendoGridCellTemplate let-dataItem="dataItem" let-column="column" let-rowIndex="rowIndex">\n <kendo-dropdownlist\n [data]="dependencyTypes"\n textField="type"\n valueField="id"\n [valuePrimitive]="true"\n [formControl]="getFormControl(rowIndex, column.field)"\n >\n </kendo-dropdownlist>\n </ng-template>\n </kendo-grid-column>\n </kendo-grid>\n '}]}],ctorParameters:function(){return[{type:b},{type:E},{type:Ut}]},propDecorators:{tasks:[{type:g.Input}],dependencies:[{type:g.Input}],dependencyType:[{type:g.Input}],dependenciesChange:[{type:g.Output}]}});yn.prototype.ngOnInit=function(){var t=this;this.editService.loadTasks(this.data).subscribe(function(e){t.loadedTasks=e})},Object.defineProperty(yn.prototype,"predecessors",{get:function(){return this.editService.predecessors},set:function(e){this.editService.predecessors=e},enumerable:!1,configurable:!0}),Object.defineProperty(yn.prototype,"successors",{get:function(){return this.editService.successors},set:function(e){this.editService.successors=e},enumerable:!1,configurable:!0}),yn.prototype.getText=function(e){return this.localizationService.get(e)},yn.prototype.getDependencyType=function(e){return u.DependencyType[e]},yn.prototype.handleEditingResult=function(e){this.editService.triggerEditEvent(e)},yn.prototype.handleTaskDelete=function(){this.editService.taskDelete.next(this.editService.dataItem)};ee=yn;function yn(e,t,n,i){this.mapper=e,this.editService=t,this.cdr=n,this.localizationService=i}ee.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:ee,deps:[{token:b},{token:E},{token:n.ChangeDetectorRef},{token:s.LocalizationService}],target:n.ɵɵFactoryTarget.Component}),ee.ɵcmp=n.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:ee,selector:"kendo-gantt-edit-dialog",inputs:{data:"data"},ngImport:n,template:'\n <kendo-dialog\n [title]="getText(\'taskEditingDialogTitle\')"\n [width]="575"\n [height]="470"\n (close)="handleEditingResult(\'cancel\')">\n <kendo-dialog-messages\n [closeTitle]="getText(\'taskEditingDialogCloseTitle\')"></kendo-dialog-messages>\n\n <kendo-tabstrip [keepTabContent]="true" style="height: 345px;">\n <kendo-tabstrip-tab [title]="getText(\'taskEditingGeneralTabTitle\')" [selected]="true">\n <ng-template kendoTabContent>\n <kendo-gantt-task-fields></kendo-gantt-task-fields>\n </ng-template>\n </kendo-tabstrip-tab>\n <kendo-tabstrip-tab [title]="getText(\'taskEditingPredecessorsTabTitle\')">\n <ng-template kendoTabContent>\n <kendo-gantt-dependencies-table\n [tasks]="loadedTasks"\n [(dependencies)]="predecessors"\n dependencyType="predecessor"\n >\n </kendo-gantt-dependencies-table>\n </ng-template>\n </kendo-tabstrip-tab>\n <kendo-tabstrip-tab [title]="getText(\'taskEditingSuccessorsTabTitle\')">\n <ng-template kendoTabContent>\n <kendo-gantt-dependencies-table\n [tasks]="loadedTasks"\n [(dependencies)]="successors"\n dependencyType="successor">\n </kendo-gantt-dependencies-table>\n </ng-template>\n </kendo-tabstrip-tab>\n </kendo-tabstrip>\n\n <kendo-dialog-actions layout="normal">\n <button\n kendoButton\n [kendoEventsOutsideAngular]="{\n click: handleTaskDelete\n }"\n [scope]="this"\n >\n {{ getText(\'deleteButtonText\') }}\n </button>\n <kendo-treelist-spacer></kendo-treelist-spacer>\n <button kendoButton [primary]="true" (click)="handleEditingResult(\'save\')">{{ getText(\'saveButtonText\') }}</button>\n <button kendoButton (click)="handleEditingResult(\'cancel\')">{{ getText(\'cancelButtonText\') }}</button>\n </kendo-dialog-actions>\n </kendo-dialog>\n ',isInline:!0,components:[{type:d.DialogComponent,selector:"kendo-dialog",inputs:["actions","actionsLayout","autoFocusedElement","title","width","minWidth","maxWidth","height","minHeight","maxHeight","animation"],outputs:["action","close"],exportAs:["kendoDialog"]},{type:p.TabStripComponent,selector:"kendo-tabstrip",inputs:["height","animate","tabAlignment","tabPosition","keepTabContent","closable","scrollable","closeIcon"],outputs:["tabSelect","tabClose","tabScroll"],exportAs:["kendoTabStrip"]},{type:p.TabStripTabComponent,selector:"kendo-tabstrip-tab",inputs:["title","disabled","cssClass","cssStyle","selected","closable","closeIcon"],exportAs:["kendoTabStripTab"]},{type:mn,selector:"kendo-gantt-task-fields"},{type:J,selector:"kendo-gantt-dependencies-table",inputs:["tasks","dependencies","dependencyType"],outputs:["dependenciesChange"]},{type:d.DialogActionsComponent,selector:"kendo-dialog-actions",inputs:["actions","layout"],outputs:["action"]},{type:Q.TreeListSpacerComponent,selector:"kendo-treelist-spacer, kendo-treelist-pager-spacer",inputs:["width"]}],directives:[{type:d.CustomMessagesComponent,selector:"kendo-dialog-messages, kendo-window-messages"},{type:p.TabContentDirective,selector:"[kendoTabContent]"},{type:j.ButtonDirective,selector:"button[kendoButton], span[kendoButton]",inputs:["toggleable","togglable","selected","tabIndex","icon","iconClass","imageUrl","disabled","size","rounded","fillMode","themeColor","role","primary","look"],outputs:["selectedChange","click"],exportAs:["kendoButton"]},{type:i.EventsOutsideAngularDirective,selector:"[kendoEventsOutsideAngular]",inputs:["kendoEventsOutsideAngular","scope"]}]}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:ee,decorators:[{type:g.Component,args:[{selector:"kendo-gantt-edit-dialog",template:'\n <kendo-dialog\n [title]="getText(\'taskEditingDialogTitle\')"\n [width]="575"\n [height]="470"\n (close)="handleEditingResult(\'cancel\')">\n <kendo-dialog-messages\n [closeTitle]="getText(\'taskEditingDialogCloseTitle\')"></kendo-dialog-messages>\n\n <kendo-tabstrip [keepTabContent]="true" style="height: 345px;">\n <kendo-tabstrip-tab [title]="getText(\'taskEditingGeneralTabTitle\')" [selected]="true">\n <ng-template kendoTabContent>\n <kendo-gantt-task-fields></kendo-gantt-task-fields>\n </ng-template>\n </kendo-tabstrip-tab>\n <kendo-tabstrip-tab [title]="getText(\'taskEditingPredecessorsTabTitle\')">\n <ng-template kendoTabContent>\n <kendo-gantt-dependencies-table\n [tasks]="loadedTasks"\n [(dependencies)]="predecessors"\n dependencyType="predecessor"\n >\n </kendo-gantt-dependencies-table>\n </ng-template>\n </kendo-tabstrip-tab>\n <kendo-tabstrip-tab [title]="getText(\'taskEditingSuccessorsTabTitle\')">\n <ng-template kendoTabContent>\n <kendo-gantt-dependencies-table\n [tasks]="loadedTasks"\n [(dependencies)]="successors"\n dependencyType="successor">\n </kendo-gantt-dependencies-table>\n </ng-template>\n </kendo-tabstrip-tab>\n </kendo-tabstrip>\n\n <kendo-dialog-actions layout="normal">\n <button\n kendoButton\n [kendoEventsOutsideAngular]="{\n click: handleTaskDelete\n }"\n [scope]="this"\n >\n {{ getText(\'deleteButtonText\') }}\n </button>\n <kendo-treelist-spacer></kendo-treelist-spacer>\n <button kendoButton [primary]="true" (click)="handleEditingResult(\'save\')">{{ getText(\'saveButtonText\') }}</button>\n <button kendoButton (click)="handleEditingResult(\'cancel\')">{{ getText(\'cancelButtonText\') }}</button>\n </kendo-dialog-actions>\n </kendo-dialog>\n '}]}],ctorParameters:function(){return[{type:b},{type:E},{type:n.ChangeDetectorRef},{type:s.LocalizationService}]},propDecorators:{data:[{type:g.Input}]}});y(vn,kn=z.ComponentMessages);var kn,h=vn;function vn(){return null!==kn&&kn.apply(this,arguments)||this}h.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:h,deps:null,target:n.ɵɵFactoryTarget.Directive}),h.ɵdir=n.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:h,selector:"kendo-gantt-messages-base",inputs:{taskEditingGeneralTabTitle:"taskEditingGeneralTabTitle",taskEditingPredecessorsTabTitle:"taskEditingPredecessorsTabTitle",taskEditingSuccessorsTabTitle:"taskEditingSuccessorsTabTitle",taskEditingDependenciesAddButtonText:"taskEditingDependenciesAddButtonText",taskEditingDependenciesRemoveButtonText:"taskEditingDependenciesRemoveButtonText",taskEditingDependenciesGridNameColumnTitle:"taskEditingDependenciesGridNameColumnTitle",taskEditingDependenciesGridTypeColumnTitle:"taskEditingDependenciesGridTypeColumnTitle",deleteButtonText:"deleteButtonText",taskDeleteLabel:"taskDeleteLabel",taskEditingDialogTitle:"taskEditingDialogTitle",taskEditingDialogCloseTitle:"taskEditingDialogCloseTitle",confirmationDialogCloseTitle:"confirmationDialogCloseTitle",confirmationDialogTitle:"confirmationDialogTitle",addTaskText:"addTaskText",addChildText:"addChildText",addAboveText:"addAboveText",addBelowText:"addBelowText",cancelButtonText:"cancelButtonText",saveButtonText:"saveButtonText",titleFieldInputLabel:"titleFieldInputLabel",startFieldInputLabel:"startFieldInputLabel",endFieldInputLabel:"endFieldInputLabel",completionRatioFieldInputLabel:"completionRatioFieldInputLabel",confirmationDialogContent:"confirmationDialogContent",dayViewText:"dayViewText",weekViewText:"weekViewText",monthViewText:"monthViewText",yearViewText:"yearViewText",noRecords:"noRecords",filter:"filter",filterEqOperator:"filterEqOperator",filterNotEqOperator:"filterNotEqOperator",filterIsNullOperator:"filterIsNullOperator",filterIsNotNullOperator:"filterIsNotNullOperator",filterIsEmptyOperator:"filterIsEmptyOperator",filterIsNotEmptyOperator:"filterIsNotEmptyOperator",filterStartsWithOperator:"filterStartsWithOperator",filterContainsOperator:"filterContainsOperator",filterNotContainsOperator:"filterNotContainsOperator",filterEndsWithOperator:"filterEndsWithOperator",filterGteOperator:"filterGteOperator",filterGtOperator:"filterGtOperator",filterLteOperator:"filterLteOperator",filterLtOperator:"filterLtOperator",filterIsTrue:"filterIsTrue",filterIsFalse:"filterIsFalse",filterBooleanAll:"filterBooleanAll",filterAfterOrEqualOperator:"filterAfterOrEqualOperator",filterAfterOperator:"filterAfterOperator",filterBeforeOperator:"filterBeforeOperator",filterBeforeOrEqualOperator:"filterBeforeOrEqualOperator",filterFilterButton:"filterFilterButton",filterClearButton:"filterClearButton",filterAndLogic:"filterAndLogic",filterOrLogic:"filterOrLogic",loading:"loading",columnMenu:"columnMenu",columns:"columns",lock:"lock",unlock:"unlock",sortable:"sortable",sortAscending:"sortAscending",sortDescending:"sortDescending",sortedAscending:"sortedAscending",sortedDescending:"sortedDescending",sortedDefault:"sortedDefault",columnsApply:"columnsApply",columnsReset:"columnsReset"},usesInheritance:!0,ngImport:n}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:h,decorators:[{type:g.Directive,args:[{selector:"kendo-gantt-messages-base"}]}],propDecorators:{taskEditingGeneralTabTitle:[{type:g.Input}],taskEditingPredecessorsTabTitle:[{type:g.Input}],taskEditingSuccessorsTabTitle:[{type:g.Input}],taskEditingDependenciesAddButtonText:[{type:g.Input}],taskEditingDependenciesRemoveButtonText:[{type:g.Input}],taskEditingDependenciesGridNameColumnTitle:[{type:g.Input}],taskEditingDependenciesGridTypeColumnTitle:[{type:g.Input}],deleteButtonText:[{type:g.Input}],taskDeleteLabel:[{type:g.Input}],taskEditingDialogTitle:[{type:g.Input}],taskEditingDialogCloseTitle:[{type:g.Input}],confirmationDialogCloseTitle:[{type:g.Input}],confirmationDialogTitle:[{type:g.Input}],addTaskText:[{type:g.Input}],addChildText:[{type:g.Input}],addAboveText:[{type:g.Input}],addBelowText:[{type:g.Input}],cancelButtonText:[{type:g.Input}],saveButtonText:[{type:g.Input}],titleFieldInputLabel:[{type:g.Input}],startFieldInputLabel:[{type:g.Input}],endFieldInputLabel:[{type:g.Input}],completionRatioFieldInputLabel:[{type:g.Input}],confirmationDialogContent:[{type:g.Input}],dayViewText:[{type:g.Input}],weekViewText:[{type:g.Input}],monthViewText:[{type:g.Input}],yearViewText:[{type:g.Input}],noRecords:[{type:g.Input}],filter:[{type:g.Input}],filterEqOperator:[{type:g.Input}],filterNotEqOperator:[{type:g.Input}],filterIsNullOperator:[{type:g.Input}],filterIsNotNullOperator:[{type:g.Input}],filterIsEmptyOperator:[{type:g.Input}],filterIsNotEmptyOperator:[{type:g.Input}],filterStartsWithOperator:[{type:g.Input}],filterContainsOperator:[{type:g.Input}],filterNotContainsOperator:[{type:g.Input}],filterEndsWithOperator:[{type:g.Input}],filterGteOperator:[{type:g.Input}],filterGtOperator:[{type:g.Input}],filterLteOperator:[{type:g.Input}],filterLtOperator:[{type:g.Input}],filterIsTrue:[{type:g.Input}],filterIsFalse:[{type:g.Input}],filterBooleanAll:[{type:g.Input}],filterAfterOrEqualOperator:[{type:g.Input}],filterAfterOperator:[{type:g.Input}],filterBeforeOperator:[{type:g.Input}],filterBeforeOrEqualOperator:[{type:g.Input}],filterFilterButton:[{type:g.Input}],filterClearButton:[{type:g.Input}],filterAndLogic:[{type:g.Input}],filterOrLogic:[{type:g.Input}],loading:[{type:g.Input}],columnMenu:[{type:g.Input}],columns:[{type:g.Input}],lock:[{type:g.Input}],unlock:[{type:g.Input}],sortable:[{type:g.Input}],sortAscending:[{type:g.Input}],sortDescending:[{type:g.Input}],sortedAscending:[{type:g.Input}],sortedDescending:[{type:g.Input}],sortedDefault:[{type:g.Input}],columnsApply:[{type:g.Input}],columnsReset:[{type:g.Input}]}});y(Cn,Tn=h);var Tn,bn=Cn;function Cn(e){var t=Tn.call(this)||this;return t.service=e,t}bn.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:bn,deps:[{token:s.LocalizationService}],target:n.ɵɵFactoryTarget.Directive}),bn.ɵdir=n.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:bn,selector:"[kendoGanttLocalizedMessages]",providers:[{provide:h,useExisting:g.forwardRef(function(){return bn})}],usesInheritance:!0,ngImport:n}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:bn,decorators:[{type:g.Directive,args:[{providers:[{provide:h,useExisting:g.forwardRef(function(){return bn})}],selector:"[kendoGanttLocalizedMessages]"}]}],ctorParameters:function(){return[{type:s.LocalizationService}]}});var In="k-gantt-treelist-nested-columns",Dn={enabled:!0,step:3,interval:1,threshold:10},A=(Object.defineProperty(P.prototype,"toolbarTemplate",{get:function(){return this._customToolbarTemplate||(this.toolbarTemplateChildren?this.toolbarTemplateChildren.first:void 0)},set:function(e){this._customToolbarTemplate=e},enumerable:!1,configurable:!0}),Object.defineProperty(P.prototype,"hostRoleDescriptionAttr",{get:function(){return this.roleDescription},enumerable:!1,configurable:!0}),Object.defineProperty(P.prototype,"hostRoleAttr",{get:function(){return this.role},enumerable:!1,configurable:!0}),Object.defineProperty(P.prototype,"dir",{get:function(){return this.direction},enumerable:!1,configurable:!0}),Object.defineProperty(P.prototype,"columns",{get:function(){return this._columns},set:function(e){this._columns=e,this.updateTreeListGroupClass(e)},enumerable:!1,configurable:!0}),Object.defineProperty(P.prototype,"taskModelFields",{set:function(e){this.mapper.taskFields=e},enumerable:!1,configurable:!0}),Object.defineProperty(P.prototype,"dependencyModelFields",{set:function(e){this.mapper.dependencyFields=e},enumerable:!1,configurable:!0}),Object.defineProperty(P.prototype,"activeView",{get:function(){var t=this;return this.views.find(function(e){return e.type===t._activeView})?this._activeView:this.views.first.type},set:function(e){this._activeView=e},enumerable:!1,configurable:!0}),Object.defineProperty(P.prototype,"data",{get:function(){return this._data},set:function(e){this._data=ae(e),this.loadTimelineData()},enumerable:!1,configurable:!0}),Object.defineProperty(P.prototype,"toolbarSettings",{get:function(){return this._toolbarSettings},set:function(e){this._toolbarSettings={position:e.position||"top",addTaskTool:e.addTaskTool||"none",viewSelectorTool:e.viewSelectorTool||"top"}},enumerable:!1,configurable:!0}),Object.defineProperty(P.prototype,"fetchChildren",{get:function(){return this._fetchChildren},set:function(e){this._fetchChildren=e,this.editService.fetchChildren=e},enumerable:!1,configurable:!0}),Object.defineProperty(P.prototype,"hasChildren",{get:function(){return this._hasChildren},set:function(e){this._hasChildren=e,this.editService.hasChildren=e},enumerable:!1,configurable:!0}),Object.defineProperty(P.prototype,"timelinePaneOptions",{get:function(){return Object.assign(Object.assign({},this._timelinePaneOptions),{size:this.treeListPaneOptions.collapsed?"100%":this._timelinePaneOptions.size})},set:function(e){this._timelinePaneOptions.collapsed&&!e.collapsed&&this.dependencyDomService.notifyChanges(),this._timelinePaneOptions=Object.assign(Object.assign({},Xt),e)},enumerable:!1,configurable:!0}),Object.defineProperty(P.prototype,"treeListPaneOptions",{get:function(){return this._treeListPaneOptions},set:function(e){this._treeListPaneOptions=Object.assign(Object.assign({},Qt),e)},enumerable:!1,configurable:!0}),Object.defineProperty(P.prototype,"taskClass",{get:function(){return this._taskClass},set:function(e){if(g.isDevMode()&&"function"!=typeof e)throw new Error("taskClass must be a function, but received "+JSON.stringify(e)+".");this._taskClass=e},enumerable:!1,configurable:!0}),Object.defineProperty(P.prototype,"rowClass",{get:function(){return this._rowClass},set:function(e){if(g.isDevMode()&&"function"!=typeof e)throw new Error("rowClass must be a function, but received "+JSON.stringify(e)+".");this._rowClass=e},enumerable:!1,configurable:!0}),Object.defineProperty(P.prototype,"taskIdField",{get:function(){return this.mapper.taskFields.id},enumerable:!1,configurable:!0}),Object.defineProperty(P.prototype,"dragScrollSettings",{get:function(){return this._dragScrollSettings},set:function(e){this._dragScrollSettings=Object.assign(Object.assign({},Dn),e)},enumerable:!1,configurable:!0}),Object.defineProperty(P.prototype,"renderedTreeListItems",{get:function(){return v(this.treeList)?this.treeList.view.data.map(function(e){return e.data}):[]},enumerable:!1,configurable:!0}),Object.defineProperty(P.prototype,"viewItems",{get:function(){return v(this.treeList)?this.treeList.view.data:[]},enumerable:!1,configurable:!0}),Object.defineProperty(P.prototype,"filterMenu",{get:function(){return!!this.filterable&&"menu"},enumerable:!1,configurable:!0}),Object.defineProperty(P.prototype,"viewService",{get:function(){return this.views&&this.views.length?this.timelineViewService.service(this.activeView):null},enumerable:!1,configurable:!0}),Object.defineProperty(P.prototype,"isTaskSelected",{get:function(){return this.selectable?this.isSelected:_t},enumerable:!1,configurable:!0}),Object.defineProperty(P.prototype,"idGetter",{get:function(){if(v(this.treeList))return this.treeList.idGetter},enumerable:!1,configurable:!0}),Object.defineProperty(P.prototype,"viewTypes",{get:function(){return this.views.map(function(e){return e.type})},enumerable:!1,configurable:!0}),Object.defineProperty(P.prototype,"isInEditMode",{get:function(){return this.showEditingDialog||this.showConfirmationDialog||this.treeList.isEditing()},enumerable:!1,configurable:!0}),P.prototype.ngOnChanges=function(e){k.anyChanged(["data","activeView","workWeekStart","workWeekEnd","workDayStart","workDayEnd"],e)&&this.loadTimelineData()},P.prototype.ngAfterViewInit=function(){var e=this,t=(this.updateTreeListMargin(),this.zone.runOutsideAngular(function(){e.keydownListenerDisposers=e.renderer.listen(e.hostElement.nativeElement,"keydown",e.handleKeydown.bind(e))}),this.navigable&&this.navigation.initialize({treeList:this.treeList,host:this.hostElement.nativeElement,treeListElement:this.treeList.wrapper.nativeElement,timelineElement:this.timeline.timelineContent.nativeElement,columns:this.columns,data:this.data}),this.treeList.wrapper.nativeElement.querySelector("kendo-treelist-list > div"));this.scrollSyncService.registerElement(t,"treelist")},P.prototype.ngAfterContentInit=function(){if(g.isDevMode()&&0===this.views.length)throw new Error("No views declared for <kendo-gantt>. Please, declare at least one view.");this.loadTimelineData(),this.updateTreeListGroupClass()},P.prototype.ngOnDestroy=function(){this.optionChangesSubscriptions.unsubscribe(),this.editServiceSubscription.unsubscribe(),this.localizationSubscription&&this.localizationSubscription.unsubscribe(),v(this.keydownListenerDisposers)&&(this.keydownListenerDisposers(),this.keydownListenerDisposers=null)},P.prototype.focus=function(){this.navigable&&this.navigation.focusLastActiveItem()},P.prototype.focusCell=function(e,t){this.navigable&&this.navigation.focusCell(e,t)},P.prototype.focusTask=function(e){this.navigable&&this.navigation.focusTask(e)},P.prototype.autoFitColumn=function(e){v(this.treeList)&&this.treeList.autoFitColumn(e)},P.prototype.autoFitColumns=function(e){void 0===e&&(e=this.columns),v(this.treeList)&&this.treeList.autoFitColumns(e)},P.prototype.reload=function(e,t){v(this.treeList)&&this.treeList.reload(e,t)},P.prototype.reorderColumn=function(e,t,n){void 0===n&&(n={before:!1}),v(this.treeList)&&this.treeList.reorderColumn(e,t,n)},P.prototype.updateView=function(){v(this.treeList)&&this.treeList.updateView(),this.loadTimelineData(),this.dependencyDomService.notifyChanges()},P.prototype.editTask=function(e,t){var n,i,o=this;this.showEditingDialog||(n=this.mapper.extractFromTask(e,"id"),i=this.dependencies.filter(function(e){return o.mapper.extractFromDependency(e,"toId")===n||o.mapper.extractFromDependency(e,"fromId")===n}),this.editService.createEditDialog(e,t,i))},P.prototype.closeTaskDialog=function(){this.showEditingDialog&&this.editService.closeEditDialog()},P.prototype.openConfirmationDialog=function(){this.showConfirmationDialog=!0},P.prototype.handleConfirmationDialogClose=function(){this.showConfirmationDialog=!1,this.navigable&&this.focus()},P.prototype.editCell=function(e,t,n){this.treeList.editCell(e,t,n)},P.prototype.closeCell=function(){this.treeList.closeCell()},P.prototype.handleCellClose=function(e){this.cellClose.emit(new $t(Object.assign(Object.assign({},e),{item:this.editItem,sender:this}))),this.dependencyDomService.notifyChanges()},P.prototype.onTreeListCollapsedChange=function(e){this.treeListPaneCollapsedChange.emit(e),e||this.scrollSyncService.syncScrollTop("timeline","treelist")},P.prototype.onTimelineCollapsedChange=function(e){this.timelinePaneCollapsedChange.emit(e),e||(this.scrollSyncService.syncScrollTop("treelist","timeline"),this.dependencyDomService.notifyChanges())},P.prototype.loadTimelineData=function(){var e,t;v(this.viewService)&&(t=this.getActiveViewOptions(),this.viewService.options=Object.assign({workWeekStart:this.workWeekStart,workWeekEnd:this.workWeekEnd,workDayStart:this.workDayStart,workDayEnd:this.workDayEnd},t),this.tableWidth=this.viewService.getTableWidth(this.data),e=(t=oe(this.viewService.getSlots(this.data),2))[0],t=t[1],this.timelineSlots=t,this.timelineGroupSlots=e)},P.prototype.showToolbar=function(e){return"none"!==this.toolbarSettings.position&&-1<[e,"both"].indexOf(this.toolbarSettings.position)},P.prototype.handleColumnVisibilityChange=function(e){this.columnVisibilityChange.emit(e),this.updateTreeListGroupClass()},P.prototype.onTimelinePaneSizeChange=function(e){this._timelinePaneOptions.size=e,this.timelinePaneSizeChange.emit(e)},P.prototype.handleTimelineRightClick=function(e){var t,n,i=this,o=e.target,r=this.hostElement.nativeElement;ge(o,r)&&!me(o,r)&&k.hasObservers(this.taskClick)&&(t=ue(o,r),n=this.renderedTreeListItems[t],this.zone.run(function(){return i.notifyTaskClick(e,n,t)}))},P.prototype.handleTimelineClick=function(e){var t,n,i,o=this,r=e.target,a=this.hostElement.nativeElement;ge(r,a)&&!me(r,a)&&(t=ue(r,a),n=this.renderedTreeListItems[t],i=this.getSelectionAction(e,n),k.hasObservers(this.selectionChange)&&!this.isSameSelection(i,n)||k.hasObservers(this.taskClick))&&this.zone.run(function(){o.notifySelectionChange(n,i),o.notifyTaskClick(e,n,t)})},P.prototype.handleTreeListDoubleClick=function(e){var t=this;v(this.lastTreeListCellClick)&&e.target===this.lastTreeListCellClick.originalEvent.target&&(this.editItem=an(this.lastTreeListCellClick.dataItem,this.treeList.view.data,this.mapper),k.hasObservers(this.cellDblClick))&&this.zone.run(function(){t.cellDblClick.emit({column:t.lastTreeListCellClick.column,columnIndex:t.lastTreeListCellClick.columnIndex,dataItem:t.lastTreeListCellClick.dataItem,isEdited:t.lastTreeListCellClick.isEdited,originalEvent:t.lastTreeListCellClick.originalEvent,rowIndex:t.lastTreeListCellClick.rowIndex,type:"dblclick",sender:t})})},P.prototype.handleTreeListSelectionChange=function(e){var t;v(this.lastTreeListCellClick)&&"contextmenu"===this.lastTreeListCellClick.type||(t=e.items.map(function(e){return e.dataItem})[0],e=e.action,this.notifySelectionChange(t,e))},P.prototype.handleTreeListCellClick=function(e){this.lastTreeListCellClick=e,this.cellClick.emit({column:e.column,columnIndex:e.columnIndex,dataItem:e.dataItem,isEdited:e.isEdited,originalEvent:e.originalEvent,rowIndex:e.rowIndex,type:e.type,sender:this})},P.prototype.handleDeleteConfirmation=function(){this.editService.triggerEditEvent("remove")},P.prototype.handleTimelineMouseDown=function(e){var t=e.target,n=this.hostElement.nativeElement;ge(t,n)&&!me(t,n)&&e.preventDefault()},P.prototype.handleTimelineDblClick=function(e){var t,n,i=this,o=e.target,r=this.hostElement.nativeElement;ge(o,r)&&!me(o,r)&&k.hasObservers(this.taskDblClick)&&(t=ue(o,r),n=this.renderedTreeListItems[t],this.zone.run(function(){return i.taskDblClick.emit({dataItem:n,originalEvent:e,sender:i,index:t,type:"dblclick"})}))},P.prototype.getText=function(e){return this.localizationService.get(e)},P.prototype.changeActiveView=function(e){e!==this.activeView&&(this.activeView=e,this.loadTimelineData(),this.scrollSyncService.resetTimelineScrollLeft(),this.activeViewChange.emit(e))},P.prototype.notifyTaskClick=function(e,t,n){var i=e instanceof KeyboardEvent?"click":e.type;this.taskClick.emit({originalEvent:e,dataItem:t,index:n,type:i,sender:this})},P.prototype.notifySelectionChange=function(e,t){this.isSameSelection(t,e)||(this.selectionChange.emit({action:t,items:[e],sender:this}),this.treeList.updateView())},P.prototype.notifyTaskDelete=function(e){this.editService.dataItem=e,this.taskDelete.emit({item:an(e,this.treeList.view.data,this.mapper),sender:this})},P.prototype.isSameSelection=function(e,t){return"select"===e&&this.isSelected(t)},P.prototype.getSelectionAction=function(e,t){var n=e.ctrlKey,e=e.metaKey;return(n||e)&&this.isSelected(t)?"remove":"select"},P.prototype.updateTreeListGroupClass=function(e){void 0===e&&(e=this.columns),v(this.treeList)&&(v(e)&&0<e.length&&e.some(function(e){return e.isColumnGroup&&e.childrenArray.some(function(e){return e.isVisible})})?this.renderer.addClass(this.treeList.wrapper.nativeElement,In):this.renderer.removeClass(this.treeList.wrapper.nativeElement,In))},P.prototype.updateTreeListMargin=function(){var e=this.treeList.wrapper.nativeElement.querySelector(".k-treelist .k-grid-content");this.renderer.setStyle(e,"margin-right",-Math.abs(function(){var e;if(k.isDocumentAvailable())return isNaN(Ce)&&((e=document.createElement("div")).style.cssText="overflow: scroll; overflow-x: hidden; zoom: 1; clear: both; display: block;",e.innerHTML="&nbsp;",document.body.appendChild(e),Ce=e.offsetWidth-e.scrollWidth,document.body.removeChild(e)),Ce}()-1)+"px")},Object.defineProperty(P.prototype,"activeTimelineIndex",{get:function(){return this.navigation.activeTimelineIndex},enumerable:!1,configurable:!0}),P.prototype.getActiveViewOptions=function(){var t=this;if(this.views)return this.views.find(function(e){return e.type===t.activeView})},P.prototype.getFirstSelectedItem=function(){var e=this.isSelected||_t;return(this.renderedTreeListItems||[]).find(e)},P.prototype.defaultValidateNewDependencyCallback=function(e){var n=this,i=this.mapper.extractFromDependency(e,"fromId"),o=this.mapper.extractFromDependency(e,"toId"),t=this.treeList.view.data.find(function(e){return n.mapper.extractFromTask(e.data,"id")===i}),r=this.treeList.view.data.find(function(e){return n.mapper.extractFromTask(e.data,"id")===o});if(!(v(t)&&v(t.data)&&v(r)&&v(r.data)&&t.data!==r.data))return!1;if(this.dependencies.some(function(e){var t=n.mapper.extractFromDependency(e,"fromId"),e=n.mapper.extractFromDependency(e,"toId");return i===t&&o===e||o===t&&i===e})||function(e,t){for(var n=!1,i=e;v(i)&&v(i.data);){if(i.data===t.data){n=!0;break}i=i.parent}for(var o=t;!n&&v(o)&&v(o.data);){if(o.data===e.data){n=!0;break}o=o.parent}return n}(t,r))return!1;var a=this.mapper.extractFromTask(t.data,"start"),s=this.mapper.extractFromTask(t.data,"end"),l=this.mapper.extractFromTask(r.data,"start"),p=this.mapper.extractFromTask(r.data,"end");switch(this.mapper.extractFromDependency(e,"type")){case u.DependencyType.FF:return s<=p;case u.DependencyType.FS:return s<=l;case u.DependencyType.SF:return a<=p;case u.DependencyType.SS:return a<=l;default:return!1}},P.prototype.handleKeydown=function(e){var t,n,i,o,r,a,s,l,p,d,c,u,g=this,m=e.keyCode,h=e.target,f=e.altKey,y=this.timeline.timelineContent.nativeElement.contains(h),f=(y&&(l=m,[k.Keys.ArrowUp,k.Keys.ArrowDown].some(function(e){return l===e})?(p=m===k.Keys.ArrowUp?-1:1,this.navigation.activeTimelineIndex=this.activeTimelineIndex+p,this.navigation.updateActiveTreeListCell()):m===k.Keys.Home?(this.navigation.activeTimelineIndex=0,this.navigation.updateActiveTreeListCell()):m===k.Keys.End&&(p=this.treeList.view.data.length-1,this.navigation.activeTimelineIndex=p,this.navigation.updateActiveTreeListCell()),s=m,[k.Keys.ArrowUp,k.Keys.ArrowDown,k.Keys.Home,k.Keys.End].some(function(e){return s===e})&&(this.navigation.scrollHorizontallyToTask(),this.scrollSyncService.syncScrollTop("timeline","treelist"),this.navigation.notifyTaskStatusChange(),e.preventDefault()),m===k.Keys.Space&&k.hasObservers(this.selectionChange)&&(t=this.renderedTreeListItems[this.activeTimelineIndex],n=this.getSelectionAction(e,t),v(t)&&!this.isSameSelection(n,t)&&this.zone.run(function(){return g.notifySelectionChange(t,n)}),e.preventDefault()),m===k.Keys.Enter&&k.hasObservers(this.taskClick)&&(i=this.renderedTreeListItems[this.activeTimelineIndex],v(i)&&this.zone.run(function(){return g.notifyTaskClick(e,i,g.activeTimelineIndex)}),e.preventDefault()),a=m,f)&&[k.Keys.ArrowLeft,k.Keys.ArrowRight].some(function(e){return a===e})&&(o=this.renderedTreeListItems[this.activeTimelineIndex],v(o)&&this.hasChildren(o)&&(r=m===k.Keys.ArrowRight,p=this.isExpanded(o),r!==p)&&this.zone.run(function(){var e={dataItem:o};(r?g.rowExpand:g.rowCollapse).emit(e),g.expandStateChange.emit(Object.assign(Object.assign({},e),{expand:r})),g.updateView(),g.navigation.scrollHorizontallyToTask()}),e.preventDefault()),this.treeList.wrapper.nativeElement.contains(h));m===k.Keys.Delete&&(y||f)&&k.hasObservers(this.taskDelete)&&(p=f?this.treeList.activeCell.dataRowIndex:this.activeTimelineIndex,d=this.renderedTreeListItems[p],v(d))&&this.zone.run(function(){return g.notifyTaskDelete(d)}),u=m,![k.Keys.Digit1,be.Digit1,k.Keys.Digit2,be.Digit2,k.Keys.Digit3,be.Digit3,k.Keys.Digit4,be.Digit4].some(function(e){return u===e})||function(e,t){e=k.closestInScope(e,k.matchesClasses("k-gantt-toolbar"),t);return v(e)}(h,this.hostElement.nativeElement)||this.isInEditMode||(y=function(e){switch(e){case be.Digit1:case k.Keys.Digit1:return 0;case be.Digit2:case k.Keys.Digit2:return 1;case be.Digit3:case k.Keys.Digit3:return 2;case be.Digit4:case k.Keys.Digit4:return 3;default:return null}}(m),c=this.views.toArray()[y],v(c)&&c.type!==this.activeView&&this.zone.run(function(){return g.changeActiveView(c.type)}))},P);function P(e,t,n,i,o,r,a,s,l,p,d){var c=this;this.timelineViewService=e,this.scrollSyncService=t,this.renderer=n,this.mapper=i,this.optionChangesService=o,this.dependencyDomService=r,this.editService=a,this.localizationService=s,this.hostElement=l,this.zone=p,this.navigation=d,this.roleDescription="Gantt Chart",this.role="application",this.hostClasses=!0,this.isSelected=_t,this.validateNewDependency=this.defaultValidateNewDependencyCallback.bind(this),this.selectionChange=new g.EventEmitter,this.selectable=!1,this.dependencies=[],this.sortable=!1,this.sort=[],this.filterable=!1,this.workDayStart="08:00",this.workDayEnd="17:00",this.workWeekStart=1,this.workWeekEnd=5,this.navigable=!1,this.columnsAutoSize=!1,this.columnMenu=!1,this.columnsReorderable=!1,this.columnsResizable=!1,this.rowExpand=new g.EventEmitter,this.taskDblClick=new g.EventEmitter,this.cellDblClick=new g.EventEmitter,this.cellClose=new g.EventEmitter,this.taskDelete=new g.EventEmitter,this.rowCollapse=new g.EventEmitter,this.remove=new g.EventEmitter,this.cancel=new g.EventEmitter,this.save=new g.EventEmitter,this.taskAdd=new g.EventEmitter,this.dependencyAdd=new g.EventEmitter,this.sortChange=new g.EventEmitter,this.filterChange=new g.EventEmitter,this.dataStateChange=new g.EventEmitter,this.treeListPaneCollapsedChange=new g.EventEmitter,this.timelinePaneCollapsedChange=new g.EventEmitter,this.timelinePaneSizeChange=new g.EventEmitter,this.activeViewChange=new g.EventEmitter,this.columnResize=new g.EventEmitter,this.columnReorder=new g.EventEmitter,this.columnVisibilityChange=new g.EventEmitter,this.columnLockedChange=new g.EventEmitter,this.cellClick=new g.EventEmitter,this.taskClick=new g.EventEmitter,this.renderDependencyDragClues=!1,this.expandStateChange=new g.EventEmitter,this.showEditingDialog=!1,this.showConfirmationDialog=!1,this._columns=new g.QueryList,this._data=[],this._dragScrollSettings=Object.assign({},Dn),this._timelinePaneOptions=Object.assign({},Xt),this._treeListPaneOptions=Object.assign({},Qt),this._rowClass=qt,this._taskClass=Ht,this._activeView="week",this._toolbarSettings={position:"top",addTaskTool:"none",viewSelectorTool:"top"},this._fetchChildren=Wt,this._hasChildren=zt,this.rtl=!1,this.optionChangesSubscriptions=new m.Subscription,this.editServiceSubscription=new m.Subscription,B.validatePackage(Ie),this.optionChangesSubscriptions.add(this.optionChangesService.viewChanges.subscribe(function(){c.loadTimelineData()})),this.optionChangesSubscriptions.add(this.optionChangesService.columnChanges.subscribe(function(){c.treeList.columns.notifyOnChanges()})),this.editService.getSelectedItem=this.getFirstSelectedItem.bind(this),this.editServiceSubscription.add(this.editService.showEditingDialog.subscribe(function(e){return c.showEditingDialog=e})),this.editServiceSubscription.add(this.editService.taskDelete.subscribe(function(e){k.hasObservers(c.taskDelete)&&c.zone.run(function(){return c.notifyTaskDelete(e)})})),this.editServiceSubscription.add(this.editService.editEvent.subscribe(function(e){c[e.editResultType].emit({taskFormGroup:e.taskFormGroup,item:an(e.dataItem,c.treeList.view.data,c.mapper),dependencies:e.dependencies,sender:c}),c.showConfirmationDialog=c.showEditingDialog=!1,c.editService.dataItem=c.editService.taskFormGroup=null,c.updateView(),c.navigable&&c.focus()})),this.editServiceSubscription.add(this.editService.addEvent.subscribe(function(e){var t=c.getFirstSelectedItem();c.taskAdd.emit({actionType:e.actionType,selectedItem:t?an(t,c.treeList.view.data,c.mapper):null}),c.updateView()})),this.localizationSubscription=this.localizationService.changes.subscribe(function(e){e=e.rtl;c.rtl=e,c.direction=c.rtl?"rtl":"ltr"})}A.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:A,deps:[{token:D},{token:T},{token:n.Renderer2},{token:b},{token:w},{token:C},{token:E},{token:s.LocalizationService},{token:n.ElementRef},{token:n.NgZone},{token:x}],target:n.ɵɵFactoryTarget.Component}),A.ɵcmp=n.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:A,selector:"kendo-gantt",inputs:{roleDescription:["aria-roledescription","roleDescription"],role:"role",taskModelFields:"taskModelFields",dependencyModelFields:"dependencyModelFields",activeView:"activeView",data:"data",isSelected:"isSelected",validateNewDependency:"validateNewDependency",selectable:"selectable",toolbarSettings:"toolbarSettings",fetchChildren:"fetchChildren",hasChildren:"hasChildren",dependencies:"dependencies",sortable:"sortable",sort:"sort",filterable:"filterable",filter:"filter",workDayStart:"workDayStart",workDayEnd:"workDayEnd",workWeekStart:"workWeekStart",workWeekEnd:"workWeekEnd",navigable:"navigable",timelinePaneOptions:"timelinePaneOptions",treeListPaneOptions:"treeListPaneOptions",taskClass:"taskClass",rowClass:"rowClass",isExpanded:"isExpanded",columnsAutoSize:"columnsAutoSize",columnMenu:"columnMenu",columnsReorderable:"columnsReorderable",columnsResizable:"columnsResizable",dragScrollSettings:"dragScrollSettings"},outputs:{selectionChange:"selectionChange",rowExpand:"rowExpand",taskDblClick:"taskDblClick",cellDblClick:"cellDblClick",cellClose:"cellClose",taskDelete:"taskDelete",rowCollapse:"rowCollapse",remove:"remove",cancel:"cancel",save:"save",taskAdd:"taskAdd",dependencyAdd:"dependencyAdd",sortChange:"sortChange",filterChange:"filterChange",dataStateChange:"dataStateChange",treeListPaneCollapsedChange:"treeListPaneCollapsedChange",timelinePaneCollapsedChange:"timelinePaneCollapsedChange",timelinePaneSizeChange:"timelinePaneSizeChange",activeViewChange:"activeViewChange",columnResize:"columnResize",columnReorder:"columnReorder",columnVisibilityChange:"columnVisibilityChange",columnLockedChange:"columnLockedChange",cellClick:"cellClick",taskClick:"taskClick"},host:{properties:{"attr.aria-roledescription":"this.hostRoleDescriptionAttr","attr.role":"this.hostRoleAttr","class.k-gantt":"this.hostClasses","attr.dir":"this.dir"}},providers:[Ut,z.LocalizationService,{provide:e.DataBoundTreeComponent,useExisting:g.forwardRef(function(){return A})},{provide:e.ExpandableTreeComponent,useExisting:g.forwardRef(function(){return A})},D,Pe,je,Me,Ve,T,C,b,w,E,ct,x],queries:[{propertyName:"taskContentTemplate",first:!0,predicate:tn,descendants:!0},{propertyName:"taskTemplate",first:!0,predicate:Jt,descendants:!0},{propertyName:"summaryTaskTemplate",first:!0,predicate:en,descendants:!0},{propertyName:"toolbarTemplateChildren",predicate:nn},{propertyName:"columns",predicate:V},{propertyName:"views",predicate:L}],viewQueries:[{propertyName:"treeList",first:!0,predicate:e.TreeListComponent,descendants:!0,static:!0},{propertyName:"timeline",first:!0,predicate:bt,descendants:!0}],exportAs:["kendoGantt"],usesOnChanges:!0,ngImport:n,template:'\n <ng-container kendoGanttLocalizedMessages\n i18n-taskEditingGeneralTabTitle="kendo.gantt.taskEditingGeneralTabTitle|The title of the \'General\' tab of the editing dialog TabStrip"\n taskEditingGeneralTabTitle="General"\n\n i18n-taskEditingPredecessorsTabTitle="kendo.gantt.taskEditingPredecessorsTabTitle|The title of the \'Predecessors\' dependencies tab of the editing dialog TabStrip"\n taskEditingPredecessorsTabTitle="Predecessors"\n\n i18n-taskEditingSuccessorsTabTitle="kendo.gantt.taskEditingSuccessorsTabTitle|The title of the \'Successors\' dependencies tab of the editing dialog TabStrip"\n taskEditingSuccessorsTabTitle="Successors"\n\n i18n-taskEditingDependenciesAddButtonText="kendo.gantt.taskEditingDependenciesAddButtonText|The text of the \'Add\' button in the dependencies tabs of the editing dialog TabStrip"\n taskEditingDependenciesAddButtonText="Add"\n\n i18n-taskEditingDependenciesRemoveButtonText="kendo.gantt.taskEditingDependenciesRemoveButtonText|The text of the \'Remove\' button in the dependencies tabs of the editing dialog TabStrip"\n taskEditingDependenciesRemoveButtonText="Remove"\n\n i18n-taskEditingDependenciesGridNameColumnTitle="kendo.gantt.taskEditingDependenciesGridNameColumnTitle|The title of the \'Task Title\' Grid column in the dependencies tabs of the editing dialog TabStrip"\n taskEditingDependenciesGridNameColumnTitle="Task Title"\n\n i18n-taskEditingDependenciesGridTypeColumnTitle="kendo.gantt.taskEditingDependenciesGridTypeColumnTitle|The title of the \'Type\' Grid column in the dependencies tabs of the editing dialog TabStrip"\n taskEditingDependenciesGridTypeColumnTitle="Type"\n\n i18n-taskDeleteLabel="kendo.gantt.taskDeleteLabel|The label of the task delete icon"\n taskDeleteLabel="Delete"\n\n i18n-taskEditingDialogTitle="kendo.gantt.taskEditingDialogTitle|The title of the task editing dialog"\n taskEditingDialogTitle="Editing Task"\n\n i18n-taskEditingDialogCloseTitle="kendo.gantt.taskEditingDialogCloseTitle|The title of the task editing dialog close button"\n taskEditingDialogCloseTitle="Close"\n\n i18n-confirmationDialogCloseTitle="kendo.gantt.confirmationDialogCloseTitle|The title of the confirmation dialog close button"\n confirmationDialogCloseTitle="Close"\n\n i18n-confirmationDialogTitle="kendo.gantt.confirmationDialogTitle|The title of the delete task confirmation dialog"\n confirmationDialogTitle="Delete Task"\n\n i18n-confirmationDialogContent="kendo.gantt.confirmationDialogContent|The content of the delete task confirmation dialog"\n confirmationDialogContent="Are you sure you want to delete this task?"\n\n i18n-deleteButtonText="kendo.gantt.deleteButtonText|The text of the task editing dialog \'Delete\' button"\n deleteButtonText="Delete"\n\n i18n-cancelButtonText="kendo.gantt.cancelButtonText|The text of the task editing dialog \'Cancel\' button"\n cancelButtonText="Cancel"\n\n i18n-saveButtonText="kendo.gantt.saveButtonText|The text of the task editing dialog \'Save\' button"\n saveButtonText="Save"\n\n i18n-titleFieldInputLabel="kendo.gantt.titleFieldInputLabel|The label of the \'title\' field input in editing mode"\n titleFieldInputLabel="Title"\n\n i18n-startFieldInputLabel="kendo.gantt.startFieldInputLabel|The label of the \'start\' field input in editing mode"\n startFieldInputLabel="Start"\n\n i18n-endFieldInputLabel="kendo.gantt.endFieldInputLabel|The label of the \'end\' field input in editing mode"\n endFieldInputLabel="End"\n\n i18n-completionRatioFieldInputLabel="kendo.gantt.completionRatioFieldInputLabel|The label of the \'completionRatio\' field input in editing mode"\n completionRatioFieldInputLabel="Progress"\n\n i18n-dayViewText="kendo.gantt.dayViewText|The text of the day view in the ViewSelector component"\n dayViewText="Day"\n\n i18n-weekViewText="kendo.gantt.weekViewText|The text of the week view in the ViewSelector component"\n weekViewText="Week"\n\n i18n-monthViewText="kendo.gantt.monthViewText|The text of the month view in the ViewSelector component"\n monthViewText="Month"\n\n i18n-yearViewText-disabled="kendo.gantt.yearViewText|The text of the year view in the ViewSelector component"\n yearViewText="Year"\n\n i18n-addTaskText="kendo.gantt.addTaskText|The text of the DropDownButton in the AddTask component"\n addTaskText="Add Task"\n\n i18n-addChildText="kendo.gantt.addChildText|The text of the \'Add Child\' option in the AddTask component"\n addChildText="Add Child"\n\n i18n-addAboveText="kendo.gantt.addAboveText|The text of the \'Add Above\' option in the AddTask component"\n addAboveText="Add Above"\n\n i18n-addBelowText="kendo.gantt.addBelowText|The text of the \'Add Below\' option in the AddTask component"\n addBelowText="Add Below"\n\n i18n-noRecords="kendo.gantt.noRecords|The label visible in the TreeList when there are no records"\n noRecords="No records available."\n\n i18n-filter="kendo.gantt.filter|The label of the filter cell or icon"\n filter="Filter"\n\n i18n-filterEqOperator="kendo.gantt.filterEqOperator|The text of the equal filter operator"\n filterEqOperator="Is equal to"\n\n i18n-filterNotEqOperator="kendo.gantt.filterNotEqOperator|The text of the not equal filter operator"\n filterNotEqOperator="Is not equal to"\n\n i18n-filterIsNullOperator="kendo.gantt.filterIsNullOperator|The text of the is null filter operator"\n filterIsNullOperator="Is null"\n\n i18n-filterIsNotNullOperator="kendo.gantt.filterIsNotNullOperator|The text of the is not null filter operator"\n filterIsNotNullOperator="Is not null"\n\n i18n-filterIsEmptyOperator="kendo.gantt.filterIsEmptyOperator|The text of the is empty filter operator"\n filterIsEmptyOperator="Is empty"\n\n i18n-filterIsNotEmptyOperator="kendo.gantt.filterIsNotEmptyOperator|The text of the is not empty filter operator"\n filterIsNotEmptyOperator="Is not empty"\n\n i18n-filterStartsWithOperator="kendo.gantt.filterStartsWithOperator|The text of the starts with filter operator"\n filterStartsWithOperator="Starts with"\n\n i18n-filterContainsOperator="kendo.gantt.filterContainsOperator|The text of the contains filter operator"\n filterContainsOperator="Contains"\n\n i18n-filterNotContainsOperator="kendo.gantt.filterNotContainsOperator|The text of the does not contain filter operator"\n filterNotContainsOperator="Does not contain"\n\n i18n-filterEndsWithOperator="kendo.gantt.filterEndsWithOperator|The text of the ends with filter operator"\n filterEndsWithOperator="Ends with"\n\n i18n-filterGteOperator="kendo.gantt.filterGteOperator|The text of the greater than or equal filter operator"\n filterGteOperator="Is greater than or equal to"\n\n i18n-filterGtOperator="kendo.gantt.filterGtOperator|The text of the greater than filter operator"\n filterGtOperator="Is greater than"\n\n i18n-filterLteOperator="kendo.gantt.filterLteOperator|The text of the less than or equal filter operator"\n filterLteOperator="Is less than or equal to"\n\n i18n-filterLtOperator="kendo.gantt.filterLtOperator|The text of the less than filter operator"\n filterLtOperator="Is less than"\n\n i18n-filterIsTrue="kendo.gantt.filterIsTrue|The text of the IsTrue boolean filter option"\n filterIsTrue="Is True"\n\n i18n-filterIsFalse="kendo.gantt.filterIsFalse|The text of the IsFalse boolean filter option"\n filterIsFalse="Is False"\n\n i18n-filterBooleanAll="kendo.gantt.filterBooleanAll|The text of the (All) boolean filter option"\n filterBooleanAll="(All)"\n\n i18n-filterAfterOrEqualOperator="kendo.gantt.filterAfterOrEqualOperator|The text of the after or equal date filter operator"\n filterAfterOrEqualOperator="Is after or equal to"\n\n i18n-filterAfterOperator="kendo.gantt.filterAfterOperator|The text of the after date filter operator"\n filterAfterOperator="Is after"\n\n i18n-filterBeforeOperator="kendo.gantt.filterBeforeOperator|The text of the before date filter operator"\n filterBeforeOperator="Is before"\n\n i18n-filterBeforeOrEqualOperator="kendo.gantt.filterBeforeOrEqualOperator|The text of the before or equal date filter operator"\n filterBeforeOrEqualOperator="Is before or equal to"\n\n i18n-filterFilterButton="kendo.gantt.filterFilterButton|The text of the filter button"\n filterFilterButton="Filter"\n\n i18n-filterClearButton="kendo.gantt.filterClearButton|The text of the clear filter button"\n filterClearButton="Clear"\n\n i18n-filterAndLogic="kendo.gantt.filterAndLogic|The text of the And filter logic"\n filterAndLogic="And"\n\n i18n-filterOrLogic="kendo.gantt.filterOrLogic|The text of the Or filter logic"\n filterOrLogic="Or"\n\n i18n-loading="kendo.gantt.loading|The loading text"\n loading="Loading"\n\n i18n-columnMenu="kendo.gantt.columnMenu|The title of the column menu icon"\n columnMenu="Column Menu"\n\n i18n-columns="kendo.gantt.columns|The text shown in the column menu for the columns item"\n columns="Columns"\n\n i18n-lock-disabled="kendo.gantt.lock|The text shown in the column menu for the lock item"\n lock-disabled="Lock"\n\n i18n-unlock-disabled="kendo.gantt.unlock|The text shown in the column menu for the unlock item"\n unlock-disabled="Unlock"\n\n i18n-sortable="kendo.gantt.sortable|The label of the sort icon"\n sortable="Sortable"\n\n i18n-sortAscending="kendo.gantt.sortAscending|The text shown in the column menu for the sort ascending item"\n sortAscending="Sort Ascending"\n\n i18n-sortDescending="kendo.gantt.sortDescending|The text shown in the column menu for the sort descending item"\n sortDescending="Sort Descending"\n\n i18n-sortedAscending="kendo.gantt.sortedAscending|The status announcement when a column is sorted ascending"\n sortedAscending="Sorted Ascending"\n\n i18n-sortedDescending="kendo.gantt.sortedDescending|The status announcement when a column is sorted descending"\n sortedDescending="Sorted Descending"\n\n i18n-sortedDefault="kendo.gantt.sortedDefault|The status announcement when a column is no longer sorted"\n sortedDefault="Not Sorted"\n\n i18n-columnsApply="kendo.gantt.columnsApply|The text shown in the column menu or column chooser for the columns apply button"\n columnsApply="Apply"\n\n i18n-columnsReset="kendo.gantt.columnsReset|The text shown in the column menu or column chooser for the columns reset button"\n columnsReset="Reset"></ng-container>\n <kendo-gantt-toolbar\n *ngIf="showToolbar(\'top\')"\n [showAddTask]="toolbarSettings.addTaskTool === \'top\' || toolbarSettings.addTaskTool === \'both\'"\n [showViewSelector]="toolbarSettings.viewSelectorTool === \'top\' || toolbarSettings.viewSelectorTool === \'both\'"\n [toolbarTemplate]="toolbarTemplate"\n [views]="viewTypes"\n [activeView]="activeView"\n class="k-gantt-header k-toolbar k-gantt-toolbar"\n position="top"\n (activeViewChange)="changeActiveView($event)"></kendo-gantt-toolbar>\n <div class="k-gantt-content">\n <kendo-splitter [style.border]="0">\n <kendo-splitter-pane\n class="k-gantt-treelist k-gantt-treelist-scrollable"\n [collapsible]="treeListPaneOptions?.collapsible"\n [collapsed]="treeListPaneOptions?.collapsed"\n (collapsedChange)="onTreeListCollapsedChange($event)"\n [scrollable]="false">\n <kendo-treelist\n [idField]="taskIdField"\n [columns]="columns"\n [data]="data"\n [hasChildren]="hasChildren"\n [fetchChildren]="fetchChildren"\n [navigable]="navigable"\n [isExpanded]="isExpanded"\n [autoSize]="columnsAutoSize"\n [columnMenu]="columnMenu"\n [reorderable]="columnsReorderable"\n [resizable]="columnsResizable"\n [rowClass]="rowClass"\n [isSelected]="isSelected"\n [selectable]="selectable"\n [sortable]="sortable"\n [sort]="sort"\n [filterable]="filterMenu"\n [filter]="filter"\n (filterChange)="filterChange.emit($event)"\n (sortChange)="sortChange.emit($event)"\n (dataStateChange)="dataStateChange.emit({\n filter: $event.filter,\n sort: $event.sort\n })"\n (expandStateChange)="expandStateChange.emit($event)"\n (expand)="rowExpand.emit({ dataItem: $event.dataItem })"\n (collapse)="rowCollapse.emit({ dataItem: $event.dataItem })"\n (columnReorder)="columnReorder.emit($event)"\n (columnResize)="columnResize.emit($event)"\n (columnVisibilityChange)="handleColumnVisibilityChange($event)"\n (columnLockedChange)="columnLockedChange.emit($event)"\n (selectionChange)="handleTreeListSelectionChange($event)"\n (cellClick)="handleTreeListCellClick($event)"\n (cellClose)="handleCellClose($event)"\n [kendoEventsOutsideAngular]="{\n dblclick: handleTreeListDoubleClick\n }"\n [scope]="this"\n >\n <kendo-treelist-messages\n [noRecords]="getText(\'noRecords\')"\n [filter]="getText(\'filter\')"\n [filterEqOperator]="getText(\'filterEqOperator\')"\n [filterNotEqOperator]="getText(\'filterNotEqOperator\')"\n [filterIsNullOperator]="getText(\'filterIsNullOperator\')"\n [filterIsNotNullOperator]="getText(\'filterIsNotNullOperator\')"\n [filterIsEmptyOperator]="getText(\'filterIsEmptyOperator\')"\n [filterIsNotEmptyOperator]="getText(\'filterIsNotEmptyOperator\')"\n [filterStartsWithOperator]="getText(\'filterStartsWithOperator\')"\n [filterContainsOperator]="getText(\'filterContainsOperator\')"\n [filterNotContainsOperator]="getText(\'filterNotContainsOperator\')"\n [filterEndsWithOperator]="getText(\'filterEndsWithOperator\')"\n [filterGteOperator]="getText(\'filterGteOperator\')"\n [filterGtOperator]="getText(\'filterGtOperator\')"\n [filterLteOperator]="getText(\'filterLteOperator\')"\n [filterLtOperator]="getText(\'filterLtOperator\')"\n [filterIsTrue]="getText(\'filterIsTrue\')"\n [filterIsFalse]="getText(\'filterIsFalse\')"\n [filterBooleanAll]="getText(\'filterBooleanAll\')"\n [filterAfterOrEqualOperator]="getText(\'filterAfterOrEqualOperator\')"\n [filterAfterOperator]="getText(\'filterAfterOperator\')"\n [filterBeforeOperator]="getText(\'filterBeforeOperator\')"\n [filterBeforeOrEqualOperator]="getText(\'filterBeforeOrEqualOperator\')"\n [filterFilterButton]="getText(\'filterFilterButton\')"\n [filterClearButton]="getText(\'filterClearButton\')"\n [filterAndLogic]="getText(\'filterAndLogic\')"\n [filterOrLogic]="getText(\'filterOrLogic\')"\n [loading]="getText(\'loading\')"\n [columnMenu]="getText(\'columnMenu\')"\n [columns]="getText(\'columns\')"\n [sortable]="getText(\'sortable\')"\n [sortAscending]="getText(\'sortAscending\')"\n [sortDescending]="getText(\'sortDescending\')"\n [sortedAscending]="getText(\'sortedAscending\')"\n [sortedDescending]="getText(\'sortedDescending\')"\n [sortedDefault]="getText(\'sortedDefault\')"\n [columnsApply]="getText(\'columnsApply\')"\n [columnsReset]="getText(\'columnsReset\')"\n >\n </kendo-treelist-messages>\n </kendo-treelist>\n </kendo-splitter-pane>\n <kendo-splitter-pane\n [collapsible]="timelinePaneOptions?.collapsible"\n [resizable]="timelinePaneOptions?.resizable"\n [collapsed]="timelinePaneOptions?.collapsed"\n [min]="timelinePaneOptions?.min"\n [max]="timelinePaneOptions?.max"\n [size]="timelinePaneOptions?.size"\n (collapsedChange)="onTimelineCollapsedChange($event)"\n (sizeChange)="onTimelinePaneSizeChange($event)"\n [scrollable]="false">\n <kendo-gantt-timeline\n *ngIf="views && views.length"\n [renderDependencyDragClues]="renderDependencyDragClues"\n [dragScrollSettings]="dragScrollSettings"\n [rows]="viewItems"\n [slots]="timelineSlots"\n [groupSlots]="timelineGroupSlots"\n [tableWidth]="tableWidth"\n [activeView]="activeView"\n [taskContentTemplate]="taskContentTemplate?.templateRef"\n [taskTemplate]="taskTemplate?.templateRef"\n [summaryTaskTemplate]="summaryTaskTemplate?.templateRef"\n [taskClass]="taskClass"\n [dependencies]="dependencies"\n [isExpanded]="isExpanded"\n [selectable]="selectable"\n [isTaskSelected]="isTaskSelected"\n [kendoEventsOutsideAngular]="{\n click: handleTimelineClick,\n contextmenu: handleTimelineRightClick,\n dblclick: handleTimelineDblClick,\n mousedown: handleTimelineMouseDown\n }"\n [scope]="this"\n ></kendo-gantt-timeline>\n </kendo-splitter-pane>\n </kendo-splitter>\n </div>\n <kendo-gantt-toolbar\n *ngIf="showToolbar(\'bottom\')"\n [showAddTask]="toolbarSettings.addTaskTool === \'bottom\' || toolbarSettings.addTaskTool === \'both\'"\n [showViewSelector]="toolbarSettings.viewSelectorTool === \'bottom\' || toolbarSettings.viewSelectorTool === \'both\'"\n [toolbarTemplate]="toolbarTemplate"\n [views]="viewTypes"\n [activeView]="activeView"\n class="k-gantt-footer k-toolbar k-gantt-toolbar"\n position="bottom"></kendo-gantt-toolbar>\n <kendo-gantt-edit-dialog\n *ngIf="showEditingDialog"\n [data]="data">\n </kendo-gantt-edit-dialog>\n <kendo-dialog\n *ngIf="showConfirmationDialog"\n [width]="575"\n [height]="170"\n [title]="getText(\'confirmationDialogTitle\')"\n (close)="handleConfirmationDialogClose()">\n <span>{{ getText(\'confirmationDialogContent\') }}</span>\n <kendo-dialog-actions layout="normal">\n <kendo-treelist-spacer></kendo-treelist-spacer>\n <button kendoButton [primary]="true" (click)="handleDeleteConfirmation()">{{ getText(\'deleteButtonText\') }}</button>\n <button kendoButton (click)="handleConfirmationDialogClose()">{{ getText(\'cancelButtonText\') }}</button>\n </kendo-dialog-actions>\n </kendo-dialog>\n ',isInline:!0,components:[{type:un,selector:"kendo-gantt-toolbar",inputs:["showAddTask","showViewSelector","views","activeView","toolbarTemplate","position"],outputs:["activeViewChange"]},{type:p.SplitterComponent,selector:"kendo-splitter",inputs:["orientation","resizeStep"],outputs:["layoutChange"],exportAs:["kendoSplitter"]},{type:p.SplitterPaneComponent,selector:"kendo-splitter-pane",inputs:["order","size","separatorLabel","min","max","resizable","collapsible","scrollable","collapsed","orientation","containsSplitter","overlayContent"],outputs:["sizeChange","collapsedChange"],exportAs:["kendoSplitterPane"]},{type:Q.TreeListComponent,selector:"kendo-treelist",inputs:["aria-label","data","pageSize","height","rowHeight","skip","scrollable","sort","trackBy","filter","virtualColumns","filterable","sortable","pageable","navigable","navigatable","autoSize","rowClass","resizable","reorderable","loading","columnMenu","hideHeader","idField","selectable","isSelected","columns","fetchChildren","hasChildren","isExpanded"],outputs:["selectionChange","filterChange","pageChange","sortChange","dataStateChange","edit","cancel","save","remove","add","cellClose","cellClick","pdfExport","excelExport","columnResize","columnReorder","columnVisibilityChange","columnLockedChange","scrollBottom","contentScroll","expand","collapse","expandStateChange"],exportAs:["kendoTreeList"]},{type:Q.CustomMessagesComponent,selector:"kendo-treelist-messages"},{type:bt,selector:"kendo-gantt-timeline",inputs:["rows","slots","groupSlots","tableWidth","activeView","taskContentTemplate","taskTemplate","summaryTaskTemplate","taskClass","renderDependencyDragClues","dragScrollSettings","selectable","isTaskSelected","isExpanded","dependencies"],outputs:["timelineContainerPress","timelineContainerDrag","timelineContainerRelease"]},{type:ee,selector:"kendo-gantt-edit-dialog",inputs:["data"]},{type:d.DialogComponent,selector:"kendo-dialog",inputs:["actions","actionsLayout","autoFocusedElement","title","width","minWidth","maxWidth","height","minHeight","maxHeight","animation"],outputs:["action","close"],exportAs:["kendoDialog"]},{type:d.DialogActionsComponent,selector:"kendo-dialog-actions",inputs:["actions","layout"],outputs:["action"]},{type:Q.TreeListSpacerComponent,selector:"kendo-treelist-spacer, kendo-treelist-pager-spacer",inputs:["width"]}],directives:[{type:bn,selector:"[kendoGanttLocalizedMessages]"},{type:r.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]},{type:i.EventsOutsideAngularDirective,selector:"[kendoEventsOutsideAngular]",inputs:["kendoEventsOutsideAngular","scope"]},{type:j.ButtonDirective,selector:"button[kendoButton], span[kendoButton]",inputs:["toggleable","togglable","selected","tabIndex","icon","iconClass","imageUrl","disabled","size","rounded","fillMode","themeColor","role","primary","look"],outputs:["selectedChange","click"],exportAs:["kendoButton"]}]}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:A,decorators:[{type:g.Component,args:[{selector:"kendo-gantt",exportAs:"kendoGantt",providers:[Ut,z.LocalizationService,{provide:e.DataBoundTreeComponent,useExisting:g.forwardRef(function(){return A})},{provide:e.ExpandableTreeComponent,useExisting:g.forwardRef(function(){return A})},D,Pe,je,Me,Ve,T,C,b,w,E,ct,x],template:'\n <ng-container kendoGanttLocalizedMessages\n i18n-taskEditingGeneralTabTitle="kendo.gantt.taskEditingGeneralTabTitle|The title of the \'General\' tab of the editing dialog TabStrip"\n taskEditingGeneralTabTitle="General"\n\n i18n-taskEditingPredecessorsTabTitle="kendo.gantt.taskEditingPredecessorsTabTitle|The title of the \'Predecessors\' dependencies tab of the editing dialog TabStrip"\n taskEditingPredecessorsTabTitle="Predecessors"\n\n i18n-taskEditingSuccessorsTabTitle="kendo.gantt.taskEditingSuccessorsTabTitle|The title of the \'Successors\' dependencies tab of the editing dialog TabStrip"\n taskEditingSuccessorsTabTitle="Successors"\n\n i18n-taskEditingDependenciesAddButtonText="kendo.gantt.taskEditingDependenciesAddButtonText|The text of the \'Add\' button in the dependencies tabs of the editing dialog TabStrip"\n taskEditingDependenciesAddButtonText="Add"\n\n i18n-taskEditingDependenciesRemoveButtonText="kendo.gantt.taskEditingDependenciesRemoveButtonText|The text of the \'Remove\' button in the dependencies tabs of the editing dialog TabStrip"\n taskEditingDependenciesRemoveButtonText="Remove"\n\n i18n-taskEditingDependenciesGridNameColumnTitle="kendo.gantt.taskEditingDependenciesGridNameColumnTitle|The title of the \'Task Title\' Grid column in the dependencies tabs of the editing dialog TabStrip"\n taskEditingDependenciesGridNameColumnTitle="Task Title"\n\n i18n-taskEditingDependenciesGridTypeColumnTitle="kendo.gantt.taskEditingDependenciesGridTypeColumnTitle|The title of the \'Type\' Grid column in the dependencies tabs of the editing dialog TabStrip"\n taskEditingDependenciesGridTypeColumnTitle="Type"\n\n i18n-taskDeleteLabel="kendo.gantt.taskDeleteLabel|The label of the task delete icon"\n taskDeleteLabel="Delete"\n\n i18n-taskEditingDialogTitle="kendo.gantt.taskEditingDialogTitle|The title of the task editing dialog"\n taskEditingDialogTitle="Editing Task"\n\n i18n-taskEditingDialogCloseTitle="kendo.gantt.taskEditingDialogCloseTitle|The title of the task editing dialog close button"\n taskEditingDialogCloseTitle="Close"\n\n i18n-confirmationDialogCloseTitle="kendo.gantt.confirmationDialogCloseTitle|The title of the confirmation dialog close button"\n confirmationDialogCloseTitle="Close"\n\n i18n-confirmationDialogTitle="kendo.gantt.confirmationDialogTitle|The title of the delete task confirmation dialog"\n confirmationDialogTitle="Delete Task"\n\n i18n-confirmationDialogContent="kendo.gantt.confirmationDialogContent|The content of the delete task confirmation dialog"\n confirmationDialogContent="Are you sure you want to delete this task?"\n\n i18n-deleteButtonText="kendo.gantt.deleteButtonText|The text of the task editing dialog \'Delete\' button"\n deleteButtonText="Delete"\n\n i18n-cancelButtonText="kendo.gantt.cancelButtonText|The text of the task editing dialog \'Cancel\' button"\n cancelButtonText="Cancel"\n\n i18n-saveButtonText="kendo.gantt.saveButtonText|The text of the task editing dialog \'Save\' button"\n saveButtonText="Save"\n\n i18n-titleFieldInputLabel="kendo.gantt.titleFieldInputLabel|The label of the \'title\' field input in editing mode"\n titleFieldInputLabel="Title"\n\n i18n-startFieldInputLabel="kendo.gantt.startFieldInputLabel|The label of the \'start\' field input in editing mode"\n startFieldInputLabel="Start"\n\n i18n-endFieldInputLabel="kendo.gantt.endFieldInputLabel|The label of the \'end\' field input in editing mode"\n endFieldInputLabel="End"\n\n i18n-completionRatioFieldInputLabel="kendo.gantt.completionRatioFieldInputLabel|The label of the \'completionRatio\' field input in editing mode"\n completionRatioFieldInputLabel="Progress"\n\n i18n-dayViewText="kendo.gantt.dayViewText|The text of the day view in the ViewSelector component"\n dayViewText="Day"\n\n i18n-weekViewText="kendo.gantt.weekViewText|The text of the week view in the ViewSelector component"\n weekViewText="Week"\n\n i18n-monthViewText="kendo.gantt.monthViewText|The text of the month view in the ViewSelector component"\n monthViewText="Month"\n\n i18n-yearViewText-disabled="kendo.gantt.yearViewText|The text of the year view in the ViewSelector component"\n yearViewText="Year"\n\n i18n-addTaskText="kendo.gantt.addTaskText|The text of the DropDownButton in the AddTask component"\n addTaskText="Add Task"\n\n i18n-addChildText="kendo.gantt.addChildText|The text of the \'Add Child\' option in the AddTask component"\n addChildText="Add Child"\n\n i18n-addAboveText="kendo.gantt.addAboveText|The text of the \'Add Above\' option in the AddTask component"\n addAboveText="Add Above"\n\n i18n-addBelowText="kendo.gantt.addBelowText|The text of the \'Add Below\' option in the AddTask component"\n addBelowText="Add Below"\n\n i18n-noRecords="kendo.gantt.noRecords|The label visible in the TreeList when there are no records"\n noRecords="No records available."\n\n i18n-filter="kendo.gantt.filter|The label of the filter cell or icon"\n filter="Filter"\n\n i18n-filterEqOperator="kendo.gantt.filterEqOperator|The text of the equal filter operator"\n filterEqOperator="Is equal to"\n\n i18n-filterNotEqOperator="kendo.gantt.filterNotEqOperator|The text of the not equal filter operator"\n filterNotEqOperator="Is not equal to"\n\n i18n-filterIsNullOperator="kendo.gantt.filterIsNullOperator|The text of the is null filter operator"\n filterIsNullOperator="Is null"\n\n i18n-filterIsNotNullOperator="kendo.gantt.filterIsNotNullOperator|The text of the is not null filter operator"\n filterIsNotNullOperator="Is not null"\n\n i18n-filterIsEmptyOperator="kendo.gantt.filterIsEmptyOperator|The text of the is empty filter operator"\n filterIsEmptyOperator="Is empty"\n\n i18n-filterIsNotEmptyOperator="kendo.gantt.filterIsNotEmptyOperator|The text of the is not empty filter operator"\n filterIsNotEmptyOperator="Is not empty"\n\n i18n-filterStartsWithOperator="kendo.gantt.filterStartsWithOperator|The text of the starts with filter operator"\n filterStartsWithOperator="Starts with"\n\n i18n-filterContainsOperator="kendo.gantt.filterContainsOperator|The text of the contains filter operator"\n filterContainsOperator="Contains"\n\n i18n-filterNotContainsOperator="kendo.gantt.filterNotContainsOperator|The text of the does not contain filter operator"\n filterNotContainsOperator="Does not contain"\n\n i18n-filterEndsWithOperator="kendo.gantt.filterEndsWithOperator|The text of the ends with filter operator"\n filterEndsWithOperator="Ends with"\n\n i18n-filterGteOperator="kendo.gantt.filterGteOperator|The text of the greater than or equal filter operator"\n filterGteOperator="Is greater than or equal to"\n\n i18n-filterGtOperator="kendo.gantt.filterGtOperator|The text of the greater than filter operator"\n filterGtOperator="Is greater than"\n\n i18n-filterLteOperator="kendo.gantt.filterLteOperator|The text of the less than or equal filter operator"\n filterLteOperator="Is less than or equal to"\n\n i18n-filterLtOperator="kendo.gantt.filterLtOperator|The text of the less than filter operator"\n filterLtOperator="Is less than"\n\n i18n-filterIsTrue="kendo.gantt.filterIsTrue|The text of the IsTrue boolean filter option"\n filterIsTrue="Is True"\n\n i18n-filterIsFalse="kendo.gantt.filterIsFalse|The text of the IsFalse boolean filter option"\n filterIsFalse="Is False"\n\n i18n-filterBooleanAll="kendo.gantt.filterBooleanAll|The text of the (All) boolean filter option"\n filterBooleanAll="(All)"\n\n i18n-filterAfterOrEqualOperator="kendo.gantt.filterAfterOrEqualOperator|The text of the after or equal date filter operator"\n filterAfterOrEqualOperator="Is after or equal to"\n\n i18n-filterAfterOperator="kendo.gantt.filterAfterOperator|The text of the after date filter operator"\n filterAfterOperator="Is after"\n\n i18n-filterBeforeOperator="kendo.gantt.filterBeforeOperator|The text of the before date filter operator"\n filterBeforeOperator="Is before"\n\n i18n-filterBeforeOrEqualOperator="kendo.gantt.filterBeforeOrEqualOperator|The text of the before or equal date filter operator"\n filterBeforeOrEqualOperator="Is before or equal to"\n\n i18n-filterFilterButton="kendo.gantt.filterFilterButton|The text of the filter button"\n filterFilterButton="Filter"\n\n i18n-filterClearButton="kendo.gantt.filterClearButton|The text of the clear filter button"\n filterClearButton="Clear"\n\n i18n-filterAndLogic="kendo.gantt.filterAndLogic|The text of the And filter logic"\n filterAndLogic="And"\n\n i18n-filterOrLogic="kendo.gantt.filterOrLogic|The text of the Or filter logic"\n filterOrLogic="Or"\n\n i18n-loading="kendo.gantt.loading|The loading text"\n loading="Loading"\n\n i18n-columnMenu="kendo.gantt.columnMenu|The title of the column menu icon"\n columnMenu="Column Menu"\n\n i18n-columns="kendo.gantt.columns|The text shown in the column menu for the columns item"\n columns="Columns"\n\n i18n-lock-disabled="kendo.gantt.lock|The text shown in the column menu for the lock item"\n lock-disabled="Lock"\n\n i18n-unlock-disabled="kendo.gantt.unlock|The text shown in the column menu for the unlock item"\n unlock-disabled="Unlock"\n\n i18n-sortable="kendo.gantt.sortable|The label of the sort icon"\n sortable="Sortable"\n\n i18n-sortAscending="kendo.gantt.sortAscending|The text shown in the column menu for the sort ascending item"\n sortAscending="Sort Ascending"\n\n i18n-sortDescending="kendo.gantt.sortDescending|The text shown in the column menu for the sort descending item"\n sortDescending="Sort Descending"\n\n i18n-sortedAscending="kendo.gantt.sortedAscending|The status announcement when a column is sorted ascending"\n sortedAscending="Sorted Ascending"\n\n i18n-sortedDescending="kendo.gantt.sortedDescending|The status announcement when a column is sorted descending"\n sortedDescending="Sorted Descending"\n\n i18n-sortedDefault="kendo.gantt.sortedDefault|The status announcement when a column is no longer sorted"\n sortedDefault="Not Sorted"\n\n i18n-columnsApply="kendo.gantt.columnsApply|The text shown in the column menu or column chooser for the columns apply button"\n columnsApply="Apply"\n\n i18n-columnsReset="kendo.gantt.columnsReset|The text shown in the column menu or column chooser for the columns reset button"\n columnsReset="Reset"></ng-container>\n <kendo-gantt-toolbar\n *ngIf="showToolbar(\'top\')"\n [showAddTask]="toolbarSettings.addTaskTool === \'top\' || toolbarSettings.addTaskTool === \'both\'"\n [showViewSelector]="toolbarSettings.viewSelectorTool === \'top\' || toolbarSettings.viewSelectorTool === \'both\'"\n [toolbarTemplate]="toolbarTemplate"\n [views]="viewTypes"\n [activeView]="activeView"\n class="k-gantt-header k-toolbar k-gantt-toolbar"\n position="top"\n (activeViewChange)="changeActiveView($event)"></kendo-gantt-toolbar>\n <div class="k-gantt-content">\n <kendo-splitter [style.border]="0">\n <kendo-splitter-pane\n class="k-gantt-treelist k-gantt-treelist-scrollable"\n [collapsible]="treeListPaneOptions?.collapsible"\n [collapsed]="treeListPaneOptions?.collapsed"\n (collapsedChange)="onTreeListCollapsedChange($event)"\n [scrollable]="false">\n <kendo-treelist\n [idField]="taskIdField"\n [columns]="columns"\n [data]="data"\n [hasChildren]="hasChildren"\n [fetchChildren]="fetchChildren"\n [navigable]="navigable"\n [isExpanded]="isExpanded"\n [autoSize]="columnsAutoSize"\n [columnMenu]="columnMenu"\n [reorderable]="columnsReorderable"\n [resizable]="columnsResizable"\n [rowClass]="rowClass"\n [isSelected]="isSelected"\n [selectable]="selectable"\n [sortable]="sortable"\n [sort]="sort"\n [filterable]="filterMenu"\n [filter]="filter"\n (filterChange)="filterChange.emit($event)"\n (sortChange)="sortChange.emit($event)"\n (dataStateChange)="dataStateChange.emit({\n filter: $event.filter,\n sort: $event.sort\n })"\n (expandStateChange)="expandStateChange.emit($event)"\n (expand)="rowExpand.emit({ dataItem: $event.dataItem })"\n (collapse)="rowCollapse.emit({ dataItem: $event.dataItem })"\n (columnReorder)="columnReorder.emit($event)"\n (columnResize)="columnResize.emit($event)"\n (columnVisibilityChange)="handleColumnVisibilityChange($event)"\n (columnLockedChange)="columnLockedChange.emit($event)"\n (selectionChange)="handleTreeListSelectionChange($event)"\n (cellClick)="handleTreeListCellClick($event)"\n (cellClose)="handleCellClose($event)"\n [kendoEventsOutsideAngular]="{\n dblclick: handleTreeListDoubleClick\n }"\n [scope]="this"\n >\n <kendo-treelist-messages\n [noRecords]="getText(\'noRecords\')"\n [filter]="getText(\'filter\')"\n [filterEqOperator]="getText(\'filterEqOperator\')"\n [filterNotEqOperator]="getText(\'filterNotEqOperator\')"\n [filterIsNullOperator]="getText(\'filterIsNullOperator\')"\n [filterIsNotNullOperator]="getText(\'filterIsNotNullOperator\')"\n [filterIsEmptyOperator]="getText(\'filterIsEmptyOperator\')"\n [filterIsNotEmptyOperator]="getText(\'filterIsNotEmptyOperator\')"\n [filterStartsWithOperator]="getText(\'filterStartsWithOperator\')"\n [filterContainsOperator]="getText(\'filterContainsOperator\')"\n [filterNotContainsOperator]="getText(\'filterNotContainsOperator\')"\n [filterEndsWithOperator]="getText(\'filterEndsWithOperator\')"\n [filterGteOperator]="getText(\'filterGteOperator\')"\n [filterGtOperator]="getText(\'filterGtOperator\')"\n [filterLteOperator]="getText(\'filterLteOperator\')"\n [filterLtOperator]="getText(\'filterLtOperator\')"\n [filterIsTrue]="getText(\'filterIsTrue\')"\n [filterIsFalse]="getText(\'filterIsFalse\')"\n [filterBooleanAll]="getText(\'filterBooleanAll\')"\n [filterAfterOrEqualOperator]="getText(\'filterAfterOrEqualOperator\')"\n [filterAfterOperator]="getText(\'filterAfterOperator\')"\n [filterBeforeOperator]="getText(\'filterBeforeOperator\')"\n [filterBeforeOrEqualOperator]="getText(\'filterBeforeOrEqualOperator\')"\n [filterFilterButton]="getText(\'filterFilterButton\')"\n [filterClearButton]="getText(\'filterClearButton\')"\n [filterAndLogic]="getText(\'filterAndLogic\')"\n [filterOrLogic]="getText(\'filterOrLogic\')"\n [loading]="getText(\'loading\')"\n [columnMenu]="getText(\'columnMenu\')"\n [columns]="getText(\'columns\')"\n [sortable]="getText(\'sortable\')"\n [sortAscending]="getText(\'sortAscending\')"\n [sortDescending]="getText(\'sortDescending\')"\n [sortedAscending]="getText(\'sortedAscending\')"\n [sortedDescending]="getText(\'sortedDescending\')"\n [sortedDefault]="getText(\'sortedDefault\')"\n [columnsApply]="getText(\'columnsApply\')"\n [columnsReset]="getText(\'columnsReset\')"\n >\n </kendo-treelist-messages>\n </kendo-treelist>\n </kendo-splitter-pane>\n <kendo-splitter-pane\n [collapsible]="timelinePaneOptions?.collapsible"\n [resizable]="timelinePaneOptions?.resizable"\n [collapsed]="timelinePaneOptions?.collapsed"\n [min]="timelinePaneOptions?.min"\n [max]="timelinePaneOptions?.max"\n [size]="timelinePaneOptions?.size"\n (collapsedChange)="onTimelineCollapsedChange($event)"\n (sizeChange)="onTimelinePaneSizeChange($event)"\n [scrollable]="false">\n <kendo-gantt-timeline\n *ngIf="views && views.length"\n [renderDependencyDragClues]="renderDependencyDragClues"\n [dragScrollSettings]="dragScrollSettings"\n [rows]="viewItems"\n [slots]="timelineSlots"\n [groupSlots]="timelineGroupSlots"\n [tableWidth]="tableWidth"\n [activeView]="activeView"\n [taskContentTemplate]="taskContentTemplate?.templateRef"\n [taskTemplate]="taskTemplate?.templateRef"\n [summaryTaskTemplate]="summaryTaskTemplate?.templateRef"\n [taskClass]="taskClass"\n [dependencies]="dependencies"\n [isExpanded]="isExpanded"\n [selectable]="selectable"\n [isTaskSelected]="isTaskSelected"\n [kendoEventsOutsideAngular]="{\n click: handleTimelineClick,\n contextmenu: handleTimelineRightClick,\n dblclick: handleTimelineDblClick,\n mousedown: handleTimelineMouseDown\n }"\n [scope]="this"\n ></kendo-gantt-timeline>\n </kendo-splitter-pane>\n </kendo-splitter>\n </div>\n <kendo-gantt-toolbar\n *ngIf="showToolbar(\'bottom\')"\n [showAddTask]="toolbarSettings.addTaskTool === \'bottom\' || toolbarSettings.addTaskTool === \'both\'"\n [showViewSelector]="toolbarSettings.viewSelectorTool === \'bottom\' || toolbarSettings.viewSelectorTool === \'both\'"\n [toolbarTemplate]="toolbarTemplate"\n [views]="viewTypes"\n [activeView]="activeView"\n class="k-gantt-footer k-toolbar k-gantt-toolbar"\n position="bottom"></kendo-gantt-toolbar>\n <kendo-gantt-edit-dialog\n *ngIf="showEditingDialog"\n [data]="data">\n </kendo-gantt-edit-dialog>\n <kendo-dialog\n *ngIf="showConfirmationDialog"\n [width]="575"\n [height]="170"\n [title]="getText(\'confirmationDialogTitle\')"\n (close)="handleConfirmationDialogClose()">\n <span>{{ getText(\'confirmationDialogContent\') }}</span>\n <kendo-dialog-actions layout="normal">\n <kendo-treelist-spacer></kendo-treelist-spacer>\n <button kendoButton [primary]="true" (click)="handleDeleteConfirmation()">{{ getText(\'deleteButtonText\') }}</button>\n <button kendoButton (click)="handleConfirmationDialogClose()">{{ getText(\'cancelButtonText\') }}</button>\n </kendo-dialog-actions>\n </kendo-dialog>\n '}]}],ctorParameters:function(){return[{type:D},{type:T},{type:n.Renderer2},{type:b},{type:w},{type:C},{type:E},{type:s.LocalizationService},{type:n.ElementRef},{type:n.NgZone},{type:x}]},propDecorators:{treeList:[{type:g.ViewChild,args:[e.TreeListComponent,{static:!0}]}],timeline:[{type:g.ViewChild,args:[bt,{static:!1}]}],taskContentTemplate:[{type:g.ContentChild,args:[tn,{static:!1}]}],taskTemplate:[{type:g.ContentChild,args:[Jt,{static:!1}]}],summaryTaskTemplate:[{type:g.ContentChild,args:[en,{static:!1}]}],toolbarTemplateChildren:[{type:g.ContentChildren,args:[nn]}],roleDescription:[{type:g.Input,args:["aria-roledescription"]}],hostRoleDescriptionAttr:[{type:g.HostBinding,args:["attr.aria-roledescription"]}],role:[{type:g.Input,args:["role"]}],hostRoleAttr:[{type:g.HostBinding,args:["attr.role"]}],hostClasses:[{type:g.HostBinding,args:["class.k-gantt"]}],dir:[{type:g.HostBinding,args:["attr.dir"]}],columns:[{type:g.ContentChildren,args:[V]}],taskModelFields:[{type:g.Input}],dependencyModelFields:[{type:g.Input}],views:[{type:g.ContentChildren,args:[L]}],activeView:[{type:g.Input}],data:[{type:g.Input}],isSelected:[{type:g.Input}],validateNewDependency:[{type:g.Input}],selectionChange:[{type:g.Output}],selectable:[{type:g.Input}],toolbarSettings:[{type:g.Input}],fetchChildren:[{type:g.Input}],hasChildren:[{type:g.Input}],dependencies:[{type:g.Input}],sortable:[{type:g.Input}],sort:[{type:g.Input}],filterable:[{type:g.Input}],filter:[{type:g.Input}],workDayStart:[{type:g.Input}],workDayEnd:[{type:g.Input}],workWeekStart:[{type:g.Input}],workWeekEnd:[{type:g.Input}],navigable:[{type:g.Input}],timelinePaneOptions:[{type:g.Input}],treeListPaneOptions:[{type:g.Input}],taskClass:[{type:g.Input}],rowClass:[{type:g.Input}],isExpanded:[{type:g.Input}],columnsAutoSize:[{type:g.Input}],columnMenu:[{type:g.Input}],columnsReorderable:[{type:g.Input}],columnsResizable:[{type:g.Input}],dragScrollSettings:[{type:g.Input}],rowExpand:[{type:g.Output}],taskDblClick:[{type:g.Output}],cellDblClick:[{type:g.Output}],cellClose:[{type:g.Output}],taskDelete:[{type:g.Output}],rowCollapse:[{type:g.Output}],remove:[{type:g.Output}],cancel:[{type:g.Output}],save:[{type:g.Output}],taskAdd:[{type:g.Output}],dependencyAdd:[{type:g.Output}],sortChange:[{type:g.Output}],filterChange:[{type:g.Output}],dataStateChange:[{type:g.Output}],treeListPaneCollapsedChange:[{type:g.Output}],timelinePaneCollapsedChange:[{type:g.Output}],timelinePaneSizeChange:[{type:g.Output}],activeViewChange:[{type:g.Output}],columnResize:[{type:g.Output}],columnReorder:[{type:g.Output}],columnVisibilityChange:[{type:g.Output}],columnLockedChange:[{type:g.Output}],cellClick:[{type:g.Output}],taskClick:[{type:g.Output}]}});y(xn,wn=e.FlatBindingDirective),Object.defineProperty(xn.prototype,"aggregate",{set:function(e){wn.prototype.aggregate=e},enumerable:!1,configurable:!0});var wn,te=xn;function xn(){return null!==wn&&wn.apply(this,arguments)||this}te.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:te,deps:null,target:n.ɵɵFactoryTarget.Directive}),te.ɵdir=n.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:te,selector:"[kendoGanttFlatBinding]",inputs:{data:["kendoGanttFlatBinding","data"]},exportAs:["kendoGanttFlatBinding"],usesInheritance:!0,ngImport:n}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:te,decorators:[{type:g.Directive,args:[{selector:"[kendoGanttFlatBinding]",exportAs:"kendoGanttFlatBinding"}]}],propDecorators:{data:[{type:g.Input,args:["kendoGanttFlatBinding"]}]}});y(On,Sn=e.HierarchyBindingDirective),Object.defineProperty(On.prototype,"aggregate",{set:function(e){Sn.prototype.aggregate=e},enumerable:!1,configurable:!0});var Sn,f=On;function On(){return null!==Sn&&Sn.apply(this,arguments)||this}f.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:f,deps:null,target:n.ɵɵFactoryTarget.Directive}),f.ɵdir=n.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:f,selector:"[kendoGanttHierarchyBinding]",inputs:{data:["kendoGanttHierarchyBinding","data"]},exportAs:["kendoGanttHierarchyBinding"],usesInheritance:!0,ngImport:n}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:f,decorators:[{type:g.Directive,args:[{selector:"[kendoGanttHierarchyBinding]",exportAs:"kendoGanttHierarchyBinding"}]}],propDecorators:{data:[{type:g.Input,args:["kendoGanttHierarchyBinding"]}]}});y(Fn,En=e.ExpandableDirective),Object.defineProperty(Fn.prototype,"expandBy",{set:function(e){En.prototype.expandBy=e},enumerable:!1,configurable:!0});var En,l=Fn;function Fn(){return null!==En&&En.apply(this,arguments)||this}l.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:l,deps:null,target:n.ɵɵFactoryTarget.Directive}),l.ɵdir=n.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:l,selector:"[kendoGanttExpandable]",inputs:{expandBy:"expandBy"},exportAs:["kendoGanttExpandable"],usesInheritance:!0,ngImport:n}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:l,decorators:[{type:g.Directive,args:[{exportAs:"kendoGanttExpandable",selector:"[kendoGanttExpandable]"}]}],propDecorators:{expandBy:[{type:g.Input}]}});Object.defineProperty(Vn.prototype,"selectable",{set:function(e){e?(this.gantt.isSelected=this.isSelected,this.subscribeSelection()):(this.gantt.isSelected=function(){return!1},this.unsubscribeSelection()),this.gantt.selectable=e,this.gantt.updateView()},enumerable:!1,configurable:!0}),Object.defineProperty(Vn.prototype,"selectedKeys",{set:function(e){v(e)&&e===this.lastChange||(e=(e||[]).slice(0,1),this.state=new Set(e),this.gantt.updateView())},enumerable:!1,configurable:!0}),Object.defineProperty(Vn.prototype,"itemKey",{set:function(e){this._keyGetter="string"==typeof e?M.getter(e):e},enumerable:!1,configurable:!0}),Object.defineProperty(Vn.prototype,"keyGetter",{get:function(){return this._keyGetter||this.gantt.idGetter},enumerable:!1,configurable:!0}),Vn.prototype.ngOnDestroy=function(){this.unsubscribeSelection()},Vn.prototype.isSelected=function(e){return this.state.has(this.keyGetter(e))},Vn.prototype.selectionChange=function(e){var t=this,n=e.action,e=e.items;this.state.clear(),"select"===n&&e.forEach(function(e){return t.state.add(t.keyGetter(e))}),this.emitSelectedItemsChange()},Vn.prototype.emitSelectedItemsChange=function(){this.lastChange=Array.from(this.state),this.selectedKeysChange.emit(this.lastChange)},Vn.prototype.subscribeSelection=function(){this.unsubscribeSelection(),this.selectionSubscription=this.gantt.selectionChange.subscribe(this.selectionChange)},Vn.prototype.unsubscribeSelection=function(){this.selectionSubscription&&(this.selectionSubscription.unsubscribe(),this.selectionSubscription=null)};p=Vn;function Vn(e){this.gantt=e,this.selectedKeysChange=new g.EventEmitter,this.state=new Set,this.isSelected=this.isSelected.bind(this),this.selectionChange=this.selectionChange.bind(this),this.selectable=!0}p.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:p,deps:[{token:A}],target:n.ɵɵFactoryTarget.Directive}),p.ɵdir=n.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:p,selector:"[kendoGanttSelectable]",inputs:{selectable:"selectable",selectedKeys:"selectedKeys",itemKey:"itemKey"},outputs:{selectedKeysChange:"selectedKeysChange"},exportAs:["kendoGanttSelectable"],ngImport:n}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:p,decorators:[{type:g.Directive,args:[{exportAs:"kendoGanttSelectable",selector:"[kendoGanttSelectable]"}]}],ctorParameters:function(){return[{type:A}]},propDecorators:{selectable:[{type:g.Input}],selectedKeys:[{type:g.Input}],selectedKeysChange:[{type:g.Output}],itemKey:[{type:g.Input}]}});var Ln=function(){this.isValid=!1},An=(Ln.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Ln,deps:[],target:n.ɵɵFactoryTarget.Component}),Ln.ɵcmp=n.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:Ln,selector:"ng-component",ngImport:n,template:'\n <div\n class="k-tooltip k-gantt-tooltip-validation"\n [class.k-gantt-tooltip-valid]="showValidityStatus && isValid"\n [class.k-gantt-tooltip-invalid]="showValidityStatus && !isValid"\n >\n <div class="k-gantt-tooltip-validation-row">\n <span class="k-gantt-tooltip-validation-label">From:</span>\n <span class="k-gantt-tooltip-validation-value">{{ fromTaskName }}</span>\n </div>\n <div class="k-gantt-tooltip-validation-row">\n <span class="k-gantt-tooltip-validation-label">To:</span>\n <span class="k-gantt-tooltip-validation-value">{{ toTaskName }}</span>\n </div>\n </div>\n ',isInline:!0}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Ln,decorators:[{type:g.Component,args:[{template:'\n <div\n class="k-tooltip k-gantt-tooltip-validation"\n [class.k-gantt-tooltip-valid]="showValidityStatus && isValid"\n [class.k-gantt-tooltip-invalid]="showValidityStatus && !isValid"\n >\n <div class="k-gantt-tooltip-validation-row">\n <span class="k-gantt-tooltip-validation-label">From:</span>\n <span class="k-gantt-tooltip-validation-value">{{ fromTaskName }}</span>\n </div>\n <div class="k-gantt-tooltip-validation-row">\n <span class="k-gantt-tooltip-validation-label">To:</span>\n <span class="k-gantt-tooltip-validation-value">{{ toTaskName }}</span>\n </div>\n </div>\n '}]}]}),"k-hover"),Pn="k-user-select-none",Rn="k-origin",d=(Object.defineProperty(R.prototype,"container",{get:function(){return v(this.gantt.timeline)&&v(this.gantt.timeline.timelineContent)?this.gantt.timeline.timelineContent.nativeElement:null},enumerable:!1,configurable:!0}),Object.defineProperty(R.prototype,"polyline",{get:function(){return v(this.gantt.timeline)&&v(this.gantt.timeline.dependencyDragCreatePolyline)?this.gantt.timeline.dependencyDragCreatePolyline.nativeElement:null},enumerable:!1,configurable:!0}),Object.defineProperty(R.prototype,"popupContainer",{get:function(){return v(this.gantt.timeline)&&v(this.gantt.timeline.dragPopupContainer)?this.gantt.timeline.dragPopupContainer:null},enumerable:!1,configurable:!0}),R.prototype.ngAfterViewInit=function(){this.subscribeDraggable(),this.addScrollListener()},R.prototype.ngOnDestroy=function(){this.unsubscribeDraggable(),this.removeScrollListener(),this.fromTaskClue=null,this.cancelScroll(),this.closeDragPopup()},R.prototype.subscribeDraggable=function(){this.dragSubscriptions=this.gantt.timeline.timelineContainerPress.subscribe(this.handlePress.bind(this)),this.dragSubscriptions.add(this.gantt.timeline.timelineContainerDrag.subscribe(this.handleDrag.bind(this))),this.dragSubscriptions.add(this.gantt.timeline.timelineContainerRelease.subscribe(this.handleRelease.bind(this)))},R.prototype.unsubscribeDraggable=function(){v(this.dragSubscriptions)&&(this.dragSubscriptions.unsubscribe(),this.dragSubscriptions=null)},R.prototype.handlePress=function(e){var t,n=e.clientX,e=e.clientY,n=Te(n,e);he(n)&&(this.fromTaskClue=n,this.assignDragStartClasses(this.fromTaskClue),e=(e=this.fromTaskClue).getBoundingClientRect(),n=e.left,t=e.top,n={left:n+e.width/2,top:t+e.height/2},this.polylineStartCoords=ft(n.left,n.top,this.container))},R.prototype.handleDrag=function(e){var t,n=e.clientX,e=e.clientY;v(this.fromTaskClue)&&(t=ft(n,e,this.container),this.updatePolyline(this.polylineStartCoords,t),this.currentPointerClientCoords={left:n,top:e},this.gantt.dragScrollSettings.enabled&&this.scrollPointIntoView(this.currentPointerClientCoords),this.displayValidationTooltip)&&this.updateDragPopup(t)},R.prototype.handleRelease=function(e){var s,l=this,t=e.clientX,e=e.clientY;v(this.fromTaskClue)&&(s=Te(t,e),he(s)&&!ke(this.fromTaskClue,s,this.container)&&this.zone.run(function(){var e,t=l.fromTaskClue,n=s,i=l.gantt.renderedTreeListItems[ue(t,l.container)],o=l.gantt.renderedTreeListItems[ue(n,l.container)],t=ye(t,n),n=l.mapper.dependencyFields,r=n.fromId,a=n.toId,n=n.type;l.gantt.dependencyAdd.emit({fromTask:i,toTask:o,type:t,isValid:l.gantt.validateNewDependency(((e={})[r]=l.mapper.extractFromTask(i,"id"),e[a]=l.mapper.extractFromTask(o,"id"),e[n]=t,e))})}),this.clearPolyline(),this.removeDragStartClasses(this.fromTaskClue),this.fromTaskClue=null,this.cancelScroll(),this.closeDragPopup())},R.prototype.updatePolyline=function(e,t){e=e.left+","+e.top+" "+t.left+","+t.top;this.renderer.setAttribute(this.polyline,"points",e)},R.prototype.clearPolyline=function(){this.renderer.removeAttribute(this.polyline,"points")},R.prototype.assignDragStartClasses=function(e){v(e)&&(this.renderer.addClass(this.container,Pn),this.renderer.addClass(e,An),e=de(e,this.container),v(e))&&this.renderer.addClass(e,Rn)},R.prototype.removeDragStartClasses=function(e){v(e)&&(this.renderer.removeClass(this.container,Pn),this.renderer.removeClass(e,An),e=de(e,this.container),v(e))&&this.renderer.removeClass(e,Rn)},R.prototype.scrollPointIntoView=function(e){var t=e.left,e=e.top;this.timelineScrollService.requestScrollCancel(),this.timelineScrollService.requestHorizontalScroll(t),this.timelineScrollService.requestVerticalScroll(e)},R.prototype.cancelScroll=function(){this.timelineScrollService.requestScrollCancel()},R.prototype.addScrollListener=function(){var n=this;k.isDocumentAvailable()&&this.zone.runOutsideAngular(function(){return n.scrollListenerDisposer=n.renderer.listen(n.container,"scroll",function(){var e,t;v(n.fromTaskClue)&&v(n.currentPointerClientCoords)&&(t=(e=n.currentPointerClientCoords).left,e=e.top,t=ft(t,e,n.container),n.updatePolyline(n.polylineStartCoords,t),n.displayValidationTooltip)&&n.updateDragPopup(t)})})},R.prototype.removeScrollListener=function(){v(this.scrollListenerDisposer)&&(this.scrollListenerDisposer(),this.scrollListenerDisposer=null)},R.prototype.openDragPopup=function(){v(this.dragPopup)&&this.closeDragPopup(),this.dragPopup=this.popupService.open({animate:!1,content:Ln,appendTo:this.popupContainer,positionMode:"absolute",popupClass:"k-popup-transparent"})},R.prototype.updateDragPopup=function(e){v(this.dragPopup)||this.openDragPopup();var t=this.dragPopup.content.instance,n=this.getTooltipContext(),i=n.fromTaskName,o=n.toTaskName,r=n.isValid,n=n.showValidityStatus;t.fromTaskName===i&&t.toTaskName===o&&t.isValid===r&&t.showValidityStatus===n||(t.fromTaskName=i,t.toTaskName=o,t.isValid=r,t.showValidityStatus=n,this.dragPopup.content.changeDetectorRef.detectChanges()),this.dragPopup.popup.instance.offset=this.normalizePopupPosition(e),this.dragPopup.popup.changeDetectorRef.detectChanges()},R.prototype.closeDragPopup=function(){v(this.dragPopup)&&(this.dragPopup.close(),this.dragPopup=null)},R.prototype.extractTaskName=function(e){return ce(e,this.container)?(e=ue(e,this.container),e=this.gantt.renderedTreeListItems[e],this.mapper.extractFromTask(e,"title")):null},R.prototype.getTooltipContext=function(){var e=this.extractTaskName(this.fromTaskClue),t=Te(this.currentPointerClientCoords.left,this.currentPointerClientCoords.top),n=ce(t,this.container)&&!ke(this.fromTaskClue,t,this.container)?this.extractTaskName(t):"",i=he(t)&&!ke(this.fromTaskClue,t,this.container),o=this.mapper.dependencyFields,r=o.fromId,a=o.toId,o=o.type;return{fromTaskName:e,toTaskName:n,showValidityStatus:i,isValid:i&&this.gantt.validateNewDependency(((e={})[r]=this.mapper.extractFromTask(this.gantt.renderedTreeListItems[ue(this.fromTaskClue,this.container)],"id"),e[a]=this.mapper.extractFromTask(this.gantt.renderedTreeListItems[ue(t,this.container)],"id"),e[o]=ye(this.fromTaskClue,t),e))}},R.prototype.normalizePopupPosition=function(e){var t=e.top+20,n=this.container.clientHeight+this.container.scrollTop,i=this.dragPopup.popupElement.querySelector(".k-tooltip").clientHeight,n=(t<n-i||(t-=i+40),this.dragPopup.popupElement.querySelector(".k-tooltip").clientWidth),e=e.left-n/2;return{left:ve(e,0,this.container.scrollWidth-n),top:ve(t,0,this.container.scrollHeight-i)}},R);function R(e,t,n,i,o,r){this.gantt=e,this.zone=t,this.renderer=n,this.mapper=i,this.popupService=o,this.timelineScrollService=r,this.displayValidationTooltip=!0,this.gantt.renderDependencyDragClues=!0}d.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:d,deps:[{token:A},{token:n.NgZone},{token:n.Renderer2},{token:b},{token:ne.PopupService},{token:ct}],target:n.ɵɵFactoryTarget.Directive}),d.ɵdir=n.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:d,selector:"[kendoGanttDependencyDragCreate]",inputs:{displayValidationTooltip:"displayValidationTooltip"},ngImport:n}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:d,decorators:[{type:g.Directive,args:[{selector:"[kendoGanttDependencyDragCreate]"}]}],ctorParameters:function(){return[{type:A},{type:n.NgZone},{type:n.Renderer2},{type:b},{type:ne.PopupService},{type:ct}]},propDecorators:{displayValidationTooltip:[{type:g.Input}]}});y(Gn,Bn=L);var Bn,Mn=Gn;function Gn(e,t){e=Bn.call(this,e,t)||this;return e.type="day",e}Mn.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Mn,deps:[{token:w},{token:C}],target:n.ɵɵFactoryTarget.Component}),Mn.ɵcmp=n.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:Mn,selector:"kendo-gantt-timeline-day-view",providers:[{provide:L,useExisting:g.forwardRef(function(){return Mn})}],usesInheritance:!0,ngImport:n,template:"",isInline:!0}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Mn,decorators:[{type:g.Component,args:[{selector:"kendo-gantt-timeline-day-view",template:"",providers:[{provide:L,useExisting:g.forwardRef(function(){return Mn})}]}]}],ctorParameters:function(){return[{type:w},{type:C}]}});y(zn,Nn=L);var Nn,jn=zn;function zn(e,t){e=Nn.call(this,e,t)||this;return e.type="week",e}jn.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:jn,deps:[{token:w},{token:C}],target:n.ɵɵFactoryTarget.Component}),jn.ɵcmp=n.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:jn,selector:"kendo-gantt-timeline-week-view",providers:[{provide:L,useExisting:g.forwardRef(function(){return jn})}],usesInheritance:!0,ngImport:n,template:"",isInline:!0}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:jn,decorators:[{type:g.Component,args:[{selector:"kendo-gantt-timeline-week-view",template:"",providers:[{provide:L,useExisting:g.forwardRef(function(){return jn})}]}]}],ctorParameters:function(){return[{type:w},{type:C}]}});y(Hn,Wn=L);var Wn,qn=Hn;function Hn(e,t){e=Wn.call(this,e,t)||this;return e.type="month",e}qn.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:qn,deps:[{token:w},{token:C}],target:n.ɵɵFactoryTarget.Component}),qn.ɵcmp=n.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:qn,selector:"kendo-gantt-timeline-month-view",providers:[{provide:L,useExisting:g.forwardRef(function(){return qn})}],usesInheritance:!0,ngImport:n,template:"",isInline:!0}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:qn,decorators:[{type:g.Component,args:[{selector:"kendo-gantt-timeline-month-view",template:"",providers:[{provide:L,useExisting:g.forwardRef(function(){return qn})}]}]}],ctorParameters:function(){return[{type:w},{type:C}]}});y($n,_n=L);var _n,Kn=$n;function $n(e,t){e=_n.call(this,e,t)||this;return e.type="year",e}Kn.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Kn,deps:[{token:w},{token:C}],target:n.ɵɵFactoryTarget.Component}),Kn.ɵcmp=n.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:Kn,selector:"kendo-gantt-timeline-year-view",providers:[{provide:L,useExisting:g.forwardRef(function(){return Kn})}],usesInheritance:!0,ngImport:n,template:"",isInline:!0}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Kn,decorators:[{type:g.Component,args:[{selector:"kendo-gantt-timeline-year-view",template:"",providers:[{provide:L,useExisting:g.forwardRef(function(){return Kn})}]}]}],ctorParameters:function(){return[{type:w},{type:C}]}});y(Yn,Zn=h),Object.defineProperty(Yn.prototype,"override",{get:function(){return!0},enumerable:!1,configurable:!0});var Zn,Un=Yn;function Yn(e){var t=Zn.call(this)||this;return t.service=e,t}Un.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Un,deps:[{token:s.LocalizationService}],target:n.ɵɵFactoryTarget.Component}),Un.ɵcmp=n.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:Un,selector:"kendo-gantt-messages",providers:[{provide:h,useExisting:g.forwardRef(function(){return Un})}],usesInheritance:!0,ngImport:n,template:"",isInline:!0}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Un,decorators:[{type:g.Component,args:[{providers:[{provide:h,useExisting:g.forwardRef(function(){return Un})}],selector:"kendo-gantt-messages",template:""}]}],ctorParameters:function(){return[{type:s.LocalizationService}]}});Q=[G.CommonModule,o.ReactiveFormsModule,K.LabelModule,_.InputsModule,$.DateInputsModule,W.ButtonsModule,q.SplitterModule,e.TreeListModule,W.ButtonsModule,H.DialogModule,k.EventsModule,Y.PopupModule,k.DraggableModule,q.TabStripModule,Z.GridModule,U.DropDownsModule],r=[A,te,f,ot,et,Qe,bt,O,I,tn,Jt,en,nn,un,dn,At,Bt,Nt,Et,Ot,xt,Lt,St,Vt,Ft,l,vt,d,Mn,jn,qn,Kn,p,ee,Un,bn,ln,Ln,F,J,mn],i=function(){};i.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:i,deps:[],target:n.ɵɵFactoryTarget.NgModule}),i.ɵmod=n.ɵɵngDeclareNgModule({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:i,declarations:[A,te,f,ot,et,Qe,bt,O,I,tn,Jt,en,nn,un,dn,At,Bt,Nt,Et,Ot,xt,Lt,St,Vt,Ft,l,vt,d,Mn,jn,qn,Kn,p,ee,Un,bn,ln,Ln,F,J,mn],imports:[G.CommonModule,o.ReactiveFormsModule,K.LabelModule,_.InputsModule,$.DateInputsModule,W.ButtonsModule,q.SplitterModule,e.TreeListModule,W.ButtonsModule,H.DialogModule,k.EventsModule,Y.PopupModule,k.DraggableModule,q.TabStripModule,Z.GridModule,U.DropDownsModule],exports:[A,te,f,ot,et,Qe,bt,O,I,tn,Jt,en,nn,un,dn,At,Bt,Nt,Et,Ot,xt,Lt,St,Vt,Ft,l,vt,d,Mn,jn,qn,Kn,p,ee,Un,bn,ln,Ln,F,J,mn]}),i.ɵinj=n.ɵɵngDeclareInjector({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:i,providers:[{provide:z.L10N_PREFIX,useValue:"kendo.gantt"},{provide:Ee,useValue:M.touchEnabled}],imports:[re([],oe(Q))]}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:i,decorators:[{type:g.NgModule,args:[{imports:re([],oe(Q)),declarations:re([],oe(r)),exports:re([],oe(r)),entryComponents:[Ln],providers:[{provide:z.L10N_PREFIX,useValue:"kendo.gantt"},{provide:Ee,useValue:M.touchEnabled}]}]}]}),u.CellCloseEvent=$t,u.CellTemplateDirective=xt,u.ColumnMenuTemplateDirective=St,u.CustomMessagesComponent=Un,u.DependenciesTableComponent=J,u.DependencyDragCreateDirective=d,u.DragValidationTooltipComponent=Ln,u.EditDialogComponent=ee,u.EditTemplateDirective=Lt,u.FilterCellTemplateDirective=Ot,u.FilterMenuTemplateDirective=Et,u.FooterTemplateDirective=Ft,u.GanttAddTaskComponent=ln,u.GanttColumnBase=V,u.GanttColumnComponent=At,u.GanttColumnGroupComponent=Bt,u.GanttComponent=A,u.GanttDependencyDirective=vt,u.GanttExpandableDirective=l,u.GanttFlatBindingDirective=te,u.GanttHeaderTableBodyComponent=I,u.GanttHierarchyBindingDirective=f,u.GanttMilestoneTaskComponent=Qe,u.GanttModule=i,u.GanttSpanColumnComponent=Nt,u.GanttSummaryTaskComponent=et,u.GanttSummaryTaskTemplateDirective=en,u.GanttTaskComponent=ot,u.GanttTaskContentTemplateDirective=tn,u.GanttTaskTemplateDirective=Jt,u.GanttTasksTableBodyComponent=O,u.GanttTimelineComponent=bt,u.HeaderTemplateDirective=Vt,u.LocalizedMessagesDirective=bn,u.SelectableDirective=p,u.TaskFieldsComponent=mn,u.TimelineDayViewComponent=Mn,u.TimelineMonthViewComponent=qn,u.TimelineScrollableDirective=F,u.TimelineWeekViewComponent=jn,u.TimelineYearViewComponent=Kn,u.ToolbarComponent=un,u.ToolbarTemplateDirective=nn,u.ViewSelectorComponent=dn,Object.defineProperty(u,"__esModule",{value:!0})});