web-component-gallery 0.1.67 → 0.1.68
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 +2 -2
- package/dist/index.umd.js +2 -2
- package/dist/tree.umd.js +1 -1
- package/lib/browse/index.jsx +1 -0
- package/package.json +1 -1
- package/plugins/lib/browse/index.jsx +1 -0
- package/plugins/utils/Tree.js +57 -58
- package/utils/Tree.js +57 -58
package/dist/amap.umd.js
CHANGED
|
@@ -8571,7 +8571,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _ind
|
|
|
8571
8571
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
8572
8572
|
|
|
8573
8573
|
"use strict";
|
|
8574
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ant-design-vue/es/_util/vue-types */ \"./node_modules/ant-design-vue/es/_util/vue-types/index.js\");\n/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index.less */ \"./plugins/lib/browse/index.less\");\n/* harmony import */ var _utils_Base64__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/Base64 */ \"./plugins/utils/Base64.js\");\n/* harmony import */ var _utils_Base64__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_utils_Base64__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _utils_Utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/Utils */ \"./plugins/utils/Utils.js\");\n\n\n\n\nconst pictureType = [\"gif\", \"jpeg\", \"png\", \"jpg\", \"bmp\", \"tif\", \"svg\", \"psd\", \"raw\", \"WMF\", \"webp\", \"apng\"];\nconst audioType = [\"mp3\", \"wma\", \"flac\", \"aac\", \"mmf\", \"amr\", \"m4a\", \"m4r\", \"ogg\", \"mp2\", \"wav\"];\nconst videoType = [\"avi\", \"flv\", \"mpg\", \"mpeg\", \"mpe\", \"m1v\", \"m2v\", \"mpv2\", \"mp2v\", \"dat\", \"ts\", \"tp\", \"tpr\", \"pva\", \"pss\", \"mp4\", \"m4v\", \"m4p\", \"m4b\", \"3gp\", \"3gpp\", \"3g2\", \"3gp2\", \"ogg\", \"mov\", \"qt\", \"amr\", \"rm\", \"ram\", \"rmvb\", \"rpm\"];\nconst BrowseProps = {\n data: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].oneOfType([ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].string, ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].array, ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].object]).def([]),\n /** 限制高度 */\n astrictH: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].oneOfType([ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].string, ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].number])\n};\nconst renderContent = (h, item, https, astrictH) => {\n const type = item.url.slice(item.url.lastIndexOf('.') + 1).toLowerCase();\n const CustomTag = pictureType.includes(type) && 'img' || audioType.includes(type) && 'audio' || videoType.includes(type) && 'video' || 'iframe';\n const attrs = {\n src: https.FILEURL + item.url\n };\n CustomTag === 'iframe' && (attrs.src = https.KKFILEURL + encodeURIComponent(_utils_Base64__WEBPACK_IMPORTED_MODULE_1__.Base64.encode(attrs.src)));\n if (astrictH) {\n const style = (0,_utils_Utils__WEBPACK_IMPORTED_MODULE_2__.getPictureAttrs)(attrs.src, astrictH);\n attrs.style = `width: ${style.width}px; height: ${style.height}px;`;\n }\n return h(CustomTag, {\n \"attrs\": {\n ...attrs\n }\n });\n};\nconst Browse = {\n name: 'Browse',\n props: BrowseProps,\n render(h, content) {\n let {\n data,\n $https,\n astrictH\n } = this;\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (error) {\n data = [];\n }\n }\n return h(\"div\", {\n \"class\": \"Browse\"\n }, [data instanceof Array ? data.map(dataItem => renderContent(h, dataItem, $https, astrictH)) : renderContent(h, data, $https, astrictH)]);\n }\n};\nBrowse.install = function (Vue) {\n Vue.component('Browse', Browse);\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Browse);\n\n//# sourceURL=webpack://mui/./plugins/lib/browse/index.jsx?");
|
|
8574
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ant-design-vue/es/_util/vue-types */ \"./node_modules/ant-design-vue/es/_util/vue-types/index.js\");\n/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index.less */ \"./plugins/lib/browse/index.less\");\n/* harmony import */ var _utils_Base64__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/Base64 */ \"./plugins/utils/Base64.js\");\n/* harmony import */ var _utils_Base64__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_utils_Base64__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _utils_Utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/Utils */ \"./plugins/utils/Utils.js\");\n\n\n\n\nconst pictureType = [\"gif\", \"jpeg\", \"png\", \"jpg\", \"bmp\", \"tif\", \"svg\", \"psd\", \"raw\", \"WMF\", \"webp\", \"apng\"];\nconst audioType = [\"mp3\", \"wma\", \"flac\", \"aac\", \"mmf\", \"amr\", \"m4a\", \"m4r\", \"ogg\", \"mp2\", \"wav\"];\nconst videoType = [\"avi\", \"flv\", \"mpg\", \"mpeg\", \"mpe\", \"m1v\", \"m2v\", \"mpv2\", \"mp2v\", \"dat\", \"ts\", \"tp\", \"tpr\", \"pva\", \"pss\", \"mp4\", \"m4v\", \"m4p\", \"m4b\", \"3gp\", \"3gpp\", \"3g2\", \"3gp2\", \"ogg\", \"mov\", \"qt\", \"amr\", \"rm\", \"ram\", \"rmvb\", \"rpm\"];\nconst BrowseProps = {\n data: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].oneOfType([ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].string, ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].array, ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].object]).def([]),\n /** 限制高度 */\n astrictH: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].oneOfType([ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].string, ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].number])\n};\nconst renderContent = (h, item, https, astrictH) => {\n const type = item.url.slice(item.url.lastIndexOf('.') + 1).toLowerCase();\n const CustomTag = pictureType.includes(type) && 'img' || audioType.includes(type) && 'audio' || videoType.includes(type) && 'video' || 'iframe';\n const attrs = {\n controls: true,\n src: https.FILEURL + item.url\n };\n CustomTag === 'iframe' && (attrs.src = https.KKFILEURL + encodeURIComponent(_utils_Base64__WEBPACK_IMPORTED_MODULE_1__.Base64.encode(attrs.src)));\n if (astrictH) {\n const style = (0,_utils_Utils__WEBPACK_IMPORTED_MODULE_2__.getPictureAttrs)(attrs.src, astrictH);\n attrs.style = `width: ${style.width}px; height: ${style.height}px;`;\n }\n return h(CustomTag, {\n \"attrs\": {\n ...attrs\n }\n });\n};\nconst Browse = {\n name: 'Browse',\n props: BrowseProps,\n render(h, content) {\n let {\n data,\n $https,\n astrictH\n } = this;\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (error) {\n data = [];\n }\n }\n return h(\"div\", {\n \"class\": \"Browse\"\n }, [data instanceof Array ? data.map(dataItem => renderContent(h, dataItem, $https, astrictH)) : renderContent(h, data, $https, astrictH)]);\n }\n};\nBrowse.install = function (Vue) {\n Vue.component('Browse', Browse);\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Browse);\n\n//# sourceURL=webpack://mui/./plugins/lib/browse/index.jsx?");
|
|
8575
8575
|
|
|
8576
8576
|
/***/ }),
|
|
8577
8577
|
|
|
@@ -8999,7 +8999,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
8999
8999
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
9000
9000
|
|
|
9001
9001
|
"use strict";
|
|
9002
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ filterTreeById: function() { return /* binding */ filterTreeById; },\n/* harmony export */ findCheckNodes: function() { return /* binding */ findCheckNodes; },\n/* harmony export */ getAllParents: function() { return /* binding */ getAllParents; },\n/* harmony export */ getTreeKey: function() { return /* binding */ getTreeKey; },\n/* harmony export */ joinTreeMessage: function() { return /* binding */ joinTreeMessage; }\n/* harmony export */ });\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\n/**\r\n * 获取树形结构所有key\r\n * @param nodes 数组对象\r\n * @param parent 是否只获取父一层的属性\r\n * @param replaceFields 自定义属性进行查询\r\n */\nfunction getTreeKey(nodes, parent = false, replaceFields = {\n children: 'children',\n key: 'id',\n title: 'title'\n}) {\n const filterNodes = [];\n function generateList(checkNodes) {\n checkNodes.forEach(e => {\n if (!parent) filterNodes.push(e[replaceFields.key]);\n if (e[replaceFields.children]?.length) {\n if (parent) filterNodes.push(e[replaceFields.key]);\n generateList(e[replaceFields.children]);\n }\n });\n }\n generateList(nodes);\n return filterNodes;\n}\n\n/**\r\n * 根据树子节点ID过滤出最后一级child\r\n * @param {array} dataSource 树形结构数据源\r\n * @param {array} nodeIds 需要过滤的数据集\r\n * @param {string} hasField 过滤包含属性(默认为children)\r\n * @param {string} searchField 查找属性(默认为id)\r\n */\n\nfunction findCheckNodes(dataSource, nodeIds, searchField = 'id', hasField = 'children') {\n let checkNodes = [];\n function traverse(node, nodeIds) {\n if (nodeIds.includes(node[searchField]) && !node.hasOwnProperty(hasField)) {\n checkNodes.push(node);\n return true;\n }\n node[hasField] && node[hasField].forEach(childNode => {\n if (traverse(childNode, nodeIds)) return true;\n });\n return false;\n }\n for (let i = 0; i < dataSource.length; i++) {\n if (traverse(dataSource[i], nodeIds)) {\n break;\n }\n }\n return checkNodes;\n}\n\n/**\r\n * 根据要求拼接树结构字段 ( 比如:后端返回name phone,前端显示要求name后拼接phone\r\n * @param nodes 数组对象\r\n * @param fileds 哪些字段需要拼接\r\n * @param replaceField 拼接后赋值字段\r\n * @param childNode 子级结点\r\n */\nfunction joinTreeMessage(nodes, fileds, replaceField, childNode) {\n function generateList(checkNodes) {\n checkNodes.forEach(e => {\n e[replaceField] = '';\n fileds.forEach(filed => e[filed] && (e[replaceField] += ` ${e[filed]}`));\n if (e[childNode]?.length) {\n generateList(e[childNode]);\n }\n });\n }\n generateList(nodes);\n return nodes;\n}\n\n/**\r\n * 根据某个属性查找出整个树结构中匹配相同的数据\r\n * @param tree 数组对象\r\n * @param key 需要查找的属性\r\n * @param replaceFields 树结构对应子级及查找key的属性\r\n * {\r\n children: 'children', // 查找子级字段\r\n key: 'id' // key的字段\r\n }\r\n */\nfunction filterTreeById(tree, key, replaceFields = {\n children: 'children',\n key: 'id'\n}) {\n return tree.reduce((acc, node) => {\n if (node[replaceFields.key] === key) {\n return [...acc, node];\n } else if (node[replaceFields.children] && node[replaceFields.children].length > 0) {\n const filteredChildren = filterTreeById(node[replaceFields.children], key);\n if (filteredChildren.length > 0) return filteredChildren;\n }\n return acc;\n }, []);\n}\n\n/**\r\n * 根据最后一级子id获取全部父id\r\n * @param tree 数组对象\r\n * @param key 需要查找的属性\r\n * @param replaceFields 树结构对应子级及查找key的属性\r\n * {\r\n children: 'children', // 查找子级字段\r\n key: 'id' // key的字段\r\n }\r\n */\nfunction getAllParents(tree,
|
|
9002
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ filterTreeById: function() { return /* binding */ filterTreeById; },\n/* harmony export */ findCheckNodes: function() { return /* binding */ findCheckNodes; },\n/* harmony export */ getAllParents: function() { return /* binding */ getAllParents; },\n/* harmony export */ getTreeKey: function() { return /* binding */ getTreeKey; },\n/* harmony export */ joinTreeMessage: function() { return /* binding */ joinTreeMessage; }\n/* harmony export */ });\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\n/**\r\n * 获取树形结构所有key\r\n * @param nodes 数组对象\r\n * @param parent 是否只获取父一层的属性\r\n * @param replaceFields 自定义属性进行查询\r\n */\nfunction getTreeKey(nodes, parent = false, replaceFields = {\n children: 'children',\n key: 'id',\n title: 'title'\n}) {\n const filterNodes = [];\n function generateList(checkNodes) {\n checkNodes.forEach(e => {\n if (!parent) filterNodes.push(e[replaceFields.key]);\n if (e[replaceFields.children]?.length) {\n if (parent) filterNodes.push(e[replaceFields.key]);\n generateList(e[replaceFields.children]);\n }\n });\n }\n generateList(nodes);\n return filterNodes;\n}\n\n/**\r\n * 根据树子节点ID过滤出最后一级child\r\n * @param {array} dataSource 树形结构数据源\r\n * @param {array} nodeIds 需要过滤的数据集\r\n * @param {string} hasField 过滤包含属性(默认为children)\r\n * @param {string} searchField 查找属性(默认为id)\r\n */\n\nfunction findCheckNodes(dataSource, nodeIds, searchField = 'id', hasField = 'children') {\n let checkNodes = [];\n function traverse(node, nodeIds) {\n if (nodeIds.includes(node[searchField]) && !node.hasOwnProperty(hasField)) {\n checkNodes.push(node);\n return true;\n }\n node[hasField] && node[hasField].forEach(childNode => {\n if (traverse(childNode, nodeIds)) return true;\n });\n return false;\n }\n for (let i = 0; i < dataSource.length; i++) {\n if (traverse(dataSource[i], nodeIds)) {\n break;\n }\n }\n return checkNodes;\n}\n\n/**\r\n * 根据要求拼接树结构字段 ( 比如:后端返回name phone,前端显示要求name后拼接phone\r\n * @param nodes 数组对象\r\n * @param fileds 哪些字段需要拼接\r\n * @param replaceField 拼接后赋值字段\r\n * @param childNode 子级结点\r\n */\nfunction joinTreeMessage(nodes, fileds, replaceField, childNode) {\n function generateList(checkNodes) {\n checkNodes.forEach(e => {\n e[replaceField] = '';\n fileds.forEach(filed => e[filed] && (e[replaceField] += ` ${e[filed]}`));\n if (e[childNode]?.length) {\n generateList(e[childNode]);\n }\n });\n }\n generateList(nodes);\n return nodes;\n}\n\n/**\r\n * 根据某个属性查找出整个树结构中匹配相同的数据\r\n * @param tree 数组对象\r\n * @param key 需要查找的属性\r\n * @param replaceFields 树结构对应子级及查找key的属性\r\n * {\r\n children: 'children', // 查找子级字段\r\n key: 'id' // key的字段\r\n }\r\n */\nfunction filterTreeById(tree, key, replaceFields = {\n children: 'children',\n key: 'id'\n}) {\n return tree.reduce((acc, node) => {\n if (node[replaceFields.key] === key) {\n return [...acc, node];\n } else if (node[replaceFields.children] && node[replaceFields.children].length > 0) {\n const filteredChildren = filterTreeById(node[replaceFields.children], key);\n if (filteredChildren.length > 0) return filteredChildren;\n }\n return acc;\n }, []);\n}\n\n/**\r\n * 根据最后一级子id获取全部父id\r\n * @param tree 数组对象\r\n * @param key 需要查找的属性\r\n * @param replaceFields 树结构对应子级及查找key的属性\r\n * {\r\n children: 'children', // 查找子级字段\r\n key: 'id' // key的字段\r\n }\r\n */\nfunction getAllParents(tree, nodeId, replaceFields = {}) {\n const {\n children = 'children',\n key = 'id'\n } = replaceFields;\n const toFlatArray = (tree, parentId) => {\n return tree.reduce((t, _) => {\n const child = _[children];\n return [...t, parentId ? {\n ..._,\n parentId\n } : _, ...(child && child.length ? toFlatArray(child, _[key]) : [])];\n }, []);\n };\n const getIds = flatArray => {\n let ids = [nodeId];\n let child = flatArray.find(_ => _[key] === nodeId);\n while (child && child.parentId) {\n ids = [child.parentId, ...ids];\n child = flatArray.find(_ => _[key] === child.parentId);\n }\n return ids;\n };\n return getIds(toFlatArray(tree));\n}\n\n//# sourceURL=webpack://mui/./plugins/utils/Tree.js?");
|
|
9003
9003
|
|
|
9004
9004
|
/***/ }),
|
|
9005
9005
|
|
package/dist/index.umd.js
CHANGED
|
@@ -8571,7 +8571,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _ind
|
|
|
8571
8571
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
8572
8572
|
|
|
8573
8573
|
"use strict";
|
|
8574
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ant-design-vue/es/_util/vue-types */ \"./node_modules/ant-design-vue/es/_util/vue-types/index.js\");\n/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index.less */ \"./plugins/lib/browse/index.less\");\n/* harmony import */ var _utils_Base64__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/Base64 */ \"./plugins/utils/Base64.js\");\n/* harmony import */ var _utils_Base64__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_utils_Base64__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _utils_Utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/Utils */ \"./plugins/utils/Utils.js\");\n\n\n\n\nconst pictureType = [\"gif\", \"jpeg\", \"png\", \"jpg\", \"bmp\", \"tif\", \"svg\", \"psd\", \"raw\", \"WMF\", \"webp\", \"apng\"];\nconst audioType = [\"mp3\", \"wma\", \"flac\", \"aac\", \"mmf\", \"amr\", \"m4a\", \"m4r\", \"ogg\", \"mp2\", \"wav\"];\nconst videoType = [\"avi\", \"flv\", \"mpg\", \"mpeg\", \"mpe\", \"m1v\", \"m2v\", \"mpv2\", \"mp2v\", \"dat\", \"ts\", \"tp\", \"tpr\", \"pva\", \"pss\", \"mp4\", \"m4v\", \"m4p\", \"m4b\", \"3gp\", \"3gpp\", \"3g2\", \"3gp2\", \"ogg\", \"mov\", \"qt\", \"amr\", \"rm\", \"ram\", \"rmvb\", \"rpm\"];\nconst BrowseProps = {\n data: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].oneOfType([ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].string, ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].array, ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].object]).def([]),\n /** 限制高度 */\n astrictH: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].oneOfType([ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].string, ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].number])\n};\nconst renderContent = (h, item, https, astrictH) => {\n const type = item.url.slice(item.url.lastIndexOf('.') + 1).toLowerCase();\n const CustomTag = pictureType.includes(type) && 'img' || audioType.includes(type) && 'audio' || videoType.includes(type) && 'video' || 'iframe';\n const attrs = {\n src: https.FILEURL + item.url\n };\n CustomTag === 'iframe' && (attrs.src = https.KKFILEURL + encodeURIComponent(_utils_Base64__WEBPACK_IMPORTED_MODULE_1__.Base64.encode(attrs.src)));\n if (astrictH) {\n const style = (0,_utils_Utils__WEBPACK_IMPORTED_MODULE_2__.getPictureAttrs)(attrs.src, astrictH);\n attrs.style = `width: ${style.width}px; height: ${style.height}px;`;\n }\n return h(CustomTag, {\n \"attrs\": {\n ...attrs\n }\n });\n};\nconst Browse = {\n name: 'Browse',\n props: BrowseProps,\n render(h, content) {\n let {\n data,\n $https,\n astrictH\n } = this;\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (error) {\n data = [];\n }\n }\n return h(\"div\", {\n \"class\": \"Browse\"\n }, [data instanceof Array ? data.map(dataItem => renderContent(h, dataItem, $https, astrictH)) : renderContent(h, data, $https, astrictH)]);\n }\n};\nBrowse.install = function (Vue) {\n Vue.component('Browse', Browse);\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Browse);\n\n//# sourceURL=webpack://mui/./plugins/lib/browse/index.jsx?");
|
|
8574
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ant-design-vue/es/_util/vue-types */ \"./node_modules/ant-design-vue/es/_util/vue-types/index.js\");\n/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index.less */ \"./plugins/lib/browse/index.less\");\n/* harmony import */ var _utils_Base64__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/Base64 */ \"./plugins/utils/Base64.js\");\n/* harmony import */ var _utils_Base64__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_utils_Base64__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _utils_Utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/Utils */ \"./plugins/utils/Utils.js\");\n\n\n\n\nconst pictureType = [\"gif\", \"jpeg\", \"png\", \"jpg\", \"bmp\", \"tif\", \"svg\", \"psd\", \"raw\", \"WMF\", \"webp\", \"apng\"];\nconst audioType = [\"mp3\", \"wma\", \"flac\", \"aac\", \"mmf\", \"amr\", \"m4a\", \"m4r\", \"ogg\", \"mp2\", \"wav\"];\nconst videoType = [\"avi\", \"flv\", \"mpg\", \"mpeg\", \"mpe\", \"m1v\", \"m2v\", \"mpv2\", \"mp2v\", \"dat\", \"ts\", \"tp\", \"tpr\", \"pva\", \"pss\", \"mp4\", \"m4v\", \"m4p\", \"m4b\", \"3gp\", \"3gpp\", \"3g2\", \"3gp2\", \"ogg\", \"mov\", \"qt\", \"amr\", \"rm\", \"ram\", \"rmvb\", \"rpm\"];\nconst BrowseProps = {\n data: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].oneOfType([ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].string, ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].array, ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].object]).def([]),\n /** 限制高度 */\n astrictH: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].oneOfType([ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].string, ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].number])\n};\nconst renderContent = (h, item, https, astrictH) => {\n const type = item.url.slice(item.url.lastIndexOf('.') + 1).toLowerCase();\n const CustomTag = pictureType.includes(type) && 'img' || audioType.includes(type) && 'audio' || videoType.includes(type) && 'video' || 'iframe';\n const attrs = {\n controls: true,\n src: https.FILEURL + item.url\n };\n CustomTag === 'iframe' && (attrs.src = https.KKFILEURL + encodeURIComponent(_utils_Base64__WEBPACK_IMPORTED_MODULE_1__.Base64.encode(attrs.src)));\n if (astrictH) {\n const style = (0,_utils_Utils__WEBPACK_IMPORTED_MODULE_2__.getPictureAttrs)(attrs.src, astrictH);\n attrs.style = `width: ${style.width}px; height: ${style.height}px;`;\n }\n return h(CustomTag, {\n \"attrs\": {\n ...attrs\n }\n });\n};\nconst Browse = {\n name: 'Browse',\n props: BrowseProps,\n render(h, content) {\n let {\n data,\n $https,\n astrictH\n } = this;\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (error) {\n data = [];\n }\n }\n return h(\"div\", {\n \"class\": \"Browse\"\n }, [data instanceof Array ? data.map(dataItem => renderContent(h, dataItem, $https, astrictH)) : renderContent(h, data, $https, astrictH)]);\n }\n};\nBrowse.install = function (Vue) {\n Vue.component('Browse', Browse);\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Browse);\n\n//# sourceURL=webpack://mui/./plugins/lib/browse/index.jsx?");
|
|
8575
8575
|
|
|
8576
8576
|
/***/ }),
|
|
8577
8577
|
|
|
@@ -8999,7 +8999,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
8999
8999
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
9000
9000
|
|
|
9001
9001
|
"use strict";
|
|
9002
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ filterTreeById: function() { return /* binding */ filterTreeById; },\n/* harmony export */ findCheckNodes: function() { return /* binding */ findCheckNodes; },\n/* harmony export */ getAllParents: function() { return /* binding */ getAllParents; },\n/* harmony export */ getTreeKey: function() { return /* binding */ getTreeKey; },\n/* harmony export */ joinTreeMessage: function() { return /* binding */ joinTreeMessage; }\n/* harmony export */ });\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\n/**\r\n * 获取树形结构所有key\r\n * @param nodes 数组对象\r\n * @param parent 是否只获取父一层的属性\r\n * @param replaceFields 自定义属性进行查询\r\n */\nfunction getTreeKey(nodes, parent = false, replaceFields = {\n children: 'children',\n key: 'id',\n title: 'title'\n}) {\n const filterNodes = [];\n function generateList(checkNodes) {\n checkNodes.forEach(e => {\n if (!parent) filterNodes.push(e[replaceFields.key]);\n if (e[replaceFields.children]?.length) {\n if (parent) filterNodes.push(e[replaceFields.key]);\n generateList(e[replaceFields.children]);\n }\n });\n }\n generateList(nodes);\n return filterNodes;\n}\n\n/**\r\n * 根据树子节点ID过滤出最后一级child\r\n * @param {array} dataSource 树形结构数据源\r\n * @param {array} nodeIds 需要过滤的数据集\r\n * @param {string} hasField 过滤包含属性(默认为children)\r\n * @param {string} searchField 查找属性(默认为id)\r\n */\n\nfunction findCheckNodes(dataSource, nodeIds, searchField = 'id', hasField = 'children') {\n let checkNodes = [];\n function traverse(node, nodeIds) {\n if (nodeIds.includes(node[searchField]) && !node.hasOwnProperty(hasField)) {\n checkNodes.push(node);\n return true;\n }\n node[hasField] && node[hasField].forEach(childNode => {\n if (traverse(childNode, nodeIds)) return true;\n });\n return false;\n }\n for (let i = 0; i < dataSource.length; i++) {\n if (traverse(dataSource[i], nodeIds)) {\n break;\n }\n }\n return checkNodes;\n}\n\n/**\r\n * 根据要求拼接树结构字段 ( 比如:后端返回name phone,前端显示要求name后拼接phone\r\n * @param nodes 数组对象\r\n * @param fileds 哪些字段需要拼接\r\n * @param replaceField 拼接后赋值字段\r\n * @param childNode 子级结点\r\n */\nfunction joinTreeMessage(nodes, fileds, replaceField, childNode) {\n function generateList(checkNodes) {\n checkNodes.forEach(e => {\n e[replaceField] = '';\n fileds.forEach(filed => e[filed] && (e[replaceField] += ` ${e[filed]}`));\n if (e[childNode]?.length) {\n generateList(e[childNode]);\n }\n });\n }\n generateList(nodes);\n return nodes;\n}\n\n/**\r\n * 根据某个属性查找出整个树结构中匹配相同的数据\r\n * @param tree 数组对象\r\n * @param key 需要查找的属性\r\n * @param replaceFields 树结构对应子级及查找key的属性\r\n * {\r\n children: 'children', // 查找子级字段\r\n key: 'id' // key的字段\r\n }\r\n */\nfunction filterTreeById(tree, key, replaceFields = {\n children: 'children',\n key: 'id'\n}) {\n return tree.reduce((acc, node) => {\n if (node[replaceFields.key] === key) {\n return [...acc, node];\n } else if (node[replaceFields.children] && node[replaceFields.children].length > 0) {\n const filteredChildren = filterTreeById(node[replaceFields.children], key);\n if (filteredChildren.length > 0) return filteredChildren;\n }\n return acc;\n }, []);\n}\n\n/**\r\n * 根据最后一级子id获取全部父id\r\n * @param tree 数组对象\r\n * @param key 需要查找的属性\r\n * @param replaceFields 树结构对应子级及查找key的属性\r\n * {\r\n children: 'children', // 查找子级字段\r\n key: 'id' // key的字段\r\n }\r\n */\nfunction getAllParents(tree,
|
|
9002
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ filterTreeById: function() { return /* binding */ filterTreeById; },\n/* harmony export */ findCheckNodes: function() { return /* binding */ findCheckNodes; },\n/* harmony export */ getAllParents: function() { return /* binding */ getAllParents; },\n/* harmony export */ getTreeKey: function() { return /* binding */ getTreeKey; },\n/* harmony export */ joinTreeMessage: function() { return /* binding */ joinTreeMessage; }\n/* harmony export */ });\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\n/**\r\n * 获取树形结构所有key\r\n * @param nodes 数组对象\r\n * @param parent 是否只获取父一层的属性\r\n * @param replaceFields 自定义属性进行查询\r\n */\nfunction getTreeKey(nodes, parent = false, replaceFields = {\n children: 'children',\n key: 'id',\n title: 'title'\n}) {\n const filterNodes = [];\n function generateList(checkNodes) {\n checkNodes.forEach(e => {\n if (!parent) filterNodes.push(e[replaceFields.key]);\n if (e[replaceFields.children]?.length) {\n if (parent) filterNodes.push(e[replaceFields.key]);\n generateList(e[replaceFields.children]);\n }\n });\n }\n generateList(nodes);\n return filterNodes;\n}\n\n/**\r\n * 根据树子节点ID过滤出最后一级child\r\n * @param {array} dataSource 树形结构数据源\r\n * @param {array} nodeIds 需要过滤的数据集\r\n * @param {string} hasField 过滤包含属性(默认为children)\r\n * @param {string} searchField 查找属性(默认为id)\r\n */\n\nfunction findCheckNodes(dataSource, nodeIds, searchField = 'id', hasField = 'children') {\n let checkNodes = [];\n function traverse(node, nodeIds) {\n if (nodeIds.includes(node[searchField]) && !node.hasOwnProperty(hasField)) {\n checkNodes.push(node);\n return true;\n }\n node[hasField] && node[hasField].forEach(childNode => {\n if (traverse(childNode, nodeIds)) return true;\n });\n return false;\n }\n for (let i = 0; i < dataSource.length; i++) {\n if (traverse(dataSource[i], nodeIds)) {\n break;\n }\n }\n return checkNodes;\n}\n\n/**\r\n * 根据要求拼接树结构字段 ( 比如:后端返回name phone,前端显示要求name后拼接phone\r\n * @param nodes 数组对象\r\n * @param fileds 哪些字段需要拼接\r\n * @param replaceField 拼接后赋值字段\r\n * @param childNode 子级结点\r\n */\nfunction joinTreeMessage(nodes, fileds, replaceField, childNode) {\n function generateList(checkNodes) {\n checkNodes.forEach(e => {\n e[replaceField] = '';\n fileds.forEach(filed => e[filed] && (e[replaceField] += ` ${e[filed]}`));\n if (e[childNode]?.length) {\n generateList(e[childNode]);\n }\n });\n }\n generateList(nodes);\n return nodes;\n}\n\n/**\r\n * 根据某个属性查找出整个树结构中匹配相同的数据\r\n * @param tree 数组对象\r\n * @param key 需要查找的属性\r\n * @param replaceFields 树结构对应子级及查找key的属性\r\n * {\r\n children: 'children', // 查找子级字段\r\n key: 'id' // key的字段\r\n }\r\n */\nfunction filterTreeById(tree, key, replaceFields = {\n children: 'children',\n key: 'id'\n}) {\n return tree.reduce((acc, node) => {\n if (node[replaceFields.key] === key) {\n return [...acc, node];\n } else if (node[replaceFields.children] && node[replaceFields.children].length > 0) {\n const filteredChildren = filterTreeById(node[replaceFields.children], key);\n if (filteredChildren.length > 0) return filteredChildren;\n }\n return acc;\n }, []);\n}\n\n/**\r\n * 根据最后一级子id获取全部父id\r\n * @param tree 数组对象\r\n * @param key 需要查找的属性\r\n * @param replaceFields 树结构对应子级及查找key的属性\r\n * {\r\n children: 'children', // 查找子级字段\r\n key: 'id' // key的字段\r\n }\r\n */\nfunction getAllParents(tree, nodeId, replaceFields = {}) {\n const {\n children = 'children',\n key = 'id'\n } = replaceFields;\n const toFlatArray = (tree, parentId) => {\n return tree.reduce((t, _) => {\n const child = _[children];\n return [...t, parentId ? {\n ..._,\n parentId\n } : _, ...(child && child.length ? toFlatArray(child, _[key]) : [])];\n }, []);\n };\n const getIds = flatArray => {\n let ids = [nodeId];\n let child = flatArray.find(_ => _[key] === nodeId);\n while (child && child.parentId) {\n ids = [child.parentId, ...ids];\n child = flatArray.find(_ => _[key] === child.parentId);\n }\n return ids;\n };\n return getIds(toFlatArray(tree));\n}\n\n//# sourceURL=webpack://mui/./plugins/utils/Tree.js?");
|
|
9003
9003
|
|
|
9004
9004
|
/***/ }),
|
|
9005
9005
|
|
package/dist/tree.umd.js
CHANGED
|
@@ -3401,7 +3401,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
3401
3401
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
3402
3402
|
|
|
3403
3403
|
"use strict";
|
|
3404
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ filterTreeById: function() { return /* binding */ filterTreeById; },\n/* harmony export */ findCheckNodes: function() { return /* binding */ findCheckNodes; },\n/* harmony export */ getAllParents: function() { return /* binding */ getAllParents; },\n/* harmony export */ getTreeKey: function() { return /* binding */ getTreeKey; },\n/* harmony export */ joinTreeMessage: function() { return /* binding */ joinTreeMessage; }\n/* harmony export */ });\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\n/**\r\n * 获取树形结构所有key\r\n * @param nodes 数组对象\r\n * @param parent 是否只获取父一层的属性\r\n * @param replaceFields 自定义属性进行查询\r\n */\nfunction getTreeKey(nodes, parent = false, replaceFields = {\n children: 'children',\n key: 'id',\n title: 'title'\n}) {\n const filterNodes = [];\n function generateList(checkNodes) {\n checkNodes.forEach(e => {\n if (!parent) filterNodes.push(e[replaceFields.key]);\n if (e[replaceFields.children]?.length) {\n if (parent) filterNodes.push(e[replaceFields.key]);\n generateList(e[replaceFields.children]);\n }\n });\n }\n generateList(nodes);\n return filterNodes;\n}\n\n/**\r\n * 根据树子节点ID过滤出最后一级child\r\n * @param {array} dataSource 树形结构数据源\r\n * @param {array} nodeIds 需要过滤的数据集\r\n * @param {string} hasField 过滤包含属性(默认为children)\r\n * @param {string} searchField 查找属性(默认为id)\r\n */\n\nfunction findCheckNodes(dataSource, nodeIds, searchField = 'id', hasField = 'children') {\n let checkNodes = [];\n function traverse(node, nodeIds) {\n if (nodeIds.includes(node[searchField]) && !node.hasOwnProperty(hasField)) {\n checkNodes.push(node);\n return true;\n }\n node[hasField] && node[hasField].forEach(childNode => {\n if (traverse(childNode, nodeIds)) return true;\n });\n return false;\n }\n for (let i = 0; i < dataSource.length; i++) {\n if (traverse(dataSource[i], nodeIds)) {\n break;\n }\n }\n return checkNodes;\n}\n\n/**\r\n * 根据要求拼接树结构字段 ( 比如:后端返回name phone,前端显示要求name后拼接phone\r\n * @param nodes 数组对象\r\n * @param fileds 哪些字段需要拼接\r\n * @param replaceField 拼接后赋值字段\r\n * @param childNode 子级结点\r\n */\nfunction joinTreeMessage(nodes, fileds, replaceField, childNode) {\n function generateList(checkNodes) {\n checkNodes.forEach(e => {\n e[replaceField] = '';\n fileds.forEach(filed => e[filed] && (e[replaceField] += ` ${e[filed]}`));\n if (e[childNode]?.length) {\n generateList(e[childNode]);\n }\n });\n }\n generateList(nodes);\n return nodes;\n}\n\n/**\r\n * 根据某个属性查找出整个树结构中匹配相同的数据\r\n * @param tree 数组对象\r\n * @param key 需要查找的属性\r\n * @param replaceFields 树结构对应子级及查找key的属性\r\n * {\r\n children: 'children', // 查找子级字段\r\n key: 'id' // key的字段\r\n }\r\n */\nfunction filterTreeById(tree, key, replaceFields = {\n children: 'children',\n key: 'id'\n}) {\n return tree.reduce((acc, node) => {\n if (node[replaceFields.key] === key) {\n return [...acc, node];\n } else if (node[replaceFields.children] && node[replaceFields.children].length > 0) {\n const filteredChildren = filterTreeById(node[replaceFields.children], key);\n if (filteredChildren.length > 0) return filteredChildren;\n }\n return acc;\n }, []);\n}\n\n/**\r\n * 根据最后一级子id获取全部父id\r\n * @param tree 数组对象\r\n * @param key 需要查找的属性\r\n * @param replaceFields 树结构对应子级及查找key的属性\r\n * {\r\n children: 'children', // 查找子级字段\r\n key: 'id' // key的字段\r\n }\r\n */\nfunction getAllParents(tree,
|
|
3404
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ filterTreeById: function() { return /* binding */ filterTreeById; },\n/* harmony export */ findCheckNodes: function() { return /* binding */ findCheckNodes; },\n/* harmony export */ getAllParents: function() { return /* binding */ getAllParents; },\n/* harmony export */ getTreeKey: function() { return /* binding */ getTreeKey; },\n/* harmony export */ joinTreeMessage: function() { return /* binding */ joinTreeMessage; }\n/* harmony export */ });\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\n/**\r\n * 获取树形结构所有key\r\n * @param nodes 数组对象\r\n * @param parent 是否只获取父一层的属性\r\n * @param replaceFields 自定义属性进行查询\r\n */\nfunction getTreeKey(nodes, parent = false, replaceFields = {\n children: 'children',\n key: 'id',\n title: 'title'\n}) {\n const filterNodes = [];\n function generateList(checkNodes) {\n checkNodes.forEach(e => {\n if (!parent) filterNodes.push(e[replaceFields.key]);\n if (e[replaceFields.children]?.length) {\n if (parent) filterNodes.push(e[replaceFields.key]);\n generateList(e[replaceFields.children]);\n }\n });\n }\n generateList(nodes);\n return filterNodes;\n}\n\n/**\r\n * 根据树子节点ID过滤出最后一级child\r\n * @param {array} dataSource 树形结构数据源\r\n * @param {array} nodeIds 需要过滤的数据集\r\n * @param {string} hasField 过滤包含属性(默认为children)\r\n * @param {string} searchField 查找属性(默认为id)\r\n */\n\nfunction findCheckNodes(dataSource, nodeIds, searchField = 'id', hasField = 'children') {\n let checkNodes = [];\n function traverse(node, nodeIds) {\n if (nodeIds.includes(node[searchField]) && !node.hasOwnProperty(hasField)) {\n checkNodes.push(node);\n return true;\n }\n node[hasField] && node[hasField].forEach(childNode => {\n if (traverse(childNode, nodeIds)) return true;\n });\n return false;\n }\n for (let i = 0; i < dataSource.length; i++) {\n if (traverse(dataSource[i], nodeIds)) {\n break;\n }\n }\n return checkNodes;\n}\n\n/**\r\n * 根据要求拼接树结构字段 ( 比如:后端返回name phone,前端显示要求name后拼接phone\r\n * @param nodes 数组对象\r\n * @param fileds 哪些字段需要拼接\r\n * @param replaceField 拼接后赋值字段\r\n * @param childNode 子级结点\r\n */\nfunction joinTreeMessage(nodes, fileds, replaceField, childNode) {\n function generateList(checkNodes) {\n checkNodes.forEach(e => {\n e[replaceField] = '';\n fileds.forEach(filed => e[filed] && (e[replaceField] += ` ${e[filed]}`));\n if (e[childNode]?.length) {\n generateList(e[childNode]);\n }\n });\n }\n generateList(nodes);\n return nodes;\n}\n\n/**\r\n * 根据某个属性查找出整个树结构中匹配相同的数据\r\n * @param tree 数组对象\r\n * @param key 需要查找的属性\r\n * @param replaceFields 树结构对应子级及查找key的属性\r\n * {\r\n children: 'children', // 查找子级字段\r\n key: 'id' // key的字段\r\n }\r\n */\nfunction filterTreeById(tree, key, replaceFields = {\n children: 'children',\n key: 'id'\n}) {\n return tree.reduce((acc, node) => {\n if (node[replaceFields.key] === key) {\n return [...acc, node];\n } else if (node[replaceFields.children] && node[replaceFields.children].length > 0) {\n const filteredChildren = filterTreeById(node[replaceFields.children], key);\n if (filteredChildren.length > 0) return filteredChildren;\n }\n return acc;\n }, []);\n}\n\n/**\r\n * 根据最后一级子id获取全部父id\r\n * @param tree 数组对象\r\n * @param key 需要查找的属性\r\n * @param replaceFields 树结构对应子级及查找key的属性\r\n * {\r\n children: 'children', // 查找子级字段\r\n key: 'id' // key的字段\r\n }\r\n */\nfunction getAllParents(tree, nodeId, replaceFields = {}) {\n const {\n children = 'children',\n key = 'id'\n } = replaceFields;\n const toFlatArray = (tree, parentId) => {\n return tree.reduce((t, _) => {\n const child = _[children];\n return [...t, parentId ? {\n ..._,\n parentId\n } : _, ...(child && child.length ? toFlatArray(child, _[key]) : [])];\n }, []);\n };\n const getIds = flatArray => {\n let ids = [nodeId];\n let child = flatArray.find(_ => _[key] === nodeId);\n while (child && child.parentId) {\n ids = [child.parentId, ...ids];\n child = flatArray.find(_ => _[key] === child.parentId);\n }\n return ids;\n };\n return getIds(toFlatArray(tree));\n}\n\n//# sourceURL=webpack://mui/./plugins/utils/Tree.js?");
|
|
3405
3405
|
|
|
3406
3406
|
/***/ }),
|
|
3407
3407
|
|
package/lib/browse/index.jsx
CHANGED
package/package.json
CHANGED
package/plugins/utils/Tree.js
CHANGED
|
@@ -6,22 +6,22 @@
|
|
|
6
6
|
* @param parent 是否只获取父一层的属性
|
|
7
7
|
* @param replaceFields 自定义属性进行查询
|
|
8
8
|
*/
|
|
9
|
-
export function getTreeKey(nodes, parent = false, replaceFields = { children: 'children', key: 'id', title: 'title' }) {
|
|
9
|
+
export function getTreeKey(nodes, parent = false, replaceFields = { children: 'children', key: 'id', title: 'title' }) {
|
|
10
10
|
|
|
11
11
|
const filterNodes = []
|
|
12
12
|
|
|
13
|
-
function generateList(
|
|
13
|
+
function generateList(checkNodes) {
|
|
14
14
|
|
|
15
|
-
checkNodes.forEach(
|
|
15
|
+
checkNodes.forEach(e => {
|
|
16
16
|
|
|
17
|
-
if(
|
|
18
|
-
if(
|
|
19
|
-
if(
|
|
20
|
-
generateList(
|
|
17
|
+
if (!parent) filterNodes.push(e[replaceFields.key])
|
|
18
|
+
if (e[replaceFields.children]?.length) {
|
|
19
|
+
if (parent) filterNodes.push(e[replaceFields.key])
|
|
20
|
+
generateList(e[replaceFields.children])
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
}
|
|
24
|
-
}
|
|
23
|
+
})
|
|
24
|
+
}
|
|
25
25
|
|
|
26
26
|
generateList(nodes)
|
|
27
27
|
|
|
@@ -38,30 +38,30 @@ export function getTreeKey(nodes, parent = false, replaceFields = { children: 'c
|
|
|
38
38
|
* @param {string} searchField 查找属性(默认为id)
|
|
39
39
|
*/
|
|
40
40
|
|
|
41
|
-
export function findCheckNodes(dataSource, nodeIds, searchField = 'id', hasField = 'children'
|
|
41
|
+
export function findCheckNodes(dataSource, nodeIds, searchField = 'id', hasField = 'children') {
|
|
42
42
|
let checkNodes = []
|
|
43
|
-
|
|
43
|
+
|
|
44
44
|
function traverse(node, nodeIds) {
|
|
45
45
|
|
|
46
|
-
if (
|
|
47
|
-
checkNodes.push(
|
|
46
|
+
if (nodeIds.includes(node[searchField]) && !node.hasOwnProperty(hasField)) {
|
|
47
|
+
checkNodes.push(node)
|
|
48
48
|
return true
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
node[
|
|
52
|
-
if (
|
|
53
|
-
}
|
|
54
|
-
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
node[hasField] && node[hasField].forEach(childNode => {
|
|
52
|
+
if (traverse(childNode, nodeIds)) return true
|
|
53
|
+
})
|
|
54
|
+
|
|
55
55
|
return false
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
for(
|
|
59
|
-
|
|
60
|
-
if (
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
for (let i = 0; i < dataSource.length; i++) {
|
|
59
|
+
|
|
60
|
+
if (traverse(dataSource[i], nodeIds)) {
|
|
61
61
|
break
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
|
-
|
|
64
|
+
|
|
65
65
|
return checkNodes;
|
|
66
66
|
}
|
|
67
67
|
|
|
@@ -72,28 +72,28 @@ export function findCheckNodes(dataSource, nodeIds, searchField = 'id', hasField
|
|
|
72
72
|
* @param replaceField 拼接后赋值字段
|
|
73
73
|
* @param childNode 子级结点
|
|
74
74
|
*/
|
|
75
|
-
export function joinTreeMessage(nodes, fileds, replaceField, childNode) {
|
|
75
|
+
export function joinTreeMessage(nodes, fileds, replaceField, childNode) {
|
|
76
76
|
|
|
77
|
-
function generateList(
|
|
77
|
+
function generateList(checkNodes) {
|
|
78
78
|
|
|
79
|
-
checkNodes.forEach(
|
|
79
|
+
checkNodes.forEach(e => {
|
|
80
80
|
|
|
81
|
-
e[
|
|
81
|
+
e[replaceField] = ''
|
|
82
82
|
|
|
83
|
-
fileds.forEach(
|
|
83
|
+
fileds.forEach(filed => e[filed] && (e[replaceField] += ` ${e[filed]}`))
|
|
84
84
|
|
|
85
|
-
if(
|
|
86
|
-
generateList(
|
|
85
|
+
if (e[childNode]?.length) {
|
|
86
|
+
generateList(e[childNode])
|
|
87
87
|
}
|
|
88
88
|
|
|
89
|
-
}
|
|
90
|
-
}
|
|
89
|
+
})
|
|
90
|
+
}
|
|
91
91
|
|
|
92
92
|
generateList(nodes)
|
|
93
93
|
|
|
94
94
|
return nodes
|
|
95
95
|
|
|
96
|
-
}
|
|
96
|
+
}
|
|
97
97
|
|
|
98
98
|
|
|
99
99
|
|
|
@@ -106,14 +106,14 @@ export function joinTreeMessage(nodes, fileds, replaceField, childNode) {
|
|
|
106
106
|
children: 'children', // 查找子级字段
|
|
107
107
|
key: 'id' // key的字段
|
|
108
108
|
}
|
|
109
|
-
*/
|
|
109
|
+
*/
|
|
110
110
|
export function filterTreeById(tree, key, replaceFields = { children: 'children', key: 'id' }) {
|
|
111
111
|
return tree.reduce((acc, node) => {
|
|
112
112
|
if (node[replaceFields.key] === key) {
|
|
113
113
|
return [...acc, node]
|
|
114
114
|
} else if (node[replaceFields.children] && node[replaceFields.children].length > 0) {
|
|
115
115
|
const filteredChildren = filterTreeById(node[replaceFields.children], key)
|
|
116
|
-
if (filteredChildren.length > 0) return filteredChildren
|
|
116
|
+
if (filteredChildren.length > 0) return filteredChildren
|
|
117
117
|
}
|
|
118
118
|
return acc
|
|
119
119
|
}, [])
|
|
@@ -130,26 +130,25 @@ export function filterTreeById(tree, key, replaceFields = { children: 'children'
|
|
|
130
130
|
key: 'id' // key的字段
|
|
131
131
|
}
|
|
132
132
|
*/
|
|
133
|
-
export function getAllParents(tree,
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
}
|
|
151
|
-
return
|
|
133
|
+
export function getAllParents(tree, nodeId, replaceFields = {}) {
|
|
134
|
+
const { children = 'children', key = 'id' } = replaceFields
|
|
135
|
+
const toFlatArray = (tree, parentId) => {
|
|
136
|
+
return tree.reduce((t, _) => {
|
|
137
|
+
const child = _[children]
|
|
138
|
+
return [
|
|
139
|
+
...t,
|
|
140
|
+
parentId ? { ..._, parentId } : _,
|
|
141
|
+
...(child && child.length ? toFlatArray(child, _[key]) : [])]
|
|
142
|
+
}, [])
|
|
143
|
+
}
|
|
144
|
+
const getIds = flatArray => {
|
|
145
|
+
let ids = [nodeId]
|
|
146
|
+
let child = flatArray.find(_ => _[key] === nodeId)
|
|
147
|
+
while (child && child.parentId) {
|
|
148
|
+
ids = [child.parentId, ...ids]
|
|
149
|
+
child = flatArray.find(_ => _[key] === child.parentId)
|
|
150
|
+
}
|
|
151
|
+
return ids
|
|
152
152
|
}
|
|
153
|
-
|
|
154
|
-
return findParents(tree, inx)
|
|
153
|
+
return getIds(toFlatArray(tree))
|
|
155
154
|
}
|
package/utils/Tree.js
CHANGED
|
@@ -6,22 +6,22 @@
|
|
|
6
6
|
* @param parent 是否只获取父一层的属性
|
|
7
7
|
* @param replaceFields 自定义属性进行查询
|
|
8
8
|
*/
|
|
9
|
-
export function getTreeKey(nodes, parent = false, replaceFields = { children: 'children', key: 'id', title: 'title' }) {
|
|
9
|
+
export function getTreeKey(nodes, parent = false, replaceFields = { children: 'children', key: 'id', title: 'title' }) {
|
|
10
10
|
|
|
11
11
|
const filterNodes = []
|
|
12
12
|
|
|
13
|
-
function generateList(
|
|
13
|
+
function generateList(checkNodes) {
|
|
14
14
|
|
|
15
|
-
checkNodes.forEach(
|
|
15
|
+
checkNodes.forEach(e => {
|
|
16
16
|
|
|
17
|
-
if(
|
|
18
|
-
if(
|
|
19
|
-
if(
|
|
20
|
-
generateList(
|
|
17
|
+
if (!parent) filterNodes.push(e[replaceFields.key])
|
|
18
|
+
if (e[replaceFields.children]?.length) {
|
|
19
|
+
if (parent) filterNodes.push(e[replaceFields.key])
|
|
20
|
+
generateList(e[replaceFields.children])
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
}
|
|
24
|
-
}
|
|
23
|
+
})
|
|
24
|
+
}
|
|
25
25
|
|
|
26
26
|
generateList(nodes)
|
|
27
27
|
|
|
@@ -38,30 +38,30 @@ export function getTreeKey(nodes, parent = false, replaceFields = { children: 'c
|
|
|
38
38
|
* @param {string} searchField 查找属性(默认为id)
|
|
39
39
|
*/
|
|
40
40
|
|
|
41
|
-
export function findCheckNodes(dataSource, nodeIds, searchField = 'id', hasField = 'children'
|
|
41
|
+
export function findCheckNodes(dataSource, nodeIds, searchField = 'id', hasField = 'children') {
|
|
42
42
|
let checkNodes = []
|
|
43
|
-
|
|
43
|
+
|
|
44
44
|
function traverse(node, nodeIds) {
|
|
45
45
|
|
|
46
|
-
if (
|
|
47
|
-
checkNodes.push(
|
|
46
|
+
if (nodeIds.includes(node[searchField]) && !node.hasOwnProperty(hasField)) {
|
|
47
|
+
checkNodes.push(node)
|
|
48
48
|
return true
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
node[
|
|
52
|
-
if (
|
|
53
|
-
}
|
|
54
|
-
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
node[hasField] && node[hasField].forEach(childNode => {
|
|
52
|
+
if (traverse(childNode, nodeIds)) return true
|
|
53
|
+
})
|
|
54
|
+
|
|
55
55
|
return false
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
for(
|
|
59
|
-
|
|
60
|
-
if (
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
for (let i = 0; i < dataSource.length; i++) {
|
|
59
|
+
|
|
60
|
+
if (traverse(dataSource[i], nodeIds)) {
|
|
61
61
|
break
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
|
-
|
|
64
|
+
|
|
65
65
|
return checkNodes;
|
|
66
66
|
}
|
|
67
67
|
|
|
@@ -72,28 +72,28 @@ export function findCheckNodes(dataSource, nodeIds, searchField = 'id', hasField
|
|
|
72
72
|
* @param replaceField 拼接后赋值字段
|
|
73
73
|
* @param childNode 子级结点
|
|
74
74
|
*/
|
|
75
|
-
export function joinTreeMessage(nodes, fileds, replaceField, childNode) {
|
|
75
|
+
export function joinTreeMessage(nodes, fileds, replaceField, childNode) {
|
|
76
76
|
|
|
77
|
-
function generateList(
|
|
77
|
+
function generateList(checkNodes) {
|
|
78
78
|
|
|
79
|
-
checkNodes.forEach(
|
|
79
|
+
checkNodes.forEach(e => {
|
|
80
80
|
|
|
81
|
-
e[
|
|
81
|
+
e[replaceField] = ''
|
|
82
82
|
|
|
83
|
-
fileds.forEach(
|
|
83
|
+
fileds.forEach(filed => e[filed] && (e[replaceField] += ` ${e[filed]}`))
|
|
84
84
|
|
|
85
|
-
if(
|
|
86
|
-
generateList(
|
|
85
|
+
if (e[childNode]?.length) {
|
|
86
|
+
generateList(e[childNode])
|
|
87
87
|
}
|
|
88
88
|
|
|
89
|
-
}
|
|
90
|
-
}
|
|
89
|
+
})
|
|
90
|
+
}
|
|
91
91
|
|
|
92
92
|
generateList(nodes)
|
|
93
93
|
|
|
94
94
|
return nodes
|
|
95
95
|
|
|
96
|
-
}
|
|
96
|
+
}
|
|
97
97
|
|
|
98
98
|
|
|
99
99
|
|
|
@@ -106,14 +106,14 @@ export function joinTreeMessage(nodes, fileds, replaceField, childNode) {
|
|
|
106
106
|
children: 'children', // 查找子级字段
|
|
107
107
|
key: 'id' // key的字段
|
|
108
108
|
}
|
|
109
|
-
*/
|
|
109
|
+
*/
|
|
110
110
|
export function filterTreeById(tree, key, replaceFields = { children: 'children', key: 'id' }) {
|
|
111
111
|
return tree.reduce((acc, node) => {
|
|
112
112
|
if (node[replaceFields.key] === key) {
|
|
113
113
|
return [...acc, node]
|
|
114
114
|
} else if (node[replaceFields.children] && node[replaceFields.children].length > 0) {
|
|
115
115
|
const filteredChildren = filterTreeById(node[replaceFields.children], key)
|
|
116
|
-
if (filteredChildren.length > 0) return filteredChildren
|
|
116
|
+
if (filteredChildren.length > 0) return filteredChildren
|
|
117
117
|
}
|
|
118
118
|
return acc
|
|
119
119
|
}, [])
|
|
@@ -130,26 +130,25 @@ export function filterTreeById(tree, key, replaceFields = { children: 'children'
|
|
|
130
130
|
key: 'id' // key的字段
|
|
131
131
|
}
|
|
132
132
|
*/
|
|
133
|
-
export function getAllParents(tree,
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
}
|
|
151
|
-
return
|
|
133
|
+
export function getAllParents(tree, nodeId, replaceFields = {}) {
|
|
134
|
+
const { children = 'children', key = 'id' } = replaceFields
|
|
135
|
+
const toFlatArray = (tree, parentId) => {
|
|
136
|
+
return tree.reduce((t, _) => {
|
|
137
|
+
const child = _[children]
|
|
138
|
+
return [
|
|
139
|
+
...t,
|
|
140
|
+
parentId ? { ..._, parentId } : _,
|
|
141
|
+
...(child && child.length ? toFlatArray(child, _[key]) : [])]
|
|
142
|
+
}, [])
|
|
143
|
+
}
|
|
144
|
+
const getIds = flatArray => {
|
|
145
|
+
let ids = [nodeId]
|
|
146
|
+
let child = flatArray.find(_ => _[key] === nodeId)
|
|
147
|
+
while (child && child.parentId) {
|
|
148
|
+
ids = [child.parentId, ...ids]
|
|
149
|
+
child = flatArray.find(_ => _[key] === child.parentId)
|
|
150
|
+
}
|
|
151
|
+
return ids
|
|
152
152
|
}
|
|
153
|
-
|
|
154
|
-
return findParents(tree, inx)
|
|
153
|
+
return getIds(toFlatArray(tree))
|
|
155
154
|
}
|