UNPKG

tntd

Version:

tntd是基于 TNT Design 设计体系的 React UI 组件库,主要用于研发企业级中后台产品。

152 lines (151 loc) 6.31 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _exportNames = { isGroupMenu: true, getSelectedMenuInfo: true, hasLevel3: true, isNewTabMenu: true, openInNewTab: true, traverseTree: true, safeParseJSON: true, capitalizeFirstLetter: true }; exports.traverseTree = exports.safeParseJSON = exports.openInNewTab = exports.isNewTabMenu = exports.isGroupMenu = exports.hasLevel3 = exports.getSelectedMenuInfo = exports.capitalizeFirstLetter = void 0; var _checkAuth = require("./checkAuth"); Object.keys(_checkAuth).forEach(function (key) { if (key === "default" || key === "__esModule") return; if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; if (key in exports && exports[key] === _checkAuth[key]) return; Object.defineProperty(exports, key, { enumerable: true, get: function get() { return _checkAuth[key]; } }); }); var _findMenuInfoByPath = require("./findMenuInfoByPath"); Object.keys(_findMenuInfoByPath).forEach(function (key) { if (key === "default" || key === "__esModule") return; if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; if (key in exports && exports[key] === _findMenuInfoByPath[key]) return; Object.defineProperty(exports, key, { enumerable: true, get: function get() { return _findMenuInfoByPath[key]; } }); }); var _lang = require("./lang"); Object.keys(_lang).forEach(function (key) { if (key === "default" || key === "__esModule") return; if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; if (key in exports && exports[key] === _lang[key]) return; Object.defineProperty(exports, key, { enumerable: true, get: function get() { return _lang[key]; } }); }); function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); } function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); } function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); } function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } var isGroupMenu = exports.isGroupMenu = function isGroupMenu(menu) { return (menu === null || menu === void 0 ? void 0 : menu.children) && !(menu === null || menu === void 0 ? void 0 : menu.path); }; var getSelectedMenuInfo = exports.getSelectedMenuInfo = function getSelectedMenuInfo(selectedKey) { var menus = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : []; var subMenu; var menu; var parentMenus = []; if (selectedKey) { _traverseTree(menus, function (node, pnode, pnodes) { if (!isGroupMenu(node) && node.code === selectedKey) { subMenu = node; menu = pnode; parentMenus = pnodes; return false; } }); } else { // 默认找到第一个菜单项 _traverseTree(menus, function (node, pnode, pnodes) { if (!isGroupMenu(node)) { subMenu = node; menu = pnode; parentMenus = pnodes; return false; } }); } return { subMenu: subMenu, menu: menu, parentMenus: parentMenus }; }; var hasLevel3 = exports.hasLevel3 = function hasLevel3(menus) { return menus === null || menus === void 0 ? void 0 : menus.some(function (menu) { var _a; return (_a = menu === null || menu === void 0 ? void 0 : menu.children) === null || _a === void 0 ? void 0 : _a.some(function (item) { var _a; return (_a = item === null || item === void 0 ? void 0 : item.children) === null || _a === void 0 ? void 0 : _a.length; }); }); }; var isNewTabMenu = exports.isNewTabMenu = function isNewTabMenu(menu) { var _ref = menu || {}, target = _ref.target, path = _ref.path; return target === '_blank' || /^http/i.test(path) && /blankType=newTarget/.test(path); }; var openInNewTab = exports.openInNewTab = function openInNewTab(path) { window.open(path, '_blank'); }; var _traverseTree = exports.traverseTree = function traverseTree(treeData, callback, pnode) { var pnodes = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : []; ; (treeData || []).every(function (node, index) { var result; if (callback) { result = callback(node, pnode, (pnodes === null || pnodes === void 0 ? void 0 : pnodes.length) ? pnodes : [pnode].filter(function (item) { return !!item; }), index); } // 回调函数返回false则终止遍历 if (result !== false) { node && _traverseTree(node.children || [], callback, node, [node].concat(_toConsumableArray(pnodes))); } return result !== false; }); return treeData; }; var safeParseJSON = exports.safeParseJSON = function safeParseJSON(str, defaultObj) { var result; try { result = JSON.parse(str); } catch (err) { console.warn('json parse error:', err); result = typeof defaultObj === 'undefined' ? str : defaultObj; } return result || defaultObj; }; /** * 将placeholder 英文状态下的首字母大写 * @param {*} str * @returns */ var capitalizeFirstLetter = exports.capitalizeFirstLetter = function capitalizeFirstLetter(str) { var capitalize = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; var localeCode = arguments.length > 2 ? arguments[2] : undefined; var lang = localeCode; if ([null, undefined, ''].includes(str) || typeof str !== 'string' || !['', null, undefined, 'en'].includes(lang) || !capitalize) { return str; } return str.charAt(0).toUpperCase() + str.slice(1).toLowerCase(); };