@flatbiz/antd 4.5.47 → 4.5.49
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/ace-editor-json/index.js +1 -1
- package/esm/ace-editor-json/index.js.map +1 -1
- package/esm/ace-editor-mysql/index.js +1 -1
- package/esm/ace-editor-mysql/index.js.map +1 -1
- package/esm/ace-editor-xml/index.js +1 -1
- package/esm/ace-editor-xml/index.js.map +1 -1
- package/esm/ai-search/index.css +0 -0
- package/esm/ai-search/index.js +11 -0
- package/esm/ai-search/index.js.map +1 -0
- package/esm/bootstrap/index.js +1 -1
- package/esm/bootstrap/index.js.map +1 -1
- package/esm/button-operate/index.js +1 -1
- package/esm/button-operate/index.js.map +1 -1
- package/esm/button-wrapper/index.js +1 -1
- package/esm/button-wrapper/index.js.map +1 -1
- package/esm/cascader-wrapper/index.js +1 -1
- package/esm/cascader-wrapper/index.js.map +1 -1
- package/esm/check-list/index.js +1 -1
- package/esm/check-list/index.js.map +1 -1
- package/esm/config-provider-wrapper/index.js +1 -1
- package/esm/date-range-picker-wrapper-form-item/index.js +1 -1
- package/esm/date-range-picker-wrapper-form-item/index.js.map +1 -1
- package/esm/dialog-alert/index.js +1 -1
- package/esm/dialog-alert/index.js.map +1 -1
- package/esm/dialog-confirm/index.js +1 -1
- package/esm/dialog-confirm/index.js.map +1 -1
- package/esm/dialog-drag-modal/index.js +1 -1
- package/esm/dialog-drag-modal/index.js.map +1 -1
- package/esm/dialog-drawer/index.js +1 -1
- package/esm/dialog-drawer/index.js.map +1 -1
- package/esm/dialog-drawer-content/index.js +1 -1
- package/esm/dialog-drawer-content/index.js.map +1 -1
- package/esm/dialog-loading/index.js +1 -1
- package/esm/dialog-loading/index.js.map +1 -1
- package/esm/dialog-modal/index.js +1 -1
- package/esm/dialog-modal/index.js.map +1 -1
- package/esm/dialog-preview-image/index.js +1 -1
- package/esm/dialog-preview-image/index.js.map +1 -1
- package/esm/drag-collapse/index.js +1 -1
- package/esm/drag-collapse/index.js.map +1 -1
- package/esm/drag-collapse-form-list/index.js +1 -1
- package/esm/drag-collapse-form-list/index.js.map +1 -1
- package/esm/drag-editable-card/index.css +1 -0
- package/esm/drag-editable-card/index.js +2 -2
- package/esm/drag-editable-card/index.js.map +1 -1
- package/esm/drag-editable-table/index.js +1 -1
- package/esm/drag-editable-table/index.js.map +1 -1
- package/esm/drag-editable-table-pro/index.js +1 -1
- package/esm/drag-editable-table-pro/index.js.map +1 -1
- package/esm/drag-form-list/index.js +1 -1
- package/esm/drag-form-list/index.js.map +1 -1
- package/esm/drawer-wrapper/index.js +1 -1
- package/esm/drawer-wrapper/index.js.map +1 -1
- package/esm/dropdown-menu-wrapper/index.js +1 -1
- package/esm/dropdown-menu-wrapper/index.js.map +1 -1
- package/esm/easy-form/index.js +1 -1
- package/esm/easy-form/index.js.map +1 -1
- package/esm/easy-table/index.js +1 -1
- package/esm/easy-table/index.js.map +1 -1
- package/esm/editable-card/index.css +1 -1
- package/esm/editable-card/index.js +2 -2
- package/esm/editable-card/index.js.map +1 -1
- package/esm/editable-field/index.js +1 -1
- package/esm/editable-field/index.js.map +1 -1
- package/esm/editable-table/index.js +1 -1
- package/esm/editable-table/index.js.map +1 -1
- package/esm/editable-table-pro/index.js +1 -1
- package/esm/editable-table-pro/index.js.map +1 -1
- package/esm/error-boundary-wrapper/index.js +1 -1
- package/esm/error-boundary-wrapper/index.js.map +1 -1
- package/esm/fba-app/index.js +1 -1
- package/esm/fba-app/index.js.map +1 -1
- package/esm/fba-hooks/index.js +1 -1
- package/esm/fba-hooks/index.js.map +1 -1
- package/esm/form-item-group/index.js +1 -1
- package/esm/form-item-group/index.js.map +1 -1
- package/esm/form-item-text/index.js +1 -1
- package/esm/form-item-text/index.js.map +1 -1
- package/esm/form-item-wrapper/index.js +1 -1
- package/esm/form-item-wrapper/index.js.map +1 -1
- package/esm/form-list-wrapper/index.js +1 -1
- package/esm/form-list-wrapper/index.js.map +1 -1
- package/esm/index.js +3 -1
- package/esm/input-search-wrapper/index.js +1 -1
- package/esm/input-search-wrapper/index.js.map +1 -1
- package/esm/input-text-area-wrapper/index.js +1 -1
- package/esm/input-text-area-wrapper/index.js.map +1 -1
- package/esm/input-wrapper/index.js +1 -1
- package/esm/input-wrapper/index.js.map +1 -1
- package/esm/json-editor/index.js +1 -1
- package/esm/json-editor/index.js.map +1 -1
- package/esm/label-value-render/index.js +1 -1
- package/esm/label-value-render/index.js.map +1 -1
- package/esm/local-loading/index.js +1 -1
- package/esm/local-loading/index.js.map +1 -1
- package/esm/mention-editor/index.js +1 -1
- package/esm/mention-editor/index.js.map +1 -1
- package/esm/mentions-wrapper/index.js +1 -1
- package/esm/mentions-wrapper/index.js.map +1 -1
- package/esm/modal-wrapper/index.js +1 -1
- package/esm/modal-wrapper/index.js.map +1 -1
- package/esm/number-range-form-item/index.js +1 -1
- package/esm/number-range-form-item/index.js.map +1 -1
- package/esm/pagination-wrapper/index.js +1 -1
- package/esm/pagination-wrapper/index.js.map +1 -1
- package/esm/pdf/index.js +1 -1
- package/esm/pdf/index.js.map +1 -1
- package/esm/pdf-preview/index.js +1 -1
- package/esm/pdf-preview/index.js.map +1 -1
- package/esm/relation-tree/index.js +1 -1
- package/esm/relation-tree/index.js.map +1 -1
- package/esm/resizable-drawer/index.css +1 -0
- package/esm/resizable-drawer/index.js +15 -0
- package/esm/resizable-drawer/index.js.map +1 -0
- package/esm/rich-text-editor/index.js +1 -1
- package/esm/rich-text-editor/index.js.map +1 -1
- package/esm/rich-text-viewer/index.js +1 -1
- package/esm/rich-text-viewer/index.js.map +1 -1
- package/esm/roll-location-center/index.js +1 -1
- package/esm/roll-location-center/index.js.map +1 -1
- package/esm/roll-location-in-view/index.js +1 -1
- package/esm/roll-location-in-view/index.js.map +1 -1
- package/esm/rule-describe/index.js +1 -1
- package/esm/rule-describe/index.js.map +1 -1
- package/esm/search-form/index.js +1 -1
- package/esm/search-form/index.js.map +1 -1
- package/esm/search-menu/index.js +1 -1
- package/esm/search-menu/index.js.map +1 -1
- package/esm/selector-wrapper/index.js +1 -1
- package/esm/selector-wrapper/index.js.map +1 -1
- package/esm/selector-wrapper-search/index.js +1 -1
- package/esm/selector-wrapper-search/index.js.map +1 -1
- package/esm/selector-wrapper-simple/index.js +1 -1
- package/esm/selector-wrapper-simple/index.js.map +1 -1
- package/esm/simple-layout/index.js +1 -1
- package/esm/simple-layout/index.js.map +1 -1
- package/esm/switch-confirm-wrapper/index.js +1 -1
- package/esm/switch-confirm-wrapper/index.js.map +1 -1
- package/esm/table-cell-render/index.js +1 -1
- package/esm/table-cell-render/index.js.map +1 -1
- package/esm/table-scrollbar/index.js +1 -1
- package/esm/table-scrollbar/index.js.map +1 -1
- package/esm/tag-group/index.js +1 -1
- package/esm/tag-group/index.js.map +1 -1
- package/esm/tag-wrapper/index.js +1 -1
- package/esm/tag-wrapper/index.js.map +1 -1
- package/esm/text-css-ellipsis/index.js +1 -1
- package/esm/text-css-ellipsis/index.js.map +1 -1
- package/esm/text-overflow/index.js +1 -1
- package/esm/text-overflow/index.js.map +1 -1
- package/esm/text-overflow-render/index.js +1 -1
- package/esm/text-overflow-render/index.js.map +1 -1
- package/esm/time-range-picker-wrapper-form-item/index.js +1 -1
- package/esm/time-range-picker-wrapper-form-item/index.js.map +1 -1
- package/esm/tips-title/index.css +1 -1
- package/esm/tips-title/index.js +1 -1
- package/esm/tips-title/index.js.map +1 -1
- package/esm/tree-modal/index.js +1 -1
- package/esm/tree-modal/index.js.map +1 -1
- package/esm/tree-modal-selector/index.js +1 -1
- package/esm/tree-modal-selector/index.js.map +1 -1
- package/esm/tree-selector-wrapper/index.js +1 -1
- package/esm/tree-selector-wrapper/index.js.map +1 -1
- package/esm/tree-wrapper/index.js +1 -1
- package/esm/tree-wrapper/index.js.map +1 -1
- package/esm/upload-wrapper/index.js +1 -1
- package/esm/upload-wrapper/index.js.map +1 -1
- package/index.d.ts +60 -8
- package/package.json +6 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/form-item-wrapper/form-item-wrapper.tsx"],"sourcesContent":["import { composeProps, isUndefinedOrNull, TAny, TPlainObject } from '@flatbiz/utils';\nimport { Form, FormItemProps } from 'antd';\nimport { cloneElement, CSSProperties, isValidElement, ReactElement, ReactNode, useMemo } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport { preDefinedClassName } from '../pre-defined-class-name';\nimport { TFormItemLayoutPreClassNameProps } from '../pre-defined-class-name/form';\n\nexport type FormItemWrapperProps = Omit<FormItemProps, 'hidden' | 'children' | 'noStyle'> &\n TFormItemLayoutPreClassNameProps & {\n wrapper?: (children: ReactNode) => ReactElement;\n /** 设置wrapper后,before、after失效 */\n before?: ReactNode;\n /** 设置wrapper后,before、after失效 */\n after?: ReactNode;\n /** 设置 before、after 属性的包装结构style */\n beforeAfterStyle?: CSSProperties;\n /** value 序列化处理 */\n inputNormalize?: (value?: TAny) => TAny;\n /**\n * onChange 参数序列化处理\n * 如果设置 normalize 属性,outputNormalize将失效\n */\n outputNormalize?: (value?: TAny) => TAny;\n /**\n * 隐藏 Form.Item,同时清除 Form.Item 值\n * ```\n * 1.与 dependencies 属性配合使用,可实现当前FormItemWrapper的显示隐藏\n * 2.提交不校验rules\n * ```\n */\n isClear?: boolean | ((formValues: TPlainObject) => boolean);\n /**\n * 隐藏 Form.Item,不会清除 Form.Item 值\n * ```\n * 1.与 dependencies 属性配合使用,可实现当前FormItemWrapper的显示隐藏\n * 2.提交会校验rules\n * ```\n */\n hidden?: boolean | ((formValues: TPlainObject) => boolean);\n /**\n * 栅格占位格数,最大值:24\n * ```\n * 1. 当前FormItemWrapper处在 EasyForm 直接子节点中有效,即FormItemWrapper在EasyForm栅格中的占位格数;\n * 2. 父节点使用属性值,当前节点不使用属性值\n * ```\n */\n span?: number;\n\n /** 不支持函数式写法,如果需要使用dependencies获取表单值,可使用FormItemWrapperDependencies 组件 */\n children?: ReactNode;\n\n /**\n * ```\n * 1. 设置noStyle后,可能会导致 FromItemWrapper 在 EasyFrom 内部渲染网格布局时出现异常\n * 2. 在FormItemWrapper中使用 dependencies 逻辑不需要设置 noStyle\n * ```\n */\n noStyle?: boolean;\n };\n\ntype FormItemWrapperChildrenProps = Pick<\n FormItemWrapperProps,\n 'wrapper' | 'after' | 'before' | 'inputNormalize' | 'isClear' | 'beforeAfterStyle'\n> & {\n children: ReactElement;\n value?: any;\n onChange?: (value?: any) => any;\n};\n\nconst FormItemWrapperChildren = (props: FormItemWrapperChildrenProps) => {\n const { wrapper, children, inputNormalize, isClear, beforeAfterStyle, ...rest } = props;\n // composeProps 合并执行 Form.Item 传的 onChange 以及组件本身的方法\n const hasValue = Object.prototype.hasOwnProperty.call(rest, 'value');\n if (hasValue && inputNormalize) {\n rest['value'] = inputNormalize(rest['value']);\n }\n const _children = cloneElement(children, composeProps(children.props, rest, true));\n\n fbaHooks.useEffectCustom(() => {\n if (isClear && !isUndefinedOrNull(props.value)) {\n props.onChange?.(undefined);\n }\n }, [isClear, props.value]);\n\n if (wrapper) {\n return wrapper(_children);\n }\n if (props.before || props.after) {\n return (\n <div style={{ display: 'flex', alignItems: 'center', ...beforeAfterStyle }}>\n {props.before ? <span style={{ marginRight: 10 }}>{props.before}</span> : null}\n <div style={{ flex: 1 }}>{_children}</div>\n {props.after ? <span style={{ marginLeft: 10 }}>{props.after}</span> : null}\n </div>\n );\n }\n return _children;\n};\n\n/**\n * 对 Form.Item 包装处理\n * ```\n * 1. 为 children 增加 before、after\n * 2. 对输入、输出数据进行序列化处理\n * 3. 内置布局样式使用 preDefinedClassName.formItem\n * 4. 设置隐藏域(不清除字段值) 使用hidden,存在依赖逻辑,可与dependencies属性配合使用\n * 5. 设置隐藏域(清除字段值)使用isClear,存在依赖逻辑,可与dependencies属性配合使用\n * 6. 不支持noStyle属性、children不支持函数写法、如果需要获取依赖字段值,可使用 FormItemWrapperDependencies 组件\n * 7. 设置noStyle后,可能会导致 FromItemWrapper 在 EasyFrom 内部渲染网格布局时出现异常\n *\n *\n * ** 依赖其他字段 自身切换显示隐藏 **\n * <FormItemWrapper\n * label=\"label\"\n * name=\"xx1\"\n * dependencies={['type']}\n * isClear={(values) => {\n * return values.type == 1\n * }}>\n * <Input placeholder=\"请输入\" />\n * </FormItemWrapper>\n *\n * 如果只是想获取依赖字段值,可使用 FormItemWrapperDependencies 组件\n * ```\n */\nexport const FormItemWrapper = (props: FormItemWrapperProps) => {\n const {\n wrapper,\n isClear,\n labelWidth,\n labelItemVertical,\n labelAlign,\n children,\n before,\n after,\n inputNormalize,\n outputNormalize,\n className,\n dependencies,\n hidden,\n beforeAfterStyle,\n ...rest\n } = props;\n const form = Form.useFormInstance();\n\n const innerClassName = useMemo(() => {\n return preDefinedClassName.getFormItemLayoutClassName({\n labelWidth,\n labelItemVertical,\n labelAlign,\n className,\n });\n }, [labelWidth, labelItemVertical, labelAlign, className]);\n\n if (dependencies && dependencies?.length > 0) {\n return (\n <Form.Item dependencies={dependencies} noStyle>\n {(innerForm) => {\n const innerHidden = typeof hidden === 'function' ? hidden?.(innerForm.getFieldsValue()) : hidden;\n const innerIsClear =\n typeof isClear === 'function' ? isClear?.(innerForm.getFieldsValue()) : isClear;\n\n return (\n <Form.Item\n normalize={outputNormalize}\n {...rest}\n rules={innerIsClear ? [] : rest.rules}\n className={innerClassName}\n hidden={innerIsClear || innerHidden}\n >\n {isValidElement(children) ? (\n <FormItemWrapperChildren\n wrapper={wrapper}\n before={before}\n after={after}\n inputNormalize={inputNormalize}\n isClear={innerIsClear}\n beforeAfterStyle={beforeAfterStyle}\n >\n {children}\n </FormItemWrapperChildren>\n ) : (\n children\n )}\n </Form.Item>\n );\n }}\n </Form.Item>\n );\n }\n\n const innerHidden = typeof hidden === 'function' ? hidden(form.getFieldsValue()) : hidden;\n const innerIsClear = typeof isClear === 'function' ? isClear(form.getFieldsValue()) : isClear;\n\n return (\n <Form.Item\n normalize={outputNormalize}\n {...rest}\n className={innerClassName}\n hidden={innerHidden || innerIsClear}\n >\n {isValidElement(children) ? (\n <FormItemWrapperChildren\n wrapper={wrapper}\n before={before}\n after={after}\n inputNormalize={inputNormalize}\n isClear={innerIsClear}\n beforeAfterStyle={beforeAfterStyle}\n >\n {children}\n </FormItemWrapperChildren>\n ) : (\n children\n )}\n </Form.Item>\n );\n};\n\nFormItemWrapper['domTypeName'] = 'FormItemWrapper';\n"],"names":["FormItemWrapperChildren","props","wrapper","children","inputNormalize","isClear","beforeAfterStyle","rest","_objectWithoutPropertiesLoose","_excluded","hasValue","Object","prototype","hasOwnProperty","call","_children","cloneElement","composeProps","fbaHooks","useEffectCustom","isUndefinedOrNull","value","onChange","undefined","before","after","_jsxs","style","_extends","display","alignItems","_jsx","marginRight","flex","marginLeft","FormItemWrapper","labelWidth","labelItemVertical","labelAlign","outputNormalize","className","dependencies","hidden","_excluded2","form","Form","useFormInstance","innerClassName","useMemo","preDefinedClassName","getFormItemLayoutClassName","length","Item","noStyle","innerForm","innerHidden","getFieldsValue","innerIsClear","normalize","rules","isValidElement"],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/form-item-wrapper/form-item-wrapper.tsx"],"sourcesContent":["import { composeProps, isUndefinedOrNull, TAny, TPlainObject } from '@flatbiz/utils';\nimport { Form, FormItemProps } from 'antd';\nimport { cloneElement, CSSProperties, isValidElement, ReactElement, ReactNode, useMemo } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport { preDefinedClassName } from '../pre-defined-class-name';\nimport { TFormItemLayoutPreClassNameProps } from '../pre-defined-class-name/form';\n\nexport type FormItemWrapperProps = Omit<FormItemProps, 'hidden' | 'children' | 'noStyle'> &\n TFormItemLayoutPreClassNameProps & {\n wrapper?: (children: ReactNode) => ReactElement;\n /** 设置wrapper后,before、after失效 */\n before?: ReactNode;\n /** 设置wrapper后,before、after失效 */\n after?: ReactNode;\n /** 设置 before、after 属性的包装结构style */\n beforeAfterStyle?: CSSProperties;\n /** value 序列化处理 */\n inputNormalize?: (value?: TAny) => TAny;\n /**\n * onChange 参数序列化处理\n * 如果设置 normalize 属性,outputNormalize将失效\n */\n outputNormalize?: (value?: TAny) => TAny;\n /**\n * 隐藏 Form.Item,同时清除 Form.Item 值\n * ```\n * 1.与 dependencies 属性配合使用,可实现当前FormItemWrapper的显示隐藏\n * 2.提交不校验rules\n * ```\n */\n isClear?: boolean | ((formValues: TPlainObject) => boolean);\n /**\n * 隐藏 Form.Item,不会清除 Form.Item 值\n * ```\n * 1.与 dependencies 属性配合使用,可实现当前FormItemWrapper的显示隐藏\n * 2.提交会校验rules\n * ```\n */\n hidden?: boolean | ((formValues: TPlainObject) => boolean);\n /**\n * 栅格占位格数,最大值:24\n * ```\n * 1. 当前FormItemWrapper处在 EasyForm 直接子节点中有效,即FormItemWrapper在EasyForm栅格中的占位格数;\n * 2. 父节点使用属性值,当前节点不使用属性值\n * ```\n */\n span?: number;\n\n /** 不支持函数式写法,如果需要使用dependencies获取表单值,可使用FormItemWrapperDependencies 组件 */\n children?: ReactNode;\n\n /**\n * ```\n * 1. 设置noStyle后,可能会导致 FromItemWrapper 在 EasyFrom 内部渲染网格布局时出现异常\n * 2. 在FormItemWrapper中使用 dependencies 逻辑不需要设置 noStyle\n * ```\n */\n noStyle?: boolean;\n };\n\ntype FormItemWrapperChildrenProps = Pick<\n FormItemWrapperProps,\n 'wrapper' | 'after' | 'before' | 'inputNormalize' | 'isClear' | 'beforeAfterStyle'\n> & {\n children: ReactElement;\n value?: any;\n onChange?: (value?: any) => any;\n};\n\nconst FormItemWrapperChildren = (props: FormItemWrapperChildrenProps) => {\n const { wrapper, children, inputNormalize, isClear, beforeAfterStyle, ...rest } = props;\n // composeProps 合并执行 Form.Item 传的 onChange 以及组件本身的方法\n const hasValue = Object.prototype.hasOwnProperty.call(rest, 'value');\n if (hasValue && inputNormalize) {\n rest['value'] = inputNormalize(rest['value']);\n }\n const _children = cloneElement(children, composeProps(children.props, rest, true));\n\n fbaHooks.useEffectCustom(() => {\n if (isClear && !isUndefinedOrNull(props.value)) {\n props.onChange?.(undefined);\n }\n }, [isClear, props.value]);\n\n if (wrapper) {\n return wrapper(_children);\n }\n if (props.before || props.after) {\n return (\n <div style={{ display: 'flex', alignItems: 'center', ...beforeAfterStyle }}>\n {props.before ? <span style={{ marginRight: 10 }}>{props.before}</span> : null}\n <div style={{ flex: 1 }}>{_children}</div>\n {props.after ? <span style={{ marginLeft: 10 }}>{props.after}</span> : null}\n </div>\n );\n }\n return _children;\n};\n\n/**\n * 对 Form.Item 包装处理\n * ```\n * 1. 为 children 增加 before、after\n * 2. 对输入、输出数据进行序列化处理\n * 3. 内置布局样式使用 preDefinedClassName.formItem\n * 4. 设置隐藏域(不清除字段值) 使用hidden,存在依赖逻辑,可与dependencies属性配合使用\n * 5. 设置隐藏域(清除字段值)使用isClear,存在依赖逻辑,可与dependencies属性配合使用\n * 6. 不支持noStyle属性、children不支持函数写法、如果需要获取依赖字段值,可使用 FormItemWrapperDependencies 组件\n * 7. 设置noStyle后,可能会导致 FromItemWrapper 在 EasyFrom 内部渲染网格布局时出现异常\n *\n *\n * ** 依赖其他字段 自身切换显示隐藏 **\n * <FormItemWrapper\n * label=\"label\"\n * name=\"xx1\"\n * dependencies={['type']}\n * isClear={(values) => {\n * return values.type == 1\n * }}>\n * <Input placeholder=\"请输入\" />\n * </FormItemWrapper>\n *\n * 如果只是想获取依赖字段值,可使用 FormItemWrapperDependencies 组件\n * ```\n */\nexport const FormItemWrapper = (props: FormItemWrapperProps) => {\n const {\n wrapper,\n isClear,\n labelWidth,\n labelItemVertical,\n labelAlign,\n children,\n before,\n after,\n inputNormalize,\n outputNormalize,\n className,\n dependencies,\n hidden,\n beforeAfterStyle,\n ...rest\n } = props;\n const form = Form.useFormInstance();\n\n const innerClassName = useMemo(() => {\n return preDefinedClassName.getFormItemLayoutClassName({\n labelWidth,\n labelItemVertical,\n labelAlign,\n className,\n });\n }, [labelWidth, labelItemVertical, labelAlign, className]);\n\n if (dependencies && dependencies?.length > 0) {\n return (\n <Form.Item dependencies={dependencies} noStyle>\n {(innerForm) => {\n const innerHidden = typeof hidden === 'function' ? hidden?.(innerForm.getFieldsValue()) : hidden;\n const innerIsClear =\n typeof isClear === 'function' ? isClear?.(innerForm.getFieldsValue()) : isClear;\n\n return (\n <Form.Item\n normalize={outputNormalize}\n {...rest}\n rules={innerIsClear ? [] : rest.rules}\n className={innerClassName}\n hidden={innerIsClear || innerHidden}\n >\n {isValidElement(children) ? (\n <FormItemWrapperChildren\n wrapper={wrapper}\n before={before}\n after={after}\n inputNormalize={inputNormalize}\n isClear={innerIsClear}\n beforeAfterStyle={beforeAfterStyle}\n >\n {children}\n </FormItemWrapperChildren>\n ) : (\n children\n )}\n </Form.Item>\n );\n }}\n </Form.Item>\n );\n }\n\n const innerHidden = typeof hidden === 'function' ? hidden(form.getFieldsValue()) : hidden;\n const innerIsClear = typeof isClear === 'function' ? isClear(form.getFieldsValue()) : isClear;\n\n return (\n <Form.Item\n normalize={outputNormalize}\n {...rest}\n className={innerClassName}\n hidden={innerHidden || innerIsClear}\n >\n {isValidElement(children) ? (\n <FormItemWrapperChildren\n wrapper={wrapper}\n before={before}\n after={after}\n inputNormalize={inputNormalize}\n isClear={innerIsClear}\n beforeAfterStyle={beforeAfterStyle}\n >\n {children}\n </FormItemWrapperChildren>\n ) : (\n children\n )}\n </Form.Item>\n );\n};\n\nFormItemWrapper['domTypeName'] = 'FormItemWrapper';\n"],"names":["FormItemWrapperChildren","props","wrapper","children","inputNormalize","isClear","beforeAfterStyle","rest","_objectWithoutPropertiesLoose","_excluded","hasValue","Object","prototype","hasOwnProperty","call","_children","cloneElement","composeProps","fbaHooks","useEffectCustom","isUndefinedOrNull","value","onChange","undefined","before","after","_jsxs","style","_extends","display","alignItems","_jsx","marginRight","flex","marginLeft","FormItemWrapper","labelWidth","labelItemVertical","labelAlign","outputNormalize","className","dependencies","hidden","_excluded2","form","Form","useFormInstance","innerClassName","useMemo","preDefinedClassName","getFormItemLayoutClassName","length","Item","noStyle","innerForm","innerHidden","getFieldsValue","innerIsClear","normalize","rules","isValidElement"],"mappings":";40BAqEA,IAAMA,EAA0B,SAA1BA,EAA2BC,GAC/B,IAAQC,EAA0ED,EAA1EC,QAASC,EAAiEF,EAAjEE,SAAUC,EAAuDH,EAAvDG,eAAgBC,EAAuCJ,EAAvCI,QAASC,EAA8BL,EAA9BK,iBAAqBC,EAAIC,EAAKP,EAAKQ,GAEvF,IAAMC,EAAWC,OAAOC,UAAUC,eAAeC,KAAKP,EAAM,SAC5D,GAAIG,GAAYN,EAAgB,CAC9BG,EAAK,SAAWH,EAAeG,EAAK,SACtC,CACA,IAAMQ,EAAYC,EAAab,EAAUc,EAAad,EAASF,MAAOM,EAAM,OAE5EW,EAASC,iBAAgB,WACvB,GAAId,IAAYe,EAAkBnB,EAAMoB,OAAQ,CAC9CpB,EAAMqB,UAANrB,MAAAA,EAAMqB,SAAWC,UACnB,CACD,GAAE,CAAClB,EAASJ,EAAMoB,QAEnB,GAAInB,EAAS,CACX,OAAOA,EAAQa,EACjB,CACA,GAAId,EAAMuB,QAAUvB,EAAMwB,MAAO,CAC/B,OACEC,EAAA,MAAA,CAAKC,MAAKC,EAAA,CAAIC,QAAS,OAAQC,WAAY,UAAaxB,GAAmBH,SACxEF,CAAAA,EAAMuB,OAASO,EAAA,OAAA,CAAMJ,MAAO,CAAEK,YAAa,IAAK7B,SAAEF,EAAMuB,SAAiB,KAC1EO,EAAA,MAAA,CAAKJ,MAAO,CAAEM,KAAM,GAAI9B,SAAEY,IACzBd,EAAMwB,MAAQM,EAAA,OAAA,CAAMJ,MAAO,CAAEO,WAAY,IAAK/B,SAAEF,EAAMwB,QAAgB,OAG7E,CACA,OAAOV,CACT,MA4BaoB,EAAkB,SAAlBA,EAAmBlC,GAC9B,IACEC,EAeED,EAfFC,QACAG,EAcEJ,EAdFI,QACA+B,EAaEnC,EAbFmC,WACAC,EAYEpC,EAZFoC,kBACAC,EAWErC,EAXFqC,WACAnC,EAUEF,EAVFE,SACAqB,EASEvB,EATFuB,OACAC,EAQExB,EARFwB,MACArB,EAOEH,EAPFG,eACAmC,EAMEtC,EANFsC,gBACAC,EAKEvC,EALFuC,UACAC,EAIExC,EAJFwC,aACAC,EAGEzC,EAHFyC,OACApC,EAEEL,EAFFK,iBACGC,EAAIC,EACLP,EAAK0C,GACT,IAAMC,EAAOC,EAAKC,kBAElB,IAAMC,EAAiBC,GAAQ,WAC7B,OAAOC,EAAoBC,2BAA2B,CACpDd,WAAAA,EACAC,kBAAAA,EACAC,WAAAA,EACAE,UAAAA,GAEH,GAAE,CAACJ,EAAYC,EAAmBC,EAAYE,IAE/C,GAAIC,IAAgBA,GAAY,UAAA,EAAZA,EAAcU,QAAS,EAAG,CAC5C,OACEpB,EAACc,EAAKO,KAAI,CAACX,aAAcA,EAAcY,QAAO,KAAAlD,SAC3C,SAAAA,EAACmD,GACA,IAAMC,SAAqBb,IAAW,WAAaA,GAAM,UAAA,EAANA,EAASY,EAAUE,kBAAoBd,EAC1F,IAAMe,SACGpD,IAAY,WAAaA,GAAO,UAAA,EAAPA,EAAUiD,EAAUE,kBAAoBnD,EAE1E,OACE0B,EAACc,EAAKO,KAAIxB,EAAA,CACR8B,UAAWnB,GACPhC,EAAI,CACRoD,MAAOF,EAAe,GAAKlD,EAAKoD,MAChCnB,UAAWO,EACXL,OAAQe,GAAgBF,EAAYpD,SAEnCyD,EAAezD,GACd4B,EAAC/B,EAAuB,CACtBE,QAASA,EACTsB,OAAQA,EACRC,MAAOA,EACPrB,eAAgBA,EAChBC,QAASoD,EACTnD,iBAAkBA,EAAiBH,SAElCA,IAGHA,IAIR,GAGN,CAEA,IAAMoD,SAAqBb,IAAW,WAAaA,EAAOE,EAAKY,kBAAoBd,EACnF,IAAMe,SAAsBpD,IAAY,WAAaA,EAAQuC,EAAKY,kBAAoBnD,EAEtF,OACE0B,EAACc,EAAKO,KAAIxB,EAAA,CACR8B,UAAWnB,GACPhC,EAAI,CACRiC,UAAWO,EACXL,OAAQa,GAAeE,EAAatD,SAEnCyD,EAAezD,GACd4B,EAAC/B,EAAuB,CACtBE,QAASA,EACTsB,OAAQA,EACRC,MAAOA,EACPrB,eAAgBA,EAChBC,QAASoD,EACTnD,iBAAkBA,EAAiBH,SAElCA,IAGHA,IAIR,EAEAgC,EAAgB,eAAiB"}
|
|
@@ -9,5 +9,5 @@ import './../flex-layout/index.css';
|
|
|
9
9
|
import './../text-symbol-wrapper/index.css';
|
|
10
10
|
import './index.css';
|
|
11
11
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
12
|
-
import{classNames as e}from"@dimjs/utils/cjs/class-names";import{_ as t}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{toArray as r,getUuid as i}from"@flatbiz/utils";import{Form as o,Empty as n}from"antd";import{useRef as l,Fragment as a}from"react";import{ButtonWrapper as m}from"../button-wrapper/index.js";import{FormItemGroup as s}from"../form-item-group/index.js";import{TextSymbolWrapper as d}from"../text-symbol-wrapper/index.js";import{jsx as p,jsxs as u}from"react/jsx-runtime";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-promise";import"@wove/react/cjs/hooks";import"../index-83bede1b.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"@dimjs/utils/cjs/extend";import"../fba-utils/index.js";import"@dimjs/model";import"../flex-layout/index.js";var c=function e(t){if(t.wrapper)return t.wrapper({children:t.children});return t.children};var f=function e(r){var i,o;return p(s.HorizontalUnion,t({},r.formListItemTitleHProps,{style:t({marginBottom:10},(i=r.formListItemTitleHProps)==null?void 0:i.style),groupConfigList:((o=r.formListItemTitleList)==null?void 0:o.map((function(e){if(e.required){return{width:e.width,mainItem:p("div",{style:{textAlign:"center"},children:p(d,{text:e.title,symbolType:"required"})})}}return{width:e.width,mainItem:p("div",{style:{textAlign:"center"},children:e.title})}})))||[]}))};var h=function s(d){var h=[].concat(d.prevCompleteName,r(d.name));var g=o.useFormInstance();var j=l([]);var y=d.uidFieldName||"uid";var v=o.useWatch(h,g);var x=d.itemGap?d.itemGap/2:8;return p("div",{className:e("form-list-wrapper",d.className),style:d.style,children:p(o.List,{name:d.name,rules:d.rules,children:function e(l,s,w){var L;var I=w.errors;j.current=l;return u("div",{style:{borderRadius:"6px",border:I!=null&&I.length?"1px solid #ff4d4f":"1px solid transparent"},children:[(L=d.formListItemTitleList)!=null&&L.length?p(f,{formListItemTitleList:d.formListItemTitleList,formListItemTitleHProps:d.formListItemTitleHorizontalUnionProps}):null,!d.hiddenEmptyRender&&!(v!=null&&v.length)?p(n,{image:n.PRESENTED_IMAGE_SIMPLE,style:{margin:"15px 0"}}):null,u(a,{children:[p(c,{wrapper:d.formListChildrenWrapper,children:p(a,{children:l.map((function(e,t){var i=[].concat(h,[e.name]);return p("div",{className:"form-list-item-content",style:{padding:x+"px 0 "+x+"px 0"},children:d.children({formListFieldData:e,operation:s,formStageCompleteName:i,prevCompleteName:h,index:t,getInsideFormItemName:function t(i){var o=r(i);return[e.name].concat(o)},getInsideFormItemData:function e(){return g.getFieldValue(i)},uidKey:y})},e.key)}))})}),d.onCustomAddRowButton?d.onCustomAddRowButton(s):p(m,{hidden:d.hiddenAddRowButton,type:"dashed",block:true,onClick:function e(){var r;return s.add(t((r={},r[y]=i(),r),d.getAddRowDefaultValues==null?void 0:d.getAddRowDefaultValues()))},children:"添加"}),p(o.ErrorList,{errors:I!=null&&I.length?[p("div",{style:{color:"#ff4d4f",padding:"5px"},children:I},"0")]:undefined})]})]})}})})};export{h as FormListWrapper};
|
|
12
|
+
import{classNames as e}from"@dimjs/utils/cjs/class-names";import{_ as t}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{toArray as r,getUuid as i}from"@flatbiz/utils";import{Form as o,Empty as n}from"antd";import{useRef as l,Fragment as a}from"react";import{ButtonWrapper as m}from"../button-wrapper/index.js";import{FormItemGroup as s}from"../form-item-group/index.js";import{TextSymbolWrapper as d}from"../text-symbol-wrapper/index.js";import{jsx as p,jsxs as u}from"react/jsx-runtime";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-promise";import"@wove/react/cjs/hooks";import"../index-83bede1b.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"@dimjs/utils/cjs/uuid";import"@dimjs/utils/cjs/extend";import"../fba-utils/index.js";import"@dimjs/model";import"../flex-layout/index.js";var c=function e(t){if(t.wrapper)return t.wrapper({children:t.children});return t.children};var f=function e(r){var i,o;return p(s.HorizontalUnion,t({},r.formListItemTitleHProps,{style:t({marginBottom:10},(i=r.formListItemTitleHProps)==null?void 0:i.style),groupConfigList:((o=r.formListItemTitleList)==null?void 0:o.map((function(e){if(e.required){return{width:e.width,mainItem:p("div",{style:{textAlign:"center"},children:p(d,{text:e.title,symbolType:"required"})})}}return{width:e.width,mainItem:p("div",{style:{textAlign:"center"},children:e.title})}})))||[]}))};var h=function s(d){var h=[].concat(d.prevCompleteName,r(d.name));var g=o.useFormInstance();var j=l([]);var y=d.uidFieldName||"uid";var v=o.useWatch(h,g);var x=d.itemGap?d.itemGap/2:8;return p("div",{className:e("form-list-wrapper",d.className),style:d.style,children:p(o.List,{name:d.name,rules:d.rules,children:function e(l,s,w){var L;var I=w.errors;j.current=l;return u("div",{style:{borderRadius:"6px",border:I!=null&&I.length?"1px solid #ff4d4f":"1px solid transparent"},children:[(L=d.formListItemTitleList)!=null&&L.length?p(f,{formListItemTitleList:d.formListItemTitleList,formListItemTitleHProps:d.formListItemTitleHorizontalUnionProps}):null,!d.hiddenEmptyRender&&!(v!=null&&v.length)?p(n,{image:n.PRESENTED_IMAGE_SIMPLE,style:{margin:"15px 0"}}):null,u(a,{children:[p(c,{wrapper:d.formListChildrenWrapper,children:p(a,{children:l.map((function(e,t){var i=[].concat(h,[e.name]);return p("div",{className:"form-list-item-content",style:{padding:x+"px 0 "+x+"px 0"},children:d.children({formListFieldData:e,operation:s,formStageCompleteName:i,prevCompleteName:h,index:t,getInsideFormItemName:function t(i){var o=r(i);return[e.name].concat(o)},getInsideFormItemData:function e(){return g.getFieldValue(i)},uidKey:y})},e.key)}))})}),d.onCustomAddRowButton?d.onCustomAddRowButton(s):p(m,{hidden:d.hiddenAddRowButton,type:"dashed",block:true,onClick:function e(){var r;return s.add(t((r={},r[y]=i(),r),d.getAddRowDefaultValues==null?void 0:d.getAddRowDefaultValues()))},children:"添加"}),p(o.ErrorList,{errors:I!=null&&I.length?[p("div",{style:{color:"#ff4d4f",padding:"5px"},children:I},"0")]:undefined})]})]})}})})};export{h as FormListWrapper};
|
|
13
13
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/form-list-wrapper/form-list-wrapper.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { getUuid, toArray } from '@flatbiz/utils';\nimport { Empty, Form, type FormListFieldData } from 'antd';\nimport { Fragment, useRef, type ReactElement } from 'react';\nimport { ButtonWrapper } from '../button-wrapper';\nimport { FormItemGroup } from '../form-item-group';\nimport { TextSymbolWrapper } from '../text-symbol-wrapper';\nimport './style.less';\nimport { type FormListWrapperProps } from './types';\n\ntype FormListChildrenWrapperProps = {\n wrapper?: FormListWrapperProps['formListChildrenWrapper'];\n children: ReactElement;\n};\nconst FormListChildrenWrapper = (props: FormListChildrenWrapperProps) => {\n if (props.wrapper) return props.wrapper({ children: props.children });\n return props.children;\n};\n\nconst FormListTitleRender = (props: {\n formListItemTitleList: FormListWrapperProps['formListItemTitleList'];\n formListItemTitleHProps?: FormListWrapperProps['formListItemTitleHorizontalUnionProps'];\n}) => {\n return (\n <FormItemGroup.HorizontalUnion\n {...props.formListItemTitleHProps}\n style={{ marginBottom: 10, ...props.formListItemTitleHProps?.style }}\n groupConfigList={\n props.formListItemTitleList?.map((item) => {\n if (item.required) {\n return {\n width: item.width,\n mainItem: (\n <div style={{ textAlign: 'center' }}>\n <TextSymbolWrapper text={item.title} symbolType=\"required\" />\n </div>\n ),\n };\n }\n return {\n width: item.width,\n mainItem: <div style={{ textAlign: 'center' }}>{item.title}</div>,\n };\n }) || []\n }\n />\n );\n};\n\n/**\n * Form.List 包装组件,使用更简单\n * ```\n * Demo: https://fex.qa.tcshuke.com/docs/admin/main/form/list\n * 1. FormList数组中必须要有唯一值字段,默认值字段名称uid,可通过uidFieldName自定义设置\n * 2. 通过 itemGap 设置FormList Item 之间间隙\n * ```\n */\nexport const FormListWrapper = (props: FormListWrapperProps) => {\n const stageCompleteName = [...props.prevCompleteName, ...toArray(props.name)] as Array<string | number>;\n const form = Form.useFormInstance();\n const formListOperationRef = useRef<FormListFieldData[]>([]);\n const uidFieldName = props.uidFieldName || 'uid';\n const formListValue = Form.useWatch(stageCompleteName, form);\n\n const gapHalf = props.itemGap ? props.itemGap / 2 : 8;\n\n return (\n <div className={classNames('form-list-wrapper', props.className)} style={props.style}>\n <Form.List name={props.name} rules={props.rules}>\n {(fields, operation, { errors }) => {\n formListOperationRef.current = fields;\n return (\n <div\n style={{\n borderRadius: '6px',\n border: errors?.length ? '1px solid #ff4d4f' : '1px solid transparent',\n }}\n >\n {props.formListItemTitleList?.length ? (\n <FormListTitleRender\n formListItemTitleList={props.formListItemTitleList}\n formListItemTitleHProps={props.formListItemTitleHorizontalUnionProps}\n />\n ) : null}\n {!props.hiddenEmptyRender && !formListValue?.length ? (\n <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} style={{ margin: '15px 0' }} />\n ) : null}\n <Fragment>\n <FormListChildrenWrapper wrapper={props.formListChildrenWrapper}>\n <Fragment>\n {fields.map((field, index) => {\n const formStageCompleteName = [...stageCompleteName, field.name];\n return (\n <div\n key={field.key}\n className=\"form-list-item-content\"\n style={{ padding: `${gapHalf}px 0 ${gapHalf}px 0` }}\n >\n {props.children({\n formListFieldData: field,\n operation: operation,\n formStageCompleteName,\n prevCompleteName: stageCompleteName,\n index,\n getInsideFormItemName: (key) => {\n const keys = toArray<string>(key);\n return [field.name, ...keys];\n },\n getInsideFormItemData: () => {\n return form.getFieldValue(formStageCompleteName);\n },\n uidKey: uidFieldName,\n })}\n </div>\n );\n })}\n </Fragment>\n </FormListChildrenWrapper>\n {props.onCustomAddRowButton ? (\n props.onCustomAddRowButton(operation)\n ) : (\n <ButtonWrapper\n hidden={props.hiddenAddRowButton}\n type=\"dashed\"\n block\n onClick={() =>\n operation.add({\n [uidFieldName]: getUuid(),\n ...props.getAddRowDefaultValues?.(),\n })\n }\n >\n 添加\n </ButtonWrapper>\n )}\n\n <Form.ErrorList\n errors={\n errors?.length\n ? [\n <div\n key=\"0\"\n style={{\n color: '#ff4d4f',\n padding: '5px',\n }}\n >\n {errors}\n </div>,\n ]\n : undefined\n }\n />\n </Fragment>\n </div>\n );\n }}\n </Form.List>\n </div>\n );\n};\n"],"names":["FormListChildrenWrapper","props","wrapper","children","FormListTitleRender","_props$formListItemTi","_props$formListItemTi2","_jsx","FormItemGroup","HorizontalUnion","_extends","formListItemTitleHProps","style","marginBottom","groupConfigList","formListItemTitleList","map","item","required","width","mainItem","textAlign","TextSymbolWrapper","text","title","symbolType","FormListWrapper","stageCompleteName","concat","prevCompleteName","toArray","name","form","Form","useFormInstance","formListOperationRef","useRef","uidFieldName","formListValue","useWatch","gapHalf","itemGap","className","_classNames","List","rules","fields","operation","_ref","_props$formListItemTi3","errors","current","_jsxs","borderRadius","border","length","formListItemTitleHorizontalUnionProps","hiddenEmptyRender","Empty","image","PRESENTED_IMAGE_SIMPLE","margin","Fragment","formListChildrenWrapper","field","index","formStageCompleteName","padding","formListFieldData","getInsideFormItemName","key","keys","getInsideFormItemData","getFieldValue","uidKey","onCustomAddRowButton","ButtonWrapper","hidden","hiddenAddRowButton","type","block","onClick","_extends2","add","getUuid","getAddRowDefaultValues","ErrorList","color","undefined"],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/form-list-wrapper/form-list-wrapper.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { getUuid, toArray } from '@flatbiz/utils';\nimport { Empty, Form, type FormListFieldData } from 'antd';\nimport { Fragment, useRef, type ReactElement } from 'react';\nimport { ButtonWrapper } from '../button-wrapper';\nimport { FormItemGroup } from '../form-item-group';\nimport { TextSymbolWrapper } from '../text-symbol-wrapper';\nimport './style.less';\nimport { type FormListWrapperProps } from './types';\n\ntype FormListChildrenWrapperProps = {\n wrapper?: FormListWrapperProps['formListChildrenWrapper'];\n children: ReactElement;\n};\nconst FormListChildrenWrapper = (props: FormListChildrenWrapperProps) => {\n if (props.wrapper) return props.wrapper({ children: props.children });\n return props.children;\n};\n\nconst FormListTitleRender = (props: {\n formListItemTitleList: FormListWrapperProps['formListItemTitleList'];\n formListItemTitleHProps?: FormListWrapperProps['formListItemTitleHorizontalUnionProps'];\n}) => {\n return (\n <FormItemGroup.HorizontalUnion\n {...props.formListItemTitleHProps}\n style={{ marginBottom: 10, ...props.formListItemTitleHProps?.style }}\n groupConfigList={\n props.formListItemTitleList?.map((item) => {\n if (item.required) {\n return {\n width: item.width,\n mainItem: (\n <div style={{ textAlign: 'center' }}>\n <TextSymbolWrapper text={item.title} symbolType=\"required\" />\n </div>\n ),\n };\n }\n return {\n width: item.width,\n mainItem: <div style={{ textAlign: 'center' }}>{item.title}</div>,\n };\n }) || []\n }\n />\n );\n};\n\n/**\n * Form.List 包装组件,使用更简单\n * ```\n * Demo: https://fex.qa.tcshuke.com/docs/admin/main/form/list\n * 1. FormList数组中必须要有唯一值字段,默认值字段名称uid,可通过uidFieldName自定义设置\n * 2. 通过 itemGap 设置FormList Item 之间间隙\n * ```\n */\nexport const FormListWrapper = (props: FormListWrapperProps) => {\n const stageCompleteName = [...props.prevCompleteName, ...toArray(props.name)] as Array<string | number>;\n const form = Form.useFormInstance();\n const formListOperationRef = useRef<FormListFieldData[]>([]);\n const uidFieldName = props.uidFieldName || 'uid';\n const formListValue = Form.useWatch(stageCompleteName, form);\n\n const gapHalf = props.itemGap ? props.itemGap / 2 : 8;\n\n return (\n <div className={classNames('form-list-wrapper', props.className)} style={props.style}>\n <Form.List name={props.name} rules={props.rules}>\n {(fields, operation, { errors }) => {\n formListOperationRef.current = fields;\n return (\n <div\n style={{\n borderRadius: '6px',\n border: errors?.length ? '1px solid #ff4d4f' : '1px solid transparent',\n }}\n >\n {props.formListItemTitleList?.length ? (\n <FormListTitleRender\n formListItemTitleList={props.formListItemTitleList}\n formListItemTitleHProps={props.formListItemTitleHorizontalUnionProps}\n />\n ) : null}\n {!props.hiddenEmptyRender && !formListValue?.length ? (\n <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} style={{ margin: '15px 0' }} />\n ) : null}\n <Fragment>\n <FormListChildrenWrapper wrapper={props.formListChildrenWrapper}>\n <Fragment>\n {fields.map((field, index) => {\n const formStageCompleteName = [...stageCompleteName, field.name];\n return (\n <div\n key={field.key}\n className=\"form-list-item-content\"\n style={{ padding: `${gapHalf}px 0 ${gapHalf}px 0` }}\n >\n {props.children({\n formListFieldData: field,\n operation: operation,\n formStageCompleteName,\n prevCompleteName: stageCompleteName,\n index,\n getInsideFormItemName: (key) => {\n const keys = toArray<string>(key);\n return [field.name, ...keys];\n },\n getInsideFormItemData: () => {\n return form.getFieldValue(formStageCompleteName);\n },\n uidKey: uidFieldName,\n })}\n </div>\n );\n })}\n </Fragment>\n </FormListChildrenWrapper>\n {props.onCustomAddRowButton ? (\n props.onCustomAddRowButton(operation)\n ) : (\n <ButtonWrapper\n hidden={props.hiddenAddRowButton}\n type=\"dashed\"\n block\n onClick={() =>\n operation.add({\n [uidFieldName]: getUuid(),\n ...props.getAddRowDefaultValues?.(),\n })\n }\n >\n 添加\n </ButtonWrapper>\n )}\n\n <Form.ErrorList\n errors={\n errors?.length\n ? [\n <div\n key=\"0\"\n style={{\n color: '#ff4d4f',\n padding: '5px',\n }}\n >\n {errors}\n </div>,\n ]\n : undefined\n }\n />\n </Fragment>\n </div>\n );\n }}\n </Form.List>\n </div>\n );\n};\n"],"names":["FormListChildrenWrapper","props","wrapper","children","FormListTitleRender","_props$formListItemTi","_props$formListItemTi2","_jsx","FormItemGroup","HorizontalUnion","_extends","formListItemTitleHProps","style","marginBottom","groupConfigList","formListItemTitleList","map","item","required","width","mainItem","textAlign","TextSymbolWrapper","text","title","symbolType","FormListWrapper","stageCompleteName","concat","prevCompleteName","toArray","name","form","Form","useFormInstance","formListOperationRef","useRef","uidFieldName","formListValue","useWatch","gapHalf","itemGap","className","_classNames","List","rules","fields","operation","_ref","_props$formListItemTi3","errors","current","_jsxs","borderRadius","border","length","formListItemTitleHorizontalUnionProps","hiddenEmptyRender","Empty","image","PRESENTED_IMAGE_SIMPLE","margin","Fragment","formListChildrenWrapper","field","index","formStageCompleteName","padding","formListFieldData","getInsideFormItemName","key","keys","getInsideFormItemData","getFieldValue","uidKey","onCustomAddRowButton","ButtonWrapper","hidden","hiddenAddRowButton","type","block","onClick","_extends2","add","getUuid","getAddRowDefaultValues","ErrorList","color","undefined"],"mappings":"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"}
|
package/esm/index.js
CHANGED
|
@@ -11,6 +11,7 @@ import './types/index.css';
|
|
|
11
11
|
import './fba-utils/index.css';
|
|
12
12
|
import './ace-editor-mysql/index.css';
|
|
13
13
|
import './ace-editor-xml/index.css';
|
|
14
|
+
import './ai-search/index.css';
|
|
14
15
|
import './alert-wrapper/index.css';
|
|
15
16
|
import './amount-fen-input/index.css';
|
|
16
17
|
import './amount-fen-input-form-item/index.css';
|
|
@@ -110,6 +111,7 @@ import './pdf-preview2/index.css';
|
|
|
110
111
|
import './permission/index.css';
|
|
111
112
|
import './radio-group-wrapper/index.css';
|
|
112
113
|
import './relation-tree/index.css';
|
|
114
|
+
import './resizable-drawer/index.css';
|
|
113
115
|
import './rich-text-editor/index.css';
|
|
114
116
|
import './rich-text-viewer/index.css';
|
|
115
117
|
import './roll-location-center/index.css';
|
|
@@ -140,5 +142,5 @@ import './tree-selector-wrapper/index.css';
|
|
|
140
142
|
import './x-mind-preview/index.css';
|
|
141
143
|
import './index.css';
|
|
142
144
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
143
|
-
export{AceEditorGroovy}from"./ace-editor-groovy/index.js";export{AceEditorJava}from"./ace-editor-java/index.js";export{AceEditorJson}from"./ace-editor-json/index.js";export{AceEditorMysql}from"./ace-editor-mysql/index.js";export{AceEditorXml}from"./ace-editor-xml/index.js";export{AlertWrapper}from"./alert-wrapper/index.js";export{AmountFenInput}from"./amount-fen-input/index.js";export{AmountFenInputFormItem}from"./amount-fen-input-form-item/index.js";export{AnchorSteps}from"./anchor-steps/index.js";export{BlockLayout}from"./block-layout/index.js";export{Bootstrap}from"./bootstrap/index.js";export{BoxGrid,useBoxBreakpoint}from"./box-grid/index.js";export{ButtonOperate,ButtonOperateItemContent}from"./button-operate/index.js";export{ButtonWrapper}from"./button-wrapper/index.js";export{CardLayout}from"./card-layout/index.js";export{CardWrapper}from"./card-wrapper/index.js";export{CascaderWrapper}from"./cascader-wrapper/index.js";export{CheckList}from"./check-list/index.js";export{CheckboxWrapper}from"./checkbox-wrapper/index.js";export{ColorPickerWrapper}from"./color-picker-wrapper/index.js";export{C as ConfigProviderWrapper}from"./index-83bede1b.js";export{createDrawerWrapperModel}from"./create-drawer-wrapper-model/index.js";export{createModalWrapperModel}from"./create-modal-wrapper-model/index.js";export{CssNodeHover}from"./css-node-hover/index.js";export{DataRender}from"./data-render/index.js";export{DatePickerWrapper}from"./date-picker-wrapper/index.js";export{DateRangePickerWrapper}from"./date-range-picker-wrapper/index.js";export{DateRangePickerWrapperFormItem}from"./date-range-picker-wrapper-form-item/index.js";export{DeleteNode}from"./delete-node/index.js";export{dialogAlert}from"./dialog-alert/index.js";export{dialogConfirm}from"./dialog-confirm/index.js";export{dialogDragModal}from"./dialog-drag-modal/index.js";export{dialogDrawer}from"./dialog-drawer/index.js";export{DialogDrawerContent}from"./dialog-drawer-content/index.js";export{dialogLoading}from"./dialog-loading/index.js";export{dialogModal}from"./dialog-modal/index.js";export{dialogPreviewImage}from"./dialog-preview-image/index.js";export{DragCollapse}from"./drag-collapse/index.js";export{DragCollapseFormList}from"./drag-collapse-form-list/index.js";export{DragEditableCard}from"./drag-editable-card/index.js";export{DragEditableTable}from"./drag-editable-table/index.js";export{DragEditableTablePro}from"./drag-editable-table-pro/index.js";export{DragFormList}from"./drag-form-list/index.js";export{DragTable}from"./drag-table/index.js";export{DrawerWrapper}from"./drawer-wrapper/index.js";export{DropdownMenuWrapper}from"./dropdown-menu-wrapper/index.js";export{dynamicNode}from"./dynamic-node/index.js";export{EasyForm}from"./easy-form/index.js";export{EasyTable}from"./easy-table/index.js";export{EditableCard}from"./editable-card/index.js";export{EditableField}from"./editable-field/index.js";export{EditableFieldProvider}from"./editable-field-provider/index.js";export{EditableTable}from"./editable-table/index.js";export{EditableTablePro}from"./editable-table-pro/index.js";export{EditorWrapper}from"./editor-wrapper/index.js";export{ErrorBoundaryWrapper}from"./error-boundary-wrapper/index.js";export{FbaApp}from"./fba-app/index.js";export{fbaHooks}from"./fba-hooks/index.js";export{fbaUtils}from"./fba-utils/index.js";export{FileExport}from"./file-export/index.js";export{FileImport}from"./file-import/index.js";export{FileSelect}from"./file-select/index.js";export{FlexLayout}from"./flex-layout/index.js";export{FormGrid}from"./form-grid/index.js";export{FormItemGroup}from"./form-item-group/index.js";export{FormItemHidden}from"./form-item-hidden/index.js";export{FormItemSpan}from"./form-item-span/index.js";export{FormItemText}from"./form-item-text/index.js";export{FormItemWrapper}from"./form-item-wrapper/index.js";export{FormItemWrapperDependencies}from"./form-item-wrapper-dependencies/index.js";export{FormListWrapper}from"./form-list-wrapper/index.js";export{FormWrapper}from"./form-wrapper/index.js";export{Gap}from"./gap/index.js";export{IconWrapper}from"./icon-wrapper/index.js";export{InputSearchWrapper}from"./input-search-wrapper/index.js";export{InputTextAreaWrapper}from"./input-text-area-wrapper/index.js";export{InputWrapper}from"./input-wrapper/index.js";export{JsonEditor}from"./json-editor/index.js";export{LabelValueLayout}from"./label-value-layout/index.js";export{LabelValueRender}from"./label-value-render/index.js";export{LocalLoading}from"./local-loading/index.js";export{MentionEditor}from"./mention-editor/index.js";export{MentionsWrapper}from"./mentions-wrapper/index.js";export{ModalAction}from"./modal-action/index.js";export{ModalWrapper}from"./modal-wrapper/index.js";export{NumberRangeFormItem}from"./number-range-form-item/index.js";export{PageFixedFooter}from"./page-fixed-footer/index.js";export{Page404}from"./page404/index.js";export{PaginationWrapper}from"./pagination-wrapper/index.js";export{Pdf}from"./pdf/index.js";export{PdfPreview}from"./pdf-preview/index.js";export{PdfPreview2}from"./pdf-preview2/index.js";export{Permission}from"./permission/index.js";export{preDefinedClassName}from"./pre-defined-class-name/index.js";export{RadioGroupWrapper}from"./radio-group-wrapper/index.js";export{RelationTree}from"./relation-tree/index.js";export{RequestStatus}from"./request-status/index.js";export{RichTextEditor}from"./rich-text-editor/index.js";export{RichTextViewer}from"./rich-text-viewer/index.js";export{RollLocationCenter}from"./roll-location-center/index.js";export{RollLocationInView}from"./roll-location-in-view/index.js";export{RuleDescribe}from"./rule-describe/index.js";export{SearchForm}from"./search-form/index.js";export{SearchMenu}from"./search-menu/index.js";export{SelectorWrapper}from"./selector-wrapper/index.js";export{SelectorWrapperSearch}from"./selector-wrapper-search/index.js";export{SelectorWrapperSimple}from"./selector-wrapper-simple/index.js";export{SimpleLayout}from"./simple-layout/index.js";export{SmsCountDown}from"./sms-count-down/index.js";export{SplitWrapper}from"./split-wrapper/index.js";export{styles}from"./styles/index.js";export{SvgHttpView}from"./svg-http-view/index.js";export{SwitchConfirmWrapper}from"./switch-confirm-wrapper/index.js";export{SwitchWrapper}from"./switch-wrapper/index.js";export{tableCellRender}from"./table-cell-render/index.js";export{TableScrollbar}from"./table-scrollbar/index.js";export{TableTitleTooltip}from"./table-title-tooltip/index.js";export{TabsSticky}from"./tabs-sticky/index.js";export{TabsWrapper}from"./tabs-wrapper/index.js";export{TagGroup}from"./tag-group/index.js";export{TagListRender}from"./tag-list-render/index.js";export{TagListSelect}from"./tag-list-select/index.js";export{TagWrapper}from"./tag-wrapper/index.js";export{TextCssEllipsis}from"./text-css-ellipsis/index.js";export{TextOverflow}from"./text-overflow/index.js";export{TextOverflowRender}from"./text-overflow-render/index.js";export{TextSymbolWrapper}from"./text-symbol-wrapper/index.js";export{TimePickerWrapper}from"./time-picker-wrapper/index.js";export{TimeRangePickerWrapper}from"./time-range-picker-wrapper/index.js";export{TimeRangePickerWrapperFormItem}from"./time-range-picker-wrapper-form-item/index.js";export{TipsTitle}from"./tips-title/index.js";export{TipsWrapper}from"./tips-wrapper/index.js";export{TreeModal}from"./tree-modal/index.js";export{TreeModalSelector}from"./tree-modal-selector/index.js";export{TreeSelectorWrapper}from"./tree-selector-wrapper/index.js";export{TreeWrapper}from"./tree-wrapper/index.js";export{UploadWrapper}from"./upload-wrapper/index.js";export{XMindPreview}from"./x-mind-preview/index.js";import"./_rollupPluginBabelHelpers-c0dbec57.js";import"@dimjs/utils/cjs/class-names";import"@wove/react/cjs/hooks";import"@dimjs/lang/cjs/is-object";import"@flatbiz/utils";import"react";import"react-ace";import"ace-builds/src-noconflict/ext-language_tools";import"ace-builds/src-noconflict/mode-groovy";import"ace-builds/src-noconflict/snippets/groovy";import"react/jsx-runtime";import"ace-builds/src-noconflict/mode-java";import"ace-builds/src-noconflict/snippets/java";import"ace-builds/src-noconflict/mode-json";import"ace-builds/src-noconflict/snippets/json";import"sql-formatter";import"ace-builds/src-noconflict/mode-mysql";import"ace-builds/src-noconflict/snippets/mysql";import"antd";import"xml-formatter";import"ace-builds/src-noconflict/mode-xml";import"ace-builds/src-noconflict/snippets/xml";import"@dimjs/utils/cjs/get";import"@dimjs/lang/cjs/is-number";import"ahooks";import"@ant-design/icons/es/icons/MoreOutlined";import"@dimjs/lang/cjs/is-undefined";import"@dimjs/lang/cjs/is-plain-object";import"@dimjs/lang/cjs/is-string";import"@dimjs/lang/cjs/is-promise";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-array";import"@dimjs/utils/cjs/extend";import"@ant-design/icons/es/icons/CloseCircleFilled";import"@ant-design/icons/es/icons/RedoOutlined";import"@wove/react/cjs/create-ctx";import"@ant-design/icons/es/icons/CloseCircleOutlined";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"@dimjs/model-react";import"./time-53b3f55f.js";import"@ant-design/icons/es/icons/DeleteOutlined";import"@ant-design/icons/es/icons/CloseOutlined";import"react-dom/client";import"react-draggable";import"./context-1f2093c6.js";import"./dom-4d04aa64.js";import"@dimjs/utils/cjs/array";import"@dnd-kit/core";import"@dnd-kit/sortable";import"@ant-design/icons/es/icons/DragOutlined";import"@dnd-kit/utilities";import"@dnd-kit/modifiers";import"@ant-design/icons/es/icons/SaveOutlined";import"@ant-design/icons/es/icons/ExclamationCircleFilled";import"@ant-design/icons/es/icons/DownOutlined";import"@ant-design/icons/es/icons/UpOutlined";import"react-is";import"@ant-design/icons/es/icons/PlusOutlined";import"@ant-design/icons/es/icons/CheckOutlined";import"@ant-design/icons/es/icons/EditOutlined";import"./context-62955871.js";import"@dimjs/lang/cjs/is-boolean";import"@dimjs/model";import"@wove/react/cjs/editor";import"./use-responsive-point-21b8c601.js";import"@ant-design/icons/es/icons/QuestionCircleFilled";import"@dimjs/lang/cjs/is-deep-equal";import"@tinymce/tinymce-react";import"@ant-design/icons/es/icons/PlusCircleOutlined";import"@ant-design/icons/es/icons/FullscreenOutlined";import"@dimjs/utils/cjs/json";import"pubsub-js";import"react-split";import"@dimjs/lang/cjs/is-empty";import"@ant-design/icons/es/icons/QuestionCircleOutlined";import"dayjs/plugin/isSameOrAfter";import"dayjs/plugin/isSameOrBefore";import"@ant-design/icons/es/icons/CaretDownFilled";import"dequal";import"@dimjs/utils/cjs/tree";import"react-dom";import"simple-mind-map";
|
|
145
|
+
export{AceEditorGroovy}from"./ace-editor-groovy/index.js";export{AceEditorJava}from"./ace-editor-java/index.js";export{AceEditorJson}from"./ace-editor-json/index.js";export{AceEditorMysql}from"./ace-editor-mysql/index.js";export{AceEditorXml}from"./ace-editor-xml/index.js";export{AiSearch}from"./ai-search/index.js";export{AlertWrapper}from"./alert-wrapper/index.js";export{AmountFenInput}from"./amount-fen-input/index.js";export{AmountFenInputFormItem}from"./amount-fen-input-form-item/index.js";export{AnchorSteps}from"./anchor-steps/index.js";export{BlockLayout}from"./block-layout/index.js";export{Bootstrap}from"./bootstrap/index.js";export{BoxGrid,useBoxBreakpoint}from"./box-grid/index.js";export{ButtonOperate,ButtonOperateItemContent}from"./button-operate/index.js";export{ButtonWrapper}from"./button-wrapper/index.js";export{CardLayout}from"./card-layout/index.js";export{CardWrapper}from"./card-wrapper/index.js";export{CascaderWrapper}from"./cascader-wrapper/index.js";export{CheckList}from"./check-list/index.js";export{CheckboxWrapper}from"./checkbox-wrapper/index.js";export{ColorPickerWrapper}from"./color-picker-wrapper/index.js";export{C as ConfigProviderWrapper}from"./index-83bede1b.js";export{createDrawerWrapperModel}from"./create-drawer-wrapper-model/index.js";export{createModalWrapperModel}from"./create-modal-wrapper-model/index.js";export{CssNodeHover}from"./css-node-hover/index.js";export{DataRender}from"./data-render/index.js";export{DatePickerWrapper}from"./date-picker-wrapper/index.js";export{DateRangePickerWrapper}from"./date-range-picker-wrapper/index.js";export{DateRangePickerWrapperFormItem}from"./date-range-picker-wrapper-form-item/index.js";export{DeleteNode}from"./delete-node/index.js";export{dialogAlert}from"./dialog-alert/index.js";export{dialogConfirm}from"./dialog-confirm/index.js";export{dialogDragModal}from"./dialog-drag-modal/index.js";export{dialogDrawer}from"./dialog-drawer/index.js";export{DialogDrawerContent}from"./dialog-drawer-content/index.js";export{dialogLoading}from"./dialog-loading/index.js";export{dialogModal}from"./dialog-modal/index.js";export{dialogPreviewImage}from"./dialog-preview-image/index.js";export{DragCollapse}from"./drag-collapse/index.js";export{DragCollapseFormList}from"./drag-collapse-form-list/index.js";export{DragEditableCard}from"./drag-editable-card/index.js";export{DragEditableTable}from"./drag-editable-table/index.js";export{DragEditableTablePro}from"./drag-editable-table-pro/index.js";export{DragFormList}from"./drag-form-list/index.js";export{DragTable}from"./drag-table/index.js";export{DrawerWrapper}from"./drawer-wrapper/index.js";export{DropdownMenuWrapper}from"./dropdown-menu-wrapper/index.js";export{dynamicNode}from"./dynamic-node/index.js";export{EasyForm}from"./easy-form/index.js";export{EasyTable}from"./easy-table/index.js";export{EditableCard}from"./editable-card/index.js";export{EditableField}from"./editable-field/index.js";export{EditableFieldProvider}from"./editable-field-provider/index.js";export{EditableTable}from"./editable-table/index.js";export{EditableTablePro}from"./editable-table-pro/index.js";export{EditorWrapper}from"./editor-wrapper/index.js";export{ErrorBoundaryWrapper}from"./error-boundary-wrapper/index.js";export{FbaApp}from"./fba-app/index.js";export{fbaHooks}from"./fba-hooks/index.js";export{fbaUtils}from"./fba-utils/index.js";export{FileExport}from"./file-export/index.js";export{FileImport}from"./file-import/index.js";export{FileSelect}from"./file-select/index.js";export{FlexLayout}from"./flex-layout/index.js";export{FormGrid}from"./form-grid/index.js";export{FormItemGroup}from"./form-item-group/index.js";export{FormItemHidden}from"./form-item-hidden/index.js";export{FormItemSpan}from"./form-item-span/index.js";export{FormItemText}from"./form-item-text/index.js";export{FormItemWrapper}from"./form-item-wrapper/index.js";export{FormItemWrapperDependencies}from"./form-item-wrapper-dependencies/index.js";export{FormListWrapper}from"./form-list-wrapper/index.js";export{FormWrapper}from"./form-wrapper/index.js";export{Gap}from"./gap/index.js";export{IconWrapper}from"./icon-wrapper/index.js";export{InputSearchWrapper}from"./input-search-wrapper/index.js";export{InputTextAreaWrapper}from"./input-text-area-wrapper/index.js";export{InputWrapper}from"./input-wrapper/index.js";export{JsonEditor}from"./json-editor/index.js";export{LabelValueLayout}from"./label-value-layout/index.js";export{LabelValueRender}from"./label-value-render/index.js";export{LocalLoading}from"./local-loading/index.js";export{MentionEditor}from"./mention-editor/index.js";export{MentionsWrapper}from"./mentions-wrapper/index.js";export{ModalAction}from"./modal-action/index.js";export{ModalWrapper}from"./modal-wrapper/index.js";export{NumberRangeFormItem}from"./number-range-form-item/index.js";export{PageFixedFooter}from"./page-fixed-footer/index.js";export{Page404}from"./page404/index.js";export{PaginationWrapper}from"./pagination-wrapper/index.js";export{Pdf}from"./pdf/index.js";export{PdfPreview}from"./pdf-preview/index.js";export{PdfPreview2}from"./pdf-preview2/index.js";export{Permission}from"./permission/index.js";export{preDefinedClassName}from"./pre-defined-class-name/index.js";export{RadioGroupWrapper}from"./radio-group-wrapper/index.js";export{RelationTree}from"./relation-tree/index.js";export{RequestStatus}from"./request-status/index.js";export{ResizableDrawer}from"./resizable-drawer/index.js";export{RichTextEditor}from"./rich-text-editor/index.js";export{RichTextViewer}from"./rich-text-viewer/index.js";export{RollLocationCenter}from"./roll-location-center/index.js";export{RollLocationInView}from"./roll-location-in-view/index.js";export{RuleDescribe}from"./rule-describe/index.js";export{SearchForm}from"./search-form/index.js";export{SearchMenu}from"./search-menu/index.js";export{SelectorWrapper}from"./selector-wrapper/index.js";export{SelectorWrapperSearch}from"./selector-wrapper-search/index.js";export{SelectorWrapperSimple}from"./selector-wrapper-simple/index.js";export{SimpleLayout}from"./simple-layout/index.js";export{SmsCountDown}from"./sms-count-down/index.js";export{SplitWrapper}from"./split-wrapper/index.js";export{styles}from"./styles/index.js";export{SvgHttpView}from"./svg-http-view/index.js";export{SwitchConfirmWrapper}from"./switch-confirm-wrapper/index.js";export{SwitchWrapper}from"./switch-wrapper/index.js";export{tableCellRender}from"./table-cell-render/index.js";export{TableScrollbar}from"./table-scrollbar/index.js";export{TableTitleTooltip}from"./table-title-tooltip/index.js";export{TabsSticky}from"./tabs-sticky/index.js";export{TabsWrapper}from"./tabs-wrapper/index.js";export{TagGroup}from"./tag-group/index.js";export{TagListRender}from"./tag-list-render/index.js";export{TagListSelect}from"./tag-list-select/index.js";export{TagWrapper}from"./tag-wrapper/index.js";export{TextCssEllipsis}from"./text-css-ellipsis/index.js";export{TextOverflow}from"./text-overflow/index.js";export{TextOverflowRender}from"./text-overflow-render/index.js";export{TextSymbolWrapper}from"./text-symbol-wrapper/index.js";export{TimePickerWrapper}from"./time-picker-wrapper/index.js";export{TimeRangePickerWrapper}from"./time-range-picker-wrapper/index.js";export{TimeRangePickerWrapperFormItem}from"./time-range-picker-wrapper-form-item/index.js";export{TipsTitle}from"./tips-title/index.js";export{TipsWrapper}from"./tips-wrapper/index.js";export{TreeModal}from"./tree-modal/index.js";export{TreeModalSelector}from"./tree-modal-selector/index.js";export{TreeSelectorWrapper}from"./tree-selector-wrapper/index.js";export{TreeWrapper}from"./tree-wrapper/index.js";export{UploadWrapper}from"./upload-wrapper/index.js";export{XMindPreview}from"./x-mind-preview/index.js";import"./_rollupPluginBabelHelpers-c0dbec57.js";import"@dimjs/utils/cjs/class-names";import"@wove/react/cjs/hooks";import"@dimjs/lang/cjs/is-object";import"@flatbiz/utils";import"react";import"react-ace";import"ace-builds/src-noconflict/ext-language_tools";import"ace-builds/src-noconflict/mode-groovy";import"ace-builds/src-noconflict/snippets/groovy";import"react/jsx-runtime";import"ace-builds/src-noconflict/mode-java";import"ace-builds/src-noconflict/snippets/java";import"ace-builds/src-noconflict/mode-json";import"ace-builds/src-noconflict/snippets/json";import"sql-formatter";import"ace-builds/src-noconflict/mode-mysql";import"ace-builds/src-noconflict/snippets/mysql";import"antd";import"xml-formatter";import"ace-builds/src-noconflict/mode-xml";import"ace-builds/src-noconflict/snippets/xml";import"@flatbiz/ai-request";import"@dimjs/utils/cjs/get";import"@dimjs/lang/cjs/is-number";import"ahooks";import"@ant-design/icons/es/icons/MoreOutlined";import"@dimjs/lang/cjs/is-undefined";import"@dimjs/lang/cjs/is-plain-object";import"@dimjs/lang/cjs/is-string";import"@dimjs/lang/cjs/is-promise";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-array";import"@dimjs/utils/cjs/extend";import"@ant-design/icons/es/icons/CloseCircleFilled";import"@ant-design/icons/es/icons/RedoOutlined";import"@wove/react/cjs/create-ctx";import"@ant-design/icons/es/icons/CloseCircleOutlined";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"@dimjs/model-react";import"./time-53b3f55f.js";import"@ant-design/icons/es/icons/DeleteOutlined";import"@ant-design/icons/es/icons/CloseOutlined";import"react-dom/client";import"react-draggable";import"./context-1f2093c6.js";import"./dom-4d04aa64.js";import"@dimjs/utils/cjs/array";import"@dnd-kit/core";import"@dnd-kit/sortable";import"@ant-design/icons/es/icons/DragOutlined";import"@dnd-kit/utilities";import"@dnd-kit/modifiers";import"@ant-design/icons/es/icons/SaveOutlined";import"@ant-design/icons/es/icons/ExclamationCircleFilled";import"@ant-design/icons/es/icons/DownOutlined";import"@ant-design/icons/es/icons/UpOutlined";import"react-is";import"@ant-design/icons/es/icons/PlusOutlined";import"@ant-design/icons/es/icons/CheckOutlined";import"@ant-design/icons/es/icons/EditOutlined";import"./context-62955871.js";import"@dimjs/lang/cjs/is-boolean";import"@dimjs/model";import"@wove/react/cjs/editor";import"./use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/uuid";import"@ant-design/icons/es/icons/QuestionCircleFilled";import"@dimjs/lang/cjs/is-deep-equal";import"react-dom";import"react-resizable";import"@tinymce/tinymce-react";import"@ant-design/icons/es/icons/PlusCircleOutlined";import"@ant-design/icons/es/icons/FullscreenOutlined";import"@dimjs/utils/cjs/json";import"pubsub-js";import"react-split";import"@dimjs/lang/cjs/is-empty";import"@ant-design/icons/es/icons/QuestionCircleOutlined";import"dayjs/plugin/isSameOrAfter";import"dayjs/plugin/isSameOrBefore";import"@ant-design/icons/es/icons/CaretDownFilled";import"dequal";import"@dimjs/utils/cjs/tree";import"simple-mind-map";
|
|
144
146
|
//# sourceMappingURL=index.js.map
|
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
import './../fba-hooks/index.css';
|
|
3
3
|
import './index.css';
|
|
4
4
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
5
|
-
import{a as r,_ as e}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{hooks as t}from"@wove/react/cjs/hooks";import{isUndefinedOrNull as o}from"@flatbiz/utils";import{Input as n}from"antd";import{useRef as a,useState as i,createElement as u}from"react";import{fbaHooks as s}from"../fba-hooks/index.js";import"@dimjs/lang/cjs/is-array";import"../use-responsive-point-21b8c601.js";var f=["value"];var l=function l(m){var p=m.value,c=r(m,f);var v=a();var
|
|
5
|
+
import{a as r,_ as e}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{hooks as t}from"@wove/react/cjs/hooks";import{isUndefinedOrNull as o}from"@flatbiz/utils";import{Input as n}from"antd";import{useRef as a,useState as i,createElement as u}from"react";import{fbaHooks as s}from"../fba-hooks/index.js";import"@dimjs/lang/cjs/is-array";import"../use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/uuid";var f=["value"];var l=function l(m){var p=m.value,c=r(m,f);var v=a();var j=a(true);var C=i(0),d=C[0],g=C[1];s.useEffectCustom((function(){if(o(p)&&j.current)return;j.current=false;if(p===v.current&&!o(p))return;g(Date.now())}),[p]);var h=t.useCallbackRef((function(r){if(r.nativeEvent["inputType"]==="insertCompositionText"){return}v.current=r.target.value;m.onChange==null||m.onChange(r)}));var b=t.useCallbackRef((function(r){h(r)}));return u(n.Search,e({},c,{key:d,onCompositionEnd:b,onChange:h,defaultValue:p}))};export{l as InputSearchWrapper};
|
|
6
6
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/input-search-wrapper/input-search-wrapper.tsx"],"sourcesContent":["import { isUndefinedOrNull, TAny } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Input } from 'antd';\nimport { SearchProps } from 'antd/lib/input';\nimport { useRef, useState } from 'react';\nimport { fbaHooks } from '../fba-hooks';\n\nexport type InputSearchWrapperProps = Omit<SearchProps, 'defaultValue'>;\n\n/**\n * ```\n * 1. 在输入框内输入拼音的时候,在拼音尚未输入完成时,字母会触发Input的onChange事件;导致以上效果的原因是input事件没办法知道我们在使用中文输入法\n * 2. 此处封装可以解决此问题,在输入拼音未完成时不会触达onChange,选择拼音结果触发onChange\n *\n * 3. 设置value时,内部可将受控操作转为非受控操作(具体实现逻辑,自行查看源码)\n * 4. 适用场景:需要通过onChange事件处理业务逻辑,例如:在onChange中调用接口数据\n * 5. defaultValue不可使用\n *\n * ```\n */\nexport const InputSearchWrapper = (props: InputSearchWrapperProps) => {\n const { value, ...otherProps } = props;\n const inputValueRef = useRef<string>();\n const isFirstUseValueRef = useRef(true);\n const [defaultSearchInputKey, setDefaultSearchInputKey] = useState(0);\n\n fbaHooks.useEffectCustom(() => {\n if (isUndefinedOrNull(value) && isFirstUseValueRef.current) return;\n isFirstUseValueRef.current = false;\n if (value === inputValueRef.current && !isUndefinedOrNull(value)) return;\n setDefaultSearchInputKey(Date.now());\n }, [value]);\n\n const onChange = hooks.useCallbackRef((event) => {\n if (event.nativeEvent['inputType'] === 'insertCompositionText') {\n return;\n }\n inputValueRef.current = event.target.value;\n props.onChange?.(event);\n });\n\n const onCompositionEnd = hooks.useCallbackRef((event) => {\n onChange(event);\n });\n\n return (\n <Input.Search\n {...otherProps}\n key={defaultSearchInputKey}\n onCompositionEnd={onCompositionEnd}\n onChange={onChange}\n defaultValue={value as TAny}\n />\n );\n};\n"],"names":["InputSearchWrapper","props","value","otherProps","_objectWithoutPropertiesLoose","_excluded","inputValueRef","useRef","isFirstUseValueRef","_useState","useState","defaultSearchInputKey","setDefaultSearchInputKey","fbaHooks","useEffectCustom","isUndefinedOrNull","current","Date","now","onChange","_hooks","useCallbackRef","event","nativeEvent","target","onCompositionEnd","_createElement","Input","Search","_extends","key","defaultValue"],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/input-search-wrapper/input-search-wrapper.tsx"],"sourcesContent":["import { isUndefinedOrNull, TAny } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Input } from 'antd';\nimport { SearchProps } from 'antd/lib/input';\nimport { useRef, useState } from 'react';\nimport { fbaHooks } from '../fba-hooks';\n\nexport type InputSearchWrapperProps = Omit<SearchProps, 'defaultValue'>;\n\n/**\n * ```\n * 1. 在输入框内输入拼音的时候,在拼音尚未输入完成时,字母会触发Input的onChange事件;导致以上效果的原因是input事件没办法知道我们在使用中文输入法\n * 2. 此处封装可以解决此问题,在输入拼音未完成时不会触达onChange,选择拼音结果触发onChange\n *\n * 3. 设置value时,内部可将受控操作转为非受控操作(具体实现逻辑,自行查看源码)\n * 4. 适用场景:需要通过onChange事件处理业务逻辑,例如:在onChange中调用接口数据\n * 5. defaultValue不可使用\n *\n * ```\n */\nexport const InputSearchWrapper = (props: InputSearchWrapperProps) => {\n const { value, ...otherProps } = props;\n const inputValueRef = useRef<string>();\n const isFirstUseValueRef = useRef(true);\n const [defaultSearchInputKey, setDefaultSearchInputKey] = useState(0);\n\n fbaHooks.useEffectCustom(() => {\n if (isUndefinedOrNull(value) && isFirstUseValueRef.current) return;\n isFirstUseValueRef.current = false;\n if (value === inputValueRef.current && !isUndefinedOrNull(value)) return;\n setDefaultSearchInputKey(Date.now());\n }, [value]);\n\n const onChange = hooks.useCallbackRef((event) => {\n if (event.nativeEvent['inputType'] === 'insertCompositionText') {\n return;\n }\n inputValueRef.current = event.target.value;\n props.onChange?.(event);\n });\n\n const onCompositionEnd = hooks.useCallbackRef((event) => {\n onChange(event);\n });\n\n return (\n <Input.Search\n {...otherProps}\n key={defaultSearchInputKey}\n onCompositionEnd={onCompositionEnd}\n onChange={onChange}\n defaultValue={value as TAny}\n />\n );\n};\n"],"names":["InputSearchWrapper","props","value","otherProps","_objectWithoutPropertiesLoose","_excluded","inputValueRef","useRef","isFirstUseValueRef","_useState","useState","defaultSearchInputKey","setDefaultSearchInputKey","fbaHooks","useEffectCustom","isUndefinedOrNull","current","Date","now","onChange","_hooks","useCallbackRef","event","nativeEvent","target","onCompositionEnd","_createElement","Input","Search","_extends","key","defaultValue"],"mappings":";kbAoBaA,EAAqB,SAArBA,EAAsBC,GACjC,IAAQC,EAAyBD,EAAzBC,MAAUC,EAAUC,EAAKH,EAAKI,GACtC,IAAMC,EAAgBC,IACtB,IAAMC,EAAqBD,EAAO,MAClC,IAAAE,EAA0DC,EAAS,GAA5DC,EAAqBF,EAAA,GAAEG,EAAwBH,EAAA,GAEtDI,EAASC,iBAAgB,WACvB,GAAIC,EAAkBb,IAAUM,EAAmBQ,QAAS,OAC5DR,EAAmBQ,QAAU,MAC7B,GAAId,IAAUI,EAAcU,UAAYD,EAAkBb,GAAQ,OAClEU,EAAyBK,KAAKC,MAChC,GAAG,CAAChB,IAEJ,IAAMiB,EAAWC,EAAMC,gBAAe,SAACC,GACrC,GAAIA,EAAMC,YAAY,eAAiB,wBAAyB,CAC9D,MACF,CACAjB,EAAcU,QAAUM,EAAME,OAAOtB,MACrCD,EAAMkB,UAANlB,MAAAA,EAAMkB,SAAWG,EACnB,IAEA,IAAMG,EAAmBL,EAAMC,gBAAe,SAACC,GAC7CH,EAASG,EACX,IAEA,OACEI,EAACC,EAAMC,OAAMC,KACP1B,EAAU,CACd2B,IAAKnB,EACLc,iBAAkBA,EAClBN,SAAUA,EACVY,aAAc7B,IAGpB"}
|
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
import './../fba-hooks/index.css';
|
|
3
3
|
import './index.css';
|
|
4
4
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
5
|
-
import{a as r,_ as e}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{hooks as
|
|
5
|
+
import{a as r,_ as e}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{hooks as t}from"@wove/react/cjs/hooks";import{Input as o}from"antd";import{isUndefinedOrNull as n}from"@flatbiz/utils";import{useRef as a,useState as i,createElement as u}from"react";import{fbaHooks as s}from"../fba-hooks/index.js";import"@dimjs/lang/cjs/is-array";import"../use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/uuid";var l=["value","debounceDuration"];var f=function f(m){var c=m.value,p=m.debounceDuration,v=r(m,l);var d=a();var b=a(true);var j=i(0),C=j[0],g=j[1];s.useEffectCustom((function(){if(n(c)&&b.current)return;b.current=false;if(c===d.current&&!n(c))return;g(Date.now())}),[c]);var h=t.useDebounceCallback((function(r){if(r.nativeEvent["inputType"]==="insertCompositionText"){return}d.current=r.target.value;m.onChange==null||m.onChange(r)}),p||0);var k=t.useCallbackRef((function(r){h(r)}));return u(o.TextArea,e({},v,{key:C,onCompositionEnd:k,onChange:h,defaultValue:c}))};export{f as InputTextAreaWrapper};
|
|
6
6
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/input-text-area-wrapper/input-text-area-wrapper.tsx"],"sourcesContent":["import { Input } from 'antd';\nimport { TextAreaProps } from 'antd/lib/input';\n\nimport { isUndefinedOrNull, TAny } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { useRef, useState } from 'react';\nimport { fbaHooks } from '../fba-hooks';\n\nexport type InputTextAreaWrapperProps = Omit<TextAreaProps, 'defaultValue'> & {\n // 防抖触发时间,单位毫秒 默认值:0\n debounceDuration?: number;\n};\n\n/**\n * ```\n * 1. 在输入框内输入拼音的时候,在拼音尚未输入完成时,字母会触发Input的onChange事件;导致以上效果的原因是input事件没办法知道我们在使用中文输入法\n * 2. 此处封装可以解决此问题,在输入拼音未完成时不会触达onChange,选择拼音结果触发onChange\n *\n * 3. 设置value时,内部可将受控操作转为非受控操作(具体实现逻辑,自行查看源码)\n * 4. 适用场景:需要通过onChange事件处理业务逻辑,例如:在onChange中调用接口数据\n * 5. defaultValue不可使用\n *\n * ```\n */\nexport const InputTextAreaWrapper = (props: InputTextAreaWrapperProps) => {\n const { value, debounceDuration, ...otherProps } = props;\n const inputValueRef = useRef<string>();\n const isFirstUseValueRef = useRef(true);\n const [inputKey, seInputKey] = useState(0);\n\n fbaHooks.useEffectCustom(() => {\n if (isUndefinedOrNull(value) && isFirstUseValueRef.current) return;\n isFirstUseValueRef.current = false;\n if (value === inputValueRef.current && !isUndefinedOrNull(value)) return;\n seInputKey(Date.now());\n }, [value]);\n\n const onChange = hooks.useDebounceCallback((event) => {\n if (event.nativeEvent['inputType'] === 'insertCompositionText') {\n return;\n }\n inputValueRef.current = event.target.value;\n props.onChange?.(event);\n }, debounceDuration || 0);\n\n const onCompositionEnd = hooks.useCallbackRef((event) => {\n onChange(event);\n });\n\n return (\n <Input.TextArea\n {...otherProps}\n key={inputKey}\n onCompositionEnd={onCompositionEnd}\n onChange={onChange}\n defaultValue={value as TAny}\n />\n );\n};\n"],"names":["InputTextAreaWrapper","props","value","debounceDuration","otherProps","_objectWithoutPropertiesLoose","_excluded","inputValueRef","useRef","isFirstUseValueRef","_useState","useState","inputKey","seInputKey","fbaHooks","useEffectCustom","isUndefinedOrNull","current","Date","now","onChange","_hooks","useDebounceCallback","event","nativeEvent","target","onCompositionEnd","useCallbackRef","_createElement","Input","TextArea","_extends","key","defaultValue"],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/input-text-area-wrapper/input-text-area-wrapper.tsx"],"sourcesContent":["import { Input } from 'antd';\nimport { TextAreaProps } from 'antd/lib/input';\n\nimport { isUndefinedOrNull, TAny } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { useRef, useState } from 'react';\nimport { fbaHooks } from '../fba-hooks';\n\nexport type InputTextAreaWrapperProps = Omit<TextAreaProps, 'defaultValue'> & {\n // 防抖触发时间,单位毫秒 默认值:0\n debounceDuration?: number;\n};\n\n/**\n * ```\n * 1. 在输入框内输入拼音的时候,在拼音尚未输入完成时,字母会触发Input的onChange事件;导致以上效果的原因是input事件没办法知道我们在使用中文输入法\n * 2. 此处封装可以解决此问题,在输入拼音未完成时不会触达onChange,选择拼音结果触发onChange\n *\n * 3. 设置value时,内部可将受控操作转为非受控操作(具体实现逻辑,自行查看源码)\n * 4. 适用场景:需要通过onChange事件处理业务逻辑,例如:在onChange中调用接口数据\n * 5. defaultValue不可使用\n *\n * ```\n */\nexport const InputTextAreaWrapper = (props: InputTextAreaWrapperProps) => {\n const { value, debounceDuration, ...otherProps } = props;\n const inputValueRef = useRef<string>();\n const isFirstUseValueRef = useRef(true);\n const [inputKey, seInputKey] = useState(0);\n\n fbaHooks.useEffectCustom(() => {\n if (isUndefinedOrNull(value) && isFirstUseValueRef.current) return;\n isFirstUseValueRef.current = false;\n if (value === inputValueRef.current && !isUndefinedOrNull(value)) return;\n seInputKey(Date.now());\n }, [value]);\n\n const onChange = hooks.useDebounceCallback((event) => {\n if (event.nativeEvent['inputType'] === 'insertCompositionText') {\n return;\n }\n inputValueRef.current = event.target.value;\n props.onChange?.(event);\n }, debounceDuration || 0);\n\n const onCompositionEnd = hooks.useCallbackRef((event) => {\n onChange(event);\n });\n\n return (\n <Input.TextArea\n {...otherProps}\n key={inputKey}\n onCompositionEnd={onCompositionEnd}\n onChange={onChange}\n defaultValue={value as TAny}\n />\n );\n};\n"],"names":["InputTextAreaWrapper","props","value","debounceDuration","otherProps","_objectWithoutPropertiesLoose","_excluded","inputValueRef","useRef","isFirstUseValueRef","_useState","useState","inputKey","seInputKey","fbaHooks","useEffectCustom","isUndefinedOrNull","current","Date","now","onChange","_hooks","useDebounceCallback","event","nativeEvent","target","onCompositionEnd","useCallbackRef","_createElement","Input","TextArea","_extends","key","defaultValue"],"mappings":";qcAwBaA,EAAuB,SAAvBA,EAAwBC,GACnC,IAAQC,EAA2CD,EAA3CC,MAAOC,EAAoCF,EAApCE,iBAAqBC,EAAUC,EAAKJ,EAAKK,GACxD,IAAMC,EAAgBC,IACtB,IAAMC,EAAqBD,EAAO,MAClC,IAAAE,EAA+BC,EAAS,GAAjCC,EAAQF,EAAA,GAAEG,EAAUH,EAAA,GAE3BI,EAASC,iBAAgB,WACvB,GAAIC,EAAkBd,IAAUO,EAAmBQ,QAAS,OAC5DR,EAAmBQ,QAAU,MAC7B,GAAIf,IAAUK,EAAcU,UAAYD,EAAkBd,GAAQ,OAClEW,EAAWK,KAAKC,MAClB,GAAG,CAACjB,IAEJ,IAAMkB,EAAWC,EAAMC,qBAAoB,SAACC,GAC1C,GAAIA,EAAMC,YAAY,eAAiB,wBAAyB,CAC9D,MACF,CACAjB,EAAcU,QAAUM,EAAME,OAAOvB,MACrCD,EAAMmB,UAANnB,MAAAA,EAAMmB,SAAWG,EACnB,GAAGpB,GAAoB,GAEvB,IAAMuB,EAAmBL,EAAMM,gBAAe,SAACJ,GAC7CH,EAASG,EACX,IAEA,OACEK,EAACC,EAAMC,SAAQC,KACT3B,EAAU,CACd4B,IAAKpB,EACLc,iBAAkBA,EAClBN,SAAUA,EACVa,aAAc/B,IAGpB"}
|
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
import './../fba-hooks/index.css';
|
|
3
3
|
import './index.css';
|
|
4
4
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
5
|
-
import{a as r,_ as e}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{hooks as o}from"@wove/react/cjs/hooks";import{isUndefinedOrNull as
|
|
5
|
+
import{a as r,_ as e}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{hooks as o}from"@wove/react/cjs/hooks";import{isUndefinedOrNull as t}from"@flatbiz/utils";import{Input as n}from"antd";import{useRef as a,useState as i,createElement as u}from"react";import{fbaHooks as s}from"../fba-hooks/index.js";import"@dimjs/lang/cjs/is-array";import"../use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/uuid";var l=["value","debounceDuration"];var f=function f(m){var c=m.value,p=m.debounceDuration,v=r(m,l);var d=a();var b=a(true);var j=i(0),C=j[0],g=j[1];s.useEffectCustom((function(){if(t(c)&&b.current)return;b.current=false;if(c===d.current&&!t(c))return;g(Date.now())}),[c]);var h=o.useDebounceCallback((function(r){if(r.nativeEvent["inputType"]==="insertCompositionText"){return}d.current=r.target.value;m.onChange==null||m.onChange(r)}),p||0);var k=o.useCallbackRef((function(r){h(r)}));return u(n,e({},v,{key:C,onCompositionEnd:k,onChange:h,defaultValue:c}))};export{f as InputWrapper};
|
|
6
6
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/input-wrapper/input-wrapper.tsx"],"sourcesContent":["import { isUndefinedOrNull, TAny } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Input, InputProps } from 'antd';\nimport { useRef, useState } from 'react';\nimport { fbaHooks } from '../fba-hooks';\n\nexport type InputWrapperProps = Omit<InputProps, 'defaultValue'> & {\n // 防抖触发时间,单位毫秒 默认值:0\n debounceDuration?: number;\n};\n\n/**\n * ```\n * 1. 在输入框内输入拼音的时候,在拼音尚未输入完成时,字母会触发Input的onChange事件;导致以上效果的原因是input事件没办法知道我们在使用中文输入法\n * 2. 此处封装可以解决此问题,在输入拼音未完成时不会触达onChange,选择拼音结果触发onChange\n *\n * 3. 设置value时,内部可将受控操作转为非受控操作(具体实现逻辑,自行查看源码)\n * 4. 适用场景:需要通过onChange事件处理业务逻辑,例如:在onChange中调用接口数据\n * 5. defaultValue不可使用\n * 6. 可设置防抖执行时间\n * ```\n */\nexport const InputWrapper = (props: InputWrapperProps) => {\n const { value, debounceDuration, ...otherProps } = props;\n const inputValueRef = useRef<string>();\n const isFirstUseValueRef = useRef(true);\n const [inputKey, setInputKey] = useState(0);\n\n fbaHooks.useEffectCustom(() => {\n if (isUndefinedOrNull(value) && isFirstUseValueRef.current) return;\n isFirstUseValueRef.current = false;\n if (value === inputValueRef.current && !isUndefinedOrNull(value)) return;\n setInputKey(Date.now());\n }, [value]);\n\n const onChange = hooks.useDebounceCallback((event) => {\n if (event.nativeEvent['inputType'] === 'insertCompositionText') {\n return;\n }\n inputValueRef.current = event.target.value;\n props.onChange?.(event);\n }, debounceDuration || 0);\n\n const onCompositionEnd = hooks.useCallbackRef((event) => {\n onChange(event);\n });\n\n return (\n <Input\n {...otherProps}\n key={inputKey}\n onCompositionEnd={onCompositionEnd}\n onChange={onChange}\n defaultValue={value as TAny}\n />\n );\n};\n"],"names":["InputWrapper","props","value","debounceDuration","otherProps","_objectWithoutPropertiesLoose","_excluded","inputValueRef","useRef","isFirstUseValueRef","_useState","useState","inputKey","setInputKey","fbaHooks","useEffectCustom","isUndefinedOrNull","current","Date","now","onChange","_hooks","useDebounceCallback","event","nativeEvent","target","onCompositionEnd","useCallbackRef","_createElement","Input","_extends","key","defaultValue"],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/input-wrapper/input-wrapper.tsx"],"sourcesContent":["import { isUndefinedOrNull, TAny } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Input, InputProps } from 'antd';\nimport { useRef, useState } from 'react';\nimport { fbaHooks } from '../fba-hooks';\n\nexport type InputWrapperProps = Omit<InputProps, 'defaultValue'> & {\n // 防抖触发时间,单位毫秒 默认值:0\n debounceDuration?: number;\n};\n\n/**\n * ```\n * 1. 在输入框内输入拼音的时候,在拼音尚未输入完成时,字母会触发Input的onChange事件;导致以上效果的原因是input事件没办法知道我们在使用中文输入法\n * 2. 此处封装可以解决此问题,在输入拼音未完成时不会触达onChange,选择拼音结果触发onChange\n *\n * 3. 设置value时,内部可将受控操作转为非受控操作(具体实现逻辑,自行查看源码)\n * 4. 适用场景:需要通过onChange事件处理业务逻辑,例如:在onChange中调用接口数据\n * 5. defaultValue不可使用\n * 6. 可设置防抖执行时间\n * ```\n */\nexport const InputWrapper = (props: InputWrapperProps) => {\n const { value, debounceDuration, ...otherProps } = props;\n const inputValueRef = useRef<string>();\n const isFirstUseValueRef = useRef(true);\n const [inputKey, setInputKey] = useState(0);\n\n fbaHooks.useEffectCustom(() => {\n if (isUndefinedOrNull(value) && isFirstUseValueRef.current) return;\n isFirstUseValueRef.current = false;\n if (value === inputValueRef.current && !isUndefinedOrNull(value)) return;\n setInputKey(Date.now());\n }, [value]);\n\n const onChange = hooks.useDebounceCallback((event) => {\n if (event.nativeEvent['inputType'] === 'insertCompositionText') {\n return;\n }\n inputValueRef.current = event.target.value;\n props.onChange?.(event);\n }, debounceDuration || 0);\n\n const onCompositionEnd = hooks.useCallbackRef((event) => {\n onChange(event);\n });\n\n return (\n <Input\n {...otherProps}\n key={inputKey}\n onCompositionEnd={onCompositionEnd}\n onChange={onChange}\n defaultValue={value as TAny}\n />\n );\n};\n"],"names":["InputWrapper","props","value","debounceDuration","otherProps","_objectWithoutPropertiesLoose","_excluded","inputValueRef","useRef","isFirstUseValueRef","_useState","useState","inputKey","setInputKey","fbaHooks","useEffectCustom","isUndefinedOrNull","current","Date","now","onChange","_hooks","useDebounceCallback","event","nativeEvent","target","onCompositionEnd","useCallbackRef","_createElement","Input","_extends","key","defaultValue"],"mappings":";qcAsBaA,EAAe,SAAfA,EAAgBC,GAC3B,IAAQC,EAA2CD,EAA3CC,MAAOC,EAAoCF,EAApCE,iBAAqBC,EAAUC,EAAKJ,EAAKK,GACxD,IAAMC,EAAgBC,IACtB,IAAMC,EAAqBD,EAAO,MAClC,IAAAE,EAAgCC,EAAS,GAAlCC,EAAQF,EAAA,GAAEG,EAAWH,EAAA,GAE5BI,EAASC,iBAAgB,WACvB,GAAIC,EAAkBd,IAAUO,EAAmBQ,QAAS,OAC5DR,EAAmBQ,QAAU,MAC7B,GAAIf,IAAUK,EAAcU,UAAYD,EAAkBd,GAAQ,OAClEW,EAAYK,KAAKC,MACnB,GAAG,CAACjB,IAEJ,IAAMkB,EAAWC,EAAMC,qBAAoB,SAACC,GAC1C,GAAIA,EAAMC,YAAY,eAAiB,wBAAyB,CAC9D,MACF,CACAjB,EAAcU,QAAUM,EAAME,OAAOvB,MACrCD,EAAMmB,UAANnB,MAAAA,EAAMmB,SAAWG,EACnB,GAAGpB,GAAoB,GAEvB,IAAMuB,EAAmBL,EAAMM,gBAAe,SAACJ,GAC7CH,EAASG,EACX,IAEA,OACEK,EAACC,EAAKC,KACA1B,EAAU,CACd2B,IAAKnB,EACLc,iBAAkBA,EAClBN,SAAUA,EACVY,aAAc9B,IAGpB"}
|
package/esm/json-editor/index.js
CHANGED
|
@@ -8,5 +8,5 @@ import './../error-boundary-wrapper/index.css';
|
|
|
8
8
|
import './../flex-layout/index.css';
|
|
9
9
|
import './index.css';
|
|
10
10
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
11
|
-
import{a as e,_ as t}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{hooks as i}from"@wove/react/cjs/hooks";import{isObject as o}from"@dimjs/lang/cjs/is-object";import{isUndefinedOrNull as
|
|
11
|
+
import{a as e,_ as t}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{hooks as i}from"@wove/react/cjs/hooks";import{isObject as o}from"@dimjs/lang/cjs/is-object";import{isUndefinedOrNull as r,jsonStringToJsonObject as n}from"@flatbiz/utils";import"ace-builds/src-noconflict/ext-language_tools";import"ace-builds/src-noconflict/mode-json";import{useState as a,useRef as s,useMemo as l}from"react";import m from"react-ace";import{ButtonWrapper as u}from"../button-wrapper/index.js";import{ErrorBoundaryWrapper as c}from"../error-boundary-wrapper/index.js";import{FlexLayout as d}from"../flex-layout/index.js";import{jsxs as p,jsx as f}from"react/jsx-runtime";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-promise";import"@dimjs/utils/cjs/class-names";import"antd";import"../index-83bede1b.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"@dimjs/utils/cjs/uuid";import"@dimjs/utils/cjs/extend";import"../fba-utils/index.js";import"@dimjs/model";var j=["value","onChange","theme","height","showVerifyBtn","autoCompleterList"];var h=function h(g){var v=g.value,y=g.onChange,b=g.theme,w=g.height,x=g.showVerifyBtn,C=g.autoCompleterList,k=e(g,j);var L=r(w)?"100%":w;var N=a(Date.now()),z=N[0],B=N[1];var O=a(),S=O[0],_=O[1];var R=s();var V=l((function(){if(o(v)){return JSON.stringify(v,null,2)}return v}),[v]);var A=i.useCallbackRef((function(e){if(S){if(!e){_(undefined)}else{try{var t=n(e);_(t?undefined:undefined)}catch(e){}}}y==null||y(e)}));var D=i.useCallbackRef((function(e,t,i,o,r){r(null,C==null?void 0:C.map((function(e){return{name:e.name,value:e.name,meta:e.desc}})))}));var P=function e(t){R.current=t;var i=t.completers.findIndex((function(e){return e.id==="custom"}));if(i>=0){t.completers[i]={getCompletions:D,id:"custom"}}else{t.completers.push({getCompletions:D,id:"custom"})}};var F=function e(t){try{var i=n(t);y==null||y(i)}catch(e){_('数据解析异常,正确格式:{"name":"张三", "age": 20}')}};return p(d,{fullIndex:0,className:"json-editor",style:{height:L},children:[f("div",{className:"json-editor-ace",children:f(c,{onRenderReset:function e(){y==null||y(undefined);B(Date.now())},children:f(m,t({fontSize:14,showPrintMargin:true,showGutter:true,highlightActiveLine:true,height:"100%",width:"auto"},k,{setOptions:t({useWorker:false,enableBasicAutocompletion:false,enableLiveAutocompletion:true,enableSnippets:false,showLineNumbers:true,tabSize:2},k.setOptions),theme:b,mode:"json",onLoad:P,onChange:A,onBlur:function e(t,i){var o=i==null?void 0:i.getValue();if(o){F(o)}},value:V}))})}),p("div",{className:"json-editor-erify",children:[x!==false?f(u,{style:{marginTop:10},block:false,onClick:function e(){var t;var i=(t=R.current)==null?void 0:t.getValue();if(!i){y==null||y(i);return}F(i)},children:"验证数据"}):null,S?f("span",{style:{color:"red",marginLeft:10},children:S}):null]})]},z)};export{h as JsonEditor};
|
|
12
12
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/json-editor/editor.tsx"],"sourcesContent":["import { isObject } from '@dimjs/lang';\nimport { isUndefinedOrNull, jsonStringToJsonObject, TAny, type TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport 'ace-builds/src-noconflict/ext-language_tools';\nimport 'ace-builds/src-noconflict/mode-json';\nimport { useMemo, useRef, useState } from 'react';\nimport Ace, { type IAceEditorProps } from 'react-ace';\nimport { ButtonWrapper } from '../button-wrapper';\nimport { ErrorBoundaryWrapper } from '../error-boundary-wrapper';\nimport { FlexLayout } from '../flex-layout';\n\nexport type JsonEditorProps = Omit<IAceEditorProps, 'onLoad' | 'mode' | 'value' | 'onChange'> & {\n /** 编辑器高度,默认值:100%,可输入值例如 300px、100% */\n height?: string;\n value?: string | TPlainObject | TPlainObject[];\n onChange?: (value?: string | TPlainObject | TPlainObject[]) => void;\n /** 配置输入自动提示关键字 */\n autoCompleterList?: { name: string; desc?: string }[];\n /** 是否显示【验证数据】按钮,默认值:true */\n showVerifyBtn?: boolean;\n /**\n * 编辑器主题配置\n * ```\n * 1. 顶部引入 import 'ace-builds/src-noconflict/theme-xxxx';\n * 2. 配置 theme = xxxx\n * ```\n */\n theme?: string;\n};\n\n/**\n * Json编辑器\n * @deprecated 已过期,请使用 AceEditorJson 组件\n * ```\n * 1. 受控组件,需要使用value、onChange配合显示数据\n * 2. heigth 默认为100%,如果外层无高度,需要自定义设置height属性\n * 3. 通过 autoCompleterList 配置自动提示关键字\n * 4. 通过 showVerifyBtn配置是否显示【验证数据】按钮\n * 5. 通过 theme 配置编辑器主题,例如:\n * 5.1 顶部引入 import 'ace-builds/src-noconflict/theme-xxxx';\n * 5.2 配置 theme = xxxx\n * ```\n */\nexport const JsonEditor = (props: JsonEditorProps) => {\n const { value, onChange, theme, height, showVerifyBtn, autoCompleterList, ...otherProps } = props;\n const heightFt = isUndefinedOrNull(height) ? '100%' : height;\n\n const [rootNodekey, setRootNodekey] = useState(Date.now());\n const [errorMsg, setErrorMsg] = useState<string>();\n\n const editorRef = useRef<TAny>();\n\n const valueNew = useMemo(() => {\n if (isObject(value)) {\n return JSON.stringify(value, null, 2);\n }\n return value as string | undefined;\n }, [value]);\n\n const handleChange = hooks.useCallbackRef((content: string) => {\n if (errorMsg) {\n if (!content) {\n setErrorMsg(undefined);\n } else {\n try {\n const result = jsonStringToJsonObject(content);\n setErrorMsg(result ? undefined : undefined);\n } catch (error: TAny) {\n // 异常不处理\n }\n }\n }\n onChange?.(content);\n });\n\n const getCompletions = hooks.useCallbackRef((_a, _b, _c, _d, callback) => {\n callback(\n null,\n autoCompleterList?.map((item) => ({\n name: item.name,\n value: item.name,\n // score: 100,\n meta: item.desc,\n })),\n );\n });\n\n const onLoad = (editor) => {\n editorRef.current = editor;\n /** 向编辑器中添加自动补全列表 */\n const findIndex = editor.completers.findIndex((item) => item.id === 'custom');\n if (findIndex >= 0) {\n editor.completers[findIndex] = { getCompletions, id: 'custom' };\n } else {\n editor.completers.push({ getCompletions, id: 'custom' });\n }\n };\n\n const inputValueVerify = (inputValue: string) => {\n try {\n const result = jsonStringToJsonObject(inputValue);\n onChange?.(result);\n } catch (error: TAny) {\n setErrorMsg('数据解析异常,正确格式:{\"name\":\"张三\", \"age\": 20}');\n }\n };\n\n return (\n <FlexLayout fullIndex={0} className=\"json-editor\" key={rootNodekey} style={{ height: heightFt }}>\n <div className=\"json-editor-ace\">\n <ErrorBoundaryWrapper\n onRenderReset={() => {\n onChange?.(undefined);\n setRootNodekey(Date.now());\n }}\n >\n <Ace\n fontSize={14}\n showPrintMargin={true}\n showGutter={true}\n highlightActiveLine={true}\n height=\"100%\"\n width=\"auto\"\n {...otherProps}\n setOptions={{\n useWorker: false,\n enableBasicAutocompletion: false,\n enableLiveAutocompletion: true,\n enableSnippets: false,\n showLineNumbers: true,\n tabSize: 2,\n ...otherProps.setOptions,\n }}\n theme={theme}\n mode=\"json\"\n onLoad={onLoad}\n onChange={handleChange}\n onBlur={(_event, editor) => {\n const value = editor?.getValue();\n if (value) {\n inputValueVerify(value);\n }\n }}\n value={valueNew}\n />\n </ErrorBoundaryWrapper>\n </div>\n <div className=\"json-editor-erify\">\n {showVerifyBtn !== false ? (\n <ButtonWrapper\n style={{ marginTop: 10 }}\n block={false}\n onClick={() => {\n const currentValue = editorRef.current?.getValue();\n if (!currentValue) {\n onChange?.(currentValue);\n return;\n }\n inputValueVerify(currentValue);\n }}\n >\n 验证数据\n </ButtonWrapper>\n ) : null}\n {errorMsg ? <span style={{ color: 'red', marginLeft: 10 }}>{errorMsg}</span> : null}\n </div>\n </FlexLayout>\n );\n};\n"],"names":["JsonEditor","props","value","onChange","theme","height","showVerifyBtn","autoCompleterList","otherProps","_objectWithoutPropertiesLoose","_excluded","heightFt","isUndefinedOrNull","_useState","useState","Date","now","rootNodekey","setRootNodekey","_useState2","errorMsg","setErrorMsg","editorRef","useRef","valueNew","useMemo","_isObject","JSON","stringify","handleChange","_hooks","useCallbackRef","content","undefined","result","jsonStringToJsonObject","error","getCompletions","_a","_b","_c","_d","callback","map","item","name","meta","desc","onLoad","editor","current","findIndex","completers","id","push","inputValueVerify","inputValue","_jsxs","FlexLayout","fullIndex","className","style","children","_jsx","ErrorBoundaryWrapper","onRenderReset","Ace","_extends","fontSize","showPrintMargin","showGutter","highlightActiveLine","width","setOptions","useWorker","enableBasicAutocompletion","enableLiveAutocompletion","enableSnippets","showLineNumbers","tabSize","mode","onBlur","_event","getValue","ButtonWrapper","marginTop","block","onClick","_editorRef$current","currentValue","color","marginLeft"],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/json-editor/editor.tsx"],"sourcesContent":["import { isObject } from '@dimjs/lang';\nimport { isUndefinedOrNull, jsonStringToJsonObject, TAny, type TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport 'ace-builds/src-noconflict/ext-language_tools';\nimport 'ace-builds/src-noconflict/mode-json';\nimport { useMemo, useRef, useState } from 'react';\nimport Ace, { type IAceEditorProps } from 'react-ace';\nimport { ButtonWrapper } from '../button-wrapper';\nimport { ErrorBoundaryWrapper } from '../error-boundary-wrapper';\nimport { FlexLayout } from '../flex-layout';\n\nexport type JsonEditorProps = Omit<IAceEditorProps, 'onLoad' | 'mode' | 'value' | 'onChange'> & {\n /** 编辑器高度,默认值:100%,可输入值例如 300px、100% */\n height?: string;\n value?: string | TPlainObject | TPlainObject[];\n onChange?: (value?: string | TPlainObject | TPlainObject[]) => void;\n /** 配置输入自动提示关键字 */\n autoCompleterList?: { name: string; desc?: string }[];\n /** 是否显示【验证数据】按钮,默认值:true */\n showVerifyBtn?: boolean;\n /**\n * 编辑器主题配置\n * ```\n * 1. 顶部引入 import 'ace-builds/src-noconflict/theme-xxxx';\n * 2. 配置 theme = xxxx\n * ```\n */\n theme?: string;\n};\n\n/**\n * Json编辑器\n * @deprecated 已过期,请使用 AceEditorJson 组件\n * ```\n * 1. 受控组件,需要使用value、onChange配合显示数据\n * 2. heigth 默认为100%,如果外层无高度,需要自定义设置height属性\n * 3. 通过 autoCompleterList 配置自动提示关键字\n * 4. 通过 showVerifyBtn配置是否显示【验证数据】按钮\n * 5. 通过 theme 配置编辑器主题,例如:\n * 5.1 顶部引入 import 'ace-builds/src-noconflict/theme-xxxx';\n * 5.2 配置 theme = xxxx\n * ```\n */\nexport const JsonEditor = (props: JsonEditorProps) => {\n const { value, onChange, theme, height, showVerifyBtn, autoCompleterList, ...otherProps } = props;\n const heightFt = isUndefinedOrNull(height) ? '100%' : height;\n\n const [rootNodekey, setRootNodekey] = useState(Date.now());\n const [errorMsg, setErrorMsg] = useState<string>();\n\n const editorRef = useRef<TAny>();\n\n const valueNew = useMemo(() => {\n if (isObject(value)) {\n return JSON.stringify(value, null, 2);\n }\n return value as string | undefined;\n }, [value]);\n\n const handleChange = hooks.useCallbackRef((content: string) => {\n if (errorMsg) {\n if (!content) {\n setErrorMsg(undefined);\n } else {\n try {\n const result = jsonStringToJsonObject(content);\n setErrorMsg(result ? undefined : undefined);\n } catch (error: TAny) {\n // 异常不处理\n }\n }\n }\n onChange?.(content);\n });\n\n const getCompletions = hooks.useCallbackRef((_a, _b, _c, _d, callback) => {\n callback(\n null,\n autoCompleterList?.map((item) => ({\n name: item.name,\n value: item.name,\n // score: 100,\n meta: item.desc,\n })),\n );\n });\n\n const onLoad = (editor) => {\n editorRef.current = editor;\n /** 向编辑器中添加自动补全列表 */\n const findIndex = editor.completers.findIndex((item) => item.id === 'custom');\n if (findIndex >= 0) {\n editor.completers[findIndex] = { getCompletions, id: 'custom' };\n } else {\n editor.completers.push({ getCompletions, id: 'custom' });\n }\n };\n\n const inputValueVerify = (inputValue: string) => {\n try {\n const result = jsonStringToJsonObject(inputValue);\n onChange?.(result);\n } catch (error: TAny) {\n setErrorMsg('数据解析异常,正确格式:{\"name\":\"张三\", \"age\": 20}');\n }\n };\n\n return (\n <FlexLayout fullIndex={0} className=\"json-editor\" key={rootNodekey} style={{ height: heightFt }}>\n <div className=\"json-editor-ace\">\n <ErrorBoundaryWrapper\n onRenderReset={() => {\n onChange?.(undefined);\n setRootNodekey(Date.now());\n }}\n >\n <Ace\n fontSize={14}\n showPrintMargin={true}\n showGutter={true}\n highlightActiveLine={true}\n height=\"100%\"\n width=\"auto\"\n {...otherProps}\n setOptions={{\n useWorker: false,\n enableBasicAutocompletion: false,\n enableLiveAutocompletion: true,\n enableSnippets: false,\n showLineNumbers: true,\n tabSize: 2,\n ...otherProps.setOptions,\n }}\n theme={theme}\n mode=\"json\"\n onLoad={onLoad}\n onChange={handleChange}\n onBlur={(_event, editor) => {\n const value = editor?.getValue();\n if (value) {\n inputValueVerify(value);\n }\n }}\n value={valueNew}\n />\n </ErrorBoundaryWrapper>\n </div>\n <div className=\"json-editor-erify\">\n {showVerifyBtn !== false ? (\n <ButtonWrapper\n style={{ marginTop: 10 }}\n block={false}\n onClick={() => {\n const currentValue = editorRef.current?.getValue();\n if (!currentValue) {\n onChange?.(currentValue);\n return;\n }\n inputValueVerify(currentValue);\n }}\n >\n 验证数据\n </ButtonWrapper>\n ) : null}\n {errorMsg ? <span style={{ color: 'red', marginLeft: 10 }}>{errorMsg}</span> : null}\n </div>\n </FlexLayout>\n );\n};\n"],"names":["JsonEditor","props","value","onChange","theme","height","showVerifyBtn","autoCompleterList","otherProps","_objectWithoutPropertiesLoose","_excluded","heightFt","isUndefinedOrNull","_useState","useState","Date","now","rootNodekey","setRootNodekey","_useState2","errorMsg","setErrorMsg","editorRef","useRef","valueNew","useMemo","_isObject","JSON","stringify","handleChange","_hooks","useCallbackRef","content","undefined","result","jsonStringToJsonObject","error","getCompletions","_a","_b","_c","_d","callback","map","item","name","meta","desc","onLoad","editor","current","findIndex","completers","id","push","inputValueVerify","inputValue","_jsxs","FlexLayout","fullIndex","className","style","children","_jsx","ErrorBoundaryWrapper","onRenderReset","Ace","_extends","fontSize","showPrintMargin","showGutter","highlightActiveLine","width","setOptions","useWorker","enableBasicAutocompletion","enableLiveAutocompletion","enableSnippets","showLineNumbers","tabSize","mode","onBlur","_event","getValue","ButtonWrapper","marginTop","block","onClick","_editorRef$current","currentValue","color","marginLeft"],"mappings":";q8CA2CaA,EAAa,SAAbA,EAAcC,GACzB,IAAQC,EAAoFD,EAApFC,MAAOC,EAA6EF,EAA7EE,SAAUC,EAAmEH,EAAnEG,MAAOC,EAA4DJ,EAA5DI,OAAQC,EAAoDL,EAApDK,cAAeC,EAAqCN,EAArCM,kBAAsBC,EAAUC,EAAKR,EAAKS,GACjG,IAAMC,EAAWC,EAAkBP,GAAU,OAASA,EAEtD,IAAAQ,EAAsCC,EAASC,KAAKC,OAA7CC,EAAWJ,EAAA,GAAEK,EAAcL,EAAA,GAClC,IAAAM,EAAgCL,IAAzBM,EAAQD,EAAA,GAAEE,EAAWF,EAAA,GAE5B,IAAMG,EAAYC,IAElB,IAAMC,EAAWC,GAAQ,WACvB,GAAIC,EAASxB,GAAQ,CACnB,OAAOyB,KAAKC,UAAU1B,EAAO,KAAM,EACrC,CACA,OAAOA,CACT,GAAG,CAACA,IAEJ,IAAM2B,EAAeC,EAAMC,gBAAe,SAACC,GACzC,GAAIZ,EAAU,CACZ,IAAKY,EAAS,CACZX,EAAYY,UACd,KAAO,CACL,IACE,IAAMC,EAASC,EAAuBH,GACtCX,EAAYa,EAASD,UAAYA,UAClC,CAAC,MAAOG,GACP,CAEJ,CACF,CACAjC,GAAAA,MAAAA,EAAW6B,EACb,IAEA,IAAMK,EAAiBP,EAAMC,gBAAe,SAACO,EAAIC,EAAIC,EAAIC,EAAIC,GAC3DA,EACE,KACAnC,GAAiB,UAAA,EAAjBA,EAAmBoC,KAAI,SAACC,GAAI,MAAM,CAChCC,KAAMD,EAAKC,KACX3C,MAAO0C,EAAKC,KAEZC,KAAMF,EAAKG,KACX,IAEN,IAEA,IAAMC,EAAS,SAATA,EAAUC,GACd3B,EAAU4B,QAAUD,EAEpB,IAAME,EAAYF,EAAOG,WAAWD,WAAU,SAACP,GAAI,OAAKA,EAAKS,KAAO,YACpE,GAAIF,GAAa,EAAG,CAClBF,EAAOG,WAAWD,GAAa,CAAEd,eAAAA,EAAgBgB,GAAI,SACvD,KAAO,CACLJ,EAAOG,WAAWE,KAAK,CAAEjB,eAAAA,EAAgBgB,GAAI,UAC/C,GAGF,IAAME,EAAmB,SAAnBA,EAAoBC,GACxB,IACE,IAAMtB,EAASC,EAAuBqB,GACtCrD,GAAAA,MAAAA,EAAW+B,EACZ,CAAC,MAAOE,GACPf,EAAY,uCACd,GAGF,OACEoC,EAACC,EAAU,CAACC,UAAW,EAAGC,UAAU,cAAgCC,MAAO,CAAExD,OAAQM,GAAWmD,UAC9FC,EAAA,MAAA,CAAKH,UAAU,kBAAiBE,SAC9BC,EAACC,EAAoB,CACnBC,cAAe,SAAfA,IACE9D,GAAAA,MAAAA,EAAW8B,WACXf,EAAeH,KAAKC,MACpB,EAAA8C,SAEFC,EAACG,EAAGC,EAAA,CACFC,SAAU,GACVC,gBAAiB,KACjBC,WAAY,KACZC,oBAAqB,KACrBlE,OAAO,OACPmE,MAAM,QACFhE,EAAU,CACdiE,WAAUN,EAAA,CACRO,UAAW,MACXC,0BAA2B,MAC3BC,yBAA0B,KAC1BC,eAAgB,MAChBC,gBAAiB,KACjBC,QAAS,GACNvE,EAAWiE,YAEhBrE,MAAOA,EACP4E,KAAK,OACLhC,OAAQA,EACR7C,SAAU0B,EACVoD,OAAQ,SAARA,EAASC,EAAQjC,GACf,IAAM/C,EAAQ+C,GAAM,UAAA,EAANA,EAAQkC,WACtB,GAAIjF,EAAO,CACTqD,EAAiBrD,EACnB,CACA,EACFA,MAAOsB,SAIbiC,EAAA,MAAA,CAAKG,UAAU,oBAAmBE,UAC/BxD,IAAkB,MACjByD,EAACqB,EAAa,CACZvB,MAAO,CAAEwB,UAAW,IACpBC,MAAO,MACPC,QAAS,SAATA,IAAe,IAAAC,EACb,IAAMC,GAAYD,EAAGlE,EAAU4B,UAAO,UAAA,EAAjBsC,EAAmBL,WACxC,IAAKM,EAAc,CACjBtF,GAAAA,MAAAA,EAAWsF,GACX,MACF,CACAlC,EAAiBkC,EACjB,EAAA3B,SACH,SAGC,KACH1C,EAAW2C,EAAA,OAAA,CAAMF,MAAO,CAAE6B,MAAO,MAAOC,WAAY,IAAK7B,SAAE1C,IAAmB,UAxD5BH,EA4D3D"}
|
|
@@ -6,5 +6,5 @@ import './../text-symbol-wrapper/index.css';
|
|
|
6
6
|
import './../tips-wrapper/index.css';
|
|
7
7
|
import './index.css';
|
|
8
8
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
9
|
-
import{hooks as e}from"@wove/react/cjs/hooks";import{classNames as r}from"@dimjs/utils/cjs/class-names";import{_ as i}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{useState as l,useMemo as t,isValidElement as a}from"react";import{arrayTotal as n,isUndefinedOrNull as s,isNumber as o}from"@flatbiz/utils";import{BoxGrid as u}from"../box-grid/index.js";import{fbaHooks as d}from"../fba-hooks/index.js";import{TextOverflow as v}from"../text-overflow/index.js";import{TextSymbolWrapper as p}from"../text-symbol-wrapper/index.js";import{TipsWrapper as f}from"../tips-wrapper/index.js";import{jsx as
|
|
9
|
+
import{hooks as e}from"@wove/react/cjs/hooks";import{classNames as r}from"@dimjs/utils/cjs/class-names";import{_ as i}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{useState as l,useMemo as t,isValidElement as a}from"react";import{arrayTotal as n,isUndefinedOrNull as s,isNumber as o}from"@flatbiz/utils";import{BoxGrid as u}from"../box-grid/index.js";import{fbaHooks as d}from"../fba-hooks/index.js";import{TextOverflow as v}from"../text-overflow/index.js";import{TextSymbolWrapper as p}from"../text-symbol-wrapper/index.js";import{TipsWrapper as f}from"../tips-wrapper/index.js";import{jsx as m,jsxs as c}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-number";import"ahooks";import"@dimjs/lang/cjs/is-array";import"../use-responsive-point-21b8c601.js";import"antd";import"@dimjs/utils/cjs/uuid";import"@dimjs/lang/cjs/is-string";import"@ant-design/icons/es/icons/QuestionCircleOutlined";var h=function e(r){var l=[];var t=0;var a=[];for(var s=0;s<r.length;s++){var o=r[s];var u=o.grid;var d=i({},o,{grid:u});if(t+u<=24&&u>0){t+=u;a.push(d)}else{l.push(a);t=u;a=[d]}}if(a.length>0){l.push(a)}if(l.length>0){l=l.map((function(e,r){if(e.length===1){e[0].grid=24}else{var i=n(e,"grid");var t=e[e.length-1];if(i<24){t.grid=24-i+t.grid}}if(r===l.length-1){return e.map((function(e){e.isLast=true;return e}))}return e}))}var v=[];l.forEach((function(e){v=v.concat(e)}));return v};var x=function n(x){var g=d.useResponsivePoint()||"";var b=l(),j=b[0],y=b[1];var k=x.column,w=x.forceColumn,C=x.labelAlign,T=x.labelWidth,z=x.options,N=x.border,B=x.bordered,S=x.width,P=x.size,L=P===void 0?"default":P,R=x.direction,q=R===void 0?"auto":R,E=x.gutter,H=x.hiddenValueHover;var W=k&&[1,2,3,4,6].includes(k)?k:4;var _=!s(B)?B:N;var A=t((function(){if(q==="horizontal"||q==="vertical")return q;if(g==="xs"||j==="xs")return"vertical";return"horizontal"}),[j,q,g]);var O=t((function(){if(A==="vertical")return true;return s(x.ellipsis)?true:x.ellipsis}),[A,x.ellipsis]);var Q=T?o(T)?T+"px":T:"100px";var V=t((function(){if(w){var e=24/w;return{xs:e,sm:e,md:e,lg:e,xl:e,xxl:e}}var r={1:{xs:24,sm:24,md:24,lg:24,xl:24,xxl:24},2:{xs:24,sm:12,md:12,lg:12,xl:12,xxl:12},3:{xs:24,sm:12,md:12,lg:8,xl:8,xxl:8},4:{xs:24,sm:12,md:12,lg:6,xl:6,xxl:6},6:{xs:24,sm:12,md:8,lg:6,xl:4,xxl:4}};return r[W]}),[W,w]);var D=t((function(){if(!j)return undefined;var e=[];z.forEach((function(r){if(!r.hidden){var l=undefined;if(r.span){var t=r.span>W?W:r.span;l=t*(24/W);if(j==="xs"){l=24}else if(j==="sm"){l=l>12?l:12}}e.push(i({},r,{grid:l?l:V[j]}))}}));return h(e.filter(Boolean))}),[j,W,V,z]);var F=!_&&A!=="vertical";var G=function e(){return D==null?void 0:D.map((function(e,l){var t=A==="vertical"?true:s(e.ellipsis)?O:e.ellipsis;var n=e.label;if(e.tips&&t){n=m(f,{tipType:"tooltip",tooltipProps:{title:e.tips},children:m(v,{text:n,hideTip:e.hideTip})})}else if(e.tips){n=m(f,{tipType:"tooltip",tooltipProps:{title:e.tips},children:n})}else if(t){n=m(v,{text:n,hideTip:e.hideTip})}var o=F?{display:"flex",gap:3}:{};return c(u.Col,i({},V,{span:e.grid,className:r("label-value-tr",{"label-value-last-tr":e.isLast}),children:[c("div",{className:"label-value-label",style:i({},o,x.labelStyle,e.labelStyle),children:[e.required?m("div",{style:{paddingLeft:8,position:"relative",width:"100%"},children:m(p,{text:n,symbolType:"required"})}):n,F?m("div",{children:":"}):null]}),!a(e.value)&&t&&!e.valueNoWrapper?m("div",{className:"label-value-value",style:i({},x.valueStyle,e.valueStyle),children:m(v,{text:e.value,onClick:e.onClick,hideTip:e.hideTip})}):m("div",{className:"label-value-value",style:i({wordBreak:"break-all"},x.valueStyle,e.valueStyle),children:e.onClick?m("a",{onClick:e.onClick,children:e.value}):e.value})]}),l)})).filter(Boolean)};var I=e.useCallbackRef((function(e){y(e)}));var J=t((function(){if(["xs","sm"].includes(g)||!S){return{}}return{width:S}}),[g,S]);var K=function(){if(C)return C;if(_)return"left";if(A==="horizontal")return"right";return"left"}();return m(u.Row,{style:i({},J,x.style,{"--lvr-label-width":A==="horizontal"?Q:undefined}),className:r("label-value-render","lvr-"+A,"lvr-size-"+L,"lvr-label-"+K,{"lvr-border":_},{"lvr-hidden-hover":H},x.className),gutter:_?[0,0]:E||[10,0],onBoxBreakpointChange:I,children:G()})};export{x as LabelValueRender};
|
|
10
10
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/label-value-render/utils.ts","@flatbiz/antd/src/label-value-render/label-value.tsx"],"sourcesContent":["import { arrayTotal } from '@flatbiz/utils';\nimport { TLabelValueRenderItem } from './types';\n\nexport const getRenderGrid = (dataList: TLabelValueRenderItem[]) => {\n let results: TLabelValueRenderItem[][] = [];\n\n let currentSum = 0;\n let currentArr: TLabelValueRenderItem[] = [];\n for (let i = 0; i < dataList.length; i++) {\n const item = dataList[i];\n const grid = item.grid;\n const temp = {\n ...item,\n grid: grid,\n } as TLabelValueRenderItem;\n if (currentSum + grid <= 24 && grid > 0) {\n currentSum += grid;\n currentArr.push(temp);\n } else {\n results.push(currentArr);\n currentSum = grid;\n currentArr = [temp];\n }\n }\n\n if (currentArr.length > 0) {\n results.push(currentArr);\n }\n if (results.length > 0) {\n results = results.map((item, index) => {\n if (item.length === 1) {\n item[0].grid = 24;\n } else {\n const total = arrayTotal(item, 'grid');\n const lastItem = item[item.length - 1];\n if (total < 24) {\n lastItem.grid = 24 - total + lastItem.grid;\n }\n }\n if (index === results.length - 1) {\n return item.map((temp) => {\n temp.isLast = true;\n return temp;\n });\n }\n return item;\n });\n }\n\n let resultsFt: TLabelValueRenderItem[] = [];\n results.forEach((item) => {\n resultsFt = resultsFt.concat(item);\n });\n return resultsFt;\n};\n","import { classNames } from '@dimjs/utils';\nimport { CSSProperties, isValidElement, ReactElement, useMemo, useState } from 'react';\n\nimport { isNumber, isUndefinedOrNull, TAny } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { BoxGrid } from '../box-grid';\nimport { TBoxBreakpoint } from '../box-grid/type';\nimport { fbaHooks } from '../fba-hooks';\nimport { TextOverflow } from '../text-overflow';\nimport { TextSymbolWrapper } from '../text-symbol-wrapper';\nimport { TipsWrapper } from '../tips-wrapper';\nimport './style.less';\nimport { TLabelValueItem, TLabelValueRenderItem } from './types';\nimport { getRenderGrid } from './utils';\n\nexport type LabelValueRenderProps = {\n className?: string;\n style?: CSSProperties;\n /**\n * 定义一行显示几列, 默认值:4\n * ```\n * 1. label+value 一组为一列\n * 2. 当外层宽度尺寸大于 992px(lg) 时,一行显示几列\n * 3. 当外层宽度尺寸小于992px(lg),为xs、sm、md情况下不受column值影响,响应式布局\n * 4. 宽度尺寸定义\n * xs: 宽度 < 576px\n * sm: 宽度 ≥ 576px\n * md: 宽度 ≥ 768px\n * lg: 宽度 ≥ 992px\n * xl: 宽度 ≥ 1200px\n * xxl: 宽度 ≥ 1600px\n * 5. 列数尺寸定义\n * {\n * 1: { xs: 24, sm: 24, md: 24, lg: 24, xl: 24, xxl: 24 },\n * 2: { xs: 24, sm: 12, md: 12, lg: 12, xl: 12, xxl: 12 },\n * 3: { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 8 },\n * 4: { xs: 24, sm: 12, md: 12, lg: 6, xl: 6, xxl: 6 },\n * 6: { xs: 24, sm: 12, md: 8, lg: 6, xl: 4, xxl: 4 },\n * };\n * ```\n */\n column?: 1 | 2 | 3 | 4 | 6;\n /**\n * 强制定义一行显示几列,不考虑响应式\n * ```\n * 1. 优先级大于column\n * 2. 建议优先使用column配置\n * ```\n */\n forceColumn?: 1 | 2 | 3 | 4 | 6;\n /** 数据源配置 */\n options: TLabelValueItem[];\n /**\n * 超过宽度将自动省略,默认值:true\n * ```\n * 1. 当 direction = vertical时,强制为true\n * ```\n */\n ellipsis?: boolean;\n /**\n * 是否添加边框\n * @deprecated 已过期,请使用 bordered\n */\n border?: boolean;\n /** 是否添加边框 */\n bordered?: boolean;\n /** label对齐方式 */\n labelAlign?: 'left' | 'right' | 'center';\n /** label 宽度,默认值:100 */\n labelWidth?: number | 'auto';\n width?: number;\n /** label 样式 */\n labelStyle?: CSSProperties;\n /** value 样式 */\n valueStyle?: CSSProperties;\n\n size?: 'default' | 'small';\n /**\n * label&value 方向布局\n * ```\n * 1. auto表示当响应式为xs(小屏幕)时为vertical,其他情况为horizontal\n * ```\n */\n direction?: 'vertical' | 'horizontal' | 'auto';\n /**\n * 网格布局间距,默认值:[10, 0]\n * ```\n * 1. border = true 无效\n * ```\n */\n gutter?: [number, number];\n\n /** 隐藏 value hover效果 */\n hiddenValueHover?: boolean;\n};\n\n/**\n * label+value 列表布局\n * ```\n * 1. 可设置超出隐藏、必填标识、设置隐藏、添加说明标签等功能\n * 2. 可自定义设置占用网格列数\n * 3. 内置响应式布局\n * ```\n */\nexport const LabelValueRender = (props: LabelValueRenderProps) => {\n const screenType = fbaHooks.useResponsivePoint() || '';\n const [breakpoint, setBreakpoint] = useState<TBoxBreakpoint>();\n\n const {\n column,\n forceColumn,\n labelAlign,\n labelWidth,\n options,\n border,\n bordered,\n width,\n size = 'default',\n direction = 'auto',\n gutter,\n hiddenValueHover,\n } = props;\n\n const columnNew = column && [1, 2, 3, 4, 6].includes(column) ? column : 4;\n\n const borderedNew = !isUndefinedOrNull(bordered) ? bordered : border;\n\n const directionNew = useMemo(() => {\n if (direction === 'horizontal' || direction === 'vertical') return direction;\n if (screenType === 'xs' || breakpoint === 'xs') return 'vertical';\n return 'horizontal';\n }, [breakpoint, direction, screenType]);\n\n const ellipsis = useMemo(() => {\n if (directionNew === 'vertical') return true;\n return isUndefinedOrNull(props.ellipsis) ? true : props.ellipsis;\n }, [directionNew, props.ellipsis]);\n\n const labelWidthNew = labelWidth ? (isNumber(labelWidth) ? `${labelWidth}px` : labelWidth) : '100px';\n\n const gridSize = useMemo(() => {\n if (forceColumn) {\n const num = 24 / forceColumn;\n return { xs: num, sm: num, md: num, lg: num, xl: num, xxl: num };\n }\n const columnMap = {\n 1: { xs: 24, sm: 24, md: 24, lg: 24, xl: 24, xxl: 24 },\n 2: { xs: 24, sm: 12, md: 12, lg: 12, xl: 12, xxl: 12 },\n 3: { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 8 },\n 4: { xs: 24, sm: 12, md: 12, lg: 6, xl: 6, xxl: 6 },\n 6: { xs: 24, sm: 12, md: 8, lg: 6, xl: 4, xxl: 4 },\n };\n return columnMap[columnNew];\n }, [columnNew, forceColumn]);\n\n const renderList = useMemo(() => {\n if (!breakpoint) return undefined;\n const dataListNew: TLabelValueRenderItem[] = [];\n options.forEach((item) => {\n if (!item.hidden) {\n let grid: number | undefined = undefined;\n if (item.span) {\n const itemSpan = item.span > columnNew ? columnNew : item.span;\n grid = itemSpan * (24 / columnNew);\n if (breakpoint === 'xs') {\n grid = 24;\n } else if (breakpoint === 'sm') {\n grid = grid > 12 ? grid : 12;\n }\n }\n dataListNew.push({\n ...item,\n grid: grid ? grid : gridSize[breakpoint],\n });\n }\n });\n return getRenderGrid(dataListNew.filter(Boolean));\n }, [breakpoint, columnNew, gridSize, options]);\n\n const showColon = !borderedNew && directionNew !== 'vertical';\n\n const getFormRowChildren = () => {\n return renderList\n ?.map((item, index) => {\n const ellipsisFt =\n directionNew === 'vertical' ? true : isUndefinedOrNull(item.ellipsis) ? ellipsis : item.ellipsis;\n\n let labelContent: ReactElement | string = item.label;\n // let labelContent: ReactElement | string = isValidElement(item.label)\n // ? item.label\n // : `${item.label}${colon}`;\n // if (colon) {\n // labelContent = isValidElement(item.label)\n // ? item.label\n // : `${item.label}${colon}`;\n // }\n\n if (item.tips && ellipsisFt) {\n labelContent = (\n <TipsWrapper tipType=\"tooltip\" tooltipProps={{ title: item.tips }}>\n <TextOverflow text={labelContent as unknown as string} hideTip={item.hideTip} />\n </TipsWrapper>\n );\n } else if (item.tips) {\n labelContent = (\n <TipsWrapper tipType=\"tooltip\" tooltipProps={{ title: item.tips }}>\n {labelContent}\n </TipsWrapper>\n );\n } else if (ellipsisFt) {\n labelContent = <TextOverflow text={labelContent as unknown as string} hideTip={item.hideTip} />;\n }\n\n const innerlabelStyle = showColon ? { display: 'flex', gap: 3 } : {};\n return (\n <BoxGrid.Col\n key={index}\n {...gridSize}\n span={item.grid}\n className={classNames('label-value-tr', {\n 'label-value-last-tr': item.isLast,\n })}\n >\n <div\n className=\"label-value-label\"\n style={{\n ...innerlabelStyle,\n ...props.labelStyle,\n ...item.labelStyle,\n }}\n >\n {item.required ? (\n <div\n style={{\n paddingLeft: 8,\n position: 'relative',\n width: '100%',\n }}\n >\n <TextSymbolWrapper text={labelContent} symbolType=\"required\" />\n </div>\n ) : (\n labelContent\n )}\n {showColon ? <div>:</div> : null}\n </div>\n {!isValidElement(item.value) && ellipsisFt && !item.valueNoWrapper ? (\n <div\n className=\"label-value-value\"\n style={{\n ...props.valueStyle,\n ...item.valueStyle,\n }}\n >\n <TextOverflow text={item.value as string} onClick={item.onClick} hideTip={item.hideTip} />\n </div>\n ) : (\n <div\n className=\"label-value-value\"\n style={{\n wordBreak: 'break-all',\n ...props.valueStyle,\n ...item.valueStyle,\n }}\n >\n {item.onClick ? <a onClick={item.onClick}>{item.value}</a> : item.value}\n </div>\n )}\n </BoxGrid.Col>\n );\n })\n .filter(Boolean);\n };\n\n const onBoxBreakpointChange = hooks.useCallbackRef((breakpoint: TBoxBreakpoint) => {\n setBreakpoint(breakpoint);\n });\n\n const innerStyle = useMemo(() => {\n /** 小屏幕不控制宽度 */\n if (['xs', 'sm'].includes(screenType) || !width) {\n return {};\n }\n return { width };\n }, [screenType, width]);\n\n const align = (function () {\n if (labelAlign) return labelAlign;\n if (borderedNew) return 'left';\n if (directionNew === 'horizontal') return 'right';\n return 'left';\n })();\n\n return (\n <BoxGrid.Row\n style={\n {\n ...innerStyle,\n ...props.style,\n '--lvr-label-width': directionNew === 'horizontal' ? labelWidthNew : undefined,\n } as TAny\n }\n className={classNames(\n 'label-value-render',\n `lvr-${directionNew}`,\n `lvr-size-${size}`,\n `lvr-label-${align}`,\n { 'lvr-border': borderedNew },\n { 'lvr-hidden-hover': hiddenValueHover },\n props.className,\n )}\n gutter={borderedNew ? [0, 0] : gutter || [10, 0]}\n onBoxBreakpointChange={onBoxBreakpointChange}\n >\n {getFormRowChildren()}\n </BoxGrid.Row>\n );\n};\n"],"names":["getRenderGrid","dataList","results","currentSum","currentArr","i","length","item","grid","temp","_extends","push","map","index","total","arrayTotal","lastItem","isLast","resultsFt","forEach","concat","LabelValueRender","props","screenType","fbaHooks","useResponsivePoint","_useState","useState","breakpoint","setBreakpoint","column","forceColumn","labelAlign","labelWidth","options","border","bordered","width","_props$size","size","_props$direction","direction","gutter","hiddenValueHover","columnNew","includes","borderedNew","isUndefinedOrNull","directionNew","useMemo","ellipsis","labelWidthNew","isNumber","gridSize","num","xs","sm","md","lg","xl","xxl","columnMap","renderList","undefined","dataListNew","hidden","span","itemSpan","filter","Boolean","showColon","getFormRowChildren","ellipsisFt","labelContent","label","tips","_jsx","TipsWrapper","tipType","tooltipProps","title","children","TextOverflow","text","hideTip","innerlabelStyle","display","gap","_jsxs","BoxGrid","Col","className","_classNames","style","labelStyle","required","paddingLeft","position","TextSymbolWrapper","symbolType","isValidElement","value","valueNoWrapper","valueStyle","onClick","wordBreak","onBoxBreakpointChange","_hooks","useCallbackRef","innerStyle","align","Row"],"mappings":";q2BAGO,IAAMA,EAAgB,SAAhBA,EAAiBC,GAC5B,IAAIC,EAAqC,GAEzC,IAAIC,EAAa,EACjB,IAAIC,EAAsC,GAC1C,IAAK,IAAIC,EAAI,EAAGA,EAAIJ,EAASK,OAAQD,IAAK,CACxC,IAAME,EAAON,EAASI,GACtB,IAAMG,EAAOD,EAAKC,KAClB,IAAMC,EAAIC,EAAA,CAAA,EACLH,EAAI,CACPC,KAAMA,IAER,GAAIL,EAAaK,GAAQ,IAAMA,EAAO,EAAG,CACvCL,GAAcK,EACdJ,EAAWO,KAAKF,EAClB,KAAO,CACLP,EAAQS,KAAKP,GACbD,EAAaK,EACbJ,EAAa,CAACK,EAChB,CACF,CAEA,GAAIL,EAAWE,OAAS,EAAG,CACzBJ,EAAQS,KAAKP,EACf,CACA,GAAIF,EAAQI,OAAS,EAAG,CACtBJ,EAAUA,EAAQU,KAAI,SAACL,EAAMM,GAC3B,GAAIN,EAAKD,SAAW,EAAG,CACrBC,EAAK,GAAGC,KAAO,EACjB,KAAO,CACL,IAAMM,EAAQC,EAAWR,EAAM,QAC/B,IAAMS,EAAWT,EAAKA,EAAKD,OAAS,GACpC,GAAIQ,EAAQ,GAAI,CACdE,EAASR,KAAO,GAAKM,EAAQE,EAASR,IACxC,CACF,CACA,GAAIK,IAAUX,EAAQI,OAAS,EAAG,CAChC,OAAOC,EAAKK,KAAI,SAACH,GACfA,EAAKQ,OAAS,KACd,OAAOR,CACT,GACF,CACA,OAAOF,CACT,GACF,CAEA,IAAIW,EAAqC,GACzChB,EAAQiB,SAAQ,SAACZ,GACfW,EAAYA,EAAUE,OAAOb,EAC/B,IACA,OAAOW,CACT,MCkDaG,EAAmB,SAAnBA,EAAoBC,GAC/B,IAAMC,EAAaC,EAASC,sBAAwB,GACpD,IAAAC,EAAoCC,IAA7BC,EAAUF,EAAA,GAAEG,EAAaH,EAAA,GAEhC,IACEI,EAYER,EAZFQ,OACAC,EAWET,EAXFS,YACAC,EAUEV,EAVFU,WACAC,EASEX,EATFW,WACAC,EAQEZ,EARFY,QACAC,EAOEb,EAPFa,OACAC,EAMEd,EANFc,SACAC,EAKEf,EALFe,MAAKC,EAKHhB,EAJFiB,KAAAA,EAAID,SAAG,EAAA,UAASA,EAAAE,EAIdlB,EAHFmB,UAAAA,EAASD,SAAG,EAAA,OAAMA,EAClBE,EAEEpB,EAFFoB,OACAC,EACErB,EADFqB,iBAGF,IAAMC,EAAYd,GAAU,CAAC,EAAG,EAAG,EAAG,EAAG,GAAGe,SAASf,GAAUA,EAAS,EAExE,IAAMgB,GAAeC,EAAkBX,GAAYA,EAAWD,EAE9D,IAAMa,EAAeC,GAAQ,WAC3B,GAAIR,IAAc,cAAgBA,IAAc,WAAY,OAAOA,EACnE,GAAIlB,IAAe,MAAQK,IAAe,KAAM,MAAO,WACvD,MAAO,YACR,GAAE,CAACA,EAAYa,EAAWlB,IAE3B,IAAM2B,EAAWD,GAAQ,WACvB,GAAID,IAAiB,WAAY,OAAO,KACxC,OAAOD,EAAkBzB,EAAM4B,UAAY,KAAO5B,EAAM4B,QACzD,GAAE,CAACF,EAAc1B,EAAM4B,WAExB,IAAMC,EAAgBlB,EAAcmB,EAASnB,GAAiBA,EAAiBA,KAAAA,EAAc,QAE7F,IAAMoB,EAAWJ,GAAQ,WACvB,GAAIlB,EAAa,CACf,IAAMuB,EAAM,GAAKvB,EACjB,MAAO,CAAEwB,GAAID,EAAKE,GAAIF,EAAKG,GAAIH,EAAKI,GAAIJ,EAAKK,GAAIL,EAAKM,IAAKN,EAC7D,CACA,IAAMO,EAAY,CAChB,EAAG,CAAEN,GAAI,GAAIC,GAAI,GAAIC,GAAI,GAAIC,GAAI,GAAIC,GAAI,GAAIC,IAAK,IAClD,EAAG,CAAEL,GAAI,GAAIC,GAAI,GAAIC,GAAI,GAAIC,GAAI,GAAIC,GAAI,GAAIC,IAAK,IAClD,EAAG,CAAEL,GAAI,GAAIC,GAAI,GAAIC,GAAI,GAAIC,GAAI,EAAGC,GAAI,EAAGC,IAAK,GAChD,EAAG,CAAEL,GAAI,GAAIC,GAAI,GAAIC,GAAI,GAAIC,GAAI,EAAGC,GAAI,EAAGC,IAAK,GAChD,EAAG,CAAEL,GAAI,GAAIC,GAAI,GAAIC,GAAI,EAAGC,GAAI,EAAGC,GAAI,EAAGC,IAAK,IAEjD,OAAOC,EAAUjB,EACnB,GAAG,CAACA,EAAWb,IAEf,IAAM+B,EAAab,GAAQ,WACzB,IAAKrB,EAAY,OAAOmC,UACxB,IAAMC,EAAuC,GAC7C9B,EAAQf,SAAQ,SAACZ,GACf,IAAKA,EAAK0D,OAAQ,CAChB,IAAIzD,EAA2BuD,UAC/B,GAAIxD,EAAK2D,KAAM,CACb,IAAMC,EAAW5D,EAAK2D,KAAOtB,EAAYA,EAAYrC,EAAK2D,KAC1D1D,EAAO2D,GAAY,GAAKvB,GACxB,GAAIhB,IAAe,KAAM,CACvBpB,EAAO,EACT,MAAO,GAAIoB,IAAe,KAAM,CAC9BpB,EAAOA,EAAO,GAAKA,EAAO,EAC5B,CACF,CACAwD,EAAYrD,KAAID,KACXH,EAAI,CACPC,KAAMA,EAAOA,EAAO6C,EAASzB,KAEjC,CACF,IACA,OAAO5B,EAAcgE,EAAYI,OAAOC,SACzC,GAAE,CAACzC,EAAYgB,EAAWS,EAAUnB,IAErC,IAAMoC,GAAaxB,GAAeE,IAAiB,WAEnD,IAAMuB,EAAqB,SAArBA,IACJ,OAAOT,GAAAA,UAAAA,EAAAA,EACHlD,KAAI,SAACL,EAAMM,GACX,IAAM2D,EACJxB,IAAiB,WAAa,KAAOD,EAAkBxC,EAAK2C,UAAYA,EAAW3C,EAAK2C,SAE1F,IAAIuB,EAAsClE,EAAKmE,MAU/C,GAAInE,EAAKoE,MAAQH,EAAY,CAC3BC,EACEG,EAACC,EAAW,CAACC,QAAQ,UAAUC,aAAc,CAAEC,MAAOzE,EAAKoE,MAAOM,SAChEL,EAACM,EAAY,CAACC,KAAMV,EAAmCW,QAAS7E,EAAK6E,WAG3E,MAAO,GAAI7E,EAAKoE,KAAM,CACpBF,EACEG,EAACC,EAAW,CAACC,QAAQ,UAAUC,aAAc,CAAEC,MAAOzE,EAAKoE,MAAOM,SAC/DR,GAGN,MAAM,GAAID,EAAY,CACrBC,EAAeG,EAACM,EAAY,CAACC,KAAMV,EAAmCW,QAAS7E,EAAK6E,SACtF,CAEA,IAAMC,EAAkBf,EAAY,CAAEgB,QAAS,OAAQC,IAAK,GAAM,GAClE,OACEC,EAACC,EAAQC,IAAGhF,KAEN2C,EAAQ,CACZa,KAAM3D,EAAKC,KACXmF,UAAWC,EAAW,iBAAkB,CACtC,sBAAuBrF,EAAKU,SAC3BgE,UAEHO,EAAA,MAAA,CACEG,UAAU,oBACVE,MAAKnF,EACA2E,GAAAA,EACA/D,EAAMwE,WACNvF,EAAKuF,YACRb,SAED1E,CAAAA,EAAKwF,SACJnB,EAAA,MAAA,CACEiB,MAAO,CACLG,YAAa,EACbC,SAAU,WACV5D,MAAO,QACP4C,SAEFL,EAACsB,EAAiB,CAACf,KAAMV,EAAc0B,WAAW,eAGpD1B,EAEDH,EAAYM,EAAA,MAAA,CAAAK,SAAK,MAAU,SAE5BmB,EAAe7F,EAAK8F,QAAU7B,IAAejE,EAAK+F,eAClD1B,EAAA,MAAA,CACEe,UAAU,oBACVE,MAAKnF,EAAA,CAAA,EACAY,EAAMiF,WACNhG,EAAKgG,YACRtB,SAEFL,EAACM,EAAY,CAACC,KAAM5E,EAAK8F,MAAiBG,QAASjG,EAAKiG,QAASpB,QAAS7E,EAAK6E,YAGjFR,EAAA,MAAA,CACEe,UAAU,oBACVE,MAAKnF,EAAA,CACH+F,UAAW,aACRnF,EAAMiF,WACNhG,EAAKgG,YACRtB,SAED1E,EAAKiG,QAAU5B,EAAA,IAAA,CAAG4B,QAASjG,EAAKiG,QAAQvB,SAAE1E,EAAK8F,QAAa9F,EAAK8F,WAjDjExF,EAsDX,IACCuD,OAAOC,UAGZ,IAAMqC,EAAwBC,EAAMC,gBAAe,SAAChF,GAClDC,EAAcD,EAChB,IAEA,IAAMiF,EAAa5D,GAAQ,WAEzB,GAAI,CAAC,KAAM,MAAMJ,SAAStB,KAAgBc,EAAO,CAC/C,MAAO,EACT,CACA,MAAO,CAAEA,MAAAA,EACX,GAAG,CAACd,EAAYc,IAEhB,IAAMyE,EAAS,WACb,GAAI9E,EAAY,OAAOA,EACvB,GAAIc,EAAa,MAAO,OACxB,GAAIE,IAAiB,aAAc,MAAO,QAC1C,MAAO,MACT,CALe,GAOf,OACE4B,EAACa,EAAQsB,IAAG,CACVlB,MAAKnF,EAAA,CAAA,EAEEmG,EACAvF,EAAMuE,MAAK,CACd,oBAAqB7C,IAAiB,aAAeG,EAAgBY,YAGzE4B,UAAWC,EACT,qBAAoB,OACb5C,EACKT,YAAAA,EACCuE,aAAAA,EACb,CAAE,aAAchE,GAChB,CAAE,mBAAoBH,GACtBrB,EAAMqE,WAERjD,OAAQI,EAAc,CAAC,EAAG,GAAKJ,GAAU,CAAC,GAAI,GAC9CgE,sBAAuBA,EAAsBzB,SAE5CV,KAGP"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/label-value-render/utils.ts","@flatbiz/antd/src/label-value-render/label-value.tsx"],"sourcesContent":["import { arrayTotal } from '@flatbiz/utils';\nimport { TLabelValueRenderItem } from './types';\n\nexport const getRenderGrid = (dataList: TLabelValueRenderItem[]) => {\n let results: TLabelValueRenderItem[][] = [];\n\n let currentSum = 0;\n let currentArr: TLabelValueRenderItem[] = [];\n for (let i = 0; i < dataList.length; i++) {\n const item = dataList[i];\n const grid = item.grid;\n const temp = {\n ...item,\n grid: grid,\n } as TLabelValueRenderItem;\n if (currentSum + grid <= 24 && grid > 0) {\n currentSum += grid;\n currentArr.push(temp);\n } else {\n results.push(currentArr);\n currentSum = grid;\n currentArr = [temp];\n }\n }\n\n if (currentArr.length > 0) {\n results.push(currentArr);\n }\n if (results.length > 0) {\n results = results.map((item, index) => {\n if (item.length === 1) {\n item[0].grid = 24;\n } else {\n const total = arrayTotal(item, 'grid');\n const lastItem = item[item.length - 1];\n if (total < 24) {\n lastItem.grid = 24 - total + lastItem.grid;\n }\n }\n if (index === results.length - 1) {\n return item.map((temp) => {\n temp.isLast = true;\n return temp;\n });\n }\n return item;\n });\n }\n\n let resultsFt: TLabelValueRenderItem[] = [];\n results.forEach((item) => {\n resultsFt = resultsFt.concat(item);\n });\n return resultsFt;\n};\n","import { classNames } from '@dimjs/utils';\nimport { CSSProperties, isValidElement, ReactElement, useMemo, useState } from 'react';\n\nimport { isNumber, isUndefinedOrNull, TAny } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { BoxGrid } from '../box-grid';\nimport { TBoxBreakpoint } from '../box-grid/type';\nimport { fbaHooks } from '../fba-hooks';\nimport { TextOverflow } from '../text-overflow';\nimport { TextSymbolWrapper } from '../text-symbol-wrapper';\nimport { TipsWrapper } from '../tips-wrapper';\nimport './style.less';\nimport { TLabelValueItem, TLabelValueRenderItem } from './types';\nimport { getRenderGrid } from './utils';\n\nexport type LabelValueRenderProps = {\n className?: string;\n style?: CSSProperties;\n /**\n * 定义一行显示几列, 默认值:4\n * ```\n * 1. label+value 一组为一列\n * 2. 当外层宽度尺寸大于 992px(lg) 时,一行显示几列\n * 3. 当外层宽度尺寸小于992px(lg),为xs、sm、md情况下不受column值影响,响应式布局\n * 4. 宽度尺寸定义\n * xs: 宽度 < 576px\n * sm: 宽度 ≥ 576px\n * md: 宽度 ≥ 768px\n * lg: 宽度 ≥ 992px\n * xl: 宽度 ≥ 1200px\n * xxl: 宽度 ≥ 1600px\n * 5. 列数尺寸定义\n * {\n * 1: { xs: 24, sm: 24, md: 24, lg: 24, xl: 24, xxl: 24 },\n * 2: { xs: 24, sm: 12, md: 12, lg: 12, xl: 12, xxl: 12 },\n * 3: { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 8 },\n * 4: { xs: 24, sm: 12, md: 12, lg: 6, xl: 6, xxl: 6 },\n * 6: { xs: 24, sm: 12, md: 8, lg: 6, xl: 4, xxl: 4 },\n * };\n * ```\n */\n column?: 1 | 2 | 3 | 4 | 6;\n /**\n * 强制定义一行显示几列,不考虑响应式\n * ```\n * 1. 优先级大于column\n * 2. 建议优先使用column配置\n * ```\n */\n forceColumn?: 1 | 2 | 3 | 4 | 6;\n /** 数据源配置 */\n options: TLabelValueItem[];\n /**\n * 超过宽度将自动省略,默认值:true\n * ```\n * 1. 当 direction = vertical时,强制为true\n * ```\n */\n ellipsis?: boolean;\n /**\n * 是否添加边框\n * @deprecated 已过期,请使用 bordered\n */\n border?: boolean;\n /** 是否添加边框 */\n bordered?: boolean;\n /** label对齐方式 */\n labelAlign?: 'left' | 'right' | 'center';\n /** label 宽度,默认值:100 */\n labelWidth?: number | 'auto';\n width?: number;\n /** label 样式 */\n labelStyle?: CSSProperties;\n /** value 样式 */\n valueStyle?: CSSProperties;\n\n size?: 'default' | 'small';\n /**\n * label&value 方向布局\n * ```\n * 1. auto表示当响应式为xs(小屏幕)时为vertical,其他情况为horizontal\n * ```\n */\n direction?: 'vertical' | 'horizontal' | 'auto';\n /**\n * 网格布局间距,默认值:[10, 0]\n * ```\n * 1. border = true 无效\n * ```\n */\n gutter?: [number, number];\n\n /** 隐藏 value hover效果 */\n hiddenValueHover?: boolean;\n};\n\n/**\n * label+value 列表布局\n * ```\n * 1. 可设置超出隐藏、必填标识、设置隐藏、添加说明标签等功能\n * 2. 可自定义设置占用网格列数\n * 3. 内置响应式布局\n * ```\n */\nexport const LabelValueRender = (props: LabelValueRenderProps) => {\n const screenType = fbaHooks.useResponsivePoint() || '';\n const [breakpoint, setBreakpoint] = useState<TBoxBreakpoint>();\n\n const {\n column,\n forceColumn,\n labelAlign,\n labelWidth,\n options,\n border,\n bordered,\n width,\n size = 'default',\n direction = 'auto',\n gutter,\n hiddenValueHover,\n } = props;\n\n const columnNew = column && [1, 2, 3, 4, 6].includes(column) ? column : 4;\n\n const borderedNew = !isUndefinedOrNull(bordered) ? bordered : border;\n\n const directionNew = useMemo(() => {\n if (direction === 'horizontal' || direction === 'vertical') return direction;\n if (screenType === 'xs' || breakpoint === 'xs') return 'vertical';\n return 'horizontal';\n }, [breakpoint, direction, screenType]);\n\n const ellipsis = useMemo(() => {\n if (directionNew === 'vertical') return true;\n return isUndefinedOrNull(props.ellipsis) ? true : props.ellipsis;\n }, [directionNew, props.ellipsis]);\n\n const labelWidthNew = labelWidth ? (isNumber(labelWidth) ? `${labelWidth}px` : labelWidth) : '100px';\n\n const gridSize = useMemo(() => {\n if (forceColumn) {\n const num = 24 / forceColumn;\n return { xs: num, sm: num, md: num, lg: num, xl: num, xxl: num };\n }\n const columnMap = {\n 1: { xs: 24, sm: 24, md: 24, lg: 24, xl: 24, xxl: 24 },\n 2: { xs: 24, sm: 12, md: 12, lg: 12, xl: 12, xxl: 12 },\n 3: { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 8 },\n 4: { xs: 24, sm: 12, md: 12, lg: 6, xl: 6, xxl: 6 },\n 6: { xs: 24, sm: 12, md: 8, lg: 6, xl: 4, xxl: 4 },\n };\n return columnMap[columnNew];\n }, [columnNew, forceColumn]);\n\n const renderList = useMemo(() => {\n if (!breakpoint) return undefined;\n const dataListNew: TLabelValueRenderItem[] = [];\n options.forEach((item) => {\n if (!item.hidden) {\n let grid: number | undefined = undefined;\n if (item.span) {\n const itemSpan = item.span > columnNew ? columnNew : item.span;\n grid = itemSpan * (24 / columnNew);\n if (breakpoint === 'xs') {\n grid = 24;\n } else if (breakpoint === 'sm') {\n grid = grid > 12 ? grid : 12;\n }\n }\n dataListNew.push({\n ...item,\n grid: grid ? grid : gridSize[breakpoint],\n });\n }\n });\n return getRenderGrid(dataListNew.filter(Boolean));\n }, [breakpoint, columnNew, gridSize, options]);\n\n const showColon = !borderedNew && directionNew !== 'vertical';\n\n const getFormRowChildren = () => {\n return renderList\n ?.map((item, index) => {\n const ellipsisFt =\n directionNew === 'vertical' ? true : isUndefinedOrNull(item.ellipsis) ? ellipsis : item.ellipsis;\n\n let labelContent: ReactElement | string = item.label;\n // let labelContent: ReactElement | string = isValidElement(item.label)\n // ? item.label\n // : `${item.label}${colon}`;\n // if (colon) {\n // labelContent = isValidElement(item.label)\n // ? item.label\n // : `${item.label}${colon}`;\n // }\n\n if (item.tips && ellipsisFt) {\n labelContent = (\n <TipsWrapper tipType=\"tooltip\" tooltipProps={{ title: item.tips }}>\n <TextOverflow text={labelContent as unknown as string} hideTip={item.hideTip} />\n </TipsWrapper>\n );\n } else if (item.tips) {\n labelContent = (\n <TipsWrapper tipType=\"tooltip\" tooltipProps={{ title: item.tips }}>\n {labelContent}\n </TipsWrapper>\n );\n } else if (ellipsisFt) {\n labelContent = <TextOverflow text={labelContent as unknown as string} hideTip={item.hideTip} />;\n }\n\n const innerlabelStyle = showColon ? { display: 'flex', gap: 3 } : {};\n return (\n <BoxGrid.Col\n key={index}\n {...gridSize}\n span={item.grid}\n className={classNames('label-value-tr', {\n 'label-value-last-tr': item.isLast,\n })}\n >\n <div\n className=\"label-value-label\"\n style={{\n ...innerlabelStyle,\n ...props.labelStyle,\n ...item.labelStyle,\n }}\n >\n {item.required ? (\n <div\n style={{\n paddingLeft: 8,\n position: 'relative',\n width: '100%',\n }}\n >\n <TextSymbolWrapper text={labelContent} symbolType=\"required\" />\n </div>\n ) : (\n labelContent\n )}\n {showColon ? <div>:</div> : null}\n </div>\n {!isValidElement(item.value) && ellipsisFt && !item.valueNoWrapper ? (\n <div\n className=\"label-value-value\"\n style={{\n ...props.valueStyle,\n ...item.valueStyle,\n }}\n >\n <TextOverflow text={item.value as string} onClick={item.onClick} hideTip={item.hideTip} />\n </div>\n ) : (\n <div\n className=\"label-value-value\"\n style={{\n wordBreak: 'break-all',\n ...props.valueStyle,\n ...item.valueStyle,\n }}\n >\n {item.onClick ? <a onClick={item.onClick}>{item.value}</a> : item.value}\n </div>\n )}\n </BoxGrid.Col>\n );\n })\n .filter(Boolean);\n };\n\n const onBoxBreakpointChange = hooks.useCallbackRef((breakpoint: TBoxBreakpoint) => {\n setBreakpoint(breakpoint);\n });\n\n const innerStyle = useMemo(() => {\n /** 小屏幕不控制宽度 */\n if (['xs', 'sm'].includes(screenType) || !width) {\n return {};\n }\n return { width };\n }, [screenType, width]);\n\n const align = (function () {\n if (labelAlign) return labelAlign;\n if (borderedNew) return 'left';\n if (directionNew === 'horizontal') return 'right';\n return 'left';\n })();\n\n return (\n <BoxGrid.Row\n style={\n {\n ...innerStyle,\n ...props.style,\n '--lvr-label-width': directionNew === 'horizontal' ? labelWidthNew : undefined,\n } as TAny\n }\n className={classNames(\n 'label-value-render',\n `lvr-${directionNew}`,\n `lvr-size-${size}`,\n `lvr-label-${align}`,\n { 'lvr-border': borderedNew },\n { 'lvr-hidden-hover': hiddenValueHover },\n props.className,\n )}\n gutter={borderedNew ? [0, 0] : gutter || [10, 0]}\n onBoxBreakpointChange={onBoxBreakpointChange}\n >\n {getFormRowChildren()}\n </BoxGrid.Row>\n );\n};\n"],"names":["getRenderGrid","dataList","results","currentSum","currentArr","i","length","item","grid","temp","_extends","push","map","index","total","arrayTotal","lastItem","isLast","resultsFt","forEach","concat","LabelValueRender","props","screenType","fbaHooks","useResponsivePoint","_useState","useState","breakpoint","setBreakpoint","column","forceColumn","labelAlign","labelWidth","options","border","bordered","width","_props$size","size","_props$direction","direction","gutter","hiddenValueHover","columnNew","includes","borderedNew","isUndefinedOrNull","directionNew","useMemo","ellipsis","labelWidthNew","isNumber","gridSize","num","xs","sm","md","lg","xl","xxl","columnMap","renderList","undefined","dataListNew","hidden","span","itemSpan","filter","Boolean","showColon","getFormRowChildren","ellipsisFt","labelContent","label","tips","_jsx","TipsWrapper","tipType","tooltipProps","title","children","TextOverflow","text","hideTip","innerlabelStyle","display","gap","_jsxs","BoxGrid","Col","className","_classNames","style","labelStyle","required","paddingLeft","position","TextSymbolWrapper","symbolType","isValidElement","value","valueNoWrapper","valueStyle","onClick","wordBreak","onBoxBreakpointChange","_hooks","useCallbackRef","innerStyle","align","Row"],"mappings":"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"}
|
|
@@ -3,5 +3,5 @@ import './../fba-utils/index.css';
|
|
|
3
3
|
import './../fba-hooks/index.css';
|
|
4
4
|
import './index.css';
|
|
5
5
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
6
|
-
import{fbaUtils as r}from"../fba-utils/index.js";import{createCtx as e}from"@wove/react/cjs/create-ctx";import{classNames as n}from"@dimjs/utils/cjs/class-names";import{isDeepEqual as a}from"@dimjs/lang/cjs/is-deep-equal";import{hooks as
|
|
6
|
+
import{fbaUtils as r}from"../fba-utils/index.js";import{createCtx as e}from"@wove/react/cjs/create-ctx";import{classNames as n}from"@dimjs/utils/cjs/class-names";import{isDeepEqual as a}from"@dimjs/lang/cjs/is-deep-equal";import{hooks as i}from"@wove/react/cjs/hooks";import{_ as t}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{getValueOrDefault as o,toArray as l,isUndefinedOrNull as s}from"@flatbiz/utils";import{Result as c,Button as u,Spin as m}from"antd";import{forwardRef as d,useState as f,useRef as p,useMemo as v,useImperativeHandle as g,Fragment as h}from"react";import{fbaHooks as y}from"../fba-hooks/index.js";import{jsx as b,jsxs as j}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-array";import"@dimjs/model";import"../use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/uuid";var N=e(),C=N[0],P=N[1];var q=d((function(r,e){var d=r.serviceConfig,N=r.isAsync,C=r.children,q=r.errorRender,R=r.loadingSpinProps,w=r.textConfigs,x=r.showRequiredError,k=r.contentScroll,E=r.contentStyle,L=r.height;var T=f("init"),H=T[0],K=T[1];var S=f(),z=S[0],A=S[1];var _=r.loadingHeight===undefined?100:r.loadingHeight;var B=f(false),D=B[0],F=B[1];var G=p();var I=p(true);var J=y.usePrevious(d.params);var M=o(R==null?void 0:R.content,b("span",{}));var O=o(R==null?void 0:R.bgColor,"rgba(0,0,0,0.01)");var Q=o(R==null?void 0:R.tip,"Loading");var U=w==null?void 0:w.requiredErrorText;var V=v((function(){var r;if(!d.params||l(d.invalidParamKey).length===0){return d.params}var e=t({},d.params);(r=d.invalidParamKey)==null||r.forEach((function(r){e[r]=undefined}));return e}),[d]);var W=i.useCallbackRef((function(r){var e=d==null?void 0:d.requiredParamsKeys;if(e!=null&&e.length){var n=e.find((function(e){return s(r==null?void 0:r[e])}));if(n){return{complete:false,message:U||"LocalLoading渲染缺少必填参数:"+e.join("、")}}}return{complete:true}}));var X=v((function(){return W(d.params)}),[W,d.params]);var Y=function r(e){return new Promise((function(r,n){var a=function(r){return function(e){try{F(false);return r&&r.call(this,e)}catch(r){return n(r)}}.bind(this)}.bind(this);var i,o;var l=function(){try{return r()}catch(r){return n(r)}};var s=function(r){try{console.error(r);K("error");G.current=r.message;I.current=false;return a(l)()}catch(r){return a(n)(r)}};try{i=t({},V,e);F(true);return Promise.resolve(d.onRequest(i)).then((function(r){try{o=r;K("success");A(o);I.current=false;return a(l)()}catch(r){return s(r)}}),s)}catch(r){s(r)}}))};y.useEffectCustomAsync((function(){return new Promise((function(r,e){if(X.complete){return Promise.resolve(Y()).then(function(r){try{return n.call(this)}catch(r){return e(r)}}.bind(this),e)}function n(){return r()}return n.call(this)}))}),[]);y.useEffectCustom((function(){if(X.complete){if(J){if(!a(d.params,J)){if(H==="error"){K("init")}void Y()}}}}),[J,d.params]);g(e,(function(){return{onRefresh:Y}}));if(!X.complete){if(I.current||!x){return b(h,{})}return b(P,{value:{onRequest:Y},children:j("div",{className:n("local-loading-error",r.className),children:[b("div",{className:"local-loading-area"}),b(c,{status:"error",subTitle:X.message})]})})}if(H==="error"){if(q){return q({message:G.current})}return b(P,{value:{onRequest:Y},children:j("div",{className:n("local-loading-error",r.className),children:[b("div",{className:"local-loading-area"}),b(c,{status:"error",subTitle:G.current||"数据处理异常",extra:[b(u,{type:"primary",ghost:true,size:"small",onClick:function r(){K("init");void Y()},children:"重新获取"},"console")]})]})})}if(H!=="success"&&!N){return b("div",{className:n("fba-local-loading-process",r.className),style:{height:_,display:"flex",justifyContent:"center",position:"relative",backgroundColor:"var(--block-bg-color)"},children:b(m,{spinning:D,tip:Q,wrapperClassName:"local-loading-spin-wrapper",className:"local-loading-spin",style:{"--local-loading-spin-bgColor":O},children:M})})}var Z=n("fba-local-loading",{"fll-content-scroll":k},r.className);var $=t({height:L},r.style);return b(P,{value:{onRequest:Y},children:j("div",{className:Z,style:$,children:[D?b(m,{spinning:D,tip:Q,wrapperClassName:"local-loading-spin-wrapper",className:"local-loading-spin",style:{"--local-loading-spin-bgColor":O},children:M}):null,b("div",{className:"local-loading-content",style:E,children:C(z)})]})})}));var R=r.attachPropertiesToComponent(q,{useLocalLoading:function r(){var e=C();return{onRequest:function r(n){e.onRequest(n)}}}});export{R as LocalLoading};
|
|
7
7
|
//# sourceMappingURL=index.js.map
|