@progress/kendo-angular-gantt 21.4.1-develop.1 → 22.0.0-develop.1

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.
Files changed (127) hide show
  1. package/columns/column-base.component.d.ts +1 -1
  2. package/fesm2022/progress-kendo-angular-gantt.mjs +201 -201
  3. package/localization/messages.d.ts +1 -1
  4. package/package.json +22 -30
  5. package/rendering/gantt-task-base.d.ts +1 -1
  6. package/schematics/ngAdd/index.js +7 -7
  7. package/timeline/view-base.d.ts +1 -1
  8. package/esm2022/binding-directives/flat-binding.directive.mjs +0 -50
  9. package/esm2022/binding-directives/hierarchy-binding.directive.mjs +0 -49
  10. package/esm2022/columns/cell-template.directive.mjs +0 -47
  11. package/esm2022/columns/column-base.component.mjs +0 -22
  12. package/esm2022/columns/column-group.component.mjs +0 -80
  13. package/esm2022/columns/column-menu-template.directive.mjs +0 -40
  14. package/esm2022/columns/column.component.mjs +0 -122
  15. package/esm2022/columns/columns.mjs +0 -15
  16. package/esm2022/columns/edit-template.directive.mjs +0 -46
  17. package/esm2022/columns/filter-cell-template.directive.mjs +0 -32
  18. package/esm2022/columns/filter-menu-template.directive.mjs +0 -41
  19. package/esm2022/columns/footer-template.directive.mjs +0 -44
  20. package/esm2022/columns/header-template.directive.mjs +0 -43
  21. package/esm2022/columns/span-column.component.mjs +0 -82
  22. package/esm2022/common/default-callbacks.mjs +0 -25
  23. package/esm2022/common/mapping.service.mjs +0 -62
  24. package/esm2022/common/option-changes.service.mjs +0 -28
  25. package/esm2022/dependencies/dependency-dom.service.mjs +0 -80
  26. package/esm2022/dependencies/dom-dependency-args.mjs +0 -5
  27. package/esm2022/dependencies/gantt-dependency.directive.mjs +0 -91
  28. package/esm2022/dependencies/utils.mjs +0 -195
  29. package/esm2022/directives.mjs +0 -63
  30. package/esm2022/dragging/dependency-drag-create.directive.mjs +0 -337
  31. package/esm2022/dragging/drag-validation-tooltip.component.mjs +0 -70
  32. package/esm2022/dragging/task-drag.directive.mjs +0 -94
  33. package/esm2022/dragging/task-drag.service.mjs +0 -239
  34. package/esm2022/editing/add-task.component.mjs +0 -127
  35. package/esm2022/editing/dependencies-table.component.mjs +0 -233
  36. package/esm2022/editing/edit-dialog.component.mjs +0 -225
  37. package/esm2022/editing/edit.service.mjs +0 -118
  38. package/esm2022/editing/task-fields.component.mjs +0 -127
  39. package/esm2022/editing/utils.mjs +0 -15
  40. package/esm2022/expanded-state/expand-event.mjs +0 -18
  41. package/esm2022/expanded-state/expandable.directive.mjs +0 -39
  42. package/esm2022/gantt.component.mjs +0 -2415
  43. package/esm2022/gantt.module.mjs +0 -132
  44. package/esm2022/index.mjs +0 -42
  45. package/esm2022/localization/custom-messages.component.mjs +0 -52
  46. package/esm2022/localization/gantt-localization.service.mjs +0 -27
  47. package/esm2022/localization/localized-messages.directive.mjs +0 -39
  48. package/esm2022/localization/messages.mjs +0 -453
  49. package/esm2022/models/cell-content-type.interface.mjs +0 -5
  50. package/esm2022/models/class-callbacks.mjs +0 -5
  51. package/esm2022/models/column-menu-settings.interface.mjs +0 -5
  52. package/esm2022/models/column-reorder-config.mjs +0 -5
  53. package/esm2022/models/current-time-settings.interface.mjs +0 -5
  54. package/esm2022/models/date-range.interface.mjs +0 -5
  55. package/esm2022/models/dependency-type.enum.mjs +0 -32
  56. package/esm2022/models/events/cell-click-event.interface.mjs +0 -5
  57. package/esm2022/models/events/cell-close-event.interface.mjs +0 -44
  58. package/esm2022/models/events/click-event.interface.mjs +0 -5
  59. package/esm2022/models/events/column-locked-change-event.interface.mjs +0 -5
  60. package/esm2022/models/events/column-reorder-event.interface.mjs +0 -5
  61. package/esm2022/models/events/column-resize-event.interface.mjs +0 -5
  62. package/esm2022/models/events/column-visibility-change-event.interface.mjs +0 -5
  63. package/esm2022/models/events/data-state-change-event.interface.mjs +0 -5
  64. package/esm2022/models/events/dependency-add-event.interface.mjs +0 -5
  65. package/esm2022/models/events/index.mjs +0 -5
  66. package/esm2022/models/events/selected-view-change-event.interface.mjs +0 -5
  67. package/esm2022/models/events/task-add-event.interface.mjs +0 -5
  68. package/esm2022/models/events/task-click-event.interface.mjs +0 -5
  69. package/esm2022/models/events/task-delete-event.interface.mjs +0 -5
  70. package/esm2022/models/events/task-drag-event.interface.mjs +0 -5
  71. package/esm2022/models/events/task-edit-event.interface.mjs +0 -5
  72. package/esm2022/models/filterable-settings.mjs +0 -5
  73. package/esm2022/models/gantt-dependency-model-fields.interface.mjs +0 -13
  74. package/esm2022/models/gantt-dependency.interface.mjs +0 -5
  75. package/esm2022/models/gantt-task-model-fields.interface.mjs +0 -15
  76. package/esm2022/models/gantt-task.interface.mjs +0 -5
  77. package/esm2022/models/models.mjs +0 -8
  78. package/esm2022/models/slot.interface.mjs +0 -5
  79. package/esm2022/models/sort-settings.mjs +0 -17
  80. package/esm2022/models/splitter-pane-options.interface.mjs +0 -20
  81. package/esm2022/models/timeline-header-date-format.mjs +0 -5
  82. package/esm2022/models/timeline-options.interface.mjs +0 -5
  83. package/esm2022/models/timeline-view.mjs +0 -5
  84. package/esm2022/models/toolbar-settings.mjs +0 -5
  85. package/esm2022/models/tooltip-options.interface.mjs +0 -5
  86. package/esm2022/models/view-item.interface.mjs +0 -5
  87. package/esm2022/navigation/navigation-models.mjs +0 -5
  88. package/esm2022/navigation/navigation.service.mjs +0 -271
  89. package/esm2022/navigation/utils.mjs +0 -61
  90. package/esm2022/package-metadata.mjs +0 -16
  91. package/esm2022/progress-kendo-angular-gantt.mjs +0 -8
  92. package/esm2022/rendering/gantt-header-table-body.component.mjs +0 -61
  93. package/esm2022/rendering/gantt-milestone-task.component.mjs +0 -102
  94. package/esm2022/rendering/gantt-summary-task.component.mjs +0 -157
  95. package/esm2022/rendering/gantt-task-base.mjs +0 -230
  96. package/esm2022/rendering/gantt-task.component.mjs +0 -227
  97. package/esm2022/rendering/gantt-tasks-table-body.component.mjs +0 -206
  98. package/esm2022/scrolling/drag-scroll-settings.mjs +0 -20
  99. package/esm2022/scrolling/scroll-sync.service.mjs +0 -83
  100. package/esm2022/scrolling/timeline-scroll.directive.mjs +0 -83
  101. package/esm2022/scrolling/timeline-scroll.service.mjs +0 -37
  102. package/esm2022/scrolling/utils.mjs +0 -77
  103. package/esm2022/selection/selectable.directive.mjs +0 -126
  104. package/esm2022/selection/selection-change-event.mjs +0 -5
  105. package/esm2022/template-directives/summary-task-template.directive.mjs +0 -43
  106. package/esm2022/template-directives/task-content-template.directive.mjs +0 -46
  107. package/esm2022/template-directives/task-drag-tooltip-template.directive.mjs +0 -47
  108. package/esm2022/template-directives/task-template.directive.mjs +0 -41
  109. package/esm2022/template-directives/task-tooltip-template.directive.mjs +0 -48
  110. package/esm2022/timeline/current-time-marker.service.mjs +0 -90
  111. package/esm2022/timeline/gantt-timeline.component.mjs +0 -624
  112. package/esm2022/timeline/timeline-base-view.service.mjs +0 -201
  113. package/esm2022/timeline/timeline-day-view.component.mjs +0 -49
  114. package/esm2022/timeline/timeline-day-view.service.mjs +0 -68
  115. package/esm2022/timeline/timeline-month-view.component.mjs +0 -49
  116. package/esm2022/timeline/timeline-month-view.service.mjs +0 -66
  117. package/esm2022/timeline/timeline-view.service.mjs +0 -38
  118. package/esm2022/timeline/timeline-week-view.component.mjs +0 -49
  119. package/esm2022/timeline/timeline-week-view.service.mjs +0 -62
  120. package/esm2022/timeline/timeline-year-view.component.mjs +0 -49
  121. package/esm2022/timeline/timeline-year-view.service.mjs +0 -57
  122. package/esm2022/timeline/view-base.mjs +0 -73
  123. package/esm2022/toolbar/toolbar-navigation.service.mjs +0 -29
  124. package/esm2022/toolbar/toolbar-template.directive.mjs +0 -56
  125. package/esm2022/toolbar/toolbar.component.mjs +0 -181
  126. package/esm2022/toolbar/view-selector.component.mjs +0 -112
  127. package/esm2022/utils.mjs +0 -311
