@progress/kendo-angular-gantt 21.4.1-develop.1 → 22.0.0-develop.1

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 (127) hide show
  1. package/columns/column-base.component.d.ts +1 -1
  2. package/fesm2022/progress-kendo-angular-gantt.mjs +201 -201
  3. package/localization/messages.d.ts +1 -1
  4. package/package.json +22 -30
  5. package/rendering/gantt-task-base.d.ts +1 -1
  6. package/schematics/ngAdd/index.js +7 -7
  7. package/timeline/view-base.d.ts +1 -1
  8. package/esm2022/binding-directives/flat-binding.directive.mjs +0 -50
  9. package/esm2022/binding-directives/hierarchy-binding.directive.mjs +0 -49
  10. package/esm2022/columns/cell-template.directive.mjs +0 -47
  11. package/esm2022/columns/column-base.component.mjs +0 -22
  12. package/esm2022/columns/column-group.component.mjs +0 -80
  13. package/esm2022/columns/column-menu-template.directive.mjs +0 -40
  14. package/esm2022/columns/column.component.mjs +0 -122
  15. package/esm2022/columns/columns.mjs +0 -15
  16. package/esm2022/columns/edit-template.directive.mjs +0 -46
  17. package/esm2022/columns/filter-cell-template.directive.mjs +0 -32
  18. package/esm2022/columns/filter-menu-template.directive.mjs +0 -41
  19. package/esm2022/columns/footer-template.directive.mjs +0 -44
  20. package/esm2022/columns/header-template.directive.mjs +0 -43
  21. package/esm2022/columns/span-column.component.mjs +0 -82
  22. package/esm2022/common/default-callbacks.mjs +0 -25
  23. package/esm2022/common/mapping.service.mjs +0 -62
  24. package/esm2022/common/option-changes.service.mjs +0 -28
  25. package/esm2022/dependencies/dependency-dom.service.mjs +0 -80
  26. package/esm2022/dependencies/dom-dependency-args.mjs +0 -5
  27. package/esm2022/dependencies/gantt-dependency.directive.mjs +0 -91
  28. package/esm2022/dependencies/utils.mjs +0 -195
  29. package/esm2022/directives.mjs +0 -63
  30. package/esm2022/dragging/dependency-drag-create.directive.mjs +0 -337
  31. package/esm2022/dragging/drag-validation-tooltip.component.mjs +0 -70
  32. package/esm2022/dragging/task-drag.directive.mjs +0 -94
  33. package/esm2022/dragging/task-drag.service.mjs +0 -239
  34. package/esm2022/editing/add-task.component.mjs +0 -127
  35. package/esm2022/editing/dependencies-table.component.mjs +0 -233
  36. package/esm2022/editing/edit-dialog.component.mjs +0 -225
  37. package/esm2022/editing/edit.service.mjs +0 -118
  38. package/esm2022/editing/task-fields.component.mjs +0 -127
  39. package/esm2022/editing/utils.mjs +0 -15
  40. package/esm2022/expanded-state/expand-event.mjs +0 -18
  41. package/esm2022/expanded-state/expandable.directive.mjs +0 -39
  42. package/esm2022/gantt.component.mjs +0 -2415
  43. package/esm2022/gantt.module.mjs +0 -132
  44. package/esm2022/index.mjs +0 -42
  45. package/esm2022/localization/custom-messages.component.mjs +0 -52
  46. package/esm2022/localization/gantt-localization.service.mjs +0 -27
  47. package/esm2022/localization/localized-messages.directive.mjs +0 -39
  48. package/esm2022/localization/messages.mjs +0 -453
  49. package/esm2022/models/cell-content-type.interface.mjs +0 -5
  50. package/esm2022/models/class-callbacks.mjs +0 -5
  51. package/esm2022/models/column-menu-settings.interface.mjs +0 -5
  52. package/esm2022/models/column-reorder-config.mjs +0 -5
  53. package/esm2022/models/current-time-settings.interface.mjs +0 -5
  54. package/esm2022/models/date-range.interface.mjs +0 -5
  55. package/esm2022/models/dependency-type.enum.mjs +0 -32
  56. package/esm2022/models/events/cell-click-event.interface.mjs +0 -5
  57. package/esm2022/models/events/cell-close-event.interface.mjs +0 -44
  58. package/esm2022/models/events/click-event.interface.mjs +0 -5
  59. package/esm2022/models/events/column-locked-change-event.interface.mjs +0 -5
  60. package/esm2022/models/events/column-reorder-event.interface.mjs +0 -5
  61. package/esm2022/models/events/column-resize-event.interface.mjs +0 -5
  62. package/esm2022/models/events/column-visibility-change-event.interface.mjs +0 -5
  63. package/esm2022/models/events/data-state-change-event.interface.mjs +0 -5
  64. package/esm2022/models/events/dependency-add-event.interface.mjs +0 -5
  65. package/esm2022/models/events/index.mjs +0 -5
  66. package/esm2022/models/events/selected-view-change-event.interface.mjs +0 -5
  67. package/esm2022/models/events/task-add-event.interface.mjs +0 -5
  68. package/esm2022/models/events/task-click-event.interface.mjs +0 -5
  69. package/esm2022/models/events/task-delete-event.interface.mjs +0 -5
  70. package/esm2022/models/events/task-drag-event.interface.mjs +0 -5
  71. package/esm2022/models/events/task-edit-event.interface.mjs +0 -5
  72. package/esm2022/models/filterable-settings.mjs +0 -5
  73. package/esm2022/models/gantt-dependency-model-fields.interface.mjs +0 -13
  74. package/esm2022/models/gantt-dependency.interface.mjs +0 -5
  75. package/esm2022/models/gantt-task-model-fields.interface.mjs +0 -15
  76. package/esm2022/models/gantt-task.interface.mjs +0 -5
  77. package/esm2022/models/models.mjs +0 -8
  78. package/esm2022/models/slot.interface.mjs +0 -5
  79. package/esm2022/models/sort-settings.mjs +0 -17
  80. package/esm2022/models/splitter-pane-options.interface.mjs +0 -20
  81. package/esm2022/models/timeline-header-date-format.mjs +0 -5
  82. package/esm2022/models/timeline-options.interface.mjs +0 -5
  83. package/esm2022/models/timeline-view.mjs +0 -5
  84. package/esm2022/models/toolbar-settings.mjs +0 -5
  85. package/esm2022/models/tooltip-options.interface.mjs +0 -5
  86. package/esm2022/models/view-item.interface.mjs +0 -5
  87. package/esm2022/navigation/navigation-models.mjs +0 -5
  88. package/esm2022/navigation/navigation.service.mjs +0 -271
  89. package/esm2022/navigation/utils.mjs +0 -61
  90. package/esm2022/package-metadata.mjs +0 -16
  91. package/esm2022/progress-kendo-angular-gantt.mjs +0 -8
  92. package/esm2022/rendering/gantt-header-table-body.component.mjs +0 -61
  93. package/esm2022/rendering/gantt-milestone-task.component.mjs +0 -102
  94. package/esm2022/rendering/gantt-summary-task.component.mjs +0 -157
  95. package/esm2022/rendering/gantt-task-base.mjs +0 -230
  96. package/esm2022/rendering/gantt-task.component.mjs +0 -227
  97. package/esm2022/rendering/gantt-tasks-table-body.component.mjs +0 -206
  98. package/esm2022/scrolling/drag-scroll-settings.mjs +0 -20
  99. package/esm2022/scrolling/scroll-sync.service.mjs +0 -83
  100. package/esm2022/scrolling/timeline-scroll.directive.mjs +0 -83
  101. package/esm2022/scrolling/timeline-scroll.service.mjs +0 -37
  102. package/esm2022/scrolling/utils.mjs +0 -77
  103. package/esm2022/selection/selectable.directive.mjs +0 -126
  104. package/esm2022/selection/selection-change-event.mjs +0 -5
  105. package/esm2022/template-directives/summary-task-template.directive.mjs +0 -43
  106. package/esm2022/template-directives/task-content-template.directive.mjs +0 -46
  107. package/esm2022/template-directives/task-drag-tooltip-template.directive.mjs +0 -47
  108. package/esm2022/template-directives/task-template.directive.mjs +0 -41
  109. package/esm2022/template-directives/task-tooltip-template.directive.mjs +0 -48
  110. package/esm2022/timeline/current-time-marker.service.mjs +0 -90
  111. package/esm2022/timeline/gantt-timeline.component.mjs +0 -624
  112. package/esm2022/timeline/timeline-base-view.service.mjs +0 -201
  113. package/esm2022/timeline/timeline-day-view.component.mjs +0 -49
  114. package/esm2022/timeline/timeline-day-view.service.mjs +0 -68
  115. package/esm2022/timeline/timeline-month-view.component.mjs +0 -49
  116. package/esm2022/timeline/timeline-month-view.service.mjs +0 -66
  117. package/esm2022/timeline/timeline-view.service.mjs +0 -38
  118. package/esm2022/timeline/timeline-week-view.component.mjs +0 -49
  119. package/esm2022/timeline/timeline-week-view.service.mjs +0 -62
  120. package/esm2022/timeline/timeline-year-view.component.mjs +0 -49
  121. package/esm2022/timeline/timeline-year-view.service.mjs +0 -57
  122. package/esm2022/timeline/view-base.mjs +0 -73
  123. package/esm2022/toolbar/toolbar-navigation.service.mjs +0 -29
  124. package/esm2022/toolbar/toolbar-template.directive.mjs +0 -56
  125. package/esm2022/toolbar/toolbar.component.mjs +0 -181
  126. package/esm2022/toolbar/view-selector.component.mjs +0 -112
  127. package/esm2022/utils.mjs +0 -311
