tntd
Version:
tntd是基于 TNT Design 设计体系的 React UI 组件库,主要用于研发企业级中后台产品。
170 lines (169 loc) • 6.31 kB
JavaScript
;
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];
}
});
});
var _prevLocale = require("../prev-locale");
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 lang = (0, _prevLocale.getLanguage)();
if ([null, undefined, ''].includes(str) || typeof str !== 'string' || lang !== 'en' || !capitalize) {
return str;
}
return str.charAt(0).toUpperCase() + str.slice(1).toLowerCase();
};