UNPKG

verstak

Version:
37 lines (36 loc) 1.85 kB
import { setBasis } from "reactronic"; import { Div } from "./HtmlElements.js"; import { Fragment } from "../core/Elements.js"; export function DraggableArea(draggingId, builder) { return (Div(setBasis(builder, { body() { const e = this.native; const model = this.model; const dataForSensor = e.dataForSensor; dataForSensor.draggable = draggingId; dataForSensor.drag = draggingId; Fragment(() => { var _a, _b, _c, _d; const pointer = e.sensors.pointer; if (pointer.dragSource === draggingId) { if (pointer.dragStarted) { if (pointer.draggingOver) { (_a = model === null || model === void 0 ? void 0 : model.draggingOverAction) === null || _a === void 0 ? void 0 : _a.call(model, pointer); if (pointer.dropped) { (_b = model === null || model === void 0 ? void 0 : model.droppedAction) === null || _b === void 0 ? void 0 : _b.call(model, pointer); } } else { e.setAttribute("rx-dragging", "true"); (_c = model === null || model === void 0 ? void 0 : model.dragStartedAction) === null || _c === void 0 ? void 0 : _c.call(model, pointer); } if (pointer.dragFinished) { (_d = model === null || model === void 0 ? void 0 : model.dragFinishedAction) === null || _d === void 0 ? void 0 : _d.call(model, pointer); e.setAttribute("rx-dragging", "false"); } } } }); }, }))); }