Skip to content
Snippets Groups Projects
Commit bf07570a authored by Yuriy Maksymets's avatar Yuriy Maksymets
Browse files

Room event dispatch refactoring

parent bd37c8dd
No related branches found
No related tags found
2 merge requests!57Erasure intervals,!48Intuitive erasing
Pipeline #103560 failed
......@@ -145,60 +145,66 @@ class Room extends EventTarget {
mergeIntervals: "Map",
},
})
const dispatchRemovedIntervalsEvent = (lineEvent) => {
const id = lineEvent.name
const intervals = this._generateRemovedIntervals(id)
const points = this._generatePath(id)
const detail = { id, intervals, points }
this.dispatchEvent(
new CustomEvent("removedIntervalsChange", {
detail,
}),
)
}
const dispatchPathUpdateEvent = (lineEvent) => {
const id = lineEvent.name
const points = this._generatePath(id)
const detail = { id, points }
this.dispatchEvent(new CustomEvent("addOrUpdatePath", { detail }))
}
this._y.share.strokeAdd.observe((lineEvent) => {
if (lineEvent.type == "add") {
const points = this._generatePath(lineEvent.name)
const detail = { id: lineEvent.name, points }
this.dispatchEvent(new CustomEvent("addOrUpdatePath", { detail }))
dispatchPathUpdateEvent(lineEvent)
lineEvent.value.observe((pointEvent) => {
if (pointEvent.type == "insert") {
const points = this._generatePath(lineEvent.name)
const detail = { id: lineEvent.name, points }
this.dispatchEvent(new CustomEvent("addOrUpdatePath", { detail }))
dispatchPathUpdateEvent(lineEvent)
}
})
}
})
this._y.share.strokeErase.observe((lineEvent) => {
if (lineEvent.type == "add") {
const points = this._generatePath(lineEvent.name)
const detail = { id: lineEvent.name, points }
this.dispatchEvent(new CustomEvent("addOrUpdatePath", { detail }))
dispatchPathUpdateEvent(lineEvent)
lineEvent.value.observe((pointEvent) => {
if (pointEvent.type == "add") {
const points = this._generatePath(lineEvent.name)
const detail = { id: lineEvent.name, points }
this.dispatchEvent(new CustomEvent("addOrUpdatePath", { detail }))
dispatchPathUpdateEvent(lineEvent)
}
})
}
})
this.sharedMergeIntervals.observe((lineEvent) => {
if (lineEvent.type == "add") {
const dispatchEvent = () => {
const id = lineEvent.name
const intervals = this._generateRemovedIntervals(id)
const points = this._generatePath(lineEvent.name)
this.dispatchEvent(
new CustomEvent("removedIntervalsChange", {
detail: { id, intervals, points },
}),
)
}
if (lineEvent.type != "add") {
return
}
dispatchEvent()
dispatchRemovedIntervalsEvent(lineEvent)
lineEvent.value.observe((pointEvent) => {
if (pointEvent.type == "add") {
dispatchEvent()
lineEvent.value.observe((pointEvent) => {
if (pointEvent.type != "add") {
return
}
pointEvent.value.observe(() => {
dispatchEvent()
})
}
dispatchRemovedIntervalsEvent(lineEvent)
pointEvent.value.observe(() => {
dispatchRemovedIntervalsEvent(lineEvent)
})
}
})
})
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment