|
|
|
@@ -215,6 +215,7 @@ td, th { |
|
|
|
<div class="ui pointing secondary menu" style="border-bottom: 1px solid rgba(34,36,38,.15);"> |
|
|
|
<a class="active item" data-tab="first{{$k}}">{{$.i18n.Tr "repo.modelarts.train_job.config"}}</a> |
|
|
|
<a class="item" data-tab="second{{$k}}" onclick="loadLog({{.VersionName}})">{{$.i18n.Tr "repo.modelarts.log"}}</a> |
|
|
|
<a class="item" data-tab="third{{$k}}" onclick="loadModelFile({{.VersionName}},'','','init')">{{$.i18n.Tr "repo.model_download"}}</a> |
|
|
|
</div> |
|
|
|
<div class="ui tab active" data-tab="first{{$k}}"> |
|
|
|
<div style="padding-top: 10px;"> |
|
|
|
@@ -355,6 +356,19 @@ td, th { |
|
|
|
</div> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
<div class="ui tab" data-tab="third{{$k}}"> |
|
|
|
<input type="hidden" name="model{{.VersionName}}" value="-1"> |
|
|
|
<input type="hidden" name="modelback{{.VersionName}}" value="-1"> |
|
|
|
<div class='ui breadcrumb model_file_bread' id='file_breadcrumb{{.VersionName}}'> |
|
|
|
<div class="active section">{{.VersionName}}</div> |
|
|
|
<div class="divider"> / </div> |
|
|
|
|
|
|
|
</div> |
|
|
|
<div id="dir_list{{.VersionName}}"> |
|
|
|
|
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
</div> |
|
|
|
</div> |
|
|
|
@@ -419,5 +433,120 @@ td, th { |
|
|
|
document.getElementById("mask").style.display = "none" |
|
|
|
}); |
|
|
|
} |
|
|
|
function loadModelFile(version_name,parents,filename,init){ |
|
|
|
parents = parents || '' |
|
|
|
filename = filename || '' |
|
|
|
init = init || '' |
|
|
|
$.get(`/api/v1/repos/${userName}/${repoPath}/cloudbrain/train-job/${jobID}/model_list?version_name=${version_name}&parentDir=${parents}`, (data) => { |
|
|
|
$(`#dir_list${version_name}`).empty() |
|
|
|
renderDir(data,version_name) |
|
|
|
if(init==="init"){ |
|
|
|
$(`input[name=model${version_name}]`).val("") |
|
|
|
$(`input[name=modelback${version_name}]`).val(version_name) |
|
|
|
$(`#file_breadcrumb${version_name}`).empty() |
|
|
|
let htmlBread = "" |
|
|
|
htmlBread += `<div class='active section'>${version_name}</div>` |
|
|
|
htmlBread += "<div class='divider'> / </div>" |
|
|
|
$(`#file_breadcrumb${version_name}`).append(htmlBread) |
|
|
|
}else{ |
|
|
|
renderBrend(version_name,parents,filename,init) |
|
|
|
} |
|
|
|
}).fail(function(err) { |
|
|
|
console.log(err,version_name); |
|
|
|
}); |
|
|
|
|
|
|
|
} |
|
|
|
function renderBrend(version_name,parents,filename,init){ |
|
|
|
if(init=="folder"){ |
|
|
|
let htmlBrend = "" |
|
|
|
let sectionName=$(`#file_breadcrumb${version_name} .active.section`).text() |
|
|
|
let parents1 = $(`input[name=model${version_name}]`).val() |
|
|
|
let filename1 = $(`input[name=modelback${version_name}]`).val() |
|
|
|
if(parents1===""){ |
|
|
|
$(`#file_breadcrumb${version_name} .active.section`).replaceWith(`<a class='section' onclick="loadModelFile('${version_name}','${parents1}','','init')">${sectionName}</a>`) |
|
|
|
}else{ |
|
|
|
$(`#file_breadcrumb${version_name} .active.section`).replaceWith(`<a class='section' onclick="loadModelFile('${version_name}','${parents1}','${filename1}')">${sectionName}</a>`) |
|
|
|
} |
|
|
|
|
|
|
|
htmlBrend += `<div class='active section'>${filename}</div>` |
|
|
|
htmlBrend += "<div class='divider'> / </div>" |
|
|
|
$(`#file_breadcrumb${version_name}`).append(htmlBrend) |
|
|
|
$(`input[name=model${version_name}]`).val(parents) |
|
|
|
$(`input[name=modelback${version_name}]`).val(filename) |
|
|
|
}else{ |
|
|
|
$(`input[name=model${version_name}]`).val(parents) |
|
|
|
$(`input[name=modelback${version_name}]`).val(filename) |
|
|
|
$(`#file_breadcrumb${version_name} a.section:contains(${filename})`).nextAll().remove() |
|
|
|
$(`#file_breadcrumb${version_name} a.section:contains(${filename})`).replaceWith(`<div class='active section'>${filename}</div>`) |
|
|
|
$(`#file_breadcrumb${version_name} div.section:contains(${filename})`).append("<div class='divider'> / </div>") |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
function renderDir(data,version_name){ |
|
|
|
let html="" |
|
|
|
html += "<div class='ui grid' style='margin:0;'>" |
|
|
|
html += "<div class='row' style='padding: 0;'>" |
|
|
|
html += "<div class='ui sixteen wide column' style='padding:1rem;'>" |
|
|
|
html += "<div class='dir list'>" |
|
|
|
html += "<table id='repo-files-table' class='ui single line table pad20'>" |
|
|
|
html += '<tbody>' |
|
|
|
// html += "</tbody>" |
|
|
|
for(let i=0;i<data.Dirs.length;i++){ |
|
|
|
let dirs_size = renderSize(data.Dirs[i].Size) |
|
|
|
html += "<tr>" |
|
|
|
html += "<td class='name six wid'>" |
|
|
|
html += "<span class='truncate'>" |
|
|
|
html += "<span class='octicon octicon-file-directory'>" |
|
|
|
html += "</span>" |
|
|
|
if(data.Dirs[i].IsDir){ |
|
|
|
html += `<a onclick="loadModelFile('${version_name}','${data.Dirs[i].ParenDir}','${data.Dirs[i].FileName}','folder')">` |
|
|
|
html += "<span class='fitted'><i class='folder icon' width='16' height='16' aria-hidden='true'></i>" + data.Dirs[i].FileName + "</span>" |
|
|
|
}else{ |
|
|
|
if(downlaodFlag){ |
|
|
|
html += `<a href="${location.href}/model_download?version_name=${version_name}&file_name=${data.Dirs[i].FileName}&parent_dir=${data.Dirs[i].ParenDir}">` |
|
|
|
} |
|
|
|
else{ |
|
|
|
html += `<a class="disabled">` |
|
|
|
} |
|
|
|
html += "<span class='fitted'><i class='file icon' width='16' height='16' aria-hidden='true'></i>" + data.Dirs[i].FileName + "</span>" |
|
|
|
} |
|
|
|
html += '</a>' |
|
|
|
html += "</span>" |
|
|
|
html += "</td>" |
|
|
|
html += "<td class='message seven wide'>" |
|
|
|
if(data.Dirs[i].IsDir){ |
|
|
|
html += "<span class='truncate has-emoji'></span>" |
|
|
|
}else{ |
|
|
|
html += "<span class='truncate has-emoji'>"+ `${dirs_size}` + "</span>" |
|
|
|
} |
|
|
|
|
|
|
|
html += "</td>" |
|
|
|
|
|
|
|
html += "<td class='text right age three wide'>" |
|
|
|
html += "<span class='truncate has-emoji'>" + data.Dirs[i].ModTime + "</span>" |
|
|
|
html += "</td>" |
|
|
|
html += "</tr>" |
|
|
|
|
|
|
|
} |
|
|
|
html += "</tbody>" |
|
|
|
html += "</table>" |
|
|
|
html += "</div>" |
|
|
|
html += "</div>" |
|
|
|
html += "</div>" |
|
|
|
html += "</div>" |
|
|
|
$(`#dir_list${version_name}`).append(html) |
|
|
|
} |
|
|
|
function renderSize(value){ |
|
|
|
if(null==value||value==''){ |
|
|
|
return "0 Bytes"; |
|
|
|
} |
|
|
|
var unitArr = new Array("Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"); |
|
|
|
var index=0; |
|
|
|
var srcsize = parseFloat(value); |
|
|
|
index=Math.floor(Math.log(srcsize)/Math.log(1024)); |
|
|
|
var size =srcsize/Math.pow(1024,index); |
|
|
|
size=size.toFixed(0);//保留的小数位数 |
|
|
|
return size+unitArr[index]; |
|
|
|
} |
|
|
|
|
|
|
|
</script> |