@flatbiz/antd 4.2.61 → 4.2.62

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 (54) hide show
  1. package/esm/anchor-steps/index.js +1 -1
  2. package/esm/{anchor-steps-fba86c87.js → anchor-steps-601a335f.js} +2 -2
  3. package/esm/{anchor-steps-fba86c87.js.map → anchor-steps-601a335f.js.map} +1 -1
  4. package/esm/cascader-wrapper/index.js +1 -1
  5. package/esm/{cascader-wrapper-a965eef5.js → cascader-wrapper-2f6a926f.js} +2 -2
  6. package/esm/{cascader-wrapper-a965eef5.js.map → cascader-wrapper-2f6a926f.js.map} +1 -1
  7. package/esm/content-c0e49ffb.js +3 -0
  8. package/esm/content-c0e49ffb.js.map +1 -0
  9. package/esm/context-1f2093c6.js +3 -0
  10. package/esm/context-1f2093c6.js.map +1 -0
  11. package/esm/dialog-drawer/index.js +1 -1
  12. package/esm/dialog-drawer-550ce42c.js +3 -0
  13. package/esm/dialog-drawer-550ce42c.js.map +1 -0
  14. package/esm/dialog-drawer-content/index.css +1 -0
  15. package/esm/dialog-drawer-content/index.js +9 -0
  16. package/esm/dialog-drawer-content/index.js.map +1 -0
  17. package/esm/dialog-loading/index.js +1 -1
  18. package/esm/{dialog-loading-16bd1baa.js → dialog-loading-53cf2c60.js} +2 -2
  19. package/esm/{dialog-loading-16bd1baa.js.map → dialog-loading-53cf2c60.js.map} +1 -1
  20. package/esm/easy-table/index.js +2 -1
  21. package/esm/easy-table/index.js.map +1 -1
  22. package/esm/editable-field/index.js +1 -1
  23. package/esm/{editable-field-2042924e.js → editable-field-bcac193d.js} +2 -2
  24. package/esm/{editable-field-2042924e.js.map → editable-field-bcac193d.js.map} +1 -1
  25. package/esm/editable-field-provider/index.js +1 -1
  26. package/esm/{editable-field-provider-20963c3e.js → editable-field-provider-3223073a.js} +2 -2
  27. package/esm/{editable-field-provider-20963c3e.js.map → editable-field-provider-3223073a.js.map} +1 -1
  28. package/esm/editable-table/index.js +1 -1
  29. package/esm/{editable-table-81eca425.js → editable-table-c17d96ed.js} +2 -2
  30. package/esm/{editable-table-81eca425.js.map → editable-table-c17d96ed.js.map} +1 -1
  31. package/esm/index.js +3 -1
  32. package/esm/local-loading/index.js +1 -1
  33. package/esm/pagination-0e66a3b5.js +3 -0
  34. package/esm/pagination-0e66a3b5.js.map +1 -0
  35. package/esm/pagination-wrapper/index.css +0 -0
  36. package/esm/pagination-wrapper/index.js +5 -0
  37. package/esm/pagination-wrapper/index.js.map +1 -0
  38. package/esm/selector-wrapper/index.js +1 -1
  39. package/esm/{selector-wrapper-91427b7d.js → selector-wrapper-773778c0.js} +2 -2
  40. package/esm/{selector-wrapper-91427b7d.js.map → selector-wrapper-773778c0.js.map} +1 -1
  41. package/esm/selector-wrapper-search/index.js +1 -1
  42. package/esm/{selector-wrapper-search-c763c481.js → selector-wrapper-search-54866dd6.js} +2 -2
  43. package/esm/{selector-wrapper-search-c763c481.js.map → selector-wrapper-search-54866dd6.js.map} +1 -1
  44. package/esm/selector-wrapper-simple/index.js +1 -1
  45. package/esm/{selector-wrapper-simple-1c0ceae7.js → selector-wrapper-simple-7b34f7bd.js} +2 -2
  46. package/esm/{selector-wrapper-simple-1c0ceae7.js.map → selector-wrapper-simple-7b34f7bd.js.map} +1 -1
  47. package/esm/tree-selector-wrapper/index.js +1 -1
  48. package/esm/{tree-selector-wrapper-8c9a9393.js → tree-selector-wrapper-1e520ad1.js} +2 -2
  49. package/esm/{tree-selector-wrapper-8c9a9393.js.map → tree-selector-wrapper-1e520ad1.js.map} +1 -1
  50. package/esm/tree-wrapper/index.js +1 -1
  51. package/index.d.ts +37 -4
  52. package/package.json +1 -1
  53. package/esm/dialog-drawer-7cb5c6df.js +0 -3
  54. package/esm/dialog-drawer-7cb5c6df.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"selector-wrapper-search-c763c481.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 { LabelValueItem, TAny, TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Button, Select, SelectProps } from 'antd';\nimport { ReactElement, useMemo, useState } from 'react';\nimport { fbaHooks } from '../fba-hooks';\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 // label渲染适配器\n onLabelRenderAdapter?: (dataItem: TPlainObject) => string | ReactElement;\n // 自定义keyword值\n customKeyword?: string;\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 ...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 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 (keyword) => {\n try {\n setRequestStatus('request-progress');\n const respData = await serviceConfig.onRequest?.({\n ...serviceParams,\n [searchKeyword]: keyword,\n });\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 || 'disabled'],\n };\n });\n }\n\n respAdapterData.forEach((item) => {\n if (onLabelRenderAdapter) {\n item.label = onLabelRenderAdapter(item);\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 const onSearch = hooks.useDebounceCallback((value: string) => {\n setDataSource([]);\n void startDataSourceRequest(value);\n }, 300);\n\n fbaHooks.useEffectCustom(() => {\n if (props.customKeyword) {\n void startDataSourceRequest(props.customKeyword);\n }\n }, [props.customKeyword]);\n\n const loading = requestStatus === 'request-progress';\n return (\n <Select\n showSearch={true}\n allowClear={true}\n dropdownMatchSelectWidth={false}\n {...otherProps}\n style={{ width: '100%', ...props.style }}\n options={dataSource as LabelValueItem[]}\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 );\n};\n"],"names":["SelectorWrapperSearch","props","showAllOption","serviceConfig","onSelectorListChange","onSelectorRequestError","requestMessageConfig","fieldNames","onLabelRenderAdapter","otherProps","_objectWithoutPropertiesLoose","_excluded","_useState","useState","requestStatus","setRequestStatus","_useState2","dataSource","setDataSource","optionsItemLabelField","label","optionsItemValueField","value","optionsItemDisabledField","disabled","searchKeyword","serviceParams","params","allOptionConfig","useMemo","isTrue","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","map","item","forEach","unshift","onSearch","_hooks","useDebounceCallback","fbaHooks","useEffectCustom","customKeyword","loading","_jsx","Select","showSearch","allowClear","dropdownMatchSelectWidth","style","width","options","filterOption","notFoundContent","RequestStatus","status","messageConfig","errorButton","Button","type","onClick","children","suffixIcon","_RedoOutlined","spin","undefined"],"mappings":"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"}
1
+ {"version":3,"file":"selector-wrapper-search-54866dd6.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 { LabelValueItem, TAny, TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Button, Select, SelectProps } from 'antd';\nimport { ReactElement, useMemo, useState } from 'react';\nimport { fbaHooks } from '../fba-hooks';\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 // label渲染适配器\n onLabelRenderAdapter?: (dataItem: TPlainObject) => string | ReactElement;\n // 自定义keyword值\n customKeyword?: string;\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 ...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 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 (keyword) => {\n try {\n setRequestStatus('request-progress');\n const respData = await serviceConfig.onRequest?.({\n ...serviceParams,\n [searchKeyword]: keyword,\n });\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 || 'disabled'],\n };\n });\n }\n\n respAdapterData.forEach((item) => {\n if (onLabelRenderAdapter) {\n item.label = onLabelRenderAdapter(item);\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 const onSearch = hooks.useDebounceCallback((value: string) => {\n setDataSource([]);\n void startDataSourceRequest(value);\n }, 300);\n\n fbaHooks.useEffectCustom(() => {\n if (props.customKeyword) {\n void startDataSourceRequest(props.customKeyword);\n }\n }, [props.customKeyword]);\n\n const loading = requestStatus === 'request-progress';\n return (\n <Select\n showSearch={true}\n allowClear={true}\n dropdownMatchSelectWidth={false}\n {...otherProps}\n style={{ width: '100%', ...props.style }}\n options={dataSource as LabelValueItem[]}\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 );\n};\n"],"names":["SelectorWrapperSearch","props","showAllOption","serviceConfig","onSelectorListChange","onSelectorRequestError","requestMessageConfig","fieldNames","onLabelRenderAdapter","otherProps","_objectWithoutPropertiesLoose","_excluded","_useState","useState","requestStatus","setRequestStatus","_useState2","dataSource","setDataSource","optionsItemLabelField","label","optionsItemValueField","value","optionsItemDisabledField","disabled","searchKeyword","serviceParams","params","allOptionConfig","useMemo","isTrue","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","map","item","forEach","unshift","onSearch","_hooks","useDebounceCallback","fbaHooks","useEffectCustom","customKeyword","loading","_jsx","Select","showSearch","allowClear","dropdownMatchSelectWidth","style","width","options","filterOption","notFoundContent","RequestStatus","status","messageConfig","errorButton","Button","type","onClick","children","suffixIcon","_RedoOutlined","spin","undefined"],"mappings":";8nBA6DaA,EAAwB,SAAxBA,EAAyBC,GACpC,IACEC,EAQED,EARFC,cACAC,EAOEF,EAPFE,cACAC,EAMEH,EANFG,qBACAC,EAKEJ,EALFI,uBACAC,EAIEL,EAJFK,qBACAC,EAGEN,EAHFM,WACAC,EAEEP,EAFFO,qBACGC,EAAUC,EACXT,EAAKU,GACT,IAAAC,EAA0CC,EAAyB,gBAA5DC,EAAaF,EAAA,GAAEG,EAAgBH,EAAA,GACtC,IAAAI,EAAoCH,IAA7BI,EAAUD,EAAA,GAAEE,EAAaF,EAAA,GAChC,IAAMG,GAAwBZ,eAAAA,EAAYa,QAAS,QACnD,IAAMC,GAAwBd,eAAAA,EAAYe,QAAS,QACnD,IAAMC,GAA2BhB,eAAAA,EAAYiB,WAAY,WACzD,IAAMC,GAAgBlB,eAAAA,EAAYkB,gBAAiB,gBACnD,IAAMC,EAAgBvB,EAAcwB,OAEpC,IAAMC,EAAkBC,GAAQ,WAC9B,IAAMC,EAAS5B,IAAkB,KACjC,GAAIA,EAAe,CACjB,MAAO,CACLkB,MAAOU,EAAS,KAAQ5B,EAAckB,MACtCE,MAAOQ,EAAS,GAAM5B,EAAcoB,MAExC,CACA,OAAO,IACT,GAAG,CAACpB,IAEJ,IAAM6B,EAAyB,SAAzBA,EAA0BC,GAC9B,GAAI7B,EAAc8B,uBAAwB,CACxC,OAAO9B,EAAc8B,uBAAuBD,EAC9C,CACA,GAAIzB,GAAU,MAAVA,EAAY2B,KAAM,CACpB,IAAMC,EAASC,EAAIJ,EAAUzB,GAAAA,UAAAA,EAAAA,EAAY2B,MACzC,OAAOG,EAAQF,GAAUA,EAAS,EACpC,CACA,OAAOE,EAAQL,GAAYA,EAAW,IAGxC,IAAMM,EAAyB,SAAzBA,EAAgCC,GAAP,OAAA,IAAAC,SAAA,SAAAC,EAAAC,GAAA,IAAAC,EAGrBC,EAIFC,EA7GV,IAAIC,aAAJ,IAAI,OAAAL,GAAK,CAAC,MAAAM,GAAW,OAAOL,EAAAK,EAAM,GAAlC,IAAIC,EAAA,SAqISC,GArIb,IAsIMlC,EAAiB,iBACjBV,GAAAA,UAAAA,EAAAA,EAAyB4C,GAvI/B,OAAOH,GAAE,CAAC,MAAAC,GAAW,OAAOL,EAAAK,EAAM,GAuG9B,IACEhC,EAAiB,oBACA,OAAAyB,QAAAU,QAAM/C,EAAcgD,WAAS,UAAA,EAAvBhD,EAAcgD,UAASC,EAAA,CAAA,EACzC1B,GAAaiB,EAAA,CAAA,EAAAA,EACflB,GAAgBc,EAAOI,MAFTU,eAGfC,GA5GR,IAyGYtB,EAAWsB,EAIbT,EAAkBd,EAAuBC,GAC7C5B,GAAAA,UAAAA,EAAAA,EAAuByC,GACvB,GAAI1B,GAAyBE,EAAuB,CAClDwB,EAAkBA,EAAgBU,KAAI,SAACC,GACrC,OAAAJ,KACKI,EAAI,CACPpC,MAAOoC,EAAKrC,GACZG,MAAOkC,EAAKnC,GACZG,SAAUgC,EAAKjC,GAA4B,aAE/C,GACF,CAEAsB,EAAgBY,SAAQ,SAACD,GACvB,GAAIhD,EAAsB,CACxBgD,EAAKpC,MAAQZ,EAAqBgD,EACpC,CACF,IAEA,GAAI5B,EAAiB,CACnBiB,EAAgBa,QAAQ9B,EAC1B,CACAV,EAAc2B,GACd9B,EAAiB,mBApIvB,OAAO+B,GAAE,CAAC,MAAAC,GAAW,OAAOC,EAAAD,EAAM,CAAC,GAAAC,EAqI9B,CAAC,MAAOC,GAAOD,EAAPC,EAGT,CAAC,GACF,EAED,IAAMU,EAAWC,EAAMC,qBAAoB,SAACvC,GAC1CJ,EAAc,SACToB,EAAuBhB,EAC7B,GAAE,KAEHwC,EAASC,iBAAgB,WACvB,GAAI9D,EAAM+D,cAAe,MAClB1B,EAAuBrC,EAAM+D,cACpC,CACF,GAAG,CAAC/D,EAAM+D,gBAEV,IAAMC,EAAUnD,IAAkB,mBAClC,OACEoD,EAACC,EAAMf,EAAA,CACLgB,WAAY,KACZC,WAAY,KACZC,yBAA0B,OACtB7D,EAAU,CACd8D,MAAKnB,EAAA,CAAIoB,MAAO,QAAWvE,EAAMsE,OACjCE,QAASxD,EACTyD,aAAc,MACdf,SAAUA,EACVgB,gBACET,EAACU,EAAa,CACZC,OAAQ/D,EACRmD,QAASA,EACTa,cAAa1B,EAAA,CACX,eAAgB,WACb9C,GAELyE,YACEb,EAACc,EAAM,CAACC,KAAK,UAAUC,QAAS5C,EAAuB6C,SAAC,aAM9DC,WACEtE,IAAkB,gBAChBoD,EAAAmB,EAAA,CAAcC,KAAMrB,EAASiB,QAAS5C,IACpCiD,UAENtB,QAASA,IAGf"}
@@ -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-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";
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";
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 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
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
@@ -1 +1 @@
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"}
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"}
@@ -3,5 +3,5 @@ import './../request-status/index.css';
3
3
  import './../fba-hooks/index.css';
4
4
  import './index.css';
5
5
  /*! @flatjs/forge MIT @flatbiz/antd */
6
- export{T as TreeSelectorWrapper}from"../tree-selector-wrapper-8c9a9393.js";import"@ant-design/icons/es/icons/RedoOutlined";import"@dimjs/utils/cjs/class-names";import"@ant-design/icons/es/icons/CaretDownFilled";import"@dimjs/lang/cjs/is-string";import"@dimjs/lang/cjs/is-array";import"@dimjs/utils/cjs/extend";import"@wove/react/cjs/hooks";import"../_rollupPluginBabelHelpers-1f4d8910.js";import"@flatbiz/utils";import"antd";import"react";import"@dimjs/model-react";import"ahooks";import"dequal";import"../fba-hooks/index.js";import"../use-responsive-point-21b8c601.js";import"../request-status-03fc60e2.js";import"react/jsx-runtime";import"@dimjs/lang/cjs/is-object";
6
+ export{T as TreeSelectorWrapper}from"../tree-selector-wrapper-1e520ad1.js";import"@ant-design/icons/es/icons/RedoOutlined";import"@dimjs/utils/cjs/class-names";import"@ant-design/icons/es/icons/CaretDownFilled";import"@dimjs/lang/cjs/is-string";import"@dimjs/lang/cjs/is-array";import"@dimjs/utils/cjs/extend";import"@wove/react/cjs/hooks";import"../_rollupPluginBabelHelpers-1f4d8910.js";import"@flatbiz/utils";import"antd";import"react";import"@dimjs/model-react";import"ahooks";import"dequal";import"../fba-hooks/index.js";import"../use-responsive-point-21b8c601.js";import"../request-status-03fc60e2.js";import"react/jsx-runtime";import"@dimjs/lang/cjs/is-object";
7
7
  //# sourceMappingURL=index.js.map
