Mercurial > sci
annotate themes/bulma/jobresults.mustache @ 41:00b9af607524
scid: implement /jobresults/id page
author | David Demelier <markand@malikania.fr> |
---|---|
date | Tue, 09 Aug 2022 14:52:34 +0200 |
parents | |
children | 3cf148705724 |
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> |
00b9af607524
scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
18 <td class="{{classname}}">{{status}}</td> |
00b9af607524
scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
19 <td><button class="button is-light is-info is-small js-modal-trigger" data-target="console-{{job_id}}">view log</button></td> |
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}} |
00b9af607524
scid: implement /jobresults/id page
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
27 <div id="console-{{job_id}}" class="modal"> |
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> |