first commit
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
from . import (
|
||||
animation_clip_add,
|
||||
animation_clip_update,
|
||||
animation_clip_delete,
|
||||
)
|
||||
@@ -0,0 +1,19 @@
|
||||
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))
|
||||
@@ -0,0 +1,11 @@
|
||||
from flask import jsonify
|
||||
|
||||
import screens
|
||||
|
||||
from core.flask_app import app
|
||||
|
||||
|
||||
@app.route("/game/<slug>/animations/clips/<int:clip_id>/delete", methods=["POST"])
|
||||
def animation_clip_delete(slug, clip_id):
|
||||
screens.delete_animation_clip(slug, clip_id)
|
||||
return jsonify({"ok": True})
|
||||
@@ -0,0 +1,16 @@
|
||||
from flask import request, jsonify
|
||||
|
||||
import screens
|
||||
|
||||
from core.flask_app import app
|
||||
|
||||
|
||||
@app.route("/game/<slug>/animations/clips/<int:clip_id>/update", methods=["POST"])
|
||||
def animation_clip_update(slug, clip_id):
|
||||
"""Modifie un clip existant — glisser/redimensionner sur la timeline
|
||||
n'envoie que start_time/duration, le formulaire d'édition peut envoyer
|
||||
n'importe quel autre réglage (type, animation Animate.css, images-clés
|
||||
personnalisées, délai, vitesse, répétitions)."""
|
||||
payload = request.get_json(force=True) or {}
|
||||
screens.update_animation_clip(slug, clip_id, **payload)
|
||||
return jsonify(screens.get_animation_clip(slug, clip_id))
|
||||
Reference in New Issue
Block a user