@progress/kendo-angular-scheduler 16.10.0-develop.1 → 16.10.0-develop.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -20,6 +20,7 @@ export class FocusService {
20
20
  this.items = new Set();
21
21
  this.elementMap = new WeakMap();
22
22
  this.subs = new Subscription();
23
+ this.hasContentRendered = false;
23
24
  this.subs.add(this.domEvents.focus.subscribe(e => this.onFocusIn(e)));
24
25
  this.subs.add(this.domEvents.focusOut.subscribe(() => this.onFocusOut()));
25
26
  }
@@ -40,23 +41,42 @@ export class FocusService {
40
41
  item.toggle(true);
41
42
  }
42
43
  const items = Array.from(this.focusableItems);
43
- const newContentIndex = items.map(item => item.containerType).lastIndexOf('content') + 1;
44
- if (item.containerType === 'content' && newContentIndex > 0) {
45
- items.splice(newContentIndex, 0, item);
46
- this.items = new Set(items);
44
+ if (item.containerType !== 'content') {
45
+ this.items.add(item);
47
46
  }
48
47
  else {
49
- this.items.add(item);
48
+ const newContentIndex = items.map(item => item.containerType).lastIndexOf('content') + 1;
49
+ const hasFooter = items.find(item => item.containerType === 'footer');
50
+ if (newContentIndex > 0) {
51
+ // ensure that new events are positioned after the rest of the events for correct navigation sequence
52
+ items.splice(newContentIndex, 0, item);
53
+ this.items = new Set(items);
54
+ }
55
+ else if (hasFooter) {
56
+ // ensure that the first event is before the footer
57
+ items.splice(items.length - 1, 0, item);
58
+ this.items = new Set(items);
59
+ }
60
+ else {
61
+ this.items.add(item);
62
+ }
63
+ // activate the first content element if there is one; otherwise, keep the toolbar or footer active
64
+ if (!this.hasContentRendered) {
65
+ this.activeItem.toggle(false);
66
+ this.activeItem = item;
67
+ item.toggle(true);
68
+ this.hasContentRendered = true;
69
+ }
50
70
  }
51
71
  this.elementMap.set(item.element.nativeElement, item);
52
72
  this.toggleWrapper();
53
73
  }
54
74
  unregister(item) {
55
- this.items.delete(item);
56
- this.elementMap.delete(item.element.nativeElement);
57
75
  if (item === this.activeItem) {
58
76
  this.activateNext();
59
77
  }
78
+ this.items.delete(item);
79
+ this.elementMap.delete(item.element.nativeElement);
60
80
  this.toggleWrapper();
61
81
  }
62
82
  focus() {
@@ -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: 1726668446,
13
- version: '16.10.0-develop.1',
12
+ publishDate: 1726673961,
13
+ version: '16.10.0-develop.2',
14
14
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
15
15
  };
