42 lines
2.2 KiB
Django/Jinja
42 lines
2.2 KiB
Django/Jinja
{% macro build_widget_checkbox(param_group, widget) %}<label{% if widget.v_show %} v-show="{{ widget.v_show }}"{% endif %}>
|
|
<span>{{ widget.label }}</span>
|
|
<span class="toggle-input">
|
|
<input type="checkbox" v-model="param{{ param_group | title }}.{{ widget.name }}" />
|
|
<span class="slider"></span>
|
|
</span>
|
|
</label>{% endmacro %}
|
|
|
|
{% macro build_widget_number(param_group, widget) %}<label{% if widget.v_show %} v-show="{{ widget.v_show }}"{% endif %}>
|
|
</label>{% endmacro %}
|
|
|
|
{% macro build_widget_select(param_group, widget) %}<label{% if widget.v_show %} v-show="{{ widget.v_show }}"{% endif %}>
|
|
<span>{{ widget.label }}</span>
|
|
<select v-model="param{{ param_group | title }}.{{ widget.name }}">
|
|
{% for opt in widget['values'] %}
|
|
<option :value="{{ opt.value }}">{{ opt.label }}</option>
|
|
{% endfor %}
|
|
</select>
|
|
</label>{% endmacro %}
|
|
|
|
{% macro build_widget_flex_container(param_group, widget) %}<div class="tabs-item-flex-container"{% if widget.v_show %} v-show="{{ widget.v_show }}"{% endif %}>
|
|
{% for w in widget.childs %}{{ build_widget(param_group, w) }}{% endfor %}
|
|
</div>
|
|
{% endmacro %}
|
|
|
|
{% macro build_widget_settings_container(param_group, widget) %}<div class="settings-set-container"{% if widget.v_show %} v-show="{{ widget.v_show }}"{% endif %}>
|
|
{% for w in widget.childs %}{{ build_widget(param_group, w) }}{% endfor %}
|
|
</div>
|
|
{% endmacro %}
|
|
|
|
|
|
{% macro build_widget(param_group, widget) %}{% if widget.widget == 'flex-container' %}{{ build_widget_flex_container(param_group, widget) }}
|
|
{% elif widget.widget == 'settings-container' %}{{ build_widget_settings_container(param_group, widget) }}
|
|
{% elif widget.widget == 'h2' %}<h2{% if widget.v_show %} v-show="{{ widget.v_show }}"{% endif %}>{{ widget.label }}</h2>
|
|
{% elif widget.widget == 'h3' %}<h3{% if widget.v_show %} v-show="{{ widget.v_show }}"{% endif %}>{{ widget.label }}</h3>
|
|
{% elif widget.widget == 'checkbox' %}{{ build_widget_checkbox(param_group, widget) }}
|
|
{% elif widget.widget == 'number' %}{{ build_widget_number(param_group, widget) }}
|
|
{% elif widget.widget == 'select' %}{{ build_widget_select(param_group, widget) }}
|
|
{% else %}<p>Widget '{{ widget.widget }}' not defined!</p><p>{{ widget }}</p>
|
|
{% endif %}
|
|
{% endmacro %}
|