diff --git a/main.go b/main.go index b06c179..2ef3ace 100644 --- a/main.go +++ b/main.go @@ -489,6 +489,20 @@ func (web *Web) watchCreatePost(c *gin.Context) { return } jsn = body + } else if templateID == -2 { // watch from file upload + file, err := c.FormFile("file") + + if err != nil { + c.AbortWithError(http.StatusBadRequest, err) + return + } + + openedFile, err := file.Open() + if err != nil { + c.AbortWithError(http.StatusBadRequest, err) + return + } + jsn, _ = ioutil.ReadAll(openedFile) } else { // selected one of the templates templateFiles, err := EMBED_FS.ReadDir("watchTemplates") if err != nil { diff --git a/static/create.js b/static/create.js new file mode 100644 index 0000000..373d17e --- /dev/null +++ b/static/create.js @@ -0,0 +1,21 @@ +function urlOnChange() { + var urlInput = document.getElementById("url"); + if (urlInput.value.length > 0) { + var urlInputRadio = document.getElementById("urlRadio"); + urlInputRadio.checked = true; + } +} +function fileOnChange() { + var fileInput = document.getElementById("file"); + if (fileInput.files !== null) { + var fileInputRadio = document.getElementById("fileRadio"); + fileInputRadio.checked = true; + } +} +function initOnChange() { + var urlInput = document.getElementById("url"); + urlInput.onchange = urlOnChange; + var fileInput = document.getElementById("file"); + fileInput.onchange = fileOnChange; +} +document.addEventListener('DOMContentLoaded', initOnChange, false); diff --git a/static/create.ts b/static/create.ts new file mode 100644 index 0000000..ec255a7 --- /dev/null +++ b/static/create.ts @@ -0,0 +1,25 @@ +function urlOnChange(){ + let urlInput = document.getElementById("url") as HTMLInputElement; + if (urlInput.value.length > 0){ + let urlInputRadio = document.getElementById("urlRadio") as HTMLInputElement; + urlInputRadio.checked = true; + } +} + +function fileOnChange(){ + let fileInput = document.getElementById("file") as HTMLInputElement; + if (fileInput.files !== null){ + let fileInputRadio = document.getElementById("fileRadio") as HTMLInputElement; + fileInputRadio.checked = true; + } +} + +function initOnChange(){ + let urlInput = document.getElementById("url") as HTMLInputElement; + urlInput.onchange = urlOnChange; + + let fileInput = document.getElementById("file") as HTMLInputElement; + fileInput.onchange = fileOnChange; +} + +document.addEventListener('DOMContentLoaded', initOnChange, false); \ No newline at end of file diff --git a/templates/watch/create.html b/templates/watch/create.html index 385f0c4..3ad6451 100644 --- a/templates/watch/create.html +++ b/templates/watch/create.html @@ -1,10 +1,14 @@ {{define "title"}} -GoWatch {{ .Watch.Name }} +GoWatch Create {{end}} +{{define "head"}} + +{{ end }} + {{define "content"}} -