remove duplicate Transaction.callAll logic

This commit is contained in:
Kevin Jahns 2023-06-22 17:46:49 +02:00
parent 5d862477cd
commit 942c8a267b

View File

@ -275,31 +275,30 @@ const cleanupTransactions = (transactionCleanups, i) => {
) )
fs.push(() => { fs.push(() => {
// deep observe events // deep observe events
transaction.changedParentTypes.forEach((events, type) => transaction.changedParentTypes.forEach((events, type) => {
fs.push(() => { // We need to think about the possibility that the user transforms the
// We need to think about the possibility that the user transforms the // Y.Doc in the event.
// Y.Doc in the event. if (type._dEH.l.length > 0 && (type._item === null || !type._item.deleted)) {
if (type._item === null || !type._item.deleted) { events = events
events = events .filter(event =>
.filter(event => event.target._item === null || !event.target._item.deleted
event.target._item === null || !event.target._item.deleted )
) events
events .forEach(event => {
.forEach(event => { event.currentTarget = type
event.currentTarget = type // path is relative to the current target
event._path = null event._path = null
}) })
// sort events by path length so that top-level events are fired first. // sort events by path length so that top-level events are fired first.
events events
.sort((event1, event2) => event1.path.length - event2.path.length) .sort((event1, event2) => event1.path.length - event2.path.length)
// We don't need to check for events.length // We don't need to check for events.length
// because we know it has at least one element // because we know it has at least one element
callEventHandlerListeners(type._dEH, events, transaction) callEventHandlerListeners(type._dEH, events, transaction)
} }
}) })
)
fs.push(() => doc.emit('afterTransaction', [transaction, doc]))
}) })
fs.push(() => doc.emit('afterTransaction', [transaction, doc]))
callAll(fs, []) callAll(fs, [])
if (transaction._needFormattingCleanup) { if (transaction._needFormattingCleanup) {
cleanupYTextAfterTransaction(transaction) cleanupYTextAfterTransaction(transaction)