index.js 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  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 _defineProperty2 = require('babel-runtime/helpers/defineProperty');
  8. var _defineProperty3 = _interopRequireDefault(_defineProperty2);
  9. var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties');
  10. var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
  11. var _vueTypes = require('../_util/vue-types');
  12. var _vueTypes2 = _interopRequireDefault(_vueTypes);
  13. var _propsUtil = require('../_util/props-util');
  14. var _propsUtil2 = _interopRequireDefault(_propsUtil);
  15. var _vcSwitch = require('../vc-switch');
  16. var _vcSwitch2 = _interopRequireDefault(_vcSwitch);
  17. var _wave = require('../_util/wave');
  18. var _wave2 = _interopRequireDefault(_wave);
  19. var _icon = require('../icon');
  20. var _icon2 = _interopRequireDefault(_icon);
  21. var _configConsumerProps = require('../config-provider/configConsumerProps');
  22. var _base = require('../base');
  23. var _base2 = _interopRequireDefault(_base);
  24. var _warning = require('../_util/warning');
  25. var _warning2 = _interopRequireDefault(_warning);
  26. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
  27. var Switch = {
  28. name: 'ASwitch',
  29. __ANT_SWITCH: true,
  30. model: {
  31. prop: 'checked',
  32. event: 'change'
  33. },
  34. props: {
  35. prefixCls: _vueTypes2['default'].string,
  36. // size=default and size=large are the same
  37. size: _vueTypes2['default'].oneOf(['small', 'default', 'large']),
  38. disabled: _vueTypes2['default'].bool,
  39. checkedChildren: _vueTypes2['default'].any,
  40. unCheckedChildren: _vueTypes2['default'].any,
  41. tabIndex: _vueTypes2['default'].oneOfType([_vueTypes2['default'].string, _vueTypes2['default'].number]),
  42. checked: _vueTypes2['default'].bool,
  43. defaultChecked: _vueTypes2['default'].bool,
  44. autoFocus: _vueTypes2['default'].bool,
  45. loading: _vueTypes2['default'].bool
  46. },
  47. inject: {
  48. configProvider: { 'default': function _default() {
  49. return _configConsumerProps.ConfigConsumerProps;
  50. } }
  51. },
  52. methods: {
  53. focus: function focus() {
  54. this.$refs.refSwitchNode.focus();
  55. },
  56. blur: function blur() {
  57. this.$refs.refSwitchNode.blur();
  58. }
  59. },
  60. created: function created() {
  61. (0, _warning2['default'])((0, _propsUtil2['default'])(this, 'checked') || !(0, _propsUtil2['default'])(this, 'value'), 'Switch', '`value` is not validate prop, do you mean `checked`?');
  62. },
  63. render: function render() {
  64. var _classes;
  65. var h = arguments[0];
  66. var _getOptionProps = (0, _propsUtil.getOptionProps)(this),
  67. customizePrefixCls = _getOptionProps.prefixCls,
  68. size = _getOptionProps.size,
  69. loading = _getOptionProps.loading,
  70. disabled = _getOptionProps.disabled,
  71. restProps = (0, _objectWithoutProperties3['default'])(_getOptionProps, ['prefixCls', 'size', 'loading', 'disabled']);
  72. var getPrefixCls = this.configProvider.getPrefixCls;
  73. var prefixCls = getPrefixCls('switch', customizePrefixCls);
  74. var classes = (_classes = {}, (0, _defineProperty3['default'])(_classes, prefixCls + '-small', size === 'small'), (0, _defineProperty3['default'])(_classes, prefixCls + '-loading', loading), _classes);
  75. var loadingIcon = loading ? h(_icon2['default'], {
  76. attrs: { type: 'loading' },
  77. 'class': prefixCls + '-loading-icon' }) : null;
  78. var switchProps = {
  79. props: (0, _extends3['default'])({}, restProps, {
  80. prefixCls: prefixCls,
  81. loadingIcon: loadingIcon,
  82. checkedChildren: (0, _propsUtil.getComponentFromProp)(this, 'checkedChildren'),
  83. unCheckedChildren: (0, _propsUtil.getComponentFromProp)(this, 'unCheckedChildren'),
  84. disabled: disabled || loading
  85. }),
  86. on: (0, _propsUtil.getListeners)(this),
  87. 'class': classes,
  88. ref: 'refSwitchNode'
  89. };
  90. return h(
  91. _wave2['default'],
  92. {
  93. attrs: { insertExtraNode: true }
  94. },
  95. [h(_vcSwitch2['default'], switchProps)]
  96. );
  97. }
  98. };
  99. /* istanbul ignore next */
  100. Switch.install = function (Vue) {
  101. Vue.use(_base2['default']);
  102. Vue.component(Switch.name, Switch);
  103. };
  104. exports['default'] = Switch;