@flatbiz/antd 4.2.51 → 4.2.53

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 (69) hide show
  1. package/esm/button-operate/index.js +1 -1
  2. package/esm/{button-operate-deb2cd63.js → button-operate-fb40320e.js} +2 -2
  3. package/esm/{button-operate-deb2cd63.js.map → button-operate-fb40320e.js.map} +1 -1
  4. package/esm/button-wrapper/index.js +1 -1
  5. package/esm/{button-wrapper-e8fa0aac.js → button-wrapper-125fce50.js} +2 -2
  6. package/esm/{button-wrapper-e8fa0aac.js.map → button-wrapper-125fce50.js.map} +1 -1
  7. package/esm/cascader-wrapper/index.js +1 -1
  8. package/esm/{cascader-wrapper-db4a5382.js → cascader-wrapper-a965eef5.js} +2 -2
  9. package/esm/{cascader-wrapper-db4a5382.js.map → cascader-wrapper-a965eef5.js.map} +1 -1
  10. package/esm/{cell-render-cf211bab.js → cell-render-2a3743af.js} +2 -2
  11. package/esm/{cell-render-cf211bab.js.map → cell-render-2a3743af.js.map} +1 -1
  12. package/esm/dialog-alert/index.js +1 -1
  13. package/esm/{dialog-alert-c9779a72.js → dialog-alert-89d37729.js} +2 -2
  14. package/esm/{dialog-alert-c9779a72.js.map → dialog-alert-89d37729.js.map} +1 -1
  15. package/esm/dialog-confirm/index.js +1 -1
  16. package/esm/{dialog-confirm-24107a78.js → dialog-confirm-74fc9337.js} +2 -2
  17. package/esm/{dialog-confirm-24107a78.js.map → dialog-confirm-74fc9337.js.map} +1 -1
  18. package/esm/dialog-drawer/index.js +1 -1
  19. package/esm/{dialog-drawer-3e6a39bf.js → dialog-drawer-7cb5c6df.js} +2 -2
  20. package/esm/{dialog-drawer-3e6a39bf.js.map → dialog-drawer-7cb5c6df.js.map} +1 -1
  21. package/esm/dialog-modal/index.js +1 -1
  22. package/esm/{dialog-modal-67b7a643.js → dialog-modal-4a0c72c5.js} +2 -2
  23. package/esm/{dialog-modal-67b7a643.js.map → dialog-modal-4a0c72c5.js.map} +1 -1
  24. package/esm/drag-collapse/index.css +1 -0
  25. package/esm/drag-collapse/index.js +8 -0
  26. package/esm/drag-collapse/index.js.map +1 -0
  27. package/esm/drag-collapse-8d751c2b.js +3 -0
  28. package/esm/drag-collapse-8d751c2b.js.map +1 -0
  29. package/esm/drag-drop/index.css +1 -0
  30. package/esm/drag-drop/index.js +6 -0
  31. package/esm/drag-drop/index.js.map +1 -0
  32. package/esm/drag-drop-multi/index.css +0 -0
  33. package/esm/drag-drop-multi/index.js +5 -0
  34. package/esm/drag-drop-multi/index.js.map +1 -0
  35. package/esm/drag-drop-multi-e8cae136.js +3 -0
  36. package/esm/drag-drop-multi-e8cae136.js.map +1 -0
  37. package/esm/dropdown-menu-wrapper/index.js +1 -1
  38. package/esm/dropdown-menu-wrapper-98347af8.js +3 -0
  39. package/esm/dropdown-menu-wrapper-98347af8.js.map +1 -0
  40. package/esm/droppable-item-708ec229.js +3 -0
  41. package/esm/droppable-item-708ec229.js.map +1 -0
  42. package/esm/easy-table/index.js +1 -1
  43. package/esm/editable-field/index.js +1 -1
  44. package/esm/{editable-field-7f30db8e.js → editable-field-6801d833.js} +2 -2
  45. package/esm/{editable-field-7f30db8e.js.map → editable-field-6801d833.js.map} +1 -1
  46. package/esm/editable-table/index.js +1 -1
  47. package/esm/{editable-table-bc58c0fc.js → editable-table-07ef34fa.js} +2 -2
  48. package/esm/{editable-table-bc58c0fc.js.map → editable-table-07ef34fa.js.map} +1 -1
  49. package/esm/form-item-group/index.js +1 -1
  50. package/esm/index.js +4 -1
  51. package/esm/local-loading/index.js +1 -1
  52. package/esm/selector-wrapper/index.js +1 -1
  53. package/esm/{selector-wrapper-8493b6fd.js → selector-wrapper-91427b7d.js} +2 -2
  54. package/esm/{selector-wrapper-8493b6fd.js.map → selector-wrapper-91427b7d.js.map} +1 -1
  55. package/esm/selector-wrapper-search/index.js +1 -1
  56. package/esm/{selector-wrapper-search-70df2a1a.js → selector-wrapper-search-5d87e3b9.js} +2 -2
  57. package/esm/{selector-wrapper-search-70df2a1a.js.map → selector-wrapper-search-5d87e3b9.js.map} +1 -1
  58. package/esm/selector-wrapper-simple/index.js +1 -1
  59. package/esm/{selector-wrapper-simple-7b34f7bd.js → selector-wrapper-simple-1c0ceae7.js} +2 -2
  60. package/esm/{selector-wrapper-simple-7b34f7bd.js.map → selector-wrapper-simple-1c0ceae7.js.map} +1 -1
  61. package/esm/table-cell-render/index.js +1 -1
  62. package/esm/text-overflow-render/index.js +1 -1
  63. package/esm/{text-overflow-render-bba0b7f4.js → text-overflow-render-7a6541f5.js} +2 -2
  64. package/esm/{text-overflow-render-bba0b7f4.js.map → text-overflow-render-7a6541f5.js.map} +1 -1
  65. package/esm/tree-wrapper/index.js +1 -1
  66. package/index.d.ts +112 -1
  67. package/package.json +4 -3
  68. package/esm/dropdown-menu-wrapper-3bffcb23.js +0 -3
  69. package/esm/dropdown-menu-wrapper-3bffcb23.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"selector-wrapper-search-70df2a1a.js","sources":["@flatbiz/antd/src/selector-wrapper-search/selector-wrapper-search.tsx"],"sourcesContent":["import { RedoOutlined } from '@ant-design/icons';\nimport { isArray } from '@dimjs/lang';\nimport { get } from '@dimjs/utils';\nimport { TAny, TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Button, Select, SelectProps } from 'antd';\nimport { ReactElement, useMemo, useState } from 'react';\nimport { RequestStatus, TRequestStatus, TRequestStatusProps } from '../request-status';\n\nexport type SelectorWrapperSearchServiceConfig = {\n params?: TPlainObject;\n onRequest: (params?: TAny) => TAny;\n onRequestResultAdapter?: (respData: TAny) => TPlainObject[];\n};\n\nexport type SelectorWrapperSearchProps = Omit<\n SelectProps,\n 'onSearch' | 'notFoundContent' | 'options' | 'fieldNames' | 'loading'\n> & {\n /**\n * 参数Key映射\n * ```\n * 1. list 为 onRequest 返回数据中列表key值,可多级取值,例如: 'a.b.c'\n * 2. 配置 serviceConfig.onRequestResultAdapter后,fieldNames.list配置失效\n * ```\n */\n fieldNames?: { label: string; value: string; disabled?: string; searchKeyword?: string; list?: string };\n /**\n * 请求服务需求的数据\n */\n serviceConfig: SelectorWrapperSearchServiceConfig;\n /**\n * 添加全部选项\n * ```\n * 1. 默认值label=\"全部\",value=\"\"\n * 2. 可配置label、value\n * ```\n */\n showAllOption?: true | TPlainObject<string | number>;\n /** selectorList发生变更时触发,每次都会调用 */\n onSelectorListChange?: (dataList: TPlainObject[]) => void;\n /** 通过服务获取数据异常回调 */\n onSelectorRequestError?: (error: Error) => void;\n /** 交互文案配置 */\n requestMessageConfig?: TRequestStatusProps['messageConfig'];\n /** 是否显示Option Icon,与 icon 属性配合使用 */\n showIcon?: boolean;\n /** select option添加图标;与showIcon组合使用 */\n icon?: (data: TPlainObject, index: number) => ReactElement;\n // label渲染适配器\n onLabelRenderAdapter?: (dataItem: TPlainObject) => string | ReactElement;\n};\n/**\n * 选择器简单包装组件\n * @param props\n * @returns\n * ```\n * 1. 只支持 search + 服务 功能\n * 2. 不会缓存接口数据\n * 3. 不会对value、onChange做任何处理\n * ```\n */\nexport const SelectorWrapperSearch = (props: SelectorWrapperSearchProps) => {\n const {\n showAllOption,\n serviceConfig,\n onSelectorListChange,\n onSelectorRequestError,\n requestMessageConfig,\n fieldNames,\n onLabelRenderAdapter,\n showIcon,\n icon,\n ...otherProps\n } = props;\n const [requestStatus, setRequestStatus] = useState<TRequestStatus>('request-init');\n const [dataSource, setDataSource] = useState<TPlainObject[]>([]);\n const optionsItemLabelField = fieldNames?.label || 'label';\n const optionsItemValueField = fieldNames?.value || 'value';\n const optionsItemDisabledField = fieldNames?.disabled || 'disabled';\n const searchKeyword = fieldNames?.searchKeyword || 'searchKeyword';\n const serviceParams = serviceConfig.params;\n\n const allOptionConfig = useMemo(() => {\n const isTrue = showAllOption === true;\n if (showAllOption) {\n return {\n [optionsItemLabelField]: isTrue ? '全部' : (showAllOption.label as string),\n [optionsItemValueField]: isTrue ? '' : (showAllOption.value as TAny),\n };\n }\n return null;\n }, [optionsItemLabelField, optionsItemValueField, showAllOption]);\n\n const serviceRespDataAdapter = (respData) => {\n if (serviceConfig.onRequestResultAdapter) {\n return serviceConfig.onRequestResultAdapter(respData as unknown as TPlainObject);\n }\n if (fieldNames?.list) {\n const result = get(respData, fieldNames?.list);\n return isArray(result) ? result : [];\n }\n return isArray(respData) ? respData : [];\n };\n\n const startDataSourceRequest = async (keyword) => {\n try {\n setRequestStatus('request-progress');\n const respData = await serviceConfig.onRequest?.({\n ...serviceParams,\n [searchKeyword]: keyword,\n });\n const respAdapterData = serviceRespDataAdapter(respData);\n onSelectorListChange?.(respAdapterData);\n if (allOptionConfig) {\n respAdapterData.unshift(allOptionConfig);\n }\n setDataSource(respAdapterData);\n setRequestStatus('request-success');\n } catch (error) {\n setRequestStatus('request-error');\n onSelectorRequestError?.(error);\n }\n };\n\n const onSearch = hooks.useDebounceCallback((value: string) => {\n setDataSource([]);\n if (value) {\n void startDataSourceRequest(value);\n } else {\n setRequestStatus('request-init');\n }\n }, 300);\n\n const loading = requestStatus === 'request-progress';\n\n return (\n <Select\n showSearch={true}\n allowClear={true}\n dropdownMatchSelectWidth={false}\n {...otherProps}\n style={{ width: '100%', ...props.style }}\n filterOption={false}\n onSearch={onSearch}\n notFoundContent={\n <RequestStatus\n status={requestStatus}\n loading={loading}\n messageConfig={{\n 'request-init': '请输入搜索关键字',\n ...requestMessageConfig,\n }}\n errorButton={\n <Button type=\"primary\" onClick={startDataSourceRequest}>\n 重新获取数据\n </Button>\n }\n />\n }\n suffixIcon={\n requestStatus === 'request-error' ? (\n <RedoOutlined spin={loading} onClick={startDataSourceRequest} />\n ) : undefined\n }\n loading={loading}\n >\n {dataSource.map((item, index) => {\n const value = item[optionsItemValueField];\n const label = item[optionsItemLabelField];\n return (\n <Select.Option\n value={value}\n label={label}\n key={`${value}-${index}`}\n disabled={item[optionsItemDisabledField]}\n >\n {showIcon ? <span className=\"v-selector-item-icon\">{icon?.(item, index)}</span> : null}\n {onLabelRenderAdapter ? onLabelRenderAdapter(item) : label}\n </Select.Option>\n );\n })}\n </Select>\n );\n};\n"],"names":["SelectorWrapperSearch","props","showAllOption","serviceConfig","onSelectorListChange","onSelectorRequestError","requestMessageConfig","fieldNames","onLabelRenderAdapter","showIcon","icon","otherProps","_objectWithoutPropertiesLoose","_excluded","_useState","useState","requestStatus","setRequestStatus","_useState2","dataSource","setDataSource","optionsItemLabelField","label","optionsItemValueField","value","optionsItemDisabledField","disabled","searchKeyword","serviceParams","params","allOptionConfig","useMemo","isTrue","_ref","serviceRespDataAdapter","respData","onRequestResultAdapter","list","result","_get","_isArray","startDataSourceRequest","keyword","Promise","$return","$error","_extends2","_respData","respAdapterData","$Try_1_Post","$boundEx","$Try_1_Catch","error","resolve","onRequest","_extends","then","$await_2","unshift","onSearch","_hooks","useDebounceCallback","loading","_jsx","Select","showSearch","allowClear","dropdownMatchSelectWidth","style","width","filterOption","notFoundContent","RequestStatus","status","messageConfig","errorButton","Button","type","onClick","children","suffixIcon","_RedoOutlined","spin","undefined","map","item","index","_jsxs","Option","className"],"mappings":"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"}
