Merge pull request #151 from getgrav/feature-fix-forms

Work on forms
This commit is contained in:
Andy Miller
2015-09-07 09:19:08 -06:00
15 changed files with 4 additions and 208 deletions

View File

@@ -1,14 +0,0 @@
{% set value = (value is null ? field.default : value) %}
<div class="form-field">
<label class="inline">
<input type="checkbox"
name="{{ (scope ~ field.name)|fieldName }}"
{% if value == true %} checked="checked" {% endif %}
{% if field.autofocus in ['on', 'true', 1] %}autofocus="autofocus"{% endif %}
{% if field.novalidate in ['on', 'true', 1] %}novalidate="novalidate"{% endif %}
{% if field.validate.required in ['on', 'true', 1] %}required="required"{% endif %}
/>
{{ field.label|e }} {{ field.validate.required in ['on', 'true', 1] ? '<span class="required">*</span>' }}
</label>
</div>

View File

@@ -1,11 +0,0 @@
field:
checkbox:
node: boolean
key: name
fields:
name:
type: text
validation:
required: true
value:
type: text

View File

@@ -1,34 +0,0 @@
{% extends "forms/field.html.twig" %}
{% set originalValue = value %}
{% set value = (value is null ? field.default : value) %}
{% if field.use == 'keys' and field.default %}
{% set value = field.default|merge(value) %}
{% endif %}
{% block global_attributes %}
{{ parent() }}
data-grav-keys="{{ field.use == 'keys' ? 'true' : 'false' }}"
data-grav-field-name="{{ field.name|fieldName }}"
{% endblock %}
{% block input %}
{% for key, text in field.options %}
{% set id = field.name ~ '-' ~ key %}
{% set name = field.use == 'keys' ? key : id %}
{% set val = field.use == 'keys' ? '1' : key %}
{% set checked = (field.use == 'keys' ? value[key] : key in value) %}
<span class="checkboxes">
<input type="checkbox"
id="{{ id|e }}"
value="{{ val|e }}"
name="{{ field.name|fieldName ~ '[' ~ name ~ ']' }}"
{% if checked %}checked="checked"{% endif %}
{% if field.validate.required %}required="required"{% endif %}
>
<label for="{{ id|e }}">{{ text|e }}</label>
</span>
{% endfor %}
{% endblock %}

View File

@@ -1,20 +0,0 @@
{% extends "forms/field.html.twig" %}
{% set value = (value is null ? field.default : value) %}
{% set value = (value is null ? value : value|date('d-m-Y H:i')) %}
{% block input %}
<input
type="text"
data-grav-field-datetime
class="{{ field.classes }}"
name="{{ (scope ~ field.name)|fieldName }}"
value="{{ value }}"
{% if field.autofocus in ['on', 'true', 1] %}autofocus="autofocus"{% endif %}
{% if field.novalidate in ['on', 'true', 1] %}novalidate="novalidate"{% endif %}
{% if field.autocomplete in ['on', 'off'] %}autocomplete="{{ field.autocomplete }}"{% endif %}
{% if field.validate.required in ['on', 'true', 1] %}required="required"{% endif %}
{% if field.validate.min %}min="{{ (field.validate.min is null ? field.validate.min : field.validate.min|date("d-m-Y H:i")) }}"{% endif %}
{% if field.validate.max %}max="{{ (field.validate.max is null ? field.validate.max : field.validate.max|date("d-m-Y H:i")) }}"{% endif %}
/>
{% endblock %}

View File

@@ -1,11 +0,0 @@
{% extends "forms/field.html.twig" %}
{% block input %}
<div class="form-display-wrapper {{ field.size }}">
{% if field.markdown %}
{{ field.content|markdown }}
{% else %}
{{ field.content }}
{% endif %}
</div>
{% endblock %}

View File

