@progress/kendo-angular-gantt 0.1.4-dev.202109301203 → 0.2.0-dev.202111231320

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 (116) hide show
  1. package/dist/cdn/js/kendo-angular-gantt.js +2 -76
  2. package/dist/cdn/main.js +23 -1
  3. package/dist/es/columns/column.component.js +5 -0
  4. package/dist/es/columns/columns.js +1 -0
  5. package/dist/es/columns/edit-template.directive.js +34 -0
  6. package/dist/es/columns/span-column.component.js +6 -0
  7. package/dist/es/editing/edit-dialog.component.js +44 -0
  8. package/dist/es/editing/edit.service.js +39 -0
  9. package/dist/es/editing/util.js +17 -0
  10. package/dist/es/gantt.component.js +309 -8
  11. package/dist/es/gantt.module.js +60 -5
  12. package/dist/es/index.js +6 -0
  13. package/dist/es/localization/custom-messages.component.js +44 -0
  14. package/dist/es/localization/localized-messages.directive.js +35 -0
  15. package/dist/es/localization/messages.js +246 -0
  16. package/dist/es/localization/treelist-messages.directive.js +31 -0
  17. package/dist/es/models/events/cell-click-event.interface.js +4 -0
  18. package/dist/es/models/events/cell-close-event.interface.js +19 -0
  19. package/dist/es/models/events/preventable-event.js +32 -0
  20. package/dist/es/models/events/task-click-event.interface.js +4 -0
  21. package/dist/es/models/events/task-edit-event.interface.js +4 -0
  22. package/dist/es/models/gantt-task-model-fields.interface.js +2 -1
  23. package/dist/es/package-metadata.js +1 -1
  24. package/dist/es/rendering/gantt-milestone-task.component.js +1 -1
  25. package/dist/es/rendering/gantt-summary-task.component.js +1 -1
  26. package/dist/es/rendering/gantt-task-base.js +4 -0
  27. package/dist/es/rendering/gantt-task.component.js +12 -4
  28. package/dist/es/rendering/gantt-tasks-table-body.component.js +5 -1
  29. package/dist/es/toolbar/view-selector.component.js +7 -4
  30. package/dist/es/utils.js +44 -1
  31. package/dist/es2015/columns/column.component.d.ts +2 -0
  32. package/dist/es2015/columns/column.component.js +5 -0
  33. package/dist/es2015/columns/columns.d.ts +1 -0
  34. package/dist/es2015/columns/columns.js +1 -0
  35. package/dist/es2015/columns/edit-template.directive.d.ts +23 -0
  36. package/dist/es2015/columns/edit-template.directive.js +33 -0
  37. package/dist/es2015/columns/span-column.component.d.ts +2 -0
  38. package/dist/es2015/columns/span-column.component.js +6 -0
  39. package/dist/es2015/editing/edit-dialog.component.d.ts +21 -0
  40. package/dist/es2015/editing/edit-dialog.component.js +86 -0
  41. package/dist/es2015/editing/edit.service.d.ts +20 -0
  42. package/dist/es2015/editing/edit.service.js +41 -0
  43. package/dist/es2015/editing/util.d.ts +10 -0
  44. package/dist/es2015/editing/util.js +17 -0
  45. package/dist/es2015/gantt.component.d.ts +180 -4
  46. package/dist/es2015/gantt.component.js +492 -8
  47. package/dist/es2015/gantt.module.d.ts +29 -1
  48. package/dist/es2015/gantt.module.js +60 -5
  49. package/dist/es2015/index.d.ts +6 -0
  50. package/dist/es2015/index.js +6 -0
  51. package/dist/es2015/index.metadata.json +1 -1
  52. package/dist/es2015/localization/custom-messages.component.d.ts +15 -0
  53. package/dist/es2015/localization/custom-messages.component.js +36 -0
  54. package/dist/es2015/localization/localized-messages.directive.d.ts +13 -0
  55. package/dist/es2015/localization/localized-messages.directive.js +31 -0
  56. package/dist/es2015/localization/messages.d.ts +246 -0
  57. package/dist/es2015/localization/messages.js +240 -0
  58. package/dist/es2015/localization/treelist-messages.directive.d.ts +14 -0
  59. package/dist/es2015/localization/treelist-messages.directive.js +29 -0
  60. package/dist/es2015/models/events/cell-click-event.interface.d.ts +20 -0
  61. package/dist/es2015/models/events/cell-click-event.interface.js +4 -0
  62. package/dist/es2015/models/events/cell-close-event.interface.d.ts +48 -0
  63. package/dist/es2015/models/events/cell-close-event.interface.js +14 -0
  64. package/dist/es2015/models/events/preventable-event.d.ts +24 -0
  65. package/dist/es2015/models/events/preventable-event.js +30 -0
  66. package/dist/es2015/models/events/task-click-event.interface.d.ts +22 -0
  67. package/dist/es2015/models/events/task-click-event.interface.js +4 -0
  68. package/dist/es2015/models/events/task-edit-event.interface.d.ts +46 -0
  69. package/dist/es2015/models/events/task-edit-event.interface.js +4 -0
  70. package/dist/es2015/models/gantt-task-model-fields.interface.d.ts +1 -0
  71. package/dist/es2015/models/gantt-task-model-fields.interface.js +2 -1
  72. package/dist/es2015/package-metadata.js +1 -1
  73. package/dist/es2015/rendering/gantt-milestone-task.component.js +1 -0
  74. package/dist/es2015/rendering/gantt-summary-task.component.js +1 -0
  75. package/dist/es2015/rendering/gantt-task-base.d.ts +1 -0
  76. package/dist/es2015/rendering/gantt-task-base.js +4 -0
  77. package/dist/es2015/rendering/gantt-task.component.d.ts +4 -1
  78. package/dist/es2015/rendering/gantt-task.component.js +17 -2
  79. package/dist/es2015/rendering/gantt-tasks-table-body.component.d.ts +1 -0
  80. package/dist/es2015/rendering/gantt-tasks-table-body.component.js +8 -1
  81. package/dist/es2015/toolbar/view-selector.component.d.ts +3 -0
  82. package/dist/es2015/toolbar/view-selector.component.js +7 -7
  83. package/dist/es2015/utils.d.ts +34 -0
  84. package/dist/es2015/utils.js +44 -1
  85. package/dist/fesm2015/index.js +1080 -23
  86. package/dist/fesm5/index.js +865 -24
  87. package/dist/npm/columns/column.component.js +5 -0
  88. package/dist/npm/columns/columns.js +2 -0
  89. package/dist/npm/columns/edit-template.directive.js +36 -0
  90. package/dist/npm/columns/span-column.component.js +6 -0
  91. package/dist/npm/editing/edit-dialog.component.js +46 -0
  92. package/dist/npm/editing/edit.service.js +41 -0
  93. package/dist/npm/editing/util.js +19 -0
  94. package/dist/npm/gantt.component.js +306 -5
  95. package/dist/npm/gantt.module.js +59 -4
  96. package/dist/npm/index.js +12 -0
  97. package/dist/npm/localization/custom-messages.component.js +46 -0
  98. package/dist/npm/localization/localized-messages.directive.js +37 -0
  99. package/dist/npm/localization/messages.js +248 -0
  100. package/dist/npm/localization/treelist-messages.directive.js +33 -0
  101. package/dist/npm/models/events/cell-click-event.interface.js +6 -0
  102. package/dist/npm/models/events/cell-close-event.interface.js +21 -0
  103. package/dist/npm/models/events/preventable-event.js +34 -0
  104. package/dist/npm/models/events/task-click-event.interface.js +6 -0
  105. package/dist/npm/models/events/task-edit-event.interface.js +6 -0
  106. package/dist/npm/models/gantt-task-model-fields.interface.js +2 -1
  107. package/dist/npm/package-metadata.js +1 -1
  108. package/dist/npm/rendering/gantt-milestone-task.component.js +1 -1
  109. package/dist/npm/rendering/gantt-summary-task.component.js +1 -1
  110. package/dist/npm/rendering/gantt-task-base.js +4 -0
  111. package/dist/npm/rendering/gantt-task.component.js +12 -4
  112. package/dist/npm/rendering/gantt-tasks-table-body.component.js +5 -1
  113. package/dist/npm/toolbar/view-selector.component.js +7 -4
  114. package/dist/npm/utils.js +43 -0
  115. package/dist/systemjs/kendo-angular-gantt.js +1 -1
  116. package/package.json +15 -10
