Files
task-inventory/public/templates.html
mikael-lovqvists-claude-agent b7ee5006d2 Add hierarchical tasks with tree and flat mode
- parent_id on tasks; roots shown by default, others expandable
- Expand/collapse per node with expand/collapse button
- Sub button creates subtask directly from the row
- Make subtask of button in edit dialog with searchable picker
- Remove parent clears the parent link in the dialog
- Flat mode toggle shows all tasks indented by depth
- Tree filter shows nodes whose descendants match, not only direct matches
- Deletion blocked if task has subtasks (client + server)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-17 18:55:14 +00:00

86 lines
2.7 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!-- Task list item -->
<template id="t-task-row">
<div class="task-row">
<button class="btn-expand" hidden></button>
<span class="task-id"></span>
<span class="task-status"></span>
<span class="task-priority"></span>
<div class="task-main">
<div class="task-title markup"></div>
<div class="task-body markup" hidden></div>
</div>
<span class="task-tags"></span>
<div class="task-actions">
<button class="btn-sub">+ Sub</button>
<button class="btn-edit">Edit</button>
<button class="btn-delete">Delete</button>
</div>
</div>
</template>
<!-- Task form dialog -->
<template id="t-task-dialog">
<dialog class="task-dialog">
<form method="dialog">
<h2 class="dialog-title"></h2>
<label>Title
<input name="title" type="text" required autocomplete="off">
</label>
<div class="parent-section">
<span class="parent-section-label">Parent</span>
<input type="hidden" name="parent_id">
<span class="parent-display"></span>
<button type="button" class="btn-set-parent">Set parent…</button>
<button type="button" class="btn-clear-parent" hidden>× Remove</button>
</div>
<div class="field-with-tabs">
<div class="tab-bar">
<button type="button" class="tab-btn active" data-tab="edit">Edit</button>
<button type="button" class="tab-btn" data-tab="preview">Preview</button>
<span class="tab-label">Body</span>
</div>
<div class="tab-pane" data-tab="edit">
<textarea name="body" rows="8"></textarea>
</div>
<div class="tab-pane" data-tab="preview" hidden>
<div class="markup preview-content"></div>
</div>
</div>
<label>Status
<select name="status">
<option value="open">Open</option>
<option value="deferred">Deferred</option>
<option value="done">Done</option>
<option value="cancelled">Cancelled</option>
</select>
</label>
<label>Priority
<select name="priority">
<option value="high">High</option>
<option value="normal" selected>Normal</option>
<option value="low">Low</option>
</select>
</label>
<label>Tags (comma-separated)
<input name="tags" type="text" autocomplete="off">
</label>
<div class="dialog-buttons">
<button type="submit" class="btn-save">Save</button>
<button type="button" class="btn-cancel">Cancel</button>
</div>
</form>
</dialog>
</template>
<!-- Task picker dialog -->
<template id="t-task-picker">
<dialog class="task-picker-dialog">
<h2>Make subtask of…</h2>
<input type="text" class="picker-search" placeholder="Search tasks…" autocomplete="off">
<div class="picker-list"></div>
<div class="dialog-buttons">
<button type="button" class="btn-cancel">Cancel</button>
</div>
</dialog>
</template>