@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
package/dist/fesm5/index.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import { __extends, __decorate, __metadata, __param, __assign } from 'tslib';
|
|
6
6
|
import { Input, Injectable, EventEmitter, Directive, Optional, TemplateRef, QueryList, ContentChildren, ContentChild, Component, forwardRef, SkipSelf, Host, Injector, NgZone, isDevMode, ViewChild, HostBinding, Output, Renderer2, ElementRef, ChangeDetectorRef, NgModule } from '@angular/core';
|
|
7
7
|
import { ColumnBase, ColumnComponent, ColumnGroupComponent, SpanColumnComponent, TreeListComponent, DataBoundTreeComponent, ExpandableTreeComponent, FlatBindingDirective, HierarchyBindingDirective, ExpandableDirective, TreeListModule } from '@progress/kendo-angular-treelist';
|
|
8
|
-
import { cloneDate, addWeeks, firstDayInWeek, addDays, getDate, lastDayOfMonth, firstDayOfMonth, addMonths,
|
|
8
|
+
import { cloneDate, addWeeks, firstDayInWeek, addDays, getDate, lastDayOfMonth, firstDayOfMonth, addMonths, isEqual, MS_PER_HOUR, MS_PER_DAY } from '@progress/kendo-date-math';
|
|
9
9
|
import { of, fromEvent, Subject, Subscription } from 'rxjs';
|
|
10
10
|
import { validatePackage } from '@progress/kendo-licensing';
|
|
11
11
|
import { isDocumentAvailable, closestInScope, matchesClasses, anyChanged, hasObservers, EventsModule } from '@progress/kendo-angular-common';
|
|
@@ -30,7 +30,7 @@ var packageMetadata = {
|
|
|
30
30
|
name: '@progress/kendo-angular-gantt',
|
|
31
31
|
productName: 'Kendo UI for Angular',
|
|
32
32
|
productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
|
|
33
|
-
publishDate:
|
|
33
|
+
publishDate: 1639476447,
|
|
34
34
|
version: '',
|
|
35
35
|
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'
|
|
36
36
|
};
|
|
@@ -789,8 +789,17 @@ var isClearButton = function (contender, gantt) {
|
|
|
789
789
|
return isPresent(clearButtonContainer);
|
|
790
790
|
};
|
|
791
791
|
|
|
792
|
+
/**
|
|
793
|
+
* @hidden
|
|
794
|
+
*/
|
|
792
795
|
var DAY_FORMAT = 'E d/MM';
|
|
796
|
+
/**
|
|
797
|
+
* @hidden
|
|
798
|
+
*/
|
|
793
799
|
var HOUR_FORMAT = 'HH:mm aa';
|
|
800
|
+
/**
|
|
801
|
+
* @hidden
|
|
802
|
+
*/
|
|
794
803
|
var MONTH_FORMAT = 'MMM';
|
|
795
804
|
/**
|
|
796
805
|
* @hidden
|
|
@@ -1375,6 +1384,7 @@ var EditService = /** @class */ (function () {
|
|
|
1375
1384
|
this.showEditingDialog = new Subject();
|
|
1376
1385
|
this.showConfirmationDialog = new Subject();
|
|
1377
1386
|
this.editEvent = new Subject();
|
|
1387
|
+
this.addEvent = new Subject();
|
|
1378
1388
|
}
|
|
1379
1389
|
EditService.prototype.createEditDialog = function (dataItem, formGroup) {
|
|
1380
1390
|
this.dataItem = dataItem;
|
|
@@ -1797,7 +1807,7 @@ var GanttComponent = /** @class */ (function () {
|
|
|
1797
1807
|
/**
|
|
1798
1808
|
* Provides a callback that determines if the given task is selected ([see example]({% slug selection_gantt %}#toc-custom-selection))
|
|
1799
1809
|
*
|
|
1800
|
-
* > The [`selectable`]({% slug
|
|
1810
|
+
* > The [`selectable`]({% slug api_gantt_ganttcomponent %}#toc-selectable) prop has to be set to `true` in order for this callback to be executed.
|
|
1801
1811
|
*/
|
|
1802
1812
|
this.isSelected = isSelected;
|
|
1803
1813
|
/**
|
|
@@ -1811,21 +1821,10 @@ var GanttComponent = /** @class */ (function () {
|
|
|
1811
1821
|
/**
|
|
1812
1822
|
* Enables or disables the Gantt selection mechanism ([see example]({% slug selection_gantt %}#toc-custom-selection)).
|
|
1813
1823
|
*
|
|
1814
|
-
* > When set to `true`, the [`isSelected`]({% slug
|
|
1824
|
+
* > When set to `true`, the [`isSelected`]({% slug api_gantt_ganttcomponent %}#toc-isselected) callback has to be provided.
|
|
1815
1825
|
* > When applied, the [`SelectableDirective`]({% slug api_gantt_selectabledirective %}) sets `selectable` to `true` internally.
|
|
1816
1826
|
*/
|
|
1817
1827
|
this.selectable = false;
|
|
1818
|
-
/**
|
|
1819
|
-
* The position of the toolbar.
|
|
1820
|
-
*
|
|
1821
|
-
* The possible values are:
|
|
1822
|
-
* - `top`—Positions the toolbar above the Gantt panes.
|
|
1823
|
-
* - `bottom`—Positions the toolbar below the Gantt panes.
|
|
1824
|
-
* - `both`—Displays two toolbar instances. Positions the first one above,
|
|
1825
|
-
* and the second one - below the Gantt panes.
|
|
1826
|
-
* - `none`—No toolbar is rendered.
|
|
1827
|
-
*/
|
|
1828
|
-
this.toolbarPosition = 'top';
|
|
1829
1828
|
/**
|
|
1830
1829
|
* Gets or sets the callback function that retrieves the child items for a particular item.
|
|
1831
1830
|
*/
|
|
@@ -1935,6 +1934,10 @@ var GanttComponent = /** @class */ (function () {
|
|
|
1935
1934
|
* Fires when the user saves an edited task.
|
|
1936
1935
|
*/
|
|
1937
1936
|
this.save = new EventEmitter();
|
|
1937
|
+
/**
|
|
1938
|
+
* Fires when the user adds a task.
|
|
1939
|
+
*/
|
|
1940
|
+
this.taskAdd = new EventEmitter();
|
|
1938
1941
|
/**
|
|
1939
1942
|
* Fires when the sorting of the Gantt is changed.
|
|
1940
1943
|
* You have to handle the event yourself and sort the data.
|
|
@@ -2012,6 +2015,11 @@ var GanttComponent = /** @class */ (function () {
|
|
|
2012
2015
|
this._rowClass = rowClassCallback;
|
|
2013
2016
|
this._taskClass = taskClassCallback;
|
|
2014
2017
|
this._activeView = DEFAULT_VIEW;
|
|
2018
|
+
this._toolbarSettings = {
|
|
2019
|
+
position: 'top',
|
|
2020
|
+
addTaskTool: 'none',
|
|
2021
|
+
viewSelectorTool: 'top'
|
|
2022
|
+
};
|
|
2015
2023
|
this.rtl = false;
|
|
2016
2024
|
this.optionChangesSubscriptions = new Subscription();
|
|
2017
2025
|
this.editServiceSubscription = new Subscription();
|
|
@@ -2022,6 +2030,7 @@ var GanttComponent = /** @class */ (function () {
|
|
|
2022
2030
|
this.optionChangesSubscriptions.add(this.optionChangesService.columnChanges.subscribe(function () {
|
|
2023
2031
|
_this.treeList.columns.notifyOnChanges();
|
|
2024
2032
|
}));
|
|
2033
|
+
this.editService.getSelectedItem = this.getFirstSelectedItem.bind(this);
|
|
2025
2034
|
this.editServiceSubscription.add(this.editService.showEditingDialog.subscribe(function (show) { return _this.showEditingDialog = show; }));
|
|
2026
2035
|
this.editServiceSubscription.add(this.editService.showConfirmationDialog.subscribe(function () { return _this.taskDelete.emit(); }));
|
|
2027
2036
|
this.editServiceSubscription.add(this.editService.editEvent.subscribe(function (args) {
|
|
@@ -2033,7 +2042,14 @@ var GanttComponent = /** @class */ (function () {
|
|
|
2033
2042
|
_this.showConfirmationDialog = _this.showEditingDialog = false;
|
|
2034
2043
|
_this.editService.dataItem = _this.editService.formGroup = null;
|
|
2035
2044
|
_this.updateView();
|
|
2036
|
-
|
|
2045
|
+
}));
|
|
2046
|
+
this.editServiceSubscription.add(this.editService.addEvent.subscribe(function (args) {
|
|
2047
|
+
var selectedItem = _this.getFirstSelectedItem();
|
|
2048
|
+
_this.taskAdd.emit({
|
|
2049
|
+
actionType: args.actionType,
|
|
2050
|
+
selectedItem: selectedItem ? getEditItem(selectedItem, _this.treeList.view.data, _this.mapper) : null
|
|
2051
|
+
});
|
|
2052
|
+
_this.updateView();
|
|
2037
2053
|
}));
|
|
2038
2054
|
this.localizationSubscription = this.localizationService.changes.subscribe(function (_a) {
|
|
2039
2055
|
var rtl = _a.rtl;
|
|
@@ -2139,6 +2155,33 @@ var GanttComponent = /** @class */ (function () {
|
|
|
2139
2155
|
enumerable: true,
|
|
2140
2156
|
configurable: true
|
|
2141
2157
|
});
|
|
2158
|
+
Object.defineProperty(GanttComponent.prototype, "toolbarSettings", {
|
|
2159
|
+
get: function () {
|
|
2160
|
+
return this._toolbarSettings;
|
|
2161
|
+
},
|
|
2162
|
+
/**
|
|
2163
|
+
* The toolbar configuration. Defines the position and content of the toolbar(s).
|
|
2164
|
+
* The available properties are `position`, `addTaskTool`, and `viewSelectorTool`.
|
|
2165
|
+
* All are optional and default to `top`.
|
|
2166
|
+
*
|
|
2167
|
+
* The possible values for each option are:
|
|
2168
|
+
* - `top`—Positions the toolbar above the Gantt panes. Renders the respective tool in the top toolbar.
|
|
2169
|
+
* - `bottom`—Positions the toolbar below the Gantt panes. Renders the respective tool in the bottom toolbar.
|
|
2170
|
+
* - `both`—Displays two toolbar instances. Positions the first one above,
|
|
2171
|
+
* and the second one - below the Gantt panes. Renders the respective tool in the both toolbars.
|
|
2172
|
+
* - `none`—No toolbar is rendered when used for setting `position`.
|
|
2173
|
+
* No add task or view selector tool is rendered when used for setting `addTaskTool` or `viewSelectorTool`.
|
|
2174
|
+
*/
|
|
2175
|
+
set: function (value) {
|
|
2176
|
+
this._toolbarSettings = {
|
|
2177
|
+
position: value.position || 'top',
|
|
2178
|
+
addTaskTool: value.addTaskTool || 'none',
|
|
2179
|
+
viewSelectorTool: value.viewSelectorTool || 'top'
|
|
2180
|
+
};
|
|
2181
|
+
},
|
|
2182
|
+
enumerable: true,
|
|
2183
|
+
configurable: true
|
|
2184
|
+
});
|
|
2142
2185
|
Object.defineProperty(GanttComponent.prototype, "timelinePaneOptions", {
|
|
2143
2186
|
get: function () {
|
|
2144
2187
|
return __assign({}, this._timelinePaneOptions, { size: this.treeListPaneOptions.collapsed ? '100%' : this._timelinePaneOptions.size });
|
|
@@ -2373,12 +2416,17 @@ var GanttComponent = /** @class */ (function () {
|
|
|
2373
2416
|
}
|
|
2374
2417
|
};
|
|
2375
2418
|
/**
|
|
2376
|
-
*
|
|
2419
|
+
* Forces the TreeList to evaluate if some data items have changed and re-renders the rows information, if needed.
|
|
2420
|
+
* Recalculates and re-renders the Timeline period, if needed.
|
|
2421
|
+
* Redraws changed dependencies, if needed.
|
|
2422
|
+
* Executes all row-related callbacks anew.
|
|
2377
2423
|
*/
|
|
2378
2424
|
GanttComponent.prototype.updateView = function () {
|
|
2379
2425
|
if (isPresent(this.treeList)) {
|
|
2380
2426
|
this.treeList.updateView();
|
|
2381
2427
|
}
|
|
2428
|
+
this.loadTimelineData();
|
|
2429
|
+
this.dependencyDomService.notifyChanges();
|
|
2382
2430
|
};
|
|
2383
2431
|
/**
|
|
2384
2432
|
* Opens the task editing dialog.
|
|
@@ -2458,7 +2506,7 @@ var GanttComponent = /** @class */ (function () {
|
|
|
2458
2506
|
* @hidden
|
|
2459
2507
|
*/
|
|
2460
2508
|
GanttComponent.prototype.showToolbar = function (position) {
|
|
2461
|
-
return this.
|
|
2509
|
+
return this.toolbarSettings.position !== 'none' && ([position, 'both'].indexOf(this.toolbarSettings.position) > -1);
|
|
2462
2510
|
};
|
|
2463
2511
|
/**
|
|
2464
2512
|
* @hidden
|
|
@@ -2626,7 +2674,7 @@ var GanttComponent = /** @class */ (function () {
|
|
|
2626
2674
|
items: [dataItem],
|
|
2627
2675
|
sender: this
|
|
2628
2676
|
});
|
|
2629
|
-
this.updateView();
|
|
2677
|
+
this.treeList.updateView();
|
|
2630
2678
|
};
|
|
2631
2679
|
GanttComponent.prototype.updateTreeListGroupClass = function (columns) {
|
|
2632
2680
|
if (columns === void 0) { columns = this.columns; }
|
|
@@ -2666,6 +2714,11 @@ var GanttComponent = /** @class */ (function () {
|
|
|
2666
2714
|
var shouldToggleSelection = ctrlKey || metaKey;
|
|
2667
2715
|
return (shouldToggleSelection && this.isSelected(dataItem)) ? 'remove' : 'select';
|
|
2668
2716
|
};
|
|
2717
|
+
GanttComponent.prototype.getFirstSelectedItem = function () {
|
|
2718
|
+
var isSelectedCallback = this.isSelected || isSelected;
|
|
2719
|
+
var loadedItems = this.renderedTreeListItems || [];
|
|
2720
|
+
return loadedItems.find(isSelectedCallback);
|
|
2721
|
+
};
|
|
2669
2722
|
var GanttComponent_1;
|
|
2670
2723
|
__decorate([
|
|
2671
2724
|
ViewChild(TreeListComponent, { static: true }),
|
|
@@ -2739,8 +2792,9 @@ var GanttComponent = /** @class */ (function () {
|
|
|
2739
2792
|
], GanttComponent.prototype, "selectable", void 0);
|
|
2740
2793
|
__decorate([
|
|
2741
2794
|
Input(),
|
|
2742
|
-
__metadata("design:type",
|
|
2743
|
-
|
|
2795
|
+
__metadata("design:type", Object),
|
|
2796
|
+
__metadata("design:paramtypes", [Object])
|
|
2797
|
+
], GanttComponent.prototype, "toolbarSettings", null);
|
|
2744
2798
|
__decorate([
|
|
2745
2799
|
Input(),
|
|
2746
2800
|
__metadata("design:type", Function)
|
|
@@ -2861,6 +2915,10 @@ var GanttComponent = /** @class */ (function () {
|
|
|
2861
2915
|
Output(),
|
|
2862
2916
|
__metadata("design:type", EventEmitter)
|
|
2863
2917
|
], GanttComponent.prototype, "save", void 0);
|
|
2918
|
+
__decorate([
|
|
2919
|
+
Output(),
|
|
2920
|
+
__metadata("design:type", EventEmitter)
|
|
2921
|
+
], GanttComponent.prototype, "taskAdd", void 0);
|
|
2864
2922
|
__decorate([
|
|
2865
2923
|
Output(),
|
|
2866
2924
|
__metadata("design:type", EventEmitter)
|
|
@@ -2937,7 +2995,7 @@ var GanttComponent = /** @class */ (function () {
|
|
|
2937
2995
|
OptionChangesService,
|
|
2938
2996
|
EditService
|
|
2939
2997
|
],
|
|
2940
|
-
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 "
|
|
2998
|
+
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 "
|
|
2941
2999
|
}),
|
|
2942
3000
|
__metadata("design:paramtypes", [TimelineViewService,
|
|
2943
3001
|
ScrollSyncService,
|
|
@@ -3091,7 +3149,7 @@ var GanttTasksTableBodyComponent = /** @class */ (function () {
|
|
|
3091
3149
|
configurable: true
|
|
3092
3150
|
});
|
|
3093
3151
|
GanttTasksTableBodyComponent.prototype.isMileStone = function (task) {
|
|
3094
|
-
return !this.hasChildren(task) &&
|
|
3152
|
+
return !this.hasChildren(task) && isEqual(this.mapper.extractFromTask(task, 'start'), this.mapper.extractFromTask(task, 'end'));
|
|
3095
3153
|
};
|
|
3096
3154
|
__decorate([
|
|
3097
3155
|
ViewChild('timelineRow', { static: false }),
|
|
@@ -3467,9 +3525,8 @@ var GanttHierarchyBindingDirective = /** @class */ (function (_super) {
|
|
|
3467
3525
|
*/
|
|
3468
3526
|
var GanttExpandableDirective = /** @class */ (function (_super) {
|
|
3469
3527
|
__extends(GanttExpandableDirective, _super);
|
|
3470
|
-
|
|
3471
|
-
|
|
3472
|
-
return _super.call(this, gantt) || this;
|
|
3528
|
+
function GanttExpandableDirective() {
|
|
3529
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
3473
3530
|
}
|
|
3474
3531
|
__decorate([
|
|
3475
3532
|
Input(),
|
|
@@ -3479,8 +3536,7 @@ var GanttExpandableDirective = /** @class */ (function (_super) {
|
|
|
3479
3536
|
Directive({
|
|
3480
3537
|
exportAs: 'kendoGanttExpandable',
|
|
3481
3538
|
selector: '[kendoGanttExpandable]'
|
|
3482
|
-
})
|
|
3483
|
-
__metadata("design:paramtypes", [ExpandableTreeComponent])
|
|
3539
|
+
})
|
|
3484
3540
|
], GanttExpandableDirective);
|
|
3485
3541
|
return GanttExpandableDirective;
|
|
3486
3542
|
}(ExpandableDirective));
|
|
@@ -3658,6 +3714,14 @@ var ToolbarComponent = /** @class */ (function () {
|
|
|
3658
3714
|
this.gantt.activeViewChange.emit(e);
|
|
3659
3715
|
this.scrollSyncService.resetTimelineScrollLeft();
|
|
3660
3716
|
};
|
|
3717
|
+
__decorate([
|
|
3718
|
+
Input(),
|
|
3719
|
+
__metadata("design:type", Boolean)
|
|
3720
|
+
], ToolbarComponent.prototype, "showAddTask", void 0);
|
|
3721
|
+
__decorate([
|
|
3722
|
+
Input(),
|
|
3723
|
+
__metadata("design:type", Boolean)
|
|
3724
|
+
], ToolbarComponent.prototype, "showViewSelector", void 0);
|
|
3661
3725
|
__decorate([
|
|
3662
3726
|
Input(),
|
|
3663
3727
|
__metadata("design:type", String),
|
|
@@ -3666,7 +3730,7 @@ var ToolbarComponent = /** @class */ (function () {
|
|
|
3666
3730
|
ToolbarComponent = __decorate([
|
|
3667
3731
|
Component({
|
|
3668
3732
|
selector: 'kendo-gantt-toolbar',
|
|
3669
|
-
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 "
|
|
3733
|
+
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 "
|
|
3670
3734
|
}),
|
|
3671
3735
|
__metadata("design:paramtypes", [GanttComponent,
|
|
3672
3736
|
ScrollSyncService])
|
|
@@ -4095,6 +4159,38 @@ var Messages = /** @class */ (function (_super) {
|
|
|
4095
4159
|
function Messages() {
|
|
4096
4160
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
4097
4161
|
}
|
|
4162
|
+
__decorate([
|
|
4163
|
+
Input(),
|
|
4164
|
+
__metadata("design:type", String)
|
|
4165
|
+
], Messages.prototype, "taskEditingGeneralTabTitle", void 0);
|
|
4166
|
+
__decorate([
|
|
4167
|
+
Input(),
|
|
4168
|
+
__metadata("design:type", String)
|
|
4169
|
+
], Messages.prototype, "taskEditingPredecessorsTabTitle", void 0);
|
|
4170
|
+
__decorate([
|
|
4171
|
+
Input(),
|
|
4172
|
+
__metadata("design:type", String)
|
|
4173
|
+
], Messages.prototype, "taskEditingSuccessorsTabTitle", void 0);
|
|
4174
|
+
__decorate([
|
|
4175
|
+
Input(),
|
|
4176
|
+
__metadata("design:type", String)
|
|
4177
|
+
], Messages.prototype, "taskEditingDependenciesAddButtonText", void 0);
|
|
4178
|
+
__decorate([
|
|
4179
|
+
Input(),
|
|
4180
|
+
__metadata("design:type", String)
|
|
4181
|
+
], Messages.prototype, "taskEditingDependenciesRemoveButtonText", void 0);
|
|
4182
|
+
__decorate([
|
|
4183
|
+
Input(),
|
|
4184
|
+
__metadata("design:type", String)
|
|
4185
|
+
], Messages.prototype, "taskEditingDependenciesGridNameColumnTitle", void 0);
|
|
4186
|
+
__decorate([
|
|
4187
|
+
Input(),
|
|
4188
|
+
__metadata("design:type", String)
|
|
4189
|
+
], Messages.prototype, "taskEditingDependenciesGridTypeColumnTitle", void 0);
|
|
4190
|
+
__decorate([
|
|
4191
|
+
Input(),
|
|
4192
|
+
__metadata("design:type", String)
|
|
4193
|
+
], Messages.prototype, "deleteButtonText", void 0);
|
|
4098
4194
|
__decorate([
|
|
4099
4195
|
Input(),
|
|
4100
4196
|
__metadata("design:type", String)
|
|
@@ -4118,7 +4214,19 @@ var Messages = /** @class */ (function (_super) {
|
|
|
4118
4214
|
__decorate([
|
|
4119
4215
|
Input(),
|
|
4120
4216
|
__metadata("design:type", String)
|
|
4121
|
-
], Messages.prototype, "
|
|
4217
|
+
], Messages.prototype, "addTaskText", void 0);
|
|
4218
|
+
__decorate([
|
|
4219
|
+
Input(),
|
|
4220
|
+
__metadata("design:type", String)
|
|
4221
|
+
], Messages.prototype, "addChildText", void 0);
|
|
4222
|
+
__decorate([
|
|
4223
|
+
Input(),
|
|
4224
|
+
__metadata("design:type", String)
|
|
4225
|
+
], Messages.prototype, "addAboveText", void 0);
|
|
4226
|
+
__decorate([
|
|
4227
|
+
Input(),
|
|
4228
|
+
__metadata("design:type", String)
|
|
4229
|
+
], Messages.prototype, "addBelowText", void 0);
|
|
4122
4230
|
__decorate([
|
|
4123
4231
|
Input(),
|
|
4124
4232
|
__metadata("design:type", String)
|
|
@@ -4390,27 +4498,89 @@ var LocalizedMessagesDirective = /** @class */ (function (_super) {
|
|
|
4390
4498
|
}(Messages));
|
|
4391
4499
|
|
|
4392
4500
|
/**
|
|
4393
|
-
*
|
|
4501
|
+
* The UI for adding new items to the Gantt.
|
|
4502
|
+
* Use it within a toolbar template to provide a custom icon or list of options.
|
|
4394
4503
|
*/
|
|
4395
|
-
var
|
|
4396
|
-
function
|
|
4504
|
+
var GanttAddTaskComponent = /** @class */ (function () {
|
|
4505
|
+
function GanttAddTaskComponent(localizationService, editService, ngZone) {
|
|
4397
4506
|
this.localizationService = localizationService;
|
|
4507
|
+
this.editService = editService;
|
|
4508
|
+
this.ngZone = ngZone;
|
|
4509
|
+
/**
|
|
4510
|
+
* Sets the data of the DropDownButton.
|
|
4511
|
+
* > The data has to be provided in an array-like list.
|
|
4512
|
+
*/
|
|
4513
|
+
this.data = [{
|
|
4514
|
+
text: this.getText('addChildText'),
|
|
4515
|
+
type: 'addChild'
|
|
4516
|
+
}, {
|
|
4517
|
+
text: this.getText('addAboveText'),
|
|
4518
|
+
type: 'addAbove'
|
|
4519
|
+
}, {
|
|
4520
|
+
text: this.getText('addBelowText'),
|
|
4521
|
+
type: 'addBelow'
|
|
4522
|
+
}];
|
|
4523
|
+
/**
|
|
4524
|
+
* Defines the name of an existing icon in a Kendo UI theme.
|
|
4525
|
+
* @default 'plus'
|
|
4526
|
+
*/
|
|
4527
|
+
this.icon = 'plus';
|
|
4398
4528
|
}
|
|
4399
|
-
|
|
4529
|
+
/**
|
|
4530
|
+
* @hidden
|
|
4531
|
+
*/
|
|
4532
|
+
GanttAddTaskComponent.prototype.getText = function (message) {
|
|
4533
|
+
return this.localizationService.get(message);
|
|
4534
|
+
};
|
|
4535
|
+
/**
|
|
4536
|
+
* @hidden
|
|
4537
|
+
*/
|
|
4538
|
+
GanttAddTaskComponent.prototype.handleOpen = function (e) {
|
|
4539
|
+
if (!this.editService.getSelectedItem()) {
|
|
4540
|
+
e.preventDefault();
|
|
4541
|
+
}
|
|
4542
|
+
};
|
|
4543
|
+
/**
|
|
4544
|
+
* @hidden
|
|
4545
|
+
*/
|
|
4546
|
+
GanttAddTaskComponent.prototype.handleMouseClick = function () {
|
|
4400
4547
|
var _this = this;
|
|
4401
|
-
|
|
4402
|
-
|
|
4403
|
-
|
|
4548
|
+
if (!this.editService.getSelectedItem()) {
|
|
4549
|
+
this.ngZone.run(function () {
|
|
4550
|
+
_this.editService.addEvent.next({
|
|
4551
|
+
selectedItem: null,
|
|
4552
|
+
actionType: 'addTask'
|
|
4553
|
+
});
|
|
4554
|
+
});
|
|
4555
|
+
}
|
|
4556
|
+
};
|
|
4557
|
+
/**
|
|
4558
|
+
* @hidden
|
|
4559
|
+
*/
|
|
4560
|
+
GanttAddTaskComponent.prototype.handleItemClick = function (e) {
|
|
4561
|
+
this.editService.addEvent.next({
|
|
4562
|
+
actionType: e.type,
|
|
4563
|
+
selectedItem: null
|
|
4564
|
+
});
|
|
4404
4565
|
};
|
|
4405
4566
|
__decorate([
|
|
4406
4567
|
Input(),
|
|
4407
|
-
__metadata("design:type",
|
|
4408
|
-
],
|
|
4409
|
-
|
|
4410
|
-
|
|
4411
|
-
__metadata("design:
|
|
4412
|
-
],
|
|
4413
|
-
|
|
4568
|
+
__metadata("design:type", Array)
|
|
4569
|
+
], GanttAddTaskComponent.prototype, "data", void 0);
|
|
4570
|
+
__decorate([
|
|
4571
|
+
Input(),
|
|
4572
|
+
__metadata("design:type", String)
|
|
4573
|
+
], GanttAddTaskComponent.prototype, "icon", void 0);
|
|
4574
|
+
GanttAddTaskComponent = __decorate([
|
|
4575
|
+
Component({
|
|
4576
|
+
selector: 'kendo-gantt-add-task',
|
|
4577
|
+
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 "
|
|
4578
|
+
}),
|
|
4579
|
+
__metadata("design:paramtypes", [LocalizationService,
|
|
4580
|
+
EditService,
|
|
4581
|
+
NgZone])
|
|
4582
|
+
], GanttAddTaskComponent);
|
|
4583
|
+
return GanttAddTaskComponent;
|
|
4414
4584
|
}());
|
|
4415
4585
|
|
|
4416
4586
|
var IMPORTED_MODULES = [
|
|
@@ -4461,7 +4631,7 @@ var DECLARATIONS = [
|
|
|
4461
4631
|
EditDialogComponent,
|
|
4462
4632
|
CustomMessagesComponent,
|
|
4463
4633
|
LocalizedMessagesDirective,
|
|
4464
|
-
|
|
4634
|
+
GanttAddTaskComponent
|
|
4465
4635
|
];
|
|
4466
4636
|
/**
|
|
4467
4637
|
* Represents the [NgModule]({{ site.data.urls.angular['ngmoduleapi'] }})
|
|
@@ -4511,8 +4681,49 @@ var GanttModule = /** @class */ (function () {
|
|
|
4511
4681
|
return GanttModule;
|
|
4512
4682
|
}());
|
|
4513
4683
|
|
|
4684
|
+
/**
|
|
4685
|
+
* @hidden
|
|
4686
|
+
*/
|
|
4687
|
+
var PreventableEvent = /** @class */ (function () {
|
|
4688
|
+
function PreventableEvent() {
|
|
4689
|
+
this.prevented = false;
|
|
4690
|
+
}
|
|
4691
|
+
/**
|
|
4692
|
+
* Prevents the default action for a specified event.
|
|
4693
|
+
* In this way, the source component suppresses
|
|
4694
|
+
* the built-in behavior that follows the event.
|
|
4695
|
+
*/
|
|
4696
|
+
PreventableEvent.prototype.preventDefault = function () {
|
|
4697
|
+
this.prevented = true;
|
|
4698
|
+
};
|
|
4699
|
+
/**
|
|
4700
|
+
* Returns `true` if the event was prevented
|
|
4701
|
+
* by any of its subscribers.
|
|
4702
|
+
*
|
|
4703
|
+
* @returns `true` if the default action was prevented.
|
|
4704
|
+
* Otherwise, returns `false`.
|
|
4705
|
+
*/
|
|
4706
|
+
PreventableEvent.prototype.isDefaultPrevented = function () {
|
|
4707
|
+
return this.prevented;
|
|
4708
|
+
};
|
|
4709
|
+
return PreventableEvent;
|
|
4710
|
+
}());
|
|
4711
|
+
|
|
4712
|
+
/**
|
|
4713
|
+
* Called every time a user leaves an edited cell.
|
|
4714
|
+
*/
|
|
4715
|
+
var CellCloseEvent = /** @class */ (function (_super) {
|
|
4716
|
+
__extends(CellCloseEvent, _super);
|
|
4717
|
+
function CellCloseEvent(options) {
|
|
4718
|
+
var _this = _super.call(this) || this;
|
|
4719
|
+
Object.assign(_this, options);
|
|
4720
|
+
return _this;
|
|
4721
|
+
}
|
|
4722
|
+
return CellCloseEvent;
|
|
4723
|
+
}(PreventableEvent));
|
|
4724
|
+
|
|
4514
4725
|
/**
|
|
4515
4726
|
* Generated bundle index. Do not edit.
|
|
4516
4727
|
*/
|
|
4517
4728
|
|
|
4518
|
-
export { MappingService, OptionChangesService, DependencyDomService, GanttDependencyDirective, EditDialogComponent, EditService, CustomMessagesComponent, LocalizedMessagesDirective, Messages,
|
|
4729
|
+
export { MappingService, OptionChangesService, DependencyDomService, GanttDependencyDirective, GanttAddTaskComponent, EditDialogComponent, EditService, CustomMessagesComponent, LocalizedMessagesDirective, Messages, PreventableEvent, GanttHeaderTableBodyComponent, GanttMilestoneTaskComponent, GanttSummaryTaskComponent, GanttTaskBase, GanttTaskComponent, GanttTasksTableBodyComponent, ScrollSyncService, GanttTimelineComponent, TimelineBaseViewService, TimelineDayViewComponent, TimelineDayViewService, TimelineMonthViewComponent, TimelineMonthViewService, TimelineViewService, TimelineWeekViewComponent, TimelineWeekViewService, ViewBase, ToolbarComponent, ViewSelectorComponent, GanttComponent, GanttModule, GanttHierarchyBindingDirective, GanttFlatBindingDirective, GanttExpandableDirective, GanttTaskTemplateDirective, GanttTaskContentTemplateDirective, GanttSummaryTaskTemplateDirective, ToolbarTemplateDirective, SelectableDirective, CellCloseEvent, GanttColumnBase, GanttColumnComponent, GanttColumnGroupComponent, GanttSpanColumnComponent, CellTemplateDirective, HeaderTemplateDirective, FooterTemplateDirective, ColumnMenuTemplateDirective, FilterCellTemplateDirective, FilterMenuTemplateDirective, EditTemplateDirective };
|