mirror of
https://github.com/getgrav/grav-plugin-admin.git
synced 2026-03-06 20:41:33 +01:00
Potential fix array within list (#1774)
This commit is contained in:
@@ -87,7 +87,13 @@ export default class ArrayField {
|
||||
|
||||
container.data('array-sort', new Sortable(container.get(0), {
|
||||
handle: '.fa-bars',
|
||||
animation: 150
|
||||
animation: 150,
|
||||
onUpdate: () => {
|
||||
const item = container.find('[data-grav-array-type="row"]:first');
|
||||
this._setTemplate(item);
|
||||
const template = item.data('array-template');
|
||||
this.refreshNames(template);
|
||||
}
|
||||
}));
|
||||
});
|
||||
}
|
||||
@@ -154,8 +160,8 @@ export default class ArrayField {
|
||||
|
||||
inputs.each((index, input) => {
|
||||
input = $(input);
|
||||
let name = input.attr('name');
|
||||
name = name.replace(/\[\d+\]$/, `[${index}]`);
|
||||
const preserved_name = input.closest('[data-grav-array-name]');
|
||||
const name = `${preserved_name.attr('data-grav-array-name')}[${index}]`;
|
||||
input.attr('name', name);
|
||||
});
|
||||
|
||||
|
||||
@@ -186,7 +186,7 @@ export default class CollectionsField {
|
||||
// special case to preserve array field index keys
|
||||
if (prop === 'name' && element.data('gravArrayType')) {
|
||||
const match_index = element.attr(prop).match(/\[[0-9]{1,}\]$/);
|
||||
const pattern = element.closest('[data-grav-array-name]').data('gravArrayName');
|
||||
const pattern = element[0].closest('[data-grav-array-name]').dataset.gravArrayName;
|
||||
if (match_index && pattern) {
|
||||
array_index = match_index[0];
|
||||
element.attr(prop, `${pattern}${match_index[0]}`);
|
||||
|
||||
6
themes/grav/js/admin.min.js
vendored
6
themes/grav/js/admin.min.js
vendored
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user