@progress/kendo-angular-gantt 0.2.1-dev.202112101349 → 0.3.0-dev.202201190830
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 +4 -4
- package/dist/es/common/touch-enabled.js +9 -0
- package/dist/es/dependencies/utils.js +40 -5
- 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/add-task.component.js +94 -0
- package/dist/es/editing/dependencies-table.component.js +131 -0
- package/dist/es/editing/edit-dialog.component.js +39 -8
- package/dist/es/editing/edit.service.js +92 -8
- package/dist/es/editing/task-fields.component.js +43 -0
- package/dist/es/editing/{util.js → utils.js} +0 -0
- package/dist/es/gantt.component.js +408 -56
- package/dist/es/gantt.module.js +37 -9
- package/dist/es/index.js +9 -0
- package/dist/es/localization/gantt-localization.service.js +26 -0
- package/dist/es/localization/messages.js +45 -1
- package/dist/es/main.js +1 -0
- package/dist/es/models/dependency-type.enum.js +16 -0
- package/dist/es/models/events/{add-event.interface.js → dependency-add-event.interface.js} +0 -0
- package/dist/es/models/events/{edit-event.interface.js → task-add-event.interface.js} +0 -0
- package/dist/es/models/events/{remove-event.interface.js → task-delete-event.interface.js} +0 -0
- package/dist/es/models/models.js +1 -0
- package/dist/es/models/{toolbar-position.js → toolbar-settings.js} +0 -0
- package/dist/{es2015/models/events/add-event.interface.js → es/models/view-item.interface.js} +0 -0
- package/dist/{es2015/models/events/edit-event.interface.js → es/navigation/navigation-models.js} +0 -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 +20 -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 +40 -5
- 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/add-task.component.d.ts +45 -0
- package/dist/es2015/editing/add-task.component.js +102 -0
- package/dist/es2015/editing/dependencies-table.component.d.ts +39 -0
- package/dist/es2015/editing/dependencies-table.component.js +160 -0
- package/dist/es2015/editing/edit-dialog.component.d.ts +11 -4
- package/dist/es2015/editing/edit-dialog.component.js +66 -36
- package/dist/es2015/editing/edit.service.d.ts +24 -4
- package/dist/es2015/editing/edit.service.js +81 -11
- package/dist/es2015/editing/task-fields.component.d.ts +22 -0
- package/dist/es2015/editing/task-fields.component.js +67 -0
- 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 +134 -31
- package/dist/es2015/gantt.component.js +419 -61
- package/dist/es2015/gantt.module.js +37 -9
- package/dist/es2015/index.d.ts +9 -0
- package/dist/es2015/index.js +9 -0
- package/dist/es2015/index.metadata.json +1 -1
- package/dist/es2015/{models/events/edit-event.interface.d.ts → localization/gantt-localization.service.d.ts} +6 -10
- package/dist/es2015/localization/gantt-localization.service.js +25 -0
- package/dist/es2015/localization/messages.d.ts +46 -2
- package/dist/es2015/localization/messages.js +45 -1
- package/dist/es2015/main.d.ts +1 -0
- package/dist/es2015/main.js +1 -0
- package/dist/es2015/models/dependency-type.enum.d.ts +1 -1
- package/dist/es2015/models/dependency-type.enum.js +16 -0
- package/dist/es2015/models/events/dependency-add-event.interface.d.ts +26 -0
- package/dist/es2015/models/events/{remove-event.interface.js → dependency-add-event.interface.js} +0 -0
- package/dist/es2015/models/events/task-add-event.interface.d.ts +31 -0
- package/dist/es2015/models/{toolbar-position.js → events/task-add-event.interface.js} +0 -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 +36 -6
- package/dist/es2015/models/models.d.ts +6 -3
- package/dist/es2015/models/models.js +1 -0
- package/dist/es2015/models/toolbar-settings.d.ts +29 -0
- package/dist/es2015/models/toolbar-settings.js +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-template.directive.d.ts +1 -1
- package/dist/es2015/toolbar/toolbar.component.d.ts +6 -5
- package/dist/es2015/toolbar/toolbar.component.js +22 -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 +5258 -3012
- package/dist/fesm5/index.js +2862 -733
- package/dist/npm/common/touch-enabled.js +11 -0
- package/dist/npm/dependencies/utils.js +40 -5
- 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/add-task.component.js +96 -0
- package/dist/npm/editing/dependencies-table.component.js +133 -0
- package/dist/npm/editing/edit-dialog.component.js +38 -7
- package/dist/npm/editing/edit.service.js +91 -7
- package/dist/npm/editing/task-fields.component.js +45 -0
- package/dist/npm/editing/{util.js → utils.js} +0 -0
- package/dist/npm/gantt.component.js +409 -57
- package/dist/npm/gantt.module.js +35 -7
- package/dist/npm/index.js +18 -0
- package/dist/npm/localization/gantt-localization.service.js +28 -0
- package/dist/npm/localization/messages.js +45 -1
- package/dist/npm/main.js +2 -0
- package/dist/npm/models/dependency-type.enum.js +16 -0
- package/dist/npm/models/events/{add-event.interface.js → dependency-add-event.interface.js} +0 -0
- package/dist/npm/models/events/{edit-event.interface.js → task-add-event.interface.js} +0 -0
- package/dist/npm/models/events/{remove-event.interface.js → task-delete-event.interface.js} +0 -0
- package/dist/npm/models/models.js +2 -0
- package/dist/npm/models/{toolbar-position.js → toolbar-settings.js} +0 -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 +18 -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 +7 -4
- package/dist/es2015/models/events/add-event.interface.d.ts +0 -16
- package/dist/es2015/models/events/remove-event.interface.d.ts +0 -16
- package/dist/es2015/models/toolbar-position.d.ts +0 -9
|
@@ -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,9 +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
|
|
39
|
+
var utils_2 = require("./editing/utils");
|
|
35
40
|
var TREELIST_GROUP_COLUMNS_CLASS = 'k-gantt-treelist-nested-columns';
|
|
36
41
|
var DEFAULT_VIEW = 'week';
|
|
42
|
+
var DEFAULT_DRAG_SCROLL_SETTINGS = {
|
|
43
|
+
enabled: true,
|
|
44
|
+
step: 3,
|
|
45
|
+
interval: 1,
|
|
46
|
+
threshold: 10
|
|
47
|
+
};
|
|
37
48
|
/**
|
|
38
49
|
* Represents the Kendo UI Gantt component for Angular.
|
|
39
50
|
*
|
|
@@ -106,7 +117,7 @@ var DEFAULT_VIEW = 'week';
|
|
|
106
117
|
* ```
|
|
107
118
|
*/
|
|
108
119
|
var GanttComponent = /** @class */ (function () {
|
|
109
|
-
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) {
|
|
110
121
|
var _this = this;
|
|
111
122
|
this.timelineViewService = timelineViewService;
|
|
112
123
|
this.scrollSyncService = scrollSyncService;
|
|
@@ -118,13 +129,33 @@ var GanttComponent = /** @class */ (function () {
|
|
|
118
129
|
this.localizationService = localizationService;
|
|
119
130
|
this.hostElement = hostElement;
|
|
120
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';
|
|
121
141
|
this.hostClasses = true;
|
|
122
142
|
/**
|
|
123
|
-
*
|
|
143
|
+
* Specifies a callback that determines if the given task is selected ([see example]({% slug selection_gantt %}#toc-custom-selection)).
|
|
124
144
|
*
|
|
125
145
|
* > The [`selectable`]({% slug api_gantt_ganttcomponent %}#toc-selectable) prop has to be set to `true` in order for this callback to be executed.
|
|
126
146
|
*/
|
|
127
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);
|
|
128
159
|
/**
|
|
129
160
|
* Fires when the Gantt selection is changed through user interaction.
|
|
130
161
|
*
|
|
@@ -140,25 +171,6 @@ var GanttComponent = /** @class */ (function () {
|
|
|
140
171
|
* > When applied, the [`SelectableDirective`]({% slug api_gantt_selectabledirective %}) sets `selectable` to `true` internally.
|
|
141
172
|
*/
|
|
142
173
|
this.selectable = false;
|
|
143
|
-
/**
|
|
144
|
-
* The position of the toolbar.
|
|
145
|
-
*
|
|
146
|
-
* The possible values are:
|
|
147
|
-
* - `top`—Positions the toolbar above the Gantt panes.
|
|
148
|
-
* - `bottom`—Positions the toolbar below the Gantt panes.
|
|
149
|
-
* - `both`—Displays two toolbar instances. Positions the first one above,
|
|
150
|
-
* and the second one - below the Gantt panes.
|
|
151
|
-
* - `none`—No toolbar is rendered.
|
|
152
|
-
*/
|
|
153
|
-
this.toolbarPosition = 'top';
|
|
154
|
-
/**
|
|
155
|
-
* Gets or sets the callback function that retrieves the child items for a particular item.
|
|
156
|
-
*/
|
|
157
|
-
this.fetchChildren = default_callbacks_1.fetchChildren;
|
|
158
|
-
/**
|
|
159
|
-
* Gets or sets the callback function that indicates if a particular item has child items.
|
|
160
|
-
*/
|
|
161
|
-
this.hasChildren = default_callbacks_1.hasChildren;
|
|
162
174
|
/**
|
|
163
175
|
* Defines the dependencies that will be drawn between the rendered tasks.
|
|
164
176
|
*
|
|
@@ -197,6 +209,12 @@ var GanttComponent = /** @class */ (function () {
|
|
|
197
209
|
* The end of the work week (index based).
|
|
198
210
|
*/
|
|
199
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;
|
|
200
218
|
/**
|
|
201
219
|
* Indicates whether the Gantt columns will be resized during initialization so that they fit their headers and row content.
|
|
202
220
|
* Columns with autoSize set to false are excluded.
|
|
@@ -240,7 +258,8 @@ var GanttComponent = /** @class */ (function () {
|
|
|
240
258
|
*/
|
|
241
259
|
this.cellClose = new core_1.EventEmitter();
|
|
242
260
|
/**
|
|
243
|
-
* 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.
|
|
244
263
|
* Use the event handler to open a confirmation dialog when necessary.
|
|
245
264
|
*/
|
|
246
265
|
this.taskDelete = new core_1.EventEmitter();
|
|
@@ -260,6 +279,15 @@ var GanttComponent = /** @class */ (function () {
|
|
|
260
279
|
* Fires when the user saves an edited task.
|
|
261
280
|
*/
|
|
262
281
|
this.save = new core_1.EventEmitter();
|
|
282
|
+
/**
|
|
283
|
+
* Fires when the user adds a task.
|
|
284
|
+
*/
|
|
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();
|
|
263
291
|
/**
|
|
264
292
|
* Fires when the sorting of the Gantt is changed.
|
|
265
293
|
* You have to handle the event yourself and sort the data.
|
|
@@ -316,6 +344,15 @@ var GanttComponent = /** @class */ (function () {
|
|
|
316
344
|
* Fires when a task is clicked.
|
|
317
345
|
*/
|
|
318
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;
|
|
319
356
|
/**
|
|
320
357
|
* @hidden
|
|
321
358
|
*
|
|
@@ -332,11 +369,19 @@ var GanttComponent = /** @class */ (function () {
|
|
|
332
369
|
this.showConfirmationDialog = false;
|
|
333
370
|
this._columns = new core_1.QueryList();
|
|
334
371
|
this._data = [];
|
|
372
|
+
this._dragScrollSettings = tslib_1.__assign({}, DEFAULT_DRAG_SCROLL_SETTINGS);
|
|
335
373
|
this._timelinePaneOptions = tslib_1.__assign({}, splitter_pane_options_interface_1.DEFAULT_TIMELINE_PANE_SETTINGS);
|
|
336
374
|
this._treeListPaneOptions = tslib_1.__assign({}, splitter_pane_options_interface_1.DEFAULT_TREELIST_PANE_SETTINGS);
|
|
337
375
|
this._rowClass = default_callbacks_1.rowClassCallback;
|
|
338
376
|
this._taskClass = default_callbacks_1.taskClassCallback;
|
|
339
377
|
this._activeView = DEFAULT_VIEW;
|
|
378
|
+
this._toolbarSettings = {
|
|
379
|
+
position: 'top',
|
|
380
|
+
addTaskTool: 'none',
|
|
381
|
+
viewSelectorTool: 'top'
|
|
382
|
+
};
|
|
383
|
+
this._fetchChildren = default_callbacks_1.fetchChildren;
|
|
384
|
+
this._hasChildren = default_callbacks_1.hasChildren;
|
|
340
385
|
this.rtl = false;
|
|
341
386
|
this.optionChangesSubscriptions = new rxjs_1.Subscription();
|
|
342
387
|
this.editServiceSubscription = new rxjs_1.Subscription();
|
|
@@ -347,16 +392,35 @@ var GanttComponent = /** @class */ (function () {
|
|
|
347
392
|
this.optionChangesSubscriptions.add(this.optionChangesService.columnChanges.subscribe(function () {
|
|
348
393
|
_this.treeList.columns.notifyOnChanges();
|
|
349
394
|
}));
|
|
395
|
+
this.editService.getSelectedItem = this.getFirstSelectedItem.bind(this);
|
|
350
396
|
this.editServiceSubscription.add(this.editService.showEditingDialog.subscribe(function (show) { return _this.showEditingDialog = show; }));
|
|
351
|
-
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
|
+
}));
|
|
352
404
|
this.editServiceSubscription.add(this.editService.editEvent.subscribe(function (args) {
|
|
353
405
|
_this[args.editResultType].emit({
|
|
354
|
-
|
|
355
|
-
item:
|
|
406
|
+
taskFormGroup: args.taskFormGroup,
|
|
407
|
+
item: utils_2.getEditItem(args.dataItem, _this.treeList.view.data, _this.mapper),
|
|
408
|
+
dependencies: args.dependencies,
|
|
356
409
|
sender: _this
|
|
357
410
|
});
|
|
358
411
|
_this.showConfirmationDialog = _this.showEditingDialog = false;
|
|
359
|
-
_this.editService.dataItem = _this.editService.
|
|
412
|
+
_this.editService.dataItem = _this.editService.taskFormGroup = null;
|
|
413
|
+
_this.updateView();
|
|
414
|
+
if (_this.navigable) {
|
|
415
|
+
_this.focus();
|
|
416
|
+
}
|
|
417
|
+
}));
|
|
418
|
+
this.editServiceSubscription.add(this.editService.addEvent.subscribe(function (args) {
|
|
419
|
+
var selectedItem = _this.getFirstSelectedItem();
|
|
420
|
+
_this.taskAdd.emit({
|
|
421
|
+
actionType: args.actionType,
|
|
422
|
+
selectedItem: selectedItem ? utils_2.getEditItem(selectedItem, _this.treeList.view.data, _this.mapper) : null
|
|
423
|
+
});
|
|
360
424
|
_this.updateView();
|
|
361
425
|
}));
|
|
362
426
|
this.localizationSubscription = this.localizationService.changes.subscribe(function (_a) {
|
|
@@ -379,6 +443,20 @@ var GanttComponent = /** @class */ (function () {
|
|
|
379
443
|
enumerable: true,
|
|
380
444
|
configurable: true
|
|
381
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
|
+
});
|
|
382
460
|
Object.defineProperty(GanttComponent.prototype, "dir", {
|
|
383
461
|
get: function () {
|
|
384
462
|
return this.direction;
|
|
@@ -463,6 +541,61 @@ var GanttComponent = /** @class */ (function () {
|
|
|
463
541
|
enumerable: true,
|
|
464
542
|
configurable: true
|
|
465
543
|
});
|
|
544
|
+
Object.defineProperty(GanttComponent.prototype, "toolbarSettings", {
|
|
545
|
+
get: function () {
|
|
546
|
+
return this._toolbarSettings;
|
|
547
|
+
},
|
|
548
|
+
/**
|
|
549
|
+
* The toolbar configuration. Defines the position and content of the toolbar(s).
|
|
550
|
+
* The available properties are `position`, `addTaskTool`, and `viewSelectorTool`.
|
|
551
|
+
* All are optional and default to `top`.
|
|
552
|
+
*
|
|
553
|
+
* The possible values for each option are:
|
|
554
|
+
* - `top`—Positions the toolbar above the Gantt panes. Renders the respective tool in the top toolbar.
|
|
555
|
+
* - `bottom`—Positions the toolbar below the Gantt panes. Renders the respective tool in the bottom toolbar.
|
|
556
|
+
* - `both`—Displays two toolbar instances. Positions the first one above,
|
|
557
|
+
* and the second one - below the Gantt panes. Renders the respective tool in the both toolbars.
|
|
558
|
+
* - `none`—No toolbar is rendered when used for setting `position`.
|
|
559
|
+
* No add task or view selector tool is rendered when used for setting `addTaskTool` or `viewSelectorTool`.
|
|
560
|
+
*/
|
|
561
|
+
set: function (value) {
|
|
562
|
+
this._toolbarSettings = {
|
|
563
|
+
position: value.position || 'top',
|
|
564
|
+
addTaskTool: value.addTaskTool || 'none',
|
|
565
|
+
viewSelectorTool: value.viewSelectorTool || 'top'
|
|
566
|
+
};
|
|
567
|
+
},
|
|
568
|
+
enumerable: true,
|
|
569
|
+
configurable: true
|
|
570
|
+
});
|
|
571
|
+
Object.defineProperty(GanttComponent.prototype, "fetchChildren", {
|
|
572
|
+
get: function () {
|
|
573
|
+
return this._fetchChildren;
|
|
574
|
+
},
|
|
575
|
+
/**
|
|
576
|
+
* Gets or sets the callback function that retrieves the child items for a particular item.
|
|
577
|
+
*/
|
|
578
|
+
set: function (fn) {
|
|
579
|
+
this._fetchChildren = fn;
|
|
580
|
+
this.editService.fetchChildren = fn;
|
|
581
|
+
},
|
|
582
|
+
enumerable: true,
|
|
583
|
+
configurable: true
|
|
584
|
+
});
|
|
585
|
+
Object.defineProperty(GanttComponent.prototype, "hasChildren", {
|
|
586
|
+
get: function () {
|
|
587
|
+
return this._hasChildren;
|
|
588
|
+
},
|
|
589
|
+
/**
|
|
590
|
+
* Gets or sets the callback function that indicates if a particular item has child items.
|
|
591
|
+
*/
|
|
592
|
+
set: function (fn) {
|
|
593
|
+
this._hasChildren = fn;
|
|
594
|
+
this.editService.hasChildren = fn;
|
|
595
|
+
},
|
|
596
|
+
enumerable: true,
|
|
597
|
+
configurable: true
|
|
598
|
+
});
|
|
466
599
|
Object.defineProperty(GanttComponent.prototype, "timelinePaneOptions", {
|
|
467
600
|
get: function () {
|
|
468
601
|
return tslib_1.__assign({}, this._timelinePaneOptions, { size: this.treeListPaneOptions.collapsed ? '100%' : this._timelinePaneOptions.size });
|
|
@@ -538,6 +671,21 @@ var GanttComponent = /** @class */ (function () {
|
|
|
538
671
|
enumerable: true,
|
|
539
672
|
configurable: true
|
|
540
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
|
+
});
|
|
541
689
|
Object.defineProperty(GanttComponent.prototype, "renderedTreeListItems", {
|
|
542
690
|
/**
|
|
543
691
|
* @hidden
|
|
@@ -551,6 +699,19 @@ var GanttComponent = /** @class */ (function () {
|
|
|
551
699
|
enumerable: true,
|
|
552
700
|
configurable: true
|
|
553
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
|
+
});
|
|
554
715
|
Object.defineProperty(GanttComponent.prototype, "filterMenu", {
|
|
555
716
|
/**
|
|
556
717
|
* @hidden
|
|
@@ -614,12 +775,12 @@ var GanttComponent = /** @class */ (function () {
|
|
|
614
775
|
enumerable: true,
|
|
615
776
|
configurable: true
|
|
616
777
|
});
|
|
617
|
-
Object.defineProperty(GanttComponent.prototype, "
|
|
778
|
+
Object.defineProperty(GanttComponent.prototype, "isInEditMode", {
|
|
618
779
|
/**
|
|
619
780
|
* @hidden
|
|
620
781
|
*/
|
|
621
782
|
get: function () {
|
|
622
|
-
return this.
|
|
783
|
+
return this.showEditingDialog || this.showConfirmationDialog || this.treeList.isEditing();
|
|
623
784
|
},
|
|
624
785
|
enumerable: true,
|
|
625
786
|
configurable: true
|
|
@@ -631,6 +792,14 @@ var GanttComponent = /** @class */ (function () {
|
|
|
631
792
|
};
|
|
632
793
|
GanttComponent.prototype.ngAfterViewInit = function () {
|
|
633
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
|
+
}
|
|
634
803
|
var leftContainer = this.treeList.wrapper.nativeElement.querySelector('kendo-treelist-list > div');
|
|
635
804
|
this.scrollSyncService.registerElement(leftContainer, 'treelist');
|
|
636
805
|
};
|
|
@@ -648,6 +817,34 @@ var GanttComponent = /** @class */ (function () {
|
|
|
648
817
|
this.localizationSubscription.unsubscribe();
|
|
649
818
|
}
|
|
650
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
|
+
};
|
|
651
848
|
/**
|
|
652
849
|
* Applies the minimum possible width for the specified column,
|
|
653
850
|
* so that the whole text fits without wrapping. This method expects the Gantt
|
|
@@ -713,8 +910,14 @@ var GanttComponent = /** @class */ (function () {
|
|
|
713
910
|
* Opens the task editing dialog.
|
|
714
911
|
*/
|
|
715
912
|
GanttComponent.prototype.editTask = function (dataItem, formGroup) {
|
|
913
|
+
var _this = this;
|
|
716
914
|
if (!this.showEditingDialog) {
|
|
717
|
-
this.
|
|
915
|
+
var taskId_1 = this.mapper.extractFromTask(dataItem, 'id');
|
|
916
|
+
var dependencies = this.dependencies.filter(function (item) {
|
|
917
|
+
return _this.mapper.extractFromDependency(item, 'toId') === taskId_1
|
|
918
|
+
|| _this.mapper.extractFromDependency(item, 'fromId') === taskId_1;
|
|
919
|
+
});
|
|
920
|
+
this.editService.createEditDialog(dataItem, formGroup, dependencies);
|
|
718
921
|
}
|
|
719
922
|
};
|
|
720
923
|
/**
|
|
@@ -731,6 +934,15 @@ var GanttComponent = /** @class */ (function () {
|
|
|
731
934
|
GanttComponent.prototype.openConfirmationDialog = function () {
|
|
732
935
|
this.showConfirmationDialog = true;
|
|
733
936
|
};
|
|
937
|
+
/**
|
|
938
|
+
* @hidden
|
|
939
|
+
*/
|
|
940
|
+
GanttComponent.prototype.handleConfirmationDialogClose = function () {
|
|
941
|
+
this.showConfirmationDialog = false;
|
|
942
|
+
if (this.navigable) {
|
|
943
|
+
this.focus();
|
|
944
|
+
}
|
|
945
|
+
};
|
|
734
946
|
/**
|
|
735
947
|
* Opens a cell for editing.
|
|
736
948
|
*/
|
|
@@ -787,7 +999,7 @@ var GanttComponent = /** @class */ (function () {
|
|
|
787
999
|
* @hidden
|
|
788
1000
|
*/
|
|
789
1001
|
GanttComponent.prototype.showToolbar = function (position) {
|
|
790
|
-
return this.
|
|
1002
|
+
return this.toolbarSettings.position !== 'none' && ([position, 'both'].indexOf(this.toolbarSettings.position) > -1);
|
|
791
1003
|
};
|
|
792
1004
|
/**
|
|
793
1005
|
* @hidden
|
|
@@ -816,7 +1028,7 @@ var GanttComponent = /** @class */ (function () {
|
|
|
816
1028
|
if (kendo_angular_common_1.hasObservers(this.taskClick)) {
|
|
817
1029
|
var taskIndex_1 = utils_1.getClosestTaskIndex(target, gantt);
|
|
818
1030
|
var task_1 = this.renderedTreeListItems[taskIndex_1];
|
|
819
|
-
this.zone.run(function () { return _this.
|
|
1031
|
+
this.zone.run(function () { return _this.notifyTaskClick(event, task_1, taskIndex_1); });
|
|
820
1032
|
}
|
|
821
1033
|
};
|
|
822
1034
|
/**
|
|
@@ -835,8 +1047,8 @@ var GanttComponent = /** @class */ (function () {
|
|
|
835
1047
|
if ((kendo_angular_common_1.hasObservers(this.selectionChange) && !this.isSameSelection(selectionAction, task)) ||
|
|
836
1048
|
kendo_angular_common_1.hasObservers(this.taskClick)) {
|
|
837
1049
|
this.zone.run(function () {
|
|
838
|
-
_this.
|
|
839
|
-
_this.
|
|
1050
|
+
_this.notifySelectionChange(task, selectionAction);
|
|
1051
|
+
_this.notifyTaskClick(event, task, taskIndex);
|
|
840
1052
|
});
|
|
841
1053
|
}
|
|
842
1054
|
};
|
|
@@ -848,7 +1060,7 @@ var GanttComponent = /** @class */ (function () {
|
|
|
848
1060
|
if (!utils_1.isPresent(this.lastTreeListCellClick) || event.target !== this.lastTreeListCellClick.originalEvent.target) {
|
|
849
1061
|
return;
|
|
850
1062
|
}
|
|
851
|
-
this.editItem =
|
|
1063
|
+
this.editItem = utils_2.getEditItem(this.lastTreeListCellClick.dataItem, this.treeList.view.data, this.mapper);
|
|
852
1064
|
if (kendo_angular_common_1.hasObservers(this.cellDblClick)) {
|
|
853
1065
|
this.zone.run(function () {
|
|
854
1066
|
_this.cellDblClick.emit({
|
|
@@ -874,7 +1086,7 @@ var GanttComponent = /** @class */ (function () {
|
|
|
874
1086
|
}
|
|
875
1087
|
var task = event.items.map(function (item) { return item.dataItem; })[0]; // single selection only currently available
|
|
876
1088
|
var action = event.action;
|
|
877
|
-
this.
|
|
1089
|
+
this.notifySelectionChange(task, action);
|
|
878
1090
|
};
|
|
879
1091
|
/**
|
|
880
1092
|
* @hidden
|
|
@@ -926,7 +1138,7 @@ var GanttComponent = /** @class */ (function () {
|
|
|
926
1138
|
dataItem: task_2,
|
|
927
1139
|
originalEvent: event,
|
|
928
1140
|
sender: _this,
|
|
929
|
-
|
|
1141
|
+
index: taskIndex_2,
|
|
930
1142
|
type: 'dblclick'
|
|
931
1143
|
}); });
|
|
932
1144
|
}
|
|
@@ -937,16 +1149,35 @@ var GanttComponent = /** @class */ (function () {
|
|
|
937
1149
|
GanttComponent.prototype.getText = function (token) {
|
|
938
1150
|
return this.localizationService.get(token);
|
|
939
1151
|
};
|
|
940
|
-
|
|
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;
|
|
941
1169
|
this.taskClick.emit({
|
|
942
1170
|
originalEvent: event,
|
|
943
1171
|
dataItem: dataItem,
|
|
944
|
-
|
|
945
|
-
type:
|
|
1172
|
+
index: itemIndex,
|
|
1173
|
+
type: type,
|
|
946
1174
|
sender: this
|
|
947
1175
|
});
|
|
948
1176
|
};
|
|
949
|
-
|
|
1177
|
+
/**
|
|
1178
|
+
* @hidden
|
|
1179
|
+
*/
|
|
1180
|
+
GanttComponent.prototype.notifySelectionChange = function (dataItem, action) {
|
|
950
1181
|
if (this.isSameSelection(action, dataItem)) {
|
|
951
1182
|
return;
|
|
952
1183
|
}
|
|
@@ -957,6 +1188,30 @@ var GanttComponent = /** @class */ (function () {
|
|
|
957
1188
|
});
|
|
958
1189
|
this.treeList.updateView();
|
|
959
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
|
+
};
|
|
960
1215
|
GanttComponent.prototype.updateTreeListGroupClass = function (columns) {
|
|
961
1216
|
if (columns === void 0) { columns = this.columns; }
|
|
962
1217
|
if (!utils_1.isPresent(this.treeList)) {
|
|
@@ -987,19 +1242,70 @@ var GanttComponent = /** @class */ (function () {
|
|
|
987
1242
|
}
|
|
988
1243
|
return this.views.find(function (view) { return view.type === _this.activeView; });
|
|
989
1244
|
};
|
|
990
|
-
GanttComponent.prototype.
|
|
991
|
-
|
|
1245
|
+
GanttComponent.prototype.getFirstSelectedItem = function () {
|
|
1246
|
+
var isSelectedCallback = this.isSelected || default_callbacks_1.isSelected;
|
|
1247
|
+
var loadedItems = this.renderedTreeListItems || [];
|
|
1248
|
+
return loadedItems.find(isSelectedCallback);
|
|
992
1249
|
};
|
|
993
|
-
GanttComponent.prototype.
|
|
994
|
-
var
|
|
995
|
-
var
|
|
996
|
-
|
|
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
|
+
}
|
|
997
1299
|
};
|
|
998
1300
|
var GanttComponent_1;
|
|
999
1301
|
tslib_1.__decorate([
|
|
1000
1302
|
core_1.ViewChild(kendo_angular_treelist_1.TreeListComponent, { static: true }),
|
|
1001
1303
|
tslib_1.__metadata("design:type", kendo_angular_treelist_1.TreeListComponent)
|
|
1002
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);
|
|
1003
1309
|
tslib_1.__decorate([
|
|
1004
1310
|
core_1.ContentChild(task_content_template_directive_1.GanttTaskContentTemplateDirective, { static: true }),
|
|
1005
1311
|
tslib_1.__metadata("design:type", task_content_template_directive_1.GanttTaskContentTemplateDirective)
|
|
@@ -1016,6 +1322,24 @@ var GanttComponent = /** @class */ (function () {
|
|
|
1016
1322
|
core_1.ContentChildren(toolbar_template_directive_1.ToolbarTemplateDirective),
|
|
1017
1323
|
tslib_1.__metadata("design:type", core_1.QueryList)
|
|
1018
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);
|
|
1019
1343
|
tslib_1.__decorate([
|
|
1020
1344
|
core_1.HostBinding('class.k-gantt'),
|
|
1021
1345
|
tslib_1.__metadata("design:type", Boolean)
|
|
@@ -1058,6 +1382,10 @@ var GanttComponent = /** @class */ (function () {
|
|
|
1058
1382
|
core_1.Input(),
|
|
1059
1383
|
tslib_1.__metadata("design:type", Function)
|
|
1060
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);
|
|
1061
1389
|
tslib_1.__decorate([
|
|
1062
1390
|
core_1.Output(),
|
|
1063
1391
|
tslib_1.__metadata("design:type", core_1.EventEmitter)
|
|
@@ -1068,16 +1396,19 @@ var GanttComponent = /** @class */ (function () {
|
|
|
1068
1396
|
], GanttComponent.prototype, "selectable", void 0);
|
|
1069
1397
|
tslib_1.__decorate([
|
|
1070
1398
|
core_1.Input(),
|
|
1071
|
-
tslib_1.__metadata("design:type",
|
|
1072
|
-
|
|
1399
|
+
tslib_1.__metadata("design:type", Object),
|
|
1400
|
+
tslib_1.__metadata("design:paramtypes", [Object])
|
|
1401
|
+
], GanttComponent.prototype, "toolbarSettings", null);
|
|
1073
1402
|
tslib_1.__decorate([
|
|
1074
1403
|
core_1.Input(),
|
|
1075
|
-
tslib_1.__metadata("design:type", Function)
|
|
1076
|
-
|
|
1404
|
+
tslib_1.__metadata("design:type", Function),
|
|
1405
|
+
tslib_1.__metadata("design:paramtypes", [Function])
|
|
1406
|
+
], GanttComponent.prototype, "fetchChildren", null);
|
|
1077
1407
|
tslib_1.__decorate([
|
|
1078
1408
|
core_1.Input(),
|
|
1079
|
-
tslib_1.__metadata("design:type", Function)
|
|
1080
|
-
|
|
1409
|
+
tslib_1.__metadata("design:type", Function),
|
|
1410
|
+
tslib_1.__metadata("design:paramtypes", [Function])
|
|
1411
|
+
], GanttComponent.prototype, "hasChildren", null);
|
|
1081
1412
|
tslib_1.__decorate([
|
|
1082
1413
|
core_1.Input(),
|
|
1083
1414
|
tslib_1.__metadata("design:type", Array)
|
|
@@ -1114,6 +1445,10 @@ var GanttComponent = /** @class */ (function () {
|
|
|
1114
1445
|
core_1.Input(),
|
|
1115
1446
|
tslib_1.__metadata("design:type", Number)
|
|
1116
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);
|
|
1117
1452
|
tslib_1.__decorate([
|
|
1118
1453
|
core_1.Input(),
|
|
1119
1454
|
tslib_1.__metadata("design:type", Object),
|
|
@@ -1154,6 +1489,11 @@ var GanttComponent = /** @class */ (function () {
|
|
|
1154
1489
|
core_1.Input(),
|
|
1155
1490
|
tslib_1.__metadata("design:type", Boolean)
|
|
1156
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);
|
|
1157
1497
|
tslib_1.__decorate([
|
|
1158
1498
|
core_1.Output(),
|
|
1159
1499
|
tslib_1.__metadata("design:type", core_1.EventEmitter)
|
|
@@ -1190,6 +1530,14 @@ var GanttComponent = /** @class */ (function () {
|
|
|
1190
1530
|
core_1.Output(),
|
|
1191
1531
|
tslib_1.__metadata("design:type", core_1.EventEmitter)
|
|
1192
1532
|
], GanttComponent.prototype, "save", void 0);
|
|
1533
|
+
tslib_1.__decorate([
|
|
1534
|
+
core_1.Output(),
|
|
1535
|
+
tslib_1.__metadata("design:type", core_1.EventEmitter)
|
|
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);
|
|
1193
1541
|
tslib_1.__decorate([
|
|
1194
1542
|
core_1.Output(),
|
|
1195
1543
|
tslib_1.__metadata("design:type", core_1.EventEmitter)
|
|
@@ -1247,6 +1595,7 @@ var GanttComponent = /** @class */ (function () {
|
|
|
1247
1595
|
selector: 'kendo-gantt',
|
|
1248
1596
|
exportAs: 'kendoGantt',
|
|
1249
1597
|
providers: [
|
|
1598
|
+
gantt_localization_service_1.GanttLocalizationService,
|
|
1250
1599
|
kendo_angular_l10n_1.LocalizationService,
|
|
1251
1600
|
{
|
|
1252
1601
|
provide: kendo_angular_treelist_1.DataBoundTreeComponent,
|
|
@@ -1264,9 +1613,11 @@ var GanttComponent = /** @class */ (function () {
|
|
|
1264
1613
|
dependency_dom_service_1.DependencyDomService,
|
|
1265
1614
|
mapping_service_1.MappingService,
|
|
1266
1615
|
option_changes_service_1.OptionChangesService,
|
|
1267
|
-
edit_service_1.EditService
|
|
1616
|
+
edit_service_1.EditService,
|
|
1617
|
+
timeline_scroll_service_1.TimelineScrollService,
|
|
1618
|
+
navigation_service_1.NavigationService
|
|
1268
1619
|
],
|
|
1269
|
-
template: "\n <ng-container kendoGanttLocalizedMessages\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-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 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 class=\"k-gantt-footer k-toolbar k-gantt-toolbar\"\n position=\"bottom\"></kendo-gantt-toolbar>\n <kendo-gantt-edit-dialog *ngIf=\"showEditingDialog\" [formGroup]=\"editDialogFormGroup\"></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 "
|
|
1270
1621
|
}),
|
|
1271
1622
|
tslib_1.__metadata("design:paramtypes", [timeline_view_service_1.TimelineViewService,
|
|
1272
1623
|
scroll_sync_service_1.ScrollSyncService,
|
|
@@ -1277,7 +1628,8 @@ var GanttComponent = /** @class */ (function () {
|
|
|
1277
1628
|
edit_service_1.EditService,
|
|
1278
1629
|
kendo_angular_l10n_1.LocalizationService,
|
|
1279
1630
|
core_1.ElementRef,
|
|
1280
|
-
core_1.NgZone
|
|
1631
|
+
core_1.NgZone,
|
|
1632
|
+
navigation_service_1.NavigationService])
|
|
1281
1633
|
], GanttComponent);
|
|
1282
1634
|
return GanttComponent;
|
|
1283
1635
|
}());
|