1
+ {"version":3,"file":"selector-wrapper-search-5d87e3b9.js","sources":["@flatbiz/antd/src/selector-wrapper-search/selector-wrapper-search.tsx"],"sourcesContent":["import { RedoOutlined } from '@ant-design/icons';\nimport { isArray } from '@dimjs/lang';\nimport { get } from '@dimjs/utils';\nimport { TAny, TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Button, Select, SelectProps } from 'antd';\nimport { ReactElement, useMemo, useState } from 'react';\nimport { RequestStatus, TRequestStatus, TRequestStatusProps } from '../request-status';\n\nexport type SelectorWrapperSearchServiceConfig = {\n params?: TPlainObject;\n onRequest: (params?: TAny) => TAny;\n onRequestResultAdapter?: (respData: TAny) => TPlainObject[];\n};\n\nexport type SelectorWrapperSearchProps = Omit<\n SelectProps,\n 'onSearch' | 'notFoundContent' | 'options' | 'fieldNames' | 'loading'\n> & {\n /**\n * 参数Key映射\n * ```\n * 1. list 为 onRequest 返回数据中列表key值,可多级取值,例如: 'a.b.c'\n * 2. 配置 serviceConfig.onRequestResultAdapter后,fieldNames.list配置失效\n * ```\n */\n fieldNames?: { label: string; value: string; disabled?: string; searchKeyword?: string; list?: string };\n /**\n * 请求服务需求的数据\n */\n serviceConfig: SelectorWrapperSearchServiceConfig;\n /**\n * 添加全部选项\n * ```\n * 1. 默认值label=\"全部\",value=\"\"\n * 2. 可配置label、value\n * ```\n */\n showAllOption?: true | TPlainObject<string | number>;\n /** selectorList发生变更时触发,每次都会调用 */\n onSelectorListChange?: (dataList: TPlainObject[]) => void;\n /** 通过服务获取数据异常回调 */\n onSelectorRequestError?: (error: Error) => void;\n /** 交互文案配置 */\n requestMessageConfig?: TRequestStatusProps['messageConfig'];\n /** 是否显示Option Icon,与 icon 属性配合使用 */\n showIcon?: boolean;\n /** select option添加图标;与showIcon组合使用 */\n icon?: (data: TPlainObject, index: number) => ReactElement;\n // label渲染适配器\n onLabelRenderAdapter?: (dataItem: TPlainObject) => string | ReactElement;\n};\n/**\n * 选择器简单包装组件\n * @param props\n * @returns\n * ```\n * 1. 只支持 search + 服务 功能\n * 2. 不会缓存接口数据\n * 3. 不会对value、onChange做任何处理\n * ```\n */\nexport const SelectorWrapperSearch = (props: SelectorWrapperSearchProps) => {\n const {\n showAllOption,\n serviceConfig,\n onSelectorListChange,\n onSelectorRequestError,\n requestMessageConfig,\n fieldNames,\n onLabelRenderAdapter,\n showIcon,\n icon,\n ...otherProps\n } = props;\n const [requestStatus, setRequestStatus] = useState<TRequestStatus>('request-init');\n const [dataSource, setDataSource] = useState<TPlainObject[]>([]);\n const optionsItemLabelField = fieldNames?.label || 'label';\n const optionsItemValueField = fieldNames?.value || 'value';\n const optionsItemDisabledField = fieldNames?.disabled || 'disabled';\n const searchKeyword = fieldNames?.searchKeyword || 'searchKeyword';\n const serviceParams = serviceConfig.params;\n\n const allOptionConfig = useMemo(() => {\n const isTrue = showAllOption === true;\n if (showAllOption) {\n return {\n [optionsItemLabelField]: isTrue ? '全部' : (showAllOption.label as string),\n [optionsItemValueField]: isTrue ? '' : (showAllOption.value as TAny),\n };\n }\n return null;\n }, [optionsItemLabelField, optionsItemValueField, showAllOption]);\n\n const serviceRespDataAdapter = (respData) => {\n if (serviceConfig.onRequestResultAdapter) {\n return serviceConfig.onRequestResultAdapter(respData as unknown as TPlainObject);\n }\n if (fieldNames?.list) {\n const result = get(respData, fieldNames?.list);\n return isArray(result) ? result : [];\n }\n return isArray(respData) ? respData : [];\n };\n\n const startDataSourceRequest = async (keyword) => {\n try {\n setRequestStatus('request-progress');\n const respData = await serviceConfig.onRequest?.({\n ...serviceParams,\n [searchKeyword]: keyword,\n });\n const respAdapterData = serviceRespDataAdapter(respData);\n onSelectorListChange?.(respAdapterData);\n if (allOptionConfig) {\n respAdapterData.unshift(allOptionConfig);\n }\n setDataSource(respAdapterData);\n setRequestStatus('request-success');\n } catch (error) {\n setRequestStatus('request-error');\n onSelectorRequestError?.(error);\n }\n };\n\n const onSearch = hooks.useDebounceCallback((value: string) => {\n setDataSource([]);\n if (value) {\n void startDataSourceRequest(value);\n } else {\n setRequestStatus('request-init');\n }\n }, 300);\n\n const loading = requestStatus === 'request-progress';\n\n return (\n <Select\n showSearch={true}\n allowClear={true}\n dropdownMatchSelectWidth={false}\n {...otherProps}\n style={{ width: '100%', ...props.style }}\n filterOption={false}\n onSearch={onSearch}\n notFoundContent={\n <RequestStatus\n status={requestStatus}\n loading={loading}\n messageConfig={{\n 'request-init': '请输入搜索关键字',\n ...requestMessageConfig,\n }}\n errorButton={\n <Button type=\"primary\" onClick={startDataSourceRequest}>\n 重新获取数据\n </Button>\n }\n />\n }\n suffixIcon={\n requestStatus === 'request-error' ? (\n <RedoOutlined spin={loading} onClick={startDataSourceRequest} />\n ) : undefined\n }\n loading={loading}\n >\n {dataSource.map((item, index) => {\n const value = item[optionsItemValueField];\n const label = item[optionsItemLabelField];\n return (\n <Select.Option\n value={value}\n label={label}\n key={`${value}-${index}`}\n disabled={item[optionsItemDisabledField]}\n >\n {showIcon ? <span className=\"v-selector-item-icon\">{icon?.(item, index)}</span> : null}\n {onLabelRenderAdapter ? onLabelRenderAdapter(item) : label}\n </Select.Option>\n );\n })}\n </Select>\n );\n};\n"],"names":["SelectorWrapperSearch","props","showAllOption","serviceConfig","onSelectorListChange","onSelectorRequestError","requestMessageConfig","fieldNames","onLabelRenderAdapter","showIcon","icon","otherProps","_objectWithoutPropertiesLoose","_excluded","_useState","useState","requestStatus","setRequestStatus","_useState2","dataSource","setDataSource","optionsItemLabelField","label","optionsItemValueField","value","optionsItemDisabledField","disabled","searchKeyword","serviceParams","params","allOptionConfig","useMemo","isTrue","_ref","serviceRespDataAdapter","respData","onRequestResultAdapter","list","result","_get","_isArray","startDataSourceRequest","keyword","Promise","$return","$error","_extends2","_respData","respAdapterData","$Try_1_Post","$boundEx","$Try_1_Catch","error","resolve","onRequest","_extends","then","$await_2","unshift","onSearch","_hooks","useDebounceCallback","loading","_jsx","Select","showSearch","allowClear","dropdownMatchSelectWidth","style","width","filterOption","notFoundContent","RequestStatus","status","messageConfig","errorButton","Button","type","onClick","children","suffixIcon","_RedoOutlined","spin","undefined","map","item","index","_jsxs","Option","className"],"mappings":"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"}
@@ -3,5 +3,5 @@ import './../fba-hooks/index.css';
3
3
  import './../request-status/index.css';
4
4
  import './index.css';
5
5
  /*! @flatjs/forge MIT @flatbiz/antd */
6
- export{S as SelectorWrapperSimple}from"../selector-wrapper-simple-7b34f7bd.js";import"@ant-design/icons/es/icons/RedoOutlined";import"../_rollupPluginBabelHelpers-1f4d8910.js";import"@dimjs/lang/cjs/is-array";import"@dimjs/utils/cjs/get";import"antd";import"react";import"../fba-hooks/index.js";import"@wove/react/cjs/hooks";import"../use-responsive-point-21b8c601.js";import"../request-status-03fc60e2.js";import"@dimjs/utils/cjs/extend";import"@flatbiz/utils";import"react/jsx-runtime";
6
+ export{S as SelectorWrapperSimple}from"../selector-wrapper-simple-1c0ceae7.js";import"@ant-design/icons/es/icons/RedoOutlined";import"../_rollupPluginBabelHelpers-1f4d8910.js";import"@dimjs/lang/cjs/is-array";import"@dimjs/utils/cjs/get";import"antd";import"react";import"../fba-hooks/index.js";import"@wove/react/cjs/hooks";import"../use-responsive-point-21b8c601.js";import"../request-status-03fc60e2.js";import"@dimjs/utils/cjs/extend";import"@flatbiz/utils";import"react/jsx-runtime";
7
7
  //# sourceMappingURL=index.js.map
@@ -1,3 +1,3 @@
1
1
  /*! @flatjs/forge MIT @flatbiz/antd */