@@ -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 * as tslib_1 from "tslib";
6
+ import { Directive, forwardRef } from '@angular/core';
7
+ import { LocalizationService } from '@progress/kendo-angular-l10n';
8
+ import { Messages } from './messages';
9
+ /**
10
+ * @hidden
11
+ */
12
+ var LocalizedMessagesDirective = /** @class */ (function (_super) {
13
+ tslib_1.__extends(LocalizedMessagesDirective, _super);
14
+ function LocalizedMessagesDirective(service) {
15
+ var _this = _super.call(this) || this;
16
+ _this.service = service;
17
+ return _this;
18
+ }
19
+ LocalizedMessagesDirective_1 = LocalizedMessagesDirective;
20
+ var LocalizedMessagesDirective_1;
21
+ LocalizedMessagesDirective = LocalizedMessagesDirective_1 = tslib_1.__decorate([
22
+ Directive({
23
+ providers: [
24
+ {
25
+ provide: Messages,
26
+ useExisting: forwardRef(function () { return LocalizedMessagesDirective_1; })
27
+ }
28
+ ],
29
+ selector: '[kendoGanttLocalizedMessages]'
30
+ }),
31
+ tslib_1.__metadata("design:paramtypes", [LocalizationService])
32
+ ], LocalizedMessagesDirective);
33
+ return LocalizedMessagesDirective;
34
+ }(Messages));
35
+ export { LocalizedMessagesDirective };
@@ -0,0 +1,246 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import * as tslib_1 from "tslib";
6
+ import { Input } from '@angular/core';
7
+ import { ComponentMessages } from '@progress/kendo-angular-l10n';
8
+ /**
9
+ * @hidden
10
+ */
11
+ var Messages = /** @class */ (function (_super) {
12
+ tslib_1.__extends(Messages, _super);
13
+ function Messages() {
14
+ return _super !== null && _super.apply(this, arguments) || this;
15
+ }
16
+ tslib_1.__decorate([
17
+ Input(),
18
+ tslib_1.__metadata("design:type", String)
19
+ ], Messages.prototype, "taskDeleteLabel", void 0);
20
+ tslib_1.__decorate([
21
+ Input(),
22
+ tslib_1.__metadata("design:type", String)
23
+ ], Messages.prototype, "taskEditingDialogTitle", void 0);
24
+ tslib_1.__decorate([
25
+ Input(),
26
+ tslib_1.__metadata("design:type", String)
27
+ ], Messages.prototype, "taskEditingDialogCloseTitle", void 0);
28
+ tslib_1.__decorate([
29
+ Input(),
30
+ tslib_1.__metadata("design:type", String)
31
+ ], Messages.prototype, "confirmationDialogCloseTitle", void 0);
32
+ tslib_1.__decorate([
33
+ Input(),
34
+ tslib_1.__metadata("design:type", String)
35
+ ], Messages.prototype, "confirmationDialogTitle", void 0);
36
+ tslib_1.__decorate([
37
+ Input(),
38
+ tslib_1.__metadata("design:type", String)
39
+ ], Messages.prototype, "deleteButtonText", void 0);
40
+ tslib_1.__decorate([
41
+ Input(),
42
+ tslib_1.__metadata("design:type", String)
43
+ ], Messages.prototype, "cancelButtonText", void 0);
44
+ tslib_1.__decorate([
45
+ Input(),
46
+ tslib_1.__metadata("design:type", String)
47
+ ], Messages.prototype, "saveButtonText", void 0);
48
+ tslib_1.__decorate([
49
+ Input(),
50
+ tslib_1.__metadata("design:type", String)
51
+ ], Messages.prototype, "titleFieldInputLabel", void 0);
52
+ tslib_1.__decorate([
53
+ Input(),
54
+ tslib_1.__metadata("design:type", String)
55
+ ], Messages.prototype, "startFieldInputLabel", void 0);
56
+ tslib_1.__decorate([
57
+ Input(),
58
+ tslib_1.__metadata("design:type", String)
59
+ ], Messages.prototype, "endFieldInputLabel", void 0);
60
+ tslib_1.__decorate([
61
+ Input(),
62
+ tslib_1.__metadata("design:type", String)
63
+ ], Messages.prototype, "completionRatioFieldInputLabel", void 0);
64
+ tslib_1.__decorate([
65
+ Input(),
66
+ tslib_1.__metadata("design:type", String)
67
+ ], Messages.prototype, "confirmationDialogContent", void 0);
68
+ tslib_1.__decorate([
69
+ Input(),
70
+ tslib_1.__metadata("design:type", String)
71
+ ], Messages.prototype, "dayViewText", void 0);
72
+ tslib_1.__decorate([
73
+ Input(),
74
+ tslib_1.__metadata("design:type", String)
75
+ ], Messages.prototype, "weekViewText", void 0);
76
+ tslib_1.__decorate([
77
+ Input(),
78
+ tslib_1.__metadata("design:type", String)
79
+ ], Messages.prototype, "monthViewText", void 0);
80
+ tslib_1.__decorate([
81
+ Input(),
82
+ tslib_1.__metadata("design:type", String)
83
+ ], Messages.prototype, "yearViewText", void 0);
84
+ tslib_1.__decorate([
85
+ Input(),
86
+ tslib_1.__metadata("design:type", String)
87
+ ], Messages.prototype, "noRecords", void 0);
88
+ tslib_1.__decorate([
89
+ Input(),
90
+ tslib_1.__metadata("design:type", String)
91
+ ], Messages.prototype, "filter", void 0);
92
+ tslib_1.__decorate([
93
+ Input(),
94
+ tslib_1.__metadata("design:type", String)
95
+ ], Messages.prototype, "filterEqOperator", void 0);
96
+ tslib_1.__decorate([
97
+ Input(),
98
+ tslib_1.__metadata("design:type", String)
99
+ ], Messages.prototype, "filterNotEqOperator", void 0);
100
+ tslib_1.__decorate([
101
+ Input(),
102
+ tslib_1.__metadata("design:type", String)
103
+ ], Messages.prototype, "filterIsNullOperator", void 0);
104
+ tslib_1.__decorate([
105
+ Input(),
106
+ tslib_1.__metadata("design:type", String)
107
+ ], Messages.prototype, "filterIsNotNullOperator", void 0);
108
+ tslib_1.__decorate([
109
+ Input(),
110
+ tslib_1.__metadata("design:type", String)
111
+ ], Messages.prototype, "filterIsEmptyOperator", void 0);
112
+ tslib_1.__decorate([
113
+ Input(),
114
+ tslib_1.__metadata("design:type", String)
115
+ ], Messages.prototype, "filterIsNotEmptyOperator", void 0);
116
+ tslib_1.__decorate([
117
+ Input(),
118
+ tslib_1.__metadata("design:type", String)
119
+ ], Messages.prototype, "filterStartsWithOperator", void 0);
120
+ tslib_1.__decorate([
121
+ Input(),
122
+ tslib_1.__metadata("design:type", String)
123
+ ], Messages.prototype, "filterContainsOperator", void 0);
124
+ tslib_1.__decorate([
125
+ Input(),
126
+ tslib_1.__metadata("design:type", String)
127
+ ], Messages.prototype, "filterNotContainsOperator", void 0);
128
+ tslib_1.__decorate([
129
+ Input(),
130
+ tslib_1.__metadata("design:type", String)
131
+ ], Messages.prototype, "filterEndsWithOperator", void 0);
132
+ tslib_1.__decorate([
133
+ Input(),
134
+ tslib_1.__metadata("design:type", String)
135
+ ], Messages.prototype, "filterGteOperator", void 0);
136
+ tslib_1.__decorate([
137
+ Input(),
138
+ tslib_1.__metadata("design:type", String)
139
+ ], Messages.prototype, "filterGtOperator", void 0);
140
+ tslib_1.__decorate([
141
+ Input(),
142
+ tslib_1.__metadata("design:type", String)
143
+ ], Messages.prototype, "filterLteOperator", void 0);
144
+ tslib_1.__decorate([
145
+ Input(),
146
+ tslib_1.__metadata("design:type", String)
147
+ ], Messages.prototype, "filterLtOperator", void 0);
148
+ tslib_1.__decorate([
149
+ Input(),
150
+ tslib_1.__metadata("design:type", String)
151
+ ], Messages.prototype, "filterIsTrue", void 0);
152
+ tslib_1.__decorate([
153
+ Input(),
154
+ tslib_1.__metadata("design:type", String)
155
+ ], Messages.prototype, "filterIsFalse", void 0);
156
+ tslib_1.__decorate([
157
+ Input(),
158
+ tslib_1.__metadata("design:type", String)
159
+ ], Messages.prototype, "filterBooleanAll", void 0);
160
+ tslib_1.__decorate([
161
+ Input(),
162
+ tslib_1.__metadata("design:type", String)
163
+ ], Messages.prototype, "filterAfterOrEqualOperator", void 0);
164
+ tslib_1.__decorate([
165
+ Input(),
166
+ tslib_1.__metadata("design:type", String)
167
+ ], Messages.prototype, "filterAfterOperator", void 0);
168
+ tslib_1.__decorate([
169
+ Input(),
170
+ tslib_1.__metadata("design:type", String)
171
+ ], Messages.prototype, "filterBeforeOperator", void 0);
172
+ tslib_1.__decorate([
173
+ Input(),
174
+ tslib_1.__metadata("design:type", String)
175
+ ], Messages.prototype, "filterBeforeOrEqualOperator", void 0);
176
+ tslib_1.__decorate([
177
+ Input(),
178
+ tslib_1.__metadata("design:type", String)
179
+ ], Messages.prototype, "filterFilterButton", void 0);
180
+ tslib_1.__decorate([
181
+ Input(),
182
+ tslib_1.__metadata("design:type", String)
183
+ ], Messages.prototype, "filterClearButton", void 0);
184
+ tslib_1.__decorate([
185
+ Input(),
186
+ tslib_1.__metadata("design:type", String)
187
+ ], Messages.prototype, "filterAndLogic", void 0);
188
+ tslib_1.__decorate([
189
+ Input(),
190
+ tslib_1.__metadata("design:type", String)
191
+ ], Messages.prototype, "filterOrLogic", void 0);
192
+ tslib_1.__decorate([
193
+ Input(),
194
+ tslib_1.__metadata("design:type", String)
195
+ ], Messages.prototype, "loading", void 0);
196
+ tslib_1.__decorate([
197
+ Input(),
198
+ tslib_1.__metadata("design:type", String)
199
+ ], Messages.prototype, "columnMenu", void 0);
200
+ tslib_1.__decorate([
201
+ Input(),
202
+ tslib_1.__metadata("design:type", String)
203
+ ], Messages.prototype, "columns", void 0);
204
+ tslib_1.__decorate([
205
+ Input(),
206
+ tslib_1.__metadata("design:type", String)
207
+ ], Messages.prototype, "lock", void 0);
208
+ tslib_1.__decorate([
209
+ Input(),
210
+ tslib_1.__metadata("design:type", String)
211
+ ], Messages.prototype, "unlock", void 0);
212
+ tslib_1.__decorate([
213
+ Input(),
214
+ tslib_1.__metadata("design:type", String)
215
+ ], Messages.prototype, "sortable", void 0);
216
+ tslib_1.__decorate([
217
+ Input(),
218
+ tslib_1.__metadata("design:type", String)
219
+ ], Messages.prototype, "sortAscending", void 0);
220
+ tslib_1.__decorate([
221
+ Input(),
222
+ tslib_1.__metadata("design:type", String)
223
+ ], Messages.prototype, "sortDescending", void 0);
224
+ tslib_1.__decorate([
225
+ Input(),
226
+ tslib_1.__metadata("design:type", String)
227
+ ], Messages.prototype, "sortedAscending", void 0);
228
+ tslib_1.__decorate([
229
+ Input(),
230
+ tslib_1.__metadata("design:type", String)
231
+ ], Messages.prototype, "sortedDescending", void 0);
232
+ tslib_1.__decorate([
233
+ Input(),
234
+ tslib_1.__metadata("design:type", String)
235
+ ], Messages.prototype, "sortedDefault", void 0);
236
+ tslib_1.__decorate([
237
+ Input(),
238
+ tslib_1.__metadata("design:type", String)
239
+ ], Messages.prototype, "columnsApply", void 0);
240
+ tslib_1.__decorate([
241
+ Input(),
242
+ tslib_1.__metadata("design:type", String)
243
+ ], Messages.prototype, "columnsReset", void 0);
244
+ return Messages;
245
+ }(ComponentMessages));
246
+ export { Messages };
@@ -0,0 +1,31 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import * as tslib_1 from "tslib";
6
+ import { Directive, Input } from '@angular/core';
7
+ import { LocalizationService } from '@progress/kendo-angular-l10n';
8
+ /**
9
+ * @hidden
10
+ */
11
+ var GanttTreeListMessagesDirective = /** @class */ (function () {
12
+ function GanttTreeListMessagesDirective(localizationService) {
13
+ this.localizationService = localizationService;
14
+ }
15
+ GanttTreeListMessagesDirective.prototype.ngAfterViewInit = function () {
16
+ var _this = this;
17
+ var treeListServiceDictionary = this.localizationService.dictionary;
18
+ Object.keys(treeListServiceDictionary)
19
+ .forEach(function (token) { return treeListServiceDictionary[token] = _this.kendoGanttTreeListMessages.get(token.replace('kendo.treelist.', '')); });
20
+ };
21
+ tslib_1.__decorate([
22
+ Input(),
23
+ tslib_1.__metadata("design:type", LocalizationService)
24
+ ], GanttTreeListMessagesDirective.prototype, "kendoGanttTreeListMessages", void 0);
25
+ GanttTreeListMessagesDirective = tslib_1.__decorate([
26
+ Directive({ selector: '[kendoGanttTreeListMessages]' }),
27
+ tslib_1.__metadata("design:paramtypes", [LocalizationService])
28
+ ], GanttTreeListMessagesDirective);
29
+ return GanttTreeListMessagesDirective;
30
+ }());
31
+ export { GanttTreeListMessagesDirective };
@@ -0,0 +1,4 @@
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
+ *-------------------------------------------------------------------------------------------*/
@@ -0,0 +1,19 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import * as tslib_1 from "tslib";
6
+ import { PreventableEvent } from './preventable-event';
7
+ /**
8
+ * Called every time a user leaves an edited cell.
9
+ */
10
+ var CellCloseEvent = /** @class */ (function (_super) {
11
+ tslib_1.__extends(CellCloseEvent, _super);
12
+ function CellCloseEvent(options) {
13
+ var _this = _super.call(this) || this;
14
+ Object.assign(_this, options);
15
+ return _this;
16
+ }
17
+ return CellCloseEvent;
18
+ }(PreventableEvent));
19
+ export { CellCloseEvent };
@@ -0,0 +1,32 @@
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
+ /**
6
+ * @hidden
7
+ */
8
+ var PreventableEvent = /** @class */ (function () {
9
+ function PreventableEvent() {
10
+ this.prevented = false;
11
+ }
12
+ /**
13
+ * Prevents the default action for a specified event.
14
+ * In this way, the source component suppresses
15
+ * the built-in behavior that follows the event.
16
+ */
17
+ PreventableEvent.prototype.preventDefault = function () {
18
+ this.prevented = true;
19
+ };
20
+ /**
21
+ * Returns `true` if the event was prevented
22
+ * by any of its subscribers.
23
+ *
24
+ * @returns `true` if the default action was prevented.
25
+ * Otherwise, returns `false`.
26
+ */
27
+ PreventableEvent.prototype.isDefaultPrevented = function () {
28
+ return this.prevented;
29
+ };
30
+ return PreventableEvent;
31
+ }());
32
+ export { PreventableEvent };
@@ -0,0 +1,4 @@
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
+ *-------------------------------------------------------------------------------------------*/
@@ -0,0 +1,4 @@
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
+ *-------------------------------------------------------------------------------------------*/
@@ -10,5 +10,6 @@ export var DEFAULT_TASK_MODEL_FIELDS = Object.freeze({
10
10
  start: 'start',
11
11
  end: 'end',
12
12
  title: 'title',
13
- completionRatio: 'completionRatio'
13
+ completionRatio: 'completionRatio',
14
+ children: 'children'
14
15
  });