@@ -1,3 +1,3 @@
1
1
  /*! @flatjs/forge MIT @flatbiz/antd */
2
- import e from"@ant-design/icons/es/icons/RedoOutlined";import{classNames as r}from"@dimjs/utils/cjs/class-names";import t from"@ant-design/icons/es/icons/CaretDownFilled";import{isString as l}from"@dimjs/lang/cjs/is-string";import{isArray as n}from"@dimjs/lang/cjs/is-array";import{extend as a}from"@dimjs/utils/cjs/extend";import{hooks as i}from"@wove/react/cjs/hooks";import{_ as u,a as o}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{treeToTiledArray as s,treeLeafParentsArray as c,toArray as f,isUndefinedOrNull as d,treeToArray as v,arrayFind as m,valueIsEqual as h,isNumber as p,getValueOrDefault as S}from"@flatbiz/utils";import{TreeSelect as b,Button as g}from"antd";import{useState as C,useRef as y,useMemo as L,createElement as w}from"react";import{Model as k}from"@dimjs/model-react";import{usePrevious as q}from"ahooks";import{dequal as R}from"dequal";import{fbaHooks as A}from"./fba-hooks/index.js";import{R as T}from"./request-status-03fc60e2.js";import{isObject as j}from"@dimjs/lang/cjs/is-object";import{jsx as x}from"react/jsx-runtime";var E={treeSelectorList:[],treeSelectorTiledArray:[],queryIsEmpty:false};var N={actions:{setSelectBoxList:function e(r){return function(e){e.treeSelectorList=r.treeSelectorList||[];e.treeSelectorTiledArray=r.treeSelectorTiledArray||[];e.requestStatus="request-success"}},resetSelectBoxList:function e(){return function(e){e.treeSelectorList=[]}},changeRequestStatus:function e(r){return function(e){e.requestStatus=r}}},state:E};var I={};var D=function e(r){if(!I[r]){I[r]=k(N)}return I[r]};var P=function e(r,t,l){if(!n(t)||t.length===0)return[];var a=s(t,l);return c(r,a,true,{value:"value",parentValue:"parentValue"})};var V=function e(r,t){var l=f(r);l=l.map((function(e){if(j(e))return e[t.value];return e}));return l};var B=["serviceConfig","effectDependencyList","onTreeSelectorListChange","onTreeSelectorRequestError","treeSelectorList","requestMessageConfig","modelKey","value","labelInValue","labelInValueFieldNames","onTreeItemDataAdapter","selectedParentCheckedAllChildrenList","fieldNames","onChange","onChangeHandle","treeDefaultExpandAll","showAllOption","initRootExpand","treeDefaultExpandedKeys"];var H=function s(c){var k=c.serviceConfig,j=c.effectDependencyList,E=c.onTreeSelectorListChange,N=c.onTreeSelectorRequestError,I=c.treeSelectorList,H=c.requestMessageConfig,K=c.modelKey,O=c.value,F=c.labelInValue,W=c.labelInValueFieldNames,_=c.onTreeItemDataAdapter,M=c.selectedParentCheckedAllChildrenList,z=M===void 0?true:M,G=c.fieldNames,J=c.onChange,Q=c.onChangeHandle,U=c.treeDefaultExpandAll,X=c.showAllOption,Y=c.initRootExpand,Z=c.treeDefaultExpandedKeys,$=u(c,B);var ee=c.hasOwnProperty("treeSelectorList");var re=k||{};var te=j||[];var le=A.useSafeState(false),ne=le[0],ae=le[1];var ie=C(),ue=ie[0],oe=ie[1];var se=D(K).useStore(),ce=se[0],fe=se[1];var de="request-progress-"+K;var ve=$.treeCheckable;var me=y(true);var he=L((function(){if($.treeCheckStrictly)return true;return F}),[F,$.treeCheckStrictly]);var pe=L((function(){return o({label:"label",value:"value",children:"children",disabled:"disabled"},G)}),[G]);var Se=L((function(){return o({label:"label",value:"value"},W)}),[W]);var be=L((function(){if(X){var e=X===true;return{label:e?"全部":X.label,value:e?"":X.value}}return null}),[X]);var ge=y(true);var Ce=q(O);A.useEffectCustom((function(){if(ce.treeSelectorList.length>0){if(me.current&&d(O)){me.current=false;if(Z){oe(Z)}else if(U){var e=v(ce.treeSelectorList,pe.children).map((function(e){return e[pe.value]}));oe(e);return}else if(Y&&ce.treeSelectorList.length){oe([ce.treeSelectorList[0][pe.value]]);return}}if(d(O)&&ge.current)return;ge.current=false;if(O!==Ce){var r=V(O,Se);var t=Ae(r,true);oe(Array.from(new Set(t)))}}}),[O,ce.treeSelectorList]);var ye=function e(r){return r===""||d(r)};var Le=function e(r){var t=re.onRequestResultAdapter?re.onRequestResultAdapter(r):r;return t};var we=i.useCallbackRef((function(){return new Promise((function(e,r){var t,l,n,i,u;if(!re.onRequest){return r(new Error("onRequest 调用接口服务不能为空"))}t=re.requiredParamsKeys||[];l=a({},re.params);n=t.find((function(e){return ye(l[e])}));if(n){void fe.changeRequestStatus("no-dependencies-params");console.warn("TreeSelectorWrapper组件:参数:"+t.join("、")+"不能为空");return e()}var o=function(){try{return e()}catch(e){return r(e)}};var s=function(e){try{ae(false);window[de]=false;void fe.changeRequestStatus("request-error");N==null?void 0:N(e);return o()}catch(e){return r(e)}};try{ae(true);window[de]=true;void fe.changeRequestStatus("request-progress");return Promise.resolve(re.onRequest==null?void 0:re.onRequest(l)).then((function(e){try{i=e;u=Le(i);ae(false);window[de]=false;ke(u||[]);return o()}catch(e){return s(e)}}),s)}catch(e){s(e)}}))}));i.useCustomCompareEffect((function(){if(ee)return;if(Boolean(te.length)){ke([]);void we();return}var e=D(K).getState();if(e.requestStatus==="request-success"){return}if(!window[de]){void we();return}}),te,R);var ke=i.useCallbackRef((function(e){var r;if((e==null?void 0:e.length)===0&&ce.treeSelectorList.length===0){void fe.setSelectBoxList({treeSelectorList:[],treeSelectorTiledArray:[]});E==null?void 0:E([]);return}var t=be?(r={},r[pe.label]=be.label,r[pe.value]=be.value,r):undefined;var l=X?[t].concat(e):e;void fe.setSelectBoxList({treeSelectorList:l,treeSelectorTiledArray:v(l||[],pe.children)});E==null?void 0:E(e)}));A.useEffectCustom((function(){if(ee){ke(I||[])}}),[I]);var qe=i.useCallbackRef((function(e){oe(e)}));var Re=i.useCallbackRef((function(){void we()}));var Ae=function e(r,t){var l=[];r.forEach((function(e){if(!t&&ue!=null&&ue.includes(e))return;var r=P(e,ce.treeSelectorList,pe);l=l.concat(r.map((function(e){return e.value})))}));return l};var Te=i.useCallbackRef((function(e){if(!e)return undefined;return{label:e==null?void 0:e[pe.label],value:e==null?void 0:e[pe.value],children:e==null?void 0:e[pe.children],disabled:e==null?void 0:e["disabled"]}}));var je=i.useCallbackRef((function(e){if(!e)return undefined;return{label:e==null?void 0:e[Se.label],value:e==null?void 0:e[Se.value],disabled:e==null?void 0:e["disabled"]}}));var xe=i.useCallbackRef((function(e,r){var t=V(e,{value:"value",label:"label"});var l=[];t.forEach((function(e){var r=m(ce.treeSelectorTiledArray,e,pe.value);if(!r)return;l.push(r)}));if($.treeCheckStrictly&&z){var a=Te(r.checked?m(ce.treeSelectorTiledArray,r.triggerValue,pe.value):null);if(a&&n(a.children)&&a.children.length>0){var i=v(a.children,pe.children);var u=i.filter((function(e){var r=Te(e);if(r!=null&&r.disabled)return false;if(m(l,r==null?void 0:r.value,pe.value))return false;return true}));l=l.concat(u)}}var o=[];if($.treeCheckable){if($.treeCheckStrictly===true||h($.showCheckedStrategy,["SHOW_ALL","SHOW_PARENT"])){o=l}else{o=l.filter((function(e){var r=e[pe.children];return!(n(r)&&r.length>0)}))}}else{o=l}return{realTreeNodeList:o,realTreeNodeValueList:V(o,pe)}}));var Ee=i.useCallbackRef((function(e,r,t){J==null?void 0:J(e,r,t);Q==null?void 0:Q(e,r,t)}));var Ne=i.useCallbackRef((function(e,r,t){var l=xe(e,t),n=l.realTreeNodeList,a=l.realTreeNodeValueList;if($.treeCheckable){oe((function(e){var r=Ae(a).concat(e||[]);return Array.from(new Set(r))}))}if(he){var i=n.map((function(e){var r;var t=Te(e);return r={},r[Se.label]=t==null?void 0:t.label,r[Se.value]=t==null?void 0:t.value,r}));if(ve){Ee==null?void 0:Ee(i,n,t)}else{Ee==null?void 0:Ee(i[0],n[0],t)}}else{if(ve){Ee==null?void 0:Ee(a,n,t)}else{Ee==null?void 0:Ee(a[0],n[0],t)}}}));var Ie=i.useCallbackRef((function(e){if(!e)return null;return e.map((function(e){var r=(_==null?void 0:_(o({},e)))||e;var t=r[pe.children];var l=r[pe.value];var n=r[pe.label];var a=r[pe.disabled]?r[pe.disabled]:r.disabled;return w(b.TreeNode,o({},r,{disabled:a,value:l,title:n,key:""+l}),t&&t.length>0&&Ie(t))}))}));var De=L((function(){var e=f(O);if(e.length==0)return[];if($.treeCheckStrictly){if(ce.treeSelectorTiledArray.length===0){return e.map((function(e){return{label:e,value:e}}))}return e.map((function(e){var r,t;var n;var a;if(l(e)||p(e)){var i=m(ce.treeSelectorTiledArray,e,pe.value);n=Te(i);a=e}else{n=je(e)}return{label:S((r=n)==null?void 0:r.label,a),value:S((t=n)==null?void 0:t.value,a)}}))}return V(O,Se)}),[O,$.treeCheckStrictly,Se,ce.treeSelectorTiledArray,pe.value,Te,je]);var Pe=L((function(){if(n(De)&&De.length===0){return undefined}return ve?De:De[0]}),[ve,De]);return x(b,o({dropdownStyle:{maxHeight:400,overflow:"auto"},showSearch:true,treeLine:{showLeafIcon:false},treeNodeFilterProp:"title",switcherIcon:x(t,{}),showArrow:true},$,{className:r("v-tree-select-wrapper",$.className),popupClassName:r("v-tree-select-wrapper-dropdown",$.popupClassName),onChange:Ne,treeExpandedKeys:ue,value:Pe,loading:ne,dropdownMatchSelectWidth:false,onTreeExpand:qe,style:o({width:"100%"},$.style),suffixIcon:ce.requestStatus==="request-error"?x(e,{spin:ne,onClick:Re}):undefined,notFoundContent:x(T,{status:ce.requestStatus,messageConfig:H,loading:ne,errorButton:x(g,{type:"primary",onClick:Re,children:"重新获取数据"})}),children:Ie(ce.treeSelectorList)}))};export{H as T};
3
- //# sourceMappingURL=tree-selector-wrapper-8c9a9393.js.map
2
+ import e from"@ant-design/icons/es/icons/RedoOutlined";import{classNames as r}from"@dimjs/utils/cjs/class-names";import t from"@ant-design/icons/es/icons/CaretDownFilled";import{isString as l}from"@dimjs/lang/cjs/is-string";import{isArray as n}from"@dimjs/lang/cjs/is-array";import{extend as a}from"@dimjs/utils/cjs/extend";import{hooks as i}from"@wove/react/cjs/hooks";import{_ as u,a as o}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{treeToTiledArray as s,treeLeafParentsArray as c,toArray as f,isUndefinedOrNull as d,treeToArray as v,arrayFind as m,valueIsEqual as h,isNumber as p,getValueOrDefault as S}from"@flatbiz/utils";import{TreeSelect as b,Button as g}from"antd";import{useState as C,useRef as y,useMemo as L,createElement as w}from"react";import{Model as k}from"@dimjs/model-react";import{usePrevious as q}from"ahooks";import{dequal as R}from"dequal";import{fbaHooks as A}from"./fba-hooks/index.js";import{R as T}from"./request-status-03fc60e2.js";import{isObject as j}from"@dimjs/lang/cjs/is-object";import{jsx as x}from"react/jsx-runtime";var E={treeSelectorList:[],treeSelectorTiledArray:[],queryIsEmpty:false};var N={actions:{setSelectBoxList:function e(r){return function(e){e.treeSelectorList=r.treeSelectorList||[];e.treeSelectorTiledArray=r.treeSelectorTiledArray||[];e.requestStatus="request-success"}},resetSelectBoxList:function e(){return function(e){e.treeSelectorList=[]}},changeRequestStatus:function e(r){return function(e){e.requestStatus=r}}},state:E};var I={};var D=function e(r){if(!I[r]){I[r]=k(N)}return I[r]};var P=function e(r,t,l){if(!n(t)||t.length===0)return[];var a=s(t,l);return c(r,a,true,{value:"value",parentValue:"parentValue"})};var V=function e(r,t){var l=f(r);l=l.map((function(e){if(j(e))return e[t.value];return e}));return l};var B=["serviceConfig","effectDependencyList","onTreeSelectorListChange","onTreeSelectorRequestError","treeSelectorList","requestMessageConfig","modelKey","value","labelInValue","labelInValueFieldNames","onTreeItemDataAdapter","selectedParentCheckedAllChildrenList","fieldNames","onChange","onChangeHandle","treeDefaultExpandAll","showAllOption","initRootExpand","treeDefaultExpandedKeys"];var K=function s(c){var k=c.serviceConfig,j=c.effectDependencyList,E=c.onTreeSelectorListChange,N=c.onTreeSelectorRequestError,I=c.treeSelectorList,K=c.requestMessageConfig,H=c.modelKey,O=c.value,F=c.labelInValue,W=c.labelInValueFieldNames,_=c.onTreeItemDataAdapter,M=c.selectedParentCheckedAllChildrenList,z=M===void 0?true:M,G=c.fieldNames,J=c.onChange,Q=c.onChangeHandle,U=c.treeDefaultExpandAll,X=c.showAllOption,Y=c.initRootExpand,Z=c.treeDefaultExpandedKeys,$=u(c,B);var ee=c.hasOwnProperty("treeSelectorList");var re=k||{};var te=j||[];var le=A.useSafeState(false),ne=le[0],ae=le[1];var ie=C(),ue=ie[0],oe=ie[1];var se=D(H).useStore(),ce=se[0],fe=se[1];var de="request-progress-"+H;var ve=$.treeCheckable;var me=y(true);var he=L((function(){if($.treeCheckStrictly)return true;return F}),[F,$.treeCheckStrictly]);var pe=L((function(){return o({label:"label",value:"value",children:"children",disabled:"disabled"},G)}),[G]);var Se=L((function(){return o({label:"label",value:"value"},W)}),[W]);var be=L((function(){if(X){var e=X===true;return{label:e?"全部":X.label,value:e?"":X.value}}return null}),[X]);var ge=y(true);var Ce=q(O);A.useEffectCustom((function(){if(ce.treeSelectorList.length>0){if(me.current&&d(O)){me.current=false;if(Z){oe(Z)}else if(U){var e=v(ce.treeSelectorList,pe.children).map((function(e){return e[pe.value]}));oe(e);return}else if(Y&&ce.treeSelectorList.length){oe([ce.treeSelectorList[0][pe.value]]);return}}if(d(O)&&ge.current)return;ge.current=false;if(O!==Ce){var r=V(O,Se);var t=Ae(r,true);oe(Array.from(new Set(t)))}}}),[O,ce.treeSelectorList]);var ye=function e(r){return r===""||d(r)};var Le=function e(r){var t=re.onRequestResultAdapter?re.onRequestResultAdapter(r):r;return t};var we=i.useCallbackRef((function(){return new Promise((function(e,r){var t,l,n,i,u;if(!re.onRequest){return r(new Error("onRequest 调用接口服务不能为空"))}t=re.requiredParamsKeys||[];l=a({},re.params);n=t.find((function(e){return ye(l[e])}));if(n){void fe.changeRequestStatus("no-dependencies-params");console.warn("TreeSelectorWrapper组件:参数:"+t.join("、")+"不能为空");return e()}var o=function(){try{return e()}catch(e){return r(e)}};var s=function(e){try{ae(false);window[de]=false;void fe.changeRequestStatus("request-error");N==null?void 0:N(e);return o()}catch(e){return r(e)}};try{ae(true);window[de]=true;void fe.changeRequestStatus("request-progress");return Promise.resolve(re.onRequest==null?void 0:re.onRequest(l)).then((function(e){try{i=e;u=Le(i);ae(false);window[de]=false;ke(u||[]);return o()}catch(e){return s(e)}}),s)}catch(e){s(e)}}))}));i.useCustomCompareEffect((function(){if(ee)return;if(Boolean(te.length)){ke([]);void we();return}var e=D(H).getState();if(e.requestStatus==="request-success"){return}if(!window[de]){void we();return}}),te,R);var ke=i.useCallbackRef((function(e){var r;if((e==null?void 0:e.length)===0&&ce.treeSelectorList.length===0){void fe.setSelectBoxList({treeSelectorList:[],treeSelectorTiledArray:[]});E==null?void 0:E([]);return}var t=be?(r={},r[pe.label]=be.label,r[pe.value]=be.value,r):undefined;var l=X?[t].concat(e):e;void fe.setSelectBoxList({treeSelectorList:l,treeSelectorTiledArray:v(l||[],pe.children)});E==null?void 0:E(e)}));A.useEffectCustom((function(){if(ee){ke(I||[])}}),[I]);var qe=i.useCallbackRef((function(e){oe(e)}));var Re=i.useCallbackRef((function(){void we()}));var Ae=function e(r,t){var l=[];r.forEach((function(e){if(!t&&ue!=null&&ue.includes(e))return;var r=P(e,ce.treeSelectorList,pe);l=l.concat(r.map((function(e){return e.value})))}));return l};var Te=i.useCallbackRef((function(e){if(!e)return undefined;return{label:e==null?void 0:e[pe.label],value:e==null?void 0:e[pe.value],children:e==null?void 0:e[pe.children],disabled:e==null?void 0:e["disabled"]}}));var je=i.useCallbackRef((function(e){if(!e)return undefined;return{label:e==null?void 0:e[Se.label],value:e==null?void 0:e[Se.value],disabled:e==null?void 0:e["disabled"]}}));var xe=i.useCallbackRef((function(e,r){var t=V(e,{value:"value",label:"label"});var l=[];t.forEach((function(e){var r=m(ce.treeSelectorTiledArray,e,pe.value);if(!r)return;l.push(r)}));if($.treeCheckStrictly&&z){var a=Te(r.checked?m(ce.treeSelectorTiledArray,r.triggerValue,pe.value):null);if(a&&n(a.children)&&a.children.length>0){var i=v(a.children,pe.children);var u=i.filter((function(e){var r=Te(e);if(r!=null&&r.disabled)return false;if(m(l,r==null?void 0:r.value,pe.value))return false;return true}));l=l.concat(u)}}var o=[];if($.treeCheckable){if($.treeCheckStrictly===true||h($.showCheckedStrategy,["SHOW_ALL","SHOW_PARENT"])){o=l}else{o=l.filter((function(e){var r=e[pe.children];return!(n(r)&&r.length>0)}))}}else{o=l}return{realTreeNodeList:o,realTreeNodeValueList:V(o,pe)}}));var Ee=i.useCallbackRef((function(e,r,t){J==null?void 0:J(e,r,t);Q==null?void 0:Q(e,r,t)}));var Ne=i.useCallbackRef((function(e,r,t){var l=xe(e,t),n=l.realTreeNodeList,a=l.realTreeNodeValueList;if($.treeCheckable){oe((function(e){var r=Ae(a).concat(e||[]);return Array.from(new Set(r))}))}if(he){var i=n.map((function(e){var r;var t=Te(e);return r={},r[Se.label]=t==null?void 0:t.label,r[Se.value]=t==null?void 0:t.value,r}));if(ve){Ee==null?void 0:Ee(i,n,t)}else{Ee==null?void 0:Ee(i[0],n[0],t)}}else{if(ve){Ee==null?void 0:Ee(a,n,t)}else{Ee==null?void 0:Ee(a[0],n[0],t)}}}));var Ie=i.useCallbackRef((function(e){if(!e)return null;return e.map((function(e){var r=(_==null?void 0:_(o({},e)))||e;var t=r[pe.children];var l=r[pe.value];var n=r[pe.label];var a=r[pe.disabled]?r[pe.disabled]:r.disabled;return w(b.TreeNode,o({},r,{disabled:a,value:l,title:n,key:""+l}),t&&t.length>0&&Ie(t))}))}));var De=L((function(){var e=f(O);if(e.length==0)return[];if($.treeCheckStrictly){if(ce.treeSelectorTiledArray.length===0){return e.map((function(e){return{label:e,value:e}}))}return e.map((function(e){var r,t;var n;var a;if(l(e)||p(e)){var i=m(ce.treeSelectorTiledArray,e,pe.value);n=Te(i);a=e}else{n=je(e)}return{label:S((r=n)==null?void 0:r.label,a),value:S((t=n)==null?void 0:t.value,a)}}))}return V(O,Se)}),[O,$.treeCheckStrictly,Se,ce.treeSelectorTiledArray,pe.value,Te,je]);var Pe=L((function(){if(n(De)&&De.length===0){return undefined}return ve?De:De[0]}),[ve,De]);return x(b,o({dropdownStyle:{maxHeight:400,overflow:"auto"},showSearch:true,treeLine:{showLeafIcon:false},treeNodeFilterProp:"title",switcherIcon:x(t,{}),showArrow:true},$,{className:r("v-tree-select-wrapper",$.className),popupClassName:r("v-tree-select-wrapper-dropdown",$.popupClassName),onChange:Ne,treeExpandedKeys:ue,value:Pe,loading:ne,dropdownMatchSelectWidth:false,onTreeExpand:qe,style:o({width:"100%"},$.style),suffixIcon:ce.requestStatus==="request-error"?x(e,{spin:ne,onClick:Re}):undefined,notFoundContent:x(T,{status:ce.requestStatus,messageConfig:K,loading:ne,errorButton:x(g,{type:"primary",onClick:Re,children:"重新获取数据"})}),children:Ie(ce.treeSelectorList)}))};export{K as T};
3
+ //# sourceMappingURL=tree-selector-wrapper-1e520ad1.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tree-selector-wrapper-8c9a9393.js","sources":["@flatbiz/antd/src/tree-selector-wrapper/model.ts","@flatbiz/antd/src/tree-selector-wrapper/utils.ts","@flatbiz/antd/src/tree-selector-wrapper/tree-selector-wrapper.tsx"],"sourcesContent":["import { API, ModelType } from '@dimjs/model';\nimport { Model } from '@dimjs/model-react';\nimport { TAny, TPlainObject, TSetDefaultDefined } from '@flatbiz/utils';\nimport { TreeSelectProps } from 'antd';\nimport { TRequestStatus } from '../request-status';\n\nexport type ModelState = {\n treeSelectorList: TSetDefaultDefined<TreeSelectProps['treeData'], []>;\n treeSelectorTiledArray: TPlainObject[];\n queryIsEmpty: boolean;\n requestStatus?: TRequestStatus;\n};\n\ntype ModelActionParams = {\n setSelectBoxList: {\n treeSelectorList: ModelState['treeSelectorList'];\n treeSelectorTiledArray: ModelState['treeSelectorTiledArray'];\n };\n resetSelectBoxList: void;\n changeRequestStatus: TRequestStatus;\n};\n\nconst defaultState: ModelState = {\n treeSelectorList: [],\n treeSelectorTiledArray: [],\n queryIsEmpty: false,\n};\n\nconst TreeSelectorWrapperModel: ModelType<ModelState, ModelActionParams> = {\n actions: {\n setSelectBoxList: (params) => {\n return (state) => {\n state.treeSelectorList = params.treeSelectorList || [];\n state.treeSelectorTiledArray = params.treeSelectorTiledArray || [];\n state.requestStatus = 'request-success';\n };\n },\n resetSelectBoxList: () => {\n return (state) => {\n state.treeSelectorList = [];\n };\n },\n changeRequestStatus: (params) => {\n return (state) => {\n state.requestStatus = params;\n };\n },\n },\n state: defaultState,\n};\n\nconst treeSelectorWrapperModels: Record<string, API<ModelType<ModelState, ModelActionParams, TAny>>> = {};\n\n/**\n * ```\n * 使用方式\n * const [state, actions] = useTreeSelectorWrapperModel('key值').useStore();\n * ```\n */\nexport const treeSelectorWrapperModel = (key: string) => {\n if (!treeSelectorWrapperModels[key]) {\n treeSelectorWrapperModels[key] = Model(TreeSelectorWrapperModel);\n }\n return treeSelectorWrapperModels[key];\n};\n","import { isArray, isObject } from '@dimjs/lang';\nimport {\n isUndefinedOrNull,\n LabelValueItem,\n toArray,\n TPlainObject,\n treeLeafParentsArray,\n treeToTiledArray,\n} from '@flatbiz/utils';\nimport { TreeSelectProps } from 'antd';\nimport { dequal } from 'dequal';\n\nexport const getExpandedKeys = (\n value: string | number,\n treeList: TPlainObject[],\n fieldNames?: TreeSelectProps['fieldNames'],\n) => {\n if (!isArray(treeList) || treeList.length === 0) return [];\n const tiledArray = treeToTiledArray(treeList, fieldNames);\n return treeLeafParentsArray(value, tiledArray, true, { value: 'value', parentValue: 'parentValue' });\n};\n\nexport const getVauleList = (data, fieldNames: LabelValueItem<string>) => {\n let tempList = toArray<TPlainObject | string | number>(data);\n tempList = tempList.map((item) => {\n if (isObject(item)) return item[fieldNames.value];\n return item;\n });\n return tempList as Array<string | number>;\n};\n\nexport const array2map = (data, fieldNames: LabelValueItem<string>) => {\n const list = getVauleList(data, fieldNames);\n const map = {};\n list.forEach((item) => {\n map[item] = true;\n });\n return map;\n};\n\n/**\n * value的类型包括 string、number、Array<string | number>、{ label: string, value: string | nuber }\n * 将数组转成对象,深度比较时不用考虑顺序问题\n * @param value1\n * @param value2\n * @returns\n */\nexport const treeSelectorWrapperValueDeepEqual = (\n value1: any,\n value2: any,\n fieldNames: LabelValueItem<string>,\n) => {\n if (isUndefinedOrNull(value1) && isUndefinedOrNull(value2)) return true;\n const object1 = array2map(value1, fieldNames);\n const object2 = array2map(value2, fieldNames);\n const diff = dequal(object1, object2);\n return diff;\n};\n","import { CaretDownFilled, RedoOutlined } from '@ant-design/icons';\nimport { isArray, isString } from '@dimjs/lang';\nimport { classNames, extend } from '@dimjs/utils';\nimport {\n isNumber,\n isUndefinedOrNull,\n TAny,\n toArray,\n TPlainObject,\n treeToArray,\n valueIsEqual,\n} from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Button, TreeSelect, TreeSelectProps } from 'antd';\nimport { DependencyList, useMemo, useRef, useState } from 'react';\nimport { treeSelectorWrapperModel } from './model';\nimport './style.less';\n\nimport { arrayFind, getValueOrDefault } from '@flatbiz/utils';\nimport { usePrevious } from 'ahooks';\nimport { dequal } from 'dequal';\nimport { fbaHooks } from '../fba-hooks';\nimport { RequestStatus, TRequestStatusProps } from '../request-status';\nimport { getExpandedKeys, getVauleList } from './utils';\n\ntype TreeSelectorWrapperValue =\n | string\n | number\n | Array<string | number>\n | TPlainObject<string | number>\n | Array<TPlainObject<string | number>>;\n\ntype TreeSelectorServiceConfig = {\n params?: TPlainObject;\n requiredParamsKeys?: string[];\n onRequest?: (params?: TAny) => TAny;\n /**\n * 响应数据适配器\n */\n onRequestResultAdapter?: (respData: TAny) => TPlainObject[];\n};\n\nexport type TreeSelectorWrapperProps = Omit<\n TreeSelectProps,\n | 'treeExpandedKeys'\n | 'treeData'\n | 'loading'\n | 'onTreeExpand'\n | 'onChange'\n | 'value'\n | 'fieldNames'\n | 'defaultValue'\n | 'treeDataSimpleMode'\n> & {\n modelKey: string;\n fieldNames?: { label?: string; value?: string; children?: string; disabled?: string };\n /**\n * useEffect依赖项数组,用于重新发起获取接口数据\n */\n effectDependencyList?: DependencyList;\n /**\n * 请求服务需求的数据,当设置`treeSelectorList`后无效果\n */\n serviceConfig?: TreeSelectorServiceConfig;\n /**\n * 当设置treeSelectorList后,serviceConfig 将失效\n */\n treeSelectorList?: TreeSelectProps['treeData'];\n /**\n * treeSelectorList发生变更时触发\n */\n onTreeSelectorListChange?: (treeSelectorList?: TreeSelectProps['treeData']) => void;\n /**\n * 通过服务获取数据异常回调,当设置`treeSelectorList`后无效果\n */\n onTreeSelectorRequestError?: (error: Error) => void;\n /**\n * 添加全部选项\n * ```\n * 1. showAllOption = true,添加默认全部选项(value值为空字符串)\n * 2. 可自定义全部选项,例如:{ label: '全部', value: 'all' }\n * 3. 自定义字段会通过fieldNames转换后使用\n * 4. 多选操作时,最好不要设置全部选项\n * ```\n */\n showAllOption?: true | TPlainObject<string | number>;\n /**\n * @deprecated 已过期,请使用onChange\n * 1. 当 treeCheckable = true && treeCheckStrictly = true,如果选择的数据中含有父节点,selectedValue、selectedList返回数据包含父节点\n * 2. 当 treeCheckable = true && treeCheckStrictly = false,selectedValue、selectedList返回的数据不包含父节点\n * 3. 当 treeCheckable = false,节点选择没有级联关系,selectedValue、selectedList返回的数据就是实际选择\n * 4. selectAllDataList 返回的数据都包含父节点\n * 5. 使用 onTreeItemAdapter 拼接label数据后,选中回填数据也是拼接后的\n * 6. triggerInfo 当前操作节点数据\n */\n onChangeHandle?: (\n selectedValue?: TreeSelectorWrapperValue,\n selectedData?: TPlainObject[] | TPlainObject,\n triggerInfo?: TPlainObject,\n ) => void;\n /**\n * 1. 当 treeCheckable = true && treeCheckStrictly = true,如果选择的数据中含有父节点,selectedValue、selectedList返回数据包含父节点\n * 2. 当 treeCheckable = true && treeCheckStrictly = false,selectedValue、selectedList返回的数据不包含父节点\n * 3. 当 treeCheckable = false,节点选择没有级联关系,selectedValue、selectedList返回的数据就是实际选择\n * 4. selectAllDataList 返回的数据都包含父节点\n * 5. 使用 onTreeItemAdapter 拼接label数据后,选中回填数据也是拼接后的\n * 6. triggerInfo 当前操作节点数据\n */\n onChange?: (\n selectedValue?: TreeSelectorWrapperValue,\n selectedData?: TPlainObject[] | TPlainObject,\n triggerInfo?: TPlainObject,\n ) => void;\n /**\n * tree item 数据适配器\n */\n onTreeItemDataAdapter?: (dataItem: TPlainObject) => TPlainObject;\n // icon 无法实现、treeIcon不起作用4.20.0\n // showIcon?: boolean;\n // icon?: (data: TPlainObject) => ReactElement;\n /** 自定义异常提示文案 */\n requestMessageConfig?: TRequestStatusProps['messageConfig'];\n /**\n * value格式\n *```\n * 1. string 、number\n * 2. Array<string | number>\n * 3. lableInValue = true,根据labelInValueFieldNames配置格式\n * 4. lableInValue = true,Array<labelInValueFieldNames配置>\n * ```\n */\n value?: TreeSelectorWrapperValue;\n\n /**\n * treeCheckStrictly \tcheckable 状态下节点选择完全受控(父子节点选中状态不再关联),\n * 会使得 labelInValue 强制为 true\n */\n labelInValue?: boolean;\n /**\n * ```\n * lableInValue = true,onChange输出数据字段名称,默认:{ label: string; value: string|number }\n * ```\n */\n labelInValueFieldNames?: { label: string; value: string };\n /**\n * treeCheckStrictly = true模式下有效,点击父节点是否选中所有子节点,默认值:true\n */\n selectedParentCheckedAllChildrenList?: boolean;\n /** 有唯一跟节点时,初始化是否展开,默认值:false */\n initRootExpand?: boolean;\n};\n\n// type TreeSelectorWrapperPropsInner = TreeSelectorWrapperProps & {\n// onChange?: (selectedValue?: TreeSelectorWrapperValue) => void;\n// };\n\n/**\n * 树选择器包装组件,由于过度封装,部分antd TreeSelect原始功能不支持,不满足情况的请使用antd TreeSelect实现\n * @param props\n * @returns\n * ```\n * 1. 当设置treeSelectorList属性后,serviceConfig、onTreeSelectorListChange将失效\n * 2. 父节点默认不返回,需要返回请设置showCheckedStrategy\n * ```\n */\nexport const TreeSelectorWrapper = (props: TreeSelectorWrapperProps) => {\n const {\n serviceConfig,\n effectDependencyList,\n onTreeSelectorListChange,\n onTreeSelectorRequestError,\n treeSelectorList,\n requestMessageConfig,\n modelKey,\n value,\n labelInValue: _labelInValue,\n labelInValueFieldNames,\n onTreeItemDataAdapter,\n selectedParentCheckedAllChildrenList = true,\n fieldNames,\n onChange,\n onChangeHandle,\n treeDefaultExpandAll,\n showAllOption,\n initRootExpand,\n treeDefaultExpandedKeys,\n ...otherProps\n } = props;\n /**\n * 不能使用key、defaultValue模式\n * 1. 勾选的和回填选中不相同情况,勾选后会渲染defaultValue模式后,弹框被关闭,操作体验存在问题\n */\n const hasTreeSelectorList = props.hasOwnProperty('treeSelectorList');\n const newServiceConfig = serviceConfig || {};\n const newEffectDependencyList = effectDependencyList || [];\n const [loading, setLoading] = fbaHooks.useSafeState(false);\n const [treeExpandedKeys, setTreeExpandedKeys] = useState<React.Key[]>();\n const [state, actions] = treeSelectorWrapperModel(modelKey).useStore();\n const requestPreKey = `request-progress-${modelKey}`;\n const isMultiple = otherProps.treeCheckable;\n const responseFirstRef = useRef(true);\n /**\n * treeCheckStrictly \tcheckable 状态下节点选择完全受控(父子节点选中状态不再关联),\n * 会使得 labelInValue 强制为 true\n */\n const labelInValue = useMemo(() => {\n if (otherProps.treeCheckStrictly) return true;\n return _labelInValue;\n }, [_labelInValue, otherProps.treeCheckStrictly]);\n\n const fieldNamesMerge = useMemo(() => {\n return { label: 'label', value: 'value', children: 'children', disabled: 'disabled', ...fieldNames };\n }, [fieldNames]);\n\n const labelInValueFieldNamesMerge = useMemo(() => {\n return { label: 'label', value: 'value', ...labelInValueFieldNames };\n }, [labelInValueFieldNames]);\n\n const allOptionConfig = useMemo(() => {\n if (showAllOption) {\n const isTrue = showAllOption === true;\n return {\n label: isTrue ? '全部' : showAllOption.label,\n value: isTrue ? '' : showAllOption.value,\n };\n }\n return null;\n }, [showAllOption]);\n\n const isFirstUseValueRef = useRef(true);\n\n const prevValue = usePrevious(value);\n\n fbaHooks.useEffectCustom(() => {\n if (state.treeSelectorList.length > 0) {\n if (responseFirstRef.current && isUndefinedOrNull(value)) {\n responseFirstRef.current = false;\n if (treeDefaultExpandedKeys) {\n setTreeExpandedKeys(treeDefaultExpandedKeys);\n } else if (treeDefaultExpandAll) {\n const allValues = treeToArray(state.treeSelectorList, fieldNamesMerge.children).map((item) => {\n return item[fieldNamesMerge.value];\n });\n setTreeExpandedKeys(allValues);\n return;\n } else if (initRootExpand && state.treeSelectorList.length) {\n setTreeExpandedKeys([state.treeSelectorList[0][fieldNamesMerge.value]]);\n return;\n }\n }\n if (isUndefinedOrNull(value) && isFirstUseValueRef.current) return;\n isFirstUseValueRef.current = false;\n if (value !== prevValue) {\n const valueList = getVauleList(value, labelInValueFieldNamesMerge);\n const expandedKeys = getTreeExpandedKeys(valueList, true);\n setTreeExpandedKeys(Array.from(new Set(expandedKeys)));\n }\n }\n }, [value, state.treeSelectorList]);\n\n const valueIsEmpty = (value: string | number) => {\n return value === '' || isUndefinedOrNull(value);\n };\n\n const serviceResponseHandle = (respData) => {\n const respDataList = newServiceConfig.onRequestResultAdapter\n ? newServiceConfig.onRequestResultAdapter(respData as unknown as TPlainObject)\n : respData;\n return respDataList as TPlainObject[];\n };\n\n const startDataSourceRequest = hooks.useCallbackRef(async () => {\n if (!newServiceConfig.onRequest) {\n throw new Error('onRequest 调用接口服务不能为空');\n }\n const requiredParamsKeys = newServiceConfig.requiredParamsKeys || [];\n const params = extend({}, newServiceConfig.params);\n const isEmpty = requiredParamsKeys.find((key) => {\n return valueIsEmpty(params[key] as string | number);\n });\n if (isEmpty) {\n void actions.changeRequestStatus('no-dependencies-params');\n console.warn(`TreeSelectorWrapper组件:参数:${requiredParamsKeys.join('、')}不能为空`);\n return;\n }\n try {\n setLoading(true);\n window[requestPreKey] = true;\n void actions.changeRequestStatus('request-progress');\n const _respData = await newServiceConfig.onRequest?.(params);\n const respData = serviceResponseHandle(_respData) as TreeSelectProps['treeData'];\n setLoading(false);\n window[requestPreKey] = false;\n onChangeSelectorList(respData || []);\n } catch (error: any) {\n setLoading(false);\n window[requestPreKey] = false;\n void actions.changeRequestStatus('request-error');\n onTreeSelectorRequestError?.(error);\n }\n });\n\n hooks.useCustomCompareEffect(\n () => {\n if (hasTreeSelectorList) return;\n // 当无依赖项时,如果存在缓存数据,就不在调用接口\n if (Boolean(newEffectDependencyList.length)) {\n // 内部主动清楚数据,被依赖的数据发生变更时,依赖组件数据清空\n onChangeSelectorList([]);\n void startDataSourceRequest();\n return;\n }\n const allState = treeSelectorWrapperModel(modelKey).getState();\n if (allState.requestStatus === 'request-success') {\n return;\n }\n // 判断相同的modelKey是否已经在请求数据中,避免重复请求\n if (!window[requestPreKey]) {\n void startDataSourceRequest();\n return;\n }\n },\n newEffectDependencyList,\n dequal,\n );\n\n const onChangeSelectorList = hooks.useCallbackRef((dataList: TAny[]) => {\n if (dataList?.length === 0 && state.treeSelectorList.length === 0) {\n void actions.setSelectBoxList({\n treeSelectorList: [],\n treeSelectorTiledArray: [],\n });\n onTreeSelectorListChange?.([]);\n return;\n }\n // 全部选项\n const tempItem = allOptionConfig\n ? {\n [fieldNamesMerge.label]: allOptionConfig.label,\n [fieldNamesMerge.value]: allOptionConfig.value,\n }\n : undefined;\n const newdataList = showAllOption ? [tempItem, ...dataList] : dataList;\n void actions.setSelectBoxList({\n treeSelectorList: newdataList,\n treeSelectorTiledArray: treeToArray(newdataList || [], fieldNamesMerge.children),\n });\n onTreeSelectorListChange?.(dataList);\n });\n\n fbaHooks.useEffectCustom(() => {\n if (hasTreeSelectorList) {\n onChangeSelectorList(treeSelectorList || []);\n }\n }, [treeSelectorList]);\n\n const onTreeExpand = hooks.useCallbackRef((expandedKeys) => {\n setTreeExpandedKeys(expandedKeys as string[]);\n });\n\n const onAgainRequest = hooks.useCallbackRef(() => {\n void startDataSourceRequest();\n });\n\n const getTreeExpandedKeys = (valueList: Array<string | number>, refresh?: boolean) => {\n let newTreeExpandedKeys = [] as Array<string | number>;\n valueList.forEach((value) => {\n if (!refresh && treeExpandedKeys?.includes(value)) return;\n const targetList = getExpandedKeys(value, state.treeSelectorList, fieldNamesMerge);\n newTreeExpandedKeys = newTreeExpandedKeys.concat(targetList.map((item) => item.value));\n });\n return newTreeExpandedKeys;\n };\n\n /**\n * 数据源Item解析\n */\n const parseDataSourceItem = hooks.useCallbackRef((item?: TPlainObject | null) => {\n if (!item) return undefined;\n return {\n label: item?.[fieldNamesMerge.label],\n value: item?.[fieldNamesMerge.value],\n children: item?.[fieldNamesMerge.children],\n disabled: item?.['disabled'],\n };\n });\n /**\n * labelInValue模式入参value item解析\n */\n const parseLabelInValueItem = hooks.useCallbackRef((item?: TPlainObject | null) => {\n if (!item) return undefined;\n return {\n label: item?.[labelInValueFieldNamesMerge.label],\n value: item?.[labelInValueFieldNamesMerge.value],\n disabled: item?.['disabled'],\n };\n });\n\n const getResponseTreeNodeList = hooks.useCallbackRef((changeValue: TAny, triggerInfo: TPlainObject) => {\n const valueList = getVauleList(changeValue, { value: 'value', label: 'label' });\n let selectedTreeNodeList = [] as TPlainObject[];\n valueList.forEach((item) => {\n const target = arrayFind(state.treeSelectorTiledArray, item, fieldNamesMerge.value) as TPlainObject;\n if (!target) return;\n selectedTreeNodeList.push(target);\n });\n if (otherProps.treeCheckStrictly && selectedParentCheckedAllChildrenList) {\n const triggerNode = parseDataSourceItem(\n triggerInfo.checked\n ? arrayFind(state.treeSelectorTiledArray, triggerInfo.triggerValue, fieldNamesMerge.value)\n : null,\n );\n if (triggerNode && isArray(triggerNode.children) && triggerNode.children.length > 0) {\n // 判断为父节点\n const allChildrenList = treeToArray(triggerNode.children, fieldNamesMerge.children);\n const selectedChildrenList = allChildrenList.filter((item) => {\n const parseItem = parseDataSourceItem(item);\n if (parseItem?.disabled) return false;\n // 去重\n if (arrayFind(selectedTreeNodeList, parseItem?.value, fieldNamesMerge.value)) return false;\n return true;\n });\n selectedTreeNodeList = selectedTreeNodeList.concat(selectedChildrenList);\n }\n }\n let realTreeNodeList = [] as TPlainObject[];\n if (otherProps.treeCheckable) {\n if (\n otherProps.treeCheckStrictly === true ||\n valueIsEqual(otherProps.showCheckedStrategy, ['SHOW_ALL', 'SHOW_PARENT'])\n ) {\n // 返回包含父节点\n realTreeNodeList = selectedTreeNodeList;\n } else {\n // 返回不包含父节点\n realTreeNodeList = selectedTreeNodeList.filter((item) => {\n const children = item[fieldNamesMerge.children];\n return !(isArray(children) && children.length > 0);\n });\n }\n } else {\n realTreeNodeList = selectedTreeNodeList;\n }\n return {\n realTreeNodeList,\n realTreeNodeValueList: getVauleList(realTreeNodeList, fieldNamesMerge),\n };\n });\n\n const onRespChange = hooks.useCallbackRef((values, selectedValues, triggerInfo) => {\n // setInnerOperateValue(values);\n onChange?.(values, selectedValues, triggerInfo);\n onChangeHandle?.(values, selectedValues, triggerInfo);\n });\n\n /**\n * 根据treeCheckable、treeCheckStrictly、showCheckedStrategy等设置情况,判断返回数据是否包含父节点\n * 1. 当 treeCheckable = true,changeValue 数据格式为 { label,value }[]\n */\n const onInnerChange = hooks.useCallbackRef((changeValue: TAny, _data, triggerInfo: TPlainObject) => {\n const { realTreeNodeList, realTreeNodeValueList } = getResponseTreeNodeList(changeValue, triggerInfo);\n if (otherProps.treeCheckable) {\n setTreeExpandedKeys((prev) => {\n const mergeList = getTreeExpandedKeys(realTreeNodeValueList).concat(prev || []);\n return Array.from(new Set(mergeList));\n });\n }\n\n if (labelInValue) {\n const labelInValueList = realTreeNodeList.map((item) => {\n const parseItem = parseDataSourceItem(item);\n return {\n [labelInValueFieldNamesMerge.label]: parseItem?.label,\n [labelInValueFieldNamesMerge.value]: parseItem?.value,\n };\n });\n\n if (isMultiple) {\n onRespChange?.(labelInValueList, realTreeNodeList, triggerInfo);\n } else {\n onRespChange?.(labelInValueList[0], realTreeNodeList[0], triggerInfo);\n }\n } else {\n if (isMultiple) {\n onRespChange?.(realTreeNodeValueList, realTreeNodeList, triggerInfo);\n } else {\n onRespChange?.(realTreeNodeValueList[0], realTreeNodeList[0], triggerInfo);\n }\n }\n });\n\n const mapTree = hooks.useCallbackRef((data) => {\n if (!data) return null;\n return data.map((item) => {\n const itemAdapterData = onTreeItemDataAdapter?.({ ...item }) || item;\n const children = itemAdapterData[fieldNamesMerge.children];\n const value = itemAdapterData[fieldNamesMerge.value];\n const label = itemAdapterData[fieldNamesMerge.label];\n const disabled = itemAdapterData[fieldNamesMerge.disabled]\n ? itemAdapterData[fieldNamesMerge.disabled]\n : itemAdapterData.disabled;\n return (\n <TreeSelect.TreeNode\n {...itemAdapterData}\n disabled={disabled}\n value={value}\n title={label}\n key={`${value}`}\n >\n {children && children.length > 0 && mapTree(children)}\n </TreeSelect.TreeNode>\n );\n });\n });\n\n /**\n * 1. 当 treeCheckable = true,value 数据格式为 labelInValueFieldNames[]\n * 2. 其他情况 value 数据格式为 value[]\n */\n const renderValueList = useMemo(() => {\n const innerOperateValueList = toArray(value);\n if (innerOperateValueList.length == 0) return [];\n if (otherProps.treeCheckStrictly) {\n if (state.treeSelectorTiledArray.length === 0) {\n return innerOperateValueList.map((item) => ({ label: item, value: item }));\n }\n return innerOperateValueList.map((item) => {\n let targetParseItem: TPlainObject;\n let defualtValue;\n if (isString(item) || isNumber(item as TAny)) {\n const target = arrayFind(state.treeSelectorTiledArray, item as string, fieldNamesMerge.value);\n targetParseItem = parseDataSourceItem(target) as TPlainObject;\n defualtValue = item;\n } else {\n targetParseItem = parseLabelInValueItem(item as TPlainObject) as TPlainObject;\n }\n return {\n label: getValueOrDefault(targetParseItem?.label, defualtValue),\n value: getValueOrDefault(targetParseItem?.value, defualtValue),\n };\n });\n }\n return getVauleList(value, labelInValueFieldNamesMerge);\n }, [\n value,\n otherProps.treeCheckStrictly,\n labelInValueFieldNamesMerge,\n state.treeSelectorTiledArray,\n fieldNamesMerge.value,\n parseDataSourceItem,\n parseLabelInValueItem,\n ]);\n\n const treeSelectValue = useMemo(() => {\n if (isArray(renderValueList) && renderValueList.length === 0) {\n return undefined;\n }\n return isMultiple ? renderValueList : renderValueList[0];\n }, [isMultiple, renderValueList]);\n\n /**\n * 1. 使用 TreeNode 渲染节点,不能重写 fieldNames 配置\n * 2. 使用 TreeNode 是为了实现 TreeNode ICON\n */\n return (\n <TreeSelect\n dropdownStyle={{ maxHeight: 400, overflow: 'auto' }}\n showSearch={true}\n treeLine={{ showLeafIcon: false }}\n treeNodeFilterProp=\"title\"\n switcherIcon={<CaretDownFilled />}\n showArrow\n {...otherProps}\n className={classNames('v-tree-select-wrapper', otherProps.className)}\n popupClassName={classNames('v-tree-select-wrapper-dropdown', otherProps.popupClassName)}\n onChange={onInnerChange}\n treeExpandedKeys={treeExpandedKeys}\n value={treeSelectValue}\n loading={loading}\n dropdownMatchSelectWidth={false}\n onTreeExpand={onTreeExpand}\n style={{ width: '100%', ...otherProps.style }}\n suffixIcon={\n state.requestStatus === 'request-error' ? (\n <RedoOutlined spin={loading} onClick={onAgainRequest} />\n ) : undefined\n }\n notFoundContent={\n <RequestStatus\n status={state.requestStatus}\n messageConfig={requestMessageConfig}\n loading={loading}\n errorButton={\n <Button type=\"primary\" onClick={onAgainRequest}>\n 重新获取数据\n </Button>\n }\n />\n }\n >\n {mapTree(state.treeSelectorList)}\n </TreeSelect>\n );\n};\n"],"names":["defaultState","treeSelectorList","treeSelectorTiledArray","queryIsEmpty","TreeSelectorWrapperModel","actions","setSelectBoxList","params","state","requestStatus","resetSelectBoxList","changeRequestStatus","treeSelectorWrapperModels","treeSelectorWrapperModel","key","Model","getExpandedKeys","value","treeList","fieldNames","_isArray","length","tiledArray","treeToTiledArray","treeLeafParentsArray","parentValue","getVauleList","data","tempList","toArray","map","item","_isObject","TreeSelectorWrapper","props","serviceConfig","effectDependencyList","onTreeSelectorListChange","onTreeSelectorRequestError","requestMessageConfig","modelKey","_labelInValue","labelInValue","labelInValueFieldNames","onTreeItemDataAdapter","_props$selectedParent","selectedParentCheckedAllChildrenList","onChange","onChangeHandle","treeDefaultExpandAll","showAllOption","initRootExpand","treeDefaultExpandedKeys","otherProps","_objectWithoutPropertiesLoose","_excluded","hasTreeSelectorList","hasOwnProperty","newServiceConfig","newEffectDependencyList","_fbaHooks$useSafeStat","fbaHooks","useSafeState","loading","setLoading","_useState","useState","treeExpandedKeys","setTreeExpandedKeys","_treeSelectorWrapperM","useStore","requestPreKey","isMultiple","treeCheckable","responseFirstRef","useRef","useMemo","treeCheckStrictly","fieldNamesMerge","_extends","label","children","disabled","labelInValueFieldNamesMerge","allOptionConfig","isTrue","isFirstUseValueRef","prevValue","usePrevious","useEffectCustom","current","isUndefinedOrNull","allValues","treeToArray","valueList","expandedKeys","getTreeExpandedKeys","Array","from","Set","valueIsEmpty","serviceResponseHandle","respData","respDataList","onRequestResultAdapter","startDataSourceRequest","_hooks","useCallbackRef","Promise","$return","$error","requiredParamsKeys","isEmpty","_respData","_respData2","onRequest","Error","_extend","find","console","warn","join","$Try_1_Post","$boundEx","$Try_1_Catch","error","window","resolve","then","$await_2","onChangeSelectorList","useCustomCompareEffect","Boolean","allState","getState","dequal","dataList","_ref","tempItem","undefined","newdataList","concat","onTreeExpand","onAgainRequest","refresh","newTreeExpandedKeys","forEach","includes","targetList","parseDataSourceItem","parseLabelInValueItem","getResponseTreeNodeList","changeValue","triggerInfo","selectedTreeNodeList","target","arrayFind","push","triggerNode","checked","triggerValue","allChildrenList","selectedChildrenList","filter","parseItem","realTreeNodeList","valueIsEqual","showCheckedStrategy","realTreeNodeValueList","onRespChange","values","selectedValues","onInnerChange","_data","_getResponseTreeNodeL","prev","mergeList","labelInValueList","_ref2","mapTree","itemAdapterData","_createElement","TreeSelect","TreeNode","title","renderValueList","innerOperateValueList","_targetParseItem","_targetParseItem2","targetParseItem","defualtValue","_isString","isNumber","getValueOrDefault","treeSelectValue","_jsx","dropdownStyle","maxHeight","overflow","showSearch","treeLine","showLeafIcon","treeNodeFilterProp","switcherIcon","_CaretDownFilled","showArrow","className","_classNames","popupClassName","dropdownMatchSelectWidth","style","width","suffixIcon","_RedoOutlined","spin","onClick","notFoundContent","RequestStatus","status","messageConfig","errorButton","Button","type"],"mappings":"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"}
1
+ {"version":3,"file":"tree-selector-wrapper-1e520ad1.js","sources":["@flatbiz/antd/src/tree-selector-wrapper/model.ts","@flatbiz/antd/src/tree-selector-wrapper/utils.ts","@flatbiz/antd/src/tree-selector-wrapper/tree-selector-wrapper.tsx"],"sourcesContent":["import { API, ModelType } from '@dimjs/model';\nimport { Model } from '@dimjs/model-react';\nimport { TAny, TPlainObject, TSetDefaultDefined } from '@flatbiz/utils';\nimport { TreeSelectProps } from 'antd';\nimport { TRequestStatus } from '../request-status';\n\nexport type ModelState = {\n treeSelectorList: TSetDefaultDefined<TreeSelectProps['treeData'], []>;\n treeSelectorTiledArray: TPlainObject[];\n queryIsEmpty: boolean;\n requestStatus?: TRequestStatus;\n};\n\ntype ModelActionParams = {\n setSelectBoxList: {\n treeSelectorList: ModelState['treeSelectorList'];\n treeSelectorTiledArray: ModelState['treeSelectorTiledArray'];\n };\n resetSelectBoxList: void;\n changeRequestStatus: TRequestStatus;\n};\n\nconst defaultState: ModelState = {\n treeSelectorList: [],\n treeSelectorTiledArray: [],\n queryIsEmpty: false,\n};\n\nconst TreeSelectorWrapperModel: ModelType<ModelState, ModelActionParams> = {\n actions: {\n setSelectBoxList: (params) => {\n return (state) => {\n state.treeSelectorList = params.treeSelectorList || [];\n state.treeSelectorTiledArray = params.treeSelectorTiledArray || [];\n state.requestStatus = 'request-success';\n };\n },\n resetSelectBoxList: () => {\n return (state) => {\n state.treeSelectorList = [];\n };\n },\n changeRequestStatus: (params) => {\n return (state) => {\n state.requestStatus = params;\n };\n },\n },\n state: defaultState,\n};\n\nconst treeSelectorWrapperModels: Record<string, API<ModelType<ModelState, ModelActionParams, TAny>>> = {};\n\n/**\n * ```\n * 使用方式\n * const [state, actions] = useTreeSelectorWrapperModel('key值').useStore();\n * ```\n */\nexport const treeSelectorWrapperModel = (key: string) => {\n if (!treeSelectorWrapperModels[key]) {\n treeSelectorWrapperModels[key] = Model(TreeSelectorWrapperModel);\n }\n return treeSelectorWrapperModels[key];\n};\n","import { isArray, isObject } from '@dimjs/lang';\nimport {\n isUndefinedOrNull,\n LabelValueItem,\n toArray,\n TPlainObject,\n treeLeafParentsArray,\n treeToTiledArray,\n} from '@flatbiz/utils';\nimport { TreeSelectProps } from 'antd';\nimport { dequal } from 'dequal';\n\nexport const getExpandedKeys = (\n value: string | number,\n treeList: TPlainObject[],\n fieldNames?: TreeSelectProps['fieldNames'],\n) => {\n if (!isArray(treeList) || treeList.length === 0) return [];\n const tiledArray = treeToTiledArray(treeList, fieldNames);\n return treeLeafParentsArray(value, tiledArray, true, { value: 'value', parentValue: 'parentValue' });\n};\n\nexport const getVauleList = (data, fieldNames: LabelValueItem<string>) => {\n let tempList = toArray<TPlainObject | string | number>(data);\n tempList = tempList.map((item) => {\n if (isObject(item)) return item[fieldNames.value];\n return item;\n });\n return tempList as Array<string | number>;\n};\n\nexport const array2map = (data, fieldNames: LabelValueItem<string>) => {\n const list = getVauleList(data, fieldNames);\n const map = {};\n list.forEach((item) => {\n map[item] = true;\n });\n return map;\n};\n\n/**\n * value的类型包括 string、number、Array<string | number>、{ label: string, value: string | nuber }\n * 将数组转成对象,深度比较时不用考虑顺序问题\n * @param value1\n * @param value2\n * @returns\n */\nexport const treeSelectorWrapperValueDeepEqual = (\n value1: any,\n value2: any,\n fieldNames: LabelValueItem<string>,\n) => {\n if (isUndefinedOrNull(value1) && isUndefinedOrNull(value2)) return true;\n const object1 = array2map(value1, fieldNames);\n const object2 = array2map(value2, fieldNames);\n const diff = dequal(object1, object2);\n return diff;\n};\n","import { CaretDownFilled, RedoOutlined } from '@ant-design/icons';\nimport { isArray, isString } from '@dimjs/lang';\nimport { classNames, extend } from '@dimjs/utils';\nimport {\n isNumber,\n isUndefinedOrNull,\n TAny,\n toArray,\n TPlainObject,\n treeToArray,\n valueIsEqual,\n} from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Button, TreeSelect, TreeSelectProps } from 'antd';\nimport { DependencyList, useMemo, useRef, useState } from 'react';\nimport { treeSelectorWrapperModel } from './model';\nimport './style.less';\n\nimport { arrayFind, getValueOrDefault } from '@flatbiz/utils';\nimport { usePrevious } from 'ahooks';\nimport { dequal } from 'dequal';\nimport { fbaHooks } from '../fba-hooks';\nimport { RequestStatus, TRequestStatusProps } from '../request-status';\nimport { getExpandedKeys, getVauleList } from './utils';\n\ntype TreeSelectorWrapperValue =\n | string\n | number\n | Array<string | number>\n | TPlainObject<string | number>\n | Array<TPlainObject<string | number>>;\n\ntype TreeSelectorServiceConfig = {\n params?: TPlainObject;\n requiredParamsKeys?: string[];\n onRequest?: (params?: TAny) => TAny;\n /**\n * 响应数据适配器\n */\n onRequestResultAdapter?: (respData: TAny) => TPlainObject[];\n};\n\nexport type TreeSelectorWrapperProps = Omit<\n TreeSelectProps,\n | 'treeExpandedKeys'\n | 'treeData'\n | 'loading'\n | 'onTreeExpand'\n | 'onChange'\n | 'value'\n | 'fieldNames'\n | 'defaultValue'\n | 'treeDataSimpleMode'\n> & {\n modelKey: string;\n fieldNames?: { label?: string; value?: string; children?: string; disabled?: string };\n /**\n * useEffect依赖项数组,用于重新发起获取接口数据\n */\n effectDependencyList?: DependencyList;\n /**\n * 请求服务需求的数据,当设置`treeSelectorList`后无效果\n */\n serviceConfig?: TreeSelectorServiceConfig;\n /**\n * 当设置treeSelectorList后,serviceConfig 将失效\n */\n treeSelectorList?: TreeSelectProps['treeData'];\n /**\n * treeSelectorList发生变更时触发\n */\n onTreeSelectorListChange?: (treeSelectorList?: TreeSelectProps['treeData']) => void;\n /**\n * 通过服务获取数据异常回调,当设置`treeSelectorList`后无效果\n */\n onTreeSelectorRequestError?: (error: Error) => void;\n /**\n * 添加全部选项\n * ```\n * 1. showAllOption = true,添加默认全部选项(value值为空字符串)\n * 2. 可自定义全部选项,例如:{ label: '全部', value: 'all' }\n * 3. 自定义字段会通过fieldNames转换后使用\n * 4. 多选操作时,最好不要设置全部选项\n * ```\n */\n showAllOption?: true | TPlainObject<string | number>;\n /**\n * @deprecated 已过期,请使用onChange\n * 1. 当 treeCheckable = true && treeCheckStrictly = true,如果选择的数据中含有父节点,selectedValue、selectedList返回数据包含父节点\n * 2. 当 treeCheckable = true && treeCheckStrictly = false,selectedValue、selectedList返回的数据不包含父节点\n * 3. 当 treeCheckable = false,节点选择没有级联关系,selectedValue、selectedList返回的数据就是实际选择\n * 4. selectAllDataList 返回的数据都包含父节点\n * 5. 使用 onTreeItemAdapter 拼接label数据后,选中回填数据也是拼接后的\n * 6. triggerInfo 当前操作节点数据\n */\n onChangeHandle?: (\n selectedValue?: TreeSelectorWrapperValue,\n selectedData?: TPlainObject[] | TPlainObject,\n triggerInfo?: TPlainObject,\n ) => void;\n /**\n * 1. 当 treeCheckable = true && treeCheckStrictly = true,如果选择的数据中含有父节点,selectedValue、selectedList返回数据包含父节点\n * 2. 当 treeCheckable = true && treeCheckStrictly = false,selectedValue、selectedList返回的数据不包含父节点\n * 3. 当 treeCheckable = false,节点选择没有级联关系,selectedValue、selectedList返回的数据就是实际选择\n * 4. selectAllDataList 返回的数据都包含父节点\n * 5. 使用 onTreeItemAdapter 拼接label数据后,选中回填数据也是拼接后的\n * 6. triggerInfo 当前操作节点数据\n */\n onChange?: (\n selectedValue?: TreeSelectorWrapperValue,\n selectedData?: TPlainObject[] | TPlainObject,\n triggerInfo?: TPlainObject,\n ) => void;\n /**\n * tree item 数据适配器\n */\n onTreeItemDataAdapter?: (dataItem: TPlainObject) => TPlainObject;\n // icon 无法实现、treeIcon不起作用4.20.0\n // showIcon?: boolean;\n // icon?: (data: TPlainObject) => ReactElement;\n /** 自定义异常提示文案 */\n requestMessageConfig?: TRequestStatusProps['messageConfig'];\n /**\n * value格式\n *```\n * 1. string 、number\n * 2. Array<string | number>\n * 3. lableInValue = true,根据labelInValueFieldNames配置格式\n * 4. lableInValue = true,Array<labelInValueFieldNames配置>\n * ```\n */\n value?: TreeSelectorWrapperValue;\n\n /**\n * treeCheckStrictly \tcheckable 状态下节点选择完全受控(父子节点选中状态不再关联),\n * 会使得 labelInValue 强制为 true\n */\n labelInValue?: boolean;\n /**\n * ```\n * lableInValue = true,onChange输出数据字段名称,默认:{ label: string; value: string|number }\n * ```\n */\n labelInValueFieldNames?: { label: string; value: string };\n /**\n * treeCheckStrictly = true模式下有效,点击父节点是否选中所有子节点,默认值:true\n */\n selectedParentCheckedAllChildrenList?: boolean;\n /** 有唯一跟节点时,初始化是否展开,默认值:false */\n initRootExpand?: boolean;\n};\n\n// type TreeSelectorWrapperPropsInner = TreeSelectorWrapperProps & {\n// onChange?: (selectedValue?: TreeSelectorWrapperValue) => void;\n// };\n\n/**\n * 树选择器包装组件,由于过度封装,部分antd TreeSelect原始功能不支持,不满足情况的请使用antd TreeSelect实现\n * @param props\n * @returns\n * ```\n * 1. 当设置treeSelectorList属性后,serviceConfig、onTreeSelectorListChange将失效\n * 2. 父节点默认不返回,需要返回请设置showCheckedStrategy\n * ```\n */\nexport const TreeSelectorWrapper = (props: TreeSelectorWrapperProps) => {\n const {\n serviceConfig,\n effectDependencyList,\n onTreeSelectorListChange,\n onTreeSelectorRequestError,\n treeSelectorList,\n requestMessageConfig,\n modelKey,\n value,\n labelInValue: _labelInValue,\n labelInValueFieldNames,\n onTreeItemDataAdapter,\n selectedParentCheckedAllChildrenList = true,\n fieldNames,\n onChange,\n onChangeHandle,\n treeDefaultExpandAll,\n showAllOption,\n initRootExpand,\n treeDefaultExpandedKeys,\n ...otherProps\n } = props;\n /**\n * 不能使用key、defaultValue模式\n * 1. 勾选的和回填选中不相同情况,勾选后会渲染defaultValue模式后,弹框被关闭,操作体验存在问题\n */\n const hasTreeSelectorList = props.hasOwnProperty('treeSelectorList');\n const newServiceConfig = serviceConfig || {};\n const newEffectDependencyList = effectDependencyList || [];\n const [loading, setLoading] = fbaHooks.useSafeState(false);\n const [treeExpandedKeys, setTreeExpandedKeys] = useState<React.Key[]>();\n const [state, actions] = treeSelectorWrapperModel(modelKey).useStore();\n const requestPreKey = `request-progress-${modelKey}`;\n const isMultiple = otherProps.treeCheckable;\n const responseFirstRef = useRef(true);\n /**\n * treeCheckStrictly \tcheckable 状态下节点选择完全受控(父子节点选中状态不再关联),\n * 会使得 labelInValue 强制为 true\n */\n const labelInValue = useMemo(() => {\n if (otherProps.treeCheckStrictly) return true;\n return _labelInValue;\n }, [_labelInValue, otherProps.treeCheckStrictly]);\n\n const fieldNamesMerge = useMemo(() => {\n return { label: 'label', value: 'value', children: 'children', disabled: 'disabled', ...fieldNames };\n }, [fieldNames]);\n\n const labelInValueFieldNamesMerge = useMemo(() => {\n return { label: 'label', value: 'value', ...labelInValueFieldNames };\n }, [labelInValueFieldNames]);\n\n const allOptionConfig = useMemo(() => {\n if (showAllOption) {\n const isTrue = showAllOption === true;\n return {\n label: isTrue ? '全部' : showAllOption.label,\n value: isTrue ? '' : showAllOption.value,\n };\n }\n return null;\n }, [showAllOption]);\n\n const isFirstUseValueRef = useRef(true);\n\n const prevValue = usePrevious(value);\n\n fbaHooks.useEffectCustom(() => {\n if (state.treeSelectorList.length > 0) {\n if (responseFirstRef.current && isUndefinedOrNull(value)) {\n responseFirstRef.current = false;\n if (treeDefaultExpandedKeys) {\n setTreeExpandedKeys(treeDefaultExpandedKeys);\n } else if (treeDefaultExpandAll) {\n const allValues = treeToArray(state.treeSelectorList, fieldNamesMerge.children).map((item) => {\n return item[fieldNamesMerge.value];\n });\n setTreeExpandedKeys(allValues);\n return;\n } else if (initRootExpand && state.treeSelectorList.length) {\n setTreeExpandedKeys([state.treeSelectorList[0][fieldNamesMerge.value]]);\n return;\n }\n }\n if (isUndefinedOrNull(value) && isFirstUseValueRef.current) return;\n isFirstUseValueRef.current = false;\n if (value !== prevValue) {\n const valueList = getVauleList(value, labelInValueFieldNamesMerge);\n const expandedKeys = getTreeExpandedKeys(valueList, true);\n setTreeExpandedKeys(Array.from(new Set(expandedKeys)));\n }\n }\n }, [value, state.treeSelectorList]);\n\n const valueIsEmpty = (value: string | number) => {\n return value === '' || isUndefinedOrNull(value);\n };\n\n const serviceResponseHandle = (respData) => {\n const respDataList = newServiceConfig.onRequestResultAdapter\n ? newServiceConfig.onRequestResultAdapter(respData as unknown as TPlainObject)\n : respData;\n return respDataList as TPlainObject[];\n };\n\n const startDataSourceRequest = hooks.useCallbackRef(async () => {\n if (!newServiceConfig.onRequest) {\n throw new Error('onRequest 调用接口服务不能为空');\n }\n const requiredParamsKeys = newServiceConfig.requiredParamsKeys || [];\n const params = extend({}, newServiceConfig.params);\n const isEmpty = requiredParamsKeys.find((key) => {\n return valueIsEmpty(params[key] as string | number);\n });\n if (isEmpty) {\n void actions.changeRequestStatus('no-dependencies-params');\n console.warn(`TreeSelectorWrapper组件:参数:${requiredParamsKeys.join('、')}不能为空`);\n return;\n }\n try {\n setLoading(true);\n window[requestPreKey] = true;\n void actions.changeRequestStatus('request-progress');\n const _respData = await newServiceConfig.onRequest?.(params);\n const respData = serviceResponseHandle(_respData) as TreeSelectProps['treeData'];\n setLoading(false);\n window[requestPreKey] = false;\n onChangeSelectorList(respData || []);\n } catch (error: any) {\n setLoading(false);\n window[requestPreKey] = false;\n void actions.changeRequestStatus('request-error');\n onTreeSelectorRequestError?.(error);\n }\n });\n\n hooks.useCustomCompareEffect(\n () => {\n if (hasTreeSelectorList) return;\n // 当无依赖项时,如果存在缓存数据,就不在调用接口\n if (Boolean(newEffectDependencyList.length)) {\n // 内部主动清楚数据,被依赖的数据发生变更时,依赖组件数据清空\n onChangeSelectorList([]);\n void startDataSourceRequest();\n return;\n }\n const allState = treeSelectorWrapperModel(modelKey).getState();\n if (allState.requestStatus === 'request-success') {\n return;\n }\n // 判断相同的modelKey是否已经在请求数据中,避免重复请求\n if (!window[requestPreKey]) {\n void startDataSourceRequest();\n return;\n }\n },\n newEffectDependencyList,\n dequal,\n );\n\n const onChangeSelectorList = hooks.useCallbackRef((dataList: TAny[]) => {\n if (dataList?.length === 0 && state.treeSelectorList.length === 0) {\n void actions.setSelectBoxList({\n treeSelectorList: [],\n treeSelectorTiledArray: [],\n });\n onTreeSelectorListChange?.([]);\n return;\n }\n // 全部选项\n const tempItem = allOptionConfig\n ? {\n [fieldNamesMerge.label]: allOptionConfig.label,\n [fieldNamesMerge.value]: allOptionConfig.value,\n }\n : undefined;\n const newdataList = showAllOption ? [tempItem, ...dataList] : dataList;\n void actions.setSelectBoxList({\n treeSelectorList: newdataList,\n treeSelectorTiledArray: treeToArray(newdataList || [], fieldNamesMerge.children),\n });\n onTreeSelectorListChange?.(dataList);\n });\n\n fbaHooks.useEffectCustom(() => {\n if (hasTreeSelectorList) {\n onChangeSelectorList(treeSelectorList || []);\n }\n }, [treeSelectorList]);\n\n const onTreeExpand = hooks.useCallbackRef((expandedKeys) => {\n setTreeExpandedKeys(expandedKeys as string[]);\n });\n\n const onAgainRequest = hooks.useCallbackRef(() => {\n void startDataSourceRequest();\n });\n\n const getTreeExpandedKeys = (valueList: Array<string | number>, refresh?: boolean) => {\n let newTreeExpandedKeys = [] as Array<string | number>;\n valueList.forEach((value) => {\n if (!refresh && treeExpandedKeys?.includes(value)) return;\n const targetList = getExpandedKeys(value, state.treeSelectorList, fieldNamesMerge);\n newTreeExpandedKeys = newTreeExpandedKeys.concat(targetList.map((item) => item.value));\n });\n return newTreeExpandedKeys;\n };\n\n /**\n * 数据源Item解析\n */\n const parseDataSourceItem = hooks.useCallbackRef((item?: TPlainObject | null) => {\n if (!item) return undefined;\n return {\n label: item?.[fieldNamesMerge.label],\n value: item?.[fieldNamesMerge.value],\n children: item?.[fieldNamesMerge.children],\n disabled: item?.['disabled'],\n };\n });\n /**\n * labelInValue模式入参value item解析\n */\n const parseLabelInValueItem = hooks.useCallbackRef((item?: TPlainObject | null) => {\n if (!item) return undefined;\n return {\n label: item?.[labelInValueFieldNamesMerge.label],\n value: item?.[labelInValueFieldNamesMerge.value],\n disabled: item?.['disabled'],\n };\n });\n\n const getResponseTreeNodeList = hooks.useCallbackRef((changeValue: TAny, triggerInfo: TPlainObject) => {\n const valueList = getVauleList(changeValue, { value: 'value', label: 'label' });\n let selectedTreeNodeList = [] as TPlainObject[];\n valueList.forEach((item) => {\n const target = arrayFind(state.treeSelectorTiledArray, item, fieldNamesMerge.value) as TPlainObject;\n if (!target) return;\n selectedTreeNodeList.push(target);\n });\n if (otherProps.treeCheckStrictly && selectedParentCheckedAllChildrenList) {\n const triggerNode = parseDataSourceItem(\n triggerInfo.checked\n ? arrayFind(state.treeSelectorTiledArray, triggerInfo.triggerValue, fieldNamesMerge.value)\n : null,\n );\n if (triggerNode && isArray(triggerNode.children) && triggerNode.children.length > 0) {\n // 判断为父节点\n const allChildrenList = treeToArray(triggerNode.children, fieldNamesMerge.children);\n const selectedChildrenList = allChildrenList.filter((item) => {\n const parseItem = parseDataSourceItem(item);\n if (parseItem?.disabled) return false;\n // 去重\n if (arrayFind(selectedTreeNodeList, parseItem?.value, fieldNamesMerge.value)) return false;\n return true;\n });\n selectedTreeNodeList = selectedTreeNodeList.concat(selectedChildrenList);\n }\n }\n let realTreeNodeList = [] as TPlainObject[];\n if (otherProps.treeCheckable) {\n if (\n otherProps.treeCheckStrictly === true ||\n valueIsEqual(otherProps.showCheckedStrategy, ['SHOW_ALL', 'SHOW_PARENT'])\n ) {\n // 返回包含父节点\n realTreeNodeList = selectedTreeNodeList;\n } else {\n // 返回不包含父节点\n realTreeNodeList = selectedTreeNodeList.filter((item) => {\n const children = item[fieldNamesMerge.children];\n return !(isArray(children) && children.length > 0);\n });\n }\n } else {\n realTreeNodeList = selectedTreeNodeList;\n }\n return {\n realTreeNodeList,\n realTreeNodeValueList: getVauleList(realTreeNodeList, fieldNamesMerge),\n };\n });\n\n const onRespChange = hooks.useCallbackRef((values, selectedValues, triggerInfo) => {\n // setInnerOperateValue(values);\n onChange?.(values, selectedValues, triggerInfo);\n onChangeHandle?.(values, selectedValues, triggerInfo);\n });\n\n /**\n * 根据treeCheckable、treeCheckStrictly、showCheckedStrategy等设置情况,判断返回数据是否包含父节点\n * 1. 当 treeCheckable = true,changeValue 数据格式为 { label,value }[]\n */\n const onInnerChange = hooks.useCallbackRef((changeValue: TAny, _data, triggerInfo: TPlainObject) => {\n const { realTreeNodeList, realTreeNodeValueList } = getResponseTreeNodeList(changeValue, triggerInfo);\n if (otherProps.treeCheckable) {\n setTreeExpandedKeys((prev) => {\n const mergeList = getTreeExpandedKeys(realTreeNodeValueList).concat(prev || []);\n return Array.from(new Set(mergeList));\n });\n }\n\n if (labelInValue) {\n const labelInValueList = realTreeNodeList.map((item) => {\n const parseItem = parseDataSourceItem(item);\n return {\n [labelInValueFieldNamesMerge.label]: parseItem?.label,\n [labelInValueFieldNamesMerge.value]: parseItem?.value,\n };\n });\n\n if (isMultiple) {\n onRespChange?.(labelInValueList, realTreeNodeList, triggerInfo);\n } else {\n onRespChange?.(labelInValueList[0], realTreeNodeList[0], triggerInfo);\n }\n } else {\n if (isMultiple) {\n onRespChange?.(realTreeNodeValueList, realTreeNodeList, triggerInfo);\n } else {\n onRespChange?.(realTreeNodeValueList[0], realTreeNodeList[0], triggerInfo);\n }\n }\n });\n\n const mapTree = hooks.useCallbackRef((data) => {\n if (!data) return null;\n return data.map((item) => {\n const itemAdapterData = onTreeItemDataAdapter?.({ ...item }) || item;\n const children = itemAdapterData[fieldNamesMerge.children];\n const value = itemAdapterData[fieldNamesMerge.value];\n const label = itemAdapterData[fieldNamesMerge.label];\n const disabled = itemAdapterData[fieldNamesMerge.disabled]\n ? itemAdapterData[fieldNamesMerge.disabled]\n : itemAdapterData.disabled;\n return (\n <TreeSelect.TreeNode\n {...itemAdapterData}\n disabled={disabled}\n value={value}\n title={label}\n key={`${value}`}\n >\n {children && children.length > 0 && mapTree(children)}\n </TreeSelect.TreeNode>\n );\n });\n });\n\n /**\n * 1. 当 treeCheckable = true,value 数据格式为 labelInValueFieldNames[]\n * 2. 其他情况 value 数据格式为 value[]\n */\n const renderValueList = useMemo(() => {\n const innerOperateValueList = toArray(value);\n if (innerOperateValueList.length == 0) return [];\n if (otherProps.treeCheckStrictly) {\n if (state.treeSelectorTiledArray.length === 0) {\n return innerOperateValueList.map((item) => ({ label: item, value: item }));\n }\n return innerOperateValueList.map((item) => {\n let targetParseItem: TPlainObject;\n let defualtValue;\n if (isString(item) || isNumber(item as TAny)) {\n const target = arrayFind(state.treeSelectorTiledArray, item as string, fieldNamesMerge.value);\n targetParseItem = parseDataSourceItem(target) as TPlainObject;\n defualtValue = item;\n } else {\n targetParseItem = parseLabelInValueItem(item as TPlainObject) as TPlainObject;\n }\n return {\n label: getValueOrDefault(targetParseItem?.label, defualtValue),\n value: getValueOrDefault(targetParseItem?.value, defualtValue),\n };\n });\n }\n return getVauleList(value, labelInValueFieldNamesMerge);\n }, [\n value,\n otherProps.treeCheckStrictly,\n labelInValueFieldNamesMerge,\n state.treeSelectorTiledArray,\n fieldNamesMerge.value,\n parseDataSourceItem,\n parseLabelInValueItem,\n ]);\n\n const treeSelectValue = useMemo(() => {\n if (isArray(renderValueList) && renderValueList.length === 0) {\n return undefined;\n }\n return isMultiple ? renderValueList : renderValueList[0];\n }, [isMultiple, renderValueList]);\n\n /**\n * 1. 使用 TreeNode 渲染节点,不能重写 fieldNames 配置\n * 2. 使用 TreeNode 是为了实现 TreeNode ICON\n */\n return (\n <TreeSelect\n dropdownStyle={{ maxHeight: 400, overflow: 'auto' }}\n showSearch={true}\n treeLine={{ showLeafIcon: false }}\n treeNodeFilterProp=\"title\"\n switcherIcon={<CaretDownFilled />}\n showArrow\n {...otherProps}\n className={classNames('v-tree-select-wrapper', otherProps.className)}\n popupClassName={classNames('v-tree-select-wrapper-dropdown', otherProps.popupClassName)}\n onChange={onInnerChange}\n treeExpandedKeys={treeExpandedKeys}\n value={treeSelectValue}\n loading={loading}\n dropdownMatchSelectWidth={false}\n onTreeExpand={onTreeExpand}\n style={{ width: '100%', ...otherProps.style }}\n suffixIcon={\n state.requestStatus === 'request-error' ? (\n <RedoOutlined spin={loading} onClick={onAgainRequest} />\n ) : undefined\n }\n notFoundContent={\n <RequestStatus\n status={state.requestStatus}\n messageConfig={requestMessageConfig}\n loading={loading}\n errorButton={\n <Button type=\"primary\" onClick={onAgainRequest}>\n 重新获取数据\n </Button>\n }\n />\n }\n >\n {mapTree(state.treeSelectorList)}\n </TreeSelect>\n );\n};\n"],"names":["defaultState","treeSelectorList","treeSelectorTiledArray","queryIsEmpty","TreeSelectorWrapperModel","actions","setSelectBoxList","params","state","requestStatus","resetSelectBoxList","changeRequestStatus","treeSelectorWrapperModels","treeSelectorWrapperModel","key","Model","getExpandedKeys","value","treeList","fieldNames","_isArray","length","tiledArray","treeToTiledArray","treeLeafParentsArray","parentValue","getVauleList","data","tempList","toArray","map","item","_isObject","TreeSelectorWrapper","props","serviceConfig","effectDependencyList","onTreeSelectorListChange","onTreeSelectorRequestError","requestMessageConfig","modelKey","_labelInValue","labelInValue","labelInValueFieldNames","onTreeItemDataAdapter","_props$selectedParent","selectedParentCheckedAllChildrenList","onChange","onChangeHandle","treeDefaultExpandAll","showAllOption","initRootExpand","treeDefaultExpandedKeys","otherProps","_objectWithoutPropertiesLoose","_excluded","hasTreeSelectorList","hasOwnProperty","newServiceConfig","newEffectDependencyList","_fbaHooks$useSafeStat","fbaHooks","useSafeState","loading","setLoading","_useState","useState","treeExpandedKeys","setTreeExpandedKeys","_treeSelectorWrapperM","useStore","requestPreKey","isMultiple","treeCheckable","responseFirstRef","useRef","useMemo","treeCheckStrictly","fieldNamesMerge","_extends","label","children","disabled","labelInValueFieldNamesMerge","allOptionConfig","isTrue","isFirstUseValueRef","prevValue","usePrevious","useEffectCustom","current","isUndefinedOrNull","allValues","treeToArray","valueList","expandedKeys","getTreeExpandedKeys","Array","from","Set","valueIsEmpty","serviceResponseHandle","respData","respDataList","onRequestResultAdapter","startDataSourceRequest","_hooks","useCallbackRef","Promise","$return","$error","requiredParamsKeys","isEmpty","_respData","_respData2","onRequest","Error","_extend","find","console","warn","join","$Try_1_Post","$boundEx","$Try_1_Catch","error","window","resolve","then","$await_2","onChangeSelectorList","useCustomCompareEffect","Boolean","allState","getState","dequal","dataList","_ref","tempItem","undefined","newdataList","concat","onTreeExpand","onAgainRequest","refresh","newTreeExpandedKeys","forEach","includes","targetList","parseDataSourceItem","parseLabelInValueItem","getResponseTreeNodeList","changeValue","triggerInfo","selectedTreeNodeList","target","arrayFind","push","triggerNode","checked","triggerValue","allChildrenList","selectedChildrenList","filter","parseItem","realTreeNodeList","valueIsEqual","showCheckedStrategy","realTreeNodeValueList","onRespChange","values","selectedValues","onInnerChange","_data","_getResponseTreeNodeL","prev","mergeList","labelInValueList","_ref2","mapTree","itemAdapterData","_createElement","TreeSelect","TreeNode","title","renderValueList","innerOperateValueList","_targetParseItem","_targetParseItem2","targetParseItem","defualtValue","_isString","isNumber","getValueOrDefault","treeSelectValue","_jsx","dropdownStyle","maxHeight","overflow","showSearch","treeLine","showLeafIcon","treeNodeFilterProp","switcherIcon","_CaretDownFilled","showArrow","className","_classNames","popupClassName","dropdownMatchSelectWidth","style","width","suffixIcon","_RedoOutlined","spin","onClick","notFoundContent","RequestStatus","status","messageConfig","errorButton","Button","type"],"mappings":"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"}
@@ -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 b,message as y}from"antd";import{forwardRef as L,useState as j,useMemo as w,useRef as C,useImperativeHandle as R,Fragment as N,isValidElement as q}from"react";import{a as k}from"../button-operate-d3b2e543.js";import{D as S}from"../dropdown-menu-wrapper-2b4fc43d.js";import{fbaHooks as T}from"../fba-hooks/index.js";import{I as P}from"../input-search-wrapper-10d4a9b9.js";import{R as x}from"../request-status-03fc60e2.js";import{tree as D}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;D.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","menus"];var Y=L((function(e,t){var i=e.style,L=e.serviceConfig,D=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=e.menus,pe=f(e,H);var me=e.hasOwnProperty("selectorTreeList");var he=L||{};var ge=D||[];var be=j([]),ye=be[0],Le=be[1];var je=F(V).useStore(),we=je[0],Ce=je[1];var Re=T.useSafeState(false),Ne=Re[0],qe=Re[1];var ke="request-progress-"+e.modelKey;var Se=w((function(){return p({label:"label",value:"value",children:"children"},e.fieldNames)}),[e.fieldNames]);var Te=ne===undefined?"fold":ne;var Pe=ae===undefined?"click":ae;var xe=C(true);var De=w((function(){return p({label:"label",value:"value"},ee)}),[ee]);var Ee=j(),Ae=Ee[0],Ie=Ee[1];var _e=C();var Oe=w((function(){var e=U(_,De);return e}),[De,_]);T.useEffectCustom((function(){if(we.treeList.length>0){if(xe.current){xe.current=false;if(ve){var e=n(we.treeList,Se.children).map((function(e){return e[Se.value]}));Le(e);return}else if(ie&&we.treeList.length){Le([we.treeList[0][Se.value]]);return}}if(!l(_)){var r=Ue(Oe,true);Le(Array.from(new Set(ye==null?void 0:ye.concat(r))))}}}),[_,we.treeList,Oe]);var Ve=function e(r){return r===""||l(r)};var Fe=function e(r){var t=he.onRequestResultAdapter?he.onRequestResultAdapter(r):r;return t};T.useEffectCustom((function(){Ie(Q)}),[Q]);var Ke=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{xe.current=false;qe(false);void y.error(e.message||"数据查询异常...");return o()}catch(e){return r(e)}};try{if(!he.onRequest){throw new Error("onRequest 调用接口服务不能为空")}t=he.requiredParamsKeys;n=d({},he.params);if(t){a=t.find((function(e){return Ve(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[ke]=false;qe(false);void Ce.changeRequestStatus("request-error");return c()}catch(e){return u(e)}};try{qe(true);return Promise.resolve(Ce.changeRequestStatus("request-progress")).then((function(e){try{window[ke]=true;return Promise.resolve(he.onRequest==null?void 0:he.onRequest(n)).then((function(e){try{i=e;W==null?void 0:W(i);l=Fe(i);s=l||[];if(s.length===0){xe.current=false}Me(s);qe(false);window[ke]=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(me)return;if(Boolean(ge.length)){void Ke();return}var e=F(V).getState();if(e.requestStatus==="request-success"){G==null?void 0:G(e.treeList);return}if(!window[ke]){void Ke()}else{G==null?void 0:G(e.treeList)}}),ge);T.useEffectCustom((function(){if(me){Me(E||[])}}),[E]);var Me=v.useCallbackRef((function(e){if((e==null?void 0:e.length)===0&&we.treeList.length===0){void Ce.changeRequestStatus("request-success");return}void Ce.setTreeList({treeList:e||[],childrenName:Se.children});G==null?void 0:G(e)}));var Ue=function e(r,t){var n=[];r.forEach((function(e){if(!t&&ye!=null&&ye.includes(e))return;var r=M(e,we.treeList,Se);n=n.concat(r.map((function(e){return e.value})))}));return n};v.useUpdateEffect((function(){if(Ae){var e=a(we.treeList||[],Se);var r=e.filter((function(e){var r;return(r=e.label)==null?void 0:r.includes(Ae||"")}));Le((function(e){var t=Ue(r.map((function(e){return e.value}))).concat(e||[]);return Array.from(new Set(t))}))}else{Le([])}}),[Ae]);R(t,(function(){return{onClearSelectorList:function e(){void Ce.resetTreeList()},getTreeDataList:function e(){return we.treeList}}}));var ze=v.useCallbackRef((function(e){Le(e)}));var Be=v.useCallbackRef((function(e,t,n){_e.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=De.label;var s=De.value;var o=a.map((function(e){var r;return r={},r[i]=e[Se.label],r[s]=e[Se.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 He=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=we.treeTiledArray.find((function(r){return r[Se.value]===e}));if(!t)return;var n=t==null?void 0:t[Se.children];if(!r(n)||n.length===0){i.push(t);s.push(t[Se.value])}o.push(t);u.push(t[Se.value])}));if(Y){Le((function(e){var r=Ue(s).concat(e||[]);return Array.from(new Set(r))}));if(!B&&!e.checkStrictly){Be(s,i,o)}else{Be(u,o,o)}}else{if(a[0]){var c=o.find((function(e){return e[Se.value]===a[0]}));Be(a[0],c,[c])}else{var d=n.node[Se.value];var v=we.treeTiledArray.find((function(e){return e[Se.value]===d}));Be(undefined,v,[v])}}}));var Ye=v.useCallbackRef((function(e){return J==null?void 0:J(e)}));var Ge=w((function(){var e=m(we.treeList||[]);if(Ae&&le!=="highlight"){return s(m(we.treeList||[]),(function(e){var r;var t=(r=e[Se.label])==null?void 0:r.toLowerCase();return t.indexOf(Ae.toLowerCase())>=0}),{childrenName:Se.children})}return e}),[Se.children,Se.label,le,we.treeList,Ae]);var We=w((function(){var e=function e(t){return t==null?void 0:t.map((function(t){var n;var a=(Ye==null?void 0:Ye(t))||t;var i=te?undefined:a.disabled;var l=a[Se.label];var s;if(Ae){var o=l.indexOf(Ae);var u=l.substring(0,o);var d=l.slice(o+Ae.length);s=o>-1?A("span",{className:c({"v-tree-item-disabled":a.disabled}),children:[u,I("span",{className:"site-tree-search-value",children:Ae}),d]}):null}if(!s){s=I("span",{className:c({"v-tree-item-disabled":a.disabled}),children:l})}var v=a[Se.children];return p({},a,(n={disabled:i},n[Se.label]=s,n._treeItemName=l,n._disabled=a.disabled,n[Se.children]=r(v)&&v.length>0?e(v):undefined,n))}))};return e(Ge)}),[Ge,Ye,te,Se.label,Se.children,Ae]);var Je=v.useCallbackRef((function(r){return new Promise((function(t,n){return new Promise((function(a,i){var l,s,o,u;if(r[Se.children]){t();return a()}var c=function(){try{return a()}catch(e){return i(e)}};var d=function(e){try{void y.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=he.onRequestResultAdapter?he.onRequestResultAdapter(o):o;void Ce.treeListAppendChildren({value:r[Se.value],appendList:u,childrenName:Se.children,valueName:Se.value}).then((function(e){Me(e.treeList);t()}));return c()}catch(e){return d(e)}}),d)}catch(e){d(e)}}))}))}));var Qe=v.useCallbackRef((function(r){var t=r==null?void 0:r[Se.children];var n=e.loadDataFlag;var a=n?!r.isLeaf:false;var i=t&&t.length>0||a;return!i}));var Xe=v.useCallbackRef((function(r){var t,n,a;var i=r._treeItemName||r[Se.label];var l=fe==null?void 0:fe(p({},r,(t={},t[Se.label]=i,t)));if(l){return A(N,{children:[I("span",{className:"tree-item-title",children:(ue==null?void 0:ue(r))||(r==null?void 0:r[Se.label])}),I(k,p({gap:5},l,{dropdownMenuProps:p({placement:"bottomRight",isFixed:true},l==null?void 0:l.dropdownMenuProps),className:c("tree-item-title-operate",l.className)}))]})}if(Te==="fold"){var s;var o=[];if((s=e.menuOptions)!=null&&s.fold){var d,v,f;o=((d=e.menuOptions)==null?void 0:(v=d[Te])==null?void 0:v.call(d,p({},r,(f={},f[Se.label]=i,f))))||[]}else{var m;o=(e.getMenuOptions==null?void 0:e.getMenuOptions(p({},r,(m={},m[Se.label]=i,m))))||[]}return A(N,{children:[I("span",{className:"tree-item-title",children:(ue==null?void 0:ue(r))||(r==null?void 0:r[Se.label])}),o.length>0&&I(S,{menuList:o,placement:"bottomRight",children:I(u,{})})]})}var h=(n=e.menuOptions)==null?void 0:n.tile==null?void 0:n.tile(p({},r,(a={},a[Se.label]=i,a)));return A(N,{children:[I("span",{className:"tree-item-title",children:(ue==null?void 0:ue(r))||(r==null?void 0:r[Se.label])}),h?I(k,p({gap:5},h,{className:c("tree-item-title-operate",h.className)})):null]})}));var Ze=v.useDebounceCallback((function(r){Ie(r);e.onSearchValueChange==null?void 0:e.onSearchValueChange(r)}),300);var $e=v.useCallbackRef((function(e){Ze(e.target.value)}));var er=v.useCallbackRef((function(r){if(!e.icon)return null;if(q(e.icon))return e.icon;var t=Qe(r.data);return e.icon(p({},r,{isParent:!t,isLeaf:t}))}));var rr=w((function(){return{title:Se.label,key:Se.value,children:Se.children}}),[Se]);var tr=We.length>0&&we.requestStatus!=="request-error";var nr=p({showLine:{showLeafIcon:false},titleRender:Xe,blockNode:true,switcherIcon:I(o,{}),onDrop:function e(r){if(oe){var t=oe(r);if(!t)return}var n=z(Ge,Se,r),a=n.dataList,i=n.dragNodeData;se==null?void 0:se(i);Me(a)},expandedKeys:ye},pe,{fieldNames:rr,treeData:We,onExpand:ze,loadData:e.loadDataFlag?Je:undefined,style:{width:"100%"},icon:er});var ar={onCheck:He,checkable:Y,checkedKeys:Oe};var ir={onSelect:He,multiple:false,selectedKeys:Oe};var lr=Y?ar:ir;var sr=c("v-tree-wrapper","v-tree-wrapper-menu-"+Pe,de);var or=we.treeList.length>0&&!tr&&Ae;return A("div",{className:sr,style:i,children:[!!X&&A("div",{className:"v-tree-wrapper-search-area",style:ce,children:[I(P,{className:"v-tree-wrapper-search",placeholder:Z,onChange:$e,value:Q,allowClear:true}),!!e.searchExtraElement&&I("span",{className:"v-tree-wrapper-search-extra",children:e.searchExtraElement})]}),tr?A("div",{className:"v-tree-wrapper-tree-wrapper",children:[I(h,{spinning:we.requestStatus==="request-progress"}),I(g,p({},lr,nr,{className:"v-tree-wrapper-tree"}))]}):I(x,{status:we.requestStatus,loading:Ne,messageConfig:p({"request-success":or?"搜索结果为空":"暂无数据"},$),errorButton:I(b,{type:"primary",onClick:Ke,children:"重新获取数据"})})]})}));Y.defaultProps={disabledCanUse:true};var G=e.attachPropertiesToComponent(Y,{getTreeDataList:K});export{G 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 b,message as y}from"antd";import{forwardRef as L,useState as j,useMemo as w,useRef as C,useImperativeHandle as R,Fragment as N,isValidElement as q}from"react";import{a as k}from"../button-operate-d3b2e543.js";import{D as S}from"../dropdown-menu-wrapper-2b4fc43d.js";import{fbaHooks as T}from"../fba-hooks/index.js";import{I as P}from"../input-search-wrapper-10d4a9b9.js";import{R as D}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-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;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","menus"];var Y=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,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=e.menus,pe=f(e,H);var me=e.hasOwnProperty("selectorTreeList");var he=L||{};var ge=x||[];var be=j([]),ye=be[0],Le=be[1];var je=F(V).useStore(),we=je[0],Ce=je[1];var Re=T.useSafeState(false),Ne=Re[0],qe=Re[1];var ke="request-progress-"+e.modelKey;var Se=w((function(){return p({label:"label",value:"value",children:"children"},e.fieldNames)}),[e.fieldNames]);var Te=ne===undefined?"fold":ne;var Pe=ae===undefined?"click":ae;var De=C(true);var xe=w((function(){return p({label:"label",value:"value"},ee)}),[ee]);var Ee=j(),Ae=Ee[0],Ie=Ee[1];var _e=C();var Oe=w((function(){var e=U(_,xe);return e}),[xe,_]);T.useEffectCustom((function(){if(we.treeList.length>0){if(De.current){De.current=false;if(ve){var e=n(we.treeList,Se.children).map((function(e){return e[Se.value]}));Le(e);return}else if(ie&&we.treeList.length){Le([we.treeList[0][Se.value]]);return}}if(!l(_)){var r=Ue(Oe,true);Le(Array.from(new Set(ye==null?void 0:ye.concat(r))))}}}),[_,we.treeList,Oe]);var Ve=function e(r){return r===""||l(r)};var Fe=function e(r){var t=he.onRequestResultAdapter?he.onRequestResultAdapter(r):r;return t};T.useEffectCustom((function(){Ie(Q)}),[Q]);var Ke=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;qe(false);void y.error(e.message||"数据查询异常...");return o()}catch(e){return r(e)}};try{if(!he.onRequest){throw new Error("onRequest 调用接口服务不能为空")}t=he.requiredParamsKeys;n=d({},he.params);if(t){a=t.find((function(e){return Ve(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[ke]=false;qe(false);void Ce.changeRequestStatus("request-error");return c()}catch(e){return u(e)}};try{qe(true);return Promise.resolve(Ce.changeRequestStatus("request-progress")).then((function(e){try{window[ke]=true;return Promise.resolve(he.onRequest==null?void 0:he.onRequest(n)).then((function(e){try{i=e;W==null?void 0:W(i);l=Fe(i);s=l||[];if(s.length===0){De.current=false}Me(s);qe(false);window[ke]=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(me)return;if(Boolean(ge.length)){void Ke();return}var e=F(V).getState();if(e.requestStatus==="request-success"){G==null?void 0:G(e.treeList);return}if(!window[ke]){void Ke()}else{G==null?void 0:G(e.treeList)}}),ge);T.useEffectCustom((function(){if(me){Me(E||[])}}),[E]);var Me=v.useCallbackRef((function(e){if((e==null?void 0:e.length)===0&&we.treeList.length===0){void Ce.changeRequestStatus("request-success");return}void Ce.setTreeList({treeList:e||[],childrenName:Se.children});G==null?void 0:G(e)}));var Ue=function e(r,t){var n=[];r.forEach((function(e){if(!t&&ye!=null&&ye.includes(e))return;var r=M(e,we.treeList,Se);n=n.concat(r.map((function(e){return e.value})))}));return n};v.useUpdateEffect((function(){if(Ae){var e=a(we.treeList||[],Se);var r=e.filter((function(e){var r;return(r=e.label)==null?void 0:r.includes(Ae||"")}));Le((function(e){var t=Ue(r.map((function(e){return e.value}))).concat(e||[]);return Array.from(new Set(t))}))}else{Le([])}}),[Ae]);R(t,(function(){return{onClearSelectorList:function e(){void Ce.resetTreeList()},getTreeDataList:function e(){return we.treeList}}}));var ze=v.useCallbackRef((function(e){Le(e)}));var Be=v.useCallbackRef((function(e,t,n){_e.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[Se.label],r[s]=e[Se.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 He=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=we.treeTiledArray.find((function(r){return r[Se.value]===e}));if(!t)return;var n=t==null?void 0:t[Se.children];if(!r(n)||n.length===0){i.push(t);s.push(t[Se.value])}o.push(t);u.push(t[Se.value])}));if(Y){Le((function(e){var r=Ue(s).concat(e||[]);return Array.from(new Set(r))}));if(!B&&!e.checkStrictly){Be(s,i,o)}else{Be(u,o,o)}}else{if(a[0]){var c=o.find((function(e){return e[Se.value]===a[0]}));Be(a[0],c,[c])}else{var d=n.node[Se.value];var v=we.treeTiledArray.find((function(e){return e[Se.value]===d}));Be(undefined,v,[v])}}}));var Ye=v.useCallbackRef((function(e){return J==null?void 0:J(e)}));var Ge=w((function(){var e=m(we.treeList||[]);if(Ae&&le!=="highlight"){return s(m(we.treeList||[]),(function(e){var r;var t=(r=e[Se.label])==null?void 0:r.toLowerCase();return t.indexOf(Ae.toLowerCase())>=0}),{childrenName:Se.children})}return e}),[Se.children,Se.label,le,we.treeList,Ae]);var We=w((function(){var e=function e(t){return t==null?void 0:t.map((function(t){var n;var a=(Ye==null?void 0:Ye(t))||t;var i=te?undefined:a.disabled;var l=a[Se.label];var s;if(Ae){var o=l.indexOf(Ae);var u=l.substring(0,o);var d=l.slice(o+Ae.length);s=o>-1?A("span",{className:c({"v-tree-item-disabled":a.disabled}),children:[u,I("span",{className:"site-tree-search-value",children:Ae}),d]}):null}if(!s){s=I("span",{className:c({"v-tree-item-disabled":a.disabled}),children:l})}var v=a[Se.children];return p({},a,(n={disabled:i},n[Se.label]=s,n._treeItemName=l,n._disabled=a.disabled,n[Se.children]=r(v)&&v.length>0?e(v):undefined,n))}))};return e(Ge)}),[Ge,Ye,te,Se.label,Se.children,Ae]);var Je=v.useCallbackRef((function(r){return new Promise((function(t,n){return new Promise((function(a,i){var l,s,o,u;if(r[Se.children]){t();return a()}var c=function(){try{return a()}catch(e){return i(e)}};var d=function(e){try{void y.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=he.onRequestResultAdapter?he.onRequestResultAdapter(o):o;void Ce.treeListAppendChildren({value:r[Se.value],appendList:u,childrenName:Se.children,valueName:Se.value}).then((function(e){Me(e.treeList);t()}));return c()}catch(e){return d(e)}}),d)}catch(e){d(e)}}))}))}));var Qe=v.useCallbackRef((function(r){var t=r==null?void 0:r[Se.children];var n=e.loadDataFlag;var a=n?!r.isLeaf:false;var i=t&&t.length>0||a;return!i}));var Xe=v.useCallbackRef((function(r){var t,n,a;var i=r._treeItemName||r[Se.label];var l=fe==null?void 0:fe(p({},r,(t={},t[Se.label]=i,t)));if(l){return A(N,{children:[I("span",{className:"tree-item-title",children:(ue==null?void 0:ue(r))||(r==null?void 0:r[Se.label])}),I(k,p({gap:5},l,{dropdownMenuProps:p({placement:"bottomRight",isFixed:true},l==null?void 0:l.dropdownMenuProps),className:c("tree-item-title-operate",l.className)}))]})}if(Te==="fold"){var s;var o=[];if((s=e.menuOptions)!=null&&s.fold){var d,v,f;o=((d=e.menuOptions)==null?void 0:(v=d[Te])==null?void 0:v.call(d,p({},r,(f={},f[Se.label]=i,f))))||[]}else{var m;o=(e.getMenuOptions==null?void 0:e.getMenuOptions(p({},r,(m={},m[Se.label]=i,m))))||[]}return A(N,{children:[I("span",{className:"tree-item-title",children:(ue==null?void 0:ue(r))||(r==null?void 0:r[Se.label])}),o.length>0&&I(S,{menuList:o,placement:"bottomRight",children:I(u,{})})]})}var h=(n=e.menuOptions)==null?void 0:n.tile==null?void 0:n.tile(p({},r,(a={},a[Se.label]=i,a)));return A(N,{children:[I("span",{className:"tree-item-title",children:(ue==null?void 0:ue(r))||(r==null?void 0:r[Se.label])}),h?I(k,p({gap:5},h,{className:c("tree-item-title-operate",h.className)})):null]})}));var Ze=v.useDebounceCallback((function(r){Ie(r);e.onSearchValueChange==null?void 0:e.onSearchValueChange(r)}),300);var $e=v.useCallbackRef((function(e){Ze(e.target.value)}));var er=v.useCallbackRef((function(r){if(!e.icon)return null;if(q(e.icon))return e.icon;var t=Qe(r.data);return e.icon(p({},r,{isParent:!t,isLeaf:t}))}));var rr=w((function(){return{title:Se.label,key:Se.value,children:Se.children}}),[Se]);var tr=We.length>0&&we.requestStatus!=="request-error";var nr=p({showLine:{showLeafIcon:false},titleRender:Xe,blockNode:true,switcherIcon:I(o,{}),onDrop:function e(r){if(oe){var t=oe(r);if(!t)return}var n=z(Ge,Se,r),a=n.dataList,i=n.dragNodeData;se==null?void 0:se(i);Me(a)},expandedKeys:ye},pe,{fieldNames:rr,treeData:We,onExpand:ze,loadData:e.loadDataFlag?Je:undefined,style:{width:"100%"},icon:er});var ar={onCheck:He,checkable:Y,checkedKeys:Oe};var ir={onSelect:He,multiple:false,selectedKeys:Oe};var lr=Y?ar:ir;var sr=c("v-tree-wrapper","v-tree-wrapper-menu-"+Pe,de);var or=we.treeList.length>0&&!tr&&Ae;return A("div",{className:sr,style:i,children:[!!X&&A("div",{className:"v-tree-wrapper-search-area",style:ce,children:[I(P,{className:"v-tree-wrapper-search",placeholder:Z,onChange:$e,value:Q,allowClear:true}),!!e.searchExtraElement&&I("span",{className:"v-tree-wrapper-search-extra",children:e.searchExtraElement})]}),tr?A("div",{className:"v-tree-wrapper-tree-wrapper",children:[I(h,{spinning:we.requestStatus==="request-progress"}),I(g,p({},lr,nr,{className:"v-tree-wrapper-tree"}))]}):I(D,{status:we.requestStatus,loading:Ne,messageConfig:p({"request-success":or?"搜索结果为空":"暂无数据"},$),errorButton:I(b,{type:"primary",onClick:Ke,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
@@ -539,7 +539,7 @@ export type DialogDrawerProps = Omit<DrawerProps, "onOk" | "onCancel" | "getCont
539
539
  *```
540
540
  * 1. 基础使用方式
541
541
  * dialogDrawer.open({
542
- * title: '我是弹框',
542
+ * title: '我是标题',
543
543
  * content: <div>我是内容</div>,
544
544
  * });
545
545
  * ```
@@ -547,7 +547,7 @@ export type DialogDrawerProps = Omit<DrawerProps, "onOk" | "onCancel" | "getCont
547
547
  * ***************************
548
548
  * 2. 结合内置form使用,可在onOK、onCancel获取form对象
549
549
  * dialogDrawer.open({
550
- * title: '我是弹框',
550
+ * title: '我是标题',
551
551
  * content: (form, operate) => {
552
552
  * return (
553
553
  * <Form form={form}>
@@ -557,11 +557,12 @@ export type DialogDrawerProps = Omit<DrawerProps, "onOk" | "onCancel" | "getCont
557
557
  * </Form>
558
558
  * );
559
559
  * },
560
- * onOK: (form) => {
560
+ * onOk: (form) => {
561
561
  * console.log('content form数据', form.getFieldsValue());
562
562
  * return Promise.resolve();
563
563
  * },
564
564
  * });
565
+ *
565
566
  * 注意:
566
567
  * 1. 设置operateRender后,需要自定义操作按钮,onOk、onCancel、okText、cancelText、okButtonExtraProps、cancelButtonExtraProps配置失效
567
568
  * ```
@@ -578,6 +579,28 @@ export declare const dialogDrawer: {
578
579
  */
579
580
  close: () => void;
580
581
  };
582
+ export type DialogDrawerContentProps = {
583
+ footer?: (data: {
584
+ onClose: () => void;
585
+ }) => ReactElement;
586
+ footerStyle?: CSSProperties;
587
+ children?: ReactNode;
588
+ okHidden?: boolean;
589
+ cancelHidden?: boolean;
590
+ okButtonExtraProps?: Omit<ButtonWrapperProps, "onClick" | "children" | "loading">;
591
+ cancelButtonExtraProps?: Omit<ButtonWrapperProps, "onClick" | "children" | "loading">;
592
+ okText?: string | ReactElement;
593
+ cancelText?: string | ReactElement;
594
+ onOk?: (e: React.MouseEvent<HTMLElement>) => void | Promise<void>;
595
+ onCancel?: (e: React.MouseEvent<HTMLElement>) => void | Promise<void>;
596
+ };
597
+ /**
598
+ * 当dialogDrawer底部操作按钮在业务content内部时,使用
599
+ * ```
600
+ * 1. 设置 footer 后,okHidden、cancelHidden、okButtonExtraProps、cancelButtonExtraProps、okText、cancelText、onOk、onCancel全部失效
601
+ * ```
602
+ */
603
+ export declare const DialogDrawerContent: (props: DialogDrawerContentProps) => JSX.Element;
581
604
  export type DialogLoadingProps = {
582
605
  className?: string;
583
606
  message?: string;
@@ -767,6 +790,8 @@ export type EasyTableRefApi = {
767
790
  onResetRequest: (params?: TPlainObject) => void;
768
791
  /** 接口数据源 */
769
792
  getDataSource: () => TAny;
793
+ /** 过滤表格数据源,不会触发 onDataSourceChange 函数 */
794
+ onFilterDataSource: (dataSource: TPlainObject[]) => void;
770
795
  };
771
796
  export type EasyTableServiceConfig = {
772
797
  /** 接口配置 */
@@ -901,7 +926,7 @@ export type TEasyTableTableColumn<T> = ColumnsType<T>[0] & {
901
926
  icon?: ReactElement;
902
927
  hoverArea?: "icon" | "all";
903
928
  };
904
- dataIndex: keyof T | (string & {});
929
+ dataIndex?: keyof T | (string & {});
905
930
  };
906
931
  export type EasyTableTableProps<T> = Omit<TableProps<TAny>, "dataSource" | "loading" | "rowKey" | "columns"> & {
907
932
  children?: ReactElement | ReactElement[];
@@ -1775,6 +1800,14 @@ export type Page404Props = {
1775
1800
  message?: string;
1776
1801
  };
1777
1802
  export declare const Page404: (props: Page404Props) => JSX.Element;
1803
+ /**
1804
+ * 由于 antd 5.3.x 分页Pagination组件,存在点击分页选择框框时,一直朝下
1805
+ * issues:https://github.com/ant-design/ant-design/issues/36866
1806
+ * 为了兼容,在 Pagination 中添加了 selectComponentClass 属性,后期antd 官方优化了bug,可取消 配置selectComponentClass
1807
+ * @param props
1808
+ * @returns
1809
+ */
1810
+ export declare const PaginationWrapper: (props: PaginationProps) => JSX.Element;
1778
1811
  export interface PermissionProps {
1779
1812
  name?: string;
1780
1813
  children?: ReactNode | ReactNode[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flatbiz/antd",
3
- "version": "4.2.61",
3
+ "version": "4.2.62",
4
4
  "description": "flat-biz ui components",
5
5
  "main": "index.js",
6
6
  "typings": "index.d.ts",
@@ -1,3 +0,0 @@
1
- /*! @flatjs/forge MIT @flatbiz/antd */
2
- import{isString as e}from"@dimjs/lang/cjs/is-string";import{a as r,_ as o}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{isPromise as n}from"@dimjs/lang/cjs/is-promise";import{hooks as t}from"@wove/react/cjs/hooks";import{Form as i,Space as a,Drawer as l}from"antd";import{useState as d}from"react";import{createRoot as c}from"react-dom/client";import{B as s}from"./button-wrapper-125fce50.js";import{C as f}from"./config-provider-wrapper-dfe8f592.js";import{fbaHooks as m}from"./fba-hooks/index.js";import{b as u}from"./dom-4d04aa64.js";import{jsx as p,jsxs as v}from"react/jsx-runtime";var w=["divElement","elementId","onOk","onCancel","content","configProviderProps","okText","cancelText","okButtonExtraProps","cancelButtonExtraProps","operatePosition","operateRender","width","okHidden","cancelHidden","extra"];var h=function e(c){var u=c.divElement,h=c.elementId,k=c.onOk,x=c.onCancel,C=c.content,j=c.configProviderProps,P=c.okText,g=c.cancelText,_=c.okButtonExtraProps,E=c.cancelButtonExtraProps,b=c.operatePosition,y=b===void 0?"footer":b,B=c.operateRender,I=c.width,H=I===void 0?600:I,R=c.okHidden,T=c.cancelHidden,O=c.extra,W=o(c,w);var F=d(true),S=F[0],q=F[1];var z=i.useForm(),A=z[0];var D=t.useCallbackRef((function(){try{delete window[h]}catch(e){}q(false)}));m.useEffectCustom((function(){window[h]=D}),[D]);var G=t.useCallbackRef((function(e){if(x){var r=x(A,e);if(r&&n(r)){return r.then(D)}}return D()}));var J=t.useCallbackRef((function(e){if(k){var r=k(A,e);if(r&&n(r)){return r.then(D)}}return D()}));var K=v(a,{children:[T||E!=null&&E.hidden?null:p(s,r({},E,{onClick:G,children:g||"取消"})),R||_!=null&&_.hidden?null:p(s,r({type:"primary"},_,{onClick:J,children:P||"提交"}))]});var L=function e(){if(B){return B(A)}if(!R||!T){return K}return null};var M=typeof O==="function"?O(A):O;return p(f,r({},j,{children:p(l,r({maskClosable:true,destroyOnClose:true,onClose:D,width:"80%",contentWrapperStyle:{maxWidth:H},footer:y==="footer"?L():null},W,{extra:y==="header"?L():M,open:S,getContainer:u,children:typeof C==="function"?C(A,{onClose:D}):C}))}))};var k={open:function e(o){var n=u(),t=n.divElement,i=n.elementId;window["__dialog_drawer_elementId"]=i;var a=c(t);a.render(p(h,r({},o,{divElement:t,elementId:i})));return{close:function e(){var r,o;(r=(o=window)[i])==null?void 0:r.call(o)}}},close:function r(){try{var o,n;var t=window["__dialog_drawer_elementId"];if(e(t))(o=(n=window)[t])==null?void 0:o.call(n)}catch(e){}}};export{k as d};
3
- //# sourceMappingURL=dialog-drawer-7cb5c6df.js.map