2
- import r from"@ant-design/icons/es/icons/RedoOutlined";import{_ as e,a as t}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{isArray as n}from"@dimjs/lang/cjs/is-array";import{get as o}from"@dimjs/utils/cjs/get";import{Select as s,Button as i}from"antd";import{useState as u,useMemo as a}from"react";import{fbaHooks as l}from"./fba-hooks/index.js";import{R as f}from"./request-status-03fc60e2.js";import{jsx as c}from"react/jsx-runtime";var v=["showAllOption","serviceConfig","onSelectorListChange","onSelectorRequestError","requestMessageConfig","fieldNames"];var d=function d(m){var p=m.showAllOption,g=m.serviceConfig,q=m.onSelectorListChange,h=m.onSelectorRequestError,C=m.requestMessageConfig,b=m.fieldNames,R=e(m,v);var y=u("request-init"),j=y[0],S=y[1];var w=u(),x=w[0],A=w[1];var k=(b==null?void 0:b.label)||"label";var E=(b==null?void 0:b.value)||"value";var O=(b==null?void 0:b.disabled)||"disabled";var P=g.params;var B=a((function(){var r=p===true;if(p){return{label:r?"全部":p.label,value:r?"":p.value}}return null}),[p]);var L=function r(e){if(g.onRequestResultAdapter){return g.onRequestResultAdapter(e)}if(b!=null&&b.list){var t=o(e,b==null?void 0:b.list);return n(t)?t:[]}return n(e)?e:[]};var M=function r(){return new Promise((function(r,e){var n,o;var s=function(){try{return r()}catch(r){return e(r)}};var i=function(r){try{S("request-error");h==null?void 0:h(r);return s()}catch(r){return e(r)}};try{S("request-progress");return Promise.resolve(g.onRequest==null?void 0:g.onRequest(P)).then((function(r){try{n=r;o=L(n);q==null?void 0:q(o);if(k&&E){o=o.map((function(r){return t({},r,{label:r[k],value:r[E],disabled:r[O]})}))}if(B){o.unshift(B)}A(o);S("request-success");return s()}catch(r){return i(r)}}),i)}catch(r){i(r)}}))};l.useEffectCustom((function(){void M()}),[]);var N=j==="request-progress";return c(s,t({},R,{style:t({width:"100%"},m.style),options:x,notFoundContent:c(f,{status:j,loading:N,messageConfig:C,errorButton:c(i,{type:"primary",onClick:M,children:"重新获取数据"})}),suffixIcon:j==="request-error"?c(r,{spin:N,onClick:M}):undefined,loading:N}))};export{d as S};
3
- //# sourceMappingURL=selector-wrapper-simple-7b34f7bd.js.map
2
+ import r from"@ant-design/icons/es/icons/RedoOutlined";import{_ as e,a as t}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{isArray as n}from"@dimjs/lang/cjs/is-array";import{get as o}from"@dimjs/utils/cjs/get";import{Select as s,Button as i}from"antd";import{useState as u,useMemo as a}from"react";import{fbaHooks as l}from"./fba-hooks/index.js";import{R as f}from"./request-status-03fc60e2.js";import{jsx as c}from"react/jsx-runtime";var v=["showAllOption","serviceConfig","onSelectorListChange","onSelectorRequestError","requestMessageConfig","fieldNames"];var d=function d(m){var p=m.showAllOption,g=m.serviceConfig,q=m.onSelectorListChange,h=m.onSelectorRequestError,C=m.requestMessageConfig,b=m.fieldNames,R=e(m,v);var y=u("request-init"),j=y[0],S=y[1];var w=u(),x=w[0],A=w[1];var k=(b==null?void 0:b.label)||"label";var E=(b==null?void 0:b.value)||"value";var O=(b==null?void 0:b.disabled)||"disabled";var P=g.params;var B=a((function(){var r=p===true;if(p){return{label:r?"全部":p.label,value:r?"":p.value}}return null}),[p]);var I=function r(e){if(g.onRequestResultAdapter){return g.onRequestResultAdapter(e)}if(b!=null&&b.list){var t=o(e,b==null?void 0:b.list);return n(t)?t:[]}return n(e)?e:[]};var L=function r(){return new Promise((function(r,e){var n,o;var s=function(){try{return r()}catch(r){return e(r)}};var i=function(r){try{S("request-error");h==null?void 0:h(r);return s()}catch(r){return e(r)}};try{S("request-progress");return Promise.resolve(g.onRequest==null?void 0:g.onRequest(P)).then((function(r){try{n=r;o=I(n);q==null?void 0:q(o);if(k&&E){o=o.map((function(r){return t({},r,{label:r[k],value:r[E],disabled:r[O]})}))}if(B){o.unshift(B)}A(o);S("request-success");return s()}catch(r){return i(r)}}),i)}catch(r){i(r)}}))};l.useEffectCustom((function(){void L()}),[]);var M=j==="request-progress";return c(s,t({},R,{style:t({width:"100%"},m.style),options:x,notFoundContent:c(f,{status:j,loading:M,messageConfig:C,errorButton:c(i,{type:"primary",onClick:L,children:"重新获取数据"})}),suffixIcon:j==="request-error"?c(r,{spin:M,onClick:L}):undefined,loading:M}))};export{d as S};
3
+ //# sourceMappingURL=selector-wrapper-simple-1c0ceae7.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"selector-wrapper-simple-7b34f7bd.js","sources":["@flatbiz/antd/src/selector-wrapper-simple/selector-wrapper-simple.tsx"],"sourcesContent":["import { RedoOutlined } from '@ant-design/icons';\nimport { isArray } from '@dimjs/lang';\nimport { get } from '@dimjs/utils';\nimport { LabelValueItem, TAny, TPlainObject } from '@flatbiz/utils';\nimport { Button, Select, SelectProps } from 'antd';\nimport { useMemo, useState } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport { RequestStatus, TRequestStatus, TRequestStatusProps } from '../request-status';\n\nexport type SelectorWrapperSimpleServiceConfig = {\n params?: TPlainObject;\n onRequest: (params?: TAny) => TAny;\n onRequestResultAdapter?: (respData: TAny) => TPlainObject[];\n};\n\nexport type SelectorWrapperSimpleProps = Omit<\n SelectProps,\n 'onSearch' | 'notFoundContent' | 'options' | 'fieldNames' | 'loading'\n> & {\n /**\n * 参数Key映射\n * ```\n * 1. list 为 onRequest 返回数据中列表key值,可多级取值,例如: 'a.b.c'\n * 2. 配置 serviceConfig.onRequestResultAdapter后,fieldNames.list配置失效\n * ```\n */\n fieldNames?: { label: string; value: string; disabled?: string; list?: string };\n /**\n * 请求服务需求的数据\n */\n serviceConfig: SelectorWrapperSimpleServiceConfig;\n /**\n * 添加全部选项\n * ```\n * 1. 默认值label=\"全部\",value=\"\"\n * 2. 可配置label、value\n * ```\n */\n showAllOption?: true | TPlainObject<string | number>;\n /** selectorList发生变更时触发,每次都会调用 */\n onSelectorListChange?: (dataList: TPlainObject[]) => void;\n /**\n * 通过服务获取数据异常回调\n */\n onSelectorRequestError?: (error: Error) => void;\n\n requestMessageConfig?: TRequestStatusProps['messageConfig'];\n};\n/**\n * 选择器简单包装组件\n * @param props\n * @returns\n * ```\n * 1. 不支持search效果\n * 2. 不会缓存接口数据\n * 3. 不会对value、onChange做任何处理\n * ```\n */\nexport const SelectorWrapperSimple = (props: SelectorWrapperSimpleProps) => {\n const {\n showAllOption,\n serviceConfig,\n onSelectorListChange,\n onSelectorRequestError,\n requestMessageConfig,\n fieldNames,\n ...otherProps\n } = props;\n const [requestStatus, setRequestStatus] = useState<TRequestStatus>('request-init');\n const [dataSource, setDataSource] = useState<TPlainObject[]>();\n const optionsItemLabelField = fieldNames?.label || 'label';\n const optionsItemValueField = fieldNames?.value || 'value';\n const optionsItemDisabledField = fieldNames?.disabled || 'disabled';\n const serviceParams = serviceConfig.params;\n\n const allOptionConfig = useMemo(() => {\n const isTrue = showAllOption === true;\n if (showAllOption) {\n return {\n label: isTrue ? '全部' : (showAllOption.label as string),\n value: isTrue ? '' : (showAllOption.value as TAny),\n };\n }\n return null;\n }, [showAllOption]);\n\n const serviceRespDataAdapter = (respData) => {\n if (serviceConfig.onRequestResultAdapter) {\n return serviceConfig.onRequestResultAdapter(respData as unknown as TPlainObject);\n }\n if (fieldNames?.list) {\n const result = get(respData, fieldNames?.list);\n return isArray(result) ? result : [];\n }\n return isArray(respData) ? respData : [];\n };\n\n const startDataSourceRequest = async () => {\n try {\n setRequestStatus('request-progress');\n const respData = await serviceConfig.onRequest?.(serviceParams);\n let respAdapterData = serviceRespDataAdapter(respData);\n onSelectorListChange?.(respAdapterData);\n if (optionsItemLabelField && optionsItemValueField) {\n respAdapterData = respAdapterData.map((item) => {\n return {\n ...item,\n label: item[optionsItemLabelField],\n value: item[optionsItemValueField],\n disabled: item[optionsItemDisabledField],\n };\n });\n }\n\n if (allOptionConfig) {\n respAdapterData.unshift(allOptionConfig);\n }\n setDataSource(respAdapterData);\n setRequestStatus('request-success');\n } catch (error) {\n setRequestStatus('request-error');\n onSelectorRequestError?.(error);\n }\n };\n\n fbaHooks.useEffectCustom(() => {\n void startDataSourceRequest();\n }, []);\n\n const loading = requestStatus === 'request-progress';\n\n return (\n <Select\n {...otherProps}\n style={{ width: '100%', ...props.style }}\n options={dataSource as LabelValueItem[]}\n notFoundContent={\n <RequestStatus\n status={requestStatus}\n loading={loading}\n messageConfig={requestMessageConfig}\n errorButton={\n <Button type=\"primary\" onClick={startDataSourceRequest}>\n 重新获取数据\n </Button>\n }\n />\n }\n suffixIcon={\n requestStatus === 'request-error' ? (\n <RedoOutlined spin={loading} onClick={startDataSourceRequest} />\n ) : undefined\n }\n loading={loading}\n />\n );\n};\n"],"names":["SelectorWrapperSimple","props","showAllOption","serviceConfig","onSelectorListChange","onSelectorRequestError","requestMessageConfig","fieldNames","otherProps","_objectWithoutPropertiesLoose","_excluded","_useState","useState","requestStatus","setRequestStatus","_useState2","dataSource","setDataSource","optionsItemLabelField","label","optionsItemValueField","value","optionsItemDisabledField","disabled","serviceParams","params","allOptionConfig","useMemo","isTrue","serviceRespDataAdapter","respData","onRequestResultAdapter","list","result","_get","_isArray","startDataSourceRequest","Promise","$return","$error","_respData","respAdapterData","$Try_1_Post","$boundEx","$Try_1_Catch","error","resolve","onRequest","then","$await_2","map","item","_extends","unshift","fbaHooks","useEffectCustom","loading","_jsx","Select","style","width","options","notFoundContent","RequestStatus","status","messageConfig","errorButton","Button","type","onClick","children","suffixIcon","_RedoOutlined","spin","undefined"],"mappings":";yjBA0DaA,EAAwB,SAAxBA,EAAyBC,GACpC,IACEC,EAOED,EAPFC,cACAC,EAMEF,EANFE,cACAC,EAKEH,EALFG,qBACAC,EAIEJ,EAJFI,uBACAC,EAGEL,EAHFK,qBACAC,EAEEN,EAFFM,WACGC,EAAUC,EACXR,EAAKS,GACT,IAAAC,EAA0CC,EAAyB,gBAA5DC,EAAaF,EAAA,GAAEG,EAAgBH,EAAA,GACtC,IAAAI,EAAoCH,IAA7BI,EAAUD,EAAA,GAAEE,EAAaF,EAAA,GAChC,IAAMG,GAAwBX,eAAAA,EAAYY,QAAS,QACnD,IAAMC,GAAwBb,eAAAA,EAAYc,QAAS,QACnD,IAAMC,GAA2Bf,eAAAA,EAAYgB,WAAY,WACzD,IAAMC,EAAgBrB,EAAcsB,OAEpC,IAAMC,EAAkBC,GAAQ,WAC9B,IAAMC,EAAS1B,IAAkB,KACjC,GAAIA,EAAe,CACjB,MAAO,CACLiB,MAAOS,EAAS,KAAQ1B,EAAciB,MACtCE,MAAOO,EAAS,GAAM1B,EAAcmB,MAExC,CACA,OAAO,IACT,GAAG,CAACnB,IAEJ,IAAM2B,EAAyB,SAAzBA,EAA0BC,GAC9B,GAAI3B,EAAc4B,uBAAwB,CACxC,OAAO5B,EAAc4B,uBAAuBD,EAC9C,CACA,GAAIvB,GAAU,MAAVA,EAAYyB,KAAM,CACpB,IAAMC,EAASC,EAAIJ,EAAUvB,GAAAA,UAAAA,EAAAA,EAAYyB,MACzC,OAAOG,EAAQF,GAAUA,EAAS,EACpC,CACA,OAAOE,EAAQL,GAAYA,EAAW,IAGxC,IAAMM,EAAyB,SAAzBA,IAAyB,OAAA,IAAAC,SAAA,SAAAC,EAAAC,GAAA,IAGrBC,EACFC,EArGV,IAAIC,aAAJ,IAAI,OAAAJ,GAAK,CAAC,MAAAK,GAAW,OAAOJ,EAAAI,EAAM,GAAlC,IAAIC,EAAA,SAuHSC,GAvHb,IAwHM/B,EAAiB,iBACjBT,GAAAA,UAAAA,EAAAA,EAAyBwC,GAzH/B,OAAOH,GAAE,CAAC,MAAAC,GAAW,OAAOJ,EAAAI,EAAM,GAkG9B,IACE7B,EAAiB,oBACA,OAAAuB,QAAAS,QAAM3C,EAAc4C,WAAS,UAAA,EAAvB5C,EAAc4C,UAAYvB,IAAhCwB,eAA8CC,GApGrE,IAoGYnB,EAAWmB,EACbR,EAAkBZ,EAAuBC,GAC7C1B,GAAAA,UAAAA,EAAAA,EAAuBqC,GACvB,GAAIvB,GAAyBE,EAAuB,CAClDqB,EAAkBA,EAAgBS,KAAI,SAACC,GACrC,OAAAC,KACKD,EAAI,CACPhC,MAAOgC,EAAKjC,GACZG,MAAO8B,EAAK/B,GACZG,SAAU4B,EAAK7B,IAEnB,GACF,CAEA,GAAII,EAAiB,CACnBe,EAAgBY,QAAQ3B,EAC1B,CACAT,EAAcwB,GACd3B,EAAiB,mBAtHvB,OAAO4B,GAAE,CAAC,MAAAC,GAAW,OAAOC,EAAAD,EAAM,CAAC,GAAAC,EAuH9B,CAAC,MAAOC,GAAOD,EAAPC,EAGT,CAAC,GACF,EAEDS,EAASC,iBAAgB,gBAClBnB,GACN,GAAE,IAEH,IAAMoB,EAAU3C,IAAkB,mBAElC,OACE4C,EAACC,EAAMN,KACD5C,EAAU,CACdmD,MAAKP,EAAA,CAAIQ,MAAO,QAAW3D,EAAM0D,OACjCE,QAAS7C,EACT8C,gBACEL,EAACM,EAAa,CACZC,OAAQnD,EACR2C,QAASA,EACTS,cAAe3D,EACf4D,YACET,EAACU,EAAM,CAACC,KAAK,UAAUC,QAASjC,EAAuBkC,SAAC,aAM9DC,WACE1D,IAAkB,gBAChB4C,EAAAe,EAAA,CAAcC,KAAMjB,EAASa,QAASjC,IACpCsC,UAENlB,QAASA,IAGf"}
1
+ {"version":3,"file":"selector-wrapper-simple-1c0ceae7.js","sources":["@flatbiz/antd/src/selector-wrapper-simple/selector-wrapper-simple.tsx"],"sourcesContent":["import { RedoOutlined } from '@ant-design/icons';\nimport { isArray } from '@dimjs/lang';\nimport { get } from '@dimjs/utils';\nimport { LabelValueItem, TAny, TPlainObject } from '@flatbiz/utils';\nimport { Button, Select, SelectProps } from 'antd';\nimport { useMemo, useState } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport { RequestStatus, TRequestStatus, TRequestStatusProps } from '../request-status';\n\nexport type SelectorWrapperSimpleServiceConfig = {\n params?: TPlainObject;\n onRequest: (params?: TAny) => TAny;\n onRequestResultAdapter?: (respData: TAny) => TPlainObject[];\n};\n\nexport type SelectorWrapperSimpleProps = Omit<\n SelectProps,\n 'onSearch' | 'notFoundContent' | 'options' | 'fieldNames' | 'loading'\n> & {\n /**\n * 参数Key映射\n * ```\n * 1. list 为 onRequest 返回数据中列表key值,可多级取值,例如: 'a.b.c'\n * 2. 配置 serviceConfig.onRequestResultAdapter后,fieldNames.list配置失效\n * ```\n */\n fieldNames?: { label: string; value: string; disabled?: string; list?: string };\n /**\n * 请求服务需求的数据\n */\n serviceConfig: SelectorWrapperSimpleServiceConfig;\n /**\n * 添加全部选项\n * ```\n * 1. 默认值label=\"全部\",value=\"\"\n * 2. 可配置label、value\n * ```\n */\n showAllOption?: true | TPlainObject<string | number>;\n /** selectorList发生变更时触发,每次都会调用 */\n onSelectorListChange?: (dataList: TPlainObject[]) => void;\n /**\n * 通过服务获取数据异常回调\n */\n onSelectorRequestError?: (error: Error) => void;\n\n requestMessageConfig?: TRequestStatusProps['messageConfig'];\n};\n/**\n * 选择器简单包装组件\n * @param props\n * @returns\n * ```\n * 1. 不支持search效果\n * 2. 不会缓存接口数据\n * 3. 不会对value、onChange做任何处理\n * ```\n */\nexport const SelectorWrapperSimple = (props: SelectorWrapperSimpleProps) => {\n const {\n showAllOption,\n serviceConfig,\n onSelectorListChange,\n onSelectorRequestError,\n requestMessageConfig,\n fieldNames,\n ...otherProps\n } = props;\n const [requestStatus, setRequestStatus] = useState<TRequestStatus>('request-init');\n const [dataSource, setDataSource] = useState<TPlainObject[]>();\n const optionsItemLabelField = fieldNames?.label || 'label';\n const optionsItemValueField = fieldNames?.value || 'value';\n const optionsItemDisabledField = fieldNames?.disabled || 'disabled';\n const serviceParams = serviceConfig.params;\n\n const allOptionConfig = useMemo(() => {\n const isTrue = showAllOption === true;\n if (showAllOption) {\n return {\n label: isTrue ? '全部' : (showAllOption.label as string),\n value: isTrue ? '' : (showAllOption.value as TAny),\n };\n }\n return null;\n }, [showAllOption]);\n\n const serviceRespDataAdapter = (respData) => {\n if (serviceConfig.onRequestResultAdapter) {\n return serviceConfig.onRequestResultAdapter(respData as unknown as TPlainObject);\n }\n if (fieldNames?.list) {\n const result = get(respData, fieldNames?.list);\n return isArray(result) ? result : [];\n }\n return isArray(respData) ? respData : [];\n };\n\n const startDataSourceRequest = async () => {\n try {\n setRequestStatus('request-progress');\n const respData = await serviceConfig.onRequest?.(serviceParams);\n let respAdapterData = serviceRespDataAdapter(respData);\n onSelectorListChange?.(respAdapterData);\n if (optionsItemLabelField && optionsItemValueField) {\n respAdapterData = respAdapterData.map((item) => {\n return {\n ...item,\n label: item[optionsItemLabelField],\n value: item[optionsItemValueField],\n disabled: item[optionsItemDisabledField],\n };\n });\n }\n\n if (allOptionConfig) {\n respAdapterData.unshift(allOptionConfig);\n }\n setDataSource(respAdapterData);\n setRequestStatus('request-success');\n } catch (error) {\n setRequestStatus('request-error');\n onSelectorRequestError?.(error);\n }\n };\n\n fbaHooks.useEffectCustom(() => {\n void startDataSourceRequest();\n }, []);\n\n const loading = requestStatus === 'request-progress';\n\n return (\n <Select\n {...otherProps}\n style={{ width: '100%', ...props.style }}\n options={dataSource as LabelValueItem[]}\n notFoundContent={\n <RequestStatus\n status={requestStatus}\n loading={loading}\n messageConfig={requestMessageConfig}\n errorButton={\n <Button type=\"primary\" onClick={startDataSourceRequest}>\n 重新获取数据\n </Button>\n }\n />\n }\n suffixIcon={\n requestStatus === 'request-error' ? (\n <RedoOutlined spin={loading} onClick={startDataSourceRequest} />\n ) : undefined\n }\n loading={loading}\n />\n );\n};\n"],"names":["SelectorWrapperSimple","props","showAllOption","serviceConfig","onSelectorListChange","onSelectorRequestError","requestMessageConfig","fieldNames","otherProps","_objectWithoutPropertiesLoose","_excluded","_useState","useState","requestStatus","setRequestStatus","_useState2","dataSource","setDataSource","optionsItemLabelField","label","optionsItemValueField","value","optionsItemDisabledField","disabled","serviceParams","params","allOptionConfig","useMemo","isTrue","serviceRespDataAdapter","respData","onRequestResultAdapter","list","result","_get","_isArray","startDataSourceRequest","Promise","$return","$error","_respData","respAdapterData","$Try_1_Post","$boundEx","$Try_1_Catch","error","resolve","onRequest","then","$await_2","map","item","_extends","unshift","fbaHooks","useEffectCustom","loading","_jsx","Select","style","width","options","notFoundContent","RequestStatus","status","messageConfig","errorButton","Button","type","onClick","children","suffixIcon","_RedoOutlined","spin","undefined"],"mappings":";yjBA0DaA,EAAwB,SAAxBA,EAAyBC,GACpC,IACEC,EAOED,EAPFC,cACAC,EAMEF,EANFE,cACAC,EAKEH,EALFG,qBACAC,EAIEJ,EAJFI,uBACAC,EAGEL,EAHFK,qBACAC,EAEEN,EAFFM,WACGC,EAAUC,EACXR,EAAKS,GACT,IAAAC,EAA0CC,EAAyB,gBAA5DC,EAAaF,EAAA,GAAEG,EAAgBH,EAAA,GACtC,IAAAI,EAAoCH,IAA7BI,EAAUD,EAAA,GAAEE,EAAaF,EAAA,GAChC,IAAMG,GAAwBX,eAAAA,EAAYY,QAAS,QACnD,IAAMC,GAAwBb,eAAAA,EAAYc,QAAS,QACnD,IAAMC,GAA2Bf,eAAAA,EAAYgB,WAAY,WACzD,IAAMC,EAAgBrB,EAAcsB,OAEpC,IAAMC,EAAkBC,GAAQ,WAC9B,IAAMC,EAAS1B,IAAkB,KACjC,GAAIA,EAAe,CACjB,MAAO,CACLiB,MAAOS,EAAS,KAAQ1B,EAAciB,MACtCE,MAAOO,EAAS,GAAM1B,EAAcmB,MAExC,CACA,OAAO,IACT,GAAG,CAACnB,IAEJ,IAAM2B,EAAyB,SAAzBA,EAA0BC,GAC9B,GAAI3B,EAAc4B,uBAAwB,CACxC,OAAO5B,EAAc4B,uBAAuBD,EAC9C,CACA,GAAIvB,GAAU,MAAVA,EAAYyB,KAAM,CACpB,IAAMC,EAASC,EAAIJ,EAAUvB,GAAAA,UAAAA,EAAAA,EAAYyB,MACzC,OAAOG,EAAQF,GAAUA,EAAS,EACpC,CACA,OAAOE,EAAQL,GAAYA,EAAW,IAGxC,IAAMM,EAAyB,SAAzBA,IAAyB,OAAA,IAAAC,SAAA,SAAAC,EAAAC,GAAA,IAGrBC,EACFC,EArGV,IAAIC,aAAJ,IAAI,OAAAJ,GAAK,CAAC,MAAAK,GAAW,OAAOJ,EAAAI,EAAM,GAAlC,IAAIC,EAAA,SAuHSC,GAvHb,IAwHM/B,EAAiB,iBACjBT,GAAAA,UAAAA,EAAAA,EAAyBwC,GAzH/B,OAAOH,GAAE,CAAC,MAAAC,GAAW,OAAOJ,EAAAI,EAAM,GAkG9B,IACE7B,EAAiB,oBACA,OAAAuB,QAAAS,QAAM3C,EAAc4C,WAAS,UAAA,EAAvB5C,EAAc4C,UAAYvB,IAAhCwB,eAA8CC,GApGrE,IAoGYnB,EAAWmB,EACbR,EAAkBZ,EAAuBC,GAC7C1B,GAAAA,UAAAA,EAAAA,EAAuBqC,GACvB,GAAIvB,GAAyBE,EAAuB,CAClDqB,EAAkBA,EAAgBS,KAAI,SAACC,GACrC,OAAAC,KACKD,EAAI,CACPhC,MAAOgC,EAAKjC,GACZG,MAAO8B,EAAK/B,GACZG,SAAU4B,EAAK7B,IAEnB,GACF,CAEA,GAAII,EAAiB,CACnBe,EAAgBY,QAAQ3B,EAC1B,CACAT,EAAcwB,GACd3B,EAAiB,mBAtHvB,OAAO4B,GAAE,CAAC,MAAAC,GAAW,OAAOC,EAAAD,EAAM,CAAC,GAAAC,EAuH9B,CAAC,MAAOC,GAAOD,EAAPC,EAGT,CAAC,GACF,EAEDS,EAASC,iBAAgB,gBAClBnB,GACN,GAAE,IAEH,IAAMoB,EAAU3C,IAAkB,mBAElC,OACE4C,EAACC,EAAMN,KACD5C,EAAU,CACdmD,MAAKP,EAAA,CAAIQ,MAAO,QAAW3D,EAAM0D,OACjCE,QAAS7C,EACT8C,gBACEL,EAACM,EAAa,CACZC,OAAQnD,EACR2C,QAASA,EACTS,cAAe3D,EACf4D,YACET,EAACU,EAAM,CAACC,KAAK,UAAUC,QAASjC,EAAuBkC,SAAC,aAM9DC,WACE1D,IAAkB,gBAChB4C,EAAAe,EAAA,CAAcC,KAAMjB,EAASa,QAASjC,IACpCsC,UAENlB,QAASA,IAGf"}
@@ -11,5 +11,5 @@ import './../flex-layout/index.css';
11
11
  import './../tag-list-select/index.css';
