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.

82 lines (81 loc) 4.6 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, Input, HostBinding, ChangeDetectionStrategy, TemplateRef } from '@angular/core'; import { toLocalDate } from '@progress/kendo-date-math'; import { DatePipe } from '@progress/kendo-angular-intl'; import { NgIf, NgTemplateOutlet } from '@angular/common'; import * as i0 from "@angular/core"; /** * @hidden */ export class AgendaHeaderItemComponent { classes = true; get firstClass() { return this.hasFirstClass; } roleAttribute = "rowheader"; get rowSpan() { return this.item.rowSpan; } item; agendaDateTemplate; hasFirstClass = true; get itemDate() { return toLocalDate(this.item.dataItem.value); } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AgendaHeaderItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AgendaHeaderItemComponent, isStandalone: true, selector: "[kendoSchedulerAgendaHeaderItem]", inputs: { item: ["kendoSchedulerAgendaHeaderItem", "item"], agendaDateTemplate: "agendaDateTemplate", hasFirstClass: "hasFirstClass" }, host: { properties: { "class.k-scheduler-datecolumn": "this.classes", "class.k-scheduler-cell": "this.classes", "class.k-first": "this.firstClass", "attr.role": "this.roleAttribute", "attr.rowspan": "this.rowSpan" } }, ngImport: i0, template: ` <ng-container *ngIf="!agendaDateTemplate"> <strong class="k-scheduler-agendaday">{{itemDate | kendoDate: 'dd'}}</strong> <em class="k-scheduler-agendaweek">{{itemDate | kendoDate: 'EEEE'}}</em> <span class="k-scheduler-agendadate">{{itemDate | kendoDate: 'y'}}</span> </ng-container> <ng-container *ngIf="agendaDateTemplate" [ngTemplateOutlet]="agendaDateTemplate" [ngTemplateOutletContext]="{ date: itemDate }"> </ng-container> `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: DatePipe, name: "kendoDate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AgendaHeaderItemComponent, decorators: [{ type: Component, args: [{ changeDetection: ChangeDetectionStrategy.OnPush, // eslint-disable-next-line @angular-eslint/component-selector selector: '[kendoSchedulerAgendaHeaderItem]', template: ` <ng-container *ngIf="!agendaDateTemplate"> <strong class="k-scheduler-agendaday">{{itemDate | kendoDate: 'dd'}}</strong> <em class="k-scheduler-agendaweek">{{itemDate | kendoDate: 'EEEE'}}</em> <span class="k-scheduler-agendadate">{{itemDate | kendoDate: 'y'}}</span> </ng-container> <ng-container *ngIf="agendaDateTemplate" [ngTemplateOutlet]="agendaDateTemplate" [ngTemplateOutletContext]="{ date: itemDate }"> </ng-container> `, standalone: true, imports: [NgIf, NgTemplateOutlet, DatePipe] }] }], propDecorators: { classes: [{ type: HostBinding, args: ["class.k-scheduler-datecolumn"] }, { type: HostBinding, args: ["class.k-scheduler-cell"] }], firstClass: [{ type: HostBinding, args: ["class.k-first"] }], roleAttribute: [{ type: HostBinding, args: ["attr.role"] }], rowSpan: [{ type: HostBinding, args: ["attr.rowspan"] }], item: [{ type: Input, args: ["kendoSchedulerAgendaHeaderItem"] }], agendaDateTemplate: [{ type: Input }], hasFirstClass: [{ type: Input }] } });