@@ -164,6 +164,16 @@ export class SchedulerComponent {
164
164
  * @default true
165
165
  */
166
166
  this.highlightOngoingEvents = true;
167
+ /**
168
+ * Specifies whether to display the toolbar of the Scheduler.
169
+ * @default true
170
+ */
171
+ this.showToolbar = true;
172
+ /**
173
+ * Specifies whether to display the footer of the Scheduler.
174
+ * @default true
175
+ */
176
+ this.showFooter = true;
167
177
  /**
168
178
  * A callback that executes for each slot of the Scheduler view.
169
179
  * If it returns `true`, the `k-selected` CSS class will be added to the cell, making it visibly selected.
@@ -363,6 +373,12 @@ export class SchedulerComponent {
363
373
  get modelFields() {
364
374
  return this._modelFields;
365
375
  }
376
+ /**
377
+ * @hidden
378
+ */
379
+ get viewToolbar() {
380
+ return this.viewState?.toolbarVisibilityByView.get(this.selectedView);
381
+ }
366
382
  ngOnInit() {
367
383
  if (!this.selectedDate) {
368
384
  this.selectedDate = todayDate();
@@ -496,7 +512,8 @@ export class SchedulerComponent {
496
512
  if (anyChanged([
497
513
  'group', 'resources', 'min', 'max', 'showWorkHours', 'startTime', 'scrollTime', 'endTime', 'eventHeight',
498
514
  'workDayStart', 'workDayEnd', 'workWeekStart', 'workWeekEnd', 'weekStart', 'slotDuration', 'slotDivisions',
499
- 'editable', 'timezone', 'slotClass', 'slotFill', 'columnWidth', 'eventClass', 'eventStyles', 'isSlotSelected', 'selectable', 'allDaySlot'
515
+ 'editable', 'timezone', 'slotClass', 'slotFill', 'columnWidth', 'eventClass', 'eventStyles', 'isSlotSelected',
516
+ 'selectable', 'allDaySlot', 'showToolbar', 'showFooter'
500
517
  ], changes)) {
501
518
  this.notifyOptionsChange(changes);
502
519
  }
@@ -706,6 +723,12 @@ export class SchedulerComponent {
706
723
  focus() {
707
724
  this.zone.onStable.pipe(take(1)).subscribe(() => this.focusService.focus());
708
725
  }
726
+ /**
727
+ * @hidden
728
+ */
729
+ get toolbarVisibilityState() {
730
+ return isPresent(this.viewToolbar) ? this.viewToolbar : this.showToolbar;
731
+ }
709
732
  isInRange(date) {
710
733
  return (!this.min || this.min <= date) && (!this.max || date <= this.max);
711
734
  }
@@ -746,6 +769,8 @@ export class SchedulerComponent {
746
769
  timezone: this.timezone,
747
770
  currentTimeMarker: this.currentTimeMarker,
748
771
  highlightOngoingEvents: this.highlightOngoingEvents,
772
+ showToolbar: this.showToolbar,
773
+ showFooter: this.showFooter,
749
774
  slotClass: this.slotClass,
750
775
  slotFill: this.slotFill,
751
776
  columnWidth: this.columnWidth,
@@ -877,7 +902,7 @@ export class SchedulerComponent {
877
902
  }
878
903
  }
879
904
  SchedulerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", 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 });
880
- SchedulerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SchedulerComponent, isStandalone: true, 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", allDaySlot: "allDaySlot", 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-scheduler": "this.hostClasses", "attr.role": "this.ariaRole", "class.k-rtl": "this.rtl", "attr.dir": "this.dir" } }, providers: [
905
+ SchedulerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SchedulerComponent, isStandalone: true, 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", allDaySlot: "allDaySlot", scrollTime: "scrollTime", group: "group", resources: "resources", loading: "loading", timezone: "timezone", events: "events", selectedDate: "selectedDate", modelFields: "modelFields", currentTimeMarker: "currentTimeMarker", highlightOngoingEvents: "highlightOngoingEvents", showToolbar: "showToolbar", showFooter: "showFooter", 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-scheduler": "this.hostClasses", "attr.role": "this.ariaRole", "class.k-rtl": "this.rtl", "attr.dir": "this.dir" } }, providers: [
881
906
  EditService,
882
907
  DialogsService,
883
908
  DomEventsService,
@@ -1195,6 +1220,7 @@ SchedulerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ver
1195
1220
  </ng-container>
1196
1221
 
1197
1222
  <kendo-scheduler-toolbar
1223
+ *ngIf="toolbarVisibilityState"
1198
1224
  [dateRange]="dateRangeStream"
1199
1225
  [selectedDate]="selectedDateStream"
1200
1226
  [views]="$any(views)"
@@ -1551,6 +1577,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1551
1577
  </ng-container>
1552
1578
 
1553
1579
  <kendo-scheduler-toolbar
1580
+ *ngIf="toolbarVisibilityState"
1554
1581
  [dateRange]="dateRangeStream"
1555
1582
  [selectedDate]="selectedDateStream"
1556
1583
  [views]="$any(views)"
@@ -1656,6 +1683,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1656
1683
  type: Input
1657
1684
  }], highlightOngoingEvents: [{
1658
1685
  type: Input
1686
+ }], showToolbar: [{
1687
+ type: Input
1688
+ }], showFooter: [{
1689
+ type: Input
1659
1690
  }], slotClass: [{
1660
1691
  type: Input
1661
1692
  }], eventClass: [{
@@ -95,6 +95,7 @@ export class BaseView {
95
95
  const updateView = this.updateView.bind(this);
96
96
  this.resourcesByIndex = this.resourcesByIndex.bind(this);
97
97
  this.subs.add(this.viewContext.selectedDate.subscribe(this.onSelectDate.bind(this)));
98
+ this.subs.add(this.viewState.optionsChange.subscribe(this.onStateOptionsChange.bind(this)));
98
99
  this.subs.add(this.viewContext.action.subscribe(this.onAction.bind(this)));
99
100
  this.subs.add(this.viewContext.execute.subscribe(this.execute.bind(this)));
100
101
  this.subs.add(this.viewContext.resize.subscribe(() => {
@@ -238,6 +239,7 @@ export class BaseView {
238
239
  }
239
240
  this.changes.next(null);
240
241
  }
242
+ this.onStateOptionsChange(options);
241
243
  }
242
244
  toggleElement(visible) {
243
245
  if (this.element) {
@@ -976,9 +978,14 @@ export class BaseView {
976
978
  end: this.convertDate(slot.end)
977
979
  };
978
980
  }
981
+ onStateOptionsChange(changes) {
982
+ if (changes?.showFooter || changes?.showToolbar) {
983
+ this.zone.onStable.pipe(take(1)).subscribe(() => this.updateView());
984
+ }
985
+ }
979
986
  }
980
987
  BaseView.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BaseView, deps: [{ token: i1.ViewContextService }, { token: i2.ViewStateService }, { token: i3.IntlService }, { token: i4.BaseSlotService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i5.PDFService }, { token: i6.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i7.ScrollbarWidthService }], target: i0.ɵɵFactoryTarget.Directive });
981
- BaseView.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: BaseView, inputs: { eventTemplate: "eventTemplate", groupHeaderTemplate: "groupHeaderTemplate", selectedDateFormat: "selectedDateFormat", selectedShortDateFormat: "selectedShortDateFormat", eventHeight: "eventHeight", slotClass: "slotClass", eventClass: "eventClass", eventStyles: "eventStyles", weekStart: "weekStart" }, viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true }, { propertyName: "header", first: true, predicate: ["header"], descendants: true }, { propertyName: "contentTable", first: true, predicate: ["contentTable"], descendants: true }, { propertyName: "times", first: true, predicate: ["times"], descendants: true }, { propertyName: "timesHeader", first: true, predicate: ["timesHeader"], descendants: true }, { propertyName: "timesTable", first: true, predicate: ["timesTable"], descendants: true }, { propertyName: "headerWrap", first: true, predicate: ["headerWrap"], descendants: true }, { propertyName: "hintContainer", first: true, predicate: ["hintContainer"], descendants: true }], usesOnChanges: true, ngImport: i0 });
988
+ BaseView.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: BaseView, inputs: { eventTemplate: "eventTemplate", groupHeaderTemplate: "groupHeaderTemplate", selectedDateFormat: "selectedDateFormat", selectedShortDateFormat: "selectedShortDateFormat", eventHeight: "eventHeight", showToolbar: "showToolbar", showFooter: "showFooter", slotClass: "slotClass", eventClass: "eventClass", eventStyles: "eventStyles", weekStart: "weekStart" }, viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true }, { propertyName: "header", first: true, predicate: ["header"], descendants: true }, { propertyName: "contentTable", first: true, predicate: ["contentTable"], descendants: true }, { propertyName: "times", first: true, predicate: ["times"], descendants: true }, { propertyName: "timesHeader", first: true, predicate: ["timesHeader"], descendants: true }, { propertyName: "timesTable", first: true, predicate: ["timesTable"], descendants: true }, { propertyName: "headerWrap", first: true, predicate: ["headerWrap"], descendants: true }, { propertyName: "hintContainer", first: true, predicate: ["hintContainer"], descendants: true }], usesOnChanges: true, ngImport: i0 });
982
989
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BaseView, decorators: [{
983
990
  type: Directive
984
991
  }], ctorParameters: function () { return [{ type: i1.ViewContextService }, { type: i2.ViewStateService }, { type: i3.IntlService }, { type: i4.BaseSlotService }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i5.PDFService }, { type: i6.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: i7.ScrollbarWidthService }]; }, propDecorators: { eventTemplate: [{
@@ -991,6 +998,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
991
998
  type: Input
992
999
  }], eventHeight: [{
993
1000
  type: Input
1001
+ }], showToolbar: [{
1002
+ type: Input
1003
+ }], showFooter: [{
1004
+ type: Input
994
1005
  }], slotClass: [{
995
1006
  type: Input
996
1007
  }], eventClass: [{
@@ -30,6 +30,16 @@ export class ConfigurationViewBase extends SchedulerView {
30
30
  });
31
31
  this.subs.add(this.viewContext.optionsChange.subscribe(this.optionsChange.bind(this)));
32
32
  }
33
+ /**
34
+ * Specifies whether to display the toolbar of the Scheduler.
35
+ */
36
+ get showToolbar() {
37
+ return this._showToolbar;
38
+ }
39
+ set showToolbar(value) {
40
+ this._showToolbar = value;
41
+ this.viewState.toolbarVisibilityByView.set(this, value);
42
+ }
33
43
  /**
34
44
  * @hidden
35
45
  */
@@ -60,18 +70,19 @@ export class ConfigurationViewBase extends SchedulerView {
60
70
  get viewWeekStart() {
61
71
  return this.schedulerOptions.weekStart;
62
72
  }
63
- ngOnChanges(_changes) {
64
- this.viewState.notifyOptionsChange();
73
+ ngOnChanges(changes) {
74
+ this.viewState.notifyOptionsChange(changes);
65
75
  }
66
76
  ngOnDestroy() {
67
77
  this.subs.unsubscribe();
78
+ this.viewState.toolbarVisibilityByView.delete(this);
68
79
  }
69
80
  optionsChange(options) {
70
81
  this.schedulerOptions = options;
71
82
  }
72
83
  }
73
84
  ConfigurationViewBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ConfigurationViewBase, deps: [{ token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i2.ViewContextService }, { token: i3.ViewStateService }], target: i0.ɵɵFactoryTarget.Directive });