12
12
  import './index.css';
13
13
  /*! @flatjs/forge MIT @flatbiz/antd */
14
- export{t as tableCellRender}from"../cell-render-cf211bab.js";import"@dimjs/lang/cjs/is-string";import"@dimjs/lang/cjs/is-object";import"@dimjs/utils/cjs/get";import"@dimjs/lang/cjs/is-plain-object";import"../_rollupPluginBabelHelpers-1f4d8910.js";import"@dimjs/lang/cjs/is-number";import"@dimjs/lang/cjs/is-empty";import"@flatbiz/utils";import"antd";import"react";import"../button-operate-deb2cd63.js";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-e8fa0aac.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"../config-provider-wrapper-dfe8f592.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"react/jsx-runtime";import"../fba-utils-f9e11d02.js";import"../dropdown-menu-wrapper-3bffcb23.js";import"@ant-design/icons/es/icons/ExclamationCircleFilled";import"../dialog-confirm-24107a78.js";import"../dialog-modal-67b7a643.js";import"ahooks";import"react-dom/client";import"../flex-layout-8d2b668b.js";import"../tag-list-select-066f682f.js";
14
+ export{t as tableCellRender}from"../cell-render-2a3743af.js";import"@dimjs/lang/cjs/is-string";import"@dimjs/lang/cjs/is-object";import"@dimjs/utils/cjs/get";import"@dimjs/lang/cjs/is-plain-object";import"../_rollupPluginBabelHelpers-1f4d8910.js";import"@dimjs/lang/cjs/is-number";import"@dimjs/lang/cjs/is-empty";import"@flatbiz/utils";import"antd";import"react";import"../button-operate-fb40320e.js";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-125fce50.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"../config-provider-wrapper-dfe8f592.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"react/jsx-runtime";import"../fba-utils-f9e11d02.js";import"../dropdown-menu-wrapper-98347af8.js";import"@ant-design/icons/es/icons/ExclamationCircleFilled";import"../dialog-confirm-74fc9337.js";import"../dialog-modal-4a0c72c5.js";import"ahooks";import"react-dom/client";import"../flex-layout-8d2b668b.js";import"../tag-list-select-066f682f.js";
15
15
  //# sourceMappingURL=index.js.map
@@ -6,5 +6,5 @@ import './../fba-utils/index.css';
6
6
  import './../text-css-ellipsis/index.css';
7
7
  import './index.css';
8
8
  /*! @flatjs/forge MIT @flatbiz/antd */
9
- export{T as TextOverflowRender}from"../text-overflow-render-bba0b7f4.js";import"@dimjs/lang/cjs/is-empty";import"../_rollupPluginBabelHelpers-1f4d8910.js";import"@flatbiz/utils";import"antd";import"react";import"../button-wrapper-e8fa0aac.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-promise";import"@wove/react/cjs/hooks";import"../config-provider-wrapper-dfe8f592.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"react/jsx-runtime";import"../fba-utils-f9e11d02.js";import"../text-css-ellipsis-9135d4c5.js";
9
+ export{T as TextOverflowRender}from"../text-overflow-render-7a6541f5.js";import"@dimjs/lang/cjs/is-empty";import"../_rollupPluginBabelHelpers-1f4d8910.js";import"@flatbiz/utils";import"antd";import"react";import"../button-wrapper-125fce50.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-promise";import"@wove/react/cjs/hooks";import"../config-provider-wrapper-dfe8f592.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"react/jsx-runtime";import"../fba-utils-f9e11d02.js";import"../text-css-ellipsis-9135d4c5.js";
10
10
  //# sourceMappingURL=index.js.map
@@ -1,3 +1,3 @@
1
1
  /*! @flatjs/forge MIT @flatbiz/antd */
2
- import{isEmpty as i}from"@dimjs/lang/cjs/is-empty";import{_ as r,a as e}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{getStrByteLen as t,cutString as n}from"@flatbiz/utils";import{Tooltip as l}from"antd";import{Fragment as a}from"react";import{B as p}from"./button-wrapper-e8fa0aac.js";import{T as o}from"./text-css-ellipsis-9135d4c5.js";import{jsx as s,jsxs as c}from"react/jsx-runtime";var f=["onClick","children","prefix"];var m=function i(t){var n=t.onClick,l=t.children,a=t.prefix,o=r(t,f);if(!!n){return c(p,e({type:"link",onClick:n,style:{padding:0,height:"initial",display:"inline-flex",alignItems:"center"}},o,{children:[a?s("span",{style:{marginRight:5},children:a}):null,l]}))}return c("span",e({},o,{style:e({display:"inline-flex"},o["style"]),children:[a?s("span",{style:{marginRight:5},children:a}):null,l]}))};var d=function r(e){var p=e.text,c=e.maxLength,f=e.placeholder,d=e.onClick,h=e.prefix;if(!p||i(p)||p==="")return s(a,{children:f});if(!!c){var u=t(p);if(u<=c*2){return s(m,{onClick:d,prefix:h,children:p})}else{var x=n(p,c*2);return s(l,{placement:"topLeft",title:p,children:s(m,{onClick:d,prefix:h,children:x})})}}if(e.width){return s(m,{onClick:d,prefix:h,children:s(o,{text:p,width:e.width})})}return s(m,{onClick:d,prefix:h,children:e.text})};export{d as T};
3
- //# sourceMappingURL=text-overflow-render-bba0b7f4.js.map
2
+ import{isEmpty as i}from"@dimjs/lang/cjs/is-empty";import{_ as r,a as e}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{getStrByteLen as t,cutString as n}from"@flatbiz/utils";import{Tooltip as l}from"antd";import{Fragment as a}from"react";import{B as p}from"./button-wrapper-125fce50.js";import{T as o}from"./text-css-ellipsis-9135d4c5.js";import{jsx as s,jsxs as c}from"react/jsx-runtime";var f=["onClick","children","prefix"];var m=function i(t){var n=t.onClick,l=t.children,a=t.prefix,o=r(t,f);if(!!n){return c(p,e({type:"link",onClick:n,style:{padding:0,height:"initial",display:"inline-flex",alignItems:"center"}},o,{children:[a?s("span",{style:{marginRight:5},children:a}):null,l]}))}return c("span",e({},o,{style:e({display:"inline-flex"},o["style"]),children:[a?s("span",{style:{marginRight:5},children:a}):null,l]}))};var d=function r(e){var p=e.text,c=e.maxLength,f=e.placeholder,d=e.onClick,h=e.prefix;if(!p||i(p)||p==="")return s(a,{children:f});if(!!c){var u=t(p);if(u<=c*2){return s(m,{onClick:d,prefix:h,children:p})}else{var x=n(p,c*2);return s(l,{placement:"topLeft",title:p,children:s(m,{onClick:d,prefix:h,children:x})})}}if(e.width){return s(m,{onClick:d,prefix:h,children:s(o,{text:p,width:e.width})})}return s(m,{onClick:d,prefix:h,children:e.text})};export{d as T};
3
+ //# sourceMappingURL=text-overflow-render-7a6541f5.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"text-overflow-render-bba0b7f4.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":";ibAOA,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":"text-overflow-render-7a6541f5.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":";ibAOA,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"}
@@ -12,5 +12,5 @@ import './../flex-layout/index.css';
12
12
  import './../input-search-wrapper/index.css';
