|
|
@@ -178,21 +178,21 @@
|
|
|
</span>
|
|
|
<span class="goal-state-actions">
|
|
|
<button type="button" class="btn-primary btn-sm"
|
|
|
- stm-if="goal.start != null" stm-action="goal.start">Start
|
|
|
+ stm-if="goal.start != null" stm-action="goal.start" stm-busy-class="is-busy">Start
|
|
|
goal</button>
|
|
|
<button type="button" class="btn-primary btn-sm"
|
|
|
- stm-if="goal.resume != null" stm-action="goal.resume">Resume</button>
|
|
|
+ stm-if="goal.resume != null" stm-action="goal.resume" stm-busy-class="is-busy">Resume</button>
|
|
|
<button type="button" class="btn-primary btn-sm"
|
|
|
- stm-if="goal.retry_run != null" stm-action="goal.retry_run">Retry
|
|
|
+ stm-if="goal.retry_run != null" stm-action="goal.retry_run" stm-busy-class="is-busy">Retry
|
|
|
supervision</button>
|
|
|
<button type="button" class="btn-primary btn-sm"
|
|
|
- stm-if="goal.pause != null" stm-action="goal.pause">Pause</button>
|
|
|
+ stm-if="goal.pause != null" stm-action="goal.pause" stm-busy-class="is-busy">Pause</button>
|
|
|
<button type="button" class="btn-primary btn-sm"
|
|
|
- stm-if="goal.requeue_run != null" stm-action="goal.requeue_run"
|
|
|
+ stm-if="goal.requeue_run != null" stm-action="goal.requeue_run" stm-busy-class="is-busy"
|
|
|
stm-confirm="Requeue the agent's run? The daemon restores its workspace context on the next dispatch.">Requeue
|
|
|
to resume</button>
|
|
|
<button type="button" class="btn-primary btn-sm"
|
|
|
- stm-if="goal.force_wake != null" stm-action="goal.force_wake"
|
|
|
+ stm-if="goal.force_wake != null" stm-action="goal.force_wake" stm-busy-class="is-busy"
|
|
|
stm-confirm="Force-woke this goal's parked agent? It resumes immediately on its saddle - one wake per press.">Force
|
|
|
wake</button>
|
|
|
</span>
|
|
|
@@ -237,7 +237,7 @@
|
|
|
<div class="md rfc-body goal-body" data-plan-body
|
|
|
stm-markdown="goal.plan_pending_block.body">revision</div>
|
|
|
<div class="actions">
|
|
|
- <form stm-action="goal.plan_pending_block.answer_action" class="cluster">
|
|
|
+ <form stm-action="goal.plan_pending_block.answer_action" stm-busy-class="is-busy" class="cluster">
|
|
|
<input type="hidden" name="verdict" value="accept">
|
|
|
<button type="submit" class="btn-primary" data-plan-accept>Approve plan</button>
|
|
|
</form>
|
|
|
@@ -267,7 +267,7 @@
|
|
|
<div class="md rfc-body goal-body" data-plan-body
|
|
|
stm-markdown="goal.completion_pending_block.body">report</div>
|
|
|
<div class="actions">
|
|
|
- <form stm-action="goal.completion_pending_block.answer_action" class="cluster">
|
|
|
+ <form stm-action="goal.completion_pending_block.answer_action" stm-busy-class="is-busy" class="cluster">
|
|
|
<input type="hidden" name="verdict" value="accept">
|
|
|
<button type="submit" class="btn-primary" data-plan-accept>Accept goal</button>
|
|
|
</form>
|
|
|
@@ -319,23 +319,23 @@
|
|
|
<span stm-text="goal.completed_display">when</span></span></p>
|
|
|
<p>
|
|
|
<button type="button" class="btn-primary" stm-if="goal.start != null"
|
|
|
- stm-action="goal.start">Start goal</button>
|
|
|
+ stm-action="goal.start" stm-busy-class="is-busy">Start goal</button>
|
|
|
<button type="button" stm-if="goal.pause != null"
|
|
|
- stm-action="goal.pause">Pause</button>
|
|
|
+ stm-action="goal.pause" stm-busy-class="is-busy">Pause</button>
|
|
|
<button type="button" stm-if="goal.resume != null"
|
|
|
- stm-action="goal.resume">Resume</button>
|
|
|
+ stm-action="goal.resume" stm-busy-class="is-busy">Resume</button>
|
|
|
<button type="button" class="btn-primary" stm-if="goal.retry_run != null"
|
|
|
- stm-action="goal.retry_run">Retry supervision</button>
|
|
|
+ stm-action="goal.retry_run" stm-busy-class="is-busy">Retry supervision</button>
|
|
|
<button type="button" stm-if="goal.requeue_run != null"
|
|
|
- stm-action="goal.requeue_run"
|
|
|
+ stm-action="goal.requeue_run" stm-busy-class="is-busy"
|
|
|
stm-confirm="Requeue the agent's run? The daemon restores its workspace context on the next dispatch.">Requeue to resume</button>
|
|
|
<!-- Goal 4 task 1: Force wake — the parked-agent
|
|
|
recovery for the no-pending-wake stall. -->
|
|
|
<button type="button" stm-if="goal.force_wake != null"
|
|
|
- stm-action="goal.force_wake"
|
|
|
+ stm-action="goal.force_wake" stm-busy-class="is-busy"
|
|
|
stm-confirm="Force-woke this goal's parked agent? It resumes immediately on its saddle - one wake per press.">Force wake</button>
|
|
|
<button type="button" class="danger" stm-if="goal.cancel != null"
|
|
|
- stm-action="goal.cancel"
|
|
|
+ stm-action="goal.cancel" stm-busy-class="is-busy"
|
|
|
stm-confirm="Cancel this goal? Its tasks are cancelled with it.">Cancel goal</button>
|
|
|
</p>
|
|
|
<p class="text-muted" stm-if="goal.status == 'draft'">Starting locks the brief and
|
|
|
@@ -495,7 +495,7 @@
|
|
|
<button type="button" class="dialog-close" aria-label="Close"
|
|
|
onclick="document.getElementById('quote-comment-dialog').close()">×</button>
|
|
|
</div>
|
|
|
- <form stm-action="goal.comment">
|
|
|
+ <form stm-action="goal.comment" stm-busy-class="is-busy">
|
|
|
<div class="dialog-body form-rows">
|
|
|
<blockquote id="quote-text" class="term-comment-quote"></blockquote>
|
|
|
<input type="hidden" name="quote">
|
|
|
@@ -580,7 +580,7 @@
|
|
|
<div class="md rfc-body goal-body" data-brief-body stm-markdown="goal.brief">brief</div>
|
|
|
</div>
|
|
|
<div stm-if="goal.update != null">
|
|
|
- <form data-lf-edit hidden stm-action="goal.update">
|
|
|
+ <form data-lf-edit hidden stm-action="goal.update" stm-busy-class="is-busy">
|
|
|
<div class="field"><label>Title</label>
|
|
|
<input type="text" name="title" data-lf-src="goal.title"></div>
|
|
|
<div class="field"><label>Brief (markdown)</label>
|
|
|
@@ -601,14 +601,14 @@
|
|
|
<p stm-if="goal.links.length > 0"><span stm-for-link-in="goal.links">
|
|
|
<span stm-attribute.class="'badge badge-' + link.relationship"
|
|
|
stm-text="link.name + ' (' + link.relationship + ')'">link</span>
|
|
|
- <button type="button" class="btn-ghost" stm-action="link.remove"
|
|
|
+ <button type="button" class="btn-ghost" stm-action="link.remove" stm-busy-class="is-busy"
|
|
|
stm-confirm="Remove this link?">×</button>
|
|
|
<input type="hidden" name="link_id" stm-attribute.value="link.id">
|
|
|
</span></p>
|
|
|
<p stm-if="goal.links.length == 0" class="text-muted">Only the primary project.</p>
|
|
|
<details stm-if="!goal.terminal">
|
|
|
<summary>Link a project</summary>
|
|
|
- <form class="cluster" stm-action="goal.add_link">
|
|
|
+ <form class="cluster" stm-action="goal.add_link" stm-busy-class="is-busy">
|
|
|
<select name="linked_project_id" required>
|
|
|
<option stm-for-project-in="goal.project_options" stm-attribute.value="project.id"
|
|
|
stm-text="project.name">project</option>
|
|
|
@@ -619,7 +619,7 @@
|
|
|
</select>
|
|
|
<button type="submit">Link</button>
|
|
|
</form>
|
|
|
- <form class="cluster" stm-action="goal.apply_stack"
|
|
|
+ <form class="cluster" stm-action="goal.apply_stack" stm-busy-class="is-busy"
|
|
|
stm-if="goal.stack_options.length > 0" style="margin-top: 0.5em;">
|
|
|
<label for="goal-stack">Apply stack</label>
|
|
|
<select id="goal-stack" name="stack_id" required>
|