@@ -9,7 +9,7 @@ export var packageMetadata = {
9
9
  name: '@progress/kendo-angular-gantt',
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
12
- publishDate: 1633003166,
12
+ publishDate: 1637673280,
13
13
  version: '',
14
14
  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'
15
15
  };
@@ -34,7 +34,7 @@ var GanttMilestoneTaskComponent = /** @class */ (function (_super) {
34
34
  useExisting: forwardRef(function () { return GanttMilestoneTaskComponent_1; })
35
35
  }
36
36
  ],
37
- 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 >\n </div>\n "
37
+ 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 [attr.data-task-index]=\"index\"\n >\n </div>\n "
38
38
  }),
39
39
  tslib_1.__metadata("design:paramtypes", [MappingService,
40
40
  TimelineViewService,
@@ -38,7 +38,7 @@ var GanttSummaryTaskComponent = /** @class */ (function (_super) {
38
38
  useExisting: forwardRef(function () { return GanttSummaryTaskComponent_1; })
39
39
  }
40
40
  ],
41
- 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 >\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 "
41
+ 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 >\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 "
42
42
  }),
43
43
  tslib_1.__metadata("design:paramtypes", [MappingService,
44
44
  TimelineViewService,
@@ -117,6 +117,10 @@ var GanttTaskBase = /** @class */ (function () {
117
117
  Input(),
118
118
  tslib_1.__metadata("design:type", Function)
119
119
  ], GanttTaskBase.prototype, "taskClass", void 0);
120
+ tslib_1.__decorate([
121
+ Input(),
122
+ tslib_1.__metadata("design:type", Number)
123
+ ], GanttTaskBase.prototype, "index", void 0);
120
124
  return GanttTaskBase;
121
125
  }());
