aboutsummaryrefslogtreecommitdiff
path: root/src/hydrilla/proxy/web_ui/templates/import/checkbox_tricks.html.jinja
blob: 4ad9ca1e6e7435d5b85a011f3dca112702a121d0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
{#
SPDX-License-Identifier: GPL-3.0-or-later OR CC-BY-SA-4.0

Proxy web UI reusable macros for checkbox-based dynamically displayed elements.

This file is part of Hydrilla&Haketilo.

Copyright (C) 2022 Wojtek Kosior

Dual licensed under
* GNU General Public License v3.0 or later and
* Creative Commons Attribution Share Alike 4.0 International.

You can choose to use either of these licenses or both.


I, Wojtek Kosior, thereby promise not to sue for violation of this
file's licenses. Although I request that you do not make use of this
code in a proprietary work, I am not going to enforce this in court.
#}

{% macro hider_id(name) -%}
  {{ name }}_chbx
{%- endmacro %}

{% macro sibling_hider_but(button_text, name, initial_show=false) %}
  {% set attrs = {'type': 'checkbox', 'class': 'chbx-tricks-show-hide'} %}
  {% do attrs.update({'id': hider_id(name)}) %}
  {% do attrs.update({'checked': none if initial_show else ''}) %}
  <input {{ attrs|xmlattr }}>
  <label for="{{ hider_id(name) }}"
         class="green-button block-with-bottom-margin">
    {{ button_text }}
  </label>
{% endmacro %}

{% macro sibling_hider_radio(name, radio_id, initial_show=false) %}
  {% set attrs = {'type': 'radio', 'class': 'chbx-tricks-show'} %}
  {% do attrs.update({'name': name, 'id': radio_id}) %}
  {% do attrs.update({'checked': '' if initial_show else none}) %}
  <input {{ attrs|xmlattr }}>
{% endmacro %}