{# Inline edit form for one node's leaf fields. Context: name, node (the LogixNG Node), node_dict (node.to_dict()). Posts to /logixng/{name}/node/{id}/update which rebuilds the node from the submitted fields via from_dict and splices it back into the tree. Container children are preserved by the server. #} {% set d = node_dict %}
{{ node.type_tag }} {{ node.id }}
{# ----- containers with an enabled flag ----- #} {% if node.type_tag in ("logixng:root", "logixng:conditional") %} {% endif %} {# ----- action: set-turnout / sensor / light ----- #} {% if node.type_tag == "action:set-turnout" %} {% elif node.type_tag == "action:set-sensor" %} {% elif node.type_tag == "action:set-light" %} {% elif node.type_tag == "action:set-memory" %} {% elif node.type_tag == "action:log" %} {% elif node.type_tag == "action:delay" %} {% elif node.type_tag == "action:write-cv" %} {% elif node.type_tag == "action:read-cv" %} {% elif node.type_tag == "action:script" %} {% elif node.type_tag == "action:set-memory-from-expression" %}

The source expression is a child node -- edit via its own Edit button in the tree.

{% elif node.type_tag == "expr:sensor-active" %} {% elif node.type_tag == "expr:turnout-closed" %} {% elif node.type_tag == "expr:light-on" %} {% elif node.type_tag == "expr:memory-equals" %} {% elif node.type_tag in ("expr:memory-value-num", "expr:memory-value-str") %} {% elif node.type_tag == "expr:const-bool" %} {% elif node.type_tag == "expr:const-num" %} {% elif node.type_tag == "expr:const-str" %} {% elif node.type_tag == "expr:num-op" %} {% elif node.type_tag == "expr:num-compare" %} {% elif node.type_tag == "expr:string-compare" %} {% elif node.type_tag == "expr:string-concat" %} {% endif %}