@progress/kendo-angular-gantt 2.0.0-next.202204010911 → 2.0.0-next.202204121022

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 (229) hide show
  1. package/binding-directives/flat-binding.directive.d.ts +24 -0
  2. package/binding-directives/hierarchy-binding.directive.d.ts +22 -0
  3. package/bundles/kendo-angular-gantt.umd.js +1 -1
  4. package/columns/cell-template.directive.d.ts +28 -0
  5. package/columns/column-base.d.ts +85 -0
  6. package/columns/column-group.component.d.ts +103 -0
  7. package/columns/column-menu-template.directive.d.ts +22 -0
  8. package/columns/column.component.d.ts +130 -0
  9. package/columns/columns.d.ts +15 -0
  10. package/columns/edit-template.directive.d.ts +26 -0
  11. package/columns/filter-cell-template.directive.d.ts +21 -0
  12. package/columns/filter-menu-template.directive.d.ts +20 -0
  13. package/columns/footer-template.directive.d.ts +24 -0
  14. package/columns/header-template.directive.d.ts +22 -0
  15. package/columns/span-column.component.d.ts +112 -0
  16. package/common/default-callbacks.d.ts +25 -0
  17. package/common/mapping.service.d.ts +38 -0
  18. package/common/option-changes.service.d.ts +17 -0
  19. package/common/touch-enabled.d.ts +9 -0
  20. package/dependencies/dependency-dom.service.d.ts +46 -0
  21. package/dependencies/dom-dependency-args.d.ts +24 -0
  22. package/dependencies/gantt-dependency.directive.d.ts +29 -0
  23. package/dependencies/utils.d.ts +53 -0
  24. package/dragging/dependency-drag-create.directive.d.ts +75 -0
  25. package/dragging/drag-validation-tooltip.component.d.ts +32 -0
  26. package/editing/add-task.component.d.ts +48 -0
  27. package/editing/dependencies-table.component.d.ts +42 -0
  28. package/editing/edit-dialog.component.d.ts +33 -0
  29. package/editing/edit.service.d.ts +44 -0
  30. package/editing/task-fields.component.d.ts +25 -0
  31. package/editing/utils.d.ts +10 -0
  32. package/esm2015/binding-directives/flat-binding.directive.js +34 -0
  33. package/esm2015/binding-directives/hierarchy-binding.directive.js +32 -0
  34. package/esm2015/columns/cell-template.directive.js +37 -0
  35. package/esm2015/columns/column-base.js +52 -0
  36. package/esm2015/columns/column-group.component.js +94 -0
  37. package/esm2015/columns/column-menu-template.directive.js +31 -0
  38. package/esm2015/columns/column.component.js +133 -0
  39. package/esm2015/columns/columns.js +15 -0
  40. package/esm2015/columns/edit-template.directive.js +35 -0
  41. package/esm2015/columns/filter-cell-template.directive.js +30 -0
  42. package/esm2015/columns/filter-menu-template.directive.js +29 -0
  43. package/esm2015/columns/footer-template.directive.js +33 -0
  44. package/esm2015/columns/header-template.directive.js +31 -0
  45. package/esm2015/columns/span-column.component.js +86 -0
  46. package/esm2015/common/default-callbacks.js +25 -0
  47. package/esm2015/common/mapping.service.js +64 -0
  48. package/esm2015/common/option-changes.service.js +26 -0
  49. package/esm2015/common/touch-enabled.js +9 -0
  50. package/esm2015/dependencies/dependency-dom.service.js +70 -0
  51. package/esm2015/dependencies/dom-dependency-args.js +5 -0
  52. package/esm2015/dependencies/gantt-dependency.directive.js +82 -0
  53. package/esm2015/dependencies/utils.js +195 -0
  54. package/esm2015/dragging/dependency-drag-create.directive.js +318 -0
  55. package/esm2015/dragging/drag-validation-tooltip.component.js +90 -0
  56. package/esm2015/editing/add-task.component.js +109 -0
  57. package/esm2015/editing/dependencies-table.component.js +196 -0
  58. package/esm2015/editing/edit-dialog.component.js +170 -0
  59. package/esm2015/editing/edit.service.js +111 -0
  60. package/esm2015/editing/task-fields.component.js +101 -0
  61. package/esm2015/editing/utils.js +15 -0
  62. package/esm2015/expanded-state/expand-event.js +9 -0
  63. package/esm2015/expanded-state/expandable.directive.js +23 -0
  64. package/esm2015/gantt.component.js +2226 -0
  65. package/esm2015/gantt.module.js +264 -0
  66. package/esm2015/kendo-angular-gantt.js +8 -0
  67. package/esm2015/localization/custom-messages.component.js +41 -0
  68. package/esm2015/localization/gantt-localization.service.js +25 -0
  69. package/esm2015/localization/localized-messages.directive.js +36 -0
  70. package/esm2015/localization/messages.js +157 -0
  71. package/esm2015/main.js +37 -0
  72. package/esm2015/models/cell-content-type.interface.js +5 -0
  73. package/esm2015/models/class-callbacks.js +5 -0
  74. package/esm2015/models/column-menu-settings.interface.js +5 -0
  75. package/esm2015/models/column-reorder-config.js +5 -0
  76. package/esm2015/models/date-range.interface.js +5 -0
  77. package/esm2015/models/dependency-type.enum.js +20 -0
  78. package/esm2015/models/events/cell-click-event.interface.js +5 -0
  79. package/esm2015/models/events/cell-close-event.interface.js +14 -0
  80. package/esm2015/models/events/click-event.interface.js +5 -0
  81. package/esm2015/models/events/column-locked-change-event.interface.js +5 -0
  82. package/esm2015/models/events/column-reorder-event.interface.js +5 -0
  83. package/esm2015/models/events/column-resize-event.interface.js +5 -0
  84. package/esm2015/models/events/column-visibility-change-event.interface.js +5 -0
  85. package/esm2015/models/events/data-state-change-event.interface.js +5 -0
  86. package/esm2015/models/events/dependency-add-event.interface.js +5 -0
  87. package/esm2015/models/events/selected-view-change-event.interface.js +5 -0
  88. package/esm2015/models/events/task-add-event.interface.js +5 -0
  89. package/esm2015/models/events/task-click-event.interface.js +5 -0
  90. package/esm2015/models/events/task-delete-event.interface.js +5 -0
  91. package/esm2015/models/events/task-edit-event.interface.js +5 -0
  92. package/esm2015/models/events/task-move-end-event.interface.js +5 -0
  93. package/esm2015/models/events/task-move-event.interface.js +5 -0
  94. package/esm2015/models/events/task-move-start-event.interface.js +5 -0
  95. package/esm2015/models/events/task-resize-end-event.interface.js +5 -0
  96. package/esm2015/models/events/task-resize-event.interface.js +5 -0
  97. package/esm2015/models/events/task-resize-start-event.interface.js +5 -0
  98. package/esm2015/models/filterable-settings.js +5 -0
  99. package/esm2015/models/gantt-dependency-model-fields.interface.js +13 -0
  100. package/esm2015/models/gantt-dependency.interface.js +5 -0
  101. package/esm2015/models/gantt-task-model-fields.interface.js +15 -0
  102. package/esm2015/models/gantt-task.interface.js +5 -0
  103. package/esm2015/models/models.js +7 -0
  104. package/esm2015/models/slot.interface.js +5 -0
  105. package/esm2015/models/sort-settings.js +17 -0
  106. package/esm2015/models/splitter-pane-options.interface.js +20 -0
  107. package/esm2015/models/timeline-options.interface.js +5 -0
  108. package/esm2015/models/timeline-view.js +5 -0
  109. package/esm2015/models/toolbar-settings.js +5 -0
  110. package/esm2015/models/view-item.interface.js +5 -0
  111. package/esm2015/navigation/navigation-models.js +5 -0
  112. package/esm2015/navigation/navigation.service.js +265 -0
  113. package/esm2015/navigation/utils.js +69 -0
  114. package/esm2015/package-metadata.js +15 -0
  115. package/esm2015/rendering/gantt-header-table-body.component.js +42 -0
  116. package/esm2015/rendering/gantt-milestone-task.component.js +107 -0
  117. package/esm2015/rendering/gantt-summary-task.component.js +158 -0
  118. package/esm2015/rendering/gantt-task-base.js +148 -0
  119. package/esm2015/rendering/gantt-task.component.js +204 -0
  120. package/esm2015/rendering/gantt-tasks-table-body.component.js +160 -0
  121. package/esm2015/scrolling/drag-scroll-settings.js +20 -0
  122. package/esm2015/scrolling/scroll-sync.service.js +80 -0
  123. package/esm2015/scrolling/timeline-scroll.directive.js +75 -0
  124. package/esm2015/scrolling/timeline-scroll.service.js +39 -0
  125. package/esm2015/scrolling/utils.js +77 -0
  126. package/esm2015/selection/selectable.directive.js +112 -0
  127. package/esm2015/selection/selection-change-event.js +5 -0
  128. package/esm2015/template-directives/summary-task-template.directive.js +50 -0
  129. package/esm2015/template-directives/task-content-template.directive.js +45 -0
  130. package/esm2015/template-directives/task-template.directive.js +48 -0
  131. package/esm2015/timeline/gantt-timeline.component.js +334 -0
  132. package/esm2015/timeline/timeline-base-view.service.js +160 -0
  133. package/esm2015/timeline/timeline-day-view.component.js +38 -0
  134. package/esm2015/timeline/timeline-day-view.service.js +66 -0
  135. package/esm2015/timeline/timeline-month-view.component.js +38 -0
  136. package/esm2015/timeline/timeline-month-view.service.js +64 -0
  137. package/esm2015/timeline/timeline-view.service.js +35 -0
  138. package/esm2015/timeline/timeline-week-view.component.js +38 -0
  139. package/esm2015/timeline/timeline-week-view.service.js +60 -0
  140. package/esm2015/timeline/view-base.js +45 -0
  141. package/esm2015/toolbar/toolbar-template.directive.js +127 -0
  142. package/esm2015/toolbar/toolbar.component.js +94 -0
  143. package/esm2015/toolbar/view-selector.component.js +96 -0
  144. package/esm2015/utils.js +293 -0
  145. package/expanded-state/expand-event.d.ts +13 -0
  146. package/expanded-state/expandable.directive.d.ts +20 -0
  147. package/fesm2015/kendo-angular-gantt.js +7706 -0
  148. package/gantt.component.d.ts +750 -0
  149. package/gantt.module.d.ts +94 -0
  150. package/kendo-angular-gantt.d.ts +9 -0
  151. package/localization/custom-messages.component.d.ts +18 -0
  152. package/localization/gantt-localization.service.d.ts +18 -0
  153. package/localization/localized-messages.directive.d.ts +16 -0
  154. package/localization/messages.d.ts +293 -0
  155. package/main.d.ts +39 -0
  156. package/models/cell-content-type.interface.d.ts +10 -0
  157. package/models/class-callbacks.d.ts +43 -0
  158. package/models/column-menu-settings.interface.d.ts +26 -0
  159. package/models/column-reorder-config.d.ts +10 -0
  160. package/models/date-range.interface.d.ts +19 -0
  161. package/models/dependency-type.enum.d.ts +19 -0
  162. package/models/events/cell-click-event.interface.d.ts +43 -0
  163. package/models/events/cell-close-event.interface.d.ts +48 -0
  164. package/models/events/click-event.interface.d.ts +23 -0
  165. package/models/events/column-locked-change-event.interface.d.ts +16 -0
  166. package/models/events/column-reorder-event.interface.d.ts +10 -0
  167. package/models/events/column-resize-event.interface.d.ts +10 -0
  168. package/models/events/column-visibility-change-event.interface.d.ts +14 -0
  169. package/models/events/data-state-change-event.interface.d.ts +10 -0
  170. package/models/events/dependency-add-event.interface.d.ts +26 -0
  171. package/models/events/selected-view-change-event.interface.d.ts +19 -0
  172. package/models/events/task-add-event.interface.d.ts +31 -0
  173. package/models/events/task-click-event.interface.d.ts +30 -0
  174. package/models/events/task-delete-event.interface.d.ts +21 -0
  175. package/models/events/task-edit-event.interface.d.ts +76 -0
  176. package/models/events/task-move-end-event.interface.d.ts +12 -0
  177. package/models/events/task-move-event.interface.d.ts +23 -0
  178. package/models/events/task-move-start-event.interface.d.ts +15 -0
  179. package/models/events/task-resize-end-event.interface.d.ts +12 -0
  180. package/models/events/task-resize-event.interface.d.ts +23 -0
  181. package/models/events/task-resize-start-event.interface.d.ts +15 -0
  182. package/models/filterable-settings.d.ts +10 -0
  183. package/models/gantt-dependency-model-fields.interface.d.ts +35 -0
  184. package/models/gantt-dependency.interface.d.ts +26 -0
  185. package/models/gantt-task-model-fields.interface.d.ts +42 -0
  186. package/models/gantt-task.interface.d.ts +31 -0
  187. package/models/models.d.ts +42 -0
  188. package/models/slot.interface.d.ts +31 -0
  189. package/models/sort-settings.d.ts +42 -0
  190. package/models/splitter-pane-options.interface.d.ts +54 -0
  191. package/models/timeline-options.interface.d.ts +41 -0
  192. package/models/timeline-view.d.ts +8 -0
  193. package/models/toolbar-settings.d.ts +29 -0
  194. package/models/view-item.interface.d.ts +35 -0
  195. package/navigation/navigation-models.d.ts +38 -0
  196. package/navigation/navigation.service.d.ts +130 -0
  197. package/navigation/utils.d.ts +26 -0
  198. package/package-metadata.d.ts +9 -0
  199. package/package.json +10 -14
  200. package/rendering/gantt-header-table-body.component.d.ts +14 -0
  201. package/rendering/gantt-milestone-task.component.d.ts +22 -0
  202. package/rendering/gantt-summary-task.component.d.ts +25 -0
  203. package/rendering/gantt-task-base.d.ts +59 -0
  204. package/rendering/gantt-task.component.d.ts +26 -0
  205. package/rendering/gantt-tasks-table-body.component.d.ts +33 -0
  206. package/scrolling/drag-scroll-settings.d.ts +47 -0
  207. package/scrolling/scroll-sync.service.d.ts +33 -0
  208. package/scrolling/timeline-scroll.directive.d.ts +27 -0
  209. package/scrolling/timeline-scroll.service.d.ts +23 -0
  210. package/scrolling/utils.d.ts +29 -0
  211. package/selection/selectable.directive.d.ts +45 -0
  212. package/selection/selection-change-event.d.ts +25 -0
  213. package/template-directives/summary-task-template.directive.d.ts +41 -0
  214. package/template-directives/task-content-template.directive.d.ts +36 -0
  215. package/template-directives/task-template.directive.d.ts +39 -0
  216. package/timeline/gantt-timeline.component.d.ts +67 -0
  217. package/timeline/timeline-base-view.service.d.ts +77 -0
  218. package/timeline/timeline-day-view.component.d.ts +18 -0
  219. package/timeline/timeline-day-view.service.d.ts +38 -0
  220. package/timeline/timeline-month-view.component.d.ts +18 -0
  221. package/timeline/timeline-month-view.service.d.ts +38 -0
  222. package/timeline/timeline-view.service.d.ts +19 -0
  223. package/timeline/timeline-week-view.component.d.ts +18 -0
  224. package/timeline/timeline-week-view.service.d.ts +38 -0
  225. package/timeline/view-base.d.ts +34 -0
  226. package/toolbar/toolbar-template.directive.d.ts +112 -0
  227. package/toolbar/toolbar.component.d.ts +29 -0
  228. package/toolbar/view-selector.component.d.ts +43 -0
  229. package/utils.d.ts +166 -0
