@progress/kendo-angular-scheduler 16.11.0-develop.3 → 16.11.0-develop.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -9,7 +9,7 @@ export const packageMetadata = {
9
9
  name: '@progress/kendo-angular-scheduler',
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
12
- publishDate: 1727428551,
13
- version: '16.11.0-develop.3',
12
+ publishDate: 1727706905,
13
+ version: '16.11.0-develop.5',
14
14
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
15
15
  };
@@ -467,25 +467,25 @@ export class DayTimeSlotService extends BaseSlotService {
467
467
  let range;
468
468
  if (isDaySlot) {
469
469
  this.groups.find((group) => {
470
- range = group.dayRanges.find(r => rectContainsX(r.rect, x));
470
+ range = group.dayRanges.find(r => rectContainsX(r.rect, x, this.calculateScaleX()));
471
471
  return range;
472
472
  });
473
473
  if (range) {
474
- return range.slots.find(slot => rectContainsX(slot.rect, x));
474
+ return range.slots.find(slot => rectContainsX(slot.rect, x, this.calculateScaleX()));
475
475
  }
476
476
  }
477
477
  else {
478
478
  this.groups.find((group) => {
479
479
  if (includeDayRanges) {
480
- range = group.dayRanges.find(r => rectContains(r.rect, x, y));
480
+ range = group.dayRanges.find(r => rectContains(r.rect, x, y, this.calculateScaleX()));
481
481
  }
482
482
  if (!range) {
483
- range = group.timeRanges.find(r => rectContains(r.rect, x, y));
483
+ range = group.timeRanges.find(r => rectContains(r.rect, x, y, this.calculateScaleX()));
484
484
  }
485
485
  return range;
486
486
  });
487
487
  if (range) {
488
- return range.slots.find(slot => rectContains(slot.rect, x, y));
488
+ return range.slots.find(slot => rectContains(slot.rect, x, y, this.calculateScaleX()));
489
489
  }
490
490
  }
491
491
  }
@@ -493,13 +493,13 @@ export class DayTimeSlotService extends BaseSlotService {
493
493
  const group = this.groups[currentSlot.id.resourceIndex];
494
494
  let range;
495
495
  if (currentSlot.isDaySlot) {
496
- range = group.dayRanges.find(r => rectContains(r.rect, x, y));
496
+ range = group.dayRanges.find(r => rectContains(r.rect, x, y, this.calculateScaleX()));
497
497
  }
498
498
  else {
499
- range = group.timeRanges.find(r => rectContains(r.rect, x, y));
499
+ range = group.timeRanges.find(r => rectContains(r.rect, x, y, this.calculateScaleX()));
500
500
  }
501
501
  if (range) {
502
- return range.slots.find(slot => rectContains(slot.rect, x, y));
502
+ return range.slots.find(slot => rectContains(slot.rect, x, y, this.calculateScaleX()));
503
503
  }
504
504
  }