@@ -1,46 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { Directive, TemplateRef, Optional } from '@angular/core';
6
- import * as i0 from "@angular/core";
7
- /**
8
- * Represents the column template for edited cells in the Gantt.
9
- *
10
- * Use this directive to customize the content of edited cells. To define the cell template, nest an `<ng-template>`
11
- * tag with the `kendoGanttEditTemplate` directive inside a `<kendo-gantt-column>` tag.
12
- *
13
- * The template context provides the following fields:
14
- * - `column`&mdash;The current column instance.
15
- * - `dataItem`&mdash;The current data item.
16
- * - `cellContext`&mdash;An object for passing context information to built-in directives.
17
- * - `formGroup`&mdash;The current [`FormGroup`](link:site.data.urls.angular['formgroupapi']). If you use the Gantt inside [Template-Driven Forms](link:site.data.urls.angular['forms']), it is `undefined`.
18
- * - `isNew`&mdash;The state of the current item.
19
- * - `rowIndex`&mdash;The current row index. If inside a new item row, `rowIndex` is `-1`.
20
- *
21
- * @example
22
- * ```html
23
- * <kendo-gantt-column>
24
- * <ng-template kendoGanttEditTemplate let-dataItem="dataItem" let-formGroup="formGroup">
25
- * <input [formControl]="formGroup.get('field')" />
26
- * </ng-template>
27
- * </kendo-gantt-column>
28
- * ```
29
- */
30
- export class EditTemplateDirective {
31
- templateRef;
32
- constructor(templateRef) {
33
- this.templateRef = templateRef;
34
- }
35
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EditTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
36
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: EditTemplateDirective, isStandalone: true, selector: "[kendoGanttEditTemplate]", ngImport: i0 });
37
- }
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EditTemplateDirective, decorators: [{
39
- type: Directive,
40
- args: [{
41
- selector: '[kendoGanttEditTemplate]',
42
- standalone: true
43
- }]
44
- }], ctorParameters: () => [{ type: i0.TemplateRef, decorators: [{
45
- type: Optional
46
- }] }] });
@@ -1,32 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { Directive, TemplateRef, Optional } from '@angular/core';
6
- import * as i0 from "@angular/core";
7
- /**
8
- * @hidden
9
- * Represents the filter-cell template.
10
- *
11
- * The template context is set to the filter descriptor and the following additional fields are passed:
12
- * - `column`&mdash;The current column instance. Use it as an alias for a template variable by utilizing the `let-column="column"` syntax.
13
- * - `filter`&mdash;The filter descriptor.
14
- * - `cellContext`&mdash;An object used to pass context information to built-in directives.
15
- */
16
- export class FilterCellTemplateDirective {
17
- templateRef;
18
- constructor(templateRef) {
19
- this.templateRef = templateRef;
20
- }
21
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterCellTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
22
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: FilterCellTemplateDirective, isStandalone: true, selector: "[kendoGanttFilterCellTemplate]", ngImport: i0 });
23
- }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterCellTemplateDirective, decorators: [{
25
- type: Directive,
26
- args: [{
27
- selector: '[kendoGanttFilterCellTemplate]',
28
- standalone: true
29
- }]
30
- }], ctorParameters: () => [{ type: i0.TemplateRef, decorators: [{
31
- type: Optional
32
- }] }] });
@@ -1,41 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { Directive, TemplateRef, Optional } from '@angular/core';
6
- import * as i0 from "@angular/core";
7
- /**
8
- * Represents the filter-menu template for the Gantt column.
9
- *
10
- * Use this directive to customize the filter menu for a column.
11
- * The template context provides:
12
- * - `column`&mdash;The current column instance. Use as an alias for a template variable with the `let-column="column"` syntax.
13
- * - `filter`&mdash;The filter descriptor.
14
- * - `cellContext`&mdash;An object for passing context information to built-in directives.
15
- *
16
- * @example
17
- * ```html
18
- * <kendo-gantt-column>
19
- * <ng-template kendoGanttFilterMenuTemplate let-column let-filter="filter">
20
- * Custom filter for {{ column.field }}
21
- * </ng-template>
22
- * </kendo-gantt-column>
23
- * ```
24
- */
25
- export class FilterMenuTemplateDirective {
26
- templateRef;
27
- constructor(templateRef) {
28
- this.templateRef = templateRef;
29
- }
30
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterMenuTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
31
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: FilterMenuTemplateDirective, isStandalone: true, selector: "[kendoGanttFilterMenuTemplate]", ngImport: i0 });
32
- }
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterMenuTemplateDirective, decorators: [{
34
- type: Directive,
35
- args: [{
36
- selector: '[kendoGanttFilterMenuTemplate]',
37
- standalone: true
38
- }]
39
- }], ctorParameters: () => [{ type: i0.TemplateRef, decorators: [{
40
- type: Optional
41
- }] }] });
@@ -1,44 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { Directive, TemplateRef, Optional } from '@angular/core';
6
- import * as i0 from "@angular/core";
7
- /**
8
- * Represents the footer cell template of the Gantt columns.
9
- *
10
- * Use this directive to customize the table footer cell for a column.
11
- * To define a footer template, nest an `<ng-template>` tag with the
12
- * [`kendoGanttFooterTemplate`]({% slug api_gantt_footertemplatedirective %}) directive inside the `<kendo-gantt-column>` tag.
13
- *
14
- * The template context provides:
15
- * * `column`&mdash;The current [`ColumnComponent`]({% slug api_gantt_ganttcolumncomponent %}).
16
- * * `columnIndex`&mdash;The current column index.
17
- * * `field`&mdash;The name of the column field, if set.
18
- *
19
- * @example
20
- * ```html
21
- * <kendo-gantt-column>
22
- * <ng-template kendoGanttFooterTemplate let-column let-columnIndex="columnIndex" let-field="field">
23
- * Footer for {{ field }}
24
- * </ng-template>
25
- * </kendo-gantt-column>
26
- * ```
27
- */
28
- export class FooterTemplateDirective {
29
- templateRef;
30
- constructor(templateRef) {
31
- this.templateRef = templateRef;
32
- }
33
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FooterTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
34
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: FooterTemplateDirective, isStandalone: true, selector: "[kendoGanttFooterTemplate]", ngImport: i0 });
35
- }
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FooterTemplateDirective, decorators: [{
37
- type: Directive,
38
- args: [{
39
- selector: '[kendoGanttFooterTemplate]',
40
- standalone: true
41
- }]
42
- }], ctorParameters: () => [{ type: i0.TemplateRef, decorators: [{
43
- type: Optional
44
- }] }] });
@@ -1,43 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { Directive, TemplateRef, Optional } from '@angular/core';
6
- import * as i0 from "@angular/core";
7
- /**
8
- * Represents the header cell template of the Gantt columns.
9
- *
10
- * Use this directive to customize the table header cell for a column.
11
- * To define a header template, nest an `<ng-template>` tag with the
12
- * [`kendoGanttHeaderTemplate`]({% slug api_gantt_headertemplatedirective %}) directive inside the `<kendo-gantt-column>` tag.
13
- *
14
- * The template context provides:
15
- * * `column`&mdash;The current [`ColumnComponent`]({% slug api_gantt_ganttcolumncomponent %}).
16
- * * `columnIndex`&mdash;The current column index.
17
- *
18
- * @example
19
- * ```html
20
- * <kendo-gantt-column>
21
- * <ng-template kendoGanttHeaderTemplate let-column let-columnIndex="columnIndex">
22
- * Custom Header for {{ column.field }} ({{ columnIndex }})
23
- * </ng-template>
24
- * </kendo-gantt-column>
25
- * ```
26
- */
27
- export class HeaderTemplateDirective {
28
- templateRef;
29
- constructor(templateRef) {
30
- this.templateRef = templateRef;
31
- }
32
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: HeaderTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
33
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: HeaderTemplateDirective, isStandalone: true, selector: "[kendoGanttHeaderTemplate]", ngImport: i0 });
34
- }
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: HeaderTemplateDirective, decorators: [{
36
- type: Directive,
37
- args: [{
38
- selector: '[kendoGanttHeaderTemplate]',
39
- standalone: true
40
- }]
41
- }], ctorParameters: () => [{ type: i0.TemplateRef, decorators: [{
42
- type: Optional
43
- }] }] });
@@ -1,82 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 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
- /**
16
- * Represents the Gantt span column.
17
- *
18
- * Use this component to span row content over multiple column cells.
19
- *
20
- * @example
21
- * ```html
22
- * <kendo-gantt-span-column>
23
- * <kendo-gantt-column field="id"></kendo-gantt-column>
24
- * <kendo-gantt-column field="name"></kendo-gantt-column>
25
- * </kendo-gantt-span-column>
26
- * ```
27
- *
28
- * @remarks
29
- * Supported children components are: {@link GanttColumnComponent}.
30
- */
31
- export class GanttSpanColumnComponent extends SpanColumnComponent {
32
- options;
33
- /**
34
- * @hidden
35
- */
36
- childColumns = new QueryList();
37
- template = new QueryList();
38
- editTemplate = new QueryList();
39
- constructor(options, parent) {
40
- super(parent);
41
- this.options = options;
42
- }
43
- ngOnChanges() {
44
- this.options.notifyColumnChanges();
45
- }
46
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GanttSpanColumnComponent, deps: [{ token: i1.OptionChangesService }, { token: i2.GanttColumnBase, host: true, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component });
47
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: GanttSpanColumnComponent, isStandalone: true, selector: "kendo-gantt-span-column", providers: [
48
- {
49
- provide: GanttColumnBase,
50
- useExisting: forwardRef(() => GanttSpanColumnComponent)
51
- }
52
- ], queries: [{ propertyName: "childColumns", predicate: GanttColumnComponent }, { propertyName: "template", predicate: CellTemplateDirective }, { propertyName: "editTemplate", predicate: EditTemplateDirective }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '', isInline: true });
53
- }
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GanttSpanColumnComponent, decorators: [{
55
- type: Component,
56
- args: [{
57
- selector: 'kendo-gantt-span-column',
58
- template: '',
59
- providers: [
60
- {
61
- provide: GanttColumnBase,
62
- useExisting: forwardRef(() => GanttSpanColumnComponent)
63
- }
64
- ],
65
- standalone: true
66
- }]
67
- }], ctorParameters: () => [{ type: i1.OptionChangesService }, { type: i2.GanttColumnBase, decorators: [{
68
- type: SkipSelf
69
- }, {
70
- type: Host
71
- }, {
72
- type: Optional
73
- }] }], propDecorators: { childColumns: [{
74
- type: ContentChildren,
75
- args: [GanttColumnComponent]
76
- }], template: [{
77
- type: ContentChildren,
78
- args: [CellTemplateDirective, { descendants: false }]
79
- }], editTemplate: [{
80
- type: ContentChildren,
81
- args: [EditTemplateDirective, { descendants: false }]
82
- }] } });
@@ -1,25 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { of } from 'rxjs';
6
- /**
7
- * @hidden
8
- */
9
- export const hasChildren = () => false;
10
- /**
11
- * @hidden
12
- */
13
- export const fetchChildren = () => of([]);
14
- /**
15
- * @hidden
16
- */
17
- export const rowClassCallback = () => null;
18
- /**
19
- * @hidden
20
- */
21
- export const taskClassCallback = () => null;
22
- /**
23
- * @hidden
24
- */
25
- export const isSelected = () => false;
@@ -1,62 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { Injectable } from '@angular/core';
6
- import { getter } from '@progress/kendo-common';
7
- import { DEFAULT_DEPENDENCY_MODEL_FIELDS } from '../models/gantt-dependency-model-fields.interface';
8
- import { DEFAULT_TASK_MODEL_FIELDS } from '../models/gantt-task-model-fields.interface';
9
- import { isPresent } from '../utils';
10
- import * as i0 from "@angular/core";
11
- /**
12
- * @hidden
13
- */
14
- export class MappingService {
15
- /**
16
- * Gets or sets the model fields for the task data items.
17
- * Uses the default values for fields which are not specified.
18
- */
19
- set taskFields(fields) {
20
- this._taskFields = { ...DEFAULT_TASK_MODEL_FIELDS, ...fields };
21
- }
22
- get taskFields() {
23
- return this._taskFields;
24
- }
25
- /**
26
- * Gets or sets the model fields for the depenency data items.
27
- * Uses the default values for fields which are not specified.
28
- */
29
- set dependencyFields(fields) {
30
- this._dependencyFields = { ...DEFAULT_DEPENDENCY_MODEL_FIELDS, ...fields };
31
- }
32
- get dependencyFields() {
33
- return this._dependencyFields;
34
- }
35
- _taskFields = { ...DEFAULT_TASK_MODEL_FIELDS };
36
- _dependencyFields = { ...DEFAULT_DEPENDENCY_MODEL_FIELDS };
37
- /**
38
- * Retrieves the value for the specified task field.
39
- * Supports nested fields as well (e.g. 'manager.id').
40
- */
41
- extractFromTask(dataItem, field) {
42
- if (!isPresent(this.taskFields)) {
43
- return null;
44
- }
45
- return getter(this.taskFields[field])(dataItem);
46
- }
47
- /**
48
- * Retrieves the value for the specified dependency field.
49
- * Supports nested fields as well (e.g. 'manager.id').
50
- */
51
- extractFromDependency(dataItem, field) {
52
- if (!isPresent(this.dependencyFields)) {
53
- return null;
54
- }
55
- return getter(this.dependencyFields[field])(dataItem);
56
- }
57
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MappingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
58
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MappingService });
59
- }
60
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MappingService, decorators: [{
61
- type: Injectable
62
- }] });
@@ -1,28 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { Injectable, EventEmitter } from '@angular/core';
6
- import * as i0 from "@angular/core";
7
- /**
8
- * @hidden
9
- */
10
- export class OptionChangesService {
11
- viewChanges = new EventEmitter();
12
- columnChanges = new EventEmitter();
13
- dateFormatChanges = new EventEmitter();
14
- notifyColumnChanges() {
15
- this.columnChanges.emit();
16
- }
17
- notifyViewChanges() {
18
- this.viewChanges.emit();
19
- }
20
- notifyDateFormatChanges() {
21
- this.dateFormatChanges.emit();
22
- }
23
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: OptionChangesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
24
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: OptionChangesService });
25
- }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: OptionChangesService, decorators: [{
27
- type: Injectable
28
- }] });
@@ -1,80 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { Injectable } from '@angular/core';
6
- import { Subject } from 'rxjs';
7
- import { MappingService } from '../common/mapping.service';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "../common/mapping.service";
10
- /**
11
- * @hidden
12
- */
13
- export class DependencyDomService {
14
- mapper;
15
- /**
16
- * Emits each time some of the tasks or the view have changed.
17
- * Fires also on the first change of the table rows and the parent container.
18
- */
19
- get taskChanges() {
20
- return this.notifier.asObservable();
21
- }
22
- get dependencyDomArgs() {
23
- return {
24
- tasks: this.tasks,
25
- contentContainer: this.contentContainer,
26
- timelineRow: this.timelineRow
27
- };
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
- }
46
- ngOnDestroy() {
47
- this.tasks.clear();
48
- this.tasks = null;
49
- this.contentContainer = null;
50
- }
51
- registerTimelineRow(timelineRow) {
52
- this.timelineRow = timelineRow;
53
- this.notifyChanges();
54
- }
55
- registerContentContainer(contentContainer) {
56
- this.contentContainer = contentContainer;
57
- this.notifyChanges();
58
- }
59
- registerTask(task, element) {
60
- const id = this.mapper.extractFromTask(task, 'id');
61
- this.tasks.set(id, element);
62
- this.notifyChanges();
63
- }
64
- unregisterTask(task) {
65
- const id = this.mapper.extractFromTask(task, 'id');
66
- this.tasks.delete(id);
67
- this.notifyChanges();
68
- }
69
- /**
70
- * Notifies all dependency directives that a change in one of the elements has occured.
71
- */
72
- notifyChanges() {
73
- this.notifier.next(this.dependencyDomArgs);
74
- }
75
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DependencyDomService, deps: [{ token: i1.MappingService }], target: i0.ɵɵFactoryTarget.Injectable });
76
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DependencyDomService });
77
- }
78
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DependencyDomService, decorators: [{
79
- type: Injectable
80
- }], ctorParameters: () => [{ type: i1.MappingService }] });
@@ -1,5 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- export {};
@@ -1,91 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { Directive, ElementRef, Input, NgZone, Renderer2 } from '@angular/core';
6
- import { Subscription } from 'rxjs';
7
- import { map, switchMap, take } from 'rxjs/operators';
8
- import { MappingService } from '../common/mapping.service';
9
- import { DependencyDomService } from './dependency-dom.service';
10
- import { isPresent } from '../utils';
11
- import { dependencyCoordinates, getElementRect } from './utils';
12
- import { isDocumentAvailable } from '@progress/kendo-angular-common';
13
- import * as i0 from "@angular/core";
14
- import * as i1 from "../common/mapping.service";
15
- import * as i2 from "./dependency-dom.service";
16
- /**
17
- * Defines the size of the arrow that will be drawn at the end of each Gantt dependency.
18
- */
19
- const ARROW_SIZE = 4;
20
- /**
21
- * Defines the distance the polyline will cover from the task element before making a turn.
22
- */
23
- const MIN_DISTANCE_BEFORE_TURN = 10;
24
- /**
25
- * @hidden
26
- */
27
- export class GanttDependencyDirective {
28
- polyline;
29
- zone;
30
- renderer;
31
- mapper;
32
- dependencyDomService;
33
- dependency;
34
- subscriptions = new Subscription();
35
- constructor(polyline, zone, renderer, mapper, dependencyDomService) {
36
- this.polyline = polyline;
37
- this.zone = zone;
38
- this.renderer = renderer;
39
- this.mapper = mapper;
40
- this.dependencyDomService = dependencyDomService;
41
- this.subscriptions.add(dependencyDomService.taskChanges
42
- .pipe(switchMap(changes =>
43
- // reacts only on the very last event emission,
44
- // ensures that the tasks are drawn in the DOM
45
- this.zone.onStable.pipe(take(1), map(() => changes))))
46
- .subscribe(changes => this.updatePoints(changes)));
47
- }
48
- ngOnDestroy() {
49
- this.subscriptions.unsubscribe();
50
- }
51
- ngOnChanges(changes) {
52
- if (isPresent(changes['dependency'])) {
53
- this.updatePoints(this.dependencyDomService.dependencyDomArgs);
54
- }
55
- }
56
- updatePoints({ timelineRow, contentContainer, tasks }) {
57
- if (!isPresent(timelineRow) || !isPresent(contentContainer) ||
58
- !isPresent(tasks) || tasks.size === 0 ||
59
- !tasks.has(this.mapper.extractFromDependency(this.dependency, 'fromId')) || !tasks.has(this.mapper.extractFromDependency(this.dependency, 'toId'))) {
60
- this.clearPoints();
61
- return;
62
- }
63
- const fromCoordinates = getElementRect(tasks.get(this.mapper.extractFromDependency(this.dependency, 'fromId')), contentContainer);
64
- const toCoordinates = getElementRect(tasks.get(this.mapper.extractFromDependency(this.dependency, 'toId')), contentContainer);
65
- const timelineRowHeight = isDocumentAvailable() ? timelineRow.getBoundingClientRect().height : 0;
66
- const points = dependencyCoordinates(fromCoordinates, toCoordinates, timelineRowHeight, this.dependency.type, MIN_DISTANCE_BEFORE_TURN, ARROW_SIZE);
67
- this.drawPoints(points);
68
- }
69
- clearPoints() {
70
- this.renderer.setAttribute(this.polyline.nativeElement, 'points', '');
71
- }
72
- drawPoints(points) {
73
- if (!isPresent(points) || points.length === 0) {
74
- this.clearPoints();
75
- return;
76
- }
77
- const parsedCoords = points.map(({ left, top }) => `${left},${top}`).join(' ');
78
- this.renderer.setAttribute(this.polyline.nativeElement, 'points', parsedCoords);
79
- }
80
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", 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: "18.2.14", type: GanttDependencyDirective, isStandalone: true, selector: "[kendoGanttDependency]", inputs: { dependency: "dependency" }, usesOnChanges: true, ngImport: i0 });
82
- }
83
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GanttDependencyDirective, decorators: [{
84
- type: Directive,
85
- args: [{
86
- selector: '[kendoGanttDependency]',
87
- standalone: true
88
- }]
89
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i1.MappingService }, { type: i2.DependencyDomService }], propDecorators: { dependency: [{
90
- type: Input
91
- }] } });