@@ -1,201 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { orderBy } from '@progress/kendo-data-query';
6
- import { isWorkDay, isWorkHour, lastDayOfWeek } from '../utils';
7
- import { addDays, firstDayInWeek, getDate, firstDayOfMonth, lastDayOfMonth, addMonths, addWeeks, lastMonthOfYear, cloneDate } from '@progress/kendo-date-math';
8
- const setTime = (origin, candidate) => {
9
- const date = cloneDate(origin);
10
- date.setHours(candidate.getHours(), candidate.getMinutes(), candidate.getSeconds(), candidate.getMilliseconds());
11
- return date;
12
- };
13
- /**
14
- * @hidden
15
- */
16
- export const DAY_FORMAT = 'E d/MM';
17
- /**
18
- * @hidden
19
- */
20
- export const HOUR_FORMAT = 'HH:mm aa';
21
- /**
22
- * @hidden
23
- */
24
- export const MONTH_FORMAT = 'MMM';
25
- /**
26
- * @hidden
27
- */
28
- export const YEAR_FORMAT = 'yyyy';
29
- const END_OF_DAY_DATE = new Date(1980, 0, 1, 23, 59, 59, 999);
30
- /**
31
- * @hidden
32
- */
33
- export class TimelineBaseViewService {
34
- intlService;
35
- mapper;
36
- options;
37
- _viewStart = 0;
38
- constructor(intlService, mapper) {
39
- this.intlService = intlService;
40
- this.mapper = mapper;
41
- }
42
- get viewStart() {
43
- return this._viewStart;
44
- }
45
- /**
46
- *
47
- * @param tasks - The tasks which are going to be rendered in the table
48
- * @returns {Object} - An object containing the range start and end dates
49
- */
50
- getRange(tasks) {
51
- if (!tasks || !tasks.length) {
52
- return { start: new Date(), end: new Date() };
53
- }
54
- const startResult = orderBy(tasks, [{ field: this.mapper.taskFields.start, dir: 'asc' }]);
55
- const endResult = orderBy(tasks, [{ field: this.mapper.taskFields.end, dir: 'desc' }]);
56
- const rangeStart = new Date(this.mapper.extractFromTask(startResult[0], 'start'));
57
- const rangeEnd = new Date(this.mapper.extractFromTask(endResult[0], 'end'));
58
- const start = this.getStartOffset(rangeStart);
59
- const end = this.getEndOffset(rangeEnd);
60
- this._viewStart = Number(start);
61
- return {
62
- start: new Date(start),
63
- end: new Date(end)
64
- };
65
- }
66
- /**
67
- *
68
- * @param start - The tasks' range start date
69
- * @param end - The tasks' range end date
70
- * @returns {Array<Object>} - A collection containing the hour slots
71
- */
72
- getHours(start, end, customDateFormat) {
73
- const slots = [];
74
- const workDayStart = this.intlService.parseDate(this.options.workDayStart).getHours();
75
- const workDayEnd = this.intlService.parseDate(this.options.workDayEnd).getHours();
76
- // TODO: retrieve from option?
77
- const hourSpan = 1;
78
- let startDate = new Date(start);
79
- const hoursFormat = customDateFormat ? customDateFormat : HOUR_FORMAT;
80
- const endDate = new Date(end);
81
- while (startDate < endDate) {
82
- const slotEnd = new Date(startDate);
83
- const isWorkSlot = isWorkHour(slotEnd, workDayStart, workDayEnd);
84
- slotEnd.setHours(slotEnd.getHours() + hourSpan);
85
- slots.push({
86
- start: startDate,
87
- end: slotEnd,
88
- isWorking: isWorkSlot,
89
- text: this.intlService.formatDate(startDate, hoursFormat, this.intlService.localeId),
90
- span: 1,
91
- slotWidth: this.options.slotWidth
92
- });
93
- startDate = slotEnd;
94
- }
95
- return slots;
96
- }
97
- /**
98
- *
99
- * @param start - The tasks' range start date
100
- * @param end - The tasks' range end date
101
- * @returns {Array<Object>} - A collection containing the day slots
102
- */
103
- getDays(start, end, customDateFormat) {
104
- const slots = [];
105
- let startDay = new Date(start);
106
- const dayFormat = customDateFormat ? customDateFormat : DAY_FORMAT;
107
- const endDay = new Date(end);
108
- while (startDay <= endDay) {
109
- // Get the days with cleared time values (except for start and end day)
110
- const nextDay = getDate(addDays(startDay, 1));
111
- const isWorking = isWorkDay(startDay, this.options.workWeekStart, this.options.workWeekEnd);
112
- // Need to get the end date with correct hours (important for day view)
113
- const slotEnd = endDay < nextDay ? endDay : nextDay;
114
- slots.push({
115
- start: startDay,
116
- end: slotEnd,
117
- isWorking: isWorking,
118
- text: this.intlService.formatDate(startDay, dayFormat, this.intlService.localeId),
119
- span: 1,
120
- slotWidth: this.options.slotWidth
121
- });
122
- startDay = nextDay;
123
- }
124
- return slots;
125
- }
126
- getWeeks(start, end, customDateFormat) {
127
- const weekStart = this.intlService.firstDay();
128
- const slots = [];
129
- let startDay = new Date(start);
130
- const dayFormat = customDateFormat ? customDateFormat : DAY_FORMAT;
131
- const endDay = new Date(end);
132
- while (startDay <= endDay) {
133
- const lastWeekDay = lastDayOfWeek(startDay, weekStart);
134
- const slotEnd = lastWeekDay > endDay ? endDay : lastWeekDay;
135
- const daySlots = this.getDays(startDay, slotEnd);
136
- const span = daySlots.length;
137
- const firstDay = this.intlService.formatDate(firstDayInWeek(getDate(startDay), weekStart), dayFormat, this.intlService.localeId);
138
- const lastDay = this.intlService.formatDate(slotEnd, dayFormat, this.intlService.localeId);
139
- if (span > 0) {
140
- slots.push({
141
- start: daySlots[0].start,
142
- end: setTime(daySlots[span - 1].end, END_OF_DAY_DATE),
143
- text: `${firstDay} - ${lastDay}`,
144
- span: span,
145
- slotWidth: this.options.slotWidth
146
- });
147
- }
148
- startDay = firstDayInWeek(addWeeks(slotEnd, 1), weekStart);
149
- }
150
- return slots;
151
- }
152
- getMonths(start, end, isMainViewType, customDateFormat) {
153
- const slots = [];
154
- let startDay = new Date(start);
155
- const monthFormat = customDateFormat ? customDateFormat : MONTH_FORMAT;
156
- const endDay = new Date(end);
157
- while (startDay < endDay) {
158
- const endMonth = lastDayOfMonth(startDay);
159
- const slotEnd = endDay < endMonth ? endDay : endMonth;
160
- const daySlots = this.getDays(startDay, slotEnd);
161
- const weekSlots = this.getWeeks(startDay, slotEnd);
162
- const span = isMainViewType ? daySlots.length : weekSlots.length;
163
- const monthStart = firstDayOfMonth(getDate(startDay));
164
- const shortText = this.intlService.formatDate(monthStart, monthFormat, this.intlService.localeId);
165
- if (span > 0) {
166
- slots.push({
167
- start: isMainViewType ? daySlots[0].start : weekSlots[0].start,
168
- end: isMainViewType ? daySlots[span - 1] : setTime(weekSlots[span - 1].end, END_OF_DAY_DATE),
169
- span: span,
170
- text: shortText,
171
- slotWidth: this.options.slotWidth
172
- });
173
- }
174
- startDay = firstDayOfMonth(addMonths(slotEnd, 1));
175
- }
176
- return slots;
177
- }
178
- getYears(start, end, customDateFormat) {
179
- const slots = [];
180
- let startDay = new Date(start);
181
- const endDay = new Date(end);
182
- const yearFormat = customDateFormat ? customDateFormat : YEAR_FORMAT;
183
- while (startDay < endDay) {
184
- const yearEnd = lastDayOfMonth(lastMonthOfYear(startDay));
185
- const slotEnd = endDay < yearEnd ? endDay : yearEnd;
186
- const monthSlots = this.getMonths(startDay, slotEnd);
187
- const span = monthSlots.length;
188
- if (span > 0) {
189
- slots.push({
190
- start: monthSlots[0].start,
191
- end: setTime(monthSlots[span - 1].end, END_OF_DAY_DATE),
192
- span: span,
193
- text: this.intlService.formatDate(slotEnd, yearFormat),
194
- slotWidth: this.options.slotWidth
195
- });
196
- }
197
- startDay = addDays(slotEnd, 1);
198
- }
199
- return slots;
200
- }
201
- }
@@ -1,49 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 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 { DependencyDomService } from '../dependencies/dependency-dom.service';
7
- import { ViewBase } from './view-base';
8
- import { OptionChangesService } from '../common/option-changes.service';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "../common/option-changes.service";
11
- import * as i2 from "../dependencies/dependency-dom.service";
12
- /**
13
- * Represents the Gantt timeline day view component.
14
- *
15
- * @example
16
- * ```html
17
- * <kendo-gantt-timeline-day-view></kendo-gantt-timeline-day-view>
18
- * ```
19
- */
20
- export class TimelineDayViewComponent extends ViewBase {
21
- /**
22
- * Specifies the type for this view (`day`).
23
- */
24
- type = 'day';
25
- constructor(optionChangesService, dependencyDomService) {
26
- super(optionChangesService, dependencyDomService);
27
- }
28
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TimelineDayViewComponent, deps: [{ token: i1.OptionChangesService }, { token: i2.DependencyDomService }], target: i0.ɵɵFactoryTarget.Component });
29
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: TimelineDayViewComponent, isStandalone: true, selector: "kendo-gantt-timeline-day-view", providers: [
30
- {
31
- provide: ViewBase,
32
- useExisting: forwardRef(() => TimelineDayViewComponent)
33
- }
34
- ], usesInheritance: true, ngImport: i0, template: '', isInline: true });
35
- }
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TimelineDayViewComponent, decorators: [{
37
- type: Component,
38
- args: [{
39
- selector: 'kendo-gantt-timeline-day-view',
40
- template: '',
41
- providers: [
42
- {
43
- provide: ViewBase,
44
- useExisting: forwardRef(() => TimelineDayViewComponent)
45
- }
46
- ],
47
- standalone: true
48
- }]
49
- }], ctorParameters: () => [{ type: i1.OptionChangesService }, { type: i2.DependencyDomService }] });
@@ -1,68 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 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 { IntlService } from '@progress/kendo-angular-intl';
7
- import { TimelineBaseViewService } from './timeline-base-view.service';
8
- import { MappingService } from '../common/mapping.service';
9
- import { setTime } from '../utils';
10
- import * as i0 from "@angular/core";
11
- import * as i1 from "@progress/kendo-angular-intl";
12
- import * as i2 from "../common/mapping.service";
13
- /**
14
- * @hidden
15
- */
16
- export class TimelineDayViewService extends TimelineBaseViewService {
17
- constructor(intlService, mapper) {
18
- super(intlService, mapper);
19
- }
20
- /**
21
- * Gets a date an hour before the first task start with minutes, seconds, milliseconds cleared.
22
- */
23
- getStartOffset(rangeStart) {
24
- return setTime(rangeStart, rangeStart.getHours() - 1);
25
- }
26
- /**
27
- * Gets a date an hour after the last task end with minutes, seconds, milliseconds cleared.
28
- */
29
- getEndOffset(rangeEnd) {
30
- return setTime(rangeEnd, rangeEnd.getHours() + 1);
31
- }
32
- /**
33
- *
34
- * @param tasks - The tasks which are going to be rendered in the table
35
- * @returns {number}
36
- */
37
- getTableWidth(tasks) {
38
- const timeSlots = this.getSlots(tasks)[1];
39
- const slotWidth = this.options.slotWidth;
40
- return Math.round(timeSlots.length * slotWidth);
41
- }
42
- /**
43
- *
44
- * @param tasks - The tasks which are going to be rendered in the table
45
- * @returns {Array<Object>} - A collection containing the day and hours slots
46
- * Used to render the number of columns and the header
47
- */
48
- getSlots(tasks) {
49
- // will return the header rows slots
50
- const slots = [];
51
- const { start, end } = this.getRange(tasks);
52
- const daySlots = this.getDays(start, end, this.options.timelineHeadersDateFormat?.groupHeaderDateFormat);
53
- const hourSlots = [];
54
- for (let i = 0; i < daySlots.length; i++) {
55
- const daySlot = daySlots[i];
56
- const hours = this.getHours(daySlot.start, daySlot.end, this.options.timelineHeadersDateFormat?.columnHeaderDateFormat);
57
- daySlot.span = hours.length;
58
- hourSlots.push(...hours);
59
- }
60
- slots.push(daySlots, hourSlots);
61
- return slots;
62
- }
63
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TimelineDayViewService, deps: [{ token: i1.IntlService }, { token: i2.MappingService }], target: i0.ɵɵFactoryTarget.Injectable });
64
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TimelineDayViewService });
65
- }
66
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TimelineDayViewService, decorators: [{
67
- type: Injectable
68
- }], ctorParameters: () => [{ type: i1.IntlService }, { type: i2.MappingService }] });
@@ -1,49 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 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 { DependencyDomService } from '../dependencies/dependency-dom.service';
7
- import { ViewBase } from './view-base';
8
- import { OptionChangesService } from '../common/option-changes.service';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "../common/option-changes.service";
11
- import * as i2 from "../dependencies/dependency-dom.service";
12
- /**
13
- * Represents the Gantt timeline month view component.
14
- *
15
- * @example
16
- * ```html
17
- * <kendo-gantt-timeline-month-view></kendo-gantt-timeline-month-view>
18
- * ```
19
- */
20
- export class TimelineMonthViewComponent extends ViewBase {
21
- /**
22
- * Specifies the type for this view (`month`).
23
- */
24
- type = 'month';
25
- constructor(optionChangesService, dependencyDomService) {
26
- super(optionChangesService, dependencyDomService);
27
- }
28
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TimelineMonthViewComponent, deps: [{ token: i1.OptionChangesService }, { token: i2.DependencyDomService }], target: i0.ɵɵFactoryTarget.Component });
29
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: TimelineMonthViewComponent, isStandalone: true, selector: "kendo-gantt-timeline-month-view", providers: [
30
- {
31
- provide: ViewBase,
32
- useExisting: forwardRef(() => TimelineMonthViewComponent)
33
- }
34
- ], usesInheritance: true, ngImport: i0, template: '', isInline: true });
35
- }
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TimelineMonthViewComponent, decorators: [{
37
- type: Component,
38
- args: [{
39
- selector: 'kendo-gantt-timeline-month-view',
40
- template: '',
41
- providers: [
42
- {
43
- provide: ViewBase,
44
- useExisting: forwardRef(() => TimelineMonthViewComponent)
45
- }
46
- ],
47
- standalone: true
48
- }]
49
- }], ctorParameters: () => [{ type: i1.OptionChangesService }, { type: i2.DependencyDomService }] });
@@ -1,66 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 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 { IntlService } from '@progress/kendo-angular-intl';
7
- import { addDays, addWeeks, firstDayInWeek, getDate } from '@progress/kendo-date-math';
8
- import { MappingService } from '../common/mapping.service';
9
- import { TimelineBaseViewService } from './timeline-base-view.service';
10
- import * as i0 from "@angular/core";
11
- import * as i1 from "@progress/kendo-angular-intl";
12
- import * as i2 from "../common/mapping.service";
13
- /**
14
- * @hidden
15
- */
16
- export class TimelineMonthViewService extends TimelineBaseViewService {
17
- constructor(intlService, mapper) {
18
- super(intlService, mapper);
19
- }
20
- /**
21
- * Gets a week before the first week in which a task starts.
22
- */
23
- getStartOffset(rangeStart) {
24
- const weekStart = this.intlService.firstDay();
25
- const firstDay = firstDayInWeek(getDate(rangeStart), weekStart);
26
- return addWeeks(getDate(firstDay), -1);
27
- }
28
- /**
29
- * Gets a week after the last week in which a task ends.
30
- */
31
- getEndOffset(rangeEnd) {
32
- const weekStart = this.intlService.firstDay();
33
- const lastDay = addDays(firstDayInWeek(getDate(rangeEnd), weekStart), 6);
34
- return addWeeks(getDate(lastDay), 1);
35
- }
36
- /**
37
- *
38
- * @param tasks - The tasks which are going to be rendered in the table
39
- * @returns {number}
40
- */
41
- getTableWidth(tasks) {
42
- const timeSlots = this.getSlots(tasks)[1];
43
- const slotWidth = this.options.slotWidth;
44
- return Math.round(timeSlots.length * slotWidth);
45
- }
46
- /**
47
- *
48
- * @param tasks - The tasks which are going to be rendered in the table
49
- * @returns {Array<Object>} - A collection containing the months and weeks slots
50
- * Used to render the number of columns and the header
51
- */
52
- getSlots(tasks) {
53
- // will return the header rows slots
54
- const slots = [];
55
- const { start, end } = this.getRange(tasks);
56
- const months = this.getMonths(start, end, true, this.options.timelineHeadersDateFormat?.groupHeaderDateFormat);
57
- const weeks = this.getWeeks(start, end, this.options.timelineHeadersDateFormat?.columnHeaderDateFormat);
58
- slots.push(months, weeks);
59
- return slots;
60
- }
61
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TimelineMonthViewService, deps: [{ token: i1.IntlService }, { token: i2.MappingService }], target: i0.ɵɵFactoryTarget.Injectable });
62
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TimelineMonthViewService });
63
- }
64
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TimelineMonthViewService, decorators: [{
65
- type: Injectable
66
- }], ctorParameters: () => [{ type: i1.IntlService }, { type: i2.MappingService }] });
@@ -1,38 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 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, Injector } 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 { TimeLineYearViewService } from './timeline-year-view.service';
10
- import * as i0 from "@angular/core";
11
- /**
12
- * @hidden
13
- */
14
- const services = {
15
- day: TimelineDayViewService,
16
- week: TimelineWeekViewService,
17
- month: TimelineMonthViewService,
18
- year: TimeLineYearViewService
19
- };
20
- /**
21
- * @hidden
22
- */
23
- export class TimelineViewService {
24
- injector;
25
- viewChange = new EventEmitter();
26
- constructor(injector) {
27
- this.injector = injector;
28
- }
29
- service(view) {
30
- const serviceType = services[view];
31
- return serviceType ? this.injector.get(serviceType) : null;
32
- }
33
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TimelineViewService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
34
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TimelineViewService });
35
- }
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TimelineViewService, decorators: [{
37
- type: Injectable
38
- }], ctorParameters: () => [{ type: i0.Injector }] });
@@ -1,49 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 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 { DependencyDomService } from '../dependencies/dependency-dom.service';
7
- import { ViewBase } from './view-base';
8
- import { OptionChangesService } from '../common/option-changes.service';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "../common/option-changes.service";
11
- import * as i2 from "../dependencies/dependency-dom.service";
12
- /**
13
- * Represents the Gantt timeline week view component.
14
- *
15
- * @example
16
- * ```html
17
- * <kendo-gantt-timeline-week-view></kendo-gantt-timeline-week-view>
18
- * ```
19
- */
20
- export class TimelineWeekViewComponent extends ViewBase {
21
- /**
22
- * Specifies the type for this view (`week`).
23
- */
24
- type = 'week';
25
- constructor(optionChangesService, dependencyDomService) {
26
- super(optionChangesService, dependencyDomService);
27
- }
28
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TimelineWeekViewComponent, deps: [{ token: i1.OptionChangesService }, { token: i2.DependencyDomService }], target: i0.ɵɵFactoryTarget.Component });
29
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: TimelineWeekViewComponent, isStandalone: true, selector: "kendo-gantt-timeline-week-view", providers: [
30
- {
31
- provide: ViewBase,
32
- useExisting: forwardRef(() => TimelineWeekViewComponent)
33
- }
34
- ], usesInheritance: true, ngImport: i0, template: '', isInline: true });
35
- }
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TimelineWeekViewComponent, decorators: [{
37
- type: Component,
38
- args: [{
39
- selector: 'kendo-gantt-timeline-week-view',
40
- template: '',
41
- providers: [
42
- {
43
- provide: ViewBase,
44
- useExisting: forwardRef(() => TimelineWeekViewComponent)
45
- }
46
- ],
47
- standalone: true
48
- }]
49
- }], ctorParameters: () => [{ type: i1.OptionChangesService }, { type: i2.DependencyDomService }] });
@@ -1,62 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 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 { IntlService } from '@progress/kendo-angular-intl';
7
- import { addDays, getDate } from '@progress/kendo-date-math';
8
- import { MappingService } from '../common/mapping.service';
9
- import { TimelineBaseViewService } from './timeline-base-view.service';
10
- import * as i0 from "@angular/core";
11
- import * as i1 from "@progress/kendo-angular-intl";
12
- import * as i2 from "../common/mapping.service";
13
- /**
14
- * @hidden
15
- */
16
- export class TimelineWeekViewService extends TimelineBaseViewService {
17
- constructor(intlService, mapper) {
18
- super(intlService, mapper);
19
- }
20
- /**
21
- * Gets a date a day before the first task start with hours, minutes, seconds, milliseconds cleared.
22
- */
23
- getStartOffset(rangeStart) {
24
- return addDays(getDate(rangeStart), -1);
25
- }
26
- /**
27
- * Gets a date a day after the last task start with hours, minutes, seconds, milliseconds cleared.
28
- */
29
- getEndOffset(rangeEnd) {
30
- return addDays(getDate(rangeEnd), 1);
31
- }
32
- /**
33
- *
34
- * @param tasks - The tasks which are going to be rendered in the table
35
- * @returns {number}
36
- */
37
- getTableWidth(tasks) {
38
- const timeSlots = this.getSlots(tasks)[1];
39
- const slotWidth = this.options.slotWidth;
40
- return Math.round(timeSlots.length * slotWidth);
41
- }
42
- /**
43
- *
44
- * @param tasks - The tasks which are going to be rendered in the table
45
- * @returns {Array<Object>} - A collection containing the day and hours slots
46
- * Used to render the number of columns and the header
47
- */
48
- getSlots(tasks) {
49
- // will return the header rows slots
50
- const slots = [];
51
- const { start, end } = this.getRange(tasks);
52
- const weeks = this.getWeeks(start, end, this.options.timelineHeadersDateFormat?.groupHeaderDateFormat);
53
- const days = this.getDays(start, end, this.options.timelineHeadersDateFormat?.columnHeaderDateFormat);
54
- slots.push(weeks, days);
55
- return slots;
56
- }
57
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TimelineWeekViewService, deps: [{ token: i1.IntlService }, { token: i2.MappingService }], target: i0.ɵɵFactoryTarget.Injectable });
58
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TimelineWeekViewService });
59
- }
60
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TimelineWeekViewService, decorators: [{
61
- type: Injectable
62
- }], ctorParameters: () => [{ type: i1.IntlService }, { type: i2.MappingService }] });
@@ -1,49 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 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 { DependencyDomService } from '../dependencies/dependency-dom.service';
7
- import { ViewBase } from './view-base';
8
- import { OptionChangesService } from '../common/option-changes.service';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "../common/option-changes.service";
11
- import * as i2 from "../dependencies/dependency-dom.service";
12
- /**
13
- * Represents the Gantt timeline year view component.
14
- *
15
- * @example
16
- * ```html
17
- * <kendo-gantt-timeline-year-view></kendo-gantt-timeline-year-view>
18
- * ```
19
- */
20
- export class TimelineYearViewComponent extends ViewBase {
21
- /**
22
- * Specifies the type for this view (`year`).
23
- */
24
- type = 'year';
25
- constructor(optionChangesService, dependencyDomService) {
26
- super(optionChangesService, dependencyDomService);
27
- }
28
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TimelineYearViewComponent, deps: [{ token: i1.OptionChangesService }, { token: i2.DependencyDomService }], target: i0.ɵɵFactoryTarget.Component });
29
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: TimelineYearViewComponent, isStandalone: true, selector: "kendo-gantt-timeline-year-view", providers: [
30
- {
31
- provide: ViewBase,
32
- useExisting: forwardRef(() => TimelineYearViewComponent)
33
- }
34
- ], usesInheritance: true, ngImport: i0, template: '', isInline: true });
35
- }
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TimelineYearViewComponent, decorators: [{
37
- type: Component,
38
- args: [{
39
- selector: 'kendo-gantt-timeline-year-view',
40
- template: '',
41
- providers: [
42
- {
43
- provide: ViewBase,
44
- useExisting: forwardRef(() => TimelineYearViewComponent)
45
- }
46
- ],
47
- standalone: true
48
- }]
49
- }], ctorParameters: () => [{ type: i1.OptionChangesService }, { type: i2.DependencyDomService }] });