@progress/kendo-angular-gantt 2.1.0 → 11.0.0-develop.100
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} +20 -14
- 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} +11 -9
- 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} +39 -35
- 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} +9 -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 +7890 -0
- package/{fesm2015/kendo-angular-gantt.js → fesm2020/progress-kendo-angular-gantt.mjs} +868 -874
- 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 +38 -65
- package/{kendo-angular-gantt.d.ts → progress-kendo-angular-gantt.d.ts} +2 -2
- package/rendering/gantt-header-table-body.component.d.ts +2 -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 +3 -2
- 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 © 2023 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
|
-
import { Injectable, Component, Input, InjectionToken, EventEmitter, Directive,
|
|
6
|
+
import { Injectable, Component, HostBinding, Input, InjectionToken, EventEmitter, Directive, 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: 1673469430,
|
|
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
|
|
|
@@ -656,33 +656,39 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
656
656
|
* @hidden
|
|
657
657
|
*/
|
|
658
658
|
class GanttHeaderTableBodyComponent {
|
|
659
|
+
constructor() {
|
|
660
|
+
this.tbodyClass = true;
|
|
661
|
+
}
|
|
659
662
|
}
|
|
660
|
-
GanttHeaderTableBodyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
661
|
-
GanttHeaderTableBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
|
|
662
|
-
<tr>
|
|
663
|
-
<td *ngFor="let item of groupSlots" [attr.colspan]="item.span" class="k-header">{{ item.text }}</td>
|
|
663
|
+
GanttHeaderTableBodyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttHeaderTableBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
664
|
+
GanttHeaderTableBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: GanttHeaderTableBodyComponent, selector: "[kendoGanttHeaderTableBody]", inputs: { groupSlots: "groupSlots", slots: "slots" }, host: { properties: { "class.k-table-tbody": "this.tbodyClass" } }, ngImport: i0, template: `
|
|
665
|
+
<tr class="k-table-row">
|
|
666
|
+
<td *ngFor="let item of groupSlots" [attr.colspan]="item.span" class="k-header k-table-td">{{ item.text }}</td>
|
|
664
667
|
</tr>
|
|
665
668
|
|
|
666
|
-
<tr>
|
|
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>
|
|
669
|
+
<tr class="k-table-row">
|
|
670
|
+
<td *ngFor="let item of slots" class="k-header k-table-td" [attr.colspan]="item.span === 7 ? item.span : 1" [attr.title]="item.text">{{ item.text }}</td>
|
|
668
671
|
</tr>
|
|
669
672
|
`, isInline: true, directives: [{ type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
670
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
673
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttHeaderTableBodyComponent, decorators: [{
|
|
671
674
|
type: Component,
|
|
672
675
|
args: [{
|
|
673
676
|
// eslint-disable-next-line @angular-eslint/component-selector
|
|
674
677
|
selector: '[kendoGanttHeaderTableBody]',
|
|
675
678
|
template: `
|
|
676
|
-
<tr>
|
|
677
|
-
<td *ngFor="let item of groupSlots" [attr.colspan]="item.span" class="k-header">{{ item.text }}</td>
|
|
679
|
+
<tr class="k-table-row">
|
|
680
|
+
<td *ngFor="let item of groupSlots" [attr.colspan]="item.span" class="k-header k-table-td">{{ item.text }}</td>
|
|
678
681
|
</tr>
|
|
679
682
|
|
|
680
|
-
<tr>
|
|
681
|
-
<td *ngFor="let item of slots" class="k-header" [attr.colspan]="item.span === 7 ? item.span : 1" [attr.title]="item.text">{{ item.text }}</td>
|
|
683
|
+
<tr class="k-table-row">
|
|
684
|
+
<td *ngFor="let item of slots" class="k-header k-table-td" [attr.colspan]="item.span === 7 ? item.span : 1" [attr.title]="item.text">{{ item.text }}</td>
|
|
682
685
|
</tr>
|
|
683
686
|
`
|
|
684
687
|
}]
|
|
685
|
-
}], propDecorators: {
|
|
688
|
+
}], propDecorators: { tbodyClass: [{
|
|
689
|
+
type: HostBinding,
|
|
690
|
+
args: ['class.k-table-tbody']
|
|
691
|
+
}], groupSlots: [{
|
|
686
692
|
type: Input
|
|
687
693
|
}], slots: [{
|
|
688
694
|
type: Input
|
|
@@ -691,40 +697,318 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
691
697
|
/**
|
|
692
698
|
* @hidden
|
|
693
699
|
*/
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
700
|
+
class NavigationService {
|
|
701
|
+
constructor(zone, renderer, scrollSyncService) {
|
|
702
|
+
this.zone = zone;
|
|
703
|
+
this.renderer = renderer;
|
|
704
|
+
this.scrollSyncService = scrollSyncService;
|
|
705
|
+
/**
|
|
706
|
+
* Notifies when the tasks' focused and interactive (tabindex) state has changed.
|
|
707
|
+
*
|
|
708
|
+
* All tasks are rendered with tabindex="-1".
|
|
709
|
+
* 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.
|
|
710
|
+
* All other tasks should get -1 tabindex and have the focus class removed from them.
|
|
711
|
+
*/
|
|
712
|
+
this.taskStatusChanges = new Subject();
|
|
713
|
+
/**
|
|
714
|
+
* Keeps track of whether the Timeline part is focused.
|
|
715
|
+
* Used when the index of the task elements change (tasks are changed, pushed to, spliced from, etc.)
|
|
716
|
+
* and their status should be updated accordingly.
|
|
717
|
+
*/
|
|
718
|
+
this.isTimelineFocused = false;
|
|
719
|
+
/**
|
|
720
|
+
* Keeps track of which part has last been focused.
|
|
721
|
+
* Used when calling `gantt.focus()` to determine which part of the component should receive focus.
|
|
722
|
+
*/
|
|
723
|
+
this.treeListLastActive = false;
|
|
724
|
+
/**
|
|
725
|
+
* Keeps track of which part has last been focused.
|
|
726
|
+
* Used when calling `gantt.focus()` to determine which part of the component should receive focus.
|
|
727
|
+
*/
|
|
728
|
+
this.timelineLastActive = false;
|
|
729
|
+
this._enabled = false;
|
|
730
|
+
this._activeTimelineIndex = 0;
|
|
731
|
+
this._activeTreeListCell = { rowIndex: 0, colIndex: 0 };
|
|
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
|
+
* Specifies whether navigation is enabled.
|
|
724
735
|
*/
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
736
|
+
get enabled() {
|
|
737
|
+
return this._enabled;
|
|
738
|
+
}
|
|
739
|
+
/**
|
|
740
|
+
* Used to retrieve read-only data about the currently active task.
|
|
741
|
+
*/
|
|
742
|
+
get activeTask() {
|
|
743
|
+
return {
|
|
744
|
+
activeIndex: this.activeTimelineIndex,
|
|
745
|
+
isFocused: this.isTimelineFocused
|
|
746
|
+
};
|
|
747
|
+
}
|
|
748
|
+
/**
|
|
749
|
+
* Persists the expected Timeline focused task index.
|
|
750
|
+
* When the cells in the TreeList are navigated through, the expected Timeline focus target should also change,
|
|
751
|
+
* in order to allow tabbing from the TreeList to the same row in the Timeline.
|
|
752
|
+
*/
|
|
753
|
+
set activeTimelineIndex(index) {
|
|
754
|
+
this._activeTimelineIndex = index;
|
|
755
|
+
}
|
|
756
|
+
get activeTimelineIndex() {
|
|
757
|
+
const firstAvailableIndex = 0;
|
|
758
|
+
const lastAvailableIndex = this.metadata.treeList.view.data.length - 1;
|
|
759
|
+
return fitToRange(this._activeTimelineIndex, firstAvailableIndex, lastAvailableIndex);
|
|
760
|
+
}
|
|
761
|
+
/**
|
|
762
|
+
* Persists the expected TreeList focused cell coords.
|
|
763
|
+
* When the tasks in the Timeline are navigated through, the expected TreeList focus target should also change,
|
|
764
|
+
* in order to allow back-tabbing from the Timeline to the same row in the TreeList.
|
|
765
|
+
*/
|
|
766
|
+
set activeTreeListCell(cell) {
|
|
767
|
+
this._activeTreeListCell = cell;
|
|
768
|
+
}
|
|
769
|
+
get activeTreeListCell() {
|
|
770
|
+
const firstAvailableIndex = 0;
|
|
771
|
+
const lastAvailableRowIndex = this.treeListHeaderRowsCount + this.metadata.treeList.view.data.length - 1;
|
|
772
|
+
const rowIndex = fitToRange(this._activeTreeListCell.rowIndex, firstAvailableIndex, lastAvailableRowIndex);
|
|
773
|
+
const lastAvailableColIndex = this.metadata.columns.length;
|
|
774
|
+
const colIndex = fitToRange(this._activeTreeListCell.colIndex, firstAvailableIndex, lastAvailableColIndex);
|
|
775
|
+
return { rowIndex, colIndex };
|
|
776
|
+
}
|
|
777
|
+
/**
|
|
778
|
+
* The TreeList row index takes into account the header and filter rows.
|
|
779
|
+
* Used when translating Timeline task indices to TreeList row indices.
|
|
780
|
+
*/
|
|
781
|
+
get treeListHeaderRowsCount() {
|
|
782
|
+
// captures nested group header rows + filter row if we start supporting it at some point
|
|
783
|
+
return this.metadata.treeListElement.querySelectorAll('.k-grid-header tr').length;
|
|
784
|
+
}
|
|
785
|
+
initialize(metadata) {
|
|
786
|
+
// no private property setters in TypeScript, so use a getter and a poorly named private prop for this value
|
|
787
|
+
this._enabled = true;
|
|
788
|
+
this.metadata = metadata;
|
|
789
|
+
// TODO: fix in the splitter package and remove
|
|
790
|
+
// move the splitbar HTML element between the two panes to keep the visial tabbing order in tact
|
|
791
|
+
const splitbar = this.metadata.host.querySelector('.k-splitbar');
|
|
792
|
+
if (isPresent(splitbar) && isPresent(splitbar.previousElementSibling) && isPresent(splitbar.after)) {
|
|
793
|
+
splitbar.after(splitbar.previousElementSibling);
|
|
794
|
+
}
|
|
795
|
+
this.zone.runOutsideAngular(() => {
|
|
796
|
+
this.eventListenerDisposers = [
|
|
797
|
+
this.renderer.listen(this.metadata.treeListElement, 'mousedown', this.focusTreeList.bind(this)),
|
|
798
|
+
this.renderer.listen(this.metadata.treeListElement, 'focusin', this.handleTreeListFocusIn.bind(this)),
|
|
799
|
+
this.renderer.listen(this.metadata.timelineElement, 'mousedown', this.handleTimelineMousedown.bind(this)),
|
|
800
|
+
this.renderer.listen(this.metadata.timelineElement, 'focusin', this.handleTimelineFocusIn.bind(this)),
|
|
801
|
+
this.renderer.listen(this.metadata.timelineElement, 'focusout', this.handleTimelineFocusOut.bind(this))
|
|
802
|
+
];
|
|
803
|
+
});
|
|
804
|
+
}
|
|
805
|
+
ngOnDestroy() {
|
|
806
|
+
if (isPresent(this.eventListenerDisposers)) {
|
|
807
|
+
this.eventListenerDisposers.forEach(removeListener => removeListener());
|
|
808
|
+
this.eventListenerDisposers = null;
|
|
809
|
+
}
|
|
810
|
+
this.metadata = null;
|
|
811
|
+
}
|
|
812
|
+
/**
|
|
813
|
+
* Focuses either the last active TreeList cell, or the last active Timeline task,
|
|
814
|
+
* dependening on which of the two last held focus.
|
|
815
|
+
*
|
|
816
|
+
* Focuses the first TreeList cell by default.
|
|
817
|
+
*/
|
|
818
|
+
focusLastActiveItem() {
|
|
819
|
+
if (this.metadata.data.length === 0 || (!this.treeListLastActive && !this.timelineLastActive)) {
|
|
820
|
+
this.focusCell(0, 0);
|
|
821
|
+
}
|
|
822
|
+
else if (this.treeListLastActive) {
|
|
823
|
+
const { rowIndex, colIndex } = this.activeTreeListCell;
|
|
824
|
+
this.metadata.treeList.focusCell(rowIndex, colIndex);
|
|
825
|
+
}
|
|
826
|
+
else if (this.timelineLastActive) {
|
|
827
|
+
this.focusTask(this.activeTimelineIndex);
|
|
828
|
+
}
|
|
829
|
+
}
|
|
830
|
+
/**
|
|
831
|
+
* Focuses the targeted TreeList cell regardless of the last peresisted target.
|
|
832
|
+
*/
|
|
833
|
+
focusCell(rowIndex, colIndex) {
|
|
834
|
+
this.activeTreeListCell = { rowIndex, colIndex };
|
|
835
|
+
this.activeTimelineIndex = rowIndex - this.treeListHeaderRowsCount;
|
|
836
|
+
this.metadata.treeList.focusCell(this.activeTreeListCell.rowIndex, this.activeTreeListCell.colIndex);
|
|
837
|
+
}
|
|
838
|
+
/**
|
|
839
|
+
* Focuses the targeted Timeline task regardless of the last peresisted target.
|
|
840
|
+
*/
|
|
841
|
+
focusTask(index) {
|
|
842
|
+
this.activeTimelineIndex = index;
|
|
843
|
+
this.isTimelineFocused = true;
|
|
844
|
+
this.activeTreeListCell = {
|
|
845
|
+
rowIndex: index + this.treeListHeaderRowsCount,
|
|
846
|
+
colIndex: this.activeTreeListCell.colIndex
|
|
847
|
+
};
|
|
848
|
+
this.notifyTaskStatusChange();
|
|
849
|
+
}
|
|
850
|
+
/**
|
|
851
|
+
* Updates the focus target flags and notifies the active task to update its focused state.
|
|
852
|
+
*/
|
|
853
|
+
handleTimelineFocusIn({ target }) {
|
|
854
|
+
this.treeListLastActive = false;
|
|
855
|
+
this.timelineLastActive = true;
|
|
856
|
+
this.isTimelineFocused = true;
|
|
857
|
+
if (isTask(target, this.metadata.timelineElement)) {
|
|
858
|
+
this.notifyTaskStatusChange();
|
|
859
|
+
}
|
|
860
|
+
}
|
|
861
|
+
/**
|
|
862
|
+
* Updates the timeline focus state flag and notifies the active task to update its focused state.
|
|
863
|
+
*/
|
|
864
|
+
handleTimelineFocusOut({ relatedTarget }) {
|
|
865
|
+
this.isTimelineFocused = this.metadata.timelineElement.contains(relatedTarget);
|
|
866
|
+
// 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
|
|
867
|
+
if (!isTask(relatedTarget, this.metadata.timelineElement)) {
|
|
868
|
+
this.notifyTaskStatusChange();
|
|
869
|
+
}
|
|
870
|
+
}
|
|
871
|
+
/**
|
|
872
|
+
* Updates the focus target flags and corrects the TreeList focus target if needed.
|
|
873
|
+
* As the TreeList will keep its last focused cell with tabindex="0",
|
|
874
|
+
* this methods forcefully focuses the correct cell,
|
|
875
|
+
* when navigating in the Timeline has updated the expected TreeList focus target.
|
|
876
|
+
*/
|
|
877
|
+
handleTreeListFocusIn(event) {
|
|
878
|
+
this.treeListLastActive = true;
|
|
879
|
+
this.timelineLastActive = false;
|
|
880
|
+
// if the previous focus target was in the TreeList, rely on its component navigation and just record the focused item index
|
|
881
|
+
if (this.metadata.treeListElement.contains(event.relatedTarget)) {
|
|
882
|
+
const { colIndex, rowIndex } = this.metadata.treeList.activeCell;
|
|
883
|
+
this.activeTreeListCell = { colIndex, rowIndex };
|
|
884
|
+
}
|
|
885
|
+
else {
|
|
886
|
+
// if the previous focus target was outside the TreeList, ensure the expected focus coords are used
|
|
887
|
+
const { rowIndex, colIndex } = this.activeTreeListCell;
|
|
888
|
+
this.metadata.treeList.focusCell(rowIndex, colIndex); // activates the target cell even if it has tabindex="-1"
|
|
889
|
+
}
|
|
890
|
+
this.activeTimelineIndex = this.metadata.treeList.activeCell.dataRowIndex;
|
|
891
|
+
this.notifyTaskStatusChange();
|
|
892
|
+
if (this.metadata.treeList.activeCell.dataRowIndex >= 0) {
|
|
893
|
+
this.scrollHorizontallyToTask();
|
|
894
|
+
this.scrollSyncService.syncScrollTop('treelist', 'timeline');
|
|
895
|
+
}
|
|
896
|
+
}
|
|
897
|
+
updateActiveTimeLineIndex(index) {
|
|
898
|
+
this.activeTimelineIndex = index;
|
|
899
|
+
}
|
|
900
|
+
updateActiveTreeListCell() {
|
|
901
|
+
this.activeTreeListCell = {
|
|
902
|
+
rowIndex: this.activeTimelineIndex + this.treeListHeaderRowsCount,
|
|
903
|
+
colIndex: this.activeTreeListCell.colIndex
|
|
904
|
+
};
|
|
905
|
+
}
|
|
906
|
+
/**
|
|
907
|
+
* Fires the `taskStatusChanges` event with active and focused status retrieved from
|
|
908
|
+
* `this.activeTimelineIndex` and `this.isTimelineFocused`.
|
|
909
|
+
*/
|
|
910
|
+
notifyTaskStatusChange() {
|
|
911
|
+
this.taskStatusChanges.next(this.activeTask);
|
|
912
|
+
}
|
|
913
|
+
/**
|
|
914
|
+
* Scrolls horizontally to the beginning of the target task if the beginning of its content is not in the viewport.
|
|
915
|
+
*/
|
|
916
|
+
scrollHorizontallyToTask() {
|
|
917
|
+
const index = this.activeTimelineIndex;
|
|
918
|
+
const task = this.metadata.timelineElement.querySelectorAll('.k-task-wrap').item(index);
|
|
919
|
+
if (!isPresent(task)) {
|
|
920
|
+
return;
|
|
921
|
+
}
|
|
922
|
+
// scroll horizontally to the item if less than 200px from the beginning of its content are visible
|
|
923
|
+
const targetVisibleWidth = 200;
|
|
924
|
+
const isScrollBeforeTask = (this.metadata.timelineElement.clientWidth + this.metadata.timelineElement.scrollLeft) < (task.offsetLeft + targetVisibleWidth);
|
|
925
|
+
const isScrollAfterTask = this.metadata.timelineElement.scrollLeft > task.offsetLeft;
|
|
926
|
+
if (isScrollBeforeTask || isScrollAfterTask) {
|
|
927
|
+
this.metadata.timelineElement.scrollLeft = task.offsetLeft;
|
|
928
|
+
}
|
|
929
|
+
}
|
|
930
|
+
/**
|
|
931
|
+
* Filters for task mousedown in the Timeline.
|
|
932
|
+
*/
|
|
933
|
+
handleTimelineMousedown({ target }) {
|
|
934
|
+
if (isTask(target, this.metadata.host) && !isClearButton(target, this.metadata.host)) {
|
|
935
|
+
const taskIndex = getClosestTaskIndex(target, this.metadata.host);
|
|
936
|
+
this.focusTask(taskIndex);
|
|
937
|
+
}
|
|
938
|
+
}
|
|
939
|
+
/**
|
|
940
|
+
* Focus the TreeList on TreeList mousedown.
|
|
941
|
+
* A nasty hack to trick `handleTreeListFocusIn` into regarding the previous focus target as again the TreeList.
|
|
942
|
+
* Otherwise cell clicks are wrongly overwritten in `handleTreeListFocusIn` and the click focus target is not respected.
|
|
943
|
+
*/
|
|
944
|
+
focusTreeList() {
|
|
945
|
+
this.metadata.treeList.focus();
|
|
946
|
+
}
|
|
947
|
+
}
|
|
948
|
+
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 });
|
|
949
|
+
NavigationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NavigationService });
|
|
950
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NavigationService, decorators: [{
|
|
951
|
+
type: Injectable
|
|
952
|
+
}], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i0.Renderer2 }, { type: ScrollSyncService }]; } });
|
|
953
|
+
|
|
954
|
+
/**
|
|
955
|
+
* @hidden
|
|
956
|
+
*/
|
|
957
|
+
const TOUCH_ENABLED = new InjectionToken('gantt-touch-enabled');
|
|
958
|
+
|
|
959
|
+
/**
|
|
960
|
+
* @hidden
|
|
961
|
+
*/
|
|
962
|
+
class OptionChangesService {
|
|
963
|
+
constructor() {
|
|
964
|
+
this.viewChanges = new EventEmitter();
|
|
965
|
+
this.columnChanges = new EventEmitter();
|
|
966
|
+
}
|
|
967
|
+
notifyColumnChanges() {
|
|
968
|
+
this.columnChanges.emit();
|
|
969
|
+
}
|
|
970
|
+
notifyViewChanges() {
|
|
971
|
+
this.viewChanges.emit();
|
|
972
|
+
}
|
|
973
|
+
}
|
|
974
|
+
OptionChangesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: OptionChangesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
975
|
+
OptionChangesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: OptionChangesService });
|
|
976
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: OptionChangesService, decorators: [{
|
|
977
|
+
type: Injectable
|
|
978
|
+
}] });
|
|
979
|
+
|
|
980
|
+
/**
|
|
981
|
+
* @hidden
|
|
982
|
+
*/
|
|
983
|
+
const DAY_FORMAT = 'E d/MM';
|
|
984
|
+
/**
|
|
985
|
+
* @hidden
|
|
986
|
+
*/
|
|
987
|
+
const HOUR_FORMAT = 'HH:mm aa';
|
|
988
|
+
/**
|
|
989
|
+
* @hidden
|
|
990
|
+
*/
|
|
991
|
+
const MONTH_FORMAT = 'MMM';
|
|
992
|
+
/**
|
|
993
|
+
* @hidden
|
|
994
|
+
*/
|
|
995
|
+
class TimelineBaseViewService {
|
|
996
|
+
constructor(intlService, mapper) {
|
|
997
|
+
this.intlService = intlService;
|
|
998
|
+
this.mapper = mapper;
|
|
999
|
+
this._viewStart = 0;
|
|
1000
|
+
}
|
|
1001
|
+
get viewStart() {
|
|
1002
|
+
return this._viewStart;
|
|
1003
|
+
}
|
|
1004
|
+
/**
|
|
1005
|
+
*
|
|
1006
|
+
* @param tasks - The tasks which are going to be rendered in the table
|
|
1007
|
+
* @returns {Object} - An object containing the range start and end dates
|
|
1008
|
+
*/
|
|
1009
|
+
getRange(tasks) {
|
|
1010
|
+
if (!tasks || !tasks.length) {
|
|
1011
|
+
return { start: new Date(), end: new Date() };
|
|
728
1012
|
}
|
|
729
1013
|
const startResult = orderBy(tasks, [{ field: this.mapper.taskFields.start, dir: 'asc' }]);
|
|
730
1014
|
const endResult = orderBy(tasks, [{ field: this.mapper.taskFields.end, dir: 'desc' }]);
|
|
@@ -746,10 +1030,10 @@ class TimelineBaseViewService {
|
|
|
746
1030
|
*/
|
|
747
1031
|
getHours(start, end) {
|
|
748
1032
|
const slots = [];
|
|
749
|
-
|
|
750
|
-
|
|
1033
|
+
const workDayStart = this.intlService.parseDate(this.options.workDayStart).getHours();
|
|
1034
|
+
const workDayEnd = this.intlService.parseDate(this.options.workDayEnd).getHours();
|
|
751
1035
|
// TODO: retrieve from option?
|
|
752
|
-
|
|
1036
|
+
const hourSpan = 1;
|
|
753
1037
|
let startDate = new Date(start);
|
|
754
1038
|
const endDate = new Date(end);
|
|
755
1039
|
while (startDate < endDate) {
|
|
@@ -777,13 +1061,13 @@ class TimelineBaseViewService {
|
|
|
777
1061
|
getDays(start, end) {
|
|
778
1062
|
const slots = [];
|
|
779
1063
|
let startDay = new Date(start);
|
|
780
|
-
|
|
1064
|
+
const endDay = new Date(end);
|
|
781
1065
|
while (startDay <= endDay) {
|
|
782
1066
|
// Get the days with cleared time values (except for start and end day)
|
|
783
1067
|
const nextDay = getDate(addDays(startDay, 1));
|
|
784
1068
|
const isWorking = isWorkDay(startDay, this.options.workWeekStart, this.options.workWeekEnd);
|
|
785
1069
|
// Need to get the end date with correct hours (important for day view)
|
|
786
|
-
|
|
1070
|
+
const slotEnd = endDay < nextDay ? endDay : nextDay;
|
|
787
1071
|
slots.push({
|
|
788
1072
|
start: startDay,
|
|
789
1073
|
end: slotEnd,
|
|
@@ -800,7 +1084,7 @@ class TimelineBaseViewService {
|
|
|
800
1084
|
const weekStart = this.intlService.firstDay();
|
|
801
1085
|
const slots = [];
|
|
802
1086
|
let startDay = new Date(start);
|
|
803
|
-
|
|
1087
|
+
const endDay = new Date(end);
|
|
804
1088
|
while (startDay <= endDay) {
|
|
805
1089
|
const lastWeekDay = lastDayOfWeek(startDay, weekStart);
|
|
806
1090
|
const slotEnd = lastWeekDay > endDay ? endDay : lastWeekDay;
|
|
@@ -824,10 +1108,10 @@ class TimelineBaseViewService {
|
|
|
824
1108
|
getMonths(start, end, isMainViewType) {
|
|
825
1109
|
const slots = [];
|
|
826
1110
|
let startDay = new Date(start);
|
|
827
|
-
|
|
1111
|
+
const endDay = new Date(end);
|
|
828
1112
|
while (startDay < endDay) {
|
|
829
1113
|
const endMonth = lastDayOfMonth(startDay);
|
|
830
|
-
|
|
1114
|
+
const slotEnd = endDay < endMonth ? endDay : endMonth;
|
|
831
1115
|
const daySlots = this.getDays(startDay, slotEnd);
|
|
832
1116
|
const weekSlots = this.getWeeks(startDay, slotEnd);
|
|
833
1117
|
const span = isMainViewType ? daySlots.length : weekSlots.length;
|
|
@@ -849,157 +1133,45 @@ class TimelineBaseViewService {
|
|
|
849
1133
|
getYears(start, end) {
|
|
850
1134
|
const slots = [];
|
|
851
1135
|
let startDay = new Date(start);
|
|
852
|
-
|
|
1136
|
+
const endDay = new Date(end);
|
|
853
1137
|
while (startDay < endDay) {
|
|
854
1138
|
const yearEnd = lastDayOfMonth(lastMonthOfYear(startDay));
|
|
855
1139
|
const slotEnd = endDay < yearEnd ? endDay : yearEnd;
|
|
856
|
-
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);
|
|
1140
|
+
const monthSlots = this.getMonths(startDay, slotEnd);
|
|
1141
|
+
const span = monthSlots.length;
|
|
1142
|
+
if (span > 0) {
|
|
1143
|
+
slots.push({
|
|
1144
|
+
start: monthSlots[0].start,
|
|
1145
|
+
end: monthSlots[span - 1].end,
|
|
1146
|
+
span: span,
|
|
1147
|
+
text: slotEnd.getFullYear(),
|
|
1148
|
+
slotWidth: this.options.slotWidth
|
|
1149
|
+
});
|
|
1150
|
+
}
|
|
1151
|
+
startDay = addDays(slotEnd, 1);
|
|
1152
|
+
}
|
|
976
1153
|
return slots;
|
|
977
1154
|
}
|
|
978
1155
|
}
|
|
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
1156
|
|
|
985
1157
|
/**
|
|
986
1158
|
* @hidden
|
|
987
1159
|
*/
|
|
988
|
-
class
|
|
1160
|
+
class TimelineDayViewService extends TimelineBaseViewService {
|
|
989
1161
|
constructor(intlService, mapper) {
|
|
990
1162
|
super(intlService, mapper);
|
|
991
1163
|
}
|
|
992
1164
|
/**
|
|
993
|
-
* Gets a date
|
|
1165
|
+
* Gets a date an hour before the first task start with minutes, seconds, milliseconds cleared.
|
|
994
1166
|
*/
|
|
995
1167
|
getStartOffset(rangeStart) {
|
|
996
|
-
return
|
|
1168
|
+
return setTime(rangeStart, rangeStart.getHours() - 1);
|
|
997
1169
|
}
|
|
998
1170
|
/**
|
|
999
|
-
* Gets a date
|
|
1171
|
+
* Gets a date an hour after the last task end with minutes, seconds, milliseconds cleared.
|
|
1000
1172
|
*/
|
|
1001
1173
|
getEndOffset(rangeEnd) {
|
|
1002
|
-
return
|
|
1174
|
+
return setTime(rangeEnd, rangeEnd.getHours() + 1);
|
|
1003
1175
|
}
|
|
1004
1176
|
/**
|
|
1005
1177
|
*
|
|
@@ -1019,371 +1191,205 @@ class TimelineWeekViewService extends TimelineBaseViewService {
|
|
|
1019
1191
|
*/
|
|
1020
1192
|
getSlots(tasks) {
|
|
1021
1193
|
// will return the header rows slots
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
const
|
|
1025
|
-
const
|
|
1026
|
-
|
|
1194
|
+
const slots = [];
|
|
1195
|
+
const { start, end } = this.getRange(tasks);
|
|
1196
|
+
const daySlots = this.getDays(start, end);
|
|
1197
|
+
const hourSlots = [];
|
|
1198
|
+
for (let i = 0; i < daySlots.length; i++) {
|
|
1199
|
+
const daySlot = daySlots[i];
|
|
1200
|
+
const hours = this.getHours(daySlot.start, daySlot.end);
|
|
1201
|
+
daySlot.span = hours.length;
|
|
1202
|
+
hourSlots.push(...hours);
|
|
1203
|
+
}
|
|
1204
|
+
slots.push(daySlots, hourSlots);
|
|
1027
1205
|
return slots;
|
|
1028
1206
|
}
|
|
1029
1207
|
}
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1208
|
+
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 });
|
|
1209
|
+
TimelineDayViewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineDayViewService });
|
|
1210
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineDayViewService, decorators: [{
|
|
1033
1211
|
type: Injectable
|
|
1034
1212
|
}], ctorParameters: function () { return [{ type: i1.IntlService }, { type: MappingService }]; } });
|
|
1035
1213
|
|
|
1036
1214
|
/**
|
|
1037
1215
|
* @hidden
|
|
1038
1216
|
*/
|
|
1039
|
-
class
|
|
1217
|
+
class TimelineMonthViewService extends TimelineBaseViewService {
|
|
1040
1218
|
constructor(intlService, mapper) {
|
|
1041
1219
|
super(intlService, mapper);
|
|
1042
1220
|
}
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
return Math.round(timeSlots.length * slotWidth);
|
|
1047
|
-
}
|
|
1221
|
+
/**
|
|
1222
|
+
* Gets a week before the first week in which a task starts.
|
|
1223
|
+
*/
|
|
1048
1224
|
getStartOffset(rangeStart) {
|
|
1049
|
-
const
|
|
1050
|
-
|
|
1225
|
+
const weekStart = this.intlService.firstDay();
|
|
1226
|
+
const firstDay = firstDayInWeek(getDate(rangeStart), weekStart);
|
|
1227
|
+
return addWeeks(getDate(firstDay), -1);
|
|
1051
1228
|
}
|
|
1052
1229
|
/**
|
|
1053
|
-
*
|
|
1230
|
+
* Gets a week after the last week in which a task ends.
|
|
1054
1231
|
*/
|
|
1055
1232
|
getEndOffset(rangeEnd) {
|
|
1056
|
-
const
|
|
1057
|
-
|
|
1233
|
+
const weekStart = this.intlService.firstDay();
|
|
1234
|
+
const lastDay = addDays(firstDayInWeek(getDate(rangeEnd), weekStart), 6);
|
|
1235
|
+
return addWeeks(getDate(lastDay), 1);
|
|
1058
1236
|
}
|
|
1059
1237
|
/**
|
|
1060
1238
|
*
|
|
1061
1239
|
* @param tasks - The tasks which are going to be rendered in the table
|
|
1062
|
-
* @returns {
|
|
1240
|
+
* @returns {number}
|
|
1241
|
+
*/
|
|
1242
|
+
getTableWidth(tasks) {
|
|
1243
|
+
const timeSlots = this.getSlots(tasks)[1];
|
|
1244
|
+
const slotWidth = this.options.slotWidth;
|
|
1245
|
+
return Math.round(timeSlots.length * slotWidth);
|
|
1246
|
+
}
|
|
1247
|
+
/**
|
|
1063
1248
|
*
|
|
1249
|
+
* @param tasks - The tasks which are going to be rendered in the table
|
|
1250
|
+
* @returns {Array<Object>} - A collection containing the months and weeks slots
|
|
1064
1251
|
* Used to render the number of columns and the header
|
|
1065
1252
|
*/
|
|
1066
1253
|
getSlots(tasks) {
|
|
1067
1254
|
// will return the header rows slots
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
const
|
|
1071
|
-
const
|
|
1072
|
-
slots.push(
|
|
1255
|
+
const slots = [];
|
|
1256
|
+
const { start, end } = this.getRange(tasks);
|
|
1257
|
+
const months = this.getMonths(start, end, true);
|
|
1258
|
+
const weeks = this.getWeeks(start, end);
|
|
1259
|
+
slots.push(months, weeks);
|
|
1073
1260
|
return slots;
|
|
1074
1261
|
}
|
|
1075
1262
|
}
|
|
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
|
-
}
|
|
1263
|
+
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 });
|
|
1264
|
+
TimelineMonthViewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineMonthViewService });
|
|
1265
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineMonthViewService, decorators: [{
|
|
1266
|
+
type: Injectable
|
|
1267
|
+
}], ctorParameters: function () { return [{ type: i1.IntlService }, { type: MappingService }]; } });
|
|
1268
|
+
|
|
1269
|
+
/**
|
|
1270
|
+
* @hidden
|
|
1271
|
+
*/
|
|
1272
|
+
class TimelineWeekViewService extends TimelineBaseViewService {
|
|
1273
|
+
constructor(intlService, mapper) {
|
|
1274
|
+
super(intlService, mapper);
|
|
1263
1275
|
}
|
|
1264
1276
|
/**
|
|
1265
|
-
*
|
|
1277
|
+
* Gets a date a day before the first task start with hours, minutes, seconds, milliseconds cleared.
|
|
1266
1278
|
*/
|
|
1267
|
-
|
|
1268
|
-
|
|
1269
|
-
this.activeTimelineIndex = rowIndex - this.treeListHeaderRowsCount;
|
|
1270
|
-
this.metadata.treeList.focusCell(this.activeTreeListCell.rowIndex, this.activeTreeListCell.colIndex);
|
|
1279
|
+
getStartOffset(rangeStart) {
|
|
1280
|
+
return addDays(getDate(rangeStart), -1);
|
|
1271
1281
|
}
|
|
1272
1282
|
/**
|
|
1273
|
-
*
|
|
1283
|
+
* Gets a date a day after the last task start with hours, minutes, seconds, milliseconds cleared.
|
|
1274
1284
|
*/
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
this.isTimelineFocused = true;
|
|
1278
|
-
this.activeTreeListCell = {
|
|
1279
|
-
rowIndex: index + this.treeListHeaderRowsCount,
|
|
1280
|
-
colIndex: this.activeTreeListCell.colIndex
|
|
1281
|
-
};
|
|
1282
|
-
this.notifyTaskStatusChange();
|
|
1285
|
+
getEndOffset(rangeEnd) {
|
|
1286
|
+
return addDays(getDate(rangeEnd), 1);
|
|
1283
1287
|
}
|
|
1284
1288
|
/**
|
|
1285
|
-
*
|
|
1289
|
+
*
|
|
1290
|
+
* @param tasks - The tasks which are going to be rendered in the table
|
|
1291
|
+
* @returns {number}
|
|
1286
1292
|
*/
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
if (isTask(target, this.metadata.timelineElement)) {
|
|
1292
|
-
this.notifyTaskStatusChange();
|
|
1293
|
-
}
|
|
1293
|
+
getTableWidth(tasks) {
|
|
1294
|
+
const timeSlots = this.getSlots(tasks)[1];
|
|
1295
|
+
const slotWidth = this.options.slotWidth;
|
|
1296
|
+
return Math.round(timeSlots.length * slotWidth);
|
|
1294
1297
|
}
|
|
1295
1298
|
/**
|
|
1296
|
-
*
|
|
1299
|
+
*
|
|
1300
|
+
* @param tasks - The tasks which are going to be rendered in the table
|
|
1301
|
+
* @returns {Array<Object>} - A collection containing the day and hours slots
|
|
1302
|
+
* Used to render the number of columns and the header
|
|
1297
1303
|
*/
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
+
getSlots(tasks) {
|
|
1305
|
+
// will return the header rows slots
|
|
1306
|
+
const slots = [];
|
|
1307
|
+
const { start, end } = this.getRange(tasks);
|
|
1308
|
+
const weeks = this.getWeeks(start, end);
|
|
1309
|
+
const days = this.getDays(start, end);
|
|
1310
|
+
slots.push(weeks, days);
|
|
1311
|
+
return slots;
|
|
1304
1312
|
}
|
|
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
|
-
}
|
|
1313
|
+
}
|
|
1314
|
+
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 });
|
|
1315
|
+
TimelineWeekViewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineWeekViewService });
|
|
1316
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineWeekViewService, decorators: [{
|
|
1317
|
+
type: Injectable
|
|
1318
|
+
}], ctorParameters: function () { return [{ type: i1.IntlService }, { type: MappingService }]; } });
|
|
1319
|
+
|
|
1320
|
+
/**
|
|
1321
|
+
* @hidden
|
|
1322
|
+
*/
|
|
1323
|
+
class TimeLineYearViewService extends TimelineBaseViewService {
|
|
1324
|
+
constructor(intlService, mapper) {
|
|
1325
|
+
super(intlService, mapper);
|
|
1330
1326
|
}
|
|
1331
|
-
|
|
1332
|
-
|
|
1327
|
+
getTableWidth(tasks) {
|
|
1328
|
+
const timeSlots = this.getSlots(tasks)[1];
|
|
1329
|
+
const slotWidth = this.options.slotWidth;
|
|
1330
|
+
return Math.round(timeSlots.length * slotWidth);
|
|
1333
1331
|
}
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
|
|
1337
|
-
colIndex: this.activeTreeListCell.colIndex
|
|
1338
|
-
};
|
|
1332
|
+
getStartOffset(rangeStart) {
|
|
1333
|
+
const monthStart = firstDayOfMonth(rangeStart);
|
|
1334
|
+
return addMonths(getDate(monthStart), -1);
|
|
1339
1335
|
}
|
|
1340
1336
|
/**
|
|
1341
|
-
*
|
|
1342
|
-
* `this.activeTimelineIndex` and `this.isTimelineFocused`.
|
|
1337
|
+
*
|
|
1343
1338
|
*/
|
|
1344
|
-
|
|
1345
|
-
|
|
1339
|
+
getEndOffset(rangeEnd) {
|
|
1340
|
+
const monthEnd = lastDayOfMonth(rangeEnd);
|
|
1341
|
+
return addMonths(getDate(monthEnd), 1);
|
|
1346
1342
|
}
|
|
1347
1343
|
/**
|
|
1348
|
-
*
|
|
1344
|
+
*
|
|
1345
|
+
* @param tasks - The tasks which are going to be rendered in the table
|
|
1346
|
+
* @returns {Array<Object>} - A collection containing the years and months slots
|
|
1347
|
+
*
|
|
1348
|
+
* Used to render the number of columns and the header
|
|
1349
1349
|
*/
|
|
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
|
-
}
|
|
1350
|
+
getSlots(tasks) {
|
|
1351
|
+
// will return the header rows slots
|
|
1352
|
+
const slots = [];
|
|
1353
|
+
const { start, end } = this.getRange(tasks);
|
|
1354
|
+
const years = this.getYears(start, end);
|
|
1355
|
+
const months = this.getMonths(start, end);
|
|
1356
|
+
slots.push(years, months);
|
|
1357
|
+
return slots;
|
|
1363
1358
|
}
|
|
1364
|
-
|
|
1365
|
-
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
|
|
1369
|
-
|
|
1370
|
-
|
|
1371
|
-
|
|
1359
|
+
}
|
|
1360
|
+
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 });
|
|
1361
|
+
TimeLineYearViewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimeLineYearViewService });
|
|
1362
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimeLineYearViewService, decorators: [{
|
|
1363
|
+
type: Injectable
|
|
1364
|
+
}], ctorParameters: function () { return [{ type: i1.IntlService }, { type: MappingService }]; } });
|
|
1365
|
+
|
|
1366
|
+
/**
|
|
1367
|
+
* @hidden
|
|
1368
|
+
*/
|
|
1369
|
+
const services = {
|
|
1370
|
+
day: TimelineDayViewService,
|
|
1371
|
+
week: TimelineWeekViewService,
|
|
1372
|
+
month: TimelineMonthViewService,
|
|
1373
|
+
year: TimeLineYearViewService
|
|
1374
|
+
};
|
|
1375
|
+
/**
|
|
1376
|
+
* @hidden
|
|
1377
|
+
*/
|
|
1378
|
+
class TimelineViewService {
|
|
1379
|
+
constructor(injector) {
|
|
1380
|
+
this.injector = injector;
|
|
1381
|
+
this.viewChange = new EventEmitter();
|
|
1372
1382
|
}
|
|
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();
|
|
1383
|
+
service(view) {
|
|
1384
|
+
const serviceType = services[view];
|
|
1385
|
+
return serviceType ? this.injector.get(serviceType) : null;
|
|
1380
1386
|
}
|
|
1381
1387
|
}
|
|
1382
|
-
|
|
1383
|
-
|
|
1384
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1388
|
+
TimelineViewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineViewService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1389
|
+
TimelineViewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineViewService });
|
|
1390
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineViewService, decorators: [{
|
|
1385
1391
|
type: Injectable
|
|
1386
|
-
}], ctorParameters: function () { return [{ type: i0.
|
|
1392
|
+
}], ctorParameters: function () { return [{ type: i0.Injector }]; } });
|
|
1387
1393
|
|
|
1388
1394
|
const slotUnitDuration = {
|
|
1389
1395
|
day: MS_PER_HOUR,
|
|
@@ -1473,16 +1479,16 @@ class GanttTaskBase {
|
|
|
1473
1479
|
return isNumber(overlayWidth) ? overlayWidth : 0;
|
|
1474
1480
|
}
|
|
1475
1481
|
ngOnChanges(changes) {
|
|
1476
|
-
if (isPresent(changes
|
|
1477
|
-
if (isPresent(changes
|
|
1478
|
-
this.dependencyDomService.unregisterTask(changes
|
|
1482
|
+
if (isPresent(changes['dataItem'])) {
|
|
1483
|
+
if (isPresent(changes['dataItem'].previousValue)) {
|
|
1484
|
+
this.dependencyDomService.unregisterTask(changes['dataItem'].previousValue);
|
|
1479
1485
|
}
|
|
1480
1486
|
this.dependencyDomService.registerTask(this.dataItem, this.taskElement.nativeElement);
|
|
1481
1487
|
}
|
|
1482
|
-
else if (isPresent(changes
|
|
1488
|
+
else if (isPresent(changes['activeView'])) {
|
|
1483
1489
|
this.dependencyDomService.notifyChanges();
|
|
1484
1490
|
}
|
|
1485
|
-
if (this.navigationService.enabled && isPresent(changes
|
|
1491
|
+
if (this.navigationService.enabled && isPresent(changes['index'])) {
|
|
1486
1492
|
this.updateActiveState(this.navigationService.activeTask);
|
|
1487
1493
|
}
|
|
1488
1494
|
}
|
|
@@ -1505,9 +1511,9 @@ class GanttTaskBase {
|
|
|
1505
1511
|
}
|
|
1506
1512
|
}
|
|
1507
1513
|
}
|
|
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: "
|
|
1514
|
+
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 });
|
|
1515
|
+
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 });
|
|
1516
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttTaskBase, decorators: [{
|
|
1511
1517
|
type: Directive,
|
|
1512
1518
|
args: [{
|
|
1513
1519
|
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
@@ -1553,8 +1559,8 @@ class GanttMilestoneTaskComponent extends GanttTaskBase {
|
|
|
1553
1559
|
this.milestoneWrapperClass = true;
|
|
1554
1560
|
}
|
|
1555
1561
|
}
|
|
1556
|
-
GanttMilestoneTaskComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1557
|
-
GanttMilestoneTaskComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
|
|
1562
|
+
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 });
|
|
1563
|
+
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
1564
|
{
|
|
1559
1565
|
provide: GanttTaskBase,
|
|
1560
1566
|
useExisting: forwardRef(() => GanttMilestoneTaskComponent)
|
|
@@ -1583,8 +1589,8 @@ GanttMilestoneTaskComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.
|
|
|
1583
1589
|
>
|
|
1584
1590
|
</div>
|
|
1585
1591
|
</ng-container>
|
|
1586
|
-
`, isInline: true,
|
|
1587
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1592
|
+
`, isInline: true, directives: [{ type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
1593
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttMilestoneTaskComponent, decorators: [{
|
|
1588
1594
|
type: Component,
|
|
1589
1595
|
args: [{
|
|
1590
1596
|
selector: 'kendo-gantt-milestone-task',
|
|
@@ -1618,16 +1624,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
1618
1624
|
>
|
|
1619
1625
|
</div>
|
|
1620
1626
|
</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
|
-
`]
|
|
1627
|
+
`
|
|
1631
1628
|
}]
|
|
1632
1629
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
1633
1630
|
type: Inject,
|
|
@@ -1653,8 +1650,8 @@ class GanttSummaryTaskComponent extends GanttTaskBase {
|
|
|
1653
1650
|
return String(isExpanded);
|
|
1654
1651
|
}
|
|
1655
1652
|
}
|
|
1656
|
-
GanttSummaryTaskComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1657
|
-
GanttSummaryTaskComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
|
|
1653
|
+
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 });
|
|
1654
|
+
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
1655
|
{
|
|
1659
1656
|
provide: GanttTaskBase,
|
|
1660
1657
|
useExisting: forwardRef(() => GanttSummaryTaskComponent)
|
|
@@ -1703,8 +1700,8 @@ GanttSummaryTaskComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
|
|
|
1703
1700
|
>
|
|
1704
1701
|
</div>
|
|
1705
1702
|
</ng-container>
|
|
1706
|
-
`, isInline: true,
|
|
1707
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1703
|
+
`, 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"] }] });
|
|
1704
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttSummaryTaskComponent, decorators: [{
|
|
1708
1705
|
type: Component,
|
|
1709
1706
|
args: [{
|
|
1710
1707
|
selector: 'kendo-gantt-summary-task',
|
|
@@ -1758,16 +1755,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
1758
1755
|
>
|
|
1759
1756
|
</div>
|
|
1760
1757
|
</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
|
-
`]
|
|
1758
|
+
`
|
|
1771
1759
|
}]
|
|
1772
1760
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
1773
1761
|
type: Inject,
|
|
@@ -1877,9 +1865,9 @@ class EditService {
|
|
|
1877
1865
|
return !isPresent(this.mapper.extractFromDependency(item, 'id'));
|
|
1878
1866
|
}
|
|
1879
1867
|
}
|
|
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: "
|
|
1868
|
+
EditService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: EditService, deps: [{ token: MappingService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1869
|
+
EditService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: EditService });
|
|
1870
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: EditService, decorators: [{
|
|
1883
1871
|
type: Injectable
|
|
1884
1872
|
}], ctorParameters: function () { return [{ type: MappingService }]; } });
|
|
1885
1873
|
|
|
@@ -1897,8 +1885,8 @@ class GanttTaskComponent extends GanttTaskBase {
|
|
|
1897
1885
|
this.editService.taskDelete.next(this.dataItem);
|
|
1898
1886
|
}
|
|
1899
1887
|
}
|
|
1900
|
-
GanttTaskComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1901
|
-
GanttTaskComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
|
|
1888
|
+
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 });
|
|
1889
|
+
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
1890
|
{
|
|
1903
1891
|
provide: GanttTaskBase,
|
|
1904
1892
|
useExisting: forwardRef(() => GanttTaskComponent)
|
|
@@ -1972,8 +1960,8 @@ GanttTaskComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
|
|
|
1972
1960
|
>
|
|
1973
1961
|
</div>
|
|
1974
1962
|
</ng-container>
|
|
1975
|
-
`, isInline: true,
|
|
1976
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1963
|
+
`, 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"] }] });
|
|
1964
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttTaskComponent, decorators: [{
|
|
1977
1965
|
type: Component,
|
|
1978
1966
|
args: [{
|
|
1979
1967
|
selector: 'kendo-gantt-task',
|
|
@@ -2052,16 +2040,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
2052
2040
|
>
|
|
2053
2041
|
</div>
|
|
2054
2042
|
</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
|
-
`]
|
|
2043
|
+
`
|
|
2065
2044
|
}]
|
|
2066
2045
|
}], ctorParameters: function () { return [{ type: EditService }, { type: undefined, decorators: [{
|
|
2067
2046
|
type: Inject,
|
|
@@ -2091,10 +2070,10 @@ class GanttTasksTableBodyComponent {
|
|
|
2091
2070
|
return !item.hasChildren && isEqual(this.mapper.extractFromTask(item.data, 'start'), this.mapper.extractFromTask(item.data, 'end'));
|
|
2092
2071
|
}
|
|
2093
2072
|
}
|
|
2094
|
-
GanttTasksTableBodyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2095
|
-
GanttTasksTableBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
|
|
2096
|
-
<tr #timelineRow *ngFor="let item of rows; let index = index">
|
|
2097
|
-
<td>
|
|
2073
|
+
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 });
|
|
2074
|
+
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: `
|
|
2075
|
+
<tr class="k-table-row" #timelineRow *ngFor="let item of rows; let index = index">
|
|
2076
|
+
<td class="k-table-td">
|
|
2098
2077
|
<kendo-gantt-milestone-task
|
|
2099
2078
|
*ngIf="isMileStone(item); else task"
|
|
2100
2079
|
[dataItem]="item.data"
|
|
@@ -2140,14 +2119,14 @@ GanttTasksTableBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
|
|
|
2140
2119
|
</td>
|
|
2141
2120
|
</tr>
|
|
2142
2121
|
`, 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: "
|
|
2122
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttTasksTableBodyComponent, decorators: [{
|
|
2144
2123
|
type: Component,
|
|
2145
2124
|
args: [{
|
|
2146
2125
|
// eslint-disable-next-line @angular-eslint/component-selector
|
|
2147
2126
|
selector: '[kendoGanttTasksTableBody]',
|
|
2148
2127
|
template: `
|
|
2149
|
-
<tr #timelineRow *ngFor="let item of rows; let index = index">
|
|
2150
|
-
<td>
|
|
2128
|
+
<tr class="k-table-row" #timelineRow *ngFor="let item of rows; let index = index">
|
|
2129
|
+
<td class="k-table-td">
|
|
2151
2130
|
<kendo-gantt-milestone-task
|
|
2152
2131
|
*ngIf="isMileStone(item); else task"
|
|
2153
2132
|
[dataItem]="item.data"
|
|
@@ -2236,6 +2215,39 @@ var ScrollAxis;
|
|
|
2236
2215
|
ScrollAxis["Horizontal"] = "scrollLeft";
|
|
2237
2216
|
})(ScrollAxis || (ScrollAxis = {}));
|
|
2238
2217
|
|
|
2218
|
+
/**
|
|
2219
|
+
* @hidden
|
|
2220
|
+
*
|
|
2221
|
+
* Notifies the timeline-scroll.directive to scroll into view to requested coordinates.
|
|
2222
|
+
* The scrolling is performed based on client (viewport) coordinates.
|
|
2223
|
+
*/
|
|
2224
|
+
class TimelineScrollService {
|
|
2225
|
+
constructor() {
|
|
2226
|
+
this.horizontalScroll = new Subject();
|
|
2227
|
+
this.verticalScroll = new Subject();
|
|
2228
|
+
this.scrollCancel = new Subject();
|
|
2229
|
+
}
|
|
2230
|
+
ngOnDestroy() {
|
|
2231
|
+
this.horizontalScroll.complete();
|
|
2232
|
+
this.verticalScroll.complete();
|
|
2233
|
+
this.scrollCancel.complete();
|
|
2234
|
+
}
|
|
2235
|
+
requestHorizontalScroll(clientTop) {
|
|
2236
|
+
this.horizontalScroll.next(clientTop);
|
|
2237
|
+
}
|
|
2238
|
+
requestVerticalScroll(clientLeft) {
|
|
2239
|
+
this.verticalScroll.next(clientLeft);
|
|
2240
|
+
}
|
|
2241
|
+
requestScrollCancel() {
|
|
2242
|
+
this.scrollCancel.next();
|
|
2243
|
+
}
|
|
2244
|
+
}
|
|
2245
|
+
TimelineScrollService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineScrollService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2246
|
+
TimelineScrollService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineScrollService });
|
|
2247
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineScrollService, decorators: [{
|
|
2248
|
+
type: Injectable
|
|
2249
|
+
}] });
|
|
2250
|
+
|
|
2239
2251
|
/**
|
|
2240
2252
|
* @hidden
|
|
2241
2253
|
*
|
|
@@ -2307,39 +2319,6 @@ const getViewportBoundaries = (element) => {
|
|
|
2307
2319
|
};
|
|
2308
2320
|
};
|
|
2309
2321
|
|
|
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
2322
|
/**
|
|
2344
2323
|
* @hidden
|
|
2345
2324
|
*/
|
|
@@ -2394,9 +2373,9 @@ class TimelineScrollableDirective {
|
|
|
2394
2373
|
}
|
|
2395
2374
|
}
|
|
2396
2375
|
}
|
|
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: "
|
|
2376
|
+
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 });
|
|
2377
|
+
TimelineScrollableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: TimelineScrollableDirective, selector: "[kendoGanttTimelineScrollable]", inputs: { scrollSettings: "scrollSettings" }, ngImport: i0 });
|
|
2378
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineScrollableDirective, decorators: [{
|
|
2400
2379
|
type: Directive,
|
|
2401
2380
|
args: [{
|
|
2402
2381
|
selector: '[kendoGanttTimelineScrollable]'
|
|
@@ -2411,7 +2390,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
2411
2390
|
* Gets the offset (top and left values) relative to a target element.
|
|
2412
2391
|
*/
|
|
2413
2392
|
const getOffsetRelativeToParent = (element, targetParent) => {
|
|
2414
|
-
|
|
2393
|
+
const offset = {
|
|
2415
2394
|
top: 0,
|
|
2416
2395
|
left: 0
|
|
2417
2396
|
};
|
|
@@ -2626,7 +2605,7 @@ class GanttDependencyDirective {
|
|
|
2626
2605
|
this.subscriptions.unsubscribe();
|
|
2627
2606
|
}
|
|
2628
2607
|
ngOnChanges(changes) {
|
|
2629
|
-
if (isPresent(changes
|
|
2608
|
+
if (isPresent(changes['dependency'])) {
|
|
2630
2609
|
this.updatePoints(this.dependencyDomService.dependencyDomArgs);
|
|
2631
2610
|
}
|
|
2632
2611
|
}
|
|
@@ -2655,9 +2634,9 @@ class GanttDependencyDirective {
|
|
|
2655
2634
|
this.renderer.setAttribute(this.polyline.nativeElement, 'points', parsedCoords);
|
|
2656
2635
|
}
|
|
2657
2636
|
}
|
|
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: "
|
|
2637
|
+
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 });
|
|
2638
|
+
GanttDependencyDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: GanttDependencyDirective, selector: "[kendoGanttDependency]", inputs: { dependency: "dependency" }, usesOnChanges: true, ngImport: i0 });
|
|
2639
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttDependencyDirective, decorators: [{
|
|
2661
2640
|
type: Directive,
|
|
2662
2641
|
args: [{
|
|
2663
2642
|
selector: '[kendoGanttDependency]'
|
|
@@ -2712,12 +2691,13 @@ class GanttTimelineComponent {
|
|
|
2712
2691
|
return item.hasOwnProperty('isWorking') && !item.isWorking;
|
|
2713
2692
|
}
|
|
2714
2693
|
}
|
|
2715
|
-
GanttTimelineComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2716
|
-
GanttTimelineComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
|
|
2717
|
-
<div class="k-timeline k-grid k-
|
|
2694
|
+
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 });
|
|
2695
|
+
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: `
|
|
2696
|
+
<div class="k-timeline k-grid k-grid-md">
|
|
2718
2697
|
<div class="k-grid-header">
|
|
2719
2698
|
<div #timelineHeaderWrap class="k-grid-header-wrap">
|
|
2720
2699
|
<table
|
|
2700
|
+
class="k-table k-table-md k-grid-header-table"
|
|
2721
2701
|
role="presentation"
|
|
2722
2702
|
[style.width.px]="tableWidth"
|
|
2723
2703
|
>
|
|
@@ -2746,22 +2726,22 @@ GanttTimelineComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
|
|
|
2746
2726
|
>
|
|
2747
2727
|
<div class="k-gantt-tables">
|
|
2748
2728
|
<table
|
|
2749
|
-
class="k-gantt-rows"
|
|
2729
|
+
class="k-table k-table-md k-grid-table k-gantt-rows"
|
|
2750
2730
|
[style.width.px]="tableWidth"
|
|
2751
2731
|
role="presentation"
|
|
2752
2732
|
>
|
|
2753
|
-
<tbody>
|
|
2754
|
-
<tr
|
|
2755
|
-
|
|
2756
|
-
|
|
2757
|
-
<td></td>
|
|
2733
|
+
<tbody class="k-table-tbody">
|
|
2734
|
+
<tr
|
|
2735
|
+
*ngFor="let item of rows; let i = index;"
|
|
2736
|
+
class="k-table-row{{i % 2 ? ' k-alt k-table-row-alt' : ''}}">
|
|
2737
|
+
<td class="k-table-td"></td>
|
|
2758
2738
|
</tr>
|
|
2759
2739
|
</tbody>
|
|
2760
2740
|
</table>
|
|
2761
2741
|
|
|
2762
2742
|
<table
|
|
2763
2743
|
#timelineColumns
|
|
2764
|
-
class="k-gantt-columns"
|
|
2744
|
+
class="k-table k-table-md k-gantt-columns"
|
|
2765
2745
|
role="presentation"
|
|
2766
2746
|
[style.width.px]="tableWidth"
|
|
2767
2747
|
>
|
|
@@ -2769,24 +2749,24 @@ GanttTimelineComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
|
|
|
2769
2749
|
<col *ngFor="let item of slots">
|
|
2770
2750
|
</colgroup>
|
|
2771
2751
|
|
|
2772
|
-
<tbody>
|
|
2773
|
-
<tr>
|
|
2752
|
+
<tbody class="k-table-tbody">
|
|
2753
|
+
<tr class="k-table-row">
|
|
2774
2754
|
<td *ngFor="let item of slots"
|
|
2775
|
-
|
|
2776
|
-
|
|
2777
|
-
</td>
|
|
2755
|
+
class="k-table-td"
|
|
2756
|
+
[class.k-nonwork-hour]="isNonWorking(item)"></td>
|
|
2778
2757
|
</tr>
|
|
2779
2758
|
</tbody>
|
|
2780
2759
|
</table>
|
|
2781
2760
|
|
|
2782
2761
|
<table
|
|
2783
2762
|
#tasksContainer
|
|
2784
|
-
class="k-gantt-tasks"
|
|
2763
|
+
class="k-table k-table-md k-gantt-tasks"
|
|
2785
2764
|
role="presentation"
|
|
2786
|
-
style
|
|
2765
|
+
[style.border-collapse]="'collapse'"
|
|
2787
2766
|
[style.width.px]="tableWidth"
|
|
2788
2767
|
>
|
|
2789
2768
|
<tbody
|
|
2769
|
+
class="k-table-tbody"
|
|
2790
2770
|
kendoGanttTasksTableBody
|
|
2791
2771
|
[rows]="rows"
|
|
2792
2772
|
[activeView]="activeView"
|
|
@@ -2816,15 +2796,16 @@ GanttTimelineComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
|
|
|
2816
2796
|
</div>
|
|
2817
2797
|
</div>
|
|
2818
2798
|
`, 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: "
|
|
2799
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttTimelineComponent, decorators: [{
|
|
2820
2800
|
type: Component,
|
|
2821
2801
|
args: [{
|
|
2822
2802
|
selector: 'kendo-gantt-timeline',
|
|
2823
2803
|
template: `
|
|
2824
|
-
<div class="k-timeline k-grid k-
|
|
2804
|
+
<div class="k-timeline k-grid k-grid-md">
|
|
2825
2805
|
<div class="k-grid-header">
|
|
2826
2806
|
<div #timelineHeaderWrap class="k-grid-header-wrap">
|
|
2827
2807
|
<table
|
|
2808
|
+
class="k-table k-table-md k-grid-header-table"
|
|
2828
2809
|
role="presentation"
|
|
2829
2810
|
[style.width.px]="tableWidth"
|
|
2830
2811
|
>
|
|
@@ -2853,22 +2834,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
2853
2834
|
>
|
|
2854
2835
|
<div class="k-gantt-tables">
|
|
2855
2836
|
<table
|
|
2856
|
-
class="k-gantt-rows"
|
|
2837
|
+
class="k-table k-table-md k-grid-table k-gantt-rows"
|
|
2857
2838
|
[style.width.px]="tableWidth"
|
|
2858
2839
|
role="presentation"
|
|
2859
2840
|
>
|
|
2860
|
-
<tbody>
|
|
2861
|
-
<tr
|
|
2862
|
-
|
|
2863
|
-
|
|
2864
|
-
<td></td>
|
|
2841
|
+
<tbody class="k-table-tbody">
|
|
2842
|
+
<tr
|
|
2843
|
+
*ngFor="let item of rows; let i = index;"
|
|
2844
|
+
class="k-table-row{{i % 2 ? ' k-alt k-table-row-alt' : ''}}">
|
|
2845
|
+
<td class="k-table-td"></td>
|
|
2865
2846
|
</tr>
|
|
2866
2847
|
</tbody>
|
|
2867
2848
|
</table>
|
|
2868
2849
|
|
|
2869
2850
|
<table
|
|
2870
2851
|
#timelineColumns
|
|
2871
|
-
class="k-gantt-columns"
|
|
2852
|
+
class="k-table k-table-md k-gantt-columns"
|
|
2872
2853
|
role="presentation"
|
|
2873
2854
|
[style.width.px]="tableWidth"
|
|
2874
2855
|
>
|
|
@@ -2876,24 +2857,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
2876
2857
|
<col *ngFor="let item of slots">
|
|
2877
2858
|
</colgroup>
|
|
2878
2859
|
|
|
2879
|
-
<tbody>
|
|
2880
|
-
<tr>
|
|
2860
|
+
<tbody class="k-table-tbody">
|
|
2861
|
+
<tr class="k-table-row">
|
|
2881
2862
|
<td *ngFor="let item of slots"
|
|
2882
|
-
|
|
2883
|
-
|
|
2884
|
-
</td>
|
|
2863
|
+
class="k-table-td"
|
|
2864
|
+
[class.k-nonwork-hour]="isNonWorking(item)"></td>
|
|
2885
2865
|
</tr>
|
|
2886
2866
|
</tbody>
|
|
2887
2867
|
</table>
|
|
2888
2868
|
|
|
2889
2869
|
<table
|
|
2890
2870
|
#tasksContainer
|
|
2891
|
-
class="k-gantt-tasks"
|
|
2871
|
+
class="k-table k-table-md k-gantt-tasks"
|
|
2892
2872
|
role="presentation"
|
|
2893
|
-
style
|
|
2873
|
+
[style.border-collapse]="'collapse'"
|
|
2894
2874
|
[style.width.px]="tableWidth"
|
|
2895
2875
|
>
|
|
2896
2876
|
<tbody
|
|
2877
|
+
class="k-table-tbody"
|
|
2897
2878
|
kendoGanttTasksTableBody
|
|
2898
2879
|
[rows]="rows"
|
|
2899
2880
|
[activeView]="activeView"
|
|
@@ -3000,9 +2981,9 @@ class GanttColumnBase extends ColumnBase {
|
|
|
3000
2981
|
return super.locked;
|
|
3001
2982
|
}
|
|
3002
2983
|
}
|
|
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: "
|
|
2984
|
+
GanttColumnBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttColumnBase, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
2985
|
+
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 });
|
|
2986
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttColumnBase, decorators: [{
|
|
3006
2987
|
type: Component,
|
|
3007
2988
|
args: [{
|
|
3008
2989
|
template: '',
|
|
@@ -3053,9 +3034,9 @@ class CellTemplateDirective {
|
|
|
3053
3034
|
this.templateRef = templateRef;
|
|
3054
3035
|
}
|
|
3055
3036
|
}
|
|
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: "
|
|
3037
|
+
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 });
|
|
3038
|
+
CellTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: CellTemplateDirective, selector: "[kendoGanttCellTemplate]", ngImport: i0 });
|
|
3039
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CellTemplateDirective, decorators: [{
|
|
3059
3040
|
type: Directive,
|
|
3060
3041
|
args: [{
|
|
3061
3042
|
selector: '[kendoGanttCellTemplate]'
|
|
@@ -3079,9 +3060,9 @@ class ColumnMenuTemplateDirective {
|
|
|
3079
3060
|
this.templateRef = templateRef;
|
|
3080
3061
|
}
|
|
3081
3062
|
}
|
|
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: "
|
|
3063
|
+
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 });
|
|
3064
|
+
ColumnMenuTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: ColumnMenuTemplateDirective, selector: "[kendoGanttColumnMenuTemplate]", ngImport: i0 });
|
|
3065
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ColumnMenuTemplateDirective, decorators: [{
|
|
3085
3066
|
type: Directive,
|
|
3086
3067
|
args: [{
|
|
3087
3068
|
selector: '[kendoGanttColumnMenuTemplate]'
|
|
@@ -3104,9 +3085,9 @@ class FilterCellTemplateDirective {
|
|
|
3104
3085
|
this.templateRef = templateRef;
|
|
3105
3086
|
}
|
|
3106
3087
|
}
|
|
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: "
|
|
3088
|
+
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 });
|
|
3089
|
+
FilterCellTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: FilterCellTemplateDirective, selector: "[kendoGanttFilterCellTemplate]", ngImport: i0 });
|
|
3090
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FilterCellTemplateDirective, decorators: [{
|
|
3110
3091
|
type: Directive,
|
|
3111
3092
|
args: [{
|
|
3112
3093
|
selector: '[kendoGanttFilterCellTemplate]'
|
|
@@ -3128,9 +3109,9 @@ class FilterMenuTemplateDirective {
|
|
|
3128
3109
|
this.templateRef = templateRef;
|
|
3129
3110
|
}
|
|
3130
3111
|
}
|
|
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: "
|
|
3112
|
+
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 });
|
|
3113
|
+
FilterMenuTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: FilterMenuTemplateDirective, selector: "[kendoGanttFilterMenuTemplate]", ngImport: i0 });
|
|
3114
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FilterMenuTemplateDirective, decorators: [{
|
|
3134
3115
|
type: Directive,
|
|
3135
3116
|
args: [{
|
|
3136
3117
|
selector: '[kendoGanttFilterMenuTemplate]'
|
|
@@ -3156,9 +3137,9 @@ class FooterTemplateDirective {
|
|
|
3156
3137
|
this.templateRef = templateRef;
|
|
3157
3138
|
}
|
|
3158
3139
|
}
|
|
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: "
|
|
3140
|
+
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 });
|
|
3141
|
+
FooterTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: FooterTemplateDirective, selector: "[kendoGanttFooterTemplate]", ngImport: i0 });
|
|
3142
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FooterTemplateDirective, decorators: [{
|
|
3162
3143
|
type: Directive,
|
|
3163
3144
|
args: [{
|
|
3164
3145
|
selector: '[kendoGanttFooterTemplate]'
|
|
@@ -3182,9 +3163,9 @@ class HeaderTemplateDirective {
|
|
|
3182
3163
|
this.templateRef = templateRef;
|
|
3183
3164
|
}
|
|
3184
3165
|
}
|
|
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: "
|
|
3166
|
+
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 });
|
|
3167
|
+
HeaderTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: HeaderTemplateDirective, selector: "[kendoGanttHeaderTemplate]", ngImport: i0 });
|
|
3168
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: HeaderTemplateDirective, decorators: [{
|
|
3188
3169
|
type: Directive,
|
|
3189
3170
|
args: [{
|
|
3190
3171
|
selector: '[kendoGanttHeaderTemplate]'
|
|
@@ -3212,9 +3193,9 @@ class EditTemplateDirective {
|
|
|
3212
3193
|
this.templateRef = templateRef;
|
|
3213
3194
|
}
|
|
3214
3195
|
}
|
|
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: "
|
|
3196
|
+
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 });
|
|
3197
|
+
EditTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: EditTemplateDirective, selector: "[kendoGanttEditTemplate]", ngImport: i0 });
|
|
3198
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: EditTemplateDirective, decorators: [{
|
|
3218
3199
|
type: Directive,
|
|
3219
3200
|
args: [{
|
|
3220
3201
|
selector: '[kendoGanttEditTemplate]'
|
|
@@ -3266,14 +3247,14 @@ class GanttColumnComponent extends ColumnComponent {
|
|
|
3266
3247
|
this.options.notifyColumnChanges();
|
|
3267
3248
|
}
|
|
3268
3249
|
}
|
|
3269
|
-
GanttColumnComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
3270
|
-
GanttColumnComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
|
|
3250
|
+
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 });
|
|
3251
|
+
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
3252
|
{
|
|
3272
3253
|
provide: GanttColumnBase,
|
|
3273
3254
|
useExisting: forwardRef(() => GanttColumnComponent)
|
|
3274
3255
|
}
|
|
3275
3256
|
], 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: "
|
|
3257
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttColumnComponent, decorators: [{
|
|
3277
3258
|
type: Component,
|
|
3278
3259
|
args: [{
|
|
3279
3260
|
selector: 'kendo-gantt-column',
|
|
@@ -3378,14 +3359,14 @@ class GanttColumnGroupComponent extends ColumnGroupComponent {
|
|
|
3378
3359
|
this.options.notifyColumnChanges();
|
|
3379
3360
|
}
|
|
3380
3361
|
}
|
|
3381
|
-
GanttColumnGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
3382
|
-
GanttColumnGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
|
|
3362
|
+
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 });
|
|
3363
|
+
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
3364
|
{
|
|
3384
3365
|
provide: GanttColumnBase,
|
|
3385
3366
|
useExisting: forwardRef(() => GanttColumnGroupComponent)
|
|
3386
3367
|
}
|
|
3387
3368
|
], 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: "
|
|
3369
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttColumnGroupComponent, decorators: [{
|
|
3389
3370
|
type: Component,
|
|
3390
3371
|
args: [{
|
|
3391
3372
|
selector: 'kendo-gantt-column-group',
|
|
@@ -3481,14 +3462,14 @@ class GanttSpanColumnComponent extends SpanColumnComponent {
|
|
|
3481
3462
|
this.options.notifyColumnChanges();
|
|
3482
3463
|
}
|
|
3483
3464
|
}
|
|
3484
|
-
GanttSpanColumnComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
3485
|
-
GanttSpanColumnComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
|
|
3465
|
+
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 });
|
|
3466
|
+
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
3467
|
{
|
|
3487
3468
|
provide: GanttColumnBase,
|
|
3488
3469
|
useExisting: forwardRef(() => GanttSpanColumnComponent)
|
|
3489
3470
|
}
|
|
3490
3471
|
], 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: "
|
|
3472
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttSpanColumnComponent, decorators: [{
|
|
3492
3473
|
type: Component,
|
|
3493
3474
|
args: [{
|
|
3494
3475
|
selector: 'kendo-gantt-span-column',
|
|
@@ -3584,9 +3565,9 @@ class GanttLocalizationService {
|
|
|
3584
3565
|
return this.localizationService.get(token);
|
|
3585
3566
|
}
|
|
3586
3567
|
}
|
|
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: "
|
|
3568
|
+
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 });
|
|
3569
|
+
GanttLocalizationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttLocalizationService });
|
|
3570
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttLocalizationService, decorators: [{
|
|
3590
3571
|
type: Injectable
|
|
3591
3572
|
}], ctorParameters: function () { return [{ type: i1$1.LocalizationService }]; } });
|
|
3592
3573
|
|
|
@@ -3639,9 +3620,9 @@ class GanttTaskTemplateDirective {
|
|
|
3639
3620
|
this.templateRef = templateRef;
|
|
3640
3621
|
}
|
|
3641
3622
|
}
|
|
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: "
|
|
3623
|
+
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 });
|
|
3624
|
+
GanttTaskTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: GanttTaskTemplateDirective, selector: "[kendoGanttTaskTemplate]", ngImport: i0 });
|
|
3625
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttTaskTemplateDirective, decorators: [{
|
|
3645
3626
|
type: Directive,
|
|
3646
3627
|
args: [{
|
|
3647
3628
|
selector: '[kendoGanttTaskTemplate]'
|
|
@@ -3667,7 +3648,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
3667
3648
|
* template: `
|
|
3668
3649
|
* <kendo-gantt [kendoGanttHierarchyBinding]="data">
|
|
3669
3650
|
* <ng-template kendoGanttSummaryTaskTemplate let-dataItem let-elementWidth="elementWidth">
|
|
3670
|
-
* <div style="color: white; font-size: 8px;">
|
|
3651
|
+
* <div [style]="'color: white; font-size: 8px;'">
|
|
3671
3652
|
* {{ dataItem.title }} - {{ dataItem.completionRatio * 100 }}% complete; width: {{ elementWidth }}
|
|
3672
3653
|
* </div>
|
|
3673
3654
|
* </ng-template>
|
|
@@ -3684,9 +3665,9 @@ class GanttSummaryTaskTemplateDirective {
|
|
|
3684
3665
|
this.templateRef = templateRef;
|
|
3685
3666
|
}
|
|
3686
3667
|
}
|
|
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: "
|
|
3668
|
+
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 });
|
|
3669
|
+
GanttSummaryTaskTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: GanttSummaryTaskTemplateDirective, selector: "[kendoGanttSummaryTaskTemplate]", ngImport: i0 });
|
|
3670
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttSummaryTaskTemplateDirective, decorators: [{
|
|
3690
3671
|
type: Directive,
|
|
3691
3672
|
args: [{
|
|
3692
3673
|
selector: '[kendoGanttSummaryTaskTemplate]'
|
|
@@ -3724,9 +3705,9 @@ class GanttTaskContentTemplateDirective {
|
|
|
3724
3705
|
this.templateRef = templateRef;
|
|
3725
3706
|
}
|
|
3726
3707
|
}
|
|
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: "
|
|
3708
|
+
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 });
|
|
3709
|
+
GanttTaskContentTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: GanttTaskContentTemplateDirective, selector: "[kendoGanttTaskContentTemplate]", ngImport: i0 });
|
|
3710
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttTaskContentTemplateDirective, decorators: [{
|
|
3730
3711
|
type: Directive,
|
|
3731
3712
|
args: [{
|
|
3732
3713
|
selector: '[kendoGanttTaskContentTemplate]'
|
|
@@ -3755,7 +3736,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
3755
3736
|
* <input type="radio" kendoRadioButton id="both" name="position" value="both" (click)="positionChange($event)"/>
|
|
3756
3737
|
* <kendo-label class="k-radio-label" for="both">Both</kendo-label><br/>
|
|
3757
3738
|
* </div>
|
|
3758
|
-
* <kendo-gantt [[kendoGanttHierarchyBinding]="data"]="data" style="
|
|
3739
|
+
* <kendo-gantt [[kendoGanttHierarchyBinding]="data"]="data" [style.height.px]="400">
|
|
3759
3740
|
* <ng-template kendoGanttToolbarTemplate [position]="position" let-position="position">
|
|
3760
3741
|
* <button kendoButton (click)="onClick()">Custom action</button>
|
|
3761
3742
|
* </ng-template>
|
|
@@ -3843,9 +3824,9 @@ class ToolbarTemplateDirective {
|
|
|
3843
3824
|
return this._position;
|
|
3844
3825
|
}
|
|
3845
3826
|
}
|
|
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: "
|
|
3827
|
+
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 });
|
|
3828
|
+
ToolbarTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: ToolbarTemplateDirective, selector: "[kendoGanttToolbarTemplate]", inputs: { position: "position" }, ngImport: i0 });
|
|
3829
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ToolbarTemplateDirective, decorators: [{
|
|
3849
3830
|
type: Directive,
|
|
3850
3831
|
args: [{
|
|
3851
3832
|
selector: '[kendoGanttToolbarTemplate]'
|
|
@@ -3882,9 +3863,9 @@ class ViewBase {
|
|
|
3882
3863
|
}
|
|
3883
3864
|
}
|
|
3884
3865
|
}
|
|
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: "
|
|
3866
|
+
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 });
|
|
3867
|
+
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 });
|
|
3868
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ViewBase, decorators: [{
|
|
3888
3869
|
type: Directive,
|
|
3889
3870
|
args: [{
|
|
3890
3871
|
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
@@ -3972,8 +3953,8 @@ class GanttAddTaskComponent {
|
|
|
3972
3953
|
});
|
|
3973
3954
|
}
|
|
3974
3955
|
}
|
|
3975
|
-
GanttAddTaskComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
3976
|
-
GanttAddTaskComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
|
|
3956
|
+
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 });
|
|
3957
|
+
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
3958
|
<kendo-dropdownbutton
|
|
3978
3959
|
[data]="data"
|
|
3979
3960
|
[icon]="icon"
|
|
@@ -3983,8 +3964,8 @@ GanttAddTaskComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
|
|
|
3983
3964
|
(open)="handleOpen($event)">
|
|
3984
3965
|
{{ getText('addTaskText') }}
|
|
3985
3966
|
</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: "
|
|
3967
|
+
`, 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"] }] });
|
|
3968
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttAddTaskComponent, decorators: [{
|
|
3988
3969
|
type: Component,
|
|
3989
3970
|
args: [{
|
|
3990
3971
|
selector: 'kendo-gantt-add-task',
|
|
@@ -4044,8 +4025,8 @@ class ViewSelectorComponent {
|
|
|
4044
4025
|
this.activeViewChange.emit(event.target.value);
|
|
4045
4026
|
}
|
|
4046
4027
|
}
|
|
4047
|
-
ViewSelectorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
4048
|
-
ViewSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
|
|
4028
|
+
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 });
|
|
4029
|
+
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
4030
|
<select
|
|
4050
4031
|
class="k-dropdownlist k-picker k-rounded-md k-views-dropdown"
|
|
4051
4032
|
aria-label="View Selector"
|
|
@@ -4060,8 +4041,8 @@ ViewSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
|
|
|
4060
4041
|
[selected]="view === activeView"
|
|
4061
4042
|
(click)="onClick(view)">{{getViewTypeText(view)}}</button>
|
|
4062
4043
|
</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: "
|
|
4044
|
+
`, 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"] }] });
|
|
4045
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ViewSelectorComponent, decorators: [{
|
|
4065
4046
|
type: Component,
|
|
4066
4047
|
args: [{
|
|
4067
4048
|
selector: 'kendo-gantt-view-selector',
|
|
@@ -4100,6 +4081,7 @@ class ToolbarComponent {
|
|
|
4100
4081
|
constructor() {
|
|
4101
4082
|
this.context = {};
|
|
4102
4083
|
this.role = 'toolbar';
|
|
4084
|
+
this.toolbarSizingClass = true;
|
|
4103
4085
|
this.activeViewChange = new EventEmitter();
|
|
4104
4086
|
}
|
|
4105
4087
|
set position(value) {
|
|
@@ -4120,8 +4102,8 @@ class ToolbarComponent {
|
|
|
4120
4102
|
this.activeViewChange.emit(view);
|
|
4121
4103
|
}
|
|
4122
4104
|
}
|
|
4123
|
-
ToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
4124
|
-
ToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
|
|
4105
|
+
ToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4106
|
+
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", "class.k-toolbar-md": "this.toolbarSizingClass" } }, ngImport: i0, template: `
|
|
4125
4107
|
<ng-container *ngIf="!renderTemplate">
|
|
4126
4108
|
<kendo-gantt-add-task *ngIf="showAddTask"></kendo-gantt-add-task>
|
|
4127
4109
|
<span class="k-spacer k-toolbar-spacer"></span>
|
|
@@ -4138,7 +4120,7 @@ ToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", versi
|
|
|
4138
4120
|
>
|
|
4139
4121
|
</ng-template>
|
|
4140
4122
|
`, 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: "
|
|
4123
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ToolbarComponent, decorators: [{
|
|
4142
4124
|
type: Component,
|
|
4143
4125
|
args: [{
|
|
4144
4126
|
selector: 'kendo-gantt-toolbar',
|
|
@@ -4163,6 +4145,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
4163
4145
|
}], propDecorators: { role: [{
|
|
4164
4146
|
type: HostBinding,
|
|
4165
4147
|
args: ['attr.role']
|
|
4148
|
+
}], toolbarSizingClass: [{
|
|
4149
|
+
type: HostBinding,
|
|
4150
|
+
args: ['class.k-toolbar-md']
|
|
4166
4151
|
}], activeViewChange: [{
|
|
4167
4152
|
type: Output
|
|
4168
4153
|
}], showAddTask: [{
|
|
@@ -4198,8 +4183,8 @@ class TaskFieldsComponent {
|
|
|
4198
4183
|
return this.localizationService.get(token);
|
|
4199
4184
|
}
|
|
4200
4185
|
}
|
|
4201
|
-
TaskFieldsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
4202
|
-
TaskFieldsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
|
|
4186
|
+
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 });
|
|
4187
|
+
TaskFieldsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: TaskFieldsComponent, selector: "kendo-gantt-task-fields", ngImport: i0, template: `
|
|
4203
4188
|
<form class="k-form" [formGroup]="formGroup">
|
|
4204
4189
|
<kendo-formfield *ngIf="formGroup.contains(mapper.taskFields.title)">
|
|
4205
4190
|
<kendo-label [for]="mapper.taskFields.title" [text]="getText('titleFieldInputLabel')"></kendo-label>
|
|
@@ -4228,8 +4213,8 @@ TaskFieldsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
|
|
|
4228
4213
|
></kendo-numerictextbox>
|
|
4229
4214
|
</kendo-formfield>
|
|
4230
4215
|
</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: "
|
|
4216
|
+
`, 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: ["focusableId", "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"] }] });
|
|
4217
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TaskFieldsComponent, decorators: [{
|
|
4233
4218
|
type: Component,
|
|
4234
4219
|
args: [{
|
|
4235
4220
|
selector: 'kendo-gantt-task-fields',
|
|
@@ -4348,8 +4333,8 @@ class DependenciesTableComponent {
|
|
|
4348
4333
|
this.formGroups.removeAt(selectedIndex);
|
|
4349
4334
|
}
|
|
4350
4335
|
}
|
|
4351
|
-
DependenciesTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
4352
|
-
DependenciesTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
|
|
4336
|
+
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 });
|
|
4337
|
+
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
4338
|
<kendo-grid
|
|
4354
4339
|
[data]="dependencies"
|
|
4355
4340
|
[selectable]="{ mode: 'single' }"
|
|
@@ -4390,8 +4375,8 @@ DependenciesTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
|
|
|
4390
4375
|
</ng-template>
|
|
4391
4376
|
</kendo-grid-column>
|
|
4392
4377
|
</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: "
|
|
4378
|
+
`, isInline: true, components: [{ type: i4$1.GridComponent, selector: "kendo-grid", inputs: ["data", "pageSize", "height", "rowHeight", "detailRowHeight", "skip", "scrollable", "selectable", "sort", "size", "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"] }] });
|
|
4379
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DependenciesTableComponent, decorators: [{
|
|
4395
4380
|
type: Component,
|
|
4396
4381
|
args: [{
|
|
4397
4382
|
selector: 'kendo-gantt-dependencies-table',
|
|
@@ -4488,8 +4473,8 @@ class EditDialogComponent {
|
|
|
4488
4473
|
this.editService.taskDelete.next(this.editService.dataItem);
|
|
4489
4474
|
}
|
|
4490
4475
|
}
|
|
4491
|
-
EditDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
4492
|
-
EditDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
|
|
4476
|
+
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 });
|
|
4477
|
+
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
4478
|
<kendo-dialog
|
|
4494
4479
|
[title]="getText('taskEditingDialogTitle')"
|
|
4495
4480
|
[width]="575"
|
|
@@ -4498,7 +4483,7 @@ EditDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
|
|
|
4498
4483
|
<kendo-dialog-messages
|
|
4499
4484
|
[closeTitle]="getText('taskEditingDialogCloseTitle')"></kendo-dialog-messages>
|
|
4500
4485
|
|
|
4501
|
-
<kendo-tabstrip [keepTabContent]="true" style="
|
|
4486
|
+
<kendo-tabstrip [keepTabContent]="true" [style.height.px]="345">
|
|
4502
4487
|
<kendo-tabstrip-tab [title]="getText('taskEditingGeneralTabTitle')" [selected]="true">
|
|
4503
4488
|
<ng-template kendoTabContent>
|
|
4504
4489
|
<kendo-gantt-task-fields></kendo-gantt-task-fields>
|
|
@@ -4540,8 +4525,8 @@ EditDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
|
|
|
4540
4525
|
<button kendoButton (click)="handleEditingResult('cancel')">{{ getText('cancelButtonText') }}</button>
|
|
4541
4526
|
</kendo-dialog-actions>
|
|
4542
4527
|
</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: "
|
|
4528
|
+
`, 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"] }] });
|
|
4529
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: EditDialogComponent, decorators: [{
|
|
4545
4530
|
type: Component,
|
|
4546
4531
|
args: [{
|
|
4547
4532
|
selector: 'kendo-gantt-edit-dialog',
|
|
@@ -4554,7 +4539,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
4554
4539
|
<kendo-dialog-messages
|
|
4555
4540
|
[closeTitle]="getText('taskEditingDialogCloseTitle')"></kendo-dialog-messages>
|
|
4556
4541
|
|
|
4557
|
-
<kendo-tabstrip [keepTabContent]="true" style="
|
|
4542
|
+
<kendo-tabstrip [keepTabContent]="true" [style.height.px]="345">
|
|
4558
4543
|
<kendo-tabstrip-tab [title]="getText('taskEditingGeneralTabTitle')" [selected]="true">
|
|
4559
4544
|
<ng-template kendoTabContent>
|
|
4560
4545
|
<kendo-gantt-task-fields></kendo-gantt-task-fields>
|
|
@@ -4607,9 +4592,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
4607
4592
|
*/
|
|
4608
4593
|
class Messages extends ComponentMessages {
|
|
4609
4594
|
}
|
|
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: "
|
|
4595
|
+
Messages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: Messages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
4596
|
+
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 });
|
|
4597
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: Messages, decorators: [{
|
|
4613
4598
|
type: Directive,
|
|
4614
4599
|
args: [{
|
|
4615
4600
|
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
@@ -4762,14 +4747,14 @@ class LocalizedMessagesDirective extends Messages {
|
|
|
4762
4747
|
this.service = service;
|
|
4763
4748
|
}
|
|
4764
4749
|
}
|
|
4765
|
-
LocalizedMessagesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
4766
|
-
LocalizedMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "
|
|
4750
|
+
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 });
|
|
4751
|
+
LocalizedMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: LocalizedMessagesDirective, selector: "[kendoGanttLocalizedMessages]", providers: [
|
|
4767
4752
|
{
|
|
4768
4753
|
provide: Messages,
|
|
4769
4754
|
useExisting: forwardRef(() => LocalizedMessagesDirective)
|
|
4770
4755
|
}
|
|
4771
4756
|
], usesInheritance: true, ngImport: i0 });
|
|
4772
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
4757
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: LocalizedMessagesDirective, decorators: [{
|
|
4773
4758
|
type: Directive,
|
|
4774
4759
|
args: [{
|
|
4775
4760
|
providers: [
|
|
@@ -5113,9 +5098,9 @@ class GanttComponent {
|
|
|
5113
5098
|
this.showConfirmationDialog = false;
|
|
5114
5099
|
this._columns = new QueryList();
|
|
5115
5100
|
this._data = [];
|
|
5116
|
-
this._dragScrollSettings =
|
|
5117
|
-
this._timelinePaneOptions =
|
|
5118
|
-
this._treeListPaneOptions =
|
|
5101
|
+
this._dragScrollSettings = { ...DEFAULT_DRAG_SCROLL_SETTINGS };
|
|
5102
|
+
this._timelinePaneOptions = { ...DEFAULT_TIMELINE_PANE_SETTINGS };
|
|
5103
|
+
this._treeListPaneOptions = { ...DEFAULT_TREELIST_PANE_SETTINGS };
|
|
5119
5104
|
this._rowClass = rowClassCallback;
|
|
5120
5105
|
this._taskClass = taskClassCallback;
|
|
5121
5106
|
this._activeView = DEFAULT_VIEW;
|
|
@@ -5295,17 +5280,17 @@ class GanttComponent {
|
|
|
5295
5280
|
if (this._timelinePaneOptions.collapsed && !value.collapsed) {
|
|
5296
5281
|
this.dependencyDomService.notifyChanges();
|
|
5297
5282
|
}
|
|
5298
|
-
this._timelinePaneOptions =
|
|
5283
|
+
this._timelinePaneOptions = { ...DEFAULT_TIMELINE_PANE_SETTINGS, ...value };
|
|
5299
5284
|
}
|
|
5300
5285
|
get timelinePaneOptions() {
|
|
5301
|
-
return
|
|
5286
|
+
return { ...this._timelinePaneOptions, size: this.treeListPaneOptions.collapsed ? '100%' : this._timelinePaneOptions.size };
|
|
5302
5287
|
}
|
|
5303
5288
|
/**
|
|
5304
5289
|
* The options of the treelist splitter pane.
|
|
5305
5290
|
* By default the pane is `collapsible` and not `collapsed`.
|
|
5306
5291
|
*/
|
|
5307
5292
|
set treeListPaneOptions(value) {
|
|
5308
|
-
this._treeListPaneOptions =
|
|
5293
|
+
this._treeListPaneOptions = { ...DEFAULT_TREELIST_PANE_SETTINGS, ...value };
|
|
5309
5294
|
}
|
|
5310
5295
|
get treeListPaneOptions() {
|
|
5311
5296
|
return this._treeListPaneOptions;
|
|
@@ -5348,7 +5333,7 @@ class GanttComponent {
|
|
|
5348
5333
|
* [see example]({% slug editing_drag_create_dependencies_gantt %}#toc-auto-scrolling).
|
|
5349
5334
|
*/
|
|
5350
5335
|
set dragScrollSettings(settings) {
|
|
5351
|
-
this._dragScrollSettings =
|
|
5336
|
+
this._dragScrollSettings = { ...DEFAULT_DRAG_SCROLL_SETTINGS, ...settings };
|
|
5352
5337
|
}
|
|
5353
5338
|
get dragScrollSettings() {
|
|
5354
5339
|
return this._dragScrollSettings;
|
|
@@ -5598,7 +5583,7 @@ class GanttComponent {
|
|
|
5598
5583
|
* @hidden
|
|
5599
5584
|
*/
|
|
5600
5585
|
handleCellClose(e) {
|
|
5601
|
-
this.cellClose.emit(new CellCloseEvent(
|
|
5586
|
+
this.cellClose.emit(new CellCloseEvent({ ...e, item: this.editItem, sender: this }));
|
|
5602
5587
|
this.dependencyDomService.notifyChanges();
|
|
5603
5588
|
}
|
|
5604
5589
|
/**
|
|
@@ -5628,7 +5613,13 @@ class GanttComponent {
|
|
|
5628
5613
|
return;
|
|
5629
5614
|
}
|
|
5630
5615
|
const activeViewOptions = this.getActiveViewOptions();
|
|
5631
|
-
this.viewService.options =
|
|
5616
|
+
this.viewService.options = {
|
|
5617
|
+
workWeekStart: this.workWeekStart,
|
|
5618
|
+
workWeekEnd: this.workWeekEnd,
|
|
5619
|
+
workDayStart: this.workDayStart,
|
|
5620
|
+
workDayEnd: this.workDayEnd,
|
|
5621
|
+
...activeViewOptions
|
|
5622
|
+
};
|
|
5632
5623
|
this.tableWidth = this.viewService.getTableWidth(this.data);
|
|
5633
5624
|
const [groupedSlots, slots] = this.viewService.getSlots(this.data);
|
|
5634
5625
|
this.timelineSlots = slots;
|
|
@@ -5977,7 +5968,10 @@ class GanttComponent {
|
|
|
5977
5968
|
// the TreeList emits the individual events first, then the combined `expandStateChange` event
|
|
5978
5969
|
const individualEmitter = shouldExpand ? this.rowExpand : this.rowCollapse;
|
|
5979
5970
|
individualEmitter.emit(expandEvent);
|
|
5980
|
-
this.expandStateChange.emit(
|
|
5971
|
+
this.expandStateChange.emit({
|
|
5972
|
+
...expandEvent,
|
|
5973
|
+
expand: shouldExpand
|
|
5974
|
+
});
|
|
5981
5975
|
this.updateView();
|
|
5982
5976
|
this.navigation.scrollHorizontallyToTask();
|
|
5983
5977
|
});
|
|
@@ -6006,8 +6000,8 @@ class GanttComponent {
|
|
|
6006
6000
|
}
|
|
6007
6001
|
}
|
|
6008
6002
|
}
|
|
6009
|
-
GanttComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
6010
|
-
GanttComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
|
|
6003
|
+
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 });
|
|
6004
|
+
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
6005
|
GanttLocalizationService,
|
|
6012
6006
|
LocalizationService,
|
|
6013
6007
|
{
|
|
@@ -6400,8 +6394,8 @@ GanttComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version
|
|
|
6400
6394
|
<button kendoButton (click)="handleConfirmationDialogClose()">{{ getText('cancelButtonText') }}</button>
|
|
6401
6395
|
</kendo-dialog-actions>
|
|
6402
6396
|
</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: "
|
|
6397
|
+
`, 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"] }] });
|
|
6398
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttComponent, decorators: [{
|
|
6405
6399
|
type: Component,
|
|
6406
6400
|
args: [{
|
|
6407
6401
|
selector: 'kendo-gantt',
|
|
@@ -6970,9 +6964,9 @@ class GanttFlatBindingDirective extends FlatBindingDirective {
|
|
|
6970
6964
|
super.aggregate = value;
|
|
6971
6965
|
}
|
|
6972
6966
|
}
|
|
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: "
|
|
6967
|
+
GanttFlatBindingDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttFlatBindingDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
6968
|
+
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 });
|
|
6969
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttFlatBindingDirective, decorators: [{
|
|
6976
6970
|
type: Directive,
|
|
6977
6971
|
args: [{
|
|
6978
6972
|
selector: '[kendoGanttFlatBinding]',
|
|
@@ -6995,9 +6989,9 @@ class GanttHierarchyBindingDirective extends HierarchyBindingDirective {
|
|
|
6995
6989
|
super.aggregate = value;
|
|
6996
6990
|
}
|
|
6997
6991
|
}
|
|
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: "
|
|
6992
|
+
GanttHierarchyBindingDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttHierarchyBindingDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
6993
|
+
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 });
|
|
6994
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttHierarchyBindingDirective, decorators: [{
|
|
7001
6995
|
type: Directive,
|
|
7002
6996
|
args: [{
|
|
7003
6997
|
selector: '[kendoGanttHierarchyBinding]',
|
|
@@ -7022,9 +7016,9 @@ class GanttExpandableDirective extends ExpandableDirective {
|
|
|
7022
7016
|
super.expandBy = value;
|
|
7023
7017
|
}
|
|
7024
7018
|
}
|
|
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: "
|
|
7019
|
+
GanttExpandableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttExpandableDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
7020
|
+
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 });
|
|
7021
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttExpandableDirective, decorators: [{
|
|
7028
7022
|
type: Directive,
|
|
7029
7023
|
args: [{
|
|
7030
7024
|
exportAs: 'kendoGanttExpandable',
|
|
@@ -7120,9 +7114,9 @@ class SelectableDirective {
|
|
|
7120
7114
|
}
|
|
7121
7115
|
}
|
|
7122
7116
|
}
|
|
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: "
|
|
7117
|
+
SelectableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: SelectableDirective, deps: [{ token: GanttComponent }], target: i0.ɵɵFactoryTarget.Directive });
|
|
7118
|
+
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 });
|
|
7119
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: SelectableDirective, decorators: [{
|
|
7126
7120
|
type: Directive,
|
|
7127
7121
|
args: [{
|
|
7128
7122
|
exportAs: 'kendoGanttSelectable',
|
|
@@ -7151,8 +7145,8 @@ class DragValidationTooltipComponent {
|
|
|
7151
7145
|
this.isValid = false;
|
|
7152
7146
|
}
|
|
7153
7147
|
}
|
|
7154
|
-
DragValidationTooltipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
7155
|
-
DragValidationTooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
|
|
7148
|
+
DragValidationTooltipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DragValidationTooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
7149
|
+
DragValidationTooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: DragValidationTooltipComponent, selector: "ng-component", ngImport: i0, template: `
|
|
7156
7150
|
<div
|
|
7157
7151
|
class="k-tooltip k-gantt-tooltip-validation"
|
|
7158
7152
|
[class.k-gantt-tooltip-valid]="showValidityStatus && isValid"
|
|
@@ -7168,7 +7162,7 @@ DragValidationTooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
|
7168
7162
|
</div>
|
|
7169
7163
|
</div>
|
|
7170
7164
|
`, isInline: true });
|
|
7171
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
7165
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DragValidationTooltipComponent, decorators: [{
|
|
7172
7166
|
type: Component,
|
|
7173
7167
|
args: [{
|
|
7174
7168
|
template: `
|
|
@@ -7483,9 +7477,9 @@ class DependencyDragCreateDirective {
|
|
|
7483
7477
|
};
|
|
7484
7478
|
}
|
|
7485
7479
|
}
|
|
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: "
|
|
7480
|
+
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 });
|
|
7481
|
+
DependencyDragCreateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: DependencyDragCreateDirective, selector: "[kendoGanttDependencyDragCreate]", inputs: { displayValidationTooltip: "displayValidationTooltip" }, ngImport: i0 });
|
|
7482
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DependencyDragCreateDirective, decorators: [{
|
|
7489
7483
|
type: Directive,
|
|
7490
7484
|
args: [{
|
|
7491
7485
|
selector: '[kendoGanttDependencyDragCreate]'
|
|
@@ -7503,14 +7497,14 @@ class TimelineDayViewComponent extends ViewBase {
|
|
|
7503
7497
|
this.type = 'day';
|
|
7504
7498
|
}
|
|
7505
7499
|
}
|
|
7506
|
-
TimelineDayViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
7507
|
-
TimelineDayViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
|
|
7500
|
+
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 });
|
|
7501
|
+
TimelineDayViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: TimelineDayViewComponent, selector: "kendo-gantt-timeline-day-view", providers: [
|
|
7508
7502
|
{
|
|
7509
7503
|
provide: ViewBase,
|
|
7510
7504
|
useExisting: forwardRef(() => TimelineDayViewComponent)
|
|
7511
7505
|
}
|
|
7512
7506
|
], usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
7513
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
7507
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineDayViewComponent, decorators: [{
|
|
7514
7508
|
type: Component,
|
|
7515
7509
|
args: [{
|
|
7516
7510
|
selector: 'kendo-gantt-timeline-day-view',
|
|
@@ -7533,14 +7527,14 @@ class TimelineWeekViewComponent extends ViewBase {
|
|
|
7533
7527
|
this.type = 'week';
|
|
7534
7528
|
}
|
|
7535
7529
|
}
|
|
7536
|
-
TimelineWeekViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
7537
|
-
TimelineWeekViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
|
|
7530
|
+
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 });
|
|
7531
|
+
TimelineWeekViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: TimelineWeekViewComponent, selector: "kendo-gantt-timeline-week-view", providers: [
|
|
7538
7532
|
{
|
|
7539
7533
|
provide: ViewBase,
|
|
7540
7534
|
useExisting: forwardRef(() => TimelineWeekViewComponent)
|
|
7541
7535
|
}
|
|
7542
7536
|
], usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
7543
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
7537
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineWeekViewComponent, decorators: [{
|
|
7544
7538
|
type: Component,
|
|
7545
7539
|
args: [{
|
|
7546
7540
|
selector: 'kendo-gantt-timeline-week-view',
|
|
@@ -7563,14 +7557,14 @@ class TimelineMonthViewComponent extends ViewBase {
|
|
|
7563
7557
|
this.type = 'month';
|
|
7564
7558
|
}
|
|
7565
7559
|
}
|
|
7566
|
-
TimelineMonthViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
7567
|
-
TimelineMonthViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
|
|
7560
|
+
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 });
|
|
7561
|
+
TimelineMonthViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: TimelineMonthViewComponent, selector: "kendo-gantt-timeline-month-view", providers: [
|
|
7568
7562
|
{
|
|
7569
7563
|
provide: ViewBase,
|
|
7570
7564
|
useExisting: forwardRef(() => TimelineMonthViewComponent)
|
|
7571
7565
|
}
|
|
7572
7566
|
], usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
7573
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
7567
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineMonthViewComponent, decorators: [{
|
|
7574
7568
|
type: Component,
|
|
7575
7569
|
args: [{
|
|
7576
7570
|
selector: 'kendo-gantt-timeline-month-view',
|
|
@@ -7593,14 +7587,14 @@ class TimelineYearViewComponent extends ViewBase {
|
|
|
7593
7587
|
this.type = 'year';
|
|
7594
7588
|
}
|
|
7595
7589
|
}
|
|
7596
|
-
TimelineYearViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
7597
|
-
TimelineYearViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
|
|
7590
|
+
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 });
|
|
7591
|
+
TimelineYearViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: TimelineYearViewComponent, selector: "kendo-gantt-timeline-year-view", providers: [
|
|
7598
7592
|
{
|
|
7599
7593
|
provide: ViewBase,
|
|
7600
7594
|
useExisting: forwardRef(() => TimelineYearViewComponent)
|
|
7601
7595
|
}
|
|
7602
7596
|
], usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
7603
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
7597
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TimelineYearViewComponent, decorators: [{
|
|
7604
7598
|
type: Component,
|
|
7605
7599
|
args: [{
|
|
7606
7600
|
selector: 'kendo-gantt-timeline-year-view',
|
|
@@ -7627,14 +7621,14 @@ class CustomMessagesComponent extends Messages {
|
|
|
7627
7621
|
return true;
|
|
7628
7622
|
}
|
|
7629
7623
|
}
|
|
7630
|
-
CustomMessagesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
7631
|
-
CustomMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
|
|
7624
|
+
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 });
|
|
7625
|
+
CustomMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CustomMessagesComponent, selector: "kendo-gantt-messages", providers: [
|
|
7632
7626
|
{
|
|
7633
7627
|
provide: Messages,
|
|
7634
7628
|
useExisting: forwardRef(() => CustomMessagesComponent)
|
|
7635
7629
|
}
|
|
7636
7630
|
], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
|
|
7637
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
7631
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CustomMessagesComponent, decorators: [{
|
|
7638
7632
|
type: Component,
|
|
7639
7633
|
args: [{
|
|
7640
7634
|
providers: [
|
|
@@ -7742,8 +7736,8 @@ const DECLARATIONS = [
|
|
|
7742
7736
|
*/
|
|
7743
7737
|
class GanttModule {
|
|
7744
7738
|
}
|
|
7745
|
-
GanttModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
7746
|
-
GanttModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "
|
|
7739
|
+
GanttModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
7740
|
+
GanttModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttModule, declarations: [GanttComponent,
|
|
7747
7741
|
GanttFlatBindingDirective,
|
|
7748
7742
|
GanttHierarchyBindingDirective,
|
|
7749
7743
|
GanttTaskComponent,
|
|
@@ -7839,14 +7833,14 @@ GanttModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "1
|
|
|
7839
7833
|
TimelineScrollableDirective,
|
|
7840
7834
|
DependenciesTableComponent,
|
|
7841
7835
|
TaskFieldsComponent] });
|
|
7842
|
-
GanttModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
7836
|
+
GanttModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttModule, providers: [{
|
|
7843
7837
|
provide: L10N_PREFIX,
|
|
7844
7838
|
useValue: 'kendo.gantt'
|
|
7845
7839
|
}, {
|
|
7846
7840
|
provide: TOUCH_ENABLED,
|
|
7847
7841
|
useValue: touchEnabled
|
|
7848
7842
|
}], imports: [[...IMPORTED_MODULES]] });
|
|
7849
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
7843
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GanttModule, decorators: [{
|
|
7850
7844
|
type: NgModule,
|
|
7851
7845
|
args: [{
|
|
7852
7846
|
imports: [...IMPORTED_MODULES],
|