@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
package/dist/npm/index.js CHANGED
@@ -13,22 +13,32 @@ var mapping_service_1 = require("./common/mapping.service");
13
13
  exports.MappingService = mapping_service_1.MappingService
14
14
  var option_changes_service_1 = require("./common/option-changes.service");
15
15
  exports.OptionChangesService = option_changes_service_1.OptionChangesService
16
+ var touch_enabled_1 = require("./common/touch-enabled");
17
+ exports.TOUCH_ENABLED = touch_enabled_1.TOUCH_ENABLED
16
18
  var dependency_dom_service_1 = require("./dependencies/dependency-dom.service");
17
19
  exports.DependencyDomService = dependency_dom_service_1.DependencyDomService
18
20
  var gantt_dependency_directive_1 = require("./dependencies/gantt-dependency.directive");
19
21
  exports.GanttDependencyDirective = gantt_dependency_directive_1.GanttDependencyDirective
22
+ var drag_validation_tooltip_component_1 = require("./dragging/drag-validation-tooltip.component");
23
+ exports.DragValidationTooltipComponent = drag_validation_tooltip_component_1.DragValidationTooltipComponent
24
+ var add_task_component_1 = require("./editing/add-task.component");
25
+ exports.GanttAddTaskComponent = add_task_component_1.GanttAddTaskComponent
26
+ var dependencies_table_component_1 = require("./editing/dependencies-table.component");
27
+ exports.DependenciesTableComponent = dependencies_table_component_1.DependenciesTableComponent
20
28
  var edit_dialog_component_1 = require("./editing/edit-dialog.component");
21
29
  exports.EditDialogComponent = edit_dialog_component_1.EditDialogComponent
22
30
  var edit_service_1 = require("./editing/edit.service");
23
31
  exports.EditService = edit_service_1.EditService
32
+ var task_fields_component_1 = require("./editing/task-fields.component");
33
+ exports.TaskFieldsComponent = task_fields_component_1.TaskFieldsComponent
24
34
  var custom_messages_component_1 = require("./localization/custom-messages.component");
25
35
  exports.CustomMessagesComponent = custom_messages_component_1.CustomMessagesComponent
36
+ var gantt_localization_service_1 = require("./localization/gantt-localization.service");
37
+ exports.GanttLocalizationService = gantt_localization_service_1.GanttLocalizationService
26
38
  var localized_messages_directive_1 = require("./localization/localized-messages.directive");
27
39
  exports.LocalizedMessagesDirective = localized_messages_directive_1.LocalizedMessagesDirective
28
40
  var messages_1 = require("./localization/messages");
29
41
  exports.Messages = messages_1.Messages
30
- var treelist_messages_directive_1 = require("./localization/treelist-messages.directive");
31
- exports.GanttTreeListMessagesDirective = treelist_messages_directive_1.GanttTreeListMessagesDirective
32
42
  var preventable_event_1 = require("./models/events/preventable-event");
33
43
  exports.PreventableEvent = preventable_event_1.PreventableEvent
34
44
  var gantt_header_table_body_component_1 = require("./rendering/gantt-header-table-body.component");
