Skip to content

Commit

Permalink
Lazy set moment locale
Browse files Browse the repository at this point in the history
  • Loading branch information
yesmeck committed Jan 10, 2018
1 parent 534b69b commit 3d69f4e
Show file tree
Hide file tree
Showing 35 changed files with 6,559 additions and 6,634 deletions.
13,038 changes: 6,519 additions & 6,519 deletions components/locale-provider/__tests__/__snapshots__/index.test.js.snap

Large diffs are not rendered by default.

3 changes: 0 additions & 3 deletions components/locale-provider/ar_EG.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
import * as moment from 'moment';
moment.locale('ar');

import Pagination from 'rc-pagination/lib/locale/ar_EG';
import DatePicker from '../date-picker/locale/ar_EG';
import TimePicker from '../time-picker/locale/ar_EG';
Expand Down
3 changes: 0 additions & 3 deletions components/locale-provider/bg_BG.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
import * as moment from 'moment';
moment.locale('bg');

import Pagination from 'rc-pagination/lib/locale/bg_BG';
import DatePicker from '../date-picker/locale/bg_BG';
import TimePicker from '../time-picker/locale/bg_BG';
Expand Down
3 changes: 0 additions & 3 deletions components/locale-provider/ca_ES.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
import * as moment from 'moment';
moment.locale('ca');

import Pagination from 'rc-pagination/lib/locale/ca_ES';
import DatePicker from '../date-picker/locale/ca_ES';
import TimePicker from '../time-picker/locale/ca_ES';
Expand Down
3 changes: 0 additions & 3 deletions components/locale-provider/cs_CZ.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
import * as moment from 'moment';
moment.locale('cs');

import Pagination from 'rc-pagination/lib/locale/cs_CZ';
import DatePicker from '../date-picker/locale/cs_CZ';
import TimePicker from '../time-picker/locale/cs_CZ';
Expand Down
3 changes: 0 additions & 3 deletions components/locale-provider/de_DE.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
import * as moment from 'moment';
moment.locale('de');

import Pagination from 'rc-pagination/lib/locale/de_DE';
import DatePicker from '../date-picker/locale/de_DE';
import TimePicker from '../time-picker/locale/de_DE';
Expand Down
3 changes: 0 additions & 3 deletions components/locale-provider/el_GR.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
import * as moment from 'moment';
moment.locale('el');

import Pagination from 'rc-pagination/lib/locale/el_GR';
import DatePicker from '../date-picker/locale/el_GR';
import TimePicker from '../time-picker/locale/el_GR';
Expand Down
3 changes: 0 additions & 3 deletions components/locale-provider/en_GB.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
import * as moment from 'moment';
moment.locale('en-gb');

import Pagination from 'rc-pagination/lib/locale/en_GB';
import DatePicker from '../date-picker/locale/en_GB';
import TimePicker from '../time-picker/locale/en_GB';
Expand Down
2 changes: 0 additions & 2 deletions components/locale-provider/en_US.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
import defaultLocale from './default';
import * as moment from 'moment';
moment.locale('en');

export default defaultLocale;
3 changes: 0 additions & 3 deletions components/locale-provider/et_EE.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
import * as moment from 'moment';
moment.locale('et');

import Pagination from 'rc-pagination/lib/locale/et_EE';
import DatePicker from '../date-picker/locale/et_EE';
import TimePicker from '../time-picker/locale/et_EE';
Expand Down
3 changes: 0 additions & 3 deletions components/locale-provider/fa_IR.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
import * as moment from 'moment';
moment.locale('fa');

import Pagination from 'rc-pagination/lib/locale/fa_IR';
import DatePicker from '../date-picker/locale/fa_IR';
import TimePicker from '../time-picker/locale/fa_IR';
Expand Down
3 changes: 0 additions & 3 deletions components/locale-provider/fi_FI.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
import * as moment from 'moment';
moment.locale('fi');

import Pagination from 'rc-pagination/lib/locale/fi_FI';
import DatePicker from '../date-picker/locale/fi_FI';
import TimePicker from '../time-picker/locale/fi_FI';
Expand Down
3 changes: 0 additions & 3 deletions components/locale-provider/fr_BE.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
import * as moment from 'moment';
moment.locale('fr');

import Pagination from 'rc-pagination/lib/locale/fr_BE';
import DatePicker from '../date-picker/locale/fr_BE';
import TimePicker from '../time-picker/locale/fr_BE';
Expand Down
3 changes: 0 additions & 3 deletions components/locale-provider/fr_FR.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
import * as moment from 'moment';
moment.locale('fr');

