1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _extends2 = require('babel-runtime/helpers/extends');
var _extends3 = _interopRequireDefault(_extends2);
var _vueTypes = require('../_util/vue-types');
var _vueTypes2 = _interopRequireDefault(_vueTypes);
var _moment = require('moment');
var moment = _interopRequireWildcard(_moment);
var _interopDefault = require('../_util/interopDefault');
var _interopDefault2 = _interopRequireDefault(_interopDefault);
var _locale = require('../modal/locale');
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
// 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;
// }
function setMomentLocale(locale) {
if (locale && locale.locale) {
(0, _interopDefault2['default'])(moment).locale(locale.locale);
} else {
(0, _interopDefault2['default'])(moment).locale('en');
}
}
var LocaleProvider = {
name: 'ALocaleProvider',
props: {
locale: _vueTypes2['default'].object.def({})
},
data: function data() {
return {
antLocale: (0, _extends3['default'])({}, this.locale, {
exist: true
})
};
},
provide: function provide() {
return {
localeData: this.$data
};
},
watch: {
locale: function locale(val) {
this.antLocale = (0, _extends3['default'])({}, this.locale, {
exist: true
});
this.$nextTick(function () {
setMomentLocale(val);
});
}
},
created: function created() {
var locale = this.locale;
setMomentLocale(locale);
(0, _locale.changeConfirmLocale)(locale && locale.Modal);
},
updated: function updated() {
var locale = this.locale;
(0, _locale.changeConfirmLocale)(locale && locale.Modal);
},
beforeDestroy: function beforeDestroy() {
(0, _locale.changeConfirmLocale)();
},
render: function render() {
return this.$slots['default'] ? this.$slots['default'][0] : null;
}
};
/* istanbul ignore next */
LocaleProvider.install = function (Vue) {
Vue.component(LocaleProvider.name, LocaleProvider);
};
exports['default'] = LocaleProvider;