@progress/kendo-angular-scheduler 11.0.0-develop.99 → 11.0.0
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/NOTICE.txt +17 -17
- package/esm2020/editing/edit-dialog.component.mjs +1 -1
- package/esm2020/package-metadata.mjs +2 -2
- package/esm2020/toolbar/navigation.component.mjs +4 -4
- package/esm2020/toolbar/toolbar.component.mjs +4 -1
- package/esm2020/views/agenda/agenda-task-item.component.mjs +15 -8
- package/esm2020/views/agenda/agenda-view-list.component.mjs +34 -8
- package/esm2020/views/agenda/agenda-view.module.mjs +4 -3
- package/esm2020/views/common/view-footer.component.mjs +10 -5
- package/esm2020/views/common/views-shared.module.mjs +10 -6
- package/esm2020/views/common/work-hours-footer.directive.mjs +2 -1
- package/esm2020/views/day-time/day-time-view-item.component.mjs +65 -16
- package/esm2020/views/day-time/day-time.module.mjs +4 -3
- package/esm2020/views/month/month-slot.component.mjs +127 -0
- package/esm2020/views/month/month-view-item.component.mjs +59 -12
- package/esm2020/views/month/month-view-renderer.component.mjs +15 -26
- package/esm2020/views/month/month-view.module.mjs +10 -6
- package/fesm2015/progress-kendo-angular-scheduler.mjs +392 -225
- package/fesm2020/progress-kendo-angular-scheduler.mjs +361 -194
- package/package.json +18 -18
- package/schematics/ngAdd/index.js +2 -2
- package/views/agenda/agenda-task-item.component.d.ts +4 -0
- package/views/agenda/agenda-view-list.component.d.ts +3 -0
- package/views/agenda/agenda-view.module.d.ts +2 -1
- package/views/common/views-shared.module.d.ts +2 -1
- package/views/day-time/day-time-view-item.component.d.ts +8 -0
- package/views/day-time/day-time.module.d.ts +2 -1
- package/views/month/{month-slot.directive.d.ts → month-slot.component.d.ts} +13 -6
- package/views/month/month-view-item.component.d.ts +6 -0
- package/views/month/month-view-renderer.component.d.ts +0 -1
- package/views/month/month-view.module.d.ts +3 -2
- package/esm2020/views/month/month-slot.directive.mjs +0 -79
|
@@ -6,6 +6,7 @@ import { Component, ElementRef, Input, Renderer2, Inject, LOCALE_ID } from '@ang
|
|
|
6
6
|
import { IntlService } from '@progress/kendo-angular-intl';
|
|
7
7
|
import { LocalizationService } from '@progress/kendo-angular-l10n';
|
|
8
8
|
import { toLocalDate } from '@progress/kendo-date-math';
|
|
9
|
+
import { arrowRotateCwIcon, arrowsNoRepeatIcon, caretAltDownIcon, caretAltLeftIcon, caretAltRightIcon, caretAltUpIcon, xIcon } from '@progress/kendo-svg-icons';
|
|
9
10
|
import { FocusService } from '../../navigation';
|
|
10
11
|
import { DayTimeSlotService } from '../day-time/day-time-slot.service';
|
|
11
12
|
import { BaseViewItem } from '../view-items/base-view-item';
|
|
@@ -14,7 +15,8 @@ import * as i1 from "@progress/kendo-angular-intl";
|
|
|
14
15
|
import * as i2 from "../day-time/day-time-slot.service";
|
|
15
16
|
import * as i3 from "@progress/kendo-angular-l10n";
|
|
16
17
|
import * as i4 from "../../navigation";
|
|
17
|
-
import * as i5 from "@angular
|
|
18
|
+
import * as i5 from "@progress/kendo-angular-icons";
|
|
19
|
+
import * as i6 from "@angular/common";
|
|
18
20
|
/**
|
|
19
21
|
* @hidden
|
|
20
22
|
*/
|
|
@@ -23,6 +25,13 @@ export class DayTimeViewItemComponent extends BaseViewItem {
|
|
|
23
25
|
super(slotService, localization, focusService, element, renderer, localeId);
|
|
24
26
|
this.intlService = intlService;
|
|
25
27
|
this.localeId = localeId;
|
|
28
|
+
this.caretAltLeftIcon = caretAltLeftIcon;
|
|
29
|
+
this.caretAltRightIcon = caretAltRightIcon;
|
|
30
|
+
this.caretAltUpIcon = caretAltUpIcon;
|
|
31
|
+
this.caretAltDownIcon = caretAltDownIcon;
|
|
32
|
+
this.arrowRotateCwIcon = arrowRotateCwIcon;
|
|
33
|
+
this.arrowsNoRepeatIcon = arrowsNoRepeatIcon;
|
|
34
|
+
this.xIcon = xIcon;
|
|
26
35
|
}
|
|
27
36
|
get eventTime() {
|
|
28
37
|
return this.intlService.format('{0:t}–{1:t}', toLocalDate(this.item.startTime), toLocalDate(this.item.endTime));
|
|
@@ -31,9 +40,24 @@ export class DayTimeViewItemComponent extends BaseViewItem {
|
|
|
31
40
|
DayTimeViewItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DayTimeViewItemComponent, deps: [{ token: i1.IntlService }, { token: i2.DayTimeSlotService }, { token: i3.LocalizationService }, { token: i4.FocusService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Component });
|
|
32
41
|
DayTimeViewItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: DayTimeViewItemComponent, selector: "[dayTimeViewItem]", inputs: { vertical: "vertical", isAllDay: "isAllDay" }, usesInheritance: true, ngImport: i0, template: `
|
|
33
42
|
<span class="k-event-actions">
|
|
34
|
-
<
|
|
35
|
-
|
|
36
|
-
|
|
43
|
+
<kendo-icon-wrapper
|
|
44
|
+
*ngIf="item.tail && !vertical"
|
|
45
|
+
name="caret-alt-left"
|
|
46
|
+
[svgIcon]="caretAltLeftIcon"
|
|
47
|
+
>
|
|
48
|
+
</kendo-icon-wrapper>
|
|
49
|
+
<kendo-icon-wrapper
|
|
50
|
+
*ngIf="isRecurrence"
|
|
51
|
+
name="arrow-rotate-cw"
|
|
52
|
+
[svgIcon]="arrowRotateCwIcon"
|
|
53
|
+
>
|
|
54
|
+
</kendo-icon-wrapper>
|
|
55
|
+
<kendo-icon-wrapper
|
|
56
|
+
*ngIf="isRecurrenceException"
|
|
57
|
+
name="arrows-no-repeat"
|
|
58
|
+
[svgIcon]="arrowsNoRepeatIcon"
|
|
59
|
+
>
|
|
60
|
+
</kendo-icon-wrapper>
|
|
37
61
|
</span>
|
|
38
62
|
<ng-container *ngIf="eventTemplate" [ngTemplateOutlet]="eventTemplate"
|
|
39
63
|
[ngTemplateOutletContext]="{ $implicit: item.event, event: item.event, resources: resources }">
|
|
@@ -45,17 +69,22 @@ DayTimeViewItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0
|
|
|
45
69
|
|
|
46
70
|
<span class="k-event-actions">
|
|
47
71
|
<span *ngIf="removable" class="k-link k-event-delete" aria-hidden="true" [attr.title]="deleteMessage">
|
|
48
|
-
<
|
|
72
|
+
<kendo-icon-wrapper name="x" [svgIcon]="xIcon"></kendo-icon-wrapper>
|
|
49
73
|
</span>
|
|
50
|
-
<
|
|
74
|
+
<kendo-icon-wrapper
|
|
75
|
+
*ngIf="item.head && !vertical"
|
|
76
|
+
name="caret-alt-right"
|
|
77
|
+
[svgIcon]="caretAltRightIcon"
|
|
78
|
+
>
|
|
79
|
+
</kendo-icon-wrapper>
|
|
51
80
|
</span>
|
|
52
81
|
|
|
53
82
|
<span class="k-event-top-actions" *ngIf="item.tail && vertical">
|
|
54
|
-
<
|
|
83
|
+
<kendo-icon-wrapper name="caret-alt-up" [svgIcon]="caretAltUpIcon"></kendo-icon-wrapper>
|
|
55
84
|
</span>
|
|
56
85
|
|
|
57
86
|
<span class="k-event-bottom-actions" *ngIf="item.head && vertical">
|
|
58
|
-
<
|
|
87
|
+
<kendo-icon-wrapper name="caret-alt-down" [svgIcon]="caretAltDownIcon"></kendo-icon-wrapper>
|
|
59
88
|
</span>
|
|
60
89
|
|
|
61
90
|
<ng-container *ngIf="resizable && vertical">
|
|
@@ -67,7 +96,7 @@ DayTimeViewItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0
|
|
|
67
96
|
<span class="k-resize-handle k-resize-w"></span>
|
|
68
97
|
<span class="k-resize-handle k-resize-e"></span>
|
|
69
98
|
</ng-container>
|
|
70
|
-
`, isInline: true,
|
|
99
|
+
`, isInline: true, components: [{ type: i5.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
|
|
71
100
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DayTimeViewItemComponent, decorators: [{
|
|
72
101
|
type: Component,
|
|
73
102
|
args: [{
|
|
@@ -75,9 +104,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
75
104
|
selector: '[dayTimeViewItem]',
|
|
76
105
|
template: `
|
|
77
106
|
<span class="k-event-actions">
|
|
78
|
-
<
|
|
79
|
-
|
|
80
|
-
|
|
107
|
+
<kendo-icon-wrapper
|
|
108
|
+
*ngIf="item.tail && !vertical"
|
|
109
|
+
name="caret-alt-left"
|
|
110
|
+
[svgIcon]="caretAltLeftIcon"
|
|
111
|
+
>
|
|
112
|
+
</kendo-icon-wrapper>
|
|
113
|
+
<kendo-icon-wrapper
|
|
114
|
+
*ngIf="isRecurrence"
|
|
115
|
+
name="arrow-rotate-cw"
|
|
116
|
+
[svgIcon]="arrowRotateCwIcon"
|
|
117
|
+
>
|
|
118
|
+
</kendo-icon-wrapper>
|
|
119
|
+
<kendo-icon-wrapper
|
|
120
|
+
*ngIf="isRecurrenceException"
|
|
121
|
+
name="arrows-no-repeat"
|
|
122
|
+
[svgIcon]="arrowsNoRepeatIcon"
|
|
123
|
+
>
|
|
124
|
+
</kendo-icon-wrapper>
|
|
81
125
|
</span>
|
|
82
126
|
<ng-container *ngIf="eventTemplate" [ngTemplateOutlet]="eventTemplate"
|
|
83
127
|
[ngTemplateOutletContext]="{ $implicit: item.event, event: item.event, resources: resources }">
|
|
@@ -89,17 +133,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
89
133
|
|
|
90
134
|
<span class="k-event-actions">
|
|
91
135
|
<span *ngIf="removable" class="k-link k-event-delete" aria-hidden="true" [attr.title]="deleteMessage">
|
|
92
|
-
<
|
|
136
|
+
<kendo-icon-wrapper name="x" [svgIcon]="xIcon"></kendo-icon-wrapper>
|
|
93
137
|
</span>
|
|
94
|
-
<
|
|
138
|
+
<kendo-icon-wrapper
|
|
139
|
+
*ngIf="item.head && !vertical"
|
|
140
|
+
name="caret-alt-right"
|
|
141
|
+
[svgIcon]="caretAltRightIcon"
|
|
142
|
+
>
|
|
143
|
+
</kendo-icon-wrapper>
|
|
95
144
|
</span>
|
|
96
145
|
|
|
97
146
|
<span class="k-event-top-actions" *ngIf="item.tail && vertical">
|
|
98
|
-
<
|
|
147
|
+
<kendo-icon-wrapper name="caret-alt-up" [svgIcon]="caretAltUpIcon"></kendo-icon-wrapper>
|
|
99
148
|
</span>
|
|
100
149
|
|
|
101
150
|
<span class="k-event-bottom-actions" *ngIf="item.head && vertical">
|
|
102
|
-
<
|
|
151
|
+
<kendo-icon-wrapper name="caret-alt-down" [svgIcon]="caretAltDownIcon"></kendo-icon-wrapper>
|
|
103
152
|
</span>
|
|
104
153
|
|
|
105
154
|
<ng-container *ngIf="resizable && vertical">
|
|
@@ -8,6 +8,7 @@ import { SharedModule } from '../../shared.module';
|
|
|
8
8
|
import { TimeSlotDirective, DaySlotDirective } from './event-slot.directive';
|
|
9
9
|
import { DayTimeViewItemComponent } from './day-time-view-item.component';
|
|
10
10
|
import { ViewsSharedModule } from '../common/views-shared.module';
|
|
11
|
+
import { IconsModule } from '@progress/kendo-angular-icons';
|
|
11
12
|
import * as i0 from "@angular/core";
|
|
12
13
|
const DIRECTIVES = [TimeSlotDirective, DaySlotDirective, DayTimeViewItemComponent];
|
|
13
14
|
/**
|
|
@@ -16,12 +17,12 @@ const DIRECTIVES = [TimeSlotDirective, DaySlotDirective, DayTimeViewItemComponen
|
|
|
16
17
|
export class DayTimeModule {
|
|
17
18
|
}
|
|
18
19
|
DayTimeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DayTimeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
19
|
-
DayTimeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DayTimeModule, declarations: [TimeSlotDirective, DaySlotDirective, DayTimeViewItemComponent], imports: [CommonModule, SharedModule, ViewsSharedModule], exports: [TimeSlotDirective, DaySlotDirective, DayTimeViewItemComponent] });
|
|
20
|
-
DayTimeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DayTimeModule, imports: [[CommonModule, SharedModule, ViewsSharedModule]] });
|
|
20
|
+
DayTimeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DayTimeModule, declarations: [TimeSlotDirective, DaySlotDirective, DayTimeViewItemComponent], imports: [CommonModule, SharedModule, ViewsSharedModule, IconsModule], exports: [TimeSlotDirective, DaySlotDirective, DayTimeViewItemComponent] });
|
|
21
|
+
DayTimeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DayTimeModule, imports: [[CommonModule, SharedModule, ViewsSharedModule, IconsModule]] });
|
|
21
22
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DayTimeModule, decorators: [{
|
|
22
23
|
type: NgModule,
|
|
23
24
|
args: [{
|
|
24
|
-
imports: [CommonModule, SharedModule, ViewsSharedModule],
|
|
25
|
+
imports: [CommonModule, SharedModule, ViewsSharedModule, IconsModule],
|
|
25
26
|
exports: [
|
|
26
27
|
DIRECTIVES
|
|
27
28
|
],
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
/**-----------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright © 2023 Progress Software Corporation. All rights reserved.
|
|
3
|
+
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
+
*-------------------------------------------------------------------------------------------*/
|
|
5
|
+
import { Input, ElementRef, Component, ChangeDetectorRef } from '@angular/core';
|
|
6
|
+
import { LocalizationService } from '@progress/kendo-angular-l10n';
|
|
7
|
+
import { BaseSlotDirective } from '../view-items/base-slot.directive';
|
|
8
|
+
import { MonthSlotService } from './month-slot.service';
|
|
9
|
+
import { firstElementChild } from '../../common/dom-queries';
|
|
10
|
+
import { addUTCDays, toUTCDate } from '../utils';
|
|
11
|
+
import { firstDayOfMonth, isEqualDate } from '@progress/kendo-date-math';
|
|
12
|
+
import { moreHorizontalIcon } from '@progress/kendo-svg-icons';
|
|
13
|
+
import * as i0 from "@angular/core";
|
|
14
|
+
import * as i1 from "./month-slot.service";
|
|
15
|
+
import * as i2 from "@progress/kendo-angular-l10n";
|
|
16
|
+
import * as i3 from "@progress/kendo-angular-icons";
|
|
17
|
+
import * as i4 from "@angular/common";
|
|
18
|
+
import * as i5 from "@progress/kendo-angular-intl";
|
|
19
|
+
/**
|
|
20
|
+
* @hidden
|
|
21
|
+
*/
|
|
22
|
+
export class MonthSlotComponent extends BaseSlotDirective {
|
|
23
|
+
constructor(element, slotService, localization, cdr) {
|
|
24
|
+
super(element, slotService, localization);
|
|
25
|
+
this.cdr = cdr;
|
|
26
|
+
this.moreHorizontalIcon = moreHorizontalIcon;
|
|
27
|
+
this.isDaySlot = true;
|
|
28
|
+
this._linkHeight = null;
|
|
29
|
+
}
|
|
30
|
+
set start(value) {
|
|
31
|
+
this.startDate = toUTCDate(value);
|
|
32
|
+
}
|
|
33
|
+
get start() {
|
|
34
|
+
return this.startDate;
|
|
35
|
+
}
|
|
36
|
+
get end() {
|
|
37
|
+
return addUTCDays(this.start, 1);
|
|
38
|
+
}
|
|
39
|
+
isFirstDayOfMonth(day) {
|
|
40
|
+
return isEqualDate(day, firstDayOfMonth(day));
|
|
41
|
+
}
|
|
42
|
+
get linkHeight() {
|
|
43
|
+
if (this._linkHeight === null) {
|
|
44
|
+
const element = firstElementChild(this.nativeElement);
|
|
45
|
+
this._linkHeight = element ? element.offsetHeight + element.offsetTop : 0;
|
|
46
|
+
}
|
|
47
|
+
return this._linkHeight;
|
|
48
|
+
}
|
|
49
|
+
ngOnDestroy() {
|
|
50
|
+
super.ngOnDestroy();
|
|
51
|
+
this.removeShowMore();
|
|
52
|
+
}
|
|
53
|
+
showMore(rect) {
|
|
54
|
+
this.showMoreButton = true;
|
|
55
|
+
this.style = `width: ${rect.width}px; left: ${rect.left}px; top: ${rect.top}px; border-color: inherit;`;
|
|
56
|
+
this.cdr.detectChanges();
|
|
57
|
+
}
|
|
58
|
+
hideMore() {
|
|
59
|
+
this.showMoreButton = false;
|
|
60
|
+
this.removeShowMore();
|
|
61
|
+
}
|
|
62
|
+
invalidate() {
|
|
63
|
+
super.invalidate();
|
|
64
|
+
this._linkHeight = null;
|
|
65
|
+
this.showMoreButton = false;
|
|
66
|
+
this.removeShowMore();
|
|
67
|
+
}
|
|
68
|
+
removeShowMore() {
|
|
69
|
+
this.showMoreButton = false;
|
|
70
|
+
this.cdr.detectChanges();
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
MonthSlotComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MonthSlotComponent, deps: [{ token: i0.ElementRef }, { token: i1.MonthSlotService }, { token: i2.LocalizationService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
74
|
+
MonthSlotComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: MonthSlotComponent, selector: "[monthSlot]", inputs: { resourcesByIndex: "resourcesByIndex", monthDaySlotTemplateRef: "monthDaySlotTemplateRef", start: ["monthSlot", "start"] }, usesInheritance: true, ngImport: i0, template: `
|
|
75
|
+
<span *ngIf="!monthDaySlotTemplateRef" aria-hidden="true" class="k-link k-nav-day">
|
|
76
|
+
{{ start | kendoDate: isFirstDayOfMonth(start) ? 'MMM dd' : 'dd' }}
|
|
77
|
+
</span>
|
|
78
|
+
<ng-container
|
|
79
|
+
*ngIf="monthDaySlotTemplateRef"
|
|
80
|
+
[ngTemplateOutlet]="monthDaySlotTemplateRef"
|
|
81
|
+
[ngTemplateOutletContext]="{ date: start, resources: resourcesByIndex }"
|
|
82
|
+
>
|
|
83
|
+
</ng-container>
|
|
84
|
+
|
|
85
|
+
<div *ngIf="showMoreButton" class="k-more-events k-button" [style]="style">
|
|
86
|
+
<kendo-icon-wrapper
|
|
87
|
+
innerCssClass="k-i-more-horizontal"
|
|
88
|
+
name="more-horizontal"
|
|
89
|
+
[svgIcon]="moreHorizontalIcon"
|
|
90
|
+
>
|
|
91
|
+
</kendo-icon-wrapper>
|
|
92
|
+
</div>
|
|
93
|
+
`, isInline: true, components: [{ type: i3.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "kendoDate": i5.DatePipe } });
|
|
94
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MonthSlotComponent, decorators: [{
|
|
95
|
+
type: Component,
|
|
96
|
+
args: [{
|
|
97
|
+
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
98
|
+
selector: '[monthSlot]',
|
|
99
|
+
template: `
|
|
100
|
+
<span *ngIf="!monthDaySlotTemplateRef" aria-hidden="true" class="k-link k-nav-day">
|
|
101
|
+
{{ start | kendoDate: isFirstDayOfMonth(start) ? 'MMM dd' : 'dd' }}
|
|
102
|
+
</span>
|
|
103
|
+
<ng-container
|
|
104
|
+
*ngIf="monthDaySlotTemplateRef"
|
|
105
|
+
[ngTemplateOutlet]="monthDaySlotTemplateRef"
|
|
106
|
+
[ngTemplateOutletContext]="{ date: start, resources: resourcesByIndex }"
|
|
107
|
+
>
|
|
108
|
+
</ng-container>
|
|
109
|
+
|
|
110
|
+
<div *ngIf="showMoreButton" class="k-more-events k-button" [style]="style">
|
|
111
|
+
<kendo-icon-wrapper
|
|
112
|
+
innerCssClass="k-i-more-horizontal"
|
|
113
|
+
name="more-horizontal"
|
|
114
|
+
[svgIcon]="moreHorizontalIcon"
|
|
115
|
+
>
|
|
116
|
+
</kendo-icon-wrapper>
|
|
117
|
+
</div>
|
|
118
|
+
`
|
|
119
|
+
}]
|
|
120
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.MonthSlotService }, { type: i2.LocalizationService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { resourcesByIndex: [{
|
|
121
|
+
type: Input
|
|
122
|
+
}], monthDaySlotTemplateRef: [{
|
|
123
|
+
type: Input
|
|
124
|
+
}], start: [{
|
|
125
|
+
type: Input,
|
|
126
|
+
args: ['monthSlot']
|
|
127
|
+
}] } });
|
|
@@ -7,11 +7,13 @@ import { LocalizationService } from '@progress/kendo-angular-l10n';
|
|
|
7
7
|
import { MonthSlotService } from './month-slot.service';
|
|
8
8
|
import { BaseViewItem } from '../view-items/base-view-item';
|
|
9
9
|
import { FocusService } from '../../navigation';
|
|
10
|
+
import { arrowRotateCwIcon, arrowsNoRepeatIcon, caretAltLeftIcon, caretAltRightIcon, xIcon } from '@progress/kendo-svg-icons';
|
|
10
11
|
import * as i0 from "@angular/core";
|
|
11
12
|
import * as i1 from "./month-slot.service";
|
|
12
13
|
import * as i2 from "@progress/kendo-angular-l10n";
|
|
13
14
|
import * as i3 from "../../navigation";
|
|
14
|
-
import * as i4 from "@angular
|
|
15
|
+
import * as i4 from "@progress/kendo-angular-icons";
|
|
16
|
+
import * as i5 from "@angular/common";
|
|
15
17
|
/**
|
|
16
18
|
* @hidden
|
|
17
19
|
*/
|
|
@@ -19,6 +21,11 @@ export class MonthViewItemComponent extends BaseViewItem {
|
|
|
19
21
|
constructor(slotService, localization, focusService, element, renderer, localeId) {
|
|
20
22
|
super(slotService, localization, focusService, element, renderer, localeId);
|
|
21
23
|
this.localeId = localeId;
|
|
24
|
+
this.caretAltLeftIcon = caretAltLeftIcon;
|
|
25
|
+
this.caretAltRightIcon = caretAltRightIcon;
|
|
26
|
+
this.arrowRotateCwIcon = arrowRotateCwIcon;
|
|
27
|
+
this.arrowsNoRepeatIcon = arrowsNoRepeatIcon;
|
|
28
|
+
this.xIcon = xIcon;
|
|
22
29
|
}
|
|
23
30
|
reflow() {
|
|
24
31
|
if (this.item.data[this.resourceIndex].hidden) {
|
|
@@ -34,9 +41,24 @@ export class MonthViewItemComponent extends BaseViewItem {
|
|
|
34
41
|
MonthViewItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MonthViewItemComponent, deps: [{ token: i1.MonthSlotService }, { token: i2.LocalizationService }, { token: i3.FocusService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Component });
|
|
35
42
|
MonthViewItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: MonthViewItemComponent, selector: "[monthViewItem]", usesInheritance: true, ngImport: i0, template: `
|
|
36
43
|
<span class="k-event-actions">
|
|
37
|
-
<
|
|
38
|
-
|
|
39
|
-
|
|
44
|
+
<kendo-icon-wrapper
|
|
45
|
+
*ngIf="item.tail"
|
|
46
|
+
name="caret-alt-left"
|
|
47
|
+
[svgIcon]="caretAltLeftIcon"
|
|
48
|
+
>
|
|
49
|
+
</kendo-icon-wrapper>
|
|
50
|
+
<kendo-icon-wrapper
|
|
51
|
+
*ngIf="isRecurrence"
|
|
52
|
+
name="arrow-rotate-cw"
|
|
53
|
+
[svgIcon]="arrowRotateCwIcon"
|
|
54
|
+
>
|
|
55
|
+
</kendo-icon-wrapper>
|
|
56
|
+
<kendo-icon-wrapper
|
|
57
|
+
*ngIf="isRecurrenceException"
|
|
58
|
+
name="arrows-no-repeat"
|
|
59
|
+
[svgIcon]="arrowsNoRepeatIcon"
|
|
60
|
+
>
|
|
61
|
+
</kendo-icon-wrapper>
|
|
40
62
|
</span>
|
|
41
63
|
<ng-container *ngIf="eventTemplate" [ngTemplateOutlet]="eventTemplate"
|
|
42
64
|
[ngTemplateOutletContext]="{ $implicit: item.event, event: item.event, resources: resources }">
|
|
@@ -47,16 +69,21 @@ MonthViewItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
|
|
|
47
69
|
|
|
48
70
|
<span class="k-event-actions">
|
|
49
71
|
<span *ngIf="removable" class="k-link k-event-delete" aria-hidden="true" [attr.title]="deleteMessage">
|
|
50
|
-
<
|
|
72
|
+
<kendo-icon-wrapper name="x" [svgIcon]="xIcon"></kendo-icon-wrapper>
|
|
51
73
|
</span>
|
|
52
|
-
<
|
|
74
|
+
<kendo-icon-wrapper
|
|
75
|
+
*ngIf="item.head"
|
|
76
|
+
name="caret-alt-right"
|
|
77
|
+
[svgIcon]="caretAltRightIcon"
|
|
78
|
+
>
|
|
79
|
+
</kendo-icon-wrapper>
|
|
53
80
|
</span>
|
|
54
81
|
|
|
55
82
|
<ng-container *ngIf="resizable">
|
|
56
83
|
<span class="k-resize-handle k-resize-w"></span>
|
|
57
84
|
<span class="k-resize-handle k-resize-e"></span>
|
|
58
85
|
</ng-container>
|
|
59
|
-
`, isInline: true,
|
|
86
|
+
`, isInline: true, components: [{ type: i4.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
|
|
60
87
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MonthViewItemComponent, decorators: [{
|
|
61
88
|
type: Component,
|
|
62
89
|
args: [{
|
|
@@ -64,9 +91,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
64
91
|
selector: '[monthViewItem]',
|
|
65
92
|
template: `
|
|
66
93
|
<span class="k-event-actions">
|
|
67
|
-
<
|
|
68
|
-
|
|
69
|
-
|
|
94
|
+
<kendo-icon-wrapper
|
|
95
|
+
*ngIf="item.tail"
|
|
96
|
+
name="caret-alt-left"
|
|
97
|
+
[svgIcon]="caretAltLeftIcon"
|
|
98
|
+
>
|
|
99
|
+
</kendo-icon-wrapper>
|
|
100
|
+
<kendo-icon-wrapper
|
|
101
|
+
*ngIf="isRecurrence"
|
|
102
|
+
name="arrow-rotate-cw"
|
|
103
|
+
[svgIcon]="arrowRotateCwIcon"
|
|
104
|
+
>
|
|
105
|
+
</kendo-icon-wrapper>
|
|
106
|
+
<kendo-icon-wrapper
|
|
107
|
+
*ngIf="isRecurrenceException"
|
|
108
|
+
name="arrows-no-repeat"
|
|
109
|
+
[svgIcon]="arrowsNoRepeatIcon"
|
|
110
|
+
>
|
|
111
|
+
</kendo-icon-wrapper>
|
|
70
112
|
</span>
|
|
71
113
|
<ng-container *ngIf="eventTemplate" [ngTemplateOutlet]="eventTemplate"
|
|
72
114
|
[ngTemplateOutletContext]="{ $implicit: item.event, event: item.event, resources: resources }">
|
|
@@ -77,9 +119,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
77
119
|
|
|
78
120
|
<span class="k-event-actions">
|
|
79
121
|
<span *ngIf="removable" class="k-link k-event-delete" aria-hidden="true" [attr.title]="deleteMessage">
|
|
80
|
-
<
|
|
122
|
+
<kendo-icon-wrapper name="x" [svgIcon]="xIcon"></kendo-icon-wrapper>
|
|
81
123
|
</span>
|
|
82
|
-
<
|
|
124
|
+
<kendo-icon-wrapper
|
|
125
|
+
*ngIf="item.head"
|
|
126
|
+
name="caret-alt-right"
|
|
127
|
+
[svgIcon]="caretAltRightIcon"
|
|
128
|
+
>
|
|
129
|
+
</kendo-icon-wrapper>
|
|
83
130
|
</span>
|
|
84
131
|
|
|
85
132
|
<ng-container *ngIf="resizable">
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import { Component, Input, NgZone, ElementRef, Renderer2, TemplateRef, ChangeDetectorRef, QueryList, ViewChildren } from '@angular/core';
|
|
6
6
|
import { IntlService } from '@progress/kendo-angular-intl';
|
|
7
7
|
import { isChanged, isDocumentAvailable, ScrollbarWidthService } from '@progress/kendo-angular-common';
|
|
8
|
-
import { addDays,
|
|
8
|
+
import { addDays, getDate, toLocalDate } from '@progress/kendo-date-math';
|
|
9
9
|
import { ViewContextService } from '../view-context.service';
|
|
10
10
|
import { ViewStateService } from '../view-state.service';
|
|
11
11
|
import { closestInScope, hasClasses } from '../../common/dom-queries';
|
|
@@ -26,11 +26,11 @@ import * as i4 from "./month-slot.service";
|
|
|
26
26
|
import * as i5 from "../../pdf/pdf.service";
|
|
27
27
|
import * as i6 from "@progress/kendo-angular-l10n";
|
|
28
28
|
import * as i7 from "@progress/kendo-angular-common";
|
|
29
|
-
import * as i8 from "./month-
|
|
30
|
-
import * as i9 from "
|
|
31
|
-
import * as i10 from "../common/
|
|
32
|
-
import * as i11 from "
|
|
33
|
-
import * as i12 from "
|
|
29
|
+
import * as i8 from "./month-slot.component";
|
|
30
|
+
import * as i9 from "./month-view-item.component";
|
|
31
|
+
import * as i10 from "../common/hint-container.component";
|
|
32
|
+
import * as i11 from "../common/resize-hint.component";
|
|
33
|
+
import * as i12 from "@angular/common";
|
|
34
34
|
import * as i13 from "../../navigation/focusable.directive";
|
|
35
35
|
import * as i14 from "../common/resource-iterator.pipe";
|
|
36
36
|
import * as i15 from "../common/repeat.pipe";
|
|
@@ -106,9 +106,6 @@ export class MonthViewRendererComponent extends BaseView {
|
|
|
106
106
|
addDay(dayStart) {
|
|
107
107
|
return addDays(dayStart, 1);
|
|
108
108
|
}
|
|
109
|
-
isFirstDayOfMonth(day) {
|
|
110
|
-
return isEqualDate(day, firstDayOfMonth(day));
|
|
111
|
-
}
|
|
112
109
|
optionsChange(changes) {
|
|
113
110
|
this.schedulerMonthDaySlotTemplate = changes[`${this.type}DaySlotTemplate`];
|
|
114
111
|
super.optionsChange(changes);
|
|
@@ -294,9 +291,10 @@ MonthViewRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
|
|
|
294
291
|
<tr *ngFor="let week of weeks; let rangeIndex = index; trackBy: itemIndex">
|
|
295
292
|
<ng-container *ngFor="let resource of horizontalResources | resourceIterator; let horizontalIndex = index; trackBy: itemIndex">
|
|
296
293
|
<td *ngFor="let day of week; let index = index; trackBy: itemIndex"
|
|
297
|
-
monthSlot
|
|
294
|
+
[monthSlot]="day"
|
|
295
|
+
[monthDaySlotTemplateRef]="monthDaySlotTemplateRef"
|
|
296
|
+
[resourcesByIndex]="resourcesByIndex(verticalResources.length ? verticalIndex : horizontalIndex)"
|
|
298
297
|
[ngClass]="daySlotClass(day, verticalResources.length ? verticalIndex : horizontalIndex)"
|
|
299
|
-
[start]="day"
|
|
300
298
|
[id]="{ resourceIndex: verticalResources.length ? verticalIndex : horizontalIndex, rangeIndex: rangeIndex, index: index }"
|
|
301
299
|
[title]="cellTitle(day)"
|
|
302
300
|
[class.k-selected]="isSlotSelected({
|
|
@@ -306,12 +304,7 @@ MonthViewRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
|
|
|
306
304
|
resources: resourcesByIndex(verticalResources.length ? verticalIndex : horizontalIndex)
|
|
307
305
|
})"
|
|
308
306
|
>
|
|
309
|
-
|
|
310
|
-
{{ day | kendoDate: isFirstDayOfMonth(day) ? 'MMM dd' : 'dd' }}
|
|
311
|
-
</span>
|
|
312
|
-
<ng-container *ngIf="monthDaySlotTemplateRef" [ngTemplateOutlet]="monthDaySlotTemplateRef"
|
|
313
|
-
[ngTemplateOutletContext]="{ date: day, resources: resourcesByIndex(verticalResources.length ? verticalIndex : horizontalIndex) }"></ng-container>
|
|
314
|
-
</td>
|
|
307
|
+
</td>
|
|
315
308
|
</ng-container>
|
|
316
309
|
</tr>
|
|
317
310
|
</ng-container>
|
|
@@ -357,7 +350,7 @@ MonthViewRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
|
|
|
357
350
|
</div>
|
|
358
351
|
</div>
|
|
359
352
|
</div>
|
|
360
|
-
`, isInline: true, components: [{ type: i8.MonthViewItemComponent, selector: "[monthViewItem]" }, { type:
|
|
353
|
+
`, isInline: true, components: [{ type: i8.MonthSlotComponent, selector: "[monthSlot]", inputs: ["resourcesByIndex", "monthDaySlotTemplateRef", "monthSlot"] }, { type: i9.MonthViewItemComponent, selector: "[monthViewItem]" }, { type: i10.HintContainerComponent, selector: "kendo-hint-container" }, { type: i11.ResizeHintComponent, selector: "[kendoResizeHint]", inputs: ["hint", "format"] }], directives: [{ type: i12.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i12.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i12.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i12.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i12.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i13.FocusableDirective, selector: "[kendoSchedulerFocusIndex]", inputs: ["kendoSchedulerFocusIndex", "containerType"] }], pipes: { "resourceIterator": i14.ResourceIteratorPipe, "kendoDate": i3.DatePipe, "repeat": i15.RepeatPipe, "async": i12.AsyncPipe } });
|
|
361
354
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MonthViewRendererComponent, decorators: [{
|
|
362
355
|
type: Component,
|
|
363
356
|
args: [{
|
|
@@ -431,9 +424,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
431
424
|
<tr *ngFor="let week of weeks; let rangeIndex = index; trackBy: itemIndex">
|
|
432
425
|
<ng-container *ngFor="let resource of horizontalResources | resourceIterator; let horizontalIndex = index; trackBy: itemIndex">
|
|
433
426
|
<td *ngFor="let day of week; let index = index; trackBy: itemIndex"
|
|
434
|
-
monthSlot
|
|
427
|
+
[monthSlot]="day"
|
|
428
|
+
[monthDaySlotTemplateRef]="monthDaySlotTemplateRef"
|
|
429
|
+
[resourcesByIndex]="resourcesByIndex(verticalResources.length ? verticalIndex : horizontalIndex)"
|
|
435
430
|
[ngClass]="daySlotClass(day, verticalResources.length ? verticalIndex : horizontalIndex)"
|
|
436
|
-
[start]="day"
|
|
437
431
|
[id]="{ resourceIndex: verticalResources.length ? verticalIndex : horizontalIndex, rangeIndex: rangeIndex, index: index }"
|
|
438
432
|
[title]="cellTitle(day)"
|
|
439
433
|
[class.k-selected]="isSlotSelected({
|
|
@@ -443,12 +437,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
443
437
|
resources: resourcesByIndex(verticalResources.length ? verticalIndex : horizontalIndex)
|
|
444
438
|
})"
|
|
445
439
|
>
|
|
446
|
-
|
|
447
|
-
{{ day | kendoDate: isFirstDayOfMonth(day) ? 'MMM dd' : 'dd' }}
|
|
448
|
-
</span>
|
|
449
|
-
<ng-container *ngIf="monthDaySlotTemplateRef" [ngTemplateOutlet]="monthDaySlotTemplateRef"
|
|
450
|
-
[ngTemplateOutletContext]="{ date: day, resources: resourcesByIndex(verticalResources.length ? verticalIndex : horizontalIndex) }"></ng-container>
|
|
451
|
-
</td>
|
|
440
|
+
</td>
|
|
452
441
|
</ng-container>
|
|
453
442
|
</tr>
|
|
454
443
|
</ng-container>
|
|
@@ -7,8 +7,9 @@ import { MonthViewItemComponent } from './month-view-item.component';
|
|
|
7
7
|
import { MonthViewComponent } from './month-view.component';
|
|
8
8
|
import { MultiWeekViewComponent } from './multi-week-view.component';
|
|
9
9
|
import { MonthViewRendererComponent } from './month-view-renderer.component';
|
|
10
|
-
import {
|
|
10
|
+
import { MonthSlotComponent } from './month-slot.component';
|
|
11
11
|
import { ViewsSharedModule } from '../common/views-shared.module';
|
|
12
|
+
import { IconsModule } from '@progress/kendo-angular-icons';
|
|
12
13
|
import * as i0 from "@angular/core";
|
|
13
14
|
/**
|
|
14
15
|
* @hidden
|
|
@@ -19,17 +20,20 @@ MonthViewModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version:
|
|
|
19
20
|
MonthViewModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MonthViewModule, declarations: [MonthViewComponent,
|
|
20
21
|
MonthViewRendererComponent,
|
|
21
22
|
MonthViewItemComponent,
|
|
22
|
-
|
|
23
|
-
MultiWeekViewComponent], imports: [ViewsSharedModule
|
|
23
|
+
MonthSlotComponent,
|
|
24
|
+
MultiWeekViewComponent], imports: [ViewsSharedModule,
|
|
25
|
+
IconsModule], exports: [MonthViewComponent,
|
|
24
26
|
MultiWeekViewComponent] });
|
|
25
27
|
MonthViewModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MonthViewModule, imports: [[
|
|
26
|
-
ViewsSharedModule
|
|
28
|
+
ViewsSharedModule,
|
|
29
|
+
IconsModule
|
|
27
30
|
]] });
|
|
28
31
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MonthViewModule, decorators: [{
|
|
29
32
|
type: NgModule,
|
|
30
33
|
args: [{
|
|
31
34
|
imports: [
|
|
32
|
-
ViewsSharedModule
|
|
35
|
+
ViewsSharedModule,
|
|
36
|
+
IconsModule
|
|
33
37
|
],
|
|
34
38
|
exports: [
|
|
35
39
|
MonthViewComponent,
|
|
@@ -39,7 +43,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
39
43
|
MonthViewComponent,
|
|
40
44
|
MonthViewRendererComponent,
|
|
41
45
|
MonthViewItemComponent,
|
|
42
|
-
|
|
46
|
+
MonthSlotComponent,
|
|
43
47
|
MultiWeekViewComponent
|
|
44
48
|
]
|
|
45
49
|
}]
|