@@ -0,0 +1,66 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import { Injectable } from '@angular/core';
6
+ import { TimelineBaseViewService } from './timeline-base-view.service';
7
+ import { setTime } from '../utils';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@progress/kendo-angular-intl";
10
+ import * as i2 from "../common/mapping.service";
11
+ /**
12
+ * @hidden
13
+ */
14
+ export class TimelineDayViewService extends TimelineBaseViewService {
15
+ constructor(intlService, mapper) {
16
+ super(intlService, mapper);
17
+ }
18
+ /**
19
+ * Gets a date an hour before the first task start with minutes, seconds, milliseconds cleared.
20
+ */
21
+ getStartOffset(rangeStart) {
22
+ return setTime(rangeStart, rangeStart.getHours() - 1);
23
+ }
24
+ /**
25
+ * Gets a date an hour after the last task end with minutes, seconds, milliseconds cleared.
26
+ */
27
+ getEndOffset(rangeEnd) {
28
+ return setTime(rangeEnd, rangeEnd.getHours() + 1);
29
+ }
30
+ /**
31
+ *
32
+ * @param tasks - The tasks which are going to be rendered in the table
33
+ * @returns {number}
34
+ */
35
+ getTableWidth(tasks) {
36
+ const timeSlots = this.getSlots(tasks)[1];
37
+ const slotWidth = this.options.slotWidth;
38
+ return Math.round(timeSlots.length * slotWidth);
39
+ }
40
+ /**
41
+ *
42
+ * @param tasks - The tasks which are going to be rendered in the table
43
+ * @returns {Array<Object>} - A collection containing the day and hours slots
44
+ * Used to render the number of columns and the header
45
+ */
46
+ getSlots(tasks) {
47
+ // will return the header rows slots
48
+ let slots = [];
49
+ let { start, end } = this.getRange(tasks);
50
+ const daySlots = this.getDays(start, end);
51
+ const hourSlots = [];
52
+ for (let i = 0; i < daySlots.length; i++) {
53
+ const daySlot = daySlots[i];
54
+ const hours = this.getHours(daySlot.start, daySlot.end);
55
+ daySlot.span = hours.length;
56
+ hourSlots.push(...hours);
57
+ }
58
+ slots.push(daySlots, hourSlots);
59
+ return slots;
60
+ }
61
+ }
62
+ TimelineDayViewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TimelineDayViewService, deps: [{ token: i1.IntlService }, { token: i2.MappingService }], target: i0.ɵɵFactoryTarget.Injectable });
63
+ TimelineDayViewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TimelineDayViewService });
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TimelineDayViewService, decorators: [{
65
+ type: Injectable
66
+ }], ctorParameters: function () { return [{ type: i1.IntlService }, { type: i2.MappingService }]; } });
@@ -0,0 +1,38 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import { Component, forwardRef } from '@angular/core';
6
+ import { ViewBase } from './view-base';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "../common/option-changes.service";
9
+ import * as i2 from "../dependencies/dependency-dom.service";
10
+ export class TimelineMonthViewComponent extends ViewBase {
11
+ constructor(optionChangesService, dependencyDomService) {
12
+ super(optionChangesService, dependencyDomService);
13
+ /**
14
+ * The type for this view (`month`).
15
+ */
16
+ this.type = 'month';
17
+ }
18
+ }
19
+ TimelineMonthViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TimelineMonthViewComponent, deps: [{ token: i1.OptionChangesService }, { token: i2.DependencyDomService }], target: i0.ɵɵFactoryTarget.Component });
20
+ TimelineMonthViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TimelineMonthViewComponent, selector: "kendo-gantt-timeline-month-view", providers: [
21
+ {
22
+ provide: ViewBase,
23
+ useExisting: forwardRef(() => TimelineMonthViewComponent)
24
+ }
25
+ ], usesInheritance: true, ngImport: i0, template: '', isInline: true });
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TimelineMonthViewComponent, decorators: [{
27
+ type: Component,
28
+ args: [{
29
+ selector: 'kendo-gantt-timeline-month-view',
30
+ template: '',
31
+ providers: [
32
+ {
33
+ provide: ViewBase,
34
+ useExisting: forwardRef(() => TimelineMonthViewComponent)
35
+ }
36
+ ]
37
+ }]
38
+ }], ctorParameters: function () { return [{ type: i1.OptionChangesService }, { type: i2.DependencyDomService }]; } });
@@ -0,0 +1,64 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import { Injectable } from '@angular/core';
6
+ import { addDays, addWeeks, firstDayInWeek, getDate } from '@progress/kendo-date-math';
7
+ import { TimelineBaseViewService } from './timeline-base-view.service';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@progress/kendo-angular-intl";
10
+ import * as i2 from "../common/mapping.service";
11
+ /**
12
+ * @hidden
13
+ */
14
+ export class TimelineMonthViewService extends TimelineBaseViewService {
15
+ constructor(intlService, mapper) {
16
+ super(intlService, mapper);
17
+ }
18
+ /**
19
+ * Gets a week before the first week in which a task starts.
20
+ */
21
+ getStartOffset(rangeStart) {
22
+ const weekStart = this.intlService.firstDay();
23
+ const firstDay = firstDayInWeek(getDate(rangeStart), weekStart);
24
+ return addWeeks(getDate(firstDay), -1);
25
+ }
26
+ /**
27
+ * Gets a week after the last week in which a task ends.
28
+ */
29
+ getEndOffset(rangeEnd) {
30
+ const weekStart = this.intlService.firstDay();
31
+ const lastDay = addDays(firstDayInWeek(getDate(rangeEnd), weekStart), 6);
32
+ return addWeeks(getDate(lastDay), 1);
33
+ }
34
+ /**
35
+ *
36
+ * @param tasks - The tasks which are going to be rendered in the table
37
+ * @returns {number}
38
+ */
39
+ getTableWidth(tasks) {
40
+ const timeSlots = this.getSlots(tasks)[1];
41
+ const slotWidth = this.options.slotWidth;
42
+ return Math.round(timeSlots.length * slotWidth);
43
+ }
44
+ /**
45
+ *
46
+ * @param tasks - The tasks which are going to be rendered in the table
47
+ * @returns {Array<Object>} - A collection containing the months and weeks slots
48
+ * Used to render the number of columns and the header
49
+ */
50
+ getSlots(tasks) {
51
+ // will return the header rows slots
52
+ let slots = [];
53
+ let { start, end } = this.getRange(tasks);
54
+ const months = this.getMonths(start, end);
55
+ const weeks = this.getWeeks(start, end);
56
+ slots.push(months, weeks);
57
+ return slots;
58
+ }
59
+ }
60
+ TimelineMonthViewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TimelineMonthViewService, deps: [{ token: i1.IntlService }, { token: i2.MappingService }], target: i0.ɵɵFactoryTarget.Injectable });
61
+ TimelineMonthViewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TimelineMonthViewService });
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TimelineMonthViewService, decorators: [{
63
+ type: Injectable
64
+ }], ctorParameters: function () { return [{ type: i1.IntlService }, { type: i2.MappingService }]; } });
@@ -0,0 +1,35 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import { EventEmitter, Injectable } from '@angular/core';
6
+ import { TimelineDayViewService } from './timeline-day-view.service';
7
+ import { TimelineMonthViewService } from './timeline-month-view.service';
8
+ import { TimelineWeekViewService } from './timeline-week-view.service';
9
+ import * as i0 from "@angular/core";
10
+ /**
11
+ * @hidden
12
+ */
13
+ const services = {
14
+ day: TimelineDayViewService,
15
+ week: TimelineWeekViewService,
16
+ month: TimelineMonthViewService
17
+ };
18
+ /**
19
+ * @hidden
20
+ */
21
+ export class TimelineViewService {
22
+ constructor(injector) {
23
+ this.injector = injector;
24
+ this.viewChange = new EventEmitter();
25
+ }
26
+ service(view) {
27
+ const serviceType = services[view];
28
+ return serviceType ? this.injector.get(serviceType) : null;
29
+ }
30
+ }
31
+ TimelineViewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TimelineViewService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
32
+ TimelineViewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TimelineViewService });
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TimelineViewService, decorators: [{
34
+ type: Injectable
35
+ }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
@@ -0,0 +1,38 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import { Component, forwardRef } from '@angular/core';
6
+ import { ViewBase } from './view-base';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "../common/option-changes.service";
9
+ import * as i2 from "../dependencies/dependency-dom.service";
10
+ export class TimelineWeekViewComponent extends ViewBase {
11
+ constructor(optionChangesService, dependencyDomService) {
12
+ super(optionChangesService, dependencyDomService);
13
+ /**
14
+ * The type for this view (`week`).
15
+ */
16
+ this.type = 'week';
17
+ }
18
+ }
19
+ TimelineWeekViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TimelineWeekViewComponent, deps: [{ token: i1.OptionChangesService }, { token: i2.DependencyDomService }], target: i0.ɵɵFactoryTarget.Component });
20
+ TimelineWeekViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TimelineWeekViewComponent, selector: "kendo-gantt-timeline-week-view", providers: [
21
+ {
22
+ provide: ViewBase,
23
+ useExisting: forwardRef(() => TimelineWeekViewComponent)
24
+ }
25
+ ], usesInheritance: true, ngImport: i0, template: '', isInline: true });
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TimelineWeekViewComponent, decorators: [{
27
+ type: Component,
28
+ args: [{
29
+ selector: 'kendo-gantt-timeline-week-view',
30
+ template: '',
31
+ providers: [
32
+ {
33
+ provide: ViewBase,
34
+ useExisting: forwardRef(() => TimelineWeekViewComponent)
35
+ }
36
+ ]
37
+ }]
38
+ }], ctorParameters: function () { return [{ type: i1.OptionChangesService }, { type: i2.DependencyDomService }]; } });
@@ -0,0 +1,60 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import { Injectable } from '@angular/core';
6
+ import { addDays, getDate } from '@progress/kendo-date-math';
7
+ import { TimelineBaseViewService } from './timeline-base-view.service';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@progress/kendo-angular-intl";
10
+ import * as i2 from "../common/mapping.service";
11
+ /**
12
+ * @hidden
13
+ */
14
+ export class TimelineWeekViewService extends TimelineBaseViewService {
15
+ constructor(intlService, mapper) {
16
+ super(intlService, mapper);
17
+ }
18
+ /**
19
+ * Gets a date a day before the first task start with hours, minutes, seconds, milliseconds cleared.
20
+ */
21
+ getStartOffset(rangeStart) {
22
+ return addDays(getDate(rangeStart), -1);
23
+ }
24
+ /**
25
+ * Gets a date a day after the last task start with hours, minutes, seconds, milliseconds cleared.
26
+ */
27
+ getEndOffset(rangeEnd) {
28
+ return addDays(getDate(rangeEnd), 1);
29
+ }
30
+ /**
31
+ *
32
+ * @param tasks - The tasks which are going to be rendered in the table
33
+ * @returns {number}
34
+ */
35
+ getTableWidth(tasks) {
36
+ const timeSlots = this.getSlots(tasks)[1];
37
+ const slotWidth = this.options.slotWidth;
38
+ return Math.round(timeSlots.length * slotWidth);
39
+ }
40
+ /**
41
+ *
42
+ * @param tasks - The tasks which are going to be rendered in the table
43
+ * @returns {Array<Object>} - A collection containing the day and hours slots
44
+ * Used to render the number of columns and the header
45
+ */
46
+ getSlots(tasks) {
47
+ // will return the header rows slots
48
+ let slots = [];
49
+ let { start, end } = this.getRange(tasks);
50
+ const weeks = this.getWeeks(start, end);
51
+ const days = this.getDays(start, end);
52
+ slots.push(weeks, days);
53
+ return slots;
54
+ }
55
+ }
56
+ TimelineWeekViewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TimelineWeekViewService, deps: [{ token: i1.IntlService }, { token: i2.MappingService }], target: i0.ɵɵFactoryTarget.Injectable });
57
+ TimelineWeekViewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TimelineWeekViewService });
58
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TimelineWeekViewService, decorators: [{
59
+ type: Injectable
60
+ }], ctorParameters: function () { return [{ type: i1.IntlService }, { type: i2.MappingService }]; } });
@@ -0,0 +1,45 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import { Directive, Input } from '@angular/core';
6
+ import { anyChanged } from '@progress/kendo-angular-common';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "../common/option-changes.service";
9
+ import * as i2 from "../dependencies/dependency-dom.service";
10
+ /**
11
+ * The base class for the column components of the Gantt.
12
+ */
13
+ export class ViewBase {
14
+ /**
15
+ *
16
+ * @hidden
17
+ */
18
+ constructor(optionChangesService, dependencyDomService) {
19
+ this.optionChangesService = optionChangesService;
20
+ this.dependencyDomService = dependencyDomService;
21
+ /**
22
+ * The width of the time slot headers. Values are treated as pixels.
23
+ *
24
+ * @default 100
25
+ */
26
+ this.slotWidth = 100;
27
+ }
28
+ ngOnChanges(changes) {
29
+ if (anyChanged(['slotWidth'], changes)) {
30
+ this.optionChangesService.notifyColumnChanges();
31
+ this.dependencyDomService.notifyChanges();
32
+ }
33
+ }
34
+ }
35
+ ViewBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ViewBase, deps: [{ token: i1.OptionChangesService }, { token: i2.DependencyDomService }], target: i0.ɵɵFactoryTarget.Directive });
36
+ ViewBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: ViewBase, selector: "kendo-gantt-view-base", inputs: { slotWidth: "slotWidth" }, usesOnChanges: true, ngImport: i0 });
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ViewBase, decorators: [{
38
+ type: Directive,
39
+ args: [{
40
+ // eslint-disable-next-line @angular-eslint/directive-selector
41
+ selector: 'kendo-gantt-view-base'
42
+ }]
43
+ }], ctorParameters: function () { return [{ type: i1.OptionChangesService }, { type: i2.DependencyDomService }]; }, propDecorators: { slotWidth: [{
44
+ type: Input
45
+ }] } });
@@ -0,0 +1,127 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import { Directive, Optional, Input } from '@angular/core';
6
+ import * as i0 from "@angular/core";
7
+ /**
8
+ * Represents the toolbar template of the Gantt.
9
+ *
10
+ * The template context has the following field:
11
+ * - `position`&mdash;The position at which the toolbar template is rendered. The possible values are `'top'` and `'bottom'`.
12
+ *
13
+ * @example
14
+ * ```ts-preview
15
+ *
16
+ * _@Component({
17
+ * selector: 'my-app',
18
+ * template: `
19
+ * <div class="example-config">
20
+ * <input type="radio" id="top" name="position" class="k-radio" value="top" checked (click)="positionChange($event)"/>
21
+ * <label class="k-radio-label" for="top">Top</label><br/>
22
+ * <input type="radio" id="bottom" name="position" class="k-radio" value="bottom" (click)="positionChange($event)"/>
23
+ * <label class="k-radio-label" for="bottom">Bottom</label><br/>
24
+ * <input type="radio" id="both" name="position" value="both" class="k-radio" (click)="positionChange($event)"/>
25
+ * <label class="k-radio-label" for="both">Both</label><br/>
26
+ * </div>
27
+ * <kendo-gantt [[kendoGanttHierarchyBinding]="data"]="data" style="height: 400px">
28
+ * <ng-template kendoGanttToolbarTemplate [position]="position" let-position="position">
29
+ * <button (click)="onClick()" class="k-button">Custom action</button>
30
+ * </ng-template>
31
+ * </kendo-gantt>
32
+ * `
33
+ * })
34
+ *
35
+ * class AppComponent {
36
+ * public position: 'top' | 'bottom' | 'both' = 'top';
37
+ *
38
+ * public data = [{
39
+ * id: 7,
40
+ * title: "Software validation, research and implementation",
41
+ * orderId: 0,
42
+ * start: new Date("2014-06-02T00:00:00.000Z"),
43
+ * end: new Date("2014-07-12T00:00:00.000Z"),
44
+ * completionRatio: 0.45708333333333334,
45
+ * isExpanded: true,
46
+ * children: [{
47
+ * id: 11,
48
+ * title: "Research",
49
+ * orderId: 1,
50
+ * start: new Date("2014-06-02T00:00:00.000Z"),
51
+ * end: new Date("2014-06-07T00:00:00.000Z"),
52
+ * completionRatio: 0.5766666666666667,
53
+ * isExpanded: true,
54
+ * children: [{
55
+ * id: 19,
56
+ * title: "Validation with Customers",
57
+ * orderId: 0,
58
+ * start: new Date("2014-06-02T00:00:00.000Z"),
59
+ * end: new Date("2014-06-04T00:00:00.000Z"),
60
+ * completionRatio: 0.25,
61
+ * isExpanded: true
62
+ * },
63
+ * {
64
+ * id: 20,
65
+ * title: "Market Research",
66
+ * orderId: 1,
67
+ * start: new Date("2014-06-02T00:00:00.000Z"),
68
+ * end: new Date("2014-06-03T02:00:00.000Z"),
69
+ * completionRatio: 0.82,
70
+ * isExpanded: true
71
+ * },
72
+ * {
73
+ * id: 39,
74
+ * title: "Functional and Technical Specification",
75
+ * orderId: 2,
76
+ * start: new Date("2014-06-04T00:00:00.000Z"),
77
+ * end: new Date("2014-06-07T00:00:00.000Z"),
78
+ * completionRatio: 0.66,
79
+ * isExpanded: true
80
+ * }]
81
+ * }]
82
+ * };
83
+ *
84
+ * public positionChange({ target }): void {
85
+ * this.position = target.value;
86
+ * }
87
+ *
88
+ * public onClick(): void {
89
+ * console.log("button was clicked");
90
+ * }
91
+ * }
92
+ *
93
+ * ```
94
+ */
95
+ export class ToolbarTemplateDirective {
96
+ constructor(templateRef) {
97
+ this.templateRef = templateRef;
98
+ this._position = "top";
99
+ }
100
+ /**
101
+ * Defines the Gantt Toolbar that will use this template.
102
+ *
103
+ * The possible values are:
104
+ * - `top`&mdash;The template will be rendered in the top toolbar (if present) only.
105
+ * - `bottom`&mdash;The template will be rendered in the bottom toolbar (if present) only.
106
+ * - `both`&mdash;The template will be rendered in both toolbars (if present).
107
+ */
108
+ set position(position) {
109
+ this._position = position;
110
+ }
111
+ get position() {
112
+ return this._position;
113
+ }
114
+ }
115
+ ToolbarTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ToolbarTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
116
+ ToolbarTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: ToolbarTemplateDirective, selector: "[kendoGanttToolbarTemplate]", inputs: { position: "position" }, ngImport: i0 });
117
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ToolbarTemplateDirective, decorators: [{
118
+ type: Directive,
119
+ args: [{
120
+ selector: '[kendoGanttToolbarTemplate]'
121
+ }]
122
+ }], ctorParameters: function () { return [{ type: i0.TemplateRef, decorators: [{
123
+ type: Optional
124
+ }] }]; }, propDecorators: { position: [{
125
+ type: Input,
126
+ args: ['position']
127
+ }] } });
@@ -0,0 +1,94 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import { Component, Input, HostBinding, Output, EventEmitter } from '@angular/core';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../editing/add-task.component";
8
+ import * as i2 from "./view-selector.component";
9
+ import * as i3 from "@angular/common";
10
+ /**
11
+ * @hidden
12
+ */
13
+ export class ToolbarComponent {
14
+ constructor() {
15
+ this.context = {};
16
+ this.role = 'toolbar';
17
+ this.activeViewChange = new EventEmitter();
18
+ }
19
+ set position(value) {
20
+ this.context.position = this._position = value;
21
+ }
22
+ get position() {
23
+ return this._position;
24
+ }
25
+ get toolbarTemplateRef() {
26
+ return this.toolbarTemplate ? this.toolbarTemplate.templateRef : undefined;
27
+ }
28
+ get renderTemplate() {
29
+ const ganttToolbarTemplate = this.toolbarTemplate;
30
+ const templatePosition = ganttToolbarTemplate ? ganttToolbarTemplate.position : null;
31
+ return ganttToolbarTemplate && (templatePosition === 'both' || templatePosition === this.position);
32
+ }
33
+ handleViewChange(view) {
34
+ this.activeViewChange.emit(view);
35
+ }
36
+ }
37
+ ToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
38
+ ToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: ToolbarComponent, selector: "kendo-gantt-toolbar", inputs: { showAddTask: "showAddTask", showViewSelector: "showViewSelector", views: "views", activeView: "activeView", toolbarTemplate: "toolbarTemplate", position: "position" }, outputs: { activeViewChange: "activeViewChange" }, host: { properties: { "attr.role": "this.role" } }, ngImport: i0, template: `
39
+ <ng-container *ngIf="!renderTemplate">
40
+ <kendo-gantt-add-task *ngIf="showAddTask"></kendo-gantt-add-task>
41
+ <span class="k-spacer k-toolbar-spacer"></span>
42
+ <kendo-gantt-view-selector
43
+ *ngIf="showViewSelector"
44
+ [views]="views"
45
+ [activeView]="activeView"
46
+ (activeViewChange)="handleViewChange($event)"></kendo-gantt-view-selector>
47
+ </ng-container>
48
+ <ng-template
49
+ *ngIf="renderTemplate"
50
+ [ngTemplateOutlet]="toolbarTemplateRef"
51
+ [ngTemplateOutletContext]="context"
52
+ >
53
+ </ng-template>
54
+ `, isInline: true, components: [{ type: i1.GanttAddTaskComponent, selector: "kendo-gantt-add-task", inputs: ["data", "icon"] }, { type: i2.ViewSelectorComponent, selector: "kendo-gantt-view-selector", inputs: ["views", "activeView"], outputs: ["activeViewChange"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ToolbarComponent, decorators: [{
56
+ type: Component,
57
+ args: [{
58
+ selector: 'kendo-gantt-toolbar',
59
+ template: `
60
+ <ng-container *ngIf="!renderTemplate">
61
+ <kendo-gantt-add-task *ngIf="showAddTask"></kendo-gantt-add-task>
62
+ <span class="k-spacer k-toolbar-spacer"></span>
63
+ <kendo-gantt-view-selector
64
+ *ngIf="showViewSelector"
65
+ [views]="views"
66
+ [activeView]="activeView"
67
+ (activeViewChange)="handleViewChange($event)"></kendo-gantt-view-selector>
68
+ </ng-container>
69
+ <ng-template
70
+ *ngIf="renderTemplate"
71
+ [ngTemplateOutlet]="toolbarTemplateRef"
72
+ [ngTemplateOutletContext]="context"
73
+ >
74
+ </ng-template>
75
+ `
76
+ }]
77
+ }], propDecorators: { role: [{
78
+ type: HostBinding,
79
+ args: ['attr.role']
80
+ }], activeViewChange: [{
81
+ type: Output
82
+ }], showAddTask: [{
83
+ type: Input
84
+ }], showViewSelector: [{
85
+ type: Input
86
+ }], views: [{
87
+ type: Input
88
+ }], activeView: [{
89
+ type: Input
90
+ }], toolbarTemplate: [{
91
+ type: Input
92
+ }], position: [{
93
+ type: Input
94
+ }] } });