122
126
  export { GanttTaskBase };
@@ -9,15 +9,22 @@ import { DependencyDomService } from '../dependencies/dependency-dom.service';
9
9
  import { OptionChangesService } from '../common/option-changes.service';
10
10
  import { TimelineViewService } from './../timeline/timeline-view.service';
11
11
  import { GanttTaskBase } from './gantt-task-base';
12
+ import { EditService } from '../editing/edit.service';
12
13
  /**
13
14
  * @hidden
14
15
  */
15
16
  var GanttTaskComponent = /** @class */ (function (_super) {
16
17
  tslib_1.__extends(GanttTaskComponent, _super);
17
- function GanttTaskComponent(mapper, timelineViewService, dependencyDomService, optionChangesService, cdr) {
18
- return _super.call(this, mapper, timelineViewService, dependencyDomService, optionChangesService, cdr) || this;
18
+ function GanttTaskComponent(mapper, timelineViewService, dependencyDomService, optionChangesService, cdr, editService) {
19
+ var _this = _super.call(this, mapper, timelineViewService, dependencyDomService, optionChangesService, cdr) || this;
20
+ _this.editService = editService;
21
+ return _this;
19
22
  }
20
23
  GanttTaskComponent_1 = GanttTaskComponent;
24
+ GanttTaskComponent.prototype.onTaskDelete = function () {
25
+ this.editService.dataItem = this.dataItem;
26
+ this.editService.showConfirmationDialog.next();
27
+ };
21
28
  var GanttTaskComponent_1;
22
29
  tslib_1.__decorate([
23
30
  Input(),
@@ -36,13 +43,14 @@ var GanttTaskComponent = /** @class */ (function (_super) {
36
43
  useExisting: forwardRef(function () { return GanttTaskComponent_1; })
37
44
  }
38
45
  ],
39
- 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 >\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 </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 "
46
+ 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 >\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 "
40
47
  }),
41
48
  tslib_1.__metadata("design:paramtypes", [MappingService,
42
49
  TimelineViewService,
43
50
  DependencyDomService,
44
51
  OptionChangesService,
45
- ChangeDetectorRef])
52
+ ChangeDetectorRef,
53
+ EditService])
46
54
  ], GanttTaskComponent);