13
13
  import './index.css';
14
14
  /*! @flatjs/forge MIT @flatbiz/antd */
15
- import{f as e}from"../fba-utils-f9e11d02.js";import{isArray as r}from"@dimjs/lang/cjs/is-array";import{Model as t}from"@dimjs/model-react";import{treeToArray as n,treeToTiledArray as a,treeLeafParentsArray as i,isUndefinedOrNull as l,treeFilter as s}from"@flatbiz/utils";import o from"@ant-design/icons/es/icons/CaretDownFilled";import u 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 v}from"@wove/react/cjs/hooks";import{_ as f,a as p}from"../_rollupPluginBabelHelpers-1f4d8910.js";import{cloneState as m}from"@dimjs/model";import{Spin as h,Tree as g,Button as y,message as b}from"antd";import{forwardRef as L,useState as j,useMemo as C,useRef as w,useImperativeHandle as R,Fragment as N,isValidElement as q}from"react";import{a as k}from"../button-operate-deb2cd63.js";import{D as S}from"../dropdown-menu-wrapper-3bffcb23.js";import{fbaHooks as T}from"../fba-hooks/index.js";import{I as D}from"../input-search-wrapper-10d4a9b9.js";import{R as P}from"../request-status-03fc60e2.js";import{tree as x}from"@dimjs/utils/cjs/tree";import{isObject as E}from"@dimjs/lang/cjs/is-object";import"dequal";import{jsxs as A,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-e8fa0aac.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"../config-provider-wrapper-dfe8f592.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"@ant-design/icons/es/icons/ExclamationCircleFilled";import"../dialog-confirm-24107a78.js";import"../dialog-modal-67b7a643.js";import"ahooks";import"react-dom/client";import"../flex-layout-8d2b668b.js";import"../use-responsive-point-21b8c601.js";var _={treeList:[],treeTiledArray:[],queryIsEmpty:false};var O={actions:{setTreeList:function e(r){return function(e){e.treeList=r.treeList||[];e.treeTiledArray=n(e.treeList,r.childrenName);e.requestStatus="request-success"}},resetTreeList:function e(){return function(e){e.treeList=[]}},changeRequestStatus:function e(r){return function(e){e.requestStatus=r;if(r==="request-error"){e.treeList=[]}}},treeListAppendChildren:function e(t){return function(e){var a=n(e.treeList,t.childrenName);var i=a.find((function(e){return e[t.valueName]===t.value}));if(i){if(r(t.appendList)&&t.appendList.length>0){i[t.childrenName]=t.appendList}else{i.isLeaf=true}}e.treeTiledArray=n(e.treeList,t.childrenName)}}},state:_};var V={};var F=function e(r){if(!V[r]){V[r]=t(O)}return V[r]};var K=function e(r){var t=F(r).getState();return t.treeList};var M=function e(r,t,n){var l=a(t,n);return i(r,l,true,{value:"value",parentValue:"parentValue"})};var U=function e(t,n){var a=l(t)?[]:t;a=r(a)?a:[a];a=a.map((function(e){if(E(e))return e[n.value];return e}));return a};var z=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 o=t.value;var u=t.children;var c=function e(r,t,n){for(var a=0;a<r.length;a++){if(r[a][o]===t){return n(r[a],a,r)}if(r[a][u]){e(r[a][u],t,n)}}};var d=m(r);var v;c(d,i,(function(e,r,t){t.splice(r,1);v=e}));if(!n.dropToGap){c(d,a,(function(e){e[u]=e[u]||[];e[u].unshift(v)}))}else if((n.node.props.children||[]).length>0&&n.node.props.expanded&&s===1){c(d,a,(function(e){e[u]=e[u]||[];e[u].unshift(v)}))}else{var f=[];var p;c(d,a,(function(e,r,t){f=t;p=r}));if(s===-1){f.splice(p,0,v)}else{f.splice(p+1,0,v)}}return{dataList:d,dragNodeData:B(i,d,t)}};var B=function e(r,t,a){var i;var l=a.value;var s=a.children;x.walkThroughTree((i={},i[l]=undefined,i[s]=t,i),(function(e,r,t){e["__index"]=r;e["__parentId"]=t==null?void 0:t[l]}),s);var o=n(t,s);var u=o.find((function(e){return e[l]===r}));return{parentId:u==null?void 0:u["__parentId"],id:u==null?void 0:u[l],index:u==null?void 0:u["__index"]}};var H=["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"];var G=L((function(e,t){var i=e.style,L=e.serviceConfig,x=e.effectDependencyList,E=e.selectorTreeList,_=e.value,O=e.onChange,V=e.modelKey,K=e.checkableResponseParentNode,B=K===void 0?true:K,G=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,oe=e.onDropPrev,ue=e.labelRender,ce=e.searchStyle,de=e.className,ve=e.defaultExpandAll,fe=f(e,H);var pe=e.hasOwnProperty("selectorTreeList");var me=L||{};var he=x||[];var ge=j([]),ye=ge[0],be=ge[1];var Le=F(V).useStore(),je=Le[0],Ce=Le[1];var we=T.useSafeState(false),Re=we[0],Ne=we[1];var qe="request-progress-"+e.modelKey;var ke=C((function(){return p({label:"label",value:"value",children:"children"},e.fieldNames)}),[e.fieldNames]);var Se=ne===undefined?"fold":ne;var Te=ae===undefined?"click":ae;var De=w(true);var Pe=C((function(){return p({label:"label",value:"value"},ee)}),[ee]);var xe=j(),Ee=xe[0],Ae=xe[1];var Ie=w();var _e=C((function(){var e=U(_,Pe);return e}),[Pe,_]);T.useEffectCustom((function(){if(je.treeList.length>0){if(De.current){De.current=false;if(ve){var e=n(je.treeList,ke.children).map((function(e){return e[ke.value]}));be(e);return}else if(ie&&je.treeList.length){be([je.treeList[0][ke.value]]);return}}if(!l(_)){var r=Me(_e,true);be(Array.from(new Set(ye==null?void 0:ye.concat(r))))}}}),[_,je.treeList,_e]);var Oe=function e(r){return r===""||l(r)};var Ve=function e(r){var t=me.onRequestResultAdapter?me.onRequestResultAdapter(r):r;return t};T.useEffectCustom((function(){Ae(Q)}),[Q]);var Fe=v.useCallbackRef((function(){return new Promise((function(e,r){var t,n,a,i,l,s;var o=function(){try{return e()}catch(e){return r(e)}};var u=function(e){try{De.current=false;Ne(false);void b.error(e.message||"数据查询异常...");return o()}catch(e){return r(e)}};try{if(!me.onRequest){throw new Error("onRequest 调用接口服务不能为空")}t=me.requiredParamsKeys;n=d({},me.params);if(t){a=t.find((function(e){return Oe(n[e])}));if(a){console.warn("TreeWrapper组件:参数:"+t.join("、")+"不能为空");return e()}}var c=function(){try{return o()}catch(e){return u(e)}};var v=function(e){try{window[qe]=false;Ne(false);void Ce.changeRequestStatus("request-error");return c()}catch(e){return u(e)}};try{Ne(true);return Promise.resolve(Ce.changeRequestStatus("request-progress")).then((function(e){try{window[qe]=true;return Promise.resolve(me.onRequest==null?void 0:me.onRequest(n)).then((function(e){try{i=e;W==null?void 0:W(i);l=Ve(i);s=l||[];if(s.length===0){De.current=false}Ke(s);Ne(false);window[qe]=false;return c()}catch(e){return v(e)}}),v)}catch(e){return v(e)}}),v)}catch(e){v(e)}}catch(e){u(e)}}))}));T.useEffectCustom((function(){if(pe)return;if(Boolean(he.length)){void Fe();return}var e=F(V).getState();if(e.requestStatus==="request-success"){Y==null?void 0:Y(e.treeList);return}if(!window[qe]){void Fe()}else{Y==null?void 0:Y(e.treeList)}}),he);T.useEffectCustom((function(){if(pe){Ke(E||[])}}),[E]);var Ke=v.useCallbackRef((function(e){if((e==null?void 0:e.length)===0&&je.treeList.length===0){void Ce.changeRequestStatus("request-success");return}void Ce.setTreeList({treeList:e||[],childrenName:ke.children});Y==null?void 0:Y(e)}));var Me=function e(r,t){var n=[];r.forEach((function(e){if(!t&&ye!=null&&ye.includes(e))return;var r=M(e,je.treeList,ke);n=n.concat(r.map((function(e){return e.value})))}));return n};v.useUpdateEffect((function(){if(Ee){var e=a(je.treeList||[],ke);var r=e.filter((function(e){var r;return(r=e.label)==null?void 0:r.includes(Ee||"")}));be((function(e){var t=Me(r.map((function(e){return e.value}))).concat(e||[]);return Array.from(new Set(t))}))}else{be([])}}),[Ee]);R(t,(function(){return{onClearSelectorList:function e(){void Ce.resetTreeList()},getTreeDataList:function e(){return je.treeList}}}));var Ue=v.useCallbackRef((function(e){be(e)}));var ze=v.useCallbackRef((function(e,t,n){Ie.current=e;var a=l(t)?[]:r(t)?t:[t];if(l(e)){O==null?void 0:O(e,t,n);return}if(re){var i=Pe.label;var s=Pe.value;var o=a.map((function(e){var r;return r={},r[i]=e[ke.label],r[s]=e[ke.value],r}));if(r(e)){O==null?void 0:O(o,a,n)}else{O==null?void 0:O(o[0],a[0],n)}}else{if(r(e)){O==null?void 0:O(e,a,n)}else{O==null?void 0:O(e,a[0],n)}}}));var Be=v.useCallbackRef((function(t,n){var a=e.checkStrictly?t.checked:t;a=l(t)?[]:t;a=r(a)?a:[a];var i=[];var s=[];var o=[];var u=[];a.forEach((function(e){var t=je.treeTiledArray.find((function(r){return r[ke.value]===e}));if(!t)return;var n=t==null?void 0:t[ke.children];if(!r(n)||n.length===0){i.push(t);s.push(t[ke.value])}o.push(t);u.push(t[ke.value])}));if(G){be((function(e){var r=Me(s).concat(e||[]);return Array.from(new Set(r))}));if(!B&&!e.checkStrictly){ze(s,i,o)}else{ze(u,o,o)}}else{if(a[0]){var c=o.find((function(e){return e[ke.value]===a[0]}));ze(a[0],c,[c])}else{var d=n.node[ke.value];var v=je.treeTiledArray.find((function(e){return e[ke.value]===d}));ze(undefined,v,[v])}}}));var He=v.useCallbackRef((function(e){return J==null?void 0:J(e)}));var Ge=C((function(){var e=m(je.treeList||[]);if(Ee&&le!=="highlight"){return s(m(je.treeList||[]),(function(e){var r;var t=(r=e[ke.label])==null?void 0:r.toLowerCase();return t.indexOf(Ee.toLowerCase())>=0}),{childrenName:ke.children})}return e}),[ke.children,ke.label,le,je.treeList,Ee]);var Ye=C((function(){var e=function e(t){return t==null?void 0:t.map((function(t){var n;var a=(He==null?void 0:He(t))||t;var i=te?undefined:a.disabled;var l=a[ke.label];var s;if(Ee){var o=l.indexOf(Ee);var u=l.substring(0,o);var d=l.slice(o+Ee.length);s=o>-1?A("span",{className:c({"v-tree-item-disabled":a.disabled}),children:[u,I("span",{className:"site-tree-search-value",children:Ee}),d]}):null}if(!s){s=I("span",{className:c({"v-tree-item-disabled":a.disabled}),children:l})}var v=a[ke.children];return p({},a,(n={disabled:i},n[ke.label]=s,n._treeItemName=l,n._disabled=a.disabled,n[ke.children]=r(v)&&v.length>0?e(v):undefined,n))}))};return e(Ge)}),[Ge,He,te,ke.label,ke.children,Ee]);var We=v.useCallbackRef((function(r){return new Promise((function(t,n){return new Promise((function(a,i){var l,s,o,u;if(r[ke.children]){t();return a()}var c=function(){try{return a()}catch(e){return i(e)}};var d=function(e){try{void b.error(e.message||"数据加载异常...");n();return c()}catch(e){return i(e)}};try{return Promise.resolve((l=e.loadDataServiceConfig)==null?void 0:l.onRequest==null?void 0:l.onRequest((s=e.loadDataServiceConfig)==null?void 0:s.getParams==null?void 0:s.getParams(r))).then((function(e){try{o=e;u=me.onRequestResultAdapter?me.onRequestResultAdapter(o):o;void Ce.treeListAppendChildren({value:r[ke.value],appendList:u,childrenName:ke.children,valueName:ke.value}).then((function(e){Ke(e.treeList);t()}));return c()}catch(e){return d(e)}}),d)}catch(e){d(e)}}))}))}));var Je=v.useCallbackRef((function(r){var t=r==null?void 0:r[ke.children];var n=e.loadDataFlag;var a=n?!r.isLeaf:false;var i=t&&t.length>0||a;return!i}));var Qe=v.useCallbackRef((function(r){var t,n;var a=r._treeItemName||r[ke.label];if(Se==="fold"){var i;var l=[];if((i=e.menuOptions)!=null&&i.fold){var s,o,d;l=((s=e.menuOptions)==null?void 0:(o=s[Se])==null?void 0:o.call(s,p({},r,(d={},d[ke.label]=a,d))))||[]}else{var v;l=(e.getMenuOptions==null?void 0:e.getMenuOptions(p({},r,(v={},v[ke.label]=a,v))))||[]}return A(N,{children:[I("span",{className:"tree-item-title",children:(ue==null?void 0:ue(r))||(r==null?void 0:r[ke.label])}),l.length>0&&I(S,{menuList:l,children:I(u,{})})]})}var f=(t=e.menuOptions)==null?void 0:t.tile==null?void 0:t.tile(p({},r,(n={},n[ke.label]=a,n)));return A(N,{children:[I("span",{className:"tree-item-title",children:(ue==null?void 0:ue(r))||(r==null?void 0:r[ke.label])}),f?I(k,p({gap:5},f,{className:c("tree-item-title-operate",f.className)})):null]})}));var Xe=v.useDebounceCallback((function(r){Ae(r);e.onSearchValueChange==null?void 0:e.onSearchValueChange(r)}),300);var Ze=v.useCallbackRef((function(e){Xe(e.target.value)}));var $e=v.useCallbackRef((function(r){if(!e.icon)return null;if(q(e.icon))return e.icon;var t=Je(r.data);return e.icon(p({},r,{isParent:!t,isLeaf:t}))}));var er=C((function(){return{title:ke.label,key:ke.value,children:ke.children}}),[ke]);var rr=Ye.length>0&&je.requestStatus!=="request-error";var tr=p({showLine:{showLeafIcon:false},titleRender:Qe,blockNode:true,switcherIcon:I(o,{}),onDrop:function e(r){if(oe){var t=oe(r);if(!t)return}var n=z(Ge,ke,r),a=n.dataList,i=n.dragNodeData;se==null?void 0:se(i);Ke(a)},expandedKeys:ye},fe,{fieldNames:er,treeData:Ye,onExpand:Ue,loadData:e.loadDataFlag?We:undefined,style:{width:"100%"},icon:$e});var nr={onCheck:Be,checkable:G,checkedKeys:_e};var ar={onSelect:Be,multiple:false,selectedKeys:_e};var ir=G?nr:ar;var lr=c("v-tree-wrapper","v-tree-wrapper-menu-"+Te,de);var sr=je.treeList.length>0&&!rr&&Ee;return A("div",{className:lr,style:i,children:[!!X&&A("div",{className:"v-tree-wrapper-search-area",style:ce,children:[I(D,{className:"v-tree-wrapper-search",placeholder:Z,onChange:Ze,value:Q,allowClear:true}),!!e.searchExtraElement&&I("span",{className:"v-tree-wrapper-search-extra",children:e.searchExtraElement})]}),rr?A("div",{className:"v-tree-wrapper-tree-wrapper",children:[I(h,{spinning:je.requestStatus==="request-progress"}),I(g,p({},ir,tr,{className:"v-tree-wrapper-tree"}))]}):I(P,{status:je.requestStatus,loading:Re,messageConfig:p({"request-success":sr?"搜索结果为空":"暂无数据"},$),errorButton:I(y,{type:"primary",onClick:Fe,children:"重新获取数据"})})]})}));G.defaultProps={disabledCanUse:true};var Y=e.attachPropertiesToComponent(G,{getTreeDataList:K});export{Y as TreeWrapper};
15
+ import{f as e}from"../fba-utils-f9e11d02.js";import{isArray as r}from"@dimjs/lang/cjs/is-array";import{Model as t}from"@dimjs/model-react";import{treeToArray as n,treeToTiledArray as a,treeLeafParentsArray as i,isUndefinedOrNull as l,treeFilter as s}from"@flatbiz/utils";import o from"@ant-design/icons/es/icons/CaretDownFilled";import u 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 v}from"@wove/react/cjs/hooks";import{_ as f,a as p}from"../_rollupPluginBabelHelpers-1f4d8910.js";import{cloneState as m}from"@dimjs/model";import{Spin as h,Tree as g,Button as y,message as b}from"antd";import{forwardRef as L,useState as j,useMemo as C,useRef as w,useImperativeHandle as R,Fragment as N,isValidElement as q}from"react";import{a as k}from"../button-operate-fb40320e.js";import{D as S}from"../dropdown-menu-wrapper-98347af8.js";import{fbaHooks as T}from"../fba-hooks/index.js";import{I as D}from"../input-search-wrapper-10d4a9b9.js";import{R as x}from"../request-status-03fc60e2.js";import{tree as P}from"@dimjs/utils/cjs/tree";import{isObject as E}from"@dimjs/lang/cjs/is-object";import"dequal";import{jsxs as A,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-125fce50.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"../config-provider-wrapper-dfe8f592.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"@ant-design/icons/es/icons/ExclamationCircleFilled";import"../dialog-confirm-74fc9337.js";import"../dialog-modal-4a0c72c5.js";import"ahooks";import"react-dom/client";import"../flex-layout-8d2b668b.js";import"../use-responsive-point-21b8c601.js";var _={treeList:[],treeTiledArray:[],queryIsEmpty:false};var O={actions:{setTreeList:function e(r){return function(e){e.treeList=r.treeList||[];e.treeTiledArray=n(e.treeList,r.childrenName);e.requestStatus="request-success"}},resetTreeList:function e(){return function(e){e.treeList=[]}},changeRequestStatus:function e(r){return function(e){e.requestStatus=r;if(r==="request-error"){e.treeList=[]}}},treeListAppendChildren:function e(t){return function(e){var a=n(e.treeList,t.childrenName);var i=a.find((function(e){return e[t.valueName]===t.value}));if(i){if(r(t.appendList)&&t.appendList.length>0){i[t.childrenName]=t.appendList}else{i.isLeaf=true}}e.treeTiledArray=n(e.treeList,t.childrenName)}}},state:_};var V={};var F=function e(r){if(!V[r]){V[r]=t(O)}return V[r]};var K=function e(r){var t=F(r).getState();return t.treeList};var M=function e(r,t,n){var l=a(t,n);return i(r,l,true,{value:"value",parentValue:"parentValue"})};var U=function e(t,n){var a=l(t)?[]:t;a=r(a)?a:[a];a=a.map((function(e){if(E(e))return e[n.value];return e}));return a};var z=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 o=t.value;var u=t.children;var c=function e(r,t,n){for(var a=0;a<r.length;a++){if(r[a][o]===t){return n(r[a],a,r)}if(r[a][u]){e(r[a][u],t,n)}}};var d=m(r);var v;c(d,i,(function(e,r,t){t.splice(r,1);v=e}));if(!n.dropToGap){c(d,a,(function(e){e[u]=e[u]||[];e[u].unshift(v)}))}else if((n.node.props.children||[]).length>0&&n.node.props.expanded&&s===1){c(d,a,(function(e){e[u]=e[u]||[];e[u].unshift(v)}))}else{var f=[];var p;c(d,a,(function(e,r,t){f=t;p=r}));if(s===-1){f.splice(p,0,v)}else{f.splice(p+1,0,v)}}return{dataList:d,dragNodeData:B(i,d,t)}};var B=function e(r,t,a){var i;var l=a.value;var s=a.children;P.walkThroughTree((i={},i[l]=undefined,i[s]=t,i),(function(e,r,t){e["__index"]=r;e["__parentId"]=t==null?void 0:t[l]}),s);var o=n(t,s);var u=o.find((function(e){return e[l]===r}));return{parentId:u==null?void 0:u["__parentId"],id:u==null?void 0:u[l],index:u==null?void 0:u["__index"]}};var H=["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"];var Y=L((function(e,t){var i=e.style,L=e.serviceConfig,P=e.effectDependencyList,E=e.selectorTreeList,_=e.value,O=e.onChange,V=e.modelKey,K=e.checkableResponseParentNode,B=K===void 0?true:K,Y=e.checkable,G=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,oe=e.onDropPrev,ue=e.labelRender,ce=e.searchStyle,de=e.className,ve=e.defaultExpandAll,fe=f(e,H);var pe=e.hasOwnProperty("selectorTreeList");var me=L||{};var he=P||[];var ge=j([]),ye=ge[0],be=ge[1];var Le=F(V).useStore(),je=Le[0],Ce=Le[1];var we=T.useSafeState(false),Re=we[0],Ne=we[1];var qe="request-progress-"+e.modelKey;var ke=C((function(){return p({label:"label",value:"value",children:"children"},e.fieldNames)}),[e.fieldNames]);var Se=ne===undefined?"fold":ne;var Te=ae===undefined?"click":ae;var De=w(true);var xe=C((function(){return p({label:"label",value:"value"},ee)}),[ee]);var Pe=j(),Ee=Pe[0],Ae=Pe[1];var Ie=w();var _e=C((function(){var e=U(_,xe);return e}),[xe,_]);T.useEffectCustom((function(){if(je.treeList.length>0){if(De.current){De.current=false;if(ve){var e=n(je.treeList,ke.children).map((function(e){return e[ke.value]}));be(e);return}else if(ie&&je.treeList.length){be([je.treeList[0][ke.value]]);return}}if(!l(_)){var r=Me(_e,true);be(Array.from(new Set(ye==null?void 0:ye.concat(r))))}}}),[_,je.treeList,_e]);var Oe=function e(r){return r===""||l(r)};var Ve=function e(r){var t=me.onRequestResultAdapter?me.onRequestResultAdapter(r):r;return t};T.useEffectCustom((function(){Ae(Q)}),[Q]);var Fe=v.useCallbackRef((function(){return new Promise((function(e,r){var t,n,a,i,l,s;var o=function(){try{return e()}catch(e){return r(e)}};var u=function(e){try{De.current=false;Ne(false);void b.error(e.message||"数据查询异常...");return o()}catch(e){return r(e)}};try{if(!me.onRequest){throw new Error("onRequest 调用接口服务不能为空")}t=me.requiredParamsKeys;n=d({},me.params);if(t){a=t.find((function(e){return Oe(n[e])}));if(a){console.warn("TreeWrapper组件:参数:"+t.join("、")+"不能为空");return e()}}var c=function(){try{return o()}catch(e){return u(e)}};var v=function(e){try{window[qe]=false;Ne(false);void Ce.changeRequestStatus("request-error");return c()}catch(e){return u(e)}};try{Ne(true);return Promise.resolve(Ce.changeRequestStatus("request-progress")).then((function(e){try{window[qe]=true;return Promise.resolve(me.onRequest==null?void 0:me.onRequest(n)).then((function(e){try{i=e;W==null?void 0:W(i);l=Ve(i);s=l||[];if(s.length===0){De.current=false}Ke(s);Ne(false);window[qe]=false;return c()}catch(e){return v(e)}}),v)}catch(e){return v(e)}}),v)}catch(e){v(e)}}catch(e){u(e)}}))}));T.useEffectCustom((function(){if(pe)return;if(Boolean(he.length)){void Fe();return}var e=F(V).getState();if(e.requestStatus==="request-success"){G==null?void 0:G(e.treeList);return}if(!window[qe]){void Fe()}else{G==null?void 0:G(e.treeList)}}),he);T.useEffectCustom((function(){if(pe){Ke(E||[])}}),[E]);var Ke=v.useCallbackRef((function(e){if((e==null?void 0:e.length)===0&&je.treeList.length===0){void Ce.changeRequestStatus("request-success");return}void Ce.setTreeList({treeList:e||[],childrenName:ke.children});G==null?void 0:G(e)}));var Me=function e(r,t){var n=[];r.forEach((function(e){if(!t&&ye!=null&&ye.includes(e))return;var r=M(e,je.treeList,ke);n=n.concat(r.map((function(e){return e.value})))}));return n};v.useUpdateEffect((function(){if(Ee){var e=a(je.treeList||[],ke);var r=e.filter((function(e){var r;return(r=e.label)==null?void 0:r.includes(Ee||"")}));be((function(e){var t=Me(r.map((function(e){return e.value}))).concat(e||[]);return Array.from(new Set(t))}))}else{be([])}}),[Ee]);R(t,(function(){return{onClearSelectorList:function e(){void Ce.resetTreeList()},getTreeDataList:function e(){return je.treeList}}}));var Ue=v.useCallbackRef((function(e){be(e)}));var ze=v.useCallbackRef((function(e,t,n){Ie.current=e;var a=l(t)?[]:r(t)?t:[t];if(l(e)){O==null?void 0:O(e,t,n);return}if(re){var i=xe.label;var s=xe.value;var o=a.map((function(e){var r;return r={},r[i]=e[ke.label],r[s]=e[ke.value],r}));if(r(e)){O==null?void 0:O(o,a,n)}else{O==null?void 0:O(o[0],a[0],n)}}else{if(r(e)){O==null?void 0:O(e,a,n)}else{O==null?void 0:O(e,a[0],n)}}}));var Be=v.useCallbackRef((function(t,n){var a=e.checkStrictly?t.checked:t;a=l(t)?[]:t;a=r(a)?a:[a];var i=[];var s=[];var o=[];var u=[];a.forEach((function(e){var t=je.treeTiledArray.find((function(r){return r[ke.value]===e}));if(!t)return;var n=t==null?void 0:t[ke.children];if(!r(n)||n.length===0){i.push(t);s.push(t[ke.value])}o.push(t);u.push(t[ke.value])}));if(Y){be((function(e){var r=Me(s).concat(e||[]);return Array.from(new Set(r))}));if(!B&&!e.checkStrictly){ze(s,i,o)}else{ze(u,o,o)}}else{if(a[0]){var c=o.find((function(e){return e[ke.value]===a[0]}));ze(a[0],c,[c])}else{var d=n.node[ke.value];var v=je.treeTiledArray.find((function(e){return e[ke.value]===d}));ze(undefined,v,[v])}}}));var He=v.useCallbackRef((function(e){return J==null?void 0:J(e)}));var Ye=C((function(){var e=m(je.treeList||[]);if(Ee&&le!=="highlight"){return s(m(je.treeList||[]),(function(e){var r;var t=(r=e[ke.label])==null?void 0:r.toLowerCase();return t.indexOf(Ee.toLowerCase())>=0}),{childrenName:ke.children})}return e}),[ke.children,ke.label,le,je.treeList,Ee]);var Ge=C((function(){var e=function e(t){return t==null?void 0:t.map((function(t){var n;var a=(He==null?void 0:He(t))||t;var i=te?undefined:a.disabled;var l=a[ke.label];var s;if(Ee){var o=l.indexOf(Ee);var u=l.substring(0,o);var d=l.slice(o+Ee.length);s=o>-1?A("span",{className:c({"v-tree-item-disabled":a.disabled}),children:[u,I("span",{className:"site-tree-search-value",children:Ee}),d]}):null}if(!s){s=I("span",{className:c({"v-tree-item-disabled":a.disabled}),children:l})}var v=a[ke.children];return p({},a,(n={disabled:i},n[ke.label]=s,n._treeItemName=l,n._disabled=a.disabled,n[ke.children]=r(v)&&v.length>0?e(v):undefined,n))}))};return e(Ye)}),[Ye,He,te,ke.label,ke.children,Ee]);var We=v.useCallbackRef((function(r){return new Promise((function(t,n){return new Promise((function(a,i){var l,s,o,u;if(r[ke.children]){t();return a()}var c=function(){try{return a()}catch(e){return i(e)}};var d=function(e){try{void b.error(e.message||"数据加载异常...");n();return c()}catch(e){return i(e)}};try{return Promise.resolve((l=e.loadDataServiceConfig)==null?void 0:l.onRequest==null?void 0:l.onRequest((s=e.loadDataServiceConfig)==null?void 0:s.getParams==null?void 0:s.getParams(r))).then((function(e){try{o=e;u=me.onRequestResultAdapter?me.onRequestResultAdapter(o):o;void Ce.treeListAppendChildren({value:r[ke.value],appendList:u,childrenName:ke.children,valueName:ke.value}).then((function(e){Ke(e.treeList);t()}));return c()}catch(e){return d(e)}}),d)}catch(e){d(e)}}))}))}));var Je=v.useCallbackRef((function(r){var t=r==null?void 0:r[ke.children];var n=e.loadDataFlag;var a=n?!r.isLeaf:false;var i=t&&t.length>0||a;return!i}));var Qe=v.useCallbackRef((function(r){var t,n;var a=r._treeItemName||r[ke.label];if(Se==="fold"){var i;var l=[];if((i=e.menuOptions)!=null&&i.fold){var s,o,d;l=((s=e.menuOptions)==null?void 0:(o=s[Se])==null?void 0:o.call(s,p({},r,(d={},d[ke.label]=a,d))))||[]}else{var v;l=(e.getMenuOptions==null?void 0:e.getMenuOptions(p({},r,(v={},v[ke.label]=a,v))))||[]}return A(N,{children:[I("span",{className:"tree-item-title",children:(ue==null?void 0:ue(r))||(r==null?void 0:r[ke.label])}),l.length>0&&I(S,{menuList:l,children:I(u,{})})]})}var f=(t=e.menuOptions)==null?void 0:t.tile==null?void 0:t.tile(p({},r,(n={},n[ke.label]=a,n)));return A(N,{children:[I("span",{className:"tree-item-title",children:(ue==null?void 0:ue(r))||(r==null?void 0:r[ke.label])}),f?I(k,p({gap:5},f,{className:c("tree-item-title-operate",f.className)})):null]})}));var Xe=v.useDebounceCallback((function(r){Ae(r);e.onSearchValueChange==null?void 0:e.onSearchValueChange(r)}),300);var Ze=v.useCallbackRef((function(e){Xe(e.target.value)}));var $e=v.useCallbackRef((function(r){if(!e.icon)return null;if(q(e.icon))return e.icon;var t=Je(r.data);return e.icon(p({},r,{isParent:!t,isLeaf:t}))}));var er=C((function(){return{title:ke.label,key:ke.value,children:ke.children}}),[ke]);var rr=Ge.length>0&&je.requestStatus!=="request-error";var tr=p({showLine:{showLeafIcon:false},titleRender:Qe,blockNode:true,switcherIcon:I(o,{}),onDrop:function e(r){if(oe){var t=oe(r);if(!t)return}var n=z(Ye,ke,r),a=n.dataList,i=n.dragNodeData;se==null?void 0:se(i);Ke(a)},expandedKeys:ye},fe,{fieldNames:er,treeData:Ge,onExpand:Ue,loadData:e.loadDataFlag?We:undefined,style:{width:"100%"},icon:$e});var nr={onCheck:Be,checkable:Y,checkedKeys:_e};var ar={onSelect:Be,multiple:false,selectedKeys:_e};var ir=Y?nr:ar;var lr=c("v-tree-wrapper","v-tree-wrapper-menu-"+Te,de);var sr=je.treeList.length>0&&!rr&&Ee;return A("div",{className:lr,style:i,children:[!!X&&A("div",{className:"v-tree-wrapper-search-area",style:ce,children:[I(D,{className:"v-tree-wrapper-search",placeholder:Z,onChange:Ze,value:Q,allowClear:true}),!!e.searchExtraElement&&I("span",{className:"v-tree-wrapper-search-extra",children:e.searchExtraElement})]}),rr?A("div",{className:"v-tree-wrapper-tree-wrapper",children:[I(h,{spinning:je.requestStatus==="request-progress"}),I(g,p({},ir,tr,{className:"v-tree-wrapper-tree"}))]}):I(x,{status:je.requestStatus,loading:Re,messageConfig:p({"request-success":sr?"搜索结果为空":"暂无数据"},$),errorButton:I(y,{type:"primary",onClick:Fe,children:"重新获取数据"})})]})}));Y.defaultProps={disabledCanUse:true};var G=e.attachPropertiesToComponent(Y,{getTreeDataList:K});export{G as TreeWrapper};
16
16
  //# sourceMappingURL=index.js.map
package/index.d.ts CHANGED
@@ -3,8 +3,9 @@
3
3
 
4
4
  import { API, ModelType } from '@dimjs/model';
5
5
  import { DateFormatType, TAny, TNoopDefine, TPlainObject } from '@flatbiz/utils';
6
+ import { DraggableChildrenFn, DropResult, DroppableProvided, DroppableStateSnapshot, ResponderProvided } from '@hello-pangea/dnd';
6
7
  import { IAllProps } from '@tinymce/tinymce-react';
7
- import { ButtonProps, CascaderProps, CheckboxProps, DrawerProps, DropdownProps, FormInstance, FormItemProps, InputNumberProps, InputProps, ModalProps, PaginationProps, PopconfirmProps, RadioGroupProps, RowProps, SelectProps, SpaceProps, SwitchProps, TableProps, TabsProps, TagProps, TimePickerProps, TimeRangePickerProps, TooltipProps, TreeProps, TreeSelectProps, UploadProps } from 'antd';
8
+ import { ButtonProps, CascaderProps, CheckboxProps, CollapseProps, DrawerProps, DropdownProps, FormInstance, FormItemProps, InputNumberProps, InputProps, ModalProps, PaginationProps, PopconfirmProps, RadioGroupProps, RowProps, SelectProps, SpaceProps, SwitchProps, TableProps, TabsProps, TagProps, TimePickerProps, TimeRangePickerProps, TooltipProps, TreeProps, TreeSelectProps, UploadProps } from 'antd';
8
9
  import { ConfigProviderProps } from 'antd/es/config-provider';
9
10
  import { PickerDateProps } from 'antd/es/date-picker/generatePicker';
10
11
  import { CheckboxGroupProps } from 'antd/lib/checkbox';
@@ -568,6 +569,116 @@ export declare const dialogLoading: {
568
569
  */
569
570
  close: () => void;
570
571
  };
572
+ export type DragCollapseItemKey = number | string;
573
+ export type DragCollapseItem = {
574
+ key: DragCollapseItemKey;
575
+ header: ReactNode;
576
+ content: ReactElement;
577
+ };
578
+ export type DragCollapseProps = {
579
+ /** 面板数据 */
580
+ items: DragCollapseItem[];
581
+ /** 拖拽面板回调 */
582
+ onDropChange: (items: DragCollapseItem[]) => void;
583
+ /** 手风琴模式,只允许单个内容区域展开 */
584
+ accordion?: boolean;
585
+ /** 当前激活 tab 面板的key */
586
+ activeKey?: DragCollapseItemKey | DragCollapseItemKey[];
587
+ /** 所有子面板是否可折叠或指定可折叠触发区域,可选: header | icon | disabled */
588
+ collapsible?: CollapseProps["collapsible"];
589
+ /** 初始化选中面板的 key */
590
+ defaultActiveKey?: DragCollapseItemKey[];
591
+ /** 自定义切换图标 */
592
+ expandIcon?: CollapseProps["expandIcon"];
593
+ /** 设置图标位置,可选:start | end */
594
+ expandIconPosition?: CollapseProps["expandIconPosition"];
595
+ /** 设置折叠面板大小 */
596
+ size?: CollapseProps["size"];
597
+ /** 隐藏拖拽图标,默认不隐藏 */
598
+ hideDragIcon?: boolean;
599
+ /** 设置拖拽图标 */
600
+ dragIcon?: ReactElement;
601
+ /** 切换面板的回调 */
602
+ onChange?: (activeKey?: DragCollapseItemKey | DragCollapseItemKey[]) => void;
603
+ className?: string;
604
+ style?: CSSProperties;
605
+ };
606
+ /**
607
+ * 可拖拽 折叠面板
608
+ * @demo https://fex.qa.tcshuke.com/docs/admin/main/move/sort
609
+ */
610
+ export declare const DragCollapse: (props: DragCollapseProps) => JSX.Element;
611
+ export type DragDropProps<T> = {
612
+ /** dataList数组对象中唯一值字段key */
613
+ uidFieldKey: string;
614
+ dataList: T[];
615
+ children: (item: T, index: number) => ReactElement;
616
+ /** 拖拽方向 */
617
+ direction?: "horizontal" | "vertical";
618
+ /** 拖拽结束回调 */
619
+ onDragEnd: (dataList: T[], result: DropResult, provided: ResponderProvided) => void;
620
+ className?: string;
621
+ style?: CSSProperties;
622
+ };
623
+ export type DraggableItemProps = {
624
+ /** 拖拽节点ID */
625
+ draggableId: string;
626
+ /** 拖拽节点数组索引 */
627
+ index: number;
628
+ children: ReactElement;
629
+ /** 是否禁用拖拽节点 */
630
+ isDragDisabled?: boolean;
631
+ dragCancelMove?: boolean;
632
+ component?: boolean;
633
+ className?: string;
634
+ };
635
+ export type DroppableItemProps = {
636
+ /** 拖拽范围ID */
637
+ droppableId: string;
638
+ children: (dropProvided: DroppableProvided, dropSnapshot: DroppableStateSnapshot) => ReactElement;
639
+ /** 拖拽方向 */
640
+ direction?: "horizontal" | "vertical";
641
+ /** 拖拽范围禁止 */
642
+ isDropDisabled?: boolean;
643
+ className?: string;
644
+ renderClone?: DraggableChildrenFn;
645
+ type?: string;
646
+ };
647
+ export declare const DragDrop: (<T extends object = any>(props: DragDropProps<T>) => JSX.Element) & {
648
+ /**
649
+ * 拖拽节点
650
+ * @demo https://fex.qa.tcshuke.com/docs/admin/main/move/sort
651
+ * ```
652
+ * 1. index 为索引值,从0开始递增,必须正确传递
653
+ * 2. droppableIndex 为父节点 DroppableItem 的索引值
654
+ * 3. 当 DraggableItem处在map循环中注意事项
655
+ * A. 如果为跟节点 key 赋值要与 draggableId 相同
656
+ * ```
657
+ */
658
+ DraggableItem: (props: DraggableItemProps) => JSX.Element;
659
+ /**
660
+ * 拖拽范围设置
661
+ * @demo https://fex.qa.tcshuke.com/docs/admin/main/move/sort
662
+ */
663
+ DroppableItem: (props: DroppableItemProps) => JSX.Element;
664
+ };
665
+ export type DragDropMultiProps<T> = {
666
+ uidFieldKey: string;
667
+ dataList: T[][];
668
+ children: (item: T, index: number) => ReactElement;
669
+ direction?: "horizontal" | "vertical";
670
+ onDragEnd: (dataList: T[][], result: DropResult, provided: ResponderProvided) => void;
671
+ };
672
+ /**
673
+ * 拖拽(多个)
674
+ * @param props
675
+ * @returns
676
+ * ```
677
+ * 1. dataList数组中必须要有唯一值字段
678
+ * 2. uidFieldKey dataList数组对象中唯一值字段key
679
+ * ```
680
+ */
681
+ export declare const DragDropMulti: <T extends object = any>(props: DragDropMultiProps<T>) => JSX.Element;
571
682
  export interface DrawerOperationProps {
572
683
  loading?: boolean;
573
684
  okText?: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flatbiz/antd",
3
- "version": "4.2.51",
3
+ "version": "4.2.53",
4
4
  "description": "flat-biz ui components",
5
5
  "main": "index.js",
6
6
  "typings": "index.d.ts",
@@ -53,12 +53,13 @@
53
53
  "react": "18.2.0",
54
54
  "react-dom": "18.2.0",
55
55
  "ahooks": "^3.7.5",
56
- "react-is": ">=18.2.0"
56
+ "react-is": "^18.2.0"
57
57
  },
58
58
  "dependencies": {
59
59
  "dequal": "^2.0.3",
60
60
  "pubsub-js": "^1.9.4",
61
- "@tinymce/tinymce-react": "^4.3.0"
61
+ "@tinymce/tinymce-react": "^4.3.0",
62
+ "@hello-pangea/dnd": "^16.2.0"
62
63
  },
63
64
  "gitHead": "4378d433b73ee28fd7cb4c64bed8571f993eb5a9"
64
65
  }
