@progress/kendo-angular-scheduler 2.2.0-dev.202112171600 → 3.0.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.
Files changed (50) hide show
  1. package/dist/cdn/js/kendo-angular-scheduler.js +2 -2
  2. package/dist/cdn/main.js +1 -1
  3. package/dist/es/editing/date-time-picker.component.js +2 -1
  4. package/dist/es/editing/edit-dialog.component.js +1 -1
  5. package/dist/es/editing/recurrence/end-rule-radio-button.directive.js +5 -0
  6. package/dist/es/editing/recurrence/recurrence-monthly-yearly-editor.component.js +1 -1
  7. package/dist/es/editing/recurrence/repeat-on-radio-button.directive.js +5 -0
  8. package/dist/es/package-metadata.js +1 -1
  9. package/dist/es/scheduler.module.js +3 -1
  10. package/dist/es/toolbar/view-selector.component.js +1 -1
  11. package/dist/es/views/common/base-view.js +2 -1
  12. package/dist/es/views/common/slot-selectable.directive.js +4 -4
  13. package/dist/es/views/common/view-footer.component.js +1 -1
  14. package/dist/es/views/common/views-shared.module.js +2 -1
  15. package/dist/es/views/utils.js +5 -5
  16. package/dist/es2015/editing/date-time-picker.component.js +7 -1
  17. package/dist/es2015/editing/edit-dialog.component.js +7 -7
  18. package/dist/es2015/editing/recurrence/end-rule-radio-button.directive.d.ts +1 -0
  19. package/dist/es2015/editing/recurrence/end-rule-radio-button.directive.js +5 -0
  20. package/dist/es2015/editing/recurrence/recurrence-monthly-yearly-editor.component.js +14 -5
  21. package/dist/es2015/editing/recurrence/repeat-on-radio-button.directive.d.ts +1 -0
  22. package/dist/es2015/editing/recurrence/repeat-on-radio-button.directive.js +5 -0
  23. package/dist/es2015/index.metadata.json +1 -1
  24. package/dist/es2015/package-metadata.js +1 -1
  25. package/dist/es2015/scheduler.module.js +3 -1
  26. package/dist/es2015/toolbar/view-selector.component.js +1 -1
  27. package/dist/es2015/views/common/base-view.js +2 -1
  28. package/dist/es2015/views/common/slot-selectable.directive.js +4 -4
  29. package/dist/es2015/views/common/view-footer.component.js +1 -1
  30. package/dist/es2015/views/common/views-shared.module.js +2 -1
  31. package/dist/es2015/views/utils.d.ts +2 -2
  32. package/dist/es2015/views/utils.js +5 -5
  33. package/dist/fesm2015/index.js +56 -28
  34. package/dist/fesm5/index.js +32 -18
  35. package/dist/npm/editing/date-time-picker.component.js +2 -1
  36. package/dist/npm/editing/edit-dialog.component.js +1 -1
  37. package/dist/npm/editing/recurrence/end-rule-radio-button.directive.js +5 -0
  38. package/dist/npm/editing/recurrence/recurrence-monthly-yearly-editor.component.js +1 -1
  39. package/dist/npm/editing/recurrence/repeat-on-radio-button.directive.js +5 -0
  40. package/dist/npm/package-metadata.js +1 -1
  41. package/dist/npm/scheduler.module.js +2 -0
  42. package/dist/npm/toolbar/view-selector.component.js +1 -1
  43. package/dist/npm/views/common/base-view.js +2 -1
  44. package/dist/npm/views/common/slot-selectable.directive.js +4 -4
  45. package/dist/npm/views/common/view-footer.component.js +1 -1
  46. package/dist/npm/views/common/views-shared.module.js +2 -1
  47. package/dist/npm/views/utils.js +6 -6
  48. package/dist/systemjs/kendo-angular-scheduler.js +1 -1
  49. package/package.json +20 -19
  50. package/schematics/ngAdd/index.js +1 -1
@@ -21,7 +21,7 @@ import { PopupService, PopupModule } from '@progress/kendo-angular-popup';
21
21
  import { orderBy, groupBy } from '@progress/kendo-data-query';
22
22
  import Draggable from '@telerik/kendo-draggable';
23
23
  import { MultiSelectComponent, DropDownListComponent, ComboBoxComponent, DropDownsModule } from '@progress/kendo-angular-dropdowns';
24
- import { NumericTextBoxModule, TextBoxModule } from '@progress/kendo-angular-inputs';
24
+ import { CheckBoxModule, TextAreaModule, NumericTextBoxModule, TextBoxModule } from '@progress/kendo-angular-inputs';
25
25
  import { drawDOM, exportPDF } from '@progress/kendo-drawing';
26
26
  import { saveAs } from '@progress/kendo-file-saver';
27
27
 
@@ -32,7 +32,7 @@ var packageMetadata = {
32
32
  name: '@progress/kendo-angular-scheduler',
33
33
  productName: 'Kendo UI for Angular',
34
34
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
35
- publishDate: 1639756470,
35
+ publishDate: 1644230710,
36
36
  version: '',
37
37
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
38
38
  };
