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", |