flowerbox/lib/assets/javascripts/flowerbox.js.coffee

40 lines
911 B
CoffeeScript
Raw Normal View History

2012-03-13 17:21:32 +00:00
#= require_self
#= require flowerbox/result
#= require flowerbox/exception
#
2012-03-02 18:28:52 +00:00
Flowerbox =
baseUrl: '/'
debug: false
2012-03-13 17:21:32 +00:00
ping: ->
Flowerbox.contact('ping')
working: false
2012-03-13 17:21:32 +00:00
2012-03-02 18:28:52 +00:00
contact: (url, data...) ->
if !Flowerbox.debug
Flowerbox.contactQueue ||= []
2012-03-13 17:21:32 +00:00
Flowerbox.contactQueue.push([url, data])
Flowerbox.workOffQueue()
2012-03-13 17:21:32 +00:00
workOffQueue: ->
if !Flowerbox.working
Flowerbox.working = true
Flowerbox.doWorkOffQueue()
doWorkOffQueue: ->
if Flowerbox.contactQueue.length > 0
[ url, data ] = Flowerbox.contactQueue.shift()
xhr = new XMLHttpRequest()
xhr.open("POST", Flowerbox.baseUrl + url, true)
xhr.setRequestHeader("Accept", "application/json")
xhr.onreadystatechange = ->
if @readyState == @DONE
Flowerbox.doWorkOffQueue()
xhr.send(JSON.stringify(data))
else
Flowerbox.working = false
2012-03-13 17:21:32 +00:00
2012-03-03 16:28:03 +00:00
fail: ->
2012-03-13 17:21:32 +00:00