web-component-gallery 0.1.61 → 0.1.63
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/amap.umd.js
CHANGED
|
@@ -8945,7 +8945,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _ind
|
|
|
8945
8945
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
8946
8946
|
|
|
8947
8947
|
"use strict";
|
|
8948
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _utils_Tree__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/Tree */ \"./plugins/utils/Tree.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/tree/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/input/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/dropdown/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/icon/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/button/index.js\");\n/* harmony import */ var _style_Directory_less__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./style/Directory.less */ \"./plugins/lib/tree/style/Directory.less\");\n\n\n\n\n\n\n/* 明天来了做一下@快捷指向 */\n\nconst TreeNode = ant_design_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"].TreeNode;\nconst DirectoryTree = ant_design_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"].DirectoryTree;\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'DirectoryTreeMenu',\n props: {\n treeData: {\n type: Array,\n default: () => []\n },\n treeExpandKeys: {\n type: Array,\n default: () => []\n },\n treePlus: {\n type: Boolean,\n default: true\n },\n treeActions: {\n type: Array,\n default: () => []\n },\n treeActionsPlus: {\n type: Boolean,\n default: true\n },\n replaceFields: {\n type: Object,\n default: () => ({\n children: 'children',\n key: 'id',\n title: 'title'\n })\n }\n },\n data() {\n return {\n NodeCheckedKeys: [],\n NodeSelectedKeys: [],\n NodeExpandKeys: [],\n NodeKey: [],\n NodeActions: null,\n MenuDropdown: false,\n NodeActionsStyle: {}\n };\n },\n mounted() {\n this.onInitTree();\n },\n watch: {\n treeData(newValue, oldValue) {\n this.onInitTree(!oldValue.length);\n },\n treeExpandKeys(newValue) {\n this.NodeExpandKeys = newValue;\n }\n },\n methods: {\n TreeNodeRender(node, nodeIndex, parentNode) {\n const h = this.$createElement;\n const {\n replaceFields,\n NodeActions,\n treeActions,\n NodeActionsStyle,\n NodeExpandKeys,\n NodeKey,\n treeActionsPlus,\n createTreeNode,\n handleMouseLeave,\n handleOperateClick,\n handlePlusClick\n } = this;\n const key = node[replaceFields.key];\n return h(TreeNode, {\n \"key\": key,\n \"class\": \"DirectoryTreeMenu__Node\",\n \"scopedSlots\": {\n title: props => {\n return h(\"div\", {\n \"class\": \"__Title\"\n }, [node.type != 'input' ? h(\"span\", [node[replaceFields.title]]) : h(ant_design_vue__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n \"attrs\": {\n \"placeholder\": \"请输入节点名称\",\n \"default-value\": node[replaceFields.title]\n },\n \"on\": {\n ...{\n blur: ({\n target\n }) => createTreeNode(target, node),\n pressEnter: event => event.target.blur(event, true)\n }\n },\n \"ref\": \"inputNodeRef\"\n }), NodeActions && Boolean(treeActions.length) && NodeKey.includes(props.eventKey) && node.type != 'input' && h(\"div\", {\n \"ref\": \"TreeMenuActions\",\n \"class\": \"DirectoryTreeMenu__Actions\",\n \"on\": {\n ...{\n mouseenter: event => event.stopPropagation()\n }\n }\n }, [h(ant_design_vue__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n \"attrs\": {\n \"trigger\": ['click'],\n \"overlayClassName\": \"DirectoryTreeMenu__Dropdown\"\n }\n }, [h(\"svg-icon\", {\n \"class\": \"ActionsIcons\",\n \"attrs\": {\n \"icon-class\": \"tree-more\"\n },\n \"on\": {\n ...{\n click: e => e.preventDefault()\n }\n }\n }), h(\"div\", {\n \"slot\": \"overlay\",\n \"class\": \"DirectoryTreeMenu__Dropdown__Menu\"\n }, [treeActions.map((handle, i) => {\n return h(\"span\", {\n \"key\": i,\n \"on\": {\n ...{\n // this.$emit('handleOperateClick', handle, NodeActions)\n click: () => handleOperateClick(handle, {\n ...node,\n nodeIndex\n }, parentNode)\n }\n }\n }, [h(\"svg-icon\", {\n \"attrs\": {\n \"icon-class\": handle.svg\n }\n }), \" \", handle.text]);\n })])]), treeActionsPlus && h(\"svg-icon\", {\n \"class\": \"ActionsIcons\",\n \"attrs\": {\n \"icon-class\": \"tree-plus\"\n },\n \"on\": {\n ...{\n click: () => handlePlusClick()\n }\n }\n })])]);\n }\n }\n }, [node[replaceFields.children] && node[replaceFields.children].length && node[replaceFields.children].map((childNode, childNodeIndex) => this.TreeNodeRender(childNode, childNodeIndex, node))]);\n },\n appendTreeNode() {\n this.treeData.push({\n type: 'input',\n append: true,\n [this.replaceFields.key]: new Date().getTime()\n });\n this.$nextTick(() => this.$refs.inputNodeRef.focus());\n },\n createTreeNode({\n value\n }, node) {\n this.$set(node, 'type', 'text');\n this.$emit(`handlePlus${node.append ? 'Add' : 'Update'}`, value, node.append ? node.parentOrgId : node[this.replaceFields.key]);\n const parentNodes = node.parentOrgId ? this.findItemById(this.treeData, node.parentOrgId)[this.replaceFields.children] : this.treeData;\n if (node.append) {\n const i = parentNodes.findIndex(child => child[this.replaceFields.key] == node[this.replaceFields.key]);\n parentNodes.splice(i, 1);\n }\n },\n handleOperateClick(handle, node, parentNode) {\n const key = node[this.replaceFields.key];\n let that = this;\n switch (handle.type) {\n case 'update':\n const updateNode = this.findItemById(this.treeData, key);\n this.$set(updateNode, 'type', 'input');\n this.$nextTick(() => this.$refs.inputNodeRef.focus());\n break;\n case 'copy':\n // 明天来了优化一下\n const cloneNode = parentNode ? parentNode[this.replaceFields.children] : this.treeData;\n cloneNode.splice(node.nodeIndex + 1, 0, {\n type: 'input',\n append: true,\n parentOrgId: parentNode ? parentNode[this.replaceFields.key] : null,\n [this.replaceFields.key]: new Date().getTime(),\n [this.replaceFields.title]: node[this.replaceFields.title]\n });\n this.$nextTick(() => this.$refs.inputNodeRef.focus());\n break;\n case 'delete':\n this.$confirm({\n title: '确定要删除当前节点吗?',\n okText: '确定',\n cancelText: '取消',\n onOk() {\n that.$emit('handleDeleteClick', node);\n console.log('OK');\n },\n onCancel() {\n console.log('Cancel');\n }\n });\n break;\n default:\n this.$emit('handleOperateClick', handle, node);\n break;\n }\n },\n handlePlusClick() {\n const node = this.findItemById(this.treeData, this.NodeActions.id);\n console.log(node, this.NodeActions, '--NodeActions');\n const childNode = node[this.replaceFields.children] ?? [];\n childNode.push({\n type: 'input',\n append: true,\n parentOrgId: this.NodeActions.id,\n [this.replaceFields.key]: new Date().getTime()\n });\n this.NodeExpandKeys.push(this.NodeActions.id);\n node[this.replaceFields.children] = childNode;\n this.$nextTick(() => this.$refs.inputNodeRef.focus());\n console.log(node, '--NodeActions');\n },\n findItemById(treeData, id) {\n for (let i = 0; i < treeData.length; i++) {\n if (treeData[i][this.replaceFields.key] === id) return treeData[i];\n let childNode = treeData[i][this.replaceFields.children];\n if (childNode && childNode.length > 0) {\n const foundItem = this.findItemById(treeData[i][this.replaceFields.children], id);\n if (foundItem) return foundItem;\n }\n }\n },\n onInitTree(treeExpend = true) {\n this.treeData && (this.NodeSelectedKeys = [this.treeData.at(0)?.[this.replaceFields.key]]);\n this.NodeExpandKeys = this.treeExpandKeys.length && this.treeExpandKeys || treeExpend && (0,_utils_Tree__WEBPACK_IMPORTED_MODULE_1__.getTreeKey)(this.treeData, true, this.replaceFields) || [];\n },\n onCheck(keys, {}) {\n this.NodeCheckedKeys = keys;\n this.$emit('onCheck', keys);\n },\n onSelect(keys, {\n nativeEvent,\n node\n }) {\n this.NodeSelectedKeys = keys;\n this.NodeKey = [].concat(this.NodeSelectedKeys);\n this.$emit('onSelect', keys);\n },\n onExpand(expandedKeys, {\n expanded,\n node\n }) {\n this.NodeExpandKeys = [].concat(expandedKeys);\n console.log(expandedKeys, expanded, node, 'Trigger Expand');\n },\n getIcon(props) {\n const h = this.$createElement;\n const {\n isLeaf,\n expanded\n } = props;\n if (isLeaf) {\n return h(ant_design_vue__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n \"attrs\": {\n \"type\": \"home\"\n }\n });\n }\n return h(ant_design_vue__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n \"attrs\": {\n \"type\": expanded ? 'folder-open' : 'folder'\n }\n });\n },\n handleMouseEnter({\n event,\n node\n }) {\n this.NodeActions = {\n id: node._props.eventKey,\n title: node._props.title,\n parentOrgId: node.$parent.eventKey || null\n };\n // this.MenuDropdown = false \n this.NodeKey = [].concat(this.NodeSelectedKeys);\n this.NodeKey.push(node.eventKey);\n // console.log(node, 'handleMouseEnter')\n // 是否加个参数 判断是否处于打开状态\n },\n handleMouseLeave({\n event,\n node\n }) {\n if (this.NodeKey.includes(node.eventKey) && this.NodeSelectedKeys != node.eventKey) {\n const i = this.NodeKey.findIndex(key => key == node.eventKey);\n this.NodeKey.splice(i, 1);\n }\n // this.NodeKey = []\n },\n onDragEnter(node) {\n console.log(node, '--onDragEnter');\n // expandedKeys 需要受控时设置\n // this.expandedKeys = info.expandedKeys\n },\n onDrop(info) {\n const dragKey = info.dragNode.eventKey;\n const dropPos = info.node.pos.split(\"-\");\n // 拖动的位置\n const dropPosition = info.dropPosition - Number(dropPos[dropPos.length - 1]);\n const node = info.node; //目标节点\n const dragNode = info.dragNode; // 拖动节点\n const dropKey = node.eventKey;\n console.log(dragNode, node, '--dropToGap');\n if (dragNode.$parent?.eventKey !== node.$parent?.eventKey || !info.dropToGap) {\n // 阻止跨父级拖拽\n this.$message.warning(\"只能在同级排序\");\n return false;\n }\n const {\n key,\n children\n } = this.replaceFields;\n const loop = (data, eventKey, callback) => {\n data.forEach((node, i, array) => {\n if (node[key] === eventKey) {\n return callback(node, i, array);\n }\n if (node[children]) {\n return loop(node[children], eventKey, callback);\n }\n });\n };\n const data = [...this.treeData];\n let dragObj;\n let dragObjIndex;\n loop(data, dragKey, (node, i, array) => {\n dragObj = node;\n dragObjIndex = i;\n });\n let dropIndex;\n loop(data, dropKey, (node, i, array) => {\n dropIndex = i;\n console.log(node, i, dragObj, dragObjIndex, '--i');\n });\n this.$emit('onDrop', {\n [key]: dragObj[key],\n originalIndex: dragObjIndex,\n presentIndex: dropPosition === -1 ? dropIndex : dropIndex + 1\n });\n }\n },\n render() {\n const h = arguments[0];\n const {\n $attrs,\n treePlus,\n treeData,\n NodeCheckedKeys,\n NodeSelectedKeys,\n NodeExpandKeys,\n onCheck,\n onSelect,\n onExpand,\n handleMouseEnter,\n handleMouseLeave,\n onDragEnter,\n onDrop,\n TreeNodeRender,\n appendTreeNode,\n replaceFields\n } = this;\n return h(\"div\", {\n \"class\": \"DirectoryTreeMenu\"\n }, [h(\"div\", {\n \"class\": \"treeDirectory\"\n }, [h(\"span\", [$attrs.menuTitle || '目录']), treePlus && h(ant_design_vue__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n \"attrs\": {\n \"icon\": \"plus\",\n \"size\": \"small\"\n },\n \"on\": {\n ...{\n click: appendTreeNode\n }\n }\n })]), h(DirectoryTree, {\n \"attrs\": {\n \"draggable\": true,\n \"default-expand-all\": true,\n \"checkedKeys\": NodeCheckedKeys,\n \"selectedKeys\": NodeSelectedKeys,\n \"expandedKeys\": NodeExpandKeys,\n \"expandAction\": \"dblclick\",\n ...$attrs,\n \"tree-node-filter-prop\": \"title\"\n },\n \"class\": \"DirectoryTreeMenu__Tree\",\n \"on\": {\n ...{\n check: onCheck,\n select: onSelect,\n expand: onExpand,\n mouseenter: handleMouseEnter,\n mouseleave: handleMouseLeave,\n dragenter: onDragEnter,\n drop: onDrop\n }\n }\n }, [treeData.map((node, nodeIndex) => TreeNodeRender(node, nodeIndex))])]);\n }\n});\n\n//# sourceURL=webpack://mui/./plugins/lib/tree/Directory.js?");
|
|
8948
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _utils_Tree__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/Tree */ \"./plugins/utils/Tree.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/tree/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/input/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/dropdown/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/icon/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/button/index.js\");\n/* harmony import */ var _style_Directory_less__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./style/Directory.less */ \"./plugins/lib/tree/style/Directory.less\");\n/* harmony import */ var _svgIcon__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../svgIcon */ \"./plugins/lib/svgIcon/index.js\");\n\n\n\n\n\n\n\n/* 明天来了做一下@快捷指向 */\n\nconst TreeNode = ant_design_vue__WEBPACK_IMPORTED_MODULE_4__[\"default\"].TreeNode;\nconst DirectoryTree = ant_design_vue__WEBPACK_IMPORTED_MODULE_4__[\"default\"].DirectoryTree;\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'DirectoryTreeMenu',\n props: {\n treeData: {\n type: Array,\n default: () => []\n },\n treeExpandKeys: {\n type: Array,\n default: () => []\n },\n treePlus: {\n type: Boolean,\n default: true\n },\n treeActions: {\n type: Array,\n default: () => []\n },\n treeActionsPlus: {\n type: Boolean,\n default: true\n },\n replaceFields: {\n type: Object,\n default: () => ({\n children: 'children',\n key: 'id',\n title: 'title'\n })\n }\n },\n data() {\n return {\n NodeCheckedKeys: [],\n NodeSelectedKeys: [],\n NodeExpandKeys: [],\n NodeKey: [],\n NodeActions: null,\n MenuDropdown: false,\n NodeActionsStyle: {}\n };\n },\n mounted() {\n this.onInitTree();\n },\n watch: {\n treeData(newValue, oldValue) {\n this.onInitTree(!oldValue.length);\n },\n treeExpandKeys(newValue) {\n this.NodeExpandKeys = newValue;\n }\n },\n methods: {\n TreeNodeRender(node, nodeIndex, parentNode) {\n const h = this.$createElement;\n const {\n replaceFields,\n NodeActions,\n treeActions,\n NodeActionsStyle,\n NodeExpandKeys,\n NodeKey,\n treeActionsPlus,\n createTreeNode,\n handleMouseLeave,\n handleOperateClick,\n handlePlusClick\n } = this;\n const key = node[replaceFields.key];\n return h(TreeNode, {\n \"key\": key,\n \"class\": \"DirectoryTreeMenu__Node\",\n \"scopedSlots\": {\n title: props => {\n return h(\"div\", {\n \"class\": \"__Title\"\n }, [node.type != 'input' ? h(\"span\", [node[replaceFields.title]]) : h(ant_design_vue__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n \"attrs\": {\n \"placeholder\": \"请输入节点名称\",\n \"default-value\": node[replaceFields.title]\n },\n \"on\": {\n ...{\n blur: ({\n target\n }) => createTreeNode(target, node),\n pressEnter: event => event.target.blur(event, true)\n }\n },\n \"ref\": \"inputNodeRef\"\n }), NodeActions && Boolean(treeActions.length) && NodeKey.includes(props.eventKey) && node.type != 'input' && h(\"div\", {\n \"ref\": \"TreeMenuActions\",\n \"class\": \"DirectoryTreeMenu__Actions\",\n \"on\": {\n ...{\n mouseenter: event => event.stopPropagation()\n }\n }\n }, [h(ant_design_vue__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n \"attrs\": {\n \"trigger\": ['click'],\n \"overlayClassName\": \"DirectoryTreeMenu__Dropdown\"\n }\n }, [h(_svgIcon__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n \"class\": \"ActionsIcons\",\n \"attrs\": {\n \"icon-class\": \"tree-more\"\n },\n \"on\": {\n ...{\n click: e => e.preventDefault()\n }\n }\n }), h(\"div\", {\n \"slot\": \"overlay\",\n \"class\": \"DirectoryTreeMenu__Dropdown__Menu\"\n }, [treeActions.map((handle, i) => {\n return h(\"span\", {\n \"key\": i,\n \"on\": {\n ...{\n // this.$emit('handleOperateClick', handle, NodeActions)\n click: () => handleOperateClick(handle, {\n ...node,\n nodeIndex\n }, parentNode)\n }\n }\n }, [h(_svgIcon__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n \"attrs\": {\n \"icon-class\": handle.svg\n }\n }), \" \", handle.text]);\n })])]), treeActionsPlus && h(_svgIcon__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n \"class\": \"ActionsIcons\",\n \"attrs\": {\n \"icon-class\": \"tree-plus\"\n },\n \"on\": {\n ...{\n click: () => handlePlusClick()\n }\n }\n })])]);\n }\n }\n }, [node[replaceFields.children] && node[replaceFields.children].length && node[replaceFields.children].map((childNode, childNodeIndex) => this.TreeNodeRender(childNode, childNodeIndex, node))]);\n },\n appendTreeNode() {\n this.treeData.push({\n type: 'input',\n append: true,\n [this.replaceFields.key]: new Date().getTime()\n });\n this.$nextTick(() => this.$refs.inputNodeRef.focus());\n },\n createTreeNode({\n value\n }, node) {\n this.$set(node, 'type', 'text');\n this.$emit(`handlePlus${node.append ? 'Add' : 'Update'}`, value, node.append ? node.parentOrgId : node[this.replaceFields.key]);\n const parentNodes = node.parentOrgId ? this.findItemById(this.treeData, node.parentOrgId)[this.replaceFields.children] : this.treeData;\n if (node.append) {\n const i = parentNodes.findIndex(child => child[this.replaceFields.key] == node[this.replaceFields.key]);\n parentNodes.splice(i, 1);\n }\n },\n handleOperateClick(handle, node, parentNode) {\n const key = node[this.replaceFields.key];\n let that = this;\n switch (handle.type) {\n case 'update':\n const updateNode = this.findItemById(this.treeData, key);\n this.$set(updateNode, 'type', 'input');\n this.$nextTick(() => this.$refs.inputNodeRef.focus());\n break;\n case 'copy':\n // 明天来了优化一下\n const cloneNode = parentNode ? parentNode[this.replaceFields.children] : this.treeData;\n cloneNode.splice(node.nodeIndex + 1, 0, {\n type: 'input',\n append: true,\n parentOrgId: parentNode ? parentNode[this.replaceFields.key] : null,\n [this.replaceFields.key]: new Date().getTime(),\n [this.replaceFields.title]: node[this.replaceFields.title]\n });\n this.$nextTick(() => this.$refs.inputNodeRef.focus());\n break;\n case 'delete':\n this.$confirm({\n title: '确定要删除当前节点吗?',\n okText: '确定',\n cancelText: '取消',\n onOk() {\n that.$emit('handleDeleteClick', node);\n console.log('OK');\n },\n onCancel() {\n console.log('Cancel');\n }\n });\n break;\n default:\n this.$emit('handleOperateClick', handle, node);\n break;\n }\n },\n handlePlusClick() {\n const node = this.findItemById(this.treeData, this.NodeActions.id);\n console.log(node, this.NodeActions, '--NodeActions');\n const childNode = node[this.replaceFields.children] ?? [];\n childNode.push({\n type: 'input',\n append: true,\n parentOrgId: this.NodeActions.id,\n [this.replaceFields.key]: new Date().getTime()\n });\n this.NodeExpandKeys.push(this.NodeActions.id);\n node[this.replaceFields.children] = childNode;\n this.$nextTick(() => this.$refs.inputNodeRef.focus());\n console.log(node, '--NodeActions');\n },\n findItemById(treeData, id) {\n for (let i = 0; i < treeData.length; i++) {\n if (treeData[i][this.replaceFields.key] === id) return treeData[i];\n let childNode = treeData[i][this.replaceFields.children];\n if (childNode && childNode.length > 0) {\n const foundItem = this.findItemById(treeData[i][this.replaceFields.children], id);\n if (foundItem) return foundItem;\n }\n }\n },\n onInitTree(treeExpend = true) {\n this.treeData && (this.NodeSelectedKeys = [this.treeData.at(0)?.[this.replaceFields.key]]);\n this.NodeExpandKeys = this.treeExpandKeys.length && this.treeExpandKeys || treeExpend && (0,_utils_Tree__WEBPACK_IMPORTED_MODULE_1__.getTreeKey)(this.treeData, true, this.replaceFields) || [];\n },\n onCheck(keys, {}) {\n this.NodeCheckedKeys = keys;\n this.$emit('onCheck', keys);\n },\n onSelect(keys, {\n nativeEvent,\n node\n }) {\n this.NodeSelectedKeys = keys;\n this.NodeKey = [].concat(this.NodeSelectedKeys);\n this.$emit('onSelect', keys);\n },\n onExpand(expandedKeys, {\n expanded,\n node\n }) {\n this.NodeExpandKeys = [].concat(expandedKeys);\n console.log(expandedKeys, expanded, node, 'Trigger Expand');\n },\n getIcon(props) {\n const h = this.$createElement;\n const {\n isLeaf,\n expanded\n } = props;\n if (isLeaf) {\n return h(ant_design_vue__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n \"attrs\": {\n \"type\": \"home\"\n }\n });\n }\n return h(ant_design_vue__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n \"attrs\": {\n \"type\": expanded ? 'folder-open' : 'folder'\n }\n });\n },\n handleMouseEnter({\n event,\n node\n }) {\n this.NodeActions = {\n id: node._props.eventKey,\n title: node._props.title,\n parentOrgId: node.$parent.eventKey || null\n };\n // this.MenuDropdown = false \n this.NodeKey = [].concat(this.NodeSelectedKeys);\n this.NodeKey.push(node.eventKey);\n // console.log(node, 'handleMouseEnter')\n // 是否加个参数 判断是否处于打开状态\n },\n handleMouseLeave({\n event,\n node\n }) {\n if (this.NodeKey.includes(node.eventKey) && this.NodeSelectedKeys != node.eventKey) {\n const i = this.NodeKey.findIndex(key => key == node.eventKey);\n this.NodeKey.splice(i, 1);\n }\n // this.NodeKey = []\n },\n onDragEnter(node) {\n console.log(node, '--onDragEnter');\n // expandedKeys 需要受控时设置\n // this.expandedKeys = info.expandedKeys\n },\n onDrop(info) {\n const dragKey = info.dragNode.eventKey;\n const dropPos = info.node.pos.split(\"-\");\n // 拖动的位置\n const dropPosition = info.dropPosition - Number(dropPos[dropPos.length - 1]);\n const node = info.node; //目标节点\n const dragNode = info.dragNode; // 拖动节点\n const dropKey = node.eventKey;\n console.log(dragNode, node, '--dropToGap');\n if (dragNode.$parent?.eventKey !== node.$parent?.eventKey || !info.dropToGap) {\n // 阻止跨父级拖拽\n this.$message.warning(\"只能在同级排序\");\n return false;\n }\n const {\n key,\n children\n } = this.replaceFields;\n const loop = (data, eventKey, callback) => {\n data.forEach((node, i, array) => {\n if (node[key] === eventKey) {\n return callback(node, i, array);\n }\n if (node[children]) {\n return loop(node[children], eventKey, callback);\n }\n });\n };\n const data = [...this.treeData];\n let dragObj;\n let dragObjIndex;\n loop(data, dragKey, (node, i, array) => {\n dragObj = node;\n dragObjIndex = i;\n });\n let dropIndex;\n loop(data, dropKey, (node, i, array) => {\n dropIndex = i;\n console.log(node, i, dragObj, dragObjIndex, '--i');\n });\n this.$emit('onDrop', {\n [key]: dragObj[key],\n originalIndex: dragObjIndex,\n presentIndex: dropPosition === -1 ? dropIndex : dropIndex + 1\n });\n }\n },\n render() {\n const h = arguments[0];\n const {\n $attrs,\n treePlus,\n treeData,\n NodeCheckedKeys,\n NodeSelectedKeys,\n NodeExpandKeys,\n onCheck,\n onSelect,\n onExpand,\n handleMouseEnter,\n handleMouseLeave,\n onDragEnter,\n onDrop,\n TreeNodeRender,\n appendTreeNode,\n replaceFields\n } = this;\n return h(\"div\", {\n \"class\": \"DirectoryTreeMenu\"\n }, [h(\"div\", {\n \"class\": \"treeDirectory\"\n }, [h(\"span\", [$attrs.menuTitle || '目录']), treePlus && h(ant_design_vue__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n \"attrs\": {\n \"icon\": \"plus\",\n \"size\": \"small\"\n },\n \"on\": {\n ...{\n click: appendTreeNode\n }\n }\n })]), h(DirectoryTree, {\n \"attrs\": {\n \"draggable\": true,\n \"default-expand-all\": true,\n \"checkedKeys\": NodeCheckedKeys,\n \"selectedKeys\": NodeSelectedKeys,\n \"expandedKeys\": NodeExpandKeys,\n \"expandAction\": \"dblclick\",\n ...$attrs,\n \"tree-node-filter-prop\": \"title\"\n },\n \"class\": \"DirectoryTreeMenu__Tree\",\n \"on\": {\n ...{\n check: onCheck,\n select: onSelect,\n expand: onExpand,\n mouseenter: handleMouseEnter,\n mouseleave: handleMouseLeave,\n dragenter: onDragEnter,\n drop: onDrop\n }\n }\n }, [treeData.map((node, nodeIndex) => TreeNodeRender(node, nodeIndex))])]);\n }\n});\n\n//# sourceURL=webpack://mui/./plugins/lib/tree/Directory.js?");
|
|
8949
8949
|
|
|
8950
8950
|
/***/ }),
|
|
8951
8951
|
|
|
@@ -9164,7 +9164,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _nod
|
|
|
9164
9164
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
9165
9165
|
|
|
9166
9166
|
"use strict";
|
|
9167
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/* 混入样式 */\\n/* 布局( 纯为了不想多写一行 */\\n/* 正方体盒子 */\\n/* 滚动条样式 */\\n/* 文字换行省略(默认1行)*/\\n/* flex布局 */\\n/* flex排版方式 */\\n/* stylelint-disable at-rule-empty-line-before,at-rule-name-space-after,at-rule-no-unknown */\\n/* stylelint-disable no-duplicate-selectors */\\n/* stylelint-disable */\\n/* stylelint-disable declaration-bang-space-before,no-duplicate-selectors,string-no-newline */\\n.DirectoryTreeMenu {\\n height: 100%;\\n padding: 16px;\\n box-sizing: border-box;\\n}\\n.DirectoryTreeMenu__Actions {\\n display: flex;\\n gap: 0 8px;\\n position: relative;\\n}\\n.DirectoryTreeMenu__Actions .ActionsIcons {\\n cursor: pointer;\\n width: 16px;\\n height: 16px;\\n}\\n.DirectoryTreeMenu__Actions .ActionsIcons:focus {\\n outline: none;\\n}\\n.DirectoryTreeMenu .treeDirectory {\\n width: 100%;\\n height: 40px;\\n display: flex;\\n gap: 0;\\n flex-direction: row;\\n flex-wrap: wrap;\\n align-items: center;\\n justify-content: flex-start;\\n}\\n.DirectoryTreeMenu .treeDirectory > span {\\n flex: 1;\\n text-align: left;\\n color: #FFFFFF;\\n font-size: 16px;\\n font-weight: 700;\\n position: relative;\\n padding-left: 12px;\\n box-sizing: border-box;\\n}\\n.DirectoryTreeMenu .treeDirectory > span::after {\\n width: 4px;\\n height: 12px;\\n left: 0;\\n top: calc((100% - 12px) / 2);\\n content: '';\\n position: absolute;\\n background: #1677FF;\\n border-radius: 2px;\\n}\\n.DirectoryTreeMenu .treeDirectory :deep(.ant-btn) {\\n margin-right: 12px;\\n line-height: 16px;\\n border-color: #FFFFFF;\\n width: 16px;\\n height: 16px;\\n display: flex;\\n gap: 0;\\n flex-direction: row;\\n flex-wrap: wrap;\\n align-items: center;\\n justify-content: center;\\n}\\n.DirectoryTreeMenu .treeDirectory :deep(.ant-btn) i {\\n font-size: 11px;\\n color: #FFFFFF;\\n}\\n.DirectoryTreeMenu__Tree {\\n height: calc(100% - 40px);\\n overflow-y: auto;\\n}\\n.DirectoryTreeMenu__Tree::-webkit-scrollbar-track {\\n border-radius: 0;\\n background-color: transparent;\\n}\\n.DirectoryTreeMenu__Tree::-webkit-scrollbar-thumb {\\n border-radius: 0;\\n border-radius: 5px;\\n background-image: -webkit-linear-gradient(270deg, #1890ff 0%, transparent 100%);\\n -webkit-transition: all 0.2s;\\n transition: all 0.2s;\\n}\\n.DirectoryTreeMenu__Tree::-webkit-scrollbar-corner {\\n background-color: transparent;\\n}\\n.DirectoryTreeMenu__Tree::-webkit-scrollbar {\\n width: 6px;\\n height: 56px;\\n}\\n.DirectoryTreeMenu__Tree::-webkit-scrollbar {\\n width: 4px;\\n}\\n.DirectoryTreeMenu__Dropdown__Menu {\\n width: 140px;\\n height: auto;\\n border-radius: 2px;\\n padding: 12px 0;\\n box-sizing: border-box;\\n}\\n.DirectoryTreeMenu__Dropdown__Menu span {\\n display: flex;\\n cursor: pointer;\\n align-items: center;\\n font-size: 14px;\\n margin-bottom: 2px;\\n padding: 0 16px;\\n box-sizing: border-box;\\n width: 100%;\\n height: 26px;\\n}\\n.DirectoryTreeMenu__Dropdown__Menu span:last-child {\\n margin: 0;\\n}\\n.DirectoryTreeMenu__Dropdown__Menu span .svg-icon {\\n margin-right: 8px;\\n width: 16px;\\n height: 16px;\\n}\\n.DirectoryTreeMenu__Node .ant-tree-node-content-wrapper {\\n width: calc(100% - 24px);\\n}\\n.DirectoryTreeMenu__Node .ant-tree-node-content-wrapper .ant-tree-title {\\n display: inline-block;\\n width: calc(100% - 24px);\\n height: 100%;\\n}\\n.DirectoryTreeMenu__Node .ant-tree-node-content-wrapper .ant-tree-title .__Title {\\n gap: 0 8px;\\n width: 100%;\\n height: 100%;\\n display: flex;\\n gap: 0;\\n flex-direction: row;\\n flex-wrap: wrap;\\n align-items: center;\\n justify-content: flex-start;\\n}\\n.DirectoryTreeMenu__Node .ant-tree-node-content-wrapper .ant-tree-title .__Title > span {\\n white-space: normal;\\n width: calc(100% - 56px);\\n text-overflow: -o-ellipsis-lastline;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n display: -webkit-box;\\n -webkit-line-clamp: 1;\\n line-clamp: 1;\\n -webkit-box-orient: vertical;\\n}\\n\", \"\"]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://mui/./plugins/lib/tree/style/Directory.less?./node_modules/css-loader/dist/cjs.js!./node_modules/less-loader/dist/cjs.js??clonedRuleSet-2.use%5B2%5D");
|
|
9167
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/* 混入样式 */\\n/* 布局( 纯为了不想多写一行 */\\n/* 正方体盒子 */\\n/* 滚动条样式 */\\n/* 文字换行省略(默认1行)*/\\n/* flex布局 */\\n/* flex排版方式 */\\n/* stylelint-disable at-rule-empty-line-before,at-rule-name-space-after,at-rule-no-unknown */\\n/* stylelint-disable no-duplicate-selectors */\\n/* stylelint-disable */\\n/* stylelint-disable declaration-bang-space-before,no-duplicate-selectors,string-no-newline */\\n.DirectoryTreeMenu {\\n height: 100%;\\n padding: 16px;\\n box-sizing: border-box;\\n}\\n.DirectoryTreeMenu__Actions {\\n display: flex;\\n gap: 0 8px;\\n position: relative;\\n}\\n.DirectoryTreeMenu__Actions .ActionsIcons {\\n cursor: pointer;\\n width: 16px !important;\\n height: 16px !important;\\n}\\n.DirectoryTreeMenu__Actions .ActionsIcons:focus {\\n outline: none;\\n}\\n.DirectoryTreeMenu .treeDirectory {\\n width: 100%;\\n height: 40px;\\n display: flex;\\n gap: 0;\\n flex-direction: row;\\n flex-wrap: wrap;\\n align-items: center;\\n justify-content: flex-start;\\n}\\n.DirectoryTreeMenu .treeDirectory > span {\\n flex: 1;\\n text-align: left;\\n color: #FFFFFF;\\n font-size: 16px;\\n font-weight: 700;\\n position: relative;\\n padding-left: 12px;\\n box-sizing: border-box;\\n}\\n.DirectoryTreeMenu .treeDirectory > span::after {\\n width: 4px;\\n height: 12px;\\n left: 0;\\n top: calc((100% - 12px) / 2);\\n content: '';\\n position: absolute;\\n background: #1677FF;\\n border-radius: 2px;\\n}\\n.DirectoryTreeMenu .treeDirectory :deep(.ant-btn) {\\n margin-right: 12px;\\n line-height: 16px;\\n border-color: #FFFFFF;\\n width: 16px;\\n height: 16px;\\n display: flex;\\n gap: 0;\\n flex-direction: row;\\n flex-wrap: wrap;\\n align-items: center;\\n justify-content: center;\\n}\\n.DirectoryTreeMenu .treeDirectory :deep(.ant-btn) i {\\n font-size: 11px;\\n color: #FFFFFF;\\n}\\n.DirectoryTreeMenu__Tree {\\n height: calc(100% - 40px);\\n overflow-y: auto;\\n}\\n.DirectoryTreeMenu__Tree::-webkit-scrollbar-track {\\n border-radius: 0;\\n background-color: transparent;\\n}\\n.DirectoryTreeMenu__Tree::-webkit-scrollbar-thumb {\\n border-radius: 0;\\n border-radius: 5px;\\n background-image: -webkit-linear-gradient(270deg, #1890ff 0%, transparent 100%);\\n -webkit-transition: all 0.2s;\\n transition: all 0.2s;\\n}\\n.DirectoryTreeMenu__Tree::-webkit-scrollbar-corner {\\n background-color: transparent;\\n}\\n.DirectoryTreeMenu__Tree::-webkit-scrollbar {\\n width: 6px;\\n height: 56px;\\n}\\n.DirectoryTreeMenu__Tree::-webkit-scrollbar {\\n width: 4px;\\n}\\n.DirectoryTreeMenu__Dropdown__Menu {\\n width: 140px;\\n height: auto;\\n border-radius: 2px;\\n padding: 12px 0;\\n box-sizing: border-box;\\n}\\n.DirectoryTreeMenu__Dropdown__Menu span {\\n display: flex;\\n cursor: pointer;\\n align-items: center;\\n font-size: 14px;\\n margin-bottom: 2px;\\n padding: 0 16px;\\n box-sizing: border-box;\\n width: 100%;\\n height: 26px;\\n}\\n.DirectoryTreeMenu__Dropdown__Menu span:last-child {\\n margin: 0;\\n}\\n.DirectoryTreeMenu__Dropdown__Menu span .svg-icon {\\n margin-right: 8px;\\n width: 16px;\\n height: 16px;\\n}\\n.DirectoryTreeMenu__Node .ant-tree-node-content-wrapper {\\n width: calc(100% - 24px);\\n}\\n.DirectoryTreeMenu__Node .ant-tree-node-content-wrapper .ant-tree-title {\\n display: inline-block;\\n width: calc(100% - 24px);\\n height: 100%;\\n}\\n.DirectoryTreeMenu__Node .ant-tree-node-content-wrapper .ant-tree-title .__Title {\\n gap: 0 8px;\\n width: 100%;\\n height: 100%;\\n display: flex;\\n gap: 0;\\n flex-direction: row;\\n flex-wrap: wrap;\\n align-items: center;\\n justify-content: flex-start;\\n}\\n.DirectoryTreeMenu__Node .ant-tree-node-content-wrapper .ant-tree-title .__Title > span {\\n white-space: normal;\\n width: calc(100% - 56px);\\n text-overflow: -o-ellipsis-lastline;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n display: -webkit-box;\\n -webkit-line-clamp: 1;\\n line-clamp: 1;\\n -webkit-box-orient: vertical;\\n}\\n\", \"\"]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://mui/./plugins/lib/tree/style/Directory.less?./node_modules/css-loader/dist/cjs.js!./node_modules/less-loader/dist/cjs.js??clonedRuleSet-2.use%5B2%5D");
|
|
9168
9168
|
|
|
9169
9169
|
/***/ }),
|
|
9170
9170
|
|
package/dist/index.umd.js
CHANGED
|
@@ -8945,7 +8945,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _ind
|
|
|
8945
8945
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
8946
8946
|
|
|
8947
8947
|
"use strict";
|
|
8948
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _utils_Tree__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/Tree */ \"./plugins/utils/Tree.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/tree/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/input/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/dropdown/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/icon/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/button/index.js\");\n/* harmony import */ var _style_Directory_less__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./style/Directory.less */ \"./plugins/lib/tree/style/Directory.less\");\n\n\n\n\n\n\n/* 明天来了做一下@快捷指向 */\n\nconst TreeNode = ant_design_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"].TreeNode;\nconst DirectoryTree = ant_design_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"].DirectoryTree;\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'DirectoryTreeMenu',\n props: {\n treeData: {\n type: Array,\n default: () => []\n },\n treeExpandKeys: {\n type: Array,\n default: () => []\n },\n treePlus: {\n type: Boolean,\n default: true\n },\n treeActions: {\n type: Array,\n default: () => []\n },\n treeActionsPlus: {\n type: Boolean,\n default: true\n },\n replaceFields: {\n type: Object,\n default: () => ({\n children: 'children',\n key: 'id',\n title: 'title'\n })\n }\n },\n data() {\n return {\n NodeCheckedKeys: [],\n NodeSelectedKeys: [],\n NodeExpandKeys: [],\n NodeKey: [],\n NodeActions: null,\n MenuDropdown: false,\n NodeActionsStyle: {}\n };\n },\n mounted() {\n this.onInitTree();\n },\n watch: {\n treeData(newValue, oldValue) {\n this.onInitTree(!oldValue.length);\n },\n treeExpandKeys(newValue) {\n this.NodeExpandKeys = newValue;\n }\n },\n methods: {\n TreeNodeRender(node, nodeIndex, parentNode) {\n const h = this.$createElement;\n const {\n replaceFields,\n NodeActions,\n treeActions,\n NodeActionsStyle,\n NodeExpandKeys,\n NodeKey,\n treeActionsPlus,\n createTreeNode,\n handleMouseLeave,\n handleOperateClick,\n handlePlusClick\n } = this;\n const key = node[replaceFields.key];\n return h(TreeNode, {\n \"key\": key,\n \"class\": \"DirectoryTreeMenu__Node\",\n \"scopedSlots\": {\n title: props => {\n return h(\"div\", {\n \"class\": \"__Title\"\n }, [node.type != 'input' ? h(\"span\", [node[replaceFields.title]]) : h(ant_design_vue__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n \"attrs\": {\n \"placeholder\": \"请输入节点名称\",\n \"default-value\": node[replaceFields.title]\n },\n \"on\": {\n ...{\n blur: ({\n target\n }) => createTreeNode(target, node),\n pressEnter: event => event.target.blur(event, true)\n }\n },\n \"ref\": \"inputNodeRef\"\n }), NodeActions && Boolean(treeActions.length) && NodeKey.includes(props.eventKey) && node.type != 'input' && h(\"div\", {\n \"ref\": \"TreeMenuActions\",\n \"class\": \"DirectoryTreeMenu__Actions\",\n \"on\": {\n ...{\n mouseenter: event => event.stopPropagation()\n }\n }\n }, [h(ant_design_vue__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n \"attrs\": {\n \"trigger\": ['click'],\n \"overlayClassName\": \"DirectoryTreeMenu__Dropdown\"\n }\n }, [h(\"svg-icon\", {\n \"class\": \"ActionsIcons\",\n \"attrs\": {\n \"icon-class\": \"tree-more\"\n },\n \"on\": {\n ...{\n click: e => e.preventDefault()\n }\n }\n }), h(\"div\", {\n \"slot\": \"overlay\",\n \"class\": \"DirectoryTreeMenu__Dropdown__Menu\"\n }, [treeActions.map((handle, i) => {\n return h(\"span\", {\n \"key\": i,\n \"on\": {\n ...{\n // this.$emit('handleOperateClick', handle, NodeActions)\n click: () => handleOperateClick(handle, {\n ...node,\n nodeIndex\n }, parentNode)\n }\n }\n }, [h(\"svg-icon\", {\n \"attrs\": {\n \"icon-class\": handle.svg\n }\n }), \" \", handle.text]);\n })])]), treeActionsPlus && h(\"svg-icon\", {\n \"class\": \"ActionsIcons\",\n \"attrs\": {\n \"icon-class\": \"tree-plus\"\n },\n \"on\": {\n ...{\n click: () => handlePlusClick()\n }\n }\n })])]);\n }\n }\n }, [node[replaceFields.children] && node[replaceFields.children].length && node[replaceFields.children].map((childNode, childNodeIndex) => this.TreeNodeRender(childNode, childNodeIndex, node))]);\n },\n appendTreeNode() {\n this.treeData.push({\n type: 'input',\n append: true,\n [this.replaceFields.key]: new Date().getTime()\n });\n this.$nextTick(() => this.$refs.inputNodeRef.focus());\n },\n createTreeNode({\n value\n }, node) {\n this.$set(node, 'type', 'text');\n this.$emit(`handlePlus${node.append ? 'Add' : 'Update'}`, value, node.append ? node.parentOrgId : node[this.replaceFields.key]);\n const parentNodes = node.parentOrgId ? this.findItemById(this.treeData, node.parentOrgId)[this.replaceFields.children] : this.treeData;\n if (node.append) {\n const i = parentNodes.findIndex(child => child[this.replaceFields.key] == node[this.replaceFields.key]);\n parentNodes.splice(i, 1);\n }\n },\n handleOperateClick(handle, node, parentNode) {\n const key = node[this.replaceFields.key];\n let that = this;\n switch (handle.type) {\n case 'update':\n const updateNode = this.findItemById(this.treeData, key);\n this.$set(updateNode, 'type', 'input');\n this.$nextTick(() => this.$refs.inputNodeRef.focus());\n break;\n case 'copy':\n // 明天来了优化一下\n const cloneNode = parentNode ? parentNode[this.replaceFields.children] : this.treeData;\n cloneNode.splice(node.nodeIndex + 1, 0, {\n type: 'input',\n append: true,\n parentOrgId: parentNode ? parentNode[this.replaceFields.key] : null,\n [this.replaceFields.key]: new Date().getTime(),\n [this.replaceFields.title]: node[this.replaceFields.title]\n });\n this.$nextTick(() => this.$refs.inputNodeRef.focus());\n break;\n case 'delete':\n this.$confirm({\n title: '确定要删除当前节点吗?',\n okText: '确定',\n cancelText: '取消',\n onOk() {\n that.$emit('handleDeleteClick', node);\n console.log('OK');\n },\n onCancel() {\n console.log('Cancel');\n }\n });\n break;\n default:\n this.$emit('handleOperateClick', handle, node);\n break;\n }\n },\n handlePlusClick() {\n const node = this.findItemById(this.treeData, this.NodeActions.id);\n console.log(node, this.NodeActions, '--NodeActions');\n const childNode = node[this.replaceFields.children] ?? [];\n childNode.push({\n type: 'input',\n append: true,\n parentOrgId: this.NodeActions.id,\n [this.replaceFields.key]: new Date().getTime()\n });\n this.NodeExpandKeys.push(this.NodeActions.id);\n node[this.replaceFields.children] = childNode;\n this.$nextTick(() => this.$refs.inputNodeRef.focus());\n console.log(node, '--NodeActions');\n },\n findItemById(treeData, id) {\n for (let i = 0; i < treeData.length; i++) {\n if (treeData[i][this.replaceFields.key] === id) return treeData[i];\n let childNode = treeData[i][this.replaceFields.children];\n if (childNode && childNode.length > 0) {\n const foundItem = this.findItemById(treeData[i][this.replaceFields.children], id);\n if (foundItem) return foundItem;\n }\n }\n },\n onInitTree(treeExpend = true) {\n this.treeData && (this.NodeSelectedKeys = [this.treeData.at(0)?.[this.replaceFields.key]]);\n this.NodeExpandKeys = this.treeExpandKeys.length && this.treeExpandKeys || treeExpend && (0,_utils_Tree__WEBPACK_IMPORTED_MODULE_1__.getTreeKey)(this.treeData, true, this.replaceFields) || [];\n },\n onCheck(keys, {}) {\n this.NodeCheckedKeys = keys;\n this.$emit('onCheck', keys);\n },\n onSelect(keys, {\n nativeEvent,\n node\n }) {\n this.NodeSelectedKeys = keys;\n this.NodeKey = [].concat(this.NodeSelectedKeys);\n this.$emit('onSelect', keys);\n },\n onExpand(expandedKeys, {\n expanded,\n node\n }) {\n this.NodeExpandKeys = [].concat(expandedKeys);\n console.log(expandedKeys, expanded, node, 'Trigger Expand');\n },\n getIcon(props) {\n const h = this.$createElement;\n const {\n isLeaf,\n expanded\n } = props;\n if (isLeaf) {\n return h(ant_design_vue__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n \"attrs\": {\n \"type\": \"home\"\n }\n });\n }\n return h(ant_design_vue__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n \"attrs\": {\n \"type\": expanded ? 'folder-open' : 'folder'\n }\n });\n },\n handleMouseEnter({\n event,\n node\n }) {\n this.NodeActions = {\n id: node._props.eventKey,\n title: node._props.title,\n parentOrgId: node.$parent.eventKey || null\n };\n // this.MenuDropdown = false \n this.NodeKey = [].concat(this.NodeSelectedKeys);\n this.NodeKey.push(node.eventKey);\n // console.log(node, 'handleMouseEnter')\n // 是否加个参数 判断是否处于打开状态\n },\n handleMouseLeave({\n event,\n node\n }) {\n if (this.NodeKey.includes(node.eventKey) && this.NodeSelectedKeys != node.eventKey) {\n const i = this.NodeKey.findIndex(key => key == node.eventKey);\n this.NodeKey.splice(i, 1);\n }\n // this.NodeKey = []\n },\n onDragEnter(node) {\n console.log(node, '--onDragEnter');\n // expandedKeys 需要受控时设置\n // this.expandedKeys = info.expandedKeys\n },\n onDrop(info) {\n const dragKey = info.dragNode.eventKey;\n const dropPos = info.node.pos.split(\"-\");\n // 拖动的位置\n const dropPosition = info.dropPosition - Number(dropPos[dropPos.length - 1]);\n const node = info.node; //目标节点\n const dragNode = info.dragNode; // 拖动节点\n const dropKey = node.eventKey;\n console.log(dragNode, node, '--dropToGap');\n if (dragNode.$parent?.eventKey !== node.$parent?.eventKey || !info.dropToGap) {\n // 阻止跨父级拖拽\n this.$message.warning(\"只能在同级排序\");\n return false;\n }\n const {\n key,\n children\n } = this.replaceFields;\n const loop = (data, eventKey, callback) => {\n data.forEach((node, i, array) => {\n if (node[key] === eventKey) {\n return callback(node, i, array);\n }\n if (node[children]) {\n return loop(node[children], eventKey, callback);\n }\n });\n };\n const data = [...this.treeData];\n let dragObj;\n let dragObjIndex;\n loop(data, dragKey, (node, i, array) => {\n dragObj = node;\n dragObjIndex = i;\n });\n let dropIndex;\n loop(data, dropKey, (node, i, array) => {\n dropIndex = i;\n console.log(node, i, dragObj, dragObjIndex, '--i');\n });\n this.$emit('onDrop', {\n [key]: dragObj[key],\n originalIndex: dragObjIndex,\n presentIndex: dropPosition === -1 ? dropIndex : dropIndex + 1\n });\n }\n },\n render() {\n const h = arguments[0];\n const {\n $attrs,\n treePlus,\n treeData,\n NodeCheckedKeys,\n NodeSelectedKeys,\n NodeExpandKeys,\n onCheck,\n onSelect,\n onExpand,\n handleMouseEnter,\n handleMouseLeave,\n onDragEnter,\n onDrop,\n TreeNodeRender,\n appendTreeNode,\n replaceFields\n } = this;\n return h(\"div\", {\n \"class\": \"DirectoryTreeMenu\"\n }, [h(\"div\", {\n \"class\": \"treeDirectory\"\n }, [h(\"span\", [$attrs.menuTitle || '目录']), treePlus && h(ant_design_vue__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n \"attrs\": {\n \"icon\": \"plus\",\n \"size\": \"small\"\n },\n \"on\": {\n ...{\n click: appendTreeNode\n }\n }\n })]), h(DirectoryTree, {\n \"attrs\": {\n \"draggable\": true,\n \"default-expand-all\": true,\n \"checkedKeys\": NodeCheckedKeys,\n \"selectedKeys\": NodeSelectedKeys,\n \"expandedKeys\": NodeExpandKeys,\n \"expandAction\": \"dblclick\",\n ...$attrs,\n \"tree-node-filter-prop\": \"title\"\n },\n \"class\": \"DirectoryTreeMenu__Tree\",\n \"on\": {\n ...{\n check: onCheck,\n select: onSelect,\n expand: onExpand,\n mouseenter: handleMouseEnter,\n mouseleave: handleMouseLeave,\n dragenter: onDragEnter,\n drop: onDrop\n }\n }\n }, [treeData.map((node, nodeIndex) => TreeNodeRender(node, nodeIndex))])]);\n }\n});\n\n//# sourceURL=webpack://mui/./plugins/lib/tree/Directory.js?");
|
|
8948
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _utils_Tree__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/Tree */ \"./plugins/utils/Tree.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/tree/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/input/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/dropdown/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/icon/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/button/index.js\");\n/* harmony import */ var _style_Directory_less__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./style/Directory.less */ \"./plugins/lib/tree/style/Directory.less\");\n/* harmony import */ var _svgIcon__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../svgIcon */ \"./plugins/lib/svgIcon/index.js\");\n\n\n\n\n\n\n\n/* 明天来了做一下@快捷指向 */\n\nconst TreeNode = ant_design_vue__WEBPACK_IMPORTED_MODULE_4__[\"default\"].TreeNode;\nconst DirectoryTree = ant_design_vue__WEBPACK_IMPORTED_MODULE_4__[\"default\"].DirectoryTree;\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'DirectoryTreeMenu',\n props: {\n treeData: {\n type: Array,\n default: () => []\n },\n treeExpandKeys: {\n type: Array,\n default: () => []\n },\n treePlus: {\n type: Boolean,\n default: true\n },\n treeActions: {\n type: Array,\n default: () => []\n },\n treeActionsPlus: {\n type: Boolean,\n default: true\n },\n replaceFields: {\n type: Object,\n default: () => ({\n children: 'children',\n key: 'id',\n title: 'title'\n })\n }\n },\n data() {\n return {\n NodeCheckedKeys: [],\n NodeSelectedKeys: [],\n NodeExpandKeys: [],\n NodeKey: [],\n NodeActions: null,\n MenuDropdown: false,\n NodeActionsStyle: {}\n };\n },\n mounted() {\n this.onInitTree();\n },\n watch: {\n treeData(newValue, oldValue) {\n this.onInitTree(!oldValue.length);\n },\n treeExpandKeys(newValue) {\n this.NodeExpandKeys = newValue;\n }\n },\n methods: {\n TreeNodeRender(node, nodeIndex, parentNode) {\n const h = this.$createElement;\n const {\n replaceFields,\n NodeActions,\n treeActions,\n NodeActionsStyle,\n NodeExpandKeys,\n NodeKey,\n treeActionsPlus,\n createTreeNode,\n handleMouseLeave,\n handleOperateClick,\n handlePlusClick\n } = this;\n const key = node[replaceFields.key];\n return h(TreeNode, {\n \"key\": key,\n \"class\": \"DirectoryTreeMenu__Node\",\n \"scopedSlots\": {\n title: props => {\n return h(\"div\", {\n \"class\": \"__Title\"\n }, [node.type != 'input' ? h(\"span\", [node[replaceFields.title]]) : h(ant_design_vue__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n \"attrs\": {\n \"placeholder\": \"请输入节点名称\",\n \"default-value\": node[replaceFields.title]\n },\n \"on\": {\n ...{\n blur: ({\n target\n }) => createTreeNode(target, node),\n pressEnter: event => event.target.blur(event, true)\n }\n },\n \"ref\": \"inputNodeRef\"\n }), NodeActions && Boolean(treeActions.length) && NodeKey.includes(props.eventKey) && node.type != 'input' && h(\"div\", {\n \"ref\": \"TreeMenuActions\",\n \"class\": \"DirectoryTreeMenu__Actions\",\n \"on\": {\n ...{\n mouseenter: event => event.stopPropagation()\n }\n }\n }, [h(ant_design_vue__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n \"attrs\": {\n \"trigger\": ['click'],\n \"overlayClassName\": \"DirectoryTreeMenu__Dropdown\"\n }\n }, [h(_svgIcon__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n \"class\": \"ActionsIcons\",\n \"attrs\": {\n \"icon-class\": \"tree-more\"\n },\n \"on\": {\n ...{\n click: e => e.preventDefault()\n }\n }\n }), h(\"div\", {\n \"slot\": \"overlay\",\n \"class\": \"DirectoryTreeMenu__Dropdown__Menu\"\n }, [treeActions.map((handle, i) => {\n return h(\"span\", {\n \"key\": i,\n \"on\": {\n ...{\n // this.$emit('handleOperateClick', handle, NodeActions)\n click: () => handleOperateClick(handle, {\n ...node,\n nodeIndex\n }, parentNode)\n }\n }\n }, [h(_svgIcon__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n \"attrs\": {\n \"icon-class\": handle.svg\n }\n }), \" \", handle.text]);\n })])]), treeActionsPlus && h(_svgIcon__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n \"class\": \"ActionsIcons\",\n \"attrs\": {\n \"icon-class\": \"tree-plus\"\n },\n \"on\": {\n ...{\n click: () => handlePlusClick()\n }\n }\n })])]);\n }\n }\n }, [node[replaceFields.children] && node[replaceFields.children].length && node[replaceFields.children].map((childNode, childNodeIndex) => this.TreeNodeRender(childNode, childNodeIndex, node))]);\n },\n appendTreeNode() {\n this.treeData.push({\n type: 'input',\n append: true,\n [this.replaceFields.key]: new Date().getTime()\n });\n this.$nextTick(() => this.$refs.inputNodeRef.focus());\n },\n createTreeNode({\n value\n }, node) {\n this.$set(node, 'type', 'text');\n this.$emit(`handlePlus${node.append ? 'Add' : 'Update'}`, value, node.append ? node.parentOrgId : node[this.replaceFields.key]);\n const parentNodes = node.parentOrgId ? this.findItemById(this.treeData, node.parentOrgId)[this.replaceFields.children] : this.treeData;\n if (node.append) {\n const i = parentNodes.findIndex(child => child[this.replaceFields.key] == node[this.replaceFields.key]);\n parentNodes.splice(i, 1);\n }\n },\n handleOperateClick(handle, node, parentNode) {\n const key = node[this.replaceFields.key];\n let that = this;\n switch (handle.type) {\n case 'update':\n const updateNode = this.findItemById(this.treeData, key);\n this.$set(updateNode, 'type', 'input');\n this.$nextTick(() => this.$refs.inputNodeRef.focus());\n break;\n case 'copy':\n // 明天来了优化一下\n const cloneNode = parentNode ? parentNode[this.replaceFields.children] : this.treeData;\n cloneNode.splice(node.nodeIndex + 1, 0, {\n type: 'input',\n append: true,\n parentOrgId: parentNode ? parentNode[this.replaceFields.key] : null,\n [this.replaceFields.key]: new Date().getTime(),\n [this.replaceFields.title]: node[this.replaceFields.title]\n });\n this.$nextTick(() => this.$refs.inputNodeRef.focus());\n break;\n case 'delete':\n this.$confirm({\n title: '确定要删除当前节点吗?',\n okText: '确定',\n cancelText: '取消',\n onOk() {\n that.$emit('handleDeleteClick', node);\n console.log('OK');\n },\n onCancel() {\n console.log('Cancel');\n }\n });\n break;\n default:\n this.$emit('handleOperateClick', handle, node);\n break;\n }\n },\n handlePlusClick() {\n const node = this.findItemById(this.treeData, this.NodeActions.id);\n console.log(node, this.NodeActions, '--NodeActions');\n const childNode = node[this.replaceFields.children] ?? [];\n childNode.push({\n type: 'input',\n append: true,\n parentOrgId: this.NodeActions.id,\n [this.replaceFields.key]: new Date().getTime()\n });\n this.NodeExpandKeys.push(this.NodeActions.id);\n node[this.replaceFields.children] = childNode;\n this.$nextTick(() => this.$refs.inputNodeRef.focus());\n console.log(node, '--NodeActions');\n },\n findItemById(treeData, id) {\n for (let i = 0; i < treeData.length; i++) {\n if (treeData[i][this.replaceFields.key] === id) return treeData[i];\n let childNode = treeData[i][this.replaceFields.children];\n if (childNode && childNode.length > 0) {\n const foundItem = this.findItemById(treeData[i][this.replaceFields.children], id);\n if (foundItem) return foundItem;\n }\n }\n },\n onInitTree(treeExpend = true) {\n this.treeData && (this.NodeSelectedKeys = [this.treeData.at(0)?.[this.replaceFields.key]]);\n this.NodeExpandKeys = this.treeExpandKeys.length && this.treeExpandKeys || treeExpend && (0,_utils_Tree__WEBPACK_IMPORTED_MODULE_1__.getTreeKey)(this.treeData, true, this.replaceFields) || [];\n },\n onCheck(keys, {}) {\n this.NodeCheckedKeys = keys;\n this.$emit('onCheck', keys);\n },\n onSelect(keys, {\n nativeEvent,\n node\n }) {\n this.NodeSelectedKeys = keys;\n this.NodeKey = [].concat(this.NodeSelectedKeys);\n this.$emit('onSelect', keys);\n },\n onExpand(expandedKeys, {\n expanded,\n node\n }) {\n this.NodeExpandKeys = [].concat(expandedKeys);\n console.log(expandedKeys, expanded, node, 'Trigger Expand');\n },\n getIcon(props) {\n const h = this.$createElement;\n const {\n isLeaf,\n expanded\n } = props;\n if (isLeaf) {\n return h(ant_design_vue__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n \"attrs\": {\n \"type\": \"home\"\n }\n });\n }\n return h(ant_design_vue__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n \"attrs\": {\n \"type\": expanded ? 'folder-open' : 'folder'\n }\n });\n },\n handleMouseEnter({\n event,\n node\n }) {\n this.NodeActions = {\n id: node._props.eventKey,\n title: node._props.title,\n parentOrgId: node.$parent.eventKey || null\n };\n // this.MenuDropdown = false \n this.NodeKey = [].concat(this.NodeSelectedKeys);\n this.NodeKey.push(node.eventKey);\n // console.log(node, 'handleMouseEnter')\n // 是否加个参数 判断是否处于打开状态\n },\n handleMouseLeave({\n event,\n node\n }) {\n if (this.NodeKey.includes(node.eventKey) && this.NodeSelectedKeys != node.eventKey) {\n const i = this.NodeKey.findIndex(key => key == node.eventKey);\n this.NodeKey.splice(i, 1);\n }\n // this.NodeKey = []\n },\n onDragEnter(node) {\n console.log(node, '--onDragEnter');\n // expandedKeys 需要受控时设置\n // this.expandedKeys = info.expandedKeys\n },\n onDrop(info) {\n const dragKey = info.dragNode.eventKey;\n const dropPos = info.node.pos.split(\"-\");\n // 拖动的位置\n const dropPosition = info.dropPosition - Number(dropPos[dropPos.length - 1]);\n const node = info.node; //目标节点\n const dragNode = info.dragNode; // 拖动节点\n const dropKey = node.eventKey;\n console.log(dragNode, node, '--dropToGap');\n if (dragNode.$parent?.eventKey !== node.$parent?.eventKey || !info.dropToGap) {\n // 阻止跨父级拖拽\n this.$message.warning(\"只能在同级排序\");\n return false;\n }\n const {\n key,\n children\n } = this.replaceFields;\n const loop = (data, eventKey, callback) => {\n data.forEach((node, i, array) => {\n if (node[key] === eventKey) {\n return callback(node, i, array);\n }\n if (node[children]) {\n return loop(node[children], eventKey, callback);\n }\n });\n };\n const data = [...this.treeData];\n let dragObj;\n let dragObjIndex;\n loop(data, dragKey, (node, i, array) => {\n dragObj = node;\n dragObjIndex = i;\n });\n let dropIndex;\n loop(data, dropKey, (node, i, array) => {\n dropIndex = i;\n console.log(node, i, dragObj, dragObjIndex, '--i');\n });\n this.$emit('onDrop', {\n [key]: dragObj[key],\n originalIndex: dragObjIndex,\n presentIndex: dropPosition === -1 ? dropIndex : dropIndex + 1\n });\n }\n },\n render() {\n const h = arguments[0];\n const {\n $attrs,\n treePlus,\n treeData,\n NodeCheckedKeys,\n NodeSelectedKeys,\n NodeExpandKeys,\n onCheck,\n onSelect,\n onExpand,\n handleMouseEnter,\n handleMouseLeave,\n onDragEnter,\n onDrop,\n TreeNodeRender,\n appendTreeNode,\n replaceFields\n } = this;\n return h(\"div\", {\n \"class\": \"DirectoryTreeMenu\"\n }, [h(\"div\", {\n \"class\": \"treeDirectory\"\n }, [h(\"span\", [$attrs.menuTitle || '目录']), treePlus && h(ant_design_vue__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n \"attrs\": {\n \"icon\": \"plus\",\n \"size\": \"small\"\n },\n \"on\": {\n ...{\n click: appendTreeNode\n }\n }\n })]), h(DirectoryTree, {\n \"attrs\": {\n \"draggable\": true,\n \"default-expand-all\": true,\n \"checkedKeys\": NodeCheckedKeys,\n \"selectedKeys\": NodeSelectedKeys,\n \"expandedKeys\": NodeExpandKeys,\n \"expandAction\": \"dblclick\",\n ...$attrs,\n \"tree-node-filter-prop\": \"title\"\n },\n \"class\": \"DirectoryTreeMenu__Tree\",\n \"on\": {\n ...{\n check: onCheck,\n select: onSelect,\n expand: onExpand,\n mouseenter: handleMouseEnter,\n mouseleave: handleMouseLeave,\n dragenter: onDragEnter,\n drop: onDrop\n }\n }\n }, [treeData.map((node, nodeIndex) => TreeNodeRender(node, nodeIndex))])]);\n }\n});\n\n//# sourceURL=webpack://mui/./plugins/lib/tree/Directory.js?");
|
|
8949
8949
|
|
|
8950
8950
|
/***/ }),
|
|
8951
8951
|
|
|
@@ -9164,7 +9164,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _nod
|
|
|
9164
9164
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
9165
9165
|
|
|
9166
9166
|
"use strict";
|
|
9167
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/* 混入样式 */\\n/* 布局( 纯为了不想多写一行 */\\n/* 正方体盒子 */\\n/* 滚动条样式 */\\n/* 文字换行省略(默认1行)*/\\n/* flex布局 */\\n/* flex排版方式 */\\n/* stylelint-disable at-rule-empty-line-before,at-rule-name-space-after,at-rule-no-unknown */\\n/* stylelint-disable no-duplicate-selectors */\\n/* stylelint-disable */\\n/* stylelint-disable declaration-bang-space-before,no-duplicate-selectors,string-no-newline */\\n.DirectoryTreeMenu {\\n height: 100%;\\n padding: 16px;\\n box-sizing: border-box;\\n}\\n.DirectoryTreeMenu__Actions {\\n display: flex;\\n gap: 0 8px;\\n position: relative;\\n}\\n.DirectoryTreeMenu__Actions .ActionsIcons {\\n cursor: pointer;\\n width: 16px;\\n height: 16px;\\n}\\n.DirectoryTreeMenu__Actions .ActionsIcons:focus {\\n outline: none;\\n}\\n.DirectoryTreeMenu .treeDirectory {\\n width: 100%;\\n height: 40px;\\n display: flex;\\n gap: 0;\\n flex-direction: row;\\n flex-wrap: wrap;\\n align-items: center;\\n justify-content: flex-start;\\n}\\n.DirectoryTreeMenu .treeDirectory > span {\\n flex: 1;\\n text-align: left;\\n color: #FFFFFF;\\n font-size: 16px;\\n font-weight: 700;\\n position: relative;\\n padding-left: 12px;\\n box-sizing: border-box;\\n}\\n.DirectoryTreeMenu .treeDirectory > span::after {\\n width: 4px;\\n height: 12px;\\n left: 0;\\n top: calc((100% - 12px) / 2);\\n content: '';\\n position: absolute;\\n background: #1677FF;\\n border-radius: 2px;\\n}\\n.DirectoryTreeMenu .treeDirectory :deep(.ant-btn) {\\n margin-right: 12px;\\n line-height: 16px;\\n border-color: #FFFFFF;\\n width: 16px;\\n height: 16px;\\n display: flex;\\n gap: 0;\\n flex-direction: row;\\n flex-wrap: wrap;\\n align-items: center;\\n justify-content: center;\\n}\\n.DirectoryTreeMenu .treeDirectory :deep(.ant-btn) i {\\n font-size: 11px;\\n color: #FFFFFF;\\n}\\n.DirectoryTreeMenu__Tree {\\n height: calc(100% - 40px);\\n overflow-y: auto;\\n}\\n.DirectoryTreeMenu__Tree::-webkit-scrollbar-track {\\n border-radius: 0;\\n background-color: transparent;\\n}\\n.DirectoryTreeMenu__Tree::-webkit-scrollbar-thumb {\\n border-radius: 0;\\n border-radius: 5px;\\n background-image: -webkit-linear-gradient(270deg, #1890ff 0%, transparent 100%);\\n -webkit-transition: all 0.2s;\\n transition: all 0.2s;\\n}\\n.DirectoryTreeMenu__Tree::-webkit-scrollbar-corner {\\n background-color: transparent;\\n}\\n.DirectoryTreeMenu__Tree::-webkit-scrollbar {\\n width: 6px;\\n height: 56px;\\n}\\n.DirectoryTreeMenu__Tree::-webkit-scrollbar {\\n width: 4px;\\n}\\n.DirectoryTreeMenu__Dropdown__Menu {\\n width: 140px;\\n height: auto;\\n border-radius: 2px;\\n padding: 12px 0;\\n box-sizing: border-box;\\n}\\n.DirectoryTreeMenu__Dropdown__Menu span {\\n display: flex;\\n cursor: pointer;\\n align-items: center;\\n font-size: 14px;\\n margin-bottom: 2px;\\n padding: 0 16px;\\n box-sizing: border-box;\\n width: 100%;\\n height: 26px;\\n}\\n.DirectoryTreeMenu__Dropdown__Menu span:last-child {\\n margin: 0;\\n}\\n.DirectoryTreeMenu__Dropdown__Menu span .svg-icon {\\n margin-right: 8px;\\n width: 16px;\\n height: 16px;\\n}\\n.DirectoryTreeMenu__Node .ant-tree-node-content-wrapper {\\n width: calc(100% - 24px);\\n}\\n.DirectoryTreeMenu__Node .ant-tree-node-content-wrapper .ant-tree-title {\\n display: inline-block;\\n width: calc(100% - 24px);\\n height: 100%;\\n}\\n.DirectoryTreeMenu__Node .ant-tree-node-content-wrapper .ant-tree-title .__Title {\\n gap: 0 8px;\\n width: 100%;\\n height: 100%;\\n display: flex;\\n gap: 0;\\n flex-direction: row;\\n flex-wrap: wrap;\\n align-items: center;\\n justify-content: flex-start;\\n}\\n.DirectoryTreeMenu__Node .ant-tree-node-content-wrapper .ant-tree-title .__Title > span {\\n white-space: normal;\\n width: calc(100% - 56px);\\n text-overflow: -o-ellipsis-lastline;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n display: -webkit-box;\\n -webkit-line-clamp: 1;\\n line-clamp: 1;\\n -webkit-box-orient: vertical;\\n}\\n\", \"\"]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://mui/./plugins/lib/tree/style/Directory.less?./node_modules/css-loader/dist/cjs.js!./node_modules/less-loader/dist/cjs.js??clonedRuleSet-2.use%5B2%5D");
|
|
9167
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/* 混入样式 */\\n/* 布局( 纯为了不想多写一行 */\\n/* 正方体盒子 */\\n/* 滚动条样式 */\\n/* 文字换行省略(默认1行)*/\\n/* flex布局 */\\n/* flex排版方式 */\\n/* stylelint-disable at-rule-empty-line-before,at-rule-name-space-after,at-rule-no-unknown */\\n/* stylelint-disable no-duplicate-selectors */\\n/* stylelint-disable */\\n/* stylelint-disable declaration-bang-space-before,no-duplicate-selectors,string-no-newline */\\n.DirectoryTreeMenu {\\n height: 100%;\\n padding: 16px;\\n box-sizing: border-box;\\n}\\n.DirectoryTreeMenu__Actions {\\n display: flex;\\n gap: 0 8px;\\n position: relative;\\n}\\n.DirectoryTreeMenu__Actions .ActionsIcons {\\n cursor: pointer;\\n width: 16px !important;\\n height: 16px !important;\\n}\\n.DirectoryTreeMenu__Actions .ActionsIcons:focus {\\n outline: none;\\n}\\n.DirectoryTreeMenu .treeDirectory {\\n width: 100%;\\n height: 40px;\\n display: flex;\\n gap: 0;\\n flex-direction: row;\\n flex-wrap: wrap;\\n align-items: center;\\n justify-content: flex-start;\\n}\\n.DirectoryTreeMenu .treeDirectory > span {\\n flex: 1;\\n text-align: left;\\n color: #FFFFFF;\\n font-size: 16px;\\n font-weight: 700;\\n position: relative;\\n padding-left: 12px;\\n box-sizing: border-box;\\n}\\n.DirectoryTreeMenu .treeDirectory > span::after {\\n width: 4px;\\n height: 12px;\\n left: 0;\\n top: calc((100% - 12px) / 2);\\n content: '';\\n position: absolute;\\n background: #1677FF;\\n border-radius: 2px;\\n}\\n.DirectoryTreeMenu .treeDirectory :deep(.ant-btn) {\\n margin-right: 12px;\\n line-height: 16px;\\n border-color: #FFFFFF;\\n width: 16px;\\n height: 16px;\\n display: flex;\\n gap: 0;\\n flex-direction: row;\\n flex-wrap: wrap;\\n align-items: center;\\n justify-content: center;\\n}\\n.DirectoryTreeMenu .treeDirectory :deep(.ant-btn) i {\\n font-size: 11px;\\n color: #FFFFFF;\\n}\\n.DirectoryTreeMenu__Tree {\\n height: calc(100% - 40px);\\n overflow-y: auto;\\n}\\n.DirectoryTreeMenu__Tree::-webkit-scrollbar-track {\\n border-radius: 0;\\n background-color: transparent;\\n}\\n.DirectoryTreeMenu__Tree::-webkit-scrollbar-thumb {\\n border-radius: 0;\\n border-radius: 5px;\\n background-image: -webkit-linear-gradient(270deg, #1890ff 0%, transparent 100%);\\n -webkit-transition: all 0.2s;\\n transition: all 0.2s;\\n}\\n.DirectoryTreeMenu__Tree::-webkit-scrollbar-corner {\\n background-color: transparent;\\n}\\n.DirectoryTreeMenu__Tree::-webkit-scrollbar {\\n width: 6px;\\n height: 56px;\\n}\\n.DirectoryTreeMenu__Tree::-webkit-scrollbar {\\n width: 4px;\\n}\\n.DirectoryTreeMenu__Dropdown__Menu {\\n width: 140px;\\n height: auto;\\n border-radius: 2px;\\n padding: 12px 0;\\n box-sizing: border-box;\\n}\\n.DirectoryTreeMenu__Dropdown__Menu span {\\n display: flex;\\n cursor: pointer;\\n align-items: center;\\n font-size: 14px;\\n margin-bottom: 2px;\\n padding: 0 16px;\\n box-sizing: border-box;\\n width: 100%;\\n height: 26px;\\n}\\n.DirectoryTreeMenu__Dropdown__Menu span:last-child {\\n margin: 0;\\n}\\n.DirectoryTreeMenu__Dropdown__Menu span .svg-icon {\\n margin-right: 8px;\\n width: 16px;\\n height: 16px;\\n}\\n.DirectoryTreeMenu__Node .ant-tree-node-content-wrapper {\\n width: calc(100% - 24px);\\n}\\n.DirectoryTreeMenu__Node .ant-tree-node-content-wrapper .ant-tree-title {\\n display: inline-block;\\n width: calc(100% - 24px);\\n height: 100%;\\n}\\n.DirectoryTreeMenu__Node .ant-tree-node-content-wrapper .ant-tree-title .__Title {\\n gap: 0 8px;\\n width: 100%;\\n height: 100%;\\n display: flex;\\n gap: 0;\\n flex-direction: row;\\n flex-wrap: wrap;\\n align-items: center;\\n justify-content: flex-start;\\n}\\n.DirectoryTreeMenu__Node .ant-tree-node-content-wrapper .ant-tree-title .__Title > span {\\n white-space: normal;\\n width: calc(100% - 56px);\\n text-overflow: -o-ellipsis-lastline;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n display: -webkit-box;\\n -webkit-line-clamp: 1;\\n line-clamp: 1;\\n -webkit-box-orient: vertical;\\n}\\n\", \"\"]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://mui/./plugins/lib/tree/style/Directory.less?./node_modules/css-loader/dist/cjs.js!./node_modules/less-loader/dist/cjs.js??clonedRuleSet-2.use%5B2%5D");
|
|
9168
9168
|
|
|
9169
9169
|
/***/ }),
|
|
9170
9170
|
|
package/dist/tree.umd.js
CHANGED
|
@@ -3284,6 +3284,17 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core
|
|
|
3284
3284
|
|
|
3285
3285
|
/***/ }),
|
|
3286
3286
|
|
|
3287
|
+
/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./plugins/lib/svgIcon/index.vue?vue&type=script&lang=js&":
|
|
3288
|
+
/*!********************************************************************************************************************************************************************!*\
|
|
3289
|
+
!*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./plugins/lib/svgIcon/index.vue?vue&type=script&lang=js& ***!
|
|
3290
|
+
\********************************************************************************************************************************************************************/
|
|
3291
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
3292
|
+
|
|
3293
|
+
"use strict";
|
|
3294
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: \"svgIcon\",\n props: {\n iconClass: {\n type: String,\n required: true\n },\n textClass: {\n type: String,\n default: \"\"\n },\n className: {\n type: String,\n default: \"\"\n },\n text: {\n type: String,\n default: \"\"\n },\n x: {\n type: Number,\n default: 0\n },\n y: {\n type: Number,\n default: 0\n }\n },\n computed: {\n isExternal() {\n return /^(https?:|mailto:|tel:)/.test(this.iconClass);\n },\n iconName() {\n return `#icon-${this.iconClass}`;\n },\n svgClass() {\n if (this.className) {\n return \"svg-icon \" + this.className;\n } else {\n return \"svg-icon\";\n }\n },\n styleExternalIcon() {\n return {\n mask: `url(${this.iconClass}) no-repeat 50% 50%`,\n \"-webkit-mask\": `url(${this.iconClass}) no-repeat 50% 50%`\n };\n }\n }\n});\n\n//# sourceURL=webpack://mui/./plugins/lib/svgIcon/index.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options");
|
|
3295
|
+
|
|
3296
|
+
/***/ }),
|
|
3297
|
+
|
|
3287
3298
|
/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./plugins/lib/tree/Tree.vue?vue&type=script&lang=js&":
|
|
3288
3299
|
/*!****************************************************************************************************************************************************************!*\
|
|
3289
3300
|
!*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./plugins/lib/tree/Tree.vue?vue&type=script&lang=js& ***!
|
|
@@ -3295,6 +3306,17 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ant_
|
|
|
3295
3306
|
|
|
3296
3307
|
/***/ }),
|
|
3297
3308
|
|
|
3309
|
+
/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./plugins/lib/svgIcon/index.vue?vue&type=template&id=17621d69&scoped=true&":
|
|
3310
|
+
/*!*******************************************************************************************************************************************************************************************************************************************************************!*\
|
|
3311
|
+
!*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./plugins/lib/svgIcon/index.vue?vue&type=template&id=17621d69&scoped=true& ***!
|
|
3312
|
+
\*******************************************************************************************************************************************************************************************************************************************************************/
|
|
3313
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
3314
|
+
|
|
3315
|
+
"use strict";
|
|
3316
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; },\n/* harmony export */ staticRenderFns: function() { return /* binding */ staticRenderFns; }\n/* harmony export */ });\nvar render = function render() {\n var _vm = this,\n _c = _vm._self._c;\n return _vm.isExternal ? _c(\"div\", _vm._g({\n staticClass: \"svg-external-icon svg-icon\",\n style: _vm.styleExternalIcon\n }, _vm.$listeners)) : _c(\"svg\", _vm._g({\n class: _vm.svgClass,\n attrs: {\n \"aria-hidden\": \"true\"\n }\n }, _vm.$listeners), [_c(\"use\", {\n attrs: {\n \"xlink:href\": _vm.iconName\n }\n }), _vm._v(\" \"), _c(\"text\", {\n class: _vm.textClass,\n attrs: {\n x: _vm.x,\n y: _vm.y\n }\n }, [_vm._v(_vm._s(_vm.text))])]);\n};\nvar staticRenderFns = [];\nrender._withStripped = true;\n\n\n//# sourceURL=webpack://mui/./plugins/lib/svgIcon/index.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet%5B1%5D.rules%5B2%5D!./node_modules/vue-loader/lib/index.js??vue-loader-options");
|
|
3317
|
+
|
|
3318
|
+
/***/ }),
|
|
3319
|
+
|
|
3298
3320
|
/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./plugins/lib/tree/Tree.vue?vue&type=template&id=45ca0cb8&scoped=true&":
|
|
3299
3321
|
/*!***************************************************************************************************************************************************************************************************************************************************************!*\
|
|
3300
3322
|
!*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./plugins/lib/tree/Tree.vue?vue&type=template&id=45ca0cb8&scoped=true& ***!
|
|
@@ -3339,6 +3361,17 @@ eval("/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source cod
|
|
|
3339
3361
|
|
|
3340
3362
|
/***/ }),
|
|
3341
3363
|
|
|
3364
|
+
/***/ "./plugins/lib/svgIcon/index.js":
|
|
3365
|
+
/*!**************************************!*\
|
|
3366
|
+
!*** ./plugins/lib/svgIcon/index.js ***!
|
|
3367
|
+
\**************************************/
|
|
3368
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
3369
|
+
|
|
3370
|
+
"use strict";
|
|
3371
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _index_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index.vue */ \"./plugins/lib/svgIcon/index.vue\");\n\n_index_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"].install = function (Vue) {\n Vue.component(_index_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"].name, _index_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (_index_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n//# sourceURL=webpack://mui/./plugins/lib/svgIcon/index.js?");
|
|
3372
|
+
|
|
3373
|
+
/***/ }),
|
|
3374
|
+
|
|
3342
3375
|
/***/ "./plugins/lib/tree/Directory.js":
|
|
3343
3376
|
/*!***************************************!*\
|
|
3344
3377
|
!*** ./plugins/lib/tree/Directory.js ***!
|
|
@@ -3346,7 +3379,7 @@ eval("/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source cod
|
|
|
3346
3379
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
3347
3380
|
|
|
3348
3381
|
"use strict";
|
|
3349
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _utils_Tree__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/Tree */ \"./plugins/utils/Tree.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/tree/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/input/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/dropdown/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/icon/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/button/index.js\");\n/* harmony import */ var _style_Directory_less__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./style/Directory.less */ \"./plugins/lib/tree/style/Directory.less\");\n\n\n\n\n\n\n/* 明天来了做一下@快捷指向 */\n\nconst TreeNode = ant_design_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"].TreeNode;\nconst DirectoryTree = ant_design_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"].DirectoryTree;\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'DirectoryTreeMenu',\n props: {\n treeData: {\n type: Array,\n default: () => []\n },\n treeExpandKeys: {\n type: Array,\n default: () => []\n },\n treePlus: {\n type: Boolean,\n default: true\n },\n treeActions: {\n type: Array,\n default: () => []\n },\n treeActionsPlus: {\n type: Boolean,\n default: true\n },\n replaceFields: {\n type: Object,\n default: () => ({\n children: 'children',\n key: 'id',\n title: 'title'\n })\n }\n },\n data() {\n return {\n NodeCheckedKeys: [],\n NodeSelectedKeys: [],\n NodeExpandKeys: [],\n NodeKey: [],\n NodeActions: null,\n MenuDropdown: false,\n NodeActionsStyle: {}\n };\n },\n mounted() {\n this.onInitTree();\n },\n watch: {\n treeData(newValue, oldValue) {\n this.onInitTree(!oldValue.length);\n },\n treeExpandKeys(newValue) {\n this.NodeExpandKeys = newValue;\n }\n },\n methods: {\n TreeNodeRender(node, nodeIndex, parentNode) {\n const h = this.$createElement;\n const {\n replaceFields,\n NodeActions,\n treeActions,\n NodeActionsStyle,\n NodeExpandKeys,\n NodeKey,\n treeActionsPlus,\n createTreeNode,\n handleMouseLeave,\n handleOperateClick,\n handlePlusClick\n } = this;\n const key = node[replaceFields.key];\n return h(TreeNode, {\n \"key\": key,\n \"class\": \"DirectoryTreeMenu__Node\",\n \"scopedSlots\": {\n title: props => {\n return h(\"div\", {\n \"class\": \"__Title\"\n }, [node.type != 'input' ? h(\"span\", [node[replaceFields.title]]) : h(ant_design_vue__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n \"attrs\": {\n \"placeholder\": \"请输入节点名称\",\n \"default-value\": node[replaceFields.title]\n },\n \"on\": {\n ...{\n blur: ({\n target\n }) => createTreeNode(target, node),\n pressEnter: event => event.target.blur(event, true)\n }\n },\n \"ref\": \"inputNodeRef\"\n }), NodeActions && Boolean(treeActions.length) && NodeKey.includes(props.eventKey) && node.type != 'input' && h(\"div\", {\n \"ref\": \"TreeMenuActions\",\n \"class\": \"DirectoryTreeMenu__Actions\",\n \"on\": {\n ...{\n mouseenter: event => event.stopPropagation()\n }\n }\n }, [h(ant_design_vue__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n \"attrs\": {\n \"trigger\": ['click'],\n \"overlayClassName\": \"DirectoryTreeMenu__Dropdown\"\n }\n }, [h(\"svg-icon\", {\n \"class\": \"ActionsIcons\",\n \"attrs\": {\n \"icon-class\": \"tree-more\"\n },\n \"on\": {\n ...{\n click: e => e.preventDefault()\n }\n }\n }), h(\"div\", {\n \"slot\": \"overlay\",\n \"class\": \"DirectoryTreeMenu__Dropdown__Menu\"\n }, [treeActions.map((handle, i) => {\n return h(\"span\", {\n \"key\": i,\n \"on\": {\n ...{\n // this.$emit('handleOperateClick', handle, NodeActions)\n click: () => handleOperateClick(handle, {\n ...node,\n nodeIndex\n }, parentNode)\n }\n }\n }, [h(\"svg-icon\", {\n \"attrs\": {\n \"icon-class\": handle.svg\n }\n }), \" \", handle.text]);\n })])]), treeActionsPlus && h(\"svg-icon\", {\n \"class\": \"ActionsIcons\",\n \"attrs\": {\n \"icon-class\": \"tree-plus\"\n },\n \"on\": {\n ...{\n click: () => handlePlusClick()\n }\n }\n })])]);\n }\n }\n }, [node[replaceFields.children] && node[replaceFields.children].length && node[replaceFields.children].map((childNode, childNodeIndex) => this.TreeNodeRender(childNode, childNodeIndex, node))]);\n },\n appendTreeNode() {\n this.treeData.push({\n type: 'input',\n append: true,\n [this.replaceFields.key]: new Date().getTime()\n });\n this.$nextTick(() => this.$refs.inputNodeRef.focus());\n },\n createTreeNode({\n value\n }, node) {\n this.$set(node, 'type', 'text');\n this.$emit(`handlePlus${node.append ? 'Add' : 'Update'}`, value, node.append ? node.parentOrgId : node[this.replaceFields.key]);\n const parentNodes = node.parentOrgId ? this.findItemById(this.treeData, node.parentOrgId)[this.replaceFields.children] : this.treeData;\n if (node.append) {\n const i = parentNodes.findIndex(child => child[this.replaceFields.key] == node[this.replaceFields.key]);\n parentNodes.splice(i, 1);\n }\n },\n handleOperateClick(handle, node, parentNode) {\n const key = node[this.replaceFields.key];\n let that = this;\n switch (handle.type) {\n case 'update':\n const updateNode = this.findItemById(this.treeData, key);\n this.$set(updateNode, 'type', 'input');\n this.$nextTick(() => this.$refs.inputNodeRef.focus());\n break;\n case 'copy':\n // 明天来了优化一下\n const cloneNode = parentNode ? parentNode[this.replaceFields.children] : this.treeData;\n cloneNode.splice(node.nodeIndex + 1, 0, {\n type: 'input',\n append: true,\n parentOrgId: parentNode ? parentNode[this.replaceFields.key] : null,\n [this.replaceFields.key]: new Date().getTime(),\n [this.replaceFields.title]: node[this.replaceFields.title]\n });\n this.$nextTick(() => this.$refs.inputNodeRef.focus());\n break;\n case 'delete':\n this.$confirm({\n title: '确定要删除当前节点吗?',\n okText: '确定',\n cancelText: '取消',\n onOk() {\n that.$emit('handleDeleteClick', node);\n console.log('OK');\n },\n onCancel() {\n console.log('Cancel');\n }\n });\n break;\n default:\n this.$emit('handleOperateClick', handle, node);\n break;\n }\n },\n handlePlusClick() {\n const node = this.findItemById(this.treeData, this.NodeActions.id);\n console.log(node, this.NodeActions, '--NodeActions');\n const childNode = node[this.replaceFields.children] ?? [];\n childNode.push({\n type: 'input',\n append: true,\n parentOrgId: this.NodeActions.id,\n [this.replaceFields.key]: new Date().getTime()\n });\n this.NodeExpandKeys.push(this.NodeActions.id);\n node[this.replaceFields.children] = childNode;\n this.$nextTick(() => this.$refs.inputNodeRef.focus());\n console.log(node, '--NodeActions');\n },\n findItemById(treeData, id) {\n for (let i = 0; i < treeData.length; i++) {\n if (treeData[i][this.replaceFields.key] === id) return treeData[i];\n let childNode = treeData[i][this.replaceFields.children];\n if (childNode && childNode.length > 0) {\n const foundItem = this.findItemById(treeData[i][this.replaceFields.children], id);\n if (foundItem) return foundItem;\n }\n }\n },\n onInitTree(treeExpend = true) {\n this.treeData && (this.NodeSelectedKeys = [this.treeData.at(0)?.[this.replaceFields.key]]);\n this.NodeExpandKeys = this.treeExpandKeys.length && this.treeExpandKeys || treeExpend && (0,_utils_Tree__WEBPACK_IMPORTED_MODULE_1__.getTreeKey)(this.treeData, true, this.replaceFields) || [];\n },\n onCheck(keys, {}) {\n this.NodeCheckedKeys = keys;\n this.$emit('onCheck', keys);\n },\n onSelect(keys, {\n nativeEvent,\n node\n }) {\n this.NodeSelectedKeys = keys;\n this.NodeKey = [].concat(this.NodeSelectedKeys);\n this.$emit('onSelect', keys);\n },\n onExpand(expandedKeys, {\n expanded,\n node\n }) {\n this.NodeExpandKeys = [].concat(expandedKeys);\n console.log(expandedKeys, expanded, node, 'Trigger Expand');\n },\n getIcon(props) {\n const h = this.$createElement;\n const {\n isLeaf,\n expanded\n } = props;\n if (isLeaf) {\n return h(ant_design_vue__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n \"attrs\": {\n \"type\": \"home\"\n }\n });\n }\n return h(ant_design_vue__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n \"attrs\": {\n \"type\": expanded ? 'folder-open' : 'folder'\n }\n });\n },\n handleMouseEnter({\n event,\n node\n }) {\n this.NodeActions = {\n id: node._props.eventKey,\n title: node._props.title,\n parentOrgId: node.$parent.eventKey || null\n };\n // this.MenuDropdown = false \n this.NodeKey = [].concat(this.NodeSelectedKeys);\n this.NodeKey.push(node.eventKey);\n // console.log(node, 'handleMouseEnter')\n // 是否加个参数 判断是否处于打开状态\n },\n handleMouseLeave({\n event,\n node\n }) {\n if (this.NodeKey.includes(node.eventKey) && this.NodeSelectedKeys != node.eventKey) {\n const i = this.NodeKey.findIndex(key => key == node.eventKey);\n this.NodeKey.splice(i, 1);\n }\n // this.NodeKey = []\n },\n onDragEnter(node) {\n console.log(node, '--onDragEnter');\n // expandedKeys 需要受控时设置\n // this.expandedKeys = info.expandedKeys\n },\n onDrop(info) {\n const dragKey = info.dragNode.eventKey;\n const dropPos = info.node.pos.split(\"-\");\n // 拖动的位置\n const dropPosition = info.dropPosition - Number(dropPos[dropPos.length - 1]);\n const node = info.node; //目标节点\n const dragNode = info.dragNode; // 拖动节点\n const dropKey = node.eventKey;\n console.log(dragNode, node, '--dropToGap');\n if (dragNode.$parent?.eventKey !== node.$parent?.eventKey || !info.dropToGap) {\n // 阻止跨父级拖拽\n this.$message.warning(\"只能在同级排序\");\n return false;\n }\n const {\n key,\n children\n } = this.replaceFields;\n const loop = (data, eventKey, callback) => {\n data.forEach((node, i, array) => {\n if (node[key] === eventKey) {\n return callback(node, i, array);\n }\n if (node[children]) {\n return loop(node[children], eventKey, callback);\n }\n });\n };\n const data = [...this.treeData];\n let dragObj;\n let dragObjIndex;\n loop(data, dragKey, (node, i, array) => {\n dragObj = node;\n dragObjIndex = i;\n });\n let dropIndex;\n loop(data, dropKey, (node, i, array) => {\n dropIndex = i;\n console.log(node, i, dragObj, dragObjIndex, '--i');\n });\n this.$emit('onDrop', {\n [key]: dragObj[key],\n originalIndex: dragObjIndex,\n presentIndex: dropPosition === -1 ? dropIndex : dropIndex + 1\n });\n }\n },\n render() {\n const h = arguments[0];\n const {\n $attrs,\n treePlus,\n treeData,\n NodeCheckedKeys,\n NodeSelectedKeys,\n NodeExpandKeys,\n onCheck,\n onSelect,\n onExpand,\n handleMouseEnter,\n handleMouseLeave,\n onDragEnter,\n onDrop,\n TreeNodeRender,\n appendTreeNode,\n replaceFields\n } = this;\n return h(\"div\", {\n \"class\": \"DirectoryTreeMenu\"\n }, [h(\"div\", {\n \"class\": \"treeDirectory\"\n }, [h(\"span\", [$attrs.menuTitle || '目录']), treePlus && h(ant_design_vue__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n \"attrs\": {\n \"icon\": \"plus\",\n \"size\": \"small\"\n },\n \"on\": {\n ...{\n click: appendTreeNode\n }\n }\n })]), h(DirectoryTree, {\n \"attrs\": {\n \"draggable\": true,\n \"default-expand-all\": true,\n \"checkedKeys\": NodeCheckedKeys,\n \"selectedKeys\": NodeSelectedKeys,\n \"expandedKeys\": NodeExpandKeys,\n \"expandAction\": \"dblclick\",\n ...$attrs,\n \"tree-node-filter-prop\": \"title\"\n },\n \"class\": \"DirectoryTreeMenu__Tree\",\n \"on\": {\n ...{\n check: onCheck,\n select: onSelect,\n expand: onExpand,\n mouseenter: handleMouseEnter,\n mouseleave: handleMouseLeave,\n dragenter: onDragEnter,\n drop: onDrop\n }\n }\n }, [treeData.map((node, nodeIndex) => TreeNodeRender(node, nodeIndex))])]);\n }\n});\n\n//# sourceURL=webpack://mui/./plugins/lib/tree/Directory.js?");
|
|
3382
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _utils_Tree__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/Tree */ \"./plugins/utils/Tree.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/tree/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/input/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/dropdown/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/icon/index.js\");\n/* harmony import */ var ant_design_vue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ant-design-vue */ \"./node_modules/ant-design-vue/es/button/index.js\");\n/* harmony import */ var _style_Directory_less__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./style/Directory.less */ \"./plugins/lib/tree/style/Directory.less\");\n/* harmony import */ var _svgIcon__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../svgIcon */ \"./plugins/lib/svgIcon/index.js\");\n\n\n\n\n\n\n\n/* 明天来了做一下@快捷指向 */\n\nconst TreeNode = ant_design_vue__WEBPACK_IMPORTED_MODULE_4__[\"default\"].TreeNode;\nconst DirectoryTree = ant_design_vue__WEBPACK_IMPORTED_MODULE_4__[\"default\"].DirectoryTree;\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'DirectoryTreeMenu',\n props: {\n treeData: {\n type: Array,\n default: () => []\n },\n treeExpandKeys: {\n type: Array,\n default: () => []\n },\n treePlus: {\n type: Boolean,\n default: true\n },\n treeActions: {\n type: Array,\n default: () => []\n },\n treeActionsPlus: {\n type: Boolean,\n default: true\n },\n replaceFields: {\n type: Object,\n default: () => ({\n children: 'children',\n key: 'id',\n title: 'title'\n })\n }\n },\n data() {\n return {\n NodeCheckedKeys: [],\n NodeSelectedKeys: [],\n NodeExpandKeys: [],\n NodeKey: [],\n NodeActions: null,\n MenuDropdown: false,\n NodeActionsStyle: {}\n };\n },\n mounted() {\n this.onInitTree();\n },\n watch: {\n treeData(newValue, oldValue) {\n this.onInitTree(!oldValue.length);\n },\n treeExpandKeys(newValue) {\n this.NodeExpandKeys = newValue;\n }\n },\n methods: {\n TreeNodeRender(node, nodeIndex, parentNode) {\n const h = this.$createElement;\n const {\n replaceFields,\n NodeActions,\n treeActions,\n NodeActionsStyle,\n NodeExpandKeys,\n NodeKey,\n treeActionsPlus,\n createTreeNode,\n handleMouseLeave,\n handleOperateClick,\n handlePlusClick\n } = this;\n const key = node[replaceFields.key];\n return h(TreeNode, {\n \"key\": key,\n \"class\": \"DirectoryTreeMenu__Node\",\n \"scopedSlots\": {\n title: props => {\n return h(\"div\", {\n \"class\": \"__Title\"\n }, [node.type != 'input' ? h(\"span\", [node[replaceFields.title]]) : h(ant_design_vue__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n \"attrs\": {\n \"placeholder\": \"请输入节点名称\",\n \"default-value\": node[replaceFields.title]\n },\n \"on\": {\n ...{\n blur: ({\n target\n }) => createTreeNode(target, node),\n pressEnter: event => event.target.blur(event, true)\n }\n },\n \"ref\": \"inputNodeRef\"\n }), NodeActions && Boolean(treeActions.length) && NodeKey.includes(props.eventKey) && node.type != 'input' && h(\"div\", {\n \"ref\": \"TreeMenuActions\",\n \"class\": \"DirectoryTreeMenu__Actions\",\n \"on\": {\n ...{\n mouseenter: event => event.stopPropagation()\n }\n }\n }, [h(ant_design_vue__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n \"attrs\": {\n \"trigger\": ['click'],\n \"overlayClassName\": \"DirectoryTreeMenu__Dropdown\"\n }\n }, [h(_svgIcon__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n \"class\": \"ActionsIcons\",\n \"attrs\": {\n \"icon-class\": \"tree-more\"\n },\n \"on\": {\n ...{\n click: e => e.preventDefault()\n }\n }\n }), h(\"div\", {\n \"slot\": \"overlay\",\n \"class\": \"DirectoryTreeMenu__Dropdown__Menu\"\n }, [treeActions.map((handle, i) => {\n return h(\"span\", {\n \"key\": i,\n \"on\": {\n ...{\n // this.$emit('handleOperateClick', handle, NodeActions)\n click: () => handleOperateClick(handle, {\n ...node,\n nodeIndex\n }, parentNode)\n }\n }\n }, [h(_svgIcon__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n \"attrs\": {\n \"icon-class\": handle.svg\n }\n }), \" \", handle.text]);\n })])]), treeActionsPlus && h(_svgIcon__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n \"class\": \"ActionsIcons\",\n \"attrs\": {\n \"icon-class\": \"tree-plus\"\n },\n \"on\": {\n ...{\n click: () => handlePlusClick()\n }\n }\n })])]);\n }\n }\n }, [node[replaceFields.children] && node[replaceFields.children].length && node[replaceFields.children].map((childNode, childNodeIndex) => this.TreeNodeRender(childNode, childNodeIndex, node))]);\n },\n appendTreeNode() {\n this.treeData.push({\n type: 'input',\n append: true,\n [this.replaceFields.key]: new Date().getTime()\n });\n this.$nextTick(() => this.$refs.inputNodeRef.focus());\n },\n createTreeNode({\n value\n }, node) {\n this.$set(node, 'type', 'text');\n this.$emit(`handlePlus${node.append ? 'Add' : 'Update'}`, value, node.append ? node.parentOrgId : node[this.replaceFields.key]);\n const parentNodes = node.parentOrgId ? this.findItemById(this.treeData, node.parentOrgId)[this.replaceFields.children] : this.treeData;\n if (node.append) {\n const i = parentNodes.findIndex(child => child[this.replaceFields.key] == node[this.replaceFields.key]);\n parentNodes.splice(i, 1);\n }\n },\n handleOperateClick(handle, node, parentNode) {\n const key = node[this.replaceFields.key];\n let that = this;\n switch (handle.type) {\n case 'update':\n const updateNode = this.findItemById(this.treeData, key);\n this.$set(updateNode, 'type', 'input');\n this.$nextTick(() => this.$refs.inputNodeRef.focus());\n break;\n case 'copy':\n // 明天来了优化一下\n const cloneNode = parentNode ? parentNode[this.replaceFields.children] : this.treeData;\n cloneNode.splice(node.nodeIndex + 1, 0, {\n type: 'input',\n append: true,\n parentOrgId: parentNode ? parentNode[this.replaceFields.key] : null,\n [this.replaceFields.key]: new Date().getTime(),\n [this.replaceFields.title]: node[this.replaceFields.title]\n });\n this.$nextTick(() => this.$refs.inputNodeRef.focus());\n break;\n case 'delete':\n this.$confirm({\n title: '确定要删除当前节点吗?',\n okText: '确定',\n cancelText: '取消',\n onOk() {\n that.$emit('handleDeleteClick', node);\n console.log('OK');\n },\n onCancel() {\n console.log('Cancel');\n }\n });\n break;\n default:\n this.$emit('handleOperateClick', handle, node);\n break;\n }\n },\n handlePlusClick() {\n const node = this.findItemById(this.treeData, this.NodeActions.id);\n console.log(node, this.NodeActions, '--NodeActions');\n const childNode = node[this.replaceFields.children] ?? [];\n childNode.push({\n type: 'input',\n append: true,\n parentOrgId: this.NodeActions.id,\n [this.replaceFields.key]: new Date().getTime()\n });\n this.NodeExpandKeys.push(this.NodeActions.id);\n node[this.replaceFields.children] = childNode;\n this.$nextTick(() => this.$refs.inputNodeRef.focus());\n console.log(node, '--NodeActions');\n },\n findItemById(treeData, id) {\n for (let i = 0; i < treeData.length; i++) {\n if (treeData[i][this.replaceFields.key] === id) return treeData[i];\n let childNode = treeData[i][this.replaceFields.children];\n if (childNode && childNode.length > 0) {\n const foundItem = this.findItemById(treeData[i][this.replaceFields.children], id);\n if (foundItem) return foundItem;\n }\n }\n },\n onInitTree(treeExpend = true) {\n this.treeData && (this.NodeSelectedKeys = [this.treeData.at(0)?.[this.replaceFields.key]]);\n this.NodeExpandKeys = this.treeExpandKeys.length && this.treeExpandKeys || treeExpend && (0,_utils_Tree__WEBPACK_IMPORTED_MODULE_1__.getTreeKey)(this.treeData, true, this.replaceFields) || [];\n },\n onCheck(keys, {}) {\n this.NodeCheckedKeys = keys;\n this.$emit('onCheck', keys);\n },\n onSelect(keys, {\n nativeEvent,\n node\n }) {\n this.NodeSelectedKeys = keys;\n this.NodeKey = [].concat(this.NodeSelectedKeys);\n this.$emit('onSelect', keys);\n },\n onExpand(expandedKeys, {\n expanded,\n node\n }) {\n this.NodeExpandKeys = [].concat(expandedKeys);\n console.log(expandedKeys, expanded, node, 'Trigger Expand');\n },\n getIcon(props) {\n const h = this.$createElement;\n const {\n isLeaf,\n expanded\n } = props;\n if (isLeaf) {\n return h(ant_design_vue__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n \"attrs\": {\n \"type\": \"home\"\n }\n });\n }\n return h(ant_design_vue__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n \"attrs\": {\n \"type\": expanded ? 'folder-open' : 'folder'\n }\n });\n },\n handleMouseEnter({\n event,\n node\n }) {\n this.NodeActions = {\n id: node._props.eventKey,\n title: node._props.title,\n parentOrgId: node.$parent.eventKey || null\n };\n // this.MenuDropdown = false \n this.NodeKey = [].concat(this.NodeSelectedKeys);\n this.NodeKey.push(node.eventKey);\n // console.log(node, 'handleMouseEnter')\n // 是否加个参数 判断是否处于打开状态\n },\n handleMouseLeave({\n event,\n node\n }) {\n if (this.NodeKey.includes(node.eventKey) && this.NodeSelectedKeys != node.eventKey) {\n const i = this.NodeKey.findIndex(key => key == node.eventKey);\n this.NodeKey.splice(i, 1);\n }\n // this.NodeKey = []\n },\n onDragEnter(node) {\n console.log(node, '--onDragEnter');\n // expandedKeys 需要受控时设置\n // this.expandedKeys = info.expandedKeys\n },\n onDrop(info) {\n const dragKey = info.dragNode.eventKey;\n const dropPos = info.node.pos.split(\"-\");\n // 拖动的位置\n const dropPosition = info.dropPosition - Number(dropPos[dropPos.length - 1]);\n const node = info.node; //目标节点\n const dragNode = info.dragNode; // 拖动节点\n const dropKey = node.eventKey;\n console.log(dragNode, node, '--dropToGap');\n if (dragNode.$parent?.eventKey !== node.$parent?.eventKey || !info.dropToGap) {\n // 阻止跨父级拖拽\n this.$message.warning(\"只能在同级排序\");\n return false;\n }\n const {\n key,\n children\n } = this.replaceFields;\n const loop = (data, eventKey, callback) => {\n data.forEach((node, i, array) => {\n if (node[key] === eventKey) {\n return callback(node, i, array);\n }\n if (node[children]) {\n return loop(node[children], eventKey, callback);\n }\n });\n };\n const data = [...this.treeData];\n let dragObj;\n let dragObjIndex;\n loop(data, dragKey, (node, i, array) => {\n dragObj = node;\n dragObjIndex = i;\n });\n let dropIndex;\n loop(data, dropKey, (node, i, array) => {\n dropIndex = i;\n console.log(node, i, dragObj, dragObjIndex, '--i');\n });\n this.$emit('onDrop', {\n [key]: dragObj[key],\n originalIndex: dragObjIndex,\n presentIndex: dropPosition === -1 ? dropIndex : dropIndex + 1\n });\n }\n },\n render() {\n const h = arguments[0];\n const {\n $attrs,\n treePlus,\n treeData,\n NodeCheckedKeys,\n NodeSelectedKeys,\n NodeExpandKeys,\n onCheck,\n onSelect,\n onExpand,\n handleMouseEnter,\n handleMouseLeave,\n onDragEnter,\n onDrop,\n TreeNodeRender,\n appendTreeNode,\n replaceFields\n } = this;\n return h(\"div\", {\n \"class\": \"DirectoryTreeMenu\"\n }, [h(\"div\", {\n \"class\": \"treeDirectory\"\n }, [h(\"span\", [$attrs.menuTitle || '目录']), treePlus && h(ant_design_vue__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n \"attrs\": {\n \"icon\": \"plus\",\n \"size\": \"small\"\n },\n \"on\": {\n ...{\n click: appendTreeNode\n }\n }\n })]), h(DirectoryTree, {\n \"attrs\": {\n \"draggable\": true,\n \"default-expand-all\": true,\n \"checkedKeys\": NodeCheckedKeys,\n \"selectedKeys\": NodeSelectedKeys,\n \"expandedKeys\": NodeExpandKeys,\n \"expandAction\": \"dblclick\",\n ...$attrs,\n \"tree-node-filter-prop\": \"title\"\n },\n \"class\": \"DirectoryTreeMenu__Tree\",\n \"on\": {\n ...{\n check: onCheck,\n select: onSelect,\n expand: onExpand,\n mouseenter: handleMouseEnter,\n mouseleave: handleMouseLeave,\n dragenter: onDragEnter,\n drop: onDrop\n }\n }\n }, [treeData.map((node, nodeIndex) => TreeNodeRender(node, nodeIndex))])]);\n }\n});\n\n//# sourceURL=webpack://mui/./plugins/lib/tree/Directory.js?");
|
|
3350
3383
|
|
|
3351
3384
|
/***/ }),
|
|
3352
3385
|
|
|
@@ -3379,7 +3412,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
3379
3412
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
3380
3413
|
|
|
3381
3414
|
"use strict";
|
|
3382
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/* 混入样式 */\\n/* 布局( 纯为了不想多写一行 */\\n/* 正方体盒子 */\\n/* 滚动条样式 */\\n/* 文字换行省略(默认1行)*/\\n/* flex布局 */\\n/* flex排版方式 */\\n/* stylelint-disable at-rule-empty-line-before,at-rule-name-space-after,at-rule-no-unknown */\\n/* stylelint-disable no-duplicate-selectors */\\n/* stylelint-disable */\\n/* stylelint-disable declaration-bang-space-before,no-duplicate-selectors,string-no-newline */\\n.DirectoryTreeMenu {\\n height: 100%;\\n padding: 16px;\\n box-sizing: border-box;\\n}\\n.DirectoryTreeMenu__Actions {\\n display: flex;\\n gap: 0 8px;\\n position: relative;\\n}\\n.DirectoryTreeMenu__Actions .ActionsIcons {\\n cursor: pointer;\\n width: 16px;\\n height: 16px;\\n}\\n.DirectoryTreeMenu__Actions .ActionsIcons:focus {\\n outline: none;\\n}\\n.DirectoryTreeMenu .treeDirectory {\\n width: 100%;\\n height: 40px;\\n display: flex;\\n gap: 0;\\n flex-direction: row;\\n flex-wrap: wrap;\\n align-items: center;\\n justify-content: flex-start;\\n}\\n.DirectoryTreeMenu .treeDirectory > span {\\n flex: 1;\\n text-align: left;\\n color: #FFFFFF;\\n font-size: 16px;\\n font-weight: 700;\\n position: relative;\\n padding-left: 12px;\\n box-sizing: border-box;\\n}\\n.DirectoryTreeMenu .treeDirectory > span::after {\\n width: 4px;\\n height: 12px;\\n left: 0;\\n top: calc((100% - 12px) / 2);\\n content: '';\\n position: absolute;\\n background: #1677FF;\\n border-radius: 2px;\\n}\\n.DirectoryTreeMenu .treeDirectory :deep(.ant-btn) {\\n margin-right: 12px;\\n line-height: 16px;\\n border-color: #FFFFFF;\\n width: 16px;\\n height: 16px;\\n display: flex;\\n gap: 0;\\n flex-direction: row;\\n flex-wrap: wrap;\\n align-items: center;\\n justify-content: center;\\n}\\n.DirectoryTreeMenu .treeDirectory :deep(.ant-btn) i {\\n font-size: 11px;\\n color: #FFFFFF;\\n}\\n.DirectoryTreeMenu__Tree {\\n height: calc(100% - 40px);\\n overflow-y: auto;\\n}\\n.DirectoryTreeMenu__Tree::-webkit-scrollbar-track {\\n border-radius: 0;\\n background-color: transparent;\\n}\\n.DirectoryTreeMenu__Tree::-webkit-scrollbar-thumb {\\n border-radius: 0;\\n border-radius: 5px;\\n background-image: -webkit-linear-gradient(270deg, #1890ff 0%, transparent 100%);\\n -webkit-transition: all 0.2s;\\n transition: all 0.2s;\\n}\\n.DirectoryTreeMenu__Tree::-webkit-scrollbar-corner {\\n background-color: transparent;\\n}\\n.DirectoryTreeMenu__Tree::-webkit-scrollbar {\\n width: 6px;\\n height: 56px;\\n}\\n.DirectoryTreeMenu__Tree::-webkit-scrollbar {\\n width: 4px;\\n}\\n.DirectoryTreeMenu__Dropdown__Menu {\\n width: 140px;\\n height: auto;\\n border-radius: 2px;\\n padding: 12px 0;\\n box-sizing: border-box;\\n}\\n.DirectoryTreeMenu__Dropdown__Menu span {\\n display: flex;\\n cursor: pointer;\\n align-items: center;\\n font-size: 14px;\\n margin-bottom: 2px;\\n padding: 0 16px;\\n box-sizing: border-box;\\n width: 100%;\\n height: 26px;\\n}\\n.DirectoryTreeMenu__Dropdown__Menu span:last-child {\\n margin: 0;\\n}\\n.DirectoryTreeMenu__Dropdown__Menu span .svg-icon {\\n margin-right: 8px;\\n width: 16px;\\n height: 16px;\\n}\\n.DirectoryTreeMenu__Node .ant-tree-node-content-wrapper {\\n width: calc(100% - 24px);\\n}\\n.DirectoryTreeMenu__Node .ant-tree-node-content-wrapper .ant-tree-title {\\n display: inline-block;\\n width: calc(100% - 24px);\\n height: 100%;\\n}\\n.DirectoryTreeMenu__Node .ant-tree-node-content-wrapper .ant-tree-title .__Title {\\n gap: 0 8px;\\n width: 100%;\\n height: 100%;\\n display: flex;\\n gap: 0;\\n flex-direction: row;\\n flex-wrap: wrap;\\n align-items: center;\\n justify-content: flex-start;\\n}\\n.DirectoryTreeMenu__Node .ant-tree-node-content-wrapper .ant-tree-title .__Title > span {\\n white-space: normal;\\n width: calc(100% - 56px);\\n text-overflow: -o-ellipsis-lastline;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n display: -webkit-box;\\n -webkit-line-clamp: 1;\\n line-clamp: 1;\\n -webkit-box-orient: vertical;\\n}\\n\", \"\"]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://mui/./plugins/lib/tree/style/Directory.less?./node_modules/css-loader/dist/cjs.js!./node_modules/less-loader/dist/cjs.js??clonedRuleSet-2.use%5B2%5D");
|
|
3415
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/* 混入样式 */\\n/* 布局( 纯为了不想多写一行 */\\n/* 正方体盒子 */\\n/* 滚动条样式 */\\n/* 文字换行省略(默认1行)*/\\n/* flex布局 */\\n/* flex排版方式 */\\n/* stylelint-disable at-rule-empty-line-before,at-rule-name-space-after,at-rule-no-unknown */\\n/* stylelint-disable no-duplicate-selectors */\\n/* stylelint-disable */\\n/* stylelint-disable declaration-bang-space-before,no-duplicate-selectors,string-no-newline */\\n.DirectoryTreeMenu {\\n height: 100%;\\n padding: 16px;\\n box-sizing: border-box;\\n}\\n.DirectoryTreeMenu__Actions {\\n display: flex;\\n gap: 0 8px;\\n position: relative;\\n}\\n.DirectoryTreeMenu__Actions .ActionsIcons {\\n cursor: pointer;\\n width: 16px !important;\\n height: 16px !important;\\n}\\n.DirectoryTreeMenu__Actions .ActionsIcons:focus {\\n outline: none;\\n}\\n.DirectoryTreeMenu .treeDirectory {\\n width: 100%;\\n height: 40px;\\n display: flex;\\n gap: 0;\\n flex-direction: row;\\n flex-wrap: wrap;\\n align-items: center;\\n justify-content: flex-start;\\n}\\n.DirectoryTreeMenu .treeDirectory > span {\\n flex: 1;\\n text-align: left;\\n color: #FFFFFF;\\n font-size: 16px;\\n font-weight: 700;\\n position: relative;\\n padding-left: 12px;\\n box-sizing: border-box;\\n}\\n.DirectoryTreeMenu .treeDirectory > span::after {\\n width: 4px;\\n height: 12px;\\n left: 0;\\n top: calc((100% - 12px) / 2);\\n content: '';\\n position: absolute;\\n background: #1677FF;\\n border-radius: 2px;\\n}\\n.DirectoryTreeMenu .treeDirectory :deep(.ant-btn) {\\n margin-right: 12px;\\n line-height: 16px;\\n border-color: #FFFFFF;\\n width: 16px;\\n height: 16px;\\n display: flex;\\n gap: 0;\\n flex-direction: row;\\n flex-wrap: wrap;\\n align-items: center;\\n justify-content: center;\\n}\\n.DirectoryTreeMenu .treeDirectory :deep(.ant-btn) i {\\n font-size: 11px;\\n color: #FFFFFF;\\n}\\n.DirectoryTreeMenu__Tree {\\n height: calc(100% - 40px);\\n overflow-y: auto;\\n}\\n.DirectoryTreeMenu__Tree::-webkit-scrollbar-track {\\n border-radius: 0;\\n background-color: transparent;\\n}\\n.DirectoryTreeMenu__Tree::-webkit-scrollbar-thumb {\\n border-radius: 0;\\n border-radius: 5px;\\n background-image: -webkit-linear-gradient(270deg, #1890ff 0%, transparent 100%);\\n -webkit-transition: all 0.2s;\\n transition: all 0.2s;\\n}\\n.DirectoryTreeMenu__Tree::-webkit-scrollbar-corner {\\n background-color: transparent;\\n}\\n.DirectoryTreeMenu__Tree::-webkit-scrollbar {\\n width: 6px;\\n height: 56px;\\n}\\n.DirectoryTreeMenu__Tree::-webkit-scrollbar {\\n width: 4px;\\n}\\n.DirectoryTreeMenu__Dropdown__Menu {\\n width: 140px;\\n height: auto;\\n border-radius: 2px;\\n padding: 12px 0;\\n box-sizing: border-box;\\n}\\n.DirectoryTreeMenu__Dropdown__Menu span {\\n display: flex;\\n cursor: pointer;\\n align-items: center;\\n font-size: 14px;\\n margin-bottom: 2px;\\n padding: 0 16px;\\n box-sizing: border-box;\\n width: 100%;\\n height: 26px;\\n}\\n.DirectoryTreeMenu__Dropdown__Menu span:last-child {\\n margin: 0;\\n}\\n.DirectoryTreeMenu__Dropdown__Menu span .svg-icon {\\n margin-right: 8px;\\n width: 16px;\\n height: 16px;\\n}\\n.DirectoryTreeMenu__Node .ant-tree-node-content-wrapper {\\n width: calc(100% - 24px);\\n}\\n.DirectoryTreeMenu__Node .ant-tree-node-content-wrapper .ant-tree-title {\\n display: inline-block;\\n width: calc(100% - 24px);\\n height: 100%;\\n}\\n.DirectoryTreeMenu__Node .ant-tree-node-content-wrapper .ant-tree-title .__Title {\\n gap: 0 8px;\\n width: 100%;\\n height: 100%;\\n display: flex;\\n gap: 0;\\n flex-direction: row;\\n flex-wrap: wrap;\\n align-items: center;\\n justify-content: flex-start;\\n}\\n.DirectoryTreeMenu__Node .ant-tree-node-content-wrapper .ant-tree-title .__Title > span {\\n white-space: normal;\\n width: calc(100% - 56px);\\n text-overflow: -o-ellipsis-lastline;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n display: -webkit-box;\\n -webkit-line-clamp: 1;\\n line-clamp: 1;\\n -webkit-box-orient: vertical;\\n}\\n\", \"\"]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://mui/./plugins/lib/tree/style/Directory.less?./node_modules/css-loader/dist/cjs.js!./node_modules/less-loader/dist/cjs.js??clonedRuleSet-2.use%5B2%5D");
|
|
3383
3416
|
|
|
3384
3417
|
/***/ }),
|
|
3385
3418
|
|
|
@@ -3394,6 +3427,17 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _nod
|
|
|
3394
3427
|
|
|
3395
3428
|
/***/ }),
|
|
3396
3429
|
|
|
3430
|
+
/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./plugins/lib/svgIcon/index.vue?vue&type=style&index=0&id=17621d69&scoped=true&lang=css&":
|
|
3431
|
+
/*!**********************************************************************************************************************************************************************************************************************************************************!*\
|
|
3432
|
+
!*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./plugins/lib/svgIcon/index.vue?vue&type=style&index=0&id=17621d69&scoped=true&lang=css& ***!
|
|
3433
|
+
\**********************************************************************************************************************************************************************************************************************************************************/
|
|
3434
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
3435
|
+
|
|
3436
|
+
"use strict";
|
|
3437
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\n.svg-icon[data-v-17621d69] {\\r\\n width: 90px;\\r\\n height: 90px;\\r\\n vertical-align: -0.15em;\\r\\n fill: currentColor;\\r\\n overflow: hidden;\\n}\\n.svg-external-icon[data-v-17621d69] {\\r\\n background-color: currentColor;\\r\\n mask-size: cover;\\r\\n display: inline-block;\\n}\\r\\n\", \"\"]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://mui/./plugins/lib/svgIcon/index.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js??vue-loader-options");
|
|
3438
|
+
|
|
3439
|
+
/***/ }),
|
|
3440
|
+
|
|
3397
3441
|
/***/ "./plugins/lib/tree/style/Directory.less":
|
|
3398
3442
|
/*!***********************************************!*\
|
|
3399
3443
|
!*** ./plugins/lib/tree/style/Directory.less ***!
|
|
@@ -3416,6 +3460,17 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _nod
|
|
|
3416
3460
|
|
|
3417
3461
|
/***/ }),
|
|
3418
3462
|
|
|
3463
|
+
/***/ "./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./plugins/lib/svgIcon/index.vue?vue&type=style&index=0&id=17621d69&scoped=true&lang=css&":
|
|
3464
|
+
/*!**************************************************************************************************************************************************************************************************************************************************************************************************!*\
|
|
3465
|
+
!*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./plugins/lib/svgIcon/index.vue?vue&type=style&index=0&id=17621d69&scoped=true&lang=css& ***!
|
|
3466
|
+
\**************************************************************************************************************************************************************************************************************************************************************************************************/
|
|
3467
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
3468
|
+
|
|
3469
|
+
"use strict";
|
|
3470
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"./node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_getTarget_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../../node_modules/style-loader/dist/runtime/getTarget.js */ \"./node_modules/style-loader/dist/runtime/getTarget.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_getTarget_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_getTarget_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../../node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"./node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_17621d69_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=17621d69&scoped=true&lang=css& */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./plugins/lib/svgIcon/index.vue?vue&type=style&index=0&id=17621d69&scoped=true&lang=css&\");\n\n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = function(css, style){\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n while (style.firstChild) {\n style.removeChild(style.firstChild);\n }\n\n style.appendChild(document.createTextNode(css));\n }\n };\noptions.setAttributes = function(style) {\n var nonce =\n true ? __webpack_require__.nc : 0;\n\n if (nonce) {\n style.setAttribute(\"nonce\", nonce);\n }\n };\noptions.insert = function(style){\n var target = _node_modules_style_loader_dist_runtime_getTarget_js__WEBPACK_IMPORTED_MODULE_2___default()(\"head\");\n\n if (!target) {\n throw new Error(\n \"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\"\n );\n }\n\n target.appendChild(style);\n };\noptions.domAPI = (_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_3___default());\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_17621d69_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_4__[\"default\"], options);\n\n\n\n\n /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_17621d69_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_4__[\"default\"] && _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_17621d69_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_4__[\"default\"].locals ? _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_17621d69_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_4__[\"default\"].locals : undefined);\n\n\n//# sourceURL=webpack://mui/./plugins/lib/svgIcon/index.vue?./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js??vue-loader-options");
|
|
3471
|
+
|
|
3472
|
+
/***/ }),
|
|
3473
|
+
|
|
3419
3474
|
/***/ "./node_modules/style-loader/dist/runtime/getTarget.js":
|
|
3420
3475
|
/*!*************************************************************!*\
|
|
3421
3476
|
!*** ./node_modules/style-loader/dist/runtime/getTarget.js ***!
|
|
@@ -3460,6 +3515,17 @@ eval("\n\n/* istanbul ignore next */\nfunction apply(style, options, obj) {\n
|
|
|
3460
3515
|
|
|
3461
3516
|
/***/ }),
|
|
3462
3517
|
|
|
3518
|
+
/***/ "./plugins/lib/svgIcon/index.vue":
|
|
3519
|
+
/*!***************************************!*\
|
|
3520
|
+
!*** ./plugins/lib/svgIcon/index.vue ***!
|
|
3521
|
+
\***************************************/
|
|
3522
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
3523
|
+
|
|
3524
|
+
"use strict";
|
|
3525
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _index_vue_vue_type_template_id_17621d69_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index.vue?vue&type=template&id=17621d69&scoped=true& */ \"./plugins/lib/svgIcon/index.vue?vue&type=template&id=17621d69&scoped=true&\");\n/* harmony import */ var _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.vue?vue&type=script&lang=js& */ \"./plugins/lib/svgIcon/index.vue?vue&type=script&lang=js&\");\n/* harmony import */ var _index_vue_vue_type_style_index_0_id_17621d69_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./index.vue?vue&type=style&index=0&id=17621d69&scoped=true&lang=css& */ \"./plugins/lib/svgIcon/index.vue?vue&type=style&index=0&id=17621d69&scoped=true&lang=css&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n;\n\n\n/* normalize component */\n\nvar component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _index_vue_vue_type_template_id_17621d69_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render,\n _index_vue_vue_type_template_id_17621d69_scoped_true___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns,\n false,\n null,\n \"17621d69\",\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"plugins/lib/svgIcon/index.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack://mui/./plugins/lib/svgIcon/index.vue?");
|
|
3526
|
+
|
|
3527
|
+
/***/ }),
|
|
3528
|
+
|
|
3463
3529
|
/***/ "./plugins/lib/tree/Tree.vue":
|
|
3464
3530
|
/*!***********************************!*\
|
|
3465
3531
|
!*** ./plugins/lib/tree/Tree.vue ***!
|
|
@@ -3471,6 +3537,17 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Tre
|
|
|
3471
3537
|
|
|
3472
3538
|
/***/ }),
|
|
3473
3539
|
|
|
3540
|
+
/***/ "./plugins/lib/svgIcon/index.vue?vue&type=script&lang=js&":
|
|
3541
|
+
/*!****************************************************************!*\
|
|
3542
|
+
!*** ./plugins/lib/svgIcon/index.vue?vue&type=script&lang=js& ***!
|
|
3543
|
+
\****************************************************************/
|
|
3544
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
3545
|
+
|
|
3546
|
+
"use strict";
|
|
3547
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./plugins/lib/svgIcon/index.vue?vue&type=script&lang=js&\");\n /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack://mui/./plugins/lib/svgIcon/index.vue?");
|
|
3548
|
+
|
|
3549
|
+
/***/ }),
|
|
3550
|
+
|
|
3474
3551
|
/***/ "./plugins/lib/tree/Tree.vue?vue&type=script&lang=js&":
|
|
3475
3552
|
/*!************************************************************!*\
|
|
3476
3553
|
!*** ./plugins/lib/tree/Tree.vue?vue&type=script&lang=js& ***!
|
|
@@ -3482,6 +3559,17 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _nod
|
|
|
3482
3559
|
|
|
3483
3560
|
/***/ }),
|
|
3484
3561
|
|
|
3562
|
+
/***/ "./plugins/lib/svgIcon/index.vue?vue&type=template&id=17621d69&scoped=true&":
|
|
3563
|
+
/*!**********************************************************************************!*\
|
|
3564
|
+
!*** ./plugins/lib/svgIcon/index.vue?vue&type=template&id=17621d69&scoped=true& ***!
|
|
3565
|
+
\**********************************************************************************/
|
|
3566
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
3567
|
+
|
|
3568
|
+
"use strict";
|
|
3569
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* reexport safe */ _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_17621d69_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render; },\n/* harmony export */ staticRenderFns: function() { return /* reexport safe */ _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_17621d69_scoped_true___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns; }\n/* harmony export */ });\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_17621d69_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=template&id=17621d69&scoped=true& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./plugins/lib/svgIcon/index.vue?vue&type=template&id=17621d69&scoped=true&\");\n\n\n//# sourceURL=webpack://mui/./plugins/lib/svgIcon/index.vue?");
|
|
3570
|
+
|
|
3571
|
+
/***/ }),
|
|
3572
|
+
|
|
3485
3573
|
/***/ "./plugins/lib/tree/Tree.vue?vue&type=template&id=45ca0cb8&scoped=true&":
|
|
3486
3574
|
/*!******************************************************************************!*\
|
|
3487
3575
|
!*** ./plugins/lib/tree/Tree.vue?vue&type=template&id=45ca0cb8&scoped=true& ***!
|
|
@@ -3504,6 +3592,17 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _nod
|
|
|
3504
3592
|
|
|
3505
3593
|
/***/ }),
|
|
3506
3594
|
|
|
3595
|
+
/***/ "./plugins/lib/svgIcon/index.vue?vue&type=style&index=0&id=17621d69&scoped=true&lang=css&":
|
|
3596
|
+
/*!************************************************************************************************!*\
|
|
3597
|
+
!*** ./plugins/lib/svgIcon/index.vue?vue&type=style&index=0&id=17621d69&scoped=true&lang=css& ***!
|
|
3598
|
+
\************************************************************************************************/
|
|
3599
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
3600
|
+
|
|
3601
|
+
"use strict";
|
|
3602
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_17621d69_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/style-loader/dist/cjs.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=17621d69&scoped=true&lang=css& */ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./plugins/lib/svgIcon/index.vue?vue&type=style&index=0&id=17621d69&scoped=true&lang=css&\");\n\n\n//# sourceURL=webpack://mui/./plugins/lib/svgIcon/index.vue?");
|
|
3603
|
+
|
|
3604
|
+
/***/ }),
|
|
3605
|
+
|
|
3507
3606
|
/***/ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js":
|
|
3508
3607
|
/*!********************************************************************!*\
|
|
3509
3608
|
!*** ./node_modules/vue-loader/lib/runtime/componentNormalizer.js ***!
|
package/lib/tree/Directory.js
CHANGED
|
@@ -3,6 +3,8 @@ import { getTreeKey, filterTreeById } from '../../utils/Tree'
|
|
|
3
3
|
import { Tree, Menu, Input, Icon, Button, Dropdown, Popconfirm } from 'ant-design-vue'
|
|
4
4
|
import './style/Directory.less'
|
|
5
5
|
|
|
6
|
+
import SvgIcon from '../svgIcon'
|
|
7
|
+
|
|
6
8
|
/* 明天来了做一下@快捷指向 */
|
|
7
9
|
|
|
8
10
|
const TreeNode = Tree.TreeNode
|
|
@@ -113,7 +115,7 @@ export default {
|
|
|
113
115
|
overlayClassName="DirectoryTreeMenu__Dropdown"
|
|
114
116
|
>
|
|
115
117
|
{/* getPopupContainer={() => this.$refs.TreeMenuActions} */}
|
|
116
|
-
<
|
|
118
|
+
<SvgIcon
|
|
117
119
|
class="ActionsIcons"
|
|
118
120
|
icon-class="tree-more"
|
|
119
121
|
{...{
|
|
@@ -134,7 +136,7 @@ export default {
|
|
|
134
136
|
}
|
|
135
137
|
}}
|
|
136
138
|
>
|
|
137
|
-
<
|
|
139
|
+
<SvgIcon icon-class={handle.svg} /> {handle.text}
|
|
138
140
|
</span>
|
|
139
141
|
)
|
|
140
142
|
})}
|
|
@@ -142,7 +144,7 @@ export default {
|
|
|
142
144
|
</Dropdown>
|
|
143
145
|
{
|
|
144
146
|
treeActionsPlus &&
|
|
145
|
-
<
|
|
147
|
+
<SvgIcon
|
|
146
148
|
class="ActionsIcons"
|
|
147
149
|
icon-class="tree-plus"
|
|
148
150
|
{...{
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
|
|
15
15
|
.ActionsIcons {
|
|
16
16
|
cursor: pointer;
|
|
17
|
-
.layout( 16px, 16px );
|
|
17
|
+
.layout( 16px, 16px ) !important;
|
|
18
18
|
|
|
19
19
|
&:focus {
|
|
20
20
|
outline: none;
|
|
@@ -99,7 +99,7 @@
|
|
|
99
99
|
.svg-icon {
|
|
100
100
|
margin-right: 8px;
|
|
101
101
|
.layout( 16px, 16px );
|
|
102
|
-
}
|
|
102
|
+
}
|
|
103
103
|
|
|
104
104
|
// &:hover {
|
|
105
105
|
// color: @sub-color;
|
package/package.json
CHANGED
|
@@ -3,6 +3,8 @@ import { getTreeKey, filterTreeById } from '../../utils/Tree'
|
|
|
3
3
|
import { Tree, Menu, Input, Icon, Button, Dropdown, Popconfirm } from 'ant-design-vue'
|
|
4
4
|
import './style/Directory.less'
|
|
5
5
|
|
|
6
|
+
import SvgIcon from '../svgIcon'
|
|
7
|
+
|
|
6
8
|
/* 明天来了做一下@快捷指向 */
|
|
7
9
|
|
|
8
10
|
const TreeNode = Tree.TreeNode
|
|
@@ -113,7 +115,7 @@ export default {
|
|
|
113
115
|
overlayClassName="DirectoryTreeMenu__Dropdown"
|
|
114
116
|
>
|
|
115
117
|
{/* getPopupContainer={() => this.$refs.TreeMenuActions} */}
|
|
116
|
-
<
|
|
118
|
+
<SvgIcon
|
|
117
119
|
class="ActionsIcons"
|
|
118
120
|
icon-class="tree-more"
|
|
119
121
|
{...{
|
|
@@ -134,7 +136,7 @@ export default {
|
|
|
134
136
|
}
|
|
135
137
|
}}
|
|
136
138
|
>
|
|
137
|
-
<
|
|
139
|
+
<SvgIcon icon-class={handle.svg} /> {handle.text}
|
|
138
140
|
</span>
|
|
139
141
|
)
|
|
140
142
|
})}
|
|
@@ -142,7 +144,7 @@ export default {
|
|
|
142
144
|
</Dropdown>
|
|
143
145
|
{
|
|
144
146
|
treeActionsPlus &&
|
|
145
|
-
<
|
|
147
|
+
<SvgIcon
|
|
146
148
|
class="ActionsIcons"
|
|
147
149
|
icon-class="tree-plus"
|
|
148
150
|
{...{
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
|
|
15
15
|
.ActionsIcons {
|
|
16
16
|
cursor: pointer;
|
|
17
|
-
.layout( 16px, 16px );
|
|
17
|
+
.layout( 16px, 16px ) !important;
|
|
18
18
|
|
|
19
19
|
&:focus {
|
|
20
20
|
outline: none;
|
|
@@ -99,7 +99,7 @@
|
|
|
99
99
|
.svg-icon {
|
|
100
100
|
margin-right: 8px;
|
|
101
101
|
.layout( 16px, 16px );
|
|
102
|
-
}
|
|
102
|
+
}
|
|
103
103
|
|
|
104
104
|
// &:hover {
|
|
105
105
|
// color: @sub-color;
|