@sunsama/event-calendar 0.13.5 → 0.13.6
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/lib/commonjs/components/edit-event-container.js +14 -10
- package/lib/commonjs/components/edit-event-container.js.map +1 -1
- package/lib/commonjs/components/timed-event-container.js +13 -8
- package/lib/commonjs/components/timed-event-container.js.map +1 -1
- package/lib/commonjs/components/zoom-provider.js +4 -1
- package/lib/commonjs/components/zoom-provider.js.map +1 -1
- package/lib/commonjs/utils/pan-edit-event-gesture.js +36 -33
- package/lib/commonjs/utils/pan-edit-event-gesture.js.map +1 -1
- package/lib/module/components/edit-event-container.js +14 -10
- package/lib/module/components/edit-event-container.js.map +1 -1
- package/lib/module/components/timed-event-container.js +13 -8
- package/lib/module/components/timed-event-container.js.map +1 -1
- package/lib/module/components/zoom-provider.js +4 -1
- package/lib/module/components/zoom-provider.js.map +1 -1
- package/lib/module/utils/pan-edit-event-gesture.js +36 -33
- package/lib/module/utils/pan-edit-event-gesture.js.map +1 -1
- package/lib/typescript/commonjs/components/edit-event-container.d.ts.map +1 -1
- package/lib/typescript/commonjs/components/timed-event-container.d.ts.map +1 -1
- package/lib/typescript/commonjs/components/zoom-provider.d.ts.map +1 -1
- package/lib/typescript/commonjs/utils/pan-edit-event-gesture.d.ts.map +1 -1
- package/lib/typescript/module/components/edit-event-container.d.ts.map +1 -1
- package/lib/typescript/module/components/timed-event-container.d.ts.map +1 -1
- package/lib/typescript/module/components/zoom-provider.d.ts.map +1 -1
- package/lib/typescript/module/utils/pan-edit-event-gesture.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/edit-event-container.tsx +19 -11
- package/src/components/timed-event-container.tsx +14 -8
- package/src/components/zoom-provider.tsx +4 -1
- package/src/utils/pan-edit-event-gesture.ts +6 -4
|
@@ -64,9 +64,9 @@ const EditEventContainer = /*#__PURE__*/(0, _react.memo)(({
|
|
|
64
64
|
autoScrollOffset,
|
|
65
65
|
positionY: currentY
|
|
66
66
|
});
|
|
67
|
-
const calculateHeight = (0, _react.useCallback)((
|
|
68
|
-
const start = new Date(
|
|
69
|
-
const end = new Date(
|
|
67
|
+
const calculateHeight = (0, _react.useCallback)((startStr, endStr, zoom) => {
|
|
68
|
+
const start = new Date(startStr);
|
|
69
|
+
const end = new Date(endStr);
|
|
70
70
|
|
|
71
71
|
// We can't use the position.height as that has a minimum time of 30 minutes, which might not be relevant to
|
|
72
72
|
// our actual duration, meaning we'll have to calculate the height based on the start and end times
|
|
@@ -76,17 +76,21 @@ const EditEventContainer = /*#__PURE__*/(0, _react.memo)(({
|
|
|
76
76
|
if (!editingEvent) {
|
|
77
77
|
return;
|
|
78
78
|
}
|
|
79
|
-
calculateHeight(editingEvent.event, zoomLevel.value);
|
|
79
|
+
calculateHeight(editingEvent.event.start, editingEvent.event.end, zoomLevel.value);
|
|
80
80
|
currentY.value = editingEvent.position.top * zoomLevel.value;
|
|
81
81
|
}, [height, editingEvent, currentY, zoomLevel, timezone, calculateHeight]);
|
|
82
|
+
const eventStart = editingEvent?.event.start;
|
|
83
|
+
const eventEnd = editingEvent?.event.end;
|
|
84
|
+
const eventTop = editingEvent?.position.top;
|
|
82
85
|
(0, _reactNativeReanimated.useAnimatedReaction)(() => zoomLevel.value, zoom => {
|
|
83
|
-
if (
|
|
84
|
-
(0, _reactNativeReanimated.runOnJS)(calculateHeight)(
|
|
85
|
-
currentY.value =
|
|
86
|
+
if (eventStart && eventEnd) {
|
|
87
|
+
(0, _reactNativeReanimated.runOnJS)(calculateHeight)(eventStart, eventEnd, zoom);
|
|
88
|
+
currentY.value = (eventTop || 0) * zoom;
|
|
86
89
|
}
|
|
87
|
-
}, [height, currentY, zoomLevel,
|
|
90
|
+
}, [height, currentY, zoomLevel, eventStart, eventEnd, eventTop]);
|
|
91
|
+
const hasEditingEvent = !!editingEvent;
|
|
88
92
|
const styleAnimatedPosition = (0, _reactNativeReanimated.useAnimatedStyle)(() => {
|
|
89
|
-
if (!
|
|
93
|
+
if (!hasEditingEvent) {
|
|
90
94
|
return {
|
|
91
95
|
opacity: 0
|
|
92
96
|
};
|
|
@@ -99,7 +103,7 @@ const EditEventContainer = /*#__PURE__*/(0, _react.memo)(({
|
|
|
99
103
|
opacity: 1,
|
|
100
104
|
width: "100%"
|
|
101
105
|
};
|
|
102
|
-
}, [
|
|
106
|
+
}, [hasEditingEvent, height, currentY]);
|
|
103
107
|
const startY = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
104
108
|
const updatedStart = (0, _reactNativeReanimated.useDerivedValue)(() => {
|
|
105
109
|
const rawMinutes = currentY.value / zoomLevel.value;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_useIsEditing","_globals","_reactNativeGestureHandler","_reactNativeReanimated","_interopRequireWildcard","_useAutoScroll","_interopRequireDefault","_types","_panEditEventGesture","_dragBar","_reactNative","_momentTimezone","_jsxRuntime","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","EditEventContainer","memo","refNewEvent","currentY","isDragging","autoScrollOffset","isEditing","editingEvent","setIsEditing","updateEditing","refMethods","useIsEditing","maximumHour","fiveMinuteInterval","renderDragBars","zoomLevel","renderEvent","timezone","dayDate","scrollY","scrollRef","scrollViewHeight","useContext","ConfigProvider","height","useSharedValue","bottomEdgeY","useDerivedValue","value","autoScrollActive","useAutoScroll","topEdgeY","isActive","positionY","calculateHeight","useCallback","
|
|
1
|
+
{"version":3,"names":["_react","require","_useIsEditing","_globals","_reactNativeGestureHandler","_reactNativeReanimated","_interopRequireWildcard","_useAutoScroll","_interopRequireDefault","_types","_panEditEventGesture","_dragBar","_reactNative","_momentTimezone","_jsxRuntime","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","EditEventContainer","memo","refNewEvent","currentY","isDragging","autoScrollOffset","isEditing","editingEvent","setIsEditing","updateEditing","refMethods","useIsEditing","maximumHour","fiveMinuteInterval","renderDragBars","zoomLevel","renderEvent","timezone","dayDate","scrollY","scrollRef","scrollViewHeight","useContext","ConfigProvider","height","useSharedValue","bottomEdgeY","useDerivedValue","value","autoScrollActive","useAutoScroll","topEdgeY","isActive","positionY","calculateHeight","useCallback","startStr","endStr","zoom","start","Date","end","valueOf","useEffect","event","position","top","eventStart","eventEnd","eventTop","useAnimatedReaction","runOnJS","hasEditingEvent","styleAnimatedPosition","useAnimatedStyle","opacity","marginLeft","StyleSheet","hairlineWidth","Math","max","MIN_EVENT_HEIGHT_PX","width","startY","updatedStart","rawMinutes","round","updatedEnd","endEventEditing","newStart","newEnd","moment","tz","minutes","format","gestureTap","Gesture","Tap","numberOfTaps","onStart","refMainContainer","useRef","useImperativeHandle","endEditing","startEditing","layout","jsx","GestureDetector","gesture","Simultaneous","gesturePan","undefined","withRef","children","jsxs","View","style","EventExtend","None","render","bottom","_default","exports"],"sourceRoot":"../../../src","sources":["components/edit-event-container.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -64,32 +64,37 @@ const TimedEventContainerInner = ({
|
|
|
64
64
|
startEditing();
|
|
65
65
|
}, [initialEventEdit, layout.event.id, startEditing]);
|
|
66
66
|
const gestures = _reactNativeGestureHandler.Gesture.Exclusive((0, _doubleTapResetZoomGesture.default)(zoomLevel, initialZoomLevel, onZoomChange), gestureTap, (0, _panEditEventGesture.default)(startY, top, currentY, zoomLevel, maximumHour, height, refNewEvent, fiveMinuteInterval, isEditing, startEditing, isDragging, autoScrollOffset).activateAfterLongPress(500));
|
|
67
|
+
const eventStart = layout.event.start;
|
|
68
|
+
const eventEnd = layout.event.end;
|
|
67
69
|
(0, _reactNativeReanimated.useAnimatedReaction)(() => zoomLevel.value, newZoomLevel => {
|
|
68
|
-
const start = new Date(
|
|
69
|
-
const end = new Date(
|
|
70
|
+
const start = new Date(eventStart);
|
|
71
|
+
const end = new Date(eventEnd);
|
|
70
72
|
const diff = (end.valueOf() - start.valueOf()) / 60_000;
|
|
71
73
|
height.value = Math.max(_globals.MIN_EVENT_HEIGHT_PX, newZoomLevel * diff);
|
|
72
|
-
}, [
|
|
74
|
+
}, [eventStart, eventEnd]);
|
|
73
75
|
(0, _reactNativeReanimated.useAnimatedReaction)(() => zoomLevel.value, newZoomLevel => {
|
|
74
76
|
top.value = newZoomLevel * layout.position.top;
|
|
75
77
|
}, [layout.position.top]);
|
|
76
78
|
const render = (0, _react.useMemo)(() => renderEvent(layout.event, _types.EventExtend.None, height), [height, layout.event, renderEvent]);
|
|
79
|
+
const eventId = layout.event.id;
|
|
80
|
+
const layoutPosition = layout.position;
|
|
81
|
+
const isEditingEventId = isEditing?.event.id;
|
|
77
82
|
const stylePosition = (0, _reactNativeReanimated.useAnimatedStyle)(() => {
|
|
78
83
|
const basePosition = {
|
|
79
84
|
position: "absolute",
|
|
80
85
|
height: height.value,
|
|
81
86
|
top: top.value,
|
|
82
87
|
opacity: 1,
|
|
83
|
-
width:
|
|
84
|
-
marginLeft:
|
|
88
|
+
width: layoutPosition.width,
|
|
89
|
+
marginLeft: layoutPosition.marginLeft,
|
|
85
90
|
// This is to prevent the event from being clickable while editing
|
|
86
|
-
pointerEvents:
|
|
91
|
+
pointerEvents: isEditingEventId ? "none" : "auto"
|
|
87
92
|
};
|
|
88
|
-
if (
|
|
93
|
+
if (isEditingEventId === eventId) {
|
|
89
94
|
basePosition.opacity = 0.5;
|
|
90
95
|
}
|
|
91
96
|
return basePosition;
|
|
92
|
-
}, [
|
|
97
|
+
}, [layoutPosition, isEditingEventId, eventId]);
|
|
93
98
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeGestureHandler.GestureDetector, {
|
|
94
99
|
gesture: gestures,
|
|
95
100
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeReanimated","_interopRequireWildcard","require","_globals","_react","_reactNativeGestureHandler","_reactNative","_useIsEditing","_panEditEventGesture","_interopRequireDefault","_doubleTapResetZoomGesture","_types","_jsxRuntime","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","TimedEventContainerInner","layout","refNewEvent","currentY","isDragging","autoScrollOffset","setIsEditing","isEditing","useIsEditing","onPressEvent","maximumHour","fiveMinuteInterval","zoomLevel","renderEvent","initialZoomLevel","onZoomChange","initialEventEdit","useContext","ConfigProvider","height","useSharedValue","top","startEditing","useCallback","onPressOverride","event","gestureTap","Gesture","Tap","enabled","onStart","runOnJS","startY","initialRender","useRef","useEffect","current","id","gestures","Exclusive","doubleTapGesture","gesturePan","activateAfterLongPress","
|
|
1
|
+
{"version":3,"names":["_reactNativeReanimated","_interopRequireWildcard","require","_globals","_react","_reactNativeGestureHandler","_reactNative","_useIsEditing","_panEditEventGesture","_interopRequireDefault","_doubleTapResetZoomGesture","_types","_jsxRuntime","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","TimedEventContainerInner","layout","refNewEvent","currentY","isDragging","autoScrollOffset","setIsEditing","isEditing","useIsEditing","onPressEvent","maximumHour","fiveMinuteInterval","zoomLevel","renderEvent","initialZoomLevel","onZoomChange","initialEventEdit","useContext","ConfigProvider","height","useSharedValue","top","startEditing","useCallback","onPressOverride","event","gestureTap","Gesture","Tap","enabled","onStart","runOnJS","startY","initialRender","useRef","useEffect","current","id","gestures","Exclusive","doubleTapGesture","gesturePan","activateAfterLongPress","eventStart","start","eventEnd","end","useAnimatedReaction","value","newZoomLevel","Date","diff","valueOf","Math","max","MIN_EVENT_HEIGHT_PX","position","render","useMemo","EventExtend","None","eventId","layoutPosition","isEditingEventId","stylePosition","useAnimatedStyle","basePosition","opacity","width","marginLeft","pointerEvents","jsx","GestureDetector","gesture","children","View","style","styles","hairline","StyleSheet","create","marginHorizontal","hairlineWidth","flex","arePropsEqual","prev","next","pl","nl","title","calendarId","isAllDay","collisions","total","order","TimedEventContainer","memo","_default","exports"],"sourceRoot":"../../../src","sources":["components/timed-event-container.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -32,7 +32,10 @@ function ZoomProvider({
|
|
|
32
32
|
maximumHour,
|
|
33
33
|
onZoomChange
|
|
34
34
|
} = (0, _react.useContext)(_globals.ConfigProvider);
|
|
35
|
-
|
|
35
|
+
// Always overwritten in onStart before onUpdate reads it, so the initial
|
|
36
|
+
// value here is never actually used — avoids reading zoomLevel.value
|
|
37
|
+
// during render, which Reanimated strict mode warns about.
|
|
38
|
+
const previewScale = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
36
39
|
const focalTime = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
37
40
|
const screenFocalY = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
38
41
|
const pinchGesture = _reactNativeGestureHandler.Gesture.Pinch().onStart(event => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeReanimated","_interopRequireWildcard","require","_reactNativeGestureHandler","_react","_globals","_reactNative","_doubleTapResetZoomGesture","_interopRequireDefault","_jsxRuntime","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","fraction","ZOOM_STEP","ZoomProvider","children","scrollY","scrollRef","scrollViewHeight","zoomLevel","defaultZoomLevel","maxZoomLevel","minZoomLevel","maximumHour","onZoomChange","useContext","ConfigProvider","previewScale","useSharedValue","focalTime","screenFocalY","pinchGesture","Gesture","Pinch","onStart","event","value","focalY","onUpdate","rawScale","scale","clamped","Math","min","max","newZoom","round","maxScrollY","newScrollY","scrollTo","onEnd","runOnJS","useAnimatedReaction","zoom","combinedGesture","Simultaneous","doubleTapGesture","jsx","GestureDetector","gesture","View","style","styles","container","StyleSheet","create","flex"],"sourceRoot":"../../../src","sources":["components/zoom-provider.tsx"],"mappings":";;;;;;AAAA,IAAAA,sBAAA,GAAAC,uBAAA,CAAAC,OAAA;AAQA,IAAAC,0BAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,YAAA,GAAAJ,OAAA;AACA,IAAAK,0BAAA,GAAAC,sBAAA,CAAAN,OAAA;AAAsE,IAAAO,WAAA,GAAAP,OAAA;AAAA,SAAAM,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,yBAAAH,CAAA,6BAAAI,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAD,wBAAA,YAAAA,CAAAH,CAAA,WAAAA,CAAA,GAAAM,CAAA,GAAAD,CAAA,KAAAL,CAAA;AAAA,SAAAT,wBAAAS,CAAA,EAAAK,CAAA,SAAAA,CAAA,IAAAL,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAE,OAAA,EAAAF,CAAA,QAAAM,CAAA,GAAAH,wBAAA,CAAAE,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAC,GAAA,CAAAP,CAAA,UAAAM,CAAA,CAAAE,GAAA,CAAAR,CAAA,OAAAS,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAf,CAAA,oBAAAe,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAe,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAd,CAAA,EAAAe,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAf,CAAA,CAAAe,CAAA,YAAAN,CAAA,CAAAP,OAAA,GAAAF,CAAA,EAAAM,CAAA,IAAAA,CAAA,CAAAa,GAAA,CAAAnB,CAAA,EAAAS,CAAA,GAAAA,CAAA;AAStE;AACA,MAAMW,QAAQ,GAAG,GAAG;AACpB;AACA,MAAMC,SAAS,GAAG,KAAK;AAER,SAASC,YAAYA,CAAC;EACnCC,QAAQ;EACRC,OAAO;EACPC,SAAS;EACTC;AACiB,CAAC,EAAE;EACpB,MAAM;IACJC,SAAS;IACTC,gBAAgB;IAChBC,YAAY;IACZC,YAAY;IACZC,WAAW;IACXC;EACF,CAAC,GAAG,IAAAC,iBAAU,EAACC,uBAAc,CAAC;EAC9B,MAAMC,YAAY,GAAG,IAAAC,qCAAc,
|
|
1
|
+
{"version":3,"names":["_reactNativeReanimated","_interopRequireWildcard","require","_reactNativeGestureHandler","_react","_globals","_reactNative","_doubleTapResetZoomGesture","_interopRequireDefault","_jsxRuntime","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","fraction","ZOOM_STEP","ZoomProvider","children","scrollY","scrollRef","scrollViewHeight","zoomLevel","defaultZoomLevel","maxZoomLevel","minZoomLevel","maximumHour","onZoomChange","useContext","ConfigProvider","previewScale","useSharedValue","focalTime","screenFocalY","pinchGesture","Gesture","Pinch","onStart","event","value","focalY","onUpdate","rawScale","scale","clamped","Math","min","max","newZoom","round","maxScrollY","newScrollY","scrollTo","onEnd","runOnJS","useAnimatedReaction","zoom","combinedGesture","Simultaneous","doubleTapGesture","jsx","GestureDetector","gesture","View","style","styles","container","StyleSheet","create","flex"],"sourceRoot":"../../../src","sources":["components/zoom-provider.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -6,41 +6,44 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _reactNativeGestureHandler = require("react-native-gesture-handler");
|
|
8
8
|
var _reactNativeReanimated = require("react-native-reanimated");
|
|
9
|
-
const gesturePan = (startY, top, currentY, zoomLevel, maximumHour, height, refNewEvent, fiveMinuteInterval, isEditing, startEditing, isDragging, autoScrollOffset) =>
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
const gesturePan = (startY, top, currentY, zoomLevel, maximumHour, height, refNewEvent, fiveMinuteInterval, isEditing, startEditing, isDragging, autoScrollOffset) => {
|
|
10
|
+
const hasIsEditing = !!isEditing;
|
|
11
|
+
return _reactNativeGestureHandler.Gesture.Pan().blocksExternalGesture(refNewEvent).onStart(() => {
|
|
12
|
+
if (startEditing) {
|
|
13
|
+
if (hasIsEditing) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
if (!hasIsEditing) {
|
|
17
|
+
(0, _reactNativeReanimated.runOnJS)(startEditing)();
|
|
18
|
+
}
|
|
13
19
|
}
|
|
14
|
-
|
|
15
|
-
|
|
20
|
+
startY.value = top.value;
|
|
21
|
+
if (isDragging) isDragging.value = true;
|
|
22
|
+
if (autoScrollOffset) autoScrollOffset.value = 0;
|
|
23
|
+
}).onUpdate(({
|
|
24
|
+
translationY
|
|
25
|
+
}) => {
|
|
26
|
+
const effectiveTranslation = translationY + (autoScrollOffset ? autoScrollOffset.value : 0);
|
|
27
|
+
let freshUpdatedStartTime;
|
|
28
|
+
if (fiveMinuteInterval) {
|
|
29
|
+
// Set the updated time in 5 minute increments but make sure we never go lower
|
|
30
|
+
// than the first minute of the day
|
|
31
|
+
freshUpdatedStartTime = Math.max(0, startY.value + Math.floor(effectiveTranslation / zoomLevel.value / 5) * (zoomLevel.value * 5));
|
|
32
|
+
} else {
|
|
33
|
+
// Set the updated time in 1 minute increments but make sure we never go lower
|
|
34
|
+
// than the first minute of the day
|
|
35
|
+
freshUpdatedStartTime = Math.max(0, startY.value + Math.floor(effectiveTranslation / zoomLevel.value) * zoomLevel.value);
|
|
16
36
|
}
|
|
17
|
-
}
|
|
18
|
-
startY.value = top.value;
|
|
19
|
-
if (isDragging) isDragging.value = true;
|
|
20
|
-
if (autoScrollOffset) autoScrollOffset.value = 0;
|
|
21
|
-
}).onUpdate(({
|
|
22
|
-
translationY
|
|
23
|
-
}) => {
|
|
24
|
-
const effectiveTranslation = translationY + (autoScrollOffset ? autoScrollOffset.value : 0);
|
|
25
|
-
let freshUpdatedStartTime;
|
|
26
|
-
if (fiveMinuteInterval) {
|
|
27
|
-
// Set the updated time in 5 minute increments but make sure we never go lower
|
|
28
|
-
// than the first minute of the day
|
|
29
|
-
freshUpdatedStartTime = Math.max(0, startY.value + Math.floor(effectiveTranslation / zoomLevel.value / 5) * (zoomLevel.value * 5));
|
|
30
|
-
} else {
|
|
31
|
-
// Set the updated time in 1 minute increments but make sure we never go lower
|
|
32
|
-
// than the first minute of the day
|
|
33
|
-
freshUpdatedStartTime = Math.max(0, startY.value + Math.floor(effectiveTranslation / zoomLevel.value) * zoomLevel.value);
|
|
34
|
-
}
|
|
35
37
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
}).onFinalize(() => {
|
|
43
|
-
|
|
44
|
-
});
|
|
38
|
+
// Make sure the event does not span after midnight, and if so make sure it
|
|
39
|
+
// is limited to exactly midnight
|
|
40
|
+
if (freshUpdatedStartTime > maximumHour.value - height.value) {
|
|
41
|
+
freshUpdatedStartTime = maximumHour.value - height.value;
|
|
42
|
+
}
|
|
43
|
+
currentY.value = freshUpdatedStartTime;
|
|
44
|
+
}).onFinalize(() => {
|
|
45
|
+
if (isDragging) isDragging.value = false;
|
|
46
|
+
});
|
|
47
|
+
};
|
|
45
48
|
var _default = exports.default = gesturePan;
|
|
46
49
|
//# sourceMappingURL=pan-edit-event-gesture.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeGestureHandler","require","_reactNativeReanimated","gesturePan","startY","top","currentY","zoomLevel","maximumHour","height","refNewEvent","fiveMinuteInterval","isEditing","startEditing","isDragging","autoScrollOffset","Gesture","Pan","blocksExternalGesture","onStart","runOnJS","value","onUpdate","translationY","effectiveTranslation","freshUpdatedStartTime","Math","max","floor","onFinalize","_default","exports","default"],"sourceRoot":"../../../src","sources":["utils/pan-edit-event-gesture.ts"],"mappings":";;;;;;AAAA,IAAAA,0BAAA,GAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAD,OAAA;AAIA,MAAME,UAAU,GAAGA,CACjBC,MAA2B,EAC3BC,GAAwB,EACxBC,QAA6B,EAC7BC,SAA8B,EAC9BC,WAAgC,EAChCC,MAA2B,EAC3BC,WAA2B,EAC3BC,kBAA4B,EAC5BC,SAA4C,EAC5CC,YAAyB,EACzBC,UAAiC,EACjCC,gBAAsC,
|
|
1
|
+
{"version":3,"names":["_reactNativeGestureHandler","require","_reactNativeReanimated","gesturePan","startY","top","currentY","zoomLevel","maximumHour","height","refNewEvent","fiveMinuteInterval","isEditing","startEditing","isDragging","autoScrollOffset","hasIsEditing","Gesture","Pan","blocksExternalGesture","onStart","runOnJS","value","onUpdate","translationY","effectiveTranslation","freshUpdatedStartTime","Math","max","floor","onFinalize","_default","exports","default"],"sourceRoot":"../../../src","sources":["utils/pan-edit-event-gesture.ts"],"mappings":";;;;;;AAAA,IAAAA,0BAAA,GAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAD,OAAA;AAIA,MAAME,UAAU,GAAGA,CACjBC,MAA2B,EAC3BC,GAAwB,EACxBC,QAA6B,EAC7BC,SAA8B,EAC9BC,WAAgC,EAChCC,MAA2B,EAC3BC,WAA2B,EAC3BC,kBAA4B,EAC5BC,SAA4C,EAC5CC,YAAyB,EACzBC,UAAiC,EACjCC,gBAAsC,KACnC;EACH,MAAMC,YAAY,GAAG,CAAC,CAACJ,SAAS;EAChC,OAAOK,kCAAO,CAACC,GAAG,CAAC,CAAC,CACjBC,qBAAqB,CAACT,WAAW,CAAC,CAClCU,OAAO,CAAC,MAAM;IACb,IAAIP,YAAY,EAAE;MAChB,IAAIG,YAAY,EAAE;QAChB;MACF;MAEA,IAAI,CAACA,YAAY,EAAE;QACjB,IAAAK,8BAAO,EAACR,YAAY,CAAC,CAAC,CAAC;MACzB;IACF;IAEAT,MAAM,CAACkB,KAAK,GAAGjB,GAAG,CAACiB,KAAK;IACxB,IAAIR,UAAU,EAAEA,UAAU,CAACQ,KAAK,GAAG,IAAI;IACvC,IAAIP,gBAAgB,EAAEA,gBAAgB,CAACO,KAAK,GAAG,CAAC;EAClD,CAAC,CAAC,CACDC,QAAQ,CAAC,CAAC;IAAEC;EAAa,CAAC,KAAK;IAC9B,MAAMC,oBAAoB,GACxBD,YAAY,IAAIT,gBAAgB,GAAGA,gBAAgB,CAACO,KAAK,GAAG,CAAC,CAAC;IAChE,IAAII,qBAAqB;IAEzB,IAAIf,kBAAkB,EAAE;MACtB;MACA;MACAe,qBAAqB,GAAGC,IAAI,CAACC,GAAG,CAC9B,CAAC,EACDxB,MAAM,CAACkB,KAAK,GACVK,IAAI,CAACE,KAAK,CAACJ,oBAAoB,GAAGlB,SAAS,CAACe,KAAK,GAAG,CAAC,CAAC,IACnDf,SAAS,CAACe,KAAK,GAAG,CAAC,CAC1B,CAAC;IACH,CAAC,MAAM;MACL;MACA;MACAI,qBAAqB,GAAGC,IAAI,CAACC,GAAG,CAC9B,CAAC,EACDxB,MAAM,CAACkB,KAAK,GACVK,IAAI,CAACE,KAAK,CAACJ,oBAAoB,GAAGlB,SAAS,CAACe,KAAK,CAAC,GAAGf,SAAS,CAACe,KACnE,CAAC;IACH;;IAEA;IACA;IACA,IAAII,qBAAqB,GAAGlB,WAAW,CAACc,KAAK,GAAGb,MAAM,CAACa,KAAK,EAAE;MAC5DI,qBAAqB,GAAGlB,WAAW,CAACc,KAAK,GAAGb,MAAM,CAACa,KAAK;IAC1D;IAEAhB,QAAQ,CAACgB,KAAK,GAAGI,qBAAqB;EACxC,CAAC,CAAC,CACDI,UAAU,CAAC,MAAM;IAChB,IAAIhB,UAAU,EAAEA,UAAU,CAACQ,KAAK,GAAG,KAAK;EAC1C,CAAC,CAAC;AACN,CAAC;AAAC,IAAAS,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEa9B,UAAU","ignoreList":[]}
|
|
@@ -57,9 +57,9 @@ const EditEventContainer = /*#__PURE__*/memo(({
|
|
|
57
57
|
autoScrollOffset,
|
|
58
58
|
positionY: currentY
|
|
59
59
|
});
|
|
60
|
-
const calculateHeight = useCallback((
|
|
61
|
-
const start = new Date(
|
|
62
|
-
const end = new Date(
|
|
60
|
+
const calculateHeight = useCallback((startStr, endStr, zoom) => {
|
|
61
|
+
const start = new Date(startStr);
|
|
62
|
+
const end = new Date(endStr);
|
|
63
63
|
|
|
64
64
|
// We can't use the position.height as that has a minimum time of 30 minutes, which might not be relevant to
|
|
65
65
|
// our actual duration, meaning we'll have to calculate the height based on the start and end times
|
|
@@ -69,17 +69,21 @@ const EditEventContainer = /*#__PURE__*/memo(({
|
|
|
69
69
|
if (!editingEvent) {
|
|
70
70
|
return;
|
|
71
71
|
}
|
|
72
|
-
calculateHeight(editingEvent.event, zoomLevel.value);
|
|
72
|
+
calculateHeight(editingEvent.event.start, editingEvent.event.end, zoomLevel.value);
|
|
73
73
|
currentY.value = editingEvent.position.top * zoomLevel.value;
|
|
74
74
|
}, [height, editingEvent, currentY, zoomLevel, timezone, calculateHeight]);
|
|
75
|
+
const eventStart = editingEvent?.event.start;
|
|
76
|
+
const eventEnd = editingEvent?.event.end;
|
|
77
|
+
const eventTop = editingEvent?.position.top;
|
|
75
78
|
useAnimatedReaction(() => zoomLevel.value, zoom => {
|
|
76
|
-
if (
|
|
77
|
-
runOnJS(calculateHeight)(
|
|
78
|
-
currentY.value =
|
|
79
|
+
if (eventStart && eventEnd) {
|
|
80
|
+
runOnJS(calculateHeight)(eventStart, eventEnd, zoom);
|
|
81
|
+
currentY.value = (eventTop || 0) * zoom;
|
|
79
82
|
}
|
|
80
|
-
}, [height, currentY, zoomLevel,
|
|
83
|
+
}, [height, currentY, zoomLevel, eventStart, eventEnd, eventTop]);
|
|
84
|
+
const hasEditingEvent = !!editingEvent;
|
|
81
85
|
const styleAnimatedPosition = useAnimatedStyle(() => {
|
|
82
|
-
if (!
|
|
86
|
+
if (!hasEditingEvent) {
|
|
83
87
|
return {
|
|
84
88
|
opacity: 0
|
|
85
89
|
};
|
|
@@ -92,7 +96,7 @@ const EditEventContainer = /*#__PURE__*/memo(({
|
|
|
92
96
|
opacity: 1,
|
|
93
97
|
width: "100%"
|
|
94
98
|
};
|
|
95
|
-
}, [
|
|
99
|
+
}, [hasEditingEvent, height, currentY]);
|
|
96
100
|
const startY = useSharedValue(0);
|
|
97
101
|
const updatedStart = useDerivedValue(() => {
|
|
98
102
|
const rawMinutes = currentY.value / zoomLevel.value;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["memo","useCallback","useContext","useEffect","useImperativeHandle","useRef","useIsEditing","ConfigProvider","MIN_EVENT_HEIGHT_PX","Gesture","GestureDetector","Animated","runOnJS","useAnimatedReaction","useAnimatedStyle","useDerivedValue","useSharedValue","useAutoScroll","EventExtend","gesturePan","DragBar","StyleSheet","moment","jsx","_jsx","jsxs","_jsxs","EditEventContainer","refNewEvent","currentY","isDragging","autoScrollOffset","isEditing","editingEvent","setIsEditing","updateEditing","refMethods","maximumHour","fiveMinuteInterval","renderDragBars","zoomLevel","renderEvent","timezone","dayDate","scrollY","scrollRef","scrollViewHeight","height","bottomEdgeY","value","autoScrollActive","topEdgeY","isActive","positionY","calculateHeight","
|
|
1
|
+
{"version":3,"names":["memo","useCallback","useContext","useEffect","useImperativeHandle","useRef","useIsEditing","ConfigProvider","MIN_EVENT_HEIGHT_PX","Gesture","GestureDetector","Animated","runOnJS","useAnimatedReaction","useAnimatedStyle","useDerivedValue","useSharedValue","useAutoScroll","EventExtend","gesturePan","DragBar","StyleSheet","moment","jsx","_jsx","jsxs","_jsxs","EditEventContainer","refNewEvent","currentY","isDragging","autoScrollOffset","isEditing","editingEvent","setIsEditing","updateEditing","refMethods","maximumHour","fiveMinuteInterval","renderDragBars","zoomLevel","renderEvent","timezone","dayDate","scrollY","scrollRef","scrollViewHeight","height","bottomEdgeY","value","autoScrollActive","topEdgeY","isActive","positionY","calculateHeight","startStr","endStr","zoom","start","Date","end","valueOf","event","position","top","eventStart","eventEnd","eventTop","hasEditingEvent","styleAnimatedPosition","opacity","marginLeft","hairlineWidth","Math","max","width","startY","updatedStart","rawMinutes","round","updatedEnd","endEventEditing","newStart","newEnd","tz","minutes","format","gestureTap","Tap","numberOfTaps","onStart","refMainContainer","endEditing","startEditing","layout","gesture","Simultaneous","undefined","withRef","children","View","style","None","render","bottom"],"sourceRoot":"../../../src","sources":["components/edit-event-container.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -57,32 +57,37 @@ const TimedEventContainerInner = ({
|
|
|
57
57
|
startEditing();
|
|
58
58
|
}, [initialEventEdit, layout.event.id, startEditing]);
|
|
59
59
|
const gestures = Gesture.Exclusive(doubleTapGesture(zoomLevel, initialZoomLevel, onZoomChange), gestureTap, gesturePan(startY, top, currentY, zoomLevel, maximumHour, height, refNewEvent, fiveMinuteInterval, isEditing, startEditing, isDragging, autoScrollOffset).activateAfterLongPress(500));
|
|
60
|
+
const eventStart = layout.event.start;
|
|
61
|
+
const eventEnd = layout.event.end;
|
|
60
62
|
useAnimatedReaction(() => zoomLevel.value, newZoomLevel => {
|
|
61
|
-
const start = new Date(
|
|
62
|
-
const end = new Date(
|
|
63
|
+
const start = new Date(eventStart);
|
|
64
|
+
const end = new Date(eventEnd);
|
|
63
65
|
const diff = (end.valueOf() - start.valueOf()) / 60_000;
|
|
64
66
|
height.value = Math.max(MIN_EVENT_HEIGHT_PX, newZoomLevel * diff);
|
|
65
|
-
}, [
|
|
67
|
+
}, [eventStart, eventEnd]);
|
|
66
68
|
useAnimatedReaction(() => zoomLevel.value, newZoomLevel => {
|
|
67
69
|
top.value = newZoomLevel * layout.position.top;
|
|
68
70
|
}, [layout.position.top]);
|
|
69
71
|
const render = useMemo(() => renderEvent(layout.event, EventExtend.None, height), [height, layout.event, renderEvent]);
|
|
72
|
+
const eventId = layout.event.id;
|
|
73
|
+
const layoutPosition = layout.position;
|
|
74
|
+
const isEditingEventId = isEditing?.event.id;
|
|
70
75
|
const stylePosition = useAnimatedStyle(() => {
|
|
71
76
|
const basePosition = {
|
|
72
77
|
position: "absolute",
|
|
73
78
|
height: height.value,
|
|
74
79
|
top: top.value,
|
|
75
80
|
opacity: 1,
|
|
76
|
-
width:
|
|
77
|
-
marginLeft:
|
|
81
|
+
width: layoutPosition.width,
|
|
82
|
+
marginLeft: layoutPosition.marginLeft,
|
|
78
83
|
// This is to prevent the event from being clickable while editing
|
|
79
|
-
pointerEvents:
|
|
84
|
+
pointerEvents: isEditingEventId ? "none" : "auto"
|
|
80
85
|
};
|
|
81
|
-
if (
|
|
86
|
+
if (isEditingEventId === eventId) {
|
|
82
87
|
basePosition.opacity = 0.5;
|
|
83
88
|
}
|
|
84
89
|
return basePosition;
|
|
85
|
-
}, [
|
|
90
|
+
}, [layoutPosition, isEditingEventId, eventId]);
|
|
86
91
|
return /*#__PURE__*/_jsx(GestureDetector, {
|
|
87
92
|
gesture: gestures,
|
|
88
93
|
children: /*#__PURE__*/_jsx(Animated.View, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Animated","runOnJS","useAnimatedReaction","useAnimatedStyle","useSharedValue","ConfigProvider","MIN_EVENT_HEIGHT_PX","memo","useCallback","useContext","useEffect","useMemo","useRef","Gesture","GestureDetector","StyleSheet","View","useIsEditing","gesturePan","doubleTapGesture","EventExtend","jsx","_jsx","TimedEventContainerInner","layout","refNewEvent","currentY","isDragging","autoScrollOffset","setIsEditing","isEditing","onPressEvent","maximumHour","fiveMinuteInterval","zoomLevel","renderEvent","initialZoomLevel","onZoomChange","initialEventEdit","height","top","startEditing","onPressOverride","event","gestureTap","Tap","enabled","onStart","startY","initialRender","current","id","gestures","Exclusive","activateAfterLongPress","
|
|
1
|
+
{"version":3,"names":["Animated","runOnJS","useAnimatedReaction","useAnimatedStyle","useSharedValue","ConfigProvider","MIN_EVENT_HEIGHT_PX","memo","useCallback","useContext","useEffect","useMemo","useRef","Gesture","GestureDetector","StyleSheet","View","useIsEditing","gesturePan","doubleTapGesture","EventExtend","jsx","_jsx","TimedEventContainerInner","layout","refNewEvent","currentY","isDragging","autoScrollOffset","setIsEditing","isEditing","onPressEvent","maximumHour","fiveMinuteInterval","zoomLevel","renderEvent","initialZoomLevel","onZoomChange","initialEventEdit","height","top","startEditing","onPressOverride","event","gestureTap","Tap","enabled","onStart","startY","initialRender","current","id","gestures","Exclusive","activateAfterLongPress","eventStart","start","eventEnd","end","value","newZoomLevel","Date","diff","valueOf","Math","max","position","render","None","eventId","layoutPosition","isEditingEventId","stylePosition","basePosition","opacity","width","marginLeft","pointerEvents","gesture","children","style","styles","hairline","create","marginHorizontal","hairlineWidth","flex","arePropsEqual","prev","next","pl","nl","title","calendarId","isAllDay","collisions","total","order","TimedEventContainer"],"sourceRoot":"../../../src","sources":["components/timed-event-container.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -25,7 +25,10 @@ export default function ZoomProvider({
|
|
|
25
25
|
maximumHour,
|
|
26
26
|
onZoomChange
|
|
27
27
|
} = useContext(ConfigProvider);
|
|
28
|
-
|
|
28
|
+
// Always overwritten in onStart before onUpdate reads it, so the initial
|
|
29
|
+
// value here is never actually used — avoids reading zoomLevel.value
|
|
30
|
+
// during render, which Reanimated strict mode warns about.
|
|
31
|
+
const previewScale = useSharedValue(0);
|
|
29
32
|
const focalTime = useSharedValue(0);
|
|
30
33
|
const screenFocalY = useSharedValue(0);
|
|
31
34
|
const pinchGesture = Gesture.Pinch().onStart(event => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Animated","runOnJS","scrollTo","useAnimatedReaction","useSharedValue","Gesture","GestureDetector","useContext","ConfigProvider","StyleSheet","doubleTapGesture","jsx","_jsx","fraction","ZOOM_STEP","ZoomProvider","children","scrollY","scrollRef","scrollViewHeight","zoomLevel","defaultZoomLevel","maxZoomLevel","minZoomLevel","maximumHour","onZoomChange","previewScale","
|
|
1
|
+
{"version":3,"names":["Animated","runOnJS","scrollTo","useAnimatedReaction","useSharedValue","Gesture","GestureDetector","useContext","ConfigProvider","StyleSheet","doubleTapGesture","jsx","_jsx","fraction","ZOOM_STEP","ZoomProvider","children","scrollY","scrollRef","scrollViewHeight","zoomLevel","defaultZoomLevel","maxZoomLevel","minZoomLevel","maximumHour","onZoomChange","previewScale","focalTime","screenFocalY","pinchGesture","Pinch","onStart","event","value","focalY","onUpdate","rawScale","scale","clamped","Math","min","max","newZoom","round","maxScrollY","newScrollY","onEnd","zoom","combinedGesture","Simultaneous","gesture","View","style","styles","container","create","flex"],"sourceRoot":"../../../src","sources":["components/zoom-provider.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,41 +2,44 @@
|
|
|
2
2
|
|
|
3
3
|
import { Gesture } from "react-native-gesture-handler";
|
|
4
4
|
import { runOnJS } from "react-native-reanimated";
|
|
5
|
-
const gesturePan = (startY, top, currentY, zoomLevel, maximumHour, height, refNewEvent, fiveMinuteInterval, isEditing, startEditing, isDragging, autoScrollOffset) =>
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
const gesturePan = (startY, top, currentY, zoomLevel, maximumHour, height, refNewEvent, fiveMinuteInterval, isEditing, startEditing, isDragging, autoScrollOffset) => {
|
|
6
|
+
const hasIsEditing = !!isEditing;
|
|
7
|
+
return Gesture.Pan().blocksExternalGesture(refNewEvent).onStart(() => {
|
|
8
|
+
if (startEditing) {
|
|
9
|
+
if (hasIsEditing) {
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
if (!hasIsEditing) {
|
|
13
|
+
runOnJS(startEditing)();
|
|
14
|
+
}
|
|
9
15
|
}
|
|
10
|
-
|
|
11
|
-
|
|
16
|
+
startY.value = top.value;
|
|
17
|
+
if (isDragging) isDragging.value = true;
|
|
18
|
+
if (autoScrollOffset) autoScrollOffset.value = 0;
|
|
19
|
+
}).onUpdate(({
|
|
20
|
+
translationY
|
|
21
|
+
}) => {
|
|
22
|
+
const effectiveTranslation = translationY + (autoScrollOffset ? autoScrollOffset.value : 0);
|
|
23
|
+
let freshUpdatedStartTime;
|
|
24
|
+
if (fiveMinuteInterval) {
|
|
25
|
+
// Set the updated time in 5 minute increments but make sure we never go lower
|
|
26
|
+
// than the first minute of the day
|
|
27
|
+
freshUpdatedStartTime = Math.max(0, startY.value + Math.floor(effectiveTranslation / zoomLevel.value / 5) * (zoomLevel.value * 5));
|
|
28
|
+
} else {
|
|
29
|
+
// Set the updated time in 1 minute increments but make sure we never go lower
|
|
30
|
+
// than the first minute of the day
|
|
31
|
+
freshUpdatedStartTime = Math.max(0, startY.value + Math.floor(effectiveTranslation / zoomLevel.value) * zoomLevel.value);
|
|
12
32
|
}
|
|
13
|
-
}
|
|
14
|
-
startY.value = top.value;
|
|
15
|
-
if (isDragging) isDragging.value = true;
|
|
16
|
-
if (autoScrollOffset) autoScrollOffset.value = 0;
|
|
17
|
-
}).onUpdate(({
|
|
18
|
-
translationY
|
|
19
|
-
}) => {
|
|
20
|
-
const effectiveTranslation = translationY + (autoScrollOffset ? autoScrollOffset.value : 0);
|
|
21
|
-
let freshUpdatedStartTime;
|
|
22
|
-
if (fiveMinuteInterval) {
|
|
23
|
-
// Set the updated time in 5 minute increments but make sure we never go lower
|
|
24
|
-
// than the first minute of the day
|
|
25
|
-
freshUpdatedStartTime = Math.max(0, startY.value + Math.floor(effectiveTranslation / zoomLevel.value / 5) * (zoomLevel.value * 5));
|
|
26
|
-
} else {
|
|
27
|
-
// Set the updated time in 1 minute increments but make sure we never go lower
|
|
28
|
-
// than the first minute of the day
|
|
29
|
-
freshUpdatedStartTime = Math.max(0, startY.value + Math.floor(effectiveTranslation / zoomLevel.value) * zoomLevel.value);
|
|
30
|
-
}
|
|
31
33
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
}).onFinalize(() => {
|
|
39
|
-
|
|
40
|
-
});
|
|
34
|
+
// Make sure the event does not span after midnight, and if so make sure it
|
|
35
|
+
// is limited to exactly midnight
|
|
36
|
+
if (freshUpdatedStartTime > maximumHour.value - height.value) {
|
|
37
|
+
freshUpdatedStartTime = maximumHour.value - height.value;
|
|
38
|
+
}
|
|
39
|
+
currentY.value = freshUpdatedStartTime;
|
|
40
|
+
}).onFinalize(() => {
|
|
41
|
+
if (isDragging) isDragging.value = false;
|
|
42
|
+
});
|
|
43
|
+
};
|
|
41
44
|
export default gesturePan;
|
|
42
45
|
//# sourceMappingURL=pan-edit-event-gesture.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Gesture","runOnJS","gesturePan","startY","top","currentY","zoomLevel","maximumHour","height","refNewEvent","fiveMinuteInterval","isEditing","startEditing","isDragging","autoScrollOffset","Pan","blocksExternalGesture","onStart","value","onUpdate","translationY","effectiveTranslation","freshUpdatedStartTime","Math","max","floor","onFinalize"],"sourceRoot":"../../../src","sources":["utils/pan-edit-event-gesture.ts"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,8BAA8B;AACtD,SAASC,OAAO,QAAqB,yBAAyB;AAI9D,MAAMC,UAAU,GAAGA,CACjBC,MAA2B,EAC3BC,GAAwB,EACxBC,QAA6B,EAC7BC,SAA8B,EAC9BC,WAAgC,EAChCC,MAA2B,EAC3BC,WAA2B,EAC3BC,kBAA4B,EAC5BC,SAA4C,EAC5CC,YAAyB,EACzBC,UAAiC,EACjCC,gBAAsC,
|
|
1
|
+
{"version":3,"names":["Gesture","runOnJS","gesturePan","startY","top","currentY","zoomLevel","maximumHour","height","refNewEvent","fiveMinuteInterval","isEditing","startEditing","isDragging","autoScrollOffset","hasIsEditing","Pan","blocksExternalGesture","onStart","value","onUpdate","translationY","effectiveTranslation","freshUpdatedStartTime","Math","max","floor","onFinalize"],"sourceRoot":"../../../src","sources":["utils/pan-edit-event-gesture.ts"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,8BAA8B;AACtD,SAASC,OAAO,QAAqB,yBAAyB;AAI9D,MAAMC,UAAU,GAAGA,CACjBC,MAA2B,EAC3BC,GAAwB,EACxBC,QAA6B,EAC7BC,SAA8B,EAC9BC,WAAgC,EAChCC,MAA2B,EAC3BC,WAA2B,EAC3BC,kBAA4B,EAC5BC,SAA4C,EAC5CC,YAAyB,EACzBC,UAAiC,EACjCC,gBAAsC,KACnC;EACH,MAAMC,YAAY,GAAG,CAAC,CAACJ,SAAS;EAChC,OAAOX,OAAO,CAACgB,GAAG,CAAC,CAAC,CACjBC,qBAAqB,CAACR,WAAW,CAAC,CAClCS,OAAO,CAAC,MAAM;IACb,IAAIN,YAAY,EAAE;MAChB,IAAIG,YAAY,EAAE;QAChB;MACF;MAEA,IAAI,CAACA,YAAY,EAAE;QACjBd,OAAO,CAACW,YAAY,CAAC,CAAC,CAAC;MACzB;IACF;IAEAT,MAAM,CAACgB,KAAK,GAAGf,GAAG,CAACe,KAAK;IACxB,IAAIN,UAAU,EAAEA,UAAU,CAACM,KAAK,GAAG,IAAI;IACvC,IAAIL,gBAAgB,EAAEA,gBAAgB,CAACK,KAAK,GAAG,CAAC;EAClD,CAAC,CAAC,CACDC,QAAQ,CAAC,CAAC;IAAEC;EAAa,CAAC,KAAK;IAC9B,MAAMC,oBAAoB,GACxBD,YAAY,IAAIP,gBAAgB,GAAGA,gBAAgB,CAACK,KAAK,GAAG,CAAC,CAAC;IAChE,IAAII,qBAAqB;IAEzB,IAAIb,kBAAkB,EAAE;MACtB;MACA;MACAa,qBAAqB,GAAGC,IAAI,CAACC,GAAG,CAC9B,CAAC,EACDtB,MAAM,CAACgB,KAAK,GACVK,IAAI,CAACE,KAAK,CAACJ,oBAAoB,GAAGhB,SAAS,CAACa,KAAK,GAAG,CAAC,CAAC,IACnDb,SAAS,CAACa,KAAK,GAAG,CAAC,CAC1B,CAAC;IACH,CAAC,MAAM;MACL;MACA;MACAI,qBAAqB,GAAGC,IAAI,CAACC,GAAG,CAC9B,CAAC,EACDtB,MAAM,CAACgB,KAAK,GACVK,IAAI,CAACE,KAAK,CAACJ,oBAAoB,GAAGhB,SAAS,CAACa,KAAK,CAAC,GAAGb,SAAS,CAACa,KACnE,CAAC;IACH;;IAEA;IACA;IACA,IAAII,qBAAqB,GAAGhB,WAAW,CAACY,KAAK,GAAGX,MAAM,CAACW,KAAK,EAAE;MAC5DI,qBAAqB,GAAGhB,WAAW,CAACY,KAAK,GAAGX,MAAM,CAACW,KAAK;IAC1D;IAEAd,QAAQ,CAACc,KAAK,GAAGI,qBAAqB;EACxC,CAAC,CAAC,CACDI,UAAU,CAAC,MAAM;IAChB,IAAId,UAAU,EAAEA,UAAU,CAACM,KAAK,GAAG,KAAK;EAC1C,CAAC,CAAC;AACN,CAAC;AAED,eAAejB,UAAU","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edit-event-container.d.ts","sourceRoot":"","sources":["../../../../src/components/edit-event-container.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EAMV,MAAM,OAAO,CAAC;AAkBf,KAAK,uBAAuB,GAAG;IAC7B,WAAW,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;CAC7B,CAAC;AAEF,QAAA,MAAM,kBAAkB,wDACJ,uBAAuB,
|
|
1
|
+
{"version":3,"file":"edit-event-container.d.ts","sourceRoot":"","sources":["../../../../src/components/edit-event-container.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EAMV,MAAM,OAAO,CAAC;AAkBf,KAAK,uBAAuB,GAAG;IAC7B,WAAW,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;CAC7B,CAAC;AAEF,QAAA,MAAM,kBAAkB,wDACJ,uBAAuB,wCA2P1C,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timed-event-container.d.ts","sourceRoot":"","sources":["../../../../src/components/timed-event-container.tsx"],"names":[],"mappings":"AAOA,OAAO,EAEL,SAAS,EAMV,MAAM,OAAO,CAAC;AAMf,OAAO,EACL,KAAK,aAAa,EAElB,sBAAsB,EACvB,MAAM,UAAU,CAAC;AAElB,KAAK,wBAAwB,CAAC,CAAC,SAAS,aAAa,IAAI;IACvD,MAAM,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC;IAClC,WAAW,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;CAC7B,CAAC;
|
|
1
|
+
{"version":3,"file":"timed-event-container.d.ts","sourceRoot":"","sources":["../../../../src/components/timed-event-container.tsx"],"names":[],"mappings":"AAOA,OAAO,EAEL,SAAS,EAMV,MAAM,OAAO,CAAC;AAMf,OAAO,EACL,KAAK,aAAa,EAElB,sBAAsB,EACvB,MAAM,UAAU,CAAC;AAElB,KAAK,wBAAwB,CAAC,CAAC,SAAS,aAAa,IAAI;IACvD,MAAM,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC;IAClC,WAAW,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;CAC7B,CAAC;AAoKF,QAAA,MAAM,mBAAmB,EAAoD,CAC3E,CAAC,SAAS,aAAa,EAEvB,KAAK,EAAE,wBAAwB,CAAC,CAAC,CAAC,KAC/B,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;AAEvB,eAAe,mBAAmB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zoom-provider.d.ts","sourceRoot":"","sources":["../../../../src/components/zoom-provider.tsx"],"names":[],"mappings":"AAAA,OAAO,QAAQ,EAAE,EACf,KAAK,WAAW,EAChB,KAAK,WAAW,EAKjB,MAAM,yBAAyB,CAAC;AAOjC,KAAK,iBAAiB,GAAG;IACvB,QAAQ,EAAE,GAAG,CAAC;IACd,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7B,SAAS,EAAE,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC5C,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACvC,CAAC;AAOF,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EACnC,QAAQ,EACR,OAAO,EACP,SAAS,EACT,gBAAgB,GACjB,EAAE,iBAAiB,+
|
|
1
|
+
{"version":3,"file":"zoom-provider.d.ts","sourceRoot":"","sources":["../../../../src/components/zoom-provider.tsx"],"names":[],"mappings":"AAAA,OAAO,QAAQ,EAAE,EACf,KAAK,WAAW,EAChB,KAAK,WAAW,EAKjB,MAAM,yBAAyB,CAAC;AAOjC,KAAK,iBAAiB,GAAG;IACvB,QAAQ,EAAE,GAAG,CAAC;IACd,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7B,SAAS,EAAE,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC5C,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACvC,CAAC;AAOF,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EACnC,QAAQ,EACR,OAAO,EACP,SAAS,EACT,gBAAgB,GACjB,EAAE,iBAAiB,+BAyEnB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pan-edit-event-gesture.d.ts","sourceRoot":"","sources":["../../../../src/utils/pan-edit-event-gesture.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,KAAK,aAAa,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEtE,QAAA,MAAM,UAAU,GAAI,CAAC,SAAS,aAAa,UACjC,WAAW,CAAC,MAAM,CAAC,OACtB,WAAW,CAAC,MAAM,CAAC,YACd,WAAW,CAAC,MAAM,CAAC,aAClB,WAAW,CAAC,MAAM,CAAC,eACjB,WAAW,CAAC,MAAM,CAAC,UACxB,WAAW,CAAC,MAAM,CAAC,eACd,SAAS,CAAC,GAAG,CAAC,uBACN,OAAO,cAChB,IAAI,GAAG,sBAAsB,CAAC,CAAC,CAAC,iBAC7B,MAAM,IAAI,eACZ,WAAW,CAAC,OAAO,CAAC,qBACd,WAAW,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"pan-edit-event-gesture.d.ts","sourceRoot":"","sources":["../../../../src/utils/pan-edit-event-gesture.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,KAAK,aAAa,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEtE,QAAA,MAAM,UAAU,GAAI,CAAC,SAAS,aAAa,UACjC,WAAW,CAAC,MAAM,CAAC,OACtB,WAAW,CAAC,MAAM,CAAC,YACd,WAAW,CAAC,MAAM,CAAC,aAClB,WAAW,CAAC,MAAM,CAAC,eACjB,WAAW,CAAC,MAAM,CAAC,UACxB,WAAW,CAAC,MAAM,CAAC,eACd,SAAS,CAAC,GAAG,CAAC,uBACN,OAAO,cAChB,IAAI,GAAG,sBAAsB,CAAC,CAAC,CAAC,iBAC7B,MAAM,IAAI,eACZ,WAAW,CAAC,OAAO,CAAC,qBACd,WAAW,CAAC,MAAM,CAAC,kGAuDvC,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edit-event-container.d.ts","sourceRoot":"","sources":["../../../../src/components/edit-event-container.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EAMV,MAAM,OAAO,CAAC;AAkBf,KAAK,uBAAuB,GAAG;IAC7B,WAAW,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;CAC7B,CAAC;AAEF,QAAA,MAAM,kBAAkB,wDACJ,uBAAuB,
|
|
1
|
+
{"version":3,"file":"edit-event-container.d.ts","sourceRoot":"","sources":["../../../../src/components/edit-event-container.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EAMV,MAAM,OAAO,CAAC;AAkBf,KAAK,uBAAuB,GAAG;IAC7B,WAAW,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;CAC7B,CAAC;AAEF,QAAA,MAAM,kBAAkB,wDACJ,uBAAuB,wCA2P1C,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timed-event-container.d.ts","sourceRoot":"","sources":["../../../../src/components/timed-event-container.tsx"],"names":[],"mappings":"AAOA,OAAO,EAEL,SAAS,EAMV,MAAM,OAAO,CAAC;AAMf,OAAO,EACL,KAAK,aAAa,EAElB,sBAAsB,EACvB,MAAM,UAAU,CAAC;AAElB,KAAK,wBAAwB,CAAC,CAAC,SAAS,aAAa,IAAI;IACvD,MAAM,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC;IAClC,WAAW,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;CAC7B,CAAC;
|
|
1
|
+
{"version":3,"file":"timed-event-container.d.ts","sourceRoot":"","sources":["../../../../src/components/timed-event-container.tsx"],"names":[],"mappings":"AAOA,OAAO,EAEL,SAAS,EAMV,MAAM,OAAO,CAAC;AAMf,OAAO,EACL,KAAK,aAAa,EAElB,sBAAsB,EACvB,MAAM,UAAU,CAAC;AAElB,KAAK,wBAAwB,CAAC,CAAC,SAAS,aAAa,IAAI;IACvD,MAAM,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC;IAClC,WAAW,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;CAC7B,CAAC;AAoKF,QAAA,MAAM,mBAAmB,EAAoD,CAC3E,CAAC,SAAS,aAAa,EAEvB,KAAK,EAAE,wBAAwB,CAAC,CAAC,CAAC,KAC/B,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;AAEvB,eAAe,mBAAmB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zoom-provider.d.ts","sourceRoot":"","sources":["../../../../src/components/zoom-provider.tsx"],"names":[],"mappings":"AAAA,OAAO,QAAQ,EAAE,EACf,KAAK,WAAW,EAChB,KAAK,WAAW,EAKjB,MAAM,yBAAyB,CAAC;AAOjC,KAAK,iBAAiB,GAAG;IACvB,QAAQ,EAAE,GAAG,CAAC;IACd,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7B,SAAS,EAAE,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC5C,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACvC,CAAC;AAOF,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EACnC,QAAQ,EACR,OAAO,EACP,SAAS,EACT,gBAAgB,GACjB,EAAE,iBAAiB,+
|
|
1
|
+
{"version":3,"file":"zoom-provider.d.ts","sourceRoot":"","sources":["../../../../src/components/zoom-provider.tsx"],"names":[],"mappings":"AAAA,OAAO,QAAQ,EAAE,EACf,KAAK,WAAW,EAChB,KAAK,WAAW,EAKjB,MAAM,yBAAyB,CAAC;AAOjC,KAAK,iBAAiB,GAAG;IACvB,QAAQ,EAAE,GAAG,CAAC;IACd,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7B,SAAS,EAAE,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC5C,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACvC,CAAC;AAOF,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EACnC,QAAQ,EACR,OAAO,EACP,SAAS,EACT,gBAAgB,GACjB,EAAE,iBAAiB,+BAyEnB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pan-edit-event-gesture.d.ts","sourceRoot":"","sources":["../../../../src/utils/pan-edit-event-gesture.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,KAAK,aAAa,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEtE,QAAA,MAAM,UAAU,GAAI,CAAC,SAAS,aAAa,UACjC,WAAW,CAAC,MAAM,CAAC,OACtB,WAAW,CAAC,MAAM,CAAC,YACd,WAAW,CAAC,MAAM,CAAC,aAClB,WAAW,CAAC,MAAM,CAAC,eACjB,WAAW,CAAC,MAAM,CAAC,UACxB,WAAW,CAAC,MAAM,CAAC,eACd,SAAS,CAAC,GAAG,CAAC,uBACN,OAAO,cAChB,IAAI,GAAG,sBAAsB,CAAC,CAAC,CAAC,iBAC7B,MAAM,IAAI,eACZ,WAAW,CAAC,OAAO,CAAC,qBACd,WAAW,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"pan-edit-event-gesture.d.ts","sourceRoot":"","sources":["../../../../src/utils/pan-edit-event-gesture.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,KAAK,aAAa,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEtE,QAAA,MAAM,UAAU,GAAI,CAAC,SAAS,aAAa,UACjC,WAAW,CAAC,MAAM,CAAC,OACtB,WAAW,CAAC,MAAM,CAAC,YACd,WAAW,CAAC,MAAM,CAAC,aAClB,WAAW,CAAC,MAAM,CAAC,eACjB,WAAW,CAAC,MAAM,CAAC,UACxB,WAAW,CAAC,MAAM,CAAC,eACd,SAAS,CAAC,GAAG,CAAC,uBACN,OAAO,cAChB,IAAI,GAAG,sBAAsB,CAAC,CAAC,CAAC,iBAC7B,MAAM,IAAI,eACZ,WAAW,CAAC,OAAO,CAAC,qBACd,WAAW,CAAC,MAAM,CAAC,kGAuDvC,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
package/package.json
CHANGED
|
@@ -18,7 +18,7 @@ import Animated, {
|
|
|
18
18
|
useSharedValue,
|
|
19
19
|
} from "react-native-reanimated";
|
|
20
20
|
import useAutoScroll from "../hooks/use-auto-scroll";
|
|
21
|
-
import {
|
|
21
|
+
import { EventExtend } from "../types";
|
|
22
22
|
import gesturePan from "../utils/pan-edit-event-gesture";
|
|
23
23
|
import DragBar from "../components/drag-bar";
|
|
24
24
|
import { StyleSheet } from "react-native";
|
|
@@ -77,9 +77,9 @@ const EditEventContainer = memo(
|
|
|
77
77
|
});
|
|
78
78
|
|
|
79
79
|
const calculateHeight = useCallback(
|
|
80
|
-
(
|
|
81
|
-
const start = new Date(
|
|
82
|
-
const end = new Date(
|
|
80
|
+
(startStr: string, endStr: string, zoom: number) => {
|
|
81
|
+
const start = new Date(startStr);
|
|
82
|
+
const end = new Date(endStr);
|
|
83
83
|
|
|
84
84
|
// We can't use the position.height as that has a minimum time of 30 minutes, which might not be relevant to
|
|
85
85
|
// our actual duration, meaning we'll have to calculate the height based on the start and end times
|
|
@@ -93,23 +93,31 @@ const EditEventContainer = memo(
|
|
|
93
93
|
return;
|
|
94
94
|
}
|
|
95
95
|
|
|
96
|
-
calculateHeight(
|
|
96
|
+
calculateHeight(
|
|
97
|
+
editingEvent.event.start,
|
|
98
|
+
editingEvent.event.end,
|
|
99
|
+
zoomLevel.value
|
|
100
|
+
);
|
|
97
101
|
currentY.value = editingEvent.position.top * zoomLevel.value;
|
|
98
102
|
}, [height, editingEvent, currentY, zoomLevel, timezone, calculateHeight]);
|
|
99
103
|
|
|
104
|
+
const eventStart = editingEvent?.event.start;
|
|
105
|
+
const eventEnd = editingEvent?.event.end;
|
|
106
|
+
const eventTop = editingEvent?.position.top;
|
|
100
107
|
useAnimatedReaction(
|
|
101
108
|
() => zoomLevel.value,
|
|
102
109
|
(zoom) => {
|
|
103
|
-
if (
|
|
104
|
-
runOnJS(calculateHeight)(
|
|
105
|
-
currentY.value =
|
|
110
|
+
if (eventStart && eventEnd) {
|
|
111
|
+
runOnJS(calculateHeight)(eventStart, eventEnd, zoom);
|
|
112
|
+
currentY.value = (eventTop || 0) * zoom;
|
|
106
113
|
}
|
|
107
114
|
},
|
|
108
|
-
[height, currentY, zoomLevel,
|
|
115
|
+
[height, currentY, zoomLevel, eventStart, eventEnd, eventTop]
|
|
109
116
|
);
|
|
110
117
|
|
|
118
|
+
const hasEditingEvent = !!editingEvent;
|
|
111
119
|
const styleAnimatedPosition = useAnimatedStyle(() => {
|
|
112
|
-
if (!
|
|
120
|
+
if (!hasEditingEvent) {
|
|
113
121
|
return { opacity: 0 };
|
|
114
122
|
}
|
|
115
123
|
|
|
@@ -121,7 +129,7 @@ const EditEventContainer = memo(
|
|
|
121
129
|
opacity: 1,
|
|
122
130
|
width: "100%",
|
|
123
131
|
};
|
|
124
|
-
}, [
|
|
132
|
+
}, [hasEditingEvent, height, currentY]);
|
|
125
133
|
|
|
126
134
|
const startY = useSharedValue(0);
|
|
127
135
|
|
|
@@ -103,16 +103,18 @@ const TimedEventContainerInner = <T extends CalendarEvent>({
|
|
|
103
103
|
).activateAfterLongPress(500)
|
|
104
104
|
);
|
|
105
105
|
|
|
106
|
+
const eventStart = layout.event.start;
|
|
107
|
+
const eventEnd = layout.event.end;
|
|
106
108
|
useAnimatedReaction(
|
|
107
109
|
() => zoomLevel.value,
|
|
108
110
|
(newZoomLevel) => {
|
|
109
|
-
const start = new Date(
|
|
110
|
-
const end = new Date(
|
|
111
|
+
const start = new Date(eventStart);
|
|
112
|
+
const end = new Date(eventEnd);
|
|
111
113
|
const diff = (end.valueOf() - start.valueOf()) / 60_000;
|
|
112
114
|
|
|
113
115
|
height.value = Math.max(MIN_EVENT_HEIGHT_PX, newZoomLevel * diff);
|
|
114
116
|
},
|
|
115
|
-
[
|
|
117
|
+
[eventStart, eventEnd]
|
|
116
118
|
);
|
|
117
119
|
|
|
118
120
|
useAnimatedReaction(
|
|
@@ -128,25 +130,29 @@ const TimedEventContainerInner = <T extends CalendarEvent>({
|
|
|
128
130
|
[height, layout.event, renderEvent]
|
|
129
131
|
);
|
|
130
132
|
|
|
133
|
+
const eventId = layout.event.id;
|
|
134
|
+
const layoutPosition = layout.position;
|
|
135
|
+
const isEditingEventId = isEditing?.event.id;
|
|
136
|
+
|
|
131
137
|
const stylePosition = useAnimatedStyle(() => {
|
|
132
138
|
const basePosition: any = {
|
|
133
139
|
position: "absolute",
|
|
134
140
|
height: height.value,
|
|
135
141
|
top: top.value,
|
|
136
142
|
opacity: 1,
|
|
137
|
-
width:
|
|
138
|
-
marginLeft:
|
|
143
|
+
width: layoutPosition.width,
|
|
144
|
+
marginLeft: layoutPosition.marginLeft,
|
|
139
145
|
|
|
140
146
|
// This is to prevent the event from being clickable while editing
|
|
141
|
-
pointerEvents:
|
|
147
|
+
pointerEvents: isEditingEventId ? "none" : "auto",
|
|
142
148
|
};
|
|
143
149
|
|
|
144
|
-
if (
|
|
150
|
+
if (isEditingEventId === eventId) {
|
|
145
151
|
basePosition.opacity = 0.5;
|
|
146
152
|
}
|
|
147
153
|
|
|
148
154
|
return basePosition;
|
|
149
|
-
}, [
|
|
155
|
+
}, [layoutPosition, isEditingEventId, eventId]);
|
|
150
156
|
|
|
151
157
|
return (
|
|
152
158
|
<GestureDetector gesture={gestures}>
|
|
@@ -38,7 +38,10 @@ export default function ZoomProvider({
|
|
|
38
38
|
maximumHour,
|
|
39
39
|
onZoomChange,
|
|
40
40
|
} = useContext(ConfigProvider);
|
|
41
|
-
|
|
41
|
+
// Always overwritten in onStart before onUpdate reads it, so the initial
|
|
42
|
+
// value here is never actually used — avoids reading zoomLevel.value
|
|
43
|
+
// during render, which Reanimated strict mode warns about.
|
|
44
|
+
const previewScale = useSharedValue(0);
|
|
42
45
|
const focalTime = useSharedValue(0);
|
|
43
46
|
const screenFocalY = useSharedValue(0);
|
|
44
47
|
|
|
@@ -16,16 +16,17 @@ const gesturePan = <T extends CalendarEvent>(
|
|
|
16
16
|
startEditing?: () => void,
|
|
17
17
|
isDragging?: SharedValue<boolean>,
|
|
18
18
|
autoScrollOffset?: SharedValue<number>
|
|
19
|
-
) =>
|
|
20
|
-
|
|
19
|
+
) => {
|
|
20
|
+
const hasIsEditing = !!isEditing;
|
|
21
|
+
return Gesture.Pan()
|
|
21
22
|
.blocksExternalGesture(refNewEvent)
|
|
22
23
|
.onStart(() => {
|
|
23
24
|
if (startEditing) {
|
|
24
|
-
if (
|
|
25
|
+
if (hasIsEditing) {
|
|
25
26
|
return;
|
|
26
27
|
}
|
|
27
28
|
|
|
28
|
-
if (!
|
|
29
|
+
if (!hasIsEditing) {
|
|
29
30
|
runOnJS(startEditing)();
|
|
30
31
|
}
|
|
31
32
|
}
|
|
@@ -69,5 +70,6 @@ const gesturePan = <T extends CalendarEvent>(
|
|
|
69
70
|
.onFinalize(() => {
|
|
70
71
|
if (isDragging) isDragging.value = false;
|
|
71
72
|
});
|
|
73
|
+
};
|
|
72
74
|
|
|
73
75
|
export default gesturePan;
|