aboutsummaryrefslogtreecommitdiff
path: root/src/client/views/nodes/calendarBox
diff options
context:
space:
mode:
authorJoanne <zehan_ding@brown.edu>2025-06-24 10:15:04 -0400
committerJoanne <zehan_ding@brown.edu>2025-06-24 10:15:04 -0400
commitad1f2ffb01fef49449c2dd5875659e1c904558fd (patch)
tree3c586cc104b18b9bc183ebf875c970292aae06ca /src/client/views/nodes/calendarBox
parent17ec2a19b2d2dc5ba3f99c43d86c27946de2ac71 (diff)
parent1396850b90ed2dcca3776057ec4a7f2fc7ff297a (diff)
Merge branch 'master' of https://github.com/brown-dash/Dash-Web into joanne-tutorialagent
Diffstat (limited to 'src/client/views/nodes/calendarBox')
-rw-r--r--src/client/views/nodes/calendarBox/CalendarBox.tsx35
1 files changed, 16 insertions, 19 deletions
diff --git a/src/client/views/nodes/calendarBox/CalendarBox.tsx b/src/client/views/nodes/calendarBox/CalendarBox.tsx
index a4183a11a..a2fa83b5a 100644
--- a/src/client/views/nodes/calendarBox/CalendarBox.tsx
+++ b/src/client/views/nodes/calendarBox/CalendarBox.tsx
@@ -298,10 +298,9 @@ export class CalendarBox extends CollectionSubView() {
ev.preventDefault();
});
}}
-
// for dragging and dropping (mirror)
- eventDragStart={(arg) => {
+ eventDragStart={arg => {
const mirror = arg.el.cloneNode(true) as HTMLElement;
const rect = arg.el.getBoundingClientRect();
@@ -312,25 +311,24 @@ export class CalendarBox extends CollectionSubView() {
mirror.classList.add('custom-drag-mirror');
mirror.style.width = `${rect.width}px`;
mirror.style.height = `${rect.height}px`;
-
+
document.body.appendChild(mirror);
-
+
const moveListener = (ev: MouseEvent) => {
- mirror.style.left = `${ev.clientX}px`;
- mirror.style.top = `${ev.clientY}px`;
+ mirror.style.left = `${ev.clientX}px`;
+ mirror.style.top = `${ev.clientY}px`;
};
-
+
window.addEventListener('mousemove', moveListener);
// hide the actual box
arg.el.style.visibility = 'hidden';
arg.el.style.opacity = '0';
-
+
(arg.el as any)._mirrorElement = mirror;
(arg.el as any)._moveListener = moveListener;
}}
-
- eventDragStop={(arg) => {
+ eventDragStop={arg => {
const el = arg.el as any;
const mirror = el._mirrorElement;
const moveListener = el._moveListener;
@@ -338,15 +336,18 @@ export class CalendarBox extends CollectionSubView() {
// show the actual box
el.style.visibility = 'visible';
el.style.opacity = '1';
-
+
if (mirror) document.body.removeChild(mirror);
if (moveListener) window.removeEventListener('mousemove', moveListener);
}}
-
/>
);
}
+ setRef = (r: HTMLDivElement | null) => {
+ this.createDashEventsTarget(r);
+ this.fixWheelEvents(r, this._props.isContentActive);
+ };
render() {
const scale = this._props.ScreenToLocalTransform().Scale;
const scaledWidth = this._props.PanelWidth();
@@ -361,11 +362,8 @@ export class CalendarBox extends CollectionSubView() {
height: scaledHeight,
overflow: 'hidden',
position: 'relative',
- }}
- ref={r => {
- this.createDashEventsTarget(r);
- this.fixWheelEvents(r, this._props.isContentActive);
}}
+ ref={this.setRef}
onPointerDown={e => {
setTimeout(
action(() => {
@@ -383,9 +381,8 @@ export class CalendarBox extends CollectionSubView() {
transformOrigin: 'top left',
width: scaledWidth / scale,
height: scaledHeight / scale,
- }}
- >
- {this.renderCalendar}
+ }}>
+ {this.renderCalendar}
</div>
</div>
);