@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
JavaScript
/**-----------------------------------------------------------------------------------------
* 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
}] } });