Fix some bugs in data storage.
This commit is contained in:
parent
117cb3a56c
commit
dd08860ea0
@ -22,27 +22,26 @@ class DataBoard
|
|||||||
changes: []
|
changes: []
|
||||||
|
|
||||||
save: (change, cb) ->
|
save: (change, cb) ->
|
||||||
snapshot1 = JSON.stringify @allData
|
|
||||||
change()
|
change()
|
||||||
{changes} = @
|
@changes.push change
|
||||||
changes.push change
|
|
||||||
$.get @key, {boards: {}}, (items) =>
|
$.get @key, {boards: {}}, (items) =>
|
||||||
@initData items[@key]
|
return unless @changes.length
|
||||||
snapshot2 = JSON.stringify @allData
|
needSync = ((items[@key].version or 0) > (@allData.version or 0))
|
||||||
c() for c in changes
|
if needSync
|
||||||
|
@initData items[@key]
|
||||||
|
change() for change in @changes
|
||||||
|
@changes = []
|
||||||
|
@allData.version = (@allData.version or 0) + 1
|
||||||
$.set @key, @allData, =>
|
$.set @key, @allData, =>
|
||||||
@changes = []
|
@sync?() if needSync
|
||||||
@sync?() if snapshot1 isnt snapshot2
|
|
||||||
cb?()
|
cb?()
|
||||||
|
|
||||||
forceSync: (cb) ->
|
forceSync: (cb) ->
|
||||||
snapshot1 = JSON.stringify @allData
|
|
||||||
{changes} = @
|
|
||||||
$.get @key, {boards: {}}, (items) =>
|
$.get @key, {boards: {}}, (items) =>
|
||||||
@initData items[@key]
|
if (items[@key].version or 0) > (@allData.version or 0)
|
||||||
snapshot2 = JSON.stringify @allData
|
@initData items[@key]
|
||||||
c() for c in changes
|
change() for change in @changes
|
||||||
@sync?() if snapshot1 isnt snapshot2
|
@sync?()
|
||||||
cb?()
|
cb?()
|
||||||
|
|
||||||
delete: ({boardID, threadID, postID}) ->
|
delete: ({boardID, threadID, postID}) ->
|
||||||
@ -145,5 +144,6 @@ class DataBoard
|
|||||||
$.set @key, @allData
|
$.set @key, @allData
|
||||||
|
|
||||||
onSync: (data) =>
|
onSync: (data) =>
|
||||||
|
return unless (data.version or 0) > (@allData.version or 0)
|
||||||
@initData data
|
@initData data
|
||||||
@sync?()
|
@sync?()
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user