diff --git a/libraries/src/HTML/Helpers/DraggableList.php b/libraries/src/HTML/Helpers/DraggableList.php
index 028b653e27317..f220bbf306890 100644
--- a/libraries/src/HTML/Helpers/DraggableList.php
+++ b/libraries/src/HTML/Helpers/DraggableList.php
@@ -50,7 +50,7 @@ public static function draggable(
bool $nestedList = false
) {
// Only load once
- if (isset(static::$loaded[__METHOD__])) {
+ if (isset(static::$loaded[$tableId][$formId][$sortDir][$saveOrderingUrl])) {
return;
}
@@ -58,16 +58,17 @@ public static function draggable(
// Please consider using data attributes instead of passing arguments here!
if (!empty($tableId) && !empty($saveOrderingUrl) && !empty($formId) && !empty($sortDir)) {
- $doc->addScriptOptions(
- 'draggable-list',
- [
+ $options = $doc->getScriptOptions('draggable-list');
+
+ $options[] = [
'id' => '#' . $tableId . ' tbody',
'formId' => $formId,
'direction' => $sortDir,
'url' => $saveOrderingUrl . '&' . Session::getFormToken() . '=1',
'nested' => $nestedList,
- ]
- );
+ ];
+
+ $doc->addScriptOptions('draggable-list', $options);
}
$doc->getWebAssetManager()
@@ -75,6 +76,6 @@ public static function draggable(
->useScript('joomla.draggable');
// Set static array
- static::$loaded[__METHOD__] = true;
+ static::$loaded[$tableId][$formId][$sortDir][$saveOrderingUrl] = true;
}
}