@progress/kendo-angular-gantt 1.0.1 → 2.0.0-next.202204011501

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 (462) hide show
  1. package/bundles/kendo-angular-gantt.umd.js +5 -0
  2. package/package.json +46 -125
  3. package/schematics/ngAdd/index.js +5 -2
  4. package/schematics/ngAdd/index.js.map +1 -1
  5. package/dist/cdn/js/kendo-angular-gantt.js +0 -20
  6. package/dist/cdn/main.js +0 -5
  7. package/dist/es/binding-directives/flat-binding.directive.js +0 -36
  8. package/dist/es/binding-directives/hierarchy-binding.directive.js +0 -34
  9. package/dist/es/columns/cell-template.directive.js +0 -36
  10. package/dist/es/columns/column-base.js +0 -66
  11. package/dist/es/columns/column-group.component.js +0 -111
  12. package/dist/es/columns/column-menu-template.directive.js +0 -30
  13. package/dist/es/columns/column.component.js +0 -163
  14. package/dist/es/columns/columns.js +0 -15
  15. package/dist/es/columns/edit-template.directive.js +0 -34
  16. package/dist/es/columns/filter-cell-template.directive.js +0 -29
  17. package/dist/es/columns/filter-menu-template.directive.js +0 -28
  18. package/dist/es/columns/footer-template.directive.js +0 -32
  19. package/dist/es/columns/header-template.directive.js +0 -30
  20. package/dist/es/columns/span-column.component.js +0 -104
  21. package/dist/es/common/default-callbacks.js +0 -25
  22. package/dist/es/common/mapping.service.js +0 -72
  23. package/dist/es/common/option-changes.service.js +0 -26
  24. package/dist/es/common/touch-enabled.js +0 -9
  25. package/dist/es/dependencies/dependency-dom.service.js +0 -79
  26. package/dist/es/dependencies/dom-dependency-args.js +0 -4
  27. package/dist/es/dependencies/gantt-dependency.directive.js +0 -94
  28. package/dist/es/dependencies/utils.js +0 -199
  29. package/dist/es/dragging/dependency-drag-create.directive.js +0 -347
  30. package/dist/es/dragging/drag-validation-tooltip.component.js +0 -27
  31. package/dist/es/editing/add-task.component.js +0 -94
  32. package/dist/es/editing/dependencies-table.component.js +0 -131
  33. package/dist/es/editing/edit-dialog.component.js +0 -75
  34. package/dist/es/editing/edit.service.js +0 -123
  35. package/dist/es/editing/task-fields.component.js +0 -43
  36. package/dist/es/editing/utils.js +0 -17
  37. package/dist/es/expanded-state/expand-event.js +0 -13
  38. package/dist/es/expanded-state/expandable.directive.js +0 -28
  39. package/dist/es/gantt.component.js +0 -1634
  40. package/dist/es/gantt.module.js +0 -167
  41. package/dist/es/index.js +0 -46
  42. package/dist/es/localization/custom-messages.component.js +0 -44
  43. package/dist/es/localization/gantt-localization.service.js +0 -26
  44. package/dist/es/localization/localized-messages.directive.js +0 -35
  45. package/dist/es/localization/messages.js +0 -290
  46. package/dist/es/main.js +0 -17
  47. package/dist/es/models/cell-content-type.interface.js +0 -4
  48. package/dist/es/models/class-callbacks.js +0 -4
  49. package/dist/es/models/column-menu-settings.interface.js +0 -4
  50. package/dist/es/models/column-reorder-config.js +0 -4
  51. package/dist/es/models/date-range.interface.js +0 -4
  52. package/dist/es/models/dependency-type.enum.js +0 -20
  53. package/dist/es/models/events/cell-click-event.interface.js +0 -4
  54. package/dist/es/models/events/cell-close-event.interface.js +0 -19
  55. package/dist/es/models/events/click-event.interface.js +0 -4
  56. package/dist/es/models/events/column-locked-change-event.interface.js +0 -4
  57. package/dist/es/models/events/column-reorder-event.interface.js +0 -4
  58. package/dist/es/models/events/column-resize-event.interface.js +0 -4
  59. package/dist/es/models/events/column-visibility-change-event.interface.js +0 -4
  60. package/dist/es/models/events/data-state-change-event.interface.js +0 -4
  61. package/dist/es/models/events/dependency-add-event.interface.js +0 -4
  62. package/dist/es/models/events/preventable-event.js +0 -32
  63. package/dist/es/models/events/selected-view-change-event.interface.js +0 -4
  64. package/dist/es/models/events/task-add-event.interface.js +0 -4
  65. package/dist/es/models/events/task-click-event.interface.js +0 -4
  66. package/dist/es/models/events/task-delete-event.interface.js +0 -4
  67. package/dist/es/models/events/task-edit-event.interface.js +0 -4
  68. package/dist/es/models/events/task-move-end-event.interface.js +0 -4
  69. package/dist/es/models/events/task-move-event.interface.js +0 -4
  70. package/dist/es/models/events/task-move-start-event.interface.js +0 -4
  71. package/dist/es/models/events/task-resize-end-event.interface.js +0 -4
  72. package/dist/es/models/events/task-resize-event.interface.js +0 -4
  73. package/dist/es/models/events/task-resize-start-event.interface.js +0 -4
  74. package/dist/es/models/gantt-dependency-model-fields.interface.js +0 -13
  75. package/dist/es/models/gantt-dependency.interface.js +0 -4
  76. package/dist/es/models/gantt-task-model-fields.interface.js +0 -15
  77. package/dist/es/models/gantt-task.interface.js +0 -4
  78. package/dist/es/models/models.js +0 -6
  79. package/dist/es/models/slot.interface.js +0 -4
  80. package/dist/es/models/sort-settings.js +0 -23
  81. package/dist/es/models/splitter-pane-options.interface.js +0 -20
  82. package/dist/es/models/timeline-options.interface.js +0 -4
  83. package/dist/es/models/timeline-view.js +0 -4
  84. package/dist/es/models/toolbar-settings.js +0 -4
  85. package/dist/es/models/view-item.interface.js +0 -4
  86. package/dist/es/navigation/navigation-models.js +0 -4
  87. package/dist/es/navigation/navigation.service.js +0 -390
  88. package/dist/es/navigation/utils.js +0 -77
  89. package/dist/es/package-metadata.js +0 -15
  90. package/dist/es/rendering/gantt-header-table-body.component.js +0 -29
  91. package/dist/es/rendering/gantt-milestone-task.component.js +0 -53
  92. package/dist/es/rendering/gantt-summary-task.component.js +0 -72
  93. package/dist/es/rendering/gantt-task-base.js +0 -192
  94. package/dist/es/rendering/gantt-task.component.js +0 -62
  95. package/dist/es/rendering/gantt-tasks-table-body.component.js +0 -88
  96. package/dist/es/scrolling/drag-scroll-settings.js +0 -20
  97. package/dist/es/scrolling/scroll-sync.service.js +0 -88
  98. package/dist/es/scrolling/timeline-scroll.directive.js +0 -89
  99. package/dist/es/scrolling/timeline-scroll.service.js +0 -39
  100. package/dist/es/scrolling/utils.js +0 -80
  101. package/dist/es/selection/selectable.directive.js +0 -141
  102. package/dist/es/selection/selection-change-event.js +0 -4
  103. package/dist/es/template-directives/summary-task-template.directive.js +0 -49
  104. package/dist/es/template-directives/task-content-template.directive.js +0 -44
  105. package/dist/es/template-directives/task-template.directive.js +0 -47
  106. package/dist/es/timeline/gantt-timeline.component.js +0 -176
  107. package/dist/es/timeline/timeline-base-view.service.js +0 -166
  108. package/dist/es/timeline/timeline-day-view.component.js +0 -37
  109. package/dist/es/timeline/timeline-day-view.service.js +0 -68
  110. package/dist/es/timeline/timeline-month-view.component.js +0 -37
  111. package/dist/es/timeline/timeline-month-view.service.js +0 -66
  112. package/dist/es/timeline/timeline-view.service.js +0 -36
  113. package/dist/es/timeline/timeline-week-view.component.js +0 -37
  114. package/dist/es/timeline/timeline-week-view.service.js +0 -62
  115. package/dist/es/timeline/view-base.js +0 -38
  116. package/dist/es/toolbar/toolbar-template.directive.js +0 -132
  117. package/dist/es/toolbar/toolbar.component.js +0 -72
  118. package/dist/es/toolbar/view-selector.component.js +0 -64
  119. package/dist/es/utils.js +0 -296
  120. package/dist/es2015/binding-directives/flat-binding.directive.d.ts +0 -21
  121. package/dist/es2015/binding-directives/flat-binding.directive.js +0 -39
  122. package/dist/es2015/binding-directives/hierarchy-binding.directive.d.ts +0 -19
  123. package/dist/es2015/binding-directives/hierarchy-binding.directive.js +0 -35
  124. package/dist/es2015/columns/cell-template.directive.d.ts +0 -25
  125. package/dist/es2015/columns/cell-template.directive.js +0 -35
  126. package/dist/es2015/columns/column-base.d.ts +0 -82
  127. package/dist/es2015/columns/column-base.js +0 -62
  128. package/dist/es2015/columns/column-group.component.d.ts +0 -100
  129. package/dist/es2015/columns/column-group.component.js +0 -107
  130. package/dist/es2015/columns/column-menu-template.directive.d.ts +0 -19
  131. package/dist/es2015/columns/column-menu-template.directive.js +0 -29
  132. package/dist/es2015/columns/column.component.d.ts +0 -127
  133. package/dist/es2015/columns/column.component.js +0 -159
  134. package/dist/es2015/columns/columns.d.ts +0 -15
  135. package/dist/es2015/columns/columns.js +0 -15
  136. package/dist/es2015/columns/edit-template.directive.d.ts +0 -23
  137. package/dist/es2015/columns/edit-template.directive.js +0 -33
  138. package/dist/es2015/columns/filter-cell-template.directive.d.ts +0 -18
  139. package/dist/es2015/columns/filter-cell-template.directive.js +0 -28
  140. package/dist/es2015/columns/filter-menu-template.directive.d.ts +0 -17
  141. package/dist/es2015/columns/filter-menu-template.directive.js +0 -27
  142. package/dist/es2015/columns/footer-template.directive.d.ts +0 -21
  143. package/dist/es2015/columns/footer-template.directive.js +0 -31
  144. package/dist/es2015/columns/header-template.directive.d.ts +0 -19
  145. package/dist/es2015/columns/header-template.directive.js +0 -29
  146. package/dist/es2015/columns/span-column.component.d.ts +0 -109
  147. package/dist/es2015/columns/span-column.component.js +0 -100
  148. package/dist/es2015/common/default-callbacks.d.ts +0 -24
  149. package/dist/es2015/common/default-callbacks.js +0 -25
  150. package/dist/es2015/common/mapping.service.d.ts +0 -32
  151. package/dist/es2015/common/mapping.service.js +0 -66
  152. package/dist/es2015/common/option-changes.service.d.ts +0 -14
  153. package/dist/es2015/common/option-changes.service.js +0 -28
  154. package/dist/es2015/common/touch-enabled.d.ts +0 -9
  155. package/dist/es2015/common/touch-enabled.js +0 -9
  156. package/dist/es2015/dependencies/dependency-dom.service.d.ts +0 -43
  157. package/dist/es2015/dependencies/dependency-dom.service.js +0 -70
  158. package/dist/es2015/dependencies/dom-dependency-args.d.ts +0 -24
  159. package/dist/es2015/dependencies/dom-dependency-args.js +0 -4
  160. package/dist/es2015/dependencies/gantt-dependency.directive.d.ts +0 -26
  161. package/dist/es2015/dependencies/gantt-dependency.directive.js +0 -87
  162. package/dist/es2015/dependencies/utils.d.ts +0 -53
  163. package/dist/es2015/dependencies/utils.js +0 -199
  164. package/dist/es2015/dragging/dependency-drag-create.directive.d.ts +0 -72
  165. package/dist/es2015/dragging/dependency-drag-create.directive.js +0 -324
  166. package/dist/es2015/dragging/drag-validation-tooltip.component.d.ts +0 -29
  167. package/dist/es2015/dragging/drag-validation-tooltip.component.js +0 -76
  168. package/dist/es2015/editing/add-task.component.d.ts +0 -45
  169. package/dist/es2015/editing/add-task.component.js +0 -102
  170. package/dist/es2015/editing/dependencies-table.component.d.ts +0 -39
  171. package/dist/es2015/editing/dependencies-table.component.js +0 -160
  172. package/dist/es2015/editing/edit-dialog.component.d.ts +0 -28
  173. package/dist/es2015/editing/edit-dialog.component.js +0 -116
  174. package/dist/es2015/editing/edit.service.d.ts +0 -40
  175. package/dist/es2015/editing/edit.service.js +0 -111
  176. package/dist/es2015/editing/task-fields.component.d.ts +0 -22
  177. package/dist/es2015/editing/task-fields.component.js +0 -67
  178. package/dist/es2015/editing/utils.d.ts +0 -10
  179. package/dist/es2015/editing/utils.js +0 -17
  180. package/dist/es2015/expanded-state/expand-event.d.ts +0 -13
  181. package/dist/es2015/expanded-state/expand-event.js +0 -9
  182. package/dist/es2015/expanded-state/expandable.directive.d.ts +0 -17
  183. package/dist/es2015/expanded-state/expandable.directive.js +0 -23
  184. package/dist/es2015/gantt.component.d.ts +0 -730
  185. package/dist/es2015/gantt.component.js +0 -1867
  186. package/dist/es2015/gantt.module.d.ts +0 -37
  187. package/dist/es2015/gantt.module.js +0 -164
  188. package/dist/es2015/index.d.ts +0 -46
  189. package/dist/es2015/index.js +0 -46
  190. package/dist/es2015/index.metadata.json +0 -1
  191. package/dist/es2015/localization/custom-messages.component.d.ts +0 -15
  192. package/dist/es2015/localization/custom-messages.component.js +0 -36
  193. package/dist/es2015/localization/gantt-localization.service.d.ts +0 -15
  194. package/dist/es2015/localization/gantt-localization.service.js +0 -25
  195. package/dist/es2015/localization/localized-messages.directive.d.ts +0 -13
  196. package/dist/es2015/localization/localized-messages.directive.js +0 -31
  197. package/dist/es2015/localization/messages.d.ts +0 -290
  198. package/dist/es2015/localization/messages.js +0 -284
  199. package/dist/es2015/main.d.ts +0 -19
  200. package/dist/es2015/main.js +0 -17
  201. package/dist/es2015/models/cell-content-type.interface.d.ts +0 -10
  202. package/dist/es2015/models/cell-content-type.interface.js +0 -4
  203. package/dist/es2015/models/class-callbacks.d.ts +0 -43
  204. package/dist/es2015/models/class-callbacks.js +0 -4
  205. package/dist/es2015/models/column-menu-settings.interface.d.ts +0 -26
  206. package/dist/es2015/models/column-menu-settings.interface.js +0 -4
  207. package/dist/es2015/models/column-reorder-config.d.ts +0 -10
  208. package/dist/es2015/models/column-reorder-config.js +0 -4
  209. package/dist/es2015/models/date-range.interface.d.ts +0 -19
  210. package/dist/es2015/models/date-range.interface.js +0 -4
  211. package/dist/es2015/models/dependency-type.enum.d.ts +0 -19
  212. package/dist/es2015/models/dependency-type.enum.js +0 -20
  213. package/dist/es2015/models/events/cell-click-event.interface.d.ts +0 -43
  214. package/dist/es2015/models/events/cell-click-event.interface.js +0 -4
  215. package/dist/es2015/models/events/cell-close-event.interface.d.ts +0 -48
  216. package/dist/es2015/models/events/cell-close-event.interface.js +0 -14
  217. package/dist/es2015/models/events/click-event.interface.d.ts +0 -23
  218. package/dist/es2015/models/events/click-event.interface.js +0 -4
  219. package/dist/es2015/models/events/column-locked-change-event.interface.d.ts +0 -16
  220. package/dist/es2015/models/events/column-locked-change-event.interface.js +0 -4
  221. package/dist/es2015/models/events/column-reorder-event.interface.d.ts +0 -10
  222. package/dist/es2015/models/events/column-reorder-event.interface.js +0 -4
  223. package/dist/es2015/models/events/column-resize-event.interface.d.ts +0 -10
  224. package/dist/es2015/models/events/column-resize-event.interface.js +0 -4
  225. package/dist/es2015/models/events/column-visibility-change-event.interface.d.ts +0 -14
  226. package/dist/es2015/models/events/column-visibility-change-event.interface.js +0 -4
  227. package/dist/es2015/models/events/data-state-change-event.interface.d.ts +0 -10
  228. package/dist/es2015/models/events/data-state-change-event.interface.js +0 -4
  229. package/dist/es2015/models/events/dependency-add-event.interface.d.ts +0 -26
  230. package/dist/es2015/models/events/dependency-add-event.interface.js +0 -4
  231. package/dist/es2015/models/events/preventable-event.d.ts +0 -24
  232. package/dist/es2015/models/events/preventable-event.js +0 -30
  233. package/dist/es2015/models/events/selected-view-change-event.interface.d.ts +0 -19
  234. package/dist/es2015/models/events/selected-view-change-event.interface.js +0 -4
  235. package/dist/es2015/models/events/task-add-event.interface.d.ts +0 -31
  236. package/dist/es2015/models/events/task-add-event.interface.js +0 -4
  237. package/dist/es2015/models/events/task-click-event.interface.d.ts +0 -30
  238. package/dist/es2015/models/events/task-click-event.interface.js +0 -4
  239. package/dist/es2015/models/events/task-delete-event.interface.d.ts +0 -21
  240. package/dist/es2015/models/events/task-delete-event.interface.js +0 -4
  241. package/dist/es2015/models/events/task-edit-event.interface.d.ts +0 -76
  242. package/dist/es2015/models/events/task-edit-event.interface.js +0 -4
  243. package/dist/es2015/models/events/task-move-end-event.interface.d.ts +0 -12
  244. package/dist/es2015/models/events/task-move-end-event.interface.js +0 -4
  245. package/dist/es2015/models/events/task-move-event.interface.d.ts +0 -23
  246. package/dist/es2015/models/events/task-move-event.interface.js +0 -4
  247. package/dist/es2015/models/events/task-move-start-event.interface.d.ts +0 -15
  248. package/dist/es2015/models/events/task-move-start-event.interface.js +0 -4
  249. package/dist/es2015/models/events/task-resize-end-event.interface.d.ts +0 -12
  250. package/dist/es2015/models/events/task-resize-end-event.interface.js +0 -4
  251. package/dist/es2015/models/events/task-resize-event.interface.d.ts +0 -23
  252. package/dist/es2015/models/events/task-resize-event.interface.js +0 -4
  253. package/dist/es2015/models/events/task-resize-start-event.interface.d.ts +0 -15
  254. package/dist/es2015/models/events/task-resize-start-event.interface.js +0 -4
  255. package/dist/es2015/models/gantt-dependency-model-fields.interface.d.ts +0 -35
  256. package/dist/es2015/models/gantt-dependency-model-fields.interface.js +0 -13
  257. package/dist/es2015/models/gantt-dependency.interface.d.ts +0 -26
  258. package/dist/es2015/models/gantt-dependency.interface.js +0 -4
  259. package/dist/es2015/models/gantt-task-model-fields.interface.d.ts +0 -42
  260. package/dist/es2015/models/gantt-task-model-fields.interface.js +0 -15
  261. package/dist/es2015/models/gantt-task.interface.d.ts +0 -31
  262. package/dist/es2015/models/gantt-task.interface.js +0 -4
  263. package/dist/es2015/models/models.d.ts +0 -42
  264. package/dist/es2015/models/models.js +0 -6
  265. package/dist/es2015/models/slot.interface.d.ts +0 -31
  266. package/dist/es2015/models/slot.interface.js +0 -4
  267. package/dist/es2015/models/sort-settings.d.ts +0 -107
  268. package/dist/es2015/models/sort-settings.js +0 -17
  269. package/dist/es2015/models/splitter-pane-options.interface.d.ts +0 -54
  270. package/dist/es2015/models/splitter-pane-options.interface.js +0 -20
  271. package/dist/es2015/models/timeline-options.interface.d.ts +0 -41
  272. package/dist/es2015/models/timeline-options.interface.js +0 -4
  273. package/dist/es2015/models/timeline-view.d.ts +0 -8
  274. package/dist/es2015/models/timeline-view.js +0 -4
  275. package/dist/es2015/models/toolbar-settings.d.ts +0 -29
  276. package/dist/es2015/models/toolbar-settings.js +0 -4
  277. package/dist/es2015/models/view-item.interface.d.ts +0 -35
  278. package/dist/es2015/models/view-item.interface.js +0 -4
  279. package/dist/es2015/navigation/navigation-models.d.ts +0 -34
  280. package/dist/es2015/navigation/navigation-models.js +0 -4
  281. package/dist/es2015/navigation/navigation.service.d.ts +0 -126
  282. package/dist/es2015/navigation/navigation.service.js +0 -355
  283. package/dist/es2015/navigation/utils.d.ts +0 -26
  284. package/dist/es2015/navigation/utils.js +0 -69
  285. package/dist/es2015/package-metadata.d.ts +0 -9
  286. package/dist/es2015/package-metadata.js +0 -15
  287. package/dist/es2015/rendering/gantt-header-table-body.component.d.ts +0 -11
  288. package/dist/es2015/rendering/gantt-header-table-body.component.js +0 -34
  289. package/dist/es2015/rendering/gantt-milestone-task.component.d.ts +0 -19
  290. package/dist/es2015/rendering/gantt-milestone-task.component.js +0 -81
  291. package/dist/es2015/rendering/gantt-summary-task.component.d.ts +0 -22
  292. package/dist/es2015/rendering/gantt-summary-task.component.js +0 -116
  293. package/dist/es2015/rendering/gantt-task-base.d.ts +0 -56
  294. package/dist/es2015/rendering/gantt-task-base.js +0 -156
  295. package/dist/es2015/rendering/gantt-task.component.d.ts +0 -23
  296. package/dist/es2015/rendering/gantt-task.component.js +0 -135
  297. package/dist/es2015/rendering/gantt-tasks-table-body.component.d.ts +0 -30
  298. package/dist/es2015/rendering/gantt-tasks-table-body.component.js +0 -130
  299. package/dist/es2015/scrolling/drag-scroll-settings.d.ts +0 -47
  300. package/dist/es2015/scrolling/drag-scroll-settings.js +0 -20
  301. package/dist/es2015/scrolling/scroll-sync.service.d.ts +0 -30
  302. package/dist/es2015/scrolling/scroll-sync.service.js +0 -80
  303. package/dist/es2015/scrolling/timeline-scroll.directive.d.ts +0 -24
  304. package/dist/es2015/scrolling/timeline-scroll.directive.js +0 -78
  305. package/dist/es2015/scrolling/timeline-scroll.service.d.ts +0 -20
  306. package/dist/es2015/scrolling/timeline-scroll.service.js +0 -44
  307. package/dist/es2015/scrolling/utils.d.ts +0 -29
  308. package/dist/es2015/scrolling/utils.js +0 -80
  309. package/dist/es2015/selection/selectable.directive.d.ts +0 -42
  310. package/dist/es2015/selection/selectable.directive.js +0 -122
  311. package/dist/es2015/selection/selection-change-event.d.ts +0 -25
  312. package/dist/es2015/selection/selection-change-event.js +0 -4
  313. package/dist/es2015/template-directives/summary-task-template.directive.d.ts +0 -38
  314. package/dist/es2015/template-directives/summary-task-template.directive.js +0 -48
  315. package/dist/es2015/template-directives/task-content-template.directive.d.ts +0 -33
  316. package/dist/es2015/template-directives/task-content-template.directive.js +0 -43
  317. package/dist/es2015/template-directives/task-template.directive.d.ts +0 -36
  318. package/dist/es2015/template-directives/task-template.directive.js +0 -46
  319. package/dist/es2015/timeline/gantt-timeline.component.d.ts +0 -64
  320. package/dist/es2015/timeline/gantt-timeline.component.js +0 -271
  321. package/dist/es2015/timeline/timeline-base-view.service.d.ts +0 -77
  322. package/dist/es2015/timeline/timeline-base-view.service.js +0 -160
  323. package/dist/es2015/timeline/timeline-day-view.component.d.ts +0 -15
  324. package/dist/es2015/timeline/timeline-day-view.component.js +0 -33
  325. package/dist/es2015/timeline/timeline-day-view.service.d.ts +0 -35
  326. package/dist/es2015/timeline/timeline-day-view.service.js +0 -66
  327. package/dist/es2015/timeline/timeline-month-view.component.d.ts +0 -15
  328. package/dist/es2015/timeline/timeline-month-view.component.js +0 -33
  329. package/dist/es2015/timeline/timeline-month-view.service.d.ts +0 -35
  330. package/dist/es2015/timeline/timeline-month-view.service.js +0 -64
  331. package/dist/es2015/timeline/timeline-view.service.d.ts +0 -16
  332. package/dist/es2015/timeline/timeline-view.service.js +0 -35
  333. package/dist/es2015/timeline/timeline-week-view.component.d.ts +0 -15
  334. package/dist/es2015/timeline/timeline-week-view.component.js +0 -33
  335. package/dist/es2015/timeline/timeline-week-view.service.d.ts +0 -35
  336. package/dist/es2015/timeline/timeline-week-view.service.js +0 -60
  337. package/dist/es2015/timeline/view-base.d.ts +0 -31
  338. package/dist/es2015/timeline/view-base.js +0 -36
  339. package/dist/es2015/toolbar/toolbar-template.directive.d.ts +0 -108
  340. package/dist/es2015/toolbar/toolbar-template.directive.js +0 -127
  341. package/dist/es2015/toolbar/toolbar.component.d.ts +0 -23
  342. package/dist/es2015/toolbar/toolbar.component.js +0 -75
  343. package/dist/es2015/toolbar/view-selector.component.d.ts +0 -36
  344. package/dist/es2015/toolbar/view-selector.component.js +0 -78
  345. package/dist/es2015/utils.d.ts +0 -166
  346. package/dist/es2015/utils.js +0 -293
  347. package/dist/fesm2015/index.js +0 -7112
  348. package/dist/fesm5/index.js +0 -6674
  349. package/dist/npm/binding-directives/flat-binding.directive.js +0 -38
  350. package/dist/npm/binding-directives/hierarchy-binding.directive.js +0 -36
  351. package/dist/npm/columns/cell-template.directive.js +0 -38
  352. package/dist/npm/columns/column-base.js +0 -68
  353. package/dist/npm/columns/column-group.component.js +0 -113
  354. package/dist/npm/columns/column-menu-template.directive.js +0 -32
  355. package/dist/npm/columns/column.component.js +0 -165
  356. package/dist/npm/columns/columns.js +0 -28
  357. package/dist/npm/columns/edit-template.directive.js +0 -36
  358. package/dist/npm/columns/filter-cell-template.directive.js +0 -31
  359. package/dist/npm/columns/filter-menu-template.directive.js +0 -30
  360. package/dist/npm/columns/footer-template.directive.js +0 -34
  361. package/dist/npm/columns/header-template.directive.js +0 -32
  362. package/dist/npm/columns/span-column.component.js +0 -106
  363. package/dist/npm/common/default-callbacks.js +0 -27
  364. package/dist/npm/common/mapping.service.js +0 -74
  365. package/dist/npm/common/option-changes.service.js +0 -28
  366. package/dist/npm/common/touch-enabled.js +0 -11
  367. package/dist/npm/dependencies/dependency-dom.service.js +0 -81
  368. package/dist/npm/dependencies/dom-dependency-args.js +0 -6
  369. package/dist/npm/dependencies/gantt-dependency.directive.js +0 -96
  370. package/dist/npm/dependencies/utils.js +0 -203
  371. package/dist/npm/dragging/dependency-drag-create.directive.js +0 -349
  372. package/dist/npm/dragging/drag-validation-tooltip.component.js +0 -29
  373. package/dist/npm/editing/add-task.component.js +0 -96
  374. package/dist/npm/editing/dependencies-table.component.js +0 -133
  375. package/dist/npm/editing/edit-dialog.component.js +0 -77
  376. package/dist/npm/editing/edit.service.js +0 -125
  377. package/dist/npm/editing/task-fields.component.js +0 -45
  378. package/dist/npm/editing/utils.js +0 -19
  379. package/dist/npm/expanded-state/expand-event.js +0 -15
  380. package/dist/npm/expanded-state/expandable.directive.js +0 -30
  381. package/dist/npm/gantt.component.js +0 -1636
  382. package/dist/npm/gantt.module.js +0 -169
  383. package/dist/npm/index.js +0 -87
  384. package/dist/npm/localization/custom-messages.component.js +0 -46
  385. package/dist/npm/localization/gantt-localization.service.js +0 -28
  386. package/dist/npm/localization/localized-messages.directive.js +0 -37
  387. package/dist/npm/localization/messages.js +0 -292
  388. package/dist/npm/main.js +0 -31
  389. package/dist/npm/models/cell-content-type.interface.js +0 -6
  390. package/dist/npm/models/class-callbacks.js +0 -6
  391. package/dist/npm/models/column-menu-settings.interface.js +0 -6
  392. package/dist/npm/models/column-reorder-config.js +0 -6
  393. package/dist/npm/models/date-range.interface.js +0 -6
  394. package/dist/npm/models/dependency-type.enum.js +0 -22
  395. package/dist/npm/models/events/cell-click-event.interface.js +0 -6
  396. package/dist/npm/models/events/cell-close-event.interface.js +0 -21
  397. package/dist/npm/models/events/click-event.interface.js +0 -6
  398. package/dist/npm/models/events/column-locked-change-event.interface.js +0 -6
  399. package/dist/npm/models/events/column-reorder-event.interface.js +0 -6
  400. package/dist/npm/models/events/column-resize-event.interface.js +0 -6
  401. package/dist/npm/models/events/column-visibility-change-event.interface.js +0 -6
  402. package/dist/npm/models/events/data-state-change-event.interface.js +0 -6
  403. package/dist/npm/models/events/dependency-add-event.interface.js +0 -6
  404. package/dist/npm/models/events/preventable-event.js +0 -34
  405. package/dist/npm/models/events/selected-view-change-event.interface.js +0 -6
  406. package/dist/npm/models/events/task-add-event.interface.js +0 -6
  407. package/dist/npm/models/events/task-click-event.interface.js +0 -6
  408. package/dist/npm/models/events/task-delete-event.interface.js +0 -6
  409. package/dist/npm/models/events/task-edit-event.interface.js +0 -6
  410. package/dist/npm/models/events/task-move-end-event.interface.js +0 -6
  411. package/dist/npm/models/events/task-move-event.interface.js +0 -6
  412. package/dist/npm/models/events/task-move-start-event.interface.js +0 -6
  413. package/dist/npm/models/events/task-resize-end-event.interface.js +0 -6
  414. package/dist/npm/models/events/task-resize-event.interface.js +0 -6
  415. package/dist/npm/models/events/task-resize-start-event.interface.js +0 -6
  416. package/dist/npm/models/gantt-dependency-model-fields.interface.js +0 -15
  417. package/dist/npm/models/gantt-dependency.interface.js +0 -6
  418. package/dist/npm/models/gantt-task-model-fields.interface.js +0 -17
  419. package/dist/npm/models/gantt-task.interface.js +0 -6
  420. package/dist/npm/models/models.js +0 -10
  421. package/dist/npm/models/slot.interface.js +0 -6
  422. package/dist/npm/models/sort-settings.js +0 -25
  423. package/dist/npm/models/splitter-pane-options.interface.js +0 -22
  424. package/dist/npm/models/timeline-options.interface.js +0 -6
  425. package/dist/npm/models/timeline-view.js +0 -6
  426. package/dist/npm/models/toolbar-settings.js +0 -6
  427. package/dist/npm/models/view-item.interface.js +0 -6
  428. package/dist/npm/navigation/navigation-models.js +0 -6
  429. package/dist/npm/navigation/navigation.service.js +0 -392
  430. package/dist/npm/navigation/utils.js +0 -79
  431. package/dist/npm/package-metadata.js +0 -17
  432. package/dist/npm/rendering/gantt-header-table-body.component.js +0 -31
  433. package/dist/npm/rendering/gantt-milestone-task.component.js +0 -55
  434. package/dist/npm/rendering/gantt-summary-task.component.js +0 -74
  435. package/dist/npm/rendering/gantt-task-base.js +0 -194
  436. package/dist/npm/rendering/gantt-task.component.js +0 -64
  437. package/dist/npm/rendering/gantt-tasks-table-body.component.js +0 -90
  438. package/dist/npm/scrolling/drag-scroll-settings.js +0 -22
  439. package/dist/npm/scrolling/scroll-sync.service.js +0 -90
  440. package/dist/npm/scrolling/timeline-scroll.directive.js +0 -91
  441. package/dist/npm/scrolling/timeline-scroll.service.js +0 -41
  442. package/dist/npm/scrolling/utils.js +0 -83
  443. package/dist/npm/selection/selectable.directive.js +0 -143
  444. package/dist/npm/selection/selection-change-event.js +0 -6
  445. package/dist/npm/template-directives/summary-task-template.directive.js +0 -51
  446. package/dist/npm/template-directives/task-content-template.directive.js +0 -46
  447. package/dist/npm/template-directives/task-template.directive.js +0 -49
  448. package/dist/npm/timeline/gantt-timeline.component.js +0 -178
  449. package/dist/npm/timeline/timeline-base-view.service.js +0 -168
  450. package/dist/npm/timeline/timeline-day-view.component.js +0 -39
  451. package/dist/npm/timeline/timeline-day-view.service.js +0 -70
  452. package/dist/npm/timeline/timeline-month-view.component.js +0 -39
  453. package/dist/npm/timeline/timeline-month-view.service.js +0 -68
  454. package/dist/npm/timeline/timeline-view.service.js +0 -38
  455. package/dist/npm/timeline/timeline-week-view.component.js +0 -39
  456. package/dist/npm/timeline/timeline-week-view.service.js +0 -64
  457. package/dist/npm/timeline/view-base.js +0 -40
  458. package/dist/npm/toolbar/toolbar-template.directive.js +0 -134
  459. package/dist/npm/toolbar/toolbar.component.js +0 -74
  460. package/dist/npm/toolbar/view-selector.component.js +0 -66
  461. package/dist/npm/utils.js +0 -298
  462. package/dist/systemjs/kendo-angular-gantt.js +0 -5
