diff --git a/src/assets/js/bus.js b/src/assets/js/bus.js index 00d8985..a529af3 100755 --- a/src/assets/js/bus.js +++ b/src/assets/js/bus.js @@ -1,3 +1,18 @@ // import Vue from 'vue'; -export default new Vue(); +export const EventBus = new Vue(); + +export default { + on(event, callback) { + EventBus.$on(event, callback); + }, + off(event, callback) { + EventBus.$off(event, callback); + }, + emit(event, ...args) { + EventBus.$emit(event, ...args); + }, + notify(any) { + EventBus.$notify(any) + } +}; diff --git a/src/components/FancyTree/index.vue b/src/components/FancyTree/index.vue index a294b3e..ed58c37 100644 --- a/src/components/FancyTree/index.vue +++ b/src/components/FancyTree/index.vue @@ -39,7 +39,7 @@ import 'jquery.fancytree/dist/skin-win8/ui.fancytree.less'; import 'jquery.fancytree/dist/modules/jquery.fancytree.edit'; import fancytree from 'jquery.fancytree'; - import Bus from '@/assets/js/bus' + import store from '@/store' import api from '@/api/file-api' export default { @@ -431,20 +431,22 @@ username: this.$store.state.user.name, path: encodeURI(node.data.path) }).then(res => { - if (res.data) { - row.oldName = node.data.name - row.name = newFileName - row.suffix = newFileName.replace(/.+\./,"") - Bus.$emit('renameRow',row) - row.oldPath = row.path - row.path = row.path.substring(0,row.path.length - row.oldName.length) + newFileName - node.setTitle(newFileName) - this.addRef(node) - this.$message.success("修改成功!") - this.$emit('onRename', row) - if(this.editableTabsValue === row.oldPath){ - this.$emit('update:editableTabsValue', row.path) - } + row.oldName = node.data.name + row.name = newFileName + row.suffix = newFileName.replace(/.+\./,"") + console.log('renameRow',row) + store.dispatch('updateMessage', { + event: 'renameRow', + data: row + }) + row.oldPath = row.path + row.path = row.path.substring(0,row.path.length - row.oldName.length) + newFileName + node.setTitle(newFileName) + this.addRef(node) + this.$message.success("修改成功!") + this.$emit('onRename', row) + if(this.editableTabsValue === row.oldPath){ + this.$emit('update:editableTabsValue', row.path) } }) }, diff --git a/src/components/Minder/minder.vue b/src/components/Minder/minder.vue index c21ced8..51e163a 100644 --- a/src/components/Minder/minder.vue +++ b/src/components/Minder/minder.vue @@ -110,9 +110,9 @@ import 'vue-kityminder-ggg/examples/styles/minder.css'; import JSPDF from 'jspdf'; import api from "@/api/file-api"; import txtApi from "@/api/markdown-api"; -import Bus from "@/assets/js/bus"; import historyApi from "@/api/file-history"; import HistoryPopover from "@/components/HistoryPopover/index.vue"; +import {mapState} from "vuex"; export default { @@ -139,6 +139,7 @@ export default { }, }, computed: { + ...mapState(['message']), hasReadOnly() { return this.readOnly || this.viewHistory }, @@ -207,14 +208,17 @@ export default { }, zoom(val) { this.execCommand('Zoom', val) + }, + message(msg) { + if (msg.event === 'previewSaveAndClose') { + this.saveAndClose() + } } }, mounted() { - Bus.$on('previewSaveAndClose', this.saveAndClose) document.addEventListener('keydown', this.ctrlAndS) }, destroyed() { - Bus.$off('previewSaveAndClose') document.removeEventListener('keydown', this.ctrlAndS) }, methods: { diff --git a/src/components/ShowFile/ShowFile.vue b/src/components/ShowFile/ShowFile.vue index 61a9182..60e60f5 100644 --- a/src/components/ShowFile/ShowFile.vue +++ b/src/components/ShowFile/ShowFile.vue @@ -847,7 +847,7 @@ diff --git a/src/components/preview/ImageViewer.vue b/src/components/preview/ImageViewer.vue index a8b5254..b414578 100644 --- a/src/components/preview/ImageViewer.vue +++ b/src/components/preview/ImageViewer.vue @@ -18,7 +18,7 @@