@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,29 +1,29 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2021 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2022 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import * as i0 from '@angular/core';
6
6
  import { Injectable, Component, Input, InjectionToken, EventEmitter, Directive, HostBinding, ViewChild, forwardRef, Inject, ViewContainerRef, Output, Optional, QueryList, SkipSelf, Host, ContentChildren, ContentChild, isDevMode, NgModule } from '@angular/core';
7
7
  import * as i11 from '@progress/kendo-angular-treelist';
8
8
  import { ColumnBase, ColumnComponent, ColumnGroupComponent, SpanColumnComponent, DataBoundTreeComponent, ExpandableTreeComponent, TreeListComponent, FlatBindingDirective, HierarchyBindingDirective, ExpandableDirective, TreeListModule } from '@progress/kendo-angular-treelist';
9
+ import { cloneDate, addWeeks, firstDayInWeek, addDays, lastDayOfMonth, getDate, firstDayOfMonth, addMonths, lastMonthOfYear, MS_PER_HOUR, MS_PER_DAY, isEqual } from '@progress/kendo-date-math';
9
10
  import { Subject, Subscription, fromEvent, forkJoin, EMPTY, isObservable, of } from 'rxjs';
10
11
  import { validatePackage } from '@progress/kendo-licensing';
11
12
  import * as i8 from '@progress/kendo-angular-common';
12
13
  import { Keys, isDocumentAvailable, closestInScope, matchesClasses, PreventableEvent, anyChanged, hasObservers, EventsModule, DraggableModule } from '@progress/kendo-angular-common';
13
14
  import { map, distinctUntilChanged, take, expand, reduce, switchMap, filter } from 'rxjs/operators';
14
- import { cloneDate, addWeeks, firstDayInWeek, addDays, lastDayOfMonth, getDate, firstDayOfMonth, addMonths, lastMonthOfYear, MS_PER_HOUR, MS_PER_DAY, isEqual } from '@progress/kendo-date-math';
15
15
  import { getter, touchEnabled } from '@progress/kendo-common';
16
16
  import * as i6 from '@angular/common';
17
17
  import { CommonModule } from '@angular/common';
18
- import { orderBy } from '@progress/kendo-data-query';
19
18
  import * as i1 from '@progress/kendo-angular-intl';
19
+ import { orderBy } from '@progress/kendo-data-query';
20
20
  import * as i1$1 from '@progress/kendo-angular-l10n';
21
21
  import { ComponentMessages, LocalizationService, L10N_PREFIX } from '@progress/kendo-angular-l10n';
22
22
  import * as i2 from '@progress/kendo-angular-buttons';
23
23
  import { ButtonsModule } from '@progress/kendo-angular-buttons';
24
24
  import * as i8$1 from '@angular/forms';
25
25
  import { FormArray, FormGroup, FormControl, Validators, ReactiveFormsModule } from '@angular/forms';
26
- import * as i5$2 from '@progress/kendo-angular-layout';
26
+ import * as i5$1 from '@progress/kendo-angular-layout';
27
27
  import { SplitterModule, TabStripModule } from '@progress/kendo-angular-layout';
28
28
  import * as i4$2 from '@progress/kendo-angular-dialog';
29
29
  import { DialogModule } from '@progress/kendo-angular-dialog';
@@ -35,7 +35,7 @@ import * as i6$1 from '@progress/kendo-angular-dateinputs';
35
35
  import { DateInputsModule } from '@progress/kendo-angular-dateinputs';
36
36
  import * as i4$1 from '@progress/kendo-angular-grid';
37
37
  import { GridModule } from '@progress/kendo-angular-grid';
38
- import * as i5$1 from '@progress/kendo-angular-dropdowns';
38
+ import * as i6$2 from '@progress/kendo-angular-dropdowns';
39
39
  import { DropDownsModule } from '@progress/kendo-angular-dropdowns';
40
40
  import * as i3 from '@progress/kendo-angular-popup';
41
41
  import { PopupModule } from '@progress/kendo-angular-popup';
@@ -47,7 +47,7 @@ const packageMetadata = {
47
47
  name: '@progress/kendo-angular-gantt',
48
48
  productName: 'Kendo UI for Angular',
49
49
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
50
- publishDate: 1669798501,
50
+ publishDate: 1672320965,
51
51
  version: '',
52
52
  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'
53
53
  };
@@ -117,6 +117,101 @@ const getIndexFromViewDigitKeyCode = (keyCode) => {
117
117
  }
118
118
  };
119
119
 
120
+ /**
121
+ * @hidden
122
+ */
123
+ class ScrollSyncService {
124
+ constructor(ngZone) {
125
+ this.ngZone = ngZone;
126
+ this.changes = new Subject();
127
+ this.elements = [];
128
+ this.subscriptions = new Subscription();
129
+ this.subscriptions.add(this.changes.subscribe(args => {
130
+ this.scroll(args);
131
+ }));
132
+ }
133
+ registerElement(el, sourceType) {
134
+ this.elements.push({ element: el, sourceType });
135
+ if (sourceType === "timeline" || sourceType === "treelist") {
136
+ this.ngZone.runOutsideAngular(() => {
137
+ const obs = fromEvent(el, 'scroll').pipe(map(({ target: { scrollTop, scrollLeft } }) => ({
138
+ scrollTop,
139
+ scrollLeft,
140
+ sourceType
141
+ })));
142
+ const comparisonFn = sourceType === 'timeline' ?
143
+ (x, y) => (x.scrollTop === y.scrollTop) && (x.scrollLeft === y.scrollLeft) :
144
+ (x, y) => (x.scrollTop === y.scrollTop);
145
+ this.subscriptions.add(obs.pipe(distinctUntilChanged(comparisonFn))
146
+ .subscribe((event) => this.changes.next(event)));
147
+ });
148
+ }
149
+ }
150
+ ngOnDestroy() {
151
+ this.subscriptions.unsubscribe();
152
+ this.elements = null;
153
+ }
154
+ syncScrollTop(sourceType, targetType) {
155
+ const source = this.elements.find(element => element.sourceType === sourceType);
156
+ const target = this.elements.find(element => element.sourceType === targetType);
157
+ // Need to wait for the splitter pane's content to be rendered
158
+ this.ngZone.onStable.pipe(take(1)).subscribe(() => target.element.scrollTop = source.element.scrollTop);
159
+ }
160
+ resetTimelineScrollLeft() {
161
+ const source = this.elements.find(element => element.sourceType === 'timeline');
162
+ source.element.scrollLeft = 0;
163
+ }
164
+ scroll({ scrollTop, scrollLeft, sourceType }) {
165
+ this.ngZone.runOutsideAngular(() => {
166
+ if (sourceType === 'timeline') {
167
+ const header = this.elements.find(element => element.sourceType === 'header').element;
168
+ header.scrollLeft = scrollLeft;
169
+ if (!this.syncingTimeline) {
170
+ this.syncingTreeList = true;
171
+ const treelist = this.elements.find(element => element.sourceType === 'treelist').element;
172
+ treelist.scrollTop = scrollTop;
173
+ }
174
+ this.syncingTimeline = false;
175
+ }
176
+ if (sourceType === 'treelist') {
177
+ if (!this.syncingTreeList) {
178
+ this.syncingTimeline = true;
179
+ const timeline = this.elements.find(element => element.sourceType === 'timeline').element;
180
+ timeline.scrollTop = scrollTop;
181
+ }
182
+ this.syncingTreeList = false;
183
+ }
184
+ });
185
+ }
186
+ }
187
+ ScrollSyncService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ScrollSyncService, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
188
+ ScrollSyncService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ScrollSyncService });
189
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ScrollSyncService, decorators: [{
190
+ type: Injectable
191
+ }], ctorParameters: function () { return [{ type: i0.NgZone }]; } });
192
+
193
+ /**
194
+ * @hidden
195
+ */
196
+ const DEFAULT_DEPENDENCY_MODEL_FIELDS = Object.freeze({
197
+ toId: 'toId',
198
+ fromId: 'fromId',
199
+ id: 'id',
200
+ type: 'type'
201
+ });
202
+
203
+ /**
204
+ * @hidden
205
+ */
206
+ const DEFAULT_TASK_MODEL_FIELDS = Object.freeze({
207
+ id: 'id',
208
+ start: 'start',
209
+ end: 'end',
210
+ title: 'title',
211
+ completionRatio: 'completionRatio',
212
+ children: 'children'
213
+ });
214
+
120
215
  /**
121
216
  * The dependency type when two tasks are connected.
122
217
  *
@@ -216,7 +311,7 @@ const getTotalDaysInMonth = (date) => {
216
311
  * by excluding the months of the dates themselves.
217
312
  */
218
313
  const getTotalMonthsInBetween = (start, end) => {
219
- let diff = end.getMonth() - start.getMonth() + (12 * (end.getFullYear() - start.getFullYear()));
314
+ const diff = end.getMonth() - start.getMonth() + (12 * (end.getFullYear() - start.getFullYear()));
220
315
  return diff <= 1 ? 0 : diff - 1;
221
316
  };
222
317
  /**
@@ -439,115 +534,20 @@ const elementFromPoint = (clientX, clientY) => {
439
534
  return document.elementFromPoint(clientX, clientY);
440
535
  };
441
536
 
442
- /**
443
- * @hidden
444
- */
445
- class ScrollSyncService {
446
- constructor(ngZone) {
447
- this.ngZone = ngZone;
448
- this.changes = new Subject();
449
- this.elements = [];
450
- this.subscriptions = new Subscription();
451
- this.subscriptions.add(this.changes.subscribe(args => {
452
- this.scroll(args);
453
- }));
454
- }
455
- registerElement(el, sourceType) {
456
- this.elements.push({ element: el, sourceType });
457
- if (sourceType === "timeline" || sourceType === "treelist") {
458
- this.ngZone.runOutsideAngular(() => {
459
- const obs = fromEvent(el, 'scroll').pipe(map(({ target: { scrollTop, scrollLeft } }) => ({
460
- scrollTop,
461
- scrollLeft,
462
- sourceType
463
- })));
464
- const comparisonFn = sourceType === 'timeline' ?
465
- (x, y) => (x.scrollTop === y.scrollTop) && (x.scrollLeft === y.scrollLeft) :
466
- (x, y) => (x.scrollTop === y.scrollTop);
467
- this.subscriptions.add(obs.pipe(distinctUntilChanged(comparisonFn))
468
- .subscribe((event) => this.changes.next(event)));
469
- });
470
- }
471
- }
472
- ngOnDestroy() {
473
- this.subscriptions.unsubscribe();
474
- this.elements = null;
475
- }
476
- syncScrollTop(sourceType, targetType) {
477
- const source = this.elements.find(element => element.sourceType === sourceType);
478
- const target = this.elements.find(element => element.sourceType === targetType);
479
- // Need to wait for the splitter pane's content to be rendered
480
- this.ngZone.onStable.pipe(take(1)).subscribe(() => target.element.scrollTop = source.element.scrollTop);
481
- }
482
- resetTimelineScrollLeft() {
483
- const source = this.elements.find(element => element.sourceType === 'timeline');
484
- source.element.scrollLeft = 0;
485
- }
486
- scroll({ scrollTop, scrollLeft, sourceType }) {
487
- this.ngZone.runOutsideAngular(() => {
488
- if (sourceType === 'timeline') {
489
- const header = this.elements.find(element => element.sourceType === 'header').element;
490
- header.scrollLeft = scrollLeft;
491
- if (!this.syncingTimeline) {
492
- this.syncingTreeList = true;
493
- const treelist = this.elements.find(element => element.sourceType === 'treelist').element;
494
- treelist.scrollTop = scrollTop;
495
- }
496
- this.syncingTimeline = false;
497
- }
498
- if (sourceType === 'treelist') {
499
- if (!this.syncingTreeList) {
500
- this.syncingTimeline = true;
501
- const timeline = this.elements.find(element => element.sourceType === 'timeline').element;
502
- timeline.scrollTop = scrollTop;
503
- }
504
- this.syncingTreeList = false;
505
- }
506
- });
507
- }
508
- }
509
- ScrollSyncService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ScrollSyncService, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
510
- ScrollSyncService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ScrollSyncService });
511
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ScrollSyncService, decorators: [{
512
- type: Injectable
513
- }], ctorParameters: function () { return [{ type: i0.NgZone }]; } });
514
-
515
- /**
516
- * @hidden
517
- */
518
- const DEFAULT_DEPENDENCY_MODEL_FIELDS = Object.freeze({
519
- toId: 'toId',
520
- fromId: 'fromId',
521
- id: 'id',
522
- type: 'type'
523
- });
524
-
525
- /**
526
- * @hidden
527
- */
528
- const DEFAULT_TASK_MODEL_FIELDS = Object.freeze({
529
- id: 'id',
530
- start: 'start',
531
- end: 'end',
532
- title: 'title',
533
- completionRatio: 'completionRatio',
534
- children: 'children'
535
- });
536
-
537
537
  /**
538
538
  * @hidden
539
539
  */
540
540
  class MappingService {
541
541
  constructor() {
542
- this._taskFields = Object.assign({}, DEFAULT_TASK_MODEL_FIELDS);
543
- this._dependencyFields = Object.assign({}, DEFAULT_DEPENDENCY_MODEL_FIELDS);
542
+ this._taskFields = { ...DEFAULT_TASK_MODEL_FIELDS };
543
+ this._dependencyFields = { ...DEFAULT_DEPENDENCY_MODEL_FIELDS };
544
544
  }
545
545
  /**
546
546
  * Gets or sets the model fields for the task data items.
547
547
  * Uses the default values for fields which are not specified.
548
548
  */
549
549
  set taskFields(fields) {
550
- this._taskFields = Object.assign(Object.assign({}, DEFAULT_TASK_MODEL_FIELDS), fields);
550
+ this._taskFields = { ...DEFAULT_TASK_MODEL_FIELDS, ...fields };
551
551
  }
552
552
  get taskFields() {
553
553
  return this._taskFields;
@@ -557,7 +557,7 @@ class MappingService {
557
557
  * Uses the default values for fields which are not specified.
558
558
  */
559
559
  set dependencyFields(fields) {
560
- this._dependencyFields = Object.assign(Object.assign({}, DEFAULT_DEPENDENCY_MODEL_FIELDS), fields);
560
+ this._dependencyFields = { ...DEFAULT_DEPENDENCY_MODEL_FIELDS, ...fields };
561
561
  }
562
562
  get dependencyFields() {
563
563
  return this._dependencyFields;
@@ -583,9 +583,9 @@ class MappingService {
583
583
  return getter(this.dependencyFields[field])(dataItem);
584
584
  }
585
585
  }
586
- MappingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MappingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
587
- MappingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MappingService });
588
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MappingService, decorators: [{
586
+ MappingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MappingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
587
+ MappingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MappingService });
588
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MappingService, decorators: [{
589
589
  type: Injectable
590
590
  }] });
591
591
 
@@ -646,9 +646,9 @@ class DependencyDomService {
646
646
  this.notifier.next(this.dependencyDomArgs);
647
647
  }
648
648
  }
649
- DependencyDomService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DependencyDomService, deps: [{ token: MappingService }], target: i0.ɵɵFactoryTarget.Injectable });
650
- DependencyDomService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DependencyDomService });
651
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DependencyDomService, decorators: [{
649
+ DependencyDomService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DependencyDomService, deps: [{ token: MappingService }], target: i0.ɵɵFactoryTarget.Injectable });
650
+ DependencyDomService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DependencyDomService });
651
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DependencyDomService, decorators: [{
652
652
  type: Injectable
653
653
  }], ctorParameters: function () { return [{ type: MappingService }]; } });
654
654
 
@@ -657,8 +657,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
657
657
  */
658
658
  class GanttHeaderTableBodyComponent {
659
659
  }
660
- GanttHeaderTableBodyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttHeaderTableBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
661
- GanttHeaderTableBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: GanttHeaderTableBodyComponent, selector: "[kendoGanttHeaderTableBody]", inputs: { groupSlots: "groupSlots", slots: "slots" }, ngImport: i0, template: `
660
+ GanttHeaderTableBodyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttHeaderTableBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
661
+ GanttHeaderTableBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: GanttHeaderTableBodyComponent, selector: "[kendoGanttHeaderTableBody]", inputs: { groupSlots: "groupSlots", slots: "slots" }, ngImport: i0, template: `
662
662
  <tr>
663
663
  <td *ngFor="let item of groupSlots" [attr.colspan]="item.span" class="k-header">{{ item.text }}</td>
664
664
  </tr>
@@ -667,7 +667,7 @@ GanttHeaderTableBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "1
667
667
  <td *ngFor="let item of slots" class="k-header" [attr.colspan]="item.span === 7 ? item.span : 1" [attr.title]="item.text">{{ item.text }}</td>
668
668
  </tr>
