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,337 @@
|
|
|
1
|
+
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
|
|
2
|
+
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."); }
|
|
3
|
+
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; } }
|
|
4
|
+
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
5
|
+
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
|
|
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
|
+
import React from 'react';
|
|
8
|
+
import { _get, isObject, getArray, isArray, isNumber } from '../../utils';
|
|
9
|
+
var _filterHiddenData = function filterHiddenData(list) {
|
|
10
|
+
if (!isArray(list)) {
|
|
11
|
+
return list;
|
|
12
|
+
}
|
|
13
|
+
var result = [];
|
|
14
|
+
for (var i = 0; i < list.length; i++) {
|
|
15
|
+
var item = list[i];
|
|
16
|
+
if (!item.hidden) {
|
|
17
|
+
var node = Object.assign({}, item);
|
|
18
|
+
if (item.children) {
|
|
19
|
+
var children = _filterHiddenData(item.children);
|
|
20
|
+
if (children.length > 0) {
|
|
21
|
+
node.children = children;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
if (item.items) {
|
|
25
|
+
var items = _filterHiddenData(item.items);
|
|
26
|
+
if (items.length > 0) {
|
|
27
|
+
node.items = items;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
result.push(node);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return result;
|
|
34
|
+
};
|
|
35
|
+
// return dataIndex、dataPath、schemaPath
|
|
36
|
+
var getPathObj = function getPathObj(_ref) {
|
|
37
|
+
var _ref$rootPath = _ref.rootPath,
|
|
38
|
+
rootPath = _ref$rootPath === void 0 ? [] : _ref$rootPath,
|
|
39
|
+
path = _ref.path;
|
|
40
|
+
var pathList = (path || '').split('.');
|
|
41
|
+
var dataIndex = [];
|
|
42
|
+
var schemaIndex = [];
|
|
43
|
+
var dataPathList = [];
|
|
44
|
+
// dataIndex
|
|
45
|
+
rootPath.forEach(function (item, index) {
|
|
46
|
+
if (isNumber(item)) {
|
|
47
|
+
dataIndex.push(item);
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
if (isNumber(rootPath[index + 1])) {
|
|
51
|
+
schemaIndex.push("".concat(item, "[]"));
|
|
52
|
+
} else {
|
|
53
|
+
schemaIndex.push(item);
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
// dataPath
|
|
57
|
+
var list = _toConsumableArray(rootPath);
|
|
58
|
+
list.pop();
|
|
59
|
+
list = [].concat(_toConsumableArray(list), _toConsumableArray(pathList));
|
|
60
|
+
list.forEach(function (item, index) {
|
|
61
|
+
if (isNumber(item)) {
|
|
62
|
+
dataPathList.push("[".concat(item, "]"));
|
|
63
|
+
} else {
|
|
64
|
+
dataPathList.push(item);
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
var dataPath = dataPathList.join('.');
|
|
68
|
+
// schemaPath
|
|
69
|
+
var _path = pathList;
|
|
70
|
+
if (_path[0] && isNumber(_path[0])) {
|
|
71
|
+
_path.splice(0, 1);
|
|
72
|
+
}
|
|
73
|
+
var schemaPath = [].concat(schemaIndex, [_path]).join('.');
|
|
74
|
+
// console.log(path, rootPath, '-------', dataIndex, dataPath, schemaPath);
|
|
75
|
+
return {
|
|
76
|
+
dataIndex: dataIndex,
|
|
77
|
+
dataPath: dataPath,
|
|
78
|
+
schemaPath: schemaPath
|
|
79
|
+
};
|
|
80
|
+
};
|
|
81
|
+
export var getPath = function getPath(path) {
|
|
82
|
+
if (!path) {
|
|
83
|
+
return null;
|
|
84
|
+
}
|
|
85
|
+
if (isArray(path)) {
|
|
86
|
+
return path.join('.');
|
|
87
|
+
}
|
|
88
|
+
return path;
|
|
89
|
+
};
|
|
90
|
+
export var getLabel = function getLabel(schema, displayType, widgets, addons) {
|
|
91
|
+
var title = schema.title,
|
|
92
|
+
description = schema.description,
|
|
93
|
+
descWidget = schema.descWidget,
|
|
94
|
+
labelWidget = schema.labelWidget;
|
|
95
|
+
var LabelNode = widgets[labelWidget];
|
|
96
|
+
if (LabelNode) {
|
|
97
|
+
return /*#__PURE__*/React.createElement(LabelNode, {
|
|
98
|
+
schema: schema,
|
|
99
|
+
addons: addons
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
if (!description && !descWidget) {
|
|
103
|
+
return title;
|
|
104
|
+
}
|
|
105
|
+
var RenderDesc = function RenderDesc() {
|
|
106
|
+
var Widget = widgets[descWidget];
|
|
107
|
+
if (Widget) {
|
|
108
|
+
return /*#__PURE__*/React.createElement(Widget, {
|
|
109
|
+
schema: schema,
|
|
110
|
+
addons: addons
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
if (description) {
|
|
114
|
+
return /*#__PURE__*/React.createElement("span", {
|
|
115
|
+
className: 'fr-desc'
|
|
116
|
+
}, "(", description, ")");
|
|
117
|
+
}
|
|
118
|
+
return null;
|
|
119
|
+
};
|
|
120
|
+
// if (displayType === 'inline') {
|
|
121
|
+
// return title;
|
|
122
|
+
// }
|
|
123
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, title, /*#__PURE__*/React.createElement(RenderDesc, null));
|
|
124
|
+
};
|
|
125
|
+
export var getTooltip = function getTooltip(schema, displayType) {
|
|
126
|
+
var descType = schema.descType,
|
|
127
|
+
description = schema.description,
|
|
128
|
+
tooltip = schema.tooltip;
|
|
129
|
+
if (tooltip) {
|
|
130
|
+
if (typeof tooltip === 'string') {
|
|
131
|
+
return {
|
|
132
|
+
title: /*#__PURE__*/React.createElement("span", {
|
|
133
|
+
dangerouslySetInnerHTML: {
|
|
134
|
+
__html: tooltip
|
|
135
|
+
}
|
|
136
|
+
})
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
return Object.assign(Object.assign({}, tooltip), {
|
|
140
|
+
title: /*#__PURE__*/React.createElement("span", {
|
|
141
|
+
dangerouslySetInnerHTML: {
|
|
142
|
+
__html: tooltip.title
|
|
143
|
+
}
|
|
144
|
+
})
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
if (descType === 'widget' || !description) {
|
|
148
|
+
return null;
|
|
149
|
+
}
|
|
150
|
+
if (displayType === 'column' && descType === 'icon') {
|
|
151
|
+
return {
|
|
152
|
+
title: description
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
return null;
|
|
156
|
+
};
|
|
157
|
+
export var getExtraView = function getExtraView(extraKey, schema, widgets, addons) {
|
|
158
|
+
var extra = schema[extraKey];
|
|
159
|
+
if (!extra) {
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
162
|
+
// extra 自定义
|
|
163
|
+
var widgetName = (extra === null || extra === void 0 ? void 0 : extra.widget) || extra;
|
|
164
|
+
var Widget = widgets[widgetName];
|
|
165
|
+
if (!!Widget) {
|
|
166
|
+
return /*#__PURE__*/React.createElement(Widget, {
|
|
167
|
+
schema: schema,
|
|
168
|
+
addons: addons
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
if (!Widget && (extra === null || extra === void 0 ? void 0 : extra.widget)) {
|
|
172
|
+
return;
|
|
173
|
+
}
|
|
174
|
+
var __html = '';
|
|
175
|
+
if (typeof extra === 'string') {
|
|
176
|
+
__html = extra;
|
|
177
|
+
}
|
|
178
|
+
// 内部BU使用的口子,这个api不对外,也没有必要
|
|
179
|
+
if (extra === null || extra === void 0 ? void 0 : extra.text) {
|
|
180
|
+
__html = extra.text;
|
|
181
|
+
}
|
|
182
|
+
if (!__html) {
|
|
183
|
+
return;
|
|
184
|
+
}
|
|
185
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
186
|
+
className: 'fr-form-item-extra',
|
|
187
|
+
dangerouslySetInnerHTML: {
|
|
188
|
+
__html: __html
|
|
189
|
+
}
|
|
190
|
+
});
|
|
191
|
+
};
|
|
192
|
+
export var getColSpan = function getColSpan(formCtx, parentCtx, schema) {
|
|
193
|
+
var span = 24;
|
|
194
|
+
var column = getParamValue(formCtx, parentCtx, schema)('column');
|
|
195
|
+
if (column) {
|
|
196
|
+
span = 24 / column;
|
|
197
|
+
}
|
|
198
|
+
// 兼容 1.0 逻辑
|
|
199
|
+
if (schema.width) {
|
|
200
|
+
if (schema.width === '100%') {
|
|
201
|
+
span = 24;
|
|
202
|
+
} else if (schema.width === '50%') {
|
|
203
|
+
span = 12;
|
|
204
|
+
} else if (schema.width === '20%') {
|
|
205
|
+
span = 5;
|
|
206
|
+
} else if (schema.width < '50%') {
|
|
207
|
+
span = 8;
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
if (schema.cellSpan) {
|
|
211
|
+
span = schema.cellSpan * span;
|
|
212
|
+
}
|
|
213
|
+
if (schema.span) {
|
|
214
|
+
span = schema.span;
|
|
215
|
+
}
|
|
216
|
+
return span > 24 ? 24 : span;
|
|
217
|
+
};
|
|
218
|
+
export var getParamValue = function getParamValue(formCtx, upperCtx, schema) {
|
|
219
|
+
return function (valueKey) {
|
|
220
|
+
var isTop = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
221
|
+
var _a, _b, _c;
|
|
222
|
+
if (isTop) {
|
|
223
|
+
return (_b = (_a = schema[valueKey]) !== null && _a !== void 0 ? _a : upperCtx[valueKey]) !== null && _b !== void 0 ? _b : formCtx[valueKey];
|
|
224
|
+
}
|
|
225
|
+
return (_c = schema[valueKey]) !== null && _c !== void 0 ? _c : upperCtx[valueKey];
|
|
226
|
+
};
|
|
227
|
+
};
|
|
228
|
+
export var getFieldProps = function getFieldProps(widgetName, schema, _ref2) {
|
|
229
|
+
var widgets = _ref2.widgets,
|
|
230
|
+
methods = _ref2.methods,
|
|
231
|
+
form = _ref2.form,
|
|
232
|
+
dependValues = _ref2.dependValues,
|
|
233
|
+
globalProps = _ref2.globalProps,
|
|
234
|
+
path = _ref2.path,
|
|
235
|
+
rootPath = _ref2.rootPath,
|
|
236
|
+
fieldRef = _ref2.fieldRef;
|
|
237
|
+
var _a;
|
|
238
|
+
var pathObj = getPathObj({
|
|
239
|
+
path: path,
|
|
240
|
+
rootPath: rootPath
|
|
241
|
+
});
|
|
242
|
+
var fieldProps = Object.assign(Object.assign({}, schema.props), {
|
|
243
|
+
addons: Object.assign(Object.assign(Object.assign({}, form), {
|
|
244
|
+
globalProps: globalProps,
|
|
245
|
+
dependValues: dependValues,
|
|
246
|
+
fieldRef: fieldRef
|
|
247
|
+
}), pathObj)
|
|
248
|
+
});
|
|
249
|
+
if ((dependValues === null || dependValues === void 0 ? void 0 : dependValues.length) > 0) {
|
|
250
|
+
fieldProps.dependValues = dependValues;
|
|
251
|
+
}
|
|
252
|
+
['placeholder', 'disabled', 'format', 'onStatusChange'].forEach(function (key) {
|
|
253
|
+
if (schema[key]) {
|
|
254
|
+
fieldProps[key] = schema[key];
|
|
255
|
+
}
|
|
256
|
+
});
|
|
257
|
+
// 兼容 1.0 版本逻辑 enum => options
|
|
258
|
+
if (schema.enum && !((_a = schema.props) === null || _a === void 0 ? void 0 : _a.options)) {
|
|
259
|
+
var enums = schema.enum,
|
|
260
|
+
enumNames = schema.enumNames;
|
|
261
|
+
fieldProps.options = getArray(enums).map(function (item, index) {
|
|
262
|
+
var label = enumNames && Array.isArray(enumNames) ? enumNames[index] : item;
|
|
263
|
+
var isHtml = typeof label === 'string' && label[0] === '<';
|
|
264
|
+
if (isHtml) {
|
|
265
|
+
label = /*#__PURE__*/React.createElement("span", {
|
|
266
|
+
dangerouslySetInnerHTML: {
|
|
267
|
+
__html: label
|
|
268
|
+
}
|
|
269
|
+
});
|
|
270
|
+
}
|
|
271
|
+
return {
|
|
272
|
+
label: label,
|
|
273
|
+
value: item
|
|
274
|
+
};
|
|
275
|
+
});
|
|
276
|
+
}
|
|
277
|
+
if (isArray(fieldProps.options)) {
|
|
278
|
+
fieldProps = Object.assign(Object.assign({}, fieldProps), {
|
|
279
|
+
options: _filterHiddenData(fieldProps.options)
|
|
280
|
+
});
|
|
281
|
+
}
|
|
282
|
+
// 以 props 结尾的属性,直接透传
|
|
283
|
+
Object.keys(schema).forEach(function (key) {
|
|
284
|
+
if (typeof key === 'string' && key.toLowerCase().indexOf('props') > -1 && key.length > 5) {
|
|
285
|
+
fieldProps[key] = schema[key];
|
|
286
|
+
}
|
|
287
|
+
});
|
|
288
|
+
// 支持 addonAfter 为自定义组件的情况
|
|
289
|
+
if (isObject(fieldProps.addonAfter) && fieldProps.addonAfter.widget) {
|
|
290
|
+
var AddonAfterWidget = widgets[fieldProps.addonAfter.widget];
|
|
291
|
+
fieldProps.addonAfter = /*#__PURE__*/React.createElement(AddonAfterWidget, Object.assign({}, schema));
|
|
292
|
+
}
|
|
293
|
+
if (['treeSelect', 'inputNumber', 'multiSelect', 'select'].includes(widgetName)) {
|
|
294
|
+
fieldProps.style = Object.assign({
|
|
295
|
+
width: '100%'
|
|
296
|
+
}, fieldProps.style);
|
|
297
|
+
}
|
|
298
|
+
if (widgetName === 'multiSelect') {
|
|
299
|
+
fieldProps.mode = 'multiple';
|
|
300
|
+
}
|
|
301
|
+
// Dynamic Mapping of Methods
|
|
302
|
+
if (isObject(schema.methods)) {
|
|
303
|
+
Object.keys(schema.methods).forEach(function (key) {
|
|
304
|
+
var name = schema.methods[key];
|
|
305
|
+
fieldProps[key] = methods[name];
|
|
306
|
+
});
|
|
307
|
+
}
|
|
308
|
+
fieldProps.schema = schema;
|
|
309
|
+
return fieldProps;
|
|
310
|
+
};
|
|
311
|
+
/*
|
|
312
|
+
* Get depend values
|
|
313
|
+
*
|
|
314
|
+
* 1. normal path
|
|
315
|
+
* Just get value of path in formData
|
|
316
|
+
*
|
|
317
|
+
* 2. list path
|
|
318
|
+
* Like `list[].foo`.`[]` means the same index as the current item.
|
|
319
|
+
* You can pass `[index]` to get specific item at the index of list, such as `list[1].foo`.
|
|
320
|
+
* Support more complex path like `list[].foo[].bar`
|
|
321
|
+
*/
|
|
322
|
+
var _getDependValues = function getDependValues(formData, dependPath, props, dependencieItem) {
|
|
323
|
+
var indexReg = /\[[0-9]*\]/;
|
|
324
|
+
if (indexReg.test(dependPath)) {
|
|
325
|
+
var currentIndex = _get(props, 'path.0');
|
|
326
|
+
var dependIndex = dependPath.match(indexReg)[0].replace('[', '').replace(']', '');
|
|
327
|
+
var listPath = dependPath.split(indexReg)[0];
|
|
328
|
+
var itemIndex = dependIndex || currentIndex;
|
|
329
|
+
var itemPath = dependPath.replace("".concat(listPath, "[").concat(dependIndex, "]."), '');
|
|
330
|
+
var listData = _get(formData, "".concat(listPath, "[").concat(itemIndex, "]"));
|
|
331
|
+
dependencieItem.push(listPath, itemIndex);
|
|
332
|
+
return _getDependValues(listData, itemPath, props, dependencieItem);
|
|
333
|
+
}
|
|
334
|
+
dependencieItem.push.apply(dependencieItem, _toConsumableArray(dependPath.split('.')));
|
|
335
|
+
return _get(formData, dependPath);
|
|
336
|
+
};
|
|
337
|
+
export { _getDependValues as getDependValues };
|
|
@@ -0,0 +1,300 @@
|
|
|
1
|
+
import "antd/es/button/style";
|
|
2
|
+
import _Button from "antd/es/button";
|
|
3
|
+
import "antd/es/form/style";
|
|
4
|
+
import _Form from "antd/es/form";
|
|
5
|
+
import "antd/es/message/style";
|
|
6
|
+
import _message from "antd/es/message";
|
|
7
|
+
import "antd/es/config-provider/style";
|
|
8
|
+
import _ConfigProvider from "antd/es/config-provider";
|
|
9
|
+
function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i.return) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
|
|
10
|
+
function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
|
|
11
|
+
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
|
|
12
|
+
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."); }
|
|
13
|
+
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; } }
|
|
14
|
+
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
15
|
+
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
|
|
16
|
+
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; }
|
|
17
|
+
import { __awaiter, __rest } from "tslib";
|
|
18
|
+
import React, { useContext, useEffect, useMemo } from 'react';
|
|
19
|
+
import { isFunction, translation } from '../../utils';
|
|
20
|
+
import { getWidget } from '../../models/mapping';
|
|
21
|
+
import { transformRules } from '../../models/validates';
|
|
22
|
+
import { getParamValue } from './modules';
|
|
23
|
+
export default (function (props) {
|
|
24
|
+
var _a, _b;
|
|
25
|
+
var form = props.form,
|
|
26
|
+
schema = props.schema,
|
|
27
|
+
path = props.path,
|
|
28
|
+
parentLitPath = props.parentLitPath,
|
|
29
|
+
renderCore = props.renderCore,
|
|
30
|
+
rootPath = props.rootPath,
|
|
31
|
+
methods = props.methods,
|
|
32
|
+
upperCtx = props.upperCtx,
|
|
33
|
+
formCtx = props.formCtx,
|
|
34
|
+
configContext = props.configContext,
|
|
35
|
+
setListData = props.setListData;
|
|
36
|
+
var widgets = configContext.widgets,
|
|
37
|
+
globalConfig = configContext.globalConfig;
|
|
38
|
+
var configCtx = useContext(_ConfigProvider.ConfigContext);
|
|
39
|
+
var t = translation(configCtx);
|
|
40
|
+
var defaultAddBtnProps = {
|
|
41
|
+
type: 'dashed',
|
|
42
|
+
block: true,
|
|
43
|
+
children: t('add_item')
|
|
44
|
+
};
|
|
45
|
+
var defaultDelConfirmProps = {
|
|
46
|
+
title: t('confirm_delete'),
|
|
47
|
+
okText: t('confirm'),
|
|
48
|
+
cancelText: t('cancel')
|
|
49
|
+
};
|
|
50
|
+
var defaultActionColumnProps = {
|
|
51
|
+
colHeaderText: t('operate')
|
|
52
|
+
};
|
|
53
|
+
var widgetName = schema.widget || 'cardList';
|
|
54
|
+
var Widget = getWidget(widgetName, widgets);
|
|
55
|
+
var listProps = schema.props,
|
|
56
|
+
removeBtn = schema.removeBtn,
|
|
57
|
+
_schema$rules = schema.rules,
|
|
58
|
+
rules = _schema$rules === void 0 ? [] : _schema$rules,
|
|
59
|
+
otherSchema = __rest(schema, ["props", "removeBtn", "rules"]);
|
|
60
|
+
var _c = listProps || {},
|
|
61
|
+
addBtnProps = _c.addBtnProps,
|
|
62
|
+
delConfirmProps = _c.delConfirmProps,
|
|
63
|
+
actionColumnProps = _c.actionColumnProps,
|
|
64
|
+
hideAdd = _c.hideAdd,
|
|
65
|
+
hideCopy = _c.hideCopy,
|
|
66
|
+
hideMove = _c.hideMove,
|
|
67
|
+
hideDelete = _c.hideDelete,
|
|
68
|
+
onAdd = _c.onAdd,
|
|
69
|
+
onRemove = _c.onRemove,
|
|
70
|
+
onMove = _c.onMove,
|
|
71
|
+
onCopy = _c.onCopy,
|
|
72
|
+
otherListProps = __rest(_c, ["addBtnProps", "delConfirmProps", "actionColumnProps", "hideAdd", "hideCopy", "hideMove", "hideDelete", "onAdd", "onRemove", "onMove", "onCopy"]);
|
|
73
|
+
var getValueFromKey = getParamValue(formCtx, upperCtx, schema);
|
|
74
|
+
var readOnly = getValueFromKey('readOnly');
|
|
75
|
+
var preRootPath = _toConsumableArray(rootPath || []).splice(0, rootPath.length - 1);
|
|
76
|
+
var displayType = getValueFromKey('displayType');
|
|
77
|
+
if (hideMove === undefined && ((_a = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.listOperate) === null || _a === void 0 ? void 0 : _a.hideMove)) {
|
|
78
|
+
hideMove = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.listOperate.hideMove;
|
|
79
|
+
}
|
|
80
|
+
var listData = form.getFieldValue([].concat(_toConsumableArray(preRootPath), _toConsumableArray(path))) || [];
|
|
81
|
+
if ((otherSchema === null || otherSchema === void 0 ? void 0 : otherSchema.min) > 0 && listData.length <= (otherSchema === null || otherSchema === void 0 ? void 0 : otherSchema.min)) {
|
|
82
|
+
hideDelete = true;
|
|
83
|
+
}
|
|
84
|
+
if ((otherSchema === null || otherSchema === void 0 ? void 0 : otherSchema.max) > 0 && (otherSchema === null || otherSchema === void 0 ? void 0 : otherSchema.max) <= listData.length) {
|
|
85
|
+
hideAdd = true;
|
|
86
|
+
}
|
|
87
|
+
if (hideAdd) {
|
|
88
|
+
hideCopy = true;
|
|
89
|
+
}
|
|
90
|
+
if (readOnly) {
|
|
91
|
+
hideAdd = true;
|
|
92
|
+
hideCopy = true;
|
|
93
|
+
hideDelete = true;
|
|
94
|
+
hideMove = true;
|
|
95
|
+
}
|
|
96
|
+
var defaultValue = useMemo(function () {
|
|
97
|
+
var _a;
|
|
98
|
+
var result = (_a = schema.default) !== null && _a !== void 0 ? _a : schema.defaultValue;
|
|
99
|
+
if (result === undefined) {
|
|
100
|
+
result = form.getFieldValue([].concat(_toConsumableArray(preRootPath), _toConsumableArray(path)));
|
|
101
|
+
if (!result && !['drawerList', 'list1'].includes(widgetName)) {
|
|
102
|
+
result = [{}];
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
return result;
|
|
106
|
+
}, []);
|
|
107
|
+
useEffect(function () {
|
|
108
|
+
setListData(defaultValue || []);
|
|
109
|
+
}, []);
|
|
110
|
+
var handleAdd = function handleAdd(add) {
|
|
111
|
+
return function (data) {
|
|
112
|
+
var addFunc = onAdd;
|
|
113
|
+
if (typeof onAdd === 'string') {
|
|
114
|
+
addFunc = methods[onAdd];
|
|
115
|
+
}
|
|
116
|
+
if (isFunction(addFunc)) {
|
|
117
|
+
addFunc(function (funData) {
|
|
118
|
+
return add(funData || data);
|
|
119
|
+
}, {
|
|
120
|
+
schema: schema,
|
|
121
|
+
data: data
|
|
122
|
+
});
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
add(data);
|
|
126
|
+
};
|
|
127
|
+
};
|
|
128
|
+
var handleRemove = function handleRemove(remove) {
|
|
129
|
+
return function (index) {
|
|
130
|
+
var removeFunc = onRemove;
|
|
131
|
+
if (typeof onRemove === 'string') {
|
|
132
|
+
removeFunc = methods[onRemove];
|
|
133
|
+
}
|
|
134
|
+
if (isFunction(removeFunc)) {
|
|
135
|
+
var data = form.getFieldValue([].concat(_toConsumableArray(preRootPath), _toConsumableArray(path), [index]));
|
|
136
|
+
removeFunc(function () {
|
|
137
|
+
return remove(index);
|
|
138
|
+
}, {
|
|
139
|
+
schema: schema,
|
|
140
|
+
index: index,
|
|
141
|
+
data: data
|
|
142
|
+
});
|
|
143
|
+
return;
|
|
144
|
+
}
|
|
145
|
+
remove(index);
|
|
146
|
+
};
|
|
147
|
+
};
|
|
148
|
+
var handleMove = function handleMove(move) {
|
|
149
|
+
return function (from, to) {
|
|
150
|
+
var moveFunc = onMove;
|
|
151
|
+
if (typeof moveFunc === 'string') {
|
|
152
|
+
moveFunc = methods[onMove];
|
|
153
|
+
}
|
|
154
|
+
if (isFunction(moveFunc)) {
|
|
155
|
+
moveFunc(function () {
|
|
156
|
+
return move(from, to);
|
|
157
|
+
}, {
|
|
158
|
+
schema: schema,
|
|
159
|
+
from: from,
|
|
160
|
+
to: to
|
|
161
|
+
});
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
move(from, to);
|
|
165
|
+
};
|
|
166
|
+
};
|
|
167
|
+
var handleCopy = function handleCopy(add, fields) {
|
|
168
|
+
return function (data, copyIndex) {
|
|
169
|
+
if (schema.max && fields.length === schema.max) {
|
|
170
|
+
return _message.warning(t('copy_max_tip'));
|
|
171
|
+
}
|
|
172
|
+
var copyFunc = onCopy;
|
|
173
|
+
if (typeof onCopy === 'string') {
|
|
174
|
+
copyFunc = methods[onCopy];
|
|
175
|
+
}
|
|
176
|
+
if (isFunction(copyFunc)) {
|
|
177
|
+
console.log(copyIndex, 'copyIndex');
|
|
178
|
+
copyFunc(function (funData) {
|
|
179
|
+
return add(funData || data);
|
|
180
|
+
}, {
|
|
181
|
+
schema: schema,
|
|
182
|
+
data: data,
|
|
183
|
+
copyIndex: copyIndex
|
|
184
|
+
});
|
|
185
|
+
return;
|
|
186
|
+
}
|
|
187
|
+
add(data);
|
|
188
|
+
};
|
|
189
|
+
};
|
|
190
|
+
var handleDelete = function handleDelete() {
|
|
191
|
+
if (isFunction(removeBtn === null || removeBtn === void 0 ? void 0 : removeBtn.onClick)) {
|
|
192
|
+
removeBtn.onClick(function () {
|
|
193
|
+
form.setSchemaByPath(path, {
|
|
194
|
+
hidden: true
|
|
195
|
+
});
|
|
196
|
+
});
|
|
197
|
+
return;
|
|
198
|
+
}
|
|
199
|
+
form.setSchemaByPath(path, {
|
|
200
|
+
hidden: true
|
|
201
|
+
});
|
|
202
|
+
};
|
|
203
|
+
var operateBtnType = (_b = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.listOperate) === null || _b === void 0 ? void 0 : _b.btnType;
|
|
204
|
+
var ruleList = [];
|
|
205
|
+
if (!readOnly) {
|
|
206
|
+
ruleList = [{
|
|
207
|
+
validator: function validator(_, data) {
|
|
208
|
+
return __awaiter(void 0, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee() {
|
|
209
|
+
var _d;
|
|
210
|
+
return _regenerator().w(function (_context) {
|
|
211
|
+
while (1) switch (_context.n) {
|
|
212
|
+
case 0:
|
|
213
|
+
setListData(data);
|
|
214
|
+
if (otherSchema === null || otherSchema === void 0 ? void 0 : otherSchema.min) {
|
|
215
|
+
_context.n = 1;
|
|
216
|
+
break;
|
|
217
|
+
}
|
|
218
|
+
return _context.a(2);
|
|
219
|
+
case 1:
|
|
220
|
+
if (!(!data || data.length < otherSchema.min)) {
|
|
221
|
+
_context.n = 2;
|
|
222
|
+
break;
|
|
223
|
+
}
|
|
224
|
+
return _context.a(2, Promise.reject(new Error(((_d = otherSchema === null || otherSchema === void 0 ? void 0 : otherSchema.message) === null || _d === void 0 ? void 0 : _d.min) || "\u6570\u636E\u957F\u5EA6\u5FC5\u987B\u5927\u4E8E\u7B49\u4E8E".concat(otherSchema.min))));
|
|
225
|
+
case 2:
|
|
226
|
+
return _context.a(2);
|
|
227
|
+
}
|
|
228
|
+
}, _callee);
|
|
229
|
+
}));
|
|
230
|
+
}
|
|
231
|
+
}].concat(_toConsumableArray(transformRules(rules || [], methods, form)));
|
|
232
|
+
}
|
|
233
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_Form.List, {
|
|
234
|
+
name: path,
|
|
235
|
+
initialValue: defaultValue,
|
|
236
|
+
rules: ruleList
|
|
237
|
+
}, function (fields, operation, _ref) {
|
|
238
|
+
var errors = _ref.errors;
|
|
239
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Widget, Object.assign({}, otherListProps, {
|
|
240
|
+
configContext: configContext,
|
|
241
|
+
form: form,
|
|
242
|
+
schema: otherSchema,
|
|
243
|
+
fields: fields,
|
|
244
|
+
operation: operation,
|
|
245
|
+
path: path,
|
|
246
|
+
listName: path,
|
|
247
|
+
parentLitPath: parentLitPath,
|
|
248
|
+
rootPath: [].concat(_toConsumableArray(preRootPath), _toConsumableArray(path)),
|
|
249
|
+
readOnly: readOnly,
|
|
250
|
+
methods: methods,
|
|
251
|
+
renderCore: renderCore,
|
|
252
|
+
widgets: widgets,
|
|
253
|
+
hideAdd: hideAdd,
|
|
254
|
+
hideCopy: hideCopy,
|
|
255
|
+
hideDelete: hideDelete,
|
|
256
|
+
hideMove: hideMove,
|
|
257
|
+
addItem: handleAdd(operation.add),
|
|
258
|
+
removeItem: handleRemove(operation.remove),
|
|
259
|
+
moveItem: handleMove(operation.move),
|
|
260
|
+
copyItem: handleCopy(operation.add, fields),
|
|
261
|
+
temporary: {
|
|
262
|
+
displayType: displayType
|
|
263
|
+
},
|
|
264
|
+
addBtnProps: Object.assign(Object.assign({}, defaultAddBtnProps), addBtnProps),
|
|
265
|
+
delConfirmProps: Object.assign(Object.assign({}, defaultDelConfirmProps), delConfirmProps),
|
|
266
|
+
actionColumnProps: Object.assign(Object.assign({}, defaultActionColumnProps), actionColumnProps),
|
|
267
|
+
copyBtnProps: {
|
|
268
|
+
children: t('copy'),
|
|
269
|
+
btnType: operateBtnType
|
|
270
|
+
},
|
|
271
|
+
editorBtnProps: {
|
|
272
|
+
children: t('edit'),
|
|
273
|
+
btnType: operateBtnType
|
|
274
|
+
},
|
|
275
|
+
deleteBtnProps: {
|
|
276
|
+
children: t('delete'),
|
|
277
|
+
btnType: operateBtnType
|
|
278
|
+
},
|
|
279
|
+
moveUpBtnProps: {
|
|
280
|
+
children: t('moveUp'),
|
|
281
|
+
btnType: operateBtnType
|
|
282
|
+
},
|
|
283
|
+
moveDownBtnProps: {
|
|
284
|
+
children: t('moveDown'),
|
|
285
|
+
btnType: operateBtnType
|
|
286
|
+
}
|
|
287
|
+
})), (errors === null || errors === void 0 ? void 0 : errors.length) !== 0 && (/*#__PURE__*/React.createElement("div", {
|
|
288
|
+
style: {
|
|
289
|
+
marginBottom: '12px'
|
|
290
|
+
}
|
|
291
|
+
}, /*#__PURE__*/React.createElement(_Form.ErrorList, {
|
|
292
|
+
errors: errors
|
|
293
|
+
}))));
|
|
294
|
+
}), removeBtn && (/*#__PURE__*/React.createElement(_Button, Object.assign({
|
|
295
|
+
type: 'link',
|
|
296
|
+
danger: true
|
|
297
|
+
}, removeBtn, {
|
|
298
|
+
onClick: handleDelete
|
|
299
|
+
}), (removeBtn === null || removeBtn === void 0 ? void 0 : removeBtn.text) || t('delete'))));
|
|
300
|
+
});
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import "antd/es/form/style";
|
|
2
|
+
import _Form from "antd/es/form";
|
|
3
|
+
import { __rest } from "tslib";
|
|
4
|
+
import React, { useContext } from 'react';
|
|
5
|
+
import { FRContext, ConfigContext } from '../../models/context';
|
|
6
|
+
import { isHasExpression, parseAllExpression } from '../../models/expression';
|
|
7
|
+
import fieldShouldUpdate from '../../models/fieldShouldUpdate';
|
|
8
|
+
import Main from './main';
|
|
9
|
+
export default (function (props) {
|
|
10
|
+
var _a;
|
|
11
|
+
var schema = props.schema,
|
|
12
|
+
rootPath = props.rootPath;
|
|
13
|
+
var _b = schema || {},
|
|
14
|
+
items = _b.items,
|
|
15
|
+
listSchema = __rest(_b, ["items"]);
|
|
16
|
+
var store = useContext(FRContext);
|
|
17
|
+
var _store$getState = store.getState(),
|
|
18
|
+
formSchema = _store$getState.schema;
|
|
19
|
+
var configCtx = useContext(ConfigContext);
|
|
20
|
+
var mustacheDisabled = (_a = configCtx === null || configCtx === void 0 ? void 0 : configCtx.globalConfig) === null || _a === void 0 ? void 0 : _a.mustacheDisabled;
|
|
21
|
+
var dependencies = schema === null || schema === void 0 ? void 0 : schema.dependencies;
|
|
22
|
+
// No function expressions exist
|
|
23
|
+
if (!isHasExpression(schema) && !mustacheDisabled && (!dependencies || !(dependencies === null || dependencies === void 0 ? void 0 : dependencies.length))) {
|
|
24
|
+
return /*#__PURE__*/React.createElement(Main, Object.assign({
|
|
25
|
+
configContext: configCtx
|
|
26
|
+
}, props));
|
|
27
|
+
}
|
|
28
|
+
// Need to listen to form values for dynamic rendering
|
|
29
|
+
return /*#__PURE__*/React.createElement(_Form.Item, {
|
|
30
|
+
noStyle: true,
|
|
31
|
+
shouldUpdate: fieldShouldUpdate(JSON.stringify(listSchema || {}), rootPath, dependencies, true)
|
|
32
|
+
}, function (form) {
|
|
33
|
+
var formData = form.getFieldsValue(true);
|
|
34
|
+
var newListSchema = mustacheDisabled ? schema : parseAllExpression(listSchema, formData, rootPath, formSchema);
|
|
35
|
+
return /*#__PURE__*/React.createElement(Main, Object.assign({
|
|
36
|
+
configContext: configCtx
|
|
37
|
+
}, props, {
|
|
38
|
+
schema: Object.assign({
|
|
39
|
+
items: items
|
|
40
|
+
}, newListSchema),
|
|
41
|
+
rootPath: rootPath
|
|
42
|
+
}));
|
|
43
|
+
});
|
|
44
|
+
});
|