annotate themes/bulma/jobresults.mustache @ 77:070d8c92ca30

scid: fix index page
author David Demelier <markand@malikania.fr>
date Mon, 30 Jan 2023 10:38:33 +0100
parents de0b36eabece
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
41
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 <h1 class="title">Results for job {{job_id}}</h1>
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 <table class="table">
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
3 <thead>
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
4 <tr>
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 <th>Worker</th>
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 <th>Exit code</th>
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 <th>Termination code</th>
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 <th>Status</th>
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 <th>View log</th>
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 </tr>
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 </thead>
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
12 <tbody>
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 {{#jobresults}}
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 <tr>
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 <td><a href="/workers/{{worker_name}}">{{worker_name}}</a></td>
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
16 <td>{{exitcode}}</td>
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
17 <td>{{sigcode}}</td>
48
3cf148705724 scid: refactor status classes in bulma
David Demelier <markand@malikania.fr>
parents: 41
diff changeset
18 <td class="{{textcolor}}">{{status}}</td>
76
de0b36eabece themes: fix jobresult consoles
David Demelier <markand@malikania.fr>
parents: 48
diff changeset
19 <td><button class="button is-light is-info is-small js-modal-trigger" data-target="console-{{id}}">view log</button></td>
41
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
20 </tr>
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
21 {{/jobresults}}
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
22 </tbody>
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
23 </table>
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
24
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
25 <!-- Modal dialogs for every console output. -->
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
26 {{#jobresults}}
76
de0b36eabece themes: fix jobresult consoles
David Demelier <markand@malikania.fr>
parents: 48
diff changeset
27 <div id="console-{{id}}" class="modal">
41
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
28 <div class="modal-background"></div>
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
29
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
30 <div class="modal-content console">
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
31 <div class="box">
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
32 <pre>{{console}}</pre>
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
33 </div>
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
34 </div>
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
35
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
36 <button class="modal-close is-large" aria-label="close"></button>
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
37 </div>
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
38 {{/jobresults}}
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
39
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
40 <script type="text/javascript">
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
41 document.addEventListener('DOMContentLoaded', () => {
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
42 // Functions to open and close a modal
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
43 function openModal($el) {
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
44 $el.classList.add('is-active');
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
45 }
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
46
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
47 function closeModal($el) {
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
48 $el.classList.remove('is-active');
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
49 }
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
50
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
51 function closeAllModals() {
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
52 (document.querySelectorAll('.modal') || []).forEach(($modal) => {
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
53 closeModal($modal);
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
54 });
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
55 }
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
56
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
57 // Add a click event on buttons to open a specific modal
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
58 (document.querySelectorAll('.js-modal-trigger') || []).forEach(($trigger) => {
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
59 const modal = $trigger.dataset.target;
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
60 const $target = document.getElementById(modal);
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
61
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
62 $trigger.addEventListener('click', () => {
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
63 openModal($target);
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
64 });
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
65 });
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
66
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
67 // Add a click event on various child elements to close the parent modal
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
68 (document.querySelectorAll('.modal-background, .modal-close, .modal-card-head .delete, .modal-card-foot .button') || []).forEach(($close) => {
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
69 const $target = $close.closest('.modal');
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
70
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
71 $close.addEventListener('click', () => {
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
72 closeModal($target);
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
73 });
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
74 });
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
75
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
76 // Add a keyboard event to close all modals
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
77 document.addEventListener('keydown', (event) => {
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
78 const e = event || window.event;
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
79
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
80 if (e.keyCode === 27) { // Escape key
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
81 closeAllModals();
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
82 }
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
83 });
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
84 });
00b9af607524 scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff changeset
85 </script>