@flatbiz/antd 4.5.55 → 4.5.56
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.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 +43 -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-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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/switch-wrapper/switch-wrapper.tsx"],"sourcesContent":["import { isUndefinedOrNull, TAny } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { message, Switch, SwitchProps, Tooltip, TooltipProps } from 'antd';\nimport { useState } from 'react';\n\nexport type SwitchWrapperValue = string | number | boolean;\nexport type SwitchWrapperProps = Omit<SwitchProps, 'checked' | 'defaultChecked' | 'onChange' | 'value'> & {\n value?: SwitchWrapperValue;\n checkedValue: SwitchWrapperValue;\n unCheckedValue: SwitchWrapperValue;\n onChange?: (value: SwitchWrapperValue) => void;\n tooltipProps?: Omit<TooltipProps, 'title'>;\n tooltipTitle?: string | ((value?: SwitchWrapperValue) => string | undefined);\n serviceConfig?: {\n onRequest: (value: SwitchWrapperValue) => TAny;\n message?: {\n success?: string;\n defaultError?: string;\n };\n };\n};\n/**\n * 解决Switch只能接收boolean的限制,与Form.Item结合使用最佳\n * ```\n * 1. value 为状态值,不局限于boolean,可以为 [string | number | boolean]\n * 2. checkedValue 选中值\n * 3. unCheckedValue 未选中值\n * 4. 与 Form.Item 结合使用,不再需要配置 valuePropName\n * <Form.Item name=\"fieldName\">\n * <SwitchWrapper checkedValue={2} unCheckedValue={1} />\n * </Form.Item>\n * 5. 可设置tooltip效果数据显示\n * 6. 可设置 serviceConfig 配置服务调用交互\n * ```\n */\nexport const SwitchWrapper = (props: SwitchWrapperProps) => {\n const {\n checkedValue,\n unCheckedValue,\n onChange,\n value,\n tooltipProps,\n tooltipTitle,\n serviceConfig,\n ...otherProps\n } = props;\n const [loading, setLoading] = useState<boolean>();\n const onChangeHandle = hooks.useCallbackRef(async (checked) => {\n const changeValue = checked ? checkedValue : unCheckedValue;\n if (serviceConfig?.onRequest) {\n try {\n setLoading(true);\n await serviceConfig.onRequest(changeValue);\n onChange?.(changeValue);\n void message.success(serviceConfig?.message?.success || '状态修改成功!');\n } catch (error) {\n void message.error(error?.message || serviceConfig?.message?.defaultError || '状态修改失败!');\n } finally {\n setLoading(false);\n }\n } else {\n onChange?.(changeValue);\n }\n });\n\n let tipTitle: string | undefined;\n\n if (typeof tooltipTitle === 'function') {\n tipTitle = tooltipTitle(value);\n } else {\n tipTitle = tooltipTitle;\n }\n\n if (tipTitle) {\n return (\n <Tooltip placement=\"top\" {...tooltipProps} title={tipTitle}>\n <Switch\n {...otherProps}\n checked={!isUndefinedOrNull(value) && checkedValue === value}\n onChange={onChangeHandle}\n />\n </Tooltip>\n );\n }\n\n return (\n <Switch\n loading={loading}\n {...otherProps}\n checked={!isUndefinedOrNull(value) && checkedValue === value}\n onChange={onChangeHandle}\n />\n );\n};\n"],"names":["SwitchWrapper","props","checkedValue","unCheckedValue","onChange","value","tooltipProps","tooltipTitle","serviceConfig","otherProps","_objectWithoutPropertiesLoose","_excluded","_useState","useState","loading","setLoading","onChangeHandle","_hooks","useCallbackRef","checked","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","tipTitle","_jsx","Tooltip","_extends","placement","title","children","Switch","isUndefinedOrNull"],"mappings":";mZAmCaA,EAAgB,SAAhBA,EAAiBC,GAC5B,IACEC,EAQED,EARFC,aACAC,EAOEF,EAPFE,eACAC,EAMEH,EANFG,SACAC,EAKEJ,EALFI,MACAC,EAIEL,EAJFK,aACAC,EAGEN,EAHFM,aACAC,EAEEP,EAFFO,cACGC,EAAUC,EACXT,EAAKU,GACT,IAAAC,EAA8BC,IAAvBC,EAAOF,EAAA,GAAEG,EAAUH,EAAA,GAC1B,IAAMI,EAAiBC,EAAMC,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/switch-wrapper/switch-wrapper.tsx"],"sourcesContent":["import { isUndefinedOrNull, TAny } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { message, Switch, SwitchProps, Tooltip, TooltipProps } from 'antd';\nimport { useState } from 'react';\n\nexport type SwitchWrapperValue = string | number | boolean;\nexport type SwitchWrapperProps = Omit<SwitchProps, 'checked' | 'defaultChecked' | 'onChange' | 'value'> & {\n value?: SwitchWrapperValue;\n checkedValue: SwitchWrapperValue;\n unCheckedValue: SwitchWrapperValue;\n onChange?: (value: SwitchWrapperValue) => void;\n tooltipProps?: Omit<TooltipProps, 'title'>;\n tooltipTitle?: string | ((value?: SwitchWrapperValue) => string | undefined);\n serviceConfig?: {\n onRequest: (value: SwitchWrapperValue) => TAny;\n message?: {\n success?: string;\n defaultError?: string;\n };\n };\n};\n/**\n * 解决Switch只能接收boolean的限制,与Form.Item结合使用最佳\n * ```\n * 1. value 为状态值,不局限于boolean,可以为 [string | number | boolean]\n * 2. checkedValue 选中值\n * 3. unCheckedValue 未选中值\n * 4. 与 Form.Item 结合使用,不再需要配置 valuePropName\n * <Form.Item name=\"fieldName\">\n * <SwitchWrapper checkedValue={2} unCheckedValue={1} />\n * </Form.Item>\n * 5. 可设置tooltip效果数据显示\n * 6. 可设置 serviceConfig 配置服务调用交互\n * ```\n */\nexport const SwitchWrapper = (props: SwitchWrapperProps) => {\n const {\n checkedValue,\n unCheckedValue,\n onChange,\n value,\n tooltipProps,\n tooltipTitle,\n serviceConfig,\n ...otherProps\n } = props;\n const [loading, setLoading] = useState<boolean>();\n const onChangeHandle = hooks.useCallbackRef(async (checked) => {\n const changeValue = checked ? checkedValue : unCheckedValue;\n if (serviceConfig?.onRequest) {\n try {\n setLoading(true);\n await serviceConfig.onRequest(changeValue);\n onChange?.(changeValue);\n void message.success(serviceConfig?.message?.success || '状态修改成功!');\n } catch (error) {\n void message.error(error?.message || serviceConfig?.message?.defaultError || '状态修改失败!');\n } finally {\n setLoading(false);\n }\n } else {\n onChange?.(changeValue);\n }\n });\n\n let tipTitle: string | undefined;\n\n if (typeof tooltipTitle === 'function') {\n tipTitle = tooltipTitle(value);\n } else {\n tipTitle = tooltipTitle;\n }\n\n if (tipTitle) {\n return (\n <Tooltip placement=\"top\" {...tooltipProps} title={tipTitle}>\n <Switch\n {...otherProps}\n checked={!isUndefinedOrNull(value) && checkedValue === value}\n onChange={onChangeHandle}\n />\n </Tooltip>\n );\n }\n\n return (\n <Switch\n loading={loading}\n {...otherProps}\n checked={!isUndefinedOrNull(value) && checkedValue === value}\n onChange={onChangeHandle}\n />\n );\n};\n"],"names":["SwitchWrapper","props","checkedValue","unCheckedValue","onChange","value","tooltipProps","tooltipTitle","serviceConfig","otherProps","_objectWithoutPropertiesLoose","_excluded","_useState","useState","loading","setLoading","onChangeHandle","_hooks","useCallbackRef","checked","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","tipTitle","_jsx","Tooltip","_extends","placement","title","children","Switch","isUndefinedOrNull"],"mappings":";mZAmCaA,EAAgB,SAAhBA,EAAiBC,GAC5B,IACEC,EAQED,EARFC,aACAC,EAOEF,EAPFE,eACAC,EAMEH,EANFG,SACAC,EAKEJ,EALFI,MACAC,EAIEL,EAJFK,aACAC,EAGEN,EAHFM,aACAC,EAEEP,EAFFO,cACGC,EAAUC,EACXT,EAAKU,GACT,IAAAC,EAA8BC,IAAvBC,EAAOF,EAAA,GAAEG,EAAUH,EAAA,GAC1B,IAAMI,EAAiBC,EAAMC,eAAe,SAAOC,GAAP,OAAA,IAAAC,QAAA,SAAAC,EAAAC,GAAA,IACpCC,EAAqDC,EAAAC,EAArDF,EAAcJ,EAAUjB,EAAeC,EAC7C,GAAIK,GAAa,MAAbA,EAAekB,UAAW,CAAA,IAAAC,EAjDlC,SAAAC,GAAA,OAAC,SAAAC,GAAD,IA0DQd,EAAW,OA1D4F,OAAOa,GAAUA,EAAME,KAAKC,KAAIF,EAAtI,CAAC,MAAAG,GAAW,OAAOV,EAAAU,EAAM,CAAgI,EAA/JC,KAAKF,OAALE,KAAKF,MAAR,IAAIG,EAAJ,WAAA,IAAI,OAAJC,EAAGL,KAAIC,KAAE,CAAC,MAAAC,GAAW,OAAOV,EAAAU,EAAM,GAA/BC,KAAKF,MAAR,IAAIK,EAAA,SAuDWC,GAvDf,SAwDaC,EAAQD,OAAMA,GAAAA,UAAAA,EAAAA,EAAOC,WAAW9B,UAAaiB,EAAbjB,EAAe8B,UAAO,UAAA,EAAtBb,EAAwBc,eAAgB,WAxDrF,OAAOZ,EAAAO,EAAAP,EAAE,CAAC,MAAAK,GAAW,OAAOL,EAAAL,EAAAK,CAAAK,EAAM,GAkD5B,IACEjB,EAAW,MACX,OAAAK,QAAAoB,QAAMhC,EAAckB,UAAUH,IAA9BkB,cAA0CC,GApDlD,IAqDQtC,GAAAA,MAAAA,EAAWmB,QACNe,EAAQK,SAAQnC,UAAagB,EAAbhB,EAAe8B,UAAfd,UAAAA,EAAAA,EAAwBmB,UAAW,WAtDhE,OAAOhB,EAAAO,EAAAP,EAAE,CAAC,MAAAK,GAAW,OAAOI,EAAAJ,EAAM,CAAC,EAAAI,EAuD5B,CAAC,MAAOC,GAAOD,EAAPC,EAET,CAGF,KAAO,CACLjC,GAAAA,MAAAA,EAAWmB,GAAa,OA7D9BY,EAAGL,KAAIC,KA8DH,CAAC,SAAAI,IAAA,OAAAd,GAAA,CAAA,KAGH,IAAIuB,EAEJ,UAAWrC,IAAiB,WAAY,CACtCqC,EAAWrC,EAAaF,EAC1B,KAAO,CACLuC,EAAWrC,CACb,CAEA,GAAIqC,EAAU,CACZ,OACEC,EAACC,EAAOC,EAAA,CAACC,UAAU,OAAU1C,EAAY,CAAE2C,MAAOL,EAASM,SACzDL,EAACM,EAAMJ,KACDtC,EAAU,CACdU,SAAUiC,EAAkB/C,IAAUH,IAAiBG,EACvDD,SAAUY,OAIlB,CAEA,OACE6B,EAACM,EAAMJ,EAAA,CACLjC,QAASA,GACLL,EAAU,CACdU,SAAUiC,EAAkB/C,IAAUH,IAAiBG,EACvDD,SAAUY,IAGhB"}
|
|
@@ -12,5 +12,5 @@ import './../tag-list-render/index.css';
|
|
|
12
12
|
import './../tag-list-select/index.css';
|
|
13
13
|
import './index.css';
|
|
14
14
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
15
|
-
import{isString as r}from"@dimjs/lang/cjs/is-string";import{isObject as e}from"@dimjs/lang/cjs/is-object";import{get as n}from"@dimjs/utils/cjs/get";import{isPlainObject as t}from"@dimjs/lang/cjs/is-plain-object";import{_ as i}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{isEmpty as o}from"@dimjs/lang/cjs/is-empty";import{isNumber as a,isUndefinedOrNull as l,getStrByteLen as u,cutString as s,flatbizDate as d,flatbizPrice as c}from"@flatbiz/utils";import{Tooltip as f,Space as m,Badge as p}from"antd";import{Fragment as v}from"react";import{ButtonOperate as j}from"../button-operate/index.js";import{TagListRender as g}from"../tag-list-render/index.js";import{jsx as h}from"react/jsx-runtime";import"@ant-design/icons/es/icons/MoreOutlined";import"@dimjs/lang/cjs/is-undefined";import"@dimjs/utils/cjs/class-names";import"@dimjs/lang/cjs/is-promise";import"@wove/react/cjs/hooks";import"../button-wrapper/index.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"../index-
|
|
15
|
+
import{isString as r}from"@dimjs/lang/cjs/is-string";import{isObject as e}from"@dimjs/lang/cjs/is-object";import{get as n}from"@dimjs/utils/cjs/get";import{isPlainObject as t}from"@dimjs/lang/cjs/is-plain-object";import{_ as i}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{isEmpty as o}from"@dimjs/lang/cjs/is-empty";import{isNumber as a,isUndefinedOrNull as l,getStrByteLen as u,cutString as s,flatbizDate as d,flatbizPrice as c}from"@flatbiz/utils";import{Tooltip as f,Space as m,Badge as p}from"antd";import{Fragment as v}from"react";import{ButtonOperate as j}from"../button-operate/index.js";import{TagListRender as g}from"../tag-list-render/index.js";import{jsx as h}from"react/jsx-runtime";import"@ant-design/icons/es/icons/MoreOutlined";import"@dimjs/lang/cjs/is-undefined";import"@dimjs/utils/cjs/class-names";import"@dimjs/lang/cjs/is-promise";import"@wove/react/cjs/hooks";import"../button-wrapper/index.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"../index-853b36e6.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"../fba-hooks/index.js";import"@dimjs/lang/cjs/is-array";import"../use-responsive-point-1e6d93d9.js";import"@dimjs/utils/cjs/uuid";import"@dimjs/utils/cjs/extend";import"../fba-utils/index.js";import"@dimjs/model";import"../dropdown-menu-wrapper/index.js";import"@ant-design/icons/es/icons/ExclamationCircleFilled";import"../dialog-confirm/index.js";import"../dialog-modal/index.js";import"ahooks";import"react-dom/client";import"../flex-layout/index.js";import"@wove/react/cjs/create-ctx";var x=function r(e,n){return function(r){if(o(r)||r==="")return n;if(a(r))return r;var t=r.toString();var i=l(e)?10:e;var d=u(t);if(d<=i*2){return t}return h(f,{placement:"topLeft",title:t,children:s(t,i*2)})}};var C=function r(e){return function(r,n,t){var o=e(n,t);return h(j,i({},o))}};var w=function r(e,n){return function(r){if(o(r)||r==="")return n;try{return d.format(new Date(r),e)}catch(e){return r||n}}};var b=function r(e,n){return function(r,t,i){if(n&&e){return(e-1)*n+i+1}return i+1}};var y=function r(e){return function(r,n,t){var i=(e==null?void 0:e())||{},o=i.pageNo,a=i.pageSize;if(a&&o){return(o-1)*a+t+1}return t+1}};var k=function r(e,n,t){return function(r){if(l(r))return null;return h(g,i({dataList:e,colorMap:n,value:r,forceMatch:false,noColorShowTag:false},t))}};var N=function r(i,o){return function(r){if(t(r)){var a=n(r,i,o);if(!a)return"";if(e(a))return JSON.stringify(a);return a}return r||o}};var V=function r(e){var n=e!=null&&e.hideBgColor?"":"table-fen-color";return function(r){if(l(r)||r===""){if(l(e==null?void 0:e.defaultValue))return undefined;if(a(e==null?void 0:e.defaultValue)){return h("span",{className:n,children:c.format(e==null?void 0:e.defaultValue)})}return h("span",{className:n,children:e==null?void 0:e.defaultValue})}if(!a(r))return r;var t=c.fen2yuan(r);return h("span",{className:n,children:c.format(t,e==null?void 0:e.defaultValue,{separator:(e==null?void 0:e.separator)||false})})}};var S=function r(e){var n=(e==null?void 0:e.showBgColor)===true?"table-wan-color":"";return function(r){if(l(r)||r===""){if(l(e==null?void 0:e.defaultValue))return undefined;if(a(e==null?void 0:e.defaultValue)){return h("span",{className:n,children:c.format(e==null?void 0:e.defaultValue)})}return h("span",{className:n,children:e==null?void 0:e.defaultValue})}if(!a(r))return r;var t=c.fen2wan(r);var i=e!=null&&e.removeTailZero?c.removeTailZero(t,e==null?void 0:e.defaultValue,{separator:(e==null?void 0:e.separator)||false}):c.format(t,e==null?void 0:e.defaultValue,{separator:(e==null?void 0:e.separator)||false});return h("span",{className:n,children:i})}};var O=function e(n){return function(e,t){var i=n==null?void 0:n(t);if(!i)return h(v,{children:e});var o=l(i.showData)?true:i.showData;var a=l(i.notOverflowShowExtra)?true:i.notOverflowShowExtra;var u=l(i.showMaxNumber)?10:i.showMaxNumber;var d=i.extraPosition?i.extraPosition:"after";var c=r(e)?s(e,u*2):e;if(i.extra&&o){if(c===e&&!a){return e}var f=[h("span",{children:c},"1"),h(v,{children:i.extra},"2")];var p=d==="before"?f.reverse():f;return h(m,{onClick:i.onClick,style:{cursor:i.onClick?"pointer":undefined},size:5,children:p.map(function(r,e){return h(v,{children:r},e)})})}return h("span",{onClick:i.onClick,children:i.extra})}};var z=function r(e,n){return function(r){if(l(r))return null;var t=e.find(function(e){return e.value===r});if(t)return h(p,{color:(t==null?void 0:t.color)||(n==null?void 0:n[r])||"rgba(0, 0, 0, 0.25)",text:t==null?void 0:t.label});return r}};var M=function r(e,n){return function(r,t){if(l(r))return n;return h("a",{onClick:e.bind(null,t),children:r})}};var D={extraContentRender:O,indexCell:b,serialNumberCell:y,dateCell:w,operateCell:C,tooltipCell:x,selectorCell:k,objectCell:N,fen2yuanCell:V,fen2wanCell:S,badgeCell:z,clickCell:M};export{D as tableCellRender};
|
|
16
16
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/table-cell-render/cell-render.tsx"],"sourcesContent":["import { isEmpty, isObject, isPlainObject, isString } from '@dimjs/lang';\nimport { get } from '@dimjs/utils';\nimport {\n cutString,\n DateFormatType,\n flatbizDate,\n flatbizPrice,\n getStrByteLen,\n isNumber,\n isUndefinedOrNull,\n TAny,\n TPlainObject,\n} from '@flatbiz/utils';\nimport { Badge, Space, Tooltip } from 'antd';\nimport { Fragment, ReactElement } from 'react';\nimport { ButtonOperate, ButtonOperateProps } from '../button-operate';\nimport { TagListRender } from '../tag-list-render';\nimport { TagListSelectProps, TagListSelectValue } from '../tag-list-select';\nimport './style.less';\n\nconst tableColumnTooltipRender = (showMaxNumber?: number, defaultValue?: string) => {\n return (value: string | number) => {\n if (isEmpty(value) || value === '') return defaultValue;\n if (isNumber(value)) return value;\n const colunmText = value.toString();\n const maxNumber = (isUndefinedOrNull(showMaxNumber) ? 10 : showMaxNumber) as number;\n const strByteLen = getStrByteLen(colunmText);\n if (strByteLen <= maxNumber * 2) {\n return colunmText;\n }\n return (\n <Tooltip placement=\"topLeft\" title={colunmText}>\n {cutString(colunmText, maxNumber * 2)}\n </Tooltip>\n );\n };\n};\n\nconst tableColumnOperateRender = (options: (item: TAny, index: number) => ButtonOperateProps) => {\n return (_value: string | number, record, index: number) => {\n const operateProps = options(record, index);\n return <ButtonOperate {...operateProps} />;\n };\n};\n\nconst tableColumnDateRender = (dateFormatType?: DateFormatType, defaultValue?: string) => {\n return (value: string | number) => {\n if (isEmpty(value) || value === '') return defaultValue;\n try {\n return flatbizDate.format(new Date(value), dateFormatType);\n } catch (error) {\n return value || defaultValue;\n }\n };\n};\n\n/**\n * table 索引展示,如果存在pageSize、pageNo参数可分页展示索引,否则每页都从1开始\n * @param pageSize\n * @param pageNo\n * @returns\n */\nconst tableColumnIndexRender = (pageNo?: number, pageSize?: number) => {\n return (_value, _record, index: number) => {\n if (pageSize && pageNo) {\n return (pageNo - 1) * pageSize + index + 1;\n }\n return index + 1;\n };\n};\nconst tableColumnIndexRender2 = (method?: () => { pageNo?: number; pageSize?: number }) => {\n return (_value, _record, index: number) => {\n const { pageNo, pageSize } = method?.() || {};\n if (pageSize && pageNo) {\n return (pageNo - 1) * pageSize + index + 1;\n }\n return index + 1;\n };\n};\n\nconst tableColumnSelectorRender = (\n selectorList: TagListSelectProps['dataList'],\n colorMap?: TagListSelectProps['colorMap'],\n options?: {\n /** 最大显示Tag数量,超出折叠隐藏 */\n maxShowCount?: number;\n /** 触发maxShowCount后,被折叠的内容是否显示完整tag,默认值:false */\n foldShowAllTag?: boolean;\n },\n) => {\n return (value?: TAny) => {\n if (isUndefinedOrNull(value)) return null;\n return (\n <TagListRender\n dataList={selectorList}\n colorMap={colorMap}\n value={value}\n forceMatch={false}\n noColorShowTag={false}\n {...options}\n />\n );\n };\n};\n\nconst tableColumnObjectRender = (key: string, defaultValue?: string) => {\n return (value?: TPlainObject) => {\n if (isPlainObject(value)) {\n const target = get(value, key, defaultValue);\n if (!target) return '';\n if (isObject(target)) return JSON.stringify(target);\n return target;\n }\n return value || defaultValue;\n };\n};\n\nconst tableColumnFen2yuanCellRender = (options?: {\n /** 是否显示分隔符,默认值:false */\n separator?: boolean;\n defaultValue?: string | number;\n /** 隐藏背景颜色 */\n hideBgColor?: boolean;\n}) => {\n const className = options?.hideBgColor ? '' : 'table-fen-color';\n return (value?: string | number) => {\n if (isUndefinedOrNull(value) || value === '') {\n if (isUndefinedOrNull(options?.defaultValue)) return undefined;\n if (isNumber(options?.defaultValue as string | number)) {\n return <span className={className}>{flatbizPrice.format(options?.defaultValue)}</span>;\n }\n return <span className={className}>{options?.defaultValue}</span>;\n }\n if (!isNumber(value as number | string)) return value;\n const amount = flatbizPrice.fen2yuan(value);\n return (\n <span className={className}>\n {flatbizPrice.format(amount, options?.defaultValue, { separator: options?.separator || false })}\n </span>\n );\n };\n};\n\nconst tableColumnFen2wanCellRender = (options?: {\n /** 是否显示分隔符,默认值:false */\n separator?: boolean;\n defaultValue?: string | number;\n /** 隐藏背景颜色,默认:false */\n showBgColor?: boolean;\n /** 移除小数点后末尾零 */\n removeTailZero?: boolean;\n}) => {\n const className = options?.showBgColor === true ? 'table-wan-color' : '';\n return (value?: string | number) => {\n if (isUndefinedOrNull(value) || value === '') {\n if (isUndefinedOrNull(options?.defaultValue)) return undefined;\n if (isNumber(options?.defaultValue as string | number)) {\n return <span className={className}>{flatbizPrice.format(options?.defaultValue)}</span>;\n }\n return <span className={className}>{options?.defaultValue}</span>;\n }\n if (!isNumber(value as number | string)) return value;\n const amount = flatbizPrice.fen2wan(value);\n const amountNew = options?.removeTailZero\n ? flatbizPrice.removeTailZero(amount, options?.defaultValue, {\n separator: options?.separator || false,\n })\n : flatbizPrice.format(amount, options?.defaultValue, { separator: options?.separator || false });\n return <span className={className}>{amountNew}</span>;\n };\n};\n\ntype TableColumnIconRenderProps = {\n /** 额外内容,一般为Icon */\n extra: ReactElement;\n extraPosition?: 'before' | 'after';\n onClick?: (e) => void;\n /** 是否显示原单元格数据,默认值:true */\n showData?: boolean;\n /** 溢出显示【...】, 最大长度(默认:20个字节) */\n showMaxNumber?: number;\n /** 未溢出显示【extra】配置,默认值:true */\n notOverflowShowExtra?: boolean;\n};\n\nconst tableColumnExtraContentRender = (handle: (item: TPlainObject) => TableColumnIconRenderProps) => {\n return (value: TAny, item: TPlainObject) => {\n const options = handle?.(item);\n if (!options) return <Fragment>{value}</Fragment>;\n const showData = isUndefinedOrNull(options.showData) ? true : options.showData;\n const notOverflowShowExtra = isUndefinedOrNull(options.notOverflowShowExtra)\n ? true\n : options.notOverflowShowExtra;\n const showMaxNumber = isUndefinedOrNull(options.showMaxNumber) ? 10 : (options.showMaxNumber as number);\n const extraPosition = options.extraPosition ? options.extraPosition : 'after';\n const renderValue = isString(value) ? cutString(value, showMaxNumber * 2) : value;\n\n if (options.extra && showData) {\n if (renderValue === value && !notOverflowShowExtra) {\n return value;\n }\n const spaceContent = [<span key=\"1\">{renderValue}</span>, <Fragment key=\"2\">{options.extra}</Fragment>];\n const spaceContentRender = extraPosition === 'before' ? spaceContent.reverse() : spaceContent;\n return (\n <Space onClick={options.onClick} style={{ cursor: options.onClick ? 'pointer' : undefined }} size={5}>\n {spaceContentRender.map((item, index) => {\n return <Fragment key={index}>{item}</Fragment>;\n })}\n </Space>\n );\n }\n return <span onClick={options.onClick}>{options.extra}</span>;\n };\n};\n\nconst tableColumnBadgeRender = (\n selectorList: { label: string; value: TagListSelectValue; color?: string }[],\n colorMap?: Record<string | string, string>,\n) => {\n return (value?: TAny) => {\n if (isUndefinedOrNull(value)) return null;\n const target = selectorList.find((item) => item.value === value);\n if (target)\n return (\n <Badge color={target?.color || colorMap?.[value] || 'rgba(0, 0, 0, 0.25)'} text={target?.label} />\n );\n return value;\n };\n};\n\nconst tableColumnClickRender = (onClick: (record: TPlainObject, e) => void, defaultValue?: string) => {\n return (value: TAny, record: TPlainObject) => {\n if (isUndefinedOrNull(value)) return defaultValue;\n return <a onClick={onClick.bind(null, record)}>{value}</a>;\n };\n};\n\nexport const tableCellRender = {\n /**\n * 表格单元格 拼接额外内容渲染\n * ```\n * 1. extra 额外内容\n * 2. showData 是否显示原单元格数据,默认值:true\n * 3. showMaxNumber 显示最大长度,作用于原单元格字符串数据\n *\n *\n * 结合table column render 使用\n * # 在单元格渲染文字右侧添加图标\n * render: tableCellRender.extraContentRender(() => {\n * return {\n * extra: <FullscreenOutlined />,\n * onClick: () => { ... },\n * };\n * }),\n * ```\n */\n extraContentRender: tableColumnExtraContentRender,\n /**\n * table 索引展示,如果存在pageSize、pageNo参数可分页展示索引,否则每页都从1开始\n * @deprecated 已过时 4.3.0版本移除,请使用 serialNumberCell\n */\n indexCell: tableColumnIndexRender,\n /**\n * table 序号展示,如果存在pageSize、pageNo参数可分页展示累加序号,否则每页都从1开始\n * ```\n * render: tableCellRender.serialNumberCell(() => {\n * return { pageNo,pageSize };\n * }),\n * ```\n */\n serialNumberCell: tableColumnIndexRender2,\n /**\n * 表格日期格式数据渲染,默认格式:YYYY-MM-DD\n * ```\n * 独立使用\n * tableCellRender.dateCell('YYYY-MM-DD hh:mm:ss')(value)\n *\n * 结合table column render 使用\n * render: tableCellRender.dateCell('YYYY-MM-DD hh:mm:ss')\n * render: (value) => {\n * return tableCellRender.dateCell('YYYY-MM-DD')(value);\n * }\n * ```\n */\n dateCell: tableColumnDateRender,\n /**\n * table操作栏目渲染\n * ```\n * 使用方式\n * tableCellRender.operateCell((item) => ({\n * operateList: [\n * {\n * text: '编辑',\n * onClick: onItemOperate.bind(null, 'update', item),\n * },\n * {\n * text: '删除',\n * needConfirm: true,\n * confirmMessage: '确定要删除吗?',\n * onClick: onItemOperate.bind(null, 'delete', item),\n * },\n * ],\n * }))\n * ```\n */\n operateCell: tableColumnOperateRender,\n /**\n * 实现字段超出隐藏,默认长度10个字符\n * @deprecated 已过期,请使用 TextOverflow 组件实现\n * ```\n * 1. showMaxNumber: 显示最大长度\n * 2. 会讲字符转出字节进行计算显示\n * ```\n */\n tooltipCell: tableColumnTooltipRender,\n /**\n * Tag格式数据渲染,可结合枚举定义数据\n * ```\n * 独立使用\n * tableCellRender.selectorCell([{ label: '已开启', value: 1 }])(value)\n * tableCellRender.selectorCell([{ label: '已开启', value: 1, color: '#108ee9' }])(value)\n * tableCellRender.selectorCell([{ label: '已开启', value: 1 }], { 1: '#108ee9' })(value)\n * tableCellRender.selectorCell(taskTypeEnumList)(value);\n *\n *\n * 结合table column render 使用\n * render: tableCellRender.selectorCell(taskTypeEnumList);\n * render: tableCellRender.selectorCell([{ label: '已开启', value: 1 ]);\n * render: (value) => {\n * return tableCellRender.selectorCell([{ label: '已开启', value: 1 ])(value);\n * }\n *\n * 其中value值可以是单个值或者数组;例如:'1' 或者 ['1', '2']\n * ```\n */\n selectorCell: tableColumnSelectorRender,\n /**\n * 单元格对象数据处理,支持多级处理\n * ```\n * tableCellRender.objectCell('a.b.c')\n * ```\n */\n objectCell: tableColumnObjectRender,\n /**\n * 分金额展示,入参分,显示元(默认添加千分位)\n * ```\n * 可配置\n * 1. separator:是否显示千分位分隔符,默认值:false\n * 2. defaultValue:当值为空默认展示\n * 3. hideBgColor:隐藏背景颜色\n *\n * 例如:\n * fen2yuanCell()(100090) => 1000.90\n * fen2yuanCell({separator: true})(100090) => 1,000.90\n * fen2yuanCell()('abc') => abc\n * fen2yuanCell({defaultValue: '--'})('') => --\n * fen2yuanCell()('') => undefined\n * fen2yuanCell({ defaultValue: 0 })('') => 0.00\n * ```\n */\n fen2yuanCell: tableColumnFen2yuanCellRender,\n /**\n * 分金额展示,入参分,显示万元(默认添加千分位)\n * ```\n * 可配置\n * 1. separator:是否显示千分位分隔符,默认值:false\n * 2. defaultValue:当值为空默认展示\n * 3. showBgColor:隐藏背景颜色\n * 4. removeTailZero:移除小数点后末尾零\n *\n * 例如:\n * fen2yuanCell()(1000900000) => 1000.90\n * fen2yuanCell({separator: true})(1000900000) => 1,000.90\n * fen2yuanCell()('abc') => abc\n * fen2yuanCell({defaultValue: '--'})('') => --\n * fen2yuanCell()('') => undefined\n * fen2yuanCell({ defaultValue: 0 })('') => 0.00\n * ```\n */\n fen2wanCell: tableColumnFen2wanCellRender,\n /**\n * 单元格徽标展示数据\n * ```\n * 1. badge 默认颜色:灰色rgba(0, 0, 0, 0.25)\n *\n * 独立使用\n * tableCellRender.badgeCell([{ label: '已开启', value: 1 ])(value)\n * tableCellRender.badgeCell([{ label: '已开启', value: 1, color: '#108ee9' }])(value)\n * tableCellRender.badgeCell([{ label: '已开启', value: 1 }], { 1: '#108ee9' })(value)\n *\n * 结合table column render 使用\n * render: tableCellRender.badgeCell([{ label: '已开启', value: 1 ])\n * render: (value) => {\n * return tableCellRender.badgeCell([{ label: '已开启', value: 1 ])(value)\n * }\n * ```\n */\n badgeCell: tableColumnBadgeRender,\n /**\n * 单元格点击事件\n * ```\n * 独立使用\n * tableCellRender.clickCell(onClick)(value, record)\n *\n * 结合table column render 使用\n * render: tableCellRender.clickCell(onClick)\n * render: (value, record) => {\n * return tableCellRender.clickCell(onClick)(value, record)\n * }\n * ```\n */\n clickCell: tableColumnClickRender,\n};\n"],"names":["tableColumnTooltipRender","showMaxNumber","defaultValue","value","_isEmpty","isNumber","colunmText","toString","maxNumber","isUndefinedOrNull","strByteLen","getStrByteLen","_jsx","Tooltip","placement","title","children","cutString","tableColumnOperateRender","options","_value","record","index","operateProps","ButtonOperate","_extends","tableColumnDateRender","dateFormatType","flatbizDate","format","Date","error","tableColumnIndexRender","pageNo","pageSize","_record","tableColumnIndexRender2","method","_ref","tableColumnSelectorRender","selectorList","colorMap","TagListRender","dataList","forceMatch","noColorShowTag","tableColumnObjectRender","key","_isPlainObject","target","_get","_isObject","JSON","stringify","tableColumnFen2yuanCellRender","className","hideBgColor","undefined","flatbizPrice","amount","fen2yuan","separator","tableColumnFen2wanCellRender","showBgColor","fen2wan","amountNew","removeTailZero","tableColumnExtraContentRender","handle","item","Fragment","showData","notOverflowShowExtra","extraPosition","renderValue","_isString","extra","spaceContent","spaceContentRender","reverse","Space","onClick","style","cursor","size","map","tableColumnBadgeRender","find","Badge","color","text","label","tableColumnClickRender","bind","tableCellRender","extraContentRender","indexCell","serialNumberCell","dateCell","operateCell","tooltipCell","selectorCell","objectCell","fen2yuanCell","fen2wanCell","badgeCell","clickCell"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/table-cell-render/cell-render.tsx"],"sourcesContent":["import { isEmpty, isObject, isPlainObject, isString } from '@dimjs/lang';\nimport { get } from '@dimjs/utils';\nimport {\n cutString,\n DateFormatType,\n flatbizDate,\n flatbizPrice,\n getStrByteLen,\n isNumber,\n isUndefinedOrNull,\n TAny,\n TPlainObject,\n} from '@flatbiz/utils';\nimport { Badge, Space, Tooltip } from 'antd';\nimport { Fragment, ReactElement } from 'react';\nimport { ButtonOperate, ButtonOperateProps } from '../button-operate';\nimport { TagListRender } from '../tag-list-render';\nimport { TagListSelectProps, TagListSelectValue } from '../tag-list-select';\nimport './style.less';\n\nconst tableColumnTooltipRender = (showMaxNumber?: number, defaultValue?: string) => {\n return (value: string | number) => {\n if (isEmpty(value) || value === '') return defaultValue;\n if (isNumber(value)) return value;\n const colunmText = value.toString();\n const maxNumber = (isUndefinedOrNull(showMaxNumber) ? 10 : showMaxNumber) as number;\n const strByteLen = getStrByteLen(colunmText);\n if (strByteLen <= maxNumber * 2) {\n return colunmText;\n }\n return (\n <Tooltip placement=\"topLeft\" title={colunmText}>\n {cutString(colunmText, maxNumber * 2)}\n </Tooltip>\n );\n };\n};\n\nconst tableColumnOperateRender = (options: (item: TAny, index: number) => ButtonOperateProps) => {\n return (_value: string | number, record, index: number) => {\n const operateProps = options(record, index);\n return <ButtonOperate {...operateProps} />;\n };\n};\n\nconst tableColumnDateRender = (dateFormatType?: DateFormatType, defaultValue?: string) => {\n return (value: string | number) => {\n if (isEmpty(value) || value === '') return defaultValue;\n try {\n return flatbizDate.format(new Date(value), dateFormatType);\n } catch (error) {\n return value || defaultValue;\n }\n };\n};\n\n/**\n * table 索引展示,如果存在pageSize、pageNo参数可分页展示索引,否则每页都从1开始\n * @param pageSize\n * @param pageNo\n * @returns\n */\nconst tableColumnIndexRender = (pageNo?: number, pageSize?: number) => {\n return (_value, _record, index: number) => {\n if (pageSize && pageNo) {\n return (pageNo - 1) * pageSize + index + 1;\n }\n return index + 1;\n };\n};\nconst tableColumnIndexRender2 = (method?: () => { pageNo?: number; pageSize?: number }) => {\n return (_value, _record, index: number) => {\n const { pageNo, pageSize } = method?.() || {};\n if (pageSize && pageNo) {\n return (pageNo - 1) * pageSize + index + 1;\n }\n return index + 1;\n };\n};\n\nconst tableColumnSelectorRender = (\n selectorList: TagListSelectProps['dataList'],\n colorMap?: TagListSelectProps['colorMap'],\n options?: {\n /** 最大显示Tag数量,超出折叠隐藏 */\n maxShowCount?: number;\n /** 触发maxShowCount后,被折叠的内容是否显示完整tag,默认值:false */\n foldShowAllTag?: boolean;\n },\n) => {\n return (value?: TAny) => {\n if (isUndefinedOrNull(value)) return null;\n return (\n <TagListRender\n dataList={selectorList}\n colorMap={colorMap}\n value={value}\n forceMatch={false}\n noColorShowTag={false}\n {...options}\n />\n );\n };\n};\n\nconst tableColumnObjectRender = (key: string, defaultValue?: string) => {\n return (value?: TPlainObject) => {\n if (isPlainObject(value)) {\n const target = get(value, key, defaultValue);\n if (!target) return '';\n if (isObject(target)) return JSON.stringify(target);\n return target;\n }\n return value || defaultValue;\n };\n};\n\nconst tableColumnFen2yuanCellRender = (options?: {\n /** 是否显示分隔符,默认值:false */\n separator?: boolean;\n defaultValue?: string | number;\n /** 隐藏背景颜色 */\n hideBgColor?: boolean;\n}) => {\n const className = options?.hideBgColor ? '' : 'table-fen-color';\n return (value?: string | number) => {\n if (isUndefinedOrNull(value) || value === '') {\n if (isUndefinedOrNull(options?.defaultValue)) return undefined;\n if (isNumber(options?.defaultValue as string | number)) {\n return <span className={className}>{flatbizPrice.format(options?.defaultValue)}</span>;\n }\n return <span className={className}>{options?.defaultValue}</span>;\n }\n if (!isNumber(value as number | string)) return value;\n const amount = flatbizPrice.fen2yuan(value);\n return (\n <span className={className}>\n {flatbizPrice.format(amount, options?.defaultValue, { separator: options?.separator || false })}\n </span>\n );\n };\n};\n\nconst tableColumnFen2wanCellRender = (options?: {\n /** 是否显示分隔符,默认值:false */\n separator?: boolean;\n defaultValue?: string | number;\n /** 隐藏背景颜色,默认:false */\n showBgColor?: boolean;\n /** 移除小数点后末尾零 */\n removeTailZero?: boolean;\n}) => {\n const className = options?.showBgColor === true ? 'table-wan-color' : '';\n return (value?: string | number) => {\n if (isUndefinedOrNull(value) || value === '') {\n if (isUndefinedOrNull(options?.defaultValue)) return undefined;\n if (isNumber(options?.defaultValue as string | number)) {\n return <span className={className}>{flatbizPrice.format(options?.defaultValue)}</span>;\n }\n return <span className={className}>{options?.defaultValue}</span>;\n }\n if (!isNumber(value as number | string)) return value;\n const amount = flatbizPrice.fen2wan(value);\n const amountNew = options?.removeTailZero\n ? flatbizPrice.removeTailZero(amount, options?.defaultValue, {\n separator: options?.separator || false,\n })\n : flatbizPrice.format(amount, options?.defaultValue, { separator: options?.separator || false });\n return <span className={className}>{amountNew}</span>;\n };\n};\n\ntype TableColumnIconRenderProps = {\n /** 额外内容,一般为Icon */\n extra: ReactElement;\n extraPosition?: 'before' | 'after';\n onClick?: (e) => void;\n /** 是否显示原单元格数据,默认值:true */\n showData?: boolean;\n /** 溢出显示【...】, 最大长度(默认:20个字节) */\n showMaxNumber?: number;\n /** 未溢出显示【extra】配置,默认值:true */\n notOverflowShowExtra?: boolean;\n};\n\nconst tableColumnExtraContentRender = (handle: (item: TPlainObject) => TableColumnIconRenderProps) => {\n return (value: TAny, item: TPlainObject) => {\n const options = handle?.(item);\n if (!options) return <Fragment>{value}</Fragment>;\n const showData = isUndefinedOrNull(options.showData) ? true : options.showData;\n const notOverflowShowExtra = isUndefinedOrNull(options.notOverflowShowExtra)\n ? true\n : options.notOverflowShowExtra;\n const showMaxNumber = isUndefinedOrNull(options.showMaxNumber) ? 10 : (options.showMaxNumber as number);\n const extraPosition = options.extraPosition ? options.extraPosition : 'after';\n const renderValue = isString(value) ? cutString(value, showMaxNumber * 2) : value;\n\n if (options.extra && showData) {\n if (renderValue === value && !notOverflowShowExtra) {\n return value;\n }\n const spaceContent = [<span key=\"1\">{renderValue}</span>, <Fragment key=\"2\">{options.extra}</Fragment>];\n const spaceContentRender = extraPosition === 'before' ? spaceContent.reverse() : spaceContent;\n return (\n <Space onClick={options.onClick} style={{ cursor: options.onClick ? 'pointer' : undefined }} size={5}>\n {spaceContentRender.map((item, index) => {\n return <Fragment key={index}>{item}</Fragment>;\n })}\n </Space>\n );\n }\n return <span onClick={options.onClick}>{options.extra}</span>;\n };\n};\n\nconst tableColumnBadgeRender = (\n selectorList: { label: string; value: TagListSelectValue; color?: string }[],\n colorMap?: Record<string | string, string>,\n) => {\n return (value?: TAny) => {\n if (isUndefinedOrNull(value)) return null;\n const target = selectorList.find((item) => item.value === value);\n if (target)\n return (\n <Badge color={target?.color || colorMap?.[value] || 'rgba(0, 0, 0, 0.25)'} text={target?.label} />\n );\n return value;\n };\n};\n\nconst tableColumnClickRender = (onClick: (record: TPlainObject, e) => void, defaultValue?: string) => {\n return (value: TAny, record: TPlainObject) => {\n if (isUndefinedOrNull(value)) return defaultValue;\n return <a onClick={onClick.bind(null, record)}>{value}</a>;\n };\n};\n\nexport const tableCellRender = {\n /**\n * 表格单元格 拼接额外内容渲染\n * ```\n * 1. extra 额外内容\n * 2. showData 是否显示原单元格数据,默认值:true\n * 3. showMaxNumber 显示最大长度,作用于原单元格字符串数据\n *\n *\n * 结合table column render 使用\n * # 在单元格渲染文字右侧添加图标\n * render: tableCellRender.extraContentRender(() => {\n * return {\n * extra: <FullscreenOutlined />,\n * onClick: () => { ... },\n * };\n * }),\n * ```\n */\n extraContentRender: tableColumnExtraContentRender,\n /**\n * table 索引展示,如果存在pageSize、pageNo参数可分页展示索引,否则每页都从1开始\n * @deprecated 已过时 4.3.0版本移除,请使用 serialNumberCell\n */\n indexCell: tableColumnIndexRender,\n /**\n * table 序号展示,如果存在pageSize、pageNo参数可分页展示累加序号,否则每页都从1开始\n * ```\n * render: tableCellRender.serialNumberCell(() => {\n * return {\n * pageNo: easyTableApi.getRequestParams().pageNo,\n * pageSize: easyTableApi.getRequestParams().pageSize,\n * }\n * }),\n * 参考:\n * https://gitlab.itcjf.com/flatjs/flat-os/flat-oss-demo/blob/master/src/modules/crud/demo1/home/table.tsx\n * ```\n */\n serialNumberCell: tableColumnIndexRender2,\n /**\n * 表格日期格式数据渲染,默认格式:YYYY-MM-DD\n * ```\n * 独立使用\n * tableCellRender.dateCell('YYYY-MM-DD hh:mm:ss')(value)\n *\n * 结合table column render 使用\n * render: tableCellRender.dateCell('YYYY-MM-DD hh:mm:ss')\n * render: (value) => {\n * return tableCellRender.dateCell('YYYY-MM-DD')(value);\n * }\n * ```\n */\n dateCell: tableColumnDateRender,\n /**\n * table操作栏目渲染\n * ```\n * 使用方式\n * tableCellRender.operateCell((item) => ({\n * operateList: [\n * {\n * text: '编辑',\n * onClick: onItemOperate.bind(null, 'update', item),\n * },\n * {\n * text: '删除',\n * needConfirm: true,\n * confirmMessage: '确定要删除吗?',\n * onClick: onItemOperate.bind(null, 'delete', item),\n * },\n * ],\n * }))\n * ```\n */\n operateCell: tableColumnOperateRender,\n /**\n * 实现字段超出隐藏,默认长度10个字符\n * @deprecated 已过期,请使用 TextOverflow 组件实现\n * ```\n * 1. showMaxNumber: 显示最大长度\n * 2. 会讲字符转出字节进行计算显示\n * ```\n */\n tooltipCell: tableColumnTooltipRender,\n /**\n * Tag格式数据渲染,可结合枚举定义数据\n * ```\n * 独立使用\n * tableCellRender.selectorCell([{ label: '已开启', value: 1 }])(value)\n * tableCellRender.selectorCell([{ label: '已开启', value: 1, color: '#108ee9' }])(value)\n * tableCellRender.selectorCell([{ label: '已开启', value: 1 }], { 1: '#108ee9' })(value)\n * tableCellRender.selectorCell(taskTypeEnumList)(value);\n *\n *\n * 结合table column render 使用\n * render: tableCellRender.selectorCell(taskTypeEnumList);\n * render: tableCellRender.selectorCell([{ label: '已开启', value: 1 ]);\n * render: (value) => {\n * return tableCellRender.selectorCell([{ label: '已开启', value: 1 ])(value);\n * }\n *\n * 其中value值可以是单个值或者数组;例如:'1' 或者 ['1', '2']\n * ```\n */\n selectorCell: tableColumnSelectorRender,\n /**\n * 单元格对象数据处理,支持多级处理\n * ```\n * tableCellRender.objectCell('a.b.c')\n * ```\n */\n objectCell: tableColumnObjectRender,\n /**\n * 分金额展示,入参分,显示元(默认添加千分位)\n * ```\n * 可配置\n * 1. separator:是否显示千分位分隔符,默认值:false\n * 2. defaultValue:当值为空默认展示\n * 3. hideBgColor:隐藏背景颜色\n *\n * 例如:\n * fen2yuanCell()(100090) => 1000.90\n * fen2yuanCell({separator: true})(100090) => 1,000.90\n * fen2yuanCell()('abc') => abc\n * fen2yuanCell({defaultValue: '--'})('') => --\n * fen2yuanCell()('') => undefined\n * fen2yuanCell({ defaultValue: 0 })('') => 0.00\n * ```\n */\n fen2yuanCell: tableColumnFen2yuanCellRender,\n /**\n * 分金额展示,入参分,显示万元(默认添加千分位)\n * ```\n * 可配置\n * 1. separator:是否显示千分位分隔符,默认值:false\n * 2. defaultValue:当值为空默认展示\n * 3. showBgColor:隐藏背景颜色\n * 4. removeTailZero:移除小数点后末尾零\n *\n * 例如:\n * fen2yuanCell()(1000900000) => 1000.90\n * fen2yuanCell({separator: true})(1000900000) => 1,000.90\n * fen2yuanCell()('abc') => abc\n * fen2yuanCell({defaultValue: '--'})('') => --\n * fen2yuanCell()('') => undefined\n * fen2yuanCell({ defaultValue: 0 })('') => 0.00\n * ```\n */\n fen2wanCell: tableColumnFen2wanCellRender,\n /**\n * 单元格徽标展示数据\n * ```\n * 1. badge 默认颜色:灰色rgba(0, 0, 0, 0.25)\n *\n * 独立使用\n * tableCellRender.badgeCell([{ label: '已开启', value: 1 ])(value)\n * tableCellRender.badgeCell([{ label: '已开启', value: 1, color: '#108ee9' }])(value)\n * tableCellRender.badgeCell([{ label: '已开启', value: 1 }], { 1: '#108ee9' })(value)\n *\n * 结合table column render 使用\n * render: tableCellRender.badgeCell([{ label: '已开启', value: 1 ])\n * render: (value) => {\n * return tableCellRender.badgeCell([{ label: '已开启', value: 1 ])(value)\n * }\n * ```\n */\n badgeCell: tableColumnBadgeRender,\n /**\n * 单元格点击事件\n * ```\n * 独立使用\n * tableCellRender.clickCell(onClick)(value, record)\n *\n * 结合table column render 使用\n * render: tableCellRender.clickCell(onClick)\n * render: (value, record) => {\n * return tableCellRender.clickCell(onClick)(value, record)\n * }\n * ```\n */\n clickCell: tableColumnClickRender,\n};\n"],"names":["tableColumnTooltipRender","showMaxNumber","defaultValue","value","_isEmpty","isNumber","colunmText","toString","maxNumber","isUndefinedOrNull","strByteLen","getStrByteLen","_jsx","Tooltip","placement","title","children","cutString","tableColumnOperateRender","options","_value","record","index","operateProps","ButtonOperate","_extends","tableColumnDateRender","dateFormatType","flatbizDate","format","Date","error","tableColumnIndexRender","pageNo","pageSize","_record","tableColumnIndexRender2","method","_ref","tableColumnSelectorRender","selectorList","colorMap","TagListRender","dataList","forceMatch","noColorShowTag","tableColumnObjectRender","key","_isPlainObject","target","_get","_isObject","JSON","stringify","tableColumnFen2yuanCellRender","className","hideBgColor","undefined","flatbizPrice","amount","fen2yuan","separator","tableColumnFen2wanCellRender","showBgColor","fen2wan","amountNew","removeTailZero","tableColumnExtraContentRender","handle","item","Fragment","showData","notOverflowShowExtra","extraPosition","renderValue","_isString","extra","spaceContent","spaceContentRender","reverse","Space","onClick","style","cursor","size","map","tableColumnBadgeRender","find","Badge","color","text","label","tableColumnClickRender","bind","tableCellRender","extraContentRender","indexCell","serialNumberCell","dateCell","operateCell","tooltipCell","selectorCell","objectCell","fen2yuanCell","fen2wanCell","badgeCell","clickCell"],"mappings":"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"}
|