74
- ConfigurationViewBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: ConfigurationViewBase, inputs: { slotClass: "slotClass", eventClass: "eventClass", eventStyles: "eventStyles", highlightOngoingEvents: "highlightOngoingEvents" }, queries: [{ propertyName: "eventTemplate", first: true, predicate: EventTemplateDirective, descendants: true }, { propertyName: "groupHeaderTemplate", first: true, predicate: GroupHeaderTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "template", first: true, predicate: ["content"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
85
+ ConfigurationViewBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: ConfigurationViewBase, inputs: { slotClass: "slotClass", eventClass: "eventClass", eventStyles: "eventStyles", highlightOngoingEvents: "highlightOngoingEvents", showToolbar: "showToolbar" }, queries: [{ propertyName: "eventTemplate", first: true, predicate: EventTemplateDirective, descendants: true }, { propertyName: "groupHeaderTemplate", first: true, predicate: GroupHeaderTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "template", first: true, predicate: ["content"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
75
86
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ConfigurationViewBase, decorators: [{
76
87
  type: Directive
77
88
  }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: i2.ViewContextService }, { type: i3.ViewStateService }]; }, propDecorators: { slotClass: [{
@@ -82,6 +93,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
82
93
  type: Input
83
94
  }], highlightOngoingEvents: [{
84
95
  type: Input
96
+ }], showToolbar: [{
97
+ type: Input
85
98
  }], template: [{
86
99
  type: ViewChild,
87
100
  args: ['content', { static: true }]
@@ -112,12 +112,18 @@ export class DayTimeViewBase extends ConfigurationViewBase {
112
112
  get viewScrollTime() {
113
113
  return this.optionValue('scrollTime');
114
114
  }
115
+ /**
116
+ * @hidden
117
+ */
118
+ get viewShowFooter() {
119
+ return isPresent(this.showFooter) ? this.showFooter : this.schedulerOptions.showFooter;
120
+ }
115
121
  optionValue(name) {
116
122
  return isPresent(this[name]) ? this[name] : this.schedulerOptions[name];
117
123
  }
118
124
  }
119
125
  DayTimeViewBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DayTimeViewBase, deps: [{ token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i2.ViewContextService }, { token: i3.ViewStateService }], target: i0.ɵɵFactoryTarget.Directive });
120
- DayTimeViewBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: DayTimeViewBase, inputs: { showWorkHours: "showWorkHours", eventHeight: "eventHeight", startTime: "startTime", scrollTime: "scrollTime", endTime: "endTime", workDayStart: "workDayStart", workDayEnd: "workDayEnd", workWeekStart: "workWeekStart", workWeekEnd: "workWeekEnd", slotDuration: "slotDuration", slotDivisions: "slotDivisions", currentTimeMarker: "currentTimeMarker", highlightOngoingEvents: "highlightOngoingEvents" }, queries: [{ propertyName: "timeSlotTemplate", first: true, predicate: TimeSlotTemplateDirective, descendants: true }, { propertyName: "dateHeaderTemplate", first: true, predicate: DateHeaderTemplateDirective, descendants: true }, { propertyName: "majorTimeHeaderTemplate", first: true, predicate: MajorTimeHeaderTemplateDirective, descendants: true }, { propertyName: "minorTimeHeaderTemplate", first: true, predicate: MinorTimeHeaderTemplateDirective, descendants: true }], usesInheritance: true, ngImport: i0 });
126
+ DayTimeViewBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: DayTimeViewBase, inputs: { showWorkHours: "showWorkHours", showFooter: "showFooter", eventHeight: "eventHeight", startTime: "startTime", scrollTime: "scrollTime", endTime: "endTime", workDayStart: "workDayStart", workDayEnd: "workDayEnd", workWeekStart: "workWeekStart", workWeekEnd: "workWeekEnd", slotDuration: "slotDuration", slotDivisions: "slotDivisions", currentTimeMarker: "currentTimeMarker", highlightOngoingEvents: "highlightOngoingEvents" }, queries: [{ propertyName: "timeSlotTemplate", first: true, predicate: TimeSlotTemplateDirective, descendants: true }, { propertyName: "dateHeaderTemplate", first: true, predicate: DateHeaderTemplateDirective, descendants: true }, { propertyName: "majorTimeHeaderTemplate", first: true, predicate: MajorTimeHeaderTemplateDirective, descendants: true }, { propertyName: "minorTimeHeaderTemplate", first: true, predicate: MinorTimeHeaderTemplateDirective, descendants: true }], usesInheritance: true, ngImport: i0 });
121
127
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DayTimeViewBase, decorators: [{
122
128
  type: Directive
123
129
  }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: i2.ViewContextService }, { type: i3.ViewStateService }]; }, propDecorators: { timeSlotTemplate: [{
@@ -134,6 +140,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
134
140
  args: [MinorTimeHeaderTemplateDirective, { static: false }]
135
141
  }], showWorkHours: [{
136
142
  type: Input
143
+ }], showFooter: [{
144
+ type: Input
137
145
  }], eventHeight: [{
138
146
  type: Input
139
147
  }], startTime: [{
@@ -12,6 +12,7 @@ import { AllDaySlotTemplateDirective, AllDayEventTemplateDirective } from '../te
12
12
  import { WorkHoursFooterDirective } from '../common/work-hours-footer.directive';
13
13
  import { ViewFooterComponent } from '../common/view-footer.component';
14
14
  import { MultiDayViewRendererComponent } from './multi-day-view-renderer.component';
15
+ import { NgIf } from '@angular/common';
15
16
  import * as i0 from "@angular/core";
16
17
  import * as i1 from "@progress/kendo-angular-l10n";
17
18
  import * as i2 from "../view-context.service";
@@ -98,9 +99,9 @@ DayViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", versi
98
99
  [selectedDateFormat]="selectedDateFormat"
99
100
  [selectedShortDateFormat]="selectedShortDateFormat">
100
101
  </multi-day-view>
101
- <div viewFooter kendoWorkHoursFooter [showWorkHours]="shouldShowWorkHours" (itemClick)="showWorkHours = !shouldShowWorkHours"></div>
102
+ <div *ngIf="viewShowFooter" viewFooter kendoWorkHoursFooter [showWorkHours]="shouldShowWorkHours" (itemClick)="showWorkHours = !shouldShowWorkHours"></div>
102
103
  </ng-template>
103
- `, isInline: true, dependencies: [{ kind: "component", type: MultiDayViewRendererComponent, selector: "multi-day-view", inputs: ["allDaySlot", "name", "slotFill", "allDaySlotTemplate", "allDayEventTemplate"] }, { kind: "component", type: ViewFooterComponent, selector: "[viewFooter]", inputs: ["items"], outputs: ["itemClick"] }, { kind: "directive", type: WorkHoursFooterDirective, selector: "[kendoWorkHoursFooter]", inputs: ["showWorkHours"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
104
+ `, isInline: true, dependencies: [{ kind: "component", type: MultiDayViewRendererComponent, selector: "multi-day-view", inputs: ["allDaySlot", "name", "slotFill", "allDaySlotTemplate", "allDayEventTemplate"] }, { kind: "component", type: ViewFooterComponent, selector: "[viewFooter]", inputs: ["items"], outputs: ["itemClick"] }, { kind: "directive", type: WorkHoursFooterDirective, selector: "[kendoWorkHoursFooter]", inputs: ["showWorkHours"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
104
105
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DayViewComponent, decorators: [{
105
106
  type: Component,
106
107
  args: [{
@@ -143,11 +144,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
143
144
  [selectedDateFormat]="selectedDateFormat"
144
145
  [selectedShortDateFormat]="selectedShortDateFormat">
145
146
  </multi-day-view>
146
- <div viewFooter kendoWorkHoursFooter [showWorkHours]="shouldShowWorkHours" (itemClick)="showWorkHours = !shouldShowWorkHours"></div>
147
+ <div *ngIf="viewShowFooter" viewFooter kendoWorkHoursFooter [showWorkHours]="shouldShowWorkHours" (itemClick)="showWorkHours = !shouldShowWorkHours"></div>
147
148
  </ng-template>
148
149
  `,
149
150
  standalone: true,
150
- imports: [MultiDayViewRendererComponent, ViewFooterComponent, WorkHoursFooterDirective]
151
+ imports: [MultiDayViewRendererComponent, ViewFooterComponent, WorkHoursFooterDirective, NgIf]
151
152
  }]
152
153
  }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: i2.ViewContextService }, { type: i3.ViewStateService }]; }, propDecorators: { selectedDateFormat: [{
153
154
  type: Input
@@ -11,6 +11,7 @@ import { DayViewComponent } from './day-view.component';
11
11
  import { WorkHoursFooterDirective } from '../common/work-hours-footer.directive';
12
12
  import { ViewFooterComponent } from '../common/view-footer.component';
13
13
  import { MultiDayViewRendererComponent } from './multi-day-view-renderer.component';
14
+ import { NgIf } from '@angular/common';
14
15
  import * as i0 from "@angular/core";
15
16
  import * as i1 from "@progress/kendo-angular-l10n";
16
17
  import * as i2 from "../view-context.service";
@@ -110,9 +111,9 @@ MultiDayViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0",
110
111
  [selectedDateFormat]="selectedDateFormat"
111
112
  [selectedShortDateFormat]="selectedShortDateFormat">
112
113
  </multi-day-view>
113
- <div viewFooter kendoWorkHoursFooter [showWorkHours]="shouldShowWorkHours" (itemClick)="showWorkHours = !shouldShowWorkHours"></div>
114
+ <div *ngIf="viewShowFooter" viewFooter kendoWorkHoursFooter [showWorkHours]="shouldShowWorkHours" (itemClick)="showWorkHours = !shouldShowWorkHours"></div>
114
115
  </ng-template>
115
- `, isInline: true, dependencies: [{ kind: "component", type: MultiDayViewRendererComponent, selector: "multi-day-view", inputs: ["allDaySlot", "name", "slotFill", "allDaySlotTemplate", "allDayEventTemplate"] }, { kind: "component", type: ViewFooterComponent, selector: "[viewFooter]", inputs: ["items"], outputs: ["itemClick"] }, { kind: "directive", type: WorkHoursFooterDirective, selector: "[kendoWorkHoursFooter]", inputs: ["showWorkHours"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
116
+ `, isInline: true, dependencies: [{ kind: "component", type: MultiDayViewRendererComponent, selector: "multi-day-view", inputs: ["allDaySlot", "name", "slotFill", "allDaySlotTemplate", "allDayEventTemplate"] }, { kind: "component", type: ViewFooterComponent, selector: "[viewFooter]", inputs: ["items"], outputs: ["itemClick"] }, { kind: "directive", type: WorkHoursFooterDirective, selector: "[kendoWorkHoursFooter]", inputs: ["showWorkHours"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
116
117
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MultiDayViewComponent, decorators: [{
117
118
  type: Component,
118
119
  args: [{
@@ -157,11 +158,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
157
158
  [selectedDateFormat]="selectedDateFormat"
158
159
  [selectedShortDateFormat]="selectedShortDateFormat">
159
160
  </multi-day-view>
160
- <div viewFooter kendoWorkHoursFooter [showWorkHours]="shouldShowWorkHours" (itemClick)="showWorkHours = !shouldShowWorkHours"></div>
161
+ <div *ngIf="viewShowFooter" viewFooter kendoWorkHoursFooter [showWorkHours]="shouldShowWorkHours" (itemClick)="showWorkHours = !shouldShowWorkHours"></div>
161
162
  </ng-template>
162
163
  `,
163
164
  standalone: true,
164
- imports: [MultiDayViewRendererComponent, ViewFooterComponent, WorkHoursFooterDirective]
165
+ imports: [MultiDayViewRendererComponent, ViewFooterComponent, WorkHoursFooterDirective, NgIf]
165
166
  }]
166
167
  }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: i2.ViewContextService }, { type: i3.ViewStateService }]; }, propDecorators: { selectedDateFormat: [{
167
168
  type: Input
@@ -14,6 +14,7 @@ import { AllDaySlotTemplateDirective, AllDayEventTemplateDirective } from '../te
14
14
  import { WorkHoursFooterDirective } from '../common/work-hours-footer.directive';
15
15
  import { ViewFooterComponent } from '../common/view-footer.component';
16
16
  import { MultiDayViewRendererComponent } from './multi-day-view-renderer.component';
17
+ import { NgIf } from '@angular/common';
17
18
  import * as i0 from "@angular/core";
18
19
  import * as i1 from "@progress/kendo-angular-intl";
19
20
  import * as i2 from "@progress/kendo-angular-l10n";
@@ -104,9 +105,9 @@ WeekViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
104
105
  [selectedDateFormat]="selectedDateFormat"
105
106
  [selectedShortDateFormat]="selectedShortDateFormat">
106
107
  </multi-day-view>
107
- <div viewFooter kendoWorkHoursFooter [showWorkHours]="shouldShowWorkHours" (itemClick)="showWorkHours = !shouldShowWorkHours"></div>
108
+ <div *ngIf="viewShowFooter" viewFooter kendoWorkHoursFooter [showWorkHours]="shouldShowWorkHours" (itemClick)="showWorkHours = !shouldShowWorkHours"></div>
108
109
  </ng-template>
109
- `, isInline: true, dependencies: [{ kind: "component", type: MultiDayViewRendererComponent, selector: "multi-day-view", inputs: ["allDaySlot", "name", "slotFill", "allDaySlotTemplate", "allDayEventTemplate"] }, { kind: "component", type: ViewFooterComponent, selector: "[viewFooter]", inputs: ["items"], outputs: ["itemClick"] }, { kind: "directive", type: WorkHoursFooterDirective, selector: "[kendoWorkHoursFooter]", inputs: ["showWorkHours"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
110
+ `, isInline: true, dependencies: [{ kind: "component", type: MultiDayViewRendererComponent, selector: "multi-day-view", inputs: ["allDaySlot", "name", "slotFill", "allDaySlotTemplate", "allDayEventTemplate"] }, { kind: "component", type: ViewFooterComponent, selector: "[viewFooter]", inputs: ["items"], outputs: ["itemClick"] }, { kind: "directive", type: WorkHoursFooterDirective, selector: "[kendoWorkHoursFooter]", inputs: ["showWorkHours"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
110
111
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: WeekViewComponent, decorators: [{
111
112
  type: Component,
112
113
  args: [{
@@ -152,11 +153,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
152
153
  [selectedDateFormat]="selectedDateFormat"
153
154
  [selectedShortDateFormat]="selectedShortDateFormat">
154
155
  </multi-day-view>
155
- <div viewFooter kendoWorkHoursFooter [showWorkHours]="shouldShowWorkHours" (itemClick)="showWorkHours = !shouldShowWorkHours"></div>
156
+ <div *ngIf="viewShowFooter" viewFooter kendoWorkHoursFooter [showWorkHours]="shouldShowWorkHours" (itemClick)="showWorkHours = !shouldShowWorkHours"></div>
156
157
  </ng-template>
157
158
  `,
158
159
  standalone: true,
159
- imports: [MultiDayViewRendererComponent, ViewFooterComponent, WorkHoursFooterDirective]
160
+ imports: [MultiDayViewRendererComponent, ViewFooterComponent, WorkHoursFooterDirective, NgIf]
160
161
  }]
161
162
  }], ctorParameters: function () { return [{ type: i1.IntlService }, { type: i2.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: i3.ViewContextService }, { type: i4.ViewStateService }]; }, propDecorators: { selectedDateFormat: [{
162
163
  type: Input
@@ -13,6 +13,7 @@ import { firstDayInWeek, getDate, addDays } from '@progress/kendo-date-math';
13
13
  import { WorkHoursFooterDirective } from '../common/work-hours-footer.directive';
14
14
  import { ViewFooterComponent } from '../common/view-footer.component';
15
15
  import { MultiDayViewRendererComponent } from './multi-day-view-renderer.component';
16
+ import { NgIf } from '@angular/common';
16
17
  import * as i0 from "@angular/core";
17
18
  import * as i1 from "@progress/kendo-angular-intl";
18
19
  import * as i2 from "@progress/kendo-angular-l10n";
@@ -101,9 +102,9 @@ WorkWeekViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0",
101
102
  [selectedDateFormat]="selectedDateFormat"
102
103
  [selectedShortDateFormat]="selectedShortDateFormat">
103
104
  </multi-day-view>
104
- <div viewFooter kendoWorkHoursFooter [showWorkHours]="shouldShowWorkHours" (itemClick)="showWorkHours = !shouldShowWorkHours"></div>
105
+ <div *ngIf="viewShowFooter" viewFooter kendoWorkHoursFooter [showWorkHours]="shouldShowWorkHours" (itemClick)="showWorkHours = !shouldShowWorkHours"></div>
105
106
  </ng-template>
106
- `, isInline: true, dependencies: [{ kind: "component", type: MultiDayViewRendererComponent, selector: "multi-day-view", inputs: ["allDaySlot", "name", "slotFill", "allDaySlotTemplate", "allDayEventTemplate"] }, { kind: "component", type: ViewFooterComponent, selector: "[viewFooter]", inputs: ["items"], outputs: ["itemClick"] }, { kind: "directive", type: WorkHoursFooterDirective, selector: "[kendoWorkHoursFooter]", inputs: ["showWorkHours"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
107
+ `, isInline: true, dependencies: [{ kind: "component", type: MultiDayViewRendererComponent, selector: "multi-day-view", inputs: ["allDaySlot", "name", "slotFill", "allDaySlotTemplate", "allDayEventTemplate"] }, { kind: "component", type: ViewFooterComponent, selector: "[viewFooter]", inputs: ["items"], outputs: ["itemClick"] }, { kind: "directive", type: WorkHoursFooterDirective, selector: "[kendoWorkHoursFooter]", inputs: ["showWorkHours"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
107
108
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: WorkWeekViewComponent, decorators: [{
108
109
  type: Component,
109
110
  args: [{
@@ -150,10 +151,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
150
151
  [selectedDateFormat]="selectedDateFormat"
151
152
  [selectedShortDateFormat]="selectedShortDateFormat">
152
153
  </multi-day-view>
153
- <div viewFooter kendoWorkHoursFooter [showWorkHours]="shouldShowWorkHours" (itemClick)="showWorkHours = !shouldShowWorkHours"></div>
154
+ <div *ngIf="viewShowFooter" viewFooter kendoWorkHoursFooter [showWorkHours]="shouldShowWorkHours" (itemClick)="showWorkHours = !shouldShowWorkHours"></div>
154
155
  </ng-template>
155
156
  `,
156
157
  standalone: true,
157
- imports: [MultiDayViewRendererComponent, ViewFooterComponent, WorkHoursFooterDirective]
158
+ imports: [MultiDayViewRendererComponent, ViewFooterComponent, WorkHoursFooterDirective, NgIf]
158
159
  }]
159
160
  }], ctorParameters: function () { return [{ type: i1.IntlService }, { type: i2.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: i3.ViewContextService }, { type: i4.ViewStateService }]; } });
@@ -12,6 +12,7 @@ import { firstDayOfMonth, getDate, addMonths } from '@progress/kendo-date-math';
12
12
  import { WorkHoursFooterDirective } from '../common/work-hours-footer.directive';
13
13
  import { ViewFooterComponent } from '../common/view-footer.component';
14
14
  import { TimelineMultiDayViewComponent } from './timeline-multi-day-view.component';
15
+ import { NgIf } from '@angular/common';
15
16
  import * as i0 from "@angular/core";
16
17
  import * as i1 from "@progress/kendo-angular-l10n";
17
18
  import * as i2 from "../view-context.service";
@@ -135,9 +136,9 @@ TimelineMonthViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0
135
136
  [selectedDateFormat]="selectedDateFormat"
136
137
  [selectedShortDateFormat]="selectedShortDateFormat">
137
138
  </timeline-multi-day-view>
138
- <div viewFooter kendoWorkHoursFooter [showWorkHours]="shouldShowWorkHours" (itemClick)="showWorkHours = !shouldShowWorkHours"></div>
139
+ <div *ngIf="viewShowFooter" viewFooter kendoWorkHoursFooter [showWorkHours]="shouldShowWorkHours" (itemClick)="showWorkHours = !shouldShowWorkHours"></div>
139
140
  </ng-template>
140
- `, isInline: true, dependencies: [{ kind: "component", type: TimelineMultiDayViewComponent, selector: "timeline-multi-day-view", inputs: ["name", "columnWidth", "viewName"] }, { kind: "component", type: ViewFooterComponent, selector: "[viewFooter]", inputs: ["items"], outputs: ["itemClick"] }, { kind: "directive", type: WorkHoursFooterDirective, selector: "[kendoWorkHoursFooter]", inputs: ["showWorkHours"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
141
+ `, isInline: true, dependencies: [{ kind: "component", type: TimelineMultiDayViewComponent, selector: "timeline-multi-day-view", inputs: ["name", "columnWidth", "viewName"] }, { kind: "component", type: ViewFooterComponent, selector: "[viewFooter]", inputs: ["items"], outputs: ["itemClick"] }, { kind: "directive", type: WorkHoursFooterDirective, selector: "[kendoWorkHoursFooter]", inputs: ["showWorkHours"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
141
142
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TimelineMonthViewComponent, decorators: [{
142
143
  type: Component,
143
144
  args: [{
@@ -181,11 +182,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
181
182
  [selectedDateFormat]="selectedDateFormat"
182
183
  [selectedShortDateFormat]="selectedShortDateFormat">
183
184
  </timeline-multi-day-view>
184
- <div viewFooter kendoWorkHoursFooter [showWorkHours]="shouldShowWorkHours" (itemClick)="showWorkHours = !shouldShowWorkHours"></div>
185
+ <div *ngIf="viewShowFooter" viewFooter kendoWorkHoursFooter [showWorkHours]="shouldShowWorkHours" (itemClick)="showWorkHours = !shouldShowWorkHours"></div>
185
186
  </ng-template>
186
187
  `,
187
188
  standalone: true,
188
- imports: [TimelineMultiDayViewComponent, ViewFooterComponent, WorkHoursFooterDirective]
189
+ imports: [TimelineMultiDayViewComponent, ViewFooterComponent, WorkHoursFooterDirective, NgIf]
189
190
  }]
190
191
  }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: i2.ViewContextService }, { type: i3.ViewStateService }]; }, propDecorators: { selectedDateFormat: [{
191
192
  type: Input
@@ -11,6 +11,7 @@ import { ViewStateService } from '../view-state.service';
11
11
  import { WorkHoursFooterDirective } from '../common/work-hours-footer.directive';
12
12
  import { ViewFooterComponent } from '../common/view-footer.component';
13
13
  import { TimelineMultiDayViewComponent } from './timeline-multi-day-view.component';
14
+ import { NgIf } from '@angular/common';
14
15
  import * as i0 from "@angular/core";
15
16
  import * as i1 from "@progress/kendo-angular-l10n";
16
17
  import * as i2 from "../view-context.service";
@@ -113,9 +114,9 @@ TimelineViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0",
113
114
  [selectedDateFormat]="selectedDateFormat"
114
115
  [selectedShortDateFormat]="selectedShortDateFormat">
115
116
  </timeline-multi-day-view>
116
- <div viewFooter kendoWorkHoursFooter [showWorkHours]="shouldShowWorkHours" (itemClick)="showWorkHours = !shouldShowWorkHours"></div>
117
+ <div *ngIf="viewShowFooter" viewFooter kendoWorkHoursFooter [showWorkHours]="shouldShowWorkHours" (itemClick)="showWorkHours = !shouldShowWorkHours"></div>
117
118
  </ng-template>
118
- `, isInline: true, dependencies: [{ kind: "component", type: TimelineMultiDayViewComponent, selector: "timeline-multi-day-view", inputs: ["name", "columnWidth", "viewName"] }, { kind: "component", type: ViewFooterComponent, selector: "[viewFooter]", inputs: ["items"], outputs: ["itemClick"] }, { kind: "directive", type: WorkHoursFooterDirective, selector: "[kendoWorkHoursFooter]", inputs: ["showWorkHours"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
119
+ `, isInline: true, dependencies: [{ kind: "component", type: TimelineMultiDayViewComponent, selector: "timeline-multi-day-view", inputs: ["name", "columnWidth", "viewName"] }, { kind: "component", type: ViewFooterComponent, selector: "[viewFooter]", inputs: ["items"], outputs: ["itemClick"] }, { kind: "directive", type: WorkHoursFooterDirective, selector: "[kendoWorkHoursFooter]", inputs: ["showWorkHours"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
119
120
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TimelineViewComponent, decorators: [{
120
121
  type: Component,
121
122
  args: [{
@@ -156,11 +157,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
156
157
  [selectedDateFormat]="selectedDateFormat"
157
158
  [selectedShortDateFormat]="selectedShortDateFormat">
158
159
  </timeline-multi-day-view>
159
- <div viewFooter kendoWorkHoursFooter [showWorkHours]="shouldShowWorkHours" (itemClick)="showWorkHours = !shouldShowWorkHours"></div>
160
+ <div *ngIf="viewShowFooter" viewFooter kendoWorkHoursFooter [showWorkHours]="shouldShowWorkHours" (itemClick)="showWorkHours = !shouldShowWorkHours"></div>
160
161
  </ng-template>
161
162
  `,
162
163
  standalone: true,
163
- imports: [TimelineMultiDayViewComponent, ViewFooterComponent, WorkHoursFooterDirective]
164
+ imports: [TimelineMultiDayViewComponent, ViewFooterComponent, WorkHoursFooterDirective, NgIf]
164
165
  }]
165
166
  }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: i2.ViewContextService }, { type: i3.ViewStateService }]; }, propDecorators: { selectedDateFormat: [{
166
167
  type: Input
@@ -13,6 +13,7 @@ import { ViewStateService } from '../view-state.service';
13
13
  import { WorkHoursFooterDirective } from '../common/work-hours-footer.directive';
14
14
  import { ViewFooterComponent } from '../common/view-footer.component';
15
15
  import { TimelineMultiDayViewComponent } from './timeline-multi-day-view.component';
16
+ import { NgIf } from '@angular/common';
16
17
  import * as i0 from "@angular/core";
17
18
  import * as i1 from "@progress/kendo-angular-intl";
18
19
  import * as i2 from "@progress/kendo-angular-l10n";
@@ -110,9 +111,9 @@ TimelineWeekViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.
110
111
  [selectedDateFormat]="selectedDateFormat"
111
112
  [selectedShortDateFormat]="selectedShortDateFormat">
112
113
  </timeline-multi-day-view>
113
- <div viewFooter kendoWorkHoursFooter [showWorkHours]="shouldShowWorkHours" (itemClick)="showWorkHours = !shouldShowWorkHours"></div>
114
+ <div *ngIf="viewShowFooter" viewFooter kendoWorkHoursFooter [showWorkHours]="shouldShowWorkHours" (itemClick)="showWorkHours = !shouldShowWorkHours"></div>
114
115
  </ng-template>
115
- `, isInline: true, dependencies: [{ kind: "component", type: TimelineMultiDayViewComponent, selector: "timeline-multi-day-view", inputs: ["name", "columnWidth", "viewName"] }, { kind: "component", type: ViewFooterComponent, selector: "[viewFooter]", inputs: ["items"], outputs: ["itemClick"] }, { kind: "directive", type: WorkHoursFooterDirective, selector: "[kendoWorkHoursFooter]", inputs: ["showWorkHours"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
116
+ `, isInline: true, dependencies: [{ kind: "component", type: TimelineMultiDayViewComponent, selector: "timeline-multi-day-view", inputs: ["name", "columnWidth", "viewName"] }, { kind: "component", type: ViewFooterComponent, selector: "[viewFooter]", inputs: ["items"], outputs: ["itemClick"] }, { kind: "directive", type: WorkHoursFooterDirective, selector: "[kendoWorkHoursFooter]", inputs: ["showWorkHours"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
116
117
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TimelineWeekViewComponent, decorators: [{
117
118
  type: Component,
118
119
  args: [{
@@ -156,11 +157,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
156
157
  [selectedDateFormat]="selectedDateFormat"
157
158
  [selectedShortDateFormat]="selectedShortDateFormat">
158
159
  </timeline-multi-day-view>
159
- <div viewFooter kendoWorkHoursFooter [showWorkHours]="shouldShowWorkHours" (itemClick)="showWorkHours = !shouldShowWorkHours"></div>
160
+ <div *ngIf="viewShowFooter" viewFooter kendoWorkHoursFooter [showWorkHours]="shouldShowWorkHours" (itemClick)="showWorkHours = !shouldShowWorkHours"></div>
160
161
  </ng-template>
161
162
  `,
162
163
  standalone: true,
163
- imports: [TimelineMultiDayViewComponent, ViewFooterComponent, WorkHoursFooterDirective]
164
+ imports: [TimelineMultiDayViewComponent, ViewFooterComponent, WorkHoursFooterDirective, NgIf]
164
165
  }]
165
166
  }], ctorParameters: function () { return [{ type: i1.IntlService }, { type: i2.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: i3.ViewContextService }, { type: i4.ViewStateService }]; }, propDecorators: { selectedDateFormat: [{
166
167
  type: Input
@@ -20,6 +20,10 @@ export class ViewStateService {
20
20
  * @hidden
21
21
  */
22
22
  this.toggleWorkHours = new Subject();
23
+ /**
24
+ * @hidden
25
+ */
26
+ this.toolbarVisibilityByView = new Map();
23
27
  this.dateRangeSource = new BehaviorSubject(emptyDateRange());
24
28
  this.nextDateSource = new Subject();
25
29
  this.navigateSource = new Subject();
@@ -69,8 +73,8 @@ export class ViewStateService {
69
73
  /**
70
74
  * Notifies the Scheduler that the view options have been changed.
71
75
  */
72
- notifyOptionsChange() {
73
- this.optionsChangeSource.next(null);
76
+ notifyOptionsChange(changes) {
77
+ this.optionsChangeSource.next(changes);
74
78
  }
75
79
  /**
76
80
  * Emits a DOM event to the Scheduler.