@progress/kendo-angular-gantt 0.1.5 → 0.2.0-dev.202111231320
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cdn/js/kendo-angular-gantt.js +2 -76
- package/dist/cdn/main.js +23 -1
- package/dist/es/columns/column.component.js +5 -0
- package/dist/es/columns/columns.js +1 -0
- package/dist/es/columns/edit-template.directive.js +34 -0
- package/dist/es/columns/span-column.component.js +6 -0
- package/dist/es/editing/edit-dialog.component.js +44 -0
- package/dist/es/editing/edit.service.js +39 -0
- package/dist/es/editing/util.js +17 -0
- package/dist/es/gantt.component.js +309 -8
- package/dist/es/gantt.module.js +60 -5
- package/dist/es/index.js +6 -0
- package/dist/es/localization/custom-messages.component.js +44 -0
- package/dist/es/localization/localized-messages.directive.js +35 -0
- package/dist/es/localization/messages.js +246 -0
- package/dist/es/localization/treelist-messages.directive.js +31 -0
- package/dist/es/models/events/cell-click-event.interface.js +4 -0
- package/dist/es/models/events/cell-close-event.interface.js +19 -0
- package/dist/es/models/events/preventable-event.js +32 -0
- package/dist/es/models/events/task-click-event.interface.js +4 -0
- package/dist/es/models/events/task-edit-event.interface.js +4 -0
- package/dist/es/models/gantt-task-model-fields.interface.js +2 -1
- package/dist/es/package-metadata.js +1 -1
- package/dist/es/rendering/gantt-milestone-task.component.js +1 -1
- package/dist/es/rendering/gantt-summary-task.component.js +1 -1
- package/dist/es/rendering/gantt-task-base.js +4 -0
- package/dist/es/rendering/gantt-task.component.js +12 -4
- package/dist/es/rendering/gantt-tasks-table-body.component.js +5 -1
- package/dist/es/toolbar/view-selector.component.js +7 -4
- package/dist/es/utils.js +44 -1
- package/dist/es2015/columns/column.component.d.ts +2 -0
- package/dist/es2015/columns/column.component.js +5 -0
- package/dist/es2015/columns/columns.d.ts +1 -0
- package/dist/es2015/columns/columns.js +1 -0
- package/dist/es2015/columns/edit-template.directive.d.ts +23 -0
- package/dist/es2015/columns/edit-template.directive.js +33 -0
- package/dist/es2015/columns/span-column.component.d.ts +2 -0
- package/dist/es2015/columns/span-column.component.js +6 -0
- package/dist/es2015/editing/edit-dialog.component.d.ts +21 -0
- package/dist/es2015/editing/edit-dialog.component.js +86 -0
- package/dist/es2015/editing/edit.service.d.ts +20 -0
- package/dist/es2015/editing/edit.service.js +41 -0
- package/dist/es2015/editing/util.d.ts +10 -0
- package/dist/es2015/editing/util.js +17 -0
- package/dist/es2015/gantt.component.d.ts +180 -4
- package/dist/es2015/gantt.component.js +492 -8
- package/dist/es2015/gantt.module.d.ts +29 -1
- package/dist/es2015/gantt.module.js +60 -5
- package/dist/es2015/index.d.ts +6 -0
- package/dist/es2015/index.js +6 -0
- package/dist/es2015/index.metadata.json +1 -1
- package/dist/es2015/localization/custom-messages.component.d.ts +15 -0
- package/dist/es2015/localization/custom-messages.component.js +36 -0
- package/dist/es2015/localization/localized-messages.directive.d.ts +13 -0
- package/dist/es2015/localization/localized-messages.directive.js +31 -0
- package/dist/es2015/localization/messages.d.ts +246 -0
- package/dist/es2015/localization/messages.js +240 -0
- package/dist/es2015/localization/treelist-messages.directive.d.ts +14 -0
- package/dist/es2015/localization/treelist-messages.directive.js +29 -0
- package/dist/es2015/models/events/cell-click-event.interface.d.ts +20 -0
- package/dist/es2015/models/events/cell-click-event.interface.js +4 -0
- package/dist/es2015/models/events/cell-close-event.interface.d.ts +48 -0
- package/dist/es2015/models/events/cell-close-event.interface.js +14 -0
- package/dist/es2015/models/events/preventable-event.d.ts +24 -0
- package/dist/es2015/models/events/preventable-event.js +30 -0
- package/dist/es2015/models/events/task-click-event.interface.d.ts +22 -0
- package/dist/es2015/models/events/task-click-event.interface.js +4 -0
- package/dist/es2015/models/events/task-edit-event.interface.d.ts +46 -0
- package/dist/es2015/models/events/task-edit-event.interface.js +4 -0
- package/dist/es2015/models/gantt-task-model-fields.interface.d.ts +1 -0
- package/dist/es2015/models/gantt-task-model-fields.interface.js +2 -1
- package/dist/es2015/package-metadata.js +1 -1
- package/dist/es2015/rendering/gantt-milestone-task.component.js +1 -0
- package/dist/es2015/rendering/gantt-summary-task.component.js +1 -0
- package/dist/es2015/rendering/gantt-task-base.d.ts +1 -0
- package/dist/es2015/rendering/gantt-task-base.js +4 -0
- package/dist/es2015/rendering/gantt-task.component.d.ts +4 -1
- package/dist/es2015/rendering/gantt-task.component.js +17 -2
- package/dist/es2015/rendering/gantt-tasks-table-body.component.d.ts +1 -0
- package/dist/es2015/rendering/gantt-tasks-table-body.component.js +8 -1
- package/dist/es2015/toolbar/view-selector.component.d.ts +3 -0
- package/dist/es2015/toolbar/view-selector.component.js +7 -7
- package/dist/es2015/utils.d.ts +34 -0
- package/dist/es2015/utils.js +44 -1
- package/dist/fesm2015/index.js +1080 -23
- package/dist/fesm5/index.js +865 -24
- package/dist/npm/columns/column.component.js +5 -0
- package/dist/npm/columns/columns.js +2 -0
- package/dist/npm/columns/edit-template.directive.js +36 -0
- package/dist/npm/columns/span-column.component.js +6 -0
- package/dist/npm/editing/edit-dialog.component.js +46 -0
- package/dist/npm/editing/edit.service.js +41 -0
- package/dist/npm/editing/util.js +19 -0
- package/dist/npm/gantt.component.js +306 -5
- package/dist/npm/gantt.module.js +59 -4
- package/dist/npm/index.js +12 -0
- package/dist/npm/localization/custom-messages.component.js +46 -0
- package/dist/npm/localization/localized-messages.directive.js +37 -0
- package/dist/npm/localization/messages.js +248 -0
- package/dist/npm/localization/treelist-messages.directive.js +33 -0
- package/dist/npm/models/events/cell-click-event.interface.js +6 -0
- package/dist/npm/models/events/cell-close-event.interface.js +21 -0
- package/dist/npm/models/events/preventable-event.js +34 -0
- package/dist/npm/models/events/task-click-event.interface.js +6 -0
- package/dist/npm/models/events/task-edit-event.interface.js +6 -0
- package/dist/npm/models/gantt-task-model-fields.interface.js +2 -1
- package/dist/npm/package-metadata.js +1 -1
- package/dist/npm/rendering/gantt-milestone-task.component.js +1 -1
- package/dist/npm/rendering/gantt-summary-task.component.js +1 -1
- package/dist/npm/rendering/gantt-task-base.js +4 -0
- package/dist/npm/rendering/gantt-task.component.js +12 -4
- package/dist/npm/rendering/gantt-tasks-table-body.component.js +5 -1
- package/dist/npm/toolbar/view-selector.component.js +7 -4
- package/dist/npm/utils.js +43 -0
- package/dist/systemjs/kendo-angular-gantt.js +1 -1
- package/package.json +5 -2
|
@@ -4,13 +4,13 @@
|
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
import * as tslib_1 from "tslib";
|
|
6
6
|
var GanttComponent_1;
|
|
7
|
-
import { Component, forwardRef, HostBinding, Input, Output, EventEmitter, ViewChild, ContentChildren, ContentChild, QueryList, isDevMode, Renderer2 } from '@angular/core';
|
|
7
|
+
import { Component, forwardRef, HostBinding, Input, Output, EventEmitter, ViewChild, ContentChildren, ContentChild, QueryList, isDevMode, Renderer2, ElementRef, NgZone } from '@angular/core';
|
|
8
8
|
import { DataBoundTreeComponent, ExpandableTreeComponent } from '@progress/kendo-angular-treelist';
|
|
9
9
|
import { TreeListComponent } from '@progress/kendo-angular-treelist';
|
|
10
10
|
import { Subscription } from 'rxjs';
|
|
11
11
|
import { validatePackage } from '@progress/kendo-licensing';
|
|
12
12
|
import { packageMetadata } from './package-metadata';
|
|
13
|
-
import { anyChanged } from '@progress/kendo-angular-common';
|
|
13
|
+
import { anyChanged, hasObservers } from '@progress/kendo-angular-common';
|
|
14
14
|
import { GanttColumnBase } from './columns/columns';
|
|
15
15
|
import { fetchChildren, hasChildren, rowClassCallback, taskClassCallback } from './common/default-callbacks';
|
|
16
16
|
import { TimelineViewService } from './timeline/timeline-view.service';
|
|
@@ -21,7 +21,9 @@ import { ScrollSyncService } from './scrolling/scroll-sync.service';
|
|
|
21
21
|
import { DependencyDomService } from './dependencies/dependency-dom.service';
|
|
22
22
|
import { MappingService } from './common/mapping.service';
|
|
23
23
|
import { OptionChangesService } from './common/option-changes.service';
|
|
24
|
-
import {
|
|
24
|
+
import { EditService } from './editing/edit.service';
|
|
25
|
+
import { LocalizationService } from '@progress/kendo-angular-l10n';
|
|
26
|
+
import { getClosestTaskIndex, isClearButton, isColumnGroup, isPresent, isTask, normalizeGanttData, scrollbarWidth } from './utils';
|
|
25
27
|
import { DEFAULT_TIMELINE_PANE_SETTINGS, DEFAULT_TREELIST_PANE_SETTINGS } from './models/splitter-pane-options.interface';
|
|
26
28
|
import { GanttTaskTemplateDirective } from './template-directives/task-template.directive';
|
|
27
29
|
import { GanttSummaryTaskTemplateDirective } from './template-directives/summary-task-template.directive';
|
|
@@ -29,19 +31,92 @@ import { GanttTaskContentTemplateDirective } from './template-directives/task-co
|
|
|
29
31
|
import { ToolbarTemplateDirective } from './toolbar/toolbar-template.directive';
|
|
30
32
|
import { ViewBase } from './timeline/view-base';
|
|
31
33
|
import { Day } from '@progress/kendo-date-math';
|
|
34
|
+
import { getEditItem } from './editing/util';
|
|
32
35
|
const TREELIST_GROUP_COLUMNS_CLASS = 'k-gantt-treelist-nested-columns';
|
|
33
36
|
const DEFAULT_VIEW = 'week';
|
|
34
37
|
/**
|
|
35
|
-
*
|
|
38
|
+
* Represents the Kendo UI Gantt component for Angular.
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* ```ts-preview
|
|
42
|
+
* _@Component({
|
|
43
|
+
* selector: 'my-app',
|
|
44
|
+
* template: `
|
|
45
|
+
* <kendo-gantt
|
|
46
|
+
* [style.height.px]="500"
|
|
47
|
+
* [kendoGanttHierarchyBinding]="data"
|
|
48
|
+
* childrenField="subtasks"
|
|
49
|
+
* [dependencies]="dependencies">
|
|
50
|
+
* <kendo-gantt-column
|
|
51
|
+
* field="title"
|
|
52
|
+
* title="Task"
|
|
53
|
+
* [width]="200"
|
|
54
|
+
* [expandable]="true"></kendo-gantt-column>
|
|
55
|
+
* <kendo-gantt-column
|
|
56
|
+
* field="start"
|
|
57
|
+
* title="Start"
|
|
58
|
+
* format="dd-MMM-yyyy"
|
|
59
|
+
* [width]="120"></kendo-gantt-column>
|
|
60
|
+
* <kendo-gantt-column
|
|
61
|
+
* field="end"
|
|
62
|
+
* title="End"
|
|
63
|
+
* format="dd-MMM-yyyy"
|
|
64
|
+
* [width]="120"></kendo-gantt-column>
|
|
65
|
+
* <kendo-gantt-timeline-day-view></kendo-gantt-timeline-day-view>
|
|
66
|
+
* <kendo-gantt-timeline-week-view></kendo-gantt-timeline-week-view>
|
|
67
|
+
* <kendo-gantt-timeline-month-view></kendo-gantt-timeline-month-view>
|
|
68
|
+
* </kendo-gantt>
|
|
69
|
+
* `
|
|
70
|
+
* })
|
|
71
|
+
* class AppComponent {
|
|
72
|
+
* public data: Task[] = [{
|
|
73
|
+
* id: 7, title: 'Validation and R&D', start: new Date('2014-06-02T00:00:00.000Z'),
|
|
74
|
+
* end: new Date('2014-06-19T00:00:00.000Z'), completionRatio: 0.45708333333333334,
|
|
75
|
+
* subtasks: [
|
|
76
|
+
* { id: 18, title: 'Project Kickoff', start: new Date('2014-06-02T00:00:00.000Z'),
|
|
77
|
+
* end: new Date('2014-06-02T00:00:00.000Z'), completionRatio: 0.23 },
|
|
78
|
+
* { id: 11, title: 'Research', start: new Date('2014-06-02T00:00:00.000Z'),
|
|
79
|
+
* end: new Date('2014-06-07T00:00:00.000Z'), completionRatio: 0.5766666666666667,
|
|
80
|
+
* subtasks: [
|
|
81
|
+
* { id: 19, title: 'Validation', start: new Date('2014-06-02T00:00:00.000Z'),
|
|
82
|
+
* end: new Date('2014-06-04T00:00:00.000Z'), completionRatio: 0.25 },
|
|
83
|
+
* { id: 39, title: 'Specification', start: new Date('2014-06-04T00:00:00.000Z'),
|
|
84
|
+
* end: new Date('2014-06-07T00:00:00.000Z'), completionRatio: 0.66 }]
|
|
85
|
+
* }, { id: 13, title: 'Implementation', start: new Date('2014-06-08T00:00:00.000Z'),
|
|
86
|
+
* end: new Date('2014-06-19T00:00:00.000Z'), completionRatio: 0.77,
|
|
87
|
+
* subtasks: [
|
|
88
|
+
* { id: 24, title: 'Prototype', start: new Date('2014-06-08T00:00:00.000Z'),
|
|
89
|
+
* end: new Date('2014-06-14T00:00:00.000Z'), completionRatio: 0.77 },
|
|
90
|
+
* { id: 29, title: 'UI and Interaction', start: new Date('2014-06-14T00:00:00.000Z'),
|
|
91
|
+
* end: new Date('2014-06-19T00:00:00.000Z'), completionRatio: 0.6 }]
|
|
92
|
+
* }, { id: 17, title: 'Release', start: new Date('2014-06-19T00:00:00.000Z'),
|
|
93
|
+
* end: new Date('2014-06-19T00:00:00.000Z'), completionRatio: 0 }]
|
|
94
|
+
* }];
|
|
95
|
+
*
|
|
96
|
+
* public dependencies: GanttDependency[] = [
|
|
97
|
+
* { id: 528, fromId: 18, toId: 19, type: DependencyType.FS },
|
|
98
|
+
* { id: 529, fromId: 19, toId: 39, type: DependencyType.FS },
|
|
99
|
+
* { id: 535, fromId: 24, toId: 29, type: DependencyType.FS },
|
|
100
|
+
* { id: 551, fromId: 13, toId: 29, type: DependencyType.FF },
|
|
101
|
+
* { id: 777, fromId: 7, toId: 11, type: DependencyType.SF },
|
|
102
|
+
* { id: 556, fromId: 39, toId: 24, type: DependencyType.FS },
|
|
103
|
+
* { id: 546, fromId: 29, toId: 17, type: DependencyType.FS },
|
|
104
|
+
* ];
|
|
105
|
+
* }
|
|
106
|
+
* ```
|
|
36
107
|
*/
|
|
37
108
|
let GanttComponent = GanttComponent_1 = class GanttComponent {
|
|
38
|
-
constructor(timelineViewService, scrollSyncService, renderer, mapper, optionChangesService, dependencyDomService) {
|
|
109
|
+
constructor(timelineViewService, scrollSyncService, renderer, mapper, optionChangesService, dependencyDomService, editService, localizationService, hostElement, zone) {
|
|
39
110
|
this.timelineViewService = timelineViewService;
|
|
40
111
|
this.scrollSyncService = scrollSyncService;
|
|
41
112
|
this.renderer = renderer;
|
|
42
113
|
this.mapper = mapper;
|
|
43
114
|
this.optionChangesService = optionChangesService;
|
|
44
115
|
this.dependencyDomService = dependencyDomService;
|
|
116
|
+
this.editService = editService;
|
|
117
|
+
this.localizationService = localizationService;
|
|
118
|
+
this.hostElement = hostElement;
|
|
119
|
+
this.zone = zone;
|
|
45
120
|
this.hostClasses = true;
|
|
46
121
|
/**
|
|
47
122
|
* The position of the toolbar.
|
|
@@ -129,10 +204,40 @@ let GanttComponent = GanttComponent_1 = class GanttComponent {
|
|
|
129
204
|
* Fires when an item is expanded.
|
|
130
205
|
*/
|
|
131
206
|
this.rowExpand = new EventEmitter();
|
|
207
|
+
/**
|
|
208
|
+
* Fires when a Gantt task in the timeline pane is double-clicked. The data item, associated with the clicked task,
|
|
209
|
+
* is available in the event data. Use the event handler to open a task editing dialog as necessary.
|
|
210
|
+
*/
|
|
211
|
+
this.taskDblClick = new EventEmitter();
|
|
212
|
+
/**
|
|
213
|
+
* Fires when the user double clicks a cell.
|
|
214
|
+
*/
|
|
215
|
+
this.cellDblClick = new EventEmitter();
|
|
216
|
+
/**
|
|
217
|
+
* Fires when the user leaves an edited cell.
|
|
218
|
+
*/
|
|
219
|
+
this.cellClose = new EventEmitter();
|
|
220
|
+
/**
|
|
221
|
+
* Fires when the end user clicks the `Delete` button in the task editing dialog or the task delete icon.
|
|
222
|
+
* Use the event handler to open a confirmation dialog when necessary.
|
|
223
|
+
*/
|
|
224
|
+
this.taskDelete = new EventEmitter();
|
|
132
225
|
/**
|
|
133
226
|
* Fires when an item is collapsed.
|
|
134
227
|
*/
|
|
135
228
|
this.rowCollapse = new EventEmitter();
|
|
229
|
+
/**
|
|
230
|
+
* Fires when the user confirms deleting a task.
|
|
231
|
+
*/
|
|
232
|
+
this.remove = new EventEmitter();
|
|
233
|
+
/**
|
|
234
|
+
* Fires when the user cancels editing a task.
|
|
235
|
+
*/
|
|
236
|
+
this.cancel = new EventEmitter();
|
|
237
|
+
/**
|
|
238
|
+
* Fires when the user saves an edited task.
|
|
239
|
+
*/
|
|
240
|
+
this.save = new EventEmitter();
|
|
136
241
|
/**
|
|
137
242
|
* Fires when the sorting of the Gantt is changed.
|
|
138
243
|
* You have to handle the event yourself and sort the data.
|
|
@@ -187,6 +292,14 @@ let GanttComponent = GanttComponent_1 = class GanttComponent {
|
|
|
187
292
|
* Used by the GanttExpandableDirective.
|
|
188
293
|
*/
|
|
189
294
|
this.expandStateChange = new EventEmitter();
|
|
295
|
+
/**
|
|
296
|
+
* @hidden
|
|
297
|
+
*/
|
|
298
|
+
this.showEditingDialog = false;
|
|
299
|
+
/**
|
|
300
|
+
* @hidden
|
|
301
|
+
*/
|
|
302
|
+
this.showConfirmationDialog = false;
|
|
190
303
|
this._columns = new QueryList();
|
|
191
304
|
this._data = [];
|
|
192
305
|
this._timelinePaneOptions = Object.assign({}, DEFAULT_TIMELINE_PANE_SETTINGS);
|
|
@@ -194,14 +307,36 @@ let GanttComponent = GanttComponent_1 = class GanttComponent {
|
|
|
194
307
|
this._rowClass = rowClassCallback;
|
|
195
308
|
this._taskClass = taskClassCallback;
|
|
196
309
|
this._activeView = DEFAULT_VIEW;
|
|
310
|
+
this.rtl = false;
|
|
197
311
|
this.optionChangesSubscriptions = new Subscription();
|
|
312
|
+
this.editServiceSubscription = new Subscription();
|
|
198
313
|
validatePackage(packageMetadata);
|
|
314
|
+
this.handleTimelineDblClick = this.handleTimelineDblClick.bind(this);
|
|
315
|
+
this.handleTimelineMouseDown = this.handleTimelineMouseDown.bind(this);
|
|
316
|
+
this.handleDoubleClick = this.handleDoubleClick.bind(this);
|
|
199
317
|
this.optionChangesSubscriptions.add(this.optionChangesService.viewChanges.subscribe(() => {
|
|
200
318
|
this.loadTimelineData();
|
|
201
319
|
}));
|
|
202
320
|
this.optionChangesSubscriptions.add(this.optionChangesService.columnChanges.subscribe(() => {
|
|
203
321
|
this.treeList.columns.notifyOnChanges();
|
|
204
322
|
}));
|
|
323
|
+
this.editServiceSubscription.add(this.editService.showEditingDialog.subscribe(show => this.showEditingDialog = show));
|
|
324
|
+
this.editServiceSubscription.add(this.editService.showConfirmationDialog.subscribe(() => this.taskDelete.emit()));
|
|
325
|
+
this.editServiceSubscription.add(this.editService.editEvent.subscribe(args => {
|
|
326
|
+
this[args.editResultType].emit({
|
|
327
|
+
formGroup: args.formGroup,
|
|
328
|
+
item: getEditItem(args.dataItem, this.treeList.view.data, this.mapper),
|
|
329
|
+
sender: this
|
|
330
|
+
});
|
|
331
|
+
this.showConfirmationDialog = this.showEditingDialog = false;
|
|
332
|
+
this.editService.dataItem = this.editService.formGroup = null;
|
|
333
|
+
this.updateView();
|
|
334
|
+
this.dependencyDomService.notifyChanges();
|
|
335
|
+
}));
|
|
336
|
+
this.localizationSubscription = this.localizationService.changes.subscribe(({ rtl }) => {
|
|
337
|
+
this.rtl = rtl;
|
|
338
|
+
this.direction = this.rtl ? 'rtl' : 'ltr';
|
|
339
|
+
});
|
|
205
340
|
}
|
|
206
341
|
get toolbarTemplate() {
|
|
207
342
|
if (this._customToolbarTemplate) {
|
|
@@ -212,6 +347,9 @@ let GanttComponent = GanttComponent_1 = class GanttComponent {
|
|
|
212
347
|
set toolbarTemplate(customToolbarTemplate) {
|
|
213
348
|
this._customToolbarTemplate = customToolbarTemplate;
|
|
214
349
|
}
|
|
350
|
+
get dir() {
|
|
351
|
+
return this.direction;
|
|
352
|
+
}
|
|
215
353
|
/**
|
|
216
354
|
* A query list of all declared columns.
|
|
217
355
|
*/
|
|
@@ -366,6 +504,12 @@ let GanttComponent = GanttComponent_1 = class GanttComponent {
|
|
|
366
504
|
get viewTypes() {
|
|
367
505
|
return this.views.map(view => view.type);
|
|
368
506
|
}
|
|
507
|
+
/**
|
|
508
|
+
* @hidden
|
|
509
|
+
*/
|
|
510
|
+
get editDialogFormGroup() {
|
|
511
|
+
return this.editService.formGroup;
|
|
512
|
+
}
|
|
369
513
|
ngOnChanges(changes) {
|
|
370
514
|
if (anyChanged(['data', 'activeView', 'workWeekStart', 'workWeekEnd', 'workDayStart', 'workDayEnd'], changes)) {
|
|
371
515
|
this.loadTimelineData();
|
|
@@ -385,6 +529,10 @@ let GanttComponent = GanttComponent_1 = class GanttComponent {
|
|
|
385
529
|
}
|
|
386
530
|
ngOnDestroy() {
|
|
387
531
|
this.optionChangesSubscriptions.unsubscribe();
|
|
532
|
+
this.editServiceSubscription.unsubscribe();
|
|
533
|
+
if (this.localizationSubscription) {
|
|
534
|
+
this.localizationSubscription.unsubscribe();
|
|
535
|
+
}
|
|
388
536
|
}
|
|
389
537
|
/**
|
|
390
538
|
* Applies the minimum possible width for the specified column,
|
|
@@ -432,6 +580,47 @@ let GanttComponent = GanttComponent_1 = class GanttComponent {
|
|
|
432
580
|
this.treeList.reorderColumn(source, destIndex, options);
|
|
433
581
|
}
|
|
434
582
|
}
|
|
583
|
+
/**
|
|
584
|
+
* Opens the task editing dialog.
|
|
585
|
+
*/
|
|
586
|
+
editTask(dataItem, formGroup) {
|
|
587
|
+
if (!this.showEditingDialog) {
|
|
588
|
+
this.editService.createEditDialog(dataItem, formGroup);
|
|
589
|
+
}
|
|
590
|
+
}
|
|
591
|
+
/**
|
|
592
|
+
* Closes the task editing dialog.
|
|
593
|
+
*/
|
|
594
|
+
closeTaskDialog() {
|
|
595
|
+
if (this.showEditingDialog) {
|
|
596
|
+
this.editService.closeEditDialog();
|
|
597
|
+
}
|
|
598
|
+
}
|
|
599
|
+
/**
|
|
600
|
+
* Opens the delete task confirmation dialog.
|
|
601
|
+
*/
|
|
602
|
+
openConfirmationDialog() {
|
|
603
|
+
this.showConfirmationDialog = true;
|
|
604
|
+
}
|
|
605
|
+
/**
|
|
606
|
+
* Opens a cell for editing.
|
|
607
|
+
*/
|
|
608
|
+
editCell(dataItem, column, formGroup) {
|
|
609
|
+
this.treeList.editCell(dataItem, column, formGroup);
|
|
610
|
+
}
|
|
611
|
+
/**
|
|
612
|
+
* Closes an edited cell.
|
|
613
|
+
*/
|
|
614
|
+
closeCell() {
|
|
615
|
+
this.treeList.closeCell();
|
|
616
|
+
}
|
|
617
|
+
/**
|
|
618
|
+
* @hidden
|
|
619
|
+
*/
|
|
620
|
+
handleCellClose(e) {
|
|
621
|
+
this.cellClose.emit(Object.assign(e, { item: this.editItem, sender: this }));
|
|
622
|
+
this.dependencyDomService.notifyChanges();
|
|
623
|
+
}
|
|
435
624
|
/**
|
|
436
625
|
* @hidden
|
|
437
626
|
*/
|
|
@@ -495,6 +684,67 @@ let GanttComponent = GanttComponent_1 = class GanttComponent {
|
|
|
495
684
|
this._timelinePaneOptions.size = e;
|
|
496
685
|
this.timelinePaneSizeChange.emit(e);
|
|
497
686
|
}
|
|
687
|
+
/**
|
|
688
|
+
* @hidden
|
|
689
|
+
*/
|
|
690
|
+
handleCellClick(event) {
|
|
691
|
+
this._cellClickEvent = event;
|
|
692
|
+
}
|
|
693
|
+
/**
|
|
694
|
+
* @hidden
|
|
695
|
+
*/
|
|
696
|
+
handleDoubleClick(event) {
|
|
697
|
+
const cell = this._cellClickEvent.originalEvent.target;
|
|
698
|
+
if (event.target !== cell) {
|
|
699
|
+
return;
|
|
700
|
+
}
|
|
701
|
+
this.editItem = getEditItem(this._cellClickEvent.dataItem, this.treeList.view.data, this.mapper);
|
|
702
|
+
if (hasObservers(this.cellDblClick)) {
|
|
703
|
+
this.zone.run(() => {
|
|
704
|
+
this.cellDblClick.emit(Object.assign({}, this._cellClickEvent, { sender: this }));
|
|
705
|
+
});
|
|
706
|
+
}
|
|
707
|
+
}
|
|
708
|
+
/**
|
|
709
|
+
* @hidden
|
|
710
|
+
*/
|
|
711
|
+
handleDeleteConfirmation() {
|
|
712
|
+
this.editService.triggerEditEvent('remove');
|
|
713
|
+
}
|
|
714
|
+
/**
|
|
715
|
+
* @hidden
|
|
716
|
+
*/
|
|
717
|
+
handleTimelineMouseDown(event) {
|
|
718
|
+
const target = event.target;
|
|
719
|
+
const gantt = this.hostElement.nativeElement;
|
|
720
|
+
if (!isTask(target, gantt) || isClearButton(target, gantt)) {
|
|
721
|
+
return;
|
|
722
|
+
}
|
|
723
|
+
event.preventDefault();
|
|
724
|
+
}
|
|
725
|
+
/**
|
|
726
|
+
* @hidden
|
|
727
|
+
*/
|
|
728
|
+
handleTimelineDblClick(event) {
|
|
729
|
+
const target = event.target;
|
|
730
|
+
const gantt = this.hostElement.nativeElement;
|
|
731
|
+
if (!isTask(target, gantt) || isClearButton(target, gantt)) {
|
|
732
|
+
return;
|
|
733
|
+
}
|
|
734
|
+
const taskIndex = getClosestTaskIndex(target, gantt);
|
|
735
|
+
const task = this.renderedTreeListItems[taskIndex];
|
|
736
|
+
this.zone.run(() => this.taskDblClick.emit({
|
|
737
|
+
dataItem: task,
|
|
738
|
+
originalEvent: event,
|
|
739
|
+
sender: this
|
|
740
|
+
}));
|
|
741
|
+
}
|
|
742
|
+
/**
|
|
743
|
+
* @hidden
|
|
744
|
+
*/
|
|
745
|
+
getText(token) {
|
|
746
|
+
return this.localizationService.get(token);
|
|
747
|
+
}
|
|
498
748
|
updateTreeListGroupClass(columns = this.columns) {
|
|
499
749
|
if (!isPresent(this.treeList)) {
|
|
500
750
|
return;
|
|
@@ -546,6 +796,11 @@ tslib_1.__decorate([
|
|
|
546
796
|
HostBinding('class.k-gantt'),
|
|
547
797
|
tslib_1.__metadata("design:type", Boolean)
|
|
548
798
|
], GanttComponent.prototype, "hostClasses", void 0);
|
|
799
|
+
tslib_1.__decorate([
|
|
800
|
+
HostBinding('attr.dir'),
|
|
801
|
+
tslib_1.__metadata("design:type", String),
|
|
802
|
+
tslib_1.__metadata("design:paramtypes", [])
|
|
803
|
+
], GanttComponent.prototype, "dir", null);
|
|
549
804
|
tslib_1.__decorate([
|
|
550
805
|
ContentChildren(GanttColumnBase),
|
|
551
806
|
tslib_1.__metadata("design:type", QueryList),
|
|
@@ -667,10 +922,38 @@ tslib_1.__decorate([
|
|
|
667
922
|
Output(),
|
|
668
923
|
tslib_1.__metadata("design:type", EventEmitter)
|
|
669
924
|
], GanttComponent.prototype, "rowExpand", void 0);
|
|
925
|
+
tslib_1.__decorate([
|
|
926
|
+
Output(),
|
|
927
|
+
tslib_1.__metadata("design:type", EventEmitter)
|
|
928
|
+
], GanttComponent.prototype, "taskDblClick", void 0);
|
|
929
|
+
tslib_1.__decorate([
|
|
930
|
+
Output(),
|
|
931
|
+
tslib_1.__metadata("design:type", EventEmitter)
|
|
932
|
+
], GanttComponent.prototype, "cellDblClick", void 0);
|
|
933
|
+
tslib_1.__decorate([
|
|
934
|
+
Output(),
|
|
935
|
+
tslib_1.__metadata("design:type", EventEmitter)
|
|
936
|
+
], GanttComponent.prototype, "cellClose", void 0);
|
|
937
|
+
tslib_1.__decorate([
|
|
938
|
+
Output(),
|
|
939
|
+
tslib_1.__metadata("design:type", EventEmitter)
|
|
940
|
+
], GanttComponent.prototype, "taskDelete", void 0);
|
|
670
941
|
tslib_1.__decorate([
|
|
671
942
|
Output(),
|
|
672
943
|
tslib_1.__metadata("design:type", EventEmitter)
|
|
673
944
|
], GanttComponent.prototype, "rowCollapse", void 0);
|
|
945
|
+
tslib_1.__decorate([
|
|
946
|
+
Output(),
|
|
947
|
+
tslib_1.__metadata("design:type", EventEmitter)
|
|
948
|
+
], GanttComponent.prototype, "remove", void 0);
|
|
949
|
+
tslib_1.__decorate([
|
|
950
|
+
Output(),
|
|
951
|
+
tslib_1.__metadata("design:type", EventEmitter)
|
|
952
|
+
], GanttComponent.prototype, "cancel", void 0);
|
|
953
|
+
tslib_1.__decorate([
|
|
954
|
+
Output(),
|
|
955
|
+
tslib_1.__metadata("design:type", EventEmitter)
|
|
956
|
+
], GanttComponent.prototype, "save", void 0);
|
|
674
957
|
tslib_1.__decorate([
|
|
675
958
|
Output(),
|
|
676
959
|
tslib_1.__metadata("design:type", EventEmitter)
|
|
@@ -718,7 +1001,9 @@ tslib_1.__decorate([
|
|
|
718
1001
|
GanttComponent = GanttComponent_1 = tslib_1.__decorate([
|
|
719
1002
|
Component({
|
|
720
1003
|
selector: 'kendo-gantt',
|
|
1004
|
+
exportAs: 'kendoGantt',
|
|
721
1005
|
providers: [
|
|
1006
|
+
LocalizationService,
|
|
722
1007
|
{
|
|
723
1008
|
provide: DataBoundTreeComponent,
|
|
724
1009
|
useExisting: forwardRef(() => GanttComponent_1)
|
|
@@ -734,9 +1019,181 @@ GanttComponent = GanttComponent_1 = tslib_1.__decorate([
|
|
|
734
1019
|
ScrollSyncService,
|
|
735
1020
|
DependencyDomService,
|
|
736
1021
|
MappingService,
|
|
737
|
-
OptionChangesService
|
|
1022
|
+
OptionChangesService,
|
|
1023
|
+
EditService
|
|
738
1024
|
],
|
|
739
1025
|
template: `
|
|
1026
|
+
<ng-container kendoGanttLocalizedMessages
|
|
1027
|
+
i18n-taskDeleteLabel="kendo.gantt.taskDeleteLabel|The label of the task delete icon"
|
|
1028
|
+
taskDeleteLabel="Delete"
|
|
1029
|
+
|
|
1030
|
+
i18n-taskEditingDialogTitle="kendo.gantt.taskEditingDialogTitle|The title of the task editing dialog"
|
|
1031
|
+
taskEditingDialogTitle="Editing Task"
|
|
1032
|
+
|
|
1033
|
+
i18n-taskEditingDialogCloseTitle="kendo.gantt.taskEditingDialogCloseTitle|The title of the task editing dialog close button"
|
|
1034
|
+
taskEditingDialogCloseTitle="Close"
|
|
1035
|
+
|
|
1036
|
+
i18n-confirmationDialogCloseTitle="kendo.gantt.confirmationDialogCloseTitle|The title of the confirmation dialog close button"
|
|
1037
|
+
confirmationDialogCloseTitle="Close"
|
|
1038
|
+
|
|
1039
|
+
i18n-confirmationDialogTitle="kendo.gantt.confirmationDialogTitle|The title of the delete task confirmation dialog"
|
|
1040
|
+
confirmationDialogTitle="Delete Task"
|
|
1041
|
+
|
|
1042
|
+
i18n-confirmationDialogContent="kendo.gantt.confirmationDialogContent|The content of the delete task confirmation dialog"
|
|
1043
|
+
confirmationDialogContent="Are you sure you want to delete this task?"
|
|
1044
|
+
|
|
1045
|
+
i18n-deleteButtonText="kendo.gantt.deleteButtonText|The text of the task editing dialog 'Delete' button"
|
|
1046
|
+
deleteButtonText="Delete"
|
|
1047
|
+
|
|
1048
|
+
i18n-cancelButtonText="kendo.gantt.cancelButtonText|The text of the task editing dialog 'Cancel' button"
|
|
1049
|
+
cancelButtonText="Cancel"
|
|
1050
|
+
|
|
1051
|
+
i18n-saveButtonText="kendo.gantt.saveButtonText|The text of the task editing dialog 'Save' button"
|
|
1052
|
+
saveButtonText="Save"
|
|
1053
|
+
|
|
1054
|
+
i18n-titleFieldInputLabel="kendo.gantt.titleFieldInputLabel|The label of the 'title' field input in editing mode"
|
|
1055
|
+
titleFieldInputLabel="Title"
|
|
1056
|
+
|
|
1057
|
+
i18n-startFieldInputLabel="kendo.gantt.startFieldInputLabel|The label of the 'start' field input in editing mode"
|
|
1058
|
+
startFieldInputLabel="Start"
|
|
1059
|
+
|
|
1060
|
+
i18n-endFieldInputLabel="kendo.gantt.endFieldInputLabel|The label of the 'end' field input in editing mode"
|
|
1061
|
+
endFieldInputLabel="End"
|
|
1062
|
+
|
|
1063
|
+
i18n-completionRatioFieldInputLabel="kendo.gantt.completionRatioFieldInputLabel|The label of the 'completionRatio' field input in editing mode"
|
|
1064
|
+
completionRatioFieldInputLabel="Progress"
|
|
1065
|
+
|
|
1066
|
+
i18n-dayViewText="kendo.gantt.dayViewText|The text of the day view in the ViewSelector component"
|
|
1067
|
+
dayViewText="Day"
|
|
1068
|
+
|
|
1069
|
+
i18n-weekViewText="kendo.gantt.weekViewText|The text of the week view in the ViewSelector component"
|
|
1070
|
+
weekViewText="Week"
|
|
1071
|
+
|
|
1072
|
+
i18n-monthViewText="kendo.gantt.monthViewText|The text of the month view in the ViewSelector component"
|
|
1073
|
+
monthViewText="Month"
|
|
1074
|
+
|
|
1075
|
+
i18n-yearViewText-disabled="kendo.gantt.yearViewText|The text of the year view in the ViewSelector component"
|
|
1076
|
+
yearViewText="Year"
|
|
1077
|
+
|
|
1078
|
+
i18n-noRecords="kendo.gantt.noRecords|The label visible in the TreeList when there are no records"
|
|
1079
|
+
noRecords="No records available."
|
|
1080
|
+
|
|
1081
|
+
i18n-filter="kendo.gantt.filter|The label of the filter cell or icon"
|
|
1082
|
+
filter="Filter"
|
|
1083
|
+
|
|
1084
|
+
i18n-filterEqOperator="kendo.gantt.filterEqOperator|The text of the equal filter operator"
|
|
1085
|
+
filterEqOperator="Is equal to"
|
|
1086
|
+
|
|
1087
|
+
i18n-filterNotEqOperator="kendo.gantt.filterNotEqOperator|The text of the not equal filter operator"
|
|
1088
|
+
filterNotEqOperator="Is not equal to"
|
|
1089
|
+
|
|
1090
|
+
i18n-filterIsNullOperator="kendo.gantt.filterIsNullOperator|The text of the is null filter operator"
|
|
1091
|
+
filterIsNullOperator="Is null"
|
|
1092
|
+
|
|
1093
|
+
i18n-filterIsNotNullOperator="kendo.gantt.filterIsNotNullOperator|The text of the is not null filter operator"
|
|
1094
|
+
filterIsNotNullOperator="Is not null"
|
|
1095
|
+
|
|
1096
|
+
i18n-filterIsEmptyOperator="kendo.gantt.filterIsEmptyOperator|The text of the is empty filter operator"
|
|
1097
|
+
filterIsEmptyOperator="Is empty"
|
|
1098
|
+
|
|
1099
|
+
i18n-filterIsNotEmptyOperator="kendo.gantt.filterIsNotEmptyOperator|The text of the is not empty filter operator"
|
|
1100
|
+
filterIsNotEmptyOperator="Is not empty"
|
|
1101
|
+
|
|
1102
|
+
i18n-filterStartsWithOperator="kendo.gantt.filterStartsWithOperator|The text of the starts with filter operator"
|
|
1103
|
+
filterStartsWithOperator="Starts with"
|
|
1104
|
+
|
|
1105
|
+
i18n-filterContainsOperator="kendo.gantt.filterContainsOperator|The text of the contains filter operator"
|
|
1106
|
+
filterContainsOperator="Contains"
|
|
1107
|
+
|
|
1108
|
+
i18n-filterNotContainsOperator="kendo.gantt.filterNotContainsOperator|The text of the does not contain filter operator"
|
|
1109
|
+
filterNotContainsOperator="Does not contain"
|
|
1110
|
+
|
|
1111
|
+
i18n-filterEndsWithOperator="kendo.gantt.filterEndsWithOperator|The text of the ends with filter operator"
|
|
1112
|
+
filterEndsWithOperator="Ends with"
|
|
1113
|
+
|
|
1114
|
+
i18n-filterGteOperator="kendo.gantt.filterGteOperator|The text of the greater than or equal filter operator"
|
|
1115
|
+
filterGteOperator="Is greater than or equal to"
|
|
1116
|
+
|
|
1117
|
+
i18n-filterGtOperator="kendo.gantt.filterGtOperator|The text of the greater than filter operator"
|
|
1118
|
+
filterGtOperator="Is greater than"
|
|
1119
|
+
|
|
1120
|
+
i18n-filterLteOperator="kendo.gantt.filterLteOperator|The text of the less than or equal filter operator"
|
|
1121
|
+
filterLteOperator="Is less than or equal to"
|
|
1122
|
+
|
|
1123
|
+
i18n-filterLtOperator="kendo.gantt.filterLtOperator|The text of the less than filter operator"
|
|
1124
|
+
filterLtOperator="Is less than"
|
|
1125
|
+
|
|
1126
|
+
i18n-filterIsTrue="kendo.gantt.filterIsTrue|The text of the IsTrue boolean filter option"
|
|
1127
|
+
filterIsTrue="Is True"
|
|
1128
|
+
|
|
1129
|
+
i18n-filterIsFalse="kendo.gantt.filterIsFalse|The text of the IsFalse boolean filter option"
|
|
1130
|
+
filterIsFalse="Is False"
|
|
1131
|
+
|
|
1132
|
+
i18n-filterBooleanAll="kendo.gantt.filterBooleanAll|The text of the (All) boolean filter option"
|
|
1133
|
+
filterBooleanAll="(All)"
|
|
1134
|
+
|
|
1135
|
+
i18n-filterAfterOrEqualOperator="kendo.gantt.filterAfterOrEqualOperator|The text of the after or equal date filter operator"
|
|
1136
|
+
filterAfterOrEqualOperator="Is after or equal to"
|
|
1137
|
+
|
|
1138
|
+
i18n-filterAfterOperator="kendo.gantt.filterAfterOperator|The text of the after date filter operator"
|
|
1139
|
+
filterAfterOperator="Is after"
|
|
1140
|
+
|
|
1141
|
+
i18n-filterBeforeOperator="kendo.gantt.filterBeforeOperator|The text of the before date filter operator"
|
|
1142
|
+
filterBeforeOperator="Is before"
|
|
1143
|
+
|
|
1144
|
+
i18n-filterBeforeOrEqualOperator="kendo.gantt.filterBeforeOrEqualOperator|The text of the before or equal date filter operator"
|
|
1145
|
+
filterBeforeOrEqualOperator="Is before or equal to"
|
|
1146
|
+
|
|
1147
|
+
i18n-filterFilterButton="kendo.gantt.filterFilterButton|The text of the filter button"
|
|
1148
|
+
filterFilterButton="Filter"
|
|
1149
|
+
|
|
1150
|
+
i18n-filterClearButton="kendo.gantt.filterClearButton|The text of the clear filter button"
|
|
1151
|
+
filterClearButton="Clear"
|
|
1152
|
+
|
|
1153
|
+
i18n-filterAndLogic="kendo.gantt.filterAndLogic|The text of the And filter logic"
|
|
1154
|
+
filterAndLogic="And"
|
|
1155
|
+
|
|
1156
|
+
i18n-filterOrLogic="kendo.gantt.filterOrLogic|The text of the Or filter logic"
|
|
1157
|
+
filterOrLogic="Or"
|
|
1158
|
+
|
|
1159
|
+
i18n-loading="kendo.gantt.loading|The loading text"
|
|
1160
|
+
loading="Loading"
|
|
1161
|
+
|
|
1162
|
+
i18n-columnMenu="kendo.gantt.columnMenu|The title of the column menu icon"
|
|
1163
|
+
columnMenu="Column Menu"
|
|
1164
|
+
|
|
1165
|
+
i18n-columns="kendo.gantt.columns|The text shown in the column menu for the columns item"
|
|
1166
|
+
columns="Columns"
|
|
1167
|
+
|
|
1168
|
+
i18n-lock-disabled="kendo.gantt.lock|The text shown in the column menu for the lock item"
|
|
1169
|
+
lock-disabled="Lock"
|
|
1170
|
+
|
|
1171
|
+
i18n-unlock-disabled="kendo.gantt.unlock|The text shown in the column menu for the unlock item"
|
|
1172
|
+
unlock-disabled="Unlock"
|
|
1173
|
+
|
|
1174
|
+
i18n-sortable="kendo.gantt.sortable|The label of the sort icon"
|
|
1175
|
+
sortable="Sortable"
|
|
1176
|
+
|
|
1177
|
+
i18n-sortAscending="kendo.gantt.sortAscending|The text shown in the column menu for the sort ascending item"
|
|
1178
|
+
sortAscending="Sort Ascending"
|
|
1179
|
+
|
|
1180
|
+
i18n-sortDescending="kendo.gantt.sortDescending|The text shown in the column menu for the sort descending item"
|
|
1181
|
+
sortDescending="Sort Descending"
|
|
1182
|
+
|
|
1183
|
+
i18n-sortedAscending="kendo.gantt.sortedAscending|The status announcement when a column is sorted ascending"
|
|
1184
|
+
sortedAscending="Sorted Ascending"
|
|
1185
|
+
|
|
1186
|
+
i18n-sortedDescending="kendo.gantt.sortedDescending|The status announcement when a column is sorted descending"
|
|
1187
|
+
sortedDescending="Sorted Descending"
|
|
1188
|
+
|
|
1189
|
+
i18n-sortedDefault="kendo.gantt.sortedDefault|The status announcement when a column is no longer sorted"
|
|
1190
|
+
sortedDefault="Not Sorted"
|
|
1191
|
+
|
|
1192
|
+
i18n-columnsApply="kendo.gantt.columnsApply|The text shown in the column menu or column chooser for the columns apply button"
|
|
1193
|
+
columnsApply="Apply"
|
|
1194
|
+
|
|
1195
|
+
i18n-columnsReset="kendo.gantt.columnsReset|The text shown in the column menu or column chooser for the columns reset button"
|
|
1196
|
+
columnsReset="Reset"></ng-container>
|
|
740
1197
|
<kendo-gantt-toolbar
|
|
741
1198
|
*ngIf="showToolbar('top')"
|
|
742
1199
|
class="k-gantt-header k-toolbar k-gantt-toolbar"
|
|
@@ -778,7 +1235,12 @@ GanttComponent = GanttComponent_1 = tslib_1.__decorate([
|
|
|
778
1235
|
(columnResize)="columnResize.emit($event)"
|
|
779
1236
|
(columnVisibilityChange)="handleColumnVisibilityChange($event)"
|
|
780
1237
|
(columnLockedChange)="columnLockedChange.emit($event)"
|
|
781
|
-
|
|
1238
|
+
(cellClick)="handleCellClick($event)"
|
|
1239
|
+
(cellClose)="handleCellClose($event)"
|
|
1240
|
+
[kendoEventsOutsideAngular]="{
|
|
1241
|
+
dblclick: handleDoubleClick
|
|
1242
|
+
}">
|
|
1243
|
+
<kendo-treelist-messages [kendoGanttTreeListMessages]="localizationService"></kendo-treelist-messages>
|
|
782
1244
|
</kendo-treelist>
|
|
783
1245
|
</kendo-splitter-pane>
|
|
784
1246
|
<kendo-splitter-pane
|
|
@@ -804,6 +1266,10 @@ GanttComponent = GanttComponent_1 = tslib_1.__decorate([
|
|
|
804
1266
|
[taskClass]="taskClass"
|
|
805
1267
|
[dependencies]="dependencies"
|
|
806
1268
|
[hasChildren]="hasChildren"
|
|
1269
|
+
[kendoEventsOutsideAngular]="{
|
|
1270
|
+
dblclick: handleTimelineDblClick,
|
|
1271
|
+
mousedown: handleTimelineMouseDown
|
|
1272
|
+
}"
|
|
807
1273
|
></kendo-gantt-timeline>
|
|
808
1274
|
</kendo-splitter-pane>
|
|
809
1275
|
</kendo-splitter>
|
|
@@ -812,6 +1278,20 @@ GanttComponent = GanttComponent_1 = tslib_1.__decorate([
|
|
|
812
1278
|
*ngIf="showToolbar('bottom')"
|
|
813
1279
|
class="k-gantt-footer k-toolbar k-gantt-toolbar"
|
|
814
1280
|
position="bottom"></kendo-gantt-toolbar>
|
|
1281
|
+
<kendo-gantt-edit-dialog *ngIf="showEditingDialog" [formGroup]="editDialogFormGroup"></kendo-gantt-edit-dialog>
|
|
1282
|
+
<kendo-dialog
|
|
1283
|
+
*ngIf="showConfirmationDialog"
|
|
1284
|
+
[width]="575"
|
|
1285
|
+
[height]="170"
|
|
1286
|
+
[title]="getText('confirmationDialogTitle')"
|
|
1287
|
+
(close)="showConfirmationDialog = false;">
|
|
1288
|
+
<span>{{getText('confirmationDialogContent')}}</span>
|
|
1289
|
+
<kendo-dialog-actions layout="normal">
|
|
1290
|
+
<kendo-treelist-spacer></kendo-treelist-spacer>
|
|
1291
|
+
<button kendoButton [primary]="true" (click)="handleDeleteConfirmation()">{{ getText('deleteButtonText') }}</button>
|
|
1292
|
+
<button kendoButton (click)="showConfirmationDialog = false;">{{ getText('cancelButtonText') }}</button>
|
|
1293
|
+
</kendo-dialog-actions>
|
|
1294
|
+
</kendo-dialog>
|
|
815
1295
|
`
|
|
816
1296
|
}),
|
|
817
1297
|
tslib_1.__metadata("design:paramtypes", [TimelineViewService,
|
|
@@ -819,6 +1299,10 @@ GanttComponent = GanttComponent_1 = tslib_1.__decorate([
|
|
|
819
1299
|
Renderer2,
|
|
820
1300
|
MappingService,
|
|
821
1301
|
OptionChangesService,
|
|
822
|
-
DependencyDomService
|
|
1302
|
+
DependencyDomService,
|
|
1303
|
+
EditService,
|
|
1304
|
+
LocalizationService,
|
|
1305
|
+
ElementRef,
|
|
1306
|
+
NgZone])
|
|
823
1307
|
], GanttComponent);
|
|
824
1308
|
export { GanttComponent };
|