@progress/kendo-angular-scheduler 21.1.1-develop.2 → 21.2.0-develop.10
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/navigation/shortcuts.directive.mjs +12 -12
- 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 +4460 -3901
- package/package.json +15 -15
- package/schematics/ngAdd/index.js +3 -3
|
@@ -7,7 +7,6 @@ import { capitalize, isPresent } from '../../common/util';
|
|
|
7
7
|
import { RecurrenceService } from './recurrence.service';
|
|
8
8
|
import { LocalizationService } from '@progress/kendo-angular-l10n';
|
|
9
9
|
import { Button, ButtonComponent, ButtonGroupComponent } from '@progress/kendo-angular-buttons';
|
|
10
|
-
import { NgFor } from '@angular/common';
|
|
11
10
|
import { LabelComponent } from '@progress/kendo-angular-label';
|
|
12
11
|
import * as i0 from "@angular/core";
|
|
13
12
|
import * as i1 from "./recurrence.service";
|
|
@@ -77,29 +76,30 @@ export class RecurrenceWeekdayRuleEditorComponent {
|
|
|
77
76
|
}
|
|
78
77
|
}
|
|
79
78
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RecurrenceWeekdayRuleEditorComponent, deps: [{ token: i1.RecurrenceService }, { token: i2.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
80
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
79
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: RecurrenceWeekdayRuleEditorComponent, isStandalone: true, selector: "kendo-recurrence-weekday-rule-editor", viewQueries: [{ propertyName: "weekDayButtons", predicate: Button, descendants: true }], ngImport: i0, template: `
|
|
81
80
|
<div class="k-form-field">
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
</
|
|
81
|
+
<kendo-label
|
|
82
|
+
[text]="textFor('weeklyRepeatOn')"
|
|
83
|
+
labelCssClass="k-form-label"
|
|
84
|
+
(click)="onWeeklyRepeatOnClick()"
|
|
85
|
+
></kendo-label>
|
|
86
|
+
<div class="k-form-field-wrap">
|
|
87
|
+
<kendo-buttongroup
|
|
88
|
+
class="k-button-group-solid"
|
|
89
|
+
width="100%"
|
|
90
|
+
selection="multiple"
|
|
91
|
+
>
|
|
92
|
+
@for (day of weekDays; track day) {
|
|
93
|
+
<button
|
|
94
|
+
kendoButton
|
|
95
|
+
[selected]="isSelected(day)"
|
|
96
|
+
(click)="onDayClick(day)"
|
|
97
|
+
>{{ capitalize(day.text) }}</button>
|
|
98
|
+
}
|
|
99
|
+
</kendo-buttongroup>
|
|
100
|
+
</div>
|
|
101
101
|
</div>
|
|
102
|
-
|
|
102
|
+
`, isInline: true, dependencies: [{ kind: "component", type: LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional", "labelCssStyle", "labelCssClass"], exportAs: ["kendoLabel"] }, { kind: "component", type: ButtonGroupComponent, selector: "kendo-buttongroup", inputs: ["disabled", "selection", "width", "tabIndex", "navigable"], outputs: ["navigate"], exportAs: ["kendoButtonGroup"] }, { 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"] }] });
|
|
103
103
|
}
|
|
104
104
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RecurrenceWeekdayRuleEditorComponent, decorators: [{
|
|
105
105
|
type: Component,
|
|
@@ -107,29 +107,30 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
107
107
|
selector: 'kendo-recurrence-weekday-rule-editor',
|
|
108
108
|
template: `
|
|
109
109
|
<div class="k-form-field">
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
</
|
|
110
|
+
<kendo-label
|
|
111
|
+
[text]="textFor('weeklyRepeatOn')"
|
|
112
|
+
labelCssClass="k-form-label"
|
|
113
|
+
(click)="onWeeklyRepeatOnClick()"
|
|
114
|
+
></kendo-label>
|
|
115
|
+
<div class="k-form-field-wrap">
|
|
116
|
+
<kendo-buttongroup
|
|
117
|
+
class="k-button-group-solid"
|
|
118
|
+
width="100%"
|
|
119
|
+
selection="multiple"
|
|
120
|
+
>
|
|
121
|
+
@for (day of weekDays; track day) {
|
|
122
|
+
<button
|
|
123
|
+
kendoButton
|
|
124
|
+
[selected]="isSelected(day)"
|
|
125
|
+
(click)="onDayClick(day)"
|
|
126
|
+
>{{ capitalize(day.text) }}</button>
|
|
127
|
+
}
|
|
128
|
+
</kendo-buttongroup>
|
|
129
|
+
</div>
|
|
129
130
|
</div>
|
|
130
|
-
|
|
131
|
+
`,
|
|
131
132
|
standalone: true,
|
|
132
|
-
imports: [LabelComponent, ButtonGroupComponent,
|
|
133
|
+
imports: [LabelComponent, ButtonGroupComponent, ButtonComponent]
|
|
133
134
|
}]
|
|
134
135
|
}], ctorParameters: () => [{ type: i1.RecurrenceService }, { type: i2.LocalizationService }], propDecorators: { weekDayButtons: [{
|
|
135
136
|
type: ViewChildren,
|
|
@@ -6,7 +6,7 @@ import { Component, forwardRef, ViewChild } from '@angular/core';
|
|
|
6
6
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
7
7
|
import { ResourceEditorBase } from './resource-editor-base';
|
|
8
8
|
import { MultiSelectComponent, TagTemplateDirective, ItemTemplateDirective } from '@progress/kendo-angular-dropdowns';
|
|
9
|
-
import {
|
|
9
|
+
import { NgStyle } from '@angular/common';
|
|
10
10
|
import * as i0 from "@angular/core";
|
|
11
11
|
/**
|
|
12
12
|
* @hidden
|
|
@@ -30,30 +30,34 @@ export class MultipleResourceEditorComponent extends ResourceEditorBase {
|
|
|
30
30
|
this.resourceMultiSelect.focus();
|
|
31
31
|
}
|
|
32
32
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MultipleResourceEditorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
33
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
33
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: MultipleResourceEditorComponent, isStandalone: true, selector: "kendo-multiple-resource-editor", providers: [
|
|
34
34
|
MULTIPLE_RESOURCE_VALUE_ACCESSOR
|
|
35
35
|
], viewQueries: [{ propertyName: "resourceMultiSelect", first: true, predicate: ["resourceMultiSelect"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: `
|
|
36
36
|
<kendo-multiselect
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
37
|
+
#resourceMultiSelect
|
|
38
|
+
[data]='resource.data'
|
|
39
|
+
[textField]='resource.textField'
|
|
40
|
+
[valueField]='resource.valueField'
|
|
41
|
+
[valuePrimitive]='true'
|
|
42
|
+
[value]='resourceValue'
|
|
43
|
+
(valueChange)='onResourceValueChange($event)'
|
|
44
|
+
>
|
|
45
|
+
<ng-template kendoDropDownListItemTemplate let-dataItem>
|
|
46
|
+
@if (resource.colorField) {
|
|
47
|
+
<span class="k-scheduler-mark"
|
|
48
|
+
[ngStyle]="getResourceStyle(dataItem)"></span>
|
|
49
|
+
}
|
|
50
|
+
{{ getField(dataItem, resource.textField) }}
|
|
51
|
+
</ng-template>
|
|
52
|
+
<ng-template kendoMultiSelectTagTemplate let-dataItem>
|
|
53
|
+
@if (resource.colorField) {
|
|
54
|
+
<span class="k-scheduler-mark"
|
|
55
|
+
[ngStyle]="getTagStyle(dataItem)"></span>
|
|
56
|
+
}
|
|
57
|
+
{{ getField(dataItem, resource.textField) }}
|
|
58
|
+
</ng-template>
|
|
55
59
|
</kendo-multiselect>
|
|
56
|
-
|
|
60
|
+
`, isInline: true, dependencies: [{ kind: "component", type: MultiSelectComponent, selector: "kendo-multiselect", inputs: ["showStickyHeader", "focusableId", "autoClose", "loading", "data", "value", "valueField", "textField", "tabindex", "tabIndex", "size", "rounded", "fillMode", "placeholder", "adaptiveMode", "adaptiveTitle", "adaptiveSubtitle", "disabled", "itemDisabled", "checkboxes", "readonly", "filterable", "virtual", "popupSettings", "listHeight", "valuePrimitive", "clearButton", "tagMapper", "allowCustom", "valueNormalizer", "inputAttributes"], outputs: ["filterChange", "valueChange", "open", "opened", "close", "closed", "focus", "blur", "inputFocus", "inputBlur", "removeTag"], exportAs: ["kendoMultiSelect"] }, { kind: "directive", type: ItemTemplateDirective, selector: "[kendoDropDownListItemTemplate],[kendoComboBoxItemTemplate],[kendoAutoCompleteItemTemplate],[kendoMultiSelectItemTemplate]" }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: TagTemplateDirective, selector: "[kendoMultiSelectTagTemplate],[kendoMultiSelectTreeTagTemplate]" }] });
|
|
57
61
|
}
|
|
58
62
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MultipleResourceEditorComponent, decorators: [{
|
|
59
63
|
type: Component,
|
|
@@ -64,28 +68,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
64
68
|
selector: 'kendo-multiple-resource-editor',
|
|
65
69
|
template: `
|
|
66
70
|
<kendo-multiselect
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
71
|
+
#resourceMultiSelect
|
|
72
|
+
[data]='resource.data'
|
|
73
|
+
[textField]='resource.textField'
|
|
74
|
+
[valueField]='resource.valueField'
|
|
75
|
+
[valuePrimitive]='true'
|
|
76
|
+
[value]='resourceValue'
|
|
77
|
+
(valueChange)='onResourceValueChange($event)'
|
|
78
|
+
>
|
|
79
|
+
<ng-template kendoDropDownListItemTemplate let-dataItem>
|
|
80
|
+
@if (resource.colorField) {
|
|
81
|
+
<span class="k-scheduler-mark"
|
|
82
|
+
[ngStyle]="getResourceStyle(dataItem)"></span>
|
|
83
|
+
}
|
|
84
|
+
{{ getField(dataItem, resource.textField) }}
|
|
85
|
+
</ng-template>
|
|
86
|
+
<ng-template kendoMultiSelectTagTemplate let-dataItem>
|
|
87
|
+
@if (resource.colorField) {
|
|
88
|
+
<span class="k-scheduler-mark"
|
|
89
|
+
[ngStyle]="getTagStyle(dataItem)"></span>
|
|
90
|
+
}
|
|
91
|
+
{{ getField(dataItem, resource.textField) }}
|
|
92
|
+
</ng-template>
|
|
85
93
|
</kendo-multiselect>
|
|
86
|
-
|
|
94
|
+
`,
|
|
87
95
|
standalone: true,
|
|
88
|
-
imports: [MultiSelectComponent, ItemTemplateDirective,
|
|
96
|
+
imports: [MultiSelectComponent, ItemTemplateDirective, NgStyle, TagTemplateDirective]
|
|
89
97
|
}]
|
|
90
98
|
}], propDecorators: { resourceMultiSelect: [{
|
|
91
99
|
type: ViewChild,
|
|
@@ -6,7 +6,7 @@ import { Component, forwardRef, ViewChild } from '@angular/core';
|
|
|
6
6
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
7
7
|
import { ResourceEditorBase } from './resource-editor-base';
|
|
8
8
|
import { DropDownListComponent, ItemTemplateDirective } from '@progress/kendo-angular-dropdowns';
|
|
9
|
-
import {
|
|
9
|
+
import { NgStyle } from '@angular/common';
|
|
10
10
|
import * as i0 from "@angular/core";
|
|
11
11
|
/**
|
|
12
12
|
* @hidden
|
|
@@ -25,25 +25,27 @@ export class SingleResourceEditorComponent extends ResourceEditorBase {
|
|
|
25
25
|
this.resourceDropDown.focus();
|
|
26
26
|
}
|
|
27
27
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SingleResourceEditorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
28
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
28
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: SingleResourceEditorComponent, isStandalone: true, selector: "kendo-single-resource-editor", providers: [
|
|
29
29
|
SINGLE_RESOURCE_VALUE_ACCESSOR
|
|
30
30
|
], viewQueries: [{ propertyName: "resourceDropDown", first: true, predicate: ["resourceDropDown"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: `
|
|
31
31
|
<kendo-dropdownlist
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
32
|
+
#resourceDropDown
|
|
33
|
+
[data]='resource.data'
|
|
34
|
+
[textField]='resource.textField'
|
|
35
|
+
[valueField]='resource.valueField'
|
|
36
|
+
[valuePrimitive]='true'
|
|
37
|
+
[value]='resourceValue'
|
|
38
|
+
(valueChange)='onResourceValueChange($event)'
|
|
39
|
+
>
|
|
40
|
+
<ng-template kendoDropDownListItemTemplate let-dataItem>
|
|
41
|
+
@if (resource.colorField) {
|
|
42
|
+
<span class="k-scheduler-mark"
|
|
43
|
+
[ngStyle]="getResourceStyle(dataItem)"></span>
|
|
44
|
+
}
|
|
45
|
+
{{ getField(dataItem, resource.textField) }}
|
|
46
|
+
</ng-template>
|
|
45
47
|
</kendo-dropdownlist>
|
|
46
|
-
|
|
48
|
+
`, isInline: true, dependencies: [{ kind: "component", type: DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["customIconClass", "showStickyHeader", "icon", "svgIcon", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "adaptiveTitle", "adaptiveSubtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "leftRightArrowsNavigation", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { kind: "directive", type: ItemTemplateDirective, selector: "[kendoDropDownListItemTemplate],[kendoComboBoxItemTemplate],[kendoAutoCompleteItemTemplate],[kendoMultiSelectItemTemplate]" }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
|
|
47
49
|
}
|
|
48
50
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SingleResourceEditorComponent, decorators: [{
|
|
49
51
|
type: Component,
|
|
@@ -54,23 +56,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
54
56
|
selector: 'kendo-single-resource-editor',
|
|
55
57
|
template: `
|
|
56
58
|
<kendo-dropdownlist
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
59
|
+
#resourceDropDown
|
|
60
|
+
[data]='resource.data'
|
|
61
|
+
[textField]='resource.textField'
|
|
62
|
+
[valueField]='resource.valueField'
|
|
63
|
+
[valuePrimitive]='true'
|
|
64
|
+
[value]='resourceValue'
|
|
65
|
+
(valueChange)='onResourceValueChange($event)'
|
|
66
|
+
>
|
|
67
|
+
<ng-template kendoDropDownListItemTemplate let-dataItem>
|
|
68
|
+
@if (resource.colorField) {
|
|
69
|
+
<span class="k-scheduler-mark"
|
|
70
|
+
[ngStyle]="getResourceStyle(dataItem)"></span>
|
|
71
|
+
}
|
|
72
|
+
{{ getField(dataItem, resource.textField) }}
|
|
73
|
+
</ng-template>
|
|
70
74
|
</kendo-dropdownlist>
|
|
71
|
-
|
|
75
|
+
`,
|
|
72
76
|
standalone: true,
|
|
73
|
-
imports: [DropDownListComponent, ItemTemplateDirective,
|
|
77
|
+
imports: [DropDownListComponent, ItemTemplateDirective, NgStyle]
|
|
74
78
|
}]
|
|
75
79
|
}], propDecorators: { resourceDropDown: [{
|
|
76
80
|
type: ViewChild,
|
|
@@ -7,7 +7,6 @@ import { Component, forwardRef, Input, EventEmitter, Output } from '@angular/cor
|
|
|
7
7
|
import { NG_VALUE_ACCESSOR, NgControl, ReactiveFormsModule } from '@angular/forms';
|
|
8
8
|
import { timezoneNames } from '@progress/kendo-date-math';
|
|
9
9
|
import { ComboBoxComponent } from '@progress/kendo-angular-dropdowns';
|
|
10
|
-
import { NgIf } from '@angular/common';
|
|
11
10
|
import * as i0 from "@angular/core";
|
|
12
11
|
import * as i1 from "@angular/forms";
|
|
13
12
|
/**
|
|
@@ -110,11 +109,11 @@ export class TimeZoneEditorComponent {
|
|
|
110
109
|
this.onTouchedCallback = fn;
|
|
111
110
|
}
|
|
112
111
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TimeZoneEditorComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
|
113
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
112
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TimeZoneEditorComponent, isStandalone: true, selector: "kendo-timezone-editor", inputs: { width: "width" }, outputs: { valueChange: "valueChange" }, providers: [
|
|
114
113
|
TIME_ZONE_VALUE_ACCESSOR
|
|
115
114
|
], viewQueries: [{ propertyName: "tzComboBox", first: true, predicate: ["tzcombobox"], descendants: true, static: true }, { propertyName: "tzComboBoxControl", first: true, predicate: ["tzcomboboxControl"], descendants: true, static: true }], ngImport: i0, template: `
|
|
116
|
-
|
|
117
|
-
|
|
115
|
+
@if (!formControl) {
|
|
116
|
+
<kendo-combobox
|
|
118
117
|
#tzcombobox
|
|
119
118
|
[style.width.px]="width"
|
|
120
119
|
[allowCustom]="false"
|
|
@@ -124,9 +123,10 @@ export class TimeZoneEditorComponent {
|
|
|
124
123
|
[value]="tz"
|
|
125
124
|
(filterChange)="onTimeZoneFilterChange($event)"
|
|
126
125
|
(valueChange)="onTimeZoneChange($event)">
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
126
|
+
</kendo-combobox>
|
|
127
|
+
}
|
|
128
|
+
@if (formControl) {
|
|
129
|
+
<kendo-combobox
|
|
130
130
|
#tzcomboboxControl
|
|
131
131
|
[style.width.px]="width"
|
|
132
132
|
[allowCustom]="false"
|
|
@@ -137,8 +137,9 @@ export class TimeZoneEditorComponent {
|
|
|
137
137
|
[formControl]="formControl"
|
|
138
138
|
(filterChange)="onTimeZoneFilterChange($event)"
|
|
139
139
|
(valueChange)="onTimeZoneChange($event)">
|
|
140
|
-
|
|
141
|
-
|
|
140
|
+
</kendo-combobox>
|
|
141
|
+
}
|
|
142
|
+
`, isInline: true, dependencies: [{ kind: "component", type: ComboBoxComponent, selector: "kendo-combobox", inputs: ["icon", "svgIcon", "inputAttributes", "showStickyHeader", "focusableId", "allowCustom", "data", "value", "textField", "valueField", "valuePrimitive", "valueNormalizer", "placeholder", "adaptiveMode", "adaptiveTitle", "adaptiveSubtitle", "popupSettings", "listHeight", "loading", "suggest", "clearButton", "disabled", "itemDisabled", "readonly", "tabindex", "tabIndex", "filterable", "virtual", "size", "rounded", "fillMode"], outputs: ["valueChange", "selectionChange", "filterChange", "open", "opened", "close", "closed", "focus", "blur", "inputFocus", "inputBlur", "escape"], exportAs: ["kendoComboBox"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
142
143
|
}
|
|
143
144
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TimeZoneEditorComponent, decorators: [{
|
|
144
145
|
type: Component,
|
|
@@ -148,8 +149,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
148
149
|
],
|
|
149
150
|
selector: 'kendo-timezone-editor',
|
|
150
151
|
template: `
|
|
151
|
-
|
|
152
|
-
|
|
152
|
+
@if (!formControl) {
|
|
153
|
+
<kendo-combobox
|
|
153
154
|
#tzcombobox
|
|
154
155
|
[style.width.px]="width"
|
|
155
156
|
[allowCustom]="false"
|
|
@@ -159,9 +160,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
159
160
|
[value]="tz"
|
|
160
161
|
(filterChange)="onTimeZoneFilterChange($event)"
|
|
161
162
|
(valueChange)="onTimeZoneChange($event)">
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
163
|
+
</kendo-combobox>
|
|
164
|
+
}
|
|
165
|
+
@if (formControl) {
|
|
166
|
+
<kendo-combobox
|
|
165
167
|
#tzcomboboxControl
|
|
166
168
|
[style.width.px]="width"
|
|
167
169
|
[allowCustom]="false"
|
|
@@ -172,10 +174,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
172
174
|
[formControl]="formControl"
|
|
173
175
|
(filterChange)="onTimeZoneFilterChange($event)"
|
|
174
176
|
(valueChange)="onTimeZoneChange($event)">
|
|
175
|
-
|
|
176
|
-
|
|
177
|
+
</kendo-combobox>
|
|
178
|
+
}
|
|
179
|
+
`,
|
|
177
180
|
standalone: true,
|
|
178
|
-
imports: [
|
|
181
|
+
imports: [ComboBoxComponent, ReactiveFormsModule]
|
|
179
182
|
}]
|
|
180
183
|
}], ctorParameters: () => [{ type: i0.Injector }], propDecorators: { tzComboBox: [{
|
|
181
184
|
type: ViewChild,
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
import { ChangeDetectorRef, Directive, NgZone } from '@angular/core';
|
|
6
|
-
import { Keys,
|
|
6
|
+
import { Keys, normalizeKeys } from '@progress/kendo-angular-common';
|
|
7
7
|
import { ZonedDate } from '@progress/kendo-date-math';
|
|
8
8
|
import { Subscription } from 'rxjs';
|
|
9
9
|
import { FocusService } from './focus.service';
|
|
@@ -35,7 +35,7 @@ export class ShortcutsDirective {
|
|
|
35
35
|
viewState;
|
|
36
36
|
dialogsService;
|
|
37
37
|
shortcuts = [{
|
|
38
|
-
match: e => e
|
|
38
|
+
match: e => normalizeKeys(e) === Keys.KeyC && noModifiers(e),
|
|
39
39
|
action: e => {
|
|
40
40
|
const scheduler = this.scheduler;
|
|
41
41
|
const hours = new Date().getHours();
|
|
@@ -62,12 +62,12 @@ export class ShortcutsDirective {
|
|
|
62
62
|
}
|
|
63
63
|
}, {
|
|
64
64
|
match: e => {
|
|
65
|
-
const code =
|
|
65
|
+
const code = normalizeKeys(e);
|
|
66
66
|
return (code.startsWith('Digit') || code.startsWith('Numpad')) && withModifiers(e, Modifiers.AltKey);
|
|
67
67
|
},
|
|
68
68
|
action: e => {
|
|
69
69
|
const scheduler = this.scheduler;
|
|
70
|
-
const code =
|
|
70
|
+
const code = normalizeKeys(e);
|
|
71
71
|
const viewIndex = this.digitToNumber(code, code.startsWith('Digit') ? 'Digit' : 'Numpad') - 1;
|
|
72
72
|
const views = scheduler.views.toArray();
|
|
73
73
|
const view = views[viewIndex];
|
|
@@ -91,7 +91,7 @@ export class ShortcutsDirective {
|
|
|
91
91
|
});
|
|
92
92
|
}
|
|
93
93
|
}, {
|
|
94
|
-
match: e => e
|
|
94
|
+
match: e => normalizeKeys(e) === Keys.KeyT && noModifiers(e),
|
|
95
95
|
action: () => {
|
|
96
96
|
this.zone.run(() => {
|
|
97
97
|
this.scheduler.onNavigationAction({ type: 'today' });
|
|
@@ -99,7 +99,7 @@ export class ShortcutsDirective {
|
|
|
99
99
|
});
|
|
100
100
|
}
|
|
101
101
|
}, {
|
|
102
|
-
match: e => e
|
|
102
|
+
match: e => normalizeKeys(e) === Keys.KeyB && noModifiers(e),
|
|
103
103
|
action: () => {
|
|
104
104
|
this.zone.run(() => {
|
|
105
105
|
this.scheduler.onNavigationAction({ type: 'toggle-business-hours' });
|
|
@@ -108,11 +108,11 @@ export class ShortcutsDirective {
|
|
|
108
108
|
}
|
|
109
109
|
}, {
|
|
110
110
|
match: (e) => {
|
|
111
|
-
const code =
|
|
111
|
+
const code = normalizeKeys(e);
|
|
112
112
|
return (code === Keys.ArrowLeft || code === Keys.ArrowRight) && withModifiers(e, Modifiers.ShiftKey);
|
|
113
113
|
},
|
|
114
114
|
action: (e) => {
|
|
115
|
-
const code =
|
|
115
|
+
const code = normalizeKeys(e);
|
|
116
116
|
const type = code === Keys.ArrowLeft ? 'prev' : 'next';
|
|
117
117
|
this.zone.run(() => {
|
|
118
118
|
this.scheduler.onNavigationAction({ type });
|
|
@@ -121,7 +121,7 @@ export class ShortcutsDirective {
|
|
|
121
121
|
}
|
|
122
122
|
}, {
|
|
123
123
|
match: e => {
|
|
124
|
-
const code =
|
|
124
|
+
const code = normalizeKeys(e);
|
|
125
125
|
return (code === Keys.ArrowUp || code === Keys.ArrowLeft) && noModifiers(e) && !isContentWrapper(e.target);
|
|
126
126
|
},
|
|
127
127
|
action: e => {
|
|
@@ -137,7 +137,7 @@ export class ShortcutsDirective {
|
|
|
137
137
|
if (!prevented) {
|
|
138
138
|
const item = this.focusService.activeItem;
|
|
139
139
|
const isFirstEvent = item.containerType === 'content' && item.element.nativeElement.matches(':first-of-type');
|
|
140
|
-
const code =
|
|
140
|
+
const code = normalizeKeys(e);
|
|
141
141
|
const isUpArrow = code === Keys.ArrowUp;
|
|
142
142
|
// eslint-disable-next-line no-unused-expressions
|
|
143
143
|
isFirstEvent && isUpArrow ? this.focusService.focusToolbar() : this.focusService.focusNext({ offset: -1 });
|
|
@@ -146,7 +146,7 @@ export class ShortcutsDirective {
|
|
|
146
146
|
}
|
|
147
147
|
}, {
|
|
148
148
|
match: e => {
|
|
149
|
-
const code =
|
|
149
|
+
const code = normalizeKeys(e);
|
|
150
150
|
return (code === Keys.ArrowDown || code === Keys.ArrowRight) && noModifiers(e) && !isContentWrapper(e.target);
|
|
151
151
|
},
|
|
152
152
|
action: e => {
|
|
@@ -162,7 +162,7 @@ export class ShortcutsDirective {
|
|
|
162
162
|
if (!prevented) {
|
|
163
163
|
const isInToolbar = this.focusService.activeItem.containerType === 'toolbar';
|
|
164
164
|
const offset = 1;
|
|
165
|
-
const code =
|
|
165
|
+
const code = normalizeKeys(e);
|
|
166
166
|
if (code === Keys.ArrowDown && isInToolbar) {
|
|
167
167
|
const focusableElementsArray = Array.from(this.focusService.focusableItems);
|
|
168
168
|
const firstFocusableContentElementIndex = focusableElementsArray.findIndex(item => item.containerType === 'content');
|
|
@@ -10,7 +10,7 @@ export const packageMetadata = {
|
|
|
10
10
|
productName: 'Kendo UI for Angular',
|
|
11
11
|
productCode: 'KENDOUIANGULAR',
|
|
12
12
|
productCodes: ['KENDOUIANGULAR'],
|
|
13
|
-
publishDate:
|
|
14
|
-
version: '21.
|
|
13
|
+
publishDate: 1764593164,
|
|
14
|
+
version: '21.2.0-develop.10',
|
|
15
15
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
16
16
|
};
|
|
@@ -8,7 +8,7 @@ import { LocalizationService } from '@progress/kendo-angular-l10n';
|
|
|
8
8
|
import { PDFService } from './pdf.service';
|
|
9
9
|
import { filePdfIcon } from '@progress/kendo-svg-icons';
|
|
10
10
|
import { IconWrapperComponent } from '@progress/kendo-angular-icons';
|
|
11
|
-
import {
|
|
11
|
+
import { NgClass } from '@angular/common';
|
|
12
12
|
import * as i0 from "@angular/core";
|
|
13
13
|
import * as i1 from "./pdf.service";
|
|
14
14
|
import * as i2 from "@progress/kendo-angular-l10n";
|
|
@@ -48,37 +48,47 @@ export class PDFCommandDirective extends Button {
|
|
|
48
48
|
this.svgIcon = filePdfIcon;
|
|
49
49
|
}
|
|
50
50
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PDFCommandDirective, deps: [{ token: i1.PDFService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i2.LocalizationService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
51
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
52
|
-
|
|
53
|
-
|
|
51
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: PDFCommandDirective, isStandalone: true, selector: "[kendoSchedulerPDFCommand]", host: { listeners: { "click": "onClick($event)" } }, usesInheritance: true, ngImport: i0, template: `
|
|
52
|
+
@if (icon || svgIcon) {
|
|
53
|
+
<kendo-icon-wrapper
|
|
54
54
|
innerCssClass="k-button-icon"
|
|
55
55
|
[name]="icon"
|
|
56
|
-
|
|
57
|
-
|
|
56
|
+
[svgIcon]="svgIcon"></kendo-icon-wrapper>
|
|
57
|
+
}
|
|
58
|
+
@if (imageUrl) {
|
|
59
|
+
<span class="k-button-icon k-icon">
|
|
58
60
|
<img [src]="imageUrl" class="k-image" role="presentation" />
|
|
59
|
-
|
|
60
|
-
|
|
61
|
+
</span>
|
|
62
|
+
}
|
|
63
|
+
@if (iconClass) {
|
|
64
|
+
<span class="k-button-icon" [ngClass]="iconClass"></span>
|
|
65
|
+
}
|
|
61
66
|
<span class="k-button-text"><ng-content></ng-content></span>
|
|
62
|
-
|
|
67
|
+
`, isInline: true, dependencies: [{ kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
63
68
|
}
|
|
64
69
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PDFCommandDirective, decorators: [{
|
|
65
70
|
type: Component,
|
|
66
71
|
args: [{
|
|
67
72
|
selector: '[kendoSchedulerPDFCommand]',
|
|
68
73
|
template: `
|
|
69
|
-
|
|
70
|
-
|
|
74
|
+
@if (icon || svgIcon) {
|
|
75
|
+
<kendo-icon-wrapper
|
|
71
76
|
innerCssClass="k-button-icon"
|
|
72
77
|
[name]="icon"
|
|
73
|
-
|
|
74
|
-
|
|
78
|
+
[svgIcon]="svgIcon"></kendo-icon-wrapper>
|
|
79
|
+
}
|
|
80
|
+
@if (imageUrl) {
|
|
81
|
+
<span class="k-button-icon k-icon">
|
|
75
82
|
<img [src]="imageUrl" class="k-image" role="presentation" />
|
|
76
|
-
|
|
77
|
-
|
|
83
|
+
</span>
|
|
84
|
+
}
|
|
85
|
+
@if (iconClass) {
|
|
86
|
+
<span class="k-button-icon" [ngClass]="iconClass"></span>
|
|
87
|
+
}
|
|
78
88
|
<span class="k-button-text"><ng-content></ng-content></span>
|
|
79
|
-
|
|
89
|
+
`,
|
|
80
90
|
standalone: true,
|
|
81
|
-
imports: [
|
|
91
|
+
imports: [IconWrapperComponent, NgClass]
|
|
82
92
|
}]
|
|
83
93
|
}], ctorParameters: () => [{ type: i1.PDFService }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i2.LocalizationService }, { type: i0.NgZone }], propDecorators: { onClick: [{
|
|
84
94
|
type: HostListener,
|