view_kanban Kanban Board
arrow_drop_down
{% if current_project %} {% endif %}
{% if current_project %}
{% for status in statuses %}
{{ status }} {{ items_by_status.get(status, [])|length }}
{% for item in items_by_status.get(status, []) %} {% set rels = relationships.get(item.id, {}) %} {% set active_blockers = rels.get('blocked_by', [])|rejectattr('status', 'in', ['done', 'closed'])|list %} {% set is_blocked = active_blockers|length > 0 %}
#{{ item.id }}
P{{ item.priority }} {% if item.complexity %}C{{ item.complexity }}{% endif %}
{{ item.title }}
{% if item.tags %}
{% for tag in item.tags %} {{ tag.name }} {% endfor %}
{% endif %} {% if item.type == 'epic' and epic_progress.get(item.id) %} {% set prog = epic_progress[item.id] %}
account_tree {{ prog.completed }}/{{ prog.total }}
{% endif %} {% if item.parent_id %}
subdirectory_arrow_right Part of: #{{ item.parent_id }}
{% endif %} {% if rels.get('blocked_by') or rels.get('blocks') or rels.get('depends_on') or rels.get('dependency_of') or rels.get('relates_to') or rels.get('duplicates') %}
{% if rels.get('blocked_by') %} block Blocked by {{ rels.blocked_by|length }} {% endif %} {% if rels.get('blocks') %} remove_circle_outline Blocks {{ rels.blocks|length }} {% endif %} {% if rels.get('depends_on') %} hourglass_empty Depends {{ rels.depends_on|length }} {% endif %} {% if rels.get('dependency_of') %} push_pin Dep of {{ rels.dependency_of|length }} {% endif %} {% if rels.get('relates_to') %} link Relates {{ rels.relates_to|length }} {% endif %} {% if rels.get('duplicates') %} content_copy Dupes {{ rels.duplicates|length }} {% endif %}
{% endif %}
{% if item.type == 'feature' %} extension {% elif item.type == 'issue' %} bug_report {% elif item.type == 'todo' %} task_alt {% elif item.type == 'diary' %} book {% elif item.type == 'epic' %} account_tree {% elif item.type == 'question' %} help_outline {% endif %} {{ item.type }}
{% else %}
No items
{% endfor %}
{% endfor %}
{% else %}
dashboard
Select a project to view its board
{% endif %}