@flatbiz/antd 4.2.78 → 4.2.80

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/editable-table/utils.ts","@flatbiz/antd/src/editable-table/form-item/checkbox-group.tsx","@flatbiz/antd/src/editable-table/form-item/date-picker-wrapper.tsx","@flatbiz/antd/src/editable-table/form-item/date-range-picker-wrapper.tsx","@flatbiz/antd/src/editable-table/form-item/input.tsx","@flatbiz/antd/src/editable-table/form-item/input-number.tsx","@flatbiz/antd/src/editable-table/form-item/radio-group.tsx","@flatbiz/antd/src/editable-table/form-item/selector-wrapper.tsx","@flatbiz/antd/src/editable-table/form-item/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 { TAny, toArray, TPlainObject } from '@flatbiz/utils';\nimport { Form, FormListOperation, Table, TableProps } from 'antd';\nimport { FormListProps } from 'antd/es/form';\nimport { ColumnsType } from 'antd/lib/table';\nimport { Fragment, ReactElement, useMemo } from 'react';\nimport { ButtonWrapper } from '../button-wrapper';\nimport { TableTitleTooltip } from '../table-title-tooltip';\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 /**\n * 会在 title 之后展示一个 icon,hover 之后提示一些信息\n * ```\n * 1. title为string类型有效\n * 2. hoverArea 默认值:icon\n * ```\n */\n tooltip?: string | { content: string; icon?: ReactElement; hoverArea?: 'icon' | 'all' };\n dataIndex?: string;\n fieldConfig?:\n | FieldSingleConfig\n | FormListConfig\n | ((data: fieldConfigFunctionParams) => FieldSingleConfig | FormListConfig);\n /** 隐藏域字段 */\n hiddenField?: {\n dataIndex: string;\n };\n /**\n * 渲染中间件,如果renderMiddleware返回值为ReactElement格式,则会终止后续逻辑,fieldConfig配置将失效\n * ```\n * 1. tableRowIndex: 当前row的索引值\n * 2. name: 当前table单元格的form.item的name值\n * 3. operation Form.List的操作函数\n * 4. 对 table children column渲染无效\n * ```\n */\n renderMiddleware?: (item: {\n tableRowIndex: number;\n name: EditableTableName;\n tableRowName: EditableTableName;\n operation: FormListOperation;\n index: number;\n }) => ReactElement | null;\n /** table datasource children column 自定义渲染 */\n tableChildrenColumnRender?: (value: any, record: TPlainObject, index: number) => ReactElement | null;\n};\n\nexport type EditableTableProps = {\n name: EditableTableName;\n /**\n * ```\n * antd table属性\n * 1. 新增cellVerticalAlign,单元格竖直方向对齐方式,设置table column onCell属性后失效\n * ```\n */\n tableProps?: Omit<TableProps<EditableTableRecordType>, 'dataSource' | 'columns' | 'rowKey'> & {\n cellVerticalAlign?: 'baseline' | 'middle' | 'top' | 'bottom';\n };\n columns: EditableTableColumn[];\n onTableBeforeRender?: (formListOperation: FormListOperation, nextRowIndex: number) => ReactElement | null;\n /**\n * 设置后,将覆盖底部`新增`按钮\n */\n onTableAfterRender?: (formListOperation: FormListOperation, nextRowIndex: number) => ReactElement | null;\n rules?: FormListProps['rules'];\n /** 隐藏底部`新增`按钮,设置 onTableAfterRender后 失效 */\n hiddenFooterBtn?: boolean;\n};\n\n/**\n * 可编辑表格\n * demo:https://fex.qa.tcshuke.com/docs/admin/main/table/row-editable1\n * @param props\n * ```\n * 1. table children column 不可编辑\n * 2. 当存在折叠children数据时,组件会在children中内置_isChildrenItem字段\n * 3. 可通过tableChildrenColumnRender自定义渲染 table children column 显示\n * ```\n */\nexport const EditableTable = (props: EditableTableProps) => {\n const form = Form.useFormInstance();\n\n const columns = useMemo(() => {\n if (!props.columns) return [];\n return props.columns.map((columnItem) => {\n const { fieldConfig, renderMiddleware, tableChildrenColumnRender, tooltip, title, ...otherColumnItem } =\n columnItem;\n return {\n title:\n typeof title === 'string' && !!tooltip ? (\n <TableTitleTooltip title={title} tooltip={tooltip} />\n ) : (\n title\n ),\n onCell: () => {\n return {\n valign: props.tableProps?.cellVerticalAlign || 'middle',\n };\n },\n ...otherColumnItem,\n render: (_value, record, index) => {\n if (record['_isChildrenItem']) {\n if (tableChildrenColumnRender) {\n return tableChildrenColumnRender(_value, record, index);\n }\n return _value;\n }\n const tableRowName = [...toArray<string | number>(props.name as TAny), record.name];\n const completeName = columnItem.dataIndex ? [...tableRowName, columnItem.dataIndex] : tableRowName;\n const customRender = renderMiddleware?.({\n name: completeName,\n tableRowIndex: record.name,\n operation: record.operation,\n tableRowName,\n index,\n });\n if (customRender) {\n return customRender;\n }\n\n const fieldConfigActual =\n typeof fieldConfig === 'function'\n ? fieldConfig({\n name: completeName,\n tableRowIndex: record.name,\n tableRowName,\n })\n : fieldConfig;\n return (\n <FormListItem\n name={columnItem.dataIndex ? [record.name, columnItem.dataIndex] : [record.name]}\n completeName={completeName}\n fieldConfig={fieldConfigActual}\n tableRowIndex={record.name}\n hiddenField={columnItem.hiddenField}\n />\n );\n },\n };\n }) as ColumnsType<EditableTableRecordType>;\n }, [props.columns, props.name, props.tableProps?.cellVerticalAlign]);\n\n const formListDataSource = Form.useWatch(props.name, form);\n\n 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) => {\n const children = formListDataSource?.[item.name]?.children as TPlainObject[] | undefined;\n if (children) {\n children.forEach((item) => {\n item['_isChildrenItem'] = true;\n });\n }\n return {\n ...item,\n operation: formListOperation,\n children,\n };\n })}\n columns={columns}\n />\n {props.onTableAfterRender ? (\n props.onTableAfterRender(formListOperation, fields.length)\n ) : (\n <ButtonWrapper\n type=\"dashed\"\n hidden={props.hiddenFooterBtn}\n onClick={() => formListOperation.add()}\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","form","columns","columnItem","renderMiddleware","tableChildrenColumnRender","tooltip","title","otherColumnItem","TableTitleTooltip","onCell","_props$tableProps","valign","tableProps","cellVerticalAlign","_value","record","tableRowName","toArray","customRender","operation","fieldConfigActual","formListDataSource","useWatch","rules","formListOperation","onTableBeforeRender","Table","scroll","x","pagination","rowKey","dataSource","_formListDataSource$i","onTableAfterRender","ButtonWrapper","hiddenFooterBtn","block","_PlusOutlined","marginTop"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/editable-table/utils.ts","@flatbiz/antd/src/editable-table/form-item/checkbox-group.tsx","@flatbiz/antd/src/editable-table/form-item/date-picker-wrapper.tsx","@flatbiz/antd/src/editable-table/form-item/date-range-picker-wrapper.tsx","@flatbiz/antd/src/editable-table/form-item/input.tsx","@flatbiz/antd/src/editable-table/form-item/input-number.tsx","@flatbiz/antd/src/editable-table/form-item/radio-group.tsx","@flatbiz/antd/src/editable-table/form-item/selector-wrapper.tsx","@flatbiz/antd/src/editable-table/form-item/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 options = useMemo(\n () => (editableComptProps.options || []) as LabelValueItem[],\n [editableComptProps.options],\n );\n const viewLabelList = useMemo(() => {\n if (editable) return [];\n const value = isArray(props.value) ? props.value : ([] as TAny[]);\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, 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, options)\n : viewLabelList.map((tag, index) => (\n <Tag key={index} color={'geekblue'}>\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 { EditableFormItemProps, EditableRadioGroupConfig } from '../type';\n\ntype RadioGroupFormItemContent = Omit<EditableFormItemProps, 'formItemProps'> & {\n value?: string | number;\n onChange?: (value: string | number) => void;\n};\n\nconst RadioGroupFormItemContent = (props: RadioGroupFormItemContent) => {\n const { editableConfig, editable, render } = props.fieldConfig;\n const editableComptProps = (editableConfig as EditableRadioGroupConfig).editableComptProps;\n const options = useMemo(\n () => (editableComptProps.options || []) as LabelValueItem<string | number>[],\n [editableComptProps.options],\n );\n\n const viewLabel = useMemo(() => {\n if (editable) return [];\n const value = props.value;\n\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, 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, options) : viewLabel ? <Tag color={'geekblue'}>{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 { SelectorWrapper } from '../../selector-wrapper';\nimport { EditableFormItemProps, EditableSelectWrapperConfig } from '../type';\n\ntype FormItemContentProps = Omit<EditableFormItemProps, 'formItemProps'> & {\n value?: string | number | Array<string | number>;\n onChange?: (value: TAny) => void;\n};\n\nconst FormItemContent = (props: FormItemContentProps) => {\n const { editableConfig, editable, render } = props.fieldConfig;\n const editableComptProps = (editableConfig as EditableSelectWrapperConfig).editableComptProps;\n const [selectorList, setSelectorList] = useState<LabelValueItem[]>([]);\n const [viewLabelList, setviewLabelList] = useState<LabelValueItem[]>([]);\n\n useEffect(() => {\n if (!editable) {\n const value = isArray(props.value) ? props.value : props.value === undefined ? [] : [props.value];\n if (selectorList.length === 0) {\n setviewLabelList(value.map((item) => ({ label: item as string, value: item })));\n }\n const returnList = [] as LabelValueItem[];\n value.forEach((item) => {\n const target = selectorList.find((temp) => temp.value === item);\n returnList.push(target ? target : { label: String(item), value: item });\n });\n setviewLabelList(returnList);\n }\n }, [editable, editableComptProps.fieldNames, props.value, selectorList]);\n\n const onSelectorListAllChange = hooks.useCallbackRef((dataList: TPlainObject[]) => {\n setSelectorList(arrayField2LabelValue(dataList || [], editableComptProps.fieldNames));\n });\n\n const onChange = hooks.useCallbackRef((value, selectList) => {\n props.onChange?.(value);\n editableComptProps.onChange?.(value, selectList);\n });\n\n if (editable) {\n return (\n <SelectorWrapper\n {...editableComptProps}\n value={props.value}\n onChange={onChange}\n onSelectorListAllChange={onSelectorListAllChange}\n />\n );\n }\n return (\n <Fragment>\n <div style={{ display: 'none' }}>\n <SelectorWrapper {...editableComptProps} onSelectorListAllChange={onSelectorListAllChange} />\n </div>\n <span className=\"editable-selector-view\">\n {render\n ? render(props.value, selectorList)\n : viewLabelList.map((tag, index) => (\n <Tag key={index} color={'geekblue'}>\n {tag.label}\n </Tag>\n ))}\n </span>\n </Fragment>\n );\n};\n\nexport const SelectorWrapperFormItem = (props: EditableFormItemProps) => {\n const { formItemProps } = props.fieldConfig;\n\n return (\n <Form.Item\n {...formItemProps}\n name={props.name}\n className={classNames('editable-selector-wrapper-form-item', formItemProps?.className)}\n >\n <FormItemContent {...props} />\n </Form.Item>\n );\n};\n","import { 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 { TAny, toArray, TPlainObject } from '@flatbiz/utils';\nimport { Form, FormListOperation, Table, TableProps } from 'antd';\nimport { FormListProps } from 'antd/es/form';\nimport { ColumnsType } from 'antd/lib/table';\nimport { Fragment, isValidElement, ReactElement, useMemo } from 'react';\nimport { ButtonWrapper } from '../button-wrapper';\nimport { TableTitleTooltip } from '../table-title-tooltip';\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 /**\n * 会在 title 之后展示一个 icon,hover 之后提示一些信息\n * ```\n * 1. title为string类型、ReactElement有效\n * 2. hoverArea 默认值:icon\n * ```\n */\n tooltip?: string | { content: string; icon?: ReactElement; hoverArea?: 'icon' | 'all' };\n dataIndex?: string;\n fieldConfig?:\n | FieldSingleConfig\n | FormListConfig\n | ((data: fieldConfigFunctionParams) => FieldSingleConfig | FormListConfig);\n /** 隐藏域字段 */\n hiddenField?: {\n dataIndex: string;\n };\n /**\n * 渲染中间件,如果renderMiddleware返回值为ReactElement格式,则会终止后续逻辑,fieldConfig配置将失效\n * ```\n * 1. tableRowIndex: 当前row的索引值\n * 2. name: 当前table单元格的form.item的name值\n * 3. operation Form.List的操作函数\n * 4. 对 table children column渲染无效\n * ```\n */\n renderMiddleware?: (item: {\n tableRowIndex: number;\n name: EditableTableName;\n tableRowName: EditableTableName;\n operation: FormListOperation;\n index: number;\n }) => ReactElement | null;\n /** table datasource children column 自定义渲染 */\n tableChildrenColumnRender?: (value: any, record: TPlainObject, index: number) => ReactElement | null;\n};\n\nexport type EditableTableProps = {\n name: EditableTableName;\n /**\n * ```\n * antd table属性\n * 1. 新增cellVerticalAlign,单元格竖直方向对齐方式,设置table column onCell属性后失效\n * ```\n */\n tableProps?: Omit<TableProps<EditableTableRecordType>, 'dataSource' | 'columns' | 'rowKey'> & {\n cellVerticalAlign?: 'baseline' | 'middle' | 'top' | 'bottom';\n };\n columns: EditableTableColumn[];\n onTableBeforeRender?: (formListOperation: FormListOperation, nextRowIndex: number) => ReactElement | null;\n /**\n * 设置后,将覆盖底部`新增`按钮\n */\n onTableAfterRender?: (formListOperation: FormListOperation, nextRowIndex: number) => ReactElement | null;\n rules?: FormListProps['rules'];\n /** 隐藏底部`新增`按钮,设置 onTableAfterRender后 失效 */\n hiddenFooterBtn?: boolean;\n /** 新增行默认值,自定义onTableAfterRender后失效 */\n getAddRowDefaultValues?: () => TPlainObject;\n};\n\n/**\n * 可编辑表格\n * demo:https://fex.qa.tcshuke.com/docs/admin/main/table/row-editable1\n * @param props\n * ```\n * 1. table children column 不可编辑\n * 2. 当存在折叠children数据时,组件会在children中内置_isChildrenItem字段\n * 3. 可通过tableChildrenColumnRender自定义渲染 table children column 显示\n * ```\n */\nexport const EditableTable = (props: EditableTableProps) => {\n const form = Form.useFormInstance();\n\n const columns = useMemo(() => {\n if (!props.columns) return [];\n return props.columns.map((columnItem) => {\n const { fieldConfig, renderMiddleware, tableChildrenColumnRender, tooltip, title, ...otherColumnItem } =\n columnItem;\n const support = isValidElement(title) || typeof title === 'string';\n return {\n title: support && !!tooltip ? <TableTitleTooltip title={title} tooltip={tooltip} /> : title,\n onCell: () => {\n return {\n valign: props.tableProps?.cellVerticalAlign || 'middle',\n };\n },\n ...otherColumnItem,\n render: (_value, record, index) => {\n if (record['_isChildrenItem']) {\n if (tableChildrenColumnRender) {\n return tableChildrenColumnRender(_value, record, index);\n }\n return _value;\n }\n const tableRowName = [...toArray<string | number>(props.name as TAny), record.name];\n const completeName = columnItem.dataIndex ? [...tableRowName, columnItem.dataIndex] : tableRowName;\n const customRender = renderMiddleware?.({\n name: completeName,\n tableRowIndex: record.name,\n operation: record.operation,\n tableRowName,\n index,\n });\n if (customRender) {\n return customRender;\n }\n\n const fieldConfigActual =\n typeof fieldConfig === 'function'\n ? fieldConfig({\n name: completeName,\n tableRowIndex: record.name,\n tableRowName,\n })\n : fieldConfig;\n return (\n <FormListItem\n name={columnItem.dataIndex ? [record.name, columnItem.dataIndex] : [record.name]}\n completeName={completeName}\n fieldConfig={fieldConfigActual}\n tableRowIndex={record.name}\n hiddenField={columnItem.hiddenField}\n />\n );\n },\n };\n }) as ColumnsType<EditableTableRecordType>;\n }, [props.columns, props.name, props.tableProps?.cellVerticalAlign]);\n\n const formListDataSource = Form.useWatch(props.name, form);\n\n 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) => {\n const children = formListDataSource?.[item.name]?.children as TPlainObject[] | undefined;\n if (children) {\n children.forEach((item) => {\n item['_isChildrenItem'] = true;\n });\n }\n return {\n ...item,\n operation: formListOperation,\n children,\n };\n })}\n columns={columns}\n />\n {props.onTableAfterRender ? (\n props.onTableAfterRender(formListOperation, fields.length)\n ) : (\n <ButtonWrapper\n type=\"dashed\"\n hidden={props.hiddenFooterBtn}\n onClick={() => formListOperation.add(props.getAddRowDefaultValues?.())}\n block\n icon={<PlusOutlined />}\n style={{ marginTop: 15 }}\n >\n 新增\n </ButtonWrapper>\n )}\n </Fragment>\n );\n }}\n </Form.List>\n </div>\n );\n};\n"],"names":["getEditable","editable","tableRowIndex","CheckboxGroupFormItemContent","props","_props$fieldConfig","fieldConfig","editableConfig","render","editableComptProps","options","useMemo","viewLabelList","value","_isArray","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","e","Radio","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","form","columns","columnItem","renderMiddleware","tableChildrenColumnRender","tooltip","title","otherColumnItem","support","isValidElement","TableTitleTooltip","onCell","_props$tableProps","valign","tableProps","cellVerticalAlign","_value","record","tableRowName","toArray","customRender","operation","fieldConfigActual","formListDataSource","useWatch","rules","formListOperation","onTableBeforeRender","Table","scroll","x","pagination","rowKey","dataSource","_formListDataSource$i","onTableAfterRender","ButtonWrapper","hiddenFooterBtn","getAddRowDefaultValues","block","_PlusOutlined","marginTop"],"mappings":"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"}
@@ -1 +1 @@
1
- .form-item-label-70.ant-form-item .ant-form-item-label{width:70px!important}.form-item-label-80.ant-form-item .ant-form-item-label{width:80px!important}.form-item-label-90.ant-form-item .ant-form-item-label{width:90px!important}.form-item-label-100.ant-form-item .ant-form-item-label{width:100px!important}.form-item-label-110.ant-form-item .ant-form-item-label{width:110px!important}.form-item-label-120.ant-form-item .ant-form-item-label{width:120px!important}.form-item-label-130.ant-form-item .ant-form-item-label{width:130px!important}.form-item-label-140.ant-form-item .ant-form-item-label{width:140px!important}.form-item-label-150.ant-form-item .ant-form-item-label{width:150px!important}.form-item-label-160.ant-form-item .ant-form-item-label{width:160px!important}.form-item-label-170.ant-form-item .ant-form-item-label{width:170px!important}.form-item-label-180.ant-form-item .ant-form-item-label{width:180px!important}.form-item-label-190.ant-form-item .ant-form-item-label{width:190px!important}.form-item-label-200.ant-form-item .ant-form-item-label{width:200px!important}.form-item-label-auto.ant-form-item .ant-form-item-label{width:auto!important}.form-item-label-align-left .ant-form-item-label{text-align:left}.form-item-label-align-right .ant-form-item-label{text-align:right}.ant-form-item.form-item-label-value-vertical>.ant-form-item-row{flex-direction:column}.ant-form-item.form-item-label-value-vertical>.ant-form-item-row>.ant-form-item-label{text-align:left;width:100%}.ant-form-item.form-item-label-value-vertical>.ant-form-item-row>.ant-form-item-control{flex:initial}.form-label-70 .ant-form-item-label{width:70px!important}.form-label-80 .ant-form-item-label{width:80px!important}.form-label-90 .ant-form-item-label{width:90px!important}.form-label-100 .ant-form-item-label{width:100px!important}.form-label-110 .ant-form-item-label{width:110px!important}.form-label-120 .ant-form-item-label{width:120px!important}.form-label-130 .ant-form-item-label{width:130px!important}.form-label-140 .ant-form-item-label{width:140px!important}.form-label-150 .ant-form-item-label{width:150px!important}.form-label-160 .ant-form-item-label{width:160px!important}.form-label-170 .ant-form-item-label{width:170px!important}.form-label-180 .ant-form-item-label{width:180px!important}.form-label-190 .ant-form-item-label{width:190px!important}.form-label-200 .ant-form-item-label{width:200px!important}.form-label-auto .ant-form-item-label{width:auto!important}.form-label-align-left .ant-form-item-label{text-align:left}.form-label-align-right .ant-form-item-label{text-align:right}.form-label-value-vertical .ant-form-item .ant-form-item-row{flex-direction:column}.form-label-value-vertical .ant-form-item .ant-form-item-label{text-align:left;width:100%}.form-label-value-vertical .ant-form-item .ant-form-item-control{flex:initial}
1
+ .form-item-label-70.ant-form-item .ant-form-item-label{width:70px!important}.form-item-label-80.ant-form-item .ant-form-item-label{width:80px!important}.form-item-label-90.ant-form-item .ant-form-item-label{width:90px!important}.form-item-label-100.ant-form-item .ant-form-item-label{width:100px!important}.form-item-label-110.ant-form-item .ant-form-item-label{width:110px!important}.form-item-label-120.ant-form-item .ant-form-item-label{width:120px!important}.form-item-label-130.ant-form-item .ant-form-item-label{width:130px!important}.form-item-label-140.ant-form-item .ant-form-item-label{width:140px!important}.form-item-label-150.ant-form-item .ant-form-item-label{width:150px!important}.form-item-label-160.ant-form-item .ant-form-item-label{width:160px!important}.form-item-label-170.ant-form-item .ant-form-item-label{width:170px!important}.form-item-label-180.ant-form-item .ant-form-item-label{width:180px!important}.form-item-label-190.ant-form-item .ant-form-item-label{width:190px!important}.form-item-label-200.ant-form-item .ant-form-item-label{width:200px!important}.form-item-label-auto.ant-form-item .ant-form-item-label{width:auto!important}.form-item-label-align-left .ant-form-item-label{text-align:left}.form-item-label-align-right .ant-form-item-label{text-align:right}.ant-form-item.form-item-label-value-vertical>.ant-form-item-row{flex-direction:column}.ant-form-item.form-item-label-value-vertical>.ant-form-item-row>.ant-form-item-label{text-align:left;width:100%!important}.ant-form-item.form-item-label-value-vertical>.ant-form-item-row>.ant-form-item-control{flex:initial}.form-label-70 .ant-form-item-label{width:70px!important}.form-label-80 .ant-form-item-label{width:80px!important}.form-label-90 .ant-form-item-label{width:90px!important}.form-label-100 .ant-form-item-label{width:100px!important}.form-label-110 .ant-form-item-label{width:110px!important}.form-label-120 .ant-form-item-label{width:120px!important}.form-label-130 .ant-form-item-label{width:130px!important}.form-label-140 .ant-form-item-label{width:140px!important}.form-label-150 .ant-form-item-label{width:150px!important}.form-label-160 .ant-form-item-label{width:160px!important}.form-label-170 .ant-form-item-label{width:170px!important}.form-label-180 .ant-form-item-label{width:180px!important}.form-label-190 .ant-form-item-label{width:190px!important}.form-label-200 .ant-form-item-label{width:200px!important}.form-label-auto .ant-form-item-label{width:auto!important}.form-label-align-left .ant-form-item-label{text-align:left}.form-label-align-right .ant-form-item-label{text-align:right}.form-label-value-vertical .ant-form-item .ant-form-item-row{flex-direction:column}.form-label-value-vertical .ant-form-item .ant-form-item-label{text-align:left;width:100%}.form-label-value-vertical .ant-form-item .ant-form-item-control{flex:initial}.form-formitem-gap-15{margin-bottom:-15px}.form-formitem-gap-15 .ant-form-item{margin:0 0 15px}.form-formitem-gap-8{margin-bottom:-8px}.form-formitem-gap-8 .ant-form-item{margin:0 0 8px}
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable */
2
2
  import './index.css';
3
3
  /*! @flatjs/forge MIT @flatbiz/antd */
4
- var l={label_width_70:"form-label-70",label_width_80:"form-label-80",label_width_90:"form-label-90",label_width_100:"form-label-100",label_width_110:"form-label-110",label_width_120:"form-label-120",label_width_130:"form-label-130",label_width_140:"form-label-140",label_width_150:"form-label-150",label_width_160:"form-label-160",label_width_170:"form-label-170",label_width_180:"form-label-180",label_width_190:"form-label-190",label_width_200:"form-label-200",label_width_auto:"form-label-auto",label_align_left:"form-label-align-left",label_align_right:"form-label-align-right",label_value_vertical:"form-label-value-vertical"};var e={label_width_70:"form-item-label-70",label_width_80:"form-item-label-80",label_width_90:"form-item-label-90",label_width_100:"form-item-label-100",label_width_110:"form-item-label-110",label_width_120:"form-item-label-120",label_width_130:"form-item-label-130",label_width_140:"form-item-label-140",label_width_150:"form-item-label-150",label_width_160:"form-item-label-160",label_width_170:"form-item-label-170",label_width_180:"form-item-label-180",label_width_190:"form-item-label-190",label_width_200:"form-item-label-200",label_width_auto:"form-item-label-auto",label_align_left:"form-item-label-align-left",label_align_right:"form-item-label-align-right",label_value_vertical:"form-item-label-value-vertical"};var a={form:l,formItem:e};export{a as preDefinedClassName};
4
+ var l={label_width_70:"form-label-70",label_width_80:"form-label-80",label_width_90:"form-label-90",label_width_100:"form-label-100",label_width_110:"form-label-110",label_width_120:"form-label-120",label_width_130:"form-label-130",label_width_140:"form-label-140",label_width_150:"form-label-150",label_width_160:"form-label-160",label_width_170:"form-label-170",label_width_180:"form-label-180",label_width_190:"form-label-190",label_width_200:"form-label-200",label_width_auto:"form-label-auto",label_align_left:"form-label-align-left",label_align_right:"form-label-align-right",label_value_vertical:"form-label-value-vertical",formItemGap15:"form-formitem-gap-15",formItemGap8:"form-formitem-gap-8"};var e={label_width_70:"form-item-label-70",label_width_80:"form-item-label-80",label_width_90:"form-item-label-90",label_width_100:"form-item-label-100",label_width_110:"form-item-label-110",label_width_120:"form-item-label-120",label_width_130:"form-item-label-130",label_width_140:"form-item-label-140",label_width_150:"form-item-label-150",label_width_160:"form-item-label-160",label_width_170:"form-item-label-170",label_width_180:"form-item-label-180",label_width_190:"form-item-label-190",label_width_200:"form-item-label-200",label_width_auto:"form-item-label-auto",label_align_left:"form-item-label-align-left",label_align_right:"form-item-label-align-right",label_value_vertical:"form-item-label-value-vertical"};var a={form:l,formItem:e};export{a as preDefinedClassName};
5
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/pre-defined-class-name/form/index.tsx","@flatbiz/antd/src/pre-defined-class-name/index.ts"],"sourcesContent":["import './style.less';\n/**\n * 使用在Form组件上,预定义form-item label宽度\n */\nexport const formClassName = {\n label_width_70: 'form-label-70',\n label_width_80: 'form-label-80',\n label_width_90: 'form-label-90',\n label_width_100: 'form-label-100',\n label_width_110: 'form-label-110',\n label_width_120: 'form-label-120',\n label_width_130: 'form-label-130',\n label_width_140: 'form-label-140',\n label_width_150: 'form-label-150',\n label_width_160: 'form-label-160',\n label_width_170: 'form-label-170',\n label_width_180: 'form-label-180',\n label_width_190: 'form-label-190',\n label_width_200: 'form-label-200',\n label_width_auto: 'form-label-auto',\n label_align_left: 'form-label-align-left',\n label_align_right: 'form-label-align-right',\n label_value_vertical: 'form-label-value-vertical',\n};\n\n/**\n * 使用在Form.Item组件上,预定义form-item label宽度\n */\nexport const formItemClassName = {\n label_width_70: 'form-item-label-70',\n label_width_80: 'form-item-label-80',\n label_width_90: 'form-item-label-90',\n label_width_100: 'form-item-label-100',\n label_width_110: 'form-item-label-110',\n label_width_120: 'form-item-label-120',\n label_width_130: 'form-item-label-130',\n label_width_140: 'form-item-label-140',\n label_width_150: 'form-item-label-150',\n label_width_160: 'form-item-label-160',\n label_width_170: 'form-item-label-170',\n label_width_180: 'form-item-label-180',\n label_width_190: 'form-item-label-190',\n label_width_200: 'form-item-label-200',\n label_width_auto: 'form-item-label-auto',\n label_align_left: 'form-item-label-align-left',\n label_align_right: 'form-item-label-align-right',\n label_value_vertical: 'form-item-label-value-vertical',\n};\n","import { formClassName, formItemClassName } from './form';\n\n/**\n * 预定义className\n * ```\n * form: 使用在Form组件上,设置form-item label宽度\n * formItem: 使用在Form.Item组件上,设置form-item label宽度\n * ```\n */\nexport const preDefinedClassName = {\n form: formClassName,\n formItem: formItemClassName,\n};\n"],"names":["formClassName","label_width_70","label_width_80","label_width_90","label_width_100","label_width_110","label_width_120","label_width_130","label_width_140","label_width_150","label_width_160","label_width_170","label_width_180","label_width_190","label_width_200","label_width_auto","label_align_left","label_align_right","label_value_vertical","formItemClassName","preDefinedClassName","form","formItem"],"mappings":";AAIO,IAAMA,EAAgB,CAC3BC,eAAgB,gBAChBC,eAAgB,gBAChBC,eAAgB,gBAChBC,gBAAiB,iBACjBC,gBAAiB,iBACjBC,gBAAiB,iBACjBC,gBAAiB,iBACjBC,gBAAiB,iBACjBC,gBAAiB,iBACjBC,gBAAiB,iBACjBC,gBAAiB,iBACjBC,gBAAiB,iBACjBC,gBAAiB,iBACjBC,gBAAiB,iBACjBC,iBAAkB,kBAClBC,iBAAkB,wBAClBC,kBAAmB,yBACnBC,qBAAsB,6BAMjB,IAAMC,EAAoB,CAC/BlB,eAAgB,qBAChBC,eAAgB,qBAChBC,eAAgB,qBAChBC,gBAAiB,sBACjBC,gBAAiB,sBACjBC,gBAAiB,sBACjBC,gBAAiB,sBACjBC,gBAAiB,sBACjBC,gBAAiB,sBACjBC,gBAAiB,sBACjBC,gBAAiB,sBACjBC,gBAAiB,sBACjBC,gBAAiB,sBACjBC,gBAAiB,sBACjBC,iBAAkB,uBAClBC,iBAAkB,6BAClBC,kBAAmB,8BACnBC,qBAAsB,kCCrCjB,IAAME,EAAsB,CACjCC,KAAMrB,EACNsB,SAAUH"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/pre-defined-class-name/form/index.tsx","@flatbiz/antd/src/pre-defined-class-name/index.ts"],"sourcesContent":["import './style.less';\n/**\n * 使用在Form组件上,预定义form-item label宽度\n */\nexport const formClassName = {\n label_width_70: 'form-label-70',\n label_width_80: 'form-label-80',\n label_width_90: 'form-label-90',\n label_width_100: 'form-label-100',\n label_width_110: 'form-label-110',\n label_width_120: 'form-label-120',\n label_width_130: 'form-label-130',\n label_width_140: 'form-label-140',\n label_width_150: 'form-label-150',\n label_width_160: 'form-label-160',\n label_width_170: 'form-label-170',\n label_width_180: 'form-label-180',\n label_width_190: 'form-label-190',\n label_width_200: 'form-label-200',\n label_width_auto: 'form-label-auto',\n label_align_left: 'form-label-align-left',\n label_align_right: 'form-label-align-right',\n label_value_vertical: 'form-label-value-vertical',\n /** formItem之间的垂直间距为15 */\n formItemGap15: 'form-formitem-gap-15',\n /** formItem之间的垂直间距为8 */\n formItemGap8: 'form-formitem-gap-8',\n};\n/**\n * 使用在Form.Item组件上,预定义form-item label宽度\n */\nexport const formItemClassName = {\n label_width_70: 'form-item-label-70',\n label_width_80: 'form-item-label-80',\n label_width_90: 'form-item-label-90',\n label_width_100: 'form-item-label-100',\n label_width_110: 'form-item-label-110',\n label_width_120: 'form-item-label-120',\n label_width_130: 'form-item-label-130',\n label_width_140: 'form-item-label-140',\n label_width_150: 'form-item-label-150',\n label_width_160: 'form-item-label-160',\n label_width_170: 'form-item-label-170',\n label_width_180: 'form-item-label-180',\n label_width_190: 'form-item-label-190',\n label_width_200: 'form-item-label-200',\n label_width_auto: 'form-item-label-auto',\n label_align_left: 'form-item-label-align-left',\n label_align_right: 'form-item-label-align-right',\n label_value_vertical: 'form-item-label-value-vertical',\n};\n","import { formClassName, formItemClassName } from './form';\n\n/**\n * 预定义className\n * ```\n * form: 使用在Form组件上,设置form-item label宽度\n * formItem: 使用在Form.Item组件上,设置form-item label宽度\n * ```\n */\nexport const preDefinedClassName = {\n form: formClassName,\n formItem: formItemClassName,\n};\n"],"names":["formClassName","label_width_70","label_width_80","label_width_90","label_width_100","label_width_110","label_width_120","label_width_130","label_width_140","label_width_150","label_width_160","label_width_170","label_width_180","label_width_190","label_width_200","label_width_auto","label_align_left","label_align_right","label_value_vertical","formItemGap15","formItemGap8","formItemClassName","preDefinedClassName","form","formItem"],"mappings":";AAIO,IAAMA,EAAgB,CAC3BC,eAAgB,gBAChBC,eAAgB,gBAChBC,eAAgB,gBAChBC,gBAAiB,iBACjBC,gBAAiB,iBACjBC,gBAAiB,iBACjBC,gBAAiB,iBACjBC,gBAAiB,iBACjBC,gBAAiB,iBACjBC,gBAAiB,iBACjBC,gBAAiB,iBACjBC,gBAAiB,iBACjBC,gBAAiB,iBACjBC,gBAAiB,iBACjBC,iBAAkB,kBAClBC,iBAAkB,wBAClBC,kBAAmB,yBACnBC,qBAAsB,4BAEtBC,cAAe,uBAEfC,aAAc,uBAKT,IAAMC,EAAoB,CAC/BpB,eAAgB,qBAChBC,eAAgB,qBAChBC,eAAgB,qBAChBC,gBAAiB,sBACjBC,gBAAiB,sBACjBC,gBAAiB,sBACjBC,gBAAiB,sBACjBC,gBAAiB,sBACjBC,gBAAiB,sBACjBC,gBAAiB,sBACjBC,gBAAiB,sBACjBC,gBAAiB,sBACjBC,gBAAiB,sBACjBC,gBAAiB,sBACjBC,iBAAkB,uBAClBC,iBAAkB,6BAClBC,kBAAmB,8BACnBC,qBAAsB,kCCxCjB,IAAMI,EAAsB,CACjCC,KAAMvB,EACNwB,SAAUH"}
@@ -11,5 +11,5 @@ import './../flex-layout/index.css';
11
11
  import './../tag-list-select/index.css';
12
12
  import './index.css';
13
13
  /*! @flatjs/forge MIT @flatbiz/antd */
14
- import{isString as r}from"@dimjs/lang/cjs/is-string";import{isObject as e}from"@dimjs/lang/cjs/is-object";import{get as t}from"@dimjs/utils/cjs/get";import{isPlainObject as n}from"@dimjs/lang/cjs/is-plain-object";import{_ as i}from"../_rollupPluginBabelHelpers-fc015ef2.js";import{isEmpty as o}from"@dimjs/lang/cjs/is-empty";import{isNumber as a,isUndefinedOrNull as l,getStrByteLen as s,cutString as u,flatbizDate as c,flatbizPrice as m}from"@flatbiz/utils";import{Tooltip as p,Space as d}from"antd";import{Fragment as f}from"react";import{ButtonOperate as j}from"../button-operate/index.js";import{TagListSelect as v}from"../tag-list-select/index.js";import{jsx as g}from"react/jsx-runtime";import"@ant-design/icons/es/icons/MoreOutlined";import"@dimjs/lang/cjs/is-undefined";import"@dimjs/utils/cjs/class-names";import"@dimjs/lang/cjs/is-promise";import"@wove/react/cjs/hooks";import"../button-wrapper/index.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"../config-provider-wrapper/index.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"../fba-hooks/index.js";import"@dimjs/lang/cjs/is-array";import"../use-responsive-point-21b8c601.js";import"../fba-utils/index.js";import"../dropdown-menu-wrapper/index.js";import"@ant-design/icons/es/icons/ExclamationCircleFilled";import"../dialog-confirm/index.js";import"../dialog-modal/index.js";import"ahooks";import"react-dom/client";import"../flex-layout/index.js";var x=function r(e,t){return function(r){if(o(r)||r==="")return t;if(a(r))return r;var n=r.toString();var i=l(e)?10:e;var c=s(n);if(c<=i*2){return n}return g(p,{placement:"topLeft",title:n,children:u(n,i*2)})}};var h=function r(e){return function(r,t,n){var o=e(t,n);return g(j,i({},o))}};var y=function r(e,t){return function(r){if(o(r)||r==="")return t;try{return c.format(new Date(r),e)}catch(e){return r||t}}};var w=function r(e,t){return function(r,n,i){if(t&&e){return(e-1)*t+i+1}return i+1}};var b=function r(e){return function(r,t,n){var i=(e==null?void 0:e())||{},o=i.pageNo,a=i.pageSize;if(a&&o){return(o-1)*a+n+1}return n+1}};var C=function r(e,t){return function(r){return g(v,{dataList:e,colorMap:t,value:r,forceMatch:false})}};var k=function r(i,o){return function(r){if(n(r)){var a=t(r,i,o);if(!a)return"";if(e(a))return JSON.stringify(a);return a}return r||o}};var N=function r(e){return function(r){if(l(r)||r===""){if(l(e==null?void 0:e.defaultValue))return undefined;if(a(e==null?void 0:e.defaultValue)){return g("span",{className:"table-fen-color",children:m.format(e==null?void 0:e.defaultValue)})}return g("span",{className:"table-fen-color",children:e==null?void 0:e.defaultValue})}if(!a(r))return r;var t=m.fen2yuan(r);return g("span",{className:"table-fen-color",children:m.format(t,e==null?void 0:e.defaultValue,{separator:(e==null?void 0:e.separator)||false})})}};var O=function e(t){return function(e,n){var i=t==null?void 0:t(n);if(!i)return g(f,{children:e});var o=l(i.showData)?true:i.showData;var a=l(i.notOverflowShowExtra)?true:i.notOverflowShowExtra;var s=l(i.showMaxNumber)?10:i.showMaxNumber;var c=i.extraPosition?i.extraPosition:"after";var m=r(e)?u(e,s*2):e;if(i.extra&&o){if(m===e&&!a){return e}var p=[g("span",{children:m},"1"),g(f,{children:i.extra},"2")];var j=c==="before"?p.reverse():p;return g(d,{onClick:i.onClick,style:{cursor:i.onClick?"pointer":undefined},size:5,children:j.map((function(r,e){return g(f,{children:r},e)}))})}return g("span",{onClick:i.onClick,children:i.extra})}};var S={extraContentRender:O,indexCell:w,serialNumberCell:b,dateCell:y,operateCell:h,tooltipCell:x,selectorCell:C,objectCell:k,fen2yuanCell:N};export{S as tableCellRender};
14
+ import{isString as r}from"@dimjs/lang/cjs/is-string";import{isObject as e}from"@dimjs/lang/cjs/is-object";import{get as n}from"@dimjs/utils/cjs/get";import{isPlainObject as t}from"@dimjs/lang/cjs/is-plain-object";import{_ as i}from"../_rollupPluginBabelHelpers-fc015ef2.js";import{isEmpty as o}from"@dimjs/lang/cjs/is-empty";import{isNumber as a,isUndefinedOrNull as l,getStrByteLen as u,cutString as s,flatbizDate as c,flatbizPrice as d}from"@flatbiz/utils";import{Tooltip as m,Space as f,Badge as p}from"antd";import{Fragment as v}from"react";import{ButtonOperate as j}from"../button-operate/index.js";import{TagListSelect as g}from"../tag-list-select/index.js";import{jsx as x}from"react/jsx-runtime";import"@ant-design/icons/es/icons/MoreOutlined";import"@dimjs/lang/cjs/is-undefined";import"@dimjs/utils/cjs/class-names";import"@dimjs/lang/cjs/is-promise";import"@wove/react/cjs/hooks";import"../button-wrapper/index.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"../config-provider-wrapper/index.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"../fba-hooks/index.js";import"@dimjs/lang/cjs/is-array";import"../use-responsive-point-21b8c601.js";import"../fba-utils/index.js";import"../dropdown-menu-wrapper/index.js";import"@ant-design/icons/es/icons/ExclamationCircleFilled";import"../dialog-confirm/index.js";import"../dialog-modal/index.js";import"ahooks";import"react-dom/client";import"../flex-layout/index.js";var h=function r(e,n){return function(r){if(o(r)||r==="")return n;if(a(r))return r;var t=r.toString();var i=l(e)?10:e;var c=u(t);if(c<=i*2){return t}return x(m,{placement:"topLeft",title:t,children:s(t,i*2)})}};var b=function r(e){return function(r,n,t){var o=e(n,t);return x(j,i({},o))}};var y=function r(e,n){return function(r){if(o(r)||r==="")return n;try{return c.format(new Date(r),e)}catch(e){return r||n}}};var w=function r(e,n){return function(r,t,i){if(n&&e){return(e-1)*n+i+1}return i+1}};var C=function r(e){return function(r,n,t){var i=(e==null?void 0:e())||{},o=i.pageNo,a=i.pageSize;if(a&&o){return(o-1)*a+t+1}return t+1}};var k=function r(e,n){return function(r){return x(g,{dataList:e,colorMap:n,value:r,forceMatch:false})}};var N=function r(i,o){return function(r){if(t(r)){var a=n(r,i,o);if(!a)return"";if(e(a))return JSON.stringify(a);return a}return r||o}};var O=function r(e){return function(r){if(l(r)||r===""){if(l(e==null?void 0:e.defaultValue))return undefined;if(a(e==null?void 0:e.defaultValue)){return x("span",{className:"table-fen-color",children:d.format(e==null?void 0:e.defaultValue)})}return x("span",{className:"table-fen-color",children:e==null?void 0:e.defaultValue})}if(!a(r))return r;var n=d.fen2yuan(r);return x("span",{className:"table-fen-color",children:d.format(n,e==null?void 0:e.defaultValue,{separator:(e==null?void 0:e.separator)||false})})}};var S=function e(n){return function(e,t){var i=n==null?void 0:n(t);if(!i)return x(v,{children:e});var o=l(i.showData)?true:i.showData;var a=l(i.notOverflowShowExtra)?true:i.notOverflowShowExtra;var u=l(i.showMaxNumber)?10:i.showMaxNumber;var c=i.extraPosition?i.extraPosition:"after";var d=r(e)?s(e,u*2):e;if(i.extra&&o){if(d===e&&!a){return e}var m=[x("span",{children:d},"1"),x(v,{children:i.extra},"2")];var p=c==="before"?m.reverse():m;return x(f,{onClick:i.onClick,style:{cursor:i.onClick?"pointer":undefined},size:5,children:p.map((function(r,e){return x(v,{children:r},e)}))})}return x("span",{onClick:i.onClick,children:i.extra})}};var z=function r(e,n){return function(r){var t=e.find((function(e){return e.value===r}));if(t)return x(p,{color:(t==null?void 0:t.color)||(n==null?void 0:n[r])||"rgba(0, 0, 0, 0.25)",text:t==null?void 0:t.label});return r}};var M={extraContentRender:S,indexCell:w,serialNumberCell:C,dateCell:y,operateCell:b,tooltipCell:h,selectorCell:k,objectCell:N,fen2yuanCell:O,badgeCell:z};export{M as tableCellRender};
15
15
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/table-cell-render/cell-render.tsx"],"sourcesContent":["import { isEmpty, isObject, isPlainObject, isString } from '@dimjs/lang';\nimport { get } from '@dimjs/utils';\nimport {\n cutString,\n DateFormatType,\n flatbizDate,\n flatbizPrice,\n getStrByteLen,\n isNumber,\n isUndefinedOrNull,\n TAny,\n TPlainObject,\n} from '@flatbiz/utils';\nimport { Space, Tooltip } from 'antd';\nimport { Fragment, ReactElement } from 'react';\nimport { ButtonOperate, ButtonOperateProps } from '../button-operate';\nimport { TagListSelect, TagListSelectProps } from '../tag-list-select';\nimport './style.less';\n\nconst tableColumnTooltipRender = (showMaxNumber?: number, defaultValue?: string) => {\n return (value: string | number) => {\n if (isEmpty(value) || value === '') return defaultValue;\n if (isNumber(value)) return value;\n const colunmText = value.toString();\n const maxNumber = (isUndefinedOrNull(showMaxNumber) ? 10 : showMaxNumber) as number;\n const strByteLen = getStrByteLen(colunmText);\n if (strByteLen <= maxNumber * 2) {\n return colunmText;\n }\n return (\n <Tooltip placement=\"topLeft\" title={colunmText}>\n {cutString(colunmText, maxNumber * 2)}\n </Tooltip>\n );\n };\n};\n\nconst tableColumnOperateRender = (options: (item: TAny, index: number) => ButtonOperateProps) => {\n return (_value: string | number, record, index: number) => {\n const operateProps = options(record, index);\n return <ButtonOperate {...operateProps} />;\n };\n};\n\nconst tableColumnDateRender = (dateFormatType?: DateFormatType, defaultValue?: string) => {\n return (value: string | number) => {\n if (isEmpty(value) || value === '') return defaultValue;\n try {\n return flatbizDate.format(new Date(value), dateFormatType);\n } catch (error) {\n return value || defaultValue;\n }\n };\n};\n\n/**\n * table 索引展示,如果存在pageSize、pageNo参数可分页展示索引,否则每页都从1开始\n * @param pageSize\n * @param pageNo\n * @returns\n */\nconst tableColumnIndexRender = (pageNo?: number, pageSize?: number) => {\n return (_value, _record, index: number) => {\n if (pageSize && pageNo) {\n return (pageNo - 1) * pageSize + index + 1;\n }\n return index + 1;\n };\n};\nconst tableColumnIndexRender2 = (method?: () => { pageNo?: number; pageSize?: number }) => {\n return (_value, _record, index: number) => {\n const { pageNo, pageSize } = method?.() || {};\n if (pageSize && pageNo) {\n return (pageNo - 1) * pageSize + index + 1;\n }\n return index + 1;\n };\n};\n\nconst tableColumnSelectorRender = (\n selectorList: TagListSelectProps['dataList'],\n colorMap?: TagListSelectProps['colorMap'],\n) => {\n return (value: string | number) => {\n return <TagListSelect dataList={selectorList} colorMap={colorMap} value={value} forceMatch={false} />;\n };\n};\n\nconst tableColumnObjectRender = (key: string, defaultValue?: string) => {\n return (value?: TPlainObject) => {\n if (isPlainObject(value)) {\n const target = get(value, key, defaultValue);\n if (!target) return '';\n if (isObject(target)) return JSON.stringify(target);\n return target;\n }\n return value || defaultValue;\n };\n};\n\nconst tableColumnFen2yuanCellRender = (options?: {\n /** 是否显示分隔符,默认值:false */\n separator?: boolean;\n defaultValue?: string | number;\n}) => {\n return (value?: string | number) => {\n if (isUndefinedOrNull(value) || value === '') {\n if (isUndefinedOrNull(options?.defaultValue)) return undefined;\n if (isNumber(options?.defaultValue as string | number)) {\n return <span className=\"table-fen-color\">{flatbizPrice.format(options?.defaultValue)}</span>;\n }\n return <span className=\"table-fen-color\">{options?.defaultValue}</span>;\n }\n if (!isNumber(value as number | string)) return value;\n const amount = flatbizPrice.fen2yuan(value);\n return (\n <span className=\"table-fen-color\">\n {flatbizPrice.format(amount, options?.defaultValue, { separator: options?.separator || false })}\n </span>\n );\n };\n};\n\ntype TableColumnIconRenderProps = {\n /** 额外内容,一般为Icon */\n extra: ReactElement;\n extraPosition?: 'before' | 'after';\n onClick?: (e) => void;\n /** 是否显示原单元格数据,默认值:true */\n showData?: boolean;\n /** 溢出显示【...】, 最大长度(默认:20个字节) */\n showMaxNumber?: number;\n /** 未溢出显示【extra】配置,默认值:true */\n notOverflowShowExtra?: boolean;\n};\n\nconst tableColumnExtraContentRender = (handle: (item: TPlainObject) => TableColumnIconRenderProps) => {\n return (value: TAny, item: TPlainObject) => {\n const options = handle?.(item);\n if (!options) return <Fragment>{value}</Fragment>;\n const showData = isUndefinedOrNull(options.showData) ? true : options.showData;\n const notOverflowShowExtra = isUndefinedOrNull(options.notOverflowShowExtra)\n ? true\n : options.notOverflowShowExtra;\n const showMaxNumber = isUndefinedOrNull(options.showMaxNumber) ? 10 : (options.showMaxNumber as number);\n const extraPosition = options.extraPosition ? options.extraPosition : 'after';\n const renderValue = isString(value) ? cutString(value, showMaxNumber * 2) : value;\n\n if (options.extra && showData) {\n if (renderValue === value && !notOverflowShowExtra) {\n return value;\n }\n const spaceContent = [<span key=\"1\">{renderValue}</span>, <Fragment key=\"2\">{options.extra}</Fragment>];\n const spaceContentRender = extraPosition === 'before' ? spaceContent.reverse() : spaceContent;\n return (\n <Space onClick={options.onClick} style={{ cursor: options.onClick ? 'pointer' : undefined }} size={5}>\n {spaceContentRender.map((item, index) => {\n return <Fragment key={index}>{item}</Fragment>;\n })}\n </Space>\n );\n }\n return <span onClick={options.onClick}>{options.extra}</span>;\n };\n};\n\nexport const tableCellRender = {\n /**\n * 表格单元格 拼接额外内容渲染\n * ```\n * 1. extra 额外内容\n * 2. showData 是否显示原单元格数据,默认值:true\n * 3. showMaxNumber 显示最大长度,作用于原单元格字符串数据\n * ```\n */\n extraContentRender: tableColumnExtraContentRender,\n /**\n * table 索引展示,如果存在pageSize、pageNo参数可分页展示索引,否则每页都从1开始\n * @deprecated 已过时 4.3.0版本移除,请使用 serialNumberCell\n */\n indexCell: tableColumnIndexRender,\n /**\n * table 序号展示,如果存在pageSize、pageNo参数可分页展示累加序号,否则每页都从1开始\n * ```\n * render: tableCellRender.serialNumberCell(() => {\n * return { pageNo,pageSize };\n * }),\n * ```\n */\n serialNumberCell: tableColumnIndexRender2,\n /**\n * 表格日期格式数据渲染,默认格式:YYYY-MM-DD\n * ```\n * dateFormatType: 日期格式\n * ```\n */\n dateCell: tableColumnDateRender,\n /**\n * table操作栏目渲染\n * ```\n * 使用方式\n * tableCellRender.operateCell((item) => ({\n * operateList: [\n * {\n * text: '编辑',\n * onClick: onItemOperate.bind(null, 'update', item),\n * permission: SystemAdminPermissionEnum.system_admin_edit,\n * },\n * {\n * text: '删除',\n * needConfirm: true,\n * confirmMessage: '确定要删除吗?',\n * onClick: onItemOperate.bind(null, 'delete', item),\n * permission: SystemAdminPermissionEnum.system_admin_delete,\n * },\n * ],\n * }))\n * ```\n */\n operateCell: tableColumnOperateRender,\n /**\n * 实现字段超出隐藏,默认长度10个字符\n * ```\n * 1. showMaxNumber: 显示最大长度\n * 2. 会讲字符转出字节进行计算显示\n * ```\n */\n tooltipCell: tableColumnTooltipRender,\n /**\n * ```\n * 使用方式1\n * tableCellRender.selectorCell([{ label: '已开启', value: 1, color: '#108ee9' }])\n *\n * 使用方式2\n * tableCellRender.selectorCell([{ label: '已开启', value: 1 }], { 1: '#108ee9' })\n * ```\n */\n selectorCell: tableColumnSelectorRender,\n /**\n * 单元格对象数据处理,支持多级处理\n * ```\n * tableCellRender.objectCell('a.b.c')\n * ```\n */\n objectCell: tableColumnObjectRender,\n /**\n * 分金额展示,入参分,显示元(默认添加千分位)\n * ```\n * 可配置\n * 1. separator:是否显示千分位分隔符,默认值:false\n * 2. defaultValue:当值为空默认展示\n *\n * 例如:\n * fen2yuanCell()(100090) => 1000.90\n * fen2yuanCell({separator: true})(100090) => 1,000.90\n * fen2yuanCell()('abc') => abc\n * fen2yuanCell({defaultValue: '--'})('') => --\n * fen2yuanCell()('') => undefined\n * fen2yuanCell({ defaultValue: 0 })('') => 0.00\n * ```\n */\n fen2yuanCell: tableColumnFen2yuanCellRender,\n};\n"],"names":["tableColumnTooltipRender","showMaxNumber","defaultValue","value","_isEmpty","isNumber","colunmText","toString","maxNumber","isUndefinedOrNull","strByteLen","getStrByteLen","_jsx","Tooltip","placement","title","children","cutString","tableColumnOperateRender","options","_value","record","index","operateProps","ButtonOperate","_extends","tableColumnDateRender","dateFormatType","flatbizDate","format","Date","error","tableColumnIndexRender","pageNo","pageSize","_record","tableColumnIndexRender2","method","_ref","tableColumnSelectorRender","selectorList","colorMap","TagListSelect","dataList","forceMatch","tableColumnObjectRender","key","_isPlainObject","target","_get","_isObject","JSON","stringify","tableColumnFen2yuanCellRender","undefined","className","flatbizPrice","amount","fen2yuan","separator","tableColumnExtraContentRender","handle","item","Fragment","showData","notOverflowShowExtra","extraPosition","renderValue","_isString","extra","spaceContent","spaceContentRender","reverse","Space","onClick","style","cursor","size","map","tableCellRender","extraContentRender","indexCell","serialNumberCell","dateCell","operateCell","tooltipCell","selectorCell","objectCell","fen2yuanCell"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/table-cell-render/cell-render.tsx"],"sourcesContent":["import { isEmpty, isObject, isPlainObject, isString } from '@dimjs/lang';\nimport { get } from '@dimjs/utils';\nimport {\n cutString,\n DateFormatType,\n flatbizDate,\n flatbizPrice,\n getStrByteLen,\n isNumber,\n isUndefinedOrNull,\n TAny,\n TPlainObject,\n} from '@flatbiz/utils';\nimport { Badge, Space, Tooltip } from 'antd';\nimport { Fragment, ReactElement } from 'react';\nimport { ButtonOperate, ButtonOperateProps } from '../button-operate';\nimport { TagListSelect, TagListSelectProps, TagListSelectValue } from '../tag-list-select';\nimport './style.less';\n\nconst tableColumnTooltipRender = (showMaxNumber?: number, defaultValue?: string) => {\n return (value: string | number) => {\n if (isEmpty(value) || value === '') return defaultValue;\n if (isNumber(value)) return value;\n const colunmText = value.toString();\n const maxNumber = (isUndefinedOrNull(showMaxNumber) ? 10 : showMaxNumber) as number;\n const strByteLen = getStrByteLen(colunmText);\n if (strByteLen <= maxNumber * 2) {\n return colunmText;\n }\n return (\n <Tooltip placement=\"topLeft\" title={colunmText}>\n {cutString(colunmText, maxNumber * 2)}\n </Tooltip>\n );\n };\n};\n\nconst tableColumnOperateRender = (options: (item: TAny, index: number) => ButtonOperateProps) => {\n return (_value: string | number, record, index: number) => {\n const operateProps = options(record, index);\n return <ButtonOperate {...operateProps} />;\n };\n};\n\nconst tableColumnDateRender = (dateFormatType?: DateFormatType, defaultValue?: string) => {\n return (value: string | number) => {\n if (isEmpty(value) || value === '') return defaultValue;\n try {\n return flatbizDate.format(new Date(value), dateFormatType);\n } catch (error) {\n return value || defaultValue;\n }\n };\n};\n\n/**\n * table 索引展示,如果存在pageSize、pageNo参数可分页展示索引,否则每页都从1开始\n * @param pageSize\n * @param pageNo\n * @returns\n */\nconst tableColumnIndexRender = (pageNo?: number, pageSize?: number) => {\n return (_value, _record, index: number) => {\n if (pageSize && pageNo) {\n return (pageNo - 1) * pageSize + index + 1;\n }\n return index + 1;\n };\n};\nconst tableColumnIndexRender2 = (method?: () => { pageNo?: number; pageSize?: number }) => {\n return (_value, _record, index: number) => {\n const { pageNo, pageSize } = method?.() || {};\n if (pageSize && pageNo) {\n return (pageNo - 1) * pageSize + index + 1;\n }\n return index + 1;\n };\n};\n\nconst tableColumnSelectorRender = (\n selectorList: TagListSelectProps['dataList'],\n colorMap?: TagListSelectProps['colorMap'],\n) => {\n return (value: string | number) => {\n return <TagListSelect dataList={selectorList} colorMap={colorMap} value={value} forceMatch={false} />;\n };\n};\n\nconst tableColumnObjectRender = (key: string, defaultValue?: string) => {\n return (value?: TPlainObject) => {\n if (isPlainObject(value)) {\n const target = get(value, key, defaultValue);\n if (!target) return '';\n if (isObject(target)) return JSON.stringify(target);\n return target;\n }\n return value || defaultValue;\n };\n};\n\nconst tableColumnFen2yuanCellRender = (options?: {\n /** 是否显示分隔符,默认值:false */\n separator?: boolean;\n defaultValue?: string | number;\n}) => {\n return (value?: string | number) => {\n if (isUndefinedOrNull(value) || value === '') {\n if (isUndefinedOrNull(options?.defaultValue)) return undefined;\n if (isNumber(options?.defaultValue as string | number)) {\n return <span className=\"table-fen-color\">{flatbizPrice.format(options?.defaultValue)}</span>;\n }\n return <span className=\"table-fen-color\">{options?.defaultValue}</span>;\n }\n if (!isNumber(value as number | string)) return value;\n const amount = flatbizPrice.fen2yuan(value);\n return (\n <span className=\"table-fen-color\">\n {flatbizPrice.format(amount, options?.defaultValue, { separator: options?.separator || false })}\n </span>\n );\n };\n};\n\ntype TableColumnIconRenderProps = {\n /** 额外内容,一般为Icon */\n extra: ReactElement;\n extraPosition?: 'before' | 'after';\n onClick?: (e) => void;\n /** 是否显示原单元格数据,默认值:true */\n showData?: boolean;\n /** 溢出显示【...】, 最大长度(默认:20个字节) */\n showMaxNumber?: number;\n /** 未溢出显示【extra】配置,默认值:true */\n notOverflowShowExtra?: boolean;\n};\n\nconst tableColumnExtraContentRender = (handle: (item: TPlainObject) => TableColumnIconRenderProps) => {\n return (value: TAny, item: TPlainObject) => {\n const options = handle?.(item);\n if (!options) return <Fragment>{value}</Fragment>;\n const showData = isUndefinedOrNull(options.showData) ? true : options.showData;\n const notOverflowShowExtra = isUndefinedOrNull(options.notOverflowShowExtra)\n ? true\n : options.notOverflowShowExtra;\n const showMaxNumber = isUndefinedOrNull(options.showMaxNumber) ? 10 : (options.showMaxNumber as number);\n const extraPosition = options.extraPosition ? options.extraPosition : 'after';\n const renderValue = isString(value) ? cutString(value, showMaxNumber * 2) : value;\n\n if (options.extra && showData) {\n if (renderValue === value && !notOverflowShowExtra) {\n return value;\n }\n const spaceContent = [<span key=\"1\">{renderValue}</span>, <Fragment key=\"2\">{options.extra}</Fragment>];\n const spaceContentRender = extraPosition === 'before' ? spaceContent.reverse() : spaceContent;\n return (\n <Space onClick={options.onClick} style={{ cursor: options.onClick ? 'pointer' : undefined }} size={5}>\n {spaceContentRender.map((item, index) => {\n return <Fragment key={index}>{item}</Fragment>;\n })}\n </Space>\n );\n }\n return <span onClick={options.onClick}>{options.extra}</span>;\n };\n};\n\nconst tableColumnBadgeRender = (\n selectorList: { label: string; value: TagListSelectValue; color?: string }[],\n colorMap?: Record<string | string, string>,\n) => {\n return (value: string | number) => {\n const target = selectorList.find((item) => item.value === value);\n if (target)\n return (\n <Badge color={target?.color || colorMap?.[value] || 'rgba(0, 0, 0, 0.25)'} text={target?.label} />\n );\n return value;\n };\n};\n\nexport const tableCellRender = {\n /**\n * 表格单元格 拼接额外内容渲染\n * ```\n * 1. extra 额外内容\n * 2. showData 是否显示原单元格数据,默认值:true\n * 3. showMaxNumber 显示最大长度,作用于原单元格字符串数据\n * ```\n */\n extraContentRender: tableColumnExtraContentRender,\n /**\n * table 索引展示,如果存在pageSize、pageNo参数可分页展示索引,否则每页都从1开始\n * @deprecated 已过时 4.3.0版本移除,请使用 serialNumberCell\n */\n indexCell: tableColumnIndexRender,\n /**\n * table 序号展示,如果存在pageSize、pageNo参数可分页展示累加序号,否则每页都从1开始\n * ```\n * render: tableCellRender.serialNumberCell(() => {\n * return { pageNo,pageSize };\n * }),\n * ```\n */\n serialNumberCell: tableColumnIndexRender2,\n /**\n * 表格日期格式数据渲染,默认格式:YYYY-MM-DD\n * ```\n * dateFormatType: 日期格式\n * ```\n */\n dateCell: tableColumnDateRender,\n /**\n * table操作栏目渲染\n * ```\n * 使用方式\n * tableCellRender.operateCell((item) => ({\n * operateList: [\n * {\n * text: '编辑',\n * onClick: onItemOperate.bind(null, 'update', item),\n * permission: SystemAdminPermissionEnum.system_admin_edit,\n * },\n * {\n * text: '删除',\n * needConfirm: true,\n * confirmMessage: '确定要删除吗?',\n * onClick: onItemOperate.bind(null, 'delete', item),\n * permission: SystemAdminPermissionEnum.system_admin_delete,\n * },\n * ],\n * }))\n * ```\n */\n operateCell: tableColumnOperateRender,\n /**\n * 实现字段超出隐藏,默认长度10个字符\n * ```\n * 1. showMaxNumber: 显示最大长度\n * 2. 会讲字符转出字节进行计算显示\n * ```\n */\n tooltipCell: tableColumnTooltipRender,\n /**\n * ```\n * 独立使用\n * tableCellRender.selectorCell([{ label: '已开启', value: 1 }])(value)\n * tableCellRender.selectorCell([{ label: '已开启', value: 1, color: '#108ee9' }])(value)\n * tableCellRender.selectorCell([{ label: '已开启', value: 1 }], { 1: '#108ee9' })(value)\n *\n * 结合table column render 使用\n * render: tableCellRender.selectorCell([{ label: '已开启', value: 1 ])\n * render: (value) => {\n * return tableCellRender.selectorCell([{ label: '已开启', value: 1 ])(value)\n * }\n * ```\n */\n selectorCell: tableColumnSelectorRender,\n /**\n * 单元格对象数据处理,支持多级处理\n * ```\n * tableCellRender.objectCell('a.b.c')\n * ```\n */\n objectCell: tableColumnObjectRender,\n /**\n * 分金额展示,入参分,显示元(默认添加千分位)\n * ```\n * 可配置\n * 1. separator:是否显示千分位分隔符,默认值:false\n * 2. defaultValue:当值为空默认展示\n *\n * 例如:\n * fen2yuanCell()(100090) => 1000.90\n * fen2yuanCell({separator: true})(100090) => 1,000.90\n * fen2yuanCell()('abc') => abc\n * fen2yuanCell({defaultValue: '--'})('') => --\n * fen2yuanCell()('') => undefined\n * fen2yuanCell({ defaultValue: 0 })('') => 0.00\n * ```\n */\n fen2yuanCell: tableColumnFen2yuanCellRender,\n /**\n * 单元格徽标展示数据\n * ```\n * 1. badge 默认颜色:灰色rgba(0, 0, 0, 0.25)\n *\n * 独立使用\n * tableCellRender.badgeCell([{ label: '已开启', value: 1 ])(value)\n * tableCellRender.badgeCell([{ label: '已开启', value: 1, color: '#108ee9' }])(value)\n * tableCellRender.badgeCell([{ label: '已开启', value: 1 }], { 1: '#108ee9' })(value)\n *\n * 结合table column render 使用\n * render: tableCellRender.badgeCell([{ label: '已开启', value: 1 ])\n * render: (value) => {\n * return tableCellRender.badgeCell([{ label: '已开启', value: 1 ])(value)\n * }\n * ```\n */\n badgeCell: tableColumnBadgeRender,\n};\n"],"names":["tableColumnTooltipRender","showMaxNumber","defaultValue","value","_isEmpty","isNumber","colunmText","toString","maxNumber","isUndefinedOrNull","strByteLen","getStrByteLen","_jsx","Tooltip","placement","title","children","cutString","tableColumnOperateRender","options","_value","record","index","operateProps","ButtonOperate","_extends","tableColumnDateRender","dateFormatType","flatbizDate","format","Date","error","tableColumnIndexRender","pageNo","pageSize","_record","tableColumnIndexRender2","method","_ref","tableColumnSelectorRender","selectorList","colorMap","TagListSelect","dataList","forceMatch","tableColumnObjectRender","key","_isPlainObject","target","_get","_isObject","JSON","stringify","tableColumnFen2yuanCellRender","undefined","className","flatbizPrice","amount","fen2yuan","separator","tableColumnExtraContentRender","handle","item","Fragment","showData","notOverflowShowExtra","extraPosition","renderValue","_isString","extra","spaceContent","spaceContentRender","reverse","Space","onClick","style","cursor","size","map","tableColumnBadgeRender","find","Badge","color","text","label","tableCellRender","extraContentRender","indexCell","serialNumberCell","dateCell","operateCell","tooltipCell","selectorCell","objectCell","fen2yuanCell","badgeCell"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/table-title-tooltip/title-render.tsx"],"sourcesContent":["import { QuestionCircleOutlined } from '@ant-design/icons';\nimport { isUndefinedOrNull } from '@flatbiz/utils';\nimport { Space, Tooltip } from 'antd';\nimport { CSSProperties, ReactElement } from 'react';\n\nexport type TableTitleTooltipProps = {\n title: string;\n tooltip: string | { icon?: ReactElement; content?: string; hoverArea?: 'icon' | 'all' };\n // 间隙,默认值:3\n gap?: number;\n className?: string;\n style?: CSSProperties;\n};\n\n/**\n * title + tooltip\n * @param props\n * @returns\n */\nexport const TableTitleTooltip = (props: TableTitleTooltipProps) => {\n const tooltip = props.tooltip;\n const gap = isUndefinedOrNull(props.gap) ? 3 : props.gap;\n if (typeof tooltip === 'string') {\n return (\n <Space size={gap} className={props.className} style={props.style}>\n <span>{props.title}</span>\n <Tooltip title={tooltip}>\n <span style={{ opacity: 0.7 }}>\n <QuestionCircleOutlined />\n </span>\n </Tooltip>\n </Space>\n );\n }\n const hoverArea = isUndefinedOrNull(tooltip.hoverArea) ? 'icon' : tooltip.hoverArea;\n if (hoverArea === 'icon') {\n return (\n <Space size={gap} className={props.className} style={props.style}>\n <span>{props.title}</span>\n <Tooltip title={tooltip.content}>\n <span>{tooltip.icon || <QuestionCircleOutlined />}</span>\n </Tooltip>\n </Space>\n );\n }\n return (\n <Tooltip title={tooltip.content}>\n <Space size={gap} className={props.className} style={props.style}>\n <span>{props.title}</span>\n <span>{tooltip.icon || <QuestionCircleOutlined />}</span>\n </Space>\n </Tooltip>\n );\n};\n"],"names":["TableTitleTooltip","props","tooltip","gap","isUndefinedOrNull","_jsxs","Space","size","className","style","children","_jsx","title","Tooltip","opacity","_QuestionCircleOutlined","hoverArea","content","icon"],"mappings":";oNAmBaA,EAAoB,SAApBA,EAAqBC,GAChC,IAAMC,EAAUD,EAAMC,QACtB,IAAMC,EAAMC,EAAkBH,EAAME,KAAO,EAAIF,EAAME,IACrD,UAAWD,IAAY,SAAU,CAC/B,OACEG,EAACC,EAAK,CAACC,KAAMJ,EAAKK,UAAWP,EAAMO,UAAWC,MAAOR,EAAMQ,MAAMC,UAC/DC,EAAA,OAAA,CAAAD,SAAOT,EAAMW,QACbD,EAACE,EAAO,CAACD,MAAOV,EAAQQ,SACtBC,EAAA,OAAA,CAAMF,MAAO,CAAEK,QAAS,IAAMJ,SAC5BC,EAAAI,EAAyB,UAKnC,CACA,IAAMC,EAAYZ,EAAkBF,EAAQc,WAAa,OAASd,EAAQc,UAC1E,GAAIA,IAAc,OAAQ,CACxB,OACEX,EAACC,EAAK,CAACC,KAAMJ,EAAKK,UAAWP,EAAMO,UAAWC,MAAOR,EAAMQ,MAAMC,UAC/DC,EAAA,OAAA,CAAAD,SAAOT,EAAMW,QACbD,EAACE,EAAO,CAACD,MAAOV,EAAQe,QAAQP,SAC9BC,EAAA,OAAA,CAAAD,SAAOR,EAAQgB,MAAQP,EAAAI,EAAyB,CAAA,SAIxD,CACA,OACEJ,EAACE,EAAO,CAACD,MAAOV,EAAQe,QAAQP,SAC9BL,EAACC,EAAK,CAACC,KAAMJ,EAAKK,UAAWP,EAAMO,UAAWC,MAAOR,EAAMQ,MAAMC,UAC/DC,EAAA,OAAA,CAAAD,SAAOT,EAAMW,QACbD,EAAA,OAAA,CAAAD,SAAOR,EAAQgB,MAAQP,EAAAI,EAAyB,CAAA,SAIxD"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/table-title-tooltip/title-render.tsx"],"sourcesContent":["import { QuestionCircleOutlined } from '@ant-design/icons';\nimport { isUndefinedOrNull } from '@flatbiz/utils';\nimport { Space, Tooltip } from 'antd';\nimport { CSSProperties, ReactElement } from 'react';\n\nexport type TableTitleTooltipProps = {\n title: string | ReactElement;\n tooltip: string | { icon?: ReactElement; content?: string; hoverArea?: 'icon' | 'all' };\n // 间隙,默认值:3\n gap?: number;\n className?: string;\n style?: CSSProperties;\n};\n\n/**\n * title + tooltip\n * @param props\n * @returns\n */\nexport const TableTitleTooltip = (props: TableTitleTooltipProps) => {\n const tooltip = props.tooltip;\n const gap = isUndefinedOrNull(props.gap) ? 3 : props.gap;\n if (typeof tooltip === 'string') {\n return (\n <Space size={gap} className={props.className} style={props.style}>\n <span>{props.title}</span>\n <Tooltip title={tooltip}>\n <span style={{ opacity: 0.7 }}>\n <QuestionCircleOutlined />\n </span>\n </Tooltip>\n </Space>\n );\n }\n const hoverArea = isUndefinedOrNull(tooltip.hoverArea) ? 'icon' : tooltip.hoverArea;\n if (hoverArea === 'icon') {\n return (\n <Space size={gap} className={props.className} style={props.style}>\n <span>{props.title}</span>\n <Tooltip title={tooltip.content}>\n <span>{tooltip.icon || <QuestionCircleOutlined />}</span>\n </Tooltip>\n </Space>\n );\n }\n return (\n <Tooltip title={tooltip.content}>\n <Space size={gap} className={props.className} style={props.style}>\n <span>{props.title}</span>\n <span>{tooltip.icon || <QuestionCircleOutlined />}</span>\n </Space>\n </Tooltip>\n );\n};\n"],"names":["TableTitleTooltip","props","tooltip","gap","isUndefinedOrNull","_jsxs","Space","size","className","style","children","_jsx","title","Tooltip","opacity","_QuestionCircleOutlined","hoverArea","content","icon"],"mappings":";oNAmBaA,EAAoB,SAApBA,EAAqBC,GAChC,IAAMC,EAAUD,EAAMC,QACtB,IAAMC,EAAMC,EAAkBH,EAAME,KAAO,EAAIF,EAAME,IACrD,UAAWD,IAAY,SAAU,CAC/B,OACEG,EAACC,EAAK,CAACC,KAAMJ,EAAKK,UAAWP,EAAMO,UAAWC,MAAOR,EAAMQ,MAAMC,UAC/DC,EAAA,OAAA,CAAAD,SAAOT,EAAMW,QACbD,EAACE,EAAO,CAACD,MAAOV,EAAQQ,SACtBC,EAAA,OAAA,CAAMF,MAAO,CAAEK,QAAS,IAAMJ,SAC5BC,EAAAI,EAAyB,UAKnC,CACA,IAAMC,EAAYZ,EAAkBF,EAAQc,WAAa,OAASd,EAAQc,UAC1E,GAAIA,IAAc,OAAQ,CACxB,OACEX,EAACC,EAAK,CAACC,KAAMJ,EAAKK,UAAWP,EAAMO,UAAWC,MAAOR,EAAMQ,MAAMC,UAC/DC,EAAA,OAAA,CAAAD,SAAOT,EAAMW,QACbD,EAACE,EAAO,CAACD,MAAOV,EAAQe,QAAQP,SAC9BC,EAAA,OAAA,CAAAD,SAAOR,EAAQgB,MAAQP,EAAAI,EAAyB,CAAA,SAIxD,CACA,OACEJ,EAACE,EAAO,CAACD,MAAOV,EAAQe,QAAQP,SAC9BL,EAACC,EAAK,CAACC,KAAMJ,EAAKK,UAAWP,EAAMO,UAAWC,MAAOR,EAAMQ,MAAMC,UAC/DC,EAAA,OAAA,CAAAD,SAAOT,EAAMW,QACbD,EAAA,OAAA,CAAAD,SAAOR,EAAQgB,MAAQP,EAAAI,EAAyB,CAAA,SAIxD"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/tag-list-select/tag-list-select.tsx"],"sourcesContent":["import { isUndefinedOrNull, valueIsEqual } from '@flatbiz/utils';\nimport { Tag } from 'antd';\nimport { FC, Fragment, useMemo } from 'react';\n\nexport type TagListSelectValue = string | number | boolean;\nexport type TagListSelectDataItem = { label: string; value: TagListSelectValue; color?: string };\n\nexport type TagListSelectProps = {\n dataList: TagListSelectDataItem[];\n /** 颜色配置数据,例如:{ 1:'red', 2: 'blue'} key值与 dataList中value相同 */\n colorMap?: Record<string, string>;\n value?: TagListSelectValue;\n /** 是否强制匹配,默认值false */\n forceMatch?: boolean;\n};\n\n/**\n * 在列表数据中通过value匹配数据,以Tag形式展示\n * @param props\n * @returns\n * ```\n * 1. forceMatch: 是否强制匹配(默认值false)\n * - false: 匹配不到显示value值,\n * - true:匹配不到不显示\n * 2. value 与 dataList中label、value任一相等,都可匹配\n *\n * 用法1:\n * <TagListSelect\n * dataList=[{ label: '启用', value: 1 }]\n * colorMap={{ 1:'red', 2: 'blue'}}\n * value={1} />\n * =>\n * <Tag color={'red'}>启用</Tag>\n *\n * 用法2\n * <TagListSelect\n * dataList=[{ label: '启用', value: 1. color: 'red' }]\n * value=\"启用\" />\n * =>\n * <Tag color={'red'}>启用</Tag>\n * ```\n */\nexport const TagListSelect: FC<TagListSelectProps> = (props) => {\n const tagItem = useMemo(() => {\n if (isUndefinedOrNull(props.value)) {\n return null;\n }\n if (!props.dataList || props.dataList.length === 0) {\n return { label: `${props.value}` };\n }\n\n const target = props.dataList.find(\n (item) => valueIsEqual(item.value, props.value) || item.label === props.value,\n );\n if (target) {\n return { label: target.label, color: props.colorMap?.[String(target.value)] || target.color };\n }\n if (props.forceMatch) {\n return undefined;\n }\n return { label: `${props.value}` };\n }, [props.colorMap, props.dataList, props.forceMatch, props.value]);\n\n if (!tagItem) {\n return <Fragment>{props.value}</Fragment>;\n }\n\n return (\n <Fragment>{tagItem?.color ? <Tag color={tagItem.color}>{tagItem.label}</Tag> : tagItem?.label}</Fragment>\n );\n};\n\nTagListSelect.defaultProps = {\n forceMatch: false,\n};\n"],"names":["TagListSelect","props","tagItem","useMemo","isUndefinedOrNull","value","dataList","length","label","target","find","item","valueIsEqual","_props$colorMap","color","colorMap","String","forceMatch","undefined","_jsx","Fragment","children","Tag","defaultProps"],"mappings":";0LA0CaA,EAAwC,SAAxCA,EAAyCC,GACpD,IAAMC,EAAUC,GAAQ,WACtB,GAAIC,EAAkBH,EAAMI,OAAQ,CAClC,OAAO,IACT,CACA,IAAKJ,EAAMK,UAAYL,EAAMK,SAASC,SAAW,EAAG,CAClD,MAAO,CAAEC,MAAK,GAAKP,EAAMI,MAC3B,CAEA,IAAMI,EAASR,EAAMK,SAASI,MAC5B,SAACC,GAAI,OAAKC,EAAaD,EAAKN,MAAOJ,EAAMI,QAAUM,EAAKH,QAAUP,EAAMI,KAAK,IAE/E,GAAII,EAAQ,CAAA,IAAAI,EACV,MAAO,CAAEL,MAAOC,EAAOD,MAAOM,QAAOD,EAAAZ,EAAMc,WAANF,UAAAA,EAAAA,EAAiBG,OAAOP,EAAOJ,UAAWI,EAAOK,MACxF,CACA,GAAIb,EAAMgB,WAAY,CACpB,OAAOC,SACT,CACA,MAAO,CAAEV,MAAK,GAAKP,EAAMI,MAC3B,GAAG,CAACJ,EAAMc,SAAUd,EAAMK,SAAUL,EAAMgB,WAAYhB,EAAMI,QAE5D,IAAKH,EAAS,CACZ,OAAOiB,EAACC,EAAQ,CAAAC,SAAEpB,EAAMI,OAC1B,CAEA,OACEc,EAACC,EAAQ,CAAAC,SAAEnB,GAAAA,MAAAA,EAASY,MAAQK,EAACG,EAAG,CAACR,MAAOZ,EAAQY,MAAMO,SAAEnB,EAAQM,QAAeN,GAAO,UAAA,EAAPA,EAASM,OAE5F,EAEAR,EAAcuB,aAAe,CAC3BN,WAAY"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/tag-list-select/tag-list-select.tsx"],"sourcesContent":["import { isUndefinedOrNull, valueIsEqual } from '@flatbiz/utils';\nimport { Tag } from 'antd';\nimport { FC, Fragment, useMemo } from 'react';\n\nexport type TagListSelectValue = string | number | boolean;\nexport type TagListSelectDataItem = { label: string; value: TagListSelectValue; color?: string };\n\nexport type TagListSelectProps = {\n dataList: TagListSelectDataItem[];\n /** 颜色配置数据,例如:{ 1:'red', 2: 'blue'} key值与 dataList中value相同 */\n colorMap?: Record<string | number, string>;\n value?: TagListSelectValue;\n /** 是否强制匹配,默认值false */\n forceMatch?: boolean;\n};\n\n/**\n * 在列表数据中通过value匹配数据,以Tag形式展示\n * @param props\n * @returns\n * ```\n * 1. forceMatch: 是否强制匹配(默认值false)\n * - false: 匹配不到显示value值,\n * - true:匹配不到不显示\n * 2. value 与 dataList中label、value任一相等,都可匹配\n *\n * 用法1:\n * <TagListSelect\n * dataList=[{ label: '启用', value: 1 }]\n * colorMap={{ 1:'red', 2: 'blue'}}\n * value={1} />\n * =>\n * <Tag color={'red'}>启用</Tag>\n *\n * 用法2\n * <TagListSelect\n * dataList=[{ label: '启用', value: 1. color: 'red' }]\n * value=\"启用\" />\n * =>\n * <Tag color={'red'}>启用</Tag>\n * ```\n */\nexport const TagListSelect: FC<TagListSelectProps> = (props) => {\n const tagItem = useMemo(() => {\n if (isUndefinedOrNull(props.value)) {\n return null;\n }\n if (!props.dataList || props.dataList.length === 0) {\n return { label: `${props.value}` };\n }\n\n const target = props.dataList.find(\n (item) => valueIsEqual(item.value, props.value) || item.label === props.value,\n );\n if (target) {\n return { label: target.label, color: props.colorMap?.[String(target.value)] || target.color };\n }\n if (props.forceMatch) {\n return undefined;\n }\n return { label: `${props.value}` };\n }, [props.colorMap, props.dataList, props.forceMatch, props.value]);\n\n if (!tagItem) {\n return <Fragment>{props.value}</Fragment>;\n }\n\n return (\n <Fragment>{tagItem?.color ? <Tag color={tagItem.color}>{tagItem.label}</Tag> : tagItem?.label}</Fragment>\n );\n};\n\nTagListSelect.defaultProps = {\n forceMatch: false,\n};\n"],"names":["TagListSelect","props","tagItem","useMemo","isUndefinedOrNull","value","dataList","length","label","target","find","item","valueIsEqual","_props$colorMap","color","colorMap","String","forceMatch","undefined","_jsx","Fragment","children","Tag","defaultProps"],"mappings":";0LA0CaA,EAAwC,SAAxCA,EAAyCC,GACpD,IAAMC,EAAUC,GAAQ,WACtB,GAAIC,EAAkBH,EAAMI,OAAQ,CAClC,OAAO,IACT,CACA,IAAKJ,EAAMK,UAAYL,EAAMK,SAASC,SAAW,EAAG,CAClD,MAAO,CAAEC,MAAK,GAAKP,EAAMI,MAC3B,CAEA,IAAMI,EAASR,EAAMK,SAASI,MAC5B,SAACC,GAAI,OAAKC,EAAaD,EAAKN,MAAOJ,EAAMI,QAAUM,EAAKH,QAAUP,EAAMI,KAAK,IAE/E,GAAII,EAAQ,CAAA,IAAAI,EACV,MAAO,CAAEL,MAAOC,EAAOD,MAAOM,QAAOD,EAAAZ,EAAMc,WAANF,UAAAA,EAAAA,EAAiBG,OAAOP,EAAOJ,UAAWI,EAAOK,MACxF,CACA,GAAIb,EAAMgB,WAAY,CACpB,OAAOC,SACT,CACA,MAAO,CAAEV,MAAK,GAAKP,EAAMI,MAC3B,GAAG,CAACJ,EAAMc,SAAUd,EAAMK,SAAUL,EAAMgB,WAAYhB,EAAMI,QAE5D,IAAKH,EAAS,CACZ,OAAOiB,EAACC,EAAQ,CAAAC,SAAEpB,EAAMI,OAC1B,CAEA,OACEc,EAACC,EAAQ,CAAAC,SAAEnB,GAAAA,MAAAA,EAASY,MAAQK,EAACG,EAAG,CAACR,MAAOZ,EAAQY,MAAMO,SAAEnB,EAAQM,QAAeN,GAAO,UAAA,EAAPA,EAASM,OAE5F,EAEAR,EAAcuB,aAAe,CAC3BN,WAAY"}
@@ -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
- import e from"@ant-design/icons/es/icons/RedoOutlined";import{classNames as r}from"@dimjs/utils/cjs/class-names";import t from"@ant-design/icons/es/icons/CaretDownFilled";import{isString as l}from"@dimjs/lang/cjs/is-string";import{isArray as n}from"@dimjs/lang/cjs/is-array";import{extend as a}from"@dimjs/utils/cjs/extend";import{hooks as i}from"@wove/react/cjs/hooks";import{a as u,_ as o}from"../_rollupPluginBabelHelpers-fc015ef2.js";import{treeToTiledArray as s,treeLeafParentsArray as c,toArray as f,isUndefinedOrNull as d,treeToArray as v,arrayFind as m,valueIsEqual as p,isNumber as h,getValueOrDefault as S}from"@flatbiz/utils";import{TreeSelect as b,Button as g}from"antd";import{useState as C,useRef as y,useMemo as L,createElement as w}from"react";import{Model as k}from"@dimjs/model-react";import{usePrevious as q}from"ahooks";import{dequal as R}from"dequal";import{fbaHooks as A}from"../fba-hooks/index.js";import{RequestStatus as T}from"../request-status/index.js";import{isObject as j}from"@dimjs/lang/cjs/is-object";import{jsx as x}from"react/jsx-runtime";import"../use-responsive-point-21b8c601.js";var E={treeSelectorList:[],treeSelectorTiledArray:[],queryIsEmpty:false};var N={actions:{setSelectBoxList:function e(r){return function(e){e.treeSelectorList=r.treeSelectorList||[];e.treeSelectorTiledArray=r.treeSelectorTiledArray||[];e.requestStatus="request-success"}},resetSelectBoxList:function e(){return function(e){e.treeSelectorList=[]}},changeRequestStatus:function e(r){return function(e){e.requestStatus=r}}},state:E};var I={};var D=function e(r){if(!I[r]){I[r]=k(N)}return I[r]};var P=function e(r,t,l){if(!n(t)||t.length===0)return[];var a=s(t,l);return c(r,a,true,{value:"value",parentValue:"parentValue"})};var V=function e(r,t){var l=f(r);l=l.map((function(e){if(j(e))return e[t.value];return e}));return l};var B=["serviceConfig","effectDependencyList","onTreeSelectorListChange","onTreeSelectorRequestError","treeSelectorList","requestMessageConfig","modelKey","value","labelInValue","labelInValueFieldNames","onTreeItemDataAdapter","selectedParentCheckedAllChildrenList","fieldNames","onChange","onChangeHandle","treeDefaultExpandAll","showAllOption","initRootExpand","treeDefaultExpandedKeys"];var H=function s(c){var k=c.serviceConfig,j=c.effectDependencyList,E=c.onTreeSelectorListChange,N=c.onTreeSelectorRequestError,I=c.treeSelectorList,H=c.requestMessageConfig,K=c.modelKey,O=c.value,F=c.labelInValue,W=c.labelInValueFieldNames,_=c.onTreeItemDataAdapter,M=c.selectedParentCheckedAllChildrenList,z=M===void 0?true:M,G=c.fieldNames,J=c.onChange,Q=c.onChangeHandle,U=c.treeDefaultExpandAll,X=c.showAllOption,Y=c.initRootExpand,Z=c.treeDefaultExpandedKeys,$=u(c,B);var ee=c.hasOwnProperty("treeSelectorList");var re=k||{};var te=j||[];var le=A.useSafeState(false),ne=le[0],ae=le[1];var ie=C(),ue=ie[0],oe=ie[1];var se=D(K).useStore(),ce=se[0],fe=se[1];var de="request-progress-"+K;var ve=$.treeCheckable;var me=y(true);var pe=L((function(){if($.treeCheckStrictly)return true;return F}),[F,$.treeCheckStrictly]);var he=L((function(){return o({label:"label",value:"value",children:"children",disabled:"disabled"},G)}),[G]);var Se=L((function(){return o({label:"label",value:"value"},W)}),[W]);var be=L((function(){if(X){var e=X===true;return{label:e?"全部":X.label,value:e?"":X.value}}return null}),[X]);var ge=y(true);var Ce=q(O);A.useEffectCustom((function(){if(ce.treeSelectorList.length>0){if(me.current&&d(O)){me.current=false;if(Z){oe(Z)}else if(U){var e=v(ce.treeSelectorList,he.children).map((function(e){return e[he.value]}));oe(e);return}else if(Y&&ce.treeSelectorList.length){oe([ce.treeSelectorList[0][he.value]]);return}}if(d(O)&&ge.current)return;ge.current=false;if(O!==Ce){var r=V(O,Se);var t=Ae(r,true);oe(Array.from(new Set(t)))}}}),[O,ce.treeSelectorList]);var ye=function e(r){return r===""||d(r)};var Le=function e(r){var t=re.onRequestResultAdapter?re.onRequestResultAdapter(r):r;return t};var we=i.useCallbackRef((function(){return new Promise((function(e,r){var t,l,n,i,u;if(!re.onRequest){return r(new Error("onRequest 调用接口服务不能为空"))}t=re.requiredParamsKeys||[];l=a({},re.params);n=t.find((function(e){return ye(l[e])}));if(n){void fe.changeRequestStatus("no-dependencies-params");console.warn("TreeSelectorWrapper组件:参数:"+t.join("、")+"不能为空");return e()}var o=function(){try{return e()}catch(e){return r(e)}};var s=function(e){try{ae(false);window[de]=false;void fe.changeRequestStatus("request-error");N==null?void 0:N(e);return o()}catch(e){return r(e)}};try{ae(true);window[de]=true;void fe.changeRequestStatus("request-progress");return Promise.resolve(re.onRequest==null?void 0:re.onRequest(l)).then((function(e){try{i=e;u=Le(i);ae(false);window[de]=false;ke(u||[]);return o()}catch(e){return s(e)}}),s)}catch(e){s(e)}}))}));i.useCustomCompareEffect((function(){if(ee)return;if(Boolean(te.length)){ke([]);void we();return}var e=D(K).getState();if(e.requestStatus==="request-success"){return}if(!window[de]){void we();return}}),te,R);var ke=i.useCallbackRef((function(e){var r;if((e==null?void 0:e.length)===0&&ce.treeSelectorList.length===0){void fe.setSelectBoxList({treeSelectorList:[],treeSelectorTiledArray:[]});E==null?void 0:E([]);return}var t=be?(r={},r[he.label]=be.label,r[he.value]=be.value,r):undefined;var l=X?[t].concat(e):e;void fe.setSelectBoxList({treeSelectorList:l,treeSelectorTiledArray:v(l||[],he.children)});E==null?void 0:E(e)}));A.useEffectCustom((function(){if(ee){ke(I||[])}}),[I]);var qe=i.useCallbackRef((function(e){oe(e)}));var Re=i.useCallbackRef((function(){void we()}));var Ae=function e(r,t){var l=[];r.forEach((function(e){if(!t&&ue!=null&&ue.includes(e))return;var r=P(e,ce.treeSelectorList,he);l=l.concat(r.map((function(e){return e.value})))}));return l};var Te=i.useCallbackRef((function(e){if(!e)return undefined;return{label:e==null?void 0:e[he.label],value:e==null?void 0:e[he.value],children:e==null?void 0:e[he.children],disabled:e==null?void 0:e["disabled"]}}));var je=i.useCallbackRef((function(e){if(!e)return undefined;return{label:e==null?void 0:e[Se.label],value:e==null?void 0:e[Se.value],disabled:e==null?void 0:e["disabled"]}}));var xe=i.useCallbackRef((function(e,r){var t=V(e,{value:"value",label:"label"});var l=[];t.forEach((function(e){var r=m(ce.treeSelectorTiledArray,e,he.value);if(!r)return;l.push(r)}));if($.treeCheckStrictly&&z){var a=Te(r.checked?m(ce.treeSelectorTiledArray,r.triggerValue,he.value):null);if(a&&n(a.children)&&a.children.length>0){var i=v(a.children,he.children);var u=i.filter((function(e){var r=Te(e);if(r!=null&&r.disabled)return false;if(m(l,r==null?void 0:r.value,he.value))return false;return true}));l=l.concat(u)}}var o=[];if($.treeCheckable){if($.treeCheckStrictly===true||p($.showCheckedStrategy,["SHOW_ALL","SHOW_PARENT"])){o=l}else{o=l.filter((function(e){var r=e[he.children];return!(n(r)&&r.length>0)}))}}else{o=l}return{realTreeNodeList:o,realTreeNodeValueList:V(o,he)}}));var Ee=i.useCallbackRef((function(e,r,t){J==null?void 0:J(e,r,t);Q==null?void 0:Q(e,r,t)}));var Ne=i.useCallbackRef((function(e,r,t){var l=xe(e,t),n=l.realTreeNodeList,a=l.realTreeNodeValueList;if($.treeCheckable){oe((function(e){var r=Ae(a).concat(e||[]);return Array.from(new Set(r))}))}if(pe){var i=n.map((function(e){var r;var t=Te(e);return r={},r[Se.label]=t==null?void 0:t.label,r[Se.value]=t==null?void 0:t.value,r}));if(ve){Ee==null?void 0:Ee(i,n,t)}else{Ee==null?void 0:Ee(i[0],n[0],t)}}else{if(ve){Ee==null?void 0:Ee(a,n,t)}else{Ee==null?void 0:Ee(a[0],n[0],t)}}}));var Ie=i.useCallbackRef((function(e){if(!e)return null;return e.map((function(e){var r=(_==null?void 0:_(o({},e)))||e;var t=r[he.children];var l=r[he.value];var n=r[he.label];var a=r[he.disabled]?r[he.disabled]:r.disabled;return w(b.TreeNode,o({},r,{disabled:a,value:l,title:n,key:""+l}),t&&t.length>0&&Ie(t))}))}));var De=L((function(){var e=f(O);if(e.length==0)return[];if($.treeCheckStrictly){if(ce.treeSelectorTiledArray.length===0){return e.map((function(e){return{label:e,value:e}}))}return e.map((function(e){var r,t;var n;var a;if(l(e)||h(e)){var i=m(ce.treeSelectorTiledArray,e,he.value);n=Te(i);a=e}else{n=je(e)}return{label:S((r=n)==null?void 0:r.label,a),value:S((t=n)==null?void 0:t.value,a)}}))}return V(O,Se)}),[O,$.treeCheckStrictly,Se,ce.treeSelectorTiledArray,he.value,Te,je]);var Pe=L((function(){if(n(De)&&De.length===0){return undefined}return ve?De:De[0]}),[ve,De]);return x(b,o({dropdownStyle:{maxHeight:400,overflow:"auto"},showSearch:true,treeLine:{showLeafIcon:false},treeNodeFilterProp:"title",switcherIcon:x(t,{}),showArrow:true},$,{className:r("v-tree-select-wrapper",$.className),popupClassName:r("v-tree-select-wrapper-dropdown",$.popupClassName),onChange:Ne,treeExpandedKeys:ue,value:Pe,loading:ne,dropdownMatchSelectWidth:false,onTreeExpand:qe,style:o({width:"100%"},$.style),suffixIcon:ce.requestStatus==="request-error"?x(e,{spin:ne,onClick:Re}):undefined,notFoundContent:x(T,{status:ce.requestStatus,messageConfig:H,loading:ne,errorButton:x(g,{type:"primary",onClick:Re,children:"重新获取数据"})}),children:Ie(ce.treeSelectorList)}))};export{H as TreeSelectorWrapper};
6
+ import e from"@ant-design/icons/es/icons/RedoOutlined";import{classNames as r}from"@dimjs/utils/cjs/class-names";import t from"@ant-design/icons/es/icons/CaretDownFilled";import{isArray as n}from"@dimjs/lang/cjs/is-array";import{extend as l}from"@dimjs/utils/cjs/extend";import{hooks as a}from"@wove/react/cjs/hooks";import{a as i,_ as u}from"../_rollupPluginBabelHelpers-fc015ef2.js";import{treeToTiledArray as o,treeLeafParentsArray as s,toArray as c,isUndefinedOrNull as f,treeToArray as d,arrayFind as v,valueIsEqual as m,getValueOrDefault as h}from"@flatbiz/utils";import{TreeSelect as p,Button as S}from"antd";import{useState as b,useRef as g,useMemo as C,createElement as y}from"react";import{Model as L}from"@dimjs/model-react";import{usePrevious as w}from"ahooks";import{dequal as q}from"dequal";import{fbaHooks as k}from"../fba-hooks/index.js";import{RequestStatus as R}from"../request-status/index.js";import{isObject as A}from"@dimjs/lang/cjs/is-object";import{jsx as T}from"react/jsx-runtime";import"../use-responsive-point-21b8c601.js";var x={treeSelectorList:[],treeSelectorTiledArray:[],queryIsEmpty:false};var E={actions:{setSelectBoxList:function e(r){return function(e){e.treeSelectorList=r.treeSelectorList||[];e.treeSelectorTiledArray=r.treeSelectorTiledArray||[];e.requestStatus="request-success"}},resetSelectBoxList:function e(){return function(e){e.treeSelectorList=[]}},changeRequestStatus:function e(r){return function(e){e.requestStatus=r}}},state:x};var j={};var N=function e(r){if(!j[r]){j[r]=L(E)}return j[r]};var D=function e(r,t,l){if(!n(t)||t.length===0)return[];var a=o(t,l);return s(r,a,true,{value:"value",parentValue:"parentValue"})};var I=function e(r,t){var n=c(r);n=n.map((function(e){if(A(e))return e[t.value];return e}));return n};var P=["serviceConfig","effectDependencyList","onTreeSelectorListChange","onTreeSelectorRequestError","treeSelectorList","requestMessageConfig","modelKey","value","labelInValue","labelInValueFieldNames","onTreeItemDataAdapter","selectedParentCheckedAllChildrenList","fieldNames","onChange","onChangeHandle","treeDefaultExpandAll","showAllOption","initRootExpand","treeDefaultExpandedKeys"];var V=function o(s){var c=s.serviceConfig,L=s.effectDependencyList,A=s.onTreeSelectorListChange,x=s.onTreeSelectorRequestError,E=s.treeSelectorList,j=s.requestMessageConfig,V=s.modelKey,B=s.value,H=s.labelInValue,K=s.labelInValueFieldNames,O=s.onTreeItemDataAdapter,F=s.selectedParentCheckedAllChildrenList,W=F===void 0?true:F,_=s.fieldNames,M=s.onChange,z=s.onChangeHandle,G=s.treeDefaultExpandAll,J=s.showAllOption,Q=s.initRootExpand,U=s.treeDefaultExpandedKeys,X=i(s,P);var Y=s.hasOwnProperty("treeSelectorList");var Z=c||{};var $=L||[];var ee=k.useSafeState(false),re=ee[0],te=ee[1];var ne=b(),le=ne[0],ae=ne[1];var ie=N(V).useStore(),ue=ie[0],oe=ie[1];var se="request-progress-"+V;var ce=X.treeCheckable;var fe=g(true);var de=C((function(){if(X.treeCheckStrictly)return true;return H}),[H,X.treeCheckStrictly]);var ve=C((function(){return u({label:"label",value:"value",children:"children",disabled:"disabled"},_)}),[_]);var me=C((function(){return u({label:"label",value:"value"},K)}),[K]);var he=C((function(){if(J){var e=J===true;return{label:e?"全部":J.label,value:e?"":J.value}}return null}),[J]);var pe=g(true);var Se=w(B);k.useEffectCustom((function(){if(ue.treeSelectorList.length>0){if(fe.current&&f(B)){fe.current=false;if(U){ae(U)}else if(G){var e=d(ue.treeSelectorList,ve.children).map((function(e){return e[ve.value]}));ae(e);return}else if(Q&&ue.treeSelectorList.length){ae([ue.treeSelectorList[0][ve.value]]);return}}if(f(B)&&pe.current)return;pe.current=false;if(B!==Se){var r=I(B,me);var t=qe(r,true);ae(Array.from(new Set(t)))}}}),[B,ue.treeSelectorList]);var be=function e(r){return r===""||f(r)};var ge=function e(r){var t=Z.onRequestResultAdapter?Z.onRequestResultAdapter(r):r;return t};var Ce=a.useCallbackRef((function(){return new Promise((function(e,r){var t,n,a,i,u;if(!Z.onRequest){return r(new Error("onRequest 调用接口服务不能为空"))}t=Z.requiredParamsKeys||[];n=l({},Z.params);a=t.find((function(e){return be(n[e])}));if(a){void oe.changeRequestStatus("no-dependencies-params");console.warn("TreeSelectorWrapper组件:参数:"+t.join("、")+"不能为空");return e()}var o=function(){try{return e()}catch(e){return r(e)}};var s=function(e){try{te(false);window[se]=false;void oe.changeRequestStatus("request-error");x==null?void 0:x(e);return o()}catch(e){return r(e)}};try{te(true);window[se]=true;void oe.changeRequestStatus("request-progress");return Promise.resolve(Z.onRequest==null?void 0:Z.onRequest(n)).then((function(e){try{i=e;u=ge(i);te(false);window[se]=false;ye(u||[]);return o()}catch(e){return s(e)}}),s)}catch(e){s(e)}}))}));a.useCustomCompareEffect((function(){if(Y)return;if(Boolean($.length)){ye([]);void Ce();return}var e=N(V).getState();if(e.requestStatus==="request-success"){return}if(!window[se]){void Ce();return}}),$,q);var ye=a.useCallbackRef((function(e){var r;if((e==null?void 0:e.length)===0&&ue.treeSelectorList.length===0){void oe.setSelectBoxList({treeSelectorList:[],treeSelectorTiledArray:[]});A==null?void 0:A([]);return}var t=he?(r={},r[ve.label]=he.label,r[ve.value]=he.value,r):undefined;var n=J?[t].concat(e):e;void oe.setSelectBoxList({treeSelectorList:n,treeSelectorTiledArray:d(n||[],ve.children)});A==null?void 0:A(e)}));k.useEffectCustom((function(){if(Y){ye(E||[])}}),[E]);var Le=a.useCallbackRef((function(e){ae(e)}));var we=a.useCallbackRef((function(){void Ce()}));var qe=function e(r,t){var n=[];r.forEach((function(e){if(!t&&le!=null&&le.includes(e))return;var r=D(e,ue.treeSelectorList,ve);n=n.concat(r.map((function(e){return e.value})))}));return n};var ke=a.useCallbackRef((function(e){if(!e)return undefined;return{label:e==null?void 0:e[ve.label],value:e==null?void 0:e[ve.value],children:e==null?void 0:e[ve.children],disabled:e==null?void 0:e["disabled"]}}));var Re=a.useCallbackRef((function(e,r){var t=I(e,{value:"value",label:"label"});var l=[];t.forEach((function(e){var r=v(ue.treeSelectorTiledArray,e,ve.value);if(!r)return;l.push(r)}));if(X.treeCheckStrictly&&W){var a=ke(r.checked?v(ue.treeSelectorTiledArray,r.triggerValue,ve.value):null);if(a&&n(a.children)&&a.children.length>0){var i=d(a.children,ve.children);var u=i.filter((function(e){var r=ke(e);if(r!=null&&r.disabled)return false;if(v(l,r==null?void 0:r.value,ve.value))return false;return true}));l=l.concat(u)}}var o=[];if(X.treeCheckable){if(X.treeCheckStrictly===true||m(X.showCheckedStrategy,["SHOW_ALL","SHOW_PARENT"])){o=l}else{o=l.filter((function(e){var r=e[ve.children];return!(n(r)&&r.length>0)}))}}else{o=l}return{realTreeNodeList:o,realTreeNodeValueList:I(o,ve)}}));var Ae=a.useCallbackRef((function(e,r,t){M==null?void 0:M(e,r,t);z==null?void 0:z(e,r,t)}));var Te=a.useCallbackRef((function(e,r,t){var n=Re(e,t),l=n.realTreeNodeList,a=n.realTreeNodeValueList;if(X.treeCheckable){ae((function(e){var r=qe(a).concat(e||[]);return Array.from(new Set(r))}))}if(de){var i=l.map((function(e){var r;var t=ke(e);return r={},r[me.label]=t==null?void 0:t.label,r[me.value]=t==null?void 0:t.value,r.rawData=e,r}));if(ce){Ae==null?void 0:Ae(i,l,t)}else{Ae==null?void 0:Ae(i[0],l[0],t)}}else{if(ce){Ae==null?void 0:Ae(a,l,t)}else{Ae==null?void 0:Ae(a[0],l[0],t)}}}));var xe=a.useCallbackRef((function(e){if(!e)return null;return e.map((function(e){var r=(O==null?void 0:O(u({},e)))||e;var t=r[ve.children];var n=r[ve.value];var l=r[ve.label];var a=r[ve.disabled]?r[ve.disabled]:r.disabled;return y(p.TreeNode,u({},r,{disabled:a,value:n,title:l,key:""+n}),t&&t.length>0&&xe(t))}))}));var Ee=C((function(){var e=de?I(B,me):I(B,ve);if(e.length==0)return[];if(X.treeCheckStrictly){if(ue.treeSelectorTiledArray.length===0){return e.map((function(e){return{label:e,value:e}}))}return e.map((function(e){var r=v(ue.treeSelectorTiledArray,e,ve.value);var t=ke(r);return{label:h(t==null?void 0:t.label,e),value:h(t==null?void 0:t.value,e)}}))}return e}),[de,B,me,ve,X.treeCheckStrictly,ue.treeSelectorTiledArray,ke]);var je=C((function(){if(n(Ee)&&Ee.length===0){return undefined}return ce?Ee:Ee[0]}),[ce,Ee]);return T(p,u({dropdownStyle:{maxHeight:400,overflow:"auto"},showSearch:true,treeLine:{showLeafIcon:false},treeNodeFilterProp:"title",switcherIcon:T(t,{}),showArrow:true},X,{className:r("v-tree-select-wrapper",X.className),popupClassName:r("v-tree-select-wrapper-dropdown",X.popupClassName),onChange:Te,treeExpandedKeys:le,value:je,loading:re,dropdownMatchSelectWidth:false,onTreeExpand:Le,style:u({width:"100%"},X.style),suffixIcon:ue.requestStatus==="request-error"?T(e,{spin:re,onClick:we}):undefined,notFoundContent:T(R,{status:ue.requestStatus,messageConfig:j,loading:re,errorButton:T(S,{type:"primary",onClick:we,children:"重新获取数据"})}),children:xe(ue.treeSelectorList)}))};export{V as TreeSelectorWrapper};
7
7
  //# sourceMappingURL=index.js.map