SelectionBox.js 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  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 _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties');
  8. var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
  9. var _checkbox = require('../checkbox');
  10. var _checkbox2 = _interopRequireDefault(_checkbox);
  11. var _radio = require('../radio');
  12. var _radio2 = _interopRequireDefault(_radio);
  13. var _interface = require('./interface');
  14. var _BaseMixin = require('../_util/BaseMixin');
  15. var _BaseMixin2 = _interopRequireDefault(_BaseMixin);
  16. var _propsUtil = require('../_util/props-util');
  17. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
  18. exports['default'] = {
  19. name: 'SelectionBox',
  20. mixins: [_BaseMixin2['default']],
  21. props: _interface.SelectionBoxProps,
  22. computed: {
  23. checked: function checked() {
  24. var _$props = this.$props,
  25. store = _$props.store,
  26. defaultSelection = _$props.defaultSelection,
  27. rowIndex = _$props.rowIndex;
  28. var checked = false;
  29. if (store.selectionDirty) {
  30. checked = store.selectedRowKeys.indexOf(rowIndex) >= 0;
  31. } else {
  32. checked = store.selectedRowKeys.indexOf(rowIndex) >= 0 || defaultSelection.indexOf(rowIndex) >= 0;
  33. }
  34. return checked;
  35. }
  36. },
  37. render: function render() {
  38. var h = arguments[0];
  39. var _getOptionProps = (0, _propsUtil.getOptionProps)(this),
  40. type = _getOptionProps.type,
  41. rowIndex = _getOptionProps.rowIndex,
  42. rest = (0, _objectWithoutProperties3['default'])(_getOptionProps, ['type', 'rowIndex']);
  43. var checked = this.checked;
  44. var checkboxProps = {
  45. props: (0, _extends3['default'])({
  46. checked: checked
  47. }, rest),
  48. on: (0, _propsUtil.getListeners)(this)
  49. };
  50. if (type === 'radio') {
  51. checkboxProps.props.value = rowIndex;
  52. return h(_radio2['default'], checkboxProps);
  53. }
  54. return h(_checkbox2['default'], checkboxProps);
  55. }
  56. };