travis-web/assets/javascripts/lib/hax0rs.coffee
2012-07-22 17:23:35 +02:00

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