@flatbiz/antd 4.4.6 → 4.4.8
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/esm/button-operate/index.js +1 -1
- package/esm/button-operate/index.js.map +1 -1
- package/esm/button-wrapper/index.js.map +1 -1
- package/esm/card-layout/index.js.map +1 -1
- package/esm/date-range-picker-wrapper-form-item/index.js +1 -1
- package/esm/date-range-picker-wrapper-form-item/index.js.map +1 -1
- package/esm/dialog-alert/index.js +1 -1
- package/esm/dialog-alert/index.js.map +1 -1
- package/esm/dialog-confirm/index.js +1 -1
- package/esm/dialog-confirm/index.js.map +1 -1
- package/esm/dialog-modal/index.js +1 -1
- package/esm/dialog-modal/index.js.map +1 -1
- package/esm/drag-editable-table/index.js +1 -1
- package/esm/drag-editable-table/index.js.map +1 -1
- package/esm/dropdown-menu-wrapper/index.js +1 -1
- package/esm/dropdown-menu-wrapper/index.js.map +1 -1
- package/esm/easy-form/index.css +1 -0
- package/esm/easy-form/index.js +7 -0
- package/esm/easy-form/index.js.map +1 -0
- package/esm/easy-table/index.js.map +1 -1
- package/esm/editable-table/index.js +1 -1
- package/esm/editable-table/index.js.map +1 -1
- package/esm/form-item-wrapper/index.js +1 -1
- package/esm/form-item-wrapper/index.js.map +1 -1
- package/esm/form-wrapper/index.css +0 -0
- package/esm/form-wrapper/index.js +5 -0
- package/esm/form-wrapper/index.js.map +1 -0
- package/esm/index.js +4 -2
- package/esm/search-form/index.js +2 -1
- package/esm/search-form/index.js.map +1 -1
- package/esm/table-cell-render/index.js +1 -1
- package/esm/table-cell-render/index.js.map +1 -1
- package/esm/tree-wrapper/index.js +1 -1
- package/esm/tree-wrapper/index.js.map +1 -1
- package/index.d.ts +117 -23
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/editable-table/utils.ts","@flatbiz/antd/src/editable-table/form-item/checkbox-group.tsx","@flatbiz/antd/src/editable-table/form-item/date-picker-wrapper.tsx","@flatbiz/antd/src/editable-table/form-item/date-range-picker-wrapper.tsx","@flatbiz/antd/src/editable-table/form-item/input.tsx","@flatbiz/antd/src/editable-table/form-item/input-number.tsx","@flatbiz/antd/src/editable-table/form-item/radio-group.tsx","@flatbiz/antd/src/editable-table/form-item/selector-wrapper.tsx","@flatbiz/antd/src/editable-table/form-item/switch-wrapper.tsx","@flatbiz/antd/src/editable-table/form-item/text.tsx","@flatbiz/antd/src/editable-table/form-item/textarea.tsx","@flatbiz/antd/src/editable-table/form-item/upload-wrapper.tsx","@flatbiz/antd/src/editable-table/form-item/index.tsx","@flatbiz/antd/src/editable-table/form-list-item/form-list.tsx","@flatbiz/antd/src/editable-table/form-list-item/index.tsx","@flatbiz/antd/src/editable-table/editable-table.tsx"],"sourcesContent":["import { FieldSingleConfig } from './type';\n\nexport const getEditable = (editable: FieldSingleConfig['editable'], tableRowIndex: number) => {\n return typeof editable === 'boolean' ? editable : editable?.({ tableRowIndex });\n};\n","import { classNames } from '@dimjs/utils';\nimport { LabelValueItem, TAny } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Checkbox, Form } from 'antd';\nimport { useMemo } from 'react';\nimport { tableCellRender } from '../../table-cell-render';\nimport { EditableCheckboxGroupConfig, EditableFormItemProps } from '../type';\n\ntype CheckboxGroupFormItemContent = Omit<EditableFormItemProps, 'formItemProps'> & {\n value?: Array<string | number>;\n onChange?: (value: TAny) => void;\n};\n\nconst CheckboxGroupFormItemContent = (props: CheckboxGroupFormItemContent) => {\n const { editableConfig, editable, render } = props.fieldConfig;\n const editableComptProps = (editableConfig as EditableCheckboxGroupConfig).editableComptProps;\n const options = useMemo(\n () => (editableComptProps.options || []) as LabelValueItem[],\n [editableComptProps.options],\n );\n const onChange = hooks.useCallbackRef((value) => {\n props.onChange?.(value);\n editableComptProps.onChange?.(value);\n });\n\n if (editable) {\n return <Checkbox.Group {...editableComptProps} value={props.value} onChange={onChange} />;\n }\n\n return (\n <span className=\"editable-checkbox-group-view\">\n {render ? render(props.value, options) : tableCellRender.selectorCell(options)(props.value)}\n </span>\n );\n};\n\nexport const CheckboxGroupFormItem = (props: EditableFormItemProps) => {\n const { formItemProps } = props.fieldConfig;\n\n return (\n <Form.Item\n {...formItemProps}\n name={props.name}\n className={classNames('editable-checkbox-group-form-item', formItemProps?.className)}\n >\n <CheckboxGroupFormItemContent {...props} />\n </Form.Item>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { Form } from 'antd';\nimport { DatePickerWrapper } from '../../date-picker-wrapper';\nimport { EditableDatePickerWrapperConfig, EditableFormItemProps } from '../type';\n\nexport const DatePickerWrapperFormItem = (props: EditableFormItemProps) => {\n const { formItemProps, editableConfig } = props.fieldConfig;\n return (\n <Form.Item\n {...formItemProps}\n name={props.name}\n className={classNames('editable-date-picker-wraper-form-item', formItemProps?.className)}\n >\n <DatePickerWrapper\n allowClear\n {...(editableConfig as EditableDatePickerWrapperConfig).editableComptProps}\n />\n </Form.Item>\n );\n};\n","import { isArray } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { hooks } from '@wove/react';\nimport { Form } from 'antd';\nimport { useMemo } from 'react';\nimport { DateRangePickerWrapper } from '../../date-range-picker-wrapper';\nimport { EditableDateRangePickerWrapperConfig, EditableFormItemProps } from '../type';\n\ntype FormItemContentProps = Omit<EditableFormItemProps, 'formItemProps'> & {\n value?: [string, string];\n onChange?: (value?: [string, string]) => void;\n};\n\nconst FormItemContent = (props: FormItemContentProps) => {\n const { editableConfig, editable, render } = props.fieldConfig;\n const editableComptProps = (editableConfig as EditableDateRangePickerWrapperConfig).editableComptProps;\n\n const onChange = hooks.useCallbackRef((data) => {\n props.onChange?.(data);\n editableComptProps?.onChange?.(data);\n });\n\n const viewLabel = useMemo(() => {\n const value = isArray(props.value) ? props.value : ([] as any[]);\n if (editable) return undefined;\n return value.join('~');\n }, [editable, props.value]);\n\n if (editable) {\n return (\n <DateRangePickerWrapper allowClear {...editableComptProps} value={props.value} onChange={onChange} />\n );\n }\n return <span className=\"editable-date-range-picker-view\">{render ? render(props.value) : viewLabel}</span>;\n};\n\nexport const DateRangePickerWrapperFormItem = (props: EditableFormItemProps) => {\n const { formItemProps } = props.fieldConfig;\n return (\n <Form.Item\n {...formItemProps}\n name={props.name}\n className={classNames('editable-date-range-picker-wraper-form-item', formItemProps?.className)}\n >\n <FormItemContent {...props} />\n </Form.Item>\n );\n};\n","import { Form } from 'antd';\nimport { InputWrapper } from '../../input-wrapper';\nimport { EditableFormItemProps, EditableInputConfig } from '../type';\n\nexport const InputFormItem = (props: EditableFormItemProps) => {\n const { formItemProps, editableConfig } = props.fieldConfig;\n\n return (\n <Form.Item {...formItemProps} name={props.name}>\n <InputWrapper allowClear {...(editableConfig as EditableInputConfig).editableComptProps} />\n </Form.Item>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { Form, InputNumber } from 'antd';\nimport { EditableFormItemProps, EditableInputNumberConfig } from '../type';\n\nexport const InputNumberFormItem = (props: EditableFormItemProps) => {\n const { formItemProps, editableConfig } = props.fieldConfig;\n return (\n <Form.Item\n {...formItemProps}\n name={props.name}\n className={classNames('editable-input-number-form-item', formItemProps?.className)}\n >\n <InputNumber {...(editableConfig as EditableInputNumberConfig).editableComptProps} />\n </Form.Item>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { LabelValueItem } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Form, Radio } from 'antd';\nimport { useMemo } from 'react';\nimport { tableCellRender } from '../../table-cell-render';\nimport { EditableFormItemProps, EditableRadioGroupConfig } from '../type';\n\ntype RadioGroupFormItemContent = Omit<EditableFormItemProps, 'formItemProps'> & {\n value?: string | number;\n onChange?: (value: string | number) => void;\n};\n\nconst RadioGroupFormItemContent = (props: RadioGroupFormItemContent) => {\n const { editableConfig, editable, render } = props.fieldConfig;\n const editableComptProps = (editableConfig as EditableRadioGroupConfig).editableComptProps;\n const options = useMemo(\n () => (editableComptProps.options || []) as LabelValueItem<string | number>[],\n [editableComptProps.options],\n );\n\n const onChange = hooks.useCallbackRef((e) => {\n props.onChange?.(e.target.value as string | number);\n editableComptProps.onChange?.(e);\n });\n\n if (editable) {\n return <Radio.Group {...editableComptProps} value={props.value} onChange={onChange} />;\n }\n return (\n <span className=\"editable-radio-group-view\">\n {render ? render(props.value, options) : tableCellRender.selectorCell(options)(props.value)}\n </span>\n );\n};\n\nexport const RadioGroupFormItem = (props: EditableFormItemProps) => {\n const { formItemProps } = props.fieldConfig;\n\n return (\n <Form.Item\n {...formItemProps}\n name={props.name}\n className={classNames('editable-radio-group-form-item', formItemProps?.className)}\n >\n <RadioGroupFormItemContent {...props} />\n </Form.Item>\n );\n};\n","import { isArray } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { arrayField2LabelValue, LabelValueItem, TAny, TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Form, Tag } from 'antd';\nimport { Fragment, useEffect, useState } from 'react';\nimport { SelectorWrapper } from '../../selector-wrapper';\nimport { EditableFormItemProps, EditableSelectWrapperConfig } from '../type';\n\ntype FormItemContentProps = Omit<EditableFormItemProps, 'formItemProps'> & {\n value?: string | number | Array<string | number>;\n onChange?: (value: TAny) => void;\n};\n\nconst FormItemContent = (props: FormItemContentProps) => {\n const { editableConfig, editable, render } = props.fieldConfig;\n const editableComptProps = (editableConfig as EditableSelectWrapperConfig).editableComptProps;\n const [selectorList, setSelectorList] = useState<LabelValueItem[]>([]);\n const [viewLabelList, setviewLabelList] = useState<LabelValueItem[]>([]);\n\n useEffect(() => {\n if (!editable) {\n const value = isArray(props.value) ? props.value : props.value === undefined ? [] : [props.value];\n if (selectorList.length === 0) {\n setviewLabelList(value.map((item) => ({ label: item as string, value: item })));\n }\n const returnList = [] as LabelValueItem[];\n value.forEach((item) => {\n const target = selectorList.find((temp) => temp.value === item);\n returnList.push(target ? target : { label: String(item), value: item });\n });\n setviewLabelList(returnList);\n }\n }, [editable, editableComptProps.fieldNames, props.value, selectorList]);\n\n const onSelectorListAllChange = hooks.useCallbackRef((dataList: TPlainObject[]) => {\n setSelectorList(arrayField2LabelValue(dataList || [], editableComptProps.fieldNames));\n });\n\n const onChange = hooks.useCallbackRef((value, selectList) => {\n props.onChange?.(value);\n editableComptProps.onChange?.(value, selectList);\n });\n\n if (editable) {\n return (\n <SelectorWrapper\n {...editableComptProps}\n value={props.value}\n onChange={onChange}\n onSelectorListAllChange={onSelectorListAllChange}\n />\n );\n }\n return (\n <Fragment>\n <div style={{ display: 'none' }}>\n <SelectorWrapper {...editableComptProps} onSelectorListAllChange={onSelectorListAllChange} />\n </div>\n <span className=\"editable-selector-view\">\n {render\n ? render(props.value, selectorList)\n : viewLabelList.map((tag, index) => (\n <Tag key={index} color={'geekblue'}>\n {tag.label}\n </Tag>\n ))}\n </span>\n </Fragment>\n );\n};\n\nexport const SelectorWrapperFormItem = (props: EditableFormItemProps) => {\n const { formItemProps } = props.fieldConfig;\n\n return (\n <Form.Item\n {...formItemProps}\n name={props.name}\n className={classNames('editable-selector-wrapper-form-item', formItemProps?.className)}\n >\n <FormItemContent {...props} />\n </Form.Item>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { hooks } from '@wove/react';\nimport { Form, Tag } from 'antd';\nimport { useMemo } from 'react';\nimport { SwitchWrapper } from '../../switch-wrapper';\nimport { EditableFormItemProps, EditableSwitchWrapperConfig } from '../type';\n\ntype FormItemContentProps = Omit<EditableFormItemProps, 'formItemProps'> & {\n value?: string | number | boolean;\n onChange?: (value?: string | number | boolean) => void;\n};\n\nconst FormItemContent = (props: FormItemContentProps) => {\n const { editableConfig, editable, render } = props.fieldConfig;\n const editableComptProps = (editableConfig as EditableSwitchWrapperConfig).editableComptProps;\n const onChange = hooks.useCallbackRef((data) => {\n props.onChange?.(data);\n editableComptProps?.onChange?.(data);\n });\n\n const viewData = useMemo(() => {\n const defaultCheckedText = editableComptProps.checkedChildren || '是';\n const defaultUnCheckedText = editableComptProps.unCheckedChildren || '否';\n\n return {\n checkedText: defaultCheckedText,\n unCheckedText: defaultUnCheckedText,\n };\n }, [editableComptProps.checkedChildren, editableComptProps.unCheckedChildren]);\n\n if (editable) {\n return <SwitchWrapper {...editableComptProps} value={props.value} onChange={onChange} />;\n }\n if (render) {\n return <span className=\"editable-switch-wrapper-view\">{render(props.value)}</span>;\n }\n return (\n <span className=\"editable-switch-wrapper-view\">\n {editableComptProps.checkedValue == props.value ? (\n <Tag color=\"geekblue\" style={{ marginRight: 0 }}>\n {viewData.checkedText}\n </Tag>\n ) : (\n <Tag style={{ marginRight: 0 }}>{viewData.unCheckedText}</Tag>\n )}\n </span>\n );\n};\n\nexport const SwitchWrapperFormItem = (props: EditableFormItemProps) => {\n const { formItemProps } = props.fieldConfig;\n return (\n <Form.Item\n {...formItemProps}\n name={props.name}\n className={classNames('editable-switch-wrapper-form-item', formItemProps?.className)}\n >\n <FormItemContent {...props} />\n </Form.Item>\n );\n};\n","import { isBoolean, isNumber, isString } from '@dimjs/lang';\nimport { Form } from 'antd';\nimport { useMemo } from 'react';\nimport { EditableFormItemProps, FieldSingleConfig } from '../type';\n\nconst FormItemTextContent = (props: {\n value?: string | number;\n name: EditableFormItemProps['name'];\n fieldConfig?: FieldSingleConfig;\n}) => {\n const value = useMemo(() => {\n if (props.fieldConfig?.render) return undefined;\n const isBaseData =\n isString(props.value) || isNumber(props.value) || isBoolean(props.value) || !props.value;\n if (!isBaseData) {\n console.warn(`Form.List name:【${props.name}】数据【${JSON.stringify(props.value)}】不能渲染在页面中`);\n }\n return isBaseData ? props.value : undefined;\n }, [props.fieldConfig?.render, props.name, props.value]);\n const viewText = props.fieldConfig?.render?.(props.value) || value;\n return <span>{viewText}</span>;\n};\n\nexport const TextFormItem = (props: { name: Array<number | string>; fieldConfig?: FieldSingleConfig }) => {\n return (\n <Form.Item noStyle name={props.name}>\n <FormItemTextContent name={props.name} fieldConfig={props.fieldConfig} />\n </Form.Item>\n );\n};\n","import { Form } from 'antd';\nimport { InputTextAreaWrapper } from '../../input-text-area-wrapper';\nimport { EditableFormItemProps, EditableTextareaConfig } from '../type';\n\nexport const TextAreaFormItem = (props: EditableFormItemProps) => {\n const { formItemProps, editableConfig } = props.fieldConfig;\n return (\n <Form.Item {...formItemProps} name={props.name}>\n <InputTextAreaWrapper {...(editableConfig as EditableTextareaConfig).editableComptProps} />\n </Form.Item>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { TAny } from '@flatbiz/utils';\nimport { Form } from 'antd';\nimport { UploadWrapper } from '../../upload-wrapper';\nimport { EditableFileUploadConfig, EditableFormItemProps } from '../type';\n\nconst UploadWrapperFormItemContent = (\n props: EditableFormItemProps & { value?: TAny; onChange?: (value?: TAny) => void },\n) => {\n const { editableConfig, render, editable } = props.fieldConfig;\n const { children, ...otherProps } = (editableConfig as EditableFileUploadConfig).editableComptProps;\n if (editable) {\n return (\n <UploadWrapper listType=\"text\" {...otherProps} value={props.value} onChange={props.onChange}>\n {children}\n </UploadWrapper>\n );\n }\n return (\n <div className=\"upload-wrapper-selector-view\">\n {render ? (\n render(props.value)\n ) : (\n <UploadWrapper listType=\"text\" {...otherProps} value={props.value} disabled={true} />\n )}\n </div>\n );\n};\n\nexport const UploadWrapperFormItem = (props: EditableFormItemProps) => {\n const { formItemProps } = props.fieldConfig;\n return (\n <Form.Item\n {...formItemProps}\n name={props.name}\n className={classNames('editable-upload-wrapper-form-item', formItemProps?.className)}\n >\n <UploadWrapperFormItemContent {...props} />\n </Form.Item>\n );\n};\n","import { extend } from '@dimjs/utils';\nimport { FieldSingleConfig } from '../type';\nimport { getEditable } from '../utils';\nimport { CheckboxGroupFormItem } from './checkbox-group';\nimport { DatePickerWrapperFormItem } from './date-picker-wrapper';\nimport { DateRangePickerWrapperFormItem } from './date-range-picker-wrapper';\nimport { InputFormItem } from './input';\nimport { InputNumberFormItem } from './input-number';\nimport { RadioGroupFormItem } from './radio-group';\nimport { SelectorWrapperFormItem } from './selector-wrapper';\nimport { SwitchWrapperFormItem } from './switch-wrapper';\nimport { TextFormItem } from './text';\nimport { TextAreaFormItem } from './textarea';\nimport { UploadWrapperFormItem } from './upload-wrapper';\n\nexport type FormItemAdapterProps = {\n name: Array<number | string>;\n completeName: Array<number | string>;\n fieldConfig: FieldSingleConfig;\n tableRowIndex: number;\n};\n\nexport const FormItemAdapter = (props: FormItemAdapterProps) => {\n const { editableConfig, editable } = props.fieldConfig;\n const newEditable = getEditable(editable, props.tableRowIndex);\n const fieldConfig = extend({}, props.fieldConfig, { editable: newEditable });\n\n const commomProps = {\n name: props.name,\n fieldConfig,\n };\n\n if (editableConfig?.type === 'input' && newEditable) {\n return <InputFormItem {...commomProps} />;\n } else if (editableConfig?.type === 'inputNumber' && newEditable) {\n return <InputNumberFormItem {...commomProps} />;\n } else if (editableConfig?.type === 'textArea' && newEditable) {\n return <TextAreaFormItem {...commomProps} />;\n } else if (editableConfig?.type === 'datePickerWrapper' && newEditable) {\n return <DatePickerWrapperFormItem {...commomProps} />;\n } else if (editableConfig?.type === 'dateRangePickerWrapper') {\n return <DateRangePickerWrapperFormItem {...commomProps} />;\n } else if (editableConfig?.type === 'selectorWrapper') {\n return <SelectorWrapperFormItem {...commomProps} />;\n } else if (editableConfig?.type === 'checkboxGroup') {\n return <CheckboxGroupFormItem {...commomProps} />;\n } else if (editableConfig?.type === 'radioGroup') {\n return <RadioGroupFormItem {...commomProps} />;\n } else if (editableConfig?.type === 'uploadWrapper') {\n return <UploadWrapperFormItem {...commomProps} />;\n } else if (editableConfig?.type === 'switchWrapper') {\n return <SwitchWrapperFormItem {...commomProps} />;\n } else if (editableConfig?.type === 'custom') {\n return editableConfig.editableComptProps({\n name: props.name,\n editable: newEditable,\n completeName: props.completeName,\n tableRowIndex: props.tableRowIndex,\n });\n }\n\n return <TextFormItem {...commomProps} />;\n};\n","import { DeleteOutlined } from '@ant-design/icons';\nimport { classNames } from '@dimjs/utils';\nimport { Button, Form, Space } from 'antd';\nimport { FormItemAdapter } from '../form-item';\nimport { FormListConfig } from '../type';\nimport { getEditable } from '../utils';\n\nexport type FormListProps = {\n name: Array<number | string>;\n formListConfig: FormListConfig;\n tableRowIndex: number;\n completeName: (string | number)[];\n};\n\nexport const FormList = (props: FormListProps) => {\n const from = Form.useFormInstance();\n const {\n onFormListBeforeRender,\n editableConfigList,\n onFormListAfterRender,\n onFormListItemBeforeRender,\n onFormListItemAfterRender,\n deleteOperateRender,\n } = props.formListConfig;\n return (\n <Form.List name={props.name}>\n {(fields, { add, remove }) => (\n <>\n {onFormListBeforeRender\n ? onFormListBeforeRender({\n tableRowIndex: props.tableRowIndex,\n add,\n get value() {\n return from.getFieldValue(props.completeName);\n },\n })\n : null}\n {fields.map((fieldChild, index) => {\n const hasEditable = editableConfigList.find((item) =>\n getEditable(item.editable, props.tableRowIndex),\n );\n const className = classNames(\n 'editable-inner-formlist-item',\n `editable-inner-formlist-item-${props.name[1]}`,\n { 'editable-inner-formlist-item_preview': !hasEditable },\n );\n return (\n <div key={index} className={className}>\n {onFormListItemBeforeRender?.({\n add,\n remove: () => {\n remove(index);\n },\n formListItemIndex: index,\n tableRowIndex: props.tableRowIndex,\n get value() {\n return from.getFieldValue([...props.completeName, fieldChild.name]);\n },\n })}\n <Space>\n {editableConfigList.map((fieldItem, index) => {\n return (\n <FormItemAdapter\n name={[fieldChild.name, fieldItem.fieldName]}\n fieldConfig={fieldItem}\n key={index}\n tableRowIndex={props.tableRowIndex}\n completeName={[...props.completeName, fieldChild.name]}\n />\n );\n })}\n {hasEditable ? (\n <DeleteFormListItem\n deleteOperateRender={deleteOperateRender}\n remove={() => {\n remove(index);\n }}\n index={index}\n />\n ) : undefined}\n </Space>\n {onFormListItemAfterRender?.({\n add,\n formListItemIndex: index,\n tableRowIndex: props.tableRowIndex,\n remove: () => {\n remove(index);\n },\n get value() {\n return from.getFieldValue([...props.completeName, fieldChild.name]);\n },\n })}\n </div>\n );\n })}\n {onFormListAfterRender\n ? onFormListAfterRender({\n tableRowIndex: props.tableRowIndex,\n add,\n get value() {\n return from.getFieldValue(props.completeName);\n },\n })\n : null}\n </>\n )}\n </Form.List>\n );\n};\n\nconst DeleteFormListItem = (props: {\n deleteOperateRender: FormListConfig['deleteOperateRender'];\n remove: () => void;\n index: number;\n}) => {\n return (\n <Form.Item>\n {props.deleteOperateRender ? (\n props.deleteOperateRender({ remove: props.remove, formListItemIndex: props.index })\n ) : (\n <Button type=\"link\" danger icon={<DeleteOutlined />} onClick={props.remove}>\n 删除\n </Button>\n )}\n </Form.Item>\n );\n};\n","import { isArray } from '@dimjs/lang';\nimport { Form, Input } from 'antd';\nimport { Fragment } from 'react';\nimport { FormItemAdapter } from '../form-item';\nimport { TextFormItem } from '../form-item/text';\nimport { FieldSingleConfig, FormListConfig } from '../type';\nimport { FormList } from './form-list';\n\nexport type FormListItemProps = {\n name: Array<number | string>;\n fieldConfig?: FieldSingleConfig | FormListConfig;\n tableRowIndex: number;\n completeName: (string | number)[];\n hiddenField?: { dataIndex: string };\n};\n\nexport const FormListItem = (props: FormListItemProps) => {\n if (props.fieldConfig) {\n if (isArray(props.fieldConfig['editableConfigList'])) {\n const formListConfig = props.fieldConfig as FormListConfig;\n return (\n <FormList\n name={props.name}\n completeName={props.completeName}\n formListConfig={formListConfig}\n tableRowIndex={props.tableRowIndex}\n />\n );\n } else {\n return (\n <Fragment>\n <FormItemAdapter\n name={props.name}\n fieldConfig={props.fieldConfig as FieldSingleConfig}\n tableRowIndex={props.tableRowIndex}\n completeName={props.completeName}\n />\n {props.hiddenField ? (\n <Form.Item hidden={true} name={props.hiddenField.dataIndex}>\n <Input />\n </Form.Item>\n ) : null}\n </Fragment>\n );\n }\n }\n return <TextFormItem name={props.name} />;\n};\n","import { PlusOutlined } from '@ant-design/icons';\nimport { classNames } from '@dimjs/utils';\nimport { TAny, toArray, TPlainObject } from '@flatbiz/utils';\nimport { Form, FormListOperation, Table, TableProps } from 'antd';\nimport { FormListFieldData, FormListProps } from 'antd/es/form';\nimport { ColumnsType } from 'antd/es/table';\nimport {\n forwardRef,\n Fragment,\n isValidElement,\n ReactElement,\n useImperativeHandle,\n useMemo,\n useRef,\n} from 'react';\nimport { ButtonWrapper } from '../button-wrapper';\nimport { TableTitleTooltip } from '../table-title-tooltip';\nimport { TipsWrapper, TipsWrapperProps } from '../tips-wrapper/tips-wrapper';\nimport { FormListItem } from './form-list-item';\nimport './style.less';\nimport { EditableTableName, EditableTableRecordType, FieldSingleConfig, FormListConfig } from './type';\n\ntype fieldConfigFunctionParams = {\n tableRowIndex: number;\n name: EditableTableName;\n tableRowName: EditableTableName;\n getTableRowData: () => TPlainObject;\n};\n/**\n * antd 默认render功能此处不能使用\n */\nexport type EditableTableColumn = Omit<ColumnsType['0'], 'render'> & {\n /**\n * @description 请使用 tipsWrapperProps 属性配置\n * ```\n * 会在 title 之后展示一个 icon,hover 之后提示一些信息\n * 1. title为string类型、ReactElement有效\n * 2. hoverArea 默认值:icon\n * ```\n */\n tooltip?: string | { content: string; icon?: ReactElement; hoverArea?: 'icon' | 'all' };\n /**\n * 会在 title 之后展示一个 icon\n * ```\n * 1. title为string类型有效\n * 2. 可为icon添加提示效果\n * 3. 可为icon添加点击事件\n * ```\n */\n tipsWrapperProps?: string | TipsWrapperProps;\n dataIndex?: string;\n fieldConfig?:\n | FieldSingleConfig\n | FormListConfig\n | ((data: fieldConfigFunctionParams) => FieldSingleConfig | FormListConfig);\n /** 隐藏域字段 */\n hiddenField?: {\n dataIndex: string;\n };\n /**\n * 渲染中间件,如果renderMiddleware返回值为ReactElement格式,则会终止后续逻辑,fieldConfig配置将失效\n * ```\n * 1. tableRowIndex: 当前row的索引值\n * 2. name: 当前table单元格的form.item的name值\n * 3. operation Form.List的操作函数\n * 4. 对 table children column渲染无效\n * ```\n */\n renderMiddleware?: (item: {\n tableRowIndex: number;\n name: EditableTableName;\n tableRowName: EditableTableName;\n operation: FormListOperation;\n index: number;\n }) => ReactElement | null;\n /** table datasource children column 自定义渲染 */\n tableChildrenColumnRender?: (value: TAny, record: TPlainObject, index: number) => ReactElement | null;\n};\n\nexport type EditableTableProps = {\n name: EditableTableName;\n /**\n * ```\n * antd table属性\n * 1. 新增cellVerticalAlign,单元格竖直方向对齐方式,设置table column onCell属性后失效\n * ```\n */\n tableProps?: Omit<TableProps<EditableTableRecordType>, 'dataSource' | 'columns' | 'rowKey'> & {\n cellVerticalAlign?: 'baseline' | 'middle' | 'top' | 'bottom';\n };\n columns: EditableTableColumn[];\n onTableBeforeRender?: (formListOperation: FormListOperation, nextRowIndex: number) => ReactElement | null;\n /**\n * 设置后,将覆盖底部`新增`按钮\n */\n onTableAfterRender?: (formListOperation: FormListOperation, nextRowIndex: number) => ReactElement | null;\n rules?: FormListProps['rules'];\n /** 隐藏底部`新增`按钮,设置 onTableAfterRender后 失效 */\n hiddenFooterBtn?: boolean;\n /** 新增行默认值,自定义onTableAfterRender后失效 */\n getAddRowDefaultValues?: () => TPlainObject;\n /** 空效果显示尺寸,默认值:small */\n emptyShowSize?: 'small' | 'large';\n};\n\nexport type EditableTableRefApi = {\n /** 可用于表格行选择操作时,获取操作列数据 */\n getTableItemDataByFormListItemKey: (key: number) => TPlainObject;\n};\n\n/**\n * 可编辑表格\n * demo:https://fex.qa.tcshuke.com/docs/admin/main/table/row-editable1\n * @param props\n * ```\n * 1. 通过 tableProps 设置Table属性,table size默认:small\n * 2. Table children column 不可编辑\n * 3. 当存在折叠children数据时,组件会在children中内置_isChildrenItem字段\n * 4. 可通过tableChildrenColumnRender自定义渲染 table children column 显示\n * 5. 设置 rowSelection 后,rowSelection.onChange 通过 ref 的 getTableItemDataByFormListItemKey获取数据\n * ```\n */\nexport const EditableTable = forwardRef<EditableTableRefApi, EditableTableProps>((props, ref) => {\n const form = Form.useFormInstance();\n\n const formListFieldsRef = useRef<FormListFieldData[]>([]);\n\n const columns = useMemo(() => {\n if (!props.columns) return [];\n return props.columns.map((columnItem) => {\n const {\n fieldConfig,\n renderMiddleware,\n tableChildrenColumnRender,\n tooltip,\n title,\n tipsWrapperProps,\n ...otherColumnItem\n } = columnItem;\n const support = isValidElement(title) || typeof title === 'string';\n let titleRender: ReactElement | string;\n if (tipsWrapperProps && support) {\n if (typeof tipsWrapperProps === 'string') {\n titleRender = (\n <TipsWrapper tipType=\"popover\" popoverProps={{ content: tipsWrapperProps }}>\n {title}\n </TipsWrapper>\n );\n } else {\n titleRender = <TipsWrapper {...tipsWrapperProps}>{title}</TipsWrapper>;\n }\n } else if (tooltip) {\n titleRender = <TableTitleTooltip title={title as string} tooltip={tooltip} />;\n } else {\n titleRender = title as string;\n }\n return {\n title: titleRender,\n onCell: () => {\n return {\n valign: props.tableProps?.cellVerticalAlign || 'middle',\n };\n },\n ...otherColumnItem,\n render: (_value, record, index) => {\n if (record['_isChildrenItem']) {\n if (tableChildrenColumnRender) {\n return tableChildrenColumnRender(_value, record, index);\n }\n return _value;\n }\n const tableRowName = [...toArray<string | number>(props.name as TAny), record.name];\n const completeName = columnItem.dataIndex ? [...tableRowName, columnItem.dataIndex] : tableRowName;\n const customRender = renderMiddleware?.({\n name: completeName,\n tableRowIndex: record.name,\n operation: record.operation,\n tableRowName,\n index,\n });\n if (customRender) {\n return customRender;\n }\n\n const fieldConfigActual =\n typeof fieldConfig === 'function'\n ? fieldConfig({\n name: completeName,\n tableRowIndex: record.name,\n tableRowName,\n getTableRowData: () => {\n return form.getFieldValue(tableRowName);\n },\n })\n : fieldConfig;\n return (\n <FormListItem\n name={columnItem.dataIndex ? [record.name, columnItem.dataIndex] : [record.name]}\n completeName={completeName}\n fieldConfig={fieldConfigActual}\n tableRowIndex={record.name}\n hiddenField={columnItem.hiddenField}\n />\n );\n },\n };\n }) as ColumnsType<EditableTableRecordType>;\n }, [props.columns, props.name, props.tableProps?.cellVerticalAlign]);\n\n const formListDataSource = Form.useWatch(props.name, form);\n\n useImperativeHandle(ref, () => {\n return {\n getTableItemDataByFormListItemKey: (key) => {\n const target = formListFieldsRef.current.find((item) => item.key === key);\n if (target) {\n return form.getFieldValue([...toArray<string>(props.name), target.name]);\n }\n return undefined;\n },\n };\n });\n\n return (\n <div className={classNames('editable-table', { 'et-empty-show-large': props.emptyShowSize === 'large' })}>\n <Form.List name={props.name} rules={props.rules}>\n {(fields, formListOperation) => {\n formListFieldsRef.current = fields;\n return (\n <Fragment>\n {props.onTableBeforeRender ? props.onTableBeforeRender(formListOperation, fields.length) : null}\n <Table\n scroll={{ x: 'max-content' }}\n pagination={false}\n rowKey=\"key\"\n size=\"small\"\n {...props.tableProps}\n dataSource={fields.map((item) => {\n const children = formListDataSource?.[item.name]?.children as TPlainObject[] | undefined;\n if (children) {\n children.forEach((item) => {\n item['_isChildrenItem'] = true;\n });\n }\n return {\n ...item,\n operation: formListOperation,\n children,\n };\n })}\n columns={columns}\n />\n {props.onTableAfterRender ? (\n props.onTableAfterRender(formListOperation, fields.length)\n ) : (\n <ButtonWrapper\n type=\"dashed\"\n hidden={props.hiddenFooterBtn}\n onClick={() => formListOperation.add(props.getAddRowDefaultValues?.())}\n block\n icon={<PlusOutlined />}\n style={{ marginTop: 15 }}\n >\n 新增\n </ButtonWrapper>\n )}\n </Fragment>\n );\n }}\n </Form.List>\n </div>\n );\n});\n"],"names":["getEditable","editable","tableRowIndex","CheckboxGroupFormItemContent","props","_props$fieldConfig","fieldConfig","editableConfig","render","editableComptProps","options","useMemo","onChange","_hooks","useCallbackRef","value","_jsx","Checkbox","Group","_extends","className","children","tableCellRender","selectorCell","CheckboxGroupFormItem","formItemProps","Form","Item","name","_classNames","DatePickerWrapperFormItem","DatePickerWrapper","allowClear","FormItemContent","data","viewLabel","_isArray","undefined","join","DateRangePickerWrapper","DateRangePickerWrapperFormItem","InputFormItem","InputWrapper","InputNumberFormItem","InputNumber","RadioGroupFormItemContent","e","target","Radio","RadioGroupFormItem","_useState","useState","selectorList","setSelectorList","_useState2","viewLabelList","setviewLabelList","useEffect","length","map","item","label","returnList","forEach","find","temp","push","String","fieldNames","onSelectorListAllChange","dataList","arrayField2LabelValue","selectList","SelectorWrapper","_jsxs","Fragment","style","display","tag","index","Tag","color","SelectorWrapperFormItem","viewData","defaultCheckedText","checkedChildren","defaultUnCheckedText","unCheckedChildren","checkedText","unCheckedText","SwitchWrapper","checkedValue","marginRight","SwitchWrapperFormItem","FormItemTextContent","_props$fieldConfig2","_props$fieldConfig3","isBaseData","_isString","_isNumber","_isBoolean","console","warn","JSON","stringify","viewText","TextFormItem","noStyle","TextAreaFormItem","InputTextAreaWrapper","UploadWrapperFormItemContent","_editableComptProps","otherProps","_objectWithoutPropertiesLoose","_excluded","UploadWrapper","listType","disabled","UploadWrapperFormItem","FormItemAdapter","newEditable","_extend","commomProps","type","completeName","FormList","from","useFormInstance","_props$formListConfig","formListConfig","onFormListBeforeRender","editableConfigList","onFormListAfterRender","onFormListItemBeforeRender","onFormListItemAfterRender","deleteOperateRender","List","fields","_ref","add","remove","_Fragment","getFieldValue","fieldChild","hasEditable","formListItemIndex","concat","Space","fieldItem","fieldName","DeleteFormListItem","Button","danger","icon","_DeleteOutlined","onClick","FormListItem","hiddenField","hidden","dataIndex","Input","EditableTable","forwardRef","ref","_props$tableProps2","form","formListFieldsRef","useRef","columns","columnItem","renderMiddleware","tableChildrenColumnRender","tooltip","title","tipsWrapperProps","otherColumnItem","support","isValidElement","titleRender","TipsWrapper","tipType","popoverProps","content","TableTitleTooltip","onCell","_props$tableProps","valign","tableProps","cellVerticalAlign","_value","record","tableRowName","toArray","customRender","operation","fieldConfigActual","getTableRowData","formListDataSource","useWatch","useImperativeHandle","getTableItemDataByFormListItemKey","key","current","emptyShowSize","rules","formListOperation","onTableBeforeRender","Table","scroll","x","pagination","rowKey","size","dataSource","_formListDataSource$i","onTableAfterRender","ButtonWrapper","hiddenFooterBtn","getAddRowDefaultValues","block","_PlusOutlined","marginTop"],"mappings":";k9FAEO,IAAMA,EAAc,SAAdA,EAAeC,EAAyCC,GACnE,cAAcD,IAAa,UAAYA,EAAWA,GAAAA,UAAAA,EAAAA,EAAW,CAAEC,cAAAA,GACjE,ECSA,IAAMC,EAA+B,SAA/BA,EAAgCC,GACpC,IAAAC,EAA6CD,EAAME,YAA3CC,EAAcF,EAAdE,eAAgBN,EAAQI,EAARJ,SAAUO,EAAMH,EAANG,OAClC,IAAMC,EAAsBF,EAA+CE,mBAC3E,IAAMC,EAAUC,GACd,WAAA,OAAOF,EAAmBC,SAAW,EAAE,GACvC,CAACD,EAAmBC,UAEtB,IAAME,EAAWC,EAAMC,gBAAe,SAACC,GACrCX,EAAMQ,UAANR,UAAAA,EAAAA,EAAMQ,SAAWG,GACjBN,EAAmBG,UAAnBH,UAAAA,EAAAA,EAAmBG,SAAWG,EAChC,IAEA,GAAId,EAAU,CACZ,OAAOe,EAACC,EAASC,MAAKC,KAAKV,EAAkB,CAAEM,MAAOX,EAAMW,MAAOH,SAAUA,IAC/E,CAEA,OACEI,EAAA,OAAA,CAAMI,UAAU,+BAA8BC,SAC3Cb,EAASA,EAAOJ,EAAMW,MAAOL,GAAWY,EAAgBC,aAAab,EAA7BY,CAAsClB,EAAMW,QAG3F,EAEO,IAAMS,EAAwB,SAAxBA,EAAyBpB,GACpC,IAAQqB,EAAkBrB,EAAME,YAAxBmB,cAER,OACET,EAACU,EAAKC,KAAIR,KACJM,EAAa,CACjBG,KAAMxB,EAAMwB,KACZR,UAAWS,EAAW,oCAAqCJ,GAAAA,UAAAA,EAAAA,EAAeL,WAAWC,SAErFL,EAACb,EAA4BgB,EAAA,CAAA,EAAKf,MAGxC,EC3CO,IAAM0B,EAA4B,SAA5BA,EAA6B1B,GACxC,IAAAC,EAA0CD,EAAME,YAAxCmB,EAAapB,EAAboB,cAAelB,EAAcF,EAAdE,eACvB,OACES,EAACU,EAAKC,KAAIR,KACJM,EAAa,CACjBG,KAAMxB,EAAMwB,KACZR,UAAWS,EAAW,wCAAyCJ,GAAAA,UAAAA,EAAAA,EAAeL,WAAWC,SAEzFL,EAACe,EAAiBZ,EAAA,CAChBa,WAAU,MACLzB,EAAmDE,uBAIhE,ECNA,IAAMwB,EAAkB,SAAlBA,EAAmB7B,GACvB,IAAAC,EAA6CD,EAAME,YAA3CC,EAAcF,EAAdE,eAAgBN,EAAQI,EAARJ,SAAUO,EAAMH,EAANG,OAClC,IAAMC,EAAsBF,EAAwDE,mBAEpF,IAAMG,EAAWC,EAAMC,gBAAe,SAACoB,GACrC9B,EAAMQ,UAANR,UAAAA,EAAAA,EAAMQ,SAAWsB,GACjBzB,GAAkB,MAAlBA,EAAoBG,UAAQ,UAAA,EAA5BH,EAAoBG,SAAWsB,EACjC,IAEA,IAAMC,EAAYxB,GAAQ,WACxB,IAAMI,EAAQqB,EAAQhC,EAAMW,OAASX,EAAMW,MAAS,GACpD,GAAId,EAAU,OAAOoC,UACrB,OAAOtB,EAAMuB,KAAK,IACnB,GAAE,CAACrC,EAAUG,EAAMW,QAEpB,GAAId,EAAU,CACZ,OACEe,EAACuB,EAAsBpB,EAAA,CAACa,WAAU,MAAKvB,EAAkB,CAAEM,MAAOX,EAAMW,MAAOH,SAAUA,IAE7F,CACA,OAAOI,EAAA,OAAA,CAAMI,UAAU,kCAAiCC,SAAEb,EAASA,EAAOJ,EAAMW,OAASoB,GAC3F,EAEO,IAAMK,EAAiC,SAAjCA,EAAkCpC,GAC7C,IAAQqB,EAAkBrB,EAAME,YAAxBmB,cACR,OACET,EAACU,EAAKC,KAAIR,KACJM,EAAa,CACjBG,KAAMxB,EAAMwB,KACZR,UAAWS,EAAW,8CAA+CJ,GAAAA,UAAAA,EAAAA,EAAeL,WAAWC,SAE/FL,EAACiB,EAAed,EAAA,CAAA,EAAKf,MAG3B,EC3CO,IAAMqC,EAAgB,SAAhBA,EAAiBrC,GAC5B,IAAAC,EAA0CD,EAAME,YAAxCmB,EAAapB,EAAboB,cAAelB,EAAcF,EAAdE,eAEvB,OACES,EAACU,EAAKC,KAAIR,KAAKM,EAAa,CAAEG,KAAMxB,EAAMwB,KAAKP,SAC7CL,EAAC0B,EAAYvB,EAAA,CAACa,WAAU,MAAMzB,EAAuCE,uBAG3E,ECRO,IAAMkC,EAAsB,SAAtBA,EAAuBvC,GAClC,IAAAC,EAA0CD,EAAME,YAAxCmB,EAAapB,EAAboB,cAAelB,EAAcF,EAAdE,eACvB,OACES,EAACU,EAAKC,KAAIR,KACJM,EAAa,CACjBG,KAAMxB,EAAMwB,KACZR,UAAWS,EAAW,kCAAmCJ,GAAAA,UAAAA,EAAAA,EAAeL,WAAWC,SAEnFL,EAAC4B,EAAWzB,EAAMZ,CAAAA,EAAAA,EAA6CE,uBAGrE,ECFA,IAAMoC,EAA4B,SAA5BA,EAA6BzC,GACjC,IAAAC,EAA6CD,EAAME,YAA3CC,EAAcF,EAAdE,eAAgBN,EAAQI,EAARJ,SAAUO,EAAMH,EAANG,OAClC,IAAMC,EAAsBF,EAA4CE,mBACxE,IAAMC,EAAUC,GACd,WAAA,OAAOF,EAAmBC,SAAW,EAAE,GACvC,CAACD,EAAmBC,UAGtB,IAAME,EAAWC,EAAMC,gBAAe,SAACgC,GACrC1C,EAAMQ,UAANR,UAAAA,EAAAA,EAAMQ,SAAWkC,EAAEC,OAAOhC,OAC1BN,EAAmBG,UAAnBH,UAAAA,EAAAA,EAAmBG,SAAWkC,EAChC,IAEA,GAAI7C,EAAU,CACZ,OAAOe,EAACgC,EAAM9B,MAAKC,KAAKV,EAAkB,CAAEM,MAAOX,EAAMW,MAAOH,SAAUA,IAC5E,CACA,OACEI,EAAA,OAAA,CAAMI,UAAU,4BAA2BC,SACxCb,EAASA,EAAOJ,EAAMW,MAAOL,GAAWY,EAAgBC,aAAab,EAA7BY,CAAsClB,EAAMW,QAG3F,EAEO,IAAMkC,EAAqB,SAArBA,EAAsB7C,GACjC,IAAQqB,EAAkBrB,EAAME,YAAxBmB,cAER,OACET,EAACU,EAAKC,KAAIR,KACJM,EAAa,CACjBG,KAAMxB,EAAMwB,KACZR,UAAWS,EAAW,iCAAkCJ,GAAAA,UAAAA,EAAAA,EAAeL,WAAWC,SAElFL,EAAC6B,EAAyB1B,EAAA,CAAA,EAAKf,MAGrC,EClCA,IAAM6B,GAAkB,SAAlBA,EAAmB7B,GACvB,IAAAC,EAA6CD,EAAME,YAA3CC,EAAcF,EAAdE,eAAgBN,EAAQI,EAARJ,SAAUO,EAAMH,EAANG,OAClC,IAAMC,EAAsBF,EAA+CE,mBAC3E,IAAAyC,EAAwCC,EAA2B,IAA5DC,EAAYF,EAAA,GAAEG,EAAeH,EAAA,GACpC,IAAAI,EAA0CH,EAA2B,IAA9DI,EAAaD,EAAA,GAAEE,EAAgBF,EAAA,GAEtCG,GAAU,WACR,IAAKxD,EAAU,CACb,IAAMc,EAAQqB,EAAQhC,EAAMW,OAASX,EAAMW,MAAQX,EAAMW,QAAUsB,UAAY,GAAK,CAACjC,EAAMW,OAC3F,GAAIqC,EAAaM,SAAW,EAAG,CAC7BF,EAAiBzC,EAAM4C,KAAI,SAACC,GAAI,MAAM,CAAEC,MAAOD,EAAgB7C,MAAO6C,EAAO,IAC/E,CACA,IAAME,EAAa,GACnB/C,EAAMgD,SAAQ,SAACH,GACb,IAAMb,EAASK,EAAaY,MAAK,SAACC,GAAI,OAAKA,EAAKlD,QAAU6C,KAC1DE,EAAWI,KAAKnB,EAASA,EAAS,CAAEc,MAAOM,OAAOP,GAAO7C,MAAO6C,GAClE,IACAJ,EAAiBM,EACnB,CACF,GAAG,CAAC7D,EAAUQ,EAAmB2D,WAAYhE,EAAMW,MAAOqC,IAE1D,IAAMiB,EAA0BxD,EAAMC,gBAAe,SAACwD,GACpDjB,EAAgBkB,EAAsBD,GAAY,GAAI7D,EAAmB2D,YAC3E,IAEA,IAAMxD,EAAWC,EAAMC,gBAAe,SAACC,EAAOyD,GAC5CpE,EAAMQ,UAANR,UAAAA,EAAAA,EAAMQ,SAAWG,GACjBN,EAAmBG,UAAQ,UAAA,EAA3BH,EAAmBG,SAAWG,EAAOyD,EACvC,IAEA,GAAIvE,EAAU,CACZ,OACEe,EAACyD,EAAetD,KACVV,EAAkB,CACtBM,MAAOX,EAAMW,MACbH,SAAUA,EACVyD,wBAAyBA,IAG/B,CACA,OACEK,EAACC,EAAQ,CAAAtD,UACPL,EAAA,MAAA,CAAK4D,MAAO,CAAEC,QAAS,QAASxD,SAC9BL,EAACyD,EAAetD,KAAKV,EAAkB,CAAE4D,wBAAyBA,OAEpErD,EAAA,OAAA,CAAMI,UAAU,yBAAwBC,SACrCb,EACGA,EAAOJ,EAAMW,MAAOqC,GACpBG,EAAcI,KAAI,SAACmB,EAAKC,GAAK,OAC3B/D,EAACgE,EAAG,CAAaC,MAAO,WAAW5D,SAChCyD,EAAIjB,OADGkB,UAOxB,EAEO,IAAMG,GAA0B,SAA1BA,EAA2B9E,GACtC,IAAQqB,EAAkBrB,EAAME,YAAxBmB,cAER,OACET,EAACU,EAAKC,KAAIR,KACJM,EAAa,CACjBG,KAAMxB,EAAMwB,KACZR,UAAWS,EAAW,sCAAuCJ,GAAAA,UAAAA,EAAAA,EAAeL,WAAWC,SAEvFL,EAACiB,GAAed,EAAA,CAAA,EAAKf,MAG3B,ECxEA,IAAM6B,GAAkB,SAAlBA,EAAmB7B,GACvB,IAAAC,EAA6CD,EAAME,YAA3CC,EAAcF,EAAdE,eAAgBN,EAAQI,EAARJ,SAAUO,EAAMH,EAANG,OAClC,IAAMC,EAAsBF,EAA+CE,mBAC3E,IAAMG,EAAWC,EAAMC,gBAAe,SAACoB,GACrC9B,EAAMQ,UAANR,UAAAA,EAAAA,EAAMQ,SAAWsB,GACjBzB,GAAkB,MAAlBA,EAAoBG,UAAQ,UAAA,EAA5BH,EAAoBG,SAAWsB,EACjC,IAEA,IAAMiD,EAAWxE,GAAQ,WACvB,IAAMyE,EAAqB3E,EAAmB4E,iBAAmB,IACjE,IAAMC,EAAuB7E,EAAmB8E,mBAAqB,IAErE,MAAO,CACLC,YAAaJ,EACbK,cAAeH,EAElB,GAAE,CAAC7E,EAAmB4E,gBAAiB5E,EAAmB8E,oBAE3D,GAAItF,EAAU,CACZ,OAAOe,EAAC0E,EAAavE,KAAKV,EAAkB,CAAEM,MAAOX,EAAMW,MAAOH,SAAUA,IAC9E,CACA,GAAIJ,EAAQ,CACV,OAAOQ,EAAA,OAAA,CAAMI,UAAU,+BAA8BC,SAAEb,EAAOJ,EAAMW,QACtE,CACA,OACEC,EAAA,OAAA,CAAMI,UAAU,+BAA8BC,SAC3CZ,EAAmBkF,cAAgBvF,EAAMW,MACxCC,EAACgE,EAAG,CAACC,MAAM,WAAWL,MAAO,CAAEgB,YAAa,GAAIvE,SAC7C8D,EAASK,cAGZxE,EAACgE,EAAG,CAACJ,MAAO,CAAEgB,YAAa,GAAIvE,SAAE8D,EAASM,iBAIlD,EAEO,IAAMI,GAAwB,SAAxBA,EAAyBzF,GACpC,IAAQqB,EAAkBrB,EAAME,YAAxBmB,cACR,OACET,EAACU,EAAKC,KAAIR,KACJM,EAAa,CACjBG,KAAMxB,EAAMwB,KACZR,UAAWS,EAAW,oCAAqCJ,GAAAA,UAAAA,EAAAA,EAAeL,WAAWC,SAErFL,EAACiB,GAAed,EAAA,CAAA,EAAKf,MAG3B,ECvDA,IAAM0F,GAAsB,SAAtBA,EAAuB1F,GAIvB,IAAA2F,EAAAC,EACJ,IAAMjF,EAAQJ,GAAQ,WAAM,IAAAN,EAC1B,IAAAA,EAAID,EAAME,cAAND,MAAAA,EAAmBG,OAAQ,OAAO6B,UACtC,IAAM4D,EACJC,EAAS9F,EAAMW,QAAUoF,EAAS/F,EAAMW,QAAUqF,EAAUhG,EAAMW,SAAWX,EAAMW,MACrF,IAAKkF,EAAY,CACfI,QAAQC,KAAI,mBAAoBlG,EAAMwB,KAAW2E,OAAAA,KAAKC,UAAUpG,EAAMW,mBACxE,CACA,OAAOkF,EAAa7F,EAAMW,MAAQsB,SACnC,GAAE,EAAA0D,EAAC3F,EAAME,0BAANyF,EAAmBvF,OAAQJ,EAAMwB,KAAMxB,EAAMW,QACjD,IAAM0F,IAAWT,EAAA5F,EAAME,cAAW,MAAjB0F,EAAmBxF,QAAnBwF,UAAAA,EAAAA,EAAmBxF,OAASJ,EAAMW,SAAUA,EAC7D,OAAOC,EAAA,OAAA,CAAAK,SAAOoF,GAChB,EAEO,IAAMC,GAAe,SAAfA,EAAgBtG,GAC3B,OACEY,EAACU,EAAKC,KAAI,CAACgF,QAAO,KAAC/E,KAAMxB,EAAMwB,KAAKP,SAClCL,EAAC8E,GAAmB,CAAClE,KAAMxB,EAAMwB,KAAMtB,YAAaF,EAAME,eAGhE,ECzBO,IAAMsG,GAAmB,SAAnBA,EAAoBxG,GAC/B,IAAAC,EAA0CD,EAAME,YAAxCmB,EAAapB,EAAboB,cAAelB,EAAcF,EAAdE,eACvB,OACES,EAACU,EAAKC,KAAIR,KAAKM,EAAa,CAAEG,KAAMxB,EAAMwB,KAAKP,SAC7CL,EAAC6F,EAAoB1F,EAAMZ,CAAAA,EAAAA,EAA0CE,uBAG3E,sBCLA,IAAMqG,GAA+B,SAA/BA,EACJ1G,GAEA,IAAAC,EAA6CD,EAAME,YAA3CC,EAAcF,EAAdE,eAAgBC,EAAMH,EAANG,OAAQP,EAAQI,EAARJ,SAChC,IAAA8G,EAAqCxG,EAA4CE,mBAAzEY,EAAQ0F,EAAR1F,SAAa2F,EAAUC,EAAAF,EAAAG,IAC/B,GAAIjH,EAAU,CACZ,OACEe,EAACmG,EAAahG,EAAA,CAACiG,SAAS,QAAWJ,EAAU,CAAEjG,MAAOX,EAAMW,MAAOH,SAAUR,EAAMQ,SAASS,SACzFA,IAGP,CACA,OACEL,EAAA,MAAA,CAAKI,UAAU,+BAA8BC,SAC1Cb,EACCA,EAAOJ,EAAMW,OAEbC,EAACmG,EAAahG,EAAA,CAACiG,SAAS,QAAWJ,EAAU,CAAEjG,MAAOX,EAAMW,MAAOsG,SAAU,SAIrF,EAEO,IAAMC,GAAwB,SAAxBA,EAAyBlH,GACpC,IAAQqB,EAAkBrB,EAAME,YAAxBmB,cACR,OACET,EAACU,EAAKC,KAAIR,KACJM,EAAa,CACjBG,KAAMxB,EAAMwB,KACZR,UAAWS,EAAW,oCAAqCJ,GAAAA,UAAAA,EAAAA,EAAeL,WAAWC,SAErFL,EAAC8F,GAA4B3F,EAAA,CAAA,EAAKf,MAGxC,EClBO,IAAMmH,GAAkB,SAAlBA,EAAmBnH,GAC9B,IAAAC,EAAqCD,EAAME,YAAnCC,EAAcF,EAAdE,eAAgBN,EAAQI,EAARJ,SACxB,IAAMuH,EAAcxH,EAAYC,EAAUG,EAAMF,eAChD,IAAMI,EAAcmH,EAAO,GAAIrH,EAAME,YAAa,CAAEL,SAAUuH,IAE9D,IAAME,EAAc,CAClB9F,KAAMxB,EAAMwB,KACZtB,YAAAA,GAGF,IAAIC,GAAc,UAAA,EAAdA,EAAgBoH,QAAS,SAAWH,EAAa,CACnD,OAAOxG,EAACyB,EAAatB,EAAKuG,CAAAA,EAAAA,GAC5B,MAAO,IAAInH,GAAAA,UAAAA,EAAAA,EAAgBoH,QAAS,eAAiBH,EAAa,CAChE,OAAOxG,EAAC2B,EAAmBxB,EAAKuG,CAAAA,EAAAA,GAClC,MAAO,IAAInH,GAAAA,UAAAA,EAAAA,EAAgBoH,QAAS,YAAcH,EAAa,CAC7D,OAAOxG,EAAC4F,GAAgBzF,EAAKuG,CAAAA,EAAAA,GAC/B,MAAO,IAAInH,GAAAA,UAAAA,EAAAA,EAAgBoH,QAAS,qBAAuBH,EAAa,CACtE,OAAOxG,EAACc,EAAyBX,EAAKuG,CAAAA,EAAAA,SACjC,IAAInH,GAAc,UAAA,EAAdA,EAAgBoH,QAAS,yBAA0B,CAC5D,OAAO3G,EAACwB,EAA8BrB,EAAKuG,CAAAA,EAAAA,SACtC,IAAInH,GAAc,UAAA,EAAdA,EAAgBoH,QAAS,kBAAmB,CACrD,OAAO3G,EAACkE,GAAuB/D,EAAKuG,CAAAA,EAAAA,SAC/B,IAAInH,GAAc,UAAA,EAAdA,EAAgBoH,QAAS,gBAAiB,CACnD,OAAO3G,EAACQ,EAAqBL,EAAKuG,CAAAA,EAAAA,SAC7B,IAAInH,GAAc,UAAA,EAAdA,EAAgBoH,QAAS,aAAc,CAChD,OAAO3G,EAACiC,EAAkB9B,EAAKuG,CAAAA,EAAAA,SAC1B,IAAInH,GAAc,UAAA,EAAdA,EAAgBoH,QAAS,gBAAiB,CACnD,OAAO3G,EAACsG,GAAqBnG,EAAKuG,CAAAA,EAAAA,SAC7B,IAAInH,GAAc,UAAA,EAAdA,EAAgBoH,QAAS,gBAAiB,CACnD,OAAO3G,EAAC6E,GAAqB1E,EAAKuG,CAAAA,EAAAA,SAC7B,IAAInH,GAAc,UAAA,EAAdA,EAAgBoH,QAAS,SAAU,CAC5C,OAAOpH,EAAeE,mBAAmB,CACvCmB,KAAMxB,EAAMwB,KACZ3B,SAAUuH,EACVI,aAAcxH,EAAMwH,aACpB1H,cAAeE,EAAMF,eAEzB,CAEA,OAAOc,EAAC0F,GAAYvF,EAAKuG,CAAAA,EAAAA,GAC3B,EChDO,IAAMG,GAAW,SAAXA,EAAYzH,GACvB,IAAM0H,EAAOpG,EAAKqG,kBAClB,IAAAC,EAOI5H,EAAM6H,eANRC,EAAsBF,EAAtBE,uBACAC,EAAkBH,EAAlBG,mBACAC,EAAqBJ,EAArBI,sBACAC,EAA0BL,EAA1BK,2BACAC,EAAyBN,EAAzBM,0BACAC,EAAmBP,EAAnBO,oBAEF,OACEvH,EAACU,EAAK8G,KAAI,CAAC5G,KAAMxB,EAAMwB,KAAKP,SACzB,SAAAA,EAACoH,EAAMC,GAAA,IAAIC,EAAGD,EAAHC,IAAKC,EAAMF,EAANE,OAAM,OACrBlE,EAAAmE,EAAA,CAAAxH,SACG6G,CAAAA,EACGA,EAAuB,CACrBhI,cAAeE,EAAMF,cACrByI,IAAAA,EACA,SAAI5H,GACF,OAAO+G,EAAKgB,cAAc1I,EAAMwH,aAClC,IAEF,KACHa,EAAO9E,KAAI,SAACoF,EAAYhE,GACvB,IAAMiE,EAAcb,EAAmBnE,MAAK,SAACJ,GAAI,OAC/C5D,EAAY4D,EAAK3D,SAAUG,EAAMF,cAAc,IAEjD,IAAMkB,EAAYS,EAChB,+BAA8B,gCACEzB,EAAMwB,KAAK,GAC3C,CAAE,wCAAyCoH,IAE7C,OACEtE,EAAA,MAAA,CAAiBtD,UAAWA,EAAUC,SACnCgH,CAAAA,GAAAA,UAAAA,EAAAA,EAA6B,CAC5BM,IAAAA,EACAC,OAAQ,SAAAA,IACNA,EAAO7D,EACR,EACDkE,kBAAmBlE,EACnB7E,cAAeE,EAAMF,cACrB,SAAIa,GACF,OAAO+G,EAAKgB,cAAa,GAAAI,OAAK9I,EAAMwH,aAAcmB,CAAAA,EAAWnH,OAC/D,IAEF8C,EAACyE,EAAK,CAAA9H,SAAA,CACH8G,EAAmBxE,KAAI,SAACyF,EAAWrE,GAClC,OACE/D,EAACuG,GAAe,CACd3F,KAAM,CAACmH,EAAWnH,KAAMwH,EAAUC,WAClC/I,YAAa8I,EAEblJ,cAAeE,EAAMF,cACrB0H,aAAY,GAAAsB,OAAM9I,EAAMwH,aAAY,CAAEmB,EAAWnH,QAF5CmD,EAKX,IACCiE,EACChI,EAACsI,GAAkB,CACjBf,oBAAqBA,EACrBK,OAAQ,SAAAA,IACNA,EAAO7D,EACP,EACFA,MAAOA,IAEP1C,aAELiG,GAAyB,UAAA,EAAzBA,EAA4B,CAC3BK,IAAAA,EACAM,kBAAmBlE,EACnB7E,cAAeE,EAAMF,cACrB0I,OAAQ,SAAAA,IACNA,EAAO7D,EACR,EACD,SAAIhE,GACF,OAAO+G,EAAKgB,cAAa,GAAAI,OAAK9I,EAAMwH,aAAcmB,CAAAA,EAAWnH,OAC/D,MA3CMmD,EA+Cd,IACCqD,EACGA,EAAsB,CACpBlI,cAAeE,EAAMF,cACrByI,IAAAA,EACA,SAAI5H,GACF,OAAO+G,EAAKgB,cAAc1I,EAAMwH,aAClC,IAEF,OACH,GAIX,EAEA,IAAM0B,GAAqB,SAArBA,EAAsBlJ,GAK1B,OACEY,EAACU,EAAKC,KAAI,CAAAN,SACPjB,EAAMmI,oBACLnI,EAAMmI,oBAAoB,CAAEK,OAAQxI,EAAMwI,OAAQK,kBAAmB7I,EAAM2E,QAE3E/D,EAACuI,EAAM,CAAC5B,KAAK,OAAO6B,OAAM,KAACC,KAAMzI,EAAA0I,MAAoBC,QAASvJ,EAAMwI,OAAOvH,SAAC,QAMpF,EC9GO,IAAMuI,GAAe,SAAfA,EAAgBxJ,GAC3B,GAAIA,EAAME,YAAa,CACrB,GAAI8B,EAAQhC,EAAME,YAAY,uBAAwB,CACpD,IAAM2H,EAAiB7H,EAAME,YAC7B,OACEU,EAAC6G,GAAQ,CACPjG,KAAMxB,EAAMwB,KACZgG,aAAcxH,EAAMwH,aACpBK,eAAgBA,EAChB/H,cAAeE,EAAMF,eAG3B,KAAO,CACL,OACEwE,EAACC,EAAQ,CAAAtD,SAAA,CACPL,EAACuG,GAAe,CACd3F,KAAMxB,EAAMwB,KACZtB,YAAaF,EAAME,YACnBJ,cAAeE,EAAMF,cACrB0H,aAAcxH,EAAMwH,eAErBxH,EAAMyJ,YACL7I,EAACU,EAAKC,KAAI,CAACmI,OAAQ,KAAMlI,KAAMxB,EAAMyJ,YAAYE,UAAU1I,SACzDL,EAACgJ,EAAO,MAER,OAGV,CACF,CACA,OAAOhJ,EAAC0F,GAAY,CAAC9E,KAAMxB,EAAMwB,MACnC,6GC2EO,IAAMqI,GAAgBC,GAAoD,SAAC9J,EAAO+J,GAAQ,IAAAC,EAC/F,IAAMC,EAAO3I,EAAKqG,kBAElB,IAAMuC,EAAoBC,EAA4B,IAEtD,IAAMC,EAAU7J,GAAQ,WACtB,IAAKP,EAAMoK,QAAS,MAAO,GAC3B,OAAOpK,EAAMoK,QAAQ7G,KAAI,SAAC8G,GACxB,IACEnK,EAOEmK,EAPFnK,YACAoK,EAMED,EANFC,iBACAC,EAKEF,EALFE,0BACAC,EAIEH,EAJFG,QACAC,EAGEJ,EAHFI,MACAC,EAEEL,EAFFK,iBACGC,EAAe9D,EAChBwD,EAAUvD,IACd,IAAM8D,EAAUC,EAAeJ,WAAiBA,IAAU,SAC1D,IAAIK,EACJ,GAAIJ,GAAoBE,EAAS,CAC/B,UAAWF,IAAqB,SAAU,CACxCI,EACElK,EAACmK,EAAW,CAACC,QAAQ,UAAUC,aAAc,CAAEC,QAASR,GAAmBzJ,SACxEwJ,GAGP,KAAO,CACLK,EAAclK,EAACmK,EAAWhK,KAAK2J,EAAgB,CAAAzJ,SAAGwJ,IACpD,CACD,MAAM,GAAID,EAAS,CAClBM,EAAclK,EAACuK,EAAiB,CAACV,MAAOA,EAAiBD,QAASA,GACpE,KAAO,CACLM,EAAcL,CAChB,CACA,OAAA1J,EAAA,CACE0J,MAAOK,EACPM,OAAQ,SAAAA,IAAM,IAAAC,EACZ,MAAO,CACLC,SAAQD,EAAArL,EAAMuL,aAANF,UAAAA,EAAAA,EAAkBG,oBAAqB,SAEnD,GACGb,EAAe,CAClBvK,OAAQ,SAAAA,EAACqL,EAAQC,EAAQ/G,GACvB,GAAI+G,EAAO,mBAAoB,CAC7B,GAAInB,EAA2B,CAC7B,OAAOA,EAA0BkB,EAAQC,EAAQ/G,EACnD,CACA,OAAO8G,CACT,CACA,IAAME,EAAY,GAAA7C,OAAO8C,EAAyB5L,EAAMwB,MAAa,CAAEkK,EAAOlK,OAC9E,IAAMgG,EAAe6C,EAAWV,UAASb,GAAAA,OAAO6C,EAActB,CAAAA,EAAWV,YAAagC,EACtF,IAAME,EAAevB,GAAgB,UAAA,EAAhBA,EAAmB,CACtC9I,KAAMgG,EACN1H,cAAe4L,EAAOlK,KACtBsK,UAAWJ,EAAOI,UAClBH,aAAAA,EACAhH,MAAAA,IAEF,GAAIkH,EAAc,CAChB,OAAOA,CACT,CAEA,IAAME,SACG7L,IAAgB,WACnBA,EAAY,CACVsB,KAAMgG,EACN1H,cAAe4L,EAAOlK,KACtBmK,aAAAA,EACAK,gBAAiB,SAAAA,IACf,OAAO/B,EAAKvB,cAAciD,EAC5B,IAEFzL,EACN,OACEU,EAAC4I,GAAY,CACXhI,KAAM6I,EAAWV,UAAY,CAAC+B,EAAOlK,KAAM6I,EAAWV,WAAa,CAAC+B,EAAOlK,MAC3EgG,aAAcA,EACdtH,YAAa6L,EACbjM,cAAe4L,EAAOlK,KACtBiI,YAAaY,EAAWZ,aAG9B,GAEJ,GACD,GAAE,CAACzJ,EAAMoK,QAASpK,EAAMwB,MAAIwI,EAAEhK,EAAMuL,aAAU,UAAA,EAAhBvB,EAAkBwB,oBAEjD,IAAMS,EAAqB3K,EAAK4K,SAASlM,EAAMwB,KAAMyI,GAErDkC,EAAoBpC,GAAK,WACvB,MAAO,CACLqC,kCAAmC,SAAAA,EAACC,GAClC,IAAM1J,EAASuH,EAAkBoC,QAAQ1I,MAAK,SAACJ,GAAI,OAAKA,EAAK6I,MAAQA,KACrE,GAAI1J,EAAQ,CACV,OAAOsH,EAAKvB,cAAaI,GAAAA,OAAK8C,EAAgB5L,EAAMwB,MAAK,CAAEmB,EAAOnB,OACpE,CACA,OAAOS,SACT,EAEJ,IAEA,OACErB,EAAA,MAAA,CAAKI,UAAWS,EAAW,iBAAkB,CAAE,sBAAuBzB,EAAMuM,gBAAkB,UAAWtL,SACvGL,EAACU,EAAK8G,KAAI,CAAC5G,KAAMxB,EAAMwB,KAAMgL,MAAOxM,EAAMwM,MAAMvL,SAC7C,SAAAA,EAACoH,EAAQoE,GACRvC,EAAkBoC,QAAUjE,EAC5B,OACE/D,EAACC,EAAQ,CAAAtD,SAAA,CACNjB,EAAM0M,oBAAsB1M,EAAM0M,oBAAoBD,EAAmBpE,EAAO/E,QAAU,KAC3F1C,EAAC+L,EAAK5L,EAAA,CACJ6L,OAAQ,CAAEC,EAAG,eACbC,WAAY,MACZC,OAAO,MACPC,KAAK,SACDhN,EAAMuL,WAAU,CACpB0B,WAAY5E,EAAO9E,KAAI,SAACC,GAAS,IAAA0J,EAC/B,IAAMjM,EAAWgL,GAAkB,OAAAiB,EAAlBjB,EAAqBzI,EAAKhC,QAA1B0L,UAAAA,EAAAA,EAAiCjM,SAClD,GAAIA,EAAU,CACZA,EAAS0C,SAAQ,SAACH,GAChBA,EAAK,mBAAqB,IAC5B,GACF,CACA,OAAAzC,KACKyC,EAAI,CACPsI,UAAWW,EACXxL,SAAAA,GAEJ,IACAmJ,QAASA,KAEVpK,EAAMmN,mBACLnN,EAAMmN,mBAAmBV,EAAmBpE,EAAO/E,QAEnD1C,EAACwM,EAAa,CACZ7F,KAAK,SACLmC,OAAQ1J,EAAMqN,gBACd9D,QAAS,SAAAA,IAAA,OAAMkD,EAAkBlE,IAAIvI,EAAMsN,wBAAsB,UAAA,EAA5BtN,EAAMsN,yBAA4B,EACvEC,MAAK,KACLlE,KAAMzI,EAAA4M,MACNhJ,MAAO,CAAEiJ,UAAW,IAAKxM,SAC1B,SAMT,KAIR"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/editable-table/utils.ts","@flatbiz/antd/src/editable-table/form-item/checkbox-group.tsx","@flatbiz/antd/src/editable-table/form-item/date-picker-wrapper.tsx","@flatbiz/antd/src/editable-table/form-item/date-range-picker-wrapper.tsx","@flatbiz/antd/src/editable-table/form-item/input.tsx","@flatbiz/antd/src/editable-table/form-item/input-number.tsx","@flatbiz/antd/src/editable-table/form-item/radio-group.tsx","@flatbiz/antd/src/editable-table/form-item/selector-wrapper.tsx","@flatbiz/antd/src/editable-table/form-item/switch-wrapper.tsx","@flatbiz/antd/src/editable-table/form-item/text.tsx","@flatbiz/antd/src/editable-table/form-item/textarea.tsx","@flatbiz/antd/src/editable-table/form-item/upload-wrapper.tsx","@flatbiz/antd/src/editable-table/form-item/index.tsx","@flatbiz/antd/src/editable-table/form-list-item/form-list.tsx","@flatbiz/antd/src/editable-table/form-list-item/index.tsx","@flatbiz/antd/src/editable-table/editable-table.tsx"],"sourcesContent":["import { FieldSingleConfig } from './type';\n\nexport const getEditable = (editable: FieldSingleConfig['editable'], tableRowIndex: number) => {\n return typeof editable === 'boolean' ? editable : editable?.({ tableRowIndex });\n};\n","import { classNames } from '@dimjs/utils';\nimport { LabelValueItem, TAny } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Checkbox, Form } from 'antd';\nimport { useMemo } from 'react';\nimport { tableCellRender } from '../../table-cell-render';\nimport { EditableCheckboxGroupConfig, EditableFormItemProps } from '../type';\n\ntype CheckboxGroupFormItemContent = Omit<EditableFormItemProps, 'formItemProps'> & {\n value?: Array<string | number>;\n onChange?: (value: TAny) => void;\n};\n\nconst CheckboxGroupFormItemContent = (props: CheckboxGroupFormItemContent) => {\n const { editableConfig, editable, render } = props.fieldConfig;\n const editableComptProps = (editableConfig as EditableCheckboxGroupConfig).editableComptProps;\n const options = useMemo(\n () => (editableComptProps.options || []) as LabelValueItem[],\n [editableComptProps.options],\n );\n const onChange = hooks.useCallbackRef((value) => {\n props.onChange?.(value);\n editableComptProps.onChange?.(value);\n });\n\n if (editable) {\n return <Checkbox.Group {...editableComptProps} value={props.value} onChange={onChange} />;\n }\n\n return (\n <span className=\"editable-checkbox-group-view\">\n {render ? render(props.value, options) : tableCellRender.selectorCell(options)(props.value)}\n </span>\n );\n};\n\nexport const CheckboxGroupFormItem = (props: EditableFormItemProps) => {\n const { formItemProps } = props.fieldConfig;\n\n return (\n <Form.Item\n {...formItemProps}\n name={props.name}\n className={classNames('editable-checkbox-group-form-item', formItemProps?.className)}\n >\n <CheckboxGroupFormItemContent {...props} />\n </Form.Item>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { Form } from 'antd';\nimport { DatePickerWrapper } from '../../date-picker-wrapper';\nimport { EditableDatePickerWrapperConfig, EditableFormItemProps } from '../type';\n\nexport const DatePickerWrapperFormItem = (props: EditableFormItemProps) => {\n const { formItemProps, editableConfig } = props.fieldConfig;\n return (\n <Form.Item\n {...formItemProps}\n name={props.name}\n className={classNames('editable-date-picker-wraper-form-item', formItemProps?.className)}\n >\n <DatePickerWrapper\n allowClear\n {...(editableConfig as EditableDatePickerWrapperConfig).editableComptProps}\n />\n </Form.Item>\n );\n};\n","import { isArray } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { hooks } from '@wove/react';\nimport { Form } from 'antd';\nimport { useMemo } from 'react';\nimport { DateRangePickerWrapper } from '../../date-range-picker-wrapper';\nimport { EditableDateRangePickerWrapperConfig, EditableFormItemProps } from '../type';\n\ntype FormItemContentProps = Omit<EditableFormItemProps, 'formItemProps'> & {\n value?: [string, string];\n onChange?: (value?: [string, string]) => void;\n};\n\nconst FormItemContent = (props: FormItemContentProps) => {\n const { editableConfig, editable, render } = props.fieldConfig;\n const editableComptProps = (editableConfig as EditableDateRangePickerWrapperConfig).editableComptProps;\n\n const onChange = hooks.useCallbackRef((data) => {\n props.onChange?.(data);\n editableComptProps?.onChange?.(data);\n });\n\n const viewLabel = useMemo(() => {\n const value = isArray(props.value) ? props.value : ([] as any[]);\n if (editable) return undefined;\n return value.join('~');\n }, [editable, props.value]);\n\n if (editable) {\n return (\n <DateRangePickerWrapper allowClear {...editableComptProps} value={props.value} onChange={onChange} />\n );\n }\n return <span className=\"editable-date-range-picker-view\">{render ? render(props.value) : viewLabel}</span>;\n};\n\nexport const DateRangePickerWrapperFormItem = (props: EditableFormItemProps) => {\n const { formItemProps } = props.fieldConfig;\n return (\n <Form.Item\n {...formItemProps}\n name={props.name}\n className={classNames('editable-date-range-picker-wraper-form-item', formItemProps?.className)}\n >\n <FormItemContent {...props} />\n </Form.Item>\n );\n};\n","import { Form } from 'antd';\nimport { InputWrapper } from '../../input-wrapper';\nimport { EditableFormItemProps, EditableInputConfig } from '../type';\n\nexport const InputFormItem = (props: EditableFormItemProps) => {\n const { formItemProps, editableConfig } = props.fieldConfig;\n\n return (\n <Form.Item {...formItemProps} name={props.name}>\n <InputWrapper allowClear {...(editableConfig as EditableInputConfig).editableComptProps} />\n </Form.Item>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { Form, InputNumber } from 'antd';\nimport { EditableFormItemProps, EditableInputNumberConfig } from '../type';\n\nexport const InputNumberFormItem = (props: EditableFormItemProps) => {\n const { formItemProps, editableConfig } = props.fieldConfig;\n return (\n <Form.Item\n {...formItemProps}\n name={props.name}\n className={classNames('editable-input-number-form-item', formItemProps?.className)}\n >\n <InputNumber {...(editableConfig as EditableInputNumberConfig).editableComptProps} />\n </Form.Item>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { LabelValueItem } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Form, Radio } from 'antd';\nimport { useMemo } from 'react';\nimport { tableCellRender } from '../../table-cell-render';\nimport { EditableFormItemProps, EditableRadioGroupConfig } from '../type';\n\ntype RadioGroupFormItemContent = Omit<EditableFormItemProps, 'formItemProps'> & {\n value?: string | number;\n onChange?: (value: string | number) => void;\n};\n\nconst RadioGroupFormItemContent = (props: RadioGroupFormItemContent) => {\n const { editableConfig, editable, render } = props.fieldConfig;\n const editableComptProps = (editableConfig as EditableRadioGroupConfig).editableComptProps;\n const options = useMemo(\n () => (editableComptProps.options || []) as LabelValueItem<string | number>[],\n [editableComptProps.options],\n );\n\n const onChange = hooks.useCallbackRef((e) => {\n props.onChange?.(e.target.value as string | number);\n editableComptProps.onChange?.(e);\n });\n\n if (editable) {\n return <Radio.Group {...editableComptProps} value={props.value} onChange={onChange} />;\n }\n return (\n <span className=\"editable-radio-group-view\">\n {render ? render(props.value, options) : tableCellRender.selectorCell(options)(props.value)}\n </span>\n );\n};\n\nexport const RadioGroupFormItem = (props: EditableFormItemProps) => {\n const { formItemProps } = props.fieldConfig;\n\n return (\n <Form.Item\n {...formItemProps}\n name={props.name}\n className={classNames('editable-radio-group-form-item', formItemProps?.className)}\n >\n <RadioGroupFormItemContent {...props} />\n </Form.Item>\n );\n};\n","import { isArray } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { arrayField2LabelValue, LabelValueItem, TAny, TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Form, Tag } from 'antd';\nimport { Fragment, useEffect, useState } from 'react';\nimport { SelectorWrapper } from '../../selector-wrapper';\nimport { EditableFormItemProps, EditableSelectWrapperConfig } from '../type';\n\ntype FormItemContentProps = Omit<EditableFormItemProps, 'formItemProps'> & {\n value?: string | number | Array<string | number>;\n onChange?: (value: TAny) => void;\n};\n\nconst FormItemContent = (props: FormItemContentProps) => {\n const { editableConfig, editable, render } = props.fieldConfig;\n const editableComptProps = (editableConfig as EditableSelectWrapperConfig).editableComptProps;\n const [selectorList, setSelectorList] = useState<LabelValueItem[]>([]);\n const [viewLabelList, setviewLabelList] = useState<LabelValueItem[]>([]);\n\n useEffect(() => {\n if (!editable) {\n const value = isArray(props.value) ? props.value : props.value === undefined ? [] : [props.value];\n if (selectorList.length === 0) {\n setviewLabelList(value.map((item) => ({ label: item as string, value: item })));\n }\n const returnList = [] as LabelValueItem[];\n value.forEach((item) => {\n const target = selectorList.find((temp) => temp.value === item);\n returnList.push(target ? target : { label: String(item), value: item });\n });\n setviewLabelList(returnList);\n }\n }, [editable, editableComptProps.fieldNames, props.value, selectorList]);\n\n const onSelectorListAllChange = hooks.useCallbackRef((dataList: TPlainObject[]) => {\n setSelectorList(arrayField2LabelValue(dataList || [], editableComptProps.fieldNames));\n });\n\n const onChange = hooks.useCallbackRef((value, selectList) => {\n props.onChange?.(value);\n editableComptProps.onChange?.(value, selectList);\n });\n\n if (editable) {\n return (\n <SelectorWrapper\n {...editableComptProps}\n value={props.value}\n onChange={onChange}\n onSelectorListAllChange={onSelectorListAllChange}\n />\n );\n }\n return (\n <Fragment>\n <div style={{ display: 'none' }}>\n <SelectorWrapper {...editableComptProps} onSelectorListAllChange={onSelectorListAllChange} />\n </div>\n <span className=\"editable-selector-view\">\n {render\n ? render(props.value, selectorList)\n : viewLabelList.map((tag, index) => (\n <Tag key={index} color={'geekblue'}>\n {tag.label}\n </Tag>\n ))}\n </span>\n </Fragment>\n );\n};\n\nexport const SelectorWrapperFormItem = (props: EditableFormItemProps) => {\n const { formItemProps } = props.fieldConfig;\n\n return (\n <Form.Item\n {...formItemProps}\n name={props.name}\n className={classNames('editable-selector-wrapper-form-item', formItemProps?.className)}\n >\n <FormItemContent {...props} />\n </Form.Item>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { hooks } from '@wove/react';\nimport { Form, Tag } from 'antd';\nimport { useMemo } from 'react';\nimport { SwitchWrapper } from '../../switch-wrapper';\nimport { EditableFormItemProps, EditableSwitchWrapperConfig } from '../type';\n\ntype FormItemContentProps = Omit<EditableFormItemProps, 'formItemProps'> & {\n value?: string | number | boolean;\n onChange?: (value?: string | number | boolean) => void;\n};\n\nconst FormItemContent = (props: FormItemContentProps) => {\n const { editableConfig, editable, render } = props.fieldConfig;\n const editableComptProps = (editableConfig as EditableSwitchWrapperConfig).editableComptProps;\n const onChange = hooks.useCallbackRef((data) => {\n props.onChange?.(data);\n editableComptProps?.onChange?.(data);\n });\n\n const viewData = useMemo(() => {\n const defaultCheckedText = editableComptProps.checkedChildren || '是';\n const defaultUnCheckedText = editableComptProps.unCheckedChildren || '否';\n\n return {\n checkedText: defaultCheckedText,\n unCheckedText: defaultUnCheckedText,\n };\n }, [editableComptProps.checkedChildren, editableComptProps.unCheckedChildren]);\n\n if (editable) {\n return <SwitchWrapper {...editableComptProps} value={props.value} onChange={onChange} />;\n }\n if (render) {\n return <span className=\"editable-switch-wrapper-view\">{render(props.value)}</span>;\n }\n return (\n <span className=\"editable-switch-wrapper-view\">\n {editableComptProps.checkedValue == props.value ? (\n <Tag color=\"geekblue\" style={{ marginRight: 0 }}>\n {viewData.checkedText}\n </Tag>\n ) : (\n <Tag style={{ marginRight: 0 }}>{viewData.unCheckedText}</Tag>\n )}\n </span>\n );\n};\n\nexport const SwitchWrapperFormItem = (props: EditableFormItemProps) => {\n const { formItemProps } = props.fieldConfig;\n return (\n <Form.Item\n {...formItemProps}\n name={props.name}\n className={classNames('editable-switch-wrapper-form-item', formItemProps?.className)}\n >\n <FormItemContent {...props} />\n </Form.Item>\n );\n};\n","import { isBoolean, isNumber, isString } from '@dimjs/lang';\nimport { Form } from 'antd';\nimport { useMemo } from 'react';\nimport { EditableFormItemProps, FieldSingleConfig } from '../type';\n\nconst FormItemTextContent = (props: {\n value?: string | number;\n name: EditableFormItemProps['name'];\n fieldConfig?: FieldSingleConfig;\n}) => {\n const value = useMemo(() => {\n if (props.fieldConfig?.render) return undefined;\n const isBaseData =\n isString(props.value) || isNumber(props.value) || isBoolean(props.value) || !props.value;\n if (!isBaseData) {\n console.warn(`Form.List name:【${props.name}】数据【${JSON.stringify(props.value)}】不能渲染在页面中`);\n }\n return isBaseData ? props.value : undefined;\n }, [props.fieldConfig?.render, props.name, props.value]);\n const viewText = props.fieldConfig?.render?.(props.value) || value;\n return <span>{viewText}</span>;\n};\n\nexport const TextFormItem = (props: { name: Array<number | string>; fieldConfig?: FieldSingleConfig }) => {\n return (\n <Form.Item noStyle name={props.name}>\n <FormItemTextContent name={props.name} fieldConfig={props.fieldConfig} />\n </Form.Item>\n );\n};\n","import { Form } from 'antd';\nimport { InputTextAreaWrapper } from '../../input-text-area-wrapper';\nimport { EditableFormItemProps, EditableTextareaConfig } from '../type';\n\nexport const TextAreaFormItem = (props: EditableFormItemProps) => {\n const { formItemProps, editableConfig } = props.fieldConfig;\n return (\n <Form.Item {...formItemProps} name={props.name}>\n <InputTextAreaWrapper {...(editableConfig as EditableTextareaConfig).editableComptProps} />\n </Form.Item>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { TAny } from '@flatbiz/utils';\nimport { Form } from 'antd';\nimport { UploadWrapper } from '../../upload-wrapper';\nimport { EditableFileUploadConfig, EditableFormItemProps } from '../type';\n\nconst UploadWrapperFormItemContent = (\n props: EditableFormItemProps & { value?: TAny; onChange?: (value?: TAny) => void },\n) => {\n const { editableConfig, render, editable } = props.fieldConfig;\n const { children, ...otherProps } = (editableConfig as EditableFileUploadConfig).editableComptProps;\n if (editable) {\n return (\n <UploadWrapper listType=\"text\" {...otherProps} value={props.value} onChange={props.onChange}>\n {children}\n </UploadWrapper>\n );\n }\n return (\n <div className=\"upload-wrapper-selector-view\">\n {render ? (\n render(props.value)\n ) : (\n <UploadWrapper listType=\"text\" {...otherProps} value={props.value} disabled={true} />\n )}\n </div>\n );\n};\n\nexport const UploadWrapperFormItem = (props: EditableFormItemProps) => {\n const { formItemProps } = props.fieldConfig;\n return (\n <Form.Item\n {...formItemProps}\n name={props.name}\n className={classNames('editable-upload-wrapper-form-item', formItemProps?.className)}\n >\n <UploadWrapperFormItemContent {...props} />\n </Form.Item>\n );\n};\n","import { extend } from '@dimjs/utils';\nimport { FieldSingleConfig } from '../type';\nimport { getEditable } from '../utils';\nimport { CheckboxGroupFormItem } from './checkbox-group';\nimport { DatePickerWrapperFormItem } from './date-picker-wrapper';\nimport { DateRangePickerWrapperFormItem } from './date-range-picker-wrapper';\nimport { InputFormItem } from './input';\nimport { InputNumberFormItem } from './input-number';\nimport { RadioGroupFormItem } from './radio-group';\nimport { SelectorWrapperFormItem } from './selector-wrapper';\nimport { SwitchWrapperFormItem } from './switch-wrapper';\nimport { TextFormItem } from './text';\nimport { TextAreaFormItem } from './textarea';\nimport { UploadWrapperFormItem } from './upload-wrapper';\n\nexport type FormItemAdapterProps = {\n name: Array<number | string>;\n completeName: Array<number | string>;\n fieldConfig: FieldSingleConfig;\n tableRowIndex: number;\n};\n\nexport const FormItemAdapter = (props: FormItemAdapterProps) => {\n const { editableConfig, editable } = props.fieldConfig;\n const newEditable = getEditable(editable, props.tableRowIndex);\n const fieldConfig = extend({}, props.fieldConfig, { editable: newEditable });\n\n const commomProps = {\n name: props.name,\n fieldConfig,\n };\n\n if (editableConfig?.type === 'input' && newEditable) {\n return <InputFormItem {...commomProps} />;\n } else if (editableConfig?.type === 'inputNumber' && newEditable) {\n return <InputNumberFormItem {...commomProps} />;\n } else if (editableConfig?.type === 'textArea' && newEditable) {\n return <TextAreaFormItem {...commomProps} />;\n } else if (editableConfig?.type === 'datePickerWrapper' && newEditable) {\n return <DatePickerWrapperFormItem {...commomProps} />;\n } else if (editableConfig?.type === 'dateRangePickerWrapper') {\n return <DateRangePickerWrapperFormItem {...commomProps} />;\n } else if (editableConfig?.type === 'selectorWrapper') {\n return <SelectorWrapperFormItem {...commomProps} />;\n } else if (editableConfig?.type === 'checkboxGroup') {\n return <CheckboxGroupFormItem {...commomProps} />;\n } else if (editableConfig?.type === 'radioGroup') {\n return <RadioGroupFormItem {...commomProps} />;\n } else if (editableConfig?.type === 'uploadWrapper') {\n return <UploadWrapperFormItem {...commomProps} />;\n } else if (editableConfig?.type === 'switchWrapper') {\n return <SwitchWrapperFormItem {...commomProps} />;\n } else if (editableConfig?.type === 'custom') {\n return editableConfig.editableComptProps({\n name: props.name,\n editable: newEditable,\n completeName: props.completeName,\n tableRowIndex: props.tableRowIndex,\n });\n }\n\n return <TextFormItem {...commomProps} />;\n};\n","import { DeleteOutlined } from '@ant-design/icons';\nimport { classNames } from '@dimjs/utils';\nimport { Button, Form, Space } from 'antd';\nimport { FormItemAdapter } from '../form-item';\nimport { FormListConfig } from '../type';\nimport { getEditable } from '../utils';\n\nexport type FormListProps = {\n name: Array<number | string>;\n formListConfig: FormListConfig;\n tableRowIndex: number;\n completeName: (string | number)[];\n};\n\nexport const FormList = (props: FormListProps) => {\n const from = Form.useFormInstance();\n const {\n onFormListBeforeRender,\n editableConfigList,\n onFormListAfterRender,\n onFormListItemBeforeRender,\n onFormListItemAfterRender,\n deleteOperateRender,\n } = props.formListConfig;\n return (\n <Form.List name={props.name}>\n {(fields, { add, remove }) => (\n <>\n {onFormListBeforeRender\n ? onFormListBeforeRender({\n tableRowIndex: props.tableRowIndex,\n add,\n get value() {\n return from.getFieldValue(props.completeName);\n },\n })\n : null}\n {fields.map((fieldChild, index) => {\n const hasEditable = editableConfigList.find((item) =>\n getEditable(item.editable, props.tableRowIndex),\n );\n const className = classNames(\n 'editable-inner-formlist-item',\n `editable-inner-formlist-item-${props.name[1]}`,\n { 'editable-inner-formlist-item_preview': !hasEditable },\n );\n return (\n <div key={index} className={className}>\n {onFormListItemBeforeRender?.({\n add,\n remove: () => {\n remove(index);\n },\n formListItemIndex: index,\n tableRowIndex: props.tableRowIndex,\n get value() {\n return from.getFieldValue([...props.completeName, fieldChild.name]);\n },\n })}\n <Space>\n {editableConfigList.map((fieldItem, index) => {\n return (\n <FormItemAdapter\n name={[fieldChild.name, fieldItem.fieldName]}\n fieldConfig={fieldItem}\n key={index}\n tableRowIndex={props.tableRowIndex}\n completeName={[...props.completeName, fieldChild.name]}\n />\n );\n })}\n {hasEditable ? (\n <DeleteFormListItem\n deleteOperateRender={deleteOperateRender}\n remove={() => {\n remove(index);\n }}\n index={index}\n />\n ) : undefined}\n </Space>\n {onFormListItemAfterRender?.({\n add,\n formListItemIndex: index,\n tableRowIndex: props.tableRowIndex,\n remove: () => {\n remove(index);\n },\n get value() {\n return from.getFieldValue([...props.completeName, fieldChild.name]);\n },\n })}\n </div>\n );\n })}\n {onFormListAfterRender\n ? onFormListAfterRender({\n tableRowIndex: props.tableRowIndex,\n add,\n get value() {\n return from.getFieldValue(props.completeName);\n },\n })\n : null}\n </>\n )}\n </Form.List>\n );\n};\n\nconst DeleteFormListItem = (props: {\n deleteOperateRender: FormListConfig['deleteOperateRender'];\n remove: () => void;\n index: number;\n}) => {\n return (\n <Form.Item>\n {props.deleteOperateRender ? (\n props.deleteOperateRender({ remove: props.remove, formListItemIndex: props.index })\n ) : (\n <Button type=\"link\" danger icon={<DeleteOutlined />} onClick={props.remove}>\n 删除\n </Button>\n )}\n </Form.Item>\n );\n};\n","import { isArray } from '@dimjs/lang';\nimport { Form, Input } from 'antd';\nimport { Fragment } from 'react';\nimport { FormItemAdapter } from '../form-item';\nimport { TextFormItem } from '../form-item/text';\nimport { FieldSingleConfig, FormListConfig } from '../type';\nimport { FormList } from './form-list';\n\nexport type FormListItemProps = {\n name: Array<number | string>;\n fieldConfig?: FieldSingleConfig | FormListConfig;\n tableRowIndex: number;\n completeName: (string | number)[];\n hiddenField?: { dataIndex: string };\n};\n\nexport const FormListItem = (props: FormListItemProps) => {\n if (props.fieldConfig) {\n if (isArray(props.fieldConfig['editableConfigList'])) {\n const formListConfig = props.fieldConfig as FormListConfig;\n return (\n <FormList\n name={props.name}\n completeName={props.completeName}\n formListConfig={formListConfig}\n tableRowIndex={props.tableRowIndex}\n />\n );\n } else {\n return (\n <Fragment>\n <FormItemAdapter\n name={props.name}\n fieldConfig={props.fieldConfig as FieldSingleConfig}\n tableRowIndex={props.tableRowIndex}\n completeName={props.completeName}\n />\n {props.hiddenField ? (\n <Form.Item hidden={true} name={props.hiddenField.dataIndex}>\n <Input />\n </Form.Item>\n ) : null}\n </Fragment>\n );\n }\n }\n return <TextFormItem name={props.name} />;\n};\n","import { PlusOutlined } from '@ant-design/icons';\nimport { classNames } from '@dimjs/utils';\nimport { TAny, toArray, TPlainObject } from '@flatbiz/utils';\nimport { Form, FormListOperation, Table, TableProps } from 'antd';\nimport { FormListFieldData, FormListProps } from 'antd/es/form';\nimport { ColumnsType } from 'antd/es/table';\nimport {\n forwardRef,\n Fragment,\n isValidElement,\n ReactElement,\n useImperativeHandle,\n useMemo,\n useRef,\n} from 'react';\nimport { ButtonWrapper } from '../button-wrapper';\nimport { TableTitleTooltip } from '../table-title-tooltip';\nimport { TipsWrapper, TipsWrapperProps } from '../tips-wrapper/tips-wrapper';\nimport { FormListItem } from './form-list-item';\nimport './style.less';\nimport { EditableTableName, EditableTableRecordType, FieldSingleConfig, FormListConfig } from './type';\n\ntype fieldConfigFunctionParams = {\n tableRowIndex: number;\n name: EditableTableName;\n tableRowName: EditableTableName;\n getTableRowData: () => TPlainObject;\n};\n/**\n * antd 默认render功能此处不能使用\n */\nexport type EditableTableColumn = Omit<ColumnsType['0'], 'render'> & {\n /**\n * @description 请使用 tipsWrapperProps 属性配置\n * ```\n * 会在 title 之后展示一个 icon,hover 之后提示一些信息\n * 1. title为string类型、ReactElement有效\n * 2. hoverArea 默认值:icon\n * ```\n */\n tooltip?: string | { content: string; icon?: ReactElement; hoverArea?: 'icon' | 'all' };\n /**\n * 会在 title 之后展示一个 icon\n * ```\n * 1. title为string类型有效\n * 2. 可为icon添加提示效果\n * 3. 可为icon添加点击事件\n * ```\n */\n tipsWrapperProps?: string | TipsWrapperProps;\n dataIndex?: string;\n fieldConfig?:\n | FieldSingleConfig\n | FormListConfig\n | ((data: fieldConfigFunctionParams) => FieldSingleConfig | FormListConfig);\n /** 隐藏域字段 */\n hiddenField?: {\n dataIndex: string;\n };\n /**\n * 渲染中间件,如果renderMiddleware返回值为ReactElement格式,则会终止后续逻辑,fieldConfig配置将失效\n * ```\n * 1. tableRowIndex: 当前row的索引值\n * 2. name: 当前table单元格的form.item的name值\n * 3. operation Form.List的操作函数\n * 4. 对 table children column渲染无效\n * ```\n */\n renderMiddleware?: (item: {\n tableRowIndex: number;\n name: EditableTableName;\n tableRowName: EditableTableName;\n operation: FormListOperation;\n index: number;\n }) => ReactElement | null;\n /** table datasource children column 自定义渲染 */\n tableChildrenColumnRender?: (value: TAny, record: TPlainObject, index: number) => ReactElement | null;\n};\n\nexport type EditableTableProps = {\n name: EditableTableName;\n /**\n * ```\n * antd table属性\n * 1. 新增cellVerticalAlign,单元格竖直方向对齐方式,设置table column onCell属性后失效\n * ```\n */\n tableProps?: Omit<TableProps<EditableTableRecordType>, 'dataSource' | 'columns' | 'rowKey'> & {\n cellVerticalAlign?: 'baseline' | 'middle' | 'top' | 'bottom';\n };\n columns: EditableTableColumn[];\n onTableBeforeRender?: (formListOperation: FormListOperation, nextRowIndex: number) => ReactElement | null;\n /**\n * 设置后,将覆盖底部`新增`按钮\n */\n onTableAfterRender?: (formListOperation: FormListOperation, nextRowIndex: number) => ReactElement | null;\n rules?: FormListProps['rules'];\n /** 隐藏底部`新增`按钮,设置 onTableAfterRender后 失效 */\n hiddenFooterBtn?: boolean;\n /** 新增行默认值,自定义onTableAfterRender后失效 */\n getAddRowDefaultValues?: () => TPlainObject;\n /** 空效果显示尺寸,默认值:small */\n emptyShowSize?: 'small' | 'large';\n};\n\nexport type EditableTableRefApi = {\n /** 可用于表格行选择操作时,获取操作列数据 */\n getTableItemDataByFormListItemKey: (key: number) => TPlainObject;\n};\n\n/**\n * 可编辑表格\n * demo:https://fex.qa.tcshuke.com/docs/admin/main/table/row-editable1\n * @param props\n * ```\n * 1. 通过 tableProps 设置Table属性,table size默认:small\n * 2. Table children column 不可编辑\n * 3. 当存在折叠children数据时,组件会在children中内置_isChildrenItem字段\n * 4. 可通过tableChildrenColumnRender自定义渲染 table children column 显示\n * 5. 设置 rowSelection 后,rowSelection.onChange 通过 ref 的 getTableItemDataByFormListItemKey获取数据\n * ```\n */\nexport const EditableTable = forwardRef<EditableTableRefApi, EditableTableProps>((props, ref) => {\n const form = Form.useFormInstance();\n\n const formListFieldsRef = useRef<FormListFieldData[]>([]);\n\n const columns = useMemo(() => {\n if (!props.columns) return [];\n return props.columns.map((columnItem) => {\n const {\n fieldConfig,\n renderMiddleware,\n tableChildrenColumnRender,\n tooltip,\n title,\n tipsWrapperProps,\n ...otherColumnItem\n } = columnItem;\n const support = isValidElement(title) || typeof title === 'string';\n let titleRender: ReactElement | string;\n if (tipsWrapperProps && support) {\n if (typeof tipsWrapperProps === 'string') {\n titleRender = (\n <TipsWrapper tipType=\"popover\" popoverProps={{ content: tipsWrapperProps }}>\n {title}\n </TipsWrapper>\n );\n } else {\n titleRender = <TipsWrapper {...tipsWrapperProps}>{title}</TipsWrapper>;\n }\n } else if (tooltip) {\n titleRender = <TableTitleTooltip title={title as string} tooltip={tooltip} />;\n } else {\n titleRender = title as string;\n }\n return {\n title: titleRender,\n onCell: () => {\n return {\n valign: props.tableProps?.cellVerticalAlign || 'middle',\n };\n },\n ...otherColumnItem,\n render: (_value, record, index) => {\n if (record['_isChildrenItem']) {\n if (tableChildrenColumnRender) {\n return tableChildrenColumnRender(_value, record, index);\n }\n return _value;\n }\n const tableRowName = [...toArray<string | number>(props.name as TAny), record.name];\n const completeName = columnItem.dataIndex ? [...tableRowName, columnItem.dataIndex] : tableRowName;\n const customRender = renderMiddleware?.({\n name: completeName,\n tableRowIndex: record.name,\n operation: record.operation,\n tableRowName,\n index,\n });\n if (customRender) {\n return customRender;\n }\n\n const fieldConfigActual =\n typeof fieldConfig === 'function'\n ? fieldConfig({\n name: completeName,\n tableRowIndex: record.name,\n tableRowName,\n getTableRowData: () => {\n return form.getFieldValue(tableRowName);\n },\n })\n : fieldConfig;\n return (\n <FormListItem\n name={columnItem.dataIndex ? [record.name, columnItem.dataIndex] : [record.name]}\n completeName={completeName}\n fieldConfig={fieldConfigActual}\n tableRowIndex={record.name}\n hiddenField={columnItem.hiddenField}\n />\n );\n },\n };\n }) as ColumnsType<EditableTableRecordType>;\n }, [props.columns, props.name, props.tableProps?.cellVerticalAlign]);\n\n const formListDataSource = Form.useWatch(props.name, form);\n\n useImperativeHandle(ref, () => {\n return {\n getTableItemDataByFormListItemKey: (key) => {\n const target = formListFieldsRef.current.find((item) => item.key === key);\n if (target) {\n return form.getFieldValue([...toArray<string>(props.name), target.name]);\n }\n return undefined;\n },\n };\n });\n\n return (\n <div className={classNames('editable-table', { 'et-empty-show-large': props.emptyShowSize === 'large' })}>\n <Form.List name={props.name} rules={props.rules}>\n {(fields, formListOperation) => {\n formListFieldsRef.current = fields;\n return (\n <Fragment>\n {props.onTableBeforeRender ? props.onTableBeforeRender(formListOperation, fields.length) : null}\n <Table\n scroll={{ x: 'max-content' }}\n pagination={false}\n rowKey=\"key\"\n size=\"small\"\n {...props.tableProps}\n dataSource={fields.map((item) => {\n const children = formListDataSource?.[item.name]?.children as TPlainObject[] | undefined;\n if (children) {\n children.forEach((item) => {\n item['_isChildrenItem'] = true;\n });\n }\n return {\n ...item,\n operation: formListOperation,\n children,\n };\n })}\n columns={columns}\n />\n {props.onTableAfterRender ? (\n props.onTableAfterRender(formListOperation, fields.length)\n ) : (\n <ButtonWrapper\n type=\"dashed\"\n hidden={props.hiddenFooterBtn}\n onClick={() => formListOperation.add(props.getAddRowDefaultValues?.())}\n block\n icon={<PlusOutlined />}\n style={{ marginTop: 15 }}\n >\n 新增\n </ButtonWrapper>\n )}\n </Fragment>\n );\n }}\n </Form.List>\n </div>\n );\n});\n"],"names":["getEditable","editable","tableRowIndex","CheckboxGroupFormItemContent","props","_props$fieldConfig","fieldConfig","editableConfig","render","editableComptProps","options","useMemo","onChange","_hooks","useCallbackRef","value","_jsx","Checkbox","Group","_extends","className","children","tableCellRender","selectorCell","CheckboxGroupFormItem","formItemProps","Form","Item","name","_classNames","DatePickerWrapperFormItem","DatePickerWrapper","allowClear","FormItemContent","data","viewLabel","_isArray","undefined","join","DateRangePickerWrapper","DateRangePickerWrapperFormItem","InputFormItem","InputWrapper","InputNumberFormItem","InputNumber","RadioGroupFormItemContent","e","target","Radio","RadioGroupFormItem","_useState","useState","selectorList","setSelectorList","_useState2","viewLabelList","setviewLabelList","useEffect","length","map","item","label","returnList","forEach","find","temp","push","String","fieldNames","onSelectorListAllChange","dataList","arrayField2LabelValue","selectList","SelectorWrapper","_jsxs","Fragment","style","display","tag","index","Tag","color","SelectorWrapperFormItem","viewData","defaultCheckedText","checkedChildren","defaultUnCheckedText","unCheckedChildren","checkedText","unCheckedText","SwitchWrapper","checkedValue","marginRight","SwitchWrapperFormItem","FormItemTextContent","_props$fieldConfig2","_props$fieldConfig3","isBaseData","_isString","_isNumber","_isBoolean","console","warn","JSON","stringify","viewText","TextFormItem","noStyle","TextAreaFormItem","InputTextAreaWrapper","UploadWrapperFormItemContent","_editableComptProps","otherProps","_objectWithoutPropertiesLoose","_excluded","UploadWrapper","listType","disabled","UploadWrapperFormItem","FormItemAdapter","newEditable","_extend","commomProps","type","completeName","FormList","from","useFormInstance","_props$formListConfig","formListConfig","onFormListBeforeRender","editableConfigList","onFormListAfterRender","onFormListItemBeforeRender","onFormListItemAfterRender","deleteOperateRender","List","fields","_ref","add","remove","_Fragment","getFieldValue","fieldChild","hasEditable","formListItemIndex","concat","Space","fieldItem","fieldName","DeleteFormListItem","Button","danger","icon","_DeleteOutlined","onClick","FormListItem","hiddenField","hidden","dataIndex","Input","EditableTable","forwardRef","ref","_props$tableProps2","form","formListFieldsRef","useRef","columns","columnItem","renderMiddleware","tableChildrenColumnRender","tooltip","title","tipsWrapperProps","otherColumnItem","support","isValidElement","titleRender","TipsWrapper","tipType","popoverProps","content","TableTitleTooltip","onCell","_props$tableProps","valign","tableProps","cellVerticalAlign","_value","record","tableRowName","toArray","customRender","operation","fieldConfigActual","getTableRowData","formListDataSource","useWatch","useImperativeHandle","getTableItemDataByFormListItemKey","key","current","emptyShowSize","rules","formListOperation","onTableBeforeRender","Table","scroll","x","pagination","rowKey","size","dataSource","_formListDataSource$i","onTableAfterRender","ButtonWrapper","hiddenFooterBtn","getAddRowDefaultValues","block","_PlusOutlined","marginTop"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* eslint-disable */
|
|
2
2
|
import './index.css';
|
|
3
3
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
4
|
-
import{a as r,_ as e}from"../_rollupPluginBabelHelpers-a0769acd.js";import{composeProps as
|
|
4
|
+
import{a as r,_ as e}from"../_rollupPluginBabelHelpers-a0769acd.js";import{classNames as l}from"@dimjs/utils/cjs/class-names";import{composeProps as a}from"@flatbiz/utils";import{Form as i}from"antd";import{useMemo as t,isValidElement as n,cloneElement as o}from"react";import{jsx as f,jsxs as m}from"react/jsx-runtime";var p=["wrapper","children","inputNormalize"],u=["wrapper","isClear","labelWidth","labelItemVertical","labelAlign","children","before","after","inputNormalize","outputNormalize"];var s=function e(l){var i=l.wrapper,t=l.children,n=l.inputNormalize,u=r(l,p);var s=u.hasOwnProperty("value");if(s&&n){u["value"]=n(u["value"])}var c=o(t,a(t.props,u,true));if(i){return i(c)}if(l.before||l.after){return m("div",{style:{display:"flex",alignItems:"center"},children:[l.before?f("span",{style:{marginRight:10},children:l.before}):null,f("div",{style:{flex:1},children:c}),l.after?f("span",{style:{marginLeft:10},children:l.after}):null]})}return c};var c=function a(o){var m=o.wrapper,p=o.isClear,c=o.labelWidth,b=o.labelItemVertical,d=o.labelAlign,v=o.children,h=o.before,z=o.after,N=o.inputNormalize,g=o.outputNormalize,w=r(o,u);var y=t((function(){var r="";if(c){r+="form-item-label-"+c}if(b){r+=" form-label-value-vertical"}if(d){r+=" form-label-align-"+d}return r}),[c,b,d]);if(p)return null;return f(i.Item,e({normalize:g},w,{className:l(y,w.className),children:n(v)?f(s,{wrapper:m,before:h,after:z,inputNormalize:N,children:v}):v}))};export{c as FormItemWrapper};
|
|
5
5
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/form-item-wrapper/form-item-wrapper.tsx"],"sourcesContent":["import { composeProps, TAny } from '@flatbiz/utils';\nimport { Form, FormItemProps } from 'antd';\nimport { cloneElement, isValidElement, ReactElement, ReactNode } from 'react';\n\nexport interface FormItemWrapperProps extends FormItemProps {\n wrapper?: (children: ReactNode) => ReactElement;\n /** 设置wrapper后,before、after失效 */\n before?: ReactNode;\n /** 设置wrapper后,before、after失效 */\n after?: ReactNode;\n /** value 序列化处理 */\n inputNormalize?: (value?: TAny) => TAny;\n /**\n * onChange 参数序列化处理\n * 如果设置 normalize 属性,outputNormalize将失效\n */\n outputNormalize?: (value?: TAny) => TAny;\n /**
|
|
1
|
+
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/form-item-wrapper/form-item-wrapper.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { composeProps, TAny } from '@flatbiz/utils';\nimport { Form, FormItemProps } from 'antd';\nimport { cloneElement, isValidElement, ReactElement, ReactNode, useMemo } from 'react';\n\nexport interface FormItemWrapperProps extends FormItemProps {\n wrapper?: (children: ReactNode) => ReactElement;\n /** 设置wrapper后,before、after失效 */\n before?: ReactNode;\n /** 设置wrapper后,before、after失效 */\n after?: ReactNode;\n /** value 序列化处理 */\n inputNormalize?: (value?: TAny) => TAny;\n /**\n * onChange 参数序列化处理\n * 如果设置 normalize 属性,outputNormalize将失效\n */\n outputNormalize?: (value?: TAny) => TAny;\n /** 是否清除 Form.Item */\n isClear?: boolean;\n /**\n * label宽度\n * ```\n * 1. 如果想控制Form下所有label,可使用FormWrapper组件 替换 Form组件,在FormWrapper上设置属性\n * ```\n */\n labelWidth?:\n | 'auto'\n | '70'\n | '80'\n | '90'\n | '100'\n | '110'\n | '120'\n | '130'\n | '140'\n | '150'\n | '160'\n | '170'\n | '180'\n | '190'\n | '200';\n\n /**\n * labelItem 竖直布局\n * ```\n * 1. 如果想控制Form下所有labelItem,可使用FormWrapper组件 替换 Form组件,在FormWrapper上设置属性\n * ```\n */\n labelItemVertical?: true;\n /**\n * label 对齐方式\n * ```\n * 1. 如果想控制Form下所有labelAlign,可使用FormWrapper组件 替换 Form组件,在FormWrapper上设置属性\n * ```\n */\n labelAlign?: 'left' | 'right';\n}\n\ntype FormItemWrapperChildrenProps = Pick<\n FormItemWrapperProps,\n 'wrapper' | 'after' | 'before' | 'inputNormalize'\n> & {\n children: ReactElement;\n};\n\nconst FormItemWrapperChildren = (props: FormItemWrapperChildrenProps) => {\n const { wrapper, children, inputNormalize, ...rest } = props;\n // composeProps 合并执行 Form.Item 传的 onChange 以及组件本身的方法\n const hasValue = rest.hasOwnProperty('value');\n if (hasValue && inputNormalize) {\n rest['value'] = inputNormalize(rest['value']);\n }\n const _children = cloneElement(children, composeProps(children.props, rest, true));\n if (wrapper) {\n return wrapper(_children);\n }\n if (props.before || props.after) {\n return (\n <div style={{ display: 'flex', alignItems: 'center' }}>\n {props.before ? <span style={{ marginRight: 10 }}>{props.before}</span> : null}\n <div style={{ flex: 1 }}>{_children}</div>\n {props.after ? <span style={{ marginLeft: 10 }}>{props.after}</span> : null}\n </div>\n );\n }\n return _children;\n};\n\n/**\n * 对 Form.Item 包装处理\n * ```\n * 1. 为 children 增加 before、after\n * 2. 对输入、输出数据进行序列化处理\n * 3. 内置布局样式使用 preDefinedClassName.formItem\n * ```\n */\nexport const FormItemWrapper = (props: FormItemWrapperProps) => {\n const {\n wrapper,\n isClear,\n labelWidth,\n labelItemVertical,\n labelAlign,\n children,\n before,\n after,\n inputNormalize,\n outputNormalize,\n ...rest\n } = props;\n\n const innerClassName = useMemo(() => {\n let cn = '';\n if (labelWidth) {\n cn += `form-item-label-${labelWidth}`;\n }\n if (labelItemVertical) {\n cn += ` form-label-value-vertical`;\n }\n if (labelAlign) {\n cn += ` form-label-align-${labelAlign}`;\n }\n return cn;\n }, [labelWidth, labelItemVertical, labelAlign]);\n\n if (isClear) return null;\n\n return (\n <Form.Item normalize={outputNormalize} {...rest} className={classNames(innerClassName, rest.className)}>\n {isValidElement(children) ? (\n <FormItemWrapperChildren\n wrapper={wrapper}\n before={before}\n after={after}\n inputNormalize={inputNormalize}\n >\n {children}\n </FormItemWrapperChildren>\n ) : (\n children\n )}\n </Form.Item>\n );\n};\n"],"names":["FormItemWrapperChildren","props","wrapper","children","inputNormalize","rest","_objectWithoutPropertiesLoose","_excluded","hasValue","hasOwnProperty","_children","cloneElement","composeProps","before","after","_jsxs","style","display","alignItems","_jsx","marginRight","flex","marginLeft","FormItemWrapper","isClear","labelWidth","labelItemVertical","labelAlign","outputNormalize","_excluded2","innerClassName","useMemo","cn","Form","Item","_extends","normalize","className","_classNames","isValidElement"],"mappings":";mfAkEA,IAAMA,EAA0B,SAA1BA,EAA2BC,GAC/B,IAAQC,EAA+CD,EAA/CC,QAASC,EAAsCF,EAAtCE,SAAUC,EAA4BH,EAA5BG,eAAmBC,EAAIC,EAAKL,EAAKM,GAE5D,IAAMC,EAAWH,EAAKI,eAAe,SACrC,GAAID,GAAYJ,EAAgB,CAC9BC,EAAK,SAAWD,EAAeC,EAAK,SACtC,CACA,IAAMK,EAAYC,EAAaR,EAAUS,EAAaT,EAASF,MAAOI,EAAM,OAC5E,GAAIH,EAAS,CACX,OAAOA,EAAQQ,EACjB,CACA,GAAIT,EAAMY,QAAUZ,EAAMa,MAAO,CAC/B,OACEC,EAAA,MAAA,CAAKC,MAAO,CAAEC,QAAS,OAAQC,WAAY,UAAWf,SACnDF,CAAAA,EAAMY,OAASM,EAAA,OAAA,CAAMH,MAAO,CAAEI,YAAa,IAAKjB,SAAEF,EAAMY,SAAiB,KAC1EM,EAAA,MAAA,CAAKH,MAAO,CAAEK,KAAM,GAAIlB,SAAEO,IACzBT,EAAMa,MAAQK,EAAA,OAAA,CAAMH,MAAO,CAAEM,WAAY,IAAKnB,SAAEF,EAAMa,QAAgB,OAG7E,CACA,OAAOJ,CACT,MAUaa,EAAkB,SAAlBA,EAAmBtB,GAC9B,IACEC,EAWED,EAXFC,QACAsB,EAUEvB,EAVFuB,QACAC,EASExB,EATFwB,WACAC,EAQEzB,EARFyB,kBACAC,EAOE1B,EAPF0B,WACAxB,EAMEF,EANFE,SACAU,EAKEZ,EALFY,OACAC,EAIEb,EAJFa,MACAV,EAGEH,EAHFG,eACAwB,EAEE3B,EAFF2B,gBACGvB,EAAIC,EACLL,EAAK4B,GAET,IAAMC,EAAiBC,GAAQ,WAC7B,IAAIC,EAAK,GACT,GAAIP,EAAY,CACdO,sBAAyBP,CAC3B,CACA,GAAIC,EAAmB,CACrBM,GAAkC,4BACpC,CACA,GAAIL,EAAY,CACdK,wBAA2BL,CAC7B,CACA,OAAOK,CACR,GAAE,CAACP,EAAYC,EAAmBC,IAEnC,GAAIH,EAAS,OAAO,KAEpB,OACEL,EAACc,EAAKC,KAAIC,EAAA,CAACC,UAAWR,GAAqBvB,EAAI,CAAEgC,UAAWC,EAAWR,EAAgBzB,EAAKgC,WAAWlC,SACpGoC,EAAepC,GACdgB,EAACnB,EAAuB,CACtBE,QAASA,EACTW,OAAQA,EACRC,MAAOA,EACPV,eAAgBA,EAAeD,SAE9BA,IAGHA,IAIR"}
|
|
File without changes
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
import './index.css';
|
|
3
|
+
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
4
|
+
import{a,_ as r}from"../_rollupPluginBabelHelpers-a0769acd.js";import{classNames as l}from"@dimjs/utils/cjs/class-names";import{Form as e}from"antd";import{useMemo as m}from"react";import{jsx as t}from"react/jsx-runtime";var i=["labelWidth","labelItemVertical","labelAlign","formItemGap"];var o=function o(f){var s=f.labelWidth,n=f.labelItemVertical,c=f.labelAlign,p=f.formItemGap,b=a(f,i);var u=m((function(){var a="";if(s){a+="form-label-"+s}if(n){a+=" form-label-value-vertical"}if(c){a+=" form-label-align-"+c}if(p){a+=" form-formitem-gap-"+p}return a}),[s,n,c,p]);return t(e,r({},b,{className:l(u,b.className)}))};export{o as FormWrapper};
|
|
5
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/form-wrapper/form-wrapper.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { Form, FormProps } from 'antd';\nimport { ReactNode, useMemo } from 'react';\n\nexport type FormWrapperProps<Values = any> = FormProps<Values> & {\n children: ReactNode;\n /** label宽度,Form内部所有FormItem label都生效 */\n labelWidth?:\n | 'auto'\n | '70'\n | '80'\n | '90'\n | '100'\n | '110'\n | '120'\n | '130'\n | '140'\n | '150'\n | '160'\n | '170'\n | '180'\n | '190'\n | '200';\n\n /** labelItem 竖直布局 */\n labelItemVertical?: true;\n /** label 对齐方式 */\n labelAlign?: 'left' | 'right';\n /** formItem之间竖直间距,默认值:24 */\n formItemGap?: '15' | '8' | '5' | '0';\n};\n\n/**\n * Form 包装组件,添加对formItem的布局控制\n * ```\n * 1. 内置布局样式使用 preDefinedClassName.form\n * ```\n */\nexport const FormWrapper = (props: FormWrapperProps) => {\n const { labelWidth, labelItemVertical, labelAlign, formItemGap, ...rest } = props;\n\n const innerClassName = useMemo(() => {\n let cn = '';\n if (labelWidth) {\n cn += `form-label-${labelWidth}`;\n }\n if (labelItemVertical) {\n cn += ` form-label-value-vertical`;\n }\n if (labelAlign) {\n cn += ` form-label-align-${labelAlign}`;\n }\n if (formItemGap) {\n cn += ` form-formitem-gap-${formItemGap}`;\n }\n return cn;\n }, [labelWidth, labelItemVertical, labelAlign, formItemGap]);\n\n return <Form {...rest} className={classNames(innerClassName, rest.className)}></Form>;\n};\n"],"names":["FormWrapper","props","labelWidth","labelItemVertical","labelAlign","formItemGap","rest","_objectWithoutPropertiesLoose","_excluded","innerClassName","useMemo","cn","_jsx","Form","_extends","className","_classNames"],"mappings":";qSAsCaA,EAAc,SAAdA,EAAeC,GAC1B,IAAQC,EAAoED,EAApEC,WAAYC,EAAwDF,EAAxDE,kBAAmBC,EAAqCH,EAArCG,WAAYC,EAAyBJ,EAAzBI,YAAgBC,EAAIC,EAAKN,EAAKO,GAEjF,IAAMC,EAAiBC,GAAQ,WAC7B,IAAIC,EAAK,GACT,GAAIT,EAAY,CACdS,iBAAoBT,CACtB,CACA,GAAIC,EAAmB,CACrBQ,GAAkC,4BACpC,CACA,GAAIP,EAAY,CACdO,wBAA2BP,CAC7B,CACA,GAAIC,EAAa,CACfM,yBAA4BN,CAC9B,CACA,OAAOM,CACR,GAAE,CAACT,EAAYC,EAAmBC,EAAYC,IAE/C,OAAOO,EAACC,EAAIC,KAAKR,EAAI,CAAES,UAAWC,EAAWP,EAAgBH,EAAKS,aACpE"}
|
package/esm/index.js
CHANGED
|
@@ -59,10 +59,12 @@ import './drag-form-list/index.css';
|
|
|
59
59
|
import './drag-table/index.css';
|
|
60
60
|
import './drawer-wrapper/index.css';
|
|
61
61
|
import './dynamic-node/index.css';
|
|
62
|
+
import './easy-form/index.css';
|
|
63
|
+
import './form-grid/index.css';
|
|
64
|
+
import './form-wrapper/index.css';
|
|
62
65
|
import './easy-table/index.css';
|
|
63
66
|
import './pagination-wrapper/index.css';
|
|
64
67
|
import './tips-wrapper/index.css';
|
|
65
|
-
import './form-grid/index.css';
|
|
66
68
|
import './pre-defined-class-name/index.css';
|
|
67
69
|
import './table-scrollbar/index.css';
|
|
68
70
|
import './editable-field/index.css';
|
|
@@ -116,5 +118,5 @@ import './tree-selector-wrapper/index.css';
|
|
|
116
118
|
import './tree-wrapper/index.css';
|
|
117
119
|
import './index.css';
|
|
118
120
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
119
|
-
export{AceEditorGroovy}from"./ace-editor-groovy/index.js";export{AceEditorJava}from"./ace-editor-java/index.js";export{AceEditorJson}from"./ace-editor-json/index.js";export{AceEditorMysql}from"./ace-editor-mysql/index.js";export{AceEditorXml}from"./ace-editor-xml/index.js";export{AlertWrapper}from"./alert-wrapper/index.js";export{AmountFenInput}from"./amount-fen-input/index.js";export{AmountFenInputFormItem}from"./amount-fen-input-form-item/index.js";export{AnchorSteps}from"./anchor-steps/index.js";export{B as BlockLayout}from"./index-1f45bfd5.js";export{Bootstrap}from"./bootstrap/index.js";export{BoxGrid}from"./box-grid/index.js";export{ButtonOperate,ButtonOperateItemContent}from"./button-operate/index.js";export{ButtonWrapper}from"./button-wrapper/index.js";export{CardLayout}from"./card-layout/index.js";export{CardWrapper}from"./card-wrapper/index.js";export{CascaderWrapper}from"./cascader-wrapper/index.js";export{CheckList}from"./check-list/index.js";export{CheckboxWrapper}from"./checkbox-wrapper/index.js";export{ColorPickerWrapper}from"./color-picker-wrapper/index.js";export{C as ConfigProviderWrapper}from"./index-7f4ad045.js";export{createDrawerWrapperModel}from"./create-drawer-wrapper-model/index.js";export{createModalWrapperModel}from"./create-modal-wrapper-model/index.js";export{CssNodeHover}from"./css-node-hover/index.js";export{DataRender}from"./data-render/index.js";export{DatePickerWrapper}from"./date-picker-wrapper/index.js";export{DateRangePickerWrapper}from"./date-range-picker-wrapper/index.js";export{DateRangePickerWrapperFormItem}from"./date-range-picker-wrapper-form-item/index.js";export{dialogAlert}from"./dialog-alert/index.js";export{dialogConfirm}from"./dialog-confirm/index.js";export{dialogDrawer}from"./dialog-drawer/index.js";export{DialogDrawerContent}from"./dialog-drawer-content/index.js";export{dialogLoading}from"./dialog-loading/index.js";export{dialogModal}from"./dialog-modal/index.js";export{DragCollapse}from"./drag-collapse/index.js";export{DragCollapseFormList}from"./drag-collapse-form-list/index.js";export{DragEditableTable}from"./drag-editable-table/index.js";export{DragFormList}from"./drag-form-list/index.js";export{DragTable}from"./drag-table/index.js";export{DrawerWrapper}from"./drawer-wrapper/index.js";export{DropdownMenuWrapper}from"./dropdown-menu-wrapper/index.js";export{dynamicNode}from"./dynamic-node/index.js";export{EasyTable}from"./easy-table/index.js";export{EditableField}from"./editable-field/index.js";export{EditableFieldProvider}from"./editable-field-provider/index.js";export{EditableTable}from"./editable-table/index.js";export{EditorWrapper}from"./editor-wrapper/index.js";export{ErrorBoundaryWrapper}from"./error-boundary-wrapper/index.js";export{FbaApp}from"./fba-app/index.js";export{fbaHooks}from"./fba-hooks/index.js";export{fbaUtils}from"./fba-utils/index.js";export{FileImport}from"./file-import/index.js";export{FileSelect}from"./file-select/index.js";export{FlexLayout}from"./flex-layout/index.js";export{FormGrid}from"./form-grid/index.js";export{FormItemGroup}from"./form-item-group/index.js";export{FormItemHidden}from"./form-item-hidden/index.js";export{FormItemText}from"./form-item-text/index.js";export{FormItemWrapper}from"./form-item-wrapper/index.js";export{FormListWrapper}from"./form-list-wrapper/index.js";export{Gap}from"./gap/index.js";export{IconWrapper}from"./icon-wrapper/index.js";export{InputSearchWrapper}from"./input-search-wrapper/index.js";export{InputTextAreaWrapper}from"./input-text-area-wrapper/index.js";export{InputWrapper}from"./input-wrapper/index.js";export{JsonEditor}from"./json-editor/index.js";export{LabelValueLayout}from"./label-value-layout/index.js";export{LocalLoading}from"./local-loading/index.js";export{MentionsWrapper}from"./mentions-wrapper/index.js";export{ModalAction}from"./modal-action/index.js";export{ModalWrapper}from"./modal-wrapper/index.js";export{PageFixedFooter}from"./page-fixed-footer/index.js";export{Page404}from"./page404/index.js";export{P as PaginationWrapper}from"./index-6677fbfc.js";export{Permission}from"./permission/index.js";export{preDefinedClassName}from"./pre-defined-class-name/index.js";export{RadioGroupWrapper}from"./radio-group-wrapper/index.js";export{RelationTree}from"./relation-tree/index.js";export{RequestStatus}from"./request-status/index.js";export{RichTextEditor}from"./rich-text-editor/index.js";export{RichTextViewer}from"./rich-text-viewer/index.js";export{RollLocationCenter}from"./roll-location-center/index.js";export{RollLocationInView}from"./roll-location-in-view/index.js";export{RuleDescribe}from"./rule-describe/index.js";export{SearchForm}from"./search-form/index.js";export{SearchMenu}from"./search-menu/index.js";export{SelectorWrapper}from"./selector-wrapper/index.js";export{SelectorWrapperSearch}from"./selector-wrapper-search/index.js";export{SelectorWrapperSimple}from"./selector-wrapper-simple/index.js";export{SimpleLayout}from"./simple-layout/index.js";export{SmsCountDown}from"./sms-count-down/index.js";export{SplitWrapper}from"./split-wrapper/index.js";export{styles}from"./styles/index.js";export{SvgHttpView}from"./svg-http-view/index.js";export{SwitchConfirmWrapper}from"./switch-confirm-wrapper/index.js";export{SwitchWrapper}from"./switch-wrapper/index.js";export{tableCellRender}from"./table-cell-render/index.js";export{TableScrollbar}from"./table-scrollbar/index.js";export{TableTitleTooltip}from"./table-title-tooltip/index.js";export{TabsWrapper}from"./tabs-wrapper/index.js";export{TagGroup}from"./tag-group/index.js";export{TagListSelect}from"./tag-list-select/index.js";export{TagWrapper}from"./tag-wrapper/index.js";export{TextCssEllipsis}from"./text-css-ellipsis/index.js";export{TextOverflow}from"./text-overflow/index.js";export{TextOverflowRender}from"./text-overflow-render/index.js";export{TextSymbolWrapper}from"./text-symbol-wrapper/index.js";export{TimePickerWrapper}from"./time-picker-wrapper/index.js";export{TimeRangePickerWrapper}from"./time-range-picker-wrapper/index.js";export{TimeRangePickerWrapperFormItem}from"./time-range-picker-wrapper-form-item/index.js";export{TipsTitle}from"./tips-title/index.js";export{TipsWrapper}from"./tips-wrapper/index.js";export{TreeSelectorWrapper}from"./tree-selector-wrapper/index.js";export{TreeWrapper}from"./tree-wrapper/index.js";export{UploadWrapper}from"./upload-wrapper/index.js";import"./_rollupPluginBabelHelpers-a0769acd.js";import"@dimjs/utils/cjs/class-names";import"@wove/react/cjs/hooks";import"@dimjs/lang/cjs/is-object";import"@flatbiz/utils";import"react";import"react-ace";import"./ext-language_tools-0c27f877.js";import"react/jsx-runtime";import"./mode-json-062fdb24.js";import"sql-formatter";import"antd";import"xml-formatter";import"@dimjs/utils/cjs/get";import"@dimjs/lang/cjs/is-number";import"ahooks";import"@ant-design/icons/es/icons/MoreOutlined";import"@dimjs/lang/cjs/is-undefined";import"@dimjs/lang/cjs/is-plain-object";import"@dimjs/lang/cjs/is-string";import"@dimjs/lang/cjs/is-promise";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-array";import"@dimjs/utils/cjs/extend";import"@ant-design/icons/es/icons/RedoOutlined";import"@dimjs/model";import"@dimjs/model-react";import"@wove/react/cjs/create-ctx";import"@ant-design/icons/es/icons/CloseCircleOutlined";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"./time-53b3f55f.js";import"react-dom/client";import"./dom-4d04aa64.js";import"./context-1f2093c6.js";import"@dimjs/utils/cjs/array";import"@dnd-kit/core";import"@dnd-kit/sortable";import"@ant-design/icons/es/icons/DragOutlined";import"@dnd-kit/utilities";import"@dnd-kit/modifiers";import"@ant-design/icons/es/icons/SaveOutlined";import"@ant-design/icons/es/icons/ExclamationCircleFilled";import"@ant-design/icons/es/icons/DownOutlined";import"@ant-design/icons/es/icons/UpOutlined";import"react-is";import"@ant-design/icons/es/icons/CloseOutlined";import"@ant-design/icons/es/icons/CheckOutlined";import"@ant-design/icons/es/icons/EditOutlined";import"./context-25d0b686.js";import"@ant-design/icons/es/icons/PlusOutlined";import"@dimjs/lang/cjs/is-boolean";import"@ant-design/icons/es/icons/DeleteOutlined";import"@wove/react/cjs/editor";import"./use-responsive-point-21b8c601.js";import"@dimjs/lang/cjs/is-deep-equal";import"@tinymce/tinymce-react";import"@ant-design/icons/es/icons/PlusCircleOutlined";import"@ant-design/icons/es/icons/FullscreenOutlined";import"@dimjs/utils/cjs/json";import"pubsub-js";import"react-split";import"@dimjs/lang/cjs/is-empty";import"@ant-design/icons/es/icons/QuestionCircleOutlined";import"dayjs/plugin/isSameOrAfter";import"dayjs/plugin/isSameOrBefore";import"@ant-design/icons/es/icons/CaretDownFilled";import"dequal";import"@dimjs/utils/cjs/tree";import"react-dom";
|
|
121
|
+
export{AceEditorGroovy}from"./ace-editor-groovy/index.js";export{AceEditorJava}from"./ace-editor-java/index.js";export{AceEditorJson}from"./ace-editor-json/index.js";export{AceEditorMysql}from"./ace-editor-mysql/index.js";export{AceEditorXml}from"./ace-editor-xml/index.js";export{AlertWrapper}from"./alert-wrapper/index.js";export{AmountFenInput}from"./amount-fen-input/index.js";export{AmountFenInputFormItem}from"./amount-fen-input-form-item/index.js";export{AnchorSteps}from"./anchor-steps/index.js";export{B as BlockLayout}from"./index-1f45bfd5.js";export{Bootstrap}from"./bootstrap/index.js";export{BoxGrid}from"./box-grid/index.js";export{ButtonOperate,ButtonOperateItemContent}from"./button-operate/index.js";export{ButtonWrapper}from"./button-wrapper/index.js";export{CardLayout}from"./card-layout/index.js";export{CardWrapper}from"./card-wrapper/index.js";export{CascaderWrapper}from"./cascader-wrapper/index.js";export{CheckList}from"./check-list/index.js";export{CheckboxWrapper}from"./checkbox-wrapper/index.js";export{ColorPickerWrapper}from"./color-picker-wrapper/index.js";export{C as ConfigProviderWrapper}from"./index-7f4ad045.js";export{createDrawerWrapperModel}from"./create-drawer-wrapper-model/index.js";export{createModalWrapperModel}from"./create-modal-wrapper-model/index.js";export{CssNodeHover}from"./css-node-hover/index.js";export{DataRender}from"./data-render/index.js";export{DatePickerWrapper}from"./date-picker-wrapper/index.js";export{DateRangePickerWrapper}from"./date-range-picker-wrapper/index.js";export{DateRangePickerWrapperFormItem}from"./date-range-picker-wrapper-form-item/index.js";export{dialogAlert}from"./dialog-alert/index.js";export{dialogConfirm}from"./dialog-confirm/index.js";export{dialogDrawer}from"./dialog-drawer/index.js";export{DialogDrawerContent}from"./dialog-drawer-content/index.js";export{dialogLoading}from"./dialog-loading/index.js";export{dialogModal}from"./dialog-modal/index.js";export{DragCollapse}from"./drag-collapse/index.js";export{DragCollapseFormList}from"./drag-collapse-form-list/index.js";export{DragEditableTable}from"./drag-editable-table/index.js";export{DragFormList}from"./drag-form-list/index.js";export{DragTable}from"./drag-table/index.js";export{DrawerWrapper}from"./drawer-wrapper/index.js";export{DropdownMenuWrapper}from"./dropdown-menu-wrapper/index.js";export{dynamicNode}from"./dynamic-node/index.js";export{EasyForm}from"./easy-form/index.js";export{EasyTable}from"./easy-table/index.js";export{EditableField}from"./editable-field/index.js";export{EditableFieldProvider}from"./editable-field-provider/index.js";export{EditableTable}from"./editable-table/index.js";export{EditorWrapper}from"./editor-wrapper/index.js";export{ErrorBoundaryWrapper}from"./error-boundary-wrapper/index.js";export{FbaApp}from"./fba-app/index.js";export{fbaHooks}from"./fba-hooks/index.js";export{fbaUtils}from"./fba-utils/index.js";export{FileImport}from"./file-import/index.js";export{FileSelect}from"./file-select/index.js";export{FlexLayout}from"./flex-layout/index.js";export{FormGrid}from"./form-grid/index.js";export{FormItemGroup}from"./form-item-group/index.js";export{FormItemHidden}from"./form-item-hidden/index.js";export{FormItemText}from"./form-item-text/index.js";export{FormItemWrapper}from"./form-item-wrapper/index.js";export{FormListWrapper}from"./form-list-wrapper/index.js";export{FormWrapper}from"./form-wrapper/index.js";export{Gap}from"./gap/index.js";export{IconWrapper}from"./icon-wrapper/index.js";export{InputSearchWrapper}from"./input-search-wrapper/index.js";export{InputTextAreaWrapper}from"./input-text-area-wrapper/index.js";export{InputWrapper}from"./input-wrapper/index.js";export{JsonEditor}from"./json-editor/index.js";export{LabelValueLayout}from"./label-value-layout/index.js";export{LocalLoading}from"./local-loading/index.js";export{MentionsWrapper}from"./mentions-wrapper/index.js";export{ModalAction}from"./modal-action/index.js";export{ModalWrapper}from"./modal-wrapper/index.js";export{PageFixedFooter}from"./page-fixed-footer/index.js";export{Page404}from"./page404/index.js";export{P as PaginationWrapper}from"./index-6677fbfc.js";export{Permission}from"./permission/index.js";export{preDefinedClassName}from"./pre-defined-class-name/index.js";export{RadioGroupWrapper}from"./radio-group-wrapper/index.js";export{RelationTree}from"./relation-tree/index.js";export{RequestStatus}from"./request-status/index.js";export{RichTextEditor}from"./rich-text-editor/index.js";export{RichTextViewer}from"./rich-text-viewer/index.js";export{RollLocationCenter}from"./roll-location-center/index.js";export{RollLocationInView}from"./roll-location-in-view/index.js";export{RuleDescribe}from"./rule-describe/index.js";export{SearchForm}from"./search-form/index.js";export{SearchMenu}from"./search-menu/index.js";export{SelectorWrapper}from"./selector-wrapper/index.js";export{SelectorWrapperSearch}from"./selector-wrapper-search/index.js";export{SelectorWrapperSimple}from"./selector-wrapper-simple/index.js";export{SimpleLayout}from"./simple-layout/index.js";export{SmsCountDown}from"./sms-count-down/index.js";export{SplitWrapper}from"./split-wrapper/index.js";export{styles}from"./styles/index.js";export{SvgHttpView}from"./svg-http-view/index.js";export{SwitchConfirmWrapper}from"./switch-confirm-wrapper/index.js";export{SwitchWrapper}from"./switch-wrapper/index.js";export{tableCellRender}from"./table-cell-render/index.js";export{TableScrollbar}from"./table-scrollbar/index.js";export{TableTitleTooltip}from"./table-title-tooltip/index.js";export{TabsWrapper}from"./tabs-wrapper/index.js";export{TagGroup}from"./tag-group/index.js";export{TagListSelect}from"./tag-list-select/index.js";export{TagWrapper}from"./tag-wrapper/index.js";export{TextCssEllipsis}from"./text-css-ellipsis/index.js";export{TextOverflow}from"./text-overflow/index.js";export{TextOverflowRender}from"./text-overflow-render/index.js";export{TextSymbolWrapper}from"./text-symbol-wrapper/index.js";export{TimePickerWrapper}from"./time-picker-wrapper/index.js";export{TimeRangePickerWrapper}from"./time-range-picker-wrapper/index.js";export{TimeRangePickerWrapperFormItem}from"./time-range-picker-wrapper-form-item/index.js";export{TipsTitle}from"./tips-title/index.js";export{TipsWrapper}from"./tips-wrapper/index.js";export{TreeSelectorWrapper}from"./tree-selector-wrapper/index.js";export{TreeWrapper}from"./tree-wrapper/index.js";export{UploadWrapper}from"./upload-wrapper/index.js";import"./_rollupPluginBabelHelpers-a0769acd.js";import"@dimjs/utils/cjs/class-names";import"@wove/react/cjs/hooks";import"@dimjs/lang/cjs/is-object";import"@flatbiz/utils";import"react";import"react-ace";import"./ext-language_tools-0c27f877.js";import"react/jsx-runtime";import"./mode-json-062fdb24.js";import"sql-formatter";import"antd";import"xml-formatter";import"@dimjs/utils/cjs/get";import"@dimjs/lang/cjs/is-number";import"ahooks";import"@ant-design/icons/es/icons/MoreOutlined";import"@dimjs/lang/cjs/is-undefined";import"@dimjs/lang/cjs/is-plain-object";import"@dimjs/lang/cjs/is-string";import"@dimjs/lang/cjs/is-promise";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-array";import"@dimjs/utils/cjs/extend";import"@ant-design/icons/es/icons/RedoOutlined";import"@dimjs/model";import"@dimjs/model-react";import"@wove/react/cjs/create-ctx";import"@ant-design/icons/es/icons/CloseCircleOutlined";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"./time-53b3f55f.js";import"react-dom/client";import"./dom-4d04aa64.js";import"./context-1f2093c6.js";import"@dimjs/lang/cjs/is-null";import"@dimjs/utils/cjs/array";import"@dnd-kit/core";import"@dnd-kit/sortable";import"@ant-design/icons/es/icons/DragOutlined";import"@dnd-kit/utilities";import"@dnd-kit/modifiers";import"@ant-design/icons/es/icons/SaveOutlined";import"@ant-design/icons/es/icons/ExclamationCircleFilled";import"@ant-design/icons/es/icons/DownOutlined";import"@ant-design/icons/es/icons/UpOutlined";import"react-is";import"@ant-design/icons/es/icons/CloseOutlined";import"@ant-design/icons/es/icons/CheckOutlined";import"@ant-design/icons/es/icons/EditOutlined";import"./context-25d0b686.js";import"@ant-design/icons/es/icons/PlusOutlined";import"@dimjs/lang/cjs/is-boolean";import"@ant-design/icons/es/icons/DeleteOutlined";import"@wove/react/cjs/editor";import"./use-responsive-point-21b8c601.js";import"@dimjs/lang/cjs/is-deep-equal";import"@tinymce/tinymce-react";import"@ant-design/icons/es/icons/PlusCircleOutlined";import"@ant-design/icons/es/icons/FullscreenOutlined";import"@dimjs/utils/cjs/json";import"pubsub-js";import"react-split";import"@dimjs/lang/cjs/is-empty";import"@ant-design/icons/es/icons/QuestionCircleOutlined";import"dayjs/plugin/isSameOrAfter";import"dayjs/plugin/isSameOrBefore";import"@ant-design/icons/es/icons/CaretDownFilled";import"dequal";import"@dimjs/utils/cjs/tree";import"react-dom";
|
|
120
122
|
//# sourceMappingURL=index.js.map
|
package/esm/search-form/index.js
CHANGED
|
@@ -5,8 +5,9 @@ import './../fba-hooks/index.css';
|
|
|
5
5
|
import './../types/index.css';
|
|
6
6
|
import './../fba-utils/index.css';
|
|
7
7
|
import './../form-grid/index.css';
|
|
8
|
+
import './../form-wrapper/index.css';
|
|
8
9
|
import './../pre-defined-class-name/index.css';
|
|
9
10
|
import './index.css';
|
|
10
11
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
11
|
-
import{classNames as e}from"@dimjs/utils/cjs/class-names";import i from"@ant-design/icons/es/icons/DownOutlined";import n from"@ant-design/icons/es/icons/UpOutlined";import{_ as
|
|
12
|
+
import{classNames as e}from"@dimjs/utils/cjs/class-names";import i from"@ant-design/icons/es/icons/DownOutlined";import n from"@ant-design/icons/es/icons/UpOutlined";import{_ as r}from"../_rollupPluginBabelHelpers-a0769acd.js";import{hooks as t}from"@wove/react/cjs/hooks";import{Form as o}from"antd";import{forwardRef as l,useMemo as a,Children as s,useImperativeHandle as u}from"react";import{isFragment as d}from"react-is";import{ButtonWrapper as f}from"../button-wrapper/index.js";import{fbaHooks as m}from"../fba-hooks/index.js";import{FormGrid as p}from"../form-grid/index.js";import{FormWrapper as c}from"../form-wrapper/index.js";import{preDefinedClassName as h}from"../pre-defined-class-name/index.js";import{Model as v}from"@dimjs/model-react";import{jsx as y,jsxs as g}from"react/jsx-runtime";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-promise";import"@flatbiz/utils";import"../index-7f4ad045.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"@dimjs/utils/cjs/extend";import"../fba-utils/index.js";import"@dimjs/lang/cjs/is-array";import"../use-responsive-point-21b8c601.js";var j={queryCondition:{},isInit:true,openFold:false};var C={actions:{updateFilterCondition:function e(i){return function(e){e.queryCondition=r({},e.queryCondition,i)}},resetFilterCondition:function e(i){return function(e){e.queryCondition=r({},j.queryCondition,i)}},updateInitStatus:function e(){return function(e){e.isInit=false}},onChangeOpenFold:function e(i){return function(e){e.openFold=i}}},state:j};var F={};var b=function e(i){if(!F[i]){F[i]=v(C)}return F[i]};var I=l((function(l,v){var j=t.useId(undefined,"search-form-key");var C=a((function(){return l.cacheSwitch===false?j:location.pathname}),[j,l.cacheSwitch]);var F=b(C).useStore(),I=F[0],k=F[1];var x=o.useForm(l.form),w=x[0];var S=l.queryButtonProps,q=l.resetButtonProps,L=l.searchOperate,O=l.formClassName,A=l.rightOperateAreaAppendType,P=l.onQuery,_=l.onReset,z=l.initRequest,B=l.onFormFinish,R=l.defaultResetButtonTriggerRequest;var T=typeof l.children==="function"?l.children(w):l.children;var V=A||"cover";var G=a((function(){if(d(T)){return s.toArray(T.props.children)}else{return s.toArray(T)}}),[T]);var N=function e(i){Object.keys(i).forEach((function(e){if(e.startsWith("__#invalid_date_")){delete i[e]}}));void k.updateFilterCondition(i);void(P==null?void 0:P(i||{}))};var K=t.useCallbackRef((function(){return new Promise((function(e,i){return Promise.resolve(k.resetFilterCondition()).then((function(n){try{setTimeout((function(){w.resetFields()}),200);_==null?void 0:_();if(R===false){return e()}void N({});return e()}catch(e){return i(e)}}),i)}))}));var W=function e(i){if(B){B(i);return}void N(i)};var D=a((function(){var e;var t=[!(S!=null&&S.hidden)?y(f,r({type:"primary",htmlType:"submit",loadingPosition:"center"},S,{children:(S==null?void 0:S.text)||"查询"}),"1"):null,!(q!=null&&q.hidden)?y(f,r({onClick:K},q,{children:(q==null?void 0:q.text)||"重置"}),"2"):null].filter(Boolean);var o=L==null?void 0:L(w);var a=o==null?void 0:o.rightList;var s=(o==null?void 0:o.leftList)||[];var u=t;if(a){if(V==="afterAppend"){u=[].concat(t,a)}else if(V==="beforeAppend"){u=[].concat(a,t)}else{u=a}}if((e=l.foldKeys)!=null&&e.length){var d=y(f,{type:"link",style:{padding:"0"},onClick:function e(){void k.onChangeOpenFold(!I.openFold)},children:I.openFold?g("span",{children:["收起",y(n,{style:{marginLeft:3,fontSize:12}})]}):g("span",{children:["展开",y(i,{style:{marginLeft:3,fontSize:12}})]})},"fold-trigger");if(u.length>0||s.length===0){u.push(d)}else if((s==null?void 0:s.length)>0){s.push(d)}}return G.map((function(e,i){var n;if(!I.openFold&&(n=l.foldKeys)!=null&&n.find((function(i){return".$"+i===e.key}))){return null}if(e.props["hidden"])return null;if(e.type["domTypeName"]==="FormCol")return e;return y(p.Col,{children:e},i)})).filter(Boolean).concat(y(p.OperateCol,r({},o,{leftList:s,rightList:u}),999))}),[S,q,K,L,w,l.foldKeys,G,V,I.openFold,k]);m.useEffectCustom((function(){if(z===false&&!I.isInit||z!==false){void(P==null?void 0:P(r({},l.formInitialValues,I.queryCondition)))}void k.updateInitStatus()}),[]);u(v,(function(){return{onQuery:N,form:w}}));return y(c,{form:w,autoComplete:"off",onFinish:W,initialValues:r({},l.formInitialValues,I.queryCondition),className:e("search-form",h.form.formItemGap8,O),style:l.formStyle,labelWidth:l.formLabelWidth,labelAlign:l.formLabelAlign,formItemGap:l.formFormItemGap,labelItemVertical:l.formLabelItemVertical,children:l.isPure?T:y(p.Row,{gutter:[15,0],gridSize:l.formGridSize,children:D})})}));export{I as SearchForm};
|
|
12
13
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/search-form/model.ts","@flatbiz/antd/src/search-form/search.tsx"],"sourcesContent":["import { API, ModelType } from '@dimjs/model';\nimport { Model } from '@dimjs/model-react';\nimport { TAny, TPlainObject } from '@flatbiz/utils';\n\nexport type ModelState = {\n queryCondition: TPlainObject;\n isInit: boolean;\n openFold: boolean;\n};\n\ntype ModelActionParams = {\n updateFilterCondition?: Partial<ModelState['queryCondition']>;\n resetFilterCondition?: TPlainObject;\n updateInitStatus: void;\n onChangeOpenFold: boolean;\n};\n\nconst defaultState: ModelState = {\n queryCondition: {},\n isInit: true,\n openFold: false,\n};\n\nconst SearchFormModel: ModelType<ModelState, ModelActionParams> = {\n actions: {\n updateFilterCondition: (params) => {\n return (state) => {\n state.queryCondition = {\n ...state.queryCondition,\n ...params,\n };\n };\n },\n resetFilterCondition: (params) => {\n return (state) => {\n state.queryCondition = {\n ...defaultState.queryCondition,\n ...params,\n };\n };\n },\n updateInitStatus: () => {\n return (state) => {\n state.isInit = false;\n };\n },\n onChangeOpenFold: (boo) => {\n return (state) => {\n state.openFold = boo;\n };\n },\n },\n state: defaultState,\n};\n\nconst searchFormModels: Record<string, API<ModelType<ModelState, ModelActionParams, TAny>>> = {};\n\n/**\n * ```\n * 使用方式\n * const [state, actions] = selectorWrapperModel('key值').useStore();\n * ```\n */\nexport const searchFormModel = (key: string) => {\n if (!searchFormModels[key]) {\n searchFormModels[key] = Model(SearchFormModel);\n }\n return searchFormModels[key];\n};\n","import { DownOutlined, UpOutlined } from '@ant-design/icons';\n\nimport { TAny, TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Form, FormInstance } from 'antd';\nimport {\n Children,\n CSSProperties,\n forwardRef,\n ReactElement,\n useImperativeHandle,\n useMemo,\n} from 'react';\nimport { isFragment } from 'react-is';\nimport { ButtonWrapper, ButtonWrapperProps } from '../button-wrapper';\nimport { fbaHooks } from '../fba-hooks';\nimport { FormGrid } from '../form-grid';\nimport { FormOperateColProps } from '../form-grid/form-operate-col';\nimport { FormRowProps } from '../form-grid/form-row';\nimport { searchFormModel } from './model';\nimport { classNames } from '@dimjs/utils';\nimport './style.less';\nimport { preDefinedClassName } from '../pre-defined-class-name';\n\nexport type SearchFormProps = {\n children:\n | ReactElement\n | ReactElement[]\n | ((form: FormInstance) => ReactElement);\n /** isPure = true时无效 */\n searchOperate?: (form: FormInstance) => FormOperateColProps;\n /** 是否为纯净模式(查询条件布局是否自定义), */\n isPure?: boolean;\n /** 查询按钮配置 */\n queryButtonProps?: Omit<ButtonWrapperProps, 'onClick'> & { text?: string };\n /** 重置按钮配置 */\n resetButtonProps?: Omit<ButtonWrapperProps, 'onClick'> & { text?: string };\n /**\n * 网格布局设置\n * default = { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 };\n * small = { xs: 24, sm: 8, md: 8, lg: 6, xl: 6, xxl: 6 };\n */\n formGridSize?: FormRowProps['gridSize'];\n formClassName?: string;\n formStyle?: CSSProperties;\n /**\n * 自定义 searchOperate.rightList 后 默认【查询、重置】按钮处理逻辑\n * 1. cover:覆盖内部查询重置按钮(默认值)\n * 2. beforeAppend:添加到【查询重置】按钮前面\n * 3. afterAppend:添加到【查询重置】按钮后面\n *\n * 如果想隐藏【查询、重置】按钮中的某一个,可设置 queryButtonProps.hidden、resetButtonProps.hidden\n */\n rightOperateAreaAppendType?: 'cover' | 'beforeAppend' | 'afterAppend';\n /** 默认重启按钮触发请求,默认值:true */\n defaultResetButtonTriggerRequest?: boolean;\n foldKeys?: string[];\n formInitialValues?: TPlainObject;\n /**\n * 按钮提交事件\n * 如果需要自定义回车提交事件,需要自定义提交按钮\n */\n onFormFinish?: (values?: TPlainObject) => void;\n /** 重置按钮 */\n onReset?: () => void;\n /** 查询按钮 */\n onQuery?: (values: TPlainObject) => void;\n /**\n * 是否缓存查询数据,默认值:true\n * ```\n * 1. 一般首页可缓存,二级、三级等页面不能缓存\n * ```\n */\n cacheSwitch?: boolean;\n /** 初始化是否请求,默认值:true */\n initRequest?: boolean;\n};\n\nexport type SearchFormRefApi = {\n onQuery: (values?: TPlainObject) => void;\n form: FormInstance;\n};\n\n/**\n * 搜索表单\n *\n *```\n * 1. 用法1\n * -- 默认网格布局 规则:{ xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 }\n * <SearchForm>\n * <Form.Item name=\"field1\" label=\"条件1\">xxx</Form.Item>\n * </SearchForm>\n *\n * -- 自定义网格布局 使用 FormCol组件包装 Form.Item\n * <SearchForm>\n * <FormCol span={12}><Form.Item name=\"field1\" label=\"条件1\">xxx</Form.Item></FormCol>\n * </SearchForm>\n *\n * -- children 可为 function\n * <SearchForm>\n * {(form) => {\n * return <Form.Item name=\"field1\" label=\"条件1\">xxx</Form.Item>\n * }}\n * </SearchForm>\n *\n * 2. 用户2(自定义布局)\n * SearchForm设置 isPure = true,FormItem无布局规则\n * 3. SearchForm中内置了 Form 标签,当children为函数时,可获取form实例\n * 4. 默认布局下,可通过设置 searchOperate 设置操作按钮\n * 5. SearchForm 子节点包含 hidden = true 会被忽略\n * 6. 如果想隐藏【查询、重置】按钮中的某一个,可设置 queryButtonProps.hidden、resetButtonProps.hidden\n * 7. 通过设置 defaultResetButtonTriggerRequest,可在右侧按钮区域新增自定义按钮\n * 8. 可设置 cacheSwitch 来控制是否缓存查询数据(一般一级页面可缓存,二级、三级等不能缓存),\n * 缓存数据存储在内存中,react路由跳转可正常读取缓存,浏览器刷新后缓存丢失\n *```\n */\nexport const SearchForm = forwardRef<SearchFormRefApi, SearchFormProps>(\n (props, ref) => {\n const searchFormId = hooks.useId(undefined, 'search-form-key');\n\n const modelKey = useMemo(() => {\n return props.cacheSwitch === false ? searchFormId : location.pathname;\n }, [searchFormId, props.cacheSwitch]);\n\n const [state, actions] = searchFormModel(modelKey).useStore();\n const [form] = Form.useForm();\n const {\n queryButtonProps,\n resetButtonProps,\n searchOperate,\n formClassName,\n rightOperateAreaAppendType,\n onQuery,\n onReset,\n initRequest,\n onFormFinish,\n defaultResetButtonTriggerRequest,\n } = props;\n const children =\n typeof props.children === 'function'\n ? props.children(form)\n : props.children;\n\n const rightOperateAreaAppendTypeFt = rightOperateAreaAppendType || 'cover';\n const childrens = useMemo(() => {\n if (isFragment(children)) {\n return Children.toArray(\n (children as ReactElement).props.children\n ) as ReactElement[];\n } else {\n return Children.toArray(children) as ReactElement[];\n }\n }, [children]);\n\n const onInnerQuery = (values) => {\n Object.keys(values).forEach((key) => {\n if (key.startsWith('__#invalid_date_')) {\n delete values[key];\n }\n });\n void actions.updateFilterCondition(values);\n void onQuery?.(values || {});\n };\n\n const onInnerReset = hooks.useCallbackRef(async () => {\n await actions.resetFilterCondition();\n setTimeout(() => {\n form.resetFields();\n }, 200);\n onReset?.();\n if (defaultResetButtonTriggerRequest === false) {\n return;\n }\n void onInnerQuery({});\n });\n\n const onInnerFormFinish = (values) => {\n if (onFormFinish) {\n onFormFinish(values);\n return;\n }\n void onInnerQuery(values);\n };\n\n const formRowChildren = useMemo(() => {\n const defaultRightList = [\n !queryButtonProps?.hidden ? (\n <ButtonWrapper\n key=\"1\"\n type=\"primary\"\n htmlType={'submit'}\n loadingPosition=\"center\"\n {...queryButtonProps}\n >\n {queryButtonProps?.text || '查询'}\n </ButtonWrapper>\n ) : null,\n !resetButtonProps?.hidden ? (\n <ButtonWrapper key=\"2\" onClick={onInnerReset} {...resetButtonProps}>\n {resetButtonProps?.text || '重置'}\n </ButtonWrapper>\n ) : null,\n ].filter(Boolean);\n const customFormOperateCol = searchOperate?.(form);\n const customRightList = customFormOperateCol?.rightList;\n const leftList: TAny[] = customFormOperateCol?.leftList || [];\n\n let rightList: TAny[] = defaultRightList;\n if (customRightList) {\n if (rightOperateAreaAppendTypeFt === 'afterAppend') {\n rightList = [...defaultRightList, ...customRightList];\n } else if (rightOperateAreaAppendTypeFt === 'beforeAppend') {\n rightList = [...customRightList, ...defaultRightList];\n } else {\n rightList = customRightList;\n }\n }\n\n if (props.foldKeys?.length) {\n const changeFolditem = (\n <ButtonWrapper\n type=\"link\"\n key=\"fold-trigger\"\n style={{ padding: '0' }}\n onClick={() => {\n void actions.onChangeOpenFold(!state.openFold);\n }}\n >\n {state.openFold ? (\n <span>\n 收起\n <UpOutlined style={{ marginLeft: 3, fontSize: 12 }} />\n </span>\n ) : (\n <span>\n 展开\n <DownOutlined style={{ marginLeft: 3, fontSize: 12 }} />\n </span>\n )}\n </ButtonWrapper>\n );\n\n if (rightList.length > 0 || leftList.length === 0) {\n rightList.push(changeFolditem);\n } else if (leftList?.length > 0) {\n leftList.push(changeFolditem);\n }\n }\n\n return childrens\n .map((item, index) => {\n if (\n !state.openFold &&\n props.foldKeys?.find((keyItem) => `.$${keyItem}` === item.key)\n ) {\n return null;\n }\n if (item.props['hidden']) return null;\n if (item.type['domTypeName'] === 'FormCol') return item;\n return <FormGrid.Col key={index}>{item}</FormGrid.Col>;\n })\n .filter(Boolean)\n .concat(\n <FormGrid.OperateCol\n key={999}\n {...customFormOperateCol}\n leftList={leftList}\n rightList={rightList}\n />\n );\n }, [\n queryButtonProps,\n resetButtonProps,\n onInnerReset,\n searchOperate,\n form,\n props.foldKeys,\n childrens,\n rightOperateAreaAppendTypeFt,\n state.openFold,\n actions,\n ]);\n\n fbaHooks.useEffectCustom(() => {\n if ((initRequest === false && !state.isInit) || initRequest !== false) {\n void onQuery?.({\n ...props.formInitialValues,\n ...state.queryCondition,\n });\n }\n void actions.updateInitStatus();\n }, []);\n\n useImperativeHandle(ref, () => {\n return {\n onQuery: onInnerQuery,\n form,\n };\n });\n\n return (\n <Form\n form={form}\n autoComplete=\"off\"\n onFinish={onInnerFormFinish}\n initialValues={{\n ...props.formInitialValues,\n ...state.queryCondition,\n }}\n className={classNames(\n 'search-form',\n preDefinedClassName.form.formItemGap8,\n formClassName\n )}\n style={props.formStyle}\n >\n {props.isPure ? (\n children\n ) : (\n <FormGrid.Row gutter={[15, 0]} gridSize={props.formGridSize}>\n {formRowChildren}\n </FormGrid.Row>\n )}\n </Form>\n );\n }\n);\n"],"names":["defaultState","queryCondition","isInit","openFold","SearchFormModel","actions","updateFilterCondition","params","state","_extends","resetFilterCondition","updateInitStatus","onChangeOpenFold","boo","searchFormModels","searchFormModel","key","Model","SearchForm","forwardRef","props","ref","searchFormId","_hooks","useId","undefined","modelKey","useMemo","cacheSwitch","location","pathname","_searchFormModel$useS","useStore","_Form$useForm","Form","useForm","form","queryButtonProps","resetButtonProps","searchOperate","formClassName","rightOperateAreaAppendType","onQuery","onReset","initRequest","onFormFinish","defaultResetButtonTriggerRequest","children","rightOperateAreaAppendTypeFt","childrens","isFragment","Children","toArray","onInnerQuery","values","Object","keys","forEach","startsWith","onInnerReset","useCallbackRef","Promise","$return","$error","resolve","then","$await_1","setTimeout","resetFields","$boundEx","onInnerFormFinish","formRowChildren","_props$foldKeys","defaultRightList","hidden","_jsx","ButtonWrapper","type","htmlType","loadingPosition","text","onClick","filter","Boolean","customFormOperateCol","customRightList","rightList","leftList","concat","foldKeys","length","changeFolditem","style","padding","_jsxs","_UpOutlined","marginLeft","fontSize","_DownOutlined","push","map","item","index","_props$foldKeys2","find","keyItem","FormGrid","Col","OperateCol","fbaHooks","useEffectCustom","formInitialValues","useImperativeHandle","autoComplete","onFinish","initialValues","className","_classNames","preDefinedClassName","formItemGap8","formStyle","isPure","Row","gutter","gridSize","formGridSize"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/search-form/model.ts","@flatbiz/antd/src/search-form/search.tsx"],"sourcesContent":["import { API, ModelType } from '@dimjs/model';\nimport { Model } from '@dimjs/model-react';\nimport { TAny, TPlainObject } from '@flatbiz/utils';\n\nexport type ModelState = {\n queryCondition: TPlainObject;\n isInit: boolean;\n openFold: boolean;\n};\n\ntype ModelActionParams = {\n updateFilterCondition?: Partial<ModelState['queryCondition']>;\n resetFilterCondition?: TPlainObject;\n updateInitStatus: void;\n onChangeOpenFold: boolean;\n};\n\nconst defaultState: ModelState = {\n queryCondition: {},\n isInit: true,\n openFold: false,\n};\n\nconst SearchFormModel: ModelType<ModelState, ModelActionParams> = {\n actions: {\n updateFilterCondition: (params) => {\n return (state) => {\n state.queryCondition = {\n ...state.queryCondition,\n ...params,\n };\n };\n },\n resetFilterCondition: (params) => {\n return (state) => {\n state.queryCondition = {\n ...defaultState.queryCondition,\n ...params,\n };\n };\n },\n updateInitStatus: () => {\n return (state) => {\n state.isInit = false;\n };\n },\n onChangeOpenFold: (boo) => {\n return (state) => {\n state.openFold = boo;\n };\n },\n },\n state: defaultState,\n};\n\nconst searchFormModels: Record<string, API<ModelType<ModelState, ModelActionParams, TAny>>> = {};\n\n/**\n * ```\n * 使用方式\n * const [state, actions] = selectorWrapperModel('key值').useStore();\n * ```\n */\nexport const searchFormModel = (key: string) => {\n if (!searchFormModels[key]) {\n searchFormModels[key] = Model(SearchFormModel);\n }\n return searchFormModels[key];\n};\n","import { DownOutlined, UpOutlined } from '@ant-design/icons';\n\nimport { classNames } from '@dimjs/utils';\nimport { TAny, TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Form, FormInstance } from 'antd';\nimport { Children, CSSProperties, forwardRef, ReactElement, useImperativeHandle, useMemo } from 'react';\nimport { isFragment } from 'react-is';\nimport { ButtonWrapper, ButtonWrapperProps } from '../button-wrapper';\nimport { fbaHooks } from '../fba-hooks';\nimport { FormGrid } from '../form-grid';\nimport { FormOperateColProps } from '../form-grid/form-operate-col';\nimport { FormRowProps } from '../form-grid/form-row';\nimport { FormWrapper, FormWrapperProps } from '../form-wrapper';\nimport { preDefinedClassName } from '../pre-defined-class-name';\nimport { searchFormModel } from './model';\nimport './style.less';\n\nexport type SearchFormProps = {\n children: ReactElement | ReactElement[] | ((form: FormInstance) => ReactElement);\n /** isPure = true时无效 */\n searchOperate?: (form: FormInstance) => FormOperateColProps;\n /** 是否为纯净模式(查询条件布局是否自定义), */\n isPure?: boolean;\n /** 查询按钮配置 */\n queryButtonProps?: Omit<ButtonWrapperProps, 'onClick'> & { text?: string };\n /** 重置按钮配置 */\n resetButtonProps?: Omit<ButtonWrapperProps, 'onClick'> & { text?: string };\n /**\n * 网格布局设置\n * default = { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 };\n * small = { xs: 24, sm: 8, md: 8, lg: 6, xl: 6, xxl: 6 };\n */\n formGridSize?: FormRowProps['gridSize'];\n formClassName?: string;\n formStyle?: CSSProperties;\n /** form 初始值 */\n formInitialValues?: TPlainObject;\n /** label宽度,Form内部所有FormItem label都生效 */\n formLabelWidth?: FormWrapperProps['labelWidth'];\n /** labelItem 竖直布局 */\n formLabelItemVertical?: FormWrapperProps['labelItemVertical'];\n /** label 对齐方式 */\n formLabelAlign?: FormWrapperProps['labelAlign'];\n /** formItem之间竖直间距,默认值:24 */\n formFormItemGap?: FormWrapperProps['formItemGap'];\n /**\n * 自定义 searchOperate.rightList 后 默认【查询、重置】按钮处理逻辑\n * 1. cover:覆盖内部查询重置按钮(默认值)\n * 2. beforeAppend:添加到【查询重置】按钮前面\n * 3. afterAppend:添加到【查询重置】按钮后面\n *\n * 如果想隐藏【查询、重置】按钮中的某一个,可设置 queryButtonProps.hidden、resetButtonProps.hidden\n */\n rightOperateAreaAppendType?: 'cover' | 'beforeAppend' | 'afterAppend';\n /** 默认重启按钮触发请求,默认值:true */\n defaultResetButtonTriggerRequest?: boolean;\n /**\n * 展开、收起key值列表(内容当前组件子组件key值)\n */\n foldKeys?: string[];\n /**\n * 按钮提交事件\n * 如果需要自定义回车提交事件,需要自定义提交按钮\n */\n onFormFinish?: (values?: TPlainObject) => void;\n /** 重置按钮 */\n onReset?: () => void;\n /** 查询按钮 */\n onQuery?: (values: TPlainObject) => void;\n /**\n * 是否缓存查询数据,默认值:true\n * ```\n * 1. 一般首页可缓存,二级、三级等页面不能缓存\n * ```\n */\n cacheSwitch?: boolean;\n /** 初始化是否请求,默认值:true */\n initRequest?: boolean;\n form?: FormInstance;\n};\n\nexport type SearchFormRefApi = {\n onQuery: (values?: TPlainObject) => void;\n form: FormInstance;\n};\n\n/**\n * 搜索表单\n *\n *```\n * 1. 用法1\n * -- 默认网格布局 规则:{ xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 }\n * <SearchForm>\n * <Form.Item name=\"field1\" label=\"条件1\">xxx</Form.Item>\n * </SearchForm>\n *\n * -- 自定义网格布局 使用 FormCol组件包装 Form.Item\n * <SearchForm>\n * <FormCol span={12}><Form.Item name=\"field1\" label=\"条件1\">xxx</Form.Item></FormCol>\n * </SearchForm>\n *\n * -- children 可为 function\n * <SearchForm>\n * {(form) => {\n * return <Form.Item name=\"field1\" label=\"条件1\">xxx</Form.Item>\n * }}\n * </SearchForm>\n *\n * 2. 用户2(自定义布局)\n * SearchForm设置 isPure = true,FormItem无布局规则\n * 3. SearchForm中内置了 Form 标签,当children为函数时,可获取form实例\n * 4. 默认布局下,可通过设置 searchOperate 设置操作按钮\n * 5. SearchForm 子节点包含 hidden = true 会被忽略\n * 6. 如果想隐藏【查询、重置】按钮中的某一个,可设置 queryButtonProps.hidden、resetButtonProps.hidden\n * 7. 通过设置 defaultResetButtonTriggerRequest,可在右侧按钮区域新增自定义按钮\n * 8. 可设置 cacheSwitch 来控制是否缓存查询数据(一般一级页面可缓存,二级、三级等不能缓存),\n * 缓存数据存储在内存中,react路由跳转可正常读取缓存,浏览器刷新后缓存丢失\n *```\n */\nexport const SearchForm = forwardRef<SearchFormRefApi, SearchFormProps>((props, ref) => {\n const searchFormId = hooks.useId(undefined, 'search-form-key');\n\n const modelKey = useMemo(() => {\n return props.cacheSwitch === false ? searchFormId : location.pathname;\n }, [searchFormId, props.cacheSwitch]);\n\n const [state, actions] = searchFormModel(modelKey).useStore();\n const [form] = Form.useForm(props.form);\n const {\n queryButtonProps,\n resetButtonProps,\n searchOperate,\n formClassName,\n rightOperateAreaAppendType,\n onQuery,\n onReset,\n initRequest,\n onFormFinish,\n defaultResetButtonTriggerRequest,\n } = props;\n const children = typeof props.children === 'function' ? props.children(form) : props.children;\n\n const rightOperateAreaAppendTypeFt = rightOperateAreaAppendType || 'cover';\n const childrens = useMemo(() => {\n if (isFragment(children)) {\n return Children.toArray((children as ReactElement).props.children) as ReactElement[];\n } else {\n return Children.toArray(children) as ReactElement[];\n }\n }, [children]);\n\n const onInnerQuery = (values) => {\n Object.keys(values).forEach((key) => {\n if (key.startsWith('__#invalid_date_')) {\n delete values[key];\n }\n });\n void actions.updateFilterCondition(values);\n void onQuery?.(values || {});\n };\n\n const onInnerReset = hooks.useCallbackRef(async () => {\n await actions.resetFilterCondition();\n setTimeout(() => {\n form.resetFields();\n }, 200);\n onReset?.();\n if (defaultResetButtonTriggerRequest === false) {\n return;\n }\n void onInnerQuery({});\n });\n\n const onInnerFormFinish = (values) => {\n if (onFormFinish) {\n onFormFinish(values);\n return;\n }\n void onInnerQuery(values);\n };\n\n const formRowChildren = useMemo(() => {\n const defaultRightList = [\n !queryButtonProps?.hidden ? (\n <ButtonWrapper\n key=\"1\"\n type=\"primary\"\n htmlType={'submit'}\n loadingPosition=\"center\"\n {...queryButtonProps}\n >\n {queryButtonProps?.text || '查询'}\n </ButtonWrapper>\n ) : null,\n !resetButtonProps?.hidden ? (\n <ButtonWrapper key=\"2\" onClick={onInnerReset} {...resetButtonProps}>\n {resetButtonProps?.text || '重置'}\n </ButtonWrapper>\n ) : null,\n ].filter(Boolean);\n const customFormOperateCol = searchOperate?.(form);\n const customRightList = customFormOperateCol?.rightList;\n const leftList: TAny[] = customFormOperateCol?.leftList || [];\n\n let rightList: TAny[] = defaultRightList;\n if (customRightList) {\n if (rightOperateAreaAppendTypeFt === 'afterAppend') {\n rightList = [...defaultRightList, ...customRightList];\n } else if (rightOperateAreaAppendTypeFt === 'beforeAppend') {\n rightList = [...customRightList, ...defaultRightList];\n } else {\n rightList = customRightList;\n }\n }\n\n if (props.foldKeys?.length) {\n const changeFolditem = (\n <ButtonWrapper\n type=\"link\"\n key=\"fold-trigger\"\n style={{ padding: '0' }}\n onClick={() => {\n void actions.onChangeOpenFold(!state.openFold);\n }}\n >\n {state.openFold ? (\n <span>\n 收起\n <UpOutlined style={{ marginLeft: 3, fontSize: 12 }} />\n </span>\n ) : (\n <span>\n 展开\n <DownOutlined style={{ marginLeft: 3, fontSize: 12 }} />\n </span>\n )}\n </ButtonWrapper>\n );\n\n if (rightList.length > 0 || leftList.length === 0) {\n rightList.push(changeFolditem);\n } else if (leftList?.length > 0) {\n leftList.push(changeFolditem);\n }\n }\n\n return childrens\n .map((item, index) => {\n if (!state.openFold && props.foldKeys?.find((keyItem) => `.$${keyItem}` === item.key)) {\n return null;\n }\n if (item.props['hidden']) return null;\n if (item.type['domTypeName'] === 'FormCol') return item;\n return <FormGrid.Col key={index}>{item}</FormGrid.Col>;\n })\n .filter(Boolean)\n .concat(\n <FormGrid.OperateCol key={999} {...customFormOperateCol} leftList={leftList} rightList={rightList} />,\n );\n }, [\n queryButtonProps,\n resetButtonProps,\n onInnerReset,\n searchOperate,\n form,\n props.foldKeys,\n childrens,\n rightOperateAreaAppendTypeFt,\n state.openFold,\n actions,\n ]);\n\n fbaHooks.useEffectCustom(() => {\n if ((initRequest === false && !state.isInit) || initRequest !== false) {\n void onQuery?.({\n ...props.formInitialValues,\n ...state.queryCondition,\n });\n }\n void actions.updateInitStatus();\n }, []);\n\n useImperativeHandle(ref, () => {\n return {\n onQuery: onInnerQuery,\n form,\n };\n });\n\n return (\n <FormWrapper\n form={form}\n autoComplete=\"off\"\n onFinish={onInnerFormFinish}\n initialValues={{\n ...props.formInitialValues,\n ...state.queryCondition,\n }}\n className={classNames('search-form', preDefinedClassName.form.formItemGap8, formClassName)}\n style={props.formStyle}\n labelWidth={props.formLabelWidth}\n labelAlign={props.formLabelAlign}\n formItemGap={props.formFormItemGap}\n labelItemVertical={props.formLabelItemVertical}\n >\n {props.isPure ? (\n children\n ) : (\n <FormGrid.Row gutter={[15, 0]} gridSize={props.formGridSize}>\n {formRowChildren}\n </FormGrid.Row>\n )}\n </FormWrapper>\n );\n});\n"],"names":["defaultState","queryCondition","isInit","openFold","SearchFormModel","actions","updateFilterCondition","params","state","_extends","resetFilterCondition","updateInitStatus","onChangeOpenFold","boo","searchFormModels","searchFormModel","key","Model","SearchForm","forwardRef","props","ref","searchFormId","_hooks","useId","undefined","modelKey","useMemo","cacheSwitch","location","pathname","_searchFormModel$useS","useStore","_Form$useForm","Form","useForm","form","queryButtonProps","resetButtonProps","searchOperate","formClassName","rightOperateAreaAppendType","onQuery","onReset","initRequest","onFormFinish","defaultResetButtonTriggerRequest","children","rightOperateAreaAppendTypeFt","childrens","isFragment","Children","toArray","onInnerQuery","values","Object","keys","forEach","startsWith","onInnerReset","useCallbackRef","Promise","$return","$error","resolve","then","$await_1","setTimeout","resetFields","$boundEx","onInnerFormFinish","formRowChildren","_props$foldKeys","defaultRightList","hidden","_jsx","ButtonWrapper","type","htmlType","loadingPosition","text","onClick","filter","Boolean","customFormOperateCol","customRightList","rightList","leftList","concat","foldKeys","length","changeFolditem","style","padding","_jsxs","_UpOutlined","marginLeft","fontSize","_DownOutlined","push","map","item","index","_props$foldKeys2","find","keyItem","FormGrid","Col","OperateCol","fbaHooks","useEffectCustom","formInitialValues","useImperativeHandle","FormWrapper","autoComplete","onFinish","initialValues","className","_classNames","preDefinedClassName","formItemGap8","formStyle","labelWidth","formLabelWidth","labelAlign","formLabelAlign","formItemGap","formFormItemGap","labelItemVertical","formLabelItemVertical","isPure","Row","gutter","gridSize","formGridSize"],"mappings":"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"}
|