summaryrefslogtreecommitdiff
path: root/import
diff options
context:
space:
mode:
authorWojtek Kosior <koszko@koszko.org>2022-10-28 21:43:22 +0200
committerWojtek Kosior <koszko@koszko.org>2022-10-28 21:43:22 +0200
commita38750ae1e62af2320069264c30c8693a1a858b4 (patch)
treed7cef05530db6c09b9bfda52b1e91dea853144b2 /import
downloadhydrilla-common-html-jinja-templates-a38750ae1e62af2320069264c30c8693a1a858b4.tar.gz
hydrilla-common-html-jinja-templates-a38750ae1e62af2320069264c30c8693a1a858b4.zip
move common Jinja templates to a common subrepository
Diffstat (limited to 'import')
-rw-r--r--import/checkbox_tricks.html.jinja42
1 files changed, 42 insertions, 0 deletions
diff --git a/import/checkbox_tricks.html.jinja b/import/checkbox_tricks.html.jinja
new file mode 100644
index 0000000..4ad9ca1
--- /dev/null
+++ b/import/checkbox_tricks.html.jinja
@@ -0,0 +1,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 %}