669
669
  `, isInline: true, directives: [{ type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
670
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttHeaderTableBodyComponent, decorators: [{
670
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttHeaderTableBodyComponent, decorators: [{
671
671
  type: Component,
672
672
  args: [{
673
673
  // eslint-disable-next-line @angular-eslint/component-selector
@@ -691,40 +691,318 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
691
691
  /**
692
692
  * @hidden
693
693
  */
694
- const TOUCH_ENABLED = new InjectionToken('gantt-touch-enabled');
695
-
696
- /**
697
- * @hidden
698
- */
699
- const DAY_FORMAT = 'E d/MM';
700
- /**
701
- * @hidden
702
- */
703
- const HOUR_FORMAT = 'HH:mm aa';
704
- /**
705
- * @hidden
706
- */
707
- const MONTH_FORMAT = 'MMM';
708
- /**
709
- * @hidden
710
- */
711
- class TimelineBaseViewService {
712
- constructor(intlService, mapper) {
713
- this.intlService = intlService;
714
- this.mapper = mapper;
715
- this._viewStart = 0;
694
+ class NavigationService {
695
+ constructor(zone, renderer, scrollSyncService) {
696
+ this.zone = zone;
697
+ this.renderer = renderer;
698
+ this.scrollSyncService = scrollSyncService;
699
+ /**
700
+ * Notifies when the tasks' focused and interactive (tabindex) state has changed.
701
+ *
702
+ * All tasks are rendered with tabindex="-1".
703
+ * When one is clicked, or when some navigation key keyboard key is pressed, it should be focused, assigned the focus class, and its tabindex updated to 0.
704
+ * All other tasks should get -1 tabindex and have the focus class removed from them.
705
+ */
706
+ this.taskStatusChanges = new Subject();
707
+ /**
708
+ * Keeps track of whether the Timeline part is focused.
709
+ * Used when the index of the task elements change (tasks are changed, pushed to, spliced from, etc.)
710
+ * and their status should be updated accordingly.
711
+ */
712
+ this.isTimelineFocused = false;
713
+ /**
714
+ * Keeps track of which part has last been focused.
715
+ * Used when calling `gantt.focus()` to determine which part of the component should receive focus.
716
+ */
717
+ this.treeListLastActive = false;
718
+ /**
719
+ * Keeps track of which part has last been focused.
720
+ * Used when calling `gantt.focus()` to determine which part of the component should receive focus.
721
+ */
722
+ this.timelineLastActive = false;
723
+ this._enabled = false;
724
+ this._activeTimelineIndex = 0;
725
+ this._activeTreeListCell = { rowIndex: 0, colIndex: 0 };
716
726
  }
717
- get viewStart() {
718
- return this._viewStart;
727
+ /**
728
+ * Specifies whether navigation is enabled.
729
+ */
730
+ get enabled() {
731
+ return this._enabled;
719
732
  }
720
733
  /**
721
- *
722
- * @param tasks - The tasks which are going to be rendered in the table
723
- * @returns {Object} - An object containing the range start and end dates
734
+ * Used to retrieve read-only data about the currently active task.
724
735
  */
725
- getRange(tasks) {
726
- if (!tasks || !tasks.length) {
727
- return { start: new Date(), end: new Date() };
736
+ get activeTask() {
737
+ return {
738
+ activeIndex: this.activeTimelineIndex,
739
+ isFocused: this.isTimelineFocused
740
+ };
741
+ }
742
+ /**
743
+ * Persists the expected Timeline focused task index.
744
+ * When the cells in the TreeList are navigated through, the expected Timeline focus target should also change,
745
+ * in order to allow tabbing from the TreeList to the same row in the Timeline.
746
+ */
747
+ set activeTimelineIndex(index) {
748
+ this._activeTimelineIndex = index;
749
+ }
750
+ get activeTimelineIndex() {
751
+ const firstAvailableIndex = 0;
752
+ const lastAvailableIndex = this.metadata.treeList.view.data.length - 1;
753
+ return fitToRange(this._activeTimelineIndex, firstAvailableIndex, lastAvailableIndex);
754
+ }
755
+ /**
756
+ * Persists the expected TreeList focused cell coords.
757
+ * When the tasks in the Timeline are navigated through, the expected TreeList focus target should also change,
758
+ * in order to allow back-tabbing from the Timeline to the same row in the TreeList.
759
+ */
760
+ set activeTreeListCell(cell) {
761
+ this._activeTreeListCell = cell;
762
+ }
763
+ get activeTreeListCell() {
764
+ const firstAvailableIndex = 0;
765
+ const lastAvailableRowIndex = this.treeListHeaderRowsCount + this.metadata.treeList.view.data.length - 1;
766
+ const rowIndex = fitToRange(this._activeTreeListCell.rowIndex, firstAvailableIndex, lastAvailableRowIndex);
767
+ const lastAvailableColIndex = this.metadata.columns.length;
768
+ const colIndex = fitToRange(this._activeTreeListCell.colIndex, firstAvailableIndex, lastAvailableColIndex);
769
+ return { rowIndex, colIndex };
770
+ }
771
+ /**
772
+ * The TreeList row index takes into account the header and filter rows.
773
+ * Used when translating Timeline task indices to TreeList row indices.
774
+ */
775
+ get treeListHeaderRowsCount() {
776
+ // captures nested group header rows + filter row if we start supporting it at some point
777
+ return this.metadata.treeListElement.querySelectorAll('.k-grid-header tr').length;
778
+ }
779
+ initialize(metadata) {
780
+ // no private property setters in TypeScript, so use a getter and a poorly named private prop for this value
781
+ this._enabled = true;
782
+ this.metadata = metadata;
783
+ // TODO: fix in the splitter package and remove
784
+ // move the splitbar HTML element between the two panes to keep the visial tabbing order in tact
785
+ const splitbar = this.metadata.host.querySelector('.k-splitbar');
786
+ if (isPresent(splitbar) && isPresent(splitbar.previousElementSibling) && isPresent(splitbar.after)) {
787
+ splitbar.after(splitbar.previousElementSibling);
788
+ }
789
+ this.zone.runOutsideAngular(() => {
790
+ this.eventListenerDisposers = [
791
+ this.renderer.listen(this.metadata.treeListElement, 'mousedown', this.focusTreeList.bind(this)),
792
+ this.renderer.listen(this.metadata.treeListElement, 'focusin', this.handleTreeListFocusIn.bind(this)),
793
+ this.renderer.listen(this.metadata.timelineElement, 'mousedown', this.handleTimelineMousedown.bind(this)),
794
+ this.renderer.listen(this.metadata.timelineElement, 'focusin', this.handleTimelineFocusIn.bind(this)),
795
+ this.renderer.listen(this.metadata.timelineElement, 'focusout', this.handleTimelineFocusOut.bind(this))
796
+ ];
797
+ });
798
+ }
799
+ ngOnDestroy() {
800
+ if (isPresent(this.eventListenerDisposers)) {
801
+ this.eventListenerDisposers.forEach(removeListener => removeListener());
802
+ this.eventListenerDisposers = null;
803
+ }
804
+ this.metadata = null;
805
+ }
806
+ /**
807
+ * Focuses either the last active TreeList cell, or the last active Timeline task,
808
+ * dependening on which of the two last held focus.
809
+ *
810
+ * Focuses the first TreeList cell by default.
811
+ */
812
+ focusLastActiveItem() {
813
+ if (this.metadata.data.length === 0 || (!this.treeListLastActive && !this.timelineLastActive)) {
814
+ this.focusCell(0, 0);
815
+ }
816
+ else if (this.treeListLastActive) {
817
+ const { rowIndex, colIndex } = this.activeTreeListCell;
818
+ this.metadata.treeList.focusCell(rowIndex, colIndex);
819
+ }
820
+ else if (this.timelineLastActive) {
821
+ this.focusTask(this.activeTimelineIndex);
822
+ }
823
+ }
824
+ /**
825
+ * Focuses the targeted TreeList cell regardless of the last peresisted target.
826
+ */
827
+ focusCell(rowIndex, colIndex) {
828
+ this.activeTreeListCell = { rowIndex, colIndex };
829
+ this.activeTimelineIndex = rowIndex - this.treeListHeaderRowsCount;
830
+ this.metadata.treeList.focusCell(this.activeTreeListCell.rowIndex, this.activeTreeListCell.colIndex);
831
+ }
832
+ /**
833
+ * Focuses the targeted Timeline task regardless of the last peresisted target.
834
+ */
835
+ focusTask(index) {
836
+ this.activeTimelineIndex = index;
837
+ this.isTimelineFocused = true;
838
+ this.activeTreeListCell = {
839
+ rowIndex: index + this.treeListHeaderRowsCount,
840
+ colIndex: this.activeTreeListCell.colIndex
841
+ };
842
+ this.notifyTaskStatusChange();
843
+ }
844
+ /**
845
+ * Updates the focus target flags and notifies the active task to update its focused state.
846
+ */
847
+ handleTimelineFocusIn({ target }) {
848
+ this.treeListLastActive = false;
849
+ this.timelineLastActive = true;
850
+ this.isTimelineFocused = true;
851
+ if (isTask(target, this.metadata.timelineElement)) {
852
+ this.notifyTaskStatusChange();
853
+ }
854
+ }
855
+ /**
856
+ * Updates the timeline focus state flag and notifies the active task to update its focused state.
857
+ */
858
+ handleTimelineFocusOut({ relatedTarget }) {
859
+ this.isTimelineFocused = this.metadata.timelineElement.contains(relatedTarget);
860
+ // update the task element only if the new focus target is not in the Timeline - focus change between tasks is handled in the focusin handler
861
+ if (!isTask(relatedTarget, this.metadata.timelineElement)) {
862
+ this.notifyTaskStatusChange();
863
+ }
864
+ }
865
+ /**
866
+ * Updates the focus target flags and corrects the TreeList focus target if needed.
867
+ * As the TreeList will keep its last focused cell with tabindex="0",
868
+ * this methods forcefully focuses the correct cell,
869
+ * when navigating in the Timeline has updated the expected TreeList focus target.
870
+ */
871
+ handleTreeListFocusIn(event) {
872
+ this.treeListLastActive = true;
873
+ this.timelineLastActive = false;
874
+ // if the previous focus target was in the TreeList, rely on its component navigation and just record the focused item index
875
+ if (this.metadata.treeListElement.contains(event.relatedTarget)) {
876
+ const { colIndex, rowIndex } = this.metadata.treeList.activeCell;
877
+ this.activeTreeListCell = { colIndex, rowIndex };
878
+ }
879
+ else {
880
+ // if the previous focus target was outside the TreeList, ensure the expected focus coords are used
881
+ const { rowIndex, colIndex } = this.activeTreeListCell;
882
+ this.metadata.treeList.focusCell(rowIndex, colIndex); // activates the target cell even if it has tabindex="-1"
883
+ }
884
+ this.activeTimelineIndex = this.metadata.treeList.activeCell.dataRowIndex;
885
+ this.notifyTaskStatusChange();
886
+ if (this.metadata.treeList.activeCell.dataRowIndex >= 0) {
887
+ this.scrollHorizontallyToTask();
888
+ this.scrollSyncService.syncScrollTop('treelist', 'timeline');
889
+ }
890
+ }
891
+ updateActiveTimeLineIndex(index) {
892
+ this.activeTimelineIndex = index;
893
+ }
894
+ updateActiveTreeListCell() {
895
+ this.activeTreeListCell = {
896
+ rowIndex: this.activeTimelineIndex + this.treeListHeaderRowsCount,
897
+ colIndex: this.activeTreeListCell.colIndex
898
+ };
899
+ }
900
+ /**
901
+ * Fires the `taskStatusChanges` event with active and focused status retrieved from
902
+ * `this.activeTimelineIndex` and `this.isTimelineFocused`.
903
+ */
904
+ notifyTaskStatusChange() {
905
+ this.taskStatusChanges.next(this.activeTask);
906
+ }
907
+ /**
908
+ * Scrolls horizontally to the beginning of the target task if the beginning of its content is not in the viewport.
909
+ */
910
+ scrollHorizontallyToTask() {
911
+ const index = this.activeTimelineIndex;
912
+ const task = this.metadata.timelineElement.querySelectorAll('.k-task-wrap').item(index);
913
+ if (!isPresent(task)) {
914
+ return;
915
+ }
916
+ // scroll horizontally to the item if less than 200px from the beginning of its content are visible
917
+ const targetVisibleWidth = 200;
918
+ const isScrollBeforeTask = (this.metadata.timelineElement.clientWidth + this.metadata.timelineElement.scrollLeft) < (task.offsetLeft + targetVisibleWidth);
919
+ const isScrollAfterTask = this.metadata.timelineElement.scrollLeft > task.offsetLeft;
920
+ if (isScrollBeforeTask || isScrollAfterTask) {
921
+ this.metadata.timelineElement.scrollLeft = task.offsetLeft;
922
+ }
923
+ }
924
+ /**
925
+ * Filters for task mousedown in the Timeline.
926
+ */
927
+ handleTimelineMousedown({ target }) {
928
+ if (isTask(target, this.metadata.host) && !isClearButton(target, this.metadata.host)) {
929
+ const taskIndex = getClosestTaskIndex(target, this.metadata.host);
930
+ this.focusTask(taskIndex);
931
+ }
932
+ }
933
+ /**
934
+ * Focus the TreeList on TreeList mousedown.
935
+ * A nasty hack to trick `handleTreeListFocusIn` into regarding the previous focus target as again the TreeList.
936
+ * Otherwise cell clicks are wrongly overwritten in `handleTreeListFocusIn` and the click focus target is not respected.
937
+ */
938
+ focusTreeList() {
939
+ this.metadata.treeList.focus();
940
+ }
941
+ }
942
+ NavigationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NavigationService, deps: [{ token: i0.NgZone }, { token: i0.Renderer2 }, { token: ScrollSyncService }], target: i0.ɵɵFactoryTarget.Injectable });
943
+ NavigationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NavigationService });
944
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NavigationService, decorators: [{
945
+ type: Injectable
946
+ }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i0.Renderer2 }, { type: ScrollSyncService }]; } });
947
+
948
+ /**
949
+ * @hidden
950
+ */
951
+ const TOUCH_ENABLED = new InjectionToken('gantt-touch-enabled');
952
+
953
+ /**
954
+ * @hidden
955
+ */
956
+ class OptionChangesService {
957
+ constructor() {
958
+ this.viewChanges = new EventEmitter();
959
+ this.columnChanges = new EventEmitter();
960
+ }
961
+ notifyColumnChanges() {
962
+ this.columnChanges.emit();
963
+ }
964
+ notifyViewChanges() {
965
+ this.viewChanges.emit();
966
+ }
967
+ }
968
+ OptionChangesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: OptionChangesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
969
+ OptionChangesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: OptionChangesService });
970
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: OptionChangesService, decorators: [{
971
+ type: Injectable
972
+ }] });
973
+
974
+ /**
975
+ * @hidden
976
+ */
977
+ const DAY_FORMAT = 'E d/MM';
978
+ /**
979
+ * @hidden
980
+ */
981
+ const HOUR_FORMAT = 'HH:mm aa';
982
+ /**
983
+ * @hidden
984
+ */
985
+ const MONTH_FORMAT = 'MMM';
986
+ /**
987
+ * @hidden
988
+ */
989
+ class TimelineBaseViewService {
990
+ constructor(intlService, mapper) {
991
+ this.intlService = intlService;
992
+ this.mapper = mapper;
993
+ this._viewStart = 0;
994
+ }
995
+ get viewStart() {
996
+ return this._viewStart;
997
+ }
998
+ /**
999
+ *
1000
+ * @param tasks - The tasks which are going to be rendered in the table
1001
+ * @returns {Object} - An object containing the range start and end dates
1002
+ */
1003
+ getRange(tasks) {
1004
+ if (!tasks || !tasks.length) {
1005
+ return { start: new Date(), end: new Date() };
728
1006
  }
729
1007
  const startResult = orderBy(tasks, [{ field: this.mapper.taskFields.start, dir: 'asc' }]);
730
1008
  const endResult = orderBy(tasks, [{ field: this.mapper.taskFields.end, dir: 'desc' }]);
@@ -746,10 +1024,10 @@ class TimelineBaseViewService {
746
1024
  */
747
1025
  getHours(start, end) {
748
1026
  const slots = [];
749
- let workDayStart = this.intlService.parseDate(this.options.workDayStart).getHours();
750
- let workDayEnd = this.intlService.parseDate(this.options.workDayEnd).getHours();
1027
+ const workDayStart = this.intlService.parseDate(this.options.workDayStart).getHours();
1028
+ const workDayEnd = this.intlService.parseDate(this.options.workDayEnd).getHours();
751
1029
  // TODO: retrieve from option?
752
- let hourSpan = 1;
1030
+ const hourSpan = 1;
753
1031
  let startDate = new Date(start);
754
1032
  const endDate = new Date(end);
755
1033
  while (startDate < endDate) {
@@ -777,13 +1055,13 @@ class TimelineBaseViewService {
777
1055
  getDays(start, end) {
778
1056
  const slots = [];
779
1057
  let startDay = new Date(start);
780
- let endDay = new Date(end);
1058
+ const endDay = new Date(end);
781
1059
  while (startDay <= endDay) {
782
1060
  // Get the days with cleared time values (except for start and end day)
783
1061
  const nextDay = getDate(addDays(startDay, 1));
784
1062
  const isWorking = isWorkDay(startDay, this.options.workWeekStart, this.options.workWeekEnd);
785
1063
  // Need to get the end date with correct hours (important for day view)
786
- let slotEnd = endDay < nextDay ? endDay : nextDay;
1064
+ const slotEnd = endDay < nextDay ? endDay : nextDay;
787
1065
  slots.push({
788
1066
  start: startDay,
789
1067
  end: slotEnd,
@@ -800,7 +1078,7 @@ class TimelineBaseViewService {
800
1078
  const weekStart = this.intlService.firstDay();
801
1079
  const slots = [];
802
1080
  let startDay = new Date(start);
803
- let endDay = new Date(end);
1081
+ const endDay = new Date(end);
804
1082
  while (startDay <= endDay) {
805
1083
  const lastWeekDay = lastDayOfWeek(startDay, weekStart);
806
1084
  const slotEnd = lastWeekDay > endDay ? endDay : lastWeekDay;
@@ -824,10 +1102,10 @@ class TimelineBaseViewService {
824
1102
  getMonths(start, end, isMainViewType) {
825
1103
  const slots = [];
826
1104
  let startDay = new Date(start);
827
- let endDay = new Date(end);
1105
+ const endDay = new Date(end);
828
1106
  while (startDay < endDay) {
829
1107
  const endMonth = lastDayOfMonth(startDay);
830
- let slotEnd = endDay < endMonth ? endDay : endMonth;
1108
+ const slotEnd = endDay < endMonth ? endDay : endMonth;
831
1109
  const daySlots = this.getDays(startDay, slotEnd);
832
1110
  const weekSlots = this.getWeeks(startDay, slotEnd);
833
1111
  const span = isMainViewType ? daySlots.length : weekSlots.length;
@@ -849,157 +1127,45 @@ class TimelineBaseViewService {
849
1127
  getYears(start, end) {
850
1128
  const slots = [];
851
1129
  let startDay = new Date(start);
852
- let endDay = new Date(end);
1130
+ const endDay = new Date(end);
853
1131
  while (startDay < endDay) {
854
1132
  const yearEnd = lastDayOfMonth(lastMonthOfYear(startDay));
855
1133
  const slotEnd = endDay < yearEnd ? endDay : yearEnd;
856
1134
  const monthSlots = this.getMonths(startDay, slotEnd);
857
- const span = monthSlots.length;
858
- if (span > 0) {
859
- slots.push({
860
- start: monthSlots[0].start,
861
- end: monthSlots[span - 1].end,
862
- span: span,
863
- text: slotEnd.getFullYear(),
864
- slotWidth: this.options.slotWidth
865
- });
866
- }
867
- startDay = addDays(slotEnd, 1);
868
- }
869
- return slots;
870
- }
871
- }
872
-
873
- /**
874
- * @hidden
875
- */
876
- class TimelineDayViewService extends TimelineBaseViewService {
877
- constructor(intlService, mapper) {
878
- super(intlService, mapper);
879
- }
880
- /**
881
- * Gets a date an hour before the first task start with minutes, seconds, milliseconds cleared.
882
- */
883
- getStartOffset(rangeStart) {
884
- return setTime(rangeStart, rangeStart.getHours() - 1);
885
- }
886
- /**
887
- * Gets a date an hour after the last task end with minutes, seconds, milliseconds cleared.
888
- */
889
- getEndOffset(rangeEnd) {
890
- return setTime(rangeEnd, rangeEnd.getHours() + 1);
891
- }
892
- /**
893
- *
894
- * @param tasks - The tasks which are going to be rendered in the table
895
- * @returns {number}
896
- */
897
- getTableWidth(tasks) {
898
- const timeSlots = this.getSlots(tasks)[1];
899
- const slotWidth = this.options.slotWidth;
900
- return Math.round(timeSlots.length * slotWidth);
901
- }
902
- /**
903
- *
904
- * @param tasks - The tasks which are going to be rendered in the table
905
- * @returns {Array<Object>} - A collection containing the day and hours slots
906
- * Used to render the number of columns and the header
907
- */
908
- getSlots(tasks) {
909
- // will return the header rows slots
910
- let slots = [];
911
- let { start, end } = this.getRange(tasks);
912
- const daySlots = this.getDays(start, end);
913
- const hourSlots = [];
914
- for (let i = 0; i < daySlots.length; i++) {
915
- const daySlot = daySlots[i];
916
- const hours = this.getHours(daySlot.start, daySlot.end);
917
- daySlot.span = hours.length;
918
- hourSlots.push(...hours);
919
- }
920
- slots.push(daySlots, hourSlots);
921
- return slots;
922
- }
923
- }
924
- TimelineDayViewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimelineDayViewService, deps: [{ token: i1.IntlService }, { token: MappingService }], target: i0.ɵɵFactoryTarget.Injectable });
925
- TimelineDayViewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimelineDayViewService });
926
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimelineDayViewService, decorators: [{
927
- type: Injectable
928
- }], ctorParameters: function () { return [{ type: i1.IntlService }, { type: MappingService }]; } });
929
-
930
- /**
931
- * @hidden
932
- */
933
- class TimelineMonthViewService extends TimelineBaseViewService {
934
- constructor(intlService, mapper) {
935
- super(intlService, mapper);
936
- }
937
- /**
938
- * Gets a week before the first week in which a task starts.
939
- */
940
- getStartOffset(rangeStart) {
941
- const weekStart = this.intlService.firstDay();
942
- const firstDay = firstDayInWeek(getDate(rangeStart), weekStart);
943
- return addWeeks(getDate(firstDay), -1);
944
- }
945
- /**
946
- * Gets a week after the last week in which a task ends.
947
- */
948
- getEndOffset(rangeEnd) {
949
- const weekStart = this.intlService.firstDay();
950
- const lastDay = addDays(firstDayInWeek(getDate(rangeEnd), weekStart), 6);
951
- return addWeeks(getDate(lastDay), 1);
952
- }
953
- /**
954
- *
955
- * @param tasks - The tasks which are going to be rendered in the table
956
- * @returns {number}
957
- */
958
- getTableWidth(tasks) {
959
- const timeSlots = this.getSlots(tasks)[1];
960
- const slotWidth = this.options.slotWidth;
961
- return Math.round(timeSlots.length * slotWidth);
962
- }
963
- /**
964
- *
965
- * @param tasks - The tasks which are going to be rendered in the table
966
- * @returns {Array<Object>} - A collection containing the months and weeks slots
967
- * Used to render the number of columns and the header
968
- */
969
- getSlots(tasks) {
970
- // will return the header rows slots
971
- let slots = [];
972
- let { start, end } = this.getRange(tasks);
973
- const months = this.getMonths(start, end, true);
974
- const weeks = this.getWeeks(start, end);
975
- slots.push(months, weeks);
1135
+ const span = monthSlots.length;
1136
+ if (span > 0) {
1137
+ slots.push({
1138
+ start: monthSlots[0].start,
1139
+ end: monthSlots[span - 1].end,
1140
+ span: span,
1141
+ text: slotEnd.getFullYear(),
1142
+ slotWidth: this.options.slotWidth
1143
+ });
1144
+ }
1145
+ startDay = addDays(slotEnd, 1);
1146
+ }
976
1147
  return slots;
977
1148
  }
978
1149
  }
979
- TimelineMonthViewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimelineMonthViewService, deps: [{ token: i1.IntlService }, { token: MappingService }], target: i0.ɵɵFactoryTarget.Injectable });
980
- TimelineMonthViewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimelineMonthViewService });
981
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimelineMonthViewService, decorators: [{
982
- type: Injectable
983
- }], ctorParameters: function () { return [{ type: i1.IntlService }, { type: MappingService }]; } });
984
1150
 
985
1151
  /**
986
1152
  * @hidden
987
1153
  */
988
- class TimelineWeekViewService extends TimelineBaseViewService {
1154
+ class TimelineDayViewService extends TimelineBaseViewService {
989
1155
  constructor(intlService, mapper) {
990
1156
  super(intlService, mapper);
991
1157
  }
992
1158
  /**
993
- * Gets a date a day before the first task start with hours, minutes, seconds, milliseconds cleared.
1159
+ * Gets a date an hour before the first task start with minutes, seconds, milliseconds cleared.
994
1160
  */
995
1161
  getStartOffset(rangeStart) {
996
- return addDays(getDate(rangeStart), -1);
1162
+ return setTime(rangeStart, rangeStart.getHours() - 1);
997
1163
  }
998
1164
  /**
999
- * Gets a date a day after the last task start with hours, minutes, seconds, milliseconds cleared.
1165
+ * Gets a date an hour after the last task end with minutes, seconds, milliseconds cleared.
1000
1166
  */
1001
1167
  getEndOffset(rangeEnd) {
1002
- return addDays(getDate(rangeEnd), 1);
1168
+ return setTime(rangeEnd, rangeEnd.getHours() + 1);
1003
1169
  }
1004
1170
  /**
1005
1171
  *
@@ -1019,371 +1185,205 @@ class TimelineWeekViewService extends TimelineBaseViewService {
1019
1185
  */
1020
1186
  getSlots(tasks) {
1021
1187
  // will return the header rows slots
1022
- let slots = [];
1023
- let { start, end } = this.getRange(tasks);
1024
- const weeks = this.getWeeks(start, end);
1025
- const days = this.getDays(start, end);
1026
- slots.push(weeks, days);
1188
+ const slots = [];
1189
+ const { start, end } = this.getRange(tasks);
1190
+ const daySlots = this.getDays(start, end);
1191
+ const hourSlots = [];
1192
+ for (let i = 0; i < daySlots.length; i++) {
1193
+ const daySlot = daySlots[i];
1194
+ const hours = this.getHours(daySlot.start, daySlot.end);
1195
+ daySlot.span = hours.length;
1196
+ hourSlots.push(...hours);
1197
+ }
1198
+ slots.push(daySlots, hourSlots);
1027
1199
  return slots;
1028
1200
  }
1029
1201
  }
1030
- TimelineWeekViewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimelineWeekViewService, deps: [{ token: i1.IntlService }, { token: MappingService }], target: i0.ɵɵFactoryTarget.Injectable });
1031
- TimelineWeekViewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimelineWeekViewService });
1032
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimelineWeekViewService, decorators: [{
1202
+ TimelineDayViewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineDayViewService, deps: [{ token: i1.IntlService }, { token: MappingService }], target: i0.ɵɵFactoryTarget.Injectable });
1203
+ TimelineDayViewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineDayViewService });
1204
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineDayViewService, decorators: [{
1033
1205
  type: Injectable
1034
1206
  }], ctorParameters: function () { return [{ type: i1.IntlService }, { type: MappingService }]; } });
1035
1207
 
1036
1208
  /**
1037
1209
  * @hidden
1038
1210
  */
1039
- class TimeLineYearViewService extends TimelineBaseViewService {
1211
+ class TimelineMonthViewService extends TimelineBaseViewService {
1040
1212
  constructor(intlService, mapper) {
1041
1213
  super(intlService, mapper);
1042
1214
  }
1043
- getTableWidth(tasks) {
1044
- const timeSlots = this.getSlots(tasks)[1];
1045
- const slotWidth = this.options.slotWidth;
1046
- return Math.round(timeSlots.length * slotWidth);
1047
- }
1215
+ /**
1216
+ * Gets a week before the first week in which a task starts.
1217
+ */
1048
1218
  getStartOffset(rangeStart) {
1049
- const monthStart = firstDayOfMonth(rangeStart);
1050
- return addMonths(getDate(monthStart), -1);
1219
+ const weekStart = this.intlService.firstDay();
1220
+ const firstDay = firstDayInWeek(getDate(rangeStart), weekStart);
1221
+ return addWeeks(getDate(firstDay), -1);
1051
1222
  }
1052
1223
  /**
1053
- *
1224
+ * Gets a week after the last week in which a task ends.
1054
1225
  */
1055
1226
  getEndOffset(rangeEnd) {
1056
- const monthEnd = lastDayOfMonth(rangeEnd);
1057
- return addMonths(getDate(monthEnd), 1);
1227
+ const weekStart = this.intlService.firstDay();
1228
+ const lastDay = addDays(firstDayInWeek(getDate(rangeEnd), weekStart), 6);
1229
+ return addWeeks(getDate(lastDay), 1);
1058
1230
  }
1059
1231
  /**
1060
1232
  *
1061
1233
  * @param tasks - The tasks which are going to be rendered in the table
1062
- * @returns {Array<Object>} - A collection containing the years and months slots
1234
+ * @returns {number}
1235
+ */
1236
+ getTableWidth(tasks) {
1237
+ const timeSlots = this.getSlots(tasks)[1];
1238
+ const slotWidth = this.options.slotWidth;
1239
+ return Math.round(timeSlots.length * slotWidth);
1240
+ }
1241
+ /**
1063
1242
  *
1243
+ * @param tasks - The tasks which are going to be rendered in the table
1244
+ * @returns {Array<Object>} - A collection containing the months and weeks slots
1064
1245
  * Used to render the number of columns and the header
1065
1246
  */
1066
1247
  getSlots(tasks) {
1067
1248
  // will return the header rows slots
1068
- let slots = [];
1069
- let { start, end } = this.getRange(tasks);
1070
- const years = this.getYears(start, end);
1071
- const months = this.getMonths(start, end);
1072
- slots.push(years, months);
1249
+ const slots = [];
1250
+ const { start, end } = this.getRange(tasks);
1251
+ const months = this.getMonths(start, end, true);
1252
+ const weeks = this.getWeeks(start, end);
1253
+ slots.push(months, weeks);
1073
1254
  return slots;
1074
1255
  }
1075
- }
1076
- TimeLineYearViewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimeLineYearViewService, deps: [{ token: i1.IntlService }, { token: MappingService }], target: i0.ɵɵFactoryTarget.Injectable });
1077
- TimeLineYearViewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimeLineYearViewService });
1078
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimeLineYearViewService, decorators: [{
1079
- type: Injectable
1080
- }], ctorParameters: function () { return [{ type: i1.IntlService }, { type: MappingService }]; } });
1081
-
1082
- /**
1083
- * @hidden
1084
- */
1085
- const services = {
1086
- day: TimelineDayViewService,
1087
- week: TimelineWeekViewService,
1088
- month: TimelineMonthViewService,
1089
- year: TimeLineYearViewService
1090
- };
1091
- /**
1092
- * @hidden
1093
- */
1094
- class TimelineViewService {
1095
- constructor(injector) {
1096
- this.injector = injector;
1097
- this.viewChange = new EventEmitter();
1098
- }
1099
- service(view) {
1100
- const serviceType = services[view];
1101
- return serviceType ? this.injector.get(serviceType) : null;
1102
- }
1103
- }
1104
- TimelineViewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimelineViewService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
1105
- TimelineViewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimelineViewService });
1106
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimelineViewService, decorators: [{
1107
- type: Injectable
1108
- }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
1109
-
1110
- /**
1111
- * @hidden
1112
- */
1113
- class OptionChangesService {
1114
- constructor() {
1115
- this.viewChanges = new EventEmitter();
1116
- this.columnChanges = new EventEmitter();
1117
- }
1118
- notifyColumnChanges() {
1119
- this.columnChanges.emit();
1120
- }
1121
- notifyViewChanges() {
1122
- this.viewChanges.emit();
1123
- }
1124
- }
1125
- OptionChangesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: OptionChangesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1126
- OptionChangesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: OptionChangesService });
1127
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: OptionChangesService, decorators: [{
1128
- type: Injectable
1129
- }] });
1130
-
1131
- /**
1132
- * @hidden
1133
- */
1134
- class NavigationService {
1135
- constructor(zone, renderer, scrollSyncService) {
1136
- this.zone = zone;
1137
- this.renderer = renderer;
1138
- this.scrollSyncService = scrollSyncService;
1139
- /**
1140
- * Notifies when the tasks' focused and interactive (tabindex) state has changed.
1141
- *
1142
- * All tasks are rendered with tabindex="-1".
1143
- * When one is clicked, or when some navigation key keyboard key is pressed, it should be focused, assigned the focus class, and its tabindex updated to 0.
1144
- * All other tasks should get -1 tabindex and have the focus class removed from them.
1145
- */
1146
- this.taskStatusChanges = new Subject();
1147
- /**
1148
- * Keeps track of whether the Timeline part is focused.
1149
- * Used when the index of the task elements change (tasks are changed, pushed to, spliced from, etc.)
1150
- * and their status should be updated accordingly.
1151
- */
1152
- this.isTimelineFocused = false;
1153
- /**
1154
- * Keeps track of which part has last been focused.
1155
- * Used when calling `gantt.focus()` to determine which part of the component should receive focus.
1156
- */
1157
- this.treeListLastActive = false;
1158
- /**
1159
- * Keeps track of which part has last been focused.
1160
- * Used when calling `gantt.focus()` to determine which part of the component should receive focus.
1161
- */
1162
- this.timelineLastActive = false;
1163
- this._enabled = false;
1164
- this._activeTimelineIndex = 0;
1165
- this._activeTreeListCell = { rowIndex: 0, colIndex: 0 };
1166
- }
1167
- /**
1168
- * Specifies whether navigation is enabled.
1169
- */
1170
- get enabled() {
1171
- return this._enabled;
1172
- }
1173
- /**
1174
- * Used to retrieve read-only data about the currently active task.
1175
- */
1176
- get activeTask() {
1177
- return {
1178
- activeIndex: this.activeTimelineIndex,
1179
- isFocused: this.isTimelineFocused
1180
- };
1181
- }
1182
- /**
1183
- * Persists the expected Timeline focused task index.
1184
- * When the cells in the TreeList are navigated through, the expected Timeline focus target should also change,
1185
- * in order to allow tabbing from the TreeList to the same row in the Timeline.
1186
- */
1187
- set activeTimelineIndex(index) {
1188
- this._activeTimelineIndex = index;
1189
- }
1190
- get activeTimelineIndex() {
1191
- const firstAvailableIndex = 0;
1192
- const lastAvailableIndex = this.metadata.treeList.view.data.length - 1;
1193
- return fitToRange(this._activeTimelineIndex, firstAvailableIndex, lastAvailableIndex);
1194
- }
1195
- /**
1196
- * Persists the expected TreeList focused cell coords.
1197
- * When the tasks in the Timeline are navigated through, the expected TreeList focus target should also change,
1198
- * in order to allow back-tabbing from the Timeline to the same row in the TreeList.
1199
- */
1200
- set activeTreeListCell(cell) {
1201
- this._activeTreeListCell = cell;
1202
- }
1203
- get activeTreeListCell() {
1204
- const firstAvailableIndex = 0;
1205
- const lastAvailableRowIndex = this.treeListHeaderRowsCount + this.metadata.treeList.view.data.length - 1;
1206
- const rowIndex = fitToRange(this._activeTreeListCell.rowIndex, firstAvailableIndex, lastAvailableRowIndex);
1207
- const lastAvailableColIndex = this.metadata.columns.length;
1208
- const colIndex = fitToRange(this._activeTreeListCell.colIndex, firstAvailableIndex, lastAvailableColIndex);
1209
- return { rowIndex, colIndex };
1210
- }
1211
- /**
1212
- * The TreeList row index takes into account the header and filter rows.
1213
- * Used when translating Timeline task indices to TreeList row indices.
1214
- */
1215
- get treeListHeaderRowsCount() {
1216
- // captures nested group header rows + filter row if we start supporting it at some point
1217
- return this.metadata.treeListElement.querySelectorAll('.k-grid-header tr').length;
1218
- }
1219
- initialize(metadata) {
1220
- // no private property setters in TypeScript, so use a getter and a poorly named private prop for this value
1221
- this._enabled = true;
1222
- this.metadata = metadata;
1223
- // TODO: fix in the splitter package and remove
1224
- // move the splitbar HTML element between the two panes to keep the visial tabbing order in tact
1225
- const splitbar = this.metadata.host.querySelector('.k-splitbar');
1226
- if (isPresent(splitbar) && isPresent(splitbar.previousElementSibling) && isPresent(splitbar.after)) {
1227
- splitbar.after(splitbar.previousElementSibling);
1228
- }
1229
- this.zone.runOutsideAngular(() => {
1230
- this.eventListenerDisposers = [
1231
- this.renderer.listen(this.metadata.treeListElement, 'mousedown', this.focusTreeList.bind(this)),
1232
- this.renderer.listen(this.metadata.treeListElement, 'focusin', this.handleTreeListFocusIn.bind(this)),
1233
- this.renderer.listen(this.metadata.timelineElement, 'mousedown', this.handleTimelineMousedown.bind(this)),
1234
- this.renderer.listen(this.metadata.timelineElement, 'focusin', this.handleTimelineFocusIn.bind(this)),
1235
- this.renderer.listen(this.metadata.timelineElement, 'focusout', this.handleTimelineFocusOut.bind(this))
1236
- ];
1237
- });
1238
- }
1239
- ngOnDestroy() {
1240
- if (isPresent(this.eventListenerDisposers)) {
1241
- this.eventListenerDisposers.forEach(removeListener => removeListener());
1242
- this.eventListenerDisposers = null;
1243
- }
1244
- this.metadata = null;
1245
- }
1246
- /**
1247
- * Focuses either the last active TreeList cell, or the last active Timeline task,
1248
- * dependening on which of the two last held focus.
1249
- *
1250
- * Focuses the first TreeList cell by default.
1251
- */
1252
- focusLastActiveItem() {
1253
- if (this.metadata.data.length === 0 || (!this.treeListLastActive && !this.timelineLastActive)) {
1254
- this.focusCell(0, 0);
1255
- }
1256
- else if (this.treeListLastActive) {
1257
- const { rowIndex, colIndex } = this.activeTreeListCell;
1258
- this.metadata.treeList.focusCell(rowIndex, colIndex);
1259
- }
1260
- else if (this.timelineLastActive) {
1261
- this.focusTask(this.activeTimelineIndex);
1262
- }
1256
+ }
1257
+ TimelineMonthViewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineMonthViewService, deps: [{ token: i1.IntlService }, { token: MappingService }], target: i0.ɵɵFactoryTarget.Injectable });
1258
+ TimelineMonthViewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineMonthViewService });
1259
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineMonthViewService, decorators: [{
1260
+ type: Injectable
1261
+ }], ctorParameters: function () { return [{ type: i1.IntlService }, { type: MappingService }]; } });
1262
+
1263
+ /**
1264
+ * @hidden
1265
+ */
1266
+ class TimelineWeekViewService extends TimelineBaseViewService {
1267
+ constructor(intlService, mapper) {
1268
+ super(intlService, mapper);
1263
1269
  }
1264
1270
  /**
1265
- * Focuses the targeted TreeList cell regardless of the last peresisted target.
1271
+ * Gets a date a day before the first task start with hours, minutes, seconds, milliseconds cleared.
1266
1272
  */
1267
- focusCell(rowIndex, colIndex) {
1268
- this.activeTreeListCell = { rowIndex, colIndex };
1269
- this.activeTimelineIndex = rowIndex - this.treeListHeaderRowsCount;
1270
- this.metadata.treeList.focusCell(this.activeTreeListCell.rowIndex, this.activeTreeListCell.colIndex);
1273
+ getStartOffset(rangeStart) {
1274
+ return addDays(getDate(rangeStart), -1);
1271
1275
  }
1272
1276
  /**
1273
- * Focuses the targeted Timeline task regardless of the last peresisted target.
1277
+ * Gets a date a day after the last task start with hours, minutes, seconds, milliseconds cleared.
1274
1278
  */
1275
- focusTask(index) {
1276
- this.activeTimelineIndex = index;
1277
- this.isTimelineFocused = true;
1278
- this.activeTreeListCell = {
1279
- rowIndex: index + this.treeListHeaderRowsCount,
1280
- colIndex: this.activeTreeListCell.colIndex
1281
- };
1282
- this.notifyTaskStatusChange();
1279
+ getEndOffset(rangeEnd) {
1280
+ return addDays(getDate(rangeEnd), 1);
1283
1281
  }
1284
1282
  /**
1285
- * Updates the focus target flags and notifies the active task to update its focused state.
1283
+ *
1284
+ * @param tasks - The tasks which are going to be rendered in the table
1285
+ * @returns {number}
1286
1286
  */
1287
- handleTimelineFocusIn({ target }) {
1288
- this.treeListLastActive = false;
1289
- this.timelineLastActive = true;
1290
- this.isTimelineFocused = true;
1291
- if (isTask(target, this.metadata.timelineElement)) {
1292
- this.notifyTaskStatusChange();
1293
- }
1287
+ getTableWidth(tasks) {
1288
+ const timeSlots = this.getSlots(tasks)[1];
1289
+ const slotWidth = this.options.slotWidth;
1290
+ return Math.round(timeSlots.length * slotWidth);
1294
1291
  }
1295
1292
  /**
1296
- * Updates the timeline focus state flag and notifies the active task to update its focused state.
1293
+ *
1294
+ * @param tasks - The tasks which are going to be rendered in the table
1295
+ * @returns {Array<Object>} - A collection containing the day and hours slots
1296
+ * Used to render the number of columns and the header
1297
1297
  */
1298
- handleTimelineFocusOut({ relatedTarget }) {
1299
- this.isTimelineFocused = this.metadata.timelineElement.contains(relatedTarget);
1300
- // update the task element only if the new focus target is not in the Timeline - focus change between tasks is handled in the focusin handler
1301
- if (!isTask(relatedTarget, this.metadata.timelineElement)) {
1302
- this.notifyTaskStatusChange();
1303
- }
1298
+ getSlots(tasks) {
1299
+ // will return the header rows slots
1300
+ const slots = [];
1301
+ const { start, end } = this.getRange(tasks);
1302
+ const weeks = this.getWeeks(start, end);
1303
+ const days = this.getDays(start, end);
1304
+ slots.push(weeks, days);
1305
+ return slots;
1304
1306
  }
1305
- /**
1306
- * Updates the focus target flags and corrects the TreeList focus target if needed.
1307
- * As the TreeList will keep its last focused cell with tabindex="0",
1308
- * this methods forcefully focuses the correct cell,
1309
- * when navigating in the Timeline has updated the expected TreeList focus target.
1310
- */
1311
- handleTreeListFocusIn(event) {
1312
- this.treeListLastActive = true;
1313
- this.timelineLastActive = false;
1314
- // if the previous focus target was in the TreeList, rely on its component navigation and just record the focused item index
1315
- if (this.metadata.treeListElement.contains(event.relatedTarget)) {
1316
- const { colIndex, rowIndex } = this.metadata.treeList.activeCell;
1317
- this.activeTreeListCell = { colIndex, rowIndex };
1318
- }
1319
- else {
1320
- // if the previous focus target was outside the TreeList, ensure the expected focus coords are used
1321
- const { rowIndex, colIndex } = this.activeTreeListCell;
1322
- this.metadata.treeList.focusCell(rowIndex, colIndex); // activates the target cell even if it has tabindex="-1"
1323
- }
1324
- this.activeTimelineIndex = this.metadata.treeList.activeCell.dataRowIndex;
1325
- this.notifyTaskStatusChange();
1326
- if (this.metadata.treeList.activeCell.dataRowIndex >= 0) {
1327
- this.scrollHorizontallyToTask();
1328
- this.scrollSyncService.syncScrollTop('treelist', 'timeline');
1329
- }
1307
+ }
1308
+ TimelineWeekViewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineWeekViewService, deps: [{ token: i1.IntlService }, { token: MappingService }], target: i0.ɵɵFactoryTarget.Injectable });
1309
+ TimelineWeekViewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineWeekViewService });
1310
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineWeekViewService, decorators: [{
1311
+ type: Injectable
1312
+ }], ctorParameters: function () { return [{ type: i1.IntlService }, { type: MappingService }]; } });
1313
+
1314
+ /**
1315
+ * @hidden
1316
+ */
1317
+ class TimeLineYearViewService extends TimelineBaseViewService {
1318
+ constructor(intlService, mapper) {
1319
+ super(intlService, mapper);
1330
1320
  }
1331
- updateActiveTimeLineIndex(index) {
1332
- this.activeTimelineIndex = index;
1321
+ getTableWidth(tasks) {
1322
+ const timeSlots = this.getSlots(tasks)[1];
1323
+ const slotWidth = this.options.slotWidth;
1324
+ return Math.round(timeSlots.length * slotWidth);
1333
1325
  }
1334
- updateActiveTreeListCell() {
1335
- this.activeTreeListCell = {
1336
- rowIndex: this.activeTimelineIndex + this.treeListHeaderRowsCount,
1337
- colIndex: this.activeTreeListCell.colIndex
1338
- };
1326
+ getStartOffset(rangeStart) {
1327
+ const monthStart = firstDayOfMonth(rangeStart);
1328
+ return addMonths(getDate(monthStart), -1);
1339
1329
  }
1340
1330
  /**
1341
- * Fires the `taskStatusChanges` event with active and focused status retrieved from
1342
- * `this.activeTimelineIndex` and `this.isTimelineFocused`.
1331
+ *
1343
1332
  */
1344
- notifyTaskStatusChange() {
1345
- this.taskStatusChanges.next(this.activeTask);
1333
+ getEndOffset(rangeEnd) {
1334
+ const monthEnd = lastDayOfMonth(rangeEnd);
1335
+ return addMonths(getDate(monthEnd), 1);
1346
1336
  }
1347
1337
  /**
1348
- * Scrolls horizontally to the beginning of the target task if the beginning of its content is not in the viewport.
1338
+ *
1339
+ * @param tasks - The tasks which are going to be rendered in the table
1340
+ * @returns {Array<Object>} - A collection containing the years and months slots
1341
+ *
1342
+ * Used to render the number of columns and the header
1349
1343
  */
1350
- scrollHorizontallyToTask() {
1351
- const index = this.activeTimelineIndex;
1352
- const task = this.metadata.timelineElement.querySelectorAll('.k-task-wrap').item(index);
1353
- if (!isPresent(task)) {
1354
- return;
1355
- }
1356
- // scroll horizontally to the item if less than 200px from the beginning of its content are visible
1357
- const targetVisibleWidth = 200;
1358
- const isScrollBeforeTask = (this.metadata.timelineElement.clientWidth + this.metadata.timelineElement.scrollLeft) < (task.offsetLeft + targetVisibleWidth);
1359
- const isScrollAfterTask = this.metadata.timelineElement.scrollLeft > task.offsetLeft;
1360
- if (isScrollBeforeTask || isScrollAfterTask) {
1361
- this.metadata.timelineElement.scrollLeft = task.offsetLeft;
1362
- }
1344
+ getSlots(tasks) {
1345
+ // will return the header rows slots
1346
+ const slots = [];
1347
+ const { start, end } = this.getRange(tasks);
1348
+ const years = this.getYears(start, end);
1349
+ const months = this.getMonths(start, end);
1350
+ slots.push(years, months);
1351
+ return slots;
1363
1352
  }
1364
- /**
1365
- * Filters for task mousedown in the Timeline.
1366
- */
1367
- handleTimelineMousedown({ target }) {
1368
- if (isTask(target, this.metadata.host) && !isClearButton(target, this.metadata.host)) {
1369
- const taskIndex = getClosestTaskIndex(target, this.metadata.host);
1370
- this.focusTask(taskIndex);
1371
- }
1353
+ }
1354
+ TimeLineYearViewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimeLineYearViewService, deps: [{ token: i1.IntlService }, { token: MappingService }], target: i0.ɵɵFactoryTarget.Injectable });
1355
+ TimeLineYearViewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimeLineYearViewService });
1356
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimeLineYearViewService, decorators: [{
1357
+ type: Injectable
1358
+ }], ctorParameters: function () { return [{ type: i1.IntlService }, { type: MappingService }]; } });
1359
+
1360
+ /**
1361
+ * @hidden
1362
+ */
1363
+ const services = {
1364
+ day: TimelineDayViewService,
1365
+ week: TimelineWeekViewService,
1366
+ month: TimelineMonthViewService,
1367
+ year: TimeLineYearViewService
1368
+ };
1369
+ /**
1370
+ * @hidden
1371
+ */
1372
+ class TimelineViewService {
1373
+ constructor(injector) {
1374
+ this.injector = injector;
1375
+ this.viewChange = new EventEmitter();
1372
1376
  }
1373
- /**
1374
- * Focus the TreeList on TreeList mousedown.
1375
- * A nasty hack to trick `handleTreeListFocusIn` into regarding the previous focus target as again the TreeList.
1376
- * Otherwise cell clicks are wrongly overwritten in `handleTreeListFocusIn` and the click focus target is not respected.
1377
- */
1378
- focusTreeList() {
1379
- this.metadata.treeList.focus();
1377
+ service(view) {
1378
+ const serviceType = services[view];
1379
+ return serviceType ? this.injector.get(serviceType) : null;
1380
1380
  }
1381
1381
  }
1382
- NavigationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NavigationService, deps: [{ token: i0.NgZone }, { token: i0.Renderer2 }, { token: ScrollSyncService }], target: i0.ɵɵFactoryTarget.Injectable });
1383
- NavigationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NavigationService });
1384
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NavigationService, decorators: [{
1382
+ TimelineViewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineViewService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
1383
+ TimelineViewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineViewService });
1384
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineViewService, decorators: [{
1385
1385
  type: Injectable
1386
- }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i0.Renderer2 }, { type: ScrollSyncService }]; } });
1386
+ }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
1387
1387
 
1388
1388
  const slotUnitDuration = {
1389
1389
  day: MS_PER_HOUR,
@@ -1473,16 +1473,16 @@ class GanttTaskBase {
1473
1473
  return isNumber(overlayWidth) ? overlayWidth : 0;
1474
1474
  }
1475
1475
  ngOnChanges(changes) {
1476
- if (isPresent(changes.dataItem)) {
1477
- if (isPresent(changes.dataItem.previousValue)) {
1478
- this.dependencyDomService.unregisterTask(changes.dataItem.previousValue);
1476
+ if (isPresent(changes['dataItem'])) {
1477
+ if (isPresent(changes['dataItem'].previousValue)) {
1478
+ this.dependencyDomService.unregisterTask(changes['dataItem'].previousValue);
1479
1479
  }
1480
1480
  this.dependencyDomService.registerTask(this.dataItem, this.taskElement.nativeElement);
1481
1481
  }
1482
- else if (isPresent(changes.activeView)) {
1482
+ else if (isPresent(changes['activeView'])) {
1483
1483
  this.dependencyDomService.notifyChanges();
1484
1484
  }
1485
- if (this.navigationService.enabled && isPresent(changes.index)) {
1485
+ if (this.navigationService.enabled && isPresent(changes['index'])) {
1486
1486
  this.updateActiveState(this.navigationService.activeTask);
1487
1487
  }
1488
1488
  }
@@ -1505,9 +1505,9 @@ class GanttTaskBase {
1505
1505
  }
1506
1506
  }
1507
1507
  }
1508
- GanttTaskBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttTaskBase, deps: [{ token: MappingService }, { token: TimelineViewService }, { token: DependencyDomService }, { token: OptionChangesService }, { token: i0.ChangeDetectorRef }, { token: NavigationService }], target: i0.ɵɵFactoryTarget.Directive });
1509
- GanttTaskBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: GanttTaskBase, 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: true, predicate: ["task"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0 });
1510
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttTaskBase, decorators: [{
1508
+ GanttTaskBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttTaskBase, deps: [{ token: MappingService }, { token: TimelineViewService }, { token: DependencyDomService }, { token: OptionChangesService }, { token: i0.ChangeDetectorRef }, { token: NavigationService }], target: i0.ɵɵFactoryTarget.Directive });
1509
+ GanttTaskBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: GanttTaskBase, 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: true, predicate: ["task"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0 });
1510
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttTaskBase, decorators: [{
1511
1511
  type: Directive,
1512
1512
  args: [{
1513
1513
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -1553,8 +1553,8 @@ class GanttMilestoneTaskComponent extends GanttTaskBase {
1553
1553
  this.milestoneWrapperClass = true;
1554
1554
  }
1555
1555
  }
1556
- GanttMilestoneTaskComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttMilestoneTaskComponent, deps: [{ token: TOUCH_ENABLED }, { token: MappingService }, { token: TimelineViewService }, { token: DependencyDomService }, { token: OptionChangesService }, { token: i0.ChangeDetectorRef }, { token: NavigationService }], target: i0.ɵɵFactoryTarget.Component });
1557
- GanttMilestoneTaskComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: GanttMilestoneTaskComponent, selector: "kendo-gantt-milestone-task", host: { properties: { "class.k-milestone-wrap": "this.milestoneWrapperClass" } }, providers: [
1556
+ GanttMilestoneTaskComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttMilestoneTaskComponent, deps: [{ token: TOUCH_ENABLED }, { token: MappingService }, { token: TimelineViewService }, { token: DependencyDomService }, { token: OptionChangesService }, { token: i0.ChangeDetectorRef }, { token: NavigationService }], target: i0.ɵɵFactoryTarget.Component });
1557
+ GanttMilestoneTaskComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: GanttMilestoneTaskComponent, selector: "kendo-gantt-milestone-task", host: { properties: { "class.k-milestone-wrap": "this.milestoneWrapperClass" } }, providers: [
1558
1558
  {
1559
1559
  provide: GanttTaskBase,
1560
1560
  useExisting: forwardRef(() => GanttMilestoneTaskComponent)
@@ -1583,8 +1583,8 @@ GanttMilestoneTaskComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.
1583
1583
  >
1584
1584
  </div>
1585
1585
  </ng-container>
1586
- `, isInline: true, 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: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
1587
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttMilestoneTaskComponent, decorators: [{
1586
+ `, isInline: true, directives: [{ type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
1587
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttMilestoneTaskComponent, decorators: [{
1588
1588
  type: Component,
1589
1589
  args: [{
1590
1590
  selector: 'kendo-gantt-milestone-task',
@@ -1618,16 +1618,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
1618
1618
  >
1619
1619
  </div>
1620
1620
  </ng-container>
1621
- `,
1622
- styles: [`
1623
- .k-task.k-focus {
1624
- box-shadow: 0 0 4px 3px grey;
1625
- outline: none;
1626
- }
1627
- .k-task.k-focus.k-selected {
1628
- box-shadow: 0 0 4px 3px #ffaea8;
1629
- }
1630
- `]
1621
+ `
1631
1622
  }]
1632
1623
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
1633
1624
  type: Inject,
@@ -1653,8 +1644,8 @@ class GanttSummaryTaskComponent extends GanttTaskBase {
1653
1644
  return String(isExpanded);
1654
1645
  }
1655
1646
  }
1656
- GanttSummaryTaskComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttSummaryTaskComponent, deps: [{ token: TOUCH_ENABLED }, { token: MappingService }, { token: TimelineViewService }, { token: DependencyDomService }, { token: OptionChangesService }, { token: i0.ChangeDetectorRef }, { token: NavigationService }], target: i0.ɵɵFactoryTarget.Component });
1657
- GanttSummaryTaskComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: GanttSummaryTaskComponent, selector: "kendo-gantt-summary-task", inputs: { template: "template", isExpanded: "isExpanded" }, host: { properties: { "class.k-summary-wrap": "this.summaryWrapperClass" } }, providers: [
1647
+ GanttSummaryTaskComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttSummaryTaskComponent, deps: [{ token: TOUCH_ENABLED }, { token: MappingService }, { token: TimelineViewService }, { token: DependencyDomService }, { token: OptionChangesService }, { token: i0.ChangeDetectorRef }, { token: NavigationService }], target: i0.ɵɵFactoryTarget.Component });
1648
+ GanttSummaryTaskComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: GanttSummaryTaskComponent, selector: "kendo-gantt-summary-task", inputs: { template: "template", isExpanded: "isExpanded" }, host: { properties: { "class.k-summary-wrap": "this.summaryWrapperClass" } }, providers: [
1658
1649
  {
1659
1650
  provide: GanttTaskBase,
1660
1651
  useExisting: forwardRef(() => GanttSummaryTaskComponent)
@@ -1703,8 +1694,8 @@ GanttSummaryTaskComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
1703
1694
  >
1704
1695
  </div>
1705
1696
  </ng-container>
1706
- `, isInline: true, 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: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
1707
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttSummaryTaskComponent, decorators: [{
1697
+ `, isInline: true, directives: [{ type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
1698
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttSummaryTaskComponent, decorators: [{
1708
1699
  type: Component,
1709
1700
  args: [{
1710
1701
  selector: 'kendo-gantt-summary-task',
@@ -1758,16 +1749,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
1758
1749
  >
1759
1750
  </div>
1760
1751
  </ng-container>
1761
- `,
1762
- styles: [`
1763
- .k-task.k-focus {
1764
- box-shadow: 0 0 4px 3px grey;
1765
- outline: none;
1766
- }
1767
- .k-task.k-focus.k-selected {
1768
- box-shadow: 0 0 4px 3px #ffaea8;
1769
- }
1770
- `]
1752
+ `
1771
1753
  }]
1772
1754
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
1773
1755
  type: Inject,
@@ -1877,9 +1859,9 @@ class EditService {
1877
1859
  return !isPresent(this.mapper.extractFromDependency(item, 'id'));
1878
1860
  }
1879
1861
  }
1880
- EditService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: EditService, deps: [{ token: MappingService }], target: i0.ɵɵFactoryTarget.Injectable });
1881
- EditService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: EditService });
1882
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: EditService, decorators: [{
1862
+ EditService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: EditService, deps: [{ token: MappingService }], target: i0.ɵɵFactoryTarget.Injectable });
1863
+ EditService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: EditService });
1864
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: EditService, decorators: [{
1883
1865
  type: Injectable
1884
1866
  }], ctorParameters: function () { return [{ type: MappingService }]; } });
1885
1867
 
@@ -1897,8 +1879,8 @@ class GanttTaskComponent extends GanttTaskBase {
1897
1879
  this.editService.taskDelete.next(this.dataItem);
1898
1880
  }
1899
1881
  }
1900
- GanttTaskComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttTaskComponent, deps: [{ token: EditService }, { token: TOUCH_ENABLED }, { token: MappingService }, { token: TimelineViewService }, { token: DependencyDomService }, { token: OptionChangesService }, { token: i0.ChangeDetectorRef }, { token: NavigationService }], target: i0.ɵɵFactoryTarget.Component });
1901
- GanttTaskComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: GanttTaskComponent, selector: "kendo-gantt-task", inputs: { taskContentTemplate: "taskContentTemplate", taskTemplate: "taskTemplate" }, providers: [
1882
+ GanttTaskComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttTaskComponent, deps: [{ token: EditService }, { token: TOUCH_ENABLED }, { token: MappingService }, { token: TimelineViewService }, { token: DependencyDomService }, { token: OptionChangesService }, { token: i0.ChangeDetectorRef }, { token: NavigationService }], target: i0.ɵɵFactoryTarget.Component });
1883
+ GanttTaskComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: GanttTaskComponent, selector: "kendo-gantt-task", inputs: { taskContentTemplate: "taskContentTemplate", taskTemplate: "taskTemplate" }, providers: [
1902
1884
  {
1903
1885
  provide: GanttTaskBase,
1904
1886
  useExisting: forwardRef(() => GanttTaskComponent)
@@ -1972,8 +1954,8 @@ GanttTaskComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
1972
1954
  >
1973
1955
  </div>
1974
1956
  </ng-container>
1975
- `, isInline: true, 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: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i8.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }] });
1976
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttTaskComponent, decorators: [{
1957
+ `, isInline: true, directives: [{ type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i8.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }] });
1958
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttTaskComponent, decorators: [{
1977
1959
  type: Component,
1978
1960
  args: [{
1979
1961
  selector: 'kendo-gantt-task',
@@ -2052,16 +2034,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
2052
2034
  >
2053
2035
  </div>
2054
2036
  </ng-container>
2055
- `,
2056
- styles: [`
2057
- .k-task.k-focus {
2058
- box-shadow: 0 0 4px 3px grey;
2059
- outline: none;
2060
- }
2061
- .k-task.k-focus.k-selected {
2062
- box-shadow: 0 0 4px 3px #ffaea8;
2063
- }
2064
- `]
2037
+ `
2065
2038
  }]
2066
2039
  }], ctorParameters: function () { return [{ type: EditService }, { type: undefined, decorators: [{
2067
2040
  type: Inject,
@@ -2091,8 +2064,8 @@ class GanttTasksTableBodyComponent {
2091
2064
  return !item.hasChildren && isEqual(this.mapper.extractFromTask(item.data, 'start'), this.mapper.extractFromTask(item.data, 'end'));
2092
2065
  }
2093
2066
  }
2094
- GanttTasksTableBodyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttTasksTableBodyComponent, deps: [{ token: DependencyDomService }, { token: MappingService }], target: i0.ɵɵFactoryTarget.Component });
2095
- GanttTasksTableBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: GanttTasksTableBodyComponent, 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: true, predicate: ["timelineRow"], descendants: true }], ngImport: i0, template: `
2067
+ GanttTasksTableBodyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttTasksTableBodyComponent, deps: [{ token: DependencyDomService }, { token: MappingService }], target: i0.ɵɵFactoryTarget.Component });
2068
+ GanttTasksTableBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: GanttTasksTableBodyComponent, 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: true, predicate: ["timelineRow"], descendants: true }], ngImport: i0, template: `
2096
2069
  <tr #timelineRow *ngFor="let item of rows; let index = index">
2097
2070
  <td>
2098
2071
  <kendo-gantt-milestone-task
@@ -2140,7 +2113,7 @@ GanttTasksTableBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
2140
2113
  </td>
2141
2114
  </tr>
2142
2115
  `, isInline: true, components: [{ type: GanttMilestoneTaskComponent, selector: "kendo-gantt-milestone-task" }, { type: GanttSummaryTaskComponent, selector: "kendo-gantt-summary-task", inputs: ["template", "isExpanded"] }, { type: GanttTaskComponent, selector: "kendo-gantt-task", inputs: ["taskContentTemplate", "taskTemplate"] }], directives: [{ type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
2143
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttTasksTableBodyComponent, decorators: [{
2116
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttTasksTableBodyComponent, decorators: [{
2144
2117
  type: Component,
2145
2118
  args: [{
2146
2119
  // eslint-disable-next-line @angular-eslint/component-selector
@@ -2236,6 +2209,39 @@ var ScrollAxis;
2236
2209
  ScrollAxis["Horizontal"] = "scrollLeft";
2237
2210
  })(ScrollAxis || (ScrollAxis = {}));
2238
2211
 
2212
+ /**
2213
+ * @hidden
2214
+ *
2215
+ * Notifies the timeline-scroll.directive to scroll into view to requested coordinates.
2216
+ * The scrolling is performed based on client (viewport) coordinates.
2217
+ */
2218
+ class TimelineScrollService {
2219
+ constructor() {
2220
+ this.horizontalScroll = new Subject();
2221
+ this.verticalScroll = new Subject();
2222
+ this.scrollCancel = new Subject();
2223
+ }
2224
+ ngOnDestroy() {
2225
+ this.horizontalScroll.complete();
2226
+ this.verticalScroll.complete();
2227
+ this.scrollCancel.complete();
2228
+ }
2229
+ requestHorizontalScroll(clientTop) {
2230
+ this.horizontalScroll.next(clientTop);
2231
+ }
2232
+ requestVerticalScroll(clientLeft) {
2233
+ this.verticalScroll.next(clientLeft);
2234
+ }
2235
+ requestScrollCancel() {
2236
+ this.scrollCancel.next();
2237
+ }
2238
+ }
2239
+ TimelineScrollService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineScrollService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2240
+ TimelineScrollService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineScrollService });
2241
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineScrollService, decorators: [{
2242
+ type: Injectable
2243
+ }] });
2244
+
2239
2245
  /**
2240
2246
  * @hidden
2241
2247
  *
@@ -2307,39 +2313,6 @@ const getViewportBoundaries = (element) => {
2307
2313
  };
2308
2314
  };
2309
2315
 
2310
- /**
2311
- * @hidden
2312
- *
2313
- * Notifies the timeline-scroll.directive to scroll into view to requested coordinates.
2314
- * The scrolling is performed based on client (viewport) coordinates.
2315
- */
2316
- class TimelineScrollService {
2317
- constructor() {
2318
- this.horizontalScroll = new Subject();
2319
- this.verticalScroll = new Subject();
2320
- this.scrollCancel = new Subject();
2321
- }
2322
- ngOnDestroy() {
2323
- this.horizontalScroll.complete();
2324
- this.verticalScroll.complete();
2325
- this.scrollCancel.complete();
2326
- }
2327
- requestHorizontalScroll(clientTop) {
2328
- this.horizontalScroll.next(clientTop);
2329
- }
2330
- requestVerticalScroll(clientLeft) {
2331
- this.verticalScroll.next(clientLeft);
2332
- }
2333
- requestScrollCancel() {
2334
- this.scrollCancel.next();
2335
- }
2336
- }
2337
- TimelineScrollService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimelineScrollService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2338
- TimelineScrollService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimelineScrollService });
2339
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimelineScrollService, decorators: [{
2340
- type: Injectable
2341
- }] });
2342
-
2343
2316
  /**
2344
2317
  * @hidden
2345
2318
  */
