@progress/kendo-angular-gantt 17.0.0-develop.4 → 17.0.0-develop.40
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/README.md +41 -17
- package/binding-directives/flat-binding.directive.d.ts +1 -1
- package/binding-directives/hierarchy-binding.directive.d.ts +1 -1
- package/columns/column-base.component.d.ts +1 -74
- package/columns/column-group.component.d.ts +1 -80
- package/columns/column.component.d.ts +1 -80
- package/columns/span-column.component.d.ts +1 -90
- package/dependencies/gantt-dependency.directive.d.ts +1 -1
- package/dragging/dependency-drag-create.directive.d.ts +1 -1
- package/editing/add-task.component.d.ts +1 -1
- package/editing/dependencies-table.component.d.ts +1 -1
- package/editing/edit-dialog.component.d.ts +1 -1
- package/{esm2020 → esm2022}/binding-directives/flat-binding.directive.mjs +7 -3
- package/{esm2020 → esm2022}/binding-directives/hierarchy-binding.directive.mjs +7 -3
- package/{esm2020 → esm2022}/columns/cell-template.directive.mjs +4 -3
- package/esm2022/columns/column-base.component.mjs +22 -0
- package/esm2022/columns/column-group.component.mjs +66 -0
- package/{esm2020 → esm2022}/columns/column-menu-template.directive.mjs +4 -3
- package/{esm2020 → esm2022}/columns/column.component.mjs +37 -65
- package/{esm2020 → esm2022}/columns/edit-template.directive.mjs +4 -3
- package/{esm2020 → esm2022}/columns/filter-cell-template.directive.mjs +4 -3
- package/{esm2020 → esm2022}/columns/filter-menu-template.directive.mjs +4 -3
- package/{esm2020 → esm2022}/columns/footer-template.directive.mjs +4 -3
- package/{esm2020 → esm2022}/columns/header-template.directive.mjs +4 -3
- package/esm2022/columns/span-column.component.mjs +66 -0
- package/{esm2020 → esm2022}/common/mapping.service.mjs +5 -7
- package/{esm2020 → esm2022}/common/option-changes.service.mjs +6 -8
- package/{esm2020 → esm2022}/dependencies/dependency-dom.service.mjs +21 -12
- package/{esm2020 → esm2022}/dependencies/gantt-dependency.directive.mjs +10 -4
- package/{esm2020 → esm2022}/dragging/dependency-drag-create.directive.mjs +41 -18
- package/{esm2020 → esm2022}/dragging/drag-validation-tooltip.component.mjs +24 -12
- package/{esm2020 → esm2022}/editing/add-task.component.mjs +31 -28
- package/{esm2020 → esm2022}/editing/dependencies-table.component.mjs +23 -16
- package/{esm2020 → esm2022}/editing/edit-dialog.component.mjs +14 -8
- package/{esm2020 → esm2022}/editing/edit.service.mjs +23 -17
- package/{esm2020 → esm2022}/editing/task-fields.component.mjs +8 -5
- package/{esm2020 → esm2022}/expanded-state/expand-event.mjs +4 -0
- package/{esm2020 → esm2022}/expanded-state/expandable.directive.mjs +3 -3
- package/{esm2020 → esm2022}/gantt.component.mjs +434 -364
- package/{esm2020 → esm2022}/gantt.module.mjs +31 -31
- package/{esm2020 → esm2022}/localization/custom-messages.component.mjs +9 -8
- package/{esm2020 → esm2022}/localization/gantt-localization.service.mjs +4 -3
- package/{esm2020 → esm2022}/localization/localized-messages.directive.mjs +9 -8
- package/esm2022/localization/messages.mjs +441 -0
- package/esm2022/models/events/cell-close-event.interface.mjs +45 -0
- package/{esm2020 → esm2022}/navigation/navigation.service.mjs +40 -35
- package/{esm2020 → esm2022}/package-metadata.mjs +2 -2
- package/{esm2020 → esm2022}/rendering/gantt-header-table-body.component.mjs +7 -7
- package/{esm2020 → esm2022}/rendering/gantt-milestone-task.component.mjs +11 -11
- package/{esm2020 → esm2022}/rendering/gantt-summary-task.component.mjs +16 -14
- package/{esm2020 → esm2022}/rendering/gantt-task-base.mjs +37 -18
- package/{esm2020 → esm2022}/rendering/gantt-task.component.mjs +14 -11
- package/{esm2020 → esm2022}/rendering/gantt-tasks-table-body.component.mjs +20 -8
- package/{esm2020 → esm2022}/scrolling/scroll-sync.service.mjs +9 -6
- package/{esm2020 → esm2022}/scrolling/timeline-scroll.directive.mjs +10 -4
- package/{esm2020 → esm2022}/scrolling/timeline-scroll.service.mjs +6 -8
- package/{esm2020 → esm2022}/selection/selectable.directive.mjs +18 -14
- package/{esm2020 → esm2022}/template-directives/summary-task-template.directive.mjs +4 -3
- package/{esm2020 → esm2022}/template-directives/task-content-template.directive.mjs +4 -3
- package/{esm2020 → esm2022}/template-directives/task-template.directive.mjs +4 -3
- package/{esm2020 → esm2022}/timeline/current-time-marker.service.mjs +36 -27
- package/{esm2020 → esm2022}/timeline/gantt-timeline.component.mjs +54 -16
- package/{esm2020 → esm2022}/timeline/timeline-base-view.service.mjs +6 -3
- package/{esm2020 → esm2022}/timeline/timeline-day-view.component.mjs +12 -12
- package/{esm2020 → esm2022}/timeline/timeline-day-view.service.mjs +4 -3
- package/{esm2020 → esm2022}/timeline/timeline-month-view.component.mjs +12 -12
- package/{esm2020 → esm2022}/timeline/timeline-month-view.service.mjs +4 -3
- package/{esm2020 → esm2022}/timeline/timeline-view.service.mjs +5 -4
- package/{esm2020 → esm2022}/timeline/timeline-week-view.component.mjs +12 -12
- package/{esm2020 → esm2022}/timeline/timeline-week-view.service.mjs +4 -3
- package/{esm2020 → esm2022}/timeline/timeline-year-view.component.mjs +12 -12
- package/{esm2020 → esm2022}/timeline/timeline-year-view.service.mjs +4 -3
- package/{esm2020 → esm2022}/timeline/view-base.mjs +22 -9
- package/{esm2020 → esm2022}/toolbar/toolbar-navigation.service.mjs +6 -4
- package/{esm2020 → esm2022}/toolbar/toolbar-template.directive.mjs +8 -7
- package/{esm2020 → esm2022}/toolbar/toolbar.component.mjs +21 -12
- package/{esm2020 → esm2022}/toolbar/view-selector.component.mjs +20 -15
- package/expanded-state/expandable.directive.d.ts +1 -1
- package/{fesm2020 → fesm2022}/progress-kendo-angular-gantt.mjs +1581 -1116
- package/gantt.component.d.ts +1 -1
- package/localization/messages.d.ts +1 -1
- package/models/cell-content-type.interface.d.ts +1 -1
- package/models/class-callbacks.d.ts +2 -2
- package/models/events/task-edit-event.interface.d.ts +1 -1
- package/models/filterable-settings.d.ts +1 -1
- package/models/sort-settings.d.ts +2 -2
- package/models/timeline-view.d.ts +1 -1
- package/models/toolbar-settings.d.ts +1 -1
- package/package.json +25 -31
- package/rendering/gantt-header-table-body.component.d.ts +1 -1
- package/rendering/gantt-summary-task.component.d.ts +1 -1
- package/rendering/gantt-task-base.d.ts +1 -1
- package/rendering/gantt-task.component.d.ts +1 -1
- package/rendering/gantt-tasks-table-body.component.d.ts +1 -1
- package/schematics/ngAdd/index.js +7 -7
- package/scrolling/scroll-sync.service.d.ts +2 -2
- package/scrolling/timeline-scroll.directive.d.ts +1 -1
- package/selection/selectable.directive.d.ts +1 -1
- package/timeline/gantt-timeline.component.d.ts +1 -1
- package/timeline/view-base.d.ts +1 -1
- package/toolbar/toolbar-template.directive.d.ts +1 -1
- package/toolbar/toolbar.component.d.ts +1 -1
- package/toolbar/view-selector.component.d.ts +1 -1
- package/utils.d.ts +1 -1
- package/esm2020/columns/column-base.component.mjs +0 -55
- package/esm2020/columns/column-group.component.mjs +0 -101
- package/esm2020/columns/span-column.component.mjs +0 -120
- package/esm2020/localization/messages.mjs +0 -157
- package/esm2020/models/events/cell-close-event.interface.mjs +0 -14
- package/fesm2015/progress-kendo-angular-gantt.mjs +0 -8219
- /package/{esm2020 → esm2022}/columns/columns.mjs +0 -0
- /package/{esm2020 → esm2022}/common/default-callbacks.mjs +0 -0
- /package/{esm2020 → esm2022}/dependencies/dom-dependency-args.mjs +0 -0
- /package/{esm2020 → esm2022}/dependencies/utils.mjs +0 -0
- /package/{esm2020 → esm2022}/directives.mjs +0 -0
- /package/{esm2020 → esm2022}/editing/utils.mjs +0 -0
- /package/{esm2020 → esm2022}/index.mjs +0 -0
- /package/{esm2020 → esm2022}/models/cell-content-type.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/models/class-callbacks.mjs +0 -0
- /package/{esm2020 → esm2022}/models/column-menu-settings.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/models/column-reorder-config.mjs +0 -0
- /package/{esm2020 → esm2022}/models/current-time-settings.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/models/date-range.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/models/dependency-type.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/models/events/cell-click-event.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/models/events/click-event.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/models/events/column-locked-change-event.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/models/events/column-reorder-event.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/models/events/column-resize-event.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/models/events/column-visibility-change-event.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/models/events/data-state-change-event.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/models/events/dependency-add-event.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/models/events/selected-view-change-event.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/models/events/task-add-event.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/models/events/task-click-event.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/models/events/task-delete-event.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/models/events/task-edit-event.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/models/events/task-move-end-event.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/models/events/task-move-event.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/models/events/task-move-start-event.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/models/events/task-resize-end-event.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/models/events/task-resize-event.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/models/events/task-resize-start-event.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/models/filterable-settings.mjs +0 -0
- /package/{esm2020 → esm2022}/models/gantt-dependency-model-fields.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/models/gantt-dependency.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/models/gantt-task-model-fields.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/models/gantt-task.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/models/models.mjs +0 -0
- /package/{esm2020 → esm2022}/models/slot.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/models/sort-settings.mjs +0 -0
- /package/{esm2020 → esm2022}/models/splitter-pane-options.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/models/timeline-header-date-format.mjs +0 -0
- /package/{esm2020 → esm2022}/models/timeline-options.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/models/timeline-view.mjs +0 -0
- /package/{esm2020 → esm2022}/models/toolbar-settings.mjs +0 -0
- /package/{esm2020 → esm2022}/models/view-item.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/navigation/navigation-models.mjs +0 -0
- /package/{esm2020 → esm2022}/navigation/utils.mjs +0 -0
- /package/{esm2020 → esm2022}/progress-kendo-angular-gantt.mjs +0 -0
- /package/{esm2020 → esm2022}/scrolling/drag-scroll-settings.mjs +0 -0
- /package/{esm2020 → esm2022}/scrolling/utils.mjs +0 -0
- /package/{esm2020 → esm2022}/selection/selection-change-event.mjs +0 -0
- /package/{esm2020 → esm2022}/utils.mjs +0 -0
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**-----------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
3
|
+
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
+
*-------------------------------------------------------------------------------------------*/
|
|
5
|
+
import { Component, forwardRef, SkipSelf, Host, Optional, ContentChildren, QueryList } from '@angular/core';
|
|
6
|
+
import { ColumnGroupComponent } from '@progress/kendo-angular-treelist';
|
|
7
|
+
import { OptionChangesService } from '../common/option-changes.service';
|
|
8
|
+
import { GanttColumnBase } from './column-base.component';
|
|
9
|
+
import { HeaderTemplateDirective } from './header-template.directive';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
import * as i1 from "../common/option-changes.service";
|
|
12
|
+
import * as i2 from "./column-base.component";
|
|
13
|
+
export class GanttColumnGroupComponent extends ColumnGroupComponent {
|
|
14
|
+
options;
|
|
15
|
+
/**
|
|
16
|
+
* @hidden
|
|
17
|
+
*/
|
|
18
|
+
children = new QueryList();
|
|
19
|
+
/**
|
|
20
|
+
* @hidden
|
|
21
|
+
*/
|
|
22
|
+
headerTemplates;
|
|
23
|
+
constructor(options, parent) {
|
|
24
|
+
super(parent);
|
|
25
|
+
this.options = options;
|
|
26
|
+
if (parent && parent.isSpanColumn) {
|
|
27
|
+
throw new Error('ColumnGroupComponent cannot be nested inside SpanColumnComponent');
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
ngOnChanges() {
|
|
31
|
+
this.options.notifyColumnChanges();
|
|
32
|
+
}
|
|
33
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GanttColumnGroupComponent, deps: [{ token: i1.OptionChangesService }, { token: i2.GanttColumnBase, host: true, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
34
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GanttColumnGroupComponent, isStandalone: true, selector: "kendo-gantt-column-group", providers: [
|
|
35
|
+
{
|
|
36
|
+
provide: GanttColumnBase,
|
|
37
|
+
useExisting: forwardRef(() => GanttColumnGroupComponent)
|
|
38
|
+
}
|
|
39
|
+
], queries: [{ propertyName: "children", predicate: GanttColumnBase }, { propertyName: "headerTemplates", predicate: HeaderTemplateDirective }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '', isInline: true });
|
|
40
|
+
}
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GanttColumnGroupComponent, decorators: [{
|
|
42
|
+
type: Component,
|
|
43
|
+
args: [{
|
|
44
|
+
selector: 'kendo-gantt-column-group',
|
|
45
|
+
template: '',
|
|
46
|
+
providers: [
|
|
47
|
+
{
|
|
48
|
+
provide: GanttColumnBase,
|
|
49
|
+
useExisting: forwardRef(() => GanttColumnGroupComponent)
|
|
50
|
+
}
|
|
51
|
+
],
|
|
52
|
+
standalone: true
|
|
53
|
+
}]
|
|
54
|
+
}], ctorParameters: function () { return [{ type: i1.OptionChangesService }, { type: i2.GanttColumnBase, decorators: [{
|
|
55
|
+
type: SkipSelf
|
|
56
|
+
}, {
|
|
57
|
+
type: Host
|
|
58
|
+
}, {
|
|
59
|
+
type: Optional
|
|
60
|
+
}] }]; }, propDecorators: { children: [{
|
|
61
|
+
type: ContentChildren,
|
|
62
|
+
args: [GanttColumnBase]
|
|
63
|
+
}], headerTemplates: [{
|
|
64
|
+
type: ContentChildren,
|
|
65
|
+
args: [HeaderTemplateDirective]
|
|
66
|
+
}] } });
|
|
@@ -15,13 +15,14 @@ import * as i0 from "@angular/core";
|
|
|
15
15
|
* - `column`—Represents the Gantt column.
|
|
16
16
|
*/
|
|
17
17
|
export class ColumnMenuTemplateDirective {
|
|
18
|
+
templateRef;
|
|
18
19
|
constructor(templateRef) {
|
|
19
20
|
this.templateRef = templateRef;
|
|
20
21
|
}
|
|
22
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColumnMenuTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
23
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ColumnMenuTemplateDirective, isStandalone: true, selector: "[kendoGanttColumnMenuTemplate]", ngImport: i0 });
|
|
21
24
|
}
|
|
22
|
-
|
|
23
|
-
ColumnMenuTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: ColumnMenuTemplateDirective, isStandalone: true, selector: "[kendoGanttColumnMenuTemplate]", ngImport: i0 });
|
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ColumnMenuTemplateDirective, decorators: [{
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColumnMenuTemplateDirective, decorators: [{
|
|
25
26
|
type: Directive,
|
|
26
27
|
args: [{
|
|
27
28
|
selector: '[kendoGanttColumnMenuTemplate]',
|
|
@@ -17,56 +17,51 @@ import * as i0 from "@angular/core";
|
|
|
17
17
|
import * as i1 from "../common/option-changes.service";
|
|
18
18
|
import * as i2 from "./column-base.component";
|
|
19
19
|
export class GanttColumnComponent extends ColumnComponent {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
* Defines the editor type.
|
|
37
|
-
* Used when the column enters the edit mode. The default value is `text`.
|
|
38
|
-
*/
|
|
39
|
-
this.editor = 'text';
|
|
40
|
-
/**
|
|
41
|
-
* @hidden
|
|
42
|
-
*
|
|
43
|
-
* Defines whether the column is editable. The default value is `true`.
|
|
44
|
-
*/
|
|
45
|
-
this.editable = true;
|
|
46
|
-
}
|
|
20
|
+
options;
|
|
21
|
+
headerTemplates = new QueryList();
|
|
22
|
+
footerTemplate;
|
|
23
|
+
columnMenuTemplates = new QueryList();
|
|
24
|
+
template;
|
|
25
|
+
editTemplate;
|
|
26
|
+
filterCellTemplate;
|
|
27
|
+
filterMenuTemplate;
|
|
28
|
+
/**
|
|
29
|
+
* Defines the filter type that is displayed inside the filter row. The default value is `text`.
|
|
30
|
+
*/
|
|
31
|
+
filter = 'text';
|
|
32
|
+
/**
|
|
33
|
+
* Defines if a filter UI will be displayed for this column. The default value is `true`.
|
|
34
|
+
*/
|
|
35
|
+
filterable = true;
|
|
47
36
|
/**
|
|
48
|
-
* Toggles the locked (frozen) state of the columns.
|
|
49
37
|
* @hidden
|
|
50
|
-
*
|
|
38
|
+
*
|
|
39
|
+
* Defines the editor type.
|
|
40
|
+
* Used when the column enters the edit mode. The default value is `text`.
|
|
51
41
|
*/
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
42
|
+
editor = 'text';
|
|
43
|
+
/**
|
|
44
|
+
* @hidden
|
|
45
|
+
*
|
|
46
|
+
* Defines whether the column is editable. The default value is `true`.
|
|
47
|
+
*/
|
|
48
|
+
editable = true;
|
|
49
|
+
constructor(options, parent) {
|
|
50
|
+
super(parent);
|
|
51
|
+
this.options = options;
|
|
57
52
|
}
|
|
58
53
|
ngOnChanges() {
|
|
59
54
|
this.options.notifyColumnChanges();
|
|
60
55
|
}
|
|
56
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GanttColumnComponent, deps: [{ token: i1.OptionChangesService }, { token: i2.GanttColumnBase, host: true, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
57
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GanttColumnComponent, isStandalone: true, selector: "kendo-gantt-column", inputs: { filter: "filter", filterable: "filterable", editor: "editor", editable: "editable" }, providers: [
|
|
58
|
+
{
|
|
59
|
+
provide: GanttColumnBase,
|
|
60
|
+
useExisting: forwardRef(() => GanttColumnComponent)
|
|
61
|
+
}
|
|
62
|
+
], queries: [{ propertyName: "footerTemplate", first: true, predicate: FooterTemplateDirective, descendants: true }, { propertyName: "template", first: true, predicate: CellTemplateDirective, descendants: true }, { propertyName: "editTemplate", first: true, predicate: EditTemplateDirective, descendants: true }, { propertyName: "filterCellTemplate", first: true, predicate: FilterCellTemplateDirective, descendants: true }, { propertyName: "filterMenuTemplate", first: true, predicate: FilterMenuTemplateDirective, descendants: true }, { propertyName: "headerTemplates", predicate: HeaderTemplateDirective }, { propertyName: "columnMenuTemplates", predicate: ColumnMenuTemplateDirective }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '', isInline: true });
|
|
61
63
|
}
|
|
62
|
-
|
|
63
|
-
GanttColumnComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: GanttColumnComponent, isStandalone: true, selector: "kendo-gantt-column", inputs: { format: "format", filter: "filter", filterable: "filterable", editor: "editor", editable: "editable", locked: "locked", lockable: "lockable", hidden: "hidden", media: "media", style: "style", headerStyle: "headerStyle", footerStyle: "footerStyle", cssClass: ["class", "cssClass"], headerClass: "headerClass", footerClass: "footerClass" }, providers: [
|
|
64
|
-
{
|
|
65
|
-
provide: GanttColumnBase,
|
|
66
|
-
useExisting: forwardRef(() => GanttColumnComponent)
|
|
67
|
-
}
|
|
68
|
-
], queries: [{ propertyName: "footerTemplate", first: true, predicate: FooterTemplateDirective, descendants: true }, { propertyName: "template", first: true, predicate: CellTemplateDirective, descendants: true }, { propertyName: "editTemplate", first: true, predicate: EditTemplateDirective, descendants: true }, { propertyName: "filterCellTemplate", first: true, predicate: FilterCellTemplateDirective, descendants: true }, { propertyName: "filterMenuTemplate", first: true, predicate: FilterMenuTemplateDirective, descendants: true }, { propertyName: "headerTemplates", predicate: HeaderTemplateDirective }, { propertyName: "columnMenuTemplates", predicate: ColumnMenuTemplateDirective }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '', isInline: true });
|
|
69
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: GanttColumnComponent, decorators: [{
|
|
64
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GanttColumnComponent, decorators: [{
|
|
70
65
|
type: Component,
|
|
71
66
|
args: [{
|
|
72
67
|
selector: 'kendo-gantt-column',
|
|
@@ -106,8 +101,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
106
101
|
}], filterMenuTemplate: [{
|
|
107
102
|
type: ContentChild,
|
|
108
103
|
args: [FilterMenuTemplateDirective, { static: false }]
|
|
109
|
-
}], format: [{
|
|
110
|
-
type: Input
|
|
111
104
|
}], filter: [{
|
|
112
105
|
type: Input
|
|
113
106
|
}], filterable: [{
|
|
@@ -116,25 +109,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
116
109
|
type: Input
|
|
117
110
|
}], editable: [{
|
|
118
111
|
type: Input
|
|
119
|
-
}], locked: [{
|
|
120
|
-
type: Input
|
|
121
|
-
}], lockable: [{
|
|
122
|
-
type: Input
|
|
123
|
-
}], hidden: [{
|
|
124
|
-
type: Input
|
|
125
|
-
}], media: [{
|
|
126
|
-
type: Input
|
|
127
|
-
}], style: [{
|
|
128
|
-
type: Input
|
|
129
|
-
}], headerStyle: [{
|
|
130
|
-
type: Input
|
|
131
|
-
}], footerStyle: [{
|
|
132
|
-
type: Input
|
|
133
|
-
}], cssClass: [{
|
|
134
|
-
type: Input,
|
|
135
|
-
args: ['class']
|
|
136
|
-
}], headerClass: [{
|
|
137
|
-
type: Input
|
|
138
|
-
}], footerClass: [{
|
|
139
|
-
type: Input
|
|
140
112
|
}] } });
|
|
@@ -19,13 +19,14 @@ import * as i0 from "@angular/core";
|
|
|
19
19
|
* - `rowIndex`—The current row index. If inside a new item row, `rowIndex` is `-1`.
|
|
20
20
|
*/
|
|
21
21
|
export class EditTemplateDirective {
|
|
22
|
+
templateRef;
|
|
22
23
|
constructor(templateRef) {
|
|
23
24
|
this.templateRef = templateRef;
|
|
24
25
|
}
|
|
26
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EditTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
27
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: EditTemplateDirective, isStandalone: true, selector: "[kendoGanttEditTemplate]", ngImport: i0 });
|
|
25
28
|
}
|
|
26
|
-
|
|
27
|
-
EditTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: EditTemplateDirective, isStandalone: true, selector: "[kendoGanttEditTemplate]", ngImport: i0 });
|
|
28
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EditTemplateDirective, decorators: [{
|
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EditTemplateDirective, decorators: [{
|
|
29
30
|
type: Directive,
|
|
30
31
|
args: [{
|
|
31
32
|
selector: '[kendoGanttEditTemplate]',
|
|
@@ -14,13 +14,14 @@ import * as i0 from "@angular/core";
|
|
|
14
14
|
* - `cellContext`—An object used to pass context information to built-in directives.
|
|
15
15
|
*/
|
|
16
16
|
export class FilterCellTemplateDirective {
|
|
17
|
+
templateRef;
|
|
17
18
|
constructor(templateRef) {
|
|
18
19
|
this.templateRef = templateRef;
|
|
19
20
|
}
|
|
21
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FilterCellTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
22
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: FilterCellTemplateDirective, isStandalone: true, selector: "[kendoGanttFilterCellTemplate]", ngImport: i0 });
|
|
20
23
|
}
|
|
21
|
-
|
|
22
|
-
FilterCellTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: FilterCellTemplateDirective, isStandalone: true, selector: "[kendoGanttFilterCellTemplate]", ngImport: i0 });
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FilterCellTemplateDirective, decorators: [{
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FilterCellTemplateDirective, decorators: [{
|
|
24
25
|
type: Directive,
|
|
25
26
|
args: [{
|
|
26
27
|
selector: '[kendoGanttFilterCellTemplate]',
|
|
@@ -13,13 +13,14 @@ import * as i0 from "@angular/core";
|
|
|
13
13
|
* - `cellContext`—An object used to pass context information to built-in directives.
|
|
14
14
|
*/
|
|
15
15
|
export class FilterMenuTemplateDirective {
|
|
16
|
+
templateRef;
|
|
16
17
|
constructor(templateRef) {
|
|
17
18
|
this.templateRef = templateRef;
|
|
18
19
|
}
|
|
20
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FilterMenuTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
21
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: FilterMenuTemplateDirective, isStandalone: true, selector: "[kendoGanttFilterMenuTemplate]", ngImport: i0 });
|
|
19
22
|
}
|
|
20
|
-
|
|
21
|
-
FilterMenuTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: FilterMenuTemplateDirective, isStandalone: true, selector: "[kendoGanttFilterMenuTemplate]", ngImport: i0 });
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FilterMenuTemplateDirective, decorators: [{
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FilterMenuTemplateDirective, decorators: [{
|
|
23
24
|
type: Directive,
|
|
24
25
|
args: [{
|
|
25
26
|
selector: '[kendoGanttFilterMenuTemplate]',
|
|
@@ -17,13 +17,14 @@ import * as i0 from "@angular/core";
|
|
|
17
17
|
* * `field`—The name of the column field, if set.
|
|
18
18
|
*/
|
|
19
19
|
export class FooterTemplateDirective {
|
|
20
|
+
templateRef;
|
|
20
21
|
constructor(templateRef) {
|
|
21
22
|
this.templateRef = templateRef;
|
|
22
23
|
}
|
|
24
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FooterTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
25
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: FooterTemplateDirective, isStandalone: true, selector: "[kendoGanttFooterTemplate]", ngImport: i0 });
|
|
23
26
|
}
|
|
24
|
-
|
|
25
|
-
FooterTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: FooterTemplateDirective, isStandalone: true, selector: "[kendoGanttFooterTemplate]", ngImport: i0 });
|
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FooterTemplateDirective, decorators: [{
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FooterTemplateDirective, decorators: [{
|
|
27
28
|
type: Directive,
|
|
28
29
|
args: [{
|
|
29
30
|
selector: '[kendoGanttFooterTemplate]',
|
|
@@ -15,13 +15,14 @@ import * as i0 from "@angular/core";
|
|
|
15
15
|
* * `columnIndex`—Defines the current column index.
|
|
16
16
|
*/
|
|
17
17
|
export class HeaderTemplateDirective {
|
|
18
|
+
templateRef;
|
|
18
19
|
constructor(templateRef) {
|
|
19
20
|
this.templateRef = templateRef;
|
|
20
21
|
}
|
|
22
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HeaderTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
23
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: HeaderTemplateDirective, isStandalone: true, selector: "[kendoGanttHeaderTemplate]", ngImport: i0 });
|
|
21
24
|
}
|
|
22
|
-
|
|
23
|
-
HeaderTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: HeaderTemplateDirective, isStandalone: true, selector: "[kendoGanttHeaderTemplate]", ngImport: i0 });
|
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HeaderTemplateDirective, decorators: [{
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HeaderTemplateDirective, decorators: [{
|
|
25
26
|
type: Directive,
|
|
26
27
|
args: [{
|
|
27
28
|
selector: '[kendoGanttHeaderTemplate]',
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**-----------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
3
|
+
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
+
*-------------------------------------------------------------------------------------------*/
|
|
5
|
+
import { Component, ContentChildren, forwardRef, Host, Optional, QueryList, SkipSelf } from '@angular/core';
|
|
6
|
+
import { SpanColumnComponent } from '@progress/kendo-angular-treelist';
|
|
7
|
+
import { OptionChangesService } from '../common/option-changes.service';
|
|
8
|
+
import { CellTemplateDirective } from './cell-template.directive';
|
|
9
|
+
import { GanttColumnBase } from './column-base.component';
|
|
10
|
+
import { GanttColumnComponent } from './column.component';
|
|
11
|
+
import { EditTemplateDirective } from './edit-template.directive';
|
|
12
|
+
import * as i0 from "@angular/core";
|
|
13
|
+
import * as i1 from "../common/option-changes.service";
|
|
14
|
+
import * as i2 from "./column-base.component";
|
|
15
|
+
export class GanttSpanColumnComponent extends SpanColumnComponent {
|
|
16
|
+
options;
|
|
17
|
+
/**
|
|
18
|
+
* @hidden
|
|
19
|
+
*/
|
|
20
|
+
childColumns = new QueryList();
|
|
21
|
+
template = new QueryList();
|
|
22
|
+
editTemplate = new QueryList();
|
|
23
|
+
constructor(options, parent) {
|
|
24
|
+
super(parent);
|
|
25
|
+
this.options = options;
|
|
26
|
+
}
|
|
27
|
+
ngOnChanges() {
|
|
28
|
+
this.options.notifyColumnChanges();
|
|
29
|
+
}
|
|
30
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GanttSpanColumnComponent, deps: [{ token: i1.OptionChangesService }, { token: i2.GanttColumnBase, host: true, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
31
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GanttSpanColumnComponent, isStandalone: true, selector: "kendo-gantt-span-column", providers: [
|
|
32
|
+
{
|
|
33
|
+
provide: GanttColumnBase,
|
|
34
|
+
useExisting: forwardRef(() => GanttSpanColumnComponent)
|
|
35
|
+
}
|
|
36
|
+
], queries: [{ propertyName: "childColumns", predicate: GanttColumnComponent }, { propertyName: "template", predicate: CellTemplateDirective }, { propertyName: "editTemplate", predicate: EditTemplateDirective }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '', isInline: true });
|
|
37
|
+
}
|
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GanttSpanColumnComponent, decorators: [{
|
|
39
|
+
type: Component,
|
|
40
|
+
args: [{
|
|
41
|
+
selector: 'kendo-gantt-span-column',
|
|
42
|
+
template: '',
|
|
43
|
+
providers: [
|
|
44
|
+
{
|
|
45
|
+
provide: GanttColumnBase,
|
|
46
|
+
useExisting: forwardRef(() => GanttSpanColumnComponent)
|
|
47
|
+
}
|
|
48
|
+
],
|
|
49
|
+
standalone: true
|
|
50
|
+
}]
|
|
51
|
+
}], ctorParameters: function () { return [{ type: i1.OptionChangesService }, { type: i2.GanttColumnBase, decorators: [{
|
|
52
|
+
type: SkipSelf
|
|
53
|
+
}, {
|
|
54
|
+
type: Host
|
|
55
|
+
}, {
|
|
56
|
+
type: Optional
|
|
57
|
+
}] }]; }, propDecorators: { childColumns: [{
|
|
58
|
+
type: ContentChildren,
|
|
59
|
+
args: [GanttColumnComponent]
|
|
60
|
+
}], template: [{
|
|
61
|
+
type: ContentChildren,
|
|
62
|
+
args: [CellTemplateDirective, { descendants: false }]
|
|
63
|
+
}], editTemplate: [{
|
|
64
|
+
type: ContentChildren,
|
|
65
|
+
args: [EditTemplateDirective, { descendants: false }]
|
|
66
|
+
}] } });
|
|
@@ -12,10 +12,6 @@ import * as i0 from "@angular/core";
|
|
|
12
12
|
* @hidden
|
|
13
13
|
*/
|
|
14
14
|
export class MappingService {
|
|
15
|
-
constructor() {
|
|
16
|
-
this._taskFields = { ...DEFAULT_TASK_MODEL_FIELDS };
|
|
17
|
-
this._dependencyFields = { ...DEFAULT_DEPENDENCY_MODEL_FIELDS };
|
|
18
|
-
}
|
|
19
15
|
/**
|
|
20
16
|
* Gets or sets the model fields for the task data items.
|
|
21
17
|
* Uses the default values for fields which are not specified.
|
|
@@ -36,6 +32,8 @@ export class MappingService {
|
|
|
36
32
|
get dependencyFields() {
|
|
37
33
|
return this._dependencyFields;
|
|
38
34
|
}
|
|
35
|
+
_taskFields = { ...DEFAULT_TASK_MODEL_FIELDS };
|
|
36
|
+
_dependencyFields = { ...DEFAULT_DEPENDENCY_MODEL_FIELDS };
|
|
39
37
|
/**
|
|
40
38
|
* Retrieves the value for the specified task field.
|
|
41
39
|
* Supports nested fields as well (e.g. 'manager.id').
|
|
@@ -56,9 +54,9 @@ export class MappingService {
|
|
|
56
54
|
}
|
|
57
55
|
return getter(this.dependencyFields[field])(dataItem);
|
|
58
56
|
}
|
|
57
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MappingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
58
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MappingService });
|
|
59
59
|
}
|
|
60
|
-
|
|
61
|
-
MappingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MappingService });
|
|
62
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MappingService, decorators: [{
|
|
60
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MappingService, decorators: [{
|
|
63
61
|
type: Injectable
|
|
64
62
|
}] });
|
|
@@ -8,11 +8,9 @@ import * as i0 from "@angular/core";
|
|
|
8
8
|
* @hidden
|
|
9
9
|
*/
|
|
10
10
|
export class OptionChangesService {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
this.dateFormatChanges = new EventEmitter();
|
|
15
|
-
}
|
|
11
|
+
viewChanges = new EventEmitter();
|
|
12
|
+
columnChanges = new EventEmitter();
|
|
13
|
+
dateFormatChanges = new EventEmitter();
|
|
16
14
|
notifyColumnChanges() {
|
|
17
15
|
this.columnChanges.emit();
|
|
18
16
|
}
|
|
@@ -22,9 +20,9 @@ export class OptionChangesService {
|
|
|
22
20
|
notifyDateFormatChanges() {
|
|
23
21
|
this.dateFormatChanges.emit();
|
|
24
22
|
}
|
|
23
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: OptionChangesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
24
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: OptionChangesService });
|
|
25
25
|
}
|
|
26
|
-
|
|
27
|
-
OptionChangesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OptionChangesService });
|
|
28
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OptionChangesService, decorators: [{
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: OptionChangesService, decorators: [{
|
|
29
27
|
type: Injectable
|
|
30
28
|
}] });
|
|
@@ -11,15 +11,7 @@ import * as i1 from "../common/mapping.service";
|
|
|
11
11
|
* @hidden
|
|
12
12
|
*/
|
|
13
13
|
export class DependencyDomService {
|
|
14
|
-
|
|
15
|
-
this.mapper = mapper;
|
|
16
|
-
this.notifier = new Subject();
|
|
17
|
-
/**
|
|
18
|
-
* Maps each rendered task to its HTML element.
|
|
19
|
-
* Uses the task ID field value as key.
|
|
20
|
-
*/
|
|
21
|
-
this.tasks = new Map();
|
|
22
|
-
}
|
|
14
|
+
mapper;
|
|
23
15
|
/**
|
|
24
16
|
* Emits each time some of the tasks or the view have changed.
|
|
25
17
|
* Fires also on the first change of the table rows and the parent container.
|
|
@@ -34,6 +26,23 @@ export class DependencyDomService {
|
|
|
34
26
|
timelineRow: this.timelineRow
|
|
35
27
|
};
|
|
36
28
|
}
|
|
29
|
+
notifier = new Subject();
|
|
30
|
+
/**
|
|
31
|
+
* The row element in the Timeline part of the Gantt.
|
|
32
|
+
*/
|
|
33
|
+
timelineRow;
|
|
34
|
+
/**
|
|
35
|
+
* Used to get retrieve the offset of the task elements relative to the parent container.
|
|
36
|
+
*/
|
|
37
|
+
contentContainer;
|
|
38
|
+
/**
|
|
39
|
+
* Maps each rendered task to its HTML element.
|
|
40
|
+
* Uses the task ID field value as key.
|
|
41
|
+
*/
|
|
42
|
+
tasks = new Map();
|
|
43
|
+
constructor(mapper) {
|
|
44
|
+
this.mapper = mapper;
|
|
45
|
+
}
|
|
37
46
|
ngOnDestroy() {
|
|
38
47
|
this.tasks.clear();
|
|
39
48
|
this.tasks = null;
|
|
@@ -63,9 +72,9 @@ export class DependencyDomService {
|
|
|
63
72
|
notifyChanges() {
|
|
64
73
|
this.notifier.next(this.dependencyDomArgs);
|
|
65
74
|
}
|
|
75
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DependencyDomService, deps: [{ token: i1.MappingService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
76
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DependencyDomService });
|
|
66
77
|
}
|
|
67
|
-
|
|
68
|
-
DependencyDomService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DependencyDomService });
|
|
69
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DependencyDomService, decorators: [{
|
|
78
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DependencyDomService, decorators: [{
|
|
70
79
|
type: Injectable
|
|
71
80
|
}], ctorParameters: function () { return [{ type: i1.MappingService }]; } });
|
|
@@ -25,13 +25,19 @@ const MIN_DISTANCE_BEFORE_TURN = 10;
|
|
|
25
25
|
* @hidden
|
|
26
26
|
*/
|
|
27
27
|
export class GanttDependencyDirective {
|
|
28
|
+
polyline;
|
|
29
|
+
zone;
|
|
30
|
+
renderer;
|
|
31
|
+
mapper;
|
|
32
|
+
dependencyDomService;
|
|
33
|
+
dependency;
|
|
34
|
+
subscriptions = new Subscription();
|
|
28
35
|
constructor(polyline, zone, renderer, mapper, dependencyDomService) {
|
|
29
36
|
this.polyline = polyline;
|
|
30
37
|
this.zone = zone;
|
|
31
38
|
this.renderer = renderer;
|
|
32
39
|
this.mapper = mapper;
|
|
33
40
|
this.dependencyDomService = dependencyDomService;
|
|
34
|
-
this.subscriptions = new Subscription();
|
|
35
41
|
this.subscriptions.add(dependencyDomService.taskChanges
|
|
36
42
|
.pipe(switchMap(changes =>
|
|
37
43
|
// reacts only on the very last event emission,
|
|
@@ -71,10 +77,10 @@ export class GanttDependencyDirective {
|
|
|
71
77
|
const parsedCoords = points.map(({ left, top }) => `${left},${top}`).join(' ');
|
|
72
78
|
this.renderer.setAttribute(this.polyline.nativeElement, 'points', parsedCoords);
|
|
73
79
|
}
|
|
80
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GanttDependencyDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i1.MappingService }, { token: i2.DependencyDomService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
81
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: GanttDependencyDirective, isStandalone: true, selector: "[kendoGanttDependency]", inputs: { dependency: "dependency" }, usesOnChanges: true, ngImport: i0 });
|
|
74
82
|
}
|
|
75
|
-
|
|
76
|
-
GanttDependencyDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: GanttDependencyDirective, isStandalone: true, selector: "[kendoGanttDependency]", inputs: { dependency: "dependency" }, usesOnChanges: true, ngImport: i0 });
|
|
77
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: GanttDependencyDirective, decorators: [{
|
|
83
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GanttDependencyDirective, decorators: [{
|
|
78
84
|
type: Directive,
|
|
79
85
|
args: [{
|
|
80
86
|
selector: '[kendoGanttDependency]',
|
|
@@ -41,21 +41,18 @@ const DEFAULT_POPUP_VERTICAL_MARGIN = 20;
|
|
|
41
41
|
* A directive which enables the creation of new dependencies via dragging.
|
|
42
42
|
*/
|
|
43
43
|
export class DependencyDragCreateDirective {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
this.displayValidationTooltip = true;
|
|
57
|
-
this.gantt.renderDependencyDragClues = true;
|
|
58
|
-
}
|
|
44
|
+
gantt;
|
|
45
|
+
zone;
|
|
46
|
+
renderer;
|
|
47
|
+
mapper;
|
|
48
|
+
popupService;
|
|
49
|
+
timelineScrollService;
|
|
50
|
+
/**
|
|
51
|
+
* Specifies whether the validation tooltip will be displayed during drag operations.
|
|
52
|
+
*
|
|
53
|
+
* @default true
|
|
54
|
+
*/
|
|
55
|
+
displayValidationTooltip = true;
|
|
59
56
|
get container() {
|
|
60
57
|
if (!isPresent(this.gantt.timeline) || !isPresent(this.gantt.timeline.timelineContent)) {
|
|
61
58
|
return null;
|
|
@@ -74,6 +71,32 @@ export class DependencyDragCreateDirective {
|
|
|
74
71
|
}
|
|
75
72
|
return this.gantt.timeline.dragPopupContainer;
|
|
76
73
|
}
|
|
74
|
+
/**
|
|
75
|
+
* Points to the drag clue where the dragging started (the FROM task).
|
|
76
|
+
* Used to attach/detach classes to the target element and its task wrapper parent element.
|
|
77
|
+
*/
|
|
78
|
+
fromTaskClue;
|
|
79
|
+
/**
|
|
80
|
+
* The drag start element coords will be the same through the enitre dragging session, so compute them on press and cache them.
|
|
81
|
+
*/
|
|
82
|
+
polylineStartCoords;
|
|
83
|
+
/**
|
|
84
|
+
* Stored during dragging to be consumed by the container scroll subscription.
|
|
85
|
+
* The scroll event doesn't expose the current pointer position, so it has to be stored separately.
|
|
86
|
+
*/
|
|
87
|
+
currentPointerClientCoords;
|
|
88
|
+
scrollListenerDisposer;
|
|
89
|
+
dragPopup;
|
|
90
|
+
dragSubscriptions;
|
|
91
|
+
constructor(gantt, zone, renderer, mapper, popupService, timelineScrollService) {
|
|
92
|
+
this.gantt = gantt;
|
|
93
|
+
this.zone = zone;
|
|
94
|
+
this.renderer = renderer;
|
|
95
|
+
this.mapper = mapper;
|
|
96
|
+
this.popupService = popupService;
|
|
97
|
+
this.timelineScrollService = timelineScrollService;
|
|
98
|
+
this.gantt.renderDependencyDragClues = true;
|
|
99
|
+
}
|
|
77
100
|
ngAfterViewInit() {
|
|
78
101
|
this.subscribeDraggable();
|
|
79
102
|
this.addScrollListener();
|
|
@@ -309,10 +332,10 @@ export class DependencyDragCreateDirective {
|
|
|
309
332
|
top: fitToRange(top, minLeftTop, this.container.scrollHeight - popupHeight)
|
|
310
333
|
};
|
|
311
334
|
}
|
|
335
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DependencyDragCreateDirective, deps: [{ token: i1.GanttComponent }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i2.MappingService }, { token: i3.PopupService }, { token: i4.TimelineScrollService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
336
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DependencyDragCreateDirective, isStandalone: true, selector: "[kendoGanttDependencyDragCreate]", inputs: { displayValidationTooltip: "displayValidationTooltip" }, ngImport: i0 });
|
|
312
337
|
}
|
|
313
|
-
|
|
314
|
-
DependencyDragCreateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: DependencyDragCreateDirective, isStandalone: true, selector: "[kendoGanttDependencyDragCreate]", inputs: { displayValidationTooltip: "displayValidationTooltip" }, ngImport: i0 });
|
|
315
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DependencyDragCreateDirective, decorators: [{
|
|
338
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DependencyDragCreateDirective, decorators: [{
|
|
316
339
|
type: Directive,
|
|
317
340
|
args: [{
|
|
318
341
|
selector: '[kendoGanttDependencyDragCreate]',
|