UNPKG

ukelli-ui

Version:

ukelli-ui 是基于 React 的 UI 库,提供简约和功能齐全的组件,可高度定制的组件接口,灵活的配置,提供给开发者另一种开发思路,也致力于尝试不同的组件使用和开发方向。

155 lines (128 loc) 3.88 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getIconMapper = getIconMapper; exports.getIcon = getIcon; exports.LoadStuff = LoadStuff; exports.LoadLink = LoadLink; exports.LoadScript = LoadScript; exports.setUkeLang = setUkeLang; exports.setUkeLangConfig = setUkeLangConfig; exports.setUkelliConfig = setUkelliConfig; exports.getUkelliConfig = getUkelliConfig; var _basicHelper = require("basic-helper"); var _zhCN = _interopRequireDefault(require("../i18n/zh-CN")); var _enUS = _interopRequireDefault(require("../i18n/en-US")); var _iconMapper = _interopRequireDefault(require("./icon-mapper")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } var langConfig = { 'zh-CN': _zhCN["default"], 'en-US': _enUS["default"] }; var defaultLanguage = 'zh-CN'; var language = defaultLanguage; var ukelliui = { getImage: function getImage() { for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } return args.join('/'); }, getKeyMap: function getKeyMap(key) { return key; }, getUkeKeyMap: function getUkeKeyMap(key) { var keyMapper = langConfig[language] || langConfig[defaultLanguage]; return keyMapper[key] || key; }, queryCAPTCHAData: null, queryQRCodeData: function queryQRCodeData() {}, avatarImgMap: '', iconMapper: {}, iconPrefix: function iconPrefix(s) { return "fa".concat(s, " fa-"); } }; function getIconMapper() { return Object.assign({}, _iconMapper["default"], ukelliui.iconMapper); } function getIcon(iconName, iconStyle, moreClassName, useIconConfig) { var iconMapper = getIconMapper(); var iconPrefix = getUkelliConfig('iconPrefix'); if (!iconName) return iconMapper; var moreClassNameArr = Array.isArray(moreClassName) ? moreClassName : [moreClassName]; var resultStr = (useIconConfig ? (0, _basicHelper.IsFunc)(iconPrefix) ? iconPrefix(iconStyle) : iconPrefix : '') + (iconMapper[iconName] || iconName) + ' ' + moreClassNameArr.join(' '); return resultStr; } function LoadStuff(_ref) { var src = _ref.src, onload = _ref.onload, type = _ref.type; return new Promise(function (resolve, reject) { var times = 0; var loadUrl = src; function load(element) { if (times > 2) return 0; times++; element.onload = function () { _basicHelper.Call.apply(void 0, [onload].concat(Array.prototype.slice.call(arguments))); resolve.apply(void 0, arguments); }; element.onerror = load; document.body.appendChild(element); } switch (type) { case 'css': var link = document.createElement('link'); link.rel = 'stylesheet'; link.href = loadUrl; load(link); break; case 'script': var script = document.createElement('script'); script.type = 'text/javascript'; script.src = loadUrl; load(script); break; } }); } /** * 加载 link * * @export * @param {object} options { src: string, onload: func } * @returns */ function LoadLink(options) { options.type = 'css'; return LoadStuff(options); } /** * 加载 script * * @export * @param {object} options { src: string, onload: func } * @returns */ function LoadScript(options) { options.type = 'script'; return LoadStuff(options); } function setUkeLang(lang) { language = lang; } function setUkeLangConfig(config) { Object.assign(langConfig, config); } function setUkelliConfig(config) { Object.assign(ukelliui, config); window.$UKE && window.$UKE.registe(config); return ukelliui; } function getUkelliConfig(name) { var _ukelliui = Object.assign({}, ukelliui); return name ? _ukelliui[name] || false : _ukelliui; } (0, _basicHelper.defineGlobalScope)('$UKE', ukelliui);