@progress/kendo-angular-gantt 0.2.1-dev.202112091019 → 0.3.0-dev.202201111723
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 +10 -4
- package/dist/es/dependencies/utils.js +6 -5
- package/dist/es/editing/add-task.component.js +94 -0
- package/dist/es/editing/dependencies-table.component.js +131 -0
- package/dist/es/editing/edit-dialog.component.js +37 -6
- package/dist/es/editing/edit.service.js +89 -7
- package/dist/es/editing/task-fields.component.js +43 -0
- package/dist/es/expanded-state/expandable.directive.js +4 -6
- package/dist/es/gantt.component.js +116 -45
- package/dist/es/gantt.module.js +13 -4
- package/dist/es/index.js +5 -1
- package/dist/es/localization/gantt-localization.service.js +26 -0
- package/dist/es/localization/messages.js +45 -1
- package/dist/es/models/dependency-type.enum.js +16 -0
- package/dist/es/models/events/{add-event.interface.js → task-add-event.interface.js} +0 -0
- package/dist/es/models/models.js +2 -0
- package/dist/es/models/{events/edit-event.interface.js → toolbar-settings.js} +0 -0
- package/dist/es/package-metadata.js +1 -1
- package/dist/es/timeline/timeline-base-view.service.js +12 -3
- package/dist/es/toolbar/toolbar.component.js +9 -1
- package/dist/es2015/dependencies/utils.js +6 -5
- package/dist/es2015/editing/add-task.component.d.ts +45 -0
- package/dist/es2015/editing/add-task.component.js +102 -0
- package/dist/es2015/editing/dependencies-table.component.d.ts +39 -0
- package/dist/es2015/editing/dependencies-table.component.js +160 -0
- package/dist/es2015/editing/edit-dialog.component.d.ts +10 -3
- package/dist/es2015/editing/edit-dialog.component.js +55 -33
- package/dist/es2015/editing/edit.service.d.ts +24 -3
- package/dist/es2015/editing/edit.service.js +78 -10
- package/dist/es2015/editing/task-fields.component.d.ts +22 -0
- package/dist/es2015/editing/task-fields.component.js +67 -0
- package/dist/es2015/expanded-state/expandable.directive.d.ts +1 -2
- package/dist/es2015/expanded-state/expandable.directive.js +2 -7
- package/dist/es2015/gantt.component.d.ts +29 -18
- package/dist/es2015/gantt.component.js +183 -43
- package/dist/es2015/gantt.module.js +13 -4
- package/dist/es2015/index.d.ts +5 -1
- package/dist/es2015/index.js +5 -1
- package/dist/es2015/index.metadata.json +1 -1
- package/dist/es2015/localization/{treelist-messages.directive.d.ts → gantt-localization.service.d.ts} +4 -3
- package/dist/es2015/localization/gantt-localization.service.js +25 -0
- package/dist/es2015/localization/messages.d.ts +46 -2
- package/dist/es2015/localization/messages.js +45 -1
- package/dist/es2015/models/dependency-type.enum.d.ts +1 -1
- package/dist/es2015/models/dependency-type.enum.js +16 -0
- package/dist/es2015/models/events/cell-close-event.interface.d.ts +1 -1
- package/dist/es2015/models/events/task-add-event.interface.d.ts +31 -0
- package/dist/{es/models/events/remove-event.interface.js → es2015/models/events/task-add-event.interface.js} +0 -0
- package/dist/es2015/models/events/task-edit-event.interface.d.ts +15 -2
- package/dist/es2015/models/models.d.ts +5 -3
- package/dist/es2015/models/models.js +2 -0
- package/dist/es2015/models/toolbar-settings.d.ts +29 -0
- package/dist/{es/models/toolbar-position.js → es2015/models/toolbar-settings.js} +0 -0
- package/dist/es2015/package-metadata.js +1 -1
- package/dist/es2015/timeline/timeline-base-view.service.d.ts +12 -0
- package/dist/es2015/timeline/timeline-base-view.service.js +12 -3
- package/dist/es2015/toolbar/toolbar-template.directive.d.ts +1 -1
- package/dist/es2015/toolbar/toolbar.component.d.ts +2 -0
- package/dist/es2015/toolbar/toolbar.component.js +10 -0
- package/dist/fesm2015/index.js +757 -115
- package/dist/fesm5/index.js +627 -88
- package/dist/npm/dependencies/utils.js +6 -5
- package/dist/npm/editing/add-task.component.js +96 -0
- package/dist/npm/editing/dependencies-table.component.js +133 -0
- package/dist/npm/editing/edit-dialog.component.js +36 -5
- package/dist/npm/editing/edit.service.js +88 -6
- package/dist/npm/editing/task-fields.component.js +45 -0
- package/dist/npm/expanded-state/expandable.directive.js +3 -5
- package/dist/npm/gantt.component.js +116 -45
- package/dist/npm/gantt.module.js +12 -3
- package/dist/npm/index.js +10 -2
- package/dist/npm/localization/gantt-localization.service.js +28 -0
- package/dist/npm/localization/messages.js +45 -1
- package/dist/npm/models/dependency-type.enum.js +16 -0
- package/dist/npm/models/events/{add-event.interface.js → task-add-event.interface.js} +0 -0
- package/dist/npm/models/models.js +4 -0
- package/dist/npm/models/{events/edit-event.interface.js → toolbar-settings.js} +0 -0
- package/dist/npm/package-metadata.js +1 -1
- package/dist/npm/timeline/timeline-base-view.service.js +17 -8
- package/dist/npm/toolbar/toolbar.component.js +9 -1
- package/dist/systemjs/kendo-angular-gantt.js +1 -1
- package/package.json +5 -3
- package/dist/es/localization/treelist-messages.directive.js +0 -31
- package/dist/es2015/localization/treelist-messages.directive.js +0 -29
- package/dist/es2015/models/events/add-event.interface.d.ts +0 -16
- package/dist/es2015/models/events/add-event.interface.js +0 -4
- package/dist/es2015/models/events/edit-event.interface.d.ts +0 -19
- package/dist/es2015/models/events/edit-event.interface.js +0 -4
- package/dist/es2015/models/events/remove-event.interface.d.ts +0 -16
- package/dist/es2015/models/events/remove-event.interface.js +0 -4
- package/dist/es2015/models/toolbar-position.d.ts +0 -9
- package/dist/es2015/models/toolbar-position.js +0 -4
- package/dist/npm/localization/treelist-messages.directive.js +0 -33
- package/dist/npm/models/events/remove-event.interface.js +0 -6
- package/dist/npm/models/toolbar-position.js +0 -6
|
@@ -4,38 +4,106 @@
|
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
import * as tslib_1 from "tslib";
|
|
6
6
|
import { Injectable } from '@angular/core';
|
|
7
|
-
import { Subject } from 'rxjs';
|
|
7
|
+
import { EMPTY, forkJoin, isObservable, of, Subject } from 'rxjs';
|
|
8
|
+
import { MappingService } from '../common/mapping.service';
|
|
9
|
+
import { map, expand, reduce } from 'rxjs/operators';
|
|
10
|
+
import { isPresent, normalizeGanttData } from '../utils';
|
|
8
11
|
/**
|
|
9
12
|
* @hidden
|
|
10
13
|
*/
|
|
11
14
|
let EditService = class EditService {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
*/
|
|
15
|
-
constructor() {
|
|
15
|
+
constructor(mapper) {
|
|
16
|
+
this.mapper = mapper;
|
|
16
17
|
this.showEditingDialog = new Subject();
|
|
17
18
|
this.showConfirmationDialog = new Subject();
|
|
18
19
|
this.editEvent = new Subject();
|
|
20
|
+
this.addEvent = new Subject();
|
|
21
|
+
this.updatedItems = [];
|
|
22
|
+
this.deletedItems = [];
|
|
23
|
+
this.itemIndex = (item, data) => {
|
|
24
|
+
return data.findIndex(dataItem => this.mapper.extractFromTask(dataItem, 'id') === this.mapper.extractFromTask(item, 'id'));
|
|
25
|
+
};
|
|
19
26
|
}
|
|
20
|
-
|
|
27
|
+
set dependencies(items) {
|
|
28
|
+
// Can this whole thing be moved to edit-dialog? Dependencies might not be needed here
|
|
29
|
+
const dataItemId = this.mapper.extractFromTask(this.dataItem, 'id');
|
|
30
|
+
this.predecessors = items.filter(item => this.mapper.extractFromDependency(item, 'toId') === dataItemId);
|
|
31
|
+
this.successors = items.filter(item => this.mapper.extractFromDependency(item, 'fromId') === dataItemId);
|
|
32
|
+
}
|
|
33
|
+
get dependencies() {
|
|
34
|
+
return [...this.predecessors, ...this.successors];
|
|
35
|
+
}
|
|
36
|
+
createEditDialog(dataItem, taskFormGroup, dependencies) {
|
|
21
37
|
this.dataItem = dataItem;
|
|
22
|
-
this.
|
|
38
|
+
this.taskFormGroup = taskFormGroup;
|
|
39
|
+
this.dependencies = dependencies;
|
|
23
40
|
this.showEditingDialog.next(true);
|
|
24
41
|
}
|
|
25
42
|
closeEditDialog() {
|
|
26
43
|
this.showEditingDialog.next(false);
|
|
27
44
|
this.dataItem = undefined;
|
|
28
|
-
this.
|
|
45
|
+
this.taskFormGroup = undefined;
|
|
46
|
+
this.dependencies = [];
|
|
47
|
+
this.updatedItems = [];
|
|
48
|
+
this.deletedItems = [];
|
|
29
49
|
}
|
|
30
50
|
triggerEditEvent(editResultType) {
|
|
31
51
|
this.editEvent.next({
|
|
32
|
-
|
|
52
|
+
taskFormGroup: this.taskFormGroup,
|
|
33
53
|
dataItem: this.dataItem,
|
|
54
|
+
dependencies: {
|
|
55
|
+
createdItems: this.getCreatedDependencies(),
|
|
56
|
+
updatedItems: this.updatedItems,
|
|
57
|
+
deletedItems: this.deletedItems
|
|
58
|
+
},
|
|
34
59
|
editResultType
|
|
35
60
|
});
|
|
36
61
|
}
|
|
62
|
+
updateDependencies(item) {
|
|
63
|
+
if (!this.isNew(item)) {
|
|
64
|
+
// update
|
|
65
|
+
const index = this.itemIndex(item, this.updatedItems);
|
|
66
|
+
if (index !== -1) {
|
|
67
|
+
this.updatedItems.splice(index, 1, item);
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
this.updatedItems.push(item);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
getCreatedDependencies() {
|
|
75
|
+
return this.dependencies.filter(item => this.mapper.extractFromDependency(item, 'id') === null);
|
|
76
|
+
}
|
|
77
|
+
deleteDependency(item) {
|
|
78
|
+
const updatedIndex = this.itemIndex(item, this.updatedItems);
|
|
79
|
+
if (updatedIndex !== -1) {
|
|
80
|
+
this.updatedItems.splice(updatedIndex, 1);
|
|
81
|
+
}
|
|
82
|
+
if (!this.isNew(item)) {
|
|
83
|
+
this.deletedItems.push(item);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
loadTasks(initialValues, isInitializer = true) {
|
|
87
|
+
return forkJoin(initialValues.map(v => this.getElementById(v))).pipe(map((value) => value.reduce((acc, item) => acc = acc.concat(normalizeGanttData(item)), [])), expand(values => {
|
|
88
|
+
if (values.some(el => this.hasChildren(el))) {
|
|
89
|
+
return this.loadTasks(values, false);
|
|
90
|
+
}
|
|
91
|
+
return EMPTY;
|
|
92
|
+
}), reduce((acc, values) => acc.concat(values), isInitializer ? [...initialValues] : []));
|
|
93
|
+
}
|
|
94
|
+
getElementById(item) {
|
|
95
|
+
const children = this.fetchChildren(item);
|
|
96
|
+
if (isObservable(children)) {
|
|
97
|
+
return children;
|
|
98
|
+
}
|
|
99
|
+
return of(children);
|
|
100
|
+
}
|
|
101
|
+
isNew(item) {
|
|
102
|
+
return !isPresent(this.mapper.extractFromDependency(item, 'id'));
|
|
103
|
+
}
|
|
37
104
|
};
|
|
38
105
|
EditService = tslib_1.__decorate([
|
|
39
|
-
Injectable()
|
|
106
|
+
Injectable(),
|
|
107
|
+
tslib_1.__metadata("design:paramtypes", [MappingService])
|
|
40
108
|
], EditService);
|
|
41
109
|
export { EditService };
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**-----------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright © 2021 Progress Software Corporation. All rights reserved.
|
|
3
|
+
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
+
*-------------------------------------------------------------------------------------------*/
|
|
5
|
+
import { FormGroup } from '@angular/forms';
|
|
6
|
+
import { MappingService } from '../common/mapping.service';
|
|
7
|
+
import { GanttLocalizationService } from '../localization/gantt-localization.service';
|
|
8
|
+
import { EditService } from './edit.service';
|
|
9
|
+
/**
|
|
10
|
+
* @hidden
|
|
11
|
+
*/
|
|
12
|
+
export declare class TaskFieldsComponent {
|
|
13
|
+
mapper: MappingService;
|
|
14
|
+
private editService;
|
|
15
|
+
private localizationService;
|
|
16
|
+
constructor(mapper: MappingService, editService: EditService, localizationService: GanttLocalizationService);
|
|
17
|
+
/**
|
|
18
|
+
* @hidden
|
|
19
|
+
*/
|
|
20
|
+
readonly formGroup: FormGroup;
|
|
21
|
+
getText(token: string): string;
|
|
22
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**-----------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright © 2021 Progress Software Corporation. All rights reserved.
|
|
3
|
+
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
+
*-------------------------------------------------------------------------------------------*/
|
|
5
|
+
import * as tslib_1 from "tslib";
|
|
6
|
+
import { Component } from '@angular/core';
|
|
7
|
+
import { MappingService } from '../common/mapping.service';
|
|
8
|
+
import { GanttLocalizationService } from '../localization/gantt-localization.service';
|
|
9
|
+
import { EditService } from './edit.service';
|
|
10
|
+
/**
|
|
11
|
+
* @hidden
|
|
12
|
+
*/
|
|
13
|
+
let TaskFieldsComponent = class TaskFieldsComponent {
|
|
14
|
+
constructor(mapper, editService, localizationService) {
|
|
15
|
+
this.mapper = mapper;
|
|
16
|
+
this.editService = editService;
|
|
17
|
+
this.localizationService = localizationService;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* @hidden
|
|
21
|
+
*/
|
|
22
|
+
get formGroup() {
|
|
23
|
+
return this.editService.taskFormGroup;
|
|
24
|
+
}
|
|
25
|
+
getText(token) {
|
|
26
|
+
return this.localizationService.get(token);
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
TaskFieldsComponent = tslib_1.__decorate([
|
|
30
|
+
Component({
|
|
31
|
+
selector: 'kendo-gantt-task-fields',
|
|
32
|
+
template: `
|
|
33
|
+
<form class="k-form" [formGroup]="formGroup">
|
|
34
|
+
<kendo-formfield *ngIf="formGroup.contains(mapper.taskFields.title)">
|
|
35
|
+
<kendo-label [for]="mapper.taskFields.title" [text]="getText('titleFieldInputLabel')"></kendo-label>
|
|
36
|
+
<input class="k-textbox" [formControlName]="mapper.taskFields.title" />
|
|
37
|
+
</kendo-formfield>
|
|
38
|
+
<div class="k-hstack">
|
|
39
|
+
<kendo-formfield [style.width.%]="49" *ngIf="formGroup.contains(mapper.taskFields.start)">
|
|
40
|
+
<kendo-label [for]="mapper.taskFields.start" [text]="getText('startFieldInputLabel')"></kendo-label>
|
|
41
|
+
<kendo-datetimepicker [formControlName]="mapper.taskFields.start"></kendo-datetimepicker>
|
|
42
|
+
</kendo-formfield>
|
|
43
|
+
<kendo-treelist-spacer></kendo-treelist-spacer>
|
|
44
|
+
<kendo-formfield [style.width.%]="49" *ngIf="formGroup.contains(mapper.taskFields.end)">
|
|
45
|
+
<kendo-label [for]="mapper.taskFields.end" [text]="getText('endFieldInputLabel')"></kendo-label>
|
|
46
|
+
<kendo-datetimepicker [formControlName]="mapper.taskFields.end"></kendo-datetimepicker>
|
|
47
|
+
</kendo-formfield>
|
|
48
|
+
</div>
|
|
49
|
+
<kendo-formfield [style.width.%]="49" *ngIf="formGroup.contains(mapper.taskFields.completionRatio)">
|
|
50
|
+
<kendo-label [for]="mapper.taskFields.completionRatio" [text]="getText('completionRatioFieldInputLabel')"></kendo-label>
|
|
51
|
+
<kendo-numerictextbox
|
|
52
|
+
[formControlName]="mapper.taskFields.completionRatio"
|
|
53
|
+
[min]="0"
|
|
54
|
+
[max]="1"
|
|
55
|
+
[decimals]="2"
|
|
56
|
+
format="p2"
|
|
57
|
+
[step]="0.01"
|
|
58
|
+
></kendo-numerictextbox>
|
|
59
|
+
</kendo-formfield>
|
|
60
|
+
</form>
|
|
61
|
+
`
|
|
62
|
+
}),
|
|
63
|
+
tslib_1.__metadata("design:paramtypes", [MappingService,
|
|
64
|
+
EditService,
|
|
65
|
+
GanttLocalizationService])
|
|
66
|
+
], TaskFieldsComponent);
|
|
67
|
+
export { TaskFieldsComponent };
|
|
@@ -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 { ExpandableDirective
|
|
5
|
+
import { ExpandableDirective } from '@progress/kendo-angular-treelist';
|
|
6
6
|
/**
|
|
7
7
|
* A directive which controls the expanded state of the items.
|
|
8
8
|
*/
|
|
@@ -14,5 +14,4 @@ export declare class GanttExpandableDirective extends ExpandableDirective {
|
|
|
14
14
|
*
|
|
15
15
|
*/
|
|
16
16
|
expandBy: string | ((dataItem: any) => any);
|
|
17
|
-
constructor(gantt: ExpandableTreeComponent);
|
|
18
17
|
}
|
|
@@ -4,15 +4,11 @@
|
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
import * as tslib_1 from "tslib";
|
|
6
6
|
import { Directive, Input } from '@angular/core';
|
|
7
|
-
import { ExpandableDirective
|
|
7
|
+
import { ExpandableDirective } from '@progress/kendo-angular-treelist';
|
|
8
8
|
/**
|
|
9
9
|
* A directive which controls the expanded state of the items.
|
|
10
10
|
*/
|
|
11
11
|
let GanttExpandableDirective = class GanttExpandableDirective extends ExpandableDirective {
|
|
12
|
-
// fixes an injection error in some builds/ng-versions (e.g. StackBlitz)
|
|
13
|
-
constructor(gantt) {
|
|
14
|
-
super(gantt);
|
|
15
|
-
}
|
|
16
12
|
};
|
|
17
13
|
tslib_1.__decorate([
|
|
18
14
|
Input(),
|
|
@@ -22,7 +18,6 @@ GanttExpandableDirective = tslib_1.__decorate([
|
|
|
22
18
|
Directive({
|
|
23
19
|
exportAs: 'kendoGanttExpandable',
|
|
24
20
|
selector: '[kendoGanttExpandable]'
|
|
25
|
-
})
|
|
26
|
-
tslib_1.__metadata("design:paramtypes", [ExpandableTreeComponent])
|
|
21
|
+
})
|
|
27
22
|
], GanttExpandableDirective);
|
|
28
23
|
export { GanttExpandableDirective };
|
|
@@ -24,12 +24,13 @@ import { GanttTaskTemplateDirective } from './template-directives/task-template.
|
|
|
24
24
|
import { GanttSummaryTaskTemplateDirective } from './template-directives/summary-task-template.directive';
|
|
25
25
|
import { GanttTaskContentTemplateDirective } from './template-directives/task-content-template.directive';
|
|
26
26
|
import { ToolbarTemplateDirective } from './toolbar/toolbar-template.directive';
|
|
27
|
-
import {
|
|
27
|
+
import { ToolbarSettings } from './models/toolbar-settings';
|
|
28
28
|
import { ExpandEvent } from './expanded-state/expand-event';
|
|
29
29
|
import { ViewBase } from './timeline/view-base';
|
|
30
30
|
import { SelectionChangeEvent } from './selection/selection-change-event';
|
|
31
31
|
import { TaskEditEvent } from './models/events/task-edit-event.interface';
|
|
32
32
|
import { CellCloseEvent } from './models/events/cell-close-event.interface';
|
|
33
|
+
import { TaskAddEvent } from './models/events/task-add-event.interface';
|
|
33
34
|
/**
|
|
34
35
|
* Represents the Kendo UI Gantt component for Angular.
|
|
35
36
|
*
|
|
@@ -109,7 +110,7 @@ export declare class GanttComponent implements AfterContentInit, OnChanges, OnDe
|
|
|
109
110
|
private optionChangesService;
|
|
110
111
|
private dependencyDomService;
|
|
111
112
|
private editService;
|
|
112
|
-
localizationService
|
|
113
|
+
private localizationService;
|
|
113
114
|
private hostElement;
|
|
114
115
|
private zone;
|
|
115
116
|
treeList: TreeListComponent;
|
|
@@ -164,7 +165,7 @@ export declare class GanttComponent implements AfterContentInit, OnChanges, OnDe
|
|
|
164
165
|
/**
|
|
165
166
|
* Provides a callback that determines if the given task is selected ([see example]({% slug selection_gantt %}#toc-custom-selection))
|
|
166
167
|
*
|
|
167
|
-
* > The [`selectable`]({% slug
|
|
168
|
+
* > The [`selectable`]({% slug api_gantt_ganttcomponent %}#toc-selectable) prop has to be set to `true` in order for this callback to be executed.
|
|
168
169
|
*/
|
|
169
170
|
isSelected: (dataItem: object) => boolean;
|
|
170
171
|
/**
|
|
@@ -178,29 +179,32 @@ export declare class GanttComponent implements AfterContentInit, OnChanges, OnDe
|
|
|
178
179
|
/**
|
|
179
180
|
* Enables or disables the Gantt selection mechanism ([see example]({% slug selection_gantt %}#toc-custom-selection)).
|
|
180
181
|
*
|
|
181
|
-
* > When set to `true`, the [`isSelected`]({% slug
|
|
182
|
+
* > When set to `true`, the [`isSelected`]({% slug api_gantt_ganttcomponent %}#toc-isselected) callback has to be provided.
|
|
182
183
|
* > When applied, the [`SelectableDirective`]({% slug api_gantt_selectabledirective %}) sets `selectable` to `true` internally.
|
|
183
184
|
*/
|
|
184
185
|
selectable: boolean;
|
|
185
186
|
/**
|
|
186
|
-
* The position of the toolbar.
|
|
187
|
+
* The toolbar configuration. Defines the position and content of the toolbar(s).
|
|
188
|
+
* The available properties are `position`, `addTaskTool`, and `viewSelectorTool`.
|
|
189
|
+
* All are optional and default to `top`.
|
|
187
190
|
*
|
|
188
|
-
* The possible values are:
|
|
189
|
-
* - `top`—Positions the toolbar above the Gantt panes.
|
|
190
|
-
* - `bottom`—Positions the toolbar below the Gantt panes.
|
|
191
|
+
* The possible values for each option are:
|
|
192
|
+
* - `top`—Positions the toolbar above the Gantt panes. Renders the respective tool in the top toolbar.
|
|
193
|
+
* - `bottom`—Positions the toolbar below the Gantt panes. Renders the respective tool in the bottom toolbar.
|
|
191
194
|
* - `both`—Displays two toolbar instances. Positions the first one above,
|
|
192
|
-
* and the second one - below the Gantt panes.
|
|
193
|
-
* - `none`—No toolbar is rendered
|
|
195
|
+
* and the second one - below the Gantt panes. Renders the respective tool in the both toolbars.
|
|
196
|
+
* - `none`—No toolbar is rendered when used for setting `position`.
|
|
197
|
+
* No add task or view selector tool is rendered when used for setting `addTaskTool` or `viewSelectorTool`.
|
|
194
198
|
*/
|
|
195
|
-
|
|
199
|
+
toolbarSettings: ToolbarSettings;
|
|
196
200
|
/**
|
|
197
201
|
* Gets or sets the callback function that retrieves the child items for a particular item.
|
|
198
202
|
*/
|
|
199
|
-
fetchChildren: (
|
|
203
|
+
fetchChildren: (dataItem: any) => Observable<object[]>;
|
|
200
204
|
/**
|
|
201
205
|
* Gets or sets the callback function that indicates if a particular item has child items.
|
|
202
206
|
*/
|
|
203
|
-
hasChildren: (
|
|
207
|
+
hasChildren: (dataItem: any) => boolean;
|
|
204
208
|
/**
|
|
205
209
|
* Defines the dependencies that will be drawn between the rendered tasks.
|
|
206
210
|
*
|
|
@@ -335,6 +339,10 @@ export declare class GanttComponent implements AfterContentInit, OnChanges, OnDe
|
|
|
335
339
|
* Fires when the user saves an edited task.
|
|
336
340
|
*/
|
|
337
341
|
save: EventEmitter<TaskEditEvent>;
|
|
342
|
+
/**
|
|
343
|
+
* Fires when the user adds a task.
|
|
344
|
+
*/
|
|
345
|
+
taskAdd: EventEmitter<TaskAddEvent>;
|
|
338
346
|
/**
|
|
339
347
|
* Fires when the sorting of the Gantt is changed.
|
|
340
348
|
* You have to handle the event yourself and sort the data.
|
|
@@ -434,10 +442,6 @@ export declare class GanttComponent implements AfterContentInit, OnChanges, OnDe
|
|
|
434
442
|
* Used by the views selector.
|
|
435
443
|
*/
|
|
436
444
|
readonly viewTypes: string[];
|
|
437
|
-
/**
|
|
438
|
-
* @hidden
|
|
439
|
-
*/
|
|
440
|
-
readonly editDialogFormGroup: FormGroup;
|
|
441
445
|
/**
|
|
442
446
|
* @hidden
|
|
443
447
|
*
|
|
@@ -460,6 +464,9 @@ export declare class GanttComponent implements AfterContentInit, OnChanges, OnDe
|
|
|
460
464
|
private _rowClass;
|
|
461
465
|
private _taskClass;
|
|
462
466
|
private _activeView;
|
|
467
|
+
private _toolbarSettings;
|
|
468
|
+
private _fetchChildren;
|
|
469
|
+
private _hasChildren;
|
|
463
470
|
private lastTreeListCellClick;
|
|
464
471
|
private direction;
|
|
465
472
|
private rtl;
|
|
@@ -503,7 +510,10 @@ export declare class GanttComponent implements AfterContentInit, OnChanges, OnDe
|
|
|
503
510
|
*/
|
|
504
511
|
reorderColumn(source: GanttColumnBase, destIndex: number, options?: ColumnReorderConfig): void;
|
|
505
512
|
/**
|
|
506
|
-
*
|
|
513
|
+
* Forces the TreeList to evaluate if some data items have changed and re-renders the rows information, if needed.
|
|
514
|
+
* Recalculates and re-renders the Timeline period, if needed.
|
|
515
|
+
* Redraws changed dependencies, if needed.
|
|
516
|
+
* Executes all row-related callbacks anew.
|
|
507
517
|
*/
|
|
508
518
|
updateView(): void;
|
|
509
519
|
/**
|
|
@@ -600,4 +610,5 @@ export declare class GanttComponent implements AfterContentInit, OnChanges, OnDe
|
|
|
600
610
|
private getActiveViewOptions;
|
|
601
611
|
private isSameSelection;
|
|
602
612
|
private getSelectionAction;
|
|
613
|
+
private getFirstSelectedItem;
|
|
603
614
|
}
|