diff options
Diffstat (limited to 'public/assets')
| -rw-r--r-- | public/assets/js/lib/views/details/commentform.js | 3 | ||||
| -rw-r--r-- | public/assets/js/lib/views/details/settings.js | 33 |
2 files changed, 34 insertions, 2 deletions
diff --git a/public/assets/js/lib/views/details/commentform.js b/public/assets/js/lib/views/details/commentform.js index e30193d..a14caa3 100644 --- a/public/assets/js/lib/views/details/commentform.js +++ b/public/assets/js/lib/views/details/commentform.js @@ -4,7 +4,7 @@ var CommentForm = FormView.extend({ events: { "focus textarea": 'focus', - "focus input[type=file]": 'focus', + "mouseup input[type=file]": 'focus', }, action: "", @@ -24,6 +24,7 @@ var CommentForm = FormView.extend({ focus: function(){ this.$el.addClass('focused') + $("[name=comment]").prop("required", false) }, validate: function(){ diff --git a/public/assets/js/lib/views/details/settings.js b/public/assets/js/lib/views/details/settings.js index eac1520..1d048ab 100644 --- a/public/assets/js/lib/views/details/settings.js +++ b/public/assets/js/lib/views/details/settings.js @@ -6,6 +6,7 @@ var ThreadSettingsForm = FormView.extend({ "click": "hide", "click .inner": "stopPropagation", "click .thread_delete": "deleteThread", + "click .file_delete": "deleteFile", "click .close_link": "hide", "change [name=color]": "changeColor", "change [name=privacy]": "toggleAllowed", @@ -35,6 +36,7 @@ var ThreadSettingsForm = FormView.extend({ var display = thread.display this.thread = thread + this.files = data.files this.action = "/api/thread/" + thread.id this.allowed = (this.thread.allowed || "").split(" ").map(s => s.trim()).filter(s => !! s) @@ -67,7 +69,6 @@ var ThreadSettingsForm = FormView.extend({ var datetime = verbose_date(file.date, true) var date_class = carbon_date(file.date) var link = make_link(file) - var t = this.filesTemplate.replace(/{{username}}/g, file.username) .replace(/{{link}}/g, link) .replace(/{{filename}}/g, file.filename) @@ -233,4 +234,34 @@ var ThreadSettingsForm = FormView.extend({ } }, + deleteFile: function(e){ + e.preventDefault() + e.stopPropagation() + var $el = $(e.currentTarget) + var $parent = $el.closest('.file') + var file_id = $el.data('id') + if (! file_id) return + var data = this.options.parent.data + var file = data.files.find(f => f.id === file_id) + if (! file) return + var msg = "Are you sure you want to delete this file?\n\n#" + file_id + ' "' + sanitize(file.filename) + '"' + var should_remove = confirm(msg) + if (should_remove) { + $.ajax({ + method: "DELETE", + url: "/api/file/" + file_id, + headers: { "csrf-token": $("[name=_csrf]").attr("value") }, + data: JSON.stringify({ csrf: csrf() }), + dataType: "application/json", + success: function(data){ + console.log(data) + $parent.remove() + }, + error: function(data){ + $parent.remove() + }, + }) + } + }, + })
\ No newline at end of file |
