From 47324068427b7b7250fdcf9d5d34e673587e4b9a Mon Sep 17 00:00:00 2001 From: Yuriy Maksymets <iurii.maksymets@gmail.com> Date: Sun, 27 Oct 2019 18:21:55 +0000 Subject: [PATCH] Merging intervals locally --- src/app.js | 38 +++++++++++++------------------------- src/room.js | 10 ++-------- 2 files changed, 15 insertions(+), 33 deletions(-) diff --git a/src/app.js b/src/app.js index ed4a96d..5cbed56 100644 --- a/src/app.js +++ b/src/app.js @@ -36,17 +36,11 @@ function eraseAt(x, y, room) { ERASERRADIUS, ) - console.log(prevPathIntervals, newPathIntervals) - const erasureIntervalsForPath = combineErasureIntervals( prevPathIntervals, newPathIntervals, ) - // if (!TEST_ERASE_INTERVAL[pathID]) TEST_ERASE_INTERVAL[pathID] = {} - // TEST_ERASE_INTERVAL[pathID] = erasureIntervalsForPath - console.log("erasureIntervalsForPath") - console.log(erasureIntervalsForPath) Object.keys(erasureIntervalsForPath).forEach((pointID) => room.extendErasureIntervals( pathID, @@ -55,11 +49,6 @@ function eraseAt(x, y, room) { ), ) - // room.dispatchEvent( - // new CustomEvent("removedIntervalsChange", { - // detail: { id: pathID, points }, - // }), - // ) points.forEach((point) => { const distanceToPoint = getDistance(mousePos, point) if (distanceToPoint <= ERASERRADIUS) { @@ -184,9 +173,9 @@ function needToDrawLastPoint(points, pathID) { function generatePointsForPathElem(pathElem, pathID, dataPoints) { const points = dataPoints - document.getElementById("console").innerText = JSON.stringify( - TEST_ERASE_INTERVAL, - ) + // document.getElementById("console").innerText = JSON.stringify( + // TEST_ERASE_INTERVAL, + // ) const appendToWholePath = (subPath) => { if (!(subPath && subPath.length)) return const subpathElem = generateSvgForSubpath(subPath) @@ -322,11 +311,10 @@ function handleRoomConnectionEstablished(room) { room.addEventListener( "removedIntervalsChange", ({ detail: { id, intervals, points } }) => { - console.log("got the event for id", id) - console.log(intervals) - - TEST_ERASE_INTERVAL[id] = intervals - console.log(pathElems, id, points) + TEST_ERASE_INTERVAL[id] = combineErasureIntervals( + TEST_ERASE_INTERVAL[id] || {}, + intervals, + ) addOrUpdatePathElem(pathElems, id, points) }, ) @@ -425,12 +413,12 @@ function handleRoomConnectionEstablished(room) { } HTML.roomConnectButton.addEventListener("click", roomConnectButtonOnClick) - let pid = room.addPath([100, 100]) - room.extendPath(pid, [800, 200]) - room.extendPath(pid, [100, 300]) - room.extendPath(pid, [800, 400]) - room.extendPath(pid, [800, 450]) - room.extendPath(pid, [800, 500]) + // let pid = room.addPath([100, 100]) + // room.extendPath(pid, [800, 200]) + // room.extendPath(pid, [100, 300]) + // room.extendPath(pid, [800, 400]) + // room.extendPath(pid, [800, 450]) + // room.extendPath(pid, [800, 500]) } function handleRoomConnectionError(err) { diff --git a/src/room.js b/src/room.js index 62901af..bb13068 100644 --- a/src/room.js +++ b/src/room.js @@ -49,11 +49,8 @@ class Room extends EventTarget { const pathIntervals = yGetOrSet(this.sharedMergeIntervals, pathID, Y.Map) const pointIntervals = yGetOrSet(pathIntervals, pointID, Y.Array) - // pointIntervals.delete(0, pointIntervals.length) - newIntervals.forEach((newInterval) => pointIntervals.push([newInterval])) - - console.log("pointIntervals") - console.log(pointIntervals.toArray()) + pointIntervals.delete(0, pointIntervals.length) + pointIntervals.push(newIntervals) } getPaths() { @@ -106,11 +103,8 @@ class Room extends EventTarget { _generateRemovedIntervals(id) { const intervals = this.sharedMergeIntervals.get(id) if (!intervals) return [] - console.log(intervals) const json = intervals.toJSON() - console.log("json") - console.log(json) return typeof json === "string" ? JSON.parse(json) : json } -- GitLab