summaryrefslogtreecommitdiffhomepage
path: root/applications/luci-app-dockerman/luasrc/view/dockerman/container_file.htm
diff options
context:
space:
mode:
Diffstat (limited to 'applications/luci-app-dockerman/luasrc/view/dockerman/container_file.htm')
-rw-r--r--applications/luci-app-dockerman/luasrc/view/dockerman/container_file.htm63
1 files changed, 63 insertions, 0 deletions
diff --git a/applications/luci-app-dockerman/luasrc/view/dockerman/container_file.htm b/applications/luci-app-dockerman/luasrc/view/dockerman/container_file.htm
new file mode 100644
index 000000000..7dd7237ad
--- /dev/null
+++ b/applications/luci-app-dockerman/luasrc/view/dockerman/container_file.htm
@@ -0,0 +1,63 @@
+
+<div id="upload-container" class="cbi-value cbi-value-last">
+ <label class="cbi-value-title" for="archive"><%:Upload%></label>
+ <div class="cbi-value-field">
+ <input type="file" name="upload_archive" accept="application/x-tar" id="upload_archive" />
+ </div>
+ <br>
+ <label class="cbi-value-title" for="path"><%:Path%></label>
+ <div class="cbi-value-field">
+ <input type="text" class="cbi-input-text" name="path" value="/tmp/" id="path" />
+ </div>
+ <br>
+ <div class="cbi-value-field">
+ <input type="button"" class="cbi-button cbi-button-action important" id="upload" name="upload" value="<%:Upload%>" />
+ <input type="button"" class="cbi-button cbi-button-action important" id="download" name="download" value="<%:Download%>" />
+ </div>
+</div>
+<script type="text/javascript">
+ let btnUpload = document.getElementById('upload')
+ btnUpload.onclick = function (e) {
+ let uploadArchive = document.getElementById('upload_archive')
+ let uploadPath = document.getElementById('path').value
+ if (!uploadArchive.value || !uploadPath) {
+ docker_status_message('warning', "<%:Please input the PATH and select the file !%>")
+ document.getElementById('docker_apply_overlay').addEventListener("click", (e)=>{
+ docker_status_message()
+ })
+ return
+ }
+ let fileName = uploadArchive.files[0].name
+ let formData = new FormData()
+ formData.append('upload-filename', fileName)
+ formData.append('upload-path', uploadPath)
+ formData.append('upload-archive', uploadArchive.files[0])
+ let xhr = new XMLHttpRequest()
+ xhr.open("POST", '<%=luci.dispatcher.build_url("admin/docker/container_put_archive")%>/<%=self.container%>', true)
+ xhr.onload = function() {
+ if (xhr.status == 200) {
+ uploadArchive.value = ''
+ docker_status_message('notice', "<%:Upload Success%>")
+ }
+ else {
+ docker_status_message('warning', "<%:Upload Error%>:" + xhr.statusText)
+ }
+ document.getElementById('docker_apply_overlay').addEventListener("click", (e)=>{
+ docker_status_message()
+ })
+ }
+ xhr.send(formData)
+ }
+ let btnDownload = document.getElementById('download')
+ btnDownload.onclick = function (e) {
+ let downloadPath = document.getElementById('path').value
+ if (!downloadPath) {
+ docker_status_message('warning', "<%:Please input the PATH !%>")
+ document.getElementById('docker_apply_overlay').addEventListener("click", (e)=>{
+ docker_status_message()
+ })
+ return
+ }
+ window.open('<%=luci.dispatcher.build_url("admin/docker/container_get_archive")%>?id=<%=self.container%>&path=' + encodeURIComponent(downloadPath))
+ }
+</script> \ No newline at end of file