Back to Changedetection Io

Helpers

changedetectionio/templates/_helpers.html

0.55.34.5 KB
Original Source

{% macro render_field(field) %}

{{ field.label }}

{{ field(**kwargs)|safe }} {% if field.top_errors %} top {% for error in field.top_errors %} - {{ error }} {% endfor %} {% endif %} {% if field.errors %} {% if field.errors is mapping and 'form' in field.errors %} {# and subfield form errors, such as used in RequiredFormField() for TimeBetweenCheckForm sub form #} {% set errors = field.errors['form'] %} {% for error in errors %} - {{ error }} {% endfor %} {% elif field.type == 'FieldList' %} {# Handle FieldList of FormFields - errors is a list of dicts, one per entry #} {% for idx, entry_errors in field.errors|enumerate %} {% if entry_errors is mapping and entry_errors %} {# Only show entries that have actual errors #} - {{ _('Entry') }} {{ idx + 1 }}: {% for field_name, messages in entry_errors.items() %} {% for message in messages %} - {{ field_name }}: {{ message }} {% endfor %} {% endfor %} {% endif %} {% endfor %} {% else %} {# regular list of errors with this field #} {% for error in field.errors %} - {{ error }} {% endfor %} {% endif %} {% endif %} {% endmacro %} {% macro render_checkbox_field(field) %} {{ field(**kwargs)|safe }} {{ field.label.text | string | forceescape }} {% if field.errors %} {% for error in field.errors %} - {{ error }} {% endfor %} {% endif %} {% endmacro %} {% macro render_ternary_field(field, BooleanField=false) %} {% if BooleanField %} {% set dummy = field.__setattr__('boolean_mode', true) %} {% endif %}

{{ field.label.text | string | forceescape }}

{{ field(**kwargs)|safe }} {% if field.errors %} {% for error in field.errors %} - {{ error }} {% endfor %} {% endif %} {% endmacro %} {% macro render_simple_field(field) %} {{ field.label.text | string | forceescape }}{{ field(**kwargs)|safe }} {% if field.errors %} {% for error in field.errors %} - {{ error }} {% endfor %} {% endif %} {% endmacro %} {% macro render_nolabel_field(field) %} {{ field(**kwargs)|safe }} {% if field.errors %} {% if field.errors %} {% for error in field.errors %} - {{ error }} {% endfor %} {% endif %} {% endif %} {% endmacro %} {% macro render_button(field) %} {{ field(**kwargs)|safe }} {% endmacro %} {% macro render_fieldlist_with_inline_errors(fieldlist) %} {# Specialized macro for FieldList(FormField(...)) that renders errors inline with each field #} {{ _(fieldlist.label.text | string) }}

{% for entry in fieldlist %} - {{ _(fieldlist.label.text | string) }}-{{ loop.index0 }}

{% for subfield in entry %} | {{ subfield.label.text | string }} | {{ subfield(**kwargs)|safe }} {% if subfield.errors %} {% for error in subfield.errors %} - {{ error }} {% endfor %} {% endif %} | {% endfor %} {% endfor %}

{% endmacro %} {% macro render_conditions_fieldlist_of_formfields_as_table(fieldlist, table_id="rulesTable") %}

{% for subfield in fieldlist[0] %} {{ subfield.label.text | string }} {% endfor %} {{ _('Actions') }}

{% for form_row in fieldlist %} {% for subfield in form_row %} {{ subfield()|safe }} {% if subfield.errors %} {% for error in subfield.errors %} - {{ error }} {% endfor %} {% endif %} {% endfor %} +-✓

{% endfor %}

{% endmacro %} {% macro render_time_schedule_form(form, available_timezones, timezone_default_config) %}
{% if timezone_default_config %} {{ render_checkbox_field(form.time_schedule_limit.enabled) }} {{ _('Set a hourly/week day schedule') }}

{{ _('Schedule time limits') }}{{ _('Business hours') }}{{ _('Weekends') }}{{ _('Reset') }}

{% for day in ['monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday', 'sunday'] %} - {{ render_nolabel_field(form.time_schedule_limit[day]) }} {% endfor %} - {{ _("Warning, one or more of your 'days' has a duration that would extend into the next day.") }}
{{ _('This could have unintended consequences.') }}

  • {{ render_field(form.time_schedule_limit.timezone, placeholder=timezone_default_config) }} {%- for timezone in available_timezones -%}{{ timezone }}{%- endfor -%}

{{ _('More help and examples about using the scheduler') }} {% else %} {{ _('Want to use a time schedule?') }} {{ _('First confirm/save your Time Zone Settings') }}
{% endif %} {% endmacro %} {% macro highlight_trigger_ignored_explainer() %}

{{ _('Triggered text') }}{{ _('Ignored text') }}{{ _('Blocked text') }}

{% endmacro %}