legacyUtil.js 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  3. Object.defineProperty(exports, "__esModule", {
  4. value: true
  5. });
  6. exports.INTERNAL_COL_DEFINE = void 0;
  7. exports.getDataAndAriaProps = getDataAndAriaProps;
  8. exports.getExpandableProps = getExpandableProps;
  9. var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
  10. var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
  11. var _warning = require("../../vc-util/warning");
  12. var _excluded = ["expandable"];
  13. var INTERNAL_COL_DEFINE = 'RC_TABLE_INTERNAL_COL_DEFINE';
  14. exports.INTERNAL_COL_DEFINE = INTERNAL_COL_DEFINE;
  15. function getExpandableProps(props) {
  16. var expandable = props.expandable,
  17. legacyExpandableConfig = (0, _objectWithoutProperties2.default)(props, _excluded);
  18. var config;
  19. if (props.expandable !== undefined) {
  20. config = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, legacyExpandableConfig), expandable);
  21. } else {
  22. if (process.env.NODE_ENV !== 'production' && ['indentSize', 'expandedRowKeys', 'defaultExpandedRowKeys', 'defaultExpandAllRows', 'expandedRowRender', 'expandRowByClick', 'expandIcon', 'onExpand', 'onExpandedRowsChange', 'expandedRowClassName', 'expandIconColumnIndex', 'showExpandColumn'].some(function (prop) {
  23. return prop in props;
  24. })) {
  25. (0, _warning.warning)(false, 'expanded related props have been moved into `expandable`.');
  26. }
  27. config = legacyExpandableConfig;
  28. }
  29. if (config.showExpandColumn === false) {
  30. config.expandIconColumnIndex = -1;
  31. }
  32. return config;
  33. }
  34. /**
  35. * Returns only data- and aria- key/value pairs
  36. * @param {object} props
  37. */
  38. function getDataAndAriaProps(props) {
  39. /* eslint-disable no-param-reassign */
  40. return Object.keys(props).reduce(function (memo, key) {
  41. if (key.substr(0, 5) === 'data-' || key.substr(0, 5) === 'aria-') {
  42. memo[key] = props[key];
  43. }
  44. return memo;
  45. }, {});
  46. /* eslint-enable */
  47. }