From 17d0282f23a158ec9d0a500bb0223f3d64981aa3 Mon Sep 17 00:00:00 2001 From: Thomas von Deyen Date: Tue, 19 Dec 2023 16:00:49 +0100 Subject: [PATCH] Optimize dragndrop of first level elements These elements always ever move vertically. --- app/javascript/alchemy_admin/sortable_elements.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/app/javascript/alchemy_admin/sortable_elements.js b/app/javascript/alchemy_admin/sortable_elements.js index 89b3c606b9..b1577e787c 100644 --- a/app/javascript/alchemy_admin/sortable_elements.js +++ b/app/javascript/alchemy_admin/sortable_elements.js @@ -44,7 +44,7 @@ function onEnd() { ) } -function createSortable(element) { +function createSortable(element, options = {}) { const group = { name: element.dataset.elementName, put(to, _from, item) { @@ -55,6 +55,7 @@ function createSortable(element) { } new Sortable(element, { ...SORTABLE_OPTIONS, + ...options, onStart, onSort, onEnd, @@ -66,7 +67,9 @@ export default function SortableElements(selector) { if (selector == null) { selector = "#element_area .sortable-elements" } - const sortable_areas = document.querySelectorAll(selector) + const sortable_areas = document.querySelectorAll(selector, { + direction: "vertical" + }) sortable_areas.forEach((element) => { createSortable(element)