@progress/kendo-angular-gantt 0.2.0-dev.202111231320 → 0.2.0-dev.202111241002
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/common/default-callbacks.js +4 -0
- package/dist/es/gantt.component.js +187 -32
- package/dist/es/gantt.module.js +3 -1
- package/dist/es/main.js +1 -0
- package/dist/es/package-metadata.js +1 -1
- package/dist/es/rendering/gantt-milestone-task.component.js +1 -1
- package/dist/es/rendering/gantt-summary-task.component.js +1 -1
- package/dist/es/rendering/gantt-task-base.js +8 -4
- package/dist/es/rendering/gantt-task.component.js +1 -1
- package/dist/es/rendering/gantt-tasks-table-body.component.js +3 -3
- package/dist/es/selection/selectable.directive.js +141 -0
- package/dist/es/selection/selection-change-event.js +4 -0
- package/dist/es/timeline/gantt-timeline.component.js +5 -1
- package/dist/es/utils.js +5 -1
- package/dist/es2015/common/default-callbacks.d.ts +4 -0
- package/dist/es2015/common/default-callbacks.js +4 -0
- package/dist/es2015/gantt.component.d.ts +66 -18
- package/dist/es2015/gantt.component.js +191 -34
- package/dist/es2015/gantt.module.js +3 -1
- package/dist/es2015/index.metadata.json +1 -1
- package/dist/es2015/main.d.ts +2 -0
- package/dist/es2015/main.js +1 -0
- package/dist/es2015/models/events/cell-click-event.interface.d.ts +31 -8
- package/dist/es2015/models/events/task-click-event.interface.d.ts +13 -5
- package/dist/es2015/models/models.d.ts +2 -0
- package/dist/es2015/package-metadata.js +1 -1
- package/dist/es2015/rendering/gantt-milestone-task.component.js +1 -0
- package/dist/es2015/rendering/gantt-summary-task.component.js +1 -0
- package/dist/es2015/rendering/gantt-task-base.d.ts +2 -1
- package/dist/es2015/rendering/gantt-task-base.js +8 -4
- package/dist/es2015/rendering/gantt-task.component.js +1 -0
- package/dist/es2015/rendering/gantt-tasks-table-body.component.d.ts +1 -1
- package/dist/es2015/rendering/gantt-tasks-table-body.component.js +5 -2
- package/dist/es2015/selection/selectable.directive.d.ts +42 -0
- package/dist/es2015/selection/selectable.directive.js +122 -0
- package/dist/es2015/selection/selection-change-event.d.ts +25 -0
- package/dist/es2015/selection/selection-change-event.js +4 -0
- package/dist/es2015/timeline/gantt-timeline.component.d.ts +1 -0
- package/dist/es2015/timeline/gantt-timeline.component.js +5 -0
- package/dist/es2015/utils.d.ts +5 -0
- package/dist/es2015/utils.js +5 -1
- package/dist/fesm2015/index.js +334 -39
- package/dist/fesm5/index.js +347 -42
- package/dist/npm/common/default-callbacks.js +4 -0
- package/dist/npm/gantt.component.js +187 -32
- package/dist/npm/gantt.module.js +3 -1
- package/dist/npm/main.js +2 -0
- package/dist/npm/package-metadata.js +1 -1
- package/dist/npm/rendering/gantt-milestone-task.component.js +1 -1
- package/dist/npm/rendering/gantt-summary-task.component.js +1 -1
- package/dist/npm/rendering/gantt-task-base.js +8 -4
- package/dist/npm/rendering/gantt-task.component.js +1 -1
- package/dist/npm/rendering/gantt-tasks-table-body.component.js +3 -3
- package/dist/npm/selection/selectable.directive.js +143 -0
- package/dist/npm/selection/selection-change-event.js +6 -0
- package/dist/npm/timeline/gantt-timeline.component.js +5 -1
- package/dist/npm/utils.js +4 -0
- package/dist/systemjs/kendo-angular-gantt.js +1 -1
- package/package.json +1 -1
package/dist/fesm5/index.js
CHANGED
|
@@ -5,12 +5,12 @@
|
|
|
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, isEqualDate, MS_PER_HOUR, MS_PER_DAY } from '@progress/kendo-date-math';
|
|
8
9
|
import { of, fromEvent, Subject, Subscription } from 'rxjs';
|
|
9
10
|
import { validatePackage } from '@progress/kendo-licensing';
|
|
10
11
|
import { isDocumentAvailable, closestInScope, matchesClasses, anyChanged, hasObservers, EventsModule } from '@progress/kendo-angular-common';
|
|
11
12
|
import { IntlService } from '@progress/kendo-angular-intl';
|
|
12
13
|
import { orderBy } from '@progress/kendo-data-query';
|
|
13
|
-
import { cloneDate, addWeeks, firstDayInWeek, addDays, getDate, lastDayOfMonth, firstDayOfMonth, addMonths, isEqualDate, MS_PER_HOUR, MS_PER_DAY } from '@progress/kendo-date-math';
|
|
14
14
|
import { getter } from '@progress/kendo-common';
|
|
15
15
|
import { map, distinctUntilChanged, take, filter, switchMap } from 'rxjs/operators';
|
|
16
16
|
import { LocalizationService, ComponentMessages, L10N_PREFIX } from '@progress/kendo-angular-l10n';
|
|
@@ -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: 1637747718,
|
|
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
|
};
|
|
@@ -647,6 +647,10 @@ var rowClassCallback = function () { return null; };
|
|
|
647
647
|
* @hidden
|
|
648
648
|
*/
|
|
649
649
|
var taskClassCallback = function () { return null; };
|
|
650
|
+
/**
|
|
651
|
+
* @hidden
|
|
652
|
+
*/
|
|
653
|
+
var isSelected = function () { return false; };
|
|
650
654
|
|
|
651
655
|
/**
|
|
652
656
|
* @hidden
|
|
@@ -746,6 +750,10 @@ var isColumnGroup = function (column) { return column.isColumnGroup; };
|
|
|
746
750
|
* @hidden
|
|
747
751
|
*/
|
|
748
752
|
var isNumber = function (contender) { return typeof contender === 'number' && !isNaN(contender); };
|
|
753
|
+
/**
|
|
754
|
+
* @hidden
|
|
755
|
+
*/
|
|
756
|
+
var isString = function (contender) { return typeof contender === 'string'; };
|
|
749
757
|
/**
|
|
750
758
|
* @hidden
|
|
751
759
|
*
|
|
@@ -1786,6 +1794,27 @@ var GanttComponent = /** @class */ (function () {
|
|
|
1786
1794
|
this.hostElement = hostElement;
|
|
1787
1795
|
this.zone = zone;
|
|
1788
1796
|
this.hostClasses = true;
|
|
1797
|
+
/**
|
|
1798
|
+
* Provides a callback that determines if the given task is selected ([see example]({% slug selection_gantt %}#toc-custom-selection))
|
|
1799
|
+
*
|
|
1800
|
+
* > The [`selectable`]({% slug gantt_api_ganttcomponent %}#toc-selectable) prop has to be set to `true` in order for this callback to be executed.
|
|
1801
|
+
*/
|
|
1802
|
+
this.isSelected = isSelected;
|
|
1803
|
+
/**
|
|
1804
|
+
* Fires when the Gantt selection is changed through user interaction.
|
|
1805
|
+
*
|
|
1806
|
+
* Holds data about the affected [`items`]({% slug api_gantt_selectionchangeevent %}#toc-items) and the attempted [`action`]({% slug api_gantt_selectionchangeevent %}#toc-action):
|
|
1807
|
+
* - `select` - Triggered on `click` or `ctrl + click` on deselected items.
|
|
1808
|
+
* - `remove` - Triggered on `ctrl + click` on selected items.
|
|
1809
|
+
*/
|
|
1810
|
+
this.selectionChange = new EventEmitter();
|
|
1811
|
+
/**
|
|
1812
|
+
* Enables or disables the Gantt selection mechanism ([see example]({% slug selection_gantt %}#toc-custom-selection)).
|
|
1813
|
+
*
|
|
1814
|
+
* > When set to `true`, the [`isSelected`]({% slug gantt_api_ganttcomponent %}#toc-isselected) callback has to be provided.
|
|
1815
|
+
* > When applied, the [`SelectableDirective`]({% slug api_gantt_selectabledirective %}) sets `selectable` to `true` internally.
|
|
1816
|
+
*/
|
|
1817
|
+
this.selectable = false;
|
|
1789
1818
|
/**
|
|
1790
1819
|
* The position of the toolbar.
|
|
1791
1820
|
*
|
|
@@ -1954,6 +1983,14 @@ var GanttComponent = /** @class */ (function () {
|
|
|
1954
1983
|
* Fires when the user changes the locked state of the columns from the column menu or by reordering the columns.
|
|
1955
1984
|
*/
|
|
1956
1985
|
this.columnLockedChange = new EventEmitter();
|
|
1986
|
+
/**
|
|
1987
|
+
* Fires when a cell is clicked.
|
|
1988
|
+
*/
|
|
1989
|
+
this.cellClick = new EventEmitter();
|
|
1990
|
+
/**
|
|
1991
|
+
* Fires when a task is clicked.
|
|
1992
|
+
*/
|
|
1993
|
+
this.taskClick = new EventEmitter();
|
|
1957
1994
|
/**
|
|
1958
1995
|
* @hidden
|
|
1959
1996
|
*
|
|
@@ -1979,9 +2016,6 @@ var GanttComponent = /** @class */ (function () {
|
|
|
1979
2016
|
this.optionChangesSubscriptions = new Subscription();
|
|
1980
2017
|
this.editServiceSubscription = new Subscription();
|
|
1981
2018
|
validatePackage(packageMetadata);
|
|
1982
|
-
this.handleTimelineDblClick = this.handleTimelineDblClick.bind(this);
|
|
1983
|
-
this.handleTimelineMouseDown = this.handleTimelineMouseDown.bind(this);
|
|
1984
|
-
this.handleDoubleClick = this.handleDoubleClick.bind(this);
|
|
1985
2019
|
this.optionChangesSubscriptions.add(this.optionChangesService.viewChanges.subscribe(function () {
|
|
1986
2020
|
_this.loadTimelineData();
|
|
1987
2021
|
}));
|
|
@@ -2217,6 +2251,19 @@ var GanttComponent = /** @class */ (function () {
|
|
|
2217
2251
|
enumerable: true,
|
|
2218
2252
|
configurable: true
|
|
2219
2253
|
});
|
|
2254
|
+
Object.defineProperty(GanttComponent.prototype, "isTaskSelected", {
|
|
2255
|
+
/**
|
|
2256
|
+
* @hidden
|
|
2257
|
+
*
|
|
2258
|
+
* Retrieves the `isSelected` callback if `selectable` is set to `true`
|
|
2259
|
+
* Otherwise returns the default callback, which always returns `false`.
|
|
2260
|
+
*/
|
|
2261
|
+
get: function () {
|
|
2262
|
+
return this.selectable ? this.isSelected : isSelected;
|
|
2263
|
+
},
|
|
2264
|
+
enumerable: true,
|
|
2265
|
+
configurable: true
|
|
2266
|
+
});
|
|
2220
2267
|
Object.defineProperty(GanttComponent.prototype, "idGetter", {
|
|
2221
2268
|
/**
|
|
2222
2269
|
* @hidden
|
|
@@ -2325,6 +2372,14 @@ var GanttComponent = /** @class */ (function () {
|
|
|
2325
2372
|
this.treeList.reorderColumn(source, destIndex, options);
|
|
2326
2373
|
}
|
|
2327
2374
|
};
|
|
2375
|
+
/**
|
|
2376
|
+
* Updates the data of the Gantt and forces row-related callbacks to be called anew.
|
|
2377
|
+
*/
|
|
2378
|
+
GanttComponent.prototype.updateView = function () {
|
|
2379
|
+
if (isPresent(this.treeList)) {
|
|
2380
|
+
this.treeList.updateView();
|
|
2381
|
+
}
|
|
2382
|
+
};
|
|
2328
2383
|
/**
|
|
2329
2384
|
* Opens the task editing dialog.
|
|
2330
2385
|
*/
|
|
@@ -2385,16 +2440,6 @@ var GanttComponent = /** @class */ (function () {
|
|
|
2385
2440
|
this.dependencyDomService.notifyChanges();
|
|
2386
2441
|
}
|
|
2387
2442
|
};
|
|
2388
|
-
/**
|
|
2389
|
-
* @hidden
|
|
2390
|
-
*
|
|
2391
|
-
* Used by the GanttExpandableDirective.
|
|
2392
|
-
*/
|
|
2393
|
-
GanttComponent.prototype.updateView = function () {
|
|
2394
|
-
if (isPresent(this.treeList)) {
|
|
2395
|
-
this.treeList.updateView();
|
|
2396
|
-
}
|
|
2397
|
-
};
|
|
2398
2443
|
/**
|
|
2399
2444
|
* @hidden
|
|
2400
2445
|
*/
|
|
@@ -2432,25 +2477,92 @@ var GanttComponent = /** @class */ (function () {
|
|
|
2432
2477
|
/**
|
|
2433
2478
|
* @hidden
|
|
2434
2479
|
*/
|
|
2435
|
-
GanttComponent.prototype.
|
|
2436
|
-
|
|
2480
|
+
GanttComponent.prototype.handleTimelineRightClick = function (event) {
|
|
2481
|
+
var _this = this;
|
|
2482
|
+
var target = event.target;
|
|
2483
|
+
var gantt = this.hostElement.nativeElement;
|
|
2484
|
+
if (!isTask(target, gantt) || isClearButton(target, gantt)) {
|
|
2485
|
+
return;
|
|
2486
|
+
}
|
|
2487
|
+
if (hasObservers(this.taskClick)) {
|
|
2488
|
+
var taskIndex_1 = getClosestTaskIndex(target, gantt);
|
|
2489
|
+
var task_1 = this.renderedTreeListItems[taskIndex_1];
|
|
2490
|
+
this.zone.run(function () { return _this.emitTaskClick(event, task_1, taskIndex_1); });
|
|
2491
|
+
}
|
|
2492
|
+
};
|
|
2493
|
+
/**
|
|
2494
|
+
* @hidden
|
|
2495
|
+
*/
|
|
2496
|
+
GanttComponent.prototype.handleTimelineClick = function (event) {
|
|
2497
|
+
var _this = this;
|
|
2498
|
+
var target = event.target;
|
|
2499
|
+
var gantt = this.hostElement.nativeElement;
|
|
2500
|
+
if (!isTask(target, gantt) || isClearButton(target, gantt)) {
|
|
2501
|
+
return;
|
|
2502
|
+
}
|
|
2503
|
+
var taskIndex = getClosestTaskIndex(target, gantt);
|
|
2504
|
+
var task = this.renderedTreeListItems[taskIndex];
|
|
2505
|
+
var selectionAction = this.getSelectionAction(event, task);
|
|
2506
|
+
if ((hasObservers(this.selectionChange) && !this.isSameSelection(selectionAction, task)) ||
|
|
2507
|
+
hasObservers(this.taskClick)) {
|
|
2508
|
+
this.zone.run(function () {
|
|
2509
|
+
_this.emitSelectionChange(task, selectionAction);
|
|
2510
|
+
_this.emitTaskClick(event, task, taskIndex);
|
|
2511
|
+
});
|
|
2512
|
+
}
|
|
2437
2513
|
};
|
|
2438
2514
|
/**
|
|
2439
2515
|
* @hidden
|
|
2440
2516
|
*/
|
|
2441
|
-
GanttComponent.prototype.
|
|
2517
|
+
GanttComponent.prototype.handleTreeListDoubleClick = function (event) {
|
|
2442
2518
|
var _this = this;
|
|
2443
|
-
|
|
2444
|
-
if (event.target !== cell) {
|
|
2519
|
+
if (!isPresent(this.lastTreeListCellClick) || event.target !== this.lastTreeListCellClick.originalEvent.target) {
|
|
2445
2520
|
return;
|
|
2446
2521
|
}
|
|
2447
|
-
this.editItem = getEditItem(this.
|
|
2522
|
+
this.editItem = getEditItem(this.lastTreeListCellClick.dataItem, this.treeList.view.data, this.mapper);
|
|
2448
2523
|
if (hasObservers(this.cellDblClick)) {
|
|
2449
2524
|
this.zone.run(function () {
|
|
2450
|
-
_this.cellDblClick.emit(
|
|
2525
|
+
_this.cellDblClick.emit({
|
|
2526
|
+
column: _this.lastTreeListCellClick.column,
|
|
2527
|
+
columnIndex: _this.lastTreeListCellClick.columnIndex,
|
|
2528
|
+
dataItem: _this.lastTreeListCellClick.dataItem,
|
|
2529
|
+
isEdited: _this.lastTreeListCellClick.isEdited,
|
|
2530
|
+
originalEvent: _this.lastTreeListCellClick.originalEvent,
|
|
2531
|
+
rowIndex: _this.lastTreeListCellClick.rowIndex,
|
|
2532
|
+
type: 'dblclick',
|
|
2533
|
+
sender: _this
|
|
2534
|
+
});
|
|
2451
2535
|
});
|
|
2452
2536
|
}
|
|
2453
2537
|
};
|
|
2538
|
+
/**
|
|
2539
|
+
* @hidden
|
|
2540
|
+
*/
|
|
2541
|
+
GanttComponent.prototype.handleTreeListSelectionChange = function (event) {
|
|
2542
|
+
// prevent selection change from right-click
|
|
2543
|
+
if (isPresent(this.lastTreeListCellClick) && this.lastTreeListCellClick.type === 'contextmenu') {
|
|
2544
|
+
return;
|
|
2545
|
+
}
|
|
2546
|
+
var task = event.items.map(function (item) { return item.dataItem; })[0]; // single selection only currently available
|
|
2547
|
+
var action = event.action;
|
|
2548
|
+
this.emitSelectionChange(task, action);
|
|
2549
|
+
};
|
|
2550
|
+
/**
|
|
2551
|
+
* @hidden
|
|
2552
|
+
*/
|
|
2553
|
+
GanttComponent.prototype.handleTreeListCellClick = function (event) {
|
|
2554
|
+
this.lastTreeListCellClick = event;
|
|
2555
|
+
this.cellClick.emit({
|
|
2556
|
+
column: event.column,
|
|
2557
|
+
columnIndex: event.columnIndex,
|
|
2558
|
+
dataItem: event.dataItem,
|
|
2559
|
+
isEdited: event.isEdited,
|
|
2560
|
+
originalEvent: event.originalEvent,
|
|
2561
|
+
rowIndex: event.rowIndex,
|
|
2562
|
+
type: event.type,
|
|
2563
|
+
sender: this
|
|
2564
|
+
});
|
|
2565
|
+
};
|
|
2454
2566
|
/**
|
|
2455
2567
|
* @hidden
|
|
2456
2568
|
*/
|
|
@@ -2478,13 +2590,17 @@ var GanttComponent = /** @class */ (function () {
|
|
|
2478
2590
|
if (!isTask(target, gantt) || isClearButton(target, gantt)) {
|
|
2479
2591
|
return;
|
|
2480
2592
|
}
|
|
2481
|
-
|
|
2482
|
-
|
|
2483
|
-
|
|
2484
|
-
|
|
2485
|
-
|
|
2486
|
-
|
|
2487
|
-
|
|
2593
|
+
if (hasObservers(this.taskDblClick)) {
|
|
2594
|
+
var taskIndex_2 = getClosestTaskIndex(target, gantt);
|
|
2595
|
+
var task_2 = this.renderedTreeListItems[taskIndex_2];
|
|
2596
|
+
this.zone.run(function () { return _this.taskDblClick.emit({
|
|
2597
|
+
dataItem: task_2,
|
|
2598
|
+
originalEvent: event,
|
|
2599
|
+
sender: _this,
|
|
2600
|
+
rowIndex: taskIndex_2,
|
|
2601
|
+
type: 'dblclick'
|
|
2602
|
+
}); });
|
|
2603
|
+
}
|
|
2488
2604
|
};
|
|
2489
2605
|
/**
|
|
2490
2606
|
* @hidden
|
|
@@ -2492,6 +2608,26 @@ var GanttComponent = /** @class */ (function () {
|
|
|
2492
2608
|
GanttComponent.prototype.getText = function (token) {
|
|
2493
2609
|
return this.localizationService.get(token);
|
|
2494
2610
|
};
|
|
2611
|
+
GanttComponent.prototype.emitTaskClick = function (event, dataItem, itemIndex) {
|
|
2612
|
+
this.taskClick.emit({
|
|
2613
|
+
originalEvent: event,
|
|
2614
|
+
dataItem: dataItem,
|
|
2615
|
+
rowIndex: itemIndex,
|
|
2616
|
+
type: event.type,
|
|
2617
|
+
sender: this
|
|
2618
|
+
});
|
|
2619
|
+
};
|
|
2620
|
+
GanttComponent.prototype.emitSelectionChange = function (dataItem, action) {
|
|
2621
|
+
if (this.isSameSelection(action, dataItem)) {
|
|
2622
|
+
return;
|
|
2623
|
+
}
|
|
2624
|
+
this.selectionChange.emit({
|
|
2625
|
+
action: action,
|
|
2626
|
+
items: [dataItem],
|
|
2627
|
+
sender: this
|
|
2628
|
+
});
|
|
2629
|
+
this.updateView();
|
|
2630
|
+
};
|
|
2495
2631
|
GanttComponent.prototype.updateTreeListGroupClass = function (columns) {
|
|
2496
2632
|
if (columns === void 0) { columns = this.columns; }
|
|
2497
2633
|
if (!isPresent(this.treeList)) {
|
|
@@ -2522,6 +2658,14 @@ var GanttComponent = /** @class */ (function () {
|
|
|
2522
2658
|
}
|
|
2523
2659
|
return this.views.find(function (view) { return view.type === _this.activeView; });
|
|
2524
2660
|
};
|
|
2661
|
+
GanttComponent.prototype.isSameSelection = function (action, dataItem) {
|
|
2662
|
+
return action === 'select' && this.isSelected(dataItem);
|
|
2663
|
+
};
|
|
2664
|
+
GanttComponent.prototype.getSelectionAction = function (_a, dataItem) {
|
|
2665
|
+
var ctrlKey = _a.ctrlKey, metaKey = _a.metaKey;
|
|
2666
|
+
var shouldToggleSelection = ctrlKey || metaKey;
|
|
2667
|
+
return (shouldToggleSelection && this.isSelected(dataItem)) ? 'remove' : 'select';
|
|
2668
|
+
};
|
|
2525
2669
|
var GanttComponent_1;
|
|
2526
2670
|
__decorate([
|
|
2527
2671
|
ViewChild(TreeListComponent, { static: true }),
|
|
@@ -2581,6 +2725,18 @@ var GanttComponent = /** @class */ (function () {
|
|
|
2581
2725
|
__metadata("design:type", Array),
|
|
2582
2726
|
__metadata("design:paramtypes", [Array])
|
|
2583
2727
|
], GanttComponent.prototype, "data", null);
|
|
2728
|
+
__decorate([
|
|
2729
|
+
Input(),
|
|
2730
|
+
__metadata("design:type", Function)
|
|
2731
|
+
], GanttComponent.prototype, "isSelected", void 0);
|
|
2732
|
+
__decorate([
|
|
2733
|
+
Output(),
|
|
2734
|
+
__metadata("design:type", EventEmitter)
|
|
2735
|
+
], GanttComponent.prototype, "selectionChange", void 0);
|
|
2736
|
+
__decorate([
|
|
2737
|
+
Input(),
|
|
2738
|
+
__metadata("design:type", Boolean)
|
|
2739
|
+
], GanttComponent.prototype, "selectable", void 0);
|
|
2584
2740
|
__decorate([
|
|
2585
2741
|
Input(),
|
|
2586
2742
|
__metadata("design:type", String)
|
|
@@ -2749,6 +2905,14 @@ var GanttComponent = /** @class */ (function () {
|
|
|
2749
2905
|
Output(),
|
|
2750
2906
|
__metadata("design:type", EventEmitter)
|
|
2751
2907
|
], GanttComponent.prototype, "columnLockedChange", void 0);
|
|
2908
|
+
__decorate([
|
|
2909
|
+
Output(),
|
|
2910
|
+
__metadata("design:type", EventEmitter)
|
|
2911
|
+
], GanttComponent.prototype, "cellClick", void 0);
|
|
2912
|
+
__decorate([
|
|
2913
|
+
Output(),
|
|
2914
|
+
__metadata("design:type", EventEmitter)
|
|
2915
|
+
], GanttComponent.prototype, "taskClick", void 0);
|
|
2752
2916
|
GanttComponent = GanttComponent_1 = __decorate([
|
|
2753
2917
|
Component({
|
|
2754
2918
|
selector: 'kendo-gantt',
|
|
@@ -2773,7 +2937,7 @@ var GanttComponent = /** @class */ (function () {
|
|
|
2773
2937
|
OptionChangesService,
|
|
2774
2938
|
EditService
|
|
2775
2939
|
],
|
|
2776
|
-
template: "\n <ng-container kendoGanttLocalizedMessages\n i18n-taskDeleteLabel=\"kendo.gantt.taskDeleteLabel|The label of the task delete icon\"\n taskDeleteLabel=\"Delete\"\n\n i18n-taskEditingDialogTitle=\"kendo.gantt.taskEditingDialogTitle|The title of the task editing dialog\"\n taskEditingDialogTitle=\"Editing Task\"\n\n i18n-taskEditingDialogCloseTitle=\"kendo.gantt.taskEditingDialogCloseTitle|The title of the task editing dialog close button\"\n taskEditingDialogCloseTitle=\"Close\"\n\n i18n-confirmationDialogCloseTitle=\"kendo.gantt.confirmationDialogCloseTitle|The title of the confirmation dialog close button\"\n confirmationDialogCloseTitle=\"Close\"\n\n i18n-confirmationDialogTitle=\"kendo.gantt.confirmationDialogTitle|The title of the delete task confirmation dialog\"\n confirmationDialogTitle=\"Delete Task\"\n\n i18n-confirmationDialogContent=\"kendo.gantt.confirmationDialogContent|The content of the delete task confirmation dialog\"\n confirmationDialogContent=\"Are you sure you want to delete this task?\"\n\n i18n-deleteButtonText=\"kendo.gantt.deleteButtonText|The text of the task editing dialog 'Delete' button\"\n deleteButtonText=\"Delete\"\n\n i18n-cancelButtonText=\"kendo.gantt.cancelButtonText|The text of the task editing dialog 'Cancel' button\"\n cancelButtonText=\"Cancel\"\n\n i18n-saveButtonText=\"kendo.gantt.saveButtonText|The text of the task editing dialog 'Save' button\"\n saveButtonText=\"Save\"\n\n i18n-titleFieldInputLabel=\"kendo.gantt.titleFieldInputLabel|The label of the 'title' field input in editing mode\"\n titleFieldInputLabel=\"Title\"\n\n i18n-startFieldInputLabel=\"kendo.gantt.startFieldInputLabel|The label of the 'start' field input in editing mode\"\n startFieldInputLabel=\"Start\"\n\n i18n-endFieldInputLabel=\"kendo.gantt.endFieldInputLabel|The label of the 'end' field input in editing mode\"\n endFieldInputLabel=\"End\"\n\n i18n-completionRatioFieldInputLabel=\"kendo.gantt.completionRatioFieldInputLabel|The label of the 'completionRatio' field input in editing mode\"\n completionRatioFieldInputLabel=\"Progress\"\n\n i18n-dayViewText=\"kendo.gantt.dayViewText|The text of the day view in the ViewSelector component\"\n dayViewText=\"Day\"\n\n i18n-weekViewText=\"kendo.gantt.weekViewText|The text of the week view in the ViewSelector component\"\n weekViewText=\"Week\"\n\n i18n-monthViewText=\"kendo.gantt.monthViewText|The text of the month view in the ViewSelector component\"\n monthViewText=\"Month\"\n\n i18n-yearViewText-disabled=\"kendo.gantt.yearViewText|The text of the year view in the ViewSelector component\"\n yearViewText=\"Year\"\n\n i18n-noRecords=\"kendo.gantt.noRecords|The label visible in the TreeList when there are no records\"\n noRecords=\"No records available.\"\n\n i18n-filter=\"kendo.gantt.filter|The label of the filter cell or icon\"\n filter=\"Filter\"\n\n i18n-filterEqOperator=\"kendo.gantt.filterEqOperator|The text of the equal filter operator\"\n filterEqOperator=\"Is equal to\"\n\n i18n-filterNotEqOperator=\"kendo.gantt.filterNotEqOperator|The text of the not equal filter operator\"\n filterNotEqOperator=\"Is not equal to\"\n\n i18n-filterIsNullOperator=\"kendo.gantt.filterIsNullOperator|The text of the is null filter operator\"\n filterIsNullOperator=\"Is null\"\n\n i18n-filterIsNotNullOperator=\"kendo.gantt.filterIsNotNullOperator|The text of the is not null filter operator\"\n filterIsNotNullOperator=\"Is not null\"\n\n i18n-filterIsEmptyOperator=\"kendo.gantt.filterIsEmptyOperator|The text of the is empty filter operator\"\n filterIsEmptyOperator=\"Is empty\"\n\n i18n-filterIsNotEmptyOperator=\"kendo.gantt.filterIsNotEmptyOperator|The text of the is not empty filter operator\"\n filterIsNotEmptyOperator=\"Is not empty\"\n\n i18n-filterStartsWithOperator=\"kendo.gantt.filterStartsWithOperator|The text of the starts with filter operator\"\n filterStartsWithOperator=\"Starts with\"\n\n i18n-filterContainsOperator=\"kendo.gantt.filterContainsOperator|The text of the contains filter operator\"\n filterContainsOperator=\"Contains\"\n\n i18n-filterNotContainsOperator=\"kendo.gantt.filterNotContainsOperator|The text of the does not contain filter operator\"\n filterNotContainsOperator=\"Does not contain\"\n\n i18n-filterEndsWithOperator=\"kendo.gantt.filterEndsWithOperator|The text of the ends with filter operator\"\n filterEndsWithOperator=\"Ends with\"\n\n i18n-filterGteOperator=\"kendo.gantt.filterGteOperator|The text of the greater than or equal filter operator\"\n filterGteOperator=\"Is greater than or equal to\"\n\n i18n-filterGtOperator=\"kendo.gantt.filterGtOperator|The text of the greater than filter operator\"\n filterGtOperator=\"Is greater than\"\n\n i18n-filterLteOperator=\"kendo.gantt.filterLteOperator|The text of the less than or equal filter operator\"\n filterLteOperator=\"Is less than or equal to\"\n\n i18n-filterLtOperator=\"kendo.gantt.filterLtOperator|The text of the less than filter operator\"\n filterLtOperator=\"Is less than\"\n\n i18n-filterIsTrue=\"kendo.gantt.filterIsTrue|The text of the IsTrue boolean filter option\"\n filterIsTrue=\"Is True\"\n\n i18n-filterIsFalse=\"kendo.gantt.filterIsFalse|The text of the IsFalse boolean filter option\"\n filterIsFalse=\"Is False\"\n\n i18n-filterBooleanAll=\"kendo.gantt.filterBooleanAll|The text of the (All) boolean filter option\"\n filterBooleanAll=\"(All)\"\n\n i18n-filterAfterOrEqualOperator=\"kendo.gantt.filterAfterOrEqualOperator|The text of the after or equal date filter operator\"\n filterAfterOrEqualOperator=\"Is after or equal to\"\n\n i18n-filterAfterOperator=\"kendo.gantt.filterAfterOperator|The text of the after date filter operator\"\n filterAfterOperator=\"Is after\"\n\n i18n-filterBeforeOperator=\"kendo.gantt.filterBeforeOperator|The text of the before date filter operator\"\n filterBeforeOperator=\"Is before\"\n\n i18n-filterBeforeOrEqualOperator=\"kendo.gantt.filterBeforeOrEqualOperator|The text of the before or equal date filter operator\"\n filterBeforeOrEqualOperator=\"Is before or equal to\"\n\n i18n-filterFilterButton=\"kendo.gantt.filterFilterButton|The text of the filter button\"\n filterFilterButton=\"Filter\"\n\n i18n-filterClearButton=\"kendo.gantt.filterClearButton|The text of the clear filter button\"\n filterClearButton=\"Clear\"\n\n i18n-filterAndLogic=\"kendo.gantt.filterAndLogic|The text of the And filter logic\"\n filterAndLogic=\"And\"\n\n i18n-filterOrLogic=\"kendo.gantt.filterOrLogic|The text of the Or filter logic\"\n filterOrLogic=\"Or\"\n\n i18n-loading=\"kendo.gantt.loading|The loading text\"\n loading=\"Loading\"\n\n i18n-columnMenu=\"kendo.gantt.columnMenu|The title of the column menu icon\"\n columnMenu=\"Column Menu\"\n\n i18n-columns=\"kendo.gantt.columns|The text shown in the column menu for the columns item\"\n columns=\"Columns\"\n\n i18n-lock-disabled=\"kendo.gantt.lock|The text shown in the column menu for the lock item\"\n lock-disabled=\"Lock\"\n\n i18n-unlock-disabled=\"kendo.gantt.unlock|The text shown in the column menu for the unlock item\"\n unlock-disabled=\"Unlock\"\n\n i18n-sortable=\"kendo.gantt.sortable|The label of the sort icon\"\n sortable=\"Sortable\"\n\n i18n-sortAscending=\"kendo.gantt.sortAscending|The text shown in the column menu for the sort ascending item\"\n sortAscending=\"Sort Ascending\"\n\n i18n-sortDescending=\"kendo.gantt.sortDescending|The text shown in the column menu for the sort descending item\"\n sortDescending=\"Sort Descending\"\n\n i18n-sortedAscending=\"kendo.gantt.sortedAscending|The status announcement when a column is sorted ascending\"\n sortedAscending=\"Sorted Ascending\"\n\n i18n-sortedDescending=\"kendo.gantt.sortedDescending|The status announcement when a column is sorted descending\"\n sortedDescending=\"Sorted Descending\"\n\n i18n-sortedDefault=\"kendo.gantt.sortedDefault|The status announcement when a column is no longer sorted\"\n sortedDefault=\"Not Sorted\"\n\n i18n-columnsApply=\"kendo.gantt.columnsApply|The text shown in the column menu or column chooser for the columns apply button\"\n columnsApply=\"Apply\"\n\n i18n-columnsReset=\"kendo.gantt.columnsReset|The text shown in the column menu or column chooser for the columns reset button\"\n columnsReset=\"Reset\"></ng-container>\n <kendo-gantt-toolbar\n *ngIf=\"showToolbar('top')\"\n class=\"k-gantt-header k-toolbar k-gantt-toolbar\"\n position=\"top\"></kendo-gantt-toolbar>\n <div class=\"k-gantt-content\">\n <kendo-splitter [style.border]=\"0\">\n <kendo-splitter-pane\n class=\"k-gantt-treelist k-gantt-treelist-scrollable\"\n [collapsible]=\"treeListPaneOptions?.collapsible\"\n [collapsed]=\"treeListPaneOptions?.collapsed\"\n (collapsedChange)=\"onTreeListCollapsedChange($event)\"\n [scrollable]=\"false\">\n <kendo-treelist\n [idField]=\"taskIdField\"\n [columns]=\"columns\"\n [data]=\"data\"\n [hasChildren]=\"hasChildren\"\n [fetchChildren]=\"fetchChildren\"\n [isExpanded]=\"isExpanded\"\n [autoSize]=\"columnsAutoSize\"\n [columnMenu]=\"columnMenu\"\n [reorderable]=\"columnsReorderable\"\n [resizable]=\"columnsResizable\"\n [rowClass]=\"rowClass\"\n [sortable]=\"sortable\"\n [sort]=\"sort\"\n [filterable]=\"filterMenu\"\n [filter]=\"filter\"\n (filterChange)=\"filterChange.emit($event)\"\n (sortChange)=\"sortChange.emit($event)\"\n (dataStateChange)=\"dataStateChange.emit({\n filter: $event.filter,\n sort: $event.sort\n })\"\n (expandStateChange)=\"expandStateChange.emit($event)\"\n (expand)=\"rowExpand.emit({ dataItem: $event.dataItem })\"\n (collapse)=\"rowCollapse.emit({ dataItem: $event.dataItem })\"\n (columnReorder)=\"columnReorder.emit($event)\"\n (columnResize)=\"columnResize.emit($event)\"\n (columnVisibilityChange)=\"handleColumnVisibilityChange($event)\"\n (columnLockedChange)=\"columnLockedChange.emit($event)\"\n (cellClick)=\"handleCellClick($event)\"\n (cellClose)=\"handleCellClose($event)\"\n [kendoEventsOutsideAngular]=\"{\n dblclick: handleDoubleClick\n }\">\n <kendo-treelist-messages [kendoGanttTreeListMessages]=\"localizationService\"></kendo-treelist-messages>\n </kendo-treelist>\n </kendo-splitter-pane>\n <kendo-splitter-pane\n [collapsible]=\"timelinePaneOptions?.collapsible\"\n [resizable]=\"timelinePaneOptions?.resizable\"\n [collapsed]=\"timelinePaneOptions?.collapsed\"\n [min]=\"timelinePaneOptions?.min\"\n [max]=\"timelinePaneOptions?.max\"\n [size]=\"timelinePaneOptions?.size\"\n (collapsedChange)=\"onTimelineCollapsedChange($event)\"\n (sizeChange)=\"onTimelinePaneSizeChange($event)\"\n [scrollable]=\"false\">\n <kendo-gantt-timeline\n *ngIf=\"views && views.length\"\n [rows]=\"renderedTreeListItems\"\n [slots]=\"timelineSlots\"\n [groupSlots]=\"timelineGroupSlots\"\n [tableWidth]=\"tableWidth\"\n [activeView]=\"activeView\"\n [taskContentTemplate]=\"taskContentTemplate?.templateRef\"\n [taskTemplate]=\"taskTemplate?.templateRef\"\n [summaryTaskTemplate]=\"summaryTaskTemplate?.templateRef\"\n [taskClass]=\"taskClass\"\n [dependencies]=\"dependencies\"\n [hasChildren]=\"hasChildren\"\n [kendoEventsOutsideAngular]=\"{\n dblclick: handleTimelineDblClick,\n mousedown: handleTimelineMouseDown\n }\"\n ></kendo-gantt-timeline>\n </kendo-splitter-pane>\n </kendo-splitter>\n </div>\n <kendo-gantt-toolbar\n *ngIf=\"showToolbar('bottom')\"\n class=\"k-gantt-footer k-toolbar k-gantt-toolbar\"\n position=\"bottom\"></kendo-gantt-toolbar>\n <kendo-gantt-edit-dialog *ngIf=\"showEditingDialog\" [formGroup]=\"editDialogFormGroup\"></kendo-gantt-edit-dialog>\n <kendo-dialog\n *ngIf=\"showConfirmationDialog\"\n [width]=\"575\"\n [height]=\"170\"\n [title]=\"getText('confirmationDialogTitle')\"\n (close)=\"showConfirmationDialog = false;\">\n <span>{{getText('confirmationDialogContent')}}</span>\n <kendo-dialog-actions layout=\"normal\">\n <kendo-treelist-spacer></kendo-treelist-spacer>\n <button kendoButton [primary]=\"true\" (click)=\"handleDeleteConfirmation()\">{{ getText('deleteButtonText') }}</button>\n <button kendoButton (click)=\"showConfirmationDialog = false;\">{{ getText('cancelButtonText') }}</button>\n </kendo-dialog-actions>\n </kendo-dialog>\n "
|
|
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 "
|
|
2777
2941
|
}),
|
|
2778
2942
|
__metadata("design:paramtypes", [TimelineViewService,
|
|
2779
2943
|
ScrollSyncService,
|
|
@@ -2882,6 +3046,10 @@ var GanttTimelineComponent = /** @class */ (function () {
|
|
|
2882
3046
|
Input(),
|
|
2883
3047
|
__metadata("design:type", Function)
|
|
2884
3048
|
], GanttTimelineComponent.prototype, "taskClass", void 0);
|
|
3049
|
+
__decorate([
|
|
3050
|
+
Input(),
|
|
3051
|
+
__metadata("design:type", Function)
|
|
3052
|
+
], GanttTimelineComponent.prototype, "isTaskSelected", void 0);
|
|
2885
3053
|
__decorate([
|
|
2886
3054
|
Input(),
|
|
2887
3055
|
__metadata("design:type", Function)
|
|
@@ -2893,7 +3061,7 @@ var GanttTimelineComponent = /** @class */ (function () {
|
|
|
2893
3061
|
GanttTimelineComponent = __decorate([
|
|
2894
3062
|
Component({
|
|
2895
3063
|
selector: 'kendo-gantt-timeline',
|
|
2896
|
-
template: "\n <div class=\"k-timeline k-grid k-widget\">\n <div class=\"k-grid-header\">\n <div #timelineHeaderWrap class=\"k-grid-header-wrap\">\n <table\n role=\"presentation\"\n [style.width.px]=\"tableWidth\"\n >\n <tbody\n kendoGanttHeaderTableBody\n [groupSlots]=\"groupSlots\"\n [slots]=\"slots\">\n </tbody>\n </table>\n </div>\n </div>\n <div #timelineContent class=\"k-grid-content\">\n <div class=\"k-gantt-tables\">\n <table\n class=\"k-gantt-rows\"\n [style.width.px]=\"tableWidth\"\n role=\"presentation\"\n >\n <tbody>\n <tr *ngFor=\"let item of rows; let i = index;\"\n [class.k-alt]=\"i % 2\"\n >\n <td></td>\n </tr>\n </tbody>\n </table>\n\n <table\n #timelineColumns\n class=\"k-gantt-columns\"\n role=\"presentation\"\n [style.width.px]=\"tableWidth\"\n >\n <colgroup>\n <col *ngFor=\"let item of slots\">\n </colgroup>\n\n <tbody>\n <tr>\n <td *ngFor=\"let item of slots\"\n [class.k-nonwork-hour]=\"isNonWorking(item)\"\n >\n </td>\n </tr>\n </tbody>\n </table>\n\n <table\n #tasksContainer\n class=\"k-gantt-tasks\"\n role=\"presentation\"\n style=\"border-collapse: collapse;\"\n [style.width.px]=\"tableWidth\"\n >\n <tbody\n kendoGanttTasksTableBody\n [rows]=\"rows\"\n [activeView]=\"activeView\"\n [taskContentTemplate]=\"taskContentTemplate\"\n [taskTemplate]=\"taskTemplate\"\n [summaryTaskTemplate]=\"summaryTaskTemplate\"\n [taskClass]=\"taskClass\"\n [hasChildren]=\"hasChildren\"\n >\n </tbody>\n </table>\n </div>\n <svg class=\"k-gantt-dependencies-svg\">\n <polyline\n *ngFor=\"let dependency of dependencies\"\n kendoGanttDependency\n [dependency]=\"dependency\"\n />\n </svg>\n </div>\n </div>\n "
|
|
3064
|
+
template: "\n <div class=\"k-timeline k-grid k-widget\">\n <div class=\"k-grid-header\">\n <div #timelineHeaderWrap class=\"k-grid-header-wrap\">\n <table\n role=\"presentation\"\n [style.width.px]=\"tableWidth\"\n >\n <tbody\n kendoGanttHeaderTableBody\n [groupSlots]=\"groupSlots\"\n [slots]=\"slots\">\n </tbody>\n </table>\n </div>\n </div>\n <div #timelineContent class=\"k-grid-content\">\n <div class=\"k-gantt-tables\">\n <table\n class=\"k-gantt-rows\"\n [style.width.px]=\"tableWidth\"\n role=\"presentation\"\n >\n <tbody>\n <tr *ngFor=\"let item of rows; let i = index;\"\n [class.k-alt]=\"i % 2\"\n >\n <td></td>\n </tr>\n </tbody>\n </table>\n\n <table\n #timelineColumns\n class=\"k-gantt-columns\"\n role=\"presentation\"\n [style.width.px]=\"tableWidth\"\n >\n <colgroup>\n <col *ngFor=\"let item of slots\">\n </colgroup>\n\n <tbody>\n <tr>\n <td *ngFor=\"let item of slots\"\n [class.k-nonwork-hour]=\"isNonWorking(item)\"\n >\n </td>\n </tr>\n </tbody>\n </table>\n\n <table\n #tasksContainer\n class=\"k-gantt-tasks\"\n role=\"presentation\"\n style=\"border-collapse: collapse;\"\n [style.width.px]=\"tableWidth\"\n >\n <tbody\n kendoGanttTasksTableBody\n [rows]=\"rows\"\n [activeView]=\"activeView\"\n [taskContentTemplate]=\"taskContentTemplate\"\n [taskTemplate]=\"taskTemplate\"\n [summaryTaskTemplate]=\"summaryTaskTemplate\"\n [taskClass]=\"taskClass\"\n [hasChildren]=\"hasChildren\"\n [isTaskSelected]=\"isTaskSelected\"\n >\n </tbody>\n </table>\n </div>\n <svg class=\"k-gantt-dependencies-svg\">\n <polyline\n *ngFor=\"let dependency of dependencies\"\n kendoGanttDependency\n [dependency]=\"dependency\"\n />\n </svg>\n </div>\n </div>\n "
|
|
2897
3065
|
}),
|
|
2898
3066
|
__metadata("design:paramtypes", [ScrollSyncService,
|
|
2899
3067
|
DependencyDomService,
|
|
@@ -2960,12 +3128,12 @@ var GanttTasksTableBodyComponent = /** @class */ (function () {
|
|
|
2960
3128
|
], GanttTasksTableBodyComponent.prototype, "hasChildren", void 0);
|
|
2961
3129
|
__decorate([
|
|
2962
3130
|
Input(),
|
|
2963
|
-
__metadata("design:type",
|
|
2964
|
-
], GanttTasksTableBodyComponent.prototype, "
|
|
3131
|
+
__metadata("design:type", Function)
|
|
3132
|
+
], GanttTasksTableBodyComponent.prototype, "isTaskSelected", void 0);
|
|
2965
3133
|
GanttTasksTableBodyComponent = __decorate([
|
|
2966
3134
|
Component({
|
|
2967
3135
|
selector: '[kendoGanttTasksTableBody]',
|
|
2968
|
-
template: "\n <tr #timelineRow *ngFor=\"let item of rows; let index = index\">\n <td>\n <kendo-gantt-milestone-task\n *ngIf=\"isMileStone(item); else task\"\n [dataItem]=\"item\"\n [activeView]=\"activeView\"\n [taskClass]=\"taskClass\"\n [index]=\"index\"\n >\n </kendo-gantt-milestone-task>\n <ng-template #task>\n <kendo-gantt-summary-task\n *ngIf=\"hasChildren(item)\"\n [dataItem]=\"item\"\n [template]=\"summaryTaskTemplate\"\n [activeView]=\"activeView\"\n [taskClass]=\"taskClass\"\n [index]=\"index\"\n >\n </kendo-gantt-summary-task>\n <kendo-gantt-task\n *ngIf=\"!hasChildren(item)\"\n [dataItem]=\"item\"\n [taskContentTemplate]=\"taskContentTemplate\"\n [taskTemplate]=\"taskTemplate\"\n [activeView]=\"activeView\"\n [taskClass]=\"taskClass\"\n [index]=\"index\"\n >\n </kendo-gantt-task>\n </ng-template>\n </td>\n </tr>\n "
|
|
3136
|
+
template: "\n <tr #timelineRow *ngFor=\"let item of rows; let index = index\">\n <td>\n <kendo-gantt-milestone-task\n *ngIf=\"isMileStone(item); else task\"\n [dataItem]=\"item\"\n [activeView]=\"activeView\"\n [taskClass]=\"taskClass\"\n [isSelected]=\"isTaskSelected\"\n [index]=\"index\"\n >\n </kendo-gantt-milestone-task>\n <ng-template #task>\n <kendo-gantt-summary-task\n *ngIf=\"hasChildren(item)\"\n [dataItem]=\"item\"\n [template]=\"summaryTaskTemplate\"\n [activeView]=\"activeView\"\n [taskClass]=\"taskClass\"\n [isSelected]=\"isTaskSelected\"\n [index]=\"index\"\n >\n </kendo-gantt-summary-task>\n <kendo-gantt-task\n *ngIf=\"!hasChildren(item)\"\n [dataItem]=\"item\"\n [taskContentTemplate]=\"taskContentTemplate\"\n [taskTemplate]=\"taskTemplate\"\n [activeView]=\"activeView\"\n [taskClass]=\"taskClass\"\n [isSelected]=\"isTaskSelected\"\n [index]=\"index\"\n >\n </kendo-gantt-task>\n </ng-template>\n </td>\n </tr>\n "
|
|
2969
3137
|
}),
|
|
2970
3138
|
__metadata("design:paramtypes", [DependencyDomService,
|
|
2971
3139
|
MappingService])
|
|
@@ -3098,6 +3266,14 @@ var GanttTaskBase = /** @class */ (function () {
|
|
|
3098
3266
|
Input(),
|
|
3099
3267
|
__metadata("design:type", Object)
|
|
3100
3268
|
], GanttTaskBase.prototype, "dataItem", void 0);
|
|
3269
|
+
__decorate([
|
|
3270
|
+
Input(),
|
|
3271
|
+
__metadata("design:type", Number)
|
|
3272
|
+
], GanttTaskBase.prototype, "index", void 0);
|
|
3273
|
+
__decorate([
|
|
3274
|
+
Input(),
|
|
3275
|
+
__metadata("design:type", Function)
|
|
3276
|
+
], GanttTaskBase.prototype, "isSelected", void 0);
|
|
3101
3277
|
__decorate([
|
|
3102
3278
|
Input(),
|
|
3103
3279
|
__metadata("design:type", String)
|
|
@@ -3106,10 +3282,6 @@ var GanttTaskBase = /** @class */ (function () {
|
|
|
3106
3282
|
Input(),
|
|
3107
3283
|
__metadata("design:type", Function)
|
|
3108
3284
|
], GanttTaskBase.prototype, "taskClass", void 0);
|
|
3109
|
-
__decorate([
|
|
3110
|
-
Input(),
|
|
3111
|
-
__metadata("design:type", Number)
|
|
3112
|
-
], GanttTaskBase.prototype, "index", void 0);
|
|
3113
3285
|
return GanttTaskBase;
|
|
3114
3286
|
}());
|
|
3115
3287
|
|
|
@@ -3146,7 +3318,7 @@ var GanttTaskComponent = /** @class */ (function (_super) {
|
|
|
3146
3318
|
useExisting: forwardRef(function () { return GanttTaskComponent_1; })
|
|
3147
3319
|
}
|
|
3148
3320
|
],
|
|
3149
|
-
template: "\n <div\n #task\n class=\"k-task k-task-single\"\n [ngClass]=\"taskClass(dataItem)\"\n [style.width.px]=\"taskWidth\"\n [style.left.px]=\"taskOffset\"\n [attr.title]=\"mapper.extractFromTask(dataItem, 'title')\"\n [attr.data-task-index]=\"index\"\n >\n <ng-container *ngIf=\"!taskTemplate\">\n <div\n class=\"k-task-complete\"\n [style.width.px]=\"completionOverlayWidth\"\n >\n </div>\n <div class=\"k-task-content\">\n <div class=\"k-task-template\">\n <ng-container *ngIf=\"!taskContentTemplate; else taskContent\">\n {{ mapper.extractFromTask(dataItem, 'title') }}\n </ng-container>\n <ng-template\n #taskContent\n [ngTemplateOutlet]=\"taskContentTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: dataItem }\"\n >\n </ng-template>\n </div>\n <span class=\"k-task-actions\">\n <span\n (click)=\"onTaskDelete()\"\n class=\"k-link k-task-delete\">\n <span class=\"k-icon k-i-close\"></span>\n </span>\n </span>\n </div>\n </ng-container>\n <ng-template\n *ngIf=\"taskTemplate\"\n [ngTemplateOutlet]=\"taskTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: dataItem,\n elementWidth: taskWidth\n }\"\n >\n </ng-template>\n </div>\n "
|
|
3321
|
+
template: "\n <div\n #task\n class=\"k-task k-task-single\"\n [ngClass]=\"taskClass(dataItem)\"\n [style.width.px]=\"taskWidth\"\n [style.left.px]=\"taskOffset\"\n [attr.title]=\"mapper.extractFromTask(dataItem, 'title')\"\n [attr.data-task-index]=\"index\"\n [class.k-state-selected]=\"isSelected(dataItem)\"\n >\n <ng-container *ngIf=\"!taskTemplate\">\n <div\n class=\"k-task-complete\"\n [style.width.px]=\"completionOverlayWidth\"\n >\n </div>\n <div class=\"k-task-content\">\n <div class=\"k-task-template\">\n <ng-container *ngIf=\"!taskContentTemplate; else taskContent\">\n {{ mapper.extractFromTask(dataItem, 'title') }}\n </ng-container>\n <ng-template\n #taskContent\n [ngTemplateOutlet]=\"taskContentTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: dataItem }\"\n >\n </ng-template>\n </div>\n <span class=\"k-task-actions\">\n <span\n (click)=\"onTaskDelete()\"\n class=\"k-link k-task-delete\">\n <span class=\"k-icon k-i-close\"></span>\n </span>\n </span>\n </div>\n </ng-container>\n <ng-template\n *ngIf=\"taskTemplate\"\n [ngTemplateOutlet]=\"taskTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: dataItem,\n elementWidth: taskWidth\n }\"\n >\n </ng-template>\n </div>\n "
|
|
3150
3322
|
}),
|
|
3151
3323
|
__metadata("design:paramtypes", [MappingService,
|
|
3152
3324
|
TimelineViewService,
|
|
@@ -3187,7 +3359,7 @@ var GanttSummaryTaskComponent = /** @class */ (function (_super) {
|
|
|
3187
3359
|
useExisting: forwardRef(function () { return GanttSummaryTaskComponent_1; })
|
|
3188
3360
|
}
|
|
3189
3361
|
],
|
|
3190
|
-
template: "\n <div\n #task\n class=\"k-task k-task-summary\"\n [ngClass]=\"taskClass(dataItem)\"\n [style.width.px]=\"taskWidth\"\n [style.left.px]=\"taskOffset\"\n [attr.title]=\"mapper.extractFromTask(dataItem, 'title')\"\n [attr.data-task-index]=\"index\"\n >\n <div *ngIf=\"!template; else summaryTemplate\"\n class=\"k-task-summary-progress\"\n [style.width.px]=\"taskWidth\">\n <div\n class=\"k-task-summary-complete\"\n [style.width.px]=\"completionOverlayWidth\"\n >\n </div>\n </div>\n <ng-template\n #summaryTemplate\n [ngTemplateOutlet]=\"template\"\n [ngTemplateOutletContext]=\"{\n $implicit: dataItem,\n elementWidth: taskWidth\n }\"\n >\n </ng-template>\n </div>\n "
|
|
3362
|
+
template: "\n <div\n #task\n class=\"k-task k-task-summary\"\n [ngClass]=\"taskClass(dataItem)\"\n [style.width.px]=\"taskWidth\"\n [style.left.px]=\"taskOffset\"\n [attr.title]=\"mapper.extractFromTask(dataItem, 'title')\"\n [attr.data-task-index]=\"index\"\n [class.k-state-selected]=\"isSelected(dataItem)\"\n >\n <div *ngIf=\"!template; else summaryTemplate\"\n class=\"k-task-summary-progress\"\n [style.width.px]=\"taskWidth\">\n <div\n class=\"k-task-summary-complete\"\n [style.width.px]=\"completionOverlayWidth\"\n >\n </div>\n </div>\n <ng-template\n #summaryTemplate\n [ngTemplateOutlet]=\"template\"\n [ngTemplateOutletContext]=\"{\n $implicit: dataItem,\n elementWidth: taskWidth\n }\"\n >\n </ng-template>\n </div>\n "
|
|
3191
3363
|
}),
|
|
3192
3364
|
__metadata("design:paramtypes", [MappingService,
|
|
3193
3365
|
TimelineViewService,
|
|
@@ -3223,7 +3395,7 @@ var GanttMilestoneTaskComponent = /** @class */ (function (_super) {
|
|
|
3223
3395
|
useExisting: forwardRef(function () { return GanttMilestoneTaskComponent_1; })
|
|
3224
3396
|
}
|
|
3225
3397
|
],
|
|
3226
|
-
template: "\n <div\n #task\n class=\"k-task k-task-milestone\"\n [ngClass]=\"taskClass(dataItem)\"\n [style.left.px]=\"taskOffset\"\n [attr.title]=\"mapper.extractFromTask(dataItem, 'title')\"\n [attr.data-task-index]=\"index\"\n >\n </div>\n "
|
|
3398
|
+
template: "\n <div\n #task\n class=\"k-task k-task-milestone\"\n [ngClass]=\"taskClass(dataItem)\"\n [style.left.px]=\"taskOffset\"\n [attr.title]=\"mapper.extractFromTask(dataItem, 'title')\"\n [class.k-state-selected]=\"isSelected(dataItem)\"\n [attr.data-task-index]=\"index\"\n >\n </div>\n "
|
|
3227
3399
|
}),
|
|
3228
3400
|
__metadata("design:paramtypes", [MappingService,
|
|
3229
3401
|
TimelineViewService,
|
|
@@ -3311,6 +3483,138 @@ var GanttExpandableDirective = /** @class */ (function (_super) {
|
|
|
3311
3483
|
return GanttExpandableDirective;
|
|
3312
3484
|
}(ExpandableDirective));
|
|
3313
3485
|
|
|
3486
|
+
/**
|
|
3487
|
+
* A directive which handles the [`selectionChange`]({% slug api_gantt_ganttcomponent %}#toc-selectionchange) event of the Gantt
|
|
3488
|
+
* ([see example]({% slug selection_gantt %}#toc-built-in-directive))
|
|
3489
|
+
*/
|
|
3490
|
+
var SelectableDirective = /** @class */ (function () {
|
|
3491
|
+
function SelectableDirective(gantt) {
|
|
3492
|
+
this.gantt = gantt;
|
|
3493
|
+
/**
|
|
3494
|
+
* Fires when the selected keys are changed.
|
|
3495
|
+
*/
|
|
3496
|
+
this.selectedKeysChange = new EventEmitter();
|
|
3497
|
+
this.state = new Set();
|
|
3498
|
+
this.isSelected = this.isSelected.bind(this);
|
|
3499
|
+
this.selectionChange = this.selectionChange.bind(this);
|
|
3500
|
+
this.selectable = true;
|
|
3501
|
+
}
|
|
3502
|
+
Object.defineProperty(SelectableDirective.prototype, "selectable", {
|
|
3503
|
+
/**
|
|
3504
|
+
* @hidden
|
|
3505
|
+
*/
|
|
3506
|
+
set: function (value) {
|
|
3507
|
+
if (value) {
|
|
3508
|
+
this.gantt.isSelected = this.isSelected;
|
|
3509
|
+
this.subscribeSelection();
|
|
3510
|
+
}
|
|
3511
|
+
else {
|
|
3512
|
+
this.gantt.isSelected = function () { return false; };
|
|
3513
|
+
this.unsubscribeSelection();
|
|
3514
|
+
}
|
|
3515
|
+
this.gantt.selectable = value;
|
|
3516
|
+
this.gantt.updateView();
|
|
3517
|
+
},
|
|
3518
|
+
enumerable: true,
|
|
3519
|
+
configurable: true
|
|
3520
|
+
});
|
|
3521
|
+
Object.defineProperty(SelectableDirective.prototype, "selectedKeys", {
|
|
3522
|
+
/**
|
|
3523
|
+
* Sets the selected keys.
|
|
3524
|
+
*/
|
|
3525
|
+
set: function (value) {
|
|
3526
|
+
if (isPresent(value) && value === this.lastChange) {
|
|
3527
|
+
return;
|
|
3528
|
+
}
|
|
3529
|
+
// prevent multiple items displayed as selected as multiple selection still not supported fully
|
|
3530
|
+
var keys = (value || []).slice(0, 1);
|
|
3531
|
+
this.state = new Set(keys);
|
|
3532
|
+
this.gantt.updateView();
|
|
3533
|
+
},
|
|
3534
|
+
enumerable: true,
|
|
3535
|
+
configurable: true
|
|
3536
|
+
});
|
|
3537
|
+
Object.defineProperty(SelectableDirective.prototype, "itemKey", {
|
|
3538
|
+
/**
|
|
3539
|
+
* The field name or a function that specifies the data item unique key identifier.
|
|
3540
|
+
* By default, the string field `id` is used.
|
|
3541
|
+
*/
|
|
3542
|
+
set: function (value) {
|
|
3543
|
+
if (isString(value)) {
|
|
3544
|
+
this._keyGetter = getter(value);
|
|
3545
|
+
}
|
|
3546
|
+
else {
|
|
3547
|
+
this._keyGetter = value;
|
|
3548
|
+
}
|
|
3549
|
+
},
|
|
3550
|
+
enumerable: true,
|
|
3551
|
+
configurable: true
|
|
3552
|
+
});
|
|
3553
|
+
Object.defineProperty(SelectableDirective.prototype, "keyGetter", {
|
|
3554
|
+
get: function () {
|
|
3555
|
+
return this._keyGetter || this.gantt.idGetter;
|
|
3556
|
+
},
|
|
3557
|
+
enumerable: true,
|
|
3558
|
+
configurable: true
|
|
3559
|
+
});
|
|
3560
|
+
SelectableDirective.prototype.ngOnDestroy = function () {
|
|
3561
|
+
this.unsubscribeSelection();
|
|
3562
|
+
};
|
|
3563
|
+
SelectableDirective.prototype.isSelected = function (dataItem) {
|
|
3564
|
+
return this.state.has(this.keyGetter(dataItem));
|
|
3565
|
+
};
|
|
3566
|
+
SelectableDirective.prototype.selectionChange = function (_a) {
|
|
3567
|
+
var _this = this;
|
|
3568
|
+
var action = _a.action, items = _a.items;
|
|
3569
|
+
this.state.clear();
|
|
3570
|
+
if (action === 'select') {
|
|
3571
|
+
items.forEach(function (item) { return _this.state.add(_this.keyGetter(item)); });
|
|
3572
|
+
}
|
|
3573
|
+
this.emitSelectedItemsChange();
|
|
3574
|
+
};
|
|
3575
|
+
SelectableDirective.prototype.emitSelectedItemsChange = function () {
|
|
3576
|
+
this.lastChange = Array.from(this.state);
|
|
3577
|
+
this.selectedKeysChange.emit(this.lastChange);
|
|
3578
|
+
};
|
|
3579
|
+
SelectableDirective.prototype.subscribeSelection = function () {
|
|
3580
|
+
this.unsubscribeSelection();
|
|
3581
|
+
this.selectionSubscription = this.gantt.selectionChange.subscribe(this.selectionChange);
|
|
3582
|
+
};
|
|
3583
|
+
SelectableDirective.prototype.unsubscribeSelection = function () {
|
|
3584
|
+
if (this.selectionSubscription) {
|
|
3585
|
+
this.selectionSubscription.unsubscribe();
|
|
3586
|
+
this.selectionSubscription = null;
|
|
3587
|
+
}
|
|
3588
|
+
};
|
|
3589
|
+
__decorate([
|
|
3590
|
+
Input(),
|
|
3591
|
+
__metadata("design:type", Boolean),
|
|
3592
|
+
__metadata("design:paramtypes", [Boolean])
|
|
3593
|
+
], SelectableDirective.prototype, "selectable", null);
|
|
3594
|
+
__decorate([
|
|
3595
|
+
Input(),
|
|
3596
|
+
__metadata("design:type", Array),
|
|
3597
|
+
__metadata("design:paramtypes", [Array])
|
|
3598
|
+
], SelectableDirective.prototype, "selectedKeys", null);
|
|
3599
|
+
__decorate([
|
|
3600
|
+
Output(),
|
|
3601
|
+
__metadata("design:type", EventEmitter)
|
|
3602
|
+
], SelectableDirective.prototype, "selectedKeysChange", void 0);
|
|
3603
|
+
__decorate([
|
|
3604
|
+
Input(),
|
|
3605
|
+
__metadata("design:type", Object),
|
|
3606
|
+
__metadata("design:paramtypes", [Object])
|
|
3607
|
+
], SelectableDirective.prototype, "itemKey", null);
|
|
3608
|
+
SelectableDirective = __decorate([
|
|
3609
|
+
Directive({
|
|
3610
|
+
exportAs: 'kendoGanttSelectable',
|
|
3611
|
+
selector: '[kendoGanttSelectable]'
|
|
3612
|
+
}),
|
|
3613
|
+
__metadata("design:paramtypes", [GanttComponent])
|
|
3614
|
+
], SelectableDirective);
|
|
3615
|
+
return SelectableDirective;
|
|
3616
|
+
}());
|
|
3617
|
+
|
|
3314
3618
|
/**
|
|
3315
3619
|
* @hidden
|
|
3316
3620
|
*/
|
|
@@ -4151,6 +4455,7 @@ var DECLARATIONS = [
|
|
|
4151
4455
|
TimelineDayViewComponent,
|
|
4152
4456
|
TimelineWeekViewComponent,
|
|
4153
4457
|
TimelineMonthViewComponent,
|
|
4458
|
+
SelectableDirective,
|
|
4154
4459
|
EditDialogComponent,
|
|
4155
4460
|
CustomMessagesComponent,
|
|
4156
4461
|
LocalizedMessagesDirective,
|
|
@@ -4208,4 +4513,4 @@ var GanttModule = /** @class */ (function () {
|
|
|
4208
4513
|
* Generated bundle index. Do not edit.
|
|
4209
4514
|
*/
|
|
4210
4515
|
|
|
4211
|
-
export { MappingService, OptionChangesService, DependencyDomService, GanttDependencyDirective, EditDialogComponent, EditService, CustomMessagesComponent, LocalizedMessagesDirective, Messages, GanttTreeListMessagesDirective, 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, GanttColumnBase, GanttColumnComponent, GanttColumnGroupComponent, GanttSpanColumnComponent, CellTemplateDirective, HeaderTemplateDirective, FooterTemplateDirective, ColumnMenuTemplateDirective, FilterCellTemplateDirective, FilterMenuTemplateDirective, EditTemplateDirective };
|
|
4516
|
+
export { MappingService, OptionChangesService, DependencyDomService, GanttDependencyDirective, EditDialogComponent, EditService, CustomMessagesComponent, LocalizedMessagesDirective, Messages, GanttTreeListMessagesDirective, 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, GanttColumnBase, GanttColumnComponent, GanttColumnGroupComponent, GanttSpanColumnComponent, CellTemplateDirective, HeaderTemplateDirective, FooterTemplateDirective, ColumnMenuTemplateDirective, FilterCellTemplateDirective, FilterMenuTemplateDirective, EditTemplateDirective };
|