@progress/kendo-angular-scheduler 12.2.0-develop.1 → 12.2.0-develop.3

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.
@@ -9,7 +9,7 @@ export const packageMetadata = {
9
9
  name: '@progress/kendo-angular-scheduler',
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
12
- publishDate: 1684331190,
13
- version: '12.2.0-develop.1',
12
+ publishDate: 1684487904,
13
+ version: '12.2.0-develop.3',
14
14
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
15
15
  };
@@ -261,6 +261,10 @@ export class SchedulerComponent {
261
261
  * Fires when the user clicks the **PDF export** command button.
262
262
  */
263
263
  this.pdfExport = new EventEmitter();
264
+ /**
265
+ * Fires when the Scheduler is resized horizontally.
266
+ */
267
+ this.schedulerResize = new EventEmitter();
264
268
  /**
265
269
  * @hidden
266
270
  */
@@ -543,6 +547,12 @@ export class SchedulerComponent {
543
547
  this.viewContext.notifyAction(action);
544
548
  }
545
549
  }
550
+ /**
551
+ * @hidden
552
+ */
553
+ onToolbarWidthChange(width) {
554
+ this.schedulerResize.emit(width);
555
+ }
546
556
  /**
547
557
  * Creates a popup editor for the new event.
548
558
  *
@@ -882,7 +892,7 @@ export class SchedulerComponent {
882
892
  }
883
893
  }
884
894
  SchedulerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SchedulerComponent, deps: [{ token: i0.ElementRef }, { token: i1.ViewContextService }, { token: i2.ViewStateService }, { token: i3.EditService }, { token: i4.DialogsService }, { token: i5.IntlService }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i6.PDFService }, { token: i7.LocalizationService }, { token: i8.DomEventsService }, { token: i0.Renderer2 }, { token: i9.FocusService }], target: i0.ɵɵFactoryTarget.Component });
885
- SchedulerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: SchedulerComponent, selector: "kendo-scheduler", inputs: { selectedViewIndex: "selectedViewIndex", editable: "editable", selectable: "selectable", min: "min", max: "max", eventHeight: "eventHeight", columnWidth: "columnWidth", showWorkHours: "showWorkHours", startTime: "startTime", endTime: "endTime", workDayStart: "workDayStart", workDayEnd: "workDayEnd", workWeekStart: "workWeekStart", workWeekEnd: "workWeekEnd", weekStart: "weekStart", slotDuration: "slotDuration", slotDivisions: "slotDivisions", slotFill: "slotFill", scrollTime: "scrollTime", group: "group", resources: "resources", loading: "loading", timezone: "timezone", events: "events", selectedDate: "selectedDate", modelFields: "modelFields", currentTimeMarker: "currentTimeMarker", highlightOngoingEvents: "highlightOngoingEvents", slotClass: "slotClass", eventClass: "eventClass", eventStyles: "eventStyles", isSlotSelected: "isSlotSelected" }, outputs: { selectedViewIndexChange: "selectedViewIndexChange", navigate: "navigate", dateChange: "dateChange", slotClick: "slotClick", slotDblClick: "slotDblClick", create: "create", eventClick: "eventClick", eventDblClick: "eventDblClick", eventKeydown: "eventKeydown", cancel: "cancel", save: "save", remove: "remove", resizeStart: "resizeStart", resize: "resize", resizeEnd: "resizeEnd", dragStart: "dragStart", drag: "drag", dragEnd: "dragEnd", slotDragStart: "slotDragStart", slotDrag: "slotDrag", slotDragEnd: "slotDragEnd", pdfExport: "pdfExport" }, host: { properties: { "class.k-widget": "this.hostClasses", "class.k-scheduler": "this.hostClasses", "class.k-floatwrap": "this.hostClasses", "attr.role": "this.ariaRole", "class.k-rtl": "this.rtl", "attr.dir": "this.dir" } }, providers: [
895
+ SchedulerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: SchedulerComponent, selector: "kendo-scheduler", inputs: { selectedViewIndex: "selectedViewIndex", editable: "editable", selectable: "selectable", min: "min", max: "max", eventHeight: "eventHeight", columnWidth: "columnWidth", showWorkHours: "showWorkHours", startTime: "startTime", endTime: "endTime", workDayStart: "workDayStart", workDayEnd: "workDayEnd", workWeekStart: "workWeekStart", workWeekEnd: "workWeekEnd", weekStart: "weekStart", slotDuration: "slotDuration", slotDivisions: "slotDivisions", slotFill: "slotFill", scrollTime: "scrollTime", group: "group", resources: "resources", loading: "loading", timezone: "timezone", events: "events", selectedDate: "selectedDate", modelFields: "modelFields", currentTimeMarker: "currentTimeMarker", highlightOngoingEvents: "highlightOngoingEvents", slotClass: "slotClass", eventClass: "eventClass", eventStyles: "eventStyles", isSlotSelected: "isSlotSelected" }, outputs: { selectedViewIndexChange: "selectedViewIndexChange", navigate: "navigate", dateChange: "dateChange", slotClick: "slotClick", slotDblClick: "slotDblClick", create: "create", eventClick: "eventClick", eventDblClick: "eventDblClick", eventKeydown: "eventKeydown", cancel: "cancel", save: "save", remove: "remove", resizeStart: "resizeStart", resize: "resize", resizeEnd: "resizeEnd", dragStart: "dragStart", drag: "drag", dragEnd: "dragEnd", slotDragStart: "slotDragStart", slotDrag: "slotDrag", slotDragEnd: "slotDragEnd", pdfExport: "pdfExport", schedulerResize: "schedulerResize" }, host: { properties: { "class.k-widget": "this.hostClasses", "class.k-scheduler": "this.hostClasses", "class.k-floatwrap": "this.hostClasses", "attr.role": "this.ariaRole", "class.k-rtl": "this.rtl", "attr.dir": "this.dir" } }, providers: [
886
896
  EditService,
887
897
  DialogsService,
888
898
  DomEventsService,
@@ -1145,9 +1155,10 @@ SchedulerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
1145
1155
  [views]="$any(views)"
1146
1156
  [selectedView]="selectedView"
1147
1157
  [template]="toolbarTemplate"
1148
- (navigate)="onNavigationAction($event)"
1149
1158
  [min]="min"
1150
1159
  [max]="max"
1160
+ (navigate)="onNavigationAction($event)"
1161
+ (toolbarWidthChange)="onToolbarWidthChange($event)"
1151
1162
  ></kendo-scheduler-toolbar>
1152
1163
 
1153
1164
  <ng-container *ngTemplateOutlet="selectedView?.template">
@@ -1168,7 +1179,7 @@ SchedulerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
1168
1179
 
1169
1180
  <div [loading]="loading" kendoSchedulerLoading>
1170
1181
  </div>
1171
- `, isInline: true, components: [{ type: i10.ToolbarComponent, selector: "kendo-scheduler-toolbar", inputs: ["selectedView", "views", "dateRange", "selectedDate", "template", "min", "max"], outputs: ["navigate"] }, { type: i11.EditDialogComponent, selector: "kendo-scheduler-edit-dialog", inputs: ["resources", "timezone", "weekStart", "fields", "editTemplate"] }, { type: i12.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { type: i13.LoadingComponent, selector: "[kendoSchedulerLoading]", inputs: ["loading"] }], directives: [{ type: i14.LocalizedMessagesDirective, selector: "[kendoSchedulerLocalizedMessages]" }, { type: i15.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1182
+ `, isInline: true, components: [{ type: i10.ToolbarComponent, selector: "kendo-scheduler-toolbar", inputs: ["selectedView", "views", "dateRange", "selectedDate", "template", "min", "max"], outputs: ["navigate", "toolbarWidthChange"] }, { type: i11.EditDialogComponent, selector: "kendo-scheduler-edit-dialog", inputs: ["resources", "timezone", "weekStart", "fields", "editTemplate"] }, { type: i12.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { type: i13.LoadingComponent, selector: "[kendoSchedulerLoading]", inputs: ["loading"] }], directives: [{ type: i14.LocalizedMessagesDirective, selector: "[kendoSchedulerLocalizedMessages]" }, { type: i15.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1172
1183
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SchedulerComponent, decorators: [{
1173
1184
  type: Component,
1174
1185
  args: [{
@@ -1438,9 +1449,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1438
1449
  [views]="$any(views)"
1439
1450
  [selectedView]="selectedView"
1440
1451
  [template]="toolbarTemplate"
1441
- (navigate)="onNavigationAction($event)"
1442
1452
  [min]="min"
1443
1453
  [max]="max"
1454
+ (navigate)="onNavigationAction($event)"
1455
+ (toolbarWidthChange)="onToolbarWidthChange($event)"
1444
1456
  ></kendo-scheduler-toolbar>
1445
1457
 
1446
1458
  <ng-container *ngTemplateOutlet="selectedView?.template">
@@ -1589,6 +1601,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1589
1601
  type: Output
1590
1602
  }], pdfExport: [{
1591
1603
  type: Output
1604
+ }], schedulerResize: [{
1605
+ type: Output
1592
1606
  }], editDialogTemplate: [{
1593
1607
  type: ContentChild,
1594
1608
  args: [EditDialogTemplateDirective, { static: false }]
@@ -43,21 +43,7 @@ export class ToolbarNavigationComponent {
43
43
  this.localization = localization;
44
44
  this.cd = cd;
45
45
  this.viewContext = viewContext;
46
- /**
47
- * @hidden
48
- * TODO: Drop in next MAJOR version
49
- */
50
- this.inlineDisplayStyle = 'flex';
51
- /**
52
- * @hidden
53
- * TODO: Drop in next MAJOR version
54
- */
55
- this.inlineFlexFlowStyle = 'inherit';
56
- /**
57
- * @hidden
58
- * TODO: Drop in next MAJOR version
59
- */
60
- this.inlineGapStyle = 'inherit';
46
+ this.hostClass = true;
61
47
  /**
62
48
  * @hidden
63
49
  */
