20 lines
796 B
Python
20 lines
796 B
Python
from flask import request, jsonify
|
|
|
|
import screens
|
|
|
|
from core.flask_app import app
|
|
|
|
|
|
@app.route("/game/<slug>/screens/<int:screen_id>/animations/clips/add", methods=["POST"])
|
|
def animation_clip_add(slug, screen_id):
|
|
"""Ajoute un clip d'animation (Animate.css ou personnalisé) sur la piste
|
|
d'un élément, dans le panneau timeline — appelé en AJAX, comme l'ajout
|
|
d'un nœud de logique."""
|
|
payload = request.get_json(force=True) or {}
|
|
element_id = payload.get("element_id")
|
|
if not element_id:
|
|
return jsonify({"error": "élément manquant"}), 400
|
|
fields = {k: v for k, v in payload.items() if k != "element_id"}
|
|
clip_id = screens.add_animation_clip(slug, screen_id, int(element_id), **fields)
|
|
return jsonify(screens.get_animation_clip(slug, clip_id))
|