@@ -45,6 +55,10 @@ var gantt_tasks_table_body_component_1 = require("./rendering/gantt-tasks-table-
45
55
  exports.GanttTasksTableBodyComponent = gantt_tasks_table_body_component_1.GanttTasksTableBodyComponent
46
56
  var scroll_sync_service_1 = require("./scrolling/scroll-sync.service");
47
57
  exports.ScrollSyncService = scroll_sync_service_1.ScrollSyncService
58
+ var timeline_scroll_directive_1 = require("./scrolling/timeline-scroll.directive");
59
+ exports.TimelineScrollableDirective = timeline_scroll_directive_1.TimelineScrollableDirective
60
+ var timeline_scroll_service_1 = require("./scrolling/timeline-scroll.service");
61
+ exports.TimelineScrollService = timeline_scroll_service_1.TimelineScrollService
48
62
  var gantt_timeline_component_1 = require("./timeline/gantt-timeline.component");
49
63
  exports.GanttTimelineComponent = gantt_timeline_component_1.GanttTimelineComponent
50
64
  var timeline_base_view_service_1 = require("./timeline/timeline-base-view.service");
@@ -0,0 +1,28 @@
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
+ "use strict";
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ var tslib_1 = require("tslib");
8
+ var core_1 = require("@angular/core");
9
+ var kendo_angular_l10n_1 = require("@progress/kendo-angular-l10n");
10
+ /**
11
+ * @hidden
12
+ *
13
+ * Needed to keep the Gantt's LocalizationService reference and be able to use it component's inside the TabStrip
14
+ */
15
+ var GanttLocalizationService = /** @class */ (function () {
16
+ function GanttLocalizationService(localizationService) {
17
+ this.localizationService = localizationService;
18
+ }
19
+ GanttLocalizationService.prototype.get = function (token) {
20
+ return this.localizationService.get(token);
21
+ };
22
+ GanttLocalizationService = tslib_1.__decorate([
23
+ core_1.Injectable(),
24
+ tslib_1.__metadata("design:paramtypes", [kendo_angular_l10n_1.LocalizationService])
25
+ ], GanttLocalizationService);
26
+ return GanttLocalizationService;
27
+ }());
28
+ exports.GanttLocalizationService = GanttLocalizationService;
@@ -15,6 +15,38 @@ var Messages = /** @class */ (function (_super) {
15
15
  function Messages() {
16
16
  return _super !== null && _super.apply(this, arguments) || this;
17
17
  }
18
+ tslib_1.__decorate([
19
+ core_1.Input(),
20
+ tslib_1.__metadata("design:type", String)
21
+ ], Messages.prototype, "taskEditingGeneralTabTitle", void 0);
22
+ tslib_1.__decorate([
23
+ core_1.Input(),
24
+ tslib_1.__metadata("design:type", String)
25
+ ], Messages.prototype, "taskEditingPredecessorsTabTitle", void 0);
26
+ tslib_1.__decorate([
27
+ core_1.Input(),
28
+ tslib_1.__metadata("design:type", String)
29
+ ], Messages.prototype, "taskEditingSuccessorsTabTitle", void 0);
30
+ tslib_1.__decorate([
31
+ core_1.Input(),
32
+ tslib_1.__metadata("design:type", String)
33
+ ], Messages.prototype, "taskEditingDependenciesAddButtonText", void 0);
34
+ tslib_1.__decorate([
35
+ core_1.Input(),
36
+ tslib_1.__metadata("design:type", String)
37
+ ], Messages.prototype, "taskEditingDependenciesRemoveButtonText", void 0);
38
+ tslib_1.__decorate([
39
+ core_1.Input(),
40
+ tslib_1.__metadata("design:type", String)
41
+ ], Messages.prototype, "taskEditingDependenciesGridNameColumnTitle", void 0);
42
+ tslib_1.__decorate([
43
+ core_1.Input(),
44
+ tslib_1.__metadata("design:type", String)
45
+ ], Messages.prototype, "taskEditingDependenciesGridTypeColumnTitle", void 0);
46
+ tslib_1.__decorate([
47
+ core_1.Input(),
48
+ tslib_1.__metadata("design:type", String)
49
+ ], Messages.prototype, "deleteButtonText", void 0);
18
50
  tslib_1.__decorate([
19
51
  core_1.Input(),
20
52
  tslib_1.__metadata("design:type", String)
@@ -38,7 +70,19 @@ var Messages = /** @class */ (function (_super) {
38
70
  tslib_1.__decorate([
39
71
  core_1.Input(),
40
72
  tslib_1.__metadata("design:type", String)
41
- ], Messages.prototype, "deleteButtonText", void 0);
73
+ ], Messages.prototype, "addTaskText", void 0);
74
+ tslib_1.__decorate([
75
+ core_1.Input(),
76
+ tslib_1.__metadata("design:type", String)
77
+ ], Messages.prototype, "addChildText", void 0);
78
+ tslib_1.__decorate([
79
+ core_1.Input(),
80
+ tslib_1.__metadata("design:type", String)
81
+ ], Messages.prototype, "addAboveText", void 0);
82
+ tslib_1.__decorate([
83
+ core_1.Input(),
84
+ tslib_1.__metadata("design:type", String)
85
+ ], Messages.prototype, "addBelowText", void 0);
42
86
  tslib_1.__decorate([
43
87
  core_1.Input(),
44
88
  tslib_1.__metadata("design:type", String)
package/dist/npm/main.js CHANGED
@@ -15,6 +15,8 @@ var flat_binding_directive_1 = require("./binding-directives/flat-binding.direct
15
15
  exports.GanttFlatBindingDirective = flat_binding_directive_1.GanttFlatBindingDirective;
16
16
  var expandable_directive_1 = require("./expanded-state/expandable.directive");
17
17
  exports.GanttExpandableDirective = expandable_directive_1.GanttExpandableDirective;
18
+ var dependency_drag_create_directive_1 = require("./dragging/dependency-drag-create.directive");
19
+ exports.DependencyDragCreateDirective = dependency_drag_create_directive_1.DependencyDragCreateDirective;
18
20
  var task_template_directive_1 = require("./template-directives/task-template.directive");
19
21
  exports.GanttTaskTemplateDirective = task_template_directive_1.GanttTaskTemplateDirective;
20
22
  var task_content_template_directive_1 = require("./template-directives/task-content-template.directive");
@@ -4,3 +4,19 @@
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  "use strict";
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
+ /**
8
+ * The dependency type when two tasks are connected.
9
+ *
10
+ * The supported values are:
11
+ * * `FF`—from 'finish' to 'finish'
12
+ * * `FS`—from 'finish' to 'start'
13
+ * * `SS`—from 'start' to 'start'
14
+ * * `SF`—from 'start' to 'finish'
15
+ */
16
+ var DependencyType;
17
+ (function (DependencyType) {
18
+ DependencyType[DependencyType["FF"] = 0] = "FF";
19
+ DependencyType[DependencyType["FS"] = 1] = "FS";
20
+ DependencyType[DependencyType["SF"] = 2] = "SF";
21
+ DependencyType[DependencyType["SS"] = 3] = "SS"; // task B can't start before task A starts
22
+ })(DependencyType = exports.DependencyType || (exports.DependencyType = {}));
@@ -4,5 +4,7 @@
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  "use strict";
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
+ var dependency_type_enum_1 = require("./dependency-type.enum");
8
+ exports.DependencyType = dependency_type_enum_1.DependencyType;
7
9
  var cell_close_event_interface_1 = require("./events/cell-close-event.interface");
8
10
  exports.CellCloseEvent = cell_close_event_interface_1.CellCloseEvent;
@@ -11,7 +11,7 @@ exports.packageMetadata = {
11
11
  name: '@progress/kendo-angular-gantt',
12
12
  productName: 'Kendo UI for Angular',
13
13
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
14
- publishDate: 1639071314,
14
+ publishDate: 1642086647,
15
15
  version: '',
16
16
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
17
17
  };
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
7
7
  var tslib_1 = require("tslib");
8
8
  var core_1 = require("@angular/core");
9
9
  var mapping_service_1 = require("../common/mapping.service");
10
+ var touch_enabled_1 = require("../common/touch-enabled");
10
11
  var dependency_dom_service_1 = require("../dependencies/dependency-dom.service");
11
12
  var option_changes_service_1 = require("../common/option-changes.service");
12
13
  var timeline_view_service_1 = require("./../timeline/timeline-view.service");
@@ -16,8 +17,9 @@ var gantt_task_base_1 = require("./gantt-task-base");
16
17
  */
17
18
  var GanttMilestoneTaskComponent = /** @class */ (function (_super) {
18
19
  tslib_1.__extends(GanttMilestoneTaskComponent, _super);
19
- function GanttMilestoneTaskComponent(mapper, timelineViewService, dependencyDomService, optionChangesService, cdr) {
20
+ function GanttMilestoneTaskComponent(touchEnabled, mapper, timelineViewService, dependencyDomService, optionChangesService, cdr) {
20
21
  var _this = _super.call(this, mapper, timelineViewService, dependencyDomService, optionChangesService, cdr) || this;
22
+ _this.touchEnabled = touchEnabled;
21
23
  _this.milestoneWrapperClass = true;
22
24
  return _this;
23
25
  }
@@ -36,9 +38,10 @@ var GanttMilestoneTaskComponent = /** @class */ (function (_super) {
36
38
  useExisting: core_1.forwardRef(function () { return GanttMilestoneTaskComponent_1; })
37
39
  }
38
40
  ],
39
- template: "\n <div\n #task\n class=\"k-task k-task-milestone\"\n [ngClass]=\"taskClass(dataItem)\"\n [style.left.px]=\"taskOffset\"\n [attr.title]=\"mapper.extractFromTask(dataItem, 'title')\"\n [class.k-state-selected]=\"isSelected(dataItem)\"\n [attr.data-task-index]=\"index\"\n >\n </div>\n "
41
+ template: "\n <div\n #task\n class=\"k-task k-task-milestone\"\n [ngClass]=\"taskClass(dataItem)\"\n [attr.title]=\"mapper.extractFromTask(dataItem, 'title')\"\n [class.k-state-selected]=\"isSelected(dataItem)\"\n >\n </div>\n <ng-container *ngIf=\"renderDependencyDragClues\">\n <div\n class=\"k-task-dot k-task-start k-touch-action-none\"\n [class.k-display-block]=\"touchEnabled\"\n >\n </div>\n <div\n class=\"k-task-dot k-task-end k-touch-action-none\"\n [class.k-display-block]=\"touchEnabled\"\n >\n </div>\n </ng-container>\n "
40
42
  }),
41
- tslib_1.__metadata("design:paramtypes", [mapping_service_1.MappingService,
43
+ tslib_1.__param(0, core_1.Inject(touch_enabled_1.TOUCH_ENABLED)),
44
+ tslib_1.__metadata("design:paramtypes", [Boolean, mapping_service_1.MappingService,
42
45
  timeline_view_service_1.TimelineViewService,
43
46
  dependency_dom_service_1.DependencyDomService,
44
47
  option_changes_service_1.OptionChangesService,
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
7
7
  var tslib_1 = require("tslib");
8
8
  var core_1 = require("@angular/core");
9
9
  var mapping_service_1 = require("../common/mapping.service");
10
+ var touch_enabled_1 = require("../common/touch-enabled");
10
11
  var dependency_dom_service_1 = require("../dependencies/dependency-dom.service");
11
12
  var option_changes_service_1 = require("../common/option-changes.service");
12
13
  var timeline_view_service_1 = require("./../timeline/timeline-view.service");
@@ -16,8 +17,9 @@ var gantt_task_base_1 = require("./gantt-task-base");
16
17
  */
17
18
  var GanttSummaryTaskComponent = /** @class */ (function (_super) {
18
19
  tslib_1.__extends(GanttSummaryTaskComponent, _super);
19
- function GanttSummaryTaskComponent(mapper, timelineViewService, dependencyDomService, optionChangesService, cdr) {
20
+ function GanttSummaryTaskComponent(touchEnabled, mapper, timelineViewService, dependencyDomService, optionChangesService, cdr) {
20
21
  var _this = _super.call(this, mapper, timelineViewService, dependencyDomService, optionChangesService, cdr) || this;
22
+ _this.touchEnabled = touchEnabled;
21
23
  _this.summaryWrapperClass = true;
22
24
  return _this;
23
25
  }
@@ -40,9 +42,10 @@ var GanttSummaryTaskComponent = /** @class */ (function (_super) {
40
42
  useExisting: core_1.forwardRef(function () { return GanttSummaryTaskComponent_1; })
41
43
  }
42
44
  ],
43
- template: "\n <div\n #task\n class=\"k-task k-task-summary\"\n [ngClass]=\"taskClass(dataItem)\"\n [style.width.px]=\"taskWidth\"\n [style.left.px]=\"taskOffset\"\n [attr.title]=\"mapper.extractFromTask(dataItem, 'title')\"\n [attr.data-task-index]=\"index\"\n [class.k-state-selected]=\"isSelected(dataItem)\"\n >\n <div *ngIf=\"!template; else summaryTemplate\"\n class=\"k-task-summary-progress\"\n [style.width.px]=\"taskWidth\">\n <div\n class=\"k-task-summary-complete\"\n [style.width.px]=\"completionOverlayWidth\"\n >\n </div>\n </div>\n <ng-template\n #summaryTemplate\n [ngTemplateOutlet]=\"template\"\n [ngTemplateOutletContext]=\"{\n $implicit: dataItem,\n elementWidth: taskWidth\n }\"\n >\n </ng-template>\n </div>\n "
45
+ template: "\n <div\n #task\n class=\"k-task k-task-summary\"\n [ngClass]=\"taskClass(dataItem)\"\n [style.width.px]=\"taskWidth\"\n [attr.title]=\"mapper.extractFromTask(dataItem, 'title')\"\n [class.k-state-selected]=\"isSelected(dataItem)\"\n >\n <div *ngIf=\"!template; else summaryTemplate\"\n class=\"k-task-summary-progress\"\n [style.width.px]=\"taskWidth\">\n <div\n class=\"k-task-summary-complete\"\n [style.width.px]=\"completionOverlayWidth\"\n >\n </div>\n </div>\n <ng-template\n #summaryTemplate\n [ngTemplateOutlet]=\"template\"\n [ngTemplateOutletContext]=\"{\n $implicit: dataItem,\n elementWidth: taskWidth\n }\"\n >\n </ng-template>\n </div>\n <ng-container *ngIf=\"renderDependencyDragClues\">\n <div\n class=\"k-task-dot k-task-start k-touch-action-none\"\n [class.k-display-block]=\"touchEnabled\"\n >\n </div>\n <div\n class=\"k-task-dot k-task-end k-touch-action-none\"\n [class.k-display-block]=\"touchEnabled\"\n >\n </div>\n </ng-container>\n "
44
46
  }),
45
- tslib_1.__metadata("design:paramtypes", [mapping_service_1.MappingService,
47
+ tslib_1.__param(0, core_1.Inject(touch_enabled_1.TOUCH_ENABLED)),
48
+ tslib_1.__metadata("design:paramtypes", [Boolean, mapping_service_1.MappingService,
46
49
  timeline_view_service_1.TimelineViewService,
47
50
  dependency_dom_service_1.DependencyDomService,
48
51
  option_changes_service_1.OptionChangesService,
@@ -53,23 +53,6 @@ var GanttTaskBase = /** @class */ (function () {
53
53
  enumerable: true,
54
54
  configurable: true
55
55
  });
56
- GanttTaskBase.prototype.ngOnChanges = function (changes) {
57
- if (utils_1.isPresent(changes.dataItem)) {
58
- if (utils_1.isPresent(changes.dataItem.previousValue)) {
59
- this.dependencyDomService.unregisterTask(changes.dataItem.previousValue);
60
- }
61
- this.dependencyDomService.registerTask(this.dataItem, this.taskElement.nativeElement);
62
- }
63
- else if (utils_1.isPresent(changes.activeView)) {
64
- this.dependencyDomService.notifyChanges();
65
- }
66
- };
67
- GanttTaskBase.prototype.ngOnDestroy = function () {
68
- if (utils_1.isPresent(this.dataItem)) {
69
- this.dependencyDomService.unregisterTask(this.dataItem);
70
- }
71
- this.viewChangesSubscription.unsubscribe();
72
- };
73
56
  Object.defineProperty(GanttTaskBase.prototype, "taskWidth", {
74
57
  get: function () {
75
58
  var itemDuration = this.mapper.extractFromTask(this.dataItem, 'end') - this.mapper.extractFromTask(this.dataItem, 'start');
@@ -81,6 +64,12 @@ var GanttTaskBase = /** @class */ (function () {
81
64
  configurable: true
82
65
  });
83
66
  Object.defineProperty(GanttTaskBase.prototype, "taskOffset", {
67
+ /**
68
+ * The `left` style prop has to be applied to the host element (.k-task-wrap), as the drag clue elements are displayed on .k-task-wrap hover.
69
+ * Applying the `left` offset to the inner .k-task element leaves the .k-task-wrap element rendered with an offset of 0 somewhere on the left
70
+ * and hovering just the .k-task element doesn't expose the drag clues.
71
+ * Additionally, positioning the entire container takes care of positioning the hints as well.
72
+ */
84
73
  get: function () {
85
74
  var timeAfterViewStart = this.mapper.extractFromTask(this.dataItem, 'start') - this.viewService.viewStart;
86
75
  var offsetInSlotUnits = timeAfterViewStart / this.slotUnitDuration;
@@ -99,6 +88,23 @@ var GanttTaskBase = /** @class */ (function () {
99
88
  enumerable: true,
100
89
  configurable: true
101
90
  });
91
+ GanttTaskBase.prototype.ngOnChanges = function (changes) {
92
+ if (utils_1.isPresent(changes.dataItem)) {
93
+ if (utils_1.isPresent(changes.dataItem.previousValue)) {
94
+ this.dependencyDomService.unregisterTask(changes.dataItem.previousValue);
95
+ }
96
+ this.dependencyDomService.registerTask(this.dataItem, this.taskElement.nativeElement);
97
+ }
98
+ else if (utils_1.isPresent(changes.activeView)) {
99
+ this.dependencyDomService.notifyChanges();
100
+ }
101
+ };
102
+ GanttTaskBase.prototype.ngOnDestroy = function () {
103
+ if (utils_1.isPresent(this.dataItem)) {
104
+ this.dependencyDomService.unregisterTask(this.dataItem);
105
+ }
106
+ this.viewChangesSubscription.unsubscribe();
107
+ };
102
108
  tslib_1.__decorate([
103
109
  core_1.HostBinding('class.k-task-wrap'),
104
110
  tslib_1.__metadata("design:type", Boolean)
@@ -113,8 +119,8 @@ var GanttTaskBase = /** @class */ (function () {
113
119
  ], GanttTaskBase.prototype, "dataItem", void 0);
114
120
  tslib_1.__decorate([
115
121
  core_1.Input(),
116
- tslib_1.__metadata("design:type", Number)
117
- ], GanttTaskBase.prototype, "index", void 0);
122
+ tslib_1.__metadata("design:type", Boolean)
123
+ ], GanttTaskBase.prototype, "renderDependencyDragClues", void 0);
118
124
  tslib_1.__decorate([
119
125
  core_1.Input(),
120
126
  tslib_1.__metadata("design:type", Function)
@@ -127,6 +133,11 @@ var GanttTaskBase = /** @class */ (function () {
127
133
  core_1.Input(),
128
134
  tslib_1.__metadata("design:type", Function)
129
135
  ], GanttTaskBase.prototype, "taskClass", void 0);
136
+ tslib_1.__decorate([
137
+ core_1.HostBinding('style.left.px'),
138
+ tslib_1.__metadata("design:type", Number),
139
+ tslib_1.__metadata("design:paramtypes", [])
140
+ ], GanttTaskBase.prototype, "taskOffset", null);
130
141
  return GanttTaskBase;
131
142
  }());
132
143
  exports.GanttTaskBase = GanttTaskBase;
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
7
7
  var tslib_1 = require("tslib");
8
8
  var core_1 = require("@angular/core");
9
9
  var mapping_service_1 = require("../common/mapping.service");
10
+ var touch_enabled_1 = require("../common/touch-enabled");
10
11
  var dependency_dom_service_1 = require("../dependencies/dependency-dom.service");
11
12
  var option_changes_service_1 = require("../common/option-changes.service");
12
13
  var timeline_view_service_1 = require("./../timeline/timeline-view.service");
@@ -17,9 +18,10 @@ var edit_service_1 = require("../editing/edit.service");
17
18
  */
18
19
  var GanttTaskComponent = /** @class */ (function (_super) {
19
20
  tslib_1.__extends(GanttTaskComponent, _super);
20
- function GanttTaskComponent(mapper, timelineViewService, dependencyDomService, optionChangesService, cdr, editService) {
21
+ function GanttTaskComponent(editService, touchEnabled, mapper, timelineViewService, dependencyDomService, optionChangesService, cdr) {
21
22
  var _this = _super.call(this, mapper, timelineViewService, dependencyDomService, optionChangesService, cdr) || this;
22
23
  _this.editService = editService;
24
+ _this.touchEnabled = touchEnabled;
23
25
  return _this;
24
26
  }
25
27
  GanttTaskComponent_1 = GanttTaskComponent;
@@ -45,14 +47,14 @@ var GanttTaskComponent = /** @class */ (function (_super) {
45
47
  useExisting: core_1.forwardRef(function () { return GanttTaskComponent_1; })
46
48
  }
47
49
  ],
48
- template: "\n <div\n #task\n class=\"k-task k-task-single\"\n [ngClass]=\"taskClass(dataItem)\"\n [style.width.px]=\"taskWidth\"\n [style.left.px]=\"taskOffset\"\n [attr.title]=\"mapper.extractFromTask(dataItem, 'title')\"\n [attr.data-task-index]=\"index\"\n [class.k-state-selected]=\"isSelected(dataItem)\"\n >\n <ng-container *ngIf=\"!taskTemplate\">\n <div\n class=\"k-task-complete\"\n [style.width.px]=\"completionOverlayWidth\"\n >\n </div>\n <div class=\"k-task-content\">\n <div class=\"k-task-template\">\n <ng-container *ngIf=\"!taskContentTemplate; else taskContent\">\n {{ mapper.extractFromTask(dataItem, 'title') }}\n </ng-container>\n <ng-template\n #taskContent\n [ngTemplateOutlet]=\"taskContentTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: dataItem }\"\n >\n </ng-template>\n </div>\n <span class=\"k-task-actions\">\n <span\n (click)=\"onTaskDelete()\"\n class=\"k-link k-task-delete\">\n <span class=\"k-icon k-i-close\"></span>\n </span>\n </span>\n </div>\n </ng-container>\n <ng-template\n *ngIf=\"taskTemplate\"\n [ngTemplateOutlet]=\"taskTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: dataItem,\n elementWidth: taskWidth\n }\"\n >\n </ng-template>\n </div>\n "
50
+ template: "\n <div\n #task\n class=\"k-task k-task-single\"\n [ngClass]=\"taskClass(dataItem)\"\n [style.width.px]=\"taskWidth\"\n [attr.title]=\"mapper.extractFromTask(dataItem, 'title')\"\n [class.k-state-selected]=\"isSelected(dataItem)\"\n >\n <ng-container *ngIf=\"!taskTemplate\">\n <div\n class=\"k-task-complete\"\n [style.width.px]=\"completionOverlayWidth\"\n >\n </div>\n <div class=\"k-task-content\">\n <div class=\"k-task-template\">\n <ng-container *ngIf=\"!taskContentTemplate; else taskContent\">\n {{ mapper.extractFromTask(dataItem, 'title') }}\n </ng-container>\n <ng-template\n #taskContent\n [ngTemplateOutlet]=\"taskContentTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: dataItem }\"\n >\n </ng-template>\n </div>\n <span class=\"k-task-actions\">\n <span\n (click)=\"onTaskDelete()\"\n class=\"k-link k-task-delete\">\n <span class=\"k-icon k-i-close\"></span>\n </span>\n </span>\n </div>\n </ng-container>\n <ng-template\n *ngIf=\"taskTemplate\"\n [ngTemplateOutlet]=\"taskTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: dataItem,\n elementWidth: taskWidth\n }\"\n >\n </ng-template>\n </div>\n <ng-container *ngIf=\"renderDependencyDragClues\">\n <div\n class=\"k-task-dot k-task-start k-touch-action-none\"\n [class.k-display-block]=\"touchEnabled\"\n >\n </div>\n <div\n class=\"k-task-dot k-task-end k-touch-action-none\"\n [class.k-display-block]=\"touchEnabled\"\n >\n </div>\n </ng-container>\n "
49
51
  }),
50
- tslib_1.__metadata("design:paramtypes", [mapping_service_1.MappingService,
52
+ tslib_1.__param(1, core_1.Inject(touch_enabled_1.TOUCH_ENABLED)),
53
+ tslib_1.__metadata("design:paramtypes", [edit_service_1.EditService, Boolean, mapping_service_1.MappingService,
51
54
  timeline_view_service_1.TimelineViewService,
52
55
  dependency_dom_service_1.DependencyDomService,
53
56
  option_changes_service_1.OptionChangesService,
54
- core_1.ChangeDetectorRef,
55
- edit_service_1.EditService])
57
+ core_1.ChangeDetectorRef])
56
58
  ], GanttTaskComponent);
57
59
  return GanttTaskComponent;
58
60
  }(gantt_task_base_1.GanttTaskBase));
@@ -69,10 +69,14 @@ var GanttTasksTableBodyComponent = /** @class */ (function () {
69
69
  core_1.Input(),
70
70
  tslib_1.__metadata("design:type", Function)
71
71
  ], GanttTasksTableBodyComponent.prototype, "isTaskSelected", void 0);
72
+ tslib_1.__decorate([
73
+ core_1.Input(),
74
+ tslib_1.__metadata("design:type", Boolean)
75
+ ], GanttTasksTableBodyComponent.prototype, "renderDependencyDragClues", void 0);
72
76
  GanttTasksTableBodyComponent = tslib_1.__decorate([
73
77
  core_1.Component({
74
78
  selector: '[kendoGanttTasksTableBody]',
75
- template: "\n <tr #timelineRow *ngFor=\"let item of rows; let index = index\">\n <td>\n <kendo-gantt-milestone-task\n *ngIf=\"isMileStone(item); else task\"\n [dataItem]=\"item\"\n [activeView]=\"activeView\"\n [taskClass]=\"taskClass\"\n [isSelected]=\"isTaskSelected\"\n [index]=\"index\"\n >\n </kendo-gantt-milestone-task>\n <ng-template #task>\n <kendo-gantt-summary-task\n *ngIf=\"hasChildren(item)\"\n [dataItem]=\"item\"\n [template]=\"summaryTaskTemplate\"\n [activeView]=\"activeView\"\n [taskClass]=\"taskClass\"\n [isSelected]=\"isTaskSelected\"\n [index]=\"index\"\n >\n </kendo-gantt-summary-task>\n <kendo-gantt-task\n *ngIf=\"!hasChildren(item)\"\n [dataItem]=\"item\"\n [taskContentTemplate]=\"taskContentTemplate\"\n [taskTemplate]=\"taskTemplate\"\n [activeView]=\"activeView\"\n [taskClass]=\"taskClass\"\n [isSelected]=\"isTaskSelected\"\n [index]=\"index\"\n >\n </kendo-gantt-task>\n </ng-template>\n </td>\n </tr>\n "
79
+ template: "\n <tr #timelineRow *ngFor=\"let item of rows; let index = index\">\n <td>\n <kendo-gantt-milestone-task\n *ngIf=\"isMileStone(item); else task\"\n [dataItem]=\"item\"\n [activeView]=\"activeView\"\n [taskClass]=\"taskClass\"\n [isSelected]=\"isTaskSelected\"\n [attr.data-task-index]=\"index\"\n [renderDependencyDragClues]=\"renderDependencyDragClues\"\n >\n </kendo-gantt-milestone-task>\n <ng-template #task>\n <kendo-gantt-summary-task\n *ngIf=\"hasChildren(item)\"\n [dataItem]=\"item\"\n [template]=\"summaryTaskTemplate\"\n [activeView]=\"activeView\"\n [taskClass]=\"taskClass\"\n [isSelected]=\"isTaskSelected\"\n [attr.data-task-index]=\"index\"\n [renderDependencyDragClues]=\"renderDependencyDragClues\"\n >\n </kendo-gantt-summary-task>\n <kendo-gantt-task\n *ngIf=\"!hasChildren(item)\"\n [dataItem]=\"item\"\n [taskContentTemplate]=\"taskContentTemplate\"\n [taskTemplate]=\"taskTemplate\"\n [activeView]=\"activeView\"\n [taskClass]=\"taskClass\"\n [isSelected]=\"isTaskSelected\"\n [attr.data-task-index]=\"index\"\n [renderDependencyDragClues]=\"renderDependencyDragClues\"\n >\n </kendo-gantt-task>\n </ng-template>\n </td>\n </tr>\n "
76
80
  }),
77
81
  tslib_1.__metadata("design:paramtypes", [dependency_dom_service_1.DependencyDomService,
78
82
  mapping_service_1.MappingService])
@@ -0,0 +1,22 @@
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
+ "use strict";
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ /**
8
+ * @hidden
9
+ */
10
+ var ScrollDirection;
11
+ (function (ScrollDirection) {
12
+ ScrollDirection[ScrollDirection["Backwards"] = -1] = "Backwards";
13
+ ScrollDirection[ScrollDirection["Forward"] = 1] = "Forward";
14
+ })(ScrollDirection = exports.ScrollDirection || (exports.ScrollDirection = {}));
15
+ /**
16
+ * @hidden
17
+ */
18
+ var ScrollAxis;
19
+ (function (ScrollAxis) {
20
+ ScrollAxis["Vertical"] = "scrollTop";
21
+ ScrollAxis["Horizontal"] = "scrollLeft";
22
+ })(ScrollAxis = exports.ScrollAxis || (exports.ScrollAxis = {}));
@@ -0,0 +1,91 @@
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
+ "use strict";
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ var tslib_1 = require("tslib");
8
+ var core_1 = require("@angular/core");
9
+ var rxjs_1 = require("rxjs");
10
+ var utils_1 = require("../utils");
11
+ var drag_scroll_settings_1 = require("./drag-scroll-settings");
12
+ var timeline_scroll_service_1 = require("./timeline-scroll.service");
13
+ var utils_2 = require("./utils");
14
+ /**
15
+ * @hidden
16
+ */
17
+ var TimelineScrollableDirective = /** @class */ (function () {
18
+ function TimelineScrollableDirective(timelineScrollableContainer, scrollService, zone) {
19
+ this.timelineScrollableContainer = timelineScrollableContainer;
20
+ this.scrollService = scrollService;
21
+ this.zone = zone;
22
+ this.subscriptions = new rxjs_1.Subscription();
23
+ this.subscriptions.add(this.scrollService.horizontalScroll
24
+ .subscribe(this.scrollHorizontallyTo.bind(this)));
25
+ this.subscriptions.add(this.scrollService.verticalScroll
26
+ .subscribe(this.scrollVerticallyTo.bind(this)));
27
+ this.subscriptions.add(this.scrollService.scrollCancel
28
+ .subscribe(this.cancelScroll.bind(this)));
29
+ }
30
+ TimelineScrollableDirective.prototype.ngOnDestroy = function () {
31
+ this.subscriptions.unsubscribe();
32
+ };
33
+ TimelineScrollableDirective.prototype.scrollHorizontallyTo = function (left) {
34
+ var _this = this;
35
+ this.zone.runOutsideAngular(function () {
36
+ var container = _this.timelineScrollableContainer.nativeElement;
37
+ var visibleBoundaries = utils_2.getViewportBoundaries(container);
38
+ if (left < visibleBoundaries.left + _this.scrollSettings.threshold) {
39
+ _this.horizontalScrollInterval = setInterval(function () {
40
+ return utils_2.scrollElement(container, _this.scrollSettings.step, drag_scroll_settings_1.ScrollDirection.Backwards, drag_scroll_settings_1.ScrollAxis.Horizontal);
41
+ }, _this.scrollSettings.interval);
42
+ }
43
+ else if (left > visibleBoundaries.right - _this.scrollSettings.threshold) {
44
+ _this.horizontalScrollInterval = setInterval(function () {
45
+ return utils_2.scrollElement(container, _this.scrollSettings.step, drag_scroll_settings_1.ScrollDirection.Forward, drag_scroll_settings_1.ScrollAxis.Horizontal);
46
+ }, _this.scrollSettings.interval);
47
+ }
48
+ });
49
+ };
50
+ TimelineScrollableDirective.prototype.scrollVerticallyTo = function (top) {
51
+ var _this = this;
52
+ this.zone.runOutsideAngular(function () {
53
+ var container = _this.timelineScrollableContainer.nativeElement;
54
+ var visibleBoundaries = utils_2.getViewportBoundaries(container);
55
+ if (top < visibleBoundaries.top + _this.scrollSettings.threshold) {
56
+ _this.verticalScrollInterval = setInterval(function () {
57
+ return utils_2.scrollElement(container, _this.scrollSettings.step, drag_scroll_settings_1.ScrollDirection.Backwards, drag_scroll_settings_1.ScrollAxis.Vertical);
58
+ }, _this.scrollSettings.interval);
59
+ }
60
+ else if (top > visibleBoundaries.bottom - _this.scrollSettings.threshold) {
61
+ _this.verticalScrollInterval = setInterval(function () {
62
+ return utils_2.scrollElement(container, _this.scrollSettings.step, drag_scroll_settings_1.ScrollDirection.Forward, drag_scroll_settings_1.ScrollAxis.Vertical);
63
+ }, _this.scrollSettings.interval);
64
+ }
65
+ });
66
+ };
67
+ TimelineScrollableDirective.prototype.cancelScroll = function () {
68
+ if (utils_1.isPresent(this.verticalScrollInterval)) {
69
+ clearInterval(this.verticalScrollInterval);
70
+ this.verticalScrollInterval = null;
71
+ }
72
+ if (utils_1.isPresent(this.horizontalScrollInterval)) {
73
+ clearInterval(this.horizontalScrollInterval);
74
+ this.horizontalScrollInterval = null;
75
+ }
76
+ };
77
+ tslib_1.__decorate([
78
+ core_1.Input(),
79
+ tslib_1.__metadata("design:type", Object)
80
+ ], TimelineScrollableDirective.prototype, "scrollSettings", void 0);
81
+ TimelineScrollableDirective = tslib_1.__decorate([
82
+ core_1.Directive({
83
+ selector: '[kendoGanttTimelineScrollable]'
84
+ }),
85
+ tslib_1.__metadata("design:paramtypes", [core_1.ElementRef,
86
+ timeline_scroll_service_1.TimelineScrollService,
87
+ core_1.NgZone])
88
+ ], TimelineScrollableDirective);
89
+ return TimelineScrollableDirective;
90
+ }());
91
+ exports.TimelineScrollableDirective = TimelineScrollableDirective;
@@ -0,0 +1,41 @@
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
+ "use strict";
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ var tslib_1 = require("tslib");
8
+ var core_1 = require("@angular/core");
9
+ var rxjs_1 = require("rxjs");
10
+ /**
11
+ * @hidden
12
+ *
13
+ * Notifies the timeline-scroll.directive to scroll into view to requested coordinates.
14
+ * The scrolling is performed based on client (viewport) coordinates.
15
+ */
16
+ var TimelineScrollService = /** @class */ (function () {
17
+ function TimelineScrollService() {
18
+ this.horizontalScroll = new rxjs_1.Subject();
19
+ this.verticalScroll = new rxjs_1.Subject();
20
+ this.scrollCancel = new rxjs_1.Subject();
21
+ }
22
+ TimelineScrollService.prototype.ngOnDestroy = function () {
23
+ this.horizontalScroll.complete();
24
+ this.verticalScroll.complete();
25
+ this.scrollCancel.complete();
26
+ };
27
+ TimelineScrollService.prototype.requestHorizontalScroll = function (clientTop) {
28
+ this.horizontalScroll.next(clientTop);
29
+ };
30
+ TimelineScrollService.prototype.requestVerticalScroll = function (clientLeft) {
31
+ this.verticalScroll.next(clientLeft);
32
+ };
33
+ TimelineScrollService.prototype.requestScrollCancel = function () {
34
+ this.scrollCancel.next();
35
+ };
36
+ TimelineScrollService = tslib_1.__decorate([
37
+ core_1.Injectable()
38
+ ], TimelineScrollService);
39
+ return TimelineScrollService;
40
+ }());
41
+ exports.TimelineScrollService = TimelineScrollService;