You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

index.tmpl 25 kB

4 years ago
3 years ago
4 years ago
3 years ago
4 years ago
3 years ago
4 years ago
3 years ago
4 years ago
3 years ago
4 years ago
3 years ago
4 years ago
3 years ago
4 years ago
3 years ago
4 years ago
3 years ago
4 years ago
3 years ago
3 years ago
3 years ago
4 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
3 years ago
2 years ago
4 years ago
3 years ago
4 years ago
4 years ago
3 years ago
4 years ago
4 years ago
2 years ago
4 years ago
4 years ago
4 years ago
3 years ago
3 years ago
3 years ago
4 years ago
3 years ago
3 years ago
3 years ago
4 years ago
3 years ago
4 years ago
3 years ago
2 years ago
4 years ago
3 years ago
4 years ago
3 years ago
4 years ago
4 years ago
3 years ago
4 years ago
4 years ago
4 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
3 years ago
4 years ago
3 years ago
4 years ago
4 years ago
3 years ago
3 years ago
3 years ago
3 years ago
2 years ago
3 years ago
4 years ago
3 years ago
4 years ago
4 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
3 years ago
3 years ago
3 years ago
4 years ago
3 years ago
3 years ago
4 years ago
3 years ago
3 years ago
2 years ago
3 years ago
4 years ago
4 years ago
3 years ago
3 years ago
3 years ago
4 years ago
3 years ago
4 years ago
4 years ago
3 years ago
3 years ago
3 years ago
4 years ago
3 years ago
4 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
3 years ago
4 years ago
3 years ago
4 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago
3 years ago
4 years ago
3 years ago
4 years ago
3 years ago
4 years ago
3 years ago
4 years ago
3 years ago
4 years ago
3 years ago
3 years ago
3 years ago
4 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago
3 years ago
4 years ago
3 years ago
4 years ago
3 years ago
3 years ago
4 years ago
3 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485
  1. <!-- 头部导航栏 -->
  2. {{template "base/head" .}}
  3. <style>
  4. .label_after::after {
  5. margin: -.2em 0 0 .2em;
  6. content: '\00a0';
  7. }
  8. .selectcloudbrain .active.item {
  9. color: #0087f5 !important;
  10. border: 1px solid #0087f5;
  11. margin: -1px;
  12. background: #FFF !important;
  13. }
  14. #deletemodel {
  15. width: 100%;
  16. height: 100%;
  17. }
  18. /* 消息框 */
  19. .alert {
  20. display: none;
  21. position: fixed;
  22. width: 100%;
  23. z-index: 1001;
  24. padding: 15px;
  25. border: 1px solid transparent;
  26. border-radius: 4px;
  27. text-align: center;
  28. font-weight: bold;
  29. }
  30. .alert-success {
  31. color: #3c763d;
  32. background-color: #dff0d8;
  33. border-color: #d6e9c6;
  34. }
  35. .alert-info {
  36. color: #31708f;
  37. background-color: #d9edf7;
  38. border-color: #bce8f1;
  39. }
  40. .alert-warning {
  41. color: #8a6d3b;
  42. background-color: #fcf8e3;
  43. border-color: #faebcc;
  44. }
  45. .alert-danger {
  46. color: #a94442;
  47. background-color: #f2dede;
  48. border-color: #ebccd1;
  49. }
  50. .pusher {
  51. width: calc(100% - 260px);
  52. box-sizing: border-box;
  53. }
  54. /* 弹窗 (background) */
  55. #imageModal {
  56. display: none;
  57. position: fixed;
  58. z-index: 1;
  59. left: 0;
  60. top: 0;
  61. width: 100%;
  62. height: 100%;
  63. overflow: auto;
  64. background-color: rgb(0, 0, 0);
  65. background-color: rgba(0, 0, 0, 0.4);
  66. }
  67. /* 弹窗内容 */
  68. .modal-content {
  69. background-color: #fefefe;
  70. margin: 15% auto;
  71. padding: 20px;
  72. border: 1px solid #888;
  73. width: 30%;
  74. }
  75. /* 关闭按钮 */
  76. .close {
  77. color: #aaa;
  78. float: right;
  79. font-size: 28px;
  80. font-weight: bold;
  81. }
  82. .close:hover,
  83. .close:focus {
  84. color: black;
  85. text-decoration: none;
  86. cursor: pointer;
  87. }
  88. .dis {
  89. margin-bottom: 20px;
  90. }
  91. .disabled {
  92. cursor: pointer;
  93. pointer-events: none;
  94. }
  95. .time-show {
  96. font-size: 10px;
  97. margin-top: 0.4rem;
  98. display: inline-block;
  99. }
  100. </style>
  101. <div class="alert"></div>
  102. <div class="repository release dataset-list view">
  103. {{template "repo/header" .}}
  104. {{template "base/alert" .}}
  105. <!-- 提示框 -->
  106. <div class="cloudbrain_debug" style="display: none;" data-debug="{{$.i18n.Tr "repo.debug"}}"
  107. data-debug-again="{{$.i18n.Tr "repo.debug_again"}}"></div>
  108. <!-- 列表容器 -->
  109. <div class="ui container">
  110. <div class="ui two column stackable grid">
  111. <div class="column">
  112. <div class="ui blue small menu compact selectcloudbrain">
  113. <a class="active item"
  114. href="{{.RepoLink}}/debugjob?debugListType=all">{{$.i18n.Tr "repo.modelarts.notebook"}}</a>
  115. <a class="item"
  116. href="{{.RepoLink}}/modelarts/train-job?listType=all">{{$.i18n.Tr "repo.modelarts.train_job"}}</a>
  117. <a class="item"
  118. href="{{.RepoLink}}/modelarts/inference-job">{{$.i18n.Tr "repo.modelarts.infer_job"}}</a>
  119. <a class="item"
  120. href="{{.RepoLink}}/cloudbrain/benchmark">{{$.i18n.Tr "repo.modelarts.evaluate_job"}}</a>
  121. </div>
  122. </div>
  123. <div class="column right aligned">
  124. <div class="ui selection dropdown"
  125. style="min-width: 10em;min-height:2.6em;border-radius: .28571429rem;margin-right: 1em;padding: .67em 3.2em .7em 1em;">
  126. {{svg "octicon-server" 16}}
  127. <div class="default text" style="color: rgba(0,0,0,.87);"></div>
  128. <i class="dropdown icon"></i>
  129. <div class="menu">
  130. <div class="item" data-value="all">{{$.i18n.Tr "repo.gpu_type_all"}}</div>
  131. <div class="item" data-value="CPU/GPU">CPU/GPU</div>
  132. <div class="item" data-value="NPU">NPU</div>
  133. <div class="item" data-value="GCU">GCU</div>
  134. </div>
  135. </div>
  136. {{if .Permission.CanWrite $.UnitTypeCloudBrain}}
  137. <a class="ui green button"
  138. href="{{.RepoLink}}/cloudbrain/create">{{$.i18n.Tr "repo.modelarts.train_job.new_debug"}}</a>
  139. {{else}}
  140. <a class="ui disabled button">{{$.i18n.Tr "repo.modelarts.train_job.new_debug"}}</a>
  141. {{end}}
  142. </div>
  143. </div>
  144. {{if eq 0 (len .Tasks)}}
  145. <div class="ui placeholder segment bgtask-none">
  146. <div class="ui icon header bgtask-header-pic"></div>
  147. <div class="bgtask-content-header">{{$.i18n.Tr "repo.debug_task_not_created"}}</div>
  148. <div class="bgtask-content">
  149. {{if $.RepoIsEmpty}}
  150. <div class="bgtask-content-txt">{{$.i18n.Tr "repo.repo_not_initialized" .RepoLink | Safe}}</div>
  151. {{end}}
  152. <div class="bgtask-content-txt">{{$.i18n.Tr "repo.debug_task_running_limit"}}</div>
  153. <div class="bgtask-content-txt">{{$.i18n.Tr "repo.dataset_desc"}}</div>
  154. <div class="bgtask-content-txt">{{$.i18n.Tr "repo.platform_instructions" | Safe}}</div>
  155. </div>
  156. </div>
  157. {{else}}
  158. <!-- 中下列表展示区 -->
  159. <div class="ui grid">
  160. <div class="row">
  161. <div class="ui sixteen wide column">
  162. <!-- 任务展示 -->
  163. <!-- 表头 -->
  164. <div class="dataset list">
  165. <div class="ui grid stackable" style="background: #f0f0f0;;">
  166. <div class="row">
  167. <div class="four wide column">
  168. <span style="margin:0 6px">{{$.i18n.Tr "repo.cloudbrain_task"}}</span>
  169. </div>
  170. <div class="two wide column text center">
  171. <span style="margin:0 6px">{{$.i18n.Tr "repo.modelarts.status"}}</span>
  172. </div>
  173. <div class="two wide column text center">
  174. <span>{{$.i18n.Tr "repo.modelarts.createtime"}}</span>
  175. </div>
  176. <div class="two wide column text center">
  177. <span>{{$.i18n.Tr "repo.modelarts.cluster.computing_resources"}}</span>
  178. </div>
  179. <div class="one wide column text center">
  180. <span>{{$.i18n.Tr "repo.cloudbrain_creator"}}</span>
  181. </div>
  182. <div class="five wide column text center">
  183. <span>{{$.i18n.Tr "repo.cloudbrain_operate"}}</span>
  184. </div>
  185. </div>
  186. </div>
  187. {{range .Tasks}}
  188. <div class="ui grid stackable item">
  189. <div class="row">
  190. <!-- 任务名 -->
  191. <div class="four wide column">
  192. <a class="title"
  193. href='{{$.RepoLink}}{{if eq .Cloudbrain.Type 2}}/grampus/notebook{{else}}{{if eq .ComputeResource "CPU/GPU"}}/cloudbrain{{else}}/modelarts/notebook{{end}}{{end}}/{{.Cloudbrain.ID}}/'
  194. title="{{.DisplayJobName}}" style="font-size: 14px;">
  195. <span class="fitted text_over"
  196. style="width: 90%;vertical-align: middle;">{{.DisplayJobName}}</span>
  197. </a>
  198. </div>
  199. <div class="two wide column text center">
  200. <!--任务状态 -->
  201. <span class="job-status" id="{{.Cloudbrain.ID}}"
  202. data-repopath="{{$.RepoRelPath}}{{if eq .Cloudbrain.Type 2}}/grampus/notebook{{else}}{{if eq .ComputeResource "CPU/GPU"}}/cloudbrain{{else}}/modelarts/notebook{{end}}{{end}}"
  203. data-jobid="{{.Cloudbrain.ID}}" data-resource="{{.ComputeResource}}">
  204. <span><i id="{{.Cloudbrain.ID}}-icon" style="vertical-align: middle;"
  205. class="{{.Status}}"></i><span id="{{.Cloudbrain.ID}}-text"
  206. style="margin-left: 0.4em;font-size: 12px;">{{.Status}}</span></span>
  207. </span>
  208. </div>
  209. <div class="two wide column text center">
  210. <!-- 任务创建时间 -->
  211. <span style="font-size: 12px;margin-left: 0.4rem;"
  212. class="">{{TimeSinceUnix .Cloudbrain.CreatedUnix $.Lang}}</span>
  213. </div>
  214. <div class="two wide column text center">
  215. <!-- 任务计算资源 -->
  216. <span style="font-size: 12px;margin-left: 0.4rem;">
  217. {{if eq .Cloudbrain.Type 2}}
  218. {{$.i18n.Tr "cloudbrain.resource_cluster_c2net_simple"}}
  219. {{else}}
  220. {{$.i18n.Tr "cloudbrain.resource_cluster_openi_simple"}}
  221. {{end}}
  222. {{.ComputeResource}}
  223. </span>
  224. </div>
  225. <div class="one wide column text center">
  226. {{if .User.Name}}
  227. <a href="{{AppSubUrl}}/{{.User.Name}}" title="{{.User.Name}}"><img
  228. class="ui avatar image" src="{{.User.RelAvatarLink}}"></a>
  229. {{else}}
  230. <a title="Ghost"><img class="ui avatar image"
  231. src="{{AppSubUrl}}/user/avatar/Ghost/-1"></a>
  232. {{end}}
  233. </div>
  234. <div class="five wide column text center">
  235. <div class="ui compact buttons">
  236. <!-- {{if and (ne .Status "WAITING") (ne .JobType "DEBUG")}}
  237. <a class="ui basic button" href="{{$.Link}}/{{.Cloudbrain.ID}}/rate" target="_blank">
  238. 评分
  239. </a>
  240. {{end}} -->
  241. <!-- 调试 -->
  242. <form id="debugAgainForm-{{.Cloudbrain.ID}}">
  243. {{$.CsrfTokenHtml}}
  244. {{if .CanDebug}}
  245. {{if eq .Status "RUNNING" "WAITING" "CREATING" "STARTING"}}
  246. <a style="margin: 0 1rem;" id="ai-debug-{{.Cloudbrain.ID}}"
  247. class='ui basic ai_debug {{if eq .Status "CREATING" "STOPPING" "WAITING" "STARTING"}}disabled {{else}}blue {{end}}button'
  248. data-jobid="{{.Cloudbrain.ID}}"
  249. data-repopath='{{$.RepoLink}}{{if eq .Cloudbrain.Type 2}}/grampus/notebook{{else}}{{if eq .ComputeResource "CPU/GPU"}}/cloudbrain{{else}}/modelarts/notebook{{end}}{{end}}/{{.Cloudbrain.ID}}/'>
  250. {{$.i18n.Tr "repo.debug"}}
  251. </a>
  252. {{else}}
  253. {{if not .BootFile}}
  254. <a id="ai-debug-{{.Cloudbrain.ID}}"
  255. class='ui basic ai_debug {{if eq .Status "CREATING" "STOPPING" "WAITING" "STARTING"}} disabled {{else}}blue {{end}}button'
  256. data-jobid="{{.Cloudbrain.ID}}"
  257. data-repopath='{{$.RepoLink}}{{if eq .Cloudbrain.Type 2}}/grampus/notebook{{else}}{{if eq .ComputeResource "CPU/GPU"}}/cloudbrain{{else}}/modelarts/notebook{{end}}{{end}}/{{.Cloudbrain.ID}}/'
  258. data-linkpath='{{$.Link}}'>
  259. {{$.i18n.Tr "repo.debug_again"}}
  260. </a>
  261. {{end}}
  262. {{end}}
  263. {{else}}
  264. {{if eq .Status "RUNNING" "WAITING" "CREATING" "STARTING"}}
  265. <a class="ui basic disabled button">
  266. {{$.i18n.Tr "repo.debug"}}
  267. </a>
  268. {{else}}
  269. <a class="ui basic disabled button">
  270. {{$.i18n.Tr "repo.debug_again"}}
  271. </a>
  272. {{end}}
  273. {{end}}
  274. </form>
  275. <!-- 停止 -->
  276. <form id="stopForm-{{.Cloudbrain.ID}}" style="margin-left:-1px;">
  277. {{$.CsrfTokenHtml}}
  278. {{if .CanDel}}
  279. <a id="ai-stop-{{.Cloudbrain.ID}}"
  280. class='ui basic ai_stop {{if eq .Status "STOPPED" "FAILED" "START_FAILED" "STOPPING" "CREATING" "STARTING" "SUCCEEDED" "CREATE_FAILED" "DELETED"}}disabled {{else}}blue {{end}}button'
  281. data-repopath='{{$.RepoLink}}{{if eq .Cloudbrain.Type 2}}/grampus/notebook{{else}}{{if eq .ComputeResource "CPU/GPU"}}/cloudbrain{{else}}/modelarts/notebook{{end}}{{end}}/{{.Cloudbrain.ID}}/stop'
  282. data-jobid="{{.Cloudbrain.ID}}">
  283. {{$.i18n.Tr "repo.stop"}}
  284. </a>
  285. {{else}}
  286. <a class="ui basic disabled button">
  287. {{$.i18n.Tr "repo.stop"}}
  288. </a>
  289. {{end}}
  290. </form>
  291. <!-- 删除 -->
  292. <form id="delForm-{{.Cloudbrain.ID}}"
  293. action="{{$.RepoLink}}{{if eq .Cloudbrain.Type 2}}/grampus/notebook{{else}}{{if eq .ComputeResource "CPU/GPU"}}/cloudbrain{{else}}/modelarts/notebook{{end}}{{end}}/{{.Cloudbrain.ID}}/del"
  294. method="post">
  295. <input type="hidden" name="debugListType" value="{{$.ListType}}">
  296. {{$.CsrfTokenHtml}}
  297. {{if .CanDel}}
  298. <a id="ai-delete-{{.Cloudbrain.ID}}"
  299. class='ui basic ai_delete {{if eq .Status "STOPPED" "FAILED" "START_FAILED" "SUCCEEDED" "CREATE_FAILED" "DELETED"}}blue {{else}}disabled {{end}}button'
  300. style="border-radius: .28571429rem;">
  301. {{$.i18n.Tr "repo.delete"}}
  302. </a>
  303. {{else}}
  304. <a class="ui basic button disabled" style="border-radius: .28571429rem;">
  305. {{$.i18n.Tr "repo.delete"}}
  306. </a>
  307. {{end}}
  308. </form>
  309. </div>
  310. {{if not .BootFile}}
  311. <div class="ui compact buttons"
  312. style="{{if and (ne .Cloudbrain.Type 2) (eq .ComputeResource "CPU/GPU")}} visibility: visible {{else}} visibility: hidden{{end}}">
  313. <div class="ui dropdown" id="model_more"
  314. style="padding: .58928571em 1.125em .58928571em;">
  315. <div class="text">{{$.i18n.Tr "repo.more"}}</div>
  316. <i class="dropdown icon"></i>
  317. <div class="menu" style="right: auto;">
  318. <div class="item" style="padding: 0 !important;">
  319. {{if .CanDebug}}
  320. <a id="model-image-{{.Cloudbrain.ID}}"
  321. class='imageBtn ui basic {{if ne .Status "RUNNING"}}disabled {{else}}blue {{end}}button'
  322. target="_blank"
  323. href="{{$.RepoLink}}/cloudbrain/{{.Cloudbrain.ID}}/commit_image">{{$.i18n.Tr "repo.submit_image"}}</a>
  324. {{else}}
  325. <a
  326. class="imageBtn ui basic disabled button">{{$.i18n.Tr "repo.submit_image"}}</a>
  327. {{end}}
  328. </div>
  329. <div class="item" style="padding: 0 !important;">
  330. <!-- 模型下载 -->
  331. {{if .CanDebug}}
  332. <a class="ui basic blue button"
  333. href="{{$.RepoLink}}/cloudbrain/{{.Cloudbrain.ID}}/models"
  334. target="_blank">{{$.i18n.Tr "repo.download"}}</a>
  335. {{else}}
  336. <a
  337. class="ui basic disabled button">{{$.i18n.Tr "repo.download"}}</a>
  338. {{end}}
  339. </div>
  340. {{if and (ne .JobType "DEBUG") (eq .Cloudbrain.Type 0)}}
  341. <div class="item" style="padding: 0 !important;">
  342. <a class="ui basic blue button"
  343. href="{{$.RepoLink}}/cloudbrain/{{.Cloudbrain.ID}}/rate"
  344. target="_blank">
  345. 评分
  346. </a>
  347. </div>
  348. {{end}}
  349. </div>
  350. </div>
  351. </div>
  352. {{end}}
  353. </div>
  354. <!-- 镜像列表弹窗 -->
  355. </div>
  356. </div>
  357. {{end}}
  358. <div id="app" style="margin-top: 2rem;">
  359. <div class="center">
  360. <el-pagination background @current-change="handleCurrentChange" :current-page="page"
  361. :page-sizes="[10]" :page-size="10" layout="total, sizes, prev, pager, next, jumper"
  362. :total="{{.Page.Paginater.Total}}">
  363. </el-pagination>
  364. </div>
  365. </div>
  366. </div>
  367. </div>
  368. </div>
  369. </div>
  370. {{end}}
  371. </div>
  372. </div>
  373. </div>
  374. </div>
  375. <!-- 确认模态框 -->
  376. <div id="deletemodel">
  377. <div class="ui basic modal">
  378. <div class="ui icon header">
  379. <i class="trash icon"></i> {{.i18n.Tr "cloudbrain.delete_task"}}
  380. </div>
  381. <div class="content">
  382. <p>{{.i18n.Tr "cloudbrain.task_delete_confirm"}}</p>
  383. </div>
  384. <div class="actions">
  385. <div class="ui red basic inverted cancel button">
  386. <i class="remove icon"></i> {{.i18n.Tr "cloudbrain.operate_cancel"}}
  387. </div>
  388. <div class="ui green basic inverted ok button">
  389. <i class="checkmark icon"></i> {{.i18n.Tr "cloudbrain.operate_confirm"}}
  390. </div>
  391. </div>
  392. </div>
  393. </div>
  394. <div class="ui mini modal debug-again">
  395. <div class="header">{{$.QueuesDetail}}</div>
  396. <div class="content">
  397. <p>1111</p>
  398. </div>
  399. <div class="actions">
  400. <div class="ui mini negative button">Cancel</div>
  401. <div class="ui mini positive button">OK</div>
  402. </div>
  403. </div>
  404. </div>
  405. <div class="ui modal debug-again-alert">
  406. <div class="ui message" style="background-color: rgba(242, 113, 28, 0.05);border: 1px solid rgba(242, 113, 28, 1);border-radius: 5px;">
  407. <div style="display: flex;align-items: center;">
  408. <i class="ri-information-line" style="font-size: 35px;color: rgba(242, 113, 28, 1);;"></i>
  409. <div style="text-align: left;margin-left: 1rem;">
  410. <div style="font-weight: 600;line-height: 2;">{{.i18n.Tr "repo.cloudbrain.morethanonejob1" | Safe }}</div>
  411. <div style="color:#939393">{{.i18n.Tr "repo.cloudbrain.morethanonejob2" | Safe}}</div>
  412. </div>
  413. </div>
  414. </div>
  415. </div>
  416. {{template "base/footer" .}}
  417. <script>
  418. // 调试和评分新开窗口
  419. const { AppSubUrl, StaticUrlPrefix, csrf } = window.config;
  420. let url = {{.RepoLink }}
  421. let redirect_to = {{ $.Link }}
  422. let getParam = getQueryVariable('debugListType')
  423. let dropdownValue = ['all', '', false].includes(getParam) ? '{{$.i18n.Tr "repo.gpu_type_all"}}' : getParam
  424. // localStorage.setItem('all',location.href)
  425. function getQueryVariable(variable) {
  426. let query = window.location.search.substring(1);
  427. let vars = query.split("&");
  428. for (let i = 0; i < vars.length; i++) {
  429. let pair = vars[i].split("=");
  430. if (pair[0] == variable) { return pair[1]; }
  431. }
  432. return (false);
  433. }
  434. $(document).ready(function () {
  435. dropdownValue = dropdownValue === "CPU%2FGPU" ? 'CPU/GPU' : dropdownValue
  436. $('.default.text').text(dropdownValue)
  437. $('.ui.dropdown')
  438. .dropdown({
  439. action: 'hide',
  440. })
  441. $('.ui.selection.dropdown').dropdown({
  442. onChange: function (value) {
  443. location.href = `${url}/debugjob?debugListType=${value}`
  444. }
  445. })
  446. $('.message .close')
  447. .on('click', function () {
  448. $(this)
  449. .closest('.message')
  450. .transition('fade')
  451. })
  452. })
  453. </script>