@@ -1,3 +0,0 @@
1
- /*! @flatjs/forge MIT @flatbiz/antd */
2
- import e from"@ant-design/icons/es/icons/ExclamationCircleFilled";import{_ as r,a as o}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{hooks as n}from"@wove/react/cjs/hooks";import{Dropdown as i}from"antd";import{Fragment as t,useMemo as a,createElement as l}from"react";import{B as s}from"./button-wrapper-e8fa0aac.js";import{d as f}from"./dialog-confirm-24107a78.js";import{f as d}from"./fba-utils-f9e11d02.js";import{F as m}from"./flex-layout-8d2b668b.js";import{jsxs as c,jsx as u}from"react/jsx-runtime";function p(e){var r=true;var o=false;while(r){if(e.tagName==="HTML"||e.tagName==="BODY"){r=false;o=false}else{var n=window.getComputedStyle(e),i=n.position;if(i==="sticky"){o=true;r=false}else{if(!e||!e.parentNode){r=false}else{e=e.parentNode}}}}return o}var v=["menuList"],g=["text","color","permission","needConfirm","confirmMessage","hidden","type","style","confirmModalProps"];var y=function y(h){var x=h.menuList,C=r(h,v);var P=n.useId(undefined,"DropdownMenuWrapper");var k=n.useCallbackRef((function(r,n){n.stopPropagation();if(r.needConfirm){var i;f.open(o({title:c(m,{direction:"horizontal",fullIndex:1,gap:8,children:[u(e,{style:{color:"#faad14"}}),u("span",{children:r.text})]}),content:u(t,{children:r.confirmMessage}),onOk:(i=r.onClick)==null?void 0:i.bind(null,n),okButtonProps:{loadingPosition:"center"}},r.confirmModalProps))}}));var M=document.querySelector("."+P);var b=a((function(){if(h.isFixed||M&&p(M)){return undefined}return M}),[h.isFixed,M]);var j=a((function(){var e=[];x.filter(Boolean).forEach((function(n,i){if(!n)return;var t=n.text,a=n.color,f=n.permission,m=n.needConfirm,c=n.confirmMessage,u=n.hidden,p=n.type,v=n.style,y=n.confirmModalProps,h=r(n,g);if(u)return;if(f&&!d.hasPermission(f))return;var x=a?o({color:a},v):v;var C=p||"link";e.push({key:i,label:l(s,o({loadingPosition:"center",size:"small"},h,{type:C,style:x,key:i,onClick:k.bind(null,o({},n,{needConfirm:m,confirmMessage:c,confirmModalProps:y}))}),t)})}));return e}),[x,k]);return u("div",{className:P,style:{position:"relative"},children:u(i,o({trigger:(C==null?void 0:C.trigger)||["hover"],getPopupContainer:b?function(){return M}:undefined,arrow:{pointAtCenter:true}},C,{overlayStyle:o({zIndex:9},C.overlayStyle),menu:{items:j},children:h.children}))})};export{y as D};
3
- //# sourceMappingURL=dropdown-menu-wrapper-3bffcb23.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dropdown-menu-wrapper-3bffcb23.js","sources":["@flatbiz/antd/src/dropdown-menu-wrapper/utils.ts","@flatbiz/antd/src/dropdown-menu-wrapper/dropdown-menu-wrapper.tsx"],"sourcesContent":["export function parentsHasSticky(node: Element) {\n let condition = true;\n let result = false;\n while (condition) {\n if (node.tagName === 'HTML' || node.tagName === 'BODY') {\n condition = false;\n result = false;\n } else {\n const { position } = window.getComputedStyle(node);\n if (position === 'sticky') {\n result = true;\n condition = false;\n } else {\n if (!node || !node.parentNode) {\n condition = false;\n } else {\n node = node.parentNode as Element;\n }\n }\n }\n }\n return result;\n}\n","import { ExclamationCircleFilled } from '@ant-design/icons';\nimport { hooks } from '@wove/react';\nimport { ButtonProps, Dropdown, DropdownProps } from 'antd';\nimport { ItemType } from 'antd/lib/menu/hooks/useItems';\nimport { Fragment, ReactElement, useMemo } from 'react';\nimport { ButtonWrapper } from '../button-wrapper';\nimport { dialogConfirm } from '../dialog-confirm';\nimport { DialogModalProps } from '../dialog-modal';\nimport { fbaUtils } from '../fba-utils';\nimport { FlexLayout } from '../flex-layout';\nimport { parentsHasSticky } from './utils';\n\nexport interface DropdownMenuItem extends ButtonProps {\n text?: string | ReactElement;\n color?: string;\n onClick?: (event: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n permission?: string;\n needConfirm?: boolean;\n confirmMessage?: string;\n hidden?: boolean;\n confirmModalProps?: DialogModalProps;\n}\n\nexport interface DropdownMenuWrapperProps extends Omit<DropdownProps, 'menu'> {\n menuList: Array<DropdownMenuItem | null>;\n isFixed?: boolean;\n}\n\n/**\n * DropdownMenuWrapper\n * 升级 antd 5.5.1 后,Dropdown 中 Popconfirm弹框使用存在问题,所以在 @flatbiz/antd@4.2.49版本修改为使用dialogConfirm组件实现二次弹框确认功能\n * @param props\n * @returns\n */\nexport const DropdownMenuWrapper = (props: DropdownMenuWrapperProps) => {\n const { menuList, ...dropdownOtherProps } = props;\n const clsName = hooks.useId(undefined, 'DropdownMenuWrapper');\n\n const onClick = hooks.useCallbackRef((item: DropdownMenuItem, event) => {\n event.stopPropagation();\n if (item.needConfirm) {\n dialogConfirm.open({\n title: (\n <FlexLayout direction=\"horizontal\" fullIndex={1} gap={8}>\n <ExclamationCircleFilled style={{ color: '#faad14' }} />\n <span>{item.text}</span>\n </FlexLayout>\n ),\n content: <Fragment>{item.confirmMessage}</Fragment>,\n onOk: item.onClick?.bind(null, event),\n okButtonProps: {\n loadingPosition: 'center',\n },\n ...item.confirmModalProps,\n });\n }\n });\n\n const target = document.querySelector(`.${clsName}`);\n const container = useMemo(() => {\n if (props.isFixed || (target && parentsHasSticky(target))) {\n return undefined;\n }\n return target;\n }, [props.isFixed, target]);\n\n const menuItems = useMemo(() => {\n const menuItemsNew: ItemType[] = [];\n menuList.filter(Boolean).forEach((item, index) => {\n if (!item) return;\n const {\n text,\n color,\n permission,\n needConfirm,\n confirmMessage,\n hidden,\n type,\n style,\n confirmModalProps,\n ...otherProps\n } = item;\n if (hidden) return;\n if (permission && !fbaUtils.hasPermission(permission)) return;\n const newStyle = color ? { color, ...style } : style;\n const buttonType = type || 'link';\n menuItemsNew.push({\n key: index,\n label: (\n <ButtonWrapper\n loadingPosition=\"center\"\n size=\"small\"\n {...otherProps}\n type={buttonType}\n style={newStyle}\n key={index}\n onClick={onClick.bind(null, {\n ...item,\n needConfirm,\n confirmMessage,\n confirmModalProps,\n })}\n >\n {text}\n </ButtonWrapper>\n ),\n });\n });\n return menuItemsNew;\n }, [menuList, onClick]);\n\n return (\n <div className={clsName} style={{ position: 'relative' }}>\n <Dropdown\n trigger={dropdownOtherProps?.trigger || ['hover']}\n getPopupContainer={container ? () => target as HTMLElement : undefined}\n arrow={{ pointAtCenter: true }}\n {...dropdownOtherProps}\n overlayStyle={{ zIndex: 9, ...dropdownOtherProps.overlayStyle }}\n menu={{ items: menuItems }}\n >\n {props.children}\n </Dropdown>\n </div>\n );\n};\n"],"names":["parentsHasSticky","node","condition","result","tagName","_window$getComputedSt","window","getComputedStyle","position","parentNode","DropdownMenuWrapper","props","menuList","dropdownOtherProps","_objectWithoutPropertiesLoose","_excluded","clsName","_hooks","useId","undefined","onClick","useCallbackRef","item","event","stopPropagation","needConfirm","_item$onClick","dialogConfirm","open","_extends","title","_jsxs","FlexLayout","direction","fullIndex","gap","children","_jsx","_ExclamationCircleFilled","style","color","text","content","Fragment","confirmMessage","onOk","bind","okButtonProps","loadingPosition","confirmModalProps","target","document","querySelector","container","useMemo","isFixed","menuItems","menuItemsNew","filter","Boolean","forEach","index","permission","hidden","type","otherProps","_excluded2","fbaUtils","hasPermission","newStyle","buttonType","push","key","label","_createElement","ButtonWrapper","size","className","Dropdown","trigger","getPopupContainer","arrow","pointAtCenter","overlayStyle","zIndex","menu","items"],"mappings":";kgBAAO,SAASA,EAAiBC,GAC/B,IAAIC,EAAY,KAChB,IAAIC,EAAS,MACb,MAAOD,EAAW,CAChB,GAAID,EAAKG,UAAY,QAAUH,EAAKG,UAAY,OAAQ,CACtDF,EAAY,MACZC,EAAS,KACX,KAAO,CACL,IAAAE,EAAqBC,OAAOC,iBAAiBN,GAArCO,EAAQH,EAARG,SACR,GAAIA,IAAa,SAAU,CACzBL,EAAS,KACTD,EAAY,KACd,KAAO,CACL,IAAKD,IAASA,EAAKQ,WAAY,CAC7BP,EAAY,KACd,KAAO,CACLD,EAAOA,EAAKQ,UACd,CACF,CACF,CACF,CACA,OAAON,CACT,mICYaO,EAAsB,SAAtBA,EAAuBC,GAClC,IAAQC,EAAoCD,EAApCC,SAAaC,EAAkBC,EAAKH,EAAKI,GACjD,IAAMC,EAAUC,EAAMC,MAAMC,UAAW,uBAEvC,IAAMC,EAAUH,EAAMI,gBAAe,SAACC,EAAwBC,GAC5DA,EAAMC,kBACN,GAAIF,EAAKG,YAAa,CAAA,IAAAC,EACpBC,EAAcC,KAAIC,EAAA,CAChBC,MACEC,EAACC,EAAU,CAACC,UAAU,aAAaC,UAAW,EAAGC,IAAK,EAAEC,SAAA,CACtDC,EAAAC,EAAA,CAAyBC,MAAO,CAAEC,MAAO,aACzCH,EAAA,OAAA,CAAAD,SAAOd,EAAKmB,UAGhBC,QAASL,EAACM,EAAQ,CAAAP,SAAEd,EAAKsB,iBACzBC,MAAInB,EAAEJ,EAAKF,UAAO,UAAA,EAAZM,EAAcoB,KAAK,KAAMvB,GAC/BwB,cAAe,CACbC,gBAAiB,WAEhB1B,EAAK2B,mBAEZ,CACF,IAEA,IAAMC,EAASC,SAASC,cAAa,IAAKpC,GAC1C,IAAMqC,EAAYC,GAAQ,WACxB,GAAI3C,EAAM4C,SAAYL,GAAUlD,EAAiBkD,GAAU,CACzD,OAAO/B,SACT,CACA,OAAO+B,CACR,GAAE,CAACvC,EAAM4C,QAASL,IAEnB,IAAMM,EAAYF,GAAQ,WACxB,IAAMG,EAA2B,GACjC7C,EAAS8C,OAAOC,SAASC,SAAQ,SAACtC,EAAMuC,GACtC,IAAKvC,EAAM,OACX,IACEmB,EAUEnB,EAVFmB,KACAD,EASElB,EATFkB,MACAsB,EAQExC,EARFwC,WACArC,EAOEH,EAPFG,YACAmB,EAMEtB,EANFsB,eACAmB,EAKEzC,EALFyC,OACAC,EAIE1C,EAJF0C,KACAzB,EAGEjB,EAHFiB,MACAU,EAEE3B,EAFF2B,kBACGgB,EAAUnD,EACXQ,EAAI4C,GACR,GAAIH,EAAQ,OACZ,GAAID,IAAeK,EAASC,cAAcN,GAAa,OACvD,IAAMO,EAAW7B,EAAKX,EAAA,CAAKW,MAAAA,GAAUD,GAAUA,EAC/C,IAAM+B,EAAaN,GAAQ,OAC3BP,EAAac,KAAK,CAChBC,IAAKX,EACLY,MACEC,EAACC,EAAa9C,EAAA,CACZmB,gBAAgB,SAChB4B,KAAK,SACDX,EAAU,CACdD,KAAMM,EACN/B,MAAO8B,EACPG,IAAKX,EACLzC,QAASA,EAAQ0B,KAAK,KAAIjB,EAAA,CAAA,EACrBP,EAAI,CACPG,YAAAA,EACAmB,eAAAA,EACAK,kBAAAA,OAGDR,IAIT,IACA,OAAOgB,CACT,GAAG,CAAC7C,EAAUQ,IAEd,OACEiB,EAAA,MAAA,CAAKwC,UAAW7D,EAASuB,MAAO,CAAE/B,SAAU,YAAa4B,SACvDC,EAACyC,EAAQjD,EAAA,CACPkD,SAASlE,GAAAA,UAAAA,EAAAA,EAAoBkE,UAAW,CAAC,SACzCC,kBAAmB3B,EAAY,WAAA,OAAMH,CAAM,EAAkB/B,UAC7D8D,MAAO,CAAEC,cAAe,OACpBrE,EAAkB,CACtBsE,aAAYtD,EAAA,CAAIuD,OAAQ,GAAMvE,EAAmBsE,cACjDE,KAAM,CAAEC,MAAO9B,GAAYpB,SAE1BzB,EAAMyB,aAIf"}