@@ -1,32 +0,0 @@
{% set value = (value is null ? field.default : value) %}
<div class="form-field grid pure-g">
<div class="form-label block size-1-3 pure-u-1-3">
<label>
{% if field.help %}
<span class="tooltip" data-asTooltip-position="w" title="{{ field.help|e|tu }}">{{ field.label|tu }}</span>
{% else %}
{{ field.label|tu }}
{% endif %}
{{ field.validate.required in ['on', 'true', 1] ? '<span class="required">*</span>' }}
</label>
</div>
<div class="form-data block size-2-3 pure-u-2-3">
<div class="form-input-wrapper {{ field.size }}">
<input type="email"
class="{{ field.classes }}"
name="{{ (scope ~ field.name)|fieldName }}"
value="{{ value|join(', ') }}"
{% if field.placeholder %}placeholder="{{ field.placeholder }}"{% endif %}
{% if field.title %}title="{{ field.title }}"{% endif %}
{% if field.autofocus in ['on', 'true', 1] %}autofocus="autofocus"{% endif %}
{% if field.novalidate in ['on', 'true', 1] %}novalidate="novalidate"{% endif %}
{% if field.readonly in ['on', 'true', 1] %}readonly="readonly"{% endif %}
{% if field.autocomplete in ['on', 'off'] %}autocomplete="{{ field.autocomplete }}"{% endif %}
{% if field.validate.required in ['on', 'true', 1] %}required="required"{% endif %}
{% if field.validate.pattern %}pattern="{{ field.validate.pattern }}"{% endif %}
{% if field.validate.message %}title="{{ field.validate.message|e|tu }}"{% endif %}
/>
</div>
</div>
</div>

View File

@@ -1,3 +0,0 @@
{% set value = (value is null ? field.default : value) %}
<input data-grav-field="hidden" data-grav-disabled="false" type="hidden" class="input" name="{{ (scope ~ field.name)|fieldName }}" value="{{ value|join(', ') }}" />

View File

@@ -1,30 +0,0 @@
{% set value = (value is null ? field.default : value) %}
<div class="form-field grid pure-g">
<div class="form-label block size-1-3 pure-u-1-3">
<label>
{% if field.help %}
<span class="tooltip" data-asTooltip-position="w" title="{{ field.help|e|tu }}">{{ field.label|tu }}</span>
{% else %}
{{ field.label|tu }}
{% endif %}
{{ field.validate.required in ['on', 'true', 1] ? '<span class="required">*</span>' }}
</label>
</div>
<div class="form-data block size-2-3 pure-u-2-3">
<div class="form-input-wrapper {{ field.size }}">
<input type="password"
class="input"
name="{{ (scope ~ field.name)|fieldName }}"
value="{{ value|join(', ') }}"
{% if field.placeholder %}placeholder="{{ field.placeholder }}"{% endif %}
{% if field.autofocus in ['on', 'true', 1] %}autofocus="autofocus"{% endif %}
{% if field.novalidate in ['on', 'true', 1] %}novalidate="novalidate"{% endif %}
{% if field.autocomplete in ['on', 'off'] %}autocomplete="{{ field.autocomplete }}"{% endif %}
{% if field.validate.required in ['on', 'true', 1] %}required="required"{% endif %}
{% if field.validate.pattern %}pattern="{{ field.validate.pattern }}"{% endif %}
{% if field.validate.message %}title="{{ field.validate.message|e|tu }}"{% endif %}
/>
</div>
</div>
</div>

View File

@@ -1,9 +1,9 @@
{% if field.title %}
<h1 {% if not field.underline %}class="no_underline"{% endif %}>{{ field.title|tu }}</h1>
<h1 {% if not field.underline %}class="no_underline"{% endif %}>{% if grav.twig.twig.filters['tu'] is defined %}{{ field.title|tu }}{% else %}{{ field.title|t }}{% endif %}</h1>
{% endif %}
{% if field.text %}
<p>{{ field.text|tu }}<p>
<p>{% if grav.twig.twig.filters['tu'] is defined %}{{ field.text|tu }}{% else %}{{ field.text|t }}{% endif %}<p>
{% endif %}
{% if field.fields %}

