mirror of
https://github.com/getgrav/grav-plugin-admin.git
synced 2025-10-26 15:56:30 +01:00
Implemented js logic to handle new elements field
This commit is contained in:
@@ -10,7 +10,7 @@ end_of_line = lf
|
|||||||
trim_trailing_whitespace = true
|
trim_trailing_whitespace = true
|
||||||
insert_final_newline = true
|
insert_final_newline = true
|
||||||
indent_style = space
|
indent_style = space
|
||||||
indent_size = 4
|
indent_size = 2
|
||||||
|
|
||||||
# 2 space indentation
|
# 2 space indentation
|
||||||
[*.{yaml,.yml}]
|
[*.{yaml,.yml}]
|
||||||
|
|||||||
@@ -35,7 +35,6 @@
|
|||||||
"generator-star-spacing": [2, { "before": true, "after": true }],
|
"generator-star-spacing": [2, { "before": true, "after": true }],
|
||||||
"guard-for-in": 0,
|
"guard-for-in": 0,
|
||||||
"handle-callback-err": [2, "^(err|error)$" ],
|
"handle-callback-err": [2, "^(err|error)$" ],
|
||||||
"indent": [2, 4, { "SwitchCase": 1 }],
|
|
||||||
"key-spacing": [2, { "beforeColon": false, "afterColon": true }],
|
"key-spacing": [2, { "beforeColon": false, "afterColon": true }],
|
||||||
"linebreak-style": 0,
|
"linebreak-style": 0,
|
||||||
"lines-around-comment": 0,
|
"lines-around-comment": 0,
|
||||||
|
|||||||
13
themes/grav/app/forms/fields/elements.js
Normal file
13
themes/grav/app/forms/fields/elements.js
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
import $ from 'jquery';
|
||||||
|
|
||||||
|
const enabled = '_enabled';
|
||||||
|
const disabled = '_disabled';
|
||||||
|
|
||||||
|
$(document).on('change', '[data-grav-elements] select', (event) => {
|
||||||
|
const target = $(event.currentTarget);
|
||||||
|
const value = target.val() === '1';
|
||||||
|
const id = target.closest('[data-grav-elements]').data('gravElements');
|
||||||
|
|
||||||
|
$(`[id="${id}_${enabled}"]`).css('display', value ? 'inherit' : 'none');
|
||||||
|
$(`[id="${id}_${disabled}"]`).css('display', !value ? 'inherit' : 'none');
|
||||||
|
});
|
||||||
@@ -19,6 +19,7 @@ import './mediapicker';
|
|||||||
import './multilevel';
|
import './multilevel';
|
||||||
import './text';
|
import './text';
|
||||||
import './range';
|
import './range';
|
||||||
|
import './elements';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
FilepickerField: {
|
FilepickerField: {
|
||||||
|
|||||||
15990
themes/grav/js/admin.min.js
vendored
15990
themes/grav/js/admin.min.js
vendored
File diff suppressed because one or more lines are too long
100476
themes/grav/js/vendor.min.js
vendored
100476
themes/grav/js/vendor.min.js
vendored
File diff suppressed because one or more lines are too long
12986
themes/grav/package-lock.json
generated
12986
themes/grav/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -2,7 +2,13 @@
|
|||||||
|
|
||||||
{% block field %}
|
{% block field %}
|
||||||
{% embed 'forms/default/fields.html.twig' with {name: field.name, fields: field.fields} %}
|
{% embed 'forms/default/fields.html.twig' with {name: field.name, fields: field.fields} %}
|
||||||
{% block outer_markup_field_open %}<div id="{{ parent_name ~ '__' ~ field.name }}" class="form-element">{% endblock %}
|
{% set initial_state = (field.name == 'enabled' and parent_value) or (field.name == 'disabled' and not parent_value) ? '' : 'display: none;' %}
|
||||||
{% block outer_markup_field_close %}</div>{% endblock %}
|
{% block outer_markup_field_open %}
|
||||||
|
<div id="{{ parent_name ~ '__' ~ field.name }}" class="form-element" style="{{ initial_state }}">
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block outer_markup_field_close %}
|
||||||
|
</div>
|
||||||
|
{% endblock %}
|
||||||
{% endembed %}
|
{% endembed %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|||||||
@@ -4,9 +4,15 @@
|
|||||||
{# load some frontend CSS/JS #}
|
{# load some frontend CSS/JS #}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
|
{% block global_attributes %}
|
||||||
|
data-grav-elements="{{ field.name }}"
|
||||||
|
{{ parent() }}
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
{% block field %}
|
{% block field %}
|
||||||
{{ parent() }}
|
{{ parent() }}
|
||||||
{% set parent_name = field.name %}
|
{% set parent_name = field.name %}
|
||||||
|
{% set parent_value = value %}
|
||||||
{% set fields = prepare_form_fields(field.fields, field.name) %}
|
{% set fields = prepare_form_fields(field.fields, field.name) %}
|
||||||
{% if fields|length %}
|
{% if fields|length %}
|
||||||
{% include 'forms/default/fields.html.twig' with {name: field.name, fields: fields} %}
|
{% include 'forms/default/fields.html.twig' with {name: field.name, fields: fields} %}
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user