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
4 years ago
3 years ago
4 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
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
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
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
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
3 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
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484
  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>
  134. </div>
  135. {{if .Permission.CanWrite $.UnitTypeCloudBrain}}
  136. <a class="ui green button"
  137. href="{{.RepoLink}}/cloudbrain/create">{{$.i18n.Tr "repo.modelarts.train_job.new_debug"}}</a>
  138. {{else}}
  139. <a class="ui disabled button">{{$.i18n.Tr "repo.modelarts.train_job.new_debug"}}</a>
  140. {{end}}
  141. </div>
  142. </div>
  143. {{if eq 0 (len .Tasks)}}
  144. <div class="ui placeholder segment bgtask-none">
  145. <div class="ui icon header bgtask-header-pic"></div>
  146. <div class="bgtask-content-header">{{$.i18n.Tr "repo.debug_task_not_created"}}</div>
  147. <div class="bgtask-content">
  148. {{if $.RepoIsEmpty}}
  149. <div class="bgtask-content-txt">{{$.i18n.Tr "repo.repo_not_initialized" .RepoLink | Safe}}</div>
  150. {{end}}
  151. <div class="bgtask-content-txt">{{$.i18n.Tr "repo.debug_task_running_limit"}}</div>
  152. <div class="bgtask-content-txt">{{$.i18n.Tr "repo.dataset_desc"}}</div>
  153. <div class="bgtask-content-txt">{{$.i18n.Tr "repo.platform_instructions" | Safe}}</div>
  154. </div>
  155. </div>
  156. {{else}}
  157. <!-- 中下列表展示区 -->
  158. <div class="ui grid">
  159. <div class="row">
  160. <div class="ui sixteen wide column">
  161. <!-- 任务展示 -->
  162. <!-- 表头 -->
  163. <div class="dataset list">
  164. <div class="ui grid stackable" style="background: #f0f0f0;;">
  165. <div class="row">
  166. <div class="four wide column">
  167. <span style="margin:0 6px">{{$.i18n.Tr "repo.cloudbrain_task"}}</span>
  168. </div>
  169. <div class="two wide column text center">
  170. <span style="margin:0 6px">{{$.i18n.Tr "repo.modelarts.status"}}</span>
  171. </div>
  172. <div class="two wide column text center">
  173. <span>{{$.i18n.Tr "repo.modelarts.createtime"}}</span>
  174. </div>
  175. <div class="two wide column text center">
  176. <span>{{$.i18n.Tr "repo.modelarts.cluster.computing_resources"}}</span>
  177. </div>
  178. <div class="one wide column text center">
  179. <span>{{$.i18n.Tr "repo.cloudbrain_creator"}}</span>
  180. </div>
  181. <div class="five wide column text center">
  182. <span>{{$.i18n.Tr "repo.cloudbrain_operate"}}</span>
  183. </div>
  184. </div>
  185. </div>
  186. {{range .Tasks}}
  187. <div class="ui grid stackable item">
  188. <div class="row">
  189. <!-- 任务名 -->
  190. <div class="four wide column">
  191. <a class="title"
  192. href='{{$.RepoLink}}{{if eq .Cloudbrain.Type 2}}/grampus/notebook{{else}}{{if eq .ComputeResource "CPU/GPU"}}/cloudbrain{{else}}/modelarts/notebook{{end}}{{end}}/{{.Cloudbrain.ID}}/'
  193. title="{{.DisplayJobName}}" style="font-size: 14px;">
  194. <span class="fitted text_over"
  195. style="width: 90%;vertical-align: middle;">{{.DisplayJobName}}</span>
  196. </a>
  197. </div>
  198. <div class="two wide column text center">
  199. <!--任务状态 -->
  200. <span class="job-status" id="{{.Cloudbrain.ID}}"
  201. data-repopath="{{$.RepoRelPath}}{{if eq .Cloudbrain.Type 2}}/grampus/notebook{{else}}{{if eq .ComputeResource "CPU/GPU"}}/cloudbrain{{else}}/modelarts/notebook{{end}}{{end}}"
  202. data-jobid="{{.Cloudbrain.ID}}" data-resource="{{.ComputeResource}}">
  203. <span><i id="{{.Cloudbrain.ID}}-icon" style="vertical-align: middle;"
  204. class="{{.Status}}"></i><span id="{{.Cloudbrain.ID}}-text"
  205. style="margin-left: 0.4em;font-size: 12px;">{{.Status}}</span></span>
  206. </span>
  207. </div>
  208. <div class="two wide column text center">
  209. <!-- 任务创建时间 -->
  210. <span style="font-size: 12px;margin-left: 0.4rem;"
  211. class="">{{TimeSinceUnix .Cloudbrain.CreatedUnix $.Lang}}</span>
  212. </div>
  213. <div class="two wide column text center">
  214. <!-- 任务计算资源 -->
  215. <span style="font-size: 12px;margin-left: 0.4rem;">
  216. {{if eq .Cloudbrain.Type 2}}
  217. {{$.i18n.Tr "cloudbrain.resource_cluster_c2net_simple"}}
  218. {{else}}
  219. {{$.i18n.Tr "cloudbrain.resource_cluster_openi_simple"}}
  220. {{end}}
  221. {{.ComputeResource}}
  222. </span>
  223. </div>
  224. <div class="one wide column text center">
  225. {{if .User.Name}}
  226. <a href="{{AppSubUrl}}/{{.User.Name}}" title="{{.User.Name}}"><img
  227. class="ui avatar image" src="{{.User.RelAvatarLink}}"></a>
  228. {{else}}
  229. <a title="Ghost"><img class="ui avatar image"
  230. src="{{AppSubUrl}}/user/avatar/Ghost/-1"></a>
  231. {{end}}
  232. </div>
  233. <div class="five wide column text center">
  234. <div class="ui compact buttons">
  235. <!-- {{if and (ne .Status "WAITING") (ne .JobType "DEBUG")}}
  236. <a class="ui basic button" href="{{$.Link}}/{{.Cloudbrain.ID}}/rate" target="_blank">
  237. 评分
  238. </a>
  239. {{end}} -->
  240. <!-- 调试 -->
  241. <form id="debugAgainForm-{{.Cloudbrain.ID}}">
  242. {{$.CsrfTokenHtml}}
  243. {{if .CanDebug}}
  244. {{if eq .Status "RUNNING" "WAITING" "CREATING" "STARTING"}}
  245. <a style="margin: 0 1rem;" id="ai-debug-{{.Cloudbrain.ID}}"
  246. class='ui basic ai_debug {{if eq .Status "CREATING" "STOPPING" "WAITING" "STARTING"}}disabled {{else}}blue {{end}}button'
  247. data-jobid="{{.Cloudbrain.ID}}"
  248. data-repopath='{{$.RepoLink}}{{if eq .Cloudbrain.Type 2}}/grampus/notebook{{else}}{{if eq .ComputeResource "CPU/GPU"}}/cloudbrain{{else}}/modelarts/notebook{{end}}{{end}}/{{.Cloudbrain.ID}}/'>
  249. {{$.i18n.Tr "repo.debug"}}
  250. </a>
  251. {{else}}
  252. {{if not .BootFile}}
  253. <a id="ai-debug-{{.Cloudbrain.ID}}"
  254. class='ui basic ai_debug {{if eq .Status "CREATING" "STOPPING" "WAITING" "STARTING"}} disabled {{else}}blue {{end}}button'
  255. data-jobid="{{.Cloudbrain.ID}}"
  256. data-repopath='{{$.RepoLink}}{{if eq .Cloudbrain.Type 2}}/grampus/notebook{{else}}{{if eq .ComputeResource "CPU/GPU"}}/cloudbrain{{else}}/modelarts/notebook{{end}}{{end}}/{{.Cloudbrain.ID}}/'
  257. data-linkpath='{{$.Link}}'>
  258. {{$.i18n.Tr "repo.debug_again"}}
  259. </a>
  260. {{end}}
  261. {{end}}
  262. {{else}}
  263. {{if eq .Status "RUNNING" "WAITING" "CREATING" "STARTING"}}
  264. <a class="ui basic disabled button">
  265. {{$.i18n.Tr "repo.debug"}}
  266. </a>
  267. {{else}}
  268. <a class="ui basic disabled button">
  269. {{$.i18n.Tr "repo.debug_again"}}
  270. </a>
  271. {{end}}
  272. {{end}}
  273. </form>
  274. <!-- 停止 -->
  275. <form id="stopForm-{{.Cloudbrain.ID}}" style="margin-left:-1px;">
  276. {{$.CsrfTokenHtml}}
  277. {{if .CanDel}}
  278. <a id="ai-stop-{{.Cloudbrain.ID}}"
  279. class='ui basic ai_stop {{if eq .Status "STOPPED" "FAILED" "START_FAILED" "STOPPING" "CREATING" "STARTING" "SUCCEEDED" "CREATE_FAILED" "DELETED"}}disabled {{else}}blue {{end}}button'
  280. 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'
  281. data-jobid="{{.Cloudbrain.ID}}">
  282. {{$.i18n.Tr "repo.stop"}}
  283. </a>
  284. {{else}}
  285. <a class="ui basic disabled button">
  286. {{$.i18n.Tr "repo.stop"}}
  287. </a>
  288. {{end}}
  289. </form>
  290. <!-- 删除 -->
  291. <form id="delForm-{{.Cloudbrain.ID}}"
  292. action="{{$.RepoLink}}{{if eq .Cloudbrain.Type 2}}/grampus/notebook{{else}}{{if eq .ComputeResource "CPU/GPU"}}/cloudbrain{{else}}/modelarts/notebook{{end}}{{end}}/{{.Cloudbrain.ID}}/del"
  293. method="post">
  294. <input type="hidden" name="debugListType" value="{{$.ListType}}">
  295. {{$.CsrfTokenHtml}}
  296. {{if .CanDel}}
  297. <a id="ai-delete-{{.Cloudbrain.ID}}"
  298. class='ui basic ai_delete {{if eq .Status "STOPPED" "FAILED" "START_FAILED" "SUCCEEDED" "CREATE_FAILED" "DELETED"}}blue {{else}}disabled {{end}}button'
  299. style="border-radius: .28571429rem;">
  300. {{$.i18n.Tr "repo.delete"}}
  301. </a>
  302. {{else}}
  303. <a class="ui basic button disabled" style="border-radius: .28571429rem;">
  304. {{$.i18n.Tr "repo.delete"}}
  305. </a>
  306. {{end}}
  307. </form>
  308. </div>
  309. {{if not .BootFile}}
  310. <div class="ui compact buttons"
  311. style="{{if and (ne .Cloudbrain.Type 2) (eq .ComputeResource "CPU/GPU")}} visibility: visible {{else}} visibility: hidden{{end}}">
  312. <div class="ui dropdown" id="model_more"
  313. style="padding: .58928571em 1.125em .58928571em;">
  314. <div class="text">{{$.i18n.Tr "repo.more"}}</div>
  315. <i class="dropdown icon"></i>
  316. <div class="menu" style="right: auto;">
  317. <div class="item" style="padding: 0 !important;">
  318. {{if .CanDebug}}
  319. <a id="model-image-{{.Cloudbrain.ID}}"
  320. class='imageBtn ui basic {{if ne .Status "RUNNING"}}disabled {{else}}blue {{end}}button'
  321. target="_blank"
  322. href="{{$.RepoLink}}/cloudbrain/{{.Cloudbrain.ID}}/commit_image">{{$.i18n.Tr "repo.submit_image"}}</a>
  323. {{else}}
  324. <a
  325. class="imageBtn ui basic disabled button">{{$.i18n.Tr "repo.submit_image"}}</a>
  326. {{end}}
  327. </div>
  328. <div class="item" style="padding: 0 !important;">
  329. <!-- 模型下载 -->
  330. {{if .CanDebug}}
  331. <a class="ui basic blue button"
  332. href="{{$.RepoLink}}/cloudbrain/{{.Cloudbrain.ID}}/models"
  333. target="_blank">{{$.i18n.Tr "repo.download"}}</a>
  334. {{else}}
  335. <a
  336. class="ui basic disabled button">{{$.i18n.Tr "repo.download"}}</a>
  337. {{end}}
  338. </div>
  339. {{if and (ne .JobType "DEBUG") (eq .Cloudbrain.Type 0)}}
  340. <div class="item" style="padding: 0 !important;">
  341. <a class="ui basic blue button"
  342. href="{{$.RepoLink}}/cloudbrain/{{.Cloudbrain.ID}}/rate"
  343. target="_blank">
  344. 评分
  345. </a>
  346. </div>
  347. {{end}}
  348. </div>
  349. </div>
  350. </div>
  351. {{end}}
  352. </div>
  353. <!-- 镜像列表弹窗 -->
  354. </div>
  355. </div>
  356. {{end}}
  357. <div id="app" style="margin-top: 2rem;">
  358. <div class="center">
  359. <el-pagination background @current-change="handleCurrentChange" :current-page="page"
  360. :page-sizes="[10]" :page-size="10" layout="total, sizes, prev, pager, next, jumper"
  361. :total="{{.Page.Paginater.Total}}">
  362. </el-pagination>
  363. </div>
  364. </div>
  365. </div>
  366. </div>
  367. </div>
  368. </div>
  369. {{end}}
  370. </div>
  371. </div>
  372. </div>
  373. </div>
  374. <!-- 确认模态框 -->
  375. <div id="deletemodel">
  376. <div class="ui basic modal">
  377. <div class="ui icon header">
  378. <i class="trash icon"></i> {{.i18n.Tr "cloudbrain.delete_task"}}
  379. </div>
  380. <div class="content">
  381. <p>{{.i18n.Tr "cloudbrain.task_delete_confirm"}}</p>
  382. </div>
  383. <div class="actions">
  384. <div class="ui red basic inverted cancel button">
  385. <i class="remove icon"></i> {{.i18n.Tr "cloudbrain.operate_cancel"}}
  386. </div>
  387. <div class="ui green basic inverted ok button">
  388. <i class="checkmark icon"></i> {{.i18n.Tr "cloudbrain.operate_confirm"}}
  389. </div>
  390. </div>
  391. </div>
  392. </div>
  393. <div class="ui mini modal debug-again">
  394. <div class="header">{{$.QueuesDetail}}</div>
  395. <div class="content">
  396. <p>1111</p>
  397. </div>
  398. <div class="actions">
  399. <div class="ui mini negative button">Cancel</div>
  400. <div class="ui mini positive button">OK</div>
  401. </div>
  402. </div>
  403. </div>
  404. <div class="ui modal debug-again-alert">
  405. <div class="ui message" style="background-color: rgba(242, 113, 28, 0.05);border: 1px solid rgba(242, 113, 28, 1);border-radius: 5px;">
  406. <div style="display: flex;align-items: center;">
  407. <i class="ri-information-line" style="font-size: 35px;color: rgba(242, 113, 28, 1);;"></i>
  408. <div style="text-align: left;margin-left: 1rem;">
  409. <div style="font-weight: 600;line-height: 2;">{{.i18n.Tr "repo.cloudbrain.morethanonejob1" | Safe }}</div>
  410. <div style="color:#939393">{{.i18n.Tr "repo.cloudbrain.morethanonejob2" | Safe}}</div>
  411. </div>
  412. </div>
  413. </div>
  414. </div>
  415. {{template "base/footer" .}}
  416. <script>
  417. // 调试和评分新开窗口
  418. const { AppSubUrl, StaticUrlPrefix, csrf } = window.config;
  419. let url = {{.RepoLink }}
  420. let redirect_to = {{ $.Link }}
  421. let getParam = getQueryVariable('debugListType')
  422. let dropdownValue = ['all', '', false].includes(getParam) ? '{{$.i18n.Tr "repo.gpu_type_all"}}' : getParam
  423. // localStorage.setItem('all',location.href)
  424. function getQueryVariable(variable) {
  425. let query = window.location.search.substring(1);
  426. let vars = query.split("&");
  427. for (let i = 0; i < vars.length; i++) {
  428. let pair = vars[i].split("=");
  429. if (pair[0] == variable) { return pair[1]; }
  430. }
  431. return (false);
  432. }
  433. $(document).ready(function () {
  434. dropdownValue = dropdownValue === "CPU%2FGPU" ? 'CPU/GPU' : dropdownValue
  435. $('.default.text').text(dropdownValue)
  436. $('.ui.dropdown')
  437. .dropdown({
  438. action: 'hide',
  439. })
  440. $('.ui.selection.dropdown').dropdown({
  441. onChange: function (value) {
  442. location.href = `${url}/debugjob?debugListType=${value}`
  443. }
  444. })
  445. $('.message .close')
  446. .on('click', function () {
  447. $(this)
  448. .closest('.message')
  449. .transition('fade')
  450. })
  451. })
  452. </script>