from scaffold.core.widget import base_widget
class control(base_widget):
method = 'post'
action = '/'
inputs = []
template = '''
'''
def create(self, action, method='post'):
self.action = action
self.method = method
return self
@staticmethod
def set_template(template):
if template:
control.template = template
def append(self, input_type, input_name, label, values="", classes='validate', disabled='')
if input_type == 'select' and values:
if type(values) is not list or tuple:
self.inputs.append("""""" % (input_name, input_name))
return self
if len(values[0]) == 2:
self.inputs.append("""
""" % (
input_name,
input_name,
"\n".join(["""""" % (value, item) for value, item in values]))
else:
self.inputs.append("""
""" % (
input_name,
input_name,
"\n".join(["""""" % (item, item) for item in values]))
return self
self.inputs.append("""
""" % (
input_type,
input_name,
input_name,
label,
'disabled="disabled" ' if disabled else '',
classes,
value,
input_name,
label)
)
def render(self):
super(control, self).render()
return """
""" % (
self.method,
self.action,
"\n".join([control.template % input_item for input_item in inputs])
)