Let Sortable detect sort direction dynamically & don't use invertSwap sortable option

This commit is contained in:
Yonas Habteab 2022-06-10 20:02:04 +02:00
parent 22d483b515
commit 8685a0d247
2 changed files with 6 additions and 3 deletions

View File

@ -307,7 +307,9 @@ class DashboardsController extends CompatController
$dashboards = Json::decode($dashboards['dashboardData'], true);
$originals = $dashboards['originals'];
$dashboardType = $dashboards['dashboardType'];
unset($dashboards['originals']);
unset($dashboards['dashboardType']);
$highlightHome = $this->params->get('home');
$highlightPane = $this->params->get('pane');
@ -325,7 +327,9 @@ class DashboardsController extends CompatController
$orgHome = $this->dashboard->getEntry($originals['originalHome']);
$orgHome->loadDashboardEntries($originals['originalPane'] ?? null);
if (isset($originals['originalPane'])) {
// We need to know the original pane only if it's a Dashlet Widget. In this case
// we don't care about the other entries of the original home
if (isset($originals['originalPane']) && $dashboardType === /** Keep this with JS in sync */ 'Dashlets') {
$orgPane = $orgHome->getEntry($originals['originalPane']);
$orgHome->setEntries([$orgPane->getName() => $orgPane]);
}

View File

@ -120,6 +120,7 @@
data.originals = null;
}
data.dashboardType = _this.getTypeFor(orgEvt.to);
data = { dashboardData : JSON.stringify(data) };
let url = _this.icinga.config.baseUrl + '/dashboards/reorder-widgets';
let urlParams = window.location.search;
@ -160,9 +161,7 @@
let options = {
scroll : true,
invertSwap : true,
dataIdAttr : 'id',
direction : 'vertical',
draggable : draggable,
handle : '.widget-drag-initiator',
group : { name : groupName },