Output a control named foo
{{control "foo"}}
Any valid changes to the control input’s value are propagated to the controlmodel.
Any validation errors are automatically displayed.
By default, the control uses the containing view's model for its value its schema from which is determines which settings apply, using the control’s name as the model/schema property.
All settings can be overridden by passing the corresponding attribute explicitly in the control helper.
Output a control in display mode
{{control "foo" display=true}}
{{control "foo" edit=false}}
Pass a value explicitly
{{control "foo" value=bar}}
Make the control’s value required
{{control "foo" required=true}}
Denote that the control can accept multiline input
{{control "foo" multiline=true}}
Set the control’s phrasekey
{{control "foo" phrasekey="fookey"}}
Set the control’s label
{{control "foo" label="Foo bar"}}
{{control "foo" label="foo.label"}} <- passing a phrasekey
Set the control’s note
{{control "foo" note="Foo is often followed by bar"}}
{{control "foo" note="foo.note"}} <- passing a phrasekey
See bauplan.control.view~initialize for more details on the phrasekey and how labels and notes are looked up
Setting the control-type explicitly
{{control "foo" control-type="payment-date-expiry"}}
{{control "foo" control-type="checkbox"}}
{{control "foo" control-type="select" options=optionsfoo}}
{{control "foo" control-type="password"}}
Setting the primitive explicitly
{{control "foo" control-primitive="number" }}
Setting the format explicitly
{{control "foo" control-format="email"}}
Any other attributes are passed to the control’s input
{{control "foo" attributes=attributes data-bar="baz"}}
Pre-compilation
The control helper is automatically converted into the correspnding view helper when the templates are loaded
The view template calls the specific control template wrapped in the control template
eg.
{{control "foo"}} -> {{view "control" control-name="foo"}}
Basic flow
~control
if edit
~control.edit
label
~{{controltemplate}}.edit
note
notifications (errors etc)
else
~control.display
heading
~{{controltemplate}}.display
If there is no such template for {{controltemplate}}.{{mode}}, then the text template for the corresponding mode is used
- Source:
- See:
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
controltemplate |
string | Name of control template |
|
attributes |
object |
<optional> |
Attributes to be passed on to specific control template |