@flatbiz/antd 4.2.102 → 4.2.104

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.
Files changed (75) hide show
  1. package/esm/button-operate/index.js +1 -1
  2. package/esm/button-wrapper/index.js +1 -1
  3. package/esm/config-provider-wrapper/index.js +1 -1
  4. package/esm/dialog-alert/index.js +1 -1
  5. package/esm/dialog-confirm/index.js +1 -1
  6. package/esm/dialog-drawer/index.js +1 -1
  7. package/esm/dialog-drawer-content/index.js +1 -1
  8. package/esm/dialog-loading/index.js +1 -1
  9. package/esm/dialog-loading/index.js.map +1 -1
  10. package/esm/dialog-modal/index.js +1 -1
  11. package/esm/drag-editable-table/index.css +0 -0
  12. package/esm/drag-editable-table/index.js +28 -0
  13. package/esm/drag-editable-table/index.js.map +1 -0
  14. package/esm/drag-form-list/index.js +1 -1
  15. package/esm/drag-table/index.js +1 -1
  16. package/esm/drag-table/index.js.map +1 -1
  17. package/esm/drawer-wrapper/index.js +1 -1
  18. package/esm/drawer-wrapper/index.js.map +1 -1
  19. package/esm/dropdown-menu-wrapper/index.js +1 -1
  20. package/esm/easy-table/index.js +1 -1
  21. package/esm/editable-table/index.js +1 -1
  22. package/esm/fba-app/index.js +1 -1
  23. package/esm/fba-hooks/index.js +1 -1
  24. package/esm/fba-hooks/index.js.map +1 -1
  25. package/esm/file-import/index.js.map +1 -1
  26. package/esm/form-item-group/index.js +1 -1
  27. package/esm/form-list-wrapper/index.js +1 -1
  28. package/esm/index-c7967f72.js +3 -0
  29. package/esm/{index-34027e61.js.map → index-c7967f72.js.map} +1 -1
  30. package/esm/index.js +14 -10
  31. package/esm/json-editor/index.css +0 -0
  32. package/esm/json-editor/index.js +12 -0
  33. package/esm/json-editor/index.js.map +1 -0
  34. package/esm/modal-wrapper/index.js +1 -1
  35. package/esm/modal-wrapper/index.js.map +1 -1
  36. package/esm/relation-tree/index.js +1 -1
  37. package/esm/relation-tree/index.js.map +1 -1
  38. package/esm/rich-text-viewer/index.js +1 -1
  39. package/esm/roll-location-center/index.js +1 -1
  40. package/esm/roll-location-center/index.js.map +1 -1
  41. package/esm/roll-location-in-view/index.js +1 -1
  42. package/esm/roll-location-in-view/index.js.map +1 -1
  43. package/esm/search-form/index.css +0 -0
  44. package/esm/search-form/index.js +11 -0
  45. package/esm/search-form/index.js.map +1 -0
  46. package/esm/search-menu/index.js +4 -1
  47. package/esm/search-menu/index.js.map +1 -1
  48. package/esm/selector-wrapper-search/index.js +1 -1
  49. package/esm/selector-wrapper-simple/index.js +1 -1
  50. package/esm/simple-layout/index.js +1 -1
  51. package/esm/simple-layout/index.js.map +1 -1
  52. package/esm/switch-confirm-wrapper/index.js +1 -1
  53. package/esm/switch-confirm-wrapper/index.js.map +1 -1
  54. package/esm/table-cell-render/index.css +1 -1
  55. package/esm/table-cell-render/index.js +1 -1
  56. package/esm/table-cell-render/index.js.map +1 -1
  57. package/esm/table-scrollbar/index.js +1 -1
  58. package/esm/table-scrollbar/index.js.map +1 -1
  59. package/esm/tag-group/index.js +1 -1
  60. package/esm/tag-group/index.js.map +1 -1
  61. package/esm/text-css-ellipsis/index.js +1 -1
  62. package/esm/text-css-ellipsis/index.js.map +1 -1
  63. package/esm/text-overflow/index.css +1 -0
  64. package/esm/text-overflow/index.js +6 -0
  65. package/esm/text-overflow/index.js.map +1 -0
  66. package/esm/text-overflow-render/index.js +1 -1
  67. package/esm/text-overflow-render/index.js.map +1 -1
  68. package/esm/time-range-picker-wrapper-form-item/index.js +1 -1
  69. package/esm/time-range-picker-wrapper-form-item/index.js.map +1 -1
  70. package/esm/tree-wrapper/index.js +1 -1
  71. package/esm/upload-wrapper/index.js +1 -1
  72. package/esm/upload-wrapper/index.js.map +1 -1
  73. package/index.d.ts +1078 -795
  74. package/package.json +4 -3
  75. package/esm/index-34027e61.js +0 -3
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/switch-confirm-wrapper/switch-confirm-wrapper.tsx"],"sourcesContent":["import { TAny } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { message, Popconfirm, PopconfirmProps, Switch, SwitchProps } from 'antd';\nimport { useMemo, useState } from 'react';\nimport { fbaHooks } from '../fba-hooks';\n\nexport type SwitchConfirmWrapperValue = string | number | boolean;\nexport type SwitchConfirmWrapperProps = Omit<SwitchProps, 'defaultChecked' | 'onChange'> & {\n value?: SwitchConfirmWrapperValue;\n checkedValue: SwitchConfirmWrapperValue;\n unCheckedValue: SwitchConfirmWrapperValue;\n needConfirm?: 'close' | 'open' | 'all' | 'none';\n noMessage?: boolean;\n onChange?: (value: SwitchConfirmWrapperValue) => void;\n popConfirmProps?:\n | Pick<PopconfirmProps, 'disabled' | 'title' | 'description'>\n | ((checked?: boolean) => Pick<PopconfirmProps, 'disabled' | 'title' | 'description'>);\n serviceConfig?: {\n onRequest: (value: SwitchConfirmWrapperValue) => TAny;\n message?: {\n success?: string;\n defaultError?: string;\n };\n };\n};\n\n/**\n *\n * @description switch 切换时做二次pop提醒, 非可控组件【内部控制】\n * @param props\n * @param value\n * @param checkedValue:选中状态值\n * @param unCheckedValue:非选中状态值\n * @param needConfirm:二次pop拦截时机 可不传\n * close:switch 由开启转换成关闭时pop弹出\n * open:switch 由开启转换成开启时pop弹出\n * all:switch 一直pop\n * none:switch 不弹出\n * @param noMessage:不采用内置message提示\n * @param onChange:switch 有效切换回掉\n * @param popConfirmProps:popConfirm中参数 disabled title description\n * @param serviceConfig onRequest\n * @field onRequest 请求函数\n * @field message message配置 success defaultError\n * ```\n * 1. 单独使用\n * <SwitchConfirmWrapper\n * value={value}\n * checkedValue={'1'}\n * unCheckedValue={'2'}\n * serviceConfig={{\n * onRequest: async () => {\n * await sleep(2000);\n * },\n * }}\n * needConfirm={'all'}\n * popConfirmProps={{\n * title: '确定要开启吗?',\n * }}\n * onChange={(value) => {\n * setValue(value as string);\n * }}\n * />\n *\n * 2. 与Form.Item结合使用\n * <Form.Item name=\"open\">\n * <SwitchConfirmWrapper\n * checkedValue={'1'}\n * unCheckedValue={'2'}\n * serviceConfig={{\n * onRequest: async () => {\n * await sleep(2000);\n * },\n * }}\n * needConfirm={'all'}\n * popConfirmProps={{\n * title: '确定要开启吗?',\n * }}\n * />\n * </Form.Item>\n * ```\n */\nexport const SwitchConfirmWrapper = (props: SwitchConfirmWrapperProps) => {\n const {\n popConfirmProps,\n needConfirm,\n checkedValue,\n unCheckedValue,\n onChange,\n value,\n serviceConfig,\n noMessage,\n ...otherProps\n } = props;\n const popConfirmPropsFt = useMemo(() => {\n if (typeof popConfirmProps === 'function') {\n return popConfirmProps(value === checkedValue);\n }\n return popConfirmProps;\n }, [checkedValue, popConfirmProps, value]);\n const [isCheked, setIsCheked] = useState<boolean>(false);\n const [loading, setLoading] = useState<boolean>(false);\n\n fbaHooks.useEffectCustom(() => {\n setIsCheked(value === checkedValue);\n }, [props.value]);\n\n const showConfirm = useMemo(() => {\n return (\n (needConfirm === 'close' && isCheked) ||\n (needConfirm === 'open' && !isCheked) ||\n !needConfirm ||\n needConfirm === 'all'\n );\n }, [isCheked, needConfirm]);\n\n const onHandleChange = hooks.useCallbackRef(async () => {\n const changeValue = !isCheked ? checkedValue : unCheckedValue;\n if (serviceConfig?.onRequest) {\n try {\n setLoading(true);\n await serviceConfig.onRequest(changeValue);\n setIsCheked(!isCheked);\n onChange?.(changeValue);\n if (!noMessage) {\n void message.success(serviceConfig?.message?.success || '状态修改成功!');\n }\n } catch (error) {\n if (!noMessage) {\n void message.error(error?.message || serviceConfig?.message?.defaultError || '状态修改失败!');\n }\n } finally {\n setLoading(false);\n }\n } else {\n setIsCheked(!isCheked);\n onChange?.(changeValue);\n }\n });\n if (showConfirm) {\n return (\n <Popconfirm\n disabled={popConfirmPropsFt?.disabled}\n okButtonProps={{ loading: loading }}\n title={popConfirmPropsFt?.title}\n description={popConfirmPropsFt?.description}\n onConfirm={onHandleChange}\n >\n <Switch checked={isCheked} {...otherProps} />\n </Popconfirm>\n );\n }\n return <Switch checked={isCheked} loading={loading} {...otherProps} onChange={onHandleChange} />;\n};\n"],"names":["SwitchConfirmWrapper","props","popConfirmProps","needConfirm","checkedValue","unCheckedValue","onChange","value","serviceConfig","noMessage","otherProps","_objectWithoutPropertiesLoose","_excluded","popConfirmPropsFt","useMemo","_useState","useState","isCheked","setIsCheked","_useState2","loading","setLoading","fbaHooks","useEffectCustom","showConfirm","onHandleChange","_hooks","useCallbackRef","Promise","$return","$error","changeValue","_serviceConfig$messag","_serviceConfig$messag2","onRequest","$Try_1_Finally","$Try_1_Exit","$Try_1_Value","call","this","$boundEx","bind","$Try_1_Post","$If_2","$Try_1_Catch","error","message","defaultError","resolve","then","$await_3","success","_jsx","Popconfirm","disabled","okButtonProps","title","description","onConfirm","children","Switch","_extends","checked"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/switch-confirm-wrapper/switch-confirm-wrapper.tsx"],"sourcesContent":["import { TAny } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { message, Popconfirm, PopconfirmProps, Switch, SwitchProps } from 'antd';\nimport { useMemo, useState } from 'react';\nimport { fbaHooks } from '../fba-hooks';\n\nexport type SwitchConfirmWrapperValue = string | number | boolean;\nexport type SwitchConfirmWrapperProps = Omit<SwitchProps, 'defaultChecked' | 'onChange'> & {\n value?: SwitchConfirmWrapperValue;\n checkedValue: SwitchConfirmWrapperValue;\n unCheckedValue: SwitchConfirmWrapperValue;\n needConfirm?: 'close' | 'open' | 'all' | 'none';\n noMessage?: boolean;\n onChange?: (value: SwitchConfirmWrapperValue) => void;\n popConfirmProps?:\n | Pick<PopconfirmProps, 'disabled' | 'title' | 'description'>\n | ((checked?: boolean) => Pick<PopconfirmProps, 'disabled' | 'title' | 'description'>);\n serviceConfig?: {\n onRequest: (value: SwitchConfirmWrapperValue) => TAny;\n message?: {\n success?: string;\n defaultError?: string;\n };\n };\n};\n\n/**\n *\n * @description switch 切换时做二次pop提醒, 非可控组件【内部控制】\n * @param props\n * @param value\n * @param checkedValue:选中状态值\n * @param unCheckedValue:非选中状态值\n * @param needConfirm:二次pop拦截时机 可不传\n * close:switch 由开启转换成关闭时pop弹出\n * open:switch 由开启转换成开启时pop弹出\n * all:switch 一直pop\n * none:switch 不弹出\n * @param noMessage:不采用内置message提示\n * @param onChange:switch 有效切换回掉\n * @param popConfirmProps:popConfirm中参数 disabled title description\n * @param serviceConfig onRequest\n * @field onRequest 请求函数\n * @field message message配置 success defaultError\n * ```\n * 1. 单独使用\n * <SwitchConfirmWrapper\n * value={value}\n * checkedValue={'1'}\n * unCheckedValue={'2'}\n * serviceConfig={{\n * onRequest: async () => {\n * await sleep(2000);\n * },\n * }}\n * needConfirm={'all'}\n * popConfirmProps={{\n * title: '确定要开启吗?',\n * }}\n * onChange={(value) => {\n * setValue(value as string);\n * }}\n * />\n *\n * 2. 与Form.Item结合使用\n * <Form.Item name=\"open\">\n * <SwitchConfirmWrapper\n * checkedValue={'1'}\n * unCheckedValue={'2'}\n * serviceConfig={{\n * onRequest: async () => {\n * await sleep(2000);\n * },\n * }}\n * needConfirm={'all'}\n * popConfirmProps={{\n * title: '确定要开启吗?',\n * }}\n * />\n * </Form.Item>\n * ```\n */\nexport const SwitchConfirmWrapper = (props: SwitchConfirmWrapperProps) => {\n const {\n popConfirmProps,\n needConfirm,\n checkedValue,\n unCheckedValue,\n onChange,\n value,\n serviceConfig,\n noMessage,\n ...otherProps\n } = props;\n const popConfirmPropsFt = useMemo(() => {\n if (typeof popConfirmProps === 'function') {\n return popConfirmProps(value === checkedValue);\n }\n return popConfirmProps;\n }, [checkedValue, popConfirmProps, value]);\n const [isCheked, setIsCheked] = useState<boolean>(false);\n const [loading, setLoading] = useState<boolean>(false);\n\n fbaHooks.useEffectCustom(() => {\n setIsCheked(value === checkedValue);\n }, [props.value]);\n\n const showConfirm = useMemo(() => {\n return (\n (needConfirm === 'close' && isCheked) ||\n (needConfirm === 'open' && !isCheked) ||\n !needConfirm ||\n needConfirm === 'all'\n );\n }, [isCheked, needConfirm]);\n\n const onHandleChange = hooks.useCallbackRef(async () => {\n const changeValue = !isCheked ? checkedValue : unCheckedValue;\n if (serviceConfig?.onRequest) {\n try {\n setLoading(true);\n await serviceConfig.onRequest(changeValue);\n setIsCheked(!isCheked);\n onChange?.(changeValue);\n if (!noMessage) {\n void message.success(serviceConfig?.message?.success || '状态修改成功!');\n }\n } catch (error) {\n if (!noMessage) {\n void message.error(error?.message || serviceConfig?.message?.defaultError || '状态修改失败!');\n }\n } finally {\n setLoading(false);\n }\n } else {\n setIsCheked(!isCheked);\n onChange?.(changeValue);\n }\n });\n if (showConfirm) {\n return (\n <Popconfirm\n disabled={popConfirmPropsFt?.disabled}\n okButtonProps={{ loading: loading }}\n title={popConfirmPropsFt?.title}\n description={popConfirmPropsFt?.description}\n onConfirm={onHandleChange}\n >\n <Switch checked={isCheked} {...otherProps} />\n </Popconfirm>\n );\n }\n return <Switch checked={isCheked} loading={loading} {...otherProps} onChange={onHandleChange} />;\n};\n"],"names":["SwitchConfirmWrapper","props","popConfirmProps","needConfirm","checkedValue","unCheckedValue","onChange","value","serviceConfig","noMessage","otherProps","_objectWithoutPropertiesLoose","_excluded","popConfirmPropsFt","useMemo","_useState","useState","isCheked","setIsCheked","_useState2","loading","setLoading","fbaHooks","useEffectCustom","showConfirm","onHandleChange","_hooks","useCallbackRef","Promise","$return","$error","changeValue","_serviceConfig$messag","_serviceConfig$messag2","onRequest","$Try_1_Finally","$Try_1_Exit","$Try_1_Value","call","this","$boundEx","bind","$Try_1_Post","$If_2","$Try_1_Catch","error","message","defaultError","resolve","then","$await_3","success","_jsx","Popconfirm","disabled","okButtonProps","title","description","onConfirm","children","Switch","_extends","checked"],"mappings":"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"}
@@ -1 +1 @@
1
- .table-fen-color{background-color:rgba(201,188,47,.2);box-shadow:0 0 10px rgba(201,188,47,.4);display:inline-block}
1
+ .table-fen-color,.table-wan-color{background-color:rgba(201,188,47,.2);box-shadow:0 0 10px rgba(201,188,47,.4);display:inline-block}
@@ -12,5 +12,5 @@ import './../flex-layout/index.css';
12
12
  import './../tag-list-select/index.css';
13
13
  import './index.css';
14
14
  /*! @flatjs/forge MIT @flatbiz/antd */