View File

@@ -1,22 +0,0 @@
{% extends "forms/field.html.twig" %}
{% block global_attributes %}
data-grav-selectize="{{ (field.selectize is defined ? field.selectize : {})|json_encode()|e('html_attr') }}"
{{ parent() }}
{% endblock %}
{% block input %}
<div class="form-select-wrapper {{ field.size }}">
<select class="{{ field.classes }}" name="{{ (scope ~ field.name)|fieldName ~ (field.multiple ? '[]' : '') }}"
{% if field.autofocus in ['on', 'true', 1] %}autofocus="autofocus"{% endif %}
{% if field.novalidate in ['on', 'true', 1] %}novalidate="novalidate"{% endif %}
{% if field.validate.required in ['on', 'true', 1] %}required="required"{% endif %}
{% if field.multiple in ['on', 'true', 1] %}multiple="multiple"{% endif %}
{% if field.form %}form="{{ field.form }}"{% endif %}
>
{% for key, text in field.options %}
<option {% if key == value or (field.multiple and text in value) %}selected="selected"{% endif %} value="{{ field.multiple ? text : key }}">{{ text|tu }}</option>
{% endfor %}
</select>
</div>
{% endblock %}

View File

@@ -9,7 +9,7 @@
{% endif %}
{% if field.fields %}
{% for tab in field.fields %}<input type="radio" name="tab" id="tab{{ loop.index }}" class="tab-head" {{ active == loop.index ? 'checked="checked"' : '' }}/><label for="tab{{ loop.index }}">{{ tab.title|tu }}</label>{% endfor %}
{% for tab in field.fields %}<input type="radio" name="tab" id="tab{{ loop.index }}" class="tab-head" {{ active == loop.index ? 'checked="checked"' : '' }}/><label for="tab{{ loop.index }}">{% if grav.twig.twig.filters['tu'] is defined %}{{ tab.title|tu }}{% else %}{{ tab.title|t }}{% endif %}</label>{% endfor %}
<div class="tab-body-wrapper">
{% for field in field.fields %}
{% set value = data.value(field.name) %}

View File

@@ -1,6 +0,0 @@
{% extends "forms/field.html.twig" %}
{% block input_attributes %}
type="text"
{{ parent() }}
{% endblock %}

View File

@@ -1,21 +0,0 @@
{% extends "forms/field.html.twig" %}
{% block input %}
<div class="form-textarea-wrapper {{ field.size }}">
<textarea class="input" name="{{ (scope ~ field.name)|fieldName }}"
{# required attribute structures #}
name="{{ (scope ~ field.name)|fieldName }}"
{# input attribute structures #}
{% block input_attributes %}
{% if field.placeholder %}placeholder="{{ field.placeholder }}"{% endif %}
{% if field.autofocus in ['on', 'true', 1] %}autofocus="autofocus"{% endif %}
{% if field.novalidate in ['on', 'true', 1] %}novalidate="novalidate"{% endif %}
{% if field.readonly in ['on', 'true', 1] %}readonly="readonly"{% endif %}
{% if field.autocomplete in ['on', 'off'] %}autocomplete="{{ field.autocomplete }}"{% endif %}
{% if field.validate.required in ['on', 'true', 1] %}required="required"{% endif %}
{% if field.validate.pattern %}pattern="{{ field.validate.pattern }}"{% endif %}
{% if field.validate.message %}title="{{ field.validate.message|tu }}"{% endif %}
{% endblock %}
>{{ value|trim|e('html') }}</textarea>
</div>
{% endblock %}

View File

@@ -36,7 +36,7 @@
{% endif %}
{% if field.validate.required in ['on', 'true', 1] %}required="required"{% endif %}
/>
<label for="{{ id }}">{{ text|tu }}</label>
<label for="{{ id }}">{% if grav.twig.twig.filters['tu'] is defined %}{{ text|tu }}{% else %}{{ text|t }}{% endif %}</label>
{% endfor %}
<a></a>
</div>