@progress/kendo-angular-scheduler 21.1.1-develop.2 → 21.2.0-develop.2
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
|
@@ -10,7 +10,7 @@ import { ToolbarService } from './toolbar.service';
|
|
|
10
10
|
import { ResizeSensorComponent } from '@progress/kendo-angular-common';
|
|
11
11
|
import { ToolbarViewSelectorComponent } from './view-selector.component';
|
|
12
12
|
import { ToolbarNavigationComponent } from './navigation.component';
|
|
13
|
-
import {
|
|
13
|
+
import { NgTemplateOutlet } from '@angular/common';
|
|
14
14
|
import * as i0 from "@angular/core";
|
|
15
15
|
import * as i1 from "./toolbar.service";
|
|
16
16
|
/**
|
|
@@ -82,55 +82,55 @@ export class ToolbarComponent {
|
|
|
82
82
|
this.toolbarWidthChange.emit(this.toolbarWidth);
|
|
83
83
|
}
|
|
84
84
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ToolbarComponent, deps: [{ token: i1.ToolbarService }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
85
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
86
|
-
|
|
87
|
-
|
|
85
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ToolbarComponent, isStandalone: true, selector: "kendo-scheduler-toolbar", inputs: { selectedView: "selectedView", views: "views", dateRange: "dateRange", selectedDate: "selectedDate", template: "template", min: "min", max: "max" }, outputs: { navigate: "navigate", toolbarWidthChange: "toolbarWidthChange" }, host: { properties: { "class.k-scheduler-toolbar": "this.hostClasses", "class.k-toolbar": "this.hostClasses", "class.k-toolbar-solid": "this.hostClasses", "class.k-toolbar-md": "this.hostClasses", "attr.role": "this.toolbarRole" } }, usesOnChanges: true, ngImport: i0, template: `
|
|
86
|
+
@if (template) {
|
|
87
|
+
<ng-template
|
|
88
88
|
[ngTemplateOutlet]="template.templateRef"
|
|
89
89
|
[ngTemplateOutletContext]="templateContext"
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
90
|
+
>
|
|
91
|
+
</ng-template>
|
|
92
|
+
} @else {
|
|
93
|
+
<div kendoSchedulerToolbarNavigation
|
|
94
|
+
[min]="min"
|
|
95
|
+
[max]="max"
|
|
96
|
+
[activeView]="activeView"
|
|
97
|
+
[bottomView]="bottomView">
|
|
98
|
+
</div>
|
|
99
|
+
<span class="k-spacer"></span>
|
|
100
|
+
<div kendoSchedulerToolbarViewSelector [toolbarWidth]="toolbarWidth"></div>
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
|
|
104
104
|
<kendo-resize-sensor (resize)="resizeHandler()" [style]="'display: contents;'"></kendo-resize-sensor>
|
|
105
|
-
|
|
105
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ToolbarNavigationComponent, selector: "[kendoSchedulerToolbarNavigation]", inputs: ["min", "max", "activeView", "bottomView"] }, { kind: "component", type: ToolbarViewSelectorComponent, selector: "[kendoSchedulerToolbarViewSelector]", inputs: ["toolbarWidth", "responsiveBreakpoint"] }, { kind: "component", type: ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }] });
|
|
106
106
|
}
|
|
107
107
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ToolbarComponent, decorators: [{
|
|
108
108
|
type: Component,
|
|
109
109
|
args: [{
|
|
110
110
|
selector: 'kendo-scheduler-toolbar',
|
|
111
111
|
template: `
|
|
112
|
-
|
|
113
|
-
|
|
112
|
+
@if (template) {
|
|
113
|
+
<ng-template
|
|
114
114
|
[ngTemplateOutlet]="template.templateRef"
|
|
115
115
|
[ngTemplateOutletContext]="templateContext"
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
116
|
+
>
|
|
117
|
+
</ng-template>
|
|
118
|
+
} @else {
|
|
119
|
+
<div kendoSchedulerToolbarNavigation
|
|
120
|
+
[min]="min"
|
|
121
|
+
[max]="max"
|
|
122
|
+
[activeView]="activeView"
|
|
123
|
+
[bottomView]="bottomView">
|
|
124
|
+
</div>
|
|
125
|
+
<span class="k-spacer"></span>
|
|
126
|
+
<div kendoSchedulerToolbarViewSelector [toolbarWidth]="toolbarWidth"></div>
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
|
|
130
130
|
<kendo-resize-sensor (resize)="resizeHandler()" [style]="'display: contents;'"></kendo-resize-sensor>
|
|
131
|
-
|
|
131
|
+
`,
|
|
132
132
|
standalone: true,
|
|
133
|
-
imports: [
|
|
133
|
+
imports: [NgTemplateOutlet, ToolbarNavigationComponent, ToolbarViewSelectorComponent, ResizeSensorComponent]
|
|
134
134
|
}]
|
|
135
135
|
}], ctorParameters: () => [{ type: i1.ToolbarService }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { hostClasses: [{
|
|
136
136
|
type: HostBinding,
|
|
@@ -7,7 +7,6 @@ import { ToolbarService } from './toolbar.service';
|
|
|
7
7
|
import { LocalizationService } from '@progress/kendo-angular-l10n';
|
|
8
8
|
import { ButtonComponent } from '@progress/kendo-angular-buttons';
|
|
9
9
|
import { FocusableDirective } from '../navigation/focusable.directive';
|
|
10
|
-
import { NgIf, NgFor } from '@angular/common';
|
|
11
10
|
import * as i0 from "@angular/core";
|
|
12
11
|
import * as i1 from "./toolbar.service";
|
|
13
12
|
import * as i2 from "@progress/kendo-angular-l10n";
|
|
@@ -88,40 +87,45 @@ export class ToolbarViewSelectorComponent {
|
|
|
88
87
|
return this.ctx.selectedView === view;
|
|
89
88
|
}
|
|
90
89
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ToolbarViewSelectorComponent, deps: [{ token: i1.ToolbarService }, { token: i2.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
91
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
92
|
-
|
|
93
|
-
|
|
90
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ToolbarViewSelectorComponent, isStandalone: true, selector: "[kendoSchedulerToolbarViewSelector]", inputs: { toolbarWidth: "toolbarWidth", responsiveBreakpoint: "responsiveBreakpoint" }, ngImport: i0, template: `
|
|
91
|
+
@if (ctx.views?.length > 1 && toolbarWidth <= responsiveBreakpoint) {
|
|
92
|
+
<select
|
|
94
93
|
(change)="onChange($event)"
|
|
95
94
|
class="k-views-dropdown k-picker-md k-rounded-md k-picker-solid k-dropdownlist k-picker"
|
|
96
95
|
[attr.aria-label]="selectView"
|
|
97
96
|
[kendoSchedulerFocusIndex]="0"
|
|
98
97
|
containerType="toolbar">
|
|
99
|
-
|
|
98
|
+
@for (view of ctx.views; track view) {
|
|
99
|
+
<option
|
|
100
100
|
[selected]="isSelected(view) === true"
|
|
101
101
|
[value]="view.name"
|
|
102
|
-
|
|
102
|
+
>
|
|
103
103
|
{{ view.title }}
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
104
|
+
</option>
|
|
105
|
+
}
|
|
106
|
+
</select>
|
|
107
|
+
}
|
|
108
|
+
@if (toolbarWidth > responsiveBreakpoint) {
|
|
109
|
+
<span
|
|
108
110
|
class="k-toolbar-button-group k-scheduler-views k-button-group k-button-group-solid"
|
|
109
111
|
role="group"
|
|
110
|
-
|
|
111
|
-
|
|
112
|
+
>
|
|
113
|
+
@for (view of ctx.views; track view) {
|
|
114
|
+
<button kendoButton
|
|
112
115
|
type="button"
|
|
113
|
-
*ngFor="let view of ctx.views"
|
|
114
116
|
[selected]="isSelected(view)"
|
|
115
117
|
[attr.aria-pressed]="isSelected(view)"
|
|
116
118
|
(click)="select(view)"
|
|
117
119
|
[kendoSchedulerFocusIndex]="0"
|
|
118
120
|
containerType="toolbar">
|
|
119
121
|
<span class="k-button-text">
|
|
120
|
-
|
|
122
|
+
{{ view.title }}
|
|
121
123
|
</span>
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
124
|
+
</button>
|
|
125
|
+
}
|
|
126
|
+
</span>
|
|
127
|
+
}
|
|
128
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: FocusableDirective, selector: "[kendoSchedulerFocusIndex]", inputs: ["kendoSchedulerFocusIndex", "containerType"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
|
|
125
129
|
}
|
|
126
130
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ToolbarViewSelectorComponent, decorators: [{
|
|
127
131
|
type: Component,
|
|
@@ -129,41 +133,46 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
129
133
|
// eslint-disable-next-line @angular-eslint/component-selector
|
|
130
134
|
selector: '[kendoSchedulerToolbarViewSelector]',
|
|
131
135
|
template: `
|
|
132
|
-
|
|
133
|
-
|
|
136
|
+
@if (ctx.views?.length > 1 && toolbarWidth <= responsiveBreakpoint) {
|
|
137
|
+
<select
|
|
134
138
|
(change)="onChange($event)"
|
|
135
139
|
class="k-views-dropdown k-picker-md k-rounded-md k-picker-solid k-dropdownlist k-picker"
|
|
136
140
|
[attr.aria-label]="selectView"
|
|
137
141
|
[kendoSchedulerFocusIndex]="0"
|
|
138
142
|
containerType="toolbar">
|
|
139
|
-
|
|
143
|
+
@for (view of ctx.views; track view) {
|
|
144
|
+
<option
|
|
140
145
|
[selected]="isSelected(view) === true"
|
|
141
146
|
[value]="view.name"
|
|
142
|
-
|
|
147
|
+
>
|
|
143
148
|
{{ view.title }}
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
149
|
+
</option>
|
|
150
|
+
}
|
|
151
|
+
</select>
|
|
152
|
+
}
|
|
153
|
+
@if (toolbarWidth > responsiveBreakpoint) {
|
|
154
|
+
<span
|
|
148
155
|
class="k-toolbar-button-group k-scheduler-views k-button-group k-button-group-solid"
|
|
149
156
|
role="group"
|
|
150
|
-
|
|
151
|
-
|
|
157
|
+
>
|
|
158
|
+
@for (view of ctx.views; track view) {
|
|
159
|
+
<button kendoButton
|
|
152
160
|
type="button"
|
|
153
|
-
*ngFor="let view of ctx.views"
|
|
154
161
|
[selected]="isSelected(view)"
|
|
155
162
|
[attr.aria-pressed]="isSelected(view)"
|
|
156
163
|
(click)="select(view)"
|
|
157
164
|
[kendoSchedulerFocusIndex]="0"
|
|
158
165
|
containerType="toolbar">
|
|
159
166
|
<span class="k-button-text">
|
|
160
|
-
|
|
167
|
+
{{ view.title }}
|
|
161
168
|
</span>
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
169
|
+
</button>
|
|
170
|
+
}
|
|
171
|
+
</span>
|
|
172
|
+
}
|
|
173
|
+
`,
|
|
165
174
|
standalone: true,
|
|
166
|
-
imports: [
|
|
175
|
+
imports: [FocusableDirective, ButtonComponent]
|
|
167
176
|
}]
|
|
168
177
|
}], ctorParameters: () => [{ type: i1.ToolbarService }, { type: i2.LocalizationService }], propDecorators: { toolbarWidth: [{
|
|
169
178
|
type: Input
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import { Component, Input, HostBinding, ChangeDetectionStrategy, TemplateRef } from '@angular/core';
|
|
6
6
|
import { toLocalDate } from '@progress/kendo-date-math';
|
|
7
7
|
import { DatePipe } from '@progress/kendo-angular-intl';
|
|
8
|
-
import {
|
|
8
|
+
import { NgTemplateOutlet } from '@angular/common';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
10
|
/**
|
|
11
11
|
* @hidden
|
|
@@ -26,16 +26,18 @@ export class AgendaHeaderItemComponent {
|
|
|
26
26
|
return toLocalDate(this.item.dataItem.value);
|
|
27
27
|
}
|
|
28
28
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AgendaHeaderItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
29
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
29
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", 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: `
|
|
30
|
+
@if (!agendaDateTemplate) {
|
|
31
|
+
<strong class="k-scheduler-agendaday">{{itemDate | kendoDate: 'dd'}}</strong>
|
|
32
|
+
<em class="k-scheduler-agendaweek">{{itemDate | kendoDate: 'EEEE'}}</em>
|
|
33
|
+
<span class="k-scheduler-agendadate">{{itemDate | kendoDate: 'y'}}</span>
|
|
34
|
+
}
|
|
35
|
+
@if (agendaDateTemplate) {
|
|
36
|
+
<ng-container [ngTemplateOutlet]="agendaDateTemplate"
|
|
36
37
|
[ngTemplateOutletContext]="{ date: itemDate }">
|
|
37
|
-
|
|
38
|
-
|
|
38
|
+
</ng-container>
|
|
39
|
+
}
|
|
40
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: DatePipe, name: "kendoDate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
39
41
|
}
|
|
40
42
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AgendaHeaderItemComponent, decorators: [{
|
|
41
43
|
type: Component,
|
|
@@ -44,17 +46,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
44
46
|
// eslint-disable-next-line @angular-eslint/component-selector
|
|
45
47
|
selector: '[kendoSchedulerAgendaHeaderItem]',
|
|
46
48
|
template: `
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
49
|
+
@if (!agendaDateTemplate) {
|
|
50
|
+
<strong class="k-scheduler-agendaday">{{itemDate | kendoDate: 'dd'}}</strong>
|
|
51
|
+
<em class="k-scheduler-agendaweek">{{itemDate | kendoDate: 'EEEE'}}</em>
|
|
52
|
+
<span class="k-scheduler-agendadate">{{itemDate | kendoDate: 'y'}}</span>
|
|
53
|
+
}
|
|
54
|
+
@if (agendaDateTemplate) {
|
|
55
|
+
<ng-container [ngTemplateOutlet]="agendaDateTemplate"
|
|
53
56
|
[ngTemplateOutletContext]="{ date: itemDate }">
|
|
54
|
-
|
|
55
|
-
|
|
57
|
+
</ng-container>
|
|
58
|
+
}
|
|
59
|
+
`,
|
|
56
60
|
standalone: true,
|
|
57
|
-
imports: [
|
|
61
|
+
imports: [NgTemplateOutlet, DatePipe]
|
|
58
62
|
}]
|
|
59
63
|
}], propDecorators: { classes: [{
|
|
60
64
|
type: HostBinding,
|
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
import { Component, ChangeDetectionStrategy, HostBinding, Input } from '@angular/core';
|
|
6
6
|
import { LocalizationService } from '@progress/kendo-angular-l10n';
|
|
7
|
-
import { NgFor } from '@angular/common';
|
|
8
7
|
import * as i0 from "@angular/core";
|
|
9
8
|
import * as i1 from "@progress/kendo-angular-l10n";
|
|
10
9
|
/**
|
|
@@ -27,20 +26,22 @@ export class AgendaHeaderComponent {
|
|
|
27
26
|
this.localization = localization;
|
|
28
27
|
}
|
|
29
28
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AgendaHeaderComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
30
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
29
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: AgendaHeaderComponent, isStandalone: true, selector: "[kendoSchedulerAgendaHeader]", inputs: { resources: "resources" }, host: { properties: { "class.k-scheduler-header": "this.classes" } }, ngImport: i0, template: `
|
|
31
30
|
<div class="k-scheduler-header-wrap">
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
</
|
|
41
|
-
|
|
31
|
+
<table class="k-scheduler-table" role="none">
|
|
32
|
+
<tbody role="rowgroup">
|
|
33
|
+
<tr role="row">
|
|
34
|
+
@for (resource of resources; track resource) {
|
|
35
|
+
<th class="k-scheduler-groupcolumn k-first" role="columnheader"></th>
|
|
36
|
+
}
|
|
37
|
+
<th class="k-scheduler-cell k-heading-cell k-scheduler-datecolumn" role="columnheader">{{ dateMessage }}</th>
|
|
38
|
+
<th class="k-scheduler-cell k-heading-cell k-scheduler-timecolumn" role="columnheader">{{ timeMessage }}</th>
|
|
39
|
+
<th class="k-scheduler-cell k-heading-cell" role="columnheader">{{ eventMessage }}</th>
|
|
40
|
+
</tr>
|
|
41
|
+
</tbody>
|
|
42
|
+
</table>
|
|
42
43
|
</div>
|
|
43
|
-
|
|
44
|
+
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
44
45
|
}
|
|
45
46
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AgendaHeaderComponent, decorators: [{
|
|
46
47
|
type: Component,
|
|
@@ -50,20 +51,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
50
51
|
selector: '[kendoSchedulerAgendaHeader]',
|
|
51
52
|
template: `
|
|
52
53
|
<div class="k-scheduler-header-wrap">
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
</
|
|
62
|
-
|
|
54
|
+
<table class="k-scheduler-table" role="none">
|
|
55
|
+
<tbody role="rowgroup">
|
|
56
|
+
<tr role="row">
|
|
57
|
+
@for (resource of resources; track resource) {
|
|
58
|
+
<th class="k-scheduler-groupcolumn k-first" role="columnheader"></th>
|
|
59
|
+
}
|
|
60
|
+
<th class="k-scheduler-cell k-heading-cell k-scheduler-datecolumn" role="columnheader">{{ dateMessage }}</th>
|
|
61
|
+
<th class="k-scheduler-cell k-heading-cell k-scheduler-timecolumn" role="columnheader">{{ timeMessage }}</th>
|
|
62
|
+
<th class="k-scheduler-cell k-heading-cell" role="columnheader">{{ eventMessage }}</th>
|
|
63
|
+
</tr>
|
|
64
|
+
</tbody>
|
|
65
|
+
</table>
|
|
63
66
|
</div>
|
|
64
|
-
|
|
65
|
-
standalone: true
|
|
66
|
-
imports: [NgFor]
|
|
67
|
+
`,
|
|
68
|
+
standalone: true
|
|
67
69
|
}]
|
|
68
70
|
}], ctorParameters: () => [{ type: i1.LocalizationService }], propDecorators: { classes: [{
|
|
69
71
|
type: HostBinding,
|
|
@@ -8,7 +8,7 @@ import { toLocalDate } from '@progress/kendo-date-math';
|
|
|
8
8
|
import { arrowRotateCwIcon, arrowsNoRepeatIcon, xIcon } from '@progress/kendo-svg-icons';
|
|
9
9
|
import { isRecurrence, isRecurrenceException, formatEventTime } from '../utils';
|
|
10
10
|
import { IconWrapperComponent } from '@progress/kendo-angular-icons';
|
|
11
|
-
import {
|
|
11
|
+
import { NgTemplateOutlet } from '@angular/common';
|
|
12
12
|
import { IntlService } from '@progress/kendo-angular-intl';
|
|
13
13
|
import * as i0 from "@angular/core";
|
|
14
14
|
import * as i1 from "@progress/kendo-angular-l10n";
|
|
@@ -53,24 +53,34 @@ export class AgendaTaskItemComponent {
|
|
|
53
53
|
this.intl = intl;
|
|
54
54
|
}
|
|
55
55
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AgendaTaskItemComponent, deps: [{ token: i1.LocalizationService }, { token: i2.IntlService }], target: i0.ɵɵFactoryTarget.Component });
|
|
56
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
56
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: AgendaTaskItemComponent, isStandalone: true, selector: "[kendoSchedulerAgendaTaskItem]", inputs: { item: ["kendoSchedulerAgendaTaskItem", "item"], color: "color", eventTemplate: "eventTemplate", editable: "editable" }, host: { properties: { "class.k-scheduler-cell": "this.cellClass", "attr.aria-label": "this.eventTitle" } }, ngImport: i0, template: `
|
|
57
57
|
<div class="k-task" [title]="item.title">
|
|
58
|
-
|
|
59
|
-
<
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
<
|
|
63
|
-
|
|
58
|
+
@if (eventColor) {
|
|
59
|
+
<span class="k-scheduler-mark" [style.background-color]="eventColor"></span>
|
|
60
|
+
}
|
|
61
|
+
@if (isRecurrence) {
|
|
62
|
+
<kendo-icon-wrapper name="arrow-rotate-cw" [svgIcon]="arrowRotateCWIcon"></kendo-icon-wrapper>
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
@if (isRecurrenceException) {
|
|
66
|
+
<kendo-icon-wrapper name="arrows-no-repeat" [svgIcon]="arrowsNoRepeatIcon"></kendo-icon-wrapper>
|
|
67
|
+
}
|
|
68
|
+
@if (!eventTemplate) {
|
|
69
|
+
{{item?.title }}
|
|
70
|
+
}
|
|
71
|
+
@if (eventTemplate) {
|
|
72
|
+
<ng-container [ngTemplateOutlet]="eventTemplate"
|
|
73
|
+
[ngTemplateOutletContext]="{ $implicit: item.event, event: item.event, resources: item.resources }">
|
|
64
74
|
</ng-container>
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
<kendo-icon-wrapper name="x" [svgIcon]="xIcon"></kendo-icon-wrapper>
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
@if (removable) {
|
|
78
|
+
<span class="k-link k-event-delete" aria-hidden="true" [attr.title]="deleteMessage">
|
|
79
|
+
<kendo-icon-wrapper name="x" [svgIcon]="xIcon"></kendo-icon-wrapper>
|
|
71
80
|
</span>
|
|
81
|
+
}
|
|
72
82
|
</div>
|
|
73
|
-
|
|
83
|
+
`, isInline: true, dependencies: [{ 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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
74
84
|
}
|
|
75
85
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AgendaTaskItemComponent, decorators: [{
|
|
76
86
|
type: Component,
|
|
@@ -80,24 +90,34 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
80
90
|
selector: '[kendoSchedulerAgendaTaskItem]',
|
|
81
91
|
template: `
|
|
82
92
|
<div class="k-task" [title]="item.title">
|
|
83
|
-
|
|
84
|
-
<
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
<
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
93
|
+
@if (eventColor) {
|
|
94
|
+
<span class="k-scheduler-mark" [style.background-color]="eventColor"></span>
|
|
95
|
+
}
|
|
96
|
+
@if (isRecurrence) {
|
|
97
|
+
<kendo-icon-wrapper name="arrow-rotate-cw" [svgIcon]="arrowRotateCWIcon"></kendo-icon-wrapper>
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
@if (isRecurrenceException) {
|
|
101
|
+
<kendo-icon-wrapper name="arrows-no-repeat" [svgIcon]="arrowsNoRepeatIcon"></kendo-icon-wrapper>
|
|
102
|
+
}
|
|
103
|
+
@if (!eventTemplate) {
|
|
104
|
+
{{item?.title }}
|
|
105
|
+
}
|
|
106
|
+
@if (eventTemplate) {
|
|
107
|
+
<ng-container [ngTemplateOutlet]="eventTemplate"
|
|
108
|
+
[ngTemplateOutletContext]="{ $implicit: item.event, event: item.event, resources: item.resources }">
|
|
92
109
|
</ng-container>
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
@if (removable) {
|
|
113
|
+
<span class="k-link k-event-delete" aria-hidden="true" [attr.title]="deleteMessage">
|
|
114
|
+
<kendo-icon-wrapper name="x" [svgIcon]="xIcon"></kendo-icon-wrapper>
|
|
96
115
|
</span>
|
|
116
|
+
}
|
|
97
117
|
</div>
|
|
98
|
-
|
|
118
|
+
`,
|
|
99
119
|
standalone: true,
|
|
100
|
-
imports: [
|
|
120
|
+
imports: [IconWrapperComponent, NgTemplateOutlet]
|
|
101
121
|
}]
|
|
102
122
|
}], ctorParameters: () => [{ type: i1.LocalizationService }, { type: i2.IntlService }], propDecorators: { item: [{
|
|
103
123
|
type: Input,
|