Web: Use definition lists for Task and Job details
This commit is contained in:
parent
a6d2b4235b
commit
0c8def66aa
@ -132,6 +132,29 @@ h3.sub-title {
|
||||
padding: 0 0 var(--spacer-sm);
|
||||
}
|
||||
|
||||
dl {
|
||||
display: grid;
|
||||
font-family: var(--font-family-mono);
|
||||
font-size: var(--font-size-sm);
|
||||
grid-template-columns: max-content auto;
|
||||
}
|
||||
|
||||
dl dt {
|
||||
font-weight: bold;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
dl dd {
|
||||
border-bottom: var(--border-width) solid var(--color-border);
|
||||
margin-bottom: .133rem;
|
||||
margin-left: var(--spacer-sm);
|
||||
padding-bottom: .133rem;
|
||||
}
|
||||
|
||||
dl dd:empty {
|
||||
border-color: transparent;
|
||||
}
|
||||
|
||||
footer {
|
||||
align-items: center;
|
||||
color: var(--color-text-muted);
|
||||
|
@ -1,65 +1,50 @@
|
||||
<template>
|
||||
<h2 class="column-title">Job Details</h2>
|
||||
<div v-if="hasJobData" class="job-details">
|
||||
<table class="details">
|
||||
<tr class="field-id">
|
||||
<th>ID</th>
|
||||
<td>{{ jobData.id }}</td>
|
||||
</tr>
|
||||
|
||||
<tr class="field-name">
|
||||
<th>Name</th>
|
||||
<td>{{ jobData.name }}</td>
|
||||
</tr>
|
||||
<template v-if="hasJobData">
|
||||
<dl>
|
||||
<dt class="field-id">ID</dt>
|
||||
<dd :title="jobData.id">{{ jobData.id }}</dd>
|
||||
|
||||
<tr class="field-status">
|
||||
<th>Status</th>
|
||||
<td>{{ jobData.status }}</td>
|
||||
</tr>
|
||||
<dt class="field-name">Name</dt>
|
||||
<dd>{{ jobData.name }}</dd>
|
||||
|
||||
<tr class="field-type">
|
||||
<th>Type</th>
|
||||
<td>{{ jobType ? jobType.label : jobData.type }}</td>
|
||||
</tr>
|
||||
<dt class="field-status">Status</dt>
|
||||
<dd>{{ jobData.status }}</dd>
|
||||
|
||||
<tr class="field-priority">
|
||||
<th>Prio</th>
|
||||
<td>{{ jobData.priority }}</td>
|
||||
</tr>
|
||||
<dt class="field-type">Type</dt>
|
||||
<dd>{{ jobType ? jobType.label : jobData.type }}</dd>
|
||||
|
||||
<tr class="field-created">
|
||||
<th>Created</th>
|
||||
<td>{{ datetime.relativeTime(jobData.created) }}</td>
|
||||
</tr>
|
||||
<dt class="field-priority">Priority</dt>
|
||||
<dd>{{ jobData.priority }}</dd>
|
||||
|
||||
<tr class="field-updated">
|
||||
<th>Updated</th>
|
||||
<td>{{ datetime.relativeTime(jobData.updated) }}</td>
|
||||
</tr>
|
||||
<dt class="field-created">Created</dt>
|
||||
<dd>{{ datetime.relativeTime(jobData.created) }}</dd>
|
||||
|
||||
<tr class="field-activity">
|
||||
<th>Activity</th>
|
||||
<td>{{ jobData.activity }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
<dt class="field-updated">Updated</dt>
|
||||
<dd>{{ datetime.relativeTime(jobData.updated) }}</dd>
|
||||
|
||||
<dt class="field-activity">Activity</dt>
|
||||
<dd>{{ jobData.activity }}</dd>
|
||||
</dl>
|
||||
|
||||
<h3 class="sub-title" v-if="hasMetadata">Meta-data</h3>
|
||||
<table class="metadata">
|
||||
<tr v-for="value, key in jobData.metadata" :class="`field-${key}`">
|
||||
<th>{{ key }}</th>
|
||||
<td>{{ value }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
<dl>
|
||||
<template v-for="value, key in jobData.metadata">
|
||||
<dt :class="`field-${key}`">{{ key }}</dt>
|
||||
<dd>{{ value }}</dd>
|
||||
</template>
|
||||
</dl>
|
||||
|
||||
<h3 class="sub-title" v-if="hasSettings">Settings</h3>
|
||||
<table class="settings">
|
||||
<tr v-for="value, key in settingsToDisplay" :class="`field-${key}`">
|
||||
<th>{{ key }}</th>
|
||||
<td>{{ value }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
<dl>
|
||||
<template v-for="value, key in settingsToDisplay">
|
||||
<dt :class="`field-${key}`">{{ key }}</dt>
|
||||
<dd>{{ value }}</dd>
|
||||
</template>
|
||||
</dl>
|
||||
</template>
|
||||
|
||||
</div>
|
||||
<div v-else class="no-job-selected">
|
||||
<p>No job selected, pick one from the list on the left.</p>
|
||||
</div>
|
||||
@ -189,24 +174,10 @@ export default {
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.job-details {
|
||||
font-size: smaller;
|
||||
font-family: 'Noto Mono', monospace;
|
||||
}
|
||||
|
||||
tr:hover {
|
||||
background-color: #333333;
|
||||
}
|
||||
|
||||
tr.field-id td {
|
||||
/* Prevent fields with long IDs from overflowing. */
|
||||
.field-id + dd {
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
th {
|
||||
font-weight: bold;
|
||||
text-align: right;
|
||||
vertical-align: top;
|
||||
white-space: nowrap;
|
||||
}
|
||||
</style>
|
||||
|
@ -1,51 +1,39 @@
|
||||
<template>
|
||||
<h2 class="column-title">Task Details</h2>
|
||||
<div v-if="hasTaskData" class="task-details">
|
||||
<table class="details">
|
||||
<tr class="field-id">
|
||||
<th>ID</th>
|
||||
<td>{{ taskData.id }}</td>
|
||||
</tr>
|
||||
|
||||
<tr class="field-name">
|
||||
<th>Name</th>
|
||||
<td>{{ taskData.name }}</td>
|
||||
</tr>
|
||||
<template v-if="hasTaskData">
|
||||
<dl>
|
||||
<dt class="field-id">ID</dt>
|
||||
<dd>{{ taskData.id }}</dd>
|
||||
|
||||
<tr class="field-status">
|
||||
<th>Status</th>
|
||||
<td>{{ taskData.status }}</td>
|
||||
</tr>
|
||||
<dt class="field-name">Name</dt>
|
||||
<dd>{{ taskData.name }}</dd>
|
||||
|
||||
<tr class="field-type">
|
||||
<th>Type</th>
|
||||
<td>{{ taskData.type }}</td>
|
||||
</tr>
|
||||
<dt class="field-status">Status</dt>
|
||||
<dd>{{ taskData.status }}</dd>
|
||||
|
||||
<tr class="field-priority">
|
||||
<th>Prio</th>
|
||||
<td>{{ taskData.priority }}</td>
|
||||
</tr>
|
||||
<dt class="field-type">Type</dt>
|
||||
<dd>{{ taskData.type }}</dd>
|
||||
|
||||
<tr class="field-created">
|
||||
<th>Created</th>
|
||||
<td>{{ datetime.relativeTime(taskData.created) }}</td>
|
||||
</tr>
|
||||
<tr class="field-updated">
|
||||
<th>Updated</th>
|
||||
<td>{{ datetime.relativeTime(taskData.updated) }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
<dt class="field-priority">Priority</dt>
|
||||
<dd>{{ taskData.priority }}</dd>
|
||||
|
||||
<dt class="field-created">Created</dt>
|
||||
<dd>{{ datetime.relativeTime(taskData.created) }}</dd>
|
||||
|
||||
<dt class="field-updated">Updated</dt>
|
||||
<dd>{{ datetime.relativeTime(taskData.updated) }}</dd>
|
||||
</dl>
|
||||
|
||||
<h3 class="sub-title">Commands</h3>
|
||||
<table class="commands">
|
||||
<tr v-for="cmd in taskData.commands" :class="`field-${cmd.name}`">
|
||||
<th>{{ cmd.name }}</th>
|
||||
<td>{{ cmd.parameters }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
<dl>
|
||||
<template v-for="cmd in taskData.commands">
|
||||
<dt :class="`field-${cmd.name}`">{{ cmd.name }}</dt>
|
||||
<dd>{{ cmd.parameters }}</dd>
|
||||
</template>
|
||||
</dl>
|
||||
</template>
|
||||
|
||||
</div>
|
||||
<div v-else class="no-task-selected">
|
||||
<p>No task selected, pick one from the list on the left.</p>
|
||||
</div>
|
||||
@ -84,24 +72,10 @@ export default {
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.task-details {
|
||||
font-size: smaller;
|
||||
font-family: 'Noto Mono', monospace;
|
||||
}
|
||||
|
||||
tr:hover {
|
||||
background-color: #333333;
|
||||
}
|
||||
|
||||
tr.field-id td {
|
||||
/* Prevent fields with long IDs from overflowing. */
|
||||
.field-id + dd {
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
th {
|
||||
font-weight: bold;
|
||||
text-align: right;
|
||||
vertical-align: top;
|
||||
white-space: nowrap;
|
||||
}
|
||||
</style>
|
||||
|
Loading…
x
Reference in New Issue
Block a user