@progress/kendo-angular-gantt 0.2.1-dev.202112091741 → 0.3.0-dev.202201131518

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 (158) hide show
  1. package/dist/cdn/js/kendo-angular-gantt.js +2 -2
  2. package/dist/cdn/main.js +4 -4
  3. package/dist/es/common/touch-enabled.js +9 -0
  4. package/dist/es/dependencies/utils.js +40 -5
  5. package/dist/es/dragging/dependency-drag-create.directive.js +347 -0
  6. package/dist/es/dragging/drag-validation-tooltip.component.js +27 -0
  7. package/dist/es/editing/add-task.component.js +94 -0
  8. package/dist/es/editing/dependencies-table.component.js +131 -0
  9. package/dist/es/editing/edit-dialog.component.js +37 -6
  10. package/dist/es/editing/edit.service.js +89 -7
  11. package/dist/es/editing/task-fields.component.js +43 -0
  12. package/dist/es/editing/{util.js → utils.js} +0 -0
  13. package/dist/es/expanded-state/expandable.directive.js +4 -6
  14. package/dist/es/gantt.component.js +230 -45
  15. package/dist/es/gantt.module.js +36 -10
  16. package/dist/es/index.js +8 -1
  17. package/dist/es/localization/gantt-localization.service.js +26 -0
  18. package/dist/es/localization/messages.js +45 -1
  19. package/dist/es/main.js +1 -0
  20. package/dist/es/models/dependency-type.enum.js +16 -0
  21. package/dist/es/models/events/{add-event.interface.js → dependency-add-event.interface.js} +0 -0
  22. package/dist/es/models/events/{edit-event.interface.js → task-add-event.interface.js} +0 -0
  23. package/dist/es/models/models.js +1 -0
  24. package/dist/es/models/{events/remove-event.interface.js → toolbar-settings.js} +0 -0
  25. package/dist/es/models/{toolbar-position.js → view-item.interface.js} +0 -0
  26. package/dist/es/package-metadata.js +1 -1
  27. package/dist/es/rendering/gantt-milestone-task.component.js +7 -4
  28. package/dist/es/rendering/gantt-summary-task.component.js +7 -4
  29. package/dist/es/rendering/gantt-task-base.js +30 -19
  30. package/dist/es/rendering/gantt-task.component.js +8 -6
  31. package/dist/es/rendering/gantt-tasks-table-body.component.js +5 -1
  32. package/dist/es/scrolling/drag-scroll-settings.js +20 -0
  33. package/dist/es/scrolling/timeline-scroll.directive.js +89 -0
  34. package/dist/es/scrolling/timeline-scroll.service.js +39 -0
  35. package/dist/es/scrolling/utils.js +80 -0
  36. package/dist/es/timeline/gantt-timeline.component.js +45 -3
  37. package/dist/es/toolbar/toolbar.component.js +9 -1
  38. package/dist/es/utils.js +143 -12
  39. package/dist/es2015/common/touch-enabled.d.ts +9 -0
  40. package/dist/es2015/common/touch-enabled.js +9 -0
  41. package/dist/es2015/dependencies/utils.d.ts +15 -0
  42. package/dist/es2015/dependencies/utils.js +40 -5
  43. package/dist/es2015/dragging/dependency-drag-create.directive.d.ts +72 -0
  44. package/dist/es2015/dragging/dependency-drag-create.directive.js +324 -0
  45. package/dist/es2015/dragging/drag-validation-tooltip.component.d.ts +29 -0
  46. package/dist/es2015/dragging/drag-validation-tooltip.component.js +76 -0
  47. package/dist/es2015/editing/add-task.component.d.ts +45 -0
  48. package/dist/es2015/editing/add-task.component.js +102 -0
  49. package/dist/es2015/editing/dependencies-table.component.d.ts +39 -0
  50. package/dist/es2015/editing/dependencies-table.component.js +160 -0
  51. package/dist/es2015/editing/edit-dialog.component.d.ts +10 -3
  52. package/dist/es2015/editing/edit-dialog.component.js +55 -33
  53. package/dist/es2015/editing/edit.service.d.ts +24 -3
  54. package/dist/es2015/editing/edit.service.js +78 -10
  55. package/dist/es2015/editing/task-fields.component.d.ts +22 -0
  56. package/dist/es2015/editing/task-fields.component.js +67 -0
  57. package/dist/es2015/editing/{util.d.ts → utils.d.ts} +0 -0
  58. package/dist/es2015/editing/{util.js → utils.js} +0 -0
  59. package/dist/es2015/expanded-state/expandable.directive.d.ts +1 -2
  60. package/dist/es2015/expanded-state/expandable.directive.js +2 -7
  61. package/dist/es2015/gantt.component.d.ts +62 -18
  62. package/dist/es2015/gantt.component.js +290 -43
  63. package/dist/es2015/gantt.module.js +36 -10
  64. package/dist/es2015/index.d.ts +8 -1
  65. package/dist/es2015/index.js +8 -1
  66. package/dist/es2015/index.metadata.json +1 -1
  67. package/dist/es2015/localization/{treelist-messages.directive.d.ts → gantt-localization.service.d.ts} +4 -3
  68. package/dist/es2015/localization/gantt-localization.service.js +25 -0
  69. package/dist/es2015/localization/messages.d.ts +46 -2
  70. package/dist/es2015/localization/messages.js +45 -1
  71. package/dist/es2015/main.d.ts +1 -0
  72. package/dist/es2015/main.js +1 -0
  73. package/dist/es2015/models/dependency-type.enum.d.ts +1 -1
  74. package/dist/es2015/models/dependency-type.enum.js +16 -0
  75. package/dist/es2015/models/events/dependency-add-event.interface.d.ts +26 -0
  76. package/dist/es2015/models/events/{add-event.interface.js → dependency-add-event.interface.js} +0 -0
  77. package/dist/es2015/models/events/task-add-event.interface.d.ts +31 -0
  78. package/dist/es2015/models/events/{edit-event.interface.js → task-add-event.interface.js} +0 -0
  79. package/dist/es2015/models/events/task-edit-event.interface.d.ts +17 -4
  80. package/dist/es2015/models/models.d.ts +4 -3
  81. package/dist/es2015/models/models.js +1 -0
  82. package/dist/es2015/models/toolbar-settings.d.ts +29 -0
  83. package/dist/es2015/models/{events/remove-event.interface.js → toolbar-settings.js} +0 -0
  84. package/dist/es2015/models/view-item.interface.d.ts +35 -0
  85. package/dist/es2015/models/{toolbar-position.js → view-item.interface.js} +0 -0
  86. package/dist/es2015/package-metadata.js +1 -1
  87. package/dist/es2015/rendering/gantt-milestone-task.component.d.ts +2 -1
  88. package/dist/es2015/rendering/gantt-milestone-task.component.js +18 -5
  89. package/dist/es2015/rendering/gantt-summary-task.component.d.ts +2 -1
  90. package/dist/es2015/rendering/gantt-summary-task.component.js +18 -5
  91. package/dist/es2015/rendering/gantt-task-base.d.ts +11 -5
  92. package/dist/es2015/rendering/gantt-task-base.js +30 -19
  93. package/dist/es2015/rendering/gantt-task.component.d.ts +2 -1
  94. package/dist/es2015/rendering/gantt-task.component.js +19 -7
  95. package/dist/es2015/rendering/gantt-tasks-table-body.component.d.ts +1 -0
  96. package/dist/es2015/rendering/gantt-tasks-table-body.component.js +10 -3
  97. package/dist/es2015/scrolling/drag-scroll-settings.d.ts +47 -0
  98. package/dist/es2015/scrolling/drag-scroll-settings.js +20 -0
  99. package/dist/es2015/scrolling/timeline-scroll.directive.d.ts +24 -0
  100. package/dist/es2015/scrolling/timeline-scroll.directive.js +78 -0
  101. package/dist/es2015/scrolling/timeline-scroll.service.d.ts +20 -0
  102. package/dist/es2015/scrolling/timeline-scroll.service.js +44 -0
  103. package/dist/es2015/scrolling/utils.d.ts +29 -0
  104. package/dist/es2015/scrolling/utils.js +80 -0
  105. package/dist/es2015/timeline/gantt-timeline.component.d.ts +25 -2
  106. package/dist/es2015/timeline/gantt-timeline.component.js +56 -3
  107. package/dist/es2015/toolbar/toolbar-template.directive.d.ts +1 -1
  108. package/dist/es2015/toolbar/toolbar.component.d.ts +2 -0
  109. package/dist/es2015/toolbar/toolbar.component.js +10 -0
  110. package/dist/es2015/utils.d.ts +70 -8
  111. package/dist/es2015/utils.js +143 -12
  112. package/dist/fesm2015/index.js +1981 -424
  113. package/dist/fesm5/index.js +1784 -391
  114. package/dist/npm/common/touch-enabled.js +11 -0
  115. package/dist/npm/dependencies/utils.js +40 -5
  116. package/dist/npm/dragging/dependency-drag-create.directive.js +349 -0
  117. package/dist/npm/dragging/drag-validation-tooltip.component.js +29 -0
  118. package/dist/npm/editing/add-task.component.js +96 -0
  119. package/dist/npm/editing/dependencies-table.component.js +133 -0
  120. package/dist/npm/editing/edit-dialog.component.js +36 -5
  121. package/dist/npm/editing/edit.service.js +88 -6
  122. package/dist/npm/editing/task-fields.component.js +45 -0
  123. package/dist/npm/editing/{util.js → utils.js} +0 -0
  124. package/dist/npm/expanded-state/expandable.directive.js +3 -5
  125. package/dist/npm/gantt.component.js +231 -46
  126. package/dist/npm/gantt.module.js +34 -8
  127. package/dist/npm/index.js +16 -2
  128. package/dist/npm/localization/gantt-localization.service.js +28 -0
  129. package/dist/npm/localization/messages.js +45 -1
  130. package/dist/npm/main.js +2 -0
  131. package/dist/npm/models/dependency-type.enum.js +16 -0
  132. package/dist/npm/models/events/{add-event.interface.js → dependency-add-event.interface.js} +0 -0
  133. package/dist/npm/models/events/{edit-event.interface.js → task-add-event.interface.js} +0 -0
  134. package/dist/npm/models/models.js +2 -0
  135. package/dist/npm/models/{events/remove-event.interface.js → toolbar-settings.js} +0 -0
  136. package/dist/npm/models/{toolbar-position.js → view-item.interface.js} +0 -0
  137. package/dist/npm/package-metadata.js +1 -1
  138. package/dist/npm/rendering/gantt-milestone-task.component.js +6 -3
  139. package/dist/npm/rendering/gantt-summary-task.component.js +6 -3
  140. package/dist/npm/rendering/gantt-task-base.js +30 -19
  141. package/dist/npm/rendering/gantt-task.component.js +7 -5
  142. package/dist/npm/rendering/gantt-tasks-table-body.component.js +5 -1
  143. package/dist/npm/scrolling/drag-scroll-settings.js +22 -0
  144. package/dist/npm/scrolling/timeline-scroll.directive.js +91 -0
  145. package/dist/npm/scrolling/timeline-scroll.service.js +41 -0
  146. package/dist/npm/scrolling/utils.js +83 -0
  147. package/dist/npm/timeline/gantt-timeline.component.js +44 -2
  148. package/dist/npm/toolbar/toolbar.component.js +9 -1
  149. package/dist/npm/utils.js +143 -12
  150. package/dist/systemjs/kendo-angular-gantt.js +1 -1
  151. package/package.json +9 -6
  152. package/dist/es/localization/treelist-messages.directive.js +0 -31
  153. package/dist/es2015/localization/treelist-messages.directive.js +0 -29
  154. package/dist/es2015/models/events/add-event.interface.d.ts +0 -16
  155. package/dist/es2015/models/events/edit-event.interface.d.ts +0 -19
  156. package/dist/es2015/models/events/remove-event.interface.d.ts +0 -16
  157. package/dist/es2015/models/toolbar-position.d.ts +0 -9
  158. package/dist/npm/localization/treelist-messages.directive.js +0 -33
