+{% extends '_base.html' %}
+{% import '_macros.html' as macros %}
+
+
+
+{% block css %}
+input[type="text"] {
+ width: 100em;
+}
+details > summary::after {
+ content: '[+]';
+}
+details summary {
+ list-style: none;
+}
+details[open] > summary::after {
+ content: '[-]';
+}
+table.main > tbody > tr > td, table.main > tbody > tr > th {
+ border-bottom: 0.1em solid #bbbbbb;
+ padding-top: 0.5em;
+ padding-bottom: 0.5em;
+}
+{% endblock %}
+
+
+
+{% macro step_with_steps(step_id, step_node, indent) %}
+<tr>
+<td>
+<input type="hidden" name="steps" value="{{step_id}}" />
+{% if step_node.is_explicit %}
+<input type="checkbox" name="keep_step" value="{{step_id}}" checked />
+<input type="hidden" name="step_{{step_id}}_process_id" value="{{step_node.process.id_}}" />
+<input type="hidden" name="step_{{step_id}}_parent_id" value="{{step_node.parent_id or ''}}" />
+{% endif %}
+</td>
+
+{% if step_node.is_explicit and not step_node.seen %}
+<td colspan=2>
+<details>
+<summary>
+{% else %}
+<td>
+{% endif %}
+
+{% for i in range(indent) %}+{%endfor %}
+{% if step_node.is_suppressed %}<del>{% endif %}
+{% if step_node.seen %}
+<a href="process?id={{step_node.process.id_}}">({{step_node.process.title.newest|e}})</a>
+{% else %}
+<a href="process?id={{step_node.process.id_}}">{{step_node.process.title.newest|e}}</a>
+{% endif %}
+{% if step_node.is_suppressed %}</del>{% endif %}
+
+
+{% if step_node.is_explicit and not step_node.seen %}
+</summary>
+<div>add sub-step: <input name="new_step_to_{{step_id}}" list="process_candidates" autocomplete="off" size="100" /></div>
+</details>
+{% endif %}
+
+</td>
+<td>
+{% if (not step_node.is_explicit) and (not step_node.seen) %}
+<input type="checkbox" name="suppresses" value="{{step_id}}" {% if step_node.is_suppressed %}checked{% endif %}> suppress
+{% endif %}
+</td>
+</tr>
+{% if step_node.is_explicit or not step_node.seen %}
+{% for substep_id, substep in step_node.steps.items() %}
+{{ step_with_steps(substep_id, substep, indent+1) }}
+{% endfor %}
+{% endif %}
+{% endmacro %}
+
+