@progress/kendo-angular-scheduler 24.0.0-develop.9 → 24.0.0
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/codemods/libs/common/src/codemods/utils.js +53 -18
- package/codemods/libs/scheduler/codemods/v24/scheduler-rendering-changes.js +88 -0
- package/fesm2022/progress-kendo-angular-scheduler.mjs +312 -209
- package/loading.component.d.ts +1 -9
- package/package-metadata.mjs +2 -2
- package/package.json +23 -16
- package/scheduler.component.d.ts +4 -5
- package/schematics/ngAdd/index.js +3 -3
- package/toolbar/navigation.component.d.ts +0 -1
- package/toolbar/view-selector.component.d.ts +16 -0
- package/views/agenda/agenda-view-list.component.d.ts +2 -2
- package/views/common/base-view.d.ts +2 -0
- package/views/day-time/day-time-view-item.component.d.ts +4 -4
- package/views/day-time/day-time-view.component.d.ts +3 -0
- package/views/month/month-view-item.component.d.ts +2 -2
- package/views/month/month-view-renderer.component.d.ts +1 -0
- package/views/multi-day/multi-day-view-renderer.component.d.ts +1 -0
- package/views/timeline/timeline-multi-day-view.component.d.ts +1 -1
- package/views/utils.d.ts +2 -0
- package/views/view-items/base-view-item.d.ts +2 -2
- package/views/year/year-view-internal.component.d.ts +2 -2
|
@@ -7,7 +7,7 @@ import { Optional, Directive, Injectable, EventEmitter, Input, Inject, isDevMode
|
|
|
7
7
|
import * as i1$1 from '@progress/kendo-angular-l10n';
|
|
8
8
|
import { LocalizationService, L10N_PREFIX, RTL, ComponentMessages } from '@progress/kendo-angular-l10n';
|
|
9
9
|
import * as i7 from '@progress/kendo-angular-common';
|
|
10
|
-
import { getter, setter, hasObservers, isDocumentAvailable, isVisible as isVisible$1, scrollbarWidth, isChanged, Keys, ResizeSensorComponent, getLicenseMessage, shouldShowValidationUI, anyChanged, WatermarkOverlayComponent, guid, normalizeKeys, ResizeBatchService } from '@progress/kendo-angular-common';
|
|
10
|
+
import { getter, setter, hasObservers, isDocumentAvailable, isVisible as isVisible$1, scrollbarWidth, isChanged, Keys, ResizeSensorComponent, getLicenseMessage, shouldShowValidationUI, anyChanged, WatermarkOverlayComponent, KENDO_WEBMCP_HOST, guid, normalizeKeys, ResizeBatchService } from '@progress/kendo-angular-common';
|
|
11
11
|
import { isEqualDate, ZonedDate, toLocalDate, getDate, timezoneNames, Day, MS_PER_DAY as MS_PER_DAY$1, addDays, firstDayOfMonth, lastDayOfMonth, firstDayInWeek, addMonths, addWeeks, addYears } from '@progress/kendo-date-math';
|
|
12
12
|
import { auditTime, buffer, filter, map, debounceTime, take, distinctUntilChanged, switchMap, tap } from 'rxjs/operators';
|
|
13
13
|
import { validatePackage } from '@progress/kendo-licensing';
|
|
@@ -20,8 +20,8 @@ import * as i4 from '@progress/kendo-angular-intl';
|
|
|
20
20
|
import { formatDate, CldrIntlService, DatePipe, parseDate } from '@progress/kendo-angular-intl';
|
|
21
21
|
import { MultiSelectComponent, ItemTemplateDirective, TagTemplateDirective, DropDownListComponent, ComboBoxComponent } from '@progress/kendo-angular-dropdowns';
|
|
22
22
|
import { NgStyle, NgTemplateOutlet, AsyncPipe, NgClass } from '@angular/common';
|
|
23
|
-
import { saveIcon,
|
|
24
|
-
import { ButtonGroupComponent, ButtonComponent, Button } from '@progress/kendo-angular-buttons';
|
|
23
|
+
import { saveIcon, cancelIcon, calendarIcon, chevronRightIcon, chevronLeftIcon, filePdfIcon, arrowRotateCwIcon, arrowsNoRepeatIcon, xIcon, moreHorizontalIcon, clockIcon, chevronUpIcon, chevronDownIcon } from '@progress/kendo-svg-icons';
|
|
24
|
+
import { ButtonGroupComponent, ButtonComponent, Button, SegmentedControlComponent } from '@progress/kendo-angular-buttons';
|
|
25
25
|
import { NumericTextBoxComponent, NumericTextBoxCustomMessagesComponent, FormFieldComponent, TextBoxDirective, CheckBoxDirective, TextAreaDirective } from '@progress/kendo-angular-inputs';
|
|
26
26
|
import { parseRule, serializeRule, expand } from '@progress/kendo-recurrence';
|
|
27
27
|
import { DatePickerComponent, DatePickerCustomMessagesComponent, DateTimePickerComponent, DateTimePickerCustomMessagesComponent, CalendarComponent, CalendarCustomMessagesComponent, MultiViewCalendarComponent, MonthCellTemplateDirective, CalendarDOMService, CenturyViewService, DecadeViewService, MonthViewService, YearViewService, NavigationService, TimePickerDOMService, HoursService, MinutesService, SecondsService, MillisecondsService, DayPeriodService } from '@progress/kendo-angular-dateinputs';
|
|
@@ -43,8 +43,8 @@ const packageMetadata = {
|
|
|
43
43
|
productName: 'Kendo UI for Angular',
|
|
44
44
|
productCode: 'KENDOUIANGULAR',
|
|
45
45
|
productCodes: ['KENDOUIANGULAR'],
|
|
46
|
-
publishDate:
|
|
47
|
-
version: '24.0.0
|
|
46
|
+
publishDate: 1779273547,
|
|
47
|
+
version: '24.0.0',
|
|
48
48
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
49
49
|
};
|
|
50
50
|
|
|
@@ -2323,24 +2323,9 @@ class PDFExportEvent extends PreventableEvent {
|
|
|
2323
2323
|
* @hidden
|
|
2324
2324
|
*/
|
|
2325
2325
|
class LoadingComponent {
|
|
2326
|
-
element;
|
|
2327
|
-
renderer;
|
|
2328
2326
|
hostClasses = true;
|
|
2329
|
-
|
|
2330
|
-
|
|
2331
|
-
return this.loading || this.force ? 'block' : 'none';
|
|
2332
|
-
}
|
|
2333
|
-
force;
|
|
2334
|
-
constructor(element, renderer) {
|
|
2335
|
-
this.element = element;
|
|
2336
|
-
this.renderer = renderer;
|
|
2337
|
-
}
|
|
2338
|
-
toggle(value) {
|
|
2339
|
-
this.force = value;
|
|
2340
|
-
this.renderer.setStyle(this.element.nativeElement, 'display', this.display);
|
|
2341
|
-
}
|
|
2342
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: LoadingComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
2343
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: LoadingComponent, isStandalone: true, selector: "[kendoSchedulerLoading]", inputs: { loading: "loading" }, host: { properties: { "class.k-loading-mask": "this.hostClasses", "style.display": "this.display" } }, ngImport: i0, template: `
|
|
2327
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: LoadingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2328
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: LoadingComponent, isStandalone: true, selector: "[kendoSchedulerLoading]", host: { properties: { "class.k-loading-mask": "this.hostClasses" } }, ngImport: i0, template: `
|
|
2344
2329
|
<div class="k-loading-image"></div>
|
|
2345
2330
|
<div class="k-loading-color"></div>
|
|
2346
2331
|
`, isInline: true });
|
|
@@ -2355,14 +2340,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
2355
2340
|
`,
|
|
2356
2341
|
standalone: true
|
|
2357
2342
|
}]
|
|
2358
|
-
}],
|
|
2343
|
+
}], propDecorators: { hostClasses: [{
|
|
2359
2344
|
type: HostBinding,
|
|
2360
2345
|
args: ['class.k-loading-mask']
|
|
2361
|
-
}], loading: [{
|
|
2362
|
-
type: Input
|
|
2363
|
-
}], display: [{
|
|
2364
|
-
type: HostBinding,
|
|
2365
|
-
args: ['style.display']
|
|
2366
2346
|
}] } });
|
|
2367
2347
|
|
|
2368
2348
|
/**
|
|
@@ -2420,7 +2400,7 @@ class FocusableDirective {
|
|
|
2420
2400
|
}
|
|
2421
2401
|
toggleFocus(value) {
|
|
2422
2402
|
const element = this.element.nativeElement;
|
|
2423
|
-
const isFooterButton = element.matches('
|
|
2403
|
+
const isFooterButton = element.matches('[viewfooter] .k-button');
|
|
2424
2404
|
const focusedClass = element.matches('.k-button-group .k-button') || isFooterButton ? 'k-focus' : 'k-selected';
|
|
2425
2405
|
const schedulerElement = element.closest('.k-scheduler');
|
|
2426
2406
|
const renderedEvents = schedulerElement ? schedulerElement.querySelectorAll('.k-event') : [];
|
|
@@ -2580,6 +2560,20 @@ const intersects = (startTime, endTime, periodStart, periodEnd) => (startTime <
|
|
|
2580
2560
|
/** @hidden */
|
|
2581
2561
|
const dateInRange = (date, start, end) => start.getTime() <= date.getTime() && date.getTime() <= end.getTime();
|
|
2582
2562
|
/** @hidden */
|
|
2563
|
+
const getVerticalPaddingAndBorder = (element) => {
|
|
2564
|
+
if (!isDocumentAvailable() || !element) {
|
|
2565
|
+
return 0;
|
|
2566
|
+
}
|
|
2567
|
+
const styles = getComputedStyle(element);
|
|
2568
|
+
const values = [
|
|
2569
|
+
parseFloat(styles.paddingTop || '0'),
|
|
2570
|
+
parseFloat(styles.paddingBottom || '0'),
|
|
2571
|
+
parseFloat(styles.borderTopWidth || '0'),
|
|
2572
|
+
parseFloat(styles.borderBottomWidth || '0')
|
|
2573
|
+
];
|
|
2574
|
+
return values.reduce((total, value) => total + (Number.isFinite(value) ? value : 0), 0);
|
|
2575
|
+
};
|
|
2576
|
+
/** @hidden */
|
|
2583
2577
|
const roundAllDayEnd = ({ start, end }) => {
|
|
2584
2578
|
const startDate = start.stripTime();
|
|
2585
2579
|
const endDate = end.stripTime();
|
|
@@ -4468,7 +4462,7 @@ class RecurrenceWeekdayRuleEditorComponent {
|
|
|
4468
4462
|
</kendo-buttongroup>
|
|
4469
4463
|
</div>
|
|
4470
4464
|
</div>
|
|
4471
|
-
`, isInline: true, dependencies: [{ kind: "component", type: LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional", "labelCssStyle", "labelCssClass"], exportAs: ["kendoLabel"] }, { kind: "component", type: ButtonGroupComponent, selector: "kendo-buttongroup", inputs: ["disabled", "selection", "width", "tabIndex", "navigable"], outputs: ["navigate"], exportAs: ["kendoButtonGroup"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconPosition", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon"
|
|
4465
|
+
`, isInline: true, dependencies: [{ kind: "component", type: LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional", "labelCssStyle", "labelCssClass"], exportAs: ["kendoLabel"] }, { kind: "component", type: ButtonGroupComponent, selector: "kendo-buttongroup", inputs: ["disabled", "selection", "width", "tabIndex", "navigable"], outputs: ["navigate"], exportAs: ["kendoButtonGroup"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconPosition", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
|
|
4472
4466
|
}
|
|
4473
4467
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: RecurrenceWeekdayRuleEditorComponent, decorators: [{
|
|
4474
4468
|
type: Component,
|
|
@@ -4728,7 +4722,7 @@ class RecurrenceFrequencyEditorComponent {
|
|
|
4728
4722
|
</kendo-buttongroup>
|
|
4729
4723
|
</div>
|
|
4730
4724
|
</div>
|
|
4731
|
-
`, isInline: true, dependencies: [{ kind: "component", type: LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional", "labelCssStyle", "labelCssClass"], exportAs: ["kendoLabel"] }, { kind: "component", type: ButtonGroupComponent, selector: "kendo-buttongroup", inputs: ["disabled", "selection", "width", "tabIndex", "navigable"], outputs: ["navigate"], exportAs: ["kendoButtonGroup"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconPosition", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon"
|
|
4725
|
+
`, isInline: true, dependencies: [{ kind: "component", type: LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional", "labelCssStyle", "labelCssClass"], exportAs: ["kendoLabel"] }, { kind: "component", type: ButtonGroupComponent, selector: "kendo-buttongroup", inputs: ["disabled", "selection", "width", "tabIndex", "navigable"], outputs: ["navigate"], exportAs: ["kendoButtonGroup"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconPosition", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
|
|
4732
4726
|
}
|
|
4733
4727
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: RecurrenceFrequencyEditorComponent, decorators: [{
|
|
4734
4728
|
type: Component,
|
|
@@ -5911,7 +5905,7 @@ class EditDialogComponent {
|
|
|
5911
5905
|
editedEvent;
|
|
5912
5906
|
isNew;
|
|
5913
5907
|
saveIcon = saveIcon;
|
|
5914
|
-
cancelIcon =
|
|
5908
|
+
cancelIcon = cancelIcon;
|
|
5915
5909
|
subs;
|
|
5916
5910
|
pendingNewEventData;
|
|
5917
5911
|
constructor(ngZone, editService, localization, changeDetector, element, focusService, intl) {
|
|
@@ -6303,14 +6297,14 @@ class EditDialogComponent {
|
|
|
6303
6297
|
>{{ textFor('save') }}</button>
|
|
6304
6298
|
<button
|
|
6305
6299
|
kendoButton
|
|
6306
|
-
icon="cancel
|
|
6300
|
+
icon="cancel"
|
|
6307
6301
|
[svgIcon]="cancelIcon"
|
|
6308
6302
|
(click)="onCancel($event)"
|
|
6309
6303
|
>{{ textFor('cancel') }}</button>
|
|
6310
6304
|
</kendo-dialog-actions>
|
|
6311
6305
|
</kendo-dialog>
|
|
6312
6306
|
}
|
|
6313
|
-
`, isInline: true, dependencies: [{ kind: "component", type: DialogComponent, selector: "kendo-dialog", inputs: ["actions", "actionsLayout", "autoFocusedElement", "closable", "title", "width", "minWidth", "maxWidth", "height", "minHeight", "maxHeight", "animation"
|
|
6307
|
+
`, 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.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { 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: "directive", type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: FormFieldComponent, selector: "kendo-formfield", inputs: ["showHints", "orientation", "showErrors", "colSpan"] }, { kind: "component", type: LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional", "labelCssStyle", "labelCssClass"], exportAs: ["kendoLabel"] }, { kind: "directive", type: TextBoxDirective, selector: "input[kendoTextBox]", inputs: ["value"] }, { kind: "component", type: SchedulerDateTimePickerComponent, selector: "kendo-scheduler-datetime-picker", inputs: ["isAllDay"], outputs: ["valueChange"] }, { kind: "directive", type: CheckBoxDirective, selector: "input[kendoCheckBox]", inputs: ["size", "rounded"] }, { kind: "directive", type: LabelDirective, selector: "label[for]", inputs: ["for", "labelClass"] }, { 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"], outputs: ["valueChange"], exportAs: ["kendoRecurrenceEditor"] }, { kind: "directive", type: TextAreaDirective, selector: "textarea[kendoTextArea]", inputs: ["autoSize", "value"], outputs: ["valueChange"] }, { 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", "iconPosition", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
|
|
6314
6308
|
}
|
|
6315
6309
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: EditDialogComponent, decorators: [{
|
|
6316
6310
|
type: Component,
|
|
@@ -6507,7 +6501,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
6507
6501
|
>{{ textFor('save') }}</button>
|
|
6508
6502
|
<button
|
|
6509
6503
|
kendoButton
|
|
6510
|
-
icon="cancel
|
|
6504
|
+
icon="cancel"
|
|
6511
6505
|
[svgIcon]="cancelIcon"
|
|
6512
6506
|
(click)="onCancel($event)"
|
|
6513
6507
|
>{{ textFor('cancel') }}</button>
|
|
@@ -6537,6 +6531,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
6537
6531
|
type: Input
|
|
6538
6532
|
}] } });
|
|
6539
6533
|
|
|
6534
|
+
const EMPTY_VIEWS = [];
|
|
6540
6535
|
/**
|
|
6541
6536
|
* A toolbar component that contains controls for switching views
|
|
6542
6537
|
* ([see example](https://www.telerik.com/kendo-angular-ui/components/scheduler/toolbar#including-the-built-in-components)).
|
|
@@ -6577,7 +6572,26 @@ class ToolbarViewSelectorComponent {
|
|
|
6577
6572
|
get selectView() {
|
|
6578
6573
|
return this.localization.get('selectView');
|
|
6579
6574
|
}
|
|
6575
|
+
/**
|
|
6576
|
+
* @hidden
|
|
6577
|
+
*/
|
|
6578
|
+
get viewItems() {
|
|
6579
|
+
const views = Array.from(this.ctx.views ?? EMPTY_VIEWS);
|
|
6580
|
+
if (!this.areSameViews(views) || this.cachedViewItems === null) {
|
|
6581
|
+
this.cachedViews = views;
|
|
6582
|
+
this.cachedViewItems = views.map(view => ({ text: view.title }));
|
|
6583
|
+
}
|
|
6584
|
+
return this.cachedViewItems;
|
|
6585
|
+
}
|
|
6586
|
+
/**
|
|
6587
|
+
* @hidden
|
|
6588
|
+
*/
|
|
6589
|
+
get selectedViewIndex() {
|
|
6590
|
+
return Array.from(this.ctx.views ?? EMPTY_VIEWS).indexOf(this.ctx.selectedView);
|
|
6591
|
+
}
|
|
6580
6592
|
detachDomEvents;
|
|
6593
|
+
cachedViews = null;
|
|
6594
|
+
cachedViewItems = null;
|
|
6581
6595
|
constructor(service, localization) {
|
|
6582
6596
|
this.service = service;
|
|
6583
6597
|
this.localization = localization;
|
|
@@ -6598,11 +6612,20 @@ class ToolbarViewSelectorComponent {
|
|
|
6598
6612
|
});
|
|
6599
6613
|
}
|
|
6600
6614
|
}
|
|
6615
|
+
/**
|
|
6616
|
+
* @hidden
|
|
6617
|
+
*/
|
|
6618
|
+
onViewChange(index) {
|
|
6619
|
+
const view = Array.from(this.ctx.views ?? EMPTY_VIEWS)[index];
|
|
6620
|
+
if (view) {
|
|
6621
|
+
this.select(view);
|
|
6622
|
+
}
|
|
6623
|
+
}
|
|
6601
6624
|
/**
|
|
6602
6625
|
* @hidden
|
|
6603
6626
|
*/
|
|
6604
6627
|
onChange(e) {
|
|
6605
|
-
const view = this.ctx.views.find(view => view.name === e.target.value);
|
|
6628
|
+
const view = Array.from(this.ctx.views ?? EMPTY_VIEWS).find(view => view.name === e.target.value);
|
|
6606
6629
|
if (view) {
|
|
6607
6630
|
this.select(view);
|
|
6608
6631
|
}
|
|
@@ -6613,6 +6636,15 @@ class ToolbarViewSelectorComponent {
|
|
|
6613
6636
|
isSelected(view) {
|
|
6614
6637
|
return this.ctx.selectedView === view;
|
|
6615
6638
|
}
|
|
6639
|
+
areSameViews(views) {
|
|
6640
|
+
if (this.cachedViews === views) {
|
|
6641
|
+
return true;
|
|
6642
|
+
}
|
|
6643
|
+
if (this.cachedViews?.length !== views.length) {
|
|
6644
|
+
return false;
|
|
6645
|
+
}
|
|
6646
|
+
return this.cachedViews.every((view, index) => view === views[index]);
|
|
6647
|
+
}
|
|
6616
6648
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: ToolbarViewSelectorComponent, deps: [{ token: ToolbarService }, { token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
6617
6649
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: ToolbarViewSelectorComponent, isStandalone: true, selector: "[kendoSchedulerToolbarViewSelector]", inputs: { toolbarWidth: "toolbarWidth", responsiveBreakpoint: "responsiveBreakpoint" }, ngImport: i0, template: `
|
|
6618
6650
|
@if (ctx.views?.length > 1 && toolbarWidth <= responsiveBreakpoint) {
|
|
@@ -6633,26 +6665,16 @@ class ToolbarViewSelectorComponent {
|
|
|
6633
6665
|
</select>
|
|
6634
6666
|
}
|
|
6635
6667
|
@if (toolbarWidth > responsiveBreakpoint) {
|
|
6636
|
-
<
|
|
6637
|
-
class="k-
|
|
6638
|
-
|
|
6639
|
-
|
|
6640
|
-
|
|
6641
|
-
|
|
6642
|
-
|
|
6643
|
-
|
|
6644
|
-
[attr.aria-pressed]="isSelected(view)"
|
|
6645
|
-
(click)="select(view)"
|
|
6646
|
-
[kendoSchedulerFocusIndex]="0"
|
|
6647
|
-
containerType="toolbar">
|
|
6648
|
-
<span class="k-button-text">
|
|
6649
|
-
{{ view.title }}
|
|
6650
|
-
</span>
|
|
6651
|
-
</button>
|
|
6652
|
-
}
|
|
6653
|
-
</span>
|
|
6668
|
+
<kendo-segmented-control
|
|
6669
|
+
class="k-scheduler-views"
|
|
6670
|
+
[items]="viewItems"
|
|
6671
|
+
[selected]="selectedViewIndex"
|
|
6672
|
+
(selectedChange)="onViewChange($event)"
|
|
6673
|
+
[kendoSchedulerFocusIndex]="0"
|
|
6674
|
+
containerType="toolbar">
|
|
6675
|
+
</kendo-segmented-control>
|
|
6654
6676
|
}
|
|
6655
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: FocusableDirective, selector: "[kendoSchedulerFocusIndex]", inputs: ["kendoSchedulerFocusIndex", "containerType"] }, { kind: "component", type:
|
|
6677
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: FocusableDirective, selector: "[kendoSchedulerFocusIndex]", inputs: ["kendoSchedulerFocusIndex", "containerType"] }, { kind: "component", type: SegmentedControlComponent, selector: "kendo-segmented-control", inputs: ["items", "layoutMode", "size", "selected"], outputs: ["selectedChange"] }] });
|
|
6656
6678
|
}
|
|
6657
6679
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: ToolbarViewSelectorComponent, decorators: [{
|
|
6658
6680
|
type: Component,
|
|
@@ -6677,28 +6699,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
6677
6699
|
</select>
|
|
6678
6700
|
}
|
|
6679
6701
|
@if (toolbarWidth > responsiveBreakpoint) {
|
|
6680
|
-
<
|
|
6681
|
-
class="k-
|
|
6682
|
-
|
|
6683
|
-
|
|
6684
|
-
|
|
6685
|
-
|
|
6686
|
-
|
|
6687
|
-
|
|
6688
|
-
[attr.aria-pressed]="isSelected(view)"
|
|
6689
|
-
(click)="select(view)"
|
|
6690
|
-
[kendoSchedulerFocusIndex]="0"
|
|
6691
|
-
containerType="toolbar">
|
|
6692
|
-
<span class="k-button-text">
|
|
6693
|
-
{{ view.title }}
|
|
6694
|
-
</span>
|
|
6695
|
-
</button>
|
|
6696
|
-
}
|
|
6697
|
-
</span>
|
|
6702
|
+
<kendo-segmented-control
|
|
6703
|
+
class="k-scheduler-views"
|
|
6704
|
+
[items]="viewItems"
|
|
6705
|
+
[selected]="selectedViewIndex"
|
|
6706
|
+
(selectedChange)="onViewChange($event)"
|
|
6707
|
+
[kendoSchedulerFocusIndex]="0"
|
|
6708
|
+
containerType="toolbar">
|
|
6709
|
+
</kendo-segmented-control>
|
|
6698
6710
|
}
|
|
6699
6711
|
`,
|
|
6700
6712
|
standalone: true,
|
|
6701
|
-
imports: [FocusableDirective,
|
|
6713
|
+
imports: [FocusableDirective, SegmentedControlComponent]
|
|
6702
6714
|
}]
|
|
6703
6715
|
}], ctorParameters: () => [{ type: ToolbarService }, { type: i1$1.LocalizationService }], propDecorators: { toolbarWidth: [{
|
|
6704
6716
|
type: Input
|
|
@@ -6706,7 +6718,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
6706
6718
|
type: Input
|
|
6707
6719
|
}] } });
|
|
6708
6720
|
|
|
6709
|
-
const iconsMap = {
|
|
6721
|
+
const iconsMap = { chevronLeftIcon, chevronRightIcon, calendarIcon };
|
|
6710
6722
|
/**
|
|
6711
6723
|
* A toolbar component that contains controls for date navigation
|
|
6712
6724
|
* ([see example](https://www.telerik.com/kendo-angular-ui/components/scheduler/toolbar#including-the-built-in-components)).
|
|
@@ -6735,7 +6747,6 @@ class ToolbarNavigationComponent {
|
|
|
6735
6747
|
calendar.focus();
|
|
6736
6748
|
}
|
|
6737
6749
|
}
|
|
6738
|
-
hostClass = true;
|
|
6739
6750
|
/**
|
|
6740
6751
|
* @hidden
|
|
6741
6752
|
*/
|
|
@@ -6909,19 +6920,19 @@ class ToolbarNavigationComponent {
|
|
|
6909
6920
|
this.cd.detectChanges();
|
|
6910
6921
|
}
|
|
6911
6922
|
get arrowIcons() {
|
|
6912
|
-
return !this.localization.rtl ? ['
|
|
6923
|
+
return !this.localization.rtl ? ['chevron-left', 'chevron-right'] : ['chevron-right', 'chevron-left'];
|
|
6913
6924
|
}
|
|
6914
6925
|
get arrowSVGIcons() {
|
|
6915
|
-
return !this.localization.rtl ? ['
|
|
6926
|
+
return !this.localization.rtl ? ['chevronLeftIcon', 'chevronRightIcon'] : ['chevronRightIcon', 'chevronLeftIcon'];
|
|
6916
6927
|
}
|
|
6917
6928
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: ToolbarNavigationComponent, deps: [{ token: i1$2.PopupService }, { token: ToolbarService }, { token: i1$1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: ViewContextService }], target: i0.ɵɵFactoryTarget.Component });
|
|
6918
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: ToolbarNavigationComponent, isStandalone: true, selector: "[kendoSchedulerToolbarNavigation]", inputs: { min: "min", max: "max", activeView: "activeView", bottomView: "bottomView" },
|
|
6929
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: ToolbarNavigationComponent, isStandalone: true, selector: "[kendoSchedulerToolbarNavigation]", inputs: { min: "min", max: "max", activeView: "activeView", bottomView: "bottomView" }, providers: [
|
|
6919
6930
|
PopupService
|
|
6920
6931
|
], viewQueries: [{ propertyName: "calendar", first: true, predicate: ["calendar"], descendants: true }], ngImport: i0, template: `
|
|
6921
|
-
<span class="k-
|
|
6932
|
+
<span class="k-button-group k-toolbar-button-group k-scheduler-navigation" role="group">
|
|
6922
6933
|
<button kendoButton
|
|
6934
|
+
class="k-group-start"
|
|
6923
6935
|
(click)="todayClick()"
|
|
6924
|
-
class="k-nav-today"
|
|
6925
6936
|
[attr.title]="todayText"
|
|
6926
6937
|
[kendoSchedulerFocusIndex]="0"
|
|
6927
6938
|
containerType="toolbar">
|
|
@@ -6929,7 +6940,6 @@ class ToolbarNavigationComponent {
|
|
|
6929
6940
|
</button>
|
|
6930
6941
|
<button kendoButton
|
|
6931
6942
|
(click)="prevClick()"
|
|
6932
|
-
class="k-nav-prev"
|
|
6933
6943
|
[icon]="arrowIcons[0]"
|
|
6934
6944
|
[svgIcon]="svgIcon(arrowSVGIcons[0])"
|
|
6935
6945
|
[attr.title]="previousText"
|
|
@@ -6938,9 +6948,9 @@ class ToolbarNavigationComponent {
|
|
|
6938
6948
|
containerType="toolbar">
|
|
6939
6949
|
</button>
|
|
6940
6950
|
<button kendoButton
|
|
6951
|
+
class="k-group-end"
|
|
6941
6952
|
(click)="nextClick()"
|
|
6942
6953
|
type="button"
|
|
6943
|
-
class="k-nav-next"
|
|
6944
6954
|
[icon]="arrowIcons[1]"
|
|
6945
6955
|
[svgIcon]="svgIcon(arrowSVGIcons[1])"
|
|
6946
6956
|
[attr.title]="nextText"
|
|
@@ -6962,7 +6972,7 @@ class ToolbarNavigationComponent {
|
|
|
6962
6972
|
(keydown.enter)="toggleSelectedDate({ nativeElement: anchor.element }, template)"
|
|
6963
6973
|
(keydown.alt.arrowdown)="toggleSelectedDate({ nativeElement: anchor.element }, template)"
|
|
6964
6974
|
role="button"
|
|
6965
|
-
class="k-nav-current"
|
|
6975
|
+
class="k-nav-current k-toolbar-button"
|
|
6966
6976
|
[attr.aria-live]="'polite'"
|
|
6967
6977
|
[kendoSchedulerFocusIndex]="0"
|
|
6968
6978
|
containerType="toolbar">
|
|
@@ -6982,7 +6992,7 @@ class ToolbarNavigationComponent {
|
|
|
6982
6992
|
</kendo-calendar-messages>
|
|
6983
6993
|
</kendo-calendar>
|
|
6984
6994
|
</ng-template>
|
|
6985
|
-
`, isInline: true, dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconPosition", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon"
|
|
6995
|
+
`, isInline: true, dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconPosition", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon"], 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 });
|
|
6986
6996
|
}
|
|
6987
6997
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: ToolbarNavigationComponent, decorators: [{
|
|
6988
6998
|
type: Component,
|
|
@@ -6993,10 +7003,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
6993
7003
|
PopupService
|
|
6994
7004
|
],
|
|
6995
7005
|
template: `
|
|
6996
|
-
<span class="k-
|
|
7006
|
+
<span class="k-button-group k-toolbar-button-group k-scheduler-navigation" role="group">
|
|
6997
7007
|
<button kendoButton
|
|
7008
|
+
class="k-group-start"
|
|
6998
7009
|
(click)="todayClick()"
|
|
6999
|
-
class="k-nav-today"
|
|
7000
7010
|
[attr.title]="todayText"
|
|
7001
7011
|
[kendoSchedulerFocusIndex]="0"
|
|
7002
7012
|
containerType="toolbar">
|
|
@@ -7004,7 +7014,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
7004
7014
|
</button>
|
|
7005
7015
|
<button kendoButton
|
|
7006
7016
|
(click)="prevClick()"
|
|
7007
|
-
class="k-nav-prev"
|
|
7008
7017
|
[icon]="arrowIcons[0]"
|
|
7009
7018
|
[svgIcon]="svgIcon(arrowSVGIcons[0])"
|
|
7010
7019
|
[attr.title]="previousText"
|
|
@@ -7013,9 +7022,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
7013
7022
|
containerType="toolbar">
|
|
7014
7023
|
</button>
|
|
7015
7024
|
<button kendoButton
|
|
7025
|
+
class="k-group-end"
|
|
7016
7026
|
(click)="nextClick()"
|
|
7017
7027
|
type="button"
|
|
7018
|
-
class="k-nav-next"
|
|
7019
7028
|
[icon]="arrowIcons[1]"
|
|
7020
7029
|
[svgIcon]="svgIcon(arrowSVGIcons[1])"
|
|
7021
7030
|
[attr.title]="nextText"
|
|
@@ -7037,7 +7046,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
7037
7046
|
(keydown.enter)="toggleSelectedDate({ nativeElement: anchor.element }, template)"
|
|
7038
7047
|
(keydown.alt.arrowdown)="toggleSelectedDate({ nativeElement: anchor.element }, template)"
|
|
7039
7048
|
role="button"
|
|
7040
|
-
class="k-nav-current"
|
|
7049
|
+
class="k-nav-current k-toolbar-button"
|
|
7041
7050
|
[attr.aria-live]="'polite'"
|
|
7042
7051
|
[kendoSchedulerFocusIndex]="0"
|
|
7043
7052
|
containerType="toolbar">
|
|
@@ -7064,9 +7073,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
7064
7073
|
}], ctorParameters: () => [{ type: i1$2.PopupService }, { type: ToolbarService }, { type: i1$1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: ViewContextService }], propDecorators: { calendar: [{
|
|
7065
7074
|
type: ViewChild,
|
|
7066
7075
|
args: ['calendar', { static: false }]
|
|
7067
|
-
}], hostClass: [{
|
|
7068
|
-
type: HostBinding,
|
|
7069
|
-
args: ['class.k-toolbar-group']
|
|
7070
7076
|
}], min: [{
|
|
7071
7077
|
type: Input
|
|
7072
7078
|
}], max: [{
|
|
@@ -8268,10 +8274,6 @@ class SchedulerComponent {
|
|
|
8268
8274
|
* @hidden
|
|
8269
8275
|
*/
|
|
8270
8276
|
confirmationDialogContainerRef;
|
|
8271
|
-
/**
|
|
8272
|
-
* @hidden
|
|
8273
|
-
*/
|
|
8274
|
-
loadingComponent;
|
|
8275
8277
|
/**
|
|
8276
8278
|
* @hidden
|
|
8277
8279
|
*/
|
|
@@ -8334,6 +8336,10 @@ class SchedulerComponent {
|
|
|
8334
8336
|
get viewToolbar() {
|
|
8335
8337
|
return this.viewState?.toolbarVisibilityByView.get(this.selectedView);
|
|
8336
8338
|
}
|
|
8339
|
+
/**
|
|
8340
|
+
* @hidden
|
|
8341
|
+
*/
|
|
8342
|
+
pdfLoading = false;
|
|
8337
8343
|
direction;
|
|
8338
8344
|
subs;
|
|
8339
8345
|
viewIndex = 0;
|
|
@@ -8477,7 +8483,8 @@ class SchedulerComponent {
|
|
|
8477
8483
|
}
|
|
8478
8484
|
}));
|
|
8479
8485
|
this.subs.add(this.pdfService.done.subscribe(() => {
|
|
8480
|
-
this.
|
|
8486
|
+
this.pdfLoading = false;
|
|
8487
|
+
this.changeDetector.markForCheck();
|
|
8481
8488
|
}));
|
|
8482
8489
|
this.subs.add(this.localization.changes.subscribe(({ rtl }) => {
|
|
8483
8490
|
this.rtl = rtl;
|
|
@@ -8625,7 +8632,8 @@ class SchedulerComponent {
|
|
|
8625
8632
|
* Saves the current view as PDF.
|
|
8626
8633
|
*/
|
|
8627
8634
|
saveAsPDF() {
|
|
8628
|
-
this.
|
|
8635
|
+
this.pdfLoading = true;
|
|
8636
|
+
this.changeDetector.markForCheck();
|
|
8629
8637
|
this.zone.runOutsideAngular(() => {
|
|
8630
8638
|
// wait a tick in order for the loading element style to be updated by the browser.
|
|
8631
8639
|
// if the export is synchronous, the browser will not update the element before the export is finished.
|
|
@@ -8902,11 +8910,15 @@ class SchedulerComponent {
|
|
|
8902
8910
|
provide: L10N_PREFIX,
|
|
8903
8911
|
useValue: 'kendo.scheduler'
|
|
8904
8912
|
},
|
|
8913
|
+
{
|
|
8914
|
+
provide: KENDO_WEBMCP_HOST,
|
|
8915
|
+
useExisting: forwardRef(() => SchedulerComponent)
|
|
8916
|
+
},
|
|
8905
8917
|
ToolbarService,
|
|
8906
8918
|
ViewContextService,
|
|
8907
8919
|
ViewStateService,
|
|
8908
|
-
PDFService
|
|
8909
|
-
], queries: [{ propertyName: "editDialogTemplate", first: true, predicate: EditDialogTemplateDirective, descendants: true }, { propertyName: "toolbarTemplate", first: true, predicate: ToolbarTemplateDirective, descendants: true }, { propertyName: "views", predicate: SchedulerView }, { propertyName: "allDayEventTemplate", predicate: AllDayEventTemplateDirective }, { propertyName: "eventTemplate", predicate: EventTemplateDirective }, { propertyName: "timeSlotTemplate", predicate: TimeSlotTemplateDirective }, { propertyName: "minorTimeHeaderTemplate", predicate: MinorTimeHeaderTemplateDirective }, { propertyName: "majorTimeHeaderTemplate", predicate: MajorTimeHeaderTemplateDirective }, { propertyName: "monthDaySlotTemplate", predicate: MonthDaySlotTemplateDirective }, { propertyName: "multiWeekDaySlotTemplate", predicate: MultiWeekDaySlotTemplateDirective }, { propertyName: "dateHeaderTemplate", predicate: DateHeaderTemplateDirective }, { propertyName: "allDaySlotTemplate", predicate: AllDaySlotTemplateDirective }, { propertyName: "groupHeaderTemplate", predicate: GroupHeaderTemplateDirective }, { propertyName: "agendaDateTemplate", predicate: AgendaDateTemplateDirective }, { propertyName: "agendaTimeTemplate", predicate: AgendaTimeTemplateDirective }], viewQueries: [{ propertyName: "resizeSensor", first: true, predicate: ResizeSensorComponent, descendants: true, static: true }, { propertyName: "confirmationDialogContainerRef", first: true, predicate: ["confirmationDialogContainer"], descendants: true, read: ViewContainerRef, static: true }
|
|
8920
|
+
PDFService,
|
|
8921
|
+
], queries: [{ propertyName: "editDialogTemplate", first: true, predicate: EditDialogTemplateDirective, descendants: true }, { propertyName: "toolbarTemplate", first: true, predicate: ToolbarTemplateDirective, descendants: true }, { propertyName: "views", predicate: SchedulerView }, { propertyName: "allDayEventTemplate", predicate: AllDayEventTemplateDirective }, { propertyName: "eventTemplate", predicate: EventTemplateDirective }, { propertyName: "timeSlotTemplate", predicate: TimeSlotTemplateDirective }, { propertyName: "minorTimeHeaderTemplate", predicate: MinorTimeHeaderTemplateDirective }, { propertyName: "majorTimeHeaderTemplate", predicate: MajorTimeHeaderTemplateDirective }, { propertyName: "monthDaySlotTemplate", predicate: MonthDaySlotTemplateDirective }, { propertyName: "multiWeekDaySlotTemplate", predicate: MultiWeekDaySlotTemplateDirective }, { propertyName: "dateHeaderTemplate", predicate: DateHeaderTemplateDirective }, { propertyName: "allDaySlotTemplate", predicate: AllDaySlotTemplateDirective }, { propertyName: "groupHeaderTemplate", predicate: GroupHeaderTemplateDirective }, { propertyName: "agendaDateTemplate", predicate: AgendaDateTemplateDirective }, { propertyName: "agendaTimeTemplate", predicate: AgendaTimeTemplateDirective }], viewQueries: [{ propertyName: "resizeSensor", first: true, predicate: ResizeSensorComponent, descendants: true, static: true }, { propertyName: "confirmationDialogContainerRef", first: true, predicate: ["confirmationDialogContainer"], descendants: true, read: ViewContainerRef, static: true }], usesOnChanges: true, ngImport: i0, template: `
|
|
8910
8922
|
<ng-container kendoSchedulerLocalizedMessages
|
|
8911
8923
|
i18n-allEvents="kendo.scheduler.allEvents|The All events text displayed in the timeline views when there is no vertical grouping."
|
|
8912
8924
|
allEvents="All events"
|
|
@@ -9237,13 +9249,14 @@ class SchedulerComponent {
|
|
|
9237
9249
|
|
|
9238
9250
|
<kendo-resize-sensor (resize)="onResize()"></kendo-resize-sensor>
|
|
9239
9251
|
|
|
9240
|
-
|
|
9241
|
-
|
|
9252
|
+
@if (loading || pdfLoading) {
|
|
9253
|
+
<div kendoSchedulerLoading></div>
|
|
9254
|
+
}
|
|
9242
9255
|
|
|
9243
9256
|
@if (showLicenseWatermark) {
|
|
9244
9257
|
<div kendoWatermarkOverlay [licenseMessage]="licenseMessage"></div>
|
|
9245
9258
|
}
|
|
9246
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "[kendoSchedulerLocalizedMessages]" }, { kind: "component", type: ToolbarComponent, selector: "kendo-scheduler-toolbar", inputs: ["selectedView", "views", "dateRange", "selectedDate", "template", "min", "max"], outputs: ["navigate", "toolbarWidthChange"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: EditDialogComponent, selector: "kendo-scheduler-edit-dialog", inputs: ["resources", "timezone", "weekStart", "fields", "editTemplate"] }, { kind: "component", type: ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { kind: "component", type: LoadingComponent, selector: "[kendoSchedulerLoading]"
|
|
9259
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "[kendoSchedulerLocalizedMessages]" }, { kind: "component", type: ToolbarComponent, selector: "kendo-scheduler-toolbar", inputs: ["selectedView", "views", "dateRange", "selectedDate", "template", "min", "max"], outputs: ["navigate", "toolbarWidthChange"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: EditDialogComponent, selector: "kendo-scheduler-edit-dialog", inputs: ["resources", "timezone", "weekStart", "fields", "editTemplate"] }, { kind: "component", type: ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { kind: "component", type: LoadingComponent, selector: "[kendoSchedulerLoading]" }, { kind: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay], kendo-watermark-overlay", inputs: ["licenseMessage"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
9247
9260
|
}
|
|
9248
9261
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: SchedulerComponent, decorators: [{
|
|
9249
9262
|
type: Component,
|
|
@@ -9265,10 +9278,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
9265
9278
|
provide: L10N_PREFIX,
|
|
9266
9279
|
useValue: 'kendo.scheduler'
|
|
9267
9280
|
},
|
|
9281
|
+
{
|
|
9282
|
+
provide: KENDO_WEBMCP_HOST,
|
|
9283
|
+
useExisting: forwardRef(() => SchedulerComponent)
|
|
9284
|
+
},
|
|
9268
9285
|
ToolbarService,
|
|
9269
9286
|
ViewContextService,
|
|
9270
9287
|
ViewStateService,
|
|
9271
|
-
PDFService
|
|
9288
|
+
PDFService,
|
|
9272
9289
|
],
|
|
9273
9290
|
template: `
|
|
9274
9291
|
<ng-container kendoSchedulerLocalizedMessages
|
|
@@ -9601,8 +9618,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
9601
9618
|
|
|
9602
9619
|
<kendo-resize-sensor (resize)="onResize()"></kendo-resize-sensor>
|
|
9603
9620
|
|
|
9604
|
-
|
|
9605
|
-
|
|
9621
|
+
@if (loading || pdfLoading) {
|
|
9622
|
+
<div kendoSchedulerLoading></div>
|
|
9623
|
+
}
|
|
9606
9624
|
|
|
9607
9625
|
@if (showLicenseWatermark) {
|
|
9608
9626
|
<div kendoWatermarkOverlay [licenseMessage]="licenseMessage"></div>
|
|
@@ -9756,9 +9774,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
9756
9774
|
}], confirmationDialogContainerRef: [{
|
|
9757
9775
|
type: ViewChild,
|
|
9758
9776
|
args: ["confirmationDialogContainer", { read: ViewContainerRef, static: true }]
|
|
9759
|
-
}], loadingComponent: [{
|
|
9760
|
-
type: ViewChild,
|
|
9761
|
-
args: [LoadingComponent, { static: true }]
|
|
9762
9777
|
}], allDayEventTemplate: [{
|
|
9763
9778
|
type: ContentChildren,
|
|
9764
9779
|
args: [AllDayEventTemplateDirective]
|
|
@@ -11134,8 +11149,8 @@ class AgendaListComponent {
|
|
|
11134
11149
|
agendaTimeTemplate;
|
|
11135
11150
|
agendaDateTemplate;
|
|
11136
11151
|
editable;
|
|
11137
|
-
|
|
11138
|
-
|
|
11152
|
+
chevronLeftIcon = chevronLeftIcon;
|
|
11153
|
+
chevronRightIcon = chevronRightIcon;
|
|
11139
11154
|
constructor(intlService, localization) {
|
|
11140
11155
|
this.intlService = intlService;
|
|
11141
11156
|
this.localization = localization;
|
|
@@ -11202,10 +11217,10 @@ class AgendaListComponent {
|
|
|
11202
11217
|
}
|
|
11203
11218
|
}
|
|
11204
11219
|
get arrowIcons() {
|
|
11205
|
-
return !this.localization.rtl ? ['
|
|
11220
|
+
return !this.localization.rtl ? ['chevron-left', 'chevron-right'] : ['chevron-right', 'chevron-left'];
|
|
11206
11221
|
}
|
|
11207
11222
|
get arrowSVGIcons() {
|
|
11208
|
-
return !this.localization.rtl ? [this.
|
|
11223
|
+
return !this.localization.rtl ? [this.chevronLeftIcon, this.chevronRightIcon] : [this.chevronRightIcon, this.chevronLeftIcon];
|
|
11209
11224
|
}
|
|
11210
11225
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: AgendaListComponent, deps: [{ token: i4.IntlService }, { token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
11211
11226
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: AgendaListComponent, isStandalone: true, selector: "[kendoSchedulerAgendaList]", inputs: { tasks: "tasks", eventTemplate: "eventTemplate", slotClass: "slotClass", eventClass: "eventClass", eventStyles: "eventStyles", agendaTimeTemplate: "agendaTimeTemplate", agendaDateTemplate: "agendaDateTemplate", editable: "editable" }, host: { properties: { "class.k-scheduler-content": "this.classes" } }, ngImport: i0, template: `
|
|
@@ -11388,9 +11403,9 @@ class AgendaHeaderComponent {
|
|
|
11388
11403
|
@for (resource of resources; track resource) {
|
|
11389
11404
|
<th class="k-scheduler-groupcolumn k-first" role="columnheader"><span class="k-sr-only">{{ resourceMessage }}</span></th>
|
|
11390
11405
|
}
|
|
11391
|
-
<th class="k-scheduler-cell k-
|
|
11392
|
-
<th class="k-scheduler-cell k-
|
|
11393
|
-
<th class="k-scheduler-cell
|
|
11406
|
+
<th class="k-scheduler-cell k-scheduler-datecolumn" role="columnheader">{{ dateMessage }}</th>
|
|
11407
|
+
<th class="k-scheduler-cell k-scheduler-timecolumn" role="columnheader">{{ timeMessage }}</th>
|
|
11408
|
+
<th class="k-scheduler-cell" role="columnheader">{{ eventMessage }}</th>
|
|
11394
11409
|
</tr>
|
|
11395
11410
|
</tbody>
|
|
11396
11411
|
</table>
|
|
@@ -11410,9 +11425,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
11410
11425
|
@for (resource of resources; track resource) {
|
|
11411
11426
|
<th class="k-scheduler-groupcolumn k-first" role="columnheader"><span class="k-sr-only">{{ resourceMessage }}</span></th>
|
|
11412
11427
|
}
|
|
11413
|
-
<th class="k-scheduler-cell k-
|
|
11414
|
-
<th class="k-scheduler-cell k-
|
|
11415
|
-
<th class="k-scheduler-cell
|
|
11428
|
+
<th class="k-scheduler-cell k-scheduler-datecolumn" role="columnheader">{{ dateMessage }}</th>
|
|
11429
|
+
<th class="k-scheduler-cell k-scheduler-timecolumn" role="columnheader">{{ timeMessage }}</th>
|
|
11430
|
+
<th class="k-scheduler-cell" role="columnheader">{{ eventMessage }}</th>
|
|
11416
11431
|
</tr>
|
|
11417
11432
|
</tbody>
|
|
11418
11433
|
</table>
|
|
@@ -12645,8 +12660,10 @@ class BaseView {
|
|
|
12645
12660
|
contentTable;
|
|
12646
12661
|
times;
|
|
12647
12662
|
timesHeader;
|
|
12663
|
+
timesHeaderTable;
|
|
12648
12664
|
timesTable;
|
|
12649
12665
|
headerWrap;
|
|
12666
|
+
headerTable;
|
|
12650
12667
|
hintContainer;
|
|
12651
12668
|
get eventTemplateRef() {
|
|
12652
12669
|
return this.eventTemplate || (this.schedulerEventTemplate || {}).templateRef;
|
|
@@ -13647,7 +13664,7 @@ class BaseView {
|
|
|
13647
13664
|
}
|
|
13648
13665
|
}
|
|
13649
13666
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: BaseView, deps: [{ token: ViewContextService }, { token: ViewStateService }, { token: i4.IntlService }, { token: BaseSlotService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: PDFService }, { token: i1$1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i7.ScrollbarService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
13650
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.20", type: BaseView, isStandalone: true, inputs: { eventTemplate: "eventTemplate", groupHeaderTemplate: "groupHeaderTemplate", selectedDateFormat: "selectedDateFormat", selectedShortDateFormat: "selectedShortDateFormat", eventHeight: "eventHeight", showToolbar: "showToolbar", showFooter: "showFooter", slotClass: "slotClass", eventClass: "eventClass", eventStyles: "eventStyles", weekStart: "weekStart" }, viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true }, { propertyName: "header", first: true, predicate: ["header"], descendants: true }, { propertyName: "contentTable", first: true, predicate: ["contentTable"], descendants: true }, { propertyName: "times", first: true, predicate: ["times"], descendants: true }, { propertyName: "timesHeader", first: true, predicate: ["timesHeader"], descendants: true }, { propertyName: "timesTable", first: true, predicate: ["timesTable"], descendants: true }, { propertyName: "headerWrap", first: true, predicate: ["headerWrap"], descendants: true }, { propertyName: "hintContainer", first: true, predicate: ["hintContainer"], descendants: true }], usesOnChanges: true, ngImport: i0 });
|
|
13667
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.20", type: BaseView, isStandalone: true, inputs: { eventTemplate: "eventTemplate", groupHeaderTemplate: "groupHeaderTemplate", selectedDateFormat: "selectedDateFormat", selectedShortDateFormat: "selectedShortDateFormat", eventHeight: "eventHeight", showToolbar: "showToolbar", showFooter: "showFooter", slotClass: "slotClass", eventClass: "eventClass", eventStyles: "eventStyles", weekStart: "weekStart" }, viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true }, { propertyName: "header", first: true, predicate: ["header"], descendants: true }, { propertyName: "contentTable", first: true, predicate: ["contentTable"], descendants: true }, { propertyName: "times", first: true, predicate: ["times"], descendants: true }, { propertyName: "timesHeader", first: true, predicate: ["timesHeader"], descendants: true }, { propertyName: "timesHeaderTable", first: true, predicate: ["timesHeaderTable"], descendants: true }, { propertyName: "timesTable", first: true, predicate: ["timesTable"], descendants: true }, { propertyName: "headerWrap", first: true, predicate: ["headerWrap"], descendants: true }, { propertyName: "headerTable", first: true, predicate: ["headerTable"], descendants: true }, { propertyName: "hintContainer", first: true, predicate: ["hintContainer"], descendants: true }], usesOnChanges: true, ngImport: i0 });
|
|
13651
13668
|
}
|
|
13652
13669
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: BaseView, decorators: [{
|
|
13653
13670
|
type: Directive
|
|
@@ -13688,12 +13705,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
13688
13705
|
}], timesHeader: [{
|
|
13689
13706
|
type: ViewChild,
|
|
13690
13707
|
args: ['timesHeader', { static: false }]
|
|
13708
|
+
}], timesHeaderTable: [{
|
|
13709
|
+
type: ViewChild,
|
|
13710
|
+
args: ['timesHeaderTable', { static: false }]
|
|
13691
13711
|
}], timesTable: [{
|
|
13692
13712
|
type: ViewChild,
|
|
13693
13713
|
args: ['timesTable', { static: false }]
|
|
13694
13714
|
}], headerWrap: [{
|
|
13695
13715
|
type: ViewChild,
|
|
13696
13716
|
args: ['headerWrap', { static: false }]
|
|
13717
|
+
}], headerTable: [{
|
|
13718
|
+
type: ViewChild,
|
|
13719
|
+
args: ['headerTable', { static: false }]
|
|
13697
13720
|
}], hintContainer: [{
|
|
13698
13721
|
type: ViewChild,
|
|
13699
13722
|
args: ['hintContainer', { static: false }]
|
|
@@ -13738,8 +13761,8 @@ class BaseViewItem {
|
|
|
13738
13761
|
get removable() {
|
|
13739
13762
|
return this.editable && this.editable.remove !== false;
|
|
13740
13763
|
}
|
|
13741
|
-
|
|
13742
|
-
|
|
13764
|
+
chevronLeftIcon = chevronLeftIcon;
|
|
13765
|
+
chevronRightIcon = chevronRightIcon;
|
|
13743
13766
|
rect;
|
|
13744
13767
|
subs = new Subscription();
|
|
13745
13768
|
constructor(slotService, localization, focusService, element, renderer, intl) {
|
|
@@ -13834,10 +13857,10 @@ class BaseViewItem {
|
|
|
13834
13857
|
this.subs.unsubscribe();
|
|
13835
13858
|
}
|
|
13836
13859
|
get arrowIcons() {
|
|
13837
|
-
return !this.localization.rtl ? ['
|
|
13860
|
+
return !this.localization.rtl ? ['chevron-left', 'chevron-right'] : ['chevron-right', 'chevron-left'];
|
|
13838
13861
|
}
|
|
13839
13862
|
get arrowSVGIcons() {
|
|
13840
|
-
return !this.localization.rtl ? [this.
|
|
13863
|
+
return !this.localization.rtl ? [this.chevronLeftIcon, this.chevronRightIcon] : [this.chevronRightIcon, this.chevronLeftIcon];
|
|
13841
13864
|
}
|
|
13842
13865
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: BaseViewItem, deps: [{ token: BaseSlotService }, { token: i1$1.LocalizationService }, { token: FocusService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i4.IntlService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
13843
13866
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.20", type: BaseViewItem, isStandalone: true, inputs: { item: "item", resourceIndex: "resourceIndex", rangeIndex: "rangeIndex", index: "index", eventTemplate: "eventTemplate", editable: "editable", dragHint: "dragHint", resources: "resources" }, host: { properties: { "class.k-event": "this.className", "attr.data-task-index": "this.taskIndex", "style.touch-action": "this.touchAction", "attr.aria-label": "this.eventTitle" } }, usesOnChanges: true, ngImport: i0 });
|
|
@@ -13878,8 +13901,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
13878
13901
|
* @hidden
|
|
13879
13902
|
*/
|
|
13880
13903
|
class MonthViewItemComponent extends BaseViewItem {
|
|
13881
|
-
|
|
13882
|
-
|
|
13904
|
+
chevronLeftIcon = chevronLeftIcon;
|
|
13905
|
+
chevronRightIcon = chevronRightIcon;
|
|
13883
13906
|
arrowRotateCwIcon = arrowRotateCwIcon;
|
|
13884
13907
|
arrowsNoRepeatIcon = arrowsNoRepeatIcon;
|
|
13885
13908
|
xIcon = xIcon;
|
|
@@ -14461,12 +14484,15 @@ class MonthViewRendererComponent extends BaseView {
|
|
|
14461
14484
|
super.ngOnChanges(changes);
|
|
14462
14485
|
}
|
|
14463
14486
|
ngOnInit() {
|
|
14464
|
-
this.viewState.layoutEnd.subscribe(() => {
|
|
14487
|
+
this.subs.add(this.viewState.layoutEnd.subscribe(() => {
|
|
14465
14488
|
if (this.adaptiveSlotHeight) {
|
|
14466
14489
|
this.slotService.invalidate();
|
|
14467
14490
|
this.reflow();
|
|
14468
14491
|
}
|
|
14469
|
-
|
|
14492
|
+
else {
|
|
14493
|
+
this.syncTables();
|
|
14494
|
+
}
|
|
14495
|
+
}));
|
|
14470
14496
|
super.ngOnInit();
|
|
14471
14497
|
}
|
|
14472
14498
|
ngAfterViewInit() {
|
|
@@ -14553,6 +14579,24 @@ class MonthViewRendererComponent extends BaseView {
|
|
|
14553
14579
|
}
|
|
14554
14580
|
this.syncTables();
|
|
14555
14581
|
}
|
|
14582
|
+
syncTables() {
|
|
14583
|
+
super.syncTables();
|
|
14584
|
+
if (!this.timesTable) {
|
|
14585
|
+
return;
|
|
14586
|
+
}
|
|
14587
|
+
const timesRows = this.timesTable.nativeElement.rows;
|
|
14588
|
+
if (!timesRows.length) {
|
|
14589
|
+
return;
|
|
14590
|
+
}
|
|
14591
|
+
const contentRows = this.contentTable.nativeElement.rows;
|
|
14592
|
+
const rowsCount = Math.min(timesRows.length, contentRows.length);
|
|
14593
|
+
for (let index = 0; index < rowsCount; index++) {
|
|
14594
|
+
const height = `${contentRows[index].offsetHeight}px`;
|
|
14595
|
+
if (timesRows[index].style.height !== height) {
|
|
14596
|
+
this.renderer.setStyle(timesRows[index], 'height', height);
|
|
14597
|
+
}
|
|
14598
|
+
}
|
|
14599
|
+
}
|
|
14556
14600
|
onClick(e, eventType = e.type) {
|
|
14557
14601
|
if (eventType === 'click') {
|
|
14558
14602
|
const eventSlot = closestInScope(e.target, node => node.hasAttribute('data-slot-index'), this.element.nativeElement);
|
|
@@ -14675,7 +14719,7 @@ class MonthViewRendererComponent extends BaseView {
|
|
|
14675
14719
|
<table class="k-scheduler-table" aria-hidden="true">
|
|
14676
14720
|
<tbody>
|
|
14677
14721
|
<tr>
|
|
14678
|
-
<th class="k-scheduler-cell
|
|
14722
|
+
<th class="k-scheduler-cell"></th>
|
|
14679
14723
|
</tr>
|
|
14680
14724
|
</tbody>
|
|
14681
14725
|
</table>
|
|
@@ -14693,7 +14737,7 @@ class MonthViewRendererComponent extends BaseView {
|
|
|
14693
14737
|
<tr>
|
|
14694
14738
|
@for (item of horizontalResources | resourceIterator : resourceIndex; track itemIndex($index, item)) {
|
|
14695
14739
|
<th
|
|
14696
|
-
class="k-scheduler-cell
|
|
14740
|
+
class="k-scheduler-cell" [attr.colspan]="horizontalColspan(resourceIndex)">
|
|
14697
14741
|
@if (!groupHeaderTemplateRef) {
|
|
14698
14742
|
{{ getField(item, resource.textField) }}
|
|
14699
14743
|
}
|
|
@@ -14707,7 +14751,7 @@ class MonthViewRendererComponent extends BaseView {
|
|
|
14707
14751
|
<tr>
|
|
14708
14752
|
@for (resource of horizontalResources | resourceIterator; track itemIndex($index, resource)) {
|
|
14709
14753
|
@for (day of weeks[0]; track itemIndex($index, day)) {
|
|
14710
|
-
<th class="k-scheduler-cell
|
|
14754
|
+
<th class="k-scheduler-cell">
|
|
14711
14755
|
{{ day | kendoDate: 'EEEE' }}
|
|
14712
14756
|
</th>
|
|
14713
14757
|
}
|
|
@@ -14729,7 +14773,7 @@ class MonthViewRendererComponent extends BaseView {
|
|
|
14729
14773
|
<tr>
|
|
14730
14774
|
@for (resource of verticalResources; track itemIndex(resourceIndex, resource); let resourceIndex = $index) {
|
|
14731
14775
|
@if (verticalItem(leafIndex, resourceIndex)) {
|
|
14732
|
-
<th [attr.rowspan]="verticalRowspan(resourceIndex)" class="k-slot-cell
|
|
14776
|
+
<th [attr.rowspan]="verticalRowspan(resourceIndex)" class="k-slot-cell" [ngClass]="{ 'k-last-resource': resourceIndex === verticalResources.length - 1 }">
|
|
14733
14777
|
@if (!groupHeaderTemplateRef) {
|
|
14734
14778
|
{{ getField(verticalItem(leafIndex, resourceIndex), resource.textField) }}
|
|
14735
14779
|
}
|
|
@@ -14740,12 +14784,12 @@ class MonthViewRendererComponent extends BaseView {
|
|
|
14740
14784
|
</th>
|
|
14741
14785
|
}
|
|
14742
14786
|
}
|
|
14743
|
-
<th class="k-slot-cell k-
|
|
14787
|
+
<th class="k-slot-cell k-empty-slot">
|
|
14744
14788
|
</th>
|
|
14745
14789
|
</tr>
|
|
14746
14790
|
@for (index of (numberOfWeeks - 1) | repeat; track itemIndex($index, index)) {
|
|
14747
14791
|
<tr>
|
|
14748
|
-
<th class="k-slot-cell k-
|
|
14792
|
+
<th class="k-slot-cell k-empty-slot"></th>
|
|
14749
14793
|
</tr>
|
|
14750
14794
|
}
|
|
14751
14795
|
}
|
|
@@ -14866,7 +14910,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
14866
14910
|
<table class="k-scheduler-table" aria-hidden="true">
|
|
14867
14911
|
<tbody>
|
|
14868
14912
|
<tr>
|
|
14869
|
-
<th class="k-scheduler-cell
|
|
14913
|
+
<th class="k-scheduler-cell"></th>
|
|
14870
14914
|
</tr>
|
|
14871
14915
|
</tbody>
|
|
14872
14916
|
</table>
|
|
@@ -14884,7 +14928,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
14884
14928
|
<tr>
|
|
14885
14929
|
@for (item of horizontalResources | resourceIterator : resourceIndex; track itemIndex($index, item)) {
|
|
14886
14930
|
<th
|
|
14887
|
-
class="k-scheduler-cell
|
|
14931
|
+
class="k-scheduler-cell" [attr.colspan]="horizontalColspan(resourceIndex)">
|
|
14888
14932
|
@if (!groupHeaderTemplateRef) {
|
|
14889
14933
|
{{ getField(item, resource.textField) }}
|
|
14890
14934
|
}
|
|
@@ -14898,7 +14942,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
14898
14942
|
<tr>
|
|
14899
14943
|
@for (resource of horizontalResources | resourceIterator; track itemIndex($index, resource)) {
|
|
14900
14944
|
@for (day of weeks[0]; track itemIndex($index, day)) {
|
|
14901
|
-
<th class="k-scheduler-cell
|
|
14945
|
+
<th class="k-scheduler-cell">
|
|
14902
14946
|
{{ day | kendoDate: 'EEEE' }}
|
|
14903
14947
|
</th>
|
|
14904
14948
|
}
|
|
@@ -14920,7 +14964,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
14920
14964
|
<tr>
|
|
14921
14965
|
@for (resource of verticalResources; track itemIndex(resourceIndex, resource); let resourceIndex = $index) {
|
|
14922
14966
|
@if (verticalItem(leafIndex, resourceIndex)) {
|
|
14923
|
-
<th [attr.rowspan]="verticalRowspan(resourceIndex)" class="k-slot-cell
|
|
14967
|
+
<th [attr.rowspan]="verticalRowspan(resourceIndex)" class="k-slot-cell" [ngClass]="{ 'k-last-resource': resourceIndex === verticalResources.length - 1 }">
|
|
14924
14968
|
@if (!groupHeaderTemplateRef) {
|
|
14925
14969
|
{{ getField(verticalItem(leafIndex, resourceIndex), resource.textField) }}
|
|
14926
14970
|
}
|
|
@@ -14931,12 +14975,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
14931
14975
|
</th>
|
|
14932
14976
|
}
|
|
14933
14977
|
}
|
|
14934
|
-
<th class="k-slot-cell k-
|
|
14978
|
+
<th class="k-slot-cell k-empty-slot">
|
|
14935
14979
|
</th>
|
|
14936
14980
|
</tr>
|
|
14937
14981
|
@for (index of (numberOfWeeks - 1) | repeat; track itemIndex($index, index)) {
|
|
14938
14982
|
<tr>
|
|
14939
|
-
<th class="k-slot-cell k-
|
|
14983
|
+
<th class="k-slot-cell k-empty-slot"></th>
|
|
14940
14984
|
</tr>
|
|
14941
14985
|
}
|
|
14942
14986
|
}
|
|
@@ -15728,7 +15772,7 @@ class ViewFooterComponent {
|
|
|
15728
15772
|
}
|
|
15729
15773
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: ViewFooterComponent, deps: [{ token: ViewStateService }], target: i0.ɵɵFactoryTarget.Component });
|
|
15730
15774
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: ViewFooterComponent, isStandalone: true, selector: "[viewFooter]", inputs: { items: "items" }, outputs: { itemClick: "itemClick" }, host: { properties: { "class.k-scheduler-footer": "this.hostClasses", "class.k-toolbar": "this.hostClasses", "attr.role": "this.toolbarRole", "style.justify-content": "this.inlineJustifyContentStyle" } }, ngImport: i0, template: `
|
|
15731
|
-
<span
|
|
15775
|
+
<span>
|
|
15732
15776
|
@for (item of items; track item) {
|
|
15733
15777
|
<button
|
|
15734
15778
|
type="button"
|
|
@@ -15743,14 +15787,14 @@ class ViewFooterComponent {
|
|
|
15743
15787
|
</button>
|
|
15744
15788
|
}
|
|
15745
15789
|
</span>
|
|
15746
|
-
`, isInline: true, dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconPosition", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon"
|
|
15790
|
+
`, isInline: true, dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconPosition", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: FocusableDirective, selector: "[kendoSchedulerFocusIndex]", inputs: ["kendoSchedulerFocusIndex", "containerType"] }] });
|
|
15747
15791
|
}
|
|
15748
15792
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: ViewFooterComponent, decorators: [{
|
|
15749
15793
|
type: Component,
|
|
15750
15794
|
args: [{
|
|
15751
15795
|
selector: '[viewFooter]',
|
|
15752
15796
|
template: `
|
|
15753
|
-
<span
|
|
15797
|
+
<span>
|
|
15754
15798
|
@for (item of items; track item) {
|
|
15755
15799
|
<button
|
|
15756
15800
|
type="button"
|
|
@@ -15794,7 +15838,7 @@ class WorkHoursFooterDirective {
|
|
|
15794
15838
|
footer;
|
|
15795
15839
|
localization;
|
|
15796
15840
|
showWorkHours = false;
|
|
15797
|
-
footerItems = [{ cssClass: 'k-scheduler-fullday', fontIcon: 'clock', svgIcon: clockIcon, text: '' }];
|
|
15841
|
+
footerItems = [{ cssClass: 'k-scheduler-fullday k-toolbar-button', fontIcon: 'clock', svgIcon: clockIcon, text: '' }];
|
|
15798
15842
|
constructor(footer, localization) {
|
|
15799
15843
|
this.footer = footer;
|
|
15800
15844
|
this.localization = localization;
|
|
@@ -16606,10 +16650,10 @@ function createTimeSlots(intlService, { showWorkHours, startTime, endTime, workD
|
|
|
16606
16650
|
*/
|
|
16607
16651
|
class DayTimeViewItemComponent extends BaseViewItem {
|
|
16608
16652
|
intlService;
|
|
16609
|
-
|
|
16610
|
-
|
|
16611
|
-
|
|
16612
|
-
|
|
16653
|
+
chevronLeftIcon = chevronLeftIcon;
|
|
16654
|
+
chevronRightIcon = chevronRightIcon;
|
|
16655
|
+
chevronUpIcon = chevronUpIcon;
|
|
16656
|
+
chevronDownIcon = chevronDownIcon;
|
|
16613
16657
|
arrowRotateCwIcon = arrowRotateCwIcon;
|
|
16614
16658
|
arrowsNoRepeatIcon = arrowsNoRepeatIcon;
|
|
16615
16659
|
xIcon = xIcon;
|
|
@@ -16679,13 +16723,13 @@ class DayTimeViewItemComponent extends BaseViewItem {
|
|
|
16679
16723
|
|
|
16680
16724
|
@if (item.tail && vertical) {
|
|
16681
16725
|
<span class="k-event-top-actions">
|
|
16682
|
-
<kendo-icon-wrapper name="
|
|
16726
|
+
<kendo-icon-wrapper name="chevron-up" [svgIcon]="chevronUpIcon"></kendo-icon-wrapper>
|
|
16683
16727
|
</span>
|
|
16684
16728
|
}
|
|
16685
16729
|
|
|
16686
16730
|
@if (item.head && vertical) {
|
|
16687
16731
|
<span class="k-event-bottom-actions">
|
|
16688
|
-
<kendo-icon-wrapper name="
|
|
16732
|
+
<kendo-icon-wrapper name="chevron-down" [svgIcon]="chevronDownIcon"></kendo-icon-wrapper>
|
|
16689
16733
|
</span>
|
|
16690
16734
|
}
|
|
16691
16735
|
|
|
@@ -16763,13 +16807,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
16763
16807
|
|
|
16764
16808
|
@if (item.tail && vertical) {
|
|
16765
16809
|
<span class="k-event-top-actions">
|
|
16766
|
-
<kendo-icon-wrapper name="
|
|
16810
|
+
<kendo-icon-wrapper name="chevron-up" [svgIcon]="chevronUpIcon"></kendo-icon-wrapper>
|
|
16767
16811
|
</span>
|
|
16768
16812
|
}
|
|
16769
16813
|
|
|
16770
16814
|
@if (item.head && vertical) {
|
|
16771
16815
|
<span class="k-event-bottom-actions">
|
|
16772
|
-
<kendo-icon-wrapper name="
|
|
16816
|
+
<kendo-icon-wrapper name="chevron-down" [svgIcon]="chevronDownIcon"></kendo-icon-wrapper>
|
|
16773
16817
|
</span>
|
|
16774
16818
|
}
|
|
16775
16819
|
|
|
@@ -17137,6 +17181,49 @@ class DayTimeViewComponent extends BaseView {
|
|
|
17137
17181
|
this.workDayEndTime = toInvariantTime(endDate);
|
|
17138
17182
|
}
|
|
17139
17183
|
}
|
|
17184
|
+
syncDateHeaderHeight() {
|
|
17185
|
+
if (!isDocumentAvailable()) {
|
|
17186
|
+
return;
|
|
17187
|
+
}
|
|
17188
|
+
const dateRowIndex = this.horizontalResources.length + 1;
|
|
17189
|
+
const timesTable = this.timesHeaderTable?.nativeElement;
|
|
17190
|
+
const headerTable = this.headerTable?.nativeElement;
|
|
17191
|
+
const timesHeaderDateCell = timesTable?.rows[dateRowIndex - 1]?.cells[0];
|
|
17192
|
+
const headerDateCell = headerTable?.rows[dateRowIndex - 1]?.cells[0];
|
|
17193
|
+
const shouldSkipDateHeightSync = !timesHeaderDateCell || !headerDateCell || !this.dateHeaderTemplateRef;
|
|
17194
|
+
if (shouldSkipDateHeightSync) {
|
|
17195
|
+
if (timesHeaderDateCell && !this.dateHeaderTemplateRef) {
|
|
17196
|
+
this.renderer.removeStyle(timesHeaderDateCell, 'height');
|
|
17197
|
+
}
|
|
17198
|
+
return;
|
|
17199
|
+
}
|
|
17200
|
+
this.syncCellHeight(headerDateCell, timesHeaderDateCell);
|
|
17201
|
+
}
|
|
17202
|
+
syncGroupHeaderHeight() {
|
|
17203
|
+
if (!isDocumentAvailable()) {
|
|
17204
|
+
return;
|
|
17205
|
+
}
|
|
17206
|
+
const dateRowIndex = this.horizontalResources.length + 1;
|
|
17207
|
+
const timesTable = this.timesHeaderTable?.nativeElement;
|
|
17208
|
+
const headerTable = this.headerTable?.nativeElement;
|
|
17209
|
+
for (let rowIndex = 1; rowIndex < dateRowIndex; rowIndex++) {
|
|
17210
|
+
const timesHeaderCell = timesTable?.rows[rowIndex - 1]?.cells[0];
|
|
17211
|
+
if (!timesHeaderCell) {
|
|
17212
|
+
continue;
|
|
17213
|
+
}
|
|
17214
|
+
// Remove height when template is absent or grouping is vertical
|
|
17215
|
+
if (!this.groupHeaderTemplateRef || this.verticalResources.length) {
|
|
17216
|
+
this.renderer.removeStyle(timesHeaderCell, 'height');
|
|
17217
|
+
continue;
|
|
17218
|
+
}
|
|
17219
|
+
const headerCell = headerTable?.rows[rowIndex - 1]?.cells[0];
|
|
17220
|
+
if (!headerCell) {
|
|
17221
|
+
this.renderer.removeStyle(timesHeaderCell, 'height');
|
|
17222
|
+
continue;
|
|
17223
|
+
}
|
|
17224
|
+
this.syncCellHeight(headerCell, timesHeaderCell);
|
|
17225
|
+
}
|
|
17226
|
+
}
|
|
17140
17227
|
slotByPosition(x, y, container) {
|
|
17141
17228
|
const isDaySlot = container ? hasClasses(container.parentNode, 'k-scheduler-header-wrap') : y < 0;
|
|
17142
17229
|
return this.slotService.slotByPosition(x, y, isDaySlot, Boolean(this.verticalResources.length));
|
|
@@ -17152,6 +17239,14 @@ class DayTimeViewComponent extends BaseView {
|
|
|
17152
17239
|
}
|
|
17153
17240
|
return fields;
|
|
17154
17241
|
}
|
|
17242
|
+
syncCellHeight(sourceCell, targetCell) {
|
|
17243
|
+
const height = sourceCell.getBoundingClientRect().height;
|
|
17244
|
+
const currentHeight = targetCell.getBoundingClientRect().height;
|
|
17245
|
+
const paddingAndBorder = getVerticalPaddingAndBorder(targetCell);
|
|
17246
|
+
if (height !== currentHeight) {
|
|
17247
|
+
this.renderer.setStyle(targetCell, 'height', `${height - paddingAndBorder}px`);
|
|
17248
|
+
}
|
|
17249
|
+
}
|
|
17155
17250
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: DayTimeViewComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: ViewContextService }, { token: ViewStateService }, { token: i4.IntlService }, { token: DayTimeSlotService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: PDFService }, { token: i1$1.LocalizationService }, { token: i7.ScrollbarService }], target: i0.ɵɵFactoryTarget.Component });
|
|
17156
17251
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: DayTimeViewComponent, isStandalone: true, selector: "kendo-day-time-view", inputs: { timeSlotTemplate: "timeSlotTemplate", dateHeaderTemplate: "dateHeaderTemplate", majorTimeHeaderTemplate: "majorTimeHeaderTemplate", minorTimeHeaderTemplate: "minorTimeHeaderTemplate", numberOfDays: "numberOfDays", scrollTime: "scrollTime", startTime: "startTime", endTime: "endTime", workDayStart: "workDayStart", workDayEnd: "workDayEnd", workWeekStart: "workWeekStart", workWeekEnd: "workWeekEnd", slotDuration: "slotDuration", slotDivisions: "slotDivisions", showWorkHours: "showWorkHours", getStartDate: "getStartDate", getEndDate: "getEndDate", getNextDate: "getNextDate", currentTimeMarker: "currentTimeMarker", highlightOngoingEvents: "highlightOngoingEvents" }, viewQueries: [{ propertyName: "currentTimeElements", predicate: ["currentTimeMarker"], descendants: true }, { propertyName: "eventElements", predicate: DayTimeViewItemComponent, descendants: true }, { propertyName: "currentTimeArrows", predicate: ["currentTimeArrow"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '', isInline: true });
|
|
17157
17252
|
}
|
|
@@ -17465,6 +17560,11 @@ class MultiDayViewRendererComponent extends DayTimeViewComponent {
|
|
|
17465
17560
|
slotService.layoutTimes({ fill: this.slotFill });
|
|
17466
17561
|
this.syncTables();
|
|
17467
17562
|
}
|
|
17563
|
+
syncTables() {
|
|
17564
|
+
super.syncTables();
|
|
17565
|
+
this.syncGroupHeaderHeight();
|
|
17566
|
+
this.syncDateHeaderHeight();
|
|
17567
|
+
}
|
|
17468
17568
|
dragHorizontal(slot) {
|
|
17469
17569
|
return slot.isDaySlot;
|
|
17470
17570
|
}
|
|
@@ -17569,19 +17669,19 @@ class MultiDayViewRendererComponent extends DayTimeViewComponent {
|
|
|
17569
17669
|
<tr class="k-scheduler-head">
|
|
17570
17670
|
<td>
|
|
17571
17671
|
<div class="k-scheduler-times" #timesHeader>
|
|
17572
|
-
<table class="k-scheduler-table" aria-hidden="true">
|
|
17672
|
+
<table class="k-scheduler-table" #timesHeaderTable aria-hidden="true">
|
|
17573
17673
|
<tbody>
|
|
17574
17674
|
@for (resource of horizontalResources; track itemIndex($index, resource)) {
|
|
17575
17675
|
<tr>
|
|
17576
|
-
<th class="k-scheduler-cell
|
|
17676
|
+
<th class="k-scheduler-cell"></th>
|
|
17577
17677
|
</tr>
|
|
17578
17678
|
}
|
|
17579
17679
|
<tr [style.height]="'auto'">
|
|
17580
|
-
<th class="k-scheduler-cell
|
|
17680
|
+
<th class="k-scheduler-cell"></th>
|
|
17581
17681
|
</tr>
|
|
17582
17682
|
@if (allDaySlot && !verticalResources.length) {
|
|
17583
17683
|
<tr>
|
|
17584
|
-
<th class="k-scheduler-times-all-day k-scheduler-cell
|
|
17684
|
+
<th class="k-scheduler-times-all-day k-scheduler-cell" #allDayCell>{{ allDayMessage }}</th>
|
|
17585
17685
|
</tr>
|
|
17586
17686
|
}
|
|
17587
17687
|
</tbody>
|
|
@@ -17591,13 +17691,13 @@ class MultiDayViewRendererComponent extends DayTimeViewComponent {
|
|
|
17591
17691
|
<td>
|
|
17592
17692
|
<div class="k-scheduler-header" #header>
|
|
17593
17693
|
<div class="k-scheduler-header-wrap" #headerWrap>
|
|
17594
|
-
<table class="k-scheduler-table" aria-hidden="true">
|
|
17694
|
+
<table class="k-scheduler-table" #headerTable aria-hidden="true">
|
|
17595
17695
|
<tbody>
|
|
17596
17696
|
@for (resource of horizontalResources; track itemIndex(resourceIndex, resource); let resourceIndex = $index) {
|
|
17597
17697
|
<tr>
|
|
17598
17698
|
@for (item of horizontalResources | resourceIterator : resourceIndex; track itemIndex($index, item)) {
|
|
17599
17699
|
<th
|
|
17600
|
-
class="k-scheduler-cell
|
|
17700
|
+
class="k-scheduler-cell" [attr.colspan]="horizontalColspan(resourceIndex)">
|
|
17601
17701
|
@if (!groupHeaderTemplateRef) {
|
|
17602
17702
|
{{ getField(item, resource.textField) }}
|
|
17603
17703
|
}
|
|
@@ -17611,7 +17711,7 @@ class MultiDayViewRendererComponent extends DayTimeViewComponent {
|
|
|
17611
17711
|
<tr class="k-scheduler-date-group">
|
|
17612
17712
|
@for (resource of horizontalResources | resourceIterator; track itemIndex($index, resource)) {
|
|
17613
17713
|
@for (slot of daySlots; track itemIndex(index, slot); let index = $index) {
|
|
17614
|
-
<th class="k-scheduler-cell
|
|
17714
|
+
<th class="k-scheduler-cell">
|
|
17615
17715
|
@if (!dateHeaderTemplateRef) {
|
|
17616
17716
|
<span class="k-link k-nav-day" [attr.data-dayslot-index]="index">{{ slot.start | kendoDate: dateFormat }}</span>
|
|
17617
17717
|
}
|
|
@@ -17723,7 +17823,7 @@ class MultiDayViewRendererComponent extends DayTimeViewComponent {
|
|
|
17723
17823
|
<tr>
|
|
17724
17824
|
@for (resource of verticalResources; track itemIndex(resourceIndex, resource); let resourceIndex = $index) {
|
|
17725
17825
|
@if (verticalItem(leafIndex, resourceIndex)) {
|
|
17726
|
-
<th [attr.rowspan]="verticalRowspan(resourceIndex)" class="k-scheduler-cell k-slot-cell
|
|
17826
|
+
<th [attr.rowspan]="verticalRowspan(resourceIndex)" class="k-scheduler-cell k-slot-cell">
|
|
17727
17827
|
@if (!groupHeaderTemplateRef) {
|
|
17728
17828
|
{{ getField(verticalItem(leafIndex, resourceIndex), resource.textField) }}
|
|
17729
17829
|
}
|
|
@@ -17735,14 +17835,14 @@ class MultiDayViewRendererComponent extends DayTimeViewComponent {
|
|
|
17735
17835
|
}
|
|
17736
17836
|
}
|
|
17737
17837
|
@if (allDaySlot) {
|
|
17738
|
-
<th class="k-scheduler-times-all-day k-scheduler-cell
|
|
17838
|
+
<th class="k-scheduler-times-all-day k-scheduler-cell" #allDayCell>{{ allDayMessage }}</th>
|
|
17739
17839
|
}
|
|
17740
17840
|
</tr>
|
|
17741
17841
|
}
|
|
17742
17842
|
@for (slot of timeSlots; track itemIndex(timeSlotIndex, slot); let timeSlotIndex = $index) {
|
|
17743
17843
|
<tr>
|
|
17744
17844
|
@if (slot.isMajor) {
|
|
17745
|
-
<th [ngClass]="{ 'k-slot-cell': slotDivisions === 1 }" class="k-scheduler-cell
|
|
17845
|
+
<th [ngClass]="{ 'k-slot-cell': slotDivisions === 1 }" class="k-scheduler-cell">
|
|
17746
17846
|
@if (!majorTimeHeaderTemplateRef) {
|
|
17747
17847
|
{{ slot.start | kendoDate: 't' }}
|
|
17748
17848
|
}
|
|
@@ -17752,7 +17852,7 @@ class MultiDayViewRendererComponent extends DayTimeViewComponent {
|
|
|
17752
17852
|
</th>
|
|
17753
17853
|
}
|
|
17754
17854
|
@if (!slot.isMajor) {
|
|
17755
|
-
<th [ngClass]="{ 'k-slot-cell': timeSlotIndex % slotDivisions === slotDivisions - 1 }" class="k-scheduler-cell
|
|
17855
|
+
<th [ngClass]="{ 'k-slot-cell': timeSlotIndex % slotDivisions === slotDivisions - 1 }" class="k-scheduler-cell">
|
|
17756
17856
|
@if (minorTimeHeaderTemplateRef) {
|
|
17757
17857
|
<ng-container [ngTemplateOutlet]="minorTimeHeaderTemplateRef" [ngTemplateOutletContext]="{ date: slot.start }">
|
|
17758
17858
|
</ng-container>
|
|
@@ -17932,19 +18032,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
17932
18032
|
<tr class="k-scheduler-head">
|
|
17933
18033
|
<td>
|
|
17934
18034
|
<div class="k-scheduler-times" #timesHeader>
|
|
17935
|
-
<table class="k-scheduler-table" aria-hidden="true">
|
|
18035
|
+
<table class="k-scheduler-table" #timesHeaderTable aria-hidden="true">
|
|
17936
18036
|
<tbody>
|
|
17937
18037
|
@for (resource of horizontalResources; track itemIndex($index, resource)) {
|
|
17938
18038
|
<tr>
|
|
17939
|
-
<th class="k-scheduler-cell
|
|
18039
|
+
<th class="k-scheduler-cell"></th>
|
|
17940
18040
|
</tr>
|
|
17941
18041
|
}
|
|
17942
18042
|
<tr [style.height]="'auto'">
|
|
17943
|
-
<th class="k-scheduler-cell
|
|
18043
|
+
<th class="k-scheduler-cell"></th>
|
|
17944
18044
|
</tr>
|
|
17945
18045
|
@if (allDaySlot && !verticalResources.length) {
|
|
17946
18046
|
<tr>
|
|
17947
|
-
<th class="k-scheduler-times-all-day k-scheduler-cell
|
|
18047
|
+
<th class="k-scheduler-times-all-day k-scheduler-cell" #allDayCell>{{ allDayMessage }}</th>
|
|
17948
18048
|
</tr>
|
|
17949
18049
|
}
|
|
17950
18050
|
</tbody>
|
|
@@ -17954,13 +18054,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
17954
18054
|
<td>
|
|
17955
18055
|
<div class="k-scheduler-header" #header>
|
|
17956
18056
|
<div class="k-scheduler-header-wrap" #headerWrap>
|
|
17957
|
-
<table class="k-scheduler-table" aria-hidden="true">
|
|
18057
|
+
<table class="k-scheduler-table" #headerTable aria-hidden="true">
|
|
17958
18058
|
<tbody>
|
|
17959
18059
|
@for (resource of horizontalResources; track itemIndex(resourceIndex, resource); let resourceIndex = $index) {
|
|
17960
18060
|
<tr>
|
|
17961
18061
|
@for (item of horizontalResources | resourceIterator : resourceIndex; track itemIndex($index, item)) {
|
|
17962
18062
|
<th
|
|
17963
|
-
class="k-scheduler-cell
|
|
18063
|
+
class="k-scheduler-cell" [attr.colspan]="horizontalColspan(resourceIndex)">
|
|
17964
18064
|
@if (!groupHeaderTemplateRef) {
|
|
17965
18065
|
{{ getField(item, resource.textField) }}
|
|
17966
18066
|
}
|
|
@@ -17974,7 +18074,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
17974
18074
|
<tr class="k-scheduler-date-group">
|
|
17975
18075
|
@for (resource of horizontalResources | resourceIterator; track itemIndex($index, resource)) {
|
|
17976
18076
|
@for (slot of daySlots; track itemIndex(index, slot); let index = $index) {
|
|
17977
|
-
<th class="k-scheduler-cell
|
|
18077
|
+
<th class="k-scheduler-cell">
|
|
17978
18078
|
@if (!dateHeaderTemplateRef) {
|
|
17979
18079
|
<span class="k-link k-nav-day" [attr.data-dayslot-index]="index">{{ slot.start | kendoDate: dateFormat }}</span>
|
|
17980
18080
|
}
|
|
@@ -18086,7 +18186,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
18086
18186
|
<tr>
|
|
18087
18187
|
@for (resource of verticalResources; track itemIndex(resourceIndex, resource); let resourceIndex = $index) {
|
|
18088
18188
|
@if (verticalItem(leafIndex, resourceIndex)) {
|
|
18089
|
-
<th [attr.rowspan]="verticalRowspan(resourceIndex)" class="k-scheduler-cell k-slot-cell
|
|
18189
|
+
<th [attr.rowspan]="verticalRowspan(resourceIndex)" class="k-scheduler-cell k-slot-cell">
|
|
18090
18190
|
@if (!groupHeaderTemplateRef) {
|
|
18091
18191
|
{{ getField(verticalItem(leafIndex, resourceIndex), resource.textField) }}
|
|
18092
18192
|
}
|
|
@@ -18098,14 +18198,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
18098
18198
|
}
|
|
18099
18199
|
}
|
|
18100
18200
|
@if (allDaySlot) {
|
|
18101
|
-
<th class="k-scheduler-times-all-day k-scheduler-cell
|
|
18201
|
+
<th class="k-scheduler-times-all-day k-scheduler-cell" #allDayCell>{{ allDayMessage }}</th>
|
|
18102
18202
|
}
|
|
18103
18203
|
</tr>
|
|
18104
18204
|
}
|
|
18105
18205
|
@for (slot of timeSlots; track itemIndex(timeSlotIndex, slot); let timeSlotIndex = $index) {
|
|
18106
18206
|
<tr>
|
|
18107
18207
|
@if (slot.isMajor) {
|
|
18108
|
-
<th [ngClass]="{ 'k-slot-cell': slotDivisions === 1 }" class="k-scheduler-cell
|
|
18208
|
+
<th [ngClass]="{ 'k-slot-cell': slotDivisions === 1 }" class="k-scheduler-cell">
|
|
18109
18209
|
@if (!majorTimeHeaderTemplateRef) {
|
|
18110
18210
|
{{ slot.start | kendoDate: 't' }}
|
|
18111
18211
|
}
|
|
@@ -18115,7 +18215,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
18115
18215
|
</th>
|
|
18116
18216
|
}
|
|
18117
18217
|
@if (!slot.isMajor) {
|
|
18118
|
-
<th [ngClass]="{ 'k-slot-cell': timeSlotIndex % slotDivisions === slotDivisions - 1 }" class="k-scheduler-cell
|
|
18218
|
+
<th [ngClass]="{ 'k-slot-cell': timeSlotIndex % slotDivisions === slotDivisions - 1 }" class="k-scheduler-cell">
|
|
18119
18219
|
@if (minorTimeHeaderTemplateRef) {
|
|
18120
18220
|
<ng-container [ngTemplateOutlet]="minorTimeHeaderTemplateRef" [ngTemplateOutletContext]="{ date: slot.start }">
|
|
18121
18221
|
</ng-container>
|
|
@@ -18863,7 +18963,9 @@ class WorkWeekViewComponent extends WeekViewComponent {
|
|
|
18863
18963
|
* @hidden
|
|
18864
18964
|
*/
|
|
18865
18965
|
getStartDate(selectedDate) {
|
|
18866
|
-
|
|
18966
|
+
const weekStartDate = firstDayInWeek(getDate(selectedDate), this.viewWeekStart);
|
|
18967
|
+
const workWeekOffset = (DAYS_IN_WEEK + this.viewWorkWeekStart - this.viewWeekStart) % DAYS_IN_WEEK;
|
|
18968
|
+
return getDate(addDays(weekStartDate, workWeekOffset));
|
|
18867
18969
|
}
|
|
18868
18970
|
/**
|
|
18869
18971
|
* @hidden
|
|
@@ -19068,7 +19170,6 @@ class TimelineMultiDayViewComponent extends DayTimeViewComponent {
|
|
|
19068
19170
|
get classNames() {
|
|
19069
19171
|
return `k-scheduler-${this.viewName}-view`;
|
|
19070
19172
|
}
|
|
19071
|
-
headerTable;
|
|
19072
19173
|
get contentWidthPercentage() {
|
|
19073
19174
|
const expectedWidth = this.columnWidth * this.slotsCount;
|
|
19074
19175
|
const percentage = (expectedWidth / this.contentWidth) * 100;
|
|
@@ -19148,6 +19249,11 @@ class TimelineMultiDayViewComponent extends DayTimeViewComponent {
|
|
|
19148
19249
|
handleScroll() {
|
|
19149
19250
|
this.headerWrap.nativeElement.scrollLeft = this.content.nativeElement.scrollLeft;
|
|
19150
19251
|
}
|
|
19252
|
+
syncTables() {
|
|
19253
|
+
super.syncTables();
|
|
19254
|
+
this.syncGroupHeaderHeight();
|
|
19255
|
+
this.syncDateHeaderHeight();
|
|
19256
|
+
}
|
|
19151
19257
|
createTasks(items, dateRange) {
|
|
19152
19258
|
return createTasks$1(dateRange.start, dateRange.end, items, this.hiddenDays || []);
|
|
19153
19259
|
}
|
|
@@ -19178,19 +19284,19 @@ class TimelineMultiDayViewComponent extends DayTimeViewComponent {
|
|
|
19178
19284
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TimelineMultiDayViewComponent, deps: [{ token: i1$1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: ViewContextService }, { token: ViewStateService }, { token: i4.IntlService }, { token: DayTimeSlotService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: PDFService }, { token: i7.ScrollbarService }], target: i0.ɵɵFactoryTarget.Component });
|
|
19179
19285
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: TimelineMultiDayViewComponent, isStandalone: true, selector: "timeline-multi-day-view", inputs: { hiddenDays: "hiddenDays", name: "name", columnWidth: "columnWidth", viewName: "viewName" }, providers: [
|
|
19180
19286
|
DayTimeSlotService
|
|
19181
|
-
], viewQueries: [{ propertyName: "
|
|
19287
|
+
], viewQueries: [{ propertyName: "verticalResourceRows", predicate: ["verticalResourceRows"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
|
|
19182
19288
|
<table class="k-scheduler-layout" [ngClass]="classNames">
|
|
19183
19289
|
<tbody>
|
|
19184
19290
|
<tr class="k-scheduler-head">
|
|
19185
19291
|
<td>
|
|
19186
19292
|
<div class="k-scheduler-times" #timesHeader>
|
|
19187
|
-
<table class="k-scheduler-table" aria-hidden="true">
|
|
19293
|
+
<table class="k-scheduler-table" #timesHeaderTable aria-hidden="true">
|
|
19188
19294
|
<tbody>
|
|
19189
|
-
<tr><th class="k-scheduler-cell
|
|
19190
|
-
<tr><th class="k-slot-cell k-scheduler-cell
|
|
19295
|
+
<tr><th class="k-scheduler-cell"></th></tr>
|
|
19296
|
+
<tr><th class="k-slot-cell k-scheduler-cell"></th></tr>
|
|
19191
19297
|
@for (resource of horizontalResources; track itemIndex($index, resource)) {
|
|
19192
19298
|
<tr>
|
|
19193
|
-
<th class="k-scheduler-cell
|
|
19299
|
+
<th class="k-scheduler-cell"></th>
|
|
19194
19300
|
</tr>
|
|
19195
19301
|
}
|
|
19196
19302
|
</tbody>
|
|
@@ -19213,7 +19319,7 @@ class TimelineMultiDayViewComponent extends DayTimeViewComponent {
|
|
|
19213
19319
|
<tr>
|
|
19214
19320
|
@for (item of horizontalResources | resourceIterator : resourceIndex; track itemIndex($index, item)) {
|
|
19215
19321
|
<th
|
|
19216
|
-
class="k-slot-cell k-scheduler-cell
|
|
19322
|
+
class="k-slot-cell k-scheduler-cell" [attr.colspan]="horizontalColspan(resourceIndex)">
|
|
19217
19323
|
@if (!groupHeaderTemplateRef) {
|
|
19218
19324
|
{{ getField(item, resource.textField) }}
|
|
19219
19325
|
}
|
|
@@ -19228,7 +19334,7 @@ class TimelineMultiDayViewComponent extends DayTimeViewComponent {
|
|
|
19228
19334
|
<tr class="k-scheduler-date-group">
|
|
19229
19335
|
@for (resource of horizontalResources | resourceIterator; track itemIndex($index, resource)) {
|
|
19230
19336
|
@for (daySlot of daySlots; track itemIndex(index, daySlot); let index = $index) {
|
|
19231
|
-
<th [attr.colspan]="timeSlots.length" class="k-scheduler-cell k-
|
|
19337
|
+
<th [attr.colspan]="timeSlots.length" class="k-scheduler-cell k-slot-cell">
|
|
19232
19338
|
@if (!dateHeaderTemplateRef) {
|
|
19233
19339
|
<span class="k-link k-nav-day" [attr.data-dayslot-index]="index">{{ daySlot.start | kendoDate: 'm'}}</span>
|
|
19234
19340
|
}
|
|
@@ -19244,7 +19350,7 @@ class TimelineMultiDayViewComponent extends DayTimeViewComponent {
|
|
|
19244
19350
|
@for (daySlot of daySlots; track itemIndex(rangeIndex, daySlot); let rangeIndex = $index) {
|
|
19245
19351
|
@for (timeSlot of timeSlots; track itemIndex(index, timeSlot); let index = $index) {
|
|
19246
19352
|
@if (timeSlot.isMajor) {
|
|
19247
|
-
<th [attr.colspan]="timeColspan(index)" class="k-scheduler-cell
|
|
19353
|
+
<th [attr.colspan]="timeColspan(index)" class="k-scheduler-cell">
|
|
19248
19354
|
@if (!majorTimeHeaderTemplateRef) {
|
|
19249
19355
|
{{ timeSlot.start | kendoDate: 't' }}
|
|
19250
19356
|
}
|
|
@@ -19256,7 +19362,7 @@ class TimelineMultiDayViewComponent extends DayTimeViewComponent {
|
|
|
19256
19362
|
@if (!timeSlot.isMajor && minorTimeHeaderTemplateRef) {
|
|
19257
19363
|
<th
|
|
19258
19364
|
[ngStyle]="{'border-left-color': 'transparent', 'border-right-color': 'transparent'}"
|
|
19259
|
-
class="k-scheduler-cell
|
|
19365
|
+
class="k-scheduler-cell"
|
|
19260
19366
|
>
|
|
19261
19367
|
<ng-container [ngTemplateOutlet]="minorTimeHeaderTemplateRef" [ngTemplateOutletContext]="{ date: timeSlot.start }">
|
|
19262
19368
|
</ng-container>
|
|
@@ -19279,7 +19385,7 @@ class TimelineMultiDayViewComponent extends DayTimeViewComponent {
|
|
|
19279
19385
|
<tbody>
|
|
19280
19386
|
@if (!verticalResources.length) {
|
|
19281
19387
|
<tr>
|
|
19282
|
-
<th rowspan="1" #titleCell class="k-scheduler-cell
|
|
19388
|
+
<th rowspan="1" #titleCell class="k-scheduler-cell">
|
|
19283
19389
|
{{ allEventsMessage }}
|
|
19284
19390
|
</th>
|
|
19285
19391
|
</tr>
|
|
@@ -19289,7 +19395,7 @@ class TimelineMultiDayViewComponent extends DayTimeViewComponent {
|
|
|
19289
19395
|
<tr #verticalResourceRows>
|
|
19290
19396
|
@for (resource of verticalResources; track itemIndex(resourceIndex, resource); let resourceIndex = $index) {
|
|
19291
19397
|
@if (verticalItem(leafIndex, resourceIndex)) {
|
|
19292
|
-
<th [attr.rowspan]="verticalRowspan(resourceIndex)" class="k-slot-cell k-scheduler-cell
|
|
19398
|
+
<th [attr.rowspan]="verticalRowspan(resourceIndex)" class="k-slot-cell k-scheduler-cell">
|
|
19293
19399
|
<div>
|
|
19294
19400
|
@if (!groupHeaderTemplateRef) {
|
|
19295
19401
|
{{ getField(verticalItem(leafIndex, resourceIndex), resource.textField) }}
|
|
@@ -19427,13 +19533,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
19427
19533
|
<tr class="k-scheduler-head">
|
|
19428
19534
|
<td>
|
|
19429
19535
|
<div class="k-scheduler-times" #timesHeader>
|
|
19430
|
-
<table class="k-scheduler-table" aria-hidden="true">
|
|
19536
|
+
<table class="k-scheduler-table" #timesHeaderTable aria-hidden="true">
|
|
19431
19537
|
<tbody>
|
|
19432
|
-
<tr><th class="k-scheduler-cell
|
|
19433
|
-
<tr><th class="k-slot-cell k-scheduler-cell
|
|
19538
|
+
<tr><th class="k-scheduler-cell"></th></tr>
|
|
19539
|
+
<tr><th class="k-slot-cell k-scheduler-cell"></th></tr>
|
|
19434
19540
|
@for (resource of horizontalResources; track itemIndex($index, resource)) {
|
|
19435
19541
|
<tr>
|
|
19436
|
-
<th class="k-scheduler-cell
|
|
19542
|
+
<th class="k-scheduler-cell"></th>
|
|
19437
19543
|
</tr>
|
|
19438
19544
|
}
|
|
19439
19545
|
</tbody>
|
|
@@ -19456,7 +19562,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
19456
19562
|
<tr>
|
|
19457
19563
|
@for (item of horizontalResources | resourceIterator : resourceIndex; track itemIndex($index, item)) {
|
|
19458
19564
|
<th
|
|
19459
|
-
class="k-slot-cell k-scheduler-cell
|
|
19565
|
+
class="k-slot-cell k-scheduler-cell" [attr.colspan]="horizontalColspan(resourceIndex)">
|
|
19460
19566
|
@if (!groupHeaderTemplateRef) {
|
|
19461
19567
|
{{ getField(item, resource.textField) }}
|
|
19462
19568
|
}
|
|
@@ -19471,7 +19577,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
19471
19577
|
<tr class="k-scheduler-date-group">
|
|
19472
19578
|
@for (resource of horizontalResources | resourceIterator; track itemIndex($index, resource)) {
|
|
19473
19579
|
@for (daySlot of daySlots; track itemIndex(index, daySlot); let index = $index) {
|
|
19474
|
-
<th [attr.colspan]="timeSlots.length" class="k-scheduler-cell k-
|
|
19580
|
+
<th [attr.colspan]="timeSlots.length" class="k-scheduler-cell k-slot-cell">
|
|
19475
19581
|
@if (!dateHeaderTemplateRef) {
|
|
19476
19582
|
<span class="k-link k-nav-day" [attr.data-dayslot-index]="index">{{ daySlot.start | kendoDate: 'm'}}</span>
|
|
19477
19583
|
}
|
|
@@ -19487,7 +19593,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
19487
19593
|
@for (daySlot of daySlots; track itemIndex(rangeIndex, daySlot); let rangeIndex = $index) {
|
|
19488
19594
|
@for (timeSlot of timeSlots; track itemIndex(index, timeSlot); let index = $index) {
|
|
19489
19595
|
@if (timeSlot.isMajor) {
|
|
19490
|
-
<th [attr.colspan]="timeColspan(index)" class="k-scheduler-cell
|
|
19596
|
+
<th [attr.colspan]="timeColspan(index)" class="k-scheduler-cell">
|
|
19491
19597
|
@if (!majorTimeHeaderTemplateRef) {
|
|
19492
19598
|
{{ timeSlot.start | kendoDate: 't' }}
|
|
19493
19599
|
}
|
|
@@ -19499,7 +19605,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
19499
19605
|
@if (!timeSlot.isMajor && minorTimeHeaderTemplateRef) {
|
|
19500
19606
|
<th
|
|
19501
19607
|
[ngStyle]="{'border-left-color': 'transparent', 'border-right-color': 'transparent'}"
|
|
19502
|
-
class="k-scheduler-cell
|
|
19608
|
+
class="k-scheduler-cell"
|
|
19503
19609
|
>
|
|
19504
19610
|
<ng-container [ngTemplateOutlet]="minorTimeHeaderTemplateRef" [ngTemplateOutletContext]="{ date: timeSlot.start }">
|
|
19505
19611
|
</ng-container>
|
|
@@ -19522,7 +19628,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
19522
19628
|
<tbody>
|
|
19523
19629
|
@if (!verticalResources.length) {
|
|
19524
19630
|
<tr>
|
|
19525
|
-
<th rowspan="1" #titleCell class="k-scheduler-cell
|
|
19631
|
+
<th rowspan="1" #titleCell class="k-scheduler-cell">
|
|
19526
19632
|
{{ allEventsMessage }}
|
|
19527
19633
|
</th>
|
|
19528
19634
|
</tr>
|
|
@@ -19532,7 +19638,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
19532
19638
|
<tr #verticalResourceRows>
|
|
19533
19639
|
@for (resource of verticalResources; track itemIndex(resourceIndex, resource); let resourceIndex = $index) {
|
|
19534
19640
|
@if (verticalItem(leafIndex, resourceIndex)) {
|
|
19535
|
-
<th [attr.rowspan]="verticalRowspan(resourceIndex)" class="k-slot-cell k-scheduler-cell
|
|
19641
|
+
<th [attr.rowspan]="verticalRowspan(resourceIndex)" class="k-slot-cell k-scheduler-cell">
|
|
19536
19642
|
<div>
|
|
19537
19643
|
@if (!groupHeaderTemplateRef) {
|
|
19538
19644
|
{{ getField(verticalItem(leafIndex, resourceIndex), resource.textField) }}
|
|
@@ -19670,9 +19776,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
19670
19776
|
}], verticalResourceRows: [{
|
|
19671
19777
|
type: ViewChildren,
|
|
19672
19778
|
args: ['verticalResourceRows']
|
|
19673
|
-
}], headerTable: [{
|
|
19674
|
-
type: ViewChild,
|
|
19675
|
-
args: ['headerTable']
|
|
19676
19779
|
}] } });
|
|
19677
19780
|
|
|
19678
19781
|
/**
|
|
@@ -20279,16 +20382,16 @@ class YearViewInternalComponent extends BaseView {
|
|
|
20279
20382
|
tooltip;
|
|
20280
20383
|
get arrowIcons() {
|
|
20281
20384
|
return !this.localization.rtl
|
|
20282
|
-
? ['
|
|
20283
|
-
: ['
|
|
20385
|
+
? ['chevron-left', 'chevron-right']
|
|
20386
|
+
: ['chevron-right', 'chevron-left'];
|
|
20284
20387
|
}
|
|
20285
20388
|
get arrowSVGIcons() {
|
|
20286
20389
|
return !this.localization.rtl
|
|
20287
|
-
? [this.
|
|
20288
|
-
: [this.
|
|
20390
|
+
? [this.chevronLeftIcon, this.chevronRightIcon]
|
|
20391
|
+
: [this.chevronRightIcon, this.chevronLeftIcon];
|
|
20289
20392
|
}
|
|
20290
|
-
|
|
20291
|
-
|
|
20393
|
+
chevronLeftIcon = chevronLeftIcon;
|
|
20394
|
+
chevronRightIcon = chevronRightIcon;
|
|
20292
20395
|
eventsPerSelectedDay = [];
|
|
20293
20396
|
days = [];
|
|
20294
20397
|
focusedDate;
|
|
@@ -20593,7 +20696,7 @@ class YearViewInternalComponent extends BaseView {
|
|
|
20593
20696
|
</div>
|
|
20594
20697
|
}
|
|
20595
20698
|
</ng-template>
|
|
20596
|
-
`, isInline: true, dependencies: [{ kind: "component", type: MultiViewCalendarComponent, selector: "kendo-multiviewcalendar", inputs: ["showOtherMonthDays", "showCalendarHeader", "size", "id", "focusedDate", "footer", "min", "max", "rangeValidation", "disabledDatesRangeValidation", "selection", "allowReverse", "value", "disabled", "tabindex", "tabIndex", "weekDaysFormat", "isActive", "disabledDates", "activeView", "bottomView", "topView", "showViewHeader", "animateNavigation", "weekNumber", "activeRangeEnd", "selectionRange", "views", "orientation", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "footerTemplate", "headerTitleTemplate", "headerTemplate"], outputs: ["activeViewChange", "navigate", "cellEnter", "cellLeave", "valueChange", "rangeSelectionChange", "blur", "focus", "focusCalendar", "onClosePopup", "onTabPress", "onShiftTabPress"], exportAs: ["kendo-multiviewcalendar"] }, { kind: "directive", type: TooltipDirective, selector: "[kendoTooltip]", inputs: ["filter", "position", "titleTemplate", "showOn", "showAfter", "callout", "closable", "offset", "tooltipWidth", "tooltipHeight", "tooltipClass", "tooltipContentClass", "collision", "closeTitle", "tooltipTemplate"], exportAs: ["kendoTooltip"] }, { kind: "directive", type: MonthCellTemplateDirective, selector: "[kendoCalendarMonthCellTemplate]" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }] });
|
|
20699
|
+
`, isInline: true, dependencies: [{ kind: "component", type: MultiViewCalendarComponent, selector: "kendo-multiviewcalendar", inputs: ["showOtherMonthDays", "showCalendarHeader", "size", "id", "focusedDate", "footer", "min", "max", "rangeValidation", "disabledDatesRangeValidation", "selection", "allowReverse", "value", "disabled", "tabindex", "tabIndex", "weekDaysFormat", "isActive", "disabledDates", "activeView", "bottomView", "topView", "showViewHeader", "animateNavigation", "weekNumber", "activeRangeEnd", "selectionRange", "views", "orientation", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "footerTemplate", "headerTitleTemplate", "headerTemplate"], outputs: ["activeViewChange", "navigate", "cellEnter", "cellLeave", "valueChange", "rangeSelectionChange", "blur", "focus", "focusCalendar", "onClosePopup", "onTabPress", "onShiftTabPress"], exportAs: ["kendo-multiviewcalendar"] }, { kind: "directive", type: TooltipDirective, selector: "[kendoTooltip]", inputs: ["filter", "position", "titleTemplate", "showOn", "showAfter", "callout", "closable", "offset", "tooltipWidth", "tooltipHeight", "tooltipClass", "themeColor", "tooltipContentClass", "collision", "closeTitle", "tooltipTemplate"], exportAs: ["kendoTooltip"] }, { kind: "directive", type: MonthCellTemplateDirective, selector: "[kendoCalendarMonthCellTemplate]" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }] });
|
|
20597
20700
|
}
|
|
20598
20701
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: YearViewInternalComponent, decorators: [{
|
|
20599
20702
|
type: Component,
|
|
@@ -21565,7 +21668,7 @@ class ShortcutsDirective {
|
|
|
21565
21668
|
}
|
|
21566
21669
|
isInToolbarTemplate(element) {
|
|
21567
21670
|
const isInToolbar = element.closest('.k-scheduler-toolbar');
|
|
21568
|
-
const isInBuiltInElement = element.closest('
|
|
21671
|
+
const isInBuiltInElement = element.closest('[kendoschedulertoolbarnavigation]') ||
|
|
21569
21672
|
element.closest('.k-scheduler-views') ||
|
|
21570
21673
|
element.closest('.k-views-dropdown');
|
|
21571
21674
|
return isInToolbar && !isInBuiltInElement;
|