From 22a275f4bda6d4da5060de8d2f2034d474fea29f Mon Sep 17 00:00:00 2001 From: Christian Hammacher Date: Wed, 6 Mar 2019 23:09:04 +0100 Subject: [PATCH] Version 2.0.0-RC6 Updated components (also fixes a bug that caused all inputs to stop working once the heightmap was activated) Changed click behaviour of file list items to be activated on a single click again Added touch events to event+file lists to show the context menu on devices that do not support the native JS contextmenu event Print information is no longer cleared when a print finishes Simplified file list reset when the connection is interrupted Print+Simulate options are hidden when a job file is being processed Escape closes the text editor again Height map is automatically reloaded once 'heightmap.csv' shows up in a G-code response Minor other changes Bug fix: Notification when editing a large file was not displayed during download Bug fix: Macro list did not return to the root directory when the connection was interrupted Bug fix: Warm-up time was not displayed Bug fix: Selected tool was no longer highlighted when the light theme was selected Bug fix: Drag&Drop was completely broken in Chrome-based browsers and the drag animation was no longer working --- package-lock.json | 56 +++++------ package.json | 12 +-- src/App.vue | 2 +- src/components/buttons/ConnectBtn.vue | 5 +- src/components/dialogs/FileEditDialog.vue | 2 +- src/components/lists/BaseFileList.vue | 98 +++++++++++++------ src/components/lists/DisplayFileList.vue | 12 +-- src/components/lists/EventList.vue | 33 ++++++- src/components/lists/FilamentFileList.vue | 6 -- src/components/lists/JobFileList.vue | 18 +--- src/components/lists/MacroFileList.vue | 10 +- src/components/lists/MacroList.vue | 11 +++ src/components/lists/SysFileList.vue | 6 -- src/components/misc/DirectoryBreadcrumbs.vue | 28 ++++-- src/components/panels/HeightmapPanel.vue | 16 ++- src/components/panels/JobControlPanel.vue | 2 +- src/components/panels/JobDataPanel.vue | 4 +- src/components/panels/JobEstimationsPanel.vue | 22 +++-- src/components/panels/SettingsAboutPanel.vue | 2 +- src/components/panels/ToolsPanel.vue | 4 +- src/i18n/en.js | 16 ++- src/main.js | 1 - src/plugins/display.js | 2 +- src/store/index.js | 12 ++- src/store/machine/connector/PollConnector.js | 35 +++++-- src/store/machine/index.js | 10 +- src/store/machine/model.js | 11 --- src/utils/colors.js | 4 +- 28 files changed, 262 insertions(+), 178 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2b4171381..4abfc10a9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4441,9 +4441,9 @@ "dev": true }, "eslint": { - "version": "5.14.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.14.1.tgz", - "integrity": "sha512-CyUMbmsjxedx8B0mr79mNOqetvkbij/zrXnFeK2zc3pGRn3/tibjiNAv/3UxFEyfMDjh+ZqTrJrEGBFiGfD5Og==", + "version": "5.15.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.15.1.tgz", + "integrity": "sha512-NTcm6vQ+PTgN3UBsALw5BMhgO6i5EpIjQF/Xb5tIh3sk9QhrFafujUOczGz4J24JBlzWclSB9Vmx8d+9Z6bFCg==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", @@ -4452,7 +4452,7 @@ "cross-spawn": "^6.0.5", "debug": "^4.0.1", "doctrine": "^3.0.0", - "eslint-scope": "^4.0.0", + "eslint-scope": "^4.0.2", "eslint-utils": "^1.3.1", "eslint-visitor-keys": "^1.0.0", "espree": "^5.0.1", @@ -4485,9 +4485,9 @@ }, "dependencies": { "acorn": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.1.0.tgz", - "integrity": "sha512-MW/FjM+IvU9CgBzjO3UIPCE2pyEwUsoFl+VGdczOPEdxfGFjuKny/gN54mOuX7Qxmb9Rg9MCn2oKiSUeW+pjrw==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.1.1.tgz", + "integrity": "sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==", "dev": true }, "acorn-jsx": { @@ -4497,9 +4497,9 @@ "dev": true }, "ajv": { - "version": "6.9.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.9.2.tgz", - "integrity": "sha512-4UFy0/LgDo7Oa/+wOAlj44tp9K78u38E5/359eSrqEp1Z5PdVfimCcs7SluXMP755RUQu6d2b4AvF0R1C9RZjg==", + "version": "6.10.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz", + "integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==", "dev": true, "requires": { "fast-deep-equal": "^2.0.1", @@ -4533,9 +4533,9 @@ } }, "eslint-scope": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.0.tgz", - "integrity": "sha512-1G6UTDi7Jc1ELFwnR58HV4fK9OQK4S6N985f166xqXxpjU6plxFISJa2Ba9KCQuFa8RCnj/lSFJbHo7UFDBnUA==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.2.tgz", + "integrity": "sha512-5q1+B/ogmHl8+paxtOKx38Z8LtWkVGuNt3+GQNErqwLl6ViNp/gdJGMCjZNxZ8j/VYjDNZ2Fo+eQc1TAVPIzbg==", "dev": true, "requires": { "esrecurse": "^4.1.0", @@ -10818,14 +10818,14 @@ } }, "three": { - "version": "0.101.1", - "resolved": "https://registry.npmjs.org/three/-/three-0.101.1.tgz", - "integrity": "sha512-8ufimUVmRLtH+BTpEIbDjdGEKQOVWLMLgGynaKin1KbYTE136ZNOepJ8EgByi0tN43dQ7B1YrKLCJgXGy4bLmw==" + "version": "0.102.1", + "resolved": "https://registry.npmjs.org/three/-/three-0.102.1.tgz", + "integrity": "sha512-btHBdww/Es4vdBkB2GjTE9mpj0vy8tgtxkX7ne7uxySXV8zoGxWJv1N88BydxnCqvAfmD4ZUTqPeESO7oDgeOQ==" }, "three-orbitcontrols": { - "version": "2.101.1", - "resolved": "https://registry.npmjs.org/three-orbitcontrols/-/three-orbitcontrols-2.101.1.tgz", - "integrity": "sha512-GnTQGh0ULrnCae5doq+AoEnfRvZ5iW46wuYUwwdLpFSufmAa4ar4XGHYdGNIixYSdCGPokmPXLaqf+IaYHlAvg==" + "version": "2.102.1", + "resolved": "https://registry.npmjs.org/three-orbitcontrols/-/three-orbitcontrols-2.102.1.tgz", + "integrity": "sha512-mp5qc5mooCtjgSloMFzIEI2VQVkvBDWDMYtbxY3TFB/BCCYpR6NV7/dD5+EUyzR90/a9H356s9QR+2PhH48f6w==" }, "through": { "version": "2.3.8", @@ -11395,9 +11395,9 @@ } }, "vue": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.7.tgz", - "integrity": "sha512-g7ADfQ82QU+j6F/bVDioVQf2ccIMYLuR4E8ev+RsDBlmwRkhGO3HhgF4PF9vpwjdPpxyb1zzLur2nQ2oIMAMEg==" + "version": "2.6.8", + "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.8.tgz", + "integrity": "sha512-+vp9lEC2Kt3yom673pzg1J7T1NVGuGzO9j8Wxno+rQN2WYVBX2pyo/RGQ3fXCLh2Pk76Skw/laAPCuBuEQ4diw==" }, "vue-cli-plugin-vuetify": { "version": "0.4.6", @@ -11460,9 +11460,9 @@ } }, "vue-template-compiler": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.7.tgz", - "integrity": "sha512-ZjxJLr6Lw2gj6aQGKwBWTxVNNd28/qggIdwvr5ushrUHUvqgbHD0xusOVP2yRxT4pX3wRIJ2LfxjgFT41dEtoQ==", + "version": "2.6.8", + "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.8.tgz", + "integrity": "sha512-SwWKANE5ee+oJg+dEJmsdxsxWYICPsNwk68+1AFjOS8l0O/Yz2845afuJtFqf3UjS/vXG7ECsPeHHEAD65Cjng==", "dev": true, "requires": { "de-indent": "^1.0.2", @@ -11476,9 +11476,9 @@ "dev": true }, "vuetify": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/vuetify/-/vuetify-1.5.4.tgz", - "integrity": "sha512-hlTJHh4a1vAZQq4XwIcEpdDXoKNPqXbE95iV2a780FXvFnacu7qjHO4BrOUOkWGeAuFb1NTQM2vJtb4Jhxn26Q==" + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/vuetify/-/vuetify-1.5.5.tgz", + "integrity": "sha512-WXFpRNO+AX4WjmA/+maDOBLQpHpkw8xf7O9iV8KKbKVQv7OBbLOEt7a0LBKRRNJboZPyOFXtt7K4+Q/KYc6dnQ==" }, "vuetify-loader": { "version": "1.2.1", diff --git a/package.json b/package.json index e9bcdc722..c8578d933 100644 --- a/package.json +++ b/package.json @@ -19,12 +19,12 @@ "jszip": "^3.2.0", "piecon": "^0.5.0", "roboto-fontface": "*", - "three": "^0.101.1", - "three-orbitcontrols": "^2.101.1", - "vue": "^2.6.7", + "three": "^0.102.1", + "three-orbitcontrols": "^2.102.1", + "vue": "^2.6.8", "vue-i18n": "^8.8.2", "vue-router": "^3.0.1", - "vuetify": "^1.5.4", + "vuetify": "^1.5.5", "vuex": "^3.1.0" }, "devDependencies": { @@ -35,14 +35,14 @@ "babel-plugin-transform-builtin-extend": "^1.1.2", "compression-webpack-plugin": "^2.0.0", "core-js": "^2.6.5", - "eslint": "^5.14.1", + "eslint": "^5.15.1", "eslint-plugin-vue": "^5.2.2", "material-design-icons-iconfont": "^4.0.5", "rimraf": "^2.6.3", "stylus": "^0.54.5", "stylus-loader": "^3.0.1", "vue-cli-plugin-vuetify": "^0.4.6", - "vue-template-compiler": "^2.6.7", + "vue-template-compiler": "^2.6.8", "vuetify-loader": "^1.2.1", "zip-webpack-plugin": "^3.0.0" } diff --git a/src/App.vue b/src/App.vue index 9f4c5ad00..445e42c9c 100644 --- a/src/App.vue +++ b/src/App.vue @@ -202,7 +202,7 @@ export default { }, mounted() { // Attempt to disconnect from every machine when the page is being unloaded - window.addEventListener('onunload', this.disconnectAll); + window.addEventListener('unload', this.disconnectAll); // Connect if running on a board if (!this.isLocal) { diff --git a/src/components/buttons/ConnectBtn.vue b/src/components/buttons/ConnectBtn.vue index 90373626b..4ac85b253 100644 --- a/src/components/buttons/ConnectBtn.vue +++ b/src/components/buttons/ConnectBtn.vue @@ -16,8 +16,9 @@ import { mapState, mapGetters, mapActions, mapMutations } from 'vuex' export default { computed: { ...mapState(['isConnecting', 'isDisconnecting', 'isLocal']), + ...mapState('machine', ['isReconnecting']), ...mapGetters(['isConnected']), - isBusy() { return this.isConnecting || this.isDisconnecting }, + isBusy() { return this.isConnecting || this.isReconnecting || this.isDisconnecting }, buttonColor() { return this.isBusy ? 'warning' : (this.isConnected ? 'success' : 'primary'); @@ -26,7 +27,7 @@ export default { return this.isConnected ? 'close' : 'power_settings_new'; }, caption() { - return this.$t(this.isConnecting ? 'button.connect.connecting' + return this.$t((this.isConnecting || this.isReconnecting) ? 'button.connect.connecting' : this.isDisconnecting ? 'button.connect.disconnecting' : this.isConnected ? 'button.connect.disconnect' : 'button.connect.connect'); diff --git a/src/components/dialogs/FileEditDialog.vue b/src/components/dialogs/FileEditDialog.vue index d8023cae0..ff02a7062 100644 --- a/src/components/dialogs/FileEditDialog.vue +++ b/src/components/dialogs/FileEditDialog.vue @@ -56,7 +56,7 @@ - + diff --git a/src/components/lists/BaseFileList.vue b/src/components/lists/BaseFileList.vue index d891413d3..37a9e60c3 100644 --- a/src/components/lists/BaseFileList.vue +++ b/src/components/lists/BaseFileList.vue @@ -45,9 +45,9 @@ th.checkbox {