createBodyRow.js 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. 'use strict';
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. var _babelHelperVueJsxMergeProps = require('babel-helper-vue-jsx-merge-props');
  6. var _babelHelperVueJsxMergeProps2 = _interopRequireDefault(_babelHelperVueJsxMergeProps);
  7. var _defineProperty2 = require('babel-runtime/helpers/defineProperty');
  8. var _defineProperty3 = _interopRequireDefault(_defineProperty2);
  9. exports['default'] = createBodyRow;
  10. var _vueTypes = require('../_util/vue-types');
  11. var _vueTypes2 = _interopRequireDefault(_vueTypes);
  12. var _propsUtil = require('../_util/props-util');
  13. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
  14. var BodyRowProps = {
  15. store: _vueTypes2['default'].any,
  16. rowKey: _vueTypes2['default'].oneOfType([_vueTypes2['default'].string, _vueTypes2['default'].number]),
  17. prefixCls: _vueTypes2['default'].string
  18. };
  19. function createBodyRow() {
  20. var Component = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'tr';
  21. var BodyRow = {
  22. name: 'BodyRow',
  23. props: BodyRowProps,
  24. computed: {
  25. selected: function selected() {
  26. return this.$props.store.selectedRowKeys.indexOf(this.$props.rowKey) >= 0;
  27. }
  28. },
  29. render: function render() {
  30. var h = arguments[0];
  31. var className = (0, _defineProperty3['default'])({}, this.prefixCls + '-row-selected', this.selected);
  32. return h(
  33. Component,
  34. (0, _babelHelperVueJsxMergeProps2['default'])([{ 'class': className }, { on: (0, _propsUtil.getListeners)(this) }]),
  35. [this.$slots['default']]
  36. );
  37. }
  38. };
  39. return BodyRow;
  40. }