Showing
5 changed files
with
79 additions
and
15 deletions
| @@ -2,6 +2,8 @@ import "antd/es/table/style"; | @@ -2,6 +2,8 @@ import "antd/es/table/style"; | ||
| 2 | import _Table from "antd/es/table"; | 2 | import _Table from "antd/es/table"; |
| 3 | import "antd/es/alert/style"; | 3 | import "antd/es/alert/style"; |
| 4 | import _Alert from "antd/es/alert"; | 4 | import _Alert from "antd/es/alert"; |
| 5 | +import _FullscreenOutlined from "@ant-design/icons/es/icons/FullscreenOutlined"; | ||
| 6 | +import _FullscreenExitOutlined from "@ant-design/icons/es/icons/FullscreenExitOutlined"; | ||
| 5 | import "antd/es/dropdown/style"; | 7 | import "antd/es/dropdown/style"; |
| 6 | import _Dropdown from "antd/es/dropdown"; | 8 | import _Dropdown from "antd/es/dropdown"; |
| 7 | import "antd/es/space/style"; | 9 | import "antd/es/space/style"; |
| @@ -184,6 +186,11 @@ var VirtualList = function VirtualList(_ref) { | @@ -184,6 +186,11 @@ var VirtualList = function VirtualList(_ref) { | ||
| 184 | searchName = _useState12[0], | 186 | searchName = _useState12[0], |
| 185 | setSearchName = _useState12[1]; | 187 | setSearchName = _useState12[1]; |
| 186 | 188 | ||
| 189 | + var _useState13 = useState(false), | ||
| 190 | + _useState14 = _slicedToArray(_useState13, 2), | ||
| 191 | + isFullscreen = _useState14[0], | ||
| 192 | + setFullscreen = _useState14[1]; | ||
| 193 | + | ||
| 187 | var padding = useMemo(function () { | 194 | var padding = useMemo(function () { |
| 188 | return size === 'default' ? 32 : 16; | 195 | return size === 'default' ? 32 : 16; |
| 189 | }, [size]); | 196 | }, [size]); |
| @@ -416,11 +423,7 @@ var VirtualList = function VirtualList(_ref) { | @@ -416,11 +423,7 @@ var VirtualList = function VirtualList(_ref) { | ||
| 416 | width: column.width ? parseInt(column.width) : FIELD_LENGTH, | 423 | width: column.width ? parseInt(column.width) : FIELD_LENGTH, |
| 417 | align: column.align || 'left', | 424 | align: column.align || 'left', |
| 418 | fixed: column.fixed || props.fixed && index < props.fixed, | 425 | fixed: column.fixed || props.fixed && index < props.fixed, |
| 419 | - title: /*#__PURE__*/React.createElement("div", { | ||
| 420 | - style: { | ||
| 421 | - width: (parseInt(column.width) || FIELD_LENGTH) - padding + "px" | ||
| 422 | - } | ||
| 423 | - }, schema.required ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("span", { | 426 | + title: /*#__PURE__*/React.createElement("div", null, schema.required ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("span", { |
| 424 | className: "fr-label-required" | 427 | className: "fr-label-required" |
| 425 | }, " *"), /*#__PURE__*/React.createElement("span", null, schema.title)) : schema.title), | 428 | }, " *"), /*#__PURE__*/React.createElement("span", null, schema.title)) : schema.title), |
| 426 | render: function render(value, record, index) { | 429 | render: function render(value, record, index) { |
| @@ -829,7 +832,9 @@ var VirtualList = function VirtualList(_ref) { | @@ -829,7 +832,9 @@ var VirtualList = function VirtualList(_ref) { | ||
| 829 | } | 832 | } |
| 830 | }; | 833 | }; |
| 831 | 834 | ||
| 832 | - return /*#__PURE__*/React.createElement(React.Fragment, null, props.editable ? isSubCanEdit ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_Button, { | 835 | + return /*#__PURE__*/React.createElement("div", { |
| 836 | + className: isFullscreen ? 'qx-virtual_full' : '' | ||
| 837 | + }, props.editable ? isSubCanEdit ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_Button, { | ||
| 833 | type: 'text', | 838 | type: 'text', |
| 834 | size: "small", | 839 | size: "small", |
| 835 | icon: /*#__PURE__*/React.createElement(_CheckOutlined, null), | 840 | icon: /*#__PURE__*/React.createElement(_CheckOutlined, null), |
| @@ -898,7 +903,18 @@ var VirtualList = function VirtualList(_ref) { | @@ -898,7 +903,18 @@ var VirtualList = function VirtualList(_ref) { | ||
| 898 | style: { | 903 | style: { |
| 899 | marginLeft: 8 | 904 | marginLeft: 8 |
| 900 | } | 905 | } |
| 901 | - }, /*#__PURE__*/React.createElement(_Space, null, "\u66F4\u591A\u64CD\u4F5C", /*#__PURE__*/React.createElement(_DownOutlined, null)))) : null), Array.isArray(props.buttons) ? props.buttons.map(function (item, idx) { | 906 | + }, /*#__PURE__*/React.createElement(_Space, null, "\u66F4\u591A\u64CD\u4F5C", /*#__PURE__*/React.createElement(_DownOutlined, null)))) : null, schema.fullscreen !== false ? /*#__PURE__*/React.createElement(_Tooltip, { |
| 907 | + title: isFullscreen ? '退出全屏' : '全屏' | ||
| 908 | + }, /*#__PURE__*/React.createElement(_Button, { | ||
| 909 | + type: 'icon', | ||
| 910 | + icon: isFullscreen ? /*#__PURE__*/React.createElement(_FullscreenExitOutlined, null) : /*#__PURE__*/React.createElement(_FullscreenOutlined, null), | ||
| 911 | + onClick: function onClick() { | ||
| 912 | + setFullscreen(!isFullscreen); | ||
| 913 | + }, | ||
| 914 | + style: { | ||
| 915 | + marginLeft: 10 | ||
| 916 | + } | ||
| 917 | + })) : null), Array.isArray(props.buttons) ? props.buttons.map(function (item, idx) { | ||
| 902 | var callback = item.callback, | 918 | var callback = item.callback, |
| 903 | text = item.text, | 919 | text = item.text, |
| 904 | html = item.html; | 920 | html = item.html; |
| @@ -97,3 +97,18 @@ | @@ -97,3 +97,18 @@ | ||
| 97 | display: inline-block; | 97 | display: inline-block; |
| 98 | margin: 15px; | 98 | margin: 15px; |
| 99 | } | 99 | } |
| 100 | +.qx-virtual_full { | ||
| 101 | + position: fixed; | ||
| 102 | + top: 0; | ||
| 103 | + left: 0; | ||
| 104 | + bottom: 0; | ||
| 105 | + right: 0; | ||
| 106 | + z-index: 999; | ||
| 107 | + width: 100vw; | ||
| 108 | + height: 100vh; | ||
| 109 | + overflow: auto; | ||
| 110 | + background: #fff; | ||
| 111 | +} | ||
| 112 | +.qx-virtual_full .qx-virtual-searchLine { | ||
| 113 | + padding: 8px; | ||
| 114 | +} |
| @@ -13,6 +13,10 @@ require("antd/es/alert/style"); | @@ -13,6 +13,10 @@ require("antd/es/alert/style"); | ||
| 13 | 13 | ||
| 14 | var _alert = _interopRequireDefault(require("antd/es/alert")); | 14 | var _alert = _interopRequireDefault(require("antd/es/alert")); |
| 15 | 15 | ||
| 16 | +var _FullscreenOutlined2 = _interopRequireDefault(require("@ant-design/icons/lib/icons/FullscreenOutlined")); | ||
| 17 | + | ||
| 18 | +var _FullscreenExitOutlined2 = _interopRequireDefault(require("@ant-design/icons/lib/icons/FullscreenExitOutlined")); | ||
| 19 | + | ||
| 16 | require("antd/es/dropdown/style"); | 20 | require("antd/es/dropdown/style"); |
| 17 | 21 | ||
| 18 | var _dropdown = _interopRequireDefault(require("antd/es/dropdown")); | 22 | var _dropdown = _interopRequireDefault(require("antd/es/dropdown")); |
| @@ -234,6 +238,11 @@ var VirtualList = function VirtualList(_ref) { | @@ -234,6 +238,11 @@ var VirtualList = function VirtualList(_ref) { | ||
| 234 | searchName = _useState12[0], | 238 | searchName = _useState12[0], |
| 235 | setSearchName = _useState12[1]; | 239 | setSearchName = _useState12[1]; |
| 236 | 240 | ||
| 241 | + var _useState13 = (0, _react.useState)(false), | ||
| 242 | + _useState14 = _slicedToArray(_useState13, 2), | ||
| 243 | + isFullscreen = _useState14[0], | ||
| 244 | + setFullscreen = _useState14[1]; | ||
| 245 | + | ||
| 237 | var padding = (0, _react.useMemo)(function () { | 246 | var padding = (0, _react.useMemo)(function () { |
| 238 | return size === 'default' ? 32 : 16; | 247 | return size === 'default' ? 32 : 16; |
| 239 | }, [size]); | 248 | }, [size]); |
| @@ -468,11 +477,7 @@ var VirtualList = function VirtualList(_ref) { | @@ -468,11 +477,7 @@ var VirtualList = function VirtualList(_ref) { | ||
| 468 | width: column.width ? parseInt(column.width) : FIELD_LENGTH, | 477 | width: column.width ? parseInt(column.width) : FIELD_LENGTH, |
| 469 | align: column.align || 'left', | 478 | align: column.align || 'left', |
| 470 | fixed: column.fixed || props.fixed && index < props.fixed, | 479 | fixed: column.fixed || props.fixed && index < props.fixed, |
| 471 | - title: /*#__PURE__*/_react.default.createElement("div", { | ||
| 472 | - style: { | ||
| 473 | - width: (parseInt(column.width) || FIELD_LENGTH) - padding + "px" | ||
| 474 | - } | ||
| 475 | - }, schema.required ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("span", { | 480 | + title: /*#__PURE__*/_react.default.createElement("div", null, schema.required ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("span", { |
| 476 | className: "fr-label-required" | 481 | className: "fr-label-required" |
| 477 | }, " *"), /*#__PURE__*/_react.default.createElement("span", null, schema.title)) : schema.title), | 482 | }, " *"), /*#__PURE__*/_react.default.createElement("span", null, schema.title)) : schema.title), |
| 478 | render: function render(value, record, index) { | 483 | render: function render(value, record, index) { |
| @@ -881,7 +886,9 @@ var VirtualList = function VirtualList(_ref) { | @@ -881,7 +886,9 @@ var VirtualList = function VirtualList(_ref) { | ||
| 881 | } | 886 | } |
| 882 | }; | 887 | }; |
| 883 | 888 | ||
| 884 | - return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, props.editable ? isSubCanEdit ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_button.default, { | 889 | + return /*#__PURE__*/_react.default.createElement("div", { |
| 890 | + className: isFullscreen ? 'qx-virtual_full' : '' | ||
| 891 | + }, props.editable ? isSubCanEdit ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_button.default, { | ||
| 885 | type: 'text', | 892 | type: 'text', |
| 886 | size: "small", | 893 | size: "small", |
| 887 | icon: /*#__PURE__*/_react.default.createElement(_CheckOutlined2.default, null), | 894 | icon: /*#__PURE__*/_react.default.createElement(_CheckOutlined2.default, null), |
| @@ -950,7 +957,18 @@ var VirtualList = function VirtualList(_ref) { | @@ -950,7 +957,18 @@ var VirtualList = function VirtualList(_ref) { | ||
| 950 | style: { | 957 | style: { |
| 951 | marginLeft: 8 | 958 | marginLeft: 8 |
| 952 | } | 959 | } |
| 953 | - }, /*#__PURE__*/_react.default.createElement(_space.default, null, "\u66F4\u591A\u64CD\u4F5C", /*#__PURE__*/_react.default.createElement(_DownOutlined2.default, null)))) : null), Array.isArray(props.buttons) ? props.buttons.map(function (item, idx) { | 960 | + }, /*#__PURE__*/_react.default.createElement(_space.default, null, "\u66F4\u591A\u64CD\u4F5C", /*#__PURE__*/_react.default.createElement(_DownOutlined2.default, null)))) : null, schema.fullscreen !== false ? /*#__PURE__*/_react.default.createElement(_tooltip.default, { |
| 961 | + title: isFullscreen ? '退出全屏' : '全屏' | ||
| 962 | + }, /*#__PURE__*/_react.default.createElement(_button.default, { | ||
| 963 | + type: 'icon', | ||
| 964 | + icon: isFullscreen ? /*#__PURE__*/_react.default.createElement(_FullscreenExitOutlined2.default, null) : /*#__PURE__*/_react.default.createElement(_FullscreenOutlined2.default, null), | ||
| 965 | + onClick: function onClick() { | ||
| 966 | + setFullscreen(!isFullscreen); | ||
| 967 | + }, | ||
| 968 | + style: { | ||
| 969 | + marginLeft: 10 | ||
| 970 | + } | ||
| 971 | + })) : null), Array.isArray(props.buttons) ? props.buttons.map(function (item, idx) { | ||
| 954 | var callback = item.callback, | 972 | var callback = item.callback, |
| 955 | text = item.text, | 973 | text = item.text, |
| 956 | html = item.html; | 974 | html = item.html; |
| @@ -97,3 +97,18 @@ | @@ -97,3 +97,18 @@ | ||
| 97 | display: inline-block; | 97 | display: inline-block; |
| 98 | margin: 15px; | 98 | margin: 15px; |
| 99 | } | 99 | } |
| 100 | +.qx-virtual_full { | ||
| 101 | + position: fixed; | ||
| 102 | + top: 0; | ||
| 103 | + left: 0; | ||
| 104 | + bottom: 0; | ||
| 105 | + right: 0; | ||
| 106 | + z-index: 999; | ||
| 107 | + width: 100vw; | ||
| 108 | + height: 100vh; | ||
| 109 | + overflow: auto; | ||
| 110 | + background: #fff; | ||
| 111 | +} | ||
| 112 | +.qx-virtual_full .qx-virtual-searchLine { | ||
| 113 | + padding: 8px; | ||
| 114 | +} |
| 1 | { | 1 | { |
| 2 | "name": "@qx/form-render", | 2 | "name": "@qx/form-render", |
| 3 | - "version": "0.0.29", | 3 | + "version": "0.0.30", |
| 4 | "description": "通过 JSON Schema 生成标准 Form,常用于自定义搭建配置界面生成", | 4 | "description": "通过 JSON Schema 生成标准 Form,常用于自定义搭建配置界面生成", |
| 5 | "repository": { | 5 | "repository": { |
| 6 | "type": "git", | 6 | "type": "git", |