Added docu.
This commit is contained in:
parent
90be104755
commit
b03bfe7327
1 changed files with 36 additions and 4 deletions
|
@ -162,6 +162,18 @@ class App.Model extends Spine.Model
|
||||||
return true
|
return true
|
||||||
return false
|
return false
|
||||||
|
|
||||||
|
###
|
||||||
|
|
||||||
|
methodWhichIsCalledAtLocalOrServerSiteChange = (changedItems) ->
|
||||||
|
console.log("Collection has changed", changedItems, localOrServer)
|
||||||
|
|
||||||
|
params =
|
||||||
|
initFetch: true # fetch inital collection
|
||||||
|
|
||||||
|
@subscribeId = App.Model.subscribe( methodWhichIsCalledAtLocalOrServerSiteChange )
|
||||||
|
|
||||||
|
###
|
||||||
|
|
||||||
@subscribe: (callback, param = {}) ->
|
@subscribe: (callback, param = {}) ->
|
||||||
if !@SUBSCRIPTION_COLLECTION
|
if !@SUBSCRIPTION_COLLECTION
|
||||||
@SUBSCRIPTION_COLLECTION = {}
|
@SUBSCRIPTION_COLLECTION = {}
|
||||||
|
@ -188,7 +200,7 @@ class App.Model extends Spine.Model
|
||||||
@SUBSCRIPTION_COLLECTION[key] = callback
|
@SUBSCRIPTION_COLLECTION[key] = callback
|
||||||
|
|
||||||
# fetch init collection
|
# fetch init collection
|
||||||
if param['initFetch'] is true
|
if param.initFetch is true
|
||||||
@one 'refresh', (collection) =>
|
@one 'refresh', (collection) =>
|
||||||
callback(collection)
|
callback(collection)
|
||||||
@fetch( {}, { clear: true } )
|
@fetch( {}, { clear: true } )
|
||||||
|
@ -196,7 +208,17 @@ class App.Model extends Spine.Model
|
||||||
# return key
|
# return key
|
||||||
key
|
key
|
||||||
|
|
||||||
subscribe: (callback) ->
|
###
|
||||||
|
|
||||||
|
methodWhichIsCalledAtLocalOrServerSiteChange = (changedItem, localOrServer) ->
|
||||||
|
console.log("Item has changed", changedItem, localOrServer)
|
||||||
|
|
||||||
|
model = App.Model.find(1)
|
||||||
|
@subscribeId = model.subscribe( methodWhichIsCalledAtLocalOrServerSiteChange )
|
||||||
|
|
||||||
|
###
|
||||||
|
|
||||||
|
subscribe: (callback, type) ->
|
||||||
|
|
||||||
# init bind
|
# init bind
|
||||||
if !App[ @constructor.className ]['SUBSCRIPTION_ITEM']
|
if !App[ @constructor.className ]['SUBSCRIPTION_ITEM']
|
||||||
|
@ -209,7 +231,7 @@ class App.Model extends Spine.Model
|
||||||
#console.log('BIND', item)
|
#console.log('BIND', item)
|
||||||
for key, callback of App[ @constructor.className ]['SUBSCRIPTION_ITEM'][ item.id ]
|
for key, callback of App[ @constructor.className ]['SUBSCRIPTION_ITEM'][ item.id ]
|
||||||
item = App[ @constructor.className ]._fillUp( item )
|
item = App[ @constructor.className ]._fillUp( item )
|
||||||
callback(item)
|
callback(item, 'local')
|
||||||
)
|
)
|
||||||
|
|
||||||
# subscribe and render data after server change
|
# subscribe and render data after server change
|
||||||
|
@ -221,7 +243,9 @@ class App.Model extends Spine.Model
|
||||||
if App[ @constructor.className ]['SUBSCRIPTION_ITEM'] && App[ @constructor.className ]['SUBSCRIPTION_ITEM'][ item.id ]
|
if App[ @constructor.className ]['SUBSCRIPTION_ITEM'] && App[ @constructor.className ]['SUBSCRIPTION_ITEM'][ item.id ]
|
||||||
#console.log('SERVER BIND', item)
|
#console.log('SERVER BIND', item)
|
||||||
for key, callback of App[ @constructor.className ]['SUBSCRIPTION_ITEM'][ item.id ]
|
for key, callback of App[ @constructor.className ]['SUBSCRIPTION_ITEM'][ item.id ]
|
||||||
App[ @constructor.className ].retrieve( item.id, callback, true )
|
callbackRetrieve = (item) ->
|
||||||
|
callback(item, 'server')
|
||||||
|
App[ @constructor.className ].retrieve( item.id, callbackRetrieve, true )
|
||||||
'Item::Subscribe::' + @constructor.className
|
'Item::Subscribe::' + @constructor.className
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -234,6 +258,14 @@ class App.Model extends Spine.Model
|
||||||
# return key
|
# return key
|
||||||
key
|
key
|
||||||
|
|
||||||
|
###
|
||||||
|
|
||||||
|
unsubscribe from model or collection
|
||||||
|
|
||||||
|
App.Model.unsubscribe( @subscribeId )
|
||||||
|
|
||||||
|
###
|
||||||
|
|
||||||
@unsubscribe: (data) ->
|
@unsubscribe: (data) ->
|
||||||
if @SUBSCRIPTION_ITEM
|
if @SUBSCRIPTION_ITEM
|
||||||
for id, keys of @SUBSCRIPTION_ITEM
|
for id, keys of @SUBSCRIPTION_ITEM
|
||||||
|
|
Loading…
Reference in a new issue