Fixed problem with cached firmware or config file upload when file changed on disk.
authorJoseph Coffland <joseph@cauldrondevelopment.com>
Wed, 28 Nov 2018 01:30:15 +0000 (17:30 -0800)
committerJoseph Coffland <joseph@cauldrondevelopment.com>
Wed, 28 Nov 2018 01:30:15 +0000 (17:30 -0800)
src/js/admin-general-view.js
src/pug/templates/admin-general-view.pug
src/pug/templates/control-view.pug
src/stylus/style.styl

index 7ae1af0086cfac4c4301f127ecd32368a12357d4..2d04bbc5b4cf7f8d7a13f4ad83d0f1a989924575 100644 (file)
@@ -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;
index 14afba4821d7b6bf296a657157a3732de003276a..cb099371e576a2c8cf4b444f5d3a93276b07c2ae 100644 (file)
@@ -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.
index bc1d822dcdfd2e91c5fc29932728e55aa8847c08..3981d1515b3ec27a0a1e8c916a2c459ece841ffb 100644 (file)
@@ -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")
 
index 0fecd721d42685b67a87aca6cd86c5c794eddb03..3e3197b8701ad3e07a30db9dd54dd43c614a9dc3 100644 (file)
@@ -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