added nim compilation task to sbt deploy task
switched to fake form with POST method for file download
This commit is contained in:
@@ -9,6 +9,8 @@ from sequtils import map, apply
|
||||
|
||||
var pkgMap : JsonNode
|
||||
|
||||
const serverURL {.strdefine.}: string = "http://oggio88.soon.it/jpacrepo/"
|
||||
|
||||
type DownloadPanel = ref object
|
||||
badge : Node
|
||||
listgroup : Node
|
||||
@@ -52,22 +54,18 @@ proc newDownloadPanel(parent : Node) : DownloadPanel =
|
||||
node.appendChild(document.createTextNode(" Download"))
|
||||
let clickHandler = proc(e : Event) =
|
||||
let pkglist : seq[string] = sequtils.toSeq(dp.pkgs.items())
|
||||
let r = newXMLHTTPRequest()
|
||||
let load_cb = proc(e : Event) =
|
||||
var blob : Blob = r.responseAsBlob #newBlob(r.response, "application/x-tar")
|
||||
let anchor = document.createElement("a")
|
||||
let url = createObjectURL(blob)
|
||||
anchor.setAttribute("href", url)
|
||||
anchor.setAttribute("download", "archive.tar")
|
||||
anchor.click()
|
||||
revokeObjectURL(url)
|
||||
r.addEventListener("load", load_cb)
|
||||
r.open("post", "rest/pkg/downloadTar")
|
||||
r.responseType = "blob"
|
||||
r.setRequestHeader("Accept", "application/x-tar")
|
||||
r.setRequestHeader("Content-Type", "application/json")
|
||||
r.send($(%*pkglist))
|
||||
|
||||
let form = cast[Formelement](document.createElement("form"))
|
||||
form.style.display = "none"
|
||||
form.setAttribute("method", "post")
|
||||
form.setAttribute("action", serverURL & "rest/pkg/downloadTar")
|
||||
let tf= document.createElement("input")
|
||||
tf.setAttribute("name", "pkgs")
|
||||
let txt = sequtils.foldl(pkglist, a & " " & b)
|
||||
echo txt
|
||||
tf.value(txt)
|
||||
form.appendChild(tf)
|
||||
document.body.appendChild(form)
|
||||
form.submit()
|
||||
node.addEventListener("click", clickHandler)
|
||||
cb:
|
||||
dp.footer = node
|
||||
@@ -269,7 +267,6 @@ htmlDocument document, document.body:
|
||||
class ["col-sm-9"]
|
||||
cb:
|
||||
table = node
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -277,6 +274,6 @@ let r = newXMLHTTPRequest()
|
||||
let load_cb = proc(e : Event) =
|
||||
pkgMap = parseJson($r.responseText)
|
||||
r.addEventListener("load", load_cb)
|
||||
r.open("get", "rest/pkg/map")
|
||||
r.open("get", serverURL & "rest/pkg/map")
|
||||
r.setRequestHeader("Accept", "application/json")
|
||||
r.send()
|
||||
|
Reference in New Issue
Block a user