@progress/kendo-angular-scheduler 21.1.1-develop.2 → 21.2.0-develop.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/editing/date-time-picker.component.mjs +59 -56
- package/esm2022/editing/edit-dialog.component.mjs +373 -359
- package/esm2022/editing/recurrence/recurrence-editor.component.mjs +262 -253
- package/esm2022/editing/recurrence/recurrence-frequency-editor.component.mjs +44 -41
- package/esm2022/editing/recurrence/recurrence-monthly-yearly-editor.component.mjs +190 -193
- package/esm2022/editing/recurrence/recurrence-weekday-rule-editor.component.mjs +44 -43
- package/esm2022/editing/resource-multiple-editor.component.mjs +49 -41
- package/esm2022/editing/resource-single-editor.component.mjs +35 -31
- package/esm2022/editing/timezone-editor.component.mjs +20 -17
- package/esm2022/package-metadata.mjs +2 -2
- package/esm2022/pdf/pdf-command.directive.mjs +27 -17
- package/esm2022/scheduler.component.mjs +631 -625
- package/esm2022/toolbar/toolbar.component.mjs +37 -37
- package/esm2022/toolbar/view-selector.component.mjs +42 -33
- package/esm2022/views/agenda/agenda-header-item.component.mjs +23 -19
- package/esm2022/views/agenda/agenda-header.component.mjs +28 -26
- package/esm2022/views/agenda/agenda-task-item.component.mjs +49 -29
- package/esm2022/views/agenda/agenda-view-list.component.mjs +117 -95
- package/esm2022/views/common/resize-hint.component.mjs +16 -9
- package/esm2022/views/common/view-footer.component.mjs +27 -25
- package/esm2022/views/day-time/day-time-view-item.component.mjs +125 -85
- package/esm2022/views/month/month-slot.component.mjs +39 -29
- package/esm2022/views/month/month-view-item.component.mjs +81 -61
- package/esm2022/views/month/month-view-renderer.component.mjs +349 -281
- package/esm2022/views/multi-day/day-view.component.mjs +72 -69
- package/esm2022/views/multi-day/multi-day-view-renderer.component.mjs +665 -515
- package/esm2022/views/multi-day/multi-day-view.component.mjs +76 -73
- package/esm2022/views/multi-day/week-view.component.mjs +78 -75
- package/esm2022/views/multi-day/work-week-view.component.mjs +80 -77
- package/esm2022/views/timeline/timeline-month-view.component.mjs +74 -71
- package/esm2022/views/timeline/timeline-multi-day-view.component.mjs +449 -359
- package/esm2022/views/timeline/timeline-view.component.mjs +68 -65
- package/esm2022/views/timeline/timeline-week-view.component.mjs +74 -71
- package/esm2022/views/year/year-view-internal.component.mjs +151 -131
- package/fesm2022/progress-kendo-angular-scheduler.mjs +4448 -3889
- package/package.json +15 -15
- package/schematics/ngAdd/index.js +3 -3
|
@@ -19,7 +19,7 @@ import { BaseView } from '../common/base-view';
|
|
|
19
19
|
import { createTasks, noop, yearEnd, yearStart } from './utils';
|
|
20
20
|
import { MonthSlotService } from '../month/month-slot.service';
|
|
21
21
|
import { IconWrapperComponent } from '@progress/kendo-angular-icons';
|
|
22
|
-
import {
|
|
22
|
+
import { NgClass, NgStyle } from '@angular/common';
|
|
23
23
|
import { take } from 'rxjs/operators';
|
|
24
24
|
import * as i0 from "@angular/core";
|
|
25
25
|
import * as i1 from "@progress/kendo-angular-l10n";
|
|
@@ -285,78 +285,88 @@ export class YearViewInternalComponent extends BaseView {
|
|
|
285
285
|
return [];
|
|
286
286
|
}
|
|
287
287
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: YearViewInternalComponent, deps: [{ token: i1.LocalizationService }, { token: i2.FocusService }, { token: i3.IntlService }, { token: i4.ViewContextService }, { token: i5.ViewStateService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i6.PDFService }, { token: i0.ElementRef }, { token: i7.MonthSlotService }, { token: i8.ScrollbarWidthService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
288
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
288
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: YearViewInternalComponent, isStandalone: true, selector: "year-view-internal", inputs: { newRange: "newRange", dateRangeFn: "dateRangeFn" }, providers: [MonthSlotService], viewQueries: [{ propertyName: "calendar", first: true, predicate: MultiViewCalendarComponent, descendants: true }, { propertyName: "tooltip", first: true, predicate: TooltipDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: `
|
|
289
289
|
<div #content class="k-scheduler-layout k-scheduler-layout-flex k-scheduler-yearview">
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
290
|
+
<div class="k-scheduler-body">
|
|
291
|
+
<kendo-multiviewcalendar
|
|
292
|
+
[showOtherMonthDays]="false"
|
|
293
|
+
[showCalendarHeader]="false"
|
|
294
|
+
[showViewHeader]="true"
|
|
295
|
+
[views]="12"
|
|
296
|
+
[focusedDate]="focusedDate"
|
|
297
|
+
kendoTooltip
|
|
298
|
+
filter=".k-calendar-td"
|
|
299
|
+
showOn="none"
|
|
300
|
+
[tooltipTemplate]="template"
|
|
301
|
+
position="right"
|
|
302
|
+
tooltipContentClass="k-scheduler-tooltip"
|
|
303
|
+
[tooltipWidth]="220"
|
|
304
|
+
[collision]="{ horizontal: 'flip', vertical: 'flip' }"
|
|
305
|
+
(valueChange)="onValueChange($event)"
|
|
306
|
+
(blur)="onBlur()"
|
|
307
|
+
>
|
|
308
|
+
<ng-template kendoCalendarMonthCellTemplate let-date let-context="cellContext">
|
|
309
|
+
@if (!context.isOtherMonth) {
|
|
310
|
+
<span [attr.date]="date">{{ date.getDate() }}</span>
|
|
311
|
+
}
|
|
312
|
+
@if (!context.isOtherMonth && hasEvent(date)) {
|
|
313
|
+
<span class="k-day-indicator"></span>
|
|
314
|
+
}
|
|
315
|
+
</ng-template>
|
|
316
|
+
</kendo-multiviewcalendar>
|
|
317
|
+
</div>
|
|
314
318
|
</div>
|
|
315
319
|
<ng-template #template let-anchor>
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
+
<div
|
|
321
|
+
class="k-tooltip-title k-text-center"
|
|
322
|
+
(click)="navigateToDay(getDate(anchor))"
|
|
323
|
+
(mousedown)="onMouseDown()"
|
|
320
324
|
>
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
325
|
+
<div class="k-month">{{ intl.formatDate(getDate(anchor), 'MMM') }}</div>
|
|
326
|
+
<div class="k-link k-day k-text-primary">{{ intl.formatDate(getDate(anchor), 'dd') }}</div>
|
|
327
|
+
</div>
|
|
328
|
+
<div class="k-tooltip-events-container" (mousedown)="onMouseDown()">
|
|
329
|
+
<div class="k-tooltip-events">
|
|
330
|
+
@for (event of eventsPerSelectedDay; track event) {
|
|
331
|
+
<div
|
|
332
|
+
class="k-tooltip-event k-event"
|
|
333
|
+
[title]="eventTitle(event)"
|
|
334
|
+
[ngClass]="getEventClasses(event, event.resources)"
|
|
335
|
+
[ngStyle]="getEventStyles(event, event.resources[0], event.isAllDay)"
|
|
336
|
+
>
|
|
337
|
+
@if (event.tail || event.mid) {
|
|
338
|
+
<kendo-icon-wrapper
|
|
339
|
+
[name]="arrowIcons[0]"
|
|
340
|
+
[svgIcon]="arrowSVGIcons[0]"
|
|
341
|
+
>
|
|
342
|
+
</kendo-icon-wrapper>
|
|
343
|
+
}
|
|
344
|
+
<div class="k-event-title k-text-ellipsis">{{ event.event.title }}</div>
|
|
345
|
+
<span class="k-spacer"></span>
|
|
346
|
+
@if ((event.isMultiDay && event.head && !event.isAllDay) || !event.isMultiDay) {
|
|
347
|
+
<span
|
|
348
|
+
class="k-event-time"
|
|
349
|
+
>{{ intl.formatDate(event.start, 't') }}</span
|
|
350
|
+
>
|
|
351
|
+
}
|
|
352
|
+
@if (event.head || event.mid) {
|
|
353
|
+
<kendo-icon-wrapper
|
|
354
|
+
[name]="arrowIcons[1]"
|
|
355
|
+
[svgIcon]="arrowSVGIcons[1]"
|
|
350
356
|
>
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
357
|
+
</kendo-icon-wrapper>
|
|
358
|
+
}
|
|
359
|
+
</div>
|
|
360
|
+
}
|
|
361
|
+
</div>
|
|
354
362
|
</div>
|
|
355
|
-
|
|
363
|
+
@if (eventsPerSelectedDay.length === 0) {
|
|
364
|
+
<div class="k-no-data k-text-center">
|
|
356
365
|
{{ localization.get('yearViewNoEvents') }}
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
366
|
+
</div>
|
|
367
|
+
}
|
|
368
|
+
</ng-template>
|
|
369
|
+
`, 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"] }] });
|
|
360
370
|
}
|
|
361
371
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: YearViewInternalComponent, decorators: [{
|
|
362
372
|
type: Component,
|
|
@@ -365,78 +375,88 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
365
375
|
providers: [MonthSlotService],
|
|
366
376
|
template: `
|
|
367
377
|
<div #content class="k-scheduler-layout k-scheduler-layout-flex k-scheduler-yearview">
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
378
|
+
<div class="k-scheduler-body">
|
|
379
|
+
<kendo-multiviewcalendar
|
|
380
|
+
[showOtherMonthDays]="false"
|
|
381
|
+
[showCalendarHeader]="false"
|
|
382
|
+
[showViewHeader]="true"
|
|
383
|
+
[views]="12"
|
|
384
|
+
[focusedDate]="focusedDate"
|
|
385
|
+
kendoTooltip
|
|
386
|
+
filter=".k-calendar-td"
|
|
387
|
+
showOn="none"
|
|
388
|
+
[tooltipTemplate]="template"
|
|
389
|
+
position="right"
|
|
390
|
+
tooltipContentClass="k-scheduler-tooltip"
|
|
391
|
+
[tooltipWidth]="220"
|
|
392
|
+
[collision]="{ horizontal: 'flip', vertical: 'flip' }"
|
|
393
|
+
(valueChange)="onValueChange($event)"
|
|
394
|
+
(blur)="onBlur()"
|
|
395
|
+
>
|
|
396
|
+
<ng-template kendoCalendarMonthCellTemplate let-date let-context="cellContext">
|
|
397
|
+
@if (!context.isOtherMonth) {
|
|
398
|
+
<span [attr.date]="date">{{ date.getDate() }}</span>
|
|
399
|
+
}
|
|
400
|
+
@if (!context.isOtherMonth && hasEvent(date)) {
|
|
401
|
+
<span class="k-day-indicator"></span>
|
|
402
|
+
}
|
|
403
|
+
</ng-template>
|
|
404
|
+
</kendo-multiviewcalendar>
|
|
405
|
+
</div>
|
|
392
406
|
</div>
|
|
393
407
|
<ng-template #template let-anchor>
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
408
|
+
<div
|
|
409
|
+
class="k-tooltip-title k-text-center"
|
|
410
|
+
(click)="navigateToDay(getDate(anchor))"
|
|
411
|
+
(mousedown)="onMouseDown()"
|
|
398
412
|
>
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
413
|
+
<div class="k-month">{{ intl.formatDate(getDate(anchor), 'MMM') }}</div>
|
|
414
|
+
<div class="k-link k-day k-text-primary">{{ intl.formatDate(getDate(anchor), 'dd') }}</div>
|
|
415
|
+
</div>
|
|
416
|
+
<div class="k-tooltip-events-container" (mousedown)="onMouseDown()">
|
|
417
|
+
<div class="k-tooltip-events">
|
|
418
|
+
@for (event of eventsPerSelectedDay; track event) {
|
|
419
|
+
<div
|
|
420
|
+
class="k-tooltip-event k-event"
|
|
421
|
+
[title]="eventTitle(event)"
|
|
422
|
+
[ngClass]="getEventClasses(event, event.resources)"
|
|
423
|
+
[ngStyle]="getEventStyles(event, event.resources[0], event.isAllDay)"
|
|
424
|
+
>
|
|
425
|
+
@if (event.tail || event.mid) {
|
|
426
|
+
<kendo-icon-wrapper
|
|
427
|
+
[name]="arrowIcons[0]"
|
|
428
|
+
[svgIcon]="arrowSVGIcons[0]"
|
|
429
|
+
>
|
|
430
|
+
</kendo-icon-wrapper>
|
|
431
|
+
}
|
|
432
|
+
<div class="k-event-title k-text-ellipsis">{{ event.event.title }}</div>
|
|
433
|
+
<span class="k-spacer"></span>
|
|
434
|
+
@if ((event.isMultiDay && event.head && !event.isAllDay) || !event.isMultiDay) {
|
|
435
|
+
<span
|
|
436
|
+
class="k-event-time"
|
|
437
|
+
>{{ intl.formatDate(event.start, 't') }}</span
|
|
438
|
+
>
|
|
439
|
+
}
|
|
440
|
+
@if (event.head || event.mid) {
|
|
441
|
+
<kendo-icon-wrapper
|
|
442
|
+
[name]="arrowIcons[1]"
|
|
443
|
+
[svgIcon]="arrowSVGIcons[1]"
|
|
428
444
|
>
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
445
|
+
</kendo-icon-wrapper>
|
|
446
|
+
}
|
|
447
|
+
</div>
|
|
448
|
+
}
|
|
449
|
+
</div>
|
|
432
450
|
</div>
|
|
433
|
-
|
|
451
|
+
@if (eventsPerSelectedDay.length === 0) {
|
|
452
|
+
<div class="k-no-data k-text-center">
|
|
434
453
|
{{ localization.get('yearViewNoEvents') }}
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
454
|
+
</div>
|
|
455
|
+
}
|
|
456
|
+
</ng-template>
|
|
457
|
+
`,
|
|
438
458
|
standalone: true,
|
|
439
|
-
imports: [MultiViewCalendarComponent, TooltipDirective, MonthCellTemplateDirective,
|
|
459
|
+
imports: [MultiViewCalendarComponent, TooltipDirective, MonthCellTemplateDirective, NgClass, NgStyle, IconWrapperComponent]
|
|
440
460
|
}]
|
|
441
461
|
}], ctorParameters: () => [{ type: i1.LocalizationService }, { type: i2.FocusService }, { type: i3.IntlService }, { type: i4.ViewContextService }, { type: i5.ViewStateService }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i6.PDFService }, { type: i0.ElementRef }, { type: i7.MonthSlotService }, { type: i8.ScrollbarWidthService }, { type: i0.ChangeDetectorRef }], propDecorators: { newRange: [{
|
|
442
462
|
type: Input
|