@progress/kendo-angular-scheduler 25.4.0-develop.2 → 25.4.0-develop.21
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/fesm2022/progress-kendo-angular-scheduler.mjs +98 -86
- package/index.d.ts +5 -1
- package/package-metadata.mjs +2 -2
- package/package.json +15 -15
- package/schematics/ngAdd/index.js +3 -3
|
@@ -44,8 +44,8 @@ const packageMetadata = {
|
|
|
44
44
|
productName: 'Kendo UI for Angular',
|
|
45
45
|
productCode: 'KENDOUIANGULAR',
|
|
46
46
|
productCodes: ['KENDOUIANGULAR'],
|
|
47
|
-
publishDate:
|
|
48
|
-
version: '25.4.0-develop.
|
|
47
|
+
publishDate: 1793346377,
|
|
48
|
+
version: '25.4.0-develop.21',
|
|
49
49
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
50
50
|
};
|
|
51
51
|
|
|
@@ -2944,7 +2944,8 @@ function isRecurrenceException(task) {
|
|
|
2944
2944
|
return task.event && isPresent(task.event.recurrenceId) && !task.event.recurrenceRule;
|
|
2945
2945
|
}
|
|
2946
2946
|
/** @hidden */
|
|
2947
|
-
const rectContains = (rect, left, top, scaleX = 1) => rect.left * scaleX <= left && left <= rect.left * scaleX + rect.width * scaleX &&
|
|
2947
|
+
const rectContains = (rect, left, top, scaleX = 1, scaleY = 1) => rect.left * scaleX <= left && left <= rect.left * scaleX + rect.width * scaleX &&
|
|
2948
|
+
rect.top * scaleY <= top && top <= rect.top * scaleY + rect.height * scaleY;
|
|
2948
2949
|
/** @hidden */
|
|
2949
2950
|
const rectContainsX = (rect, left, scaleX = 1) => rect.left * scaleX <= left && left <= rect.left * scaleX + rect.width * scaleX;
|
|
2950
2951
|
/** @hidden */
|
|
@@ -3112,14 +3113,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.33", ngImpo
|
|
|
3112
3113
|
type: Output
|
|
3113
3114
|
}] } });
|
|
3114
3115
|
|
|
3115
|
-
/**
|
|
3116
|
-
* @hidden
|
|
3117
|
-
*/
|
|
3118
|
-
const MULTIPLE_RESOURCE_VALUE_ACCESSOR = {
|
|
3119
|
-
multi: true,
|
|
3120
|
-
provide: NG_VALUE_ACCESSOR,
|
|
3121
|
-
useExisting: forwardRef(() => MultipleResourceEditorComponent)
|
|
3122
|
-
};
|
|
3123
3116
|
/**
|
|
3124
3117
|
* @hidden
|
|
3125
3118
|
*/
|
|
@@ -3135,7 +3128,7 @@ class MultipleResourceEditorComponent extends ResourceEditorBase {
|
|
|
3135
3128
|
}
|
|
3136
3129
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: MultipleResourceEditorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
3137
3130
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.33", type: MultipleResourceEditorComponent, isStandalone: true, selector: "kendo-multiple-resource-editor", providers: [
|
|
3138
|
-
|
|
3131
|
+
{ multi: true, provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => MultipleResourceEditorComponent) }
|
|
3139
3132
|
], viewQueries: [{ propertyName: "resourceMultiSelect", first: true, predicate: ["resourceMultiSelect"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: `
|
|
3140
3133
|
<kendo-multiselect
|
|
3141
3134
|
#resourceMultiSelect
|
|
@@ -3168,7 +3161,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.33", ngImpo
|
|
|
3168
3161
|
type: Component,
|
|
3169
3162
|
args: [{
|
|
3170
3163
|
providers: [
|
|
3171
|
-
|
|
3164
|
+
{ multi: true, provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => MultipleResourceEditorComponent) }
|
|
3172
3165
|
],
|
|
3173
3166
|
selector: 'kendo-multiple-resource-editor',
|
|
3174
3167
|
template: `
|
|
@@ -3206,14 +3199,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.33", ngImpo
|
|
|
3206
3199
|
args: ['resourceMultiSelect', { static: true }]
|
|
3207
3200
|
}] } });
|
|
3208
3201
|
|
|
3209
|
-
/**
|
|
3210
|
-
* @hidden
|
|
3211
|
-
*/
|
|
3212
|
-
const SINGLE_RESOURCE_VALUE_ACCESSOR = {
|
|
3213
|
-
multi: true,
|
|
3214
|
-
provide: NG_VALUE_ACCESSOR,
|
|
3215
|
-
useExisting: forwardRef(() => SingleResourceEditorComponent)
|
|
3216
|
-
};
|
|
3217
3202
|
/**
|
|
3218
3203
|
* @hidden
|
|
3219
3204
|
*/
|
|
@@ -3224,7 +3209,7 @@ class SingleResourceEditorComponent extends ResourceEditorBase {
|
|
|
3224
3209
|
}
|
|
3225
3210
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: SingleResourceEditorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
3226
3211
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.33", type: SingleResourceEditorComponent, isStandalone: true, selector: "kendo-single-resource-editor", providers: [
|
|
3227
|
-
|
|
3212
|
+
{ multi: true, provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SingleResourceEditorComponent) }
|
|
3228
3213
|
], viewQueries: [{ propertyName: "resourceDropDown", first: true, predicate: ["resourceDropDown"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: `
|
|
3229
3214
|
<kendo-dropdownlist
|
|
3230
3215
|
#resourceDropDown
|
|
@@ -3250,7 +3235,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.33", ngImpo
|
|
|
3250
3235
|
type: Component,
|
|
3251
3236
|
args: [{
|
|
3252
3237
|
providers: [
|
|
3253
|
-
|
|
3238
|
+
{ multi: true, provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SingleResourceEditorComponent) }
|
|
3254
3239
|
],
|
|
3255
3240
|
selector: 'kendo-single-resource-editor',
|
|
3256
3241
|
template: `
|
|
@@ -4632,7 +4617,7 @@ class RecurrenceWeekdayRuleEditorComponent {
|
|
|
4632
4617
|
</div>
|
|
4633
4618
|
</div>
|
|
4634
4619
|
</div>
|
|
4635
|
-
`, isInline: true, dependencies: [{ kind: "component", type: LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional", "labelCssStyle", "labelCssClass"], exportAs: ["kendoLabel"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "
|
|
4620
|
+
`, isInline: true, dependencies: [{ kind: "component", type: LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional", "labelCssStyle", "labelCssClass"], exportAs: ["kendoLabel"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "endIcon", "endSvgIcon"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
|
|
4636
4621
|
}
|
|
4637
4622
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: RecurrenceWeekdayRuleEditorComponent, decorators: [{
|
|
4638
4623
|
type: Component,
|
|
@@ -5182,14 +5167,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.33", ngImpo
|
|
|
5182
5167
|
type: Optional
|
|
5183
5168
|
}] }] });
|
|
5184
5169
|
|
|
5185
|
-
/**
|
|
5186
|
-
* @hidden
|
|
5187
|
-
*/
|
|
5188
|
-
const RECURRENCE_VALUE_ACCESSOR = {
|
|
5189
|
-
multi: true,
|
|
5190
|
-
provide: NG_VALUE_ACCESSOR,
|
|
5191
|
-
useExisting: forwardRef(() => RecurrenceEditorComponent)
|
|
5192
|
-
};
|
|
5193
5170
|
/**
|
|
5194
5171
|
* Represents the Kendo UI Recurrence Editor component for Angular. Use this component to let users set recurrence rules for Scheduler events.
|
|
5195
5172
|
*
|
|
@@ -5353,7 +5330,7 @@ class RecurrenceEditorComponent {
|
|
|
5353
5330
|
provide: L10N_PREFIX,
|
|
5354
5331
|
useValue: 'kendo.recurrenceeditor'
|
|
5355
5332
|
},
|
|
5356
|
-
|
|
5333
|
+
{ multi: true, provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => RecurrenceEditorComponent) },
|
|
5357
5334
|
RecurrenceService
|
|
5358
5335
|
], exportAs: ["kendoRecurrenceEditor"], usesOnChanges: true, ngImport: i0, template: `
|
|
5359
5336
|
<ng-container kendoRecurrenceEditorLocalizedMessages
|
|
@@ -5526,7 +5503,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.33", ngImpo
|
|
|
5526
5503
|
provide: L10N_PREFIX,
|
|
5527
5504
|
useValue: 'kendo.recurrenceeditor'
|
|
5528
5505
|
},
|
|
5529
|
-
|
|
5506
|
+
{ multi: true, provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => RecurrenceEditorComponent) },
|
|
5530
5507
|
RecurrenceService
|
|
5531
5508
|
],
|
|
5532
5509
|
selector: 'kendo-recurrence-editor',
|
|
@@ -5711,14 +5688,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.33", ngImpo
|
|
|
5711
5688
|
type: Output
|
|
5712
5689
|
}] } });
|
|
5713
5690
|
|
|
5714
|
-
/**
|
|
5715
|
-
* @hidden
|
|
5716
|
-
*/
|
|
5717
|
-
const TIME_ZONE_VALUE_ACCESSOR = {
|
|
5718
|
-
multi: true,
|
|
5719
|
-
provide: NG_VALUE_ACCESSOR,
|
|
5720
|
-
useExisting: forwardRef(() => TimeZoneEditorComponent)
|
|
5721
|
-
};
|
|
5722
5691
|
/**
|
|
5723
5692
|
* Represents the Kendo UI TimeZone Editor component for Angular.
|
|
5724
5693
|
*
|
|
@@ -5812,7 +5781,7 @@ class TimeZoneEditorComponent {
|
|
|
5812
5781
|
}
|
|
5813
5782
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: TimeZoneEditorComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
|
5814
5783
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.33", type: TimeZoneEditorComponent, isStandalone: true, selector: "kendo-timezone-editor", inputs: { width: "width" }, outputs: { valueChange: "valueChange" }, providers: [
|
|
5815
|
-
|
|
5784
|
+
{ multi: true, provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => TimeZoneEditorComponent) }
|
|
5816
5785
|
], viewQueries: [{ propertyName: "tzComboBox", first: true, predicate: ["tzcombobox"], descendants: true, static: true }, { propertyName: "tzComboBoxControl", first: true, predicate: ["tzcomboboxControl"], descendants: true, static: true }], ngImport: i0, template: `
|
|
5817
5786
|
@if (!formControl) {
|
|
5818
5787
|
<kendo-dropdownlist
|
|
@@ -5845,7 +5814,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.33", ngImpo
|
|
|
5845
5814
|
type: Component,
|
|
5846
5815
|
args: [{
|
|
5847
5816
|
providers: [
|
|
5848
|
-
|
|
5817
|
+
{ multi: true, provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => TimeZoneEditorComponent) }
|
|
5849
5818
|
],
|
|
5850
5819
|
selector: 'kendo-timezone-editor',
|
|
5851
5820
|
template: `
|
|
@@ -6566,7 +6535,7 @@ class EditDialogComponent {
|
|
|
6566
6535
|
</kendo-dialog>
|
|
6567
6536
|
}
|
|
6568
6537
|
}
|
|
6569
|
-
`, isInline: true, dependencies: [{ kind: "component", type: DialogComponent, selector: "kendo-dialog", inputs: ["actions", "actionsLayout", "autoFocusedElement", "closable", "title", "width", "minWidth", "maxWidth", "height", "minHeight", "maxHeight", "animation"], outputs: ["action", "close"], exportAs: ["kendoDialog"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: FormFieldComponent, selector: "kendo-formfield", inputs: ["showHints", "orientation", "showErrors", "colSpan"] }, { kind: "directive", type: TextBoxDirective, selector: "input[kendoTextBox]", inputs: ["value"] }, { kind: "component", type: TimeZoneEditorComponent, selector: "kendo-timezone-editor", inputs: ["width"], outputs: ["valueChange"] }, { kind: "component", type: RecurrenceEditorComponent, selector: "kendo-recurrence-editor", inputs: ["start", "timezone", "weekStart", "repeatEveryOptions", "endAfterOptions", "repeatOnOptions", "endOnOptions", "recurrenceSummaryTemplate", "recurrenceRule"], outputs: ["valueChange"], exportAs: ["kendoRecurrenceEditor"] }, { kind: "component", type: TextAreaComponent, selector: "kendo-textarea", inputs: ["focusableId", "flow", "inputAttributes", "adornmentsOrientation", "rows", "cols", "maxlength", "maxResizableRows", "tabindex", "tabIndex", "resizable", "size", "rounded", "fillMode", "showPrefixSeparator", "showSuffixSeparator", "value"], outputs: ["focus", "blur", "valueChange"], exportAs: ["kendoTextArea"] }, { kind: "component", type: MultipleResourceEditorComponent, selector: "kendo-multiple-resource-editor" }, { kind: "component", type: SingleResourceEditorComponent, selector: "kendo-single-resource-editor" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: DialogActionsComponent, selector: "kendo-dialog-actions", inputs: ["actions", "layout"], outputs: ["action"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "
|
|
6538
|
+
`, isInline: true, dependencies: [{ kind: "component", type: DialogComponent, selector: "kendo-dialog", inputs: ["actions", "actionsLayout", "autoFocusedElement", "closable", "title", "width", "minWidth", "maxWidth", "height", "minHeight", "maxHeight", "animation"], outputs: ["action", "close"], exportAs: ["kendoDialog"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: FormFieldComponent, selector: "kendo-formfield", inputs: ["showHints", "orientation", "showErrors", "colSpan"] }, { kind: "directive", type: TextBoxDirective, selector: "input[kendoTextBox]", inputs: ["value"] }, { kind: "component", type: TimeZoneEditorComponent, selector: "kendo-timezone-editor", inputs: ["width"], outputs: ["valueChange"] }, { kind: "component", type: RecurrenceEditorComponent, selector: "kendo-recurrence-editor", inputs: ["start", "timezone", "weekStart", "repeatEveryOptions", "endAfterOptions", "repeatOnOptions", "endOnOptions", "recurrenceSummaryTemplate", "recurrenceRule"], outputs: ["valueChange"], exportAs: ["kendoRecurrenceEditor"] }, { kind: "component", type: TextAreaComponent, selector: "kendo-textarea", inputs: ["focusableId", "flow", "inputAttributes", "adornmentsOrientation", "rows", "cols", "maxlength", "maxResizableRows", "tabindex", "tabIndex", "resizable", "size", "rounded", "fillMode", "showPrefixSeparator", "showSuffixSeparator", "value"], outputs: ["focus", "blur", "valueChange"], exportAs: ["kendoTextArea"] }, { kind: "component", type: MultipleResourceEditorComponent, selector: "kendo-multiple-resource-editor" }, { kind: "component", type: SingleResourceEditorComponent, selector: "kendo-single-resource-editor" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: DialogActionsComponent, selector: "kendo-dialog-actions", inputs: ["actions", "layout"], outputs: ["action"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "endIcon", "endSvgIcon"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "component", type: SwitchComponent, selector: "kendo-switch", inputs: ["focusableId", "onLabel", "offLabel", "checked", "disabled", "readonly", "tabindex", "size", "thumbRounded", "trackRounded", "tabIndex"], outputs: ["focus", "blur", "valueChange"], exportAs: ["kendoSwitch"] }, { kind: "component", type: SVGIconComponent, selector: "kendo-svg-icon, kendo-svgicon", inputs: ["icon", "variant"], exportAs: ["kendoSVGIcon"] }, { kind: "component", type: DatePickerComponent, selector: "kendo-datepicker", inputs: ["focusableId", "cellTemplate", "clearButton", "inputAttributes", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate", "headerTemplate", "footerTemplate", "footer", "navigationItemTemplate", "weekDaysFormat", "showOtherMonthDays", "activeView", "bottomView", "topView", "calendarType", "animateCalendarNavigation", "disabled", "readonly", "readOnlyInput", "popupSettings", "navigation", "min", "max", "incompleteDateValidation", "autoCorrectParts", "autoSwitchParts", "autoSwitchKeys", "enableMouseWheel", "allowCaretMode", "autoFill", "focusedDate", "value", "format", "twoDigitYearMax", "formatPlaceholder", "placeholder", "tabindex", "tabIndex", "disabledDates", "adaptiveTitle", "adaptiveSubtitle", "rangeValidation", "disabledDatesValidation", "weekNumber", "size", "rounded", "fillMode", "adaptiveMode"], outputs: ["valueChange", "focus", "blur", "open", "close", "escape"], exportAs: ["kendo-datepicker"] }, { kind: "component", type: DatePickerCustomMessagesComponent, selector: "kendo-datepicker-messages" }, { kind: "component", type: TimePickerComponent, selector: "kendo-timepicker", inputs: ["focusableId", "disabled", "readonly", "readOnlyInput", "clearButton", "format", "formatPlaceholder", "placeholder", "min", "max", "incompleteDateValidation", "autoSwitchParts", "autoSwitchKeys", "enableMouseWheel", "allowCaretMode", "cancelButton", "nowButton", "steps", "popupSettings", "tabindex", "tabIndex", "adaptiveTitle", "adaptiveSubtitle", "rangeValidation", "adaptiveMode", "value", "size", "rounded", "fillMode", "inputAttributes"], outputs: ["valueChange", "focus", "blur", "open", "close", "escape"], exportAs: ["kendo-timepicker"] }, { kind: "component", type: TimePickerCustomMessagesComponent, selector: "kendo-timepicker-messages" }] });
|
|
6570
6539
|
}
|
|
6571
6540
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: EditDialogComponent, decorators: [{
|
|
6572
6541
|
type: Component,
|
|
@@ -7002,7 +6971,7 @@ class ToolbarViewSelectorComponent {
|
|
|
7002
6971
|
</kendo-segmented-control>
|
|
7003
6972
|
}
|
|
7004
6973
|
}
|
|
7005
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: FocusableDirective, selector: "[kendoSchedulerFocusIndex]", inputs: ["kendoSchedulerFocusIndex", "containerType"] }, { kind: "component", type: SegmentedControlComponent, selector: "kendo-segmented-control", inputs: ["items", "layoutMode", "size", "rounded", "selected"], outputs: ["selectedChange"] }, { kind: "component", type: DropDownButtonComponent, selector: "kendo-dropdownbutton", inputs: ["arrowIcon", "icon", "svgIcon", "iconClass", "imageUrl", "textField", "data", "size", "rounded", "fillMode", "themeColor", "buttonAttributes"], outputs: ["itemClick", "focus", "blur"], exportAs: ["kendoDropDownButton"] }] });
|
|
6974
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: FocusableDirective, selector: "[kendoSchedulerFocusIndex]", inputs: ["kendoSchedulerFocusIndex", "containerType"] }, { kind: "component", type: SegmentedControlComponent, selector: "kendo-segmented-control", inputs: ["items", "layoutMode", "size", "rounded", "selected"], outputs: ["selectedChange"] }, { kind: "component", type: DropDownButtonComponent, selector: "kendo-dropdownbutton", inputs: ["arrowIcon", "icon", "svgIcon", "endIcon", "endSvgIcon", "iconClass", "imageUrl", "textField", "data", "size", "rounded", "fillMode", "themeColor", "buttonAttributes"], outputs: ["itemClick", "focus", "blur"], exportAs: ["kendoDropDownButton"] }] });
|
|
7006
6975
|
}
|
|
7007
6976
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: ToolbarViewSelectorComponent, decorators: [{
|
|
7008
6977
|
type: Component,
|
|
@@ -7335,7 +7304,7 @@ class ToolbarNavigationComponent {
|
|
|
7335
7304
|
</kendo-calendar-messages>
|
|
7336
7305
|
</kendo-calendar>
|
|
7337
7306
|
</ng-template>
|
|
7338
|
-
`, isInline: true, dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "
|
|
7307
|
+
`, isInline: true, dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "endIcon", "endSvgIcon"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "directive", type: FocusableDirective, selector: "[kendoSchedulerFocusIndex]", inputs: ["kendoSchedulerFocusIndex", "containerType"] }, { kind: "component", type: CalendarComponent, selector: "kendo-calendar", inputs: ["showOtherMonthDays", "id", "focusedDate", "min", "max", "rangeValidation", "weekDaysFormat", "footer", "selection", "allowReverse", "value", "disabled", "tabindex", "tabIndex", "disabledDates", "navigation", "activeView", "bottomView", "topView", "type", "animateNavigation", "weekNumber", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate", "headerTemplate", "footerTemplate", "navigationItemTemplate", "size", "activeRangeEnd"], outputs: ["closePopup", "activeViewChange", "navigate", "activeViewDateChange", "blur", "focus", "valueChange"], exportAs: ["kendo-calendar"] }, { kind: "component", type: CalendarCustomMessagesComponent, selector: "kendo-calendar-messages" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
7339
7308
|
}
|
|
7340
7309
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: ToolbarNavigationComponent, decorators: [{
|
|
7341
7310
|
type: Component,
|
|
@@ -7620,7 +7589,7 @@ class ToolbarComponent {
|
|
|
7620
7589
|
}
|
|
7621
7590
|
|
|
7622
7591
|
<kendo-resize-sensor (resize)="resizeHandler()" [style]="'display: contents;'"></kendo-resize-sensor>
|
|
7623
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ToolbarNavigationComponent, selector: "[kendoSchedulerToolbarNavigation]", inputs: ["min", "max", "activeView", "bottomView", "responsiveLevel"] }, { kind: "component", type: ToolbarViewSelectorComponent, selector: "[kendoSchedulerToolbarViewSelector]", inputs: ["displayMode", "focusIndex", "responsiveLevel"] }, { kind: "component", type: ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "
|
|
7592
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ToolbarNavigationComponent, selector: "[kendoSchedulerToolbarNavigation]", inputs: ["min", "max", "activeView", "bottomView", "responsiveLevel"] }, { kind: "component", type: ToolbarViewSelectorComponent, selector: "[kendoSchedulerToolbarViewSelector]", inputs: ["displayMode", "focusIndex", "responsiveLevel"] }, { kind: "component", type: ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "endIcon", "endSvgIcon"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "directive", type: FocusableDirective, selector: "[kendoSchedulerFocusIndex]", inputs: ["kendoSchedulerFocusIndex", "containerType"] }] });
|
|
7624
7593
|
}
|
|
7625
7594
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: ToolbarComponent, decorators: [{
|
|
7626
7595
|
type: Component,
|
|
@@ -12757,6 +12726,7 @@ class BaseSlotService {
|
|
|
12757
12726
|
containerSize = 0;
|
|
12758
12727
|
slotsChange = new EventEmitter();
|
|
12759
12728
|
groups = [];
|
|
12729
|
+
schedulerElement = null;
|
|
12760
12730
|
registerItem(component) {
|
|
12761
12731
|
const group = this.itemGroup(component);
|
|
12762
12732
|
group.registerItem(component);
|
|
@@ -12773,6 +12743,9 @@ class BaseSlotService {
|
|
|
12773
12743
|
}
|
|
12774
12744
|
}
|
|
12775
12745
|
registerSlot(slot) {
|
|
12746
|
+
if (slot.nativeElement) {
|
|
12747
|
+
this.schedulerElement = slot.nativeElement.closest('.k-scheduler');
|
|
12748
|
+
}
|
|
12776
12749
|
const group = this.slotGroup(slot);
|
|
12777
12750
|
group.registerSlot(slot);
|
|
12778
12751
|
}
|
|
@@ -12817,13 +12790,17 @@ class BaseSlotService {
|
|
|
12817
12790
|
}
|
|
12818
12791
|
return this.groups[index];
|
|
12819
12792
|
}
|
|
12820
|
-
|
|
12793
|
+
calculateScale(axis) {
|
|
12821
12794
|
if (!isDocumentAvailable()) {
|
|
12822
12795
|
return;
|
|
12823
12796
|
}
|
|
12824
|
-
const schedulerEl =
|
|
12825
|
-
|
|
12826
|
-
|
|
12797
|
+
const schedulerEl = this.schedulerElement?.closest('.k-scheduler');
|
|
12798
|
+
if (!schedulerEl) {
|
|
12799
|
+
return;
|
|
12800
|
+
}
|
|
12801
|
+
const bounds = schedulerEl.getBoundingClientRect();
|
|
12802
|
+
const scale = axis === 'x' ? bounds.width / schedulerEl.offsetWidth : bounds.height / schedulerEl.offsetHeight;
|
|
12803
|
+
return scale;
|
|
12827
12804
|
}
|
|
12828
12805
|
}
|
|
12829
12806
|
|
|
@@ -13161,11 +13138,13 @@ class MonthSlotService extends BaseSlotService {
|
|
|
13161
13138
|
}
|
|
13162
13139
|
slotByPosition(x, y) {
|
|
13163
13140
|
let range;
|
|
13141
|
+
const scaleX = this.calculateScale('x');
|
|
13142
|
+
const scaleY = this.calculateScale('y');
|
|
13164
13143
|
for (let i = 0; i < this.groups.length; i++) {
|
|
13165
13144
|
const group = this.groups[i];
|
|
13166
|
-
range = group.dayRanges.find(r => rectContains(r.rect, x, y,
|
|
13145
|
+
range = group.dayRanges.find(r => rectContains(r.rect, x, y, scaleX, scaleY));
|
|
13167
13146
|
if (range) {
|
|
13168
|
-
return range.slots.find(slot => rectContains(slot.rect, x, y,
|
|
13147
|
+
return range.slots.find(slot => rectContains(slot.rect, x, y, scaleX, scaleY));
|
|
13169
13148
|
}
|
|
13170
13149
|
}
|
|
13171
13150
|
}
|
|
@@ -13187,9 +13166,11 @@ class MonthSlotService extends BaseSlotService {
|
|
|
13187
13166
|
};
|
|
13188
13167
|
}
|
|
13189
13168
|
groupSlotByPosition(currentSlot, x, y) {
|
|
13190
|
-
const
|
|
13169
|
+
const scaleX = this.calculateScale('x');
|
|
13170
|
+
const scaleY = this.calculateScale('y');
|
|
13171
|
+
const range = this.groups[currentSlot.id.resourceIndex].dayRanges.find(r => rectContains(r.rect, x, y, scaleX, scaleY));
|
|
13191
13172
|
if (range) {
|
|
13192
|
-
return range.slots.find(slot => rectContains(slot.rect, x, y,
|
|
13173
|
+
return range.slots.find(slot => rectContains(slot.rect, x, y, scaleX, scaleY));
|
|
13193
13174
|
}
|
|
13194
13175
|
}
|
|
13195
13176
|
resizeRanges(currentSlot, task, resizeStart, offset) {
|
|
@@ -13588,7 +13569,7 @@ class BaseView {
|
|
|
13588
13569
|
}
|
|
13589
13570
|
}
|
|
13590
13571
|
getEventStyles(item, itemResource, isAllDay) {
|
|
13591
|
-
const result = {
|
|
13572
|
+
const result = { '--kendo-scheduler-event-color': itemResource.color };
|
|
13592
13573
|
if (this.eventStyles) {
|
|
13593
13574
|
Object.assign(result, this.eventStyles({
|
|
13594
13575
|
event: item.event,
|
|
@@ -13918,8 +13899,7 @@ class BaseView {
|
|
|
13918
13899
|
right: !this.localization.rtl ? '' : toPx(origin),
|
|
13919
13900
|
width: size.width,
|
|
13920
13901
|
height: size.height,
|
|
13921
|
-
|
|
13922
|
-
borderColor: color
|
|
13902
|
+
'--kendo-scheduler-event-color': color
|
|
13923
13903
|
};
|
|
13924
13904
|
if (this.eventStyles) {
|
|
13925
13905
|
Object.assign(styles, this.eventStyles(this.dragHintEventStyleArgs()));
|
|
@@ -14063,19 +14043,21 @@ class BaseView {
|
|
|
14063
14043
|
this.updateDragContainer(args);
|
|
14064
14044
|
const eventRect = resizing.target.getBoundingClientRect();
|
|
14065
14045
|
const handleOffset = 2;
|
|
14046
|
+
const pageOffsetX = args.pageX - args.clientX;
|
|
14047
|
+
const pageOffsetY = args.pageY - args.clientY;
|
|
14066
14048
|
let pageX = args.pageX;
|
|
14067
14049
|
let pageY = args.pageY;
|
|
14068
14050
|
if (resizing.direction === 'w') {
|
|
14069
|
-
pageX = eventRect.left + handleOffset;
|
|
14051
|
+
pageX = eventRect.left + pageOffsetX + handleOffset;
|
|
14070
14052
|
}
|
|
14071
14053
|
else if (resizing.direction === 'e') {
|
|
14072
|
-
pageX = eventRect.right - handleOffset;
|
|
14054
|
+
pageX = eventRect.right + pageOffsetX - handleOffset;
|
|
14073
14055
|
}
|
|
14074
14056
|
else if (resizing.direction === 'n') {
|
|
14075
|
-
pageY = eventRect.top + handleOffset;
|
|
14057
|
+
pageY = eventRect.top + pageOffsetY + handleOffset;
|
|
14076
14058
|
}
|
|
14077
14059
|
else if (resizing.direction === 's') {
|
|
14078
|
-
pageY = eventRect.bottom - handleOffset;
|
|
14060
|
+
pageY = eventRect.bottom + pageOffsetY - handleOffset;
|
|
14079
14061
|
}
|
|
14080
14062
|
const { x, y } = this.coordinatesOffset(pageX, pageY);
|
|
14081
14063
|
resizing.slot = this.slotByPosition(Math.ceil(x), Math.ceil(y), this.container);
|
|
@@ -14117,6 +14099,7 @@ class BaseView {
|
|
|
14117
14099
|
const direction = resizing.direction;
|
|
14118
14100
|
const horizontal = direction === 'w' || direction === 'e';
|
|
14119
14101
|
const resizeStart = direction === 'w' || direction === 'n';
|
|
14102
|
+
const color = this.resizeResourceColor(resizing.task, resizing.slot);
|
|
14120
14103
|
this.resizeHints = [];
|
|
14121
14104
|
for (let idx = 0; idx < ranges.length; idx++) {
|
|
14122
14105
|
const range = ranges[idx];
|
|
@@ -14135,15 +14118,26 @@ class BaseView {
|
|
|
14135
14118
|
},
|
|
14136
14119
|
start: first && !resizeStart ? resizing.start : firstSlot.start,
|
|
14137
14120
|
end: last && resizeStart ? resizing.end : lastSlot.end,
|
|
14138
|
-
class: resizing.hintClass
|
|
14121
|
+
class: resizing.hintClass,
|
|
14122
|
+
color
|
|
14139
14123
|
});
|
|
14140
14124
|
}
|
|
14141
14125
|
}
|
|
14126
|
+
resizeResourceColor(task, slot) {
|
|
14127
|
+
const taskResources = task?.resources || [];
|
|
14128
|
+
const resourceIndex = slot?.id?.resourceIndex;
|
|
14129
|
+
const itemResource = taskResources.find(r => r.leafIdx === resourceIndex) || taskResources[0];
|
|
14130
|
+
return itemResource?.color;
|
|
14131
|
+
}
|
|
14142
14132
|
coordinatesOffset(x, y, container = this.container, offset = this.containerOffset) {
|
|
14143
|
-
const
|
|
14133
|
+
const schedulerEl = container?.closest('.k-scheduler');
|
|
14134
|
+
const schedulerRect = schedulerEl?.getBoundingClientRect();
|
|
14135
|
+
const scaleX = schedulerRect ? schedulerRect.width / schedulerEl.offsetWidth : 1;
|
|
14136
|
+
const scaleY = schedulerRect ? schedulerRect.height / schedulerEl.offsetHeight : 1;
|
|
14137
|
+
const position = x - offset.left + container.scrollLeft * scaleX;
|
|
14144
14138
|
return {
|
|
14145
14139
|
x: !this.localization.rtl ? position : this.slotService.containerSize - position,
|
|
14146
|
-
y: y - offset.top + container.scrollTop
|
|
14140
|
+
y: y - offset.top + container.scrollTop * scaleY
|
|
14147
14141
|
};
|
|
14148
14142
|
}
|
|
14149
14143
|
scrollContainer(callback, args) {
|
|
@@ -14882,6 +14876,9 @@ class ResizeHintComponent {
|
|
|
14882
14876
|
hint;
|
|
14883
14877
|
format;
|
|
14884
14878
|
marqueeClasses = true;
|
|
14879
|
+
get color() {
|
|
14880
|
+
return this.hint.color || null;
|
|
14881
|
+
}
|
|
14885
14882
|
get left() {
|
|
14886
14883
|
return this.hint.rect.left;
|
|
14887
14884
|
}
|
|
@@ -14901,7 +14898,7 @@ class ResizeHintComponent {
|
|
|
14901
14898
|
return toLocalDate(this.hint.end);
|
|
14902
14899
|
}
|
|
14903
14900
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: ResizeHintComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
14904
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.33", type: ResizeHintComponent, isStandalone: true, selector: "[kendoResizeHint]", inputs: { hint: "hint", format: "format" }, host: { properties: { "class.k-marquee": "this.marqueeClasses", "class.k-scheduler-marquee": "this.marqueeClasses", "class.k-first": "this.marqueeClasses", "class.k-last": "this.marqueeClasses", "style.left.px": "this.left", "style.right.px": "this.left", "style.top.px": "this.top", "style.width.px": "this.width", "style.height.px": "this.height" } }, ngImport: i0, template: `
|
|
14901
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.33", type: ResizeHintComponent, isStandalone: true, selector: "[kendoResizeHint]", inputs: { hint: "hint", format: "format" }, host: { properties: { "class.k-marquee": "this.marqueeClasses", "class.k-scheduler-marquee": "this.marqueeClasses", "class.k-first": "this.marqueeClasses", "class.k-last": "this.marqueeClasses", "style.--kendo-marquee-color": "this.color", "style.left.px": "this.left", "style.right.px": "this.left", "style.top.px": "this.top", "style.width.px": "this.width", "style.height.px": "this.height" } }, ngImport: i0, template: `
|
|
14905
14902
|
<div class="k-marquee-color"></div>
|
|
14906
14903
|
<div class="k-marquee-text">
|
|
14907
14904
|
@if (hint.first) {
|
|
@@ -14947,6 +14944,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.33", ngImpo
|
|
|
14947
14944
|
}, {
|
|
14948
14945
|
type: HostBinding,
|
|
14949
14946
|
args: ['class.k-last']
|
|
14947
|
+
}], color: [{
|
|
14948
|
+
type: HostBinding,
|
|
14949
|
+
args: ['style.--kendo-marquee-color']
|
|
14950
14950
|
}], left: [{
|
|
14951
14951
|
type: HostBinding,
|
|
14952
14952
|
args: ['style.left.px']
|
|
@@ -15097,9 +15097,6 @@ class MonthSlotComponent extends BaseSlotDirective {
|
|
|
15097
15097
|
get end() {
|
|
15098
15098
|
return addUTCDays(this.start, 1);
|
|
15099
15099
|
}
|
|
15100
|
-
isFirstDayOfMonth(day) {
|
|
15101
|
-
return isEqualDate(day, firstDayOfMonth(day));
|
|
15102
|
-
}
|
|
15103
15100
|
get linkHeight() {
|
|
15104
15101
|
if (this._linkHeight === null) {
|
|
15105
15102
|
const element = firstElementChild(this.nativeElement);
|
|
@@ -15145,7 +15142,7 @@ class MonthSlotComponent extends BaseSlotDirective {
|
|
|
15145
15142
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.33", type: MonthSlotComponent, isStandalone: true, selector: "[monthSlot]", inputs: { moreEvents: "moreEvents", resourcesByIndex: "resourcesByIndex", monthDaySlotTemplateRef: "monthDaySlotTemplateRef", eventsPerDay: "eventsPerDay", eventHeight: "eventHeight", adaptiveSlotHeight: "adaptiveSlotHeight", day: ["monthSlot", "day"] }, usesInheritance: true, ngImport: i0, template: `
|
|
15146
15143
|
@if (!monthDaySlotTemplateRef) {
|
|
15147
15144
|
<span class="k-link k-nav-day">
|
|
15148
|
-
{{ day | kendoDate:
|
|
15145
|
+
{{ day | kendoDate: 'dd' }}
|
|
15149
15146
|
</span>
|
|
15150
15147
|
}
|
|
15151
15148
|
@if (monthDaySlotTemplateRef) {
|
|
@@ -15164,7 +15161,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.33", ngImpo
|
|
|
15164
15161
|
template: `
|
|
15165
15162
|
@if (!monthDaySlotTemplateRef) {
|
|
15166
15163
|
<span class="k-link k-nav-day">
|
|
15167
|
-
{{ day | kendoDate:
|
|
15164
|
+
{{ day | kendoDate: 'dd' }}
|
|
15168
15165
|
</span>
|
|
15169
15166
|
}
|
|
15170
15167
|
@if (monthDaySlotTemplateRef) {
|
|
@@ -15250,7 +15247,7 @@ class EventsPopoverComponent {
|
|
|
15250
15247
|
}
|
|
15251
15248
|
getEventStyles(event) {
|
|
15252
15249
|
const itemResource = event.resources?.[0];
|
|
15253
|
-
const result = {
|
|
15250
|
+
const result = { '--kendo-scheduler-event-color': itemResource?.color };
|
|
15254
15251
|
if (this.eventStyles) {
|
|
15255
15252
|
Object.assign(result, this.eventStyles({
|
|
15256
15253
|
event: event.event,
|
|
@@ -16011,7 +16008,7 @@ class MonthViewRendererComponent extends BaseView {
|
|
|
16011
16008
|
</tr>
|
|
16012
16009
|
</tbody>
|
|
16013
16010
|
</table>
|
|
16014
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: MonthSlotComponent, selector: "[monthSlot]", inputs: ["moreEvents", "resourcesByIndex", "monthDaySlotTemplateRef", "eventsPerDay", "eventHeight", "adaptiveSlotHeight", "monthSlot"] }, { kind: "component", type: MonthViewItemComponent, selector: "[monthViewItem]" }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: FocusableDirective, selector: "[kendoSchedulerFocusIndex]", inputs: ["kendoSchedulerFocusIndex", "containerType"] }, { kind: "component", type: HintContainerComponent, selector: "kendo-hint-container" }, { kind: "component", type: ResizeHintComponent, selector: "[kendoResizeHint]", inputs: ["hint", "format"] }, { kind: "directive", type: PopoverContainerDirective, selector: "[kendoPopoverContainer]", inputs: ["filter"], exportAs: ["kendoPopoverContainer"] }, { kind: "component", type: EventsPopoverComponent, selector: "kendo-scheduler-events-popover", inputs: ["date", "events", "eventClass", "eventStyles", "noEventsMessage", "editable"], outputs: ["navigateToDay", "eventClick", "eventDblClick"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "
|
|
16011
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: MonthSlotComponent, selector: "[monthSlot]", inputs: ["moreEvents", "resourcesByIndex", "monthDaySlotTemplateRef", "eventsPerDay", "eventHeight", "adaptiveSlotHeight", "monthSlot"] }, { kind: "component", type: MonthViewItemComponent, selector: "[monthViewItem]" }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: FocusableDirective, selector: "[kendoSchedulerFocusIndex]", inputs: ["kendoSchedulerFocusIndex", "containerType"] }, { kind: "component", type: HintContainerComponent, selector: "kendo-hint-container" }, { kind: "component", type: ResizeHintComponent, selector: "[kendoResizeHint]", inputs: ["hint", "format"] }, { kind: "directive", type: PopoverContainerDirective, selector: "[kendoPopoverContainer]", inputs: ["filter"], exportAs: ["kendoPopoverContainer"] }, { kind: "component", type: EventsPopoverComponent, selector: "kendo-scheduler-events-popover", inputs: ["date", "events", "eventClass", "eventStyles", "noEventsMessage", "editable"], outputs: ["navigateToDay", "eventClick", "eventDblClick"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "endIcon", "endSvgIcon"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "pipe", type: RepeatPipe, name: "repeat" }, { kind: "pipe", type: ResourceIteratorPipe, name: "resourceIterator" }, { kind: "pipe", type: DatePipe, name: "kendoDate" }, { kind: "pipe", type: AsyncPipe, name: "async" }] });
|
|
16015
16012
|
}
|
|
16016
16013
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: MonthViewRendererComponent, decorators: [{
|
|
16017
16014
|
type: Component,
|
|
@@ -16949,7 +16946,7 @@ class ViewFooterComponent {
|
|
|
16949
16946
|
</button>
|
|
16950
16947
|
}
|
|
16951
16948
|
</span>
|
|
16952
|
-
`, isInline: true, dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "
|
|
16949
|
+
`, isInline: true, dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "endIcon", "endSvgIcon"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: FocusableDirective, selector: "[kendoSchedulerFocusIndex]", inputs: ["kendoSchedulerFocusIndex", "containerType"] }] });
|
|
16953
16950
|
}
|
|
16954
16951
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: ViewFooterComponent, decorators: [{
|
|
16955
16952
|
type: Component,
|
|
@@ -17089,6 +17086,7 @@ function addMinHeightOverflowEvents(sorted, slots, slotItems) {
|
|
|
17089
17086
|
function initTimeColumns(slotKeys, slotItems) {
|
|
17090
17087
|
// Break slots into groups with overlapping events.
|
|
17091
17088
|
let columns = 0;
|
|
17089
|
+
let maxGroupColumns = 0;
|
|
17092
17090
|
let groupSlots = [];
|
|
17093
17091
|
slotKeys.forEach(key => {
|
|
17094
17092
|
const { slot, events } = slotItems[key];
|
|
@@ -17185,14 +17183,24 @@ function initTimeColumns(slotKeys, slotItems) {
|
|
|
17185
17183
|
event.columnIndex = maxColumn + 1;
|
|
17186
17184
|
}
|
|
17187
17185
|
}
|
|
17186
|
+
const slotColumnCount = events.reduce((maximumColumnCount, event) => {
|
|
17187
|
+
const eventColumnIndex = event.columnIndex;
|
|
17188
|
+
if (!isNumber(eventColumnIndex)) {
|
|
17189
|
+
return maximumColumnCount;
|
|
17190
|
+
}
|
|
17191
|
+
const eventColumnCount = eventColumnIndex + 1;
|
|
17192
|
+
return Math.max(maximumColumnCount, eventColumnCount);
|
|
17193
|
+
}, 0);
|
|
17194
|
+
maxGroupColumns = Math.max(maxGroupColumns, slotColumnCount);
|
|
17188
17195
|
if (groupEnd) {
|
|
17189
|
-
groupSlots.forEach(item => item.columns = columns);
|
|
17196
|
+
groupSlots.forEach(item => item.columns = Math.max(columns, maxGroupColumns));
|
|
17190
17197
|
groupSlots = [];
|
|
17191
17198
|
columns = 0;
|
|
17199
|
+
maxGroupColumns = 0;
|
|
17192
17200
|
}
|
|
17193
17201
|
});
|
|
17194
17202
|
// The maximum number of overlapping events in the group is used to create the same number of columns.
|
|
17195
|
-
groupSlots.forEach(slot => slot.columns = columns);
|
|
17203
|
+
groupSlots.forEach(slot => slot.columns = Math.max(columns, maxGroupColumns));
|
|
17196
17204
|
}
|
|
17197
17205
|
function findTimeRowIndex(events, event) {
|
|
17198
17206
|
if (event.rowIndex !== undefined) {
|
|
@@ -17593,38 +17601,42 @@ class DayTimeSlotService extends BaseSlotService {
|
|
|
17593
17601
|
slotByPosition(x, y, isDaySlot, includeDayRanges) {
|
|
17594
17602
|
if (isDaySlot) {
|
|
17595
17603
|
for (let i = 0; i < this.groups.length; i++) {
|
|
17596
|
-
const foundRange = this.groups[i].dayRanges.find(r => rectContainsX(r.rect, x, this.
|
|
17604
|
+
const foundRange = this.groups[i].dayRanges.find(r => rectContainsX(r.rect, x, this.calculateScale('x')));
|
|
17597
17605
|
if (foundRange) {
|
|
17598
|
-
return foundRange.slots.find(slot => rectContainsX(slot.rect, x, this.
|
|
17606
|
+
return foundRange.slots.find(slot => rectContainsX(slot.rect, x, this.calculateScale('x')));
|
|
17599
17607
|
}
|
|
17600
17608
|
}
|
|
17601
17609
|
}
|
|
17602
17610
|
else {
|
|
17611
|
+
const scaleX = this.calculateScale('x');
|
|
17612
|
+
const scaleY = this.calculateScale('y');
|
|
17603
17613
|
for (let i = 0; i < this.groups.length; i++) {
|
|
17604
17614
|
let range;
|
|
17605
17615
|
if (includeDayRanges) {
|
|
17606
|
-
range = this.groups[i].dayRanges.find(r => rectContains(r.rect, x, y,
|
|
17616
|
+
range = this.groups[i].dayRanges.find(r => rectContains(r.rect, x, y, scaleX, scaleY));
|
|
17607
17617
|
}
|
|
17608
17618
|
if (!range) {
|
|
17609
|
-
range = this.groups[i].timeRanges.find(r => rectContains(r.rect, x, y,
|
|
17619
|
+
range = this.groups[i].timeRanges.find(r => rectContains(r.rect, x, y, scaleX, scaleY));
|
|
17610
17620
|
}
|
|
17611
17621
|
if (range) {
|
|
17612
|
-
return range.slots.find(slot => rectContains(slot.rect, x, y,
|
|
17622
|
+
return range.slots.find(slot => rectContains(slot.rect, x, y, scaleX, scaleY));
|
|
17613
17623
|
}
|
|
17614
17624
|
}
|
|
17615
17625
|
}
|
|
17616
17626
|
}
|
|
17617
17627
|
groupSlotByPosition(currentSlot, x, y) {
|
|
17618
17628
|
const group = this.groups[currentSlot.id.resourceIndex];
|
|
17629
|
+
const scaleX = this.calculateScale('x');
|
|
17630
|
+
const scaleY = this.calculateScale('y');
|
|
17619
17631
|
let range;
|
|
17620
17632
|
if (currentSlot.isDaySlot) {
|
|
17621
|
-
range = group.dayRanges.find(r => rectContains(r.rect, x, y,
|
|
17633
|
+
range = group.dayRanges.find(r => rectContains(r.rect, x, y, scaleX, scaleY));
|
|
17622
17634
|
}
|
|
17623
17635
|
else {
|
|
17624
|
-
range = group.timeRanges.find(r => rectContains(r.rect, x, y,
|
|
17636
|
+
range = group.timeRanges.find(r => rectContains(r.rect, x, y, scaleX, scaleY));
|
|
17625
17637
|
}
|
|
17626
17638
|
if (range) {
|
|
17627
|
-
return range.slots.find(slot => rectContains(slot.rect, x, y,
|
|
17639
|
+
return range.slots.find(slot => rectContains(slot.rect, x, y, scaleX, scaleY));
|
|
17628
17640
|
}
|
|
17629
17641
|
}
|
|
17630
17642
|
dragRanges(currentSlot, offset, timeRanges) {
|
|
@@ -18695,7 +18707,7 @@ class MultiDayViewRendererComponent extends DayTimeViewComponent {
|
|
|
18695
18707
|
createTasks(items, dateRange) {
|
|
18696
18708
|
const startTimeSlot = this.timeSlots[0];
|
|
18697
18709
|
const endTimeSlot = this.timeSlots[this.timeSlots.length - 1].end;
|
|
18698
|
-
const nextDateEnd =
|
|
18710
|
+
const nextDateEnd = endTimeSlot.getDate() !== startTimeSlot.start.getDate();
|
|
18699
18711
|
const ranges = this.daySlots.map(daySlot => ({
|
|
18700
18712
|
start: toUTCTime(daySlot.start, startTimeSlot.start),
|
|
18701
18713
|
end: nextDateEnd ? toUTCDate(daySlot.end) : toUTCTime(daySlot.start, endTimeSlot)
|
package/index.d.ts
CHANGED
|
@@ -6107,6 +6107,7 @@ declare class ResizeHintComponent {
|
|
|
6107
6107
|
hint: any;
|
|
6108
6108
|
format: string;
|
|
6109
6109
|
marqueeClasses: boolean;
|
|
6110
|
+
get color(): string;
|
|
6110
6111
|
get left(): number;
|
|
6111
6112
|
get top(): number;
|
|
6112
6113
|
get width(): number;
|
|
@@ -6143,6 +6144,7 @@ interface SlotDirective {
|
|
|
6143
6144
|
rect: Rect;
|
|
6144
6145
|
id: SlotID;
|
|
6145
6146
|
key: string;
|
|
6147
|
+
nativeElement?: HTMLElement;
|
|
6146
6148
|
invalidate(): void;
|
|
6147
6149
|
}
|
|
6148
6150
|
/**
|
|
@@ -6174,6 +6176,7 @@ declare abstract class BaseSlotService {
|
|
|
6174
6176
|
containerSize: number;
|
|
6175
6177
|
slotsChange: EventEmitter<any>;
|
|
6176
6178
|
protected groups: ResourceGroup[];
|
|
6179
|
+
private schedulerElement;
|
|
6177
6180
|
abstract forEachSlot(callback: any): void;
|
|
6178
6181
|
abstract createGroup(index: number): ResourceGroup;
|
|
6179
6182
|
abstract resizeRanges(currentSlot: any, task: any, resizeStart: boolean, offset?: any): any;
|
|
@@ -6187,7 +6190,7 @@ declare abstract class BaseSlotService {
|
|
|
6187
6190
|
protected clearEmptyGroups(): void;
|
|
6188
6191
|
protected itemGroup(item: ViewItem): ResourceGroup;
|
|
6189
6192
|
protected slotGroup(slot: SlotDirective): ResourceGroup;
|
|
6190
|
-
protected
|
|
6193
|
+
protected calculateScale(axis: 'x' | 'y'): number;
|
|
6191
6194
|
}
|
|
6192
6195
|
|
|
6193
6196
|
/** @hidden */
|
|
@@ -6479,6 +6482,7 @@ declare abstract class BaseView implements OnInit, OnChanges, AfterViewInit, OnD
|
|
|
6479
6482
|
protected initResize(args: any): void;
|
|
6480
6483
|
protected resize(args: any): void;
|
|
6481
6484
|
protected updateResizeHints(ranges: any[], _start: Date, _end: Date): void;
|
|
6485
|
+
protected resizeResourceColor(task: any, slot: any): string;
|
|
6482
6486
|
protected coordinatesOffset(x: number, y: number, container?: any, offset?: any): any;
|
|
6483
6487
|
protected scrollContainer(callback: any, args: any): void;
|
|
6484
6488
|
protected emitEvent(name: string, args: any): boolean;
|
package/package-metadata.mjs
CHANGED
|
@@ -7,7 +7,7 @@ export const packageMetadata = {
|
|
|
7
7
|
"productCodes": [
|
|
8
8
|
"KENDOUIANGULAR"
|
|
9
9
|
],
|
|
10
|
-
"publishDate":
|
|
11
|
-
"version": "25.4.0-develop.
|
|
10
|
+
"publishDate": 1793346377,
|
|
11
|
+
"version": "25.4.0-develop.21",
|
|
12
12
|
"licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
|
|
13
13
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@progress/kendo-angular-scheduler",
|
|
3
|
-
"version": "25.4.0-develop.
|
|
3
|
+
"version": "25.4.0-develop.21",
|
|
4
4
|
"description": "Kendo UI Scheduler Angular - Outlook or Google-style angular scheduler calendar. Full-featured and customizable embedded scheduling from the creator developers trust for professional UI components.",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
6
|
"author": "Progress",
|
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
"package": {
|
|
81
81
|
"productName": "Kendo UI for Angular",
|
|
82
82
|
"productCode": "KENDOUIANGULAR",
|
|
83
|
-
"publishDate":
|
|
83
|
+
"publishDate": 1793346377,
|
|
84
84
|
"licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
|
|
85
85
|
}
|
|
86
86
|
},
|
|
@@ -93,23 +93,23 @@
|
|
|
93
93
|
"@progress/kendo-data-query": "^1.7.3",
|
|
94
94
|
"@progress/kendo-drawing": "^1.25.0",
|
|
95
95
|
"@progress/kendo-licensing": "^1.11.0",
|
|
96
|
-
"@progress/kendo-angular-tooltip": "25.4.0-develop.
|
|
97
|
-
"@progress/kendo-angular-buttons": "25.4.0-develop.
|
|
98
|
-
"@progress/kendo-angular-common": "25.4.0-develop.
|
|
99
|
-
"@progress/kendo-angular-dateinputs": "25.4.0-develop.
|
|
100
|
-
"@progress/kendo-angular-dialog": "25.4.0-develop.
|
|
101
|
-
"@progress/kendo-angular-dropdowns": "25.4.0-develop.
|
|
102
|
-
"@progress/kendo-angular-icons": "25.4.0-develop.
|
|
103
|
-
"@progress/kendo-angular-inputs": "25.4.0-develop.
|
|
104
|
-
"@progress/kendo-angular-intl": "25.4.0-develop.
|
|
105
|
-
"@progress/kendo-angular-l10n": "25.4.0-develop.
|
|
106
|
-
"@progress/kendo-angular-label": "25.4.0-develop.
|
|
107
|
-
"@progress/kendo-angular-popup": "25.4.0-develop.
|
|
96
|
+
"@progress/kendo-angular-tooltip": "25.4.0-develop.21",
|
|
97
|
+
"@progress/kendo-angular-buttons": "25.4.0-develop.21",
|
|
98
|
+
"@progress/kendo-angular-common": "25.4.0-develop.21",
|
|
99
|
+
"@progress/kendo-angular-dateinputs": "25.4.0-develop.21",
|
|
100
|
+
"@progress/kendo-angular-dialog": "25.4.0-develop.21",
|
|
101
|
+
"@progress/kendo-angular-dropdowns": "25.4.0-develop.21",
|
|
102
|
+
"@progress/kendo-angular-icons": "25.4.0-develop.21",
|
|
103
|
+
"@progress/kendo-angular-inputs": "25.4.0-develop.21",
|
|
104
|
+
"@progress/kendo-angular-intl": "25.4.0-develop.21",
|
|
105
|
+
"@progress/kendo-angular-l10n": "25.4.0-develop.21",
|
|
106
|
+
"@progress/kendo-angular-label": "25.4.0-develop.21",
|
|
107
|
+
"@progress/kendo-angular-popup": "25.4.0-develop.21",
|
|
108
108
|
"rxjs": "^6.5.3 || ^7.0.0"
|
|
109
109
|
},
|
|
110
110
|
"dependencies": {
|
|
111
111
|
"tslib": "^2.3.1",
|
|
112
|
-
"@progress/kendo-angular-schematics": "25.4.0-develop.
|
|
112
|
+
"@progress/kendo-angular-schematics": "25.4.0-develop.21",
|
|
113
113
|
"@progress/kendo-date-math": "^1.3.2",
|
|
114
114
|
"@progress/kendo-draggable": "^3.0.2",
|
|
115
115
|
"@progress/kendo-file-saver": "^1.0.7",
|
|
@@ -9,10 +9,10 @@ const schematics_1 = require("@angular-devkit/schematics");
|
|
|
9
9
|
function default_1(options) {
|
|
10
10
|
const finalOptions = Object.assign(Object.assign({}, options), { mainNgModule: 'SchedulerModule', package: 'scheduler', peerDependencies: {
|
|
11
11
|
// peer deps of the dropdowns
|
|
12
|
-
'@progress/kendo-angular-treeview': '25.4.0-develop.
|
|
13
|
-
'@progress/kendo-angular-navigation': '25.4.0-develop.
|
|
12
|
+
'@progress/kendo-angular-treeview': '25.4.0-develop.21',
|
|
13
|
+
'@progress/kendo-angular-navigation': '25.4.0-develop.21',
|
|
14
14
|
// peer dependency of kendo-angular-inputs
|
|
15
|
-
'@progress/kendo-angular-dialog': '25.4.0-develop.
|
|
15
|
+
'@progress/kendo-angular-dialog': '25.4.0-develop.21',
|
|
16
16
|
// peer dependency of kendo-angular-icons
|
|
17
17
|
'@progress/kendo-svg-icons': '^4.0.0'
|
|
18
18
|
} });
|