@progress/kendo-angular-gantt 0.3.0-dev.202201131518 → 0.3.0-dev.202201190830
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cdn/js/kendo-angular-gantt.js +2 -2
- package/dist/cdn/main.js +2 -2
- package/dist/es/editing/edit-dialog.component.js +3 -3
- package/dist/es/editing/edit.service.js +4 -2
- package/dist/es/gantt.component.js +191 -24
- package/dist/es/index.js +1 -0
- package/dist/es/models/events/task-delete-event.interface.js +4 -0
- package/dist/es/navigation/navigation-models.js +4 -0
- package/dist/es/navigation/navigation.service.js +390 -0
- package/dist/es/navigation/utils.js +77 -0
- package/dist/es/package-metadata.js +1 -1
- package/dist/es/rendering/gantt-milestone-task.component.js +7 -4
- package/dist/es/rendering/gantt-summary-task.component.js +22 -4
- package/dist/es/rendering/gantt-task-base.js +57 -6
- package/dist/es/rendering/gantt-task.component.js +9 -6
- package/dist/es/rendering/gantt-tasks-table-body.component.js +9 -5
- package/dist/es/timeline/gantt-timeline.component.js +10 -6
- package/dist/es/toolbar/toolbar.component.js +12 -13
- package/dist/es/toolbar/view-selector.component.js +1 -1
- package/dist/es/utils.js +14 -4
- package/dist/es2015/editing/edit-dialog.component.d.ts +1 -1
- package/dist/es2015/editing/edit-dialog.component.js +11 -3
- package/dist/es2015/editing/edit.service.d.ts +2 -3
- package/dist/es2015/editing/edit.service.js +4 -2
- package/dist/es2015/editing/utils.d.ts +2 -2
- package/dist/es2015/gantt.component.d.ts +75 -16
- package/dist/es2015/gantt.component.js +177 -26
- package/dist/es2015/index.d.ts +1 -0
- package/dist/es2015/index.js +1 -0
- package/dist/es2015/index.metadata.json +1 -1
- package/dist/es2015/models/events/task-click-event.interface.d.ts +3 -3
- package/dist/es2015/models/events/task-delete-event.interface.d.ts +21 -0
- package/dist/es2015/models/events/task-delete-event.interface.js +4 -0
- package/dist/es2015/models/events/task-edit-event.interface.d.ts +27 -10
- package/dist/es2015/models/models.d.ts +2 -0
- package/dist/es2015/navigation/navigation-models.d.ts +34 -0
- package/dist/es2015/navigation/navigation-models.js +4 -0
- package/dist/es2015/navigation/navigation.service.d.ts +126 -0
- package/dist/es2015/navigation/navigation.service.js +355 -0
- package/dist/es2015/navigation/utils.d.ts +26 -0
- package/dist/es2015/navigation/utils.js +69 -0
- package/dist/es2015/package-metadata.js +1 -1
- package/dist/es2015/rendering/gantt-milestone-task.component.d.ts +2 -1
- package/dist/es2015/rendering/gantt-milestone-task.component.js +18 -4
- package/dist/es2015/rendering/gantt-summary-task.component.d.ts +4 -1
- package/dist/es2015/rendering/gantt-summary-task.component.js +30 -4
- package/dist/es2015/rendering/gantt-task-base.d.ts +10 -2
- package/dist/es2015/rendering/gantt-task-base.js +48 -6
- package/dist/es2015/rendering/gantt-task.component.d.ts +3 -2
- package/dist/es2015/rendering/gantt-task.component.js +31 -9
- package/dist/es2015/rendering/gantt-tasks-table-body.component.d.ts +5 -3
- package/dist/es2015/rendering/gantt-tasks-table-body.component.js +23 -12
- package/dist/es2015/scrolling/scroll-sync.service.d.ts +1 -1
- package/dist/es2015/timeline/gantt-timeline.component.d.ts +5 -3
- package/dist/es2015/timeline/gantt-timeline.component.js +15 -6
- package/dist/es2015/toolbar/toolbar.component.d.ts +4 -5
- package/dist/es2015/toolbar/toolbar.component.js +12 -13
- package/dist/es2015/toolbar/view-selector.component.js +3 -1
- package/dist/es2015/utils.d.ts +10 -3
- package/dist/es2015/utils.js +14 -4
- package/dist/fesm2015/index.js +2311 -1610
- package/dist/fesm5/index.js +1722 -1013
- package/dist/npm/editing/edit-dialog.component.js +3 -3
- package/dist/npm/editing/edit.service.js +4 -2
- package/dist/npm/gantt.component.js +191 -24
- package/dist/npm/index.js +2 -0
- package/dist/npm/models/events/task-delete-event.interface.js +6 -0
- package/dist/npm/navigation/navigation-models.js +6 -0
- package/dist/npm/navigation/navigation.service.js +392 -0
- package/dist/npm/navigation/utils.js +79 -0
- package/dist/npm/package-metadata.js +1 -1
- package/dist/npm/rendering/gantt-milestone-task.component.js +7 -4
- package/dist/npm/rendering/gantt-summary-task.component.js +22 -4
- package/dist/npm/rendering/gantt-task-base.js +57 -6
- package/dist/npm/rendering/gantt-task.component.js +9 -6
- package/dist/npm/rendering/gantt-tasks-table-body.component.js +9 -5
- package/dist/npm/timeline/gantt-timeline.component.js +10 -6
- package/dist/npm/toolbar/toolbar.component.js +10 -11
- package/dist/npm/toolbar/view-selector.component.js +1 -1
- package/dist/npm/utils.js +14 -4
- package/dist/systemjs/kendo-angular-gantt.js +1 -1
- package/package.json +1 -1
|
@@ -53,8 +53,8 @@ var EditDialogComponent = /** @class */ (function () {
|
|
|
53
53
|
EditDialogComponent.prototype.handleEditingResult = function (editResultType) {
|
|
54
54
|
this.editService.triggerEditEvent(editResultType);
|
|
55
55
|
};
|
|
56
|
-
EditDialogComponent.prototype.
|
|
57
|
-
this.editService.
|
|
56
|
+
EditDialogComponent.prototype.handleTaskDelete = function () {
|
|
57
|
+
this.editService.taskDelete.next(this.editService.dataItem);
|
|
58
58
|
};
|
|
59
59
|
tslib_1.__decorate([
|
|
60
60
|
Input(),
|
|
@@ -63,7 +63,7 @@ var EditDialogComponent = /** @class */ (function () {
|
|
|
63
63
|
EditDialogComponent = tslib_1.__decorate([
|
|
64
64
|
Component({
|
|
65
65
|
selector: 'kendo-gantt-edit-dialog',
|
|
66
|
-
template: "\n <kendo-dialog\n [title]=\"getText('taskEditingDialogTitle')\"\n [width]=\"575\"\n [height]=\"470\"\n (close)=\"handleEditingResult('cancel')\">\n <kendo-dialog-messages\n [closeTitle]=\"getText('taskEditingDialogCloseTitle')\"></kendo-dialog-messages>\n\n <kendo-tabstrip [keepTabContent]=\"true\">\n <kendo-tabstrip-tab [title]=\"getText('taskEditingGeneralTabTitle')\" [selected]=\"true\">\n <ng-template kendoTabContent>\n <kendo-gantt-task-fields></kendo-gantt-task-fields>\n </ng-template>\n </kendo-tabstrip-tab>\n <kendo-tabstrip-tab [title]=\"getText('taskEditingPredecessorsTabTitle')\">\n <ng-template kendoTabContent>\n <kendo-gantt-dependencies-table\n [tasks]=\"loadedTasks\"\n [(dependencies)]=\"predecessors\"\n dependencyType=\"predecessor\"\n >\n </kendo-gantt-dependencies-table>\n </ng-template>\n </kendo-tabstrip-tab>\n <kendo-tabstrip-tab [title]=\"getText('taskEditingSuccessorsTabTitle')\">\n <ng-template kendoTabContent>\n <kendo-gantt-dependencies-table\n [tasks]=\"loadedTasks\"\n [(dependencies)]=\"successors\"\n dependencyType=\"successor\">\n </kendo-gantt-dependencies-table>\n </ng-template>\n </kendo-tabstrip-tab>\n </kendo-tabstrip>\n\n <kendo-dialog-actions layout=\"normal\">\n <button
|
|
66
|
+
template: "\n <kendo-dialog\n [title]=\"getText('taskEditingDialogTitle')\"\n [width]=\"575\"\n [height]=\"470\"\n (close)=\"handleEditingResult('cancel')\">\n <kendo-dialog-messages\n [closeTitle]=\"getText('taskEditingDialogCloseTitle')\"></kendo-dialog-messages>\n\n <kendo-tabstrip [keepTabContent]=\"true\">\n <kendo-tabstrip-tab [title]=\"getText('taskEditingGeneralTabTitle')\" [selected]=\"true\">\n <ng-template kendoTabContent>\n <kendo-gantt-task-fields></kendo-gantt-task-fields>\n </ng-template>\n </kendo-tabstrip-tab>\n <kendo-tabstrip-tab [title]=\"getText('taskEditingPredecessorsTabTitle')\">\n <ng-template kendoTabContent>\n <kendo-gantt-dependencies-table\n [tasks]=\"loadedTasks\"\n [(dependencies)]=\"predecessors\"\n dependencyType=\"predecessor\"\n >\n </kendo-gantt-dependencies-table>\n </ng-template>\n </kendo-tabstrip-tab>\n <kendo-tabstrip-tab [title]=\"getText('taskEditingSuccessorsTabTitle')\">\n <ng-template kendoTabContent>\n <kendo-gantt-dependencies-table\n [tasks]=\"loadedTasks\"\n [(dependencies)]=\"successors\"\n dependencyType=\"successor\">\n </kendo-gantt-dependencies-table>\n </ng-template>\n </kendo-tabstrip-tab>\n </kendo-tabstrip>\n\n <kendo-dialog-actions layout=\"normal\">\n <button\n kendoButton\n [kendoEventsOutsideAngular]=\"{\n click: handleTaskDelete\n }\"\n [scope]=\"this\"\n >\n {{ getText('deleteButtonText') }}\n </button>\n <kendo-treelist-spacer></kendo-treelist-spacer>\n <button kendoButton [primary]=\"true\" (click)=\"handleEditingResult('save')\">{{ getText('saveButtonText') }}</button>\n <button kendoButton (click)=\"handleEditingResult('cancel')\">{{ getText('cancelButtonText') }}</button>\n </kendo-dialog-actions>\n </kendo-dialog>\n "
|
|
67
67
|
}),
|
|
68
68
|
tslib_1.__metadata("design:paramtypes", [MappingService,
|
|
69
69
|
EditService,
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
import * as tslib_1 from "tslib";
|
|
6
6
|
import { Injectable } from '@angular/core';
|
|
7
7
|
import { EMPTY, forkJoin, isObservable, of, Subject } from 'rxjs';
|
|
8
|
-
import { MappingService } from '../common/mapping.service';
|
|
9
8
|
import { map, expand, reduce } from 'rxjs/operators';
|
|
9
|
+
import { MappingService } from '../common/mapping.service';
|
|
10
10
|
import { isPresent, normalizeGanttData } from '../utils';
|
|
11
11
|
/**
|
|
12
12
|
* @hidden
|
|
@@ -16,9 +16,11 @@ var EditService = /** @class */ (function () {
|
|
|
16
16
|
var _this = this;
|
|
17
17
|
this.mapper = mapper;
|
|
18
18
|
this.showEditingDialog = new Subject();
|
|
19
|
-
this.
|
|
19
|
+
this.taskDelete = new Subject();
|
|
20
20
|
this.editEvent = new Subject();
|
|
21
21
|
this.addEvent = new Subject();
|
|
22
|
+
this.predecessors = [];
|
|
23
|
+
this.successors = [];
|
|
22
24
|
this.updatedItems = [];
|
|
23
25
|
this.deletedItems = [];
|
|
24
26
|
this.itemIndex = function (item, data) {
|
|
@@ -10,6 +10,7 @@ import { Subscription } from 'rxjs';
|
|
|
10
10
|
import { validatePackage } from '@progress/kendo-licensing';
|
|
11
11
|
import { packageMetadata } from './package-metadata';
|
|
12
12
|
import { anyChanged, hasObservers } from '@progress/kendo-angular-common';
|
|
13
|
+
import { GanttTimelineComponent } from './timeline/gantt-timeline.component';
|
|
13
14
|
import { GanttColumnBase } from './columns/columns';
|
|
14
15
|
import { fetchChildren, hasChildren, isSelected, rowClassCallback, taskClassCallback } from './common/default-callbacks';
|
|
15
16
|
import { DependencyType } from './models/models';
|
|
@@ -25,13 +26,13 @@ import { OptionChangesService } from './common/option-changes.service';
|
|
|
25
26
|
import { EditService } from './editing/edit.service';
|
|
26
27
|
import { TimelineScrollService } from './scrolling/timeline-scroll.service';
|
|
27
28
|
import { GanttLocalizationService } from './localization/gantt-localization.service';
|
|
29
|
+
import { NavigationService } from './navigation/navigation.service';
|
|
28
30
|
import { areParentChild, getClosestTaskIndex, isClearButton, isColumnGroup, isPresent, isTask, normalizeGanttData, scrollbarWidth } from './utils';
|
|
29
31
|
import { DEFAULT_TIMELINE_PANE_SETTINGS, DEFAULT_TREELIST_PANE_SETTINGS } from './models/splitter-pane-options.interface';
|
|
30
32
|
import { GanttTaskTemplateDirective } from './template-directives/task-template.directive';
|
|
31
33
|
import { GanttSummaryTaskTemplateDirective } from './template-directives/summary-task-template.directive';
|
|
32
34
|
import { GanttTaskContentTemplateDirective } from './template-directives/task-content-template.directive';
|
|
33
35
|
import { ToolbarTemplateDirective } from './toolbar/toolbar-template.directive';
|
|
34
|
-
import { GanttTimelineComponent } from './timeline/gantt-timeline.component';
|
|
35
36
|
import { ViewBase } from './timeline/view-base';
|
|
36
37
|
import { getEditItem } from './editing/utils';
|
|
37
38
|
var TREELIST_GROUP_COLUMNS_CLASS = 'k-gantt-treelist-nested-columns';
|
|
@@ -114,7 +115,7 @@ var DEFAULT_DRAG_SCROLL_SETTINGS = {
|
|
|
114
115
|
* ```
|
|
115
116
|
*/
|
|
116
117
|
var GanttComponent = /** @class */ (function () {
|
|
117
|
-
function GanttComponent(timelineViewService, scrollSyncService, renderer, mapper, optionChangesService, dependencyDomService, editService, localizationService, hostElement, zone) {
|
|
118
|
+
function GanttComponent(timelineViewService, scrollSyncService, renderer, mapper, optionChangesService, dependencyDomService, editService, localizationService, hostElement, zone, navigationService) {
|
|
118
119
|
var _this = this;
|
|
119
120
|
this.timelineViewService = timelineViewService;
|
|
120
121
|
this.scrollSyncService = scrollSyncService;
|
|
@@ -126,6 +127,15 @@ var GanttComponent = /** @class */ (function () {
|
|
|
126
127
|
this.localizationService = localizationService;
|
|
127
128
|
this.hostElement = hostElement;
|
|
128
129
|
this.zone = zone;
|
|
130
|
+
this.navigationService = navigationService;
|
|
131
|
+
/**
|
|
132
|
+
* @hidden
|
|
133
|
+
*/
|
|
134
|
+
this.roleDescription = 'Gantt Chart';
|
|
135
|
+
/**
|
|
136
|
+
* @hidden
|
|
137
|
+
*/
|
|
138
|
+
this.role = 'application';
|
|
129
139
|
this.hostClasses = true;
|
|
130
140
|
/**
|
|
131
141
|
* Specifies a callback that determines if the given task is selected ([see example]({% slug selection_gantt %}#toc-custom-selection)).
|
|
@@ -197,6 +207,12 @@ var GanttComponent = /** @class */ (function () {
|
|
|
197
207
|
* The end of the work week (index based).
|
|
198
208
|
*/
|
|
199
209
|
this.workWeekEnd = 5;
|
|
210
|
+
/**
|
|
211
|
+
* If set to `true`, the user can use dedicated shortcuts to interact with the Gantt.
|
|
212
|
+
* By default, navigation is disabled for the TreeList and Timeline parts of the component,
|
|
213
|
+
* ([see example]({% slug keyboard_navigation_gantt %})).
|
|
214
|
+
*/
|
|
215
|
+
this.navigable = false;
|
|
200
216
|
/**
|
|
201
217
|
* Indicates whether the Gantt columns will be resized during initialization so that they fit their headers and row content.
|
|
202
218
|
* Columns with autoSize set to false are excluded.
|
|
@@ -240,7 +256,8 @@ var GanttComponent = /** @class */ (function () {
|
|
|
240
256
|
*/
|
|
241
257
|
this.cellClose = new EventEmitter();
|
|
242
258
|
/**
|
|
243
|
-
* Fires when the end user clicks the `Delete` button in the task editing dialog
|
|
259
|
+
* Fires when the end user clicks the `Delete` button in the task editing dialog,
|
|
260
|
+
* the task delete icon, or presses the `Delete` key on the keyboard when a task in the timeline is focused.
|
|
244
261
|
* Use the event handler to open a confirmation dialog when necessary.
|
|
245
262
|
*/
|
|
246
263
|
this.taskDelete = new EventEmitter();
|
|
@@ -375,7 +392,13 @@ var GanttComponent = /** @class */ (function () {
|
|
|
375
392
|
}));
|
|
376
393
|
this.editService.getSelectedItem = this.getFirstSelectedItem.bind(this);
|
|
377
394
|
this.editServiceSubscription.add(this.editService.showEditingDialog.subscribe(function (show) { return _this.showEditingDialog = show; }));
|
|
378
|
-
this.editServiceSubscription.add(this.editService.
|
|
395
|
+
this.editServiceSubscription.add(this.editService.taskDelete.subscribe(function (task) {
|
|
396
|
+
if (hasObservers(_this.taskDelete)) {
|
|
397
|
+
_this.zone.run(function () {
|
|
398
|
+
return _this.notifyTaskDelete(task);
|
|
399
|
+
});
|
|
400
|
+
}
|
|
401
|
+
}));
|
|
379
402
|
this.editServiceSubscription.add(this.editService.editEvent.subscribe(function (args) {
|
|
380
403
|
_this[args.editResultType].emit({
|
|
381
404
|
taskFormGroup: args.taskFormGroup,
|
|
@@ -386,6 +409,9 @@ var GanttComponent = /** @class */ (function () {
|
|
|
386
409
|
_this.showConfirmationDialog = _this.showEditingDialog = false;
|
|
387
410
|
_this.editService.dataItem = _this.editService.taskFormGroup = null;
|
|
388
411
|
_this.updateView();
|
|
412
|
+
if (_this.navigable) {
|
|
413
|
+
_this.focus();
|
|
414
|
+
}
|
|
389
415
|
}));
|
|
390
416
|
this.editServiceSubscription.add(this.editService.addEvent.subscribe(function (args) {
|
|
391
417
|
var selectedItem = _this.getFirstSelectedItem();
|
|
@@ -415,6 +441,20 @@ var GanttComponent = /** @class */ (function () {
|
|
|
415
441
|
enumerable: true,
|
|
416
442
|
configurable: true
|
|
417
443
|
});
|
|
444
|
+
Object.defineProperty(GanttComponent.prototype, "hostRoleDescriptionAttr", {
|
|
445
|
+
get: function () {
|
|
446
|
+
return this.roleDescription;
|
|
447
|
+
},
|
|
448
|
+
enumerable: true,
|
|
449
|
+
configurable: true
|
|
450
|
+
});
|
|
451
|
+
Object.defineProperty(GanttComponent.prototype, "hostRoleAttr", {
|
|
452
|
+
get: function () {
|
|
453
|
+
return this.role;
|
|
454
|
+
},
|
|
455
|
+
enumerable: true,
|
|
456
|
+
configurable: true
|
|
457
|
+
});
|
|
418
458
|
Object.defineProperty(GanttComponent.prototype, "dir", {
|
|
419
459
|
get: function () {
|
|
420
460
|
return this.direction;
|
|
@@ -657,6 +697,19 @@ var GanttComponent = /** @class */ (function () {
|
|
|
657
697
|
enumerable: true,
|
|
658
698
|
configurable: true
|
|
659
699
|
});
|
|
700
|
+
Object.defineProperty(GanttComponent.prototype, "viewItems", {
|
|
701
|
+
/**
|
|
702
|
+
* @hidden
|
|
703
|
+
*/
|
|
704
|
+
get: function () {
|
|
705
|
+
if (!isPresent(this.treeList)) {
|
|
706
|
+
return [];
|
|
707
|
+
}
|
|
708
|
+
return this.treeList.view.data;
|
|
709
|
+
},
|
|
710
|
+
enumerable: true,
|
|
711
|
+
configurable: true
|
|
712
|
+
});
|
|
660
713
|
Object.defineProperty(GanttComponent.prototype, "filterMenu", {
|
|
661
714
|
/**
|
|
662
715
|
* @hidden
|
|
@@ -720,6 +773,16 @@ var GanttComponent = /** @class */ (function () {
|
|
|
720
773
|
enumerable: true,
|
|
721
774
|
configurable: true
|
|
722
775
|
});
|
|
776
|
+
Object.defineProperty(GanttComponent.prototype, "isInEditMode", {
|
|
777
|
+
/**
|
|
778
|
+
* @hidden
|
|
779
|
+
*/
|
|
780
|
+
get: function () {
|
|
781
|
+
return this.showEditingDialog || this.showConfirmationDialog || this.treeList.isEditing();
|
|
782
|
+
},
|
|
783
|
+
enumerable: true,
|
|
784
|
+
configurable: true
|
|
785
|
+
});
|
|
723
786
|
GanttComponent.prototype.ngOnChanges = function (changes) {
|
|
724
787
|
if (anyChanged(['data', 'activeView', 'workWeekStart', 'workWeekEnd', 'workDayStart', 'workDayEnd'], changes)) {
|
|
725
788
|
this.loadTimelineData();
|
|
@@ -727,6 +790,14 @@ var GanttComponent = /** @class */ (function () {
|
|
|
727
790
|
};
|
|
728
791
|
GanttComponent.prototype.ngAfterViewInit = function () {
|
|
729
792
|
this.updateTreeListMargin();
|
|
793
|
+
if (this.navigable) {
|
|
794
|
+
this.navigationService.initialize({
|
|
795
|
+
gantt: this,
|
|
796
|
+
host: this.hostElement.nativeElement,
|
|
797
|
+
treeListElement: this.treeList.wrapper.nativeElement,
|
|
798
|
+
timelineElement: this.timeline.timelineContent.nativeElement
|
|
799
|
+
});
|
|
800
|
+
}
|
|
730
801
|
var leftContainer = this.treeList.wrapper.nativeElement.querySelector('kendo-treelist-list > div');
|
|
731
802
|
this.scrollSyncService.registerElement(leftContainer, 'treelist');
|
|
732
803
|
};
|
|
@@ -744,6 +815,34 @@ var GanttComponent = /** @class */ (function () {
|
|
|
744
815
|
this.localizationSubscription.unsubscribe();
|
|
745
816
|
}
|
|
746
817
|
};
|
|
818
|
+
/**
|
|
819
|
+
* Focuses the last active cell or task in the Gantt.
|
|
820
|
+
* If no item has previously been focused, the first cell of the TreeList part will receive focus,
|
|
821
|
+
* ([see example]({% slug keyboard_navigation_gantt %}#toc-controlling-the-focus)).
|
|
822
|
+
*/
|
|
823
|
+
GanttComponent.prototype.focus = function () {
|
|
824
|
+
if (this.navigable) {
|
|
825
|
+
this.navigationService.focusLastActiveItem();
|
|
826
|
+
}
|
|
827
|
+
};
|
|
828
|
+
/**
|
|
829
|
+
* Focuses the targeted cell in the TreeList part of the component,
|
|
830
|
+
* ([see example]({% slug keyboard_navigation_gantt %}#toc-controlling-the-focus)).
|
|
831
|
+
*/
|
|
832
|
+
GanttComponent.prototype.focusCell = function (rowIndex, colIndex) {
|
|
833
|
+
if (this.navigable) {
|
|
834
|
+
this.navigationService.focusCell(rowIndex, colIndex);
|
|
835
|
+
}
|
|
836
|
+
};
|
|
837
|
+
/**
|
|
838
|
+
* Focuses the targeted task in the Timeline part of the component,
|
|
839
|
+
* ([see example]({% slug keyboard_navigation_gantt %}#toc-controlling-the-focus)).
|
|
840
|
+
*/
|
|
841
|
+
GanttComponent.prototype.focusTask = function (taskIndex) {
|
|
842
|
+
if (this.navigable) {
|
|
843
|
+
this.navigationService.focusTask(taskIndex);
|
|
844
|
+
}
|
|
845
|
+
};
|
|
747
846
|
/**
|
|
748
847
|
* Applies the minimum possible width for the specified column,
|
|
749
848
|
* so that the whole text fits without wrapping. This method expects the Gantt
|
|
@@ -833,6 +932,15 @@ var GanttComponent = /** @class */ (function () {
|
|
|
833
932
|
GanttComponent.prototype.openConfirmationDialog = function () {
|
|
834
933
|
this.showConfirmationDialog = true;
|
|
835
934
|
};
|
|
935
|
+
/**
|
|
936
|
+
* @hidden
|
|
937
|
+
*/
|
|
938
|
+
GanttComponent.prototype.handleConfirmationDialogClose = function () {
|
|
939
|
+
this.showConfirmationDialog = false;
|
|
940
|
+
if (this.navigable) {
|
|
941
|
+
this.focus();
|
|
942
|
+
}
|
|
943
|
+
};
|
|
836
944
|
/**
|
|
837
945
|
* Opens a cell for editing.
|
|
838
946
|
*/
|
|
@@ -918,7 +1026,7 @@ var GanttComponent = /** @class */ (function () {
|
|
|
918
1026
|
if (hasObservers(this.taskClick)) {
|
|
919
1027
|
var taskIndex_1 = getClosestTaskIndex(target, gantt);
|
|
920
1028
|
var task_1 = this.renderedTreeListItems[taskIndex_1];
|
|
921
|
-
this.zone.run(function () { return _this.
|
|
1029
|
+
this.zone.run(function () { return _this.notifyTaskClick(event, task_1, taskIndex_1); });
|
|
922
1030
|
}
|
|
923
1031
|
};
|
|
924
1032
|
/**
|
|
@@ -937,8 +1045,8 @@ var GanttComponent = /** @class */ (function () {
|
|
|
937
1045
|
if ((hasObservers(this.selectionChange) && !this.isSameSelection(selectionAction, task)) ||
|
|
938
1046
|
hasObservers(this.taskClick)) {
|
|
939
1047
|
this.zone.run(function () {
|
|
940
|
-
_this.
|
|
941
|
-
_this.
|
|
1048
|
+
_this.notifySelectionChange(task, selectionAction);
|
|
1049
|
+
_this.notifyTaskClick(event, task, taskIndex);
|
|
942
1050
|
});
|
|
943
1051
|
}
|
|
944
1052
|
};
|
|
@@ -976,7 +1084,7 @@ var GanttComponent = /** @class */ (function () {
|
|
|
976
1084
|
}
|
|
977
1085
|
var task = event.items.map(function (item) { return item.dataItem; })[0]; // single selection only currently available
|
|
978
1086
|
var action = event.action;
|
|
979
|
-
this.
|
|
1087
|
+
this.notifySelectionChange(task, action);
|
|
980
1088
|
};
|
|
981
1089
|
/**
|
|
982
1090
|
* @hidden
|
|
@@ -1028,7 +1136,7 @@ var GanttComponent = /** @class */ (function () {
|
|
|
1028
1136
|
dataItem: task_2,
|
|
1029
1137
|
originalEvent: event,
|
|
1030
1138
|
sender: _this,
|
|
1031
|
-
|
|
1139
|
+
index: taskIndex_2,
|
|
1032
1140
|
type: 'dblclick'
|
|
1033
1141
|
}); });
|
|
1034
1142
|
}
|
|
@@ -1039,16 +1147,35 @@ var GanttComponent = /** @class */ (function () {
|
|
|
1039
1147
|
GanttComponent.prototype.getText = function (token) {
|
|
1040
1148
|
return this.localizationService.get(token);
|
|
1041
1149
|
};
|
|
1042
|
-
|
|
1150
|
+
/**
|
|
1151
|
+
* @hidden
|
|
1152
|
+
*/
|
|
1153
|
+
GanttComponent.prototype.changeActiveView = function (view) {
|
|
1154
|
+
if (view !== this.activeView) {
|
|
1155
|
+
this.activeView = view;
|
|
1156
|
+
this.loadTimelineData();
|
|
1157
|
+
this.scrollSyncService.resetTimelineScrollLeft();
|
|
1158
|
+
this.activeViewChange.emit(view);
|
|
1159
|
+
}
|
|
1160
|
+
};
|
|
1161
|
+
/**
|
|
1162
|
+
* @hidden
|
|
1163
|
+
*/
|
|
1164
|
+
GanttComponent.prototype.notifyTaskClick = function (event, dataItem, itemIndex) {
|
|
1165
|
+
// simulates the TreeList `cellClick` event triggered by enter press (type: 'click')
|
|
1166
|
+
var type = event instanceof KeyboardEvent ? 'click' : event.type;
|
|
1043
1167
|
this.taskClick.emit({
|
|
1044
1168
|
originalEvent: event,
|
|
1045
1169
|
dataItem: dataItem,
|
|
1046
|
-
|
|
1047
|
-
type:
|
|
1170
|
+
index: itemIndex,
|
|
1171
|
+
type: type,
|
|
1048
1172
|
sender: this
|
|
1049
1173
|
});
|
|
1050
1174
|
};
|
|
1051
|
-
|
|
1175
|
+
/**
|
|
1176
|
+
* @hidden
|
|
1177
|
+
*/
|
|
1178
|
+
GanttComponent.prototype.notifySelectionChange = function (dataItem, action) {
|
|
1052
1179
|
if (this.isSameSelection(action, dataItem)) {
|
|
1053
1180
|
return;
|
|
1054
1181
|
}
|
|
@@ -1059,6 +1186,30 @@ var GanttComponent = /** @class */ (function () {
|
|
|
1059
1186
|
});
|
|
1060
1187
|
this.treeList.updateView();
|
|
1061
1188
|
};
|
|
1189
|
+
/**
|
|
1190
|
+
* @hidden
|
|
1191
|
+
*/
|
|
1192
|
+
GanttComponent.prototype.notifyTaskDelete = function (task) {
|
|
1193
|
+
this.editService.dataItem = task;
|
|
1194
|
+
this.taskDelete.emit({
|
|
1195
|
+
item: getEditItem(task, this.treeList.view.data, this.mapper),
|
|
1196
|
+
sender: this
|
|
1197
|
+
});
|
|
1198
|
+
};
|
|
1199
|
+
/**
|
|
1200
|
+
* @hidden
|
|
1201
|
+
*/
|
|
1202
|
+
GanttComponent.prototype.isSameSelection = function (action, dataItem) {
|
|
1203
|
+
return action === 'select' && this.isSelected(dataItem);
|
|
1204
|
+
};
|
|
1205
|
+
/**
|
|
1206
|
+
* @hidden
|
|
1207
|
+
*/
|
|
1208
|
+
GanttComponent.prototype.getSelectionAction = function (_a, dataItem) {
|
|
1209
|
+
var ctrlKey = _a.ctrlKey, metaKey = _a.metaKey;
|
|
1210
|
+
var shouldToggleSelection = ctrlKey || metaKey;
|
|
1211
|
+
return (shouldToggleSelection && this.isSelected(dataItem)) ? 'remove' : 'select';
|
|
1212
|
+
};
|
|
1062
1213
|
GanttComponent.prototype.updateTreeListGroupClass = function (columns) {
|
|
1063
1214
|
if (columns === void 0) { columns = this.columns; }
|
|
1064
1215
|
if (!isPresent(this.treeList)) {
|
|
@@ -1089,14 +1240,6 @@ var GanttComponent = /** @class */ (function () {
|
|
|
1089
1240
|
}
|
|
1090
1241
|
return this.views.find(function (view) { return view.type === _this.activeView; });
|
|
1091
1242
|
};
|
|
1092
|
-
GanttComponent.prototype.isSameSelection = function (action, dataItem) {
|
|
1093
|
-
return action === 'select' && this.isSelected(dataItem);
|
|
1094
|
-
};
|
|
1095
|
-
GanttComponent.prototype.getSelectionAction = function (_a, dataItem) {
|
|
1096
|
-
var ctrlKey = _a.ctrlKey, metaKey = _a.metaKey;
|
|
1097
|
-
var shouldToggleSelection = ctrlKey || metaKey;
|
|
1098
|
-
return (shouldToggleSelection && this.isSelected(dataItem)) ? 'remove' : 'select';
|
|
1099
|
-
};
|
|
1100
1243
|
GanttComponent.prototype.getFirstSelectedItem = function () {
|
|
1101
1244
|
var isSelectedCallback = this.isSelected || isSelected;
|
|
1102
1245
|
var loadedItems = this.renderedTreeListItems || [];
|
|
@@ -1177,6 +1320,24 @@ var GanttComponent = /** @class */ (function () {
|
|
|
1177
1320
|
ContentChildren(ToolbarTemplateDirective),
|
|
1178
1321
|
tslib_1.__metadata("design:type", QueryList)
|
|
1179
1322
|
], GanttComponent.prototype, "toolbarTemplateChildren", void 0);
|
|
1323
|
+
tslib_1.__decorate([
|
|
1324
|
+
Input('aria-roledescription'),
|
|
1325
|
+
tslib_1.__metadata("design:type", String)
|
|
1326
|
+
], GanttComponent.prototype, "roleDescription", void 0);
|
|
1327
|
+
tslib_1.__decorate([
|
|
1328
|
+
HostBinding('attr.aria-roledescription'),
|
|
1329
|
+
tslib_1.__metadata("design:type", String),
|
|
1330
|
+
tslib_1.__metadata("design:paramtypes", [])
|
|
1331
|
+
], GanttComponent.prototype, "hostRoleDescriptionAttr", null);
|
|
1332
|
+
tslib_1.__decorate([
|
|
1333
|
+
Input('role'),
|
|
1334
|
+
tslib_1.__metadata("design:type", String)
|
|
1335
|
+
], GanttComponent.prototype, "role", void 0);
|
|
1336
|
+
tslib_1.__decorate([
|
|
1337
|
+
HostBinding('attr.role'),
|
|
1338
|
+
tslib_1.__metadata("design:type", String),
|
|
1339
|
+
tslib_1.__metadata("design:paramtypes", [])
|
|
1340
|
+
], GanttComponent.prototype, "hostRoleAttr", null);
|
|
1180
1341
|
tslib_1.__decorate([
|
|
1181
1342
|
HostBinding('class.k-gantt'),
|
|
1182
1343
|
tslib_1.__metadata("design:type", Boolean)
|
|
@@ -1282,6 +1443,10 @@ var GanttComponent = /** @class */ (function () {
|
|
|
1282
1443
|
Input(),
|
|
1283
1444
|
tslib_1.__metadata("design:type", Number)
|
|
1284
1445
|
], GanttComponent.prototype, "workWeekEnd", void 0);
|
|
1446
|
+
tslib_1.__decorate([
|
|
1447
|
+
Input(),
|
|
1448
|
+
tslib_1.__metadata("design:type", Boolean)
|
|
1449
|
+
], GanttComponent.prototype, "navigable", void 0);
|
|
1285
1450
|
tslib_1.__decorate([
|
|
1286
1451
|
Input(),
|
|
1287
1452
|
tslib_1.__metadata("design:type", Object),
|
|
@@ -1447,9 +1612,10 @@ var GanttComponent = /** @class */ (function () {
|
|
|
1447
1612
|
MappingService,
|
|
1448
1613
|
OptionChangesService,
|
|
1449
1614
|
EditService,
|
|
1450
|
-
TimelineScrollService
|
|
1615
|
+
TimelineScrollService,
|
|
1616
|
+
NavigationService
|
|
1451
1617
|
],
|
|
1452
|
-
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 [renderDependencyDragClues]=\"renderDependencyDragClues\"\n [dragScrollSettings]=\"dragScrollSettings\"\n [rows]=\"renderedTreeListItems\"\n [slots]=\"timelineSlots\"\n [groupSlots]=\"timelineGroupSlots\"\n [tableWidth]=\"tableWidth\"\n [activeView]=\"activeView\"\n [taskContentTemplate]=\"taskContentTemplate?.templateRef\"\n [taskTemplate]=\"taskTemplate?.templateRef\"\n [summaryTaskTemplate]=\"summaryTaskTemplate?.templateRef\"\n [taskClass]=\"taskClass\"\n [dependencies]=\"dependencies\"\n [hasChildren]=\"hasChildren\"\n [isTaskSelected]=\"isTaskSelected\"\n [kendoEventsOutsideAngular]=\"{\n click: handleTimelineClick,\n contextmenu: handleTimelineRightClick,\n dblclick: handleTimelineDblClick,\n mousedown: handleTimelineMouseDown\n }\"\n [scope]=\"this\"\n ></kendo-gantt-timeline>\n </kendo-splitter-pane>\n </kendo-splitter>\n </div>\n <kendo-gantt-toolbar\n *ngIf=\"showToolbar('bottom')\"\n [showAddTask]=\"toolbarSettings.addTaskTool === 'bottom' || toolbarSettings.addTaskTool === 'both'\"\n [showViewSelector]=\"toolbarSettings.viewSelectorTool === 'bottom' || toolbarSettings.viewSelectorTool === 'both'\"\n class=\"k-gantt-footer k-toolbar k-gantt-toolbar\"\n position=\"bottom\"></kendo-gantt-toolbar>\n <kendo-gantt-edit-dialog\n *ngIf=\"showEditingDialog\"\n [data]=\"data\">\n </kendo-gantt-edit-dialog>\n <kendo-dialog\n *ngIf=\"showConfirmationDialog\"\n [width]=\"575\"\n [height]=\"170\"\n [title]=\"getText('confirmationDialogTitle')\"\n (close)=\"showConfirmationDialog = false;\">\n <span>{{ getText('confirmationDialogContent') }}</span>\n <kendo-dialog-actions layout=\"normal\">\n <kendo-treelist-spacer></kendo-treelist-spacer>\n <button kendoButton [primary]=\"true\" (click)=\"handleDeleteConfirmation()\">{{ getText('deleteButtonText') }}</button>\n <button kendoButton (click)=\"showConfirmationDialog = false;\">{{ getText('cancelButtonText') }}</button>\n </kendo-dialog-actions>\n </kendo-dialog>\n "
|
|
1618
|
+
template: "\n <ng-container kendoGanttLocalizedMessages\n i18n-taskEditingGeneralTabTitle=\"kendo.gantt.taskEditingGeneralTabTitle|The title of the 'General' tab of the editing dialog TabStrip\"\n taskEditingGeneralTabTitle=\"General\"\n\n i18n-taskEditingPredecessorsTabTitle=\"kendo.gantt.taskEditingPredecessorsTabTitle|The title of the 'Predecessors' dependencies tab of the editing dialog TabStrip\"\n taskEditingPredecessorsTabTitle=\"Predecessors\"\n\n i18n-taskEditingSuccessorsTabTitle=\"kendo.gantt.taskEditingSuccessorsTabTitle|The title of the 'Successors' dependencies tab of the editing dialog TabStrip\"\n taskEditingSuccessorsTabTitle=\"Successors\"\n\n i18n-taskEditingDependenciesAddButtonText=\"kendo.gantt.taskEditingDependenciesAddButtonText|The text of the 'Add' button in the dependencies tabs of the editing dialog TabStrip\"\n taskEditingDependenciesAddButtonText=\"Add\"\n\n i18n-taskEditingDependenciesRemoveButtonText=\"kendo.gantt.taskEditingDependenciesRemoveButtonText|The text of the 'Remove' button in the dependencies tabs of the editing dialog TabStrip\"\n taskEditingDependenciesRemoveButtonText=\"Remove\"\n\n i18n-taskEditingDependenciesGridNameColumnTitle=\"kendo.gantt.taskEditingDependenciesGridNameColumnTitle|The title of the 'Task Title' Grid column in the dependencies tabs of the editing dialog TabStrip\"\n taskEditingDependenciesGridNameColumnTitle=\"Task Title\"\n\n i18n-taskEditingDependenciesGridTypeColumnTitle=\"kendo.gantt.taskEditingDependenciesGridTypeColumnTitle|The title of the 'Type' Grid column in the dependencies tabs of the editing dialog TabStrip\"\n taskEditingDependenciesGridTypeColumnTitle=\"Type\"\n\n i18n-taskDeleteLabel=\"kendo.gantt.taskDeleteLabel|The label of the task delete icon\"\n taskDeleteLabel=\"Delete\"\n\n i18n-taskEditingDialogTitle=\"kendo.gantt.taskEditingDialogTitle|The title of the task editing dialog\"\n taskEditingDialogTitle=\"Editing Task\"\n\n i18n-taskEditingDialogCloseTitle=\"kendo.gantt.taskEditingDialogCloseTitle|The title of the task editing dialog close button\"\n taskEditingDialogCloseTitle=\"Close\"\n\n i18n-confirmationDialogCloseTitle=\"kendo.gantt.confirmationDialogCloseTitle|The title of the confirmation dialog close button\"\n confirmationDialogCloseTitle=\"Close\"\n\n i18n-confirmationDialogTitle=\"kendo.gantt.confirmationDialogTitle|The title of the delete task confirmation dialog\"\n confirmationDialogTitle=\"Delete Task\"\n\n i18n-confirmationDialogContent=\"kendo.gantt.confirmationDialogContent|The content of the delete task confirmation dialog\"\n confirmationDialogContent=\"Are you sure you want to delete this task?\"\n\n i18n-deleteButtonText=\"kendo.gantt.deleteButtonText|The text of the task editing dialog 'Delete' button\"\n deleteButtonText=\"Delete\"\n\n i18n-cancelButtonText=\"kendo.gantt.cancelButtonText|The text of the task editing dialog 'Cancel' button\"\n cancelButtonText=\"Cancel\"\n\n i18n-saveButtonText=\"kendo.gantt.saveButtonText|The text of the task editing dialog 'Save' button\"\n saveButtonText=\"Save\"\n\n i18n-titleFieldInputLabel=\"kendo.gantt.titleFieldInputLabel|The label of the 'title' field input in editing mode\"\n titleFieldInputLabel=\"Title\"\n\n i18n-startFieldInputLabel=\"kendo.gantt.startFieldInputLabel|The label of the 'start' field input in editing mode\"\n startFieldInputLabel=\"Start\"\n\n i18n-endFieldInputLabel=\"kendo.gantt.endFieldInputLabel|The label of the 'end' field input in editing mode\"\n endFieldInputLabel=\"End\"\n\n i18n-completionRatioFieldInputLabel=\"kendo.gantt.completionRatioFieldInputLabel|The label of the 'completionRatio' field input in editing mode\"\n completionRatioFieldInputLabel=\"Progress\"\n\n i18n-dayViewText=\"kendo.gantt.dayViewText|The text of the day view in the ViewSelector component\"\n dayViewText=\"Day\"\n\n i18n-weekViewText=\"kendo.gantt.weekViewText|The text of the week view in the ViewSelector component\"\n weekViewText=\"Week\"\n\n i18n-monthViewText=\"kendo.gantt.monthViewText|The text of the month view in the ViewSelector component\"\n monthViewText=\"Month\"\n\n i18n-yearViewText-disabled=\"kendo.gantt.yearViewText|The text of the year view in the ViewSelector component\"\n yearViewText=\"Year\"\n\n i18n-addTaskText=\"kendo.gantt.addTaskText|The text of the DropDownButton in the AddTask component\"\n addTaskText=\"Add Task\"\n\n i18n-addChildText=\"kendo.gantt.addChildText|The text of the 'Add Child' option in the AddTask component\"\n addChildText=\"Add Child\"\n\n i18n-addAboveText=\"kendo.gantt.addAboveText|The text of the 'Add Above' option in the AddTask component\"\n addAboveText=\"Add Above\"\n\n i18n-addBelowText=\"kendo.gantt.addBelowText|The text of the 'Add Below' option in the AddTask component\"\n addBelowText=\"Add Below\"\n\n i18n-noRecords=\"kendo.gantt.noRecords|The label visible in the TreeList when there are no records\"\n noRecords=\"No records available.\"\n\n i18n-filter=\"kendo.gantt.filter|The label of the filter cell or icon\"\n filter=\"Filter\"\n\n i18n-filterEqOperator=\"kendo.gantt.filterEqOperator|The text of the equal filter operator\"\n filterEqOperator=\"Is equal to\"\n\n i18n-filterNotEqOperator=\"kendo.gantt.filterNotEqOperator|The text of the not equal filter operator\"\n filterNotEqOperator=\"Is not equal to\"\n\n i18n-filterIsNullOperator=\"kendo.gantt.filterIsNullOperator|The text of the is null filter operator\"\n filterIsNullOperator=\"Is null\"\n\n i18n-filterIsNotNullOperator=\"kendo.gantt.filterIsNotNullOperator|The text of the is not null filter operator\"\n filterIsNotNullOperator=\"Is not null\"\n\n i18n-filterIsEmptyOperator=\"kendo.gantt.filterIsEmptyOperator|The text of the is empty filter operator\"\n filterIsEmptyOperator=\"Is empty\"\n\n i18n-filterIsNotEmptyOperator=\"kendo.gantt.filterIsNotEmptyOperator|The text of the is not empty filter operator\"\n filterIsNotEmptyOperator=\"Is not empty\"\n\n i18n-filterStartsWithOperator=\"kendo.gantt.filterStartsWithOperator|The text of the starts with filter operator\"\n filterStartsWithOperator=\"Starts with\"\n\n i18n-filterContainsOperator=\"kendo.gantt.filterContainsOperator|The text of the contains filter operator\"\n filterContainsOperator=\"Contains\"\n\n i18n-filterNotContainsOperator=\"kendo.gantt.filterNotContainsOperator|The text of the does not contain filter operator\"\n filterNotContainsOperator=\"Does not contain\"\n\n i18n-filterEndsWithOperator=\"kendo.gantt.filterEndsWithOperator|The text of the ends with filter operator\"\n filterEndsWithOperator=\"Ends with\"\n\n i18n-filterGteOperator=\"kendo.gantt.filterGteOperator|The text of the greater than or equal filter operator\"\n filterGteOperator=\"Is greater than or equal to\"\n\n i18n-filterGtOperator=\"kendo.gantt.filterGtOperator|The text of the greater than filter operator\"\n filterGtOperator=\"Is greater than\"\n\n i18n-filterLteOperator=\"kendo.gantt.filterLteOperator|The text of the less than or equal filter operator\"\n filterLteOperator=\"Is less than or equal to\"\n\n i18n-filterLtOperator=\"kendo.gantt.filterLtOperator|The text of the less than filter operator\"\n filterLtOperator=\"Is less than\"\n\n i18n-filterIsTrue=\"kendo.gantt.filterIsTrue|The text of the IsTrue boolean filter option\"\n filterIsTrue=\"Is True\"\n\n i18n-filterIsFalse=\"kendo.gantt.filterIsFalse|The text of the IsFalse boolean filter option\"\n filterIsFalse=\"Is False\"\n\n i18n-filterBooleanAll=\"kendo.gantt.filterBooleanAll|The text of the (All) boolean filter option\"\n filterBooleanAll=\"(All)\"\n\n i18n-filterAfterOrEqualOperator=\"kendo.gantt.filterAfterOrEqualOperator|The text of the after or equal date filter operator\"\n filterAfterOrEqualOperator=\"Is after or equal to\"\n\n i18n-filterAfterOperator=\"kendo.gantt.filterAfterOperator|The text of the after date filter operator\"\n filterAfterOperator=\"Is after\"\n\n i18n-filterBeforeOperator=\"kendo.gantt.filterBeforeOperator|The text of the before date filter operator\"\n filterBeforeOperator=\"Is before\"\n\n i18n-filterBeforeOrEqualOperator=\"kendo.gantt.filterBeforeOrEqualOperator|The text of the before or equal date filter operator\"\n filterBeforeOrEqualOperator=\"Is before or equal to\"\n\n i18n-filterFilterButton=\"kendo.gantt.filterFilterButton|The text of the filter button\"\n filterFilterButton=\"Filter\"\n\n i18n-filterClearButton=\"kendo.gantt.filterClearButton|The text of the clear filter button\"\n filterClearButton=\"Clear\"\n\n i18n-filterAndLogic=\"kendo.gantt.filterAndLogic|The text of the And filter logic\"\n filterAndLogic=\"And\"\n\n i18n-filterOrLogic=\"kendo.gantt.filterOrLogic|The text of the Or filter logic\"\n filterOrLogic=\"Or\"\n\n i18n-loading=\"kendo.gantt.loading|The loading text\"\n loading=\"Loading\"\n\n i18n-columnMenu=\"kendo.gantt.columnMenu|The title of the column menu icon\"\n columnMenu=\"Column Menu\"\n\n i18n-columns=\"kendo.gantt.columns|The text shown in the column menu for the columns item\"\n columns=\"Columns\"\n\n i18n-lock-disabled=\"kendo.gantt.lock|The text shown in the column menu for the lock item\"\n lock-disabled=\"Lock\"\n\n i18n-unlock-disabled=\"kendo.gantt.unlock|The text shown in the column menu for the unlock item\"\n unlock-disabled=\"Unlock\"\n\n i18n-sortable=\"kendo.gantt.sortable|The label of the sort icon\"\n sortable=\"Sortable\"\n\n i18n-sortAscending=\"kendo.gantt.sortAscending|The text shown in the column menu for the sort ascending item\"\n sortAscending=\"Sort Ascending\"\n\n i18n-sortDescending=\"kendo.gantt.sortDescending|The text shown in the column menu for the sort descending item\"\n sortDescending=\"Sort Descending\"\n\n i18n-sortedAscending=\"kendo.gantt.sortedAscending|The status announcement when a column is sorted ascending\"\n sortedAscending=\"Sorted Ascending\"\n\n i18n-sortedDescending=\"kendo.gantt.sortedDescending|The status announcement when a column is sorted descending\"\n sortedDescending=\"Sorted Descending\"\n\n i18n-sortedDefault=\"kendo.gantt.sortedDefault|The status announcement when a column is no longer sorted\"\n sortedDefault=\"Not Sorted\"\n\n i18n-columnsApply=\"kendo.gantt.columnsApply|The text shown in the column menu or column chooser for the columns apply button\"\n columnsApply=\"Apply\"\n\n i18n-columnsReset=\"kendo.gantt.columnsReset|The text shown in the column menu or column chooser for the columns reset button\"\n columnsReset=\"Reset\"></ng-container>\n <kendo-gantt-toolbar\n *ngIf=\"showToolbar('top')\"\n [showAddTask]=\"toolbarSettings.addTaskTool === 'top' || toolbarSettings.addTaskTool === 'both'\"\n [showViewSelector]=\"toolbarSettings.viewSelectorTool === 'top' || toolbarSettings.viewSelectorTool === 'both'\"\n class=\"k-gantt-header k-toolbar k-gantt-toolbar\"\n position=\"top\"></kendo-gantt-toolbar>\n <div class=\"k-gantt-content\">\n <kendo-splitter [style.border]=\"0\">\n <kendo-splitter-pane\n class=\"k-gantt-treelist k-gantt-treelist-scrollable\"\n [collapsible]=\"treeListPaneOptions?.collapsible\"\n [collapsed]=\"treeListPaneOptions?.collapsed\"\n (collapsedChange)=\"onTreeListCollapsedChange($event)\"\n [scrollable]=\"false\">\n <kendo-treelist\n [idField]=\"taskIdField\"\n [columns]=\"columns\"\n [data]=\"data\"\n [hasChildren]=\"hasChildren\"\n [fetchChildren]=\"fetchChildren\"\n [navigable]=\"navigable\"\n [isExpanded]=\"isExpanded\"\n [autoSize]=\"columnsAutoSize\"\n [columnMenu]=\"columnMenu\"\n [reorderable]=\"columnsReorderable\"\n [resizable]=\"columnsResizable\"\n [rowClass]=\"rowClass\"\n [isSelected]=\"isSelected\"\n [selectable]=\"selectable\"\n [sortable]=\"sortable\"\n [sort]=\"sort\"\n [filterable]=\"filterMenu\"\n [filter]=\"filter\"\n (filterChange)=\"filterChange.emit($event)\"\n (sortChange)=\"sortChange.emit($event)\"\n (dataStateChange)=\"dataStateChange.emit({\n filter: $event.filter,\n sort: $event.sort\n })\"\n (expandStateChange)=\"expandStateChange.emit($event)\"\n (expand)=\"rowExpand.emit({ dataItem: $event.dataItem })\"\n (collapse)=\"rowCollapse.emit({ dataItem: $event.dataItem })\"\n (columnReorder)=\"columnReorder.emit($event)\"\n (columnResize)=\"columnResize.emit($event)\"\n (columnVisibilityChange)=\"handleColumnVisibilityChange($event)\"\n (columnLockedChange)=\"columnLockedChange.emit($event)\"\n (selectionChange)=\"handleTreeListSelectionChange($event)\"\n (cellClick)=\"handleTreeListCellClick($event)\"\n (cellClose)=\"handleCellClose($event)\"\n [kendoEventsOutsideAngular]=\"{\n dblclick: handleTreeListDoubleClick\n }\"\n [scope]=\"this\"\n >\n <kendo-treelist-messages\n [noRecords]=\"getText('noRecords')\"\n [filter]=\"getText('filter')\"\n [filterEqOperator]=\"getText('filterEqOperator')\"\n [filterNotEqOperator]=\"getText('filterNotEqOperator')\"\n [filterIsNullOperator]=\"getText('filterIsNullOperator')\"\n [filterIsNotNullOperator]=\"getText('filterIsNotNullOperator')\"\n [filterIsEmptyOperator]=\"getText('filterIsEmptyOperator')\"\n [filterIsNotEmptyOperator]=\"getText('filterIsNotEmptyOperator')\"\n [filterStartsWithOperator]=\"getText('filterStartsWithOperator')\"\n [filterContainsOperator]=\"getText('filterContainsOperator')\"\n [filterNotContainsOperator]=\"getText('filterNotContainsOperator')\"\n [filterEndsWithOperator]=\"getText('filterEndsWithOperator')\"\n [filterGteOperator]=\"getText('filterGteOperator')\"\n [filterGtOperator]=\"getText('filterGtOperator')\"\n [filterLteOperator]=\"getText('filterLteOperator')\"\n [filterLtOperator]=\"getText('filterLtOperator')\"\n [filterIsTrue]=\"getText('filterIsTrue')\"\n [filterIsFalse]=\"getText('filterIsFalse')\"\n [filterBooleanAll]=\"getText('filterBooleanAll')\"\n [filterAfterOrEqualOperator]=\"getText('filterAfterOrEqualOperator')\"\n [filterAfterOperator]=\"getText('filterAfterOperator')\"\n [filterBeforeOperator]=\"getText('filterBeforeOperator')\"\n [filterBeforeOrEqualOperator]=\"getText('filterBeforeOrEqualOperator')\"\n [filterFilterButton]=\"getText('filterFilterButton')\"\n [filterClearButton]=\"getText('filterClearButton')\"\n [filterAndLogic]=\"getText('filterAndLogic')\"\n [filterOrLogic]=\"getText('filterOrLogic')\"\n [loading]=\"getText('loading')\"\n [columnMenu]=\"getText('columnMenu')\"\n [columns]=\"getText('columns')\"\n [sortable]=\"getText('sortable')\"\n [sortAscending]=\"getText('sortAscending')\"\n [sortDescending]=\"getText('sortDescending')\"\n [sortedAscending]=\"getText('sortedAscending')\"\n [sortedDescending]=\"getText('sortedDescending')\"\n [sortedDefault]=\"getText('sortedDefault')\"\n [columnsApply]=\"getText('columnsApply')\"\n [columnsReset]=\"getText('columnsReset')\"\n >\n </kendo-treelist-messages>\n </kendo-treelist>\n </kendo-splitter-pane>\n <kendo-splitter-pane\n [collapsible]=\"timelinePaneOptions?.collapsible\"\n [resizable]=\"timelinePaneOptions?.resizable\"\n [collapsed]=\"timelinePaneOptions?.collapsed\"\n [min]=\"timelinePaneOptions?.min\"\n [max]=\"timelinePaneOptions?.max\"\n [size]=\"timelinePaneOptions?.size\"\n (collapsedChange)=\"onTimelineCollapsedChange($event)\"\n (sizeChange)=\"onTimelinePaneSizeChange($event)\"\n [scrollable]=\"false\">\n <kendo-gantt-timeline\n *ngIf=\"views && views.length\"\n [renderDependencyDragClues]=\"renderDependencyDragClues\"\n [dragScrollSettings]=\"dragScrollSettings\"\n [rows]=\"viewItems\"\n [slots]=\"timelineSlots\"\n [groupSlots]=\"timelineGroupSlots\"\n [tableWidth]=\"tableWidth\"\n [activeView]=\"activeView\"\n [taskContentTemplate]=\"taskContentTemplate?.templateRef\"\n [taskTemplate]=\"taskTemplate?.templateRef\"\n [summaryTaskTemplate]=\"summaryTaskTemplate?.templateRef\"\n [taskClass]=\"taskClass\"\n [dependencies]=\"dependencies\"\n [isExpanded]=\"isExpanded\"\n [selectable]=\"selectable\"\n [isTaskSelected]=\"isTaskSelected\"\n [kendoEventsOutsideAngular]=\"{\n click: handleTimelineClick,\n contextmenu: handleTimelineRightClick,\n dblclick: handleTimelineDblClick,\n mousedown: handleTimelineMouseDown\n }\"\n [scope]=\"this\"\n ></kendo-gantt-timeline>\n </kendo-splitter-pane>\n </kendo-splitter>\n </div>\n <kendo-gantt-toolbar\n *ngIf=\"showToolbar('bottom')\"\n [showAddTask]=\"toolbarSettings.addTaskTool === 'bottom' || toolbarSettings.addTaskTool === 'both'\"\n [showViewSelector]=\"toolbarSettings.viewSelectorTool === 'bottom' || toolbarSettings.viewSelectorTool === 'both'\"\n class=\"k-gantt-footer k-toolbar k-gantt-toolbar\"\n position=\"bottom\"></kendo-gantt-toolbar>\n <kendo-gantt-edit-dialog\n *ngIf=\"showEditingDialog\"\n [data]=\"data\">\n </kendo-gantt-edit-dialog>\n <kendo-dialog\n *ngIf=\"showConfirmationDialog\"\n [width]=\"575\"\n [height]=\"170\"\n [title]=\"getText('confirmationDialogTitle')\"\n (close)=\"handleConfirmationDialogClose()\">\n <span>{{ getText('confirmationDialogContent') }}</span>\n <kendo-dialog-actions layout=\"normal\">\n <kendo-treelist-spacer></kendo-treelist-spacer>\n <button kendoButton [primary]=\"true\" (click)=\"handleDeleteConfirmation()\">{{ getText('deleteButtonText') }}</button>\n <button kendoButton (click)=\"handleConfirmationDialogClose()\">{{ getText('cancelButtonText') }}</button>\n </kendo-dialog-actions>\n </kendo-dialog>\n "
|
|
1453
1619
|
}),
|
|
1454
1620
|
tslib_1.__metadata("design:paramtypes", [TimelineViewService,
|
|
1455
1621
|
ScrollSyncService,
|
|
@@ -1460,7 +1626,8 @@ var GanttComponent = /** @class */ (function () {
|
|
|
1460
1626
|
EditService,
|
|
1461
1627
|
LocalizationService,
|
|
1462
1628
|
ElementRef,
|
|
1463
|
-
NgZone
|
|
1629
|
+
NgZone,
|
|
1630
|
+
NavigationService])
|
|
1464
1631
|
], GanttComponent);
|
|
1465
1632
|
return GanttComponent;
|
|
1466
1633
|
}());
|
package/dist/es/index.js
CHANGED
|
@@ -22,6 +22,7 @@ export { GanttLocalizationService } from './localization/gantt-localization.serv
|
|
|
22
22
|
export { LocalizedMessagesDirective } from './localization/localized-messages.directive';
|
|
23
23
|
export { Messages } from './localization/messages';
|
|
24
24
|
export { PreventableEvent } from './models/events/preventable-event';
|
|
25
|
+
export { NavigationService } from './navigation/navigation.service';
|
|
25
26
|
export { GanttHeaderTableBodyComponent } from './rendering/gantt-header-table-body.component';
|
|
26
27
|
export { GanttMilestoneTaskComponent } from './rendering/gantt-milestone-task.component';
|
|
27
28
|
export { GanttSummaryTaskComponent } from './rendering/gantt-summary-task.component';
|
|
@@ -0,0 +1,4 @@
|
|
|
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
|
+
*-------------------------------------------------------------------------------------------*/
|
|
@@ -0,0 +1,4 @@
|
|
|
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
|
+
*-------------------------------------------------------------------------------------------*/
|