@progress/kendo-angular-scheduler 21.4.1-develop.1 → 22.0.0-develop.1
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/editing/recurrence/localization/messages.d.ts +1 -1
- package/editing/resource-editor-base.d.ts +1 -1
- package/editing-directives/editing-directive-base.d.ts +1 -1
- package/fesm2022/progress-kendo-angular-scheduler.mjs +313 -313
- package/localization/messages.d.ts +1 -1
- package/package.json +20 -28
- package/schematics/ngAdd/index.js +3 -3
- package/views/common/base-view.d.ts +1 -1
- package/views/common/configuration-view-base.d.ts +1 -1
- package/views/day-time/day-time-view-base.d.ts +1 -1
- package/views/day-time/day-time-view.component.d.ts +1 -1
- package/views/multi-day/multi-day-view-base.d.ts +1 -1
- package/views/timeline/timeline-base.d.ts +1 -1
- package/views/view-items/base-slot.directive.d.ts +1 -1
- package/views/view-items/base-view-item.d.ts +1 -1
- package/esm2022/common/constants.mjs +0 -8
- package/esm2022/common/default-model-fields.mjs +0 -20
- package/esm2022/common/dom-queries.mjs +0 -107
- package/esm2022/common/modifiers.mjs +0 -31
- package/esm2022/common/util.mjs +0 -227
- package/esm2022/data-binding.directive.mjs +0 -162
- package/esm2022/directives.mjs +0 -136
- package/esm2022/editing/date-time-picker.component.mjs +0 -190
- package/esm2022/editing/dialogs.service.mjs +0 -96
- package/esm2022/editing/edit-dialog-template.directive.mjs +0 -53
- package/esm2022/editing/edit-dialog.component.mjs +0 -679
- package/esm2022/editing/edit.service.mjs +0 -107
- package/esm2022/editing/local-data-changes.service.mjs +0 -18
- package/esm2022/editing/recurrence/end-rule-radio-button.directive.mjs +0 -77
- package/esm2022/editing/recurrence/localization/custom-messages.component.mjs +0 -44
- package/esm2022/editing/recurrence/localization/localized-messages.directive.mjs +0 -39
- package/esm2022/editing/recurrence/localization/messages.mjs +0 -239
- package/esm2022/editing/recurrence/localization/recurrence-localization.service.mjs +0 -47
- package/esm2022/editing/recurrence/recurrence-editor.component.mjs +0 -497
- package/esm2022/editing/recurrence/recurrence-end-rule-editor.component.mjs +0 -334
- package/esm2022/editing/recurrence/recurrence-frequency-editor.component.mjs +0 -105
- package/esm2022/editing/recurrence/recurrence-interval-editor.component.mjs +0 -169
- package/esm2022/editing/recurrence/recurrence-monthly-yearly-editor.component.mjs +0 -468
- package/esm2022/editing/recurrence/recurrence-weekday-rule-editor.component.mjs +0 -138
- package/esm2022/editing/recurrence/recurrence.service.mjs +0 -254
- package/esm2022/editing/recurrence/repeat-on-radio-button.directive.mjs +0 -81
- package/esm2022/editing/resource-editor-base.mjs +0 -59
- package/esm2022/editing/resource-multiple-editor.component.mjs +0 -101
- package/esm2022/editing/resource-single-editor.component.mjs +0 -82
- package/esm2022/editing/timezone-editor.component.mjs +0 -193
- package/esm2022/editing-directives/base-edit.service.mjs +0 -320
- package/esm2022/editing-directives/edit-service.interface.mjs +0 -5
- package/esm2022/editing-directives/editing-directive-base.mjs +0 -242
- package/esm2022/editing-directives/local-edit.service.mjs +0 -122
- package/esm2022/editing-directives/reactive-editing.directive.mjs +0 -132
- package/esm2022/editing-directives/utils.mjs +0 -107
- package/esm2022/events/add-event.mjs +0 -26
- package/esm2022/events/cancel-event.mjs +0 -14
- package/esm2022/events/create-event.mjs +0 -40
- package/esm2022/events/date-change-event.mjs +0 -29
- package/esm2022/events/drag-end-event.mjs +0 -46
- package/esm2022/events/drag-event.mjs +0 -54
- package/esm2022/events/drag-start-event.mjs +0 -30
- package/esm2022/events/edit-event-base.mjs +0 -32
- package/esm2022/events/edit-event.mjs +0 -30
- package/esm2022/events/event-click-event.mjs +0 -32
- package/esm2022/events/event-keydown-event.mjs +0 -28
- package/esm2022/events/more-events-click.mjs +0 -24
- package/esm2022/events/navigate-event.mjs +0 -26
- package/esm2022/events/preventable-event.mjs +0 -28
- package/esm2022/events/remove-event.mjs +0 -30
- package/esm2022/events/resize-end-event.mjs +0 -38
- package/esm2022/events/resize-event.mjs +0 -46
- package/esm2022/events/resize-start-event.mjs +0 -30
- package/esm2022/events/save-event.mjs +0 -18
- package/esm2022/events/slot-click-event.mjs +0 -44
- package/esm2022/events/slot-drag-end-event.mjs +0 -10
- package/esm2022/events/slot-drag-event.mjs +0 -40
- package/esm2022/events/slot-drag-start-event.mjs +0 -44
- package/esm2022/events/view-event-map.mjs +0 -35
- package/esm2022/events.mjs +0 -27
- package/esm2022/index.mjs +0 -83
- package/esm2022/loading.component.mjs +0 -52
- package/esm2022/localization/custom-messages.component.mjs +0 -56
- package/esm2022/localization/localized-messages.directive.mjs +0 -39
- package/esm2022/localization/messages.mjs +0 -614
- package/esm2022/localization/scheduler-localization.service.mjs +0 -31
- package/esm2022/navigation/focus-position.interface.mjs +0 -5
- package/esm2022/navigation/focus.service.mjs +0 -202
- package/esm2022/navigation/focusable-element.interface.mjs +0 -5
- package/esm2022/navigation/focusable.directive.mjs +0 -98
- package/esm2022/navigation/shortcuts.directive.mjs +0 -239
- package/esm2022/navigation.mjs +0 -6
- package/esm2022/package-metadata.mjs +0 -16
- package/esm2022/pdf/pdf-command.directive.mjs +0 -96
- package/esm2022/pdf/pdf-export-event.mjs +0 -10
- package/esm2022/pdf/pdf.component.mjs +0 -241
- package/esm2022/pdf/pdf.module.mjs +0 -42
- package/esm2022/pdf/pdf.service.mjs +0 -36
- package/esm2022/progress-kendo-angular-scheduler.mjs +0 -8
- package/esm2022/scheduler.component.mjs +0 -1981
- package/esm2022/scheduler.module.mjs +0 -138
- package/esm2022/toolbar/navigation.component.mjs +0 -391
- package/esm2022/toolbar/toolbar-context.mjs +0 -5
- package/esm2022/toolbar/toolbar-template.directive.mjs +0 -50
- package/esm2022/toolbar/toolbar.component.mjs +0 -168
- package/esm2022/toolbar/toolbar.service.mjs +0 -46
- package/esm2022/toolbar/view-selector.component.mjs +0 -181
- package/esm2022/types/actions.mjs +0 -5
- package/esm2022/types/create-form-group-args.interface.mjs +0 -5
- package/esm2022/types/crud-operation.enum.mjs +0 -18
- package/esm2022/types/current-time-settings.interface.mjs +0 -5
- package/esm2022/types/date-range.interface.mjs +0 -5
- package/esm2022/types/datepicker-options.interface.mjs +0 -5
- package/esm2022/types/edit-event-args.interface.mjs +0 -5
- package/esm2022/types/edit-mode.enum.mjs +0 -23
- package/esm2022/types/editable-settings.interface.mjs +0 -5
- package/esm2022/types/event-style-args.interface.mjs +0 -5
- package/esm2022/types/focusable-container.mjs +0 -5
- package/esm2022/types/group.interface.mjs +0 -5
- package/esm2022/types/numeric-options.interface.mjs +0 -5
- package/esm2022/types/ongoing-events-settings.interface.mjs +0 -5
- package/esm2022/types/resource.interface.mjs +0 -5
- package/esm2022/types/scheduler-event.mjs +0 -5
- package/esm2022/types/scheduler-model-fields.interface.mjs +0 -5
- package/esm2022/types/scheduler-slot.interface.mjs +0 -5
- package/esm2022/types/scheduler-view.mjs +0 -9
- package/esm2022/types/slot-class-args.interface.mjs +0 -5
- package/esm2022/types/slot-selection.mjs +0 -35
- package/esm2022/types/view-item.interface.mjs +0 -5
- package/esm2022/types.mjs +0 -12
- package/esm2022/views/agenda/agenda-header-item.component.mjs +0 -85
- package/esm2022/views/agenda/agenda-header.component.mjs +0 -75
- package/esm2022/views/agenda/agenda-task-item.component.mjs +0 -137
- package/esm2022/views/agenda/agenda-view-internal.component.mjs +0 -424
- package/esm2022/views/agenda/agenda-view-list.component.mjs +0 -256
- package/esm2022/views/agenda/agenda-view.component.mjs +0 -130
- package/esm2022/views/agenda/tasks.collection.mjs +0 -96
- package/esm2022/views/agenda/utils.mjs +0 -176
- package/esm2022/views/common/base-view.mjs +0 -1099
- package/esm2022/views/common/configuration-view-base.mjs +0 -164
- package/esm2022/views/common/dom-events.service.mjs +0 -22
- package/esm2022/views/common/hint-container.component.mjs +0 -41
- package/esm2022/views/common/repeat.pipe.mjs +0 -36
- package/esm2022/views/common/resize-hint.component.mjs +0 -97
- package/esm2022/views/common/resource-iterator.pipe.mjs +0 -49
- package/esm2022/views/common/scheduler-task.mjs +0 -5
- package/esm2022/views/common/slot-selectable.directive.mjs +0 -137
- package/esm2022/views/common/view-footer.component.mjs +0 -103
- package/esm2022/views/common/work-hours-footer.directive.mjs +0 -45
- package/esm2022/views/constants.mjs +0 -31
- package/esm2022/views/day-time/day-time-slot.service.mjs +0 -633
- package/esm2022/views/day-time/day-time-view-base.mjs +0 -244
- package/esm2022/views/day-time/day-time-view-item.component.mjs +0 -216
- package/esm2022/views/day-time/day-time-view.component.mjs +0 -437
- package/esm2022/views/day-time/event-slot.directive.mjs +0 -138
- package/esm2022/views/day-time/utils.mjs +0 -32
- package/esm2022/views/month/month-slot.component.mjs +0 -166
- package/esm2022/views/month/month-slot.service.mjs +0 -404
- package/esm2022/views/month/month-view-item.component.mjs +0 -161
- package/esm2022/views/month/month-view-renderer.component.mjs +0 -683
- package/esm2022/views/month/month-view.component.mjs +0 -203
- package/esm2022/views/month/multi-week-view.component.mjs +0 -202
- package/esm2022/views/month/utils.mjs +0 -107
- package/esm2022/views/multi-day/day-view.component.mjs +0 -186
- package/esm2022/views/multi-day/multi-day-view-base.mjs +0 -55
- package/esm2022/views/multi-day/multi-day-view-renderer.component.mjs +0 -1002
- package/esm2022/views/multi-day/multi-day-view.component.mjs +0 -197
- package/esm2022/views/multi-day/utils.mjs +0 -63
- package/esm2022/views/multi-day/week-view.component.mjs +0 -189
- package/esm2022/views/multi-day/work-week-view.component.mjs +0 -172
- package/esm2022/views/scheduler-view.directive.mjs +0 -65
- package/esm2022/views/templates/agenda-date-template.directive.mjs +0 -41
- package/esm2022/views/templates/agenda-time-template.directive.mjs +0 -46
- package/esm2022/views/templates/all-day-event-template.directive.mjs +0 -42
- package/esm2022/views/templates/all-day-slot-template.directive.mjs +0 -42
- package/esm2022/views/templates/date-header-template.directive.mjs +0 -42
- package/esm2022/views/templates/event-template.directive.mjs +0 -42
- package/esm2022/views/templates/group-header-template.directive.mjs +0 -42
- package/esm2022/views/templates/major-time-header-template.directive.mjs +0 -41
- package/esm2022/views/templates/minor-time-header-template.directive.mjs +0 -41
- package/esm2022/views/templates/month-day-slot-template.directive.mjs +0 -42
- package/esm2022/views/templates/multi-week-day-slot-template.directive.mjs +0 -42
- package/esm2022/views/templates/time-slot-template.directive.mjs +0 -43
- package/esm2022/views/templates.mjs +0 -16
- package/esm2022/views/timeline/timeline-base.mjs +0 -39
- package/esm2022/views/timeline/timeline-month-view.component.mjs +0 -211
- package/esm2022/views/timeline/timeline-multi-day-view.component.mjs +0 -649
- package/esm2022/views/timeline/timeline-view.component.mjs +0 -189
- package/esm2022/views/timeline/timeline-week-view.component.mjs +0 -181
- package/esm2022/views/timeline/utils.mjs +0 -60
- package/esm2022/views/utils.mjs +0 -373
- package/esm2022/views/view-context.service.mjs +0 -111
- package/esm2022/views/view-items/base-slot.directive.mjs +0 -104
- package/esm2022/views/view-items/base-slot.service.mjs +0 -82
- package/esm2022/views/view-items/base-view-item.mjs +0 -194
- package/esm2022/views/view-items/item-map.mjs +0 -38
- package/esm2022/views/view-items/types.mjs +0 -5
- package/esm2022/views/view-state.service.mjs +0 -144
- package/esm2022/views/year/utils.mjs +0 -60
- package/esm2022/views/year/year-view-internal.component.mjs +0 -471
- package/esm2022/views/year/year-view.component.mjs +0 -136
|
@@ -1,164 +0,0 @@
|
|
|
1
|
-
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
3
|
-
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
-
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
import { TemplateRef, ViewChild, ContentChild, ChangeDetectorRef, Input, Directive } from '@angular/core';
|
|
6
|
-
import { SchedulerView } from '../../types';
|
|
7
|
-
import { EventTemplateDirective, GroupHeaderTemplateDirective } from '../templates';
|
|
8
|
-
import { LocalizationService } from '@progress/kendo-angular-l10n';
|
|
9
|
-
import { ViewContextService } from '../view-context.service';
|
|
10
|
-
import { ViewStateService } from '../view-state.service';
|
|
11
|
-
import { isPresent } from '../../common/util';
|
|
12
|
-
import * as i0 from "@angular/core";
|
|
13
|
-
import * as i1 from "@progress/kendo-angular-l10n";
|
|
14
|
-
import * as i2 from "../view-context.service";
|
|
15
|
-
import * as i3 from "../view-state.service";
|
|
16
|
-
const defaultSlotClass = (_args) => null;
|
|
17
|
-
/**
|
|
18
|
-
* @hidden
|
|
19
|
-
*/
|
|
20
|
-
export class ConfigurationViewBase extends SchedulerView {
|
|
21
|
-
localization;
|
|
22
|
-
changeDetector;
|
|
23
|
-
viewContext;
|
|
24
|
-
viewState;
|
|
25
|
-
/**
|
|
26
|
-
* Specifies the days that will be hidden from the view.
|
|
27
|
-
* Accepts an array of `Day` enum values.
|
|
28
|
-
**/
|
|
29
|
-
set hiddenDays(_hiddenDays) {
|
|
30
|
-
this._hiddenDays = _hiddenDays;
|
|
31
|
-
}
|
|
32
|
-
get hiddenDays() {
|
|
33
|
-
return this._hiddenDays;
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Defines a function that is executed for every slot in the view.
|
|
37
|
-
* The function returns a value which is supported by [`ngClass`](link:site.data.urls.angular['ngclassapi']) [see example](slug:styling_scheduler#slot-styling).
|
|
38
|
-
*/
|
|
39
|
-
slotClass;
|
|
40
|
-
/**
|
|
41
|
-
* Defines a function that is executed for every event in the view.
|
|
42
|
-
* The function returns a value which is supported by [`ngClass`](link:site.data.urls.angular['ngclassapi']).
|
|
43
|
-
*/
|
|
44
|
-
eventClass;
|
|
45
|
-
/**
|
|
46
|
-
* Defines a function that is executed for every event in the view.
|
|
47
|
-
* The function returns a value which is supported by [`ngStyle`](link:site.data.urls.angular['ngstyleapi']).
|
|
48
|
-
*/
|
|
49
|
-
eventStyles;
|
|
50
|
-
/**
|
|
51
|
-
* Specifies the settings for the ongoing events highlight of the Scheduler.
|
|
52
|
-
*/
|
|
53
|
-
highlightOngoingEvents;
|
|
54
|
-
/**
|
|
55
|
-
* Specifies whether to display the toolbar of the Scheduler.
|
|
56
|
-
*/
|
|
57
|
-
get showToolbar() {
|
|
58
|
-
return this._showToolbar;
|
|
59
|
-
}
|
|
60
|
-
set showToolbar(value) {
|
|
61
|
-
this._showToolbar = value;
|
|
62
|
-
this.viewState.toolbarVisibilityByView.set(this, value);
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* @hidden
|
|
66
|
-
*/
|
|
67
|
-
template;
|
|
68
|
-
/**
|
|
69
|
-
* @hidden
|
|
70
|
-
*/
|
|
71
|
-
eventTemplate;
|
|
72
|
-
/**
|
|
73
|
-
* @hidden
|
|
74
|
-
*/
|
|
75
|
-
groupHeaderTemplate;
|
|
76
|
-
/**
|
|
77
|
-
* @hidden
|
|
78
|
-
*/
|
|
79
|
-
get viewSlotClass() {
|
|
80
|
-
return isPresent(this.slotClass) ? this.slotClass : (this.schedulerOptions.slotClass || defaultSlotClass);
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* @hidden
|
|
84
|
-
*/
|
|
85
|
-
get viewEventClass() {
|
|
86
|
-
return isPresent(this.eventClass) ? this.eventClass : this.schedulerOptions.eventClass;
|
|
87
|
-
}
|
|
88
|
-
/**
|
|
89
|
-
* @hidden
|
|
90
|
-
*/
|
|
91
|
-
get viewEventStyles() {
|
|
92
|
-
return isPresent(this.eventStyles) ? this.eventStyles : this.schedulerOptions.eventStyles;
|
|
93
|
-
}
|
|
94
|
-
/**
|
|
95
|
-
* @hidden
|
|
96
|
-
*/
|
|
97
|
-
get viewHighlightOngoingEvents() {
|
|
98
|
-
return isPresent(this.highlightOngoingEvents) ? this.highlightOngoingEvents : this.schedulerOptions.highlightOngoingEvents;
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* @hidden
|
|
102
|
-
*/
|
|
103
|
-
get viewWeekStart() {
|
|
104
|
-
return this.schedulerOptions.weekStart;
|
|
105
|
-
}
|
|
106
|
-
/**
|
|
107
|
-
* @hidden
|
|
108
|
-
*/
|
|
109
|
-
get viewHiddenDays() {
|
|
110
|
-
const result = isPresent(this.hiddenDays) ? this.hiddenDays : (this.schedulerOptions.hiddenDays);
|
|
111
|
-
return result;
|
|
112
|
-
}
|
|
113
|
-
subs;
|
|
114
|
-
schedulerOptions = {};
|
|
115
|
-
_hiddenDays;
|
|
116
|
-
constructor(localization, changeDetector, viewContext, viewState) {
|
|
117
|
-
super();
|
|
118
|
-
this.localization = localization;
|
|
119
|
-
this.changeDetector = changeDetector;
|
|
120
|
-
this.viewContext = viewContext;
|
|
121
|
-
this.viewState = viewState;
|
|
122
|
-
this.subs = this.localization.changes.subscribe(() => {
|
|
123
|
-
changeDetector.markForCheck();
|
|
124
|
-
});
|
|
125
|
-
this.subs.add(this.viewContext.optionsChange.subscribe(this.optionsChange.bind(this)));
|
|
126
|
-
}
|
|
127
|
-
ngOnChanges(changes) {
|
|
128
|
-
this.viewState.notifyOptionsChange(changes);
|
|
129
|
-
}
|
|
130
|
-
ngOnDestroy() {
|
|
131
|
-
this.subs.unsubscribe();
|
|
132
|
-
this.viewState.toolbarVisibilityByView.delete(this);
|
|
133
|
-
}
|
|
134
|
-
optionsChange(options) {
|
|
135
|
-
this.schedulerOptions = options;
|
|
136
|
-
}
|
|
137
|
-
_showToolbar;
|
|
138
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ConfigurationViewBase, deps: [{ token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i2.ViewContextService }, { token: i3.ViewStateService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
139
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: ConfigurationViewBase, inputs: { hiddenDays: "hiddenDays", 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 });
|
|
140
|
-
}
|
|
141
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ConfigurationViewBase, decorators: [{
|
|
142
|
-
type: Directive
|
|
143
|
-
}], ctorParameters: () => [{ type: i1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: i2.ViewContextService }, { type: i3.ViewStateService }], propDecorators: { hiddenDays: [{
|
|
144
|
-
type: Input
|
|
145
|
-
}], slotClass: [{
|
|
146
|
-
type: Input
|
|
147
|
-
}], eventClass: [{
|
|
148
|
-
type: Input
|
|
149
|
-
}], eventStyles: [{
|
|
150
|
-
type: Input
|
|
151
|
-
}], highlightOngoingEvents: [{
|
|
152
|
-
type: Input
|
|
153
|
-
}], showToolbar: [{
|
|
154
|
-
type: Input
|
|
155
|
-
}], template: [{
|
|
156
|
-
type: ViewChild,
|
|
157
|
-
args: ['content', { static: true }]
|
|
158
|
-
}], eventTemplate: [{
|
|
159
|
-
type: ContentChild,
|
|
160
|
-
args: [EventTemplateDirective, { static: false }]
|
|
161
|
-
}], groupHeaderTemplate: [{
|
|
162
|
-
type: ContentChild,
|
|
163
|
-
args: [GroupHeaderTemplateDirective, { static: false }]
|
|
164
|
-
}] } });
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
3
|
-
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
-
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
import { Injectable, EventEmitter } from '@angular/core';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
/**
|
|
8
|
-
* @hidden
|
|
9
|
-
*/
|
|
10
|
-
export class DomEventsService {
|
|
11
|
-
focus = new EventEmitter();
|
|
12
|
-
focusIn = new EventEmitter();
|
|
13
|
-
focusOut = new EventEmitter();
|
|
14
|
-
click = new EventEmitter();
|
|
15
|
-
keydown = new EventEmitter();
|
|
16
|
-
windowBlur = new EventEmitter();
|
|
17
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DomEventsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
18
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DomEventsService });
|
|
19
|
-
}
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DomEventsService, decorators: [{
|
|
21
|
-
type: Injectable
|
|
22
|
-
}] });
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
3
|
-
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
-
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
import { Component, ChangeDetectorRef, ContentChild, TemplateRef } from '@angular/core';
|
|
6
|
-
import { NgTemplateOutlet } from '@angular/common';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
/**
|
|
9
|
-
* @hidden
|
|
10
|
-
*/
|
|
11
|
-
export class HintContainerComponent {
|
|
12
|
-
changeDetector;
|
|
13
|
-
hintTemplate;
|
|
14
|
-
constructor(changeDetector) {
|
|
15
|
-
this.changeDetector = changeDetector;
|
|
16
|
-
this.changeDetector.detach();
|
|
17
|
-
}
|
|
18
|
-
detectChanges() {
|
|
19
|
-
this.changeDetector.detectChanges();
|
|
20
|
-
}
|
|
21
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: HintContainerComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
22
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: HintContainerComponent, isStandalone: true, selector: "kendo-hint-container", queries: [{ propertyName: "hintTemplate", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: `
|
|
23
|
-
<ng-container [ngTemplateOutlet]="hintTemplate">
|
|
24
|
-
</ng-container>
|
|
25
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
|
|
26
|
-
}
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: HintContainerComponent, decorators: [{
|
|
28
|
-
type: Component,
|
|
29
|
-
args: [{
|
|
30
|
-
selector: 'kendo-hint-container',
|
|
31
|
-
template: `
|
|
32
|
-
<ng-container [ngTemplateOutlet]="hintTemplate">
|
|
33
|
-
</ng-container>
|
|
34
|
-
`,
|
|
35
|
-
standalone: true,
|
|
36
|
-
imports: [NgTemplateOutlet]
|
|
37
|
-
}]
|
|
38
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { hintTemplate: [{
|
|
39
|
-
type: ContentChild,
|
|
40
|
-
args: [TemplateRef, { static: false }]
|
|
41
|
-
}] } });
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
3
|
-
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
-
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
import { Pipe } from '@angular/core';
|
|
6
|
-
import { iterator } from '../../common/util';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
class NumberIterator {
|
|
9
|
-
count;
|
|
10
|
-
*[iterator]() {
|
|
11
|
-
for (let i = 0; i < this.count; i++) {
|
|
12
|
-
yield i;
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
constructor(count) {
|
|
16
|
-
this.count = count;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* @hidden
|
|
21
|
-
*/
|
|
22
|
-
export class RepeatPipe {
|
|
23
|
-
transform(value) {
|
|
24
|
-
return new NumberIterator(value);
|
|
25
|
-
}
|
|
26
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RepeatPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
27
|
-
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: RepeatPipe, isStandalone: true, name: "repeat" });
|
|
28
|
-
}
|
|
29
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RepeatPipe, decorators: [{
|
|
30
|
-
type: Pipe,
|
|
31
|
-
args: [{
|
|
32
|
-
// eslint-disable-next-line @angular-eslint/pipe-prefix
|
|
33
|
-
name: 'repeat',
|
|
34
|
-
standalone: true
|
|
35
|
-
}]
|
|
36
|
-
}] });
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
3
|
-
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
-
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
import { Component, HostBinding, Input } from '@angular/core';
|
|
6
|
-
import { toLocalDate } from '@progress/kendo-date-math';
|
|
7
|
-
import { DatePipe } from '@progress/kendo-angular-intl';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
/**
|
|
10
|
-
* @hidden
|
|
11
|
-
*/
|
|
12
|
-
export class ResizeHintComponent {
|
|
13
|
-
hint;
|
|
14
|
-
format;
|
|
15
|
-
marqueeClasses = true;
|
|
16
|
-
get left() {
|
|
17
|
-
return this.hint.rect.left;
|
|
18
|
-
}
|
|
19
|
-
get top() {
|
|
20
|
-
return this.hint.rect.top;
|
|
21
|
-
}
|
|
22
|
-
get width() {
|
|
23
|
-
return this.hint.rect.width;
|
|
24
|
-
}
|
|
25
|
-
get height() {
|
|
26
|
-
return this.hint.rect.height;
|
|
27
|
-
}
|
|
28
|
-
get start() {
|
|
29
|
-
return toLocalDate(this.hint.start);
|
|
30
|
-
}
|
|
31
|
-
get end() {
|
|
32
|
-
return toLocalDate(this.hint.end);
|
|
33
|
-
}
|
|
34
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ResizeHintComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
35
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ResizeHintComponent, isStandalone: true, selector: "[kendoResizeHint]", inputs: { hint: "hint", format: "format" }, host: { properties: { "class.k-marquee": "this.marqueeClasses", "class.k-scheduler-marquee": "this.marqueeClasses", "class.k-first": "this.marqueeClasses", "class.k-last": "this.marqueeClasses", "style.left.px": "this.left", "style.right.px": "this.left", "style.top.px": "this.top", "style.width.px": "this.width", "style.height.px": "this.height" } }, ngImport: i0, template: `
|
|
36
|
-
<div class="k-marquee-color"></div>
|
|
37
|
-
<div class="k-marquee-text">
|
|
38
|
-
@if (hint.first) {
|
|
39
|
-
<div class="k-label-top">{{ start | kendoDate : format }}</div>
|
|
40
|
-
}
|
|
41
|
-
@if (hint.last) {
|
|
42
|
-
<div class="k-label-bottom">{{ end | kendoDate : format }}</div>
|
|
43
|
-
}
|
|
44
|
-
</div>
|
|
45
|
-
`, isInline: true, dependencies: [{ kind: "pipe", type: DatePipe, name: "kendoDate" }] });
|
|
46
|
-
}
|
|
47
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ResizeHintComponent, decorators: [{
|
|
48
|
-
type: Component,
|
|
49
|
-
args: [{
|
|
50
|
-
// eslint-disable-next-line @angular-eslint/component-selector
|
|
51
|
-
selector: '[kendoResizeHint]',
|
|
52
|
-
template: `
|
|
53
|
-
<div class="k-marquee-color"></div>
|
|
54
|
-
<div class="k-marquee-text">
|
|
55
|
-
@if (hint.first) {
|
|
56
|
-
<div class="k-label-top">{{ start | kendoDate : format }}</div>
|
|
57
|
-
}
|
|
58
|
-
@if (hint.last) {
|
|
59
|
-
<div class="k-label-bottom">{{ end | kendoDate : format }}</div>
|
|
60
|
-
}
|
|
61
|
-
</div>
|
|
62
|
-
`,
|
|
63
|
-
standalone: true,
|
|
64
|
-
imports: [DatePipe]
|
|
65
|
-
}]
|
|
66
|
-
}], propDecorators: { hint: [{
|
|
67
|
-
type: Input
|
|
68
|
-
}], format: [{
|
|
69
|
-
type: Input
|
|
70
|
-
}], marqueeClasses: [{
|
|
71
|
-
type: HostBinding,
|
|
72
|
-
args: ['class.k-marquee']
|
|
73
|
-
}, {
|
|
74
|
-
type: HostBinding,
|
|
75
|
-
args: ['class.k-scheduler-marquee']
|
|
76
|
-
}, {
|
|
77
|
-
type: HostBinding,
|
|
78
|
-
args: ['class.k-first']
|
|
79
|
-
}, {
|
|
80
|
-
type: HostBinding,
|
|
81
|
-
args: ['class.k-last']
|
|
82
|
-
}], left: [{
|
|
83
|
-
type: HostBinding,
|
|
84
|
-
args: ['style.left.px']
|
|
85
|
-
}, {
|
|
86
|
-
type: HostBinding,
|
|
87
|
-
args: ['style.right.px']
|
|
88
|
-
}], top: [{
|
|
89
|
-
type: HostBinding,
|
|
90
|
-
args: ['style.top.px']
|
|
91
|
-
}], width: [{
|
|
92
|
-
type: HostBinding,
|
|
93
|
-
args: ['style.width.px']
|
|
94
|
-
}], height: [{
|
|
95
|
-
type: HostBinding,
|
|
96
|
-
args: ['style.height.px']
|
|
97
|
-
}] } });
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
3
|
-
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
-
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
import { Pipe } from '@angular/core';
|
|
6
|
-
import { iterator } from '../../common/util';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
class ResourceIterator {
|
|
9
|
-
resources;
|
|
10
|
-
lastIndex;
|
|
11
|
-
*[iterator]() {
|
|
12
|
-
let resources = this.resources;
|
|
13
|
-
const lastIndex = Math.max(0, this.lastIndex);
|
|
14
|
-
if (!(resources && resources.length)) {
|
|
15
|
-
resources = [{}];
|
|
16
|
-
}
|
|
17
|
-
const lastData = resources[lastIndex].data || [];
|
|
18
|
-
const length = lastData.length;
|
|
19
|
-
let count = 1;
|
|
20
|
-
for (let idx = 0; idx <= lastIndex; idx++) {
|
|
21
|
-
count *= (resources[idx].data || []).length || 1;
|
|
22
|
-
}
|
|
23
|
-
for (let idx = 0; idx < count; idx++) {
|
|
24
|
-
yield lastData[idx % length];
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
constructor(resources, lastIndex = resources.length - 1) {
|
|
28
|
-
this.resources = resources;
|
|
29
|
-
this.lastIndex = lastIndex;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* @hidden
|
|
34
|
-
*/
|
|
35
|
-
export class ResourceIteratorPipe {
|
|
36
|
-
transform(resources = [], lastIndex) {
|
|
37
|
-
return new ResourceIterator(resources, lastIndex);
|
|
38
|
-
}
|
|
39
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ResourceIteratorPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
40
|
-
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: ResourceIteratorPipe, isStandalone: true, name: "resourceIterator" });
|
|
41
|
-
}
|
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ResourceIteratorPipe, decorators: [{
|
|
43
|
-
type: Pipe,
|
|
44
|
-
args: [{
|
|
45
|
-
// eslint-disable-next-line @angular-eslint/pipe-prefix
|
|
46
|
-
name: 'resourceIterator',
|
|
47
|
-
standalone: true
|
|
48
|
-
}]
|
|
49
|
-
}] });
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
3
|
-
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
-
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
export {};
|
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
3
|
-
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
-
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
import { Directive, Input, Output, EventEmitter, ChangeDetectorRef } from '@angular/core';
|
|
6
|
-
import { Subscription } from 'rxjs';
|
|
7
|
-
import { intersects, isSameRange, resourcesMatch } from '../utils';
|
|
8
|
-
import { SchedulerComponent } from '../../scheduler.component';
|
|
9
|
-
import { distinctUntilChanged, filter } from 'rxjs/operators';
|
|
10
|
-
import { isChanged } from '@progress/kendo-angular-common';
|
|
11
|
-
import * as i0 from "@angular/core";
|
|
12
|
-
import * as i1 from "../../scheduler.component";
|
|
13
|
-
/**
|
|
14
|
-
* Represents a directive that manages the built-in slot selection in the Scheduler.
|
|
15
|
-
*
|
|
16
|
-
* Add the `kendoSchedulerSlotSelectable` directive to a `<kendo-scheduler>` instance to allow users to select time slots by clicking or dragging.
|
|
17
|
-
*
|
|
18
|
-
* The directive keeps track of the selected slot range and emits changes when the selection is updated by user interaction.
|
|
19
|
-
*
|
|
20
|
-
* @example
|
|
21
|
-
* ```html
|
|
22
|
-
* <kendo-scheduler kendoSchedulerSlotSelectable [(slotSelection)]="selectedSlot">
|
|
23
|
-
* </kendo-scheduler>
|
|
24
|
-
* ```
|
|
25
|
-
*
|
|
26
|
-
* @remarks
|
|
27
|
-
* Applied to: {@link SchedulerComponent}
|
|
28
|
-
*/
|
|
29
|
-
export class SlotSelectableDirective {
|
|
30
|
-
scheduler;
|
|
31
|
-
cdr;
|
|
32
|
-
/**
|
|
33
|
-
* Represents the currently selected slot range.
|
|
34
|
-
*/
|
|
35
|
-
slotSelection;
|
|
36
|
-
/**
|
|
37
|
-
* Fires when the user changes the currently selected slot range.
|
|
38
|
-
*/
|
|
39
|
-
slotSelectionChange = new EventEmitter();
|
|
40
|
-
/**
|
|
41
|
-
* @hidden
|
|
42
|
-
* The resources of the cell where the selection started.
|
|
43
|
-
* When dragging over the slots of a different resource in grouped mode, the ongoing selection will not be affected.
|
|
44
|
-
*/
|
|
45
|
-
selectionOriginResources;
|
|
46
|
-
selectedRange = null;
|
|
47
|
-
slotSelectionChangeSource = new EventEmitter();
|
|
48
|
-
subscriptions = new Subscription();
|
|
49
|
-
constructor(scheduler, cdr) {
|
|
50
|
-
this.scheduler = scheduler;
|
|
51
|
-
this.cdr = cdr;
|
|
52
|
-
this.scheduler.selectable = true;
|
|
53
|
-
this.subscriptions.add(this.slotSelectionChangeSource
|
|
54
|
-
.pipe(distinctUntilChanged((range1, range2) => isSameRange(range1, range2, this.scheduler.resources))).subscribe((v) => {
|
|
55
|
-
this.slotSelectionChange.emit(v);
|
|
56
|
-
}));
|
|
57
|
-
const start$ = this.scheduler.slotDragStart;
|
|
58
|
-
const drag$ = this.scheduler.slotDrag;
|
|
59
|
-
const end$ = this.scheduler.slotDragEnd;
|
|
60
|
-
const startSource = start$.pipe(filter(e => !e.isDefaultPrevented()));
|
|
61
|
-
this.subscriptions.add(startSource.subscribe(e => this.initDragSelect(e)));
|
|
62
|
-
this.subscriptions.add(drag$.subscribe(e => this.onDrag(e)));
|
|
63
|
-
this.subscriptions.add(end$.subscribe(() => this.onRelease()));
|
|
64
|
-
}
|
|
65
|
-
ngOnInit() {
|
|
66
|
-
this.scheduler.isSlotSelected = this.isSlotSelected.bind(this);
|
|
67
|
-
}
|
|
68
|
-
ngOnChanges(changes) {
|
|
69
|
-
if (isChanged("slotSelection", changes, false)) {
|
|
70
|
-
const defaults = {
|
|
71
|
-
isAllDay: false,
|
|
72
|
-
resources: this.scheduler?.resources ? this.scheduler.resources.reduce((result, resource) => {
|
|
73
|
-
result.push(...resource.data);
|
|
74
|
-
return result;
|
|
75
|
-
}, []) : []
|
|
76
|
-
};
|
|
77
|
-
this.selectedRange = Object.assign(defaults, changes['slotSelection'].currentValue);
|
|
78
|
-
this.cdr.markForCheck();
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
ngOnDestroy() {
|
|
82
|
-
this.subscriptions.unsubscribe();
|
|
83
|
-
}
|
|
84
|
-
isSlotSelected({ start, end, isAllDay, resources }) {
|
|
85
|
-
if (!start || !end || !this.selectedRange) {
|
|
86
|
-
return false;
|
|
87
|
-
}
|
|
88
|
-
const match = resourcesMatch(this.selectedRange.resources, resources, this.scheduler.resources);
|
|
89
|
-
if (!match) {
|
|
90
|
-
return false; // Limit selection to the grouped resource where the drag started.
|
|
91
|
-
}
|
|
92
|
-
return this.selectedRange && isAllDay === this.selectedRange.isAllDay && this.isInRange(start, end);
|
|
93
|
-
}
|
|
94
|
-
initDragSelect({ start, end, isAllDay, resources }) {
|
|
95
|
-
this.selectionOriginResources = resources.slice();
|
|
96
|
-
this.selectedRange = { start, end, isAllDay, resources: resources.slice() };
|
|
97
|
-
this.cdr.markForCheck();
|
|
98
|
-
}
|
|
99
|
-
onDrag({ start, end, resources }) {
|
|
100
|
-
const match = resourcesMatch(this.selectionOriginResources, resources, this.scheduler.resources);
|
|
101
|
-
if (!match) {
|
|
102
|
-
return; // Don't change selection when dragging over a different grouped resource's cells.
|
|
103
|
-
}
|
|
104
|
-
this.selectedRange.start = start;
|
|
105
|
-
this.selectedRange.end = end;
|
|
106
|
-
this.cdr.markForCheck();
|
|
107
|
-
}
|
|
108
|
-
onRelease() {
|
|
109
|
-
this.selectionOriginResources = null;
|
|
110
|
-
if (this.selectedRange) {
|
|
111
|
-
this.slotSelectionChangeSource.emit(this.selectedRange);
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
/**
|
|
115
|
-
* @hidden
|
|
116
|
-
* Checks if the selected range contains a local date range.
|
|
117
|
-
*/
|
|
118
|
-
isInRange(start, end) {
|
|
119
|
-
if (!this.selectedRange) {
|
|
120
|
-
return;
|
|
121
|
-
}
|
|
122
|
-
return intersects(start, end, this.selectedRange.start, this.selectedRange.end);
|
|
123
|
-
}
|
|
124
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SlotSelectableDirective, deps: [{ token: i1.SchedulerComponent }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
125
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: SlotSelectableDirective, isStandalone: true, selector: "[kendoSchedulerSlotSelectable]", inputs: { slotSelection: "slotSelection" }, outputs: { slotSelectionChange: "slotSelectionChange" }, usesOnChanges: true, ngImport: i0 });
|
|
126
|
-
}
|
|
127
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SlotSelectableDirective, decorators: [{
|
|
128
|
-
type: Directive,
|
|
129
|
-
args: [{
|
|
130
|
-
selector: '[kendoSchedulerSlotSelectable]',
|
|
131
|
-
standalone: true
|
|
132
|
-
}]
|
|
133
|
-
}], ctorParameters: () => [{ type: i1.SchedulerComponent }, { type: i0.ChangeDetectorRef }], propDecorators: { slotSelection: [{
|
|
134
|
-
type: Input
|
|
135
|
-
}], slotSelectionChange: [{
|
|
136
|
-
type: Output
|
|
137
|
-
}] } });
|
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
3
|
-
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
-
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
import { Component, Input, HostBinding, Output, EventEmitter } from '@angular/core';
|
|
6
|
-
import { ViewStateService } from '../view-state.service';
|
|
7
|
-
import { FocusableDirective } from '../../navigation/focusable.directive';
|
|
8
|
-
import { ButtonComponent } from '@progress/kendo-angular-buttons';
|
|
9
|
-
import { NgClass } from '@angular/common';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
import * as i1 from "../view-state.service";
|
|
12
|
-
/**
|
|
13
|
-
* @hidden
|
|
14
|
-
*/
|
|
15
|
-
export class ViewFooterComponent {
|
|
16
|
-
hostClasses = true;
|
|
17
|
-
toolbarRole = 'toolbar';
|
|
18
|
-
sub;
|
|
19
|
-
/**
|
|
20
|
-
* @hidden
|
|
21
|
-
* TODO: Drop in next MAJOR version
|
|
22
|
-
*/
|
|
23
|
-
inlineJustifyContentStyle = 'start';
|
|
24
|
-
itemClick = new EventEmitter();
|
|
25
|
-
items;
|
|
26
|
-
constructor(viewState) {
|
|
27
|
-
this.sub = viewState.toggleWorkHours.subscribe(() => this.itemClick.emit());
|
|
28
|
-
}
|
|
29
|
-
ngOnDestroy() {
|
|
30
|
-
// eslint-disable-next-line no-unused-expressions
|
|
31
|
-
this.sub && this.sub.unsubscribe();
|
|
32
|
-
}
|
|
33
|
-
onItemClick(e, item) {
|
|
34
|
-
e.preventDefault();
|
|
35
|
-
this.itemClick.emit(item);
|
|
36
|
-
}
|
|
37
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ViewFooterComponent, deps: [{ token: i1.ViewStateService }], target: i0.ɵɵFactoryTarget.Component });
|
|
38
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ViewFooterComponent, isStandalone: true, selector: "[viewFooter]", inputs: { items: "items" }, outputs: { itemClick: "itemClick" }, host: { properties: { "class.k-scheduler-footer": "this.hostClasses", "class.k-toolbar": "this.hostClasses", "class.k-toolbar-solid": "this.hostClasses", "class.k-toolbar-md": "this.hostClasses", "attr.role": "this.toolbarRole", "style.justify-content": "this.inlineJustifyContentStyle" } }, ngImport: i0, template: `
|
|
39
|
-
<span class="k-scheduler-navigation">
|
|
40
|
-
@for (item of items; track item) {
|
|
41
|
-
<button
|
|
42
|
-
type="button"
|
|
43
|
-
kendoButton
|
|
44
|
-
[icon]="item.fontIcon"
|
|
45
|
-
[svgIcon]="item.svgIcon"
|
|
46
|
-
[ngClass]="item.cssClass"
|
|
47
|
-
(click)="onItemClick($event, item)"
|
|
48
|
-
[kendoSchedulerFocusIndex]="0"
|
|
49
|
-
containerType='footer'>
|
|
50
|
-
<span class="k-button-text">{{ item.text }}</span>
|
|
51
|
-
</button>
|
|
52
|
-
}
|
|
53
|
-
</span>
|
|
54
|
-
`, isInline: true, dependencies: [{ 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"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: FocusableDirective, selector: "[kendoSchedulerFocusIndex]", inputs: ["kendoSchedulerFocusIndex", "containerType"] }] });
|
|
55
|
-
}
|
|
56
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ViewFooterComponent, decorators: [{
|
|
57
|
-
type: Component,
|
|
58
|
-
args: [{
|
|
59
|
-
// eslint-disable-next-line @angular-eslint/component-selector
|
|
60
|
-
selector: '[viewFooter]',
|
|
61
|
-
template: `
|
|
62
|
-
<span class="k-scheduler-navigation">
|
|
63
|
-
@for (item of items; track item) {
|
|
64
|
-
<button
|
|
65
|
-
type="button"
|
|
66
|
-
kendoButton
|
|
67
|
-
[icon]="item.fontIcon"
|
|
68
|
-
[svgIcon]="item.svgIcon"
|
|
69
|
-
[ngClass]="item.cssClass"
|
|
70
|
-
(click)="onItemClick($event, item)"
|
|
71
|
-
[kendoSchedulerFocusIndex]="0"
|
|
72
|
-
containerType='footer'>
|
|
73
|
-
<span class="k-button-text">{{ item.text }}</span>
|
|
74
|
-
</button>
|
|
75
|
-
}
|
|
76
|
-
</span>
|
|
77
|
-
`,
|
|
78
|
-
standalone: true,
|
|
79
|
-
imports: [ButtonComponent, NgClass, FocusableDirective]
|
|
80
|
-
}]
|
|
81
|
-
}], ctorParameters: () => [{ type: i1.ViewStateService }], propDecorators: { hostClasses: [{
|
|
82
|
-
type: HostBinding,
|
|
83
|
-
args: ['class.k-scheduler-footer']
|
|
84
|
-
}, {
|
|
85
|
-
type: HostBinding,
|
|
86
|
-
args: ['class.k-toolbar']
|
|
87
|
-
}, {
|
|
88
|
-
type: HostBinding,
|
|
89
|
-
args: ['class.k-toolbar-solid']
|
|
90
|
-
}, {
|
|
91
|
-
type: HostBinding,
|
|
92
|
-
args: ['class.k-toolbar-md']
|
|
93
|
-
}], toolbarRole: [{
|
|
94
|
-
type: HostBinding,
|
|
95
|
-
args: ['attr.role']
|
|
96
|
-
}], inlineJustifyContentStyle: [{
|
|
97
|
-
type: HostBinding,
|
|
98
|
-
args: ['style.justify-content']
|
|
99
|
-
}], itemClick: [{
|
|
100
|
-
type: Output
|
|
101
|
-
}], items: [{
|
|
102
|
-
type: Input
|
|
103
|
-
}] } });
|