@progress/kendo-angular-scheduler 25.4.0-develop.23 → 25.4.0-develop.25
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.
|
@@ -44,8 +44,8 @@ const packageMetadata = {
|
|
|
44
44
|
productName: 'Kendo UI for Angular',
|
|
45
45
|
productCode: 'KENDOUIANGULAR',
|
|
46
46
|
productCodes: ['KENDOUIANGULAR'],
|
|
47
|
-
publishDate:
|
|
48
|
-
version: '25.4.0-develop.
|
|
47
|
+
publishDate: 1793613857,
|
|
48
|
+
version: '25.4.0-develop.25',
|
|
49
49
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
50
50
|
};
|
|
51
51
|
|
|
@@ -2678,10 +2678,27 @@ const allDaysHidden = (days) => {
|
|
|
2678
2678
|
return true;
|
|
2679
2679
|
};
|
|
2680
2680
|
/** @hidden */
|
|
2681
|
-
const
|
|
2681
|
+
const truncateToMinutes = (date) => {
|
|
2682
|
+
if (date.getSeconds() === 0 && date.getMilliseconds() === 0) {
|
|
2683
|
+
return date;
|
|
2684
|
+
}
|
|
2685
|
+
const result = new Date(date.getTime());
|
|
2686
|
+
result.setUTCSeconds(0, 0);
|
|
2687
|
+
return result;
|
|
2688
|
+
};
|
|
2689
|
+
/** @hidden */
|
|
2690
|
+
const eventsIntersect = (startTime, endTime, periodStart, periodEnd) => (startTime < periodStart && endTime > periodEnd) ||
|
|
2682
2691
|
(periodStart <= startTime && startTime < periodEnd) ||
|
|
2683
2692
|
(periodStart < endTime && endTime <= periodEnd && startTime < endTime);
|
|
2684
2693
|
/** @hidden */
|
|
2694
|
+
const slotBoundaryEnd = (endTime, periodStart, periodEnd) => {
|
|
2695
|
+
const minuteAligned = periodStart.getSeconds() === 0 && periodStart.getMilliseconds() === 0 &&
|
|
2696
|
+
periodEnd.getSeconds() === 0 && periodEnd.getMilliseconds() === 0;
|
|
2697
|
+
return minuteAligned ? truncateToMinutes(endTime) : endTime;
|
|
2698
|
+
};
|
|
2699
|
+
/** @hidden */
|
|
2700
|
+
const intersects = (startTime, endTime, periodStart, periodEnd) => eventsIntersect(startTime, slotBoundaryEnd(endTime, periodStart, periodEnd), periodStart, periodEnd);
|
|
2701
|
+
/** @hidden */
|
|
2685
2702
|
const dateInRange = (date, start, end) => start.getTime() <= date.getTime() && date.getTime() <= end.getTime();
|
|
2686
2703
|
/** @hidden */
|
|
2687
2704
|
const getVerticalPaddingAndBorder = (element) => {
|
|
@@ -13180,16 +13197,16 @@ class MonthSlotService extends BaseSlotService {
|
|
|
13180
13197
|
const endDate = task.end.toUTCDate();
|
|
13181
13198
|
let start, end;
|
|
13182
13199
|
if (resizeStart) {
|
|
13183
|
-
start = currentSlot.start.getTime() + offset.start;
|
|
13184
|
-
if (start > endDate.getTime()) {
|
|
13200
|
+
start = new Date(currentSlot.start.getTime() + offset.start);
|
|
13201
|
+
if (start.getTime() > endDate.getTime()) {
|
|
13185
13202
|
start = new Date(Math.min(dateWithTime(endDate, startDate).getTime(), endDate.getTime()));
|
|
13186
13203
|
}
|
|
13187
13204
|
end = endDate;
|
|
13188
13205
|
}
|
|
13189
13206
|
else {
|
|
13190
13207
|
start = startDate;
|
|
13191
|
-
end = currentSlot.start.getTime() + offset.end;
|
|
13192
|
-
if (end < start.getTime()) {
|
|
13208
|
+
end = new Date(currentSlot.start.getTime() + offset.end);
|
|
13209
|
+
if (end.getTime() < start.getTime()) {
|
|
13193
13210
|
end = new Date(Math.max(dateWithTime(startDate, endDate).getTime(), start.getTime()));
|
|
13194
13211
|
}
|
|
13195
13212
|
}
|
|
@@ -17099,7 +17116,7 @@ function initTimeColumns(slotKeys, slotItems) {
|
|
|
17099
17116
|
groupSlots.push(slot);
|
|
17100
17117
|
for (let eventIdx = 0; eventIdx < count; eventIdx++) {
|
|
17101
17118
|
const event = events[eventIdx];
|
|
17102
|
-
const endsInSlot = event.item.endTime.getTime() <= slot.end.getTime();
|
|
17119
|
+
const endsInSlot = slotBoundaryEnd(event.item.endTime, slot.start, slot.end).getTime() <= slot.end.getTime();
|
|
17103
17120
|
// Grouping needs to consider the enforced minimum rendered height with MIN_EVENT_HEIGHT.
|
|
17104
17121
|
let visuallyEndsInSlot = true;
|
|
17105
17122
|
if (endsInSlot) {
|
|
@@ -17128,11 +17145,11 @@ function initTimeColumns(slotKeys, slotItems) {
|
|
|
17128
17145
|
}
|
|
17129
17146
|
// Events that don't intersect their start or end times but overlap in rendered height due to the minimum event height
|
|
17130
17147
|
const anyOverlappingEvents = events.filter(e => e !== current && e.rect).some(event => {
|
|
17131
|
-
const areIntersecting =
|
|
17148
|
+
const areIntersecting = eventsIntersect(event.item.startTime, event.item.endTime, current.item.startTime, current.item.endTime);
|
|
17132
17149
|
const areOverlapping = minHeightOverlaps(current.rect.top, event.rect.top);
|
|
17133
17150
|
return !areIntersecting && areOverlapping;
|
|
17134
17151
|
});
|
|
17135
|
-
const intersectingEvents =
|
|
17152
|
+
const intersectingEvents = eventsIntersect(event.item.startTime, event.item.endTime, current.item.startTime, current.item.endTime);
|
|
17136
17153
|
const overlappingEvents = minHeightOverlaps(current.rect.top, event.rect.top);
|
|
17137
17154
|
if (!(anyOverlappingEvents || intersectingEvents || overlappingEvents)) {
|
|
17138
17155
|
const targetColumn = current.columnIndex;
|
|
@@ -17140,7 +17157,7 @@ function initTimeColumns(slotKeys, slotItems) {
|
|
|
17140
17157
|
const hasColumnConflict = events.some(e => e !== current &&
|
|
17141
17158
|
isNumber(e.columnIndex) &&
|
|
17142
17159
|
e.columnIndex === targetColumn &&
|
|
17143
|
-
(
|
|
17160
|
+
(eventsIntersect(event.item.startTime, event.item.endTime, e.item.startTime, e.item.endTime) ||
|
|
17144
17161
|
(e.rect && event.rect && minHeightOverlaps(e.rect.top, event.rect.top))));
|
|
17145
17162
|
if (hasColumnConflict) {
|
|
17146
17163
|
previousIdx = current.columnIndex;
|
|
@@ -17162,7 +17179,7 @@ function initTimeColumns(slotKeys, slotItems) {
|
|
|
17162
17179
|
event.lastColumn = !events.some((e) => {
|
|
17163
17180
|
const hasColumnIndex = e.columnIndex;
|
|
17164
17181
|
const isBeforeCurrentIndex = targetColumn < e.columnIndex;
|
|
17165
|
-
const areIntersecting =
|
|
17182
|
+
const areIntersecting = eventsIntersect(event.item.startTime, event.item.endTime, e.item.startTime, e.item.endTime);
|
|
17166
17183
|
return hasColumnIndex && isBeforeCurrentIndex && areIntersecting;
|
|
17167
17184
|
});
|
|
17168
17185
|
events.splice(eventIdx, 1);
|
|
@@ -17210,7 +17227,7 @@ function findTimeRowIndex(events, event) {
|
|
|
17210
17227
|
}
|
|
17211
17228
|
for (let idx = 0; idx < events.length; idx++) {
|
|
17212
17229
|
const current = events[idx];
|
|
17213
|
-
if (!current || !
|
|
17230
|
+
if (!current || !eventsIntersect(event.item.startTime, event.item.endTime, current.item.startTime, current.item.endTime)) {
|
|
17214
17231
|
return idx;
|
|
17215
17232
|
}
|
|
17216
17233
|
}
|
package/package-metadata.mjs
CHANGED
|
@@ -7,7 +7,7 @@ export const packageMetadata = {
|
|
|
7
7
|
"productCodes": [
|
|
8
8
|
"KENDOUIANGULAR"
|
|
9
9
|
],
|
|
10
|
-
"publishDate":
|
|
11
|
-
"version": "25.4.0-develop.
|
|
10
|
+
"publishDate": 1793613857,
|
|
11
|
+
"version": "25.4.0-develop.25",
|
|
12
12
|
"licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
|
|
13
13
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@progress/kendo-angular-scheduler",
|
|
3
|
-
"version": "25.4.0-develop.
|
|
3
|
+
"version": "25.4.0-develop.25",
|
|
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",
|
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
"package": {
|
|
81
81
|
"productName": "Kendo UI for Angular",
|
|
82
82
|
"productCode": "KENDOUIANGULAR",
|
|
83
|
-
"publishDate":
|
|
83
|
+
"publishDate": 1793613857,
|
|
84
84
|
"licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
|
|
85
85
|
}
|
|
86
86
|
},
|
|
@@ -93,23 +93,23 @@
|
|
|
93
93
|
"@progress/kendo-data-query": "^1.7.3",
|
|
94
94
|
"@progress/kendo-drawing": "^1.25.0",
|
|
95
95
|
"@progress/kendo-licensing": "^1.11.0",
|
|
96
|
-
"@progress/kendo-angular-tooltip": "25.4.0-develop.
|
|
97
|
-
"@progress/kendo-angular-buttons": "25.4.0-develop.
|
|
98
|
-
"@progress/kendo-angular-common": "25.4.0-develop.
|
|
99
|
-
"@progress/kendo-angular-dateinputs": "25.4.0-develop.
|
|
100
|
-
"@progress/kendo-angular-dialog": "25.4.0-develop.
|
|
101
|
-
"@progress/kendo-angular-dropdowns": "25.4.0-develop.
|
|
102
|
-
"@progress/kendo-angular-icons": "25.4.0-develop.
|
|
103
|
-
"@progress/kendo-angular-inputs": "25.4.0-develop.
|
|
104
|
-
"@progress/kendo-angular-intl": "25.4.0-develop.
|
|
105
|
-
"@progress/kendo-angular-l10n": "25.4.0-develop.
|
|
106
|
-
"@progress/kendo-angular-label": "25.4.0-develop.
|
|
107
|
-
"@progress/kendo-angular-popup": "25.4.0-develop.
|
|
96
|
+
"@progress/kendo-angular-tooltip": "25.4.0-develop.25",
|
|
97
|
+
"@progress/kendo-angular-buttons": "25.4.0-develop.25",
|
|
98
|
+
"@progress/kendo-angular-common": "25.4.0-develop.25",
|
|
99
|
+
"@progress/kendo-angular-dateinputs": "25.4.0-develop.25",
|
|
100
|
+
"@progress/kendo-angular-dialog": "25.4.0-develop.25",
|
|
101
|
+
"@progress/kendo-angular-dropdowns": "25.4.0-develop.25",
|
|
102
|
+
"@progress/kendo-angular-icons": "25.4.0-develop.25",
|
|
103
|
+
"@progress/kendo-angular-inputs": "25.4.0-develop.25",
|
|
104
|
+
"@progress/kendo-angular-intl": "25.4.0-develop.25",
|
|
105
|
+
"@progress/kendo-angular-l10n": "25.4.0-develop.25",
|
|
106
|
+
"@progress/kendo-angular-label": "25.4.0-develop.25",
|
|
107
|
+
"@progress/kendo-angular-popup": "25.4.0-develop.25",
|
|
108
108
|
"rxjs": "^6.5.3 || ^7.0.0"
|
|
109
109
|
},
|
|
110
110
|
"dependencies": {
|
|
111
111
|
"tslib": "^2.3.1",
|
|
112
|
-
"@progress/kendo-angular-schematics": "25.4.0-develop.
|
|
112
|
+
"@progress/kendo-angular-schematics": "25.4.0-develop.25",
|
|
113
113
|
"@progress/kendo-date-math": "^1.3.2",
|
|
114
114
|
"@progress/kendo-draggable": "^3.0.2",
|
|
115
115
|
"@progress/kendo-file-saver": "^1.0.7",
|
|
@@ -9,10 +9,10 @@ const schematics_1 = require("@angular-devkit/schematics");
|
|
|
9
9
|
function default_1(options) {
|
|
10
10
|
const finalOptions = Object.assign(Object.assign({}, options), { mainNgModule: 'SchedulerModule', package: 'scheduler', peerDependencies: {
|
|
11
11
|
// peer deps of the dropdowns
|
|
12
|
-
'@progress/kendo-angular-treeview': '25.4.0-develop.
|
|
13
|
-
'@progress/kendo-angular-navigation': '25.4.0-develop.
|
|
12
|
+
'@progress/kendo-angular-treeview': '25.4.0-develop.25',
|
|
13
|
+
'@progress/kendo-angular-navigation': '25.4.0-develop.25',
|
|
14
14
|
// peer dependency of kendo-angular-inputs
|
|
15
|
-
'@progress/kendo-angular-dialog': '25.4.0-develop.
|
|
15
|
+
'@progress/kendo-angular-dialog': '25.4.0-develop.25',
|
|
16
16
|
// peer dependency of kendo-angular-icons
|
|
17
17
|
'@progress/kendo-svg-icons': '^4.0.0'
|
|
18
18
|
} });
|