@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
|
@@ -22,6 +22,8 @@ var scroll_sync_service_1 = require("./scrolling/scroll-sync.service");
|
|
|
22
22
|
var dependency_dom_service_1 = require("./dependencies/dependency-dom.service");
|
|
23
23
|
var mapping_service_1 = require("./common/mapping.service");
|
|
24
24
|
var option_changes_service_1 = require("./common/option-changes.service");
|
|
25
|
+
var edit_service_1 = require("./editing/edit.service");
|
|
26
|
+
var kendo_angular_l10n_1 = require("@progress/kendo-angular-l10n");
|
|
25
27
|
var utils_1 = require("./utils");
|
|
26
28
|
var splitter_pane_options_interface_1 = require("./models/splitter-pane-options.interface");
|
|
27
29
|
var task_template_directive_1 = require("./template-directives/task-template.directive");
|
|
@@ -30,13 +32,82 @@ var task_content_template_directive_1 = require("./template-directives/task-cont
|
|
|
30
32
|
var toolbar_template_directive_1 = require("./toolbar/toolbar-template.directive");
|
|
31
33
|
var view_base_1 = require("./timeline/view-base");
|
|
32
34
|
var kendo_date_math_1 = require("@progress/kendo-date-math");
|
|
35
|
+
var util_1 = require("./editing/util");
|
|
33
36
|
var TREELIST_GROUP_COLUMNS_CLASS = 'k-gantt-treelist-nested-columns';
|
|
34
37
|
var DEFAULT_VIEW = 'week';
|
|
35
38
|
/**
|
|
36
|
-
*
|
|
39
|
+
* Represents the Kendo UI Gantt component for Angular.
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* ```ts-preview
|
|
43
|
+
* _@Component({
|
|
44
|
+
* selector: 'my-app',
|
|
45
|
+
* template: `
|
|
46
|
+
* <kendo-gantt
|
|
47
|
+
* [style.height.px]="500"
|
|
48
|
+
* [kendoGanttHierarchyBinding]="data"
|
|
49
|
+
* childrenField="subtasks"
|
|
50
|
+
* [dependencies]="dependencies">
|
|
51
|
+
* <kendo-gantt-column
|
|
52
|
+
* field="title"
|
|
53
|
+
* title="Task"
|
|
54
|
+
* [width]="200"
|
|
55
|
+
* [expandable]="true"></kendo-gantt-column>
|
|
56
|
+
* <kendo-gantt-column
|
|
57
|
+
* field="start"
|
|
58
|
+
* title="Start"
|
|
59
|
+
* format="dd-MMM-yyyy"
|
|
60
|
+
* [width]="120"></kendo-gantt-column>
|
|
61
|
+
* <kendo-gantt-column
|
|
62
|
+
* field="end"
|
|
63
|
+
* title="End"
|
|
64
|
+
* format="dd-MMM-yyyy"
|
|
65
|
+
* [width]="120"></kendo-gantt-column>
|
|
66
|
+
* <kendo-gantt-timeline-day-view></kendo-gantt-timeline-day-view>
|
|
67
|
+
* <kendo-gantt-timeline-week-view></kendo-gantt-timeline-week-view>
|
|
68
|
+
* <kendo-gantt-timeline-month-view></kendo-gantt-timeline-month-view>
|
|
69
|
+
* </kendo-gantt>
|
|
70
|
+
* `
|
|
71
|
+
* })
|
|
72
|
+
* class AppComponent {
|
|
73
|
+
* public data: Task[] = [{
|
|
74
|
+
* id: 7, title: 'Validation and R&D', start: new Date('2014-06-02T00:00:00.000Z'),
|
|
75
|
+
* end: new Date('2014-06-19T00:00:00.000Z'), completionRatio: 0.45708333333333334,
|
|
76
|
+
* subtasks: [
|
|
77
|
+
* { id: 18, title: 'Project Kickoff', start: new Date('2014-06-02T00:00:00.000Z'),
|
|
78
|
+
* end: new Date('2014-06-02T00:00:00.000Z'), completionRatio: 0.23 },
|
|
79
|
+
* { id: 11, title: 'Research', start: new Date('2014-06-02T00:00:00.000Z'),
|
|
80
|
+
* end: new Date('2014-06-07T00:00:00.000Z'), completionRatio: 0.5766666666666667,
|
|
81
|
+
* subtasks: [
|
|
82
|
+
* { id: 19, title: 'Validation', start: new Date('2014-06-02T00:00:00.000Z'),
|
|
83
|
+
* end: new Date('2014-06-04T00:00:00.000Z'), completionRatio: 0.25 },
|
|
84
|
+
* { id: 39, title: 'Specification', start: new Date('2014-06-04T00:00:00.000Z'),
|
|
85
|
+
* end: new Date('2014-06-07T00:00:00.000Z'), completionRatio: 0.66 }]
|
|
86
|
+
* }, { id: 13, title: 'Implementation', start: new Date('2014-06-08T00:00:00.000Z'),
|
|
87
|
+
* end: new Date('2014-06-19T00:00:00.000Z'), completionRatio: 0.77,
|
|
88
|
+
* subtasks: [
|
|
89
|
+
* { id: 24, title: 'Prototype', start: new Date('2014-06-08T00:00:00.000Z'),
|
|
90
|
+
* end: new Date('2014-06-14T00:00:00.000Z'), completionRatio: 0.77 },
|
|
91
|
+
* { id: 29, title: 'UI and Interaction', start: new Date('2014-06-14T00:00:00.000Z'),
|
|
92
|
+
* end: new Date('2014-06-19T00:00:00.000Z'), completionRatio: 0.6 }]
|
|
93
|
+
* }, { id: 17, title: 'Release', start: new Date('2014-06-19T00:00:00.000Z'),
|
|
94
|
+
* end: new Date('2014-06-19T00:00:00.000Z'), completionRatio: 0 }]
|
|
95
|
+
* }];
|
|
96
|
+
*
|
|
97
|
+
* public dependencies: GanttDependency[] = [
|
|
98
|
+
* { id: 528, fromId: 18, toId: 19, type: DependencyType.FS },
|
|
99
|
+
* { id: 529, fromId: 19, toId: 39, type: DependencyType.FS },
|
|
100
|
+
* { id: 535, fromId: 24, toId: 29, type: DependencyType.FS },
|
|
101
|
+
* { id: 551, fromId: 13, toId: 29, type: DependencyType.FF },
|
|
102
|
+
* { id: 777, fromId: 7, toId: 11, type: DependencyType.SF },
|
|
103
|
+
* { id: 556, fromId: 39, toId: 24, type: DependencyType.FS },
|
|
104
|
+
* { id: 546, fromId: 29, toId: 17, type: DependencyType.FS },
|
|
105
|
+
* ];
|
|
106
|
+
* }
|
|
107
|
+
* ```
|
|
37
108
|
*/
|
|
38
109
|
var GanttComponent = /** @class */ (function () {
|
|
39
|
-
function GanttComponent(timelineViewService, scrollSyncService, renderer, mapper, optionChangesService, dependencyDomService) {
|
|
110
|
+
function GanttComponent(timelineViewService, scrollSyncService, renderer, mapper, optionChangesService, dependencyDomService, editService, localizationService, hostElement, zone) {
|
|
40
111
|
var _this = this;
|
|
41
112
|
this.timelineViewService = timelineViewService;
|
|
42
113
|
this.scrollSyncService = scrollSyncService;
|
|
@@ -44,6 +115,10 @@ var GanttComponent = /** @class */ (function () {
|
|
|
44
115
|
this.mapper = mapper;
|
|
45
116
|
this.optionChangesService = optionChangesService;
|
|
46
117
|
this.dependencyDomService = dependencyDomService;
|
|
118
|
+
this.editService = editService;
|
|
119
|
+
this.localizationService = localizationService;
|
|
120
|
+
this.hostElement = hostElement;
|
|
121
|
+
this.zone = zone;
|
|
47
122
|
this.hostClasses = true;
|
|
48
123
|
/**
|
|
49
124
|
* The position of the toolbar.
|
|
@@ -131,10 +206,40 @@ var GanttComponent = /** @class */ (function () {
|
|
|
131
206
|
* Fires when an item is expanded.
|
|
132
207
|
*/
|
|
133
208
|
this.rowExpand = new core_1.EventEmitter();
|
|
209
|
+
/**
|
|
210
|
+
* Fires when a Gantt task in the timeline pane is double-clicked. The data item, associated with the clicked task,
|
|
211
|
+
* is available in the event data. Use the event handler to open a task editing dialog as necessary.
|
|
212
|
+
*/
|
|
213
|
+
this.taskDblClick = new core_1.EventEmitter();
|
|
214
|
+
/**
|
|
215
|
+
* Fires when the user double clicks a cell.
|
|
216
|
+
*/
|
|
217
|
+
this.cellDblClick = new core_1.EventEmitter();
|
|
218
|
+
/**
|
|
219
|
+
* Fires when the user leaves an edited cell.
|
|
220
|
+
*/
|
|
221
|
+
this.cellClose = new core_1.EventEmitter();
|
|
222
|
+
/**
|
|
223
|
+
* Fires when the end user clicks the `Delete` button in the task editing dialog or the task delete icon.
|
|
224
|
+
* Use the event handler to open a confirmation dialog when necessary.
|
|
225
|
+
*/
|
|
226
|
+
this.taskDelete = new core_1.EventEmitter();
|
|
134
227
|
/**
|
|
135
228
|
* Fires when an item is collapsed.
|
|
136
229
|
*/
|
|
137
230
|
this.rowCollapse = new core_1.EventEmitter();
|
|
231
|
+
/**
|
|
232
|
+
* Fires when the user confirms deleting a task.
|
|
233
|
+
*/
|
|
234
|
+
this.remove = new core_1.EventEmitter();
|
|
235
|
+
/**
|
|
236
|
+
* Fires when the user cancels editing a task.
|
|
237
|
+
*/
|
|
238
|
+
this.cancel = new core_1.EventEmitter();
|
|
239
|
+
/**
|
|
240
|
+
* Fires when the user saves an edited task.
|
|
241
|
+
*/
|
|
242
|
+
this.save = new core_1.EventEmitter();
|
|
138
243
|
/**
|
|
139
244
|
* Fires when the sorting of the Gantt is changed.
|
|
140
245
|
* You have to handle the event yourself and sort the data.
|
|
@@ -189,6 +294,14 @@ var GanttComponent = /** @class */ (function () {
|
|
|
189
294
|
* Used by the GanttExpandableDirective.
|
|
190
295
|
*/
|
|
191
296
|
this.expandStateChange = new core_1.EventEmitter();
|
|
297
|
+
/**
|
|
298
|
+
* @hidden
|
|
299
|
+
*/
|
|
300
|
+
this.showEditingDialog = false;
|
|
301
|
+
/**
|
|
302
|
+
* @hidden
|
|
303
|
+
*/
|
|
304
|
+
this.showConfirmationDialog = false;
|
|
192
305
|
this._columns = new core_1.QueryList();
|
|
193
306
|
this._data = [];
|
|
194
307
|
this._timelinePaneOptions = tslib_1.__assign({}, splitter_pane_options_interface_1.DEFAULT_TIMELINE_PANE_SETTINGS);
|
|
@@ -196,14 +309,37 @@ var GanttComponent = /** @class */ (function () {
|
|
|
196
309
|
this._rowClass = default_callbacks_1.rowClassCallback;
|
|
197
310
|
this._taskClass = default_callbacks_1.taskClassCallback;
|
|
198
311
|
this._activeView = DEFAULT_VIEW;
|
|
312
|
+
this.rtl = false;
|
|
199
313
|
this.optionChangesSubscriptions = new rxjs_1.Subscription();
|
|
314
|
+
this.editServiceSubscription = new rxjs_1.Subscription();
|
|
200
315
|
kendo_licensing_1.validatePackage(package_metadata_1.packageMetadata);
|
|
316
|
+
this.handleTimelineDblClick = this.handleTimelineDblClick.bind(this);
|
|
317
|
+
this.handleTimelineMouseDown = this.handleTimelineMouseDown.bind(this);
|
|
318
|
+
this.handleDoubleClick = this.handleDoubleClick.bind(this);
|
|
201
319
|
this.optionChangesSubscriptions.add(this.optionChangesService.viewChanges.subscribe(function () {
|
|
202
320
|
_this.loadTimelineData();
|
|
203
321
|
}));
|
|
204
322
|
this.optionChangesSubscriptions.add(this.optionChangesService.columnChanges.subscribe(function () {
|
|
205
323
|
_this.treeList.columns.notifyOnChanges();
|
|
206
324
|
}));
|
|
325
|
+
this.editServiceSubscription.add(this.editService.showEditingDialog.subscribe(function (show) { return _this.showEditingDialog = show; }));
|
|
326
|
+
this.editServiceSubscription.add(this.editService.showConfirmationDialog.subscribe(function () { return _this.taskDelete.emit(); }));
|
|
327
|
+
this.editServiceSubscription.add(this.editService.editEvent.subscribe(function (args) {
|
|
328
|
+
_this[args.editResultType].emit({
|
|
329
|
+
formGroup: args.formGroup,
|
|
330
|
+
item: util_1.getEditItem(args.dataItem, _this.treeList.view.data, _this.mapper),
|
|
331
|
+
sender: _this
|
|
332
|
+
});
|
|
333
|
+
_this.showConfirmationDialog = _this.showEditingDialog = false;
|
|
334
|
+
_this.editService.dataItem = _this.editService.formGroup = null;
|
|
335
|
+
_this.updateView();
|
|
336
|
+
_this.dependencyDomService.notifyChanges();
|
|
337
|
+
}));
|
|
338
|
+
this.localizationSubscription = this.localizationService.changes.subscribe(function (_a) {
|
|
339
|
+
var rtl = _a.rtl;
|
|
340
|
+
_this.rtl = rtl;
|
|
341
|
+
_this.direction = _this.rtl ? 'rtl' : 'ltr';
|
|
342
|
+
});
|
|
207
343
|
}
|
|
208
344
|
GanttComponent_1 = GanttComponent;
|
|
209
345
|
Object.defineProperty(GanttComponent.prototype, "toolbarTemplate", {
|
|
@@ -219,6 +355,13 @@ var GanttComponent = /** @class */ (function () {
|
|
|
219
355
|
enumerable: true,
|
|
220
356
|
configurable: true
|
|
221
357
|
});
|
|
358
|
+
Object.defineProperty(GanttComponent.prototype, "dir", {
|
|
359
|
+
get: function () {
|
|
360
|
+
return this.direction;
|
|
361
|
+
},
|
|
362
|
+
enumerable: true,
|
|
363
|
+
configurable: true
|
|
364
|
+
});
|
|
222
365
|
Object.defineProperty(GanttComponent.prototype, "columns", {
|
|
223
366
|
get: function () {
|
|
224
367
|
return this._columns;
|
|
@@ -434,6 +577,16 @@ var GanttComponent = /** @class */ (function () {
|
|
|
434
577
|
enumerable: true,
|
|
435
578
|
configurable: true
|
|
436
579
|
});
|
|
580
|
+
Object.defineProperty(GanttComponent.prototype, "editDialogFormGroup", {
|
|
581
|
+
/**
|
|
582
|
+
* @hidden
|
|
583
|
+
*/
|
|
584
|
+
get: function () {
|
|
585
|
+
return this.editService.formGroup;
|
|
586
|
+
},
|
|
587
|
+
enumerable: true,
|
|
588
|
+
configurable: true
|
|
589
|
+
});
|
|
437
590
|
GanttComponent.prototype.ngOnChanges = function (changes) {
|
|
438
591
|
if (kendo_angular_common_1.anyChanged(['data', 'activeView', 'workWeekStart', 'workWeekEnd', 'workDayStart', 'workDayEnd'], changes)) {
|
|
439
592
|
this.loadTimelineData();
|
|
@@ -453,6 +606,10 @@ var GanttComponent = /** @class */ (function () {
|
|
|
453
606
|
};
|
|
454
607
|
GanttComponent.prototype.ngOnDestroy = function () {
|
|
455
608
|
this.optionChangesSubscriptions.unsubscribe();
|
|
609
|
+
this.editServiceSubscription.unsubscribe();
|
|
610
|
+
if (this.localizationSubscription) {
|
|
611
|
+
this.localizationSubscription.unsubscribe();
|
|
612
|
+
}
|
|
456
613
|
};
|
|
457
614
|
/**
|
|
458
615
|
* Applies the minimum possible width for the specified column,
|
|
@@ -502,6 +659,47 @@ var GanttComponent = /** @class */ (function () {
|
|
|
502
659
|
this.treeList.reorderColumn(source, destIndex, options);
|
|
503
660
|
}
|
|
504
661
|
};
|
|
662
|
+
/**
|
|
663
|
+
* Opens the task editing dialog.
|
|
664
|
+
*/
|
|
665
|
+
GanttComponent.prototype.editTask = function (dataItem, formGroup) {
|
|
666
|
+
if (!this.showEditingDialog) {
|
|
667
|
+
this.editService.createEditDialog(dataItem, formGroup);
|
|
668
|
+
}
|
|
669
|
+
};
|
|
670
|
+
/**
|
|
671
|
+
* Closes the task editing dialog.
|
|
672
|
+
*/
|
|
673
|
+
GanttComponent.prototype.closeTaskDialog = function () {
|
|
674
|
+
if (this.showEditingDialog) {
|
|
675
|
+
this.editService.closeEditDialog();
|
|
676
|
+
}
|
|
677
|
+
};
|
|
678
|
+
/**
|
|
679
|
+
* Opens the delete task confirmation dialog.
|
|
680
|
+
*/
|
|
681
|
+
GanttComponent.prototype.openConfirmationDialog = function () {
|
|
682
|
+
this.showConfirmationDialog = true;
|
|
683
|
+
};
|
|
684
|
+
/**
|
|
685
|
+
* Opens a cell for editing.
|
|
686
|
+
*/
|
|
687
|
+
GanttComponent.prototype.editCell = function (dataItem, column, formGroup) {
|
|
688
|
+
this.treeList.editCell(dataItem, column, formGroup);
|
|
689
|
+
};
|
|
690
|
+
/**
|
|
691
|
+
* Closes an edited cell.
|
|
692
|
+
*/
|
|
693
|
+
GanttComponent.prototype.closeCell = function () {
|
|
694
|
+
this.treeList.closeCell();
|
|
695
|
+
};
|
|
696
|
+
/**
|
|
697
|
+
* @hidden
|
|
698
|
+
*/
|
|
699
|
+
GanttComponent.prototype.handleCellClose = function (e) {
|
|
700
|
+
this.cellClose.emit(Object.assign(e, { item: this.editItem, sender: this }));
|
|
701
|
+
this.dependencyDomService.notifyChanges();
|
|
702
|
+
};
|
|
505
703
|
/**
|
|
506
704
|
* @hidden
|
|
507
705
|
*/
|
|
@@ -565,6 +763,69 @@ var GanttComponent = /** @class */ (function () {
|
|
|
565
763
|
this._timelinePaneOptions.size = e;
|
|
566
764
|
this.timelinePaneSizeChange.emit(e);
|
|
567
765
|
};
|
|
766
|
+
/**
|
|
767
|
+
* @hidden
|
|
768
|
+
*/
|
|
769
|
+
GanttComponent.prototype.handleCellClick = function (event) {
|
|
770
|
+
this._cellClickEvent = event;
|
|
771
|
+
};
|
|
772
|
+
/**
|
|
773
|
+
* @hidden
|
|
774
|
+
*/
|
|
775
|
+
GanttComponent.prototype.handleDoubleClick = function (event) {
|
|
776
|
+
var _this = this;
|
|
777
|
+
var cell = this._cellClickEvent.originalEvent.target;
|
|
778
|
+
if (event.target !== cell) {
|
|
779
|
+
return;
|
|
780
|
+
}
|
|
781
|
+
this.editItem = util_1.getEditItem(this._cellClickEvent.dataItem, this.treeList.view.data, this.mapper);
|
|
782
|
+
if (kendo_angular_common_1.hasObservers(this.cellDblClick)) {
|
|
783
|
+
this.zone.run(function () {
|
|
784
|
+
_this.cellDblClick.emit(tslib_1.__assign({}, _this._cellClickEvent, { sender: _this }));
|
|
785
|
+
});
|
|
786
|
+
}
|
|
787
|
+
};
|
|
788
|
+
/**
|
|
789
|
+
* @hidden
|
|
790
|
+
*/
|
|
791
|
+
GanttComponent.prototype.handleDeleteConfirmation = function () {
|
|
792
|
+
this.editService.triggerEditEvent('remove');
|
|
793
|
+
};
|
|
794
|
+
/**
|
|
795
|
+
* @hidden
|
|
796
|
+
*/
|
|
797
|
+
GanttComponent.prototype.handleTimelineMouseDown = function (event) {
|
|
798
|
+
var target = event.target;
|
|
799
|
+
var gantt = this.hostElement.nativeElement;
|
|
800
|
+
if (!utils_1.isTask(target, gantt) || utils_1.isClearButton(target, gantt)) {
|
|
801
|
+
return;
|
|
802
|
+
}
|
|
803
|
+
event.preventDefault();
|
|
804
|
+
};
|
|
805
|
+
/**
|
|
806
|
+
* @hidden
|
|
807
|
+
*/
|
|
808
|
+
GanttComponent.prototype.handleTimelineDblClick = function (event) {
|
|
809
|
+
var _this = this;
|
|
810
|
+
var target = event.target;
|
|
811
|
+
var gantt = this.hostElement.nativeElement;
|
|
812
|
+
if (!utils_1.isTask(target, gantt) || utils_1.isClearButton(target, gantt)) {
|
|
813
|
+
return;
|
|
814
|
+
}
|
|
815
|
+
var taskIndex = utils_1.getClosestTaskIndex(target, gantt);
|
|
816
|
+
var task = this.renderedTreeListItems[taskIndex];
|
|
817
|
+
this.zone.run(function () { return _this.taskDblClick.emit({
|
|
818
|
+
dataItem: task,
|
|
819
|
+
originalEvent: event,
|
|
820
|
+
sender: _this
|
|
821
|
+
}); });
|
|
822
|
+
};
|
|
823
|
+
/**
|
|
824
|
+
* @hidden
|
|
825
|
+
*/
|
|
826
|
+
GanttComponent.prototype.getText = function (token) {
|
|
827
|
+
return this.localizationService.get(token);
|
|
828
|
+
};
|
|
568
829
|
GanttComponent.prototype.updateTreeListGroupClass = function (columns) {
|
|
569
830
|
if (columns === void 0) { columns = this.columns; }
|
|
570
831
|
if (!utils_1.isPresent(this.treeList)) {
|
|
@@ -620,6 +881,11 @@ var GanttComponent = /** @class */ (function () {
|
|
|
620
881
|
core_1.HostBinding('class.k-gantt'),
|
|
621
882
|
tslib_1.__metadata("design:type", Boolean)
|
|
622
883
|
], GanttComponent.prototype, "hostClasses", void 0);
|
|
884
|
+
tslib_1.__decorate([
|
|
885
|
+
core_1.HostBinding('attr.dir'),
|
|
886
|
+
tslib_1.__metadata("design:type", String),
|
|
887
|
+
tslib_1.__metadata("design:paramtypes", [])
|
|
888
|
+
], GanttComponent.prototype, "dir", null);
|
|
623
889
|
tslib_1.__decorate([
|
|
624
890
|
core_1.ContentChildren(columns_1.GanttColumnBase),
|
|
625
891
|
tslib_1.__metadata("design:type", core_1.QueryList),
|
|
@@ -741,10 +1007,38 @@ var GanttComponent = /** @class */ (function () {
|
|
|
741
1007
|
core_1.Output(),
|
|
742
1008
|
tslib_1.__metadata("design:type", core_1.EventEmitter)
|
|
743
1009
|
], GanttComponent.prototype, "rowExpand", void 0);
|
|
1010
|
+
tslib_1.__decorate([
|
|
1011
|
+
core_1.Output(),
|
|
1012
|
+
tslib_1.__metadata("design:type", core_1.EventEmitter)
|
|
1013
|
+
], GanttComponent.prototype, "taskDblClick", void 0);
|
|
1014
|
+
tslib_1.__decorate([
|
|
1015
|
+
core_1.Output(),
|
|
1016
|
+
tslib_1.__metadata("design:type", core_1.EventEmitter)
|
|
1017
|
+
], GanttComponent.prototype, "cellDblClick", void 0);
|
|
1018
|
+
tslib_1.__decorate([
|
|
1019
|
+
core_1.Output(),
|
|
1020
|
+
tslib_1.__metadata("design:type", core_1.EventEmitter)
|
|
1021
|
+
], GanttComponent.prototype, "cellClose", void 0);
|
|
1022
|
+
tslib_1.__decorate([
|
|
1023
|
+
core_1.Output(),
|
|
1024
|
+
tslib_1.__metadata("design:type", core_1.EventEmitter)
|
|
1025
|
+
], GanttComponent.prototype, "taskDelete", void 0);
|
|
744
1026
|
tslib_1.__decorate([
|
|
745
1027
|
core_1.Output(),
|
|
746
1028
|
tslib_1.__metadata("design:type", core_1.EventEmitter)
|
|
747
1029
|
], GanttComponent.prototype, "rowCollapse", void 0);
|
|
1030
|
+
tslib_1.__decorate([
|
|
1031
|
+
core_1.Output(),
|
|
1032
|
+
tslib_1.__metadata("design:type", core_1.EventEmitter)
|
|
1033
|
+
], GanttComponent.prototype, "remove", void 0);
|
|
1034
|
+
tslib_1.__decorate([
|
|
1035
|
+
core_1.Output(),
|
|
1036
|
+
tslib_1.__metadata("design:type", core_1.EventEmitter)
|
|
1037
|
+
], GanttComponent.prototype, "cancel", void 0);
|
|
1038
|
+
tslib_1.__decorate([
|
|
1039
|
+
core_1.Output(),
|
|
1040
|
+
tslib_1.__metadata("design:type", core_1.EventEmitter)
|
|
1041
|
+
], GanttComponent.prototype, "save", void 0);
|
|
748
1042
|
tslib_1.__decorate([
|
|
749
1043
|
core_1.Output(),
|
|
750
1044
|
tslib_1.__metadata("design:type", core_1.EventEmitter)
|
|
@@ -792,7 +1086,9 @@ var GanttComponent = /** @class */ (function () {
|
|
|
792
1086
|
GanttComponent = GanttComponent_1 = tslib_1.__decorate([
|
|
793
1087
|
core_1.Component({
|
|
794
1088
|
selector: 'kendo-gantt',
|
|
1089
|
+
exportAs: 'kendoGantt',
|
|
795
1090
|
providers: [
|
|
1091
|
+
kendo_angular_l10n_1.LocalizationService,
|
|
796
1092
|
{
|
|
797
1093
|
provide: kendo_angular_treelist_1.DataBoundTreeComponent,
|
|
798
1094
|
useExisting: core_1.forwardRef(function () { return GanttComponent_1; })
|
|
@@ -808,16 +1104,21 @@ var GanttComponent = /** @class */ (function () {
|
|
|
808
1104
|
scroll_sync_service_1.ScrollSyncService,
|
|
809
1105
|
dependency_dom_service_1.DependencyDomService,
|
|
810
1106
|
mapping_service_1.MappingService,
|
|
811
|
-
option_changes_service_1.OptionChangesService
|
|
1107
|
+
option_changes_service_1.OptionChangesService,
|
|
1108
|
+
edit_service_1.EditService
|
|
812
1109
|
],
|
|
813
|
-
template: "\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 [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 >\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 ></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 "
|
|
1110
|
+
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 [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 (cellClick)=\"handleCellClick($event)\"\n (cellClose)=\"handleCellClose($event)\"\n [kendoEventsOutsideAngular]=\"{\n dblclick: handleDoubleClick\n }\">\n <kendo-treelist-messages [kendoGanttTreeListMessages]=\"localizationService\"></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 [kendoEventsOutsideAngular]=\"{\n dblclick: handleTimelineDblClick,\n mousedown: handleTimelineMouseDown\n }\"\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 "
|
|
814
1111
|
}),
|
|
815
1112
|
tslib_1.__metadata("design:paramtypes", [timeline_view_service_1.TimelineViewService,
|
|
816
1113
|
scroll_sync_service_1.ScrollSyncService,
|
|
817
1114
|
core_1.Renderer2,
|
|
818
1115
|
mapping_service_1.MappingService,
|
|
819
1116
|
option_changes_service_1.OptionChangesService,
|
|
820
|
-
dependency_dom_service_1.DependencyDomService
|
|
1117
|
+
dependency_dom_service_1.DependencyDomService,
|
|
1118
|
+
edit_service_1.EditService,
|
|
1119
|
+
kendo_angular_l10n_1.LocalizationService,
|
|
1120
|
+
core_1.ElementRef,
|
|
1121
|
+
core_1.NgZone])
|
|
821
1122
|
], GanttComponent);
|
|
822
1123
|
return GanttComponent;
|
|
823
1124
|
}());
|
package/dist/npm/gantt.module.js
CHANGED
|
@@ -10,6 +10,7 @@ var common_1 = require("@angular/common");
|
|
|
10
10
|
var kendo_angular_layout_1 = require("@progress/kendo-angular-layout");
|
|
11
11
|
var kendo_angular_treelist_1 = require("@progress/kendo-angular-treelist");
|
|
12
12
|
var kendo_angular_buttons_1 = require("@progress/kendo-angular-buttons");
|
|
13
|
+
var kendo_angular_dialog_1 = require("@progress/kendo-angular-dialog");
|
|
13
14
|
var gantt_component_1 = require("./gantt.component");
|
|
14
15
|
var gantt_timeline_component_1 = require("./timeline/gantt-timeline.component");
|
|
15
16
|
var gantt_tasks_table_body_component_1 = require("./rendering/gantt-tasks-table-body.component");
|
|
@@ -31,11 +32,28 @@ var columns_1 = require("./columns/columns");
|
|
|
31
32
|
var timeline_day_view_component_1 = require("./timeline/timeline-day-view.component");
|
|
32
33
|
var timeline_week_view_component_1 = require("./timeline/timeline-week-view.component");
|
|
33
34
|
var timeline_month_view_component_1 = require("./timeline/timeline-month-view.component");
|
|
35
|
+
var edit_dialog_component_1 = require("./editing/edit-dialog.component");
|
|
36
|
+
var forms_1 = require("@angular/forms");
|
|
37
|
+
var kendo_angular_label_1 = require("@progress/kendo-angular-label");
|
|
38
|
+
var kendo_angular_inputs_1 = require("@progress/kendo-angular-inputs");
|
|
39
|
+
var kendo_angular_dateinputs_1 = require("@progress/kendo-angular-dateinputs");
|
|
40
|
+
var custom_messages_component_1 = require("./localization/custom-messages.component");
|
|
41
|
+
var kendo_angular_l10n_1 = require("@progress/kendo-angular-l10n");
|
|
42
|
+
var localized_messages_directive_1 = require("./localization/localized-messages.directive");
|
|
43
|
+
var treelist_messages_directive_1 = require("./localization/treelist-messages.directive");
|
|
44
|
+
var kendo_angular_common_1 = require("@progress/kendo-angular-common");
|
|
34
45
|
var IMPORTED_MODULES = [
|
|
35
46
|
common_1.CommonModule,
|
|
47
|
+
forms_1.ReactiveFormsModule,
|
|
48
|
+
kendo_angular_label_1.LabelModule,
|
|
49
|
+
kendo_angular_inputs_1.InputsModule,
|
|
50
|
+
kendo_angular_dateinputs_1.DateInputsModule,
|
|
51
|
+
kendo_angular_buttons_1.ButtonsModule,
|
|
36
52
|
kendo_angular_layout_1.SplitterModule,
|
|
37
53
|
kendo_angular_treelist_1.TreeListModule,
|
|
38
|
-
kendo_angular_buttons_1.ButtonsModule
|
|
54
|
+
kendo_angular_buttons_1.ButtonsModule,
|
|
55
|
+
kendo_angular_dialog_1.DialogModule,
|
|
56
|
+
kendo_angular_common_1.EventsModule
|
|
39
57
|
];
|
|
40
58
|
var DECLARATIONS = [
|
|
41
59
|
gantt_component_1.GanttComponent,
|
|
@@ -59,6 +77,7 @@ var DECLARATIONS = [
|
|
|
59
77
|
columns_1.FilterMenuTemplateDirective,
|
|
60
78
|
columns_1.FilterCellTemplateDirective,
|
|
61
79
|
columns_1.CellTemplateDirective,
|
|
80
|
+
columns_1.EditTemplateDirective,
|
|
62
81
|
columns_1.ColumnMenuTemplateDirective,
|
|
63
82
|
columns_1.HeaderTemplateDirective,
|
|
64
83
|
columns_1.FooterTemplateDirective,
|
|
@@ -66,10 +85,42 @@ var DECLARATIONS = [
|
|
|
66
85
|
gantt_dependency_directive_1.GanttDependencyDirective,
|
|
67
86
|
timeline_day_view_component_1.TimelineDayViewComponent,
|
|
68
87
|
timeline_week_view_component_1.TimelineWeekViewComponent,
|
|
69
|
-
timeline_month_view_component_1.TimelineMonthViewComponent
|
|
88
|
+
timeline_month_view_component_1.TimelineMonthViewComponent,
|
|
89
|
+
edit_dialog_component_1.EditDialogComponent,
|
|
90
|
+
custom_messages_component_1.CustomMessagesComponent,
|
|
91
|
+
localized_messages_directive_1.LocalizedMessagesDirective,
|
|
92
|
+
treelist_messages_directive_1.GanttTreeListMessagesDirective
|
|
70
93
|
];
|
|
71
94
|
/**
|
|
72
|
-
*
|
|
95
|
+
* Represents the [NgModule]({{ site.data.urls.angular['ngmoduleapi'] }})
|
|
96
|
+
* definition for the Gantt component.
|
|
97
|
+
*
|
|
98
|
+
* @example
|
|
99
|
+
*
|
|
100
|
+
* ```ts-no-run
|
|
101
|
+
* // Import the Gantt module
|
|
102
|
+
* import { GanttModule } from '@progress/kendo-angular-gantt';
|
|
103
|
+
*
|
|
104
|
+
* // The browser platform with a compiler
|
|
105
|
+
* import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
|
|
106
|
+
*
|
|
107
|
+
* import { NgModule } from '@angular/core';
|
|
108
|
+
*
|
|
109
|
+
* // Import the app component
|
|
110
|
+
* import { AppComponent } from './app.component';
|
|
111
|
+
*
|
|
112
|
+
* // Define the app module
|
|
113
|
+
* _@NgModule({
|
|
114
|
+
* declarations: [AppComponent], // declare app component
|
|
115
|
+
* imports: [BrowserModule, GanttModule], // import Gantt module
|
|
116
|
+
* bootstrap: [AppComponent]
|
|
117
|
+
* })
|
|
118
|
+
* export class AppModule {}
|
|
119
|
+
*
|
|
120
|
+
* // Compile and launch the module
|
|
121
|
+
* platformBrowserDynamic().bootstrapModule(AppModule);
|
|
122
|
+
*
|
|
123
|
+
* ```
|
|
73
124
|
*/
|
|
74
125
|
var GanttModule = /** @class */ (function () {
|
|
75
126
|
function GanttModule() {
|
|
@@ -78,7 +129,11 @@ var GanttModule = /** @class */ (function () {
|
|
|
78
129
|
core_1.NgModule({
|
|
79
130
|
imports: IMPORTED_MODULES.slice(),
|
|
80
131
|
declarations: DECLARATIONS.slice(),
|
|
81
|
-
exports: DECLARATIONS.slice()
|
|
132
|
+
exports: DECLARATIONS.slice(),
|
|
133
|
+
providers: [{
|
|
134
|
+
provide: kendo_angular_l10n_1.L10N_PREFIX,
|
|
135
|
+
useValue: 'kendo.gantt'
|
|
136
|
+
}]
|
|
82
137
|
})
|
|
83
138
|
], GanttModule);
|
|
84
139
|
return GanttModule;
|
package/dist/npm/index.js
CHANGED
|
@@ -17,6 +17,18 @@ var dependency_dom_service_1 = require("./dependencies/dependency-dom.service");
|
|
|
17
17
|
exports.DependencyDomService = dependency_dom_service_1.DependencyDomService
|
|
18
18
|
var gantt_dependency_directive_1 = require("./dependencies/gantt-dependency.directive");
|
|
19
19
|
exports.GanttDependencyDirective = gantt_dependency_directive_1.GanttDependencyDirective
|
|
20
|
+
var edit_dialog_component_1 = require("./editing/edit-dialog.component");
|
|
21
|
+
exports.EditDialogComponent = edit_dialog_component_1.EditDialogComponent
|
|
22
|
+
var edit_service_1 = require("./editing/edit.service");
|
|
23
|
+
exports.EditService = edit_service_1.EditService
|
|
24
|
+
var custom_messages_component_1 = require("./localization/custom-messages.component");
|
|
25
|
+
exports.CustomMessagesComponent = custom_messages_component_1.CustomMessagesComponent
|
|
26
|
+
var localized_messages_directive_1 = require("./localization/localized-messages.directive");
|
|
27
|
+
exports.LocalizedMessagesDirective = localized_messages_directive_1.LocalizedMessagesDirective
|
|
28
|
+
var messages_1 = require("./localization/messages");
|
|
29
|
+
exports.Messages = messages_1.Messages
|
|
30
|
+
var treelist_messages_directive_1 = require("./localization/treelist-messages.directive");
|
|
31
|
+
exports.GanttTreeListMessagesDirective = treelist_messages_directive_1.GanttTreeListMessagesDirective
|
|
20
32
|
var gantt_header_table_body_component_1 = require("./rendering/gantt-header-table-body.component");
|
|
21
33
|
exports.GanttHeaderTableBodyComponent = gantt_header_table_body_component_1.GanttHeaderTableBodyComponent
|
|
22
34
|
var gantt_milestone_task_component_1 = require("./rendering/gantt-milestone-task.component");
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**-----------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright © 2021 Progress Software Corporation. All rights reserved.
|
|
3
|
+
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
+
*-------------------------------------------------------------------------------------------*/
|
|
5
|
+
"use strict";
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
var tslib_1 = require("tslib");
|
|
8
|
+
var core_1 = require("@angular/core");
|
|
9
|
+
var kendo_angular_l10n_1 = require("@progress/kendo-angular-l10n");
|
|
10
|
+
var messages_1 = require("./messages");
|
|
11
|
+
/**
|
|
12
|
+
* Custom component messages override default component messages
|
|
13
|
+
* ([see example]({% slug globalization_treelist %}#toc-localization)).
|
|
14
|
+
*/
|
|
15
|
+
var CustomMessagesComponent = /** @class */ (function (_super) {
|
|
16
|
+
tslib_1.__extends(CustomMessagesComponent, _super);
|
|
17
|
+
function CustomMessagesComponent(service) {
|
|
18
|
+
var _this = _super.call(this) || this;
|
|
19
|
+
_this.service = service;
|
|
20
|
+
return _this;
|
|
21
|
+
}
|
|
22
|
+
CustomMessagesComponent_1 = CustomMessagesComponent;
|
|
23
|
+
Object.defineProperty(CustomMessagesComponent.prototype, "override", {
|
|
24
|
+
get: function () {
|
|
25
|
+
return true;
|
|
26
|
+
},
|
|
27
|
+
enumerable: true,
|
|
28
|
+
configurable: true
|
|
29
|
+
});
|
|
30
|
+
var CustomMessagesComponent_1;
|
|
31
|
+
CustomMessagesComponent = CustomMessagesComponent_1 = tslib_1.__decorate([
|
|
32
|
+
core_1.Component({
|
|
33
|
+
providers: [
|
|
34
|
+
{
|
|
35
|
+
provide: messages_1.Messages,
|
|
36
|
+
useExisting: core_1.forwardRef(function () { return CustomMessagesComponent_1; })
|
|
37
|
+
}
|
|
38
|
+
],
|
|
39
|
+
selector: 'kendo-gantt-messages',
|
|
40
|
+
template: ""
|
|
41
|
+
}),
|
|
42
|
+
tslib_1.__metadata("design:paramtypes", [kendo_angular_l10n_1.LocalizationService])
|
|
43
|
+
], CustomMessagesComponent);
|
|
44
|
+
return CustomMessagesComponent;
|
|
45
|
+
}(messages_1.Messages));
|
|
46
|
+
exports.CustomMessagesComponent = CustomMessagesComponent;
|