// ---------- Exécution des actions ---------- // Extrait de templates/play.html (voir plan de modularisation) : // application d'une propriété d'élément ("Modifier un élément") et // exécution de chaque type de nœud Action. Les URLs de routes serveur // (flow_node_run_data/run_variable) sont injectées par play.html dans // window.FORGE_PLAY_URLS (données Jinja, jamais codées en dur ici). // Propriété CSS réelle + éventuel suffixe (unité) pour chaque propriété // pilotable par une action "Modifier un élément". var ELEMENT_PROPERTY_CSS = { bg_color: { css: 'backgroundColor', suffix: '' }, border_color: { css: 'borderColor', suffix: '' }, width: { css: 'width', suffix: '%' }, height: { css: 'height', suffix: '%' }, }; function applyElementProperty(targetEl, property, value) { if (property === 'contenu') { // Voir ELEMENT_ACTION_PROPERTIES ("contenu") : texte littéral, pas de // binding vers un champ d'objet ici (contrairement à // applyOpenRowBindings, propre à "Ouvrir la ligne cliquée"). Comme // pour les autres réglages ci-dessous, cible n'importe quel élément — // pointer ceci vers un conteneur remplacerait tout son contenu // imbriqué, à éviter. targetEl.textContent = value == null ? '' : value; return; } if (property === 'surbrillance') { // 3.3 (Confort) — surbrillance générique dynamique : un liseré qui // clignote (voir la classe .forgeHighlight et son animation dans le //