mirror of
https://github.com/getgrav/grav-plugin-admin.git
synced 2025-11-04 20:36:03 +01:00
Added support for textarea value type in Array field
This commit is contained in:
@@ -1,3 +1,9 @@
|
|||||||
|
# v1.8.8
|
||||||
|
## mm/dd/2018
|
||||||
|
|
||||||
|
1. [](#improved)
|
||||||
|
* Added support for textarea value type in `array` field
|
||||||
|
|
||||||
# v1.8.7
|
# v1.8.7
|
||||||
## 07/31/2018
|
## 07/31/2018
|
||||||
|
|
||||||
|
|||||||
@@ -28,6 +28,10 @@ class Template {
|
|||||||
return this.container.find('[data-grav-array-mode="value_only"]:first').length || false;
|
return this.container.find('[data-grav-array-mode="value_only"]:first').length || false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
isTextArea() {
|
||||||
|
return this.container.data('grav-array-textarea') || false;
|
||||||
|
}
|
||||||
|
|
||||||
shouldBeDisabled() {
|
shouldBeDisabled() {
|
||||||
// check for toggleables, if field is toggleable and it's not enabled, render disabled
|
// check for toggleables, if field is toggleable and it's not enabled, render disabled
|
||||||
let toggle = this.container.closest('.form-field').find('[data-grav-field="toggleable"] input[type="checkbox"]');
|
let toggle = this.container.closest('.form-field').find('[data-grav-field="toggleable"] input[type="checkbox"]');
|
||||||
@@ -35,20 +39,22 @@ class Template {
|
|||||||
}
|
}
|
||||||
|
|
||||||
getNewRow() {
|
getNewRow() {
|
||||||
let tpl = '';
|
let tpl = '';const value = this.isTextArea()
|
||||||
|
? `<textarea ${this.shouldBeDisabled() ? 'disabled="disabled"' : ''} data-grav-array-type="value" name="" placeholder="${this.getValuePlaceholder()}"></textarea>`
|
||||||
|
: `<input ${this.shouldBeDisabled() ? 'disabled="disabled"' : ''} data-grav-array-type="value" type="text" name="" value="" placeholder="${this.getValuePlaceholder()}" />`;
|
||||||
|
|
||||||
if (this.isValueOnly()) {
|
if (this.isValueOnly()) {
|
||||||
tpl += `
|
tpl += `
|
||||||
<div class="form-row array-field-value_only" data-grav-array-type="row">
|
<div class="form-row array-field-value_only" data-grav-array-type="row">
|
||||||
<span data-grav-array-action="sort" class="fa fa-bars"></span>
|
<span data-grav-array-action="sort" class="fa fa-bars"></span>
|
||||||
<input ${this.shouldBeDisabled() ? 'disabled="disabled"' : ''} data-grav-array-type="value" type="text" value="" placeholder="${this.getValuePlaceholder()}" />
|
${value}
|
||||||
`;
|
`;
|
||||||
} else {
|
} else {
|
||||||
tpl += `
|
tpl += `
|
||||||
<div class="form-row" data-grav-array-type="row">
|
<div class="form-row" data-grav-array-type="row">
|
||||||
<span data-grav-array-action="sort" class="fa fa-bars"></span>
|
<span data-grav-array-action="sort" class="fa fa-bars"></span>
|
||||||
<input ${this.shouldBeDisabled() ? 'disabled="disabled"' : ''} data-grav-array-type="key" type="text" value="" placeholder="${this.getKeyPlaceholder()}" />
|
<input ${this.shouldBeDisabled() ? 'disabled="disabled"' : ''} data-grav-array-type="key" type="text" value="" placeholder="${this.getKeyPlaceholder()}" />
|
||||||
<input ${this.shouldBeDisabled() ? 'disabled="disabled"' : ''} data-grav-array-type="value" type="text" name="" value="" placeholder="${this.getValuePlaceholder()}" />
|
${value}
|
||||||
`;
|
`;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
27
themes/grav/js/admin.min.js
vendored
27
themes/grav/js/admin.min.js
vendored
File diff suppressed because one or more lines are too long
30
themes/grav/js/vendor.min.js
vendored
30
themes/grav/js/vendor.min.js
vendored
File diff suppressed because one or more lines are too long
@@ -4,38 +4,47 @@
|
|||||||
data-grav-array-name="{{ (scope ~ field.name)|fieldName }}"
|
data-grav-array-name="{{ (scope ~ field.name)|fieldName }}"
|
||||||
data-grav-array-keyname="{{ field.placeholder_key|e|tu }}"
|
data-grav-array-keyname="{{ field.placeholder_key|e|tu }}"
|
||||||
data-grav-array-valuename="{{ field.placeholder_value|e|tu }}"
|
data-grav-array-valuename="{{ field.placeholder_value|e|tu }}"
|
||||||
|
data-grav-array-textarea="{{ field.value_type == 'textarea' }}"
|
||||||
{{ parent() }}
|
{{ parent() }}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% macro renderer(key, text, field, scope) %}
|
{% macro renderer(key, text, field, scope) %}
|
||||||
|
|
||||||
{% if text is not iterable %}
|
{% if text is not iterable %}
|
||||||
<div class="form-row{% if field.value_only %} array-field-value_only{% endif %}"
|
<div class="form-row{% if field.value_only %} array-field-value_only{% endif %}"
|
||||||
data-grav-array-type="row">
|
data-grav-array-type="row">
|
||||||
<span data-grav-array-action="sort" class="fa fa-bars"></span>
|
<span data-grav-array-action="sort" class="fa fa-bars"></span>
|
||||||
{% if field.value_only != true %}
|
{% if field.value_only != true %}
|
||||||
{% if key == '0' and text == '' %}
|
{% if key == '0' and text == '' %}
|
||||||
{% set key = '' %}
|
{% set key = '' %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
<input
|
||||||
|
data-grav-array-type="key"
|
||||||
|
type="text" value="{{ key }}"
|
||||||
|
{% if field.disabled or isDisabledToggleable %}disabled="disabled"{% endif %}
|
||||||
|
placeholder="{{ field.placeholder_key|e|tu }}" />
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<input
|
{% if field.value_type == 'textarea' %}
|
||||||
data-grav-array-type="key"
|
<textarea
|
||||||
type="text" value="{{ key }}"
|
data-grav-array-type="value"
|
||||||
{% if field.disabled or isDisabledToggleable %}disabled="disabled"{% endif %}
|
name="{{ ((scope ~ field.name)|fieldName) ~ '[' ~ key ~ ']' }}"
|
||||||
placeholder="{{ field.placeholder_key|e|tu }}" />
|
placeholder="{{ field.placeholder_value|e|tu }}"
|
||||||
{% endif %}
|
{% if field.disabled or isDisabledToggleable %}disabled="disabled"{% endif %}>{{ text }}</textarea>
|
||||||
|
{% else %}
|
||||||
|
<input
|
||||||
|
data-grav-array-type="value"
|
||||||
|
type="text"
|
||||||
|
name="{{ ((scope ~ field.name)|fieldName) ~ '[' ~ key ~ ']' }}"
|
||||||
|
placeholder="{{ field.placeholder_value|e|tu }}"
|
||||||
|
{% if field.disabled or isDisabledToggleable %}disabled="disabled"{% endif %}
|
||||||
|
value={% if text == 'true' %}true{% elseif text == 'false' %}false{% else %}"{{ text|join(', ')|e }}"{% endif %} />
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
<input
|
<span data-grav-array-action="rem" class="fa fa-minus"></span>
|
||||||
data-grav-array-type="value"
|
<span data-grav-array-action="add" class="fa fa-plus"></span>
|
||||||
type="text"
|
</div>
|
||||||
name="{{ ((scope ~ field.name)|fieldName) ~ '[' ~ key ~ ']' }}"
|
|
||||||
placeholder="{{ field.placeholder_value|e|tu }}"
|
|
||||||
{% if field.disabled or isDisabledToggleable %}disabled="disabled"{% endif %}
|
|
||||||
value={% if text == 'true' %}true{% elseif text == 'false' %}false{% else %}"{{ text|join(', ')|e }}"{% endif %} />
|
|
||||||
|
|
||||||
<span data-grav-array-action="rem" class="fa fa-minus"></span>
|
|
||||||
<span data-grav-array-action="add" class="fa fa-plus"></span>
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endmacro %}
|
{% endmacro %}
|
||||||
|
|
||||||
@@ -58,18 +67,26 @@
|
|||||||
<div class="form-row" data-grav-array-type="row">
|
<div class="form-row" data-grav-array-type="row">
|
||||||
<span data-grav-array-action="sort" class="fa fa-bars"></span>
|
<span data-grav-array-action="sort" class="fa fa-bars"></span>
|
||||||
{% if field.value_only != true %}
|
{% if field.value_only != true %}
|
||||||
<input
|
<input
|
||||||
data-grav-array-type="key"
|
data-grav-array-type="key"
|
||||||
type="text"
|
type="text"
|
||||||
{% if field.disabled or isDisabledToggleable %}disabled="disabled"{% endif %}
|
{% if field.disabled or isDisabledToggleable %}disabled="disabled"{% endif %}
|
||||||
placeholder="{{ field.placeholder_key|e|tu }}" />
|
placeholder="{{ field.placeholder_key|e|tu }}" />
|
||||||
|
{% endif %}
|
||||||
|
{% if field.value_type == 'textarea' %}
|
||||||
|
<textarea
|
||||||
|
data-grav-array-type="value"
|
||||||
|
name="{{ (scope ~ field.name)|fieldName }}"
|
||||||
|
{% if field.disabled or isDisabledToggleable %}disabled="disabled"{% endif %}
|
||||||
|
placeholder="{{ field.placeholder_value|e|tu }}"></textarea>
|
||||||
|
{% else %}
|
||||||
|
<input
|
||||||
|
data-grav-array-type="value"
|
||||||
|
type="text"
|
||||||
|
name="{{ (scope ~ field.name)|fieldName }}"
|
||||||
|
{% if field.disabled or isDisabledToggleable %}disabled="disabled"{% endif %}
|
||||||
|
placeholder="{{ field.placeholder_value|e|tu }}" />
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<input
|
|
||||||
data-grav-array-type="value"
|
|
||||||
type="text"
|
|
||||||
name="{{ (scope ~ field.name)|fieldName }}"
|
|
||||||
{% if field.disabled or isDisabledToggleable %}disabled="disabled"{% endif %}
|
|
||||||
placeholder="{{ field.placeholder_value|e|tu }}" />
|
|
||||||
<span data-grav-array-action="rem" class="fa fa-minus"></span>
|
<span data-grav-array-action="rem" class="fa fa-minus"></span>
|
||||||
<span data-grav-array-action="add" class="fa fa-plus"></span>
|
<span data-grav-array-action="add" class="fa fa-plus"></span>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user