ukelli-ui
Version:
[](https://travis-ci.org/ukelli/ukelli-ui) [](https://packagephobia.now.sh/result?p=ukelli-ui)
141 lines (118 loc) • 3.44 kB
JavaScript
;
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() {},
getKeyMap: function getKeyMap(key) {
return key;
},
getUkeKeyMap: function getUkeKeyMap(key) {
var keyMapper = langConfig[language] || langConfig[defaultLanguage];
return keyMapper[key] || key;
},
queryCAPTCHAData: function queryCAPTCHAData() {},
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) {
var iconMapper = getIconMapper();
var iconPrefix = getUkelliConfig('iconPrefix');
if (!iconName) return iconMapper;
var moreClassNameArr = Array.isArray(moreClassName) ? moreClassName : [moreClassName];
var resultStr = ((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;
var times = 0;
var loadUrl = src;
function load(element) {
if (times > 2) return 0;
times++;
element.onload = onload;
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);