|
1 | 1 | <script> |
2 | 2 | import { env } from '$env/dynamic/public'; |
3 | | - import { extractJobErrorParts } from '$lib/common/job_utilities'; |
| 3 | + import { extractJobErrorParts, showExecutorErrorLog } from '$lib/common/job_utilities'; |
4 | 4 | import { onDestroy } from 'svelte'; |
5 | 5 | import Modal from '../../common/Modal.svelte'; |
6 | 6 | import ExpandableLog from '$lib/components/common/ExpandableLog.svelte'; |
|
15 | 15 | let admin = false; |
16 | 16 | let log = ''; |
17 | 17 | let loading = $state(true); |
| 18 | + /** @type {'main'|'slurm'} */ |
| 19 | + let selectedTab = $state('main'); |
18 | 20 |
|
19 | 21 | const updateJobInterval = env.PUBLIC_UPDATE_JOBS_INTERVAL |
20 | 22 | ? parseInt(env.PUBLIC_UPDATE_JOBS_INTERVAL) |
|
31 | 33 | if (errorAlert) { |
32 | 34 | errorAlert.hide(); |
33 | 35 | } |
| 36 | + selectedTab = showExecutorErrorLog(selectedJob) ? 'slurm' : 'main'; |
34 | 37 | job = selectedJob; |
35 | 38 | admin = isAdminPage; |
36 | 39 | log = ''; |
|
124 | 127 | </div> |
125 | 128 | {/snippet} |
126 | 129 | {#snippet body()} |
127 | | - <div id="errorAlert-workflowJobLogsModal"></div> |
128 | | - {#if loading} |
129 | | - <div class="spinner-border spinner-border-sm" role="status"> |
130 | | - <span class="visually-hidden">Loading...</span> |
131 | | - </div> |
132 | | - Loading... |
| 130 | + {#if job && showExecutorErrorLog(job)} |
| 131 | + <ul class="nav nav-tabs mb-3"> |
| 132 | + <li class="nav-item"> |
| 133 | + <button |
| 134 | + class="nav-link" |
| 135 | + class:active={selectedTab === 'main'} |
| 136 | + onclick={() => (selectedTab = 'main')} |
| 137 | + aria-current={selectedTab === 'main' ? 'page' : undefined} |
| 138 | + > |
| 139 | + Main Log |
| 140 | + </button> |
| 141 | + </li> |
| 142 | + <li class="nav-item"> |
| 143 | + <button |
| 144 | + class="nav-link" |
| 145 | + class:active={selectedTab === 'slurm'} |
| 146 | + onclick={() => (selectedTab = 'slurm')} |
| 147 | + aria-current={selectedTab === 'slurm' ? 'page' : undefined} |
| 148 | + > |
| 149 | + SLURM Error Log |
| 150 | + </button> |
| 151 | + </li> |
| 152 | + </ul> |
| 153 | + {/if} |
| 154 | + {#if selectedTab === 'main'} |
| 155 | + <div id="errorAlert-workflowJobLogsModal"></div> |
| 156 | + {#if loading} |
| 157 | + <div class="spinner-border spinner-border-sm" role="status"> |
| 158 | + <span class="visually-hidden">Loading...</span> |
| 159 | + </div> |
| 160 | + Loading... |
| 161 | + {:else} |
| 162 | + <ExpandableLog bind:logParts highlight={job?.status === 'failed'} /> |
| 163 | + {/if} |
133 | 164 | {:else} |
134 | | - <ExpandableLog bind:logParts highlight={job?.status === 'failed'} /> |
| 165 | + <pre><div class="ps-3 pe-3">{job?.executor_error_log}</div></pre> |
135 | 166 | {/if} |
136 | 167 | {/snippet} |
137 | 168 | </Modal> |
0 commit comments