From bfe439b5236e8e8100fed7d1f048c088d7b54c3f Mon Sep 17 00:00:00 2001
From: Jan-Hendrik Willms <tleilax+studip@gmail.com>
Date: Mon, 27 Feb 2023 19:37:56 +0000
Subject: [PATCH] preserve form relation when repositioning the action menu,
 fixes #2172

Closes #2172

Merge request studip/studip!1401
---
 resources/assets/javascripts/lib/actionmenu.js | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/resources/assets/javascripts/lib/actionmenu.js b/resources/assets/javascripts/lib/actionmenu.js
index ded01a7008f..91e4308966a 100644
--- a/resources/assets/javascripts/lib/actionmenu.js
+++ b/resources/assets/javascripts/lib/actionmenu.js
@@ -122,6 +122,13 @@ class ActionMenu {
 
         // Reposition the menu?
         if (position) {
+            const form = this.element.closest('form');
+            if (form) {
+                const id = form.uniqueId().attr('id');
+                $('.action-menu-item input[type="image"]:not([form])', this.element).attr('form', id);
+                $('.action-menu-item button:not([form])', this.element).attr('form', id);
+            }
+
             let parents = getScrollableParents(this.element, menu_width, menu_height);
             if (parents.length > 0) {
                 this.menu = $('<div class="action-menu-wrapper">').append(this.content.remove());
-- 
GitLab