@flatbiz/antd 4.2.38 → 4.2.40
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/anchor-steps/index.css +1 -0
- package/esm/anchor-steps/index.js +5 -0
- package/esm/anchor-steps/index.js.map +1 -0
- package/esm/anchor-steps-616cd173.js +3 -0
- package/esm/anchor-steps-616cd173.js.map +1 -0
- package/esm/button-operate/index.js +1 -1
- package/esm/{button-operate-6add2cbf.js → button-operate-697b2a94.js} +2 -2
- package/esm/{button-operate-6add2cbf.js.map → button-operate-697b2a94.js.map} +1 -1
- package/esm/button-wrapper/index.js +1 -1
- package/esm/{button-wrapper-c63ea6fc.js → button-wrapper-e833e139.js} +2 -2
- package/esm/{button-wrapper-c63ea6fc.js.map → button-wrapper-e833e139.js.map} +1 -1
- package/esm/cascader-wrapper/index.js +1 -1
- package/esm/{cascader-wrapper-7f1eed71.js → cascader-wrapper-db4a5382.js} +2 -2
- package/esm/{cascader-wrapper-7f1eed71.js.map → cascader-wrapper-db4a5382.js.map} +1 -1
- package/esm/{cell-render-03055c65.js → cell-render-362e4d87.js} +2 -2
- package/esm/{cell-render-03055c65.js.map → cell-render-362e4d87.js.map} +1 -1
- package/esm/data-render/index.css +1 -0
- package/esm/data-render/index.js +5 -0
- package/esm/data-render/index.js.map +1 -0
- package/esm/data-render-07c0ab6b.js +3 -0
- package/esm/data-render-07c0ab6b.js.map +1 -0
- package/esm/dialog-alert/index.css +1 -1
- package/esm/dialog-alert/index.js +1 -1
- package/esm/{dialog-alert-0ca83448.js → dialog-alert-23b4a533.js} +2 -2
- package/esm/{dialog-alert-0ca83448.js.map → dialog-alert-23b4a533.js.map} +1 -1
- package/esm/dialog-confirm/index.css +1 -1
- package/esm/dialog-confirm/index.js +1 -1
- package/esm/{dialog-confirm-b289f5ed.js → dialog-confirm-2656caad.js} +2 -2
- package/esm/{dialog-confirm-b289f5ed.js.map → dialog-confirm-2656caad.js.map} +1 -1
- package/esm/dialog-drawer/index.js +1 -1
- package/esm/{dialog-drawer-525a0bc3.js → dialog-drawer-a741961f.js} +2 -2
- package/esm/{dialog-drawer-525a0bc3.js.map → dialog-drawer-a741961f.js.map} +1 -1
- package/esm/dialog-modal/index.css +1 -1
- package/esm/dialog-modal/index.js +1 -1
- package/esm/dialog-modal-7b705b44.js +3 -0
- package/esm/dialog-modal-7b705b44.js.map +1 -0
- package/esm/dropdown-menu-wrapper/index.js +1 -1
- package/esm/{dropdown-menu-wrapper-2c4b6cad.js → dropdown-menu-wrapper-3544d20e.js} +2 -2
- package/esm/{dropdown-menu-wrapper-2c4b6cad.js.map → dropdown-menu-wrapper-3544d20e.js.map} +1 -1
- package/esm/easy-table/index.js +1 -1
- package/esm/easy-table/index.js.map +1 -1
- package/esm/editable-table/index.js +1 -1
- package/esm/{editable-table-2aa53f04.js → editable-table-2446a059.js} +2 -2
- package/esm/{editable-table-2aa53f04.js.map → editable-table-2446a059.js.map} +1 -1
- package/esm/form-grid/index.js +1 -1
- package/esm/form-grid/index.js.map +1 -1
- package/esm/index.js +4 -1
- package/esm/rich-text-viewer/index.js +1 -1
- package/esm/{rich-text-viewer-5cbe01e9.js → rich-text-viewer-3bf4569a.js} +2 -2
- package/esm/{rich-text-viewer-5cbe01e9.js.map → rich-text-viewer-3bf4569a.js.map} +1 -1
- package/esm/selector-wrapper/index.js +1 -1
- package/esm/selector-wrapper-dc08cc44.js +3 -0
- package/esm/selector-wrapper-dc08cc44.js.map +1 -0
- package/esm/selector-wrapper-search/index.js +1 -1
- package/esm/selector-wrapper-search-f799bcf0.js +3 -0
- package/esm/selector-wrapper-search-f799bcf0.js.map +1 -0
- package/esm/selector-wrapper-simple/index.js +1 -1
- package/esm/selector-wrapper-simple-7b34f7bd.js +3 -0
- package/esm/selector-wrapper-simple-7b34f7bd.js.map +1 -0
- package/esm/simple-layout/index.css +1 -1
- package/esm/simple-layout/index.js +1 -1
- package/esm/simple-layout-f43cfc5d.js +3 -0
- package/esm/simple-layout-f43cfc5d.js.map +1 -0
- package/esm/table-cell-render/index.js +1 -1
- package/esm/tabs-wrapper/index.js +1 -1
- package/esm/tabs-wrapper-675dc949.js +3 -0
- package/esm/{tabs-wrapper-0a2da713.js.map → tabs-wrapper-675dc949.js.map} +1 -1
- package/esm/text-overflow-render/index.css +0 -0
- package/esm/text-overflow-render/index.js +9 -0
- package/esm/text-overflow-render/index.js.map +1 -0
- package/esm/text-overflow-render-2ec38800.js +3 -0
- package/esm/text-overflow-render-2ec38800.js.map +1 -0
- package/esm/tree-wrapper/index.css +1 -1
- package/esm/tree-wrapper/index.js +1 -1
- package/esm/tree-wrapper/index.js.map +1 -1
- package/esm/types/index.js +1 -0
- package/esm/types/index.js.map +1 -1
- package/index.d.ts +110 -0
- package/package.json +5 -4
- package/esm/dialog-modal-225b0fe0.js +0 -3
- package/esm/dialog-modal-225b0fe0.js.map +0 -1
- package/esm/selector-wrapper-ece722f5.js +0 -3
- package/esm/selector-wrapper-ece722f5.js.map +0 -1
- package/esm/selector-wrapper-search-aad145b5.js +0 -3
- package/esm/selector-wrapper-search-aad145b5.js.map +0 -1
- package/esm/selector-wrapper-simple-49384d37.js +0 -3
- package/esm/selector-wrapper-simple-49384d37.js.map +0 -1
- package/esm/simple-layout-08f90dab.js +0 -3
- package/esm/simple-layout-08f90dab.js.map +0 -1
- package/esm/tabs-wrapper-0a2da713.js +0 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editable-table-2aa53f04.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/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 { isArray } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { LabelValueItem, TAny } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Checkbox, Form, Tag } from 'antd';\nimport { useMemo } from 'react';\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 viewLabelList = useMemo(() => {\n if (editable) return [];\n const value = isArray(props.value) ? props.value : ([] as TAny[]);\n const options = (editableComptProps.options || []) as LabelValueItem[];\n if (!isArray(options) || options.length === 0) {\n return value.map((item) => ({ label: item, value: item }));\n }\n const returnList = [] as LabelValueItem[];\n value.forEach((item) => {\n const target = options.find((temp) => temp.value === item);\n returnList.push(target ? target : { label: item, value: item });\n });\n return returnList;\n }, [editable, editableComptProps.options, props.value]);\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 return (\n <span className=\"editable-checkbox-group-view\">\n {render\n ? render(props.value)\n : viewLabelList.map((tag, index) => (\n <Tag key={index} color=\"#1890ff\">\n {tag.label}\n </Tag>\n ))}\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 { isArray } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { LabelValueItem } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Form, Radio, Tag } from 'antd';\nimport { useMemo } from 'react';\nimport { fbaHooks } from '../../fba-hooks';\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\n const theme = fbaHooks.useThemeToken();\n\n const viewLabel = useMemo(() => {\n if (editable) return [];\n const value = props.value;\n const options = (editableComptProps.options || []) as LabelValueItem<string | number>[];\n if (!isArray(options) || options.length === 0) {\n return value;\n }\n const target = options.find((item) => item.value === value);\n return target?.label || value;\n }, [editable, editableComptProps.options, props.value]);\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) : viewLabel ? <Tag color={theme.colorPrimary}>{viewLabel}</Tag> : null}\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 { fbaHooks } from '../../fba-hooks';\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 const theme = fbaHooks.useThemeToken();\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={theme.colorPrimary}>\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 { 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 { 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 === '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 { Form, Table, TableProps } from 'antd';\nimport { FormListOperation, FormListProps } from 'antd/lib/form/FormList';\nimport { ColumnsType } from 'antd/lib/table';\nimport { Fragment, ReactElement, useMemo } from 'react';\nimport { ButtonWrapper } from '../button-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};\n/**\n * antd 默认render功能此处不能使用\n */\nexport type EditableTableColumn = Omit<ColumnsType['0'], 'render'> & {\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 * ```\n */\n renderMiddleware?: (item: {\n tableRowIndex: number;\n name: EditableTableName;\n tableRowName: EditableTableName;\n operation: FormListOperation;\n index: number;\n }) => ReactElement | null;\n};\n\nexport type EditableTableProps = {\n name: string;\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};\n\nexport const EditableTable = (props: EditableTableProps) => {\n const columns = useMemo(() => {\n if (!props.columns) return [];\n return props.columns.map((columnItem) => {\n const { fieldConfig, renderMiddleware, ...otherColumnItem } = columnItem;\n return {\n onCell: () => {\n return {\n valign: props.tableProps?.cellVerticalAlign || 'middle',\n };\n },\n ...otherColumnItem,\n render: (_value, record, index) => {\n const tableRowName = [props.name, 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 })\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 return (\n <div className=\"editable-table\">\n <Form.List name={props.name} rules={props.rules}>\n {(fields, formListOperation) => {\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 {...props.tableProps}\n dataSource={fields.map((item) => ({ ...item, operation: formListOperation }))}\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()}\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","viewLabelList","useMemo","value","_isArray","options","length","map","item","label","returnList","forEach","target","find","temp","push","onChange","_hooks","useCallbackRef","_jsx","Checkbox","Group","_extends","className","children","tag","index","Tag","color","CheckboxGroupFormItem","formItemProps","Form","Item","name","_classNames","DatePickerWrapperFormItem","DatePickerWrapper","allowClear","FormItemContent","data","viewLabel","undefined","join","DateRangePickerWrapper","DateRangePickerWrapperFormItem","InputFormItem","InputWrapper","InputNumberFormItem","InputNumber","RadioGroupFormItemContent","theme","fbaHooks","useThemeToken","e","Radio","colorPrimary","RadioGroupFormItem","_useState","useState","selectorList","setSelectorList","_useState2","setviewLabelList","useEffect","String","fieldNames","onSelectorListAllChange","dataList","arrayField2LabelValue","selectList","SelectorWrapper","_jsxs","Fragment","style","display","SelectorWrapperFormItem","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","_props$tableProps2","columns","columnItem","renderMiddleware","otherColumnItem","onCell","_props$tableProps","valign","tableProps","cellVerticalAlign","_value","record","tableRowName","customRender","operation","fieldConfigActual","rules","formListOperation","onTableBeforeRender","Table","scroll","x","pagination","rowKey","dataSource","onTableAfterRender","ButtonWrapper","hiddenFooterBtn","block","_PlusOutlined","marginTop"],"mappings":";+vCAEO,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,EAAgBC,GAAQ,WAC5B,GAAIV,EAAU,MAAO,GACrB,IAAMW,EAAQC,EAAQT,EAAMQ,OAASR,EAAMQ,MAAS,GACpD,IAAME,EAAWL,EAAmBK,SAAW,GAC/C,IAAKD,EAAQC,IAAYA,EAAQC,SAAW,EAAG,CAC7C,OAAOH,EAAMI,KAAI,SAACC,GAAI,MAAM,CAAEC,MAAOD,EAAML,MAAOK,EAAM,GAC1D,CACA,IAAME,EAAa,GACnBP,EAAMQ,SAAQ,SAACH,GACb,IAAMI,EAASP,EAAQQ,MAAK,SAACC,GAAI,OAAKA,EAAKX,QAAUK,KACrDE,EAAWK,KAAKH,EAASA,EAAS,CAAEH,MAAOD,EAAML,MAAOK,GAC1D,IACA,OAAOE,CACT,GAAG,CAAClB,EAAUQ,EAAmBK,QAASV,EAAMQ,QAEhD,IAAMa,EAAWC,EAAMC,gBAAe,SAACf,GACrCR,EAAMqB,UAANrB,UAAAA,EAAAA,EAAMqB,SAAWb,GACjBH,EAAmBgB,UAAnBhB,UAAAA,EAAAA,EAAmBgB,SAAWb,EAChC,IAEA,GAAIX,EAAU,CACZ,OAAO2B,EAACC,EAASC,MAAKC,KAAKtB,EAAkB,CAAEG,MAAOR,EAAMQ,MAAOa,SAAUA,IAC/E,CACA,OACEG,EAAA,OAAA,CAAMI,UAAU,+BAA8BC,SAC3CzB,EACGA,EAAOJ,EAAMQ,OACbF,EAAcM,KAAI,SAACkB,EAAKC,GAAK,OAC3BP,EAACQ,EAAG,CAAaC,MAAM,UAASJ,SAC7BC,EAAIhB,OADGiB,OAMtB,EAEO,IAAMG,EAAwB,SAAxBA,EAAyBlC,GACpC,IAAQmC,EAAkBnC,EAAME,YAAxBiC,cAER,OACEX,EAACY,EAAKC,KAAIV,KACJQ,EAAa,CACjBG,KAAMtC,EAAMsC,KACZV,UAAWW,EAAW,oCAAqCJ,GAAAA,UAAAA,EAAAA,EAAeP,WAAWC,SAErFL,EAACzB,EAA4B4B,KAAK3B,MAGxC,EC3DO,IAAMwC,EAA4B,SAA5BA,EAA6BxC,GACxC,IAAAC,EAA0CD,EAAME,YAAxCiC,EAAalC,EAAbkC,cAAehC,EAAcF,EAAdE,eACvB,OACEqB,EAACY,EAAKC,KAAIV,KACJQ,EAAa,CACjBG,KAAMtC,EAAMsC,KACZV,UAAWW,EAAW,wCAAyCJ,GAAAA,UAAAA,EAAAA,EAAeP,WAAWC,SAEzFL,EAACiB,EAAiBd,EAAA,CAChBe,WAAU,MACLvC,EAAmDE,uBAIhE,ECNA,IAAMsC,EAAkB,SAAlBA,EAAmB3C,GACvB,IAAAC,EAA6CD,EAAME,YAA3CC,EAAcF,EAAdE,eAAgBN,EAAQI,EAARJ,SAAUO,EAAMH,EAANG,OAClC,IAAMC,EAAsBF,EAAwDE,mBAEpF,IAAMgB,EAAWC,EAAMC,gBAAe,SAACqB,GACrC5C,EAAMqB,UAANrB,UAAAA,EAAAA,EAAMqB,SAAWuB,GACjBvC,GAAkB,UAAA,EAAlBA,EAAoBgB,UAAQ,UAAA,EAA5BhB,EAAoBgB,SAAWuB,EACjC,IAEA,IAAMC,EAAYtC,GAAQ,WACxB,IAAMC,EAAQC,EAAQT,EAAMQ,OAASR,EAAMQ,MAAS,GACpD,GAAIX,EAAU,OAAOiD,UACrB,OAAOtC,EAAMuC,KAAK,IACnB,GAAE,CAAClD,EAAUG,EAAMQ,QAEpB,GAAIX,EAAU,CACZ,OACE2B,EAACwB,EAAsBrB,EAAA,CAACe,WAAU,MAAKrC,EAAkB,CAAEG,MAAOR,EAAMQ,MAAOa,SAAUA,IAE7F,CACA,OAAOG,EAAA,OAAA,CAAMI,UAAU,kCAAiCC,SAAEzB,EAASA,EAAOJ,EAAMQ,OAASqC,GAC3F,EAEO,IAAMI,EAAiC,SAAjCA,EAAkCjD,GAC7C,IAAQmC,EAAkBnC,EAAME,YAAxBiC,cACR,OACEX,EAACY,EAAKC,KAAIV,KACJQ,EAAa,CACjBG,KAAMtC,EAAMsC,KACZV,UAAWW,EAAW,8CAA+CJ,GAAAA,UAAAA,EAAAA,EAAeP,WAAWC,SAE/FL,EAACmB,EAAehB,KAAK3B,MAG3B,EC3CO,IAAMkD,EAAgB,SAAhBA,EAAiBlD,GAC5B,IAAAC,EAA0CD,EAAME,YAAxCiC,EAAalC,EAAbkC,cAAehC,EAAcF,EAAdE,eAEvB,OACEqB,EAACY,EAAKC,KAAIV,KAAKQ,EAAa,CAAEG,KAAMtC,EAAMsC,KAAKT,SAC7CL,EAAC2B,EAAYxB,EAAA,CAACe,WAAU,MAAMvC,EAAuCE,uBAG3E,ECRO,IAAM+C,EAAsB,SAAtBA,EAAuBpD,GAClC,IAAAC,EAA0CD,EAAME,YAAxCiC,EAAalC,EAAbkC,cAAehC,EAAcF,EAAdE,eACvB,OACEqB,EAACY,EAAKC,KAAIV,KACJQ,EAAa,CACjBG,KAAMtC,EAAMsC,KACZV,UAAWW,EAAW,kCAAmCJ,GAAAA,UAAAA,EAAAA,EAAeP,WAAWC,SAEnFL,EAAC6B,EAAW1B,EAAA,CAAA,EAAMxB,EAA6CE,uBAGrE,ECDA,IAAMiD,EAA4B,SAA5BA,EAA6BtD,GACjC,IAAAC,EAA6CD,EAAME,YAA3CC,EAAcF,EAAdE,eAAgBN,EAAQI,EAARJ,SAAUO,EAAMH,EAANG,OAClC,IAAMC,EAAsBF,EAA4CE,mBAExE,IAAMkD,EAAQC,EAASC,gBAEvB,IAAMZ,EAAYtC,GAAQ,WACxB,GAAIV,EAAU,MAAO,GACrB,IAAMW,EAAQR,EAAMQ,MACpB,IAAME,EAAWL,EAAmBK,SAAW,GAC/C,IAAKD,EAAQC,IAAYA,EAAQC,SAAW,EAAG,CAC7C,OAAOH,CACT,CACA,IAAMS,EAASP,EAAQQ,MAAK,SAACL,GAAI,OAAKA,EAAKL,QAAUA,KACrD,OAAOS,GAAM,UAAA,EAANA,EAAQH,QAASN,CAC1B,GAAG,CAACX,EAAUQ,EAAmBK,QAASV,EAAMQ,QAEhD,IAAMa,EAAWC,EAAMC,gBAAe,SAACmC,GACrC1D,EAAMqB,UAANrB,UAAAA,EAAAA,EAAMqB,SAAWqC,EAAEzC,OAAOT,OAC1BH,EAAmBgB,UAAnBhB,UAAAA,EAAAA,EAAmBgB,SAAWqC,EAChC,IAEA,GAAI7D,EAAU,CACZ,OAAO2B,EAACmC,EAAMjC,MAAKC,KAAKtB,EAAkB,CAAEG,MAAOR,EAAMQ,MAAOa,SAAUA,IAC5E,CACA,OACEG,EAAA,OAAA,CAAMI,UAAU,4BAA2BC,SACxCzB,EAASA,EAAOJ,EAAMQ,OAASqC,EAAYrB,EAACQ,EAAG,CAACC,MAAOsB,EAAMK,aAAa/B,SAAEgB,IAAmB,MAGtG,EAEO,IAAMgB,EAAqB,SAArBA,EAAsB7D,GACjC,IAAQmC,EAAkBnC,EAAME,YAAxBiC,cAER,OACEX,EAACY,EAAKC,KAAIV,KACJQ,EAAa,CACjBG,KAAMtC,EAAMsC,KACZV,UAAWW,EAAW,iCAAkCJ,GAAAA,UAAAA,EAAAA,EAAeP,WAAWC,SAElFL,EAAC8B,EAAyB3B,KAAK3B,MAGrC,EC3CA,IAAM2C,EAAkB,SAAlBA,EAAmB3C,GACvB,IAAAC,EAA6CD,EAAME,YAA3CC,EAAcF,EAAdE,eAAgBN,EAAQI,EAARJ,SAAUO,EAAMH,EAANG,OAClC,IAAMC,EAAsBF,EAA+CE,mBAC3E,IAAAyD,EAAwCC,EAA2B,IAA5DC,EAAYF,EAAA,GAAEG,EAAeH,EAAA,GACpC,IAAAI,EAA0CH,EAA2B,IAA9DzD,EAAa4D,EAAA,GAAEC,EAAgBD,EAAA,GACtC,IAAMX,EAAQC,EAASC,gBAEvBW,GAAU,WACR,IAAKvE,EAAU,CACb,IAAMW,EAAQC,EAAQT,EAAMQ,OAASR,EAAMQ,MAAQR,EAAMQ,QAAUsC,UAAY,GAAK,CAAC9C,EAAMQ,OAC3F,GAAIwD,EAAarD,SAAW,EAAG,CAC7BwD,EAAiB3D,EAAMI,KAAI,SAACC,GAAI,MAAM,CAAEC,MAAOD,EAAgBL,MAAOK,EAAO,IAC/E,CACA,IAAME,EAAa,GACnBP,EAAMQ,SAAQ,SAACH,GACb,IAAMI,EAAS+C,EAAa9C,MAAK,SAACC,GAAI,OAAKA,EAAKX,QAAUK,KAC1DE,EAAWK,KAAKH,EAASA,EAAS,CAAEH,MAAOuD,OAAOxD,GAAOL,MAAOK,GAClE,IACAsD,EAAiBpD,EACnB,CACF,GAAG,CAAClB,EAAUQ,EAAmBiE,WAAYtE,EAAMQ,MAAOwD,IAE1D,IAAMO,EAA0BjD,EAAMC,gBAAe,SAACiD,GACpDP,EAAgBQ,EAAsBD,GAAY,GAAInE,EAAmBiE,YAC3E,IAEA,IAAMjD,EAAWC,EAAMC,gBAAe,SAACf,EAAOkE,GAC5C1E,EAAMqB,UAANrB,UAAAA,EAAAA,EAAMqB,SAAWb,GACjBH,EAAmBgB,UAAQ,UAAA,EAA3BhB,EAAmBgB,SAAWb,EAAOkE,EACvC,IAEA,GAAI7E,EAAU,CACZ,OACE2B,EAACmD,EAAehD,KACVtB,EAAkB,CACtBG,MAAOR,EAAMQ,MACba,SAAUA,EACVkD,wBAAyBA,IAG/B,CACA,OACEK,EAACC,EAAQ,CAAAhD,UACPL,EAAA,MAAA,CAAKsD,MAAO,CAAEC,QAAS,QAASlD,SAC9BL,EAACmD,EAAehD,KAAKtB,EAAkB,CAAEkE,wBAAyBA,OAEpE/C,EAAA,OAAA,CAAMI,UAAU,yBAAwBC,SACrCzB,EACGA,EAAOJ,EAAMQ,MAAOwD,GACpB1D,EAAcM,KAAI,SAACkB,EAAKC,GAAK,OAC3BP,EAACQ,EAAG,CAAaC,MAAOsB,EAAMK,aAAa/B,SACxCC,EAAIhB,OADGiB,UAOxB,EAEO,IAAMiD,EAA0B,SAA1BA,EAA2BhF,GACtC,IAAQmC,EAAkBnC,EAAME,YAAxBiC,cAER,OACEX,EAACY,EAAKC,KAAIV,KACJQ,EAAa,CACjBG,KAAMtC,EAAMsC,KACZV,UAAWW,EAAW,sCAAuCJ,GAAAA,UAAAA,EAAAA,EAAeP,WAAWC,SAEvFL,EAACmB,EAAehB,KAAK3B,MAG3B,ECjFA,IAAMiF,EAAsB,SAAtBA,EAAuBjF,GAIvB,IAAAkF,EAAAC,EACJ,IAAM3E,EAAQD,GAAQ,WAAM,IAAAN,EAC1B,IAAAA,EAAID,EAAME,cAAND,MAAAA,EAAmBG,OAAQ,OAAO0C,UACtC,IAAMsC,EACJC,EAASrF,EAAMQ,QAAU8E,EAAStF,EAAMQ,QAAU+E,EAAUvF,EAAMQ,SAAWR,EAAMQ,MACrF,IAAK4E,EAAY,CACfI,QAAQC,KAAwBzF,mBAAAA,EAAMsC,KAAI,OAAOoD,KAAKC,UAAU3F,EAAMQ,OAAkB,YAC1F,CACA,OAAO4E,EAAapF,EAAMQ,MAAQsC,SACnC,GAAE,EAAAoC,EAAClF,EAAME,0BAANgF,EAAmB9E,OAAQJ,EAAMsC,KAAMtC,EAAMQ,QACjD,IAAMoF,IAAWT,EAAAnF,EAAME,cAAW,UAAA,EAAjBiF,EAAmB/E,QAAnB+E,UAAAA,EAAAA,EAAmB/E,OAASJ,EAAMQ,SAAUA,EAC7D,OAAOgB,EAAA,OAAA,CAAAK,SAAO+D,GAChB,EAEO,IAAMC,EAAe,SAAfA,EAAgB7F,GAC3B,OACEwB,EAACY,EAAKC,KAAI,CAACyD,QAAO,KAACxD,KAAMtC,EAAMsC,KAAKT,SAClCL,EAACyD,EAAmB,CAAC3C,KAAMtC,EAAMsC,KAAMpC,YAAaF,EAAME,eAGhE,ECzBO,IAAM6F,EAAmB,SAAnBA,EAAoB/F,GAC/B,IAAAC,EAA0CD,EAAME,YAAxCiC,EAAalC,EAAbkC,cAAehC,EAAcF,EAAdE,eACvB,OACEqB,EAACY,EAAKC,KAAIV,KAAKQ,EAAa,CAAEG,KAAMtC,EAAMsC,KAAKT,SAC7CL,EAACwE,EAAoBrE,EAAA,CAAA,EAAMxB,EAA0CE,uBAG3E,qBCLA,IAAM4F,EAA+B,SAA/BA,EACJjG,GAEA,IAAAC,EAA6CD,EAAME,YAA3CC,EAAcF,EAAdE,eAAgBC,EAAMH,EAANG,OAAQP,EAAQI,EAARJ,SAChC,IAAAqG,EAAqC/F,EAA4CE,mBAAzEwB,EAAQqE,EAARrE,SAAasE,EAAUC,EAAAF,EAAAG,GAC/B,GAAIxG,EAAU,CACZ,OACE2B,EAAC8E,EAAa3E,EAAA,CAAC4E,SAAS,QAAWJ,EAAU,CAAE3F,MAAOR,EAAMQ,MAAOa,SAAUrB,EAAMqB,SAASQ,SACzFA,IAGP,CACA,OACEL,EAAA,MAAA,CAAKI,UAAU,+BAA8BC,SAC1CzB,EACCA,EAAOJ,EAAMQ,OAEbgB,EAAC8E,EAAa3E,EAAA,CAAC4E,SAAS,QAAWJ,EAAU,CAAE3F,MAAOR,EAAMQ,MAAOgG,SAAU,SAIrF,EAEO,IAAMC,EAAwB,SAAxBA,EAAyBzG,GACpC,IAAQmC,EAAkBnC,EAAME,YAAxBiC,cACR,OACEX,EAACY,EAAKC,KAAIV,KACJQ,EAAa,CACjBG,KAAMtC,EAAMsC,KACZV,UAAWW,EAAW,oCAAqCJ,GAAAA,UAAAA,EAAAA,EAAeP,WAAWC,SAErFL,EAACyE,EAA4BtE,KAAK3B,MAGxC,ECnBO,IAAM0G,GAAkB,SAAlBA,EAAmB1G,GAC9B,IAAAC,EAAqCD,EAAME,YAAnCC,EAAcF,EAAdE,eAAgBN,EAAQI,EAARJ,SACxB,IAAM8G,EAAc/G,EAAYC,EAAUG,EAAMF,eAChD,IAAMI,EAAc0G,EAAO,GAAI5G,EAAME,YAAa,CAAEL,SAAU8G,IAE9D,IAAME,EAAc,CAClBvE,KAAMtC,EAAMsC,KACZpC,YAAAA,GAGF,IAAIC,GAAc,UAAA,EAAdA,EAAgB2G,QAAS,SAAWH,EAAa,CACnD,OAAOnF,EAAC0B,EAAavB,EAAA,CAAA,EAAKkF,GAC5B,MAAO,IAAI1G,GAAAA,UAAAA,EAAAA,EAAgB2G,QAAS,eAAiBH,EAAa,CAChE,OAAOnF,EAAC4B,EAAmBzB,EAAA,CAAA,EAAKkF,GAClC,MAAO,IAAI1G,GAAAA,UAAAA,EAAAA,EAAgB2G,QAAS,YAAcH,EAAa,CAC7D,OAAOnF,EAACuE,EAAgBpE,EAAA,CAAA,EAAKkF,GAC/B,MAAO,IAAI1G,GAAAA,UAAAA,EAAAA,EAAgB2G,QAAS,qBAAuBH,EAAa,CACtE,OAAOnF,EAACgB,EAAyBb,EAAA,CAAA,EAAKkF,SACjC,IAAI1G,GAAc,UAAA,EAAdA,EAAgB2G,QAAS,yBAA0B,CAC5D,OAAOtF,EAACyB,EAA8BtB,EAAA,CAAA,EAAKkF,SACtC,IAAI1G,GAAc,UAAA,EAAdA,EAAgB2G,QAAS,kBAAmB,CACrD,OAAOtF,EAACwD,EAAuBrD,EAAA,CAAA,EAAKkF,SAC/B,IAAI1G,GAAc,UAAA,EAAdA,EAAgB2G,QAAS,gBAAiB,CACnD,OAAOtF,EAACU,EAAqBP,EAAA,CAAA,EAAKkF,SAC7B,IAAI1G,GAAc,UAAA,EAAdA,EAAgB2G,QAAS,aAAc,CAChD,OAAOtF,EAACqC,EAAkBlC,EAAA,CAAA,EAAKkF,SAC1B,IAAI1G,GAAc,UAAA,EAAdA,EAAgB2G,QAAS,gBAAiB,CACnD,OAAOtF,EAACiF,EAAqB9E,EAAA,CAAA,EAAKkF,SAC7B,IAAI1G,GAAc,UAAA,EAAdA,EAAgB2G,QAAS,SAAU,CAC5C,OAAO3G,EAAeE,mBAAmB,CACvCiC,KAAMtC,EAAMsC,KACZzC,SAAU8G,EACVI,aAAc/G,EAAM+G,aACpBjH,cAAeE,EAAMF,eAEzB,CAEA,OAAO0B,EAACqE,EAAYlE,EAAA,CAAA,EAAKkF,GAC3B,EC7CO,IAAMG,GAAW,SAAXA,EAAYhH,GACvB,IAAMiH,EAAO7E,EAAK8E,kBAClB,IAAAC,EAOInH,EAAMoH,eANRC,EAAsBF,EAAtBE,uBACAC,EAAkBH,EAAlBG,mBACAC,EAAqBJ,EAArBI,sBACAC,EAA0BL,EAA1BK,2BACAC,EAAyBN,EAAzBM,0BACAC,EAAmBP,EAAnBO,oBAEF,OACElG,EAACY,EAAKuF,KAAI,CAACrF,KAAMtC,EAAMsC,KAAKT,SACzB,SAAAA,EAAC+F,EAAMC,GAAA,IAAIC,EAAGD,EAAHC,IAAKC,EAAMF,EAANE,OAAM,OACrBnD,EAAAoD,EAAA,CAAAnG,SACGwF,CAAAA,EACGA,EAAuB,CACrBvH,cAAeE,EAAMF,cACrBgI,IAAAA,EACItH,YACF,OAAOyG,EAAKgB,cAAcjI,EAAM+G,aAClC,IAEF,KACHa,EAAOhH,KAAI,SAACsH,EAAYnG,GACvB,IAAMoG,EAAcb,EAAmBpG,MAAK,SAACL,GAAI,OAC/CjB,EAAYiB,EAAKhB,SAAUG,EAAMF,kBAEnC,IAAM8B,EAAYW,EAChB,+BAA8B,gCACEvC,EAAMsC,KAAK,GAC3C,CAAE,wCAAyC6F,IAE7C,OACEvD,EAAA,MAAA,CAAiBhD,UAAWA,EAAUC,SACnC2F,CAAAA,GAAAA,UAAAA,EAAAA,EAA6B,CAC5BM,IAAAA,EACAC,OAAQ,SAAAA,IACNA,EAAOhG,EACR,EACDqG,kBAAmBrG,EACnBjC,cAAeE,EAAMF,cACjBU,YACF,OAAOyG,EAAKgB,cAAa,GAAAI,OAAKrI,EAAM+G,aAAY,CAAEmB,EAAW5F,OAC/D,IAEFsC,EAAC0D,EAAK,CAAAzG,SAAA,CACHyF,EAAmB1G,KAAI,SAAC2H,EAAWxG,GAClC,OACEP,EAACkF,GAAe,CACdpE,KAAM,CAAC4F,EAAW5F,KAAMiG,EAAUC,WAClCtI,YAAaqI,EAEbzI,cAAeE,EAAMF,cACrBiH,aAAY,GAAAsB,OAAMrI,EAAM+G,aAAY,CAAEmB,EAAW5F,QAF5CP,EAKX,IACCoG,EACC3G,EAACiH,GAAkB,CACjBf,oBAAqBA,EACrBK,OAAQ,SAAAA,IACNA,EAAOhG,EACP,EACFA,MAAOA,IAEPe,aAEL2E,GAAAA,UAAAA,EAAAA,EAA4B,CAC3BK,IAAAA,EACAM,kBAAmBrG,EACnBjC,cAAeE,EAAMF,cACrBiI,OAAQ,SAAAA,IACNA,EAAOhG,EACR,EACGvB,YACF,OAAOyG,EAAKgB,cAAa,GAAAI,OAAKrI,EAAM+G,aAAY,CAAEmB,EAAW5F,OAC/D,MA3CMP,EA+Cd,IACCwF,EACGA,EAAsB,CACpBzH,cAAeE,EAAMF,cACrBgI,IAAAA,EACItH,YACF,OAAOyG,EAAKgB,cAAcjI,EAAM+G,aAClC,IAEF,OACH,GAIX,EAEA,IAAM0B,GAAqB,SAArBA,EAAsBzI,GAK1B,OACEwB,EAACY,EAAKC,KAAI,CAAAR,SACP7B,EAAM0H,oBACL1H,EAAM0H,oBAAoB,CAAEK,OAAQ/H,EAAM+H,OAAQK,kBAAmBpI,EAAM+B,QAE3EP,EAACkH,EAAM,CAAC5B,KAAK,OAAO6B,OAAM,KAACC,KAAMpH,EAAAqH,EAAmB,IAACC,QAAS9I,EAAM+H,OAAOlG,SAAC,QAMpF,EC9GO,IAAMkH,GAAe,SAAfA,EAAgB/I,GAC3B,GAAIA,EAAME,YAAa,CACrB,GAAIO,EAAQT,EAAME,YAAY,uBAAwB,CACpD,IAAMkH,EAAiBpH,EAAME,YAC7B,OACEsB,EAACwF,GAAQ,CACP1E,KAAMtC,EAAMsC,KACZyE,aAAc/G,EAAM+G,aACpBK,eAAgBA,EAChBtH,cAAeE,EAAMF,eAG3B,KAAO,CACL,OACE8E,EAACC,EAAQ,CAAAhD,SAAA,CACPL,EAACkF,GAAe,CACdpE,KAAMtC,EAAMsC,KACZpC,YAAaF,EAAME,YACnBJ,cAAeE,EAAMF,cACrBiH,aAAc/G,EAAM+G,eAErB/G,EAAMgJ,YACLxH,EAACY,EAAKC,KAAI,CAAC4G,OAAQ,KAAM3G,KAAMtC,EAAMgJ,YAAYE,UAAUrH,SACzDL,EAAC2H,EAAK,MAEN,OAGV,CACF,CACA,OAAO3H,EAACqE,EAAY,CAACvD,KAAMtC,EAAMsC,MACnC,gDCoBa8G,GAAgB,SAAhBA,EAAiBpJ,GAA8B,IAAAqJ,EAC1D,IAAMC,EAAU/I,GAAQ,WACtB,IAAKP,EAAMsJ,QAAS,MAAO,GAC3B,OAAOtJ,EAAMsJ,QAAQ1I,KAAI,SAAC2I,GACxB,IAAQrJ,EAAsDqJ,EAAtDrJ,YAAasJ,EAAyCD,EAAzCC,iBAAqBC,EAAerD,EAAKmD,EAAUlD,IACxE,OAAA1E,EAAA,CACE+H,OAAQ,SAAAA,IAAM,IAAAC,EACZ,MAAO,CACLC,SAAQD,EAAA3J,EAAM6J,aAANF,UAAAA,EAAAA,EAAkBG,oBAAqB,SAEnD,GACGL,EAAe,CAClBrJ,OAAQ,SAAAA,EAAC2J,EAAQC,EAAQjI,GACvB,IAAMkI,EAAe,CAACjK,EAAMsC,KAAM0H,EAAO1H,MACzC,IAAMyE,EAAewC,EAAWL,UAASb,GAAAA,OAAO4B,EAAcV,CAAAA,EAAWL,YAAae,EACtF,IAAMC,EAAeV,GAAgB,UAAA,EAAhBA,EAAmB,CACtClH,KAAMyE,EACNjH,cAAekK,EAAO1H,KACtB6H,UAAWH,EAAOG,UAClBF,aAAAA,EACAlI,MAAAA,IAEF,GAAImI,EAAc,CAChB,OAAOA,CACT,CAEA,IAAME,SACGlK,IAAgB,WACnBA,EAAY,CACVoC,KAAMyE,EACNjH,cAAekK,EAAO1H,KACtB2H,aAAAA,IAEF/J,EACN,OACEsB,EAACuH,GAAY,CACXzG,KAAMiH,EAAWL,UAAY,CAACc,EAAO1H,KAAMiH,EAAWL,WAAa,CAACc,EAAO1H,MAC3EyE,aAAcA,EACd7G,YAAakK,EACbtK,cAAekK,EAAO1H,KACtB0G,YAAaO,EAAWP,aAG9B,GAEJ,GACD,GAAE,CAAChJ,EAAMsJ,QAAStJ,EAAMsC,MAAI+G,EAAErJ,EAAM6J,aAAU,UAAA,EAAhBR,EAAkBS,oBAEjD,OACEtI,EAAA,MAAA,CAAKI,UAAU,iBAAgBC,SAC7BL,EAACY,EAAKuF,KAAI,CAACrF,KAAMtC,EAAMsC,KAAM+H,MAAOrK,EAAMqK,MAAMxI,SAC7C,SAAAA,EAAC+F,EAAQ0C,GACR,OACE1F,EAACC,EAAQ,CAAAhD,SAAA,CACN7B,EAAMuK,oBAAsBvK,EAAMuK,oBAAoBD,EAAmB1C,EAAOjH,QAAU,KAC3Fa,EAACgJ,EAAK7I,EAAA,CACJ8I,OAAQ,CAAEC,EAAG,eACbC,WAAY,MACZC,OAAO,OACH5K,EAAM6J,WAAU,CACpBgB,WAAYjD,EAAOhH,KAAI,SAACC,GAAI,OAAAc,KAAWd,EAAI,CAAEsJ,UAAWG,GAAiB,IACzEhB,QAASA,KAEVtJ,EAAM8K,mBACL9K,EAAM8K,mBAAmBR,EAAmB1C,EAAOjH,QAEnDa,EAACuJ,EAAa,CACZjE,KAAK,SACLmC,OAAQjJ,EAAMgL,gBACdlC,QAAS,SAAAA,IAAA,OAAMwB,EAAkBxC,KAAM,EACvCmD,MAAK,KACLrC,KAAMpH,EAAA0J,EAAiB,IACvBpG,MAAO,CAAEqG,UAAW,IAAKtJ,SAC1B,SAMT,KAIR"}
|
|
1
|
+
{"version":3,"file":"editable-table-2446a059.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/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 { isArray } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { LabelValueItem, TAny } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Checkbox, Form, Tag } from 'antd';\nimport { useMemo } from 'react';\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 viewLabelList = useMemo(() => {\n if (editable) return [];\n const value = isArray(props.value) ? props.value : ([] as TAny[]);\n const options = (editableComptProps.options || []) as LabelValueItem[];\n if (!isArray(options) || options.length === 0) {\n return value.map((item) => ({ label: item, value: item }));\n }\n const returnList = [] as LabelValueItem[];\n value.forEach((item) => {\n const target = options.find((temp) => temp.value === item);\n returnList.push(target ? target : { label: item, value: item });\n });\n return returnList;\n }, [editable, editableComptProps.options, props.value]);\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 return (\n <span className=\"editable-checkbox-group-view\">\n {render\n ? render(props.value)\n : viewLabelList.map((tag, index) => (\n <Tag key={index} color=\"#1890ff\">\n {tag.label}\n </Tag>\n ))}\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 { isArray } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { LabelValueItem } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Form, Radio, Tag } from 'antd';\nimport { useMemo } from 'react';\nimport { fbaHooks } from '../../fba-hooks';\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\n const theme = fbaHooks.useThemeToken();\n\n const viewLabel = useMemo(() => {\n if (editable) return [];\n const value = props.value;\n const options = (editableComptProps.options || []) as LabelValueItem<string | number>[];\n if (!isArray(options) || options.length === 0) {\n return value;\n }\n const target = options.find((item) => item.value === value);\n return target?.label || value;\n }, [editable, editableComptProps.options, props.value]);\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) : viewLabel ? <Tag color={theme.colorPrimary}>{viewLabel}</Tag> : null}\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 { fbaHooks } from '../../fba-hooks';\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 const theme = fbaHooks.useThemeToken();\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={theme.colorPrimary}>\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 { 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 { 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 === '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 { Form, Table, TableProps } from 'antd';\nimport { FormListOperation, FormListProps } from 'antd/lib/form/FormList';\nimport { ColumnsType } from 'antd/lib/table';\nimport { Fragment, ReactElement, useMemo } from 'react';\nimport { ButtonWrapper } from '../button-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};\n/**\n * antd 默认render功能此处不能使用\n */\nexport type EditableTableColumn = Omit<ColumnsType['0'], 'render'> & {\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 * ```\n */\n renderMiddleware?: (item: {\n tableRowIndex: number;\n name: EditableTableName;\n tableRowName: EditableTableName;\n operation: FormListOperation;\n index: number;\n }) => ReactElement | null;\n};\n\nexport type EditableTableProps = {\n name: string;\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};\n\nexport const EditableTable = (props: EditableTableProps) => {\n const columns = useMemo(() => {\n if (!props.columns) return [];\n return props.columns.map((columnItem) => {\n const { fieldConfig, renderMiddleware, ...otherColumnItem } = columnItem;\n return {\n onCell: () => {\n return {\n valign: props.tableProps?.cellVerticalAlign || 'middle',\n };\n },\n ...otherColumnItem,\n render: (_value, record, index) => {\n const tableRowName = [props.name, 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 })\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 return (\n <div className=\"editable-table\">\n <Form.List name={props.name} rules={props.rules}>\n {(fields, formListOperation) => {\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 {...props.tableProps}\n dataSource={fields.map((item) => ({ ...item, operation: formListOperation }))}\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()}\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","viewLabelList","useMemo","value","_isArray","options","length","map","item","label","returnList","forEach","target","find","temp","push","onChange","_hooks","useCallbackRef","_jsx","Checkbox","Group","_extends","className","children","tag","index","Tag","color","CheckboxGroupFormItem","formItemProps","Form","Item","name","_classNames","DatePickerWrapperFormItem","DatePickerWrapper","allowClear","FormItemContent","data","viewLabel","undefined","join","DateRangePickerWrapper","DateRangePickerWrapperFormItem","InputFormItem","InputWrapper","InputNumberFormItem","InputNumber","RadioGroupFormItemContent","theme","fbaHooks","useThemeToken","e","Radio","colorPrimary","RadioGroupFormItem","_useState","useState","selectorList","setSelectorList","_useState2","setviewLabelList","useEffect","String","fieldNames","onSelectorListAllChange","dataList","arrayField2LabelValue","selectList","SelectorWrapper","_jsxs","Fragment","style","display","SelectorWrapperFormItem","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","_props$tableProps2","columns","columnItem","renderMiddleware","otherColumnItem","onCell","_props$tableProps","valign","tableProps","cellVerticalAlign","_value","record","tableRowName","customRender","operation","fieldConfigActual","rules","formListOperation","onTableBeforeRender","Table","scroll","x","pagination","rowKey","dataSource","onTableAfterRender","ButtonWrapper","hiddenFooterBtn","block","_PlusOutlined","marginTop"],"mappings":"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"}
|
package/esm/form-grid/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* eslint-disable */
|
|
2
2
|
import './index.css';
|
|
3
3
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
4
|
-
import{_ as r,a as e}from"../_rollupPluginBabelHelpers-1f4d8910.js";import{Col as t,Form as
|
|
4
|
+
import{_ as r,a as e}from"../_rollupPluginBabelHelpers-1f4d8910.js";import{Col as t,Form as i,Row as n,Space as o}from"antd";import{jsx as a,jsxs as l}from"react/jsx-runtime";import{classNames as u}from"@dimjs/utils/cjs/class-names";import{useMemo as s,isValidElement as f,cloneElement as d}from"react";import{toArray as p,valueIsEqual as v}from"@flatbiz/utils";import{u as m}from"../use-responsive-point-21b8c601.js";var c=["forceAloneRow","hidden"];var h={xs:24,sm:24,md:24,lg:24,xl:24,xxl:24};var g=function i(n){var o=n.forceAloneRow,l=n.hidden,u=r(n,c);var s=o?h:u;if(l)return null;return a(t,e({},s,{children:n.children}))};g["domTypeName"]="FormCol";var x=["leftList","rightList","rowColTotal","justify","forceAloneRow","hidden","leftSpaceProps","rightSpaceProps"];var y={xs:24,sm:24,md:24,lg:24,xl:24,xxl:24};var L=function f(d){var p=d,v=p.leftList,m=p.rightList,c=p.rowColTotal,h=p.justify,g=p.forceAloneRow,L=p.hidden,w=p.leftSpaceProps,C=p.rightSpaceProps,j=r(p,x);var T=(v||[]).filter(Boolean);var N=(m||[]).filter(Boolean);var F=T.length>0&&N.length>0;var S=g||F?y:{};var G=s((function(){if(h)return h;if(F)return"space-between";if(g)return"end";if(c===1)return"start";return"end"}),[g,F,h,c]);var O=u(d.className,"v-form-col-operate");if(L)return null;return a(t,e({},j,S,{className:O,children:a(i.Item,{children:l(n,{justify:G,wrap:false,children:[a(o,e({},w,{children:T.map((function(r){return r}))})),a(o,e({},C,{style:e({overflowX:"auto"},C==null?void 0:C.style),children:N==null?void 0:N.map((function(r){return r}))}))]})})}))};L["domTypeName"]="FormOperateCol";var w=function r(e,t){try{var i=[];var n=function r(t){var i=e[t];return{index:t,value:i>24?24:i}};var o=true;var a=[];var l=0;var u=0;while(o){var s=e[l];a.push(n(l));if(s>=24){i.push(a);a=[];u=0}else if(l===e.length-1){i.push(a)}else{u+=s;if(u>=24){i.push(a);a=[];u=0}}l=l+1;if(l>=e.length){o=false}}var f=i.find((function(r){return!!r.find((function(r){return r.index===t}))}))||[];var d=0;var p=0;f.forEach((function(r,e){if(r.index===t)p=e;if(r.index<t){d=d+r.value}}));if(d===24||d===0){f[p].value=24}else{f[p].value=24-d}return{gridList:i.reduce((function(r,e){return r.concat(e)})).map((function(r){return r.value})),gridGroupList:i}}catch(r){return{gridList:e,gridGroupList:[]}}};var C=["gridSize"];var j={xs:24,sm:12,md:12,lg:8,xl:8,xxl:6};var T={xs:24,sm:12,md:12,lg:6,xl:6,xxl:6};var N=function t(i){var o=i.gridSize,l=r(i,C);var u=m()||"md";var c=p(i.children).filter((function(r){if(!r||!f(r))return false;return v(r.type["domTypeName"],["FormOperateCol","FormCol"])}));var h=o==="small"?T:j;var g=s((function(){var r=c.findIndex((function(r){return r.type["domTypeName"]==="FormOperateCol"}));if(u===undefined){return{gridList:[],gridGroupList:[]}}var e=c.map((function(e,t){var i,n;if(t===r)return 0;var o=(i=e.props)==null?void 0:i.span;return((n=e.props)==null?void 0:n[u])||o||h[u]}));if(r<0){return{gridList:e,gridGroupList:[]}}return w(e,r)}),[c,h,u]),x=g.gridList,y=g.gridGroupList;return a(n,e({},l,{children:c.map((function(r,t){var i;var n=e({},h,r.props);var o=e({key:t},n,(i={},i[u]=x[t]||n[u],i));if(r.type["domTypeName"]==="FormOperateCol"){o["rowColTotal"]=y.length}return d(r,o)}))}))};var F={Row:N,Col:g,OperateCol:L};export{F as FormGrid};
|
|
5
5
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/form-grid/form-col.tsx","@flatbiz/antd/src/form-grid/form-operate-col.tsx","@flatbiz/antd/src/form-grid/utils.ts","@flatbiz/antd/src/form-grid/form-row.tsx","@flatbiz/antd/src/form-grid/index.ts"],"sourcesContent":["import { Col } from 'antd';\nimport { ReactNode } from 'react';\nconst forceAloneRowGrid = { xs: 24, sm: 24, md: 24, lg: 24, xl: 24, xxl: 24 };\nexport type FormColProps = {\n // 栅格占位格数,不考虑响应式\n span?: number;\n /** 屏幕 < 576px */\n xs?: number;\n /** 屏幕 ≥ 576px */\n sm?: number;\n /** 屏幕 ≥ 768px */\n md?: number;\n /** 屏幕 ≥ 992px */\n lg?: number;\n /** 屏幕 ≥ 1200px */\n xl?: number;\n /** 屏幕 ≥ 1600px */\n xxl?: number;\n /** 强制单独一行 */\n forceAloneRow?: boolean;\n children?: ReactNode | ReactNode[];\n hidden?: boolean;\n};\n\n/**\n * 网格响应式布局,默认值:{ xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 }\n *```\n * 1. 设置 span 栅格占位格数,不考虑响应式\n * 2. grid 自定义响应式网格布局\n * xs: 屏幕 < 576px\n * sm: 屏幕 ≥ 576px\n * md: 屏幕 ≥ 768px\n * lg: 屏幕 ≥ 992px\n * xl: 屏幕 ≥ 1200px\n * xxl: 屏幕 ≥ 1600px\n * ```\n */\nexport const FormCol = (props: FormColProps) => {\n const { forceAloneRow, hidden, ...otherProps } = props;\n const forceGrid = forceAloneRow ? forceAloneRowGrid : otherProps;\n if (hidden) return null;\n return <Col {...forceGrid}>{props.children}</Col>;\n};\n\nFormCol['domTypeName'] = 'FormCol';\n","import { classNames } from '@dimjs/utils';\nimport { Col, Form, Row, RowProps, Space, SpaceProps } from 'antd';\nimport { ReactElement, useMemo } from 'react';\n\nconst fullGrid = { xs: 24, sm: 24, md: 24, lg: 24, xl: 24, xxl: 24 };\nexport type FormOperateColProps = {\n className?: string;\n leftList?: Array<ReactElement | null>;\n rightList?: Array<ReactElement | null>;\n // left、right 对齐方式,优先级最高\n justify?: RowProps['justify'];\n /** 强制单独一行 */\n forceAloneRow?: boolean;\n hidden?: boolean;\n leftSpaceProps?: SpaceProps;\n rightSpaceProps?: SpaceProps;\n};\n\n/**\n * FormOperateCol 布局说明\n * ```\n * 1. 网格数以及位置为动态计算,不支持 xs、sm、md等\n * 2. 如果FormRow只有一行col,则OperateCol会在当前行剩余网格内居左对齐\n * 3. 如果同时设置 leftList、rightList,则此cell会强制独占一行,并左右布局\n * 4. 如果只设置 leftList、rightList其中一个,则会在最后一行剩余网格内居右对齐\n * ```\n */\nexport const FormOperateCol = (props: FormOperateColProps) => {\n const {\n leftList,\n rightList,\n rowColTotal,\n justify,\n forceAloneRow,\n hidden,\n leftSpaceProps,\n rightSpaceProps,\n ...otherProps\n } = props as FormOperateColProps & {\n rowColTotal: number;\n };\n const _leftList = (leftList || []).filter(Boolean);\n const _rightList = (rightList || []).filter(Boolean);\n const hasAll = _leftList.length > 0 && _rightList.length > 0;\n const forceGrid = forceAloneRow || hasAll ? fullGrid : {};\n\n const colJustify = useMemo(() => {\n if (justify) return justify;\n if (hasAll) return 'space-between';\n if (forceAloneRow) return 'end';\n if (rowColTotal === 1) return 'start';\n return 'end';\n }, [forceAloneRow, hasAll, justify, rowColTotal]);\n\n const className = classNames(props.className, 'v-form-col-operate');\n\n if (hidden) return null;\n\n return (\n <Col {...otherProps} {...forceGrid} className={className}>\n <Form.Item>\n <Row justify={colJustify} wrap={false}>\n <Space {...leftSpaceProps}>{_leftList.map((item) => item)}</Space>\n <Space {...rightSpaceProps} style={{ overflowX: 'auto', ...rightSpaceProps?.style }}>\n {_rightList?.map((item) => item)}\n </Space>\n </Row>\n </Form.Item>\n </Col>\n );\n};\n\nFormOperateCol['domTypeName'] = 'FormOperateCol';\n","/**\n * 用于计算 operateCol 所占用网格数\n * ```\n * col网格数据 [8,8,8,12,24,0,8] => [[8,8,8],[12],[24],[0,8]],分组后计算operateCol所在行中剩余网格数\n * ```\n * @returns\n */\nexport const calculateOperateGrid = (gridList: number[], operateColIndex: number) => {\n try {\n const groupList = [] as { index: number; value: number }[][];\n const getGroupItem = function (index) {\n const value = gridList[index];\n return { index, value: value > 24 ? 24 : value };\n };\n let condition = true;\n let groupItemList = [] as { index: number; value: number }[];\n let currentIndex = 0;\n let total = 0;\n while (condition) {\n const currentValue = gridList[currentIndex];\n groupItemList.push(getGroupItem(currentIndex));\n if (currentValue >= 24) {\n groupList.push(groupItemList);\n groupItemList = [];\n total = 0;\n } else if (currentIndex === gridList.length - 1) {\n groupList.push(groupItemList);\n } else {\n total += currentValue;\n if (total >= 24) {\n groupList.push(groupItemList);\n groupItemList = [];\n total = 0;\n }\n }\n currentIndex = currentIndex + 1;\n if (currentIndex >= gridList.length) {\n condition = false;\n }\n }\n const hasOperateList =\n groupList.find((item) => !!item.find((temp) => temp.index === operateColIndex)) || [];\n let hasOperateTotal = 0;\n let hasOperateIndex = 0;\n hasOperateList.forEach((item, index) => {\n if (item.index === operateColIndex) hasOperateIndex = index;\n if (item.index < operateColIndex) {\n hasOperateTotal = hasOperateTotal + item.value;\n }\n });\n if (hasOperateTotal === 24 || hasOperateTotal === 0) {\n hasOperateList[hasOperateIndex].value = 24;\n } else {\n hasOperateList[hasOperateIndex].value = 24 - hasOperateTotal;\n }\n\n return {\n gridList: groupList.reduce((a, b) => a.concat(b)).map((temp) => temp.value),\n gridGroupList: groupList,\n };\n } catch (error) {\n return {\n gridList,\n gridGroupList: [],\n };\n }\n};\n","import { toArray, valueIsEqual } from '@flatbiz/utils';\nimport { Row, RowProps } from 'antd';\nimport { cloneElement, isValidElement, ReactElement, ReactNode, useMemo } from 'react';\nimport { useResponsivePoint } from '../fba-hooks/use-responsive-point';\nimport { calculateOperateGrid } from './utils';\n\nexport type FormRowProps = RowProps & {\n children?: ReactNode | ReactNode[];\n /**\n * defaultGrid = { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 };\n * defaultSmallGrid = { xs: 24, sm: 8, md: 8, lg: 6, xl: 6, xxl: 6 };\n */\n gridSize?: 'default' | 'small';\n};\nconst defaultGrid = { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 };\nconst defaultSmallGrid = { xs: 24, sm: 12, md: 12, lg: 6, xl: 6, xxl: 6 };\n\n/**\n * FormItem网格响应式布局\n *```\n * 1. 应用场景:Form条件布局\n * 2. 子元素只能是 FormGrid.Col、FormGrid.OperateCol,其他会被忽略\n * 3. 所有子元素中只能存在一个 FormGrid.OperateCol\n */\nexport const FormRow = (props: FormRowProps) => {\n const screenType = useResponsivePoint() || 'md';\n const childrenList = toArray<ReactElement>(props.children).filter((item) => {\n if (!item || !isValidElement(item)) return false;\n return valueIsEqual(item.type['domTypeName'], ['FormOperateCol', 'FormCol']);\n });\n const defaultGridSize = props.gridSize === 'small' ? defaultSmallGrid : defaultGrid;\n const { gridList, gridGroupList } = useMemo(() => {\n const operateColIndex = childrenList.findIndex((item) => {\n return item.type['domTypeName'] === 'FormOperateCol';\n });\n if (screenType === undefined) {\n return { gridList: [] as number[], gridGroupList: [] };\n }\n const _currentGridList = childrenList.map((temp, index) => {\n if (index === operateColIndex) return 0;\n const span = temp.props?.span as number;\n return temp.props?.[screenType] || span || defaultGridSize[screenType];\n });\n if (operateColIndex < 0) {\n return { gridList: _currentGridList, gridGroupList: [] };\n }\n return calculateOperateGrid(_currentGridList, operateColIndex);\n }, [childrenList, defaultGridSize, screenType]);\n\n // if (!screenType) return <Fragment>{props.children}</Fragment>;\n return (\n <Row {...props}>\n {childrenList.map((item, index) => {\n const itemProps = { ...defaultGridSize, ...item.props };\n const newProps = {\n key: index,\n ...itemProps,\n [screenType]: gridList[index] || itemProps[screenType],\n };\n if (item.type['domTypeName'] === 'FormOperateCol') {\n newProps['rowColTotal'] = gridGroupList.length;\n }\n return cloneElement(item, newProps);\n })}\n </Row>\n );\n};\n","import { FormCol } from './form-col';\nimport { FormOperateCol } from './form-operate-col';\nimport { FormRow } from './form-row';\n\nexport const FormGrid = {\n /**\n * FormItem网格响应式布局\n *```\n * 1. 应用场景:Form条件布局\n * 2. 子元素只能是 FormCol、FormOperateCol,其他会被忽略\n * 3. 所有子元素中只能存在一个 FormOperateCol\n */\n Row: FormRow,\n /**\n * 网格响应式布局,默认值:{ xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 }\n *```\n * 1. 设置 span 栅格占位格数,不考虑响应式\n * 2. grid 自定义响应式网格布局\n * xs: 屏幕 < 576px\n * sm: 屏幕 ≥ 576px\n * md: 屏幕 ≥ 768px\n * lg: 屏幕 ≥ 992px\n * xl: 屏幕 ≥ 1200px\n * xxl: 屏幕 ≥ 1600px\n * ```\n */\n Col: FormCol,\n /**\n * FormOperateCol 布局说明\n * ```\n * 1. 网格数以及位置为动态计算,不支持 xs、sm、md等\n * 2. 如果FormRow只有一行col,则OperateCol会在当前行剩余网格内居左对齐\n * 3. 如果同时设置 leftList、rightList,则此cell会强制独占一行,并左右布局\n * 4. 如果只设置 leftList、rightList其中一个,则会在最后一行剩余网格内居右对齐\n * ```\n */\n OperateCol: FormOperateCol,\n};\n"],"names":["forceAloneRowGrid","xs","sm","md","lg","xl","xxl","FormCol","props","forceAloneRow","hidden","otherProps","_objectWithoutPropertiesLoose","_excluded","forceGrid","_jsx","Col","_extends","children","fullGrid","FormOperateCol","_ref","leftList","rightList","rowColTotal","justify","leftSpaceProps","rightSpaceProps","_leftList","filter","Boolean","_rightList","hasAll","length","colJustify","useMemo","className","_classNames","Form","Item","_jsxs","Row","wrap","Space","map","item","style","overflowX","calculateOperateGrid","gridList","operateColIndex","groupList","getGroupItem","index","value","condition","groupItemList","currentIndex","total","currentValue","push","hasOperateList","find","temp","hasOperateTotal","hasOperateIndex","forEach","reduce","a","b","concat","gridGroupList","error","defaultGrid","defaultSmallGrid","FormRow","screenType","useResponsivePoint","childrenList","toArray","isValidElement","valueIsEqual","type","defaultGridSize","gridSize","_useMemo","findIndex","undefined","_currentGridList","_temp$props","_temp$props2","span","_extends2","itemProps","newProps","key","cloneElement","FormGrid","OperateCol"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/form-grid/form-col.tsx","@flatbiz/antd/src/form-grid/form-operate-col.tsx","@flatbiz/antd/src/form-grid/utils.ts","@flatbiz/antd/src/form-grid/form-row.tsx","@flatbiz/antd/src/form-grid/index.ts"],"sourcesContent":["import { Col } from 'antd';\nimport { ReactNode } from 'react';\nconst forceAloneRowGrid = { xs: 24, sm: 24, md: 24, lg: 24, xl: 24, xxl: 24 };\nexport type FormColProps = {\n // 栅格占位格数,不考虑响应式\n span?: number;\n /** 屏幕 < 576px */\n xs?: number;\n /** 屏幕 ≥ 576px */\n sm?: number;\n /** 屏幕 ≥ 768px */\n md?: number;\n /** 屏幕 ≥ 992px */\n lg?: number;\n /** 屏幕 ≥ 1200px */\n xl?: number;\n /** 屏幕 ≥ 1600px */\n xxl?: number;\n /** 强制单独一行 */\n forceAloneRow?: boolean;\n children?: ReactNode | ReactNode[];\n hidden?: boolean;\n};\n\n/**\n * 网格响应式布局,默认值:{ xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 }\n *```\n * 1. 设置 span 栅格占位格数,不考虑响应式\n * 2. grid 自定义响应式网格布局\n * xs: 屏幕 < 576px\n * sm: 屏幕 ≥ 576px\n * md: 屏幕 ≥ 768px\n * lg: 屏幕 ≥ 992px\n * xl: 屏幕 ≥ 1200px\n * xxl: 屏幕 ≥ 1600px\n * ```\n */\nexport const FormCol = (props: FormColProps) => {\n const { forceAloneRow, hidden, ...otherProps } = props;\n const forceGrid = forceAloneRow ? forceAloneRowGrid : otherProps;\n if (hidden) return null;\n return <Col {...forceGrid}>{props.children}</Col>;\n};\n\nFormCol['domTypeName'] = 'FormCol';\n","import { classNames } from '@dimjs/utils';\nimport { Col, Form, Row, RowProps, Space, SpaceProps } from 'antd';\nimport { ReactElement, useMemo } from 'react';\n\nconst fullGrid = { xs: 24, sm: 24, md: 24, lg: 24, xl: 24, xxl: 24 };\nexport type FormOperateColProps = {\n className?: string;\n leftList?: Array<ReactElement | null>;\n rightList?: Array<ReactElement | null>;\n // left、right 对齐方式,优先级最高\n justify?: RowProps['justify'];\n /** 强制单独一行 */\n forceAloneRow?: boolean;\n hidden?: boolean;\n leftSpaceProps?: SpaceProps;\n rightSpaceProps?: SpaceProps;\n};\n\n/**\n * FormOperateCol 布局说明\n * ```\n * 1. 网格数以及位置为动态计算,不支持 xs、sm、md等\n * 2. 如果FormRow只有一行col,则OperateCol会在当前行剩余网格内居左对齐\n * 3. 如果同时设置 leftList、rightList,则此cell会强制独占一行,并左右布局\n * 4. 如果只设置 leftList、rightList其中一个,则会在最后一行剩余网格内居右对齐\n * ```\n */\nexport const FormOperateCol = (props: FormOperateColProps) => {\n const {\n leftList,\n rightList,\n rowColTotal,\n justify,\n forceAloneRow,\n hidden,\n leftSpaceProps,\n rightSpaceProps,\n ...otherProps\n } = props as FormOperateColProps & {\n rowColTotal: number;\n };\n const _leftList = (leftList || []).filter(Boolean);\n const _rightList = (rightList || []).filter(Boolean);\n const hasAll = _leftList.length > 0 && _rightList.length > 0;\n const forceGrid = forceAloneRow || hasAll ? fullGrid : {};\n\n const colJustify = useMemo(() => {\n if (justify) return justify;\n if (hasAll) return 'space-between';\n if (forceAloneRow) return 'end';\n if (rowColTotal === 1) return 'start';\n return 'end';\n }, [forceAloneRow, hasAll, justify, rowColTotal]);\n\n const className = classNames(props.className, 'v-form-col-operate');\n\n if (hidden) return null;\n\n return (\n <Col {...otherProps} {...forceGrid} className={className}>\n <Form.Item>\n <Row justify={colJustify} wrap={false}>\n <Space {...leftSpaceProps}>{_leftList.map((item) => item)}</Space>\n <Space {...rightSpaceProps} style={{ overflowX: 'auto', ...rightSpaceProps?.style }}>\n {_rightList?.map((item) => item)}\n </Space>\n </Row>\n </Form.Item>\n </Col>\n );\n};\n\nFormOperateCol['domTypeName'] = 'FormOperateCol';\n","/**\n * 用于计算 operateCol 所占用网格数\n * ```\n * col网格数据 [8,8,8,12,24,0,8] => [[8,8,8],[12],[24],[0,8]],分组后计算operateCol所在行中剩余网格数\n * ```\n * @returns\n */\nexport const calculateOperateGrid = (gridList: number[], operateColIndex: number) => {\n try {\n const groupList = [] as { index: number; value: number }[][];\n const getGroupItem = function (index) {\n const value = gridList[index];\n return { index, value: value > 24 ? 24 : value };\n };\n let condition = true;\n let groupItemList = [] as { index: number; value: number }[];\n let currentIndex = 0;\n let total = 0;\n while (condition) {\n const currentValue = gridList[currentIndex];\n groupItemList.push(getGroupItem(currentIndex));\n if (currentValue >= 24) {\n groupList.push(groupItemList);\n groupItemList = [];\n total = 0;\n } else if (currentIndex === gridList.length - 1) {\n groupList.push(groupItemList);\n } else {\n total += currentValue;\n if (total >= 24) {\n groupList.push(groupItemList);\n groupItemList = [];\n total = 0;\n }\n }\n currentIndex = currentIndex + 1;\n if (currentIndex >= gridList.length) {\n condition = false;\n }\n }\n const hasOperateList =\n groupList.find((item) => !!item.find((temp) => temp.index === operateColIndex)) || [];\n let hasOperateTotal = 0;\n let hasOperateIndex = 0;\n hasOperateList.forEach((item, index) => {\n if (item.index === operateColIndex) hasOperateIndex = index;\n if (item.index < operateColIndex) {\n hasOperateTotal = hasOperateTotal + item.value;\n }\n });\n if (hasOperateTotal === 24 || hasOperateTotal === 0) {\n hasOperateList[hasOperateIndex].value = 24;\n } else {\n hasOperateList[hasOperateIndex].value = 24 - hasOperateTotal;\n }\n\n return {\n gridList: groupList.reduce((a, b) => a.concat(b)).map((temp) => temp.value),\n gridGroupList: groupList,\n };\n } catch (error) {\n return {\n gridList,\n gridGroupList: [],\n };\n }\n};\n","import { toArray, valueIsEqual } from '@flatbiz/utils';\nimport { Row, RowProps } from 'antd';\nimport { cloneElement, isValidElement, ReactElement, ReactNode, useMemo } from 'react';\nimport { useResponsivePoint } from '../fba-hooks/use-responsive-point';\nimport { calculateOperateGrid } from './utils';\n\nexport type FormRowProps = RowProps & {\n children?: ReactNode | ReactNode[];\n /**\n * defaultGrid = { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 };\n * defaultSmallGrid = { xs: 24, sm: 8, md: 8, lg: 6, xl: 6, xxl: 6 };\n */\n gridSize?: 'default' | 'small';\n};\nconst defaultGrid = { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 };\nconst defaultSmallGrid = { xs: 24, sm: 12, md: 12, lg: 6, xl: 6, xxl: 6 };\n\n/**\n * FormItem网格响应式布局\n *```\n * 1. 应用场景:Form条件布局\n * 2. 子元素只能是 FormGrid.Col、FormGrid.OperateCol,其他会被忽略\n * 3. 所有子元素中只能存在一个 FormGrid.OperateCol\n */\nexport const FormRow = (props: FormRowProps) => {\n const { gridSize, ...otherProps } = props;\n const screenType = useResponsivePoint() || 'md';\n const childrenList = toArray<ReactElement>(props.children).filter((item) => {\n if (!item || !isValidElement(item)) return false;\n return valueIsEqual(item.type['domTypeName'], ['FormOperateCol', 'FormCol']);\n });\n const defaultGridSize = gridSize === 'small' ? defaultSmallGrid : defaultGrid;\n const { gridList, gridGroupList } = useMemo(() => {\n const operateColIndex = childrenList.findIndex((item) => {\n return item.type['domTypeName'] === 'FormOperateCol';\n });\n if (screenType === undefined) {\n return { gridList: [] as number[], gridGroupList: [] };\n }\n const _currentGridList = childrenList.map((temp, index) => {\n if (index === operateColIndex) return 0;\n const span = temp.props?.span as number;\n return temp.props?.[screenType] || span || defaultGridSize[screenType];\n });\n if (operateColIndex < 0) {\n return { gridList: _currentGridList, gridGroupList: [] };\n }\n return calculateOperateGrid(_currentGridList, operateColIndex);\n }, [childrenList, defaultGridSize, screenType]);\n\n // if (!screenType) return <Fragment>{props.children}</Fragment>;\n return (\n <Row {...otherProps}>\n {childrenList.map((item, index) => {\n const itemProps = { ...defaultGridSize, ...item.props };\n const newProps = {\n key: index,\n ...itemProps,\n [screenType]: gridList[index] || itemProps[screenType],\n };\n if (item.type['domTypeName'] === 'FormOperateCol') {\n newProps['rowColTotal'] = gridGroupList.length;\n }\n return cloneElement(item, newProps);\n })}\n </Row>\n );\n};\n","import { FormCol } from './form-col';\nimport { FormOperateCol } from './form-operate-col';\nimport { FormRow } from './form-row';\n\nexport const FormGrid = {\n /**\n * FormItem网格响应式布局\n *```\n * 1. 应用场景:Form条件布局\n * 2. 子元素只能是 FormCol、FormOperateCol,其他会被忽略\n * 3. 所有子元素中只能存在一个 FormOperateCol\n */\n Row: FormRow,\n /**\n * 网格响应式布局,默认值:{ xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 }\n *```\n * 1. 设置 span 栅格占位格数,不考虑响应式\n * 2. grid 自定义响应式网格布局\n * xs: 屏幕 < 576px\n * sm: 屏幕 ≥ 576px\n * md: 屏幕 ≥ 768px\n * lg: 屏幕 ≥ 992px\n * xl: 屏幕 ≥ 1200px\n * xxl: 屏幕 ≥ 1600px\n * ```\n */\n Col: FormCol,\n /**\n * FormOperateCol 布局说明\n * ```\n * 1. 网格数以及位置为动态计算,不支持 xs、sm、md等\n * 2. 如果FormRow只有一行col,则OperateCol会在当前行剩余网格内居左对齐\n * 3. 如果同时设置 leftList、rightList,则此cell会强制独占一行,并左右布局\n * 4. 如果只设置 leftList、rightList其中一个,则会在最后一行剩余网格内居右对齐\n * ```\n */\n OperateCol: FormOperateCol,\n};\n"],"names":["forceAloneRowGrid","xs","sm","md","lg","xl","xxl","FormCol","props","forceAloneRow","hidden","otherProps","_objectWithoutPropertiesLoose","_excluded","forceGrid","_jsx","Col","_extends","children","fullGrid","FormOperateCol","_ref","leftList","rightList","rowColTotal","justify","leftSpaceProps","rightSpaceProps","_leftList","filter","Boolean","_rightList","hasAll","length","colJustify","useMemo","className","_classNames","Form","Item","_jsxs","Row","wrap","Space","map","item","style","overflowX","calculateOperateGrid","gridList","operateColIndex","groupList","getGroupItem","index","value","condition","groupItemList","currentIndex","total","currentValue","push","hasOperateList","find","temp","hasOperateTotal","hasOperateIndex","forEach","reduce","a","b","concat","gridGroupList","error","defaultGrid","defaultSmallGrid","FormRow","gridSize","screenType","useResponsivePoint","childrenList","toArray","isValidElement","valueIsEqual","type","defaultGridSize","_useMemo","findIndex","undefined","_currentGridList","_temp$props","_temp$props2","span","_extends2","itemProps","newProps","key","cloneElement","FormGrid","OperateCol"],"mappings":"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"}
|
package/esm/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/* eslint-disable */
|
|
2
|
+
import './anchor-steps/index.css';
|
|
2
3
|
import './button-operate/index.css';
|
|
3
4
|
import './button-wrapper/index.css';
|
|
4
5
|
import './config-provider-wrapper/index.css';
|
|
@@ -12,6 +13,7 @@ import './checkbox-wrapper/index.css';
|
|
|
12
13
|
import './create-drawer-wrapper-model/index.css';
|
|
13
14
|
import './create-modal-wrapper-model/index.css';
|
|
14
15
|
import './css-node-hover/index.css';
|
|
16
|
+
import './data-render/index.css';
|
|
15
17
|
import './date-picker-wrapper/index.css';
|
|
16
18
|
import './date-range-picker-wrapper/index.css';
|
|
17
19
|
import './date-range-picker-wrapper-form-item/index.css';
|
|
@@ -69,6 +71,7 @@ import './table-title-tooltip/index.css';
|
|
|
69
71
|
import './tabs-wrapper/index.css';
|
|
70
72
|
import './tag-group/index.css';
|
|
71
73
|
import './tag-wrapper/index.css';
|
|
74
|
+
import './text-overflow-render/index.css';
|
|
72
75
|
import './time-picker-wrapper/index.css';
|
|
73
76
|
import './time-range-picker-wrapper/index.css';
|
|
74
77
|
import './time-range-picker-wrapper-form-item/index.css';
|
|
@@ -76,5 +79,5 @@ import './tree-selector-wrapper/index.css';
|
|
|
76
79
|
import './tree-wrapper/index.css';
|
|
77
80
|
import './index.css';
|
|
78
81
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
79
|
-
export{a as ButtonOperate,B as ButtonOperateItemContent}from"./button-operate-
|
|
82
|
+
export{A as AnchorSteps}from"./anchor-steps-616cd173.js";export{a as ButtonOperate,B as ButtonOperateItemContent}from"./button-operate-697b2a94.js";export{B as ButtonWrapper}from"./button-wrapper-e833e139.js";export{C as CascaderWrapper}from"./cascader-wrapper-db4a5382.js";export{CheckList}from"./check-list/index.js";export{C as CheckboxWrapper}from"./checkbox-wrapper-018a5c59.js";export{C as ConfigProviderWrapper}from"./config-provider-wrapper-dfe8f592.js";export{createDrawerWrapperModel}from"./create-drawer-wrapper-model/index.js";export{createModalWrapperModel}from"./create-modal-wrapper-model/index.js";export{C as CssNodeHover}from"./css-node-hover-ed7b9860.js";export{D as DataRender}from"./data-render-07c0ab6b.js";export{D as DatePickerWrapper}from"./date-picker-wrapper-ba650858.js";export{D as DateRangePickerWrapper}from"./date-range-picker-wrapper-fb15c592.js";export{D as DateRangePickerWrapperFormItem}from"./date-range-picker-wrapper-form-item-688cf465.js";export{d as dialogAlert}from"./dialog-alert-23b4a533.js";export{d as dialogConfirm}from"./dialog-confirm-2656caad.js";export{d as dialogDrawer}from"./dialog-drawer-a741961f.js";export{d as dialogLoading}from"./dialog-loading-16bd1baa.js";export{d as dialogModal}from"./dialog-modal-7b705b44.js";export{D as DrawerWrapper}from"./drawer-wrapper-9af2f178.js";export{D as DropdownMenuWrapper}from"./dropdown-menu-wrapper-3544d20e.js";export{d as dynamicNode}from"./dynamic-node-c7864af4.js";export{EasyTable}from"./easy-table/index.js";export{E as EditableField}from"./editable-field-7f30db8e.js";export{E as EditableFieldProvider}from"./editable-field-provider-20963c3e.js";export{E as EditableTable}from"./editable-table-2446a059.js";export{E as EditorWrapper}from"./editor-wrapper-ff6e75b7.js";export{fbaHooks}from"./fba-hooks/index.js";export{f as fbaUtils}from"./fba-utils-1e895394.js";export{F as FileImport}from"./file-import-890a1df9.js";export{F as FlexLayout}from"./flex-layout-8d2b668b.js";export{FormGrid}from"./form-grid/index.js";export{FormItemGroup}from"./form-item-group/index.js";export{F as FormItemHidden}from"./form-item-hidden-45541774.js";export{F as FormItemWrapper}from"./form-item-wrapper-dfe2ebd9.js";export{G as Gap}from"./gap-284e1f59.js";export{I as IconWrapper}from"./icon-wrapper-ed5fcacc.js";export{I as InputSearchWrapper}from"./input-search-wrapper-10d4a9b9.js";export{I as InputTextAreaWrapper}from"./input-text-area-wrapper-c958fba0.js";export{I as InputWrapper}from"./input-wrapper-b378eb5a.js";export{L as LabelValueLayout}from"./label-value-layout-beb35b0d.js";export{LocalLoading}from"./local-loading/index.js";export{M as ModalAction}from"./modal-action-5c5ca8a7.js";export{M as ModalWrapper}from"./modal-wrapper-ff8df98b.js";export{P as PageFixedFooter}from"./page-fixed-footer-5fa10112.js";export{P as Page404}from"./page404-f087129a.js";export{P as Permission}from"./permission-a1c99455.js";export{preDefinedClassName}from"./pre-defined-class-name/index.js";export{R as RadioGroupWrapper}from"./radio-group-wrapper-b34746d1.js";export{R as RelationTree}from"./relation-tree-7bec12bd.js";export{R as RequestStatus}from"./request-status-03fc60e2.js";export{R as RichTextEditor}from"./rich-text-editor-c8bac6d2.js";export{R as RichTextViewer}from"./rich-text-viewer-3bf4569a.js";export{R as RollLocationCenter}from"./center-a4dfda6f.js";export{R as RollLocationInView}from"./in-view-448ba714.js";export{R as RuleDescribe}from"./rule-describe-b4a8e831.js";export{S as SelectorWrapper}from"./selector-wrapper-dc08cc44.js";export{S as SelectorWrapperSearch}from"./selector-wrapper-search-f799bcf0.js";export{S as SelectorWrapperSimple}from"./selector-wrapper-simple-7b34f7bd.js";export{S as SimpleLayout}from"./simple-layout-f43cfc5d.js";export{S as SmsCountDown}from"./sms-count-down-c2609386.js";export{styles}from"./styles/index.js";export{S as SwitchWrapper}from"./switch-wrapper-f20b9a58.js";export{t as tableCellRender}from"./cell-render-362e4d87.js";export{T as TableScrollbar}from"./table-scrollbar-66c1682c.js";export{T as TableTitleTooltip}from"./title-render-2874a932.js";export{T as TabsWrapper}from"./tabs-wrapper-675dc949.js";export{T as TagGroup}from"./tag-group-4fbcaa14.js";export{T as TagListSelect}from"./tag-list-select-066f682f.js";export{T as TagWrapper}from"./tag-wrapper-6d8b505e.js";export{T as TextOverflowRender}from"./text-overflow-render-2ec38800.js";export{T as TimePickerWrapper}from"./time-picker-wrapper-f1d26d96.js";export{T as TimeRangePickerWrapper}from"./time-range-picker-wrapper-be9850b5.js";export{T as TimeRangePickerWrapperFormItem}from"./time-range-picker-wrapper-form-item-9df6c0f4.js";export{T as TreeSelectorWrapper}from"./tree-selector-wrapper-9cd9da23.js";export{TreeWrapper}from"./tree-wrapper/index.js";export{U as UploadWrapper}from"./upload-wrapper-df8a2277.js";import"@dimjs/utils/cjs/class-names";import"@flatbiz/antd";import"antd";import"react";import"react/jsx-runtime";import"@ant-design/icons/es/icons/MoreOutlined";import"./_rollupPluginBabelHelpers-1f4d8910.js";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"@wove/react/cjs/hooks";import"@ant-design/icons/es/icons/LoadingOutlined";import"@flatbiz/utils";import"@ant-design/icons/es/icons/RedoOutlined";import"@dimjs/utils/cjs/extend";import"@dimjs/model";import"@dimjs/model-react";import"@wove/react/cjs/create-ctx";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"@dimjs/lang/cjs/is-array";import"react-dom/client";import"./dom-4d04aa64.js";import"ahooks";import"@ant-design/icons/es/icons/SaveOutlined";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"@dimjs/lang/cjs/is-number";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/get";import"@dimjs/utils/cjs/json";import"pubsub-js";import"@dimjs/lang/cjs/is-object";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";
|
|
80
83
|
//# sourceMappingURL=index.js.map
|
|
@@ -5,5 +5,5 @@ import './../rich-text-editor/index.css';
|
|
|
5
5
|
import './../dynamic-node/index.css';
|
|
6
6
|
import './index.css';
|
|
7
7
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
8
|
-
export{R as RichTextViewer}from"../rich-text-viewer-
|
|
8
|
+
export{R as RichTextViewer}from"../rich-text-viewer-3bf4569a.js";import"@ant-design/icons/es/icons/FullscreenOutlined";import"@dimjs/utils/cjs/class-names";import"@wove/react/cjs/hooks";import"ahooks";import"react";import"../fba-hooks/index.js";import"../_rollupPluginBabelHelpers-1f4d8910.js";import"@dimjs/lang/cjs/is-array";import"../use-responsive-point-21b8c601.js";import"antd";import"../icon-wrapper-ed5fcacc.js";import"react/jsx-runtime";import"../rich-text-editor-c8bac6d2.js";import"@tinymce/tinymce-react";import"@ant-design/icons/es/icons/PlusCircleOutlined";import"../dynamic-node-c7864af4.js";import"react-dom/client";import"../dom-4d04aa64.js";
|
|
9
9
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
import e from"@ant-design/icons/es/icons/FullscreenOutlined";import{classNames as r}from"@dimjs/utils/cjs/class-names";import{hooks as i}from"@wove/react/cjs/hooks";import{useKeyPress as o}from"ahooks";import{useState as
|
|
3
|
-
//# sourceMappingURL=rich-text-viewer-
|
|
2
|
+
import e from"@ant-design/icons/es/icons/FullscreenOutlined";import{classNames as r}from"@dimjs/utils/cjs/class-names";import{hooks as i}from"@wove/react/cjs/hooks";import{useKeyPress as o}from"ahooks";import{useState as t,useRef as s}from"react";import{fbaHooks as n}from"./fba-hooks/index.js";import{I as a}from"./icon-wrapper-ed5fcacc.js";import{R as l}from"./rich-text-editor-c8bac6d2.js";import{jsxs as c,jsx as u}from"react/jsx-runtime";var f=function f(m){var d=t(false),v=d[0],p=d[1];var b=s();o((function(){return true}),(function(e){if(e.type==="keyup"&&e.key==="Escape"&&v){p(false)}}),{events:["keydown","keyup"]});var k=i.useCallbackRef((function(){p(!v)}));var h=i.useCallbackRef((function(e,r){b.current=r;m.onInit==null?void 0:m.onInit(r)}));n.useEffectCustom((function(){var e;(e=b.current)==null?void 0:e.editorCommands.execCommand("mceAutoResize")}),[m.value]);return c("div",{className:r("fba-editor-viewer",{"fba-editor-viewer-fixed":v},m.className),style:m.style,children:[m.children,m.fullscreen&&m.value&&u("div",{className:"fba-editor-viewer-icon",children:u(a,{hoverTips:m.fullscreenIconTips,icon:u(e,{}),onClick:k})}),u(l,{value:'<div style="overflow: hidden">'+m.value+"</div>",onInit:h,imgPreview:true,disabled:true,init:{plugins:"autoresize",menubar:false,toolbar:"",statusbar:false}})]})};export{f as R};
|
|
3
|
+
//# sourceMappingURL=rich-text-viewer-3bf4569a.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rich-text-viewer-
|
|
1
|
+
{"version":3,"file":"rich-text-viewer-3bf4569a.js","sources":["@flatbiz/antd/src/rich-text-viewer/rich-text-viewer.tsx"],"sourcesContent":["import { FullscreenOutlined } from '@ant-design/icons';\nimport { classNames } from '@dimjs/utils';\nimport { hooks } from '@wove/react';\nimport { useKeyPress } from 'ahooks';\nimport { CSSProperties, ReactElement, useRef, useState } from 'react';\nimport { Editor as TinyMCEEditor } from 'tinymce';\n\nimport { fbaHooks } from '../fba-hooks';\nimport { IconWrapper } from '../icon-wrapper';\nimport { RichTextEditor } from '../rich-text-editor';\nimport './style.less';\n\ntype RichTextViewerProps = {\n value: string;\n className?: string;\n style?: CSSProperties;\n fullscreen?: boolean;\n onInit?: (editor: TinyMCEEditor) => void;\n children?: ReactElement;\n fullscreenIconTips?: string;\n};\n\n/**\n * 预览 RichTextEditor 生成的富文本数据\n * ```\n * 1. 通过 onInit 属性可获取实例:editor\n * 2. 如果高度发生变更,可执行 editor.execCommand('mceAutoResize');\n *\n * ```\n * @param props\n * @returns\n */\nexport const RichTextViewer = (props: RichTextViewerProps) => {\n const [isFixed, setIsFixed] = useState(false);\n const editorRef = useRef<TinyMCEEditor>();\n\n useKeyPress(\n () => true,\n (event) => {\n if (event.type === 'keyup' && event.key === 'Escape' && isFixed) {\n setIsFixed(false);\n }\n },\n { events: ['keydown', 'keyup'] },\n );\n\n const onChangeFixed = hooks.useCallbackRef(() => {\n setIsFixed(!isFixed);\n });\n const onInit = hooks.useCallbackRef((_, editor: TinyMCEEditor) => {\n editorRef.current = editor;\n props.onInit?.(editor);\n });\n\n fbaHooks.useEffectCustom(() => {\n editorRef.current?.editorCommands.execCommand('mceAutoResize');\n }, [props.value]);\n\n return (\n <div\n className={classNames('fba-editor-viewer', { 'fba-editor-viewer-fixed': isFixed }, props.className)}\n style={props.style}\n >\n {props.children}\n {props.fullscreen && props.value && (\n <div className=\"fba-editor-viewer-icon\">\n <IconWrapper\n hoverTips={props.fullscreenIconTips}\n icon={<FullscreenOutlined />}\n onClick={onChangeFixed}\n />\n </div>\n )}\n <RichTextEditor\n value={`<div style=\"overflow: hidden\">${props.value}</div>`}\n onInit={onInit}\n imgPreview\n disabled\n init={{\n plugins: 'autoresize',\n menubar: false,\n toolbar: '',\n statusbar: false,\n }}\n />\n </div>\n );\n};\n"],"names":["RichTextViewer","props","_useState","useState","isFixed","setIsFixed","editorRef","useRef","useKeyPress","event","type","key","events","onChangeFixed","_hooks","useCallbackRef","onInit","_","editor","current","fbaHooks","useEffectCustom","_editorRef$current","editorCommands","execCommand","value","_jsxs","className","_classNames","style","children","fullscreen","_jsx","IconWrapper","hoverTips","fullscreenIconTips","icon","_FullscreenOutlined","onClick","RichTextEditor","imgPreview","disabled","init","plugins","menubar","toolbar","statusbar"],"mappings":";+bAgCaA,EAAiB,SAAjBA,EAAkBC,GAC7B,IAAAC,EAA8BC,EAAS,OAAhCC,EAAOF,EAAA,GAAEG,EAAUH,EAAA,GAC1B,IAAMI,EAAYC,IAElBC,GACE,WAAA,OAAM,IACN,IAAA,SAACC,GACC,GAAIA,EAAMC,OAAS,SAAWD,EAAME,MAAQ,UAAYP,EAAS,CAC/DC,EAAW,MACb,CACF,GACA,CAAEO,OAAQ,CAAC,UAAW,WAGxB,IAAMC,EAAgBC,EAAMC,gBAAe,WACzCV,GAAYD,EACd,IACA,IAAMY,EAASF,EAAMC,gBAAe,SAACE,EAAGC,GACtCZ,EAAUa,QAAUD,EACpBjB,EAAMe,QAANf,UAAAA,EAAAA,EAAMe,OAASE,EACjB,IAEAE,EAASC,iBAAgB,WAAM,IAAAC,GAC7BA,EAAAhB,EAAUa,UAAO,UAAA,EAAjBG,EAAmBC,eAAeC,YAAY,gBAChD,GAAG,CAACvB,EAAMwB,QAEV,OACEC,EAAA,MAAA,CACEC,UAAWC,EAAW,oBAAqB,CAAE,0BAA2BxB,GAAWH,EAAM0B,WACzFE,MAAO5B,EAAM4B,MAAMC,SAElB7B,CAAAA,EAAM6B,SACN7B,EAAM8B,YAAc9B,EAAMwB,OACzBO,EAAA,MAAA,CAAKL,UAAU,yBAAwBG,SACrCE,EAACC,EAAW,CACVC,UAAWjC,EAAMkC,mBACjBC,KAAMJ,EAAAK,EAAuB,IAC7BC,QAASzB,MAIfmB,EAACO,EAAc,CACbd,MAAwCxB,iCAAAA,EAAMwB,MAAc,SAC5DT,OAAQA,EACRwB,WAAU,KACVC,SAAQ,KACRC,KAAM,CACJC,QAAS,aACTC,QAAS,MACTC,QAAS,GACTC,UAAW,WAKrB"}
|
|
@@ -3,5 +3,5 @@ import './../request-status/index.css';
|
|
|
3
3
|
import './../fba-hooks/index.css';
|
|
4
4
|
import './index.css';
|
|
5
5
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
6
|
-
export{S as SelectorWrapper}from"../selector-wrapper-
|
|
6
|
+
export{S as SelectorWrapper}from"../selector-wrapper-dc08cc44.js";import"@ant-design/icons/es/icons/RedoOutlined";import"@dimjs/lang/cjs/is-string";import"@wove/react/cjs/hooks";import"../_rollupPluginBabelHelpers-1f4d8910.js";import"@flatbiz/utils";import"antd";import"react";import"../request-status-03fc60e2.js";import"@dimjs/utils/cjs/extend";import"react/jsx-runtime";import"@dimjs/lang/cjs/is-deep-equal";import"@dimjs/lang/cjs/is-array";import"@dimjs/utils/cjs/get";import"@dimjs/utils/cjs/json";import"pubsub-js";import"../fba-hooks/index.js";import"../use-responsive-point-21b8c601.js";import"@dimjs/lang/cjs/is-object";
|
|
7
7
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
+
import e from"@ant-design/icons/es/icons/RedoOutlined";import{isString as r}from"@dimjs/lang/cjs/is-string";import{hooks as n}from"@wove/react/cjs/hooks";import{_ as t,a as o}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{isUndefinedOrNull as s,toArray as u,valueIsEqual as i,arrayFind as a}from"@flatbiz/utils";import{Select as l,Button as c}from"antd";import{useState as f,useMemo as v,useRef as d}from"react";import{R as h}from"./request-status-03fc60e2.js";import{isDeepEqual as m}from"@dimjs/lang/cjs/is-deep-equal";import{isArray as p}from"@dimjs/lang/cjs/is-array";import{get as g}from"@dimjs/utils/cjs/get";import{json as C}from"@dimjs/utils/cjs/json";import q from"pubsub-js";import{fbaHooks as w}from"./fba-hooks/index.js";import{isObject as _}from"@dimjs/lang/cjs/is-object";import{jsx as b,jsxs as R}from"react/jsx-runtime";var y=function e(r){var n=r.cacheKey,t=r.serviceConfig,o=r.hasOuterSelectorList,u=r.outerSelectorList,i=r.onRespDataChange,a=r.onSelectorRequestError,l=r.onChange,c=r.useCache,d=r.fieldNames;var h=t==null?void 0:t.params;var _=(t==null?void 0:t.requiredParamsKeys)||[];var b=h&&Object.keys(h).length>0;var R=f(),y=R[0],j=R[1];var S=f(),L=S[0],P=S[1];var O=f(Date.now()),A=O[0],k=O[1];var E=v((function(){try{if(b){var e=JSON.stringify(C.sort(h));if(e==="{}"){return undefined}return e}}catch(e){}return undefined}),[b,h]);var N=""+E;var D=E+"_status";var x=n+"_"+N;var K=w.usePrevious(E);var I=w.usePrevious(h);var M=function e(r){if(t!=null&&t.onRequestResultAdapter){return t==null?void 0:t.onRequestResultAdapter(r)}if(d!=null&&d.list){var n=g(r,d==null?void 0:d.list);return p(n)?n:[]}return r};var B=function e(){var r;return(r=window["__selector_wrapper_"])==null?void 0:r[n]};var T=function e(){var r;return(r=B())==null?void 0:r[N]};var V=function e(){var r;return(r=B())==null?void 0:r[D]};var z=function e(r,t){if(!window["__selector_wrapper_"]){window["__selector_wrapper_"]={}}if(!window["__selector_wrapper_"][n]){window["__selector_wrapper_"][n]={}}window["__selector_wrapper_"][n][r]=t};var F=function e(r){z(D,r);P(r)};var G=function e(){return new Promise((function(e,r){var n,o;var s=function(n){try{console.error(n);F("request-error");j(undefined);setTimeout((function(){q.publish(x,{status:"request-error"})}));a==null?void 0:a(n);return e(Promise.reject())}catch(e){return r(e)}};try{F("request-progress");return Promise.resolve(t==null?void 0:t.onRequest==null?void 0:t.onRequest(h||{})).then((function(r){try{n=r;o=M(n)||[];z(N,o);F("request-success");setTimeout((function(){q.publish(x,{status:"request-success",respData:o})}));return e(o)}catch(e){return s(e)}}),s)}catch(e){s(e)}}))};w.useEffectCustomAsync((function(){return new Promise((function(e,r){var n,f,v,d,p,g;if(o){P("request-success");j(u);i==null?void 0:i(u);return e()}if(_.length>0){n=h?_.find((function(e){return s(h[e])})):true;if(n){j([]);P("no-dependencies-params");if(K){l==null?void 0:l(undefined)}return e()}if(c===false){if(m(h,I)){return e()}var C=function(){try{return e()}catch(e){return r(e)}};var w=function(e){try{console.error(e);P("request-error");j(undefined);a==null?void 0:a(e);return C()}catch(e){return r(e)}};try{P("request-progress");return Promise.resolve(t==null?void 0:t.onRequest==null?void 0:t.onRequest(h||{})).then((function(e){try{f=e;v=M(f)||[];P("request-success");j(v);i==null?void 0:i(v);return C()}catch(e){return w(e)}}),w)}catch(e){w(e)}}return b.call(this)}function b(){d=V();if(d==="request-success"){p=T();j(p);P(d);i==null?void 0:i(p);return e()}if(d==="request-progress"){P(d);q.subscribe(x,(function(e,r){var n=r.status,t=r.respData;if(n==="request-success"){P(n);j(t);i==null?void 0:i(t)}else{P("request-error");j(undefined)}}));return e()}return Promise.resolve(G()).then((function(n){try{g=n;j(g);P("request-success");i==null?void 0:i(g);return e()}catch(e){return r(e)}}),r)}return b.call(this)}))}),[h,u,A]);var H=function e(){k(Date.now())};return{requestStatus:L,stateSelectorList:y,serviceRequestParamsStringify:E,onRefreshRequest:H}};var j=function e(r,n){var t=u(r);t=t.map((function(e){if(_(e))return e[n];return e}));return t};var S=["serviceConfig","showAllOption","onSelectorListChange","onSelectorListAllChange","onSelectorRequestError","onLabelRenderAdapter","requestMessageConfig","selectorList","modelKey","fieldNames","value","labelInValue","useCache"];var L=function s(f){var m=f.serviceConfig,p=f.showAllOption,g=f.onSelectorListChange,C=f.onSelectorListAllChange,q=f.onSelectorRequestError,w=f.onLabelRenderAdapter,_=f.requestMessageConfig,L=f.selectorList,P=f.modelKey,O=f.fieldNames,A=f.value,k=f.labelInValue,E=f.useCache,N=t(f,S);var D=d(true);var x=f.hasOwnProperty("selectorList");var K=o({label:"label",value:"value",disabled:"disabled"},O);var I=K.label,M=K.value,B=K.disabled;var T=v((function(){var e;if(!p)return null;var r=p===true;return e={},e[I]=r?"全部":p.label,e[M]=r?"":p.value,e}),[I,M,p]);var V=i(f.mode,["multiple"]);var z=y({fieldNames:K,cacheKey:P,hasOuterSelectorList:x,onChange:f.onChange,serviceConfig:m,outerSelectorList:L,onRespDataChange:function e(r){if(D.current){g==null?void 0:g(r||[]);D.current=false}C==null?void 0:C(r||[])},onSelectorRequestError:q,useCache:E===undefined?true:E}),F=z.requestStatus,G=z.stateSelectorList,H=z.onRefreshRequest;var J=n.useCallbackRef((function(e){if(k){if(V){f.onChange==null?void 0:f.onChange(e,e)}else{f.onChange==null?void 0:f.onChange(e[0],e)}}else{var r=e.map((function(e){return e[M]}));if(V){f.onChange==null?void 0:f.onChange(r,e)}else{f.onChange==null?void 0:f.onChange(r[0],e[0])}}}));var W=n.useCallbackRef((function(e,r){if(!r)return f.onChange==null?void 0:f.onChange(undefined);var n=u(r);var t=[];n.forEach((function(e){if(p&&T&&e.value===T[M]){t.push(T)}else{var r=a(G||[],e.value,M);if(r){t.push(r)}}}));J(t)}));var Q=v((function(){if(F!=="request-success")return[];if(!G||G.length===0)return[];if(!T)return G;return[T].concat(G)}),[T,F,G]);var U=F==="request-progress";var X=v((function(){var e=j(A,M);return V?e:e[0]}),[V,M,A]);var Y=n.useCallbackRef((function(e,n){var t=u(n.children);var o="";t.forEach((function(e){if(r(e))o+=e}));return o.toLowerCase().indexOf(e.toLowerCase())>=0}));return b(l,o({showSearch:true,allowClear:true,dropdownMatchSelectWidth:false,filterOption:Y},N,{style:o({width:"100%"},f.style),value:X,loading:U,onChange:W,fieldNames:undefined,suffixIcon:F==="request-error"?b(e,{spin:U,onClick:H}):undefined,notFoundContent:b(h,{status:F,loading:U,messageConfig:o({"request-init":"暂无数据"},_),errorButton:b(c,{type:"primary",onClick:H,children:"重新获取数据"})}),children:Q.map((function(e,r){var n=e[M];var t=e[I];return R(l.Option,{value:n,label:t,disabled:e[B],children:[f.showIcon?b("span",{className:"v-selector-item-icon",children:f.icon==null?void 0:f.icon(e,r)}):null,w?w(e):t]},n+"-"+r)}))}))};export{L as S};
|
|
3
|
+
//# sourceMappingURL=selector-wrapper-dc08cc44.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selector-wrapper-dc08cc44.js","sources":["@flatbiz/antd/src/selector-wrapper/use-request.ts","@flatbiz/antd/src/selector-wrapper/utils.ts","@flatbiz/antd/src/selector-wrapper/selector-wrapper.tsx"],"sourcesContent":["import { isArray, isDeepEqual } from '@dimjs/lang';\nimport { get, json } from '@dimjs/utils';\nimport { isUndefinedOrNull, TPlainObject } from '@flatbiz/utils';\nimport pubSub from 'pubsub-js';\nimport { useMemo, useState } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport { TRequestStatus } from '../request-status';\nimport { SelectorServiceConfig, SelectorWrapperProps } from './types';\n\nexport const useRequest = (options: {\n cacheKey: string;\n serviceConfig?: SelectorServiceConfig;\n hasOuterSelectorList?: boolean;\n onChange?: SelectorWrapperProps['onChange'];\n outerSelectorList?: SelectorWrapperProps['selectorList'];\n onRespDataChange?: (dataList?: TPlainObject[]) => void;\n onSelectorRequestError?: SelectorWrapperProps['onSelectorRequestError'];\n useCache: boolean;\n fieldNames: SelectorWrapperProps['fieldNames'];\n}) => {\n const {\n cacheKey,\n serviceConfig,\n hasOuterSelectorList,\n outerSelectorList,\n onRespDataChange,\n onSelectorRequestError,\n onChange,\n useCache,\n fieldNames,\n } = options;\n const serviceRequestParams = serviceConfig?.params;\n const requiredParamsKeys = serviceConfig?.requiredParamsKeys || [];\n const hasServiceRequestParams = serviceRequestParams && Object.keys(serviceRequestParams).length > 0;\n\n const [stateSelectorList, setStateSelectorList] = useState<TPlainObject[]>();\n const [requestStatus, setRequestStatus] = useState<TRequestStatus>();\n const [refreshKey, setRefreshKey] = useState(Date.now());\n\n const serviceRequestParamsStringify = useMemo(() => {\n try {\n if (hasServiceRequestParams) {\n const sortDataStringify = JSON.stringify(json.sort(serviceRequestParams));\n if (sortDataStringify === '{}') {\n return undefined;\n }\n return sortDataStringify;\n }\n } catch (error) {}\n return undefined;\n }, [hasServiceRequestParams, serviceRequestParams]);\n // 将 undefined => 'undefined'\n const serviceRequestCahceKey = `${serviceRequestParamsStringify}`;\n const serviceRequestCahceStatusKey = `${serviceRequestParamsStringify}_status`;\n const pubSubKey = `${cacheKey}_${serviceRequestCahceKey}`;\n\n // 上一个参数值\n const prevServiceRequestParamsStringify = fbaHooks.usePrevious(serviceRequestParamsStringify);\n const prevParams = fbaHooks.usePrevious(serviceRequestParams);\n\n const serviceRespDataAdapter = (respData) => {\n if (serviceConfig?.onRequestResultAdapter) {\n return serviceConfig?.onRequestResultAdapter(respData as unknown as TPlainObject);\n }\n if (fieldNames?.list) {\n const result = get(respData, fieldNames?.list);\n return isArray(result) ? result : [];\n }\n return respData;\n };\n\n const getWindowCacheData = () => {\n return window['__selector_wrapper_']?.[cacheKey];\n };\n const getWindowCacheValue = () => {\n return getWindowCacheData()?.[serviceRequestCahceKey];\n };\n const getWindowCacheStatus = () => {\n return getWindowCacheData()?.[serviceRequestCahceStatusKey];\n };\n\n const setWindowCache = (key, value) => {\n if (!window['__selector_wrapper_']) {\n window['__selector_wrapper_'] = {};\n }\n if (!window['__selector_wrapper_'][cacheKey]) {\n window['__selector_wrapper_'][cacheKey] = {};\n }\n window['__selector_wrapper_'][cacheKey][key] = value;\n };\n\n const onChangeRequestStatus = (status: TRequestStatus) => {\n setWindowCache(serviceRequestCahceStatusKey, status);\n setRequestStatus(status);\n };\n\n const onRequest = async () => {\n try {\n onChangeRequestStatus('request-progress');\n\n const respData = await serviceConfig?.onRequest?.(serviceRequestParams || {});\n const respAdapterData = serviceRespDataAdapter(respData) || [];\n\n setWindowCache(serviceRequestCahceKey, respAdapterData);\n onChangeRequestStatus('request-success');\n setTimeout(() => {\n pubSub.publish(pubSubKey, {\n status: 'request-success',\n respData: respAdapterData,\n });\n });\n\n return respAdapterData;\n } catch (error) {\n console.error(error);\n onChangeRequestStatus('request-error');\n setStateSelectorList(undefined);\n setTimeout(() => {\n pubSub.publish(pubSubKey, {\n status: 'request-error',\n });\n });\n onSelectorRequestError?.(error);\n return Promise.reject();\n }\n };\n\n fbaHooks.useEffectCustomAsync(async () => {\n if (hasOuterSelectorList) {\n setRequestStatus('request-success');\n setStateSelectorList(outerSelectorList);\n onRespDataChange?.(outerSelectorList);\n return;\n }\n if (requiredParamsKeys.length > 0) {\n const isEmpty = serviceRequestParams\n ? requiredParamsKeys.find((key) => isUndefinedOrNull(serviceRequestParams[key]))\n : true;\n if (isEmpty) {\n // 当依赖项查询条件为空时,清空当前缓存数据\n setStateSelectorList([]);\n setRequestStatus('no-dependencies-params');\n /**\n * 怎么判断数据是从有到无的\n * 每一次 params 变少,只要 上一次 params 值存在,就应该清空 value 值\n */\n if (prevServiceRequestParamsStringify) {\n onChange?.(undefined);\n }\n return;\n }\n\n // 不使用缓存模式\n if (useCache === false) {\n // 判断参数是否发生变化\n if (isDeepEqual(serviceRequestParams, prevParams)) {\n return;\n }\n try {\n setRequestStatus('request-progress');\n const respData = await serviceConfig?.onRequest?.(serviceRequestParams || {});\n const respAdapterData = serviceRespDataAdapter(respData) || [];\n setRequestStatus('request-success');\n setStateSelectorList(respAdapterData);\n onRespDataChange?.(respAdapterData);\n } catch (error) {\n console.error(error);\n setRequestStatus('request-error');\n setStateSelectorList(undefined);\n onSelectorRequestError?.(error);\n }\n return;\n }\n }\n\n /**\n * 此处无法判断 调用props.onChange?.(undefined);\n * A、B、C\n * 例如:C依赖A、B,当外部只修改了一个元素,理论上应该应该清空C value 值(调用onChange(undefined)),如果此时外部直接回填A、B、C时,C无法回填成功;该场景只能在A、B的onChange事件中,清空C\n */\n // if (prevServiceRequestParamsStringify) {\n // props.onChange?.(undefined);\n // }\n\n const status = getWindowCacheStatus();\n if (status === 'request-success') {\n const dataList = getWindowCacheValue();\n setStateSelectorList(dataList);\n setRequestStatus(status);\n onRespDataChange?.(dataList);\n return;\n }\n if (status === 'request-progress') {\n setRequestStatus(status);\n pubSub.subscribe(pubSubKey, (_msg, { status, respData }) => {\n if (status === 'request-success') {\n setRequestStatus(status);\n setStateSelectorList(respData);\n onRespDataChange?.(respData);\n } else {\n setRequestStatus('request-error');\n setStateSelectorList(undefined);\n }\n });\n return;\n }\n const respAdapterData = await onRequest();\n setStateSelectorList(respAdapterData);\n setRequestStatus('request-success');\n onRespDataChange?.(respAdapterData);\n }, [serviceRequestParams, outerSelectorList, refreshKey]);\n\n const onRefreshRequest = () => {\n setRefreshKey(Date.now());\n };\n\n return {\n requestStatus,\n stateSelectorList,\n serviceRequestParamsStringify,\n onRefreshRequest,\n };\n};\n","import { isObject } from '@dimjs/lang';\nimport { toArray } from '@flatbiz/utils';\n\n/**\n * value存在两种格式\n * 1. string | number;\n * 2. labelInValue 格式\n * @param data\n * @param labelInValueFieldNames\n * @returns\n */\nexport const getVauleList = (data, valueKey: string | number) => {\n let valueList = toArray<string | number>(data);\n valueList = valueList.map((item) => {\n if (isObject(item)) return item[valueKey];\n return item;\n });\n return valueList;\n};\n","import { arrayFind, TAny, toArray, TPlainObject, valueIsEqual } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Button, Select } from 'antd';\nimport { useMemo, useRef } from 'react';\nimport './style.less';\n\nimport { RedoOutlined } from '@ant-design/icons';\nimport { isString } from '@dimjs/lang';\nimport { RequestStatus } from '../request-status';\nimport { SelectorWrapperProps } from './types';\nimport { useRequest } from './use-request';\nimport { getVauleList } from './utils';\nexport * from './types';\n/**\n * 选择器包装组件\n * ```\n * 1. 不支持搜索 + 调用服务模式\n * ```\n */\nexport const SelectorWrapper = (props: SelectorWrapperProps) => {\n const {\n serviceConfig,\n showAllOption,\n onSelectorListChange,\n onSelectorListAllChange,\n onSelectorRequestError,\n onLabelRenderAdapter,\n requestMessageConfig,\n selectorList: outerSelectorList,\n modelKey,\n fieldNames,\n value,\n labelInValue,\n useCache,\n ...otherProps\n } = props;\n\n const firstRenderSelectList = useRef(true);\n\n // props 是否存在 selectorList,selectorList = undefined 也算存在\n const hasOuterSelectorList = props.hasOwnProperty('selectorList');\n const mergeFieldNames = { label: 'label', value: 'value', disabled: 'disabled', ...fieldNames };\n\n const {\n label: optionsItemLabelField,\n value: optionsItemValueField,\n disabled: optionsItemDisabledField,\n } = mergeFieldNames;\n\n const allOptionConfig = useMemo(() => {\n if (!showAllOption) return null;\n const isTrue = showAllOption === true;\n return {\n [optionsItemLabelField]: isTrue ? '全部' : showAllOption.label,\n [optionsItemValueField]: isTrue ? '' : showAllOption.value,\n };\n }, [optionsItemLabelField, optionsItemValueField, showAllOption]);\n\n const isMultiple = valueIsEqual(props.mode, ['multiple']);\n\n const { requestStatus, stateSelectorList, onRefreshRequest } = useRequest({\n fieldNames: mergeFieldNames,\n cacheKey: modelKey,\n hasOuterSelectorList,\n onChange: props.onChange,\n serviceConfig,\n outerSelectorList,\n onRespDataChange: (dataList) => {\n if (firstRenderSelectList.current) {\n onSelectorListChange?.(dataList || []);\n firstRenderSelectList.current = false;\n }\n onSelectorListAllChange?.(dataList || []);\n },\n onSelectorRequestError,\n useCache: useCache === undefined ? true : useCache,\n });\n\n const onRespChange = hooks.useCallbackRef((selectedList: TPlainObject[]) => {\n if (labelInValue) {\n if (isMultiple) {\n props.onChange?.(selectedList, selectedList);\n } else {\n props.onChange?.(selectedList[0], selectedList);\n }\n } else {\n const valueList = selectedList.map((item) => item[optionsItemValueField]);\n if (isMultiple) {\n props.onChange?.(valueList, selectedList);\n } else {\n props.onChange?.(valueList[0], selectedList[0]);\n }\n }\n });\n\n const onInnerChange = hooks.useCallbackRef((_value, otherParams) => {\n if (!otherParams) return props.onChange?.(undefined);\n const selectedList = toArray<TAny>(otherParams);\n const targetList = [] as TPlainObject[];\n selectedList.forEach((item) => {\n if (showAllOption && allOptionConfig && item.value === allOptionConfig[optionsItemValueField]) {\n targetList.push(allOptionConfig);\n } else {\n const filterTarget = arrayFind(stateSelectorList || [], item.value, optionsItemValueField);\n if (filterTarget) {\n targetList.push(filterTarget);\n }\n }\n });\n onRespChange(targetList);\n });\n\n const selectorAllList = useMemo(() => {\n if (requestStatus !== 'request-success') return [];\n if (!stateSelectorList || stateSelectorList.length === 0) return [];\n if (!allOptionConfig) return stateSelectorList;\n return [allOptionConfig].concat(stateSelectorList);\n }, [allOptionConfig, requestStatus, stateSelectorList]);\n\n const loading = requestStatus === 'request-progress';\n\n const selectValue = useMemo(() => {\n const targetList = getVauleList(value, optionsItemValueField);\n return isMultiple ? targetList : targetList[0];\n }, [isMultiple, optionsItemValueField, value]);\n\n const filterOption = hooks.useCallbackRef((input: string, option) => {\n const children = toArray(option.children);\n let mergeString = '';\n children.forEach((item) => {\n if (isString(item)) mergeString += item;\n });\n return mergeString.toLowerCase().indexOf(input.toLowerCase()) >= 0;\n });\n\n return (\n <Select\n showSearch={true}\n allowClear={true}\n dropdownMatchSelectWidth={false}\n filterOption={filterOption}\n {...otherProps}\n style={{ width: '100%', ...props.style }}\n value={selectValue}\n loading={loading}\n onChange={onInnerChange}\n fieldNames={undefined}\n suffixIcon={\n requestStatus === 'request-error' ? (\n <RedoOutlined spin={loading} onClick={onRefreshRequest} />\n ) : undefined\n }\n notFoundContent={\n <RequestStatus\n status={requestStatus}\n loading={loading}\n messageConfig={{\n 'request-init': '暂无数据',\n ...requestMessageConfig,\n }}\n errorButton={\n <Button type=\"primary\" onClick={onRefreshRequest}>\n 重新获取数据\n </Button>\n }\n />\n }\n >\n {selectorAllList.map((item, index) => {\n const value = item[optionsItemValueField];\n const label = item[optionsItemLabelField];\n return (\n <Select.Option\n value={value}\n label={label}\n key={`${value}-${index}`}\n disabled={item[optionsItemDisabledField]}\n >\n {props.showIcon ? (\n <span className=\"v-selector-item-icon\">{props.icon?.(item, index)}</span>\n ) : null}\n {onLabelRenderAdapter ? onLabelRenderAdapter(item) : label}\n </Select.Option>\n );\n })}\n </Select>\n );\n};\n"],"names":["useRequest","options","cacheKey","serviceConfig","hasOuterSelectorList","outerSelectorList","onRespDataChange","onSelectorRequestError","onChange","useCache","fieldNames","serviceRequestParams","params","requiredParamsKeys","hasServiceRequestParams","Object","keys","length","_useState","useState","stateSelectorList","setStateSelectorList","_useState2","requestStatus","setRequestStatus","_useState3","Date","now","refreshKey","setRefreshKey","serviceRequestParamsStringify","useMemo","sortDataStringify","JSON","stringify","_json","sort","undefined","error","serviceRequestCahceKey","serviceRequestCahceStatusKey","pubSubKey","prevServiceRequestParamsStringify","fbaHooks","usePrevious","prevParams","serviceRespDataAdapter","respData","onRequestResultAdapter","list","result","_get","_isArray","getWindowCacheData","_window$__selector_wr","window","getWindowCacheValue","_getWindowCacheData","getWindowCacheStatus","_getWindowCacheData2","setWindowCache","key","value","onChangeRequestStatus","status","onRequest","Promise","$return","$error","respAdapterData","$Try_2_Catch","console","setTimeout","pubSub","publish","reject","$boundEx","resolve","then","$await_6","useEffectCustomAsync","isEmpty","_respAdapterData","_dataList","find","isUndefinedOrNull","_isDeepEqual","$Try_3_Post","$Try_3_Catch","$await_7","$If_4","call","this","dataList","subscribe","_msg","_ref","$await_8","onRefreshRequest","getVauleList","data","valueKey","valueList","toArray","map","item","_isObject","SelectorWrapper","props","showAllOption","onSelectorListChange","onSelectorListAllChange","onLabelRenderAdapter","requestMessageConfig","selectorList","modelKey","labelInValue","otherProps","_objectWithoutPropertiesLoose","_excluded","firstRenderSelectList","useRef","hasOwnProperty","mergeFieldNames","_extends","label","disabled","optionsItemLabelField","optionsItemValueField","optionsItemDisabledField","allOptionConfig","isTrue","isMultiple","valueIsEqual","mode","_useRequest","current","onRespChange","_hooks","useCallbackRef","selectedList","onInnerChange","_value","otherParams","targetList","forEach","push","filterTarget","arrayFind","selectorAllList","concat","loading","selectValue","filterOption","input","option","children","mergeString","_isString","toLowerCase","indexOf","_jsx","Select","showSearch","allowClear","dropdownMatchSelectWidth","style","width","suffixIcon","_RedoOutlined","spin","onClick","notFoundContent","RequestStatus","messageConfig","errorButton","Button","type","index","_jsxs","Option","showIcon","className","icon"],"mappings":"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"}
|
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
import './../request-status/index.css';
|
|
3
3
|
import './index.css';
|
|
4
4
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
5
|
-
export{S as SelectorWrapperSearch}from"../selector-wrapper-search-
|
|
5
|
+
export{S as SelectorWrapperSearch}from"../selector-wrapper-search-f799bcf0.js";import"@ant-design/icons/es/icons/RedoOutlined";import"@wove/react/cjs/hooks";import"../_rollupPluginBabelHelpers-1f4d8910.js";import"@dimjs/lang/cjs/is-array";import"@dimjs/utils/cjs/get";import"antd";import"react";import"../request-status-03fc60e2.js";import"@dimjs/utils/cjs/extend";import"@flatbiz/utils";import"react/jsx-runtime";
|
|
6
6
|
//# sourceMappingURL=index.js.map
|