@flatbiz/antd 4.5.55 → 4.5.57
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/ace-editor-groovy/index.js +1 -1
- package/esm/ace-editor-groovy/index.js.map +1 -1
- package/esm/ace-editor-java/index.js +1 -1
- package/esm/ace-editor-java/index.js.map +1 -1
- package/esm/ace-editor-json/index.js +1 -1
- package/esm/ace-editor-json/index.js.map +1 -1
- package/esm/ace-editor-mysql/index.js +1 -1
- package/esm/ace-editor-mysql/index.js.map +1 -1
- package/esm/ace-editor-xml/index.js +1 -1
- package/esm/ace-editor-xml/index.js.map +1 -1
- package/esm/anchor-steps/index.js +1 -1
- package/esm/anchor-steps/index.js.map +1 -1
- package/esm/bootstrap/index.js +1 -1
- package/esm/bootstrap/index.js.map +1 -1
- package/esm/box-grid/index.js +1 -1
- package/esm/box-grid/index.js.map +1 -1
- package/esm/button-operate/index.js +1 -1
- package/esm/button-operate/index.js.map +1 -1
- package/esm/button-wrapper/index.js +1 -1
- package/esm/button-wrapper/index.js.map +1 -1
- package/esm/card-layout/index.css +1 -1
- package/esm/card-layout/index.js +1 -1
- package/esm/card-layout/index.js.map +1 -1
- package/esm/cascader-wrapper/index.js +1 -1
- package/esm/cascader-wrapper/index.js.map +1 -1
- package/esm/check-list/index.js +1 -1
- package/esm/check-list/index.js.map +1 -1
- package/esm/checkbox-wrapper/index.js +1 -1
- package/esm/checkbox-wrapper/index.js.map +1 -1
- package/esm/code-render/index.css +1 -0
- package/esm/code-render/index.js +5 -0
- package/esm/code-render/index.js.map +1 -0
- package/esm/color-picker-wrapper/index.css +1 -1
- package/esm/color-picker-wrapper/index.js +1 -1
- package/esm/color-picker-wrapper/index.js.map +1 -1
- package/esm/config-provider-wrapper/index.js +1 -1
- package/esm/copy-wrapper/index.js +1 -1
- package/esm/copy-wrapper/index.js.map +1 -1
- package/esm/date-picker-wrapper/index.js +1 -1
- package/esm/date-picker-wrapper/index.js.map +1 -1
- package/esm/date-range-picker-wrapper/index.js +1 -1
- package/esm/date-range-picker-wrapper/index.js.map +1 -1
- package/esm/date-range-picker-wrapper-form-item/index.js +1 -1
- package/esm/date-range-picker-wrapper-form-item/index.js.map +1 -1
- package/esm/delete-node/index.js +1 -1
- package/esm/delete-node/index.js.map +1 -1
- package/esm/dialog-alert/index.js +1 -1
- package/esm/dialog-confirm/index.js +1 -1
- package/esm/dialog-drag-modal/index.js +1 -1
- package/esm/dialog-drag-modal/index.js.map +1 -1
- package/esm/dialog-drawer/index.js +1 -1
- package/esm/dialog-drawer/index.js.map +1 -1
- package/esm/dialog-drawer-content/index.js +1 -1
- package/esm/dialog-drawer-content/index.js.map +1 -1
- package/esm/dialog-loading/index.js +1 -1
- package/esm/dialog-loading/index.js.map +1 -1
- package/esm/dialog-modal/index.js +1 -1
- package/esm/dialog-modal/index.js.map +1 -1
- package/esm/dialog-preview-image/index.js +1 -1
- package/esm/dialog-preview-image/index.js.map +1 -1
- package/esm/drag-collapse/index.js +1 -1
- package/esm/drag-collapse/index.js.map +1 -1
- package/esm/drag-collapse-form-list/index.js +1 -1
- package/esm/drag-collapse-form-list/index.js.map +1 -1
- package/esm/drag-editable-card/index.js +1 -1
- package/esm/drag-editable-card/index.js.map +1 -1
- package/esm/drag-editable-table/index.js +1 -1
- package/esm/drag-editable-table/index.js.map +1 -1
- package/esm/drag-editable-table-pro/index.js +1 -1
- package/esm/drag-editable-table-pro/index.js.map +1 -1
- package/esm/drag-form-list/index.js +1 -1
- package/esm/drag-form-list/index.js.map +1 -1
- package/esm/drag-table/index.js +1 -1
- package/esm/drag-table/index.js.map +1 -1
- package/esm/drawer-wrapper/index.js +1 -1
- package/esm/drawer-wrapper/index.js.map +1 -1
- package/esm/dropdown-menu-wrapper/index.js +1 -1
- package/esm/dropdown-menu-wrapper/index.js.map +1 -1
- package/esm/easy-form/index.js +1 -1
- package/esm/easy-form/index.js.map +1 -1
- package/esm/easy-table/index.js +1 -1
- package/esm/easy-table/index.js.map +1 -1
- package/esm/editable-card/index.js +1 -1
- package/esm/editable-card/index.js.map +1 -1
- package/esm/editable-field/index.js +1 -1
- package/esm/editable-field/index.js.map +1 -1
- package/esm/editable-table/index.js +1 -1
- package/esm/editable-table/index.js.map +1 -1
- package/esm/editable-table-pro/index.js +1 -1
- package/esm/editable-table-pro/index.js.map +1 -1
- package/esm/editor-wrapper/index.js +1 -1
- package/esm/editor-wrapper/index.js.map +1 -1
- package/esm/fba-app/index.js +1 -1
- package/esm/fba-app/index.js.map +1 -1
- package/esm/fba-hooks/index.js +1 -1
- package/esm/fba-hooks/index.js.map +1 -1
- package/esm/fba-utils/index.js +1 -1
- package/esm/fba-utils/index.js.map +1 -1
- package/esm/file-export/index.js +1 -1
- package/esm/file-export/index.js.map +1 -1
- package/esm/file-import/index.js +1 -1
- package/esm/file-import/index.js.map +1 -1
- package/esm/file-select/index.js +1 -1
- package/esm/file-select/index.js.map +1 -1
- package/esm/flex-layout/index.js +1 -1
- package/esm/flex-layout/index.js.map +1 -1
- package/esm/form-grid/index.js +1 -1
- package/esm/form-grid/index.js.map +1 -1
- package/esm/form-item-group/index.js +1 -1
- package/esm/form-item-group/index.js.map +1 -1
- package/esm/form-item-text/index.js +1 -1
- package/esm/form-item-text/index.js.map +1 -1
- package/esm/form-item-wrapper/index.js +1 -1
- package/esm/form-item-wrapper/index.js.map +1 -1
- package/esm/form-list-wrapper/index.js +1 -1
- package/esm/form-list-wrapper/index.js.map +1 -1
- package/esm/form-wrapper/index.js +1 -1
- package/esm/form-wrapper/index.js.map +1 -1
- package/esm/full-screen/index.js +1 -1
- package/esm/full-screen/index.js.map +1 -1
- package/esm/icon-wrapper/index.js +1 -1
- package/esm/icon-wrapper/index.js.map +1 -1
- package/esm/{index-83bede1b.js → index-853b36e6.js} +2 -2
- package/esm/{index-83bede1b.js.map → index-853b36e6.js.map} +1 -1
- package/esm/index.js +2 -1
- package/esm/input-search-wrapper/index.js +1 -1
- package/esm/input-search-wrapper/index.js.map +1 -1
- package/esm/input-text-area-wrapper/index.js +1 -1
- package/esm/input-text-area-wrapper/index.js.map +1 -1
- package/esm/input-wrapper/index.js +1 -1
- package/esm/input-wrapper/index.js.map +1 -1
- package/esm/json-editor/index.js +1 -1
- package/esm/json-editor/index.js.map +1 -1
- package/esm/label-value-layout/index.js +1 -1
- package/esm/label-value-layout/index.js.map +1 -1
- package/esm/label-value-render/index.js +1 -1
- package/esm/label-value-render/index.js.map +1 -1
- package/esm/local-loading/index.js +1 -1
- package/esm/local-loading/index.js.map +1 -1
- package/esm/mention-editor/index.js +1 -1
- package/esm/mention-editor/index.js.map +1 -1
- package/esm/mentions-wrapper/index.js +1 -1
- package/esm/mentions-wrapper/index.js.map +1 -1
- package/esm/modal-action/index.js +1 -1
- package/esm/modal-action/index.js.map +1 -1
- package/esm/modal-wrapper/index.js +1 -1
- package/esm/modal-wrapper/index.js.map +1 -1
- package/esm/number-range-form-item/index.js +1 -1
- package/esm/number-range-form-item/index.js.map +1 -1
- package/esm/pdf/index.js +1 -1
- package/esm/pdf/index.js.map +1 -1
- package/esm/pdf-preview/index.js +1 -1
- package/esm/pdf-preview/index.js.map +1 -1
- package/esm/radio-group-wrapper/index.js +1 -1
- package/esm/radio-group-wrapper/index.js.map +1 -1
- package/esm/relation-tree/index.js +1 -1
- package/esm/relation-tree/index.js.map +1 -1
- package/esm/request-status/index.js +1 -1
- package/esm/request-status/index.js.map +1 -1
- package/esm/resizable-drawer/index.js +1 -1
- package/esm/resizable-drawer/index.js.map +1 -1
- package/esm/rich-text-editor/index.js +1 -1
- package/esm/rich-text-editor/index.js.map +1 -1
- package/esm/rich-text-viewer/index.js +1 -1
- package/esm/rich-text-viewer/index.js.map +1 -1
- package/esm/roll-location-center/index.js +1 -1
- package/esm/roll-location-center/index.js.map +1 -1
- package/esm/roll-location-in-view/index.js +1 -1
- package/esm/roll-location-in-view/index.js.map +1 -1
- package/esm/rule-describe/index.js +1 -1
- package/esm/rule-describe/index.js.map +1 -1
- package/esm/search-form/index.js +1 -1
- package/esm/search-form/index.js.map +1 -1
- package/esm/search-menu/index.js +1 -1
- package/esm/search-menu/index.js.map +1 -1
- package/esm/selector-wrapper/index.js +1 -1
- package/esm/selector-wrapper/index.js.map +1 -1
- package/esm/selector-wrapper-search/index.js +1 -1
- package/esm/selector-wrapper-search/index.js.map +1 -1
- package/esm/selector-wrapper-simple/index.js +1 -1
- package/esm/selector-wrapper-simple/index.js.map +1 -1
- package/esm/simple-layout/index.js +1 -1
- package/esm/simple-layout/index.js.map +1 -1
- package/esm/sms-count-down/index.js +1 -1
- package/esm/sms-count-down/index.js.map +1 -1
- package/esm/split-wrapper/index.js +1 -1
- package/esm/split-wrapper/index.js.map +1 -1
- package/esm/styles/index.css +1 -1
- package/esm/svg-http-view/index.js +1 -1
- package/esm/svg-http-view/index.js.map +1 -1
- package/esm/switch-confirm-wrapper/index.js +1 -1
- package/esm/switch-confirm-wrapper/index.js.map +1 -1
- package/esm/switch-wrapper/index.js +1 -1
- package/esm/switch-wrapper/index.js.map +1 -1
- package/esm/table-cell-render/index.js +1 -1
- package/esm/table-cell-render/index.js.map +1 -1
- package/esm/table-scrollbar/index.js +1 -1
- package/esm/table-scrollbar/index.js.map +1 -1
- package/esm/tabs-sticky/index.js +1 -1
- package/esm/tabs-sticky/index.js.map +1 -1
- package/esm/tabs-wrapper/index.js +1 -1
- package/esm/tabs-wrapper/index.js.map +1 -1
- package/esm/tag-group/index.js +1 -1
- package/esm/tag-group/index.js.map +1 -1
- package/esm/tag-list-render/index.js +1 -1
- package/esm/tag-list-render/index.js.map +1 -1
- package/esm/tag-list-select/index.js +1 -1
- package/esm/tag-list-select/index.js.map +1 -1
- package/esm/tag-wrapper/index.js +1 -1
- package/esm/tag-wrapper/index.js.map +1 -1
- package/esm/text-css-ellipsis/index.js +1 -1
- package/esm/text-css-ellipsis/index.js.map +1 -1
- package/esm/text-overflow/index.js +1 -1
- package/esm/text-overflow/index.js.map +1 -1
- package/esm/text-overflow-render/index.js +1 -1
- package/esm/text-symbol-wrapper/index.js +1 -1
- package/esm/text-symbol-wrapper/index.js.map +1 -1
- package/esm/time-ea73b2fb.js +3 -0
- package/esm/{time-53b3f55f.js.map → time-ea73b2fb.js.map} +1 -1
- package/esm/time-picker-wrapper/index.js +1 -1
- package/esm/time-picker-wrapper/index.js.map +1 -1
- package/esm/time-range-picker-wrapper/index.js +1 -1
- package/esm/time-range-picker-wrapper/index.js.map +1 -1
- package/esm/time-range-picker-wrapper-form-item/index.js +1 -1
- package/esm/time-range-picker-wrapper-form-item/index.js.map +1 -1
- package/esm/tree-modal/index.js +1 -1
- package/esm/tree-modal/index.js.map +1 -1
- package/esm/tree-modal-selector/index.js +1 -1
- package/esm/tree-modal-selector/index.js.map +1 -1
- package/esm/tree-selector-wrapper/index.js +1 -1
- package/esm/tree-selector-wrapper/index.js.map +1 -1
- package/esm/tree-wrapper/index.js +1 -1
- package/esm/tree-wrapper/index.js.map +1 -1
- package/esm/upload-wrapper/index.js +1 -1
- package/esm/upload-wrapper/index.js.map +1 -1
- package/esm/use-responsive-point-1e6d93d9.js +3 -0
- package/esm/{use-responsive-point-21b8c601.js.map → use-responsive-point-1e6d93d9.js.map} +1 -1
- package/esm/x-mind-preview/index.js +1 -1
- package/esm/x-mind-preview/index.js.map +1 -1
- package/index.d.ts +61 -4
- package/package.json +4 -5
- package/esm/time-53b3f55f.js +0 -3
- package/esm/use-responsive-point-21b8c601.js +0 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/selector-wrapper/refresh-icon.tsx","@flatbiz/antd/src/selector-wrapper/use-request.ts","@flatbiz/antd/src/selector-wrapper/utils.ts","@flatbiz/antd/src/selector-wrapper/selector-wrapper.tsx"],"sourcesContent":["import { SyncOutlined } from '@ant-design/icons';\nimport { hooks } from '@wove/react';\nimport { useMemo, useState } from 'react';\nimport { fbaHooks } from '../fba-hooks/index.js';\nimport { IconWrapper } from '../icon-wrapper/icon-wrapper.jsx';\nimport type { TRequestStatus, TRequestStatusProps } from '../request-status/request-status.jsx';\n\nexport const RefreshIcon = (props: {\n onRefreshRequest: () => void;\n loading: boolean;\n requestStatus?: TRequestStatus;\n requestMessageConfig?: TRequestStatusProps['messageConfig'];\n}) => {\n const { onRefreshRequest, loading, ...otherProps } = props;\n const [innerLoading, setInnerLoading] = useState(loading);\n const hoverTips = useMemo(() => {\n if (props.requestStatus === 'no-dependencies-params') {\n return props.requestMessageConfig?.['no-dependencies-params'] || '未获取到必要的查询条件';\n }\n return undefined;\n }, [props.requestMessageConfig, props.requestStatus]);\n\n const onRefresh = hooks.useCallbackRef(() => {\n if (props.requestStatus === 'no-dependencies-params') {\n return;\n }\n setInnerLoading(true);\n onRefreshRequest();\n });\n\n fbaHooks.useEffectCustom(() => {\n if (innerLoading && !loading) {\n setInnerLoading(false);\n }\n }, [loading]);\n\n return (\n <IconWrapper\n {...otherProps}\n icon={<SyncOutlined spin={innerLoading} style={{ color: '#9b9797' }} />}\n onClick={onRefresh}\n hoverTips={hoverTips}\n />\n );\n};\n","import { isArray, isDeepEqual } from '@dimjs/lang';\nimport { get, json } from '@dimjs/utils';\nimport { isUndefinedOrNull, type TPlainObject } from '@flatbiz/utils';\nimport pubSub from 'pubsub-js';\nimport { useMemo, useState } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport { type TRequestStatus } from '../request-status';\nimport { type SelectorServiceConfig, type SelectorWrapperProps } from './types';\n\nexport const useRequest = (options: {\n cacheKey: string;\n serviceConfig?: SelectorServiceConfig;\n hasOuterSelectorList?: boolean;\n onChange?: SelectorWrapperProps['onChange'];\n outerSelectorList?: SelectorWrapperProps['selectorList'];\n onRespDataChange?: (dataList?: TPlainObject[]) => void;\n onSelectorRequestError?: SelectorWrapperProps['onSelectorRequestError'];\n useCache: boolean;\n fieldNames: SelectorWrapperProps['fieldNames'];\n}) => {\n const {\n cacheKey,\n serviceConfig,\n hasOuterSelectorList,\n outerSelectorList,\n onRespDataChange,\n onSelectorRequestError,\n onChange,\n useCache,\n fieldNames,\n } = options;\n const serviceRequestParams = serviceConfig?.params;\n const requiredParamsKeys = serviceConfig?.requiredParamsKeys || [];\n const hasServiceRequestParams = serviceRequestParams && Object.keys(serviceRequestParams).length > 0;\n\n const [stateSelectorList, setStateSelectorList] = useState<TPlainObject[]>();\n const [requestStatus, setRequestStatus] = useState<TRequestStatus>();\n const [refreshKey, setRefreshKey] = useState(Date.now());\n\n const serviceRequestParamsStringify = useMemo(() => {\n try {\n if (hasServiceRequestParams) {\n const sortDataStringify = JSON.stringify(json.sort(serviceRequestParams));\n if (sortDataStringify === '{}') {\n return undefined;\n }\n return sortDataStringify;\n }\n } catch (error) {}\n return undefined;\n }, [hasServiceRequestParams, serviceRequestParams]);\n // 将 undefined => 'undefined'\n const serviceRequestCahceKey = `${serviceRequestParamsStringify}`;\n const serviceRequestCahceStatusKey = `${serviceRequestParamsStringify}_status`;\n const pubSubKey = `${cacheKey}_${serviceRequestCahceKey}`;\n\n // 上一个参数值\n const prevServiceRequestParamsStringify = fbaHooks.usePrevious(serviceRequestParamsStringify);\n const prevParams = fbaHooks.usePrevious(serviceRequestParams);\n\n const serviceRespDataAdapter = (respData) => {\n let result: TPlainObject[] = respData;\n if (serviceConfig?.onRequestResultAdapter) {\n result = serviceConfig?.onRequestResultAdapter(respData as unknown as TPlainObject);\n } else if (fieldNames?.list) {\n result = get(respData, fieldNames?.list);\n }\n if (result && !isArray(result)) {\n console.warn('待渲染数据为非数组结构', result);\n return [];\n }\n return result || [];\n };\n\n const getWindowCacheData = () => {\n return window['__selector_wrapper_']?.[cacheKey];\n };\n const getWindowCacheValue = () => {\n return getWindowCacheData()?.[serviceRequestCahceKey];\n };\n const getWindowCacheStatus = () => {\n return getWindowCacheData()?.[serviceRequestCahceStatusKey];\n };\n\n const setWindowCache = (key, value) => {\n if (!window['__selector_wrapper_']) {\n window['__selector_wrapper_'] = {};\n }\n if (!window['__selector_wrapper_'][cacheKey]) {\n window['__selector_wrapper_'][cacheKey] = {};\n }\n window['__selector_wrapper_'][cacheKey][key] = value;\n };\n\n const onChangeRequestStatus = (status: TRequestStatus) => {\n setWindowCache(serviceRequestCahceStatusKey, status);\n setRequestStatus(status);\n };\n\n const onRequest = async () => {\n try {\n onChangeRequestStatus('request-progress');\n\n const respData = await serviceConfig?.onRequest?.(serviceRequestParams || {});\n const respAdapterData = serviceRespDataAdapter(respData);\n\n setWindowCache(serviceRequestCahceKey, respAdapterData);\n onChangeRequestStatus('request-success');\n setTimeout(() => {\n pubSub.publish(pubSubKey, {\n status: 'request-success',\n respData: respAdapterData,\n });\n });\n\n return respAdapterData;\n } catch (error) {\n console.error(error);\n onChangeRequestStatus('request-error');\n setStateSelectorList(undefined);\n setTimeout(() => {\n pubSub.publish(pubSubKey, {\n status: 'request-error',\n });\n });\n onSelectorRequestError?.(error);\n return Promise.reject();\n }\n };\n\n fbaHooks.useEffectCustomAsync(async () => {\n if (hasOuterSelectorList) {\n setRequestStatus('request-success');\n setStateSelectorList(outerSelectorList);\n onRespDataChange?.(outerSelectorList);\n return;\n }\n if (requiredParamsKeys.length > 0) {\n const isEmpty = serviceRequestParams\n ? requiredParamsKeys.find((key) => isUndefinedOrNull(serviceRequestParams[key]))\n : true;\n if (isEmpty) {\n // 当依赖项查询条件为空时,清空当前缓存数据\n setStateSelectorList([]);\n setRequestStatus('no-dependencies-params');\n /**\n * 怎么判断数据是从有到无的\n * 每一次 params 变少,只要 上一次 params 值存在,就应该清空 value 值\n */\n if (prevServiceRequestParamsStringify) {\n onChange?.(undefined);\n }\n return;\n }\n\n // 不使用缓存模式\n if (useCache === false) {\n // 判断参数是否发生变化\n if (isDeepEqual(serviceRequestParams, prevParams)) {\n return;\n }\n try {\n setRequestStatus('request-progress');\n const respData = await serviceConfig?.onRequest?.(serviceRequestParams || {});\n const respAdapterData = serviceRespDataAdapter(respData);\n setRequestStatus('request-success');\n setStateSelectorList(respAdapterData);\n onRespDataChange?.(respAdapterData);\n } catch (error) {\n console.error(error);\n setRequestStatus('request-error');\n setStateSelectorList(undefined);\n onSelectorRequestError?.(error);\n }\n return;\n }\n }\n\n /**\n * 此处无法判断 调用props.onChange?.(undefined);\n * A、B、C\n * 例如:C依赖A、B,当外部只修改了一个元素,理论上应该应该清空C value 值(调用onChange(undefined)),如果此时外部直接回填A、B、C时,C无法回填成功;该场景只能在A、B的onChange事件中,清空C\n */\n // if (prevServiceRequestParamsStringify) {\n // props.onChange?.(undefined);\n // }\n\n const status = getWindowCacheStatus();\n if (status === 'request-success') {\n const dataList = getWindowCacheValue();\n setStateSelectorList(dataList);\n setRequestStatus(status);\n onRespDataChange?.(dataList);\n return;\n }\n if (status === 'request-progress') {\n setRequestStatus(status);\n pubSub.subscribe(pubSubKey, (_msg, { status, respData }) => {\n if (status === 'request-success') {\n setRequestStatus(status);\n setStateSelectorList(respData);\n onRespDataChange?.(respData);\n } else {\n setRequestStatus('request-error');\n setStateSelectorList(undefined);\n }\n });\n return;\n }\n try {\n const respAdapterData = await onRequest();\n setStateSelectorList(respAdapterData);\n setRequestStatus('request-success');\n onRespDataChange?.(respAdapterData);\n } catch (error) {\n console.error(error);\n setRequestStatus('request-error');\n setStateSelectorList(undefined);\n onSelectorRequestError?.(error);\n }\n }, [JSON.stringify(serviceRequestParams), outerSelectorList, refreshKey]);\n\n const onRefreshRequest = () => {\n if (requestStatus === 'request-success') {\n onChangeRequestStatus('request-init');\n }\n setRefreshKey(Date.now());\n };\n\n return {\n requestStatus,\n stateSelectorList,\n serviceRequestParamsStringify,\n onRefreshRequest,\n };\n};\n","import { isObject } from '@dimjs/lang';\nimport { toArray } from '@flatbiz/utils';\n\n/**\n * value存在两种格式\n * 1. string | number;\n * 2. labelInValue 格式\n * @param data\n * @param labelInValueFieldNames\n * @returns\n */\nexport const getVauleList = (data, valueKey: string | number) => {\n let valueList = toArray<string | number>(data);\n valueList = valueList.map((item) => {\n if (isObject(item)) return item[valueKey];\n return item;\n });\n return valueList;\n};\n","import { arrayFind, getUuid, TAny, toArray, TPlainObject, valueIsEqual } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Button, Select } from 'antd';\nimport { isValidElement, useMemo, useRef } from 'react';\nimport './style.less';\n\nimport { RedoOutlined } from '@ant-design/icons';\nimport { isString } from '@dimjs/lang';\nimport classNames from 'classnames';\nimport { FlexLayout } from '../flex-layout/flex-layout';\nimport { RequestStatus } from '../request-status';\nimport { RefreshIcon } from './refresh-icon';\nimport { SelectorWrapperProps } from './types';\nimport { useRequest } from './use-request';\nimport { getVauleList } from './utils';\nexport * from './types';\n/**\n * 选择器包装组件\n * ```\n * 1. 不支持搜索调用服务模式,可使用组件 SelectorWrapperSearch\n * 2. 修改文案【未获取到必要的查询条件】,通过参数 requestMessageConfig={{'no-dependencies-params': '自定义文案'}} 配置\n * ```\n */\nexport const SelectorWrapper = (props: SelectorWrapperProps) => {\n const {\n serviceConfig,\n showAllOption,\n onSelectorListChange,\n onSelectorListAllChange,\n onSelectorRequestError,\n onLabelRenderAdapter,\n requestMessageConfig,\n selectorList: outerSelectorList,\n modelKey,\n fieldNames,\n value,\n labelInValue,\n useCache,\n style,\n className,\n showRefreshIcon,\n ...otherProps\n } = props;\n\n const firstRenderSelectList = useRef(true);\n\n const modelKeyInner = useMemo(() => {\n return modelKey || getUuid();\n }, [modelKey]);\n\n // props 是否存在 selectorList,selectorList = undefined 也算存在\n const hasOuterSelectorList = props.hasOwnProperty('selectorList');\n const mergeFieldNames = {\n label: 'label',\n value: 'value',\n disabled: 'disabled',\n ...fieldNames,\n };\n\n const {\n label: optionsItemLabelField,\n value: optionsItemValueField,\n disabled: optionsItemDisabledField,\n } = mergeFieldNames;\n\n const allOptionConfig = useMemo(() => {\n if (!showAllOption) return null;\n const isTrue = showAllOption === true;\n return {\n [optionsItemLabelField]: isTrue ? '全部' : showAllOption.label,\n [optionsItemValueField]: isTrue ? '' : showAllOption.value,\n };\n }, [optionsItemLabelField, optionsItemValueField, showAllOption]);\n\n const isMultiple = valueIsEqual(props.mode, ['multiple']);\n\n const { requestStatus, stateSelectorList, onRefreshRequest } = useRequest({\n fieldNames: mergeFieldNames,\n cacheKey: modelKeyInner,\n hasOuterSelectorList,\n onChange: props.onChange,\n serviceConfig,\n outerSelectorList,\n onRespDataChange: (dataList) => {\n if (firstRenderSelectList.current) {\n onSelectorListChange?.(dataList || []);\n firstRenderSelectList.current = false;\n }\n onSelectorListAllChange?.(dataList || []);\n },\n onSelectorRequestError,\n useCache: useCache === undefined ? true : useCache,\n });\n\n const onRespChange = hooks.useCallbackRef((selectedList: TPlainObject[]) => {\n if (labelInValue) {\n if (isMultiple) {\n props.onChange?.(selectedList, selectedList);\n } else {\n props.onChange?.(selectedList[0], selectedList);\n }\n } else {\n const valueList = selectedList.map((item) => item[optionsItemValueField]);\n if (isMultiple) {\n props.onChange?.(valueList, selectedList);\n } else {\n props.onChange?.(valueList[0], selectedList[0]);\n }\n }\n });\n\n const onInnerChange = hooks.useCallbackRef((_value, otherParams) => {\n if (!otherParams) return props.onChange?.(undefined);\n const selectedList = toArray<TAny>(otherParams);\n const targetList = [] as TPlainObject[];\n selectedList.forEach((item) => {\n if (showAllOption && allOptionConfig && item.value === allOptionConfig[optionsItemValueField]) {\n targetList.push(allOptionConfig);\n } else {\n const filterTarget = arrayFind(stateSelectorList || [], item.value, optionsItemValueField);\n if (filterTarget) {\n targetList.push(filterTarget);\n }\n }\n });\n onRespChange(targetList);\n });\n\n const selectorAllList = useMemo(() => {\n if (requestStatus !== 'request-success') return [];\n if (!stateSelectorList || stateSelectorList.length === 0) return [];\n if (!allOptionConfig) return stateSelectorList;\n return [allOptionConfig].concat(stateSelectorList);\n }, [allOptionConfig, requestStatus, stateSelectorList]);\n\n const loading = requestStatus === 'request-progress';\n\n const selectValue = useMemo(() => {\n const targetList = getVauleList(value, optionsItemValueField);\n return isMultiple ? targetList : targetList[0];\n }, [isMultiple, optionsItemValueField, value]);\n\n const filterOption = hooks.useCallbackRef((input: string, option) => {\n const children = toArray(option.children);\n let mergeString = '';\n const hasValidElementItem = children.find((item) => {\n return isValidElement(item);\n });\n if (!hasValidElementItem) {\n children.forEach((item) => {\n if (isString(item)) mergeString += item;\n });\n } else {\n mergeString = isString(option?.label) ? option.label : undefined;\n }\n return mergeString.toLowerCase().indexOf(input.toLowerCase()) >= 0;\n });\n\n return (\n <FlexLayout\n fullIndex={0}\n style={{ width: '100%', alignItems: 'center', ...style }}\n direction=\"horizontal\"\n gap={10}\n className={classNames('v-selector-wrapper', className)}\n >\n <Select\n showSearch={true}\n allowClear={true}\n popupMatchSelectWidth={false}\n filterOption={filterOption}\n {...otherProps}\n style={{ width: '100%', ...props.style }}\n value={selectValue}\n loading={loading}\n onChange={onInnerChange}\n fieldNames={undefined}\n suffixIcon={\n requestStatus === 'request-error' ? (\n <RedoOutlined spin={loading} onClick={onRefreshRequest} />\n ) : (\n otherProps.suffixIcon\n )\n }\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={onRefreshRequest}>\n 重新获取数据\n </Button>\n }\n />\n }\n >\n {selectorAllList.map((item, index) => {\n const value = item[optionsItemValueField];\n const label = item[optionsItemLabelField];\n return (\n <Select.Option\n value={value}\n label={label}\n key={`${value}-${index}`}\n disabled={item[optionsItemDisabledField]}\n >\n {props.showIcon ? (\n <span className=\"v-selector-item-icon\">{props.icon?.(item, index)}</span>\n ) : null}\n {onLabelRenderAdapter ? onLabelRenderAdapter(item) : label}\n </Select.Option>\n );\n })}\n </Select>\n {showRefreshIcon ? (\n <RefreshIcon\n onRefreshRequest={onRefreshRequest}\n loading={loading}\n requestStatus={requestStatus}\n requestMessageConfig={requestMessageConfig}\n />\n ) : null}\n </FlexLayout>\n );\n};\n"],"names":["RefreshIcon","props","onRefreshRequest","loading","otherProps","_objectWithoutPropertiesLoose","_excluded","_useState","useState","innerLoading","setInnerLoading","hoverTips","useMemo","requestStatus","_props$requestMessage","requestMessageConfig","undefined","onRefresh","_hooks","useCallbackRef","fbaHooks","useEffectCustom","_jsx","IconWrapper","_extends","icon","_SyncOutlined","spin","style","color","onClick","useRequest","options","cacheKey","serviceConfig","hasOuterSelectorList","outerSelectorList","onRespDataChange","onSelectorRequestError","onChange","useCache","fieldNames","serviceRequestParams","params","requiredParamsKeys","hasServiceRequestParams","Object","keys","length","stateSelectorList","setStateSelectorList","_useState2","setRequestStatus","_useState3","Date","now","refreshKey","setRefreshKey","serviceRequestParamsStringify","sortDataStringify","JSON","stringify","_json","sort","error","serviceRequestCahceKey","serviceRequestCahceStatusKey","pubSubKey","prevServiceRequestParamsStringify","usePrevious","prevParams","serviceRespDataAdapter","respData","result","onRequestResultAdapter","list","_get","_isArray","console","warn","getWindowCacheData","_window$__selector_wr","window","getWindowCacheValue","_getWindowCacheData","getWindowCacheStatus","_getWindowCacheData2","setWindowCache","key","value","onChangeRequestStatus","status","onRequest","Promise","$return","$error","respAdapterData","$Try_2_Catch","setTimeout","pubSub","publish","reject","$boundEx","resolve","then","$await_7","useEffectCustomAsync","isEmpty","dataList","_respAdapterData","find","isUndefinedOrNull","_isDeepEqual","$Try_3_Post","$Try_3_Catch","$await_8","$If_5","call","this","subscribe","_msg","_ref","$Try_4_Post","$Try_4_Catch","$await_9","getVauleList","data","valueKey","valueList","toArray","map","item","_isObject","SelectorWrapper","showAllOption","onSelectorListChange","onSelectorListAllChange","onLabelRenderAdapter","selectorList","modelKey","labelInValue","className","showRefreshIcon","firstRenderSelectList","useRef","modelKeyInner","getUuid","hasOwnProperty","mergeFieldNames","label","disabled","optionsItemLabelField","optionsItemValueField","optionsItemDisabledField","allOptionConfig","isTrue","isMultiple","valueIsEqual","mode","_useRequest","current","onRespChange","selectedList","onInnerChange","_value","otherParams","targetList","forEach","push","filterTarget","arrayFind","selectorAllList","concat","selectValue","filterOption","input","option","children","mergeString","hasValidElementItem","isValidElement","_isString","toLowerCase","indexOf","_jsxs","FlexLayout","fullIndex","width","alignItems","direction","gap","classNames","Select","showSearch","allowClear","popupMatchSelectWidth","suffixIcon","_RedoOutlined","notFoundContent","RequestStatus","messageConfig","errorButton","Button","type","index","Option","showIcon"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/selector-wrapper/refresh-icon.tsx","@flatbiz/antd/src/selector-wrapper/use-request.ts","@flatbiz/antd/src/selector-wrapper/utils.ts","@flatbiz/antd/src/selector-wrapper/selector-wrapper.tsx"],"sourcesContent":["import { SyncOutlined } from '@ant-design/icons';\nimport { hooks } from '@wove/react';\nimport { useMemo, useState } from 'react';\nimport { fbaHooks } from '../fba-hooks/index.js';\nimport { IconWrapper } from '../icon-wrapper/icon-wrapper.jsx';\nimport type { TRequestStatus, TRequestStatusProps } from '../request-status/request-status.jsx';\n\nexport const RefreshIcon = (props: {\n onRefreshRequest: () => void;\n loading: boolean;\n requestStatus?: TRequestStatus;\n requestMessageConfig?: TRequestStatusProps['messageConfig'];\n}) => {\n const { onRefreshRequest, loading, ...otherProps } = props;\n const [innerLoading, setInnerLoading] = useState(loading);\n const hoverTips = useMemo(() => {\n if (props.requestStatus === 'no-dependencies-params') {\n return props.requestMessageConfig?.['no-dependencies-params'] || '未获取到必要的查询条件';\n }\n return undefined;\n }, [props.requestMessageConfig, props.requestStatus]);\n\n const onRefresh = hooks.useCallbackRef(() => {\n if (props.requestStatus === 'no-dependencies-params') {\n return;\n }\n setInnerLoading(true);\n onRefreshRequest();\n });\n\n fbaHooks.useEffectCustom(() => {\n if (innerLoading && !loading) {\n setInnerLoading(false);\n }\n }, [loading]);\n\n return (\n <IconWrapper\n {...otherProps}\n icon={<SyncOutlined spin={innerLoading} style={{ color: '#9b9797' }} />}\n onClick={onRefresh}\n hoverTips={hoverTips}\n />\n );\n};\n","import { isArray, isDeepEqual } from '@dimjs/lang';\nimport { get, json } from '@dimjs/utils';\nimport { isUndefinedOrNull, type TPlainObject } from '@flatbiz/utils';\nimport pubSub from 'pubsub-js';\nimport { useMemo, useState } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport { type TRequestStatus } from '../request-status';\nimport { type SelectorServiceConfig, type SelectorWrapperProps } from './types';\n\nexport const useRequest = (options: {\n cacheKey: string;\n serviceConfig?: SelectorServiceConfig;\n hasOuterSelectorList?: boolean;\n onChange?: SelectorWrapperProps['onChange'];\n outerSelectorList?: SelectorWrapperProps['selectorList'];\n onRespDataChange?: (dataList?: TPlainObject[]) => void;\n onSelectorRequestError?: SelectorWrapperProps['onSelectorRequestError'];\n useCache: boolean;\n fieldNames: SelectorWrapperProps['fieldNames'];\n}) => {\n const {\n cacheKey,\n serviceConfig,\n hasOuterSelectorList,\n outerSelectorList,\n onRespDataChange,\n onSelectorRequestError,\n onChange,\n useCache,\n fieldNames,\n } = options;\n const serviceRequestParams = serviceConfig?.params;\n const requiredParamsKeys = serviceConfig?.requiredParamsKeys || [];\n const hasServiceRequestParams = serviceRequestParams && Object.keys(serviceRequestParams).length > 0;\n\n const [stateSelectorList, setStateSelectorList] = useState<TPlainObject[]>();\n const [requestStatus, setRequestStatus] = useState<TRequestStatus>();\n const [refreshKey, setRefreshKey] = useState(Date.now());\n\n const serviceRequestParamsStringify = useMemo(() => {\n try {\n if (hasServiceRequestParams) {\n const sortDataStringify = JSON.stringify(json.sort(serviceRequestParams));\n if (sortDataStringify === '{}') {\n return undefined;\n }\n return sortDataStringify;\n }\n } catch (error) {}\n return undefined;\n }, [hasServiceRequestParams, serviceRequestParams]);\n // 将 undefined => 'undefined'\n const serviceRequestCahceKey = `${serviceRequestParamsStringify}`;\n const serviceRequestCahceStatusKey = `${serviceRequestParamsStringify}_status`;\n const pubSubKey = `${cacheKey}_${serviceRequestCahceKey}`;\n\n // 上一个参数值\n const prevServiceRequestParamsStringify = fbaHooks.usePrevious(serviceRequestParamsStringify);\n const prevParams = fbaHooks.usePrevious(serviceRequestParams);\n\n const serviceRespDataAdapter = (respData) => {\n let result: TPlainObject[] = respData;\n if (serviceConfig?.onRequestResultAdapter) {\n result = serviceConfig?.onRequestResultAdapter(respData as unknown as TPlainObject);\n } else if (fieldNames?.list) {\n result = get(respData, fieldNames?.list);\n }\n if (result && !isArray(result)) {\n console.warn('待渲染数据为非数组结构', result);\n return [];\n }\n return result || [];\n };\n\n const getWindowCacheData = () => {\n return window['__selector_wrapper_']?.[cacheKey];\n };\n const getWindowCacheValue = () => {\n return getWindowCacheData()?.[serviceRequestCahceKey];\n };\n const getWindowCacheStatus = () => {\n return getWindowCacheData()?.[serviceRequestCahceStatusKey];\n };\n\n const setWindowCache = (key, value) => {\n if (!window['__selector_wrapper_']) {\n window['__selector_wrapper_'] = {};\n }\n if (!window['__selector_wrapper_'][cacheKey]) {\n window['__selector_wrapper_'][cacheKey] = {};\n }\n window['__selector_wrapper_'][cacheKey][key] = value;\n };\n\n const onChangeRequestStatus = (status: TRequestStatus) => {\n setWindowCache(serviceRequestCahceStatusKey, status);\n setRequestStatus(status);\n };\n\n const onRequest = async () => {\n try {\n onChangeRequestStatus('request-progress');\n\n const respData = await serviceConfig?.onRequest?.(serviceRequestParams || {});\n const respAdapterData = serviceRespDataAdapter(respData);\n\n setWindowCache(serviceRequestCahceKey, respAdapterData);\n onChangeRequestStatus('request-success');\n setTimeout(() => {\n pubSub.publish(pubSubKey, {\n status: 'request-success',\n respData: respAdapterData,\n });\n });\n\n return respAdapterData;\n } catch (error) {\n console.error(error);\n onChangeRequestStatus('request-error');\n setStateSelectorList(undefined);\n setTimeout(() => {\n pubSub.publish(pubSubKey, {\n status: 'request-error',\n });\n });\n onSelectorRequestError?.(error);\n return Promise.reject();\n }\n };\n\n fbaHooks.useEffectCustomAsync(async () => {\n if (hasOuterSelectorList) {\n setRequestStatus('request-success');\n setStateSelectorList(outerSelectorList);\n onRespDataChange?.(outerSelectorList);\n return;\n }\n if (requiredParamsKeys.length > 0) {\n const isEmpty = serviceRequestParams\n ? requiredParamsKeys.find((key) => isUndefinedOrNull(serviceRequestParams[key]))\n : true;\n if (isEmpty) {\n // 当依赖项查询条件为空时,清空当前缓存数据\n setStateSelectorList([]);\n setRequestStatus('no-dependencies-params');\n /**\n * 怎么判断数据是从有到无的\n * 每一次 params 变少,只要 上一次 params 值存在,就应该清空 value 值\n */\n if (prevServiceRequestParamsStringify) {\n onChange?.(undefined);\n }\n return;\n }\n\n // 不使用缓存模式\n if (useCache === false) {\n // 判断参数是否发生变化\n if (isDeepEqual(serviceRequestParams, prevParams)) {\n return;\n }\n try {\n setRequestStatus('request-progress');\n const respData = await serviceConfig?.onRequest?.(serviceRequestParams || {});\n const respAdapterData = serviceRespDataAdapter(respData);\n setRequestStatus('request-success');\n setStateSelectorList(respAdapterData);\n onRespDataChange?.(respAdapterData);\n } catch (error) {\n console.error(error);\n setRequestStatus('request-error');\n setStateSelectorList(undefined);\n onSelectorRequestError?.(error);\n }\n return;\n }\n }\n\n /**\n * 此处无法判断 调用props.onChange?.(undefined);\n * A、B、C\n * 例如:C依赖A、B,当外部只修改了一个元素,理论上应该应该清空C value 值(调用onChange(undefined)),如果此时外部直接回填A、B、C时,C无法回填成功;该场景只能在A、B的onChange事件中,清空C\n */\n // if (prevServiceRequestParamsStringify) {\n // props.onChange?.(undefined);\n // }\n\n const status = getWindowCacheStatus();\n if (status === 'request-success') {\n const dataList = getWindowCacheValue();\n setStateSelectorList(dataList);\n setRequestStatus(status);\n onRespDataChange?.(dataList);\n return;\n }\n if (status === 'request-progress') {\n setRequestStatus(status);\n pubSub.subscribe(pubSubKey, (_msg, { status, respData }) => {\n if (status === 'request-success') {\n setRequestStatus(status);\n setStateSelectorList(respData);\n onRespDataChange?.(respData);\n } else {\n setRequestStatus('request-error');\n setStateSelectorList(undefined);\n }\n });\n return;\n }\n try {\n const respAdapterData = await onRequest();\n setStateSelectorList(respAdapterData);\n setRequestStatus('request-success');\n onRespDataChange?.(respAdapterData);\n } catch (error) {\n console.error(error);\n setRequestStatus('request-error');\n setStateSelectorList(undefined);\n onSelectorRequestError?.(error);\n }\n }, [JSON.stringify(serviceRequestParams), outerSelectorList, refreshKey]);\n\n const onRefreshRequest = () => {\n if (requestStatus === 'request-success') {\n onChangeRequestStatus('request-init');\n }\n setRefreshKey(Date.now());\n };\n\n return {\n requestStatus,\n stateSelectorList,\n serviceRequestParamsStringify,\n onRefreshRequest,\n };\n};\n","import { isObject } from '@dimjs/lang';\nimport { toArray } from '@flatbiz/utils';\n\n/**\n * value存在两种格式\n * 1. string | number;\n * 2. labelInValue 格式\n * @param data\n * @param labelInValueFieldNames\n * @returns\n */\nexport const getVauleList = (data, valueKey: string | number) => {\n let valueList = toArray<string | number>(data);\n valueList = valueList.map((item) => {\n if (isObject(item)) return item[valueKey];\n return item;\n });\n return valueList;\n};\n","import { arrayFind, getUuid, TAny, toArray, TPlainObject, valueIsEqual } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Button, Select } from 'antd';\nimport { isValidElement, useMemo, useRef } from 'react';\nimport './style.less';\n\nimport { RedoOutlined } from '@ant-design/icons';\nimport { isString } from '@dimjs/lang';\nimport classNames from 'classnames';\nimport { FlexLayout } from '../flex-layout/flex-layout';\nimport { RequestStatus } from '../request-status';\nimport { RefreshIcon } from './refresh-icon';\nimport { SelectorWrapperProps } from './types';\nimport { useRequest } from './use-request';\nimport { getVauleList } from './utils';\nexport * from './types';\n/**\n * 选择器包装组件\n * ```\n * 1. 不支持搜索调用服务模式,可使用组件 SelectorWrapperSearch\n * 2. 修改文案【未获取到必要的查询条件】,通过参数 requestMessageConfig={{'no-dependencies-params': '自定义文案'}} 配置\n * ```\n */\nexport const SelectorWrapper = (props: SelectorWrapperProps) => {\n const {\n serviceConfig,\n showAllOption,\n onSelectorListChange,\n onSelectorListAllChange,\n onSelectorRequestError,\n onLabelRenderAdapter,\n requestMessageConfig,\n selectorList: outerSelectorList,\n modelKey,\n fieldNames,\n value,\n labelInValue,\n useCache,\n style,\n className,\n showRefreshIcon,\n ...otherProps\n } = props;\n\n const firstRenderSelectList = useRef(true);\n\n const modelKeyInner = useMemo(() => {\n return modelKey || getUuid();\n }, [modelKey]);\n\n // props 是否存在 selectorList,selectorList = undefined 也算存在\n const hasOuterSelectorList = props.hasOwnProperty('selectorList');\n const mergeFieldNames = {\n label: 'label',\n value: 'value',\n disabled: 'disabled',\n ...fieldNames,\n };\n\n const {\n label: optionsItemLabelField,\n value: optionsItemValueField,\n disabled: optionsItemDisabledField,\n } = mergeFieldNames;\n\n const allOptionConfig = useMemo(() => {\n if (!showAllOption) return null;\n const isTrue = showAllOption === true;\n return {\n [optionsItemLabelField]: isTrue ? '全部' : showAllOption.label,\n [optionsItemValueField]: isTrue ? '' : showAllOption.value,\n };\n }, [optionsItemLabelField, optionsItemValueField, showAllOption]);\n\n const isMultiple = valueIsEqual(props.mode, ['multiple']);\n\n const { requestStatus, stateSelectorList, onRefreshRequest } = useRequest({\n fieldNames: mergeFieldNames,\n cacheKey: modelKeyInner,\n hasOuterSelectorList,\n onChange: props.onChange,\n serviceConfig,\n outerSelectorList,\n onRespDataChange: (dataList) => {\n if (firstRenderSelectList.current) {\n onSelectorListChange?.(dataList || []);\n firstRenderSelectList.current = false;\n }\n onSelectorListAllChange?.(dataList || []);\n },\n onSelectorRequestError,\n useCache: useCache === undefined ? true : useCache,\n });\n\n const onRespChange = hooks.useCallbackRef((selectedList: TPlainObject[]) => {\n if (labelInValue) {\n if (isMultiple) {\n props.onChange?.(selectedList, selectedList);\n } else {\n props.onChange?.(selectedList[0], selectedList);\n }\n } else {\n const valueList = selectedList.map((item) => item[optionsItemValueField]);\n if (isMultiple) {\n props.onChange?.(valueList, selectedList);\n } else {\n props.onChange?.(valueList[0], selectedList[0]);\n }\n }\n });\n\n const onInnerChange = hooks.useCallbackRef((_value, otherParams) => {\n if (!otherParams) return props.onChange?.(undefined);\n const selectedList = toArray<TAny>(otherParams);\n const targetList = [] as TPlainObject[];\n selectedList.forEach((item) => {\n if (showAllOption && allOptionConfig && item.value === allOptionConfig[optionsItemValueField]) {\n targetList.push(allOptionConfig);\n } else {\n const filterTarget = arrayFind(stateSelectorList || [], item.value, optionsItemValueField);\n if (filterTarget) {\n targetList.push(filterTarget);\n }\n }\n });\n onRespChange(targetList);\n });\n\n const selectorAllList = useMemo(() => {\n if (requestStatus !== 'request-success') return [];\n if (!stateSelectorList || stateSelectorList.length === 0) return [];\n if (!allOptionConfig) return stateSelectorList;\n return [allOptionConfig].concat(stateSelectorList);\n }, [allOptionConfig, requestStatus, stateSelectorList]);\n\n const loading = requestStatus === 'request-progress';\n\n const selectValue = useMemo(() => {\n const targetList = getVauleList(value, optionsItemValueField);\n return isMultiple ? targetList : targetList[0];\n }, [isMultiple, optionsItemValueField, value]);\n\n const filterOption = hooks.useCallbackRef((input: string, option) => {\n const children = toArray(option.children);\n let mergeString = '';\n const hasValidElementItem = children.find((item) => {\n return isValidElement(item);\n });\n if (!hasValidElementItem) {\n children.forEach((item) => {\n if (isString(item)) mergeString += item;\n });\n } else {\n mergeString = isString(option?.label) ? option.label : undefined;\n }\n return mergeString.toLowerCase().indexOf(input.toLowerCase()) >= 0;\n });\n\n return (\n <FlexLayout\n fullIndex={0}\n style={{ width: '100%', alignItems: 'center', ...style }}\n direction=\"horizontal\"\n gap={10}\n className={classNames('v-selector-wrapper', className)}\n >\n <Select\n showSearch={true}\n allowClear={true}\n popupMatchSelectWidth={false}\n filterOption={filterOption}\n {...otherProps}\n style={{ width: '100%', ...props.style }}\n value={selectValue}\n loading={loading}\n onChange={onInnerChange}\n fieldNames={undefined}\n suffixIcon={\n requestStatus === 'request-error' ? (\n <RedoOutlined spin={loading} onClick={onRefreshRequest} />\n ) : (\n otherProps.suffixIcon\n )\n }\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={onRefreshRequest}>\n 重新获取数据\n </Button>\n }\n />\n }\n >\n {selectorAllList.map((item, index) => {\n const value = item[optionsItemValueField];\n const label = item[optionsItemLabelField];\n return (\n <Select.Option\n value={value}\n label={label}\n key={`${value}-${index}`}\n disabled={item[optionsItemDisabledField]}\n >\n {props.showIcon ? (\n <span className=\"v-selector-item-icon\">{props.icon?.(item, index)}</span>\n ) : null}\n {onLabelRenderAdapter ? onLabelRenderAdapter(item) : label}\n </Select.Option>\n );\n })}\n </Select>\n {showRefreshIcon ? (\n <RefreshIcon\n onRefreshRequest={onRefreshRequest}\n loading={loading}\n requestStatus={requestStatus}\n requestMessageConfig={requestMessageConfig}\n />\n ) : null}\n </FlexLayout>\n );\n};\n"],"names":["RefreshIcon","props","onRefreshRequest","loading","otherProps","_objectWithoutPropertiesLoose","_excluded","_useState","useState","innerLoading","setInnerLoading","hoverTips","useMemo","requestStatus","_props$requestMessage","requestMessageConfig","undefined","onRefresh","_hooks","useCallbackRef","fbaHooks","useEffectCustom","_jsx","IconWrapper","_extends","icon","_SyncOutlined","spin","style","color","onClick","useRequest","options","cacheKey","serviceConfig","hasOuterSelectorList","outerSelectorList","onRespDataChange","onSelectorRequestError","onChange","useCache","fieldNames","serviceRequestParams","params","requiredParamsKeys","hasServiceRequestParams","Object","keys","length","stateSelectorList","setStateSelectorList","_useState2","setRequestStatus","_useState3","Date","now","refreshKey","setRefreshKey","serviceRequestParamsStringify","sortDataStringify","JSON","stringify","_json","sort","error","serviceRequestCahceKey","serviceRequestCahceStatusKey","pubSubKey","prevServiceRequestParamsStringify","usePrevious","prevParams","serviceRespDataAdapter","respData","result","onRequestResultAdapter","list","_get","_isArray","console","warn","getWindowCacheData","_window$__selector_wr","window","getWindowCacheValue","_getWindowCacheData","getWindowCacheStatus","_getWindowCacheData2","setWindowCache","key","value","onChangeRequestStatus","status","onRequest","Promise","$return","$error","respAdapterData","$Try_2_Catch","setTimeout","pubSub","publish","reject","$boundEx","resolve","then","$await_7","useEffectCustomAsync","isEmpty","dataList","_respAdapterData","find","isUndefinedOrNull","_isDeepEqual","$Try_3_Post","$Try_3_Catch","$await_8","$If_5","call","this","subscribe","_msg","_ref","$Try_4_Post","$Try_4_Catch","$await_9","getVauleList","data","valueKey","valueList","toArray","map","item","_isObject","SelectorWrapper","showAllOption","onSelectorListChange","onSelectorListAllChange","onLabelRenderAdapter","selectorList","modelKey","labelInValue","className","showRefreshIcon","firstRenderSelectList","useRef","modelKeyInner","getUuid","hasOwnProperty","mergeFieldNames","label","disabled","optionsItemLabelField","optionsItemValueField","optionsItemDisabledField","allOptionConfig","isTrue","isMultiple","valueIsEqual","mode","_useRequest","current","onRespChange","selectedList","onInnerChange","_value","otherParams","targetList","forEach","push","filterTarget","arrayFind","selectorAllList","concat","selectValue","filterOption","input","option","children","mergeString","hasValidElementItem","isValidElement","_isString","toLowerCase","indexOf","_jsxs","FlexLayout","fullIndex","width","alignItems","direction","gap","classNames","Select","showSearch","allowClear","popupMatchSelectWidth","suffixIcon","_RedoOutlined","notFoundContent","RequestStatus","messageConfig","errorButton","Button","type","index","Option","showIcon"],"mappings":"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"}
|
|
@@ -3,5 +3,5 @@ import './../fba-hooks/index.css';
|
|
|
3
3
|
import './../request-status/index.css';
|
|
4
4
|
import './index.css';
|
|
5
5
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
6
|
-
import e from"@ant-design/icons/es/icons/RedoOutlined";import{hooks as r}from"@wove/react/cjs/hooks";import{a as t,_ as o}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{isArray as n}from"@dimjs/lang/cjs/is-array";import{get as i}from"@dimjs/utils/cjs/get";import{isUndefinedOrNull as s}from"@flatbiz/utils";import{Select as a,Button as u}from"antd";import{useState as l,useMemo as c}from"react";import{fbaHooks as d}from"../fba-hooks/index.js";import{RequestStatus as f}from"../request-status/index.js";import{jsx as m}from"react/jsx-runtime";import"../use-responsive-point-
|
|
6
|
+
import e from"@ant-design/icons/es/icons/RedoOutlined";import{hooks as r}from"@wove/react/cjs/hooks";import{a as t,_ as o}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{isArray as n}from"@dimjs/lang/cjs/is-array";import{get as i}from"@dimjs/utils/cjs/get";import{isUndefinedOrNull as s}from"@flatbiz/utils";import{Select as a,Button as u}from"antd";import{useState as l,useMemo as c}from"react";import{fbaHooks as d}from"../fba-hooks/index.js";import{RequestStatus as f}from"../request-status/index.js";import{jsx as m}from"react/jsx-runtime";import"../use-responsive-point-1e6d93d9.js";import"@dimjs/utils/cjs/uuid";import"@dimjs/utils/cjs/extend";import"../index-636a568e.js";import"../text-overflow/index.js";import"@dimjs/lang/cjs/is-string";import"@dimjs/utils/cjs/class-names";import"ahooks";var p=["showAllOption","serviceConfig","onSelectorListChange","onSelectorRequestError","requestMessageConfig","fieldNames","onLabelRenderAdapter"];var v=function v(h){var g=h.showAllOption,j=h.serviceConfig,q=h.onSelectorListChange,b=h.onSelectorRequestError,y=h.requestMessageConfig,w=h.fieldNames,C=h.onLabelRenderAdapter,R=t(h,p);var x=l("request-init"),k=x[0],S=x[1];var A=l(),K=A[0],E=A[1];var L=(w==null?void 0:w.label)||"label";var O=(w==null?void 0:w.value)||"value";var P=(w==null?void 0:w.disabled)||"disabled";var M=(w==null?void 0:w.searchKeyword)||"searchKeyword";var B=j.params;var N=j.requiredParamsKeys||[];var _=c(function(){var e=g===true;if(g){return{label:e?"全部":g.label,value:e?"":g.value}}return null},[g]);var z=function e(r){var t=r;if(j.onRequestResultAdapter){t=j.onRequestResultAdapter(r)}else if(w!=null&&w.list){t=i(r,w==null?void 0:w.list)}if(t&&!n(t)){console.warn("待渲染数据为非数组结构",t);return[]}return t||[]};var D=function e(r){return new Promise(function(e,t){var n,i,a,u;var l=function(){try{return e()}catch(e){return t(e)}};var c=function(e){try{S("request-error");b==null||b(e);return l()}catch(e){return t(e)}};try{if(N.length){i=B?N.find(function(e){return s(B[e])}):true;if(i){E([]);S("no-dependencies-params");return e()}}if(!r){S("request-search-keyword-empty");return e()}S("request-progress");return Promise.resolve(j.onRequest==null?void 0:j.onRequest(o({},B,(n={},n[M]=r,n)))).then(function(e){try{a=e;u=z(a);q==null||q(u);if(L&&O){u=u.map(function(e){return o({},e,{label:e[L],value:e[O],disabled:e[P||"disabled"]})})}u.forEach(function(e){if(C){e.label=C(e)}});if(_){u.unshift(_)}E(u);S("request-success");return l()}catch(e){return c(e)}},c)}catch(e){c(e)}})};var F=r.useDebounceCallback(function(e){E([]);void D(e)},300);d.useEffectCustom(function(){void D(h.customKeyword)},[h.customKeyword]);var H=k==="request-progress";return m(a,o({showSearch:true,allowClear:true,popupMatchSelectWidth:false,placeholder:"输入关键字搜索"},R,{style:o({width:"100%"},h.style),options:K,filterOption:false,onSearch:F,notFoundContent:m(f,{status:k,loading:H,messageConfig:o({"request-init":"请输入搜索条件"},y),errorButton:m(u,{type:"primary",onClick:D,children:"重新获取数据"})}),suffixIcon:k==="request-error"?m(e,{spin:H,onClick:D}):undefined,loading:H}))};export{v as SelectorWrapperSearch};
|
|
7
7
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.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 { isUndefinedOrNull, 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 /** 与 params 配合使用 */\n requiredParamsKeys?: string[];\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?: {\n label: string;\n value: string;\n disabled?: string;\n searchKeyword?: string;\n list?: string;\n };\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 * 4. 修改文案【未获取到必要的查询条件】,通过参数 requestMessageConfig={{'no-dependencies-params': '自定义文案'}} 配置\n * 5. 通过设置 fieldNames.searchKeyword 可修改关键字key值,默认值:searchKeyword\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 const requiredParamsKeys = serviceConfig.requiredParamsKeys || [];\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 let result: TPlainObject[] = respData;\n if (serviceConfig.onRequestResultAdapter) {\n result = serviceConfig.onRequestResultAdapter(respData as unknown as TPlainObject);\n } else if (fieldNames?.list) {\n result = get(respData, fieldNames?.list);\n }\n if (result && !isArray(result)) {\n console.warn('待渲染数据为非数组结构', result);\n return [];\n }\n return result || [];\n };\n\n const startDataSourceRequest = async (keyword) => {\n try {\n if (requiredParamsKeys.length) {\n const isEmpty = serviceParams\n ? requiredParamsKeys.find((key) => isUndefinedOrNull(serviceParams[key]))\n : true;\n if (isEmpty) {\n // 当依赖项查询条件为空时,清空当前缓存数据\n setDataSource([]);\n setRequestStatus('no-dependencies-params');\n return;\n }\n }\n if (!keyword) {\n setRequestStatus('request-search-keyword-empty');\n return;\n }\n\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: TAny) {\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 void startDataSourceRequest(props.customKeyword);\n }, [props.customKeyword]);\n\n const loading = requestStatus === 'request-progress';\n return (\n <Select\n showSearch={true}\n allowClear={true}\n popupMatchSelectWidth={false}\n placeholder={'输入关键字搜索'}\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","requiredParamsKeys","allOptionConfig","useMemo","isTrue","serviceRespDataAdapter","respData","result","onRequestResultAdapter","list","_get","_isArray","console","warn","startDataSourceRequest","keyword","Promise","$return","$error","_extends2","isEmpty","respAdapterData","$Try_1_Post","$boundEx","$Try_1_Catch","error","length","find","key","isUndefinedOrNull","resolve","onRequest","_extends","then","$await_2","map","item","forEach","unshift","onSearch","_hooks","useDebounceCallback","fbaHooks","useEffectCustom","customKeyword","loading","_jsx","Select","showSearch","allowClear","popupMatchSelectWidth","placeholder","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":"index.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 { isUndefinedOrNull, 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 /** 与 params 配合使用 */\n requiredParamsKeys?: string[];\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?: {\n label: string;\n value: string;\n disabled?: string;\n searchKeyword?: string;\n list?: string;\n };\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 * 4. 修改文案【未获取到必要的查询条件】,通过参数 requestMessageConfig={{'no-dependencies-params': '自定义文案'}} 配置\n * 5. 通过设置 fieldNames.searchKeyword 可修改关键字key值,默认值:searchKeyword\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 const requiredParamsKeys = serviceConfig.requiredParamsKeys || [];\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 let result: TPlainObject[] = respData;\n if (serviceConfig.onRequestResultAdapter) {\n result = serviceConfig.onRequestResultAdapter(respData as unknown as TPlainObject);\n } else if (fieldNames?.list) {\n result = get(respData, fieldNames?.list);\n }\n if (result && !isArray(result)) {\n console.warn('待渲染数据为非数组结构', result);\n return [];\n }\n return result || [];\n };\n\n const startDataSourceRequest = async (keyword) => {\n try {\n if (requiredParamsKeys.length) {\n const isEmpty = serviceParams\n ? requiredParamsKeys.find((key) => isUndefinedOrNull(serviceParams[key]))\n : true;\n if (isEmpty) {\n // 当依赖项查询条件为空时,清空当前缓存数据\n setDataSource([]);\n setRequestStatus('no-dependencies-params');\n return;\n }\n }\n if (!keyword) {\n setRequestStatus('request-search-keyword-empty');\n return;\n }\n\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: TAny) {\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 void startDataSourceRequest(props.customKeyword);\n }, [props.customKeyword]);\n\n const loading = requestStatus === 'request-progress';\n return (\n <Select\n showSearch={true}\n allowClear={true}\n popupMatchSelectWidth={false}\n placeholder={'输入关键字搜索'}\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","requiredParamsKeys","allOptionConfig","useMemo","isTrue","serviceRespDataAdapter","respData","result","onRequestResultAdapter","list","_get","_isArray","console","warn","startDataSourceRequest","keyword","Promise","$return","$error","_extends2","isEmpty","respAdapterData","$Try_1_Post","$boundEx","$Try_1_Catch","error","length","find","key","isUndefinedOrNull","resolve","onRequest","_extends","then","$await_2","map","item","forEach","unshift","onSearch","_hooks","useDebounceCallback","fbaHooks","useEffectCustom","customKeyword","loading","_jsx","Select","showSearch","allowClear","popupMatchSelectWidth","placeholder","style","width","options","filterOption","notFoundContent","RequestStatus","status","messageConfig","errorButton","Button","type","onClick","children","suffixIcon","_RedoOutlined","spin","undefined"],"mappings":"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"}
|
|
@@ -3,5 +3,5 @@ import './../fba-hooks/index.css';
|
|
|
3
3
|
import './../request-status/index.css';
|
|
4
4
|
import './index.css';
|
|
5
5
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
6
|
-
import e from"@ant-design/icons/es/icons/RedoOutlined";import{a as r,_ as t}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{isArray as o}from"@dimjs/lang/cjs/is-array";import{get as s}from"@dimjs/utils/cjs/get";import{Select as i,Button as n}from"antd";import{useState as u,useMemo as l}from"react";import{fbaHooks as a}from"../fba-hooks/index.js";import{RequestStatus as c}from"../request-status/index.js";import{jsx as m}from"react/jsx-runtime";import"@wove/react/cjs/hooks";import"@flatbiz/utils";import"../use-responsive-point-
|
|
6
|
+
import e from"@ant-design/icons/es/icons/RedoOutlined";import{a as r,_ as t}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{isArray as o}from"@dimjs/lang/cjs/is-array";import{get as s}from"@dimjs/utils/cjs/get";import{Select as i,Button as n}from"antd";import{useState as u,useMemo as l}from"react";import{fbaHooks as a}from"../fba-hooks/index.js";import{RequestStatus as c}from"../request-status/index.js";import{jsx as m}from"react/jsx-runtime";import"@wove/react/cjs/hooks";import"@flatbiz/utils";import"../use-responsive-point-1e6d93d9.js";import"@dimjs/utils/cjs/uuid";import"@dimjs/utils/cjs/extend";import"../index-636a568e.js";import"../text-overflow/index.js";import"@dimjs/lang/cjs/is-string";import"@dimjs/utils/cjs/class-names";import"ahooks";var f=["showAllOption","serviceConfig","onSelectorListChange","onSelectorRequestError","requestMessageConfig","fieldNames"];var d=function d(p){var v=p.showAllOption,g=p.serviceConfig,j=p.onSelectorListChange,h=p.onSelectorRequestError,q=p.requestMessageConfig,b=p.fieldNames,C=r(p,f);var x=u("request-init"),y=x[0],R=x[1];var w=u(),k=w[0],A=w[1];var S=(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=l(function(){var e=v===true;if(v){return{label:e?"全部":v.label,value:e?"":v.value}}return null},[v]);var L=function e(r){var t=r;if(g.onRequestResultAdapter){t=g.onRequestResultAdapter(r)}else if(b!=null&&b.list){t=s(r,b==null?void 0:b.list)}if(t&&!o(t)){console.warn("待渲染数据为非数组结构",t);return[]}return t||[]};var M=function e(){return new Promise(function(e,r){var o,s;var i=function(){try{return e()}catch(e){return r(e)}};var n=function(e){try{R("request-error");h==null||h(e);return i()}catch(e){return r(e)}};try{R("request-progress");return Promise.resolve(g.onRequest==null?void 0:g.onRequest(P)).then(function(e){try{o=e;s=L(o);j==null||j(s);if(S&&E){s=s.map(function(e){return t({},e,{label:e[S],value:e[E],disabled:e[O]})})}if(B){s.unshift(B)}A(s);R("request-success");return i()}catch(e){return n(e)}},n)}catch(e){n(e)}})};a.useEffectCustom(function(){void M()},[]);var N=y==="request-progress";return m(i,t({},C,{style:t({width:"100%"},p.style),options:k,notFoundContent:m(c,{status:y,loading:N,messageConfig:q,errorButton:m(n,{type:"primary",onClick:M,children:"重新获取数据"})}),suffixIcon:y==="request-error"?m(e,{spin:N,onClick:M}):undefined,loading:N}))};export{d as SelectorWrapperSimple};
|
|
7
7
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.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 let result: TPlainObject[] = respData;\n if (serviceConfig.onRequestResultAdapter) {\n result = serviceConfig.onRequestResultAdapter(respData as unknown as TPlainObject);\n } else if (fieldNames?.list) {\n result = get(respData, fieldNames?.list);\n }\n if (result && !isArray(result)) {\n console.warn('待渲染数据为非数组结构', result);\n return [];\n }\n return result || [];\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","result","onRequestResultAdapter","list","_get","_isArray","console","warn","startDataSourceRequest","Promise","$return","$error","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":";y3BA0DaA,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,
|
|
1
|
+
{"version":3,"file":"index.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 let result: TPlainObject[] = respData;\n if (serviceConfig.onRequestResultAdapter) {\n result = serviceConfig.onRequestResultAdapter(respData as unknown as TPlainObject);\n } else if (fieldNames?.list) {\n result = get(respData, fieldNames?.list);\n }\n if (result && !isArray(result)) {\n console.warn('待渲染数据为非数组结构', result);\n return [];\n }\n return result || [];\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","result","onRequestResultAdapter","list","_get","_isArray","console","warn","startDataSourceRequest","Promise","$return","$error","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":"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"}
|
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
import './../fba-hooks/index.css';
|
|
3
3
|
import './index.css';
|
|
4
4
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
5
|
-
import{isArray as e}from"@dimjs/lang/cjs/is-array";import{extend as l}from"@dimjs/utils/cjs/extend";import{classNames as t}from"@dimjs/utils/cjs/class-names";import{Space as i}from"antd";import{Fragment as s}from"react";import{fbaHooks as a}from"../fba-hooks/index.js";import{jsx as r,jsxs as o}from"react/jsx-runtime";import"../_rollupPluginBabelHelpers-c0dbec57.js";import"@wove/react/cjs/hooks";import"@flatbiz/utils";import"../use-responsive-point-
|
|
5
|
+
import{isArray as e}from"@dimjs/lang/cjs/is-array";import{extend as l}from"@dimjs/utils/cjs/extend";import{classNames as t}from"@dimjs/utils/cjs/class-names";import{Space as i}from"antd";import{Fragment as s}from"react";import{fbaHooks as a}from"../fba-hooks/index.js";import{jsx as r,jsxs as o}from"react/jsx-runtime";import"../_rollupPluginBabelHelpers-c0dbec57.js";import"@wove/react/cjs/hooks";import"@flatbiz/utils";import"../use-responsive-point-1e6d93d9.js";import"@dimjs/utils/cjs/uuid";var m=function m(c){var n=c.formLabelAlign||"right";var d=t("simple-layout",{"simple-layout-tight":c.layoutType==="tight","simple-layout-formlabel-left":n==="left","simple-layout-title-fixed":c.titleFixed,"simple-layout-small":c.size==="small"},c.className);var u=a.useThemeToken();var p=l({"--simple-layout-colorPrimary":u.colorPrimary},c.style,{padding:c.padding,width:c.width});if(c.hidden)return r(s,{});return o("div",{className:d,style:p,onClick:c.onClick,children:[c.title&&c.titleExtra?r("div",{className:t({"simple-layout-title-sign":c.titleLeftLine}),style:c.titleStyle,children:o(i,{className:"simple-layout-title-extra-space",children:[r("div",{className:"simple-layout-title",children:c.title}),r("div",{className:"simple-layout-title-extra",children:c.titleExtra})]})}):null,c.title&&!c.titleExtra?r("div",{className:t("simple-layout-title",{"simple-layout-title-sign":c.titleLeftLine}),style:c.titleStyle,children:c.title}):null,c.desc&&!e(c.desc)?r("div",{className:"simple-layout-desc",children:c.desc}):null,c.desc&&e(c.desc)?r("div",{className:"simple-layout-desc",children:r(i,{direction:"vertical",size:5,children:c.desc.map(function(e,l){return r(s,{children:e},l)})})}):null,c.children?r("div",{className:"simple-layout-content",style:c.contentStyle,children:c.children}):null]})};m.defaultProps={titleLeftLine:true,layoutType:"layer"};export{m as SimpleLayout};
|
|
6
6
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/simple-layout/simple-layout.tsx"],"sourcesContent":["import { isArray } from '@dimjs/lang';\nimport { classNames, extend } from '@dimjs/utils';\nimport { Space } from 'antd';\nimport { CSSProperties, Fragment, ReactElement, ReactNode } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport './style.less';\n\nexport type SimpleLayoutProps = {\n className?: string;\n style?: CSSProperties;\n title?: string | ReactElement;\n desc?: string | ReactElement | string[] | ReactElement[];\n /**\n * @deprecated 已过期,请使用form className 属性 preDefinedClassName.form.xxx\n */\n formLabelAlign?: 'left' | 'right';\n /**\n * layoutType 布局类型\n * ```\n * 1. layer:分层布局\n * 2. tight:紧凑布局(没有外边距)\n * ```\n */\n layoutType?: 'layer' | 'tight';\n titleLeftLine?: boolean;\n titleStyle?: CSSProperties;\n contentStyle?: CSSProperties;\n /** 优先级大于 style padding */\n padding?: CSSProperties['padding'];\n /** 优先级大于 style width */\n width?: CSSProperties['width'];\n children?: ReactNode | ReactNode[];\n titleExtra?: string | ReactElement;\n hidden?: boolean;\n titleFixed?: boolean;\n /**\n * 间距尺寸\n * 1. default = 15\n * 2. small = 8\n */\n size?: 'default' | 'small';\n onClick?: (event) => void;\n};\n\n/**\n * 简单布局\n * @deprecated 已过期,使用 CardLayout 组件替代\n * ```\n * 1. layoutType 布局类型\n * layer:分层布局\n * tight:紧凑布局(没有外边距)\n * ```\n */\nexport const SimpleLayout = (props: SimpleLayoutProps) => {\n const labelAlign = props.formLabelAlign || 'right';\n const className = classNames(\n 'simple-layout',\n {\n 'simple-layout-tight': props.layoutType === 'tight',\n 'simple-layout-formlabel-left': labelAlign === 'left',\n 'simple-layout-title-fixed': props.titleFixed,\n 'simple-layout-small': props.size === 'small',\n },\n props.className,\n );\n\n const theme = fbaHooks.useThemeToken();\n const style = extend({ '--simple-layout-colorPrimary': theme.colorPrimary }, props.style, {\n padding: props.padding,\n width: props.width,\n });\n\n if (props.hidden) return <Fragment />;\n\n return (\n <div className={className} style={style} onClick={props.onClick}>\n {props.title && props.titleExtra ? (\n <div\n className={classNames({ 'simple-layout-title-sign': props.titleLeftLine })}\n style={props.titleStyle}\n >\n <Space className=\"simple-layout-title-extra-space\">\n <div className=\"simple-layout-title\">{props.title}</div>\n <div className=\"simple-layout-title-extra\">{props.titleExtra}</div>\n </Space>\n </div>\n ) : null}\n {props.title && !props.titleExtra ? (\n <div\n className={classNames('simple-layout-title', {\n 'simple-layout-title-sign': props.titleLeftLine,\n })}\n style={props.titleStyle}\n >\n {props.title}\n </div>\n ) : null}\n {props.desc && !isArray(props.desc) ? <div className=\"simple-layout-desc\">{props.desc}</div> : null}\n {props.desc && isArray(props.desc) ? (\n <div className=\"simple-layout-desc\">\n <Space direction=\"vertical\" size={5}>\n {(props.desc as string[]).map((item, index) => {\n return <Fragment key={index}>{item}</Fragment>;\n })}\n </Space>\n </div>\n ) : null}\n {props.children ? (\n <div className=\"simple-layout-content\" style={props.contentStyle}>\n {props.children}\n </div>\n ) : null}\n </div>\n );\n};\n\nSimpleLayout.defaultProps = {\n titleLeftLine: true,\n layoutType: 'layer',\n};\n"],"names":["SimpleLayout","props","labelAlign","formLabelAlign","className","_classNames","layoutType","titleFixed","size","theme","fbaHooks","useThemeToken","style","_extend","colorPrimary","padding","width","hidden","_jsx","Fragment","_jsxs","onClick","children","title","titleExtra","titleLeftLine","titleStyle","Space","desc","_isArray","direction","map","item","index","contentStyle","defaultProps"],"mappings":";mfAqDaA,EAAe,SAAfA,EAAgBC,GAC3B,IAAMC,EAAaD,EAAME,gBAAkB,QAC3C,IAAMC,EAAYC,EAChB,gBACA,CACE,sBAAuBJ,EAAMK,aAAe,QAC5C,+BAAgCJ,IAAe,OAC/C,4BAA6BD,EAAMM,WACnC,sBAAuBN,EAAMO,OAAS,SAExCP,EAAMG,WAGR,IAAMK,EAAQC,EAASC,gBACvB,IAAMC,EAAQC,EAAO,CAAE,+BAAgCJ,EAAMK,cAAgBb,EAAMW,MAAO,CACxFG,QAASd,EAAMc,QACfC,MAAOf,EAAMe,QAGf,GAAIf,EAAMgB,OAAQ,OAAOC,EAACC,EAAQ,CAAE,GAEpC,OACEC,EAAA,MAAA,CAAKhB,UAAWA,EAAWQ,MAAOA,EAAOS,QAASpB,EAAMoB,QAAQC,SAAA,CAC7DrB,EAAMsB,OAAStB,EAAMuB,WACpBN,EAAA,MAAA,CACEd,UAAWC,EAAW,CAAE,2BAA4BJ,EAAMwB,gBAC1Db,MAAOX,EAAMyB,WAAWJ,SAExBF,EAACO,EAAK,CAACvB,UAAU,kCAAiCkB,UAChDJ,EAAA,MAAA,CAAKd,UAAU,sBAAqBkB,SAAErB,EAAMsB,QAC5CL,EAAA,MAAA,CAAKd,UAAU,4BAA2BkB,SAAErB,EAAMuB,kBAGpD,KACHvB,EAAMsB,QAAUtB,EAAMuB,WACrBN,EAAA,MAAA,CACEd,UAAWC,EAAW,sBAAuB,CAC3C,2BAA4BJ,EAAMwB,gBAEpCb,MAAOX,EAAMyB,WAAWJ,SAEvBrB,EAAMsB,QAEP,KACHtB,EAAM2B,OAASC,EAAQ5B,EAAM2B,MAAQV,EAAA,MAAA,CAAKd,UAAU,qBAAoBkB,SAAErB,EAAM2B,OAAc,KAC9F3B,EAAM2B,MAAQC,EAAQ5B,EAAM2B,MAC3BV,EAAA,MAAA,CAAKd,UAAU,qBAAoBkB,SACjCJ,EAACS,EAAK,CAACG,UAAU,WAAWtB,KAAM,EAAEc,SAChCrB,EAAM2B,KAAkBG,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/simple-layout/simple-layout.tsx"],"sourcesContent":["import { isArray } from '@dimjs/lang';\nimport { classNames, extend } from '@dimjs/utils';\nimport { Space } from 'antd';\nimport { CSSProperties, Fragment, ReactElement, ReactNode } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport './style.less';\n\nexport type SimpleLayoutProps = {\n className?: string;\n style?: CSSProperties;\n title?: string | ReactElement;\n desc?: string | ReactElement | string[] | ReactElement[];\n /**\n * @deprecated 已过期,请使用form className 属性 preDefinedClassName.form.xxx\n */\n formLabelAlign?: 'left' | 'right';\n /**\n * layoutType 布局类型\n * ```\n * 1. layer:分层布局\n * 2. tight:紧凑布局(没有外边距)\n * ```\n */\n layoutType?: 'layer' | 'tight';\n titleLeftLine?: boolean;\n titleStyle?: CSSProperties;\n contentStyle?: CSSProperties;\n /** 优先级大于 style padding */\n padding?: CSSProperties['padding'];\n /** 优先级大于 style width */\n width?: CSSProperties['width'];\n children?: ReactNode | ReactNode[];\n titleExtra?: string | ReactElement;\n hidden?: boolean;\n titleFixed?: boolean;\n /**\n * 间距尺寸\n * 1. default = 15\n * 2. small = 8\n */\n size?: 'default' | 'small';\n onClick?: (event) => void;\n};\n\n/**\n * 简单布局\n * @deprecated 已过期,使用 CardLayout 组件替代\n * ```\n * 1. layoutType 布局类型\n * layer:分层布局\n * tight:紧凑布局(没有外边距)\n * ```\n */\nexport const SimpleLayout = (props: SimpleLayoutProps) => {\n const labelAlign = props.formLabelAlign || 'right';\n const className = classNames(\n 'simple-layout',\n {\n 'simple-layout-tight': props.layoutType === 'tight',\n 'simple-layout-formlabel-left': labelAlign === 'left',\n 'simple-layout-title-fixed': props.titleFixed,\n 'simple-layout-small': props.size === 'small',\n },\n props.className,\n );\n\n const theme = fbaHooks.useThemeToken();\n const style = extend({ '--simple-layout-colorPrimary': theme.colorPrimary }, props.style, {\n padding: props.padding,\n width: props.width,\n });\n\n if (props.hidden) return <Fragment />;\n\n return (\n <div className={className} style={style} onClick={props.onClick}>\n {props.title && props.titleExtra ? (\n <div\n className={classNames({ 'simple-layout-title-sign': props.titleLeftLine })}\n style={props.titleStyle}\n >\n <Space className=\"simple-layout-title-extra-space\">\n <div className=\"simple-layout-title\">{props.title}</div>\n <div className=\"simple-layout-title-extra\">{props.titleExtra}</div>\n </Space>\n </div>\n ) : null}\n {props.title && !props.titleExtra ? (\n <div\n className={classNames('simple-layout-title', {\n 'simple-layout-title-sign': props.titleLeftLine,\n })}\n style={props.titleStyle}\n >\n {props.title}\n </div>\n ) : null}\n {props.desc && !isArray(props.desc) ? <div className=\"simple-layout-desc\">{props.desc}</div> : null}\n {props.desc && isArray(props.desc) ? (\n <div className=\"simple-layout-desc\">\n <Space direction=\"vertical\" size={5}>\n {(props.desc as string[]).map((item, index) => {\n return <Fragment key={index}>{item}</Fragment>;\n })}\n </Space>\n </div>\n ) : null}\n {props.children ? (\n <div className=\"simple-layout-content\" style={props.contentStyle}>\n {props.children}\n </div>\n ) : null}\n </div>\n );\n};\n\nSimpleLayout.defaultProps = {\n titleLeftLine: true,\n layoutType: 'layer',\n};\n"],"names":["SimpleLayout","props","labelAlign","formLabelAlign","className","_classNames","layoutType","titleFixed","size","theme","fbaHooks","useThemeToken","style","_extend","colorPrimary","padding","width","hidden","_jsx","Fragment","_jsxs","onClick","children","title","titleExtra","titleLeftLine","titleStyle","Space","desc","_isArray","direction","map","item","index","contentStyle","defaultProps"],"mappings":";mfAqDaA,EAAe,SAAfA,EAAgBC,GAC3B,IAAMC,EAAaD,EAAME,gBAAkB,QAC3C,IAAMC,EAAYC,EAChB,gBACA,CACE,sBAAuBJ,EAAMK,aAAe,QAC5C,+BAAgCJ,IAAe,OAC/C,4BAA6BD,EAAMM,WACnC,sBAAuBN,EAAMO,OAAS,SAExCP,EAAMG,WAGR,IAAMK,EAAQC,EAASC,gBACvB,IAAMC,EAAQC,EAAO,CAAE,+BAAgCJ,EAAMK,cAAgBb,EAAMW,MAAO,CACxFG,QAASd,EAAMc,QACfC,MAAOf,EAAMe,QAGf,GAAIf,EAAMgB,OAAQ,OAAOC,EAACC,EAAQ,CAAE,GAEpC,OACEC,EAAA,MAAA,CAAKhB,UAAWA,EAAWQ,MAAOA,EAAOS,QAASpB,EAAMoB,QAAQC,SAAA,CAC7DrB,EAAMsB,OAAStB,EAAMuB,WACpBN,EAAA,MAAA,CACEd,UAAWC,EAAW,CAAE,2BAA4BJ,EAAMwB,gBAC1Db,MAAOX,EAAMyB,WAAWJ,SAExBF,EAACO,EAAK,CAACvB,UAAU,kCAAiCkB,UAChDJ,EAAA,MAAA,CAAKd,UAAU,sBAAqBkB,SAAErB,EAAMsB,QAC5CL,EAAA,MAAA,CAAKd,UAAU,4BAA2BkB,SAAErB,EAAMuB,kBAGpD,KACHvB,EAAMsB,QAAUtB,EAAMuB,WACrBN,EAAA,MAAA,CACEd,UAAWC,EAAW,sBAAuB,CAC3C,2BAA4BJ,EAAMwB,gBAEpCb,MAAOX,EAAMyB,WAAWJ,SAEvBrB,EAAMsB,QAEP,KACHtB,EAAM2B,OAASC,EAAQ5B,EAAM2B,MAAQV,EAAA,MAAA,CAAKd,UAAU,qBAAoBkB,SAAErB,EAAM2B,OAAc,KAC9F3B,EAAM2B,MAAQC,EAAQ5B,EAAM2B,MAC3BV,EAAA,MAAA,CAAKd,UAAU,qBAAoBkB,SACjCJ,EAACS,EAAK,CAACG,UAAU,WAAWtB,KAAM,EAAEc,SAChCrB,EAAM2B,KAAkBG,IAAI,SAACC,EAAMC,GACnC,OAAOf,EAACC,EAAQ,CAAAG,SAAcU,GAARC,SAI1B,KACHhC,EAAMqB,SACLJ,EAAA,MAAA,CAAKd,UAAU,wBAAwBQ,MAAOX,EAAMiC,aAAaZ,SAC9DrB,EAAMqB,WAEP,OAGV,EAEAtB,EAAamC,aAAe,CAC1BV,cAAe,KACfnB,WAAY"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* eslint-disable */
|
|
2
2
|
import './index.css';
|
|
3
3
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
4
|
-
import{classNames as t}from"@dimjs/utils/cjs/class-names";import{hooks as r}from"@wove/react/cjs/hooks";import{useState as n,useMemo as a,useEffect as e}from"react";import{jsx as o}from"react/jsx-runtime";var s=function s(i){var c=n(),u=c[0],l=c[1];var f=n(false),T=f[0],m=f[1];var d=n(false),v=d[0],x=d[1];var k=a(
|
|
4
|
+
import{classNames as t}from"@dimjs/utils/cjs/class-names";import{hooks as r}from"@wove/react/cjs/hooks";import{useState as n,useMemo as a,useEffect as e}from"react";import{jsx as o}from"react/jsx-runtime";var s=function s(i){var c=n(),u=c[0],l=c[1];var f=n(false),T=f[0],m=f[1];var d=n(false),v=d[0],x=d[1];var k=a(function(){return{sendTxt:i.sendTxt,sentTxt:i.sentTxt,processingTxt:i.processingTxt,format:i.format,autoStart:i.autoStart,totalTicks:i.totalTicks,duration:i.duration}},[]);var p=k.format;var g=k.totalTicks;var S=k.duration;var h=r.useCountdownCallback(function(t){var r=t/1e3;if(t>0){if(!T){m(true)}l(p.replace("{t}",String(r)));i.onTick==null||i.onTick(r)}else if(t===0){m(false);x(false);i.onTick==null||i.onTick(r);l(k.sentTxt)}},g*1e3,{intervalTime:S});e(function(){if(!k.autoStart){l(k.sendTxt)}else{h();x(true);m(true)}},[h,k]);var j=r.useCallbackRef(function(){if(T||v)return;x(true);l(k.processingTxt);void i.onSendRequest().then(function(){m(true);h()}).catch(function(){l(k.sendTxt);x(false)})});var C=t("v-count-down",i.className,{running:T,starting:v});return o("div",{className:C,onClick:j,children:u})};s.defaultProps={totalTicks:60,duration:1e3,autoStart:false,format:"{t}s",sendTxt:"获取验证码",sentTxt:"重新获取",processingTxt:"发送中..."};export{s as SmsCountDown};
|
|
5
5
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/sms-count-down/sms-count-down.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { hooks } from '@wove/react';\nimport { FC, useEffect, useMemo, useState } from 'react';\n\nexport interface SmsCountDownProps {\n onSendRequest: () => Promise<void>; // 验证码请求函数\n totalTicks?: number; // 总倒计时,默认:60(s)\n duration?: number; // 倒计时间隔,默认:1000ms(1s)\n autoStart?: boolean; // 是否自动开始倒计时,默认:fasle,注意:不会自动调用 onSendRequest\n format?: string; // 倒计时格式化,默认:'{t}s'\n sendTxt?: string; // 文案,默认:'获取验证码'\n sentTxt?: string; // 倒计时完成文案,默认:'重新获取'\n processingTxt?: string; // 倒计时中文案,默认:'发送中...'\n onTick?: (time: number) => void; // 倒计时回调\n className?: string;\n}\nexport const SmsCountDown: FC<SmsCountDownProps> = (props) => {\n const [showMessage, setShowMessage] = useState<string>();\n\n const [running, setRunning] = useState(false);\n const [starting, setStarting] = useState(false);\n\n // 初始化设置有效\n const initConfig = useMemo<Omit<SmsCountDownProps, 'onSendRequest' | 'onTick' | 'className'>>(() => {\n return {\n sendTxt: props.sendTxt,\n sentTxt: props.sentTxt,\n processingTxt: props.processingTxt,\n format: props.format,\n autoStart: props.autoStart,\n totalTicks: props.totalTicks,\n duration: props.duration,\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const format = initConfig.format as string;\n const totalTicks = initConfig.totalTicks as number;\n const duration = initConfig.duration as number;\n\n const countdownFnc = hooks.useCountdownCallback(\n (num) => {\n const second = num / 1000;\n if (num > 0) {\n if (!running) {\n setRunning(true);\n }\n setShowMessage(format.replace('{t}', String(second)));\n props.onTick?.(second);\n } else if (num === 0) {\n setRunning(false);\n setStarting(false);\n props.onTick?.(second);\n setShowMessage(initConfig.sentTxt);\n }\n },\n totalTicks * 1000,\n { intervalTime: duration },\n );\n\n useEffect(() => {\n if (!initConfig.autoStart) {\n setShowMessage(initConfig.sendTxt);\n } else {\n countdownFnc();\n setStarting(true);\n setRunning(true);\n }\n }, [countdownFnc, initConfig]);\n\n const onStart = hooks.useCallbackRef(() => {\n if (running || starting) return;\n setStarting(true);\n setShowMessage(initConfig.processingTxt);\n void props\n .onSendRequest()\n .then(() => {\n setRunning(true);\n countdownFnc();\n })\n .catch(() => {\n setShowMessage(initConfig.sendTxt);\n setStarting(false);\n });\n });\n\n const className = classNames('v-count-down', props.className, {\n running,\n starting,\n });\n\n return (\n <div className={className} onClick={onStart}>\n {showMessage}\n </div>\n );\n};\n\nSmsCountDown.defaultProps = {\n totalTicks: 60,\n duration: 1000,\n autoStart: false,\n format: '{t}s',\n sendTxt: '获取验证码',\n sentTxt: '重新获取',\n processingTxt: '发送中...',\n};\n"],"names":["SmsCountDown","props","_useState","useState","showMessage","setShowMessage","_useState2","running","setRunning","_useState3","starting","setStarting","initConfig","useMemo","sendTxt","sentTxt","processingTxt","format","autoStart","totalTicks","duration","countdownFnc","_hooks","useCountdownCallback","num","second","replace","String","onTick","intervalTime","useEffect","onStart","useCallbackRef","onSendRequest","then","catch","className","_classNames","_jsx","onClick","children","defaultProps"],"mappings":";iNAgBaA,EAAsC,SAAtCA,EAAuCC,GAClD,IAAAC,EAAsCC,IAA/BC,EAAWF,EAAA,GAAEG,EAAcH,EAAA,GAElC,IAAAI,EAA8BH,EAAS,OAAhCI,EAAOD,EAAA,GAAEE,EAAUF,EAAA,GAC1B,IAAAG,EAAgCN,EAAS,OAAlCO,EAAQD,EAAA,GAAEE,EAAWF,EAAA,GAG5B,IAAMG,EAAaC,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/sms-count-down/sms-count-down.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { hooks } from '@wove/react';\nimport { FC, useEffect, useMemo, useState } from 'react';\n\nexport interface SmsCountDownProps {\n onSendRequest: () => Promise<void>; // 验证码请求函数\n totalTicks?: number; // 总倒计时,默认:60(s)\n duration?: number; // 倒计时间隔,默认:1000ms(1s)\n autoStart?: boolean; // 是否自动开始倒计时,默认:fasle,注意:不会自动调用 onSendRequest\n format?: string; // 倒计时格式化,默认:'{t}s'\n sendTxt?: string; // 文案,默认:'获取验证码'\n sentTxt?: string; // 倒计时完成文案,默认:'重新获取'\n processingTxt?: string; // 倒计时中文案,默认:'发送中...'\n onTick?: (time: number) => void; // 倒计时回调\n className?: string;\n}\nexport const SmsCountDown: FC<SmsCountDownProps> = (props) => {\n const [showMessage, setShowMessage] = useState<string>();\n\n const [running, setRunning] = useState(false);\n const [starting, setStarting] = useState(false);\n\n // 初始化设置有效\n const initConfig = useMemo<Omit<SmsCountDownProps, 'onSendRequest' | 'onTick' | 'className'>>(() => {\n return {\n sendTxt: props.sendTxt,\n sentTxt: props.sentTxt,\n processingTxt: props.processingTxt,\n format: props.format,\n autoStart: props.autoStart,\n totalTicks: props.totalTicks,\n duration: props.duration,\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const format = initConfig.format as string;\n const totalTicks = initConfig.totalTicks as number;\n const duration = initConfig.duration as number;\n\n const countdownFnc = hooks.useCountdownCallback(\n (num) => {\n const second = num / 1000;\n if (num > 0) {\n if (!running) {\n setRunning(true);\n }\n setShowMessage(format.replace('{t}', String(second)));\n props.onTick?.(second);\n } else if (num === 0) {\n setRunning(false);\n setStarting(false);\n props.onTick?.(second);\n setShowMessage(initConfig.sentTxt);\n }\n },\n totalTicks * 1000,\n { intervalTime: duration },\n );\n\n useEffect(() => {\n if (!initConfig.autoStart) {\n setShowMessage(initConfig.sendTxt);\n } else {\n countdownFnc();\n setStarting(true);\n setRunning(true);\n }\n }, [countdownFnc, initConfig]);\n\n const onStart = hooks.useCallbackRef(() => {\n if (running || starting) return;\n setStarting(true);\n setShowMessage(initConfig.processingTxt);\n void props\n .onSendRequest()\n .then(() => {\n setRunning(true);\n countdownFnc();\n })\n .catch(() => {\n setShowMessage(initConfig.sendTxt);\n setStarting(false);\n });\n });\n\n const className = classNames('v-count-down', props.className, {\n running,\n starting,\n });\n\n return (\n <div className={className} onClick={onStart}>\n {showMessage}\n </div>\n );\n};\n\nSmsCountDown.defaultProps = {\n totalTicks: 60,\n duration: 1000,\n autoStart: false,\n format: '{t}s',\n sendTxt: '获取验证码',\n sentTxt: '重新获取',\n processingTxt: '发送中...',\n};\n"],"names":["SmsCountDown","props","_useState","useState","showMessage","setShowMessage","_useState2","running","setRunning","_useState3","starting","setStarting","initConfig","useMemo","sendTxt","sentTxt","processingTxt","format","autoStart","totalTicks","duration","countdownFnc","_hooks","useCountdownCallback","num","second","replace","String","onTick","intervalTime","useEffect","onStart","useCallbackRef","onSendRequest","then","catch","className","_classNames","_jsx","onClick","children","defaultProps"],"mappings":";iNAgBaA,EAAsC,SAAtCA,EAAuCC,GAClD,IAAAC,EAAsCC,IAA/BC,EAAWF,EAAA,GAAEG,EAAcH,EAAA,GAElC,IAAAI,EAA8BH,EAAS,OAAhCI,EAAOD,EAAA,GAAEE,EAAUF,EAAA,GAC1B,IAAAG,EAAgCN,EAAS,OAAlCO,EAAQD,EAAA,GAAEE,EAAWF,EAAA,GAG5B,IAAMG,EAAaC,EAA2E,WAC5F,MAAO,CACLC,QAASb,EAAMa,QACfC,QAASd,EAAMc,QACfC,cAAef,EAAMe,cACrBC,OAAQhB,EAAMgB,OACdC,UAAWjB,EAAMiB,UACjBC,WAAYlB,EAAMkB,WAClBC,SAAUnB,EAAMmB,SAGnB,EAAE,IAEH,IAAMH,EAASL,EAAWK,OAC1B,IAAME,EAAaP,EAAWO,WAC9B,IAAMC,EAAWR,EAAWQ,SAE5B,IAAMC,EAAeC,EAAMC,qBACzB,SAACC,GACC,IAAMC,EAASD,EAAM,IACrB,GAAIA,EAAM,EAAG,CACX,IAAKjB,EAAS,CACZC,EAAW,KACb,CACAH,EAAeY,EAAOS,QAAQ,MAAOC,OAAOF,KAC5CxB,EAAM2B,QAAN3B,MAAAA,EAAM2B,OAASH,EACjB,MAAO,GAAID,IAAQ,EAAG,CACpBhB,EAAW,OACXG,EAAY,OACZV,EAAM2B,QAAN3B,MAAAA,EAAM2B,OAASH,GACfpB,EAAeO,EAAWG,QAC5B,CACF,EACAI,EAAa,IACb,CAAEU,aAAcT,IAGlBU,EAAU,WACR,IAAKlB,EAAWM,UAAW,CACzBb,EAAeO,EAAWE,QAC5B,KAAO,CACLO,IACAV,EAAY,MACZH,EAAW,KACb,CACF,EAAG,CAACa,EAAcT,IAElB,IAAMmB,EAAUT,EAAMU,eAAe,WACnC,GAAIzB,GAAWG,EAAU,OACzBC,EAAY,MACZN,EAAeO,EAAWI,oBACrBf,EACFgC,gBACAC,KAAK,WACJ1B,EAAW,MACXa,GACF,GACCc,MAAM,WACL9B,EAAeO,EAAWE,SAC1BH,EAAY,MACd,EACJ,GAEA,IAAMyB,EAAYC,EAAW,eAAgBpC,EAAMmC,UAAW,CAC5D7B,QAAAA,EACAG,SAAAA,IAGF,OACE4B,EAAA,MAAA,CAAKF,UAAWA,EAAWG,QAASR,EAAQS,SACzCpC,GAGP,EAEAJ,EAAayC,aAAe,CAC1BtB,WAAY,GACZC,SAAU,IACVF,UAAW,MACXD,OAAQ,OACRH,QAAS,QACTC,QAAS,OACTC,cAAe"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* eslint-disable */
|
|
2
2
|
import './index.css';
|
|
3
3
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
4
|
-
import{_ as r}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{classNames as e}from"@dimjs/utils/cjs/class-names";import{hooks as t}from"@wove/react/cjs/hooks";import{Children as a,useState as i}from"react";import o from"react-split";import{jsx as s}from"react/jsx-runtime";var p=function p(l){var n=a.toArray(l.children);var c=i(Date.now()),m=c[0],f=c[1];t.useUpdateEffect(
|
|
4
|
+
import{_ as r}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{classNames as e}from"@dimjs/utils/cjs/class-names";import{hooks as t}from"@wove/react/cjs/hooks";import{Children as a,useState as i}from"react";import o from"react-split";import{jsx as s}from"react/jsx-runtime";var p=function p(l){var n=a.toArray(l.children);var c=i(Date.now()),m=c[0],f=c[1];t.useUpdateEffect(function(){f(Date.now())},[l.direction]);return s(o,r({gutterSize:7},l,{className:e("split-warpper","split-warpper-"+l.direction,l.className),children:n.map(function(r,e){return s("div",{className:"split-warpper-panel",style:l.panelStyle,children:r},e)})}),m)};export{p as SplitWrapper};
|
|
5
5
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/split-wrapper/split.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { hooks } from '@wove/react';\nimport { Children, useState, type CSSProperties } from 'react';\nimport Split, { type SplitProps } from 'react-split';\nimport './style.less';\ntype SplitWrapperProps = SplitProps & {\n panelStyle?: CSSProperties;\n};\n/**\n * 分屏可拖动组件\n * ```\n * <SplitWrapper\n sizes={[25, 75]}\n minSize={[300, 300]}\n direction={'vertical'}\n >{...}</SplitWrapper>\n 1. 通过 sizes 来初始化设置面板分屏尺寸\n 2. 通过 minSize 来设置面板最小尺寸\n 3. 通过 direction 设置方向\n * ```\n */\nexport const SplitWrapper = (props: SplitWrapperProps) => {\n const childrenList = Children.toArray(props.children);\n const [key, setKey] = useState(Date.now());\n\n hooks.useUpdateEffect(() => {\n setKey(Date.now());\n }, [props.direction]);\n\n return (\n <Split\n key={key}\n gutterSize={7}\n {...props}\n className={classNames('split-warpper', `split-warpper-${props.direction}`, props.className)}\n >\n {childrenList.map((item, index) => {\n return (\n <div className=\"split-warpper-panel\" key={index} style={props.panelStyle}>\n {item}\n </div>\n );\n })}\n </Split>\n );\n};\n"],"names":["SplitWrapper","props","childrenList","Children","toArray","children","_useState","useState","Date","now","key","setKey","_hooks","useUpdateEffect","direction","_jsx","Split","_extends","gutterSize","className","_classNames","map","item","index","style","panelStyle"],"mappings":";2RAqBaA,EAAe,SAAfA,EAAgBC,GAC3B,IAAMC,EAAeC,EAASC,QAAQH,EAAMI,UAC5C,IAAAC,EAAsBC,EAASC,KAAKC,OAA7BC,EAAGJ,EAAA,GAAEK,EAAML,EAAA,GAElBM,EAAMC,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/split-wrapper/split.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { hooks } from '@wove/react';\nimport { Children, useState, type CSSProperties } from 'react';\nimport Split, { type SplitProps } from 'react-split';\nimport './style.less';\ntype SplitWrapperProps = SplitProps & {\n panelStyle?: CSSProperties;\n};\n/**\n * 分屏可拖动组件\n * ```\n * <SplitWrapper\n sizes={[25, 75]}\n minSize={[300, 300]}\n direction={'vertical'}\n >{...}</SplitWrapper>\n 1. 通过 sizes 来初始化设置面板分屏尺寸\n 2. 通过 minSize 来设置面板最小尺寸\n 3. 通过 direction 设置方向\n * ```\n */\nexport const SplitWrapper = (props: SplitWrapperProps) => {\n const childrenList = Children.toArray(props.children);\n const [key, setKey] = useState(Date.now());\n\n hooks.useUpdateEffect(() => {\n setKey(Date.now());\n }, [props.direction]);\n\n return (\n <Split\n key={key}\n gutterSize={7}\n {...props}\n className={classNames('split-warpper', `split-warpper-${props.direction}`, props.className)}\n >\n {childrenList.map((item, index) => {\n return (\n <div className=\"split-warpper-panel\" key={index} style={props.panelStyle}>\n {item}\n </div>\n );\n })}\n </Split>\n );\n};\n"],"names":["SplitWrapper","props","childrenList","Children","toArray","children","_useState","useState","Date","now","key","setKey","_hooks","useUpdateEffect","direction","_jsx","Split","_extends","gutterSize","className","_classNames","map","item","index","style","panelStyle"],"mappings":";2RAqBaA,EAAe,SAAfA,EAAgBC,GAC3B,IAAMC,EAAeC,EAASC,QAAQH,EAAMI,UAC5C,IAAAC,EAAsBC,EAASC,KAAKC,OAA7BC,EAAGJ,EAAA,GAAEK,EAAML,EAAA,GAElBM,EAAMC,gBAAgB,WACpBF,EAAOH,KAAKC,MACd,EAAG,CAACR,EAAMa,YAEV,OACEC,EAACC,EAAKC,EAAA,CAEJC,WAAY,GACRjB,EAAK,CACTkB,UAAWC,EAAW,gBAAkCnB,iBAAAA,EAAMa,UAAab,EAAMkB,WAAWd,SAE3FH,EAAamB,IAAI,SAACC,EAAMC,GACvB,OACER,EAAA,MAAA,CAAKI,UAAU,sBAAkCK,MAAOvB,EAAMwB,WAAWpB,SACtEiB,GADuCC,OAPzCb,EAcX"}
|
package/esm/styles/index.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.num-ff{font-family:var(--v-font-family-number)}p,ul{margin:0;padding:0}.hide{display:none}.clear-fix:after{clear:both;content:" ";display:block;font-size:0;height:0;visibility:hidden}.ant-btn-dashed:disabled,.ant-btn-variant-dashed:disabled,.ant-btn-variant-link:disabled,.ant-btn-variant-solid:disabled,.ant-checkbox-disabled+span,.ant-input-number-outlined.ant-input-number-disabled,.ant-input[disabled],.ant-picker-disabled input[disabled],.ant-radio-wrapper-disabled,.ant-select-disabled .ant-select-selector,.ant-select-multiple.ant-select-disabled .ant-select-selection-item,.ant-select-outlined.ant-select-disabled:not(.ant-select-customize-input) .ant-select-selector{color:rgba(0,0,0,.6)!important}.ant-radio-disabled .ant-radio-inner:after{background-color:rgba(0,0,0,.5)!important}.ant-checkbox-disabled .ant-checkbox-inner:after{border-color:rgba(0,0,0,.6)!important}.ant-tree .ant-tree-treenode-disabled .ant-tree-node-content-wrapper{color:rgba(0,0,0,.6)!important}.dark-theme .ant-btn-dashed:disabled,.dark-theme .ant-btn-variant-dashed:disabled,.dark-theme .ant-btn-variant-link:disabled,.dark-theme .ant-btn-variant-solid:disabled,.dark-theme .ant-checkbox-disabled+span,.dark-theme .ant-input-number-outlined.ant-input-number-disabled,.dark-theme .ant-input[disabled],.dark-theme .ant-picker-disabled input[disabled],.dark-theme .ant-radio-wrapper-disabled,.dark-theme .ant-select-disabled .ant-select-selector,.dark-theme .ant-select-multiple.ant-select-disabled .ant-select-selection-item,.dark-theme .ant-select-outlined.ant-select-disabled:not(.ant-select-customize-input) .ant-select-selector{color:hsla(0,0%,100%,.8)!important}.dark-theme .ant-radio-disabled .ant-radio-inner:after{background-color:hsla(0,0%,100%,.7)!important}.dark-theme .ant-checkbox-disabled .ant-checkbox-inner:after{border-color:hsla(0,0%,100%,.8)!important}.dark-theme .ant-tree .ant-tree-treenode-disabled .ant-tree-node-content-wrapper{color:hsla(0,0%,100%,.8)!important}
|
|
1
|
+
.num-ff{font-family:var(--v-font-family-number)}p,ul{margin:0;padding:0}.hide{display:none}.clear-fix:after{clear:both;content:" ";display:block;font-size:0;height:0;visibility:hidden}.light-theme .ant-btn-dashed:disabled,.light-theme .ant-btn-variant-dashed:disabled,.light-theme .ant-btn-variant-link:disabled,.light-theme .ant-btn-variant-solid:disabled,.light-theme .ant-checkbox-disabled+span,.light-theme .ant-input-number-outlined.ant-input-number-disabled,.light-theme .ant-input[disabled],.light-theme .ant-picker-disabled input[disabled],.light-theme .ant-radio-wrapper-disabled,.light-theme .ant-select-disabled .ant-select-selector,.light-theme .ant-select-multiple.ant-select-disabled .ant-select-selection-item,.light-theme .ant-select-outlined.ant-select-disabled:not(.ant-select-customize-input) .ant-select-selector{color:rgba(0,0,0,.6)!important}.light-theme .ant-radio-disabled .ant-radio-inner:after{background-color:rgba(0,0,0,.5)!important}.light-theme .ant-checkbox-disabled .ant-checkbox-inner:after{border-color:rgba(0,0,0,.6)!important}.light-theme .ant-tree .ant-tree-treenode-disabled .ant-tree-node-content-wrapper{color:rgba(0,0,0,.6)!important}.light-theme .ant-tree .ant-tree-checkbox-disabled .ant-tree-checkbox-inner:after{border-color:rgba(0,0,0,.5)!important}.dark-theme .ant-btn-dashed:disabled,.dark-theme .ant-btn-variant-dashed:disabled,.dark-theme .ant-btn-variant-link:disabled,.dark-theme .ant-btn-variant-solid:disabled,.dark-theme .ant-checkbox-disabled+span,.dark-theme .ant-input-number-outlined.ant-input-number-disabled,.dark-theme .ant-input[disabled],.dark-theme .ant-picker-disabled input[disabled],.dark-theme .ant-radio-wrapper-disabled,.dark-theme .ant-select-disabled .ant-select-selector,.dark-theme .ant-select-multiple.ant-select-disabled .ant-select-selection-item,.dark-theme .ant-select-outlined.ant-select-disabled:not(.ant-select-customize-input) .ant-select-selector{color:hsla(0,0%,100%,.8)!important}.dark-theme .ant-radio-disabled .ant-radio-inner:after{background-color:hsla(0,0%,100%,.7)!important}.dark-theme .ant-checkbox-disabled .ant-checkbox-inner:after{border-color:hsla(0,0%,100%,.8)!important}.dark-theme .ant-tree .ant-tree-treenode-disabled .ant-tree-node-content-wrapper{color:hsla(0,0%,100%,.8)!important}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* eslint-disable */
|
|
2
2
|
import './index.css';
|
|
3
3
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
4
|
-
import{a as t,_ as i}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{classNames as r}from"@dimjs/utils/cjs/class-names";import{isHttpUri as s}from"@flatbiz/utils";import{useMemo as e}from"react";import{jsx as a}from"react/jsx-runtime";var l=["color","svgPath","className","height","width","style","onClick"];var h=function h(o){var c=o.color,n=o.svgPath,m=o.className,v=o.height,d=o.width,g=o.style,p=o.onClick,f=t(o,l);var u=c||"#555";var w=s(n)?n:"https://file.40017.cn/tcsk/alicon/"+n+".svg";var j=e(
|
|
4
|
+
import{a as t,_ as i}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{classNames as r}from"@dimjs/utils/cjs/class-names";import{isHttpUri as s}from"@flatbiz/utils";import{useMemo as e}from"react";import{jsx as a}from"react/jsx-runtime";var l=["color","svgPath","className","height","width","style","onClick"];var h=function h(o){var c=o.color,n=o.svgPath,m=o.className,v=o.height,d=o.width,g=o.style,p=o.onClick,f=t(o,l);var u=c||"#555";var w=s(n)?n:"https://file.40017.cn/tcsk/alicon/"+n+".svg";var j=e(function(){if(d||v){return{width:d,height:v}}return{width:20,height:20}},[v,d]);return a("div",i({},f,{onClick:p,className:r("http-svg-view",m),style:i({width:j.width,height:j.height},g),children:a("div",{className:"hsv-content",style:{filter:"drop-shadow("+u+" 200px 0)"},children:a("img",{src:w})})}))};export{h as SvgHttpView};
|
|
5
5
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/svg-http-view/svg.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { isHttpUri } from '@flatbiz/utils';\nimport { CSSProperties, useMemo } from 'react';\nimport './style.less';\nexport type SvgHttpViewProps = {\n /**\n * svg地址\n * ```\n * 1. 可传http绝对路径\n * 2. 可传ionic组图标,例如:ionic/alarm-outline\n * 3. 可传lucide组图标,例如:lucide/crosshair\n *\n * 查询ionic、lucide图标 https://fex.qa.tcshuke.com/docs/admin/resources/icons\n * ```\n */\n svgPath: string;\n /** 默认:20px */\n width?: number;\n /** 默认:20px */\n height?: number;\n /** svg 颜色, 默认:#555 */\n color?: string;\n onClick?: (e) => void;\n className?: string;\n style?: CSSProperties;\n};\n\n/**\n * http svg地址解析,可自定义颜色\n * ```\n * 1. 内置ionic、lucide组图标基础路径\n * 2. 可传自定义http绝对路径svg数据\n * 3.\n * ```\n */\nexport const SvgHttpView = (props: SvgHttpViewProps) => {\n const { color, svgPath, className, height, width, style, onClick, ...otherProps } = props;\n const colorNew = color || '#555';\n\n const srcLink = isHttpUri(svgPath) ? svgPath : `https://file.40017.cn/tcsk/alicon/${svgPath}.svg`;\n\n const size = useMemo(() => {\n if (width || height) {\n return { width, height };\n }\n return { width: 20, height: 20 };\n }, [height, width]);\n\n return (\n <div\n {...otherProps}\n onClick={onClick}\n className={classNames('http-svg-view', className)}\n style={{ width: size.width, height: size.height, ...style }}\n >\n <div className=\"hsv-content\" style={{ filter: `drop-shadow(${colorNew} 200px 0)` }}>\n <img src={srcLink} />\n </div>\n </div>\n );\n};\n"],"names":["SvgHttpView","props","color","svgPath","className","height","width","style","onClick","otherProps","_objectWithoutPropertiesLoose","_excluded","colorNew","srcLink","isHttpUri","size","useMemo","_jsx","_extends","_classNames","children","filter","src"],"mappings":";8TAmCaA,EAAc,SAAdA,EAAeC,GAC1B,IAAQC,EAA4ED,EAA5EC,MAAOC,EAAqEF,EAArEE,QAASC,EAA4DH,EAA5DG,UAAWC,EAAiDJ,EAAjDI,OAAQC,EAAyCL,EAAzCK,MAAOC,EAAkCN,EAAlCM,MAAOC,EAA2BP,EAA3BO,QAAYC,EAAUC,EAAKT,EAAKU,GACzF,IAAMC,EAAWV,GAAS,OAE1B,IAAMW,EAAUC,EAAUX,GAAWA,EAA+CA,qCAAAA,EAAa,OAEjG,IAAMY,EAAOC,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/svg-http-view/svg.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { isHttpUri } from '@flatbiz/utils';\nimport { CSSProperties, useMemo } from 'react';\nimport './style.less';\nexport type SvgHttpViewProps = {\n /**\n * svg地址\n * ```\n * 1. 可传http绝对路径\n * 2. 可传ionic组图标,例如:ionic/alarm-outline\n * 3. 可传lucide组图标,例如:lucide/crosshair\n *\n * 查询ionic、lucide图标 https://fex.qa.tcshuke.com/docs/admin/resources/icons\n * ```\n */\n svgPath: string;\n /** 默认:20px */\n width?: number;\n /** 默认:20px */\n height?: number;\n /** svg 颜色, 默认:#555 */\n color?: string;\n onClick?: (e) => void;\n className?: string;\n style?: CSSProperties;\n};\n\n/**\n * http svg地址解析,可自定义颜色\n * ```\n * 1. 内置ionic、lucide组图标基础路径\n * 2. 可传自定义http绝对路径svg数据\n * 3.\n * ```\n */\nexport const SvgHttpView = (props: SvgHttpViewProps) => {\n const { color, svgPath, className, height, width, style, onClick, ...otherProps } = props;\n const colorNew = color || '#555';\n\n const srcLink = isHttpUri(svgPath) ? svgPath : `https://file.40017.cn/tcsk/alicon/${svgPath}.svg`;\n\n const size = useMemo(() => {\n if (width || height) {\n return { width, height };\n }\n return { width: 20, height: 20 };\n }, [height, width]);\n\n return (\n <div\n {...otherProps}\n onClick={onClick}\n className={classNames('http-svg-view', className)}\n style={{ width: size.width, height: size.height, ...style }}\n >\n <div className=\"hsv-content\" style={{ filter: `drop-shadow(${colorNew} 200px 0)` }}>\n <img src={srcLink} />\n </div>\n </div>\n );\n};\n"],"names":["SvgHttpView","props","color","svgPath","className","height","width","style","onClick","otherProps","_objectWithoutPropertiesLoose","_excluded","colorNew","srcLink","isHttpUri","size","useMemo","_jsx","_extends","_classNames","children","filter","src"],"mappings":";8TAmCaA,EAAc,SAAdA,EAAeC,GAC1B,IAAQC,EAA4ED,EAA5EC,MAAOC,EAAqEF,EAArEE,QAASC,EAA4DH,EAA5DG,UAAWC,EAAiDJ,EAAjDI,OAAQC,EAAyCL,EAAzCK,MAAOC,EAAkCN,EAAlCM,MAAOC,EAA2BP,EAA3BO,QAAYC,EAAUC,EAAKT,EAAKU,GACzF,IAAMC,EAAWV,GAAS,OAE1B,IAAMW,EAAUC,EAAUX,GAAWA,EAA+CA,qCAAAA,EAAa,OAEjG,IAAMY,EAAOC,EAAQ,WACnB,GAAIV,GAASD,EAAQ,CACnB,MAAO,CAAEC,MAAAA,EAAOD,OAAAA,EAClB,CACA,MAAO,CAAEC,MAAO,GAAID,OAAQ,GAC9B,EAAG,CAACA,EAAQC,IAEZ,OACEW,EAAA,MAAAC,EAAA,CAAA,EACMT,EAAU,CACdD,QAASA,EACTJ,UAAWe,EAAW,gBAAiBf,GACvCG,MAAKW,EAAA,CAAIZ,MAAOS,EAAKT,MAAOD,OAAQU,EAAKV,QAAWE,GAAQa,SAE5DH,EAAA,MAAA,CAAKb,UAAU,cAAcG,MAAO,CAAEc,sBAAuBT,EAAQ,aAAcQ,SACjFH,EAAA,MAAA,CAAKK,IAAKT,QAIlB"}
|
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
import './../fba-hooks/index.css';
|
|
3
3
|
import './index.css';
|
|
4
4
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
5
|
-
import{a as e,_ as r}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{hooks as n}from"@wove/react/cjs/hooks";import{message as t,Popconfirm as o,Switch as i}from"antd";import{useMemo as u,useState as s}from"react";import{fbaHooks as l}from"../fba-hooks/index.js";import{jsx as a}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-array";import"@flatbiz/utils";import"../use-responsive-point-
|
|
5
|
+
import{a as e,_ as r}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{hooks as n}from"@wove/react/cjs/hooks";import{message as t,Popconfirm as o,Switch as i}from"antd";import{useMemo as u,useState as s}from"react";import{fbaHooks as l}from"../fba-hooks/index.js";import{jsx as a}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-array";import"@flatbiz/utils";import"../use-responsive-point-1e6d93d9.js";import"@dimjs/utils/cjs/uuid";var c=["popConfirmProps","needConfirm","checkedValue","unCheckedValue","onChange","value","serviceConfig","noMessage"];var f=function f(d){var m=d.popConfirmProps,v=d.needConfirm,p=d.checkedValue,h=d.unCheckedValue,g=d.onChange,C=d.value,k=d.serviceConfig,b=d.noMessage,j=e(d,c);var y=u(function(){if(typeof m==="function"){return m(C===p)}return m},[p,m,C]);var P=s(false),V=P[0],x=P[1];var R=s(false),q=R[0],w=R[1];l.useEffectCustom(function(){x(C===p)},[d.value]);var B=u(function(){return v==="close"&&V||v==="open"&&!V||!v||v==="all"},[V,v]);var E=n.useCallbackRef(function(){return new Promise(function(e,r){var n,o,i;n=!V?p:h;if(k!=null&&k.onRequest){var u=function(e){return function(n){try{w(false);return e&&e.call(this,n)}catch(e){return r(e)}}.bind(this)}.bind(this);var s=function(){try{return a.call(this)}catch(e){return r(e)}}.bind(this);var l=function(e){try{if(!b){void t.error((e==null?void 0:e.message)||(k==null||(i=k.message)==null?void 0:i.defaultError)||"状态修改失败!")}return u(s)()}catch(e){return u(r)(e)}};try{w(true);return Promise.resolve(k.onRequest(n)).then(function(e){try{x(!V);g==null||g(n);if(!b){void t.success((k==null||(o=k.message)==null?void 0:o.success)||"状态修改成功!")}return u(s)()}catch(e){return l(e)}},l)}catch(e){l(e)}}else{x(!V);g==null||g(n);return a.call(this)}function a(){return e()}})});if(B){return a(o,{disabled:y==null?void 0:y.disabled,okButtonProps:{loading:q},title:y==null?void 0:y.title,description:y==null?void 0:y.description,onConfirm:E,children:a(i,r({checked:V},j))})}return a(i,r({checked:V,loading:q},j,{onChange:E}))};export{f as SwitchConfirmWrapper};
|
|
6
6
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/switch-confirm-wrapper/switch-confirm-wrapper.tsx"],"sourcesContent":["import { TAny } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { message, Popconfirm, PopconfirmProps, Switch, SwitchProps } from 'antd';\nimport { useMemo, useState } from 'react';\nimport { fbaHooks } from '../fba-hooks';\n\nexport type SwitchConfirmWrapperValue = string | number | boolean;\nexport type SwitchConfirmWrapperProps = Omit<SwitchProps, 'defaultChecked' | 'onChange'> & {\n value?: SwitchConfirmWrapperValue;\n checkedValue: SwitchConfirmWrapperValue;\n unCheckedValue: SwitchConfirmWrapperValue;\n needConfirm?: 'close' | 'open' | 'all' | 'none';\n noMessage?: boolean;\n onChange?: (value: SwitchConfirmWrapperValue) => void;\n popConfirmProps?:\n | Pick<PopconfirmProps, 'disabled' | 'title' | 'description'>\n | ((checked?: boolean) => Pick<PopconfirmProps, 'disabled' | 'title' | 'description'>);\n serviceConfig?: {\n onRequest: (value: SwitchConfirmWrapperValue) => TAny;\n message?: {\n success?: string;\n defaultError?: string;\n };\n };\n};\n\n/**\n *\n * @description switch 切换时做二次pop提醒, 非可控组件【内部控制】\n * @param props\n * @param value\n * @param checkedValue:选中状态值\n * @param unCheckedValue:非选中状态值\n * @param needConfirm:二次pop拦截时机 可不传\n * close:switch 由开启转换成关闭时pop弹出\n * open:switch 由开启转换成开启时pop弹出\n * all:switch 一直pop\n * none:switch 不弹出\n * @param noMessage:不采用内置message提示\n * @param onChange:switch 有效切换回掉\n * @param popConfirmProps:popConfirm中参数 disabled title description\n * @param serviceConfig onRequest\n * @field onRequest 请求函数\n * @field message message配置 success defaultError\n * ```\n * 1. 单独使用\n * <SwitchConfirmWrapper\n * value={value}\n * checkedValue={'1'}\n * unCheckedValue={'2'}\n * serviceConfig={{\n * onRequest: async () => {\n * await sleep(2000);\n * },\n * }}\n * needConfirm={'all'}\n * popConfirmProps={{\n * title: '确定要开启吗?',\n * }}\n * onChange={(value) => {\n * setValue(value as string);\n * }}\n * />\n *\n * 2. 与Form.Item结合使用\n * <Form.Item name=\"open\">\n * <SwitchConfirmWrapper\n * checkedValue={'1'}\n * unCheckedValue={'2'}\n * serviceConfig={{\n * onRequest: async () => {\n * await sleep(2000);\n * },\n * }}\n * needConfirm={'all'}\n * popConfirmProps={{\n * title: '确定要开启吗?',\n * }}\n * />\n * </Form.Item>\n * ```\n */\nexport const SwitchConfirmWrapper = (props: SwitchConfirmWrapperProps) => {\n const {\n popConfirmProps,\n needConfirm,\n checkedValue,\n unCheckedValue,\n onChange,\n value,\n serviceConfig,\n noMessage,\n ...otherProps\n } = props;\n const popConfirmPropsFt = useMemo(() => {\n if (typeof popConfirmProps === 'function') {\n return popConfirmProps(value === checkedValue);\n }\n return popConfirmProps;\n }, [checkedValue, popConfirmProps, value]);\n const [isCheked, setIsCheked] = useState<boolean>(false);\n const [loading, setLoading] = useState<boolean>(false);\n\n fbaHooks.useEffectCustom(() => {\n setIsCheked(value === checkedValue);\n }, [props.value]);\n\n const showConfirm = useMemo(() => {\n return (\n (needConfirm === 'close' && isCheked) ||\n (needConfirm === 'open' && !isCheked) ||\n !needConfirm ||\n needConfirm === 'all'\n );\n }, [isCheked, needConfirm]);\n\n const onHandleChange = hooks.useCallbackRef(async () => {\n const changeValue = !isCheked ? checkedValue : unCheckedValue;\n if (serviceConfig?.onRequest) {\n try {\n setLoading(true);\n await serviceConfig.onRequest(changeValue);\n setIsCheked(!isCheked);\n onChange?.(changeValue);\n if (!noMessage) {\n void message.success(serviceConfig?.message?.success || '状态修改成功!');\n }\n } catch (error) {\n if (!noMessage) {\n void message.error(error?.message || serviceConfig?.message?.defaultError || '状态修改失败!');\n }\n } finally {\n setLoading(false);\n }\n } else {\n setIsCheked(!isCheked);\n onChange?.(changeValue);\n }\n });\n if (showConfirm) {\n return (\n <Popconfirm\n disabled={popConfirmPropsFt?.disabled}\n okButtonProps={{ loading: loading }}\n title={popConfirmPropsFt?.title}\n description={popConfirmPropsFt?.description}\n onConfirm={onHandleChange}\n >\n <Switch checked={isCheked} {...otherProps} />\n </Popconfirm>\n );\n }\n return <Switch checked={isCheked} loading={loading} {...otherProps} onChange={onHandleChange} />;\n};\n"],"names":["SwitchConfirmWrapper","props","popConfirmProps","needConfirm","checkedValue","unCheckedValue","onChange","value","serviceConfig","noMessage","otherProps","_objectWithoutPropertiesLoose","_excluded","popConfirmPropsFt","useMemo","_useState","useState","isCheked","setIsCheked","_useState2","loading","setLoading","fbaHooks","useEffectCustom","showConfirm","onHandleChange","_hooks","useCallbackRef","Promise","$return","$error","changeValue","_serviceConfig$messag","_serviceConfig$messag2","onRequest","$Try_1_Finally","$Try_1_Exit","$Try_1_Value","call","this","$boundEx","bind","$Try_1_Post","$If_2","$Try_1_Catch","error","message","defaultError","resolve","then","$await_3","success","_jsx","Popconfirm","disabled","okButtonProps","title","description","onConfirm","children","Switch","_extends","checked"],"mappings":";ijBAkFaA,EAAuB,SAAvBA,EAAwBC,GACnC,IACEC,EASED,EATFC,gBACAC,EAQEF,EARFE,YACAC,EAOEH,EAPFG,aACAC,EAMEJ,EANFI,eACAC,EAKEL,EALFK,SACAC,EAIEN,EAJFM,MACAC,EAGEP,EAHFO,cACAC,EAEER,EAFFQ,UACGC,EAAUC,EACXV,EAAKW,GACT,IAAMC,EAAoBC,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/switch-confirm-wrapper/switch-confirm-wrapper.tsx"],"sourcesContent":["import { TAny } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { message, Popconfirm, PopconfirmProps, Switch, SwitchProps } from 'antd';\nimport { useMemo, useState } from 'react';\nimport { fbaHooks } from '../fba-hooks';\n\nexport type SwitchConfirmWrapperValue = string | number | boolean;\nexport type SwitchConfirmWrapperProps = Omit<SwitchProps, 'defaultChecked' | 'onChange'> & {\n value?: SwitchConfirmWrapperValue;\n checkedValue: SwitchConfirmWrapperValue;\n unCheckedValue: SwitchConfirmWrapperValue;\n needConfirm?: 'close' | 'open' | 'all' | 'none';\n noMessage?: boolean;\n onChange?: (value: SwitchConfirmWrapperValue) => void;\n popConfirmProps?:\n | Pick<PopconfirmProps, 'disabled' | 'title' | 'description'>\n | ((checked?: boolean) => Pick<PopconfirmProps, 'disabled' | 'title' | 'description'>);\n serviceConfig?: {\n onRequest: (value: SwitchConfirmWrapperValue) => TAny;\n message?: {\n success?: string;\n defaultError?: string;\n };\n };\n};\n\n/**\n *\n * @description switch 切换时做二次pop提醒, 非可控组件【内部控制】\n * @param props\n * @param value\n * @param checkedValue:选中状态值\n * @param unCheckedValue:非选中状态值\n * @param needConfirm:二次pop拦截时机 可不传\n * close:switch 由开启转换成关闭时pop弹出\n * open:switch 由开启转换成开启时pop弹出\n * all:switch 一直pop\n * none:switch 不弹出\n * @param noMessage:不采用内置message提示\n * @param onChange:switch 有效切换回掉\n * @param popConfirmProps:popConfirm中参数 disabled title description\n * @param serviceConfig onRequest\n * @field onRequest 请求函数\n * @field message message配置 success defaultError\n * ```\n * 1. 单独使用\n * <SwitchConfirmWrapper\n * value={value}\n * checkedValue={'1'}\n * unCheckedValue={'2'}\n * serviceConfig={{\n * onRequest: async () => {\n * await sleep(2000);\n * },\n * }}\n * needConfirm={'all'}\n * popConfirmProps={{\n * title: '确定要开启吗?',\n * }}\n * onChange={(value) => {\n * setValue(value as string);\n * }}\n * />\n *\n * 2. 与Form.Item结合使用\n * <Form.Item name=\"open\">\n * <SwitchConfirmWrapper\n * checkedValue={'1'}\n * unCheckedValue={'2'}\n * serviceConfig={{\n * onRequest: async () => {\n * await sleep(2000);\n * },\n * }}\n * needConfirm={'all'}\n * popConfirmProps={{\n * title: '确定要开启吗?',\n * }}\n * />\n * </Form.Item>\n * ```\n */\nexport const SwitchConfirmWrapper = (props: SwitchConfirmWrapperProps) => {\n const {\n popConfirmProps,\n needConfirm,\n checkedValue,\n unCheckedValue,\n onChange,\n value,\n serviceConfig,\n noMessage,\n ...otherProps\n } = props;\n const popConfirmPropsFt = useMemo(() => {\n if (typeof popConfirmProps === 'function') {\n return popConfirmProps(value === checkedValue);\n }\n return popConfirmProps;\n }, [checkedValue, popConfirmProps, value]);\n const [isCheked, setIsCheked] = useState<boolean>(false);\n const [loading, setLoading] = useState<boolean>(false);\n\n fbaHooks.useEffectCustom(() => {\n setIsCheked(value === checkedValue);\n }, [props.value]);\n\n const showConfirm = useMemo(() => {\n return (\n (needConfirm === 'close' && isCheked) ||\n (needConfirm === 'open' && !isCheked) ||\n !needConfirm ||\n needConfirm === 'all'\n );\n }, [isCheked, needConfirm]);\n\n const onHandleChange = hooks.useCallbackRef(async () => {\n const changeValue = !isCheked ? checkedValue : unCheckedValue;\n if (serviceConfig?.onRequest) {\n try {\n setLoading(true);\n await serviceConfig.onRequest(changeValue);\n setIsCheked(!isCheked);\n onChange?.(changeValue);\n if (!noMessage) {\n void message.success(serviceConfig?.message?.success || '状态修改成功!');\n }\n } catch (error) {\n if (!noMessage) {\n void message.error(error?.message || serviceConfig?.message?.defaultError || '状态修改失败!');\n }\n } finally {\n setLoading(false);\n }\n } else {\n setIsCheked(!isCheked);\n onChange?.(changeValue);\n }\n });\n if (showConfirm) {\n return (\n <Popconfirm\n disabled={popConfirmPropsFt?.disabled}\n okButtonProps={{ loading: loading }}\n title={popConfirmPropsFt?.title}\n description={popConfirmPropsFt?.description}\n onConfirm={onHandleChange}\n >\n <Switch checked={isCheked} {...otherProps} />\n </Popconfirm>\n );\n }\n return <Switch checked={isCheked} loading={loading} {...otherProps} onChange={onHandleChange} />;\n};\n"],"names":["SwitchConfirmWrapper","props","popConfirmProps","needConfirm","checkedValue","unCheckedValue","onChange","value","serviceConfig","noMessage","otherProps","_objectWithoutPropertiesLoose","_excluded","popConfirmPropsFt","useMemo","_useState","useState","isCheked","setIsCheked","_useState2","loading","setLoading","fbaHooks","useEffectCustom","showConfirm","onHandleChange","_hooks","useCallbackRef","Promise","$return","$error","changeValue","_serviceConfig$messag","_serviceConfig$messag2","onRequest","$Try_1_Finally","$Try_1_Exit","$Try_1_Value","call","this","$boundEx","bind","$Try_1_Post","$If_2","$Try_1_Catch","error","message","defaultError","resolve","then","$await_3","success","_jsx","Popconfirm","disabled","okButtonProps","title","description","onConfirm","children","Switch","_extends","checked"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* eslint-disable */
|
|
2
2
|
import './index.css';
|
|
3
3
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
4
|
-
import{a as e,_ as r}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{hooks as t}from"@wove/react/cjs/hooks";import{isUndefinedOrNull as n}from"@flatbiz/utils";import{message as o,Tooltip as i,Switch as l}from"antd";import{useState as u}from"react";import{jsx as a}from"react/jsx-runtime";var c=["checkedValue","unCheckedValue","onChange","value","tooltipProps","tooltipTitle","serviceConfig"];var s=function s(f){var h=f.checkedValue,v=f.unCheckedValue,m=f.onChange,d=f.value,p=f.tooltipProps,g=f.tooltipTitle,C=f.serviceConfig,k=e(f,c);var b=u(),y=b[0],P=b[1];var V=t.useCallbackRef(
|
|
4
|
+
import{a as e,_ as r}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{hooks as t}from"@wove/react/cjs/hooks";import{isUndefinedOrNull as n}from"@flatbiz/utils";import{message as o,Tooltip as i,Switch as l}from"antd";import{useState as u}from"react";import{jsx as a}from"react/jsx-runtime";var c=["checkedValue","unCheckedValue","onChange","value","tooltipProps","tooltipTitle","serviceConfig"];var s=function s(f){var h=f.checkedValue,v=f.unCheckedValue,m=f.onChange,d=f.value,p=f.tooltipProps,g=f.tooltipTitle,C=f.serviceConfig,k=e(f,c);var b=u(),y=b[0],P=b[1];var V=t.useCallbackRef(function(e){return new Promise(function(r,t){var n,i,l;n=e?h:v;if(C!=null&&C.onRequest){var u=function(e){return function(r){try{P(false);return e&&e.call(this,r)}catch(e){return t(e)}}.bind(this)}.bind(this);var a=function(){try{return s.call(this)}catch(e){return t(e)}}.bind(this);var c=function(e){try{void o.error((e==null?void 0:e.message)||(C==null||(l=C.message)==null?void 0:l.defaultError)||"状态修改失败!");return u(a)()}catch(e){return u(t)(e)}};try{P(true);return Promise.resolve(C.onRequest(n)).then(function(e){try{m==null||m(n);void o.success((C==null||(i=C.message)==null?void 0:i.success)||"状态修改成功!");return u(a)()}catch(e){return c(e)}},c)}catch(e){c(e)}}else{m==null||m(n);return s.call(this)}function s(){return r()}})});var j;if(typeof g==="function"){j=g(d)}else{j=g}if(j){return a(i,r({placement:"top"},p,{title:j,children:a(l,r({},k,{checked:!n(d)&&h===d,onChange:V}))}))}return a(l,r({loading:y},k,{checked:!n(d)&&h===d,onChange:V}))};export{s as SwitchWrapper};
|
|
5
5
|
//# sourceMappingURL=index.js.map
|