@progress/kendo-angular-gantt 0.2.0 → 0.2.1-dev.202112101349
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 +1 -1
- package/dist/es/gantt.component.js +10 -6
- package/dist/es/gantt.module.js +1 -3
- package/dist/es/index.js +1 -1
- package/dist/es/models/models.js +1 -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/es2015/gantt.component.d.ts +7 -4
- package/dist/es2015/gantt.component.js +50 -6
- package/dist/es2015/gantt.module.js +1 -3
- package/dist/es2015/index.d.ts +1 -1
- package/dist/es2015/index.js +1 -1
- package/dist/es2015/index.metadata.json +1 -1
- package/dist/es2015/models/events/cell-close-event.interface.d.ts +1 -1
- package/dist/es2015/models/events/task-edit-event.interface.d.ts +2 -2
- package/dist/es2015/models/models.d.ts +3 -0
- package/dist/es2015/models/models.js +1 -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/fesm2015/index.js +101 -34
- package/dist/fesm5/index.js +65 -36
- package/dist/npm/gantt.component.js +10 -6
- package/dist/npm/gantt.module.js +1 -3
- package/dist/npm/index.js +2 -2
- package/dist/npm/models/models.js +2 -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/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/npm/localization/treelist-messages.directive.js +0 -33
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Copyright © 2021 Progress Software Corporation. All rights reserved.
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
import { GanttComponent } from '../../
|
|
5
|
+
import { GanttComponent } from '../../gantt.component';
|
|
6
6
|
import { PreventableEvent } from './preventable-event';
|
|
7
7
|
import { TaskEditItem } from './task-edit-event.interface';
|
|
8
8
|
/**
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* Copyright © 2021 Progress Software Corporation. All rights reserved.
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
import { FormGroup } from
|
|
6
|
-
import { GanttComponent } from
|
|
5
|
+
import { FormGroup } from '@angular/forms';
|
|
6
|
+
import { GanttComponent } from '../../gantt.component';
|
|
7
7
|
/**
|
|
8
8
|
* The event data for the task editing events.
|
|
9
9
|
*/
|
|
@@ -29,7 +29,10 @@ export { TaskResizeEvent } from './events/task-resize-event.interface';
|
|
|
29
29
|
export { TaskResizeStartEvent } from './events/task-resize-start-event.interface';
|
|
30
30
|
export { DataStateChangeEvent } from './events/data-state-change-event.interface';
|
|
31
31
|
export { CellClickEvent } from './events/cell-click-event.interface';
|
|
32
|
+
export { CellCloseEvent } from './events/cell-close-event.interface';
|
|
32
33
|
export { TaskClickEvent } from './events/task-click-event.interface';
|
|
34
|
+
export { TaskEditEvent } from './events/task-edit-event.interface';
|
|
35
|
+
export { TaskEditItem } from './events/task-edit-event.interface';
|
|
33
36
|
export { ColumnLockedChangeEvent } from './events/column-locked-change-event.interface';
|
|
34
37
|
export { ColumnReorderEvent } from './events/column-reorder-event.interface';
|
|
35
38
|
export { ColumnResizeEvent } from './events/column-resize-event.interface';
|
|
@@ -2,3 +2,4 @@
|
|
|
2
2
|
* Copyright © 2021 Progress Software Corporation. All rights reserved.
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
|
+
export { CellCloseEvent } from './events/cell-close-event.interface';
|
|
@@ -9,7 +9,7 @@ export const packageMetadata = {
|
|
|
9
9
|
name: '@progress/kendo-angular-gantt',
|
|
10
10
|
productName: 'Kendo UI for Angular',
|
|
11
11
|
productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
|
|
12
|
-
publishDate:
|
|
12
|
+
publishDate: 1639143747,
|
|
13
13
|
version: '',
|
|
14
14
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
|
|
15
15
|
};
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
import * as tslib_1 from "tslib";
|
|
6
6
|
import { Component, Input, TemplateRef, ViewChild, ElementRef } from '@angular/core';
|
|
7
|
-
import {
|
|
7
|
+
import { isEqual } from '@progress/kendo-date-math';
|
|
8
8
|
import { DependencyDomService } from '../dependencies/dependency-dom.service';
|
|
9
9
|
import { isPresent } from '../utils';
|
|
10
10
|
import { MappingService } from '../common/mapping.service';
|
|
@@ -24,7 +24,7 @@ let GanttTasksTableBodyComponent = class GanttTasksTableBodyComponent {
|
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
26
|
isMileStone(task) {
|
|
27
|
-
return !this.hasChildren(task) &&
|
|
27
|
+
return !this.hasChildren(task) && isEqual(this.mapper.extractFromTask(task, 'start'), this.mapper.extractFromTask(task, 'end'));
|
|
28
28
|
}
|
|
29
29
|
};
|
|
30
30
|
tslib_1.__decorate([
|
|
@@ -7,6 +7,18 @@ import { MappingService } from '../common/mapping.service';
|
|
|
7
7
|
import { TimelineOptions } from '../models/timeline-options.interface';
|
|
8
8
|
import { DateRange } from '../models/date-range.interface';
|
|
9
9
|
import { Slot } from '../models/slot.interface';
|
|
10
|
+
/**
|
|
11
|
+
* @hidden
|
|
12
|
+
*/
|
|
13
|
+
export declare const DAY_FORMAT = "E d/MM";
|
|
14
|
+
/**
|
|
15
|
+
* @hidden
|
|
16
|
+
*/
|
|
17
|
+
export declare const HOUR_FORMAT = "HH:mm aa";
|
|
18
|
+
/**
|
|
19
|
+
* @hidden
|
|
20
|
+
*/
|
|
21
|
+
export declare const MONTH_FORMAT = "MMM";
|
|
10
22
|
/**
|
|
11
23
|
* @hidden
|
|
12
24
|
*/
|
|
@@ -5,9 +5,18 @@
|
|
|
5
5
|
import { orderBy } from '@progress/kendo-data-query';
|
|
6
6
|
import { isWorkDay, isWorkHour, lastDayOfWeek } from '../utils';
|
|
7
7
|
import { addDays, firstDayInWeek, getDate, firstDayOfMonth, lastDayOfMonth, addMonths, addWeeks } from '@progress/kendo-date-math';
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
/**
|
|
9
|
+
* @hidden
|
|
10
|
+
*/
|
|
11
|
+
export const DAY_FORMAT = 'E d/MM';
|
|
12
|
+
/**
|
|
13
|
+
* @hidden
|
|
14
|
+
*/
|
|
15
|
+
export const HOUR_FORMAT = 'HH:mm aa';
|
|
16
|
+
/**
|
|
17
|
+
* @hidden
|
|
18
|
+
*/
|
|
19
|
+
export const MONTH_FORMAT = 'MMM';
|
|
11
20
|
/**
|
|
12
21
|
* @hidden
|
|
13
22
|
*/
|
package/dist/fesm2015/index.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import { __decorate, __metadata, __param } from 'tslib';
|
|
6
6
|
import { Input, EventEmitter, Injectable, 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, Subject, Subscription, fromEvent } 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 @@ const packageMetadata = {
|
|
|
30
30
|
name: '@progress/kendo-angular-gantt',
|
|
31
31
|
productName: 'Kendo UI for Angular',
|
|
32
32
|
productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
|
|
33
|
-
publishDate:
|
|
33
|
+
publishDate: 1639143747,
|
|
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
|
};
|
|
@@ -766,8 +766,17 @@ const isClearButton = (contender, gantt) => {
|
|
|
766
766
|
return isPresent(clearButtonContainer);
|
|
767
767
|
};
|
|
768
768
|
|
|
769
|
+
/**
|
|
770
|
+
* @hidden
|
|
771
|
+
*/
|
|
769
772
|
const DAY_FORMAT = 'E d/MM';
|
|
773
|
+
/**
|
|
774
|
+
* @hidden
|
|
775
|
+
*/
|
|
770
776
|
const HOUR_FORMAT = 'HH:mm aa';
|
|
777
|
+
/**
|
|
778
|
+
* @hidden
|
|
779
|
+
*/
|
|
771
780
|
const MONTH_FORMAT = 'MMM';
|
|
772
781
|
/**
|
|
773
782
|
* @hidden
|
|
@@ -1732,7 +1741,7 @@ let GanttComponent = GanttComponent_1 = class GanttComponent {
|
|
|
1732
1741
|
/**
|
|
1733
1742
|
* Provides a callback that determines if the given task is selected ([see example]({% slug selection_gantt %}#toc-custom-selection))
|
|
1734
1743
|
*
|
|
1735
|
-
* > The [`selectable`]({% slug
|
|
1744
|
+
* > The [`selectable`]({% slug api_gantt_ganttcomponent %}#toc-selectable) prop has to be set to `true` in order for this callback to be executed.
|
|
1736
1745
|
*/
|
|
1737
1746
|
this.isSelected = isSelected;
|
|
1738
1747
|
/**
|
|
@@ -1746,7 +1755,7 @@ let GanttComponent = GanttComponent_1 = class GanttComponent {
|
|
|
1746
1755
|
/**
|
|
1747
1756
|
* Enables or disables the Gantt selection mechanism ([see example]({% slug selection_gantt %}#toc-custom-selection)).
|
|
1748
1757
|
*
|
|
1749
|
-
* > When set to `true`, the [`isSelected`]({% slug
|
|
1758
|
+
* > When set to `true`, the [`isSelected`]({% slug api_gantt_ganttcomponent %}#toc-isselected) callback has to be provided.
|
|
1750
1759
|
* > When applied, the [`SelectableDirective`]({% slug api_gantt_selectabledirective %}) sets `selectable` to `true` internally.
|
|
1751
1760
|
*/
|
|
1752
1761
|
this.selectable = false;
|
|
@@ -1968,7 +1977,6 @@ let GanttComponent = GanttComponent_1 = class GanttComponent {
|
|
|
1968
1977
|
this.showConfirmationDialog = this.showEditingDialog = false;
|
|
1969
1978
|
this.editService.dataItem = this.editService.formGroup = null;
|
|
1970
1979
|
this.updateView();
|
|
1971
|
-
this.dependencyDomService.notifyChanges();
|
|
1972
1980
|
}));
|
|
1973
1981
|
this.localizationSubscription = this.localizationService.changes.subscribe(({ rtl }) => {
|
|
1974
1982
|
this.rtl = rtl;
|
|
@@ -2227,12 +2235,17 @@ let GanttComponent = GanttComponent_1 = class GanttComponent {
|
|
|
2227
2235
|
}
|
|
2228
2236
|
}
|
|
2229
2237
|
/**
|
|
2230
|
-
*
|
|
2238
|
+
* Forces the TreeList to evaluate if some data items have changed and re-renders the rows information, if needed.
|
|
2239
|
+
* Recalculates and re-renders the Timeline period, if needed.
|
|
2240
|
+
* Redraws changed dependencies, if needed.
|
|
2241
|
+
* Executes all row-related callbacks anew.
|
|
2231
2242
|
*/
|
|
2232
2243
|
updateView() {
|
|
2233
2244
|
if (isPresent(this.treeList)) {
|
|
2234
2245
|
this.treeList.updateView();
|
|
2235
2246
|
}
|
|
2247
|
+
this.loadTimelineData();
|
|
2248
|
+
this.dependencyDomService.notifyChanges();
|
|
2236
2249
|
}
|
|
2237
2250
|
/**
|
|
2238
2251
|
* Opens the task editing dialog.
|
|
@@ -2476,7 +2489,7 @@ let GanttComponent = GanttComponent_1 = class GanttComponent {
|
|
|
2476
2489
|
items: [dataItem],
|
|
2477
2490
|
sender: this
|
|
2478
2491
|
});
|
|
2479
|
-
this.updateView();
|
|
2492
|
+
this.treeList.updateView();
|
|
2480
2493
|
}
|
|
2481
2494
|
updateTreeListGroupClass(columns = this.columns) {
|
|
2482
2495
|
if (!isPresent(this.treeList)) {
|
|
@@ -3005,7 +3018,47 @@ GanttComponent = GanttComponent_1 = __decorate([
|
|
|
3005
3018
|
}"
|
|
3006
3019
|
[scope]="this"
|
|
3007
3020
|
>
|
|
3008
|
-
<kendo-treelist-messages
|
|
3021
|
+
<kendo-treelist-messages
|
|
3022
|
+
[noRecords]="getText('noRecords')"
|
|
3023
|
+
[filter]="getText('filter')"
|
|
3024
|
+
[filterEqOperator]="getText('filterEqOperator')"
|
|
3025
|
+
[filterNotEqOperator]="getText('filterNotEqOperator')"
|
|
3026
|
+
[filterIsNullOperator]="getText('filterIsNullOperator')"
|
|
3027
|
+
[filterIsNotNullOperator]="getText('filterIsNotNullOperator')"
|
|
3028
|
+
[filterIsEmptyOperator]="getText('filterIsEmptyOperator')"
|
|
3029
|
+
[filterIsNotEmptyOperator]="getText('filterIsNotEmptyOperator')"
|
|
3030
|
+
[filterStartsWithOperator]="getText('filterStartsWithOperator')"
|
|
3031
|
+
[filterContainsOperator]="getText('filterContainsOperator')"
|
|
3032
|
+
[filterNotContainsOperator]="getText('filterNotContainsOperator')"
|
|
3033
|
+
[filterEndsWithOperator]="getText('filterEndsWithOperator')"
|
|
3034
|
+
[filterGteOperator]="getText('filterGteOperator')"
|
|
3035
|
+
[filterGtOperator]="getText('filterGtOperator')"
|
|
3036
|
+
[filterLteOperator]="getText('filterLteOperator')"
|
|
3037
|
+
[filterLtOperator]="getText('filterLtOperator')"
|
|
3038
|
+
[filterIsTrue]="getText('filterIsTrue')"
|
|
3039
|
+
[filterIsFalse]="getText('filterIsFalse')"
|
|
3040
|
+
[filterBooleanAll]="getText('filterBooleanAll')"
|
|
3041
|
+
[filterAfterOrEqualOperator]="getText('filterAfterOrEqualOperator')"
|
|
3042
|
+
[filterAfterOperator]="getText('filterAfterOperator')"
|
|
3043
|
+
[filterBeforeOperator]="getText('filterBeforeOperator')"
|
|
3044
|
+
[filterBeforeOrEqualOperator]="getText('filterBeforeOrEqualOperator')"
|
|
3045
|
+
[filterFilterButton]="getText('filterFilterButton')"
|
|
3046
|
+
[filterClearButton]="getText('filterClearButton')"
|
|
3047
|
+
[filterAndLogic]="getText('filterAndLogic')"
|
|
3048
|
+
[filterOrLogic]="getText('filterOrLogic')"
|
|
3049
|
+
[loading]="getText('loading')"
|
|
3050
|
+
[columnMenu]="getText('columnMenu')"
|
|
3051
|
+
[columns]="getText('columns')"
|
|
3052
|
+
[sortable]="getText('sortable')"
|
|
3053
|
+
[sortAscending]="getText('sortAscending')"
|
|
3054
|
+
[sortDescending]="getText('sortDescending')"
|
|
3055
|
+
[sortedAscending]="getText('sortedAscending')"
|
|
3056
|
+
[sortedDescending]="getText('sortedDescending')"
|
|
3057
|
+
[sortedDefault]="getText('sortedDefault')"
|
|
3058
|
+
[columnsApply]="getText('columnsApply')"
|
|
3059
|
+
[columnsReset]="getText('columnsReset')"
|
|
3060
|
+
>
|
|
3061
|
+
</kendo-treelist-messages>
|
|
3009
3062
|
</kendo-treelist>
|
|
3010
3063
|
</kendo-splitter-pane>
|
|
3011
3064
|
<kendo-splitter-pane
|
|
@@ -3288,7 +3341,7 @@ let GanttTasksTableBodyComponent = class GanttTasksTableBodyComponent {
|
|
|
3288
3341
|
}
|
|
3289
3342
|
}
|
|
3290
3343
|
isMileStone(task) {
|
|
3291
|
-
return !this.hasChildren(task) &&
|
|
3344
|
+
return !this.hasChildren(task) && isEqual(this.mapper.extractFromTask(task, 'start'), this.mapper.extractFromTask(task, 'end'));
|
|
3292
3345
|
}
|
|
3293
3346
|
};
|
|
3294
3347
|
__decorate([
|
|
@@ -4675,28 +4728,6 @@ LocalizedMessagesDirective = LocalizedMessagesDirective_1 = __decorate([
|
|
|
4675
4728
|
__metadata("design:paramtypes", [LocalizationService])
|
|
4676
4729
|
], LocalizedMessagesDirective);
|
|
4677
4730
|
|
|
4678
|
-
/**
|
|
4679
|
-
* @hidden
|
|
4680
|
-
*/
|
|
4681
|
-
let GanttTreeListMessagesDirective = class GanttTreeListMessagesDirective {
|
|
4682
|
-
constructor(localizationService) {
|
|
4683
|
-
this.localizationService = localizationService;
|
|
4684
|
-
}
|
|
4685
|
-
ngAfterViewInit() {
|
|
4686
|
-
const treeListServiceDictionary = this.localizationService.dictionary;
|
|
4687
|
-
Object.keys(treeListServiceDictionary)
|
|
4688
|
-
.forEach(token => treeListServiceDictionary[token] = this.kendoGanttTreeListMessages.get(token.replace('kendo.treelist.', '')));
|
|
4689
|
-
}
|
|
4690
|
-
};
|
|
4691
|
-
__decorate([
|
|
4692
|
-
Input(),
|
|
4693
|
-
__metadata("design:type", LocalizationService)
|
|
4694
|
-
], GanttTreeListMessagesDirective.prototype, "kendoGanttTreeListMessages", void 0);
|
|
4695
|
-
GanttTreeListMessagesDirective = __decorate([
|
|
4696
|
-
Directive({ selector: '[kendoGanttTreeListMessages]' }),
|
|
4697
|
-
__metadata("design:paramtypes", [LocalizationService])
|
|
4698
|
-
], GanttTreeListMessagesDirective);
|
|
4699
|
-
|
|
4700
4731
|
const IMPORTED_MODULES = [
|
|
4701
4732
|
CommonModule,
|
|
4702
4733
|
ReactiveFormsModule,
|
|
@@ -4744,8 +4775,7 @@ const DECLARATIONS = [
|
|
|
4744
4775
|
SelectableDirective,
|
|
4745
4776
|
EditDialogComponent,
|
|
4746
4777
|
CustomMessagesComponent,
|
|
4747
|
-
LocalizedMessagesDirective
|
|
4748
|
-
GanttTreeListMessagesDirective
|
|
4778
|
+
LocalizedMessagesDirective
|
|
4749
4779
|
];
|
|
4750
4780
|
/**
|
|
4751
4781
|
* Represents the [NgModule]({{ site.data.urls.angular['ngmoduleapi'] }})
|
|
@@ -4792,8 +4822,45 @@ GanttModule = __decorate([
|
|
|
4792
4822
|
})
|
|
4793
4823
|
], GanttModule);
|
|
4794
4824
|
|
|
4825
|
+
/**
|
|
4826
|
+
* @hidden
|
|
4827
|
+
*/
|
|
4828
|
+
class PreventableEvent {
|
|
4829
|
+
constructor() {
|
|
4830
|
+
this.prevented = false;
|
|
4831
|
+
}
|
|
4832
|
+
/**
|
|
4833
|
+
* Prevents the default action for a specified event.
|
|
4834
|
+
* In this way, the source component suppresses
|
|
4835
|
+
* the built-in behavior that follows the event.
|
|
4836
|
+
*/
|
|
4837
|
+
preventDefault() {
|
|
4838
|
+
this.prevented = true;
|
|
4839
|
+
}
|
|
4840
|
+
/**
|
|
4841
|
+
* Returns `true` if the event was prevented
|
|
4842
|
+
* by any of its subscribers.
|
|
4843
|
+
*
|
|
4844
|
+
* @returns `true` if the default action was prevented.
|
|
4845
|
+
* Otherwise, returns `false`.
|
|
4846
|
+
*/
|
|
4847
|
+
isDefaultPrevented() {
|
|
4848
|
+
return this.prevented;
|
|
4849
|
+
}
|
|
4850
|
+
}
|
|
4851
|
+
|
|
4852
|
+
/**
|
|
4853
|
+
* Called every time a user leaves an edited cell.
|
|
4854
|
+
*/
|
|
4855
|
+
class CellCloseEvent extends PreventableEvent {
|
|
4856
|
+
constructor(options) {
|
|
4857
|
+
super();
|
|
4858
|
+
Object.assign(this, options);
|
|
4859
|
+
}
|
|
4860
|
+
}
|
|
4861
|
+
|
|
4795
4862
|
/**
|
|
4796
4863
|
* Generated bundle index. Do not edit.
|
|
4797
4864
|
*/
|
|
4798
4865
|
|
|
4799
|
-
export { MappingService, OptionChangesService, DependencyDomService, GanttDependencyDirective, EditDialogComponent, EditService, CustomMessagesComponent, LocalizedMessagesDirective, Messages,
|
|
4866
|
+
export { MappingService, OptionChangesService, DependencyDomService, GanttDependencyDirective, 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 };
|
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: 1639143747,
|
|
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
|
|
@@ -1797,7 +1806,7 @@ var GanttComponent = /** @class */ (function () {
|
|
|
1797
1806
|
/**
|
|
1798
1807
|
* Provides a callback that determines if the given task is selected ([see example]({% slug selection_gantt %}#toc-custom-selection))
|
|
1799
1808
|
*
|
|
1800
|
-
* > The [`selectable`]({% slug
|
|
1809
|
+
* > The [`selectable`]({% slug api_gantt_ganttcomponent %}#toc-selectable) prop has to be set to `true` in order for this callback to be executed.
|
|
1801
1810
|
*/
|
|
1802
1811
|
this.isSelected = isSelected;
|
|
1803
1812
|
/**
|
|
@@ -1811,7 +1820,7 @@ var GanttComponent = /** @class */ (function () {
|
|
|
1811
1820
|
/**
|
|
1812
1821
|
* Enables or disables the Gantt selection mechanism ([see example]({% slug selection_gantt %}#toc-custom-selection)).
|
|
1813
1822
|
*
|
|
1814
|
-
* > When set to `true`, the [`isSelected`]({% slug
|
|
1823
|
+
* > When set to `true`, the [`isSelected`]({% slug api_gantt_ganttcomponent %}#toc-isselected) callback has to be provided.
|
|
1815
1824
|
* > When applied, the [`SelectableDirective`]({% slug api_gantt_selectabledirective %}) sets `selectable` to `true` internally.
|
|
1816
1825
|
*/
|
|
1817
1826
|
this.selectable = false;
|
|
@@ -2033,7 +2042,6 @@ 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
|
-
_this.dependencyDomService.notifyChanges();
|
|
2037
2045
|
}));
|
|
2038
2046
|
this.localizationSubscription = this.localizationService.changes.subscribe(function (_a) {
|
|
2039
2047
|
var rtl = _a.rtl;
|
|
@@ -2373,12 +2381,17 @@ var GanttComponent = /** @class */ (function () {
|
|
|
2373
2381
|
}
|
|
2374
2382
|
};
|
|
2375
2383
|
/**
|
|
2376
|
-
*
|
|
2384
|
+
* Forces the TreeList to evaluate if some data items have changed and re-renders the rows information, if needed.
|
|
2385
|
+
* Recalculates and re-renders the Timeline period, if needed.
|
|
2386
|
+
* Redraws changed dependencies, if needed.
|
|
2387
|
+
* Executes all row-related callbacks anew.
|
|
2377
2388
|
*/
|
|
2378
2389
|
GanttComponent.prototype.updateView = function () {
|
|
2379
2390
|
if (isPresent(this.treeList)) {
|
|
2380
2391
|
this.treeList.updateView();
|
|
2381
2392
|
}
|
|
2393
|
+
this.loadTimelineData();
|
|
2394
|
+
this.dependencyDomService.notifyChanges();
|
|
2382
2395
|
};
|
|
2383
2396
|
/**
|
|
2384
2397
|
* Opens the task editing dialog.
|
|
@@ -2626,7 +2639,7 @@ var GanttComponent = /** @class */ (function () {
|
|
|
2626
2639
|
items: [dataItem],
|
|
2627
2640
|
sender: this
|
|
2628
2641
|
});
|
|
2629
|
-
this.updateView();
|
|
2642
|
+
this.treeList.updateView();
|
|
2630
2643
|
};
|
|
2631
2644
|
GanttComponent.prototype.updateTreeListGroupClass = function (columns) {
|
|
2632
2645
|
if (columns === void 0) { columns = this.columns; }
|
|
@@ -2937,7 +2950,7 @@ var GanttComponent = /** @class */ (function () {
|
|
|
2937
2950
|
OptionChangesService,
|
|
2938
2951
|
EditService
|
|
2939
2952
|
],
|
|
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 "
|
|
2953
|
+
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\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 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
2954
|
}),
|
|
2942
2955
|
__metadata("design:paramtypes", [TimelineViewService,
|
|
2943
2956
|
ScrollSyncService,
|
|
@@ -3091,7 +3104,7 @@ var GanttTasksTableBodyComponent = /** @class */ (function () {
|
|
|
3091
3104
|
configurable: true
|
|
3092
3105
|
});
|
|
3093
3106
|
GanttTasksTableBodyComponent.prototype.isMileStone = function (task) {
|
|
3094
|
-
return !this.hasChildren(task) &&
|
|
3107
|
+
return !this.hasChildren(task) && isEqual(this.mapper.extractFromTask(task, 'start'), this.mapper.extractFromTask(task, 'end'));
|
|
3095
3108
|
};
|
|
3096
3109
|
__decorate([
|
|
3097
3110
|
ViewChild('timelineRow', { static: false }),
|
|
@@ -4387,30 +4400,6 @@ var LocalizedMessagesDirective = /** @class */ (function (_super) {
|
|
|
4387
4400
|
return LocalizedMessagesDirective;
|
|
4388
4401
|
}(Messages));
|
|
4389
4402
|
|
|
4390
|
-
/**
|
|
4391
|
-
* @hidden
|
|
4392
|
-
*/
|
|
4393
|
-
var GanttTreeListMessagesDirective = /** @class */ (function () {
|
|
4394
|
-
function GanttTreeListMessagesDirective(localizationService) {
|
|
4395
|
-
this.localizationService = localizationService;
|
|
4396
|
-
}
|
|
4397
|
-
GanttTreeListMessagesDirective.prototype.ngAfterViewInit = function () {
|
|
4398
|
-
var _this = this;
|
|
4399
|
-
var treeListServiceDictionary = this.localizationService.dictionary;
|
|
4400
|
-
Object.keys(treeListServiceDictionary)
|
|
4401
|
-
.forEach(function (token) { return treeListServiceDictionary[token] = _this.kendoGanttTreeListMessages.get(token.replace('kendo.treelist.', '')); });
|
|
4402
|
-
};
|
|
4403
|
-
__decorate([
|
|
4404
|
-
Input(),
|
|
4405
|
-
__metadata("design:type", LocalizationService)
|
|
4406
|
-
], GanttTreeListMessagesDirective.prototype, "kendoGanttTreeListMessages", void 0);
|
|
4407
|
-
GanttTreeListMessagesDirective = __decorate([
|
|
4408
|
-
Directive({ selector: '[kendoGanttTreeListMessages]' }),
|
|
4409
|
-
__metadata("design:paramtypes", [LocalizationService])
|
|
4410
|
-
], GanttTreeListMessagesDirective);
|
|
4411
|
-
return GanttTreeListMessagesDirective;
|
|
4412
|
-
}());
|
|
4413
|
-
|
|
4414
4403
|
var IMPORTED_MODULES = [
|
|
4415
4404
|
CommonModule,
|
|
4416
4405
|
ReactiveFormsModule,
|
|
@@ -4458,8 +4447,7 @@ var DECLARATIONS = [
|
|
|
4458
4447
|
SelectableDirective,
|
|
4459
4448
|
EditDialogComponent,
|
|
4460
4449
|
CustomMessagesComponent,
|
|
4461
|
-
LocalizedMessagesDirective
|
|
4462
|
-
GanttTreeListMessagesDirective
|
|
4450
|
+
LocalizedMessagesDirective
|
|
4463
4451
|
];
|
|
4464
4452
|
/**
|
|
4465
4453
|
* Represents the [NgModule]({{ site.data.urls.angular['ngmoduleapi'] }})
|
|
@@ -4509,8 +4497,49 @@ var GanttModule = /** @class */ (function () {
|
|
|
4509
4497
|
return GanttModule;
|
|
4510
4498
|
}());
|
|
4511
4499
|
|
|
4500
|
+
/**
|
|
4501
|
+
* @hidden
|
|
4502
|
+
*/
|
|
4503
|
+
var PreventableEvent = /** @class */ (function () {
|
|
4504
|
+
function PreventableEvent() {
|
|
4505
|
+
this.prevented = false;
|
|
4506
|
+
}
|
|
4507
|
+
/**
|
|
4508
|
+
* Prevents the default action for a specified event.
|
|
4509
|
+
* In this way, the source component suppresses
|
|
4510
|
+
* the built-in behavior that follows the event.
|
|
4511
|
+
*/
|
|
4512
|
+
PreventableEvent.prototype.preventDefault = function () {
|
|
4513
|
+
this.prevented = true;
|
|
4514
|
+
};
|
|
4515
|
+
/**
|
|
4516
|
+
* Returns `true` if the event was prevented
|
|
4517
|
+
* by any of its subscribers.
|
|
4518
|
+
*
|
|
4519
|
+
* @returns `true` if the default action was prevented.
|
|
4520
|
+
* Otherwise, returns `false`.
|
|
4521
|
+
*/
|
|
4522
|
+
PreventableEvent.prototype.isDefaultPrevented = function () {
|
|
4523
|
+
return this.prevented;
|
|
4524
|
+
};
|
|
4525
|
+
return PreventableEvent;
|
|
4526
|
+
}());
|
|
4527
|
+
|
|
4528
|
+
/**
|
|
4529
|
+
* Called every time a user leaves an edited cell.
|
|
4530
|
+
*/
|
|
4531
|
+
var CellCloseEvent = /** @class */ (function (_super) {
|
|
4532
|
+
__extends(CellCloseEvent, _super);
|
|
4533
|
+
function CellCloseEvent(options) {
|
|
4534
|
+
var _this = _super.call(this) || this;
|
|
4535
|
+
Object.assign(_this, options);
|
|
4536
|
+
return _this;
|
|
4537
|
+
}
|
|
4538
|
+
return CellCloseEvent;
|
|
4539
|
+
}(PreventableEvent));
|
|
4540
|
+
|
|
4512
4541
|
/**
|
|
4513
4542
|
* Generated bundle index. Do not edit.
|
|
4514
4543
|
*/
|
|
4515
4544
|
|
|
4516
|
-
export { MappingService, OptionChangesService, DependencyDomService, GanttDependencyDirective, EditDialogComponent, EditService, CustomMessagesComponent, LocalizedMessagesDirective, Messages,
|
|
4545
|
+
export { MappingService, OptionChangesService, DependencyDomService, GanttDependencyDirective, 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 };
|