@progress/kendo-angular-gantt 0.3.0-dev.202201111723 → 1.0.0
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.
- package/dist/cdn/js/kendo-angular-gantt.js +2 -2
- package/dist/cdn/main.js +1 -29
- package/dist/es/common/touch-enabled.js +9 -0
- package/dist/es/dependencies/utils.js +34 -0
- package/dist/es/dragging/dependency-drag-create.directive.js +347 -0
- package/dist/es/dragging/drag-validation-tooltip.component.js +27 -0
- package/dist/es/editing/dependencies-table.component.js +1 -1
- package/dist/es/editing/edit-dialog.component.js +3 -3
- package/dist/es/editing/edit.service.js +4 -2
- package/dist/es/editing/task-fields.component.js +1 -1
- package/dist/es/editing/{util.js → utils.js} +0 -0
- package/dist/es/gantt.component.js +313 -28
- package/dist/es/gantt.module.js +23 -6
- package/dist/es/index.js +5 -0
- package/dist/es/main.js +1 -0
- package/dist/es/models/events/dependency-add-event.interface.js +4 -0
- package/dist/es/models/events/task-delete-event.interface.js +4 -0
- package/dist/es/models/view-item.interface.js +4 -0
- package/dist/es/navigation/navigation-models.js +4 -0
- package/dist/es/navigation/navigation.service.js +390 -0
- package/dist/es/navigation/utils.js +77 -0
- package/dist/es/package-metadata.js +1 -1
- package/dist/es/rendering/gantt-milestone-task.component.js +12 -6
- package/dist/es/rendering/gantt-summary-task.component.js +27 -6
- package/dist/es/rendering/gantt-task-base.js +84 -22
- package/dist/es/rendering/gantt-task.component.js +13 -8
- package/dist/es/rendering/gantt-tasks-table-body.component.js +13 -5
- package/dist/es/scrolling/drag-scroll-settings.js +20 -0
- package/dist/es/scrolling/timeline-scroll.directive.js +89 -0
- package/dist/es/scrolling/timeline-scroll.service.js +39 -0
- package/dist/es/scrolling/utils.js +80 -0
- package/dist/es/timeline/gantt-timeline.component.js +50 -4
- package/dist/es/toolbar/toolbar.component.js +12 -13
- package/dist/es/toolbar/view-selector.component.js +1 -1
- package/dist/es/utils.js +153 -12
- package/dist/es2015/common/touch-enabled.d.ts +9 -0
- package/dist/es2015/common/touch-enabled.js +9 -0
- package/dist/es2015/dependencies/utils.d.ts +15 -0
- package/dist/es2015/dependencies/utils.js +34 -0
- package/dist/es2015/dragging/dependency-drag-create.directive.d.ts +72 -0
- package/dist/es2015/dragging/dependency-drag-create.directive.js +324 -0
- package/dist/es2015/dragging/drag-validation-tooltip.component.d.ts +29 -0
- package/dist/es2015/dragging/drag-validation-tooltip.component.js +76 -0
- package/dist/es2015/editing/dependencies-table.component.js +1 -1
- package/dist/es2015/editing/edit-dialog.component.d.ts +1 -1
- package/dist/es2015/editing/edit-dialog.component.js +12 -4
- package/dist/es2015/editing/edit.service.d.ts +2 -3
- package/dist/es2015/editing/edit.service.js +4 -2
- package/dist/es2015/editing/task-fields.component.js +1 -1
- package/dist/es2015/editing/{util.d.ts → utils.d.ts} +2 -2
- package/dist/es2015/editing/{util.js → utils.js} +0 -0
- package/dist/es2015/gantt.component.d.ts +112 -17
- package/dist/es2015/gantt.component.js +292 -30
- package/dist/es2015/gantt.module.js +23 -6
- package/dist/es2015/index.d.ts +5 -0
- package/dist/es2015/index.js +5 -0
- package/dist/es2015/index.metadata.json +1 -1
- package/dist/es2015/main.d.ts +1 -0
- package/dist/es2015/main.js +1 -0
- package/dist/es2015/models/events/dependency-add-event.interface.d.ts +26 -0
- package/dist/es2015/models/events/dependency-add-event.interface.js +4 -0
- package/dist/es2015/models/events/task-click-event.interface.d.ts +3 -3
- package/dist/es2015/models/events/task-delete-event.interface.d.ts +21 -0
- package/dist/es2015/models/events/task-delete-event.interface.js +4 -0
- package/dist/es2015/models/events/task-edit-event.interface.d.ts +27 -10
- package/dist/es2015/models/models.d.ts +4 -0
- package/dist/es2015/models/view-item.interface.d.ts +35 -0
- package/dist/es2015/models/view-item.interface.js +4 -0
- package/dist/es2015/navigation/navigation-models.d.ts +34 -0
- package/dist/es2015/navigation/navigation-models.js +4 -0
- package/dist/es2015/navigation/navigation.service.d.ts +126 -0
- package/dist/es2015/navigation/navigation.service.js +355 -0
- package/dist/es2015/navigation/utils.d.ts +26 -0
- package/dist/es2015/navigation/utils.js +69 -0
- package/dist/es2015/package-metadata.js +1 -1
- package/dist/es2015/rendering/gantt-milestone-task.component.d.ts +3 -1
- package/dist/es2015/rendering/gantt-milestone-task.component.js +35 -8
- package/dist/es2015/rendering/gantt-summary-task.component.d.ts +5 -1
- package/dist/es2015/rendering/gantt-summary-task.component.js +47 -8
- package/dist/es2015/rendering/gantt-task-base.d.ts +20 -6
- package/dist/es2015/rendering/gantt-task-base.js +75 -22
- package/dist/es2015/rendering/gantt-task.component.d.ts +4 -2
- package/dist/es2015/rendering/gantt-task.component.js +47 -13
- package/dist/es2015/rendering/gantt-tasks-table-body.component.d.ts +6 -3
- package/dist/es2015/rendering/gantt-tasks-table-body.component.js +27 -9
- package/dist/es2015/scrolling/drag-scroll-settings.d.ts +47 -0
- package/dist/es2015/scrolling/drag-scroll-settings.js +20 -0
- package/dist/es2015/scrolling/scroll-sync.service.d.ts +1 -1
- package/dist/es2015/scrolling/timeline-scroll.directive.d.ts +24 -0
- package/dist/es2015/scrolling/timeline-scroll.directive.js +78 -0
- package/dist/es2015/scrolling/timeline-scroll.service.d.ts +20 -0
- package/dist/es2015/scrolling/timeline-scroll.service.js +44 -0
- package/dist/es2015/scrolling/utils.d.ts +29 -0
- package/dist/es2015/scrolling/utils.js +80 -0
- package/dist/es2015/timeline/gantt-timeline.component.d.ts +29 -4
- package/dist/es2015/timeline/gantt-timeline.component.js +67 -5
- package/dist/es2015/toolbar/toolbar.component.d.ts +4 -5
- package/dist/es2015/toolbar/toolbar.component.js +12 -13
- package/dist/es2015/toolbar/view-selector.component.js +3 -1
- package/dist/es2015/utils.d.ts +77 -8
- package/dist/es2015/utils.js +153 -12
- package/dist/fesm2015/index.js +3033 -1367
- package/dist/fesm5/index.js +2447 -830
- package/dist/npm/common/touch-enabled.js +11 -0
- package/dist/npm/dependencies/utils.js +34 -0
- package/dist/npm/dragging/dependency-drag-create.directive.js +349 -0
- package/dist/npm/dragging/drag-validation-tooltip.component.js +29 -0
- package/dist/npm/editing/dependencies-table.component.js +1 -1
- package/dist/npm/editing/edit-dialog.component.js +3 -3
- package/dist/npm/editing/edit.service.js +4 -2
- package/dist/npm/editing/task-fields.component.js +1 -1
- package/dist/npm/editing/{util.js → utils.js} +0 -0
- package/dist/npm/gantt.component.js +315 -30
- package/dist/npm/gantt.module.js +22 -5
- package/dist/npm/index.js +10 -0
- package/dist/npm/main.js +2 -0
- package/dist/npm/models/events/dependency-add-event.interface.js +6 -0
- package/dist/npm/models/events/task-delete-event.interface.js +6 -0
- package/dist/npm/models/view-item.interface.js +6 -0
- package/dist/npm/navigation/navigation-models.js +6 -0
- package/dist/npm/navigation/navigation.service.js +392 -0
- package/dist/npm/navigation/utils.js +79 -0
- package/dist/npm/package-metadata.js +1 -1
- package/dist/npm/rendering/gantt-milestone-task.component.js +11 -5
- package/dist/npm/rendering/gantt-summary-task.component.js +26 -5
- package/dist/npm/rendering/gantt-task-base.js +84 -22
- package/dist/npm/rendering/gantt-task.component.js +12 -7
- package/dist/npm/rendering/gantt-tasks-table-body.component.js +13 -5
- package/dist/npm/scrolling/drag-scroll-settings.js +22 -0
- package/dist/npm/scrolling/timeline-scroll.directive.js +91 -0
- package/dist/npm/scrolling/timeline-scroll.service.js +41 -0
- package/dist/npm/scrolling/utils.js +83 -0
- package/dist/npm/timeline/gantt-timeline.component.js +49 -3
- package/dist/npm/toolbar/toolbar.component.js +10 -11
- package/dist/npm/toolbar/view-selector.component.js +1 -1
- package/dist/npm/utils.js +153 -12
- package/dist/systemjs/kendo-angular-gantt.js +1 -1
- package/package.json +23 -21
|
@@ -12,8 +12,11 @@ var rxjs_1 = require("rxjs");
|
|
|
12
12
|
var kendo_licensing_1 = require("@progress/kendo-licensing");
|
|
13
13
|
var package_metadata_1 = require("./package-metadata");
|
|
14
14
|
var kendo_angular_common_1 = require("@progress/kendo-angular-common");
|
|
15
|
+
var gantt_timeline_component_1 = require("./timeline/gantt-timeline.component");
|
|
15
16
|
var columns_1 = require("./columns/columns");
|
|
16
17
|
var default_callbacks_1 = require("./common/default-callbacks");
|
|
18
|
+
var models_1 = require("./models/models");
|
|
19
|
+
var kendo_angular_l10n_1 = require("@progress/kendo-angular-l10n");
|
|
17
20
|
var timeline_view_service_1 = require("./timeline/timeline-view.service");
|
|
18
21
|
var timeline_day_view_service_1 = require("./timeline/timeline-day-view.service");
|
|
19
22
|
var timeline_week_view_service_1 = require("./timeline/timeline-week-view.service");
|
|
@@ -23,7 +26,9 @@ var dependency_dom_service_1 = require("./dependencies/dependency-dom.service");
|
|
|
23
26
|
var mapping_service_1 = require("./common/mapping.service");
|
|
24
27
|
var option_changes_service_1 = require("./common/option-changes.service");
|
|
25
28
|
var edit_service_1 = require("./editing/edit.service");
|
|
26
|
-
var
|
|
29
|
+
var timeline_scroll_service_1 = require("./scrolling/timeline-scroll.service");
|
|
30
|
+
var gantt_localization_service_1 = require("./localization/gantt-localization.service");
|
|
31
|
+
var navigation_service_1 = require("./navigation/navigation.service");
|
|
27
32
|
var utils_1 = require("./utils");
|
|
28
33
|
var splitter_pane_options_interface_1 = require("./models/splitter-pane-options.interface");
|
|
29
34
|
var task_template_directive_1 = require("./template-directives/task-template.directive");
|
|
@@ -31,10 +36,15 @@ var summary_task_template_directive_1 = require("./template-directives/summary-t
|
|
|
31
36
|
var task_content_template_directive_1 = require("./template-directives/task-content-template.directive");
|
|
32
37
|
var toolbar_template_directive_1 = require("./toolbar/toolbar-template.directive");
|
|
33
38
|
var view_base_1 = require("./timeline/view-base");
|
|
34
|
-
var
|
|
35
|
-
var gantt_localization_service_1 = require("./localization/gantt-localization.service");
|
|
39
|
+
var utils_2 = require("./editing/utils");
|
|
36
40
|
var TREELIST_GROUP_COLUMNS_CLASS = 'k-gantt-treelist-nested-columns';
|
|
37
41
|
var DEFAULT_VIEW = 'week';
|
|
42
|
+
var DEFAULT_DRAG_SCROLL_SETTINGS = {
|
|
43
|
+
enabled: true,
|
|
44
|
+
step: 3,
|
|
45
|
+
interval: 1,
|
|
46
|
+
threshold: 10
|
|
47
|
+
};
|
|
38
48
|
/**
|
|
39
49
|
* Represents the Kendo UI Gantt component for Angular.
|
|
40
50
|
*
|
|
@@ -107,7 +117,7 @@ var DEFAULT_VIEW = 'week';
|
|
|
107
117
|
* ```
|
|
108
118
|
*/
|
|
109
119
|
var GanttComponent = /** @class */ (function () {
|
|
110
|
-
function GanttComponent(timelineViewService, scrollSyncService, renderer, mapper, optionChangesService, dependencyDomService, editService, localizationService, hostElement, zone) {
|
|
120
|
+
function GanttComponent(timelineViewService, scrollSyncService, renderer, mapper, optionChangesService, dependencyDomService, editService, localizationService, hostElement, zone, navigationService) {
|
|
111
121
|
var _this = this;
|
|
112
122
|
this.timelineViewService = timelineViewService;
|
|
113
123
|
this.scrollSyncService = scrollSyncService;
|
|
@@ -119,13 +129,33 @@ var GanttComponent = /** @class */ (function () {
|
|
|
119
129
|
this.localizationService = localizationService;
|
|
120
130
|
this.hostElement = hostElement;
|
|
121
131
|
this.zone = zone;
|
|
132
|
+
this.navigationService = navigationService;
|
|
133
|
+
/**
|
|
134
|
+
* @hidden
|
|
135
|
+
*/
|
|
136
|
+
this.roleDescription = 'Gantt Chart';
|
|
137
|
+
/**
|
|
138
|
+
* @hidden
|
|
139
|
+
*/
|
|
140
|
+
this.role = 'application';
|
|
122
141
|
this.hostClasses = true;
|
|
123
142
|
/**
|
|
124
|
-
*
|
|
143
|
+
* Specifies a callback that determines if the given task is selected ([see example]({% slug selection_gantt %}#toc-custom-selection)).
|
|
125
144
|
*
|
|
126
145
|
* > The [`selectable`]({% slug api_gantt_ganttcomponent %}#toc-selectable) prop has to be set to `true` in order for this callback to be executed.
|
|
127
146
|
*/
|
|
128
147
|
this.isSelected = default_callbacks_1.isSelected;
|
|
148
|
+
/**
|
|
149
|
+
* Specifies a callback that determines if a new dependency is valid.
|
|
150
|
+
* Used when evaluating if an attempt to create a new dependency will result in a valid link between the two tasks
|
|
151
|
+
* [see example]({% slug editing_drag_create_dependencies_gantt %}#toc-validation).
|
|
152
|
+
*
|
|
153
|
+
* By defalut, dependencies are deemed invalid when:
|
|
154
|
+
* - The two tasks are in a parent-child relationship.
|
|
155
|
+
* - The two tasks are already dependent on one another. Only one dependency is allowed per pair.
|
|
156
|
+
* - The start or end times of the two tasks are incompatible with the attempted dependency type.
|
|
157
|
+
*/
|
|
158
|
+
this.validateNewDependency = this.defaultValidateNewDependencyCallback.bind(this);
|
|
129
159
|
/**
|
|
130
160
|
* Fires when the Gantt selection is changed through user interaction.
|
|
131
161
|
*
|
|
@@ -179,6 +209,12 @@ var GanttComponent = /** @class */ (function () {
|
|
|
179
209
|
* The end of the work week (index based).
|
|
180
210
|
*/
|
|
181
211
|
this.workWeekEnd = 5;
|
|
212
|
+
/**
|
|
213
|
+
* If set to `true`, the user can use dedicated shortcuts to interact with the Gantt.
|
|
214
|
+
* By default, navigation is disabled for the TreeList and Timeline parts of the component,
|
|
215
|
+
* ([see example]({% slug keyboard_navigation_gantt %})).
|
|
216
|
+
*/
|
|
217
|
+
this.navigable = false;
|
|
182
218
|
/**
|
|
183
219
|
* Indicates whether the Gantt columns will be resized during initialization so that they fit their headers and row content.
|
|
184
220
|
* Columns with autoSize set to false are excluded.
|
|
@@ -222,7 +258,8 @@ var GanttComponent = /** @class */ (function () {
|
|
|
222
258
|
*/
|
|
223
259
|
this.cellClose = new core_1.EventEmitter();
|
|
224
260
|
/**
|
|
225
|
-
* Fires when the end user clicks the `Delete` button in the task editing dialog
|
|
261
|
+
* Fires when the end user clicks the `Delete` button in the task editing dialog,
|
|
262
|
+
* the task delete icon, or presses the `Delete` key on the keyboard when a task in the timeline is focused.
|
|
226
263
|
* Use the event handler to open a confirmation dialog when necessary.
|
|
227
264
|
*/
|
|
228
265
|
this.taskDelete = new core_1.EventEmitter();
|
|
@@ -246,6 +283,11 @@ var GanttComponent = /** @class */ (function () {
|
|
|
246
283
|
* Fires when the user adds a task.
|
|
247
284
|
*/
|
|
248
285
|
this.taskAdd = new core_1.EventEmitter();
|
|
286
|
+
/**
|
|
287
|
+
* Fires when the user adds a dependency via dragging
|
|
288
|
+
* [see example]({% slug editing_drag_create_dependencies_gantt %}#toc-basic-concepts).
|
|
289
|
+
*/
|
|
290
|
+
this.dependencyAdd = new core_1.EventEmitter();
|
|
249
291
|
/**
|
|
250
292
|
* Fires when the sorting of the Gantt is changed.
|
|
251
293
|
* You have to handle the event yourself and sort the data.
|
|
@@ -302,6 +344,15 @@ var GanttComponent = /** @class */ (function () {
|
|
|
302
344
|
* Fires when a task is clicked.
|
|
303
345
|
*/
|
|
304
346
|
this.taskClick = new core_1.EventEmitter();
|
|
347
|
+
/**
|
|
348
|
+
* @hidden
|
|
349
|
+
*
|
|
350
|
+
* Specifies whether the dependency drag clues will be rendered.
|
|
351
|
+
* Set internally by the dependency-drag-create directive.
|
|
352
|
+
*
|
|
353
|
+
* @default false
|
|
354
|
+
*/
|
|
355
|
+
this.renderDependencyDragClues = false;
|
|
305
356
|
/**
|
|
306
357
|
* @hidden
|
|
307
358
|
*
|
|
@@ -318,6 +369,7 @@ var GanttComponent = /** @class */ (function () {
|
|
|
318
369
|
this.showConfirmationDialog = false;
|
|
319
370
|
this._columns = new core_1.QueryList();
|
|
320
371
|
this._data = [];
|
|
372
|
+
this._dragScrollSettings = tslib_1.__assign({}, DEFAULT_DRAG_SCROLL_SETTINGS);
|
|
321
373
|
this._timelinePaneOptions = tslib_1.__assign({}, splitter_pane_options_interface_1.DEFAULT_TIMELINE_PANE_SETTINGS);
|
|
322
374
|
this._treeListPaneOptions = tslib_1.__assign({}, splitter_pane_options_interface_1.DEFAULT_TREELIST_PANE_SETTINGS);
|
|
323
375
|
this._rowClass = default_callbacks_1.rowClassCallback;
|
|
@@ -342,23 +394,32 @@ var GanttComponent = /** @class */ (function () {
|
|
|
342
394
|
}));
|
|
343
395
|
this.editService.getSelectedItem = this.getFirstSelectedItem.bind(this);
|
|
344
396
|
this.editServiceSubscription.add(this.editService.showEditingDialog.subscribe(function (show) { return _this.showEditingDialog = show; }));
|
|
345
|
-
this.editServiceSubscription.add(this.editService.
|
|
397
|
+
this.editServiceSubscription.add(this.editService.taskDelete.subscribe(function (task) {
|
|
398
|
+
if (kendo_angular_common_1.hasObservers(_this.taskDelete)) {
|
|
399
|
+
_this.zone.run(function () {
|
|
400
|
+
return _this.notifyTaskDelete(task);
|
|
401
|
+
});
|
|
402
|
+
}
|
|
403
|
+
}));
|
|
346
404
|
this.editServiceSubscription.add(this.editService.editEvent.subscribe(function (args) {
|
|
347
405
|
_this[args.editResultType].emit({
|
|
348
406
|
taskFormGroup: args.taskFormGroup,
|
|
349
|
-
item:
|
|
407
|
+
item: utils_2.getEditItem(args.dataItem, _this.treeList.view.data, _this.mapper),
|
|
350
408
|
dependencies: args.dependencies,
|
|
351
409
|
sender: _this
|
|
352
410
|
});
|
|
353
411
|
_this.showConfirmationDialog = _this.showEditingDialog = false;
|
|
354
412
|
_this.editService.dataItem = _this.editService.taskFormGroup = null;
|
|
355
413
|
_this.updateView();
|
|
414
|
+
if (_this.navigable) {
|
|
415
|
+
_this.focus();
|
|
416
|
+
}
|
|
356
417
|
}));
|
|
357
418
|
this.editServiceSubscription.add(this.editService.addEvent.subscribe(function (args) {
|
|
358
419
|
var selectedItem = _this.getFirstSelectedItem();
|
|
359
420
|
_this.taskAdd.emit({
|
|
360
421
|
actionType: args.actionType,
|
|
361
|
-
selectedItem: selectedItem ?
|
|
422
|
+
selectedItem: selectedItem ? utils_2.getEditItem(selectedItem, _this.treeList.view.data, _this.mapper) : null
|
|
362
423
|
});
|
|
363
424
|
_this.updateView();
|
|
364
425
|
}));
|
|
@@ -382,6 +443,20 @@ var GanttComponent = /** @class */ (function () {
|
|
|
382
443
|
enumerable: true,
|
|
383
444
|
configurable: true
|
|
384
445
|
});
|
|
446
|
+
Object.defineProperty(GanttComponent.prototype, "hostRoleDescriptionAttr", {
|
|
447
|
+
get: function () {
|
|
448
|
+
return this.roleDescription;
|
|
449
|
+
},
|
|
450
|
+
enumerable: true,
|
|
451
|
+
configurable: true
|
|
452
|
+
});
|
|
453
|
+
Object.defineProperty(GanttComponent.prototype, "hostRoleAttr", {
|
|
454
|
+
get: function () {
|
|
455
|
+
return this.role;
|
|
456
|
+
},
|
|
457
|
+
enumerable: true,
|
|
458
|
+
configurable: true
|
|
459
|
+
});
|
|
385
460
|
Object.defineProperty(GanttComponent.prototype, "dir", {
|
|
386
461
|
get: function () {
|
|
387
462
|
return this.direction;
|
|
@@ -596,6 +671,21 @@ var GanttComponent = /** @class */ (function () {
|
|
|
596
671
|
enumerable: true,
|
|
597
672
|
configurable: true
|
|
598
673
|
});
|
|
674
|
+
Object.defineProperty(GanttComponent.prototype, "dragScrollSettings", {
|
|
675
|
+
get: function () {
|
|
676
|
+
return this._dragScrollSettings;
|
|
677
|
+
},
|
|
678
|
+
/**
|
|
679
|
+
* Specifies the settings for auto-scrolling during dragging
|
|
680
|
+
* when the pointer moves outside of the container bounderies
|
|
681
|
+
* [see example]({% slug editing_drag_create_dependencies_gantt %}#toc-auto-scrolling).
|
|
682
|
+
*/
|
|
683
|
+
set: function (settings) {
|
|
684
|
+
this._dragScrollSettings = tslib_1.__assign({}, DEFAULT_DRAG_SCROLL_SETTINGS, settings);
|
|
685
|
+
},
|
|
686
|
+
enumerable: true,
|
|
687
|
+
configurable: true
|
|
688
|
+
});
|
|
599
689
|
Object.defineProperty(GanttComponent.prototype, "renderedTreeListItems", {
|
|
600
690
|
/**
|
|
601
691
|
* @hidden
|
|
@@ -609,6 +699,19 @@ var GanttComponent = /** @class */ (function () {
|
|
|
609
699
|
enumerable: true,
|
|
610
700
|
configurable: true
|
|
611
701
|
});
|
|
702
|
+
Object.defineProperty(GanttComponent.prototype, "viewItems", {
|
|
703
|
+
/**
|
|
704
|
+
* @hidden
|
|
705
|
+
*/
|
|
706
|
+
get: function () {
|
|
707
|
+
if (!utils_1.isPresent(this.treeList)) {
|
|
708
|
+
return [];
|
|
709
|
+
}
|
|
710
|
+
return this.treeList.view.data;
|
|
711
|
+
},
|
|
712
|
+
enumerable: true,
|
|
713
|
+
configurable: true
|
|
714
|
+
});
|
|
612
715
|
Object.defineProperty(GanttComponent.prototype, "filterMenu", {
|
|
613
716
|
/**
|
|
614
717
|
* @hidden
|
|
@@ -672,6 +775,16 @@ var GanttComponent = /** @class */ (function () {
|
|
|
672
775
|
enumerable: true,
|
|
673
776
|
configurable: true
|
|
674
777
|
});
|
|
778
|
+
Object.defineProperty(GanttComponent.prototype, "isInEditMode", {
|
|
779
|
+
/**
|
|
780
|
+
* @hidden
|
|
781
|
+
*/
|
|
782
|
+
get: function () {
|
|
783
|
+
return this.showEditingDialog || this.showConfirmationDialog || this.treeList.isEditing();
|
|
784
|
+
},
|
|
785
|
+
enumerable: true,
|
|
786
|
+
configurable: true
|
|
787
|
+
});
|
|
675
788
|
GanttComponent.prototype.ngOnChanges = function (changes) {
|
|
676
789
|
if (kendo_angular_common_1.anyChanged(['data', 'activeView', 'workWeekStart', 'workWeekEnd', 'workDayStart', 'workDayEnd'], changes)) {
|
|
677
790
|
this.loadTimelineData();
|
|
@@ -679,6 +792,14 @@ var GanttComponent = /** @class */ (function () {
|
|
|
679
792
|
};
|
|
680
793
|
GanttComponent.prototype.ngAfterViewInit = function () {
|
|
681
794
|
this.updateTreeListMargin();
|
|
795
|
+
if (this.navigable) {
|
|
796
|
+
this.navigationService.initialize({
|
|
797
|
+
gantt: this,
|
|
798
|
+
host: this.hostElement.nativeElement,
|
|
799
|
+
treeListElement: this.treeList.wrapper.nativeElement,
|
|
800
|
+
timelineElement: this.timeline.timelineContent.nativeElement
|
|
801
|
+
});
|
|
802
|
+
}
|
|
682
803
|
var leftContainer = this.treeList.wrapper.nativeElement.querySelector('kendo-treelist-list > div');
|
|
683
804
|
this.scrollSyncService.registerElement(leftContainer, 'treelist');
|
|
684
805
|
};
|
|
@@ -696,6 +817,34 @@ var GanttComponent = /** @class */ (function () {
|
|
|
696
817
|
this.localizationSubscription.unsubscribe();
|
|
697
818
|
}
|
|
698
819
|
};
|
|
820
|
+
/**
|
|
821
|
+
* Focuses the last active cell or task in the Gantt.
|
|
822
|
+
* If no item has previously been focused, the first cell of the TreeList part will receive focus,
|
|
823
|
+
* ([see example]({% slug keyboard_navigation_gantt %}#toc-controlling-the-focus)).
|
|
824
|
+
*/
|
|
825
|
+
GanttComponent.prototype.focus = function () {
|
|
826
|
+
if (this.navigable) {
|
|
827
|
+
this.navigationService.focusLastActiveItem();
|
|
828
|
+
}
|
|
829
|
+
};
|
|
830
|
+
/**
|
|
831
|
+
* Focuses the targeted cell in the TreeList part of the component,
|
|
832
|
+
* ([see example]({% slug keyboard_navigation_gantt %}#toc-controlling-the-focus)).
|
|
833
|
+
*/
|
|
834
|
+
GanttComponent.prototype.focusCell = function (rowIndex, colIndex) {
|
|
835
|
+
if (this.navigable) {
|
|
836
|
+
this.navigationService.focusCell(rowIndex, colIndex);
|
|
837
|
+
}
|
|
838
|
+
};
|
|
839
|
+
/**
|
|
840
|
+
* Focuses the targeted task in the Timeline part of the component,
|
|
841
|
+
* ([see example]({% slug keyboard_navigation_gantt %}#toc-controlling-the-focus)).
|
|
842
|
+
*/
|
|
843
|
+
GanttComponent.prototype.focusTask = function (taskIndex) {
|
|
844
|
+
if (this.navigable) {
|
|
845
|
+
this.navigationService.focusTask(taskIndex);
|
|
846
|
+
}
|
|
847
|
+
};
|
|
699
848
|
/**
|
|
700
849
|
* Applies the minimum possible width for the specified column,
|
|
701
850
|
* so that the whole text fits without wrapping. This method expects the Gantt
|
|
@@ -785,6 +934,15 @@ var GanttComponent = /** @class */ (function () {
|
|
|
785
934
|
GanttComponent.prototype.openConfirmationDialog = function () {
|
|
786
935
|
this.showConfirmationDialog = true;
|
|
787
936
|
};
|
|
937
|
+
/**
|
|
938
|
+
* @hidden
|
|
939
|
+
*/
|
|
940
|
+
GanttComponent.prototype.handleConfirmationDialogClose = function () {
|
|
941
|
+
this.showConfirmationDialog = false;
|
|
942
|
+
if (this.navigable) {
|
|
943
|
+
this.focus();
|
|
944
|
+
}
|
|
945
|
+
};
|
|
788
946
|
/**
|
|
789
947
|
* Opens a cell for editing.
|
|
790
948
|
*/
|
|
@@ -870,7 +1028,7 @@ var GanttComponent = /** @class */ (function () {
|
|
|
870
1028
|
if (kendo_angular_common_1.hasObservers(this.taskClick)) {
|
|
871
1029
|
var taskIndex_1 = utils_1.getClosestTaskIndex(target, gantt);
|
|
872
1030
|
var task_1 = this.renderedTreeListItems[taskIndex_1];
|
|
873
|
-
this.zone.run(function () { return _this.
|
|
1031
|
+
this.zone.run(function () { return _this.notifyTaskClick(event, task_1, taskIndex_1); });
|
|
874
1032
|
}
|
|
875
1033
|
};
|
|
876
1034
|
/**
|
|
@@ -889,8 +1047,8 @@ var GanttComponent = /** @class */ (function () {
|
|
|
889
1047
|
if ((kendo_angular_common_1.hasObservers(this.selectionChange) && !this.isSameSelection(selectionAction, task)) ||
|
|
890
1048
|
kendo_angular_common_1.hasObservers(this.taskClick)) {
|
|
891
1049
|
this.zone.run(function () {
|
|
892
|
-
_this.
|
|
893
|
-
_this.
|
|
1050
|
+
_this.notifySelectionChange(task, selectionAction);
|
|
1051
|
+
_this.notifyTaskClick(event, task, taskIndex);
|
|
894
1052
|
});
|
|
895
1053
|
}
|
|
896
1054
|
};
|
|
@@ -902,7 +1060,7 @@ var GanttComponent = /** @class */ (function () {
|
|
|
902
1060
|
if (!utils_1.isPresent(this.lastTreeListCellClick) || event.target !== this.lastTreeListCellClick.originalEvent.target) {
|
|
903
1061
|
return;
|
|
904
1062
|
}
|
|
905
|
-
this.editItem =
|
|
1063
|
+
this.editItem = utils_2.getEditItem(this.lastTreeListCellClick.dataItem, this.treeList.view.data, this.mapper);
|
|
906
1064
|
if (kendo_angular_common_1.hasObservers(this.cellDblClick)) {
|
|
907
1065
|
this.zone.run(function () {
|
|
908
1066
|
_this.cellDblClick.emit({
|
|
@@ -928,7 +1086,7 @@ var GanttComponent = /** @class */ (function () {
|
|
|
928
1086
|
}
|
|
929
1087
|
var task = event.items.map(function (item) { return item.dataItem; })[0]; // single selection only currently available
|
|
930
1088
|
var action = event.action;
|
|
931
|
-
this.
|
|
1089
|
+
this.notifySelectionChange(task, action);
|
|
932
1090
|
};
|
|
933
1091
|
/**
|
|
934
1092
|
* @hidden
|
|
@@ -980,7 +1138,7 @@ var GanttComponent = /** @class */ (function () {
|
|
|
980
1138
|
dataItem: task_2,
|
|
981
1139
|
originalEvent: event,
|
|
982
1140
|
sender: _this,
|
|
983
|
-
|
|
1141
|
+
index: taskIndex_2,
|
|
984
1142
|
type: 'dblclick'
|
|
985
1143
|
}); });
|
|
986
1144
|
}
|
|
@@ -991,16 +1149,35 @@ var GanttComponent = /** @class */ (function () {
|
|
|
991
1149
|
GanttComponent.prototype.getText = function (token) {
|
|
992
1150
|
return this.localizationService.get(token);
|
|
993
1151
|
};
|
|
994
|
-
|
|
1152
|
+
/**
|
|
1153
|
+
* @hidden
|
|
1154
|
+
*/
|
|
1155
|
+
GanttComponent.prototype.changeActiveView = function (view) {
|
|
1156
|
+
if (view !== this.activeView) {
|
|
1157
|
+
this.activeView = view;
|
|
1158
|
+
this.loadTimelineData();
|
|
1159
|
+
this.scrollSyncService.resetTimelineScrollLeft();
|
|
1160
|
+
this.activeViewChange.emit(view);
|
|
1161
|
+
}
|
|
1162
|
+
};
|
|
1163
|
+
/**
|
|
1164
|
+
* @hidden
|
|
1165
|
+
*/
|
|
1166
|
+
GanttComponent.prototype.notifyTaskClick = function (event, dataItem, itemIndex) {
|
|
1167
|
+
// simulates the TreeList `cellClick` event triggered by enter press (type: 'click')
|
|
1168
|
+
var type = event instanceof KeyboardEvent ? 'click' : event.type;
|
|
995
1169
|
this.taskClick.emit({
|
|
996
1170
|
originalEvent: event,
|
|
997
1171
|
dataItem: dataItem,
|
|
998
|
-
|
|
999
|
-
type:
|
|
1172
|
+
index: itemIndex,
|
|
1173
|
+
type: type,
|
|
1000
1174
|
sender: this
|
|
1001
1175
|
});
|
|
1002
1176
|
};
|
|
1003
|
-
|
|
1177
|
+
/**
|
|
1178
|
+
* @hidden
|
|
1179
|
+
*/
|
|
1180
|
+
GanttComponent.prototype.notifySelectionChange = function (dataItem, action) {
|
|
1004
1181
|
if (this.isSameSelection(action, dataItem)) {
|
|
1005
1182
|
return;
|
|
1006
1183
|
}
|
|
@@ -1011,6 +1188,30 @@ var GanttComponent = /** @class */ (function () {
|
|
|
1011
1188
|
});
|
|
1012
1189
|
this.treeList.updateView();
|
|
1013
1190
|
};
|
|
1191
|
+
/**
|
|
1192
|
+
* @hidden
|
|
1193
|
+
*/
|
|
1194
|
+
GanttComponent.prototype.notifyTaskDelete = function (task) {
|
|
1195
|
+
this.editService.dataItem = task;
|
|
1196
|
+
this.taskDelete.emit({
|
|
1197
|
+
item: utils_2.getEditItem(task, this.treeList.view.data, this.mapper),
|
|
1198
|
+
sender: this
|
|
1199
|
+
});
|
|
1200
|
+
};
|
|
1201
|
+
/**
|
|
1202
|
+
* @hidden
|
|
1203
|
+
*/
|
|
1204
|
+
GanttComponent.prototype.isSameSelection = function (action, dataItem) {
|
|
1205
|
+
return action === 'select' && this.isSelected(dataItem);
|
|
1206
|
+
};
|
|
1207
|
+
/**
|
|
1208
|
+
* @hidden
|
|
1209
|
+
*/
|
|
1210
|
+
GanttComponent.prototype.getSelectionAction = function (_a, dataItem) {
|
|
1211
|
+
var ctrlKey = _a.ctrlKey, metaKey = _a.metaKey;
|
|
1212
|
+
var shouldToggleSelection = ctrlKey || metaKey;
|
|
1213
|
+
return (shouldToggleSelection && this.isSelected(dataItem)) ? 'remove' : 'select';
|
|
1214
|
+
};
|
|
1014
1215
|
GanttComponent.prototype.updateTreeListGroupClass = function (columns) {
|
|
1015
1216
|
if (columns === void 0) { columns = this.columns; }
|
|
1016
1217
|
if (!utils_1.isPresent(this.treeList)) {
|
|
@@ -1041,24 +1242,70 @@ var GanttComponent = /** @class */ (function () {
|
|
|
1041
1242
|
}
|
|
1042
1243
|
return this.views.find(function (view) { return view.type === _this.activeView; });
|
|
1043
1244
|
};
|
|
1044
|
-
GanttComponent.prototype.isSameSelection = function (action, dataItem) {
|
|
1045
|
-
return action === 'select' && this.isSelected(dataItem);
|
|
1046
|
-
};
|
|
1047
|
-
GanttComponent.prototype.getSelectionAction = function (_a, dataItem) {
|
|
1048
|
-
var ctrlKey = _a.ctrlKey, metaKey = _a.metaKey;
|
|
1049
|
-
var shouldToggleSelection = ctrlKey || metaKey;
|
|
1050
|
-
return (shouldToggleSelection && this.isSelected(dataItem)) ? 'remove' : 'select';
|
|
1051
|
-
};
|
|
1052
1245
|
GanttComponent.prototype.getFirstSelectedItem = function () {
|
|
1053
1246
|
var isSelectedCallback = this.isSelected || default_callbacks_1.isSelected;
|
|
1054
1247
|
var loadedItems = this.renderedTreeListItems || [];
|
|
1055
1248
|
return loadedItems.find(isSelectedCallback);
|
|
1056
1249
|
};
|
|
1250
|
+
GanttComponent.prototype.defaultValidateNewDependencyCallback = function (dependency) {
|
|
1251
|
+
var _this = this;
|
|
1252
|
+
var fromTaskId = this.mapper.extractFromDependency(dependency, 'fromId');
|
|
1253
|
+
var toTaskId = this.mapper.extractFromDependency(dependency, 'toId');
|
|
1254
|
+
var fromTask = this.treeList.view.data.find(function (task) {
|
|
1255
|
+
return _this.mapper.extractFromTask(task.data, 'id') === fromTaskId;
|
|
1256
|
+
});
|
|
1257
|
+
var toTask = this.treeList.view.data.find(function (task) {
|
|
1258
|
+
return _this.mapper.extractFromTask(task.data, 'id') === toTaskId;
|
|
1259
|
+
});
|
|
1260
|
+
// mark as invalid if the attempted dependency is lacking valid from- and to-tasks
|
|
1261
|
+
// or when the from- and to-tasks are actually the same task
|
|
1262
|
+
if (!utils_1.isPresent(fromTask) || !utils_1.isPresent(fromTask.data) ||
|
|
1263
|
+
!utils_1.isPresent(toTask) || !utils_1.isPresent(toTask.data) ||
|
|
1264
|
+
fromTask.data === toTask.data) {
|
|
1265
|
+
return false;
|
|
1266
|
+
}
|
|
1267
|
+
var tasksDependentOnOneAnother = this.dependencies.some(function (current) {
|
|
1268
|
+
var currentFromId = _this.mapper.extractFromDependency(current, 'fromId');
|
|
1269
|
+
var currentToId = _this.mapper.extractFromDependency(current, 'toId');
|
|
1270
|
+
return (fromTaskId === currentFromId && toTaskId === currentToId) ||
|
|
1271
|
+
(toTaskId === currentFromId && fromTaskId === currentToId);
|
|
1272
|
+
});
|
|
1273
|
+
// mark as invalid if the attempted dependency is trying to connect already dependent tasks
|
|
1274
|
+
// mark as invalid if the two tasks are in parent-child relationship
|
|
1275
|
+
if (tasksDependentOnOneAnother || utils_1.areParentChild(fromTask, toTask)) {
|
|
1276
|
+
return false;
|
|
1277
|
+
}
|
|
1278
|
+
var fromTaskStart = this.mapper.extractFromTask(fromTask.data, 'start');
|
|
1279
|
+
var fromTaskEnd = this.mapper.extractFromTask(fromTask.data, 'end');
|
|
1280
|
+
var toTaskStart = this.mapper.extractFromTask(toTask.data, 'start');
|
|
1281
|
+
var toTaskEnd = this.mapper.extractFromTask(toTask.data, 'end');
|
|
1282
|
+
// if the two tasks are available to be connected via a dependency,
|
|
1283
|
+
// check if their start and end time allow for the attempted dependency type
|
|
1284
|
+
switch (this.mapper.extractFromDependency(dependency, 'type')) {
|
|
1285
|
+
// finish to finish (FF) — the from-task ends before the to-task can end
|
|
1286
|
+
case models_1.DependencyType.FF:
|
|
1287
|
+
return fromTaskEnd <= toTaskEnd;
|
|
1288
|
+
// finish to start (FS) — the from-task ends before the to-task can begin
|
|
1289
|
+
case models_1.DependencyType.FS:
|
|
1290
|
+
return fromTaskEnd <= toTaskStart;
|
|
1291
|
+
// start to finish (SF) — the from-task begins before the to-task can end
|
|
1292
|
+
case models_1.DependencyType.SF:
|
|
1293
|
+
return fromTaskStart <= toTaskEnd;
|
|
1294
|
+
// start to start (SS) — the from-task begins before the to-task can begin
|
|
1295
|
+
case models_1.DependencyType.SS:
|
|
1296
|
+
return fromTaskStart <= toTaskStart;
|
|
1297
|
+
default: return false;
|
|
1298
|
+
}
|
|
1299
|
+
};
|
|
1057
1300
|
var GanttComponent_1;
|
|
1058
1301
|
tslib_1.__decorate([
|
|
1059
1302
|
core_1.ViewChild(kendo_angular_treelist_1.TreeListComponent, { static: true }),
|
|
1060
1303
|
tslib_1.__metadata("design:type", kendo_angular_treelist_1.TreeListComponent)
|
|
1061
1304
|
], GanttComponent.prototype, "treeList", void 0);
|
|
1305
|
+
tslib_1.__decorate([
|
|
1306
|
+
core_1.ViewChild(gantt_timeline_component_1.GanttTimelineComponent, { static: false }),
|
|
1307
|
+
tslib_1.__metadata("design:type", gantt_timeline_component_1.GanttTimelineComponent)
|
|
1308
|
+
], GanttComponent.prototype, "timeline", void 0);
|
|
1062
1309
|
tslib_1.__decorate([
|
|
1063
1310
|
core_1.ContentChild(task_content_template_directive_1.GanttTaskContentTemplateDirective, { static: true }),
|
|
1064
1311
|
tslib_1.__metadata("design:type", task_content_template_directive_1.GanttTaskContentTemplateDirective)
|
|
@@ -1075,6 +1322,24 @@ var GanttComponent = /** @class */ (function () {
|
|
|
1075
1322
|
core_1.ContentChildren(toolbar_template_directive_1.ToolbarTemplateDirective),
|
|
1076
1323
|
tslib_1.__metadata("design:type", core_1.QueryList)
|
|
1077
1324
|
], GanttComponent.prototype, "toolbarTemplateChildren", void 0);
|
|
1325
|
+
tslib_1.__decorate([
|
|
1326
|
+
core_1.Input('aria-roledescription'),
|
|
1327
|
+
tslib_1.__metadata("design:type", String)
|
|
1328
|
+
], GanttComponent.prototype, "roleDescription", void 0);
|
|
1329
|
+
tslib_1.__decorate([
|
|
1330
|
+
core_1.HostBinding('attr.aria-roledescription'),
|
|
1331
|
+
tslib_1.__metadata("design:type", String),
|
|
1332
|
+
tslib_1.__metadata("design:paramtypes", [])
|
|
1333
|
+
], GanttComponent.prototype, "hostRoleDescriptionAttr", null);
|
|
1334
|
+
tslib_1.__decorate([
|
|
1335
|
+
core_1.Input('role'),
|
|
1336
|
+
tslib_1.__metadata("design:type", String)
|
|
1337
|
+
], GanttComponent.prototype, "role", void 0);
|
|
1338
|
+
tslib_1.__decorate([
|
|
1339
|
+
core_1.HostBinding('attr.role'),
|
|
1340
|
+
tslib_1.__metadata("design:type", String),
|
|
1341
|
+
tslib_1.__metadata("design:paramtypes", [])
|
|
1342
|
+
], GanttComponent.prototype, "hostRoleAttr", null);
|
|
1078
1343
|
tslib_1.__decorate([
|
|
1079
1344
|
core_1.HostBinding('class.k-gantt'),
|
|
1080
1345
|
tslib_1.__metadata("design:type", Boolean)
|
|
@@ -1117,6 +1382,10 @@ var GanttComponent = /** @class */ (function () {
|
|
|
1117
1382
|
core_1.Input(),
|
|
1118
1383
|
tslib_1.__metadata("design:type", Function)
|
|
1119
1384
|
], GanttComponent.prototype, "isSelected", void 0);
|
|
1385
|
+
tslib_1.__decorate([
|
|
1386
|
+
core_1.Input(),
|
|
1387
|
+
tslib_1.__metadata("design:type", Function)
|
|
1388
|
+
], GanttComponent.prototype, "validateNewDependency", void 0);
|
|
1120
1389
|
tslib_1.__decorate([
|
|
1121
1390
|
core_1.Output(),
|
|
1122
1391
|
tslib_1.__metadata("design:type", core_1.EventEmitter)
|
|
@@ -1176,6 +1445,10 @@ var GanttComponent = /** @class */ (function () {
|
|
|
1176
1445
|
core_1.Input(),
|
|
1177
1446
|
tslib_1.__metadata("design:type", Number)
|
|
1178
1447
|
], GanttComponent.prototype, "workWeekEnd", void 0);
|
|
1448
|
+
tslib_1.__decorate([
|
|
1449
|
+
core_1.Input(),
|
|
1450
|
+
tslib_1.__metadata("design:type", Boolean)
|
|
1451
|
+
], GanttComponent.prototype, "navigable", void 0);
|
|
1179
1452
|
tslib_1.__decorate([
|
|
1180
1453
|
core_1.Input(),
|
|
1181
1454
|
tslib_1.__metadata("design:type", Object),
|
|
@@ -1216,6 +1489,11 @@ var GanttComponent = /** @class */ (function () {
|
|
|
1216
1489
|
core_1.Input(),
|
|
1217
1490
|
tslib_1.__metadata("design:type", Boolean)
|
|
1218
1491
|
], GanttComponent.prototype, "columnsResizable", void 0);
|
|
1492
|
+
tslib_1.__decorate([
|
|
1493
|
+
core_1.Input(),
|
|
1494
|
+
tslib_1.__metadata("design:type", Object),
|
|
1495
|
+
tslib_1.__metadata("design:paramtypes", [Object])
|
|
1496
|
+
], GanttComponent.prototype, "dragScrollSettings", null);
|
|
1219
1497
|
tslib_1.__decorate([
|
|
1220
1498
|
core_1.Output(),
|
|
1221
1499
|
tslib_1.__metadata("design:type", core_1.EventEmitter)
|
|
@@ -1256,6 +1534,10 @@ var GanttComponent = /** @class */ (function () {
|
|
|
1256
1534
|
core_1.Output(),
|
|
1257
1535
|
tslib_1.__metadata("design:type", core_1.EventEmitter)
|
|
1258
1536
|
], GanttComponent.prototype, "taskAdd", void 0);
|
|
1537
|
+
tslib_1.__decorate([
|
|
1538
|
+
core_1.Output(),
|
|
1539
|
+
tslib_1.__metadata("design:type", core_1.EventEmitter)
|
|
1540
|
+
], GanttComponent.prototype, "dependencyAdd", void 0);
|
|
1259
1541
|
tslib_1.__decorate([
|
|
1260
1542
|
core_1.Output(),
|
|
1261
1543
|
tslib_1.__metadata("design:type", core_1.EventEmitter)
|
|
@@ -1331,9 +1613,11 @@ var GanttComponent = /** @class */ (function () {
|
|
|
1331
1613
|
dependency_dom_service_1.DependencyDomService,
|
|
1332
1614
|
mapping_service_1.MappingService,
|
|
1333
1615
|
option_changes_service_1.OptionChangesService,
|
|
1334
|
-
edit_service_1.EditService
|
|
1616
|
+
edit_service_1.EditService,
|
|
1617
|
+
timeline_scroll_service_1.TimelineScrollService,
|
|
1618
|
+
navigation_service_1.NavigationService
|
|
1335
1619
|
],
|
|
1336
|
-
template: "\n <ng-container kendoGanttLocalizedMessages\n i18n-taskEditingGeneralTabTitle=\"kendo.gantt.taskEditingGeneralTabTitle|The title of the 'General' tab of the editing dialog TabStrip\"\n taskEditingGeneralTabTitle=\"General\"\n\n i18n-taskEditingPredecessorsTabTitle=\"kendo.gantt.taskEditingPredecessorsTabTitle|The title of the 'Predecessors' dependencies tab of the editing dialog TabStrip\"\n taskEditingPredecessorsTabTitle=\"Predecessors\"\n\n i18n-taskEditingSuccessorsTabTitle=\"kendo.gantt.taskEditingSuccessorsTabTitle|The title of the 'Successors' dependencies tab of the editing dialog TabStrip\"\n taskEditingSuccessorsTabTitle=\"Successors\"\n\n i18n-taskEditingDependenciesAddButtonText=\"kendo.gantt.taskEditingDependenciesAddButtonText|The text of the 'Add' button in the dependencies tabs of the editing dialog TabStrip\"\n taskEditingDependenciesAddButtonText=\"Add\"\n\n i18n-taskEditingDependenciesRemoveButtonText=\"kendo.gantt.taskEditingDependenciesRemoveButtonText|The text of the 'Remove' button in the dependencies tabs of the editing dialog TabStrip\"\n taskEditingDependenciesRemoveButtonText=\"Remove\"\n\n i18n-taskEditingDependenciesGridNameColumnTitle=\"kendo.gantt.taskEditingDependenciesGridNameColumnTitle|The title of the 'Task Title' Grid column in the dependencies tabs of the editing dialog TabStrip\"\n taskEditingDependenciesGridNameColumnTitle=\"Task Title\"\n\n i18n-taskEditingDependenciesGridTypeColumnTitle=\"kendo.gantt.taskEditingDependenciesGridTypeColumnTitle|The title of the 'Type' Grid column in the dependencies tabs of the editing dialog TabStrip\"\n taskEditingDependenciesGridTypeColumnTitle=\"Type\"\n\n i18n-taskDeleteLabel=\"kendo.gantt.taskDeleteLabel|The label of the task delete icon\"\n taskDeleteLabel=\"Delete\"\n\n i18n-taskEditingDialogTitle=\"kendo.gantt.taskEditingDialogTitle|The title of the task editing dialog\"\n taskEditingDialogTitle=\"Editing Task\"\n\n i18n-taskEditingDialogCloseTitle=\"kendo.gantt.taskEditingDialogCloseTitle|The title of the task editing dialog close button\"\n taskEditingDialogCloseTitle=\"Close\"\n\n i18n-confirmationDialogCloseTitle=\"kendo.gantt.confirmationDialogCloseTitle|The title of the confirmation dialog close button\"\n confirmationDialogCloseTitle=\"Close\"\n\n i18n-confirmationDialogTitle=\"kendo.gantt.confirmationDialogTitle|The title of the delete task confirmation dialog\"\n confirmationDialogTitle=\"Delete Task\"\n\n i18n-confirmationDialogContent=\"kendo.gantt.confirmationDialogContent|The content of the delete task confirmation dialog\"\n confirmationDialogContent=\"Are you sure you want to delete this task?\"\n\n i18n-deleteButtonText=\"kendo.gantt.deleteButtonText|The text of the task editing dialog 'Delete' button\"\n deleteButtonText=\"Delete\"\n\n i18n-cancelButtonText=\"kendo.gantt.cancelButtonText|The text of the task editing dialog 'Cancel' button\"\n cancelButtonText=\"Cancel\"\n\n i18n-saveButtonText=\"kendo.gantt.saveButtonText|The text of the task editing dialog 'Save' button\"\n saveButtonText=\"Save\"\n\n i18n-titleFieldInputLabel=\"kendo.gantt.titleFieldInputLabel|The label of the 'title' field input in editing mode\"\n titleFieldInputLabel=\"Title\"\n\n i18n-startFieldInputLabel=\"kendo.gantt.startFieldInputLabel|The label of the 'start' field input in editing mode\"\n startFieldInputLabel=\"Start\"\n\n i18n-endFieldInputLabel=\"kendo.gantt.endFieldInputLabel|The label of the 'end' field input in editing mode\"\n endFieldInputLabel=\"End\"\n\n i18n-completionRatioFieldInputLabel=\"kendo.gantt.completionRatioFieldInputLabel|The label of the 'completionRatio' field input in editing mode\"\n completionRatioFieldInputLabel=\"Progress\"\n\n i18n-dayViewText=\"kendo.gantt.dayViewText|The text of the day view in the ViewSelector component\"\n dayViewText=\"Day\"\n\n i18n-weekViewText=\"kendo.gantt.weekViewText|The text of the week view in the ViewSelector component\"\n weekViewText=\"Week\"\n\n i18n-monthViewText=\"kendo.gantt.monthViewText|The text of the month view in the ViewSelector component\"\n monthViewText=\"Month\"\n\n i18n-yearViewText-disabled=\"kendo.gantt.yearViewText|The text of the year view in the ViewSelector component\"\n yearViewText=\"Year\"\n\n i18n-addTaskText=\"kendo.gantt.addTaskText|The text of the DropDownButton in the AddTask component\"\n addTaskText=\"Add Task\"\n\n i18n-addChildText=\"kendo.gantt.addChildText|The text of the 'Add Child' option in the AddTask component\"\n addChildText=\"Add Child\"\n\n i18n-addAboveText=\"kendo.gantt.addAboveText|The text of the 'Add Above' option in the AddTask component\"\n addAboveText=\"Add Above\"\n\n i18n-addBelowText=\"kendo.gantt.addBelowText|The text of the 'Add Below' option in the AddTask component\"\n addBelowText=\"Add Below\"\n\n i18n-noRecords=\"kendo.gantt.noRecords|The label visible in the TreeList when there are no records\"\n noRecords=\"No records available.\"\n\n i18n-filter=\"kendo.gantt.filter|The label of the filter cell or icon\"\n filter=\"Filter\"\n\n i18n-filterEqOperator=\"kendo.gantt.filterEqOperator|The text of the equal filter operator\"\n filterEqOperator=\"Is equal to\"\n\n i18n-filterNotEqOperator=\"kendo.gantt.filterNotEqOperator|The text of the not equal filter operator\"\n filterNotEqOperator=\"Is not equal to\"\n\n i18n-filterIsNullOperator=\"kendo.gantt.filterIsNullOperator|The text of the is null filter operator\"\n filterIsNullOperator=\"Is null\"\n\n i18n-filterIsNotNullOperator=\"kendo.gantt.filterIsNotNullOperator|The text of the is not null filter operator\"\n filterIsNotNullOperator=\"Is not null\"\n\n i18n-filterIsEmptyOperator=\"kendo.gantt.filterIsEmptyOperator|The text of the is empty filter operator\"\n filterIsEmptyOperator=\"Is empty\"\n\n i18n-filterIsNotEmptyOperator=\"kendo.gantt.filterIsNotEmptyOperator|The text of the is not empty filter operator\"\n filterIsNotEmptyOperator=\"Is not empty\"\n\n i18n-filterStartsWithOperator=\"kendo.gantt.filterStartsWithOperator|The text of the starts with filter operator\"\n filterStartsWithOperator=\"Starts with\"\n\n i18n-filterContainsOperator=\"kendo.gantt.filterContainsOperator|The text of the contains filter operator\"\n filterContainsOperator=\"Contains\"\n\n i18n-filterNotContainsOperator=\"kendo.gantt.filterNotContainsOperator|The text of the does not contain filter operator\"\n filterNotContainsOperator=\"Does not contain\"\n\n i18n-filterEndsWithOperator=\"kendo.gantt.filterEndsWithOperator|The text of the ends with filter operator\"\n filterEndsWithOperator=\"Ends with\"\n\n i18n-filterGteOperator=\"kendo.gantt.filterGteOperator|The text of the greater than or equal filter operator\"\n filterGteOperator=\"Is greater than or equal to\"\n\n i18n-filterGtOperator=\"kendo.gantt.filterGtOperator|The text of the greater than filter operator\"\n filterGtOperator=\"Is greater than\"\n\n i18n-filterLteOperator=\"kendo.gantt.filterLteOperator|The text of the less than or equal filter operator\"\n filterLteOperator=\"Is less than or equal to\"\n\n i18n-filterLtOperator=\"kendo.gantt.filterLtOperator|The text of the less than filter operator\"\n filterLtOperator=\"Is less than\"\n\n i18n-filterIsTrue=\"kendo.gantt.filterIsTrue|The text of the IsTrue boolean filter option\"\n filterIsTrue=\"Is True\"\n\n i18n-filterIsFalse=\"kendo.gantt.filterIsFalse|The text of the IsFalse boolean filter option\"\n filterIsFalse=\"Is False\"\n\n i18n-filterBooleanAll=\"kendo.gantt.filterBooleanAll|The text of the (All) boolean filter option\"\n filterBooleanAll=\"(All)\"\n\n i18n-filterAfterOrEqualOperator=\"kendo.gantt.filterAfterOrEqualOperator|The text of the after or equal date filter operator\"\n filterAfterOrEqualOperator=\"Is after or equal to\"\n\n i18n-filterAfterOperator=\"kendo.gantt.filterAfterOperator|The text of the after date filter operator\"\n filterAfterOperator=\"Is after\"\n\n i18n-filterBeforeOperator=\"kendo.gantt.filterBeforeOperator|The text of the before date filter operator\"\n filterBeforeOperator=\"Is before\"\n\n i18n-filterBeforeOrEqualOperator=\"kendo.gantt.filterBeforeOrEqualOperator|The text of the before or equal date filter operator\"\n filterBeforeOrEqualOperator=\"Is before or equal to\"\n\n i18n-filterFilterButton=\"kendo.gantt.filterFilterButton|The text of the filter button\"\n filterFilterButton=\"Filter\"\n\n i18n-filterClearButton=\"kendo.gantt.filterClearButton|The text of the clear filter button\"\n filterClearButton=\"Clear\"\n\n i18n-filterAndLogic=\"kendo.gantt.filterAndLogic|The text of the And filter logic\"\n filterAndLogic=\"And\"\n\n i18n-filterOrLogic=\"kendo.gantt.filterOrLogic|The text of the Or filter logic\"\n filterOrLogic=\"Or\"\n\n i18n-loading=\"kendo.gantt.loading|The loading text\"\n loading=\"Loading\"\n\n i18n-columnMenu=\"kendo.gantt.columnMenu|The title of the column menu icon\"\n columnMenu=\"Column Menu\"\n\n i18n-columns=\"kendo.gantt.columns|The text shown in the column menu for the columns item\"\n columns=\"Columns\"\n\n i18n-lock-disabled=\"kendo.gantt.lock|The text shown in the column menu for the lock item\"\n lock-disabled=\"Lock\"\n\n i18n-unlock-disabled=\"kendo.gantt.unlock|The text shown in the column menu for the unlock item\"\n unlock-disabled=\"Unlock\"\n\n i18n-sortable=\"kendo.gantt.sortable|The label of the sort icon\"\n sortable=\"Sortable\"\n\n i18n-sortAscending=\"kendo.gantt.sortAscending|The text shown in the column menu for the sort ascending item\"\n sortAscending=\"Sort Ascending\"\n\n i18n-sortDescending=\"kendo.gantt.sortDescending|The text shown in the column menu for the sort descending item\"\n sortDescending=\"Sort Descending\"\n\n i18n-sortedAscending=\"kendo.gantt.sortedAscending|The status announcement when a column is sorted ascending\"\n sortedAscending=\"Sorted Ascending\"\n\n i18n-sortedDescending=\"kendo.gantt.sortedDescending|The status announcement when a column is sorted descending\"\n sortedDescending=\"Sorted Descending\"\n\n i18n-sortedDefault=\"kendo.gantt.sortedDefault|The status announcement when a column is no longer sorted\"\n sortedDefault=\"Not Sorted\"\n\n i18n-columnsApply=\"kendo.gantt.columnsApply|The text shown in the column menu or column chooser for the columns apply button\"\n columnsApply=\"Apply\"\n\n i18n-columnsReset=\"kendo.gantt.columnsReset|The text shown in the column menu or column chooser for the columns reset button\"\n columnsReset=\"Reset\"></ng-container>\n <kendo-gantt-toolbar\n *ngIf=\"showToolbar('top')\"\n [showAddTask]=\"toolbarSettings.addTaskTool === 'top' || toolbarSettings.addTaskTool === 'both'\"\n [showViewSelector]=\"toolbarSettings.viewSelectorTool === 'top' || toolbarSettings.viewSelectorTool === 'both'\"\n class=\"k-gantt-header k-toolbar k-gantt-toolbar\"\n position=\"top\"></kendo-gantt-toolbar>\n <div class=\"k-gantt-content\">\n <kendo-splitter [style.border]=\"0\">\n <kendo-splitter-pane\n class=\"k-gantt-treelist k-gantt-treelist-scrollable\"\n [collapsible]=\"treeListPaneOptions?.collapsible\"\n [collapsed]=\"treeListPaneOptions?.collapsed\"\n (collapsedChange)=\"onTreeListCollapsedChange($event)\"\n [scrollable]=\"false\">\n <kendo-treelist\n [idField]=\"taskIdField\"\n [columns]=\"columns\"\n [data]=\"data\"\n [hasChildren]=\"hasChildren\"\n [fetchChildren]=\"fetchChildren\"\n [isExpanded]=\"isExpanded\"\n [autoSize]=\"columnsAutoSize\"\n [columnMenu]=\"columnMenu\"\n [reorderable]=\"columnsReorderable\"\n [resizable]=\"columnsResizable\"\n [rowClass]=\"rowClass\"\n [isSelected]=\"isSelected\"\n [selectable]=\"selectable\"\n [sortable]=\"sortable\"\n [sort]=\"sort\"\n [filterable]=\"filterMenu\"\n [filter]=\"filter\"\n (filterChange)=\"filterChange.emit($event)\"\n (sortChange)=\"sortChange.emit($event)\"\n (dataStateChange)=\"dataStateChange.emit({\n filter: $event.filter,\n sort: $event.sort\n })\"\n (expandStateChange)=\"expandStateChange.emit($event)\"\n (expand)=\"rowExpand.emit({ dataItem: $event.dataItem })\"\n (collapse)=\"rowCollapse.emit({ dataItem: $event.dataItem })\"\n (columnReorder)=\"columnReorder.emit($event)\"\n (columnResize)=\"columnResize.emit($event)\"\n (columnVisibilityChange)=\"handleColumnVisibilityChange($event)\"\n (columnLockedChange)=\"columnLockedChange.emit($event)\"\n (selectionChange)=\"handleTreeListSelectionChange($event)\"\n (cellClick)=\"handleTreeListCellClick($event)\"\n (cellClose)=\"handleCellClose($event)\"\n [kendoEventsOutsideAngular]=\"{\n dblclick: handleTreeListDoubleClick\n }\"\n [scope]=\"this\"\n >\n <kendo-treelist-messages\n [noRecords]=\"getText('noRecords')\"\n [filter]=\"getText('filter')\"\n [filterEqOperator]=\"getText('filterEqOperator')\"\n [filterNotEqOperator]=\"getText('filterNotEqOperator')\"\n [filterIsNullOperator]=\"getText('filterIsNullOperator')\"\n [filterIsNotNullOperator]=\"getText('filterIsNotNullOperator')\"\n [filterIsEmptyOperator]=\"getText('filterIsEmptyOperator')\"\n [filterIsNotEmptyOperator]=\"getText('filterIsNotEmptyOperator')\"\n [filterStartsWithOperator]=\"getText('filterStartsWithOperator')\"\n [filterContainsOperator]=\"getText('filterContainsOperator')\"\n [filterNotContainsOperator]=\"getText('filterNotContainsOperator')\"\n [filterEndsWithOperator]=\"getText('filterEndsWithOperator')\"\n [filterGteOperator]=\"getText('filterGteOperator')\"\n [filterGtOperator]=\"getText('filterGtOperator')\"\n [filterLteOperator]=\"getText('filterLteOperator')\"\n [filterLtOperator]=\"getText('filterLtOperator')\"\n [filterIsTrue]=\"getText('filterIsTrue')\"\n [filterIsFalse]=\"getText('filterIsFalse')\"\n [filterBooleanAll]=\"getText('filterBooleanAll')\"\n [filterAfterOrEqualOperator]=\"getText('filterAfterOrEqualOperator')\"\n [filterAfterOperator]=\"getText('filterAfterOperator')\"\n [filterBeforeOperator]=\"getText('filterBeforeOperator')\"\n [filterBeforeOrEqualOperator]=\"getText('filterBeforeOrEqualOperator')\"\n [filterFilterButton]=\"getText('filterFilterButton')\"\n [filterClearButton]=\"getText('filterClearButton')\"\n [filterAndLogic]=\"getText('filterAndLogic')\"\n [filterOrLogic]=\"getText('filterOrLogic')\"\n [loading]=\"getText('loading')\"\n [columnMenu]=\"getText('columnMenu')\"\n [columns]=\"getText('columns')\"\n [sortable]=\"getText('sortable')\"\n [sortAscending]=\"getText('sortAscending')\"\n [sortDescending]=\"getText('sortDescending')\"\n [sortedAscending]=\"getText('sortedAscending')\"\n [sortedDescending]=\"getText('sortedDescending')\"\n [sortedDefault]=\"getText('sortedDefault')\"\n [columnsApply]=\"getText('columnsApply')\"\n [columnsReset]=\"getText('columnsReset')\"\n >\n </kendo-treelist-messages>\n </kendo-treelist>\n </kendo-splitter-pane>\n <kendo-splitter-pane\n [collapsible]=\"timelinePaneOptions?.collapsible\"\n [resizable]=\"timelinePaneOptions?.resizable\"\n [collapsed]=\"timelinePaneOptions?.collapsed\"\n [min]=\"timelinePaneOptions?.min\"\n [max]=\"timelinePaneOptions?.max\"\n [size]=\"timelinePaneOptions?.size\"\n (collapsedChange)=\"onTimelineCollapsedChange($event)\"\n (sizeChange)=\"onTimelinePaneSizeChange($event)\"\n [scrollable]=\"false\">\n <kendo-gantt-timeline\n *ngIf=\"views && views.length\"\n [rows]=\"renderedTreeListItems\"\n [slots]=\"timelineSlots\"\n [groupSlots]=\"timelineGroupSlots\"\n [tableWidth]=\"tableWidth\"\n [activeView]=\"activeView\"\n [taskContentTemplate]=\"taskContentTemplate?.templateRef\"\n [taskTemplate]=\"taskTemplate?.templateRef\"\n [summaryTaskTemplate]=\"summaryTaskTemplate?.templateRef\"\n [taskClass]=\"taskClass\"\n [dependencies]=\"dependencies\"\n [hasChildren]=\"hasChildren\"\n [isTaskSelected]=\"isTaskSelected\"\n [kendoEventsOutsideAngular]=\"{\n click: handleTimelineClick,\n contextmenu: handleTimelineRightClick,\n dblclick: handleTimelineDblClick,\n mousedown: handleTimelineMouseDown\n }\"\n [scope]=\"this\"\n ></kendo-gantt-timeline>\n </kendo-splitter-pane>\n </kendo-splitter>\n </div>\n <kendo-gantt-toolbar\n *ngIf=\"showToolbar('bottom')\"\n [showAddTask]=\"toolbarSettings.addTaskTool === 'bottom' || toolbarSettings.addTaskTool === 'both'\"\n [showViewSelector]=\"toolbarSettings.viewSelectorTool === 'bottom' || toolbarSettings.viewSelectorTool === 'both'\"\n class=\"k-gantt-footer k-toolbar k-gantt-toolbar\"\n position=\"bottom\"></kendo-gantt-toolbar>\n <kendo-gantt-edit-dialog\n *ngIf=\"showEditingDialog\"\n [data]=\"data\">\n </kendo-gantt-edit-dialog>\n <kendo-dialog\n *ngIf=\"showConfirmationDialog\"\n [width]=\"575\"\n [height]=\"170\"\n [title]=\"getText('confirmationDialogTitle')\"\n (close)=\"showConfirmationDialog = false;\">\n <span>{{ getText('confirmationDialogContent') }}</span>\n <kendo-dialog-actions layout=\"normal\">\n <kendo-treelist-spacer></kendo-treelist-spacer>\n <button kendoButton [primary]=\"true\" (click)=\"handleDeleteConfirmation()\">{{ getText('deleteButtonText') }}</button>\n <button kendoButton (click)=\"showConfirmationDialog = false;\">{{ getText('cancelButtonText') }}</button>\n </kendo-dialog-actions>\n </kendo-dialog>\n "
|
|
1620
|
+
template: "\n <ng-container kendoGanttLocalizedMessages\n i18n-taskEditingGeneralTabTitle=\"kendo.gantt.taskEditingGeneralTabTitle|The title of the 'General' tab of the editing dialog TabStrip\"\n taskEditingGeneralTabTitle=\"General\"\n\n i18n-taskEditingPredecessorsTabTitle=\"kendo.gantt.taskEditingPredecessorsTabTitle|The title of the 'Predecessors' dependencies tab of the editing dialog TabStrip\"\n taskEditingPredecessorsTabTitle=\"Predecessors\"\n\n i18n-taskEditingSuccessorsTabTitle=\"kendo.gantt.taskEditingSuccessorsTabTitle|The title of the 'Successors' dependencies tab of the editing dialog TabStrip\"\n taskEditingSuccessorsTabTitle=\"Successors\"\n\n i18n-taskEditingDependenciesAddButtonText=\"kendo.gantt.taskEditingDependenciesAddButtonText|The text of the 'Add' button in the dependencies tabs of the editing dialog TabStrip\"\n taskEditingDependenciesAddButtonText=\"Add\"\n\n i18n-taskEditingDependenciesRemoveButtonText=\"kendo.gantt.taskEditingDependenciesRemoveButtonText|The text of the 'Remove' button in the dependencies tabs of the editing dialog TabStrip\"\n taskEditingDependenciesRemoveButtonText=\"Remove\"\n\n i18n-taskEditingDependenciesGridNameColumnTitle=\"kendo.gantt.taskEditingDependenciesGridNameColumnTitle|The title of the 'Task Title' Grid column in the dependencies tabs of the editing dialog TabStrip\"\n taskEditingDependenciesGridNameColumnTitle=\"Task Title\"\n\n i18n-taskEditingDependenciesGridTypeColumnTitle=\"kendo.gantt.taskEditingDependenciesGridTypeColumnTitle|The title of the 'Type' Grid column in the dependencies tabs of the editing dialog TabStrip\"\n taskEditingDependenciesGridTypeColumnTitle=\"Type\"\n\n i18n-taskDeleteLabel=\"kendo.gantt.taskDeleteLabel|The label of the task delete icon\"\n taskDeleteLabel=\"Delete\"\n\n i18n-taskEditingDialogTitle=\"kendo.gantt.taskEditingDialogTitle|The title of the task editing dialog\"\n taskEditingDialogTitle=\"Editing Task\"\n\n i18n-taskEditingDialogCloseTitle=\"kendo.gantt.taskEditingDialogCloseTitle|The title of the task editing dialog close button\"\n taskEditingDialogCloseTitle=\"Close\"\n\n i18n-confirmationDialogCloseTitle=\"kendo.gantt.confirmationDialogCloseTitle|The title of the confirmation dialog close button\"\n confirmationDialogCloseTitle=\"Close\"\n\n i18n-confirmationDialogTitle=\"kendo.gantt.confirmationDialogTitle|The title of the delete task confirmation dialog\"\n confirmationDialogTitle=\"Delete Task\"\n\n i18n-confirmationDialogContent=\"kendo.gantt.confirmationDialogContent|The content of the delete task confirmation dialog\"\n confirmationDialogContent=\"Are you sure you want to delete this task?\"\n\n i18n-deleteButtonText=\"kendo.gantt.deleteButtonText|The text of the task editing dialog 'Delete' button\"\n deleteButtonText=\"Delete\"\n\n i18n-cancelButtonText=\"kendo.gantt.cancelButtonText|The text of the task editing dialog 'Cancel' button\"\n cancelButtonText=\"Cancel\"\n\n i18n-saveButtonText=\"kendo.gantt.saveButtonText|The text of the task editing dialog 'Save' button\"\n saveButtonText=\"Save\"\n\n i18n-titleFieldInputLabel=\"kendo.gantt.titleFieldInputLabel|The label of the 'title' field input in editing mode\"\n titleFieldInputLabel=\"Title\"\n\n i18n-startFieldInputLabel=\"kendo.gantt.startFieldInputLabel|The label of the 'start' field input in editing mode\"\n startFieldInputLabel=\"Start\"\n\n i18n-endFieldInputLabel=\"kendo.gantt.endFieldInputLabel|The label of the 'end' field input in editing mode\"\n endFieldInputLabel=\"End\"\n\n i18n-completionRatioFieldInputLabel=\"kendo.gantt.completionRatioFieldInputLabel|The label of the 'completionRatio' field input in editing mode\"\n completionRatioFieldInputLabel=\"Progress\"\n\n i18n-dayViewText=\"kendo.gantt.dayViewText|The text of the day view in the ViewSelector component\"\n dayViewText=\"Day\"\n\n i18n-weekViewText=\"kendo.gantt.weekViewText|The text of the week view in the ViewSelector component\"\n weekViewText=\"Week\"\n\n i18n-monthViewText=\"kendo.gantt.monthViewText|The text of the month view in the ViewSelector component\"\n monthViewText=\"Month\"\n\n i18n-yearViewText-disabled=\"kendo.gantt.yearViewText|The text of the year view in the ViewSelector component\"\n yearViewText=\"Year\"\n\n i18n-addTaskText=\"kendo.gantt.addTaskText|The text of the DropDownButton in the AddTask component\"\n addTaskText=\"Add Task\"\n\n i18n-addChildText=\"kendo.gantt.addChildText|The text of the 'Add Child' option in the AddTask component\"\n addChildText=\"Add Child\"\n\n i18n-addAboveText=\"kendo.gantt.addAboveText|The text of the 'Add Above' option in the AddTask component\"\n addAboveText=\"Add Above\"\n\n i18n-addBelowText=\"kendo.gantt.addBelowText|The text of the 'Add Below' option in the AddTask component\"\n addBelowText=\"Add Below\"\n\n i18n-noRecords=\"kendo.gantt.noRecords|The label visible in the TreeList when there are no records\"\n noRecords=\"No records available.\"\n\n i18n-filter=\"kendo.gantt.filter|The label of the filter cell or icon\"\n filter=\"Filter\"\n\n i18n-filterEqOperator=\"kendo.gantt.filterEqOperator|The text of the equal filter operator\"\n filterEqOperator=\"Is equal to\"\n\n i18n-filterNotEqOperator=\"kendo.gantt.filterNotEqOperator|The text of the not equal filter operator\"\n filterNotEqOperator=\"Is not equal to\"\n\n i18n-filterIsNullOperator=\"kendo.gantt.filterIsNullOperator|The text of the is null filter operator\"\n filterIsNullOperator=\"Is null\"\n\n i18n-filterIsNotNullOperator=\"kendo.gantt.filterIsNotNullOperator|The text of the is not null filter operator\"\n filterIsNotNullOperator=\"Is not null\"\n\n i18n-filterIsEmptyOperator=\"kendo.gantt.filterIsEmptyOperator|The text of the is empty filter operator\"\n filterIsEmptyOperator=\"Is empty\"\n\n i18n-filterIsNotEmptyOperator=\"kendo.gantt.filterIsNotEmptyOperator|The text of the is not empty filter operator\"\n filterIsNotEmptyOperator=\"Is not empty\"\n\n i18n-filterStartsWithOperator=\"kendo.gantt.filterStartsWithOperator|The text of the starts with filter operator\"\n filterStartsWithOperator=\"Starts with\"\n\n i18n-filterContainsOperator=\"kendo.gantt.filterContainsOperator|The text of the contains filter operator\"\n filterContainsOperator=\"Contains\"\n\n i18n-filterNotContainsOperator=\"kendo.gantt.filterNotContainsOperator|The text of the does not contain filter operator\"\n filterNotContainsOperator=\"Does not contain\"\n\n i18n-filterEndsWithOperator=\"kendo.gantt.filterEndsWithOperator|The text of the ends with filter operator\"\n filterEndsWithOperator=\"Ends with\"\n\n i18n-filterGteOperator=\"kendo.gantt.filterGteOperator|The text of the greater than or equal filter operator\"\n filterGteOperator=\"Is greater than or equal to\"\n\n i18n-filterGtOperator=\"kendo.gantt.filterGtOperator|The text of the greater than filter operator\"\n filterGtOperator=\"Is greater than\"\n\n i18n-filterLteOperator=\"kendo.gantt.filterLteOperator|The text of the less than or equal filter operator\"\n filterLteOperator=\"Is less than or equal to\"\n\n i18n-filterLtOperator=\"kendo.gantt.filterLtOperator|The text of the less than filter operator\"\n filterLtOperator=\"Is less than\"\n\n i18n-filterIsTrue=\"kendo.gantt.filterIsTrue|The text of the IsTrue boolean filter option\"\n filterIsTrue=\"Is True\"\n\n i18n-filterIsFalse=\"kendo.gantt.filterIsFalse|The text of the IsFalse boolean filter option\"\n filterIsFalse=\"Is False\"\n\n i18n-filterBooleanAll=\"kendo.gantt.filterBooleanAll|The text of the (All) boolean filter option\"\n filterBooleanAll=\"(All)\"\n\n i18n-filterAfterOrEqualOperator=\"kendo.gantt.filterAfterOrEqualOperator|The text of the after or equal date filter operator\"\n filterAfterOrEqualOperator=\"Is after or equal to\"\n\n i18n-filterAfterOperator=\"kendo.gantt.filterAfterOperator|The text of the after date filter operator\"\n filterAfterOperator=\"Is after\"\n\n i18n-filterBeforeOperator=\"kendo.gantt.filterBeforeOperator|The text of the before date filter operator\"\n filterBeforeOperator=\"Is before\"\n\n i18n-filterBeforeOrEqualOperator=\"kendo.gantt.filterBeforeOrEqualOperator|The text of the before or equal date filter operator\"\n filterBeforeOrEqualOperator=\"Is before or equal to\"\n\n i18n-filterFilterButton=\"kendo.gantt.filterFilterButton|The text of the filter button\"\n filterFilterButton=\"Filter\"\n\n i18n-filterClearButton=\"kendo.gantt.filterClearButton|The text of the clear filter button\"\n filterClearButton=\"Clear\"\n\n i18n-filterAndLogic=\"kendo.gantt.filterAndLogic|The text of the And filter logic\"\n filterAndLogic=\"And\"\n\n i18n-filterOrLogic=\"kendo.gantt.filterOrLogic|The text of the Or filter logic\"\n filterOrLogic=\"Or\"\n\n i18n-loading=\"kendo.gantt.loading|The loading text\"\n loading=\"Loading\"\n\n i18n-columnMenu=\"kendo.gantt.columnMenu|The title of the column menu icon\"\n columnMenu=\"Column Menu\"\n\n i18n-columns=\"kendo.gantt.columns|The text shown in the column menu for the columns item\"\n columns=\"Columns\"\n\n i18n-lock-disabled=\"kendo.gantt.lock|The text shown in the column menu for the lock item\"\n lock-disabled=\"Lock\"\n\n i18n-unlock-disabled=\"kendo.gantt.unlock|The text shown in the column menu for the unlock item\"\n unlock-disabled=\"Unlock\"\n\n i18n-sortable=\"kendo.gantt.sortable|The label of the sort icon\"\n sortable=\"Sortable\"\n\n i18n-sortAscending=\"kendo.gantt.sortAscending|The text shown in the column menu for the sort ascending item\"\n sortAscending=\"Sort Ascending\"\n\n i18n-sortDescending=\"kendo.gantt.sortDescending|The text shown in the column menu for the sort descending item\"\n sortDescending=\"Sort Descending\"\n\n i18n-sortedAscending=\"kendo.gantt.sortedAscending|The status announcement when a column is sorted ascending\"\n sortedAscending=\"Sorted Ascending\"\n\n i18n-sortedDescending=\"kendo.gantt.sortedDescending|The status announcement when a column is sorted descending\"\n sortedDescending=\"Sorted Descending\"\n\n i18n-sortedDefault=\"kendo.gantt.sortedDefault|The status announcement when a column is no longer sorted\"\n sortedDefault=\"Not Sorted\"\n\n i18n-columnsApply=\"kendo.gantt.columnsApply|The text shown in the column menu or column chooser for the columns apply button\"\n columnsApply=\"Apply\"\n\n i18n-columnsReset=\"kendo.gantt.columnsReset|The text shown in the column menu or column chooser for the columns reset button\"\n columnsReset=\"Reset\"></ng-container>\n <kendo-gantt-toolbar\n *ngIf=\"showToolbar('top')\"\n [showAddTask]=\"toolbarSettings.addTaskTool === 'top' || toolbarSettings.addTaskTool === 'both'\"\n [showViewSelector]=\"toolbarSettings.viewSelectorTool === 'top' || toolbarSettings.viewSelectorTool === 'both'\"\n class=\"k-gantt-header k-toolbar k-gantt-toolbar\"\n position=\"top\"></kendo-gantt-toolbar>\n <div class=\"k-gantt-content\">\n <kendo-splitter [style.border]=\"0\">\n <kendo-splitter-pane\n class=\"k-gantt-treelist k-gantt-treelist-scrollable\"\n [collapsible]=\"treeListPaneOptions?.collapsible\"\n [collapsed]=\"treeListPaneOptions?.collapsed\"\n (collapsedChange)=\"onTreeListCollapsedChange($event)\"\n [scrollable]=\"false\">\n <kendo-treelist\n [idField]=\"taskIdField\"\n [columns]=\"columns\"\n [data]=\"data\"\n [hasChildren]=\"hasChildren\"\n [fetchChildren]=\"fetchChildren\"\n [navigable]=\"navigable\"\n [isExpanded]=\"isExpanded\"\n [autoSize]=\"columnsAutoSize\"\n [columnMenu]=\"columnMenu\"\n [reorderable]=\"columnsReorderable\"\n [resizable]=\"columnsResizable\"\n [rowClass]=\"rowClass\"\n [isSelected]=\"isSelected\"\n [selectable]=\"selectable\"\n [sortable]=\"sortable\"\n [sort]=\"sort\"\n [filterable]=\"filterMenu\"\n [filter]=\"filter\"\n (filterChange)=\"filterChange.emit($event)\"\n (sortChange)=\"sortChange.emit($event)\"\n (dataStateChange)=\"dataStateChange.emit({\n filter: $event.filter,\n sort: $event.sort\n })\"\n (expandStateChange)=\"expandStateChange.emit($event)\"\n (expand)=\"rowExpand.emit({ dataItem: $event.dataItem })\"\n (collapse)=\"rowCollapse.emit({ dataItem: $event.dataItem })\"\n (columnReorder)=\"columnReorder.emit($event)\"\n (columnResize)=\"columnResize.emit($event)\"\n (columnVisibilityChange)=\"handleColumnVisibilityChange($event)\"\n (columnLockedChange)=\"columnLockedChange.emit($event)\"\n (selectionChange)=\"handleTreeListSelectionChange($event)\"\n (cellClick)=\"handleTreeListCellClick($event)\"\n (cellClose)=\"handleCellClose($event)\"\n [kendoEventsOutsideAngular]=\"{\n dblclick: handleTreeListDoubleClick\n }\"\n [scope]=\"this\"\n >\n <kendo-treelist-messages\n [noRecords]=\"getText('noRecords')\"\n [filter]=\"getText('filter')\"\n [filterEqOperator]=\"getText('filterEqOperator')\"\n [filterNotEqOperator]=\"getText('filterNotEqOperator')\"\n [filterIsNullOperator]=\"getText('filterIsNullOperator')\"\n [filterIsNotNullOperator]=\"getText('filterIsNotNullOperator')\"\n [filterIsEmptyOperator]=\"getText('filterIsEmptyOperator')\"\n [filterIsNotEmptyOperator]=\"getText('filterIsNotEmptyOperator')\"\n [filterStartsWithOperator]=\"getText('filterStartsWithOperator')\"\n [filterContainsOperator]=\"getText('filterContainsOperator')\"\n [filterNotContainsOperator]=\"getText('filterNotContainsOperator')\"\n [filterEndsWithOperator]=\"getText('filterEndsWithOperator')\"\n [filterGteOperator]=\"getText('filterGteOperator')\"\n [filterGtOperator]=\"getText('filterGtOperator')\"\n [filterLteOperator]=\"getText('filterLteOperator')\"\n [filterLtOperator]=\"getText('filterLtOperator')\"\n [filterIsTrue]=\"getText('filterIsTrue')\"\n [filterIsFalse]=\"getText('filterIsFalse')\"\n [filterBooleanAll]=\"getText('filterBooleanAll')\"\n [filterAfterOrEqualOperator]=\"getText('filterAfterOrEqualOperator')\"\n [filterAfterOperator]=\"getText('filterAfterOperator')\"\n [filterBeforeOperator]=\"getText('filterBeforeOperator')\"\n [filterBeforeOrEqualOperator]=\"getText('filterBeforeOrEqualOperator')\"\n [filterFilterButton]=\"getText('filterFilterButton')\"\n [filterClearButton]=\"getText('filterClearButton')\"\n [filterAndLogic]=\"getText('filterAndLogic')\"\n [filterOrLogic]=\"getText('filterOrLogic')\"\n [loading]=\"getText('loading')\"\n [columnMenu]=\"getText('columnMenu')\"\n [columns]=\"getText('columns')\"\n [sortable]=\"getText('sortable')\"\n [sortAscending]=\"getText('sortAscending')\"\n [sortDescending]=\"getText('sortDescending')\"\n [sortedAscending]=\"getText('sortedAscending')\"\n [sortedDescending]=\"getText('sortedDescending')\"\n [sortedDefault]=\"getText('sortedDefault')\"\n [columnsApply]=\"getText('columnsApply')\"\n [columnsReset]=\"getText('columnsReset')\"\n >\n </kendo-treelist-messages>\n </kendo-treelist>\n </kendo-splitter-pane>\n <kendo-splitter-pane\n [collapsible]=\"timelinePaneOptions?.collapsible\"\n [resizable]=\"timelinePaneOptions?.resizable\"\n [collapsed]=\"timelinePaneOptions?.collapsed\"\n [min]=\"timelinePaneOptions?.min\"\n [max]=\"timelinePaneOptions?.max\"\n [size]=\"timelinePaneOptions?.size\"\n (collapsedChange)=\"onTimelineCollapsedChange($event)\"\n (sizeChange)=\"onTimelinePaneSizeChange($event)\"\n [scrollable]=\"false\">\n <kendo-gantt-timeline\n *ngIf=\"views && views.length\"\n [renderDependencyDragClues]=\"renderDependencyDragClues\"\n [dragScrollSettings]=\"dragScrollSettings\"\n [rows]=\"viewItems\"\n [slots]=\"timelineSlots\"\n [groupSlots]=\"timelineGroupSlots\"\n [tableWidth]=\"tableWidth\"\n [activeView]=\"activeView\"\n [taskContentTemplate]=\"taskContentTemplate?.templateRef\"\n [taskTemplate]=\"taskTemplate?.templateRef\"\n [summaryTaskTemplate]=\"summaryTaskTemplate?.templateRef\"\n [taskClass]=\"taskClass\"\n [dependencies]=\"dependencies\"\n [isExpanded]=\"isExpanded\"\n [selectable]=\"selectable\"\n [isTaskSelected]=\"isTaskSelected\"\n [kendoEventsOutsideAngular]=\"{\n click: handleTimelineClick,\n contextmenu: handleTimelineRightClick,\n dblclick: handleTimelineDblClick,\n mousedown: handleTimelineMouseDown\n }\"\n [scope]=\"this\"\n ></kendo-gantt-timeline>\n </kendo-splitter-pane>\n </kendo-splitter>\n </div>\n <kendo-gantt-toolbar\n *ngIf=\"showToolbar('bottom')\"\n [showAddTask]=\"toolbarSettings.addTaskTool === 'bottom' || toolbarSettings.addTaskTool === 'both'\"\n [showViewSelector]=\"toolbarSettings.viewSelectorTool === 'bottom' || toolbarSettings.viewSelectorTool === 'both'\"\n class=\"k-gantt-footer k-toolbar k-gantt-toolbar\"\n position=\"bottom\"></kendo-gantt-toolbar>\n <kendo-gantt-edit-dialog\n *ngIf=\"showEditingDialog\"\n [data]=\"data\">\n </kendo-gantt-edit-dialog>\n <kendo-dialog\n *ngIf=\"showConfirmationDialog\"\n [width]=\"575\"\n [height]=\"170\"\n [title]=\"getText('confirmationDialogTitle')\"\n (close)=\"handleConfirmationDialogClose()\">\n <span>{{ getText('confirmationDialogContent') }}</span>\n <kendo-dialog-actions layout=\"normal\">\n <kendo-treelist-spacer></kendo-treelist-spacer>\n <button kendoButton [primary]=\"true\" (click)=\"handleDeleteConfirmation()\">{{ getText('deleteButtonText') }}</button>\n <button kendoButton (click)=\"handleConfirmationDialogClose()\">{{ getText('cancelButtonText') }}</button>\n </kendo-dialog-actions>\n </kendo-dialog>\n "
|
|
1337
1621
|
}),
|
|
1338
1622
|
tslib_1.__metadata("design:paramtypes", [timeline_view_service_1.TimelineViewService,
|
|
1339
1623
|
scroll_sync_service_1.ScrollSyncService,
|
|
@@ -1344,7 +1628,8 @@ var GanttComponent = /** @class */ (function () {
|
|
|
1344
1628
|
edit_service_1.EditService,
|
|
1345
1629
|
kendo_angular_l10n_1.LocalizationService,
|
|
1346
1630
|
core_1.ElementRef,
|
|
1347
|
-
core_1.NgZone
|
|
1631
|
+
core_1.NgZone,
|
|
1632
|
+
navigation_service_1.NavigationService])
|
|
1348
1633
|
], GanttComponent);
|
|
1349
1634
|
return GanttComponent;
|
|
1350
1635
|
}());
|