form-render-v3 3.0.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +126 -0
- package/es/derivative/SearchForm/ActionView.d.ts +3 -0
- package/es/derivative/SearchForm/ActionView.js +72 -0
- package/es/derivative/SearchForm/index.css +31 -0
- package/es/derivative/SearchForm/index.d.ts +5 -0
- package/es/derivative/SearchForm/index.js +294 -0
- package/es/derivative/SlimRender/index.d.ts +3 -0
- package/es/derivative/SlimRender/index.js +6 -0
- package/es/form-core/connectForm.d.ts +3 -0
- package/es/form-core/connectForm.js +12 -0
- package/es/form-core/index.css +19 -0
- package/es/form-core/index.d.ts +5 -0
- package/es/form-core/index.js +305 -0
- package/es/index.d.ts +10 -0
- package/es/index.js +10 -0
- package/es/locales/en_US.d.ts +28 -0
- package/es/locales/en_US.js +27 -0
- package/es/locales/index.d.ts +57 -0
- package/es/locales/index.js +6 -0
- package/es/locales/zh_CN.d.ts +28 -0
- package/es/locales/zh_CN.js +27 -0
- package/es/models/bindValues.d.ts +2 -0
- package/es/models/bindValues.js +172 -0
- package/es/models/context.d.ts +3 -0
- package/es/models/context.js +3 -0
- package/es/models/expression.d.ts +7 -0
- package/es/models/expression.js +135 -0
- package/es/models/fieldShouldUpdate.d.ts +2 -0
- package/es/models/fieldShouldUpdate.js +70 -0
- package/es/models/filterValuesHidden.d.ts +5 -0
- package/es/models/filterValuesHidden.js +61 -0
- package/es/models/filterValuesUndefined.d.ts +2 -0
- package/es/models/filterValuesUndefined.js +47 -0
- package/es/models/flattenSchema.d.ts +3 -0
- package/es/models/flattenSchema.js +91 -0
- package/es/models/formCoreUtils.d.ts +8 -0
- package/es/models/formCoreUtils.js +190 -0
- package/es/models/formDataSkeleton.d.ts +1 -0
- package/es/models/formDataSkeleton.js +31 -0
- package/es/models/layout.d.ts +4 -0
- package/es/models/layout.js +88 -0
- package/es/models/mapping.d.ts +89 -0
- package/es/models/mapping.js +119 -0
- package/es/models/sortProperties.d.ts +2 -0
- package/es/models/sortProperties.js +41 -0
- package/es/models/store.d.ts +10 -0
- package/es/models/store.js +22 -0
- package/es/models/transformProps.d.ts +34 -0
- package/es/models/transformProps.js +80 -0
- package/es/models/useForm.d.ts +3 -0
- package/es/models/useForm.js +322 -0
- package/es/models/validateMessage.d.ts +93 -0
- package/es/models/validateMessage.js +95 -0
- package/es/models/validates.d.ts +3 -0
- package/es/models/validates.js +201 -0
- package/es/render-core/FieldItem/field.d.ts +3 -0
- package/es/render-core/FieldItem/field.js +81 -0
- package/es/render-core/FieldItem/index.d.ts +3 -0
- package/es/render-core/FieldItem/index.js +54 -0
- package/es/render-core/FieldItem/main.d.ts +3 -0
- package/es/render-core/FieldItem/main.js +228 -0
- package/es/render-core/FieldItem/module.d.ts +18 -0
- package/es/render-core/FieldItem/module.js +337 -0
- package/es/render-core/FieldList/field.d.ts +3 -0
- package/es/render-core/FieldList/field.js +300 -0
- package/es/render-core/FieldList/index.d.ts +3 -0
- package/es/render-core/FieldList/index.js +44 -0
- package/es/render-core/FieldList/main.d.ts +3 -0
- package/es/render-core/FieldList/main.js +99 -0
- package/es/render-core/FieldList/modules.d.ts +7 -0
- package/es/render-core/FieldList/modules.js +108 -0
- package/es/render-core/index.css +29 -0
- package/es/render-core/index.d.ts +9 -0
- package/es/render-core/index.js +85 -0
- package/es/type.d.ts +405 -0
- package/es/type.js +1 -0
- package/es/utils/index.d.ts +75 -0
- package/es/utils/index.js +120 -0
- package/es/widgets/ErrorSchema/index.d.ts +3 -0
- package/es/widgets/ErrorSchema/index.js +14 -0
- package/es/widgets/boxCollapse/index.css +53 -0
- package/es/widgets/boxCollapse/index.d.ts +18 -0
- package/es/widgets/boxCollapse/index.js +70 -0
- package/es/widgets/boxLineTitle/index.css +18 -0
- package/es/widgets/boxLineTitle/index.d.ts +8 -0
- package/es/widgets/boxLineTitle/index.js +23 -0
- package/es/widgets/boxSubInline/index.css +11 -0
- package/es/widgets/boxSubInline/index.d.ts +4 -0
- package/es/widgets/boxSubInline/index.js +56 -0
- package/es/widgets/boxcard/index.css +17 -0
- package/es/widgets/boxcard/index.d.ts +8 -0
- package/es/widgets/boxcard/index.js +20 -0
- package/es/widgets/components/DatePicker/index.d.ts +3 -0
- package/es/widgets/components/DatePicker/index.js +15 -0
- package/es/widgets/components/FButton/index.d.ts +3 -0
- package/es/widgets/components/FButton/index.js +24 -0
- package/es/widgets/components/HeaderTitle/index.css +0 -0
- package/es/widgets/components/HeaderTitle/index.d.ts +4 -0
- package/es/widgets/components/HeaderTitle/index.js +14 -0
- package/es/widgets/components/PanelView/index.css +6 -0
- package/es/widgets/components/PanelView/index.d.ts +4 -0
- package/es/widgets/components/PanelView/index.js +13 -0
- package/es/widgets/components/TimePicker/index.d.ts +2 -0
- package/es/widgets/components/TimePicker/index.js +18 -0
- package/es/widgets/fields/checkbox/index.d.ts +3 -0
- package/es/widgets/fields/checkbox/index.js +15 -0
- package/es/widgets/fields/checkboxes/index.d.ts +3 -0
- package/es/widgets/fields/checkboxes/index.js +31 -0
- package/es/widgets/fields/date/index.d.ts +3 -0
- package/es/widgets/fields/date/index.js +45 -0
- package/es/widgets/fields/dateRange/index.d.ts +7 -0
- package/es/widgets/fields/dateRange/index.js +64 -0
- package/es/widgets/fields/html/index.d.ts +2 -0
- package/es/widgets/fields/html/index.js +53 -0
- package/es/widgets/fields/imageInput/index.css +7 -0
- package/es/widgets/fields/imageInput/index.d.ts +4 -0
- package/es/widgets/fields/imageInput/index.js +38 -0
- package/es/widgets/fields/input/index.d.ts +2 -0
- package/es/widgets/fields/input/index.js +4 -0
- package/es/widgets/fields/number/index.d.ts +2 -0
- package/es/widgets/fields/number/index.js +4 -0
- package/es/widgets/fields/percentSlider/index.d.ts +17 -0
- package/es/widgets/fields/percentSlider/index.js +82 -0
- package/es/widgets/fields/radio/index.d.ts +3 -0
- package/es/widgets/fields/radio/index.js +31 -0
- package/es/widgets/fields/rate/index.d.ts +2 -0
- package/es/widgets/fields/rate/index.js +4 -0
- package/es/widgets/fields/select/index.d.ts +2 -0
- package/es/widgets/fields/select/index.js +4 -0
- package/es/widgets/fields/slider/index.css +5 -0
- package/es/widgets/fields/slider/index.d.ts +7 -0
- package/es/widgets/fields/slider/index.js +58 -0
- package/es/widgets/fields/switch/index.d.ts +2 -0
- package/es/widgets/fields/switch/index.js +4 -0
- package/es/widgets/fields/textArea/index.d.ts +3 -0
- package/es/widgets/fields/textArea/index.js +14 -0
- package/es/widgets/fields/time/index.d.ts +3 -0
- package/es/widgets/fields/time/index.js +29 -0
- package/es/widgets/fields/timeRange/index.d.ts +9 -0
- package/es/widgets/fields/timeRange/index.js +48 -0
- package/es/widgets/fields/treeSelect/index.d.ts +2 -0
- package/es/widgets/fields/treeSelect/index.js +4 -0
- package/es/widgets/fields/upload/index.css +28 -0
- package/es/widgets/fields/upload/index.d.ts +13 -0
- package/es/widgets/fields/upload/index.js +57 -0
- package/es/widgets/fields/urlInput/index.d.ts +3 -0
- package/es/widgets/fields/urlInput/index.js +63 -0
- package/es/widgets/index.d.ts +33 -0
- package/es/widgets/index.js +33 -0
- package/es/widgets/listCard/index.css +20 -0
- package/es/widgets/listCard/index.d.ts +4 -0
- package/es/widgets/listCard/index.js +141 -0
- package/es/widgets/listDrawer/drawerForm.d.ts +3 -0
- package/es/widgets/listDrawer/drawerForm.js +40 -0
- package/es/widgets/listDrawer/index.css +16 -0
- package/es/widgets/listDrawer/index.d.ts +12 -0
- package/es/widgets/listDrawer/index.js +288 -0
- package/es/widgets/listSimple/index.css +27 -0
- package/es/widgets/listSimple/index.d.ts +4 -0
- package/es/widgets/listSimple/index.js +124 -0
- package/es/widgets/listTab/index.css +0 -0
- package/es/widgets/listTab/index.d.ts +13 -0
- package/es/widgets/listTab/index.js +113 -0
- package/es/widgets/listTable/index.css +28 -0
- package/es/widgets/listTable/index.d.ts +14 -0
- package/es/widgets/listTable/index.js +227 -0
- package/es/widgets/listTable/tableCell.d.ts +3 -0
- package/es/widgets/listTable/tableCell.js +62 -0
- package/es/widgets/listVirtual/index.css +28 -0
- package/es/widgets/listVirtual/index.d.ts +14 -0
- package/es/widgets/listVirtual/index.js +213 -0
- package/es/widgets/listVirtual/virtualCell.d.ts +3 -0
- package/es/widgets/listVirtual/virtualCell.js +61 -0
- package/es/widgets/utils/hooks.d.ts +2 -0
- package/es/widgets/utils/hooks.js +14 -0
- package/es/widgets/utils/index.d.ts +4 -0
- package/es/widgets/utils/index.js +80 -0
- package/es/widgets/utils/withFieldWrap.d.ts +3 -0
- package/es/widgets/utils/withFieldWrap.js +17 -0
- package/es/widgets/voidTitle/index.css +7 -0
- package/es/widgets/voidTitle/index.d.ts +6 -0
- package/es/widgets/voidTitle/index.js +13 -0
- package/es/withProvider.d.ts +3 -0
- package/es/withProvider.js +70 -0
- package/lib/derivative/SearchForm/ActionView.d.ts +3 -0
- package/lib/derivative/SearchForm/ActionView.js +81 -0
- package/lib/derivative/SearchForm/index.css +31 -0
- package/lib/derivative/SearchForm/index.d.ts +5 -0
- package/lib/derivative/SearchForm/index.js +302 -0
- package/lib/derivative/SlimRender/index.d.ts +3 -0
- package/lib/derivative/SlimRender/index.js +13 -0
- package/lib/form-core/connectForm.d.ts +3 -0
- package/lib/form-core/connectForm.js +21 -0
- package/lib/form-core/index.css +19 -0
- package/lib/form-core/index.d.ts +5 -0
- package/lib/form-core/index.js +313 -0
- package/lib/index.d.ts +10 -0
- package/lib/index.js +66 -0
- package/lib/locales/en_US.d.ts +28 -0
- package/lib/locales/en_US.js +33 -0
- package/lib/locales/index.d.ts +57 -0
- package/lib/locales/index.js +13 -0
- package/lib/locales/zh_CN.d.ts +28 -0
- package/lib/locales/zh_CN.js +33 -0
- package/lib/models/bindValues.d.ts +2 -0
- package/lib/models/bindValues.js +178 -0
- package/lib/models/context.d.ts +3 -0
- package/lib/models/context.js +9 -0
- package/lib/models/expression.d.ts +7 -0
- package/lib/models/expression.js +141 -0
- package/lib/models/fieldShouldUpdate.d.ts +2 -0
- package/lib/models/fieldShouldUpdate.js +76 -0
- package/lib/models/filterValuesHidden.d.ts +5 -0
- package/lib/models/filterValuesHidden.js +67 -0
- package/lib/models/filterValuesUndefined.d.ts +2 -0
- package/lib/models/filterValuesUndefined.js +53 -0
- package/lib/models/flattenSchema.d.ts +3 -0
- package/lib/models/flattenSchema.js +100 -0
- package/lib/models/formCoreUtils.d.ts +8 -0
- package/lib/models/formCoreUtils.js +199 -0
- package/lib/models/formDataSkeleton.d.ts +1 -0
- package/lib/models/formDataSkeleton.js +36 -0
- package/lib/models/layout.d.ts +4 -0
- package/lib/models/layout.js +94 -0
- package/lib/models/mapping.d.ts +89 -0
- package/lib/models/mapping.js +127 -0
- package/lib/models/sortProperties.d.ts +2 -0
- package/lib/models/sortProperties.js +47 -0
- package/lib/models/store.d.ts +10 -0
- package/lib/models/store.js +28 -0
- package/lib/models/transformProps.d.ts +34 -0
- package/lib/models/transformProps.js +86 -0
- package/lib/models/useForm.d.ts +3 -0
- package/lib/models/useForm.js +329 -0
- package/lib/models/validateMessage.d.ts +93 -0
- package/lib/models/validateMessage.js +101 -0
- package/lib/models/validates.d.ts +3 -0
- package/lib/models/validates.js +208 -0
- package/lib/render-core/FieldItem/field.d.ts +3 -0
- package/lib/render-core/FieldItem/field.js +90 -0
- package/lib/render-core/FieldItem/index.d.ts +3 -0
- package/lib/render-core/FieldItem/index.js +63 -0
- package/lib/render-core/FieldItem/main.d.ts +3 -0
- package/lib/render-core/FieldItem/main.js +236 -0
- package/lib/render-core/FieldItem/module.d.ts +18 -0
- package/lib/render-core/FieldItem/module.js +343 -0
- package/lib/render-core/FieldList/field.d.ts +3 -0
- package/lib/render-core/FieldList/field.js +309 -0
- package/lib/render-core/FieldList/index.d.ts +3 -0
- package/lib/render-core/FieldList/index.js +53 -0
- package/lib/render-core/FieldList/main.d.ts +3 -0
- package/lib/render-core/FieldList/main.js +108 -0
- package/lib/render-core/FieldList/modules.d.ts +7 -0
- package/lib/render-core/FieldList/modules.js +115 -0
- package/lib/render-core/index.css +29 -0
- package/lib/render-core/index.d.ts +9 -0
- package/lib/render-core/index.js +92 -0
- package/lib/type.d.ts +405 -0
- package/lib/type.js +7 -0
- package/lib/utils/index.d.ts +75 -0
- package/lib/utils/index.js +142 -0
- package/lib/widgets/ErrorSchema/index.d.ts +3 -0
- package/lib/widgets/ErrorSchema/index.js +23 -0
- package/lib/widgets/boxCollapse/index.css +53 -0
- package/lib/widgets/boxCollapse/index.d.ts +18 -0
- package/lib/widgets/boxCollapse/index.js +79 -0
- package/lib/widgets/boxLineTitle/index.css +18 -0
- package/lib/widgets/boxLineTitle/index.d.ts +8 -0
- package/lib/widgets/boxLineTitle/index.js +30 -0
- package/lib/widgets/boxSubInline/index.css +11 -0
- package/lib/widgets/boxSubInline/index.d.ts +4 -0
- package/lib/widgets/boxSubInline/index.js +63 -0
- package/lib/widgets/boxcard/index.css +17 -0
- package/lib/widgets/boxcard/index.d.ts +8 -0
- package/lib/widgets/boxcard/index.js +27 -0
- package/lib/widgets/components/DatePicker/index.d.ts +3 -0
- package/lib/widgets/components/DatePicker/index.js +22 -0
- package/lib/widgets/components/FButton/index.d.ts +3 -0
- package/lib/widgets/components/FButton/index.js +31 -0
- package/lib/widgets/components/HeaderTitle/index.css +0 -0
- package/lib/widgets/components/HeaderTitle/index.d.ts +4 -0
- package/lib/widgets/components/HeaderTitle/index.js +21 -0
- package/lib/widgets/components/PanelView/index.css +6 -0
- package/lib/widgets/components/PanelView/index.d.ts +4 -0
- package/lib/widgets/components/PanelView/index.js +20 -0
- package/lib/widgets/components/TimePicker/index.d.ts +2 -0
- package/lib/widgets/components/TimePicker/index.js +27 -0
- package/lib/widgets/fields/checkbox/index.d.ts +3 -0
- package/lib/widgets/fields/checkbox/index.js +22 -0
- package/lib/widgets/fields/checkboxes/index.d.ts +3 -0
- package/lib/widgets/fields/checkboxes/index.js +38 -0
- package/lib/widgets/fields/date/index.d.ts +3 -0
- package/lib/widgets/fields/date/index.js +54 -0
- package/lib/widgets/fields/dateRange/index.d.ts +7 -0
- package/lib/widgets/fields/dateRange/index.js +74 -0
- package/lib/widgets/fields/html/index.d.ts +2 -0
- package/lib/widgets/fields/html/index.js +60 -0
- package/lib/widgets/fields/imageInput/index.css +7 -0
- package/lib/widgets/fields/imageInput/index.d.ts +4 -0
- package/lib/widgets/fields/imageInput/index.js +47 -0
- package/lib/widgets/fields/input/index.d.ts +2 -0
- package/lib/widgets/fields/input/index.js +11 -0
- package/lib/widgets/fields/number/index.d.ts +2 -0
- package/lib/widgets/fields/number/index.js +11 -0
- package/lib/widgets/fields/percentSlider/index.d.ts +17 -0
- package/lib/widgets/fields/percentSlider/index.js +91 -0
- package/lib/widgets/fields/radio/index.d.ts +3 -0
- package/lib/widgets/fields/radio/index.js +38 -0
- package/lib/widgets/fields/rate/index.d.ts +2 -0
- package/lib/widgets/fields/rate/index.js +11 -0
- package/lib/widgets/fields/select/index.d.ts +2 -0
- package/lib/widgets/fields/select/index.js +11 -0
- package/lib/widgets/fields/slider/index.css +5 -0
- package/lib/widgets/fields/slider/index.d.ts +7 -0
- package/lib/widgets/fields/slider/index.js +66 -0
- package/lib/widgets/fields/switch/index.d.ts +2 -0
- package/lib/widgets/fields/switch/index.js +11 -0
- package/lib/widgets/fields/textArea/index.d.ts +3 -0
- package/lib/widgets/fields/textArea/index.js +21 -0
- package/lib/widgets/fields/time/index.d.ts +3 -0
- package/lib/widgets/fields/time/index.js +36 -0
- package/lib/widgets/fields/timeRange/index.d.ts +9 -0
- package/lib/widgets/fields/timeRange/index.js +54 -0
- package/lib/widgets/fields/treeSelect/index.d.ts +2 -0
- package/lib/widgets/fields/treeSelect/index.js +11 -0
- package/lib/widgets/fields/upload/index.css +28 -0
- package/lib/widgets/fields/upload/index.d.ts +13 -0
- package/lib/widgets/fields/upload/index.js +66 -0
- package/lib/widgets/fields/urlInput/index.d.ts +3 -0
- package/lib/widgets/fields/urlInput/index.js +72 -0
- package/lib/widgets/index.d.ts +33 -0
- package/lib/widgets/index.js +236 -0
- package/lib/widgets/listCard/index.css +20 -0
- package/lib/widgets/listCard/index.d.ts +4 -0
- package/lib/widgets/listCard/index.js +148 -0
- package/lib/widgets/listDrawer/drawerForm.d.ts +3 -0
- package/lib/widgets/listDrawer/drawerForm.js +49 -0
- package/lib/widgets/listDrawer/index.css +16 -0
- package/lib/widgets/listDrawer/index.d.ts +12 -0
- package/lib/widgets/listDrawer/index.js +296 -0
- package/lib/widgets/listSimple/index.css +27 -0
- package/lib/widgets/listSimple/index.d.ts +4 -0
- package/lib/widgets/listSimple/index.js +131 -0
- package/lib/widgets/listTab/index.css +0 -0
- package/lib/widgets/listTab/index.d.ts +13 -0
- package/lib/widgets/listTab/index.js +122 -0
- package/lib/widgets/listTable/index.css +28 -0
- package/lib/widgets/listTable/index.d.ts +14 -0
- package/lib/widgets/listTable/index.js +234 -0
- package/lib/widgets/listTable/tableCell.d.ts +3 -0
- package/lib/widgets/listTable/tableCell.js +71 -0
- package/lib/widgets/listVirtual/index.css +28 -0
- package/lib/widgets/listVirtual/index.d.ts +14 -0
- package/lib/widgets/listVirtual/index.js +220 -0
- package/lib/widgets/listVirtual/virtualCell.d.ts +3 -0
- package/lib/widgets/listVirtual/virtualCell.js +70 -0
- package/lib/widgets/utils/hooks.d.ts +2 -0
- package/lib/widgets/utils/hooks.js +21 -0
- package/lib/widgets/utils/index.d.ts +4 -0
- package/lib/widgets/utils/index.js +89 -0
- package/lib/widgets/utils/withFieldWrap.d.ts +3 -0
- package/lib/widgets/utils/withFieldWrap.js +24 -0
- package/lib/widgets/voidTitle/index.css +7 -0
- package/lib/widgets/voidTitle/index.d.ts +6 -0
- package/lib/widgets/voidTitle/index.js +20 -0
- package/lib/withProvider.d.ts +3 -0
- package/lib/withProvider.js +79 -0
- package/package.json +64 -0
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import _PlusOutlined from "@ant-design/icons/es/icons/PlusOutlined";
|
|
2
|
+
import "antd/es/button/style";
|
|
3
|
+
import _Button from "antd/es/button";
|
|
4
|
+
import _CopyOutlined from "@ant-design/icons/es/icons/CopyOutlined";
|
|
5
|
+
import _CloseOutlined from "@ant-design/icons/es/icons/CloseOutlined";
|
|
6
|
+
import "antd/es/popconfirm/style";
|
|
7
|
+
import _Popconfirm from "antd/es/popconfirm";
|
|
8
|
+
import _ArrowDownOutlined from "@ant-design/icons/es/icons/ArrowDownOutlined";
|
|
9
|
+
import _ArrowUpOutlined from "@ant-design/icons/es/icons/ArrowUpOutlined";
|
|
10
|
+
import "antd/es/divider/style";
|
|
11
|
+
import _Divider from "antd/es/divider";
|
|
12
|
+
import "antd/es/space/style";
|
|
13
|
+
import _Space from "antd/es/space";
|
|
14
|
+
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
|
|
15
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
16
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
17
|
+
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
18
|
+
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
|
|
19
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
20
|
+
import React from 'react';
|
|
21
|
+
import classnames from 'classnames';
|
|
22
|
+
import FButton from '../components/FButton';
|
|
23
|
+
import "./index.css";
|
|
24
|
+
var getHasBackground = function getHasBackground(fields, hasBackground) {
|
|
25
|
+
var result = hasBackground;
|
|
26
|
+
if (fields.length === 0) {
|
|
27
|
+
result = false;
|
|
28
|
+
}
|
|
29
|
+
return result;
|
|
30
|
+
};
|
|
31
|
+
var SimpleList = function SimpleList(props) {
|
|
32
|
+
var form = props.form,
|
|
33
|
+
_schema = props.schema,
|
|
34
|
+
fields = props.fields,
|
|
35
|
+
rootPath = props.rootPath,
|
|
36
|
+
renderCore = props.renderCore,
|
|
37
|
+
hasBackground = props.hasBackground,
|
|
38
|
+
operateBtnType = props.operateBtnType,
|
|
39
|
+
addBtnProps = props.addBtnProps,
|
|
40
|
+
delConfirmProps = props.delConfirmProps,
|
|
41
|
+
copyBtnProps = props.copyBtnProps,
|
|
42
|
+
deleteBtnProps = props.deleteBtnProps,
|
|
43
|
+
moveUpBtnProps = props.moveUpBtnProps,
|
|
44
|
+
moveDownBtnProps = props.moveDownBtnProps,
|
|
45
|
+
hideDelete = props.hideDelete,
|
|
46
|
+
hideCopy = props.hideCopy,
|
|
47
|
+
hideMove = props.hideMove,
|
|
48
|
+
hideAdd = props.hideAdd,
|
|
49
|
+
addItem = props.addItem,
|
|
50
|
+
copyItem = props.copyItem,
|
|
51
|
+
moveItem = props.moveItem,
|
|
52
|
+
removeItem = props.removeItem,
|
|
53
|
+
temporary = props.temporary;
|
|
54
|
+
var schema = Object.assign(Object.assign({}, _schema), {
|
|
55
|
+
items: Object.assign({}, _schema.items)
|
|
56
|
+
});
|
|
57
|
+
if (!schema.items.displayType) {
|
|
58
|
+
schema.items.displayType = 'inline';
|
|
59
|
+
schema.items.inlineMode = true;
|
|
60
|
+
}
|
|
61
|
+
var handleCopy = function handleCopy(name) {
|
|
62
|
+
var value = form.getFieldValue(rootPath.concat(name));
|
|
63
|
+
copyItem(value, name);
|
|
64
|
+
};
|
|
65
|
+
var isColumm = temporary.displayType === 'column';
|
|
66
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
67
|
+
className: classnames('fr-list-simple', {
|
|
68
|
+
'fr-list-simple-background': getHasBackground(fields, hasBackground),
|
|
69
|
+
'fr-list-simple-column': isColumm
|
|
70
|
+
})
|
|
71
|
+
}, fields.map(function (_ref) {
|
|
72
|
+
var key = _ref.key,
|
|
73
|
+
name = _ref.name;
|
|
74
|
+
var length = fields.length;
|
|
75
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
76
|
+
key: key,
|
|
77
|
+
className: 'fr-list-item'
|
|
78
|
+
}, renderCore({
|
|
79
|
+
schema: schema,
|
|
80
|
+
parentPath: [name],
|
|
81
|
+
rootPath: [].concat(_toConsumableArray(rootPath), [name])
|
|
82
|
+
}), /*#__PURE__*/React.createElement(_Space, {
|
|
83
|
+
className: classnames('fr-list-item-operate'),
|
|
84
|
+
split: operateBtnType !== 'icon' && /*#__PURE__*/React.createElement(_Divider, {
|
|
85
|
+
type: 'vertical'
|
|
86
|
+
})
|
|
87
|
+
}, !hideMove && (/*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FButton, Object.assign({
|
|
88
|
+
disabled: name === 0,
|
|
89
|
+
onClick: function onClick() {
|
|
90
|
+
return moveItem(name, name - 1);
|
|
91
|
+
},
|
|
92
|
+
icon: /*#__PURE__*/React.createElement(_ArrowUpOutlined, null)
|
|
93
|
+
}, moveUpBtnProps)), /*#__PURE__*/React.createElement(FButton, Object.assign({
|
|
94
|
+
disabled: name === length - 1,
|
|
95
|
+
onClick: function onClick() {
|
|
96
|
+
return moveItem(name, name + 1);
|
|
97
|
+
},
|
|
98
|
+
icon: /*#__PURE__*/React.createElement(_ArrowDownOutlined, null),
|
|
99
|
+
children: "\u4E0B\u79FB"
|
|
100
|
+
}, moveDownBtnProps)))), !hideDelete && (/*#__PURE__*/React.createElement(_Popconfirm, Object.assign({
|
|
101
|
+
onConfirm: function onConfirm() {
|
|
102
|
+
return removeItem(name);
|
|
103
|
+
}
|
|
104
|
+
}, delConfirmProps), /*#__PURE__*/React.createElement(FButton, Object.assign({
|
|
105
|
+
icon: /*#__PURE__*/React.createElement(_CloseOutlined, null),
|
|
106
|
+
children: "\u5220\u9664",
|
|
107
|
+
btnType: operateBtnType
|
|
108
|
+
}, deleteBtnProps)))), !hideCopy && (/*#__PURE__*/React.createElement(FButton, Object.assign({
|
|
109
|
+
onClick: function onClick() {
|
|
110
|
+
return handleCopy(name);
|
|
111
|
+
},
|
|
112
|
+
icon: /*#__PURE__*/React.createElement(_CopyOutlined, null),
|
|
113
|
+
children: "\u590D\u5236"
|
|
114
|
+
}, copyBtnProps)))));
|
|
115
|
+
}), (!schema.max || fields.length < schema.max) && !hideAdd && (/*#__PURE__*/React.createElement(_Button, Object.assign({
|
|
116
|
+
className: 'add-btn',
|
|
117
|
+
icon: /*#__PURE__*/React.createElement(_PlusOutlined, null),
|
|
118
|
+
onClick: function onClick() {
|
|
119
|
+
return addItem();
|
|
120
|
+
},
|
|
121
|
+
block: fields.length > 0 ? true : false
|
|
122
|
+
}, addBtnProps))));
|
|
123
|
+
};
|
|
124
|
+
export default SimpleList;
|
|
File without changes
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { FormListFieldData } from 'antd';
|
|
3
|
+
import './index.less';
|
|
4
|
+
interface ListTabProps {
|
|
5
|
+
fields: FormListFieldData[];
|
|
6
|
+
schema: any;
|
|
7
|
+
delConfirmProps: any;
|
|
8
|
+
renderCore: any;
|
|
9
|
+
rootPath: any;
|
|
10
|
+
[key: string]: any;
|
|
11
|
+
}
|
|
12
|
+
declare const TabList: React.FC<ListTabProps>;
|
|
13
|
+
export default TabList;
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import "antd/es/tabs/style";
|
|
2
|
+
import _Tabs from "antd/es/tabs";
|
|
3
|
+
import _CloseOutlined from "@ant-design/icons/es/icons/CloseOutlined";
|
|
4
|
+
import "antd/es/popconfirm/style";
|
|
5
|
+
import _Popconfirm from "antd/es/popconfirm";
|
|
6
|
+
import "antd/es/config-provider/style";
|
|
7
|
+
import _ConfigProvider from "antd/es/config-provider";
|
|
8
|
+
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
9
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
10
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
11
|
+
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
12
|
+
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
|
|
13
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
14
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
15
|
+
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
16
|
+
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
|
|
17
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
18
|
+
import { __rest } from "tslib";
|
|
19
|
+
import React, { useState, useContext, useMemo, useEffect } from 'react';
|
|
20
|
+
import { translation } from '../utils';
|
|
21
|
+
import "./index.css";
|
|
22
|
+
;
|
|
23
|
+
var TabPaneContent = function TabPaneContent(props) {
|
|
24
|
+
var renderCore = props.renderCore,
|
|
25
|
+
name = props.name,
|
|
26
|
+
schema = props.schema,
|
|
27
|
+
rootPath = props.rootPath;
|
|
28
|
+
return useMemo(function () {
|
|
29
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
30
|
+
style: {
|
|
31
|
+
flex: 1
|
|
32
|
+
}
|
|
33
|
+
}, renderCore({
|
|
34
|
+
schema: schema,
|
|
35
|
+
parentPath: [name],
|
|
36
|
+
rootPath: [].concat(_toConsumableArray(rootPath), [name])
|
|
37
|
+
}));
|
|
38
|
+
}, [JSON.stringify(props)]);
|
|
39
|
+
};
|
|
40
|
+
var TabList = function TabList(props) {
|
|
41
|
+
var schema = props.schema,
|
|
42
|
+
fields = props.fields,
|
|
43
|
+
rootPath = props.rootPath,
|
|
44
|
+
renderCore = props.renderCore,
|
|
45
|
+
readOnly = props.readOnly,
|
|
46
|
+
delConfirmProps = props.delConfirmProps,
|
|
47
|
+
tabName = props.tabName,
|
|
48
|
+
hideDelete = props.hideDelete,
|
|
49
|
+
hideAdd = props.hideAdd,
|
|
50
|
+
addItem = props.addItem,
|
|
51
|
+
removeItem = props.removeItem,
|
|
52
|
+
_props$tabItemProps = props.tabItemProps,
|
|
53
|
+
tabItemProps = _props$tabItemProps === void 0 ? {} : _props$tabItemProps,
|
|
54
|
+
_activeKey = props.activeKey,
|
|
55
|
+
retProps = __rest(props, ["schema", "fields", "rootPath", "renderCore", "readOnly", "delConfirmProps", "tabName", "hideDelete", "hideAdd", "addItem", "removeItem", "tabItemProps", "activeKey"]);
|
|
56
|
+
var _useState = useState('0'),
|
|
57
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
58
|
+
activeKey = _useState2[0],
|
|
59
|
+
setActiveKey = _useState2[1];
|
|
60
|
+
var configCtx = useContext(_ConfigProvider.ConfigContext);
|
|
61
|
+
var t = translation(configCtx);
|
|
62
|
+
useEffect(function () {
|
|
63
|
+
setActiveKey(_activeKey || '0');
|
|
64
|
+
}, [_activeKey]);
|
|
65
|
+
var getTabPaneName = function getTabPaneName(index) {
|
|
66
|
+
return tabName instanceof Array ? tabName[index] || index + 1 : "".concat(tabName || t('item'), " ").concat(index + 1);
|
|
67
|
+
};
|
|
68
|
+
var handleDelete = function handleDelete(targetKey) {
|
|
69
|
+
removeItem(targetKey);
|
|
70
|
+
setActiveKey("".concat(targetKey > 1 ? targetKey - 1 : 0));
|
|
71
|
+
};
|
|
72
|
+
var handleEdit = function handleEdit(_, action) {
|
|
73
|
+
if (action === 'add') {
|
|
74
|
+
if ((!schema.max || fields.length < schema.max) && !readOnly && !hideAdd) {
|
|
75
|
+
addItem();
|
|
76
|
+
var currentKey = fields.length;
|
|
77
|
+
setActiveKey("".concat(currentKey));
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
var renderClose = function renderClose(name) {
|
|
82
|
+
return !readOnly && !hideDelete ? (/*#__PURE__*/React.createElement(_Popconfirm, Object.assign({
|
|
83
|
+
onConfirm: function onConfirm() {
|
|
84
|
+
return handleDelete(name);
|
|
85
|
+
}
|
|
86
|
+
}, delConfirmProps), /*#__PURE__*/React.createElement(_CloseOutlined, null))) : /*#__PURE__*/React.createElement(React.Fragment, null);
|
|
87
|
+
};
|
|
88
|
+
return /*#__PURE__*/React.createElement(_Tabs, Object.assign({
|
|
89
|
+
className: 'fr-tab-list',
|
|
90
|
+
type: 'editable-card'
|
|
91
|
+
}, retProps, {
|
|
92
|
+
onChange: setActiveKey,
|
|
93
|
+
activeKey: "".concat(activeKey),
|
|
94
|
+
onEdit: handleEdit,
|
|
95
|
+
hideAdd: readOnly || hideAdd
|
|
96
|
+
}), fields.map(function (_ref) {
|
|
97
|
+
var key = _ref.key,
|
|
98
|
+
name = _ref.name;
|
|
99
|
+
return /*#__PURE__*/React.createElement(_Tabs.TabPane, Object.assign({
|
|
100
|
+
key: key,
|
|
101
|
+
className: 'fr-list-item'
|
|
102
|
+
}, tabItemProps, {
|
|
103
|
+
tab: getTabPaneName(name),
|
|
104
|
+
closeIcon: renderClose(name)
|
|
105
|
+
}), /*#__PURE__*/React.createElement(TabPaneContent, {
|
|
106
|
+
name: name,
|
|
107
|
+
rootPath: rootPath,
|
|
108
|
+
schema: schema,
|
|
109
|
+
renderCore: renderCore
|
|
110
|
+
}));
|
|
111
|
+
}));
|
|
112
|
+
};
|
|
113
|
+
export default TabList;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
.fr-table-list {
|
|
2
|
+
margin-bottom: 24px;
|
|
3
|
+
}
|
|
4
|
+
.fr-table-list .ant-form-item {
|
|
5
|
+
margin-bottom: 0;
|
|
6
|
+
}
|
|
7
|
+
.fr-table-list .ant-form-item-label {
|
|
8
|
+
display: none;
|
|
9
|
+
}
|
|
10
|
+
.fr-table-list .ant-form-item-explain-error {
|
|
11
|
+
display: none;
|
|
12
|
+
}
|
|
13
|
+
.fr-table-list .fr-list-item-operate {
|
|
14
|
+
gap: 0 !important;
|
|
15
|
+
}
|
|
16
|
+
.fr-popover-error .ant-popover-inner-content {
|
|
17
|
+
color: #ff4d4f !important;
|
|
18
|
+
}
|
|
19
|
+
.fr-table-list-no-popover .ant-table-tbody .ant-table-cell {
|
|
20
|
+
padding: 24px 8px 0px 8px !important;
|
|
21
|
+
}
|
|
22
|
+
.fr-table-list-no-popover .ant-form-item {
|
|
23
|
+
margin-bottom: 24px;
|
|
24
|
+
}
|
|
25
|
+
.fr-table-list-no-popover .ant-form-item-explain-error {
|
|
26
|
+
display: block;
|
|
27
|
+
font-size: 10px;
|
|
28
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { FormListFieldData } from 'antd';
|
|
3
|
+
import './index.less';
|
|
4
|
+
interface ListTableProps {
|
|
5
|
+
fields: FormListFieldData[];
|
|
6
|
+
schema: any;
|
|
7
|
+
delConfirmProps: any;
|
|
8
|
+
renderCore: any;
|
|
9
|
+
rootPath: any;
|
|
10
|
+
hideEmptyTable?: boolean;
|
|
11
|
+
[key: string]: any;
|
|
12
|
+
}
|
|
13
|
+
declare const TableList: React.FC<ListTableProps>;
|
|
14
|
+
export default TableList;
|
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
import _PlusOutlined from "@ant-design/icons/es/icons/PlusOutlined";
|
|
3
|
+
import "antd/es/button/style";
|
|
4
|
+
import _Button from "antd/es/button";
|
|
5
|
+
import "antd/es/table/style";
|
|
6
|
+
import _Table from "antd/es/table";
|
|
7
|
+
import _CopyOutlined from "@ant-design/icons/es/icons/CopyOutlined";
|
|
8
|
+
import _CloseOutlined from "@ant-design/icons/es/icons/CloseOutlined";
|
|
9
|
+
import "antd/es/popconfirm/style";
|
|
10
|
+
import _Popconfirm from "antd/es/popconfirm";
|
|
11
|
+
import _ArrowDownOutlined from "@ant-design/icons/es/icons/ArrowDownOutlined";
|
|
12
|
+
import _ArrowUpOutlined from "@ant-design/icons/es/icons/ArrowUpOutlined";
|
|
13
|
+
import "antd/es/divider/style";
|
|
14
|
+
import _Divider from "antd/es/divider";
|
|
15
|
+
import "antd/es/space/style";
|
|
16
|
+
import _Space from "antd/es/space";
|
|
17
|
+
import "antd/es/form/style";
|
|
18
|
+
import _Form from "antd/es/form";
|
|
19
|
+
import _InfoCircleOutlined from "@ant-design/icons/es/icons/InfoCircleOutlined";
|
|
20
|
+
import "antd/es/tooltip/style";
|
|
21
|
+
import _Tooltip from "antd/es/tooltip";
|
|
22
|
+
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
|
|
23
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
24
|
+
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
25
|
+
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
|
|
26
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
27
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
28
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
29
|
+
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
30
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
31
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
32
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
33
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
34
|
+
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
35
|
+
import { __rest } from "tslib";
|
|
36
|
+
import React from 'react';
|
|
37
|
+
import classnames from 'classnames';
|
|
38
|
+
import TableCell from './tableCell';
|
|
39
|
+
import FButton from '../components/FButton';
|
|
40
|
+
import sortProperties from '../../models/sortProperties';
|
|
41
|
+
import "./index.css";
|
|
42
|
+
;
|
|
43
|
+
var getTooltip = function getTooltip(tooltip) {
|
|
44
|
+
if (!tooltip) {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
if (typeof tooltip === 'string') {
|
|
48
|
+
return {
|
|
49
|
+
title: /*#__PURE__*/React.createElement("span", {
|
|
50
|
+
dangerouslySetInnerHTML: {
|
|
51
|
+
__html: tooltip
|
|
52
|
+
}
|
|
53
|
+
})
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
return Object.assign(Object.assign({}, tooltip), {
|
|
57
|
+
title: /*#__PURE__*/React.createElement("span", {
|
|
58
|
+
dangerouslySetInnerHTML: {
|
|
59
|
+
__html: tooltip.title
|
|
60
|
+
}
|
|
61
|
+
})
|
|
62
|
+
});
|
|
63
|
+
};
|
|
64
|
+
var TableList = function TableList(props) {
|
|
65
|
+
var _a, _b;
|
|
66
|
+
var form = props.form,
|
|
67
|
+
schema = props.schema,
|
|
68
|
+
fields = props.fields,
|
|
69
|
+
rootPath = props.rootPath,
|
|
70
|
+
renderCore = props.renderCore,
|
|
71
|
+
readOnly = props.readOnly,
|
|
72
|
+
operateBtnType = props.operateBtnType,
|
|
73
|
+
addBtnProps = props.addBtnProps,
|
|
74
|
+
delConfirmProps = props.delConfirmProps,
|
|
75
|
+
copyBtnProps = props.copyBtnProps,
|
|
76
|
+
deleteBtnProps = props.deleteBtnProps,
|
|
77
|
+
moveUpBtnProps = props.moveUpBtnProps,
|
|
78
|
+
moveDownBtnProps = props.moveDownBtnProps,
|
|
79
|
+
actionColumnProps = props.actionColumnProps,
|
|
80
|
+
pagination = props.pagination,
|
|
81
|
+
hideDelete = props.hideDelete,
|
|
82
|
+
hideCopy = props.hideCopy,
|
|
83
|
+
hideMove = props.hideMove,
|
|
84
|
+
hideAdd = props.hideAdd,
|
|
85
|
+
hideOperate = props.hideOperate,
|
|
86
|
+
hideEmptyTable = props.hideEmptyTable,
|
|
87
|
+
addItem = props.addItem,
|
|
88
|
+
copyItem = props.copyItem,
|
|
89
|
+
moveItem = props.moveItem,
|
|
90
|
+
removeItem = props.removeItem,
|
|
91
|
+
configContext = props.configContext,
|
|
92
|
+
validatePopover = props.validatePopover,
|
|
93
|
+
retProps = __rest(props, ["form", "schema", "fields", "rootPath", "renderCore", "readOnly", "operateBtnType", "addBtnProps", "delConfirmProps", "copyBtnProps", "deleteBtnProps", "moveUpBtnProps", "moveDownBtnProps", "actionColumnProps", "pagination", "hideDelete", "hideCopy", "hideMove", "hideAdd", "hideOperate", "hideEmptyTable", "addItem", "copyItem", "moveItem", "removeItem", "configContext", "validatePopover"]);
|
|
94
|
+
var globalConfig = configContext.globalConfig;
|
|
95
|
+
var islidatePopover = (_a = validatePopover !== null && validatePopover !== void 0 ? validatePopover : globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.listValidatePopover) !== null && _a !== void 0 ? _a : true;
|
|
96
|
+
var colHeaderText = actionColumnProps.colHeaderText,
|
|
97
|
+
otherActionColumnProps = __rest(actionColumnProps, ["colHeaderText"]);
|
|
98
|
+
var itemSchema = ((_b = schema === null || schema === void 0 ? void 0 : schema.items) === null || _b === void 0 ? void 0 : _b.properties) || {};
|
|
99
|
+
var paginationConfig = Object.assign({
|
|
100
|
+
size: 'small',
|
|
101
|
+
hideOnSinglePage: true
|
|
102
|
+
}, pagination);
|
|
103
|
+
var handleCopy = function handleCopy(name) {
|
|
104
|
+
var value = form.getFieldValue(rootPath.concat(name));
|
|
105
|
+
copyItem(value, name);
|
|
106
|
+
};
|
|
107
|
+
var columns = sortProperties(Object.entries(itemSchema)).map(function (_ref) {
|
|
108
|
+
var _ref2 = _slicedToArray(_ref, 2),
|
|
109
|
+
dataIndex = _ref2[0],
|
|
110
|
+
item = _ref2[1];
|
|
111
|
+
var required = item.required,
|
|
112
|
+
title = item.title,
|
|
113
|
+
width = item.width,
|
|
114
|
+
tooltip = item.tooltip,
|
|
115
|
+
columnHidden = item.columnHidden;
|
|
116
|
+
if (columnHidden) {
|
|
117
|
+
return null;
|
|
118
|
+
}
|
|
119
|
+
var tooltipProps = getTooltip(tooltip);
|
|
120
|
+
return {
|
|
121
|
+
dataIndex: dataIndex,
|
|
122
|
+
width: width,
|
|
123
|
+
title: (/*#__PURE__*/React.createElement(React.Fragment, null, required && /*#__PURE__*/React.createElement("span", {
|
|
124
|
+
style: {
|
|
125
|
+
color: 'red',
|
|
126
|
+
marginRight: '3px'
|
|
127
|
+
}
|
|
128
|
+
}, "*"), /*#__PURE__*/React.createElement("span", null, title), tooltipProps && (/*#__PURE__*/React.createElement(_Tooltip, Object.assign({
|
|
129
|
+
placement: 'top'
|
|
130
|
+
}, tooltipProps), /*#__PURE__*/React.createElement(_InfoCircleOutlined, {
|
|
131
|
+
style: {
|
|
132
|
+
marginLeft: 6
|
|
133
|
+
}
|
|
134
|
+
}))))),
|
|
135
|
+
render: function render(_, field) {
|
|
136
|
+
var fieldSchema = {
|
|
137
|
+
type: 'object',
|
|
138
|
+
properties: _defineProperty({}, dataIndex, Object.assign(Object.assign({}, itemSchema[dataIndex]), {
|
|
139
|
+
fieldCol: 24
|
|
140
|
+
}))
|
|
141
|
+
};
|
|
142
|
+
if (!islidatePopover) {
|
|
143
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
144
|
+
className: 'fr-table-cell-content'
|
|
145
|
+
}, renderCore({
|
|
146
|
+
parentPath: [field.name],
|
|
147
|
+
rootPath: [].concat(_toConsumableArray(rootPath), [field.name]),
|
|
148
|
+
schema: fieldSchema
|
|
149
|
+
}));
|
|
150
|
+
}
|
|
151
|
+
return /*#__PURE__*/React.createElement(TableCell, {
|
|
152
|
+
renderCore: renderCore,
|
|
153
|
+
schema: fieldSchema,
|
|
154
|
+
parentPath: [field.name],
|
|
155
|
+
rootPath: [].concat(_toConsumableArray(rootPath), [field.name]),
|
|
156
|
+
dataIndex: dataIndex
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
};
|
|
160
|
+
}).filter(function (item) {
|
|
161
|
+
return item;
|
|
162
|
+
});
|
|
163
|
+
if (!readOnly && !hideOperate) {
|
|
164
|
+
columns.push(Object.assign(Object.assign({
|
|
165
|
+
title: colHeaderText,
|
|
166
|
+
width: '190px',
|
|
167
|
+
fixed: 'right'
|
|
168
|
+
}, otherActionColumnProps), {
|
|
169
|
+
render: function render(_, field) {
|
|
170
|
+
return /*#__PURE__*/React.createElement(_Form.Item, null, /*#__PURE__*/React.createElement(_Space, {
|
|
171
|
+
className: 'fr-list-item-operate',
|
|
172
|
+
split: operateBtnType !== 'icon' && /*#__PURE__*/React.createElement(_Divider, {
|
|
173
|
+
type: 'vertical'
|
|
174
|
+
})
|
|
175
|
+
}, !hideMove && (/*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FButton, Object.assign({
|
|
176
|
+
disabled: field.name === 0,
|
|
177
|
+
onClick: function onClick() {
|
|
178
|
+
return moveItem(field.name, field.name - 1);
|
|
179
|
+
},
|
|
180
|
+
icon: /*#__PURE__*/React.createElement(_ArrowUpOutlined, null)
|
|
181
|
+
}, moveUpBtnProps)), /*#__PURE__*/React.createElement(FButton, Object.assign({
|
|
182
|
+
disabled: field.name === fields.length - 1,
|
|
183
|
+
onClick: function onClick() {
|
|
184
|
+
return moveItem(field.name, field.name + 1);
|
|
185
|
+
},
|
|
186
|
+
icon: /*#__PURE__*/React.createElement(_ArrowDownOutlined, null)
|
|
187
|
+
}, moveDownBtnProps)))), !hideDelete && (/*#__PURE__*/React.createElement(_Popconfirm, Object.assign({
|
|
188
|
+
onConfirm: function onConfirm() {
|
|
189
|
+
return removeItem(field.name);
|
|
190
|
+
}
|
|
191
|
+
}, delConfirmProps), /*#__PURE__*/React.createElement(FButton, Object.assign({
|
|
192
|
+
icon: /*#__PURE__*/React.createElement(_CloseOutlined, null),
|
|
193
|
+
btnType: operateBtnType
|
|
194
|
+
}, deleteBtnProps)))), !hideCopy && (/*#__PURE__*/React.createElement(FButton, Object.assign({
|
|
195
|
+
onClick: function onClick() {
|
|
196
|
+
return handleCopy(field.name);
|
|
197
|
+
},
|
|
198
|
+
icon: /*#__PURE__*/React.createElement(_CopyOutlined, null)
|
|
199
|
+
}, copyBtnProps)))));
|
|
200
|
+
}
|
|
201
|
+
}));
|
|
202
|
+
}
|
|
203
|
+
var showTable = fields.length > 0 ? true : !hideEmptyTable;
|
|
204
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
205
|
+
className: classnames('fr-table-list', {
|
|
206
|
+
'fr-table-list-no-popover': !islidatePopover
|
|
207
|
+
})
|
|
208
|
+
}, showTable && (/*#__PURE__*/React.createElement(_Table, Object.assign({
|
|
209
|
+
size: 'middle',
|
|
210
|
+
scroll: {
|
|
211
|
+
x: 'max-content'
|
|
212
|
+
},
|
|
213
|
+
style: {
|
|
214
|
+
marginBottom: '12px'
|
|
215
|
+
}
|
|
216
|
+
}, retProps, {
|
|
217
|
+
columns: columns,
|
|
218
|
+
dataSource: fields,
|
|
219
|
+
pagination: paginationConfig
|
|
220
|
+
}))), (!schema.max || fields.length < schema.max) && !hideAdd && (/*#__PURE__*/React.createElement(_Button, Object.assign({
|
|
221
|
+
icon: /*#__PURE__*/React.createElement(_PlusOutlined, null),
|
|
222
|
+
onClick: function onClick() {
|
|
223
|
+
return addItem();
|
|
224
|
+
}
|
|
225
|
+
}, addBtnProps))));
|
|
226
|
+
};
|
|
227
|
+
export default TableList;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import "antd/es/popover/style";
|
|
2
|
+
import _Popover from "antd/es/popover";
|
|
3
|
+
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
4
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
5
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
6
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
7
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
8
|
+
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
9
|
+
import { __rest } from "tslib";
|
|
10
|
+
import React, { useState, useRef } from 'react';
|
|
11
|
+
var TableCell = function TableCell(props) {
|
|
12
|
+
var renderCore = props.renderCore,
|
|
13
|
+
schema = props.schema,
|
|
14
|
+
dataIndex = props.dataIndex,
|
|
15
|
+
otherProps = __rest(props, ["renderCore", "schema", "dataIndex"]);
|
|
16
|
+
var _useState = useState(null),
|
|
17
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
18
|
+
errorMsg = _useState2[0],
|
|
19
|
+
setErrorMsg = _useState2[1];
|
|
20
|
+
var _useState3 = useState(),
|
|
21
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
22
|
+
visible = _useState4[0],
|
|
23
|
+
setVisible = _useState4[1];
|
|
24
|
+
var mouseRef = useRef(null);
|
|
25
|
+
var onStatusChange = function onStatusChange(_, errors) {
|
|
26
|
+
var message = errors[0] || null;
|
|
27
|
+
setErrorMsg(message);
|
|
28
|
+
if (mouseRef.current && message) {
|
|
29
|
+
setVisible(true);
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
if (!schema.properties[dataIndex].onStatusChange) {
|
|
33
|
+
schema.properties[dataIndex].onStatusChange = onStatusChange;
|
|
34
|
+
}
|
|
35
|
+
var popoverVisible = visible && errorMsg;
|
|
36
|
+
var popoverProps = {
|
|
37
|
+
open: popoverVisible
|
|
38
|
+
};
|
|
39
|
+
if (window.antdVersion === 'v4') {
|
|
40
|
+
popoverProps = {
|
|
41
|
+
visible: popoverVisible
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
45
|
+
className: 'fr-table-cell-content',
|
|
46
|
+
onMouseEnter: function onMouseEnter() {
|
|
47
|
+
mouseRef.current = true;
|
|
48
|
+
setVisible(true);
|
|
49
|
+
},
|
|
50
|
+
onMouseLeave: function onMouseLeave() {
|
|
51
|
+
mouseRef.current = false;
|
|
52
|
+
setVisible(false);
|
|
53
|
+
}
|
|
54
|
+
}, /*#__PURE__*/React.createElement(_Popover, Object.assign({
|
|
55
|
+
overlayClassName: 'fr-popover-error',
|
|
56
|
+
content: errorMsg,
|
|
57
|
+
placement: 'topRight'
|
|
58
|
+
}, popoverProps), renderCore(Object.assign(Object.assign({}, otherProps), {
|
|
59
|
+
schema: schema
|
|
60
|
+
}))));
|
|
61
|
+
};
|
|
62
|
+
export default TableCell;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
.fr-virtual-list {
|
|
2
|
+
margin-bottom: 12px;
|
|
3
|
+
}
|
|
4
|
+
.fr-virtual-list .ant-form-item {
|
|
5
|
+
margin-bottom: 0;
|
|
6
|
+
}
|
|
7
|
+
.fr-virtual-list .ant-form-item-label {
|
|
8
|
+
display: none;
|
|
9
|
+
}
|
|
10
|
+
.fr-virtual-list .ant-form-item-explain-error {
|
|
11
|
+
display: none;
|
|
12
|
+
}
|
|
13
|
+
.fr-virtual-list .fr-list-item-operate {
|
|
14
|
+
gap: 0 !important;
|
|
15
|
+
}
|
|
16
|
+
.fr-popover-error .ant-popover-inner-content {
|
|
17
|
+
color: #ff4d4f !important;
|
|
18
|
+
}
|
|
19
|
+
.fr-virtual-list-no-popover .ant-table-tbody .ant-table-cell {
|
|
20
|
+
padding: 24px 8px 0px 8px !important;
|
|
21
|
+
}
|
|
22
|
+
.fr-virtual-list-no-popover .ant-form-item {
|
|
23
|
+
margin-bottom: 24px;
|
|
24
|
+
}
|
|
25
|
+
.fr-virtual-list-no-popover .ant-form-item-explain-error {
|
|
26
|
+
display: block;
|
|
27
|
+
font-size: 10px;
|
|
28
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { FormListFieldData } from 'antd';
|
|
3
|
+
import './index.less';
|
|
4
|
+
interface ListVirtualProps {
|
|
5
|
+
fields: FormListFieldData[];
|
|
6
|
+
schema: any;
|
|
7
|
+
delConfirmProps: any;
|
|
8
|
+
renderCore: any;
|
|
9
|
+
rootPath: any;
|
|
10
|
+
hideEmptyTable?: boolean;
|
|
11
|
+
[key: string]: any;
|
|
12
|
+
}
|
|
13
|
+
declare const VirtualList: React.FC<ListVirtualProps>;
|
|
14
|
+
export default VirtualList;
|