27 lines
774 B
CoffeeScript
27 lines
774 B
CoffeeScript
# window.onTrue = (object, path, callback) ->
|
|
# if object.get(path)
|
|
# callback()
|
|
# else
|
|
# observer = ->
|
|
# object.removeObserver path, observer
|
|
# callback()
|
|
# object.addObserver path, observer
|
|
#
|
|
# window.onceLoaded = ->
|
|
# objects = Array.prototype.slice.apply(arguments)
|
|
# callback = objects.pop()
|
|
#
|
|
# # sadly Ember.Enumerable.compact does not remove undefined values
|
|
# objects = ((object || null) for object in objects).compact()
|
|
# object = objects.shift()
|
|
#
|
|
# if object
|
|
# path = if Ember.isArray(object) then 'firstObject.isLoaded' else 'isLoaded'
|
|
# onTrue object, path, ->
|
|
# if objects.length == 0
|
|
# callback(object)
|
|
# else
|
|
# onceLoaded.apply(objects + [callback])
|
|
# else
|
|
# callback object
|