@@ -14,6 +14,8 @@ var package_metadata_1 = require("./package-metadata");
14
14
  var kendo_angular_common_1 = require("@progress/kendo-angular-common");
15
15
  var columns_1 = require("./columns/columns");
16
16
  var default_callbacks_1 = require("./common/default-callbacks");
17
+ var models_1 = require("./models/models");
18
+ var kendo_angular_l10n_1 = require("@progress/kendo-angular-l10n");
17
19
  var timeline_view_service_1 = require("./timeline/timeline-view.service");
18
20
  var timeline_day_view_service_1 = require("./timeline/timeline-day-view.service");
19
21
  var timeline_week_view_service_1 = require("./timeline/timeline-week-view.service");
@@ -23,17 +25,25 @@ var dependency_dom_service_1 = require("./dependencies/dependency-dom.service");
23
25
  var mapping_service_1 = require("./common/mapping.service");
24
26
  var option_changes_service_1 = require("./common/option-changes.service");
25
27
  var edit_service_1 = require("./editing/edit.service");
26
- var kendo_angular_l10n_1 = require("@progress/kendo-angular-l10n");
28
+ var timeline_scroll_service_1 = require("./scrolling/timeline-scroll.service");
29
+ var gantt_localization_service_1 = require("./localization/gantt-localization.service");
27
30
  var utils_1 = require("./utils");
28
31
  var splitter_pane_options_interface_1 = require("./models/splitter-pane-options.interface");
29
32
  var task_template_directive_1 = require("./template-directives/task-template.directive");
30
33
  var summary_task_template_directive_1 = require("./template-directives/summary-task-template.directive");
31
34
  var task_content_template_directive_1 = require("./template-directives/task-content-template.directive");
32
35
  var toolbar_template_directive_1 = require("./toolbar/toolbar-template.directive");
36
+ var gantt_timeline_component_1 = require("./timeline/gantt-timeline.component");
33
37
  var view_base_1 = require("./timeline/view-base");
34
- var util_1 = require("./editing/util");
38
+ var utils_2 = require("./editing/utils");
35
39
  var TREELIST_GROUP_COLUMNS_CLASS = 'k-gantt-treelist-nested-columns';
36
40
  var DEFAULT_VIEW = 'week';
