import * as React from 'react'; import PropTypes from 'prop-types'; import { ModalLocale, changeConfirmLocale } from '../modal/locale'; export interface LocaleProviderProps { locale: { Pagination?: Object, DatePicker?: Object, TimePicker?: Object, Calendar?: Object, Table?: Object, Modal?: ModalLocale, Popconfirm?: Object, Transfer?: Object, Select?: Object, Upload?: Object, }; children?: React.ReactElement; } export default class LocaleProvider extends React.Component { static propTypes = { locale: PropTypes.object, }; static childContextTypes = { antLocale: PropTypes.object, }; getChildContext() { return { antLocale: { ...this.props.locale, exist: true, }, }; } componentWillMount() { this.componentDidUpdate(); } componentDidUpdate() { const { locale } = this.props; changeConfirmLocale(locale && locale.Modal); } componentWillUnMount() { changeConfirmLocale(); } render() { return React.Children.only(this.props.children); } }