Refactor to not repeat lots of Jinja code

This commit is contained in:
Chris Hill-Scott
2018-08-20 15:03:58 +01:00
parent b73e42650d
commit 6501105768
4 changed files with 14 additions and 32 deletions

View File

@@ -9,7 +9,10 @@
this.start = component => { this.start = component => {
this.$input = $('input', component); this.$input = $('input', component);
this.$preview = $('.textbox-colour-preview', component);
$(component).append(
this.$preview = $('<span class="textbox-colour-preview"></span>')
);
this.$input this.$input
.on('change keyup', this.update) .on('change keyup', this.update)

View File

@@ -4,6 +4,7 @@
hint=False, hint=False,
highlight_tags=False, highlight_tags=False,
autofocus=False, autofocus=False,
colour_preview=False,
help_link=None, help_link=None,
help_link_text=None, help_link_text=None,
width='2-3', width='2-3',
@@ -11,7 +12,10 @@
safe_error_message=False, safe_error_message=False,
rows=8 rows=8
) %} ) %}
<div class="form-group{% if field.errors %} form-group-error{% endif %}" {% if autofocus %}data-module="autofocus"{% endif %}> <div
class="form-group{% if field.errors %} form-group-error{% endif %}"
data-module="{% if autofocus %}autofocus{% elif colour_preview %}colour-preview{% endif %}"
>
<label class="form-label" for="{{ field.name }}"> <label class="form-label" for="{{ field.name }}">
{% if label %} {% if label %}
{{ label }} {{ label }}
@@ -57,28 +61,3 @@
{% endif %} {% endif %}
</div> </div>
{% endmacro %} {% endmacro %}
{% macro colour_textbox(
field,
width='2-3'
) %}
<div class="form-group{% if field.errors %} form-group-error{% endif %}" data-module="colour-preview">
<label class="form-label" for="{{ field.name }}">
{{ field.label.text }}
{% if field.errors %}
<span class="error-message" data-module="track-error" data-error-type="{{ field.errors[0] }}" data-error-label="{{ field.name }}">
{{ field.errors[0] }}
</span>
{% endif %}
</label>
{% set field_class = 'form-control-{} {}'.format(width, 'textbox-right-aligned' if suffix else '') %}
{% set field_class = 'form-control ' + field_class + (' form-control-error' if field.errors else '') %}
{{ field(
class=field_class,
data_module='',
rows='1',
**kwargs
) }}
<span class="textbox-colour-preview"></span>
</div>
{% endmacro %}

View File

@@ -1,7 +1,7 @@
{% extends "views/platform-admin/_base_template.html" %} {% extends "views/platform-admin/_base_template.html" %}
{% from "components/file-upload.html" import file_upload %} {% from "components/file-upload.html" import file_upload %}
{% from "components/page-footer.html" import page_footer %} {% from "components/page-footer.html" import page_footer %}
{% from "components/textbox.html" import textbox, colour_textbox %} {% from "components/textbox.html" import textbox %}
{% block service_page_title %} {% block service_page_title %}
{{ '{} email branding'.format('Update' if email_branding else 'Create')}} {{ '{} email branding'.format('Update' if email_branding else 'Create')}}
@@ -22,9 +22,9 @@
<div class="form-group"> <div class="form-group">
<div style='margin-top:15px;'>{{textbox(form.name)}}</div> <div style='margin-top:15px;'>{{textbox(form.name)}}</div>
<div style='margin-top:15px;'>{{textbox(form.text)}}</div> <div style='margin-top:15px;'>{{textbox(form.text)}}</div>
{{colour_textbox(form.colour, width='1-4', colour=email_branding.colour if email_branding)}} {{ textbox(form.colour, width='1-4', colour_preview=True) }}
{{colour_textbox(form.banner_colour, width='1-4', colour=email_branding.banner_colour if email_branding)}} {{ textbox(form.banner_colour, width='1-4', colour_preview=True) }}
{{colour_textbox(form.single_id_colour, width='1-4', colour=email_branding.single_id_colour if email_branding)}} {{ textbox(form.single_id_colour, width='1-4', colour_preview=True) }}
<div style='margin-top:15px;'>{{textbox(form.domain)}}</div> <div style='margin-top:15px;'>{{textbox(form.domain)}}</div>
{{ page_footer( {{ page_footer(
'Save', 'Save',

View File

@@ -1,6 +1,6 @@
{% extends "org_template.html" %} {% extends "org_template.html" %}
{% from "components/page-footer.html" import page_footer %} {% from "components/page-footer.html" import page_footer %}
{% from "components/textbox.html" import textbox, colour_textbox %} {% from "components/textbox.html" import textbox %}
{% block org_page_title %} {% block org_page_title %}
Change organisation name Change organisation name