observeDeep receives array of events

This commit is contained in:
Kevin Jahns
2017-11-07 22:44:43 -08:00
parent c453593ee7
commit e5f289506f
6 changed files with 126 additions and 91 deletions

View File

@@ -55,7 +55,19 @@ export default class Y extends NamedEventHandler {
if (initialCall) {
// emit change events on changed types
this._transaction.changedTypes.forEach(function (subs, type) {
type._callObserver(subs, remote)
if (!type._deleted) {
type._callObserver(subs, remote)
}
})
this._transaction.changedParentTypes.forEach(function (events, type) {
if (!type._deleted) {
events = events.filter(event =>
!event.target._deleted
)
// we don't have to check for events.length
// because there is no way events is empty..
type._deepEventHandler.callEventListeners(events)
}
})
// when all changes & events are processed, emit afterTransaction event
this.emit('afterTransaction', this, remote)