41
+ var DEFAULT_DRAG_SCROLL_SETTINGS = {
42
+ enabled: true,
43
+ step: 3,
44
+ interval: 1,
45
+ threshold: 10
46
+ };
37
47
  /**
38
48
  * Represents the Kendo UI Gantt component for Angular.
39
49
  *
@@ -120,11 +130,22 @@ var GanttComponent = /** @class */ (function () {
120
130
  this.zone = zone;
121
131
  this.hostClasses = true;
122
132
  /**
123
- * Provides a callback that determines if the given task is selected ([see example]({% slug selection_gantt %}#toc-custom-selection))
133
+ * Specifies a callback that determines if the given task is selected ([see example]({% slug selection_gantt %}#toc-custom-selection)).
124
134
  *
125
135
  * > The [`selectable`]({% slug api_gantt_ganttcomponent %}#toc-selectable) prop has to be set to `true` in order for this callback to be executed.
126
136
  */
127
137
  this.isSelected = default_callbacks_1.isSelected;
138
+ /**
139
+ * Specifies a callback that determines if a new dependency is valid.
140
+ * Used when evaluating if an attempt to create a new dependency will result in a valid link between the two tasks
141
+ * [see example]({% slug editing_drag_create_dependencies_gantt %}#toc-validation).
142
+ *
143
+ * By defalut, dependencies are deemed invalid when:
144
+ * - The two tasks are in a parent-child relationship.
145
+ * - The two tasks are already dependent on one another. Only one dependency is allowed per pair.
146
+ * - The start or end times of the two tasks are incompatible with the attempted dependency type.
147
+ */
148
+ this.validateNewDependency = this.defaultValidateNewDependencyCallback.bind(this);
128
149
  /**
129
150
  * Fires when the Gantt selection is changed through user interaction.
130
151
  *
@@ -140,25 +161,6 @@ var GanttComponent = /** @class */ (function () {
140
161
  * > When applied, the [`SelectableDirective`]({% slug api_gantt_selectabledirective %}) sets `selectable` to `true` internally.
141
162
  */
142
163
  this.selectable = false;
143
- /**
144
- * The position of the toolbar.
145
- *
146
- * The possible values are:
147
- * - `top`—Positions the toolbar above the Gantt panes.
148
- * - `bottom`—Positions the toolbar below the Gantt panes.
149
- * - `both`—Displays two toolbar instances. Positions the first one above,
150
- * and the second one - below the Gantt panes.
151
- * - `none`—No toolbar is rendered.
152
- */
153
- this.toolbarPosition = 'top';
154
- /**
155
- * Gets or sets the callback function that retrieves the child items for a particular item.
156
- */
157
- this.fetchChildren = default_callbacks_1.fetchChildren;
158
- /**
159
- * Gets or sets the callback function that indicates if a particular item has child items.
160
- */
161
- this.hasChildren = default_callbacks_1.hasChildren;
162
164
  /**
163
165
  * Defines the dependencies that will be drawn between the rendered tasks.
164
166
  *
@@ -260,6 +262,15 @@ var GanttComponent = /** @class */ (function () {
260
262
  * Fires when the user saves an edited task.
261
263
  */
262
264
  this.save = new core_1.EventEmitter();
265
+ /**
266
+ * Fires when the user adds a task.
267
+ */
268
+ this.taskAdd = new core_1.EventEmitter();
269
+ /**
270
+ * Fires when the user adds a dependency via dragging
271
+ * [see example]({% slug editing_drag_create_dependencies_gantt %}#toc-basic-concepts).
272
+ */
273
+ this.dependencyAdd = new core_1.EventEmitter();
263
274
  /**
264
275
  * Fires when the sorting of the Gantt is changed.
265
276
  * You have to handle the event yourself and sort the data.
@@ -316,6 +327,15 @@ var GanttComponent = /** @class */ (function () {
316
327
  * Fires when a task is clicked.
317
328
  */
318
329
  this.taskClick = new core_1.EventEmitter();
330
+ /**
331
+ * @hidden
332
+ *
333
+ * Specifies whether the dependency drag clues will be rendered.
334
+ * Set internally by the dependency-drag-create directive.
335
+ *
336
+ * @default false
337
+ */
338
+ this.renderDependencyDragClues = false;
319
339
  /**
320
340
  * @hidden
321
341
  *
@@ -332,11 +352,19 @@ var GanttComponent = /** @class */ (function () {
332
352
  this.showConfirmationDialog = false;
333
353
  this._columns = new core_1.QueryList();
334
354
  this._data = [];
355
+ this._dragScrollSettings = tslib_1.__assign({}, DEFAULT_DRAG_SCROLL_SETTINGS);
335
356
  this._timelinePaneOptions = tslib_1.__assign({}, splitter_pane_options_interface_1.DEFAULT_TIMELINE_PANE_SETTINGS);
336
357
  this._treeListPaneOptions = tslib_1.__assign({}, splitter_pane_options_interface_1.DEFAULT_TREELIST_PANE_SETTINGS);
337
358
  this._rowClass = default_callbacks_1.rowClassCallback;
338
359
  this._taskClass = default_callbacks_1.taskClassCallback;
339
360
  this._activeView = DEFAULT_VIEW;
361
+ this._toolbarSettings = {
362
+ position: 'top',
363
+ addTaskTool: 'none',
364
+ viewSelectorTool: 'top'
365
+ };
366
+ this._fetchChildren = default_callbacks_1.fetchChildren;
367
+ this._hasChildren = default_callbacks_1.hasChildren;
340
368
  this.rtl = false;
341
369
  this.optionChangesSubscriptions = new rxjs_1.Subscription();
342
370
  this.editServiceSubscription = new rxjs_1.Subscription();
@@ -347,16 +375,26 @@ var GanttComponent = /** @class */ (function () {
347
375
  this.optionChangesSubscriptions.add(this.optionChangesService.columnChanges.subscribe(function () {
348
376
  _this.treeList.columns.notifyOnChanges();
349
377
  }));
378
+ this.editService.getSelectedItem = this.getFirstSelectedItem.bind(this);
350
379
  this.editServiceSubscription.add(this.editService.showEditingDialog.subscribe(function (show) { return _this.showEditingDialog = show; }));
351
380
  this.editServiceSubscription.add(this.editService.showConfirmationDialog.subscribe(function () { return _this.taskDelete.emit(); }));
352
381
  this.editServiceSubscription.add(this.editService.editEvent.subscribe(function (args) {
353
382
  _this[args.editResultType].emit({
354
- formGroup: args.formGroup,
355
- item: util_1.getEditItem(args.dataItem, _this.treeList.view.data, _this.mapper),
383
+ taskFormGroup: args.taskFormGroup,
384
+ item: utils_2.getEditItem(args.dataItem, _this.treeList.view.data, _this.mapper),
385
+ dependencies: args.dependencies,
356
386
  sender: _this
357
387
  });
358
388
  _this.showConfirmationDialog = _this.showEditingDialog = false;
359
- _this.editService.dataItem = _this.editService.formGroup = null;
389
+ _this.editService.dataItem = _this.editService.taskFormGroup = null;
390
+ _this.updateView();
391
+ }));
392
+ this.editServiceSubscription.add(this.editService.addEvent.subscribe(function (args) {
393
+ var selectedItem = _this.getFirstSelectedItem();
394
+ _this.taskAdd.emit({
395
+ actionType: args.actionType,
396
+ selectedItem: selectedItem ? utils_2.getEditItem(selectedItem, _this.treeList.view.data, _this.mapper) : null
397
+ });
360
398
  _this.updateView();
361
399
  }));
362
400
  this.localizationSubscription = this.localizationService.changes.subscribe(function (_a) {
@@ -463,6 +501,61 @@ var GanttComponent = /** @class */ (function () {
463
501
  enumerable: true,
464
502
  configurable: true
465
503
  });
504
+ Object.defineProperty(GanttComponent.prototype, "toolbarSettings", {
505
+ get: function () {
506
+ return this._toolbarSettings;
507
+ },
508
+ /**
509
+ * The toolbar configuration. Defines the position and content of the toolbar(s).
510
+ * The available properties are `position`, `addTaskTool`, and `viewSelectorTool`.
511
+ * All are optional and default to `top`.
512
+ *
513
+ * The possible values for each option are:
514
+ * - `top`—Positions the toolbar above the Gantt panes. Renders the respective tool in the top toolbar.
515
+ * - `bottom`—Positions the toolbar below the Gantt panes. Renders the respective tool in the bottom toolbar.
516
+ * - `both`—Displays two toolbar instances. Positions the first one above,
517
+ * and the second one - below the Gantt panes. Renders the respective tool in the both toolbars.
518
+ * - `none`—No toolbar is rendered when used for setting `position`.
519
+ * No add task or view selector tool is rendered when used for setting `addTaskTool` or `viewSelectorTool`.
520
+ */
521
+ set: function (value) {
522
+ this._toolbarSettings = {
523
+ position: value.position || 'top',
524
+ addTaskTool: value.addTaskTool || 'none',
525
+ viewSelectorTool: value.viewSelectorTool || 'top'
526
+ };
527
+ },
528
+ enumerable: true,
529
+ configurable: true
530
+ });
531
+ Object.defineProperty(GanttComponent.prototype, "fetchChildren", {
532
+ get: function () {
533
+ return this._fetchChildren;
534
+ },
535
+ /**
536
+ * Gets or sets the callback function that retrieves the child items for a particular item.
537
+ */
538
+ set: function (fn) {
539
+ this._fetchChildren = fn;
540
+ this.editService.fetchChildren = fn;
541
+ },
542
+ enumerable: true,
543
+ configurable: true
544
+ });
545
+ Object.defineProperty(GanttComponent.prototype, "hasChildren", {
546
+ get: function () {
547
+ return this._hasChildren;
548
+ },
549
+ /**
550
+ * Gets or sets the callback function that indicates if a particular item has child items.
551
+ */
552
+ set: function (fn) {
553
+ this._hasChildren = fn;
554
+ this.editService.hasChildren = fn;
555
+ },
556
+ enumerable: true,
557
+ configurable: true
558
+ });
466
559
  Object.defineProperty(GanttComponent.prototype, "timelinePaneOptions", {
467
560
  get: function () {
468
561
  return tslib_1.__assign({}, this._timelinePaneOptions, { size: this.treeListPaneOptions.collapsed ? '100%' : this._timelinePaneOptions.size });
@@ -538,6 +631,21 @@ var GanttComponent = /** @class */ (function () {
538
631
  enumerable: true,
539
632
  configurable: true
540
633
  });
634
+ Object.defineProperty(GanttComponent.prototype, "dragScrollSettings", {
635
+ get: function () {
636
+ return this._dragScrollSettings;
637
+ },
638
+ /**
639
+ * Specifies the settings for auto-scrolling during dragging
640
+ * when the pointer moves outside of the container bounderies
641
+ * [see example]({% slug editing_drag_create_dependencies_gantt %}#toc-auto-scrolling).
642
+ */
643
+ set: function (settings) {
644
+ this._dragScrollSettings = tslib_1.__assign({}, DEFAULT_DRAG_SCROLL_SETTINGS, settings);
645
+ },
646
+ enumerable: true,
647
+ configurable: true
648
+ });
541
649
  Object.defineProperty(GanttComponent.prototype, "renderedTreeListItems", {
542
650
  /**
543
651
  * @hidden
@@ -614,16 +722,6 @@ var GanttComponent = /** @class */ (function () {
614
722
  enumerable: true,
615
723
  configurable: true
616
724
  });
617
- Object.defineProperty(GanttComponent.prototype, "editDialogFormGroup", {
618
- /**
619
- * @hidden
620
- */
621
- get: function () {
622
- return this.editService.formGroup;
623
- },
624
- enumerable: true,
625
- configurable: true
626
- });
627
725
  GanttComponent.prototype.ngOnChanges = function (changes) {
628
726
  if (kendo_angular_common_1.anyChanged(['data', 'activeView', 'workWeekStart', 'workWeekEnd', 'workDayStart', 'workDayEnd'], changes)) {
629
727
  this.loadTimelineData();
@@ -713,8 +811,14 @@ var GanttComponent = /** @class */ (function () {
713
811
  * Opens the task editing dialog.
714
812
  */
715
813
  GanttComponent.prototype.editTask = function (dataItem, formGroup) {
814
+ var _this = this;
716
815
  if (!this.showEditingDialog) {
717
- this.editService.createEditDialog(dataItem, formGroup);
816
+ var taskId_1 = this.mapper.extractFromTask(dataItem, 'id');
817
+ var dependencies = this.dependencies.filter(function (item) {
818
+ return _this.mapper.extractFromDependency(item, 'toId') === taskId_1
819
+ || _this.mapper.extractFromDependency(item, 'fromId') === taskId_1;
820
+ });
821
+ this.editService.createEditDialog(dataItem, formGroup, dependencies);
718
822
  }
719
823
  };
720
824
  /**
@@ -787,7 +891,7 @@ var GanttComponent = /** @class */ (function () {
787
891
  * @hidden
788
892
  */
789
893
  GanttComponent.prototype.showToolbar = function (position) {
790
- return this.toolbarPosition !== 'none' && ([position, 'both'].indexOf(this.toolbarPosition) > -1);
894
+ return this.toolbarSettings.position !== 'none' && ([position, 'both'].indexOf(this.toolbarSettings.position) > -1);
791
895
  };
792
896
  /**
793
897
  * @hidden
@@ -848,7 +952,7 @@ var GanttComponent = /** @class */ (function () {
848
952
  if (!utils_1.isPresent(this.lastTreeListCellClick) || event.target !== this.lastTreeListCellClick.originalEvent.target) {
849
953
  return;
850
954
  }
851
- this.editItem = util_1.getEditItem(this.lastTreeListCellClick.dataItem, this.treeList.view.data, this.mapper);
955
+ this.editItem = utils_2.getEditItem(this.lastTreeListCellClick.dataItem, this.treeList.view.data, this.mapper);
852
956
  if (kendo_angular_common_1.hasObservers(this.cellDblClick)) {
853
957
  this.zone.run(function () {
854
958
  _this.cellDblClick.emit({
@@ -995,11 +1099,70 @@ var GanttComponent = /** @class */ (function () {
995
1099
  var shouldToggleSelection = ctrlKey || metaKey;
996
1100
  return (shouldToggleSelection && this.isSelected(dataItem)) ? 'remove' : 'select';
997
1101
  };
1102
+ GanttComponent.prototype.getFirstSelectedItem = function () {
1103
+ var isSelectedCallback = this.isSelected || default_callbacks_1.isSelected;
1104
+ var loadedItems = this.renderedTreeListItems || [];
1105
+ return loadedItems.find(isSelectedCallback);
1106
+ };
1107
+ GanttComponent.prototype.defaultValidateNewDependencyCallback = function (dependency) {
1108
+ var _this = this;
1109
+ var fromTaskId = this.mapper.extractFromDependency(dependency, 'fromId');
1110
+ var toTaskId = this.mapper.extractFromDependency(dependency, 'toId');
1111
+ var fromTask = this.treeList.view.data.find(function (task) {
1112
+ return _this.mapper.extractFromTask(task.data, 'id') === fromTaskId;
1113
+ });
1114
+ var toTask = this.treeList.view.data.find(function (task) {
1115
+ return _this.mapper.extractFromTask(task.data, 'id') === toTaskId;
1116
+ });
1117
+ // mark as invalid if the attempted dependency is lacking valid from- and to-tasks
1118
+ // or when the from- and to-tasks are actually the same task
1119
+ if (!utils_1.isPresent(fromTask) || !utils_1.isPresent(fromTask.data) ||
1120
+ !utils_1.isPresent(toTask) || !utils_1.isPresent(toTask.data) ||
1121
+ fromTask.data === toTask.data) {
1122
+ return false;
1123
+ }
1124
+ var tasksDependentOnOneAnother = this.dependencies.some(function (current) {
1125
+ var currentFromId = _this.mapper.extractFromDependency(current, 'fromId');
1126
+ var currentToId = _this.mapper.extractFromDependency(current, 'toId');
1127
+ return (fromTaskId === currentFromId && toTaskId === currentToId) ||
1128
+ (toTaskId === currentFromId && fromTaskId === currentToId);
1129
+ });
1130
+ // mark as invalid if the attempted dependency is trying to connect already dependent tasks
1131
+ // mark as invalid if the two tasks are in parent-child relationship
1132
+ if (tasksDependentOnOneAnother || utils_1.areParentChild(fromTask, toTask)) {
1133
+ return false;
1134
+ }
1135
+ var fromTaskStart = this.mapper.extractFromTask(fromTask.data, 'start');
1136
+ var fromTaskEnd = this.mapper.extractFromTask(fromTask.data, 'end');
1137
+ var toTaskStart = this.mapper.extractFromTask(toTask.data, 'start');
1138
+ var toTaskEnd = this.mapper.extractFromTask(toTask.data, 'end');
1139
+ // if the two tasks are available to be connected via a dependency,
1140
+ // check if their start and end time allow for the attempted dependency type
1141
+ switch (this.mapper.extractFromDependency(dependency, 'type')) {
1142
+ // finish to finish (FF) — the from-task ends before the to-task can end
1143
+ case models_1.DependencyType.FF:
1144
+ return fromTaskEnd <= toTaskEnd;
1145
+ // finish to start (FS) — the from-task ends before the to-task can begin
1146
+ case models_1.DependencyType.FS:
1147
+ return fromTaskEnd <= toTaskStart;
1148
+ // start to finish (SF) — the from-task begins before the to-task can end
1149
+ case models_1.DependencyType.SF:
1150
+ return fromTaskStart <= toTaskEnd;
1151
+ // start to start (SS) — the from-task begins before the to-task can begin
1152
+ case models_1.DependencyType.SS:
1153
+ return fromTaskStart <= toTaskStart;
1154
+ default: return false;
1155
+ }
1156
+ };
998
1157
  var GanttComponent_1;
999
1158
  tslib_1.__decorate([
1000
1159
  core_1.ViewChild(kendo_angular_treelist_1.TreeListComponent, { static: true }),
1001
1160
  tslib_1.__metadata("design:type", kendo_angular_treelist_1.TreeListComponent)
1002
1161
  ], GanttComponent.prototype, "treeList", void 0);
1162
+ tslib_1.__decorate([
1163
+ core_1.ViewChild(gantt_timeline_component_1.GanttTimelineComponent, { static: false }),
1164
+ tslib_1.__metadata("design:type", gantt_timeline_component_1.GanttTimelineComponent)
1165
+ ], GanttComponent.prototype, "timeline", void 0);
1003
1166
  tslib_1.__decorate([
1004
1167
  core_1.ContentChild(task_content_template_directive_1.GanttTaskContentTemplateDirective, { static: true }),
1005
1168
  tslib_1.__metadata("design:type", task_content_template_directive_1.GanttTaskContentTemplateDirective)
@@ -1058,6 +1221,10 @@ var GanttComponent = /** @class */ (function () {
1058
1221
  core_1.Input(),
1059
1222
  tslib_1.__metadata("design:type", Function)
1060
1223
  ], GanttComponent.prototype, "isSelected", void 0);
1224
+ tslib_1.__decorate([
1225
+ core_1.Input(),
1226
+ tslib_1.__metadata("design:type", Function)
1227
+ ], GanttComponent.prototype, "validateNewDependency", void 0);
1061
1228
  tslib_1.__decorate([
1062
1229
  core_1.Output(),
1063
1230
  tslib_1.__metadata("design:type", core_1.EventEmitter)
@@ -1068,16 +1235,19 @@ var GanttComponent = /** @class */ (function () {
1068
1235
  ], GanttComponent.prototype, "selectable", void 0);
1069
1236
  tslib_1.__decorate([
1070
1237
  core_1.Input(),
1071
- tslib_1.__metadata("design:type", String)
1072
- ], GanttComponent.prototype, "toolbarPosition", void 0);
1238
+ tslib_1.__metadata("design:type", Object),
1239
+ tslib_1.__metadata("design:paramtypes", [Object])
1240
+ ], GanttComponent.prototype, "toolbarSettings", null);
1073
1241
  tslib_1.__decorate([
1074
1242
  core_1.Input(),
1075
- tslib_1.__metadata("design:type", Function)
1076
- ], GanttComponent.prototype, "fetchChildren", void 0);
1243
+ tslib_1.__metadata("design:type", Function),
1244
+ tslib_1.__metadata("design:paramtypes", [Function])
1245
+ ], GanttComponent.prototype, "fetchChildren", null);
1077
1246
  tslib_1.__decorate([
1078
1247
  core_1.Input(),
1079
- tslib_1.__metadata("design:type", Function)
1080
- ], GanttComponent.prototype, "hasChildren", void 0);
1248
+ tslib_1.__metadata("design:type", Function),
1249
+ tslib_1.__metadata("design:paramtypes", [Function])
1250
+ ], GanttComponent.prototype, "hasChildren", null);
1081
1251
  tslib_1.__decorate([
1082
1252
  core_1.Input(),
1083
1253
  tslib_1.__metadata("design:type", Array)
@@ -1154,6 +1324,11 @@ var GanttComponent = /** @class */ (function () {
1154
1324
  core_1.Input(),
1155
1325
  tslib_1.__metadata("design:type", Boolean)
1156
1326
  ], GanttComponent.prototype, "columnsResizable", void 0);
1327
+ tslib_1.__decorate([
1328
+ core_1.Input(),
1329
+ tslib_1.__metadata("design:type", Object),
1330
+ tslib_1.__metadata("design:paramtypes", [Object])
1331
+ ], GanttComponent.prototype, "dragScrollSettings", null);
1157
1332
  tslib_1.__decorate([
1158
1333
  core_1.Output(),
1159
1334
  tslib_1.__metadata("design:type", core_1.EventEmitter)
@@ -1190,6 +1365,14 @@ var GanttComponent = /** @class */ (function () {
1190
1365
  core_1.Output(),
1191
1366
  tslib_1.__metadata("design:type", core_1.EventEmitter)
1192
1367
  ], GanttComponent.prototype, "save", void 0);
1368
+ tslib_1.__decorate([
1369
+ core_1.Output(),
1370
+ tslib_1.__metadata("design:type", core_1.EventEmitter)
1371
+ ], GanttComponent.prototype, "taskAdd", void 0);
1372
+ tslib_1.__decorate([
1373
+ core_1.Output(),
1374
+ tslib_1.__metadata("design:type", core_1.EventEmitter)
1375
+ ], GanttComponent.prototype, "dependencyAdd", void 0);
1193
1376
  tslib_1.__decorate([
1194
1377
  core_1.Output(),
1195
1378
  tslib_1.__metadata("design:type", core_1.EventEmitter)
@@ -1247,6 +1430,7 @@ var GanttComponent = /** @class */ (function () {
1247
1430
  selector: 'kendo-gantt',
1248
1431
  exportAs: 'kendoGantt',
1249
1432
  providers: [
1433
+ gantt_localization_service_1.GanttLocalizationService,
1250
1434
  kendo_angular_l10n_1.LocalizationService,
1251
1435
  {
1252
1436
  provide: kendo_angular_treelist_1.DataBoundTreeComponent,
@@ -1264,9 +1448,10 @@ var GanttComponent = /** @class */ (function () {
1264
1448
  dependency_dom_service_1.DependencyDomService,
1265
1449
  mapping_service_1.MappingService,
1266
1450
  option_changes_service_1.OptionChangesService,
1267
- edit_service_1.EditService
1451
+ edit_service_1.EditService,
1452
+ timeline_scroll_service_1.TimelineScrollService
1268
1453
  ],
1269
- template: "\n <ng-container kendoGanttLocalizedMessages\n i18n-taskDeleteLabel=\"kendo.gantt.taskDeleteLabel|The label of the task delete icon\"\n taskDeleteLabel=\"Delete\"\n\n i18n-taskEditingDialogTitle=\"kendo.gantt.taskEditingDialogTitle|The title of the task editing dialog\"\n taskEditingDialogTitle=\"Editing Task\"\n\n i18n-taskEditingDialogCloseTitle=\"kendo.gantt.taskEditingDialogCloseTitle|The title of the task editing dialog close button\"\n taskEditingDialogCloseTitle=\"Close\"\n\n i18n-confirmationDialogCloseTitle=\"kendo.gantt.confirmationDialogCloseTitle|The title of the confirmation dialog close button\"\n confirmationDialogCloseTitle=\"Close\"\n\n i18n-confirmationDialogTitle=\"kendo.gantt.confirmationDialogTitle|The title of the delete task confirmation dialog\"\n confirmationDialogTitle=\"Delete Task\"\n\n i18n-confirmationDialogContent=\"kendo.gantt.confirmationDialogContent|The content of the delete task confirmation dialog\"\n confirmationDialogContent=\"Are you sure you want to delete this task?\"\n\n i18n-deleteButtonText=\"kendo.gantt.deleteButtonText|The text of the task editing dialog 'Delete' button\"\n deleteButtonText=\"Delete\"\n\n i18n-cancelButtonText=\"kendo.gantt.cancelButtonText|The text of the task editing dialog 'Cancel' button\"\n cancelButtonText=\"Cancel\"\n\n i18n-saveButtonText=\"kendo.gantt.saveButtonText|The text of the task editing dialog 'Save' button\"\n saveButtonText=\"Save\"\n\n i18n-titleFieldInputLabel=\"kendo.gantt.titleFieldInputLabel|The label of the 'title' field input in editing mode\"\n titleFieldInputLabel=\"Title\"\n\n i18n-startFieldInputLabel=\"kendo.gantt.startFieldInputLabel|The label of the 'start' field input in editing mode\"\n startFieldInputLabel=\"Start\"\n\n i18n-endFieldInputLabel=\"kendo.gantt.endFieldInputLabel|The label of the 'end' field input in editing mode\"\n endFieldInputLabel=\"End\"\n\n i18n-completionRatioFieldInputLabel=\"kendo.gantt.completionRatioFieldInputLabel|The label of the 'completionRatio' field input in editing mode\"\n completionRatioFieldInputLabel=\"Progress\"\n\n i18n-dayViewText=\"kendo.gantt.dayViewText|The text of the day view in the ViewSelector component\"\n dayViewText=\"Day\"\n\n i18n-weekViewText=\"kendo.gantt.weekViewText|The text of the week view in the ViewSelector component\"\n weekViewText=\"Week\"\n\n i18n-monthViewText=\"kendo.gantt.monthViewText|The text of the month view in the ViewSelector component\"\n monthViewText=\"Month\"\n\n i18n-yearViewText-disabled=\"kendo.gantt.yearViewText|The text of the year view in the ViewSelector component\"\n yearViewText=\"Year\"\n\n i18n-noRecords=\"kendo.gantt.noRecords|The label visible in the TreeList when there are no records\"\n noRecords=\"No records available.\"\n\n i18n-filter=\"kendo.gantt.filter|The label of the filter cell or icon\"\n filter=\"Filter\"\n\n i18n-filterEqOperator=\"kendo.gantt.filterEqOperator|The text of the equal filter operator\"\n filterEqOperator=\"Is equal to\"\n\n i18n-filterNotEqOperator=\"kendo.gantt.filterNotEqOperator|The text of the not equal filter operator\"\n filterNotEqOperator=\"Is not equal to\"\n\n i18n-filterIsNullOperator=\"kendo.gantt.filterIsNullOperator|The text of the is null filter operator\"\n filterIsNullOperator=\"Is null\"\n\n i18n-filterIsNotNullOperator=\"kendo.gantt.filterIsNotNullOperator|The text of the is not null filter operator\"\n filterIsNotNullOperator=\"Is not null\"\n\n i18n-filterIsEmptyOperator=\"kendo.gantt.filterIsEmptyOperator|The text of the is empty filter operator\"\n filterIsEmptyOperator=\"Is empty\"\n\n i18n-filterIsNotEmptyOperator=\"kendo.gantt.filterIsNotEmptyOperator|The text of the is not empty filter operator\"\n filterIsNotEmptyOperator=\"Is not empty\"\n\n i18n-filterStartsWithOperator=\"kendo.gantt.filterStartsWithOperator|The text of the starts with filter operator\"\n filterStartsWithOperator=\"Starts with\"\n\n i18n-filterContainsOperator=\"kendo.gantt.filterContainsOperator|The text of the contains filter operator\"\n filterContainsOperator=\"Contains\"\n\n i18n-filterNotContainsOperator=\"kendo.gantt.filterNotContainsOperator|The text of the does not contain filter operator\"\n filterNotContainsOperator=\"Does not contain\"\n\n i18n-filterEndsWithOperator=\"kendo.gantt.filterEndsWithOperator|The text of the ends with filter operator\"\n filterEndsWithOperator=\"Ends with\"\n\n i18n-filterGteOperator=\"kendo.gantt.filterGteOperator|The text of the greater than or equal filter operator\"\n filterGteOperator=\"Is greater than or equal to\"\n\n i18n-filterGtOperator=\"kendo.gantt.filterGtOperator|The text of the greater than filter operator\"\n filterGtOperator=\"Is greater than\"\n\n i18n-filterLteOperator=\"kendo.gantt.filterLteOperator|The text of the less than or equal filter operator\"\n filterLteOperator=\"Is less than or equal to\"\n\n i18n-filterLtOperator=\"kendo.gantt.filterLtOperator|The text of the less than filter operator\"\n filterLtOperator=\"Is less than\"\n\n i18n-filterIsTrue=\"kendo.gantt.filterIsTrue|The text of the IsTrue boolean filter option\"\n filterIsTrue=\"Is True\"\n\n i18n-filterIsFalse=\"kendo.gantt.filterIsFalse|The text of the IsFalse boolean filter option\"\n filterIsFalse=\"Is False\"\n\n i18n-filterBooleanAll=\"kendo.gantt.filterBooleanAll|The text of the (All) boolean filter option\"\n filterBooleanAll=\"(All)\"\n\n i18n-filterAfterOrEqualOperator=\"kendo.gantt.filterAfterOrEqualOperator|The text of the after or equal date filter operator\"\n filterAfterOrEqualOperator=\"Is after or equal to\"\n\n i18n-filterAfterOperator=\"kendo.gantt.filterAfterOperator|The text of the after date filter operator\"\n filterAfterOperator=\"Is after\"\n\n i18n-filterBeforeOperator=\"kendo.gantt.filterBeforeOperator|The text of the before date filter operator\"\n filterBeforeOperator=\"Is before\"\n\n i18n-filterBeforeOrEqualOperator=\"kendo.gantt.filterBeforeOrEqualOperator|The text of the before or equal date filter operator\"\n filterBeforeOrEqualOperator=\"Is before or equal to\"\n\n i18n-filterFilterButton=\"kendo.gantt.filterFilterButton|The text of the filter button\"\n filterFilterButton=\"Filter\"\n\n i18n-filterClearButton=\"kendo.gantt.filterClearButton|The text of the clear filter button\"\n filterClearButton=\"Clear\"\n\n i18n-filterAndLogic=\"kendo.gantt.filterAndLogic|The text of the And filter logic\"\n filterAndLogic=\"And\"\n\n i18n-filterOrLogic=\"kendo.gantt.filterOrLogic|The text of the Or filter logic\"\n filterOrLogic=\"Or\"\n\n i18n-loading=\"kendo.gantt.loading|The loading text\"\n loading=\"Loading\"\n\n i18n-columnMenu=\"kendo.gantt.columnMenu|The title of the column menu icon\"\n columnMenu=\"Column Menu\"\n\n i18n-columns=\"kendo.gantt.columns|The text shown in the column menu for the columns item\"\n columns=\"Columns\"\n\n i18n-lock-disabled=\"kendo.gantt.lock|The text shown in the column menu for the lock item\"\n lock-disabled=\"Lock\"\n\n i18n-unlock-disabled=\"kendo.gantt.unlock|The text shown in the column menu for the unlock item\"\n unlock-disabled=\"Unlock\"\n\n i18n-sortable=\"kendo.gantt.sortable|The label of the sort icon\"\n sortable=\"Sortable\"\n\n i18n-sortAscending=\"kendo.gantt.sortAscending|The text shown in the column menu for the sort ascending item\"\n sortAscending=\"Sort Ascending\"\n\n i18n-sortDescending=\"kendo.gantt.sortDescending|The text shown in the column menu for the sort descending item\"\n sortDescending=\"Sort Descending\"\n\n i18n-sortedAscending=\"kendo.gantt.sortedAscending|The status announcement when a column is sorted ascending\"\n sortedAscending=\"Sorted Ascending\"\n\n i18n-sortedDescending=\"kendo.gantt.sortedDescending|The status announcement when a column is sorted descending\"\n sortedDescending=\"Sorted Descending\"\n\n i18n-sortedDefault=\"kendo.gantt.sortedDefault|The status announcement when a column is no longer sorted\"\n sortedDefault=\"Not Sorted\"\n\n i18n-columnsApply=\"kendo.gantt.columnsApply|The text shown in the column menu or column chooser for the columns apply button\"\n columnsApply=\"Apply\"\n\n i18n-columnsReset=\"kendo.gantt.columnsReset|The text shown in the column menu or column chooser for the columns reset button\"\n columnsReset=\"Reset\"></ng-container>\n <kendo-gantt-toolbar\n *ngIf=\"showToolbar('top')\"\n class=\"k-gantt-header k-toolbar k-gantt-toolbar\"\n position=\"top\"></kendo-gantt-toolbar>\n <div class=\"k-gantt-content\">\n <kendo-splitter [style.border]=\"0\">\n <kendo-splitter-pane\n class=\"k-gantt-treelist k-gantt-treelist-scrollable\"\n [collapsible]=\"treeListPaneOptions?.collapsible\"\n [collapsed]=\"treeListPaneOptions?.collapsed\"\n (collapsedChange)=\"onTreeListCollapsedChange($event)\"\n [scrollable]=\"false\">\n <kendo-treelist\n [idField]=\"taskIdField\"\n [columns]=\"columns\"\n [data]=\"data\"\n [hasChildren]=\"hasChildren\"\n [fetchChildren]=\"fetchChildren\"\n [isExpanded]=\"isExpanded\"\n [autoSize]=\"columnsAutoSize\"\n [columnMenu]=\"columnMenu\"\n [reorderable]=\"columnsReorderable\"\n [resizable]=\"columnsResizable\"\n [rowClass]=\"rowClass\"\n [isSelected]=\"isSelected\"\n [selectable]=\"selectable\"\n [sortable]=\"sortable\"\n [sort]=\"sort\"\n [filterable]=\"filterMenu\"\n [filter]=\"filter\"\n (filterChange)=\"filterChange.emit($event)\"\n (sortChange)=\"sortChange.emit($event)\"\n (dataStateChange)=\"dataStateChange.emit({\n filter: $event.filter,\n sort: $event.sort\n })\"\n (expandStateChange)=\"expandStateChange.emit($event)\"\n (expand)=\"rowExpand.emit({ dataItem: $event.dataItem })\"\n (collapse)=\"rowCollapse.emit({ dataItem: $event.dataItem })\"\n (columnReorder)=\"columnReorder.emit($event)\"\n (columnResize)=\"columnResize.emit($event)\"\n (columnVisibilityChange)=\"handleColumnVisibilityChange($event)\"\n (columnLockedChange)=\"columnLockedChange.emit($event)\"\n (selectionChange)=\"handleTreeListSelectionChange($event)\"\n (cellClick)=\"handleTreeListCellClick($event)\"\n (cellClose)=\"handleCellClose($event)\"\n [kendoEventsOutsideAngular]=\"{\n dblclick: handleTreeListDoubleClick\n }\"\n [scope]=\"this\"\n >\n <kendo-treelist-messages [kendoGanttTreeListMessages]=\"localizationService\"></kendo-treelist-messages>\n </kendo-treelist>\n </kendo-splitter-pane>\n <kendo-splitter-pane\n [collapsible]=\"timelinePaneOptions?.collapsible\"\n [resizable]=\"timelinePaneOptions?.resizable\"\n [collapsed]=\"timelinePaneOptions?.collapsed\"\n [min]=\"timelinePaneOptions?.min\"\n [max]=\"timelinePaneOptions?.max\"\n [size]=\"timelinePaneOptions?.size\"\n (collapsedChange)=\"onTimelineCollapsedChange($event)\"\n (sizeChange)=\"onTimelinePaneSizeChange($event)\"\n [scrollable]=\"false\">\n <kendo-gantt-timeline\n *ngIf=\"views && views.length\"\n [rows]=\"renderedTreeListItems\"\n [slots]=\"timelineSlots\"\n [groupSlots]=\"timelineGroupSlots\"\n [tableWidth]=\"tableWidth\"\n [activeView]=\"activeView\"\n [taskContentTemplate]=\"taskContentTemplate?.templateRef\"\n [taskTemplate]=\"taskTemplate?.templateRef\"\n [summaryTaskTemplate]=\"summaryTaskTemplate?.templateRef\"\n [taskClass]=\"taskClass\"\n [dependencies]=\"dependencies\"\n [hasChildren]=\"hasChildren\"\n [isTaskSelected]=\"isTaskSelected\"\n [kendoEventsOutsideAngular]=\"{\n click: handleTimelineClick,\n contextmenu: handleTimelineRightClick,\n dblclick: handleTimelineDblClick,\n mousedown: handleTimelineMouseDown\n }\"\n [scope]=\"this\"\n ></kendo-gantt-timeline>\n </kendo-splitter-pane>\n </kendo-splitter>\n </div>\n <kendo-gantt-toolbar\n *ngIf=\"showToolbar('bottom')\"\n class=\"k-gantt-footer k-toolbar k-gantt-toolbar\"\n position=\"bottom\"></kendo-gantt-toolbar>\n <kendo-gantt-edit-dialog *ngIf=\"showEditingDialog\" [formGroup]=\"editDialogFormGroup\"></kendo-gantt-edit-dialog>\n <kendo-dialog\n *ngIf=\"showConfirmationDialog\"\n [width]=\"575\"\n [height]=\"170\"\n [title]=\"getText('confirmationDialogTitle')\"\n (close)=\"showConfirmationDialog = false;\">\n <span>{{getText('confirmationDialogContent')}}</span>\n <kendo-dialog-actions layout=\"normal\">\n <kendo-treelist-spacer></kendo-treelist-spacer>\n <button kendoButton [primary]=\"true\" (click)=\"handleDeleteConfirmation()\">{{ getText('deleteButtonText') }}</button>\n <button kendoButton (click)=\"showConfirmationDialog = false;\">{{ getText('cancelButtonText') }}</button>\n </kendo-dialog-actions>\n </kendo-dialog>\n "
1454
+ template: "\n <ng-container kendoGanttLocalizedMessages\n i18n-taskEditingGeneralTabTitle=\"kendo.gantt.taskEditingGeneralTabTitle|The title of the 'General' tab of the editing dialog TabStrip\"\n taskEditingGeneralTabTitle=\"General\"\n\n i18n-taskEditingPredecessorsTabTitle=\"kendo.gantt.taskEditingPredecessorsTabTitle|The title of the 'Predecessors' dependencies tab of the editing dialog TabStrip\"\n taskEditingPredecessorsTabTitle=\"Predecessors\"\n\n i18n-taskEditingSuccessorsTabTitle=\"kendo.gantt.taskEditingSuccessorsTabTitle|The title of the 'Successors' dependencies tab of the editing dialog TabStrip\"\n taskEditingSuccessorsTabTitle=\"Successors\"\n\n i18n-taskEditingDependenciesAddButtonText=\"kendo.gantt.taskEditingDependenciesAddButtonText|The text of the 'Add' button in the dependencies tabs of the editing dialog TabStrip\"\n taskEditingDependenciesAddButtonText=\"Add\"\n\n i18n-taskEditingDependenciesRemoveButtonText=\"kendo.gantt.taskEditingDependenciesRemoveButtonText|The text of the 'Remove' button in the dependencies tabs of the editing dialog TabStrip\"\n taskEditingDependenciesRemoveButtonText=\"Remove\"\n\n i18n-taskEditingDependenciesGridNameColumnTitle=\"kendo.gantt.taskEditingDependenciesGridNameColumnTitle|The title of the 'Task Title' Grid column in the dependencies tabs of the editing dialog TabStrip\"\n taskEditingDependenciesGridNameColumnTitle=\"Task Title\"\n\n i18n-taskEditingDependenciesGridTypeColumnTitle=\"kendo.gantt.taskEditingDependenciesGridTypeColumnTitle|The title of the 'Type' Grid column in the dependencies tabs of the editing dialog TabStrip\"\n taskEditingDependenciesGridTypeColumnTitle=\"Type\"\n\n i18n-taskDeleteLabel=\"kendo.gantt.taskDeleteLabel|The label of the task delete icon\"\n taskDeleteLabel=\"Delete\"\n\n i18n-taskEditingDialogTitle=\"kendo.gantt.taskEditingDialogTitle|The title of the task editing dialog\"\n taskEditingDialogTitle=\"Editing Task\"\n\n i18n-taskEditingDialogCloseTitle=\"kendo.gantt.taskEditingDialogCloseTitle|The title of the task editing dialog close button\"\n taskEditingDialogCloseTitle=\"Close\"\n\n i18n-confirmationDialogCloseTitle=\"kendo.gantt.confirmationDialogCloseTitle|The title of the confirmation dialog close button\"\n confirmationDialogCloseTitle=\"Close\"\n\n i18n-confirmationDialogTitle=\"kendo.gantt.confirmationDialogTitle|The title of the delete task confirmation dialog\"\n confirmationDialogTitle=\"Delete Task\"\n\n i18n-confirmationDialogContent=\"kendo.gantt.confirmationDialogContent|The content of the delete task confirmation dialog\"\n confirmationDialogContent=\"Are you sure you want to delete this task?\"\n\n i18n-deleteButtonText=\"kendo.gantt.deleteButtonText|The text of the task editing dialog 'Delete' button\"\n deleteButtonText=\"Delete\"\n\n i18n-cancelButtonText=\"kendo.gantt.cancelButtonText|The text of the task editing dialog 'Cancel' button\"\n cancelButtonText=\"Cancel\"\n\n i18n-saveButtonText=\"kendo.gantt.saveButtonText|The text of the task editing dialog 'Save' button\"\n saveButtonText=\"Save\"\n\n i18n-titleFieldInputLabel=\"kendo.gantt.titleFieldInputLabel|The label of the 'title' field input in editing mode\"\n titleFieldInputLabel=\"Title\"\n\n i18n-startFieldInputLabel=\"kendo.gantt.startFieldInputLabel|The label of the 'start' field input in editing mode\"\n startFieldInputLabel=\"Start\"\n\n i18n-endFieldInputLabel=\"kendo.gantt.endFieldInputLabel|The label of the 'end' field input in editing mode\"\n endFieldInputLabel=\"End\"\n\n i18n-completionRatioFieldInputLabel=\"kendo.gantt.completionRatioFieldInputLabel|The label of the 'completionRatio' field input in editing mode\"\n completionRatioFieldInputLabel=\"Progress\"\n\n i18n-dayViewText=\"kendo.gantt.dayViewText|The text of the day view in the ViewSelector component\"\n dayViewText=\"Day\"\n\n i18n-weekViewText=\"kendo.gantt.weekViewText|The text of the week view in the ViewSelector component\"\n weekViewText=\"Week\"\n\n i18n-monthViewText=\"kendo.gantt.monthViewText|The text of the month view in the ViewSelector component\"\n monthViewText=\"Month\"\n\n i18n-yearViewText-disabled=\"kendo.gantt.yearViewText|The text of the year view in the ViewSelector component\"\n yearViewText=\"Year\"\n\n i18n-addTaskText=\"kendo.gantt.addTaskText|The text of the DropDownButton in the AddTask component\"\n addTaskText=\"Add Task\"\n\n i18n-addChildText=\"kendo.gantt.addChildText|The text of the 'Add Child' option in the AddTask component\"\n addChildText=\"Add Child\"\n\n i18n-addAboveText=\"kendo.gantt.addAboveText|The text of the 'Add Above' option in the AddTask component\"\n addAboveText=\"Add Above\"\n\n i18n-addBelowText=\"kendo.gantt.addBelowText|The text of the 'Add Below' option in the AddTask component\"\n addBelowText=\"Add Below\"\n\n i18n-noRecords=\"kendo.gantt.noRecords|The label visible in the TreeList when there are no records\"\n noRecords=\"No records available.\"\n\n i18n-filter=\"kendo.gantt.filter|The label of the filter cell or icon\"\n filter=\"Filter\"\n\n i18n-filterEqOperator=\"kendo.gantt.filterEqOperator|The text of the equal filter operator\"\n filterEqOperator=\"Is equal to\"\n\n i18n-filterNotEqOperator=\"kendo.gantt.filterNotEqOperator|The text of the not equal filter operator\"\n filterNotEqOperator=\"Is not equal to\"\n\n i18n-filterIsNullOperator=\"kendo.gantt.filterIsNullOperator|The text of the is null filter operator\"\n filterIsNullOperator=\"Is null\"\n\n i18n-filterIsNotNullOperator=\"kendo.gantt.filterIsNotNullOperator|The text of the is not null filter operator\"\n filterIsNotNullOperator=\"Is not null\"\n\n i18n-filterIsEmptyOperator=\"kendo.gantt.filterIsEmptyOperator|The text of the is empty filter operator\"\n filterIsEmptyOperator=\"Is empty\"\n\n i18n-filterIsNotEmptyOperator=\"kendo.gantt.filterIsNotEmptyOperator|The text of the is not empty filter operator\"\n filterIsNotEmptyOperator=\"Is not empty\"\n\n i18n-filterStartsWithOperator=\"kendo.gantt.filterStartsWithOperator|The text of the starts with filter operator\"\n filterStartsWithOperator=\"Starts with\"\n\n i18n-filterContainsOperator=\"kendo.gantt.filterContainsOperator|The text of the contains filter operator\"\n filterContainsOperator=\"Contains\"\n\n i18n-filterNotContainsOperator=\"kendo.gantt.filterNotContainsOperator|The text of the does not contain filter operator\"\n filterNotContainsOperator=\"Does not contain\"\n\n i18n-filterEndsWithOperator=\"kendo.gantt.filterEndsWithOperator|The text of the ends with filter operator\"\n filterEndsWithOperator=\"Ends with\"\n\n i18n-filterGteOperator=\"kendo.gantt.filterGteOperator|The text of the greater than or equal filter operator\"\n filterGteOperator=\"Is greater than or equal to\"\n\n i18n-filterGtOperator=\"kendo.gantt.filterGtOperator|The text of the greater than filter operator\"\n filterGtOperator=\"Is greater than\"\n\n i18n-filterLteOperator=\"kendo.gantt.filterLteOperator|The text of the less than or equal filter operator\"\n filterLteOperator=\"Is less than or equal to\"\n\n i18n-filterLtOperator=\"kendo.gantt.filterLtOperator|The text of the less than filter operator\"\n filterLtOperator=\"Is less than\"\n\n i18n-filterIsTrue=\"kendo.gantt.filterIsTrue|The text of the IsTrue boolean filter option\"\n filterIsTrue=\"Is True\"\n\n i18n-filterIsFalse=\"kendo.gantt.filterIsFalse|The text of the IsFalse boolean filter option\"\n filterIsFalse=\"Is False\"\n\n i18n-filterBooleanAll=\"kendo.gantt.filterBooleanAll|The text of the (All) boolean filter option\"\n filterBooleanAll=\"(All)\"\n\n i18n-filterAfterOrEqualOperator=\"kendo.gantt.filterAfterOrEqualOperator|The text of the after or equal date filter operator\"\n filterAfterOrEqualOperator=\"Is after or equal to\"\n\n i18n-filterAfterOperator=\"kendo.gantt.filterAfterOperator|The text of the after date filter operator\"\n filterAfterOperator=\"Is after\"\n\n i18n-filterBeforeOperator=\"kendo.gantt.filterBeforeOperator|The text of the before date filter operator\"\n filterBeforeOperator=\"Is before\"\n\n i18n-filterBeforeOrEqualOperator=\"kendo.gantt.filterBeforeOrEqualOperator|The text of the before or equal date filter operator\"\n filterBeforeOrEqualOperator=\"Is before or equal to\"\n\n i18n-filterFilterButton=\"kendo.gantt.filterFilterButton|The text of the filter button\"\n filterFilterButton=\"Filter\"\n\n i18n-filterClearButton=\"kendo.gantt.filterClearButton|The text of the clear filter button\"\n filterClearButton=\"Clear\"\n\n i18n-filterAndLogic=\"kendo.gantt.filterAndLogic|The text of the And filter logic\"\n filterAndLogic=\"And\"\n\n i18n-filterOrLogic=\"kendo.gantt.filterOrLogic|The text of the Or filter logic\"\n filterOrLogic=\"Or\"\n\n i18n-loading=\"kendo.gantt.loading|The loading text\"\n loading=\"Loading\"\n\n i18n-columnMenu=\"kendo.gantt.columnMenu|The title of the column menu icon\"\n columnMenu=\"Column Menu\"\n\n i18n-columns=\"kendo.gantt.columns|The text shown in the column menu for the columns item\"\n columns=\"Columns\"\n\n i18n-lock-disabled=\"kendo.gantt.lock|The text shown in the column menu for the lock item\"\n lock-disabled=\"Lock\"\n\n i18n-unlock-disabled=\"kendo.gantt.unlock|The text shown in the column menu for the unlock item\"\n unlock-disabled=\"Unlock\"\n\n i18n-sortable=\"kendo.gantt.sortable|The label of the sort icon\"\n sortable=\"Sortable\"\n\n i18n-sortAscending=\"kendo.gantt.sortAscending|The text shown in the column menu for the sort ascending item\"\n sortAscending=\"Sort Ascending\"\n\n i18n-sortDescending=\"kendo.gantt.sortDescending|The text shown in the column menu for the sort descending item\"\n sortDescending=\"Sort Descending\"\n\n i18n-sortedAscending=\"kendo.gantt.sortedAscending|The status announcement when a column is sorted ascending\"\n sortedAscending=\"Sorted Ascending\"\n\n i18n-sortedDescending=\"kendo.gantt.sortedDescending|The status announcement when a column is sorted descending\"\n sortedDescending=\"Sorted Descending\"\n\n i18n-sortedDefault=\"kendo.gantt.sortedDefault|The status announcement when a column is no longer sorted\"\n sortedDefault=\"Not Sorted\"\n\n i18n-columnsApply=\"kendo.gantt.columnsApply|The text shown in the column menu or column chooser for the columns apply button\"\n columnsApply=\"Apply\"\n\n i18n-columnsReset=\"kendo.gantt.columnsReset|The text shown in the column menu or column chooser for the columns reset button\"\n columnsReset=\"Reset\"></ng-container>\n <kendo-gantt-toolbar\n *ngIf=\"showToolbar('top')\"\n [showAddTask]=\"toolbarSettings.addTaskTool === 'top' || toolbarSettings.addTaskTool === 'both'\"\n [showViewSelector]=\"toolbarSettings.viewSelectorTool === 'top' || toolbarSettings.viewSelectorTool === 'both'\"\n class=\"k-gantt-header k-toolbar k-gantt-toolbar\"\n position=\"top\"></kendo-gantt-toolbar>\n <div class=\"k-gantt-content\">\n <kendo-splitter [style.border]=\"0\">\n <kendo-splitter-pane\n class=\"k-gantt-treelist k-gantt-treelist-scrollable\"\n [collapsible]=\"treeListPaneOptions?.collapsible\"\n [collapsed]=\"treeListPaneOptions?.collapsed\"\n (collapsedChange)=\"onTreeListCollapsedChange($event)\"\n [scrollable]=\"false\">\n <kendo-treelist\n [idField]=\"taskIdField\"\n [columns]=\"columns\"\n [data]=\"data\"\n [hasChildren]=\"hasChildren\"\n [fetchChildren]=\"fetchChildren\"\n [isExpanded]=\"isExpanded\"\n [autoSize]=\"columnsAutoSize\"\n [columnMenu]=\"columnMenu\"\n [reorderable]=\"columnsReorderable\"\n [resizable]=\"columnsResizable\"\n [rowClass]=\"rowClass\"\n [isSelected]=\"isSelected\"\n [selectable]=\"selectable\"\n [sortable]=\"sortable\"\n [sort]=\"sort\"\n [filterable]=\"filterMenu\"\n [filter]=\"filter\"\n (filterChange)=\"filterChange.emit($event)\"\n (sortChange)=\"sortChange.emit($event)\"\n (dataStateChange)=\"dataStateChange.emit({\n filter: $event.filter,\n sort: $event.sort\n })\"\n (expandStateChange)=\"expandStateChange.emit($event)\"\n (expand)=\"rowExpand.emit({ dataItem: $event.dataItem })\"\n (collapse)=\"rowCollapse.emit({ dataItem: $event.dataItem })\"\n (columnReorder)=\"columnReorder.emit($event)\"\n (columnResize)=\"columnResize.emit($event)\"\n (columnVisibilityChange)=\"handleColumnVisibilityChange($event)\"\n (columnLockedChange)=\"columnLockedChange.emit($event)\"\n (selectionChange)=\"handleTreeListSelectionChange($event)\"\n (cellClick)=\"handleTreeListCellClick($event)\"\n (cellClose)=\"handleCellClose($event)\"\n [kendoEventsOutsideAngular]=\"{\n dblclick: handleTreeListDoubleClick\n }\"\n [scope]=\"this\"\n >\n <kendo-treelist-messages\n [noRecords]=\"getText('noRecords')\"\n [filter]=\"getText('filter')\"\n [filterEqOperator]=\"getText('filterEqOperator')\"\n [filterNotEqOperator]=\"getText('filterNotEqOperator')\"\n [filterIsNullOperator]=\"getText('filterIsNullOperator')\"\n [filterIsNotNullOperator]=\"getText('filterIsNotNullOperator')\"\n [filterIsEmptyOperator]=\"getText('filterIsEmptyOperator')\"\n [filterIsNotEmptyOperator]=\"getText('filterIsNotEmptyOperator')\"\n [filterStartsWithOperator]=\"getText('filterStartsWithOperator')\"\n [filterContainsOperator]=\"getText('filterContainsOperator')\"\n [filterNotContainsOperator]=\"getText('filterNotContainsOperator')\"\n [filterEndsWithOperator]=\"getText('filterEndsWithOperator')\"\n [filterGteOperator]=\"getText('filterGteOperator')\"\n [filterGtOperator]=\"getText('filterGtOperator')\"\n [filterLteOperator]=\"getText('filterLteOperator')\"\n [filterLtOperator]=\"getText('filterLtOperator')\"\n [filterIsTrue]=\"getText('filterIsTrue')\"\n [filterIsFalse]=\"getText('filterIsFalse')\"\n [filterBooleanAll]=\"getText('filterBooleanAll')\"\n [filterAfterOrEqualOperator]=\"getText('filterAfterOrEqualOperator')\"\n [filterAfterOperator]=\"getText('filterAfterOperator')\"\n [filterBeforeOperator]=\"getText('filterBeforeOperator')\"\n [filterBeforeOrEqualOperator]=\"getText('filterBeforeOrEqualOperator')\"\n [filterFilterButton]=\"getText('filterFilterButton')\"\n [filterClearButton]=\"getText('filterClearButton')\"\n [filterAndLogic]=\"getText('filterAndLogic')\"\n [filterOrLogic]=\"getText('filterOrLogic')\"\n [loading]=\"getText('loading')\"\n [columnMenu]=\"getText('columnMenu')\"\n [columns]=\"getText('columns')\"\n [sortable]=\"getText('sortable')\"\n [sortAscending]=\"getText('sortAscending')\"\n [sortDescending]=\"getText('sortDescending')\"\n [sortedAscending]=\"getText('sortedAscending')\"\n [sortedDescending]=\"getText('sortedDescending')\"\n [sortedDefault]=\"getText('sortedDefault')\"\n [columnsApply]=\"getText('columnsApply')\"\n [columnsReset]=\"getText('columnsReset')\"\n >\n </kendo-treelist-messages>\n </kendo-treelist>\n </kendo-splitter-pane>\n <kendo-splitter-pane\n [collapsible]=\"timelinePaneOptions?.collapsible\"\n [resizable]=\"timelinePaneOptions?.resizable\"\n [collapsed]=\"timelinePaneOptions?.collapsed\"\n [min]=\"timelinePaneOptions?.min\"\n [max]=\"timelinePaneOptions?.max\"\n [size]=\"timelinePaneOptions?.size\"\n (collapsedChange)=\"onTimelineCollapsedChange($event)\"\n (sizeChange)=\"onTimelinePaneSizeChange($event)\"\n [scrollable]=\"false\">\n <kendo-gantt-timeline\n *ngIf=\"views && views.length\"\n [renderDependencyDragClues]=\"renderDependencyDragClues\"\n [dragScrollSettings]=\"dragScrollSettings\"\n [rows]=\"renderedTreeListItems\"\n [slots]=\"timelineSlots\"\n [groupSlots]=\"timelineGroupSlots\"\n [tableWidth]=\"tableWidth\"\n [activeView]=\"activeView\"\n [taskContentTemplate]=\"taskContentTemplate?.templateRef\"\n [taskTemplate]=\"taskTemplate?.templateRef\"\n [summaryTaskTemplate]=\"summaryTaskTemplate?.templateRef\"\n [taskClass]=\"taskClass\"\n [dependencies]=\"dependencies\"\n [hasChildren]=\"hasChildren\"\n [isTaskSelected]=\"isTaskSelected\"\n [kendoEventsOutsideAngular]=\"{\n click: handleTimelineClick,\n contextmenu: handleTimelineRightClick,\n dblclick: handleTimelineDblClick,\n mousedown: handleTimelineMouseDown\n }\"\n [scope]=\"this\"\n ></kendo-gantt-timeline>\n </kendo-splitter-pane>\n </kendo-splitter>\n </div>\n <kendo-gantt-toolbar\n *ngIf=\"showToolbar('bottom')\"\n [showAddTask]=\"toolbarSettings.addTaskTool === 'bottom' || toolbarSettings.addTaskTool === 'both'\"\n [showViewSelector]=\"toolbarSettings.viewSelectorTool === 'bottom' || toolbarSettings.viewSelectorTool === 'both'\"\n class=\"k-gantt-footer k-toolbar k-gantt-toolbar\"\n position=\"bottom\"></kendo-gantt-toolbar>\n <kendo-gantt-edit-dialog\n *ngIf=\"showEditingDialog\"\n [data]=\"data\">\n </kendo-gantt-edit-dialog>\n <kendo-dialog\n *ngIf=\"showConfirmationDialog\"\n [width]=\"575\"\n [height]=\"170\"\n [title]=\"getText('confirmationDialogTitle')\"\n (close)=\"showConfirmationDialog = false;\">\n <span>{{ getText('confirmationDialogContent') }}</span>\n <kendo-dialog-actions layout=\"normal\">\n <kendo-treelist-spacer></kendo-treelist-spacer>\n <button kendoButton [primary]=\"true\" (click)=\"handleDeleteConfirmation()\">{{ getText('deleteButtonText') }}</button>\n <button kendoButton (click)=\"showConfirmationDialog = false;\">{{ getText('cancelButtonText') }}</button>\n </kendo-dialog-actions>\n </kendo-dialog>\n "
1270
1455
  }),
1271
1456
  tslib_1.__metadata("design:paramtypes", [timeline_view_service_1.TimelineViewService,
1272
1457
  scroll_sync_service_1.ScrollSyncService,
@@ -7,11 +7,19 @@ Object.defineProperty(exports, "__esModule", { value: true });
7
7
  var tslib_1 = require("tslib");
8
8
  var core_1 = require("@angular/core");
9
9
  var common_1 = require("@angular/common");
10
+ var forms_1 = require("@angular/forms");
10
11
  var kendo_angular_layout_1 = require("@progress/kendo-angular-layout");
11
12
  var kendo_angular_treelist_1 = require("@progress/kendo-angular-treelist");
12
13
  var kendo_angular_buttons_1 = require("@progress/kendo-angular-buttons");
13
14
  var kendo_angular_common_1 = require("@progress/kendo-angular-common");
14
15
  var kendo_angular_dialog_1 = require("@progress/kendo-angular-dialog");
16
+ var kendo_angular_label_1 = require("@progress/kendo-angular-label");
17
+ var kendo_angular_inputs_1 = require("@progress/kendo-angular-inputs");
18
+ var kendo_angular_dateinputs_1 = require("@progress/kendo-angular-dateinputs");
19
+ var kendo_angular_l10n_1 = require("@progress/kendo-angular-l10n");
20
+ var kendo_angular_popup_1 = require("@progress/kendo-angular-popup");
21
+ var kendo_common_1 = require("@progress/kendo-common");
22
+ var touch_enabled_1 = require("./common/touch-enabled");
15
23
  var gantt_component_1 = require("./gantt.component");
16
24
  var gantt_timeline_component_1 = require("./timeline/gantt-timeline.component");
17
25
  var gantt_tasks_table_body_component_1 = require("./rendering/gantt-tasks-table-body.component");
@@ -30,19 +38,21 @@ var toolbar_component_1 = require("./toolbar/toolbar.component");
30
38
  var toolbar_template_directive_1 = require("./toolbar/toolbar-template.directive");
31
39
  var view_selector_component_1 = require("./toolbar/view-selector.component");
32
40
  var gantt_dependency_directive_1 = require("./dependencies/gantt-dependency.directive");
41
+ var dependency_drag_create_directive_1 = require("./dragging/dependency-drag-create.directive");
42
+ var drag_validation_tooltip_component_1 = require("./dragging/drag-validation-tooltip.component");
43
+ var timeline_scroll_directive_1 = require("./scrolling/timeline-scroll.directive");
33
44
  var columns_1 = require("./columns/columns");
34
45
  var timeline_day_view_component_1 = require("./timeline/timeline-day-view.component");
35
46
  var timeline_week_view_component_1 = require("./timeline/timeline-week-view.component");
36
47
  var timeline_month_view_component_1 = require("./timeline/timeline-month-view.component");
37
48
  var edit_dialog_component_1 = require("./editing/edit-dialog.component");
38
- var forms_1 = require("@angular/forms");
39
- var kendo_angular_label_1 = require("@progress/kendo-angular-label");
40
- var kendo_angular_inputs_1 = require("@progress/kendo-angular-inputs");
41
- var kendo_angular_dateinputs_1 = require("@progress/kendo-angular-dateinputs");
42
49
  var custom_messages_component_1 = require("./localization/custom-messages.component");
43
- var kendo_angular_l10n_1 = require("@progress/kendo-angular-l10n");
44
50
  var localized_messages_directive_1 = require("./localization/localized-messages.directive");
45
- var treelist_messages_directive_1 = require("./localization/treelist-messages.directive");
51
+ var add_task_component_1 = require("./editing/add-task.component");
52
+ var kendo_angular_grid_1 = require("@progress/kendo-angular-grid");
53
+ var kendo_angular_dropdowns_1 = require("@progress/kendo-angular-dropdowns");
54
+ var dependencies_table_component_1 = require("./editing/dependencies-table.component");
55
+ var task_fields_component_1 = require("./editing/task-fields.component");
46
56
  var IMPORTED_MODULES = [
47
57
  common_1.CommonModule,
48
58
  forms_1.ReactiveFormsModule,
@@ -54,7 +64,12 @@ var IMPORTED_MODULES = [
54
64
  kendo_angular_treelist_1.TreeListModule,
55
65
  kendo_angular_buttons_1.ButtonsModule,
56
66
  kendo_angular_dialog_1.DialogModule,
57
- kendo_angular_common_1.EventsModule
67
+ kendo_angular_common_1.EventsModule,
68
+ kendo_angular_popup_1.PopupModule,
69
+ kendo_angular_common_1.DraggableModule,
70
+ kendo_angular_layout_1.TabStripModule,
71
+ kendo_angular_grid_1.GridModule,
72
+ kendo_angular_dropdowns_1.DropDownsModule
58
73
  ];
59
74
  var DECLARATIONS = [
60
75
  gantt_component_1.GanttComponent,
@@ -84,6 +99,7 @@ var DECLARATIONS = [
84
99
  columns_1.FooterTemplateDirective,
85
100
  expandable_directive_1.GanttExpandableDirective,
86
101
  gantt_dependency_directive_1.GanttDependencyDirective,
102
+ dependency_drag_create_directive_1.DependencyDragCreateDirective,
87
103
  timeline_day_view_component_1.TimelineDayViewComponent,
88
104
  timeline_week_view_component_1.TimelineWeekViewComponent,
89
105
  timeline_month_view_component_1.TimelineMonthViewComponent,
@@ -91,8 +107,14 @@ var DECLARATIONS = [
91
107
  edit_dialog_component_1.EditDialogComponent,
92
108
  custom_messages_component_1.CustomMessagesComponent,
93
109
  localized_messages_directive_1.LocalizedMessagesDirective,
94
- treelist_messages_directive_1.GanttTreeListMessagesDirective
110
+ add_task_component_1.GanttAddTaskComponent,
111
+ drag_validation_tooltip_component_1.DragValidationTooltipComponent,
112
+ timeline_scroll_directive_1.TimelineScrollableDirective,
113
+ dependencies_table_component_1.DependenciesTableComponent,
114
+ task_fields_component_1.TaskFieldsComponent
95
115
  ];
116
+ var ɵ0 = kendo_common_1.touchEnabled;
117
+ exports.ɵ0 = ɵ0;
96
118
  /**
97
119
  * Represents the [NgModule]({{ site.data.urls.angular['ngmoduleapi'] }})
98
120
  * definition for the Gantt component.
@@ -132,9 +154,13 @@ var GanttModule = /** @class */ (function () {
132
154
  imports: IMPORTED_MODULES.slice(),
133
155
  declarations: DECLARATIONS.slice(),
134
156
  exports: DECLARATIONS.slice(),
157
+ entryComponents: [drag_validation_tooltip_component_1.DragValidationTooltipComponent],
135
158
  providers: [{
136
159
  provide: kendo_angular_l10n_1.L10N_PREFIX,
137
160
  useValue: 'kendo.gantt'
161
+ }, {
162
+ provide: touch_enabled_1.TOUCH_ENABLED,
163
+ useValue: ɵ0
138
164
  }]
139
165
  })
140
166
  ], GanttModule);