@progress/kendo-angular-scheduler 21.4.1-develop.1 → 22.0.0-develop.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/editing/recurrence/localization/messages.d.ts +1 -1
- package/editing/resource-editor-base.d.ts +1 -1
- package/editing-directives/editing-directive-base.d.ts +1 -1
- package/fesm2022/progress-kendo-angular-scheduler.mjs +313 -313
- package/localization/messages.d.ts +1 -1
- package/package.json +20 -28
- package/schematics/ngAdd/index.js +3 -3
- package/views/common/base-view.d.ts +1 -1
- package/views/common/configuration-view-base.d.ts +1 -1
- package/views/day-time/day-time-view-base.d.ts +1 -1
- package/views/day-time/day-time-view.component.d.ts +1 -1
- package/views/multi-day/multi-day-view-base.d.ts +1 -1
- package/views/timeline/timeline-base.d.ts +1 -1
- package/views/view-items/base-slot.directive.d.ts +1 -1
- package/views/view-items/base-view-item.d.ts +1 -1
- package/esm2022/common/constants.mjs +0 -8
- package/esm2022/common/default-model-fields.mjs +0 -20
- package/esm2022/common/dom-queries.mjs +0 -107
- package/esm2022/common/modifiers.mjs +0 -31
- package/esm2022/common/util.mjs +0 -227
- package/esm2022/data-binding.directive.mjs +0 -162
- package/esm2022/directives.mjs +0 -136
- package/esm2022/editing/date-time-picker.component.mjs +0 -190
- package/esm2022/editing/dialogs.service.mjs +0 -96
- package/esm2022/editing/edit-dialog-template.directive.mjs +0 -53
- package/esm2022/editing/edit-dialog.component.mjs +0 -679
- package/esm2022/editing/edit.service.mjs +0 -107
- package/esm2022/editing/local-data-changes.service.mjs +0 -18
- package/esm2022/editing/recurrence/end-rule-radio-button.directive.mjs +0 -77
- package/esm2022/editing/recurrence/localization/custom-messages.component.mjs +0 -44
- package/esm2022/editing/recurrence/localization/localized-messages.directive.mjs +0 -39
- package/esm2022/editing/recurrence/localization/messages.mjs +0 -239
- package/esm2022/editing/recurrence/localization/recurrence-localization.service.mjs +0 -47
- package/esm2022/editing/recurrence/recurrence-editor.component.mjs +0 -497
- package/esm2022/editing/recurrence/recurrence-end-rule-editor.component.mjs +0 -334
- package/esm2022/editing/recurrence/recurrence-frequency-editor.component.mjs +0 -105
- package/esm2022/editing/recurrence/recurrence-interval-editor.component.mjs +0 -169
- package/esm2022/editing/recurrence/recurrence-monthly-yearly-editor.component.mjs +0 -468
- package/esm2022/editing/recurrence/recurrence-weekday-rule-editor.component.mjs +0 -138
- package/esm2022/editing/recurrence/recurrence.service.mjs +0 -254
- package/esm2022/editing/recurrence/repeat-on-radio-button.directive.mjs +0 -81
- package/esm2022/editing/resource-editor-base.mjs +0 -59
- package/esm2022/editing/resource-multiple-editor.component.mjs +0 -101
- package/esm2022/editing/resource-single-editor.component.mjs +0 -82
- package/esm2022/editing/timezone-editor.component.mjs +0 -193
- package/esm2022/editing-directives/base-edit.service.mjs +0 -320
- package/esm2022/editing-directives/edit-service.interface.mjs +0 -5
- package/esm2022/editing-directives/editing-directive-base.mjs +0 -242
- package/esm2022/editing-directives/local-edit.service.mjs +0 -122
- package/esm2022/editing-directives/reactive-editing.directive.mjs +0 -132
- package/esm2022/editing-directives/utils.mjs +0 -107
- package/esm2022/events/add-event.mjs +0 -26
- package/esm2022/events/cancel-event.mjs +0 -14
- package/esm2022/events/create-event.mjs +0 -40
- package/esm2022/events/date-change-event.mjs +0 -29
- package/esm2022/events/drag-end-event.mjs +0 -46
- package/esm2022/events/drag-event.mjs +0 -54
- package/esm2022/events/drag-start-event.mjs +0 -30
- package/esm2022/events/edit-event-base.mjs +0 -32
- package/esm2022/events/edit-event.mjs +0 -30
- package/esm2022/events/event-click-event.mjs +0 -32
- package/esm2022/events/event-keydown-event.mjs +0 -28
- package/esm2022/events/more-events-click.mjs +0 -24
- package/esm2022/events/navigate-event.mjs +0 -26
- package/esm2022/events/preventable-event.mjs +0 -28
- package/esm2022/events/remove-event.mjs +0 -30
- package/esm2022/events/resize-end-event.mjs +0 -38
- package/esm2022/events/resize-event.mjs +0 -46
- package/esm2022/events/resize-start-event.mjs +0 -30
- package/esm2022/events/save-event.mjs +0 -18
- package/esm2022/events/slot-click-event.mjs +0 -44
- package/esm2022/events/slot-drag-end-event.mjs +0 -10
- package/esm2022/events/slot-drag-event.mjs +0 -40
- package/esm2022/events/slot-drag-start-event.mjs +0 -44
- package/esm2022/events/view-event-map.mjs +0 -35
- package/esm2022/events.mjs +0 -27
- package/esm2022/index.mjs +0 -83
- package/esm2022/loading.component.mjs +0 -52
- package/esm2022/localization/custom-messages.component.mjs +0 -56
- package/esm2022/localization/localized-messages.directive.mjs +0 -39
- package/esm2022/localization/messages.mjs +0 -614
- package/esm2022/localization/scheduler-localization.service.mjs +0 -31
- package/esm2022/navigation/focus-position.interface.mjs +0 -5
- package/esm2022/navigation/focus.service.mjs +0 -202
- package/esm2022/navigation/focusable-element.interface.mjs +0 -5
- package/esm2022/navigation/focusable.directive.mjs +0 -98
- package/esm2022/navigation/shortcuts.directive.mjs +0 -239
- package/esm2022/navigation.mjs +0 -6
- package/esm2022/package-metadata.mjs +0 -16
- package/esm2022/pdf/pdf-command.directive.mjs +0 -96
- package/esm2022/pdf/pdf-export-event.mjs +0 -10
- package/esm2022/pdf/pdf.component.mjs +0 -241
- package/esm2022/pdf/pdf.module.mjs +0 -42
- package/esm2022/pdf/pdf.service.mjs +0 -36
- package/esm2022/progress-kendo-angular-scheduler.mjs +0 -8
- package/esm2022/scheduler.component.mjs +0 -1981
- package/esm2022/scheduler.module.mjs +0 -138
- package/esm2022/toolbar/navigation.component.mjs +0 -391
- package/esm2022/toolbar/toolbar-context.mjs +0 -5
- package/esm2022/toolbar/toolbar-template.directive.mjs +0 -50
- package/esm2022/toolbar/toolbar.component.mjs +0 -168
- package/esm2022/toolbar/toolbar.service.mjs +0 -46
- package/esm2022/toolbar/view-selector.component.mjs +0 -181
- package/esm2022/types/actions.mjs +0 -5
- package/esm2022/types/create-form-group-args.interface.mjs +0 -5
- package/esm2022/types/crud-operation.enum.mjs +0 -18
- package/esm2022/types/current-time-settings.interface.mjs +0 -5
- package/esm2022/types/date-range.interface.mjs +0 -5
- package/esm2022/types/datepicker-options.interface.mjs +0 -5
- package/esm2022/types/edit-event-args.interface.mjs +0 -5
- package/esm2022/types/edit-mode.enum.mjs +0 -23
- package/esm2022/types/editable-settings.interface.mjs +0 -5
- package/esm2022/types/event-style-args.interface.mjs +0 -5
- package/esm2022/types/focusable-container.mjs +0 -5
- package/esm2022/types/group.interface.mjs +0 -5
- package/esm2022/types/numeric-options.interface.mjs +0 -5
- package/esm2022/types/ongoing-events-settings.interface.mjs +0 -5
- package/esm2022/types/resource.interface.mjs +0 -5
- package/esm2022/types/scheduler-event.mjs +0 -5
- package/esm2022/types/scheduler-model-fields.interface.mjs +0 -5
- package/esm2022/types/scheduler-slot.interface.mjs +0 -5
- package/esm2022/types/scheduler-view.mjs +0 -9
- package/esm2022/types/slot-class-args.interface.mjs +0 -5
- package/esm2022/types/slot-selection.mjs +0 -35
- package/esm2022/types/view-item.interface.mjs +0 -5
- package/esm2022/types.mjs +0 -12
- package/esm2022/views/agenda/agenda-header-item.component.mjs +0 -85
- package/esm2022/views/agenda/agenda-header.component.mjs +0 -75
- package/esm2022/views/agenda/agenda-task-item.component.mjs +0 -137
- package/esm2022/views/agenda/agenda-view-internal.component.mjs +0 -424
- package/esm2022/views/agenda/agenda-view-list.component.mjs +0 -256
- package/esm2022/views/agenda/agenda-view.component.mjs +0 -130
- package/esm2022/views/agenda/tasks.collection.mjs +0 -96
- package/esm2022/views/agenda/utils.mjs +0 -176
- package/esm2022/views/common/base-view.mjs +0 -1099
- package/esm2022/views/common/configuration-view-base.mjs +0 -164
- package/esm2022/views/common/dom-events.service.mjs +0 -22
- package/esm2022/views/common/hint-container.component.mjs +0 -41
- package/esm2022/views/common/repeat.pipe.mjs +0 -36
- package/esm2022/views/common/resize-hint.component.mjs +0 -97
- package/esm2022/views/common/resource-iterator.pipe.mjs +0 -49
- package/esm2022/views/common/scheduler-task.mjs +0 -5
- package/esm2022/views/common/slot-selectable.directive.mjs +0 -137
- package/esm2022/views/common/view-footer.component.mjs +0 -103
- package/esm2022/views/common/work-hours-footer.directive.mjs +0 -45
- package/esm2022/views/constants.mjs +0 -31
- package/esm2022/views/day-time/day-time-slot.service.mjs +0 -633
- package/esm2022/views/day-time/day-time-view-base.mjs +0 -244
- package/esm2022/views/day-time/day-time-view-item.component.mjs +0 -216
- package/esm2022/views/day-time/day-time-view.component.mjs +0 -437
- package/esm2022/views/day-time/event-slot.directive.mjs +0 -138
- package/esm2022/views/day-time/utils.mjs +0 -32
- package/esm2022/views/month/month-slot.component.mjs +0 -166
- package/esm2022/views/month/month-slot.service.mjs +0 -404
- package/esm2022/views/month/month-view-item.component.mjs +0 -161
- package/esm2022/views/month/month-view-renderer.component.mjs +0 -683
- package/esm2022/views/month/month-view.component.mjs +0 -203
- package/esm2022/views/month/multi-week-view.component.mjs +0 -202
- package/esm2022/views/month/utils.mjs +0 -107
- package/esm2022/views/multi-day/day-view.component.mjs +0 -186
- package/esm2022/views/multi-day/multi-day-view-base.mjs +0 -55
- package/esm2022/views/multi-day/multi-day-view-renderer.component.mjs +0 -1002
- package/esm2022/views/multi-day/multi-day-view.component.mjs +0 -197
- package/esm2022/views/multi-day/utils.mjs +0 -63
- package/esm2022/views/multi-day/week-view.component.mjs +0 -189
- package/esm2022/views/multi-day/work-week-view.component.mjs +0 -172
- package/esm2022/views/scheduler-view.directive.mjs +0 -65
- package/esm2022/views/templates/agenda-date-template.directive.mjs +0 -41
- package/esm2022/views/templates/agenda-time-template.directive.mjs +0 -46
- package/esm2022/views/templates/all-day-event-template.directive.mjs +0 -42
- package/esm2022/views/templates/all-day-slot-template.directive.mjs +0 -42
- package/esm2022/views/templates/date-header-template.directive.mjs +0 -42
- package/esm2022/views/templates/event-template.directive.mjs +0 -42
- package/esm2022/views/templates/group-header-template.directive.mjs +0 -42
- package/esm2022/views/templates/major-time-header-template.directive.mjs +0 -41
- package/esm2022/views/templates/minor-time-header-template.directive.mjs +0 -41
- package/esm2022/views/templates/month-day-slot-template.directive.mjs +0 -42
- package/esm2022/views/templates/multi-week-day-slot-template.directive.mjs +0 -42
- package/esm2022/views/templates/time-slot-template.directive.mjs +0 -43
- package/esm2022/views/templates.mjs +0 -16
- package/esm2022/views/timeline/timeline-base.mjs +0 -39
- package/esm2022/views/timeline/timeline-month-view.component.mjs +0 -211
- package/esm2022/views/timeline/timeline-multi-day-view.component.mjs +0 -649
- package/esm2022/views/timeline/timeline-view.component.mjs +0 -189
- package/esm2022/views/timeline/timeline-week-view.component.mjs +0 -181
- package/esm2022/views/timeline/utils.mjs +0 -60
- package/esm2022/views/utils.mjs +0 -373
- package/esm2022/views/view-context.service.mjs +0 -111
- package/esm2022/views/view-items/base-slot.directive.mjs +0 -104
- package/esm2022/views/view-items/base-slot.service.mjs +0 -82
- package/esm2022/views/view-items/base-view-item.mjs +0 -194
- package/esm2022/views/view-items/item-map.mjs +0 -38
- package/esm2022/views/view-items/types.mjs +0 -5
- package/esm2022/views/view-state.service.mjs +0 -144
- package/esm2022/views/year/utils.mjs +0 -60
- package/esm2022/views/year/year-view-internal.component.mjs +0 -471
- package/esm2022/views/year/year-view.component.mjs +0 -136
|
@@ -1,203 +0,0 @@
|
|
|
1
|
-
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
3
|
-
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
-
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
import { Component, ContentChild, forwardRef, Input, Output, EventEmitter, ChangeDetectionStrategy, ChangeDetectorRef } from '@angular/core';
|
|
6
|
-
import { LocalizationService } from '@progress/kendo-angular-l10n';
|
|
7
|
-
import { IntlService } from '@progress/kendo-angular-intl';
|
|
8
|
-
import { SchedulerView } from '../../types';
|
|
9
|
-
import { ConfigurationViewBase } from '../common/configuration-view-base';
|
|
10
|
-
import { ViewContextService } from '../view-context.service';
|
|
11
|
-
import { ViewStateService } from '../view-state.service';
|
|
12
|
-
import { MonthDaySlotTemplateDirective } from '../templates';
|
|
13
|
-
import { DAYS_IN_WEEK_COUNT, DEFAULT_EVENT_HEIGHT, WEEKS_COUNT } from '../constants';
|
|
14
|
-
import { isPresent } from '../../common/util';
|
|
15
|
-
import { addDays, addMonths, firstDayInWeek, firstDayOfMonth, getDate } from '@progress/kendo-date-math';
|
|
16
|
-
import { MonthViewRendererComponent } from './month-view-renderer.component';
|
|
17
|
-
import * as i0 from "@angular/core";
|
|
18
|
-
import * as i1 from "@progress/kendo-angular-l10n";
|
|
19
|
-
import * as i2 from "../view-context.service";
|
|
20
|
-
import * as i3 from "../view-state.service";
|
|
21
|
-
import * as i4 from "@progress/kendo-angular-intl";
|
|
22
|
-
/**
|
|
23
|
-
* Represents the component that renders the **Month** view in the Scheduler.
|
|
24
|
-
*
|
|
25
|
-
* @example
|
|
26
|
-
* ```html
|
|
27
|
-
* <kendo-scheduler>
|
|
28
|
-
* <kendo-scheduler-month-view></kendo-scheduler-month-view>
|
|
29
|
-
* </kendo-scheduler>
|
|
30
|
-
* ```
|
|
31
|
-
*/
|
|
32
|
-
export class MonthViewComponent extends ConfigurationViewBase {
|
|
33
|
-
intl;
|
|
34
|
-
/**
|
|
35
|
-
* @hidden
|
|
36
|
-
*/
|
|
37
|
-
get title() {
|
|
38
|
-
return this.localization.get('monthViewTitle');
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Sets the number of events to render per day. If set to `'auto'`, all events display in the slot. If set to `0`, it normalizes to `1`
|
|
42
|
-
* ([see example](slug:month_views_scheduler#setting-the-number-of-events-per-day)).
|
|
43
|
-
* > When set to `'auto'`, it automatically sets the `adaptiveSlotHeight` property to `true`.
|
|
44
|
-
* @default 2
|
|
45
|
-
*/
|
|
46
|
-
set eventsPerDay(events) {
|
|
47
|
-
this._eventsPerDay = !events ? 1 : events;
|
|
48
|
-
}
|
|
49
|
-
get eventsPerDay() {
|
|
50
|
-
return this._eventsPerDay;
|
|
51
|
-
}
|
|
52
|
-
_eventsPerDay;
|
|
53
|
-
/**
|
|
54
|
-
* Sets the height of the rendered events. If set to `'auto'`, the height is based on the event content
|
|
55
|
-
* ([see example](slug:month_views_scheduler#configuring-the-height-of-the-scheduler-events)).
|
|
56
|
-
* > When set to `'auto'`, it automatically sets the `adaptiveSlotHeight` property to `true`.
|
|
57
|
-
*/
|
|
58
|
-
eventHeight;
|
|
59
|
-
/**
|
|
60
|
-
* Enables adaptive slot height in the Scheduler. Increases the slot group (row) height when containing events up to the number of displayed events and reduces its height if there are fewer events for that slot group (row)
|
|
61
|
-
* ([see example](slug:month_views_scheduler#enabling-the-adaptive-slot-height-of-the-scheduler)).
|
|
62
|
-
* @default false
|
|
63
|
-
*/
|
|
64
|
-
adaptiveSlotHeight;
|
|
65
|
-
/**
|
|
66
|
-
* Sets the long-date format for the selected date in the Scheduler toolbar.
|
|
67
|
-
* For more information, see [Parsing and Formatting Dates and Numbers](slug:parsingandformatting_intl#date-formatting).
|
|
68
|
-
* @default '{0:Y}'
|
|
69
|
-
*/
|
|
70
|
-
selectedDateFormat = '{0:Y}';
|
|
71
|
-
/**
|
|
72
|
-
* Sets the short-date format for the selected date in the Scheduler toolbar.
|
|
73
|
-
* For more information, see [Parsing and Formatting Dates and Numbers](slug:parsingandformatting_intl#date-formatting).
|
|
74
|
-
* @default '{0:y}'
|
|
75
|
-
*/
|
|
76
|
-
selectedShortDateFormat = '{0:y}';
|
|
77
|
-
/**
|
|
78
|
-
* Fires when the **more events** button in the Month view is clicked.
|
|
79
|
-
* Allows you to prevent the default navigation to the Day view or provide custom handling.
|
|
80
|
-
* The event provides arrays of `displayedEvents` and `moreEvents` for the clicked day.
|
|
81
|
-
*/
|
|
82
|
-
moreEventsClick = new EventEmitter();
|
|
83
|
-
monthDaySlotTemplate;
|
|
84
|
-
/**
|
|
85
|
-
* The invariant name for this view.
|
|
86
|
-
* @default 'month'
|
|
87
|
-
*/
|
|
88
|
-
name = 'month';
|
|
89
|
-
get viewEventHeight() {
|
|
90
|
-
return isPresent(this.eventHeight) ? this.eventHeight : (this.schedulerOptions.eventHeight || DEFAULT_EVENT_HEIGHT);
|
|
91
|
-
}
|
|
92
|
-
constructor(localization, changeDetector, viewContext, viewState, intl) {
|
|
93
|
-
super(localization, changeDetector, viewContext, viewState);
|
|
94
|
-
this.intl = intl;
|
|
95
|
-
}
|
|
96
|
-
ngOnChanges(changes) {
|
|
97
|
-
if ((changes['eventHeight'] && changes['eventHeight'].currentValue === 'auto') ||
|
|
98
|
-
(changes['eventsPerDay'] && changes['eventsPerDay'].currentValue === 'auto')) {
|
|
99
|
-
this.adaptiveSlotHeight = true;
|
|
100
|
-
}
|
|
101
|
-
if ((changes['eventHeight'] && changes['eventHeight'].currentValue === 'auto' && !this.eventsPerDay) ||
|
|
102
|
-
(changes['adaptiveSlotHeight'] && changes['adaptiveSlotHeight'].currentValue === true && !this.eventsPerDay)) {
|
|
103
|
-
this.eventsPerDay = 2;
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
/**
|
|
107
|
-
* @hidden
|
|
108
|
-
*/
|
|
109
|
-
dateRange(date, weekStart) {
|
|
110
|
-
const monthStart = firstDayOfMonth(getDate(date));
|
|
111
|
-
const start = firstDayInWeek(monthStart, weekStart);
|
|
112
|
-
const end = addDays(start, DAYS_IN_WEEK_COUNT * WEEKS_COUNT);
|
|
113
|
-
const text = this.intl.format(this.selectedDateFormat, monthStart);
|
|
114
|
-
const shortText = this.intl.format(this.selectedShortDateFormat, monthStart);
|
|
115
|
-
return { start, end, text, shortText };
|
|
116
|
-
}
|
|
117
|
-
/**
|
|
118
|
-
* @hidden
|
|
119
|
-
*/
|
|
120
|
-
newRange(date, direction = 1) {
|
|
121
|
-
return firstDayOfMonth(addMonths(date, direction));
|
|
122
|
-
}
|
|
123
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MonthViewComponent, deps: [{ token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i2.ViewContextService }, { token: i3.ViewStateService }, { token: i4.IntlService }], target: i0.ɵɵFactoryTarget.Component });
|
|
124
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MonthViewComponent, isStandalone: true, selector: "kendo-scheduler-month-view", inputs: { eventsPerDay: "eventsPerDay", eventHeight: "eventHeight", adaptiveSlotHeight: "adaptiveSlotHeight", selectedDateFormat: "selectedDateFormat", selectedShortDateFormat: "selectedShortDateFormat" }, outputs: { moreEventsClick: "moreEventsClick" }, providers: [{
|
|
125
|
-
provide: SchedulerView,
|
|
126
|
-
useExisting: forwardRef(() => MonthViewComponent)
|
|
127
|
-
}], queries: [{ propertyName: "monthDaySlotTemplate", first: true, predicate: MonthDaySlotTemplateDirective, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
|
|
128
|
-
<ng-template #content>
|
|
129
|
-
<month-view
|
|
130
|
-
type="month"
|
|
131
|
-
[eventHeight]="viewEventHeight"
|
|
132
|
-
[hiddenDays]="viewHiddenDays"
|
|
133
|
-
[adaptiveSlotHeight]="adaptiveSlotHeight"
|
|
134
|
-
[eventsPerDay]="eventsPerDay"
|
|
135
|
-
[eventTemplate]="eventTemplate?.templateRef"
|
|
136
|
-
[slotClass]="viewSlotClass"
|
|
137
|
-
[eventClass]="viewEventClass"
|
|
138
|
-
[eventStyles]="viewEventStyles"
|
|
139
|
-
[groupHeaderTemplate]="groupHeaderTemplate?.templateRef"
|
|
140
|
-
[monthDaySlotTemplate]="monthDaySlotTemplate?.templateRef"
|
|
141
|
-
[selectedDateFormat]="selectedDateFormat"
|
|
142
|
-
[selectedShortDateFormat]="selectedShortDateFormat"
|
|
143
|
-
[highlightOngoingEvents]="viewHighlightOngoingEvents"
|
|
144
|
-
[weekStart]="viewWeekStart"
|
|
145
|
-
[dateRangeFn]="dateRange"
|
|
146
|
-
[newRange]="newRange"
|
|
147
|
-
(moreEventsClick)="moreEventsClick.emit($event)">
|
|
148
|
-
</month-view>
|
|
149
|
-
</ng-template>
|
|
150
|
-
`, isInline: true, dependencies: [{ kind: "component", type: MonthViewRendererComponent, selector: "month-view", inputs: ["hiddenDays", "monthDaySlotTemplate", "highlightOngoingEvents", "type", "eventsPerDay", "adaptiveSlotHeight", "numberOfWeeks", "newRange", "dateRangeFn"], outputs: ["moreEventsClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
151
|
-
}
|
|
152
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MonthViewComponent, decorators: [{
|
|
153
|
-
type: Component,
|
|
154
|
-
args: [{
|
|
155
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
156
|
-
selector: 'kendo-scheduler-month-view',
|
|
157
|
-
providers: [{
|
|
158
|
-
provide: SchedulerView,
|
|
159
|
-
useExisting: forwardRef(() => MonthViewComponent)
|
|
160
|
-
}],
|
|
161
|
-
template: `
|
|
162
|
-
<ng-template #content>
|
|
163
|
-
<month-view
|
|
164
|
-
type="month"
|
|
165
|
-
[eventHeight]="viewEventHeight"
|
|
166
|
-
[hiddenDays]="viewHiddenDays"
|
|
167
|
-
[adaptiveSlotHeight]="adaptiveSlotHeight"
|
|
168
|
-
[eventsPerDay]="eventsPerDay"
|
|
169
|
-
[eventTemplate]="eventTemplate?.templateRef"
|
|
170
|
-
[slotClass]="viewSlotClass"
|
|
171
|
-
[eventClass]="viewEventClass"
|
|
172
|
-
[eventStyles]="viewEventStyles"
|
|
173
|
-
[groupHeaderTemplate]="groupHeaderTemplate?.templateRef"
|
|
174
|
-
[monthDaySlotTemplate]="monthDaySlotTemplate?.templateRef"
|
|
175
|
-
[selectedDateFormat]="selectedDateFormat"
|
|
176
|
-
[selectedShortDateFormat]="selectedShortDateFormat"
|
|
177
|
-
[highlightOngoingEvents]="viewHighlightOngoingEvents"
|
|
178
|
-
[weekStart]="viewWeekStart"
|
|
179
|
-
[dateRangeFn]="dateRange"
|
|
180
|
-
[newRange]="newRange"
|
|
181
|
-
(moreEventsClick)="moreEventsClick.emit($event)">
|
|
182
|
-
</month-view>
|
|
183
|
-
</ng-template>
|
|
184
|
-
`,
|
|
185
|
-
standalone: true,
|
|
186
|
-
imports: [MonthViewRendererComponent]
|
|
187
|
-
}]
|
|
188
|
-
}], ctorParameters: () => [{ type: i1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: i2.ViewContextService }, { type: i3.ViewStateService }, { type: i4.IntlService }], propDecorators: { eventsPerDay: [{
|
|
189
|
-
type: Input
|
|
190
|
-
}], eventHeight: [{
|
|
191
|
-
type: Input
|
|
192
|
-
}], adaptiveSlotHeight: [{
|
|
193
|
-
type: Input
|
|
194
|
-
}], selectedDateFormat: [{
|
|
195
|
-
type: Input
|
|
196
|
-
}], selectedShortDateFormat: [{
|
|
197
|
-
type: Input
|
|
198
|
-
}], moreEventsClick: [{
|
|
199
|
-
type: Output
|
|
200
|
-
}], monthDaySlotTemplate: [{
|
|
201
|
-
type: ContentChild,
|
|
202
|
-
args: [MonthDaySlotTemplateDirective, { static: false }]
|
|
203
|
-
}] } });
|
|
@@ -1,202 +0,0 @@
|
|
|
1
|
-
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
3
|
-
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
-
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
import { Component, ContentChild, forwardRef, Input, ChangeDetectionStrategy, ChangeDetectorRef } from '@angular/core';
|
|
6
|
-
import { LocalizationService } from '@progress/kendo-angular-l10n';
|
|
7
|
-
import { IntlService } from '@progress/kendo-angular-intl';
|
|
8
|
-
import { addDays, addWeeks, firstDayInWeek, getDate } from '@progress/kendo-date-math';
|
|
9
|
-
import { SchedulerView } from '../../types';
|
|
10
|
-
import { ConfigurationViewBase } from '../common/configuration-view-base';
|
|
11
|
-
import { ViewContextService } from '../view-context.service';
|
|
12
|
-
import { ViewStateService } from '../view-state.service';
|
|
13
|
-
import { MultiWeekDaySlotTemplateDirective } from '../templates';
|
|
14
|
-
import { DAYS_IN_WEEK_COUNT, DEFAULT_EVENT_HEIGHT, WEEKS_COUNT } from '../constants';
|
|
15
|
-
import { isPresent } from '../../common/util';
|
|
16
|
-
import { MonthViewRendererComponent } from './month-view-renderer.component';
|
|
17
|
-
import * as i0 from "@angular/core";
|
|
18
|
-
import * as i1 from "@progress/kendo-angular-l10n";
|
|
19
|
-
import * as i2 from "../view-context.service";
|
|
20
|
-
import * as i3 from "../view-state.service";
|
|
21
|
-
import * as i4 from "@progress/kendo-angular-intl";
|
|
22
|
-
/**
|
|
23
|
-
* Represents the component that renders the **Multi-Week** view in the Scheduler.
|
|
24
|
-
*
|
|
25
|
-
* @example
|
|
26
|
-
* ```html
|
|
27
|
-
* <kendo-scheduler>
|
|
28
|
-
* <kendo-scheduler-multi-week-view></kendo-scheduler-multi-week-view>
|
|
29
|
-
* </kendo-scheduler>
|
|
30
|
-
* ```
|
|
31
|
-
*/
|
|
32
|
-
export class MultiWeekViewComponent extends ConfigurationViewBase {
|
|
33
|
-
intl;
|
|
34
|
-
/**
|
|
35
|
-
* @hidden
|
|
36
|
-
*/
|
|
37
|
-
get title() {
|
|
38
|
-
return this.localization.get('multiWeekViewTitle');
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Sets the height of the rendered events. If set to `'auto'`, the height is based on the event content
|
|
42
|
-
* ([see example](slug:multiweek_views_scheduler#configuring-the-height-of-the-scheduler-events)).
|
|
43
|
-
* > When set to `'auto'`, it automatically sets the `adaptiveSlotHeight` property to `true`.
|
|
44
|
-
*/
|
|
45
|
-
eventHeight;
|
|
46
|
-
/**
|
|
47
|
-
* Sets the number of events to render per day. If set to `'auto'`, all events display in the slot. If set to `0`, it normalizes to `1`
|
|
48
|
-
* ([see example](slug:multiweek_views_scheduler#setting-the-number-of-events-per-day)).
|
|
49
|
-
* > When set to `'auto'`, it automatically sets the `adaptiveSlotHeight` property to `true`.
|
|
50
|
-
* @default 2
|
|
51
|
-
*/
|
|
52
|
-
set eventsPerDay(events) {
|
|
53
|
-
this._eventsPerDay = !events ? 1 : events;
|
|
54
|
-
}
|
|
55
|
-
get eventsPerDay() {
|
|
56
|
-
return this._eventsPerDay;
|
|
57
|
-
}
|
|
58
|
-
_eventsPerDay;
|
|
59
|
-
/**
|
|
60
|
-
* Enables adaptive slot height. Increases the slot group (row) height when containing events up to the number of displayed events and reduces its height if there are fewer events for that slot group (row)
|
|
61
|
-
* ([see example](slug:multiweek_views_scheduler#enabling-the-adaptive-slot-height-of-the-scheduler)).
|
|
62
|
-
* @default false
|
|
63
|
-
*/
|
|
64
|
-
adaptiveSlotHeight;
|
|
65
|
-
/**
|
|
66
|
-
* Sets the number of weeks to render in the view.
|
|
67
|
-
* @default 6
|
|
68
|
-
*/
|
|
69
|
-
numberOfWeeks = WEEKS_COUNT;
|
|
70
|
-
/**
|
|
71
|
-
* Sets the long-date format for the selected date in the Scheduler toolbar.
|
|
72
|
-
* For more information, see [Parsing and Formatting Dates and Numbers](slug:parsingandformatting_intl#date-formatting).
|
|
73
|
-
* @default '{0:D} - {1:D}'
|
|
74
|
-
*/
|
|
75
|
-
selectedDateFormat = '{0:D} - {1:D}';
|
|
76
|
-
/**
|
|
77
|
-
* Sets the short-date format for the selected date in the Scheduler toolbar.
|
|
78
|
-
* For more information, see [Parsing and Formatting Dates and Numbers](slug:parsingandformatting_intl#date-formatting).
|
|
79
|
-
* @default '{0:d} - {1:d}'
|
|
80
|
-
*/
|
|
81
|
-
selectedShortDateFormat = '{0:d} - {1:d}';
|
|
82
|
-
multiWeekDaySlotTemplate;
|
|
83
|
-
/**
|
|
84
|
-
* The invariant name for this view.
|
|
85
|
-
* @default 'multiWeek'
|
|
86
|
-
*/
|
|
87
|
-
name = 'multiWeek';
|
|
88
|
-
get viewEventHeight() {
|
|
89
|
-
return isPresent(this.eventHeight) ? this.eventHeight : (this.schedulerOptions.eventHeight || DEFAULT_EVENT_HEIGHT);
|
|
90
|
-
}
|
|
91
|
-
constructor(localization, changeDetector, viewContext, viewState, intl) {
|
|
92
|
-
super(localization, changeDetector, viewContext, viewState);
|
|
93
|
-
this.intl = intl;
|
|
94
|
-
}
|
|
95
|
-
ngOnChanges(changes) {
|
|
96
|
-
if ((changes['eventHeight'] && changes['eventHeight'].currentValue === 'auto') ||
|
|
97
|
-
(changes['eventsPerDay'] && changes['eventsPerDay'].currentValue === 'auto')) {
|
|
98
|
-
this.adaptiveSlotHeight = true;
|
|
99
|
-
}
|
|
100
|
-
if ((changes['eventHeight'] && changes['eventHeight'].currentValue === 'auto' && !this.eventsPerDay) ||
|
|
101
|
-
(changes['adaptiveSlotHeight'] && changes['adaptiveSlotHeight'].currentValue === true && !this.eventsPerDay)) {
|
|
102
|
-
this.eventsPerDay = 2;
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* @hidden
|
|
107
|
-
*/
|
|
108
|
-
dateRange(date, weekStart) {
|
|
109
|
-
const periodStart = getDate(date);
|
|
110
|
-
const start = firstDayInWeek(periodStart, weekStart);
|
|
111
|
-
const end = addDays(start, (DAYS_IN_WEEK_COUNT * this.numberOfWeeks));
|
|
112
|
-
const text = this.intl.format(this.selectedDateFormat, start, end);
|
|
113
|
-
const shortText = this.intl.format(this.selectedShortDateFormat, start, end);
|
|
114
|
-
return { start, end, text, shortText };
|
|
115
|
-
}
|
|
116
|
-
/**
|
|
117
|
-
* @hidden
|
|
118
|
-
*/
|
|
119
|
-
newRange(date, direction = 1) {
|
|
120
|
-
return firstDayInWeek(addWeeks(date, this.numberOfWeeks * direction));
|
|
121
|
-
}
|
|
122
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MultiWeekViewComponent, deps: [{ token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i2.ViewContextService }, { token: i3.ViewStateService }, { token: i4.IntlService }], target: i0.ɵɵFactoryTarget.Component });
|
|
123
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MultiWeekViewComponent, isStandalone: true, selector: "kendo-scheduler-multi-week-view", inputs: { eventHeight: "eventHeight", eventsPerDay: "eventsPerDay", adaptiveSlotHeight: "adaptiveSlotHeight", numberOfWeeks: "numberOfWeeks", selectedDateFormat: "selectedDateFormat", selectedShortDateFormat: "selectedShortDateFormat" }, providers: [{
|
|
124
|
-
provide: SchedulerView,
|
|
125
|
-
useExisting: forwardRef(() => MultiWeekViewComponent)
|
|
126
|
-
}], queries: [{ propertyName: "multiWeekDaySlotTemplate", first: true, predicate: MultiWeekDaySlotTemplateDirective, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
|
|
127
|
-
<ng-template #content>
|
|
128
|
-
<month-view
|
|
129
|
-
type="multiWeek"
|
|
130
|
-
[eventHeight]="viewEventHeight"
|
|
131
|
-
[hiddenDays]="viewHiddenDays"
|
|
132
|
-
[adaptiveSlotHeight]="adaptiveSlotHeight"
|
|
133
|
-
[eventsPerDay]="eventsPerDay"
|
|
134
|
-
[eventTemplate]="eventTemplate?.templateRef"
|
|
135
|
-
[slotClass]="viewSlotClass"
|
|
136
|
-
[eventClass]="viewEventClass"
|
|
137
|
-
[eventStyles]="viewEventStyles"
|
|
138
|
-
[groupHeaderTemplate]="groupHeaderTemplate?.templateRef"
|
|
139
|
-
[monthDaySlotTemplate]="multiWeekDaySlotTemplate?.templateRef"
|
|
140
|
-
[selectedDateFormat]="selectedDateFormat"
|
|
141
|
-
[selectedShortDateFormat]="selectedShortDateFormat"
|
|
142
|
-
[highlightOngoingEvents]="viewHighlightOngoingEvents"
|
|
143
|
-
[weekStart]="viewWeekStart"
|
|
144
|
-
[numberOfWeeks]="numberOfWeeks"
|
|
145
|
-
[dateRangeFn]="dateRange"
|
|
146
|
-
[newRange]="newRange">
|
|
147
|
-
</month-view>
|
|
148
|
-
</ng-template>
|
|
149
|
-
`, isInline: true, dependencies: [{ kind: "component", type: MonthViewRendererComponent, selector: "month-view", inputs: ["hiddenDays", "monthDaySlotTemplate", "highlightOngoingEvents", "type", "eventsPerDay", "adaptiveSlotHeight", "numberOfWeeks", "newRange", "dateRangeFn"], outputs: ["moreEventsClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
150
|
-
}
|
|
151
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MultiWeekViewComponent, decorators: [{
|
|
152
|
-
type: Component,
|
|
153
|
-
args: [{
|
|
154
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
155
|
-
selector: 'kendo-scheduler-multi-week-view',
|
|
156
|
-
providers: [{
|
|
157
|
-
provide: SchedulerView,
|
|
158
|
-
useExisting: forwardRef(() => MultiWeekViewComponent)
|
|
159
|
-
}],
|
|
160
|
-
template: `
|
|
161
|
-
<ng-template #content>
|
|
162
|
-
<month-view
|
|
163
|
-
type="multiWeek"
|
|
164
|
-
[eventHeight]="viewEventHeight"
|
|
165
|
-
[hiddenDays]="viewHiddenDays"
|
|
166
|
-
[adaptiveSlotHeight]="adaptiveSlotHeight"
|
|
167
|
-
[eventsPerDay]="eventsPerDay"
|
|
168
|
-
[eventTemplate]="eventTemplate?.templateRef"
|
|
169
|
-
[slotClass]="viewSlotClass"
|
|
170
|
-
[eventClass]="viewEventClass"
|
|
171
|
-
[eventStyles]="viewEventStyles"
|
|
172
|
-
[groupHeaderTemplate]="groupHeaderTemplate?.templateRef"
|
|
173
|
-
[monthDaySlotTemplate]="multiWeekDaySlotTemplate?.templateRef"
|
|
174
|
-
[selectedDateFormat]="selectedDateFormat"
|
|
175
|
-
[selectedShortDateFormat]="selectedShortDateFormat"
|
|
176
|
-
[highlightOngoingEvents]="viewHighlightOngoingEvents"
|
|
177
|
-
[weekStart]="viewWeekStart"
|
|
178
|
-
[numberOfWeeks]="numberOfWeeks"
|
|
179
|
-
[dateRangeFn]="dateRange"
|
|
180
|
-
[newRange]="newRange">
|
|
181
|
-
</month-view>
|
|
182
|
-
</ng-template>
|
|
183
|
-
`,
|
|
184
|
-
standalone: true,
|
|
185
|
-
imports: [MonthViewRendererComponent]
|
|
186
|
-
}]
|
|
187
|
-
}], ctorParameters: () => [{ type: i1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: i2.ViewContextService }, { type: i3.ViewStateService }, { type: i4.IntlService }], propDecorators: { eventHeight: [{
|
|
188
|
-
type: Input
|
|
189
|
-
}], eventsPerDay: [{
|
|
190
|
-
type: Input
|
|
191
|
-
}], adaptiveSlotHeight: [{
|
|
192
|
-
type: Input
|
|
193
|
-
}], numberOfWeeks: [{
|
|
194
|
-
type: Input
|
|
195
|
-
}], selectedDateFormat: [{
|
|
196
|
-
type: Input
|
|
197
|
-
}], selectedShortDateFormat: [{
|
|
198
|
-
type: Input
|
|
199
|
-
}], multiWeekDaySlotTemplate: [{
|
|
200
|
-
type: ContentChild,
|
|
201
|
-
args: [MultiWeekDaySlotTemplateDirective]
|
|
202
|
-
}] } });
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
3
|
-
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
-
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
import { intersects, toUTCDate, addUTCDays } from '../utils';
|
|
6
|
-
import { sortTasksByTime } from '../../common/util';
|
|
7
|
-
import { addDays } from '@progress/kendo-date-math';
|
|
8
|
-
const last = (arr) => arr[arr.length - 1];
|
|
9
|
-
/**
|
|
10
|
-
* @hidden
|
|
11
|
-
*/
|
|
12
|
-
export const createTasks = (periodStart, periodEnd, items, ranges, hiddenDays = []) => {
|
|
13
|
-
const tasks = [];
|
|
14
|
-
const utcStart = toUTCDate(periodStart);
|
|
15
|
-
const utcEnd = toUTCDate(periodEnd);
|
|
16
|
-
for (let index = 0; index < items.length; index++) {
|
|
17
|
-
const item = items[index];
|
|
18
|
-
const data = {};
|
|
19
|
-
const startTime = item.start.toUTCDate();
|
|
20
|
-
const end = item.end;
|
|
21
|
-
const endTime = (item.end.getTime() !== end.getTime() ? end.addDays(1) : end).toUTCDate();
|
|
22
|
-
if (intersects(startTime, endTime, utcStart, utcEnd)) {
|
|
23
|
-
for (let rangeIdx = 0; rangeIdx < ranges.length; rangeIdx++) {
|
|
24
|
-
const range = ranges[rangeIdx];
|
|
25
|
-
if (!range[0]) {
|
|
26
|
-
continue;
|
|
27
|
-
}
|
|
28
|
-
const rangeStart = toUTCDate(range[0]);
|
|
29
|
-
const rangeEnd = addUTCDays(toUTCDate(last(range)), 1);
|
|
30
|
-
if (intersects(startTime, endTime, rangeStart, rangeEnd)) {
|
|
31
|
-
const task = {
|
|
32
|
-
index,
|
|
33
|
-
startTime,
|
|
34
|
-
endTime,
|
|
35
|
-
start: item.start,
|
|
36
|
-
end: item.end,
|
|
37
|
-
event: item.event,
|
|
38
|
-
isAllDay: item.event.isAllDay,
|
|
39
|
-
rangeIndex: rangeIdx,
|
|
40
|
-
data: data
|
|
41
|
-
};
|
|
42
|
-
task.head = task.endTime > rangeEnd;
|
|
43
|
-
task.tail = task.startTime < rangeStart;
|
|
44
|
-
if (hiddenDays.includes(task.endTime.getDay())) {
|
|
45
|
-
task.head = true;
|
|
46
|
-
}
|
|
47
|
-
if (hiddenDays.includes(task.startTime.getDay())) {
|
|
48
|
-
task.tail = true;
|
|
49
|
-
}
|
|
50
|
-
let slotMatch;
|
|
51
|
-
range.forEach(slot => {
|
|
52
|
-
const slotStartTime = slot;
|
|
53
|
-
const slotEndTime = addDays(slot, 1);
|
|
54
|
-
if (task.event.start >= slotStartTime && task.event.start <= slotEndTime) {
|
|
55
|
-
slotMatch = { start: slotStartTime, end: slotEndTime };
|
|
56
|
-
}
|
|
57
|
-
});
|
|
58
|
-
task.isMultiDay = task.event.end > slotMatch?.end || task.head || task.tail;
|
|
59
|
-
const eventStart = task.event.start;
|
|
60
|
-
const eventEnd = task.event.end;
|
|
61
|
-
let sameDate = eventStart.getFullYear() === eventEnd.getFullYear() &&
|
|
62
|
-
eventStart.getMonth() === eventEnd.getMonth() &&
|
|
63
|
-
eventStart.getDate() === eventEnd.getDate();
|
|
64
|
-
// Also treat as same date if end is at 00:00:00 the following day
|
|
65
|
-
if (!sameDate &&
|
|
66
|
-
eventEnd.getHours() === 0 &&
|
|
67
|
-
eventEnd.getMinutes() === 0 &&
|
|
68
|
-
eventEnd.getSeconds() === 0 &&
|
|
69
|
-
eventEnd.getMilliseconds() === 0) {
|
|
70
|
-
const nextDay = new Date(eventStart);
|
|
71
|
-
nextDay.setDate(nextDay.getDate() + 1);
|
|
72
|
-
sameDate = nextDay.getFullYear() === eventEnd.getFullYear() &&
|
|
73
|
-
nextDay.getMonth() === eventEnd.getMonth() &&
|
|
74
|
-
nextDay.getDate() === eventEnd.getDate();
|
|
75
|
-
}
|
|
76
|
-
// Skip task if it starts and ends on the same date and that date is a hidden day
|
|
77
|
-
if (hiddenDays?.length > 0 && sameDate && hiddenDays.includes(eventStart.getDay())) {
|
|
78
|
-
continue;
|
|
79
|
-
}
|
|
80
|
-
tasks.push(task);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
return sortTasksByTime(tasks);
|
|
86
|
-
};
|
|
87
|
-
function clearTaskData(task) {
|
|
88
|
-
const data = task.data;
|
|
89
|
-
for (const key in data) {
|
|
90
|
-
if (data.hasOwnProperty(key)) {
|
|
91
|
-
delete data[key];
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
/**
|
|
96
|
-
* @hidden
|
|
97
|
-
*/
|
|
98
|
-
export function updateTaskData(tasks) {
|
|
99
|
-
for (let idx = 0; idx < tasks.length; idx++) {
|
|
100
|
-
const task = tasks[idx];
|
|
101
|
-
const resources = task.resources;
|
|
102
|
-
clearTaskData(task);
|
|
103
|
-
for (let resourceIdx = 0; resourceIdx < resources.length; resourceIdx++) {
|
|
104
|
-
task.data[resources[resourceIdx].leafIdx] = {};
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
}
|