47
55
  return GanttTaskComponent;
48
56
  }(GanttTaskBase));
@@ -63,10 +63,14 @@ var GanttTasksTableBodyComponent = /** @class */ (function () {
63
63
  Input(),
64
64
  tslib_1.__metadata("design:type", Function)
65
65
  ], GanttTasksTableBodyComponent.prototype, "hasChildren", void 0);
66
+ tslib_1.__decorate([
67
+ Input(),
68
+ tslib_1.__metadata("design:type", Number)
69
+ ], GanttTasksTableBodyComponent.prototype, "index", void 0);
66
70
  GanttTasksTableBodyComponent = tslib_1.__decorate([
67
71
  Component({
68
72
  selector: '[kendoGanttTasksTableBody]',
69
- template: "\n <tr #timelineRow *ngFor=\"let item of rows\">\n <td>\n <kendo-gantt-milestone-task\n *ngIf=\"isMileStone(item); else task\"\n [dataItem]=\"item\"\n [activeView]=\"activeView\"\n [taskClass]=\"taskClass\"\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 >\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 >\n </kendo-gantt-task>\n </ng-template>\n </td>\n </tr>\n "
73
+ 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 [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 [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 [index]=\"index\"\n >\n </kendo-gantt-task>\n </ng-template>\n </td>\n </tr>\n "
70
74
  }),
71
75
  tslib_1.__metadata("design:paramtypes", [DependencyDomService,
72
76
  MappingService])
@@ -4,11 +4,13 @@
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import * as tslib_1 from "tslib";
6
6
  import { Component, EventEmitter, Input, Output, HostBinding } from '@angular/core';
7
+ import { LocalizationService } from '@progress/kendo-angular-l10n';
7
8
  /**
8
9
  * The Gantt ViewSelector component. Shows the currently active view type, and allows switching to another view type.
9
10
  */
10
11
  var ViewSelectorComponent = /** @class */ (function () {
11
- function ViewSelectorComponent() {
12
+ function ViewSelectorComponent(localizationService) {
13
+ this.localizationService = localizationService;
12
14
  this.hostClass = true;
13
15
  /**
14
16
  * The currently active view type.
@@ -32,7 +34,7 @@ var ViewSelectorComponent = /** @class */ (function () {
32
34
  * @hidden
33
35
  */
34
36
  ViewSelectorComponent.prototype.getViewTypeText = function (viewType) {
35
- return "" + viewType[0].toLocaleUpperCase() + viewType.slice(1);
37
+ return this.localizationService.get(viewType + "ViewText");
36
38
  };
37
39
  tslib_1.__decorate([
38
40
  HostBinding('class.k-gantt-views-wrapper'),
@@ -53,8 +55,9 @@ var ViewSelectorComponent = /** @class */ (function () {
53
55
  ViewSelectorComponent = tslib_1.__decorate([
54
56
  Component({
55
57
  selector: 'kendo-gantt-view-selector',
56
- template: "\n <select class=\"k-dropdown k-views-dropdown\" style=\"text-transform: capitalize;\"\n [value]=\"activeView\"\n (change)=\"activeViewChange.emit($event.target.value)\">\n <option *ngFor=\"let view of views\" [value]=\"view\">{{getViewTypeText(view)}}</option>\n </select>\n <kendo-buttongroup class=\"k-gantt-views\" selection=\"single\">\n <button *ngFor=\"let view of views\"\n kendoButton\n [selected]=\"view === activeView\"\n (click)=\"onClick(view)\">{{getViewTypeText(view)}}</button>\n </kendo-buttongroup>\n "
57
- })
58
+ template: "\n <select class=\"k-dropdown k-views-dropdown\"\n [value]=\"activeView\"\n (change)=\"activeViewChange.emit($event.target.value)\">\n <option *ngFor=\"let view of views\" [value]=\"view\">{{getViewTypeText(view)}}</option>\n </select>\n <kendo-buttongroup class=\"k-gantt-views\" selection=\"single\">\n <button *ngFor=\"let view of views\"\n kendoButton\n [selected]=\"view === activeView\"\n (click)=\"onClick(view)\">{{getViewTypeText(view)}}</button>\n </kendo-buttongroup>\n "
59
+ }),
60
+ tslib_1.__metadata("design:paramtypes", [LocalizationService])
58
61
  ], ViewSelectorComponent);
59
62
  return ViewSelectorComponent;
60
63
  }());
package/dist/es/utils.js CHANGED
@@ -2,7 +2,7 @@
2
2
  * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
- import { isDocumentAvailable } from '@progress/kendo-angular-common';
5
+ import { closestInScope, isDocumentAvailable, matchesClasses } from '@progress/kendo-angular-common';
6
6
  import { addDays, addWeeks, cloneDate, firstDayInWeek } from '@progress/kendo-date-math';
7
7
  /**
8
8
  * @hidden
@@ -106,3 +106,46 @@ export var isColumnGroup = function (column) { return column.isColumnGroup; };
106
106
  * @hidden
107
107
  */
108
108
  export var isNumber = function (contender) { return typeof contender === 'number' && !isNaN(contender); };
109
+ /**
110
+ * @hidden
111
+ *
112
+ * Gets the closest timeline task element from an event target.
113
+ * Restricts the search up to the provided gantt element from the second param.
114
+ */
115
+ export var getClosestTask = function (element, gantt) {
116
+ return closestInScope(element, matchesClasses('k-task'), gantt);
117
+ };
118
+ /**
119
+ * @hidden
120
+ *
121
+ * Gets the closest timeline task element index from an event target.
122
+ * Uses the `data-task-index` attribute assigned to each task.
123
+ * Restricts the search up to the provided gantt element from the second param.
124
+ */
125
+ export var getClosestTaskIndex = function (element, gantt) {
126
+ var task = closestInScope(element, matchesClasses('k-task'), gantt);
127
+ if (!isPresent(task)) {
128
+ return null;
129
+ }
130
+ return Number(task.getAttribute('data-task-index'));
131
+ };
132
+ /**
133
+ * @hidden
134
+ *
135
+ * Checks whether the queried item or its parent items has a `k-task` selector.
136
+ * Restricts the search up to the provided gantt element from the second param.
137
+ */
138
+ export var isTask = function (contender, gantt) {
139
+ var task = closestInScope(contender, matchesClasses('k-task'), gantt);
140
+ return isPresent(task);
141
+ };
142
+ /**
143
+ * @hidden
144
+ *
145
+ * Checks whether the queried item or its parent items has a `k-task-actions` selector - used for the clear button.
146
+ * Restricts the search up to the provided gantt element from the second param.
147
+ */
148
+ export var isClearButton = function (contender, gantt) {
149
+ var clearButtonContainer = closestInScope(contender, matchesClasses('k-task-actions'), gantt);
150
+ return isPresent(clearButtonContainer);
151
+ };
@@ -13,12 +13,14 @@ import { FilterMenuTemplateDirective } from './filter-menu-template.directive';
13
13
  import { FooterTemplateDirective } from './footer-template.directive';
14
14
  import { HeaderTemplateDirective } from './header-template.directive';
15
15
  import { CellContentType } from '../models/cell-content-type.interface';
16
+ import { EditTemplateDirective } from './edit-template.directive';
16
17
  export declare class GanttColumnComponent extends ColumnComponent {
17
18
  private options;
18
19
  headerTemplates: QueryList<HeaderTemplateDirective>;
19
20
  footerTemplate: FooterTemplateDirective;
20
21
  columnMenuTemplates: QueryList<ColumnMenuTemplateDirective>;
21
22
  template: CellTemplateDirective;
23
+ editTemplate: EditTemplateDirective;
22
24
  filterCellTemplate: FilterCellTemplateDirective;
23
25
  filterMenuTemplate: FilterMenuTemplateDirective;
24
26
  /**
@@ -14,6 +14,7 @@ import { FilterCellTemplateDirective } from './filter-cell-template.directive';
14
14
  import { FilterMenuTemplateDirective } from './filter-menu-template.directive';
15
15
  import { FooterTemplateDirective } from './footer-template.directive';
16
16
  import { HeaderTemplateDirective } from './header-template.directive';
17
+ import { EditTemplateDirective } from './edit-template.directive';
17
18
  let GanttColumnComponent = GanttColumnComponent_1 = class GanttColumnComponent extends ColumnComponent {
18
19
  constructor(options, parent) {
19
20
  super(parent);
@@ -68,6 +69,10 @@ tslib_1.__decorate([
68
69
  ContentChild(CellTemplateDirective, { static: false }),
69
70
  tslib_1.__metadata("design:type", CellTemplateDirective)
70
71
  ], GanttColumnComponent.prototype, "template", void 0);
72
+ tslib_1.__decorate([
73
+ ContentChild(EditTemplateDirective, { static: false }),
74
+ tslib_1.__metadata("design:type", EditTemplateDirective)
75
+ ], GanttColumnComponent.prototype, "editTemplate", void 0);
71
76
  tslib_1.__decorate([
72
77
  ContentChild(FilterCellTemplateDirective, { static: false }),
73
78
  tslib_1.__metadata("design:type", FilterCellTemplateDirective)
@@ -12,3 +12,4 @@ export { FooterTemplateDirective } from './footer-template.directive';
12
12
  export { ColumnMenuTemplateDirective } from './column-menu-template.directive';
13
13
  export { FilterCellTemplateDirective } from './filter-cell-template.directive';
14
14
  export { FilterMenuTemplateDirective } from './filter-menu-template.directive';
15
+ export { EditTemplateDirective } from './edit-template.directive';