@progress/kendo-react-scheduler 14.5.0-develop.8 → 14.5.0-develop.9
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/Scheduler.js +1 -1
- package/Scheduler.mjs +50 -50
- package/components/header/view-selector/ViewSelectorList.js +1 -1
- package/components/header/view-selector/ViewSelectorList.mjs +48 -30
- package/dist/cdn/js/kendo-react-scheduler.js +1 -1
- package/items/SchedulerItem.js +1 -1
- package/items/SchedulerItem.mjs +110 -110
- package/items/SchedulerProportionalViewItem.js +1 -1
- package/items/SchedulerProportionalViewItem.mjs +11 -11
- package/items/SchedulerViewItem.js +1 -1
- package/items/SchedulerViewItem.mjs +33 -33
- package/package-metadata.js +1 -1
- package/package-metadata.mjs +2 -2
- package/package.json +17 -12
- package/views/agenda/AgendaView.js +1 -1
- package/views/agenda/AgendaView.mjs +37 -37
- package/components/header/view-selector/ViewSelectorItem.js +0 -8
- package/components/header/view-selector/ViewSelectorItem.mjs +0 -35
|
@@ -6,23 +6,23 @@
|
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
8
|
import * as i from "react";
|
|
9
|
-
import { SchedulerItem as
|
|
10
|
-
import { first as
|
|
9
|
+
import { SchedulerItem as oe } from "./SchedulerItem.mjs";
|
|
10
|
+
import { first as se, calculateOrder as ce, intersects as z } from "../utils/index.mjs";
|
|
11
11
|
import { getRect as B, setRect as ae } from "../views/common/utils.mjs";
|
|
12
|
-
import { BORDER_WIDTH as
|
|
12
|
+
import { BORDER_WIDTH as S } from "../constants/index.mjs";
|
|
13
13
|
import { useInternationalization as de } from "@progress/kendo-react-intl";
|
|
14
14
|
import { SchedulerItemContent as G } from "./SchedulerItemContent.mjs";
|
|
15
15
|
import { useDir as ue, IconWrap as x } from "@progress/kendo-react-common";
|
|
16
|
-
import {
|
|
16
|
+
import { chevronRightIcon as me, chevronLeftIcon as fe, arrowRotateCwIcon as he, arrowsNoRepeatIcon as ge } from "@progress/kendo-svg-icons";
|
|
17
17
|
import { useRowSync as we } from "../hooks/useRowSync.mjs";
|
|
18
|
-
import { useEditable as
|
|
19
|
-
import { useSchedulerViewItemsContext as
|
|
18
|
+
import { useEditable as ve } from "../hooks/useEditable.mjs";
|
|
19
|
+
import { useSchedulerViewItemsContext as Se, useSchedulerViewSlotsContext as Ie } from "../context/SchedulerViewContext.mjs";
|
|
20
20
|
import { useSchedulerElementContext as ye } from "../context/SchedulerContext.mjs";
|
|
21
21
|
const W = 1, Y = 25, Re = i.forwardRef(
|
|
22
22
|
(e, $) => {
|
|
23
|
-
const { item: K, _ref: U, itemRef: j, ...J } = e, b = i.useRef(void 0), d = i.useRef(null), O = i.useRef(null), _ = i.useRef(null), Q =
|
|
23
|
+
const { item: K, _ref: U, itemRef: j, ...J } = e, b = i.useRef(void 0), d = i.useRef(null), O = i.useRef(null), _ = i.useRef(null), Q = ve(e.editable);
|
|
24
24
|
i.useImperativeHandle(O, () => ({ props: e, element: d.current && d.current.element })), i.useImperativeHandle($, () => O.current), i.useImperativeHandle(U, () => d.current), i.useImperativeHandle(j, () => d.current);
|
|
25
|
-
const X = K || Ee.item, P = de(), [Z] =
|
|
25
|
+
const X = K || Ee.item, P = de(), [Z] = Se(), [p] = Ie(), R = ye(), [ee, H] = i.useState(!0), [te, re] = i.useState(!1), f = i.useRef(e.order), F = i.useRef(0), T = ue(R), M = i.useMemo(
|
|
26
26
|
() => {
|
|
27
27
|
var t, r;
|
|
28
28
|
return e.isAllDay ? (t = e.title) != null ? t : "" : `(${P.format("{0:t} - {1:t}", e.zonedStart, e.zonedEnd)}): ${(r = e.title) != null ? r : ""}`;
|
|
@@ -37,75 +37,75 @@ const W = 1, Y = 25, Re = i.forwardRef(
|
|
|
37
37
|
}, ne = (t, r) => t.map((l) => r.filter((a) => D(l.current.props, a.props))), ie = (t, r) => {
|
|
38
38
|
var E;
|
|
39
39
|
const c = r.filter((n) => n.props.order !== null && n.props.order !== void 0).map((n) => {
|
|
40
|
-
let u = n.props.start,
|
|
41
|
-
return n.props.isAllDay && (u = new Date(u.getFullYear(), u.getMonth(), u.getDate()),
|
|
40
|
+
let u = n.props.start, o = n.props.end;
|
|
41
|
+
return n.props.isAllDay && (u = new Date(u.getFullYear(), u.getMonth(), u.getDate()), o = new Date(o.getFullYear(), o.getMonth(), o.getDate())), { order: n.props.order, start: u, end: o };
|
|
42
42
|
}), l = Array.from(new Set(c.map((n) => n.order))).sort((n, u) => n - u), a = /* @__PURE__ */ new Map();
|
|
43
43
|
for (const n of c)
|
|
44
44
|
a.has(n.order) || a.set(n.order, []), a.get(n.order).push({ start: n.start, end: n.end });
|
|
45
|
-
const m = [],
|
|
45
|
+
const m = [], v = /* @__PURE__ */ new Map();
|
|
46
46
|
for (const n of l) {
|
|
47
47
|
const u = a.get(n);
|
|
48
|
-
let
|
|
48
|
+
let o = -1;
|
|
49
49
|
for (let g = 0; g < m.length; g++)
|
|
50
50
|
if (u.every(
|
|
51
51
|
(I) => m[g].every(
|
|
52
52
|
(y) => !z(y.start, y.end, I.start, I.end, !0)
|
|
53
53
|
)
|
|
54
54
|
)) {
|
|
55
|
-
|
|
55
|
+
o = g;
|
|
56
56
|
break;
|
|
57
57
|
}
|
|
58
|
-
|
|
58
|
+
o === -1 && (o = m.length, m.push([])), m[o].push(...u), v.set(n, o);
|
|
59
59
|
}
|
|
60
|
-
return (E =
|
|
60
|
+
return (E = v.get(t)) != null ? E : t;
|
|
61
61
|
}, D = (t, r) => z(t.start, t.end, r.start, r.end) && t.group.index === r.group.index && t.range.index === r.range.index && // When slotDuration equals a full day, both daySlots and timeSlots have isAllDay=true,
|
|
62
62
|
// so we need to also check range.isAllDay to distinguish between them.
|
|
63
63
|
(t.range.isAllDay === void 0 || r.range.isAllDay === void 0 || t.range.isAllDay === r.range.isAllDay) && (e.ignoreIsAllDay || t.isAllDay === r.isAllDay), A = () => {
|
|
64
64
|
var I, y, N, L;
|
|
65
|
-
const t = (p || []).filter((
|
|
65
|
+
const t = (p || []).filter((s) => s.current && D(s.current.props, e)), r = d.current && d.current.element, c = se(t);
|
|
66
66
|
if (t.length === 0) {
|
|
67
67
|
H(!1);
|
|
68
68
|
return;
|
|
69
69
|
}
|
|
70
70
|
if (!c.current || !r)
|
|
71
71
|
return;
|
|
72
|
-
const l = B(c.current.element), a = [], m = [],
|
|
73
|
-
(Z || []).forEach((
|
|
74
|
-
|
|
72
|
+
const l = B(c.current.element), a = [], m = [], v = [];
|
|
73
|
+
(Z || []).forEach((s) => {
|
|
74
|
+
s.current && (s.current.props.dragHint ? m.push(s.current) : s.current.props.resizeHint ? v.push(s.current) : a.push(s.current));
|
|
75
75
|
});
|
|
76
76
|
const E = e.dragHint || e.resizeHint ? ce(
|
|
77
77
|
d.current,
|
|
78
|
-
e.dragHint ? m :
|
|
78
|
+
e.dragHint ? m : v,
|
|
79
79
|
t,
|
|
80
80
|
e.ignoreIsAllDay
|
|
81
81
|
) : (I = e.order) != null ? I : 0;
|
|
82
82
|
if (!e.vertical && !(e.dragHint || e.resizeHint) && e.order !== null && e.order !== void 0) {
|
|
83
|
-
const
|
|
84
|
-
f.current = ie(e.order,
|
|
83
|
+
const s = a.filter((w) => w.props.isAllDay);
|
|
84
|
+
f.current = ie(e.order, s);
|
|
85
85
|
} else
|
|
86
86
|
f.current = E;
|
|
87
|
-
let n = e.dragHint || e.resizeHint ? k(t, e.dragHint ? m :
|
|
87
|
+
let n = e.dragHint || e.resizeHint ? k(t, e.dragHint ? m : v) : k(t, a);
|
|
88
88
|
const u = ne(t, a);
|
|
89
|
-
let
|
|
89
|
+
let o = 0;
|
|
90
90
|
const g = !e.vertical && f.current !== null;
|
|
91
|
-
if (u.forEach((
|
|
91
|
+
if (u.forEach((s) => {
|
|
92
92
|
let w = 0;
|
|
93
|
-
|
|
93
|
+
s.forEach((h) => {
|
|
94
94
|
if (z(h.props.start, h.props.end, e.start, e.end) && !(e.dragHint || e.resizeHint) && h._maxSiblingsPerSlot && h._maxSiblingsPerSlot > n && h.element !== r && (n = h._maxSiblingsPerSlot), !g) {
|
|
95
95
|
const q = B(h.element);
|
|
96
|
-
h.props.order !== null && h.props.order !== void 0 && h.props.order < f.current && (w = q.top + q.height - l.top -
|
|
96
|
+
h.props.order !== null && h.props.order !== void 0 && h.props.order < f.current && (w = q.top + q.height - l.top - S * f.current + W);
|
|
97
97
|
}
|
|
98
|
-
}), w >
|
|
98
|
+
}), w > o && (o = w);
|
|
99
99
|
}), g) {
|
|
100
|
-
const
|
|
101
|
-
|
|
100
|
+
const s = (y = e.style) == null ? void 0 : y.height, w = typeof s == "number" ? s : Y;
|
|
101
|
+
o = f.current * (w + W);
|
|
102
102
|
}
|
|
103
103
|
if (t.length === 0) {
|
|
104
104
|
H(!1);
|
|
105
105
|
return;
|
|
106
106
|
}
|
|
107
107
|
const V = Q.add ? 20 : 0;
|
|
108
|
-
l.width = e.vertical ? l.width / n -
|
|
108
|
+
l.width = e.vertical ? l.width / n - S - V / n : l.width * t.length - S, e.vertical ? l.height = l.height * t.length - S : (e.resizeHint || e.dragHint) && n <= 1 || (l.height = (L = (N = e.style) == null ? void 0 : N.height) != null ? L : Y), l.left = e.vertical ? l.left + f.current * l.width + S * f.current : l.left, l.top = e.vertical ? l.top : l.top + o + S * f.current, F.current = n, ae(r, l), re(!0), H(!0);
|
|
109
109
|
}, C = i.useCallback(
|
|
110
110
|
(t) => {
|
|
111
111
|
const r = t && t[0], c = _.current;
|
|
@@ -148,7 +148,7 @@ const W = 1, Y = 25, Re = i.forwardRef(
|
|
|
148
148
|
!e.resizeHint && /* @__PURE__ */ i.createElement("span", { className: "k-event-actions" }, e.tail && /* @__PURE__ */ i.createElement(
|
|
149
149
|
x,
|
|
150
150
|
{
|
|
151
|
-
name: T === "rtl" ? "
|
|
151
|
+
name: T === "rtl" ? "chevron-right" : "chevron-left",
|
|
152
152
|
icon: T === "rtl" ? me : fe
|
|
153
153
|
}
|
|
154
154
|
), e.isRecurring && !e.isException && /* @__PURE__ */ i.createElement(x, { name: "arrow-rotate-cw", icon: he }), !e.isRecurring && e.isException && /* @__PURE__ */ i.createElement(x, { name: "arrows-no-repeat", icon: ge })),
|
|
@@ -156,7 +156,7 @@ const W = 1, Y = 25, Re = i.forwardRef(
|
|
|
156
156
|
);
|
|
157
157
|
}
|
|
158
158
|
), Ee = {
|
|
159
|
-
item:
|
|
159
|
+
item: oe
|
|
160
160
|
};
|
|
161
161
|
Re.displayName = "KendoReactSchedulerViewItem";
|
|
162
162
|
export {
|
package/package-metadata.js
CHANGED
|
@@ -5,4 +5,4 @@
|
|
|
5
5
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=Object.freeze({name:"@progress/kendo-react-scheduler",productName:"KendoReact",productCode:"KENDOUIREACT",productCodes:["KENDOUIREACT"],publishDate:
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=Object.freeze({name:"@progress/kendo-react-scheduler",productName:"KendoReact",productCode:"KENDOUIREACT",productCodes:["KENDOUIREACT"],publishDate: 1778599783,version:"14.5.0-develop.9",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui"});exports.packageMetadata=e;
|
package/package-metadata.mjs
CHANGED
|
@@ -6,7 +6,7 @@ export const packageMetadata = Object.freeze({
|
|
|
6
6
|
productName: 'KendoReact',
|
|
7
7
|
productCode: 'KENDOUIREACT',
|
|
8
8
|
productCodes: ['KENDOUIREACT'],
|
|
9
|
-
publishDate:
|
|
10
|
-
version: '14.5.0-develop.
|
|
9
|
+
publishDate: 1778599783,
|
|
10
|
+
version: '14.5.0-develop.9',
|
|
11
11
|
licensingDocsUrl: 'https://www.telerik.com/kendo-react-ui'
|
|
12
12
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@progress/kendo-react-scheduler",
|
|
3
|
-
"version": "14.5.0-develop.
|
|
3
|
+
"version": "14.5.0-develop.9",
|
|
4
4
|
"description": "React Scheduler brings the functionality of Outlook's Calendar to a single UI component. KendoReact Scheduler package",
|
|
5
5
|
"author": "Progress",
|
|
6
6
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
@@ -29,16 +29,16 @@
|
|
|
29
29
|
"@progress/kendo-date-math": "^1.4.1",
|
|
30
30
|
"@progress/kendo-drawing": "^1.21.2",
|
|
31
31
|
"@progress/kendo-licensing": "^1.7.2",
|
|
32
|
-
"@progress/kendo-react-buttons": "14.5.0-develop.
|
|
33
|
-
"@progress/kendo-react-common": "14.5.0-develop.
|
|
34
|
-
"@progress/kendo-react-dateinputs": "14.5.0-develop.
|
|
35
|
-
"@progress/kendo-react-dialogs": "14.5.0-develop.
|
|
36
|
-
"@progress/kendo-react-dropdowns": "14.5.0-develop.
|
|
37
|
-
"@progress/kendo-react-form": "14.5.0-develop.
|
|
38
|
-
"@progress/kendo-react-inputs": "14.5.0-develop.
|
|
39
|
-
"@progress/kendo-react-intl": "14.5.0-develop.
|
|
40
|
-
"@progress/kendo-react-popup": "14.5.0-develop.
|
|
41
|
-
"@progress/kendo-svg-icons": "^4.0.0",
|
|
32
|
+
"@progress/kendo-react-buttons": "14.5.0-develop.9",
|
|
33
|
+
"@progress/kendo-react-common": "14.5.0-develop.9",
|
|
34
|
+
"@progress/kendo-react-dateinputs": "14.5.0-develop.9",
|
|
35
|
+
"@progress/kendo-react-dialogs": "14.5.0-develop.9",
|
|
36
|
+
"@progress/kendo-react-dropdowns": "14.5.0-develop.9",
|
|
37
|
+
"@progress/kendo-react-form": "14.5.0-develop.9",
|
|
38
|
+
"@progress/kendo-react-inputs": "14.5.0-develop.9",
|
|
39
|
+
"@progress/kendo-react-intl": "14.5.0-develop.9",
|
|
40
|
+
"@progress/kendo-react-popup": "14.5.0-develop.9",
|
|
41
|
+
"@progress/kendo-svg-icons": "^4.9.0 || ^5.0.0",
|
|
42
42
|
"react": "^18.0.0 || ^19.0.0",
|
|
43
43
|
"react-dom": "^18.0.0 || ^19.0.0"
|
|
44
44
|
},
|
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
"package": {
|
|
68
68
|
"productName": "KendoReact",
|
|
69
69
|
"productCode": "KENDOUIREACT",
|
|
70
|
-
"publishDate":
|
|
70
|
+
"publishDate": 1778599783,
|
|
71
71
|
"licensingDocsUrl": "https://www.telerik.com/kendo-react-ui"
|
|
72
72
|
}
|
|
73
73
|
},
|
|
@@ -77,5 +77,10 @@
|
|
|
77
77
|
"repository": {
|
|
78
78
|
"type": "git",
|
|
79
79
|
"url": "git+https://github.com/telerik/kendo-react.git"
|
|
80
|
+
},
|
|
81
|
+
"peerDependenciesMeta": {
|
|
82
|
+
"@progress/kendo-svg-icons": {
|
|
83
|
+
"optional": true
|
|
84
|
+
}
|
|
80
85
|
}
|
|
81
86
|
}
|
|
@@ -5,4 +5,4 @@
|
|
|
5
5
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const P=require("react"),U=require("prop-types"),$=require("../../components/BaseView.js"),
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const P=require("react"),U=require("prop-types"),$=require("../../components/BaseView.js"),A=require("../common/VerticalResourceIterator.js"),n=require("../../messages/index.js"),L=require("../../constants/index.js"),l=require("@progress/kendo-date-math"),N=require("@progress/kendo-react-common"),V=require("@progress/kendo-react-intl"),j=require("../../services/rangeService.js"),W=require("../../services/occurrenceService.js"),F=require("../../services/itemsService.js"),R=require("../../utils/index.js"),Y=require("../../tasks/SchedulerEditTask.js"),G=require("../../slots/SchedulerEditSlot.js"),D=require("../../context/SchedulerContext.js"),M=require("../../context/SchedulerResourceIteratorContext.js"),w=require("@progress/kendo-svg-icons"),K=require("../../services/slotsService.js"),z=require("../../hooks/useCellSync.js");function Z(t){const c=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const a in t)if(a!=="default"){const r=Object.getOwnPropertyDescriptor(t,a);Object.defineProperty(c,a,r.get?r:{enumerable:!0,get:()=>t[a]})}}return c.default=t,Object.freeze(c)}const e=Z(P),q=t=>{const{group:c,timezone:a,resources:r}=D.useSchedulerPropsContext(),T=t.editTask||Y.SchedulerEditTask,v=t.editSlot||G.SchedulerEditSlot,m=e.useRef(null),i=N.useDir(m),u=V.useInternationalization(),d=V.useLocalization(),[f]=D.useSchedulerDataContext(),y=D.useSchedulerGroupsContext(),_=D.useSchedulerFieldsContext(),s=D.useSchedulerDateRangeContext(),g=e.useMemo(()=>j.toRanges(s,{step:l.MS_PER_DAY,timezone:a}),[s.start.getTime(),s.end.getTime(),a]),h=e.useMemo(()=>K.toSlots(s,{step:l.MS_PER_DAY},{groups:y,ranges:g}),[s.start.getTime(),s.end.getTime(),a,y,g]),I=e.useMemo(()=>W.toOccurrences(f,{dateRange:s,fields:_,timezone:a}),[f,s.start.getTime(),s.end.getTime(),_,a]),k=e.useMemo(()=>F.toItems(I,{timezone:a},{groups:y,ranges:g}),[I,a,y,g]),p=e.useMemo(()=>N.classNames("k-scheduler-agendaview",t.className),[t.className]);return z.useCellSync({element:m,selector:".k-scheduler-datecolumn",explicitDepth:!1}),z.useCellSync({element:m,selector:".k-scheduler-timecolumn",explicitDepth:!1}),e.useMemo(()=>R.mapItemsToSlots(k,h,!0),[k,h]),e.useMemo(()=>R.mapSlotsToItems(k,h,!0),[k,h]),e.createElement($.BaseView,{ref:m,id:t.id,style:t.style,className:p,props:t,slots:k,ranges:g},e.createElement("div",{className:"k-scheduler-head"},e.createElement(A.VerticalResourceIterator,{resources:r,group:c},e.createElement(M.SchedulerResourceIteratorContext.Consumer,null,({groupIndex:S})=>e.createElement("div",{className:"k-scheduler-row",key:S},e.createElement("div",{className:"k-scheduler-cell k-heading-cell k-group-cell k-scheduler-datecolumn"},d.toLanguageString(n.dateTitle,n.messages[n.dateTitle])),e.createElement("div",{className:"k-scheduler-cell k-heading-cell k-group-cell k-scheduler-timecolumn"},d.toLanguageString(n.timeTitle,n.messages[n.timeTitle])),e.createElement("div",{className:"k-scheduler-cell k-heading-cell k-scheduler-eventcolumn"},d.toLanguageString(n.eventTitle,n.messages[n.eventTitle])))))),e.createElement("div",{className:"k-scheduler-body"},e.createElement(A.VerticalResourceIterator,{resources:r,group:c,nested:!0},e.createElement(M.SchedulerResourceIteratorContext.Consumer,null,({groupIndex:S})=>h.filter(o=>o.group.index===(S||0)).map((o,C,O)=>e.createElement("div",{className:"k-scheduler-row k-scheduler-content",key:`${S}:${C}`},e.createElement(v,{...o,editable:t.editable,row:O.length*(S||0)+C,col:0,slot:t.slot,viewSlot:t.viewSlot,className:"k-scheduler-datecolumn k-group-cell"},e.createElement("div",null,e.createElement("strong",{className:"k-scheduler-agendaday"},u.formatDate(o.zonedStart,"dd")),e.createElement("em",{className:"k-scheduler-agendaweek"},u.formatDate(o.zonedStart,"EEEE")),e.createElement("span",{className:"k-scheduler-agendadate"},u.formatDate(o.zonedStart,"y")))),e.createElement("div",{className:"k-scheduler-cell k-group-content"},o.items.length?o.items.map((E,b)=>e.createElement("div",{className:"k-scheduler-row",key:b},e.createElement("div",{className:"k-scheduler-cell k-scheduler-timecolumn"},e.createElement("div",null,E.tail&&e.createElement(N.IconWrap,{name:i==="rtl"?"chevron-right":"chevron-left",icon:i==="rtl"?w.chevronRightIcon:w.chevronLeftIcon}),E.isAllDay?d.toLanguageString(n.allDay,n.messages[n.allDay]):B(u,E),E.head&&e.createElement(N.IconWrap,{name:i==="rtl"?"chevron-left":"chevron-right",icon:i==="rtl"?w.chevronLeftIcon:w.chevronRightIcon}))),e.createElement("div",{className:"k-scheduler-cell"},e.createElement(T,{key:`${C}:${b}`,...E,onDataAction:t.onDataAction,task:t.task,viewTask:t.viewTask,editable:t.editable})))):e.createElement("div",{className:"k-scheduler-cell k-heading-cell k-group-cell"},d.toLanguageString(n.noEvents,n.messages[n.noEvents])))))))))},B=(t,c)=>{let a="{0:t}-{1:t}";return c.head?a="{0:t}":c.tail&&(a="{1:t}"),t.format(a,c.zonedStart,c.zonedEnd)},x=t=>l.getDate(t),H=(t,c)=>l.getDate(l.addDays(t,c||1)),J=({intl:t,date:c,numberOfDays:a=1,timezone:r})=>{const T=l.ZonedDate.fromLocalDate(c,r),v=a===L.DAYS_IN_WEEK_COUNT?x(l.firstDayInWeek(T,t.firstDay())):x(T),m=H(v,a),i=l.ZonedDate.fromUTCDate(R.toUTCDateTime(v),r),u=l.ZonedDate.fromUTCDate(R.toUTCDateTime(m),r),d=new Date(i.getTime()),f=new Date(u.getTime());return{start:d,end:f,zonedStart:i,zonedEnd:u}},Q={name:"agenda",title:t=>t.toLanguageString(n.agendaViewTitle,n.messages[n.agendaViewTitle]),dateRange:J,selectedDateFormat:"{0:D} - {1:D}",selectedShortDateFormat:"{0:d} - {1:d}",slotDuration:1440,slotDivision:1,numberOfDays:L.DAYS_IN_WEEK_COUNT},X={title:U.any};q.propTypes=X;q.displayName="KendoReactSchedulerAgendaView";exports.AgendaView=q;exports.agendaViewDefaultProps=Q;
|
|
@@ -9,37 +9,37 @@ import * as e from "react";
|
|
|
9
9
|
import B from "prop-types";
|
|
10
10
|
import { BaseView as Z } from "../../components/BaseView.mjs";
|
|
11
11
|
import { VerticalResourceIterator as R } from "../common/VerticalResourceIterator.mjs";
|
|
12
|
-
import { dateTitle as C, messages as d, timeTitle as
|
|
12
|
+
import { dateTitle as C, messages as d, timeTitle as z, eventTitle as A, allDay as L, noEvents as _, agendaViewTitle as M } from "../../messages/index.mjs";
|
|
13
13
|
import { DAYS_IN_WEEK_COUNT as G } from "../../constants/index.mjs";
|
|
14
|
-
import { ZonedDate as
|
|
14
|
+
import { ZonedDate as N, firstDayInWeek as j, MS_PER_DAY as V, getDate as W, addDays as q } from "@progress/kendo-date-math";
|
|
15
15
|
import { useDir as H, classNames as J, IconWrap as I } from "@progress/kendo-react-common";
|
|
16
16
|
import { useInternationalization as Q, useLocalization as X } from "@progress/kendo-react-intl";
|
|
17
17
|
import { toRanges as ee } from "../../services/rangeService.mjs";
|
|
18
18
|
import { toOccurrences as te } from "../../services/occurrenceService.mjs";
|
|
19
19
|
import { toItems as ae } from "../../services/itemsService.mjs";
|
|
20
|
-
import { mapItemsToSlots as
|
|
21
|
-
import { SchedulerEditTask as
|
|
22
|
-
import { SchedulerEditSlot as
|
|
23
|
-
import { useSchedulerPropsContext as
|
|
20
|
+
import { mapItemsToSlots as re, mapSlotsToItems as le, toUTCDateTime as b } from "../../utils/index.mjs";
|
|
21
|
+
import { SchedulerEditTask as oe } from "../../tasks/SchedulerEditTask.mjs";
|
|
22
|
+
import { SchedulerEditSlot as ce } from "../../slots/SchedulerEditSlot.mjs";
|
|
23
|
+
import { useSchedulerPropsContext as ne, useSchedulerDataContext as se, useSchedulerGroupsContext as me, useSchedulerFieldsContext as ie, useSchedulerDateRangeContext as de } from "../../context/SchedulerContext.mjs";
|
|
24
24
|
import { SchedulerResourceIteratorContext as x } from "../../context/SchedulerResourceIteratorContext.mjs";
|
|
25
|
-
import {
|
|
25
|
+
import { chevronRightIcon as F, chevronLeftIcon as P } from "@progress/kendo-svg-icons";
|
|
26
26
|
import { toSlots as ue } from "../../services/slotsService.mjs";
|
|
27
27
|
import { useCellSync as U } from "../../hooks/useCellSync.mjs";
|
|
28
28
|
const K = (t) => {
|
|
29
|
-
const { group:
|
|
30
|
-
() => ee(
|
|
31
|
-
[
|
|
29
|
+
const { group: r, timezone: a, resources: m } = ne(), f = t.editTask || oe, D = t.editSlot || ce, i = e.useRef(null), c = H(i), n = Q(), s = X(), [T] = se(), S = me(), p = ie(), l = de(), u = e.useMemo(
|
|
30
|
+
() => ee(l, { step: V, timezone: a }),
|
|
31
|
+
[l.start.getTime(), l.end.getTime(), a]
|
|
32
32
|
), g = e.useMemo(
|
|
33
|
-
() => ue(
|
|
34
|
-
[
|
|
33
|
+
() => ue(l, { step: V }, { groups: S, ranges: u }),
|
|
34
|
+
[l.start.getTime(), l.end.getTime(), a, S, u]
|
|
35
35
|
), y = e.useMemo(
|
|
36
|
-
() => te(T, { dateRange:
|
|
37
|
-
[T,
|
|
36
|
+
() => te(T, { dateRange: l, fields: p, timezone: a }),
|
|
37
|
+
[T, l.start.getTime(), l.end.getTime(), p, a]
|
|
38
38
|
), h = e.useMemo(
|
|
39
39
|
() => ae(y, { timezone: a }, { groups: S, ranges: u }),
|
|
40
40
|
[y, a, S, u]
|
|
41
41
|
), O = e.useMemo(() => J("k-scheduler-agendaview", t.className), [t.className]);
|
|
42
|
-
return U({ element: i, selector: ".k-scheduler-datecolumn", explicitDepth: !1 }), U({ element: i, selector: ".k-scheduler-timecolumn", explicitDepth: !1 }), e.useMemo(() =>
|
|
42
|
+
return U({ element: i, selector: ".k-scheduler-datecolumn", explicitDepth: !1 }), U({ element: i, selector: ".k-scheduler-timecolumn", explicitDepth: !1 }), e.useMemo(() => re(h, g, !0), [h, g]), e.useMemo(() => le(h, g, !0), [h, g]), /* @__PURE__ */ e.createElement(
|
|
43
43
|
Z,
|
|
44
44
|
{
|
|
45
45
|
ref: i,
|
|
@@ -50,64 +50,64 @@ const K = (t) => {
|
|
|
50
50
|
slots: h,
|
|
51
51
|
ranges: u
|
|
52
52
|
},
|
|
53
|
-
/* @__PURE__ */ e.createElement("div", { className: "k-scheduler-head" }, /* @__PURE__ */ e.createElement(R, { resources: m, group:
|
|
54
|
-
/* @__PURE__ */ e.createElement("div", { className: "k-scheduler-body" }, /* @__PURE__ */ e.createElement(R, { resources: m, group:
|
|
53
|
+
/* @__PURE__ */ e.createElement("div", { className: "k-scheduler-head" }, /* @__PURE__ */ e.createElement(R, { resources: m, group: r }, /* @__PURE__ */ e.createElement(x.Consumer, null, ({ groupIndex: k }) => /* @__PURE__ */ e.createElement("div", { className: "k-scheduler-row", key: k }, /* @__PURE__ */ e.createElement("div", { className: "k-scheduler-cell k-heading-cell k-group-cell k-scheduler-datecolumn" }, s.toLanguageString(C, d[C])), /* @__PURE__ */ e.createElement("div", { className: "k-scheduler-cell k-heading-cell k-group-cell k-scheduler-timecolumn" }, s.toLanguageString(z, d[z])), /* @__PURE__ */ e.createElement("div", { className: "k-scheduler-cell k-heading-cell k-scheduler-eventcolumn" }, s.toLanguageString(A, d[A])))))),
|
|
54
|
+
/* @__PURE__ */ e.createElement("div", { className: "k-scheduler-body" }, /* @__PURE__ */ e.createElement(R, { resources: m, group: r, nested: !0 }, /* @__PURE__ */ e.createElement(x.Consumer, null, ({ groupIndex: k }) => g.filter((o) => o.group.index === (k || 0)).map((o, v, Y) => /* @__PURE__ */ e.createElement(
|
|
55
55
|
"div",
|
|
56
56
|
{
|
|
57
57
|
className: "k-scheduler-row k-scheduler-content",
|
|
58
|
-
key: `${k}:${
|
|
58
|
+
key: `${k}:${v}`
|
|
59
59
|
},
|
|
60
60
|
/* @__PURE__ */ e.createElement(
|
|
61
61
|
D,
|
|
62
62
|
{
|
|
63
|
-
...
|
|
63
|
+
...o,
|
|
64
64
|
editable: t.editable,
|
|
65
|
-
row: Y.length * (k || 0) +
|
|
65
|
+
row: Y.length * (k || 0) + v,
|
|
66
66
|
col: 0,
|
|
67
67
|
slot: t.slot,
|
|
68
68
|
viewSlot: t.viewSlot,
|
|
69
69
|
className: "k-scheduler-datecolumn k-group-cell"
|
|
70
70
|
},
|
|
71
|
-
/* @__PURE__ */ e.createElement("div", null, /* @__PURE__ */ e.createElement("strong", { className: "k-scheduler-agendaday" },
|
|
71
|
+
/* @__PURE__ */ e.createElement("div", null, /* @__PURE__ */ e.createElement("strong", { className: "k-scheduler-agendaday" }, n.formatDate(o.zonedStart, "dd")), /* @__PURE__ */ e.createElement("em", { className: "k-scheduler-agendaweek" }, n.formatDate(o.zonedStart, "EEEE")), /* @__PURE__ */ e.createElement("span", { className: "k-scheduler-agendadate" }, n.formatDate(o.zonedStart, "y")))
|
|
72
72
|
),
|
|
73
|
-
/* @__PURE__ */ e.createElement("div", { className: "k-scheduler-cell k-group-content" },
|
|
73
|
+
/* @__PURE__ */ e.createElement("div", { className: "k-scheduler-cell k-group-content" }, o.items.length ? o.items.map((E, w) => /* @__PURE__ */ e.createElement("div", { className: "k-scheduler-row", key: w }, /* @__PURE__ */ e.createElement("div", { className: "k-scheduler-cell k-scheduler-timecolumn" }, /* @__PURE__ */ e.createElement("div", null, E.tail && /* @__PURE__ */ e.createElement(
|
|
74
74
|
I,
|
|
75
75
|
{
|
|
76
|
-
name:
|
|
77
|
-
icon:
|
|
76
|
+
name: c === "rtl" ? "chevron-right" : "chevron-left",
|
|
77
|
+
icon: c === "rtl" ? F : P
|
|
78
78
|
}
|
|
79
|
-
), E.isAllDay ?
|
|
79
|
+
), E.isAllDay ? s.toLanguageString(
|
|
80
80
|
L,
|
|
81
81
|
d[L]
|
|
82
|
-
) : ge(
|
|
82
|
+
) : ge(n, E), E.head && /* @__PURE__ */ e.createElement(
|
|
83
83
|
I,
|
|
84
84
|
{
|
|
85
|
-
name:
|
|
86
|
-
icon:
|
|
85
|
+
name: c === "rtl" ? "chevron-left" : "chevron-right",
|
|
86
|
+
icon: c === "rtl" ? P : F
|
|
87
87
|
}
|
|
88
88
|
))), /* @__PURE__ */ e.createElement("div", { className: "k-scheduler-cell" }, /* @__PURE__ */ e.createElement(
|
|
89
89
|
f,
|
|
90
90
|
{
|
|
91
|
-
key: `${
|
|
91
|
+
key: `${v}:${w}`,
|
|
92
92
|
...E,
|
|
93
93
|
onDataAction: t.onDataAction,
|
|
94
94
|
task: t.task,
|
|
95
95
|
viewTask: t.viewTask,
|
|
96
96
|
editable: t.editable
|
|
97
97
|
}
|
|
98
|
-
)))) : /* @__PURE__ */ e.createElement("div", { className: "k-scheduler-cell k-heading-cell k-group-cell" },
|
|
98
|
+
)))) : /* @__PURE__ */ e.createElement("div", { className: "k-scheduler-cell k-heading-cell k-group-cell" }, s.toLanguageString(_, d[_])))
|
|
99
99
|
)))))
|
|
100
100
|
);
|
|
101
|
-
}, ge = (t,
|
|
101
|
+
}, ge = (t, r) => {
|
|
102
102
|
let a = "{0:t}-{1:t}";
|
|
103
|
-
return
|
|
104
|
-
}, $ = (t) => W(t), he = (t,
|
|
105
|
-
const f =
|
|
103
|
+
return r.head ? a = "{0:t}" : r.tail && (a = "{1:t}"), t.format(a, r.zonedStart, r.zonedEnd);
|
|
104
|
+
}, $ = (t) => W(t), he = (t, r) => W(q(t, r || 1)), ke = ({ intl: t, date: r, numberOfDays: a = 1, timezone: m }) => {
|
|
105
|
+
const f = N.fromLocalDate(r, m), D = $(a === G ? j(f, t.firstDay()) : f), i = he(D, a), c = N.fromUTCDate(b(D), m), n = N.fromUTCDate(b(i), m), s = new Date(c.getTime()), T = new Date(n.getTime());
|
|
106
106
|
return {
|
|
107
|
-
start:
|
|
107
|
+
start: s,
|
|
108
108
|
end: T,
|
|
109
|
-
zonedStart:
|
|
110
|
-
zonedEnd:
|
|
109
|
+
zonedStart: c,
|
|
110
|
+
zonedEnd: n
|
|
111
111
|
};
|
|
112
112
|
}, xe = {
|
|
113
113
|
name: "agenda",
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
*-------------------------------------------------------------------------------------------
|
|
4
|
-
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
5
|
-
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
-
*-------------------------------------------------------------------------------------------
|
|
7
|
-
*/
|
|
8
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react"),u=require("@progress/kendo-react-buttons"),r=require("@progress/kendo-react-intl"),s=require("../../../context/SchedulerContext.js");function m(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const c=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,c.get?c:{enumerable:!0,get:()=>e[t]})}}return n.default=e,Object.freeze(n)}const i=m(a),b=e=>{const[n,t]=s.useSchedulerActiveViewContext(),c=r.useLocalization(),o=i.useMemo(()=>typeof e.view.title=="function"?e.view.title.call(void 0,c):e.view.title,[e.view.title,c]),l=i.useCallback(()=>{e.view.name&&t(e.view.name)},[t,e.view.name]);return i.createElement(u.Button,{className:"k-toolbar-button",role:"button",type:"button",tabIndex:-1,togglable:!0,selected:e.view.name===n,onClick:l},o)};exports.ViewSelectorItem=b;
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
*-------------------------------------------------------------------------------------------
|
|
4
|
-
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
5
|
-
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
-
*-------------------------------------------------------------------------------------------
|
|
7
|
-
*/
|
|
8
|
-
import * as t from "react";
|
|
9
|
-
import { Button as c } from "@progress/kendo-react-buttons";
|
|
10
|
-
import { useLocalization as m } from "@progress/kendo-react-intl";
|
|
11
|
-
import { useSchedulerActiveViewContext as u } from "../../../context/SchedulerContext.mjs";
|
|
12
|
-
const b = (e) => {
|
|
13
|
-
const [l, i] = u(), o = m(), a = t.useMemo(
|
|
14
|
-
() => typeof e.view.title == "function" ? e.view.title.call(void 0, o) : e.view.title,
|
|
15
|
-
[e.view.title, o]
|
|
16
|
-
), n = t.useCallback(() => {
|
|
17
|
-
e.view.name && i(e.view.name);
|
|
18
|
-
}, [i, e.view.name]);
|
|
19
|
-
return /* @__PURE__ */ t.createElement(
|
|
20
|
-
c,
|
|
21
|
-
{
|
|
22
|
-
className: "k-toolbar-button",
|
|
23
|
-
role: "button",
|
|
24
|
-
type: "button",
|
|
25
|
-
tabIndex: -1,
|
|
26
|
-
togglable: !0,
|
|
27
|
-
selected: e.view.name === l,
|
|
28
|
-
onClick: n
|
|
29
|
-
},
|
|
30
|
-
a
|
|
31
|
-
);
|
|
32
|
-
};
|
|
33
|
-
export {
|
|
34
|
-
b as ViewSelectorItem
|
|
35
|
-
};
|