qt-public-ui
Version:
新设计规范下业务组件库
60 lines • 2.01 kB
JavaScript
import _extends from "@babel/runtime/helpers/esm/extends";
import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
/* eslint-disable */
import * as React from 'react';
import * as PropTypes from 'prop-types';
import * as moment from 'moment';
import interopDefault from '../_util/interopDefault';
import { changeConfirmLocale } from '../modal/locale';
import warning from '../_util/warning';
export var ANT_MARK = 'internalMark';
function setMomentLocale(locale) {
if (locale && locale.locale) {
interopDefault(moment).locale(locale.locale);
} else {
interopDefault(moment).locale('en');
}
}
var LocaleProvider = /*#__PURE__*/function (_React$Component) {
function LocaleProvider(props) {
var _this;
_this = _React$Component.call(this, props) || this;
setMomentLocale(props.locale);
changeConfirmLocale(props.locale && props.locale.Modal);
warning(props._ANT_MARK__ === ANT_MARK, 'LocaleProvider', '`LocaleProvider` is deprecated. Please use `locale` with `ConfigProvider` instead: http://u.ant.design/locale');
return _this;
}
_inheritsLoose(LocaleProvider, _React$Component);
var _proto = LocaleProvider.prototype;
_proto.getChildContext = function getChildContext() {
return {
antLocale: _extends({}, this.props.locale, {
exist: true
})
};
};
_proto.componentDidUpdate = function componentDidUpdate(prevProps) {
var locale = this.props.locale;
if (prevProps.locale !== locale) {
setMomentLocale(locale);
changeConfirmLocale(locale && locale.Modal);
}
};
_proto.componentWillUnmount = function componentWillUnmount() {
changeConfirmLocale();
};
_proto.render = function render() {
return this.props.children;
};
return LocaleProvider;
}(React.Component);
LocaleProvider.propTypes = {
locale: PropTypes.object
};
LocaleProvider.defaultProps = {
locale: {}
};
LocaleProvider.childContextTypes = {
antLocale: PropTypes.object
};
export { LocaleProvider as default };