@progress/kendo-angular-gantt 2.0.5 → 2.1.0-dev.202211250900
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/bundles/kendo-angular-gantt.umd.js +1 -1
- package/esm2015/binding-directives/flat-binding.directive.js +3 -3
- package/esm2015/binding-directives/hierarchy-binding.directive.js +3 -3
- package/esm2015/columns/cell-template.directive.js +3 -3
- package/esm2015/columns/column-base.component.js +3 -3
- package/esm2015/columns/column-group.component.js +3 -3
- package/esm2015/columns/column-menu-template.directive.js +3 -3
- package/esm2015/columns/column.component.js +3 -3
- package/esm2015/columns/edit-template.directive.js +3 -3
- package/esm2015/columns/filter-cell-template.directive.js +3 -3
- package/esm2015/columns/filter-menu-template.directive.js +3 -3
- package/esm2015/columns/footer-template.directive.js +3 -3
- package/esm2015/columns/header-template.directive.js +3 -3
- package/esm2015/columns/span-column.component.js +3 -3
- package/esm2015/common/mapping.service.js +3 -3
- package/esm2015/common/option-changes.service.js +3 -3
- package/esm2015/dependencies/dependency-dom.service.js +3 -3
- package/esm2015/dependencies/gantt-dependency.directive.js +3 -3
- package/esm2015/dragging/dependency-drag-create.directive.js +3 -3
- package/esm2015/dragging/drag-validation-tooltip.component.js +3 -3
- package/esm2015/editing/add-task.component.js +3 -3
- package/esm2015/editing/dependencies-table.component.js +3 -3
- package/esm2015/editing/edit-dialog.component.js +3 -3
- package/esm2015/editing/edit.service.js +3 -3
- package/esm2015/editing/task-fields.component.js +3 -3
- package/esm2015/expanded-state/expandable.directive.js +3 -3
- package/esm2015/gantt.component.js +6 -3
- package/esm2015/gantt.module.js +8 -4
- package/esm2015/localization/custom-messages.component.js +3 -3
- package/esm2015/localization/gantt-localization.service.js +3 -3
- package/esm2015/localization/localized-messages.directive.js +3 -3
- package/esm2015/localization/messages.js +3 -3
- package/esm2015/main.js +1 -0
- package/esm2015/navigation/navigation.service.js +3 -3
- package/esm2015/package-metadata.js +1 -1
- package/esm2015/rendering/gantt-header-table-body.component.js +5 -5
- package/esm2015/rendering/gantt-milestone-task.component.js +3 -3
- package/esm2015/rendering/gantt-summary-task.component.js +3 -3
- package/esm2015/rendering/gantt-task-base.js +31 -8
- package/esm2015/rendering/gantt-task.component.js +3 -3
- package/esm2015/rendering/gantt-tasks-table-body.component.js +3 -3
- package/esm2015/scrolling/scroll-sync.service.js +3 -3
- package/esm2015/scrolling/timeline-scroll.directive.js +3 -3
- package/esm2015/scrolling/timeline-scroll.service.js +3 -3
- package/esm2015/selection/selectable.directive.js +3 -3
- package/esm2015/template-directives/summary-task-template.directive.js +3 -3
- package/esm2015/template-directives/task-content-template.directive.js +3 -3
- package/esm2015/template-directives/task-template.directive.js +3 -3
- package/esm2015/timeline/gantt-timeline.component.js +3 -3
- package/esm2015/timeline/timeline-base-view.service.js +36 -9
- package/esm2015/timeline/timeline-day-view.component.js +3 -3
- package/esm2015/timeline/timeline-day-view.service.js +3 -3
- package/esm2015/timeline/timeline-month-view.component.js +3 -3
- package/esm2015/timeline/timeline-month-view.service.js +4 -4
- package/esm2015/timeline/timeline-view.service.js +6 -4
- package/esm2015/timeline/timeline-week-view.component.js +3 -3
- package/esm2015/timeline/timeline-week-view.service.js +3 -3
- package/esm2015/timeline/timeline-year-view.component.js +38 -0
- package/esm2015/timeline/timeline-year-view.service.js +55 -0
- package/esm2015/timeline/view-base.js +3 -3
- package/esm2015/toolbar/toolbar-template.directive.js +3 -3
- package/esm2015/toolbar/toolbar.component.js +3 -3
- package/esm2015/toolbar/view-selector.component.js +3 -3
- package/esm2015/utils.js +20 -2
- package/fesm2015/kendo-angular-gantt.js +341 -191
- package/gantt.module.d.ts +24 -23
- package/main.d.ts +1 -0
- package/models/slot.interface.d.ts +6 -0
- package/models/timeline-view.d.ts +1 -1
- package/package.json +1 -1
- package/timeline/timeline-base-view.service.d.ts +2 -1
- package/timeline/timeline-year-view.component.d.ts +18 -0
- package/timeline/timeline-year-view.service.d.ts +31 -0
- package/timeline/view-base.d.ts +1 -1
- package/utils.d.ts +13 -0
|
@@ -19,14 +19,14 @@ export class CustomMessagesComponent extends Messages {
|
|
|
19
19
|
return true;
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
|
-
CustomMessagesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
23
|
-
CustomMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
22
|
+
CustomMessagesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CustomMessagesComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
23
|
+
CustomMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CustomMessagesComponent, selector: "kendo-gantt-messages", providers: [
|
|
24
24
|
{
|
|
25
25
|
provide: Messages,
|
|
26
26
|
useExisting: forwardRef(() => CustomMessagesComponent)
|
|
27
27
|
}
|
|
28
28
|
], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
|
|
29
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CustomMessagesComponent, decorators: [{
|
|
30
30
|
type: Component,
|
|
31
31
|
args: [{
|
|
32
32
|
providers: [
|
|
@@ -18,8 +18,8 @@ export class GanttLocalizationService {
|
|
|
18
18
|
return this.localizationService.get(token);
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
|
-
GanttLocalizationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
22
|
-
GanttLocalizationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
21
|
+
GanttLocalizationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttLocalizationService, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
22
|
+
GanttLocalizationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttLocalizationService });
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttLocalizationService, decorators: [{
|
|
24
24
|
type: Injectable
|
|
25
25
|
}], ctorParameters: function () { return [{ type: i1.LocalizationService }]; } });
|
|
@@ -15,14 +15,14 @@ export class LocalizedMessagesDirective extends Messages {
|
|
|
15
15
|
this.service = service;
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
|
-
LocalizedMessagesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
19
|
-
LocalizedMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.
|
|
18
|
+
LocalizedMessagesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LocalizedMessagesDirective, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
19
|
+
LocalizedMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: LocalizedMessagesDirective, selector: "[kendoGanttLocalizedMessages]", providers: [
|
|
20
20
|
{
|
|
21
21
|
provide: Messages,
|
|
22
22
|
useExisting: forwardRef(() => LocalizedMessagesDirective)
|
|
23
23
|
}
|
|
24
24
|
], usesInheritance: true, ngImport: i0 });
|
|
25
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LocalizedMessagesDirective, decorators: [{
|
|
26
26
|
type: Directive,
|
|
27
27
|
args: [{
|
|
28
28
|
providers: [
|
|
@@ -10,9 +10,9 @@ import * as i0 from "@angular/core";
|
|
|
10
10
|
*/
|
|
11
11
|
export class Messages extends ComponentMessages {
|
|
12
12
|
}
|
|
13
|
-
Messages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
14
|
-
Messages.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
13
|
+
Messages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: Messages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
14
|
+
Messages.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", 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 });
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: Messages, decorators: [{
|
|
16
16
|
type: Directive,
|
|
17
17
|
args: [{
|
|
18
18
|
// eslint-disable-next-line @angular-eslint/directive-selector
|
package/esm2015/main.js
CHANGED
|
@@ -8,6 +8,7 @@ export { GanttTimelineComponent } from './timeline/gantt-timeline.component';
|
|
|
8
8
|
export { TimelineDayViewComponent } from './timeline/timeline-day-view.component';
|
|
9
9
|
export { TimelineWeekViewComponent } from './timeline/timeline-week-view.component';
|
|
10
10
|
export { TimelineMonthViewComponent } from './timeline/timeline-month-view.component';
|
|
11
|
+
export { TimelineYearViewComponent } from './timeline/timeline-year-view.component';
|
|
11
12
|
export { TaskFieldsComponent } from './editing/task-fields.component';
|
|
12
13
|
export { DependenciesTableComponent } from './editing/dependencies-table.component';
|
|
13
14
|
export { GanttAddTaskComponent } from './editing/add-task.component';
|
|
@@ -258,8 +258,8 @@ export class NavigationService {
|
|
|
258
258
|
this.metadata.treeList.focus();
|
|
259
259
|
}
|
|
260
260
|
}
|
|
261
|
-
NavigationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
262
|
-
NavigationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
263
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
261
|
+
NavigationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NavigationService, deps: [{ token: i0.NgZone }, { token: i0.Renderer2 }, { token: i1.ScrollSyncService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
262
|
+
NavigationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NavigationService });
|
|
263
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NavigationService, decorators: [{
|
|
264
264
|
type: Injectable
|
|
265
265
|
}], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i0.Renderer2 }, { type: i1.ScrollSyncService }]; } });
|
|
@@ -9,7 +9,7 @@ export const packageMetadata = {
|
|
|
9
9
|
name: '@progress/kendo-angular-gantt',
|
|
10
10
|
productName: 'Kendo UI for Angular',
|
|
11
11
|
productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
|
|
12
|
-
publishDate:
|
|
12
|
+
publishDate: 1669366722,
|
|
13
13
|
version: '',
|
|
14
14
|
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'
|
|
15
15
|
};
|
|
@@ -10,17 +10,17 @@ import * as i1 from "@angular/common";
|
|
|
10
10
|
*/
|
|
11
11
|
export class GanttHeaderTableBodyComponent {
|
|
12
12
|
}
|
|
13
|
-
GanttHeaderTableBodyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
14
|
-
GanttHeaderTableBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
13
|
+
GanttHeaderTableBodyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttHeaderTableBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
14
|
+
GanttHeaderTableBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: GanttHeaderTableBodyComponent, selector: "[kendoGanttHeaderTableBody]", inputs: { groupSlots: "groupSlots", slots: "slots" }, ngImport: i0, template: `
|
|
15
15
|
<tr>
|
|
16
16
|
<td *ngFor="let item of groupSlots" [attr.colspan]="item.span" class="k-header">{{ item.text }}</td>
|
|
17
17
|
</tr>
|
|
18
18
|
|
|
19
19
|
<tr>
|
|
20
|
-
<td *ngFor="let item of slots" [attr.colspan]="item.span
|
|
20
|
+
<td *ngFor="let item of slots" class="k-header" [attr.colspan]="item.span === 7 ? item.span : 1" [attr.title]="item.text">{{ item.text }}</td>
|
|
21
21
|
</tr>
|
|
22
22
|
`, isInline: true, directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttHeaderTableBodyComponent, decorators: [{
|
|
24
24
|
type: Component,
|
|
25
25
|
args: [{
|
|
26
26
|
// eslint-disable-next-line @angular-eslint/component-selector
|
|
@@ -31,7 +31,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
31
31
|
</tr>
|
|
32
32
|
|
|
33
33
|
<tr>
|
|
34
|
-
<td *ngFor="let item of slots" [attr.colspan]="item.span
|
|
34
|
+
<td *ngFor="let item of slots" class="k-header" [attr.colspan]="item.span === 7 ? item.span : 1" [attr.title]="item.text">{{ item.text }}</td>
|
|
35
35
|
</tr>
|
|
36
36
|
`
|
|
37
37
|
}]
|
|
@@ -22,8 +22,8 @@ export class GanttMilestoneTaskComponent extends GanttTaskBase {
|
|
|
22
22
|
this.milestoneWrapperClass = true;
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
|
-
GanttMilestoneTaskComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
26
|
-
GanttMilestoneTaskComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
25
|
+
GanttMilestoneTaskComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttMilestoneTaskComponent, deps: [{ token: TOUCH_ENABLED }, { token: i1.MappingService }, { token: i2.TimelineViewService }, { token: i3.DependencyDomService }, { token: i4.OptionChangesService }, { token: i0.ChangeDetectorRef }, { token: i5.NavigationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
26
|
+
GanttMilestoneTaskComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: GanttMilestoneTaskComponent, selector: "kendo-gantt-milestone-task", host: { properties: { "class.k-milestone-wrap": "this.milestoneWrapperClass" } }, providers: [
|
|
27
27
|
{
|
|
28
28
|
provide: GanttTaskBase,
|
|
29
29
|
useExisting: forwardRef(() => GanttMilestoneTaskComponent)
|
|
@@ -53,7 +53,7 @@ GanttMilestoneTaskComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.
|
|
|
53
53
|
</div>
|
|
54
54
|
</ng-container>
|
|
55
55
|
`, isInline: true, styles: ["\n .k-task.k-focus {\n box-shadow: 0 0 4px 3px grey;\n outline: none;\n }\n .k-task.k-focus.k-selected {\n box-shadow: 0 0 4px 3px #ffaea8;\n }\n "], directives: [{ type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
56
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
56
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttMilestoneTaskComponent, decorators: [{
|
|
57
57
|
type: Component,
|
|
58
58
|
args: [{
|
|
59
59
|
selector: 'kendo-gantt-milestone-task',
|
|
@@ -29,8 +29,8 @@ export class GanttSummaryTaskComponent extends GanttTaskBase {
|
|
|
29
29
|
return String(isExpanded);
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
|
-
GanttSummaryTaskComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
33
|
-
GanttSummaryTaskComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
32
|
+
GanttSummaryTaskComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttSummaryTaskComponent, deps: [{ token: TOUCH_ENABLED }, { token: i1.MappingService }, { token: i2.TimelineViewService }, { token: i3.DependencyDomService }, { token: i4.OptionChangesService }, { token: i0.ChangeDetectorRef }, { token: i5.NavigationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
33
|
+
GanttSummaryTaskComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: GanttSummaryTaskComponent, selector: "kendo-gantt-summary-task", inputs: { template: "template", isExpanded: "isExpanded" }, host: { properties: { "class.k-summary-wrap": "this.summaryWrapperClass" } }, providers: [
|
|
34
34
|
{
|
|
35
35
|
provide: GanttTaskBase,
|
|
36
36
|
useExisting: forwardRef(() => GanttSummaryTaskComponent)
|
|
@@ -80,7 +80,7 @@ GanttSummaryTaskComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
|
|
|
80
80
|
</div>
|
|
81
81
|
</ng-container>
|
|
82
82
|
`, isInline: true, styles: ["\n .k-task.k-focus {\n box-shadow: 0 0 4px 3px grey;\n outline: none;\n }\n .k-task.k-focus.k-selected {\n box-shadow: 0 0 4px 3px #ffaea8;\n }\n "], 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"] }] });
|
|
83
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
83
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttSummaryTaskComponent, decorators: [{
|
|
84
84
|
type: Component,
|
|
85
85
|
args: [{
|
|
86
86
|
selector: 'kendo-gantt-summary-task',
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
import { Directive, HostBinding, Input, ViewChild } from '@angular/core';
|
|
6
|
-
import { MS_PER_HOUR, MS_PER_DAY } from '@progress/kendo-date-math';
|
|
6
|
+
import { MS_PER_HOUR, MS_PER_DAY, firstDayOfMonth } from '@progress/kendo-date-math';
|
|
7
7
|
import { Subscription } from 'rxjs';
|
|
8
|
-
import { isNumber, isPresent } from '../utils';
|
|
8
|
+
import { getTotalDaysInMonth, getTotalMonthsInBetween, isNumber, isPresent } from '../utils';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
10
|
import * as i1 from "../common/mapping.service";
|
|
11
11
|
import * as i2 from "../timeline/timeline-view.service";
|
|
@@ -41,7 +41,7 @@ export class GanttTaskBase {
|
|
|
41
41
|
return this.index;
|
|
42
42
|
}
|
|
43
43
|
get ariaSelected() {
|
|
44
|
-
//
|
|
44
|
+
// assigning null will not render the attribute at all (desired in selectable="false" mode)
|
|
45
45
|
return this.selectable ? String(this.isSelected(this.dataItem)) : null;
|
|
46
46
|
}
|
|
47
47
|
get slotUnitDuration() {
|
|
@@ -54,7 +54,22 @@ export class GanttTaskBase {
|
|
|
54
54
|
return this.viewService.options.slotWidth;
|
|
55
55
|
}
|
|
56
56
|
get taskWidth() {
|
|
57
|
-
const
|
|
57
|
+
const taskStart = this.mapper.extractFromTask(this.dataItem, 'start');
|
|
58
|
+
const taskEnd = this.mapper.extractFromTask(this.dataItem, 'end');
|
|
59
|
+
if (this.activeView === 'year') {
|
|
60
|
+
const monthsDiff = Math.max(getTotalMonthsInBetween(taskStart, taskEnd), 0);
|
|
61
|
+
const totalDaysInStartMonth = getTotalDaysInMonth(taskStart);
|
|
62
|
+
if (monthsDiff > 0) {
|
|
63
|
+
const startFraction = (totalDaysInStartMonth - taskStart.getDate()) / totalDaysInStartMonth;
|
|
64
|
+
const endFraction = taskEnd.getDate() / getTotalDaysInMonth(taskEnd);
|
|
65
|
+
return (startFraction + monthsDiff + endFraction) * this.slotWidth;
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
const fraction = (taskEnd.getDate() - taskStart.getDate()) / totalDaysInStartMonth;
|
|
69
|
+
return fraction * this.slotWidth;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
const itemDuration = taskEnd - taskStart;
|
|
58
73
|
const durationInSlotUnits = itemDuration / this.slotUnitDuration;
|
|
59
74
|
const width = durationInSlotUnits * this.slotWidth;
|
|
60
75
|
return width;
|
|
@@ -66,7 +81,15 @@ export class GanttTaskBase {
|
|
|
66
81
|
* Additionally, positioning the entire container takes care of positioning the hints as well.
|
|
67
82
|
*/
|
|
68
83
|
get taskOffset() {
|
|
69
|
-
const
|
|
84
|
+
const taskStart = this.mapper.extractFromTask(this.dataItem, 'start');
|
|
85
|
+
const viewStart = this.viewService.viewStart;
|
|
86
|
+
if (this.activeView === 'year') {
|
|
87
|
+
const viewStartDate = new Date(viewStart);
|
|
88
|
+
const offsetSlots = getTotalMonthsInBetween(viewStartDate, new Date(firstDayOfMonth(taskStart))) + 1;
|
|
89
|
+
const currentMonthOffset = taskStart.getDate() / getTotalDaysInMonth(taskStart);
|
|
90
|
+
return (offsetSlots + currentMonthOffset) * this.slotWidth;
|
|
91
|
+
}
|
|
92
|
+
const timeAfterViewStart = taskStart - viewStart;
|
|
70
93
|
const offsetInSlotUnits = timeAfterViewStart / this.slotUnitDuration;
|
|
71
94
|
const offset = offsetInSlotUnits * this.slotWidth;
|
|
72
95
|
return offset;
|
|
@@ -109,9 +132,9 @@ export class GanttTaskBase {
|
|
|
109
132
|
}
|
|
110
133
|
}
|
|
111
134
|
}
|
|
112
|
-
GanttTaskBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
113
|
-
GanttTaskBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.
|
|
114
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
135
|
+
GanttTaskBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttTaskBase, deps: [{ token: i1.MappingService }, { token: i2.TimelineViewService }, { token: i3.DependencyDomService }, { token: i4.OptionChangesService }, { token: i0.ChangeDetectorRef }, { token: i5.NavigationService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
136
|
+
GanttTaskBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", 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 });
|
|
137
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttTaskBase, decorators: [{
|
|
115
138
|
type: Directive,
|
|
116
139
|
args: [{
|
|
117
140
|
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
@@ -28,8 +28,8 @@ export class GanttTaskComponent extends GanttTaskBase {
|
|
|
28
28
|
this.editService.taskDelete.next(this.dataItem);
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
|
-
GanttTaskComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
32
|
-
GanttTaskComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
31
|
+
GanttTaskComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttTaskComponent, deps: [{ token: i1.EditService }, { token: TOUCH_ENABLED }, { token: i2.MappingService }, { token: i3.TimelineViewService }, { token: i4.DependencyDomService }, { token: i5.OptionChangesService }, { token: i0.ChangeDetectorRef }, { token: i6.NavigationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
32
|
+
GanttTaskComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: GanttTaskComponent, selector: "kendo-gantt-task", inputs: { taskContentTemplate: "taskContentTemplate", taskTemplate: "taskTemplate" }, providers: [
|
|
33
33
|
{
|
|
34
34
|
provide: GanttTaskBase,
|
|
35
35
|
useExisting: forwardRef(() => GanttTaskComponent)
|
|
@@ -104,7 +104,7 @@ GanttTaskComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
|
|
|
104
104
|
</div>
|
|
105
105
|
</ng-container>
|
|
106
106
|
`, isInline: true, styles: ["\n .k-task.k-focus {\n box-shadow: 0 0 4px 3px grey;\n outline: none;\n }\n .k-task.k-focus.k-selected {\n box-shadow: 0 0 4px 3px #ffaea8;\n }\n "], directives: [{ type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i8.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }] });
|
|
107
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
107
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttTaskComponent, decorators: [{
|
|
108
108
|
type: Component,
|
|
109
109
|
args: [{
|
|
110
110
|
selector: 'kendo-gantt-task',
|
|
@@ -31,8 +31,8 @@ export class GanttTasksTableBodyComponent {
|
|
|
31
31
|
return !item.hasChildren && isEqual(this.mapper.extractFromTask(item.data, 'start'), this.mapper.extractFromTask(item.data, 'end'));
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
|
-
GanttTasksTableBodyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
35
|
-
GanttTasksTableBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
34
|
+
GanttTasksTableBodyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttTasksTableBodyComponent, deps: [{ token: i1.DependencyDomService }, { token: i2.MappingService }], target: i0.ɵɵFactoryTarget.Component });
|
|
35
|
+
GanttTasksTableBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", 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: `
|
|
36
36
|
<tr #timelineRow *ngFor="let item of rows; let index = index">
|
|
37
37
|
<td>
|
|
38
38
|
<kendo-gantt-milestone-task
|
|
@@ -80,7 +80,7 @@ GanttTasksTableBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
|
|
|
80
80
|
</td>
|
|
81
81
|
</tr>
|
|
82
82
|
`, isInline: true, components: [{ type: i3.GanttMilestoneTaskComponent, selector: "kendo-gantt-milestone-task" }, { type: i4.GanttSummaryTaskComponent, selector: "kendo-gantt-summary-task", inputs: ["template", "isExpanded"] }, { type: i5.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"] }] });
|
|
83
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
83
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttTasksTableBodyComponent, decorators: [{
|
|
84
84
|
type: Component,
|
|
85
85
|
args: [{
|
|
86
86
|
// eslint-disable-next-line @angular-eslint/component-selector
|
|
@@ -73,8 +73,8 @@ export class ScrollSyncService {
|
|
|
73
73
|
});
|
|
74
74
|
}
|
|
75
75
|
}
|
|
76
|
-
ScrollSyncService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
77
|
-
ScrollSyncService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
78
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
76
|
+
ScrollSyncService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ScrollSyncService, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
77
|
+
ScrollSyncService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ScrollSyncService });
|
|
78
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ScrollSyncService, decorators: [{
|
|
79
79
|
type: Injectable
|
|
80
80
|
}], ctorParameters: function () { return [{ type: i0.NgZone }]; } });
|
|
@@ -63,9 +63,9 @@ export class TimelineScrollableDirective {
|
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
65
|
}
|
|
66
|
-
TimelineScrollableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
67
|
-
TimelineScrollableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.
|
|
68
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
66
|
+
TimelineScrollableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimelineScrollableDirective, deps: [{ token: i0.ElementRef }, { token: i1.TimelineScrollService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
|
|
67
|
+
TimelineScrollableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: TimelineScrollableDirective, selector: "[kendoGanttTimelineScrollable]", inputs: { scrollSettings: "scrollSettings" }, ngImport: i0 });
|
|
68
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimelineScrollableDirective, decorators: [{
|
|
69
69
|
type: Directive,
|
|
70
70
|
args: [{
|
|
71
71
|
selector: '[kendoGanttTimelineScrollable]'
|
|
@@ -32,8 +32,8 @@ export class TimelineScrollService {
|
|
|
32
32
|
this.scrollCancel.next();
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
|
-
TimelineScrollService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
36
|
-
TimelineScrollService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
37
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
35
|
+
TimelineScrollService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimelineScrollService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
36
|
+
TimelineScrollService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimelineScrollService });
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimelineScrollService, decorators: [{
|
|
38
38
|
type: Injectable
|
|
39
39
|
}] });
|
|
@@ -93,9 +93,9 @@ export class SelectableDirective {
|
|
|
93
93
|
}
|
|
94
94
|
}
|
|
95
95
|
}
|
|
96
|
-
SelectableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
97
|
-
SelectableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.
|
|
98
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
96
|
+
SelectableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SelectableDirective, deps: [{ token: i1.GanttComponent }], target: i0.ɵɵFactoryTarget.Directive });
|
|
97
|
+
SelectableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: SelectableDirective, selector: "[kendoGanttSelectable]", inputs: { selectable: "selectable", selectedKeys: "selectedKeys", itemKey: "itemKey" }, outputs: { selectedKeysChange: "selectedKeysChange" }, exportAs: ["kendoGanttSelectable"], ngImport: i0 });
|
|
98
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SelectableDirective, decorators: [{
|
|
99
99
|
type: Directive,
|
|
100
100
|
args: [{
|
|
101
101
|
exportAs: 'kendoGanttSelectable',
|
|
@@ -38,9 +38,9 @@ export class GanttSummaryTaskTemplateDirective {
|
|
|
38
38
|
this.templateRef = templateRef;
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
|
-
GanttSummaryTaskTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
42
|
-
GanttSummaryTaskTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.
|
|
43
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
41
|
+
GanttSummaryTaskTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttSummaryTaskTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
42
|
+
GanttSummaryTaskTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: GanttSummaryTaskTemplateDirective, selector: "[kendoGanttSummaryTaskTemplate]", ngImport: i0 });
|
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttSummaryTaskTemplateDirective, decorators: [{
|
|
44
44
|
type: Directive,
|
|
45
45
|
args: [{
|
|
46
46
|
selector: '[kendoGanttSummaryTaskTemplate]'
|
|
@@ -33,9 +33,9 @@ export class GanttTaskContentTemplateDirective {
|
|
|
33
33
|
this.templateRef = templateRef;
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
|
-
GanttTaskContentTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
37
|
-
GanttTaskContentTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.
|
|
38
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
36
|
+
GanttTaskContentTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttTaskContentTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
37
|
+
GanttTaskContentTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: GanttTaskContentTemplateDirective, selector: "[kendoGanttTaskContentTemplate]", ngImport: i0 });
|
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttTaskContentTemplateDirective, decorators: [{
|
|
39
39
|
type: Directive,
|
|
40
40
|
args: [{
|
|
41
41
|
selector: '[kendoGanttTaskContentTemplate]'
|
|
@@ -36,9 +36,9 @@ export class GanttTaskTemplateDirective {
|
|
|
36
36
|
this.templateRef = templateRef;
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
|
-
GanttTaskTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
40
|
-
GanttTaskTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.
|
|
41
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
39
|
+
GanttTaskTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttTaskTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
40
|
+
GanttTaskTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: GanttTaskTemplateDirective, selector: "[kendoGanttTaskTemplate]", ngImport: i0 });
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttTaskTemplateDirective, decorators: [{
|
|
42
42
|
type: Directive,
|
|
43
43
|
args: [{
|
|
44
44
|
selector: '[kendoGanttTaskTemplate]'
|
|
@@ -62,8 +62,8 @@ export class GanttTimelineComponent {
|
|
|
62
62
|
return item.hasOwnProperty('isWorking') && !item.isWorking;
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
|
-
GanttTimelineComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
66
|
-
GanttTimelineComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
65
|
+
GanttTimelineComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttTimelineComponent, deps: [{ token: i1.ScrollSyncService }, { token: i2.DependencyDomService }, { token: i0.Renderer2 }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
66
|
+
GanttTimelineComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", 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: `
|
|
67
67
|
<div class="k-timeline k-grid k-widget">
|
|
68
68
|
<div class="k-grid-header">
|
|
69
69
|
<div #timelineHeaderWrap class="k-grid-header-wrap">
|
|
@@ -166,7 +166,7 @@ GanttTimelineComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
|
|
|
166
166
|
</div>
|
|
167
167
|
</div>
|
|
168
168
|
`, isInline: true, components: [{ type: i3.GanttHeaderTableBodyComponent, selector: "[kendoGanttHeaderTableBody]", inputs: ["groupSlots", "slots"] }, { type: i4.GanttTasksTableBodyComponent, selector: "[kendoGanttTasksTableBody]", inputs: ["selectable", "rows", "activeView", "taskContentTemplate", "taskTemplate", "summaryTaskTemplate", "taskClass", "isExpanded", "isTaskSelected", "renderDependencyDragClues"] }], directives: [{ type: i5.TimelineScrollableDirective, selector: "[kendoGanttTimelineScrollable]", inputs: ["scrollSettings"] }, { type: i6.DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i8.GanttDependencyDirective, selector: "[kendoGanttDependency]", inputs: ["dependency"] }] });
|
|
169
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
169
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GanttTimelineComponent, decorators: [{
|
|
170
170
|
type: Component,
|
|
171
171
|
args: [{
|
|
172
172
|
selector: 'kendo-gantt-timeline',
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
import { orderBy } from '@progress/kendo-data-query';
|
|
6
6
|
import { isWorkDay, isWorkHour, lastDayOfWeek } from '../utils';
|
|
7
|
-
import { addDays, firstDayInWeek, getDate, firstDayOfMonth, lastDayOfMonth, addMonths, addWeeks } from '@progress/kendo-date-math';
|
|
7
|
+
import { addDays, firstDayInWeek, getDate, firstDayOfMonth, lastDayOfMonth, addMonths, addWeeks, lastMonthOfYear } from '@progress/kendo-date-math';
|
|
8
8
|
/**
|
|
9
9
|
* @hidden
|
|
10
10
|
*/
|
|
@@ -73,7 +73,8 @@ export class TimelineBaseViewService {
|
|
|
73
73
|
end: slotEnd,
|
|
74
74
|
isWorking: isWorkSlot,
|
|
75
75
|
text: this.intlService.formatDate(startDate, HOUR_FORMAT),
|
|
76
|
-
span: 1
|
|
76
|
+
span: 1,
|
|
77
|
+
slotWidth: this.options.slotWidth
|
|
77
78
|
});
|
|
78
79
|
startDate = slotEnd;
|
|
79
80
|
}
|
|
@@ -100,7 +101,8 @@ export class TimelineBaseViewService {
|
|
|
100
101
|
end: slotEnd,
|
|
101
102
|
isWorking: isWorking,
|
|
102
103
|
text: this.intlService.formatDate(startDay, DAY_FORMAT),
|
|
103
|
-
span: 1
|
|
104
|
+
span: 1,
|
|
105
|
+
slotWidth: this.options.slotWidth
|
|
104
106
|
});
|
|
105
107
|
startDay = nextDay;
|
|
106
108
|
}
|
|
@@ -123,14 +125,15 @@ export class TimelineBaseViewService {
|
|
|
123
125
|
start: daySlots[0].start,
|
|
124
126
|
end: daySlots[span - 1].end,
|
|
125
127
|
text: `${firstDay} - ${lastDay}`,
|
|
126
|
-
span: span
|
|
128
|
+
span: span,
|
|
129
|
+
slotWidth: this.options.slotWidth
|
|
127
130
|
});
|
|
128
131
|
}
|
|
129
132
|
startDay = firstDayInWeek(addWeeks(slotEnd, 1));
|
|
130
133
|
}
|
|
131
134
|
return slots;
|
|
132
135
|
}
|
|
133
|
-
getMonths(start, end) {
|
|
136
|
+
getMonths(start, end, isMainViewType) {
|
|
134
137
|
const slots = [];
|
|
135
138
|
let startDay = new Date(start);
|
|
136
139
|
let endDay = new Date(end);
|
|
@@ -138,19 +141,43 @@ export class TimelineBaseViewService {
|
|
|
138
141
|
const endMonth = lastDayOfMonth(startDay);
|
|
139
142
|
let slotEnd = endDay < endMonth ? endDay : endMonth;
|
|
140
143
|
const daySlots = this.getDays(startDay, slotEnd);
|
|
141
|
-
const
|
|
144
|
+
const weekSlots = this.getWeeks(startDay, slotEnd);
|
|
145
|
+
const span = isMainViewType ? daySlots.length : weekSlots.length;
|
|
142
146
|
const monthStart = firstDayOfMonth(getDate(startDay));
|
|
143
147
|
const shortText = this.intlService.formatDate(monthStart, MONTH_FORMAT);
|
|
144
148
|
if (span > 0) {
|
|
145
149
|
slots.push({
|
|
146
|
-
start: daySlots[0].start,
|
|
147
|
-
end: daySlots[span - 1].end,
|
|
150
|
+
start: isMainViewType ? daySlots[0].start : weekSlots[0].start,
|
|
151
|
+
end: isMainViewType ? daySlots[span - 1] : weekSlots[span - 1].end,
|
|
148
152
|
span: span,
|
|
149
|
-
text: shortText
|
|
153
|
+
text: shortText,
|
|
154
|
+
slotWidth: this.options.slotWidth
|
|
150
155
|
});
|
|
151
156
|
}
|
|
152
157
|
startDay = firstDayOfMonth(addMonths(slotEnd, 1));
|
|
153
158
|
}
|
|
154
159
|
return slots;
|
|
155
160
|
}
|
|
161
|
+
getYears(start, end) {
|
|
162
|
+
const slots = [];
|
|
163
|
+
let startDay = new Date(start);
|
|
164
|
+
let endDay = new Date(end);
|
|
165
|
+
while (startDay < endDay) {
|
|
166
|
+
const yearEnd = lastDayOfMonth(lastMonthOfYear(startDay));
|
|
167
|
+
const slotEnd = endDay < yearEnd ? endDay : yearEnd;
|
|
168
|
+
const monthSlots = this.getMonths(startDay, slotEnd);
|
|
169
|
+
const span = monthSlots.length;
|
|
170
|
+
if (span > 0) {
|
|
171
|
+
slots.push({
|
|
172
|
+
start: monthSlots[0].start,
|
|
173
|
+
end: monthSlots[span - 1].end,
|
|
174
|
+
span: span,
|
|
175
|
+
text: slotEnd.getFullYear(),
|
|
176
|
+
slotWidth: this.options.slotWidth
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
startDay = addDays(slotEnd, 1);
|
|
180
|
+
}
|
|
181
|
+
return slots;
|
|
182
|
+
}
|
|
156
183
|
}
|
|
@@ -16,14 +16,14 @@ export class TimelineDayViewComponent extends ViewBase {
|
|
|
16
16
|
this.type = 'day';
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
|
-
TimelineDayViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
20
|
-
TimelineDayViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
19
|
+
TimelineDayViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimelineDayViewComponent, deps: [{ token: i1.OptionChangesService }, { token: i2.DependencyDomService }], target: i0.ɵɵFactoryTarget.Component });
|
|
20
|
+
TimelineDayViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TimelineDayViewComponent, selector: "kendo-gantt-timeline-day-view", providers: [
|
|
21
21
|
{
|
|
22
22
|
provide: ViewBase,
|
|
23
23
|
useExisting: forwardRef(() => TimelineDayViewComponent)
|
|
24
24
|
}
|
|
25
25
|
], usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimelineDayViewComponent, decorators: [{
|
|
27
27
|
type: Component,
|
|
28
28
|
args: [{
|
|
29
29
|
selector: 'kendo-gantt-timeline-day-view',
|
|
@@ -59,8 +59,8 @@ export class TimelineDayViewService extends TimelineBaseViewService {
|
|
|
59
59
|
return slots;
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
|
-
TimelineDayViewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
63
|
-
TimelineDayViewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
64
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
62
|
+
TimelineDayViewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimelineDayViewService, deps: [{ token: i1.IntlService }, { token: i2.MappingService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
63
|
+
TimelineDayViewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimelineDayViewService });
|
|
64
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimelineDayViewService, decorators: [{
|
|
65
65
|
type: Injectable
|
|
66
66
|
}], ctorParameters: function () { return [{ type: i1.IntlService }, { type: i2.MappingService }]; } });
|