document.write('
Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. # local collection to save the data per field name
  2. # issue: must concatenate the idForm and field name
  3. # to permit several fields with the same name
  4. xdata = new Meteor.Collection null
  5.  
  6. $.valHooks[\'xboolean\'] =
  7.     get: (el)->
  8.         name = $(el).attr(\'name\')
  9.         xdata.findOne(name:name).value
  10.     set: (el, value)->  
  11.         name = $(el).attr(\'name\')
  12.         xdata.update({name:name}, {$set:{value: value}})
  13.  
  14. $.fn.xboolean = (name)->
  15.     this.each ->
  16.         this.type = \'xboolean\'
  17.     this
  18.  
  19. # we make the widget on svg element
  20. # so the svg must have the attr data-schema-key
  21. # to work with AutoForm
  22. Template.xboolean.rendered = ->
  23.     $(this.find(\'svg\')).xboolean()
  24.  
  25. Template.xboolean.events
  26.     \'click circle\': (e,t) ->
  27.         name = $(e.target).attr(\'name\')
  28.         val = xdata.findOne(name:name).value
  29.         xdata.update({name:name}, {$set:{value: not val}})
  30.  
  31. Template.xboolean.helpers
  32.     setInitial: (name, value)->
  33.         if value == \'true\' then value = true else value = false
  34.         xdata.insert({name:name, value:value})
  35.         null
  36.     getColor: (name) ->
  37.         val = xdata.findOne(name:name).value
  38.         if val then \'green\' else \'red\'
');