qt-public-ui
Version:
新设计规范下业务组件库
61 lines • 2.27 kB
JavaScript
import _extends from "@babel/runtime/helpers/esm/extends";
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
var _excluded = ["iconfont", "children", "exportConfig", "requestConfig", "globalFetchFn", "theme", "trackPrefix", "i18n"];
import React from 'react';
import { ConfigProvider, message } from 'antd';
import axios from 'axios';
import packages from '../../package.json';
import Default from '../Default';
import { ExportProvider } from './exportContext';
import { AxiosProvider } from './axiosContext';
import { GlobalProvider } from './globalContext';
import { i18n as defaultI18n } from '../utils';
message.config({
top: 60
});
var DEFAULT_ANTD_CONFIG = {
autoInsertSpaceInButton: false
};
var injected = [];
var renderEmpty = function renderEmpty() {
return /*#__PURE__*/React.createElement(Default, {
type: "empty",
height: 148
});
};
var injectScript = function injectScript(url) {
var script = document.createElement('script');
script.setAttribute('src', url);
document.body.appendChild(script);
};
injectScript(packages.iconfont);
var UmProvider = function UmProvider(props) {
var iconfont = props.iconfont,
children = props.children,
exportConfig = props.exportConfig,
requestConfig = props.requestConfig,
_props$globalFetchFn = props.globalFetchFn,
globalFetchFn = _props$globalFetchFn === void 0 ? axios : _props$globalFetchFn,
theme = props.theme,
trackPrefix = props.trackPrefix,
i18n = props.i18n,
antConfig = _objectWithoutPropertiesLoose(props, _excluded);
if (iconfont && !injected.includes(iconfont)) {
injected.push(iconfont);
injectScript(iconfont);
}
return /*#__PURE__*/React.createElement(GlobalProvider, {
theme: theme,
trackPrefix: trackPrefix,
i18n: i18n || defaultI18n
}, /*#__PURE__*/React.createElement(AxiosProvider, {
globalFetchFn: globalFetchFn,
requestConfig: requestConfig
}, /*#__PURE__*/React.createElement(ExportProvider, {
exportConfig: exportConfig
}, /*#__PURE__*/React.createElement(ConfigProvider, _extends({}, DEFAULT_ANTD_CONFIG, antConfig, {
renderEmpty: renderEmpty
}), children))));
};
UmProvider.displayName = 'UmProvider';
export default UmProvider;