from flask import jsonify, request from werkzeug.wrappers import Response import document_engine from core.flask_app import app @app.route("/document//elements//move", methods=["POST"]) def document_element_move(slug: str, element_id: int) -> Response: """Réinsertion réelle d'un élément — new_parent_id/new_index calculés côté client par l'algorithme de glisser-déposer (boîte englobante la plus proche sous le curseur, moitié gauche/droite -> rejoint sa rangée, moitié haute/basse -> nouvelle rangée avant/après ; voir static/document/js/document-editor.js).""" payload = request.get_json(force=True) or {} new_parent_id = payload.get("new_parent_id") new_index = int(payload.get("new_index", 0)) document_engine.move_document_element(slug, element_id, new_parent_id, new_index) return jsonify({"ok": True})