UNPKG

element-nice-ui

Version:

A Component Library for Vue.js.

58 lines (56 loc) 1.89 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.extendQuery = extendQuery; exports.getUrlSearchObj = getUrlSearchObj; exports.historyReplace = historyReplace; exports.isDef = isDef; exports.isKorean = isKorean; exports.walkTreeNode = walkTreeNode; function isDef(val) { return val !== undefined && val !== null; } function isKorean(text) { const reg = /([(\uAC00-\uD7AF)|(\u3130-\u318F)])+/gi; return reg.test(text); } function extendQuery(origin, target) { if (!origin || !target) return; Object.keys(origin).forEach(key => { let v = target[key]; if (v !== undefined) { origin[key] = typeof origin[key] === 'number' && v !== '' ? +v : v; } }); } function getUrlSearchObj() { try { const body = location.search.replace(/^\?/, '').replace(/&/g, '","').replace(/=/g, '":"'); return body ? JSON.parse('{"' + decodeURIComponent(body) + '"}') : {}; } catch (err) { console.warn('数据格式应满足 "key=value&key1=value1" 格式'); return {}; } } function historyReplace(query) { let ret = ''; Object.keys(query).forEach(key => { if (query[key] === undefined) { return ret += "".concat(key, "=&"); } ret += "".concat(key, "=").concat(encodeURIComponent(query[key]), "&"); }); history.replaceState({}, '', location.pathname + "?".concat(ret.slice(0, -1))); } // 遍历树形节点, 如果该节点有子节点则遍历 function walkTreeNode(root, cb) { let childrenKey = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'children'; const notEmpty = array => Array.isArray(array) && array.length; function _walker(parent, children, level) { cb(parent, children, level); if (!notEmpty(children)) return; children.forEach(item => _walker(item, item[childrenKey], level + 1)); } root.forEach(item => _walker(item, item[childrenKey], 0)); }