505
505
  dragRanges(currentSlot, offset, timeRanges) {
@@ -204,11 +204,11 @@ export class MonthSlotService extends BaseSlotService {
204
204
  slotByPosition(x, y) {
205
205
  let range;
206
206
  this.groups.find((group) => {
207
- range = group.dayRanges.find(r => rectContains(r.rect, x, y));
207
+ range = group.dayRanges.find(r => rectContains(r.rect, x, y, this.calculateScaleX()));
208
208
  return range;
209
209
  });
210
210
  if (range) {
211
- return range.slots.find(slot => rectContains(slot.rect, x, y));
211
+ return range.slots.find(slot => rectContains(slot.rect, x, y, this.calculateScaleX()));
212
212
  }
213
213
  }
214
214
  dragRanges(currentSlot, offset) {
@@ -229,9 +229,9 @@ export class MonthSlotService extends BaseSlotService {
229
229
  };
230
230
  }
231
231
  groupSlotByPosition(currentSlot, x, y) {
232
- const range = this.groups[currentSlot.id.resourceIndex].dayRanges.find(r => rectContains(r.rect, x, y));
232
+ const range = this.groups[currentSlot.id.resourceIndex].dayRanges.find(r => rectContains(r.rect, x, y, this.calculateScaleX()));
233
233
  if (range) {
234
- return range.slots.find(slot => rectContains(slot.rect, x, y));
234
+ return range.slots.find(slot => rectContains(slot.rect, x, y, this.calculateScaleX()));
235
235
  }
236
236
  }
237
237
  resizeRanges(currentSlot, task, resizeStart, offset) {
@@ -242,9 +242,9 @@ export function isRecurrenceException(task) {
242
242
  return task.event && isPresent(task.event.recurrenceId) && !task.event.recurrenceRule;
243
243
  }
244
244
  /** @hidden */
245
- export const rectContains = (rect, left, top) => rect.left <= left && left <= rect.left + rect.width && rect.top <= top && top <= rect.top + rect.height;
245
+ export const rectContains = (rect, left, top, scaleX = 1) => rect.left * scaleX <= left && left <= rect.left * scaleX + rect.width * scaleX && rect.top * scaleX <= top && top <= rect.top * scaleX + rect.height * scaleX;
246
246
  /** @hidden */
247
- export const rectContainsX = (rect, left) => rect.left <= left && left <= rect.left + rect.width;
247
+ export const rectContainsX = (rect, left, scaleX = 1) => rect.left * scaleX <= left && left <= rect.left * scaleX + rect.width * scaleX;
248
248
  /** @hidden */
249
249
  export const toPx = value => `${value}px`;
250
250
  /** @hidden */
@@ -3,6 +3,7 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { EventEmitter } from '@angular/core';
6
+ import { isDocumentAvailable } from '@progress/kendo-angular-common';
6
7
  /**
7
8
  * @hidden
8
9
  */
@@ -72,4 +73,12 @@ export class BaseSlotService {
72
73
  }
73
74
  return this.groups[index];
74
75
  }
76
+ calculateScaleX() {
77
+ if (!isDocumentAvailable()) {
78
+ return;
79
+ }
80
+ const schedulerEl = document.querySelector('.k-scheduler');
81
+ const scaleX = schedulerEl.getBoundingClientRect().width / schedulerEl.offsetWidth;
82
+ return scaleX;
83
+ }
75
84
  }
@@ -42,8 +42,8 @@ const packageMetadata = {
42
42
  name: '@progress/kendo-angular-scheduler',
43
43
  productName: 'Kendo UI for Angular',
44
44
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
45
- publishDate: 1727428551,
46
- version: '16.11.0-develop.3',
45
+ publishDate: 1727706905,
46
+ version: '16.11.0-develop.5',
47
47
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
48
48
  };
49
49
 
@@ -2254,9 +2254,9 @@ function isRecurrenceException(task) {
2254
2254
  return task.event && isPresent(task.event.recurrenceId) && !task.event.recurrenceRule;
2255
2255
  }
2256
2256
  /** @hidden */
2257
- const rectContains = (rect, left, top) => rect.left <= left && left <= rect.left + rect.width && rect.top <= top && top <= rect.top + rect.height;
2257
+ const rectContains = (rect, left, top, scaleX = 1) => rect.left * scaleX <= left && left <= rect.left * scaleX + rect.width * scaleX && rect.top * scaleX <= top && top <= rect.top * scaleX + rect.height * scaleX;
2258
2258
  /** @hidden */
2259
- const rectContainsX = (rect, left) => rect.left <= left && left <= rect.left + rect.width;
2259
+ const rectContainsX = (rect, left, scaleX = 1) => rect.left * scaleX <= left && left <= rect.left * scaleX + rect.width * scaleX;
2260
2260
  /** @hidden */
2261
2261
  const toPx = value => `${value}px`;
2262
2262
  /** @hidden */
@@ -10092,6 +10092,14 @@ class BaseSlotService {
10092
10092
  }
10093
10093
  return this.groups[index];
10094
10094
  }
10095
+ calculateScaleX() {
10096
+ if (!isDocumentAvailable()) {
10097
+ return;
10098
+ }
10099
+ const schedulerEl = document.querySelector('.k-scheduler');
10100
+ const scaleX = schedulerEl.getBoundingClientRect().width / schedulerEl.offsetWidth;
10101
+ return scaleX;
10102
+ }
10095
10103
  }
