diff --git a/web_src/js/components/ActionRunJobView.vue b/web_src/js/components/ActionRunJobView.vue index d150e5899b6..ef4b591ec61 100644 --- a/web_src/js/components/ActionRunJobView.vue +++ b/web_src/js/components/ActionRunJobView.vue @@ -2,7 +2,7 @@ import {computed, nextTick, onBeforeUnmount, onMounted, ref, toRefs, watch} from 'vue'; import {SvgIcon} from '../svg.ts'; import ActionStatusIcon from './ActionStatusIcon.vue'; -import {addDelegatedEventListener, createElementFromAttrs, toggleElem} from '../utils/dom.ts'; +import {addDelegatedEventListener, createElementFromAttrs} from '../utils/dom.ts'; import {formatDatetime, formatDatetimeISO} from '../utils/time.ts'; import {POST} from '../modules/fetch.ts'; import {copyToClipboardWithFeedback} from '../modules/clipboard.ts'; @@ -247,9 +247,6 @@ function createLogLine(stepIndex: number, startTime: number, line: LogLine, cmd: `${seconds}s`, // for "Show seconds" ); - toggleElem(logTimeStamp, timeVisible.value['log-time-stamp']); - toggleElem(logTimeSeconds, timeVisible.value['log-time-seconds']); - const lineClass = cmd?.name ? `job-log-line log-line-${cmd.name}` : 'job-log-line'; return createElementFromAttrs('div', {id: `jobstep-${stepIndex}-${line.index}`, class: lineClass}, lineNum, logTimeStamp, logMsg, logTimeSeconds, @@ -391,9 +388,6 @@ function elStepsContainer(): HTMLElement { function toggleTimeDisplay(type: 'seconds' | 'stamp') { timeVisible.value[`log-time-${type}`] = !timeVisible.value[`log-time-${type}`]; - for (const el of elStepsContainer().querySelectorAll(`.log-time-${type}`)) { - toggleElem(el, timeVisible.value[`log-time-${type}`]); - } saveLocaleStorageOptions(); } @@ -473,7 +467,15 @@ async function hashChangeListener() { -
+
.job-log-group-summary { - list-style-type: disclosure-open; +.job-log-group-summary::-webkit-details-marker { /* hide the disclosure marker on Safari */ + display: none; } -.job-log-group-summary > .job-log-line { - position: absolute; - inset: 0; - z-index: -1; /* sit behind the disclosure marker */ - overflow: hidden; +.log-line-group .log-msg::before { + content: ""; + display: inline-block; + vertical-align: middle; + margin-top: -2.5px; + margin-right: 8px; + border-top: 4px solid transparent; + border-bottom: 4px solid transparent; + border-left: 6px solid var(--color-text-light-3); + transition: transform 0.1s ease; } -.job-log-group-summary > .job-log-line .log-msg { - margin-left: 21px; +.job-log-group[open] .log-line-group .log-msg::before { + transform: rotate(90deg); }