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.$input = $('input', component);
this.$preview = $('.textbox-colour-preview', component);
$(component).append(
this.$preview = $('<span class="textbox-colour-preview"></span>')
);
this.$input
.on('change keyup', this.update)

View File

@@ -4,6 +4,7 @@
hint=False,
highlight_tags=False,
autofocus=False,
colour_preview=False,
help_link=None,
help_link_text=None,
width='2-3',
@@ -11,7 +12,10 @@
safe_error_message=False,
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 }}">
{% if label %}
{{ label }}
@@ -57,28 +61,3 @@
{% endif %}
</div>
{% 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" %}
{% from "components/file-upload.html" import file_upload %}
{% 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 %}
{{ '{} email branding'.format('Update' if email_branding else 'Create')}}
@@ -22,9 +22,9 @@
<div class="form-group">
<div style='margin-top:15px;'>{{textbox(form.name)}}</div>
<div style='margin-top:15px;'>{{textbox(form.text)}}</div>
{{colour_textbox(form.colour, width='1-4', colour=email_branding.colour if email_branding)}}
{{colour_textbox(form.banner_colour, width='1-4', colour=email_branding.banner_colour if email_branding)}}
{{colour_textbox(form.single_id_colour, width='1-4', colour=email_branding.single_id_colour if email_branding)}}
{{ textbox(form.colour, width='1-4', colour_preview=True) }}
{{ textbox(form.banner_colour, width='1-4', colour_preview=True) }}
{{ textbox(form.single_id_colour, width='1-4', colour_preview=True) }}
<div style='margin-top:15px;'>{{textbox(form.domain)}}</div>
{{ page_footer(
'Save',

View File

@@ -1,6 +1,6 @@
{% extends "org_template.html" %}
{% 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 %}
Change organisation name