choerodon-ui
Version:
An enterprise-class UI design language and React-based implementation
125 lines (108 loc) • 3.3 kB
JavaScript
import _objectSpread from "@babel/runtime/helpers/objectSpread2";
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
import _createClass from "@babel/runtime/helpers/createClass";
import _inherits from "@babel/runtime/helpers/inherits";
import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
function _createSuper(Derived) {
function isNativeReflectConstruct() {
if (typeof Reflect === "undefined" || !Reflect.construct) return false;
if (Reflect.construct.sham) return false;
if (typeof Proxy === "function") return true;
try {
Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));
return true;
} catch (e) {
return false;
}
}
return function () {
var Super = _getPrototypeOf(Derived),
result;
if (isNativeReflectConstruct()) {
var NewTarget = _getPrototypeOf(this).constructor;
result = Reflect.construct(Super, arguments, NewTarget);
} else {
result = Super.apply(this, arguments);
}
return _possibleConstructorReturn(this, result);
};
}
import { Children, Component } from 'react';
import PropTypes from 'prop-types';
import moment from 'moment';
import interopDefault from '../_util/interopDefault';
import { changeConfirmLocale } from '../modal/locale';
function setMomentLocale(locale) {
if (locale && locale.locale) {
interopDefault(moment).locale(locale.locale);
} else {
interopDefault(moment).locale('en');
}
}
var LocaleProvider =
/*#__PURE__*/
function (_Component) {
_inherits(LocaleProvider, _Component);
var _super = _createSuper(LocaleProvider);
function LocaleProvider() {
_classCallCheck(this, LocaleProvider);
return _super.apply(this, arguments);
}
_createClass(LocaleProvider, [{
key: "getChildContext",
value: function getChildContext() {
var locale = this.props.locale;
return {
c7nLocale: _objectSpread({}, locale, {
exist: true
})
};
}
}, {
key: "componentWillMount",
value: function componentWillMount() {
var locale = this.props.locale;
setMomentLocale(locale);
this.componentDidUpdate();
}
}, {
key: "componentWillReceiveProps",
value: function componentWillReceiveProps(nextProps) {
var locale = this.props.locale;
var nextLocale = nextProps.locale;
if (locale !== nextLocale) {
setMomentLocale(nextProps.locale);
}
}
}, {
key: "componentDidUpdate",
value: function componentDidUpdate() {
var locale = this.props.locale;
changeConfirmLocale(locale && locale.Modal);
}
}, {
key: "componentWillUnmount",
value: function componentWillUnmount() {
changeConfirmLocale();
}
}, {
key: "render",
value: function render() {
var children = this.props.children;
return Children.only(children);
}
}]);
return LocaleProvider;
}(Component);
export { LocaleProvider as default };
LocaleProvider.propTypes = {
locale: PropTypes.object
};
LocaleProvider.defaultProps = {
locale: {}
};
LocaleProvider.childContextTypes = {
c7nLocale: PropTypes.object
};
//# sourceMappingURL=index.js.map