Source code for pyforms_web.controls.control_button
from pyforms_web.controls.control_base import ControlBase
import simplejson
[docs]class ControlButton(ControlBase):
def __init__(self, *args, **kwargs):
if 'css' not in kwargs: kwargs['css']='blue'
self._labeled = kwargs.get('labeled', False)
super(ControlButton, self).__init__(*args, **kwargs)
def init_form(self): return "new ControlButton('{0}', {1})".format( self._name, simplejson.dumps(self.serialize()) )
[docs] def pressed(self):
"""
This event is called when the button is pressed.
The correspondent js event is defined in the framework.js file
"""
if not isinstance(self._value, str) and self._value: self._value()
def serialize(self):
res = super(ControlButton, self).serialize()
res.update({
'value': self.value if (isinstance(self.value, str) and len(self.value)>0) else None,
'labeled': self._labeled
})
return res
def deserialize(self, properties):
self._label = properties.get('label','')
self._help = properties.get('help','')
if properties.get('value',None):
self.value = properties.get('value',None)
self._visible = properties.get('visible',True)