operation.js 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. import _extends from 'babel-runtime/helpers/extends';
  2. import PropTypes from '../_util/vue-types';
  3. import { getOptionProps } from '../_util/props-util';
  4. import Button from '../button';
  5. function noop() {}
  6. export var TransferOperationProps = {
  7. className: PropTypes.string,
  8. leftArrowText: PropTypes.string,
  9. rightArrowText: PropTypes.string,
  10. moveToLeft: PropTypes.any,
  11. moveToRight: PropTypes.any,
  12. leftActive: PropTypes.bool,
  13. rightActive: PropTypes.bool,
  14. disabled: PropTypes.bool
  15. };
  16. export default {
  17. name: 'Operation',
  18. props: _extends({}, TransferOperationProps),
  19. render: function render() {
  20. var h = arguments[0];
  21. var _getOptionProps = getOptionProps(this),
  22. disabled = _getOptionProps.disabled,
  23. _getOptionProps$moveT = _getOptionProps.moveToLeft,
  24. moveToLeft = _getOptionProps$moveT === undefined ? noop : _getOptionProps$moveT,
  25. _getOptionProps$moveT2 = _getOptionProps.moveToRight,
  26. moveToRight = _getOptionProps$moveT2 === undefined ? noop : _getOptionProps$moveT2,
  27. _getOptionProps$leftA = _getOptionProps.leftArrowText,
  28. leftArrowText = _getOptionProps$leftA === undefined ? '' : _getOptionProps$leftA,
  29. _getOptionProps$right = _getOptionProps.rightArrowText,
  30. rightArrowText = _getOptionProps$right === undefined ? '' : _getOptionProps$right,
  31. leftActive = _getOptionProps.leftActive,
  32. rightActive = _getOptionProps.rightActive;
  33. return h('div', [h(
  34. Button,
  35. {
  36. attrs: {
  37. type: 'primary',
  38. size: 'small',
  39. disabled: disabled || !rightActive,
  40. icon: 'right'
  41. },
  42. on: {
  43. 'click': moveToRight
  44. }
  45. },
  46. [rightArrowText]
  47. ), h(
  48. Button,
  49. {
  50. attrs: {
  51. type: 'primary',
  52. size: 'small',
  53. disabled: disabled || !leftActive,
  54. icon: 'left'
  55. },
  56. on: {
  57. 'click': moveToLeft
  58. }
  59. },
  60. [leftArrowText]
  61. )]);
  62. }
  63. };