@flatbiz/antd 5.0.5 → 5.0.6
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-BOT05TxF.js → drag-CBosXqSQ.js} +2 -2
- package/dist/{drag-BOT05TxF.js.map → drag-CBosXqSQ.js.map} +1 -1
- package/dist/drag-editable-card/index.d.ts +2 -0
- package/dist/drag-editable-card/index.js +3 -3
- package/dist/drag-editable-table-pro/index.d.ts +2 -0
- package/dist/drag-editable-table-pro/index.js +2 -2
- package/dist/easy-form/index.js +1 -1
- package/dist/easy-table/index.js +1 -1
- package/dist/editable-card/index.d.ts +2 -0
- package/dist/editable-card/index.js +2 -2
- package/dist/{editable-card-Of7zVIb7.js → editable-card-DzY1frTO.js} +2 -2
- package/dist/{editable-card-Of7zVIb7.js.map → editable-card-DzY1frTO.js.map} +1 -1
- package/dist/{editable-card-BnQPaIKV.js → editable-card-Od2SiaIS.js} +3 -2
- package/dist/editable-card-Od2SiaIS.js.map +1 -0
- package/dist/editable-table-pro/index.d.ts +2 -0
- package/dist/editable-table-pro/index.js +1 -1
- package/dist/{editable-table-pro-B40tH9it.js → editable-table-pro-D8Vt535W.js} +2 -1
- package/dist/editable-table-pro-D8Vt535W.js.map +1 -0
- package/dist/{form-N0iC7D0E.js → form-DlOnlnEr.js} +5 -4
- package/dist/form-DlOnlnEr.js.map +1 -0
- package/dist/index.d.ts +211 -125
- package/dist/index.js +9 -5
- package/dist/index.js.map +1 -1
- package/dist/select-modal-Dt4YHH8a.js +370 -0
- package/dist/select-modal-Dt4YHH8a.js.map +1 -0
- package/dist/selector-HbymPXNd.js +89 -0
- package/dist/selector-HbymPXNd.js.map +1 -0
- package/dist/tree-modal/index.css +0 -0
- package/dist/tree-modal/index.d.ts +415 -0
- package/dist/tree-modal/index.js +73 -0
- package/dist/tree-modal/index.js.map +1 -0
- package/dist/tree-modal-selector/index.css +0 -0
- package/dist/tree-modal-selector/index.d.ts +426 -0
- package/dist/tree-modal-selector/index.js +75 -0
- package/dist/tree-modal-selector/index.js.map +1 -0
- package/dist/tree-wrapper/index.d.ts +15 -1
- package/dist/tree-wrapper/index.js +188 -77
- package/dist/tree-wrapper/index.js.map +1 -1
- package/package.json +11 -3
- package/dist/editable-card-BnQPaIKV.js.map +0 -1
- package/dist/editable-table-pro-B40tH9it.js.map +0 -1
- package/dist/form-N0iC7D0E.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"editable-table-pro-B40tH9it.js","sources":["@flatbiz/antd/src/editable-table-pro/editable-table-pro.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport { isValidElement, useMemo, useRef, useState } from 'react';\nimport {\n Form,\n type FormListOperation,\n message,\n Space,\n Table,\n type TableProps,\n} from 'antd';\nimport type { FormListProps } from 'antd/es/form';\nimport type { ColumnsType } from 'antd/es/table';\nimport { CloseCircleFilled, PlusOutlined } from '@ant-design/icons';\nimport { isArray } from '@dimjs/lang';\nimport { cloneState } from '@dimjs/model';\nimport { classNames } from '@dimjs/utils';\nimport type { TAny, TPlainObject } from '@flatbiz/utils';\nimport { arrayReorder, isUndefinedOrNull, toArray } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { ButtonWrapper } from '../button-wrapper/button-wrapper.jsx';\nimport { fbaHooks } from '../fba-hooks/index.js';\nimport { fbaUtils } from '../fba-utils/fba-utils.js';\nimport { FormItemWrapper } from '../form-item-wrapper/form-item-wrapper.jsx';\nimport { TextSymbolWrapper } from '../text-symbol-wrapper/symbol.jsx';\nimport { TipsWrapper } from '../tips-wrapper/tips-wrapper.jsx';\nimport type {\n EditableTableProColumnItem,\n EditableTableProDataIndex,\n EditableTableProOperation,\n} from './type.js';\nimport './style.less';\n\ntype dataSourceRelativeItem = {\n level: number;\n parentUid?: string | number;\n index: number;\n};\n\nexport type EditableTableProProps = {\n columns: EditableTableProColumnItem[];\n /**\n * 当前Edittable处在formList内部时(必填),完整formItem的name\n * ```\n * 例如 处在formList内部\n * 1. formListName=[0,dataList]\n * 2. formListCompleteName=[xxxList, 0, dataList]\n * ```\n */\n formListCompleteName?: Array<string | number>;\n /** Form.List name */\n formListName: Array<string | number> | string;\n /** 唯一值字段Key */\n uidFieldKey: string;\n /** 指定树形结构的列名,默认值:children */\n childrenColumnName?: string;\n /** 表格组件配置 */\n tableProps?: Omit<\n TableProps<TPlainObject>,\n 'dataSource' | 'columns' | 'rowKey'\n > & {\n // 如果重写了columns.onCell,则此配置失效\n cellVerticalAlign?: 'baseline' | 'middle' | 'top' | 'bottom';\n };\n /**\n * Form.List rules\n * ```\n rules={[\n {\n validator: async (_, names) => {\n if (!names || names.length < 2) {\n return Promise.reject(new Error('At least 2 passengers'));\n }\n },\n },\n ]}\n * ```\n */\n rules?: FormListProps['rules'];\n className?: string;\n style?: React.CSSProperties;\n\n /**`默认新增按钮`新增行默认值,hiddenFooterBtn != true 有效 */\n addRowDefaultValues?: () => TPlainObject;\n /** 隐藏底部`新增`按钮 */\n hiddenFooterBtn?: boolean;\n /** 表格顶部区域渲染 */\n tableBeforeAreaRender?: (\n formListOperation: FormListOperation,\n nextRowIndex: number\n ) => ReactElement | null;\n /** 表格底部区域渲染 */\n tableAfterAreaRender?: (\n formListOperation: FormListOperation,\n nextRowIndex: number\n ) => ReactElement | null;\n /** 展开的行key,一般用于初始化,重新tableProps.expandable.expandedRowKeys后失效 */\n expandedRowKeys?: string[];\n /**\n * 展开图标布局,默认:layout1\n * ```\n * 1. 可编辑表格第一项为可编辑状态时,选 layout1\n * 2. 可编辑表格第一项为非可编辑状态时,选 layout2\n * ```\n */\n expandedIconLayout?: 'layout1' | 'layout2';\n};\n\n/**\n * 使用FormList实现可编辑表格\n * ```\n * 1. 必须在外部包裹Form组件\n * 2. 表格数据源数组中必须存在唯一值字段,通过uidFieldKey配置\n * 3. 可嵌套编辑,数据嵌套的节点名称可通过 childrenColumnName设置,默认:children\n * 4. 行内需要联动逻辑可使用 column.render.operation.setCurrentRowTargetField 方法\n * 5. 在多级编辑中,可通过 column.render.operation.level 判断当前行数据层级\n * 6. 不存在多级的情况下,可使用DragEditableTablePro组件实现拖拽排序\n * 7. 存在多级的情况下,可通过 column.render.operation.move 方法实现同一级内移动\n *\n * demo\n * https://fex.qa.tcshuke.com/docs/admin/main/table/row-editable1\n * https://fex.qa.tcshuke.com/docs/admin/main/table/row-editable2\n * https://fex.qa.tcshuke.com/docs/admin/main/table/row-editable4\n * ```\n */\nexport const EditableTablePro = (props: EditableTableProProps) => {\n const form = Form.useFormInstance();\n const [expandedRowKeys, setExpandedRowKeys] = useState<string[]>([]);\n const formListName = toArray<string | number>(props.formListName);\n const dataSourceUidMap = useRef<Record<string, TPlainObject>>({});\n const dataSourceUidMapFt = useRef<\n Record<string | number, dataSourceRelativeItem>\n >({});\n const formListOperationRef = useRef<FormListOperation>();\n const uidFieldKey = props.uidFieldKey;\n const childrenColumnName = props.childrenColumnName || 'children';\n const expandedIconLayout = props.expandedIconLayout || 'layout1';\n\n const formListCompleteName = props.formListCompleteName || formListName;\n\n const dataSource = Form.useWatch(formListCompleteName, form);\n\n const [showEmptyText, setShowEmptyText] = useState<string | undefined>();\n\n const dataSourceFt = useMemo(() => {\n if (!dataSource) return [];\n let queryUidErrorFlag = false;\n function deep(\n itemList: TPlainObject[],\n level: number,\n parentUid?: string | number\n ) {\n for (let index = 0; index < itemList.length; index++) {\n const item = itemList[index];\n if (!item[uidFieldKey]) {\n console.error(item, '数据中未查询到唯一值');\n queryUidErrorFlag = true;\n return;\n } else {\n dataSourceUidMapFt.current[item[uidFieldKey]] = {\n level,\n parentUid,\n index,\n };\n dataSourceUidMap.current[item[uidFieldKey]] = item;\n deep(item[childrenColumnName] || [], level + 1, item[uidFieldKey]);\n }\n }\n }\n\n dataSourceUidMapFt.current = {};\n dataSourceUidMap.current = {};\n deep(isArray(dataSource) ? dataSource : [], 1);\n if (queryUidErrorFlag) {\n const txt = `数据源中存在唯一值【${uidFieldKey}】为空的情况,无法渲染表格`;\n void message.error(txt);\n setShowEmptyText(txt);\n return [];\n }\n return dataSource;\n }, [childrenColumnName, dataSource, uidFieldKey]);\n\n fbaHooks.useEffectCustom(() => {\n setExpandedRowKeys(props.expandedRowKeys || []);\n }, [JSON.stringify(props.expandedRowKeys || [])]);\n\n const getFormItemName = hooks.useCallbackRef((record: TPlainObject) => {\n const uid = record[uidFieldKey];\n let target: dataSourceRelativeItem | undefined =\n dataSourceUidMapFt.current[uid];\n\n const indexes: number[] = [];\n while (target) {\n indexes.push(target.index);\n if (target.level === 1) {\n break;\n }\n target = target.parentUid\n ? dataSourceUidMapFt.current[target.parentUid]\n : undefined;\n }\n const arr: Array<string | number> = [];\n indexes.reverse().forEach((item, index) => {\n arr.push(item);\n if (index < indexes.length - 1) {\n arr.push(childrenColumnName);\n }\n });\n return arr;\n });\n\n const addItem = hooks.useCallbackRef(\n (uid: string, defaultValue: TPlainObject, insertIndex?: number) => {\n const target = dataSourceUidMap.current[uid];\n\n if (target) {\n if (target.level === 1) {\n /** 通过 formListOperation.add 可以使得 Form.List的 rules 生效 */\n formListOperationRef.current?.add(defaultValue, insertIndex);\n return;\n }\n target[childrenColumnName] = target[childrenColumnName] || [];\n if (insertIndex == undefined) {\n target[childrenColumnName].push(defaultValue);\n } else {\n target[childrenColumnName].splice(insertIndex, 0, defaultValue);\n }\n const expandedRowKeysSet = new Set(expandedRowKeys);\n expandedRowKeysSet.add(target[uidFieldKey]);\n setExpandedRowKeys([...Array.from(expandedRowKeysSet)]);\n fbaUtils.setFormFieldsAndTriggerValuesChange(form, [\n {\n name: formListCompleteName,\n value: [...dataSource],\n },\n ]);\n }\n }\n );\n\n const deleteItem = hooks.useCallbackRef(\n (uid: string | number, index: number) => {\n const target = dataSourceUidMapFt.current[uid];\n if (target.level === 1) {\n /** 通过 formListOperation.remove 可以使得 Form.List的 rules 生效 */\n formListOperationRef.current?.remove(index);\n return;\n }\n const parentUid = target.parentUid;\n if (!parentUid) {\n dataSource.splice(index, 1);\n } else {\n const parentTarget = dataSourceUidMap.current[parentUid];\n parentTarget[childrenColumnName].splice(index, 1);\n if (parentTarget[childrenColumnName].length === 0) {\n delete parentTarget[childrenColumnName];\n }\n }\n fbaUtils.setFormFieldsAndTriggerValuesChange(form, [\n {\n name: formListCompleteName,\n value: cloneState(dataSource),\n },\n ]);\n }\n );\n\n const moveItem = hooks.useCallbackRef(\n (uid: string | number, fromIndex: number, toIndex: number) => {\n if (fromIndex === toIndex || toIndex < 0) return;\n const target = dataSourceUidMapFt.current[uid];\n const parentUid = target.parentUid;\n if (!parentUid) {\n const result = arrayReorder(dataSource, fromIndex, toIndex);\n fbaUtils.setFormFieldsAndTriggerValuesChange(form, [\n {\n name: formListCompleteName,\n value: result,\n },\n ]);\n } else {\n const parentTarget = dataSourceUidMap.current[parentUid];\n parentTarget[childrenColumnName] = arrayReorder(\n parentTarget[childrenColumnName],\n fromIndex,\n toIndex\n );\n\n fbaUtils.setFormFieldsAndTriggerValuesChange(form, [\n {\n name: formListCompleteName,\n value: [...dataSource],\n },\n ]);\n }\n }\n );\n\n const setCurrentRowTargetField = hooks.useCallbackRef(\n (\n formItemPrevName: Array<string | number>,\n dataIndexConfigs: {\n name: EditableTableProDataIndex;\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 }\n );\n\n const setCurrentRowChildrenValue = hooks.useCallbackRef(\n (formItemPrevName: Array<string | number>, value?: TPlainObject[]) => {\n setCurrentRowTargetField(formItemPrevName, [\n { name: childrenColumnName, value },\n ]);\n }\n );\n\n const validateRowFields = hooks.useCallbackRef(\n async (\n formItemPrevName: Array<string | number>,\n nameList: EditableTableProDataIndex[]\n ) => {\n await form.validateFields(\n nameList.map((item) => [\n ...formItemPrevName,\n ...toArray<string | number>(item),\n ])\n );\n }\n );\n\n const columns = useMemo(() => {\n return props.columns.map((column) => {\n const title = column.title;\n const support = isValidElement(title) || typeof title === 'string';\n let titleRender: ReactElement | string | undefined = title;\n if (column.tipsWrapperProps && support) {\n if (typeof column.tipsWrapperProps === 'string') {\n titleRender = (\n <TipsWrapper\n tipType=\"popover\"\n popoverProps={{ content: column.tipsWrapperProps }}\n >\n {title}\n </TipsWrapper>\n );\n } else {\n titleRender = (\n <TipsWrapper {...column.tipsWrapperProps}>{title}</TipsWrapper>\n );\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 return {\n onCell: () => {\n return {\n valign: props.tableProps?.cellVerticalAlign || 'middle',\n };\n },\n ...column,\n title: required ? (\n <TextSymbolWrapper\n style={{ marginLeft: column.align === 'center' ? undefined : 10 }}\n text={titleRender}\n position=\"before\"\n symbolType=\"required\"\n />\n ) : (\n titleRender\n ),\n render: (value, record, index) => {\n if (isUndefinedOrNull(column.render)) {\n return value;\n }\n const uid = record[uidFieldKey];\n const dataIndex = toArray<string>(column['dataIndex']);\n const formItemPrevName = getFormItemName(record);\n const dataSourceTarget = dataSourceUidMapFt.current[uid];\n\n const editable =\n typeof column?.editable === 'function'\n ? column?.editable(record, index)\n : column?.editable;\n const tableRowFormItemCompleteName = [\n ...formListCompleteName,\n ...formItemPrevName,\n ];\n\n const renderOperationProps: EditableTableProOperation = {\n editable,\n add: addItem.bind(null, uid),\n remove: deleteItem.bind(null, uid),\n move: moveItem.bind(null, uid),\n level: dataSourceTarget.level,\n parentItem: dataSourceTarget.parentUid\n ? dataSourceUidMapFt.current[dataSourceTarget.parentUid]\n : null,\n tableRowFormItemName: formItemPrevName,\n tableRowFormItemCompleteName,\n setCurrentRowTargetField: setCurrentRowTargetField.bind(\n null,\n formItemPrevName\n ),\n setCurrentRowChildrenValue: setCurrentRowChildrenValue.bind(\n null,\n formItemPrevName\n ),\n validateRowFields: validateRowFields.bind(\n null,\n tableRowFormItemCompleteName\n ),\n };\n if (editable === true) {\n let formItemProps =\n typeof column.formItemProps === 'function'\n ? column.formItemProps(\n value,\n record,\n index,\n renderOperationProps\n )\n : column.formItemProps;\n\n if (!formItemProps?.rules?.length && required) {\n formItemProps = {\n ...formItemProps,\n rules: [{ required: true, message: '' }],\n };\n }\n\n return (\n <FormItemWrapper\n {...formItemProps}\n name={[...formItemPrevName, ...dataIndex]}\n style={{ marginBottom: 0, ...formItemProps?.style }}\n >\n {\n column.render?.(\n value,\n record,\n index,\n renderOperationProps\n ) as React.ReactNode\n }\n </FormItemWrapper>\n );\n }\n return column.render?.(value, record, index, renderOperationProps);\n },\n };\n }) as ColumnsType<TPlainObject>;\n }, [\n props.columns,\n props.tableProps?.cellVerticalAlign,\n uidFieldKey,\n getFormItemName,\n formListCompleteName,\n addItem,\n deleteItem,\n moveItem,\n setCurrentRowTargetField,\n setCurrentRowChildrenValue,\n validateRowFields,\n ]);\n\n const className = classNames(\n 'editable-table-pro',\n { 'editable-table-pro-layout1': expandedIconLayout === 'layout1' },\n props.className\n );\n\n return (\n <div className={className} style={props.style}>\n <Form.List name={formListName} rules={props.rules}>\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.tableBeforeAreaRender?.(formListOperation, fields.length)}\n <Table\n scroll={{ x: 'max-content' }}\n pagination={false}\n size=\"small\"\n {...props.tableProps}\n locale={{\n emptyText: showEmptyText ? (\n <Space size={5} style={{ color: '#ff4d4f' }}>\n <CloseCircleFilled />\n <span>{showEmptyText}</span>\n </Space>\n ) : undefined,\n }}\n expandable={{\n expandedRowKeys: expandedRowKeys,\n onExpandedRowsChange: (expandedRowKeys) => {\n setExpandedRowKeys(expandedRowKeys as string[]);\n },\n ...props.tableProps?.expandable,\n childrenColumnName: childrenColumnName,\n }}\n columns={columns}\n dataSource={dataSourceFt}\n rowKey={uidFieldKey}\n />\n <ButtonWrapper\n block\n hidden={props.hiddenFooterBtn}\n type=\"dashed\"\n icon={<PlusOutlined />}\n style={{ marginTop: 15 }}\n onClick={() => {\n const defaultValues = props.addRowDefaultValues?.();\n if (!defaultValues?.[uidFieldKey]) {\n void message.error(\n `新增行默认值必须包含唯一值字段【${uidFieldKey}】,通过 addRowDefaultValues 设置`\n );\n return;\n }\n formListOperation.add(defaultValues);\n }}\n >\n 新增\n </ButtonWrapper>\n {props.tableAfterAreaRender?.(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":["EditableTablePro","props","_props$tableProps2","form","Form","useFormInstance","_useState","useState","_useState2","_slicedToArray","expandedRowKeys","setExpandedRowKeys","formListName","toArray","dataSourceUidMap","useRef","dataSourceUidMapFt","formListOperationRef","uidFieldKey","childrenColumnName","expandedIconLayout","formListCompleteName","dataSource","useWatch","_useState3","_useState4","showEmptyText","setShowEmptyText","dataSourceFt","useMemo","queryUidErrorFlag","deep","itemList","level","parentUid","index","length","item","console","error","current","_isArray","txt","concat","message","fbaHooks","useEffectCustom","JSON","stringify","getFormItemName","_hooks","useCallbackRef","record","uid","target","indexes","push","undefined","arr","reverse","forEach","addItem","defaultValue","insertIndex","_formListOperationRef","add","splice","expandedRowKeysSet","Set","_toConsumableArray","Array","from","fbaUtils","setFormFieldsAndTriggerValuesChange","name","value","deleteItem","_formListOperationRef2","remove","parentTarget","cloneState","moveItem","fromIndex","toIndex","result","arrayReorder","setCurrentRowTargetField","formItemPrevName","dataIndexConfigs","map","setCurrentRowChildrenValue","validateRowFields","nameList","Promise","$return","$error","resolve","validateFields","then","$await_1","$boundEx","columns","column","_column$formItemProps","title","support","isValidElement","titleRender","tipsWrapperProps","_jsx","TipsWrapper","tipType","popoverProps","content","children","_objectSpread","required","formItemProps","rules","find","onCell","_props$tableProps","valign","tableProps","cellVerticalAlign","TextSymbolWrapper","style","marginLeft","align","text","position","symbolType","render","_column$render2","isUndefinedOrNull","dataIndex","dataSourceTarget","editable","tableRowFormItemCompleteName","renderOperationProps","bind","move","parentItem","tableRowFormItemName","_formItemProps","_formItemProps2","_column$render","FormItemWrapper","marginBottom","call","className","_classNames","List","fields","formListOperation","_ref","_props$tableBeforeAre","_props$tableProps3","_props$tableAfterArea","errors","_jsxs","borderRadius","border","tableBeforeAreaRender","Table","scroll","x","pagination","size","locale","emptyText","Space","color","_CloseCircleFilled","expandable","onExpandedRowsChange","rowKey","ButtonWrapper","block","hidden","hiddenFooterBtn","type","icon","_PlusOutlined","marginTop","onClick","_props$addRowDefaultV","defaultValues","addRowDefaultValues","tableAfterAreaRender","ErrorList","padding"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"form-N0iC7D0E.js","sources":["@flatbiz/antd/src/easy-form/form.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { Children, cloneElement, Fragment, useMemo, useRef } from 'react';\nimport { classNames } from '@dimjs/utils';\nimport type { TAny } from '@flatbiz/utils';\nimport { dom, 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 * true: 当前EasyForm组件不使用Antd Form包裹,可在Form、EasyForm、FormWrapper内部使用\n */\n nonuseFormWrapper?: boolean;\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 */\nexport const EasyForm = (props: EasyFormProps) => {\n const screenType = fbaHooks.useResponsivePoint() || '';\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 nonuseFormWrapper,\n ...otherProps\n } = props;\n\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 getHiddenRowChildren = () => {\n return Children.toArray(children).filter((item: TAny) => {\n return (\n item.props['hidden'] || item.type['domTypeName'] == 'FormItemHidden'\n );\n });\n };\n\n const getFormRowChildren = () => {\n return Children.toArray(children)\n .filter((item: TAny) => {\n return (\n !item.props['hidden'] && item.type['domTypeName'] != 'FormItemHidden'\n );\n })\n .map((item: TAny, index) => {\n if (item.type['domTypeName'] === 'BoxGridCol') {\n return <Fragment key={index}>{item}</Fragment>;\n }\n let span: number | undefined = undefined;\n if (\n item.type['domTypeName'] === 'FormItemWrapper' ||\n item.type['domTypeName'] === 'FormItemText' ||\n item.type['domTypeName'] === 'FormItemSpan'\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 if (item.type['domTypeName'] === 'FormItemSpan') {\n return cloneElement(item, {\n ...item.props,\n ...gridSize,\n span,\n key: index,\n });\n }\n return (\n <BoxGrid.Col key={index} {...gridSize} span={span}>\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 const anchorRef = useRef<HTMLDivElement>(null);\n\n // 是否嵌套内部EasyForm节点\n const getIsNestedEasyForm = () => {\n try {\n if (nonuseFormWrapper) {\n return true;\n }\n if (anchorRef.current) {\n const target = dom.findParentsElement(anchorRef.current, (node) => {\n return node.classList?.contains?.('easy-form');\n });\n return target ? true : false;\n }\n return undefined;\n } catch (error) {\n console.log('error', error);\n return false;\n }\n };\n\n const isNestedEasyForm = getIsNestedEasyForm();\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 <Fragment>\n <div className=\"easy-form-anchor\" ref={anchorRef}></div>\n {isNestedEasyForm === true ? (\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 <Fragment>\n {getHiddenRowChildren()}\n <BoxGrid.Row gutter={gutter}>{getFormRowChildren()}</BoxGrid.Row>\n </Fragment>\n )}\n </div>\n ) : undefined}\n {isNestedEasyForm === false ? (\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 <Fragment>\n {getHiddenRowChildren()}\n <BoxGrid.Row gutter={gutter}>{getFormRowChildren()}</BoxGrid.Row>\n </Fragment>\n )}\n </FormWrapper>\n ) : undefined}\n </Fragment>\n );\n};\n"],"names":["EasyForm","props","screenType","fbaHooks","useResponsivePoint","column","forceColumn","children","width","gridGutter","labelWidth","labelItemVertical","labelAlign","_props$formItemGap","formItemGap","isPure","nonuseFormWrapper","otherProps","_objectWithoutProperties","_excluded","gridSize","useMemo","num","xs","sm","md","lg","xl","xxl","columnMap","getHiddenRowChildren","Children","toArray","filter","item","type","getFormRowChildren","map","index","_jsx","Fragment","span","undefined","cloneElement","_objectSpread","key","BoxGrid","Col","Boolean","innerStyle","includes","gutter","isUndefinedOrNull","anchorRef","useRef","getIsNestedEasyForm","current","target","dom","findParentsElement","node","_node$classList","_node$classList$conta","classList","contains","call","error","console","log","isNestedEasyForm","labelAlignNew","fromLayoutClassName","preDefinedClassName","getFormLayoutClassName","className","_jsxs","ref","style","_classNames","Row","FormWrapper","autoComplete"],"mappings":"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"}
|