@flatbiz/antd 4.5.55 → 4.5.57
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/ace-editor-groovy/index.js +1 -1
- package/esm/ace-editor-groovy/index.js.map +1 -1
- package/esm/ace-editor-java/index.js +1 -1
- package/esm/ace-editor-java/index.js.map +1 -1
- package/esm/ace-editor-json/index.js +1 -1
- package/esm/ace-editor-json/index.js.map +1 -1
- package/esm/ace-editor-mysql/index.js +1 -1
- package/esm/ace-editor-mysql/index.js.map +1 -1
- package/esm/ace-editor-xml/index.js +1 -1
- package/esm/ace-editor-xml/index.js.map +1 -1
- package/esm/anchor-steps/index.js +1 -1
- package/esm/anchor-steps/index.js.map +1 -1
- package/esm/bootstrap/index.js +1 -1
- package/esm/bootstrap/index.js.map +1 -1
- package/esm/box-grid/index.js +1 -1
- package/esm/box-grid/index.js.map +1 -1
- package/esm/button-operate/index.js +1 -1
- package/esm/button-operate/index.js.map +1 -1
- package/esm/button-wrapper/index.js +1 -1
- package/esm/button-wrapper/index.js.map +1 -1
- package/esm/card-layout/index.css +1 -1
- package/esm/card-layout/index.js +1 -1
- package/esm/card-layout/index.js.map +1 -1
- package/esm/cascader-wrapper/index.js +1 -1
- package/esm/cascader-wrapper/index.js.map +1 -1
- package/esm/check-list/index.js +1 -1
- package/esm/check-list/index.js.map +1 -1
- package/esm/checkbox-wrapper/index.js +1 -1
- package/esm/checkbox-wrapper/index.js.map +1 -1
- package/esm/code-render/index.css +1 -0
- package/esm/code-render/index.js +5 -0
- package/esm/code-render/index.js.map +1 -0
- package/esm/color-picker-wrapper/index.css +1 -1
- package/esm/color-picker-wrapper/index.js +1 -1
- package/esm/color-picker-wrapper/index.js.map +1 -1
- package/esm/config-provider-wrapper/index.js +1 -1
- package/esm/copy-wrapper/index.js +1 -1
- package/esm/copy-wrapper/index.js.map +1 -1
- package/esm/date-picker-wrapper/index.js +1 -1
- package/esm/date-picker-wrapper/index.js.map +1 -1
- package/esm/date-range-picker-wrapper/index.js +1 -1
- package/esm/date-range-picker-wrapper/index.js.map +1 -1
- package/esm/date-range-picker-wrapper-form-item/index.js +1 -1
- package/esm/date-range-picker-wrapper-form-item/index.js.map +1 -1
- package/esm/delete-node/index.js +1 -1
- package/esm/delete-node/index.js.map +1 -1
- package/esm/dialog-alert/index.js +1 -1
- package/esm/dialog-confirm/index.js +1 -1
- package/esm/dialog-drag-modal/index.js +1 -1
- package/esm/dialog-drag-modal/index.js.map +1 -1
- package/esm/dialog-drawer/index.js +1 -1
- package/esm/dialog-drawer/index.js.map +1 -1
- package/esm/dialog-drawer-content/index.js +1 -1
- package/esm/dialog-drawer-content/index.js.map +1 -1
- package/esm/dialog-loading/index.js +1 -1
- package/esm/dialog-loading/index.js.map +1 -1
- package/esm/dialog-modal/index.js +1 -1
- package/esm/dialog-modal/index.js.map +1 -1
- package/esm/dialog-preview-image/index.js +1 -1
- package/esm/dialog-preview-image/index.js.map +1 -1
- package/esm/drag-collapse/index.js +1 -1
- package/esm/drag-collapse/index.js.map +1 -1
- package/esm/drag-collapse-form-list/index.js +1 -1
- package/esm/drag-collapse-form-list/index.js.map +1 -1
- package/esm/drag-editable-card/index.js +1 -1
- package/esm/drag-editable-card/index.js.map +1 -1
- package/esm/drag-editable-table/index.js +1 -1
- package/esm/drag-editable-table/index.js.map +1 -1
- package/esm/drag-editable-table-pro/index.js +1 -1
- package/esm/drag-editable-table-pro/index.js.map +1 -1
- package/esm/drag-form-list/index.js +1 -1
- package/esm/drag-form-list/index.js.map +1 -1
- package/esm/drag-table/index.js +1 -1
- package/esm/drag-table/index.js.map +1 -1
- package/esm/drawer-wrapper/index.js +1 -1
- package/esm/drawer-wrapper/index.js.map +1 -1
- package/esm/dropdown-menu-wrapper/index.js +1 -1
- package/esm/dropdown-menu-wrapper/index.js.map +1 -1
- package/esm/easy-form/index.js +1 -1
- package/esm/easy-form/index.js.map +1 -1
- package/esm/easy-table/index.js +1 -1
- package/esm/easy-table/index.js.map +1 -1
- package/esm/editable-card/index.js +1 -1
- package/esm/editable-card/index.js.map +1 -1
- package/esm/editable-field/index.js +1 -1
- package/esm/editable-field/index.js.map +1 -1
- package/esm/editable-table/index.js +1 -1
- package/esm/editable-table/index.js.map +1 -1
- package/esm/editable-table-pro/index.js +1 -1
- package/esm/editable-table-pro/index.js.map +1 -1
- package/esm/editor-wrapper/index.js +1 -1
- package/esm/editor-wrapper/index.js.map +1 -1
- package/esm/fba-app/index.js +1 -1
- package/esm/fba-app/index.js.map +1 -1
- package/esm/fba-hooks/index.js +1 -1
- package/esm/fba-hooks/index.js.map +1 -1
- package/esm/fba-utils/index.js +1 -1
- package/esm/fba-utils/index.js.map +1 -1
- package/esm/file-export/index.js +1 -1
- package/esm/file-export/index.js.map +1 -1
- package/esm/file-import/index.js +1 -1
- package/esm/file-import/index.js.map +1 -1
- package/esm/file-select/index.js +1 -1
- package/esm/file-select/index.js.map +1 -1
- package/esm/flex-layout/index.js +1 -1
- package/esm/flex-layout/index.js.map +1 -1
- package/esm/form-grid/index.js +1 -1
- package/esm/form-grid/index.js.map +1 -1
- package/esm/form-item-group/index.js +1 -1
- package/esm/form-item-group/index.js.map +1 -1
- package/esm/form-item-text/index.js +1 -1
- package/esm/form-item-text/index.js.map +1 -1
- package/esm/form-item-wrapper/index.js +1 -1
- package/esm/form-item-wrapper/index.js.map +1 -1
- package/esm/form-list-wrapper/index.js +1 -1
- package/esm/form-list-wrapper/index.js.map +1 -1
- package/esm/form-wrapper/index.js +1 -1
- package/esm/form-wrapper/index.js.map +1 -1
- package/esm/full-screen/index.js +1 -1
- package/esm/full-screen/index.js.map +1 -1
- package/esm/icon-wrapper/index.js +1 -1
- package/esm/icon-wrapper/index.js.map +1 -1
- package/esm/{index-83bede1b.js → index-853b36e6.js} +2 -2
- package/esm/{index-83bede1b.js.map → index-853b36e6.js.map} +1 -1
- package/esm/index.js +2 -1
- package/esm/input-search-wrapper/index.js +1 -1
- package/esm/input-search-wrapper/index.js.map +1 -1
- package/esm/input-text-area-wrapper/index.js +1 -1
- package/esm/input-text-area-wrapper/index.js.map +1 -1
- package/esm/input-wrapper/index.js +1 -1
- package/esm/input-wrapper/index.js.map +1 -1
- package/esm/json-editor/index.js +1 -1
- package/esm/json-editor/index.js.map +1 -1
- package/esm/label-value-layout/index.js +1 -1
- package/esm/label-value-layout/index.js.map +1 -1
- package/esm/label-value-render/index.js +1 -1
- package/esm/label-value-render/index.js.map +1 -1
- package/esm/local-loading/index.js +1 -1
- package/esm/local-loading/index.js.map +1 -1
- package/esm/mention-editor/index.js +1 -1
- package/esm/mention-editor/index.js.map +1 -1
- package/esm/mentions-wrapper/index.js +1 -1
- package/esm/mentions-wrapper/index.js.map +1 -1
- package/esm/modal-action/index.js +1 -1
- package/esm/modal-action/index.js.map +1 -1
- package/esm/modal-wrapper/index.js +1 -1
- package/esm/modal-wrapper/index.js.map +1 -1
- package/esm/number-range-form-item/index.js +1 -1
- package/esm/number-range-form-item/index.js.map +1 -1
- package/esm/pdf/index.js +1 -1
- package/esm/pdf/index.js.map +1 -1
- package/esm/pdf-preview/index.js +1 -1
- package/esm/pdf-preview/index.js.map +1 -1
- package/esm/radio-group-wrapper/index.js +1 -1
- package/esm/radio-group-wrapper/index.js.map +1 -1
- package/esm/relation-tree/index.js +1 -1
- package/esm/relation-tree/index.js.map +1 -1
- package/esm/request-status/index.js +1 -1
- package/esm/request-status/index.js.map +1 -1
- package/esm/resizable-drawer/index.js +1 -1
- package/esm/resizable-drawer/index.js.map +1 -1
- package/esm/rich-text-editor/index.js +1 -1
- package/esm/rich-text-editor/index.js.map +1 -1
- package/esm/rich-text-viewer/index.js +1 -1
- package/esm/rich-text-viewer/index.js.map +1 -1
- package/esm/roll-location-center/index.js +1 -1
- package/esm/roll-location-center/index.js.map +1 -1
- package/esm/roll-location-in-view/index.js +1 -1
- package/esm/roll-location-in-view/index.js.map +1 -1
- package/esm/rule-describe/index.js +1 -1
- package/esm/rule-describe/index.js.map +1 -1
- package/esm/search-form/index.js +1 -1
- package/esm/search-form/index.js.map +1 -1
- package/esm/search-menu/index.js +1 -1
- package/esm/search-menu/index.js.map +1 -1
- package/esm/selector-wrapper/index.js +1 -1
- package/esm/selector-wrapper/index.js.map +1 -1
- package/esm/selector-wrapper-search/index.js +1 -1
- package/esm/selector-wrapper-search/index.js.map +1 -1
- package/esm/selector-wrapper-simple/index.js +1 -1
- package/esm/selector-wrapper-simple/index.js.map +1 -1
- package/esm/simple-layout/index.js +1 -1
- package/esm/simple-layout/index.js.map +1 -1
- package/esm/sms-count-down/index.js +1 -1
- package/esm/sms-count-down/index.js.map +1 -1
- package/esm/split-wrapper/index.js +1 -1
- package/esm/split-wrapper/index.js.map +1 -1
- package/esm/styles/index.css +1 -1
- package/esm/svg-http-view/index.js +1 -1
- package/esm/svg-http-view/index.js.map +1 -1
- package/esm/switch-confirm-wrapper/index.js +1 -1
- package/esm/switch-confirm-wrapper/index.js.map +1 -1
- package/esm/switch-wrapper/index.js +1 -1
- package/esm/switch-wrapper/index.js.map +1 -1
- package/esm/table-cell-render/index.js +1 -1
- package/esm/table-cell-render/index.js.map +1 -1
- package/esm/table-scrollbar/index.js +1 -1
- package/esm/table-scrollbar/index.js.map +1 -1
- package/esm/tabs-sticky/index.js +1 -1
- package/esm/tabs-sticky/index.js.map +1 -1
- package/esm/tabs-wrapper/index.js +1 -1
- package/esm/tabs-wrapper/index.js.map +1 -1
- package/esm/tag-group/index.js +1 -1
- package/esm/tag-group/index.js.map +1 -1
- package/esm/tag-list-render/index.js +1 -1
- package/esm/tag-list-render/index.js.map +1 -1
- package/esm/tag-list-select/index.js +1 -1
- package/esm/tag-list-select/index.js.map +1 -1
- package/esm/tag-wrapper/index.js +1 -1
- package/esm/tag-wrapper/index.js.map +1 -1
- package/esm/text-css-ellipsis/index.js +1 -1
- package/esm/text-css-ellipsis/index.js.map +1 -1
- package/esm/text-overflow/index.js +1 -1
- package/esm/text-overflow/index.js.map +1 -1
- package/esm/text-overflow-render/index.js +1 -1
- package/esm/text-symbol-wrapper/index.js +1 -1
- package/esm/text-symbol-wrapper/index.js.map +1 -1
- package/esm/time-ea73b2fb.js +3 -0
- package/esm/{time-53b3f55f.js.map → time-ea73b2fb.js.map} +1 -1
- package/esm/time-picker-wrapper/index.js +1 -1
- package/esm/time-picker-wrapper/index.js.map +1 -1
- package/esm/time-range-picker-wrapper/index.js +1 -1
- package/esm/time-range-picker-wrapper/index.js.map +1 -1
- package/esm/time-range-picker-wrapper-form-item/index.js +1 -1
- package/esm/time-range-picker-wrapper-form-item/index.js.map +1 -1
- package/esm/tree-modal/index.js +1 -1
- package/esm/tree-modal/index.js.map +1 -1
- package/esm/tree-modal-selector/index.js +1 -1
- package/esm/tree-modal-selector/index.js.map +1 -1
- package/esm/tree-selector-wrapper/index.js +1 -1
- package/esm/tree-selector-wrapper/index.js.map +1 -1
- package/esm/tree-wrapper/index.js +1 -1
- package/esm/tree-wrapper/index.js.map +1 -1
- package/esm/upload-wrapper/index.js +1 -1
- package/esm/upload-wrapper/index.js.map +1 -1
- package/esm/use-responsive-point-1e6d93d9.js +3 -0
- package/esm/{use-responsive-point-21b8c601.js.map → use-responsive-point-1e6d93d9.js.map} +1 -1
- package/esm/x-mind-preview/index.js +1 -1
- package/esm/x-mind-preview/index.js.map +1 -1
- package/index.d.ts +61 -4
- package/package.json +4 -5
- package/esm/time-53b3f55f.js +0 -3
- package/esm/use-responsive-point-21b8c601.js +0 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/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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"}
|
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
import './../fba-hooks/index.css';
|
|
3
3
|
import './index.css';
|
|
4
4
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
5
|
-
import{a as r,_ as t}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{get as e}from"@dimjs/utils/cjs/get";import{useCreation as n,useInViewport as o,useSize as i,useEventListener as l}from"ahooks";import{Affix as a}from"antd";import{cloneElement as u,useRef as c,useState as s,useEffect as f}from"react";import{fbaHooks as d}from"../fba-hooks/index.js";import{jsxs as v,Fragment as m,jsx as p}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-array";import"@wove/react/cjs/hooks";import"@flatbiz/utils";import"../use-responsive-point-
|
|
5
|
+
import{a as r,_ as t}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{get as e}from"@dimjs/utils/cjs/get";import{useCreation as n,useInViewport as o,useSize as i,useEventListener as l}from"ahooks";import{Affix as a}from"antd";import{cloneElement as u,useRef as c,useState as s,useEffect as f}from"react";import{fbaHooks as d}from"../fba-hooks/index.js";import{jsxs as v,Fragment as m,jsx as p}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-array";import"@wove/react/cjs/hooks";import"@flatbiz/utils";import"../use-responsive-point-1e6d93d9.js";import"@dimjs/utils/cjs/uuid";var h=["children","target"];var g=d.useEffectCustom;var y=function r(t){if(!t)return undefined;var e=getComputedStyle(t);if(e.overflowY==="scroll"||e.overflowY==="auto"){return t}return y(t.parentNode)};var b=function n(o){var i=o.children,l=o.target,a=r(o,h);var c=e(i,"props.summary");return u(i,t({},a,{summary:function r(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++){e[n]=arguments[n]}return v(m,{children:[c==null?void 0:c.apply(void 0,e),p(j,{target:l})]})}}))};var j=function r(t){var e=t.target;var u=c();var d=c();var v=s(false),m=v[0],h=v[1];var b=n(function(){var r;var t=function r(e){if(!e)return undefined;if(e.nodeName==="TABLE"){return e}return t(e.parentNode)};var e=t(u==null||(r=u.current)==null?void 0:r.parentElement);return{table:e,tableBox:e==null?void 0:e.parentElement}},[u.current]),j=b.table,w=b.tableBox;var x=o(j==null?void 0:j.querySelector("tbody")),L=x[0];var N=i(w);var W=n(function(){if(e)return e;return y(j)||document.body},[e,j,N]);g(function(){if(m&&u.current&&d.current){if(u.current.clientWidth!=(w==null?void 0:w.clientWidth)){u.current.style.width=((w==null?void 0:w.clientWidth)||0)+"px"}if(d.current.clientWidth!=(j==null?void 0:j.clientWidth)){d.current.style.width=((j==null?void 0:j.clientWidth)||0)+"px"}}},[N,m]);l("scroll",function(r){var t=r.target;if(u.current){u.current.scrollLeft=t.scrollLeft}},{target:function r(){return w}});l("scroll",function(r){var t=r.target;if(w)w.scrollLeft=t.scrollLeft},{target:u});var B=s(0),k=B[0],E=B[1];var C=c(null);f(function(){var r;var t=(r=C.current)==null?void 0:r.parentNode;var e=false;while(t!=null){var n,o;if((n=t.classList)!=null&&n.contains("ant-modal-content")||(o=t.classList)!=null&&o.contains("ant-drawer-body")){e=true;break}t=t.parentNode}if(e){setTimeout(function(){E(Date.now())},400)}else{E(Date.now())}},[]);return p("div",{className:"scrollbar-main",ref:C,children:k?p(a,{offsetBottom:L?13:0,style:{opacity:m?1:0},onChange:function r(t){h(!!t)},target:function r(){return W},children:p("div",{ref:u,className:"scrollbar-box",children:p("div",{ref:d,style:{height:1}})})}):null})};export{b as TableScrollbar};
|
|
6
6
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/table-scrollbar/table-scrollbar.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { get } from '@dimjs/utils';\nimport { useCreation, useEventListener, useInViewport, useSize } from 'ahooks';\nimport { Affix } from 'antd';\nimport { cloneElement, useEffect, useRef, useState } from 'react';\nimport { fbaHooks } from '../fba-hooks';\n\nimport './style.less';\nconst { useEffectCustom } = fbaHooks;\n\ntype TableScrollProps = {\n children: React.ReactNode;\n /**\n * y轴的滚动条\n */\n target?: HTMLElement;\n};\n\nconst getParentNodeScroll = (parentNode: HTMLElement | null | undefined): HTMLElement | undefined => {\n if (!parentNode) return undefined;\n const computedStyle = getComputedStyle(parentNode);\n if (computedStyle.overflowY === 'scroll' || computedStyle.overflowY === 'auto') {\n return parentNode;\n }\n return getParentNodeScroll(parentNode.parentNode as HTMLElement);\n};\n/**\n * 表格x轴浮动滚动条\n * ```\n * 使用方法\n * <TableScrollbar>\n * <Table/>\n * </TableScrollbar>\n * ```\n */\nexport const TableScrollbar = ({ children, target, ...props }: TableScrollProps) => {\n const summary: any = get(children as any, 'props.summary');\n return cloneElement(children as any, {\n ...props,\n summary: (...args) => (\n <>\n {summary?.(...args)}\n <ScrollbarSummary target={target} />\n </>\n ),\n });\n};\ntype ScrollbarSummaryProps = {\n target?: HTMLElement;\n};\nconst ScrollbarSummary = ({ target }: ScrollbarSummaryProps) => {\n const refScrollBox = useRef<HTMLDivElement>();\n const refScroll = useRef<HTMLDivElement>();\n // 控制滚动条的显示\n const [show, setShow] = useState<boolean>(false);\n // 获取表格和表格包裹框\n const { table, tableBox } = useCreation(() => {\n const getParentTable = (parentNode: HTMLElement | null | undefined): HTMLElement | undefined => {\n if (!parentNode) return undefined;\n if (parentNode.nodeName === 'TABLE') {\n return parentNode;\n }\n return getParentTable(parentNode.parentNode as HTMLElement);\n };\n const table = getParentTable(refScrollBox?.current?.parentElement);\n return {\n table,\n tableBox: table?.parentElement,\n };\n }, [refScrollBox.current]);\n // 表格是否显示\n const [inViewport] = useInViewport(table?.querySelector('tbody'));\n\n // 监听左右滚动框的大小变化\n const size = useSize(tableBox);\n // 获取上下滚动事件的滚动条\n const _target = useCreation(() => {\n if (target) return target;\n return getParentNodeScroll(table) || document.body;\n }, [target, table, size]);\n\n useEffectCustom(() => {\n if (show && refScrollBox.current && refScroll.current) {\n if (refScrollBox.current.clientWidth != tableBox?.clientWidth) {\n refScrollBox.current.style.width = `${tableBox?.clientWidth || 0}px`;\n }\n if (refScroll.current.clientWidth != table?.clientWidth) {\n refScroll.current.style.width = `${table?.clientWidth || 0}px`;\n }\n }\n }, [size, show]);\n // 注册原始滚动条事件\n useEventListener(\n 'scroll',\n ({ target }) => {\n if (refScrollBox.current) {\n refScrollBox.current.scrollLeft = target.scrollLeft;\n }\n },\n { target: () => tableBox },\n );\n // 注册原始自定义滚动条时间\n useEventListener(\n 'scroll',\n ({ target }) => {\n if (tableBox) tableBox.scrollLeft = target.scrollLeft;\n },\n { target: refScrollBox },\n );\n\n const [key, setKey] = useState<number>(0);\n const rootRef = useRef<HTMLDivElement>(null);\n useEffect(() => {\n let parentNode = rootRef.current?.parentNode as HTMLElement;\n let inModal = false;\n while (parentNode != null) {\n if (\n parentNode.classList?.contains('ant-modal-content') ||\n parentNode.classList?.contains('ant-drawer-body')\n ) {\n inModal = true;\n break;\n }\n parentNode = parentNode.parentNode as HTMLElement;\n }\n if (inModal) {\n setTimeout(() => {\n setKey(Date.now());\n }, 400);\n } else {\n setKey(Date.now());\n }\n }, []);\n\n return (\n <div className=\"scrollbar-main\" ref={rootRef}>\n {key ? (\n <Affix\n offsetBottom={inViewport ? 13 : 0}\n style={{ opacity: show ? 1 : 0 }}\n onChange={(value) => {\n setShow(!!value);\n }}\n target={() => _target}\n >\n <div ref={refScrollBox as any} className=\"scrollbar-box\">\n <div ref={refScroll as any} style={{ height: 1 }}></div>\n </div>\n </Affix>\n ) : null}\n </div>\n );\n};\n"],"names":["useEffectCustom","fbaHooks","getParentNodeScroll","parentNode","undefined","computedStyle","getComputedStyle","overflowY","TableScrollbar","_ref","children","target","props","_objectWithoutPropertiesLoose","_excluded","summary","_get","cloneElement","_extends","_len","arguments","length","args","Array","_key","_jsxs","_Fragment","apply","_jsx","ScrollbarSummary","_ref2","refScrollBox","useRef","refScroll","_useState","useState","show","setShow","_useCreation","useCreation","_refScrollBox$current","getParentTable","nodeName","table","current","parentElement","tableBox","_useInViewport","useInViewport","querySelector","inViewport","size","useSize","_target","document","body","clientWidth","style","width","useEventListener","_ref3","scrollLeft","_ref4","_useState2","key","setKey","rootRef","useEffect","_rootRef$current","inModal","_parentNode$classList","_parentNode$classList2","classList","contains","setTimeout","Date","now","className","ref","Affix","offsetBottom","opacity","onChange","value","height"],"mappings":";kmBAQA,IAAQA,EAAoBC,EAApBD,gBAUR,IAAME,EAAsB,SAAtBA,EAAuBC,GAC3B,IAAKA,EAAY,OAAOC,UACxB,IAAMC,EAAgBC,iBAAiBH,GACvC,GAAIE,EAAcE,YAAc,UAAYF,EAAcE,YAAc,OAAQ,CAC9E,OAAOJ,CACT,CACA,OAAOD,EAAoBC,EAAWA,WACxC,MAUaK,EAAiB,SAAjBA,EAAcC,GAAyD,IAAnDC,EAAQD,EAARC,SAAUC,EAAMF,EAANE,OAAWC,EAAKC,EAAAJ,EAAAK,GACzD,IAAMC,EAAeC,EAAIN,EAAiB,iBAC1C,OAAOO,EAAaP,EAAQQ,KACvBN,EAAK,CACRG,QAAS,SAATA,IAAO,IAAA,IAAAI,EAAAC,UAAAC,OAAMC,EAAIC,IAAAA,MAAAJ,GAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAAA,CAAJF,EAAIE,GAAAJ,UAAAI,EAAA,CAAA,OACfC,EAAAC,EAAA,CAAAhB,SACGK,CAAAA,GAAAA,UAAAA,EAAAA,EAAOY,WAAML,EAAAA,GACdM,EAACC,EAAgB,CAAClB,OAAQA,MACzB,IAGT,EAIA,IAAMkB,EAAmB,SAAnBA,EAAgBC,GAA0C,IAApCnB,EAAMmB,EAANnB,OAC1B,IAAMoB,EAAeC,IACrB,IAAMC,EAAYD,IAElB,IAAAE,EAAwBC,EAAkB,OAAnCC,EAAIF,EAAA,GAAEG,EAAOH,EAAA,GAEpB,IAAAI,EAA4BC,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/table-scrollbar/table-scrollbar.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { get } from '@dimjs/utils';\nimport { useCreation, useEventListener, useInViewport, useSize } from 'ahooks';\nimport { Affix } from 'antd';\nimport { cloneElement, useEffect, useRef, useState } from 'react';\nimport { fbaHooks } from '../fba-hooks';\n\nimport './style.less';\nconst { useEffectCustom } = fbaHooks;\n\ntype TableScrollProps = {\n children: React.ReactNode;\n /**\n * y轴的滚动条\n */\n target?: HTMLElement;\n};\n\nconst getParentNodeScroll = (parentNode: HTMLElement | null | undefined): HTMLElement | undefined => {\n if (!parentNode) return undefined;\n const computedStyle = getComputedStyle(parentNode);\n if (computedStyle.overflowY === 'scroll' || computedStyle.overflowY === 'auto') {\n return parentNode;\n }\n return getParentNodeScroll(parentNode.parentNode as HTMLElement);\n};\n/**\n * 表格x轴浮动滚动条\n * ```\n * 使用方法\n * <TableScrollbar>\n * <Table/>\n * </TableScrollbar>\n * ```\n */\nexport const TableScrollbar = ({ children, target, ...props }: TableScrollProps) => {\n const summary: any = get(children as any, 'props.summary');\n return cloneElement(children as any, {\n ...props,\n summary: (...args) => (\n <>\n {summary?.(...args)}\n <ScrollbarSummary target={target} />\n </>\n ),\n });\n};\ntype ScrollbarSummaryProps = {\n target?: HTMLElement;\n};\nconst ScrollbarSummary = ({ target }: ScrollbarSummaryProps) => {\n const refScrollBox = useRef<HTMLDivElement>();\n const refScroll = useRef<HTMLDivElement>();\n // 控制滚动条的显示\n const [show, setShow] = useState<boolean>(false);\n // 获取表格和表格包裹框\n const { table, tableBox } = useCreation(() => {\n const getParentTable = (parentNode: HTMLElement | null | undefined): HTMLElement | undefined => {\n if (!parentNode) return undefined;\n if (parentNode.nodeName === 'TABLE') {\n return parentNode;\n }\n return getParentTable(parentNode.parentNode as HTMLElement);\n };\n const table = getParentTable(refScrollBox?.current?.parentElement);\n return {\n table,\n tableBox: table?.parentElement,\n };\n }, [refScrollBox.current]);\n // 表格是否显示\n const [inViewport] = useInViewport(table?.querySelector('tbody'));\n\n // 监听左右滚动框的大小变化\n const size = useSize(tableBox);\n // 获取上下滚动事件的滚动条\n const _target = useCreation(() => {\n if (target) return target;\n return getParentNodeScroll(table) || document.body;\n }, [target, table, size]);\n\n useEffectCustom(() => {\n if (show && refScrollBox.current && refScroll.current) {\n if (refScrollBox.current.clientWidth != tableBox?.clientWidth) {\n refScrollBox.current.style.width = `${tableBox?.clientWidth || 0}px`;\n }\n if (refScroll.current.clientWidth != table?.clientWidth) {\n refScroll.current.style.width = `${table?.clientWidth || 0}px`;\n }\n }\n }, [size, show]);\n // 注册原始滚动条事件\n useEventListener(\n 'scroll',\n ({ target }) => {\n if (refScrollBox.current) {\n refScrollBox.current.scrollLeft = target.scrollLeft;\n }\n },\n { target: () => tableBox },\n );\n // 注册原始自定义滚动条时间\n useEventListener(\n 'scroll',\n ({ target }) => {\n if (tableBox) tableBox.scrollLeft = target.scrollLeft;\n },\n { target: refScrollBox },\n );\n\n const [key, setKey] = useState<number>(0);\n const rootRef = useRef<HTMLDivElement>(null);\n useEffect(() => {\n let parentNode = rootRef.current?.parentNode as HTMLElement;\n let inModal = false;\n while (parentNode != null) {\n if (\n parentNode.classList?.contains('ant-modal-content') ||\n parentNode.classList?.contains('ant-drawer-body')\n ) {\n inModal = true;\n break;\n }\n parentNode = parentNode.parentNode as HTMLElement;\n }\n if (inModal) {\n setTimeout(() => {\n setKey(Date.now());\n }, 400);\n } else {\n setKey(Date.now());\n }\n }, []);\n\n return (\n <div className=\"scrollbar-main\" ref={rootRef}>\n {key ? (\n <Affix\n offsetBottom={inViewport ? 13 : 0}\n style={{ opacity: show ? 1 : 0 }}\n onChange={(value) => {\n setShow(!!value);\n }}\n target={() => _target}\n >\n <div ref={refScrollBox as any} className=\"scrollbar-box\">\n <div ref={refScroll as any} style={{ height: 1 }}></div>\n </div>\n </Affix>\n ) : null}\n </div>\n );\n};\n"],"names":["useEffectCustom","fbaHooks","getParentNodeScroll","parentNode","undefined","computedStyle","getComputedStyle","overflowY","TableScrollbar","_ref","children","target","props","_objectWithoutPropertiesLoose","_excluded","summary","_get","cloneElement","_extends","_len","arguments","length","args","Array","_key","_jsxs","_Fragment","apply","_jsx","ScrollbarSummary","_ref2","refScrollBox","useRef","refScroll","_useState","useState","show","setShow","_useCreation","useCreation","_refScrollBox$current","getParentTable","nodeName","table","current","parentElement","tableBox","_useInViewport","useInViewport","querySelector","inViewport","size","useSize","_target","document","body","clientWidth","style","width","useEventListener","_ref3","scrollLeft","_ref4","_useState2","key","setKey","rootRef","useEffect","_rootRef$current","inModal","_parentNode$classList","_parentNode$classList2","classList","contains","setTimeout","Date","now","className","ref","Affix","offsetBottom","opacity","onChange","value","height"],"mappings":"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"}
|
package/esm/tabs-sticky/index.js
CHANGED
|
@@ -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{useSize as e}from"ahooks";import{Affix as t,Tabs as n}from"antd";import{useState as i,useRef as l,useEffect as a,useMemo as o}from"react";import{jsx as c,jsxs as u}from"react/jsx-runtime";var v=function v(s){var f=s.tabsProps;var h=i(f.defaultActiveKey),d=h[0],m=h[1];var p=l(null);var g=l(null);var y=l();var b=e(p);var K=l(null);var T=e(K);var k=e(g);a(
|
|
4
|
+
import{_ as r}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{useSize as e}from"ahooks";import{Affix as t,Tabs as n}from"antd";import{useState as i,useRef as l,useEffect as a,useMemo as o}from"react";import{jsx as c,jsxs as u}from"react/jsx-runtime";var v=function v(s){var f=s.tabsProps;var h=i(f.defaultActiveKey),d=h[0],m=h[1];var p=l(null);var g=l(null);var y=l();var b=e(p);var K=l(null);var T=e(K);var k=e(g);a(function(){if(f.activeKey){m(f.activeKey)}},[f.activeKey]);var C=function r(e){if(!f.activeKey){m(e)}f.onChange==null||f.onChange(e);var t=(b==null?void 0:b.height)||0;if(y.current){var n;(n=K.current)==null||n.scrollTo({top:t})}else{if(s.clickTabToTop!==false){var i;(i=K.current)==null||i.scrollTo({top:t})}}};var B=((T==null?void 0:T.height)||0)-((k==null?void 0:k.height)||0);var j=o(function(){var e;return(e=f.items)==null?void 0:e.map(function(e){return r({},e,{children:null})})},[f.items]);var x=o(function(){var e;return(e=f.items)==null?void 0:e.map(function(e){return r({},e,{children:c("div",{style:{minHeight:B},children:e.children})})})},[f.items,B]);return u("div",{ref:K,style:{height:"100%",overflowY:"auto"},children:[c("div",{ref:p,children:s.headerRender}),c(t,{offsetTop:0,target:function r(){return K.current},onChange:function r(e){y.current=e},children:c("div",{ref:g,children:c(n,r({},f,{activeKey:d,items:j,tabBarStyle:r({},f.tabBarStyle,{margin:0}),style:r({backgroundColor:"var(--block-bg-color)"},f.style),onChange:C}))})}),c(n,{activeKey:d,className:"tabs-sticky-contents",items:x})]})};export{v as TabsSticky};
|
|
5
5
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/tabs-sticky/tabs.tsx"],"sourcesContent":["import { useSize } from 'ahooks';\nimport { Affix, Tabs, type TabsProps } from 'antd';\nimport { useEffect, useMemo, useRef, useState, type ReactElement } from 'react';\nimport './style.less';\n\nexport type TabsStickyProps = {\n tabsProps: Omit<TabsProps, 'tabPosition'>;\n /** tabs头部布局 */\n headerRender?: ReactElement;\n /** 点击tabItem后,tab跳到顶部吸顶效果;默认值true */\n clickTabToTop?: boolean;\n};\n\n/**\n * Tabs吸顶组件\n * ```\n * 1. 组件根节点设置了 height: 100%、overflow: auto;所以外部包裹元素必须要有高度\n * ```\n */\nexport const TabsSticky = (props: TabsStickyProps) => {\n const tabsProps = props.tabsProps;\n\n const [activeKey, setActiveKey] = useState(tabsProps.defaultActiveKey);\n const headerRef = useRef<HTMLDivElement>(null);\n const affixRef = useRef<any>(null);\n const affixedFlagRef = useRef<boolean>();\n\n const headerSize = useSize(headerRef);\n\n const scollNodeRef = useRef<any>(null);\n\n const scollNodeSize = useSize(scollNodeRef);\n const affixRefSize = useSize(affixRef);\n\n useEffect(() => {\n if (tabsProps.activeKey) {\n setActiveKey(tabsProps.activeKey);\n }\n }, [tabsProps.activeKey]);\n\n const onChange = (activeKey) => {\n if (!tabsProps.activeKey) {\n setActiveKey(activeKey);\n }\n tabsProps.onChange?.(activeKey);\n const top = headerSize?.height || 0;\n if (affixedFlagRef.current) {\n scollNodeRef.current?.scrollTo({\n top,\n });\n } else {\n if (props.clickTabToTop !== false) {\n scollNodeRef.current?.scrollTo({\n top,\n });\n }\n }\n };\n\n const minHeight = (scollNodeSize?.height || 0) - (affixRefSize?.height || 0);\n\n const stickyTabItems = useMemo(() => {\n return tabsProps.items?.map((item) => {\n return {\n ...item,\n children: null,\n };\n });\n }, [tabsProps.items]);\n\n const contentTabItems = useMemo(() => {\n return tabsProps.items?.map((item) => {\n return {\n ...item,\n children: <div style={{ minHeight }}>{item.children}</div>,\n };\n });\n }, [tabsProps.items, minHeight]);\n\n return (\n <div ref={scollNodeRef} style={{ height: '100%', overflowY: 'auto' }}>\n <div ref={headerRef}>{props.headerRender}</div>\n <Affix\n offsetTop={0}\n target={() => scollNodeRef.current as HTMLElement}\n onChange={(affixed) => {\n affixedFlagRef.current = affixed;\n }}\n >\n <div ref={affixRef}>\n <Tabs\n {...tabsProps}\n activeKey={activeKey}\n items={stickyTabItems}\n tabBarStyle={{ ...tabsProps.tabBarStyle, margin: 0 }}\n style={{\n backgroundColor: 'var(--block-bg-color)',\n ...tabsProps.style,\n }}\n onChange={onChange}\n />\n </div>\n </Affix>\n <Tabs activeKey={activeKey} className=\"tabs-sticky-contents\" items={contentTabItems} />\n </div>\n );\n};\n"],"names":["TabsSticky","props","tabsProps","_useState","useState","defaultActiveKey","activeKey","setActiveKey","headerRef","useRef","affixRef","affixedFlagRef","headerSize","useSize","scollNodeRef","scollNodeSize","affixRefSize","useEffect","onChange","top","height","current","_scollNodeRef$current","scrollTo","clickTabToTop","_scollNodeRef$current2","minHeight","stickyTabItems","useMemo","_tabsProps$items","items","map","item","_extends","children","contentTabItems","_tabsProps$items2","_jsx","style","_jsxs","ref","overflowY","headerRender","Affix","offsetTop","target","affixed","Tabs","tabBarStyle","margin","backgroundColor","className"],"mappings":";oQAmBaA,EAAa,SAAbA,EAAcC,GACzB,IAAMC,EAAYD,EAAMC,UAExB,IAAAC,EAAkCC,EAASF,EAAUG,kBAA9CC,EAASH,EAAA,GAAEI,EAAYJ,EAAA,GAC9B,IAAMK,EAAYC,EAAuB,MACzC,IAAMC,EAAWD,EAAY,MAC7B,IAAME,EAAiBF,IAEvB,IAAMG,EAAaC,EAAQL,GAE3B,IAAMM,EAAeL,EAAY,MAEjC,IAAMM,EAAgBF,EAAQC,GAC9B,IAAME,EAAeH,EAAQH,GAE7BO,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/tabs-sticky/tabs.tsx"],"sourcesContent":["import { useSize } from 'ahooks';\nimport { Affix, Tabs, type TabsProps } from 'antd';\nimport { useEffect, useMemo, useRef, useState, type ReactElement } from 'react';\nimport './style.less';\n\nexport type TabsStickyProps = {\n tabsProps: Omit<TabsProps, 'tabPosition'>;\n /** tabs头部布局 */\n headerRender?: ReactElement;\n /** 点击tabItem后,tab跳到顶部吸顶效果;默认值true */\n clickTabToTop?: boolean;\n};\n\n/**\n * Tabs吸顶组件\n * ```\n * 1. 组件根节点设置了 height: 100%、overflow: auto;所以外部包裹元素必须要有高度\n * ```\n */\nexport const TabsSticky = (props: TabsStickyProps) => {\n const tabsProps = props.tabsProps;\n\n const [activeKey, setActiveKey] = useState(tabsProps.defaultActiveKey);\n const headerRef = useRef<HTMLDivElement>(null);\n const affixRef = useRef<any>(null);\n const affixedFlagRef = useRef<boolean>();\n\n const headerSize = useSize(headerRef);\n\n const scollNodeRef = useRef<any>(null);\n\n const scollNodeSize = useSize(scollNodeRef);\n const affixRefSize = useSize(affixRef);\n\n useEffect(() => {\n if (tabsProps.activeKey) {\n setActiveKey(tabsProps.activeKey);\n }\n }, [tabsProps.activeKey]);\n\n const onChange = (activeKey) => {\n if (!tabsProps.activeKey) {\n setActiveKey(activeKey);\n }\n tabsProps.onChange?.(activeKey);\n const top = headerSize?.height || 0;\n if (affixedFlagRef.current) {\n scollNodeRef.current?.scrollTo({\n top,\n });\n } else {\n if (props.clickTabToTop !== false) {\n scollNodeRef.current?.scrollTo({\n top,\n });\n }\n }\n };\n\n const minHeight = (scollNodeSize?.height || 0) - (affixRefSize?.height || 0);\n\n const stickyTabItems = useMemo(() => {\n return tabsProps.items?.map((item) => {\n return {\n ...item,\n children: null,\n };\n });\n }, [tabsProps.items]);\n\n const contentTabItems = useMemo(() => {\n return tabsProps.items?.map((item) => {\n return {\n ...item,\n children: <div style={{ minHeight }}>{item.children}</div>,\n };\n });\n }, [tabsProps.items, minHeight]);\n\n return (\n <div ref={scollNodeRef} style={{ height: '100%', overflowY: 'auto' }}>\n <div ref={headerRef}>{props.headerRender}</div>\n <Affix\n offsetTop={0}\n target={() => scollNodeRef.current as HTMLElement}\n onChange={(affixed) => {\n affixedFlagRef.current = affixed;\n }}\n >\n <div ref={affixRef}>\n <Tabs\n {...tabsProps}\n activeKey={activeKey}\n items={stickyTabItems}\n tabBarStyle={{ ...tabsProps.tabBarStyle, margin: 0 }}\n style={{\n backgroundColor: 'var(--block-bg-color)',\n ...tabsProps.style,\n }}\n onChange={onChange}\n />\n </div>\n </Affix>\n <Tabs activeKey={activeKey} className=\"tabs-sticky-contents\" items={contentTabItems} />\n </div>\n );\n};\n"],"names":["TabsSticky","props","tabsProps","_useState","useState","defaultActiveKey","activeKey","setActiveKey","headerRef","useRef","affixRef","affixedFlagRef","headerSize","useSize","scollNodeRef","scollNodeSize","affixRefSize","useEffect","onChange","top","height","current","_scollNodeRef$current","scrollTo","clickTabToTop","_scollNodeRef$current2","minHeight","stickyTabItems","useMemo","_tabsProps$items","items","map","item","_extends","children","contentTabItems","_tabsProps$items2","_jsx","style","_jsxs","ref","overflowY","headerRender","Affix","offsetTop","target","affixed","Tabs","tabBarStyle","margin","backgroundColor","className"],"mappings":";oQAmBaA,EAAa,SAAbA,EAAcC,GACzB,IAAMC,EAAYD,EAAMC,UAExB,IAAAC,EAAkCC,EAASF,EAAUG,kBAA9CC,EAASH,EAAA,GAAEI,EAAYJ,EAAA,GAC9B,IAAMK,EAAYC,EAAuB,MACzC,IAAMC,EAAWD,EAAY,MAC7B,IAAME,EAAiBF,IAEvB,IAAMG,EAAaC,EAAQL,GAE3B,IAAMM,EAAeL,EAAY,MAEjC,IAAMM,EAAgBF,EAAQC,GAC9B,IAAME,EAAeH,EAAQH,GAE7BO,EAAU,WACR,GAAIf,EAAUI,UAAW,CACvBC,EAAaL,EAAUI,UACzB,CACF,EAAG,CAACJ,EAAUI,YAEd,IAAMY,EAAW,SAAXA,EAAYZ,GAChB,IAAKJ,EAAUI,UAAW,CACxBC,EAAaD,EACf,CACAJ,EAAUgB,UAAVhB,MAAAA,EAAUgB,SAAWZ,GACrB,IAAMa,GAAMP,eAAAA,EAAYQ,SAAU,EAClC,GAAIT,EAAeU,QAAS,CAAA,IAAAC,GAC1BA,EAAAR,EAAaO,UAAbC,MAAAA,EAAsBC,SAAS,CAC7BJ,IAAAA,GAEJ,KAAO,CACL,GAAIlB,EAAMuB,gBAAkB,MAAO,CAAA,IAAAC,GACjCA,EAAAX,EAAaO,UAAbI,MAAAA,EAAsBF,SAAS,CAC7BJ,IAAAA,GAEJ,CACF,GAGF,IAAMO,IAAaX,GAAAA,UAAAA,EAAAA,EAAeK,SAAU,KAAMJ,GAAAA,UAAAA,EAAAA,EAAcI,SAAU,GAE1E,IAAMO,EAAiBC,EAAQ,WAAM,IAAAC,EACnC,OAAAA,EAAO3B,EAAU4B,QAAK,UAAA,EAAfD,EAAiBE,IAAI,SAACC,GAC3B,OAAAC,KACKD,EAAI,CACPE,SAAU,MAEd,EACF,EAAG,CAAChC,EAAU4B,QAEd,IAAMK,EAAkBP,EAAQ,WAAM,IAAAQ,EACpC,OAAAA,EAAOlC,EAAU4B,QAAK,UAAA,EAAfM,EAAiBL,IAAI,SAACC,GAC3B,OAAAC,KACKD,EAAI,CACPE,SAAUG,EAAA,MAAA,CAAKC,MAAO,CAAEZ,UAAAA,GAAYQ,SAAEF,EAAKE,YAE/C,EACD,EAAE,CAAChC,EAAU4B,MAAOJ,IAErB,OACEa,EAAA,MAAA,CAAKC,IAAK1B,EAAcwB,MAAO,CAAElB,OAAQ,OAAQqB,UAAW,QAASP,UACnEG,EAAA,MAAA,CAAKG,IAAKhC,EAAU0B,SAAEjC,EAAMyC,eAC5BL,EAACM,EAAK,CACJC,UAAW,EACXC,OAAQ,SAARA,IAAM,OAAQ/B,EAAaO,OAAuB,EAClDH,SAAU,SAAVA,EAAW4B,GACTnC,EAAeU,QAAUyB,CACzB,EAAAZ,SAEFG,EAAA,MAAA,CAAKG,IAAK9B,EAASwB,SACjBG,EAACU,EAAId,KACC/B,EAAS,CACbI,UAAWA,EACXwB,MAAOH,EACPqB,YAAWf,EAAO/B,GAAAA,EAAU8C,YAAW,CAAEC,OAAQ,IACjDX,MAAKL,EAAA,CACHiB,gBAAiB,yBACdhD,EAAUoC,OAEfpB,SAAUA,SAIhBmB,EAACU,EAAI,CAACzC,UAAWA,EAAW6C,UAAU,uBAAuBrB,MAAOK,MAG1E"}
|
|
@@ -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 a}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{classNames as r}from"@dimjs/utils/cjs/class-names";import{hooks as t}from"@wove/react/cjs/hooks";import{isUndefined as i}from"@dimjs/lang/cjs/is-undefined";import{sessionStorageCache as c}from"@flatbiz/utils";import{Tabs as o}from"antd";import{useMemo as s}from"react";import{jsx as n}from"react/jsx-runtime";var v=["isSticky","isFixed","activeCacheKey","cancelActiveCache","hiddenTabHeader"];var l=function l(d){var f=d.isSticky,u=f===void 0?true:f,m=d.isFixed,p=m===void 0?true:m,y=d.activeCacheKey,b=d.cancelActiveCache,h=d.hiddenTabHeader,K=e(d,v);var j=Object.prototype.hasOwnProperty.call(d,"activeKey");var C=y||"tabs-wrapper-activeKey";var A=i(p)?u:p;var g=t.useCallbackRef(
|
|
4
|
+
import{a as e,_ as a}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{classNames as r}from"@dimjs/utils/cjs/class-names";import{hooks as t}from"@wove/react/cjs/hooks";import{isUndefined as i}from"@dimjs/lang/cjs/is-undefined";import{sessionStorageCache as c}from"@flatbiz/utils";import{Tabs as o}from"antd";import{useMemo as s}from"react";import{jsx as n}from"react/jsx-runtime";var v=["isSticky","isFixed","activeCacheKey","cancelActiveCache","hiddenTabHeader"];var l=function l(d){var f=d.isSticky,u=f===void 0?true:f,m=d.isFixed,p=m===void 0?true:m,y=d.activeCacheKey,b=d.cancelActiveCache,h=d.hiddenTabHeader,K=e(d,v);var j=Object.prototype.hasOwnProperty.call(d,"activeKey");var C=y||"tabs-wrapper-activeKey";var A=i(p)?u:p;var g=t.useCallbackRef(function(e){if(b!==true&&!j){c.set(C,{activeKey:e})}K.onChange==null||K.onChange(e)});var w=s(function(){var e;if(b===true||j){return d.defaultActiveKey}var a=(e=c.get(C))==null?void 0:e.activeKey;return a||K.defaultActiveKey},[C,b,j,K.defaultActiveKey,d.defaultActiveKey]);var x=r("fba-tabs-wrapper",{"fba-tabs-wrapper-fixed":A,"fba-tabs-wrapper-hidden-header":h},K.className);return n(o,a({},K,{className:x,defaultActiveKey:w,onChange:g}))};export{l as TabsWrapper};
|
|
5
5
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/tabs-wrapper/tabs-wrapper.tsx"],"sourcesContent":["import { isUndefined } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { sessionStorageCache } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Tabs, TabsProps } from 'antd';\nimport { useMemo } from 'react';\nimport './style.less';\n\nexport type TabsWrapperProps = TabsProps & {\n /**\n * Tabs Header 提供 Sticky 效果,默认值:true\n * @deprecated 已废弃 4.3.0版本移除,请使用 isFixed 属性\n */\n isSticky?: boolean;\n /**\n * Tabs Header 提供 Fixed 效果,默认值:true\n */\n isFixed?: boolean;\n /** 是否取消 active 缓存 */\n cancelActiveCache?: boolean;\n activeCacheKey?: string;\n /** 隐藏头部 */\n hiddenTabHeader?: boolean;\n};\n\n/**\n * Tabs 包装组件\n * ```\n * 1. Tabs Header 提供 Sticky 效果,默认值:true\n * 2. 使用时,父级必须要有高度,可置于Flex布局中\n * 3. 默认缓存激活的tab item(activeKey受控操作下缓存无效)\n * 当未设置activeKey,非受控操作时,组件内部会会话缓存activeKey,在刷新时,会显示上次的激活的tab item\n * 缓存Key:如果未设置 activeCacheKey,则使用默认的 cache key(tabs-wrapper-activeKey)\n * 缓存模式:会话缓存,在浏览器关闭后,会清除\n * ```\n */\nexport const TabsWrapper = (props: TabsWrapperProps) => {\n const {\n isSticky = true,\n isFixed = true,\n activeCacheKey,\n cancelActiveCache,\n hiddenTabHeader,\n ...otherProps\n } = props;\n // 是否受控操作\n const isControl = Object.prototype.hasOwnProperty.call(props, 'activeKey');\n const cacheKey = activeCacheKey || 'tabs-wrapper-activeKey';\n const isFixedNew = isUndefined(isFixed) ? isSticky : isFixed;\n\n const onChange = hooks.useCallbackRef((activeKey: string) => {\n if (cancelActiveCache !== true && !isControl) {\n sessionStorageCache.set(cacheKey, { activeKey });\n }\n otherProps.onChange?.(activeKey);\n });\n\n const defaultActiveKey = useMemo(() => {\n if (cancelActiveCache === true || isControl) {\n return props.defaultActiveKey;\n }\n const chcheActiveKey = sessionStorageCache.get(cacheKey)?.activeKey as string | undefined;\n return chcheActiveKey || otherProps.defaultActiveKey;\n }, [cacheKey, cancelActiveCache, isControl, otherProps.defaultActiveKey, props.defaultActiveKey]);\n\n const className = classNames(\n 'fba-tabs-wrapper',\n { 'fba-tabs-wrapper-fixed': isFixedNew, 'fba-tabs-wrapper-hidden-header': hiddenTabHeader },\n otherProps.className,\n );\n\n return (\n <Tabs {...otherProps} className={className} defaultActiveKey={defaultActiveKey} onChange={onChange} />\n );\n};\n"],"names":["TabsWrapper","props","_props$isSticky","isSticky","_props$isFixed","isFixed","activeCacheKey","cancelActiveCache","hiddenTabHeader","otherProps","_objectWithoutPropertiesLoose","_excluded","isControl","Object","prototype","hasOwnProperty","call","cacheKey","isFixedNew","_isUndefined","onChange","_hooks","useCallbackRef","activeKey","sessionStorageCache","set","defaultActiveKey","useMemo","_sessionStorageCache$","chcheActiveKey","get","className","_classNames","_jsx","Tabs","_extends"],"mappings":";wdAoCaA,EAAc,SAAdA,EAAeC,GAC1B,IAAAC,EAOID,EANFE,SAAAA,EAAQD,SAAG,EAAA,KAAIA,EAAAE,EAMbH,EALFI,QAAAA,EAAOD,SAAG,EAAA,KAAIA,EACdE,EAIEL,EAJFK,eACAC,EAGEN,EAHFM,kBACAC,EAEEP,EAFFO,gBACGC,EAAUC,EACXT,EAAKU,GAET,IAAMC,EAAYC,OAAOC,UAAUC,eAAeC,KAAKf,EAAO,aAC9D,IAAMgB,EAAWX,GAAkB,yBACnC,IAAMY,EAAaC,EAAYd,GAAWF,EAAWE,EAErD,IAAMe,EAAWC,EAAMC,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/tabs-wrapper/tabs-wrapper.tsx"],"sourcesContent":["import { isUndefined } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { sessionStorageCache } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Tabs, TabsProps } from 'antd';\nimport { useMemo } from 'react';\nimport './style.less';\n\nexport type TabsWrapperProps = TabsProps & {\n /**\n * Tabs Header 提供 Sticky 效果,默认值:true\n * @deprecated 已废弃 4.3.0版本移除,请使用 isFixed 属性\n */\n isSticky?: boolean;\n /**\n * Tabs Header 提供 Fixed 效果,默认值:true\n */\n isFixed?: boolean;\n /** 是否取消 active 缓存 */\n cancelActiveCache?: boolean;\n activeCacheKey?: string;\n /** 隐藏头部 */\n hiddenTabHeader?: boolean;\n};\n\n/**\n * Tabs 包装组件\n * ```\n * 1. Tabs Header 提供 Sticky 效果,默认值:true\n * 2. 使用时,父级必须要有高度,可置于Flex布局中\n * 3. 默认缓存激活的tab item(activeKey受控操作下缓存无效)\n * 当未设置activeKey,非受控操作时,组件内部会会话缓存activeKey,在刷新时,会显示上次的激活的tab item\n * 缓存Key:如果未设置 activeCacheKey,则使用默认的 cache key(tabs-wrapper-activeKey)\n * 缓存模式:会话缓存,在浏览器关闭后,会清除\n * ```\n */\nexport const TabsWrapper = (props: TabsWrapperProps) => {\n const {\n isSticky = true,\n isFixed = true,\n activeCacheKey,\n cancelActiveCache,\n hiddenTabHeader,\n ...otherProps\n } = props;\n // 是否受控操作\n const isControl = Object.prototype.hasOwnProperty.call(props, 'activeKey');\n const cacheKey = activeCacheKey || 'tabs-wrapper-activeKey';\n const isFixedNew = isUndefined(isFixed) ? isSticky : isFixed;\n\n const onChange = hooks.useCallbackRef((activeKey: string) => {\n if (cancelActiveCache !== true && !isControl) {\n sessionStorageCache.set(cacheKey, { activeKey });\n }\n otherProps.onChange?.(activeKey);\n });\n\n const defaultActiveKey = useMemo(() => {\n if (cancelActiveCache === true || isControl) {\n return props.defaultActiveKey;\n }\n const chcheActiveKey = sessionStorageCache.get(cacheKey)?.activeKey as string | undefined;\n return chcheActiveKey || otherProps.defaultActiveKey;\n }, [cacheKey, cancelActiveCache, isControl, otherProps.defaultActiveKey, props.defaultActiveKey]);\n\n const className = classNames(\n 'fba-tabs-wrapper',\n { 'fba-tabs-wrapper-fixed': isFixedNew, 'fba-tabs-wrapper-hidden-header': hiddenTabHeader },\n otherProps.className,\n );\n\n return (\n <Tabs {...otherProps} className={className} defaultActiveKey={defaultActiveKey} onChange={onChange} />\n );\n};\n"],"names":["TabsWrapper","props","_props$isSticky","isSticky","_props$isFixed","isFixed","activeCacheKey","cancelActiveCache","hiddenTabHeader","otherProps","_objectWithoutPropertiesLoose","_excluded","isControl","Object","prototype","hasOwnProperty","call","cacheKey","isFixedNew","_isUndefined","onChange","_hooks","useCallbackRef","activeKey","sessionStorageCache","set","defaultActiveKey","useMemo","_sessionStorageCache$","chcheActiveKey","get","className","_classNames","_jsx","Tabs","_extends"],"mappings":";wdAoCaA,EAAc,SAAdA,EAAeC,GAC1B,IAAAC,EAOID,EANFE,SAAAA,EAAQD,SAAG,EAAA,KAAIA,EAAAE,EAMbH,EALFI,QAAAA,EAAOD,SAAG,EAAA,KAAIA,EACdE,EAIEL,EAJFK,eACAC,EAGEN,EAHFM,kBACAC,EAEEP,EAFFO,gBACGC,EAAUC,EACXT,EAAKU,GAET,IAAMC,EAAYC,OAAOC,UAAUC,eAAeC,KAAKf,EAAO,aAC9D,IAAMgB,EAAWX,GAAkB,yBACnC,IAAMY,EAAaC,EAAYd,GAAWF,EAAWE,EAErD,IAAMe,EAAWC,EAAMC,eAAe,SAACC,GACrC,GAAIhB,IAAsB,OAASK,EAAW,CAC5CY,EAAoBC,IAAIR,EAAU,CAAEM,UAAAA,GACtC,CACAd,EAAWW,UAAXX,MAAAA,EAAWW,SAAWG,EACxB,GAEA,IAAMG,EAAmBC,EAAQ,WAAM,IAAAC,EACrC,GAAIrB,IAAsB,MAAQK,EAAW,CAC3C,OAAOX,EAAMyB,gBACf,CACA,IAAMG,GAAcD,EAAGJ,EAAoBM,IAAIb,KAAxBW,UAAAA,EAAAA,EAAmCL,UAC1D,OAAOM,GAAkBpB,EAAWiB,gBACtC,EAAG,CAACT,EAAUV,EAAmBK,EAAWH,EAAWiB,iBAAkBzB,EAAMyB,mBAE/E,IAAMK,EAAYC,EAChB,mBACA,CAAE,yBAA0Bd,EAAY,iCAAkCV,GAC1EC,EAAWsB,WAGb,OACEE,EAACC,EAAIC,KAAK1B,EAAU,CAAEsB,UAAWA,EAAWL,iBAAkBA,EAAkBN,SAAUA,IAE9F"}
|
package/esm/tag-group/index.js
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
import './../fba-hooks/index.css';
|
|
3
3
|
import './index.css';
|
|
4
4
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
5
|
-
import{_ as r}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{Space as o,Tag as i}from"antd";import{fbaHooks as t}from"../fba-hooks/index.js";import{jsx as e}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-array";import"@wove/react/cjs/hooks";import"react";import"@flatbiz/utils";import"../use-responsive-point-
|
|
5
|
+
import{_ as r}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{Space as o,Tag as i}from"antd";import{fbaHooks as t}from"../fba-hooks/index.js";import{jsx as e}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-array";import"@wove/react/cjs/hooks";import"react";import"@flatbiz/utils";import"../use-responsive-point-1e6d93d9.js";import"@dimjs/utils/cjs/uuid";var a=function a(s){var l=t.useThemeToken();return e(o,r({wrap:true,size:5},s.spaceProps,{children:s.dataList.map(function(r,o){var t;var a=r.color||((t=s.colorMap)==null?void 0:t[r.value])||l.colorPrimary;return e(i,{color:a,children:r.label},o)})}))};export{a as TagGroup};
|
|
6
6
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/tag-group/tag-group.tsx"],"sourcesContent":["import { Space, SpaceProps, Tag } from 'antd';\nimport { FC } from 'react';\nimport { fbaHooks } from '../fba-hooks';\n\ntype TagGroupDataItem = { label: string; value: string | number; color?: string };\n\nexport type TagGroupProps = {\n dataList: TagGroupDataItem[];\n /**\n * 颜色配置数据,例如:{ 1:'red', 2: 'blue'} key值与 dataList中value相同\n */\n colorMap?: Record<string, string>;\n spaceProps?: SpaceProps;\n};\n\n/**\n * Tag 列表显示\n */\nexport const TagGroup: FC<TagGroupProps> = (props) => {\n const theme = fbaHooks.useThemeToken();\n return (\n <Space wrap size={5} {...props.spaceProps}>\n {props.dataList.map((item, index) => {\n const color = item.color || props.colorMap?.[item.value] || theme.colorPrimary;\n return (\n <Tag color={color} key={index}>\n {item.label}\n </Tag>\n );\n })}\n </Space>\n );\n};\n"],"names":["TagGroup","props","theme","fbaHooks","useThemeToken","_jsx","Space","_extends","wrap","size","spaceProps","children","dataList","map","item","index","_props$colorMap","color","colorMap","value","colorPrimary","Tag","label"],"mappings":";8WAkBaA,EAA8B,SAA9BA,EAA+BC,GAC1C,IAAMC,EAAQC,EAASC,gBACvB,OACEC,EAACC,EAAKC,EAAA,CAACC,KAAI,KAACC,KAAM,GAAOR,EAAMS,WAAU,CAAAC,SACtCV,EAAMW,SAASC,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/tag-group/tag-group.tsx"],"sourcesContent":["import { Space, SpaceProps, Tag } from 'antd';\nimport { FC } from 'react';\nimport { fbaHooks } from '../fba-hooks';\n\ntype TagGroupDataItem = { label: string; value: string | number; color?: string };\n\nexport type TagGroupProps = {\n dataList: TagGroupDataItem[];\n /**\n * 颜色配置数据,例如:{ 1:'red', 2: 'blue'} key值与 dataList中value相同\n */\n colorMap?: Record<string, string>;\n spaceProps?: SpaceProps;\n};\n\n/**\n * Tag 列表显示\n */\nexport const TagGroup: FC<TagGroupProps> = (props) => {\n const theme = fbaHooks.useThemeToken();\n return (\n <Space wrap size={5} {...props.spaceProps}>\n {props.dataList.map((item, index) => {\n const color = item.color || props.colorMap?.[item.value] || theme.colorPrimary;\n return (\n <Tag color={color} key={index}>\n {item.label}\n </Tag>\n );\n })}\n </Space>\n );\n};\n"],"names":["TagGroup","props","theme","fbaHooks","useThemeToken","_jsx","Space","_extends","wrap","size","spaceProps","children","dataList","map","item","index","_props$colorMap","color","colorMap","value","colorPrimary","Tag","label"],"mappings":";8WAkBaA,EAA8B,SAA9BA,EAA+BC,GAC1C,IAAMC,EAAQC,EAASC,gBACvB,OACEC,EAACC,EAAKC,EAAA,CAACC,KAAI,KAACC,KAAM,GAAOR,EAAMS,WAAU,CAAAC,SACtCV,EAAMW,SAASC,IAAI,SAACC,EAAMC,GAAU,IAAAC,EACnC,IAAMC,EAAQH,EAAKG,SAAKD,EAAIf,EAAMiB,WAANF,UAAAA,EAAAA,EAAiBF,EAAKK,SAAUjB,EAAMkB,aAClE,OACEf,EAACgB,EAAG,CAACJ,MAAOA,EAAMN,SACfG,EAAKQ,OADgBP,OAOlC"}
|
|
@@ -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{toArray as e,isUndefinedOrNull as l,valueIsEqual as n}from"@flatbiz/utils";import{Tag as a,Popover as t}from"antd";import{useMemo as o,Fragment as i}from"react";import{jsx as u,jsxs as c}from"react/jsx-runtime";var f=function v(d){var h=e(d.value);var m=d.maxShowCount||0;var s=o(
|
|
4
|
+
import{_ as r}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{toArray as e,isUndefinedOrNull as l,valueIsEqual as n}from"@flatbiz/utils";import{Tag as a,Popover as t}from"antd";import{useMemo as o,Fragment as i}from"react";import{jsx as u,jsxs as c}from"react/jsx-runtime";var f=function v(d){var h=e(d.value);var m=d.maxShowCount||0;var s=o(function(){if(l(d.value)){return[]}return h.map(function(r){var e;var l=(e=d.dataList)==null?void 0:e.find(function(e){return n(e.value,r)||e.label===r});if(l){var a;return{label:l.label||l.value,color:((a=d.colorMap)==null?void 0:a[String(l.value)])||l.color,value:r}}if(d.forceMatch){return undefined}return{label:""+r,color:undefined,value:r}}).filter(Boolean)},[d.colorMap,d.dataList,d.forceMatch,d.value,h]);if(s.length===0){return u(i,{children:d.value})}var g=s.slice(0,m||s.length);var p=g.length<s.length?d.foldShowAllTag?s:s.slice(m,s.length):[];return c(i,{children:[g.map(function(r,e){var l=r.color;if(!l&&d.noColorShowTag===false){return u(i,{children:r.label},e)}return u(a,{color:l,style:e===g.length-1?{margin:"0"}:{marginRight:5},children:r.label},e)}),p.length>0?u(t,{content:u(f,r({},d,{value:p.map(function(r){return r.value}),dataList:p,maxShowCount:undefined})),children:u(a,{color:"blue",style:{marginLeft:5,cursor:"pointer"},children:"..."})}):null]})};f.defaultProps={forceMatch:false};export{f as TagListRender};
|
|
5
5
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/tag-list-render/tag-list.tsx"],"sourcesContent":["import { isUndefinedOrNull, toArray, valueIsEqual } from '@flatbiz/utils';\nimport { Popover, Tag } from 'antd';\nimport { FC, Fragment, useMemo } from 'react';\n\nexport type TagListRenderValue = string | number | boolean;\nexport type TagListRenderDataItem = { label: string; value: TagListRenderValue; color?: string };\n\nexport type TagListRenderProps = {\n dataList: TagListRenderDataItem[];\n /** 颜色配置数据,例如:{ 1:'red', 2: 'blue'} key值与 dataList中value相同 */\n colorMap?: Record<string | number, string>;\n value?: TagListRenderValue | TagListRenderValue[];\n /** 是否强制匹配,默认值false */\n forceMatch?: boolean;\n /** 最大显示Tag数量,超出折叠隐藏 */\n maxShowCount?: number;\n /** 触发maxShowCount后,被折叠的内容是否显示完整tag,默认值:false */\n foldShowAllTag?: boolean;\n /** 所有tag背景匹配此颜色,在colorMap为空、dataList中未配置color的情况下有效果 */\n tagColor?: string;\n /** 未匹配到color时,是否显示Tag效果,默认值:true */\n noColorShowTag?: boolean;\n};\n\n/**\n * 在列表数据dataList中通过value匹配数据,以Tag形式展示\n * ```\n * 1. forceMatch: 是否强制匹配(默认值false)\n * - false: 匹配不到显示value值,\n * - true:匹配不到不显示\n * 2. value 与 dataList中label、value任一相等,都可匹配\n *\n * 用法1:\n * <TagListRender\n * dataList=[{ label: '启用', value: 1 }]\n * colorMap={{ 1:'red', 2: 'blue'}}\n * value={1} />\n * =>\n * <Tag color={'red'}>启用</Tag>\n *\n * 用法2\n * <TagListRender\n * dataList=[{ label: '启用', value: 1. color: 'red' }]\n * value=\"启用\" />\n * =>\n * <Tag color={'red'}>启用</Tag>\n * ```\n */\nexport const TagListRender: FC<TagListRenderProps> = (props) => {\n const valueList = toArray<TagListRenderValue>(props.value);\n const maxShowCount = props.maxShowCount || 0;\n const tagList = useMemo(() => {\n if (isUndefinedOrNull(props.value)) {\n return [];\n }\n return valueList\n .map((value) => {\n const target = props.dataList?.find(\n (item) => valueIsEqual(item.value, value) || item.label === value,\n );\n if (target) {\n return {\n label: target.label || target.value,\n color: props.colorMap?.[String(target.value)] || target.color,\n value: value,\n };\n }\n if (props.forceMatch) {\n return undefined;\n }\n return { label: `${value}`, color: undefined, value: value };\n })\n .filter(Boolean) as TagListRenderDataItem[];\n }, [props.colorMap, props.dataList, props.forceMatch, props.value, valueList]);\n\n if (tagList.length === 0) {\n return <Fragment>{props.value}</Fragment>;\n }\n\n const newTagList = tagList.slice(0, maxShowCount || tagList.length);\n\n const popoverTagList =\n newTagList.length < tagList.length\n ? props.foldShowAllTag\n ? tagList\n : tagList.slice(maxShowCount, tagList.length)\n : [];\n\n return (\n <Fragment>\n {newTagList.map((item, index) => {\n const color = item.color;\n if (!color && props.noColorShowTag === false) {\n return <Fragment key={index}>{item.label}</Fragment>;\n }\n return (\n <Tag\n color={color}\n style={index === newTagList.length - 1 ? { margin: '0' } : { marginRight: 5 }}\n key={index}\n >\n {item.label}\n </Tag>\n );\n })}\n {popoverTagList.length > 0 ? (\n <Popover\n content={\n <TagListRender\n {...props}\n value={popoverTagList.map((item) => item.value)}\n dataList={popoverTagList}\n maxShowCount={undefined}\n />\n }\n >\n <Tag color=\"blue\" style={{ marginLeft: 5, cursor: 'pointer' }}>\n ...\n </Tag>\n </Popover>\n ) : null}\n </Fragment>\n );\n};\n\nTagListRender.defaultProps = {\n forceMatch: false,\n};\n"],"names":["TagListRender","props","valueList","toArray","value","maxShowCount","tagList","useMemo","isUndefinedOrNull","map","_props$dataList","target","dataList","find","item","valueIsEqual","label","_props$colorMap","color","colorMap","String","forceMatch","undefined","filter","Boolean","length","_jsx","Fragment","children","newTagList","slice","popoverTagList","foldShowAllTag","_jsxs","index","noColorShowTag","Tag","style","margin","marginRight","Popover","content","_TagListRender","_extends","marginLeft","cursor","defaultProps"],"mappings":";uRAgDO,IAAMA,EAAwC,SAAxCA,EAAyCC,GACpD,IAAMC,EAAYC,EAA4BF,EAAMG,OACpD,IAAMC,EAAeJ,EAAMI,cAAgB,EAC3C,IAAMC,EAAUC,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/tag-list-render/tag-list.tsx"],"sourcesContent":["import { isUndefinedOrNull, toArray, valueIsEqual } from '@flatbiz/utils';\nimport { Popover, Tag } from 'antd';\nimport { FC, Fragment, useMemo } from 'react';\n\nexport type TagListRenderValue = string | number | boolean;\nexport type TagListRenderDataItem = { label: string; value: TagListRenderValue; color?: string };\n\nexport type TagListRenderProps = {\n dataList: TagListRenderDataItem[];\n /** 颜色配置数据,例如:{ 1:'red', 2: 'blue'} key值与 dataList中value相同 */\n colorMap?: Record<string | number, string>;\n value?: TagListRenderValue | TagListRenderValue[];\n /** 是否强制匹配,默认值false */\n forceMatch?: boolean;\n /** 最大显示Tag数量,超出折叠隐藏 */\n maxShowCount?: number;\n /** 触发maxShowCount后,被折叠的内容是否显示完整tag,默认值:false */\n foldShowAllTag?: boolean;\n /** 所有tag背景匹配此颜色,在colorMap为空、dataList中未配置color的情况下有效果 */\n tagColor?: string;\n /** 未匹配到color时,是否显示Tag效果,默认值:true */\n noColorShowTag?: boolean;\n};\n\n/**\n * 在列表数据dataList中通过value匹配数据,以Tag形式展示\n * ```\n * 1. forceMatch: 是否强制匹配(默认值false)\n * - false: 匹配不到显示value值,\n * - true:匹配不到不显示\n * 2. value 与 dataList中label、value任一相等,都可匹配\n *\n * 用法1:\n * <TagListRender\n * dataList=[{ label: '启用', value: 1 }]\n * colorMap={{ 1:'red', 2: 'blue'}}\n * value={1} />\n * =>\n * <Tag color={'red'}>启用</Tag>\n *\n * 用法2\n * <TagListRender\n * dataList=[{ label: '启用', value: 1. color: 'red' }]\n * value=\"启用\" />\n * =>\n * <Tag color={'red'}>启用</Tag>\n * ```\n */\nexport const TagListRender: FC<TagListRenderProps> = (props) => {\n const valueList = toArray<TagListRenderValue>(props.value);\n const maxShowCount = props.maxShowCount || 0;\n const tagList = useMemo(() => {\n if (isUndefinedOrNull(props.value)) {\n return [];\n }\n return valueList\n .map((value) => {\n const target = props.dataList?.find(\n (item) => valueIsEqual(item.value, value) || item.label === value,\n );\n if (target) {\n return {\n label: target.label || target.value,\n color: props.colorMap?.[String(target.value)] || target.color,\n value: value,\n };\n }\n if (props.forceMatch) {\n return undefined;\n }\n return { label: `${value}`, color: undefined, value: value };\n })\n .filter(Boolean) as TagListRenderDataItem[];\n }, [props.colorMap, props.dataList, props.forceMatch, props.value, valueList]);\n\n if (tagList.length === 0) {\n return <Fragment>{props.value}</Fragment>;\n }\n\n const newTagList = tagList.slice(0, maxShowCount || tagList.length);\n\n const popoverTagList =\n newTagList.length < tagList.length\n ? props.foldShowAllTag\n ? tagList\n : tagList.slice(maxShowCount, tagList.length)\n : [];\n\n return (\n <Fragment>\n {newTagList.map((item, index) => {\n const color = item.color;\n if (!color && props.noColorShowTag === false) {\n return <Fragment key={index}>{item.label}</Fragment>;\n }\n return (\n <Tag\n color={color}\n style={index === newTagList.length - 1 ? { margin: '0' } : { marginRight: 5 }}\n key={index}\n >\n {item.label}\n </Tag>\n );\n })}\n {popoverTagList.length > 0 ? (\n <Popover\n content={\n <TagListRender\n {...props}\n value={popoverTagList.map((item) => item.value)}\n dataList={popoverTagList}\n maxShowCount={undefined}\n />\n }\n >\n <Tag color=\"blue\" style={{ marginLeft: 5, cursor: 'pointer' }}>\n ...\n </Tag>\n </Popover>\n ) : null}\n </Fragment>\n );\n};\n\nTagListRender.defaultProps = {\n forceMatch: false,\n};\n"],"names":["TagListRender","props","valueList","toArray","value","maxShowCount","tagList","useMemo","isUndefinedOrNull","map","_props$dataList","target","dataList","find","item","valueIsEqual","label","_props$colorMap","color","colorMap","String","forceMatch","undefined","filter","Boolean","length","_jsx","Fragment","children","newTagList","slice","popoverTagList","foldShowAllTag","_jsxs","index","noColorShowTag","Tag","style","margin","marginRight","Popover","content","_TagListRender","_extends","marginLeft","cursor","defaultProps"],"mappings":";uRAgDO,IAAMA,EAAwC,SAAxCA,EAAyCC,GACpD,IAAMC,EAAYC,EAA4BF,EAAMG,OACpD,IAAMC,EAAeJ,EAAMI,cAAgB,EAC3C,IAAMC,EAAUC,EAAQ,WACtB,GAAIC,EAAkBP,EAAMG,OAAQ,CAClC,MAAO,EACT,CACA,OAAOF,EACJO,IAAI,SAACL,GAAU,IAAAM,EACd,IAAMC,GAAMD,EAAGT,EAAMW,WAAQ,UAAA,EAAdF,EAAgBG,KAC7B,SAACC,GAAI,OAAKC,EAAaD,EAAKV,MAAOA,IAAUU,EAAKE,QAAUZ,CAAK,GAEnE,GAAIO,EAAQ,CAAA,IAAAM,EACV,MAAO,CACLD,MAAOL,EAAOK,OAASL,EAAOP,MAC9Bc,QAAOD,EAAAhB,EAAMkB,uBAANF,EAAiBG,OAAOT,EAAOP,UAAWO,EAAOO,MACxDd,MAAOA,EAEX,CACA,GAAIH,EAAMoB,WAAY,CACpB,OAAOC,SACT,CACA,MAAO,CAAEN,SAAUZ,EAASc,MAAOI,UAAWlB,MAAOA,EACvD,GACCmB,OAAOC,QACX,EAAE,CAACvB,EAAMkB,SAAUlB,EAAMW,SAAUX,EAAMoB,WAAYpB,EAAMG,MAAOF,IAEnE,GAAII,EAAQmB,SAAW,EAAG,CACxB,OAAOC,EAACC,EAAQ,CAAAC,SAAE3B,EAAMG,OAC1B,CAEA,IAAMyB,EAAavB,EAAQwB,MAAM,EAAGzB,GAAgBC,EAAQmB,QAE5D,IAAMM,EACJF,EAAWJ,OAASnB,EAAQmB,OACxBxB,EAAM+B,eACJ1B,EACAA,EAAQwB,MAAMzB,EAAcC,EAAQmB,QACtC,GAEN,OACEQ,EAACN,EAAQ,CAAAC,SAAA,CACNC,EAAWpB,IAAI,SAACK,EAAMoB,GACrB,IAAMhB,EAAQJ,EAAKI,MACnB,IAAKA,GAASjB,EAAMkC,iBAAmB,MAAO,CAC5C,OAAOT,EAACC,EAAQ,CAAAC,SAAcd,EAAKE,OAAbkB,EACxB,CACA,OACER,EAACU,EAAG,CACFlB,MAAOA,EACPmB,MAAOH,IAAUL,EAAWJ,OAAS,EAAI,CAAEa,OAAQ,KAAQ,CAAEC,YAAa,GAAIX,SAG7Ed,EAAKE,OAFDkB,EAKV,GACAH,EAAeN,OAAS,EACvBC,EAACc,EAAO,CACNC,QACEf,EAACgB,EAAaC,KACR1C,EAAK,CACTG,MAAO2B,EAAetB,IAAI,SAACK,GAAI,OAAKA,EAAKV,QACzCQ,SAAUmB,EACV1B,aAAciB,aAEjBM,SAEDF,EAACU,EAAG,CAAClB,MAAM,OAAOmB,MAAO,CAAEO,WAAY,EAAGC,OAAQ,WAAYjB,SAAC,UAI/D,OAGV,EAEA5B,EAAc8C,aAAe,CAC3BzB,WAAY"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* eslint-disable */
|
|
2
2
|
import './index.css';
|
|
3
3
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
4
|
-
import{toArray as r,isUndefinedOrNull as e,valueIsEqual as n}from"@flatbiz/utils";import{Tag as l}from"antd";import{useMemo as t,Fragment as a}from"react";import{jsx as o}from"react/jsx-runtime";var u=function u(i){var f=r(i.value);var c=t(
|
|
4
|
+
import{toArray as r,isUndefinedOrNull as e,valueIsEqual as n}from"@flatbiz/utils";import{Tag as l}from"antd";import{useMemo as t,Fragment as a}from"react";import{jsx as o}from"react/jsx-runtime";var u=function u(i){var f=r(i.value);var c=t(function(){if(e(i.value)){return[]}return f.map(function(r){var e;var l=(e=i.dataList)==null?void 0:e.find(function(e){return n(e.value,r)||e.label===r});if(l){var t;return{label:l.label||l.value,color:((t=i.colorMap)==null?void 0:t[String(l.value)])||l.color,value:r}}if(i.forceMatch){return undefined}return{label:""+r,color:undefined,value:r}}).filter(Boolean)},[i.colorMap,i.dataList,i.forceMatch,i.value,f]);if(c.length===0){return o(a,{children:i.value})}var d=c.find(function(r){return!!(r!=null&&r.color)});if(d){return o(a,{children:c.map(function(r,e){return o(l,{color:r.color,style:e===c.length-1?{margin:"0"}:undefined,children:r.label},e)})})}return o(a,{children:c.map(function(r){return r.label}).join(",")})};u.defaultProps={forceMatch:false};export{u as TagListSelect};
|
|
5
5
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/tag-list-select/tag-list-select.tsx"],"sourcesContent":["import { isUndefinedOrNull, toArray, valueIsEqual } from '@flatbiz/utils';\nimport { Tag } from 'antd';\nimport { FC, Fragment, useMemo } from 'react';\n\nexport type TagListSelectValue = string | number | boolean;\nexport type TagListSelectDataItem = { label: string; value: TagListSelectValue; color?: string };\n\nexport type TagListSelectProps = {\n dataList: TagListSelectDataItem[];\n /** 颜色配置数据,例如:{ 1:'red', 2: 'blue'} key值与 dataList中value相同 */\n colorMap?: Record<string | number, string>;\n value?: TagListSelectValue | TagListSelectValue[];\n /** 是否强制匹配,默认值false */\n forceMatch?: boolean;\n};\n\n/**\n * 在列表数据中通过value匹配数据,以Tag形式展示\n * @deprecated 已过期,请使用 TagListRender 组件\n * @param props\n * @returns\n * ```\n * 1. forceMatch: 是否强制匹配(默认值false)\n * - false: 匹配不到显示value值,\n * - true:匹配不到不显示\n * 2. value 与 dataList中label、value任一相等,都可匹配\n *\n * 用法1:\n * <TagListSelect\n * dataList=[{ label: '启用', value: 1 }]\n * colorMap={{ 1:'red', 2: 'blue'}}\n * value={1} />\n * =>\n * <Tag color={'red'}>启用</Tag>\n *\n * 用法2\n * <TagListSelect\n * dataList=[{ label: '启用', value: 1. color: 'red' }]\n * value=\"启用\" />\n * =>\n * <Tag color={'red'}>启用</Tag>\n * ```\n */\nexport const TagListSelect: FC<TagListSelectProps> = (props) => {\n const valueList = toArray<TagListSelectValue>(props.value);\n const tagList = useMemo(() => {\n if (isUndefinedOrNull(props.value)) {\n return [];\n }\n return valueList\n .map((value) => {\n const target = props.dataList?.find(\n (item) => valueIsEqual(item.value, value) || item.label === value,\n );\n if (target) {\n return {\n label: target.label || target.value,\n color: props.colorMap?.[String(target.value)] || target.color,\n value: value,\n };\n }\n if (props.forceMatch) {\n return undefined;\n }\n return { label: `${value}`, color: undefined, value: value };\n })\n .filter(Boolean) as TagListSelectDataItem[];\n }, [props.colorMap, props.dataList, props.forceMatch, props.value, valueList]);\n\n if (tagList.length === 0) {\n return <Fragment>{props.value}</Fragment>;\n }\n\n const hasColor = tagList.find((item) => !!item?.color);\n\n if (hasColor) {\n return (\n <Fragment>\n {tagList.map((item, index) => {\n return (\n <Tag\n color={item.color}\n style={index === tagList.length - 1 ? { margin: '0' } : undefined}\n key={index}\n >\n {item.label}\n </Tag>\n );\n })}\n </Fragment>\n );\n }\n\n return <Fragment>{tagList.map((item) => item.label).join(',')}</Fragment>;\n};\n\nTagListSelect.defaultProps = {\n forceMatch: false,\n};\n"],"names":["TagListSelect","props","valueList","toArray","value","tagList","useMemo","isUndefinedOrNull","map","_props$dataList","target","dataList","find","item","valueIsEqual","label","_props$colorMap","color","colorMap","String","forceMatch","undefined","filter","Boolean","length","_jsx","Fragment","children","hasColor","index","Tag","style","margin","join","defaultProps"],"mappings":";uMA2CaA,EAAwC,SAAxCA,EAAyCC,GACpD,IAAMC,EAAYC,EAA4BF,EAAMG,OACpD,IAAMC,EAAUC,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/tag-list-select/tag-list-select.tsx"],"sourcesContent":["import { isUndefinedOrNull, toArray, valueIsEqual } from '@flatbiz/utils';\nimport { Tag } from 'antd';\nimport { FC, Fragment, useMemo } from 'react';\n\nexport type TagListSelectValue = string | number | boolean;\nexport type TagListSelectDataItem = { label: string; value: TagListSelectValue; color?: string };\n\nexport type TagListSelectProps = {\n dataList: TagListSelectDataItem[];\n /** 颜色配置数据,例如:{ 1:'red', 2: 'blue'} key值与 dataList中value相同 */\n colorMap?: Record<string | number, string>;\n value?: TagListSelectValue | TagListSelectValue[];\n /** 是否强制匹配,默认值false */\n forceMatch?: boolean;\n};\n\n/**\n * 在列表数据中通过value匹配数据,以Tag形式展示\n * @deprecated 已过期,请使用 TagListRender 组件\n * @param props\n * @returns\n * ```\n * 1. forceMatch: 是否强制匹配(默认值false)\n * - false: 匹配不到显示value值,\n * - true:匹配不到不显示\n * 2. value 与 dataList中label、value任一相等,都可匹配\n *\n * 用法1:\n * <TagListSelect\n * dataList=[{ label: '启用', value: 1 }]\n * colorMap={{ 1:'red', 2: 'blue'}}\n * value={1} />\n * =>\n * <Tag color={'red'}>启用</Tag>\n *\n * 用法2\n * <TagListSelect\n * dataList=[{ label: '启用', value: 1. color: 'red' }]\n * value=\"启用\" />\n * =>\n * <Tag color={'red'}>启用</Tag>\n * ```\n */\nexport const TagListSelect: FC<TagListSelectProps> = (props) => {\n const valueList = toArray<TagListSelectValue>(props.value);\n const tagList = useMemo(() => {\n if (isUndefinedOrNull(props.value)) {\n return [];\n }\n return valueList\n .map((value) => {\n const target = props.dataList?.find(\n (item) => valueIsEqual(item.value, value) || item.label === value,\n );\n if (target) {\n return {\n label: target.label || target.value,\n color: props.colorMap?.[String(target.value)] || target.color,\n value: value,\n };\n }\n if (props.forceMatch) {\n return undefined;\n }\n return { label: `${value}`, color: undefined, value: value };\n })\n .filter(Boolean) as TagListSelectDataItem[];\n }, [props.colorMap, props.dataList, props.forceMatch, props.value, valueList]);\n\n if (tagList.length === 0) {\n return <Fragment>{props.value}</Fragment>;\n }\n\n const hasColor = tagList.find((item) => !!item?.color);\n\n if (hasColor) {\n return (\n <Fragment>\n {tagList.map((item, index) => {\n return (\n <Tag\n color={item.color}\n style={index === tagList.length - 1 ? { margin: '0' } : undefined}\n key={index}\n >\n {item.label}\n </Tag>\n );\n })}\n </Fragment>\n );\n }\n\n return <Fragment>{tagList.map((item) => item.label).join(',')}</Fragment>;\n};\n\nTagListSelect.defaultProps = {\n forceMatch: false,\n};\n"],"names":["TagListSelect","props","valueList","toArray","value","tagList","useMemo","isUndefinedOrNull","map","_props$dataList","target","dataList","find","item","valueIsEqual","label","_props$colorMap","color","colorMap","String","forceMatch","undefined","filter","Boolean","length","_jsx","Fragment","children","hasColor","index","Tag","style","margin","join","defaultProps"],"mappings":";uMA2CaA,EAAwC,SAAxCA,EAAyCC,GACpD,IAAMC,EAAYC,EAA4BF,EAAMG,OACpD,IAAMC,EAAUC,EAAQ,WACtB,GAAIC,EAAkBN,EAAMG,OAAQ,CAClC,MAAO,EACT,CACA,OAAOF,EACJM,IAAI,SAACJ,GAAU,IAAAK,EACd,IAAMC,GAAMD,EAAGR,EAAMU,WAAQ,UAAA,EAAdF,EAAgBG,KAC7B,SAACC,GAAI,OAAKC,EAAaD,EAAKT,MAAOA,IAAUS,EAAKE,QAAUX,CAAK,GAEnE,GAAIM,EAAQ,CAAA,IAAAM,EACV,MAAO,CACLD,MAAOL,EAAOK,OAASL,EAAON,MAC9Ba,QAAOD,EAAAf,EAAMiB,uBAANF,EAAiBG,OAAOT,EAAON,UAAWM,EAAOO,MACxDb,MAAOA,EAEX,CACA,GAAIH,EAAMmB,WAAY,CACpB,OAAOC,SACT,CACA,MAAO,CAAEN,SAAUX,EAASa,MAAOI,UAAWjB,MAAOA,EACvD,GACCkB,OAAOC,QACX,EAAE,CAACtB,EAAMiB,SAAUjB,EAAMU,SAAUV,EAAMmB,WAAYnB,EAAMG,MAAOF,IAEnE,GAAIG,EAAQmB,SAAW,EAAG,CACxB,OAAOC,EAACC,EAAQ,CAAAC,SAAE1B,EAAMG,OAC1B,CAEA,IAAMwB,EAAWvB,EAAQO,KAAK,SAACC,GAAI,SAAOA,GAAAA,MAAAA,EAAMI,SAEhD,GAAIW,EAAU,CACZ,OACEH,EAACC,EAAQ,CAAAC,SACNtB,EAAQG,IAAI,SAACK,EAAMgB,GAClB,OACEJ,EAACK,EAAG,CACFb,MAAOJ,EAAKI,MACZc,MAAOF,IAAUxB,EAAQmB,OAAS,EAAI,CAAEQ,OAAQ,KAAQX,UAAUM,SAGjEd,EAAKE,OAFDc,MAQjB,CAEA,OAAOJ,EAACC,EAAQ,CAAAC,SAAEtB,EAAQG,IAAI,SAACK,GAAI,OAAKA,EAAKE,QAAOkB,KAAK,MAC3D,EAEAjC,EAAckC,aAAe,CAC3Bd,WAAY"}
|
package/esm/tag-wrapper/index.js
CHANGED
|
@@ -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 i from"@ant-design/icons/es/icons/LoadingOutlined";import{a as r,_ as o}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{isPromise as e}from"@dimjs/lang/cjs/is-promise";import{hooks as n}from"@wove/react/cjs/hooks";import{isUndefinedOrNull as t}from"@flatbiz/utils";import{Tag as s}from"antd";import{useState as a}from"react";import{fbaHooks as l}from"../fba-hooks/index.js";import{jsxs as c,jsx as m}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-array";import"../use-responsive-point-
|
|
5
|
+
import i from"@ant-design/icons/es/icons/LoadingOutlined";import{a as r,_ as o}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{isPromise as e}from"@dimjs/lang/cjs/is-promise";import{hooks as n}from"@wove/react/cjs/hooks";import{isUndefinedOrNull as t}from"@flatbiz/utils";import{Tag as s}from"antd";import{useState as a}from"react";import{fbaHooks as l}from"../fba-hooks/index.js";import{jsxs as c,jsx as m}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-array";import"../use-responsive-point-1e6d93d9.js";import"@dimjs/utils/cjs/uuid";var u=["loading","children","debounceDuration","style"];var f=function f(d){var p=d.loading,v=d.children,j=d.debounceDuration,g=d.style,h=r(d,u);var y=a(false),b=y[0],k=y[1];var C=t(j)?500:j;l.useEffectCustom(function(){if(!t(p)){k(p||false)}},[p]);var x=n.useDebounceClick(function(i){var r=d.onClick;if(!r){return}var o=r(i);if(o&&e(o)){k(true);o.catch(function(i){console.error(i)}).finally(function(){k(false)})}},C);return c(s,o({},h,{onClick:x,style:o({cursor:d.onClick?"pointer":"default"},g),children:[b&&m("div",{className:"tw-center-loading",children:m(i,{})}),b?m("div",{style:{opacity:.5},children:v}):v]}))};export{f as TagWrapper};
|
|
6
6
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/tag-wrapper/tag-wrapper.tsx"],"sourcesContent":["import { LoadingOutlined } from '@ant-design/icons';\nimport { isPromise } from '@dimjs/lang';\nimport { isUndefinedOrNull, TAny } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Tag, TagProps } from 'antd';\nimport { useState } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport './style.less';\n\nexport type TagWrapperProps = Omit<TagProps, 'onClick'> & {\n onClick?: (e: React.MouseEvent<HTMLElement>) => Promise<TAny> | void;\n loading?: boolean;\n // 重复点击间隙,单位毫秒 默认值:500\n debounceDuration?: number;\n};\n\n/**\n * 为 Tag 添加 loading 效果\n */\nexport const TagWrapper = (props: TagWrapperProps) => {\n const { loading, children, debounceDuration, style, ...otherProps } = props;\n\n const [innerLoading, setLoading] = useState(false);\n const debounceDurationMew = isUndefinedOrNull(debounceDuration) ? 500 : debounceDuration;\n\n fbaHooks.useEffectCustom(() => {\n if (!isUndefinedOrNull(loading)) {\n setLoading(loading || false);\n }\n }, [loading]);\n\n const onClick = hooks.useDebounceClick((e) => {\n const onClick = props.onClick;\n if (!onClick) {\n return;\n }\n const result = onClick(e);\n if (result && isPromise(result)) {\n setLoading(true);\n result\n .catch((error) => {\n console.error(error);\n })\n .finally(() => {\n setLoading(false);\n });\n }\n }, debounceDurationMew);\n\n return (\n <Tag\n {...otherProps}\n onClick={onClick}\n style={{ cursor: props.onClick ? 'pointer' : 'default', ...style }}\n >\n {innerLoading && (\n <div className=\"tw-center-loading\">\n <LoadingOutlined />\n </div>\n )}\n {innerLoading ? <div style={{ opacity: 0.5 }}>{children}</div> : children}\n </Tag>\n );\n};\n"],"names":["TagWrapper","props","loading","children","debounceDuration","style","otherProps","_objectWithoutPropertiesLoose","_excluded","_useState","useState","innerLoading","setLoading","debounceDurationMew","isUndefinedOrNull","fbaHooks","useEffectCustom","onClick","_hooks","useDebounceClick","e","result","_isPromise","catch","error","console","finally","_jsxs","Tag","_extends","cursor","_jsx","className","_LoadingOutlined","opacity"],"mappings":";4lBAmBaA,EAAa,SAAbA,EAAcC,GACzB,IAAQC,EAA8DD,EAA9DC,QAASC,EAAqDF,EAArDE,SAAUC,EAA2CH,EAA3CG,iBAAkBC,EAAyBJ,EAAzBI,MAAUC,EAAUC,EAAKN,EAAKO,GAE3E,IAAAC,EAAmCC,EAAS,OAArCC,EAAYF,EAAA,GAAEG,EAAUH,EAAA,GAC/B,IAAMI,EAAsBC,EAAkBV,GAAoB,IAAMA,EAExEW,EAASC,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/tag-wrapper/tag-wrapper.tsx"],"sourcesContent":["import { LoadingOutlined } from '@ant-design/icons';\nimport { isPromise } from '@dimjs/lang';\nimport { isUndefinedOrNull, TAny } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Tag, TagProps } from 'antd';\nimport { useState } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport './style.less';\n\nexport type TagWrapperProps = Omit<TagProps, 'onClick'> & {\n onClick?: (e: React.MouseEvent<HTMLElement>) => Promise<TAny> | void;\n loading?: boolean;\n // 重复点击间隙,单位毫秒 默认值:500\n debounceDuration?: number;\n};\n\n/**\n * 为 Tag 添加 loading 效果\n */\nexport const TagWrapper = (props: TagWrapperProps) => {\n const { loading, children, debounceDuration, style, ...otherProps } = props;\n\n const [innerLoading, setLoading] = useState(false);\n const debounceDurationMew = isUndefinedOrNull(debounceDuration) ? 500 : debounceDuration;\n\n fbaHooks.useEffectCustom(() => {\n if (!isUndefinedOrNull(loading)) {\n setLoading(loading || false);\n }\n }, [loading]);\n\n const onClick = hooks.useDebounceClick((e) => {\n const onClick = props.onClick;\n if (!onClick) {\n return;\n }\n const result = onClick(e);\n if (result && isPromise(result)) {\n setLoading(true);\n result\n .catch((error) => {\n console.error(error);\n })\n .finally(() => {\n setLoading(false);\n });\n }\n }, debounceDurationMew);\n\n return (\n <Tag\n {...otherProps}\n onClick={onClick}\n style={{ cursor: props.onClick ? 'pointer' : 'default', ...style }}\n >\n {innerLoading && (\n <div className=\"tw-center-loading\">\n <LoadingOutlined />\n </div>\n )}\n {innerLoading ? <div style={{ opacity: 0.5 }}>{children}</div> : children}\n </Tag>\n );\n};\n"],"names":["TagWrapper","props","loading","children","debounceDuration","style","otherProps","_objectWithoutPropertiesLoose","_excluded","_useState","useState","innerLoading","setLoading","debounceDurationMew","isUndefinedOrNull","fbaHooks","useEffectCustom","onClick","_hooks","useDebounceClick","e","result","_isPromise","catch","error","console","finally","_jsxs","Tag","_extends","cursor","_jsx","className","_LoadingOutlined","opacity"],"mappings":";4lBAmBaA,EAAa,SAAbA,EAAcC,GACzB,IAAQC,EAA8DD,EAA9DC,QAASC,EAAqDF,EAArDE,SAAUC,EAA2CH,EAA3CG,iBAAkBC,EAAyBJ,EAAzBI,MAAUC,EAAUC,EAAKN,EAAKO,GAE3E,IAAAC,EAAmCC,EAAS,OAArCC,EAAYF,EAAA,GAAEG,EAAUH,EAAA,GAC/B,IAAMI,EAAsBC,EAAkBV,GAAoB,IAAMA,EAExEW,EAASC,gBAAgB,WACvB,IAAKF,EAAkBZ,GAAU,CAC/BU,EAAWV,GAAW,MACxB,CACF,EAAG,CAACA,IAEJ,IAAMe,EAAUC,EAAMC,iBAAiB,SAACC,GACtC,IAAMH,EAAUhB,EAAMgB,QACtB,IAAKA,EAAS,CACZ,MACF,CACA,IAAMI,EAASJ,EAAQG,GACvB,GAAIC,GAAUC,EAAUD,GAAS,CAC/BT,EAAW,MACXS,EACGE,MAAM,SAACC,GACNC,QAAQD,MAAMA,EAChB,GACCE,QAAQ,WACPd,EAAW,MACb,EACJ,CACD,EAAEC,GAEH,OACEc,EAACC,EAAGC,KACEvB,EAAU,CACdW,QAASA,EACTZ,MAAKwB,EAAA,CAAIC,OAAQ7B,EAAMgB,QAAU,UAAY,WAAcZ,GAAQF,SAAA,CAElEQ,GACCoB,EAAA,MAAA,CAAKC,UAAU,oBAAmB7B,SAChC4B,EAAAE,EAAkB,MAGrBtB,EAAeoB,EAAA,MAAA,CAAK1B,MAAO,CAAE6B,QAAS,IAAM/B,SAAEA,IAAkBA,KAGvE"}
|
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
import './../fba-hooks/index.css';
|
|
3
3
|
import './index.css';
|
|
4
4
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
5
|
-
import{useSize as t}from"ahooks";import{Tooltip as i}from"antd";import{useRef as r,useState as e}from"react";import{fbaHooks as n}from"../fba-hooks/index.js";import{jsx as s,jsxs as o}from"react/jsx-runtime";import"../_rollupPluginBabelHelpers-c0dbec57.js";import"@dimjs/lang/cjs/is-array";import"@wove/react/cjs/hooks";import"@flatbiz/utils";import"../use-responsive-point-
|
|
5
|
+
import{useSize as t}from"ahooks";import{Tooltip as i}from"antd";import{useRef as r,useState as e}from"react";import{fbaHooks as n}from"../fba-hooks/index.js";import{jsx as s,jsxs as o}from"react/jsx-runtime";import"../_rollupPluginBabelHelpers-c0dbec57.js";import"@dimjs/lang/cjs/is-array";import"@wove/react/cjs/hooks";import"@flatbiz/utils";import"../use-responsive-point-1e6d93d9.js";import"@dimjs/utils/cjs/uuid";var d=function d(a){var l=r();var u=e(0),f=u[0],m=u[1];var p=t(l);var c=n.useMemoCustom(function(){var t;if(a.hideTips)return false;if(a.width!==undefined){return f>a.width}var i=((t=l.current)==null||(t=t.parentElement)==null?void 0:t.offsetWidth)||0;return f>i},[a.hideTips,a.width,f,p==null?void 0:p.width]);return s(i,{title:c?a.text:undefined,children:o("span",{className:"text-css-ellipsis",style:a.width?{width:a.width}:{},ref:function t(i){if(i){l.current=i}},children:[s("span",{className:"tce-hidden",children:s("span",{ref:function t(i){if(i){m(i.offsetWidth)}},children:a.text})}),a.text]})})};export{d as TextCssEllipsis};
|
|
6
6
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/text-css-ellipsis/text-css-ellipsis.tsx"],"sourcesContent":["import { useSize } from 'ahooks';\nimport { Tooltip } from 'antd';\nimport { useRef, useState } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport './style.less';\n\nexport type CssTextEllipsisProps = {\n text: string;\n width?: number;\n /** 隐藏tips */\n hideTips?: boolean;\n};\n\n/**\n * 内容超过宽度截取,并在尾部添加...,被截取的添加Tooltip显示完整数据\n * @deprecated 已过期,请使用 TextOverflow 组件\n * ```\n * 1. 如果配置 width,则使用文本长度与width进行比较\n * 2. 如果没有配置 width,则使用文本长度与当前节点父节点宽度进行比较\n *\n * 注意:\n * 1. 当前节点父节点可能需要添加 overflow-x: hidden;\n * 2. 如果父节点设置flex-shrink会有影响,可复写flex-shrink: initial;\n * ```\n */\nexport const TextCssEllipsis = (props: CssTextEllipsisProps) => {\n const rootRef = useRef<HTMLSpanElement>();\n const [textNodeWidth, setTextNodeWidth] = useState(0);\n const size = useSize(rootRef);\n\n const showTips = fbaHooks.useMemoCustom(() => {\n if (props.hideTips) return false;\n if (props.width !== undefined) {\n return textNodeWidth > props.width;\n }\n const parentNodeWidth = rootRef.current?.parentElement?.offsetWidth || 0;\n return textNodeWidth > parentNodeWidth;\n }, [props.hideTips, props.width, textNodeWidth, size?.width]);\n\n return (\n <Tooltip title={showTips ? props.text : undefined}>\n <span\n className=\"text-css-ellipsis\"\n style={props.width ? { width: props.width } : {}}\n ref={(node) => {\n if (node) {\n rootRef.current = node;\n }\n }}\n >\n <span className=\"tce-hidden\">\n <span\n ref={(node) => {\n if (node) {\n setTextNodeWidth(node.offsetWidth);\n }\n }}\n >\n {props.text}\n </span>\n </span>\n {props.text}\n </span>\n </Tooltip>\n );\n};\n"],"names":["TextCssEllipsis","props","rootRef","useRef","_useState","useState","textNodeWidth","setTextNodeWidth","size","useSize","showTips","fbaHooks","useMemoCustom","_rootRef$current","hideTips","width","undefined","parentNodeWidth","current","parentElement","offsetWidth","_jsx","Tooltip","title","text","children","_jsxs","className","style","ref","node"],"mappings":";qaAyBaA,EAAkB,SAAlBA,EAAmBC,GAC9B,IAAMC,EAAUC,IAChB,IAAAC,EAA0CC,EAAS,GAA5CC,EAAaF,EAAA,GAAEG,EAAgBH,EAAA,GACtC,IAAMI,EAAOC,EAAQP,GAErB,IAAMQ,EAAWC,EAASC,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/text-css-ellipsis/text-css-ellipsis.tsx"],"sourcesContent":["import { useSize } from 'ahooks';\nimport { Tooltip } from 'antd';\nimport { useRef, useState } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport './style.less';\n\nexport type CssTextEllipsisProps = {\n text: string;\n width?: number;\n /** 隐藏tips */\n hideTips?: boolean;\n};\n\n/**\n * 内容超过宽度截取,并在尾部添加...,被截取的添加Tooltip显示完整数据\n * @deprecated 已过期,请使用 TextOverflow 组件\n * ```\n * 1. 如果配置 width,则使用文本长度与width进行比较\n * 2. 如果没有配置 width,则使用文本长度与当前节点父节点宽度进行比较\n *\n * 注意:\n * 1. 当前节点父节点可能需要添加 overflow-x: hidden;\n * 2. 如果父节点设置flex-shrink会有影响,可复写flex-shrink: initial;\n * ```\n */\nexport const TextCssEllipsis = (props: CssTextEllipsisProps) => {\n const rootRef = useRef<HTMLSpanElement>();\n const [textNodeWidth, setTextNodeWidth] = useState(0);\n const size = useSize(rootRef);\n\n const showTips = fbaHooks.useMemoCustom(() => {\n if (props.hideTips) return false;\n if (props.width !== undefined) {\n return textNodeWidth > props.width;\n }\n const parentNodeWidth = rootRef.current?.parentElement?.offsetWidth || 0;\n return textNodeWidth > parentNodeWidth;\n }, [props.hideTips, props.width, textNodeWidth, size?.width]);\n\n return (\n <Tooltip title={showTips ? props.text : undefined}>\n <span\n className=\"text-css-ellipsis\"\n style={props.width ? { width: props.width } : {}}\n ref={(node) => {\n if (node) {\n rootRef.current = node;\n }\n }}\n >\n <span className=\"tce-hidden\">\n <span\n ref={(node) => {\n if (node) {\n setTextNodeWidth(node.offsetWidth);\n }\n }}\n >\n {props.text}\n </span>\n </span>\n {props.text}\n </span>\n </Tooltip>\n );\n};\n"],"names":["TextCssEllipsis","props","rootRef","useRef","_useState","useState","textNodeWidth","setTextNodeWidth","size","useSize","showTips","fbaHooks","useMemoCustom","_rootRef$current","hideTips","width","undefined","parentNodeWidth","current","parentElement","offsetWidth","_jsx","Tooltip","title","text","children","_jsxs","className","style","ref","node"],"mappings":";qaAyBaA,EAAkB,SAAlBA,EAAmBC,GAC9B,IAAMC,EAAUC,IAChB,IAAAC,EAA0CC,EAAS,GAA5CC,EAAaF,EAAA,GAAEG,EAAgBH,EAAA,GACtC,IAAMI,EAAOC,EAAQP,GAErB,IAAMQ,EAAWC,EAASC,cAAc,WAAM,IAAAC,EAC5C,GAAIZ,EAAMa,SAAU,OAAO,MAC3B,GAAIb,EAAMc,QAAUC,UAAW,CAC7B,OAAOV,EAAgBL,EAAMc,KAC/B,CACA,IAAME,IAAkBJ,EAAAX,EAAQgB,UAAO,OAAAL,EAAfA,EAAiBM,gBAAa,UAAA,EAA9BN,EAAgCO,cAAe,EACvE,OAAOd,EAAgBW,CACxB,EAAE,CAAChB,EAAMa,SAAUb,EAAMc,MAAOT,EAAeE,GAAI,UAAA,EAAJA,EAAMO,QAEtD,OACEM,EAACC,EAAO,CAACC,MAAOb,EAAWT,EAAMuB,KAAOR,UAAUS,SAChDC,EAAA,OAAA,CACEC,UAAU,oBACVC,MAAO3B,EAAMc,MAAQ,CAAEA,MAAOd,EAAMc,OAAU,CAAG,EACjDc,IAAK,SAALA,EAAMC,GACJ,GAAIA,EAAM,CACR5B,EAAQgB,QAAUY,CACpB,CACA,EAAAL,UAEFJ,EAAA,OAAA,CAAMM,UAAU,aAAYF,SAC1BJ,EAAA,OAAA,CACEQ,IAAK,SAALA,EAAMC,GACJ,GAAIA,EAAM,CACRvB,EAAiBuB,EAAKV,YACxB,CACA,EAAAK,SAEDxB,EAAMuB,SAGVvB,EAAMuB,SAIf"}
|
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
import './../fba-hooks/index.css';
|
|
3
3
|
import './index.css';
|
|
4
4
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
5
|
-
import{_ as t}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{isString as e}from"@dimjs/lang/cjs/is-string";import{useRef as r,useMemo as i,memo as n}from"react";import{classNames as l}from"@dimjs/utils/cjs/class-names";import{useSize as a}from"ahooks";import{Tooltip as o}from"antd";import{fbaHooks as s}from"../fba-hooks/index.js";import{jsxs as d,jsx as c}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-array";import"@wove/react/cjs/hooks";import"@flatbiz/utils";import"../use-responsive-point-
|
|
5
|
+
import{_ as t}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{isString as e}from"@dimjs/lang/cjs/is-string";import{useRef as r,useMemo as i,memo as n}from"react";import{classNames as l}from"@dimjs/utils/cjs/class-names";import{useSize as a}from"ahooks";import{Tooltip as o}from"antd";import{fbaHooks as s}from"../fba-hooks/index.js";import{jsxs as d,jsx as c}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-array";import"@wove/react/cjs/hooks";import"@flatbiz/utils";import"../use-responsive-point-1e6d93d9.js";import"@dimjs/utils/cjs/uuid";var h=function t(e){var i=r(null);var n=a(i);var h=(n==null?void 0:n.width)||0;var u=r(null);var m=a(u);var v=s.useMemoCustom(function(){if(!(m!=null&&m.width)||!h)return false;return m.width>h},[m==null?void 0:m.width,h]);return d("div",{className:l("text-overflow",{"tow-trigger":e.onClick}),ref:i,children:[c("span",{className:"tow-hidden",children:c("span",{className:"tow-inner-text",ref:u,children:e.text})}),c(o,{title:v&&!e.hideTip?e.text:undefined,children:c("span",{className:"tow-content",children:c("span",{className:"tow-show-text",onClick:e.onClick,children:e.text})})})]})};var u=function t(e){var i=r(null);var n=a(i);var s=e.maxLength;var h=(n==null?void 0:n.width)||0;var u=e.text;var m=r(null);var v=a(m);var f=u.length>s;var w=(v==null?void 0:v.width)||0;var p=f&&w<h;var x=h<w+1||f;var g=u.substring(0,e.maxLength);return d("div",{className:l("text-overflow",{"tow-trigger":e.onClick}),ref:i,children:[c("span",{className:"tow-hidden",children:c("span",{className:"tow-inner-text",ref:m,children:g})}),c(o,{title:x&&!e.hideTip?u:undefined,children:p?c("span",{className:"tow-cut-content",children:d("span",{className:"tow-show-text",onClick:e.onClick,children:[g,"..."]})}):c("span",{className:"tow-content",children:c("span",{className:"tow-show-text",onClick:e.onClick,children:u})})})]})};var m=function t(e){var n=r(null);var s=a(n);var h=e.maxWidth||0;var u=r(null);var m=a(u);var v=i(function(){if(!(m!=null&&m.width)||!(s!=null&&s.width))return undefined;if(s.width<h){if(m.width>s.width){return{isTextOverflow:true}}}if(m.width<h)return undefined;if(m.width>h){return{isTextOverflow:true,width:h}}return undefined},[m==null?void 0:m.width,h]);var f=v==null?void 0:v.isTextOverflow;return d("div",{className:l("text-overflow",{"tow-trigger":e.onClick}),ref:n,children:[c("span",{className:"tow-hidden",children:c("span",{className:"tow-inner-text",ref:u,children:e.text})}),c(o,{title:f&&!e.hideTip?e.text:undefined,children:c("span",{className:"tow-content",style:{width:v==null?void 0:v.width},children:c("span",{className:"tow-show-text",onClick:e.onClick,children:e.text})})})]})};var v=function r(i){if(i.maxLength&&e(i.text)){return c(u,t({},i))}if(i.maxWidth){return c(m,t({},i))}return c(h,t({},i))};var f=n(v,function(t,e){if(t.text!==e.text||t.maxLength!==e.maxLength||t.maxWidth!==t.maxWidth){return false}return true});export{f as TextOverflow};
|
|
6
6
|
//# sourceMappingURL=index.js.map
|