mirror of
https://github.com/processwire/processwire.git
synced 2025-08-25 07:41:30 +02:00
Refactor repeater.js to use data-name instead of ID as needed for module by @BernhardBaumrock and PR #253
Co-authored-by: BernhardBaumrock <office@baumrock.com>
This commit is contained in:
@@ -85,7 +85,7 @@ class ProcessWire extends Wire {
|
||||
* Version suffix string (when applicable)
|
||||
*
|
||||
*/
|
||||
const versionSuffix = '';
|
||||
const versionSuffix = 'dev';
|
||||
|
||||
/**
|
||||
* Minimum required index.php version, represented by the PROCESSWIRE define
|
||||
|
@@ -356,7 +356,7 @@ function InputfieldRepeater($) {
|
||||
var pageID = $repeater.attr('data-page'); // $("#Inputfield_id").val();
|
||||
var itemID = parseInt($item.attr('data-page'));
|
||||
var repeaterID = $repeater.attr('id');
|
||||
var fieldName = repeaterID.replace('wrap_Inputfield_', '').replace('_LPID' + pageID, '');
|
||||
var fieldName = getRepeaterFieldName($repeater);
|
||||
var ajaxURL = ProcessWire.config.InputfieldRepeater.editorUrl + '?id=' + pageID + '&field=' + fieldName + '&repeater_edit=' + itemID;
|
||||
var $spinner = $item.find('.InputfieldRepeaterDrag');
|
||||
var $inputfields = $loaded.closest('.Inputfields');
|
||||
@@ -483,7 +483,7 @@ function InputfieldRepeater($) {
|
||||
|
||||
// get addItem from ajax
|
||||
if(!pageID) pageID = inputfieldPageID;
|
||||
var fieldName = $inputfieldRepeater.attr('id').replace('wrap_Inputfield_', '');
|
||||
var fieldName = getRepeaterFieldName($inputfieldRepeater);
|
||||
var $spinner = $addLink.parent().find('.InputfieldRepeaterSpinner');
|
||||
var ajaxURL = ProcessWire.config.InputfieldRepeater.editorUrl + '?id=' + pageID + '&field=' + fieldName;
|
||||
|
||||
@@ -824,6 +824,18 @@ function InputfieldRepeater($) {
|
||||
return $item.children('.InputfieldHeader').children('.InputfieldRepeaterItemLabel');
|
||||
}
|
||||
|
||||
function getRepeaterFieldName($inputfield) {
|
||||
if(!$inputfield.hasClass('InputfieldRepeater')) $inputfield = $inputfield.closest('.InputfieldRepeater');
|
||||
if(!$inputfield.length) return '';
|
||||
var fieldName = $inputfield.attr('data-name');
|
||||
if(typeof fieldName === 'undefined') {
|
||||
fieldName = $inputfield.attr('id').replace('wrap_Inputfield_', '');
|
||||
if(fieldName.indexOf('_LPID') > -1) fieldName = fieldName.replace(/_LPID\d+$/, '');
|
||||
console.log('Warning: repeater inputfield lacks data-name so used fallback', $inputfield);
|
||||
}
|
||||
return fieldName;
|
||||
}
|
||||
|
||||
/*** SORT FUNCTIONS ***********************************************************************************/
|
||||
|
||||
function setItemSort($item, sort) {
|
||||
|
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user