@flatbiz/antd 5.0.37 → 5.0.38
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/dist/drag-editable-card/index.js +3 -3
- package/dist/easy-form/index.js +1 -1
- package/dist/easy-table/index.js +1 -1
- package/dist/editable-card/index.js +2 -2
- package/dist/{editable-card-hr9oCXyN.js → editable-card-DAI8HIMx.js} +2 -2
- package/dist/{editable-card-hr9oCXyN.js.map → editable-card-DAI8HIMx.js.map} +1 -1
- package/dist/{editable-card-Dty6epO9.js → editable-card-DxpscGzG.js} +2 -2
- package/dist/{editable-card-Dty6epO9.js.map → editable-card-DxpscGzG.js.map} +1 -1
- package/dist/{form-398WU_jI.js → form-ByFljQr9.js} +23 -45
- package/dist/form-ByFljQr9.js.map +1 -0
- package/dist/index.js +3 -3
- package/package.json +1 -1
- package/dist/form-398WU_jI.js.map +0 -1
|
@@ -5,14 +5,14 @@ import './../pre-defined-class-name/index.css';
|
|
|
5
5
|
import './index.css';
|
|
6
6
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
7
7
|
|
|
8
|
-
export { D as DragEditableCard } from '../editable-card-
|
|
8
|
+
export { D as DragEditableCard } from '../editable-card-DxpscGzG.js';
|
|
9
9
|
import '../_rollupPluginBabelHelpers-BspM60Sw.js';
|
|
10
10
|
import 'antd';
|
|
11
11
|
import '@dnd-kit/core';
|
|
12
12
|
import '@dnd-kit/modifiers';
|
|
13
13
|
import '@dnd-kit/sortable';
|
|
14
14
|
import '@flatbiz/utils';
|
|
15
|
-
import '../editable-card-
|
|
15
|
+
import '../editable-card-DAI8HIMx.js';
|
|
16
16
|
import '@ant-design/icons/es/icons/PlusOutlined.js';
|
|
17
17
|
import '@dimjs/utils/class-names/class-names';
|
|
18
18
|
import '@wove/react/hooks';
|
|
@@ -50,7 +50,7 @@ import '@ant-design/icons/es/icons/CloseCircleFilled.js';
|
|
|
50
50
|
import '@ant-design/icons/es/icons/DeleteOutlined.js';
|
|
51
51
|
import '../icon-wrapper-DfWj_rer.js';
|
|
52
52
|
import '@dimjs/lang/is-undefined';
|
|
53
|
-
import '../form-
|
|
53
|
+
import '../form-ByFljQr9.js';
|
|
54
54
|
import '../form-wrapper-DBDMN0mN.js';
|
|
55
55
|
import '../pre-defined-class-name/index.js';
|
|
56
56
|
import '../form-item-hidden-BtQvJEx7.js';
|
package/dist/easy-form/index.js
CHANGED
|
@@ -5,7 +5,7 @@ import './../pre-defined-class-name/index.css';
|
|
|
5
5
|
import './index.css';
|
|
6
6
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
7
7
|
|
|
8
|
-
export { E as EasyForm } from '../form-
|
|
8
|
+
export { E as EasyForm } from '../form-ByFljQr9.js';
|
|
9
9
|
import '@dimjs/utils/class-names/class-names';
|
|
10
10
|
import '../_rollupPluginBabelHelpers-BspM60Sw.js';
|
|
11
11
|
import 'react';
|
package/dist/easy-table/index.js
CHANGED
|
@@ -27,7 +27,7 @@ import _UpOutlined from '@ant-design/icons/es/icons/UpOutlined.js';
|
|
|
27
27
|
import { isFragment } from 'react-is';
|
|
28
28
|
import { B as BlockLayout } from '../layout-2woF_D6T.js';
|
|
29
29
|
import { B as ButtonWrapper } from '../button-wrapper-DezyMqPx.js';
|
|
30
|
-
import { E as EasyForm } from '../form-
|
|
30
|
+
import { E as EasyForm } from '../form-ByFljQr9.js';
|
|
31
31
|
import { FormGrid } from '../form-grid/index.js';
|
|
32
32
|
import { T as TableScrollbar } from '../table-scrollbar-yqz5FkCz.js';
|
|
33
33
|
import { F as FlexLayout } from '../flex-layout-BGtMe7zr.js';
|
|
@@ -5,7 +5,7 @@ import './../pre-defined-class-name/index.css';
|
|
|
5
5
|
import './index.css';
|
|
6
6
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
7
7
|
|
|
8
|
-
export { E as EditableCard } from '../editable-card-
|
|
8
|
+
export { E as EditableCard } from '../editable-card-DAI8HIMx.js';
|
|
9
9
|
import '@ant-design/icons/es/icons/PlusOutlined.js';
|
|
10
10
|
import '@dimjs/utils/class-names/class-names';
|
|
11
11
|
import '../_rollupPluginBabelHelpers-BspM60Sw.js';
|
|
@@ -46,7 +46,7 @@ import '@ant-design/icons/es/icons/CloseCircleFilled.js';
|
|
|
46
46
|
import '@ant-design/icons/es/icons/DeleteOutlined.js';
|
|
47
47
|
import '../icon-wrapper-DfWj_rer.js';
|
|
48
48
|
import '@dimjs/lang/is-undefined';
|
|
49
|
-
import '../form-
|
|
49
|
+
import '../form-ByFljQr9.js';
|
|
50
50
|
import '../form-wrapper-DBDMN0mN.js';
|
|
51
51
|
import '../pre-defined-class-name/index.js';
|
|
52
52
|
import '../form-item-hidden-BtQvJEx7.js';
|
|
@@ -11,7 +11,7 @@ import { useBoxBreakpoint, BoxGrid } from './box-grid/index.js';
|
|
|
11
11
|
import { B as ButtonWrapper } from './button-wrapper-DezyMqPx.js';
|
|
12
12
|
import { C as CardWrapper } from './card-wrapper-C8YADYlW.js';
|
|
13
13
|
import { D as DeleteNode } from './delete-node-BIETvJjg.js';
|
|
14
|
-
import { E as EasyForm } from './form-
|
|
14
|
+
import { E as EasyForm } from './form-ByFljQr9.js';
|
|
15
15
|
import { fbaHooks } from './fba-hooks/index.js';
|
|
16
16
|
import { f as fbaUtils } from './fba-utils-okhb5eSJ.js';
|
|
17
17
|
import { F as FormItemHidden } from './form-item-hidden-BtQvJEx7.js';
|
|
@@ -287,4 +287,4 @@ var EditableCard = function EditableCard(props) {
|
|
|
287
287
|
};
|
|
288
288
|
|
|
289
289
|
export { EditableCard as E };
|
|
290
|
-
//# sourceMappingURL=editable-card-
|
|
290
|
+
//# sourceMappingURL=editable-card-DAI8HIMx.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editable-card-hr9oCXyN.js","sources":["@flatbiz/antd/src/editable-card/editable-card.tsx"],"sourcesContent":["import type { ReactElement, ReactNode } from 'react';\nimport { Fragment, isValidElement, useRef } from 'react';\nimport type { FormListFieldData } from 'antd';\nimport { ConfigProvider, Empty, Form, type FormListOperation } from 'antd';\nimport { PlusOutlined } from '@ant-design/icons';\nimport { classNames } from '@dimjs/utils';\nimport type { TAny } from '@flatbiz/utils';\nimport { isUndefinedOrNull, toArray } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { BoxGrid, useBoxBreakpoint } from '../box-grid/index.js';\nimport { ButtonWrapper } from '../button-wrapper/button-wrapper.jsx';\nimport { CardWrapper } from '../card-wrapper/card-wrapper.jsx';\nimport { DeleteNode } from '../delete-node/delete-node.jsx';\nimport { EasyForm } from '../easy-form/form.jsx';\nimport { fbaHooks } from '../fba-hooks/index.js';\nimport { fbaUtils } from '../fba-utils/fba-utils.js';\nimport { FormItemHidden } from '../form-item-hidden/form-item-hidden.jsx';\nimport { FormItemWrapper } from '../form-item-wrapper/form-item-wrapper.jsx';\nimport { TipsWrapper } from '../tips-wrapper/tips-wrapper.jsx';\nimport type {\n EditableCardDataIndex,\n EditableCardOperation,\n EditableCardProps,\n} from './type.js';\nimport './style.less';\n\n/**\n * 使用FormList实现可编辑卡片\n * ```\n * 1. 必须在外部包裹Form组件或者EasyForm组件\n * 2. 行内需要联动逻辑可使用 column.render.operation.setCurrentRowField 方法\n * 3. 可使用DragEditableCard组件实现拖拽排序\n *\n * demo\n * https://fex.qa.tcshuke.com/docs/admin/main/form/grid\n * ```\n */\nexport const EditableCard = (props: EditableCardProps) => {\n const form = Form.useFormInstance();\n const formListName = toArray<string | number>(props.formListName);\n\n const formListOperationRef = useRef<FormListOperation>();\n const forceUpdate = hooks.useForceUpdate();\n const { componentDisabled } = ConfigProvider.useConfig();\n const comRef = useRef<HTMLDivElement>(null);\n const boxBreakpointApi = useBoxBreakpoint(comRef);\n\n const formListCompleteName = props.formListCompleteName || formListName;\n\n const validateRowFields = hooks.useCallbackRef(\n async (\n formItemPrevName: Array<string | number>,\n nameList: EditableCardDataIndex[]\n ) => {\n await form.validateFields(\n nameList.map((item) => [\n ...formItemPrevName,\n ...toArray<string | number>(item),\n ])\n );\n }\n );\n const getCurrentRowData = hooks.useCallbackRef(\n (formItemPrevName: Array<string | number>) => {\n return form.getFieldValue(formItemPrevName);\n }\n );\n\n const setCurrentRowField = hooks.useCallbackRef(\n (\n formItemPrevName: string | number,\n dataIndexConfigs: {\n name: EditableCardDataIndex;\n value?: TAny;\n }[]\n ) => {\n fbaUtils.setFormFieldsAndTriggerValuesChange(\n form,\n dataIndexConfigs.map((item) => {\n return {\n name: [\n ...formListCompleteName,\n formItemPrevName,\n ...toArray<string | number>(item.name),\n ],\n value: item.value,\n };\n })\n );\n forceUpdate();\n }\n );\n\n const columns = fbaHooks.useMemoCustom(() => {\n return props.columns.map((column) => {\n const title = column.title;\n let titleRender: ReactElement | string | undefined = title;\n if (column.tips) {\n titleRender = (\n <TipsWrapper\n tipType=\"popover\"\n popoverProps={{ content: column.tips }}\n >\n {title}\n </TipsWrapper>\n );\n }\n\n let required = column.required;\n\n if (\n !required &&\n typeof column.formItemProps === 'object' &&\n column.formItemProps.rules?.length\n ) {\n required = !!column.formItemProps.rules.find(\n (item) => !!item['required']\n );\n }\n\n const dataIndex = toArray<string>(column['dataIndex']);\n\n return {\n dataIndex,\n render: (\n index,\n fieldData: FormListFieldData,\n operation: FormListOperation\n ) => {\n const value = form.getFieldValue([\n ...formListCompleteName,\n fieldData.name,\n ...dataIndex,\n ]);\n if (isUndefinedOrNull(column.render)) {\n return <Fragment>{value}</Fragment>;\n }\n\n const rowFormItemCompleteName = [\n ...formListCompleteName,\n fieldData.name,\n ];\n\n const editable =\n typeof column?.editable === 'function'\n ? column?.editable(\n {\n index,\n getCurrentRowData: getCurrentRowData.bind(\n null,\n rowFormItemCompleteName\n ),\n },\n index\n )\n : column?.editable;\n\n const renderOperationProps: EditableCardOperation = {\n index,\n editable,\n add: operation.add,\n remove: operation.remove,\n move: operation.move,\n rowFormItemName: fieldData.name,\n rowFormItemCompleteName,\n setCurrentRowField: setCurrentRowField.bind(null, fieldData.name),\n validateRowFields: validateRowFields.bind(\n null,\n rowFormItemCompleteName\n ),\n getCurrentRowData: getCurrentRowData.bind(\n null,\n rowFormItemCompleteName\n ),\n forceUpdate,\n };\n\n if (column.remove?.(renderOperationProps, index)) {\n return <Fragment />;\n }\n\n if (column.hidden?.(renderOperationProps, index)) {\n return (\n <FormItemHidden\n name={[fieldData.name, ...dataIndex]}\n key={fieldData.key}\n />\n );\n }\n let formItemProps =\n typeof column.formItemProps === 'function'\n ? column.formItemProps(renderOperationProps)\n : column.formItemProps;\n\n if (!formItemProps?.rules?.length && required) {\n formItemProps = {\n ...formItemProps,\n rules: [{ required: true, message: '' }],\n };\n }\n\n if (editable === true) {\n if (column.formItemContainer) {\n return column.formItemContainer(\n <FormItemWrapper\n label={titleRender}\n {...formItemProps}\n name={[fieldData.name, ...dataIndex]}\n span={column.gridNumber}\n key={fieldData.key}\n >\n {column.render?.(renderOperationProps) as ReactNode}\n </FormItemWrapper>\n );\n }\n return (\n <FormItemWrapper\n label={titleRender}\n {...formItemProps}\n name={[fieldData.name, ...dataIndex]}\n span={column.gridNumber}\n key={fieldData.key}\n >\n {column.render?.(renderOperationProps) as ReactNode}\n </FormItemWrapper>\n );\n }\n if (column.formItemContainer) {\n return column.formItemContainer(\n <FormItemWrapper\n label={titleRender}\n span={column.gridNumber}\n key={fieldData.key}\n {...formItemProps}\n >\n {column.render?.(renderOperationProps)}\n </FormItemWrapper>\n );\n }\n return (\n <FormItemWrapper\n label={titleRender}\n span={column.gridNumber}\n key={fieldData.key}\n {...formItemProps}\n >\n {column.render?.(renderOperationProps)}\n </FormItemWrapper>\n );\n },\n };\n });\n }, [\n props.columns,\n form,\n formListCompleteName,\n setCurrentRowField,\n validateRowFields,\n getCurrentRowData,\n forceUpdate,\n ]);\n\n const className = classNames('editable-card', props.className);\n\n return (\n <div className={className} style={props.style} ref={comRef}>\n <Form.List\n name={formListName}\n rules={props.rules}\n initialValue={props.initialValue}\n >\n {(fields, formListOperation, { errors }) => {\n formListOperationRef.current = formListOperation;\n return (\n <div\n style={{\n borderRadius: '6px',\n border: errors?.length\n ? '1px solid #ff4d4f'\n : '1px solid transparent',\n }}\n >\n {props.contentBeforeRender?.(formListOperation, fields.length)}\n {props.onCustomWrapper ? (\n fields.map((fieldItem, index) => {\n const extraData = {\n index,\n fields,\n fieldItem,\n operation: formListOperation,\n required: props.required,\n key: `${fieldItem.key}`,\n };\n return (\n <Fragment key={fieldItem.key}>\n {props.onCustomWrapper?.(\n <EasyForm\n {...props.cardEasyFormProps}\n style={{\n padding: 0,\n margin: 0,\n ...props.cardEasyFormProps?.style,\n }}\n >\n {columns.map((column) => {\n return column.render(\n index,\n fieldItem,\n formListOperation\n );\n })}\n </EasyForm>,\n extraData\n )}\n </Fragment>\n );\n })\n ) : (\n <BoxGrid.Row>\n {fields.map((fieldItem, index) => {\n const title = props.onCustomGroupName\n ? props.onCustomGroupName(index)\n : index + 1;\n\n const extraData = {\n index,\n fields,\n fieldItem,\n operation: formListOperation,\n required: props.required,\n key: `${fieldItem.key}`,\n };\n\n const cardExtraRenderResult =\n props.cardExtraRender?.(extraData);\n const span = ['xs', 'sm'].includes(\n boxBreakpointApi.boxBreakpoint\n )\n ? 24\n : props.boxGridColSpan;\n return (\n <BoxGrid.Col span={span || 24}>\n <CardWrapper\n key={fieldItem.key}\n className={props.cardClassName}\n title={title}\n size=\"small\"\n style={{\n padding: 0,\n margin: '0 0 15px 0',\n ...props.cardStyle,\n }}\n bodyStyle={{ paddingBottom: 0 }}\n // styles={{ body: { paddingBottom: 0 } }}\n extra={\n isValidElement(cardExtraRenderResult) ? (\n cardExtraRenderResult\n ) : (\n <div\n style={{\n display: 'inline-flex',\n alignItems: 'center',\n gap: '8px',\n }}\n >\n {cardExtraRenderResult?.['before']}\n <DeleteNode\n style={{ color: 'red' }}\n hidden={\n props.hiddenDeleteBtn ||\n (props.required && fields.length === 1) ||\n componentDisabled\n }\n onDelete={() => {\n formListOperation.remove(index);\n }}\n />\n {cardExtraRenderResult?.['after']}\n </div>\n )\n }\n >\n <EasyForm\n {...props.cardEasyFormProps}\n style={{\n padding: 0,\n margin: 0,\n ...props.cardEasyFormProps?.style,\n }}\n >\n {columns.map((column) => {\n return column.render(\n index,\n fieldItem,\n formListOperation\n );\n })}\n </EasyForm>\n </CardWrapper>\n </BoxGrid.Col>\n );\n })}\n </BoxGrid.Row>\n )}\n\n {fields.length === 0 ? (\n <div className=\"editable-card-empty\">\n <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} />\n </div>\n ) : null}\n <ButtonWrapper\n block\n hidden={props.hiddenFooterBtn || componentDisabled}\n type=\"dashed\"\n icon={<PlusOutlined />}\n onClick={() => {\n const defaultValues = props.addRowDefaultValues?.();\n formListOperation.add({ ...defaultValues });\n }}\n >\n {props.addRowBtnName || '新增'}\n </ButtonWrapper>\n {props.contentAfterRender?.(formListOperation, fields.length)}\n {errors.length ? (\n <Form.ErrorList\n errors={[\n <div style={{ color: '#ff4d4f', padding: '5px' }} key=\"0\">\n {errors}\n </div>,\n ]}\n />\n ) : null}\n </div>\n );\n }}\n </Form.List>\n </div>\n );\n};\n"],"names":["EditableCard","props","form","Form","useFormInstance","formListName","toArray","formListOperationRef","useRef","forceUpdate","_hooks","useForceUpdate","_ConfigProvider$useCo","ConfigProvider","useConfig","componentDisabled","comRef","boxBreakpointApi","useBoxBreakpoint","formListCompleteName","validateRowFields","useCallbackRef","formItemPrevName","nameList","Promise","$return","$error","resolve","validateFields","map","item","concat","_toConsumableArray","then","$await_1","$boundEx","getCurrentRowData","getFieldValue","setCurrentRowField","dataIndexConfigs","fbaUtils","setFormFieldsAndTriggerValuesChange","name","value","columns","fbaHooks","useMemoCustom","column","_column$formItemProps","title","titleRender","tips","_jsx","TipsWrapper","tipType","popoverProps","content","children","required","formItemProps","rules","length","find","dataIndex","render","index","fieldData","operation","_column$remove","_column$hidden","_formItemProps","_column$render4","isUndefinedOrNull","Fragment","rowFormItemCompleteName","editable","bind","renderOperationProps","add","remove","move","rowFormItemName","call","hidden","FormItemHidden","key","_objectSpread","message","_column$render2","formItemContainer","_column$render","_createElement","FormItemWrapper","label","span","gridNumber","_column$render3","className","_classNames","style","ref","List","initialValue","fields","formListOperation","_ref","_props$contentBeforeR","_props$contentAfterRe","errors","current","_jsxs","borderRadius","border","contentBeforeRender","onCustomWrapper","fieldItem","_props$onCustomWrappe","_props$cardEasyFormPr","extraData","EasyForm","cardEasyFormProps","padding","margin","BoxGrid","Row","_props$cardExtraRende","_props$cardEasyFormPr2","onCustomGroupName","cardExtraRenderResult","cardExtraRender","includes","boxBreakpoint","boxGridColSpan","Col","CardWrapper","cardClassName","size","cardStyle","bodyStyle","paddingBottom","extra","isValidElement","display","alignItems","gap","DeleteNode","color","hiddenDeleteBtn","onDelete","Empty","image","PRESENTED_IMAGE_SIMPLE","ButtonWrapper","block","hiddenFooterBtn","type","icon","_PlusOutlined","onClick","_props$addRowDefaultV","defaultValues","addRowDefaultValues","addRowBtnName","contentAfterRender","ErrorList"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"editable-card-DAI8HIMx.js","sources":["@flatbiz/antd/src/editable-card/editable-card.tsx"],"sourcesContent":["import type { ReactElement, ReactNode } from 'react';\nimport { Fragment, isValidElement, useRef } from 'react';\nimport type { FormListFieldData } from 'antd';\nimport { ConfigProvider, Empty, Form, type FormListOperation } from 'antd';\nimport { PlusOutlined } from '@ant-design/icons';\nimport { classNames } from '@dimjs/utils';\nimport type { TAny } from '@flatbiz/utils';\nimport { isUndefinedOrNull, toArray } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { BoxGrid, useBoxBreakpoint } from '../box-grid/index.js';\nimport { ButtonWrapper } from '../button-wrapper/button-wrapper.jsx';\nimport { CardWrapper } from '../card-wrapper/card-wrapper.jsx';\nimport { DeleteNode } from '../delete-node/delete-node.jsx';\nimport { EasyForm } from '../easy-form/form.jsx';\nimport { fbaHooks } from '../fba-hooks/index.js';\nimport { fbaUtils } from '../fba-utils/fba-utils.js';\nimport { FormItemHidden } from '../form-item-hidden/form-item-hidden.jsx';\nimport { FormItemWrapper } from '../form-item-wrapper/form-item-wrapper.jsx';\nimport { TipsWrapper } from '../tips-wrapper/tips-wrapper.jsx';\nimport type {\n EditableCardDataIndex,\n EditableCardOperation,\n EditableCardProps,\n} from './type.js';\nimport './style.less';\n\n/**\n * 使用FormList实现可编辑卡片\n * ```\n * 1. 必须在外部包裹Form组件或者EasyForm组件\n * 2. 行内需要联动逻辑可使用 column.render.operation.setCurrentRowField 方法\n * 3. 可使用DragEditableCard组件实现拖拽排序\n *\n * demo\n * https://fex.qa.tcshuke.com/docs/admin/main/form/grid\n * ```\n */\nexport const EditableCard = (props: EditableCardProps) => {\n const form = Form.useFormInstance();\n const formListName = toArray<string | number>(props.formListName);\n\n const formListOperationRef = useRef<FormListOperation>();\n const forceUpdate = hooks.useForceUpdate();\n const { componentDisabled } = ConfigProvider.useConfig();\n const comRef = useRef<HTMLDivElement>(null);\n const boxBreakpointApi = useBoxBreakpoint(comRef);\n\n const formListCompleteName = props.formListCompleteName || formListName;\n\n const validateRowFields = hooks.useCallbackRef(\n async (\n formItemPrevName: Array<string | number>,\n nameList: EditableCardDataIndex[]\n ) => {\n await form.validateFields(\n nameList.map((item) => [\n ...formItemPrevName,\n ...toArray<string | number>(item),\n ])\n );\n }\n );\n const getCurrentRowData = hooks.useCallbackRef(\n (formItemPrevName: Array<string | number>) => {\n return form.getFieldValue(formItemPrevName);\n }\n );\n\n const setCurrentRowField = hooks.useCallbackRef(\n (\n formItemPrevName: string | number,\n dataIndexConfigs: {\n name: EditableCardDataIndex;\n value?: TAny;\n }[]\n ) => {\n fbaUtils.setFormFieldsAndTriggerValuesChange(\n form,\n dataIndexConfigs.map((item) => {\n return {\n name: [\n ...formListCompleteName,\n formItemPrevName,\n ...toArray<string | number>(item.name),\n ],\n value: item.value,\n };\n })\n );\n forceUpdate();\n }\n );\n\n const columns = fbaHooks.useMemoCustom(() => {\n return props.columns.map((column) => {\n const title = column.title;\n let titleRender: ReactElement | string | undefined = title;\n if (column.tips) {\n titleRender = (\n <TipsWrapper\n tipType=\"popover\"\n popoverProps={{ content: column.tips }}\n >\n {title}\n </TipsWrapper>\n );\n }\n\n let required = column.required;\n\n if (\n !required &&\n typeof column.formItemProps === 'object' &&\n column.formItemProps.rules?.length\n ) {\n required = !!column.formItemProps.rules.find(\n (item) => !!item['required']\n );\n }\n\n const dataIndex = toArray<string>(column['dataIndex']);\n\n return {\n dataIndex,\n render: (\n index,\n fieldData: FormListFieldData,\n operation: FormListOperation\n ) => {\n const value = form.getFieldValue([\n ...formListCompleteName,\n fieldData.name,\n ...dataIndex,\n ]);\n if (isUndefinedOrNull(column.render)) {\n return <Fragment>{value}</Fragment>;\n }\n\n const rowFormItemCompleteName = [\n ...formListCompleteName,\n fieldData.name,\n ];\n\n const editable =\n typeof column?.editable === 'function'\n ? column?.editable(\n {\n index,\n getCurrentRowData: getCurrentRowData.bind(\n null,\n rowFormItemCompleteName\n ),\n },\n index\n )\n : column?.editable;\n\n const renderOperationProps: EditableCardOperation = {\n index,\n editable,\n add: operation.add,\n remove: operation.remove,\n move: operation.move,\n rowFormItemName: fieldData.name,\n rowFormItemCompleteName,\n setCurrentRowField: setCurrentRowField.bind(null, fieldData.name),\n validateRowFields: validateRowFields.bind(\n null,\n rowFormItemCompleteName\n ),\n getCurrentRowData: getCurrentRowData.bind(\n null,\n rowFormItemCompleteName\n ),\n forceUpdate,\n };\n\n if (column.remove?.(renderOperationProps, index)) {\n return <Fragment />;\n }\n\n if (column.hidden?.(renderOperationProps, index)) {\n return (\n <FormItemHidden\n name={[fieldData.name, ...dataIndex]}\n key={fieldData.key}\n />\n );\n }\n let formItemProps =\n typeof column.formItemProps === 'function'\n ? column.formItemProps(renderOperationProps)\n : column.formItemProps;\n\n if (!formItemProps?.rules?.length && required) {\n formItemProps = {\n ...formItemProps,\n rules: [{ required: true, message: '' }],\n };\n }\n\n if (editable === true) {\n if (column.formItemContainer) {\n return column.formItemContainer(\n <FormItemWrapper\n label={titleRender}\n {...formItemProps}\n name={[fieldData.name, ...dataIndex]}\n span={column.gridNumber}\n key={fieldData.key}\n >\n {column.render?.(renderOperationProps) as ReactNode}\n </FormItemWrapper>\n );\n }\n return (\n <FormItemWrapper\n label={titleRender}\n {...formItemProps}\n name={[fieldData.name, ...dataIndex]}\n span={column.gridNumber}\n key={fieldData.key}\n >\n {column.render?.(renderOperationProps) as ReactNode}\n </FormItemWrapper>\n );\n }\n if (column.formItemContainer) {\n return column.formItemContainer(\n <FormItemWrapper\n label={titleRender}\n span={column.gridNumber}\n key={fieldData.key}\n {...formItemProps}\n >\n {column.render?.(renderOperationProps)}\n </FormItemWrapper>\n );\n }\n return (\n <FormItemWrapper\n label={titleRender}\n span={column.gridNumber}\n key={fieldData.key}\n {...formItemProps}\n >\n {column.render?.(renderOperationProps)}\n </FormItemWrapper>\n );\n },\n };\n });\n }, [\n props.columns,\n form,\n formListCompleteName,\n setCurrentRowField,\n validateRowFields,\n getCurrentRowData,\n forceUpdate,\n ]);\n\n const className = classNames('editable-card', props.className);\n\n return (\n <div className={className} style={props.style} ref={comRef}>\n <Form.List\n name={formListName}\n rules={props.rules}\n initialValue={props.initialValue}\n >\n {(fields, formListOperation, { errors }) => {\n formListOperationRef.current = formListOperation;\n return (\n <div\n style={{\n borderRadius: '6px',\n border: errors?.length\n ? '1px solid #ff4d4f'\n : '1px solid transparent',\n }}\n >\n {props.contentBeforeRender?.(formListOperation, fields.length)}\n {props.onCustomWrapper ? (\n fields.map((fieldItem, index) => {\n const extraData = {\n index,\n fields,\n fieldItem,\n operation: formListOperation,\n required: props.required,\n key: `${fieldItem.key}`,\n };\n return (\n <Fragment key={fieldItem.key}>\n {props.onCustomWrapper?.(\n <EasyForm\n {...props.cardEasyFormProps}\n style={{\n padding: 0,\n margin: 0,\n ...props.cardEasyFormProps?.style,\n }}\n >\n {columns.map((column) => {\n return column.render(\n index,\n fieldItem,\n formListOperation\n );\n })}\n </EasyForm>,\n extraData\n )}\n </Fragment>\n );\n })\n ) : (\n <BoxGrid.Row>\n {fields.map((fieldItem, index) => {\n const title = props.onCustomGroupName\n ? props.onCustomGroupName(index)\n : index + 1;\n\n const extraData = {\n index,\n fields,\n fieldItem,\n operation: formListOperation,\n required: props.required,\n key: `${fieldItem.key}`,\n };\n\n const cardExtraRenderResult =\n props.cardExtraRender?.(extraData);\n const span = ['xs', 'sm'].includes(\n boxBreakpointApi.boxBreakpoint\n )\n ? 24\n : props.boxGridColSpan;\n return (\n <BoxGrid.Col span={span || 24}>\n <CardWrapper\n key={fieldItem.key}\n className={props.cardClassName}\n title={title}\n size=\"small\"\n style={{\n padding: 0,\n margin: '0 0 15px 0',\n ...props.cardStyle,\n }}\n bodyStyle={{ paddingBottom: 0 }}\n // styles={{ body: { paddingBottom: 0 } }}\n extra={\n isValidElement(cardExtraRenderResult) ? (\n cardExtraRenderResult\n ) : (\n <div\n style={{\n display: 'inline-flex',\n alignItems: 'center',\n gap: '8px',\n }}\n >\n {cardExtraRenderResult?.['before']}\n <DeleteNode\n style={{ color: 'red' }}\n hidden={\n props.hiddenDeleteBtn ||\n (props.required && fields.length === 1) ||\n componentDisabled\n }\n onDelete={() => {\n formListOperation.remove(index);\n }}\n />\n {cardExtraRenderResult?.['after']}\n </div>\n )\n }\n >\n <EasyForm\n {...props.cardEasyFormProps}\n style={{\n padding: 0,\n margin: 0,\n ...props.cardEasyFormProps?.style,\n }}\n >\n {columns.map((column) => {\n return column.render(\n index,\n fieldItem,\n formListOperation\n );\n })}\n </EasyForm>\n </CardWrapper>\n </BoxGrid.Col>\n );\n })}\n </BoxGrid.Row>\n )}\n\n {fields.length === 0 ? (\n <div className=\"editable-card-empty\">\n <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} />\n </div>\n ) : null}\n <ButtonWrapper\n block\n hidden={props.hiddenFooterBtn || componentDisabled}\n type=\"dashed\"\n icon={<PlusOutlined />}\n onClick={() => {\n const defaultValues = props.addRowDefaultValues?.();\n formListOperation.add({ ...defaultValues });\n }}\n >\n {props.addRowBtnName || '新增'}\n </ButtonWrapper>\n {props.contentAfterRender?.(formListOperation, fields.length)}\n {errors.length ? (\n <Form.ErrorList\n errors={[\n <div style={{ color: '#ff4d4f', padding: '5px' }} key=\"0\">\n {errors}\n </div>,\n ]}\n />\n ) : null}\n </div>\n );\n }}\n </Form.List>\n </div>\n );\n};\n"],"names":["EditableCard","props","form","Form","useFormInstance","formListName","toArray","formListOperationRef","useRef","forceUpdate","_hooks","useForceUpdate","_ConfigProvider$useCo","ConfigProvider","useConfig","componentDisabled","comRef","boxBreakpointApi","useBoxBreakpoint","formListCompleteName","validateRowFields","useCallbackRef","formItemPrevName","nameList","Promise","$return","$error","resolve","validateFields","map","item","concat","_toConsumableArray","then","$await_1","$boundEx","getCurrentRowData","getFieldValue","setCurrentRowField","dataIndexConfigs","fbaUtils","setFormFieldsAndTriggerValuesChange","name","value","columns","fbaHooks","useMemoCustom","column","_column$formItemProps","title","titleRender","tips","_jsx","TipsWrapper","tipType","popoverProps","content","children","required","formItemProps","rules","length","find","dataIndex","render","index","fieldData","operation","_column$remove","_column$hidden","_formItemProps","_column$render4","isUndefinedOrNull","Fragment","rowFormItemCompleteName","editable","bind","renderOperationProps","add","remove","move","rowFormItemName","call","hidden","FormItemHidden","key","_objectSpread","message","_column$render2","formItemContainer","_column$render","_createElement","FormItemWrapper","label","span","gridNumber","_column$render3","className","_classNames","style","ref","List","initialValue","fields","formListOperation","_ref","_props$contentBeforeR","_props$contentAfterRe","errors","current","_jsxs","borderRadius","border","contentBeforeRender","onCustomWrapper","fieldItem","_props$onCustomWrappe","_props$cardEasyFormPr","extraData","EasyForm","cardEasyFormProps","padding","margin","BoxGrid","Row","_props$cardExtraRende","_props$cardEasyFormPr2","onCustomGroupName","cardExtraRenderResult","cardExtraRender","includes","boxBreakpoint","boxGridColSpan","Col","CardWrapper","cardClassName","size","cardStyle","bodyStyle","paddingBottom","extra","isValidElement","display","alignItems","gap","DeleteNode","color","hiddenDeleteBtn","onDelete","Empty","image","PRESENTED_IMAGE_SIMPLE","ButtonWrapper","block","hiddenFooterBtn","type","icon","_PlusOutlined","onClick","_props$addRowDefaultV","defaultValues","addRowDefaultValues","addRowBtnName","contentAfterRender","ErrorList"],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ import { useSensors, useSensor, PointerSensor, DndContext } from '@dnd-kit/core'
|
|
|
6
6
|
import { restrictToVerticalAxis } from '@dnd-kit/modifiers';
|
|
7
7
|
import { useSortable, SortableContext, verticalListSortingStrategy, arrayMove } from '@dnd-kit/sortable';
|
|
8
8
|
import { noop, toArray } from '@flatbiz/utils';
|
|
9
|
-
import { E as EditableCard } from './editable-card-
|
|
9
|
+
import { E as EditableCard } from './editable-card-DAI8HIMx.js';
|
|
10
10
|
import _DragOutlined from '@ant-design/icons/es/icons/DragOutlined.js';
|
|
11
11
|
import { CSS } from '@dnd-kit/utilities';
|
|
12
12
|
import { C as CardWrapper } from './card-wrapper-C8YADYlW.js';
|
|
@@ -228,4 +228,4 @@ var DragEditableCard = function DragEditableCard(props) {
|
|
|
228
228
|
};
|
|
229
229
|
|
|
230
230
|
export { DragEditableCard as D };
|
|
231
|
-
//# sourceMappingURL=editable-card-
|
|
231
|
+
//# sourceMappingURL=editable-card-DxpscGzG.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editable-card-Dty6epO9.js","sources":["@flatbiz/antd/src/drag-editable-card/handle.tsx","@flatbiz/antd/src/drag-editable-card/handle2.tsx","@flatbiz/antd/src/drag-editable-card/editable-card.tsx"],"sourcesContent":["import { type CSSProperties, type ReactElement } from 'react';\nimport type { FormListFieldData, FormListOperation } from 'antd';\nimport { type RowProps, Space } from 'antd';\nimport { DragOutlined } from '@ant-design/icons';\nimport { useSortable } from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\nimport { noop } from '@flatbiz/utils';\nimport { CardWrapper } from '../card-wrapper/card-wrapper.jsx';\nimport { DeleteNode } from '../delete-node/delete-node.jsx';\nimport { IconWrapper } from '../icon-wrapper/icon-wrapper.jsx';\n\ntype HandleProps = RowProps & {\n dragIcon?: ReactElement;\n rowId: string;\n children: ReactElement;\n extraData: {\n operation: FormListOperation;\n fields: FormListFieldData[];\n index: number;\n required?: boolean;\n };\n dragTriggerPosition?: 'left' | 'right';\n};\nexport const Handle = (props: HandleProps) => {\n const { dragIcon, rowId, dragTriggerPosition, ...innerProps } = props;\n\n const dragTriggerPositionFt = dragTriggerPosition || 'left';\n const {\n setActivatorNodeRef,\n listeners,\n setNodeRef,\n transform,\n transition,\n isDragging,\n } = useSortable({\n id: rowId,\n });\n\n const style: CSSProperties = {\n ...innerProps.style,\n transform: CSS.Transform.toString(transform && { ...transform, scaleY: 1 }),\n transition,\n cursor: 'move',\n ...(isDragging\n ? {\n position: 'relative',\n zIndex: 9999,\n boxShadow: ' 0px 0px 12px 4px rgba(34, 33, 81, 0.1)',\n backgroundColor: 'var(--block-bg-color)',\n }\n : {}),\n };\n const iconElement = dragIcon || <DragOutlined />;\n return (\n <div ref={setNodeRef} key={rowId} style={style}>\n <CardWrapper\n size=\"small\"\n style={{ marginBottom: 10 }}\n extra={\n <Space size={10}>\n <DeleteNode\n style={{ color: 'red' }}\n hidden={\n props.extraData.required && props.extraData.fields.length === 1\n }\n onDelete={() => {\n props.extraData.operation.remove(props.extraData.index);\n }}\n />\n {dragTriggerPositionFt === 'right' ? (\n <span\n ref={setActivatorNodeRef}\n style={{\n touchAction: 'none',\n cursor: 'move',\n }}\n {...listeners}\n >\n <IconWrapper\n style={{\n touchAction: 'none',\n cursor: 'move',\n padding: '3px',\n margin: 0,\n justifyContent: 'center',\n color: '#787878',\n }}\n icon={iconElement}\n onClick={noop}\n size=\"small\"\n />\n </span>\n ) : null}\n </Space>\n }\n title={\n <Space size={5}>\n {dragTriggerPositionFt === 'left' ? (\n <span\n ref={setActivatorNodeRef}\n style={{\n touchAction: 'none',\n cursor: 'move',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n }}\n {...listeners}\n >\n <IconWrapper\n style={{\n touchAction: 'none',\n cursor: 'move',\n padding: '3px',\n margin: 0,\n justifyContent: 'center',\n color: '#787878',\n }}\n icon={iconElement}\n onClick={noop}\n size=\"small\"\n />\n </span>\n ) : null}\n <span>第{props.extraData.index + 1}行</span>\n </Space>\n }\n >\n {props.children}\n </CardWrapper>\n </div>\n );\n};\n","import { type ReactElement } from 'react';\nimport type { FormListFieldData, FormListOperation } from 'antd';\nimport { type RowProps } from 'antd';\nimport { CardWrapper } from '../card-wrapper/card-wrapper.jsx';\nimport { DeleteNode } from '../delete-node/delete-node.jsx';\n\ntype Handle2Props = RowProps & {\n children: ReactElement;\n extraData: {\n operation: FormListOperation;\n fields: FormListFieldData[];\n index: number;\n required?: boolean;\n };\n};\nexport const Handle2 = (props: Handle2Props) => {\n return (\n <CardWrapper\n size=\"small\"\n style={{ marginBottom: 10 }}\n extra={\n <DeleteNode\n style={{ color: 'red' }}\n hidden={\n props.extraData.required && props.extraData.fields.length === 1\n }\n onDelete={() => {\n props.extraData.operation.remove(props.extraData.index);\n }}\n />\n }\n title={`第${props.extraData.index + 1}行`}\n >\n {props.children}\n </CardWrapper>\n );\n};\n","import { type ReactElement } from 'react';\nimport { Form } from 'antd';\nimport {\n DndContext,\n type DragEndEvent,\n PointerSensor,\n useSensor,\n useSensors,\n} from '@dnd-kit/core';\nimport { restrictToVerticalAxis } from '@dnd-kit/modifiers';\nimport {\n arrayMove,\n SortableContext,\n verticalListSortingStrategy,\n} from '@dnd-kit/sortable';\nimport { toArray, type TPlainObject } from '@flatbiz/utils';\nimport { EditableCard } from '../editable-card/editable-card.jsx';\nimport type { EditableCardProps } from '../editable-card/type.js';\nimport { Handle } from './handle.jsx';\nimport { Handle2 } from './handle2.jsx';\n\nexport type DragEditableCardProps = Omit<\n EditableCardProps,\n 'onCustomWrapper'\n> & {\n /**\n * 拖拽图标自定义,默认使用 DragOutlined 图标\n */\n dragIcon?: ReactElement;\n\n /** 禁用拖拽 */\n disabledDrag?: boolean;\n /**\n * 表格数据唯一值字段Key\n * ```\n * ```\n */\n uidFieldKey: string;\n /**\n * 拖拽结束事件\n * ```\n * dataSource: 拖拽完成后的数据源\n * dragData\n * 1. activeId 拖拽ID\n * 2. activeIndex 拖拽起始表格数组索引值\n * 3. overIndex 拖拽结束表格数组索引值\n * ```\n */\n onDragChange?: (\n dataSource: TPlainObject[],\n dragData: {\n activeId: string | number;\n overId?: string | number;\n activeIndex: number;\n overIndex: number;\n }\n ) => void;\n /**\n * 拖拽触发位置,默认在左侧\n */\n dragTriggerPosition?: 'left' | 'right';\n};\n\n/**\n * 可拖拽编辑卡片\n * ```\n * 1. 卡片数组必须有唯一值字段,通过参数 uidFieldKey 告诉组件\n * ```\n */\nexport const DragEditableCard = (props: DragEditableCardProps) => {\n const {\n dragIcon,\n uidFieldKey,\n onDragChange,\n disabledDrag,\n formListCompleteName,\n formListName,\n dragTriggerPosition,\n ...otherProps\n } = props;\n\n const formListCompleteNameFt = formListCompleteName || formListName;\n\n const form = Form.useFormInstance();\n const dataList = Form.useWatch(formListCompleteNameFt, form);\n\n const sensors = useSensors(\n useSensor(PointerSensor, {\n activationConstraint: {\n // 当拖拽触发区域有其他点击事件时,需要延迟触发拖拽动作\n delay: 0,\n tolerance: 0,\n },\n })\n );\n\n const onDragEnd = ({ active, over }: DragEndEvent) => {\n if (active.id !== over?.id) {\n const activeIndex = dataList.findIndex(\n (i) => i[uidFieldKey] === active.id\n );\n const overIndex = dataList.findIndex((i) => i[uidFieldKey] === over?.id);\n const dataListNew = arrayMove(dataList, activeIndex, overIndex);\n form.setFields([\n {\n name: formListCompleteNameFt,\n value: dataListNew,\n },\n ]);\n onDragChange?.(dataListNew as TPlainObject[], {\n activeId: active.id,\n overId: over?.id,\n activeIndex,\n overIndex,\n });\n }\n };\n\n return (\n <DndContext\n sensors={sensors}\n modifiers={[restrictToVerticalAxis]}\n onDragEnd={onDragEnd}\n >\n <SortableContext\n items={dataList?.map((i) => i[uidFieldKey]) || []}\n strategy={verticalListSortingStrategy}\n >\n <EditableCard\n formListName={formListName}\n formListCompleteName={formListCompleteName}\n {...otherProps}\n onCustomWrapper={(children, extraData) => {\n if (disabledDrag) {\n return (\n <Handle2 key={extraData.key} extraData={extraData}>\n {children}\n </Handle2>\n );\n }\n\n const target = form.getFieldValue([\n ...toArray(formListCompleteNameFt),\n extraData.fieldItem.name,\n ]);\n\n if (!target?.[uidFieldKey]) {\n console.error(\n `唯一值字段【${uidFieldKey}】为空,无法进行拖拽排序`,\n target\n );\n return (\n <Handle2 key={extraData.key} extraData={extraData}>\n {children}\n </Handle2>\n );\n }\n return (\n <Handle\n key={extraData.key}\n dragIcon={dragIcon}\n rowId={target?.[uidFieldKey]}\n extraData={extraData}\n dragTriggerPosition={dragTriggerPosition}\n >\n {children}\n </Handle>\n );\n }}\n />\n </SortableContext>\n </DndContext>\n );\n};\n"],"names":["Handle","props","dragIcon","rowId","dragTriggerPosition","innerProps","_objectWithoutProperties","_excluded","dragTriggerPositionFt","_useSortable","useSortable","id","setActivatorNodeRef","listeners","setNodeRef","transform","transition","isDragging","style","_objectSpread","CSS","Transform","toString","scaleY","cursor","position","zIndex","boxShadow","backgroundColor","iconElement","_jsx","_DragOutlined","ref","children","CardWrapper","size","marginBottom","extra","_jsxs","Space","DeleteNode","color","hidden","extraData","required","fields","length","onDelete","operation","remove","index","touchAction","IconWrapper","padding","margin","justifyContent","icon","onClick","noop","title","display","alignItems","Handle2","concat","DragEditableCard","uidFieldKey","onDragChange","disabledDrag","formListCompleteName","formListName","otherProps","formListCompleteNameFt","form","Form","useFormInstance","dataList","useWatch","sensors","useSensors","useSensor","PointerSensor","activationConstraint","delay","tolerance","onDragEnd","_ref","active","over","activeIndex","findIndex","i","overIndex","dataListNew","arrayMove","setFields","name","value","activeId","overId","DndContext","modifiers","restrictToVerticalAxis","SortableContext","items","map","strategy","verticalListSortingStrategy","EditableCard","onCustomWrapper","key","target","getFieldValue","_toConsumableArray","toArray","fieldItem","console","error"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"editable-card-DxpscGzG.js","sources":["@flatbiz/antd/src/drag-editable-card/handle.tsx","@flatbiz/antd/src/drag-editable-card/handle2.tsx","@flatbiz/antd/src/drag-editable-card/editable-card.tsx"],"sourcesContent":["import { type CSSProperties, type ReactElement } from 'react';\nimport type { FormListFieldData, FormListOperation } from 'antd';\nimport { type RowProps, Space } from 'antd';\nimport { DragOutlined } from '@ant-design/icons';\nimport { useSortable } from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\nimport { noop } from '@flatbiz/utils';\nimport { CardWrapper } from '../card-wrapper/card-wrapper.jsx';\nimport { DeleteNode } from '../delete-node/delete-node.jsx';\nimport { IconWrapper } from '../icon-wrapper/icon-wrapper.jsx';\n\ntype HandleProps = RowProps & {\n dragIcon?: ReactElement;\n rowId: string;\n children: ReactElement;\n extraData: {\n operation: FormListOperation;\n fields: FormListFieldData[];\n index: number;\n required?: boolean;\n };\n dragTriggerPosition?: 'left' | 'right';\n};\nexport const Handle = (props: HandleProps) => {\n const { dragIcon, rowId, dragTriggerPosition, ...innerProps } = props;\n\n const dragTriggerPositionFt = dragTriggerPosition || 'left';\n const {\n setActivatorNodeRef,\n listeners,\n setNodeRef,\n transform,\n transition,\n isDragging,\n } = useSortable({\n id: rowId,\n });\n\n const style: CSSProperties = {\n ...innerProps.style,\n transform: CSS.Transform.toString(transform && { ...transform, scaleY: 1 }),\n transition,\n cursor: 'move',\n ...(isDragging\n ? {\n position: 'relative',\n zIndex: 9999,\n boxShadow: ' 0px 0px 12px 4px rgba(34, 33, 81, 0.1)',\n backgroundColor: 'var(--block-bg-color)',\n }\n : {}),\n };\n const iconElement = dragIcon || <DragOutlined />;\n return (\n <div ref={setNodeRef} key={rowId} style={style}>\n <CardWrapper\n size=\"small\"\n style={{ marginBottom: 10 }}\n extra={\n <Space size={10}>\n <DeleteNode\n style={{ color: 'red' }}\n hidden={\n props.extraData.required && props.extraData.fields.length === 1\n }\n onDelete={() => {\n props.extraData.operation.remove(props.extraData.index);\n }}\n />\n {dragTriggerPositionFt === 'right' ? (\n <span\n ref={setActivatorNodeRef}\n style={{\n touchAction: 'none',\n cursor: 'move',\n }}\n {...listeners}\n >\n <IconWrapper\n style={{\n touchAction: 'none',\n cursor: 'move',\n padding: '3px',\n margin: 0,\n justifyContent: 'center',\n color: '#787878',\n }}\n icon={iconElement}\n onClick={noop}\n size=\"small\"\n />\n </span>\n ) : null}\n </Space>\n }\n title={\n <Space size={5}>\n {dragTriggerPositionFt === 'left' ? (\n <span\n ref={setActivatorNodeRef}\n style={{\n touchAction: 'none',\n cursor: 'move',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n }}\n {...listeners}\n >\n <IconWrapper\n style={{\n touchAction: 'none',\n cursor: 'move',\n padding: '3px',\n margin: 0,\n justifyContent: 'center',\n color: '#787878',\n }}\n icon={iconElement}\n onClick={noop}\n size=\"small\"\n />\n </span>\n ) : null}\n <span>第{props.extraData.index + 1}行</span>\n </Space>\n }\n >\n {props.children}\n </CardWrapper>\n </div>\n );\n};\n","import { type ReactElement } from 'react';\nimport type { FormListFieldData, FormListOperation } from 'antd';\nimport { type RowProps } from 'antd';\nimport { CardWrapper } from '../card-wrapper/card-wrapper.jsx';\nimport { DeleteNode } from '../delete-node/delete-node.jsx';\n\ntype Handle2Props = RowProps & {\n children: ReactElement;\n extraData: {\n operation: FormListOperation;\n fields: FormListFieldData[];\n index: number;\n required?: boolean;\n };\n};\nexport const Handle2 = (props: Handle2Props) => {\n return (\n <CardWrapper\n size=\"small\"\n style={{ marginBottom: 10 }}\n extra={\n <DeleteNode\n style={{ color: 'red' }}\n hidden={\n props.extraData.required && props.extraData.fields.length === 1\n }\n onDelete={() => {\n props.extraData.operation.remove(props.extraData.index);\n }}\n />\n }\n title={`第${props.extraData.index + 1}行`}\n >\n {props.children}\n </CardWrapper>\n );\n};\n","import { type ReactElement } from 'react';\nimport { Form } from 'antd';\nimport {\n DndContext,\n type DragEndEvent,\n PointerSensor,\n useSensor,\n useSensors,\n} from '@dnd-kit/core';\nimport { restrictToVerticalAxis } from '@dnd-kit/modifiers';\nimport {\n arrayMove,\n SortableContext,\n verticalListSortingStrategy,\n} from '@dnd-kit/sortable';\nimport { toArray, type TPlainObject } from '@flatbiz/utils';\nimport { EditableCard } from '../editable-card/editable-card.jsx';\nimport type { EditableCardProps } from '../editable-card/type.js';\nimport { Handle } from './handle.jsx';\nimport { Handle2 } from './handle2.jsx';\n\nexport type DragEditableCardProps = Omit<\n EditableCardProps,\n 'onCustomWrapper'\n> & {\n /**\n * 拖拽图标自定义,默认使用 DragOutlined 图标\n */\n dragIcon?: ReactElement;\n\n /** 禁用拖拽 */\n disabledDrag?: boolean;\n /**\n * 表格数据唯一值字段Key\n * ```\n * ```\n */\n uidFieldKey: string;\n /**\n * 拖拽结束事件\n * ```\n * dataSource: 拖拽完成后的数据源\n * dragData\n * 1. activeId 拖拽ID\n * 2. activeIndex 拖拽起始表格数组索引值\n * 3. overIndex 拖拽结束表格数组索引值\n * ```\n */\n onDragChange?: (\n dataSource: TPlainObject[],\n dragData: {\n activeId: string | number;\n overId?: string | number;\n activeIndex: number;\n overIndex: number;\n }\n ) => void;\n /**\n * 拖拽触发位置,默认在左侧\n */\n dragTriggerPosition?: 'left' | 'right';\n};\n\n/**\n * 可拖拽编辑卡片\n * ```\n * 1. 卡片数组必须有唯一值字段,通过参数 uidFieldKey 告诉组件\n * ```\n */\nexport const DragEditableCard = (props: DragEditableCardProps) => {\n const {\n dragIcon,\n uidFieldKey,\n onDragChange,\n disabledDrag,\n formListCompleteName,\n formListName,\n dragTriggerPosition,\n ...otherProps\n } = props;\n\n const formListCompleteNameFt = formListCompleteName || formListName;\n\n const form = Form.useFormInstance();\n const dataList = Form.useWatch(formListCompleteNameFt, form);\n\n const sensors = useSensors(\n useSensor(PointerSensor, {\n activationConstraint: {\n // 当拖拽触发区域有其他点击事件时,需要延迟触发拖拽动作\n delay: 0,\n tolerance: 0,\n },\n })\n );\n\n const onDragEnd = ({ active, over }: DragEndEvent) => {\n if (active.id !== over?.id) {\n const activeIndex = dataList.findIndex(\n (i) => i[uidFieldKey] === active.id\n );\n const overIndex = dataList.findIndex((i) => i[uidFieldKey] === over?.id);\n const dataListNew = arrayMove(dataList, activeIndex, overIndex);\n form.setFields([\n {\n name: formListCompleteNameFt,\n value: dataListNew,\n },\n ]);\n onDragChange?.(dataListNew as TPlainObject[], {\n activeId: active.id,\n overId: over?.id,\n activeIndex,\n overIndex,\n });\n }\n };\n\n return (\n <DndContext\n sensors={sensors}\n modifiers={[restrictToVerticalAxis]}\n onDragEnd={onDragEnd}\n >\n <SortableContext\n items={dataList?.map((i) => i[uidFieldKey]) || []}\n strategy={verticalListSortingStrategy}\n >\n <EditableCard\n formListName={formListName}\n formListCompleteName={formListCompleteName}\n {...otherProps}\n onCustomWrapper={(children, extraData) => {\n if (disabledDrag) {\n return (\n <Handle2 key={extraData.key} extraData={extraData}>\n {children}\n </Handle2>\n );\n }\n\n const target = form.getFieldValue([\n ...toArray(formListCompleteNameFt),\n extraData.fieldItem.name,\n ]);\n\n if (!target?.[uidFieldKey]) {\n console.error(\n `唯一值字段【${uidFieldKey}】为空,无法进行拖拽排序`,\n target\n );\n return (\n <Handle2 key={extraData.key} extraData={extraData}>\n {children}\n </Handle2>\n );\n }\n return (\n <Handle\n key={extraData.key}\n dragIcon={dragIcon}\n rowId={target?.[uidFieldKey]}\n extraData={extraData}\n dragTriggerPosition={dragTriggerPosition}\n >\n {children}\n </Handle>\n );\n }}\n />\n </SortableContext>\n </DndContext>\n );\n};\n"],"names":["Handle","props","dragIcon","rowId","dragTriggerPosition","innerProps","_objectWithoutProperties","_excluded","dragTriggerPositionFt","_useSortable","useSortable","id","setActivatorNodeRef","listeners","setNodeRef","transform","transition","isDragging","style","_objectSpread","CSS","Transform","toString","scaleY","cursor","position","zIndex","boxShadow","backgroundColor","iconElement","_jsx","_DragOutlined","ref","children","CardWrapper","size","marginBottom","extra","_jsxs","Space","DeleteNode","color","hidden","extraData","required","fields","length","onDelete","operation","remove","index","touchAction","IconWrapper","padding","margin","justifyContent","icon","onClick","noop","title","display","alignItems","Handle2","concat","DragEditableCard","uidFieldKey","onDragChange","disabledDrag","formListCompleteName","formListName","otherProps","formListCompleteNameFt","form","Form","useFormInstance","dataList","useWatch","sensors","useSensors","useSensor","PointerSensor","activationConstraint","delay","tolerance","onDragEnd","_ref","active","over","activeIndex","findIndex","i","overIndex","dataListNew","arrayMove","setFields","name","value","activeId","overId","DndContext","modifiers","restrictToVerticalAxis","SortableContext","items","map","strategy","verticalListSortingStrategy","EditableCard","onCustomWrapper","key","target","getFieldValue","_toConsumableArray","toArray","fieldItem","console","error"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
2
|
|
|
3
3
|
import { classNames } from '@dimjs/utils/class-names/class-names';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
4
|
+
import { _ as _objectWithoutProperties, b as _objectSpread2 } from './_rollupPluginBabelHelpers-BspM60Sw.js';
|
|
5
|
+
import { useMemo, Children, cloneElement } from 'react';
|
|
6
6
|
import { Form } from 'antd';
|
|
7
7
|
import { isUndefinedOrNull } from '@flatbiz/utils';
|
|
8
8
|
import { BoxGrid } from './box-grid/index.js';
|
|
@@ -11,26 +11,6 @@ import { F as FormWrapper } from './form-wrapper-DBDMN0mN.js';
|
|
|
11
11
|
import { preDefinedClassName } from './pre-defined-class-name/index.js';
|
|
12
12
|
import { jsx } from 'react/jsx-runtime';
|
|
13
13
|
|
|
14
|
-
/**
|
|
15
|
-
* A helper to create a Context and Provider with no upfront default value, and
|
|
16
|
-
* without having to check for undefined all the time.
|
|
17
|
-
*/
|
|
18
|
-
function createCtx() {
|
|
19
|
-
var ctx = /*#__PURE__*/createContext(undefined);
|
|
20
|
-
function useCtx() {
|
|
21
|
-
var c = useContext(ctx);
|
|
22
|
-
// if (c === undefined)
|
|
23
|
-
// throw new Error('useCtx must be inside a Provider with a value');
|
|
24
|
-
return c;
|
|
25
|
-
}
|
|
26
|
-
return [useCtx, ctx.Provider]; // 'as const' makes TypeScript infer a tuple
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
var _createCtx = createCtx(),
|
|
30
|
-
_createCtx2 = _slicedToArray(_createCtx, 2),
|
|
31
|
-
useEasyForm = _createCtx2[0],
|
|
32
|
-
EasyFormProvider = _createCtx2[1];
|
|
33
|
-
|
|
34
14
|
var _excluded = ["column", "forceColumn", "children", "width", "gridGutter", "labelWidth", "labelItemVertical", "labelAlign", "formItemGap", "isPure"];
|
|
35
15
|
/**
|
|
36
16
|
* 简单Form布局,可自定义网格布局
|
|
@@ -83,7 +63,7 @@ var _excluded = ["column", "forceColumn", "children", "width", "gridGutter", "la
|
|
|
83
63
|
|
|
84
64
|
var EasyForm = function EasyForm(props) {
|
|
85
65
|
var screenType = fbaHooks.useResponsivePoint() || '';
|
|
86
|
-
var
|
|
66
|
+
var form = Form.useFormInstance();
|
|
87
67
|
var column = props.column,
|
|
88
68
|
forceColumn = props.forceColumn,
|
|
89
69
|
children = props.children,
|
|
@@ -221,11 +201,8 @@ var EasyForm = function EasyForm(props) {
|
|
|
221
201
|
className: otherProps.className
|
|
222
202
|
});
|
|
223
203
|
}, [labelWidth, labelItemVertical, labelAlignNew, formItemGap, otherProps.className]);
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
isNested: true
|
|
227
|
-
},
|
|
228
|
-
children: easyFormApi !== null && easyFormApi !== void 0 && easyFormApi.isNested ? /*#__PURE__*/jsx("div", {
|
|
204
|
+
if (form) {
|
|
205
|
+
return /*#__PURE__*/jsx("div", {
|
|
229
206
|
style: _objectSpread2(_objectSpread2({}, innerStyle), otherProps.style),
|
|
230
207
|
className: classNames('easy-form', {
|
|
231
208
|
'easy-form-pure': isPure
|
|
@@ -234,24 +211,25 @@ var EasyForm = function EasyForm(props) {
|
|
|
234
211
|
gutter: gutter,
|
|
235
212
|
children: getFormRowChildren()
|
|
236
213
|
})
|
|
237
|
-
})
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
214
|
+
});
|
|
215
|
+
}
|
|
216
|
+
return /*#__PURE__*/jsx(FormWrapper, _objectSpread2(_objectSpread2({}, otherProps), {}, {
|
|
217
|
+
labelWidth: labelWidth,
|
|
218
|
+
labelAlign: labelAlignNew,
|
|
219
|
+
labelItemVertical: labelItemVertical,
|
|
220
|
+
formItemGap: formItemGap,
|
|
221
|
+
style: _objectSpread2(_objectSpread2({}, innerStyle), otherProps.style),
|
|
222
|
+
className: classNames('easy-form', {
|
|
223
|
+
'easy-form-pure': isPure
|
|
224
|
+
}, fromLayoutClassName),
|
|
225
|
+
autoComplete: "off",
|
|
226
|
+
children: isPure ? children : /*#__PURE__*/jsx(BoxGrid.Row, {
|
|
227
|
+
gutter: gutter,
|
|
228
|
+
children: getFormRowChildren()
|
|
229
|
+
})
|
|
230
|
+
}));
|
|
253
231
|
};
|
|
254
232
|
EasyForm['domTypeName'] = 'EasyForm';
|
|
255
233
|
|
|
256
234
|
export { EasyForm as E };
|
|
257
|
-
//# sourceMappingURL=form-
|
|
235
|
+
//# sourceMappingURL=form-ByFljQr9.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-ByFljQr9.js","sources":["@flatbiz/antd/src/easy-form/form.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { Children, cloneElement, useMemo } from 'react';\nimport { Form } from 'antd';\nimport { classNames } from '@dimjs/utils';\nimport type { TAny } from '@flatbiz/utils';\nimport { isUndefinedOrNull } from '@flatbiz/utils';\nimport { BoxGrid } from '../box-grid/index.js';\nimport type { BoxRowProps } from '../box-grid/row.jsx';\nimport type { GutterParams } from '../box-grid/type.js';\nimport { fbaHooks } from '../fba-hooks/index.js';\nimport type { FormWrapperProps } from '../form-wrapper/form-wrapper.jsx';\nimport { FormWrapper } from '../form-wrapper/form-wrapper.jsx';\nimport { preDefinedClassName } from '../pre-defined-class-name/index.js';\nimport './style.less';\n\nexport type EasyFormProps = Omit<FormWrapperProps, 'children'> & {\n /**\n * 定义一行显示几列(当外层宽度尺寸大于 992px(lg) 时,一行显示几列), 默认值:3\n * ```\n * 1. 当外层宽度尺寸小于992px(lg),为xs、sm、md情况下不受column值影响(column=1除外)\n * 2. 宽度尺寸定义\n * xs: 宽度 < 576px\n * sm: 宽度 ≥ 576px\n * md: 宽度 ≥ 768px\n * lg: 宽度 ≥ 992px\n * xl: 宽度 ≥ 1200px\n * xxl: 宽度 ≥ 1600px\n * 3. 列数尺寸定义\n * {\n * 1: { xs: 24, sm: 24, md: 24, lg: 24, xl: 24, xxl: 24 },\n * 2: { xs: 24, sm: 12, md: 12, lg: 12, xl: 12, xxl: 12 },\n * 3: { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 8 },\n * 4: { xs: 24, sm: 12, md: 12, lg: 6, xl: 6, xxl: 6 },\n * };\n * ```\n */\n column?: 1 | 2 | 3 | 4;\n /**\n * 强制定义一行显示几列,不考虑响应式\n * ```\n * 1. 优先级大于column\n * 2. 建议优先使用column配置\n * ```\n */\n forceColumn?: 1 | 2 | 3 | 4;\n /**\n * Form显示宽度,可数值、可百分比;在小屏幕尺寸(xs、sm)上无效\n */\n width?: number | string;\n /** 网格间距 */\n gridGutter?: BoxRowProps['gutter'];\n children: ReactNode;\n /**\n * 是否为纯净模式,对EasyForm的子节点不做任何包装处理\n */\n isPure?: boolean;\n /**\n * 栅格占位格数,最大值:24\n * ```\n * 1. 当前EasyForm处在 EasyForm 直接子节点中有效,即当前EasyForm在EasyForm栅格中的占位格数;\n * 2. 父节点使用属性值,当前节点不使用属性值\n * ```\n */\n span?: number;\n};\n\n/**\n * 简单Form布局,可自定义网格布局\n * ```\n * 1. demo:https://fex.qa.tcshuke.com/docs/admin/main/form/grid\n * 2. EasyForm的children列表会进行网格化布局\n * 3. 自定义栅格占位格数的4中方式\n * 3.1 设置FormItemWrapper、FormItemText组件span属性;\n * 3.2 使用 EasyFormItemSpan 包裹children item,设置span属性\n * 3.3 使用 <BoxGrid.Col span={24} ></BoxGrid.Col> 包裹,设置响应式属性\n * 3.4 设置 EasyForm isPure = true设置纯净模式,对EasyForm的子节点不做任何包装处理\n * 4. EasyForm可嵌套使用,嵌套内部的<EasyForm />节点Form相关属性失效,例如属性form、initialValues等都失效\n * <EasyForm form={form}>\n * ....\n * <EasyForm>...</EasyForm>\n * ....\n * <EasyForm>...</EasyForm>\n * ....\n * </EasyForm>\n * 5. 布局网格以当前组件的宽度来计算的,不是屏幕宽度\n * 6. EasyForm 子节点包含 hidden = true 会被忽略\n * 7. 通过 column 可定义一行显示几列FormItem\n * 8. 通过 labelItemVertical 可定义 formitem 竖直布局\n * 9. 通过 formItemGap 可定义 formItem竖直方向间隙\n * 10. 通过 forceColumn 可强制定义一行显示几列,不考虑响应式\n * 11. 通过 labelWidth 可控制Form内部所有label的宽度(可实现整齐效果)\n * 12. 自定义栅格占位格数,见下方`例如`\n\n * 例如\n * <EasyForm column={3}>\n *\t <FormItemWrapper name=\"field1\" label=\"条件1\">\n *\t <Input placeholder=\"请输入\" allowClear={true} />\n *\t </FormItemWrapper>\n *\t <!-- !!自定义栅格占位格数第一种方式:可通过使用 BoxGrid.Col 包裹元素来自定义网格占比 -->\n *\t <BoxGrid.Col span={24}>\n *\t <FormItemWrapper name=\"field5\" label=\"条件5\">\n *\t \t<Input placeholder=\"请输入\" allowClear={true} />\n *\t </FormItemWrapper>\n *\t </BoxGrid.Col>\n *\t <!-- !!自定义栅格占位格数第二种方式:如果为FormItemWrapper组件,可设置span属性 -->\n *\t <FormItemWrapper name=\"field6\" label=\"条件6\" span={24}>\n *\t <Input placeholder=\"请输入\" allowClear={true} />\n *\t </FormItemWrapper>\n *\t <FormItemWrapper noStyle span={24}>\n *\t <Button>按钮</Buttone>\n *\t </FormItemWrapper>\n * </EasyForm>\n * ```\n */\n\nexport const EasyForm = (props: EasyFormProps) => {\n const screenType = fbaHooks.useResponsivePoint() || '';\n\n const form = Form.useFormInstance();\n\n const {\n column,\n forceColumn,\n children,\n width,\n gridGutter,\n labelWidth,\n labelItemVertical,\n labelAlign,\n formItemGap = '15',\n isPure,\n ...otherProps\n } = props;\n const gridSize = useMemo(() => {\n if (forceColumn) {\n const num = 24 / forceColumn;\n return { xs: num, sm: num, md: num, lg: num, xl: num, xxl: num };\n }\n if (!column) {\n return { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 };\n }\n const columnMap = {\n 1: { xs: 24, sm: 24, md: 24, lg: 24, xl: 24, xxl: 24 },\n 2: { xs: 24, sm: 12, md: 12, lg: 12, xl: 12, xxl: 12 },\n 3: { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 8 },\n 4: { xs: 24, sm: 12, md: 12, lg: 6, xl: 6, xxl: 6 },\n };\n return columnMap[column];\n }, [column, forceColumn]);\n\n const getFormRowChildren = () => {\n const childrenList = Children.toArray(children).filter((item: TAny) => {\n return !!item;\n });\n return childrenList\n .map((item: TAny, index) => {\n const domTypeName = item.type['domTypeName'];\n\n let span: number | undefined = undefined;\n if (\n domTypeName === 'FormItemText' ||\n domTypeName === 'FormItemSpan' ||\n domTypeName === 'FormItemWrapper' ||\n domTypeName === 'BoxGridCol' ||\n domTypeName === 'EasyForm'\n ) {\n span = item.props['span'] as number;\n if (span) {\n if (screenType === 'xs') {\n span = 24;\n } else if (screenType === 'sm') {\n span = span > 12 ? span : 12;\n }\n }\n }\n\n if (domTypeName === 'BoxGridCol' || domTypeName === 'FormItemSpan') {\n if (domTypeName === 'FormItemSpan' && item.props.hidden) {\n return null;\n }\n return cloneElement(item, {\n ...item.props,\n ...gridSize,\n span,\n key: index,\n });\n }\n const display = item.props?.style?.display;\n let removeWrapper = false;\n if (\n domTypeName === 'FormItemText' ||\n domTypeName === 'FormItemHidden' ||\n domTypeName === 'FormItemWrapper' ||\n domTypeName === 'FormItemWrapperDependencies' ||\n item.type === Form.Item ||\n display === 'none'\n ) {\n removeWrapper = true;\n }\n\n if (domTypeName === 'FormItemWrapper' || item.props.noStyle) {\n removeWrapper = false;\n }\n return (\n <BoxGrid.Col\n key={index}\n {...gridSize}\n span={span}\n removeWrapper={removeWrapper}\n >\n {item}\n </BoxGrid.Col>\n );\n })\n .filter(Boolean);\n };\n\n const innerStyle = useMemo(() => {\n /** 小屏幕不控制宽度 */\n if (['xs', 'sm'].includes(screenType) || !width) {\n return {};\n }\n return { width };\n }, [screenType, width]);\n\n const gutter = isUndefinedOrNull(gridGutter)\n ? ([15, 0] as GutterParams)\n : gridGutter;\n\n const labelAlignNew = useMemo(() => {\n if (['xs'].includes(screenType)) {\n return 'left';\n }\n return labelAlign;\n }, [labelAlign, screenType]);\n\n const fromLayoutClassName = useMemo(() => {\n return preDefinedClassName.getFormLayoutClassName({\n labelWidth,\n labelItemVertical,\n labelAlign: labelAlignNew,\n formItemGap,\n className: otherProps.className,\n });\n }, [\n labelWidth,\n labelItemVertical,\n labelAlignNew,\n formItemGap,\n otherProps.className,\n ]);\n\n if (form) {\n return (\n <div\n style={{ ...innerStyle, ...otherProps.style }}\n className={classNames(\n 'easy-form',\n { 'easy-form-pure': isPure },\n 'easy-form-nested',\n fromLayoutClassName\n )}\n >\n {isPure ? (\n children\n ) : (\n <BoxGrid.Row gutter={gutter}>{getFormRowChildren()}</BoxGrid.Row>\n )}\n </div>\n );\n }\n\n return (\n <FormWrapper\n {...otherProps}\n labelWidth={labelWidth}\n labelAlign={labelAlignNew}\n labelItemVertical={labelItemVertical}\n formItemGap={formItemGap}\n style={{ ...innerStyle, ...otherProps.style }}\n className={classNames(\n 'easy-form',\n { 'easy-form-pure': isPure },\n fromLayoutClassName\n )}\n autoComplete=\"off\"\n >\n {isPure ? (\n children\n ) : (\n <BoxGrid.Row gutter={gutter}>{getFormRowChildren()}</BoxGrid.Row>\n )}\n </FormWrapper>\n );\n};\n\nEasyForm['domTypeName'] = 'EasyForm';\n"],"names":["EasyForm","props","screenType","fbaHooks","useResponsivePoint","form","Form","useFormInstance","column","forceColumn","children","width","gridGutter","labelWidth","labelItemVertical","labelAlign","_props$formItemGap","formItemGap","isPure","otherProps","_objectWithoutProperties","_excluded","gridSize","useMemo","num","xs","sm","md","lg","xl","xxl","columnMap","getFormRowChildren","childrenList","Children","toArray","filter","item","map","index","_item$props","domTypeName","type","span","undefined","hidden","cloneElement","_objectSpread","key","display","style","removeWrapper","Item","noStyle","_jsx","BoxGrid","Col","Boolean","innerStyle","includes","gutter","isUndefinedOrNull","labelAlignNew","fromLayoutClassName","preDefinedClassName","getFormLayoutClassName","className","_classNames","Row","FormWrapper","autoComplete"],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -173,16 +173,16 @@ export { d as dialogModal } from './dialog-modal-xVzOgsQO.js';
|
|
|
173
173
|
export { d as dialogPreviewImage } from './preview-image-BCBOv4h_.js';
|
|
174
174
|
export { D as DragCollapse } from './drag-collapse-DhZ1V5P6.js';
|
|
175
175
|
export { D as DragCollapseFormList } from './drag-collapse-D2mbeDvD.js';
|
|
176
|
-
export { D as DragEditableCard } from './editable-card-
|
|
176
|
+
export { D as DragEditableCard } from './editable-card-DxpscGzG.js';
|
|
177
177
|
export { D as DragEditableTable } from './drag-C1A8pxWB.js';
|
|
178
178
|
export { D as DragEditableTablePro } from './drag-xBmmIPTD.js';
|
|
179
179
|
export { D as DragFormList } from './drag-form-list-BrIW06Ex.js';
|
|
180
180
|
export { D as DragTable } from './drag-table-B5s0LEwN.js';
|
|
181
181
|
export { D as DropdownMenuWrapper } from './dropdown-menu-wrapper-CfZMQb2W.js';
|
|
182
182
|
export { d as dynamicNode } from './dynamic-node-B_An5owN.js';
|
|
183
|
-
export { E as EasyForm } from './form-
|
|
183
|
+
export { E as EasyForm } from './form-ByFljQr9.js';
|
|
184
184
|
export { EasyTable } from './easy-table/index.js';
|
|
185
|
-
export { E as EditableCard } from './editable-card-
|
|
185
|
+
export { E as EditableCard } from './editable-card-DAI8HIMx.js';
|
|
186
186
|
export { E as EditableField } from './editable-field-BH6M_S9W.js';
|
|
187
187
|
export { E as EditableFieldProvider } from './editable-field-provider-DqKcZQYP.js';
|
|
188
188
|
export { E as EditableTable } from './editable-table-DbZx8fOM.js';
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"form-398WU_jI.js","sources":["@flatbiz/antd/src/easy-form/context/create-ctx.ts","@flatbiz/antd/src/easy-form/context/layout-ctx.ts","@flatbiz/antd/src/easy-form/form.tsx"],"sourcesContent":["import { createContext, useContext } from 'react';\n\n/**\n * A helper to create a Context and Provider with no upfront default value, and\n * without having to check for undefined all the time.\n */\nexport function createCtx<A>() {\n const ctx = createContext<A | undefined>(undefined);\n function useCtx() {\n const c = useContext(ctx);\n // if (c === undefined)\n // throw new Error('useCtx must be inside a Provider with a value');\n return c;\n }\n return [useCtx, ctx.Provider] as const; // 'as const' makes TypeScript infer a tuple\n}\n","import { createCtx } from './create-ctx.js';\n\nexport type AiPilotProviderProviderProps = {\n isNested: boolean;\n};\n\nexport const [useEasyForm, EasyFormProvider] =\n createCtx<AiPilotProviderProviderProps>();\n","import type { ReactNode } from 'react';\nimport { Children, cloneElement, useMemo } from 'react';\nimport { Form } from 'antd';\nimport { classNames } from '@dimjs/utils';\nimport type { TAny } from '@flatbiz/utils';\nimport { isUndefinedOrNull } from '@flatbiz/utils';\nimport { BoxGrid } from '../box-grid/index.js';\nimport type { BoxRowProps } from '../box-grid/row.jsx';\nimport type { GutterParams } from '../box-grid/type.js';\nimport { fbaHooks } from '../fba-hooks/index.js';\nimport type { FormWrapperProps } from '../form-wrapper/form-wrapper.jsx';\nimport { FormWrapper } from '../form-wrapper/form-wrapper.jsx';\nimport { preDefinedClassName } from '../pre-defined-class-name/index.js';\nimport { EasyFormProvider, useEasyForm } from './context/layout-ctx.js';\nimport './style.less';\n\nexport type EasyFormProps = Omit<FormWrapperProps, 'children'> & {\n /**\n * 定义一行显示几列(当外层宽度尺寸大于 992px(lg) 时,一行显示几列), 默认值:3\n * ```\n * 1. 当外层宽度尺寸小于992px(lg),为xs、sm、md情况下不受column值影响(column=1除外)\n * 2. 宽度尺寸定义\n * xs: 宽度 < 576px\n * sm: 宽度 ≥ 576px\n * md: 宽度 ≥ 768px\n * lg: 宽度 ≥ 992px\n * xl: 宽度 ≥ 1200px\n * xxl: 宽度 ≥ 1600px\n * 3. 列数尺寸定义\n * {\n * 1: { xs: 24, sm: 24, md: 24, lg: 24, xl: 24, xxl: 24 },\n * 2: { xs: 24, sm: 12, md: 12, lg: 12, xl: 12, xxl: 12 },\n * 3: { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 8 },\n * 4: { xs: 24, sm: 12, md: 12, lg: 6, xl: 6, xxl: 6 },\n * };\n * ```\n */\n column?: 1 | 2 | 3 | 4;\n /**\n * 强制定义一行显示几列,不考虑响应式\n * ```\n * 1. 优先级大于column\n * 2. 建议优先使用column配置\n * ```\n */\n forceColumn?: 1 | 2 | 3 | 4;\n /**\n * Form显示宽度,可数值、可百分比;在小屏幕尺寸(xs、sm)上无效\n */\n width?: number | string;\n /** 网格间距 */\n gridGutter?: BoxRowProps['gutter'];\n children: ReactNode;\n /**\n * 是否为纯净模式,对EasyForm的子节点不做任何包装处理\n */\n isPure?: boolean;\n /**\n * 栅格占位格数,最大值:24\n * ```\n * 1. 当前EasyForm处在 EasyForm 直接子节点中有效,即当前EasyForm在EasyForm栅格中的占位格数;\n * 2. 父节点使用属性值,当前节点不使用属性值\n * ```\n */\n span?: number;\n};\n\n/**\n * 简单Form布局,可自定义网格布局\n * ```\n * 1. demo:https://fex.qa.tcshuke.com/docs/admin/main/form/grid\n * 2. EasyForm的children列表会进行网格化布局\n * 3. 自定义栅格占位格数的4中方式\n * 3.1 设置FormItemWrapper、FormItemText组件span属性;\n * 3.2 使用 EasyFormItemSpan 包裹children item,设置span属性\n * 3.3 使用 <BoxGrid.Col span={24} ></BoxGrid.Col> 包裹,设置响应式属性\n * 3.4 设置 EasyForm isPure = true设置纯净模式,对EasyForm的子节点不做任何包装处理\n * 4. EasyForm可嵌套使用,嵌套内部的<EasyForm />节点Form相关属性失效,例如属性form、initialValues等都失效\n * <EasyForm form={form}>\n * ....\n * <EasyForm>...</EasyForm>\n * ....\n * <EasyForm>...</EasyForm>\n * ....\n * </EasyForm>\n * 5. 布局网格以当前组件的宽度来计算的,不是屏幕宽度\n * 6. EasyForm 子节点包含 hidden = true 会被忽略\n * 7. 通过 column 可定义一行显示几列FormItem\n * 8. 通过 labelItemVertical 可定义 formitem 竖直布局\n * 9. 通过 formItemGap 可定义 formItem竖直方向间隙\n * 10. 通过 forceColumn 可强制定义一行显示几列,不考虑响应式\n * 11. 通过 labelWidth 可控制Form内部所有label的宽度(可实现整齐效果)\n * 12. 自定义栅格占位格数,见下方`例如`\n\n * 例如\n * <EasyForm column={3}>\n *\t <FormItemWrapper name=\"field1\" label=\"条件1\">\n *\t <Input placeholder=\"请输入\" allowClear={true} />\n *\t </FormItemWrapper>\n *\t <!-- !!自定义栅格占位格数第一种方式:可通过使用 BoxGrid.Col 包裹元素来自定义网格占比 -->\n *\t <BoxGrid.Col span={24}>\n *\t <FormItemWrapper name=\"field5\" label=\"条件5\">\n *\t \t<Input placeholder=\"请输入\" allowClear={true} />\n *\t </FormItemWrapper>\n *\t </BoxGrid.Col>\n *\t <!-- !!自定义栅格占位格数第二种方式:如果为FormItemWrapper组件,可设置span属性 -->\n *\t <FormItemWrapper name=\"field6\" label=\"条件6\" span={24}>\n *\t <Input placeholder=\"请输入\" allowClear={true} />\n *\t </FormItemWrapper>\n *\t <FormItemWrapper noStyle span={24}>\n *\t <Button>按钮</Buttone>\n *\t </FormItemWrapper>\n * </EasyForm>\n * ```\n */\n\nexport const EasyForm = (props: EasyFormProps) => {\n const screenType = fbaHooks.useResponsivePoint() || '';\n const easyFormApi = useEasyForm();\n\n const {\n column,\n forceColumn,\n children,\n width,\n gridGutter,\n labelWidth,\n labelItemVertical,\n labelAlign,\n formItemGap = '15',\n isPure,\n ...otherProps\n } = props;\n const gridSize = useMemo(() => {\n if (forceColumn) {\n const num = 24 / forceColumn;\n return { xs: num, sm: num, md: num, lg: num, xl: num, xxl: num };\n }\n if (!column) {\n return { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 };\n }\n const columnMap = {\n 1: { xs: 24, sm: 24, md: 24, lg: 24, xl: 24, xxl: 24 },\n 2: { xs: 24, sm: 12, md: 12, lg: 12, xl: 12, xxl: 12 },\n 3: { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 8 },\n 4: { xs: 24, sm: 12, md: 12, lg: 6, xl: 6, xxl: 6 },\n };\n return columnMap[column];\n }, [column, forceColumn]);\n\n const getFormRowChildren = () => {\n const childrenList = Children.toArray(children).filter((item: TAny) => {\n return !!item;\n });\n return childrenList\n .map((item: TAny, index) => {\n const domTypeName = item.type['domTypeName'];\n\n let span: number | undefined = undefined;\n if (\n domTypeName === 'FormItemText' ||\n domTypeName === 'FormItemSpan' ||\n domTypeName === 'FormItemWrapper' ||\n domTypeName === 'BoxGridCol' ||\n domTypeName === 'EasyForm'\n ) {\n span = item.props['span'] as number;\n if (span) {\n if (screenType === 'xs') {\n span = 24;\n } else if (screenType === 'sm') {\n span = span > 12 ? span : 12;\n }\n }\n }\n\n if (domTypeName === 'BoxGridCol' || domTypeName === 'FormItemSpan') {\n if (domTypeName === 'FormItemSpan' && item.props.hidden) {\n return null;\n }\n return cloneElement(item, {\n ...item.props,\n ...gridSize,\n span,\n key: index,\n });\n }\n const display = item.props?.style?.display;\n let removeWrapper = false;\n if (\n domTypeName === 'FormItemText' ||\n domTypeName === 'FormItemHidden' ||\n domTypeName === 'FormItemWrapper' ||\n domTypeName === 'FormItemWrapperDependencies' ||\n item.type === Form.Item ||\n display === 'none'\n ) {\n removeWrapper = true;\n }\n\n if (domTypeName === 'FormItemWrapper' || item.props.noStyle) {\n removeWrapper = false;\n }\n return (\n <BoxGrid.Col\n key={index}\n {...gridSize}\n span={span}\n removeWrapper={removeWrapper}\n >\n {item}\n </BoxGrid.Col>\n );\n })\n .filter(Boolean);\n };\n\n const innerStyle = useMemo(() => {\n /** 小屏幕不控制宽度 */\n if (['xs', 'sm'].includes(screenType) || !width) {\n return {};\n }\n return { width };\n }, [screenType, width]);\n\n const gutter = isUndefinedOrNull(gridGutter)\n ? ([15, 0] as GutterParams)\n : gridGutter;\n\n const labelAlignNew = useMemo(() => {\n if (['xs'].includes(screenType)) {\n return 'left';\n }\n return labelAlign;\n }, [labelAlign, screenType]);\n\n const fromLayoutClassName = useMemo(() => {\n return preDefinedClassName.getFormLayoutClassName({\n labelWidth,\n labelItemVertical,\n labelAlign: labelAlignNew,\n formItemGap,\n className: otherProps.className,\n });\n }, [\n labelWidth,\n labelItemVertical,\n labelAlignNew,\n formItemGap,\n otherProps.className,\n ]);\n\n return (\n <EasyFormProvider value={{ isNested: true }}>\n {easyFormApi?.isNested ? (\n <div\n style={{ ...innerStyle, ...otherProps.style }}\n className={classNames(\n 'easy-form',\n { 'easy-form-pure': isPure },\n 'easy-form-nested',\n fromLayoutClassName\n )}\n >\n {isPure ? (\n children\n ) : (\n <BoxGrid.Row gutter={gutter}>{getFormRowChildren()}</BoxGrid.Row>\n )}\n </div>\n ) : (\n <FormWrapper\n {...otherProps}\n labelWidth={labelWidth}\n labelAlign={labelAlignNew}\n labelItemVertical={labelItemVertical}\n formItemGap={formItemGap}\n style={{ ...innerStyle, ...otherProps.style }}\n className={classNames(\n 'easy-form',\n { 'easy-form-pure': isPure },\n fromLayoutClassName\n )}\n autoComplete=\"off\"\n >\n {isPure ? (\n children\n ) : (\n <BoxGrid.Row gutter={gutter}>{getFormRowChildren()}</BoxGrid.Row>\n )}\n </FormWrapper>\n )}\n </EasyFormProvider>\n );\n};\n\nEasyForm['domTypeName'] = 'EasyForm';\n"],"names":["createCtx","ctx","createContext","undefined","useCtx","c","useContext","Provider","_createCtx","_createCtx2","_slicedToArray","useEasyForm","EasyFormProvider","EasyForm","props","screenType","fbaHooks","useResponsivePoint","easyFormApi","column","forceColumn","children","width","gridGutter","labelWidth","labelItemVertical","labelAlign","_props$formItemGap","formItemGap","isPure","otherProps","_objectWithoutProperties","_excluded","gridSize","useMemo","num","xs","sm","md","lg","xl","xxl","columnMap","getFormRowChildren","childrenList","Children","toArray","filter","item","map","index","_item$props","domTypeName","type","span","hidden","cloneElement","_objectSpread","key","display","style","removeWrapper","Form","Item","noStyle","_jsx","BoxGrid","Col","Boolean","innerStyle","includes","gutter","isUndefinedOrNull","labelAlignNew","fromLayoutClassName","preDefinedClassName","getFormLayoutClassName","className","value","isNested","_classNames","Row","FormWrapper","autoComplete"],"mappings":"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"}
|