UNPKG

@aliretail/react-materials-components

Version:
68 lines (58 loc) 2.14 kB
import _extends from "@babel/runtime/helpers/extends"; import _Balloon from "@alifd/next/es/balloon"; import _Button from "@alifd/next/es/button"; import _Icon from "@alifd/next/es/icon"; import React from 'react'; import * as R from 'ramda'; import { useFullscreen } from 'ahooks'; import { TableConsumer } from "../../TableContext"; function FullscreenButton(_ref) { var tableState = _ref.tableState; var containerId = tableState.containerId; var _useFullscreen = useFullscreen(document.getElementById(containerId), { onFull: function onFull() { var ele = document.getElementById(containerId); if (ele) { ele.style.padding = '20px'; ele.style.background = '#ffffff'; } }, onExitFull: function onExitFull() { var ele = document.getElementById(containerId); if (ele) { ele.style.padding = '0'; ele.style.background = 'initial'; } } }), isFullscreen = _useFullscreen[0], toggleFull = _useFullscreen[1].toggleFull; return /*#__PURE__*/React.createElement(_Balloon, { trigger: /*#__PURE__*/React.createElement(_Button, { text: true, size: "large", onClick: toggleFull, "data-name": "AliretailTableFullscreen" }, /*#__PURE__*/React.createElement(_Icon, { type: "ic_fullscreen" })), triggerType: "hover", closable: false }, "\u5168\u5C4F\u67E5\u770B"); } var withContext = function withContext(Comp) { var TableFullscreen = function TableFullscreen(props) { // props 为组件直接传入的 props 一般不需要使用此 props return /*#__PURE__*/React.createElement(TableConsumer, null, function (context) { var filterProps = R.pickAll(['tableState', 'tableStateChange'], context); var actionBarProps = _extends({}, props, { tableState: filterProps.tableState, tableStateChange: filterProps.tableStateChange }); return /*#__PURE__*/React.createElement(Comp, actionBarProps); }); }; TableFullscreen.displayName = 'AliretailTableFullscreen'; return TableFullscreen; }; export default withContext(FullscreenButton);