UNPKG

@progress/kendo-angular-scheduler

Version:

Kendo UI Scheduler Angular - Outlook or Google-style angular scheduler calendar. Full-featured and customizable embedded scheduling from the creator developers trust for professional UI components.

177 lines (166 loc) 9.19 kB
/**----------------------------------------------------------------------------------------- * Copyright © 2025 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the project root for more information *-------------------------------------------------------------------------------------------*/ import { Component, ElementRef, Input, Renderer2 } from '@angular/core'; import { IntlService } from '@progress/kendo-angular-intl'; import { LocalizationService } from '@progress/kendo-angular-l10n'; import { toLocalDate } from '@progress/kendo-date-math'; import { arrowRotateCwIcon, arrowsNoRepeatIcon, caretAltDownIcon, caretAltLeftIcon, caretAltRightIcon, caretAltUpIcon, xIcon } from '@progress/kendo-svg-icons'; import { FocusService } from '../../navigation'; import { DayTimeSlotService } from '../day-time/day-time-slot.service'; import { BaseViewItem } from '../view-items/base-view-item'; import { IconWrapperComponent } from '@progress/kendo-angular-icons'; import { NgIf, NgTemplateOutlet } from '@angular/common'; import * as i0 from "@angular/core"; import * as i1 from "../day-time/day-time-slot.service"; import * as i2 from "@progress/kendo-angular-l10n"; import * as i3 from "../../navigation"; import * as i4 from "@progress/kendo-angular-intl"; /** * @hidden */ export class DayTimeViewItemComponent extends BaseViewItem { intlService; caretAltLeftIcon = caretAltLeftIcon; caretAltRightIcon = caretAltRightIcon; caretAltUpIcon = caretAltUpIcon; caretAltDownIcon = caretAltDownIcon; arrowRotateCwIcon = arrowRotateCwIcon; arrowsNoRepeatIcon = arrowsNoRepeatIcon; xIcon = xIcon; vertical; isAllDay; name; get eventTime() { return this.intlService.format('{0:t}–{1:t}', toLocalDate(this.item.startTime), toLocalDate(this.item.endTime)); } constructor(slotService, localization, focusService, element, renderer, intlService) { super(slotService, localization, focusService, element, renderer, intlService); this.intlService = intlService; } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DayTimeViewItemComponent, deps: [{ token: i1.DayTimeSlotService }, { token: i2.LocalizationService }, { token: i3.FocusService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i4.IntlService }], target: i0.ɵɵFactoryTarget.Component }); static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DayTimeViewItemComponent, isStandalone: true, selector: "[dayTimeViewItem]", inputs: { vertical: "vertical", isAllDay: "isAllDay", name: "name" }, usesInheritance: true, ngImport: i0, template: ` <span class="k-event-actions"> <kendo-icon-wrapper *ngIf="item.tail && !vertical" [name]="arrowIcons[0]" [svgIcon]="arrowSVGIcons[0]" > </kendo-icon-wrapper> <kendo-icon-wrapper *ngIf="isRecurrence" name="arrow-rotate-cw" [svgIcon]="arrowRotateCwIcon" > </kendo-icon-wrapper> <kendo-icon-wrapper *ngIf="isRecurrenceException" name="arrows-no-repeat" [svgIcon]="arrowsNoRepeatIcon" > </kendo-icon-wrapper> </span> <ng-container *ngIf="eventTemplate" [ngTemplateOutlet]="eventTemplate" [ngTemplateOutletContext]="{ $implicit: item.event, event: item.event, resources: resources }"> </ng-container> <div *ngIf="!eventTemplate" [attr.title]="eventTitle"> <div class="k-event-template k-event-time" *ngIf="!isAllDay">{{ eventTime }}</div> <div class="k-event-template" aria-hidden="true">{{ item.event.title }}</div> </div> <span class="k-event-actions"> <span *ngIf="removable" class="k-link k-event-delete" aria-hidden="true" [attr.title]="deleteMessage"> <kendo-icon-wrapper name="x" [svgIcon]="xIcon"></kendo-icon-wrapper> </span> <kendo-icon-wrapper *ngIf="item.head && !vertical" [name]="arrowIcons[1]" [svgIcon]="arrowSVGIcons[1]" > </kendo-icon-wrapper> </span> <span class="k-event-top-actions" *ngIf="item.tail && vertical"> <kendo-icon-wrapper name="caret-alt-up" [svgIcon]="caretAltUpIcon"></kendo-icon-wrapper> </span> <span class="k-event-bottom-actions" *ngIf="item.head && vertical"> <kendo-icon-wrapper name="caret-alt-down" [svgIcon]="caretAltDownIcon"></kendo-icon-wrapper> </span> <ng-container *ngIf="resizable && vertical"> <span class="k-resize-handle k-resize-n" *ngIf="!item.tail"></span> <span class="k-resize-handle k-resize-s" *ngIf="!item.head"></span> </ng-container> <ng-container *ngIf="resizable && !vertical && !(isAllDay && name === 'day')"> <span class="k-resize-handle k-resize-w"></span> <span class="k-resize-handle k-resize-e"></span> </ng-container> `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DayTimeViewItemComponent, decorators: [{ type: Component, args: [{ // eslint-disable-next-line @angular-eslint/component-selector selector: '[dayTimeViewItem]', template: ` <span class="k-event-actions"> <kendo-icon-wrapper *ngIf="item.tail && !vertical" [name]="arrowIcons[0]" [svgIcon]="arrowSVGIcons[0]" > </kendo-icon-wrapper> <kendo-icon-wrapper *ngIf="isRecurrence" name="arrow-rotate-cw" [svgIcon]="arrowRotateCwIcon" > </kendo-icon-wrapper> <kendo-icon-wrapper *ngIf="isRecurrenceException" name="arrows-no-repeat" [svgIcon]="arrowsNoRepeatIcon" > </kendo-icon-wrapper> </span> <ng-container *ngIf="eventTemplate" [ngTemplateOutlet]="eventTemplate" [ngTemplateOutletContext]="{ $implicit: item.event, event: item.event, resources: resources }"> </ng-container> <div *ngIf="!eventTemplate" [attr.title]="eventTitle"> <div class="k-event-template k-event-time" *ngIf="!isAllDay">{{ eventTime }}</div> <div class="k-event-template" aria-hidden="true">{{ item.event.title }}</div> </div> <span class="k-event-actions"> <span *ngIf="removable" class="k-link k-event-delete" aria-hidden="true" [attr.title]="deleteMessage"> <kendo-icon-wrapper name="x" [svgIcon]="xIcon"></kendo-icon-wrapper> </span> <kendo-icon-wrapper *ngIf="item.head && !vertical" [name]="arrowIcons[1]" [svgIcon]="arrowSVGIcons[1]" > </kendo-icon-wrapper> </span> <span class="k-event-top-actions" *ngIf="item.tail && vertical"> <kendo-icon-wrapper name="caret-alt-up" [svgIcon]="caretAltUpIcon"></kendo-icon-wrapper> </span> <span class="k-event-bottom-actions" *ngIf="item.head && vertical"> <kendo-icon-wrapper name="caret-alt-down" [svgIcon]="caretAltDownIcon"></kendo-icon-wrapper> </span> <ng-container *ngIf="resizable && vertical"> <span class="k-resize-handle k-resize-n" *ngIf="!item.tail"></span> <span class="k-resize-handle k-resize-s" *ngIf="!item.head"></span> </ng-container> <ng-container *ngIf="resizable && !vertical && !(isAllDay && name === 'day')"> <span class="k-resize-handle k-resize-w"></span> <span class="k-resize-handle k-resize-e"></span> </ng-container> `, standalone: true, imports: [NgIf, IconWrapperComponent, NgTemplateOutlet] }] }], ctorParameters: function () { return [{ type: i1.DayTimeSlotService }, { type: i2.LocalizationService }, { type: i3.FocusService }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i4.IntlService }]; }, propDecorators: { vertical: [{ type: Input }], isAllDay: [{ type: Input }], name: [{ type: Input }] } });