index.js 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. 'use strict';
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. var _extends2 = require('babel-runtime/helpers/extends');
  6. var _extends3 = _interopRequireDefault(_extends2);
  7. var _vue = require('vue');
  8. var _vue2 = _interopRequireDefault(_vue);
  9. var _vueTypes = require('../_util/vue-types');
  10. var _vueTypes2 = _interopRequireDefault(_vueTypes);
  11. var _propsUtil = require('../_util/props-util');
  12. var _renderEmpty = require('./renderEmpty');
  13. var _renderEmpty2 = _interopRequireDefault(_renderEmpty);
  14. var _base = require('../base');
  15. var _base2 = _interopRequireDefault(_base);
  16. var _localeProvider = require('../locale-provider');
  17. var _localeProvider2 = _interopRequireDefault(_localeProvider);
  18. var _LocaleReceiver = require('../locale-provider/LocaleReceiver');
  19. var _LocaleReceiver2 = _interopRequireDefault(_LocaleReceiver);
  20. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
  21. function getWatch() {
  22. var keys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
  23. var watch = {};
  24. keys.forEach(function (k) {
  25. watch[k] = function (value) {
  26. this._proxyVm._data[k] = value;
  27. };
  28. });
  29. return watch;
  30. }
  31. var ConfigProvider = {
  32. name: 'AConfigProvider',
  33. props: {
  34. getPopupContainer: _vueTypes2['default'].func,
  35. prefixCls: _vueTypes2['default'].string,
  36. renderEmpty: _vueTypes2['default'].func,
  37. csp: _vueTypes2['default'].object,
  38. autoInsertSpaceInButton: _vueTypes2['default'].bool,
  39. locale: _vueTypes2['default'].object,
  40. pageHeader: _vueTypes2['default'].object,
  41. transformCellText: _vueTypes2['default'].func
  42. },
  43. provide: function provide() {
  44. var _self = this;
  45. this._proxyVm = new _vue2['default']({
  46. data: function data() {
  47. return (0, _extends3['default'])({}, _self.$props, {
  48. getPrefixCls: _self.getPrefixCls,
  49. renderEmpty: _self.renderEmptyComponent
  50. });
  51. }
  52. });
  53. return {
  54. configProvider: this._proxyVm._data
  55. };
  56. },
  57. watch: (0, _extends3['default'])({}, getWatch(['prefixCls', 'csp', 'autoInsertSpaceInButton', 'locale', 'pageHeader', 'transformCellText'])),
  58. methods: {
  59. renderEmptyComponent: function renderEmptyComponent(h, name) {
  60. var renderEmpty = (0, _propsUtil.getComponentFromProp)(this, 'renderEmpty', {}, false) || _renderEmpty2['default'];
  61. return renderEmpty(h, name);
  62. },
  63. getPrefixCls: function getPrefixCls(suffixCls, customizePrefixCls) {
  64. var _$props$prefixCls = this.$props.prefixCls,
  65. prefixCls = _$props$prefixCls === undefined ? 'ant' : _$props$prefixCls;
  66. if (customizePrefixCls) return customizePrefixCls;
  67. return suffixCls ? prefixCls + '-' + suffixCls : prefixCls;
  68. },
  69. renderProvider: function renderProvider(legacyLocale) {
  70. var h = this.$createElement;
  71. return h(
  72. _localeProvider2['default'],
  73. {
  74. attrs: { locale: this.locale || legacyLocale, _ANT_MARK__: _localeProvider.ANT_MARK }
  75. },
  76. [this.$slots['default'] ? (0, _propsUtil.filterEmpty)(this.$slots['default'])[0] : null]
  77. );
  78. }
  79. },
  80. render: function render() {
  81. var _this = this;
  82. var h = arguments[0];
  83. return h(_LocaleReceiver2['default'], {
  84. scopedSlots: { 'default': function _default(_, __, legacyLocale) {
  85. return _this.renderProvider(legacyLocale);
  86. } }
  87. });
  88. }
  89. };
  90. /* istanbul ignore next */
  91. ConfigProvider.install = function (Vue) {
  92. Vue.use(_base2['default']);
  93. Vue.component(ConfigProvider.name, ConfigProvider);
  94. };
  95. exports['default'] = ConfigProvider;