import Pagination from 'rc-pagination/lib/locale/fr_FR';
import DatePicker from '../date-picker/locale/fr_FR';
import TimePicker from '../time-picker/locale/fr_FR';
Expand Down
53 changes: 40 additions & 13 deletions components/locale-provider/index.tsx
Original file line number Diff line number Diff line change
@@ -1,32 +1,51 @@
import * as React from 'react';
import PropTypes from 'prop-types';
import * as moment from 'moment';
import { ModalLocale, changeConfirmLocale } from '../modal/locale';

export interface Locale {
locale: string;
Pagination?: Object;
DatePicker?: Object;
TimePicker?: Object;
Calendar?: Object;
Table?: Object;
Modal?: ModalLocale;
Popconfirm?: Object;
Transfer?: Object;
Select?: Object;
Upload?: Object;
}

export interface LocaleProviderProps {
locale: {
Pagination?: Object,
DatePicker?: Object,
TimePicker?: Object,
Calendar?: Object,
Table?: Object,
Modal?: ModalLocale,
Popconfirm?: Object,
Transfer?: Object,
Select?: Object,
Upload?: Object,
};
locale: Locale;
children?: React.ReactElement<any>;
}

function setMomentLocale(locale: Locale) {
if (locale && locale.locale) {
moment.locale(locale.locale);
}
}

