Skip to content

Commit 6116b51

Browse files
author
Kal Walkden
committed
Large overhaul of field building, added CheckboxSelectMultiple Ffeld
1 parent bd3a06e commit 6116b51

File tree

3 files changed

+96
-59
lines changed

3 files changed

+96
-59
lines changed

README.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ Use it like this, simple.
8787

8888
### Individual field
8989

90-
{{ form.<field name>|materializecss }}
90+
{{ form.<<field name>> | materializecss }}
9191

9292

9393
### Custom size (default is 's12')
@@ -109,9 +109,14 @@ Use it like this, simple.
109109

110110
- TextInput
111111
- Textarea
112+
- CheckboxInput
113+
- RadioSelect
112114
- Select
115+
- SelectMultiple
116+
- CheckboxSelectMultiple
113117
- Filefield
114118
- DateField
119+
- DateTimeField (doesn't show time yet)
115120

116121

117122

materializecssform/meta.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
from distutils.version import StrictVersion
22

33

4-
VERSION = StrictVersion('1.1.5')
4+
VERSION = StrictVersion('1.1.6')

materializecssform/templates/materializecssform/field.html

Lines changed: 89 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@
22

33

44
{% if field|is_checkbox %}
5-
<div class="col {{ classes.label }}">
6-
<div class="{{ classes.single_value }} {% if field.field.required and form.required_css_class %}{{ form.required_css_class }}{% endif %}">
5+
<div class="col {{ classes.label }} {{ classes.value }} {{ classes.single_value }}">
6+
<div class="{% if field.field.required and form.required_css_class %}{{ form.required_css_class }}{% endif %}">
77
<label>
8-
{% if field.auto_id %}
9-
{{ field }}
108

9+
{{ field }}
10+
{% if field.auto_id %}
1111
<span>{{ field.label }}</span>
1212
{% endif %}
1313
{% for error in field.errors %}
@@ -23,11 +23,11 @@
2323
</div>
2424
</div>
2525
{% elif field|is_radio %}
26-
<div class="col {{ classes.label }}">
27-
<div class="{{ classes.single_value }} {% if field.field.required and form.required_css_class %}{{ form.required_css_class }}{% endif %}">
26+
<div class="col {{ classes.label }} {{ classes.value }} {{ classes.single_value }}">
27+
<div class="{% if field.field.required and form.required_css_class %}{{ form.required_css_class }}{% endif %}">
2828
<label>
29+
{{ field }}
2930
{% if field.auto_id %}
30-
{{ field }}
3131
<span>{{ field.label }}</span>
3232
{% endif %}
3333
{% for error in field.errors %}
@@ -42,74 +42,106 @@
4242
</div>
4343
</div>
4444
{% elif field|is_date_input or field|is_datetime_input %}
45-
<div class="col {{ classes.label }}">
45+
<div class="input-field col {{ classes.label }} {{ classes.value }} {{ classes.single_value }}">
4646

47-
<label for="{{ field.id_for_label }}">{{ field.label }}</label>
4847
<input type="date" id="{{ field.auto_id }}" name="{{ field.name }}" class="datepicker" value="{% if field.value %}{{ field.value }}{% endif %}">
48+
<label for="{{ field.id_for_label }}">{{ field.label }}</label>
4949

50-
{% for error in field.errors %}
51-
<span class="help-block {{ form.error_css_class }}">{{ error }}</span>
52-
{% endfor %}
50+
{% for error in field.errors %}
51+
<span class="help-block {{ form.error_css_class }}">{{ error }}</span>
52+
{% endfor %}
53+
54+
{% if field.help_text %}
55+
<p class="help-block">
56+
{{ field.help_text|safe }}
57+
</p>
58+
{% endif %}
5359

54-
{% if field.help_text %}
55-
<p class="help-block">
56-
{{ field.help_text|safe }}
57-
</p>
58-
{% endif %}
5960
</div>
6061
{% elif field|is_select %}
61-
<div class="col input-field {{ classes.label }} {{ classes.value }}">
62+
<div class="input-field col {{ classes.label }} {{ classes.value }} {{ classes.single_value }}">
6263
{% if field|is_select_multiple %}
63-
<div class="input-field {{ classes.value }}">
64-
<select multiple name="{{ field.name }}">
65-
{% for choice in field %}
66-
{{ choice.tag }}
67-
{% endfor %}
68-
</select>
69-
{% if field.auto_id %}
70-
<label class="control-label {{ classes.label }} {% if field.field.required %}{{ form.required_css_class }}{% endif %}">{{ field.label }}</label>
71-
{% endif %}
72-
73-
{% for error in field.errors %}
74-
<span class="help-block {{ form.error_css_class }}">{{ error }}</span>
64+
<select multiple name="{{ field.name }}">
65+
{% for choice in field %}
66+
{{ choice.tag }}
7567
{% endfor %}
68+
</select>
69+
{% if field.auto_id %}
70+
<label class="control-label {{ classes.label }} {% if field.field.required %}{{ form.required_css_class }}{% endif %}">{{ field.label }}</label>
71+
{% endif %}
7672

77-
{% if field.help_text %}
78-
<p class="help-block">
79-
{{ field.help_text|safe }}
80-
</p>
81-
{% endif %}
82-
</div>
73+
{% for error in field.errors %}
74+
<span class="help-block {{ form.error_css_class }}">{{ error }}</span>
75+
{% endfor %}
8376

84-
{% else %}
85-
<select name="{{ field.name }}">
86-
{% for choice in field %}
87-
{{ choice.tag }}
88-
{% endfor %}
89-
</select>
90-
{% if field.auto_id %}
91-
<label class="control-label {{ classes.label }} {% if field.field.required %}{{ form.required_css_class }}{% endif %}">{{ field.label }}</label>
92-
{% endif %}
77+
{% if field.help_text %}
78+
<p class="help-block">
79+
{{ field.help_text|safe }}
80+
</p>
81+
{% endif %}
9382

94-
{% for error in field.errors %}
95-
<span class="help-block {{ form.error_css_class }}">{{ error }}</span>
83+
{% else %}
84+
<select name="{{ field.name }}">
85+
{% for choice in field %}
86+
{{ choice.tag }}
9687
{% endfor %}
88+
</select>
89+
{% if field.auto_id %}
90+
<label class="control-label {{ classes.label }} {% if field.field.required %}{{ form.required_css_class }}{% endif %}">{{ field.label }}</label>
91+
{% endif %}
9792

98-
{% if field.help_text %}
99-
<p class="help-block">
100-
{{ field.help_text|safe }}
101-
</p>
102-
{% endif %}
93+
{% for error in field.errors %}
94+
<span class="help-block {{ form.error_css_class }}">{{ error }}</span>
95+
{% endfor %}
96+
97+
{% if field.help_text %}
98+
<p class="help-block">
99+
{{ field.help_text|safe }}
100+
</p>
101+
{% endif %}
103102

104103
{% endif %}
105104

106105
</div>
107106

107+
{% elif field|is_multiple_checkbox %}
108+
<div class="col {{ classes.label }} {{ classes.value }} {{ classes.single_value }}">
109+
{% if field.auto_id %}
110+
<label>{{ field.label }}</label>
111+
{% endif %}
112+
<div id="{{field.auto_id}}">
113+
<ul>
114+
115+
{% for choice in field %}
116+
117+
<li class="{% if field.field.required and form.required_css_class %}{{ form.required_css_class }}{% endif %}">
118+
<label>
119+
{{ choice.tag }}
120+
<span>{{ choice.choice_label }}</span>
121+
</label>
122+
</li>
123+
124+
{% endfor %}
125+
126+
</ul>
127+
{% for error in field.errors %}
128+
<span class="help-block {{ form.error_css_class }}">{{ error }}</span>
129+
{% endfor %}
130+
131+
{% if field.help_text %}
132+
<p class="help-block">
133+
{{ field.help_text|safe }}
134+
</p>
135+
{% endif %}
136+
</div>
137+
138+
</div>
139+
108140
{% elif field|is_textarea %}
109-
<div class="input-field col {{ classes.label }}">
141+
<div class="input-field col {{ classes.label }} {{ classes.value }} {{ classes.single_value }}">
110142
<textarea id="{{ field.auto_id }}" class="materialize-textarea" name="{{field.name}}">{% if field.value %}{{ field.value }}{% endif %}</textarea>
111143
{% if field.auto_id %}
112-
<label class="{{ classes.label }} {% if field.field.required %}{{ form.required_css_class }}{% endif %}" for="{{ field.auto_id }}">{{ field.label }}</label>
144+
<label class="{% if field.field.required %}{{ form.required_css_class }}{% endif %}" for="{{ field.auto_id }}">{{ field.label }}</label>
113145
{% endif %}
114146

115147
{% for error in field.errors %}
@@ -124,7 +156,7 @@
124156
</div>
125157

126158
{% elif field|is_file %}
127-
<div class="col {{ classes.label }}">
159+
<div class="col {{ classes.label }} {{ classes.value }} {{ classes.single_value }}">
128160

129161
{% for error in field.errors %}
130162
<p class="help-block orange-text {{ form.error_css_class }}">{{ error }}</p>
@@ -143,10 +175,10 @@
143175
</div>
144176
{% else %}
145177

146-
<div class="input-field col {{ classes.label }}">
178+
<div class="input-field col {{ classes.label }} {{ classes.value }} {{ classes.single_value }}">
147179
{{ field }}
148180
{% if field.auto_id %}
149-
<label class="{{ classes.label }} {% if field.field.required %}{{ form.required_css_class }}{% endif %}" for="{{ field.auto_id }}">{{ field.label }}</label>
181+
<label class="{% if field.field.required %}{{ form.required_css_class }}{% endif %}" for="{{ field.auto_id }}">{{ field.label }}</label>
150182
{% endif %}
151183

152184
{% for error in field.errors %}

0 commit comments

Comments
 (0)