fix(send-later): Simplify logic, use changes.addPluginMetadata

This commit is contained in:
Ben Gotow 2016-05-03 13:20:22 -07:00
parent 4d1c380159
commit 6d2755329b
3 changed files with 14 additions and 5 deletions

View file

@ -2780,7 +2780,6 @@
11266751: node_modules/chrono-node/src/refiners/EN/ENMergeDateTimeRefiner.js
11270975: node_modules/chrono-node/src/refiners/EN/ENMergeDateRangeRefiner.js
11273512: node_modules/chrono-node/src/refiners/JP/JPMergeDateRangeRefiner.js
11192209: internal_packages/send-later/lib/send-later-store.js
11273768: internal_packages/send-later/lib/send-later-status.js
11281409: internal_packages/sidebar-fullcontact/stylesheets/sidebar-fullcontact.less
3810966: static/variables/ui-variables.less
@ -4363,7 +4362,6 @@
11266751: node_modules/chrono-node/src/refiners/EN/ENMergeDateTimeRefiner.js
11270975: node_modules/chrono-node/src/refiners/EN/ENMergeDateRangeRefiner.js
11273512: node_modules/chrono-node/src/refiners/JP/JPMergeDateRangeRefiner.js
11192209: internal_packages/send-later/lib/send-later-store.js
11273768: internal_packages/send-later/lib/send-later-status.js
6721939: src/sheet-container.js
6727955: src/sheet.js
@ -5830,7 +5828,6 @@
11266751: node_modules/chrono-node/src/refiners/EN/ENMergeDateTimeRefiner.js
11270975: node_modules/chrono-node/src/refiners/EN/ENMergeDateRangeRefiner.js
11273512: node_modules/chrono-node/src/refiners/JP/JPMergeDateRangeRefiner.js
11192209: internal_packages/send-later/lib/send-later-store.js
11273768: internal_packages/send-later/lib/send-later-status.js
6721939: src/sheet-container.js
6727955: src/sheet.js

View file

@ -498,6 +498,7 @@ class DatabaseStore extends NylasStore
clearTimeout(@_changeFireTimer) if @_changeFireTimer
@trigger(new DatabaseChangeRecord(@_changeAccumulated))
@_changeAccumulated = null
@_changeAccumulatedLookup = null
@_changeFireTimer = null
@_resolve?()
@_triggerPromise = null
@ -505,10 +506,21 @@ class DatabaseStore extends NylasStore
set = (change) =>
clearTimeout(@_changeFireTimer) if @_changeFireTimer
@_changeAccumulated = change
@_changeAccumulatedLookup = {}
for obj, idx in @_changeAccumulated.objects
@_changeAccumulatedLookup[obj.id] = idx
@_changeFireTimer = setTimeout(flush, 10)
concat = (change) =>
@_changeAccumulated.objects.push(change.objects...)
# When we join new models into our set, replace existing ones so the same
# model cannot exist in the change record set multiple times.
for obj in change.objects
idx = @_changeAccumulatedLookup[obj.id]
if idx
@_changeAccumulated.objects[idx] = obj
else
@_changeAccumulatedLookup[obj.id] = @_changeAccumulated.objects.length
@_changeAccumulated.objects.push(obj)
if not @_changeAccumulated
set(change)

@ -1 +1 @@
Subproject commit b377f9aa9d544c34f4166fce13101ddb7f226349
Subproject commit ad5d4a085ec5d5d903dd30debc1e5869521af377