15
- import{isString as r}from"@dimjs/lang/cjs/is-string";import{isObject as e}from"@dimjs/lang/cjs/is-object";import{get as n}from"@dimjs/utils/cjs/get";import{isPlainObject as t}from"@dimjs/lang/cjs/is-plain-object";import{_ as i}from"../_rollupPluginBabelHelpers-a0769acd.js";import{isEmpty as o}from"@dimjs/lang/cjs/is-empty";import{isNumber as a,isUndefinedOrNull as l,getStrByteLen as u,cutString as s,flatbizDate as c,flatbizPrice as m}from"@flatbiz/utils";import{Tooltip as d,Space as f,Badge as p}from"antd";import{Fragment as j}from"react";import{ButtonOperate as v}from"../button-operate/index.js";import{TagListSelect as g}from"../tag-list-select/index.js";import{jsx as x}from"react/jsx-runtime";import"@ant-design/icons/es/icons/MoreOutlined";import"@dimjs/lang/cjs/is-undefined";import"@dimjs/utils/cjs/class-names";import"@dimjs/lang/cjs/is-promise";import"@wove/react/cjs/hooks";import"../button-wrapper/index.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"../index-34027e61.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"../dropdown-menu-wrapper/index.js";import"@ant-design/icons/es/icons/ExclamationCircleFilled";import"../dialog-confirm/index.js";import"../dialog-modal/index.js";import"ahooks";import"react-dom/client";import"../flex-layout/index.js";var h=function r(e,n){return function(r){if(o(r)||r==="")return n;if(a(r))return r;var t=r.toString();var i=l(e)?10:e;var c=u(t);if(c<=i*2){return t}return x(d,{placement:"topLeft",title:t,children:s(t,i*2)})}};var b=function r(e){return function(r,n,t){var o=e(n,t);return x(v,i({},o))}};var y=function r(e,n){return function(r){if(o(r)||r==="")return n;try{return c.format(new Date(r),e)}catch(e){return r||n}}};var C=function r(e,n){return function(r,t,i){if(n&&e){return(e-1)*n+i+1}return i+1}};var w=function r(e){return function(r,n,t){var i=(e==null?void 0:e())||{},o=i.pageNo,a=i.pageSize;if(a&&o){return(o-1)*a+t+1}return t+1}};var k=function r(e,n){return function(r){if(l(r))return null;return x(g,{dataList:e,colorMap:n,value:r,forceMatch:false})}};var N=function r(i,o){return function(r){if(t(r)){var a=n(r,i,o);if(!a)return"";if(e(a))return JSON.stringify(a);return a}return r||o}};var O=function r(e){return function(r){if(l(r)||r===""){if(l(e==null?void 0:e.defaultValue))return undefined;if(a(e==null?void 0:e.defaultValue)){return x("span",{className:"table-fen-color",children:m.format(e==null?void 0:e.defaultValue)})}return x("span",{className:"table-fen-color",children:e==null?void 0:e.defaultValue})}if(!a(r))return r;var n=m.fen2yuan(r);return x("span",{className:"table-fen-color",children:m.format(n,e==null?void 0:e.defaultValue,{separator:(e==null?void 0:e.separator)||false})})}};var S=function e(n){return function(e,t){var i=n==null?void 0:n(t);if(!i)return x(j,{children:e});var o=l(i.showData)?true:i.showData;var a=l(i.notOverflowShowExtra)?true:i.notOverflowShowExtra;var u=l(i.showMaxNumber)?10:i.showMaxNumber;var c=i.extraPosition?i.extraPosition:"after";var m=r(e)?s(e,u*2):e;if(i.extra&&o){if(m===e&&!a){return e}var d=[x("span",{children:m},"1"),x(j,{children:i.extra},"2")];var p=c==="before"?d.reverse():d;return x(f,{onClick:i.onClick,style:{cursor:i.onClick?"pointer":undefined},size:5,children:p.map((function(r,e){return x(j,{children:r},e)}))})}return x("span",{onClick:i.onClick,children:i.extra})}};var z=function r(e,n){return function(r){if(!r)return null;var t=e.find((function(e){return e.value===r}));if(t)return x(p,{color:(t==null?void 0:t.color)||(n==null?void 0:n[r])||"rgba(0, 0, 0, 0.25)",text:t==null?void 0:t.label});return r}};var M={extraContentRender:S,indexCell:C,serialNumberCell:w,dateCell:y,operateCell:b,tooltipCell:h,selectorCell:k,objectCell:N,fen2yuanCell:O,badgeCell:z};export{M as tableCellRender};
15
+ import{isString as r}from"@dimjs/lang/cjs/is-string";import{isObject as e}from"@dimjs/lang/cjs/is-object";import{get as n}from"@dimjs/utils/cjs/get";import{isPlainObject as t}from"@dimjs/lang/cjs/is-plain-object";import{_ as i}from"../_rollupPluginBabelHelpers-a0769acd.js";import{isEmpty as o}from"@dimjs/lang/cjs/is-empty";import{isNumber as a,isUndefinedOrNull as l,getStrByteLen as u,cutString as s,flatbizDate as d,flatbizPrice as f}from"@flatbiz/utils";import{Tooltip as c,Space as m,Badge as p}from"antd";import{Fragment as v}from"react";import{ButtonOperate as j}from"../button-operate/index.js";import{TagListSelect as g}from"../tag-list-select/index.js";import{jsx as h}from"react/jsx-runtime";import"@ant-design/icons/es/icons/MoreOutlined";import"@dimjs/lang/cjs/is-undefined";import"@dimjs/utils/cjs/class-names";import"@dimjs/lang/cjs/is-promise";import"@wove/react/cjs/hooks";import"../button-wrapper/index.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"../index-c7967f72.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"../dropdown-menu-wrapper/index.js";import"@ant-design/icons/es/icons/ExclamationCircleFilled";import"../dialog-confirm/index.js";import"../dialog-modal/index.js";import"ahooks";import"react-dom/client";import"../flex-layout/index.js";var x=function r(e,n){return function(r){if(o(r)||r==="")return n;if(a(r))return r;var t=r.toString();var i=l(e)?10:e;var d=u(t);if(d<=i*2){return t}return h(c,{placement:"topLeft",title:t,children:s(t,i*2)})}};var w=function r(e){return function(r,n,t){var o=e(n,t);return h(j,i({},o))}};var C=function r(e,n){return function(r){if(o(r)||r==="")return n;try{return d.format(new Date(r),e)}catch(e){return r||n}}};var y=function r(e,n){return function(r,t,i){if(n&&e){return(e-1)*n+i+1}return i+1}};var b=function r(e){return function(r,n,t){var i=(e==null?void 0:e())||{},o=i.pageNo,a=i.pageSize;if(a&&o){return(o-1)*a+t+1}return t+1}};var N=function r(e,n){return function(r){if(l(r))return null;return h(g,{dataList:e,colorMap:n,value:r,forceMatch:false})}};var k=function r(i,o){return function(r){if(t(r)){var a=n(r,i,o);if(!a)return"";if(e(a))return JSON.stringify(a);return a}return r||o}};var V=function r(e){var n=e!=null&&e.hideBgColor?"":"table-fen-color";return function(r){if(l(r)||r===""){if(l(e==null?void 0:e.defaultValue))return undefined;if(a(e==null?void 0:e.defaultValue)){return h("span",{className:n,children:f.format(e==null?void 0:e.defaultValue)})}return h("span",{className:n,children:e==null?void 0:e.defaultValue})}if(!a(r))return r;var t=f.fen2yuan(r);return h("span",{className:n,children:f.format(t,e==null?void 0:e.defaultValue,{separator:(e==null?void 0:e.separator)||false})})}};var O=function r(e){var n=(e==null?void 0:e.showBgColor)===true?"table-wan-color":"";return function(r){if(l(r)||r===""){if(l(e==null?void 0:e.defaultValue))return undefined;if(a(e==null?void 0:e.defaultValue)){return h("span",{className:n,children:f.format(e==null?void 0:e.defaultValue)})}return h("span",{className:n,children:e==null?void 0:e.defaultValue})}if(!a(r))return r;var t=f.fen2wan(r);var i=e!=null&&e.removeTailZero?f.removeTailZero(t,e==null?void 0:e.defaultValue,{separator:(e==null?void 0:e.separator)||false}):f.format(t,e==null?void 0:e.defaultValue,{separator:(e==null?void 0:e.separator)||false});return h("span",{className:n,children:i})}};var S=function e(n){return function(e,t){var i=n==null?void 0:n(t);if(!i)return h(v,{children:e});var o=l(i.showData)?true:i.showData;var a=l(i.notOverflowShowExtra)?true:i.notOverflowShowExtra;var u=l(i.showMaxNumber)?10:i.showMaxNumber;var d=i.extraPosition?i.extraPosition:"after";var f=r(e)?s(e,u*2):e;if(i.extra&&o){if(f===e&&!a){return e}var c=[h("span",{children:f},"1"),h(v,{children:i.extra},"2")];var p=d==="before"?c.reverse():c;return h(m,{onClick:i.onClick,style:{cursor:i.onClick?"pointer":undefined},size:5,children:p.map((function(r,e){return h(v,{children:r},e)}))})}return h("span",{onClick:i.onClick,children:i.extra})}};var z=function r(e,n){return function(r){if(!r)return null;var t=e.find((function(e){return e.value===r}));if(t)return h(p,{color:(t==null?void 0:t.color)||(n==null?void 0:n[r])||"rgba(0, 0, 0, 0.25)",text:t==null?void 0:t.label});return r}};var M={extraContentRender:S,indexCell:y,serialNumberCell:b,dateCell:C,operateCell:w,tooltipCell:x,selectorCell:N,objectCell:k,fen2yuanCell:V,fen2wanCell:O,badgeCell:z};export{M as tableCellRender};
16
16
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/table-cell-render/cell-render.tsx"],"sourcesContent":["import { isEmpty, isObject, isPlainObject, isString } from '@dimjs/lang';\nimport { get } from '@dimjs/utils';\nimport {\n cutString,\n DateFormatType,\n flatbizDate,\n flatbizPrice,\n getStrByteLen,\n isNumber,\n isUndefinedOrNull,\n TAny,\n TPlainObject,\n} from '@flatbiz/utils';\nimport { Badge, Space, Tooltip } from 'antd';\nimport { Fragment, ReactElement } from 'react';\nimport { ButtonOperate, ButtonOperateProps } from '../button-operate';\nimport { TagListSelect, TagListSelectProps, TagListSelectValue } from '../tag-list-select';\nimport './style.less';\n\nconst tableColumnTooltipRender = (showMaxNumber?: number, defaultValue?: string) => {\n return (value: string | number) => {\n if (isEmpty(value) || value === '') return defaultValue;\n if (isNumber(value)) return value;\n const colunmText = value.toString();\n const maxNumber = (isUndefinedOrNull(showMaxNumber) ? 10 : showMaxNumber) as number;\n const strByteLen = getStrByteLen(colunmText);\n if (strByteLen <= maxNumber * 2) {\n return colunmText;\n }\n return (\n <Tooltip placement=\"topLeft\" title={colunmText}>\n {cutString(colunmText, maxNumber * 2)}\n </Tooltip>\n );\n };\n};\n\nconst tableColumnOperateRender = (options: (item: TAny, index: number) => ButtonOperateProps) => {\n return (_value: string | number, record, index: number) => {\n const operateProps = options(record, index);\n return <ButtonOperate {...operateProps} />;\n };\n};\n\nconst tableColumnDateRender = (dateFormatType?: DateFormatType, defaultValue?: string) => {\n return (value: string | number) => {\n if (isEmpty(value) || value === '') return defaultValue;\n try {\n return flatbizDate.format(new Date(value), dateFormatType);\n } catch (error) {\n return value || defaultValue;\n }\n };\n};\n\n/**\n * table 索引展示,如果存在pageSize、pageNo参数可分页展示索引,否则每页都从1开始\n * @param pageSize\n * @param pageNo\n * @returns\n */\nconst tableColumnIndexRender = (pageNo?: number, pageSize?: number) => {\n return (_value, _record, index: number) => {\n if (pageSize && pageNo) {\n return (pageNo - 1) * pageSize + index + 1;\n }\n return index + 1;\n };\n};\nconst tableColumnIndexRender2 = (method?: () => { pageNo?: number; pageSize?: number }) => {\n return (_value, _record, index: number) => {\n const { pageNo, pageSize } = method?.() || {};\n if (pageSize && pageNo) {\n return (pageNo - 1) * pageSize + index + 1;\n }\n return index + 1;\n };\n};\n\nconst tableColumnSelectorRender = (\n selectorList: TagListSelectProps['dataList'],\n colorMap?: TagListSelectProps['colorMap'],\n) => {\n return (value?: TAny) => {\n if (isUndefinedOrNull(value)) return null;\n return <TagListSelect dataList={selectorList} colorMap={colorMap} value={value} forceMatch={false} />;\n };\n};\n\nconst tableColumnObjectRender = (key: string, defaultValue?: string) => {\n return (value?: TPlainObject) => {\n if (isPlainObject(value)) {\n const target = get(value, key, defaultValue);\n if (!target) return '';\n if (isObject(target)) return JSON.stringify(target);\n return target;\n }\n return value || defaultValue;\n };\n};\n\nconst tableColumnFen2yuanCellRender = (options?: {\n /** 是否显示分隔符,默认值:false */\n separator?: boolean;\n defaultValue?: string | number;\n}) => {\n return (value?: string | number) => {\n if (isUndefinedOrNull(value) || value === '') {\n if (isUndefinedOrNull(options?.defaultValue)) return undefined;\n if (isNumber(options?.defaultValue as string | number)) {\n return <span className=\"table-fen-color\">{flatbizPrice.format(options?.defaultValue)}</span>;\n }\n return <span className=\"table-fen-color\">{options?.defaultValue}</span>;\n }\n if (!isNumber(value as number | string)) return value;\n const amount = flatbizPrice.fen2yuan(value);\n return (\n <span className=\"table-fen-color\">\n {flatbizPrice.format(amount, options?.defaultValue, { separator: options?.separator || false })}\n </span>\n );\n };\n};\n\ntype TableColumnIconRenderProps = {\n /** 额外内容,一般为Icon */\n extra: ReactElement;\n extraPosition?: 'before' | 'after';\n onClick?: (e) => void;\n /** 是否显示原单元格数据,默认值:true */\n showData?: boolean;\n /** 溢出显示【...】, 最大长度(默认:20个字节) */\n showMaxNumber?: number;\n /** 未溢出显示【extra】配置,默认值:true */\n notOverflowShowExtra?: boolean;\n};\n\nconst tableColumnExtraContentRender = (handle: (item: TPlainObject) => TableColumnIconRenderProps) => {\n return (value: TAny, item: TPlainObject) => {\n const options = handle?.(item);\n if (!options) return <Fragment>{value}</Fragment>;\n const showData = isUndefinedOrNull(options.showData) ? true : options.showData;\n const notOverflowShowExtra = isUndefinedOrNull(options.notOverflowShowExtra)\n ? true\n : options.notOverflowShowExtra;\n const showMaxNumber = isUndefinedOrNull(options.showMaxNumber) ? 10 : (options.showMaxNumber as number);\n const extraPosition = options.extraPosition ? options.extraPosition : 'after';\n const renderValue = isString(value) ? cutString(value, showMaxNumber * 2) : value;\n\n if (options.extra && showData) {\n if (renderValue === value && !notOverflowShowExtra) {\n return value;\n }\n const spaceContent = [<span key=\"1\">{renderValue}</span>, <Fragment key=\"2\">{options.extra}</Fragment>];\n const spaceContentRender = extraPosition === 'before' ? spaceContent.reverse() : spaceContent;\n return (\n <Space onClick={options.onClick} style={{ cursor: options.onClick ? 'pointer' : undefined }} size={5}>\n {spaceContentRender.map((item, index) => {\n return <Fragment key={index}>{item}</Fragment>;\n })}\n </Space>\n );\n }\n return <span onClick={options.onClick}>{options.extra}</span>;\n };\n};\n\nconst tableColumnBadgeRender = (\n selectorList: { label: string; value: TagListSelectValue; color?: string }[],\n colorMap?: Record<string | string, string>,\n) => {\n return (value?: TAny) => {\n if (!value) return null;\n const target = selectorList.find((item) => item.value === value);\n if (target)\n return (\n <Badge color={target?.color || colorMap?.[value] || 'rgba(0, 0, 0, 0.25)'} text={target?.label} />\n );\n return value;\n };\n};\n\nexport const tableCellRender = {\n /**\n * 表格单元格 拼接额外内容渲染\n * ```\n * 1. extra 额外内容\n * 2. showData 是否显示原单元格数据,默认值:true\n * 3. showMaxNumber 显示最大长度,作用于原单元格字符串数据\n * ```\n */\n extraContentRender: tableColumnExtraContentRender,\n /**\n * table 索引展示,如果存在pageSize、pageNo参数可分页展示索引,否则每页都从1开始\n * @deprecated 已过时 4.3.0版本移除,请使用 serialNumberCell\n */\n indexCell: tableColumnIndexRender,\n /**\n * table 序号展示,如果存在pageSize、pageNo参数可分页展示累加序号,否则每页都从1开始\n * ```\n * render: tableCellRender.serialNumberCell(() => {\n * return { pageNo,pageSize };\n * }),\n * ```\n */\n serialNumberCell: tableColumnIndexRender2,\n /**\n * 表格日期格式数据渲染,默认格式:YYYY-MM-DD\n * ```\n * dateFormatType: 日期格式\n * ```\n */\n dateCell: tableColumnDateRender,\n /**\n * table操作栏目渲染\n * ```\n * 使用方式\n * tableCellRender.operateCell((item) => ({\n * operateList: [\n * {\n * text: '编辑',\n * onClick: onItemOperate.bind(null, 'update', item),\n * permission: SystemAdminPermissionEnum.system_admin_edit,\n * },\n * {\n * text: '删除',\n * needConfirm: true,\n * confirmMessage: '确定要删除吗?',\n * onClick: onItemOperate.bind(null, 'delete', item),\n * permission: SystemAdminPermissionEnum.system_admin_delete,\n * },\n * ],\n * }))\n * ```\n */\n operateCell: tableColumnOperateRender,\n /**\n * 实现字段超出隐藏,默认长度10个字符\n * ```\n * 1. showMaxNumber: 显示最大长度\n * 2. 会讲字符转出字节进行计算显示\n * ```\n */\n tooltipCell: tableColumnTooltipRender,\n /**\n * ```\n * 独立使用\n * tableCellRender.selectorCell([{ label: '已开启', value: 1 }])(value)\n * tableCellRender.selectorCell([{ label: '已开启', value: 1, color: '#108ee9' }])(value)\n * tableCellRender.selectorCell([{ label: '已开启', value: 1 }], { 1: '#108ee9' })(value)\n *\n * 结合table column render 使用\n * render: tableCellRender.selectorCell([{ label: '已开启', value: 1 ])\n * render: (value) => {\n * return tableCellRender.selectorCell([{ label: '已开启', value: 1 ])(value)\n * }\n *\n * 其中value值可以是单个值或者数组;例如:'1' 或者 ['1', '2']\n * ```\n */\n selectorCell: tableColumnSelectorRender,\n /**\n * 单元格对象数据处理,支持多级处理\n * ```\n * tableCellRender.objectCell('a.b.c')\n * ```\n */\n objectCell: tableColumnObjectRender,\n /**\n * 分金额展示,入参分,显示元(默认添加千分位)\n * ```\n * 可配置\n * 1. separator:是否显示千分位分隔符,默认值:false\n * 2. defaultValue:当值为空默认展示\n *\n * 例如:\n * fen2yuanCell()(100090) => 1000.90\n * fen2yuanCell({separator: true})(100090) => 1,000.90\n * fen2yuanCell()('abc') => abc\n * fen2yuanCell({defaultValue: '--'})('') => --\n * fen2yuanCell()('') => undefined\n * fen2yuanCell({ defaultValue: 0 })('') => 0.00\n * ```\n */\n fen2yuanCell: tableColumnFen2yuanCellRender,\n /**\n * 单元格徽标展示数据\n * ```\n * 1. badge 默认颜色:灰色rgba(0, 0, 0, 0.25)\n *\n * 独立使用\n * tableCellRender.badgeCell([{ label: '已开启', value: 1 ])(value)\n * tableCellRender.badgeCell([{ label: '已开启', value: 1, color: '#108ee9' }])(value)\n * tableCellRender.badgeCell([{ label: '已开启', value: 1 }], { 1: '#108ee9' })(value)\n *\n * 结合table column render 使用\n * render: tableCellRender.badgeCell([{ label: '已开启', value: 1 ])\n * render: (value) => {\n * return tableCellRender.badgeCell([{ label: '已开启', value: 1 ])(value)\n * }\n * ```\n */\n badgeCell: tableColumnBadgeRender,\n};\n"],"names":["tableColumnTooltipRender","showMaxNumber","defaultValue","value","_isEmpty","isNumber","colunmText","toString","maxNumber","isUndefinedOrNull","strByteLen","getStrByteLen","_jsx","Tooltip","placement","title","children","cutString","tableColumnOperateRender","options","_value","record","index","operateProps","ButtonOperate","_extends","tableColumnDateRender","dateFormatType","flatbizDate","format","Date","error","tableColumnIndexRender","pageNo","pageSize","_record","tableColumnIndexRender2","method","_ref","tableColumnSelectorRender","selectorList","colorMap","TagListSelect","dataList","forceMatch","tableColumnObjectRender","key","_isPlainObject","target","_get","_isObject","JSON","stringify","tableColumnFen2yuanCellRender","undefined","className","flatbizPrice","amount","fen2yuan","separator","tableColumnExtraContentRender","handle","item","Fragment","showData","notOverflowShowExtra","extraPosition","renderValue","_isString","extra","spaceContent","spaceContentRender","reverse","Space","onClick","style","cursor","size","map","tableColumnBadgeRender","find","Badge","color","text","label","tableCellRender","extraContentRender","indexCell","serialNumberCell","dateCell","operateCell","tooltipCell","selectorCell","objectCell","fen2yuanCell","badgeCell"],"mappings":";kuDAmBA,IAAMA,EAA2B,SAA3BA,EAA4BC,EAAwBC,GACxD,OAAO,SAACC,GACN,GAAIC,EAAQD,IAAUA,IAAU,GAAI,OAAOD,EAC3C,GAAIG,EAASF,GAAQ,OAAOA,EAC5B,IAAMG,EAAaH,EAAMI,WACzB,IAAMC,EAAaC,EAAkBR,GAAiB,GAAKA,EAC3D,IAAMS,EAAaC,EAAcL,GACjC,GAAII,GAAcF,EAAY,EAAG,CAC/B,OAAOF,CACT,CACA,OACEM,EAACC,EAAO,CAACC,UAAU,UAAUC,MAAOT,EAAWU,SAC5CC,EAAUX,EAAYE,EAAY,KAI3C,EAEA,IAAMU,EAA2B,SAA3BA,EAA4BC,GAChC,OAAO,SAACC,EAAyBC,EAAQC,GACvC,IAAMC,EAAeJ,EAAQE,EAAQC,GACrC,OAAOV,EAACY,EAAaC,EAAKF,CAAAA,EAAAA,IAE9B,EAEA,IAAMG,EAAwB,SAAxBA,EAAyBC,EAAiCzB,GAC9D,OAAO,SAACC,GACN,GAAIC,EAAQD,IAAUA,IAAU,GAAI,OAAOD,EAC3C,IACE,OAAO0B,EAAYC,OAAO,IAAIC,KAAK3B,GAAQwB,EAC5C,CAAC,MAAOI,GACP,OAAO5B,GAASD,CAClB,EAEJ,EAQA,IAAM8B,EAAyB,SAAzBA,EAA0BC,EAAiBC,GAC/C,OAAO,SAACd,EAAQe,EAASb,GACvB,GAAIY,GAAYD,EAAQ,CACtB,OAAQA,EAAS,GAAKC,EAAWZ,EAAQ,CAC3C,CACA,OAAOA,EAAQ,EAEnB,EACA,IAAMc,EAA0B,SAA1BA,EAA2BC,GAC/B,OAAO,SAACjB,EAAQe,EAASb,GACvB,IAAAgB,GAA6BD,GAAM,UAAA,EAANA,MAAc,CAAE,EAArCJ,EAAMK,EAANL,OAAQC,EAAQI,EAARJ,SAChB,GAAIA,GAAYD,EAAQ,CACtB,OAAQA,EAAS,GAAKC,EAAWZ,EAAQ,CAC3C,CACA,OAAOA,EAAQ,EAEnB,EAEA,IAAMiB,EAA4B,SAA5BA,EACJC,EACAC,GAEA,OAAO,SAACtC,GACN,GAAIM,EAAkBN,GAAQ,OAAO,KACrC,OAAOS,EAAC8B,EAAa,CAACC,SAAUH,EAAcC,SAAUA,EAAUtC,MAAOA,EAAOyC,WAAY,QAEhG,EAEA,IAAMC,EAA0B,SAA1BA,EAA2BC,EAAa5C,GAC5C,OAAO,SAACC,GACN,GAAI4C,EAAc5C,GAAQ,CACxB,IAAM6C,EAASC,EAAI9C,EAAO2C,EAAK5C,GAC/B,IAAK8C,EAAQ,MAAO,GACpB,GAAIE,EAASF,GAAS,OAAOG,KAAKC,UAAUJ,GAC5C,OAAOA,CACT,CACA,OAAO7C,GAASD,EAEpB,EAEA,IAAMmD,EAAgC,SAAhCA,EAAiClC,GAKrC,OAAO,SAAChB,GACN,GAAIM,EAAkBN,IAAUA,IAAU,GAAI,CAC5C,GAAIM,EAAkBU,GAAAA,UAAAA,EAAAA,EAASjB,cAAe,OAAOoD,UACrD,GAAIjD,EAASc,GAAO,UAAA,EAAPA,EAASjB,cAAkC,CACtD,OAAOU,EAAA,OAAA,CAAM2C,UAAU,kBAAiBvC,SAAEwC,EAAa3B,OAAOV,GAAO,UAAA,EAAPA,EAASjB,eACzE,CACA,OAAOU,EAAA,OAAA,CAAM2C,UAAU,kBAAiBvC,SAAEG,GAAAA,UAAAA,EAAAA,EAASjB,cACrD,CACA,IAAKG,EAASF,GAA2B,OAAOA,EAChD,IAAMsD,EAASD,EAAaE,SAASvD,GACrC,OACES,EAAA,OAAA,CAAM2C,UAAU,kBAAiBvC,SAC9BwC,EAAa3B,OAAO4B,EAAQtC,GAAAA,UAAAA,EAAAA,EAASjB,aAAc,CAAEyD,WAAWxC,eAAAA,EAASwC,YAAa,UAI/F,EAeA,IAAMC,EAAgC,SAAhCA,EAAiCC,GACrC,OAAO,SAAC1D,EAAa2D,GACnB,IAAM3C,EAAU0C,eAAAA,EAASC,GACzB,IAAK3C,EAAS,OAAOP,EAACmD,EAAQ,CAAA/C,SAAEb,IAChC,IAAM6D,EAAWvD,EAAkBU,EAAQ6C,UAAY,KAAO7C,EAAQ6C,SACtE,IAAMC,EAAuBxD,EAAkBU,EAAQ8C,sBACnD,KACA9C,EAAQ8C,qBACZ,IAAMhE,EAAgBQ,EAAkBU,EAAQlB,eAAiB,GAAMkB,EAAQlB,cAC/E,IAAMiE,EAAgB/C,EAAQ+C,cAAgB/C,EAAQ+C,cAAgB,QACtE,IAAMC,EAAcC,EAASjE,GAASc,EAAUd,EAAOF,EAAgB,GAAKE,EAE5E,GAAIgB,EAAQkD,OAASL,EAAU,CAC7B,GAAIG,IAAgBhE,IAAU8D,EAAsB,CAClD,OAAO9D,CACT,CACA,IAAMmE,EAAe,CAAC1D,EAAA,OAAA,CAAAI,SAAemD,GAAL,KAA0BvD,EAACmD,EAAQ,CAAA/C,SAAUG,EAAQkD,OAAb,MACxE,IAAME,EAAqBL,IAAkB,SAAWI,EAAaE,UAAYF,EACjF,OACE1D,EAAC6D,EAAK,CAACC,QAASvD,EAAQuD,QAASC,MAAO,CAAEC,OAAQzD,EAAQuD,QAAU,UAAYpB,WAAauB,KAAM,EAAE7D,SAClGuD,EAAmBO,KAAI,SAAChB,EAAMxC,GAC7B,OAAOV,EAACmD,EAAQ,CAAA/C,SAAc8C,GAARxC,OAI9B,CACA,OAAOV,EAAA,OAAA,CAAM8D,QAASvD,EAAQuD,QAAQ1D,SAAEG,EAAQkD,QAEpD,EAEA,IAAMU,EAAyB,SAAzBA,EACJvC,EACAC,GAEA,OAAO,SAACtC,GACN,IAAKA,EAAO,OAAO,KACnB,IAAM6C,EAASR,EAAawC,MAAK,SAAClB,GAAI,OAAKA,EAAK3D,QAAUA,KAC1D,GAAI6C,EACF,OACEpC,EAACqE,EAAK,CAACC,OAAOlC,GAAM,UAAA,EAANA,EAAQkC,SAASzC,eAAAA,EAAWtC,KAAU,sBAAuBgF,KAAMnC,GAAAA,UAAAA,EAAAA,EAAQoC,QAE7F,OAAOjF,EAEX,EAEO,IAAMkF,EAAkB,CAS7BC,mBAAoB1B,EAKpB2B,UAAWvD,EASXwD,iBAAkBpD,EAOlBqD,SAAU/D,EAuBVgE,YAAaxE,EAQbyE,YAAa3F,EAiBb4F,aAAcrD,EAOdsD,WAAYhD,EAiBZiD,aAAczC,EAkBd0C,UAAWhB"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/table-cell-render/cell-render.tsx"],"sourcesContent":["import { isEmpty, isObject, isPlainObject, isString } from '@dimjs/lang';\nimport { get } from '@dimjs/utils';\nimport {\n cutString,\n DateFormatType,\n flatbizDate,\n flatbizPrice,\n getStrByteLen,\n isNumber,\n isUndefinedOrNull,\n TAny,\n TPlainObject,\n} from '@flatbiz/utils';\nimport { Badge, Space, Tooltip } from 'antd';\nimport { Fragment, ReactElement } from 'react';\nimport { ButtonOperate, ButtonOperateProps } from '../button-operate';\nimport { TagListSelect, TagListSelectProps, TagListSelectValue } from '../tag-list-select';\nimport './style.less';\n\nconst tableColumnTooltipRender = (showMaxNumber?: number, defaultValue?: string) => {\n return (value: string | number) => {\n if (isEmpty(value) || value === '') return defaultValue;\n if (isNumber(value)) return value;\n const colunmText = value.toString();\n const maxNumber = (isUndefinedOrNull(showMaxNumber) ? 10 : showMaxNumber) as number;\n const strByteLen = getStrByteLen(colunmText);\n if (strByteLen <= maxNumber * 2) {\n return colunmText;\n }\n return (\n <Tooltip placement=\"topLeft\" title={colunmText}>\n {cutString(colunmText, maxNumber * 2)}\n </Tooltip>\n );\n };\n};\n\nconst tableColumnOperateRender = (options: (item: TAny, index: number) => ButtonOperateProps) => {\n return (_value: string | number, record, index: number) => {\n const operateProps = options(record, index);\n return <ButtonOperate {...operateProps} />;\n };\n};\n\nconst tableColumnDateRender = (dateFormatType?: DateFormatType, defaultValue?: string) => {\n return (value: string | number) => {\n if (isEmpty(value) || value === '') return defaultValue;\n try {\n return flatbizDate.format(new Date(value), dateFormatType);\n } catch (error) {\n return value || defaultValue;\n }\n };\n};\n\n/**\n * table 索引展示,如果存在pageSize、pageNo参数可分页展示索引,否则每页都从1开始\n * @param pageSize\n * @param pageNo\n * @returns\n */\nconst tableColumnIndexRender = (pageNo?: number, pageSize?: number) => {\n return (_value, _record, index: number) => {\n if (pageSize && pageNo) {\n return (pageNo - 1) * pageSize + index + 1;\n }\n return index + 1;\n };\n};\nconst tableColumnIndexRender2 = (method?: () => { pageNo?: number; pageSize?: number }) => {\n return (_value, _record, index: number) => {\n const { pageNo, pageSize } = method?.() || {};\n if (pageSize && pageNo) {\n return (pageNo - 1) * pageSize + index + 1;\n }\n return index + 1;\n };\n};\n\nconst tableColumnSelectorRender = (\n selectorList: TagListSelectProps['dataList'],\n colorMap?: TagListSelectProps['colorMap'],\n) => {\n return (value?: TAny) => {\n if (isUndefinedOrNull(value)) return null;\n return <TagListSelect dataList={selectorList} colorMap={colorMap} value={value} forceMatch={false} />;\n };\n};\n\nconst tableColumnObjectRender = (key: string, defaultValue?: string) => {\n return (value?: TPlainObject) => {\n if (isPlainObject(value)) {\n const target = get(value, key, defaultValue);\n if (!target) return '';\n if (isObject(target)) return JSON.stringify(target);\n return target;\n }\n return value || defaultValue;\n };\n};\n\nconst tableColumnFen2yuanCellRender = (options?: {\n /** 是否显示分隔符,默认值:false */\n separator?: boolean;\n defaultValue?: string | number;\n /** 隐藏背景颜色 */\n hideBgColor?: boolean;\n}) => {\n const className = options?.hideBgColor ? '' : 'table-fen-color';\n return (value?: string | number) => {\n if (isUndefinedOrNull(value) || value === '') {\n if (isUndefinedOrNull(options?.defaultValue)) return undefined;\n if (isNumber(options?.defaultValue as string | number)) {\n return <span className={className}>{flatbizPrice.format(options?.defaultValue)}</span>;\n }\n return <span className={className}>{options?.defaultValue}</span>;\n }\n if (!isNumber(value as number | string)) return value;\n const amount = flatbizPrice.fen2yuan(value);\n return (\n <span className={className}>\n {flatbizPrice.format(amount, options?.defaultValue, { separator: options?.separator || false })}\n </span>\n );\n };\n};\n\nconst tableColumnFen2wanCellRender = (options?: {\n /** 是否显示分隔符,默认值:false */\n separator?: boolean;\n defaultValue?: string | number;\n /** 隐藏背景颜色,默认:false */\n showBgColor?: boolean;\n /** 移除小数点后末尾零 */\n removeTailZero?: boolean;\n}) => {\n const className = options?.showBgColor === true ? 'table-wan-color' : '';\n return (value?: string | number) => {\n if (isUndefinedOrNull(value) || value === '') {\n if (isUndefinedOrNull(options?.defaultValue)) return undefined;\n if (isNumber(options?.defaultValue as string | number)) {\n return <span className={className}>{flatbizPrice.format(options?.defaultValue)}</span>;\n }\n return <span className={className}>{options?.defaultValue}</span>;\n }\n if (!isNumber(value as number | string)) return value;\n const amount = flatbizPrice.fen2wan(value);\n const amountNew = options?.removeTailZero\n ? flatbizPrice.removeTailZero(amount, options?.defaultValue, {\n separator: options?.separator || false,\n })\n : flatbizPrice.format(amount, options?.defaultValue, { separator: options?.separator || false });\n return <span className={className}>{amountNew}</span>;\n };\n};\n\ntype TableColumnIconRenderProps = {\n /** 额外内容,一般为Icon */\n extra: ReactElement;\n extraPosition?: 'before' | 'after';\n onClick?: (e) => void;\n /** 是否显示原单元格数据,默认值:true */\n showData?: boolean;\n /** 溢出显示【...】, 最大长度(默认:20个字节) */\n showMaxNumber?: number;\n /** 未溢出显示【extra】配置,默认值:true */\n notOverflowShowExtra?: boolean;\n};\n\nconst tableColumnExtraContentRender = (handle: (item: TPlainObject) => TableColumnIconRenderProps) => {\n return (value: TAny, item: TPlainObject) => {\n const options = handle?.(item);\n if (!options) return <Fragment>{value}</Fragment>;\n const showData = isUndefinedOrNull(options.showData) ? true : options.showData;\n const notOverflowShowExtra = isUndefinedOrNull(options.notOverflowShowExtra)\n ? true\n : options.notOverflowShowExtra;\n const showMaxNumber = isUndefinedOrNull(options.showMaxNumber) ? 10 : (options.showMaxNumber as number);\n const extraPosition = options.extraPosition ? options.extraPosition : 'after';\n const renderValue = isString(value) ? cutString(value, showMaxNumber * 2) : value;\n\n if (options.extra && showData) {\n if (renderValue === value && !notOverflowShowExtra) {\n return value;\n }\n const spaceContent = [<span key=\"1\">{renderValue}</span>, <Fragment key=\"2\">{options.extra}</Fragment>];\n const spaceContentRender = extraPosition === 'before' ? spaceContent.reverse() : spaceContent;\n return (\n <Space onClick={options.onClick} style={{ cursor: options.onClick ? 'pointer' : undefined }} size={5}>\n {spaceContentRender.map((item, index) => {\n return <Fragment key={index}>{item}</Fragment>;\n })}\n </Space>\n );\n }\n return <span onClick={options.onClick}>{options.extra}</span>;\n };\n};\n\nconst tableColumnBadgeRender = (\n selectorList: { label: string; value: TagListSelectValue; color?: string }[],\n colorMap?: Record<string | string, string>,\n) => {\n return (value?: TAny) => {\n if (!value) return null;\n const target = selectorList.find((item) => item.value === value);\n if (target)\n return (\n <Badge color={target?.color || colorMap?.[value] || 'rgba(0, 0, 0, 0.25)'} text={target?.label} />\n );\n return value;\n };\n};\n\nexport const tableCellRender = {\n /**\n * 表格单元格 拼接额外内容渲染\n * ```\n * 1. extra 额外内容\n * 2. showData 是否显示原单元格数据,默认值:true\n * 3. showMaxNumber 显示最大长度,作用于原单元格字符串数据\n * ```\n */\n extraContentRender: tableColumnExtraContentRender,\n /**\n * table 索引展示,如果存在pageSize、pageNo参数可分页展示索引,否则每页都从1开始\n * @deprecated 已过时 4.3.0版本移除,请使用 serialNumberCell\n */\n indexCell: tableColumnIndexRender,\n /**\n * table 序号展示,如果存在pageSize、pageNo参数可分页展示累加序号,否则每页都从1开始\n * ```\n * render: tableCellRender.serialNumberCell(() => {\n * return { pageNo,pageSize };\n * }),\n * ```\n */\n serialNumberCell: tableColumnIndexRender2,\n /**\n * 表格日期格式数据渲染,默认格式:YYYY-MM-DD\n * ```\n * dateFormatType: 日期格式\n * ```\n */\n dateCell: tableColumnDateRender,\n /**\n * table操作栏目渲染\n * ```\n * 使用方式\n * tableCellRender.operateCell((item) => ({\n * operateList: [\n * {\n * text: '编辑',\n * onClick: onItemOperate.bind(null, 'update', item),\n * permission: SystemAdminPermissionEnum.system_admin_edit,\n * },\n * {\n * text: '删除',\n * needConfirm: true,\n * confirmMessage: '确定要删除吗?',\n * onClick: onItemOperate.bind(null, 'delete', item),\n * permission: SystemAdminPermissionEnum.system_admin_delete,\n * },\n * ],\n * }))\n * ```\n */\n operateCell: tableColumnOperateRender,\n /**\n * 实现字段超出隐藏,默认长度10个字符\n * ```\n * 1. showMaxNumber: 显示最大长度\n * 2. 会讲字符转出字节进行计算显示\n * ```\n */\n tooltipCell: tableColumnTooltipRender,\n /**\n * ```\n * 独立使用\n * tableCellRender.selectorCell([{ label: '已开启', value: 1 }])(value)\n * tableCellRender.selectorCell([{ label: '已开启', value: 1, color: '#108ee9' }])(value)\n * tableCellRender.selectorCell([{ label: '已开启', value: 1 }], { 1: '#108ee9' })(value)\n *\n * 结合table column render 使用\n * render: tableCellRender.selectorCell([{ label: '已开启', value: 1 ])\n * render: (value) => {\n * return tableCellRender.selectorCell([{ label: '已开启', value: 1 ])(value)\n * }\n *\n * 其中value值可以是单个值或者数组;例如:'1' 或者 ['1', '2']\n * ```\n */\n selectorCell: tableColumnSelectorRender,\n /**\n * 单元格对象数据处理,支持多级处理\n * ```\n * tableCellRender.objectCell('a.b.c')\n * ```\n */\n objectCell: tableColumnObjectRender,\n /**\n * 分金额展示,入参分,显示元(默认添加千分位)\n * ```\n * 可配置\n * 1. separator:是否显示千分位分隔符,默认值:false\n * 2. defaultValue:当值为空默认展示\n * 3. hideBgColor:隐藏背景颜色\n *\n * 例如:\n * fen2yuanCell()(100090) => 1000.90\n * fen2yuanCell({separator: true})(100090) => 1,000.90\n * fen2yuanCell()('abc') => abc\n * fen2yuanCell({defaultValue: '--'})('') => --\n * fen2yuanCell()('') => undefined\n * fen2yuanCell({ defaultValue: 0 })('') => 0.00\n * ```\n */\n fen2yuanCell: tableColumnFen2yuanCellRender,\n /**\n * 分金额展示,入参分,显示万元(默认添加千分位)\n * ```\n * 可配置\n * 1. separator:是否显示千分位分隔符,默认值:false\n * 2. defaultValue:当值为空默认展示\n * 3. showBgColor:隐藏背景颜色\n * 4. removeTailZero:移除小数点后末尾零\n *\n * 例如:\n * fen2yuanCell()(1000900000) => 1000.90\n * fen2yuanCell({separator: true})(1000900000) => 1,000.90\n * fen2yuanCell()('abc') => abc\n * fen2yuanCell({defaultValue: '--'})('') => --\n * fen2yuanCell()('') => undefined\n * fen2yuanCell({ defaultValue: 0 })('') => 0.00\n * ```\n */\n fen2wanCell: tableColumnFen2wanCellRender,\n /**\n * 单元格徽标展示数据\n * ```\n * 1. badge 默认颜色:灰色rgba(0, 0, 0, 0.25)\n *\n * 独立使用\n * tableCellRender.badgeCell([{ label: '已开启', value: 1 ])(value)\n * tableCellRender.badgeCell([{ label: '已开启', value: 1, color: '#108ee9' }])(value)\n * tableCellRender.badgeCell([{ label: '已开启', value: 1 }], { 1: '#108ee9' })(value)\n *\n * 结合table column render 使用\n * render: tableCellRender.badgeCell([{ label: '已开启', value: 1 ])\n * render: (value) => {\n * return tableCellRender.badgeCell([{ label: '已开启', value: 1 ])(value)\n * }\n * ```\n */\n badgeCell: tableColumnBadgeRender,\n};\n"],"names":["tableColumnTooltipRender","showMaxNumber","defaultValue","value","_isEmpty","isNumber","colunmText","toString","maxNumber","isUndefinedOrNull","strByteLen","getStrByteLen","_jsx","Tooltip","placement","title","children","cutString","tableColumnOperateRender","options","_value","record","index","operateProps","ButtonOperate","_extends","tableColumnDateRender","dateFormatType","flatbizDate","format","Date","error","tableColumnIndexRender","pageNo","pageSize","_record","tableColumnIndexRender2","method","_ref","tableColumnSelectorRender","selectorList","colorMap","TagListSelect","dataList","forceMatch","tableColumnObjectRender","key","_isPlainObject","target","_get","_isObject","JSON","stringify","tableColumnFen2yuanCellRender","className","hideBgColor","undefined","flatbizPrice","amount","fen2yuan","separator","tableColumnFen2wanCellRender","showBgColor","fen2wan","amountNew","removeTailZero","tableColumnExtraContentRender","handle","item","Fragment","showData","notOverflowShowExtra","extraPosition","renderValue","_isString","extra","spaceContent","spaceContentRender","reverse","Space","onClick","style","cursor","size","map","tableColumnBadgeRender","find","Badge","color","text","label","tableCellRender","extraContentRender","indexCell","serialNumberCell","dateCell","operateCell","tooltipCell","selectorCell","objectCell","fen2yuanCell","fen2wanCell","badgeCell"],"mappings":"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"}
@@ -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 t}from"../_rollupPluginBabelHelpers-a0769acd.js";import{get as e}from"@dimjs/utils/cjs/get";import{useCreation as n,useInViewport as o,useSize as i,useEventListener as l}from"ahooks";import{Affix as a}from"antd";import{cloneElement as u,useRef as c,useState as f}from"react";import{fbaHooks as s}from"../fba-hooks/index.js";import{jsxs as d,Fragment as v,jsx as m}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-array";import"@wove/react/cjs/hooks";import"../use-responsive-point-21b8c601.js";var p=["children","target"];var h=s.useEffectCustom;var g=function r(t){if(!t)return undefined;var e=getComputedStyle(t);if(e.overflowY==="scroll"||e.overflowY==="auto"){return t}return r(t.parentNode)};var y=function n(o){var i=o.children,l=o.target,a=r(o,p);var c=e(i,"props.summary");return u(i,t({},a,{summary:function r(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++){e[n]=arguments[n]}return d(v,{children:[c==null?void 0:c.apply(void 0,e),m(b,{target:l})]})}}))};var b=function r(t){var e=t.target;var u=c();var s=c();var d=f(false),v=d[0],p=d[1];var y=n((function(){var r;var t=function r(t){if(!t)return undefined;if(t.nodeName==="TABLE"){return t}return r(t.parentNode)};var e=t(u==null||(r=u.current)==null?void 0:r.parentElement);return{table:e,tableBox:e==null?void 0:e.parentElement}}),[u.current]),b=y.table,j=y.tableBox;var x=o(b==null?void 0:b.querySelector("tbody")),w=x[0];var W=i(j);var B=n((function(){if(e)return e;return g(b)||document.body}),[e,b,W]);h((function(){if(v&&u.current&&s.current){if(u.current.clientWidth!=(j==null?void 0:j.clientWidth)){u.current.style.width=((j==null?void 0:j.clientWidth)||0)+"px"}if(s.current.clientWidth!=(b==null?void 0:b.clientWidth)){s.current.style.width=((b==null?void 0:b.clientWidth)||0)+"px"}}}),[W,v]);l("scroll",(function(r){var t=r.target;if(u.current){u.current.scrollLeft=t.scrollLeft}}),{target:function r(){return j}});l("scroll",(function(r){var t=r.target;if(j)j.scrollLeft=t.scrollLeft}),{target:u});return m("div",{className:"scrollbar-main",children:m(a,{offsetBottom:w?13:0,style:{opacity:v?1:0},onChange:function r(t){p(!!t)},target:function r(){return B},children:m("div",{ref:u,className:"scrollbar-box",children:m("div",{ref:s,style:{height:1}})})})})};export{y as TableScrollbar};
5
+ import{a as r,_ as t}from"../_rollupPluginBabelHelpers-a0769acd.js";import{get as e}from"@dimjs/utils/cjs/get";import{useCreation as n,useInViewport as o,useSize as l,useEventListener as i}from"ahooks";import{Affix as a}from"antd";import{cloneElement as u,useRef as c,useState as s,useEffect as f}from"react";import{fbaHooks as d}from"../fba-hooks/index.js";import{jsxs as v,Fragment as m,jsx as p}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-array";import"@wove/react/cjs/hooks";import"@flatbiz/utils";import"../use-responsive-point-21b8c601.js";var h=["children","target"];var g=d.useEffectCustom;var y=function r(t){if(!t)return undefined;var e=getComputedStyle(t);if(e.overflowY==="scroll"||e.overflowY==="auto"){return t}return r(t.parentNode)};var b=function n(o){var l=o.children,i=o.target,a=r(o,h);var c=e(l,"props.summary");return u(l,t({},a,{summary:function r(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++){e[n]=arguments[n]}return v(m,{children:[c==null?void 0:c.apply(void 0,e),p(w,{target:i})]})}}))};var w=function r(t){var e=t.target;var u=c();var d=c();var v=s(false),m=v[0],h=v[1];var b=n((function(){var r;var t=function r(t){if(!t)return undefined;if(t.nodeName==="TABLE"){return t}return r(t.parentNode)};var e=t(u==null||(r=u.current)==null?void 0:r.parentElement);return{table:e,tableBox:e==null?void 0:e.parentElement}}),[u.current]),w=b.table,j=b.tableBox;var x=o(w==null?void 0:w.querySelector("tbody")),L=x[0];var N=l(j);var W=n((function(){if(e)return e;return y(w)||document.body}),[e,w,N]);g((function(){if(m&&u.current&&d.current){if(u.current.clientWidth!=(j==null?void 0:j.clientWidth)){u.current.style.width=((j==null?void 0:j.clientWidth)||0)+"px"}if(d.current.clientWidth!=(w==null?void 0:w.clientWidth)){d.current.style.width=((w==null?void 0:w.clientWidth)||0)+"px"}}}),[N,m]);i("scroll",(function(r){var t=r.target;if(u.current){u.current.scrollLeft=t.scrollLeft}}),{target:function r(){return j}});i("scroll",(function(r){var t=r.target;if(j)j.scrollLeft=t.scrollLeft}),{target:u});var B=s(0),k=B[0],E=B[1];var C=c(null);f((function(){var r;var t=(r=C.current)==null?void 0:r.parentNode;var e=false;while(t!=null){var n,o;if((n=t.classList)!=null&&n.contains("ant-modal-content")||(o=t.classList)!=null&&o.contains("ant-drawer-body")){e=true;break}t=t.parentNode}if(e){setTimeout((function(){E(Date.now())}),400)}else{E(Date.now())}}),[]);return p("div",{className:"scrollbar-main",ref:C,children:k?p(a,{offsetBottom:L?13:0,style:{opacity:m?1:0},onChange:function r(t){h(!!t)},target:function r(){return W},children:p("div",{ref:u,className:"scrollbar-box",children:p("div",{ref:d,style:{height:1}})})}):null})};export{b as TableScrollbar};
6
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/table-scrollbar/table-scrollbar.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { get } from '@dimjs/utils';\nimport { useCreation, useEventListener, useInViewport, useSize } from 'ahooks';\nimport { Affix } from 'antd';\nimport { cloneElement, useRef, useState } from 'react';\nimport { fbaHooks } from '../fba-hooks';\n\nimport './style.less';\nconst { useEffectCustom } = fbaHooks;\n\ntype TableScrollProps = {\n children: React.ReactNode;\n /**\n * y轴的滚动条\n */\n target?: HTMLElement;\n};\n\nconst getParentNodeScroll = (parentNode: HTMLElement | null | undefined): HTMLElement | undefined => {\n if (!parentNode) return undefined;\n const computedStyle = getComputedStyle(parentNode);\n if (computedStyle.overflowY === 'scroll' || computedStyle.overflowY === 'auto') {\n return parentNode;\n }\n return getParentNodeScroll(parentNode.parentNode as HTMLElement);\n};\n/**\n * 表格x轴浮动滚动条\n * ```\n * 使用方法\n * <TableScrollbar>\n * <Table/>\n * </TableScrollbar>\n * ```\n */\nexport const TableScrollbar = ({ children, target, ...props }: TableScrollProps) => {\n const summary: any = get(children as any, 'props.summary');\n return cloneElement(children as any, {\n ...props,\n summary: (...args) => (\n <>\n {summary?.(...args)}\n <ScrollbarSummary target={target} />\n </>\n ),\n });\n};\ntype ScrollbarSummaryProps = {\n target?: HTMLElement;\n};\nconst ScrollbarSummary = ({ target }: ScrollbarSummaryProps) => {\n const refScrollBox = useRef<HTMLDivElement>();\n const refScroll = useRef<HTMLDivElement>();\n // 控制滚动条的显示\n const [show, setShow] = useState<boolean>(false);\n // 获取表格和表格包裹框\n const { table, tableBox } = useCreation(() => {\n const getParentTable = (parentNode: HTMLElement | null | undefined): HTMLElement | undefined => {\n if (!parentNode) return undefined;\n if (parentNode.nodeName === 'TABLE') {\n return parentNode;\n }\n return getParentTable(parentNode.parentNode as HTMLElement);\n };\n const table = getParentTable(refScrollBox?.current?.parentElement);\n return {\n table,\n tableBox: table?.parentElement,\n };\n }, [refScrollBox.current]);\n // 表格是否显示\n const [inViewport] = useInViewport(table?.querySelector('tbody'));\n\n // 监听左右滚动框的大小变化\n const size = useSize(tableBox);\n // 获取上下滚动事件的滚动条\n const _target = useCreation(() => {\n if (target) return target;\n return getParentNodeScroll(table) || document.body;\n }, [target, table, size]);\n\n useEffectCustom(() => {\n if (show && refScrollBox.current && refScroll.current) {\n if (refScrollBox.current.clientWidth != tableBox?.clientWidth) {\n refScrollBox.current.style.width = `${tableBox?.clientWidth || 0}px`;\n }\n if (refScroll.current.clientWidth != table?.clientWidth) {\n refScroll.current.style.width = `${table?.clientWidth || 0}px`;\n }\n }\n }, [size, show]);\n // 注册原始滚动条事件\n useEventListener(\n 'scroll',\n ({ target }) => {\n if (refScrollBox.current) {\n refScrollBox.current.scrollLeft = target.scrollLeft;\n }\n },\n { target: () => tableBox },\n );\n // 注册原始自定义滚动条时间\n useEventListener(\n 'scroll',\n ({ target }) => {\n if (tableBox) tableBox.scrollLeft = target.scrollLeft;\n },\n { target: refScrollBox },\n );\n return (\n <div className=\"scrollbar-main\">\n <Affix\n offsetBottom={inViewport ? 13 : 0}\n style={{ opacity: show ? 1 : 0 }}\n onChange={(value) => {\n setShow(!!value);\n }}\n target={() => _target}\n >\n <div ref={refScrollBox as any} className=\"scrollbar-box\">\n <div ref={refScroll as any} style={{ height: 1 }}></div>\n </div>\n </Affix>\n </div>\n );\n};\n"],"names":["useEffectCustom","fbaHooks","getParentNodeScroll","parentNode","undefined","computedStyle","getComputedStyle","overflowY","TableScrollbar","_ref","children","target","props","_objectWithoutPropertiesLoose","_excluded","summary","_get","cloneElement","_extends","_len","arguments","length","args","Array","_key","_jsxs","_Fragment","apply","_jsx","ScrollbarSummary","_ref2","refScrollBox","useRef","refScroll","_useState","useState","show","setShow","_useCreation","useCreation","_refScrollBox$current","getParentTable","nodeName","table","current","parentElement","tableBox","_useInViewport","useInViewport","querySelector","inViewport","size","useSize","_target","document","body","clientWidth","style","width","useEventListener","_ref3","scrollLeft","_ref4","className","Affix","offsetBottom","opacity","onChange","value","ref","height"],"mappings":";8hBAQA,IAAQA,EAAoBC,EAApBD,gBAUR,IAAME,EAAsB,SAAtBA,EAAuBC,GAC3B,IAAKA,EAAY,OAAOC,UACxB,IAAMC,EAAgBC,iBAAiBH,GACvC,GAAIE,EAAcE,YAAc,UAAYF,EAAcE,YAAc,OAAQ,CAC9E,OAAOJ,CACT,CACA,OAAOD,EAAoBC,EAAWA,WACxC,MAUaK,EAAiB,SAAjBA,EAAcC,GAAyD,IAAnDC,EAAQD,EAARC,SAAUC,EAAMF,EAANE,OAAWC,EAAKC,EAAAJ,EAAAK,GACzD,IAAMC,EAAeC,EAAIN,EAAiB,iBAC1C,OAAOO,EAAaP,EAAQQ,KACvBN,EAAK,CACRG,QAAS,SAAAA,IAAA,IAAA,IAAAI,EAAAC,UAAAC,OAAIC,EAAIC,IAAAA,MAAAJ,GAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAAA,CAAJF,EAAIE,GAAAJ,UAAAI,EAAA,CAAA,OACfC,EAAAC,EAAA,CAAAhB,SACGK,CAAAA,GAAAA,UAAAA,EAAAA,EAAOY,WAAML,EAAAA,GACdM,EAACC,EAAgB,CAAClB,OAAQA,MACzB,IAGT,EAIA,IAAMkB,EAAmB,SAAnBA,EAAgBC,GAA0C,IAApCnB,EAAMmB,EAANnB,OAC1B,IAAMoB,EAAeC,IACrB,IAAMC,EAAYD,IAElB,IAAAE,EAAwBC,EAAkB,OAAnCC,EAAIF,EAAA,GAAEG,EAAOH,EAAA,GAEpB,IAAAI,EAA4BC,GAAY,WAAM,IAAAC,EAC5C,IAAMC,EAAiB,SAAjBA,EAAkBtC,GACtB,IAAKA,EAAY,OAAOC,UACxB,GAAID,EAAWuC,WAAa,QAAS,CACnC,OAAOvC,CACT,CACA,OAAOsC,EAAetC,EAAWA,aAEnC,IAAMwC,EAAQF,EAAeV,GAAYS,OAAAA,EAAZT,EAAca,UAAO,UAAA,EAArBJ,EAAuBK,eACpD,MAAO,CACLF,MAAAA,EACAG,SAAUH,GAAAA,UAAAA,EAAAA,EAAOE,cAErB,GAAG,CAACd,EAAaa,UAbTD,EAAKL,EAALK,MAAOG,EAAQR,EAARQ,SAef,IAAAC,EAAqBC,EAAcL,GAAK,UAAA,EAALA,EAAOM,cAAc,UAAjDC,EAAUH,EAAA,GAGjB,IAAMI,EAAOC,EAAQN,GAErB,IAAMO,EAAUd,GAAY,WAC1B,GAAI5B,EAAQ,OAAOA,EACnB,OAAOT,EAAoByC,IAAUW,SAASC,IAC/C,GAAE,CAAC5C,EAAQgC,EAAOQ,IAEnBnD,GAAgB,WACd,GAAIoC,GAAQL,EAAaa,SAAWX,EAAUW,QAAS,CACrD,GAAIb,EAAaa,QAAQY,cAAeV,GAAAA,UAAAA,EAAAA,EAAUU,aAAa,CAC7DzB,EAAaa,QAAQa,MAAMC,QAAWZ,eAAAA,EAAUU,cAAe,GAAK,IACtE,CACA,GAAIvB,EAAUW,QAAQY,cAAeb,GAAAA,UAAAA,EAAAA,EAAOa,aAAa,CACvDvB,EAAUW,QAAQa,MAAMC,QAAWf,eAAAA,EAAOa,cAAe,GAAK,IAChE,CACF,CACF,GAAG,CAACL,EAAMf,IAEVuB,EACE,UACA,SAAAC,GAAgB,IAAbjD,EAAMiD,EAANjD,OACD,GAAIoB,EAAaa,QAAS,CACxBb,EAAaa,QAAQiB,WAAalD,EAAOkD,UAC3C,CACF,GACA,CAAElD,OAAQ,SAAAA,IAAA,OAAMmC,CAAQ,IAG1Ba,EACE,UACA,SAAAG,GAAgB,IAAbnD,EAAMmD,EAANnD,OACD,GAAImC,EAAUA,EAASe,WAAalD,EAAOkD,UAC7C,GACA,CAAElD,OAAQoB,IAEZ,OACEH,EAAA,MAAA,CAAKmC,UAAU,iBAAgBrD,SAC7BkB,EAACoC,EAAK,CACJC,aAAcf,EAAa,GAAK,EAChCO,MAAO,CAAES,QAAS9B,EAAO,EAAI,GAC7B+B,SAAU,SAAAA,EAACC,GACT/B,IAAU+B,EACV,EACFzD,OAAQ,SAAAA,IAAA,OAAM0C,CAAQ,EAAA3C,SAEtBkB,EAAA,MAAA,CAAKyC,IAAKtC,EAAqBgC,UAAU,gBAAerD,SACtDkB,EAAA,MAAA,CAAKyC,IAAKpC,EAAkBwB,MAAO,CAAEa,OAAQ,UAKvD"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/table-scrollbar/table-scrollbar.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { get } from '@dimjs/utils';\nimport { useCreation, useEventListener, useInViewport, useSize } from 'ahooks';\nimport { Affix } from 'antd';\nimport { cloneElement, useEffect, useRef, useState } from 'react';\nimport { fbaHooks } from '../fba-hooks';\n\nimport './style.less';\nconst { useEffectCustom } = fbaHooks;\n\ntype TableScrollProps = {\n children: React.ReactNode;\n /**\n * y轴的滚动条\n */\n target?: HTMLElement;\n};\n\nconst getParentNodeScroll = (parentNode: HTMLElement | null | undefined): HTMLElement | undefined => {\n if (!parentNode) return undefined;\n const computedStyle = getComputedStyle(parentNode);\n if (computedStyle.overflowY === 'scroll' || computedStyle.overflowY === 'auto') {\n return parentNode;\n }\n return getParentNodeScroll(parentNode.parentNode as HTMLElement);\n};\n/**\n * 表格x轴浮动滚动条\n * ```\n * 使用方法\n * <TableScrollbar>\n * <Table/>\n * </TableScrollbar>\n * ```\n */\nexport const TableScrollbar = ({ children, target, ...props }: TableScrollProps) => {\n const summary: any = get(children as any, 'props.summary');\n return cloneElement(children as any, {\n ...props,\n summary: (...args) => (\n <>\n {summary?.(...args)}\n <ScrollbarSummary target={target} />\n </>\n ),\n });\n};\ntype ScrollbarSummaryProps = {\n target?: HTMLElement;\n};\nconst ScrollbarSummary = ({ target }: ScrollbarSummaryProps) => {\n const refScrollBox = useRef<HTMLDivElement>();\n const refScroll = useRef<HTMLDivElement>();\n // 控制滚动条的显示\n const [show, setShow] = useState<boolean>(false);\n // 获取表格和表格包裹框\n const { table, tableBox } = useCreation(() => {\n const getParentTable = (parentNode: HTMLElement | null | undefined): HTMLElement | undefined => {\n if (!parentNode) return undefined;\n if (parentNode.nodeName === 'TABLE') {\n return parentNode;\n }\n return getParentTable(parentNode.parentNode as HTMLElement);\n };\n const table = getParentTable(refScrollBox?.current?.parentElement);\n return {\n table,\n tableBox: table?.parentElement,\n };\n }, [refScrollBox.current]);\n // 表格是否显示\n const [inViewport] = useInViewport(table?.querySelector('tbody'));\n\n // 监听左右滚动框的大小变化\n const size = useSize(tableBox);\n // 获取上下滚动事件的滚动条\n const _target = useCreation(() => {\n if (target) return target;\n return getParentNodeScroll(table) || document.body;\n }, [target, table, size]);\n\n useEffectCustom(() => {\n if (show && refScrollBox.current && refScroll.current) {\n if (refScrollBox.current.clientWidth != tableBox?.clientWidth) {\n refScrollBox.current.style.width = `${tableBox?.clientWidth || 0}px`;\n }\n if (refScroll.current.clientWidth != table?.clientWidth) {\n refScroll.current.style.width = `${table?.clientWidth || 0}px`;\n }\n }\n }, [size, show]);\n // 注册原始滚动条事件\n useEventListener(\n 'scroll',\n ({ target }) => {\n if (refScrollBox.current) {\n refScrollBox.current.scrollLeft = target.scrollLeft;\n }\n },\n { target: () => tableBox },\n );\n // 注册原始自定义滚动条时间\n useEventListener(\n 'scroll',\n ({ target }) => {\n if (tableBox) tableBox.scrollLeft = target.scrollLeft;\n },\n { target: refScrollBox },\n );\n\n const [key, setKey] = useState<number>(0);\n const rootRef = useRef<HTMLDivElement>(null);\n useEffect(() => {\n let parentNode = rootRef.current?.parentNode as HTMLElement;\n let inModal = false;\n while (parentNode != null) {\n if (\n parentNode.classList?.contains('ant-modal-content') ||\n parentNode.classList?.contains('ant-drawer-body')\n ) {\n inModal = true;\n break;\n }\n parentNode = parentNode.parentNode as HTMLElement;\n }\n if (inModal) {\n setTimeout(() => {\n setKey(Date.now());\n }, 400);\n } else {\n setKey(Date.now());\n }\n }, []);\n\n return (\n <div className=\"scrollbar-main\" ref={rootRef}>\n {key ? (\n <Affix\n offsetBottom={inViewport ? 13 : 0}\n style={{ opacity: show ? 1 : 0 }}\n onChange={(value) => {\n setShow(!!value);\n }}\n target={() => _target}\n >\n <div ref={refScrollBox as any} className=\"scrollbar-box\">\n <div ref={refScroll as any} style={{ height: 1 }}></div>\n </div>\n </Affix>\n ) : null}\n </div>\n );\n};\n"],"names":["useEffectCustom","fbaHooks","getParentNodeScroll","parentNode","undefined","computedStyle","getComputedStyle","overflowY","TableScrollbar","_ref","children","target","props","_objectWithoutPropertiesLoose","_excluded","summary","_get","cloneElement","_extends","_len","arguments","length","args","Array","_key","_jsxs","_Fragment","apply","_jsx","ScrollbarSummary","_ref2","refScrollBox","useRef","refScroll","_useState","useState","show","setShow","_useCreation","useCreation","_refScrollBox$current","getParentTable","nodeName","table","current","parentElement","tableBox","_useInViewport","useInViewport","querySelector","inViewport","size","useSize","_target","document","body","clientWidth","style","width","useEventListener","_ref3","scrollLeft","_ref4","_useState2","key","setKey","rootRef","useEffect","_rootRef$current","inModal","_parentNode$classList","_parentNode$classList2","classList","contains","setTimeout","Date","now","className","ref","Affix","offsetBottom","opacity","onChange","value","height"],"mappings":"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"}
@@ -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{_ as r}from"../_rollupPluginBabelHelpers-a0769acd.js";import{Space as o,Tag as e}from"antd";import{fbaHooks as a}from"../fba-hooks/index.js";import{jsx as i}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-array";import"@wove/react/cjs/hooks";import"react";import"../use-responsive-point-21b8c601.js";var t=function t(s){var p=a.useThemeToken();return i(o,r({wrap:true,size:5},s.spaceProps,{children:s.dataList.map((function(r,o){var a;var t=r.color||((a=s.colorMap)==null?void 0:a[r.value])||p.colorPrimary;return i(e,{color:t,children:r.label},o)}))}))};export{t as TagGroup};
5
+ import{_ as r}from"../_rollupPluginBabelHelpers-a0769acd.js";import{Space as o,Tag as e}from"antd";import{fbaHooks as i}from"../fba-hooks/index.js";import{jsx as t}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-array";import"@wove/react/cjs/hooks";import"react";import"@flatbiz/utils";import"../use-responsive-point-21b8c601.js";var a=function a(s){var l=i.useThemeToken();return t(o,r({wrap:true,size:5},s.spaceProps,{children:s.dataList.map((function(r,o){var i;var a=r.color||((i=s.colorMap)==null?void 0:i[r.value])||l.colorPrimary;return t(e,{color:a,children:r.label},o)}))}))};export{a as TagGroup};
6
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/tag-group/tag-group.tsx"],"sourcesContent":["import { Space, SpaceProps, Tag } from 'antd';\nimport { FC } from 'react';\nimport { fbaHooks } from '../fba-hooks';\n\ntype TagGroupDataItem = { label: string; value: string | number; color?: string };\n\nexport type TagGroupProps = {\n dataList: TagGroupDataItem[];\n /**\n * 颜色配置数据,例如:{ 1:'red', 2: 'blue'} key值与 dataList中value相同\n */\n colorMap?: Record<string, string>;\n spaceProps?: SpaceProps;\n};\n\n/**\n * Tag 列表显示\n */\nexport const TagGroup: FC<TagGroupProps> = (props) => {\n const theme = fbaHooks.useThemeToken();\n return (\n <Space wrap size={5} {...props.spaceProps}>\n {props.dataList.map((item, index) => {\n const color = item.color || props.colorMap?.[item.value] || theme.colorPrimary;\n return (\n <Tag color={color} key={index}>\n {item.label}\n </Tag>\n );\n })}\n </Space>\n );\n};\n"],"names":["TagGroup","props","theme","fbaHooks","useThemeToken","_jsx","Space","_extends","wrap","size","spaceProps","children","dataList","map","item","index","_props$colorMap","color","colorMap","value","colorPrimary","Tag","label"],"mappings":";yTAkBaA,EAA8B,SAA9BA,EAA+BC,GAC1C,IAAMC,EAAQC,EAASC,gBACvB,OACEC,EAACC,EAAKC,EAAA,CAACC,KAAI,KAACC,KAAM,GAAOR,EAAMS,WAAU,CAAAC,SACtCV,EAAMW,SAASC,KAAI,SAACC,EAAMC,GAAU,IAAAC,EACnC,IAAMC,EAAQH,EAAKG,SAAKD,EAAIf,EAAMiB,WAANF,UAAAA,EAAAA,EAAiBF,EAAKK,SAAUjB,EAAMkB,aAClE,OACEf,EAACgB,EAAG,CAACJ,MAAOA,EAAMN,SACfG,EAAKQ,OADgBP,QAOlC"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/tag-group/tag-group.tsx"],"sourcesContent":["import { Space, SpaceProps, Tag } from 'antd';\nimport { FC } from 'react';\nimport { fbaHooks } from '../fba-hooks';\n\ntype TagGroupDataItem = { label: string; value: string | number; color?: string };\n\nexport type TagGroupProps = {\n dataList: TagGroupDataItem[];\n /**\n * 颜色配置数据,例如:{ 1:'red', 2: 'blue'} key值与 dataList中value相同\n */\n colorMap?: Record<string, string>;\n spaceProps?: SpaceProps;\n};\n\n/**\n * Tag 列表显示\n */\nexport const TagGroup: FC<TagGroupProps> = (props) => {\n const theme = fbaHooks.useThemeToken();\n return (\n <Space wrap size={5} {...props.spaceProps}>\n {props.dataList.map((item, index) => {\n const color = item.color || props.colorMap?.[item.value] || theme.colorPrimary;\n return (\n <Tag color={color} key={index}>\n {item.label}\n </Tag>\n );\n })}\n </Space>\n );\n};\n"],"names":["TagGroup","props","theme","fbaHooks","useThemeToken","_jsx","Space","_extends","wrap","size","spaceProps","children","dataList","map","item","index","_props$colorMap","color","colorMap","value","colorPrimary","Tag","label"],"mappings":";gVAkBaA,EAA8B,SAA9BA,EAA+BC,GAC1C,IAAMC,EAAQC,EAASC,gBACvB,OACEC,EAACC,EAAKC,EAAA,CAACC,KAAI,KAACC,KAAM,GAAOR,EAAMS,WAAU,CAAAC,SACtCV,EAAMW,SAASC,KAAI,SAACC,EAAMC,GAAU,IAAAC,EACnC,IAAMC,EAAQH,EAAKG,SAAKD,EAAIf,EAAMiB,WAANF,UAAAA,EAAAA,EAAiBF,EAAKK,SAAUjB,EAAMkB,aAClE,OACEf,EAACgB,EAAG,CAACJ,MAAOA,EAAMN,SACfG,EAAKQ,OADgBP,QAOlC"}
@@ -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{useSize as t}from"ahooks";import{Tooltip as e}from"antd";import{useRef as r,useState as i}from"react";import{fbaHooks as n}from"../fba-hooks/index.js";import{jsx as o,jsxs as s}from"react/jsx-runtime";import"../_rollupPluginBabelHelpers-a0769acd.js";import"@dimjs/lang/cjs/is-array";import"@wove/react/cjs/hooks";import"../use-responsive-point-21b8c601.js";var a=function a(d){var l=r();var f=i(0),m=f[0],p=f[1];var u=t(l);var c=n.useMemoCustom((function(){var t;if(d.hideTips)return false;if(d.width!==undefined){return m>d.width}var e=((t=l.current)==null||(t=t.parentElement)==null?void 0:t.offsetWidth)||0;return m>e}),[d.hideTips,d.width,m,u==null?void 0:u.width]);return o(e,{title:c?d.text:undefined,children:s("span",{className:"text-css-ellipsis",style:d.width?{width:d.width}:{},ref:function t(e){if(e){l.current=e}},children:[o("span",{className:"tce-hidden",children:o("span",{ref:function t(e){if(e){p(e.offsetWidth)}},children:d.text})}),d.text]})})};export{a as TextCssEllipsis};
5
+ import{useSize as t}from"ahooks";import{Tooltip as i}from"antd";import{useRef as r,useState as e}from"react";import{fbaHooks as n}from"../fba-hooks/index.js";import{jsx as o,jsxs as s}from"react/jsx-runtime";import"../_rollupPluginBabelHelpers-a0769acd.js";import"@dimjs/lang/cjs/is-array";import"@wove/react/cjs/hooks";import"@flatbiz/utils";import"../use-responsive-point-21b8c601.js";var a=function a(d){var l=r();var f=e(0),m=f[0],p=f[1];var u=t(l);var c=n.useMemoCustom((function(){var t;if(d.hideTips)return false;if(d.width!==undefined){return m>d.width}var i=((t=l.current)==null||(t=t.parentElement)==null?void 0:t.offsetWidth)||0;return m>i}),[d.hideTips,d.width,m,u==null?void 0:u.width]);return o(i,{title:c?d.text:undefined,children:s("span",{className:"text-css-ellipsis",style:d.width?{width:d.width}:{},ref:function t(i){if(i){l.current=i}},children:[o("span",{className:"tce-hidden",children:o("span",{ref:function t(i){if(i){p(i.offsetWidth)}},children:d.text})}),d.text]})})};export{a as TextCssEllipsis};
6
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/text-css-ellipsis/text-css-ellipsis.tsx"],"sourcesContent":["import { useSize } from 'ahooks';\nimport { Tooltip } from 'antd';\nimport { useRef, useState } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport './style.less';\n\nexport type CssTextEllipsisProps = {\n text: string;\n width?: number;\n /** 隐藏tips */\n hideTips?: boolean;\n};\n\n/**\n * 内容超过宽度截取,并在尾部添加...,被截取的添加Tooltip显示完整数据\n * ```\n * 1. 如果配置 width,则使用文本长度与width进行比较\n * 2. 如果没有配置 width,则使用文本长度与当前节点父节点宽度进行比较\n *\n * 注意:\n * 1. 当前节点父节点可能需要添加 overflow-x: hidden;\n * 2. 如果父节点设置flex-shrink会有影响,可复写flex-shrink: initial;\n * ```\n */\nexport const TextCssEllipsis = (props: CssTextEllipsisProps) => {\n const rootRef = useRef<HTMLSpanElement>();\n const [textNodeWidth, setTextNodeWidth] = useState(0);\n const size = useSize(rootRef);\n\n const showTips = fbaHooks.useMemoCustom(() => {\n if (props.hideTips) return false;\n if (props.width !== undefined) {\n return textNodeWidth > props.width;\n }\n const parentNodeWidth = rootRef.current?.parentElement?.offsetWidth || 0;\n return textNodeWidth > parentNodeWidth;\n }, [props.hideTips, props.width, textNodeWidth, size?.width]);\n\n return (\n <Tooltip title={showTips ? props.text : undefined}>\n <span\n className=\"text-css-ellipsis\"\n style={props.width ? { width: props.width } : {}}\n ref={(node) => {\n if (node) {\n rootRef.current = node;\n }\n }}\n >\n <span className=\"tce-hidden\">\n <span\n ref={(node) => {\n if (node) {\n setTextNodeWidth(node.offsetWidth);\n }\n }}\n >\n {props.text}\n </span>\n </span>\n {props.text}\n </span>\n </Tooltip>\n );\n};\n"],"names":["TextCssEllipsis","props","rootRef","useRef","_useState","useState","textNodeWidth","setTextNodeWidth","size","useSize","showTips","fbaHooks","useMemoCustom","_rootRef$current","hideTips","width","undefined","parentNodeWidth","current","parentElement","offsetWidth","_jsx","Tooltip","title","text","children","_jsxs","className","style","ref","node"],"mappings":";gXAwBaA,EAAkB,SAAlBA,EAAmBC,GAC9B,IAAMC,EAAUC,IAChB,IAAAC,EAA0CC,EAAS,GAA5CC,EAAaF,EAAA,GAAEG,EAAgBH,EAAA,GACtC,IAAMI,EAAOC,EAAQP,GAErB,IAAMQ,EAAWC,EAASC,eAAc,WAAM,IAAAC,EAC5C,GAAIZ,EAAMa,SAAU,OAAO,MAC3B,GAAIb,EAAMc,QAAUC,UAAW,CAC7B,OAAOV,EAAgBL,EAAMc,KAC/B,CACA,IAAME,IAAkBJ,EAAAX,EAAQgB,UAAO,OAAAL,EAAfA,EAAiBM,gBAAa,UAAA,EAA9BN,EAAgCO,cAAe,EACvE,OAAOd,EAAgBW,CACxB,GAAE,CAAChB,EAAMa,SAAUb,EAAMc,MAAOT,EAAeE,GAAI,UAAA,EAAJA,EAAMO,QAEtD,OACEM,EAACC,EAAO,CAACC,MAAOb,EAAWT,EAAMuB,KAAOR,UAAUS,SAChDC,EAAA,OAAA,CACEC,UAAU,oBACVC,MAAO3B,EAAMc,MAAQ,CAAEA,MAAOd,EAAMc,OAAU,CAAG,EACjDc,IAAK,SAAAA,EAACC,GACJ,GAAIA,EAAM,CACR5B,EAAQgB,QAAUY,CACpB,CACA,EAAAL,UAEFJ,EAAA,OAAA,CAAMM,UAAU,aAAYF,SAC1BJ,EAAA,OAAA,CACEQ,IAAK,SAAAA,EAACC,GACJ,GAAIA,EAAM,CACRvB,EAAiBuB,EAAKV,YACxB,CACA,EAAAK,SAEDxB,EAAMuB,SAGVvB,EAAMuB,SAIf"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/text-css-ellipsis/text-css-ellipsis.tsx"],"sourcesContent":["import { useSize } from 'ahooks';\nimport { Tooltip } from 'antd';\nimport { useRef, useState } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport './style.less';\n\nexport type CssTextEllipsisProps = {\n text: string;\n width?: number;\n /** 隐藏tips */\n hideTips?: boolean;\n};\n\n/**\n * 内容超过宽度截取,并在尾部添加...,被截取的添加Tooltip显示完整数据\n * @deprecated 已过期,请使用 TextOverflow 组件\n * ```\n * 1. 如果配置 width,则使用文本长度与width进行比较\n * 2. 如果没有配置 width,则使用文本长度与当前节点父节点宽度进行比较\n *\n * 注意:\n * 1. 当前节点父节点可能需要添加 overflow-x: hidden;\n * 2. 如果父节点设置flex-shrink会有影响,可复写flex-shrink: initial;\n * ```\n */\nexport const TextCssEllipsis = (props: CssTextEllipsisProps) => {\n const rootRef = useRef<HTMLSpanElement>();\n const [textNodeWidth, setTextNodeWidth] = useState(0);\n const size = useSize(rootRef);\n\n const showTips = fbaHooks.useMemoCustom(() => {\n if (props.hideTips) return false;\n if (props.width !== undefined) {\n return textNodeWidth > props.width;\n }\n const parentNodeWidth = rootRef.current?.parentElement?.offsetWidth || 0;\n return textNodeWidth > parentNodeWidth;\n }, [props.hideTips, props.width, textNodeWidth, size?.width]);\n\n return (\n <Tooltip title={showTips ? props.text : undefined}>\n <span\n className=\"text-css-ellipsis\"\n style={props.width ? { width: props.width } : {}}\n ref={(node) => {\n if (node) {\n rootRef.current = node;\n }\n }}\n >\n <span className=\"tce-hidden\">\n <span\n ref={(node) => {\n if (node) {\n setTextNodeWidth(node.offsetWidth);\n }\n }}\n >\n {props.text}\n </span>\n </span>\n {props.text}\n </span>\n </Tooltip>\n );\n};\n"],"names":["TextCssEllipsis","props","rootRef","useRef","_useState","useState","textNodeWidth","setTextNodeWidth","size","useSize","showTips","fbaHooks","useMemoCustom","_rootRef$current","hideTips","width","undefined","parentNodeWidth","current","parentElement","offsetWidth","_jsx","Tooltip","title","text","children","_jsxs","className","style","ref","node"],"mappings":";uYAyBaA,EAAkB,SAAlBA,EAAmBC,GAC9B,IAAMC,EAAUC,IAChB,IAAAC,EAA0CC,EAAS,GAA5CC,EAAaF,EAAA,GAAEG,EAAgBH,EAAA,GACtC,IAAMI,EAAOC,EAAQP,GAErB,IAAMQ,EAAWC,EAASC,eAAc,WAAM,IAAAC,EAC5C,GAAIZ,EAAMa,SAAU,OAAO,MAC3B,GAAIb,EAAMc,QAAUC,UAAW,CAC7B,OAAOV,EAAgBL,EAAMc,KAC/B,CACA,IAAME,IAAkBJ,EAAAX,EAAQgB,UAAO,OAAAL,EAAfA,EAAiBM,gBAAa,UAAA,EAA9BN,EAAgCO,cAAe,EACvE,OAAOd,EAAgBW,CACxB,GAAE,CAAChB,EAAMa,SAAUb,EAAMc,MAAOT,EAAeE,GAAI,UAAA,EAAJA,EAAMO,QAEtD,OACEM,EAACC,EAAO,CAACC,MAAOb,EAAWT,EAAMuB,KAAOR,UAAUS,SAChDC,EAAA,OAAA,CACEC,UAAU,oBACVC,MAAO3B,EAAMc,MAAQ,CAAEA,MAAOd,EAAMc,OAAU,CAAG,EACjDc,IAAK,SAAAA,EAACC,GACJ,GAAIA,EAAM,CACR5B,EAAQgB,QAAUY,CACpB,CACA,EAAAL,UAEFJ,EAAA,OAAA,CAAMM,UAAU,aAAYF,SAC1BJ,EAAA,OAAA,CACEQ,IAAK,SAAAA,EAACC,GACJ,GAAIA,EAAM,CACRvB,EAAiBuB,EAAKV,YACxB,CACA,EAAAK,SAEDxB,EAAMuB,SAGVvB,EAAMuB,SAIf"}
@@ -0,0 +1 @@
1
+ .text-overflow,.tow-content{overflow:hidden;width:100%}.tow-content{display:block;position:relative;text-align:left;text-overflow:ellipsis;white-space:nowrap}.tow-hidden{display:inline-block;height:0;left:0;overflow:hidden;position:absolute;top:0;width:0}.tow-hidden span{display:inline-block;white-space:nowrap}.tow-trigger .tow-text{color:#1677ff;cursor:pointer;transition:color .3s}.tow-trigger .tow-text:hover{color:#69b1ff}
@@ -0,0 +1,6 @@
1
+ /* eslint-disable */
2
+ import './../fba-hooks/index.css';
3
+ import './index.css';
4
+ /*! @flatjs/forge MIT @flatbiz/antd */
5
+ import{classNames as t}from"@dimjs/utils/cjs/class-names";import{getStrByteLen as r,subStringByBytes as i}from"@flatbiz/utils";import{useSize as e}from"ahooks";import{Tooltip as n}from"antd";import{useRef as a,useState as o,useMemo as s}from"react";import{fbaHooks as m}from"../fba-hooks/index.js";import{jsx as f,jsxs as d}from"react/jsx-runtime";import"../_rollupPluginBabelHelpers-a0769acd.js";import"@dimjs/lang/cjs/is-array";import"@wove/react/cjs/hooks";import"../use-responsive-point-21b8c601.js";var l=function l(u){var c=a();var h=o(0),x=h[0],p=h[1];var v=o(0),W=v[0],j=v[1];var w=e(c);var g=(w==null?void 0:w.width)||0;var k=s((function(){if(!u.maxLength)return false;return r(u.text)>u.maxLength*2}),[u.maxLength,u.text]);var N=s((function(){if(u.maxWidth)return true;return k}),[k,u.maxWidth]);var C=m.useMemoCustom((function(){if(u.hideTips)return false;if(N){if(W>=g){return true}return x>=W}return x>=g}),[x,g,W]);var L=function t(r){if(k){if(u.maxWidth){j(u.maxWidth>r?r:u.maxWidth);return}}if(u.maxWidth){j(u.maxWidth);return}j(r)};var b=k?i(u.text,u.maxLength*2):u.text;var y=W>g?g:W;return f("div",{ref:function t(r){if(r){c.current=r}},className:t("text-overflow",{"tow-trigger":u.onClick}),children:f(n,{title:C?u.text:undefined,children:d("span",{style:{width:N?y:undefined},className:"tow-content",children:[k?f("span",{className:"tow-hidden",children:f("span",{ref:function t(r){if(r){L(r.offsetWidth)}},children:b})}):null,f("span",{className:"tow-hidden",children:f("span",{ref:function t(r){if(r){p(r.offsetWidth);if(!k&&u.maxWidth){j(u.maxWidth)}}},children:b})}),f("span",{className:"tow-text",onClick:u.onClick,children:u.text})]})})})};export{l as TextOverflow};
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/text-overflow/text-overflow.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { getStrByteLen, subStringByBytes } from '@flatbiz/utils';\nimport { useSize } from 'ahooks';\nimport { Tooltip } from 'antd';\nimport { useMemo, useRef, useState } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport './style.less';\n\nexport type TextOverflowProps = {\n text: string;\n /** 最大显示宽度 */\n maxWidth?: number;\n /** 最大显示字数 */\n maxLength?: number;\n /** 隐藏tips */\n hideTips?: boolean;\n onClick?: (e) => void;\n};\n\n/**\n * 内容溢出截取,并在尾部添加...,被截取的添加Tooltip显示完整数据\n * ```\n * 控制文本显示三种方式\n * 1. 通过 maxLength 控制超长\n * 2. 通过 maxWidth 控制超长\n * 3. 与父节点宽度比较,控制超长\n *\n * 注意:\n * 1. 当前节点父节点需要添加 overflow-x: hidden;\n * 2. 如果父节点设置flex-shrink会有影响,可复写flex-shrink: initial;\n * 3. 与 Table columns render结合使用,需要配置ellipsis=true\n * 例如:<Table columns={[{\n ...\n render: (value) => {\n return <TextOverflow text={value} />;\n },\n ellipsis: true,\n }]} />\n 4. 与 Table columns render结合使用,如果Table配置了 scroll={{ x: 'max-content' }}后,TextOverflow功能失效\n * ```\n */\nexport const TextOverflow = (props: TextOverflowProps) => {\n const rootRef = useRef<HTMLSpanElement>();\n const [textNodeWidth, setTextNodeWidth] = useState(0);\n /**\n * 内部宽度(设置maxWidth或者maxLength后,会设置内部宽度)\n */\n const [innerWidth, setInnerWidth] = useState(0);\n const size = useSize(rootRef);\n const parentNodeWidth = size?.width || 0;\n\n const hasMaxLengthOperate = useMemo(() => {\n if (!props.maxLength) return false;\n return getStrByteLen(props.text) > props.maxLength * 2;\n }, [props.maxLength, props.text]);\n\n const innerWidthOperate = useMemo(() => {\n if (props.maxWidth) return true;\n return hasMaxLengthOperate;\n }, [hasMaxLengthOperate, props.maxWidth]);\n\n const showTips = fbaHooks.useMemoCustom(() => {\n if (props.hideTips) return false;\n if (innerWidthOperate) {\n if (innerWidth >= parentNodeWidth) {\n return true;\n }\n return textNodeWidth >= innerWidth;\n }\n\n return textNodeWidth >= parentNodeWidth;\n }, [textNodeWidth, parentNodeWidth, innerWidth]);\n\n const onUpdateInnerWidth = (nodeWidth: number) => {\n if (hasMaxLengthOperate) {\n if (props.maxWidth) {\n setInnerWidth(props.maxWidth > nodeWidth ? nodeWidth : props.maxWidth);\n return;\n }\n }\n if (props.maxWidth) {\n setInnerWidth(props.maxWidth);\n return;\n }\n setInnerWidth(nodeWidth);\n };\n\n const innerText = hasMaxLengthOperate\n ? subStringByBytes(props.text, (props.maxLength as number) * 2)\n : props.text;\n\n const innerWidthBast = innerWidth > parentNodeWidth ? parentNodeWidth : innerWidth;\n\n return (\n <div\n ref={(node) => {\n if (node) {\n rootRef.current = node;\n }\n }}\n className={classNames('text-overflow', {\n 'tow-trigger': props.onClick,\n })}\n >\n <Tooltip title={showTips ? props.text : undefined}>\n <span style={{ width: innerWidthOperate ? innerWidthBast : undefined }} className=\"tow-content\">\n {hasMaxLengthOperate ? (\n <span className=\"tow-hidden\">\n <span\n ref={(node) => {\n if (node) {\n onUpdateInnerWidth(node.offsetWidth);\n }\n }}\n >\n {innerText}\n </span>\n </span>\n ) : null}\n <span className=\"tow-hidden\">\n <span\n ref={(node) => {\n if (node) {\n setTextNodeWidth(node.offsetWidth);\n if (!hasMaxLengthOperate && props.maxWidth) {\n setInnerWidth(props.maxWidth);\n }\n }\n }}\n >\n {innerText}\n </span>\n </span>\n <span className=\"tow-text\" onClick={props.onClick}>\n {props.text}\n </span>\n </span>\n </Tooltip>\n </div>\n );\n};\n"],"names":["TextOverflow","props","rootRef","useRef","_useState","useState","textNodeWidth","setTextNodeWidth","_useState2","innerWidth","setInnerWidth","size","useSize","parentNodeWidth","width","hasMaxLengthOperate","useMemo","maxLength","getStrByteLen","text","innerWidthOperate","maxWidth","showTips","fbaHooks","useMemoCustom","hideTips","onUpdateInnerWidth","nodeWidth","innerText","subStringByBytes","innerWidthBast","_jsx","ref","node","current","className","_classNames","onClick","children","Tooltip","title","undefined","_jsxs","style","offsetWidth"],"mappings":";4fAyCaA,EAAe,SAAfA,EAAgBC,GAC3B,IAAMC,EAAUC,IAChB,IAAAC,EAA0CC,EAAS,GAA5CC,EAAaF,EAAA,GAAEG,EAAgBH,EAAA,GAItC,IAAAI,EAAoCH,EAAS,GAAtCI,EAAUD,EAAA,GAAEE,EAAaF,EAAA,GAChC,IAAMG,EAAOC,EAAQV,GACrB,IAAMW,GAAkBF,eAAAA,EAAMG,QAAS,EAEvC,IAAMC,EAAsBC,GAAQ,WAClC,IAAKf,EAAMgB,UAAW,OAAO,MAC7B,OAAOC,EAAcjB,EAAMkB,MAAQlB,EAAMgB,UAAY,CACtD,GAAE,CAAChB,EAAMgB,UAAWhB,EAAMkB,OAE3B,IAAMC,EAAoBJ,GAAQ,WAChC,GAAIf,EAAMoB,SAAU,OAAO,KAC3B,OAAON,CACR,GAAE,CAACA,EAAqBd,EAAMoB,WAE/B,IAAMC,EAAWC,EAASC,eAAc,WACtC,GAAIvB,EAAMwB,SAAU,OAAO,MAC3B,GAAIL,EAAmB,CACrB,GAAIX,GAAcI,EAAiB,CACjC,OAAO,IACT,CACA,OAAOP,GAAiBG,CAC1B,CAEA,OAAOH,GAAiBO,CACzB,GAAE,CAACP,EAAeO,EAAiBJ,IAEpC,IAAMiB,EAAqB,SAArBA,EAAsBC,GAC1B,GAAIZ,EAAqB,CACvB,GAAId,EAAMoB,SAAU,CAClBX,EAAcT,EAAMoB,SAAWM,EAAYA,EAAY1B,EAAMoB,UAC7D,MACF,CACF,CACA,GAAIpB,EAAMoB,SAAU,CAClBX,EAAcT,EAAMoB,UACpB,MACF,CACAX,EAAciB,IAGhB,IAAMC,EAAYb,EACdc,EAAiB5B,EAAMkB,KAAOlB,EAAMgB,UAAuB,GAC3DhB,EAAMkB,KAEV,IAAMW,EAAiBrB,EAAaI,EAAkBA,EAAkBJ,EAExE,OACEsB,EAAA,MAAA,CACEC,IAAK,SAAAA,EAACC,GACJ,GAAIA,EAAM,CACR/B,EAAQgC,QAAUD,CACpB,CACA,EACFE,UAAWC,EAAW,gBAAiB,CACrC,cAAenC,EAAMoC,UACpBC,SAEHP,EAACQ,EAAO,CAACC,MAAOlB,EAAWrB,EAAMkB,KAAOsB,UAAUH,SAChDI,EAAA,OAAA,CAAMC,MAAO,CAAE7B,MAAOM,EAAoBU,EAAiBW,WAAaN,UAAU,cAAaG,SAAA,CAC5FvB,EACCgB,EAAA,OAAA,CAAMI,UAAU,aAAYG,SAC1BP,EAAA,OAAA,CACEC,IAAK,SAAAA,EAACC,GACJ,GAAIA,EAAM,CACRP,EAAmBO,EAAKW,YAC1B,CACA,EAAAN,SAEDV,MAGH,KACJG,EAAA,OAAA,CAAMI,UAAU,aAAYG,SAC1BP,EAAA,OAAA,CACEC,IAAK,SAAAA,EAACC,GACJ,GAAIA,EAAM,CACR1B,EAAiB0B,EAAKW,aACtB,IAAK7B,GAAuBd,EAAMoB,SAAU,CAC1CX,EAAcT,EAAMoB,SACtB,CACF,CACA,EAAAiB,SAEDV,MAGLG,EAAA,OAAA,CAAMI,UAAU,WAAWE,QAASpC,EAAMoC,QAAQC,SAC/CrC,EAAMkB,aAMnB"}
@@ -7,5 +7,5 @@ import './../fba-utils/index.css';
7
7
  import './../text-css-ellipsis/index.css';
8
8
  import './index.css';
9
9
  /*! @flatjs/forge MIT @flatbiz/antd */
10
- import{isEmpty as i}from"@dimjs/lang/cjs/is-empty";import{a as r,_ as e}from"../_rollupPluginBabelHelpers-a0769acd.js";import{getStrByteLen as t,cutString as n}from"@flatbiz/utils";import{Tooltip as l}from"antd";import{Fragment as o}from"react";import{ButtonWrapper as s}from"../button-wrapper/index.js";import{TextCssEllipsis as a}from"../text-css-ellipsis/index.js";import{jsx as p,jsxs as m}from"react/jsx-runtime";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-promise";import"@wove/react/cjs/hooks";import"@dimjs/utils/cjs/class-names";import"../index-34027e61.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"ahooks";var d=["onClick","children","prefix"];var c=function i(t){var n=t.onClick,l=t.children,o=t.prefix,a=r(t,d);if(!!n){return m(s,e({type:"link",onClick:n,style:{padding:0,height:"initial",display:"inline-flex",alignItems:"center"}},a,{children:[o?p("span",{style:{marginRight:5},children:o}):null,l]}))}return m("span",e({},a,{style:e({display:"inline-flex"},a["style"]),children:[o?p("span",{style:{marginRight:5},children:o}):null,l]}))};var u=function r(e){var s=e.text,m=e.maxLength,d=e.placeholder,u=e.onClick,f=e.prefix;if(!s||i(s)||s==="")return p(o,{children:d});if(!!m){var j=t(s);if(j<=m*2){return p(c,{onClick:u,prefix:f,children:s})}else{var h=n(s,m*2);return p(l,{placement:"topLeft",title:s,children:p(c,{onClick:u,prefix:f,children:h})})}}if(e.width){return p(c,{onClick:u,prefix:f,children:p(a,{text:s,width:e.width})})}return p(c,{onClick:u,prefix:f,children:e.text})};export{u as TextOverflowRender};
10
+ import{isEmpty as i}from"@dimjs/lang/cjs/is-empty";import{a as r,_ as e}from"../_rollupPluginBabelHelpers-a0769acd.js";import{getStrByteLen as t,cutString as n}from"@flatbiz/utils";import{Tooltip as l}from"antd";import{Fragment as o}from"react";import{ButtonWrapper as s}from"../button-wrapper/index.js";import{TextCssEllipsis as a}from"../text-css-ellipsis/index.js";import{jsx as p,jsxs as m}from"react/jsx-runtime";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-promise";import"@wove/react/cjs/hooks";import"@dimjs/utils/cjs/class-names";import"../index-c7967f72.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"ahooks";var d=["onClick","children","prefix"];var c=function i(t){var n=t.onClick,l=t.children,o=t.prefix,a=r(t,d);if(!!n){return m(s,e({type:"link",onClick:n,style:{padding:0,height:"initial",display:"inline-flex",alignItems:"center"}},a,{children:[o?p("span",{style:{marginRight:5},children:o}):null,l]}))}return m("span",e({},a,{style:e({display:"inline-flex"},a["style"]),children:[o?p("span",{style:{marginRight:5},children:o}):null,l]}))};var u=function r(e){var s=e.text,m=e.maxLength,d=e.placeholder,u=e.onClick,f=e.prefix;if(!s||i(s)||s==="")return p(o,{children:d});if(!!m){var j=t(s);if(j<=m*2){return p(c,{onClick:u,prefix:f,children:s})}else{var h=n(s,m*2);return p(l,{placement:"topLeft",title:s,children:p(c,{onClick:u,prefix:f,children:h})})}}if(e.width){return p(c,{onClick:u,prefix:f,children:p(a,{text:s,width:e.width})})}return p(c,{onClick:u,prefix:f,children:e.text})};export{u as TextOverflowRender};
11
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/text-overflow-render/text-overflow-render.tsx"],"sourcesContent":["import { isEmpty } from '@dimjs/lang';\nimport { cutString, getStrByteLen } from '@flatbiz/utils';\nimport { Tooltip } from 'antd';\nimport { Fragment, ReactElement } from 'react';\nimport { ButtonWrapper } from '../button-wrapper';\nimport { TextCssEllipsis } from '../text-css-ellipsis';\n\nconst LinkRender = (props: {\n onClick?: (e) => void;\n children?: ReactElement | string;\n prefix?: string | ReactElement;\n}) => {\n const { onClick, children, prefix, ...otherProps } = props;\n if (!!onClick) {\n return (\n <ButtonWrapper\n type=\"link\"\n onClick={onClick}\n style={{ padding: 0, height: 'initial', display: 'inline-flex', alignItems: 'center' }}\n {...otherProps}\n >\n {prefix ? <span style={{ marginRight: 5 }}>{prefix}</span> : null}\n {children}\n </ButtonWrapper>\n );\n }\n return (\n <span {...otherProps} style={{ display: 'inline-flex', ...otherProps['style'] }}>\n {prefix ? <span style={{ marginRight: 5 }}>{prefix}</span> : null}\n {children}\n </span>\n );\n};\n\nexport type TextOverflowRenderProps = {\n /** width 宽度控制超长 */\n width?: number;\n /** maxLength 数字控制超长 */\n maxLength?: number;\n /** 完整文本 */\n text?: string;\n /** 文本前缀显示 */\n prefix?: string | ReactElement;\n /** 数据不存在时,占位符 */\n placeholder?: ReactElement | string;\n onClick?: (e) => void;\n};\n\n/**\n * 文本显示超出截取,被截取的添加Tooltip显示完整数据\n * ```\n * 控制文本显示两种方式\n * 1. 通过 maxLength 控制超长\n * 2. 通过 width 控制超长\n *\n * 3. maxLength 与 width 互斥,优先级:maxLength > width\n * ```\n * @param props\n * @returns\n */\nexport const TextOverflowRender = (props: TextOverflowRenderProps) => {\n const { text, maxLength, placeholder, onClick, prefix } = props;\n\n if (!text || isEmpty(text) || text === '') return <Fragment>{placeholder}</Fragment>;\n if (!!maxLength) {\n const strByteLen = getStrByteLen(text);\n if (strByteLen <= maxLength * 2) {\n return (\n <LinkRender onClick={onClick} prefix={prefix}>\n {text}\n </LinkRender>\n );\n } else {\n const resultTitle = cutString(text, maxLength * 2);\n return (\n <Tooltip placement=\"topLeft\" title={text}>\n <LinkRender onClick={onClick} prefix={prefix}>\n {resultTitle}\n </LinkRender>\n </Tooltip>\n );\n }\n }\n if (props.width) {\n return (\n <LinkRender onClick={onClick} prefix={prefix}>\n <TextCssEllipsis text={text} width={props.width} />\n </LinkRender>\n );\n }\n return (\n <LinkRender onClick={onClick} prefix={prefix}>\n {props.text}\n </LinkRender>\n );\n};\n"],"names":["LinkRender","props","onClick","children","prefix","otherProps","_objectWithoutPropertiesLoose","_excluded","_jsxs","ButtonWrapper","_extends","type","style","padding","height","display","alignItems","_jsx","marginRight","TextOverflowRender","text","maxLength","placeholder","_isEmpty","Fragment","strByteLen","getStrByteLen","resultTitle","cutString","Tooltip","placement","title","width","TextCssEllipsis"],"mappings":";gpCAOA,IAAMA,EAAa,SAAbA,EAAcC,GAKlB,IAAQC,EAA6CD,EAA7CC,QAASC,EAAoCF,EAApCE,SAAUC,EAA0BH,EAA1BG,OAAWC,EAAUC,EAAKL,EAAKM,GAC1D,KAAML,EAAS,CACb,OACEM,EAACC,EAAaC,EAAA,CACZC,KAAK,OACLT,QAASA,EACTU,MAAO,CAAEC,QAAS,EAAGC,OAAQ,UAAWC,QAAS,cAAeC,WAAY,WACxEX,EAAU,CAAAF,SAAA,CAEbC,EAASa,EAAA,OAAA,CAAML,MAAO,CAAEM,YAAa,GAAIf,SAAEC,IAAiB,KAC5DD,KAGP,CACA,OACEK,EAAA,OAAAE,EAAA,CAAA,EAAUL,EAAU,CAAEO,MAAKF,EAAA,CAAIK,QAAS,eAAkBV,EAAW,UAAWF,SAAA,CAC7EC,EAASa,EAAA,OAAA,CAAML,MAAO,CAAEM,YAAa,GAAIf,SAAEC,IAAiB,KAC5DD,KAGP,MA4BagB,EAAqB,SAArBA,EAAsBlB,GACjC,IAAQmB,EAAkDnB,EAAlDmB,KAAMC,EAA4CpB,EAA5CoB,UAAWC,EAAiCrB,EAAjCqB,YAAapB,EAAoBD,EAApBC,QAASE,EAAWH,EAAXG,OAE/C,IAAKgB,GAAQG,EAAQH,IAASA,IAAS,GAAI,OAAOH,EAACO,EAAQ,CAAArB,SAAEmB,IAC7D,KAAMD,EAAW,CACf,IAAMI,EAAaC,EAAcN,GACjC,GAAIK,GAAcJ,EAAY,EAAG,CAC/B,OACEJ,EAACjB,EAAU,CAACE,QAASA,EAASE,OAAQA,EAAOD,SAC1CiB,GAGP,KAAO,CACL,IAAMO,EAAcC,EAAUR,EAAMC,EAAY,GAChD,OACEJ,EAACY,EAAO,CAACC,UAAU,UAAUC,MAAOX,EAAKjB,SACvCc,EAACjB,EAAU,CAACE,QAASA,EAASE,OAAQA,EAAOD,SAC1CwB,KAIT,CACF,CACA,GAAI1B,EAAM+B,MAAO,CACf,OACEf,EAACjB,EAAU,CAACE,QAASA,EAASE,OAAQA,EAAOD,SAC3Cc,EAACgB,EAAe,CAACb,KAAMA,EAAMY,MAAO/B,EAAM+B,SAGhD,CACA,OACEf,EAACjB,EAAU,CAACE,QAASA,EAASE,OAAQA,EAAOD,SAC1CF,EAAMmB,MAGb"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/text-overflow-render/text-overflow-render.tsx"],"sourcesContent":["import { isEmpty } from '@dimjs/lang';\nimport { cutString, getStrByteLen } from '@flatbiz/utils';\nimport { Tooltip } from 'antd';\nimport { Fragment, ReactElement } from 'react';\nimport { ButtonWrapper } from '../button-wrapper';\nimport { TextCssEllipsis } from '../text-css-ellipsis';\n\nconst LinkRender = (props: {\n onClick?: (e) => void;\n children?: ReactElement | string;\n prefix?: string | ReactElement;\n}) => {\n const { onClick, children, prefix, ...otherProps } = props;\n if (!!onClick) {\n return (\n <ButtonWrapper\n type=\"link\"\n onClick={onClick}\n style={{ padding: 0, height: 'initial', display: 'inline-flex', alignItems: 'center' }}\n {...otherProps}\n >\n {prefix ? <span style={{ marginRight: 5 }}>{prefix}</span> : null}\n {children}\n </ButtonWrapper>\n );\n }\n return (\n <span {...otherProps} style={{ display: 'inline-flex', ...otherProps['style'] }}>\n {prefix ? <span style={{ marginRight: 5 }}>{prefix}</span> : null}\n {children}\n </span>\n );\n};\n\nexport type TextOverflowRenderProps = {\n /** width 宽度控制超长 */\n width?: number;\n /** maxLength 数字控制超长 */\n maxLength?: number;\n /** 完整文本 */\n text?: string;\n /** 文本前缀显示 */\n prefix?: string | ReactElement;\n /** 数据不存在时,占位符 */\n placeholder?: ReactElement | string;\n onClick?: (e) => void;\n};\n\n/**\n * 文本显示超出截取,被截取的添加Tooltip显示完整数据\n * @deprecated 已过期,请使用 TextOverflow 组件\n * ```\n * 控制文本显示两种方式\n * 1. 通过 maxLength 控制超长\n * 2. 通过 width 控制超长\n *\n * 3. maxLength 与 width 互斥,优先级:maxLength > width\n * ```\n */\nexport const TextOverflowRender = (props: TextOverflowRenderProps) => {\n const { text, maxLength, placeholder, onClick, prefix } = props;\n\n if (!text || isEmpty(text) || text === '') return <Fragment>{placeholder}</Fragment>;\n if (!!maxLength) {\n const strByteLen = getStrByteLen(text);\n if (strByteLen <= maxLength * 2) {\n return (\n <LinkRender onClick={onClick} prefix={prefix}>\n {text}\n </LinkRender>\n );\n } else {\n const resultTitle = cutString(text, maxLength * 2);\n return (\n <Tooltip placement=\"topLeft\" title={text}>\n <LinkRender onClick={onClick} prefix={prefix}>\n {resultTitle}\n </LinkRender>\n </Tooltip>\n );\n }\n }\n if (props.width) {\n return (\n <LinkRender onClick={onClick} prefix={prefix}>\n <TextCssEllipsis text={text} width={props.width} />\n </LinkRender>\n );\n }\n return (\n <LinkRender onClick={onClick} prefix={prefix}>\n {props.text}\n </LinkRender>\n );\n};\n"],"names":["LinkRender","props","onClick","children","prefix","otherProps","_objectWithoutPropertiesLoose","_excluded","_jsxs","ButtonWrapper","_extends","type","style","padding","height","display","alignItems","_jsx","marginRight","TextOverflowRender","text","maxLength","placeholder","_isEmpty","Fragment","strByteLen","getStrByteLen","resultTitle","cutString","Tooltip","placement","title","width","TextCssEllipsis"],"mappings":";gpCAOA,IAAMA,EAAa,SAAbA,EAAcC,GAKlB,IAAQC,EAA6CD,EAA7CC,QAASC,EAAoCF,EAApCE,SAAUC,EAA0BH,EAA1BG,OAAWC,EAAUC,EAAKL,EAAKM,GAC1D,KAAML,EAAS,CACb,OACEM,EAACC,EAAaC,EAAA,CACZC,KAAK,OACLT,QAASA,EACTU,MAAO,CAAEC,QAAS,EAAGC,OAAQ,UAAWC,QAAS,cAAeC,WAAY,WACxEX,EAAU,CAAAF,SAAA,CAEbC,EAASa,EAAA,OAAA,CAAML,MAAO,CAAEM,YAAa,GAAIf,SAAEC,IAAiB,KAC5DD,KAGP,CACA,OACEK,EAAA,OAAAE,EAAA,CAAA,EAAUL,EAAU,CAAEO,MAAKF,EAAA,CAAIK,QAAS,eAAkBV,EAAW,UAAWF,SAAA,CAC7EC,EAASa,EAAA,OAAA,CAAML,MAAO,CAAEM,YAAa,GAAIf,SAAEC,IAAiB,KAC5DD,KAGP,MA2BagB,EAAqB,SAArBA,EAAsBlB,GACjC,IAAQmB,EAAkDnB,EAAlDmB,KAAMC,EAA4CpB,EAA5CoB,UAAWC,EAAiCrB,EAAjCqB,YAAapB,EAAoBD,EAApBC,QAASE,EAAWH,EAAXG,OAE/C,IAAKgB,GAAQG,EAAQH,IAASA,IAAS,GAAI,OAAOH,EAACO,EAAQ,CAAArB,SAAEmB,IAC7D,KAAMD,EAAW,CACf,IAAMI,EAAaC,EAAcN,GACjC,GAAIK,GAAcJ,EAAY,EAAG,CAC/B,OACEJ,EAACjB,EAAU,CAACE,QAASA,EAASE,OAAQA,EAAOD,SAC1CiB,GAGP,KAAO,CACL,IAAMO,EAAcC,EAAUR,EAAMC,EAAY,GAChD,OACEJ,EAACY,EAAO,CAACC,UAAU,UAAUC,MAAOX,EAAKjB,SACvCc,EAACjB,EAAU,CAACE,QAASA,EAASE,OAAQA,EAAOD,SAC1CwB,KAIT,CACF,CACA,GAAI1B,EAAM+B,MAAO,CACf,OACEf,EAACjB,EAAU,CAACE,QAASA,EAASE,OAAQA,EAAOD,SAC3Cc,EAACgB,EAAe,CAACb,KAAMA,EAAMY,MAAO/B,EAAM+B,SAGhD,CACA,OACEf,EAACjB,EAAU,CAACE,QAASA,EAASE,OAAQA,EAAOD,SAC1CF,EAAMmB,MAGb"}
@@ -4,5 +4,5 @@ import './../time-range-picker-wrapper/index.css';
4
4
  import './../types/index.css';
5
5
  import './index.css';
6
6
  /*! @flatjs/forge MIT @flatbiz/antd */
7
- import{a as e,_ as n}from"../_rollupPluginBabelHelpers-a0769acd.js";import{hooks as r}from"@wove/react/cjs/hooks";import{isArray as a}from"@dimjs/lang/cjs/is-array";import{Form as t,Input as i}from"antd";import{useMemo as o,useRef as u,forwardRef as l,useImperativeHandle as m}from"react";import{fbaHooks as s}from"../fba-hooks/index.js";import{TimeRangePickerWrapper as c}from"../time-range-picker-wrapper/index.js";import{jsxs as v,Fragment as d,jsx as f}from"react/jsx-runtime";import"../use-responsive-point-21b8c601.js";import"dayjs";import"../time-53b3f55f.js";var p=["startName","endName","formListName","timeRangePickerWrapperProps"];var h=function i(l){var m=l.startName,h=l.endName,_=l.formListName,j=l.timeRangePickerWrapperProps,C=e(l,p);var P=t.useFormInstance();var k=o((function(){if(a(m)&&a(h)){return m.slice(0,m.length-1).concat("__#invalid_time_"+m[m.length-1]+"_"+h[h.length-1])}return"__#invalid_time_"+m+"_"+h}),[m,h]);var N=o((function(){return _?[].concat(_,m):m}),[m,_]);var x=o((function(){return _?[].concat(_,h):h}),[h,_]);var F=t.useWatch(N,P);var I=t.useWatch(x,P);var W=s.usePrevious(F);var b=s.usePrevious(I);s.useEffectCustom((function(){var e=_?[].concat(_,k):k;if(F&&I){P.setFields([{name:e,value:[F,I]}])}if(W&&b&&!F&&!I){P.setFields([{name:e,value:undefined}])}}),[F,I]);var R=u(null);var w=u(null);var y=r.useCallbackRef((function(e){var n,r;P.setFields([{name:N,value:e==null?void 0:e[0]},{name:x,value:e==null?void 0:e[1]}]);(n=R.current)==null||n.onChange==null?void 0:n.onChange(e==null?void 0:e[0]);(r=w.current)==null||r.onChange==null?void 0:r.onChange(e==null?void 0:e[1])}));return v(d,{children:[f(t.Item,{name:m,hidden:true,children:f(g,{ref:R})}),f(t.Item,{name:h,hidden:true,children:f(g,{ref:w})}),f(t.Item,n({},C,{name:k,children:f(c,n({},j,{onChange:y}))}))]})};var g=l((function(e,n){m(n,(function(){return{onChange:function n(r){e.onChange==null?void 0:e.onChange(r)}}}));return f(i,{value:e.value})}));export{h as TimeRangePickerWrapperFormItem};
7
+ import{a as e,_ as n}from"../_rollupPluginBabelHelpers-a0769acd.js";import{hooks as r}from"@wove/react/cjs/hooks";import{isArray as a}from"@dimjs/lang/cjs/is-array";import{Form as t,Input as i}from"antd";import{useMemo as o,useRef as u,forwardRef as l,useImperativeHandle as m}from"react";import{fbaHooks as s}from"../fba-hooks/index.js";import{TimeRangePickerWrapper as c}from"../time-range-picker-wrapper/index.js";import{jsxs as v,Fragment as f,jsx as d}from"react/jsx-runtime";import"@flatbiz/utils";import"../use-responsive-point-21b8c601.js";import"dayjs";import"../time-53b3f55f.js";var p=["startName","endName","formListName","timeRangePickerWrapperProps"];var h=function i(l){var m=l.startName,h=l.endName,_=l.formListName,j=l.timeRangePickerWrapperProps,C=e(l,p);var P=t.useFormInstance();var k=o((function(){if(a(m)&&a(h)){return m.slice(0,m.length-1).concat("__#invalid_time_"+m[m.length-1]+"_"+h[h.length-1])}return"__#invalid_time_"+m+"_"+h}),[m,h]);var N=o((function(){return _?[].concat(_,m):m}),[m,_]);var b=o((function(){return _?[].concat(_,h):h}),[h,_]);var x=t.useWatch(N,P);var F=t.useWatch(b,P);var I=s.usePrevious(x);var W=s.usePrevious(F);s.useEffectCustom((function(){var e=_?[].concat(_,k):k;if(x&&F){P.setFields([{name:e,value:[x,F]}])}if(I&&W&&!x&&!F){P.setFields([{name:e,value:undefined}])}}),[x,F]);var R=u(null);var w=u(null);var y=r.useCallbackRef((function(e){var n,r;P.setFields([{name:N,value:e==null?void 0:e[0]},{name:b,value:e==null?void 0:e[1]}]);(n=R.current)==null||n.onChange==null?void 0:n.onChange(e==null?void 0:e[0]);(r=w.current)==null||r.onChange==null?void 0:r.onChange(e==null?void 0:e[1])}));return v(f,{children:[d(t.Item,{name:m,hidden:true,children:d(g,{ref:R})}),d(t.Item,{name:h,hidden:true,children:d(g,{ref:w})}),d(t.Item,n({},C,{name:k,children:d(c,n({},j,{onChange:y}))}))]})};var g=l((function(e,n){m(n,(function(){return{onChange:function n(r){e.onChange==null?void 0:e.onChange(r)}}}));return d(i,{value:e.value})}));export{h as TimeRangePickerWrapperFormItem};
8
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/time-range-picker-wrapper-form-item/time-range-picker-wrapper-form-item.tsx"],"sourcesContent":["import { isArray } from '@dimjs/lang';\nimport { TAny } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Form, FormItemProps, Input } from 'antd';\nimport { forwardRef, useImperativeHandle, useMemo, useRef } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport { TimeRangePickerWrapper, TimeRangePickerWrapperProps } from '../time-range-picker-wrapper';\nimport { FormItemNamePath } from '../types';\n\nexport type TimeRangePickerWrapperFormItemProps = Omit<FormItemProps, 'name'> & {\n /**\n * 开始的时间name\n */\n startName: FormItemNamePath;\n /**\n * 结束的时间name\n */\n endName: FormItemNamePath;\n /**\n * 如果 TimeRangePickerWrapperFormItem 在Form.List场景下 必传\n */\n formListName?: FormItemNamePath;\n timeRangePickerWrapperProps?: Omit<TimeRangePickerWrapperProps, 'onChange'>;\n};\n/**\n * 包含了Form.Item组件的时间区间选择组件\n * ```\n * 1. 时间区间组件可以定义成两个字段操作,不用再通过数组处理\n * 2. 会在form中产生一个 `__#invalid_time_xxxx_xxxx` 的无效字段,可以直接忽略\n * ```\n */\nexport const TimeRangePickerWrapperFormItem = (props: TimeRangePickerWrapperFormItemProps) => {\n const { startName, endName, formListName, timeRangePickerWrapperProps, ...otherProps } = props;\n const form = Form.useFormInstance();\n const bodyName = useMemo(() => {\n if (isArray(startName) && isArray(endName)) {\n return startName\n .slice(0, startName.length - 1)\n .concat(`__#invalid_time_${startName[startName.length - 1]}_${endName[endName.length - 1]}`);\n }\n return `__#invalid_time_${startName}_${endName}`;\n }, [startName, endName]);\n\n const startNameMerge = useMemo(() => {\n return formListName ? ([] as (string | number)[]).concat(formListName, startName) : startName;\n }, [startName, formListName]);\n\n const endNameMerge = useMemo(() => {\n return formListName ? ([] as (string | number)[]).concat(formListName, endName) : endName;\n }, [endName, formListName]);\n\n const startVal = Form.useWatch(startNameMerge, form);\n const endVal = Form.useWatch(endNameMerge, form);\n // const bodyVal = Form.useWatch(bodyName, form);\n\n const preValue1 = fbaHooks.usePrevious(startVal);\n const preValue2 = fbaHooks.usePrevious(endVal);\n\n fbaHooks.useEffectCustom(() => {\n const name = formListName ? ([] as (string | number)[]).concat(formListName, bodyName) : bodyName;\n if (startVal && endVal) {\n form.setFields([{ name, value: [startVal, endVal] }]);\n }\n if (preValue1 && preValue2 && !startVal && !endVal) {\n form.setFields([{ name, value: undefined }]);\n }\n }, [startVal, endVal]);\n\n const reftest = useRef<InputContentRef>(null);\n const reftest2 = useRef<InputContentRef>(null);\n\n const onChange = hooks.useCallbackRef((data) => {\n form.setFields([\n { name: startNameMerge, value: data?.[0] },\n { name: endNameMerge, value: data?.[1] },\n ]);\n // 为了解决 外部Form onValuesChange获取到操作值\n reftest.current?.onChange?.(data?.[0]);\n reftest2.current?.onChange?.(data?.[1]);\n });\n\n return (\n <>\n <Form.Item name={startName} hidden>\n <InputContent ref={reftest} />\n </Form.Item>\n <Form.Item name={endName} hidden>\n <InputContent ref={reftest2} />\n </Form.Item>\n <Form.Item {...otherProps} name={bodyName}>\n <TimeRangePickerWrapper {...timeRangePickerWrapperProps} onChange={onChange} />\n </Form.Item>\n </>\n );\n};\n\ntype InputContentProps = {\n onChange?: (data: TAny) => void;\n value?: string;\n};\n\ntype InputContentRef = {\n onChange?: (data: TAny) => void;\n};\n\nconst InputContent = forwardRef<InputContentRef, InputContentProps>((props, ref) => {\n useImperativeHandle(ref, () => {\n return {\n onChange: (startVal) => {\n props.onChange?.(startVal);\n },\n };\n });\n\n return <Input value={props.value} />;\n});\n"],"names":["TimeRangePickerWrapperFormItem","props","startName","endName","formListName","timeRangePickerWrapperProps","otherProps","_objectWithoutPropertiesLoose","_excluded","form","Form","useFormInstance","bodyName","useMemo","_isArray","slice","length","concat","startNameMerge","endNameMerge","startVal","useWatch","endVal","preValue1","fbaHooks","usePrevious","preValue2","useEffectCustom","name","setFields","value","undefined","reftest","useRef","reftest2","onChange","_hooks","useCallbackRef","data","_reftest$current","_reftest2$current","current","_jsxs","_Fragment","children","_jsx","Item","hidden","InputContent","ref","_extends","TimeRangePickerWrapper","forwardRef","useImperativeHandle","Input"],"mappings":";soBA+BaA,EAAiC,SAAjCA,EAAkCC,GAC7C,IAAQC,EAAiFD,EAAjFC,UAAWC,EAAsEF,EAAtEE,QAASC,EAA6DH,EAA7DG,aAAcC,EAA+CJ,EAA/CI,4BAAgCC,EAAUC,EAAKN,EAAKO,GAC9F,IAAMC,EAAOC,EAAKC,kBAClB,IAAMC,EAAWC,GAAQ,WACvB,GAAIC,EAAQZ,IAAcY,EAAQX,GAAU,CAC1C,OAAOD,EACJa,MAAM,EAAGb,EAAUc,OAAS,GAC5BC,OAA0Bf,mBAAAA,EAAUA,EAAUc,OAAS,GAAMb,IAAAA,EAAQA,EAAQa,OAAS,GAC3F,CACA,MAA0Bd,mBAAAA,MAAaC,CACzC,GAAG,CAACD,EAAWC,IAEf,IAAMe,EAAiBL,GAAQ,WAC7B,OAAOT,EAAgB,GAA2Ba,OAAOb,EAAcF,GAAaA,CACtF,GAAG,CAACA,EAAWE,IAEf,IAAMe,EAAeN,GAAQ,WAC3B,OAAOT,EAAgB,GAA2Ba,OAAOb,EAAcD,GAAWA,CACpF,GAAG,CAACA,EAASC,IAEb,IAAMgB,EAAWV,EAAKW,SAASH,EAAgBT,GAC/C,IAAMa,EAASZ,EAAKW,SAASF,EAAcV,GAG3C,IAAMc,EAAYC,EAASC,YAAYL,GACvC,IAAMM,EAAYF,EAASC,YAAYH,GAEvCE,EAASG,iBAAgB,WACvB,IAAMC,EAAOxB,EAAgB,GAA2Ba,OAAOb,EAAcQ,GAAYA,EACzF,GAAIQ,GAAYE,EAAQ,CACtBb,EAAKoB,UAAU,CAAC,CAAED,KAAAA,EAAME,MAAO,CAACV,EAAUE,KAC5C,CACA,GAAIC,GAAaG,IAAcN,IAAaE,EAAQ,CAClDb,EAAKoB,UAAU,CAAC,CAAED,KAAAA,EAAME,MAAOC,YACjC,CACF,GAAG,CAACX,EAAUE,IAEd,IAAMU,EAAUC,EAAwB,MACxC,IAAMC,EAAWD,EAAwB,MAEzC,IAAME,EAAWC,EAAMC,gBAAe,SAACC,GAAS,IAAAC,EAAAC,EAC9C/B,EAAKoB,UAAU,CACb,CAAED,KAAMV,EAAgBY,MAAOQ,GAAAA,UAAAA,EAAAA,EAAO,IACtC,CAAEV,KAAMT,EAAcW,MAAOQ,GAAAA,UAAAA,EAAAA,EAAO,OAGtCC,EAAAP,EAAQS,UAARF,MAAAA,EAAiBJ,UAAQ,UAAA,EAAzBI,EAAiBJ,SAAWG,GAAI,UAAA,EAAJA,EAAO,KACnCE,EAAAN,EAASO,UAATD,MAAAA,EAAkBL,UAAQ,UAAA,EAA1BK,EAAkBL,SAAWG,GAAI,UAAA,EAAJA,EAAO,GACtC,IAEA,OACEI,EAAAC,EAAA,CAAAC,SACEC,CAAAA,EAACnC,EAAKoC,KAAI,CAAClB,KAAM1B,EAAW6C,OAAM,KAAAH,SAChCC,EAACG,EAAY,CAACC,IAAKjB,MAErBa,EAACnC,EAAKoC,KAAI,CAAClB,KAAMzB,EAAS4C,OAAM,KAAAH,SAC9BC,EAACG,EAAY,CAACC,IAAKf,MAErBW,EAACnC,EAAKoC,KAAII,EAAA,CAAA,EAAK5C,EAAU,CAAEsB,KAAMhB,EAASgC,SACxCC,EAACM,EAAsBD,KAAK7C,EAA2B,CAAE8B,SAAUA,UAI3E,EAWA,IAAMa,EAAeI,GAA+C,SAACnD,EAAOgD,GAC1EI,EAAoBJ,GAAK,WACvB,MAAO,CACLd,SAAU,SAAAA,EAACf,GACTnB,EAAMkC,UAANlC,UAAAA,EAAAA,EAAMkC,SAAWf,EACnB,EAEJ,IAEA,OAAOyB,EAACS,EAAK,CAACxB,MAAO7B,EAAM6B,OAC7B"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/time-range-picker-wrapper-form-item/time-range-picker-wrapper-form-item.tsx"],"sourcesContent":["import { isArray } from '@dimjs/lang';\nimport { TAny } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Form, FormItemProps, Input } from 'antd';\nimport { forwardRef, useImperativeHandle, useMemo, useRef } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport { TimeRangePickerWrapper, TimeRangePickerWrapperProps } from '../time-range-picker-wrapper';\nimport { FormItemNamePath } from '../types';\n\nexport type TimeRangePickerWrapperFormItemProps = Omit<FormItemProps, 'name'> & {\n /**\n * 开始的时间name\n */\n startName: FormItemNamePath;\n /**\n * 结束的时间name\n */\n endName: FormItemNamePath;\n /**\n * 如果 TimeRangePickerWrapperFormItem 在Form.List场景下 必传\n */\n formListName?: FormItemNamePath;\n timeRangePickerWrapperProps?: Omit<TimeRangePickerWrapperProps, 'onChange'>;\n};\n/**\n * 包含了Form.Item组件的时间区间选择组件\n * ```\n * 1. 时间区间组件可以定义成两个字段操作,不用再通过数组处理\n * 2. 会在form中产生一个 `__#invalid_time_xxxx_xxxx` 的无效字段,可以直接忽略\n * ```\n */\nexport const TimeRangePickerWrapperFormItem = (props: TimeRangePickerWrapperFormItemProps) => {\n const { startName, endName, formListName, timeRangePickerWrapperProps, ...otherProps } = props;\n const form = Form.useFormInstance();\n const bodyName = useMemo(() => {\n if (isArray(startName) && isArray(endName)) {\n return startName\n .slice(0, startName.length - 1)\n .concat(`__#invalid_time_${startName[startName.length - 1]}_${endName[endName.length - 1]}`);\n }\n return `__#invalid_time_${startName}_${endName}`;\n }, [startName, endName]);\n\n const startNameMerge = useMemo(() => {\n return formListName ? ([] as (string | number)[]).concat(formListName, startName) : startName;\n }, [startName, formListName]);\n\n const endNameMerge = useMemo(() => {\n return formListName ? ([] as (string | number)[]).concat(formListName, endName) : endName;\n }, [endName, formListName]);\n\n const startVal = Form.useWatch(startNameMerge, form);\n const endVal = Form.useWatch(endNameMerge, form);\n // const bodyVal = Form.useWatch(bodyName, form);\n\n const preValue1 = fbaHooks.usePrevious(startVal);\n const preValue2 = fbaHooks.usePrevious(endVal);\n\n fbaHooks.useEffectCustom(() => {\n const name = formListName ? ([] as (string | number)[]).concat(formListName, bodyName) : bodyName;\n if (startVal && endVal) {\n form.setFields([{ name, value: [startVal, endVal] }]);\n }\n if (preValue1 && preValue2 && !startVal && !endVal) {\n form.setFields([{ name, value: undefined }]);\n }\n }, [startVal, endVal]);\n\n const reftest = useRef<InputContentRef>(null);\n const reftest2 = useRef<InputContentRef>(null);\n\n const onChange = hooks.useCallbackRef((data) => {\n form.setFields([\n { name: startNameMerge, value: data?.[0] },\n { name: endNameMerge, value: data?.[1] },\n ]);\n // 为了解决 外部Form onValuesChange获取到操作值\n reftest.current?.onChange?.(data?.[0]);\n reftest2.current?.onChange?.(data?.[1]);\n });\n\n return (\n <>\n <Form.Item name={startName} hidden>\n <InputContent ref={reftest} />\n </Form.Item>\n <Form.Item name={endName} hidden>\n <InputContent ref={reftest2} />\n </Form.Item>\n <Form.Item {...otherProps} name={bodyName}>\n <TimeRangePickerWrapper {...timeRangePickerWrapperProps} onChange={onChange} />\n </Form.Item>\n </>\n );\n};\n\ntype InputContentProps = {\n onChange?: (data: TAny) => void;\n value?: string;\n};\n\ntype InputContentRef = {\n onChange?: (data: TAny) => void;\n};\n\nconst InputContent = forwardRef<InputContentRef, InputContentProps>((props, ref) => {\n useImperativeHandle(ref, () => {\n return {\n onChange: (startVal) => {\n props.onChange?.(startVal);\n },\n };\n });\n\n return <Input value={props.value} />;\n});\n"],"names":["TimeRangePickerWrapperFormItem","props","startName","endName","formListName","timeRangePickerWrapperProps","otherProps","_objectWithoutPropertiesLoose","_excluded","form","Form","useFormInstance","bodyName","useMemo","_isArray","slice","length","concat","startNameMerge","endNameMerge","startVal","useWatch","endVal","preValue1","fbaHooks","usePrevious","preValue2","useEffectCustom","name","setFields","value","undefined","reftest","useRef","reftest2","onChange","_hooks","useCallbackRef","data","_reftest$current","_reftest2$current","current","_jsxs","_Fragment","children","_jsx","Item","hidden","InputContent","ref","_extends","TimeRangePickerWrapper","forwardRef","useImperativeHandle","Input"],"mappings":";6pBA+BaA,EAAiC,SAAjCA,EAAkCC,GAC7C,IAAQC,EAAiFD,EAAjFC,UAAWC,EAAsEF,EAAtEE,QAASC,EAA6DH,EAA7DG,aAAcC,EAA+CJ,EAA/CI,4BAAgCC,EAAUC,EAAKN,EAAKO,GAC9F,IAAMC,EAAOC,EAAKC,kBAClB,IAAMC,EAAWC,GAAQ,WACvB,GAAIC,EAAQZ,IAAcY,EAAQX,GAAU,CAC1C,OAAOD,EACJa,MAAM,EAAGb,EAAUc,OAAS,GAC5BC,OAA0Bf,mBAAAA,EAAUA,EAAUc,OAAS,GAAMb,IAAAA,EAAQA,EAAQa,OAAS,GAC3F,CACA,MAA0Bd,mBAAAA,MAAaC,CACzC,GAAG,CAACD,EAAWC,IAEf,IAAMe,EAAiBL,GAAQ,WAC7B,OAAOT,EAAgB,GAA2Ba,OAAOb,EAAcF,GAAaA,CACtF,GAAG,CAACA,EAAWE,IAEf,IAAMe,EAAeN,GAAQ,WAC3B,OAAOT,EAAgB,GAA2Ba,OAAOb,EAAcD,GAAWA,CACpF,GAAG,CAACA,EAASC,IAEb,IAAMgB,EAAWV,EAAKW,SAASH,EAAgBT,GAC/C,IAAMa,EAASZ,EAAKW,SAASF,EAAcV,GAG3C,IAAMc,EAAYC,EAASC,YAAYL,GACvC,IAAMM,EAAYF,EAASC,YAAYH,GAEvCE,EAASG,iBAAgB,WACvB,IAAMC,EAAOxB,EAAgB,GAA2Ba,OAAOb,EAAcQ,GAAYA,EACzF,GAAIQ,GAAYE,EAAQ,CACtBb,EAAKoB,UAAU,CAAC,CAAED,KAAAA,EAAME,MAAO,CAACV,EAAUE,KAC5C,CACA,GAAIC,GAAaG,IAAcN,IAAaE,EAAQ,CAClDb,EAAKoB,UAAU,CAAC,CAAED,KAAAA,EAAME,MAAOC,YACjC,CACF,GAAG,CAACX,EAAUE,IAEd,IAAMU,EAAUC,EAAwB,MACxC,IAAMC,EAAWD,EAAwB,MAEzC,IAAME,EAAWC,EAAMC,gBAAe,SAACC,GAAS,IAAAC,EAAAC,EAC9C/B,EAAKoB,UAAU,CACb,CAAED,KAAMV,EAAgBY,MAAOQ,GAAAA,UAAAA,EAAAA,EAAO,IACtC,CAAEV,KAAMT,EAAcW,MAAOQ,GAAAA,UAAAA,EAAAA,EAAO,OAGtCC,EAAAP,EAAQS,UAARF,MAAAA,EAAiBJ,UAAQ,UAAA,EAAzBI,EAAiBJ,SAAWG,GAAI,UAAA,EAAJA,EAAO,KACnCE,EAAAN,EAASO,UAATD,MAAAA,EAAkBL,UAAQ,UAAA,EAA1BK,EAAkBL,SAAWG,GAAI,UAAA,EAAJA,EAAO,GACtC,IAEA,OACEI,EAAAC,EAAA,CAAAC,SACEC,CAAAA,EAACnC,EAAKoC,KAAI,CAAClB,KAAM1B,EAAW6C,OAAM,KAAAH,SAChCC,EAACG,EAAY,CAACC,IAAKjB,MAErBa,EAACnC,EAAKoC,KAAI,CAAClB,KAAMzB,EAAS4C,OAAM,KAAAH,SAC9BC,EAACG,EAAY,CAACC,IAAKf,MAErBW,EAACnC,EAAKoC,KAAII,EAAA,CAAA,EAAK5C,EAAU,CAAEsB,KAAMhB,EAASgC,SACxCC,EAACM,EAAsBD,KAAK7C,EAA2B,CAAE8B,SAAUA,UAI3E,EAWA,IAAMa,EAAeI,GAA+C,SAACnD,EAAOgD,GAC1EI,EAAoBJ,GAAK,WACvB,MAAO,CACLd,SAAU,SAAAA,EAACf,GACTnB,EAAMkC,UAANlC,UAAAA,EAAAA,EAAMkC,SAAWf,EACnB,EAEJ,IAEA,OAAOyB,EAACS,EAAK,CAACxB,MAAO7B,EAAM6B,OAC7B"}
@@ -13,5 +13,5 @@ import './../flex-layout/index.css';
13
13
  import './../input-search-wrapper/index.css';
14
14
  import './index.css';
15
15
  /*! @flatjs/forge MIT @flatbiz/antd */
16
- import{treeToArray as e,treeToTiledArray as r,treeLeafParentsArray as t,isUndefinedOrNull as n,treeFilter as a,attachPropertiesToComponent as i}from"@flatbiz/utils";import{isArray as l}from"@dimjs/lang/cjs/is-array";import{Model as s}from"@dimjs/model-react";import u from"@ant-design/icons/es/icons/CaretDownFilled";import o from"@ant-design/icons/es/icons/MoreOutlined";import{classNames as c}from"@dimjs/utils/cjs/class-names";import{extend as d}from"@dimjs/utils/cjs/extend";import{hooks as f}from"@wove/react/cjs/hooks";import{get as v}from"@dimjs/utils/cjs/get";import{a as p,_ as m}from"../_rollupPluginBabelHelpers-a0769acd.js";import{cloneState as h}from"@dimjs/model";import{Spin as g,Tree as y,Button as b,message as L}from"antd";import{forwardRef as C,useState as w,useMemo as j,useRef as R,useImperativeHandle as N,Fragment as q,isValidElement as S}from"react";import{ButtonOperate as k}from"../button-operate/index.js";import{DropdownMenuWrapper as x}from"../dropdown-menu-wrapper/index.js";import{fbaHooks as T}from"../fba-hooks/index.js";import{InputSearchWrapper as D}from"../input-search-wrapper/index.js";import{RequestStatus as E}from"../request-status/index.js";import{tree as P}from"@dimjs/utils/cjs/tree";import{isObject as A}from"@dimjs/lang/cjs/is-object";import"dequal";import{jsxs as _,jsx as I}from"react/jsx-runtime";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"../button-wrapper/index.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"../index-34027e61.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-utils/index.js";import"@ant-design/icons/es/icons/ExclamationCircleFilled";import"../dialog-confirm/index.js";import"../dialog-modal/index.js";import"ahooks";import"react-dom/client";import"../flex-layout/index.js";import"../use-responsive-point-21b8c601.js";var M={treeList:[],treeTiledArray:[],queryIsEmpty:false};var O={actions:{setTreeList:function r(t){return function(r){r.treeList=t.treeList||[];r.treeTiledArray=e(r.treeList,t.childrenName);r.requestStatus="request-success"}},resetTreeList:function e(){return function(e){e.treeList=[];e.treeTiledArray=[]}},changeRequestStatus:function e(r){return function(e){e.requestStatus=r.status;if(r.status==="request-error"){e.treeList=[];e.treeTiledArray=[];e.requestErrorMessage=r.errorMessage||"数据查询异常"}else{e.requestErrorMessage=undefined}}},treeListAppendChildren:function r(t){return function(r){var n=e(r.treeList,t.childrenName);var a=n.find((function(e){return e[t.valueName]===t.value}));if(a){if(l(t.appendList)&&t.appendList.length>0){a[t.childrenName]=t.appendList}else{a.isLeaf=true}}r.treeTiledArray=e(r.treeList,t.childrenName)}}},state:M};var V={};var F=function e(r){if(!V[r]){V[r]=s(O)}return V[r]};var K=function e(r){var t=F(r).getState();return t.treeList};var U=function r(t,n){var a=e(t,n.children).filter((function(e){var r=e[n.children];return r&&r.length>0})).map((function(e){return e[n.value]}));return a};var z=function e(n,a,i){var l=r(a,i);return t(n,l,true,{value:"value",parentValue:"parentValue"}).filter((function(e){var r=e[i.children];return r&&r.length>0})).map((function(e){return e.value}))};var H=function e(r,t){var a=n(r)?[]:r;a=l(a)?a:[a];a=a.map((function(e){if(A(e))return e[t.value];return e}));return a};var B=function e(r,t,n){var a=n.node.key;var i=n.dragNode.key;var l=n.node.pos.split("-");var s=n.dropPosition-Number(l[l.length-1]);var u=t.value;var o=t.children;var c=function e(r,t,n){for(var a=0;a<r.length;a++){if(r[a][u]===t){return n(r[a],a,r)}if(r[a][o]){e(r[a][o],t,n)}}};var d=h(r);var f;c(d,i,(function(e,r,t){t.splice(r,1);f=e}));if(!n.dropToGap){c(d,a,(function(e){e[o]=e[o]||[];e[o].unshift(f)}))}else if((n.node.props.children||[]).length>0&&n.node.props.expanded&&s===1){c(d,a,(function(e){e[o]=e[o]||[];e[o].unshift(f)}))}else{var v=[];var p;c(d,a,(function(e,r,t){v=t;p=r}));if(s===-1){v.splice(p,0,f)}else{v.splice(p+1,0,f)}}return{dataList:d,dragNodeData:Y(i,d,t)}};var Y=function r(t,n,a){var i;var l=a.value;var s=a.children;P.walkThroughTree((i={},i[l]=undefined,i[s]=n,i),(function(e,r,t){e["__index"]=r;e["__parentId"]=t==null?void 0:t[l]}),s);var u=e(n,s);var o=u.find((function(e){return e[l]===t}));return{parentId:o==null?void 0:o["__parentId"],id:o==null?void 0:o[l],index:o==null?void 0:o["__index"]}};var G=["style","serviceConfig","effectDependencyList","selectorTreeList","value","onChange","modelKey","checkableResponseParentNode","checkable","onSelectorTreeListChange","onRequestResponseChange","treeItemDataAdapter","searchValue","showSearch","searchPlaceholder","requestMessageConfig","labelInValueFieldNames","labelInValue","disabledCanUse","menuLayoutType","menuTriggerType","initRootExpand","searchResultType","onDropNodeHandle","onDropPrev","labelRender","searchStyle","className","defaultExpandAll","menus","customSearchRule"];var W=C((function(e,r){var t=e.style,i=e.serviceConfig,s=e.effectDependencyList,C=e.selectorTreeList,P=e.value,A=e.onChange,M=e.modelKey,O=e.checkableResponseParentNode,V=O===void 0?true:O,K=e.checkable,Y=e.onSelectorTreeListChange,W=e.onRequestResponseChange,J=e.treeItemDataAdapter,Q=e.searchValue,X=e.showSearch,Z=e.searchPlaceholder,$=e.requestMessageConfig,ee=e.labelInValueFieldNames,re=e.labelInValue,te=e.disabledCanUse,ne=e.menuLayoutType,ae=e.menuTriggerType,ie=e.initRootExpand,le=e.searchResultType,se=e.onDropNodeHandle,ue=e.onDropPrev,oe=e.labelRender,ce=e.searchStyle,de=e.className,fe=e.defaultExpandAll,ve=e.menus,pe=e.customSearchRule,me=p(e,G);var he=e.hasOwnProperty("selectorTreeList");var ge=i||{};var ye=s||[];var be=w([]),Le=be[0],Ce=be[1];var we=F(M).useStore(),je=we[0],Re=we[1];var Ne=T.useSafeState(false),qe=Ne[0],Se=Ne[1];var ke="request-progress-"+e.modelKey;var xe=j((function(){return m({label:"label",value:"value",children:"children"},e.fieldNames)}),[e.fieldNames]);var Te=ne===undefined?"fold":ne;var De=ae===undefined?"click":ae;var Ee=R(true);var Pe=j((function(){return m({label:"label",value:"value"},ee)}),[ee]);var Ae=w(),_e=Ae[0],Ie=Ae[1];var Me=R();var Oe=j((function(){return H(P,Pe)}),[Pe,P]);T.useEffectCustom((function(){if(je.treeList.length>0){if(Ee.current){Ee.current=false;if(fe){Ce(U(je.treeList,xe));return}else if(ie&&je.treeList.length){Ce([je.treeList[0][xe.value]]);return}}if(!n(P)){var e=ze(Oe,true);Ce(Array.from(new Set(Le==null?void 0:Le.concat(e))))}}}),[P,je.treeList,Oe]);var Ve=function e(r){return r===""||n(r)};var Fe=function e(r){if(ge.onRequestResultAdapter){return ge.onRequestResultAdapter(r)}if(xe.list){return v(r,xe.list,[])||[]}if(!l(r)){console.warn("接口返回数据为非数组结构,确认是否需要配置fieldNames.list进行解析");return[]}return r};T.useEffectCustom((function(){Ie(Q)}),[Q]);var Ke=f.useCallbackRef((function(){return new Promise((function(e,r){var t,n,a,i,l,s;var u=function(){try{return e()}catch(e){return r(e)}};var o=function(e){try{Ee.current=false;Se(false);void L.error(e.message||"数据查询异常...");return u()}catch(e){return r(e)}};try{if(!ge.onRequest){throw new Error("onRequest 调用接口服务不能为空")}t=ge.requiredParamsKeys;n=d({},ge.params);if(t){a=t.find((function(e){return Ve(n[e])}));if(a){void Re.changeRequestStatus({status:"no-dependencies-params"});console.warn("TreeWrapper组件:参数:"+t.join("、")+"不能为空");return e()}}var c=function(){try{return u()}catch(e){return o(e)}};var f=function(e){try{window[ke]=false;Se(false);void Re.changeRequestStatus({status:"request-error",errorMessage:e.message});return c()}catch(e){return o(e)}};try{Se(true);return Promise.resolve(Re.changeRequestStatus({status:"request-progress"})).then((function(e){try{window[ke]=true;return Promise.resolve(ge.onRequest==null?void 0:ge.onRequest(n)).then((function(e){try{i=e;W==null?void 0:W(i);l=Fe(i);s=l||[];if(s.length===0){Ee.current=false}Ue(s);Se(false);window[ke]=false;return c()}catch(e){return f(e)}}),f)}catch(e){return f(e)}}),f)}catch(e){f(e)}}catch(e){o(e)}}))}));T.useEffectCustom((function(){if(he)return;if(ye.length){void Ke();return}var e=F(M).getState();if(e.requestStatus==="request-success"){Y==null?void 0:Y(e.treeList);return}if(!window[ke]){void Ke()}else{Y==null?void 0:Y(e.treeList)}}),ye);T.useEffectCustom((function(){if(he){Ue(C||[])}}),[C]);var Ue=f.useCallbackRef((function(e){if((e==null?void 0:e.length)===0&&je.treeList.length===0){void Re.changeRequestStatus({status:"request-success"});return}void Re.setTreeList({treeList:e||[],childrenName:xe.children});Y==null?void 0:Y(e)}));var ze=function e(r,t){var n=[];r.forEach((function(e){if(!t&&Le!=null&&Le.includes(e))return;var r=z(e,je.treeList,xe);n=n.concat(r)}));return n};f.useUpdateEffect((function(){if(_e){var e=je.treeTiledArray.filter((function(e){var r=e[xe.label]||"";if(pe){return pe(e,_e)}return String(r).toLowerCase().includes(_e.toLowerCase())}));var r=ze(e.map((function(e){return e[xe.value]})),true);Ce(Array.from(new Set(r)))}else{Ce([])}}),[_e]);N(r,(function(){return{onClearSelectorList:function e(){void Re.resetTreeList()},getTreeDataList:function e(){return je.treeList},onChangeExpandedKeys:function e(r){Ce(r)}}}));var He=f.useCallbackRef((function(e){Ce(e)}));var Be=f.useCallbackRef((function(e,r,t,a){Me.current=e;var i=n(r)?[]:l(r)?r:[r];if(n(e)){A==null?void 0:A(e,r,t);return}if(re){var s=Pe.label;var u=Pe.value;var o=i.map((function(e){var r;return r={},r[s]=e[xe.label],r[u]=e[xe.value],r}));if(l(e)){A==null?void 0:A(o,i,t,a)}else{A==null?void 0:A(o[0],i[0],t,a)}}else{if(l(e)){A==null?void 0:A(e,i,t,a)}else{A==null?void 0:A(e,i[0],t,a)}}}));var Ye=f.useCallbackRef((function(r,t){var a=n(r)?[]:r;a=e.checkStrictly?r.checked:r;a=l(a)?a:[a];var i=[];var s=[];var u=[];var o=[];a.forEach((function(e){var r=je.treeTiledArray.find((function(r){return r[xe.value]===e}));if(!r)return;var t=r==null?void 0:r[xe.children];if(!l(t)||t.length===0){i.push(r);s.push(r[xe.value])}u.push(r);o.push(r[xe.value])}));if(K){Ce((function(e){var r=ze(s).concat(e||[]);return Array.from(new Set(r))}));if(!V&&!e.checkStrictly){Be(s,i,u,t)}else{Be(o,u,u,t)}}else{if(a[0]){var c=u.find((function(e){return e[xe.value]===a[0]}));Be(a[0],c,[c],t)}else{var d=t.node[xe.value];var f=je.treeTiledArray.find((function(e){return e[xe.value]===d}));Be(undefined,f,[f],t)}}}));var Ge=f.useCallbackRef((function(e){return J==null?void 0:J(e)}));var We=j((function(){var e=h(je.treeList||[]);if(_e&&le!=="highlight"){return a(h(je.treeList||[]),(function(e){var r;if(pe){return pe(e,_e)}var t=(r=e[xe.label])==null?void 0:r.toLowerCase();return t.indexOf(_e.toLowerCase())>=0}),{childrenName:xe.children})}return e}),[xe.children,xe.label,le,je.treeList,_e]);var Je=j((function(){var e=function e(r){return r==null?void 0:r.map((function(r){var t;var n=(Ge==null?void 0:Ge(r))||r;var a=te?undefined:n.disabled;var i=n[xe.label];var s;if(_e){var u=i==null?void 0:i.toLowerCase();var o=u.indexOf(_e.toLowerCase());var d=u.substring(0,o);var f=u.slice(o+_e.length);var v=u.slice(o,o+_e.length);s=o>-1?_("span",{className:c({"v-tree-item-disabled":n.disabled}),children:[d,I("span",{className:"site-tree-search-value",children:v}),f]}):null}if(!s&&n.disabled){s=I("span",{className:c({"v-tree-item-disabled":n.disabled}),children:i})}var p=n[xe.children];return m({},n,(t={disabled:a},t[xe.label]=s||i,t._treeItemName=i,t._disabled=n.disabled,t[xe.children]=l(p)&&p.length>0?e(p):undefined,t))}))};return e(We)}),[We,Ge,te,xe.label,xe.children,_e]);var Qe=f.useCallbackRef((function(r){return new Promise((function(t,n){return new Promise((function(a,i){var l,s,u,o,c;if(r[xe.children]){t();return a()}var d=function(){try{return a()}catch(e){return i(e)}};var f=function(e){try{void L.error(e.message||"数据加载异常...");n();return d()}catch(e){return i(e)}};try{return Promise.resolve((l=e.loadDataServiceConfig)==null||l.onRequest==null?void 0:l.onRequest(((s=e.loadDataServiceConfig)==null||s.getParams==null?void 0:s.getParams(r))||{})).then((function(n){try{o=n;c=(u=e.loadDataServiceConfig)!=null&&u.onRequestResultAdapter?e.loadDataServiceConfig.onRequestResultAdapter(o):o;void Re.treeListAppendChildren({value:r[xe.value],appendList:c,childrenName:xe.children,valueName:xe.value}).then((function(e){Ue(e.treeList);t()}));return d()}catch(e){return f(e)}}),f)}catch(e){f(e)}}))}))}));var Xe=f.useCallbackRef((function(r){var t=r==null?void 0:r[xe.children];var n=e.loadDataFlag;var a=n?!r.isLeaf:false;var i=t&&t.length>0||a;return!i}));var Ze=f.useCallbackRef((function(r){var t,n,a;var i=r._treeItemName||r[xe.label];var l=ve==null?void 0:ve(m({},r,(t={},t[xe.label]=i,t)));if(l!=null&&l.operateList.length){return _(q,{children:[I("span",{className:"tree-item-title",children:(oe==null?void 0:oe(r))||(r==null?void 0:r[xe.label])}),I(k,m({gap:5},l,{dropdownMenuProps:m({placement:"bottomRight",isFixed:true},l==null?void 0:l.dropdownMenuProps),className:c("tree-item-title-operate",l.className)}))]})}if(Te==="fold"){var s;var u=[];if((s=e.menuOptions)!=null&&s.fold){var d,f,v;u=((d=e.menuOptions)==null||(f=d[Te])==null?void 0:f.call(d,m({},r,(v={},v[xe.label]=i,v))))||[]}else{var p;u=(e.getMenuOptions==null?void 0:e.getMenuOptions(m({},r,(p={},p[xe.label]=i,p))))||[]}return _(q,{children:[I("span",{className:"tree-item-title",children:(oe==null?void 0:oe(r))||(r==null?void 0:r[xe.label])}),u.length>0&&I(x,{menuList:u,placement:"bottomRight",children:I(o,{})})]})}var h=(n=e.menuOptions)==null||n.tile==null?void 0:n.tile(m({},r,(a={},a[xe.label]=i,a)));return _(q,{children:[I("span",{className:"tree-item-title",children:(oe==null?void 0:oe(r))||(r==null?void 0:r[xe.label])}),h?I(k,m({gap:5},h,{className:c("tree-item-title-operate",h.className)})):null]})}));var $e=f.useDebounceCallback((function(r){Ie(r);e.onSearchValueChange==null?void 0:e.onSearchValueChange(r)}),300);var er=f.useCallbackRef((function(e){$e(e.target.value)}));var rr=f.useCallbackRef((function(r){if(!e.icon)return null;if(S(e.icon))return e.icon;var t=Xe(r.data);return e.icon(m({},r,{isParent:!t,isLeaf:t}))}));var tr=j((function(){return{title:xe.label,key:xe.value,children:xe.children}}),[xe]);var nr=Je.length>0&&je.requestStatus!=="request-error";var ar=m({showLine:{showLeafIcon:false},titleRender:Ze,blockNode:true,switcherIcon:I(u,{}),onDrop:function e(r){if(ue){var t=ue(r);if(!t)return}var n=B(We,xe,r),a=n.dataList,i=n.dragNodeData;se==null?void 0:se(i);Ue(a)},expandedKeys:Le},me,{fieldNames:tr,treeData:Je,onExpand:He,loadData:e.loadDataFlag?Qe:undefined,style:{width:"100%"},icon:rr});var ir={onCheck:Ye,checkable:K,checkedKeys:Oe};var lr={onSelect:Ye,multiple:false,selectedKeys:Oe};var sr=K?ir:lr;var ur=c("v-tree-wrapper","v-tree-wrapper-menu-"+De,de);var or=je.treeList.length>0&&!nr&&_e;return _("div",{className:ur,style:t,children:[!!X&&_("div",{className:"v-tree-wrapper-search-area",style:ce,children:[I(D,{className:"v-tree-wrapper-search",placeholder:n(Z)?"搜索":Z,onChange:er,value:Q,allowClear:true}),!!e.searchExtraElement&&I("span",{className:"v-tree-wrapper-search-extra",children:e.searchExtraElement})]}),nr?_("div",{className:"v-tree-wrapper-tree-wrapper",children:[I(g,{spinning:je.requestStatus==="request-progress"}),I(y,m({},sr,ar,{className:"v-tree-wrapper-tree"}))]}):I(E,{status:je.requestStatus,loading:qe,messageConfig:m({"request-success":or?"搜索结果为空":"暂无数据","request-error":je.requestErrorMessage},$),errorButton:I(b,{type:"primary",onClick:Ke,children:"重新获取数据"})})]})}));W.defaultProps={disabledCanUse:true};var J=i(W,{getTreeDataList:K});export{J as TreeWrapper};
16
+ import{treeToArray as e,treeToTiledArray as r,treeLeafParentsArray as t,isUndefinedOrNull as n,treeFilter as a,attachPropertiesToComponent as i}from"@flatbiz/utils";import{isArray as l}from"@dimjs/lang/cjs/is-array";import{Model as s}from"@dimjs/model-react";import u from"@ant-design/icons/es/icons/CaretDownFilled";import o from"@ant-design/icons/es/icons/MoreOutlined";import{classNames as c}from"@dimjs/utils/cjs/class-names";import{extend as d}from"@dimjs/utils/cjs/extend";import{hooks as f}from"@wove/react/cjs/hooks";import{get as v}from"@dimjs/utils/cjs/get";import{a as p,_ as m}from"../_rollupPluginBabelHelpers-a0769acd.js";import{cloneState as h}from"@dimjs/model";import{Spin as g,Tree as y,Button as b,message as L}from"antd";import{forwardRef as C,useState as w,useMemo as j,useRef as R,useImperativeHandle as N,Fragment as q,isValidElement as S}from"react";import{ButtonOperate as k}from"../button-operate/index.js";import{DropdownMenuWrapper as x}from"../dropdown-menu-wrapper/index.js";import{fbaHooks as T}from"../fba-hooks/index.js";import{InputSearchWrapper as D}from"../input-search-wrapper/index.js";import{RequestStatus as E}from"../request-status/index.js";import{tree as P}from"@dimjs/utils/cjs/tree";import{isObject as A}from"@dimjs/lang/cjs/is-object";import"dequal";import{jsxs as _,jsx as I}from"react/jsx-runtime";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"../button-wrapper/index.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"../index-c7967f72.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-utils/index.js";import"@ant-design/icons/es/icons/ExclamationCircleFilled";import"../dialog-confirm/index.js";import"../dialog-modal/index.js";import"ahooks";import"react-dom/client";import"../flex-layout/index.js";import"../use-responsive-point-21b8c601.js";var M={treeList:[],treeTiledArray:[],queryIsEmpty:false};var O={actions:{setTreeList:function r(t){return function(r){r.treeList=t.treeList||[];r.treeTiledArray=e(r.treeList,t.childrenName);r.requestStatus="request-success"}},resetTreeList:function e(){return function(e){e.treeList=[];e.treeTiledArray=[]}},changeRequestStatus:function e(r){return function(e){e.requestStatus=r.status;if(r.status==="request-error"){e.treeList=[];e.treeTiledArray=[];e.requestErrorMessage=r.errorMessage||"数据查询异常"}else{e.requestErrorMessage=undefined}}},treeListAppendChildren:function r(t){return function(r){var n=e(r.treeList,t.childrenName);var a=n.find((function(e){return e[t.valueName]===t.value}));if(a){if(l(t.appendList)&&t.appendList.length>0){a[t.childrenName]=t.appendList}else{a.isLeaf=true}}r.treeTiledArray=e(r.treeList,t.childrenName)}}},state:M};var V={};var F=function e(r){if(!V[r]){V[r]=s(O)}return V[r]};var K=function e(r){var t=F(r).getState();return t.treeList};var U=function r(t,n){var a=e(t,n.children).filter((function(e){var r=e[n.children];return r&&r.length>0})).map((function(e){return e[n.value]}));return a};var z=function e(n,a,i){var l=r(a,i);return t(n,l,true,{value:"value",parentValue:"parentValue"}).filter((function(e){var r=e[i.children];return r&&r.length>0})).map((function(e){return e.value}))};var H=function e(r,t){var a=n(r)?[]:r;a=l(a)?a:[a];a=a.map((function(e){if(A(e))return e[t.value];return e}));return a};var B=function e(r,t,n){var a=n.node.key;var i=n.dragNode.key;var l=n.node.pos.split("-");var s=n.dropPosition-Number(l[l.length-1]);var u=t.value;var o=t.children;var c=function e(r,t,n){for(var a=0;a<r.length;a++){if(r[a][u]===t){return n(r[a],a,r)}if(r[a][o]){e(r[a][o],t,n)}}};var d=h(r);var f;c(d,i,(function(e,r,t){t.splice(r,1);f=e}));if(!n.dropToGap){c(d,a,(function(e){e[o]=e[o]||[];e[o].unshift(f)}))}else if((n.node.props.children||[]).length>0&&n.node.props.expanded&&s===1){c(d,a,(function(e){e[o]=e[o]||[];e[o].unshift(f)}))}else{var v=[];var p;c(d,a,(function(e,r,t){v=t;p=r}));if(s===-1){v.splice(p,0,f)}else{v.splice(p+1,0,f)}}return{dataList:d,dragNodeData:Y(i,d,t)}};var Y=function r(t,n,a){var i;var l=a.value;var s=a.children;P.walkThroughTree((i={},i[l]=undefined,i[s]=n,i),(function(e,r,t){e["__index"]=r;e["__parentId"]=t==null?void 0:t[l]}),s);var u=e(n,s);var o=u.find((function(e){return e[l]===t}));return{parentId:o==null?void 0:o["__parentId"],id:o==null?void 0:o[l],index:o==null?void 0:o["__index"]}};var G=["style","serviceConfig","effectDependencyList","selectorTreeList","value","onChange","modelKey","checkableResponseParentNode","checkable","onSelectorTreeListChange","onRequestResponseChange","treeItemDataAdapter","searchValue","showSearch","searchPlaceholder","requestMessageConfig","labelInValueFieldNames","labelInValue","disabledCanUse","menuLayoutType","menuTriggerType","initRootExpand","searchResultType","onDropNodeHandle","onDropPrev","labelRender","searchStyle","className","defaultExpandAll","menus","customSearchRule"];var W=C((function(e,r){var t=e.style,i=e.serviceConfig,s=e.effectDependencyList,C=e.selectorTreeList,P=e.value,A=e.onChange,M=e.modelKey,O=e.checkableResponseParentNode,V=O===void 0?true:O,K=e.checkable,Y=e.onSelectorTreeListChange,W=e.onRequestResponseChange,J=e.treeItemDataAdapter,Q=e.searchValue,X=e.showSearch,Z=e.searchPlaceholder,$=e.requestMessageConfig,ee=e.labelInValueFieldNames,re=e.labelInValue,te=e.disabledCanUse,ne=e.menuLayoutType,ae=e.menuTriggerType,ie=e.initRootExpand,le=e.searchResultType,se=e.onDropNodeHandle,ue=e.onDropPrev,oe=e.labelRender,ce=e.searchStyle,de=e.className,fe=e.defaultExpandAll,ve=e.menus,pe=e.customSearchRule,me=p(e,G);var he=e.hasOwnProperty("selectorTreeList");var ge=i||{};var ye=s||[];var be=w([]),Le=be[0],Ce=be[1];var we=F(M).useStore(),je=we[0],Re=we[1];var Ne=T.useSafeState(false),qe=Ne[0],Se=Ne[1];var ke="request-progress-"+e.modelKey;var xe=j((function(){return m({label:"label",value:"value",children:"children"},e.fieldNames)}),[e.fieldNames]);var Te=ne===undefined?"fold":ne;var De=ae===undefined?"click":ae;var Ee=R(true);var Pe=j((function(){return m({label:"label",value:"value"},ee)}),[ee]);var Ae=w(),_e=Ae[0],Ie=Ae[1];var Me=R();var Oe=j((function(){return H(P,Pe)}),[Pe,P]);T.useEffectCustom((function(){if(je.treeList.length>0){if(Ee.current){Ee.current=false;if(fe){Ce(U(je.treeList,xe));return}else if(ie&&je.treeList.length){Ce([je.treeList[0][xe.value]]);return}}if(!n(P)){var e=ze(Oe,true);Ce(Array.from(new Set(Le==null?void 0:Le.concat(e))))}}}),[P,je.treeList,Oe]);var Ve=function e(r){return r===""||n(r)};var Fe=function e(r){if(ge.onRequestResultAdapter){return ge.onRequestResultAdapter(r)}if(xe.list){return v(r,xe.list,[])||[]}if(!l(r)){console.warn("接口返回数据为非数组结构,确认是否需要配置fieldNames.list进行解析");return[]}return r};T.useEffectCustom((function(){Ie(Q)}),[Q]);var Ke=f.useCallbackRef((function(){return new Promise((function(e,r){var t,n,a,i,l,s;var u=function(){try{return e()}catch(e){return r(e)}};var o=function(e){try{Ee.current=false;Se(false);void L.error(e.message||"数据查询异常...");return u()}catch(e){return r(e)}};try{if(!ge.onRequest){throw new Error("onRequest 调用接口服务不能为空")}t=ge.requiredParamsKeys;n=d({},ge.params);if(t){a=t.find((function(e){return Ve(n[e])}));if(a){void Re.changeRequestStatus({status:"no-dependencies-params"});console.warn("TreeWrapper组件:参数:"+t.join("、")+"不能为空");return e()}}var c=function(){try{return u()}catch(e){return o(e)}};var f=function(e){try{window[ke]=false;Se(false);void Re.changeRequestStatus({status:"request-error",errorMessage:e.message});return c()}catch(e){return o(e)}};try{Se(true);return Promise.resolve(Re.changeRequestStatus({status:"request-progress"})).then((function(e){try{window[ke]=true;return Promise.resolve(ge.onRequest==null?void 0:ge.onRequest(n)).then((function(e){try{i=e;W==null?void 0:W(i);l=Fe(i);s=l||[];if(s.length===0){Ee.current=false}Ue(s);Se(false);window[ke]=false;return c()}catch(e){return f(e)}}),f)}catch(e){return f(e)}}),f)}catch(e){f(e)}}catch(e){o(e)}}))}));T.useEffectCustom((function(){if(he)return;if(ye.length){void Ke();return}var e=F(M).getState();if(e.requestStatus==="request-success"){Y==null?void 0:Y(e.treeList);return}if(!window[ke]){void Ke()}else{Y==null?void 0:Y(e.treeList)}}),ye);T.useEffectCustom((function(){if(he){Ue(C||[])}}),[C]);var Ue=f.useCallbackRef((function(e){if((e==null?void 0:e.length)===0&&je.treeList.length===0){void Re.changeRequestStatus({status:"request-success"});return}void Re.setTreeList({treeList:e||[],childrenName:xe.children});Y==null?void 0:Y(e)}));var ze=function e(r,t){var n=[];r.forEach((function(e){if(!t&&Le!=null&&Le.includes(e))return;var r=z(e,je.treeList,xe);n=n.concat(r)}));return n};f.useUpdateEffect((function(){if(_e){var e=je.treeTiledArray.filter((function(e){var r=e[xe.label]||"";if(pe){return pe(e,_e)}return String(r).toLowerCase().includes(_e.toLowerCase())}));var r=ze(e.map((function(e){return e[xe.value]})),true);Ce(Array.from(new Set(r)))}else{Ce([])}}),[_e]);N(r,(function(){return{onClearSelectorList:function e(){void Re.resetTreeList()},getTreeDataList:function e(){return je.treeList},onChangeExpandedKeys:function e(r){Ce(r)}}}));var He=f.useCallbackRef((function(e){Ce(e)}));var Be=f.useCallbackRef((function(e,r,t,a){Me.current=e;var i=n(r)?[]:l(r)?r:[r];if(n(e)){A==null?void 0:A(e,r,t);return}if(re){var s=Pe.label;var u=Pe.value;var o=i.map((function(e){var r;return r={},r[s]=e[xe.label],r[u]=e[xe.value],r}));if(l(e)){A==null?void 0:A(o,i,t,a)}else{A==null?void 0:A(o[0],i[0],t,a)}}else{if(l(e)){A==null?void 0:A(e,i,t,a)}else{A==null?void 0:A(e,i[0],t,a)}}}));var Ye=f.useCallbackRef((function(r,t){var a=n(r)?[]:r;a=e.checkStrictly?r.checked:r;a=l(a)?a:[a];var i=[];var s=[];var u=[];var o=[];a.forEach((function(e){var r=je.treeTiledArray.find((function(r){return r[xe.value]===e}));if(!r)return;var t=r==null?void 0:r[xe.children];if(!l(t)||t.length===0){i.push(r);s.push(r[xe.value])}u.push(r);o.push(r[xe.value])}));if(K){Ce((function(e){var r=ze(s).concat(e||[]);return Array.from(new Set(r))}));if(!V&&!e.checkStrictly){Be(s,i,u,t)}else{Be(o,u,u,t)}}else{if(a[0]){var c=u.find((function(e){return e[xe.value]===a[0]}));Be(a[0],c,[c],t)}else{var d=t.node[xe.value];var f=je.treeTiledArray.find((function(e){return e[xe.value]===d}));Be(undefined,f,[f],t)}}}));var Ge=f.useCallbackRef((function(e){return J==null?void 0:J(e)}));var We=j((function(){var e=h(je.treeList||[]);if(_e&&le!=="highlight"){return a(h(je.treeList||[]),(function(e){var r;if(pe){return pe(e,_e)}var t=(r=e[xe.label])==null?void 0:r.toLowerCase();return t.indexOf(_e.toLowerCase())>=0}),{childrenName:xe.children})}return e}),[xe.children,xe.label,le,je.treeList,_e]);var Je=j((function(){var e=function e(r){return r==null?void 0:r.map((function(r){var t;var n=(Ge==null?void 0:Ge(r))||r;var a=te?undefined:n.disabled;var i=n[xe.label];var s;if(_e){var u=i==null?void 0:i.toLowerCase();var o=u.indexOf(_e.toLowerCase());var d=u.substring(0,o);var f=u.slice(o+_e.length);var v=u.slice(o,o+_e.length);s=o>-1?_("span",{className:c({"v-tree-item-disabled":n.disabled}),children:[d,I("span",{className:"site-tree-search-value",children:v}),f]}):null}if(!s&&n.disabled){s=I("span",{className:c({"v-tree-item-disabled":n.disabled}),children:i})}var p=n[xe.children];return m({},n,(t={disabled:a},t[xe.label]=s||i,t._treeItemName=i,t._disabled=n.disabled,t[xe.children]=l(p)&&p.length>0?e(p):undefined,t))}))};return e(We)}),[We,Ge,te,xe.label,xe.children,_e]);var Qe=f.useCallbackRef((function(r){return new Promise((function(t,n){return new Promise((function(a,i){var l,s,u,o,c;if(r[xe.children]){t();return a()}var d=function(){try{return a()}catch(e){return i(e)}};var f=function(e){try{void L.error(e.message||"数据加载异常...");n();return d()}catch(e){return i(e)}};try{return Promise.resolve((l=e.loadDataServiceConfig)==null||l.onRequest==null?void 0:l.onRequest(((s=e.loadDataServiceConfig)==null||s.getParams==null?void 0:s.getParams(r))||{})).then((function(n){try{o=n;c=(u=e.loadDataServiceConfig)!=null&&u.onRequestResultAdapter?e.loadDataServiceConfig.onRequestResultAdapter(o):o;void Re.treeListAppendChildren({value:r[xe.value],appendList:c,childrenName:xe.children,valueName:xe.value}).then((function(e){Ue(e.treeList);t()}));return d()}catch(e){return f(e)}}),f)}catch(e){f(e)}}))}))}));var Xe=f.useCallbackRef((function(r){var t=r==null?void 0:r[xe.children];var n=e.loadDataFlag;var a=n?!r.isLeaf:false;var i=t&&t.length>0||a;return!i}));var Ze=f.useCallbackRef((function(r){var t,n,a;var i=r._treeItemName||r[xe.label];var l=ve==null?void 0:ve(m({},r,(t={},t[xe.label]=i,t)));if(l!=null&&l.operateList.length){return _(q,{children:[I("span",{className:"tree-item-title",children:(oe==null?void 0:oe(r))||(r==null?void 0:r[xe.label])}),I(k,m({gap:5},l,{dropdownMenuProps:m({placement:"bottomRight",isFixed:true},l==null?void 0:l.dropdownMenuProps),className:c("tree-item-title-operate",l.className)}))]})}if(Te==="fold"){var s;var u=[];if((s=e.menuOptions)!=null&&s.fold){var d,f,v;u=((d=e.menuOptions)==null||(f=d[Te])==null?void 0:f.call(d,m({},r,(v={},v[xe.label]=i,v))))||[]}else{var p;u=(e.getMenuOptions==null?void 0:e.getMenuOptions(m({},r,(p={},p[xe.label]=i,p))))||[]}return _(q,{children:[I("span",{className:"tree-item-title",children:(oe==null?void 0:oe(r))||(r==null?void 0:r[xe.label])}),u.length>0&&I(x,{menuList:u,placement:"bottomRight",children:I(o,{})})]})}var h=(n=e.menuOptions)==null||n.tile==null?void 0:n.tile(m({},r,(a={},a[xe.label]=i,a)));return _(q,{children:[I("span",{className:"tree-item-title",children:(oe==null?void 0:oe(r))||(r==null?void 0:r[xe.label])}),h?I(k,m({gap:5},h,{className:c("tree-item-title-operate",h.className)})):null]})}));var $e=f.useDebounceCallback((function(r){Ie(r);e.onSearchValueChange==null?void 0:e.onSearchValueChange(r)}),300);var er=f.useCallbackRef((function(e){$e(e.target.value)}));var rr=f.useCallbackRef((function(r){if(!e.icon)return null;if(S(e.icon))return e.icon;var t=Xe(r.data);return e.icon(m({},r,{isParent:!t,isLeaf:t}))}));var tr=j((function(){return{title:xe.label,key:xe.value,children:xe.children}}),[xe]);var nr=Je.length>0&&je.requestStatus!=="request-error";var ar=m({showLine:{showLeafIcon:false},titleRender:Ze,blockNode:true,switcherIcon:I(u,{}),onDrop:function e(r){if(ue){var t=ue(r);if(!t)return}var n=B(We,xe,r),a=n.dataList,i=n.dragNodeData;se==null?void 0:se(i);Ue(a)},expandedKeys:Le},me,{fieldNames:tr,treeData:Je,onExpand:He,loadData:e.loadDataFlag?Qe:undefined,style:{width:"100%"},icon:rr});var ir={onCheck:Ye,checkable:K,checkedKeys:Oe};var lr={onSelect:Ye,multiple:false,selectedKeys:Oe};var sr=K?ir:lr;var ur=c("v-tree-wrapper","v-tree-wrapper-menu-"+De,de);var or=je.treeList.length>0&&!nr&&_e;return _("div",{className:ur,style:t,children:[!!X&&_("div",{className:"v-tree-wrapper-search-area",style:ce,children:[I(D,{className:"v-tree-wrapper-search",placeholder:n(Z)?"搜索":Z,onChange:er,value:Q,allowClear:true}),!!e.searchExtraElement&&I("span",{className:"v-tree-wrapper-search-extra",children:e.searchExtraElement})]}),nr?_("div",{className:"v-tree-wrapper-tree-wrapper",children:[I(g,{spinning:je.requestStatus==="request-progress"}),I(y,m({},sr,ar,{className:"v-tree-wrapper-tree"}))]}):I(E,{status:je.requestStatus,loading:qe,messageConfig:m({"request-success":or?"搜索结果为空":"暂无数据","request-error":je.requestErrorMessage},$),errorButton:I(b,{type:"primary",onClick:Ke,children:"重新获取数据"})})]})}));W.defaultProps={disabledCanUse:true};var J=i(W,{getTreeDataList:K});export{J as TreeWrapper};
17
17
  //# 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 r from"@ant-design/icons/es/icons/PlusOutlined";import{a as e,_ as i}from"../_rollupPluginBabelHelpers-a0769acd.js";import{classNames as n}from"@dimjs/utils/cjs/class-names";import{hooks as t}from"@wove/react/cjs/hooks";import{isPlainObject as a}from"@dimjs/lang/cjs/is-plain-object";import{extend as s}from"@dimjs/utils/cjs/extend";import{isUndefinedOrNull as o,toArray as u}from"@flatbiz/utils";import{message as l,Upload as d,Button as f}from"antd";import{useState as m,useMemo as c,Fragment as p}from"react";import{flushSync as v}from"react-dom";import{fbaHooks as g}from"../fba-hooks/index.js";import{jsx as h,jsxs as x}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-array";import"../use-responsive-point-21b8c601.js";var j=["onChange","onUploadError","value","triggerText","limitHidden"];var C=function r(f){var p=f.onChange,x=f.onUploadError,C=f.value,y=f.triggerText,b=f.limitHidden,O=e(f,j);var R=o(C)?undefined:u(C);var E=m(),U=E[0],k=E[1];var D=s({uid:"uid",name:"name",url:"url"},f.fieldNames);g.useEffectCustom((function(){var r=(U==null?void 0:U.filter((function(r){return r["status"]==="error"})))||[];var e=(R==null?void 0:R.map((function(r){return{uid:r[D.uid],name:r[D.name],url:r[D.url],status:"done",isOriginal:true,responseData:r["responseData"]}})))||[];if(r.length>0){var i=r.map((function(r){return{uid:r.uid,name:r.name,status:"error",isOriginal:true,response:r["response"]}}));e=e.concat(i)}k(e)}),[D.name,D.uid,D.url,R]);var H=function r(e){var i=[];var n=false;e.forEach((function(r){if(r["isOriginal"]){if(r["status"]!=="error"){var e;i.push((e={},e[D.uid]=r.uid,e[D.name]=r.name,e[D.url]=r.url,e))}}else if(a(r.response)){if(r.response.code==="0000"){var t;var s=r.response.data;var o=(f.onRequestResultAdapter==null?void 0:f.onRequestResultAdapter(s))||s;i.push((t={},t[D.uid]=o[D.uid]||r.uid,t[D.name]=o[D.name]||r.name,t[D.url]=o[D.url],t.responseData=s,t))}else{var u=r.response.message||"上传失败";n=true;r.status="error";r.response=r.response.message||"上传失败";if(x){x==null?void 0:x(u)}else{void l.error("上传操作失败...")}}}}));if(n){k([].concat(e))}p==null?void 0:p(i)};var L=t.useCallbackRef((function(r){var e=r.fileList;if(r.file.status==="done"){var i=[].concat(r.fileList);var n=i.filter((function(r){return r.status==="done"||r["isOriginal"]}));var t=n.length===i.length;if(t){H(i)}v((function(){return k(i)}));return}else if(r.file.status==="removed"){var a=r.file.uid;var s=R!==undefined?[].concat(R):[];var o=s.findIndex((function(r){var e=r[D.uid];return e===a}));if(o>=0){s.splice(o,1)}p==null?void 0:p(s)}else if(r.file.status==="error"){if(x){x()}else{void l.error("上传操作失败...")}}k([].concat(e));f.onUploadChange==null?void 0:f.onUploadChange(r)}));var N=c((function(){if(O.maxCount===undefined||!b)return false;if(O.maxCount===0)return true;if(U&&U.length>=O.maxCount)return true;return false}),[b,O.maxCount,U]);return h(d,i({},O,{onChange:L,fileList:U,className:n("v-upload-wrapper",O.className),children:O.disabled||N?null:h(T,{triggerText:y,listType:O.listType,children:f.children})}))};var T=function e(i){if(i.children)return h(p,{children:i.children});if(i.listType==="picture-card"){return x("div",{children:[h(r,{}),h("div",{style:{marginTop:8},children:i.triggerText||"上传图片"})]})}if(i.listType==="picture"){return h(f,{type:"primary",ghost:true,children:i.triggerText||"选择图片上传"})}return h(f,{type:"primary",ghost:true,children:i.triggerText||"选择文件上传"})};export{C as UploadWrapper};
5
+ import r from"@ant-design/icons/es/icons/PlusOutlined";import{a as e,_ as i}from"../_rollupPluginBabelHelpers-a0769acd.js";import{classNames as n}from"@dimjs/utils/cjs/class-names";import{hooks as t}from"@wove/react/cjs/hooks";import{isPlainObject as a}from"@dimjs/lang/cjs/is-plain-object";import{extend as o}from"@dimjs/utils/cjs/extend";import{isUndefinedOrNull as s,toArray as u}from"@flatbiz/utils";import{message as l,Upload as d,Button as f}from"antd";import{useState as m,useMemo as c,Fragment as p}from"react";import{flushSync as v}from"react-dom";import{fbaHooks as g}from"../fba-hooks/index.js";import{jsx as h,jsxs as x}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-array";import"../use-responsive-point-21b8c601.js";var j=["onChange","onUploadError","value","triggerText","limitHidden","autoSubmit"];var C=function r(f){var p=f.onChange,x=f.onUploadError,C=f.value,y=f.triggerText,b=f.limitHidden,O=f.autoSubmit,R=e(f,j);var U=s(C)?undefined:u(C);var E=m(),k=E[0],D=E[1];var H=o({uid:"uid",name:"name",url:"url"},f.fieldNames);g.useEffectCustom((function(){var r=(k==null?void 0:k.filter((function(r){return r["status"]==="error"})))||[];var e=(U==null?void 0:U.map((function(r){return{uid:r[H.uid],name:r[H.name],url:r[H.url],status:"done",isOriginal:true,responseData:r["responseData"]}})))||[];if(r.length>0){var i=r.map((function(r){return{uid:r.uid,name:r.name,status:"error",isOriginal:true,response:r["response"]}}));e=e.concat(i)}D(e)}),[H.name,H.uid,H.url,U]);var L=function r(e){var i=[];var n=false;e.forEach((function(r){if(r["isOriginal"]){if(r["status"]!=="error"){var e;i.push((e={},e[H.uid]=r.uid,e[H.name]=r.name,e[H.url]=r.url,e))}}else if(a(r.response)){if(r.response.code==="0000"){var t;var o=r.response.data;var s=(f.onRequestResultAdapter==null?void 0:f.onRequestResultAdapter(o))||o;i.push((t={},t[H.uid]=s[H.uid]||r.uid,t[H.name]=s[H.name]||r.name,t[H.url]=s[H.url],t.responseData=o,t))}else{var u=r.response.message||"上传失败";n=true;r.status="error";r.response=r.response.message||"上传失败";if(x){x==null?void 0:x(u)}else{void l.error("上传操作失败...")}}}}));if(n){D([].concat(e))}p==null?void 0:p(i)};var N=t.useCallbackRef((function(r){var e=r.fileList;if(r.file.status==="done"){var i=[].concat(r.fileList);var n=i.filter((function(r){return r.status==="done"||r["isOriginal"]}));var t=n.length===i.length;if(t){L(i)}v((function(){return D(i)}));return}else if(r.file.status==="removed"){var a=r.file.uid;var o=U!==undefined?[].concat(U):[];var s=o.findIndex((function(r){var e=r[H.uid];return e===a}));if(s>=0){o.splice(s,1)}p==null?void 0:p(o)}else if(r.file.status==="error"){if(x){x()}else{void l.error("上传操作失败...")}}D([].concat(e));f.onUploadChange==null?void 0:f.onUploadChange(r)}));var q=c((function(){if(R.maxCount===undefined||!b)return false;if(R.maxCount===0)return true;if(k&&k.length>=R.maxCount)return true;return false}),[b,R.maxCount,k]);var w=function r(e,i){if(O===false){var n=[].concat(k||[],i);D(n);f.onChange==null?void 0:f.onChange(n);return false}return true};return h(d,i({beforeUpload:w},R,{onChange:N,fileList:k,className:n("v-upload-wrapper",R.className),children:R.disabled||q?null:h(T,{triggerText:y,listType:R.listType,children:f.children})}))};var T=function e(i){if(i.children)return h(p,{children:i.children});if(i.listType==="picture-card"){return x("div",{children:[h(r,{}),h("div",{style:{marginTop:8},children:i.triggerText||"上传图片"})]})}if(i.listType==="picture"){return h(f,{type:"primary",ghost:true,children:i.triggerText||"选择图片上传"})}return h(f,{type:"primary",ghost:true,children:i.triggerText||"选择文件上传"})};export{C as UploadWrapper};
6
6
  //# sourceMappingURL=index.js.map