From 9a5425c9243bf9b6298ee49101e5bac093a53d55 Mon Sep 17 00:00:00 2001 From: Joseph Coffland Date: Tue, 27 Nov 2018 17:30:15 -0800 Subject: [PATCH] Fixed problem with cached firmware or config file upload when file changed on disk. --- src/js/admin-general-view.js | 16 ++++++++++++++++ src/pug/templates/admin-general-view.pug | 8 ++++---- src/pug/templates/control-view.pug | 2 +- src/stylus/style.styl | 11 ++--------- 4 files changed, 23 insertions(+), 14 deletions(-) diff --git a/src/js/admin-general-view.js b/src/js/admin-general-view.js index 7ae1af0..2d04bbc 100644 --- a/src/js/admin-general-view.js +++ b/src/js/admin-general-view.js @@ -63,6 +63,14 @@ module.exports = { }, + restore_config: function () { + // If we don't reset the form the browser may cache file if name is same + // even if contents have changed + $('.restore-config')[0].reset(); + $('.restore-config input').click(); + }, + + restore: function (e) { var files = e.target.files || e.dataTransfer.files; if (!files.length) return; @@ -107,6 +115,14 @@ module.exports = { upgrade: function () {this.$dispatch('upgrade')}, + upload_firmware: function () { + // If we don't reset the form the browser may cache file if name is same + // even if contents have changed + $('.upload-firmware')[0].reset(); + $('.upload-firmware input').click(); + }, + + upload: function (e) { var files = e.target.files || e.dataTransfer.files; if (!files.length) return; diff --git a/src/pug/templates/admin-general-view.pug b/src/pug/templates/admin-general-view.pug index 14afba4..cb09937 100644 --- a/src/pug/templates/admin-general-view.pug +++ b/src/pug/templates/admin-general-view.pug @@ -30,9 +30,9 @@ script#admin-general-view-template(type="text/x-template") h2 Firmware button.pure-button.pure-button-primary(@click="check") Check button.pure-button.pure-button-primary(@click="upgrade") Upgrade - label.pure-button.pure-button-primary.file-upload + label.pure-button.pure-button-primary(@click="upload_firmware") Upload + form.upload-firmware.file-upload input(type="file", accept=".tar.bz2", @change="upload") - | Upload p input(type="checkbox", v-model="autoCheckUpgrade", @@ -42,9 +42,9 @@ script#admin-general-view-template(type="text/x-template") h2 Configuration button.pure-button.pure-button-primary(@click="backup") Backup - label.pure-button.pure-button-primary.file-upload + label.pure-button.pure-button-primary(@click="restore_config") Restore + form.restore-config.file-upload input(type="file", accept=".json", @change="restore") - | Restore message(:show.sync="configRestored") h3(slot="header") Success p(slot="body") Configuration restored. diff --git a/src/pug/templates/control-view.pug b/src/pug/templates/control-view.pug index bc1d822..3981d15 100644 --- a/src/pug/templates/control-view.pug +++ b/src/pug/templates/control-view.pug @@ -228,7 +228,7 @@ script#control-view-template(type="text/x-template") :disabled="!is_ready") .fa.fa-folder-open - form.gcode-file-input + form.gcode-file-input.file-upload input(type="file", @change="upload", :disabled="!is_ready", accept="text/*,.nc,.gcode,.gc,.ngc,.txt,.tap,.cnc") diff --git a/src/stylus/style.styl b/src/stylus/style.styl index 0fecd72..3e3197b 100644 --- a/src/stylus/style.styl +++ b/src/stylus/style.styl @@ -409,9 +409,6 @@ span.unit select max-width 13em - .gcode-file-input - display none - .tabs section min-height 500px @@ -811,12 +808,8 @@ tt.save .modal-leave .modal-container transform scale(0.9) -label.file-upload - display inline-block - - input[type="file"] - position fixed - top -1000px +.file-upload + display none .error-message &.modal-mask .modal-wrapper .modal-container -- 2.27.0