diff --git a/src/components/Minder/editor.js b/src/components/Minder/editor.js new file mode 100644 index 0000000..9425805 --- /dev/null +++ b/src/components/Minder/editor.js @@ -0,0 +1,38 @@ +define(function(require, exports, module) { + + /** + * 运行时 + */ + var runtimes = []; + + function assemble(runtime) { + runtimes.push(runtime); + } + + function KMEditor(selector) { + this.selector = selector; + for (var i = 0; i < runtimes.length; i++) { + if (typeof runtimes[i] == 'function') { + runtimes[i].call(this, this); + } + } + } + KMEditor.assemble = assemble; + assemble(require('vue-kityminder-ggg/src/runtime/container')); + assemble(require('vue-kityminder-ggg/src/runtime/fsm')); + assemble(require('vue-kityminder-ggg/src/runtime/minder')); + assemble(require('vue-kityminder-ggg/src/runtime/receiver')); + assemble(require('vue-kityminder-ggg/src/runtime/hotbox')); + assemble(require('vue-kityminder-ggg/src/runtime/input')); + assemble(require('vue-kityminder-ggg/src/runtime/clipboard-mimetype')); + assemble(require('vue-kityminder-ggg/src/runtime/clipboard')); + assemble(require('vue-kityminder-ggg/src/runtime/drag')); + if (window.__minderReadOnly !== true) { + assemble(require('vue-kityminder-ggg/src/runtime/node')); + assemble(require('vue-kityminder-ggg/src/runtime/history')); + assemble(require('vue-kityminder-ggg/src/runtime/jumping')); + assemble(require('vue-kityminder-ggg/src/runtime/priority')); + assemble(require('vue-kityminder-ggg/src/runtime/progress')); + } + return module.exports = KMEditor; +}); diff --git a/src/components/Minder/index.js b/src/components/Minder/index.js new file mode 100644 index 0000000..3f69aa9 --- /dev/null +++ b/src/components/Minder/index.js @@ -0,0 +1,20 @@ +import 'vue-kityminder-ggg/static/kity' +import 'vue-kityminder-ggg/static/kityminder.core.min' +import "hotboxkit/less/hotbox.less" +import Editor from './minder' + +const MindEditor = { + Minder: Editor +}; + +const install = function (Vue, opts = {}) { + Object.keys(MindEditor).forEach((key) => { + Vue.component(key, MindEditor[key]); + }); +}; + +// auto install +if (typeof window !== 'undefined' && window.Vue) { + install(window.Vue); +} +export default Object.assign(MindEditor, {install}); // eslint-disable-line no-undef diff --git a/src/components/Minder/minder.vue b/src/components/Minder/minder.vue new file mode 100644 index 0000000..6fe9392 --- /dev/null +++ b/src/components/Minder/minder.vue @@ -0,0 +1,475 @@ + + + + +