@progress/kendo-angular-gantt 0.2.1-dev.202112081924 → 0.3.0-dev.202112141015
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 +1 -1
- package/dist/cdn/main.js +2 -2
- package/dist/es/editing/add-task.component.js +94 -0
- package/dist/es/editing/edit.service.js +1 -0
- package/dist/es/expanded-state/expandable.directive.js +4 -6
- package/dist/es/gantt.component.js +68 -20
- package/dist/es/gantt.module.js +2 -2
- package/dist/es/index.js +2 -1
- package/dist/es/localization/messages.js +45 -1
- package/dist/es/models/events/{add-event.interface.js → task-add-event.interface.js} +0 -0
- package/dist/es/models/models.js +1 -0
- package/dist/es/models/{toolbar-position.js → toolbar-settings.js} +0 -0
- package/dist/es/package-metadata.js +1 -1
- package/dist/es/rendering/gantt-tasks-table-body.component.js +2 -2
- package/dist/es/timeline/timeline-base-view.service.js +12 -3
- package/dist/es/toolbar/toolbar.component.js +9 -1
- package/dist/es2015/editing/add-task.component.d.ts +45 -0
- package/dist/es2015/editing/add-task.component.js +102 -0
- package/dist/es2015/editing/edit.service.d.ts +3 -0
- package/dist/es2015/editing/edit.service.js +1 -0
- package/dist/es2015/expanded-state/expandable.directive.d.ts +1 -2
- package/dist/es2015/expanded-state/expandable.directive.js +2 -7
- package/dist/es2015/gantt.component.d.ts +25 -12
- package/dist/es2015/gantt.component.js +141 -20
- package/dist/es2015/gantt.module.js +2 -2
- package/dist/es2015/index.d.ts +2 -1
- package/dist/es2015/index.js +2 -1
- package/dist/es2015/index.metadata.json +1 -1
- package/dist/es2015/localization/messages.d.ts +46 -2
- package/dist/es2015/localization/messages.js +45 -1
- package/dist/es2015/models/events/cell-close-event.interface.d.ts +1 -1
- package/dist/es2015/models/events/task-add-event.interface.d.ts +31 -0
- package/dist/es2015/models/events/{add-event.interface.js → task-add-event.interface.js} +0 -0
- package/dist/es2015/models/events/task-edit-event.interface.d.ts +2 -2
- package/dist/es2015/models/models.d.ts +5 -1
- package/dist/es2015/models/models.js +1 -0
- package/dist/es2015/models/toolbar-settings.d.ts +29 -0
- package/dist/es2015/models/{toolbar-position.js → toolbar-settings.js} +0 -0
- package/dist/es2015/package-metadata.js +1 -1
- package/dist/es2015/rendering/gantt-tasks-table-body.component.js +2 -2
- package/dist/es2015/timeline/timeline-base-view.service.d.ts +12 -0
- package/dist/es2015/timeline/timeline-base-view.service.js +12 -3
- package/dist/es2015/toolbar/toolbar-template.directive.d.ts +1 -1
- package/dist/es2015/toolbar/toolbar.component.d.ts +2 -0
- package/dist/es2015/toolbar/toolbar.component.js +10 -0
- package/dist/fesm2015/index.js +334 -45
- package/dist/fesm5/index.js +257 -46
- package/dist/npm/editing/add-task.component.js +96 -0
- package/dist/npm/editing/edit.service.js +1 -0
- package/dist/npm/expanded-state/expandable.directive.js +3 -5
- package/dist/npm/gantt.component.js +68 -20
- package/dist/npm/gantt.module.js +2 -2
- package/dist/npm/index.js +4 -2
- package/dist/npm/localization/messages.js +45 -1
- package/dist/npm/models/events/{add-event.interface.js → task-add-event.interface.js} +0 -0
- package/dist/npm/models/models.js +2 -0
- package/dist/npm/models/{toolbar-position.js → toolbar-settings.js} +0 -0
- package/dist/npm/package-metadata.js +1 -1
- package/dist/npm/rendering/gantt-tasks-table-body.component.js +1 -1
- package/dist/npm/timeline/timeline-base-view.service.js +17 -8
- package/dist/npm/toolbar/toolbar.component.js +9 -1
- package/dist/systemjs/kendo-angular-gantt.js +1 -1
- package/package.json +3 -3
- package/dist/es/localization/treelist-messages.directive.js +0 -31
- package/dist/es2015/localization/treelist-messages.directive.d.ts +0 -14
- package/dist/es2015/localization/treelist-messages.directive.js +0 -29
- package/dist/es2015/models/events/add-event.interface.d.ts +0 -16
- package/dist/es2015/models/toolbar-position.d.ts +0 -9
- package/dist/npm/localization/treelist-messages.directive.js +0 -33
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**-----------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright © 2021 Progress Software Corporation. All rights reserved.
|
|
3
|
+
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
+
*-------------------------------------------------------------------------------------------*/
|
|
5
|
+
import * as tslib_1 from "tslib";
|
|
6
|
+
import { Component, Input, NgZone } from '@angular/core';
|
|
7
|
+
import { LocalizationService } from '@progress/kendo-angular-l10n';
|
|
8
|
+
import { EditService } from './edit.service';
|
|
9
|
+
/**
|
|
10
|
+
* The UI for adding new items to the Gantt.
|
|
11
|
+
* Use it within a toolbar template to provide a custom icon or list of options.
|
|
12
|
+
*/
|
|
13
|
+
var GanttAddTaskComponent = /** @class */ (function () {
|
|
14
|
+
function GanttAddTaskComponent(localizationService, editService, ngZone) {
|
|
15
|
+
this.localizationService = localizationService;
|
|
16
|
+
this.editService = editService;
|
|
17
|
+
this.ngZone = ngZone;
|
|
18
|
+
/**
|
|
19
|
+
* Sets the data of the DropDownButton.
|
|
20
|
+
* > The data has to be provided in an array-like list.
|
|
21
|
+
*/
|
|
22
|
+
this.data = [{
|
|
23
|
+
text: this.getText('addChildText'),
|
|
24
|
+
type: 'addChild'
|
|
25
|
+
}, {
|
|
26
|
+
text: this.getText('addAboveText'),
|
|
27
|
+
type: 'addAbove'
|
|
28
|
+
}, {
|
|
29
|
+
text: this.getText('addBelowText'),
|
|
30
|
+
type: 'addBelow'
|
|
31
|
+
}];
|
|
32
|
+
/**
|
|
33
|
+
* Defines the name of an existing icon in a Kendo UI theme.
|
|
34
|
+
* @default 'plus'
|
|
35
|
+
*/
|
|
36
|
+
this.icon = 'plus';
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* @hidden
|
|
40
|
+
*/
|
|
41
|
+
GanttAddTaskComponent.prototype.getText = function (message) {
|
|
42
|
+
return this.localizationService.get(message);
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* @hidden
|
|
46
|
+
*/
|
|
47
|
+
GanttAddTaskComponent.prototype.handleOpen = function (e) {
|
|
48
|
+
if (!this.editService.getSelectedItem()) {
|
|
49
|
+
e.preventDefault();
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
/**
|
|
53
|
+
* @hidden
|
|
54
|
+
*/
|
|
55
|
+
GanttAddTaskComponent.prototype.handleMouseClick = function () {
|
|
56
|
+
var _this = this;
|
|
57
|
+
if (!this.editService.getSelectedItem()) {
|
|
58
|
+
this.ngZone.run(function () {
|
|
59
|
+
_this.editService.addEvent.next({
|
|
60
|
+
selectedItem: null,
|
|
61
|
+
actionType: 'addTask'
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* @hidden
|
|
68
|
+
*/
|
|
69
|
+
GanttAddTaskComponent.prototype.handleItemClick = function (e) {
|
|
70
|
+
this.editService.addEvent.next({
|
|
71
|
+
actionType: e.type,
|
|
72
|
+
selectedItem: null
|
|
73
|
+
});
|
|
74
|
+
};
|
|
75
|
+
tslib_1.__decorate([
|
|
76
|
+
Input(),
|
|
77
|
+
tslib_1.__metadata("design:type", Array)
|
|
78
|
+
], GanttAddTaskComponent.prototype, "data", void 0);
|
|
79
|
+
tslib_1.__decorate([
|
|
80
|
+
Input(),
|
|
81
|
+
tslib_1.__metadata("design:type", String)
|
|
82
|
+
], GanttAddTaskComponent.prototype, "icon", void 0);
|
|
83
|
+
GanttAddTaskComponent = tslib_1.__decorate([
|
|
84
|
+
Component({
|
|
85
|
+
selector: 'kendo-gantt-add-task',
|
|
86
|
+
template: "\n <kendo-dropdownbutton\n [data]=\"data\"\n [icon]=\"icon\"\n [kendoEventsOutsideAngular]=\"{ click: handleMouseClick }\"\n [scope]=\"this\"\n (itemClick)=\"handleItemClick($event)\"\n (open)=\"handleOpen($event)\">\n {{ getText('addTaskText') }}\n </kendo-dropdownbutton>\n "
|
|
87
|
+
}),
|
|
88
|
+
tslib_1.__metadata("design:paramtypes", [LocalizationService,
|
|
89
|
+
EditService,
|
|
90
|
+
NgZone])
|
|
91
|
+
], GanttAddTaskComponent);
|
|
92
|
+
return GanttAddTaskComponent;
|
|
93
|
+
}());
|
|
94
|
+
export { GanttAddTaskComponent };
|
|
@@ -13,6 +13,7 @@ var EditService = /** @class */ (function () {
|
|
|
13
13
|
this.showEditingDialog = new Subject();
|
|
14
14
|
this.showConfirmationDialog = new Subject();
|
|
15
15
|
this.editEvent = new Subject();
|
|
16
|
+
this.addEvent = new Subject();
|
|
16
17
|
}
|
|
17
18
|
EditService.prototype.createEditDialog = function (dataItem, formGroup) {
|
|
18
19
|
this.dataItem = dataItem;
|
|
@@ -4,15 +4,14 @@
|
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
import * as tslib_1 from "tslib";
|
|
6
6
|
import { Directive, Input } from '@angular/core';
|
|
7
|
-
import { ExpandableDirective
|
|
7
|
+
import { ExpandableDirective } from '@progress/kendo-angular-treelist';
|
|
8
8
|
/**
|
|
9
9
|
* A directive which controls the expanded state of the items.
|
|
10
10
|
*/
|
|
11
11
|
var GanttExpandableDirective = /** @class */ (function (_super) {
|
|
12
12
|
tslib_1.__extends(GanttExpandableDirective, _super);
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
return _super.call(this, gantt) || this;
|
|
13
|
+
function GanttExpandableDirective() {
|
|
14
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
16
15
|
}
|
|
17
16
|
tslib_1.__decorate([
|
|
18
17
|
Input(),
|
|
@@ -22,8 +21,7 @@ var GanttExpandableDirective = /** @class */ (function (_super) {
|
|
|
22
21
|
Directive({
|
|
23
22
|
exportAs: 'kendoGanttExpandable',
|
|
24
23
|
selector: '[kendoGanttExpandable]'
|
|
25
|
-
})
|
|
26
|
-
tslib_1.__metadata("design:paramtypes", [ExpandableTreeComponent])
|
|
24
|
+
})
|
|
27
25
|
], GanttExpandableDirective);
|
|
28
26
|
return GanttExpandableDirective;
|
|
29
27
|
}(ExpandableDirective));
|
|
@@ -120,7 +120,7 @@ var GanttComponent = /** @class */ (function () {
|
|
|
120
120
|
/**
|
|
121
121
|
* Provides a callback that determines if the given task is selected ([see example]({% slug selection_gantt %}#toc-custom-selection))
|
|
122
122
|
*
|
|
123
|
-
* > The [`selectable`]({% slug
|
|
123
|
+
* > The [`selectable`]({% slug api_gantt_ganttcomponent %}#toc-selectable) prop has to be set to `true` in order for this callback to be executed.
|
|
124
124
|
*/
|
|
125
125
|
this.isSelected = isSelected;
|
|
126
126
|
/**
|
|
@@ -134,21 +134,10 @@ var GanttComponent = /** @class */ (function () {
|
|
|
134
134
|
/**
|
|
135
135
|
* Enables or disables the Gantt selection mechanism ([see example]({% slug selection_gantt %}#toc-custom-selection)).
|
|
136
136
|
*
|
|
137
|
-
* > When set to `true`, the [`isSelected`]({% slug
|
|
137
|
+
* > When set to `true`, the [`isSelected`]({% slug api_gantt_ganttcomponent %}#toc-isselected) callback has to be provided.
|
|
138
138
|
* > When applied, the [`SelectableDirective`]({% slug api_gantt_selectabledirective %}) sets `selectable` to `true` internally.
|
|
139
139
|
*/
|
|
140
140
|
this.selectable = false;
|
|
141
|
-
/**
|
|
142
|
-
* The position of the toolbar.
|
|
143
|
-
*
|
|
144
|
-
* The possible values are:
|
|
145
|
-
* - `top`—Positions the toolbar above the Gantt panes.
|
|
146
|
-
* - `bottom`—Positions the toolbar below the Gantt panes.
|
|
147
|
-
* - `both`—Displays two toolbar instances. Positions the first one above,
|
|
148
|
-
* and the second one - below the Gantt panes.
|
|
149
|
-
* - `none`—No toolbar is rendered.
|
|
150
|
-
*/
|
|
151
|
-
this.toolbarPosition = 'top';
|
|
152
141
|
/**
|
|
153
142
|
* Gets or sets the callback function that retrieves the child items for a particular item.
|
|
154
143
|
*/
|
|
@@ -258,6 +247,10 @@ var GanttComponent = /** @class */ (function () {
|
|
|
258
247
|
* Fires when the user saves an edited task.
|
|
259
248
|
*/
|
|
260
249
|
this.save = new EventEmitter();
|
|
250
|
+
/**
|
|
251
|
+
* Fires when the user adds a task.
|
|
252
|
+
*/
|
|
253
|
+
this.taskAdd = new EventEmitter();
|
|
261
254
|
/**
|
|
262
255
|
* Fires when the sorting of the Gantt is changed.
|
|
263
256
|
* You have to handle the event yourself and sort the data.
|
|
@@ -335,6 +328,11 @@ var GanttComponent = /** @class */ (function () {
|
|
|
335
328
|
this._rowClass = rowClassCallback;
|
|
336
329
|
this._taskClass = taskClassCallback;
|
|
337
330
|
this._activeView = DEFAULT_VIEW;
|
|
331
|
+
this._toolbarSettings = {
|
|
332
|
+
position: 'top',
|
|
333
|
+
addTaskTool: 'none',
|
|
334
|
+
viewSelectorTool: 'top'
|
|
335
|
+
};
|
|
338
336
|
this.rtl = false;
|
|
339
337
|
this.optionChangesSubscriptions = new Subscription();
|
|
340
338
|
this.editServiceSubscription = new Subscription();
|
|
@@ -345,6 +343,7 @@ var GanttComponent = /** @class */ (function () {
|
|
|
345
343
|
this.optionChangesSubscriptions.add(this.optionChangesService.columnChanges.subscribe(function () {
|
|
346
344
|
_this.treeList.columns.notifyOnChanges();
|
|
347
345
|
}));
|
|
346
|
+
this.editService.getSelectedItem = this.getFirstSelectedItem.bind(this);
|
|
348
347
|
this.editServiceSubscription.add(this.editService.showEditingDialog.subscribe(function (show) { return _this.showEditingDialog = show; }));
|
|
349
348
|
this.editServiceSubscription.add(this.editService.showConfirmationDialog.subscribe(function () { return _this.taskDelete.emit(); }));
|
|
350
349
|
this.editServiceSubscription.add(this.editService.editEvent.subscribe(function (args) {
|
|
@@ -356,7 +355,14 @@ var GanttComponent = /** @class */ (function () {
|
|
|
356
355
|
_this.showConfirmationDialog = _this.showEditingDialog = false;
|
|
357
356
|
_this.editService.dataItem = _this.editService.formGroup = null;
|
|
358
357
|
_this.updateView();
|
|
359
|
-
|
|
358
|
+
}));
|
|
359
|
+
this.editServiceSubscription.add(this.editService.addEvent.subscribe(function (args) {
|
|
360
|
+
var selectedItem = _this.getFirstSelectedItem();
|
|
361
|
+
_this.taskAdd.emit({
|
|
362
|
+
actionType: args.actionType,
|
|
363
|
+
selectedItem: selectedItem ? getEditItem(selectedItem, _this.treeList.view.data, _this.mapper) : null
|
|
364
|
+
});
|
|
365
|
+
_this.updateView();
|
|
360
366
|
}));
|
|
361
367
|
this.localizationSubscription = this.localizationService.changes.subscribe(function (_a) {
|
|
362
368
|
var rtl = _a.rtl;
|
|
@@ -462,6 +468,33 @@ var GanttComponent = /** @class */ (function () {
|
|
|
462
468
|
enumerable: true,
|
|
463
469
|
configurable: true
|
|
464
470
|
});
|
|
471
|
+
Object.defineProperty(GanttComponent.prototype, "toolbarSettings", {
|
|
472
|
+
get: function () {
|
|
473
|
+
return this._toolbarSettings;
|
|
474
|
+
},
|
|
475
|
+
/**
|
|
476
|
+
* The toolbar configuration. Defines the position and content of the toolbar(s).
|
|
477
|
+
* The available properties are `position`, `addTaskTool`, and `viewSelectorTool`.
|
|
478
|
+
* All are optional and default to `top`.
|
|
479
|
+
*
|
|
480
|
+
* The possible values for each option are:
|
|
481
|
+
* - `top`—Positions the toolbar above the Gantt panes. Renders the respective tool in the top toolbar.
|
|
482
|
+
* - `bottom`—Positions the toolbar below the Gantt panes. Renders the respective tool in the bottom toolbar.
|
|
483
|
+
* - `both`—Displays two toolbar instances. Positions the first one above,
|
|
484
|
+
* and the second one - below the Gantt panes. Renders the respective tool in the both toolbars.
|
|
485
|
+
* - `none`—No toolbar is rendered when used for setting `position`.
|
|
486
|
+
* No add task or view selector tool is rendered when used for setting `addTaskTool` or `viewSelectorTool`.
|
|
487
|
+
*/
|
|
488
|
+
set: function (value) {
|
|
489
|
+
this._toolbarSettings = {
|
|
490
|
+
position: value.position || 'top',
|
|
491
|
+
addTaskTool: value.addTaskTool || 'none',
|
|
492
|
+
viewSelectorTool: value.viewSelectorTool || 'top'
|
|
493
|
+
};
|
|
494
|
+
},
|
|
495
|
+
enumerable: true,
|
|
496
|
+
configurable: true
|
|
497
|
+
});
|
|
465
498
|
Object.defineProperty(GanttComponent.prototype, "timelinePaneOptions", {
|
|
466
499
|
get: function () {
|
|
467
500
|
return tslib_1.__assign({}, this._timelinePaneOptions, { size: this.treeListPaneOptions.collapsed ? '100%' : this._timelinePaneOptions.size });
|
|
@@ -696,12 +729,17 @@ var GanttComponent = /** @class */ (function () {
|
|
|
696
729
|
}
|
|
697
730
|
};
|
|
698
731
|
/**
|
|
699
|
-
*
|
|
732
|
+
* Forces the TreeList to evaluate if some data items have changed and re-renders the rows information, if needed.
|
|
733
|
+
* Recalculates and re-renders the Timeline period, if needed.
|
|
734
|
+
* Redraws changed dependencies, if needed.
|
|
735
|
+
* Executes all row-related callbacks anew.
|
|
700
736
|
*/
|
|
701
737
|
GanttComponent.prototype.updateView = function () {
|
|
702
738
|
if (isPresent(this.treeList)) {
|
|
703
739
|
this.treeList.updateView();
|
|
704
740
|
}
|
|
741
|
+
this.loadTimelineData();
|
|
742
|
+
this.dependencyDomService.notifyChanges();
|
|
705
743
|
};
|
|
706
744
|
/**
|
|
707
745
|
* Opens the task editing dialog.
|
|
@@ -781,7 +819,7 @@ var GanttComponent = /** @class */ (function () {
|
|
|
781
819
|
* @hidden
|
|
782
820
|
*/
|
|
783
821
|
GanttComponent.prototype.showToolbar = function (position) {
|
|
784
|
-
return this.
|
|
822
|
+
return this.toolbarSettings.position !== 'none' && ([position, 'both'].indexOf(this.toolbarSettings.position) > -1);
|
|
785
823
|
};
|
|
786
824
|
/**
|
|
787
825
|
* @hidden
|
|
@@ -949,7 +987,7 @@ var GanttComponent = /** @class */ (function () {
|
|
|
949
987
|
items: [dataItem],
|
|
950
988
|
sender: this
|
|
951
989
|
});
|
|
952
|
-
this.updateView();
|
|
990
|
+
this.treeList.updateView();
|
|
953
991
|
};
|
|
954
992
|
GanttComponent.prototype.updateTreeListGroupClass = function (columns) {
|
|
955
993
|
if (columns === void 0) { columns = this.columns; }
|
|
@@ -989,6 +1027,11 @@ var GanttComponent = /** @class */ (function () {
|
|
|
989
1027
|
var shouldToggleSelection = ctrlKey || metaKey;
|
|
990
1028
|
return (shouldToggleSelection && this.isSelected(dataItem)) ? 'remove' : 'select';
|
|
991
1029
|
};
|
|
1030
|
+
GanttComponent.prototype.getFirstSelectedItem = function () {
|
|
1031
|
+
var isSelectedCallback = this.isSelected || isSelected;
|
|
1032
|
+
var loadedItems = this.renderedTreeListItems || [];
|
|
1033
|
+
return loadedItems.find(isSelectedCallback);
|
|
1034
|
+
};
|
|
992
1035
|
var GanttComponent_1;
|
|
993
1036
|
tslib_1.__decorate([
|
|
994
1037
|
ViewChild(TreeListComponent, { static: true }),
|
|
@@ -1062,8 +1105,9 @@ var GanttComponent = /** @class */ (function () {
|
|
|
1062
1105
|
], GanttComponent.prototype, "selectable", void 0);
|
|
1063
1106
|
tslib_1.__decorate([
|
|
1064
1107
|
Input(),
|
|
1065
|
-
tslib_1.__metadata("design:type",
|
|
1066
|
-
|
|
1108
|
+
tslib_1.__metadata("design:type", Object),
|
|
1109
|
+
tslib_1.__metadata("design:paramtypes", [Object])
|
|
1110
|
+
], GanttComponent.prototype, "toolbarSettings", null);
|
|
1067
1111
|
tslib_1.__decorate([
|
|
1068
1112
|
Input(),
|
|
1069
1113
|
tslib_1.__metadata("design:type", Function)
|
|
@@ -1184,6 +1228,10 @@ var GanttComponent = /** @class */ (function () {
|
|
|
1184
1228
|
Output(),
|
|
1185
1229
|
tslib_1.__metadata("design:type", EventEmitter)
|
|
1186
1230
|
], GanttComponent.prototype, "save", void 0);
|
|
1231
|
+
tslib_1.__decorate([
|
|
1232
|
+
Output(),
|
|
1233
|
+
tslib_1.__metadata("design:type", EventEmitter)
|
|
1234
|
+
], GanttComponent.prototype, "taskAdd", void 0);
|
|
1187
1235
|
tslib_1.__decorate([
|
|
1188
1236
|
Output(),
|
|
1189
1237
|
tslib_1.__metadata("design:type", EventEmitter)
|
|
@@ -1260,7 +1308,7 @@ var GanttComponent = /** @class */ (function () {
|
|
|
1260
1308
|
OptionChangesService,
|
|
1261
1309
|
EditService
|
|
1262
1310
|
],
|
|
1263
|
-
template: "\n <ng-container kendoGanttLocalizedMessages\n i18n-taskDeleteLabel=\"kendo.gantt.taskDeleteLabel|The label of the task delete icon\"\n taskDeleteLabel=\"Delete\"\n\n i18n-taskEditingDialogTitle=\"kendo.gantt.taskEditingDialogTitle|The title of the task editing dialog\"\n taskEditingDialogTitle=\"Editing Task\"\n\n i18n-taskEditingDialogCloseTitle=\"kendo.gantt.taskEditingDialogCloseTitle|The title of the task editing dialog close button\"\n taskEditingDialogCloseTitle=\"Close\"\n\n i18n-confirmationDialogCloseTitle=\"kendo.gantt.confirmationDialogCloseTitle|The title of the confirmation dialog close button\"\n confirmationDialogCloseTitle=\"Close\"\n\n i18n-confirmationDialogTitle=\"kendo.gantt.confirmationDialogTitle|The title of the delete task confirmation dialog\"\n confirmationDialogTitle=\"Delete Task\"\n\n i18n-confirmationDialogContent=\"kendo.gantt.confirmationDialogContent|The content of the delete task confirmation dialog\"\n confirmationDialogContent=\"Are you sure you want to delete this task?\"\n\n i18n-deleteButtonText=\"kendo.gantt.deleteButtonText|The text of the task editing dialog 'Delete' button\"\n deleteButtonText=\"Delete\"\n\n i18n-cancelButtonText=\"kendo.gantt.cancelButtonText|The text of the task editing dialog 'Cancel' button\"\n cancelButtonText=\"Cancel\"\n\n i18n-saveButtonText=\"kendo.gantt.saveButtonText|The text of the task editing dialog 'Save' button\"\n saveButtonText=\"Save\"\n\n i18n-titleFieldInputLabel=\"kendo.gantt.titleFieldInputLabel|The label of the 'title' field input in editing mode\"\n titleFieldInputLabel=\"Title\"\n\n i18n-startFieldInputLabel=\"kendo.gantt.startFieldInputLabel|The label of the 'start' field input in editing mode\"\n startFieldInputLabel=\"Start\"\n\n i18n-endFieldInputLabel=\"kendo.gantt.endFieldInputLabel|The label of the 'end' field input in editing mode\"\n endFieldInputLabel=\"End\"\n\n i18n-completionRatioFieldInputLabel=\"kendo.gantt.completionRatioFieldInputLabel|The label of the 'completionRatio' field input in editing mode\"\n completionRatioFieldInputLabel=\"Progress\"\n\n i18n-dayViewText=\"kendo.gantt.dayViewText|The text of the day view in the ViewSelector component\"\n dayViewText=\"Day\"\n\n i18n-weekViewText=\"kendo.gantt.weekViewText|The text of the week view in the ViewSelector component\"\n weekViewText=\"Week\"\n\n i18n-monthViewText=\"kendo.gantt.monthViewText|The text of the month view in the ViewSelector component\"\n monthViewText=\"Month\"\n\n i18n-yearViewText-disabled=\"kendo.gantt.yearViewText|The text of the year view in the ViewSelector component\"\n yearViewText=\"Year\"\n\n i18n-noRecords=\"kendo.gantt.noRecords|The label visible in the TreeList when there are no records\"\n noRecords=\"No records available.\"\n\n i18n-filter=\"kendo.gantt.filter|The label of the filter cell or icon\"\n filter=\"Filter\"\n\n i18n-filterEqOperator=\"kendo.gantt.filterEqOperator|The text of the equal filter operator\"\n filterEqOperator=\"Is equal to\"\n\n i18n-filterNotEqOperator=\"kendo.gantt.filterNotEqOperator|The text of the not equal filter operator\"\n filterNotEqOperator=\"Is not equal to\"\n\n i18n-filterIsNullOperator=\"kendo.gantt.filterIsNullOperator|The text of the is null filter operator\"\n filterIsNullOperator=\"Is null\"\n\n i18n-filterIsNotNullOperator=\"kendo.gantt.filterIsNotNullOperator|The text of the is not null filter operator\"\n filterIsNotNullOperator=\"Is not null\"\n\n i18n-filterIsEmptyOperator=\"kendo.gantt.filterIsEmptyOperator|The text of the is empty filter operator\"\n filterIsEmptyOperator=\"Is empty\"\n\n i18n-filterIsNotEmptyOperator=\"kendo.gantt.filterIsNotEmptyOperator|The text of the is not empty filter operator\"\n filterIsNotEmptyOperator=\"Is not empty\"\n\n i18n-filterStartsWithOperator=\"kendo.gantt.filterStartsWithOperator|The text of the starts with filter operator\"\n filterStartsWithOperator=\"Starts with\"\n\n i18n-filterContainsOperator=\"kendo.gantt.filterContainsOperator|The text of the contains filter operator\"\n filterContainsOperator=\"Contains\"\n\n i18n-filterNotContainsOperator=\"kendo.gantt.filterNotContainsOperator|The text of the does not contain filter operator\"\n filterNotContainsOperator=\"Does not contain\"\n\n i18n-filterEndsWithOperator=\"kendo.gantt.filterEndsWithOperator|The text of the ends with filter operator\"\n filterEndsWithOperator=\"Ends with\"\n\n i18n-filterGteOperator=\"kendo.gantt.filterGteOperator|The text of the greater than or equal filter operator\"\n filterGteOperator=\"Is greater than or equal to\"\n\n i18n-filterGtOperator=\"kendo.gantt.filterGtOperator|The text of the greater than filter operator\"\n filterGtOperator=\"Is greater than\"\n\n i18n-filterLteOperator=\"kendo.gantt.filterLteOperator|The text of the less than or equal filter operator\"\n filterLteOperator=\"Is less than or equal to\"\n\n i18n-filterLtOperator=\"kendo.gantt.filterLtOperator|The text of the less than filter operator\"\n filterLtOperator=\"Is less than\"\n\n i18n-filterIsTrue=\"kendo.gantt.filterIsTrue|The text of the IsTrue boolean filter option\"\n filterIsTrue=\"Is True\"\n\n i18n-filterIsFalse=\"kendo.gantt.filterIsFalse|The text of the IsFalse boolean filter option\"\n filterIsFalse=\"Is False\"\n\n i18n-filterBooleanAll=\"kendo.gantt.filterBooleanAll|The text of the (All) boolean filter option\"\n filterBooleanAll=\"(All)\"\n\n i18n-filterAfterOrEqualOperator=\"kendo.gantt.filterAfterOrEqualOperator|The text of the after or equal date filter operator\"\n filterAfterOrEqualOperator=\"Is after or equal to\"\n\n i18n-filterAfterOperator=\"kendo.gantt.filterAfterOperator|The text of the after date filter operator\"\n filterAfterOperator=\"Is after\"\n\n i18n-filterBeforeOperator=\"kendo.gantt.filterBeforeOperator|The text of the before date filter operator\"\n filterBeforeOperator=\"Is before\"\n\n i18n-filterBeforeOrEqualOperator=\"kendo.gantt.filterBeforeOrEqualOperator|The text of the before or equal date filter operator\"\n filterBeforeOrEqualOperator=\"Is before or equal to\"\n\n i18n-filterFilterButton=\"kendo.gantt.filterFilterButton|The text of the filter button\"\n filterFilterButton=\"Filter\"\n\n i18n-filterClearButton=\"kendo.gantt.filterClearButton|The text of the clear filter button\"\n filterClearButton=\"Clear\"\n\n i18n-filterAndLogic=\"kendo.gantt.filterAndLogic|The text of the And filter logic\"\n filterAndLogic=\"And\"\n\n i18n-filterOrLogic=\"kendo.gantt.filterOrLogic|The text of the Or filter logic\"\n filterOrLogic=\"Or\"\n\n i18n-loading=\"kendo.gantt.loading|The loading text\"\n loading=\"Loading\"\n\n i18n-columnMenu=\"kendo.gantt.columnMenu|The title of the column menu icon\"\n columnMenu=\"Column Menu\"\n\n i18n-columns=\"kendo.gantt.columns|The text shown in the column menu for the columns item\"\n columns=\"Columns\"\n\n i18n-lock-disabled=\"kendo.gantt.lock|The text shown in the column menu for the lock item\"\n lock-disabled=\"Lock\"\n\n i18n-unlock-disabled=\"kendo.gantt.unlock|The text shown in the column menu for the unlock item\"\n unlock-disabled=\"Unlock\"\n\n i18n-sortable=\"kendo.gantt.sortable|The label of the sort icon\"\n sortable=\"Sortable\"\n\n i18n-sortAscending=\"kendo.gantt.sortAscending|The text shown in the column menu for the sort ascending item\"\n sortAscending=\"Sort Ascending\"\n\n i18n-sortDescending=\"kendo.gantt.sortDescending|The text shown in the column menu for the sort descending item\"\n sortDescending=\"Sort Descending\"\n\n i18n-sortedAscending=\"kendo.gantt.sortedAscending|The status announcement when a column is sorted ascending\"\n sortedAscending=\"Sorted Ascending\"\n\n i18n-sortedDescending=\"kendo.gantt.sortedDescending|The status announcement when a column is sorted descending\"\n sortedDescending=\"Sorted Descending\"\n\n i18n-sortedDefault=\"kendo.gantt.sortedDefault|The status announcement when a column is no longer sorted\"\n sortedDefault=\"Not Sorted\"\n\n i18n-columnsApply=\"kendo.gantt.columnsApply|The text shown in the column menu or column chooser for the columns apply button\"\n columnsApply=\"Apply\"\n\n i18n-columnsReset=\"kendo.gantt.columnsReset|The text shown in the column menu or column chooser for the columns reset button\"\n columnsReset=\"Reset\"></ng-container>\n <kendo-gantt-toolbar\n *ngIf=\"showToolbar('top')\"\n class=\"k-gantt-header k-toolbar k-gantt-toolbar\"\n position=\"top\"></kendo-gantt-toolbar>\n <div class=\"k-gantt-content\">\n <kendo-splitter [style.border]=\"0\">\n <kendo-splitter-pane\n class=\"k-gantt-treelist k-gantt-treelist-scrollable\"\n [collapsible]=\"treeListPaneOptions?.collapsible\"\n [collapsed]=\"treeListPaneOptions?.collapsed\"\n (collapsedChange)=\"onTreeListCollapsedChange($event)\"\n [scrollable]=\"false\">\n <kendo-treelist\n [idField]=\"taskIdField\"\n [columns]=\"columns\"\n [data]=\"data\"\n [hasChildren]=\"hasChildren\"\n [fetchChildren]=\"fetchChildren\"\n [isExpanded]=\"isExpanded\"\n [autoSize]=\"columnsAutoSize\"\n [columnMenu]=\"columnMenu\"\n [reorderable]=\"columnsReorderable\"\n [resizable]=\"columnsResizable\"\n [rowClass]=\"rowClass\"\n [isSelected]=\"isSelected\"\n [selectable]=\"selectable\"\n [sortable]=\"sortable\"\n [sort]=\"sort\"\n [filterable]=\"filterMenu\"\n [filter]=\"filter\"\n (filterChange)=\"filterChange.emit($event)\"\n (sortChange)=\"sortChange.emit($event)\"\n (dataStateChange)=\"dataStateChange.emit({\n filter: $event.filter,\n sort: $event.sort\n })\"\n (expandStateChange)=\"expandStateChange.emit($event)\"\n (expand)=\"rowExpand.emit({ dataItem: $event.dataItem })\"\n (collapse)=\"rowCollapse.emit({ dataItem: $event.dataItem })\"\n (columnReorder)=\"columnReorder.emit($event)\"\n (columnResize)=\"columnResize.emit($event)\"\n (columnVisibilityChange)=\"handleColumnVisibilityChange($event)\"\n (columnLockedChange)=\"columnLockedChange.emit($event)\"\n (selectionChange)=\"handleTreeListSelectionChange($event)\"\n (cellClick)=\"handleTreeListCellClick($event)\"\n (cellClose)=\"handleCellClose($event)\"\n [kendoEventsOutsideAngular]=\"{\n dblclick: handleTreeListDoubleClick\n }\"\n [scope]=\"this\"\n >\n <kendo-treelist-messages [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 [isTaskSelected]=\"isTaskSelected\"\n [kendoEventsOutsideAngular]=\"{\n click: handleTimelineClick,\n contextmenu: handleTimelineRightClick,\n dblclick: handleTimelineDblClick,\n mousedown: handleTimelineMouseDown\n }\"\n [scope]=\"this\"\n ></kendo-gantt-timeline>\n </kendo-splitter-pane>\n </kendo-splitter>\n </div>\n <kendo-gantt-toolbar\n *ngIf=\"showToolbar('bottom')\"\n class=\"k-gantt-footer k-toolbar k-gantt-toolbar\"\n position=\"bottom\"></kendo-gantt-toolbar>\n <kendo-gantt-edit-dialog *ngIf=\"showEditingDialog\" [formGroup]=\"editDialogFormGroup\"></kendo-gantt-edit-dialog>\n <kendo-dialog\n *ngIf=\"showConfirmationDialog\"\n [width]=\"575\"\n [height]=\"170\"\n [title]=\"getText('confirmationDialogTitle')\"\n (close)=\"showConfirmationDialog = false;\">\n <span>{{getText('confirmationDialogContent')}}</span>\n <kendo-dialog-actions layout=\"normal\">\n <kendo-treelist-spacer></kendo-treelist-spacer>\n <button kendoButton [primary]=\"true\" (click)=\"handleDeleteConfirmation()\">{{ getText('deleteButtonText') }}</button>\n <button kendoButton (click)=\"showConfirmationDialog = false;\">{{ getText('cancelButtonText') }}</button>\n </kendo-dialog-actions>\n </kendo-dialog>\n "
|
|
1311
|
+
template: "\n <ng-container kendoGanttLocalizedMessages\n i18n-taskEditingGeneralTabTitle=\"kendo.gantt.taskEditingGeneralTabTitle|The title of the 'General' tab of the editing dialog TabStrip\"\n taskEditingGeneralTabTitle=\"General\"\n\n i18n-taskEditingPredecessorsTabTitle=\"kendo.gantt.taskEditingPredecessorsTabTitle|The title of the 'Predecessors' dependencies tab of the editing dialog TabStrip\"\n taskEditingPredecessorsTabTitle=\"Predecessors\"\n\n i18n-taskEditingSuccessorsTabTitle=\"kendo.gantt.taskEditingSuccessorsTabTitle|The title of the 'Successors' dependencies tab of the editing dialog TabStrip\"\n taskEditingSuccessorsTabTitle=\"Successors\"\n\n i18n-taskEditingDependenciesAddButtonText=\"kendo.gantt.taskEditingDependenciesAddButtonText|The text of the 'Add' button in the dependencies tabs of the editing dialog TabStrip\"\n taskEditingDependenciesAddButtonText=\"Add\"\n\n i18n-taskEditingDependenciesRemoveButtonText=\"kendo.gantt.taskEditingDependenciesRemoveButtonText|The text of the 'Remove' button in the dependencies tabs of the editing dialog TabStrip\"\n taskEditingDependenciesRemoveButtonText=\"Remove\"\n\n i18n-taskEditingDependenciesGridNameColumnTitle=\"kendo.gantt.taskEditingDependenciesGridNameColumnTitle|The title of the 'Task Title' Grid column in the dependencies tabs of the editing dialog TabStrip\"\n taskEditingDependenciesGridNameColumnTitle=\"Task Title\"\n\n i18n-taskEditingDependenciesGridTypeColumnTitle=\"kendo.gantt.taskEditingDependenciesGridTypeColumnTitle|The title of the 'Type' Grid column in the dependencies tabs of the editing dialog TabStrip\"\n taskEditingDependenciesGridTypeColumnTitle=\"Type\"\n\n i18n-taskDeleteLabel=\"kendo.gantt.taskDeleteLabel|The label of the task delete icon\"\n taskDeleteLabel=\"Delete\"\n\n i18n-taskEditingDialogTitle=\"kendo.gantt.taskEditingDialogTitle|The title of the task editing dialog\"\n taskEditingDialogTitle=\"Editing Task\"\n\n i18n-taskEditingDialogCloseTitle=\"kendo.gantt.taskEditingDialogCloseTitle|The title of the task editing dialog close button\"\n taskEditingDialogCloseTitle=\"Close\"\n\n i18n-confirmationDialogCloseTitle=\"kendo.gantt.confirmationDialogCloseTitle|The title of the confirmation dialog close button\"\n confirmationDialogCloseTitle=\"Close\"\n\n i18n-confirmationDialogTitle=\"kendo.gantt.confirmationDialogTitle|The title of the delete task confirmation dialog\"\n confirmationDialogTitle=\"Delete Task\"\n\n i18n-confirmationDialogContent=\"kendo.gantt.confirmationDialogContent|The content of the delete task confirmation dialog\"\n confirmationDialogContent=\"Are you sure you want to delete this task?\"\n\n i18n-deleteButtonText=\"kendo.gantt.deleteButtonText|The text of the task editing dialog 'Delete' button\"\n deleteButtonText=\"Delete\"\n\n i18n-cancelButtonText=\"kendo.gantt.cancelButtonText|The text of the task editing dialog 'Cancel' button\"\n cancelButtonText=\"Cancel\"\n\n i18n-saveButtonText=\"kendo.gantt.saveButtonText|The text of the task editing dialog 'Save' button\"\n saveButtonText=\"Save\"\n\n i18n-titleFieldInputLabel=\"kendo.gantt.titleFieldInputLabel|The label of the 'title' field input in editing mode\"\n titleFieldInputLabel=\"Title\"\n\n i18n-startFieldInputLabel=\"kendo.gantt.startFieldInputLabel|The label of the 'start' field input in editing mode\"\n startFieldInputLabel=\"Start\"\n\n i18n-endFieldInputLabel=\"kendo.gantt.endFieldInputLabel|The label of the 'end' field input in editing mode\"\n endFieldInputLabel=\"End\"\n\n i18n-completionRatioFieldInputLabel=\"kendo.gantt.completionRatioFieldInputLabel|The label of the 'completionRatio' field input in editing mode\"\n completionRatioFieldInputLabel=\"Progress\"\n\n i18n-dayViewText=\"kendo.gantt.dayViewText|The text of the day view in the ViewSelector component\"\n dayViewText=\"Day\"\n\n i18n-weekViewText=\"kendo.gantt.weekViewText|The text of the week view in the ViewSelector component\"\n weekViewText=\"Week\"\n\n i18n-monthViewText=\"kendo.gantt.monthViewText|The text of the month view in the ViewSelector component\"\n monthViewText=\"Month\"\n\n i18n-yearViewText-disabled=\"kendo.gantt.yearViewText|The text of the year view in the ViewSelector component\"\n yearViewText=\"Year\"\n\n i18n-addTaskText=\"kendo.gantt.addTaskText|The text of the DropDownButton in the AddTask component\"\n addTaskText=\"Add Task\"\n\n i18n-addChildText=\"kendo.gantt.addChildText|The text of the 'Add Child' option in the AddTask component\"\n addChildText=\"Add Child\"\n\n i18n-addAboveText=\"kendo.gantt.addAboveText|The text of the 'Add Above' option in the AddTask component\"\n addAboveText=\"Add Above\"\n\n i18n-addBelowText=\"kendo.gantt.addBelowText|The text of the 'Add Below' option in the AddTask component\"\n addBelowText=\"Add Below\"\n\n i18n-noRecords=\"kendo.gantt.noRecords|The label visible in the TreeList when there are no records\"\n noRecords=\"No records available.\"\n\n i18n-filter=\"kendo.gantt.filter|The label of the filter cell or icon\"\n filter=\"Filter\"\n\n i18n-filterEqOperator=\"kendo.gantt.filterEqOperator|The text of the equal filter operator\"\n filterEqOperator=\"Is equal to\"\n\n i18n-filterNotEqOperator=\"kendo.gantt.filterNotEqOperator|The text of the not equal filter operator\"\n filterNotEqOperator=\"Is not equal to\"\n\n i18n-filterIsNullOperator=\"kendo.gantt.filterIsNullOperator|The text of the is null filter operator\"\n filterIsNullOperator=\"Is null\"\n\n i18n-filterIsNotNullOperator=\"kendo.gantt.filterIsNotNullOperator|The text of the is not null filter operator\"\n filterIsNotNullOperator=\"Is not null\"\n\n i18n-filterIsEmptyOperator=\"kendo.gantt.filterIsEmptyOperator|The text of the is empty filter operator\"\n filterIsEmptyOperator=\"Is empty\"\n\n i18n-filterIsNotEmptyOperator=\"kendo.gantt.filterIsNotEmptyOperator|The text of the is not empty filter operator\"\n filterIsNotEmptyOperator=\"Is not empty\"\n\n i18n-filterStartsWithOperator=\"kendo.gantt.filterStartsWithOperator|The text of the starts with filter operator\"\n filterStartsWithOperator=\"Starts with\"\n\n i18n-filterContainsOperator=\"kendo.gantt.filterContainsOperator|The text of the contains filter operator\"\n filterContainsOperator=\"Contains\"\n\n i18n-filterNotContainsOperator=\"kendo.gantt.filterNotContainsOperator|The text of the does not contain filter operator\"\n filterNotContainsOperator=\"Does not contain\"\n\n i18n-filterEndsWithOperator=\"kendo.gantt.filterEndsWithOperator|The text of the ends with filter operator\"\n filterEndsWithOperator=\"Ends with\"\n\n i18n-filterGteOperator=\"kendo.gantt.filterGteOperator|The text of the greater than or equal filter operator\"\n filterGteOperator=\"Is greater than or equal to\"\n\n i18n-filterGtOperator=\"kendo.gantt.filterGtOperator|The text of the greater than filter operator\"\n filterGtOperator=\"Is greater than\"\n\n i18n-filterLteOperator=\"kendo.gantt.filterLteOperator|The text of the less than or equal filter operator\"\n filterLteOperator=\"Is less than or equal to\"\n\n i18n-filterLtOperator=\"kendo.gantt.filterLtOperator|The text of the less than filter operator\"\n filterLtOperator=\"Is less than\"\n\n i18n-filterIsTrue=\"kendo.gantt.filterIsTrue|The text of the IsTrue boolean filter option\"\n filterIsTrue=\"Is True\"\n\n i18n-filterIsFalse=\"kendo.gantt.filterIsFalse|The text of the IsFalse boolean filter option\"\n filterIsFalse=\"Is False\"\n\n i18n-filterBooleanAll=\"kendo.gantt.filterBooleanAll|The text of the (All) boolean filter option\"\n filterBooleanAll=\"(All)\"\n\n i18n-filterAfterOrEqualOperator=\"kendo.gantt.filterAfterOrEqualOperator|The text of the after or equal date filter operator\"\n filterAfterOrEqualOperator=\"Is after or equal to\"\n\n i18n-filterAfterOperator=\"kendo.gantt.filterAfterOperator|The text of the after date filter operator\"\n filterAfterOperator=\"Is after\"\n\n i18n-filterBeforeOperator=\"kendo.gantt.filterBeforeOperator|The text of the before date filter operator\"\n filterBeforeOperator=\"Is before\"\n\n i18n-filterBeforeOrEqualOperator=\"kendo.gantt.filterBeforeOrEqualOperator|The text of the before or equal date filter operator\"\n filterBeforeOrEqualOperator=\"Is before or equal to\"\n\n i18n-filterFilterButton=\"kendo.gantt.filterFilterButton|The text of the filter button\"\n filterFilterButton=\"Filter\"\n\n i18n-filterClearButton=\"kendo.gantt.filterClearButton|The text of the clear filter button\"\n filterClearButton=\"Clear\"\n\n i18n-filterAndLogic=\"kendo.gantt.filterAndLogic|The text of the And filter logic\"\n filterAndLogic=\"And\"\n\n i18n-filterOrLogic=\"kendo.gantt.filterOrLogic|The text of the Or filter logic\"\n filterOrLogic=\"Or\"\n\n i18n-loading=\"kendo.gantt.loading|The loading text\"\n loading=\"Loading\"\n\n i18n-columnMenu=\"kendo.gantt.columnMenu|The title of the column menu icon\"\n columnMenu=\"Column Menu\"\n\n i18n-columns=\"kendo.gantt.columns|The text shown in the column menu for the columns item\"\n columns=\"Columns\"\n\n i18n-lock-disabled=\"kendo.gantt.lock|The text shown in the column menu for the lock item\"\n lock-disabled=\"Lock\"\n\n i18n-unlock-disabled=\"kendo.gantt.unlock|The text shown in the column menu for the unlock item\"\n unlock-disabled=\"Unlock\"\n\n i18n-sortable=\"kendo.gantt.sortable|The label of the sort icon\"\n sortable=\"Sortable\"\n\n i18n-sortAscending=\"kendo.gantt.sortAscending|The text shown in the column menu for the sort ascending item\"\n sortAscending=\"Sort Ascending\"\n\n i18n-sortDescending=\"kendo.gantt.sortDescending|The text shown in the column menu for the sort descending item\"\n sortDescending=\"Sort Descending\"\n\n i18n-sortedAscending=\"kendo.gantt.sortedAscending|The status announcement when a column is sorted ascending\"\n sortedAscending=\"Sorted Ascending\"\n\n i18n-sortedDescending=\"kendo.gantt.sortedDescending|The status announcement when a column is sorted descending\"\n sortedDescending=\"Sorted Descending\"\n\n i18n-sortedDefault=\"kendo.gantt.sortedDefault|The status announcement when a column is no longer sorted\"\n sortedDefault=\"Not Sorted\"\n\n i18n-columnsApply=\"kendo.gantt.columnsApply|The text shown in the column menu or column chooser for the columns apply button\"\n columnsApply=\"Apply\"\n\n i18n-columnsReset=\"kendo.gantt.columnsReset|The text shown in the column menu or column chooser for the columns reset button\"\n columnsReset=\"Reset\"></ng-container>\n <kendo-gantt-toolbar\n *ngIf=\"showToolbar('top')\"\n [showAddTask]=\"toolbarSettings.addTaskTool === 'top' || toolbarSettings.addTaskTool === 'both'\"\n [showViewSelector]=\"toolbarSettings.viewSelectorTool === 'top' || toolbarSettings.viewSelectorTool === 'both'\"\n class=\"k-gantt-header k-toolbar k-gantt-toolbar\"\n position=\"top\"></kendo-gantt-toolbar>\n <div class=\"k-gantt-content\">\n <kendo-splitter [style.border]=\"0\">\n <kendo-splitter-pane\n class=\"k-gantt-treelist k-gantt-treelist-scrollable\"\n [collapsible]=\"treeListPaneOptions?.collapsible\"\n [collapsed]=\"treeListPaneOptions?.collapsed\"\n (collapsedChange)=\"onTreeListCollapsedChange($event)\"\n [scrollable]=\"false\">\n <kendo-treelist\n [idField]=\"taskIdField\"\n [columns]=\"columns\"\n [data]=\"data\"\n [hasChildren]=\"hasChildren\"\n [fetchChildren]=\"fetchChildren\"\n [isExpanded]=\"isExpanded\"\n [autoSize]=\"columnsAutoSize\"\n [columnMenu]=\"columnMenu\"\n [reorderable]=\"columnsReorderable\"\n [resizable]=\"columnsResizable\"\n [rowClass]=\"rowClass\"\n [isSelected]=\"isSelected\"\n [selectable]=\"selectable\"\n [sortable]=\"sortable\"\n [sort]=\"sort\"\n [filterable]=\"filterMenu\"\n [filter]=\"filter\"\n (filterChange)=\"filterChange.emit($event)\"\n (sortChange)=\"sortChange.emit($event)\"\n (dataStateChange)=\"dataStateChange.emit({\n filter: $event.filter,\n sort: $event.sort\n })\"\n (expandStateChange)=\"expandStateChange.emit($event)\"\n (expand)=\"rowExpand.emit({ dataItem: $event.dataItem })\"\n (collapse)=\"rowCollapse.emit({ dataItem: $event.dataItem })\"\n (columnReorder)=\"columnReorder.emit($event)\"\n (columnResize)=\"columnResize.emit($event)\"\n (columnVisibilityChange)=\"handleColumnVisibilityChange($event)\"\n (columnLockedChange)=\"columnLockedChange.emit($event)\"\n (selectionChange)=\"handleTreeListSelectionChange($event)\"\n (cellClick)=\"handleTreeListCellClick($event)\"\n (cellClose)=\"handleCellClose($event)\"\n [kendoEventsOutsideAngular]=\"{\n dblclick: handleTreeListDoubleClick\n }\"\n [scope]=\"this\"\n >\n <kendo-treelist-messages\n [noRecords]=\"getText('noRecords')\"\n [filter]=\"getText('filter')\"\n [filterEqOperator]=\"getText('filterEqOperator')\"\n [filterNotEqOperator]=\"getText('filterNotEqOperator')\"\n [filterIsNullOperator]=\"getText('filterIsNullOperator')\"\n [filterIsNotNullOperator]=\"getText('filterIsNotNullOperator')\"\n [filterIsEmptyOperator]=\"getText('filterIsEmptyOperator')\"\n [filterIsNotEmptyOperator]=\"getText('filterIsNotEmptyOperator')\"\n [filterStartsWithOperator]=\"getText('filterStartsWithOperator')\"\n [filterContainsOperator]=\"getText('filterContainsOperator')\"\n [filterNotContainsOperator]=\"getText('filterNotContainsOperator')\"\n [filterEndsWithOperator]=\"getText('filterEndsWithOperator')\"\n [filterGteOperator]=\"getText('filterGteOperator')\"\n [filterGtOperator]=\"getText('filterGtOperator')\"\n [filterLteOperator]=\"getText('filterLteOperator')\"\n [filterLtOperator]=\"getText('filterLtOperator')\"\n [filterIsTrue]=\"getText('filterIsTrue')\"\n [filterIsFalse]=\"getText('filterIsFalse')\"\n [filterBooleanAll]=\"getText('filterBooleanAll')\"\n [filterAfterOrEqualOperator]=\"getText('filterAfterOrEqualOperator')\"\n [filterAfterOperator]=\"getText('filterAfterOperator')\"\n [filterBeforeOperator]=\"getText('filterBeforeOperator')\"\n [filterBeforeOrEqualOperator]=\"getText('filterBeforeOrEqualOperator')\"\n [filterFilterButton]=\"getText('filterFilterButton')\"\n [filterClearButton]=\"getText('filterClearButton')\"\n [filterAndLogic]=\"getText('filterAndLogic')\"\n [filterOrLogic]=\"getText('filterOrLogic')\"\n [loading]=\"getText('loading')\"\n [columnMenu]=\"getText('columnMenu')\"\n [columns]=\"getText('columns')\"\n [sortable]=\"getText('sortable')\"\n [sortAscending]=\"getText('sortAscending')\"\n [sortDescending]=\"getText('sortDescending')\"\n [sortedAscending]=\"getText('sortedAscending')\"\n [sortedDescending]=\"getText('sortedDescending')\"\n [sortedDefault]=\"getText('sortedDefault')\"\n [columnsApply]=\"getText('columnsApply')\"\n [columnsReset]=\"getText('columnsReset')\"\n >\n </kendo-treelist-messages>\n </kendo-treelist>\n </kendo-splitter-pane>\n <kendo-splitter-pane\n [collapsible]=\"timelinePaneOptions?.collapsible\"\n [resizable]=\"timelinePaneOptions?.resizable\"\n [collapsed]=\"timelinePaneOptions?.collapsed\"\n [min]=\"timelinePaneOptions?.min\"\n [max]=\"timelinePaneOptions?.max\"\n [size]=\"timelinePaneOptions?.size\"\n (collapsedChange)=\"onTimelineCollapsedChange($event)\"\n (sizeChange)=\"onTimelinePaneSizeChange($event)\"\n [scrollable]=\"false\">\n <kendo-gantt-timeline\n *ngIf=\"views && views.length\"\n [rows]=\"renderedTreeListItems\"\n [slots]=\"timelineSlots\"\n [groupSlots]=\"timelineGroupSlots\"\n [tableWidth]=\"tableWidth\"\n [activeView]=\"activeView\"\n [taskContentTemplate]=\"taskContentTemplate?.templateRef\"\n [taskTemplate]=\"taskTemplate?.templateRef\"\n [summaryTaskTemplate]=\"summaryTaskTemplate?.templateRef\"\n [taskClass]=\"taskClass\"\n [dependencies]=\"dependencies\"\n [hasChildren]=\"hasChildren\"\n [isTaskSelected]=\"isTaskSelected\"\n [kendoEventsOutsideAngular]=\"{\n click: handleTimelineClick,\n contextmenu: handleTimelineRightClick,\n dblclick: handleTimelineDblClick,\n mousedown: handleTimelineMouseDown\n }\"\n [scope]=\"this\"\n ></kendo-gantt-timeline>\n </kendo-splitter-pane>\n </kendo-splitter>\n </div>\n <kendo-gantt-toolbar\n *ngIf=\"showToolbar('bottom')\"\n [showAddTask]=\"toolbarSettings.addTaskTool === 'bottom' || toolbarSettings.addTaskTool === 'both'\"\n [showViewSelector]=\"toolbarSettings.viewSelectorTool === 'bottom' || toolbarSettings.viewSelectorTool === 'both'\"\n class=\"k-gantt-footer k-toolbar k-gantt-toolbar\"\n position=\"bottom\"></kendo-gantt-toolbar>\n <kendo-gantt-edit-dialog *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 "
|
|
1264
1312
|
}),
|
|
1265
1313
|
tslib_1.__metadata("design:paramtypes", [TimelineViewService,
|
|
1266
1314
|
ScrollSyncService,
|
package/dist/es/gantt.module.js
CHANGED
|
@@ -40,7 +40,7 @@ import { DateInputsModule } from '@progress/kendo-angular-dateinputs';
|
|
|
40
40
|
import { CustomMessagesComponent } from './localization/custom-messages.component';
|
|
41
41
|
import { L10N_PREFIX } from '@progress/kendo-angular-l10n';
|
|
42
42
|
import { LocalizedMessagesDirective } from './localization/localized-messages.directive';
|
|
43
|
-
import {
|
|
43
|
+
import { GanttAddTaskComponent } from './editing/add-task.component';
|
|
44
44
|
var IMPORTED_MODULES = [
|
|
45
45
|
CommonModule,
|
|
46
46
|
ReactiveFormsModule,
|
|
@@ -89,7 +89,7 @@ var DECLARATIONS = [
|
|
|
89
89
|
EditDialogComponent,
|
|
90
90
|
CustomMessagesComponent,
|
|
91
91
|
LocalizedMessagesDirective,
|
|
92
|
-
|
|
92
|
+
GanttAddTaskComponent
|
|
93
93
|
];
|
|
94
94
|
/**
|
|
95
95
|
* Represents the [NgModule]({{ site.data.urls.angular['ngmoduleapi'] }})
|
package/dist/es/index.js
CHANGED
|
@@ -10,12 +10,13 @@ export { MappingService } from './common/mapping.service';
|
|
|
10
10
|
export { OptionChangesService } from './common/option-changes.service';
|
|
11
11
|
export { DependencyDomService } from './dependencies/dependency-dom.service';
|
|
12
12
|
export { GanttDependencyDirective } from './dependencies/gantt-dependency.directive';
|
|
13
|
+
export { GanttAddTaskComponent } from './editing/add-task.component';
|
|
13
14
|
export { EditDialogComponent } from './editing/edit-dialog.component';
|
|
14
15
|
export { EditService } from './editing/edit.service';
|
|
15
16
|
export { CustomMessagesComponent } from './localization/custom-messages.component';
|
|
16
17
|
export { LocalizedMessagesDirective } from './localization/localized-messages.directive';
|
|
17
18
|
export { Messages } from './localization/messages';
|
|
18
|
-
export {
|
|
19
|
+
export { PreventableEvent } from './models/events/preventable-event';
|
|
19
20
|
export { GanttHeaderTableBodyComponent } from './rendering/gantt-header-table-body.component';
|
|
20
21
|
export { GanttMilestoneTaskComponent } from './rendering/gantt-milestone-task.component';
|
|
21
22
|
export { GanttSummaryTaskComponent } from './rendering/gantt-summary-task.component';
|
|
@@ -13,6 +13,38 @@ var Messages = /** @class */ (function (_super) {
|
|
|
13
13
|
function Messages() {
|
|
14
14
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
15
15
|
}
|
|
16
|
+
tslib_1.__decorate([
|
|
17
|
+
Input(),
|
|
18
|
+
tslib_1.__metadata("design:type", String)
|
|
19
|
+
], Messages.prototype, "taskEditingGeneralTabTitle", void 0);
|
|
20
|
+
tslib_1.__decorate([
|
|
21
|
+
Input(),
|
|
22
|
+
tslib_1.__metadata("design:type", String)
|
|
23
|
+
], Messages.prototype, "taskEditingPredecessorsTabTitle", void 0);
|
|
24
|
+
tslib_1.__decorate([
|
|
25
|
+
Input(),
|
|
26
|
+
tslib_1.__metadata("design:type", String)
|
|
27
|
+
], Messages.prototype, "taskEditingSuccessorsTabTitle", void 0);
|
|
28
|
+
tslib_1.__decorate([
|
|
29
|
+
Input(),
|
|
30
|
+
tslib_1.__metadata("design:type", String)
|
|
31
|
+
], Messages.prototype, "taskEditingDependenciesAddButtonText", void 0);
|
|
32
|
+
tslib_1.__decorate([
|
|
33
|
+
Input(),
|
|
34
|
+
tslib_1.__metadata("design:type", String)
|
|
35
|
+
], Messages.prototype, "taskEditingDependenciesRemoveButtonText", void 0);
|
|
36
|
+
tslib_1.__decorate([
|
|
37
|
+
Input(),
|
|
38
|
+
tslib_1.__metadata("design:type", String)
|
|
39
|
+
], Messages.prototype, "taskEditingDependenciesGridNameColumnTitle", void 0);
|
|
40
|
+
tslib_1.__decorate([
|
|
41
|
+
Input(),
|
|
42
|
+
tslib_1.__metadata("design:type", String)
|
|
43
|
+
], Messages.prototype, "taskEditingDependenciesGridTypeColumnTitle", void 0);
|
|
44
|
+
tslib_1.__decorate([
|
|
45
|
+
Input(),
|
|
46
|
+
tslib_1.__metadata("design:type", String)
|
|
47
|
+
], Messages.prototype, "deleteButtonText", void 0);
|
|
16
48
|
tslib_1.__decorate([
|
|
17
49
|
Input(),
|
|
18
50
|
tslib_1.__metadata("design:type", String)
|
|
@@ -36,7 +68,19 @@ var Messages = /** @class */ (function (_super) {
|
|
|
36
68
|
tslib_1.__decorate([
|
|
37
69
|
Input(),
|
|
38
70
|
tslib_1.__metadata("design:type", String)
|
|
39
|
-
], Messages.prototype, "
|
|
71
|
+
], Messages.prototype, "addTaskText", void 0);
|
|
72
|
+
tslib_1.__decorate([
|
|
73
|
+
Input(),
|
|
74
|
+
tslib_1.__metadata("design:type", String)
|
|
75
|
+
], Messages.prototype, "addChildText", void 0);
|
|
76
|
+
tslib_1.__decorate([
|
|
77
|
+
Input(),
|
|
78
|
+
tslib_1.__metadata("design:type", String)
|
|
79
|
+
], Messages.prototype, "addAboveText", void 0);
|
|
80
|
+
tslib_1.__decorate([
|
|
81
|
+
Input(),
|
|
82
|
+
tslib_1.__metadata("design:type", String)
|
|
83
|
+
], Messages.prototype, "addBelowText", void 0);
|
|
40
84
|
tslib_1.__decorate([
|
|
41
85
|
Input(),
|
|
42
86
|
tslib_1.__metadata("design:type", String)
|
|
File without changes
|
package/dist/es/models/models.js
CHANGED
|
@@ -2,3 +2,4 @@
|
|
|
2
2
|
* Copyright © 2021 Progress Software Corporation. All rights reserved.
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
|
+
export { CellCloseEvent } from './events/cell-close-event.interface';
|
|
File without changes
|
|
@@ -9,7 +9,7 @@ export var packageMetadata = {
|
|
|
9
9
|
name: '@progress/kendo-angular-gantt',
|
|
10
10
|
productName: 'Kendo UI for Angular',
|
|
11
11
|
productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
|
|
12
|
-
publishDate:
|
|
12
|
+
publishDate: 1639476447,
|
|
13
13
|
version: '',
|
|
14
14
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
|
|
15
15
|
};
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
import * as tslib_1 from "tslib";
|
|
6
6
|
import { Component, Input, TemplateRef, ViewChild, ElementRef } from '@angular/core';
|
|
7
|
-
import {
|
|
7
|
+
import { isEqual } from '@progress/kendo-date-math';
|
|
8
8
|
import { DependencyDomService } from '../dependencies/dependency-dom.service';
|
|
9
9
|
import { isPresent } from '../utils';
|
|
10
10
|
import { MappingService } from '../common/mapping.service';
|
|
@@ -28,7 +28,7 @@ var GanttTasksTableBodyComponent = /** @class */ (function () {
|
|
|
28
28
|
configurable: true
|
|
29
29
|
});
|
|
30
30
|
GanttTasksTableBodyComponent.prototype.isMileStone = function (task) {
|
|
31
|
-
return !this.hasChildren(task) &&
|
|
31
|
+
return !this.hasChildren(task) && isEqual(this.mapper.extractFromTask(task, 'start'), this.mapper.extractFromTask(task, 'end'));
|
|
32
32
|
};
|
|
33
33
|
tslib_1.__decorate([
|
|
34
34
|
ViewChild('timelineRow', { static: false }),
|
|
@@ -5,9 +5,18 @@
|
|
|
5
5
|
import { orderBy } from '@progress/kendo-data-query';
|
|
6
6
|
import { isWorkDay, isWorkHour, lastDayOfWeek } from '../utils';
|
|
7
7
|
import { addDays, firstDayInWeek, getDate, firstDayOfMonth, lastDayOfMonth, addMonths, addWeeks } from '@progress/kendo-date-math';
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
/**
|
|
9
|
+
* @hidden
|
|
10
|
+
*/
|
|
11
|
+
export var DAY_FORMAT = 'E d/MM';
|
|
12
|
+
/**
|
|
13
|
+
* @hidden
|
|
14
|
+
*/
|
|
15
|
+
export var HOUR_FORMAT = 'HH:mm aa';
|
|
16
|
+
/**
|
|
17
|
+
* @hidden
|
|
18
|
+
*/
|
|
19
|
+
export var MONTH_FORMAT = 'MMM';
|
|
11
20
|
/**
|
|
12
21
|
* @hidden
|
|
13
22
|
*/
|
|
@@ -47,6 +47,14 @@ var ToolbarComponent = /** @class */ (function () {
|
|
|
47
47
|
this.gantt.activeViewChange.emit(e);
|
|
48
48
|
this.scrollSyncService.resetTimelineScrollLeft();
|
|
49
49
|
};
|
|
50
|
+
tslib_1.__decorate([
|
|
51
|
+
Input(),
|
|
52
|
+
tslib_1.__metadata("design:type", Boolean)
|
|
53
|
+
], ToolbarComponent.prototype, "showAddTask", void 0);
|
|
54
|
+
tslib_1.__decorate([
|
|
55
|
+
Input(),
|
|
56
|
+
tslib_1.__metadata("design:type", Boolean)
|
|
57
|
+
], ToolbarComponent.prototype, "showViewSelector", void 0);
|
|
50
58
|
tslib_1.__decorate([
|
|
51
59
|
Input(),
|
|
52
60
|
tslib_1.__metadata("design:type", String),
|
|
@@ -55,7 +63,7 @@ var ToolbarComponent = /** @class */ (function () {
|
|
|
55
63
|
ToolbarComponent = tslib_1.__decorate([
|
|
56
64
|
Component({
|
|
57
65
|
selector: 'kendo-gantt-toolbar',
|
|
58
|
-
template: "\n <ng-container *ngIf=\"!renderTemplate\">\n <span class=\"k-spacer k-toolbar-spacer\"></span>\n <kendo-gantt-view-selector\n [views]=\"gantt.viewTypes\"\n [activeView]=\"gantt.activeView\"\n (activeViewChange)=\"onViewChange($event)\"></kendo-gantt-view-selector>\n </ng-container>\n <ng-template\n *ngIf=\"renderTemplate\"\n [ngTemplateOutlet]=\"toolbarTemplateRef\"\n [ngTemplateOutletContext]=\"context\"\n >\n </ng-template>\n "
|
|
66
|
+
template: "\n <ng-container *ngIf=\"!renderTemplate\">\n <kendo-gantt-add-task *ngIf=\"showAddTask\"></kendo-gantt-add-task>\n <span class=\"k-spacer k-toolbar-spacer\"></span>\n <kendo-gantt-view-selector\n *ngIf=\"showViewSelector\"\n [views]=\"gantt.viewTypes\"\n [activeView]=\"gantt.activeView\"\n (activeViewChange)=\"onViewChange($event)\"></kendo-gantt-view-selector>\n </ng-container>\n <ng-template\n *ngIf=\"renderTemplate\"\n [ngTemplateOutlet]=\"toolbarTemplateRef\"\n [ngTemplateOutletContext]=\"context\"\n >\n </ng-template>\n "
|
|
59
67
|
}),
|
|
60
68
|
tslib_1.__metadata("design:paramtypes", [GanttComponent,
|
|
61
69
|
ScrollSyncService])
|