Reviewed-on: https://git.openi.org.cn/OpenI/aiforge/pulls/2566 Reviewed-by: chenshihai <chenshh@pcl.ac.cn>pull/2575/head
@@ -35,7 +35,7 @@ | |||||
{{range .Datasets}} | {{range .Datasets}} | ||||
<tr> | <tr> | ||||
<td>{{.ID}}</td> | <td>{{.ID}}</td> | ||||
<td style="display: flex;align-items: center;"><a href="{{AppSubUrl}}/{{.Repo.OwnerName}}/{{.Repo.Alias}}/datasets">{{.Title}}</a>{{if .Recommend}}<img src="/img/jian.svg" style="margin-left: 0.5rem;">{{end}}</td> | |||||
<td style="display: flex;align-items: center;"><a href="{{AppSubUrl}}/{{.Repo.OwnerName}}/{{.Repo.Name}}/datasets">{{.Title}}</a>{{if .Recommend}}<img src="/img/jian.svg" style="margin-left: 0.5rem;">{{end}}</td> | |||||
<td><i class="fa fa{{if .IsPrivate}}-check{{end}}-square-o"></i></td> | <td><i class="fa fa{{if .IsPrivate}}-check{{end}}-square-o"></i></td> | ||||
<td><span title="{{.CreatedUnix.FormatLong}}">{{.CreatedUnix.FormatShort}}</span></td> | <td><span title="{{.CreatedUnix.FormatLong}}">{{.CreatedUnix.FormatShort}}</span></td> | ||||
<td>{{if .Recommend}}<span class="set_dataset" style="color: rgb(250, 140, 22);cursor: pointer;" data-url="{{$.Link}}/{{.ID}}/action/unrecommend">{{$.i18n.Tr "admin.datasets.unrecommend"}}</span>{{else}}<span class="set_dataset" style="color: rgb(19, 194, 141);cursor: pointer;" data-url="{{$.Link}}/{{.ID}}/action/recommend">{{$.i18n.Tr "admin.datasets.recommend"}}</span>{{end}}</td> | <td>{{if .Recommend}}<span class="set_dataset" style="color: rgb(250, 140, 22);cursor: pointer;" data-url="{{$.Link}}/{{.ID}}/action/unrecommend">{{$.i18n.Tr "admin.datasets.unrecommend"}}</span>{{else}}<span class="set_dataset" style="color: rgb(19, 194, 141);cursor: pointer;" data-url="{{$.Link}}/{{.ID}}/action/recommend">{{$.i18n.Tr "admin.datasets.recommend"}}</span>{{end}}</td> | ||||
@@ -48,4 +48,4 @@ | |||||
{{template "base/paginate" .}} | {{template "base/paginate" .}} | ||||
</div> | </div> | ||||
</div> | </div> | ||||
{{template "base/footer" .}} | |||||
{{template "base/footer" .}} |
@@ -24,9 +24,9 @@ | |||||
<div class="ui sixteen wide mobile ten wide tablet ten wide computer colum"> | <div class="ui sixteen wide mobile ten wide tablet ten wide computer colum"> | ||||
{{range .Datasets}} | {{range .Datasets}} | ||||
<div class="item"> | <div class="item"> | ||||
<div class="ui header"> | |||||
<a class="name" href="{{.Repo.Link}}/datasets"> | |||||
{{.Repo.OwnerName}} / {{.Repo.Alias}} | |||||
<div class="ui header" style="display: flex;"> | |||||
<a class="name dataset-title-a" title="{{.Title}}" href="{{.Repo.Link}}/datasets"> | |||||
{{.Title}} | |||||
</a> | </a> | ||||
<div class="ui right metas"> | <div class="ui right metas"> | ||||
{{if .Task}} | {{if .Task}} | ||||
@@ -40,7 +40,7 @@ | |||||
</div> | </div> | ||||
<div class="description"> | <div class="description"> | ||||
{{if .Description}} | {{if .Description}} | ||||
<p class="has-emoji">{{.Description}}</p> | |||||
<p class="has-emoji" style="word-break: break-all;">{{.Description}}</p> | |||||
{{else if .Repo.DescriptionHTML}} | {{else if .Repo.DescriptionHTML}} | ||||
<p class="has-emoji">{{.Repo.DescriptionHTML}}</p> | <p class="has-emoji">{{.Repo.DescriptionHTML}}</p> | ||||
{{end}} | {{end}} | ||||
@@ -53,4 +53,7 @@ | |||||
</div> | </div> | ||||
{{end}} | {{end}} | ||||
</div> | </div> | ||||
</div> | |||||
</div> | |||||
<script> | |||||
console.log({{.Datasets}}) | |||||
</script> |
@@ -353,7 +353,15 @@ | |||||
<td class="ti-text-form-content"> | <td class="ti-text-form-content"> | ||||
<div class="text-span text-span-w" id="{{.VersionName}}-mirror"> | <div class="text-span text-span-w" id="{{.VersionName}}-mirror"> | ||||
{{.Image}} | |||||
<span class="ui poping up clipboard" title="{{.Image}}" data-position="top center" id="clipboard-btn" style="cursor:pointer" | |||||
data-clipboard-text="{{.Image}}" | |||||
data-success="{{$.i18n.Tr "repo.copy_link_success"}}" | |||||
data-error="{{$.i18n.Tr "repo.copy_link_error"}}" | |||||
data-content="{{$.i18n.Tr "repo.copy_link"}}" | |||||
data-variation="inverted tiny" | |||||
> | |||||
{{.Image}} | |||||
</span> | |||||
</div> | </div> | ||||
</td> | </td> | ||||
</tr> | </tr> | ||||
@@ -381,7 +381,15 @@ | |||||
<td class="ti-text-form-content"> | <td class="ti-text-form-content"> | ||||
<div class="text-span text-span-w" id="{{.VersionName}}-mirror"> | <div class="text-span text-span-w" id="{{.VersionName}}-mirror"> | ||||
{{.Image}} | |||||
<span class="ui poping up clipboard" title="{{.Image}}" data-position="top center" id="clipboard-btn" style="cursor:pointer" | |||||
data-clipboard-text="{{.Image}}" | |||||
data-success="{{$.i18n.Tr "repo.copy_link_success"}}" | |||||
data-error="{{$.i18n.Tr "repo.copy_link_error"}}" | |||||
data-content="{{$.i18n.Tr "repo.copy_link"}}" | |||||
data-variation="inverted tiny" | |||||
> | |||||
{{.Image}} | |||||
</span> | |||||
</div> | </div> | ||||
</td> | </td> | ||||
</tr> | </tr> | ||||
@@ -390,7 +390,15 @@ | |||||
<td class="ti-text-form-content"> | <td class="ti-text-form-content"> | ||||
<div class="text-span text-span-w" id="{{.VersionName}}-mirror"> | <div class="text-span text-span-w" id="{{.VersionName}}-mirror"> | ||||
{{.Image}} | |||||
<span class="ui poping up clipboard" title="{{.Image}}" data-position="top center" id="clipboard-btn" style="cursor:pointer" | |||||
data-clipboard-text="{{.Image}}" | |||||
data-success="{{$.i18n.Tr "repo.copy_link_success"}}" | |||||
data-error="{{$.i18n.Tr "repo.copy_link_error"}}" | |||||
data-content="{{$.i18n.Tr "repo.copy_link"}}" | |||||
data-variation="inverted tiny" | |||||
> | |||||
{{.Image}} | |||||
</span> | |||||
</div> | </div> | ||||
</td> | </td> | ||||
</tr> | </tr> | ||||
@@ -384,7 +384,15 @@ | |||||
<td class="ti-text-form-content"> | <td class="ti-text-form-content"> | ||||
<div class="text-span text-span-w" id="{{.VersionName}}-mirror"> | <div class="text-span text-span-w" id="{{.VersionName}}-mirror"> | ||||
{{.Image}} | |||||
<span class="ui poping up clipboard" title="{{.Image}}" data-position="top center" id="clipboard-btn" style="cursor:pointer" | |||||
data-clipboard-text="{{.Image}}" | |||||
data-success="{{$.i18n.Tr "repo.copy_link_success"}}" | |||||
data-error="{{$.i18n.Tr "repo.copy_link_error"}}" | |||||
data-content="{{$.i18n.Tr "repo.copy_link"}}" | |||||
data-variation="inverted tiny" | |||||
> | |||||
{{.Image}} | |||||
</span> | |||||
</div> | </div> | ||||
</td> | </td> | ||||
</tr> | </tr> | ||||
@@ -386,7 +386,7 @@ | |||||
{{$.CsrfTokenHtml}} | {{$.CsrfTokenHtml}} | ||||
{{if .CanDel}} | {{if .CanDel}} | ||||
<a id="ai-stop-{{.Cloudbrain.ID}}" | <a id="ai-stop-{{.Cloudbrain.ID}}" | ||||
class='ui basic ai_stop {{if eq .Status "STOPPED" "FAILED" "START_FAILED" "STOPPING" "CREATING" "STARTING" "SUCCEEDED" "CREATE_FAILED"}}disabled {{else}}blue {{end}}button' | |||||
class='ui basic ai_stop {{if eq .Status "STOPPED" "FAILED" "START_FAILED" "STOPPING" "CREATING" "STARTING" "SUCCEEDED" "CREATE_FAILED" "DELETED"}}disabled {{else}}blue {{end}}button' | |||||
data-repopath="{{$.RepoLink}}{{if eq .ComputeResource "CPU/GPU"}}/cloudbrain{{else}}/modelarts/notebook{{end}}/{{.Cloudbrain.ID}}/stop" | data-repopath="{{$.RepoLink}}{{if eq .ComputeResource "CPU/GPU"}}/cloudbrain{{else}}/modelarts/notebook{{end}}/{{.Cloudbrain.ID}}/stop" | ||||
data-jobid="{{.Cloudbrain.ID}}"> | data-jobid="{{.Cloudbrain.ID}}"> | ||||
{{$.i18n.Tr "repo.stop"}} | {{$.i18n.Tr "repo.stop"}} | ||||
@@ -405,7 +405,7 @@ | |||||
{{$.CsrfTokenHtml}} | {{$.CsrfTokenHtml}} | ||||
{{if .CanDel}} | {{if .CanDel}} | ||||
<a id="ai-delete-{{.Cloudbrain.ID}}" | <a id="ai-delete-{{.Cloudbrain.ID}}" | ||||
class='ui basic ai_delete {{if eq .Status "STOPPED" "FAILED" "START_FAILED" "SUCCEEDED" "CREATE_FAILED"}}blue {{else}}disabled {{end}}button' | |||||
class='ui basic ai_delete {{if eq .Status "STOPPED" "FAILED" "START_FAILED" "SUCCEEDED" "CREATE_FAILED" "DELETED"}}blue {{else}}disabled {{end}}button' | |||||
style="border-radius: .28571429rem;"> | style="border-radius: .28571429rem;"> | ||||
{{$.i18n.Tr "repo.delete"}} | {{$.i18n.Tr "repo.delete"}} | ||||
</a> | </a> | ||||
@@ -357,7 +357,15 @@ | |||||
<td class="ti-text-form-content"> | <td class="ti-text-form-content"> | ||||
<div class="text-span text-span-w" id="{{.VersionName}}-mirror"> | <div class="text-span text-span-w" id="{{.VersionName}}-mirror"> | ||||
{{.Image}} | |||||
<span class="ui poping up clipboard" title="{{.Image}}" data-position="top center" id="clipboard-btn" style="cursor:pointer" | |||||
data-clipboard-text="{{.Image}}" | |||||
data-success="{{$.i18n.Tr "repo.copy_link_success"}}" | |||||
data-error="{{$.i18n.Tr "repo.copy_link_error"}}" | |||||
data-content="{{$.i18n.Tr "repo.copy_link"}}" | |||||
data-variation="inverted tiny" | |||||
> | |||||
{{.Image}} | |||||
</span> | |||||
</div> | </div> | ||||
</td> | </td> | ||||
</tr> | </tr> | ||||
@@ -270,7 +270,7 @@ | |||||
{{end}} | {{end}} | ||||
{{if .CanDel}} | {{if .CanDel}} | ||||
<a class="ti-action-menu-item stop-show-version {{if eq .Status "KILLED" "FAILED" "START_FAILED" "KILLING" "COMPLETED"}}disabled {{end}}" | |||||
<a class="ti-action-menu-item stop-show-version {{if eq .Status "KILLED" "FAILED" "START_FAILED" "KILLING" "COMPLETED" "SUCCEEDED" "STOPPED"}}disabled {{end}}" | |||||
id="{{.VersionName}}-stop" | id="{{.VersionName}}-stop" | ||||
data-jobid="{{.JobID}}" | data-jobid="{{.JobID}}" | ||||
data-repopath="{{$.RepoRelPath}}/modelarts/train-job" | data-repopath="{{$.RepoRelPath}}/modelarts/train-job" | ||||
@@ -361,4 +361,4 @@ | |||||
</div> | </div> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
{{template "base/footer" .}} | |||||
{{template "base/footer" .}} |
@@ -1,23 +1,37 @@ | |||||
export default async function initClipboard() { | export default async function initClipboard() { | ||||
const els = document.querySelectorAll('.clipboard'); | |||||
const els = document.querySelectorAll(".clipboard"); | |||||
if (!els || !els.length) return; | if (!els || !els.length) return; | ||||
const { default: ClipboardJS } = await import(/* webpackChunkName: "clipboard" */'clipboard'); | |||||
const { default: ClipboardJS } = await import( | |||||
/* webpackChunkName: "clipboard" */ "clipboard" | |||||
); | |||||
const clipboard = new ClipboardJS(els); | const clipboard = new ClipboardJS(els); | ||||
clipboard.on('success', (e) => { | |||||
clipboard.on("success", (e) => { | |||||
e.clearSelection(); | e.clearSelection(); | ||||
$(`#${e.trigger.getAttribute('id')}`).popup('destroy'); | |||||
e.trigger.setAttribute('data-content', e.trigger.getAttribute('data-success')); | |||||
$(`#${e.trigger.getAttribute('id')}`).popup('show'); | |||||
e.trigger.setAttribute('data-content', e.trigger.getAttribute('data-original')); | |||||
$(`#${e.trigger.getAttribute("id")}`).popup("destroy"); | |||||
e.trigger.setAttribute( | |||||
"data-content", | |||||
e.trigger.getAttribute("data-success") | |||||
); | |||||
$(`#${e.trigger.getAttribute("id")}`).popup("show"); | |||||
e.trigger.setAttribute( | |||||
"data-content", | |||||
e.trigger.getAttribute("data-original") | |||||
); | |||||
}); | }); | ||||
clipboard.on('error', (e) => { | |||||
$(`#${e.trigger.getAttribute('id')}`).popup('destroy'); | |||||
e.trigger.setAttribute('data-content', e.trigger.getAttribute('data-error')); | |||||
$(`#${e.trigger.getAttribute('id')}`).popup('show'); | |||||
e.trigger.setAttribute('data-content', e.trigger.getAttribute('data-original')); | |||||
clipboard.on("error", (e) => { | |||||
$(`#${e.trigger.getAttribute("id")}`).popup("destroy"); | |||||
e.trigger.setAttribute( | |||||
"data-content", | |||||
e.trigger.getAttribute("data-error") | |||||
); | |||||
$(`#${e.trigger.getAttribute("id")}`).popup("show"); | |||||
e.trigger.setAttribute( | |||||
"data-content", | |||||
e.trigger.getAttribute("data-original") | |||||
); | |||||
}); | }); | ||||
} | } |
@@ -140,27 +140,26 @@ | |||||
border: 1px solid #ffffff; | border: 1px solid #ffffff; | ||||
} | } | ||||
} | } | ||||
} | |||||
} | |||||
} | } | ||||
.item { | .item { | ||||
border-bottom: 1px solid rgba(34,36,38,.15); | |||||
border-bottom: 1px solid rgba(34, 36, 38, 0.15); | |||||
.ui.buttons { | .ui.buttons { | ||||
.button { | .button { | ||||
box-shadow: none !important; | box-shadow: none !important; | ||||
} | } | ||||
} | } | ||||
} | } | ||||
.ui.grid > .row { | .ui.grid > .row { | ||||
align-items: center; | align-items: center; | ||||
} | } | ||||
.title { | .title { | ||||
font-size: 16px; | font-size: 16px; | ||||
font-weight: bold; | font-weight: bold; | ||||
margin: 0 6px; | |||||
margin: 0 6px; | |||||
overflow: hidden; | overflow: hidden; | ||||
padding-right: 15px; | padding-right: 15px; | ||||
white-space: nowrap; | white-space: nowrap; | ||||
@@ -195,7 +194,15 @@ | |||||
.name { | .name { | ||||
word-break: break-all; | word-break: break-all; | ||||
} | } | ||||
.dataset-title-a { | |||||
flex: 1; | |||||
overflow: hidden; | |||||
text-overflow: ellipsis; | |||||
min-width: 0; | |||||
word-break: inherit !important; | |||||
margin-right: 3rem; | |||||
white-space: nowrap; | |||||
} | |||||
.metas { | .metas { | ||||
color: #888888; | color: #888888; | ||||
font-size: 14px; | font-size: 14px; | ||||
@@ -222,7 +229,7 @@ | |||||
} | } | ||||
} | } | ||||
} | } | ||||
.panel_creator_reponam{ | |||||
.panel_creator_reponam { | |||||
display: inline-block; | display: inline-block; | ||||
border-radius: 4px; | border-radius: 4px; | ||||
padding: 4px; | padding: 4px; | ||||
@@ -231,29 +238,28 @@ | |||||
background-color: rgba(161, 220, 255, 0.2); | background-color: rgba(161, 220, 255, 0.2); | ||||
color: #101010; | color: #101010; | ||||
} | } | ||||
.panel_dataset_name{ | |||||
.panel_dataset_name { | |||||
font-size: 15px; | font-size: 15px; | ||||
color: #0366D6; | |||||
color: #0366d6; | |||||
text-align: center; | text-align: center; | ||||
margin-left: 1rem; | margin-left: 1rem; | ||||
} | } | ||||
.panel_datset_desc{ | |||||
.panel_datset_desc { | |||||
white-space: nowrap; | white-space: nowrap; | ||||
display: inline-block; | display: inline-block; | ||||
overflow: hidden; | overflow: hidden; | ||||
width: 90%; | width: 90%; | ||||
text-overflow: ellipsis; | text-overflow: ellipsis; | ||||
} | } | ||||
.el-dialog__body{ | |||||
padding-top:0 | |||||
.el-dialog__body { | |||||
padding-top: 0; | |||||
} | } | ||||
#dataset-base{ | |||||
.active{ | |||||
color: #0087f5!important; | |||||
border: 1px solid #0087f5!important; | |||||
#dataset-base { | |||||
.active { | |||||
color: #0087f5 !important; | |||||
border: 1px solid #0087f5 !important; | |||||
/* margin: -1px!important; */ | /* margin: -1px!important; */ | ||||
background: #fff!important; | |||||
background: #fff !important; | |||||
} | } | ||||
} | |||||
} |
@@ -311,6 +311,7 @@ footer .column { | |||||
} | } | ||||
.FAILED, | .FAILED, | ||||
.START_FAILED, | .START_FAILED, | ||||
.DELETED, | |||||
.CREATE_FAILED { | .CREATE_FAILED { | ||||
display: inline-block; | display: inline-block; | ||||
width: 18px; | width: 18px; | ||||