export default class LocaleProvider extends React.Component<LocaleProviderProps, any> {
static propTypes = {
locale: PropTypes.object,
};

static defaultProps = {
locale: {},
};

static childContextTypes = {
antLocale: PropTypes.object,
};

constructor(props: LocaleProviderProps) {
super(props);
setMomentLocale(props.locale);
}

getChildContext() {
return {
antLocale: {
Expand All @@ -40,12 +59,20 @@ export default class LocaleProvider extends React.Component<LocaleProviderProps,
this.componentDidUpdate();
}

componentWillReceiveProps(nextProps: LocaleProviderProps) {
const { locale } = this.props;
const nextLocale = nextProps.locale;
if (locale.locale !== nextLocale.locale) {
setMomentLocale(nextProps.locale);
}
}

componentDidUpdate() {
const { locale } = this.props;
changeConfirmLocale(locale && locale.Modal);
}

componentWillUnMount() {
componentWillUnmount() {
changeConfirmLocale();
}

Expand Down
3 changes: 0 additions & 3 deletions components/locale-provider/is_IS.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
import * as moment from 'moment';
moment.locale('is');

import Pagination from 'rc-pagination/lib/locale/is_IS';
import DatePicker from '../date-picker/locale/is_IS';
import TimePicker from '../time-picker/locale/is_IS';
Expand Down
3 changes: 0 additions & 3 deletions components/locale-provider/it_IT.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
import * as moment from 'moment';
moment.locale('it');

import Pagination from 'rc-pagination/lib/locale/it_IT';
import DatePicker from '../date-picker/locale/it_IT';
import TimePicker from '../time-picker/locale/it_IT';
Expand Down
3 changes: 0 additions & 3 deletions components/locale-provider/ja_JP.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
import * as moment from 'moment';
moment.locale('ja');

import Pagination from 'rc-pagination/lib/locale/ja_JP';
import DatePicker from '../date-picker/locale/ja_JP';
import TimePicker from '../time-picker/locale/ja_JP';
Expand Down
3 changes: 0 additions & 3 deletions components/locale-provider/ko_KR.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
import * as moment from 'moment';
moment.locale('ko');

import Pagination from 'rc-pagination/lib/locale/ko_KR';
import DatePicker from '../date-picker/locale/ko_KR';
import TimePicker from '../time-picker/locale/ko_KR';
Expand Down
3 changes: 0 additions & 3 deletions components/locale-provider/nb_NO.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
import * as moment from 'moment';
moment.locale('nb');

import Pagination from 'rc-pagination/lib/locale/nb_NO';
import DatePicker from '../date-picker/locale/nb_NO';
import TimePicker from '../time-picker/locale/nb_NO';
Expand Down
3 changes: 0 additions & 3 deletions components/locale-provider/nl_BE.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
import * as moment from 'moment';
moment.locale('nl-be');

import Pagination from 'rc-pagination/lib/locale/nl_BE';
import DatePicker from '../date-picker/locale/nl_BE';
import TimePicker from '../time-picker/locale/nl_BE';
Expand Down
3 changes: 0 additions & 3 deletions components/locale-provider/nl_NL.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
import * as moment from 'moment';
moment.locale('nl');

import Pagination from 'rc-pagination/lib/locale/nl_NL';
import DatePicker from '../date-picker/locale/nl_NL';
import TimePicker from '../time-picker/locale/nl_NL';
Expand Down
3 changes: 0 additions & 3 deletions components/locale-provider/pl_PL.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
import * as moment from 'moment';
moment.locale('pl');

import Pagination from 'rc-pagination/lib/locale/pl_PL';
import DatePicker from '../date-picker/locale/pl_PL';
import TimePicker from '../time-picker/locale/pl_PL';
Expand Down
3 changes: 0 additions & 3 deletions components/locale-provider/pt_BR.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
import * as moment from 'moment';
moment.locale('pt-br');

import Pagination from 'rc-pagination/lib/locale/pt_BR';
import DatePicker from '../date-picker/locale/pt_BR';
import TimePicker from '../time-picker/locale/pt_BR';
Expand Down
3 changes: 0 additions & 3 deletions components/locale-provider/pt_PT.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
import * as moment from 'moment';
moment.locale('pt');

import Pagination from 'rc-pagination/lib/locale/pt_PT';
import DatePicker from '../date-picker/locale/pt_PT';
import TimePicker from '../time-picker/locale/pt_PT';
Expand Down
7 changes: 0 additions & 7 deletions components/locale-provider/ru_RU.tsx
Original file line number Diff line number Diff line change
@@ -1,10 +1,3 @@
/**
* Created by Andrey Gayvoronsky on 13/04/16.
*/

import * as moment from 'moment';
moment.locale('ru');

import Pagination from 'rc-pagination/lib/locale/ru_RU';
import DatePicker from '../date-picker/locale/ru_RU';
import TimePicker from '../time-picker/locale/ru_RU';
Expand Down
3 changes: 0 additions & 3 deletions components/locale-provider/sk_SK.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
import * as moment from 'moment';
moment.locale('sk');

import Pagination from 'rc-pagination/lib/locale/sk_SK';
import DatePicker from '../date-picker/locale/sk_SK';
import TimePicker from '../time-picker/locale/sk_SK';
Expand Down
3 changes: 0 additions & 3 deletions components/locale-provider/sr_RS.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
import * as moment from 'moment';
moment.locale('sr');

import Pagination from 'rc-pagination/lib/locale/sr_RS';
import DatePicker from '../date-picker/locale/sr_RS';
import TimePicker from '../time-picker/locale/sr_RS';
Expand Down
3 changes: 0 additions & 3 deletions components/locale-provider/sv_SE.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
import * as moment from 'moment';
moment.locale('sv');

import Pagination from 'rc-pagination/lib/locale/sv_SE';
import DatePicker from '../date-picker/locale/sv_SE';
import TimePicker from '../time-picker/locale/sv_SE';
Expand Down
3 changes: 0 additions & 3 deletions components/locale-provider/th_TH.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
import * as moment from 'moment';
moment.locale('th');

import Pagination from 'rc-pagination/lib/locale/th_TH';
import DatePicker from '../date-picker/locale/th_TH';
import TimePicker from '../time-picker/locale/th_TH';
Expand Down
3 changes: 0 additions & 3 deletions components/locale-provider/tr_TR.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
import * as moment from 'moment';
moment.locale('tr');

import Pagination from 'rc-pagination/lib/locale/en_US';
import DatePicker from '../date-picker/locale/tr_TR';
import TimePicker from '../time-picker/locale/tr_TR';
Expand Down
3 changes: 0 additions & 3 deletions components/locale-provider/uk_UA.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
import * as moment from 'moment';
moment.locale('uk');

import Pagination from 'rc-pagination/lib/locale/uk_UA';
import DatePicker from '../date-picker/locale/uk_UA';
import TimePicker from '../time-picker/locale/uk_UA';
Expand Down
3 changes: 0 additions & 3 deletions components/locale-provider/vi_VN.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
import * as moment from 'moment';
moment.locale('vi');

import Pagination from 'rc-pagination/lib/locale/vi_VN';
import DatePicker from '../date-picker/locale/vi_VN';
import TimePicker from '../time-picker/locale/vi_VN';
Expand Down
3 changes: 0 additions & 3 deletions components/locale-provider/zh_CN.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
import * as moment from 'moment';
moment.locale('zh-cn');

import Pagination from 'rc-pagination/lib/locale/zh_CN';
import DatePicker from '../date-picker/locale/zh_CN';
import TimePicker from '../time-picker/locale/zh_CN';
Expand Down
3 changes: 0 additions & 3 deletions components/locale-provider/zh_TW.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
import * as moment from 'moment';
moment.locale('zh-tw');

import Pagination from 'rc-pagination/lib/locale/zh_TW';
import DatePicker from '../date-picker/locale/zh_TW';
import TimePicker from '../time-picker/locale/zh_TW';
Expand Down

0 comments on commit 3d69f4e

Please sign in to comment.