UNPKG

@zxr3680166/simple-mind-map

Version:

一个简单的web在线思维导图

246 lines (238 loc) 2.71 MB
(function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(); else if(typeof define === 'function' && define.amd) define([], factory); else if(typeof exports === 'object') exports["simpleMindMap"] = factory(); else root["simpleMindMap"] = factory(); })((typeof self !== 'undefined' ? self : this), function() { return /******/ (function(modules) { // webpackBootstrap /******/ // install a JSONP callback for chunk loading /******/ function webpackJsonpCallback(data) { /******/ var chunkIds = data[0]; /******/ var moreModules = data[1]; /******/ /******/ /******/ // add "moreModules" to the modules object, /******/ // then flag all "chunkIds" as loaded and fire callback /******/ var moduleId, chunkId, i = 0, resolves = []; /******/ for(;i < chunkIds.length; i++) { /******/ chunkId = chunkIds[i]; /******/ if(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) { /******/ resolves.push(installedChunks[chunkId][0]); /******/ } /******/ installedChunks[chunkId] = 0; /******/ } /******/ for(moduleId in moreModules) { /******/ if(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) { /******/ modules[moduleId] = moreModules[moduleId]; /******/ } /******/ } /******/ if(parentJsonpFunction) parentJsonpFunction(data); /******/ /******/ while(resolves.length) { /******/ resolves.shift()(); /******/ } /******/ /******/ }; /******/ /******/ /******/ // The module cache /******/ var installedModules = {}; /******/ /******/ // object to store loaded and loading chunks /******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched /******/ // Promise = chunk loading, 0 = chunk loaded /******/ var installedChunks = { /******/ "simpleMindMap.umd.min": 0 /******/ }; /******/ /******/ /******/ /******/ // script path function /******/ function jsonpScriptSrc(chunkId) { /******/ return __webpack_require__.p + "simpleMindMap.umd.min." + ({}[chunkId]||chunkId) + ".js" /******/ } /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) { /******/ return installedModules[moduleId].exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ i: moduleId, /******/ l: false, /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Flag the module as loaded /******/ module.l = true; /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /******/ // This file contains only the entry chunk. /******/ // The chunk loading function for additional chunks /******/ __webpack_require__.e = function requireEnsure(chunkId) { /******/ var promises = []; /******/ /******/ /******/ // JSONP chunk loading for javascript /******/ /******/ var installedChunkData = installedChunks[chunkId]; /******/ if(installedChunkData !== 0) { // 0 means "already installed". /******/ /******/ // a Promise means "currently loading". /******/ if(installedChunkData) { /******/ promises.push(installedChunkData[2]); /******/ } else { /******/ // setup Promise in chunk cache /******/ var promise = new Promise(function(resolve, reject) { /******/ installedChunkData = installedChunks[chunkId] = [resolve, reject]; /******/ }); /******/ promises.push(installedChunkData[2] = promise); /******/ /******/ // start chunk loading /******/ var script = document.createElement('script'); /******/ var onScriptComplete; /******/ /******/ script.charset = 'utf-8'; /******/ script.timeout = 120; /******/ if (__webpack_require__.nc) { /******/ script.setAttribute("nonce", __webpack_require__.nc); /******/ } /******/ script.src = jsonpScriptSrc(chunkId); /******/ /******/ // create error before stack unwound to get useful stacktrace later /******/ var error = new Error(); /******/ onScriptComplete = function (event) { /******/ // avoid mem leaks in IE. /******/ script.onerror = script.onload = null; /******/ clearTimeout(timeout); /******/ var chunk = installedChunks[chunkId]; /******/ if(chunk !== 0) { /******/ if(chunk) { /******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type); /******/ var realSrc = event && event.target && event.target.src; /******/ error.message = 'Loading chunk ' + chunkId + ' failed.\n(' + errorType + ': ' + realSrc + ')'; /******/ error.name = 'ChunkLoadError'; /******/ error.type = errorType; /******/ error.request = realSrc; /******/ chunk[1](error); /******/ } /******/ installedChunks[chunkId] = undefined; /******/ } /******/ }; /******/ var timeout = setTimeout(function(){ /******/ onScriptComplete({ type: 'timeout', target: script }); /******/ }, 120000); /******/ script.onerror = script.onload = onScriptComplete; /******/ document.head.appendChild(script); /******/ } /******/ } /******/ return Promise.all(promises); /******/ }; /******/ /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ /******/ // define getter function for harmony exports /******/ __webpack_require__.d = function(exports, name, getter) { /******/ if(!__webpack_require__.o(exports, name)) { /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); /******/ } /******/ }; /******/ /******/ // define __esModule on exports /******/ __webpack_require__.r = function(exports) { /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ /******/ // create a fake namespace object /******/ // mode & 1: value is a module id, require it /******/ // mode & 2: merge all properties of value into the ns /******/ // mode & 4: return value when already ns object /******/ // mode & 8|1: behave like require /******/ __webpack_require__.t = function(value, mode) { /******/ if(mode & 1) value = __webpack_require__(value); /******/ if(mode & 8) return value; /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; /******/ var ns = Object.create(null); /******/ __webpack_require__.r(ns); /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); /******/ return ns; /******/ }; /******/ /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = function(module) { /******/ var getter = module && module.__esModule ? /******/ function getDefault() { return module['default']; } : /******/ function getModuleExports() { return module; }; /******/ __webpack_require__.d(getter, 'a', getter); /******/ return getter; /******/ }; /******/ /******/ // Object.prototype.hasOwnProperty.call /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; /******/ /******/ // __webpack_public_path__ /******/ __webpack_require__.p = window.externalPublicPath; /******/ /******/ // on error function for async loading /******/ __webpack_require__.oe = function(err) { console.error(err); throw err; }; /******/ /******/ var jsonpArray = (typeof self !== 'undefined' ? self : this)["webpackJsonpsimpleMindMap"] = (typeof self !== 'undefined' ? self : this)["webpackJsonpsimpleMindMap"] || []; /******/ var oldJsonpFunction = jsonpArray.push.bind(jsonpArray); /******/ jsonpArray.push = webpackJsonpCallback; /******/ jsonpArray = jsonpArray.slice(); /******/ for(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]); /******/ var parentJsonpFunction = oldJsonpFunction; /******/ /******/ /******/ // Load entry module and return exports /******/ return __webpack_require__(__webpack_require__.s = "./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js"); /******/ }) /************************************************************************/ /******/ ({ /***/ "../simple-mind-map/example/exampleData.js": /*!*************************************************!*\ !*** ../simple-mind-map/example/exampleData.js ***! \*************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\nconst createFullData = () => {\n return {\n \"image\": \"/enJFNMHnedQTYTESGfDkctCp2.jpeg\",\n \"imageTitle\": \"图片名称\",\n \"imageSize\": {\n \"width\": 1000,\n \"height\": 563\n },\n \"icon\": ['priority_1'],\n \"tag\": [\"标签1\", \"标签2\"],\n \"hyperlink\": \"http://lxqnsys.com/\",\n \"hyperlinkTitle\": \"理想青年实验室\",\n \"note\": \"理想青年实验室\\n一个有意思的角落\"\n // 自定义位置\n // \"customLeft\": 1318,\n // \"customTop\": 374.5\n };\n};\n\n/** \n * @Author: 王林 \n * @Date: 2021-04-15 22:23:24 \n * @Desc: 节点较多示例数据 \n */\nconst data1 = {\n \"root\": {\n \"data\": {\n \"text\": \"根节点\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"二级节点1\",\n \"expand\": true\n },\n \"children\": [{\n \"data\": {\n \"text\": \"分支主题\",\n ...createFullData()\n },\n \"children\": [{\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"分支主题\",\n ...createFullData()\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }]\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }]\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }]\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }]\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }]\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }]\n }]\n }, {\n \"data\": {\n \"text\": \"二级节点2\",\n \"expand\": true\n },\n \"children\": [{\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }]\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }]\n }, {\n \"data\": {\n \"text\": \"二级节点3\",\n \"expand\": true\n },\n \"children\": [{\n \"data\": {\n \"text\": \"分支主题\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }]\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }]\n }]\n }, {\n \"data\": {\n \"text\": \"二级节点4\",\n \"expand\": true\n },\n \"children\": [{\n \"data\": {\n \"text\": \"分支主题\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"分支主题\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"分支主题\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }]\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }]\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"分支主题\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }]\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }]\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }]\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }]\n }]\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }]\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }]\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }]\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n }\n }]\n }]\n }]\n }]\n }]\n }\n};\n\n/** \n * javascript comment \n * @Author: 王林25 \n * @Date: 2021-07-12 13:49:43 \n * @Desc: 真实场景数据 \n */\nconst data2 = {\n \"root\": {\n \"data\": {\n \"text\": \"一周安排\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"生活\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"锻炼\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"晨跑\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"7:00-8:00\"\n },\n \"children\": []\n }]\n }, {\n \"data\": {\n \"text\": \"夜跑\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"20:00-21:00\"\n },\n \"children\": []\n }]\n }]\n }, {\n \"data\": {\n \"text\": \"饮食\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"早餐\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"8:30\"\n },\n \"children\": []\n }]\n }, {\n \"data\": {\n \"text\": \"午餐\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"11:30\"\n },\n \"children\": []\n }]\n }, {\n \"data\": {\n \"text\": \"晚餐\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"19:00\"\n },\n \"children\": []\n }]\n }]\n }, {\n \"data\": {\n \"text\": \"休息\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"午休\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"12:30-13:00\"\n },\n \"children\": []\n }]\n }, {\n \"data\": {\n \"text\": \"晚休\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"23:00-6:30\"\n },\n \"children\": []\n }]\n }]\n }]\n }, {\n \"data\": {\n \"text\": \"工作日\\n周一至周五\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"日常工作\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"9:00-18:00\"\n },\n \"children\": []\n }]\n }, {\n \"data\": {\n \"text\": \"工作总结\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"21:00-22:00\"\n },\n \"children\": []\n }]\n }]\n }, {\n \"data\": {\n \"text\": \"学习\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"工作日\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"早间新闻\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"8:00-8:30\"\n },\n \"children\": []\n }]\n }, {\n \"data\": {\n \"text\": \"阅读\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"21:00-23:00\"\n },\n \"children\": []\n }]\n }]\n }, {\n \"data\": {\n \"text\": \"休息日\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"财务管理\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"9:00-10:30\"\n },\n \"children\": []\n }]\n }, {\n \"data\": {\n \"text\": \"职场技能\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"14:00-15:30\"\n },\n \"children\": []\n }]\n }, {\n \"data\": {\n \"text\": \"其他书籍\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"16:00-18:00\"\n },\n \"children\": []\n }]\n }]\n }]\n }, {\n \"data\": {\n \"text\": \"休闲娱乐\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"看电影\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"1~2部\"\n },\n \"children\": []\n }]\n }, {\n \"data\": {\n \"text\": \"逛街\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"1~2次\"\n },\n \"children\": []\n }]\n }]\n }]\n }\n};\n\n/** \n * javascript comment \n * @Author: 王林25 \n * @Date: 2021-07-12 14:29:10 \n * @Desc: 极简数据 \n */\nconst data3 = {\n \"root\": {\n \"data\": {\n \"text\": \"根节点\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"二级节点\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"分支主题\"\n },\n \"children\": []\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n },\n \"children\": []\n }]\n }]\n }\n};\nconst data4 = {\n \"root\": {\n \"data\": {\n \"text\": \"根节点\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"二级节点1\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"子节点1-1\"\n },\n \"children\": []\n }, {\n \"data\": {\n \"text\": \"子节点1-2\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"子节点1-2-1\"\n },\n \"children\": []\n }, {\n \"data\": {\n \"text\": \"子节点1-2-2\"\n },\n \"children\": []\n }, {\n \"data\": {\n \"text\": \"子节点1-2-3\"\n },\n \"children\": []\n }]\n }]\n }, {\n \"data\": {\n \"text\": \"二级节点2\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"子节点2-1\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"子节点2-1-1\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"子节点2-1-1-1\"\n },\n \"children\": []\n }]\n }]\n }, {\n \"data\": {\n \"text\": \"子节点2-2\"\n },\n \"children\": []\n }]\n }]\n }\n};\n\n// 带概要\nconst data5 = {\n \"root\": {\n \"data\": {\n \"text\": \"根节点\"\n },\n \"children\": [{\n \"data\": {\n \"text\": \"二级节点\",\n \"generalization\": {\n \"text\": \"概要\"\n }\n },\n \"children\": [{\n \"data\": {\n \"text\": \"分支主题\"\n },\n \"children\": []\n }, {\n \"data\": {\n \"text\": \"分支主题\"\n },\n \"children\": []\n }]\n }]\n }\n};\n\n// 富文本数据v0.4.0+,需要使用RichText插件才支持富文本编辑\nconst richTextData = {\n \"root\": {\n \"data\": {\n \"text\": \"<a href='http://lxqnsys.com/' target='_blank'>理想去年实验室</a>\",\n \"richText\": true\n },\n \"children\": []\n }\n};\nconst rootData = {\n \"root\": {\n \"data\": {\n \"text\": \"根节点\"\n },\n \"children\": []\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n // ...data1,\n // ...data2,\n ...data3,\n // ...data4,\n // ...data5,\n // ...rootData,\n \"theme\": {\n \"template\": \"classic4\",\n \"config\": {\n // 自定义配置...\n }\n },\n \"layout\": \"logicalStructure\",\n // \"layout\": \"mindMap\",\n // \"layout\": \"catalogOrganization\"\n // \"layout\": \"organizationStructure\",\n \"config\": {}\n});\n\n//# sourceURL=webpack://simpleMindMap/../simple-mind-map/example/exampleData.js?"); /***/ }), /***/ "../simple-mind-map/full.js": /*!**********************************!*\ !*** ../simple-mind-map/full.js ***! \**********************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index */ \"../simple-mind-map/index.js\");\n/* harmony import */ var _src_plugins_MiniMap_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./src/plugins/MiniMap.js */ \"../simple-mind-map/src/plugins/MiniMap.js\");\n/* harmony import */ var _src_plugins_Watermark_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./src/plugins/Watermark.js */ \"../simple-mind-map/src/plugins/Watermark.js\");\n/* harmony import */ var _src_plugins_KeyboardNavigation_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./src/plugins/KeyboardNavigation.js */ \"../simple-mind-map/src/plugins/KeyboardNavigation.js\");\n/* harmony import */ var _src_plugins_ExportXMind_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./src/plugins/ExportXMind.js */ \"../simple-mind-map/src/plugins/ExportXMind.js\");\n/* harmony import */ var _src_plugins_ExportPDF_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./src/plugins/ExportPDF.js */ \"../simple-mind-map/src/plugins/ExportPDF.js\");\n/* harmony import */ var _src_plugins_Export_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./src/plugins/Export.js */ \"../simple-mind-map/src/plugins/Export.js\");\n/* harmony import */ var _src_plugins_Drag_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./src/plugins/Drag.js */ \"../simple-mind-map/src/plugins/Drag.js\");\n/* harmony import */ var _src_plugins_Select_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./src/plugins/Select.js */ \"../simple-mind-map/src/plugins/Select.js\");\n/* harmony import */ var _src_plugins_AssociativeLine__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./src/plugins/AssociativeLine */ \"../simple-mind-map/src/plugins/AssociativeLine.js\");\n/* harmony import */ var _src_plugins_RichText__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./src/plugins/RichText */ \"../simple-mind-map/src/plugins/RichText.js\");\n/* harmony import */ var _src_plugins_NodeImgAdjust_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./src/plugins/NodeImgAdjust.js */ \"../simple-mind-map/src/plugins/NodeImgAdjust.js\");\n/* harmony import */ var _src_plugins_TouchEvent_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./src/plugins/TouchEvent.js */ \"../simple-mind-map/src/plugins/TouchEvent.js\");\n/* harmony import */ var _src_plugins_Search_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./src/plugins/Search.js */ \"../simple-mind-map/src/plugins/Search.js\");\n/* harmony import */ var _src_plugins_Scrollbar_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./src/plugins/Scrollbar.js */ \"../simple-mind-map/src/plugins/Scrollbar.js\");\n/* harmony import */ var _src_parse_xmind_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./src/parse/xmind.js */ \"../simple-mind-map/src/parse/xmind.js\");\n/* harmony import */ var _src_parse_markdown_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./src/parse/markdown.js */ \"../simple-mind-map/src/parse/markdown.js\");\n/* harmony import */ var _src_svg_icons_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./src/svg/icons.js */ \"../simple-mind-map/src/svg/icons.js\");\n/* harmony import */ var _src_constants_constant_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./src/constants/constant.js */ \"../simple-mind-map/src/constants/constant.js\");\n/* harmony import */ var _src_themes_index_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./src/themes/index.js */ \"../simple-mind-map/src/themes/index.js\");\n/* harmony import */ var _src_themes_default_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./src/themes/default.js */ \"../simple-mind-map/src/themes/default.js\");\n/* harmony import */ var _example_exampleData__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./example/exampleData */ \"../simple-mind-map/example/exampleData.js\");\n/* harmony import */ var _src_utils_index_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./src/utils/index.js */ \"../simple-mind-map/src/utils/index.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n// import Painter from './src/plugins/Painter.js'\n\n\n\n\n\n\n\n\n// import { themeList } from './src/constants/constant.js';\n// console.log('themeList111111', themeList);\n\n_index__WEBPACK_IMPORTED_MODULE_0__[\"default\"].xmind = _src_parse_xmind_js__WEBPACK_IMPORTED_MODULE_15__[\"default\"];\n_index__WEBPACK_IMPORTED_MODULE_0__[\"default\"].markdown = _src_parse_markdown_js__WEBPACK_IMPORTED_MODULE_16__[\"default\"];\n_index__WEBPACK_IMPORTED_MODULE_0__[\"default\"].iconList = _src_svg_icons_js__WEBPACK_IMPORTED_MODULE_17__[\"default\"].nodeIconList;\n_index__WEBPACK_IMPORTED_MODULE_0__[\"default\"].constants = _src_constants_constant_js__WEBPACK_IMPORTED_MODULE_18__;\n// MindMap.themeList = themeList\n_index__WEBPACK_IMPORTED_MODULE_0__[\"default\"].themes = _src_themes_index_js__WEBPACK_IMPORTED_MODULE_19__[\"default\"];\n_index__WEBPACK_IMPORTED_MODULE_0__[\"default\"].defaultTheme = _src_themes_default_js__WEBPACK_IMPORTED_MODULE_20__;\n\n// 自定义挂载\n\n_index__WEBPACK_IMPORTED_MODULE_0__[\"default\"].exampleData = _example_exampleData__WEBPACK_IMPORTED_MODULE_21__[\"default\"];\n\n// import { simpleDeepClone, isUndef, getImageSize } from './src/utils/index'\n// MindMap.utils = {\n// simpleDeepClone: simpleDeepClone,\n// isUndef: isUndef,\n// getImageSize: getImageSize,\n// };\n\n_index__WEBPACK_IMPORTED_MODULE_0__[\"default\"].utils = _src_utils_index_js__WEBPACK_IMPORTED_MODULE_22__;\n_index__WEBPACK_IMPORTED_MODULE_0__[\"default\"].usePlugin(_src_plugins_MiniMap_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]).usePlugin(_src_plugins_Watermark_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]).usePlugin(_src_plugins_Drag_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"]).usePlugin(_src_plugins_KeyboardNavigation_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]).usePlugin(_src_plugins_ExportXMind_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]).usePlugin(_src_plugins_ExportPDF_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]).usePlugin(_src_plugins_Export_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]).usePlugin(_src_plugins_Select_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"]).usePlugin(_src_plugins_AssociativeLine__WEBPACK_IMPORTED_MODULE_9__[\"default\"]).usePlugin(_src_plugins_RichText__WEBPACK_IMPORTED_MODULE_10__[\"default\"]) // todo 富文本插件,目前会影响功能节点运行,文本带了 html 标签,需要处理\n.usePlugin(_src_plugins_TouchEvent_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"]).usePlugin(_src_plugins_NodeImgAdjust_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"]).usePlugin(_src_plugins_Search_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"])\n// .usePlugin(Painter)\n.usePlugin(_src_plugins_Scrollbar_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (_index__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n// 思维导图上线步骤\n// 1. 打包 umd 文件 npm run buildLibrary,移动到 fronted 的 lib 文件夹下\n// 1.1 /node_modules/.vite/ 下的文件夹也要删除,否则更新不了\n// 2. 注释 Edit.vue 中的 import MindMap from 'simple-mind-map'... MindMap.usePlugin(Select)... new MindMap...\n// 3. 打包 fronted 文件 npm run build,上传 dist 到服务器\n// 4. 重启服务器 \n\n// 与官方最大差异:\n// 1、自定义挂载\n// 2、node 相等用 uid 判断\n// 3、event.js 中的事件处理(Mac 触摸屏)\n// 4、view.js view_data_change 触发条件\n\n//# sourceURL=webpack://simpleMindMap/../simple-mind-map/full.js?"); /***/ }), /***/ "../simple-mind-map/index.js": /*!***********************************!*\ !*** ../simple-mind-map/index.js ***! \***********************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.error.cause.js */ \"../simple-mind-map/node_modules/core-js/modules/es.error.cause.js\");\n/* harmony import */ var core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"../simple-mind-map/node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _src_core_view_View__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./src/core/view/View */ \"../simple-mind-map/src/core/view/View.js\");\n/* harmony import */ var _src_core_event_Event__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./src/core/event/Event */ \"../simple-mind-map/src/core/event/Event.js\");\n/* harmony import */ var _src_core_render_Render__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./src/core/render/Render */ \"../simple-mind-map/src/core/render/Render.js\");\n/* harmony import */ var deepmerge__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! deepmerge */ \"../simple-mind-map/node_modules/deepmerge/dist/cjs.js\");\n/* harmony import */ var deepmerge__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(deepmerge__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _src_themes__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./src/themes */ \"../simple-mind-map/src/themes/index.js\");\n/* harmony import */ var _src_core_render_node_Style__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./src/core/render/node/Style */ \"../simple-mind-map/src/core/render/node/Style.js\");\n/* harmony import */ var _src_core_command_KeyCommand__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./src/core/command/KeyCommand */ \"../simple-mind-map/src/core/command/KeyCommand.js\");\n/* harmony import */ var _src_core_command_Command__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./src/core/command/Command */ \"../simple-mind-map/src/core/command/Command.js\");\n/* harmony import */ var _src_utils_BatchExecution__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./src/utils/BatchExecution */ \"../simple-mind-map/src/utils/BatchExecution.js\");\n/* harmony import */ var _src_constants_constant__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./src/constants/constant */ \"../simple-mind-map/src/constants/constant.js\");\n/* harmony import */ var _svgdotjs_svg_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @svgdotjs/svg.js */ \"../simple-mind-map/node_modules/@svgdotjs/svg.js/dist/svg.esm.js\");\n/* harmony import */ var _src_utils__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./src/utils */ \"../simple-mind-map/src/utils/index.js\");\n/* harmony import */ var _src_themes_default__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./src/themes/default */ \"../simple-mind-map/src/themes/default.js\");\n/* harmony import */ var _src_constants_defaultOptions__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./src/constants/defaultOptions */ \"../simple-mind-map/src/constants/defaultOptions.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n// 思维导图\nclass MindMap {\n // 构造函数\n constructor(opt = {}) {\n // 合并选项\n this.opt = this.handleOpt(deepmerge__WEBPACK_IMPORTED_MODULE_5___default()(_src_constants_defaultOptions__WEBPACK_IMPORTED_MODULE_15__[\"defaultOpt\"], opt));\n\n // 容器元素\n this.el = this.opt.el;\n if (!this.el) throw new Error('缺少容器元素el');\n this.elRect = this.el.getBoundingClientRect();\n\n // 画布宽高\n this.width = this.elRect.width;\n this.height = this.elRect.height;\n if (this.width <= 0 || this.height <= 0) throw new Error('容器元素el的宽高不能为0');\n\n // 添加css\n this.cssEl = null;\n this.addCss();\n\n // 画布\n this.svg = Object(_svgdotjs_svg_js__WEBPACK_IMPORTED_MODULE_12__[\"SVG\"])().addTo(this.el).size(this.width, this.height);\n this.draw = this.svg.group();\n\n // 初始化主题\n this.initTheme();\n\n // 初始化缓存数据\n this.initCache();\n\n // 事件类\n this.event = new _src_core_event_Event__WEBPACK_IMPORTED_MODULE_3__[\"default\"]({\n mindMap: this\n });\n\n // 按键类\n this.keyCommand = new _src_core_command_KeyCommand__WEBPACK_IMPORTED_MODULE_8__[\"default\"]({\n mindMap: this\n });\n\n // 命令类\n this.command = new _src_core_command_Command__WEBPACK_IMPORTED_MODULE_9__[\"default\"]({\n mindMap: this\n });\n\n // 渲染类\n this.renderer = new _src_core_render_Render__WEBPACK_IMPORTED_MODULE_4__[\"default\"]({\n mindMap: this\n });\n\n // 视图操作类\n this.view = new _src_core_view_View__WEBPACK_IMPORTED_MODULE_2__[\"default\"]({\n mindMap: this,\n draw: this.draw\n });\n\n // 批量执行类\n this.batchExecution = new _src_utils_BatchExecution__WEBPACK_IMPORTED_MODULE_10__[\"default\"]();\n\n // 注册插件\n MindMap.pluginList.forEach(plugin => {\n this.initPlugin(plugin);\n });\n\n // 初始渲染\n this.render();\n setTimeout(() => {\n this.command.addHistory();\n }, 0);\n }\n\n // 配置参数处理\n handleOpt(opt) {\n // 深拷贝一份节点数据\n opt.data = Object(_src_utils__WEBPACK_IMPORTED_MODULE_13__[\"simpleDeepClone\"])(opt.data || {});\n // 检查布局配置\n if (!_src_constants_constant__WEBPACK_IMPORTED_MODULE_11__[\"layoutValueList\"].includes(opt.layout)) {\n opt.layout = _src_constants_constant__WEBPACK_IMPORTED_MODULE_11__[\"CONSTANTS\"].LAYOUT.LOGICAL_STRUCTURE;\n }\n // 检查主题配置\n opt.theme = opt.theme && _src_themes__WEBPACK_IMPORTED_MODULE_6__[\"default\"][opt.theme] ? opt.theme : 'default';\n return opt;\n }\n\n // 添加必要的css样式到页面\n addCss() {\n this.cssEl = document.createElement('style');\n this.cssEl.type = 'text/css';\n this.cssEl.innerHTML = _src_constants_constant__WEBPACK_IMPORTED_MODULE_11__[\"cssContent\"];\n document.head.appendChild(this.cssEl);\n }\n\n // 移除css\n removeCss() {\n document.head.removeChild(this.cssEl);\n }\n\n // 渲染,部分渲染\n render(callback, source = '') {\n this.batchExecution.push('render', () => {\n this.initTheme();\n this.renderer.reRender = false;\n this.renderer.render(callback, source);\n });\n }\n\n // 重新渲染\n reRender(callback, source = '') {\n this.batchExecution.push('render', () => {\n this.draw.clear();\n this.initTheme();\n this.renderer.reRender = true;\n this.renderer.render(callback, source);\n });\n }\n\n // 容器尺寸变化,调整尺寸\n resize() {\n this.elRect = this.el.getBoundingClientRect();\n this.width = this.elRect.width;\n this.height = this.elRect.height;\n this.svg.size(this.width, this.height);\n }\n\n // 监听事件\n on(event, fn) {\n this.event.on(event, fn);\n }\n\n // 触发事件\n emit(event, ...args) {\n this.event.emit(event, ...args);\n }\n\n // 解绑事件\n off(event, fn) {\n this.event.off(event, fn);\n }\n\n // 初始化缓存数据\n initCache() {\n Object.keys(_src_constants_constant__WEBPACK_IMPORTED_MODULE_11__[\"commonCaches\"]).forEach(key => {\n let type = Object(_src_utils__WEBPACK_IMPORTED_MODULE_13__[\"getType\"])(_src_constants_constant__WEBPACK_IMPORTED_MODULE_11__[\"commonCaches\"][key]);\n let value = '';\n switch (type) {\n case 'Boolean':\n value = false;\n break;\n default:\n value = null;\n break;\n }\n _src_constants_constant__WEBPACK_IMPORTED_MODULE_11__[\"commonCaches\"][key] = value;\n });\n }\n\n // 设置主题\n initTheme() {\n // 合并主题配置\n this.themeConfig = deepmerge__WEBPACK_IMPORTED_MODULE_5___default()(_src_themes__WEBPACK_IMPORTED_MODULE_6__[\"default\"][this.opt.theme], this.opt.themeConfig);\n // 设置背景样式\n _src_core_render_node_Style__WEBPACK_IMPORTED_MODULE_7__[\"default\"].setBackgroundStyle(this.el, this.themeConfig);\n }\n\n // 设置主题\n setTheme(theme) {\n this.renderer.clearAllActive();\n this.opt.theme = theme;\n this.render(null, _src_constants_constant__WEBPACK_IMPORTED_MODULE_11__[\"CONSTANTS\"].CHANGE_THEME);\n this.emit('view_theme_change', theme);\n }\n\n // 获取当前主题\n getTheme() {\n return this.opt.theme;\n }\n\n // 设置主题配置\n setThemeConfig(config) {\n // 计算改变了的配置\n const changedConfig = Object(_src_utils__WEBPACK_IMPORTED_MODULE_13__[\"getObjectChangedProps\"])(this.themeConfig, config);\n this.opt.themeConfig = config;\n // 检查改变的是否是节点大小无关的主题属性\n let res = Object(_src_themes_default__WEBPACK_IMPORTED_MODULE_14__[\"checkIsNodeSizeIndependenceConfig\"])(changedConfig);\n this.render(null, res ? '' : _src_constants_constant__WEBPACK_IMPORTED_MODULE_11__[\"CONSTANTS\"].CHANGE_THEME);\n }\n\n // 获取自定义主题配置\n getCustomThemeConfig() {\n return this.opt.themeConfig;\n }\n\n // 获取某个主题配置值\n getThemeConfig(prop) {\n return prop === undefined ? this.themeConfig : this.themeConfig[prop];\n }\n\n // 获取配置\n getConfig(prop) {\n return prop === undefined ? this.opt : this.opt[prop];\n }\n\n // 更新配置\n updateConfig(opt = {}) {\n // console.log('updateConfig', opt)\n this.opt = this.handleOpt(deepmerge__WEBPACK_IMPORTED_MODULE_5___default.a.all([_src_constants_defaultOptions__WEBPACK_IMPORTED_MODULE_15__[\"defaultOpt\"], this.opt, opt]));\n }\n\n // 获取当前布局结构\n getLayout() {\n return this.opt.layout;\n }\n\n // 设置布局结构\n setLayout(layout) {\n // 检查布局配置\n if (!_src_constants_constant__WEBPACK_IMPORTED_MODULE_11__[\"layoutValueList\"].includes(layout)) {\n layout = _src_constants_constant__WEBPACK_IMPORTED_MODULE_11__[\"CONSTANTS\"].LAYOUT.LOGICAL_STRUCTURE;\n }\n this.opt.layout = layout;\n this.view.reset();\n this.renderer.setLayout();\n this.render(null, _src_constants_constant__WEBPACK_IMPORTED_MODULE_11__[\"CONSTANTS\"].CHANGE_LAYOUT);\n }\n\n // 执行命令\n execCommand(...args) {\n this.command.exec(...args);\n }\n\n // 动态设置思维导图数据,纯节点数据\n setData(data) {\n this.execCommand('CLEAR_ACTIVE_NODE');\n this.command.clearHistory();\n this.command.addHistory();\n if (this.richText) {\n this.renderer.renderTree = this.richText.handleSetData(data);\n } else {\n this.renderer.renderTree = data;\n }\n this.reRender(() => {}, _src_constants_constant__WEBPACK_IMPORTED_MODULE_11__[\"CONSTANTS\"].SET_DATA);\n }\n\n // 动态设置思维导图数据,包括节点数据、布局、主题、视图\n setFullData(data) {\n if (data.root) {\n this.setData(data.root);\n }\n if (data.layout) {\n this.setLayout(data.layout);\n }\n if (data.theme) {\n if (data.theme.template) {\n this.setTheme(data.theme.template);\n }\n if (data.theme.config) {\n this.setThemeConfig(data.theme.config);\n }\n }\n if (data.view) {\n this.view.setTransformData(data.view);\n }\n }\n\n // 获取思维导图数据,节点树、主题、布局等\n getData(withConfig) {\n // console.log('getData', withConfig, this.command.getCopyData())\n // let nodeData = this.command.removeDataUid(this.command.getCopyData()) // 去除节点数据的uid\n let nodeData = this.command.getCopyData();\n let data = {};\n if (withConfig) {\n data = {\n layout: this.getLayout(),\n root: nodeData,\n theme: {\n template: this.getTheme(),\n config: this.getCustomThemeConfig()\n },\n view: this.view.getTransformData()\n };\n } else {\n data = nodeData;\n }\n return Object(_src_utils__WEBPACK_IMPORTED_MODULE_13__[\"simpleDeepClone\"])(data);\n }\n\n // 导出\n async export(...args) {\n try {\n let result = await this.doExport.export(...args);\n return result;\n } catch (error) {\n this.opt.errorHandler(_src_constants_constant__WEBPACK_IMPORTED_MODULE_11__[\"ERROR_TYPES\"].EXPORT_ERROR, error);\n }\n }\n\n // 转换位置\n toPos(x, y) {\n return {\n x: x - this.elRect.left,\n y: y - this.elRect.top\n };\n }\n\n // 设置只读模式、编辑模式\n setMode(mode) {\n if (![_src_constants_constant__WEBPACK_IMPORTED_MODULE_11__[\"CONSTANTS\"].MODE.READONLY, _src_constants_constant__WEBPACK_IMPORTED_MODULE_11__[\"CONSTANTS\"].MODE.EDIT].includes(mode)) {\n return;\n }\n this.opt.readonly = mode === _src_constants_constant__WEBPACK_IMPORTED_MODULE_11__[\"CONSTANTS\"].MODE.READONLY;\n if (this.opt.readonly) {\n // 取消当前激活的元素\n this.renderer.clearAllActive();\n }\n this.emit('mode_change', mode);\n }\n\n // 获取svg数据\n getSvgData({\n paddingX = 0,\n paddingY = 0\n } = {}) {\n const svg = this.svg;\n const draw = this.draw;\n // 保存原始信息\n const origWidth = svg.width();\n const origHeight = svg.height();\n const origTransform = draw.transform();\n const elRect = this.el.getBoundingClientRect();\n // 去除放大缩小的变换效果\n draw.scale(1 / origTransform.scaleX, 1 / origTransform.scaleY);\n // 获取变换后的位置尺寸信息,其实是getBoundingClientRect方法的包装方法\n const rect = draw.rbox();\n // 内边距\n rect.width += paddingX * 2;\n rect.height += paddingY * 2;\n draw.translate(paddingX, paddingY);\n // 将svg设置为实际内容的宽高\n svg.size(rect.width, rect.height);\n // 把实际内容变换\n draw.translate(-rect.x + elRect.left, -rect.y + elRect.top);\n // 克隆一份数据\n let clone = svg.clone();\n // 添加必要的样式\n clone.add(Object(_svgdotjs_svg_js__WEBPACK_IMPORTED_MODULE_12__[\"SVG\"])(`<style>${_src_constants_constant__WEBPACK_IMPORTED_MODULE_11__[\"cssContent\"]}</style>`));\n // 如果实际图形宽高超出了屏幕宽高,且存在水印的话需要重新绘制水印,否则会出现超出部分没有水印的问题\n