@@ -199,10 +185,10 @@ export class ToolbarNavigationComponent {
199
185
  }
200
186
  }
201
187
  ToolbarNavigationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ToolbarNavigationComponent, deps: [{ token: i1.PopupService }, { token: i2.ToolbarService }, { token: i3.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i4.ViewContextService }], target: i0.ɵɵFactoryTarget.Component });
202
- ToolbarNavigationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ToolbarNavigationComponent, selector: "[kendoSchedulerToolbarNavigation]", inputs: { min: "min", max: "max" }, host: { properties: { "style.display": "this.inlineDisplayStyle", "style.flex-flow": "this.inlineFlexFlowStyle", "style.gap": "this.inlineGapStyle" } }, providers: [
188
+ ToolbarNavigationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ToolbarNavigationComponent, selector: "[kendoSchedulerToolbarNavigation]", inputs: { min: "min", max: "max" }, host: { properties: { "class.k-toolbar-group": "this.hostClass" } }, providers: [
203
189
  PopupService
204
190
  ], viewQueries: [{ propertyName: "calendar", first: true, predicate: ["calendar"], descendants: true }], ngImport: i0, template: `
205
- <span class="k-scheduler-navigation k-button-group" role="group">
191
+ <span class="k-scheduler-navigation k-button-group k-button-group-solid" role="group">
206
192
  <button kendoButton
207
193
  (click)="todayClick()"
208
194
  class="k-nav-today"
@@ -274,7 +260,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
274
260
  PopupService
275
261
  ],
276
262
  template: `
277
- <span class="k-scheduler-navigation k-button-group" role="group">
263
+ <span class="k-scheduler-navigation k-button-group k-button-group-solid" role="group">
278
264
  <button kendoButton
279
265
  (click)="todayClick()"
280
266
  class="k-nav-today"
@@ -340,15 +326,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
340
326
  }], ctorParameters: function () { return [{ type: i1.PopupService }, { type: i2.ToolbarService }, { type: i3.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: i4.ViewContextService }]; }, propDecorators: { calendar: [{
341
327
  type: ViewChild,
342
328
  args: ['calendar', { static: false }]
343
- }], inlineDisplayStyle: [{
344
- type: HostBinding,
345
- args: ['style.display']
346
- }], inlineFlexFlowStyle: [{
347
- type: HostBinding,
348
- args: ['style.flex-flow']
349
- }], inlineGapStyle: [{
329
+ }], hostClass: [{
350
330
  type: HostBinding,
351
- args: ['style.gap']
331
+ args: ['class.k-toolbar-group']
352
332
  }], min: [{
353
333
  type: Input
354
334
  }], max: [{
@@ -2,7 +2,7 @@
2
2
  * Copyright © 2023 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
- import { Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';
5
+ import { Component, ElementRef, EventEmitter, HostBinding, Input, NgZone, Output } from '@angular/core';
6
6
  import { Observable, Subscription } from 'rxjs';
7
7
  import { SchedulerView } from '../types';
8
8
  import { ToolbarTemplateDirective } from './toolbar-template.directive';
@@ -11,16 +11,20 @@ import * as i0 from "@angular/core";
11
11
  import * as i1 from "./toolbar.service";
12
12
  import * as i2 from "./navigation.component";
13
13
  import * as i3 from "./view-selector.component";
14
- import * as i4 from "@angular/common";
14
+ import * as i4 from "@progress/kendo-angular-common";
15
+ import * as i5 from "@angular/common";
15
16
  /**
16
17
  * @hidden
17
18
  */
18
19
  export class ToolbarComponent {
19
- constructor(service) {
20
+ constructor(service, element, zone) {
20
21
  this.service = service;
22
+ this.element = element;
23
+ this.zone = zone;
21
24
  this.hostClasses = true;
22
25
  this.toolbarRole = 'toolbar';
23
26
  this.navigate = new EventEmitter();
27
+ this.toolbarWidthChange = new EventEmitter();
24
28
  // The template context is the same as the service context,
25
29
  // but with resolved values instead of observables.
26
30
  this.templateContext = {};
@@ -30,6 +34,7 @@ export class ToolbarComponent {
30
34
  ngOnInit() {
31
35
  this.subs.add(this.selectedDate.subscribe(date => this.templateContext.selectedDate = date));
32
36
  this.subs.add(this.dateRange.subscribe(dateRange => this.templateContext.dateRange = dateRange));
37
+ this.resizeHandler();
33
38
  }
34
39
  ngOnChanges() {
35
40
  this.service.context = {
@@ -48,9 +53,15 @@ export class ToolbarComponent {
48
53
  ngOnDestroy() {
49
54
  this.subs.unsubscribe();
50
55
  }
56
+ resizeHandler() {
57
+ const element = this.element.nativeElement;
58
+ this.zone.run(() => this.toolbarWidth = element.offsetWidth);
59
+ this.toolbarWidthChange.emit(this.toolbarWidth);
60
+ }
61
+ ;
51
62
  }
52
- ToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ToolbarComponent, deps: [{ token: i1.ToolbarService }], target: i0.ɵɵFactoryTarget.Component });
53
- ToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ToolbarComponent, selector: "kendo-scheduler-toolbar", inputs: { selectedView: "selectedView", views: "views", dateRange: "dateRange", selectedDate: "selectedDate", template: "template", min: "min", max: "max" }, outputs: { navigate: "navigate" }, host: { properties: { "class.k-scheduler-toolbar": "this.hostClasses", "class.k-toolbar": "this.hostClasses", "class.k-toolbar-md": "this.hostClasses", "attr.role": "this.toolbarRole" } }, usesOnChanges: true, ngImport: i0, template: `
63
+ ToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ToolbarComponent, deps: [{ token: i1.ToolbarService }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
64
+ ToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ToolbarComponent, 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-md": "this.hostClasses", "attr.role": "this.toolbarRole" } }, usesOnChanges: true, ngImport: i0, template: `
54
65
  <ng-template
55
66
  *ngIf="template; else defaultTemplate"
56
67
  [ngTemplateOutlet]="template.templateRef"
@@ -61,9 +72,11 @@ ToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", versi
61
72
  <ng-template #defaultTemplate>
62
73
  <div kendoSchedulerToolbarNavigation [min]="min" [max]="max"></div>
63
74
  <span class="k-spacer"></span>
64
- <div kendoSchedulerToolbarViewSelector></div>
75
+ <div kendoSchedulerToolbarViewSelector [toolbarWidth]="toolbarWidth"></div>
65
76
  </ng-template>
66
- `, isInline: true, components: [{ type: i2.ToolbarNavigationComponent, selector: "[kendoSchedulerToolbarNavigation]", inputs: ["min", "max"] }, { type: i3.ToolbarViewSelectorComponent, selector: "[kendoSchedulerToolbarViewSelector]" }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
77
+
78
+ <kendo-resize-sensor (resize)="resizeHandler()" [style]="'display: contents;'"></kendo-resize-sensor>
79
+ `, isInline: true, components: [{ type: i2.ToolbarNavigationComponent, selector: "[kendoSchedulerToolbarNavigation]", inputs: ["min", "max"] }, { type: i3.ToolbarViewSelectorComponent, selector: "[kendoSchedulerToolbarViewSelector]", inputs: ["toolbarWidth", "responsiveBreakpoint"] }, { type: i4.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
67
80
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ToolbarComponent, decorators: [{
68
81
  type: Component,
69
82
  args: [{
@@ -79,11 +92,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
79
92
  <ng-template #defaultTemplate>
80
93
  <div kendoSchedulerToolbarNavigation [min]="min" [max]="max"></div>
81
94
  <span class="k-spacer"></span>
82
- <div kendoSchedulerToolbarViewSelector></div>
95
+ <div kendoSchedulerToolbarViewSelector [toolbarWidth]="toolbarWidth"></div>
83
96
  </ng-template>
97
+
98
+ <kendo-resize-sensor (resize)="resizeHandler()" [style]="'display: contents;'"></kendo-resize-sensor>
84
99
  `
85
100
  }]
86
- }], ctorParameters: function () { return [{ type: i1.ToolbarService }]; }, propDecorators: { hostClasses: [{
101
+ }], ctorParameters: function () { return [{ type: i1.ToolbarService }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, propDecorators: { hostClasses: [{
87
102
  type: HostBinding,
88
103
  args: ['class.k-scheduler-toolbar']
89
104
  }, {
@@ -105,10 +120,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
105
120
  type: Input
106
121
  }], template: [{
107
122
  type: Input
108
- }], navigate: [{
109
- type: Output
110
123
  }], min: [{
111
124
  type: Input
112
125
  }], max: [{
113
126
  type: Input
127
+ }], navigate: [{
128
+ type: Output
129
+ }], toolbarWidthChange: [{
130
+ type: Output
114
131
  }] } });
@@ -8,6 +8,7 @@ import { ButtonsModule } from '@progress/kendo-angular-buttons';
8
8
  import { CalendarModule } from '@progress/kendo-angular-dateinputs';
9
9
  import { PopupModule } from '@progress/kendo-angular-popup';
10
10
  import { EventsModule } from '@progress/kendo-angular-common';
11
+ import { ResizeSensorModule } from '@progress/kendo-angular-common';
11
12
  import { ToolbarNavigationComponent } from './navigation.component';
12
13
  import { ToolbarComponent } from './toolbar.component';
13
14
  import { ToolbarTemplateDirective } from './toolbar-template.directive';
@@ -35,7 +36,8 @@ ToolbarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version:
35
36
  CalendarModule,
36
37
  PopupModule,
37
38
  EventsModule,
38
- SharedModule], exports: [ToolbarComponent, ToolbarNavigationComponent,
39
+ SharedModule,
40
+ ResizeSensorModule], exports: [ToolbarComponent, ToolbarNavigationComponent,
39
41
  ToolbarTemplateDirective,
40
42
  ToolbarViewSelectorComponent] });
41
43
  ToolbarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ToolbarModule, imports: [[
@@ -44,7 +46,8 @@ ToolbarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version:
44
46
  CalendarModule,
45
47
  PopupModule,
46
48
  EventsModule,
47
- SharedModule
49
+ SharedModule,
50
+ ResizeSensorModule
48
51
  ]] });
49
52
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ToolbarModule, decorators: [{
50
53
  type: NgModule,
@@ -55,7 +58,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
55
58
  CalendarModule,
56
59
  PopupModule,
57
60
  EventsModule,
58
- SharedModule
61
+ SharedModule,
62
+ ResizeSensorModule
59
63
  ],
60
64
  exports: [
61
65
  ToolbarComponent,
@@ -2,7 +2,7 @@
2
2
  * Copyright © 2023 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
- import { Component, HostBinding } from '@angular/core';
5
+ import { Component, Input } from '@angular/core';
6
6
  import { ToolbarService } from './toolbar.service';
7
7
  import { LocalizationService } from '@progress/kendo-angular-l10n';
8
8
  import * as i0 from "@angular/core";
@@ -31,9 +31,12 @@ export class ToolbarViewSelectorComponent {
31
31
  this.service = service;
32
32
  this.localization = localization;
33
33
  /**
34
- * @hidden
34
+ * Specifies the Toolbar width (in pixels) at which the responsive behavior should be enabled.
35
+ * The responsive behavior means that the ButtonGroup with the views will be replaced by a `select` element.
36
+ *
37
+ * @default 1024
35
38
  */
36
- this.hostClasses = true;
39
+ this.responsiveBreakpoint = 1024;
37
40
  }
38
41
  /**
39
42
  * @hidden
@@ -80,9 +83,9 @@ export class ToolbarViewSelectorComponent {
80
83
  }
81
84
  }
82
85
  ToolbarViewSelectorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ToolbarViewSelectorComponent, deps: [{ token: i1.ToolbarService }, { token: i2.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
83
- ToolbarViewSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ToolbarViewSelectorComponent, selector: "[kendoSchedulerToolbarViewSelector]", host: { properties: { "class.k-scheduler-views-wrapper": "this.hostClasses" } }, ngImport: i0, template: `
86
+ ToolbarViewSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ToolbarViewSelectorComponent, selector: "[kendoSchedulerToolbarViewSelector]", inputs: { toolbarWidth: "toolbarWidth", responsiveBreakpoint: "responsiveBreakpoint" }, ngImport: i0, template: `
84
87
  <select
85
- *ngIf="ctx.views?.length > 1"
88
+ *ngIf="ctx.views?.length > 1 && toolbarWidth <= responsiveBreakpoint"
86
89
  (change)="onChange($event)"
87
90
  class="k-views-dropdown k-picker-md k-rounded-md k-picker-solid k-dropdownlist k-picker"
88
91
  [attr.aria-label]="selectView"
@@ -95,7 +98,11 @@ ToolbarViewSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
95
98
  {{ view.title }}
96
99
  </option>
97
100
  </select>
98
- <span class="k-scheduler-views k-button-group" role="group">
101
+ <span
102
+ *ngIf="toolbarWidth > responsiveBreakpoint"
103
+ class="k-toolbar-button-group k-scheduler-views k-button-group k-button-group-solid"
104
+ role="group"
105
+ >
99
106
  <button kendoButton
100
107
  type="button"
101
108
  *ngFor="let view of ctx.views"
@@ -117,7 +124,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
117
124
  selector: '[kendoSchedulerToolbarViewSelector]',
118
125
  template: `
119
126
  <select
120
- *ngIf="ctx.views?.length > 1"
127
+ *ngIf="ctx.views?.length > 1 && toolbarWidth <= responsiveBreakpoint"
121
128
  (change)="onChange($event)"
122
129
  class="k-views-dropdown k-picker-md k-rounded-md k-picker-solid k-dropdownlist k-picker"
123
130
  [attr.aria-label]="selectView"
@@ -130,7 +137,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
130
137
  {{ view.title }}
131
138
  </option>
132
139
  </select>
133
- <span class="k-scheduler-views k-button-group" role="group">
140
+ <span
141
+ *ngIf="toolbarWidth > responsiveBreakpoint"
142
+ class="k-toolbar-button-group k-scheduler-views k-button-group k-button-group-solid"
143
+ role="group"
144
+ >
134
145
  <button kendoButton
135
146
  type="button"
136
147
  *ngFor="let view of ctx.views"
@@ -146,7 +157,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
146
157
  </span>
147
158
  `
148
159
  }]
149
- }], ctorParameters: function () { return [{ type: i1.ToolbarService }, { type: i2.LocalizationService }]; }, propDecorators: { hostClasses: [{
150
- type: HostBinding,
151
- args: ['class.k-scheduler-views-wrapper']
160
+ }], ctorParameters: function () { return [{ type: i1.ToolbarService }, { type: i2.LocalizationService }]; }, propDecorators: { toolbarWidth: [{
161
+ type: Input
162
+ }], responsiveBreakpoint: [{
163
+ type: Input
152
164
  }] } });