Files
EWF/examples/widgetapp/widget.coffee
2013-08-28 00:04:42 +02:00

46 lines
951 B
CoffeeScript

trigger_callback = (control_name,event)->
$.ajax
data:
control_name: control_name
event: event
cache: no
.done (new_states)->
states = new_states
for name,state of states
controls[name].update(state)
return
class WSF_CONTROL
constructor: (@control_name, @$el)->
@attach_events()
return
attach_events: ()->
return
update: (state)->
return
controls = {}
class WSF_BUTTON_CONTROL extends WSF_CONTROL
attach_events: ()->
self = @
@$el.click ()->
self.click()
click: ()->
trigger_callback(@control_name, 'click')
update: (state) ->
@$el.text(state.text)
typemap =
"WSF_BUTTON_CONTROL":WSF_BUTTON_CONTROL
for name,state of states
$el = $('[data-name='+name+']')
type = $el.data('type')
#bind widget
controls[name]=new typemap[type](name,$el)