@@ -2125,17 +2125,17 @@ function assignTasksResources(tasks, options) {
2125
2125
  /**
2126
2126
  * @hidden
2127
2127
  */
2128
- function areValidResources(resources) {
2129
- return Array.isArray(resources) && resources.length > 0 && resources[0] !== undefined;
2128
+ function isEmptyResource(resources) {
2129
+ return Array.isArray(resources) && resources.length === 1 && resources[0] === undefined;
2130
2130
  }
2131
2131
  /**
2132
2132
  * @hidden
2133
2133
  */
2134
- function resourcesMatch(res1, res2, strict) {
2134
+ function resourcesMatch(res1, res2) {
2135
2135
  if (res1.length !== res2.length) {
2136
2136
  return false;
2137
2137
  }
2138
- if (!strict && !areValidResources(res1) || !areValidResources(res2)) {
2138
+ if (isEmptyResource(res1) && isEmptyResource(res2)) {
2139
2139
  return true;
2140
2140
  }
2141
2141
  return res1.every(function (r1) { return res2.some(function (r2) { return r2.value === r1.value; }); });
@@ -2147,7 +2147,7 @@ function isSameRange(range1, range2) {
2147
2147
  return (range1.start.getTime() === range2.start.getTime() &&
2148
2148
  range1.end.getTime() === range2.end.getTime() &&
2149
2149
  range1.isAllDay === range2.isAllDay &&
2150
- resourcesMatch(range1.resources, range2.resources, true));
2150
+ resourcesMatch(range1.resources, range2.resources));
2151
2151
  }
2152
2152
  /** @hidden */
2153
2153
  function findRowIndex(events, data) {
@@ -4353,7 +4353,7 @@ var ToolbarViewSelectorComponent = /** @class */ (function () {
4353
4353
  Component({
4354
4354
  // tslint:disable-next-line:component-selector
4355
4355
  selector: '[kendoSchedulerToolbarViewSelector]',
4356
- template: "\n <select *ngIf=\"ctx.views?.length > 1\"\n (change)=\"onChange($event)\"\n class=\"k-views-dropdown k-dropdown\">\n <option *ngFor=\"let view of ctx.views\"\n [selected]=\"isSelected(view) == true\"\n [value]=\"view.name\"\n >\n {{ view.title }}\n </option>\n </select>\n <span class=\"k-scheduler-views k-button-group\">\n <button kendoButton\n type=\"button\"\n *ngFor=\"let view of ctx.views\"\n [selected]=\"isSelected(view)\"\n [attr.aria-pressed]=\"isSelected(view)\"\n (click)=\"select(view)\"\n >\n <span class=\"k-button-text\">\n {{ view.title }}\n </span>\n </button>\n </span>\n "
4356
+ template: "\n <select *ngIf=\"ctx.views?.length > 1\"\n (change)=\"onChange($event)\"\n class=\"k-views-dropdown k-picker-md k-rounded-md k-picker-solid k-dropdownlist k-picker\">\n <option *ngFor=\"let view of ctx.views\"\n [selected]=\"isSelected(view) == true\"\n [value]=\"view.name\"\n >\n {{ view.title }}\n </option>\n </select>\n <span class=\"k-scheduler-views k-button-group\">\n <button kendoButton\n type=\"button\"\n *ngFor=\"let view of ctx.views\"\n [selected]=\"isSelected(view)\"\n [attr.aria-pressed]=\"isSelected(view)\"\n (click)=\"select(view)\"\n >\n <span class=\"k-button-text\">\n {{ view.title }}\n </span>\n </button>\n </span>\n "
4357
4357
  }),
4358
4358
  __metadata("design:paramtypes", [ToolbarService])
4359
4359
  ], ToolbarViewSelectorComponent);
@@ -6690,7 +6690,8 @@ var BaseView = /** @class */ (function () {
6690
6690
  this.pressTarget = task;
6691
6691
  }
6692
6692
  }
6693
- if (this.selectable) {
6693
+ var notDraggingEvent = !this.pressTarget;
6694
+ if (notDraggingEvent && this.selectable) {
6694
6695
  this.initDragSelect(args);
6695
6696
  }
6696
6697
  this.dragArgs = args;
@@ -7864,7 +7865,7 @@ var ViewFooterComponent = /** @class */ (function () {
7864
7865
  Component({
7865
7866
  // tslint:disable-next-line:component-selector
7866
7867
  selector: '[viewFooter]',
7867
- template: "\n <button type=\"button\" class=\"k-button\" *ngFor=\"let item of items\" [ngClass]=\"item.cssClass\" (click)=\"onItemClick($event, item)\">\n <span class=\"k-button-icon k-icon\" [ngClass]=\"item.iconClass\"></span>\n <span class=\"k-button-text\">{{ item.text }}</span>\n </button>\n "
7868
+ template: "\n <button type=\"button\" kendoButton *ngFor=\"let item of items\" [ngClass]=\"item.cssClass\" (click)=\"onItemClick($event, item)\">\n <span class=\"k-button-icon k-icon\" [ngClass]=\"item.iconClass\"></span>\n <span class=\"k-button-text\">{{ item.text }}</span>\n </button>\n "
7868
7869
  })
7869
7870
  ], ViewFooterComponent);
7870
7871
  return ViewFooterComponent;
@@ -8116,7 +8117,7 @@ var ViewsSharedModule = /** @class */ (function () {
8116
8117
  }
8117
8118
  ViewsSharedModule = __decorate([
8118
8119
  NgModule({
8119
- imports: [CommonModule, IntlModule, SharedModule],
8120
+ imports: [CommonModule, IntlModule, SharedModule, ButtonsModule],
8120
8121
  exports: [
8121
8122
  DECLARATIONS,
8122
8123
  IntlModule,
@@ -11882,7 +11883,7 @@ var EditDialogComponent = /** @class */ (function () {
11882
11883
  EditDialogComponent = __decorate([
11883
11884
  Component({
11884
11885
  selector: 'kendo-scheduler-edit-dialog',
11885
- template: "\n <kendo-dialog (close)='onClose()' [minWidth]='700' *ngIf='isActive' title='{{ textFor(\"editorTitle\") }}' class='k-scheduler-edit-dialog' [autoFocusedElement]=\"autoFocusedElement\">\n <ng-container *ngIf='!editTemplate'>\n <div class='k-scheduler-edit-form'>\n <div class='k-edit-form-container'>\n <form novalidate [formGroup]='formGroup'>\n <div class='k-edit-label'>\n <label for='k-event-title'>{{ textFor('editorEventTitle') }}</label>\n </div>\n <div class='k-edit-field'>\n <input #title id='k-event-title' class='k-textbox' placeholder='Title' [formControl]='formGroup.get(fields.title)' />\n </div>\n\n <div class='k-edit-label'>\n <label (click)=\"startDateTimePicker.focus()\">{{ textFor('editorEventStart') }}</label>\n </div>\n <div class='k-edit-field'>\n <kendo-scheduler-datetime-picker #startDateTimePicker [formControl]='formGroup.get(fields.start)'\n [isAllDay]='getFormValue(fields.isAllDay)?.value'>\n </kendo-scheduler-datetime-picker>\n </div>\n\n <ng-container *ngIf=\"isStartTimeZoneVisible\">\n <div class='k-edit-label'>\n <label (click)=\"startTzPicker.focus()\">{{ textFor('editorEventStartTimeZone') }}</label>\n </div>\n\n <div class='k-edit-field'>\n <kendo-timezone-editor #startTzPicker [formControl]='formGroup.get(fields.startTimezone)'></kendo-timezone-editor>\n </div>\n </ng-container>\n\n <div class='k-edit-label'>\n <label (click)=\"endDateTimePicker.focus()\">{{ textFor('editorEventEnd') }}</label>\n </div>\n <div class='k-edit-field'>\n <kendo-scheduler-datetime-picker #endDateTimePicker [formControl]='formGroup.get(fields.end)'\n [isAllDay]='getFormValue(fields.isAllDay)?.value'>\n </kendo-scheduler-datetime-picker>\n </div>\n\n <ng-container *ngIf=\"isEndTimeZoneVisible\">\n <div class='k-edit-label'>\n <label (click)=\"endTzPicker.focus()\">{{ textFor('editorEventEndTimeZone') }}</label>\n </div>\n\n <div class='k-edit-field'>\n <kendo-timezone-editor #endTzPicker [formControl]='formGroup.get(fields.endTimezone)'></kendo-timezone-editor>\n </div>\n </ng-container>\n\n <div class='k-edit-field' *ngIf=\"hasAllDay\">\n <input type='checkbox' id='k-is-allday-chkbox' class='k-checkbox' [formControl]='formGroup.get(fields.isAllDay)' />\n <label class='k-checkbox-label' for='k-is-allday-chkbox'>{{ textFor('editorEventAllDay') }}</label>\n </div>\n\n <div class='k-edit-field' *ngIf=\"hasStartTimeZone\">\n <input type='checkbox' id='k-set-timezone' class='k-checkbox'\n formControlName='startTimezoneCheckbox' />\n <label class='k-checkbox-label' for='k-set-timezone'>{{ textFor('editorEventTimeZone') }}</label>\n\n <ng-container *ngIf=\"isStartTimeZoneVisible && hasEndTimeZone\">\n <input type='checkbox' id='k-use-separate' class='k-checkbox' formControlName='endTimezoneCheckbox' />\n <label class='k-checkbox-label' for='k-use-separate'>{{ textFor('editorEventSeparateTimeZones') }}</label>\n </ng-container>\n </div>\n\n <ng-container *ngIf=\"isEditingSeries\">\n <kendo-recurrence-editor\n [formControl]='formGroup.get(fields.recurrenceRule)'\n [start]='recurrenceStart'\n [timezone]='eventTimezone'\n [weekStart]='weekStart'\n ></kendo-recurrence-editor>\n </ng-container>\n\n <ng-container *ngIf='getFormValue(fields.description)'>\n <div class='k-edit-label'>\n <label for='k-event-description'>{{ textFor('editorEventDescription') }}</label>\n </div>\n <div class='k-edit-field'>\n <textarea id='k-event-description' class='k-textbox' [formControl]='formGroup.get(fields.description)'></textarea>\n </div>\n </ng-container>\n\n <ng-container *ngFor='let resource of resources'>\n <ng-container *ngIf='getFormValue(resource.field)'>\n <div class='k-edit-label'>\n <label (click)=\"onResourceClick(resource)\">\n {{ resource.name ? resource.name : resource.field }}\n </label>\n </div>\n <div class='k-edit-field'>\n <kendo-multiple-resource-editor\n *ngIf='resource.multiple'\n [formControl]='formGroup.get(resource.field)'\n [resource]='resource'>\n </kendo-multiple-resource-editor>\n <kendo-single-resource-editor\n *ngIf='!resource.multiple'\n [formControl]='formGroup.get(resource.field)'\n [resource]='resource'>\n </kendo-single-resource-editor>\n </div>\n </ng-container>\n </ng-container>\n </form>\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngIf='editTemplate'>\n <form novalidate [formGroup]='formGroup'>\n <ng-container [ngTemplateOutlet]='editTemplate.templateRef'\n [ngTemplateOutletContext]=\"{\n $implicit: formGroup,\n formGroup: formGroup,\n dataItem: editedEvent,\n editMode: editMode,\n isNew: isNew\n }\">\n </ng-container>\n </form>\n </ng-container>\n\n <kendo-dialog-actions>\n <button class=\"k-button\" (click)=\"onCancel($event)\">{{ textFor('cancel') }}</button>\n <button class=\"k-button k-primary\" (click)=\"onSave($event)\" [disabled]=\"!formGroup.valid\">{{ textFor('save') }}</button>\n </kendo-dialog-actions>\n </kendo-dialog>\n "
11886
+ template: "\n <kendo-dialog (close)='onClose()' [minWidth]='700' *ngIf='isActive' title='{{ textFor(\"editorTitle\") }}' class='k-scheduler-edit-dialog' [autoFocusedElement]=\"autoFocusedElement\">\n <ng-container *ngIf='!editTemplate'>\n <div class='k-scheduler-edit-form'>\n <div class='k-edit-form-container'>\n <form novalidate [formGroup]='formGroup'>\n <div class='k-edit-label'>\n <label for='k-event-title'>{{ textFor('editorEventTitle') }}</label>\n </div>\n <div class='k-edit-field'>\n <input #title id='k-event-title' kendoTextBox placeholder='Title' [formControl]='formGroup.get(fields.title)' />\n </div>\n\n <div class='k-edit-label'>\n <label (click)=\"startDateTimePicker.focus()\">{{ textFor('editorEventStart') }}</label>\n </div>\n <div class='k-edit-field'>\n <kendo-scheduler-datetime-picker #startDateTimePicker [formControl]='formGroup.get(fields.start)'\n [isAllDay]='getFormValue(fields.isAllDay)?.value'>\n </kendo-scheduler-datetime-picker>\n </div>\n\n <ng-container *ngIf=\"isStartTimeZoneVisible\">\n <div class='k-edit-label'>\n <label (click)=\"startTzPicker.focus()\">{{ textFor('editorEventStartTimeZone') }}</label>\n </div>\n\n <div class='k-edit-field'>\n <kendo-timezone-editor #startTzPicker [formControl]='formGroup.get(fields.startTimezone)'></kendo-timezone-editor>\n </div>\n </ng-container>\n\n <div class='k-edit-label'>\n <label (click)=\"endDateTimePicker.focus()\">{{ textFor('editorEventEnd') }}</label>\n </div>\n <div class='k-edit-field'>\n <kendo-scheduler-datetime-picker #endDateTimePicker [formControl]='formGroup.get(fields.end)'\n [isAllDay]='getFormValue(fields.isAllDay)?.value'>\n </kendo-scheduler-datetime-picker>\n </div>\n\n <ng-container *ngIf=\"isEndTimeZoneVisible\">\n <div class='k-edit-label'>\n <label (click)=\"endTzPicker.focus()\">{{ textFor('editorEventEndTimeZone') }}</label>\n </div>\n\n <div class='k-edit-field'>\n <kendo-timezone-editor #endTzPicker [formControl]='formGroup.get(fields.endTimezone)'></kendo-timezone-editor>\n </div>\n </ng-container>\n\n <div class='k-edit-field' *ngIf=\"hasAllDay\">\n <input type='checkbox' id='k-is-allday-chkbox' kendoCheckBox [formControl]='formGroup.get(fields.isAllDay)' />\n <label class='k-checkbox-label' for='k-is-allday-chkbox'>{{ textFor('editorEventAllDay') }}</label>\n </div>\n\n <div class='k-edit-field' *ngIf=\"hasStartTimeZone\">\n <input type='checkbox' id='k-set-timezone' kendoCheckBox\n formControlName='startTimezoneCheckbox' />\n <label class='k-checkbox-label' for='k-set-timezone'>{{ textFor('editorEventTimeZone') }}</label>\n\n <ng-container *ngIf=\"isStartTimeZoneVisible && hasEndTimeZone\">\n <input type='checkbox' id='k-use-separate' kendoCheckBox formControlName='endTimezoneCheckbox' />\n <label class='k-checkbox-label' for='k-use-separate'>{{ textFor('editorEventSeparateTimeZones') }}</label>\n </ng-container>\n </div>\n\n <ng-container *ngIf=\"isEditingSeries\">\n <kendo-recurrence-editor\n [formControl]='formGroup.get(fields.recurrenceRule)'\n [start]='recurrenceStart'\n [timezone]='eventTimezone'\n [weekStart]='weekStart'\n ></kendo-recurrence-editor>\n </ng-container>\n\n <ng-container *ngIf='getFormValue(fields.description)'>\n <div class='k-edit-label'>\n <label for='k-event-description'>{{ textFor('editorEventDescription') }}</label>\n </div>\n <div class='k-edit-field'>\n <textarea id='k-event-description' kendoTextArea [formControl]='formGroup.get(fields.description)'></textarea>\n </div>\n </ng-container>\n\n <ng-container *ngFor='let resource of resources'>\n <ng-container *ngIf='getFormValue(resource.field)'>\n <div class='k-edit-label'>\n <label (click)=\"onResourceClick(resource)\">\n {{ resource.name ? resource.name : resource.field }}\n </label>\n </div>\n <div class='k-edit-field'>\n <kendo-multiple-resource-editor\n *ngIf='resource.multiple'\n [formControl]='formGroup.get(resource.field)'\n [resource]='resource'>\n </kendo-multiple-resource-editor>\n <kendo-single-resource-editor\n *ngIf='!resource.multiple'\n [formControl]='formGroup.get(resource.field)'\n [resource]='resource'>\n </kendo-single-resource-editor>\n </div>\n </ng-container>\n </ng-container>\n </form>\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngIf='editTemplate'>\n <form novalidate [formGroup]='formGroup'>\n <ng-container [ngTemplateOutlet]='editTemplate.templateRef'\n [ngTemplateOutletContext]=\"{\n $implicit: formGroup,\n formGroup: formGroup,\n dataItem: editedEvent,\n editMode: editMode,\n isNew: isNew\n }\">\n </ng-container>\n </form>\n </ng-container>\n\n <kendo-dialog-actions>\n <button kendoButton (click)=\"onCancel($event)\">{{ textFor('cancel') }}</button>\n <button kendoButton themeColor=\"primary\" (click)=\"onSave($event)\" [disabled]=\"!formGroup.valid\">{{ textFor('save') }}</button>\n </kendo-dialog-actions>\n </kendo-dialog>\n "
11886
11887
  }),
11887
11888
  __metadata("design:paramtypes", [NgZone,
11888
11889
  EditService,
@@ -11958,7 +11959,8 @@ var SchedulerDateTimePickerComponent = /** @class */ (function () {
11958
11959
  SCHEDULER_DATETIMEPICKER_VALUE_ACCESSOR
11959
11960
  ],
11960
11961
  selector: 'kendo-scheduler-datetime-picker',
11961
- template: "\n <kendo-datepicker\n #datepicker\n [(value)]='date'\n (valueChange)='onValueChange($event)'\n ></kendo-datepicker>\n <kendo-timepicker *ngIf='!isAllDay'\n [(value)]='date'\n (valueChange)='onValueChange($event)'\n ></kendo-timepicker>\n "
11962
+ template: "\n <kendo-datepicker\n #datepicker\n [(value)]='date'\n (valueChange)='onValueChange($event)'\n ></kendo-datepicker>\n <kendo-timepicker *ngIf='!isAllDay'\n [(value)]='date'\n (valueChange)='onValueChange($event)'\n ></kendo-timepicker>\n ",
11963
+ styles: ["\n kendo-datepicker,\n kendo-timepicker {\n width: 170px;\n }\n "]
11962
11964
  })
11963
11965
  ], SchedulerDateTimePickerComponent);
11964
11966
  return SchedulerDateTimePickerComponent;
@@ -12499,6 +12501,7 @@ var EndRuleRadioButtonDirective = /** @class */ (function () {
12499
12501
  this.changeDetector = changeDetector;
12500
12502
  this.type = 'radio';
12501
12503
  this.radioClass = true;
12504
+ this.radioSizeClass = true;
12502
12505
  this.destroyChange = this.renderer.listen(this.elem, 'change', this.onChange.bind(this));
12503
12506
  }
12504
12507
  EndRuleRadioButtonDirective.prototype.ngOnInit = function () {
@@ -12539,6 +12542,10 @@ var EndRuleRadioButtonDirective = /** @class */ (function () {
12539
12542
  HostBinding('class.k-radio'),
12540
12543
  __metadata("design:type", Boolean)
12541
12544
  ], EndRuleRadioButtonDirective.prototype, "radioClass", void 0);
12545
+ __decorate([
12546
+ HostBinding('class.k-radio-md'),
12547
+ __metadata("design:type", Boolean)
12548
+ ], EndRuleRadioButtonDirective.prototype, "radioSizeClass", void 0);
12542
12549
  __decorate([
12543
12550
  Input("kendoRecurrenceEndRuleRadioButton"),
12544
12551
  __metadata("design:type", String)
@@ -12805,6 +12812,7 @@ var RepeatOnRadioButtonDirective = /** @class */ (function () {
12805
12812
  this.changeDetector = changeDetector;
12806
12813
  this.type = 'radio';
12807
12814
  this.radioClass = true;
12815
+ this.radioSizeClass = true;
12808
12816
  this.destroyChange = this.renderer.listen(this.elem, 'change', this.onChange.bind(this));
12809
12817
  }
12810
12818
  Object.defineProperty(RepeatOnRadioButtonDirective.prototype, "repeatOnRule", {
@@ -12854,6 +12862,10 @@ var RepeatOnRadioButtonDirective = /** @class */ (function () {
12854
12862
  HostBinding('class.k-radio'),
12855
12863
  __metadata("design:type", Boolean)
12856
12864
  ], RepeatOnRadioButtonDirective.prototype, "radioClass", void 0);
12865
+ __decorate([
12866
+ HostBinding('class.k-radio-md'),
12867
+ __metadata("design:type", Boolean)
12868
+ ], RepeatOnRadioButtonDirective.prototype, "radioSizeClass", void 0);
12857
12869
  __decorate([
12858
12870
  Input("kendoRecurrenceRepeatOnRadioButton"),
12859
12871
  __metadata("design:type", String),
@@ -13129,7 +13141,7 @@ var RecurrenceMonthlyYearlyEditorComponent = /** @class */ (function () {
13129
13141
  RecurrenceMonthlyYearlyEditorComponent = __decorate([
13130
13142
  Component({
13131
13143
  selector: 'kendo-recurrence-monthly-yearly-editor',
13132
- template: "\n <div class='k-edit-label'>\n <label (click)=\"onRepeatOnLabelClick()\">{{ textForRepeatOn() }}</label>\n </div>\n <div class='k-edit-field'>\n <ul class='k-reset' [style.width.px]='650'>\n <li>\n <input kendoRecurrenceRepeatOnRadioButton='monthday-{{uniqueId}}' />\n\n <label class='k-radio-label' for='k-repeaton-monthday-{{uniqueId}}'>\n <ng-template [ngIf]=\"currentFreq === 'monthly'\">\n {{ textFor('monthlyDay') }}\n </ng-template>\n </label>\n\n <ng-template [ngIf]=\"currentFreq === 'yearly'\">\n <kendo-dropdownlist\n [data]='months'\n textField='text'\n valueField='value'\n [value]='currentMonthMonthDay'\n [valuePrimitive]='true'\n (valueChange)=\"onMonthChange($event, 'monthday')\"\n [disabled]=\"isDisabled('monthday')\">\n </kendo-dropdownlist>\n </ng-template>\n\n <kendo-numerictextbox\n [style.width.px]='70'\n [min]=\"numericOptions.min\"\n [max]=\"numericOptions.max\"\n [decimals]=\"0\"\n [format]=\"numericOptions.format\"\n [autoCorrect]=\"numericOptions.autoCorrect\"\n [readonly]=\"numericOptions.readonly\"\n [selectOnFocus]=\"numericOptions.selectOnFocus\"\n [spinners]=\"numericOptions.spinners\"\n [step]=\"numericOptions.step\"\n [title]=\"numericOptions.title\"\n [value]='monthDay'\n (valueChange)='onMonthDayChange($event)'\n [disabled]=\"isDisabled('monthday')\">\n </kendo-numerictextbox>\n </li>\n <li>\n <input kendoRecurrenceRepeatOnRadioButton='weekday-{{uniqueId}}' />\n <label class='k-radio-label' for='k-repeaton-weekday-{{uniqueId}}'></label>\n\n <kendo-dropdownlist\n [data]='offsetPositions'\n textField='text'\n valueField='value'\n [value]='offset'\n [valuePrimitive]='true'\n (valueChange)='onOffsetPositionChange($event)'\n [disabled]=\"isDisabled('weekday')\">\n </kendo-dropdownlist>\n\n <kendo-dropdownlist\n [data]=\"extendedWeekDays\"\n textField='text'\n valueField='value'\n [value]='weekDay'\n [valuePrimitive]='true'\n (valueChange)='onWeekDayChange($event)'\n [disabled]=\"isDisabled('weekday')\">\n </kendo-dropdownlist>\n\n <ng-template [ngIf]=\"currentFreq === 'yearly'\">\n <span>{{ textFor('yearlyOf') }}</span>\n\n <kendo-dropdownlist\n [data]='months'\n textField='text'\n valueField='value'\n [value]='currentMonthWeekDay'\n [valuePrimitive]='true'\n (valueChange)=\"onMonthChange($event, 'weekday')\"\n [disabled]=\"isDisabled('weekday')\">\n </kendo-dropdownlist>\n </ng-template>\n </li>\n </ul>\n </div>\n "
13144
+ template: "\n <div class='k-edit-label'>\n <label (click)=\"onRepeatOnLabelClick()\">{{ textForRepeatOn() }}</label>\n </div>\n <div class='k-edit-field'>\n <ul class='k-reset' [style.width.px]='650'>\n <li>\n <input kendoRecurrenceRepeatOnRadioButton='monthday-{{uniqueId}}' />\n\n <label class='k-radio-label' for='k-repeaton-monthday-{{uniqueId}}'>\n <ng-template [ngIf]=\"currentFreq === 'monthly'\">\n {{ textFor('monthlyDay') }}\n </ng-template>\n </label>\n\n <ng-template [ngIf]=\"currentFreq === 'yearly'\">\n <kendo-dropdownlist\n [data]='months'\n textField='text'\n valueField='value'\n [value]='currentMonthMonthDay'\n [valuePrimitive]='true'\n (valueChange)=\"onMonthChange($event, 'monthday')\"\n [disabled]=\"isDisabled('monthday')\"\n [style.width.px]=\"170\"\n [style.margin]=\"'0 .4ex 0 1ex'\">\n </kendo-dropdownlist>\n </ng-template>\n\n <kendo-numerictextbox\n [style.width.px]='70'\n [min]=\"numericOptions.min\"\n [max]=\"numericOptions.max\"\n [decimals]=\"0\"\n [format]=\"numericOptions.format\"\n [autoCorrect]=\"numericOptions.autoCorrect\"\n [readonly]=\"numericOptions.readonly\"\n [selectOnFocus]=\"numericOptions.selectOnFocus\"\n [spinners]=\"numericOptions.spinners\"\n [step]=\"numericOptions.step\"\n [title]=\"numericOptions.title\"\n [value]='monthDay'\n (valueChange)='onMonthDayChange($event)'\n [disabled]=\"isDisabled('monthday')\"\n [style.margin]=\"'0 .4ex 0 1ex'\">\n </kendo-numerictextbox>\n </li>\n <li>\n <input kendoRecurrenceRepeatOnRadioButton='weekday-{{uniqueId}}' />\n <label class='k-radio-label' for='k-repeaton-weekday-{{uniqueId}}'></label>\n\n <kendo-dropdownlist\n [data]='offsetPositions'\n textField='text'\n valueField='value'\n [value]='offset'\n [valuePrimitive]='true'\n (valueChange)='onOffsetPositionChange($event)'\n [disabled]=\"isDisabled('weekday')\"\n [style.width.px]=\"170\"\n [style.margin]=\"'0 .4ex 0 1ex'\">\n </kendo-dropdownlist>\n\n <kendo-dropdownlist\n [data]=\"extendedWeekDays\"\n textField='text'\n valueField='value'\n [value]='weekDay'\n [valuePrimitive]='true'\n (valueChange)='onWeekDayChange($event)'\n [disabled]=\"isDisabled('weekday')\"\n [style.width.px]=\"170\"\n [style.margin]=\"'0 .4ex 0 1ex'\">\n </kendo-dropdownlist>\n\n <ng-template [ngIf]=\"currentFreq === 'yearly'\">\n <span>{{ textFor('yearlyOf') }}</span>\n\n <kendo-dropdownlist\n [data]='months'\n textField='text'\n valueField='value'\n [value]='currentMonthWeekDay'\n [valuePrimitive]='true'\n (valueChange)=\"onMonthChange($event, 'weekday')\"\n [disabled]=\"isDisabled('weekday')\"\n [style.width.px]=\"170\"\n [style.margin]=\"'0 .4ex 0 1ex'\">\n </kendo-dropdownlist>\n </ng-template>\n </li>\n </ul>\n </div>\n "
13133
13145
  }),
13134
13146
  __metadata("design:paramtypes", [RecurrenceService,
13135
13147
  LocalizationService])
@@ -13706,21 +13718,21 @@ var SlotSelectableDirective = /** @class */ (function () {
13706
13718
  if (!start || !end || !this.selectedRange) {
13707
13719
  return false;
13708
13720
  }
13709
- var match = resourcesMatch(this.selectedRange.resources, resources, true);
13721
+ var match = resourcesMatch(this.selectedRange.resources, resources);
13710
13722
  if (!match) {
13711
13723
  return false; // Limit selection to the grouped resource where the drag started.
13712
13724
  }
13713
13725
  return this.selectedRange && isAllDay === this.selectedRange.isAllDay && this.isInRange(start, end);
13714
13726
  };
13715
13727
  SlotSelectableDirective.prototype.initDragSelect = function (_a) {
13716
- var start = _a.start, end = _a.end, isAllDay = _a.isAllDay, resources = _a.resources, originalEvent = _a.originalEvent;
13728
+ var start = _a.start, end = _a.end, isAllDay = _a.isAllDay, resources = _a.resources;
13717
13729
  this.selectionOriginResources = resources.slice();
13718
- this.selectedRange = { start: start, end: end, isAllDay: isAllDay, resources: resources.slice(), originalEvent: originalEvent };
13730
+ this.selectedRange = { start: start, end: end, isAllDay: isAllDay, resources: resources.slice() };
13719
13731
  this.cdr.markForCheck();
13720
13732
  };
13721
13733
  SlotSelectableDirective.prototype.onDrag = function (_a) {
13722
13734
  var start = _a.start, end = _a.end, resources = _a.resources;
13723
- var match = resourcesMatch(this.selectionOriginResources, resources, false); // Not strict - allow matching [ undefined ] and [ undefined ]
13735
+ var match = resourcesMatch(this.selectionOriginResources, resources);
13724
13736
  if (!match) {
13725
13737
  return; // Don't change selection when dragging over a different grouped resource's cells.
13726
13738
  }
@@ -13812,6 +13824,8 @@ var publicDirectives$1 = [
13812
13824
  ].concat(declarations);
13813
13825
  var importedKendoModules = [
13814
13826
  ButtonsModule,
13827
+ CheckBoxModule,
13828
+ TextAreaModule,
13815
13829
  DateInputsModule,
13816
13830
  DialogModule,
13817
13831
  NumericTextBoxModule,
@@ -73,7 +73,8 @@ var SchedulerDateTimePickerComponent = /** @class */ (function () {
73
73
  exports.SCHEDULER_DATETIMEPICKER_VALUE_ACCESSOR
74
74
  ],
75
75
  selector: 'kendo-scheduler-datetime-picker',
76
- template: "\n <kendo-datepicker\n #datepicker\n [(value)]='date'\n (valueChange)='onValueChange($event)'\n ></kendo-datepicker>\n <kendo-timepicker *ngIf='!isAllDay'\n [(value)]='date'\n (valueChange)='onValueChange($event)'\n ></kendo-timepicker>\n "
76
+ template: "\n <kendo-datepicker\n #datepicker\n [(value)]='date'\n (valueChange)='onValueChange($event)'\n ></kendo-datepicker>\n <kendo-timepicker *ngIf='!isAllDay'\n [(value)]='date'\n (valueChange)='onValueChange($event)'\n ></kendo-timepicker>\n ",
77
+ styles: ["\n kendo-datepicker,\n kendo-timepicker {\n width: 170px;\n }\n "]
77
78
  })
78
79
  ], SchedulerDateTimePickerComponent);
79
80
  return SchedulerDateTimePickerComponent;
@@ -286,7 +286,7 @@ var EditDialogComponent = /** @class */ (function () {
286
286
  EditDialogComponent = tslib_1.__decorate([
287
287
  core_1.Component({
288
288
  selector: 'kendo-scheduler-edit-dialog',
289
- template: "\n <kendo-dialog (close)='onClose()' [minWidth]='700' *ngIf='isActive' title='{{ textFor(\"editorTitle\") }}' class='k-scheduler-edit-dialog' [autoFocusedElement]=\"autoFocusedElement\">\n <ng-container *ngIf='!editTemplate'>\n <div class='k-scheduler-edit-form'>\n <div class='k-edit-form-container'>\n <form novalidate [formGroup]='formGroup'>\n <div class='k-edit-label'>\n <label for='k-event-title'>{{ textFor('editorEventTitle') }}</label>\n </div>\n <div class='k-edit-field'>\n <input #title id='k-event-title' class='k-textbox' placeholder='Title' [formControl]='formGroup.get(fields.title)' />\n </div>\n\n <div class='k-edit-label'>\n <label (click)=\"startDateTimePicker.focus()\">{{ textFor('editorEventStart') }}</label>\n </div>\n <div class='k-edit-field'>\n <kendo-scheduler-datetime-picker #startDateTimePicker [formControl]='formGroup.get(fields.start)'\n [isAllDay]='getFormValue(fields.isAllDay)?.value'>\n </kendo-scheduler-datetime-picker>\n </div>\n\n <ng-container *ngIf=\"isStartTimeZoneVisible\">\n <div class='k-edit-label'>\n <label (click)=\"startTzPicker.focus()\">{{ textFor('editorEventStartTimeZone') }}</label>\n </div>\n\n <div class='k-edit-field'>\n <kendo-timezone-editor #startTzPicker [formControl]='formGroup.get(fields.startTimezone)'></kendo-timezone-editor>\n </div>\n </ng-container>\n\n <div class='k-edit-label'>\n <label (click)=\"endDateTimePicker.focus()\">{{ textFor('editorEventEnd') }}</label>\n </div>\n <div class='k-edit-field'>\n <kendo-scheduler-datetime-picker #endDateTimePicker [formControl]='formGroup.get(fields.end)'\n [isAllDay]='getFormValue(fields.isAllDay)?.value'>\n </kendo-scheduler-datetime-picker>\n </div>\n\n <ng-container *ngIf=\"isEndTimeZoneVisible\">\n <div class='k-edit-label'>\n <label (click)=\"endTzPicker.focus()\">{{ textFor('editorEventEndTimeZone') }}</label>\n </div>\n\n <div class='k-edit-field'>\n <kendo-timezone-editor #endTzPicker [formControl]='formGroup.get(fields.endTimezone)'></kendo-timezone-editor>\n </div>\n </ng-container>\n\n <div class='k-edit-field' *ngIf=\"hasAllDay\">\n <input type='checkbox' id='k-is-allday-chkbox' class='k-checkbox' [formControl]='formGroup.get(fields.isAllDay)' />\n <label class='k-checkbox-label' for='k-is-allday-chkbox'>{{ textFor('editorEventAllDay') }}</label>\n </div>\n\n <div class='k-edit-field' *ngIf=\"hasStartTimeZone\">\n <input type='checkbox' id='k-set-timezone' class='k-checkbox'\n formControlName='startTimezoneCheckbox' />\n <label class='k-checkbox-label' for='k-set-timezone'>{{ textFor('editorEventTimeZone') }}</label>\n\n <ng-container *ngIf=\"isStartTimeZoneVisible && hasEndTimeZone\">\n <input type='checkbox' id='k-use-separate' class='k-checkbox' formControlName='endTimezoneCheckbox' />\n <label class='k-checkbox-label' for='k-use-separate'>{{ textFor('editorEventSeparateTimeZones') }}</label>\n </ng-container>\n </div>\n\n <ng-container *ngIf=\"isEditingSeries\">\n <kendo-recurrence-editor\n [formControl]='formGroup.get(fields.recurrenceRule)'\n [start]='recurrenceStart'\n [timezone]='eventTimezone'\n [weekStart]='weekStart'\n ></kendo-recurrence-editor>\n </ng-container>\n\n <ng-container *ngIf='getFormValue(fields.description)'>\n <div class='k-edit-label'>\n <label for='k-event-description'>{{ textFor('editorEventDescription') }}</label>\n </div>\n <div class='k-edit-field'>\n <textarea id='k-event-description' class='k-textbox' [formControl]='formGroup.get(fields.description)'></textarea>\n </div>\n </ng-container>\n\n <ng-container *ngFor='let resource of resources'>\n <ng-container *ngIf='getFormValue(resource.field)'>\n <div class='k-edit-label'>\n <label (click)=\"onResourceClick(resource)\">\n {{ resource.name ? resource.name : resource.field }}\n </label>\n </div>\n <div class='k-edit-field'>\n <kendo-multiple-resource-editor\n *ngIf='resource.multiple'\n [formControl]='formGroup.get(resource.field)'\n [resource]='resource'>\n </kendo-multiple-resource-editor>\n <kendo-single-resource-editor\n *ngIf='!resource.multiple'\n [formControl]='formGroup.get(resource.field)'\n [resource]='resource'>\n </kendo-single-resource-editor>\n </div>\n </ng-container>\n </ng-container>\n </form>\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngIf='editTemplate'>\n <form novalidate [formGroup]='formGroup'>\n <ng-container [ngTemplateOutlet]='editTemplate.templateRef'\n [ngTemplateOutletContext]=\"{\n $implicit: formGroup,\n formGroup: formGroup,\n dataItem: editedEvent,\n editMode: editMode,\n isNew: isNew\n }\">\n </ng-container>\n </form>\n </ng-container>\n\n <kendo-dialog-actions>\n <button class=\"k-button\" (click)=\"onCancel($event)\">{{ textFor('cancel') }}</button>\n <button class=\"k-button k-primary\" (click)=\"onSave($event)\" [disabled]=\"!formGroup.valid\">{{ textFor('save') }}</button>\n </kendo-dialog-actions>\n </kendo-dialog>\n "
289
+ template: "\n <kendo-dialog (close)='onClose()' [minWidth]='700' *ngIf='isActive' title='{{ textFor(\"editorTitle\") }}' class='k-scheduler-edit-dialog' [autoFocusedElement]=\"autoFocusedElement\">\n <ng-container *ngIf='!editTemplate'>\n <div class='k-scheduler-edit-form'>\n <div class='k-edit-form-container'>\n <form novalidate [formGroup]='formGroup'>\n <div class='k-edit-label'>\n <label for='k-event-title'>{{ textFor('editorEventTitle') }}</label>\n </div>\n <div class='k-edit-field'>\n <input #title id='k-event-title' kendoTextBox placeholder='Title' [formControl]='formGroup.get(fields.title)' />\n </div>\n\n <div class='k-edit-label'>\n <label (click)=\"startDateTimePicker.focus()\">{{ textFor('editorEventStart') }}</label>\n </div>\n <div class='k-edit-field'>\n <kendo-scheduler-datetime-picker #startDateTimePicker [formControl]='formGroup.get(fields.start)'\n [isAllDay]='getFormValue(fields.isAllDay)?.value'>\n </kendo-scheduler-datetime-picker>\n </div>\n\n <ng-container *ngIf=\"isStartTimeZoneVisible\">\n <div class='k-edit-label'>\n <label (click)=\"startTzPicker.focus()\">{{ textFor('editorEventStartTimeZone') }}</label>\n </div>\n\n <div class='k-edit-field'>\n <kendo-timezone-editor #startTzPicker [formControl]='formGroup.get(fields.startTimezone)'></kendo-timezone-editor>\n </div>\n </ng-container>\n\n <div class='k-edit-label'>\n <label (click)=\"endDateTimePicker.focus()\">{{ textFor('editorEventEnd') }}</label>\n </div>\n <div class='k-edit-field'>\n <kendo-scheduler-datetime-picker #endDateTimePicker [formControl]='formGroup.get(fields.end)'\n [isAllDay]='getFormValue(fields.isAllDay)?.value'>\n </kendo-scheduler-datetime-picker>\n </div>\n\n <ng-container *ngIf=\"isEndTimeZoneVisible\">\n <div class='k-edit-label'>\n <label (click)=\"endTzPicker.focus()\">{{ textFor('editorEventEndTimeZone') }}</label>\n </div>\n\n <div class='k-edit-field'>\n <kendo-timezone-editor #endTzPicker [formControl]='formGroup.get(fields.endTimezone)'></kendo-timezone-editor>\n </div>\n </ng-container>\n\n <div class='k-edit-field' *ngIf=\"hasAllDay\">\n <input type='checkbox' id='k-is-allday-chkbox' kendoCheckBox [formControl]='formGroup.get(fields.isAllDay)' />\n <label class='k-checkbox-label' for='k-is-allday-chkbox'>{{ textFor('editorEventAllDay') }}</label>\n </div>\n\n <div class='k-edit-field' *ngIf=\"hasStartTimeZone\">\n <input type='checkbox' id='k-set-timezone' kendoCheckBox\n formControlName='startTimezoneCheckbox' />\n <label class='k-checkbox-label' for='k-set-timezone'>{{ textFor('editorEventTimeZone') }}</label>\n\n <ng-container *ngIf=\"isStartTimeZoneVisible && hasEndTimeZone\">\n <input type='checkbox' id='k-use-separate' kendoCheckBox formControlName='endTimezoneCheckbox' />\n <label class='k-checkbox-label' for='k-use-separate'>{{ textFor('editorEventSeparateTimeZones') }}</label>\n </ng-container>\n </div>\n\n <ng-container *ngIf=\"isEditingSeries\">\n <kendo-recurrence-editor\n [formControl]='formGroup.get(fields.recurrenceRule)'\n [start]='recurrenceStart'\n [timezone]='eventTimezone'\n [weekStart]='weekStart'\n ></kendo-recurrence-editor>\n </ng-container>\n\n <ng-container *ngIf='getFormValue(fields.description)'>\n <div class='k-edit-label'>\n <label for='k-event-description'>{{ textFor('editorEventDescription') }}</label>\n </div>\n <div class='k-edit-field'>\n <textarea id='k-event-description' kendoTextArea [formControl]='formGroup.get(fields.description)'></textarea>\n </div>\n </ng-container>\n\n <ng-container *ngFor='let resource of resources'>\n <ng-container *ngIf='getFormValue(resource.field)'>\n <div class='k-edit-label'>\n <label (click)=\"onResourceClick(resource)\">\n {{ resource.name ? resource.name : resource.field }}\n </label>\n </div>\n <div class='k-edit-field'>\n <kendo-multiple-resource-editor\n *ngIf='resource.multiple'\n [formControl]='formGroup.get(resource.field)'\n [resource]='resource'>\n </kendo-multiple-resource-editor>\n <kendo-single-resource-editor\n *ngIf='!resource.multiple'\n [formControl]='formGroup.get(resource.field)'\n [resource]='resource'>\n </kendo-single-resource-editor>\n </div>\n </ng-container>\n </ng-container>\n </form>\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngIf='editTemplate'>\n <form novalidate [formGroup]='formGroup'>\n <ng-container [ngTemplateOutlet]='editTemplate.templateRef'\n [ngTemplateOutletContext]=\"{\n $implicit: formGroup,\n formGroup: formGroup,\n dataItem: editedEvent,\n editMode: editMode,\n isNew: isNew\n }\">\n </ng-container>\n </form>\n </ng-container>\n\n <kendo-dialog-actions>\n <button kendoButton (click)=\"onCancel($event)\">{{ textFor('cancel') }}</button>\n <button kendoButton themeColor=\"primary\" (click)=\"onSave($event)\" [disabled]=\"!formGroup.valid\">{{ textFor('save') }}</button>\n </kendo-dialog-actions>\n </kendo-dialog>\n "
290
290
  }),
291
291
  tslib_1.__metadata("design:paramtypes", [core_1.NgZone,
292
292
  edit_service_1.EditService,
@@ -18,6 +18,7 @@ var EndRuleRadioButtonDirective = /** @class */ (function () {
18
18
  this.changeDetector = changeDetector;
19
19
  this.type = 'radio';
20
20
  this.radioClass = true;
21
+ this.radioSizeClass = true;
21
22
  this.destroyChange = this.renderer.listen(this.elem, 'change', this.onChange.bind(this));
22
23
  }
23
24
  EndRuleRadioButtonDirective.prototype.ngOnInit = function () {
@@ -58,6 +59,10 @@ var EndRuleRadioButtonDirective = /** @class */ (function () {
58
59
  core_1.HostBinding('class.k-radio'),
59
60
  tslib_1.__metadata("design:type", Boolean)
60
61
  ], EndRuleRadioButtonDirective.prototype, "radioClass", void 0);
62
+ tslib_1.__decorate([
63
+ core_1.HostBinding('class.k-radio-md'),
64
+ tslib_1.__metadata("design:type", Boolean)
65
+ ], EndRuleRadioButtonDirective.prototype, "radioSizeClass", void 0);
61
66
  tslib_1.__decorate([
62
67
  core_1.Input("kendoRecurrenceEndRuleRadioButton"),
63
68
  tslib_1.__metadata("design:type", String)
@@ -269,7 +269,7 @@ var RecurrenceMonthlyYearlyEditorComponent = /** @class */ (function () {
269
269
  RecurrenceMonthlyYearlyEditorComponent = tslib_1.__decorate([
270
270
  core_1.Component({
271
271
  selector: 'kendo-recurrence-monthly-yearly-editor',
272
- template: "\n <div class='k-edit-label'>\n <label (click)=\"onRepeatOnLabelClick()\">{{ textForRepeatOn() }}</label>\n </div>\n <div class='k-edit-field'>\n <ul class='k-reset' [style.width.px]='650'>\n <li>\n <input kendoRecurrenceRepeatOnRadioButton='monthday-{{uniqueId}}' />\n\n <label class='k-radio-label' for='k-repeaton-monthday-{{uniqueId}}'>\n <ng-template [ngIf]=\"currentFreq === 'monthly'\">\n {{ textFor('monthlyDay') }}\n </ng-template>\n </label>\n\n <ng-template [ngIf]=\"currentFreq === 'yearly'\">\n <kendo-dropdownlist\n [data]='months'\n textField='text'\n valueField='value'\n [value]='currentMonthMonthDay'\n [valuePrimitive]='true'\n (valueChange)=\"onMonthChange($event, 'monthday')\"\n [disabled]=\"isDisabled('monthday')\">\n </kendo-dropdownlist>\n </ng-template>\n\n <kendo-numerictextbox\n [style.width.px]='70'\n [min]=\"numericOptions.min\"\n [max]=\"numericOptions.max\"\n [decimals]=\"0\"\n [format]=\"numericOptions.format\"\n [autoCorrect]=\"numericOptions.autoCorrect\"\n [readonly]=\"numericOptions.readonly\"\n [selectOnFocus]=\"numericOptions.selectOnFocus\"\n [spinners]=\"numericOptions.spinners\"\n [step]=\"numericOptions.step\"\n [title]=\"numericOptions.title\"\n [value]='monthDay'\n (valueChange)='onMonthDayChange($event)'\n [disabled]=\"isDisabled('monthday')\">\n </kendo-numerictextbox>\n </li>\n <li>\n <input kendoRecurrenceRepeatOnRadioButton='weekday-{{uniqueId}}' />\n <label class='k-radio-label' for='k-repeaton-weekday-{{uniqueId}}'></label>\n\n <kendo-dropdownlist\n [data]='offsetPositions'\n textField='text'\n valueField='value'\n [value]='offset'\n [valuePrimitive]='true'\n (valueChange)='onOffsetPositionChange($event)'\n [disabled]=\"isDisabled('weekday')\">\n </kendo-dropdownlist>\n\n <kendo-dropdownlist\n [data]=\"extendedWeekDays\"\n textField='text'\n valueField='value'\n [value]='weekDay'\n [valuePrimitive]='true'\n (valueChange)='onWeekDayChange($event)'\n [disabled]=\"isDisabled('weekday')\">\n </kendo-dropdownlist>\n\n <ng-template [ngIf]=\"currentFreq === 'yearly'\">\n <span>{{ textFor('yearlyOf') }}</span>\n\n <kendo-dropdownlist\n [data]='months'\n textField='text'\n valueField='value'\n [value]='currentMonthWeekDay'\n [valuePrimitive]='true'\n (valueChange)=\"onMonthChange($event, 'weekday')\"\n [disabled]=\"isDisabled('weekday')\">\n </kendo-dropdownlist>\n </ng-template>\n </li>\n </ul>\n </div>\n "
272
+ template: "\n <div class='k-edit-label'>\n <label (click)=\"onRepeatOnLabelClick()\">{{ textForRepeatOn() }}</label>\n </div>\n <div class='k-edit-field'>\n <ul class='k-reset' [style.width.px]='650'>\n <li>\n <input kendoRecurrenceRepeatOnRadioButton='monthday-{{uniqueId}}' />\n\n <label class='k-radio-label' for='k-repeaton-monthday-{{uniqueId}}'>\n <ng-template [ngIf]=\"currentFreq === 'monthly'\">\n {{ textFor('monthlyDay') }}\n </ng-template>\n </label>\n\n <ng-template [ngIf]=\"currentFreq === 'yearly'\">\n <kendo-dropdownlist\n [data]='months'\n textField='text'\n valueField='value'\n [value]='currentMonthMonthDay'\n [valuePrimitive]='true'\n (valueChange)=\"onMonthChange($event, 'monthday')\"\n [disabled]=\"isDisabled('monthday')\"\n [style.width.px]=\"170\"\n [style.margin]=\"'0 .4ex 0 1ex'\">\n </kendo-dropdownlist>\n </ng-template>\n\n <kendo-numerictextbox\n [style.width.px]='70'\n [min]=\"numericOptions.min\"\n [max]=\"numericOptions.max\"\n [decimals]=\"0\"\n [format]=\"numericOptions.format\"\n [autoCorrect]=\"numericOptions.autoCorrect\"\n [readonly]=\"numericOptions.readonly\"\n [selectOnFocus]=\"numericOptions.selectOnFocus\"\n [spinners]=\"numericOptions.spinners\"\n [step]=\"numericOptions.step\"\n [title]=\"numericOptions.title\"\n [value]='monthDay'\n (valueChange)='onMonthDayChange($event)'\n [disabled]=\"isDisabled('monthday')\"\n [style.margin]=\"'0 .4ex 0 1ex'\">\n </kendo-numerictextbox>\n </li>\n <li>\n <input kendoRecurrenceRepeatOnRadioButton='weekday-{{uniqueId}}' />\n <label class='k-radio-label' for='k-repeaton-weekday-{{uniqueId}}'></label>\n\n <kendo-dropdownlist\n [data]='offsetPositions'\n textField='text'\n valueField='value'\n [value]='offset'\n [valuePrimitive]='true'\n (valueChange)='onOffsetPositionChange($event)'\n [disabled]=\"isDisabled('weekday')\"\n [style.width.px]=\"170\"\n [style.margin]=\"'0 .4ex 0 1ex'\">\n </kendo-dropdownlist>\n\n <kendo-dropdownlist\n [data]=\"extendedWeekDays\"\n textField='text'\n valueField='value'\n [value]='weekDay'\n [valuePrimitive]='true'\n (valueChange)='onWeekDayChange($event)'\n [disabled]=\"isDisabled('weekday')\"\n [style.width.px]=\"170\"\n [style.margin]=\"'0 .4ex 0 1ex'\">\n </kendo-dropdownlist>\n\n <ng-template [ngIf]=\"currentFreq === 'yearly'\">\n <span>{{ textFor('yearlyOf') }}</span>\n\n <kendo-dropdownlist\n [data]='months'\n textField='text'\n valueField='value'\n [value]='currentMonthWeekDay'\n [valuePrimitive]='true'\n (valueChange)=\"onMonthChange($event, 'weekday')\"\n [disabled]=\"isDisabled('weekday')\"\n [style.width.px]=\"170\"\n [style.margin]=\"'0 .4ex 0 1ex'\">\n </kendo-dropdownlist>\n </ng-template>\n </li>\n </ul>\n </div>\n "
273
273
  }),
274
274
  tslib_1.__metadata("design:paramtypes", [recurrence_service_1.RecurrenceService,
275
275
  kendo_angular_l10n_1.LocalizationService])
@@ -18,6 +18,7 @@ var RepeatOnRadioButtonDirective = /** @class */ (function () {
18
18
  this.changeDetector = changeDetector;
19
19
  this.type = 'radio';
20
20
  this.radioClass = true;
21
+ this.radioSizeClass = true;
21
22
  this.destroyChange = this.renderer.listen(this.elem, 'change', this.onChange.bind(this));
22
23
  }
23
24
  Object.defineProperty(RepeatOnRadioButtonDirective.prototype, "repeatOnRule", {
@@ -67,6 +68,10 @@ var RepeatOnRadioButtonDirective = /** @class */ (function () {
67
68
  core_1.HostBinding('class.k-radio'),
68
69
  tslib_1.__metadata("design:type", Boolean)
69
70
  ], RepeatOnRadioButtonDirective.prototype, "radioClass", void 0);
71
+ tslib_1.__decorate([
72
+ core_1.HostBinding('class.k-radio-md'),
73
+ tslib_1.__metadata("design:type", Boolean)
74
+ ], RepeatOnRadioButtonDirective.prototype, "radioSizeClass", void 0);
70
75
  tslib_1.__decorate([
71
76
  core_1.Input("kendoRecurrenceRepeatOnRadioButton"),
72
77
  tslib_1.__metadata("design:type", String),
@@ -11,7 +11,7 @@ exports.packageMetadata = {
11
11
  name: '@progress/kendo-angular-scheduler',
12
12
  productName: 'Kendo UI for Angular',
13
13
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
14
- publishDate: 1639756470,
14
+ publishDate: 1644230710,
15
15
  version: '',
16
16
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
17
17
  };
@@ -108,6 +108,8 @@ var publicDirectives = [
108
108
  ].concat(declarations);
109
109
  var importedKendoModules = [
110
110
  kendo_angular_buttons_1.ButtonsModule,
111
+ kendo_angular_inputs_1.CheckBoxModule,
112
+ kendo_angular_inputs_1.TextAreaModule,
111
113
  kendo_angular_dateinputs_1.DateInputsModule,
112
114
  kendo_angular_dialog_1.DialogModule,
113
115
  kendo_angular_inputs_1.NumericTextBoxModule,
@@ -79,7 +79,7 @@ var ToolbarViewSelectorComponent = /** @class */ (function () {
79
79
  core_1.Component({
80
80
  // tslint:disable-next-line:component-selector
81
81
  selector: '[kendoSchedulerToolbarViewSelector]',
82
- template: "\n <select *ngIf=\"ctx.views?.length > 1\"\n (change)=\"onChange($event)\"\n class=\"k-views-dropdown k-dropdown\">\n <option *ngFor=\"let view of ctx.views\"\n [selected]=\"isSelected(view) == true\"\n [value]=\"view.name\"\n >\n {{ view.title }}\n </option>\n </select>\n <span class=\"k-scheduler-views k-button-group\">\n <button kendoButton\n type=\"button\"\n *ngFor=\"let view of ctx.views\"\n [selected]=\"isSelected(view)\"\n [attr.aria-pressed]=\"isSelected(view)\"\n (click)=\"select(view)\"\n >\n <span class=\"k-button-text\">\n {{ view.title }}\n </span>\n </button>\n </span>\n "
82
+ template: "\n <select *ngIf=\"ctx.views?.length > 1\"\n (change)=\"onChange($event)\"\n class=\"k-views-dropdown k-picker-md k-rounded-md k-picker-solid k-dropdownlist k-picker\">\n <option *ngFor=\"let view of ctx.views\"\n [selected]=\"isSelected(view) == true\"\n [value]=\"view.name\"\n >\n {{ view.title }}\n </option>\n </select>\n <span class=\"k-scheduler-views k-button-group\">\n <button kendoButton\n type=\"button\"\n *ngFor=\"let view of ctx.views\"\n [selected]=\"isSelected(view)\"\n [attr.aria-pressed]=\"isSelected(view)\"\n (click)=\"select(view)\"\n >\n <span class=\"k-button-text\">\n {{ view.title }}\n </span>\n </button>\n </span>\n "
83
83
  }),
84
84
  tslib_1.__metadata("design:paramtypes", [toolbar_service_1.ToolbarService])
85
85
  ], ToolbarViewSelectorComponent);
@@ -299,7 +299,8 @@ var BaseView = /** @class */ (function () {
299
299
  this.pressTarget = task;
300
300
  }
301
301
  }
302
- if (this.selectable) {
302
+ var notDraggingEvent = !this.pressTarget;
303
+ if (notDraggingEvent && this.selectable) {
303
304
  this.initDragSelect(args);
304
305
  }
305
306
  this.dragArgs = args;
@@ -61,21 +61,21 @@ var SlotSelectableDirective = /** @class */ (function () {
61
61
  if (!start || !end || !this.selectedRange) {
62
62
  return false;
63
63
  }
64
- var match = utils_1.resourcesMatch(this.selectedRange.resources, resources, true);
64
+ var match = utils_1.resourcesMatch(this.selectedRange.resources, resources);
65
65
  if (!match) {
66
66
  return false; // Limit selection to the grouped resource where the drag started.
67
67
  }
68
68
  return this.selectedRange && isAllDay === this.selectedRange.isAllDay && this.isInRange(start, end);
69
69
  };
70
70
  SlotSelectableDirective.prototype.initDragSelect = function (_a) {
71
- var start = _a.start, end = _a.end, isAllDay = _a.isAllDay, resources = _a.resources, originalEvent = _a.originalEvent;
71
+ var start = _a.start, end = _a.end, isAllDay = _a.isAllDay, resources = _a.resources;
72
72
  this.selectionOriginResources = resources.slice();
73
- this.selectedRange = { start: start, end: end, isAllDay: isAllDay, resources: resources.slice(), originalEvent: originalEvent };
73
+ this.selectedRange = { start: start, end: end, isAllDay: isAllDay, resources: resources.slice() };
74
74
  this.cdr.markForCheck();
75
75
  };
76
76
  SlotSelectableDirective.prototype.onDrag = function (_a) {
77
77
  var start = _a.start, end = _a.end, resources = _a.resources;
78
- var match = utils_1.resourcesMatch(this.selectionOriginResources, resources, false); // Not strict - allow matching [ undefined ] and [ undefined ]
78
+ var match = utils_1.resourcesMatch(this.selectionOriginResources, resources);
79
79
  if (!match) {
80
80
  return; // Don't change selection when dragging over a different grouped resource's cells.
81
81
  }
@@ -44,7 +44,7 @@ var ViewFooterComponent = /** @class */ (function () {
44
44
  core_1.Component({
45
45
  // tslint:disable-next-line:component-selector
46
46
  selector: '[viewFooter]',
47
- template: "\n <button type=\"button\" class=\"k-button\" *ngFor=\"let item of items\" [ngClass]=\"item.cssClass\" (click)=\"onItemClick($event, item)\">\n <span class=\"k-button-icon k-icon\" [ngClass]=\"item.iconClass\"></span>\n <span class=\"k-button-text\">{{ item.text }}</span>\n </button>\n "
47
+ template: "\n <button type=\"button\" kendoButton *ngFor=\"let item of items\" [ngClass]=\"item.cssClass\" (click)=\"onItemClick($event, item)\">\n <span class=\"k-button-icon k-icon\" [ngClass]=\"item.iconClass\"></span>\n <span class=\"k-button-text\">{{ item.text }}</span>\n </button>\n "
48
48
  })
49
49
  ], ViewFooterComponent);
50
50
  return ViewFooterComponent;
@@ -15,6 +15,7 @@ var resource_iterator_pipe_1 = require("./resource-iterator.pipe");
15
15
  var hint_container_component_1 = require("./hint-container.component");
16
16
  var resize_hint_component_1 = require("./resize-hint.component");
17
17
  var shared_module_1 = require("../../shared.module");
18
+ var kendo_angular_buttons_1 = require("@progress/kendo-angular-buttons");
18
19
  var DECLARATIONS = [
19
20
  view_footer_component_1.ViewFooterComponent,
20
21
  work_hours_footer_directive_1.WorkHoursFooterDirective,
@@ -31,7 +32,7 @@ var ViewsSharedModule = /** @class */ (function () {
31
32
  }
32
33
  ViewsSharedModule = tslib_1.__decorate([
33
34
  core_1.NgModule({
34
- imports: [common_1.CommonModule, kendo_angular_intl_1.IntlModule, shared_module_1.SharedModule],
35
+ imports: [common_1.CommonModule, kendo_angular_intl_1.IntlModule, shared_module_1.SharedModule, kendo_angular_buttons_1.ButtonsModule],
35
36
  exports: [
36
37
  DECLARATIONS,
37
38
  kendo_angular_intl_1.IntlModule,
@@ -214,18 +214,18 @@ exports.assignTasksResources = assignTasksResources;
214
214
  /**
215
215
  * @hidden
216
216
  */
217
- function areValidResources(resources) {
218
- return Array.isArray(resources) && resources.length > 0 && resources[0] !== undefined;
217
+ function isEmptyResource(resources) {
218
+ return Array.isArray(resources) && resources.length === 1 && resources[0] === undefined;
219
219
  }
220
- exports.areValidResources = areValidResources;
220
+ exports.isEmptyResource = isEmptyResource;
221
221
  /**
222
222
  * @hidden
223
223
  */
224
- function resourcesMatch(res1, res2, strict) {
224
+ function resourcesMatch(res1, res2) {
225
225
  if (res1.length !== res2.length) {
226
226
  return false;
227
227
  }
228
- if (!strict && !areValidResources(res1) || !areValidResources(res2)) {
228
+ if (isEmptyResource(res1) && isEmptyResource(res2)) {
229
229
  return true;
230
230
  }
231
231
  return res1.every(function (r1) { return res2.some(function (r2) { return r2.value === r1.value; }); });
@@ -238,7 +238,7 @@ function isSameRange(range1, range2) {
238
238
  return (range1.start.getTime() === range2.start.getTime() &&
239
239
  range1.end.getTime() === range2.end.getTime() &&
240
240
  range1.isAllDay === range2.isAllDay &&
241
- resourcesMatch(range1.resources, range2.resources, true));
241
+ resourcesMatch(range1.resources, range2.resources));
242
242
  }
243
243
  exports.isSameRange = isSameRange;
244
244
  /** @hidden */