10096
10104
 
10097
10105
  //better try to measure this one
@@ -10291,11 +10299,11 @@ class MonthSlotService extends BaseSlotService {
10291
10299
  slotByPosition(x, y) {
10292
10300
  let range;
10293
10301
  this.groups.find((group) => {
10294
- range = group.dayRanges.find(r => rectContains(r.rect, x, y));
10302
+ range = group.dayRanges.find(r => rectContains(r.rect, x, y, this.calculateScaleX()));
10295
10303
  return range;
10296
10304
  });
10297
10305
  if (range) {
10298
- return range.slots.find(slot => rectContains(slot.rect, x, y));
10306
+ return range.slots.find(slot => rectContains(slot.rect, x, y, this.calculateScaleX()));
10299
10307
  }
10300
10308
  }
10301
10309
  dragRanges(currentSlot, offset) {
@@ -10316,9 +10324,9 @@ class MonthSlotService extends BaseSlotService {
10316
10324
  };
10317
10325
  }
10318
10326
  groupSlotByPosition(currentSlot, x, y) {
10319
- const range = this.groups[currentSlot.id.resourceIndex].dayRanges.find(r => rectContains(r.rect, x, y));
10327
+ const range = this.groups[currentSlot.id.resourceIndex].dayRanges.find(r => rectContains(r.rect, x, y, this.calculateScaleX()));
10320
10328
  if (range) {
10321
- return range.slots.find(slot => rectContains(slot.rect, x, y));
10329
+ return range.slots.find(slot => rectContains(slot.rect, x, y, this.calculateScaleX()));
10322
10330
  }
10323
10331
  }
10324
10332
  resizeRanges(currentSlot, task, resizeStart, offset) {
@@ -13653,25 +13661,25 @@ class DayTimeSlotService extends BaseSlotService {
13653
13661
  let range;
13654
13662
  if (isDaySlot) {
13655
13663
  this.groups.find((group) => {
13656
- range = group.dayRanges.find(r => rectContainsX(r.rect, x));
13664
+ range = group.dayRanges.find(r => rectContainsX(r.rect, x, this.calculateScaleX()));
13657
13665
  return range;
13658
13666
  });
13659
13667
  if (range) {
13660
- return range.slots.find(slot => rectContainsX(slot.rect, x));
13668
+ return range.slots.find(slot => rectContainsX(slot.rect, x, this.calculateScaleX()));
13661
13669
  }
13662
13670
  }
13663
13671
  else {
13664
13672
  this.groups.find((group) => {
13665
13673
  if (includeDayRanges) {
13666
- range = group.dayRanges.find(r => rectContains(r.rect, x, y));
13674
+ range = group.dayRanges.find(r => rectContains(r.rect, x, y, this.calculateScaleX()));
13667
13675
  }
13668
13676
  if (!range) {
13669
- range = group.timeRanges.find(r => rectContains(r.rect, x, y));
13677
+ range = group.timeRanges.find(r => rectContains(r.rect, x, y, this.calculateScaleX()));
13670
13678
  }
13671
13679
  return range;
13672
13680
  });
13673
13681
  if (range) {
13674
- return range.slots.find(slot => rectContains(slot.rect, x, y));
13682
+ return range.slots.find(slot => rectContains(slot.rect, x, y, this.calculateScaleX()));
13675
13683
  }
13676
13684
  }
13677
13685
  }
@@ -13679,13 +13687,13 @@ class DayTimeSlotService extends BaseSlotService {
13679
13687
  const group = this.groups[currentSlot.id.resourceIndex];
13680
13688
  let range;
13681
13689
  if (currentSlot.isDaySlot) {
13682
- range = group.dayRanges.find(r => rectContains(r.rect, x, y));
13690
+ range = group.dayRanges.find(r => rectContains(r.rect, x, y, this.calculateScaleX()));
13683
13691
  }
13684
13692
  else {
13685
- range = group.timeRanges.find(r => rectContains(r.rect, x, y));
13693
+ range = group.timeRanges.find(r => rectContains(r.rect, x, y, this.calculateScaleX()));
13686
13694
  }
13687
13695
  if (range) {
13688
- return range.slots.find(slot => rectContains(slot.rect, x, y));
13696
+ return range.slots.find(slot => rectContains(slot.rect, x, y, this.calculateScaleX()));
13689
13697
  }
13690
13698
  }
13691
13699
  dragRanges(currentSlot, offset, timeRanges) {
@@ -42,8 +42,8 @@ const packageMetadata = {
42
42
  name: '@progress/kendo-angular-scheduler',
43
43
  productName: 'Kendo UI for Angular',
44
44
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
45
- publishDate: 1727428551,
46
- version: '16.11.0-develop.3',
45
+ publishDate: 1727706905,
46
+ version: '16.11.0-develop.5',
47
47
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
48
48
  };
49
49
 
@@ -2219,9 +2219,9 @@ function isRecurrenceException(task) {
2219
2219
  return task.event && isPresent(task.event.recurrenceId) && !task.event.recurrenceRule;
2220
2220
  }
2221
2221
  /** @hidden */
2222
- const rectContains = (rect, left, top) => rect.left <= left && left <= rect.left + rect.width && rect.top <= top && top <= rect.top + rect.height;
2222
+ const rectContains = (rect, left, top, scaleX = 1) => rect.left * scaleX <= left && left <= rect.left * scaleX + rect.width * scaleX && rect.top * scaleX <= top && top <= rect.top * scaleX + rect.height * scaleX;
2223
2223
  /** @hidden */
2224
- const rectContainsX = (rect, left) => rect.left <= left && left <= rect.left + rect.width;
2224
+ const rectContainsX = (rect, left, scaleX = 1) => rect.left * scaleX <= left && left <= rect.left * scaleX + rect.width * scaleX;
2225
2225
  /** @hidden */
2226
2226
  const toPx = value => `${value}px`;
2227
2227
  /** @hidden */
@@ -10052,6 +10052,14 @@ class BaseSlotService {
10052
10052
  }
10053
10053
  return this.groups[index];
10054
10054
  }
10055
+ calculateScaleX() {
10056
+ if (!isDocumentAvailable()) {
10057
+ return;
10058
+ }
10059
+ const schedulerEl = document.querySelector('.k-scheduler');
10060
+ const scaleX = schedulerEl.getBoundingClientRect().width / schedulerEl.offsetWidth;
10061
+ return scaleX;
10062
+ }
10055
10063
  }
10056
10064
 
10057
10065
  //better try to measure this one
@@ -10251,11 +10259,11 @@ class MonthSlotService extends BaseSlotService {
10251
10259
  slotByPosition(x, y) {
10252
10260
  let range;
10253
10261
  this.groups.find((group) => {
10254
- range = group.dayRanges.find(r => rectContains(r.rect, x, y));
10262
+ range = group.dayRanges.find(r => rectContains(r.rect, x, y, this.calculateScaleX()));
10255
10263
  return range;
10256
10264
  });
10257
10265
  if (range) {
10258
- return range.slots.find(slot => rectContains(slot.rect, x, y));
10266
+ return range.slots.find(slot => rectContains(slot.rect, x, y, this.calculateScaleX()));
10259
10267
  }
10260
10268
  }
10261
10269
  dragRanges(currentSlot, offset) {
@@ -10276,9 +10284,9 @@ class MonthSlotService extends BaseSlotService {
10276
10284
  };
10277
10285
  }
10278
10286
  groupSlotByPosition(currentSlot, x, y) {
10279
- const range = this.groups[currentSlot.id.resourceIndex].dayRanges.find(r => rectContains(r.rect, x, y));
10287
+ const range = this.groups[currentSlot.id.resourceIndex].dayRanges.find(r => rectContains(r.rect, x, y, this.calculateScaleX()));
10280
10288
  if (range) {
10281
- return range.slots.find(slot => rectContains(slot.rect, x, y));
10289
+ return range.slots.find(slot => rectContains(slot.rect, x, y, this.calculateScaleX()));
10282
10290
  }
10283
10291
  }
10284
10292
  resizeRanges(currentSlot, task, resizeStart, offset) {
@@ -13605,25 +13613,25 @@ class DayTimeSlotService extends BaseSlotService {
13605
13613
  let range;
13606
13614
  if (isDaySlot) {
13607
13615
  this.groups.find((group) => {
13608
- range = group.dayRanges.find(r => rectContainsX(r.rect, x));
13616
+ range = group.dayRanges.find(r => rectContainsX(r.rect, x, this.calculateScaleX()));
13609
13617
  return range;
13610
13618
  });
13611
13619
  if (range) {
13612
- return range.slots.find(slot => rectContainsX(slot.rect, x));
13620
+ return range.slots.find(slot => rectContainsX(slot.rect, x, this.calculateScaleX()));
13613
13621
  }
13614
13622
  }
13615
13623
  else {
13616
13624
  this.groups.find((group) => {
13617
13625
  if (includeDayRanges) {
13618
- range = group.dayRanges.find(r => rectContains(r.rect, x, y));
13626
+ range = group.dayRanges.find(r => rectContains(r.rect, x, y, this.calculateScaleX()));
13619
13627
  }
13620
13628
  if (!range) {
13621
- range = group.timeRanges.find(r => rectContains(r.rect, x, y));
13629
+ range = group.timeRanges.find(r => rectContains(r.rect, x, y, this.calculateScaleX()));
13622
13630
  }
13623
13631
  return range;
13624
13632
  });
13625
13633
  if (range) {
13626
- return range.slots.find(slot => rectContains(slot.rect, x, y));
13634
+ return range.slots.find(slot => rectContains(slot.rect, x, y, this.calculateScaleX()));
13627
13635
  }
13628
13636
  }
13629
13637
  }
@@ -13631,13 +13639,13 @@ class DayTimeSlotService extends BaseSlotService {
13631
13639
  const group = this.groups[currentSlot.id.resourceIndex];
13632
13640
  let range;
13633
13641
  if (currentSlot.isDaySlot) {
13634
- range = group.dayRanges.find(r => rectContains(r.rect, x, y));
13642
+ range = group.dayRanges.find(r => rectContains(r.rect, x, y, this.calculateScaleX()));
13635
13643
  }
13636
13644
  else {
13637
- range = group.timeRanges.find(r => rectContains(r.rect, x, y));
13645
+ range = group.timeRanges.find(r => rectContains(r.rect, x, y, this.calculateScaleX()));
13638
13646
  }
13639
13647
  if (range) {
13640
- return range.slots.find(slot => rectContains(slot.rect, x, y));
13648
+ return range.slots.find(slot => rectContains(slot.rect, x, y, this.calculateScaleX()));
13641
13649
  }
13642
13650
  }
13643
13651
  dragRanges(currentSlot, offset, timeRanges) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-scheduler",
3
- "version": "16.11.0-develop.3",
3
+ "version": "16.11.0-develop.5",
4
4
  "description": "Kendo UI Scheduler Angular - Outlook or Google-style angular scheduler calendar. Full-featured and customizable embedded scheduling from the creator developers trust for professional UI components.",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "Progress",
@@ -26,23 +26,23 @@
26
26
  "@progress/kendo-data-query": "^1.0.0",
27
27
  "@progress/kendo-drawing": "^1.20.4",
28
28
  "@progress/kendo-licensing": "^1.0.2",
29
- "@progress/kendo-angular-tooltip": "16.11.0-develop.3",
30
- "@progress/kendo-angular-buttons": "16.11.0-develop.3",
31
- "@progress/kendo-angular-common": "16.11.0-develop.3",
32
- "@progress/kendo-angular-dateinputs": "16.11.0-develop.3",
33
- "@progress/kendo-angular-dialog": "16.11.0-develop.3",
34
- "@progress/kendo-angular-dropdowns": "16.11.0-develop.3",
35
- "@progress/kendo-angular-icons": "16.11.0-develop.3",
36
- "@progress/kendo-angular-inputs": "16.11.0-develop.3",
37
- "@progress/kendo-angular-intl": "16.11.0-develop.3",
38
- "@progress/kendo-angular-l10n": "16.11.0-develop.3",
39
- "@progress/kendo-angular-label": "16.11.0-develop.3",
40
- "@progress/kendo-angular-popup": "16.11.0-develop.3",
29
+ "@progress/kendo-angular-tooltip": "16.11.0-develop.5",
30
+ "@progress/kendo-angular-buttons": "16.11.0-develop.5",
31
+ "@progress/kendo-angular-common": "16.11.0-develop.5",
32
+ "@progress/kendo-angular-dateinputs": "16.11.0-develop.5",
33
+ "@progress/kendo-angular-dialog": "16.11.0-develop.5",
34
+ "@progress/kendo-angular-dropdowns": "16.11.0-develop.5",
35
+ "@progress/kendo-angular-icons": "16.11.0-develop.5",
36
+ "@progress/kendo-angular-inputs": "16.11.0-develop.5",
37
+ "@progress/kendo-angular-intl": "16.11.0-develop.5",
38
+ "@progress/kendo-angular-l10n": "16.11.0-develop.5",
39
+ "@progress/kendo-angular-label": "16.11.0-develop.5",
40
+ "@progress/kendo-angular-popup": "16.11.0-develop.5",
41
41
  "rxjs": "^6.5.3 || ^7.0.0"
42
42
  },
43
43
  "dependencies": {
44
44
  "tslib": "^2.3.1",
45
- "@progress/kendo-angular-schematics": "16.11.0-develop.3",
45
+ "@progress/kendo-angular-schematics": "16.11.0-develop.5",
46
46
  "@progress/kendo-date-math": "^1.3.2",
47
47
  "@progress/kendo-draggable": "^3.0.2",
48
48
  "@progress/kendo-file-saver": "^1.0.7",
@@ -4,10 +4,10 @@ const schematics_1 = require("@angular-devkit/schematics");
4
4
  function default_1(options) {
5
5
  const finalOptions = Object.assign(Object.assign({}, options), { mainNgModule: 'SchedulerModule', package: 'scheduler', peerDependencies: {
6
6
  // peer deps of the dropdowns
7
- '@progress/kendo-angular-treeview': '16.11.0-develop.3',
8
- '@progress/kendo-angular-navigation': '16.11.0-develop.3',
7
+ '@progress/kendo-angular-treeview': '16.11.0-develop.5',
8
+ '@progress/kendo-angular-navigation': '16.11.0-develop.5',
9
9
  // peer dependency of kendo-angular-inputs
10
- '@progress/kendo-angular-dialog': '16.11.0-develop.3',
10
+ '@progress/kendo-angular-dialog': '16.11.0-develop.5',
11
11
  // peer dependency of kendo-angular-icons
12
12
  '@progress/kendo-svg-icons': '^3.0.0'
13
13
  } });
package/views/utils.d.ts CHANGED
@@ -72,9 +72,9 @@ export declare function isRecurrence(task: any): boolean;
72
72
  /** @hidden */
73
73
  export declare function isRecurrenceException(task: any): boolean;
74
74
  /** @hidden */
75
- export declare const rectContains: (rect: any, left: number, top: number) => boolean;
75
+ export declare const rectContains: (rect: any, left: number, top: number, scaleX?: number) => boolean;
76
76
  /** @hidden */
77
- export declare const rectContainsX: (rect: any, left: number) => boolean;
77
+ export declare const rectContainsX: (rect: any, left: number, scaleX?: number) => boolean;
78
78
  /** @hidden */
79
79
  export declare const toPx: (value: any) => string;
80
80
  /** @hidden */
@@ -24,4 +24,5 @@ export declare abstract class BaseSlotService {
24
24
  protected clearEmptyGroups(): void;
25
25
  protected itemGroup(item: ViewItem): ResourceGroup;
26
26
  protected slotGroup(slot: SlotDirective): ResourceGroup;
27
+ protected calculateScaleX(): number;
27
28
  }