Commit fda8c29148819e07dc7a01bf44bef124aef8573e

Authored by 乔启韬
1 parent 7095a683

子表、关联表全屏

... ... @@ -2,6 +2,8 @@ import "antd/es/table/style";
2 2 import _Table from "antd/es/table";
3 3 import "antd/es/alert/style";
4 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 7 import "antd/es/dropdown/style";
6 8 import _Dropdown from "antd/es/dropdown";
7 9 import "antd/es/space/style";
... ... @@ -184,6 +186,11 @@ var VirtualList = function VirtualList(_ref) {
184 186 searchName = _useState12[0],
185 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 194 var padding = useMemo(function () {
188 195 return size === 'default' ? 32 : 16;
189 196 }, [size]);
... ... @@ -416,11 +423,7 @@ var VirtualList = function VirtualList(_ref) {
416 423 width: column.width ? parseInt(column.width) : FIELD_LENGTH,
417 424 align: column.align || 'left',
418 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 427 className: "fr-label-required"
425 428 }, " *"), /*#__PURE__*/React.createElement("span", null, schema.title)) : schema.title),
426 429 render: function render(value, record, index) {
... ... @@ -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 838 type: 'text',
834 839 size: "small",
835 840 icon: /*#__PURE__*/React.createElement(_CheckOutlined, null),
... ... @@ -898,7 +903,18 @@ var VirtualList = function VirtualList(_ref) {
898 903 style: {
899 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 918 var callback = item.callback,
903 919 text = item.text,
904 920 html = item.html;
... ...
... ... @@ -97,3 +97,18 @@
97 97 display: inline-block;
98 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 13
14 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 20 require("antd/es/dropdown/style");
17 21
18 22 var _dropdown = _interopRequireDefault(require("antd/es/dropdown"));
... ... @@ -234,6 +238,11 @@ var VirtualList = function VirtualList(_ref) {
234 238 searchName = _useState12[0],
235 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 246 var padding = (0, _react.useMemo)(function () {
238 247 return size === 'default' ? 32 : 16;
239 248 }, [size]);
... ... @@ -468,11 +477,7 @@ var VirtualList = function VirtualList(_ref) {
468 477 width: column.width ? parseInt(column.width) : FIELD_LENGTH,
469 478 align: column.align || 'left',
470 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 481 className: "fr-label-required"
477 482 }, " *"), /*#__PURE__*/_react.default.createElement("span", null, schema.title)) : schema.title),
478 483 render: function render(value, record, index) {
... ... @@ -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 892 type: 'text',
886 893 size: "small",
887 894 icon: /*#__PURE__*/_react.default.createElement(_CheckOutlined2.default, null),
... ... @@ -950,7 +957,18 @@ var VirtualList = function VirtualList(_ref) {
950 957 style: {
951 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 972 var callback = item.callback,
955 973 text = item.text,
956 974 html = item.html;
... ...
... ... @@ -97,3 +97,18 @@
97 97 display: inline-block;
98 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 2 "name": "@qx/form-render",
3   - "version": "0.0.29",
  3 + "version": "0.0.30",
4 4 "description": "通过 JSON Schema 生成标准 Form,常用于自定义搭建配置界面生成",
5 5 "repository": {
6 6 "type": "git",
... ...