@@ -2394,9 +2367,9 @@ class TimelineScrollableDirective {
2394
2367
  }
2395
2368
  }
2396
2369
  }
2397
- TimelineScrollableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimelineScrollableDirective, deps: [{ token: i0.ElementRef }, { token: TimelineScrollService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
2398
- TimelineScrollableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: TimelineScrollableDirective, selector: "[kendoGanttTimelineScrollable]", inputs: { scrollSettings: "scrollSettings" }, ngImport: i0 });
2399
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimelineScrollableDirective, decorators: [{
2370
+ TimelineScrollableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineScrollableDirective, deps: [{ token: i0.ElementRef }, { token: TimelineScrollService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
2371
+ TimelineScrollableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: TimelineScrollableDirective, selector: "[kendoGanttTimelineScrollable]", inputs: { scrollSettings: "scrollSettings" }, ngImport: i0 });
2372
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineScrollableDirective, decorators: [{
2400
2373
  type: Directive,
2401
2374
  args: [{
2402
2375
  selector: '[kendoGanttTimelineScrollable]'
@@ -2411,7 +2384,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
2411
2384
  * Gets the offset (top and left values) relative to a target element.
2412
2385
  */
2413
2386
  const getOffsetRelativeToParent = (element, targetParent) => {
2414
- let offset = {
2387
+ const offset = {
2415
2388
  top: 0,
2416
2389
  left: 0
2417
2390
  };
@@ -2626,7 +2599,7 @@ class GanttDependencyDirective {
2626
2599
  this.subscriptions.unsubscribe();
2627
2600
  }
2628
2601
  ngOnChanges(changes) {
2629
- if (isPresent(changes.dependency)) {
2602
+ if (isPresent(changes['dependency'])) {
2630
2603
  this.updatePoints(this.dependencyDomService.dependencyDomArgs);
2631
2604
  }
2632
2605
  }
@@ -2655,9 +2628,9 @@ class GanttDependencyDirective {
2655
2628
  this.renderer.setAttribute(this.polyline.nativeElement, 'points', parsedCoords);
2656
2629
  }
2657
2630
  }
2658
- GanttDependencyDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttDependencyDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: MappingService }, { token: DependencyDomService }], target: i0.ɵɵFactoryTarget.Directive });
2659
- GanttDependencyDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: GanttDependencyDirective, selector: "[kendoGanttDependency]", inputs: { dependency: "dependency" }, usesOnChanges: true, ngImport: i0 });
2660
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttDependencyDirective, decorators: [{
2631
+ GanttDependencyDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttDependencyDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: MappingService }, { token: DependencyDomService }], target: i0.ɵɵFactoryTarget.Directive });
2632
+ GanttDependencyDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: GanttDependencyDirective, selector: "[kendoGanttDependency]", inputs: { dependency: "dependency" }, usesOnChanges: true, ngImport: i0 });
2633
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttDependencyDirective, decorators: [{
2661
2634
  type: Directive,
2662
2635
  args: [{
2663
2636
  selector: '[kendoGanttDependency]'
@@ -2712,8 +2685,8 @@ class GanttTimelineComponent {
2712
2685
  return item.hasOwnProperty('isWorking') && !item.isWorking;
2713
2686
  }
2714
2687
  }
2715
- GanttTimelineComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttTimelineComponent, deps: [{ token: ScrollSyncService }, { token: DependencyDomService }, { token: i0.Renderer2 }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
2716
- GanttTimelineComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: GanttTimelineComponent, 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: true, predicate: ["timelineContent"], descendants: true, static: true }, { propertyName: "timelineColumns", first: true, predicate: ["timelineColumns"], descendants: true, static: true }, { propertyName: "timelineHeaderWrap", first: true, predicate: ["timelineHeaderWrap"], descendants: true, static: true }, { propertyName: "tasksContainer", first: true, predicate: ["tasksContainer"], descendants: true, static: true }, { propertyName: "dragPopupContainer", first: true, predicate: ["dragPopupContainer"], descendants: true, read: ViewContainerRef }, { propertyName: "dependencyDragCreatePolyline", first: true, predicate: ["dependencyDragCreatePolyline"], descendants: true }], ngImport: i0, template: `
2688
+ GanttTimelineComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttTimelineComponent, deps: [{ token: ScrollSyncService }, { token: DependencyDomService }, { token: i0.Renderer2 }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
2689
+ GanttTimelineComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: GanttTimelineComponent, 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: true, predicate: ["timelineContent"], descendants: true, static: true }, { propertyName: "timelineColumns", first: true, predicate: ["timelineColumns"], descendants: true, static: true }, { propertyName: "timelineHeaderWrap", first: true, predicate: ["timelineHeaderWrap"], descendants: true, static: true }, { propertyName: "tasksContainer", first: true, predicate: ["tasksContainer"], descendants: true, static: true }, { propertyName: "dragPopupContainer", first: true, predicate: ["dragPopupContainer"], descendants: true, read: ViewContainerRef }, { propertyName: "dependencyDragCreatePolyline", first: true, predicate: ["dependencyDragCreatePolyline"], descendants: true }], ngImport: i0, template: `
2717
2690
  <div class="k-timeline k-grid k-widget">
2718
2691
  <div class="k-grid-header">
2719
2692
  <div #timelineHeaderWrap class="k-grid-header-wrap">
@@ -2783,7 +2756,7 @@ GanttTimelineComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
2783
2756
  #tasksContainer
2784
2757
  class="k-gantt-tasks"
2785
2758
  role="presentation"
2786
- style="border-collapse: collapse;"
2759
+ [style.border-collapse]="'collapse'"
2787
2760
  [style.width.px]="tableWidth"
2788
2761
  >
2789
2762
  <tbody
@@ -2816,7 +2789,7 @@ GanttTimelineComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
2816
2789
  </div>
2817
2790
  </div>
2818
2791
  `, isInline: true, components: [{ type: GanttHeaderTableBodyComponent, selector: "[kendoGanttHeaderTableBody]", inputs: ["groupSlots", "slots"] }, { type: GanttTasksTableBodyComponent, selector: "[kendoGanttTasksTableBody]", inputs: ["selectable", "rows", "activeView", "taskContentTemplate", "taskTemplate", "summaryTaskTemplate", "taskClass", "isExpanded", "isTaskSelected", "renderDependencyDragClues"] }], directives: [{ type: TimelineScrollableDirective, selector: "[kendoGanttTimelineScrollable]", inputs: ["scrollSettings"] }, { type: i8.DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: GanttDependencyDirective, selector: "[kendoGanttDependency]", inputs: ["dependency"] }] });
2819
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttTimelineComponent, decorators: [{
2792
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttTimelineComponent, decorators: [{
2820
2793
  type: Component,
2821
2794
  args: [{
2822
2795
  selector: 'kendo-gantt-timeline',
@@ -2890,7 +2863,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
2890
2863
  #tasksContainer
2891
2864
  class="k-gantt-tasks"
2892
2865
  role="presentation"
2893
- style="border-collapse: collapse;"
2866
+ [style.border-collapse]="'collapse'"
2894
2867
  [style.width.px]="tableWidth"
2895
2868
  >
2896
2869
  <tbody
@@ -3000,9 +2973,9 @@ class GanttColumnBase extends ColumnBase {
3000
2973
  return super.locked;
3001
2974
  }
3002
2975
  }
3003
- GanttColumnBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttColumnBase, deps: null, target: i0.ɵɵFactoryTarget.Component });
3004
- GanttColumnBase.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: GanttColumnBase, 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: true, ngImport: i0, template: '', isInline: true });
3005
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttColumnBase, decorators: [{
2976
+ GanttColumnBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttColumnBase, deps: null, target: i0.ɵɵFactoryTarget.Component });
2977
+ GanttColumnBase.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: GanttColumnBase, 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: true, ngImport: i0, template: '', isInline: true });
2978
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttColumnBase, decorators: [{
3006
2979
  type: Component,
3007
2980
  args: [{
3008
2981
  template: '',
@@ -3053,9 +3026,9 @@ class CellTemplateDirective {
3053
3026
  this.templateRef = templateRef;
3054
3027
  }
3055
3028
  }
3056
- CellTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CellTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
3057
- CellTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: CellTemplateDirective, selector: "[kendoGanttCellTemplate]", ngImport: i0 });
3058
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CellTemplateDirective, decorators: [{
3029
+ CellTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CellTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
3030
+ CellTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: CellTemplateDirective, selector: "[kendoGanttCellTemplate]", ngImport: i0 });
3031
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CellTemplateDirective, decorators: [{
3059
3032
  type: Directive,
3060
3033
  args: [{
3061
3034
  selector: '[kendoGanttCellTemplate]'
@@ -3079,9 +3052,9 @@ class ColumnMenuTemplateDirective {
3079
3052
  this.templateRef = templateRef;
3080
3053
  }
3081
3054
  }
3082
- ColumnMenuTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ColumnMenuTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
3083
- ColumnMenuTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: ColumnMenuTemplateDirective, selector: "[kendoGanttColumnMenuTemplate]", ngImport: i0 });
3084
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ColumnMenuTemplateDirective, decorators: [{
3055
+ ColumnMenuTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ColumnMenuTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
3056
+ ColumnMenuTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: ColumnMenuTemplateDirective, selector: "[kendoGanttColumnMenuTemplate]", ngImport: i0 });
3057
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ColumnMenuTemplateDirective, decorators: [{
3085
3058
  type: Directive,
3086
3059
  args: [{
3087
3060
  selector: '[kendoGanttColumnMenuTemplate]'
@@ -3104,9 +3077,9 @@ class FilterCellTemplateDirective {
3104
3077
  this.templateRef = templateRef;
3105
3078
  }
3106
3079
  }
3107
- FilterCellTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FilterCellTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
3108
- FilterCellTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: FilterCellTemplateDirective, selector: "[kendoGanttFilterCellTemplate]", ngImport: i0 });
3109
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FilterCellTemplateDirective, decorators: [{
3080
+ FilterCellTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FilterCellTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
3081
+ FilterCellTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: FilterCellTemplateDirective, selector: "[kendoGanttFilterCellTemplate]", ngImport: i0 });
3082
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FilterCellTemplateDirective, decorators: [{
3110
3083
  type: Directive,
3111
3084
  args: [{
3112
3085
  selector: '[kendoGanttFilterCellTemplate]'
@@ -3128,9 +3101,9 @@ class FilterMenuTemplateDirective {
3128
3101
  this.templateRef = templateRef;
3129
3102
  }
3130
3103
  }
3131
- FilterMenuTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FilterMenuTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
3132
- FilterMenuTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: FilterMenuTemplateDirective, selector: "[kendoGanttFilterMenuTemplate]", ngImport: i0 });
3133
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FilterMenuTemplateDirective, decorators: [{
3104
+ FilterMenuTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FilterMenuTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
3105
+ FilterMenuTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: FilterMenuTemplateDirective, selector: "[kendoGanttFilterMenuTemplate]", ngImport: i0 });
3106
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FilterMenuTemplateDirective, decorators: [{
3134
3107
  type: Directive,
3135
3108
  args: [{
3136
3109
  selector: '[kendoGanttFilterMenuTemplate]'
@@ -3156,9 +3129,9 @@ class FooterTemplateDirective {
3156
3129
  this.templateRef = templateRef;
3157
3130
  }
3158
3131
  }
3159
- FooterTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FooterTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
3160
- FooterTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: FooterTemplateDirective, selector: "[kendoGanttFooterTemplate]", ngImport: i0 });
3161
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FooterTemplateDirective, decorators: [{
3132
+ FooterTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FooterTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
3133
+ FooterTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: FooterTemplateDirective, selector: "[kendoGanttFooterTemplate]", ngImport: i0 });
3134
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FooterTemplateDirective, decorators: [{
3162
3135
  type: Directive,
3163
3136
  args: [{
3164
3137
  selector: '[kendoGanttFooterTemplate]'
@@ -3182,9 +3155,9 @@ class HeaderTemplateDirective {
3182
3155
  this.templateRef = templateRef;
3183
3156
  }
3184
3157
  }
3185
- HeaderTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: HeaderTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
3186
- HeaderTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: HeaderTemplateDirective, selector: "[kendoGanttHeaderTemplate]", ngImport: i0 });
3187
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: HeaderTemplateDirective, decorators: [{
3158
+ HeaderTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: HeaderTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
3159
+ HeaderTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: HeaderTemplateDirective, selector: "[kendoGanttHeaderTemplate]", ngImport: i0 });
3160
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: HeaderTemplateDirective, decorators: [{
3188
3161
  type: Directive,
3189
3162
  args: [{
3190
3163
  selector: '[kendoGanttHeaderTemplate]'
@@ -3212,9 +3185,9 @@ class EditTemplateDirective {
3212
3185
  this.templateRef = templateRef;
3213
3186
  }
3214
3187
  }
3215
- EditTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: EditTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
3216
- EditTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: EditTemplateDirective, selector: "[kendoGanttEditTemplate]", ngImport: i0 });
3217
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: EditTemplateDirective, decorators: [{
3188
+ EditTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: EditTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
3189
+ EditTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: EditTemplateDirective, selector: "[kendoGanttEditTemplate]", ngImport: i0 });
3190
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: EditTemplateDirective, decorators: [{
3218
3191
  type: Directive,
3219
3192
  args: [{
3220
3193
  selector: '[kendoGanttEditTemplate]'
@@ -3266,14 +3239,14 @@ class GanttColumnComponent extends ColumnComponent {
3266
3239
  this.options.notifyColumnChanges();
3267
3240
  }
3268
3241
  }
3269
- GanttColumnComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttColumnComponent, deps: [{ token: OptionChangesService }, { token: GanttColumnBase, host: true, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component });
3270
- GanttColumnComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: GanttColumnComponent, 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: [
3242
+ GanttColumnComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttColumnComponent, deps: [{ token: OptionChangesService }, { token: GanttColumnBase, host: true, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component });
3243
+ GanttColumnComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: GanttColumnComponent, 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: [
3271
3244
  {
3272
3245
  provide: GanttColumnBase,
3273
3246
  useExisting: forwardRef(() => GanttColumnComponent)
3274
3247
  }
3275
3248
  ], queries: [{ propertyName: "footerTemplate", first: true, predicate: FooterTemplateDirective, descendants: true }, { propertyName: "template", first: true, predicate: CellTemplateDirective, descendants: true }, { propertyName: "editTemplate", first: true, predicate: EditTemplateDirective, descendants: true }, { propertyName: "filterCellTemplate", first: true, predicate: FilterCellTemplateDirective, descendants: true }, { propertyName: "filterMenuTemplate", first: true, predicate: FilterMenuTemplateDirective, descendants: true }, { propertyName: "headerTemplates", predicate: HeaderTemplateDirective }, { propertyName: "columnMenuTemplates", predicate: ColumnMenuTemplateDirective }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '', isInline: true });
3276
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttColumnComponent, decorators: [{
3249
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttColumnComponent, decorators: [{
3277
3250
  type: Component,
3278
3251
  args: [{
3279
3252
  selector: 'kendo-gantt-column',
@@ -3378,14 +3351,14 @@ class GanttColumnGroupComponent extends ColumnGroupComponent {
3378
3351
  this.options.notifyColumnChanges();
3379
3352
  }
3380
3353
  }
3381
- GanttColumnGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttColumnGroupComponent, deps: [{ token: OptionChangesService }, { token: GanttColumnBase, host: true, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component });
3382
- GanttColumnGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: GanttColumnGroupComponent, 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: [
3354
+ GanttColumnGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttColumnGroupComponent, deps: [{ token: OptionChangesService }, { token: GanttColumnBase, host: true, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component });
3355
+ GanttColumnGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: GanttColumnGroupComponent, 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: [
3383
3356
  {
3384
3357
  provide: GanttColumnBase,
3385
3358
  useExisting: forwardRef(() => GanttColumnGroupComponent)
3386
3359
  }
3387
3360
  ], queries: [{ propertyName: "children", predicate: GanttColumnBase }, { propertyName: "headerTemplates", predicate: HeaderTemplateDirective }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '', isInline: true });
3388
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttColumnGroupComponent, decorators: [{
3361
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttColumnGroupComponent, decorators: [{
3389
3362
  type: Component,
3390
3363
  args: [{
3391
3364
  selector: 'kendo-gantt-column-group',
@@ -3481,14 +3454,14 @@ class GanttSpanColumnComponent extends SpanColumnComponent {
3481
3454
  this.options.notifyColumnChanges();
3482
3455
  }
3483
3456
  }
3484
- GanttSpanColumnComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttSpanColumnComponent, deps: [{ token: OptionChangesService }, { token: GanttColumnBase, host: true, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component });
3485
- GanttSpanColumnComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: GanttSpanColumnComponent, 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: [
3457
+ GanttSpanColumnComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttSpanColumnComponent, deps: [{ token: OptionChangesService }, { token: GanttColumnBase, host: true, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component });
3458
+ GanttSpanColumnComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: GanttSpanColumnComponent, 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: [
3486
3459
  {
3487
3460
  provide: GanttColumnBase,
3488
3461
  useExisting: forwardRef(() => GanttSpanColumnComponent)
3489
3462
  }
3490
3463
  ], queries: [{ propertyName: "childColumns", predicate: GanttColumnComponent }, { propertyName: "template", predicate: CellTemplateDirective }, { propertyName: "editTemplate", predicate: EditTemplateDirective }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '', isInline: true });
3491
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttSpanColumnComponent, decorators: [{
3464
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttSpanColumnComponent, decorators: [{
3492
3465
  type: Component,
3493
3466
  args: [{
3494
3467
  selector: 'kendo-gantt-span-column',
@@ -3584,9 +3557,9 @@ class GanttLocalizationService {
3584
3557
  return this.localizationService.get(token);
3585
3558
  }
3586
3559
  }
3587
- GanttLocalizationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttLocalizationService, deps: [{ token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Injectable });
3588
- GanttLocalizationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttLocalizationService });
3589
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttLocalizationService, decorators: [{
3560
+ GanttLocalizationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttLocalizationService, deps: [{ token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Injectable });
3561
+ GanttLocalizationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttLocalizationService });
3562
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttLocalizationService, decorators: [{
3590
3563
  type: Injectable
3591
3564
  }], ctorParameters: function () { return [{ type: i1$1.LocalizationService }]; } });
3592
3565
 
@@ -3639,9 +3612,9 @@ class GanttTaskTemplateDirective {
3639
3612
  this.templateRef = templateRef;
3640
3613
  }
3641
3614
  }
3642
- GanttTaskTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttTaskTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
3643
- GanttTaskTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: GanttTaskTemplateDirective, selector: "[kendoGanttTaskTemplate]", ngImport: i0 });
3644
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttTaskTemplateDirective, decorators: [{
3615
+ GanttTaskTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttTaskTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
3616
+ GanttTaskTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: GanttTaskTemplateDirective, selector: "[kendoGanttTaskTemplate]", ngImport: i0 });
3617
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttTaskTemplateDirective, decorators: [{
3645
3618
  type: Directive,
3646
3619
  args: [{
3647
3620
  selector: '[kendoGanttTaskTemplate]'
@@ -3667,7 +3640,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
3667
3640
  * template: `
3668
3641
  * <kendo-gantt [kendoGanttHierarchyBinding]="data">
3669
3642
  * <ng-template kendoGanttSummaryTaskTemplate let-dataItem let-elementWidth="elementWidth">
3670
- * <div style="color: white; font-size: 8px;">
3643
+ * <div [style]="'color: white; font-size: 8px;'">
3671
3644
  * {{ dataItem.title }} - {{ dataItem.completionRatio * 100 }}% complete; width: {{ elementWidth }}
3672
3645
  * </div>
3673
3646
  * </ng-template>
@@ -3684,9 +3657,9 @@ class GanttSummaryTaskTemplateDirective {
3684
3657
  this.templateRef = templateRef;
3685
3658
  }
3686
3659
  }
3687
- GanttSummaryTaskTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttSummaryTaskTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
3688
- GanttSummaryTaskTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: GanttSummaryTaskTemplateDirective, selector: "[kendoGanttSummaryTaskTemplate]", ngImport: i0 });
3689
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttSummaryTaskTemplateDirective, decorators: [{
3660
+ GanttSummaryTaskTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttSummaryTaskTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
3661
+ GanttSummaryTaskTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: GanttSummaryTaskTemplateDirective, selector: "[kendoGanttSummaryTaskTemplate]", ngImport: i0 });
3662
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttSummaryTaskTemplateDirective, decorators: [{
3690
3663
  type: Directive,
3691
3664
  args: [{
3692
3665
  selector: '[kendoGanttSummaryTaskTemplate]'
@@ -3724,9 +3697,9 @@ class GanttTaskContentTemplateDirective {
3724
3697
  this.templateRef = templateRef;
3725
3698
  }
3726
3699
  }
3727
- GanttTaskContentTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttTaskContentTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
3728
- GanttTaskContentTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: GanttTaskContentTemplateDirective, selector: "[kendoGanttTaskContentTemplate]", ngImport: i0 });
3729
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttTaskContentTemplateDirective, decorators: [{
3700
+ GanttTaskContentTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttTaskContentTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
3701
+ GanttTaskContentTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: GanttTaskContentTemplateDirective, selector: "[kendoGanttTaskContentTemplate]", ngImport: i0 });
3702
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttTaskContentTemplateDirective, decorators: [{
3730
3703
  type: Directive,
3731
3704
  args: [{
3732
3705
  selector: '[kendoGanttTaskContentTemplate]'
@@ -3755,7 +3728,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
3755
3728
  * <input type="radio" kendoRadioButton id="both" name="position" value="both" (click)="positionChange($event)"/>
3756
3729
  * <kendo-label class="k-radio-label" for="both">Both</kendo-label><br/>
3757
3730
  * </div>
3758
- * <kendo-gantt [[kendoGanttHierarchyBinding]="data"]="data" style="height: 400px">
3731
+ * <kendo-gantt [[kendoGanttHierarchyBinding]="data"]="data" [style.height.px]="400">
3759
3732
  * <ng-template kendoGanttToolbarTemplate [position]="position" let-position="position">
3760
3733
  * <button kendoButton (click)="onClick()">Custom action</button>
3761
3734
  * </ng-template>
@@ -3843,9 +3816,9 @@ class ToolbarTemplateDirective {
3843
3816
  return this._position;
3844
3817
  }
3845
3818
  }
3846
- ToolbarTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ToolbarTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
3847
- ToolbarTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: ToolbarTemplateDirective, selector: "[kendoGanttToolbarTemplate]", inputs: { position: "position" }, ngImport: i0 });
3848
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ToolbarTemplateDirective, decorators: [{
3819
+ ToolbarTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ToolbarTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
3820
+ ToolbarTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: ToolbarTemplateDirective, selector: "[kendoGanttToolbarTemplate]", inputs: { position: "position" }, ngImport: i0 });
3821
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ToolbarTemplateDirective, decorators: [{
3849
3822
  type: Directive,
3850
3823
  args: [{
3851
3824
  selector: '[kendoGanttToolbarTemplate]'
@@ -3882,9 +3855,9 @@ class ViewBase {
3882
3855
  }
3883
3856
  }
3884
3857
  }
3885
- ViewBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ViewBase, deps: [{ token: OptionChangesService }, { token: DependencyDomService }], target: i0.ɵɵFactoryTarget.Directive });
3886
- ViewBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: ViewBase, selector: "kendo-gantt-view-base", inputs: { slotWidth: "slotWidth" }, usesOnChanges: true, ngImport: i0 });
3887
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ViewBase, decorators: [{
3858
+ ViewBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ViewBase, deps: [{ token: OptionChangesService }, { token: DependencyDomService }], target: i0.ɵɵFactoryTarget.Directive });
3859
+ ViewBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: ViewBase, selector: "kendo-gantt-view-base", inputs: { slotWidth: "slotWidth" }, usesOnChanges: true, ngImport: i0 });
3860
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ViewBase, decorators: [{
3888
3861
  type: Directive,
3889
3862
  args: [{
3890
3863
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -3972,8 +3945,8 @@ class GanttAddTaskComponent {
3972
3945
  });
3973
3946
  }
3974
3947
  }
3975
- GanttAddTaskComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttAddTaskComponent, deps: [{ token: i1$1.LocalizationService }, { token: EditService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
3976
- GanttAddTaskComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: GanttAddTaskComponent, selector: "kendo-gantt-add-task", inputs: { data: "data", icon: "icon" }, ngImport: i0, template: `
3948
+ GanttAddTaskComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttAddTaskComponent, deps: [{ token: i1$1.LocalizationService }, { token: EditService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
3949
+ GanttAddTaskComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: GanttAddTaskComponent, selector: "kendo-gantt-add-task", inputs: { data: "data", icon: "icon" }, ngImport: i0, template: `
3977
3950
  <kendo-dropdownbutton
3978
3951
  [data]="data"
3979
3952
  [icon]="icon"
@@ -3983,8 +3956,8 @@ GanttAddTaskComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
3983
3956
  (open)="handleOpen($event)">
3984
3957
  {{ getText('addTaskText') }}
3985
3958
  </kendo-dropdownbutton>
3986
- `, isInline: true, components: [{ type: i2.DropDownButtonComponent, selector: "kendo-dropdownbutton", inputs: ["icon", "iconClass", "imageUrl", "textField", "data", "size", "rounded", "fillMode", "themeColor"], outputs: ["itemClick", "focus", "blur"], exportAs: ["kendoDropDownButton"] }], directives: [{ type: i8.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }] });
3987
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttAddTaskComponent, decorators: [{
3959
+ `, isInline: true, components: [{ type: i2.DropDownButtonComponent, selector: "kendo-dropdownbutton", inputs: ["icon", "svgIcon", "iconClass", "imageUrl", "textField", "data", "size", "rounded", "fillMode", "themeColor"], outputs: ["itemClick", "focus", "blur"], exportAs: ["kendoDropDownButton"] }], directives: [{ type: i8.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }] });
3960
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttAddTaskComponent, decorators: [{
3988
3961
  type: Component,
3989
3962
  args: [{
3990
3963
  selector: 'kendo-gantt-add-task',
@@ -4044,8 +4017,8 @@ class ViewSelectorComponent {
4044
4017
  this.activeViewChange.emit(event.target.value);
4045
4018
  }
4046
4019
  }
4047
- ViewSelectorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ViewSelectorComponent, deps: [{ token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
4048
- ViewSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ViewSelectorComponent, selector: "kendo-gantt-view-selector", inputs: { views: "views", activeView: "activeView" }, outputs: { activeViewChange: "activeViewChange" }, host: { properties: { "class.k-gantt-views-wrapper": "this.hostClass" } }, ngImport: i0, template: `
4020
+ ViewSelectorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ViewSelectorComponent, deps: [{ token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
4021
+ ViewSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ViewSelectorComponent, selector: "kendo-gantt-view-selector", inputs: { views: "views", activeView: "activeView" }, outputs: { activeViewChange: "activeViewChange" }, host: { properties: { "class.k-gantt-views-wrapper": "this.hostClass" } }, ngImport: i0, template: `
4049
4022
  <select
4050
4023
  class="k-dropdownlist k-picker k-rounded-md k-views-dropdown"
4051
4024
  aria-label="View Selector"
@@ -4060,8 +4033,8 @@ ViewSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
4060
4033
  [selected]="view === activeView"
4061
4034
  (click)="onClick(view)">{{getViewTypeText(view)}}</button>
4062
4035
  </kendo-buttongroup>
4063
- `, isInline: true, components: [{ type: i2.ButtonGroupComponent, selector: "kendo-buttongroup", inputs: ["disabled", "selection", "width", "tabIndex", "navigable"], outputs: ["navigate"], exportAs: ["kendoButtonGroup"] }], directives: [{ type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i8$1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i8$1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i2.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"] }] });
4064
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ViewSelectorComponent, decorators: [{
4036
+ `, isInline: true, components: [{ type: i2.ButtonGroupComponent, selector: "kendo-buttongroup", inputs: ["disabled", "selection", "width", "tabIndex", "navigable"], outputs: ["navigate"], exportAs: ["kendoButtonGroup"] }, { type: i2.Button, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }], directives: [{ type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i8$1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i8$1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }] });
4037
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ViewSelectorComponent, decorators: [{
4065
4038
  type: Component,
4066
4039
  args: [{
4067
4040
  selector: 'kendo-gantt-view-selector',
@@ -4120,8 +4093,8 @@ class ToolbarComponent {
4120
4093
  this.activeViewChange.emit(view);
4121
4094
  }
4122
4095
  }
4123
- ToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4124
- ToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ToolbarComponent, 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: i0, template: `
4096
+ ToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4097
+ ToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ToolbarComponent, 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: i0, template: `
4125
4098
  <ng-container *ngIf="!renderTemplate">
4126
4099
  <kendo-gantt-add-task *ngIf="showAddTask"></kendo-gantt-add-task>
4127
4100
  <span class="k-spacer k-toolbar-spacer"></span>
@@ -4138,7 +4111,7 @@ ToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", versi
4138
4111
  >
4139
4112
  </ng-template>
4140
4113
  `, isInline: true, components: [{ type: GanttAddTaskComponent, selector: "kendo-gantt-add-task", inputs: ["data", "icon"] }, { type: ViewSelectorComponent, selector: "kendo-gantt-view-selector", inputs: ["views", "activeView"], outputs: ["activeViewChange"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
4141
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ToolbarComponent, decorators: [{
4114
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ToolbarComponent, decorators: [{
4142
4115
  type: Component,
4143
4116
  args: [{
4144
4117
  selector: 'kendo-gantt-toolbar',
@@ -4198,8 +4171,8 @@ class TaskFieldsComponent {
4198
4171
  return this.localizationService.get(token);
4199
4172
  }
4200
4173
  }
4201
- TaskFieldsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TaskFieldsComponent, deps: [{ token: MappingService }, { token: EditService }, { token: GanttLocalizationService }], target: i0.ɵɵFactoryTarget.Component });
4202
- TaskFieldsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TaskFieldsComponent, selector: "kendo-gantt-task-fields", ngImport: i0, template: `
4174
+ TaskFieldsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TaskFieldsComponent, deps: [{ token: MappingService }, { token: EditService }, { token: GanttLocalizationService }], target: i0.ɵɵFactoryTarget.Component });
4175
+ TaskFieldsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: TaskFieldsComponent, selector: "kendo-gantt-task-fields", ngImport: i0, template: `
4203
4176
  <form class="k-form" [formGroup]="formGroup">
4204
4177
  <kendo-formfield *ngIf="formGroup.contains(mapper.taskFields.title)">
4205
4178
  <kendo-label [for]="mapper.taskFields.title" [text]="getText('titleFieldInputLabel')"></kendo-label>
@@ -4228,8 +4201,8 @@ TaskFieldsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
4228
4201
  ></kendo-numerictextbox>
4229
4202
  </kendo-formfield>
4230
4203
  </form>
4231
- `, isInline: true, components: [{ type: i4.FormFieldComponent, selector: "kendo-formfield", inputs: ["showHints", "orientation", "showErrors"] }, { type: i5.LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional"], exportAs: ["kendoLabel"] }, { type: i6$1.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: i11.TreeListSpacerComponent, selector: "kendo-treelist-spacer, kendo-treelist-pager-spacer", inputs: ["width"] }, { type: i4.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: i8$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i8$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i8$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.TextBoxDirective, selector: "input[kendoTextBox]", inputs: ["value"] }, { type: i8$1.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: i8$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i8$1.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }] });
4232
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TaskFieldsComponent, decorators: [{
4204
+ `, isInline: true, components: [{ type: i4.FormFieldComponent, selector: "kendo-formfield", inputs: ["showHints", "orientation", "showErrors"] }, { type: i5.LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional"], exportAs: ["kendoLabel"] }, { type: i6$1.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: i11.TreeListSpacerComponent, selector: "kendo-treelist-spacer, kendo-treelist-pager-spacer", inputs: ["width"] }, { type: i4.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: i8$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i8$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i8$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.TextBoxDirective, selector: "input[kendoTextBox]", inputs: ["value"] }, { type: i8$1.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: i8$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i8$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
4205
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TaskFieldsComponent, decorators: [{
4233
4206
  type: Component,
4234
4207
  args: [{
4235
4208
  selector: 'kendo-gantt-task-fields',
@@ -4348,8 +4321,8 @@ class DependenciesTableComponent {
4348
4321
  this.formGroups.removeAt(selectedIndex);
4349
4322
  }
4350
4323
  }
4351
- DependenciesTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DependenciesTableComponent, deps: [{ token: MappingService }, { token: EditService }, { token: GanttLocalizationService }], target: i0.ɵɵFactoryTarget.Component });
4352
- DependenciesTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DependenciesTableComponent, selector: "kendo-gantt-dependencies-table", inputs: { tasks: "tasks", dependencies: "dependencies", dependencyType: "dependencyType" }, outputs: { dependenciesChange: "dependenciesChange" }, ngImport: i0, template: `
4324
+ DependenciesTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DependenciesTableComponent, deps: [{ token: MappingService }, { token: EditService }, { token: GanttLocalizationService }], target: i0.ɵɵFactoryTarget.Component });
4325
+ DependenciesTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: DependenciesTableComponent, selector: "kendo-gantt-dependencies-table", inputs: { tasks: "tasks", dependencies: "dependencies", dependencyType: "dependencyType" }, outputs: { dependenciesChange: "dependenciesChange" }, ngImport: i0, template: `
4353
4326
  <kendo-grid
4354
4327
  [data]="dependencies"
4355
4328
  [selectable]="{ mode: 'single' }"
@@ -4390,8 +4363,8 @@ DependenciesTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
4390
4363
  </ng-template>
4391
4364
  </kendo-grid-column>
4392
4365
  </kendo-grid>
4393
- `, isInline: true, components: [{ type: i4$1.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: i4$1.ColumnComponent, selector: "kendo-grid-column", inputs: ["field", "format", "sortable", "groupable", "editor", "filter", "filterable", "editable"] }, { type: i5$1.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: i4$1.SelectionDirective, selector: "[kendoGridSelectBy]" }, { type: i4$1.ToolbarTemplateDirective, selector: "[kendoGridToolbarTemplate]", inputs: ["position"] }, { type: i2.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: i4$1.CellTemplateDirective, selector: "[kendoGridCellTemplate]" }, { type: i8$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i8$1.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
4394
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DependenciesTableComponent, decorators: [{
4366
+ `, isInline: true, components: [{ type: i4$1.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: i2.Button, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { type: i4$1.ColumnComponent, selector: "kendo-grid-column", inputs: ["field", "format", "sortable", "groupable", "editor", "filter", "filterable", "editable"] }, { type: i6$2.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: i4$1.SelectionDirective, selector: "[kendoGridSelectBy]" }, { type: i4$1.ToolbarTemplateDirective, selector: "[kendoGridToolbarTemplate]", inputs: ["position"] }, { type: i4$1.CellTemplateDirective, selector: "[kendoGridCellTemplate]" }, { type: i8$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i8$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
4367
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DependenciesTableComponent, decorators: [{
4395
4368
  type: Component,
4396
4369
  args: [{
4397
4370
  selector: 'kendo-gantt-dependencies-table',
@@ -4488,8 +4461,8 @@ class EditDialogComponent {
4488
4461
  this.editService.taskDelete.next(this.editService.dataItem);
4489
4462
  }
4490
4463
  }
4491
- EditDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: EditDialogComponent, deps: [{ token: MappingService }, { token: EditService }, { token: i0.ChangeDetectorRef }, { token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
4492
- EditDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: EditDialogComponent, selector: "kendo-gantt-edit-dialog", inputs: { data: "data" }, ngImport: i0, template: `
4464
+ EditDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: EditDialogComponent, deps: [{ token: MappingService }, { token: EditService }, { token: i0.ChangeDetectorRef }, { token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
4465
+ EditDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: EditDialogComponent, selector: "kendo-gantt-edit-dialog", inputs: { data: "data" }, ngImport: i0, template: `
4493
4466
  <kendo-dialog
4494
4467
  [title]="getText('taskEditingDialogTitle')"
4495
4468
  [width]="575"
@@ -4498,7 +4471,7 @@ EditDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
4498
4471
  <kendo-dialog-messages
4499
4472
  [closeTitle]="getText('taskEditingDialogCloseTitle')"></kendo-dialog-messages>
4500
4473
 
4501
- <kendo-tabstrip [keepTabContent]="true" style="height: 345px;">
4474
+ <kendo-tabstrip [keepTabContent]="true" [style.height.px]="345">
4502
4475
  <kendo-tabstrip-tab [title]="getText('taskEditingGeneralTabTitle')" [selected]="true">
4503
4476
  <ng-template kendoTabContent>
4504
4477
  <kendo-gantt-task-fields></kendo-gantt-task-fields>
@@ -4540,8 +4513,8 @@ EditDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
4540
4513
  <button kendoButton (click)="handleEditingResult('cancel')">{{ getText('cancelButtonText') }}</button>
4541
4514
  </kendo-dialog-actions>
4542
4515
  </kendo-dialog>
4543
- `, isInline: true, components: [{ type: i4$2.DialogComponent, selector: "kendo-dialog", inputs: ["actions", "actionsLayout", "autoFocusedElement", "title", "width", "minWidth", "maxWidth", "height", "minHeight", "maxHeight", "animation"], outputs: ["action", "close"], exportAs: ["kendoDialog"] }, { type: i5$2.TabStripComponent, selector: "kendo-tabstrip", inputs: ["height", "animate", "tabAlignment", "tabPosition", "keepTabContent", "closable", "scrollable", "closeIcon"], outputs: ["tabSelect", "tabClose", "tabScroll"], exportAs: ["kendoTabStrip"] }, { type: i5$2.TabStripTabComponent, selector: "kendo-tabstrip-tab", inputs: ["title", "disabled", "cssClass", "cssStyle", "selected", "closable", "closeIcon"], exportAs: ["kendoTabStripTab"] }, { type: TaskFieldsComponent, selector: "kendo-gantt-task-fields" }, { type: DependenciesTableComponent, selector: "kendo-gantt-dependencies-table", inputs: ["tasks", "dependencies", "dependencyType"], outputs: ["dependenciesChange"] }, { type: i4$2.DialogActionsComponent, selector: "kendo-dialog-actions", inputs: ["actions", "layout"], outputs: ["action"] }, { type: i11.TreeListSpacerComponent, selector: "kendo-treelist-spacer, kendo-treelist-pager-spacer", inputs: ["width"] }], directives: [{ type: i4$2.CustomMessagesComponent, selector: "kendo-dialog-messages, kendo-window-messages" }, { type: i5$2.TabContentDirective, selector: "[kendoTabContent]" }, { type: i2.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: i8.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }] });
4544
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: EditDialogComponent, decorators: [{
4516
+ `, isInline: true, components: [{ type: i4$2.DialogComponent, selector: "kendo-dialog", inputs: ["actions", "actionsLayout", "autoFocusedElement", "title", "width", "minWidth", "maxWidth", "height", "minHeight", "maxHeight", "animation"], outputs: ["action", "close"], exportAs: ["kendoDialog"] }, { type: i5$1.TabStripComponent, selector: "kendo-tabstrip", inputs: ["height", "animate", "tabAlignment", "tabPosition", "keepTabContent", "closable", "scrollable", "closeIcon"], outputs: ["tabSelect", "tabClose", "tabScroll"], exportAs: ["kendoTabStrip"] }, { type: i5$1.TabStripTabComponent, selector: "kendo-tabstrip-tab", inputs: ["title", "disabled", "cssClass", "cssStyle", "selected", "closable", "closeIcon"], exportAs: ["kendoTabStripTab"] }, { type: TaskFieldsComponent, selector: "kendo-gantt-task-fields" }, { type: DependenciesTableComponent, selector: "kendo-gantt-dependencies-table", inputs: ["tasks", "dependencies", "dependencyType"], outputs: ["dependenciesChange"] }, { type: i4$2.DialogActionsComponent, selector: "kendo-dialog-actions", inputs: ["actions", "layout"], outputs: ["action"] }, { type: i2.Button, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { type: i11.TreeListSpacerComponent, selector: "kendo-treelist-spacer, kendo-treelist-pager-spacer", inputs: ["width"] }], directives: [{ type: i4$2.CustomMessagesComponent, selector: "kendo-dialog-messages, kendo-window-messages" }, { type: i5$1.TabContentDirective, selector: "[kendoTabContent]" }, { type: i8.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }] });
4517
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: EditDialogComponent, decorators: [{
4545
4518
  type: Component,
4546
4519
  args: [{
4547
4520
  selector: 'kendo-gantt-edit-dialog',
@@ -4554,7 +4527,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
4554
4527
  <kendo-dialog-messages
4555
4528
  [closeTitle]="getText('taskEditingDialogCloseTitle')"></kendo-dialog-messages>
4556
4529
 
4557
- <kendo-tabstrip [keepTabContent]="true" style="height: 345px;">
4530
+ <kendo-tabstrip [keepTabContent]="true" [style.height.px]="345">
4558
4531
  <kendo-tabstrip-tab [title]="getText('taskEditingGeneralTabTitle')" [selected]="true">
4559
4532
  <ng-template kendoTabContent>
4560
4533
  <kendo-gantt-task-fields></kendo-gantt-task-fields>
@@ -4607,9 +4580,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
4607
4580
  */
4608
4581
  class Messages extends ComponentMessages {
4609
4582
  }
4610
- Messages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: Messages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
4611
- Messages.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: Messages, 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: true, ngImport: i0 });
4612
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: Messages, decorators: [{
4583
+ Messages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: Messages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
4584
+ Messages.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: Messages, 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: true, ngImport: i0 });
4585
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: Messages, decorators: [{
4613
4586
  type: Directive,
4614
4587
  args: [{
4615
4588
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -4762,14 +4735,14 @@ class LocalizedMessagesDirective extends Messages {
4762
4735
  this.service = service;
4763
4736
  }
4764
4737
  }
4765
- LocalizedMessagesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LocalizedMessagesDirective, deps: [{ token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
4766
- LocalizedMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: LocalizedMessagesDirective, selector: "[kendoGanttLocalizedMessages]", providers: [
4738
+ LocalizedMessagesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: LocalizedMessagesDirective, deps: [{ token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
4739
+ LocalizedMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: LocalizedMessagesDirective, selector: "[kendoGanttLocalizedMessages]", providers: [
4767
4740
  {
4768
4741
  provide: Messages,
4769
4742
  useExisting: forwardRef(() => LocalizedMessagesDirective)
4770
4743
  }
4771
4744
  ], usesInheritance: true, ngImport: i0 });
4772
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LocalizedMessagesDirective, decorators: [{
4745
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: LocalizedMessagesDirective, decorators: [{
4773
4746
  type: Directive,
4774
4747
  args: [{
4775
4748
  providers: [
@@ -5113,9 +5086,9 @@ class GanttComponent {
5113
5086
  this.showConfirmationDialog = false;
5114
5087
  this._columns = new QueryList();
5115
5088
  this._data = [];
5116
- this._dragScrollSettings = Object.assign({}, DEFAULT_DRAG_SCROLL_SETTINGS);
5117
- this._timelinePaneOptions = Object.assign({}, DEFAULT_TIMELINE_PANE_SETTINGS);
5118
- this._treeListPaneOptions = Object.assign({}, DEFAULT_TREELIST_PANE_SETTINGS);
5089
+ this._dragScrollSettings = { ...DEFAULT_DRAG_SCROLL_SETTINGS };
5090
+ this._timelinePaneOptions = { ...DEFAULT_TIMELINE_PANE_SETTINGS };
5091
+ this._treeListPaneOptions = { ...DEFAULT_TREELIST_PANE_SETTINGS };
5119
5092
  this._rowClass = rowClassCallback;
5120
5093
  this._taskClass = taskClassCallback;
5121
5094
  this._activeView = DEFAULT_VIEW;
@@ -5295,17 +5268,17 @@ class GanttComponent {
5295
5268
  if (this._timelinePaneOptions.collapsed && !value.collapsed) {
5296
5269
  this.dependencyDomService.notifyChanges();
5297
5270
  }
5298
- this._timelinePaneOptions = Object.assign(Object.assign({}, DEFAULT_TIMELINE_PANE_SETTINGS), value);
5271
+ this._timelinePaneOptions = { ...DEFAULT_TIMELINE_PANE_SETTINGS, ...value };
5299
5272
  }
5300
5273
  get timelinePaneOptions() {
5301
- return Object.assign(Object.assign({}, this._timelinePaneOptions), { size: this.treeListPaneOptions.collapsed ? '100%' : this._timelinePaneOptions.size });
5274
+ return { ...this._timelinePaneOptions, size: this.treeListPaneOptions.collapsed ? '100%' : this._timelinePaneOptions.size };
5302
5275
  }
5303
5276
  /**
5304
5277
  * The options of the treelist splitter pane.
5305
5278
  * By default the pane is `collapsible` and not `collapsed`.
5306
5279
  */
5307
5280
  set treeListPaneOptions(value) {
5308
- this._treeListPaneOptions = Object.assign(Object.assign({}, DEFAULT_TREELIST_PANE_SETTINGS), value);
5281
+ this._treeListPaneOptions = { ...DEFAULT_TREELIST_PANE_SETTINGS, ...value };
5309
5282
  }
5310
5283
  get treeListPaneOptions() {
5311
5284
  return this._treeListPaneOptions;
@@ -5348,7 +5321,7 @@ class GanttComponent {
5348
5321
  * [see example]({% slug editing_drag_create_dependencies_gantt %}#toc-auto-scrolling).
5349
5322
  */
5350
5323
  set dragScrollSettings(settings) {
5351
- this._dragScrollSettings = Object.assign(Object.assign({}, DEFAULT_DRAG_SCROLL_SETTINGS), settings);
5324
+ this._dragScrollSettings = { ...DEFAULT_DRAG_SCROLL_SETTINGS, ...settings };
5352
5325
  }
5353
5326
  get dragScrollSettings() {
5354
5327
  return this._dragScrollSettings;
@@ -5598,7 +5571,7 @@ class GanttComponent {
5598
5571
  * @hidden
5599
5572
  */
5600
5573
  handleCellClose(e) {
5601
- this.cellClose.emit(new CellCloseEvent(Object.assign(Object.assign({}, e), { item: this.editItem, sender: this })));
5574
+ this.cellClose.emit(new CellCloseEvent({ ...e, item: this.editItem, sender: this }));
5602
5575
  this.dependencyDomService.notifyChanges();
5603
5576
  }
5604
5577
  /**
@@ -5628,7 +5601,13 @@ class GanttComponent {
5628
5601
  return;
5629
5602
  }
5630
5603
  const activeViewOptions = this.getActiveViewOptions();
5631
- this.viewService.options = Object.assign({ workWeekStart: this.workWeekStart, workWeekEnd: this.workWeekEnd, workDayStart: this.workDayStart, workDayEnd: this.workDayEnd }, activeViewOptions);
5604
+ this.viewService.options = {
5605
+ workWeekStart: this.workWeekStart,
5606
+ workWeekEnd: this.workWeekEnd,
5607
+ workDayStart: this.workDayStart,
5608
+ workDayEnd: this.workDayEnd,
5609
+ ...activeViewOptions
5610
+ };
5632
5611
  this.tableWidth = this.viewService.getTableWidth(this.data);
5633
5612
  const [groupedSlots, slots] = this.viewService.getSlots(this.data);
5634
5613
  this.timelineSlots = slots;
@@ -5977,7 +5956,10 @@ class GanttComponent {
5977
5956
  // the TreeList emits the individual events first, then the combined `expandStateChange` event
5978
5957
  const individualEmitter = shouldExpand ? this.rowExpand : this.rowCollapse;
5979
5958
  individualEmitter.emit(expandEvent);
5980
- this.expandStateChange.emit(Object.assign(Object.assign({}, expandEvent), { expand: shouldExpand }));
5959
+ this.expandStateChange.emit({
5960
+ ...expandEvent,
5961
+ expand: shouldExpand
5962
+ });
5981
5963
  this.updateView();
5982
5964
  this.navigation.scrollHorizontallyToTask();
5983
5965
  });
@@ -6006,8 +5988,8 @@ class GanttComponent {
6006
5988
  }
6007
5989
  }
6008
5990
  }
6009
- GanttComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttComponent, deps: [{ token: TimelineViewService }, { token: ScrollSyncService }, { token: i0.Renderer2 }, { token: MappingService }, { token: OptionChangesService }, { token: DependencyDomService }, { token: EditService }, { token: i1$1.LocalizationService }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: NavigationService }], target: i0.ɵɵFactoryTarget.Component });
6010
- GanttComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: GanttComponent, 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: [
5991
+ GanttComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttComponent, deps: [{ token: TimelineViewService }, { token: ScrollSyncService }, { token: i0.Renderer2 }, { token: MappingService }, { token: OptionChangesService }, { token: DependencyDomService }, { token: EditService }, { token: i1$1.LocalizationService }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: NavigationService }], target: i0.ɵɵFactoryTarget.Component });
5992
+ GanttComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: GanttComponent, 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: [
6011
5993
  GanttLocalizationService,
6012
5994
  LocalizationService,
6013
5995
  {
@@ -6400,8 +6382,8 @@ GanttComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version
6400
6382
  <button kendoButton (click)="handleConfirmationDialogClose()">{{ getText('cancelButtonText') }}</button>
6401
6383
  </kendo-dialog-actions>
6402
6384
  </kendo-dialog>
6403
- `, isInline: true, components: [{ type: ToolbarComponent, selector: "kendo-gantt-toolbar", inputs: ["showAddTask", "showViewSelector", "views", "activeView", "toolbarTemplate", "position"], outputs: ["activeViewChange"] }, { type: i5$2.SplitterComponent, selector: "kendo-splitter", inputs: ["orientation", "resizeStep"], outputs: ["layoutChange"], exportAs: ["kendoSplitter"] }, { type: i5$2.SplitterPaneComponent, selector: "kendo-splitter-pane", inputs: ["order", "size", "separatorLabel", "min", "max", "resizable", "collapsible", "scrollable", "collapsed", "orientation", "containsSplitter", "overlayContent"], outputs: ["sizeChange", "collapsedChange"], exportAs: ["kendoSplitterPane"] }, { type: i11.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: i11.CustomMessagesComponent, selector: "kendo-treelist-messages" }, { type: GanttTimelineComponent, 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: EditDialogComponent, selector: "kendo-gantt-edit-dialog", inputs: ["data"] }, { type: i4$2.DialogComponent, selector: "kendo-dialog", inputs: ["actions", "actionsLayout", "autoFocusedElement", "title", "width", "minWidth", "maxWidth", "height", "minHeight", "maxHeight", "animation"], outputs: ["action", "close"], exportAs: ["kendoDialog"] }, { type: i4$2.DialogActionsComponent, selector: "kendo-dialog-actions", inputs: ["actions", "layout"], outputs: ["action"] }, { type: i11.TreeListSpacerComponent, selector: "kendo-treelist-spacer, kendo-treelist-pager-spacer", inputs: ["width"] }], directives: [{ type: LocalizedMessagesDirective, selector: "[kendoGanttLocalizedMessages]" }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: i2.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"] }] });
6404
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttComponent, decorators: [{
6385
+ `, isInline: true, components: [{ type: ToolbarComponent, selector: "kendo-gantt-toolbar", inputs: ["showAddTask", "showViewSelector", "views", "activeView", "toolbarTemplate", "position"], outputs: ["activeViewChange"] }, { type: i5$1.SplitterComponent, selector: "kendo-splitter", inputs: ["orientation", "resizeStep"], outputs: ["layoutChange"], exportAs: ["kendoSplitter"] }, { type: i5$1.SplitterPaneComponent, selector: "kendo-splitter-pane", inputs: ["order", "size", "separatorLabel", "min", "max", "resizable", "collapsible", "scrollable", "collapsed", "orientation", "containsSplitter", "overlayContent"], outputs: ["sizeChange", "collapsedChange"], exportAs: ["kendoSplitterPane"] }, { type: i11.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: i11.CustomMessagesComponent, selector: "kendo-treelist-messages" }, { type: GanttTimelineComponent, 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: EditDialogComponent, selector: "kendo-gantt-edit-dialog", inputs: ["data"] }, { type: i4$2.DialogComponent, selector: "kendo-dialog", inputs: ["actions", "actionsLayout", "autoFocusedElement", "title", "width", "minWidth", "maxWidth", "height", "minHeight", "maxHeight", "animation"], outputs: ["action", "close"], exportAs: ["kendoDialog"] }, { type: i4$2.DialogActionsComponent, selector: "kendo-dialog-actions", inputs: ["actions", "layout"], outputs: ["action"] }, { type: i11.TreeListSpacerComponent, selector: "kendo-treelist-spacer, kendo-treelist-pager-spacer", inputs: ["width"] }, { type: i2.Button, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }], directives: [{ type: LocalizedMessagesDirective, selector: "[kendoGanttLocalizedMessages]" }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }] });
6386
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttComponent, decorators: [{
6405
6387
  type: Component,
6406
6388
  args: [{
6407
6389
  selector: 'kendo-gantt',
@@ -6970,9 +6952,9 @@ class GanttFlatBindingDirective extends FlatBindingDirective {
6970
6952
  super.aggregate = value;
6971
6953
  }
6972
6954
  }
6973
- GanttFlatBindingDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttFlatBindingDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
6974
- GanttFlatBindingDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: GanttFlatBindingDirective, selector: "[kendoGanttFlatBinding]", inputs: { data: ["kendoGanttFlatBinding", "data"] }, exportAs: ["kendoGanttFlatBinding"], usesInheritance: true, ngImport: i0 });
6975
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttFlatBindingDirective, decorators: [{
6955
+ GanttFlatBindingDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttFlatBindingDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
6956
+ GanttFlatBindingDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: GanttFlatBindingDirective, selector: "[kendoGanttFlatBinding]", inputs: { data: ["kendoGanttFlatBinding", "data"] }, exportAs: ["kendoGanttFlatBinding"], usesInheritance: true, ngImport: i0 });
6957
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttFlatBindingDirective, decorators: [{
6976
6958
  type: Directive,
6977
6959
  args: [{
6978
6960
  selector: '[kendoGanttFlatBinding]',
@@ -6995,9 +6977,9 @@ class GanttHierarchyBindingDirective extends HierarchyBindingDirective {
6995
6977
  super.aggregate = value;
6996
6978
  }
6997
6979
  }
6998
- GanttHierarchyBindingDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttHierarchyBindingDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
6999
- GanttHierarchyBindingDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: GanttHierarchyBindingDirective, selector: "[kendoGanttHierarchyBinding]", inputs: { data: ["kendoGanttHierarchyBinding", "data"] }, exportAs: ["kendoGanttHierarchyBinding"], usesInheritance: true, ngImport: i0 });
7000
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttHierarchyBindingDirective, decorators: [{
6980
+ GanttHierarchyBindingDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttHierarchyBindingDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
6981
+ GanttHierarchyBindingDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: GanttHierarchyBindingDirective, selector: "[kendoGanttHierarchyBinding]", inputs: { data: ["kendoGanttHierarchyBinding", "data"] }, exportAs: ["kendoGanttHierarchyBinding"], usesInheritance: true, ngImport: i0 });
6982
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttHierarchyBindingDirective, decorators: [{
7001
6983
  type: Directive,
7002
6984
  args: [{
7003
6985
  selector: '[kendoGanttHierarchyBinding]',
@@ -7022,9 +7004,9 @@ class GanttExpandableDirective extends ExpandableDirective {
7022
7004
  super.expandBy = value;
7023
7005
  }
7024
7006
  }
7025
- GanttExpandableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttExpandableDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
7026
- GanttExpandableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: GanttExpandableDirective, selector: "[kendoGanttExpandable]", inputs: { expandBy: "expandBy" }, exportAs: ["kendoGanttExpandable"], usesInheritance: true, ngImport: i0 });
7027
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttExpandableDirective, decorators: [{
7007
+ GanttExpandableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttExpandableDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
7008
+ GanttExpandableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: GanttExpandableDirective, selector: "[kendoGanttExpandable]", inputs: { expandBy: "expandBy" }, exportAs: ["kendoGanttExpandable"], usesInheritance: true, ngImport: i0 });
7009
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttExpandableDirective, decorators: [{
7028
7010
  type: Directive,
7029
7011
  args: [{
7030
7012
  exportAs: 'kendoGanttExpandable',
@@ -7120,9 +7102,9 @@ class SelectableDirective {
7120
7102
  }
7121
7103
  }
7122
7104
  }
7123
- SelectableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SelectableDirective, deps: [{ token: GanttComponent }], target: i0.ɵɵFactoryTarget.Directive });
7124
- SelectableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: SelectableDirective, selector: "[kendoGanttSelectable]", inputs: { selectable: "selectable", selectedKeys: "selectedKeys", itemKey: "itemKey" }, outputs: { selectedKeysChange: "selectedKeysChange" }, exportAs: ["kendoGanttSelectable"], ngImport: i0 });
7125
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SelectableDirective, decorators: [{
7105
+ SelectableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: SelectableDirective, deps: [{ token: GanttComponent }], target: i0.ɵɵFactoryTarget.Directive });
7106
+ SelectableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: SelectableDirective, selector: "[kendoGanttSelectable]", inputs: { selectable: "selectable", selectedKeys: "selectedKeys", itemKey: "itemKey" }, outputs: { selectedKeysChange: "selectedKeysChange" }, exportAs: ["kendoGanttSelectable"], ngImport: i0 });
7107
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: SelectableDirective, decorators: [{
7126
7108
  type: Directive,
7127
7109
  args: [{
7128
7110
  exportAs: 'kendoGanttSelectable',
@@ -7151,8 +7133,8 @@ class DragValidationTooltipComponent {
7151
7133
  this.isValid = false;
7152
7134
  }
7153
7135
  }
7154
- DragValidationTooltipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DragValidationTooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7155
- DragValidationTooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DragValidationTooltipComponent, selector: "ng-component", ngImport: i0, template: `
7136
+ DragValidationTooltipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DragValidationTooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7137
+ DragValidationTooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: DragValidationTooltipComponent, selector: "ng-component", ngImport: i0, template: `
7156
7138
  <div
7157
7139
  class="k-tooltip k-gantt-tooltip-validation"
7158
7140
  [class.k-gantt-tooltip-valid]="showValidityStatus && isValid"
@@ -7168,7 +7150,7 @@ DragValidationTooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
7168
7150
  </div>
7169
7151
  </div>
7170
7152
  `, isInline: true });
7171
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DragValidationTooltipComponent, decorators: [{
7153
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DragValidationTooltipComponent, decorators: [{
7172
7154
  type: Component,
7173
7155
  args: [{
7174
7156
  template: `
@@ -7483,9 +7465,9 @@ class DependencyDragCreateDirective {
7483
7465
  };
7484
7466
  }
7485
7467
  }
7486
- DependencyDragCreateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DependencyDragCreateDirective, deps: [{ token: GanttComponent }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: MappingService }, { token: i3.PopupService }, { token: TimelineScrollService }], target: i0.ɵɵFactoryTarget.Directive });
7487
- DependencyDragCreateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: DependencyDragCreateDirective, selector: "[kendoGanttDependencyDragCreate]", inputs: { displayValidationTooltip: "displayValidationTooltip" }, ngImport: i0 });
7488
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DependencyDragCreateDirective, decorators: [{
7468
+ DependencyDragCreateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DependencyDragCreateDirective, deps: [{ token: GanttComponent }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: MappingService }, { token: i3.PopupService }, { token: TimelineScrollService }], target: i0.ɵɵFactoryTarget.Directive });
7469
+ DependencyDragCreateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: DependencyDragCreateDirective, selector: "[kendoGanttDependencyDragCreate]", inputs: { displayValidationTooltip: "displayValidationTooltip" }, ngImport: i0 });
7470
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DependencyDragCreateDirective, decorators: [{
7489
7471
  type: Directive,
7490
7472
  args: [{
7491
7473
  selector: '[kendoGanttDependencyDragCreate]'
@@ -7503,14 +7485,14 @@ class TimelineDayViewComponent extends ViewBase {
7503
7485
  this.type = 'day';
7504
7486
  }
7505
7487
  }
7506
- TimelineDayViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimelineDayViewComponent, deps: [{ token: OptionChangesService }, { token: DependencyDomService }], target: i0.ɵɵFactoryTarget.Component });
7507
- TimelineDayViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TimelineDayViewComponent, selector: "kendo-gantt-timeline-day-view", providers: [
7488
+ TimelineDayViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineDayViewComponent, deps: [{ token: OptionChangesService }, { token: DependencyDomService }], target: i0.ɵɵFactoryTarget.Component });
7489
+ TimelineDayViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: TimelineDayViewComponent, selector: "kendo-gantt-timeline-day-view", providers: [
7508
7490
  {
7509
7491
  provide: ViewBase,
7510
7492
  useExisting: forwardRef(() => TimelineDayViewComponent)
7511
7493
  }
7512
7494
  ], usesInheritance: true, ngImport: i0, template: '', isInline: true });
7513
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimelineDayViewComponent, decorators: [{
7495
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineDayViewComponent, decorators: [{
7514
7496
  type: Component,
7515
7497
  args: [{
7516
7498
  selector: 'kendo-gantt-timeline-day-view',
@@ -7533,14 +7515,14 @@ class TimelineWeekViewComponent extends ViewBase {
7533
7515
  this.type = 'week';
7534
7516
  }
7535
7517
  }
7536
- TimelineWeekViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimelineWeekViewComponent, deps: [{ token: OptionChangesService }, { token: DependencyDomService }], target: i0.ɵɵFactoryTarget.Component });
7537
- TimelineWeekViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TimelineWeekViewComponent, selector: "kendo-gantt-timeline-week-view", providers: [
7518
+ TimelineWeekViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineWeekViewComponent, deps: [{ token: OptionChangesService }, { token: DependencyDomService }], target: i0.ɵɵFactoryTarget.Component });
7519
+ TimelineWeekViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: TimelineWeekViewComponent, selector: "kendo-gantt-timeline-week-view", providers: [
7538
7520
  {
7539
7521
  provide: ViewBase,
7540
7522
  useExisting: forwardRef(() => TimelineWeekViewComponent)
7541
7523
  }
7542
7524
  ], usesInheritance: true, ngImport: i0, template: '', isInline: true });
7543
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimelineWeekViewComponent, decorators: [{
7525
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineWeekViewComponent, decorators: [{
7544
7526
  type: Component,
7545
7527
  args: [{
7546
7528
  selector: 'kendo-gantt-timeline-week-view',
@@ -7563,14 +7545,14 @@ class TimelineMonthViewComponent extends ViewBase {
7563
7545
  this.type = 'month';
7564
7546
  }
7565
7547
  }
7566
- TimelineMonthViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimelineMonthViewComponent, deps: [{ token: OptionChangesService }, { token: DependencyDomService }], target: i0.ɵɵFactoryTarget.Component });
7567
- TimelineMonthViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TimelineMonthViewComponent, selector: "kendo-gantt-timeline-month-view", providers: [
7548
+ TimelineMonthViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineMonthViewComponent, deps: [{ token: OptionChangesService }, { token: DependencyDomService }], target: i0.ɵɵFactoryTarget.Component });
7549
+ TimelineMonthViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: TimelineMonthViewComponent, selector: "kendo-gantt-timeline-month-view", providers: [
7568
7550
  {
7569
7551
  provide: ViewBase,
7570
7552
  useExisting: forwardRef(() => TimelineMonthViewComponent)
7571
7553
  }
7572
7554
  ], usesInheritance: true, ngImport: i0, template: '', isInline: true });
7573
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimelineMonthViewComponent, decorators: [{
7555
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineMonthViewComponent, decorators: [{
7574
7556
  type: Component,
7575
7557
  args: [{
7576
7558
  selector: 'kendo-gantt-timeline-month-view',
@@ -7593,14 +7575,14 @@ class TimelineYearViewComponent extends ViewBase {
7593
7575
  this.type = 'year';
7594
7576
  }
7595
7577
  }
7596
- TimelineYearViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimelineYearViewComponent, deps: [{ token: OptionChangesService }, { token: DependencyDomService }], target: i0.ɵɵFactoryTarget.Component });
7597
- TimelineYearViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TimelineYearViewComponent, selector: "kendo-gantt-timeline-year-view", providers: [
7578
+ TimelineYearViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineYearViewComponent, deps: [{ token: OptionChangesService }, { token: DependencyDomService }], target: i0.ɵɵFactoryTarget.Component });
7579
+ TimelineYearViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: TimelineYearViewComponent, selector: "kendo-gantt-timeline-year-view", providers: [
7598
7580
  {
7599
7581
  provide: ViewBase,
7600
7582
  useExisting: forwardRef(() => TimelineYearViewComponent)
7601
7583
  }
7602
7584
  ], usesInheritance: true, ngImport: i0, template: '', isInline: true });
7603
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimelineYearViewComponent, decorators: [{
7585
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineYearViewComponent, decorators: [{
7604
7586
  type: Component,
7605
7587
  args: [{
7606
7588
  selector: 'kendo-gantt-timeline-year-view',
@@ -7627,14 +7609,14 @@ class CustomMessagesComponent extends Messages {
7627
7609
  return true;
7628
7610
  }
7629
7611
  }
7630
- CustomMessagesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CustomMessagesComponent, deps: [{ token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
7631
- CustomMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CustomMessagesComponent, selector: "kendo-gantt-messages", providers: [
7612
+ CustomMessagesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CustomMessagesComponent, deps: [{ token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
7613
+ CustomMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CustomMessagesComponent, selector: "kendo-gantt-messages", providers: [
7632
7614
  {
7633
7615
  provide: Messages,
7634
7616
  useExisting: forwardRef(() => CustomMessagesComponent)
7635
7617
  }
7636
7618
  ], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
7637
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CustomMessagesComponent, decorators: [{
7619
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CustomMessagesComponent, decorators: [{
7638
7620
  type: Component,
7639
7621
  args: [{
7640
7622
  providers: [
@@ -7742,8 +7724,8 @@ const DECLARATIONS = [
7742
7724
  */
7743
7725
  class GanttModule {
7744
7726
  }
7745
- GanttModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
7746
- GanttModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttModule, declarations: [GanttComponent,
7727
+ GanttModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
7728
+ GanttModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttModule, declarations: [GanttComponent,
7747
7729
  GanttFlatBindingDirective,
7748
7730
  GanttHierarchyBindingDirective,
7749
7731
  GanttTaskComponent,
@@ -7839,14 +7821,14 @@ GanttModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "1
7839
7821
  TimelineScrollableDirective,
7840
7822
  DependenciesTableComponent,
7841
7823
  TaskFieldsComponent] });
7842
- GanttModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttModule, providers: [{
7824
+ GanttModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttModule, providers: [{
7843
7825
  provide: L10N_PREFIX,
7844
7826
  useValue: 'kendo.gantt'
7845
7827
  }, {
7846
7828
  provide: TOUCH_ENABLED,
7847
7829
  useValue: touchEnabled
7848
7830
  }], imports: [[...IMPORTED_MODULES]] });
7849
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttModule, decorators: [{
7831
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttModule, decorators: [{
7850
7832
  type: NgModule,
7851
7833
  args: [{
7852
7834
  imports: [...IMPORTED_MODULES],