Show only the status badge in provisioning rows
CI / checks (push) Successful in 5m15s

This commit is contained in:
2026-10-12 16:05:33 -04:00
parent c296769b33
commit 81fa35b792
2 changed files with 5 additions and 27 deletions
+3 -2
View File
@@ -15,8 +15,9 @@ on the operations page offers the same actions for a selected server.
Provisioning badges show the recorded lifecycle state consistently on the list Provisioning badges show the recorded lifecycle state consistently on the list
and job details: **Queued**, **Waiting**, **Running**, **Validating**, **Completed**, and job details: **Queued**, **Waiting**, **Running**, **Validating**, **Completed**,
**Completed with warnings**, **Failed**, **Interrupted**, or **Cancelled**. **Completed with warnings**, **Failed**, **Interrupted**, or **Cancelled**.
**Validating** is the display name for `awaiting-health`. The current step and **Validating** is the display name for `awaiting-health`. The list's Status column
waiting reason appear separately beneath the state. File preparation can occur shows only the state badge. Open **Details** or the individual job to inspect
execution progress and waiting reasons. File preparation can occur
while a job is Queued or Waiting; Running begins when the host command is submitted while a job is Queued or Waiting; Running begins when the host command is submitted
and includes waiting for its acknowledgment. These progress details do not change and includes waiting for its acknowledgment. These progress details do not change
the badge, status counts, or filters. the badge, status counts, or filters.
+2 -25
View File
@@ -44,11 +44,7 @@
import { contextHref } from '$lib/navigation-context.js'; import { contextHref } from '$lib/navigation-context.js';
import { confirmAction } from '$ui/confirm.js'; import { confirmAction } from '$ui/confirm.js';
import { serverTitle } from '$ui/server-labels.js'; import { serverTitle } from '$ui/server-labels.js';
import { import { elapsedTime, provisioningRequester } from '$ui/provisioning-presentation.js';
elapsedTime,
provisioningContext,
provisioningRequester
} from '$ui/provisioning-presentation.js';
import { provisioningStatus, provisioningWarnings } from '$ui/provisioning-queue.js'; import { provisioningStatus, provisioningWarnings } from '$ui/provisioning-queue.js';
let lifecycleOpen = $state(false); let lifecycleOpen = $state(false);
@@ -492,7 +488,6 @@
> >
<tbody <tbody
>{#each rows as row (row.id)} >{#each rows as row (row.id)}
{@const context = provisioningContext(row)}
{@const primarySource = row.sources?.[0]} {@const primarySource = row.sources?.[0]}
{@const operationHref = contextHref( {@const operationHref = contextHref(
`/provisioning/${encodeURIComponent(row.id)}`, `/provisioning/${encodeURIComponent(row.id)}`,
@@ -513,17 +508,7 @@
/></td /></td
> >
<td><a href={operationHref}>{actionLabels[row.action]}</a></td> <td><a href={operationHref}>{actionLabels[row.action]}</a></td>
<td class="status-cell" <td><ProvisioningStatusBadge state={row.state} size="md" /></td>
><ProvisioningStatusBadge state={row.state} size="md" />
{#if context}<small>Current step: {context.step}</small>
{#if context.detail}<small class="status-detail"
>{context.detail}</small
>{/if}
{/if}
{#if ['queued', 'waiting'].includes(row.state) && row.phaseStartedAt && now - Date.parse(row.phaseStartedAt) >= 600000}<small
>In this stage {elapsedTime(row.phaseStartedAt, now)}</small
>{/if}</td
>
<td class="source-cell" <td class="source-cell"
>{#if primarySource?.href}<a >{#if primarySource?.href}<a
href={contextHref(primarySource.href, $page.url)} href={contextHref(primarySource.href, $page.url)}
@@ -722,14 +707,6 @@
max-width: 240px; max-width: 240px;
overflow-wrap: anywhere; overflow-wrap: anywhere;
} }
.status-cell {
min-width: 200px;
max-width: 320px;
overflow-wrap: anywhere;
}
.status-detail {
color: var(--text-secondary);
}
.requester-cell { .requester-cell {
max-width: 180px; max-width: 180px;
overflow-wrap: anywhere; overflow-wrap: anywhere;