@@ -1,1867 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import * as tslib_1 from "tslib";
6
- var GanttComponent_1;
7
- import { Component, forwardRef, HostBinding, Input, Output, EventEmitter, ViewChild, ContentChildren, ContentChild, QueryList, isDevMode, Renderer2, ElementRef, NgZone } from '@angular/core';
8
- import { TreeListComponent, DataBoundTreeComponent, ExpandableTreeComponent } from '@progress/kendo-angular-treelist';
9
- import { Day } from '@progress/kendo-date-math';
10
- import { Subscription } from 'rxjs';
11
- import { validatePackage } from '@progress/kendo-licensing';
12
- import { packageMetadata } from './package-metadata';
13
- import { anyChanged, hasObservers } from '@progress/kendo-angular-common';
14
- import { GanttTimelineComponent } from './timeline/gantt-timeline.component';
15
- import { GanttColumnBase } from './columns/columns';
16
- import { fetchChildren, hasChildren, isSelected, rowClassCallback, taskClassCallback } from './common/default-callbacks';
17
- import { DependencyType } from './models/models';
18
- import { LocalizationService } from '@progress/kendo-angular-l10n';
19
- import { TimelineViewService } from './timeline/timeline-view.service';
20
- import { TimelineDayViewService } from './timeline/timeline-day-view.service';
21
- import { TimelineWeekViewService } from './timeline/timeline-week-view.service';
22
- import { TimelineMonthViewService } from './timeline/timeline-month-view.service';
23
- import { ScrollSyncService } from './scrolling/scroll-sync.service';
24
- import { DependencyDomService } from './dependencies/dependency-dom.service';
25
- import { MappingService } from './common/mapping.service';
26
- import { OptionChangesService } from './common/option-changes.service';
27
- import { EditService } from './editing/edit.service';
28
- import { TimelineScrollService } from './scrolling/timeline-scroll.service';
29
- import { GanttLocalizationService } from './localization/gantt-localization.service';
30
- import { NavigationService } from './navigation/navigation.service';
31
- import { areParentChild, getClosestTaskIndex, isClearButton, isColumnGroup, isPresent, isTask, normalizeGanttData, scrollbarWidth } from './utils';
32
- import { DEFAULT_TIMELINE_PANE_SETTINGS, DEFAULT_TREELIST_PANE_SETTINGS } from './models/splitter-pane-options.interface';
33
- import { GanttTaskTemplateDirective } from './template-directives/task-template.directive';
34
- import { GanttSummaryTaskTemplateDirective } from './template-directives/summary-task-template.directive';
35
- import { GanttTaskContentTemplateDirective } from './template-directives/task-content-template.directive';
36
- import { ToolbarTemplateDirective } from './toolbar/toolbar-template.directive';
37
- import { ViewBase } from './timeline/view-base';
38
- import { getEditItem } from './editing/utils';
39
- const TREELIST_GROUP_COLUMNS_CLASS = 'k-gantt-treelist-nested-columns';
40
- const DEFAULT_VIEW = 'week';
41
- const DEFAULT_DRAG_SCROLL_SETTINGS = {
42
- enabled: true,
43
- step: 3,
44
- interval: 1,
45
- threshold: 10
46
- };
47
- /**
48
- * Represents the Kendo UI Gantt component for Angular.
49
- *
50
- * @example
51
- * ```ts-preview
52
- * _@Component({
53
- * selector: 'my-app',
54
- * template: `
55
- * <kendo-gantt
56
- * [style.height.px]="500"
57
- * [kendoGanttHierarchyBinding]="data"
58
- * childrenField="subtasks"
59
- * [dependencies]="dependencies">
60
- * <kendo-gantt-column
61
- * field="title"
62
- * title="Task"
63
- * [width]="200"
64
- * [expandable]="true"></kendo-gantt-column>
65
- * <kendo-gantt-column
66
- * field="start"
67
- * title="Start"
68
- * format="dd-MMM-yyyy"
69
- * [width]="120"></kendo-gantt-column>
70
- * <kendo-gantt-column
71
- * field="end"
72
- * title="End"
73
- * format="dd-MMM-yyyy"
74
- * [width]="120"></kendo-gantt-column>
75
- * <kendo-gantt-timeline-day-view></kendo-gantt-timeline-day-view>
76
- * <kendo-gantt-timeline-week-view></kendo-gantt-timeline-week-view>
77
- * <kendo-gantt-timeline-month-view></kendo-gantt-timeline-month-view>
78
- * </kendo-gantt>
79
- * `
80
- * })
81
- * class AppComponent {
82
- * public data: Task[] = [{
83
- * id: 7, title: 'Validation and R&D', start: new Date('2014-06-02T00:00:00.000Z'),
84
- * end: new Date('2014-06-19T00:00:00.000Z'), completionRatio: 0.45708333333333334,
85
- * subtasks: [
86
- * { id: 18, title: 'Project Kickoff', start: new Date('2014-06-02T00:00:00.000Z'),
87
- * end: new Date('2014-06-02T00:00:00.000Z'), completionRatio: 0.23 },
88
- * { id: 11, title: 'Research', start: new Date('2014-06-02T00:00:00.000Z'),
89
- * end: new Date('2014-06-07T00:00:00.000Z'), completionRatio: 0.5766666666666667,
90
- * subtasks: [
91
- * { id: 19, title: 'Validation', start: new Date('2014-06-02T00:00:00.000Z'),
92
- * end: new Date('2014-06-04T00:00:00.000Z'), completionRatio: 0.25 },
93
- * { id: 39, title: 'Specification', start: new Date('2014-06-04T00:00:00.000Z'),
94
- * end: new Date('2014-06-07T00:00:00.000Z'), completionRatio: 0.66 }]
95
- * }, { id: 13, title: 'Implementation', start: new Date('2014-06-08T00:00:00.000Z'),
96
- * end: new Date('2014-06-19T00:00:00.000Z'), completionRatio: 0.77,
97
- * subtasks: [
98
- * { id: 24, title: 'Prototype', start: new Date('2014-06-08T00:00:00.000Z'),
99
- * end: new Date('2014-06-14T00:00:00.000Z'), completionRatio: 0.77 },
100
- * { id: 29, title: 'UI and Interaction', start: new Date('2014-06-14T00:00:00.000Z'),
101
- * end: new Date('2014-06-19T00:00:00.000Z'), completionRatio: 0.6 }]
102
- * }, { id: 17, title: 'Release', start: new Date('2014-06-19T00:00:00.000Z'),
103
- * end: new Date('2014-06-19T00:00:00.000Z'), completionRatio: 0 }]
104
- * }];
105
- *
106
- * public dependencies: GanttDependency[] = [
107
- * { id: 528, fromId: 18, toId: 19, type: DependencyType.FS },
108
- * { id: 529, fromId: 19, toId: 39, type: DependencyType.FS },
109
- * { id: 535, fromId: 24, toId: 29, type: DependencyType.FS },
110
- * { id: 551, fromId: 13, toId: 29, type: DependencyType.FF },
111
- * { id: 777, fromId: 7, toId: 11, type: DependencyType.SF },
112
- * { id: 556, fromId: 39, toId: 24, type: DependencyType.FS },
113
- * { id: 546, fromId: 29, toId: 17, type: DependencyType.FS },
114
- * ];
115
- * }
116
- * ```
117
- */
118
- let GanttComponent = GanttComponent_1 = class GanttComponent {
119
- constructor(timelineViewService, scrollSyncService, renderer, mapper, optionChangesService, dependencyDomService, editService, localizationService, hostElement, zone, navigationService) {
120
- this.timelineViewService = timelineViewService;
121
- this.scrollSyncService = scrollSyncService;
122
- this.renderer = renderer;
123
- this.mapper = mapper;
124
- this.optionChangesService = optionChangesService;
125
- this.dependencyDomService = dependencyDomService;
126
- this.editService = editService;
127
- this.localizationService = localizationService;
128
- this.hostElement = hostElement;
129
- this.zone = zone;
130
- this.navigationService = navigationService;
131
- /**
132
- * @hidden
133
- */
134
- this.roleDescription = 'Gantt Chart';
135
- /**
136
- * @hidden
137
- */
138
- this.role = 'application';
139
- this.hostClasses = true;
140
- /**
141
- * Specifies a callback that determines if the given task is selected ([see example]({% slug selection_gantt %}#toc-custom-selection)).
142
- *
143
- * > The [`selectable`]({% slug api_gantt_ganttcomponent %}#toc-selectable) prop has to be set to `true` in order for this callback to be executed.
144
- */
145
- this.isSelected = isSelected;
146
- /**
147
- * Specifies a callback that determines if a new dependency is valid.
148
- * Used when evaluating if an attempt to create a new dependency will result in a valid link between the two tasks
149
- * [see example]({% slug editing_drag_create_dependencies_gantt %}#toc-validation).
150
- *
151
- * By defalut, dependencies are deemed invalid when:
152
- * - The two tasks are in a parent-child relationship.
153
- * - The two tasks are already dependent on one another. Only one dependency is allowed per pair.
154
- * - The start or end times of the two tasks are incompatible with the attempted dependency type.
155
- */
156
- this.validateNewDependency = this.defaultValidateNewDependencyCallback.bind(this);
157
- /**
158
- * Fires when the Gantt selection is changed through user interaction.
159
- *
160
- * Holds data about the affected [`items`]({% slug api_gantt_selectionchangeevent %}#toc-items) and the attempted [`action`]({% slug api_gantt_selectionchangeevent %}#toc-action):
161
- * - `select` - Triggered on `click` or `ctrl + click` on deselected items.
162
- * - `remove` - Triggered on `ctrl + click` on selected items.
163
- */
164
- this.selectionChange = new EventEmitter();
165
- /**
166
- * Enables or disables the Gantt selection mechanism ([see example]({% slug selection_gantt %}#toc-custom-selection)).
167
- *
168
- * > When set to `true`, the [`isSelected`]({% slug api_gantt_ganttcomponent %}#toc-isselected) callback has to be provided.
169
- * > When applied, the [`SelectableDirective`]({% slug api_gantt_selectabledirective %}) sets `selectable` to `true` internally.
170
- */
171
- this.selectable = false;
172
- /**
173
- * Defines the dependencies that will be drawn between the rendered tasks.
174
- *
175
- * > The dependency data items should either conform to the [`GanttDependency`]({% slug api_gantt_ganttdependency %}) interface, or a [`dependencyModelFields`]({% slug api_gantt_ganttcomponent %}#toc-dependencymodelfields) object has to be provided.
176
- */
177
- this.dependencies = [];
178
- /**
179
- * Enables the sorting of the Gantt columns that have their `field` option set.
180
- */
181
- this.sortable = false;
182
- /**
183
- * The descriptors by which the data will be sorted.
184
- */
185
- this.sort = [];
186
- /**
187
- * Enables the filtering of the Gantt columns that have their `field` option set.
188
- *
189
- * @default false
190
- */
191
- this.filterable = false;
192
- /**
193
- * The start time of the work day.
194
- * Accepts string values in the `HH:mm` format.
195
- */
196
- this.workDayStart = '08:00';
197
- /**
198
- * The end time of the work day.
199
- * Accepts string values in the `HH:mm` format.
200
- */
201
- this.workDayEnd = '17:00';
202
- /**
203
- * The start of the work week (index based).
204
- */
205
- this.workWeekStart = 1;
206
- /**
207
- * The end of the work week (index based).
208
- */
209
- this.workWeekEnd = 5;
210
- /**
211
- * If set to `true`, the user can use dedicated shortcuts to interact with the Gantt.
212
- * By default, navigation is disabled for the TreeList and Timeline parts of the component,
213
- * ([see example]({% slug keyboard_navigation_gantt %})).
214
- */
215
- this.navigable = false;
216
- /**
217
- * Indicates whether the Gantt columns will be resized during initialization so that they fit their headers and row content.
218
- * Columns with autoSize set to false are excluded.
219
- *
220
- * @default false
221
- */
222
- this.columnsAutoSize = false;
223
- /**
224
- * Specifies if the column menu of the columns will be displayed.
225
- *
226
- * @default false
227
- */
228
- this.columnMenu = false;
229
- /**
230
- * If set to true, the user can reorder columns by dragging their header cells.
231
- *
232
- * @default false
233
- */
234
- this.columnsReorderable = false;
235
- /**
236
- * If set to true, the user can resize columns by dragging the edges (resize handles) of their header cells.
237
- *
238
- * @default false
239
- */
240
- this.columnsResizable = false;
241
- /**
242
- * Fires when an item is expanded.
243
- */
244
- this.rowExpand = new EventEmitter();
245
- /**
246
- * Fires when a Gantt task in the timeline pane is double-clicked. The data item, associated with the clicked task,
247
- * is available in the event data. Use the event handler to open a task editing dialog as necessary.
248
- */
249
- this.taskDblClick = new EventEmitter();
250
- /**
251
- * Fires when the user double clicks a cell.
252
- */
253
- this.cellDblClick = new EventEmitter();
254
- /**
255
- * Fires when the user leaves an edited cell.
256
- */
257
- this.cellClose = new EventEmitter();
258
- /**
259
- * Fires when the end user clicks the `Delete` button in the task editing dialog,
260
- * the task delete icon, or presses the `Delete` key on the keyboard when a task in the timeline is focused.
261
- * Use the event handler to open a confirmation dialog when necessary.
262
- */
263
- this.taskDelete = new EventEmitter();
264
- /**
265
- * Fires when an item is collapsed.
266
- */
267
- this.rowCollapse = new EventEmitter();
268
- /**
269
- * Fires when the user confirms deleting a task.
270
- */
271
- this.remove = new EventEmitter();
272
- /**
273
- * Fires when the user cancels editing a task.
274
- */
275
- this.cancel = new EventEmitter();
276
- /**
277
- * Fires when the user saves an edited task.
278
- */
279
- this.save = new EventEmitter();
280
- /**
281
- * Fires when the user adds a task.
282
- */
283
- this.taskAdd = new EventEmitter();
284
- /**
285
- * Fires when the user adds a dependency via dragging
286
- * [see example]({% slug editing_drag_create_dependencies_gantt %}#toc-basic-concepts).
287
- */
288
- this.dependencyAdd = new EventEmitter();
289
- /**
290
- * Fires when the sorting of the Gantt is changed.
291
- * You have to handle the event yourself and sort the data.
292
- */
293
- this.sortChange = new EventEmitter();
294
- /**
295
- * Fires when the Gantt filter is modified.
296
- * You have to handle the event yourself and filter the data.
297
- */
298
- this.filterChange = new EventEmitter();
299
- /**
300
- * Fires when the filter or sort state of the Gantt is changed.
301
- */
302
- this.dataStateChange = new EventEmitter();
303
- /**
304
- * Fires when the collapsed state of the treelist pane is changed.
305
- */
306
- this.treeListPaneCollapsedChange = new EventEmitter();
307
- /**
308
- * Fires when the collapsed state of the timeline pane is changed.
309
- */
310
- this.timelinePaneCollapsedChange = new EventEmitter();
311
- /**
312
- * Fires each time the user resizes the timeline pane.
313
- */
314
- this.timelinePaneSizeChange = new EventEmitter();
315
- /**
316
- * Fires each time the user selects a different view type. The event data contains the type of the newly selected view.
317
- */
318
- this.activeViewChange = new EventEmitter();
319
- /**
320
- * Fires when the user completes the resizing of the column.
321
- */
322
- this.columnResize = new EventEmitter();
323
- /**
324
- * Fires when the user completes the reordering of the column.
325
- */
326
- this.columnReorder = new EventEmitter();
327
- /**
328
- * Fires when the user changes the visibility of the columns from the column menu or column chooser.
329
- */
330
- this.columnVisibilityChange = new EventEmitter();
331
- /**
332
- * @hidden
333
- *
334
- * Fires when the user changes the locked state of the columns from the column menu or by reordering the columns.
335
- */
336
- this.columnLockedChange = new EventEmitter();
337
- /**
338
- * Fires when a cell is clicked.
339
- */
340
- this.cellClick = new EventEmitter();
341
- /**
342
- * Fires when a task is clicked.
343
- */
344
- this.taskClick = new EventEmitter();
345
- /**
346
- * @hidden
347
- *
348
- * Specifies whether the dependency drag clues will be rendered.
349
- * Set internally by the dependency-drag-create directive.
350
- *
351
- * @default false
352
- */
353
- this.renderDependencyDragClues = false;
354
- /**
355
- * @hidden
356
- *
357
- * Used by the GanttExpandableDirective.
358
- */
359
- this.expandStateChange = new EventEmitter();
360
- /**
361
- * @hidden
362
- */
363
- this.showEditingDialog = false;
364
- /**
365
- * @hidden
366
- */
367
- this.showConfirmationDialog = false;
368
- this._columns = new QueryList();
369
- this._data = [];
370
- this._dragScrollSettings = Object.assign({}, DEFAULT_DRAG_SCROLL_SETTINGS);
371
- this._timelinePaneOptions = Object.assign({}, DEFAULT_TIMELINE_PANE_SETTINGS);
372
- this._treeListPaneOptions = Object.assign({}, DEFAULT_TREELIST_PANE_SETTINGS);
373
- this._rowClass = rowClassCallback;
374
- this._taskClass = taskClassCallback;
375
- this._activeView = DEFAULT_VIEW;
376
- this._toolbarSettings = {
377
- position: 'top',
378
- addTaskTool: 'none',
379
- viewSelectorTool: 'top'
380
- };
381
- this._fetchChildren = fetchChildren;
382
- this._hasChildren = hasChildren;
383
- this.rtl = false;
384
- this.optionChangesSubscriptions = new Subscription();
385
- this.editServiceSubscription = new Subscription();
386
- validatePackage(packageMetadata);
387
- this.optionChangesSubscriptions.add(this.optionChangesService.viewChanges.subscribe(() => {
388
- this.loadTimelineData();
389
- }));
390
- this.optionChangesSubscriptions.add(this.optionChangesService.columnChanges.subscribe(() => {
391
- this.treeList.columns.notifyOnChanges();
392
- }));
393
- this.editService.getSelectedItem = this.getFirstSelectedItem.bind(this);
394
- this.editServiceSubscription.add(this.editService.showEditingDialog.subscribe(show => this.showEditingDialog = show));
395
- this.editServiceSubscription.add(this.editService.taskDelete.subscribe(task => {
396
- if (hasObservers(this.taskDelete)) {
397
- this.zone.run(() => this.notifyTaskDelete(task));
398
- }
399
- }));
400
- this.editServiceSubscription.add(this.editService.editEvent.subscribe(args => {
401
- this[args.editResultType].emit({
402
- taskFormGroup: args.taskFormGroup,
403
- item: getEditItem(args.dataItem, this.treeList.view.data, this.mapper),
404
- dependencies: args.dependencies,
405
- sender: this
406
- });
407
- this.showConfirmationDialog = this.showEditingDialog = false;
408
- this.editService.dataItem = this.editService.taskFormGroup = null;
409
- this.updateView();
410
- if (this.navigable) {
411
- this.focus();
412
- }
413
- }));
414
- this.editServiceSubscription.add(this.editService.addEvent.subscribe(args => {
415
- const selectedItem = this.getFirstSelectedItem();
416
- this.taskAdd.emit({
417
- actionType: args.actionType,
418
- selectedItem: selectedItem ? getEditItem(selectedItem, this.treeList.view.data, this.mapper) : null
419
- });
420
- this.updateView();
421
- }));
422
- this.localizationSubscription = this.localizationService.changes.subscribe(({ rtl }) => {
423
- this.rtl = rtl;
424
- this.direction = this.rtl ? 'rtl' : 'ltr';
425
- });
426
- }
427
- get toolbarTemplate() {
428
- if (this._customToolbarTemplate) {
429
- return this._customToolbarTemplate;
430
- }
431
- return this.toolbarTemplateChildren ? this.toolbarTemplateChildren.first : undefined;
432
- }
433
- set toolbarTemplate(customToolbarTemplate) {
434
- this._customToolbarTemplate = customToolbarTemplate;
435
- }
436
- get hostRoleDescriptionAttr() {
437
- return this.roleDescription;
438
- }
439
- get hostRoleAttr() {
440
- return this.role;
441
- }
442
- get dir() {
443
- return this.direction;
444
- }
445
- /**
446
- * A query list of all declared columns.
447
- */
448
- set columns(columns) {
449
- this._columns = columns;
450
- this.updateTreeListGroupClass(columns);
451
- }
452
- get columns() {
453
- return this._columns;
454
- }
455
- /**
456
- * Sets the fields which will be used to extract the task data from the provided `data` array items.
457
- * The `id` field is also used as a TreeList data item unique identifier (defaults to `'id'`).
458
- *
459
- * > If no object is provided, the Gantt task data items will have to conform to the [`GanttTask`]({% slug api_gantt_gantttask %}) interface.
460
- */
461
- set taskModelFields(fields) {
462
- this.mapper.taskFields = fields;
463
- }
464
- /**
465
- * Sets the fields which will be used to extract the dependency data from the provided `dependencies` array items.
466
- *
467
- * > If no object is provided, the Gantt dependency data items will have to conform to the [`GanttDependency`]({% slug api_gantt_ganttdependency %}) interface.
468
- */
469
- set dependencyModelFields(fields) {
470
- this.mapper.dependencyFields = fields;
471
- }
472
- /**
473
- * The active timeline view.
474
- * @default 'week'
475
- */
476
- set activeView(view) {
477
- this._activeView = view;
478
- }
479
- get activeView() {
480
- /**
481
- * If the default/provided activeView is not among the provided views,
482
- * fallback to setting the first provided view as active
483
- */
484
- const view = this.views.find(view => view.type === this._activeView) ?
485
- this._activeView :
486
- this.views.first.type;
487
- return view;
488
- }
489
- /**
490
- * Gets or sets the data of the Gantt.
491
- *
492
- * > The task data items should either conform to the [`GanttTask`]({% slug api_gantt_gantttask %}) interface, or a [`taskModelFields`]({% slug api_gantt_ganttcomponent %}#toc-taskmodelfields) object has to be provided.
493
- */
494
- set data(data) {
495
- this._data = normalizeGanttData(data);
496
- this.loadTimelineData();
497
- }
498
- get data() {
499
- return this._data;
500
- }
501
- /**
502
- * The toolbar configuration. Defines the position and content of the toolbar(s).
503
- * The available properties are `position`, `addTaskTool`, and `viewSelectorTool`.
504
- * All are optional and default to `top`.
505
- *
506
- * The possible values for each option are:
507
- * - `top`&mdash;Positions the toolbar above the Gantt panes. Renders the respective tool in the top toolbar.
508
- * - `bottom`&mdash;Positions the toolbar below the Gantt panes. Renders the respective tool in the bottom toolbar.
509
- * - `both`&mdash;Displays two toolbar instances. Positions the first one above,
510
- * and the second one - below the Gantt panes. Renders the respective tool in the both toolbars.
511
- * - `none`&mdash;No toolbar is rendered when used for setting `position`.
512
- * No add task or view selector tool is rendered when used for setting `addTaskTool` or `viewSelectorTool`.
513
- */
514
- set toolbarSettings(value) {
515
- this._toolbarSettings = {
516
- position: value.position || 'top',
517
- addTaskTool: value.addTaskTool || 'none',
518
- viewSelectorTool: value.viewSelectorTool || 'top'
519
- };
520
- }
521
- get toolbarSettings() {
522
- return this._toolbarSettings;
523
- }
524
- /**
525
- * Gets or sets the callback function that retrieves the child items for a particular item.
526
- */
527
- set fetchChildren(fn) {
528
- this._fetchChildren = fn;
529
- this.editService.fetchChildren = fn;
530
- }
531
- get fetchChildren() {
532
- return this._fetchChildren;
533
- }
534
- /**
535
- * Gets or sets the callback function that indicates if a particular item has child items.
536
- */
537
- set hasChildren(fn) {
538
- this._hasChildren = fn;
539
- this.editService.hasChildren = fn;
540
- }
541
- get hasChildren() {
542
- return this._hasChildren;
543
- }
544
- /**
545
- * The options of the timeline splitter pane. By default the pane is `collapsible`,
546
- * `resizable`, not `collapsed`, and its `size` is `'50%'`.
547
- */
548
- set timelinePaneOptions(value) {
549
- if (this._timelinePaneOptions.collapsed && !value.collapsed) {
550
- this.dependencyDomService.notifyChanges();
551
- }
552
- this._timelinePaneOptions = Object.assign({}, DEFAULT_TIMELINE_PANE_SETTINGS, value);
553
- }
554
- get timelinePaneOptions() {
555
- return Object.assign({}, this._timelinePaneOptions, { size: this.treeListPaneOptions.collapsed ? '100%' : this._timelinePaneOptions.size });
556
- }
557
- /**
558
- * The options of the treelist splitter pane.
559
- * By default the pane is `collapsible` and not `collapsed`.
560
- */
561
- set treeListPaneOptions(value) {
562
- this._treeListPaneOptions = Object.assign({}, DEFAULT_TREELIST_PANE_SETTINGS, value);
563
- }
564
- get treeListPaneOptions() {
565
- return this._treeListPaneOptions;
566
- }
567
- /**
568
- * Defines a function that is executed for every task in the component.
569
- * The classes returned from the function are applied to the task wrapper element.
570
- */
571
- set taskClass(fn) {
572
- if (isDevMode() && typeof fn !== 'function') {
573
- throw new Error(`taskClass must be a function, but received ${JSON.stringify(fn)}.`);
574
- }
575
- this._taskClass = fn;
576
- }
577
- get taskClass() {
578
- return this._taskClass;
579
- }
580
- /**
581
- * Defines a function that is executed for every data row in the component.
582
- */
583
- set rowClass(fn) {
584
- if (isDevMode() && typeof fn !== 'function') {
585
- throw new Error(`rowClass must be a function, but received ${JSON.stringify(fn)}.`);
586
- }
587
- this._rowClass = fn;
588
- }
589
- get rowClass() {
590
- return this._rowClass;
591
- }
592
- /**
593
- * The name of the field which contains the unique identifier of the task data item.
594
- * Defaults to 'id'.
595
- */
596
- get taskIdField() {
597
- return this.mapper.taskFields.id;
598
- }
599
- /**
600
- * Specifies the settings for auto-scrolling during dragging
601
- * when the pointer moves outside of the container bounderies
602
- * [see example]({% slug editing_drag_create_dependencies_gantt %}#toc-auto-scrolling).
603
- */
604
- set dragScrollSettings(settings) {
605
- this._dragScrollSettings = Object.assign({}, DEFAULT_DRAG_SCROLL_SETTINGS, settings);
606
- }
607
- get dragScrollSettings() {
608
- return this._dragScrollSettings;
609
- }
610
- /**
611
- * @hidden
612
- */
613
- get renderedTreeListItems() {
614
- if (!isPresent(this.treeList)) {
615
- return [];
616
- }
617
- return this.treeList.view.data.map(item => item.data);
618
- }
619
- /**
620
- * @hidden
621
- */
622
- get viewItems() {
623
- if (!isPresent(this.treeList)) {
624
- return [];
625
- }
626
- return this.treeList.view.data;
627
- }
628
- /**
629
- * @hidden
630
- */
631
- get filterMenu() {
632
- return this.filterable ? 'menu' : false;
633
- }
634
- /**
635
- * @hidden
636
- */
637
- get viewService() {
638
- if (!this.views || !this.views.length) {
639
- return null;
640
- }
641
- // TODO: review if this is a performance concern?
642
- return this.timelineViewService.service(this.activeView);
643
- }
644
- /**
645
- * @hidden
646
- *
647
- * Retrieves the `isSelected` callback if `selectable` is set to `true`
648
- * Otherwise returns the default callback, which always returns `false`.
649
- */
650
- get isTaskSelected() {
651
- return this.selectable ? this.isSelected : isSelected;
652
- }
653
- /**
654
- * @hidden
655
- *
656
- * Used by the GanttExpandableDirective.
657
- */
658
- get idGetter() {
659
- if (isPresent(this.treeList)) {
660
- return this.treeList.idGetter;
661
- }
662
- }
663
- /**
664
- * @hidden
665
- *
666
- * Used by the views selector.
667
- */
668
- get viewTypes() {
669
- return this.views.map(view => view.type);
670
- }
671
- /**
672
- * @hidden
673
- */
674
- get isInEditMode() {
675
- return this.showEditingDialog || this.showConfirmationDialog || this.treeList.isEditing();
676
- }
677
- ngOnChanges(changes) {
678
- if (anyChanged(['data', 'activeView', 'workWeekStart', 'workWeekEnd', 'workDayStart', 'workDayEnd'], changes)) {
679
- this.loadTimelineData();
680
- }
681
- }
682
- ngAfterViewInit() {
683
- this.updateTreeListMargin();
684
- if (this.navigable) {
685
- this.navigationService.initialize({
686
- gantt: this,
687
- host: this.hostElement.nativeElement,
688
- treeListElement: this.treeList.wrapper.nativeElement,
689
- timelineElement: this.timeline.timelineContent.nativeElement
690
- });
691
- }
692
- const leftContainer = this.treeList.wrapper.nativeElement.querySelector('kendo-treelist-list > div');
693
- this.scrollSyncService.registerElement(leftContainer, 'treelist');
694
- }
695
- ngAfterContentInit() {
696
- if (isDevMode() && this.views.length === 0) {
697
- throw new Error('No views declared for <kendo-gantt>. Please, declare at least one view.');
698
- }
699
- this.loadTimelineData();
700
- this.updateTreeListGroupClass();
701
- }
702
- ngOnDestroy() {
703
- this.optionChangesSubscriptions.unsubscribe();
704
- this.editServiceSubscription.unsubscribe();
705
- if (this.localizationSubscription) {
706
- this.localizationSubscription.unsubscribe();
707
- }
708
- }
709
- /**
710
- * Focuses the last active cell or task in the Gantt.
711
- * If no item has previously been focused, the first cell of the TreeList part will receive focus,
712
- * ([see example]({% slug keyboard_navigation_gantt %}#toc-controlling-the-focus)).
713
- */
714
- focus() {
715
- if (this.navigable) {
716
- this.navigationService.focusLastActiveItem();
717
- }
718
- }
719
- /**
720
- * Focuses the targeted cell in the TreeList part of the component,
721
- * ([see example]({% slug keyboard_navigation_gantt %}#toc-controlling-the-focus)).
722
- */
723
- focusCell(rowIndex, colIndex) {
724
- if (this.navigable) {
725
- this.navigationService.focusCell(rowIndex, colIndex);
726
- }
727
- }
728
- /**
729
- * Focuses the targeted task in the Timeline part of the component,
730
- * ([see example]({% slug keyboard_navigation_gantt %}#toc-controlling-the-focus)).
731
- */
732
- focusTask(taskIndex) {
733
- if (this.navigable) {
734
- this.navigationService.focusTask(taskIndex);
735
- }
736
- }
737
- /**
738
- * Applies the minimum possible width for the specified column,
739
- * so that the whole text fits without wrapping. This method expects the Gantt
740
- * to be resizable (set `resizable` to `true`).
741
- * Makes sense to execute this method only after the Gantt is already populated with data.
742
- */
743
- autoFitColumn(column) {
744
- if (isPresent(this.treeList)) {
745
- this.treeList.autoFitColumn(column);
746
- }
747
- }
748
- /**
749
- * Adjusts the width of the specified columns to fit the entire content, including headers, without wrapping.
750
- * If no columns are specified, `autoFitColumns` is applied to all columns.
751
- *
752
- * This method requires the Gantt to be resizable (set `resizable` to `true`).
753
- */
754
- autoFitColumns(columns = this.columns) {
755
- if (isPresent(this.treeList)) {
756
- this.treeList.autoFitColumns(columns);
757
- }
758
- }
759
- /**
760
- * Clears the already loaded children for the dataItem so that the Gantt will fetch them again the next time it is rendered.
761
- */
762
- reload(dataItem, reloadChildren) {
763
- if (isPresent(this.treeList)) {
764
- this.treeList.reload(dataItem, reloadChildren);
765
- }
766
- }
767
- /**
768
- * Changes the position of the specified column.
769
- * The reordering of columns operates only on the level
770
- * which is inferred by the source column.
771
- * For the `reorderColumn` method to work properly,
772
- * the `source` column has to be visible.
773
- *
774
- * @param {ColumnBase} source - The column whose position will be changed.
775
- * @param {number} destIndex - The new position of the column.
776
- * @param {ColumnReorderConfig} options - Additional options.
777
- */
778
- reorderColumn(source, destIndex, options = { before: false }) {
779
- if (isPresent(this.treeList)) {
780
- this.treeList.reorderColumn(source, destIndex, options);
781
- }
782
- }
783
- /**
784
- * Forces the TreeList to evaluate if some data items have changed and re-renders the rows information, if needed.
785
- * Recalculates and re-renders the Timeline period, if needed.
786
- * Redraws changed dependencies, if needed.
787
- * Executes all row-related callbacks anew.
788
- */
789
- updateView() {
790
- if (isPresent(this.treeList)) {
791
- this.treeList.updateView();
792
- }
793
- this.loadTimelineData();
794
- this.dependencyDomService.notifyChanges();
795
- }
796
- /**
797
- * Opens the task editing dialog.
798
- */
799
- editTask(dataItem, formGroup) {
800
- if (!this.showEditingDialog) {
801
- const taskId = this.mapper.extractFromTask(dataItem, 'id');
802
- const dependencies = this.dependencies.filter(item => this.mapper.extractFromDependency(item, 'toId') === taskId
803
- || this.mapper.extractFromDependency(item, 'fromId') === taskId);
804
- this.editService.createEditDialog(dataItem, formGroup, dependencies);
805
- }
806
- }
807
- /**
808
- * Closes the task editing dialog.
809
- */
810
- closeTaskDialog() {
811
- if (this.showEditingDialog) {
812
- this.editService.closeEditDialog();
813
- }
814
- }
815
- /**
816
- * Opens the delete task confirmation dialog.
817
- */
818
- openConfirmationDialog() {
819
- this.showConfirmationDialog = true;
820
- }
821
- /**
822
- * @hidden
823
- */
824
- handleConfirmationDialogClose() {
825
- this.showConfirmationDialog = false;
826
- if (this.navigable) {
827
- this.focus();
828
- }
829
- }
830
- /**
831
- * Opens a cell for editing.
832
- */
833
- editCell(dataItem, column, formGroup) {
834
- this.treeList.editCell(dataItem, column, formGroup);
835
- }
836
- /**
837
- * Closes an edited cell.
838
- */
839
- closeCell() {
840
- this.treeList.closeCell();
841
- }
842
- /**
843
- * @hidden
844
- */
845
- handleCellClose(e) {
846
- this.cellClose.emit(Object.assign(e, { item: this.editItem, sender: this }));
847
- this.dependencyDomService.notifyChanges();
848
- }
849
- /**
850
- * @hidden
851
- */
852
- onTreeListCollapsedChange(collapsed) {
853
- this.treeListPaneCollapsedChange.emit(collapsed);
854
- if (!collapsed) {
855
- this.scrollSyncService.syncScrollTop('timeline', 'treelist');
856
- }
857
- }
858
- /**
859
- * @hidden
860
- */
861
- onTimelineCollapsedChange(collapsed) {
862
- this.timelinePaneCollapsedChange.emit(collapsed);
863
- if (!collapsed) {
864
- this.scrollSyncService.syncScrollTop('treelist', 'timeline');
865
- this.dependencyDomService.notifyChanges();
866
- }
867
- }
868
- /**
869
- * @hidden
870
- */
871
- loadTimelineData() {
872
- if (!isPresent(this.viewService)) {
873
- return;
874
- }
875
- const activeViewOptions = this.getActiveViewOptions();
876
- this.viewService.options = Object.assign({ workWeekStart: this.workWeekStart, workWeekEnd: this.workWeekEnd, workDayStart: this.workDayStart, workDayEnd: this.workDayEnd }, activeViewOptions);
877
- this.tableWidth = this.viewService.getTableWidth(this.data);
878
- const [groupedSlots, slots] = this.viewService.getSlots(this.data);
879
- this.timelineSlots = slots;
880
- this.timelineGroupSlots = groupedSlots;
881
- }
882
- /**
883
- * @hidden
884
- */
885
- showToolbar(position) {
886
- return this.toolbarSettings.position !== 'none' && ([position, 'both'].indexOf(this.toolbarSettings.position) > -1);
887
- }
888
- /**
889
- * @hidden
890
- */
891
- handleColumnVisibilityChange(event) {
892
- this.columnVisibilityChange.emit(event);
893
- this.updateTreeListGroupClass();
894
- }
895
- /**
896
- * @hidden
897
- */
898
- onTimelinePaneSizeChange(e) {
899
- this._timelinePaneOptions.size = e;
900
- this.timelinePaneSizeChange.emit(e);
901
- }
902
- /**
903
- * @hidden
904
- */
905
- handleTimelineRightClick(event) {
906
- const target = event.target;
907
- const gantt = this.hostElement.nativeElement;
908
- if (!isTask(target, gantt) || isClearButton(target, gantt)) {
909
- return;
910
- }
911
- if (hasObservers(this.taskClick)) {
912
- const taskIndex = getClosestTaskIndex(target, gantt);
913
- const task = this.renderedTreeListItems[taskIndex];
914
- this.zone.run(() => this.notifyTaskClick(event, task, taskIndex));
915
- }
916
- }
917
- /**
918
- * @hidden
919
- */
920
- handleTimelineClick(event) {
921
- const target = event.target;
922
- const gantt = this.hostElement.nativeElement;
923
- if (!isTask(target, gantt) || isClearButton(target, gantt)) {
924
- return;
925
- }
926
- const taskIndex = getClosestTaskIndex(target, gantt);
927
- const task = this.renderedTreeListItems[taskIndex];
928
- const selectionAction = this.getSelectionAction(event, task);
929
- if ((hasObservers(this.selectionChange) && !this.isSameSelection(selectionAction, task)) ||
930
- hasObservers(this.taskClick)) {
931
- this.zone.run(() => {
932
- this.notifySelectionChange(task, selectionAction);
933
- this.notifyTaskClick(event, task, taskIndex);
934
- });
935
- }
936
- }
937
- /**
938
- * @hidden
939
- */
940
- handleTreeListDoubleClick(event) {
941
- if (!isPresent(this.lastTreeListCellClick) || event.target !== this.lastTreeListCellClick.originalEvent.target) {
942
- return;
943
- }
944
- this.editItem = getEditItem(this.lastTreeListCellClick.dataItem, this.treeList.view.data, this.mapper);
945
- if (hasObservers(this.cellDblClick)) {
946
- this.zone.run(() => {
947
- this.cellDblClick.emit({
948
- column: this.lastTreeListCellClick.column,
949
- columnIndex: this.lastTreeListCellClick.columnIndex,
950
- dataItem: this.lastTreeListCellClick.dataItem,
951
- isEdited: this.lastTreeListCellClick.isEdited,
952
- originalEvent: this.lastTreeListCellClick.originalEvent,
953
- rowIndex: this.lastTreeListCellClick.rowIndex,
954
- type: 'dblclick',
955
- sender: this
956
- });
957
- });
958
- }
959
- }
960
- /**
961
- * @hidden
962
- */
963
- handleTreeListSelectionChange(event) {
964
- // prevent selection change from right-click
965
- if (isPresent(this.lastTreeListCellClick) && this.lastTreeListCellClick.type === 'contextmenu') {
966
- return;
967
- }
968
- const task = event.items.map(item => item.dataItem)[0]; // single selection only currently available
969
- const action = event.action;
970
- this.notifySelectionChange(task, action);
971
- }
972
- /**
973
- * @hidden
974
- */
975
- handleTreeListCellClick(event) {
976
- this.lastTreeListCellClick = event;
977
- this.cellClick.emit({
978
- column: event.column,
979
- columnIndex: event.columnIndex,
980
- dataItem: event.dataItem,
981
- isEdited: event.isEdited,
982
- originalEvent: event.originalEvent,
983
- rowIndex: event.rowIndex,
984
- type: event.type,
985
- sender: this
986
- });
987
- }
988
- /**
989
- * @hidden
990
- */
991
- handleDeleteConfirmation() {
992
- this.editService.triggerEditEvent('remove');
993
- }
994
- /**
995
- * @hidden
996
- */
997
- handleTimelineMouseDown(event) {
998
- const target = event.target;
999
- const gantt = this.hostElement.nativeElement;
1000
- if (!isTask(target, gantt) || isClearButton(target, gantt)) {
1001
- return;
1002
- }
1003
- event.preventDefault();
1004
- }
1005
- /**
1006
- * @hidden
1007
- */
1008
- handleTimelineDblClick(event) {
1009
- const target = event.target;
1010
- const gantt = this.hostElement.nativeElement;
1011
- if (!isTask(target, gantt) || isClearButton(target, gantt)) {
1012
- return;
1013
- }
1014
- if (hasObservers(this.taskDblClick)) {
1015
- const taskIndex = getClosestTaskIndex(target, gantt);
1016
- const task = this.renderedTreeListItems[taskIndex];
1017
- this.zone.run(() => this.taskDblClick.emit({
1018
- dataItem: task,
1019
- originalEvent: event,
1020
- sender: this,
1021
- index: taskIndex,
1022
- type: 'dblclick'
1023
- }));
1024
- }
1025
- }
1026
- /**
1027
- * @hidden
1028
- */
1029
- getText(token) {
1030
- return this.localizationService.get(token);
1031
- }
1032
- /**
1033
- * @hidden
1034
- */
1035
- changeActiveView(view) {
1036
- if (view !== this.activeView) {
1037
- this.activeView = view;
1038
- this.loadTimelineData();
1039
- this.scrollSyncService.resetTimelineScrollLeft();
1040
- this.activeViewChange.emit(view);
1041
- }
1042
- }
1043
- /**
1044
- * @hidden
1045
- */
1046
- notifyTaskClick(event, dataItem, itemIndex) {
1047
- // simulates the TreeList `cellClick` event triggered by enter press (type: 'click')
1048
- const type = event instanceof KeyboardEvent ? 'click' : event.type;
1049
- this.taskClick.emit({
1050
- originalEvent: event,
1051
- dataItem: dataItem,
1052
- index: itemIndex,
1053
- type: type,
1054
- sender: this
1055
- });
1056
- }
1057
- /**
1058
- * @hidden
1059
- */
1060
- notifySelectionChange(dataItem, action) {
1061
- if (this.isSameSelection(action, dataItem)) {
1062
- return;
1063
- }
1064
- this.selectionChange.emit({
1065
- action: action,
1066
- items: [dataItem],
1067
- sender: this
1068
- });
1069
- this.treeList.updateView();
1070
- }
1071
- /**
1072
- * @hidden
1073
- */
1074
- notifyTaskDelete(task) {
1075
- this.editService.dataItem = task;
1076
- this.taskDelete.emit({
1077
- item: getEditItem(task, this.treeList.view.data, this.mapper),
1078
- sender: this
1079
- });
1080
- }
1081
- /**
1082
- * @hidden
1083
- */
1084
- isSameSelection(action, dataItem) {
1085
- return action === 'select' && this.isSelected(dataItem);
1086
- }
1087
- /**
1088
- * @hidden
1089
- */
1090
- getSelectionAction({ ctrlKey, metaKey }, dataItem) {
1091
- const shouldToggleSelection = ctrlKey || metaKey;
1092
- return (shouldToggleSelection && this.isSelected(dataItem)) ? 'remove' : 'select';
1093
- }
1094
- updateTreeListGroupClass(columns = this.columns) {
1095
- if (!isPresent(this.treeList)) {
1096
- return;
1097
- }
1098
- const hasColumns = isPresent(columns) && columns.length > 0;
1099
- const hasVisibleGroupedColumns = hasColumns && columns.some(column => isColumnGroup(column) && column.childrenArray.some(childColumn => childColumn.isVisible));
1100
- if (hasVisibleGroupedColumns) {
1101
- this.renderer.addClass(this.treeList.wrapper.nativeElement, TREELIST_GROUP_COLUMNS_CLASS);
1102
- }
1103
- else {
1104
- this.renderer.removeClass(this.treeList.wrapper.nativeElement, TREELIST_GROUP_COLUMNS_CLASS);
1105
- }
1106
- }
1107
- /**
1108
- * Used to hide the vertical scrollbar
1109
- */
1110
- updateTreeListMargin() {
1111
- const treeListContentEl = this.treeList.wrapper.nativeElement.querySelector('.k-treelist .k-grid-content');
1112
- this.renderer.setStyle(treeListContentEl, 'margin-right', `${-Math.abs(scrollbarWidth() - 1)}px`);
1113
- }
1114
- getActiveViewOptions() {
1115
- if (!this.views) {
1116
- return;
1117
- }
1118
- return this.views.find(view => view.type === this.activeView);
1119
- }
1120
- getFirstSelectedItem() {
1121
- const isSelectedCallback = this.isSelected || isSelected;
1122
- const loadedItems = this.renderedTreeListItems || [];
1123
- return loadedItems.find(isSelectedCallback);
1124
- }
1125
- defaultValidateNewDependencyCallback(dependency) {
1126
- const fromTaskId = this.mapper.extractFromDependency(dependency, 'fromId');
1127
- const toTaskId = this.mapper.extractFromDependency(dependency, 'toId');
1128
- const fromTask = this.treeList.view.data.find(task => this.mapper.extractFromTask(task.data, 'id') === fromTaskId);
1129
- const toTask = this.treeList.view.data.find(task => this.mapper.extractFromTask(task.data, 'id') === toTaskId);
1130
- // mark as invalid if the attempted dependency is lacking valid from- and to-tasks
1131
- // or when the from- and to-tasks are actually the same task
1132
- if (!isPresent(fromTask) || !isPresent(fromTask.data) ||
1133
- !isPresent(toTask) || !isPresent(toTask.data) ||
1134
- fromTask.data === toTask.data) {
1135
- return false;
1136
- }
1137
- const tasksDependentOnOneAnother = this.dependencies.some(current => {
1138
- const currentFromId = this.mapper.extractFromDependency(current, 'fromId');
1139
- const currentToId = this.mapper.extractFromDependency(current, 'toId');
1140
- return (fromTaskId === currentFromId && toTaskId === currentToId) ||
1141
- (toTaskId === currentFromId && fromTaskId === currentToId);
1142
- });
1143
- // mark as invalid if the attempted dependency is trying to connect already dependent tasks
1144
- // mark as invalid if the two tasks are in parent-child relationship
1145
- if (tasksDependentOnOneAnother || areParentChild(fromTask, toTask)) {
1146
- return false;
1147
- }
1148
- const fromTaskStart = this.mapper.extractFromTask(fromTask.data, 'start');
1149
- const fromTaskEnd = this.mapper.extractFromTask(fromTask.data, 'end');
1150
- const toTaskStart = this.mapper.extractFromTask(toTask.data, 'start');
1151
- const toTaskEnd = this.mapper.extractFromTask(toTask.data, 'end');
1152
- // if the two tasks are available to be connected via a dependency,
1153
- // check if their start and end time allow for the attempted dependency type
1154
- switch (this.mapper.extractFromDependency(dependency, 'type')) {
1155
- // finish to finish (FF) — the from-task ends before the to-task can end
1156
- case DependencyType.FF:
1157
- return fromTaskEnd <= toTaskEnd;
1158
- // finish to start (FS) — the from-task ends before the to-task can begin
1159
- case DependencyType.FS:
1160
- return fromTaskEnd <= toTaskStart;
1161
- // start to finish (SF) — the from-task begins before the to-task can end
1162
- case DependencyType.SF:
1163
- return fromTaskStart <= toTaskEnd;
1164
- // start to start (SS) — the from-task begins before the to-task can begin
1165
- case DependencyType.SS:
1166
- return fromTaskStart <= toTaskStart;
1167
- default: return false;
1168
- }
1169
- }
1170
- };
1171
- tslib_1.__decorate([
1172
- ViewChild(TreeListComponent, { static: true }),
1173
- tslib_1.__metadata("design:type", TreeListComponent)
1174
- ], GanttComponent.prototype, "treeList", void 0);
1175
- tslib_1.__decorate([
1176
- ViewChild(GanttTimelineComponent, { static: false }),
1177
- tslib_1.__metadata("design:type", GanttTimelineComponent)
1178
- ], GanttComponent.prototype, "timeline", void 0);
1179
- tslib_1.__decorate([
1180
- ContentChild(GanttTaskContentTemplateDirective, { static: false }),
1181
- tslib_1.__metadata("design:type", GanttTaskContentTemplateDirective)
1182
- ], GanttComponent.prototype, "taskContentTemplate", void 0);
1183
- tslib_1.__decorate([
1184
- ContentChild(GanttTaskTemplateDirective, { static: false }),
1185
- tslib_1.__metadata("design:type", GanttTaskTemplateDirective)
1186
- ], GanttComponent.prototype, "taskTemplate", void 0);
1187
- tslib_1.__decorate([
1188
- ContentChild(GanttSummaryTaskTemplateDirective, { static: false }),
1189
- tslib_1.__metadata("design:type", GanttSummaryTaskTemplateDirective)
1190
- ], GanttComponent.prototype, "summaryTaskTemplate", void 0);
1191
- tslib_1.__decorate([
1192
- ContentChildren(ToolbarTemplateDirective),
1193
- tslib_1.__metadata("design:type", QueryList)
1194
- ], GanttComponent.prototype, "toolbarTemplateChildren", void 0);
1195
- tslib_1.__decorate([
1196
- Input('aria-roledescription'),
1197
- tslib_1.__metadata("design:type", String)
1198
- ], GanttComponent.prototype, "roleDescription", void 0);
1199
- tslib_1.__decorate([
1200
- HostBinding('attr.aria-roledescription'),
1201
- tslib_1.__metadata("design:type", String),
1202
- tslib_1.__metadata("design:paramtypes", [])
1203
- ], GanttComponent.prototype, "hostRoleDescriptionAttr", null);
1204
- tslib_1.__decorate([
1205
- Input('role'),
1206
- tslib_1.__metadata("design:type", String)
1207
- ], GanttComponent.prototype, "role", void 0);
1208
- tslib_1.__decorate([
1209
- HostBinding('attr.role'),
1210
- tslib_1.__metadata("design:type", String),
1211
- tslib_1.__metadata("design:paramtypes", [])
1212
- ], GanttComponent.prototype, "hostRoleAttr", null);
1213
- tslib_1.__decorate([
1214
- HostBinding('class.k-gantt'),
1215
- tslib_1.__metadata("design:type", Boolean)
1216
- ], GanttComponent.prototype, "hostClasses", void 0);
1217
- tslib_1.__decorate([
1218
- HostBinding('attr.dir'),
1219
- tslib_1.__metadata("design:type", String),
1220
- tslib_1.__metadata("design:paramtypes", [])
1221
- ], GanttComponent.prototype, "dir", null);
1222
- tslib_1.__decorate([
1223
- ContentChildren(GanttColumnBase),
1224
- tslib_1.__metadata("design:type", QueryList),
1225
- tslib_1.__metadata("design:paramtypes", [QueryList])
1226
- ], GanttComponent.prototype, "columns", null);
1227
- tslib_1.__decorate([
1228
- Input(),
1229
- tslib_1.__metadata("design:type", Object),
1230
- tslib_1.__metadata("design:paramtypes", [Object])
1231
- ], GanttComponent.prototype, "taskModelFields", null);
1232
- tslib_1.__decorate([
1233
- Input(),
1234
- tslib_1.__metadata("design:type", Object),
1235
- tslib_1.__metadata("design:paramtypes", [Object])
1236
- ], GanttComponent.prototype, "dependencyModelFields", null);
1237
- tslib_1.__decorate([
1238
- ContentChildren(ViewBase),
1239
- tslib_1.__metadata("design:type", QueryList)
1240
- ], GanttComponent.prototype, "views", void 0);
1241
- tslib_1.__decorate([
1242
- Input(),
1243
- tslib_1.__metadata("design:type", String),
1244
- tslib_1.__metadata("design:paramtypes", [String])
1245
- ], GanttComponent.prototype, "activeView", null);
1246
- tslib_1.__decorate([
1247
- Input(),
1248
- tslib_1.__metadata("design:type", Array),
1249
- tslib_1.__metadata("design:paramtypes", [Array])
1250
- ], GanttComponent.prototype, "data", null);
1251
- tslib_1.__decorate([
1252
- Input(),
1253
- tslib_1.__metadata("design:type", Function)
1254
- ], GanttComponent.prototype, "isSelected", void 0);
1255
- tslib_1.__decorate([
1256
- Input(),
1257
- tslib_1.__metadata("design:type", Function)
1258
- ], GanttComponent.prototype, "validateNewDependency", void 0);
1259
- tslib_1.__decorate([
1260
- Output(),
1261
- tslib_1.__metadata("design:type", EventEmitter)
1262
- ], GanttComponent.prototype, "selectionChange", void 0);
1263
- tslib_1.__decorate([
1264
- Input(),
1265
- tslib_1.__metadata("design:type", Boolean)
1266
- ], GanttComponent.prototype, "selectable", void 0);
1267
- tslib_1.__decorate([
1268
- Input(),
1269
- tslib_1.__metadata("design:type", Object),
1270
- tslib_1.__metadata("design:paramtypes", [Object])
1271
- ], GanttComponent.prototype, "toolbarSettings", null);
1272
- tslib_1.__decorate([
1273
- Input(),
1274
- tslib_1.__metadata("design:type", Function),
1275
- tslib_1.__metadata("design:paramtypes", [Function])
1276
- ], GanttComponent.prototype, "fetchChildren", null);
1277
- tslib_1.__decorate([
1278
- Input(),
1279
- tslib_1.__metadata("design:type", Function),
1280
- tslib_1.__metadata("design:paramtypes", [Function])
1281
- ], GanttComponent.prototype, "hasChildren", null);
1282
- tslib_1.__decorate([
1283
- Input(),
1284
- tslib_1.__metadata("design:type", Array)
1285
- ], GanttComponent.prototype, "dependencies", void 0);
1286
- tslib_1.__decorate([
1287
- Input(),
1288
- tslib_1.__metadata("design:type", Object)
1289
- ], GanttComponent.prototype, "sortable", void 0);
1290
- tslib_1.__decorate([
1291
- Input(),
1292
- tslib_1.__metadata("design:type", Array)
1293
- ], GanttComponent.prototype, "sort", void 0);
1294
- tslib_1.__decorate([
1295
- Input(),
1296
- tslib_1.__metadata("design:type", Boolean)
1297
- ], GanttComponent.prototype, "filterable", void 0);
1298
- tslib_1.__decorate([
1299
- Input(),
1300
- tslib_1.__metadata("design:type", Object)
1301
- ], GanttComponent.prototype, "filter", void 0);
1302
- tslib_1.__decorate([
1303
- Input(),
1304
- tslib_1.__metadata("design:type", String)
1305
- ], GanttComponent.prototype, "workDayStart", void 0);
1306
- tslib_1.__decorate([
1307
- Input(),
1308
- tslib_1.__metadata("design:type", String)
1309
- ], GanttComponent.prototype, "workDayEnd", void 0);
1310
- tslib_1.__decorate([
1311
- Input(),
1312
- tslib_1.__metadata("design:type", Number)
1313
- ], GanttComponent.prototype, "workWeekStart", void 0);
1314
- tslib_1.__decorate([
1315
- Input(),
1316
- tslib_1.__metadata("design:type", Number)
1317
- ], GanttComponent.prototype, "workWeekEnd", void 0);
1318
- tslib_1.__decorate([
1319
- Input(),
1320
- tslib_1.__metadata("design:type", Boolean)
1321
- ], GanttComponent.prototype, "navigable", void 0);
1322
- tslib_1.__decorate([
1323
- Input(),
1324
- tslib_1.__metadata("design:type", Object),
1325
- tslib_1.__metadata("design:paramtypes", [Object])
1326
- ], GanttComponent.prototype, "timelinePaneOptions", null);
1327
- tslib_1.__decorate([
1328
- Input(),
1329
- tslib_1.__metadata("design:type", Object),
1330
- tslib_1.__metadata("design:paramtypes", [Object])
1331
- ], GanttComponent.prototype, "treeListPaneOptions", null);
1332
- tslib_1.__decorate([
1333
- Input(),
1334
- tslib_1.__metadata("design:type", Function),
1335
- tslib_1.__metadata("design:paramtypes", [Function])
1336
- ], GanttComponent.prototype, "taskClass", null);
1337
- tslib_1.__decorate([
1338
- Input(),
1339
- tslib_1.__metadata("design:type", Function),
1340
- tslib_1.__metadata("design:paramtypes", [Function])
1341
- ], GanttComponent.prototype, "rowClass", null);
1342
- tslib_1.__decorate([
1343
- Input(),
1344
- tslib_1.__metadata("design:type", Function)
1345
- ], GanttComponent.prototype, "isExpanded", void 0);
1346
- tslib_1.__decorate([
1347
- Input(),
1348
- tslib_1.__metadata("design:type", Boolean)
1349
- ], GanttComponent.prototype, "columnsAutoSize", void 0);
1350
- tslib_1.__decorate([
1351
- Input(),
1352
- tslib_1.__metadata("design:type", Object)
1353
- ], GanttComponent.prototype, "columnMenu", void 0);
1354
- tslib_1.__decorate([
1355
- Input(),
1356
- tslib_1.__metadata("design:type", Boolean)
1357
- ], GanttComponent.prototype, "columnsReorderable", void 0);
1358
- tslib_1.__decorate([
1359
- Input(),
1360
- tslib_1.__metadata("design:type", Boolean)
1361
- ], GanttComponent.prototype, "columnsResizable", void 0);
1362
- tslib_1.__decorate([
1363
- Input(),
1364
- tslib_1.__metadata("design:type", Object),
1365
- tslib_1.__metadata("design:paramtypes", [Object])
1366
- ], GanttComponent.prototype, "dragScrollSettings", null);
1367
- tslib_1.__decorate([
1368
- Output(),
1369
- tslib_1.__metadata("design:type", EventEmitter)
1370
- ], GanttComponent.prototype, "rowExpand", void 0);
1371
- tslib_1.__decorate([
1372
- Output(),
1373
- tslib_1.__metadata("design:type", EventEmitter)
1374
- ], GanttComponent.prototype, "taskDblClick", void 0);
1375
- tslib_1.__decorate([
1376
- Output(),
1377
- tslib_1.__metadata("design:type", EventEmitter)
1378
- ], GanttComponent.prototype, "cellDblClick", void 0);
1379
- tslib_1.__decorate([
1380
- Output(),
1381
- tslib_1.__metadata("design:type", EventEmitter)
1382
- ], GanttComponent.prototype, "cellClose", void 0);
1383
- tslib_1.__decorate([
1384
- Output(),
1385
- tslib_1.__metadata("design:type", EventEmitter)
1386
- ], GanttComponent.prototype, "taskDelete", void 0);
1387
- tslib_1.__decorate([
1388
- Output(),
1389
- tslib_1.__metadata("design:type", EventEmitter)
1390
- ], GanttComponent.prototype, "rowCollapse", void 0);
1391
- tslib_1.__decorate([
1392
- Output(),
1393
- tslib_1.__metadata("design:type", EventEmitter)
1394
- ], GanttComponent.prototype, "remove", void 0);
1395
- tslib_1.__decorate([
1396
- Output(),
1397
- tslib_1.__metadata("design:type", EventEmitter)
1398
- ], GanttComponent.prototype, "cancel", void 0);
1399
- tslib_1.__decorate([
1400
- Output(),
1401
- tslib_1.__metadata("design:type", EventEmitter)
1402
- ], GanttComponent.prototype, "save", void 0);
1403
- tslib_1.__decorate([
1404
- Output(),
1405
- tslib_1.__metadata("design:type", EventEmitter)
1406
- ], GanttComponent.prototype, "taskAdd", void 0);
1407
- tslib_1.__decorate([
1408
- Output(),
1409
- tslib_1.__metadata("design:type", EventEmitter)
1410
- ], GanttComponent.prototype, "dependencyAdd", void 0);
1411
- tslib_1.__decorate([
1412
- Output(),
1413
- tslib_1.__metadata("design:type", EventEmitter)
1414
- ], GanttComponent.prototype, "sortChange", void 0);
1415
- tslib_1.__decorate([
1416
- Output(),
1417
- tslib_1.__metadata("design:type", EventEmitter)
1418
- ], GanttComponent.prototype, "filterChange", void 0);
1419
- tslib_1.__decorate([
1420
- Output(),
1421
- tslib_1.__metadata("design:type", EventEmitter)
1422
- ], GanttComponent.prototype, "dataStateChange", void 0);
1423
- tslib_1.__decorate([
1424
- Output(),
1425
- tslib_1.__metadata("design:type", EventEmitter)
1426
- ], GanttComponent.prototype, "treeListPaneCollapsedChange", void 0);
1427
- tslib_1.__decorate([
1428
- Output(),
1429
- tslib_1.__metadata("design:type", EventEmitter)
1430
- ], GanttComponent.prototype, "timelinePaneCollapsedChange", void 0);
1431
- tslib_1.__decorate([
1432
- Output(),
1433
- tslib_1.__metadata("design:type", EventEmitter)
1434
- ], GanttComponent.prototype, "timelinePaneSizeChange", void 0);
1435
- tslib_1.__decorate([
1436
- Output(),
1437
- tslib_1.__metadata("design:type", EventEmitter)
1438
- ], GanttComponent.prototype, "activeViewChange", void 0);
1439
- tslib_1.__decorate([
1440
- Output(),
1441
- tslib_1.__metadata("design:type", EventEmitter)
1442
- ], GanttComponent.prototype, "columnResize", void 0);
1443
- tslib_1.__decorate([
1444
- Output(),
1445
- tslib_1.__metadata("design:type", EventEmitter)
1446
- ], GanttComponent.prototype, "columnReorder", void 0);
1447
- tslib_1.__decorate([
1448
- Output(),
1449
- tslib_1.__metadata("design:type", EventEmitter)
1450
- ], GanttComponent.prototype, "columnVisibilityChange", void 0);
1451
- tslib_1.__decorate([
1452
- Output(),
1453
- tslib_1.__metadata("design:type", EventEmitter)
1454
- ], GanttComponent.prototype, "columnLockedChange", void 0);
1455
- tslib_1.__decorate([
1456
- Output(),
1457
- tslib_1.__metadata("design:type", EventEmitter)
1458
- ], GanttComponent.prototype, "cellClick", void 0);
1459
- tslib_1.__decorate([
1460
- Output(),
1461
- tslib_1.__metadata("design:type", EventEmitter)
1462
- ], GanttComponent.prototype, "taskClick", void 0);
1463
- GanttComponent = GanttComponent_1 = tslib_1.__decorate([
1464
- Component({
1465
- selector: 'kendo-gantt',
1466
- exportAs: 'kendoGantt',
1467
- providers: [
1468
- GanttLocalizationService,
1469
- LocalizationService,
1470
- {
1471
- provide: DataBoundTreeComponent,
1472
- useExisting: forwardRef(() => GanttComponent_1)
1473
- },
1474
- {
1475
- provide: ExpandableTreeComponent,
1476
- useExisting: forwardRef(() => GanttComponent_1)
1477
- },
1478
- TimelineViewService,
1479
- TimelineDayViewService,
1480
- TimelineWeekViewService,
1481
- TimelineMonthViewService,
1482
- ScrollSyncService,
1483
- DependencyDomService,
1484
- MappingService,
1485
- OptionChangesService,
1486
- EditService,
1487
- TimelineScrollService,
1488
- NavigationService
1489
- ],
1490
- template: `
1491
- <ng-container kendoGanttLocalizedMessages
1492
- i18n-taskEditingGeneralTabTitle="kendo.gantt.taskEditingGeneralTabTitle|The title of the 'General' tab of the editing dialog TabStrip"
1493
- taskEditingGeneralTabTitle="General"
1494
-
1495
- i18n-taskEditingPredecessorsTabTitle="kendo.gantt.taskEditingPredecessorsTabTitle|The title of the 'Predecessors' dependencies tab of the editing dialog TabStrip"
1496
- taskEditingPredecessorsTabTitle="Predecessors"
1497
-
1498
- i18n-taskEditingSuccessorsTabTitle="kendo.gantt.taskEditingSuccessorsTabTitle|The title of the 'Successors' dependencies tab of the editing dialog TabStrip"
1499
- taskEditingSuccessorsTabTitle="Successors"
1500
-
1501
- i18n-taskEditingDependenciesAddButtonText="kendo.gantt.taskEditingDependenciesAddButtonText|The text of the 'Add' button in the dependencies tabs of the editing dialog TabStrip"
1502
- taskEditingDependenciesAddButtonText="Add"
1503
-
1504
- i18n-taskEditingDependenciesRemoveButtonText="kendo.gantt.taskEditingDependenciesRemoveButtonText|The text of the 'Remove' button in the dependencies tabs of the editing dialog TabStrip"
1505
- taskEditingDependenciesRemoveButtonText="Remove"
1506
-
1507
- i18n-taskEditingDependenciesGridNameColumnTitle="kendo.gantt.taskEditingDependenciesGridNameColumnTitle|The title of the 'Task Title' Grid column in the dependencies tabs of the editing dialog TabStrip"
1508
- taskEditingDependenciesGridNameColumnTitle="Task Title"
1509
-
1510
- i18n-taskEditingDependenciesGridTypeColumnTitle="kendo.gantt.taskEditingDependenciesGridTypeColumnTitle|The title of the 'Type' Grid column in the dependencies tabs of the editing dialog TabStrip"
1511
- taskEditingDependenciesGridTypeColumnTitle="Type"
1512
-
1513
- i18n-taskDeleteLabel="kendo.gantt.taskDeleteLabel|The label of the task delete icon"
1514
- taskDeleteLabel="Delete"
1515
-
1516
- i18n-taskEditingDialogTitle="kendo.gantt.taskEditingDialogTitle|The title of the task editing dialog"
1517
- taskEditingDialogTitle="Editing Task"
1518
-
1519
- i18n-taskEditingDialogCloseTitle="kendo.gantt.taskEditingDialogCloseTitle|The title of the task editing dialog close button"
1520
- taskEditingDialogCloseTitle="Close"
1521
-
1522
- i18n-confirmationDialogCloseTitle="kendo.gantt.confirmationDialogCloseTitle|The title of the confirmation dialog close button"
1523
- confirmationDialogCloseTitle="Close"
1524
-
1525
- i18n-confirmationDialogTitle="kendo.gantt.confirmationDialogTitle|The title of the delete task confirmation dialog"
1526
- confirmationDialogTitle="Delete Task"
1527
-
1528
- i18n-confirmationDialogContent="kendo.gantt.confirmationDialogContent|The content of the delete task confirmation dialog"
1529
- confirmationDialogContent="Are you sure you want to delete this task?"
1530
-
1531
- i18n-deleteButtonText="kendo.gantt.deleteButtonText|The text of the task editing dialog 'Delete' button"
1532
- deleteButtonText="Delete"
1533
-
1534
- i18n-cancelButtonText="kendo.gantt.cancelButtonText|The text of the task editing dialog 'Cancel' button"
1535
- cancelButtonText="Cancel"
1536
-
1537
- i18n-saveButtonText="kendo.gantt.saveButtonText|The text of the task editing dialog 'Save' button"
1538
- saveButtonText="Save"
1539
-
1540
- i18n-titleFieldInputLabel="kendo.gantt.titleFieldInputLabel|The label of the 'title' field input in editing mode"
1541
- titleFieldInputLabel="Title"
1542
-
1543
- i18n-startFieldInputLabel="kendo.gantt.startFieldInputLabel|The label of the 'start' field input in editing mode"
1544
- startFieldInputLabel="Start"
1545
-
1546
- i18n-endFieldInputLabel="kendo.gantt.endFieldInputLabel|The label of the 'end' field input in editing mode"
1547
- endFieldInputLabel="End"
1548
-
1549
- i18n-completionRatioFieldInputLabel="kendo.gantt.completionRatioFieldInputLabel|The label of the 'completionRatio' field input in editing mode"
1550
- completionRatioFieldInputLabel="Progress"
1551
-
1552
- i18n-dayViewText="kendo.gantt.dayViewText|The text of the day view in the ViewSelector component"
1553
- dayViewText="Day"
1554
-
1555
- i18n-weekViewText="kendo.gantt.weekViewText|The text of the week view in the ViewSelector component"
1556
- weekViewText="Week"
1557
-
1558
- i18n-monthViewText="kendo.gantt.monthViewText|The text of the month view in the ViewSelector component"
1559
- monthViewText="Month"
1560
-
1561
- i18n-yearViewText-disabled="kendo.gantt.yearViewText|The text of the year view in the ViewSelector component"
1562
- yearViewText="Year"
1563
-
1564
- i18n-addTaskText="kendo.gantt.addTaskText|The text of the DropDownButton in the AddTask component"
1565
- addTaskText="Add Task"
1566
-
1567
- i18n-addChildText="kendo.gantt.addChildText|The text of the 'Add Child' option in the AddTask component"
1568
- addChildText="Add Child"
1569
-
1570
- i18n-addAboveText="kendo.gantt.addAboveText|The text of the 'Add Above' option in the AddTask component"
1571
- addAboveText="Add Above"
1572
-
1573
- i18n-addBelowText="kendo.gantt.addBelowText|The text of the 'Add Below' option in the AddTask component"
1574
- addBelowText="Add Below"
1575
-
1576
- i18n-noRecords="kendo.gantt.noRecords|The label visible in the TreeList when there are no records"
1577
- noRecords="No records available."
1578
-
1579
- i18n-filter="kendo.gantt.filter|The label of the filter cell or icon"
1580
- filter="Filter"
1581
-
1582
- i18n-filterEqOperator="kendo.gantt.filterEqOperator|The text of the equal filter operator"
1583
- filterEqOperator="Is equal to"
1584
-
1585
- i18n-filterNotEqOperator="kendo.gantt.filterNotEqOperator|The text of the not equal filter operator"
1586
- filterNotEqOperator="Is not equal to"
1587
-
1588
- i18n-filterIsNullOperator="kendo.gantt.filterIsNullOperator|The text of the is null filter operator"
1589
- filterIsNullOperator="Is null"
1590
-
1591
- i18n-filterIsNotNullOperator="kendo.gantt.filterIsNotNullOperator|The text of the is not null filter operator"
1592
- filterIsNotNullOperator="Is not null"
1593
-
1594
- i18n-filterIsEmptyOperator="kendo.gantt.filterIsEmptyOperator|The text of the is empty filter operator"
1595
- filterIsEmptyOperator="Is empty"
1596
-
1597
- i18n-filterIsNotEmptyOperator="kendo.gantt.filterIsNotEmptyOperator|The text of the is not empty filter operator"
1598
- filterIsNotEmptyOperator="Is not empty"
1599
-
1600
- i18n-filterStartsWithOperator="kendo.gantt.filterStartsWithOperator|The text of the starts with filter operator"
1601
- filterStartsWithOperator="Starts with"
1602
-
1603
- i18n-filterContainsOperator="kendo.gantt.filterContainsOperator|The text of the contains filter operator"
1604
- filterContainsOperator="Contains"
1605
-
1606
- i18n-filterNotContainsOperator="kendo.gantt.filterNotContainsOperator|The text of the does not contain filter operator"
1607
- filterNotContainsOperator="Does not contain"
1608
-
1609
- i18n-filterEndsWithOperator="kendo.gantt.filterEndsWithOperator|The text of the ends with filter operator"
1610
- filterEndsWithOperator="Ends with"
1611
-
1612
- i18n-filterGteOperator="kendo.gantt.filterGteOperator|The text of the greater than or equal filter operator"
1613
- filterGteOperator="Is greater than or equal to"
1614
-
1615
- i18n-filterGtOperator="kendo.gantt.filterGtOperator|The text of the greater than filter operator"
1616
- filterGtOperator="Is greater than"
1617
-
1618
- i18n-filterLteOperator="kendo.gantt.filterLteOperator|The text of the less than or equal filter operator"
1619
- filterLteOperator="Is less than or equal to"
1620
-
1621
- i18n-filterLtOperator="kendo.gantt.filterLtOperator|The text of the less than filter operator"
1622
- filterLtOperator="Is less than"
1623
-
1624
- i18n-filterIsTrue="kendo.gantt.filterIsTrue|The text of the IsTrue boolean filter option"
1625
- filterIsTrue="Is True"
1626
-
1627
- i18n-filterIsFalse="kendo.gantt.filterIsFalse|The text of the IsFalse boolean filter option"
1628
- filterIsFalse="Is False"
1629
-
1630
- i18n-filterBooleanAll="kendo.gantt.filterBooleanAll|The text of the (All) boolean filter option"
1631
- filterBooleanAll="(All)"
1632
-
1633
- i18n-filterAfterOrEqualOperator="kendo.gantt.filterAfterOrEqualOperator|The text of the after or equal date filter operator"
1634
- filterAfterOrEqualOperator="Is after or equal to"
1635
-
1636
- i18n-filterAfterOperator="kendo.gantt.filterAfterOperator|The text of the after date filter operator"
1637
- filterAfterOperator="Is after"
1638
-
1639
- i18n-filterBeforeOperator="kendo.gantt.filterBeforeOperator|The text of the before date filter operator"
1640
- filterBeforeOperator="Is before"
1641
-
1642
- i18n-filterBeforeOrEqualOperator="kendo.gantt.filterBeforeOrEqualOperator|The text of the before or equal date filter operator"
1643
- filterBeforeOrEqualOperator="Is before or equal to"
1644
-
1645
- i18n-filterFilterButton="kendo.gantt.filterFilterButton|The text of the filter button"
1646
- filterFilterButton="Filter"
1647
-
1648
- i18n-filterClearButton="kendo.gantt.filterClearButton|The text of the clear filter button"
1649
- filterClearButton="Clear"
1650
-
1651
- i18n-filterAndLogic="kendo.gantt.filterAndLogic|The text of the And filter logic"
1652
- filterAndLogic="And"
1653
-
1654
- i18n-filterOrLogic="kendo.gantt.filterOrLogic|The text of the Or filter logic"
1655
- filterOrLogic="Or"
1656
-
1657
- i18n-loading="kendo.gantt.loading|The loading text"
1658
- loading="Loading"
1659
-
1660
- i18n-columnMenu="kendo.gantt.columnMenu|The title of the column menu icon"
1661
- columnMenu="Column Menu"
1662
-
1663
- i18n-columns="kendo.gantt.columns|The text shown in the column menu for the columns item"
1664
- columns="Columns"
1665
-
1666
- i18n-lock-disabled="kendo.gantt.lock|The text shown in the column menu for the lock item"
1667
- lock-disabled="Lock"
1668
-
1669
- i18n-unlock-disabled="kendo.gantt.unlock|The text shown in the column menu for the unlock item"
1670
- unlock-disabled="Unlock"
1671
-
1672
- i18n-sortable="kendo.gantt.sortable|The label of the sort icon"
1673
- sortable="Sortable"
1674
-
1675
- i18n-sortAscending="kendo.gantt.sortAscending|The text shown in the column menu for the sort ascending item"
1676
- sortAscending="Sort Ascending"
1677
-
1678
- i18n-sortDescending="kendo.gantt.sortDescending|The text shown in the column menu for the sort descending item"
1679
- sortDescending="Sort Descending"
1680
-
1681
- i18n-sortedAscending="kendo.gantt.sortedAscending|The status announcement when a column is sorted ascending"
1682
- sortedAscending="Sorted Ascending"
1683
-
1684
- i18n-sortedDescending="kendo.gantt.sortedDescending|The status announcement when a column is sorted descending"
1685
- sortedDescending="Sorted Descending"
1686
-
1687
- i18n-sortedDefault="kendo.gantt.sortedDefault|The status announcement when a column is no longer sorted"
1688
- sortedDefault="Not Sorted"
1689
-
1690
- i18n-columnsApply="kendo.gantt.columnsApply|The text shown in the column menu or column chooser for the columns apply button"
1691
- columnsApply="Apply"
1692
-
1693
- i18n-columnsReset="kendo.gantt.columnsReset|The text shown in the column menu or column chooser for the columns reset button"
1694
- columnsReset="Reset"></ng-container>
1695
- <kendo-gantt-toolbar
1696
- *ngIf="showToolbar('top')"
1697
- [showAddTask]="toolbarSettings.addTaskTool === 'top' || toolbarSettings.addTaskTool === 'both'"
1698
- [showViewSelector]="toolbarSettings.viewSelectorTool === 'top' || toolbarSettings.viewSelectorTool === 'both'"
1699
- class="k-gantt-header k-toolbar k-gantt-toolbar"
1700
- position="top"></kendo-gantt-toolbar>
1701
- <div class="k-gantt-content">
1702
- <kendo-splitter [style.border]="0">
1703
- <kendo-splitter-pane
1704
- class="k-gantt-treelist k-gantt-treelist-scrollable"
1705
- [collapsible]="treeListPaneOptions?.collapsible"
1706
- [collapsed]="treeListPaneOptions?.collapsed"
1707
- (collapsedChange)="onTreeListCollapsedChange($event)"
1708
- [scrollable]="false">
1709
- <kendo-treelist
1710
- [idField]="taskIdField"
1711
- [columns]="columns"
1712
- [data]="data"
1713
- [hasChildren]="hasChildren"
1714
- [fetchChildren]="fetchChildren"
1715
- [navigable]="navigable"
1716
- [isExpanded]="isExpanded"
1717
- [autoSize]="columnsAutoSize"
1718
- [columnMenu]="columnMenu"
1719
- [reorderable]="columnsReorderable"
1720
- [resizable]="columnsResizable"
1721
- [rowClass]="rowClass"
1722
- [isSelected]="isSelected"
1723
- [selectable]="selectable"
1724
- [sortable]="sortable"
1725
- [sort]="sort"
1726
- [filterable]="filterMenu"
1727
- [filter]="filter"
1728
- (filterChange)="filterChange.emit($event)"
1729
- (sortChange)="sortChange.emit($event)"
1730
- (dataStateChange)="dataStateChange.emit({
1731
- filter: $event.filter,
1732
- sort: $event.sort
1733
- })"
1734
- (expandStateChange)="expandStateChange.emit($event)"
1735
- (expand)="rowExpand.emit({ dataItem: $event.dataItem })"
1736
- (collapse)="rowCollapse.emit({ dataItem: $event.dataItem })"
1737
- (columnReorder)="columnReorder.emit($event)"
1738
- (columnResize)="columnResize.emit($event)"
1739
- (columnVisibilityChange)="handleColumnVisibilityChange($event)"
1740
- (columnLockedChange)="columnLockedChange.emit($event)"
1741
- (selectionChange)="handleTreeListSelectionChange($event)"
1742
- (cellClick)="handleTreeListCellClick($event)"
1743
- (cellClose)="handleCellClose($event)"
1744
- [kendoEventsOutsideAngular]="{
1745
- dblclick: handleTreeListDoubleClick
1746
- }"
1747
- [scope]="this"
1748
- >
1749
- <kendo-treelist-messages
1750
- [noRecords]="getText('noRecords')"
1751
- [filter]="getText('filter')"
1752
- [filterEqOperator]="getText('filterEqOperator')"
1753
- [filterNotEqOperator]="getText('filterNotEqOperator')"
1754
- [filterIsNullOperator]="getText('filterIsNullOperator')"
1755
- [filterIsNotNullOperator]="getText('filterIsNotNullOperator')"
1756
- [filterIsEmptyOperator]="getText('filterIsEmptyOperator')"
1757
- [filterIsNotEmptyOperator]="getText('filterIsNotEmptyOperator')"
1758
- [filterStartsWithOperator]="getText('filterStartsWithOperator')"
1759
- [filterContainsOperator]="getText('filterContainsOperator')"
1760
- [filterNotContainsOperator]="getText('filterNotContainsOperator')"
1761
- [filterEndsWithOperator]="getText('filterEndsWithOperator')"
1762
- [filterGteOperator]="getText('filterGteOperator')"
1763
- [filterGtOperator]="getText('filterGtOperator')"
1764
- [filterLteOperator]="getText('filterLteOperator')"
1765
- [filterLtOperator]="getText('filterLtOperator')"
1766
- [filterIsTrue]="getText('filterIsTrue')"
1767
- [filterIsFalse]="getText('filterIsFalse')"
1768
- [filterBooleanAll]="getText('filterBooleanAll')"
1769
- [filterAfterOrEqualOperator]="getText('filterAfterOrEqualOperator')"
1770
- [filterAfterOperator]="getText('filterAfterOperator')"
1771
- [filterBeforeOperator]="getText('filterBeforeOperator')"
1772
- [filterBeforeOrEqualOperator]="getText('filterBeforeOrEqualOperator')"
1773
- [filterFilterButton]="getText('filterFilterButton')"
1774
- [filterClearButton]="getText('filterClearButton')"
1775
- [filterAndLogic]="getText('filterAndLogic')"
1776
- [filterOrLogic]="getText('filterOrLogic')"
1777
- [loading]="getText('loading')"
1778
- [columnMenu]="getText('columnMenu')"
1779
- [columns]="getText('columns')"
1780
- [sortable]="getText('sortable')"
1781
- [sortAscending]="getText('sortAscending')"
1782
- [sortDescending]="getText('sortDescending')"
1783
- [sortedAscending]="getText('sortedAscending')"
1784
- [sortedDescending]="getText('sortedDescending')"
1785
- [sortedDefault]="getText('sortedDefault')"
1786
- [columnsApply]="getText('columnsApply')"
1787
- [columnsReset]="getText('columnsReset')"
1788
- >
1789
- </kendo-treelist-messages>
1790
- </kendo-treelist>
1791
- </kendo-splitter-pane>
1792
- <kendo-splitter-pane
1793
- [collapsible]="timelinePaneOptions?.collapsible"
1794
- [resizable]="timelinePaneOptions?.resizable"
1795
- [collapsed]="timelinePaneOptions?.collapsed"
1796
- [min]="timelinePaneOptions?.min"
1797
- [max]="timelinePaneOptions?.max"
1798
- [size]="timelinePaneOptions?.size"
1799
- (collapsedChange)="onTimelineCollapsedChange($event)"
1800
- (sizeChange)="onTimelinePaneSizeChange($event)"
1801
- [scrollable]="false">
1802
- <kendo-gantt-timeline
1803
- *ngIf="views && views.length"
1804
- [renderDependencyDragClues]="renderDependencyDragClues"
1805
- [dragScrollSettings]="dragScrollSettings"
1806
- [rows]="viewItems"
1807
- [slots]="timelineSlots"
1808
- [groupSlots]="timelineGroupSlots"
1809
- [tableWidth]="tableWidth"
1810
- [activeView]="activeView"
1811
- [taskContentTemplate]="taskContentTemplate?.templateRef"
1812
- [taskTemplate]="taskTemplate?.templateRef"
1813
- [summaryTaskTemplate]="summaryTaskTemplate?.templateRef"
1814
- [taskClass]="taskClass"
1815
- [dependencies]="dependencies"
1816
- [isExpanded]="isExpanded"
1817
- [selectable]="selectable"
1818
- [isTaskSelected]="isTaskSelected"
1819
- [kendoEventsOutsideAngular]="{
1820
- click: handleTimelineClick,
1821
- contextmenu: handleTimelineRightClick,
1822
- dblclick: handleTimelineDblClick,
1823
- mousedown: handleTimelineMouseDown
1824
- }"
1825
- [scope]="this"
1826
- ></kendo-gantt-timeline>
1827
- </kendo-splitter-pane>
1828
- </kendo-splitter>
1829
- </div>
1830
- <kendo-gantt-toolbar
1831
- *ngIf="showToolbar('bottom')"
1832
- [showAddTask]="toolbarSettings.addTaskTool === 'bottom' || toolbarSettings.addTaskTool === 'both'"
1833
- [showViewSelector]="toolbarSettings.viewSelectorTool === 'bottom' || toolbarSettings.viewSelectorTool === 'both'"
1834
- class="k-gantt-footer k-toolbar k-gantt-toolbar"
1835
- position="bottom"></kendo-gantt-toolbar>
1836
- <kendo-gantt-edit-dialog
1837
- *ngIf="showEditingDialog"
1838
- [data]="data">
1839
- </kendo-gantt-edit-dialog>
1840
- <kendo-dialog
1841
- *ngIf="showConfirmationDialog"
1842
- [width]="575"
1843
- [height]="170"
1844
- [title]="getText('confirmationDialogTitle')"
1845
- (close)="handleConfirmationDialogClose()">
1846
- <span>{{ getText('confirmationDialogContent') }}</span>
1847
- <kendo-dialog-actions layout="normal">
1848
- <kendo-treelist-spacer></kendo-treelist-spacer>
1849
- <button kendoButton [primary]="true" (click)="handleDeleteConfirmation()">{{ getText('deleteButtonText') }}</button>
1850
- <button kendoButton (click)="handleConfirmationDialogClose()">{{ getText('cancelButtonText') }}</button>
1851
- </kendo-dialog-actions>
1852
- </kendo-dialog>
1853
- `
1854
- }),
1855
- tslib_1.__metadata("design:paramtypes", [TimelineViewService,
1856
- ScrollSyncService,
1857
- Renderer2,
1858
- MappingService,
1859
- OptionChangesService,
1860
- DependencyDomService,
1861
- EditService,
1862
- LocalizationService,
1863
- ElementRef,
1864
- NgZone,
1865
- NavigationService])
1866
- ], GanttComponent);
1867
- export { GanttComponent };