Form Helpers

OPAL comes with a selection of templatetags that can help you with the repetitive task of generating Bootstrap and OPAL compatible markup for your forms.

{% checkbox ... %}

Generates a checkbox

Keywords:

{% datepicker ... %}

Generates a datepicker

Keywords:

{% datepicker ... %}

Generates a date time fields, a date field on one line and a time field on another

Keywords:

{% input ... %}

The input template tag generates you a form input that will play nicely with OPAL's styling.

Keywords:

Inputs for subrecord fields

A very common pattern is to render form fields that relate to fields of Subrecords. The input templatetag accepts a field argument, from which it will infer the label, model and lookuplist by introspecting the relevant subrecord model.

{% input field="allergies.drug" %}

Inputs with units

We also often want to display the unit of a particular field to help our users - consistent styling for this is available by using the unit argument e.g.

{% input label="Weight" model="editing.weight" unit="kg" %}

{% radio ... %}

Generates an inline radio input

Keywords:

{% select ... %}

Generates an inline select input

Keywords:

{% textarea ... %}

Generates an inline textarea input

Keywords:

{% static ... %}

Generates a bootstrap Static div (for displaying data from fields as uneditable but formatted nicely with appropriate styles).

Takes one positional argument, a string representing the subrecord field path.

{% static "Demographics.name" %}
<!-- Renders as -->
<div class="form-group">
  <label class="control-label col-sm-3">
    Name
  </label>
  <p class="form-control-static col-sm-8">
    [[ editing.demographics.name ]]
  </p>
</div>

{% icon "icon-name" %}

Renders a Bootstrap style Icon tag. If the icon starts with fa or glyphicon then we will insert the preceding fa.

{% icon "fa-user-md" %}
<i class="fa fa-user-md"></i>

{% icon "cusom-icon"}
<i class="custom-icon"></i>