@progress/kendo-angular-gantt 2.1.0 → 11.0.0-develop.79
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/LICENSE.md +1 -1
- package/NOTICE.txt +119 -79
- package/binding-directives/flat-binding.directive.d.ts +1 -1
- package/binding-directives/hierarchy-binding.directive.d.ts +1 -1
- package/columns/cell-template.directive.d.ts +1 -1
- package/columns/column-base.component.d.ts +1 -1
- package/columns/column-group.component.d.ts +1 -1
- package/columns/column-menu-template.directive.d.ts +1 -1
- package/columns/column.component.d.ts +1 -1
- package/columns/columns.d.ts +1 -1
- package/columns/edit-template.directive.d.ts +1 -1
- package/columns/filter-cell-template.directive.d.ts +1 -1
- package/columns/filter-menu-template.directive.d.ts +1 -1
- package/columns/footer-template.directive.d.ts +1 -1
- package/columns/header-template.directive.d.ts +1 -1
- package/columns/span-column.component.d.ts +1 -1
- package/common/default-callbacks.d.ts +1 -1
- package/common/mapping.service.d.ts +1 -1
- package/common/option-changes.service.d.ts +1 -1
- package/common/touch-enabled.d.ts +1 -1
- package/dependencies/dependency-dom.service.d.ts +1 -1
- package/dependencies/dom-dependency-args.d.ts +1 -1
- package/dependencies/gantt-dependency.directive.d.ts +1 -1
- package/dependencies/utils.d.ts +1 -1
- package/dragging/dependency-drag-create.directive.d.ts +1 -1
- package/dragging/drag-validation-tooltip.component.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/editing/edit.service.d.ts +1 -1
- package/editing/task-fields.component.d.ts +1 -1
- package/editing/utils.d.ts +1 -1
- package/{esm2015/binding-directives/flat-binding.directive.js → esm2020/binding-directives/flat-binding.directive.mjs} +4 -4
- package/{esm2015/binding-directives/hierarchy-binding.directive.js → esm2020/binding-directives/hierarchy-binding.directive.mjs} +4 -4
- package/{esm2015/columns/cell-template.directive.js → esm2020/columns/cell-template.directive.mjs} +5 -5
- package/{esm2015/columns/column-base.component.js → esm2020/columns/column-base.component.mjs} +4 -4
- package/{esm2015/columns/column-group.component.js → esm2020/columns/column-group.component.mjs} +5 -4
- package/{esm2015/columns/column-menu-template.directive.js → esm2020/columns/column-menu-template.directive.mjs} +5 -5
- package/{esm2015/columns/column.component.js → esm2020/columns/column.component.mjs} +5 -4
- package/{esm2015/columns/columns.js → esm2020/columns/columns.mjs} +1 -1
- package/{esm2015/columns/edit-template.directive.js → esm2020/columns/edit-template.directive.mjs} +5 -5
- package/{esm2015/columns/filter-cell-template.directive.js → esm2020/columns/filter-cell-template.directive.mjs} +5 -5
- package/{esm2015/columns/filter-menu-template.directive.js → esm2020/columns/filter-menu-template.directive.mjs} +5 -5
- package/{esm2015/columns/footer-template.directive.js → esm2020/columns/footer-template.directive.mjs} +5 -5
- package/{esm2015/columns/header-template.directive.js → esm2020/columns/header-template.directive.mjs} +5 -5
- package/{esm2015/columns/span-column.component.js → esm2020/columns/span-column.component.mjs} +5 -4
- package/{esm2015/common/default-callbacks.js → esm2020/common/default-callbacks.mjs} +1 -1
- package/{esm2015/common/mapping.service.js → esm2020/common/mapping.service.mjs} +8 -8
- package/{esm2015/common/option-changes.service.js → esm2020/common/option-changes.service.mjs} +4 -4
- package/{esm2015/common/touch-enabled.js → esm2020/common/touch-enabled.mjs} +1 -1
- package/{esm2015/dependencies/dependency-dom.service.js → esm2020/dependencies/dependency-dom.service.mjs} +5 -4
- package/{esm2015/models/column-menu-settings.interface.js → esm2020/dependencies/dom-dependency-args.mjs} +1 -1
- package/{esm2015/dependencies/gantt-dependency.directive.js → esm2020/dependencies/gantt-dependency.directive.mjs} +8 -6
- package/{esm2015/dependencies/utils.js → esm2020/dependencies/utils.mjs} +2 -2
- package/{esm2015/dragging/dependency-drag-create.directive.js → esm2020/dragging/dependency-drag-create.directive.mjs} +9 -5
- package/{esm2015/dragging/drag-validation-tooltip.component.js → esm2020/dragging/drag-validation-tooltip.component.mjs} +4 -4
- package/{esm2015/editing/add-task.component.js → esm2020/editing/add-task.component.mjs} +8 -6
- package/{esm2015/editing/dependencies-table.component.js → esm2020/editing/dependencies-table.component.mjs} +10 -7
- package/{esm2015/editing/edit-dialog.component.js → esm2020/editing/edit-dialog.component.mjs} +13 -10
- package/{esm2015/editing/edit.service.js → esm2020/editing/edit.service.mjs} +5 -4
- package/{esm2015/editing/task-fields.component.js → esm2020/editing/task-fields.component.mjs} +8 -5
- package/{esm2015/editing/utils.js → esm2020/editing/utils.mjs} +1 -1
- package/{esm2015/expanded-state/expand-event.js → esm2020/expanded-state/expand-event.mjs} +4 -2
- package/{esm2015/expanded-state/expandable.directive.js → esm2020/expanded-state/expandable.directive.mjs} +4 -4
- package/{esm2015/gantt.component.js → esm2020/gantt.component.mjs} +30 -20
- package/{esm2015/gantt.module.js → esm2020/gantt.module.mjs} +5 -5
- package/{esm2015/main.js → esm2020/index.mjs} +1 -1
- package/{esm2015/localization/custom-messages.component.js → esm2020/localization/custom-messages.component.mjs} +5 -4
- package/{esm2015/localization/gantt-localization.service.js → esm2020/localization/gantt-localization.service.mjs} +5 -4
- package/{esm2015/localization/localized-messages.directive.js → esm2020/localization/localized-messages.directive.mjs} +5 -4
- package/{esm2015/localization/messages.js → esm2020/localization/messages.mjs} +4 -4
- package/{esm2015/models/cell-content-type.interface.js → esm2020/models/cell-content-type.interface.mjs} +1 -1
- package/{esm2015/dependencies/dom-dependency-args.js → esm2020/models/class-callbacks.mjs} +1 -1
- package/{esm2015/models/class-callbacks.js → esm2020/models/column-menu-settings.interface.mjs} +1 -1
- package/esm2020/models/column-reorder-config.mjs +5 -0
- package/esm2020/models/date-range.interface.mjs +5 -0
- package/{esm2015/models/dependency-type.enum.js → esm2020/models/dependency-type.enum.mjs} +1 -1
- package/esm2020/models/events/cell-click-event.interface.mjs +5 -0
- package/{esm2015/models/events/cell-close-event.interface.js → esm2020/models/events/cell-close-event.interface.mjs} +1 -1
- package/esm2020/models/events/click-event.interface.mjs +5 -0
- package/esm2020/models/events/column-locked-change-event.interface.mjs +5 -0
- package/esm2020/models/events/column-reorder-event.interface.mjs +5 -0
- package/esm2020/models/events/column-resize-event.interface.mjs +5 -0
- package/esm2020/models/events/column-visibility-change-event.interface.mjs +5 -0
- package/esm2020/models/events/data-state-change-event.interface.mjs +5 -0
- package/esm2020/models/events/dependency-add-event.interface.mjs +5 -0
- package/esm2020/models/events/selected-view-change-event.interface.mjs +5 -0
- package/esm2020/models/events/task-add-event.interface.mjs +5 -0
- package/esm2020/models/events/task-click-event.interface.mjs +5 -0
- package/esm2020/models/events/task-delete-event.interface.mjs +5 -0
- package/esm2020/models/events/task-edit-event.interface.mjs +5 -0
- package/esm2020/models/events/task-move-end-event.interface.mjs +5 -0
- package/esm2020/models/events/task-move-event.interface.mjs +5 -0
- package/esm2020/models/events/task-move-start-event.interface.mjs +5 -0
- package/esm2020/models/events/task-resize-end-event.interface.mjs +5 -0
- package/esm2020/models/events/task-resize-event.interface.mjs +5 -0
- package/esm2020/models/events/task-resize-start-event.interface.mjs +5 -0
- package/esm2020/models/filterable-settings.mjs +5 -0
- package/{esm2015/models/gantt-dependency-model-fields.interface.js → esm2020/models/gantt-dependency-model-fields.interface.mjs} +1 -1
- package/esm2020/models/gantt-dependency.interface.mjs +5 -0
- package/{esm2015/models/gantt-task-model-fields.interface.js → esm2020/models/gantt-task-model-fields.interface.mjs} +1 -1
- package/esm2020/models/gantt-task.interface.mjs +5 -0
- package/{esm2015/models/models.js → esm2020/models/models.mjs} +1 -1
- package/esm2020/models/slot.interface.mjs +5 -0
- package/{esm2015/models/sort-settings.js → esm2020/models/sort-settings.mjs} +1 -1
- package/{esm2015/models/splitter-pane-options.interface.js → esm2020/models/splitter-pane-options.interface.mjs} +1 -1
- package/esm2020/models/timeline-options.interface.mjs +5 -0
- package/esm2020/models/timeline-view.mjs +5 -0
- package/esm2020/models/toolbar-settings.mjs +5 -0
- package/esm2020/models/view-item.interface.mjs +5 -0
- package/esm2020/navigation/navigation-models.mjs +5 -0
- package/{esm2015/navigation/navigation.service.js → esm2020/navigation/navigation.service.mjs} +6 -5
- package/{esm2015/navigation/utils.js → esm2020/navigation/utils.mjs} +1 -1
- package/{esm2015/package-metadata.js → esm2020/package-metadata.mjs} +2 -2
- package/{esm2015/kendo-angular-gantt.js → esm2020/progress-kendo-angular-gantt.mjs} +2 -2
- package/{esm2015/rendering/gantt-header-table-body.component.js → esm2020/rendering/gantt-header-table-body.component.mjs} +4 -4
- package/{esm2015/rendering/gantt-milestone-task.component.js → esm2020/rendering/gantt-milestone-task.component.mjs} +12 -16
- package/{esm2015/rendering/gantt-summary-task.component.js → esm2020/rendering/gantt-summary-task.component.mjs} +12 -16
- package/{esm2015/rendering/gantt-task-base.js → esm2020/rendering/gantt-task-base.mjs} +15 -10
- package/{esm2015/rendering/gantt-task.component.js → esm2020/rendering/gantt-task.component.mjs} +13 -16
- package/{esm2015/rendering/gantt-tasks-table-body.component.js → esm2020/rendering/gantt-tasks-table-body.component.mjs} +7 -5
- package/{esm2015/scrolling/drag-scroll-settings.js → esm2020/scrolling/drag-scroll-settings.mjs} +1 -1
- package/{esm2015/scrolling/scroll-sync.service.js → esm2020/scrolling/scroll-sync.service.mjs} +5 -5
- package/{esm2015/scrolling/timeline-scroll.directive.js → esm2020/scrolling/timeline-scroll.directive.mjs} +6 -5
- package/{esm2015/scrolling/timeline-scroll.service.js → esm2020/scrolling/timeline-scroll.service.mjs} +4 -4
- package/{esm2015/scrolling/utils.js → esm2020/scrolling/utils.mjs} +1 -1
- package/{esm2015/selection/selectable.directive.js → esm2020/selection/selectable.directive.mjs} +5 -4
- package/esm2020/selection/selection-change-event.mjs +5 -0
- package/{esm2015/template-directives/summary-task-template.directive.js → esm2020/template-directives/summary-task-template.directive.mjs} +6 -6
- package/{esm2015/template-directives/task-content-template.directive.js → esm2020/template-directives/task-content-template.directive.mjs} +5 -5
- package/{esm2015/template-directives/task-template.directive.js → esm2020/template-directives/task-template.directive.mjs} +5 -5
- package/{esm2015/timeline/gantt-timeline.component.js → esm2020/timeline/gantt-timeline.component.mjs} +9 -7
- package/{esm2015/timeline/timeline-base-view.service.js → esm2020/timeline/timeline-base-view.service.mjs} +10 -10
- package/{esm2015/timeline/timeline-day-view.component.js → esm2020/timeline/timeline-day-view.component.mjs} +6 -4
- package/{esm2015/timeline/timeline-day-view.service.js → esm2020/timeline/timeline-day-view.service.mjs} +8 -6
- package/{esm2015/timeline/timeline-month-view.component.js → esm2020/timeline/timeline-month-view.component.mjs} +6 -4
- package/{esm2015/timeline/timeline-month-view.service.js → esm2020/timeline/timeline-month-view.service.mjs} +8 -6
- package/{esm2015/timeline/timeline-view.service.js → esm2020/timeline/timeline-view.service.mjs} +5 -5
- package/{esm2015/timeline/timeline-week-view.component.js → esm2020/timeline/timeline-week-view.component.mjs} +6 -4
- package/{esm2015/timeline/timeline-week-view.service.js → esm2020/timeline/timeline-week-view.service.mjs} +8 -6
- package/{esm2015/timeline/timeline-year-view.component.js → esm2020/timeline/timeline-year-view.component.mjs} +6 -4
- package/{esm2015/timeline/timeline-year-view.service.js → esm2020/timeline/timeline-year-view.service.mjs} +8 -6
- package/{esm2015/timeline/view-base.js → esm2020/timeline/view-base.mjs} +6 -4
- package/{esm2015/toolbar/toolbar-template.directive.js → esm2020/toolbar/toolbar-template.directive.mjs} +6 -6
- package/{esm2015/toolbar/toolbar.component.js → esm2020/toolbar/toolbar.component.mjs} +5 -4
- package/{esm2015/toolbar/view-selector.component.js → esm2020/toolbar/view-selector.component.mjs} +6 -5
- package/{esm2015/utils.js → esm2020/utils.mjs} +2 -2
- package/expanded-state/expand-event.d.ts +1 -1
- package/expanded-state/expandable.directive.d.ts +1 -1
- package/fesm2015/progress-kendo-angular-gantt.mjs +7878 -0
- package/{fesm2015/kendo-angular-gantt.js → fesm2020/progress-kendo-angular-gantt.mjs} +813 -831
- package/gantt.component.d.ts +1 -1
- package/gantt.module.d.ts +1 -1
- package/{main.d.ts → index.d.ts} +1 -1
- package/localization/custom-messages.component.d.ts +1 -1
- package/localization/gantt-localization.service.d.ts +1 -1
- package/localization/localized-messages.directive.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 +1 -1
- package/models/column-menu-settings.interface.d.ts +1 -1
- package/models/column-reorder-config.d.ts +1 -1
- package/models/date-range.interface.d.ts +1 -1
- package/models/dependency-type.enum.d.ts +1 -1
- package/models/events/cell-click-event.interface.d.ts +1 -1
- package/models/events/cell-close-event.interface.d.ts +1 -1
- package/models/events/click-event.interface.d.ts +1 -1
- package/models/events/column-locked-change-event.interface.d.ts +1 -1
- package/models/events/column-reorder-event.interface.d.ts +1 -1
- package/models/events/column-resize-event.interface.d.ts +1 -1
- package/models/events/column-visibility-change-event.interface.d.ts +1 -1
- package/models/events/data-state-change-event.interface.d.ts +1 -1
- package/models/events/dependency-add-event.interface.d.ts +1 -1
- package/models/events/selected-view-change-event.interface.d.ts +1 -1
- package/models/events/task-add-event.interface.d.ts +1 -1
- package/models/events/task-click-event.interface.d.ts +1 -1
- package/models/events/task-delete-event.interface.d.ts +1 -1
- package/models/events/task-edit-event.interface.d.ts +1 -1
- package/models/events/task-move-end-event.interface.d.ts +1 -1
- package/models/events/task-move-event.interface.d.ts +1 -1
- package/models/events/task-move-start-event.interface.d.ts +1 -1
- package/models/events/task-resize-end-event.interface.d.ts +1 -1
- package/models/events/task-resize-event.interface.d.ts +1 -1
- package/models/events/task-resize-start-event.interface.d.ts +1 -1
- package/models/filterable-settings.d.ts +1 -1
- package/models/gantt-dependency-model-fields.interface.d.ts +1 -1
- package/models/gantt-dependency.interface.d.ts +1 -1
- package/models/gantt-task-model-fields.interface.d.ts +1 -1
- package/models/gantt-task.interface.d.ts +1 -1
- package/models/models.d.ts +1 -1
- package/models/slot.interface.d.ts +1 -1
- package/models/sort-settings.d.ts +1 -1
- package/models/splitter-pane-options.interface.d.ts +1 -1
- package/models/timeline-options.interface.d.ts +1 -1
- package/models/timeline-view.d.ts +1 -1
- package/models/toolbar-settings.d.ts +1 -1
- package/models/view-item.interface.d.ts +1 -1
- package/navigation/navigation-models.d.ts +1 -1
- package/navigation/navigation.service.d.ts +1 -1
- package/navigation/utils.d.ts +1 -1
- package/package-metadata.d.ts +1 -1
- package/package.json +37 -65
- package/{kendo-angular-gantt.d.ts → progress-kendo-angular-gantt.d.ts} +2 -2
- package/rendering/gantt-header-table-body.component.d.ts +1 -1
- package/rendering/gantt-milestone-task.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 +1 -5
- package/scrolling/drag-scroll-settings.d.ts +1 -1
- package/scrolling/scroll-sync.service.d.ts +1 -1
- package/scrolling/timeline-scroll.directive.d.ts +1 -1
- package/scrolling/timeline-scroll.service.d.ts +1 -1
- package/scrolling/utils.d.ts +1 -1
- package/selection/selectable.directive.d.ts +1 -1
- package/selection/selection-change-event.d.ts +1 -1
- package/template-directives/summary-task-template.directive.d.ts +2 -2
- package/template-directives/task-content-template.directive.d.ts +1 -1
- package/template-directives/task-template.directive.d.ts +1 -1
- package/timeline/gantt-timeline.component.d.ts +1 -1
- package/timeline/timeline-base-view.service.d.ts +1 -1
- package/timeline/timeline-day-view.component.d.ts +1 -1
- package/timeline/timeline-day-view.service.d.ts +1 -1
- package/timeline/timeline-month-view.component.d.ts +1 -1
- package/timeline/timeline-month-view.service.d.ts +1 -1
- package/timeline/timeline-view.service.d.ts +1 -1
- package/timeline/timeline-week-view.component.d.ts +1 -1
- package/timeline/timeline-week-view.service.d.ts +1 -1
- package/timeline/timeline-year-view.component.d.ts +1 -1
- package/timeline/timeline-year-view.service.d.ts +1 -1
- package/timeline/view-base.d.ts +1 -1
- package/toolbar/toolbar-template.directive.d.ts +2 -2
- package/toolbar/toolbar.component.d.ts +1 -1
- package/toolbar/view-selector.component.d.ts +1 -1
- package/utils.d.ts +1 -1
- package/bundles/kendo-angular-gantt.umd.js +0 -5
- package/esm2015/models/column-reorder-config.js +0 -5
- package/esm2015/models/date-range.interface.js +0 -5
- package/esm2015/models/events/cell-click-event.interface.js +0 -5
- package/esm2015/models/events/click-event.interface.js +0 -5
- package/esm2015/models/events/column-locked-change-event.interface.js +0 -5
- package/esm2015/models/events/column-reorder-event.interface.js +0 -5
- package/esm2015/models/events/column-resize-event.interface.js +0 -5
- package/esm2015/models/events/column-visibility-change-event.interface.js +0 -5
- package/esm2015/models/events/data-state-change-event.interface.js +0 -5
- package/esm2015/models/events/dependency-add-event.interface.js +0 -5
- package/esm2015/models/events/selected-view-change-event.interface.js +0 -5
- package/esm2015/models/events/task-add-event.interface.js +0 -5
- package/esm2015/models/events/task-click-event.interface.js +0 -5
- package/esm2015/models/events/task-delete-event.interface.js +0 -5
- package/esm2015/models/events/task-edit-event.interface.js +0 -5
- package/esm2015/models/events/task-move-end-event.interface.js +0 -5
- package/esm2015/models/events/task-move-event.interface.js +0 -5
- package/esm2015/models/events/task-move-start-event.interface.js +0 -5
- package/esm2015/models/events/task-resize-end-event.interface.js +0 -5
- package/esm2015/models/events/task-resize-event.interface.js +0 -5
- package/esm2015/models/events/task-resize-start-event.interface.js +0 -5
- package/esm2015/models/filterable-settings.js +0 -5
- package/esm2015/models/gantt-dependency.interface.js +0 -5
- package/esm2015/models/gantt-task.interface.js +0 -5
- package/esm2015/models/slot.interface.js +0 -5
- package/esm2015/models/timeline-options.interface.js +0 -5
- package/esm2015/models/timeline-view.js +0 -5
- package/esm2015/models/toolbar-settings.js +0 -5
- package/esm2015/models/view-item.interface.js +0 -5
- package/esm2015/navigation/navigation-models.js +0 -5
- package/esm2015/selection/selection-change-event.js +0 -5
- package/schematics/ngAdd/index.js.map +0 -1
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright ©
|
|
2
|
+
* Copyright © 2022 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
5
|
import * as i0 from '@angular/core';
|
|
6
6
|
import { Injectable, Component, Input, InjectionToken, EventEmitter, Directive, HostBinding, ViewChild, forwardRef, Inject, ViewContainerRef, Output, Optional, QueryList, SkipSelf, Host, ContentChildren, ContentChild, isDevMode, NgModule } from '@angular/core';
|
|
7
7
|
import * as i11 from '@progress/kendo-angular-treelist';
|
|
8
8
|
import { ColumnBase, ColumnComponent, ColumnGroupComponent, SpanColumnComponent, DataBoundTreeComponent, ExpandableTreeComponent, TreeListComponent, FlatBindingDirective, HierarchyBindingDirective, ExpandableDirective, TreeListModule } from '@progress/kendo-angular-treelist';
|
|
9
|
+
import { cloneDate, addWeeks, firstDayInWeek, addDays, lastDayOfMonth, getDate, firstDayOfMonth, addMonths, lastMonthOfYear, MS_PER_HOUR, MS_PER_DAY, isEqual } from '@progress/kendo-date-math';
|
|
9
10
|
import { Subject, Subscription, fromEvent, forkJoin, EMPTY, isObservable, of } from 'rxjs';
|
|
10
11
|
import { validatePackage } from '@progress/kendo-licensing';
|
|
11
12
|
import * as i8 from '@progress/kendo-angular-common';
|
|
12
13
|
import { Keys, isDocumentAvailable, closestInScope, matchesClasses, PreventableEvent, anyChanged, hasObservers, EventsModule, DraggableModule } from '@progress/kendo-angular-common';
|
|
13
14
|
import { map, distinctUntilChanged, take, expand, reduce, switchMap, filter } from 'rxjs/operators';
|
|
14
|
-
import { cloneDate, addWeeks, firstDayInWeek, addDays, lastDayOfMonth, getDate, firstDayOfMonth, addMonths, lastMonthOfYear, MS_PER_HOUR, MS_PER_DAY, isEqual } from '@progress/kendo-date-math';
|
|
15
15
|
import { getter, touchEnabled } from '@progress/kendo-common';
|
|
16
16
|
import * as i6 from '@angular/common';
|
|
17
17
|
import { CommonModule } from '@angular/common';
|
|
18
|
-
import { orderBy } from '@progress/kendo-data-query';
|
|
19
18
|
import * as i1 from '@progress/kendo-angular-intl';
|
|
19
|
+
import { orderBy } from '@progress/kendo-data-query';
|
|
20
20
|
import * as i1$1 from '@progress/kendo-angular-l10n';
|
|
21
21
|
import { ComponentMessages, LocalizationService, L10N_PREFIX } from '@progress/kendo-angular-l10n';
|
|
22
22
|
import * as i2 from '@progress/kendo-angular-buttons';
|
|
23
23
|
import { ButtonsModule } from '@progress/kendo-angular-buttons';
|
|
24
24
|
import * as i8$1 from '@angular/forms';
|
|
25
25
|
import { FormArray, FormGroup, FormControl, Validators, ReactiveFormsModule } from '@angular/forms';
|
|
26
|
-
import * as i5$
|
|
26
|
+
import * as i5$1 from '@progress/kendo-angular-layout';
|
|
27
27
|
import { SplitterModule, TabStripModule } from '@progress/kendo-angular-layout';
|
|
28
28
|
import * as i4$2 from '@progress/kendo-angular-dialog';
|
|
29
29
|
import { DialogModule } from '@progress/kendo-angular-dialog';
|
|
@@ -35,7 +35,7 @@ import * as i6$1 from '@progress/kendo-angular-dateinputs';
|
|
|
35
35
|
import { DateInputsModule } from '@progress/kendo-angular-dateinputs';
|
|
36
36
|
import * as i4$1 from '@progress/kendo-angular-grid';
|
|
37
37
|
import { GridModule } from '@progress/kendo-angular-grid';
|
|
38
|
-
import * as
|
|
38
|
+
import * as i6$2 from '@progress/kendo-angular-dropdowns';
|
|
39
39
|
import { DropDownsModule } from '@progress/kendo-angular-dropdowns';
|
|
40
40
|
import * as i3 from '@progress/kendo-angular-popup';
|
|
41
41
|
import { PopupModule } from '@progress/kendo-angular-popup';
|
|
@@ -47,7 +47,7 @@ const packageMetadata = {
|
|
|
47
47
|
name: '@progress/kendo-angular-gantt',
|
|
48
48
|
productName: 'Kendo UI for Angular',
|
|
49
49
|
productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
|
|
50
|
-
publishDate:
|
|
50
|
+
publishDate: 1672320965,
|
|
51
51
|
version: '',
|
|
52
52
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
|
|
53
53
|
};
|
|
@@ -117,6 +117,101 @@ const getIndexFromViewDigitKeyCode = (keyCode) => {
|
|
|
117
117
|
}
|
|
118
118
|
};
|
|
119
119
|
|
|
120
|
+
/**
|
|
121
|
+
* @hidden
|
|
122
|
+
*/
|
|
123
|
+
class ScrollSyncService {
|
|
124
|
+
constructor(ngZone) {
|
|
125
|
+
this.ngZone = ngZone;
|
|
126
|
+
this.changes = new Subject();
|
|
127
|
+
this.elements = [];
|
|
128
|
+
this.subscriptions = new Subscription();
|
|
129
|
+
this.subscriptions.add(this.changes.subscribe(args => {
|
|
130
|
+
this.scroll(args);
|
|
131
|
+
}));
|
|
132
|
+
}
|
|
133
|
+
registerElement(el, sourceType) {
|
|
134
|
+
this.elements.push({ element: el, sourceType });
|
|
135
|
+
if (sourceType === "timeline" || sourceType === "treelist") {
|
|
136
|
+
this.ngZone.runOutsideAngular(() => {
|
|
137
|
+
const obs = fromEvent(el, 'scroll').pipe(map(({ target: { scrollTop, scrollLeft } }) => ({
|
|
138
|
+
scrollTop,
|
|
139
|
+
scrollLeft,
|
|
140
|
+
sourceType
|
|
141
|
+
})));
|
|
142
|
+
const comparisonFn = sourceType === 'timeline' ?
|
|
143
|
+
(x, y) => (x.scrollTop === y.scrollTop) && (x.scrollLeft === y.scrollLeft) :
|
|
144
|
+
(x, y) => (x.scrollTop === y.scrollTop);
|
|
145
|
+
this.subscriptions.add(obs.pipe(distinctUntilChanged(comparisonFn))
|
|
146
|
+
.subscribe((event) => this.changes.next(event)));
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
ngOnDestroy() {
|
|
151
|
+
this.subscriptions.unsubscribe();
|
|
152
|
+
this.elements = null;
|
|
153
|
+
}
|
|
154
|
+
syncScrollTop(sourceType, targetType) {
|
|
155
|
+
const source = this.elements.find(element => element.sourceType === sourceType);
|
|
156
|
+
const target = this.elements.find(element => element.sourceType === targetType);
|
|
157
|
+
// Need to wait for the splitter pane's content to be rendered
|
|
158
|
+
this.ngZone.onStable.pipe(take(1)).subscribe(() => target.element.scrollTop = source.element.scrollTop);
|
|
159
|
+
}
|
|
160
|
+
resetTimelineScrollLeft() {
|
|
161
|
+
const source = this.elements.find(element => element.sourceType === 'timeline');
|
|
162
|
+
source.element.scrollLeft = 0;
|
|
163
|
+
}
|
|
164
|
+
scroll({ scrollTop, scrollLeft, sourceType }) {
|
|
165
|
+
this.ngZone.runOutsideAngular(() => {
|
|
166
|
+
if (sourceType === 'timeline') {
|
|
167
|
+
const header = this.elements.find(element => element.sourceType === 'header').element;
|
|
168
|
+
header.scrollLeft = scrollLeft;
|
|
169
|
+
if (!this.syncingTimeline) {
|
|
170
|
+
this.syncingTreeList = true;
|
|
171
|
+
const treelist = this.elements.find(element => element.sourceType === 'treelist').element;
|
|
172
|
+
treelist.scrollTop = scrollTop;
|
|
173
|
+
}
|
|
174
|
+
this.syncingTimeline = false;
|
|
175
|
+
}
|
|
176
|
+
if (sourceType === 'treelist') {
|
|
177
|
+
if (!this.syncingTreeList) {
|
|
178
|
+
this.syncingTimeline = true;
|
|
179
|
+
const timeline = this.elements.find(element => element.sourceType === 'timeline').element;
|
|
180
|
+
timeline.scrollTop = scrollTop;
|
|
181
|
+
}
|
|
182
|
+
this.syncingTreeList = false;
|
|
183
|
+
}
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
ScrollSyncService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ScrollSyncService, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
188
|
+
ScrollSyncService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ScrollSyncService });
|
|
189
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ScrollSyncService, decorators: [{
|
|
190
|
+
type: Injectable
|
|
191
|
+
}], ctorParameters: function () { return [{ type: i0.NgZone }]; } });
|
|
192
|
+
|
|
193
|
+
/**
|
|
194
|
+
* @hidden
|
|
195
|
+
*/
|
|
196
|
+
const DEFAULT_DEPENDENCY_MODEL_FIELDS = Object.freeze({
|
|
197
|
+
toId: 'toId',
|
|
198
|
+
fromId: 'fromId',
|
|
199
|
+
id: 'id',
|
|
200
|
+
type: 'type'
|
|
201
|
+
});
|
|
202
|
+
|
|
203
|
+
/**
|
|
204
|
+
* @hidden
|
|
205
|
+
*/
|
|
206
|
+
const DEFAULT_TASK_MODEL_FIELDS = Object.freeze({
|
|
207
|
+
id: 'id',
|
|
208
|
+
start: 'start',
|
|
209
|
+
end: 'end',
|
|
210
|
+
title: 'title',
|
|
211
|
+
completionRatio: 'completionRatio',
|
|
212
|
+
children: 'children'
|
|
213
|
+
});
|
|
214
|
+
|
|
120
215
|
/**
|
|
121
216
|
* The dependency type when two tasks are connected.
|
|
122
217
|
*
|
|
@@ -216,7 +311,7 @@ const getTotalDaysInMonth = (date) => {
|
|
|
216
311
|
* by excluding the months of the dates themselves.
|
|
217
312
|
*/
|
|
218
313
|
const getTotalMonthsInBetween = (start, end) => {
|
|
219
|
-
|
|
314
|
+
const diff = end.getMonth() - start.getMonth() + (12 * (end.getFullYear() - start.getFullYear()));
|
|
220
315
|
return diff <= 1 ? 0 : diff - 1;
|
|
221
316
|
};
|
|
222
317
|
/**
|
|
@@ -439,115 +534,20 @@ const elementFromPoint = (clientX, clientY) => {
|
|
|
439
534
|
return document.elementFromPoint(clientX, clientY);
|
|
440
535
|
};
|
|
441
536
|
|
|
442
|
-
/**
|
|
443
|
-
* @hidden
|
|
444
|
-
*/
|
|
445
|
-
class ScrollSyncService {
|
|
446
|
-
constructor(ngZone) {
|
|
447
|
-
this.ngZone = ngZone;
|
|
448
|
-
this.changes = new Subject();
|
|
449
|
-
this.elements = [];
|
|
450
|
-
this.subscriptions = new Subscription();
|
|
451
|
-
this.subscriptions.add(this.changes.subscribe(args => {
|
|
452
|
-
this.scroll(args);
|
|
453
|
-
}));
|
|
454
|
-
}
|
|
455
|
-
registerElement(el, sourceType) {
|
|
456
|
-
this.elements.push({ element: el, sourceType });
|
|
457
|
-
if (sourceType === "timeline" || sourceType === "treelist") {
|
|
458
|
-
this.ngZone.runOutsideAngular(() => {
|
|
459
|
-
const obs = fromEvent(el, 'scroll').pipe(map(({ target: { scrollTop, scrollLeft } }) => ({
|
|
460
|
-
scrollTop,
|
|
461
|
-
scrollLeft,
|
|
462
|
-
sourceType
|
|
463
|
-
})));
|
|
464
|
-
const comparisonFn = sourceType === 'timeline' ?
|
|
465
|
-
(x, y) => (x.scrollTop === y.scrollTop) && (x.scrollLeft === y.scrollLeft) :
|
|
466
|
-
(x, y) => (x.scrollTop === y.scrollTop);
|
|
467
|
-
this.subscriptions.add(obs.pipe(distinctUntilChanged(comparisonFn))
|
|
468
|
-
.subscribe((event) => this.changes.next(event)));
|
|
469
|
-
});
|
|
470
|
-
}
|
|
471
|
-
}
|
|
472
|
-
ngOnDestroy() {
|
|
473
|
-
this.subscriptions.unsubscribe();
|
|
474
|
-
this.elements = null;
|
|
475
|
-
}
|
|
476
|
-
syncScrollTop(sourceType, targetType) {
|
|
477
|
-
const source = this.elements.find(element => element.sourceType === sourceType);
|
|
478
|
-
const target = this.elements.find(element => element.sourceType === targetType);
|
|
479
|
-
// Need to wait for the splitter pane's content to be rendered
|
|
480
|
-
this.ngZone.onStable.pipe(take(1)).subscribe(() => target.element.scrollTop = source.element.scrollTop);
|
|
481
|
-
}
|
|
482
|
-
resetTimelineScrollLeft() {
|
|
483
|
-
const source = this.elements.find(element => element.sourceType === 'timeline');
|
|
484
|
-
source.element.scrollLeft = 0;
|
|
485
|
-
}
|
|
486
|
-
scroll({ scrollTop, scrollLeft, sourceType }) {
|
|
487
|
-
this.ngZone.runOutsideAngular(() => {
|
|
488
|
-
if (sourceType === 'timeline') {
|
|
489
|
-
const header = this.elements.find(element => element.sourceType === 'header').element;
|
|
490
|
-
header.scrollLeft = scrollLeft;
|
|
491
|
-
if (!this.syncingTimeline) {
|
|
492
|
-
this.syncingTreeList = true;
|
|
493
|
-
const treelist = this.elements.find(element => element.sourceType === 'treelist').element;
|
|
494
|
-
treelist.scrollTop = scrollTop;
|
|
495
|
-
}
|
|
496
|
-
this.syncingTimeline = false;
|
|
497
|
-
}
|
|
498
|
-
if (sourceType === 'treelist') {
|
|
499
|
-
if (!this.syncingTreeList) {
|
|
500
|
-
this.syncingTimeline = true;
|
|
501
|
-
const timeline = this.elements.find(element => element.sourceType === 'timeline').element;
|
|
502
|
-
timeline.scrollTop = scrollTop;
|
|
503
|
-
}
|
|
504
|
-
this.syncingTreeList = false;
|
|
505
|
-
}
|
|
506
|
-
});
|
|
507
|
-
}
|
|
508
|
-
}
|
|
509
|
-
ScrollSyncService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ScrollSyncService, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
510
|
-
ScrollSyncService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ScrollSyncService });
|
|
511
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ScrollSyncService, decorators: [{
|
|
512
|
-
type: Injectable
|
|
513
|
-
}], ctorParameters: function () { return [{ type: i0.NgZone }]; } });
|
|
514
|
-
|
|
515
|
-
/**
|
|
516
|
-
* @hidden
|
|
517
|
-
*/
|
|
518
|
-
const DEFAULT_DEPENDENCY_MODEL_FIELDS = Object.freeze({
|
|
519
|
-
toId: 'toId',
|
|
520
|
-
fromId: 'fromId',
|
|
521
|
-
id: 'id',
|
|
522
|
-
type: 'type'
|
|
523
|
-
});
|
|
524
|
-
|
|
525
|
-
/**
|
|
526
|
-
* @hidden
|
|
527
|
-
*/
|
|
528
|
-
const DEFAULT_TASK_MODEL_FIELDS = Object.freeze({
|
|
529
|
-
id: 'id',
|
|
530
|
-
start: 'start',
|
|
531
|
-
end: 'end',
|
|
532
|
-
title: 'title',
|
|
533
|
-
completionRatio: 'completionRatio',
|
|
534
|
-
children: 'children'
|
|
535
|
-
});
|
|
536
|
-
|
|
537
537
|
/**
|
|
538
538
|
* @hidden
|
|
539
539
|
*/
|
|
540
540
|
class MappingService {
|
|
541
541
|
constructor() {
|
|
542
|
-
this._taskFields =
|
|
543
|
-
this._dependencyFields =
|
|
542
|
+
this._taskFields = { ...DEFAULT_TASK_MODEL_FIELDS };
|
|
543
|
+
this._dependencyFields = { ...DEFAULT_DEPENDENCY_MODEL_FIELDS };
|
|
544
544
|
}
|
|
545
545
|
/**
|
|
546
546
|
* Gets or sets the model fields for the task data items.
|
|
547
547
|
* Uses the default values for fields which are not specified.
|
|
548
548
|
*/
|
|
549
549
|
set taskFields(fields) {
|
|
550
|
-
this._taskFields =
|
|
550
|
+
this._taskFields = { ...DEFAULT_TASK_MODEL_FIELDS, ...fields };
|
|
551
551
|
}
|
|
552
552
|
get taskFields() {
|
|
553
553
|
return this._taskFields;
|
|
@@ -557,7 +557,7 @@ class MappingService {
|
|
|
557
557
|
* Uses the default values for fields which are not specified.
|
|
558
558
|
*/
|
|
559
559
|
set dependencyFields(fields) {
|
|
560
|
-
this._dependencyFields =
|
|
560
|
+
this._dependencyFields = { ...DEFAULT_DEPENDENCY_MODEL_FIELDS, ...fields };
|
|
561
561
|
}
|
|
562
562
|
get dependencyFields() {
|
|
563
563
|
return this._dependencyFields;
|
|
@@ -583,9 +583,9 @@ class MappingService {
|
|
|
583
583
|
return getter(this.dependencyFields[field])(dataItem);
|
|
584
584
|
}
|
|
585
585
|
}
|
|
586
|
-
MappingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
587
|
-
MappingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
588
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
586
|
+
MappingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MappingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
587
|
+
MappingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MappingService });
|
|
588
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MappingService, decorators: [{
|
|
589
589
|
type: Injectable
|
|
590
590
|
}] });
|
|
591
591
|
|
|
@@ -646,9 +646,9 @@ class DependencyDomService {
|
|
|
646
646
|
this.notifier.next(this.dependencyDomArgs);
|
|
647
647
|
}
|
|
648
648
|
}
|
|
649
|
-
DependencyDomService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
650
|
-
DependencyDomService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
651
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
649
|
+
DependencyDomService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DependencyDomService, deps: [{ token: MappingService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
650
|
+
DependencyDomService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DependencyDomService });
|
|
651
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DependencyDomService, decorators: [{
|
|
652
652
|
type: Injectable
|
|
653
653
|
}], ctorParameters: function () { return [{ type: MappingService }]; } });
|
|
654
654
|
|
|
@@ -657,8 +657,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
657
657
|
*/
|
|
658
658
|
class GanttHeaderTableBodyComponent {
|
|
659
659
|
}
|
|
660
|
-
GanttHeaderTableBodyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
661
|
-
GanttHeaderTableBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
|
|
660
|
+
GanttHeaderTableBodyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttHeaderTableBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
661
|
+
GanttHeaderTableBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: GanttHeaderTableBodyComponent, selector: "[kendoGanttHeaderTableBody]", inputs: { groupSlots: "groupSlots", slots: "slots" }, ngImport: i0, template: `
|
|
662
662
|
<tr>
|
|
663
663
|
<td *ngFor="let item of groupSlots" [attr.colspan]="item.span" class="k-header">{{ item.text }}</td>
|
|
664
664
|
</tr>
|
|
@@ -667,7 +667,7 @@ GanttHeaderTableBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "1
|
|
|
667
667
|
<td *ngFor="let item of slots" class="k-header" [attr.colspan]="item.span === 7 ? item.span : 1" [attr.title]="item.text">{{ item.text }}</td>
|
|
668
668
|
</tr>
|
|
669
669
|
`, isInline: true, directives: [{ type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
670
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
670
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttHeaderTableBodyComponent, decorators: [{
|
|
671
671
|
type: Component,
|
|
672
672
|
args: [{
|
|
673
673
|
// eslint-disable-next-line @angular-eslint/component-selector
|
|
@@ -691,40 +691,318 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
691
691
|
/**
|
|
692
692
|
* @hidden
|
|
693
693
|
*/
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
694
|
+
class NavigationService {
|
|
695
|
+
constructor(zone, renderer, scrollSyncService) {
|
|
696
|
+
this.zone = zone;
|
|
697
|
+
this.renderer = renderer;
|
|
698
|
+
this.scrollSyncService = scrollSyncService;
|
|
699
|
+
/**
|
|
700
|
+
* Notifies when the tasks' focused and interactive (tabindex) state has changed.
|
|
701
|
+
*
|
|
702
|
+
* All tasks are rendered with tabindex="-1".
|
|
703
|
+
* When one is clicked, or when some navigation key keyboard key is pressed, it should be focused, assigned the focus class, and its tabindex updated to 0.
|
|
704
|
+
* All other tasks should get -1 tabindex and have the focus class removed from them.
|
|
705
|
+
*/
|
|
706
|
+
this.taskStatusChanges = new Subject();
|
|
707
|
+
/**
|
|
708
|
+
* Keeps track of whether the Timeline part is focused.
|
|
709
|
+
* Used when the index of the task elements change (tasks are changed, pushed to, spliced from, etc.)
|
|
710
|
+
* and their status should be updated accordingly.
|
|
711
|
+
*/
|
|
712
|
+
this.isTimelineFocused = false;
|
|
713
|
+
/**
|
|
714
|
+
* Keeps track of which part has last been focused.
|
|
715
|
+
* Used when calling `gantt.focus()` to determine which part of the component should receive focus.
|
|
716
|
+
*/
|
|
717
|
+
this.treeListLastActive = false;
|
|
718
|
+
/**
|
|
719
|
+
* Keeps track of which part has last been focused.
|
|
720
|
+
* Used when calling `gantt.focus()` to determine which part of the component should receive focus.
|
|
721
|
+
*/
|
|
722
|
+
this.timelineLastActive = false;
|
|
723
|
+
this._enabled = false;
|
|
724
|
+
this._activeTimelineIndex = 0;
|
|
725
|
+
this._activeTreeListCell = { rowIndex: 0, colIndex: 0 };
|
|
716
726
|
}
|
|
717
|
-
|
|
718
|
-
|
|
727
|
+
/**
|
|
728
|
+
* Specifies whether navigation is enabled.
|
|
729
|
+
*/
|
|
730
|
+
get enabled() {
|
|
731
|
+
return this._enabled;
|
|
719
732
|
}
|
|
720
733
|
/**
|
|
721
|
-
*
|
|
722
|
-
* @param tasks - The tasks which are going to be rendered in the table
|
|
723
|
-
* @returns {Object} - An object containing the range start and end dates
|
|
734
|
+
* Used to retrieve read-only data about the currently active task.
|
|
724
735
|
*/
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
736
|
+
get activeTask() {
|
|
737
|
+
return {
|
|
738
|
+
activeIndex: this.activeTimelineIndex,
|
|
739
|
+
isFocused: this.isTimelineFocused
|
|
740
|
+
};
|
|
741
|
+
}
|
|
742
|
+
/**
|
|
743
|
+
* Persists the expected Timeline focused task index.
|
|
744
|
+
* When the cells in the TreeList are navigated through, the expected Timeline focus target should also change,
|
|
745
|
+
* in order to allow tabbing from the TreeList to the same row in the Timeline.
|
|
746
|
+
*/
|
|
747
|
+
set activeTimelineIndex(index) {
|
|
748
|
+
this._activeTimelineIndex = index;
|
|
749
|
+
}
|
|
750
|
+
get activeTimelineIndex() {
|
|
751
|
+
const firstAvailableIndex = 0;
|
|
752
|
+
const lastAvailableIndex = this.metadata.treeList.view.data.length - 1;
|
|
753
|
+
return fitToRange(this._activeTimelineIndex, firstAvailableIndex, lastAvailableIndex);
|
|
754
|
+
}
|
|
755
|
+
/**
|
|
756
|
+
* Persists the expected TreeList focused cell coords.
|
|
757
|
+
* When the tasks in the Timeline are navigated through, the expected TreeList focus target should also change,
|
|
758
|
+
* in order to allow back-tabbing from the Timeline to the same row in the TreeList.
|
|
759
|
+
*/
|
|
760
|
+
set activeTreeListCell(cell) {
|
|
761
|
+
this._activeTreeListCell = cell;
|
|
762
|
+
}
|
|
763
|
+
get activeTreeListCell() {
|
|
764
|
+
const firstAvailableIndex = 0;
|
|
765
|
+
const lastAvailableRowIndex = this.treeListHeaderRowsCount + this.metadata.treeList.view.data.length - 1;
|
|
766
|
+
const rowIndex = fitToRange(this._activeTreeListCell.rowIndex, firstAvailableIndex, lastAvailableRowIndex);
|
|
767
|
+
const lastAvailableColIndex = this.metadata.columns.length;
|
|
768
|
+
const colIndex = fitToRange(this._activeTreeListCell.colIndex, firstAvailableIndex, lastAvailableColIndex);
|
|
769
|
+
return { rowIndex, colIndex };
|
|
770
|
+
}
|
|
771
|
+
/**
|
|
772
|
+
* The TreeList row index takes into account the header and filter rows.
|
|
773
|
+
* Used when translating Timeline task indices to TreeList row indices.
|
|
774
|
+
*/
|
|
775
|
+
get treeListHeaderRowsCount() {
|
|
776
|
+
// captures nested group header rows + filter row if we start supporting it at some point
|
|
777
|
+
return this.metadata.treeListElement.querySelectorAll('.k-grid-header tr').length;
|
|
778
|
+
}
|
|
779
|
+
initialize(metadata) {
|
|
780
|
+
// no private property setters in TypeScript, so use a getter and a poorly named private prop for this value
|
|
781
|
+
this._enabled = true;
|
|
782
|
+
this.metadata = metadata;
|
|
783
|
+
// TODO: fix in the splitter package and remove
|
|
784
|
+
// move the splitbar HTML element between the two panes to keep the visial tabbing order in tact
|
|
785
|
+
const splitbar = this.metadata.host.querySelector('.k-splitbar');
|
|
786
|
+
if (isPresent(splitbar) && isPresent(splitbar.previousElementSibling) && isPresent(splitbar.after)) {
|
|
787
|
+
splitbar.after(splitbar.previousElementSibling);
|
|
788
|
+
}
|
|
789
|
+
this.zone.runOutsideAngular(() => {
|
|
790
|
+
this.eventListenerDisposers = [
|
|
791
|
+
this.renderer.listen(this.metadata.treeListElement, 'mousedown', this.focusTreeList.bind(this)),
|
|
792
|
+
this.renderer.listen(this.metadata.treeListElement, 'focusin', this.handleTreeListFocusIn.bind(this)),
|
|
793
|
+
this.renderer.listen(this.metadata.timelineElement, 'mousedown', this.handleTimelineMousedown.bind(this)),
|
|
794
|
+
this.renderer.listen(this.metadata.timelineElement, 'focusin', this.handleTimelineFocusIn.bind(this)),
|
|
795
|
+
this.renderer.listen(this.metadata.timelineElement, 'focusout', this.handleTimelineFocusOut.bind(this))
|
|
796
|
+
];
|
|
797
|
+
});
|
|
798
|
+
}
|
|
799
|
+
ngOnDestroy() {
|
|
800
|
+
if (isPresent(this.eventListenerDisposers)) {
|
|
801
|
+
this.eventListenerDisposers.forEach(removeListener => removeListener());
|
|
802
|
+
this.eventListenerDisposers = null;
|
|
803
|
+
}
|
|
804
|
+
this.metadata = null;
|
|
805
|
+
}
|
|
806
|
+
/**
|
|
807
|
+
* Focuses either the last active TreeList cell, or the last active Timeline task,
|
|
808
|
+
* dependening on which of the two last held focus.
|
|
809
|
+
*
|
|
810
|
+
* Focuses the first TreeList cell by default.
|
|
811
|
+
*/
|
|
812
|
+
focusLastActiveItem() {
|
|
813
|
+
if (this.metadata.data.length === 0 || (!this.treeListLastActive && !this.timelineLastActive)) {
|
|
814
|
+
this.focusCell(0, 0);
|
|
815
|
+
}
|
|
816
|
+
else if (this.treeListLastActive) {
|
|
817
|
+
const { rowIndex, colIndex } = this.activeTreeListCell;
|
|
818
|
+
this.metadata.treeList.focusCell(rowIndex, colIndex);
|
|
819
|
+
}
|
|
820
|
+
else if (this.timelineLastActive) {
|
|
821
|
+
this.focusTask(this.activeTimelineIndex);
|
|
822
|
+
}
|
|
823
|
+
}
|
|
824
|
+
/**
|
|
825
|
+
* Focuses the targeted TreeList cell regardless of the last peresisted target.
|
|
826
|
+
*/
|
|
827
|
+
focusCell(rowIndex, colIndex) {
|
|
828
|
+
this.activeTreeListCell = { rowIndex, colIndex };
|
|
829
|
+
this.activeTimelineIndex = rowIndex - this.treeListHeaderRowsCount;
|
|
830
|
+
this.metadata.treeList.focusCell(this.activeTreeListCell.rowIndex, this.activeTreeListCell.colIndex);
|
|
831
|
+
}
|
|
832
|
+
/**
|
|
833
|
+
* Focuses the targeted Timeline task regardless of the last peresisted target.
|
|
834
|
+
*/
|
|
835
|
+
focusTask(index) {
|
|
836
|
+
this.activeTimelineIndex = index;
|
|
837
|
+
this.isTimelineFocused = true;
|
|
838
|
+
this.activeTreeListCell = {
|
|
839
|
+
rowIndex: index + this.treeListHeaderRowsCount,
|
|
840
|
+
colIndex: this.activeTreeListCell.colIndex
|
|
841
|
+
};
|
|
842
|
+
this.notifyTaskStatusChange();
|
|
843
|
+
}
|
|
844
|
+
/**
|
|
845
|
+
* Updates the focus target flags and notifies the active task to update its focused state.
|
|
846
|
+
*/
|
|
847
|
+
handleTimelineFocusIn({ target }) {
|
|
848
|
+
this.treeListLastActive = false;
|
|
849
|
+
this.timelineLastActive = true;
|
|
850
|
+
this.isTimelineFocused = true;
|
|
851
|
+
if (isTask(target, this.metadata.timelineElement)) {
|
|
852
|
+
this.notifyTaskStatusChange();
|
|
853
|
+
}
|
|
854
|
+
}
|
|
855
|
+
/**
|
|
856
|
+
* Updates the timeline focus state flag and notifies the active task to update its focused state.
|
|
857
|
+
*/
|
|
858
|
+
handleTimelineFocusOut({ relatedTarget }) {
|
|
859
|
+
this.isTimelineFocused = this.metadata.timelineElement.contains(relatedTarget);
|
|
860
|
+
// update the task element only if the new focus target is not in the Timeline - focus change between tasks is handled in the focusin handler
|
|
861
|
+
if (!isTask(relatedTarget, this.metadata.timelineElement)) {
|
|
862
|
+
this.notifyTaskStatusChange();
|
|
863
|
+
}
|
|
864
|
+
}
|
|
865
|
+
/**
|
|
866
|
+
* Updates the focus target flags and corrects the TreeList focus target if needed.
|
|
867
|
+
* As the TreeList will keep its last focused cell with tabindex="0",
|
|
868
|
+
* this methods forcefully focuses the correct cell,
|
|
869
|
+
* when navigating in the Timeline has updated the expected TreeList focus target.
|
|
870
|
+
*/
|
|
871
|
+
handleTreeListFocusIn(event) {
|
|
872
|
+
this.treeListLastActive = true;
|
|
873
|
+
this.timelineLastActive = false;
|
|
874
|
+
// if the previous focus target was in the TreeList, rely on its component navigation and just record the focused item index
|
|
875
|
+
if (this.metadata.treeListElement.contains(event.relatedTarget)) {
|
|
876
|
+
const { colIndex, rowIndex } = this.metadata.treeList.activeCell;
|
|
877
|
+
this.activeTreeListCell = { colIndex, rowIndex };
|
|
878
|
+
}
|
|
879
|
+
else {
|
|
880
|
+
// if the previous focus target was outside the TreeList, ensure the expected focus coords are used
|
|
881
|
+
const { rowIndex, colIndex } = this.activeTreeListCell;
|
|
882
|
+
this.metadata.treeList.focusCell(rowIndex, colIndex); // activates the target cell even if it has tabindex="-1"
|
|
883
|
+
}
|
|
884
|
+
this.activeTimelineIndex = this.metadata.treeList.activeCell.dataRowIndex;
|
|
885
|
+
this.notifyTaskStatusChange();
|
|
886
|
+
if (this.metadata.treeList.activeCell.dataRowIndex >= 0) {
|
|
887
|
+
this.scrollHorizontallyToTask();
|
|
888
|
+
this.scrollSyncService.syncScrollTop('treelist', 'timeline');
|
|
889
|
+
}
|
|
890
|
+
}
|
|
891
|
+
updateActiveTimeLineIndex(index) {
|
|
892
|
+
this.activeTimelineIndex = index;
|
|
893
|
+
}
|
|
894
|
+
updateActiveTreeListCell() {
|
|
895
|
+
this.activeTreeListCell = {
|
|
896
|
+
rowIndex: this.activeTimelineIndex + this.treeListHeaderRowsCount,
|
|
897
|
+
colIndex: this.activeTreeListCell.colIndex
|
|
898
|
+
};
|
|
899
|
+
}
|
|
900
|
+
/**
|
|
901
|
+
* Fires the `taskStatusChanges` event with active and focused status retrieved from
|
|
902
|
+
* `this.activeTimelineIndex` and `this.isTimelineFocused`.
|
|
903
|
+
*/
|
|
904
|
+
notifyTaskStatusChange() {
|
|
905
|
+
this.taskStatusChanges.next(this.activeTask);
|
|
906
|
+
}
|
|
907
|
+
/**
|
|
908
|
+
* Scrolls horizontally to the beginning of the target task if the beginning of its content is not in the viewport.
|
|
909
|
+
*/
|
|
910
|
+
scrollHorizontallyToTask() {
|
|
911
|
+
const index = this.activeTimelineIndex;
|
|
912
|
+
const task = this.metadata.timelineElement.querySelectorAll('.k-task-wrap').item(index);
|
|
913
|
+
if (!isPresent(task)) {
|
|
914
|
+
return;
|
|
915
|
+
}
|
|
916
|
+
// scroll horizontally to the item if less than 200px from the beginning of its content are visible
|
|
917
|
+
const targetVisibleWidth = 200;
|
|
918
|
+
const isScrollBeforeTask = (this.metadata.timelineElement.clientWidth + this.metadata.timelineElement.scrollLeft) < (task.offsetLeft + targetVisibleWidth);
|
|
919
|
+
const isScrollAfterTask = this.metadata.timelineElement.scrollLeft > task.offsetLeft;
|
|
920
|
+
if (isScrollBeforeTask || isScrollAfterTask) {
|
|
921
|
+
this.metadata.timelineElement.scrollLeft = task.offsetLeft;
|
|
922
|
+
}
|
|
923
|
+
}
|
|
924
|
+
/**
|
|
925
|
+
* Filters for task mousedown in the Timeline.
|
|
926
|
+
*/
|
|
927
|
+
handleTimelineMousedown({ target }) {
|
|
928
|
+
if (isTask(target, this.metadata.host) && !isClearButton(target, this.metadata.host)) {
|
|
929
|
+
const taskIndex = getClosestTaskIndex(target, this.metadata.host);
|
|
930
|
+
this.focusTask(taskIndex);
|
|
931
|
+
}
|
|
932
|
+
}
|
|
933
|
+
/**
|
|
934
|
+
* Focus the TreeList on TreeList mousedown.
|
|
935
|
+
* A nasty hack to trick `handleTreeListFocusIn` into regarding the previous focus target as again the TreeList.
|
|
936
|
+
* Otherwise cell clicks are wrongly overwritten in `handleTreeListFocusIn` and the click focus target is not respected.
|
|
937
|
+
*/
|
|
938
|
+
focusTreeList() {
|
|
939
|
+
this.metadata.treeList.focus();
|
|
940
|
+
}
|
|
941
|
+
}
|
|
942
|
+
NavigationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NavigationService, deps: [{ token: i0.NgZone }, { token: i0.Renderer2 }, { token: ScrollSyncService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
943
|
+
NavigationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NavigationService });
|
|
944
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NavigationService, decorators: [{
|
|
945
|
+
type: Injectable
|
|
946
|
+
}], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i0.Renderer2 }, { type: ScrollSyncService }]; } });
|
|
947
|
+
|
|
948
|
+
/**
|
|
949
|
+
* @hidden
|
|
950
|
+
*/
|
|
951
|
+
const TOUCH_ENABLED = new InjectionToken('gantt-touch-enabled');
|
|
952
|
+
|
|
953
|
+
/**
|
|
954
|
+
* @hidden
|
|
955
|
+
*/
|
|
956
|
+
class OptionChangesService {
|
|
957
|
+
constructor() {
|
|
958
|
+
this.viewChanges = new EventEmitter();
|
|
959
|
+
this.columnChanges = new EventEmitter();
|
|
960
|
+
}
|
|
961
|
+
notifyColumnChanges() {
|
|
962
|
+
this.columnChanges.emit();
|
|
963
|
+
}
|
|
964
|
+
notifyViewChanges() {
|
|
965
|
+
this.viewChanges.emit();
|
|
966
|
+
}
|
|
967
|
+
}
|
|
968
|
+
OptionChangesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: OptionChangesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
969
|
+
OptionChangesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: OptionChangesService });
|
|
970
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: OptionChangesService, decorators: [{
|
|
971
|
+
type: Injectable
|
|
972
|
+
}] });
|
|
973
|
+
|
|
974
|
+
/**
|
|
975
|
+
* @hidden
|
|
976
|
+
*/
|
|
977
|
+
const DAY_FORMAT = 'E d/MM';
|
|
978
|
+
/**
|
|
979
|
+
* @hidden
|
|
980
|
+
*/
|
|
981
|
+
const HOUR_FORMAT = 'HH:mm aa';
|
|
982
|
+
/**
|
|
983
|
+
* @hidden
|
|
984
|
+
*/
|
|
985
|
+
const MONTH_FORMAT = 'MMM';
|
|
986
|
+
/**
|
|
987
|
+
* @hidden
|
|
988
|
+
*/
|
|
989
|
+
class TimelineBaseViewService {
|
|
990
|
+
constructor(intlService, mapper) {
|
|
991
|
+
this.intlService = intlService;
|
|
992
|
+
this.mapper = mapper;
|
|
993
|
+
this._viewStart = 0;
|
|
994
|
+
}
|
|
995
|
+
get viewStart() {
|
|
996
|
+
return this._viewStart;
|
|
997
|
+
}
|
|
998
|
+
/**
|
|
999
|
+
*
|
|
1000
|
+
* @param tasks - The tasks which are going to be rendered in the table
|
|
1001
|
+
* @returns {Object} - An object containing the range start and end dates
|
|
1002
|
+
*/
|
|
1003
|
+
getRange(tasks) {
|
|
1004
|
+
if (!tasks || !tasks.length) {
|
|
1005
|
+
return { start: new Date(), end: new Date() };
|
|
728
1006
|
}
|
|
729
1007
|
const startResult = orderBy(tasks, [{ field: this.mapper.taskFields.start, dir: 'asc' }]);
|
|
730
1008
|
const endResult = orderBy(tasks, [{ field: this.mapper.taskFields.end, dir: 'desc' }]);
|
|
@@ -746,10 +1024,10 @@ class TimelineBaseViewService {
|
|
|
746
1024
|
*/
|
|
747
1025
|
getHours(start, end) {
|
|
748
1026
|
const slots = [];
|
|
749
|
-
|
|
750
|
-
|
|
1027
|
+
const workDayStart = this.intlService.parseDate(this.options.workDayStart).getHours();
|
|
1028
|
+
const workDayEnd = this.intlService.parseDate(this.options.workDayEnd).getHours();
|
|
751
1029
|
// TODO: retrieve from option?
|
|
752
|
-
|
|
1030
|
+
const hourSpan = 1;
|
|
753
1031
|
let startDate = new Date(start);
|
|
754
1032
|
const endDate = new Date(end);
|
|
755
1033
|
while (startDate < endDate) {
|
|
@@ -777,13 +1055,13 @@ class TimelineBaseViewService {
|
|
|
777
1055
|
getDays(start, end) {
|
|
778
1056
|
const slots = [];
|
|
779
1057
|
let startDay = new Date(start);
|
|
780
|
-
|
|
1058
|
+
const endDay = new Date(end);
|
|
781
1059
|
while (startDay <= endDay) {
|
|
782
1060
|
// Get the days with cleared time values (except for start and end day)
|
|
783
1061
|
const nextDay = getDate(addDays(startDay, 1));
|
|
784
1062
|
const isWorking = isWorkDay(startDay, this.options.workWeekStart, this.options.workWeekEnd);
|
|
785
1063
|
// Need to get the end date with correct hours (important for day view)
|
|
786
|
-
|
|
1064
|
+
const slotEnd = endDay < nextDay ? endDay : nextDay;
|
|
787
1065
|
slots.push({
|
|
788
1066
|
start: startDay,
|
|
789
1067
|
end: slotEnd,
|
|
@@ -800,7 +1078,7 @@ class TimelineBaseViewService {
|
|
|
800
1078
|
const weekStart = this.intlService.firstDay();
|
|
801
1079
|
const slots = [];
|
|
802
1080
|
let startDay = new Date(start);
|
|
803
|
-
|
|
1081
|
+
const endDay = new Date(end);
|
|
804
1082
|
while (startDay <= endDay) {
|
|
805
1083
|
const lastWeekDay = lastDayOfWeek(startDay, weekStart);
|
|
806
1084
|
const slotEnd = lastWeekDay > endDay ? endDay : lastWeekDay;
|
|
@@ -824,10 +1102,10 @@ class TimelineBaseViewService {
|
|
|
824
1102
|
getMonths(start, end, isMainViewType) {
|
|
825
1103
|
const slots = [];
|
|
826
1104
|
let startDay = new Date(start);
|
|
827
|
-
|
|
1105
|
+
const endDay = new Date(end);
|
|
828
1106
|
while (startDay < endDay) {
|
|
829
1107
|
const endMonth = lastDayOfMonth(startDay);
|
|
830
|
-
|
|
1108
|
+
const slotEnd = endDay < endMonth ? endDay : endMonth;
|
|
831
1109
|
const daySlots = this.getDays(startDay, slotEnd);
|
|
832
1110
|
const weekSlots = this.getWeeks(startDay, slotEnd);
|
|
833
1111
|
const span = isMainViewType ? daySlots.length : weekSlots.length;
|
|
@@ -849,157 +1127,45 @@ class TimelineBaseViewService {
|
|
|
849
1127
|
getYears(start, end) {
|
|
850
1128
|
const slots = [];
|
|
851
1129
|
let startDay = new Date(start);
|
|
852
|
-
|
|
1130
|
+
const endDay = new Date(end);
|
|
853
1131
|
while (startDay < endDay) {
|
|
854
1132
|
const yearEnd = lastDayOfMonth(lastMonthOfYear(startDay));
|
|
855
1133
|
const slotEnd = endDay < yearEnd ? endDay : yearEnd;
|
|
856
1134
|
const monthSlots = this.getMonths(startDay, slotEnd);
|
|
857
|
-
const span = monthSlots.length;
|
|
858
|
-
if (span > 0) {
|
|
859
|
-
slots.push({
|
|
860
|
-
start: monthSlots[0].start,
|
|
861
|
-
end: monthSlots[span - 1].end,
|
|
862
|
-
span: span,
|
|
863
|
-
text: slotEnd.getFullYear(),
|
|
864
|
-
slotWidth: this.options.slotWidth
|
|
865
|
-
});
|
|
866
|
-
}
|
|
867
|
-
startDay = addDays(slotEnd, 1);
|
|
868
|
-
}
|
|
869
|
-
return slots;
|
|
870
|
-
}
|
|
871
|
-
}
|
|
872
|
-
|
|
873
|
-
/**
|
|
874
|
-
* @hidden
|
|
875
|
-
*/
|
|
876
|
-
class TimelineDayViewService extends TimelineBaseViewService {
|
|
877
|
-
constructor(intlService, mapper) {
|
|
878
|
-
super(intlService, mapper);
|
|
879
|
-
}
|
|
880
|
-
/**
|
|
881
|
-
* Gets a date an hour before the first task start with minutes, seconds, milliseconds cleared.
|
|
882
|
-
*/
|
|
883
|
-
getStartOffset(rangeStart) {
|
|
884
|
-
return setTime(rangeStart, rangeStart.getHours() - 1);
|
|
885
|
-
}
|
|
886
|
-
/**
|
|
887
|
-
* Gets a date an hour after the last task end with minutes, seconds, milliseconds cleared.
|
|
888
|
-
*/
|
|
889
|
-
getEndOffset(rangeEnd) {
|
|
890
|
-
return setTime(rangeEnd, rangeEnd.getHours() + 1);
|
|
891
|
-
}
|
|
892
|
-
/**
|
|
893
|
-
*
|
|
894
|
-
* @param tasks - The tasks which are going to be rendered in the table
|
|
895
|
-
* @returns {number}
|
|
896
|
-
*/
|
|
897
|
-
getTableWidth(tasks) {
|
|
898
|
-
const timeSlots = this.getSlots(tasks)[1];
|
|
899
|
-
const slotWidth = this.options.slotWidth;
|
|
900
|
-
return Math.round(timeSlots.length * slotWidth);
|
|
901
|
-
}
|
|
902
|
-
/**
|
|
903
|
-
*
|
|
904
|
-
* @param tasks - The tasks which are going to be rendered in the table
|
|
905
|
-
* @returns {Array<Object>} - A collection containing the day and hours slots
|
|
906
|
-
* Used to render the number of columns and the header
|
|
907
|
-
*/
|
|
908
|
-
getSlots(tasks) {
|
|
909
|
-
// will return the header rows slots
|
|
910
|
-
let slots = [];
|
|
911
|
-
let { start, end } = this.getRange(tasks);
|
|
912
|
-
const daySlots = this.getDays(start, end);
|
|
913
|
-
const hourSlots = [];
|
|
914
|
-
for (let i = 0; i < daySlots.length; i++) {
|
|
915
|
-
const daySlot = daySlots[i];
|
|
916
|
-
const hours = this.getHours(daySlot.start, daySlot.end);
|
|
917
|
-
daySlot.span = hours.length;
|
|
918
|
-
hourSlots.push(...hours);
|
|
919
|
-
}
|
|
920
|
-
slots.push(daySlots, hourSlots);
|
|
921
|
-
return slots;
|
|
922
|
-
}
|
|
923
|
-
}
|
|
924
|
-
TimelineDayViewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimelineDayViewService, deps: [{ token: i1.IntlService }, { token: MappingService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
925
|
-
TimelineDayViewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimelineDayViewService });
|
|
926
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimelineDayViewService, decorators: [{
|
|
927
|
-
type: Injectable
|
|
928
|
-
}], ctorParameters: function () { return [{ type: i1.IntlService }, { type: MappingService }]; } });
|
|
929
|
-
|
|
930
|
-
/**
|
|
931
|
-
* @hidden
|
|
932
|
-
*/
|
|
933
|
-
class TimelineMonthViewService extends TimelineBaseViewService {
|
|
934
|
-
constructor(intlService, mapper) {
|
|
935
|
-
super(intlService, mapper);
|
|
936
|
-
}
|
|
937
|
-
/**
|
|
938
|
-
* Gets a week before the first week in which a task starts.
|
|
939
|
-
*/
|
|
940
|
-
getStartOffset(rangeStart) {
|
|
941
|
-
const weekStart = this.intlService.firstDay();
|
|
942
|
-
const firstDay = firstDayInWeek(getDate(rangeStart), weekStart);
|
|
943
|
-
return addWeeks(getDate(firstDay), -1);
|
|
944
|
-
}
|
|
945
|
-
/**
|
|
946
|
-
* Gets a week after the last week in which a task ends.
|
|
947
|
-
*/
|
|
948
|
-
getEndOffset(rangeEnd) {
|
|
949
|
-
const weekStart = this.intlService.firstDay();
|
|
950
|
-
const lastDay = addDays(firstDayInWeek(getDate(rangeEnd), weekStart), 6);
|
|
951
|
-
return addWeeks(getDate(lastDay), 1);
|
|
952
|
-
}
|
|
953
|
-
/**
|
|
954
|
-
*
|
|
955
|
-
* @param tasks - The tasks which are going to be rendered in the table
|
|
956
|
-
* @returns {number}
|
|
957
|
-
*/
|
|
958
|
-
getTableWidth(tasks) {
|
|
959
|
-
const timeSlots = this.getSlots(tasks)[1];
|
|
960
|
-
const slotWidth = this.options.slotWidth;
|
|
961
|
-
return Math.round(timeSlots.length * slotWidth);
|
|
962
|
-
}
|
|
963
|
-
/**
|
|
964
|
-
*
|
|
965
|
-
* @param tasks - The tasks which are going to be rendered in the table
|
|
966
|
-
* @returns {Array<Object>} - A collection containing the months and weeks slots
|
|
967
|
-
* Used to render the number of columns and the header
|
|
968
|
-
*/
|
|
969
|
-
getSlots(tasks) {
|
|
970
|
-
// will return the header rows slots
|
|
971
|
-
let slots = [];
|
|
972
|
-
let { start, end } = this.getRange(tasks);
|
|
973
|
-
const months = this.getMonths(start, end, true);
|
|
974
|
-
const weeks = this.getWeeks(start, end);
|
|
975
|
-
slots.push(months, weeks);
|
|
1135
|
+
const span = monthSlots.length;
|
|
1136
|
+
if (span > 0) {
|
|
1137
|
+
slots.push({
|
|
1138
|
+
start: monthSlots[0].start,
|
|
1139
|
+
end: monthSlots[span - 1].end,
|
|
1140
|
+
span: span,
|
|
1141
|
+
text: slotEnd.getFullYear(),
|
|
1142
|
+
slotWidth: this.options.slotWidth
|
|
1143
|
+
});
|
|
1144
|
+
}
|
|
1145
|
+
startDay = addDays(slotEnd, 1);
|
|
1146
|
+
}
|
|
976
1147
|
return slots;
|
|
977
1148
|
}
|
|
978
1149
|
}
|
|
979
|
-
TimelineMonthViewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimelineMonthViewService, deps: [{ token: i1.IntlService }, { token: MappingService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
980
|
-
TimelineMonthViewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimelineMonthViewService });
|
|
981
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimelineMonthViewService, decorators: [{
|
|
982
|
-
type: Injectable
|
|
983
|
-
}], ctorParameters: function () { return [{ type: i1.IntlService }, { type: MappingService }]; } });
|
|
984
1150
|
|
|
985
1151
|
/**
|
|
986
1152
|
* @hidden
|
|
987
1153
|
*/
|
|
988
|
-
class
|
|
1154
|
+
class TimelineDayViewService extends TimelineBaseViewService {
|
|
989
1155
|
constructor(intlService, mapper) {
|
|
990
1156
|
super(intlService, mapper);
|
|
991
1157
|
}
|
|
992
1158
|
/**
|
|
993
|
-
* Gets a date
|
|
1159
|
+
* Gets a date an hour before the first task start with minutes, seconds, milliseconds cleared.
|
|
994
1160
|
*/
|
|
995
1161
|
getStartOffset(rangeStart) {
|
|
996
|
-
return
|
|
1162
|
+
return setTime(rangeStart, rangeStart.getHours() - 1);
|
|
997
1163
|
}
|
|
998
1164
|
/**
|
|
999
|
-
* Gets a date
|
|
1165
|
+
* Gets a date an hour after the last task end with minutes, seconds, milliseconds cleared.
|
|
1000
1166
|
*/
|
|
1001
1167
|
getEndOffset(rangeEnd) {
|
|
1002
|
-
return
|
|
1168
|
+
return setTime(rangeEnd, rangeEnd.getHours() + 1);
|
|
1003
1169
|
}
|
|
1004
1170
|
/**
|
|
1005
1171
|
*
|
|
@@ -1019,371 +1185,205 @@ class TimelineWeekViewService extends TimelineBaseViewService {
|
|
|
1019
1185
|
*/
|
|
1020
1186
|
getSlots(tasks) {
|
|
1021
1187
|
// will return the header rows slots
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
const
|
|
1025
|
-
const
|
|
1026
|
-
|
|
1188
|
+
const slots = [];
|
|
1189
|
+
const { start, end } = this.getRange(tasks);
|
|
1190
|
+
const daySlots = this.getDays(start, end);
|
|
1191
|
+
const hourSlots = [];
|
|
1192
|
+
for (let i = 0; i < daySlots.length; i++) {
|
|
1193
|
+
const daySlot = daySlots[i];
|
|
1194
|
+
const hours = this.getHours(daySlot.start, daySlot.end);
|
|
1195
|
+
daySlot.span = hours.length;
|
|
1196
|
+
hourSlots.push(...hours);
|
|
1197
|
+
}
|
|
1198
|
+
slots.push(daySlots, hourSlots);
|
|
1027
1199
|
return slots;
|
|
1028
1200
|
}
|
|
1029
1201
|
}
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1202
|
+
TimelineDayViewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineDayViewService, deps: [{ token: i1.IntlService }, { token: MappingService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1203
|
+
TimelineDayViewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineDayViewService });
|
|
1204
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineDayViewService, decorators: [{
|
|
1033
1205
|
type: Injectable
|
|
1034
1206
|
}], ctorParameters: function () { return [{ type: i1.IntlService }, { type: MappingService }]; } });
|
|
1035
1207
|
|
|
1036
1208
|
/**
|
|
1037
1209
|
* @hidden
|
|
1038
1210
|
*/
|
|
1039
|
-
class
|
|
1211
|
+
class TimelineMonthViewService extends TimelineBaseViewService {
|
|
1040
1212
|
constructor(intlService, mapper) {
|
|
1041
1213
|
super(intlService, mapper);
|
|
1042
1214
|
}
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
return Math.round(timeSlots.length * slotWidth);
|
|
1047
|
-
}
|
|
1215
|
+
/**
|
|
1216
|
+
* Gets a week before the first week in which a task starts.
|
|
1217
|
+
*/
|
|
1048
1218
|
getStartOffset(rangeStart) {
|
|
1049
|
-
const
|
|
1050
|
-
|
|
1219
|
+
const weekStart = this.intlService.firstDay();
|
|
1220
|
+
const firstDay = firstDayInWeek(getDate(rangeStart), weekStart);
|
|
1221
|
+
return addWeeks(getDate(firstDay), -1);
|
|
1051
1222
|
}
|
|
1052
1223
|
/**
|
|
1053
|
-
*
|
|
1224
|
+
* Gets a week after the last week in which a task ends.
|
|
1054
1225
|
*/
|
|
1055
1226
|
getEndOffset(rangeEnd) {
|
|
1056
|
-
const
|
|
1057
|
-
|
|
1227
|
+
const weekStart = this.intlService.firstDay();
|
|
1228
|
+
const lastDay = addDays(firstDayInWeek(getDate(rangeEnd), weekStart), 6);
|
|
1229
|
+
return addWeeks(getDate(lastDay), 1);
|
|
1058
1230
|
}
|
|
1059
1231
|
/**
|
|
1060
1232
|
*
|
|
1061
1233
|
* @param tasks - The tasks which are going to be rendered in the table
|
|
1062
|
-
* @returns {
|
|
1234
|
+
* @returns {number}
|
|
1235
|
+
*/
|
|
1236
|
+
getTableWidth(tasks) {
|
|
1237
|
+
const timeSlots = this.getSlots(tasks)[1];
|
|
1238
|
+
const slotWidth = this.options.slotWidth;
|
|
1239
|
+
return Math.round(timeSlots.length * slotWidth);
|
|
1240
|
+
}
|
|
1241
|
+
/**
|
|
1063
1242
|
*
|
|
1243
|
+
* @param tasks - The tasks which are going to be rendered in the table
|
|
1244
|
+
* @returns {Array<Object>} - A collection containing the months and weeks slots
|
|
1064
1245
|
* Used to render the number of columns and the header
|
|
1065
1246
|
*/
|
|
1066
1247
|
getSlots(tasks) {
|
|
1067
1248
|
// will return the header rows slots
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
const
|
|
1071
|
-
const
|
|
1072
|
-
slots.push(
|
|
1249
|
+
const slots = [];
|
|
1250
|
+
const { start, end } = this.getRange(tasks);
|
|
1251
|
+
const months = this.getMonths(start, end, true);
|
|
1252
|
+
const weeks = this.getWeeks(start, end);
|
|
1253
|
+
slots.push(months, weeks);
|
|
1073
1254
|
return slots;
|
|
1074
1255
|
}
|
|
1075
|
-
}
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1079
|
-
type: Injectable
|
|
1080
|
-
}], ctorParameters: function () { return [{ type: i1.IntlService }, { type: MappingService }]; } });
|
|
1081
|
-
|
|
1082
|
-
/**
|
|
1083
|
-
* @hidden
|
|
1084
|
-
*/
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
month: TimelineMonthViewService,
|
|
1089
|
-
year: TimeLineYearViewService
|
|
1090
|
-
};
|
|
1091
|
-
/**
|
|
1092
|
-
* @hidden
|
|
1093
|
-
*/
|
|
1094
|
-
class TimelineViewService {
|
|
1095
|
-
constructor(injector) {
|
|
1096
|
-
this.injector = injector;
|
|
1097
|
-
this.viewChange = new EventEmitter();
|
|
1098
|
-
}
|
|
1099
|
-
service(view) {
|
|
1100
|
-
const serviceType = services[view];
|
|
1101
|
-
return serviceType ? this.injector.get(serviceType) : null;
|
|
1102
|
-
}
|
|
1103
|
-
}
|
|
1104
|
-
TimelineViewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimelineViewService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1105
|
-
TimelineViewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimelineViewService });
|
|
1106
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimelineViewService, decorators: [{
|
|
1107
|
-
type: Injectable
|
|
1108
|
-
}], ctorParameters: function () { return [{ type: i0.Injector }]; } });
|
|
1109
|
-
|
|
1110
|
-
/**
|
|
1111
|
-
* @hidden
|
|
1112
|
-
*/
|
|
1113
|
-
class OptionChangesService {
|
|
1114
|
-
constructor() {
|
|
1115
|
-
this.viewChanges = new EventEmitter();
|
|
1116
|
-
this.columnChanges = new EventEmitter();
|
|
1117
|
-
}
|
|
1118
|
-
notifyColumnChanges() {
|
|
1119
|
-
this.columnChanges.emit();
|
|
1120
|
-
}
|
|
1121
|
-
notifyViewChanges() {
|
|
1122
|
-
this.viewChanges.emit();
|
|
1123
|
-
}
|
|
1124
|
-
}
|
|
1125
|
-
OptionChangesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: OptionChangesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1126
|
-
OptionChangesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: OptionChangesService });
|
|
1127
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: OptionChangesService, decorators: [{
|
|
1128
|
-
type: Injectable
|
|
1129
|
-
}] });
|
|
1130
|
-
|
|
1131
|
-
/**
|
|
1132
|
-
* @hidden
|
|
1133
|
-
*/
|
|
1134
|
-
class NavigationService {
|
|
1135
|
-
constructor(zone, renderer, scrollSyncService) {
|
|
1136
|
-
this.zone = zone;
|
|
1137
|
-
this.renderer = renderer;
|
|
1138
|
-
this.scrollSyncService = scrollSyncService;
|
|
1139
|
-
/**
|
|
1140
|
-
* Notifies when the tasks' focused and interactive (tabindex) state has changed.
|
|
1141
|
-
*
|
|
1142
|
-
* All tasks are rendered with tabindex="-1".
|
|
1143
|
-
* When one is clicked, or when some navigation key keyboard key is pressed, it should be focused, assigned the focus class, and its tabindex updated to 0.
|
|
1144
|
-
* All other tasks should get -1 tabindex and have the focus class removed from them.
|
|
1145
|
-
*/
|
|
1146
|
-
this.taskStatusChanges = new Subject();
|
|
1147
|
-
/**
|
|
1148
|
-
* Keeps track of whether the Timeline part is focused.
|
|
1149
|
-
* Used when the index of the task elements change (tasks are changed, pushed to, spliced from, etc.)
|
|
1150
|
-
* and their status should be updated accordingly.
|
|
1151
|
-
*/
|
|
1152
|
-
this.isTimelineFocused = false;
|
|
1153
|
-
/**
|
|
1154
|
-
* Keeps track of which part has last been focused.
|
|
1155
|
-
* Used when calling `gantt.focus()` to determine which part of the component should receive focus.
|
|
1156
|
-
*/
|
|
1157
|
-
this.treeListLastActive = false;
|
|
1158
|
-
/**
|
|
1159
|
-
* Keeps track of which part has last been focused.
|
|
1160
|
-
* Used when calling `gantt.focus()` to determine which part of the component should receive focus.
|
|
1161
|
-
*/
|
|
1162
|
-
this.timelineLastActive = false;
|
|
1163
|
-
this._enabled = false;
|
|
1164
|
-
this._activeTimelineIndex = 0;
|
|
1165
|
-
this._activeTreeListCell = { rowIndex: 0, colIndex: 0 };
|
|
1166
|
-
}
|
|
1167
|
-
/**
|
|
1168
|
-
* Specifies whether navigation is enabled.
|
|
1169
|
-
*/
|
|
1170
|
-
get enabled() {
|
|
1171
|
-
return this._enabled;
|
|
1172
|
-
}
|
|
1173
|
-
/**
|
|
1174
|
-
* Used to retrieve read-only data about the currently active task.
|
|
1175
|
-
*/
|
|
1176
|
-
get activeTask() {
|
|
1177
|
-
return {
|
|
1178
|
-
activeIndex: this.activeTimelineIndex,
|
|
1179
|
-
isFocused: this.isTimelineFocused
|
|
1180
|
-
};
|
|
1181
|
-
}
|
|
1182
|
-
/**
|
|
1183
|
-
* Persists the expected Timeline focused task index.
|
|
1184
|
-
* When the cells in the TreeList are navigated through, the expected Timeline focus target should also change,
|
|
1185
|
-
* in order to allow tabbing from the TreeList to the same row in the Timeline.
|
|
1186
|
-
*/
|
|
1187
|
-
set activeTimelineIndex(index) {
|
|
1188
|
-
this._activeTimelineIndex = index;
|
|
1189
|
-
}
|
|
1190
|
-
get activeTimelineIndex() {
|
|
1191
|
-
const firstAvailableIndex = 0;
|
|
1192
|
-
const lastAvailableIndex = this.metadata.treeList.view.data.length - 1;
|
|
1193
|
-
return fitToRange(this._activeTimelineIndex, firstAvailableIndex, lastAvailableIndex);
|
|
1194
|
-
}
|
|
1195
|
-
/**
|
|
1196
|
-
* Persists the expected TreeList focused cell coords.
|
|
1197
|
-
* When the tasks in the Timeline are navigated through, the expected TreeList focus target should also change,
|
|
1198
|
-
* in order to allow back-tabbing from the Timeline to the same row in the TreeList.
|
|
1199
|
-
*/
|
|
1200
|
-
set activeTreeListCell(cell) {
|
|
1201
|
-
this._activeTreeListCell = cell;
|
|
1202
|
-
}
|
|
1203
|
-
get activeTreeListCell() {
|
|
1204
|
-
const firstAvailableIndex = 0;
|
|
1205
|
-
const lastAvailableRowIndex = this.treeListHeaderRowsCount + this.metadata.treeList.view.data.length - 1;
|
|
1206
|
-
const rowIndex = fitToRange(this._activeTreeListCell.rowIndex, firstAvailableIndex, lastAvailableRowIndex);
|
|
1207
|
-
const lastAvailableColIndex = this.metadata.columns.length;
|
|
1208
|
-
const colIndex = fitToRange(this._activeTreeListCell.colIndex, firstAvailableIndex, lastAvailableColIndex);
|
|
1209
|
-
return { rowIndex, colIndex };
|
|
1210
|
-
}
|
|
1211
|
-
/**
|
|
1212
|
-
* The TreeList row index takes into account the header and filter rows.
|
|
1213
|
-
* Used when translating Timeline task indices to TreeList row indices.
|
|
1214
|
-
*/
|
|
1215
|
-
get treeListHeaderRowsCount() {
|
|
1216
|
-
// captures nested group header rows + filter row if we start supporting it at some point
|
|
1217
|
-
return this.metadata.treeListElement.querySelectorAll('.k-grid-header tr').length;
|
|
1218
|
-
}
|
|
1219
|
-
initialize(metadata) {
|
|
1220
|
-
// no private property setters in TypeScript, so use a getter and a poorly named private prop for this value
|
|
1221
|
-
this._enabled = true;
|
|
1222
|
-
this.metadata = metadata;
|
|
1223
|
-
// TODO: fix in the splitter package and remove
|
|
1224
|
-
// move the splitbar HTML element between the two panes to keep the visial tabbing order in tact
|
|
1225
|
-
const splitbar = this.metadata.host.querySelector('.k-splitbar');
|
|
1226
|
-
if (isPresent(splitbar) && isPresent(splitbar.previousElementSibling) && isPresent(splitbar.after)) {
|
|
1227
|
-
splitbar.after(splitbar.previousElementSibling);
|
|
1228
|
-
}
|
|
1229
|
-
this.zone.runOutsideAngular(() => {
|
|
1230
|
-
this.eventListenerDisposers = [
|
|
1231
|
-
this.renderer.listen(this.metadata.treeListElement, 'mousedown', this.focusTreeList.bind(this)),
|
|
1232
|
-
this.renderer.listen(this.metadata.treeListElement, 'focusin', this.handleTreeListFocusIn.bind(this)),
|
|
1233
|
-
this.renderer.listen(this.metadata.timelineElement, 'mousedown', this.handleTimelineMousedown.bind(this)),
|
|
1234
|
-
this.renderer.listen(this.metadata.timelineElement, 'focusin', this.handleTimelineFocusIn.bind(this)),
|
|
1235
|
-
this.renderer.listen(this.metadata.timelineElement, 'focusout', this.handleTimelineFocusOut.bind(this))
|
|
1236
|
-
];
|
|
1237
|
-
});
|
|
1238
|
-
}
|
|
1239
|
-
ngOnDestroy() {
|
|
1240
|
-
if (isPresent(this.eventListenerDisposers)) {
|
|
1241
|
-
this.eventListenerDisposers.forEach(removeListener => removeListener());
|
|
1242
|
-
this.eventListenerDisposers = null;
|
|
1243
|
-
}
|
|
1244
|
-
this.metadata = null;
|
|
1245
|
-
}
|
|
1246
|
-
/**
|
|
1247
|
-
* Focuses either the last active TreeList cell, or the last active Timeline task,
|
|
1248
|
-
* dependening on which of the two last held focus.
|
|
1249
|
-
*
|
|
1250
|
-
* Focuses the first TreeList cell by default.
|
|
1251
|
-
*/
|
|
1252
|
-
focusLastActiveItem() {
|
|
1253
|
-
if (this.metadata.data.length === 0 || (!this.treeListLastActive && !this.timelineLastActive)) {
|
|
1254
|
-
this.focusCell(0, 0);
|
|
1255
|
-
}
|
|
1256
|
-
else if (this.treeListLastActive) {
|
|
1257
|
-
const { rowIndex, colIndex } = this.activeTreeListCell;
|
|
1258
|
-
this.metadata.treeList.focusCell(rowIndex, colIndex);
|
|
1259
|
-
}
|
|
1260
|
-
else if (this.timelineLastActive) {
|
|
1261
|
-
this.focusTask(this.activeTimelineIndex);
|
|
1262
|
-
}
|
|
1256
|
+
}
|
|
1257
|
+
TimelineMonthViewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineMonthViewService, deps: [{ token: i1.IntlService }, { token: MappingService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1258
|
+
TimelineMonthViewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineMonthViewService });
|
|
1259
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineMonthViewService, decorators: [{
|
|
1260
|
+
type: Injectable
|
|
1261
|
+
}], ctorParameters: function () { return [{ type: i1.IntlService }, { type: MappingService }]; } });
|
|
1262
|
+
|
|
1263
|
+
/**
|
|
1264
|
+
* @hidden
|
|
1265
|
+
*/
|
|
1266
|
+
class TimelineWeekViewService extends TimelineBaseViewService {
|
|
1267
|
+
constructor(intlService, mapper) {
|
|
1268
|
+
super(intlService, mapper);
|
|
1263
1269
|
}
|
|
1264
1270
|
/**
|
|
1265
|
-
*
|
|
1271
|
+
* Gets a date a day before the first task start with hours, minutes, seconds, milliseconds cleared.
|
|
1266
1272
|
*/
|
|
1267
|
-
|
|
1268
|
-
|
|
1269
|
-
this.activeTimelineIndex = rowIndex - this.treeListHeaderRowsCount;
|
|
1270
|
-
this.metadata.treeList.focusCell(this.activeTreeListCell.rowIndex, this.activeTreeListCell.colIndex);
|
|
1273
|
+
getStartOffset(rangeStart) {
|
|
1274
|
+
return addDays(getDate(rangeStart), -1);
|
|
1271
1275
|
}
|
|
1272
1276
|
/**
|
|
1273
|
-
*
|
|
1277
|
+
* Gets a date a day after the last task start with hours, minutes, seconds, milliseconds cleared.
|
|
1274
1278
|
*/
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
this.isTimelineFocused = true;
|
|
1278
|
-
this.activeTreeListCell = {
|
|
1279
|
-
rowIndex: index + this.treeListHeaderRowsCount,
|
|
1280
|
-
colIndex: this.activeTreeListCell.colIndex
|
|
1281
|
-
};
|
|
1282
|
-
this.notifyTaskStatusChange();
|
|
1279
|
+
getEndOffset(rangeEnd) {
|
|
1280
|
+
return addDays(getDate(rangeEnd), 1);
|
|
1283
1281
|
}
|
|
1284
1282
|
/**
|
|
1285
|
-
*
|
|
1283
|
+
*
|
|
1284
|
+
* @param tasks - The tasks which are going to be rendered in the table
|
|
1285
|
+
* @returns {number}
|
|
1286
1286
|
*/
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
if (isTask(target, this.metadata.timelineElement)) {
|
|
1292
|
-
this.notifyTaskStatusChange();
|
|
1293
|
-
}
|
|
1287
|
+
getTableWidth(tasks) {
|
|
1288
|
+
const timeSlots = this.getSlots(tasks)[1];
|
|
1289
|
+
const slotWidth = this.options.slotWidth;
|
|
1290
|
+
return Math.round(timeSlots.length * slotWidth);
|
|
1294
1291
|
}
|
|
1295
1292
|
/**
|
|
1296
|
-
*
|
|
1293
|
+
*
|
|
1294
|
+
* @param tasks - The tasks which are going to be rendered in the table
|
|
1295
|
+
* @returns {Array<Object>} - A collection containing the day and hours slots
|
|
1296
|
+
* Used to render the number of columns and the header
|
|
1297
1297
|
*/
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
|
|
1298
|
+
getSlots(tasks) {
|
|
1299
|
+
// will return the header rows slots
|
|
1300
|
+
const slots = [];
|
|
1301
|
+
const { start, end } = this.getRange(tasks);
|
|
1302
|
+
const weeks = this.getWeeks(start, end);
|
|
1303
|
+
const days = this.getDays(start, end);
|
|
1304
|
+
slots.push(weeks, days);
|
|
1305
|
+
return slots;
|
|
1304
1306
|
}
|
|
1305
|
-
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
}
|
|
1319
|
-
else {
|
|
1320
|
-
// if the previous focus target was outside the TreeList, ensure the expected focus coords are used
|
|
1321
|
-
const { rowIndex, colIndex } = this.activeTreeListCell;
|
|
1322
|
-
this.metadata.treeList.focusCell(rowIndex, colIndex); // activates the target cell even if it has tabindex="-1"
|
|
1323
|
-
}
|
|
1324
|
-
this.activeTimelineIndex = this.metadata.treeList.activeCell.dataRowIndex;
|
|
1325
|
-
this.notifyTaskStatusChange();
|
|
1326
|
-
if (this.metadata.treeList.activeCell.dataRowIndex >= 0) {
|
|
1327
|
-
this.scrollHorizontallyToTask();
|
|
1328
|
-
this.scrollSyncService.syncScrollTop('treelist', 'timeline');
|
|
1329
|
-
}
|
|
1307
|
+
}
|
|
1308
|
+
TimelineWeekViewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineWeekViewService, deps: [{ token: i1.IntlService }, { token: MappingService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1309
|
+
TimelineWeekViewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineWeekViewService });
|
|
1310
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineWeekViewService, decorators: [{
|
|
1311
|
+
type: Injectable
|
|
1312
|
+
}], ctorParameters: function () { return [{ type: i1.IntlService }, { type: MappingService }]; } });
|
|
1313
|
+
|
|
1314
|
+
/**
|
|
1315
|
+
* @hidden
|
|
1316
|
+
*/
|
|
1317
|
+
class TimeLineYearViewService extends TimelineBaseViewService {
|
|
1318
|
+
constructor(intlService, mapper) {
|
|
1319
|
+
super(intlService, mapper);
|
|
1330
1320
|
}
|
|
1331
|
-
|
|
1332
|
-
|
|
1321
|
+
getTableWidth(tasks) {
|
|
1322
|
+
const timeSlots = this.getSlots(tasks)[1];
|
|
1323
|
+
const slotWidth = this.options.slotWidth;
|
|
1324
|
+
return Math.round(timeSlots.length * slotWidth);
|
|
1333
1325
|
}
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
|
|
1337
|
-
colIndex: this.activeTreeListCell.colIndex
|
|
1338
|
-
};
|
|
1326
|
+
getStartOffset(rangeStart) {
|
|
1327
|
+
const monthStart = firstDayOfMonth(rangeStart);
|
|
1328
|
+
return addMonths(getDate(monthStart), -1);
|
|
1339
1329
|
}
|
|
1340
1330
|
/**
|
|
1341
|
-
*
|
|
1342
|
-
* `this.activeTimelineIndex` and `this.isTimelineFocused`.
|
|
1331
|
+
*
|
|
1343
1332
|
*/
|
|
1344
|
-
|
|
1345
|
-
|
|
1333
|
+
getEndOffset(rangeEnd) {
|
|
1334
|
+
const monthEnd = lastDayOfMonth(rangeEnd);
|
|
1335
|
+
return addMonths(getDate(monthEnd), 1);
|
|
1346
1336
|
}
|
|
1347
1337
|
/**
|
|
1348
|
-
*
|
|
1338
|
+
*
|
|
1339
|
+
* @param tasks - The tasks which are going to be rendered in the table
|
|
1340
|
+
* @returns {Array<Object>} - A collection containing the years and months slots
|
|
1341
|
+
*
|
|
1342
|
+
* Used to render the number of columns and the header
|
|
1349
1343
|
*/
|
|
1350
|
-
|
|
1351
|
-
|
|
1352
|
-
const
|
|
1353
|
-
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
const isScrollBeforeTask = (this.metadata.timelineElement.clientWidth + this.metadata.timelineElement.scrollLeft) < (task.offsetLeft + targetVisibleWidth);
|
|
1359
|
-
const isScrollAfterTask = this.metadata.timelineElement.scrollLeft > task.offsetLeft;
|
|
1360
|
-
if (isScrollBeforeTask || isScrollAfterTask) {
|
|
1361
|
-
this.metadata.timelineElement.scrollLeft = task.offsetLeft;
|
|
1362
|
-
}
|
|
1344
|
+
getSlots(tasks) {
|
|
1345
|
+
// will return the header rows slots
|
|
1346
|
+
const slots = [];
|
|
1347
|
+
const { start, end } = this.getRange(tasks);
|
|
1348
|
+
const years = this.getYears(start, end);
|
|
1349
|
+
const months = this.getMonths(start, end);
|
|
1350
|
+
slots.push(years, months);
|
|
1351
|
+
return slots;
|
|
1363
1352
|
}
|
|
1364
|
-
|
|
1365
|
-
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
|
|
1369
|
-
|
|
1370
|
-
|
|
1371
|
-
|
|
1353
|
+
}
|
|
1354
|
+
TimeLineYearViewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimeLineYearViewService, deps: [{ token: i1.IntlService }, { token: MappingService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1355
|
+
TimeLineYearViewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimeLineYearViewService });
|
|
1356
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimeLineYearViewService, decorators: [{
|
|
1357
|
+
type: Injectable
|
|
1358
|
+
}], ctorParameters: function () { return [{ type: i1.IntlService }, { type: MappingService }]; } });
|
|
1359
|
+
|
|
1360
|
+
/**
|
|
1361
|
+
* @hidden
|
|
1362
|
+
*/
|
|
1363
|
+
const services = {
|
|
1364
|
+
day: TimelineDayViewService,
|
|
1365
|
+
week: TimelineWeekViewService,
|
|
1366
|
+
month: TimelineMonthViewService,
|
|
1367
|
+
year: TimeLineYearViewService
|
|
1368
|
+
};
|
|
1369
|
+
/**
|
|
1370
|
+
* @hidden
|
|
1371
|
+
*/
|
|
1372
|
+
class TimelineViewService {
|
|
1373
|
+
constructor(injector) {
|
|
1374
|
+
this.injector = injector;
|
|
1375
|
+
this.viewChange = new EventEmitter();
|
|
1372
1376
|
}
|
|
1373
|
-
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
|
-
* Otherwise cell clicks are wrongly overwritten in `handleTreeListFocusIn` and the click focus target is not respected.
|
|
1377
|
-
*/
|
|
1378
|
-
focusTreeList() {
|
|
1379
|
-
this.metadata.treeList.focus();
|
|
1377
|
+
service(view) {
|
|
1378
|
+
const serviceType = services[view];
|
|
1379
|
+
return serviceType ? this.injector.get(serviceType) : null;
|
|
1380
1380
|
}
|
|
1381
1381
|
}
|
|
1382
|
-
|
|
1383
|
-
|
|
1384
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1382
|
+
TimelineViewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineViewService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1383
|
+
TimelineViewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineViewService });
|
|
1384
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineViewService, decorators: [{
|
|
1385
1385
|
type: Injectable
|
|
1386
|
-
}], ctorParameters: function () { return [{ type: i0.
|
|
1386
|
+
}], ctorParameters: function () { return [{ type: i0.Injector }]; } });
|
|
1387
1387
|
|
|
1388
1388
|
const slotUnitDuration = {
|
|
1389
1389
|
day: MS_PER_HOUR,
|
|
@@ -1473,16 +1473,16 @@ class GanttTaskBase {
|
|
|
1473
1473
|
return isNumber(overlayWidth) ? overlayWidth : 0;
|
|
1474
1474
|
}
|
|
1475
1475
|
ngOnChanges(changes) {
|
|
1476
|
-
if (isPresent(changes
|
|
1477
|
-
if (isPresent(changes
|
|
1478
|
-
this.dependencyDomService.unregisterTask(changes
|
|
1476
|
+
if (isPresent(changes['dataItem'])) {
|
|
1477
|
+
if (isPresent(changes['dataItem'].previousValue)) {
|
|
1478
|
+
this.dependencyDomService.unregisterTask(changes['dataItem'].previousValue);
|
|
1479
1479
|
}
|
|
1480
1480
|
this.dependencyDomService.registerTask(this.dataItem, this.taskElement.nativeElement);
|
|
1481
1481
|
}
|
|
1482
|
-
else if (isPresent(changes
|
|
1482
|
+
else if (isPresent(changes['activeView'])) {
|
|
1483
1483
|
this.dependencyDomService.notifyChanges();
|
|
1484
1484
|
}
|
|
1485
|
-
if (this.navigationService.enabled && isPresent(changes
|
|
1485
|
+
if (this.navigationService.enabled && isPresent(changes['index'])) {
|
|
1486
1486
|
this.updateActiveState(this.navigationService.activeTask);
|
|
1487
1487
|
}
|
|
1488
1488
|
}
|
|
@@ -1505,9 +1505,9 @@ class GanttTaskBase {
|
|
|
1505
1505
|
}
|
|
1506
1506
|
}
|
|
1507
1507
|
}
|
|
1508
|
-
GanttTaskBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1509
|
-
GanttTaskBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "
|
|
1510
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1508
|
+
GanttTaskBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttTaskBase, deps: [{ token: MappingService }, { token: TimelineViewService }, { token: DependencyDomService }, { token: OptionChangesService }, { token: i0.ChangeDetectorRef }, { token: NavigationService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
1509
|
+
GanttTaskBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: GanttTaskBase, selector: "kendo-gantt-task-base", inputs: { dataItem: "dataItem", index: "index", level: "level", renderDependencyDragClues: "renderDependencyDragClues", selectable: "selectable", isSelected: "isSelected", activeView: "activeView", taskClass: "taskClass" }, host: { properties: { "class.k-task-wrap": "this.wrapperClass", "attr.data-task-index": "this.taskIndexAttribute", "style.left.px": "this.taskOffset" } }, viewQueries: [{ propertyName: "taskElement", first: true, predicate: ["task"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0 });
|
|
1510
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttTaskBase, decorators: [{
|
|
1511
1511
|
type: Directive,
|
|
1512
1512
|
args: [{
|
|
1513
1513
|
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
@@ -1553,8 +1553,8 @@ class GanttMilestoneTaskComponent extends GanttTaskBase {
|
|
|
1553
1553
|
this.milestoneWrapperClass = true;
|
|
1554
1554
|
}
|
|
1555
1555
|
}
|
|
1556
|
-
GanttMilestoneTaskComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1557
|
-
GanttMilestoneTaskComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
|
|
1556
|
+
GanttMilestoneTaskComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttMilestoneTaskComponent, deps: [{ token: TOUCH_ENABLED }, { token: MappingService }, { token: TimelineViewService }, { token: DependencyDomService }, { token: OptionChangesService }, { token: i0.ChangeDetectorRef }, { token: NavigationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1557
|
+
GanttMilestoneTaskComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: GanttMilestoneTaskComponent, selector: "kendo-gantt-milestone-task", host: { properties: { "class.k-milestone-wrap": "this.milestoneWrapperClass" } }, providers: [
|
|
1558
1558
|
{
|
|
1559
1559
|
provide: GanttTaskBase,
|
|
1560
1560
|
useExisting: forwardRef(() => GanttMilestoneTaskComponent)
|
|
@@ -1583,8 +1583,8 @@ GanttMilestoneTaskComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.
|
|
|
1583
1583
|
>
|
|
1584
1584
|
</div>
|
|
1585
1585
|
</ng-container>
|
|
1586
|
-
`, isInline: true,
|
|
1587
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1586
|
+
`, isInline: true, directives: [{ type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
1587
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttMilestoneTaskComponent, decorators: [{
|
|
1588
1588
|
type: Component,
|
|
1589
1589
|
args: [{
|
|
1590
1590
|
selector: 'kendo-gantt-milestone-task',
|
|
@@ -1618,16 +1618,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
1618
1618
|
>
|
|
1619
1619
|
</div>
|
|
1620
1620
|
</ng-container>
|
|
1621
|
-
|
|
1622
|
-
styles: [`
|
|
1623
|
-
.k-task.k-focus {
|
|
1624
|
-
box-shadow: 0 0 4px 3px grey;
|
|
1625
|
-
outline: none;
|
|
1626
|
-
}
|
|
1627
|
-
.k-task.k-focus.k-selected {
|
|
1628
|
-
box-shadow: 0 0 4px 3px #ffaea8;
|
|
1629
|
-
}
|
|
1630
|
-
`]
|
|
1621
|
+
`
|
|
1631
1622
|
}]
|
|
1632
1623
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
1633
1624
|
type: Inject,
|
|
@@ -1653,8 +1644,8 @@ class GanttSummaryTaskComponent extends GanttTaskBase {
|
|
|
1653
1644
|
return String(isExpanded);
|
|
1654
1645
|
}
|
|
1655
1646
|
}
|
|
1656
|
-
GanttSummaryTaskComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1657
|
-
GanttSummaryTaskComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
|
|
1647
|
+
GanttSummaryTaskComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttSummaryTaskComponent, deps: [{ token: TOUCH_ENABLED }, { token: MappingService }, { token: TimelineViewService }, { token: DependencyDomService }, { token: OptionChangesService }, { token: i0.ChangeDetectorRef }, { token: NavigationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1648
|
+
GanttSummaryTaskComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: GanttSummaryTaskComponent, selector: "kendo-gantt-summary-task", inputs: { template: "template", isExpanded: "isExpanded" }, host: { properties: { "class.k-summary-wrap": "this.summaryWrapperClass" } }, providers: [
|
|
1658
1649
|
{
|
|
1659
1650
|
provide: GanttTaskBase,
|
|
1660
1651
|
useExisting: forwardRef(() => GanttSummaryTaskComponent)
|
|
@@ -1703,8 +1694,8 @@ GanttSummaryTaskComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
|
|
|
1703
1694
|
>
|
|
1704
1695
|
</div>
|
|
1705
1696
|
</ng-container>
|
|
1706
|
-
`, isInline: true,
|
|
1707
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1697
|
+
`, isInline: true, directives: [{ type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
|
|
1698
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttSummaryTaskComponent, decorators: [{
|
|
1708
1699
|
type: Component,
|
|
1709
1700
|
args: [{
|
|
1710
1701
|
selector: 'kendo-gantt-summary-task',
|
|
@@ -1758,16 +1749,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
1758
1749
|
>
|
|
1759
1750
|
</div>
|
|
1760
1751
|
</ng-container>
|
|
1761
|
-
|
|
1762
|
-
styles: [`
|
|
1763
|
-
.k-task.k-focus {
|
|
1764
|
-
box-shadow: 0 0 4px 3px grey;
|
|
1765
|
-
outline: none;
|
|
1766
|
-
}
|
|
1767
|
-
.k-task.k-focus.k-selected {
|
|
1768
|
-
box-shadow: 0 0 4px 3px #ffaea8;
|
|
1769
|
-
}
|
|
1770
|
-
`]
|
|
1752
|
+
`
|
|
1771
1753
|
}]
|
|
1772
1754
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
1773
1755
|
type: Inject,
|
|
@@ -1877,9 +1859,9 @@ class EditService {
|
|
|
1877
1859
|
return !isPresent(this.mapper.extractFromDependency(item, 'id'));
|
|
1878
1860
|
}
|
|
1879
1861
|
}
|
|
1880
|
-
EditService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1881
|
-
EditService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
1882
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1862
|
+
EditService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: EditService, deps: [{ token: MappingService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1863
|
+
EditService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: EditService });
|
|
1864
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: EditService, decorators: [{
|
|
1883
1865
|
type: Injectable
|
|
1884
1866
|
}], ctorParameters: function () { return [{ type: MappingService }]; } });
|
|
1885
1867
|
|
|
@@ -1897,8 +1879,8 @@ class GanttTaskComponent extends GanttTaskBase {
|
|
|
1897
1879
|
this.editService.taskDelete.next(this.dataItem);
|
|
1898
1880
|
}
|
|
1899
1881
|
}
|
|
1900
|
-
GanttTaskComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1901
|
-
GanttTaskComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
|
|
1882
|
+
GanttTaskComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttTaskComponent, deps: [{ token: EditService }, { token: TOUCH_ENABLED }, { token: MappingService }, { token: TimelineViewService }, { token: DependencyDomService }, { token: OptionChangesService }, { token: i0.ChangeDetectorRef }, { token: NavigationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1883
|
+
GanttTaskComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: GanttTaskComponent, selector: "kendo-gantt-task", inputs: { taskContentTemplate: "taskContentTemplate", taskTemplate: "taskTemplate" }, providers: [
|
|
1902
1884
|
{
|
|
1903
1885
|
provide: GanttTaskBase,
|
|
1904
1886
|
useExisting: forwardRef(() => GanttTaskComponent)
|
|
@@ -1972,8 +1954,8 @@ GanttTaskComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
|
|
|
1972
1954
|
>
|
|
1973
1955
|
</div>
|
|
1974
1956
|
</ng-container>
|
|
1975
|
-
`, isInline: true,
|
|
1976
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1957
|
+
`, isInline: true, directives: [{ type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i8.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }] });
|
|
1958
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttTaskComponent, decorators: [{
|
|
1977
1959
|
type: Component,
|
|
1978
1960
|
args: [{
|
|
1979
1961
|
selector: 'kendo-gantt-task',
|
|
@@ -2052,16 +2034,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
2052
2034
|
>
|
|
2053
2035
|
</div>
|
|
2054
2036
|
</ng-container>
|
|
2055
|
-
|
|
2056
|
-
styles: [`
|
|
2057
|
-
.k-task.k-focus {
|
|
2058
|
-
box-shadow: 0 0 4px 3px grey;
|
|
2059
|
-
outline: none;
|
|
2060
|
-
}
|
|
2061
|
-
.k-task.k-focus.k-selected {
|
|
2062
|
-
box-shadow: 0 0 4px 3px #ffaea8;
|
|
2063
|
-
}
|
|
2064
|
-
`]
|
|
2037
|
+
`
|
|
2065
2038
|
}]
|
|
2066
2039
|
}], ctorParameters: function () { return [{ type: EditService }, { type: undefined, decorators: [{
|
|
2067
2040
|
type: Inject,
|
|
@@ -2091,8 +2064,8 @@ class GanttTasksTableBodyComponent {
|
|
|
2091
2064
|
return !item.hasChildren && isEqual(this.mapper.extractFromTask(item.data, 'start'), this.mapper.extractFromTask(item.data, 'end'));
|
|
2092
2065
|
}
|
|
2093
2066
|
}
|
|
2094
|
-
GanttTasksTableBodyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2095
|
-
GanttTasksTableBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
|
|
2067
|
+
GanttTasksTableBodyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttTasksTableBodyComponent, deps: [{ token: DependencyDomService }, { token: MappingService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2068
|
+
GanttTasksTableBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: GanttTasksTableBodyComponent, selector: "[kendoGanttTasksTableBody]", inputs: { selectable: "selectable", rows: "rows", activeView: "activeView", taskContentTemplate: "taskContentTemplate", taskTemplate: "taskTemplate", summaryTaskTemplate: "summaryTaskTemplate", taskClass: "taskClass", isExpanded: "isExpanded", isTaskSelected: "isTaskSelected", renderDependencyDragClues: "renderDependencyDragClues" }, viewQueries: [{ propertyName: "timelineRow", first: true, predicate: ["timelineRow"], descendants: true }], ngImport: i0, template: `
|
|
2096
2069
|
<tr #timelineRow *ngFor="let item of rows; let index = index">
|
|
2097
2070
|
<td>
|
|
2098
2071
|
<kendo-gantt-milestone-task
|
|
@@ -2140,7 +2113,7 @@ GanttTasksTableBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
|
|
|
2140
2113
|
</td>
|
|
2141
2114
|
</tr>
|
|
2142
2115
|
`, isInline: true, components: [{ type: GanttMilestoneTaskComponent, selector: "kendo-gantt-milestone-task" }, { type: GanttSummaryTaskComponent, selector: "kendo-gantt-summary-task", inputs: ["template", "isExpanded"] }, { type: GanttTaskComponent, selector: "kendo-gantt-task", inputs: ["taskContentTemplate", "taskTemplate"] }], directives: [{ type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
2143
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2116
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttTasksTableBodyComponent, decorators: [{
|
|
2144
2117
|
type: Component,
|
|
2145
2118
|
args: [{
|
|
2146
2119
|
// eslint-disable-next-line @angular-eslint/component-selector
|
|
@@ -2236,6 +2209,39 @@ var ScrollAxis;
|
|
|
2236
2209
|
ScrollAxis["Horizontal"] = "scrollLeft";
|
|
2237
2210
|
})(ScrollAxis || (ScrollAxis = {}));
|
|
2238
2211
|
|
|
2212
|
+
/**
|
|
2213
|
+
* @hidden
|
|
2214
|
+
*
|
|
2215
|
+
* Notifies the timeline-scroll.directive to scroll into view to requested coordinates.
|
|
2216
|
+
* The scrolling is performed based on client (viewport) coordinates.
|
|
2217
|
+
*/
|
|
2218
|
+
class TimelineScrollService {
|
|
2219
|
+
constructor() {
|
|
2220
|
+
this.horizontalScroll = new Subject();
|
|
2221
|
+
this.verticalScroll = new Subject();
|
|
2222
|
+
this.scrollCancel = new Subject();
|
|
2223
|
+
}
|
|
2224
|
+
ngOnDestroy() {
|
|
2225
|
+
this.horizontalScroll.complete();
|
|
2226
|
+
this.verticalScroll.complete();
|
|
2227
|
+
this.scrollCancel.complete();
|
|
2228
|
+
}
|
|
2229
|
+
requestHorizontalScroll(clientTop) {
|
|
2230
|
+
this.horizontalScroll.next(clientTop);
|
|
2231
|
+
}
|
|
2232
|
+
requestVerticalScroll(clientLeft) {
|
|
2233
|
+
this.verticalScroll.next(clientLeft);
|
|
2234
|
+
}
|
|
2235
|
+
requestScrollCancel() {
|
|
2236
|
+
this.scrollCancel.next();
|
|
2237
|
+
}
|
|
2238
|
+
}
|
|
2239
|
+
TimelineScrollService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineScrollService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2240
|
+
TimelineScrollService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineScrollService });
|
|
2241
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineScrollService, decorators: [{
|
|
2242
|
+
type: Injectable
|
|
2243
|
+
}] });
|
|
2244
|
+
|
|
2239
2245
|
/**
|
|
2240
2246
|
* @hidden
|
|
2241
2247
|
*
|
|
@@ -2307,39 +2313,6 @@ const getViewportBoundaries = (element) => {
|
|
|
2307
2313
|
};
|
|
2308
2314
|
};
|
|
2309
2315
|
|
|
2310
|
-
/**
|
|
2311
|
-
* @hidden
|
|
2312
|
-
*
|
|
2313
|
-
* Notifies the timeline-scroll.directive to scroll into view to requested coordinates.
|
|
2314
|
-
* The scrolling is performed based on client (viewport) coordinates.
|
|
2315
|
-
*/
|
|
2316
|
-
class TimelineScrollService {
|
|
2317
|
-
constructor() {
|
|
2318
|
-
this.horizontalScroll = new Subject();
|
|
2319
|
-
this.verticalScroll = new Subject();
|
|
2320
|
-
this.scrollCancel = new Subject();
|
|
2321
|
-
}
|
|
2322
|
-
ngOnDestroy() {
|
|
2323
|
-
this.horizontalScroll.complete();
|
|
2324
|
-
this.verticalScroll.complete();
|
|
2325
|
-
this.scrollCancel.complete();
|
|
2326
|
-
}
|
|
2327
|
-
requestHorizontalScroll(clientTop) {
|
|
2328
|
-
this.horizontalScroll.next(clientTop);
|
|
2329
|
-
}
|
|
2330
|
-
requestVerticalScroll(clientLeft) {
|
|
2331
|
-
this.verticalScroll.next(clientLeft);
|
|
2332
|
-
}
|
|
2333
|
-
requestScrollCancel() {
|
|
2334
|
-
this.scrollCancel.next();
|
|
2335
|
-
}
|
|
2336
|
-
}
|
|
2337
|
-
TimelineScrollService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimelineScrollService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2338
|
-
TimelineScrollService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimelineScrollService });
|
|
2339
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimelineScrollService, decorators: [{
|
|
2340
|
-
type: Injectable
|
|
2341
|
-
}] });
|
|
2342
|
-
|
|
2343
2316
|
/**
|
|
2344
2317
|
* @hidden
|
|
2345
2318
|
*/
|
|
@@ -2394,9 +2367,9 @@ class TimelineScrollableDirective {
|
|
|
2394
2367
|
}
|
|
2395
2368
|
}
|
|
2396
2369
|
}
|
|
2397
|
-
TimelineScrollableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2398
|
-
TimelineScrollableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "
|
|
2399
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2370
|
+
TimelineScrollableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineScrollableDirective, deps: [{ token: i0.ElementRef }, { token: TimelineScrollService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
|
|
2371
|
+
TimelineScrollableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: TimelineScrollableDirective, selector: "[kendoGanttTimelineScrollable]", inputs: { scrollSettings: "scrollSettings" }, ngImport: i0 });
|
|
2372
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineScrollableDirective, decorators: [{
|
|
2400
2373
|
type: Directive,
|
|
2401
2374
|
args: [{
|
|
2402
2375
|
selector: '[kendoGanttTimelineScrollable]'
|
|
@@ -2411,7 +2384,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
2411
2384
|
* Gets the offset (top and left values) relative to a target element.
|
|
2412
2385
|
*/
|
|
2413
2386
|
const getOffsetRelativeToParent = (element, targetParent) => {
|
|
2414
|
-
|
|
2387
|
+
const offset = {
|
|
2415
2388
|
top: 0,
|
|
2416
2389
|
left: 0
|
|
2417
2390
|
};
|
|
@@ -2626,7 +2599,7 @@ class GanttDependencyDirective {
|
|
|
2626
2599
|
this.subscriptions.unsubscribe();
|
|
2627
2600
|
}
|
|
2628
2601
|
ngOnChanges(changes) {
|
|
2629
|
-
if (isPresent(changes
|
|
2602
|
+
if (isPresent(changes['dependency'])) {
|
|
2630
2603
|
this.updatePoints(this.dependencyDomService.dependencyDomArgs);
|
|
2631
2604
|
}
|
|
2632
2605
|
}
|
|
@@ -2655,9 +2628,9 @@ class GanttDependencyDirective {
|
|
|
2655
2628
|
this.renderer.setAttribute(this.polyline.nativeElement, 'points', parsedCoords);
|
|
2656
2629
|
}
|
|
2657
2630
|
}
|
|
2658
|
-
GanttDependencyDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2659
|
-
GanttDependencyDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "
|
|
2660
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2631
|
+
GanttDependencyDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttDependencyDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: MappingService }, { token: DependencyDomService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
2632
|
+
GanttDependencyDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: GanttDependencyDirective, selector: "[kendoGanttDependency]", inputs: { dependency: "dependency" }, usesOnChanges: true, ngImport: i0 });
|
|
2633
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttDependencyDirective, decorators: [{
|
|
2661
2634
|
type: Directive,
|
|
2662
2635
|
args: [{
|
|
2663
2636
|
selector: '[kendoGanttDependency]'
|
|
@@ -2712,8 +2685,8 @@ class GanttTimelineComponent {
|
|
|
2712
2685
|
return item.hasOwnProperty('isWorking') && !item.isWorking;
|
|
2713
2686
|
}
|
|
2714
2687
|
}
|
|
2715
|
-
GanttTimelineComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2716
|
-
GanttTimelineComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
|
|
2688
|
+
GanttTimelineComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttTimelineComponent, deps: [{ token: ScrollSyncService }, { token: DependencyDomService }, { token: i0.Renderer2 }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2689
|
+
GanttTimelineComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: GanttTimelineComponent, selector: "kendo-gantt-timeline", inputs: { rows: "rows", slots: "slots", groupSlots: "groupSlots", tableWidth: "tableWidth", activeView: "activeView", taskContentTemplate: "taskContentTemplate", taskTemplate: "taskTemplate", summaryTaskTemplate: "summaryTaskTemplate", taskClass: "taskClass", renderDependencyDragClues: "renderDependencyDragClues", dragScrollSettings: "dragScrollSettings", selectable: "selectable", isTaskSelected: "isTaskSelected", isExpanded: "isExpanded", dependencies: "dependencies" }, outputs: { timelineContainerPress: "timelineContainerPress", timelineContainerDrag: "timelineContainerDrag", timelineContainerRelease: "timelineContainerRelease" }, host: { properties: { "class.k-gantt-timeline": "this.hostClass" } }, viewQueries: [{ propertyName: "timelineContent", first: true, predicate: ["timelineContent"], descendants: true, static: true }, { propertyName: "timelineColumns", first: true, predicate: ["timelineColumns"], descendants: true, static: true }, { propertyName: "timelineHeaderWrap", first: true, predicate: ["timelineHeaderWrap"], descendants: true, static: true }, { propertyName: "tasksContainer", first: true, predicate: ["tasksContainer"], descendants: true, static: true }, { propertyName: "dragPopupContainer", first: true, predicate: ["dragPopupContainer"], descendants: true, read: ViewContainerRef }, { propertyName: "dependencyDragCreatePolyline", first: true, predicate: ["dependencyDragCreatePolyline"], descendants: true }], ngImport: i0, template: `
|
|
2717
2690
|
<div class="k-timeline k-grid k-widget">
|
|
2718
2691
|
<div class="k-grid-header">
|
|
2719
2692
|
<div #timelineHeaderWrap class="k-grid-header-wrap">
|
|
@@ -2783,7 +2756,7 @@ GanttTimelineComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
|
|
|
2783
2756
|
#tasksContainer
|
|
2784
2757
|
class="k-gantt-tasks"
|
|
2785
2758
|
role="presentation"
|
|
2786
|
-
style
|
|
2759
|
+
[style.border-collapse]="'collapse'"
|
|
2787
2760
|
[style.width.px]="tableWidth"
|
|
2788
2761
|
>
|
|
2789
2762
|
<tbody
|
|
@@ -2816,7 +2789,7 @@ GanttTimelineComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
|
|
|
2816
2789
|
</div>
|
|
2817
2790
|
</div>
|
|
2818
2791
|
`, isInline: true, components: [{ type: GanttHeaderTableBodyComponent, selector: "[kendoGanttHeaderTableBody]", inputs: ["groupSlots", "slots"] }, { type: GanttTasksTableBodyComponent, selector: "[kendoGanttTasksTableBody]", inputs: ["selectable", "rows", "activeView", "taskContentTemplate", "taskTemplate", "summaryTaskTemplate", "taskClass", "isExpanded", "isTaskSelected", "renderDependencyDragClues"] }], directives: [{ type: TimelineScrollableDirective, selector: "[kendoGanttTimelineScrollable]", inputs: ["scrollSettings"] }, { type: i8.DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: GanttDependencyDirective, selector: "[kendoGanttDependency]", inputs: ["dependency"] }] });
|
|
2819
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2792
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttTimelineComponent, decorators: [{
|
|
2820
2793
|
type: Component,
|
|
2821
2794
|
args: [{
|
|
2822
2795
|
selector: 'kendo-gantt-timeline',
|
|
@@ -2890,7 +2863,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
2890
2863
|
#tasksContainer
|
|
2891
2864
|
class="k-gantt-tasks"
|
|
2892
2865
|
role="presentation"
|
|
2893
|
-
style
|
|
2866
|
+
[style.border-collapse]="'collapse'"
|
|
2894
2867
|
[style.width.px]="tableWidth"
|
|
2895
2868
|
>
|
|
2896
2869
|
<tbody
|
|
@@ -3000,9 +2973,9 @@ class GanttColumnBase extends ColumnBase {
|
|
|
3000
2973
|
return super.locked;
|
|
3001
2974
|
}
|
|
3002
2975
|
}
|
|
3003
|
-
GanttColumnBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
3004
|
-
GanttColumnBase.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
|
|
3005
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2976
|
+
GanttColumnBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttColumnBase, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
2977
|
+
GanttColumnBase.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: GanttColumnBase, selector: "kendo-gantt-column-base", inputs: { locked: "locked", lockable: "lockable", hidden: "hidden", media: "media", style: "style", headerStyle: "headerStyle", footerStyle: "footerStyle", cssClass: ["class", "cssClass"], headerClass: "headerClass", footerClass: "footerClass" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
2978
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttColumnBase, decorators: [{
|
|
3006
2979
|
type: Component,
|
|
3007
2980
|
args: [{
|
|
3008
2981
|
template: '',
|
|
@@ -3053,9 +3026,9 @@ class CellTemplateDirective {
|
|
|
3053
3026
|
this.templateRef = templateRef;
|
|
3054
3027
|
}
|
|
3055
3028
|
}
|
|
3056
|
-
CellTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
3057
|
-
CellTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "
|
|
3058
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3029
|
+
CellTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CellTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
3030
|
+
CellTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: CellTemplateDirective, selector: "[kendoGanttCellTemplate]", ngImport: i0 });
|
|
3031
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CellTemplateDirective, decorators: [{
|
|
3059
3032
|
type: Directive,
|
|
3060
3033
|
args: [{
|
|
3061
3034
|
selector: '[kendoGanttCellTemplate]'
|
|
@@ -3079,9 +3052,9 @@ class ColumnMenuTemplateDirective {
|
|
|
3079
3052
|
this.templateRef = templateRef;
|
|
3080
3053
|
}
|
|
3081
3054
|
}
|
|
3082
|
-
ColumnMenuTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
3083
|
-
ColumnMenuTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "
|
|
3084
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3055
|
+
ColumnMenuTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ColumnMenuTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
3056
|
+
ColumnMenuTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: ColumnMenuTemplateDirective, selector: "[kendoGanttColumnMenuTemplate]", ngImport: i0 });
|
|
3057
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ColumnMenuTemplateDirective, decorators: [{
|
|
3085
3058
|
type: Directive,
|
|
3086
3059
|
args: [{
|
|
3087
3060
|
selector: '[kendoGanttColumnMenuTemplate]'
|
|
@@ -3104,9 +3077,9 @@ class FilterCellTemplateDirective {
|
|
|
3104
3077
|
this.templateRef = templateRef;
|
|
3105
3078
|
}
|
|
3106
3079
|
}
|
|
3107
|
-
FilterCellTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
3108
|
-
FilterCellTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "
|
|
3109
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3080
|
+
FilterCellTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FilterCellTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
3081
|
+
FilterCellTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: FilterCellTemplateDirective, selector: "[kendoGanttFilterCellTemplate]", ngImport: i0 });
|
|
3082
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FilterCellTemplateDirective, decorators: [{
|
|
3110
3083
|
type: Directive,
|
|
3111
3084
|
args: [{
|
|
3112
3085
|
selector: '[kendoGanttFilterCellTemplate]'
|
|
@@ -3128,9 +3101,9 @@ class FilterMenuTemplateDirective {
|
|
|
3128
3101
|
this.templateRef = templateRef;
|
|
3129
3102
|
}
|
|
3130
3103
|
}
|
|
3131
|
-
FilterMenuTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
3132
|
-
FilterMenuTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "
|
|
3133
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3104
|
+
FilterMenuTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FilterMenuTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
3105
|
+
FilterMenuTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: FilterMenuTemplateDirective, selector: "[kendoGanttFilterMenuTemplate]", ngImport: i0 });
|
|
3106
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FilterMenuTemplateDirective, decorators: [{
|
|
3134
3107
|
type: Directive,
|
|
3135
3108
|
args: [{
|
|
3136
3109
|
selector: '[kendoGanttFilterMenuTemplate]'
|
|
@@ -3156,9 +3129,9 @@ class FooterTemplateDirective {
|
|
|
3156
3129
|
this.templateRef = templateRef;
|
|
3157
3130
|
}
|
|
3158
3131
|
}
|
|
3159
|
-
FooterTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
3160
|
-
FooterTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "
|
|
3161
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3132
|
+
FooterTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FooterTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
3133
|
+
FooterTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: FooterTemplateDirective, selector: "[kendoGanttFooterTemplate]", ngImport: i0 });
|
|
3134
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FooterTemplateDirective, decorators: [{
|
|
3162
3135
|
type: Directive,
|
|
3163
3136
|
args: [{
|
|
3164
3137
|
selector: '[kendoGanttFooterTemplate]'
|
|
@@ -3182,9 +3155,9 @@ class HeaderTemplateDirective {
|
|
|
3182
3155
|
this.templateRef = templateRef;
|
|
3183
3156
|
}
|
|
3184
3157
|
}
|
|
3185
|
-
HeaderTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
3186
|
-
HeaderTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "
|
|
3187
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3158
|
+
HeaderTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: HeaderTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
3159
|
+
HeaderTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: HeaderTemplateDirective, selector: "[kendoGanttHeaderTemplate]", ngImport: i0 });
|
|
3160
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: HeaderTemplateDirective, decorators: [{
|
|
3188
3161
|
type: Directive,
|
|
3189
3162
|
args: [{
|
|
3190
3163
|
selector: '[kendoGanttHeaderTemplate]'
|
|
@@ -3212,9 +3185,9 @@ class EditTemplateDirective {
|
|
|
3212
3185
|
this.templateRef = templateRef;
|
|
3213
3186
|
}
|
|
3214
3187
|
}
|
|
3215
|
-
EditTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
3216
|
-
EditTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "
|
|
3217
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3188
|
+
EditTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: EditTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
3189
|
+
EditTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: EditTemplateDirective, selector: "[kendoGanttEditTemplate]", ngImport: i0 });
|
|
3190
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: EditTemplateDirective, decorators: [{
|
|
3218
3191
|
type: Directive,
|
|
3219
3192
|
args: [{
|
|
3220
3193
|
selector: '[kendoGanttEditTemplate]'
|
|
@@ -3266,14 +3239,14 @@ class GanttColumnComponent extends ColumnComponent {
|
|
|
3266
3239
|
this.options.notifyColumnChanges();
|
|
3267
3240
|
}
|
|
3268
3241
|
}
|
|
3269
|
-
GanttColumnComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
3270
|
-
GanttColumnComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
|
|
3242
|
+
GanttColumnComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttColumnComponent, deps: [{ token: OptionChangesService }, { token: GanttColumnBase, host: true, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
3243
|
+
GanttColumnComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: GanttColumnComponent, 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: [
|
|
3271
3244
|
{
|
|
3272
3245
|
provide: GanttColumnBase,
|
|
3273
3246
|
useExisting: forwardRef(() => GanttColumnComponent)
|
|
3274
3247
|
}
|
|
3275
3248
|
], 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 });
|
|
3276
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3249
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttColumnComponent, decorators: [{
|
|
3277
3250
|
type: Component,
|
|
3278
3251
|
args: [{
|
|
3279
3252
|
selector: 'kendo-gantt-column',
|
|
@@ -3378,14 +3351,14 @@ class GanttColumnGroupComponent extends ColumnGroupComponent {
|
|
|
3378
3351
|
this.options.notifyColumnChanges();
|
|
3379
3352
|
}
|
|
3380
3353
|
}
|
|
3381
|
-
GanttColumnGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
3382
|
-
GanttColumnGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
|
|
3354
|
+
GanttColumnGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttColumnGroupComponent, deps: [{ token: OptionChangesService }, { token: GanttColumnBase, host: true, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
3355
|
+
GanttColumnGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: GanttColumnGroupComponent, selector: "kendo-gantt-column-group", inputs: { locked: "locked", lockable: "lockable", hidden: "hidden", sortable: "sortable", media: "media", style: "style", headerStyle: "headerStyle", footerStyle: "footerStyle", cssClass: ["class", "cssClass"], headerClass: "headerClass", footerClass: "footerClass" }, providers: [
|
|
3383
3356
|
{
|
|
3384
3357
|
provide: GanttColumnBase,
|
|
3385
3358
|
useExisting: forwardRef(() => GanttColumnGroupComponent)
|
|
3386
3359
|
}
|
|
3387
3360
|
], queries: [{ propertyName: "children", predicate: GanttColumnBase }, { propertyName: "headerTemplates", predicate: HeaderTemplateDirective }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '', isInline: true });
|
|
3388
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3361
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttColumnGroupComponent, decorators: [{
|
|
3389
3362
|
type: Component,
|
|
3390
3363
|
args: [{
|
|
3391
3364
|
selector: 'kendo-gantt-column-group',
|
|
@@ -3481,14 +3454,14 @@ class GanttSpanColumnComponent extends SpanColumnComponent {
|
|
|
3481
3454
|
this.options.notifyColumnChanges();
|
|
3482
3455
|
}
|
|
3483
3456
|
}
|
|
3484
|
-
GanttSpanColumnComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
3485
|
-
GanttSpanColumnComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
|
|
3457
|
+
GanttSpanColumnComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttSpanColumnComponent, deps: [{ token: OptionChangesService }, { token: GanttColumnBase, host: true, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
3458
|
+
GanttSpanColumnComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: GanttSpanColumnComponent, selector: "kendo-gantt-span-column", inputs: { locked: "locked", lockable: "lockable", editable: "editable", hidden: "hidden", media: "media", style: "style", headerStyle: "headerStyle", footerStyle: "footerStyle", cssClass: ["class", "cssClass"], headerClass: "headerClass", footerClass: "footerClass" }, providers: [
|
|
3486
3459
|
{
|
|
3487
3460
|
provide: GanttColumnBase,
|
|
3488
3461
|
useExisting: forwardRef(() => GanttSpanColumnComponent)
|
|
3489
3462
|
}
|
|
3490
3463
|
], queries: [{ propertyName: "childColumns", predicate: GanttColumnComponent }, { propertyName: "template", predicate: CellTemplateDirective }, { propertyName: "editTemplate", predicate: EditTemplateDirective }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '', isInline: true });
|
|
3491
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3464
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttSpanColumnComponent, decorators: [{
|
|
3492
3465
|
type: Component,
|
|
3493
3466
|
args: [{
|
|
3494
3467
|
selector: 'kendo-gantt-span-column',
|
|
@@ -3584,9 +3557,9 @@ class GanttLocalizationService {
|
|
|
3584
3557
|
return this.localizationService.get(token);
|
|
3585
3558
|
}
|
|
3586
3559
|
}
|
|
3587
|
-
GanttLocalizationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
3588
|
-
GanttLocalizationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
3589
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3560
|
+
GanttLocalizationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttLocalizationService, deps: [{ token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3561
|
+
GanttLocalizationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttLocalizationService });
|
|
3562
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttLocalizationService, decorators: [{
|
|
3590
3563
|
type: Injectable
|
|
3591
3564
|
}], ctorParameters: function () { return [{ type: i1$1.LocalizationService }]; } });
|
|
3592
3565
|
|
|
@@ -3639,9 +3612,9 @@ class GanttTaskTemplateDirective {
|
|
|
3639
3612
|
this.templateRef = templateRef;
|
|
3640
3613
|
}
|
|
3641
3614
|
}
|
|
3642
|
-
GanttTaskTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
3643
|
-
GanttTaskTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "
|
|
3644
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3615
|
+
GanttTaskTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttTaskTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
3616
|
+
GanttTaskTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: GanttTaskTemplateDirective, selector: "[kendoGanttTaskTemplate]", ngImport: i0 });
|
|
3617
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttTaskTemplateDirective, decorators: [{
|
|
3645
3618
|
type: Directive,
|
|
3646
3619
|
args: [{
|
|
3647
3620
|
selector: '[kendoGanttTaskTemplate]'
|
|
@@ -3667,7 +3640,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
3667
3640
|
* template: `
|
|
3668
3641
|
* <kendo-gantt [kendoGanttHierarchyBinding]="data">
|
|
3669
3642
|
* <ng-template kendoGanttSummaryTaskTemplate let-dataItem let-elementWidth="elementWidth">
|
|
3670
|
-
* <div style="color: white; font-size: 8px;">
|
|
3643
|
+
* <div [style]="'color: white; font-size: 8px;'">
|
|
3671
3644
|
* {{ dataItem.title }} - {{ dataItem.completionRatio * 100 }}% complete; width: {{ elementWidth }}
|
|
3672
3645
|
* </div>
|
|
3673
3646
|
* </ng-template>
|
|
@@ -3684,9 +3657,9 @@ class GanttSummaryTaskTemplateDirective {
|
|
|
3684
3657
|
this.templateRef = templateRef;
|
|
3685
3658
|
}
|
|
3686
3659
|
}
|
|
3687
|
-
GanttSummaryTaskTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
3688
|
-
GanttSummaryTaskTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "
|
|
3689
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3660
|
+
GanttSummaryTaskTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttSummaryTaskTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
3661
|
+
GanttSummaryTaskTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: GanttSummaryTaskTemplateDirective, selector: "[kendoGanttSummaryTaskTemplate]", ngImport: i0 });
|
|
3662
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttSummaryTaskTemplateDirective, decorators: [{
|
|
3690
3663
|
type: Directive,
|
|
3691
3664
|
args: [{
|
|
3692
3665
|
selector: '[kendoGanttSummaryTaskTemplate]'
|
|
@@ -3724,9 +3697,9 @@ class GanttTaskContentTemplateDirective {
|
|
|
3724
3697
|
this.templateRef = templateRef;
|
|
3725
3698
|
}
|
|
3726
3699
|
}
|
|
3727
|
-
GanttTaskContentTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
3728
|
-
GanttTaskContentTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "
|
|
3729
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3700
|
+
GanttTaskContentTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttTaskContentTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
3701
|
+
GanttTaskContentTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: GanttTaskContentTemplateDirective, selector: "[kendoGanttTaskContentTemplate]", ngImport: i0 });
|
|
3702
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttTaskContentTemplateDirective, decorators: [{
|
|
3730
3703
|
type: Directive,
|
|
3731
3704
|
args: [{
|
|
3732
3705
|
selector: '[kendoGanttTaskContentTemplate]'
|
|
@@ -3755,7 +3728,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
3755
3728
|
* <input type="radio" kendoRadioButton id="both" name="position" value="both" (click)="positionChange($event)"/>
|
|
3756
3729
|
* <kendo-label class="k-radio-label" for="both">Both</kendo-label><br/>
|
|
3757
3730
|
* </div>
|
|
3758
|
-
* <kendo-gantt [[kendoGanttHierarchyBinding]="data"]="data" style="
|
|
3731
|
+
* <kendo-gantt [[kendoGanttHierarchyBinding]="data"]="data" [style.height.px]="400">
|
|
3759
3732
|
* <ng-template kendoGanttToolbarTemplate [position]="position" let-position="position">
|
|
3760
3733
|
* <button kendoButton (click)="onClick()">Custom action</button>
|
|
3761
3734
|
* </ng-template>
|
|
@@ -3843,9 +3816,9 @@ class ToolbarTemplateDirective {
|
|
|
3843
3816
|
return this._position;
|
|
3844
3817
|
}
|
|
3845
3818
|
}
|
|
3846
|
-
ToolbarTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
3847
|
-
ToolbarTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "
|
|
3848
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3819
|
+
ToolbarTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ToolbarTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
3820
|
+
ToolbarTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: ToolbarTemplateDirective, selector: "[kendoGanttToolbarTemplate]", inputs: { position: "position" }, ngImport: i0 });
|
|
3821
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ToolbarTemplateDirective, decorators: [{
|
|
3849
3822
|
type: Directive,
|
|
3850
3823
|
args: [{
|
|
3851
3824
|
selector: '[kendoGanttToolbarTemplate]'
|
|
@@ -3882,9 +3855,9 @@ class ViewBase {
|
|
|
3882
3855
|
}
|
|
3883
3856
|
}
|
|
3884
3857
|
}
|
|
3885
|
-
ViewBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
3886
|
-
ViewBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "
|
|
3887
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3858
|
+
ViewBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ViewBase, deps: [{ token: OptionChangesService }, { token: DependencyDomService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
3859
|
+
ViewBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: ViewBase, selector: "kendo-gantt-view-base", inputs: { slotWidth: "slotWidth" }, usesOnChanges: true, ngImport: i0 });
|
|
3860
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ViewBase, decorators: [{
|
|
3888
3861
|
type: Directive,
|
|
3889
3862
|
args: [{
|
|
3890
3863
|
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
@@ -3972,8 +3945,8 @@ class GanttAddTaskComponent {
|
|
|
3972
3945
|
});
|
|
3973
3946
|
}
|
|
3974
3947
|
}
|
|
3975
|
-
GanttAddTaskComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
3976
|
-
GanttAddTaskComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
|
|
3948
|
+
GanttAddTaskComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttAddTaskComponent, deps: [{ token: i1$1.LocalizationService }, { token: EditService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
3949
|
+
GanttAddTaskComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: GanttAddTaskComponent, selector: "kendo-gantt-add-task", inputs: { data: "data", icon: "icon" }, ngImport: i0, template: `
|
|
3977
3950
|
<kendo-dropdownbutton
|
|
3978
3951
|
[data]="data"
|
|
3979
3952
|
[icon]="icon"
|
|
@@ -3983,8 +3956,8 @@ GanttAddTaskComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
|
|
|
3983
3956
|
(open)="handleOpen($event)">
|
|
3984
3957
|
{{ getText('addTaskText') }}
|
|
3985
3958
|
</kendo-dropdownbutton>
|
|
3986
|
-
`, isInline: true, components: [{ type: i2.DropDownButtonComponent, selector: "kendo-dropdownbutton", inputs: ["icon", "iconClass", "imageUrl", "textField", "data", "size", "rounded", "fillMode", "themeColor"], outputs: ["itemClick", "focus", "blur"], exportAs: ["kendoDropDownButton"] }], directives: [{ type: i8.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }] });
|
|
3987
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3959
|
+
`, isInline: true, components: [{ type: i2.DropDownButtonComponent, selector: "kendo-dropdownbutton", inputs: ["icon", "svgIcon", "iconClass", "imageUrl", "textField", "data", "size", "rounded", "fillMode", "themeColor"], outputs: ["itemClick", "focus", "blur"], exportAs: ["kendoDropDownButton"] }], directives: [{ type: i8.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }] });
|
|
3960
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttAddTaskComponent, decorators: [{
|
|
3988
3961
|
type: Component,
|
|
3989
3962
|
args: [{
|
|
3990
3963
|
selector: 'kendo-gantt-add-task',
|
|
@@ -4044,8 +4017,8 @@ class ViewSelectorComponent {
|
|
|
4044
4017
|
this.activeViewChange.emit(event.target.value);
|
|
4045
4018
|
}
|
|
4046
4019
|
}
|
|
4047
|
-
ViewSelectorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
4048
|
-
ViewSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
|
|
4020
|
+
ViewSelectorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ViewSelectorComponent, deps: [{ token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
4021
|
+
ViewSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ViewSelectorComponent, selector: "kendo-gantt-view-selector", inputs: { views: "views", activeView: "activeView" }, outputs: { activeViewChange: "activeViewChange" }, host: { properties: { "class.k-gantt-views-wrapper": "this.hostClass" } }, ngImport: i0, template: `
|
|
4049
4022
|
<select
|
|
4050
4023
|
class="k-dropdownlist k-picker k-rounded-md k-views-dropdown"
|
|
4051
4024
|
aria-label="View Selector"
|
|
@@ -4060,8 +4033,8 @@ ViewSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
|
|
|
4060
4033
|
[selected]="view === activeView"
|
|
4061
4034
|
(click)="onClick(view)">{{getViewTypeText(view)}}</button>
|
|
4062
4035
|
</kendo-buttongroup>
|
|
4063
|
-
`, isInline: true, components: [{ type: i2.ButtonGroupComponent, selector: "kendo-buttongroup", inputs: ["disabled", "selection", "width", "tabIndex", "navigable"], outputs: ["navigate"], exportAs: ["kendoButtonGroup"] }
|
|
4064
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
4036
|
+
`, isInline: true, components: [{ type: i2.ButtonGroupComponent, selector: "kendo-buttongroup", inputs: ["disabled", "selection", "width", "tabIndex", "navigable"], outputs: ["navigate"], exportAs: ["kendoButtonGroup"] }, { type: i2.Button, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }], directives: [{ type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i8$1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i8$1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }] });
|
|
4037
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ViewSelectorComponent, decorators: [{
|
|
4065
4038
|
type: Component,
|
|
4066
4039
|
args: [{
|
|
4067
4040
|
selector: 'kendo-gantt-view-selector',
|
|
@@ -4120,8 +4093,8 @@ class ToolbarComponent {
|
|
|
4120
4093
|
this.activeViewChange.emit(view);
|
|
4121
4094
|
}
|
|
4122
4095
|
}
|
|
4123
|
-
ToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
4124
|
-
ToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
|
|
4096
|
+
ToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4097
|
+
ToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ToolbarComponent, selector: "kendo-gantt-toolbar", inputs: { showAddTask: "showAddTask", showViewSelector: "showViewSelector", views: "views", activeView: "activeView", toolbarTemplate: "toolbarTemplate", position: "position" }, outputs: { activeViewChange: "activeViewChange" }, host: { properties: { "attr.role": "this.role" } }, ngImport: i0, template: `
|
|
4125
4098
|
<ng-container *ngIf="!renderTemplate">
|
|
4126
4099
|
<kendo-gantt-add-task *ngIf="showAddTask"></kendo-gantt-add-task>
|
|
4127
4100
|
<span class="k-spacer k-toolbar-spacer"></span>
|
|
@@ -4138,7 +4111,7 @@ ToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", versi
|
|
|
4138
4111
|
>
|
|
4139
4112
|
</ng-template>
|
|
4140
4113
|
`, isInline: true, components: [{ type: GanttAddTaskComponent, selector: "kendo-gantt-add-task", inputs: ["data", "icon"] }, { type: ViewSelectorComponent, selector: "kendo-gantt-view-selector", inputs: ["views", "activeView"], outputs: ["activeViewChange"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
|
|
4141
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
4114
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ToolbarComponent, decorators: [{
|
|
4142
4115
|
type: Component,
|
|
4143
4116
|
args: [{
|
|
4144
4117
|
selector: 'kendo-gantt-toolbar',
|
|
@@ -4198,8 +4171,8 @@ class TaskFieldsComponent {
|
|
|
4198
4171
|
return this.localizationService.get(token);
|
|
4199
4172
|
}
|
|
4200
4173
|
}
|
|
4201
|
-
TaskFieldsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
4202
|
-
TaskFieldsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
|
|
4174
|
+
TaskFieldsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TaskFieldsComponent, deps: [{ token: MappingService }, { token: EditService }, { token: GanttLocalizationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
4175
|
+
TaskFieldsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: TaskFieldsComponent, selector: "kendo-gantt-task-fields", ngImport: i0, template: `
|
|
4203
4176
|
<form class="k-form" [formGroup]="formGroup">
|
|
4204
4177
|
<kendo-formfield *ngIf="formGroup.contains(mapper.taskFields.title)">
|
|
4205
4178
|
<kendo-label [for]="mapper.taskFields.title" [text]="getText('titleFieldInputLabel')"></kendo-label>
|
|
@@ -4228,8 +4201,8 @@ TaskFieldsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
|
|
|
4228
4201
|
></kendo-numerictextbox>
|
|
4229
4202
|
</kendo-formfield>
|
|
4230
4203
|
</form>
|
|
4231
|
-
`, isInline: true, components: [{ type: i4.FormFieldComponent, selector: "kendo-formfield", inputs: ["showHints", "orientation", "showErrors"] }, { type: i5.LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional"], exportAs: ["kendoLabel"] }, { type: i6$1.DateTimePickerComponent, selector: "kendo-datetimepicker", inputs: ["value", "format", "twoDigitYearMax", "tabindex", "disabledDates", "popupSettings", "title", "disabled", "readonly", "readOnlyInput", "cancelButton", "formatPlaceholder", "placeholder", "steps", "focusedDate", "calendarType", "animateCalendarNavigation", "weekNumber", "min", "max", "rangeValidation", "disabledDatesValidation", "incompleteDateValidation", "defaultTab", "size", "rounded", "fillMode"], outputs: ["valueChange", "open", "close", "focus", "blur"], exportAs: ["kendo-datetimepicker"] }, { type: i11.TreeListSpacerComponent, selector: "kendo-treelist-spacer, kendo-treelist-pager-spacer", inputs: ["width"] }, { type: i4.NumericTextBoxComponent, selector: "kendo-numerictextbox", inputs: ["focusableId", "disabled", "readonly", "title", "autoCorrect", "format", "max", "min", "decimals", "placeholder", "step", "spinners", "rangeValidation", "tabindex", "tabIndex", "changeValueOnScroll", "selectOnFocus", "value", "maxlength", "size", "rounded", "fillMode"], outputs: ["valueChange", "focus", "blur"], exportAs: ["kendoNumericTextBox"] }], directives: [{ type: i8$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i8$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i8$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.TextBoxDirective, selector: "input[kendoTextBox]", inputs: ["value"] }, { type: i8$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i8$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i8$1.FormControlName, selector: "[formControlName]", inputs: ["
|
|
4232
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
4204
|
+
`, isInline: true, components: [{ type: i4.FormFieldComponent, selector: "kendo-formfield", inputs: ["showHints", "orientation", "showErrors"] }, { type: i5.LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional"], exportAs: ["kendoLabel"] }, { type: i6$1.DateTimePickerComponent, selector: "kendo-datetimepicker", inputs: ["value", "format", "twoDigitYearMax", "tabindex", "disabledDates", "popupSettings", "title", "disabled", "readonly", "readOnlyInput", "cancelButton", "formatPlaceholder", "placeholder", "steps", "focusedDate", "calendarType", "animateCalendarNavigation", "weekNumber", "min", "max", "rangeValidation", "disabledDatesValidation", "incompleteDateValidation", "defaultTab", "size", "rounded", "fillMode"], outputs: ["valueChange", "open", "close", "focus", "blur"], exportAs: ["kendo-datetimepicker"] }, { type: i11.TreeListSpacerComponent, selector: "kendo-treelist-spacer, kendo-treelist-pager-spacer", inputs: ["width"] }, { type: i4.NumericTextBoxComponent, selector: "kendo-numerictextbox", inputs: ["focusableId", "disabled", "readonly", "title", "autoCorrect", "format", "max", "min", "decimals", "placeholder", "step", "spinners", "rangeValidation", "tabindex", "tabIndex", "changeValueOnScroll", "selectOnFocus", "value", "maxlength", "size", "rounded", "fillMode"], outputs: ["valueChange", "focus", "blur"], exportAs: ["kendoNumericTextBox"] }], directives: [{ type: i8$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i8$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i8$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.TextBoxDirective, selector: "input[kendoTextBox]", inputs: ["value"] }, { type: i8$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i8$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i8$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
|
|
4205
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TaskFieldsComponent, decorators: [{
|
|
4233
4206
|
type: Component,
|
|
4234
4207
|
args: [{
|
|
4235
4208
|
selector: 'kendo-gantt-task-fields',
|
|
@@ -4348,8 +4321,8 @@ class DependenciesTableComponent {
|
|
|
4348
4321
|
this.formGroups.removeAt(selectedIndex);
|
|
4349
4322
|
}
|
|
4350
4323
|
}
|
|
4351
|
-
DependenciesTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
4352
|
-
DependenciesTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
|
|
4324
|
+
DependenciesTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DependenciesTableComponent, deps: [{ token: MappingService }, { token: EditService }, { token: GanttLocalizationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
4325
|
+
DependenciesTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: DependenciesTableComponent, selector: "kendo-gantt-dependencies-table", inputs: { tasks: "tasks", dependencies: "dependencies", dependencyType: "dependencyType" }, outputs: { dependenciesChange: "dependenciesChange" }, ngImport: i0, template: `
|
|
4353
4326
|
<kendo-grid
|
|
4354
4327
|
[data]="dependencies"
|
|
4355
4328
|
[selectable]="{ mode: 'single' }"
|
|
@@ -4390,8 +4363,8 @@ DependenciesTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
|
|
|
4390
4363
|
</ng-template>
|
|
4391
4364
|
</kendo-grid-column>
|
|
4392
4365
|
</kendo-grid>
|
|
4393
|
-
`, isInline: true, components: [{ type: i4$1.GridComponent, selector: "kendo-grid", inputs: ["data", "pageSize", "height", "rowHeight", "detailRowHeight", "skip", "scrollable", "selectable", "sort", "trackBy", "filter", "group", "virtualColumns", "filterable", "sortable", "pageable", "groupable", "navigable", "navigatable", "autoSize", "rowClass", "rowSticky", "rowSelected", "cellSelected", "resizable", "reorderable", "loading", "columnMenu", "hideHeader", "isDetailExpanded", "isGroupExpanded"], outputs: ["filterChange", "pageChange", "groupChange", "sortChange", "selectionChange", "dataStateChange", "groupExpand", "groupCollapse", "detailExpand", "detailCollapse", "edit", "cancel", "save", "remove", "add", "cellClose", "cellClick", "pdfExport", "excelExport", "columnResize", "columnReorder", "columnVisibilityChange", "columnLockedChange", "columnStickyChange", "scrollBottom", "contentScroll"], exportAs: ["kendoGrid"] }, { type: i4$1.ColumnComponent, selector: "kendo-grid-column", inputs: ["field", "format", "sortable", "groupable", "editor", "filter", "filterable", "editable"] }, { type:
|
|
4394
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
4366
|
+
`, isInline: true, components: [{ type: i4$1.GridComponent, selector: "kendo-grid", inputs: ["data", "pageSize", "height", "rowHeight", "detailRowHeight", "skip", "scrollable", "selectable", "sort", "trackBy", "filter", "group", "virtualColumns", "filterable", "sortable", "pageable", "groupable", "navigable", "navigatable", "autoSize", "rowClass", "rowSticky", "rowSelected", "cellSelected", "resizable", "reorderable", "loading", "columnMenu", "hideHeader", "isDetailExpanded", "isGroupExpanded"], outputs: ["filterChange", "pageChange", "groupChange", "sortChange", "selectionChange", "dataStateChange", "groupExpand", "groupCollapse", "detailExpand", "detailCollapse", "edit", "cancel", "save", "remove", "add", "cellClose", "cellClick", "pdfExport", "excelExport", "columnResize", "columnReorder", "columnVisibilityChange", "columnLockedChange", "columnStickyChange", "scrollBottom", "contentScroll"], exportAs: ["kendoGrid"] }, { type: i2.Button, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { type: i4$1.ColumnComponent, selector: "kendo-grid-column", inputs: ["field", "format", "sortable", "groupable", "editor", "filter", "filterable", "editable"] }, { type: i6$2.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }], directives: [{ type: i4$1.SelectionDirective, selector: "[kendoGridSelectBy]" }, { type: i4$1.ToolbarTemplateDirective, selector: "[kendoGridToolbarTemplate]", inputs: ["position"] }, { type: i4$1.CellTemplateDirective, selector: "[kendoGridCellTemplate]" }, { type: i8$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i8$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
4367
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DependenciesTableComponent, decorators: [{
|
|
4395
4368
|
type: Component,
|
|
4396
4369
|
args: [{
|
|
4397
4370
|
selector: 'kendo-gantt-dependencies-table',
|
|
@@ -4488,8 +4461,8 @@ class EditDialogComponent {
|
|
|
4488
4461
|
this.editService.taskDelete.next(this.editService.dataItem);
|
|
4489
4462
|
}
|
|
4490
4463
|
}
|
|
4491
|
-
EditDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
4492
|
-
EditDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
|
|
4464
|
+
EditDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: EditDialogComponent, deps: [{ token: MappingService }, { token: EditService }, { token: i0.ChangeDetectorRef }, { token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
4465
|
+
EditDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: EditDialogComponent, selector: "kendo-gantt-edit-dialog", inputs: { data: "data" }, ngImport: i0, template: `
|
|
4493
4466
|
<kendo-dialog
|
|
4494
4467
|
[title]="getText('taskEditingDialogTitle')"
|
|
4495
4468
|
[width]="575"
|
|
@@ -4498,7 +4471,7 @@ EditDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
|
|
|
4498
4471
|
<kendo-dialog-messages
|
|
4499
4472
|
[closeTitle]="getText('taskEditingDialogCloseTitle')"></kendo-dialog-messages>
|
|
4500
4473
|
|
|
4501
|
-
<kendo-tabstrip [keepTabContent]="true" style="
|
|
4474
|
+
<kendo-tabstrip [keepTabContent]="true" [style.height.px]="345">
|
|
4502
4475
|
<kendo-tabstrip-tab [title]="getText('taskEditingGeneralTabTitle')" [selected]="true">
|
|
4503
4476
|
<ng-template kendoTabContent>
|
|
4504
4477
|
<kendo-gantt-task-fields></kendo-gantt-task-fields>
|
|
@@ -4540,8 +4513,8 @@ EditDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
|
|
|
4540
4513
|
<button kendoButton (click)="handleEditingResult('cancel')">{{ getText('cancelButtonText') }}</button>
|
|
4541
4514
|
</kendo-dialog-actions>
|
|
4542
4515
|
</kendo-dialog>
|
|
4543
|
-
`, isInline: true, components: [{ type: i4$2.DialogComponent, selector: "kendo-dialog", inputs: ["actions", "actionsLayout", "autoFocusedElement", "title", "width", "minWidth", "maxWidth", "height", "minHeight", "maxHeight", "animation"], outputs: ["action", "close"], exportAs: ["kendoDialog"] }, { type: i5$
|
|
4544
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
4516
|
+
`, isInline: true, components: [{ type: i4$2.DialogComponent, selector: "kendo-dialog", inputs: ["actions", "actionsLayout", "autoFocusedElement", "title", "width", "minWidth", "maxWidth", "height", "minHeight", "maxHeight", "animation"], outputs: ["action", "close"], exportAs: ["kendoDialog"] }, { type: i5$1.TabStripComponent, selector: "kendo-tabstrip", inputs: ["height", "animate", "tabAlignment", "tabPosition", "keepTabContent", "closable", "scrollable", "closeIcon"], outputs: ["tabSelect", "tabClose", "tabScroll"], exportAs: ["kendoTabStrip"] }, { type: i5$1.TabStripTabComponent, selector: "kendo-tabstrip-tab", inputs: ["title", "disabled", "cssClass", "cssStyle", "selected", "closable", "closeIcon"], exportAs: ["kendoTabStripTab"] }, { type: TaskFieldsComponent, selector: "kendo-gantt-task-fields" }, { type: DependenciesTableComponent, selector: "kendo-gantt-dependencies-table", inputs: ["tasks", "dependencies", "dependencyType"], outputs: ["dependenciesChange"] }, { type: i4$2.DialogActionsComponent, selector: "kendo-dialog-actions", inputs: ["actions", "layout"], outputs: ["action"] }, { type: i2.Button, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { type: i11.TreeListSpacerComponent, selector: "kendo-treelist-spacer, kendo-treelist-pager-spacer", inputs: ["width"] }], directives: [{ type: i4$2.CustomMessagesComponent, selector: "kendo-dialog-messages, kendo-window-messages" }, { type: i5$1.TabContentDirective, selector: "[kendoTabContent]" }, { type: i8.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }] });
|
|
4517
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: EditDialogComponent, decorators: [{
|
|
4545
4518
|
type: Component,
|
|
4546
4519
|
args: [{
|
|
4547
4520
|
selector: 'kendo-gantt-edit-dialog',
|
|
@@ -4554,7 +4527,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
4554
4527
|
<kendo-dialog-messages
|
|
4555
4528
|
[closeTitle]="getText('taskEditingDialogCloseTitle')"></kendo-dialog-messages>
|
|
4556
4529
|
|
|
4557
|
-
<kendo-tabstrip [keepTabContent]="true" style="
|
|
4530
|
+
<kendo-tabstrip [keepTabContent]="true" [style.height.px]="345">
|
|
4558
4531
|
<kendo-tabstrip-tab [title]="getText('taskEditingGeneralTabTitle')" [selected]="true">
|
|
4559
4532
|
<ng-template kendoTabContent>
|
|
4560
4533
|
<kendo-gantt-task-fields></kendo-gantt-task-fields>
|
|
@@ -4607,9 +4580,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
4607
4580
|
*/
|
|
4608
4581
|
class Messages extends ComponentMessages {
|
|
4609
4582
|
}
|
|
4610
|
-
Messages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
4611
|
-
Messages.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "
|
|
4612
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
4583
|
+
Messages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: Messages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
4584
|
+
Messages.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: Messages, selector: "kendo-gantt-messages-base", inputs: { taskEditingGeneralTabTitle: "taskEditingGeneralTabTitle", taskEditingPredecessorsTabTitle: "taskEditingPredecessorsTabTitle", taskEditingSuccessorsTabTitle: "taskEditingSuccessorsTabTitle", taskEditingDependenciesAddButtonText: "taskEditingDependenciesAddButtonText", taskEditingDependenciesRemoveButtonText: "taskEditingDependenciesRemoveButtonText", taskEditingDependenciesGridNameColumnTitle: "taskEditingDependenciesGridNameColumnTitle", taskEditingDependenciesGridTypeColumnTitle: "taskEditingDependenciesGridTypeColumnTitle", deleteButtonText: "deleteButtonText", taskDeleteLabel: "taskDeleteLabel", taskEditingDialogTitle: "taskEditingDialogTitle", taskEditingDialogCloseTitle: "taskEditingDialogCloseTitle", confirmationDialogCloseTitle: "confirmationDialogCloseTitle", confirmationDialogTitle: "confirmationDialogTitle", addTaskText: "addTaskText", addChildText: "addChildText", addAboveText: "addAboveText", addBelowText: "addBelowText", cancelButtonText: "cancelButtonText", saveButtonText: "saveButtonText", titleFieldInputLabel: "titleFieldInputLabel", startFieldInputLabel: "startFieldInputLabel", endFieldInputLabel: "endFieldInputLabel", completionRatioFieldInputLabel: "completionRatioFieldInputLabel", confirmationDialogContent: "confirmationDialogContent", dayViewText: "dayViewText", weekViewText: "weekViewText", monthViewText: "monthViewText", yearViewText: "yearViewText", noRecords: "noRecords", filter: "filter", filterEqOperator: "filterEqOperator", filterNotEqOperator: "filterNotEqOperator", filterIsNullOperator: "filterIsNullOperator", filterIsNotNullOperator: "filterIsNotNullOperator", filterIsEmptyOperator: "filterIsEmptyOperator", filterIsNotEmptyOperator: "filterIsNotEmptyOperator", filterStartsWithOperator: "filterStartsWithOperator", filterContainsOperator: "filterContainsOperator", filterNotContainsOperator: "filterNotContainsOperator", filterEndsWithOperator: "filterEndsWithOperator", filterGteOperator: "filterGteOperator", filterGtOperator: "filterGtOperator", filterLteOperator: "filterLteOperator", filterLtOperator: "filterLtOperator", filterIsTrue: "filterIsTrue", filterIsFalse: "filterIsFalse", filterBooleanAll: "filterBooleanAll", filterAfterOrEqualOperator: "filterAfterOrEqualOperator", filterAfterOperator: "filterAfterOperator", filterBeforeOperator: "filterBeforeOperator", filterBeforeOrEqualOperator: "filterBeforeOrEqualOperator", filterFilterButton: "filterFilterButton", filterClearButton: "filterClearButton", filterAndLogic: "filterAndLogic", filterOrLogic: "filterOrLogic", loading: "loading", columnMenu: "columnMenu", columns: "columns", lock: "lock", unlock: "unlock", sortable: "sortable", sortAscending: "sortAscending", sortDescending: "sortDescending", sortedAscending: "sortedAscending", sortedDescending: "sortedDescending", sortedDefault: "sortedDefault", columnsApply: "columnsApply", columnsReset: "columnsReset" }, usesInheritance: true, ngImport: i0 });
|
|
4585
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: Messages, decorators: [{
|
|
4613
4586
|
type: Directive,
|
|
4614
4587
|
args: [{
|
|
4615
4588
|
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
@@ -4762,14 +4735,14 @@ class LocalizedMessagesDirective extends Messages {
|
|
|
4762
4735
|
this.service = service;
|
|
4763
4736
|
}
|
|
4764
4737
|
}
|
|
4765
|
-
LocalizedMessagesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
4766
|
-
LocalizedMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "
|
|
4738
|
+
LocalizedMessagesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: LocalizedMessagesDirective, deps: [{ token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
4739
|
+
LocalizedMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: LocalizedMessagesDirective, selector: "[kendoGanttLocalizedMessages]", providers: [
|
|
4767
4740
|
{
|
|
4768
4741
|
provide: Messages,
|
|
4769
4742
|
useExisting: forwardRef(() => LocalizedMessagesDirective)
|
|
4770
4743
|
}
|
|
4771
4744
|
], usesInheritance: true, ngImport: i0 });
|
|
4772
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
4745
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: LocalizedMessagesDirective, decorators: [{
|
|
4773
4746
|
type: Directive,
|
|
4774
4747
|
args: [{
|
|
4775
4748
|
providers: [
|
|
@@ -5113,9 +5086,9 @@ class GanttComponent {
|
|
|
5113
5086
|
this.showConfirmationDialog = false;
|
|
5114
5087
|
this._columns = new QueryList();
|
|
5115
5088
|
this._data = [];
|
|
5116
|
-
this._dragScrollSettings =
|
|
5117
|
-
this._timelinePaneOptions =
|
|
5118
|
-
this._treeListPaneOptions =
|
|
5089
|
+
this._dragScrollSettings = { ...DEFAULT_DRAG_SCROLL_SETTINGS };
|
|
5090
|
+
this._timelinePaneOptions = { ...DEFAULT_TIMELINE_PANE_SETTINGS };
|
|
5091
|
+
this._treeListPaneOptions = { ...DEFAULT_TREELIST_PANE_SETTINGS };
|
|
5119
5092
|
this._rowClass = rowClassCallback;
|
|
5120
5093
|
this._taskClass = taskClassCallback;
|
|
5121
5094
|
this._activeView = DEFAULT_VIEW;
|
|
@@ -5295,17 +5268,17 @@ class GanttComponent {
|
|
|
5295
5268
|
if (this._timelinePaneOptions.collapsed && !value.collapsed) {
|
|
5296
5269
|
this.dependencyDomService.notifyChanges();
|
|
5297
5270
|
}
|
|
5298
|
-
this._timelinePaneOptions =
|
|
5271
|
+
this._timelinePaneOptions = { ...DEFAULT_TIMELINE_PANE_SETTINGS, ...value };
|
|
5299
5272
|
}
|
|
5300
5273
|
get timelinePaneOptions() {
|
|
5301
|
-
return
|
|
5274
|
+
return { ...this._timelinePaneOptions, size: this.treeListPaneOptions.collapsed ? '100%' : this._timelinePaneOptions.size };
|
|
5302
5275
|
}
|
|
5303
5276
|
/**
|
|
5304
5277
|
* The options of the treelist splitter pane.
|
|
5305
5278
|
* By default the pane is `collapsible` and not `collapsed`.
|
|
5306
5279
|
*/
|
|
5307
5280
|
set treeListPaneOptions(value) {
|
|
5308
|
-
this._treeListPaneOptions =
|
|
5281
|
+
this._treeListPaneOptions = { ...DEFAULT_TREELIST_PANE_SETTINGS, ...value };
|
|
5309
5282
|
}
|
|
5310
5283
|
get treeListPaneOptions() {
|
|
5311
5284
|
return this._treeListPaneOptions;
|
|
@@ -5348,7 +5321,7 @@ class GanttComponent {
|
|
|
5348
5321
|
* [see example]({% slug editing_drag_create_dependencies_gantt %}#toc-auto-scrolling).
|
|
5349
5322
|
*/
|
|
5350
5323
|
set dragScrollSettings(settings) {
|
|
5351
|
-
this._dragScrollSettings =
|
|
5324
|
+
this._dragScrollSettings = { ...DEFAULT_DRAG_SCROLL_SETTINGS, ...settings };
|
|
5352
5325
|
}
|
|
5353
5326
|
get dragScrollSettings() {
|
|
5354
5327
|
return this._dragScrollSettings;
|
|
@@ -5598,7 +5571,7 @@ class GanttComponent {
|
|
|
5598
5571
|
* @hidden
|
|
5599
5572
|
*/
|
|
5600
5573
|
handleCellClose(e) {
|
|
5601
|
-
this.cellClose.emit(new CellCloseEvent(
|
|
5574
|
+
this.cellClose.emit(new CellCloseEvent({ ...e, item: this.editItem, sender: this }));
|
|
5602
5575
|
this.dependencyDomService.notifyChanges();
|
|
5603
5576
|
}
|
|
5604
5577
|
/**
|
|
@@ -5628,7 +5601,13 @@ class GanttComponent {
|
|
|
5628
5601
|
return;
|
|
5629
5602
|
}
|
|
5630
5603
|
const activeViewOptions = this.getActiveViewOptions();
|
|
5631
|
-
this.viewService.options =
|
|
5604
|
+
this.viewService.options = {
|
|
5605
|
+
workWeekStart: this.workWeekStart,
|
|
5606
|
+
workWeekEnd: this.workWeekEnd,
|
|
5607
|
+
workDayStart: this.workDayStart,
|
|
5608
|
+
workDayEnd: this.workDayEnd,
|
|
5609
|
+
...activeViewOptions
|
|
5610
|
+
};
|
|
5632
5611
|
this.tableWidth = this.viewService.getTableWidth(this.data);
|
|
5633
5612
|
const [groupedSlots, slots] = this.viewService.getSlots(this.data);
|
|
5634
5613
|
this.timelineSlots = slots;
|
|
@@ -5977,7 +5956,10 @@ class GanttComponent {
|
|
|
5977
5956
|
// the TreeList emits the individual events first, then the combined `expandStateChange` event
|
|
5978
5957
|
const individualEmitter = shouldExpand ? this.rowExpand : this.rowCollapse;
|
|
5979
5958
|
individualEmitter.emit(expandEvent);
|
|
5980
|
-
this.expandStateChange.emit(
|
|
5959
|
+
this.expandStateChange.emit({
|
|
5960
|
+
...expandEvent,
|
|
5961
|
+
expand: shouldExpand
|
|
5962
|
+
});
|
|
5981
5963
|
this.updateView();
|
|
5982
5964
|
this.navigation.scrollHorizontallyToTask();
|
|
5983
5965
|
});
|
|
@@ -6006,8 +5988,8 @@ class GanttComponent {
|
|
|
6006
5988
|
}
|
|
6007
5989
|
}
|
|
6008
5990
|
}
|
|
6009
|
-
GanttComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
6010
|
-
GanttComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
|
|
5991
|
+
GanttComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttComponent, deps: [{ token: TimelineViewService }, { token: ScrollSyncService }, { token: i0.Renderer2 }, { token: MappingService }, { token: OptionChangesService }, { token: DependencyDomService }, { token: EditService }, { token: i1$1.LocalizationService }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: NavigationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
5992
|
+
GanttComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: GanttComponent, selector: "kendo-gantt", inputs: { roleDescription: ["aria-roledescription", "roleDescription"], role: "role", taskModelFields: "taskModelFields", dependencyModelFields: "dependencyModelFields", activeView: "activeView", data: "data", isSelected: "isSelected", validateNewDependency: "validateNewDependency", selectable: "selectable", toolbarSettings: "toolbarSettings", fetchChildren: "fetchChildren", hasChildren: "hasChildren", dependencies: "dependencies", sortable: "sortable", sort: "sort", filterable: "filterable", filter: "filter", workDayStart: "workDayStart", workDayEnd: "workDayEnd", workWeekStart: "workWeekStart", workWeekEnd: "workWeekEnd", navigable: "navigable", timelinePaneOptions: "timelinePaneOptions", treeListPaneOptions: "treeListPaneOptions", taskClass: "taskClass", rowClass: "rowClass", isExpanded: "isExpanded", columnsAutoSize: "columnsAutoSize", columnMenu: "columnMenu", columnsReorderable: "columnsReorderable", columnsResizable: "columnsResizable", dragScrollSettings: "dragScrollSettings" }, outputs: { selectionChange: "selectionChange", rowExpand: "rowExpand", taskDblClick: "taskDblClick", cellDblClick: "cellDblClick", cellClose: "cellClose", taskDelete: "taskDelete", rowCollapse: "rowCollapse", remove: "remove", cancel: "cancel", save: "save", taskAdd: "taskAdd", dependencyAdd: "dependencyAdd", sortChange: "sortChange", filterChange: "filterChange", dataStateChange: "dataStateChange", treeListPaneCollapsedChange: "treeListPaneCollapsedChange", timelinePaneCollapsedChange: "timelinePaneCollapsedChange", timelinePaneSizeChange: "timelinePaneSizeChange", activeViewChange: "activeViewChange", columnResize: "columnResize", columnReorder: "columnReorder", columnVisibilityChange: "columnVisibilityChange", columnLockedChange: "columnLockedChange", cellClick: "cellClick", taskClick: "taskClick" }, host: { properties: { "attr.aria-roledescription": "this.hostRoleDescriptionAttr", "attr.role": "this.hostRoleAttr", "class.k-gantt": "this.hostClasses", "attr.dir": "this.dir" } }, providers: [
|
|
6011
5993
|
GanttLocalizationService,
|
|
6012
5994
|
LocalizationService,
|
|
6013
5995
|
{
|
|
@@ -6400,8 +6382,8 @@ GanttComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version
|
|
|
6400
6382
|
<button kendoButton (click)="handleConfirmationDialogClose()">{{ getText('cancelButtonText') }}</button>
|
|
6401
6383
|
</kendo-dialog-actions>
|
|
6402
6384
|
</kendo-dialog>
|
|
6403
|
-
`, isInline: true, components: [{ type: ToolbarComponent, selector: "kendo-gantt-toolbar", inputs: ["showAddTask", "showViewSelector", "views", "activeView", "toolbarTemplate", "position"], outputs: ["activeViewChange"] }, { type: i5$
|
|
6404
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
6385
|
+
`, isInline: true, components: [{ type: ToolbarComponent, selector: "kendo-gantt-toolbar", inputs: ["showAddTask", "showViewSelector", "views", "activeView", "toolbarTemplate", "position"], outputs: ["activeViewChange"] }, { type: i5$1.SplitterComponent, selector: "kendo-splitter", inputs: ["orientation", "resizeStep"], outputs: ["layoutChange"], exportAs: ["kendoSplitter"] }, { type: i5$1.SplitterPaneComponent, selector: "kendo-splitter-pane", inputs: ["order", "size", "separatorLabel", "min", "max", "resizable", "collapsible", "scrollable", "collapsed", "orientation", "containsSplitter", "overlayContent"], outputs: ["sizeChange", "collapsedChange"], exportAs: ["kendoSplitterPane"] }, { type: i11.TreeListComponent, selector: "kendo-treelist", inputs: ["aria-label", "data", "pageSize", "height", "rowHeight", "skip", "scrollable", "sort", "trackBy", "filter", "virtualColumns", "filterable", "sortable", "pageable", "navigable", "navigatable", "autoSize", "rowClass", "resizable", "reorderable", "loading", "columnMenu", "hideHeader", "idField", "selectable", "isSelected", "columns", "fetchChildren", "hasChildren", "isExpanded"], outputs: ["selectionChange", "filterChange", "pageChange", "sortChange", "dataStateChange", "edit", "cancel", "save", "remove", "add", "cellClose", "cellClick", "pdfExport", "excelExport", "columnResize", "columnReorder", "columnVisibilityChange", "columnLockedChange", "scrollBottom", "contentScroll", "expand", "collapse", "expandStateChange"], exportAs: ["kendoTreeList"] }, { type: i11.CustomMessagesComponent, selector: "kendo-treelist-messages" }, { type: GanttTimelineComponent, selector: "kendo-gantt-timeline", inputs: ["rows", "slots", "groupSlots", "tableWidth", "activeView", "taskContentTemplate", "taskTemplate", "summaryTaskTemplate", "taskClass", "renderDependencyDragClues", "dragScrollSettings", "selectable", "isTaskSelected", "isExpanded", "dependencies"], outputs: ["timelineContainerPress", "timelineContainerDrag", "timelineContainerRelease"] }, { type: EditDialogComponent, selector: "kendo-gantt-edit-dialog", inputs: ["data"] }, { type: i4$2.DialogComponent, selector: "kendo-dialog", inputs: ["actions", "actionsLayout", "autoFocusedElement", "title", "width", "minWidth", "maxWidth", "height", "minHeight", "maxHeight", "animation"], outputs: ["action", "close"], exportAs: ["kendoDialog"] }, { type: i4$2.DialogActionsComponent, selector: "kendo-dialog-actions", inputs: ["actions", "layout"], outputs: ["action"] }, { type: i11.TreeListSpacerComponent, selector: "kendo-treelist-spacer, kendo-treelist-pager-spacer", inputs: ["width"] }, { type: i2.Button, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }], directives: [{ type: LocalizedMessagesDirective, selector: "[kendoGanttLocalizedMessages]" }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }] });
|
|
6386
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttComponent, decorators: [{
|
|
6405
6387
|
type: Component,
|
|
6406
6388
|
args: [{
|
|
6407
6389
|
selector: 'kendo-gantt',
|
|
@@ -6970,9 +6952,9 @@ class GanttFlatBindingDirective extends FlatBindingDirective {
|
|
|
6970
6952
|
super.aggregate = value;
|
|
6971
6953
|
}
|
|
6972
6954
|
}
|
|
6973
|
-
GanttFlatBindingDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
6974
|
-
GanttFlatBindingDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "
|
|
6975
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
6955
|
+
GanttFlatBindingDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttFlatBindingDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
6956
|
+
GanttFlatBindingDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: GanttFlatBindingDirective, selector: "[kendoGanttFlatBinding]", inputs: { data: ["kendoGanttFlatBinding", "data"] }, exportAs: ["kendoGanttFlatBinding"], usesInheritance: true, ngImport: i0 });
|
|
6957
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttFlatBindingDirective, decorators: [{
|
|
6976
6958
|
type: Directive,
|
|
6977
6959
|
args: [{
|
|
6978
6960
|
selector: '[kendoGanttFlatBinding]',
|
|
@@ -6995,9 +6977,9 @@ class GanttHierarchyBindingDirective extends HierarchyBindingDirective {
|
|
|
6995
6977
|
super.aggregate = value;
|
|
6996
6978
|
}
|
|
6997
6979
|
}
|
|
6998
|
-
GanttHierarchyBindingDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
6999
|
-
GanttHierarchyBindingDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "
|
|
7000
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
6980
|
+
GanttHierarchyBindingDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttHierarchyBindingDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
6981
|
+
GanttHierarchyBindingDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: GanttHierarchyBindingDirective, selector: "[kendoGanttHierarchyBinding]", inputs: { data: ["kendoGanttHierarchyBinding", "data"] }, exportAs: ["kendoGanttHierarchyBinding"], usesInheritance: true, ngImport: i0 });
|
|
6982
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttHierarchyBindingDirective, decorators: [{
|
|
7001
6983
|
type: Directive,
|
|
7002
6984
|
args: [{
|
|
7003
6985
|
selector: '[kendoGanttHierarchyBinding]',
|
|
@@ -7022,9 +7004,9 @@ class GanttExpandableDirective extends ExpandableDirective {
|
|
|
7022
7004
|
super.expandBy = value;
|
|
7023
7005
|
}
|
|
7024
7006
|
}
|
|
7025
|
-
GanttExpandableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
7026
|
-
GanttExpandableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "
|
|
7027
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
7007
|
+
GanttExpandableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttExpandableDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
7008
|
+
GanttExpandableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: GanttExpandableDirective, selector: "[kendoGanttExpandable]", inputs: { expandBy: "expandBy" }, exportAs: ["kendoGanttExpandable"], usesInheritance: true, ngImport: i0 });
|
|
7009
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttExpandableDirective, decorators: [{
|
|
7028
7010
|
type: Directive,
|
|
7029
7011
|
args: [{
|
|
7030
7012
|
exportAs: 'kendoGanttExpandable',
|
|
@@ -7120,9 +7102,9 @@ class SelectableDirective {
|
|
|
7120
7102
|
}
|
|
7121
7103
|
}
|
|
7122
7104
|
}
|
|
7123
|
-
SelectableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
7124
|
-
SelectableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "
|
|
7125
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
7105
|
+
SelectableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: SelectableDirective, deps: [{ token: GanttComponent }], target: i0.ɵɵFactoryTarget.Directive });
|
|
7106
|
+
SelectableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: SelectableDirective, selector: "[kendoGanttSelectable]", inputs: { selectable: "selectable", selectedKeys: "selectedKeys", itemKey: "itemKey" }, outputs: { selectedKeysChange: "selectedKeysChange" }, exportAs: ["kendoGanttSelectable"], ngImport: i0 });
|
|
7107
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: SelectableDirective, decorators: [{
|
|
7126
7108
|
type: Directive,
|
|
7127
7109
|
args: [{
|
|
7128
7110
|
exportAs: 'kendoGanttSelectable',
|
|
@@ -7151,8 +7133,8 @@ class DragValidationTooltipComponent {
|
|
|
7151
7133
|
this.isValid = false;
|
|
7152
7134
|
}
|
|
7153
7135
|
}
|
|
7154
|
-
DragValidationTooltipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
7155
|
-
DragValidationTooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
|
|
7136
|
+
DragValidationTooltipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DragValidationTooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
7137
|
+
DragValidationTooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: DragValidationTooltipComponent, selector: "ng-component", ngImport: i0, template: `
|
|
7156
7138
|
<div
|
|
7157
7139
|
class="k-tooltip k-gantt-tooltip-validation"
|
|
7158
7140
|
[class.k-gantt-tooltip-valid]="showValidityStatus && isValid"
|
|
@@ -7168,7 +7150,7 @@ DragValidationTooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
|
7168
7150
|
</div>
|
|
7169
7151
|
</div>
|
|
7170
7152
|
`, isInline: true });
|
|
7171
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
7153
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DragValidationTooltipComponent, decorators: [{
|
|
7172
7154
|
type: Component,
|
|
7173
7155
|
args: [{
|
|
7174
7156
|
template: `
|
|
@@ -7483,9 +7465,9 @@ class DependencyDragCreateDirective {
|
|
|
7483
7465
|
};
|
|
7484
7466
|
}
|
|
7485
7467
|
}
|
|
7486
|
-
DependencyDragCreateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
7487
|
-
DependencyDragCreateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "
|
|
7488
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
7468
|
+
DependencyDragCreateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DependencyDragCreateDirective, deps: [{ token: GanttComponent }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: MappingService }, { token: i3.PopupService }, { token: TimelineScrollService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
7469
|
+
DependencyDragCreateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: DependencyDragCreateDirective, selector: "[kendoGanttDependencyDragCreate]", inputs: { displayValidationTooltip: "displayValidationTooltip" }, ngImport: i0 });
|
|
7470
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DependencyDragCreateDirective, decorators: [{
|
|
7489
7471
|
type: Directive,
|
|
7490
7472
|
args: [{
|
|
7491
7473
|
selector: '[kendoGanttDependencyDragCreate]'
|
|
@@ -7503,14 +7485,14 @@ class TimelineDayViewComponent extends ViewBase {
|
|
|
7503
7485
|
this.type = 'day';
|
|
7504
7486
|
}
|
|
7505
7487
|
}
|
|
7506
|
-
TimelineDayViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
7507
|
-
TimelineDayViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
|
|
7488
|
+
TimelineDayViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineDayViewComponent, deps: [{ token: OptionChangesService }, { token: DependencyDomService }], target: i0.ɵɵFactoryTarget.Component });
|
|
7489
|
+
TimelineDayViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: TimelineDayViewComponent, selector: "kendo-gantt-timeline-day-view", providers: [
|
|
7508
7490
|
{
|
|
7509
7491
|
provide: ViewBase,
|
|
7510
7492
|
useExisting: forwardRef(() => TimelineDayViewComponent)
|
|
7511
7493
|
}
|
|
7512
7494
|
], usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
7513
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
7495
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineDayViewComponent, decorators: [{
|
|
7514
7496
|
type: Component,
|
|
7515
7497
|
args: [{
|
|
7516
7498
|
selector: 'kendo-gantt-timeline-day-view',
|
|
@@ -7533,14 +7515,14 @@ class TimelineWeekViewComponent extends ViewBase {
|
|
|
7533
7515
|
this.type = 'week';
|
|
7534
7516
|
}
|
|
7535
7517
|
}
|
|
7536
|
-
TimelineWeekViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
7537
|
-
TimelineWeekViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
|
|
7518
|
+
TimelineWeekViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineWeekViewComponent, deps: [{ token: OptionChangesService }, { token: DependencyDomService }], target: i0.ɵɵFactoryTarget.Component });
|
|
7519
|
+
TimelineWeekViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: TimelineWeekViewComponent, selector: "kendo-gantt-timeline-week-view", providers: [
|
|
7538
7520
|
{
|
|
7539
7521
|
provide: ViewBase,
|
|
7540
7522
|
useExisting: forwardRef(() => TimelineWeekViewComponent)
|
|
7541
7523
|
}
|
|
7542
7524
|
], usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
7543
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
7525
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineWeekViewComponent, decorators: [{
|
|
7544
7526
|
type: Component,
|
|
7545
7527
|
args: [{
|
|
7546
7528
|
selector: 'kendo-gantt-timeline-week-view',
|
|
@@ -7563,14 +7545,14 @@ class TimelineMonthViewComponent extends ViewBase {
|
|
|
7563
7545
|
this.type = 'month';
|
|
7564
7546
|
}
|
|
7565
7547
|
}
|
|
7566
|
-
TimelineMonthViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
7567
|
-
TimelineMonthViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
|
|
7548
|
+
TimelineMonthViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineMonthViewComponent, deps: [{ token: OptionChangesService }, { token: DependencyDomService }], target: i0.ɵɵFactoryTarget.Component });
|
|
7549
|
+
TimelineMonthViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: TimelineMonthViewComponent, selector: "kendo-gantt-timeline-month-view", providers: [
|
|
7568
7550
|
{
|
|
7569
7551
|
provide: ViewBase,
|
|
7570
7552
|
useExisting: forwardRef(() => TimelineMonthViewComponent)
|
|
7571
7553
|
}
|
|
7572
7554
|
], usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
7573
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
7555
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineMonthViewComponent, decorators: [{
|
|
7574
7556
|
type: Component,
|
|
7575
7557
|
args: [{
|
|
7576
7558
|
selector: 'kendo-gantt-timeline-month-view',
|
|
@@ -7593,14 +7575,14 @@ class TimelineYearViewComponent extends ViewBase {
|
|
|
7593
7575
|
this.type = 'year';
|
|
7594
7576
|
}
|
|
7595
7577
|
}
|
|
7596
|
-
TimelineYearViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
7597
|
-
TimelineYearViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
|
|
7578
|
+
TimelineYearViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineYearViewComponent, deps: [{ token: OptionChangesService }, { token: DependencyDomService }], target: i0.ɵɵFactoryTarget.Component });
|
|
7579
|
+
TimelineYearViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: TimelineYearViewComponent, selector: "kendo-gantt-timeline-year-view", providers: [
|
|
7598
7580
|
{
|
|
7599
7581
|
provide: ViewBase,
|
|
7600
7582
|
useExisting: forwardRef(() => TimelineYearViewComponent)
|
|
7601
7583
|
}
|
|
7602
7584
|
], usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
7603
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
7585
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineYearViewComponent, decorators: [{
|
|
7604
7586
|
type: Component,
|
|
7605
7587
|
args: [{
|
|
7606
7588
|
selector: 'kendo-gantt-timeline-year-view',
|
|
@@ -7627,14 +7609,14 @@ class CustomMessagesComponent extends Messages {
|
|
|
7627
7609
|
return true;
|
|
7628
7610
|
}
|
|
7629
7611
|
}
|
|
7630
|
-
CustomMessagesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
7631
|
-
CustomMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
|
|
7612
|
+
CustomMessagesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CustomMessagesComponent, deps: [{ token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
7613
|
+
CustomMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CustomMessagesComponent, selector: "kendo-gantt-messages", providers: [
|
|
7632
7614
|
{
|
|
7633
7615
|
provide: Messages,
|
|
7634
7616
|
useExisting: forwardRef(() => CustomMessagesComponent)
|
|
7635
7617
|
}
|
|
7636
7618
|
], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
|
|
7637
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
7619
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CustomMessagesComponent, decorators: [{
|
|
7638
7620
|
type: Component,
|
|
7639
7621
|
args: [{
|
|
7640
7622
|
providers: [
|
|
@@ -7742,8 +7724,8 @@ const DECLARATIONS = [
|
|
|
7742
7724
|
*/
|
|
7743
7725
|
class GanttModule {
|
|
7744
7726
|
}
|
|
7745
|
-
GanttModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
7746
|
-
GanttModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "
|
|
7727
|
+
GanttModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
7728
|
+
GanttModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttModule, declarations: [GanttComponent,
|
|
7747
7729
|
GanttFlatBindingDirective,
|
|
7748
7730
|
GanttHierarchyBindingDirective,
|
|
7749
7731
|
GanttTaskComponent,
|
|
@@ -7839,14 +7821,14 @@ GanttModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "1
|
|
|
7839
7821
|
TimelineScrollableDirective,
|
|
7840
7822
|
DependenciesTableComponent,
|
|
7841
7823
|
TaskFieldsComponent] });
|
|
7842
|
-
GanttModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
7824
|
+
GanttModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttModule, providers: [{
|
|
7843
7825
|
provide: L10N_PREFIX,
|
|
7844
7826
|
useValue: 'kendo.gantt'
|
|
7845
7827
|
}, {
|
|
7846
7828
|
provide: TOUCH_ENABLED,
|
|
7847
7829
|
useValue: touchEnabled
|
|
7848
7830
|
}], imports: [[...IMPORTED_MODULES]] });
|
|
7849
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
7831
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttModule, decorators: [{
|
|
7850
7832
|
type: NgModule,
|
|
7851
7833
|
args: [{
|
|
7852
7834
|
imports: [...IMPORTED_MODULES],
|