@flatbiz/antd 4.5.59 → 4.5.61
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/card-layout/index.css +1 -1
- package/esm/dialog-modal/index.js +1 -1
- package/esm/dialog-modal/index.js.map +1 -1
- package/esm/easy-table/index.css +1 -1
- package/esm/easy-table/index.js +3 -7
- package/esm/easy-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/fba-app/index.js +1 -1
- package/esm/fba-app/index.js.map +1 -1
- package/esm/index.js +2 -2
- package/index.d.ts +27 -9
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
.card-layout{border-radius:6px;padding:15px}.card-layout-title-sign{padding-left:10px;position:relative}.card-layout-title-sign:before{background:var(--color-primary,#1677ff);border-radius:3px;content:"";height:13px;left:0;position:absolute;top:50%;transform:translateY(-50%);width:3px}.card-layout-title{align-items:center;display:flex;position:relative}.card-layout-title+.card-layout-content{margin-top:8px}.card-layout-title-content{font-size:16px;font-weight:500}.card-layout-subtitle,.card-layout-title-content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-layout-subtitle{color:#767676;flex:1;font-size:12px}.card-layout-title-extra{margin-left:15px}.card-layout-desc{color:#767676;margin-top:5px}.card-layout-desc,.card-layout-desc-list{font-size:12px;opacity:.7}.card-layout+.card-layout,.card-layout-desc+.card-layout-content,.card-layout-desc-list+.card-layout-content{margin-top:8px}.card-layout-title-fixed{display:flex;flex-direction:column;height:100%;overflow:hidden}.card-layout-title-fixed>.card-layout-content{flex:1;overflow-y:auto}.card-layout-small{padding:8px 15px}.card-layout-small .card-layout-content{margin-top:0}.card-layout-small .card-layout-title-content{font-size:14px}.card-layout-small .card-layout-title-sign:before{height:11px}.card-layout-tight{border-radius:0;padding:0}
|
|
1
|
+
.card-layout{border-radius:6px;padding:15px}.card-layout-title-sign{padding-left:10px;position:relative}.card-layout-title-sign:before{background:var(--color-primary,#1677ff);border-radius:3px;content:"";height:13px;left:0;position:absolute;top:50%;transform:translateY(-50%);width:3px}.card-layout-title{align-items:center;display:flex;position:relative}.card-layout-title+.card-layout-content{margin-top:8px}.card-layout-title-content{font-size:16px;font-weight:500}.card-layout-subtitle,.card-layout-title-content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-layout-subtitle{color:#767676;flex:1;font-size:12px}.card-layout-title-extra{margin-left:15px}.card-layout-desc{color:#767676;margin-top:5px}.card-layout-desc,.card-layout-desc-list{font-size:12px;opacity:.7;padding-left:10px}.card-layout+.card-layout,.card-layout-desc+.card-layout-content,.card-layout-desc-list+.card-layout-content{margin-top:8px}.card-layout-content{padding-left:10px}.card-layout-title-fixed{display:flex;flex-direction:column;height:100%;overflow:hidden}.card-layout-title-fixed>.card-layout-content{flex:1;overflow-y:auto}.card-layout-small{padding:8px 15px}.card-layout-small .card-layout-content{margin-top:0}.card-layout-small .card-layout-title-content{font-size:14px}.card-layout-small .card-layout-title-sign:before{height:11px}.card-layout-tight{border-radius:0;padding:0}
|
|
@@ -7,5 +7,5 @@ import './../fba-utils/index.css';
|
|
|
7
7
|
import './../flex-layout/index.css';
|
|
8
8
|
import './index.css';
|
|
9
9
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
10
|
-
import{isString as e}from"@dimjs/lang/cjs/is-string";import{classNames as t}from"@dimjs/utils/cjs/class-names";import{_ as o,a as r}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{isPromise as i}from"@dimjs/lang/cjs/is-promise";import{hooks as n}from"@wove/react/cjs/hooks";import{dom as l}from"@flatbiz/utils";import{useSize as a}from"ahooks";import{Form as d,Modal as s}from"antd";import{useState as u,useMemo as m}from"react";import{createRoot as c}from"react-dom/client";import{ButtonWrapper as f}from"../button-wrapper/index.js";import{C as p}from"../index-853b36e6.js";import{fbaHooks as h}from"../fba-hooks/index.js";import{FlexLayout as v}from"../flex-layout/index.js";import{createCtx as g}from"@wove/react/cjs/create-ctx";import{jsx as j,jsxs as y}from"react/jsx-runtime";import"@ant-design/icons/es/icons/LoadingOutlined";import"../fba-utils/index.js";import"@dimjs/lang/cjs/is-array";import"@dimjs/model";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"@dimjs/utils/cjs/extend";import"../use-responsive-point-1e6d93d9.js";import"@dimjs/utils/cjs/uuid";var w=g(),k=w[0],x=w[1];var C=["title","titleExtra","divElement","elementId","onOk","onCancel","okButtonProps","cancelButtonProps","content","configProviderProps","className","okHidden","cancelHidden","footer","cancelText","okText","size","bodyHeight"];var b=function e(c){var g,w;var k=c.title,b=c.titleExtra,_=c.divElement,P=c.elementId,E=c.onOk,H=c.onCancel,B=c.okButtonProps,I=c.cancelButtonProps,z=c.content,F=c.configProviderProps,O=c.className,R=c.okHidden,N=c.cancelHidden,T=c.footer,D=c.cancelText,M=c.okText,S=c.size,Y=c.bodyHeight,q=r(c,C);var A=u(true),L=A[0],U=A[1];var G=d.useForm(),J=G[0];var K=a(document.querySelector("html"));var Q=h.useResponsivePoint()||"";var V=u({}),W=V[0],X=V[1];var Z=n.useCallbackRef(function(){try{delete window[P]}catch(e){}U(false)});h.useEffectCustom(function(){window[P]=Z},[Z]);var $=n.useCallbackRef(function(e){if(H){var t=H(J,e);if(t&&i(t)){return t.then(Z)}}return Z()});var ee=n.useCallbackRef(function(e){if(E){var t=E(J,e);if(t&&i(t)){return t.then(Z)}}return Z()});var te=n.useCallbackRef(function(){l.removeBodyChild("#"+P);c.afterClose==null||c.afterClose()});var oe=h.useMemoCustom(function(){if(T){return typeof T==="function"?T(J,W):T}if(N&&R||T===null){return null}return[j(f,o({},I,{onClick:$,hidden:N,children:D||"取消"}),"0"),j(f,o({type:"primary"},B,{onClick:ee,hidden:R,children:M||"提交"}),"1")].filter(Boolean)},[W]);var re=m(function(){if(!(K!=null&&K.height)||!Q)return undefined;var e=["xs","sm"].includes(Q);if(e){return{width:"90%"}}if(S=="large"){return{height:(K==null?void 0:K.height)*.7,width:e?"90%":K.width*.6}}if(S=="small"){var t=K.width*.3;return{height:(K==null?void 0:K.height)*.4,width:e?"90%":t<470?470:t}}if(S=="middle"){return{height:(K==null?void 0:K.height)*.
|
|
10
|
+
import{isString as e}from"@dimjs/lang/cjs/is-string";import{classNames as t}from"@dimjs/utils/cjs/class-names";import{_ as o,a as r}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{isPromise as i}from"@dimjs/lang/cjs/is-promise";import{hooks as n}from"@wove/react/cjs/hooks";import{dom as l}from"@flatbiz/utils";import{useSize as a}from"ahooks";import{Form as d,Modal as s}from"antd";import{useState as u,useMemo as m}from"react";import{createRoot as c}from"react-dom/client";import{ButtonWrapper as f}from"../button-wrapper/index.js";import{C as p}from"../index-853b36e6.js";import{fbaHooks as h}from"../fba-hooks/index.js";import{FlexLayout as v}from"../flex-layout/index.js";import{createCtx as g}from"@wove/react/cjs/create-ctx";import{jsx as j,jsxs as y}from"react/jsx-runtime";import"@ant-design/icons/es/icons/LoadingOutlined";import"../fba-utils/index.js";import"@dimjs/lang/cjs/is-array";import"@dimjs/model";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"@dimjs/utils/cjs/extend";import"../use-responsive-point-1e6d93d9.js";import"@dimjs/utils/cjs/uuid";var w=g(),k=w[0],x=w[1];var C=["title","titleExtra","divElement","elementId","onOk","onCancel","okButtonProps","cancelButtonProps","content","configProviderProps","className","okHidden","cancelHidden","footer","cancelText","okText","size","bodyHeight"];var b=function e(c){var g,w;var k=c.title,b=c.titleExtra,_=c.divElement,P=c.elementId,E=c.onOk,H=c.onCancel,B=c.okButtonProps,I=c.cancelButtonProps,z=c.content,F=c.configProviderProps,O=c.className,R=c.okHidden,N=c.cancelHidden,T=c.footer,D=c.cancelText,M=c.okText,S=c.size,Y=c.bodyHeight,q=r(c,C);var A=u(true),L=A[0],U=A[1];var G=d.useForm(),J=G[0];var K=a(document.querySelector("html"));var Q=h.useResponsivePoint()||"";var V=u({}),W=V[0],X=V[1];var Z=n.useCallbackRef(function(){try{delete window[P]}catch(e){}U(false)});h.useEffectCustom(function(){window[P]=Z},[Z]);var $=n.useCallbackRef(function(e){if(H){var t=H(J,e);if(t&&i(t)){return t.then(Z)}}return Z()});var ee=n.useCallbackRef(function(e){if(E){var t=E(J,e);if(t&&i(t)){return t.then(Z)}}return Z()});var te=n.useCallbackRef(function(){l.removeBodyChild("#"+P);c.afterClose==null||c.afterClose()});var oe=h.useMemoCustom(function(){if(T){return typeof T==="function"?T(J,W):T}if(N&&R||T===null){return null}return[j(f,o({},I,{onClick:$,hidden:N,children:D||"取消"}),"0"),j(f,o({type:"primary"},B,{onClick:ee,hidden:R,children:M||"提交"}),"1")].filter(Boolean)},[W]);var re=m(function(){if(!(K!=null&&K.height)||!Q)return undefined;var e=["xs","sm"].includes(Q);if(e){return{width:"90%"}}if(S=="large"){return{height:(K==null?void 0:K.height)*.7,width:e?"90%":K.width*.6}}if(S=="small"){var t=K.width*.3;return{height:(K==null?void 0:K.height)*.4,width:e?"90%":t<470?470:t}}if(S=="middle"){return{height:(K==null?void 0:K.height)*.5,width:e?"90%":K.width*.5}}return undefined},[K==null?void 0:K.height,K==null?void 0:K.width,Q,S]);var ie=t("v-dialog-modal",{"v-dialog-modal-title-extra":!!b},O);var ne=function e(t){X(t)};var le=((g=q.styles)==null||(g=g.body)==null?void 0:g.height)||Y;var ae=m(function(){return typeof z==="function"?z(J,{onClose:Z}):z},[]);return j(x,{value:{rerenderFooter:ne},children:j(p,o({},F,{children:j(s,o({title:b?y(v,{direction:"horizontal",fullIndex:0,children:[j("span",{children:k}),b]}):k,maskClosable:true,centered:true,onCancel:Z,destroyOnClose:true,width:re==null?void 0:re.width},q,{footer:oe,styles:o({},q.styles,{body:o({height:le||(re==null?void 0:re.height),maxHeight:"calc(100vh - 200px)"},(w=q.styles)==null?void 0:w.body)}),className:ie,open:L,afterClose:te,getContainer:_,children:ae}))}))})};var _={open:function e(t){var r=l.bodyAppendDivElement(),i=r.divElement,n=r.elementId;window["__dialog_modal_elementId"]=n;var a=c(i);a.render(j(b,o({},t,{divElement:i,elementId:n})));return{close:function e(){var t,o;(t=(o=window)[n])==null||t.call(o)}}},close:function t(){try{var o,r;var i=window["__dialog_modal_elementId"];if(e(i))(o=(r=window)[i])==null||o.call(r)}catch(e){}},useDialogModal:function e(){var t=k();return{rerenderFooter:function e(o){t.rerenderFooter(o)}}}};export{_ as dialogModal};
|
|
11
11
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/dialog-modal/context.ts","@flatbiz/antd/src/dialog-modal/dialog-modal.tsx"],"sourcesContent":["import { TPlainObject } from '@flatbiz/utils';\nimport { createCtx } from '@wove/react';\n\nexport const [useDialogModalCtx, DialogModalCtxProvider] = createCtx<{\n /** 重新渲染footer */\n rerenderFooter: (data?: TPlainObject) => void;\n}>();\n","import { isPromise, isString } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\n\nimport { BodyAppendDivElementProps, dom, TNoopDefine, TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { useSize } from 'ahooks';\nimport { Form, FormInstance, Modal, ModalProps } from 'antd';\nimport { ReactElement, useMemo, useState } from 'react';\nimport { createRoot } from 'react-dom/client';\nimport { ButtonWrapper, ButtonWrapperProps } from '../button-wrapper';\nimport { ConfigProviderWrapper, ConfigProviderWrapperProps } from '../config-provider-wrapper';\nimport { fbaHooks } from '../fba-hooks';\nimport { FlexLayout } from '../flex-layout';\nimport { DialogModalCtxProvider, useDialogModalCtx } from './context';\nimport './style.less';\n\nexport type DialogModalProps = Omit<\n ModalProps,\n 'onOk' | 'onCancel' | 'getContainer' | 'open' | 'open' | 'okButtonProps' | 'cancelButtonProps' | 'footer'\n> & {\n /**\n * 内置尺寸,根据比例固定高度、宽度,默认:无\n * ```\n * 1. 如果自定义了width、bodyHeight属性,size中的height、width将对应失效\n * 2. 不传、传null值可取消内置尺寸\n * ```\n */\n size?: 'small' | 'middle' | 'large' | null;\n onOk?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n onCancel?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n /**\n * content只在第一次弹起时,执行一次\n */\n content: string | ReactElement | ((form: FormInstance, operate: { onClose: TNoopDefine }) => ReactElement);\n configProviderProps?: ConfigProviderWrapperProps;\n okHidden?: boolean;\n cancelHidden?: boolean;\n okButtonProps?: Omit<ButtonWrapperProps, 'hidden' | 'children' | 'onClick'>;\n cancelButtonProps?: Omit<ButtonWrapperProps, 'hidden' | 'children' | 'onClick'>;\n /**\n * 设置modal body height 为当前窗口height的百分比,例如:30\n * @deprecated 已失效,可通过size属性设置\n * ```\n * 1. 最大值:80\n * 1. 设置bodyStyle.height 后,bodyHeightPercent失效\n * ```\n */\n bodyHeightPercent?: number;\n titleExtra?: ReactElement;\n /**\n * null则隐藏footer\n * ```\n * extraData 为外部通过 useDialogModal.rerenderFooter 重新渲染footer携带的数据\n * ```\n */\n footer?:\n | null\n | ReactElement\n | ReactElement[]\n | ((form: FormInstance, extraData?: TPlainObject) => ReactElement);\n /** 内容高度,为styles.body.height快捷配置,优先级低于styles.body.height */\n bodyHeight?: number;\n};\n\nconst ModalRender = (props: BodyAppendDivElementProps & DialogModalProps) => {\n const {\n title,\n titleExtra,\n divElement,\n elementId,\n onOk,\n onCancel,\n okButtonProps,\n cancelButtonProps,\n content,\n configProviderProps,\n className,\n okHidden,\n cancelHidden,\n footer,\n cancelText,\n okText,\n size,\n bodyHeight,\n ...otherProps\n } = props;\n\n const [open, setOpen] = useState(true);\n const [form] = Form.useForm();\n const htmlSize = useSize(document.querySelector('html'));\n const screenType = fbaHooks.useResponsivePoint() || '';\n const [footerExtraData, setFooterExtraData] = useState<TPlainObject>({});\n\n const onClose = hooks.useCallbackRef(() => {\n try {\n delete window[elementId];\n } catch (error) {\n //\n }\n setOpen(false);\n });\n\n fbaHooks.useEffectCustom(() => {\n window[elementId] = onClose;\n }, [onClose]);\n\n const onCancelHandle = hooks.useCallbackRef((e) => {\n if (onCancel) {\n const response = onCancel(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n return onClose();\n });\n\n const onOkHandle = hooks.useCallbackRef((e) => {\n if (onOk) {\n const response = onOk(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n return onClose();\n });\n\n const onAfterClose = hooks.useCallbackRef(() => {\n dom.removeBodyChild(`#${elementId}`);\n props.afterClose?.();\n });\n\n const footerNew = fbaHooks.useMemoCustom(() => {\n if (footer) {\n return typeof footer === 'function' ? footer(form, footerExtraData) : footer;\n }\n if ((cancelHidden && okHidden) || footer === null) {\n return null;\n }\n return [\n <ButtonWrapper key=\"0\" {...cancelButtonProps} onClick={onCancelHandle} hidden={cancelHidden}>\n {cancelText || '取消'}\n </ButtonWrapper>,\n <ButtonWrapper key=\"1\" type=\"primary\" {...okButtonProps} onClick={onOkHandle} hidden={okHidden}>\n {okText || '提交'}\n </ButtonWrapper>,\n ].filter(Boolean);\n }, [footerExtraData]);\n\n const customSize = useMemo(() => {\n if (!htmlSize?.height || !screenType) return undefined;\n const isXsSm = ['xs', 'sm'].includes(screenType);\n\n if (isXsSm) {\n return { width: '90%' };\n }\n\n if (size == 'large') {\n return {\n height: htmlSize?.height * 0.7,\n width: isXsSm ? '90%' : htmlSize.width * 0.6,\n };\n }\n if (size == 'small') {\n const width = htmlSize.width * 0.3;\n return {\n height: htmlSize?.height * 0.4,\n width: isXsSm ? '90%' : width < 470 ? 470 : width,\n };\n }\n\n if (size == 'middle') {\n return {\n height: htmlSize?.height * 0.4,\n width: isXsSm ? '90%' : htmlSize.width * 0.5,\n };\n }\n return undefined;\n }, [htmlSize?.height, htmlSize?.width, screenType, size]);\n\n const classNameNew = classNames(\n 'v-dialog-modal',\n { 'v-dialog-modal-title-extra': !!titleExtra },\n className,\n );\n\n const rerenderFooter = (data) => {\n setFooterExtraData(data);\n };\n\n const bodyHeightNew = otherProps.styles?.body?.height || bodyHeight;\n // content 只会在第一次渲染\n const contentFt = useMemo(() => {\n return typeof content === 'function' ? content(form, { onClose }) : content;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n return (\n <DialogModalCtxProvider value={{ rerenderFooter }}>\n <ConfigProviderWrapper {...configProviderProps}>\n <Modal\n title={\n titleExtra ? (\n <FlexLayout direction=\"horizontal\" fullIndex={0}>\n <span>{title}</span>\n {titleExtra}\n </FlexLayout>\n ) : (\n title\n )\n }\n maskClosable={true}\n centered={true}\n onCancel={onClose}\n destroyOnClose\n width={customSize?.width}\n {...otherProps}\n footer={footerNew}\n styles={{\n ...otherProps.styles,\n body: {\n height: bodyHeightNew || customSize?.height,\n maxHeight: 'calc(100vh - 200px)',\n ...otherProps.styles?.body,\n },\n }}\n className={classNameNew}\n open={open}\n afterClose={onAfterClose}\n getContainer={divElement}\n >\n {contentFt}\n </Modal>\n </ConfigProviderWrapper>\n </DialogModalCtxProvider>\n );\n};\n\n/**\n * 居中弹框\n * ```\n * 1. 可嵌套使用\n * 2. 为什么不推荐使用\n * dialogModal.open 打开的内容无法适配兼容自定义主题、无法适配兼容旧版浏览器、无法兼容国际化\n * 适配兼容旧版浏览器(https://ant-design.antgroup.com/docs/react/compatible-style-cn)\n * 3. 需要修改默认主题风格的场景,请使用\n * const { appDialogModal } = FbaApp.useDialogModal();\n * appDialogModal.open({})\n * 4. size属性可使用预设的弹窗尺寸(默认值middle),如果不使用内置尺寸可设置 size = null\n * ```\n */\nexport const dialogModal = {\n open: (props: DialogModalProps) => {\n const { divElement, elementId } = dom.bodyAppendDivElement();\n window['__dialog_modal_elementId'] = elementId;\n const root = createRoot(divElement);\n root.render(<ModalRender {...props} divElement={divElement} elementId={elementId} />);\n return {\n close: () => {\n window[elementId]?.();\n },\n };\n },\n /**\n * ```\n * 1. 关闭最新弹框,如果有多个弹框只能关闭最后一个\n * 2. 多个弹框主动关闭,只能使用 dialogModal.open()返回值中的close\n * ```\n */\n close: () => {\n try {\n const elementId = window['__dialog_modal_elementId'] as string;\n if (isString(elementId)) window[elementId]?.();\n } catch (error) {\n //\n }\n },\n /**\n * ```\n * 1. rerenderFooter 携带指定数据重新渲染 footer,可用于切换footer中的按钮状态\n * ```\n */\n useDialogModal: () => {\n const ctx = useDialogModalCtx();\n return {\n /** 重新渲染 footer, data为携带的数据,是footer的第二个参数 */\n rerenderFooter: (data?: TPlainObject) => {\n ctx.rerenderFooter(data);\n },\n };\n },\n};\n"],"names":["_createCtx","_createCtx2","useDialogModalCtx","DialogModalCtxProvider","ModalRender","props","_otherProps$styles","_otherProps$styles2","title","titleExtra","divElement","elementId","onOk","onCancel","okButtonProps","cancelButtonProps","content","configProviderProps","className","okHidden","cancelHidden","footer","cancelText","okText","size","bodyHeight","otherProps","_objectWithoutPropertiesLoose","_excluded","_useState","useState","open","setOpen","_Form$useForm","Form","useForm","form","htmlSize","useSize","document","querySelector","screenType","fbaHooks","useResponsivePoint","_useState2","footerExtraData","setFooterExtraData","onClose","_hooks","useCallbackRef","window","error","useEffectCustom","onCancelHandle","e","response","_isPromise","then","onOkHandle","onAfterClose","dom","removeBodyChild","afterClose","footerNew","useMemoCustom","_jsx","ButtonWrapper","_extends","onClick","hidden","children","type","filter","Boolean","customSize","useMemo","height","undefined","isXsSm","includes","width","classNameNew","_classNames","rerenderFooter","data","bodyHeightNew","styles","body","contentFt","value","ConfigProviderWrapper","Modal","_jsxs","FlexLayout","direction","fullIndex","maskClosable","centered","destroyOnClose","maxHeight","getContainer","dialogModal","_dom$bodyAppendDivEle","bodyAppendDivElement","root","createRoot","render","close","_window$elementId","_window","call","_window$elementId2","_window2","_isString","useDialogModal","ctx"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/dialog-modal/context.ts","@flatbiz/antd/src/dialog-modal/dialog-modal.tsx"],"sourcesContent":["import { TPlainObject } from '@flatbiz/utils';\nimport { createCtx } from '@wove/react';\n\nexport const [useDialogModalCtx, DialogModalCtxProvider] = createCtx<{\n /** 重新渲染footer */\n rerenderFooter: (data?: TPlainObject) => void;\n}>();\n","import { isPromise, isString } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\n\nimport { BodyAppendDivElementProps, dom, TNoopDefine, TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { useSize } from 'ahooks';\nimport { Form, FormInstance, Modal, ModalProps } from 'antd';\nimport { ReactElement, useMemo, useState } from 'react';\nimport { createRoot } from 'react-dom/client';\nimport { ButtonWrapper, ButtonWrapperProps } from '../button-wrapper';\nimport { ConfigProviderWrapper, ConfigProviderWrapperProps } from '../config-provider-wrapper';\nimport { fbaHooks } from '../fba-hooks';\nimport { FlexLayout } from '../flex-layout';\nimport { DialogModalCtxProvider, useDialogModalCtx } from './context';\nimport './style.less';\n\nexport type DialogModalProps = Omit<\n ModalProps,\n 'onOk' | 'onCancel' | 'getContainer' | 'open' | 'open' | 'okButtonProps' | 'cancelButtonProps' | 'footer'\n> & {\n /**\n * 内置尺寸,根据比例固定高度、宽度,默认:无\n * ```\n * 1. 如果自定义了width、bodyHeight属性,size中的height、width将对应失效\n * 2. 不传、传null值可取消内置尺寸\n * ```\n */\n size?: 'small' | 'middle' | 'large' | null;\n onOk?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n onCancel?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n /**\n * content只在第一次弹起时,执行一次\n */\n content: string | ReactElement | ((form: FormInstance, operate: { onClose: TNoopDefine }) => ReactElement);\n configProviderProps?: ConfigProviderWrapperProps;\n okHidden?: boolean;\n cancelHidden?: boolean;\n okButtonProps?: Omit<ButtonWrapperProps, 'hidden' | 'children' | 'onClick'>;\n cancelButtonProps?: Omit<ButtonWrapperProps, 'hidden' | 'children' | 'onClick'>;\n /**\n * 设置modal body height 为当前窗口height的百分比,例如:30\n * @deprecated 已失效,可通过size属性设置\n * ```\n * 1. 最大值:80\n * 1. 设置bodyStyle.height 后,bodyHeightPercent失效\n * ```\n */\n bodyHeightPercent?: number;\n titleExtra?: ReactElement;\n /**\n * null则隐藏footer\n * ```\n * extraData 为外部通过 useDialogModal.rerenderFooter 重新渲染footer携带的数据\n * ```\n */\n footer?:\n | null\n | ReactElement\n | ReactElement[]\n | ((form: FormInstance, extraData?: TPlainObject) => ReactElement);\n /** 内容高度,为styles.body.height快捷配置,优先级低于styles.body.height */\n bodyHeight?: number;\n};\n\nconst ModalRender = (props: BodyAppendDivElementProps & DialogModalProps) => {\n const {\n title,\n titleExtra,\n divElement,\n elementId,\n onOk,\n onCancel,\n okButtonProps,\n cancelButtonProps,\n content,\n configProviderProps,\n className,\n okHidden,\n cancelHidden,\n footer,\n cancelText,\n okText,\n size,\n bodyHeight,\n ...otherProps\n } = props;\n\n const [open, setOpen] = useState(true);\n const [form] = Form.useForm();\n const htmlSize = useSize(document.querySelector('html'));\n const screenType = fbaHooks.useResponsivePoint() || '';\n const [footerExtraData, setFooterExtraData] = useState<TPlainObject>({});\n\n const onClose = hooks.useCallbackRef(() => {\n try {\n delete window[elementId];\n } catch (error) {\n //\n }\n setOpen(false);\n });\n\n fbaHooks.useEffectCustom(() => {\n window[elementId] = onClose;\n }, [onClose]);\n\n const onCancelHandle = hooks.useCallbackRef((e) => {\n if (onCancel) {\n const response = onCancel(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n return onClose();\n });\n\n const onOkHandle = hooks.useCallbackRef((e) => {\n if (onOk) {\n const response = onOk(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n return onClose();\n });\n\n const onAfterClose = hooks.useCallbackRef(() => {\n dom.removeBodyChild(`#${elementId}`);\n props.afterClose?.();\n });\n\n const footerNew = fbaHooks.useMemoCustom(() => {\n if (footer) {\n return typeof footer === 'function' ? footer(form, footerExtraData) : footer;\n }\n if ((cancelHidden && okHidden) || footer === null) {\n return null;\n }\n return [\n <ButtonWrapper key=\"0\" {...cancelButtonProps} onClick={onCancelHandle} hidden={cancelHidden}>\n {cancelText || '取消'}\n </ButtonWrapper>,\n <ButtonWrapper key=\"1\" type=\"primary\" {...okButtonProps} onClick={onOkHandle} hidden={okHidden}>\n {okText || '提交'}\n </ButtonWrapper>,\n ].filter(Boolean);\n }, [footerExtraData]);\n\n const customSize = useMemo(() => {\n if (!htmlSize?.height || !screenType) return undefined;\n const isXsSm = ['xs', 'sm'].includes(screenType);\n\n if (isXsSm) {\n return { width: '90%' };\n }\n\n if (size == 'large') {\n return {\n height: htmlSize?.height * 0.7,\n width: isXsSm ? '90%' : htmlSize.width * 0.6,\n };\n }\n if (size == 'small') {\n const width = htmlSize.width * 0.3;\n return {\n height: htmlSize?.height * 0.4,\n width: isXsSm ? '90%' : width < 470 ? 470 : width,\n };\n }\n\n if (size == 'middle') {\n return {\n height: htmlSize?.height * 0.5,\n width: isXsSm ? '90%' : htmlSize.width * 0.5,\n };\n }\n return undefined;\n }, [htmlSize?.height, htmlSize?.width, screenType, size]);\n\n const classNameNew = classNames(\n 'v-dialog-modal',\n { 'v-dialog-modal-title-extra': !!titleExtra },\n className,\n );\n\n const rerenderFooter = (data) => {\n setFooterExtraData(data);\n };\n\n const bodyHeightNew = otherProps.styles?.body?.height || bodyHeight;\n // content 只会在第一次渲染\n const contentFt = useMemo(() => {\n return typeof content === 'function' ? content(form, { onClose }) : content;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n return (\n <DialogModalCtxProvider value={{ rerenderFooter }}>\n <ConfigProviderWrapper {...configProviderProps}>\n <Modal\n title={\n titleExtra ? (\n <FlexLayout direction=\"horizontal\" fullIndex={0}>\n <span>{title}</span>\n {titleExtra}\n </FlexLayout>\n ) : (\n title\n )\n }\n maskClosable={true}\n centered={true}\n onCancel={onClose}\n destroyOnClose\n width={customSize?.width}\n {...otherProps}\n footer={footerNew}\n styles={{\n ...otherProps.styles,\n body: {\n height: bodyHeightNew || customSize?.height,\n maxHeight: 'calc(100vh - 200px)',\n ...otherProps.styles?.body,\n },\n }}\n className={classNameNew}\n open={open}\n afterClose={onAfterClose}\n getContainer={divElement}\n >\n {contentFt}\n </Modal>\n </ConfigProviderWrapper>\n </DialogModalCtxProvider>\n );\n};\n\n/**\n * 居中弹框\n * ```\n * 1. 可嵌套使用\n * 2. 为什么不推荐使用\n * dialogModal.open 打开的内容无法适配兼容自定义主题、无法适配兼容旧版浏览器、无法兼容国际化\n * 适配兼容旧版浏览器(https://ant-design.antgroup.com/docs/react/compatible-style-cn)\n * 3. 需要修改默认主题风格的场景,请使用\n * const { appDialogModal } = FbaApp.useDialogModal();\n * appDialogModal.open({})\n * 4. size属性可使用预设的弹窗尺寸(默认值middle),如果不使用内置尺寸可设置 size = null\n * ```\n */\nexport const dialogModal = {\n open: (props: DialogModalProps) => {\n const { divElement, elementId } = dom.bodyAppendDivElement();\n window['__dialog_modal_elementId'] = elementId;\n const root = createRoot(divElement);\n root.render(<ModalRender {...props} divElement={divElement} elementId={elementId} />);\n return {\n close: () => {\n window[elementId]?.();\n },\n };\n },\n /**\n * ```\n * 1. 关闭最新弹框,如果有多个弹框只能关闭最后一个\n * 2. 多个弹框主动关闭,只能使用 dialogModal.open()返回值中的close\n * ```\n */\n close: () => {\n try {\n const elementId = window['__dialog_modal_elementId'] as string;\n if (isString(elementId)) window[elementId]?.();\n } catch (error) {\n //\n }\n },\n /**\n * ```\n * 1. rerenderFooter 携带指定数据重新渲染 footer,可用于切换footer中的按钮状态\n * ```\n */\n useDialogModal: () => {\n const ctx = useDialogModalCtx();\n return {\n /** 重新渲染 footer, data为携带的数据,是footer的第二个参数 */\n rerenderFooter: (data?: TPlainObject) => {\n ctx.rerenderFooter(data);\n },\n };\n },\n};\n"],"names":["_createCtx","_createCtx2","useDialogModalCtx","DialogModalCtxProvider","ModalRender","props","_otherProps$styles","_otherProps$styles2","title","titleExtra","divElement","elementId","onOk","onCancel","okButtonProps","cancelButtonProps","content","configProviderProps","className","okHidden","cancelHidden","footer","cancelText","okText","size","bodyHeight","otherProps","_objectWithoutPropertiesLoose","_excluded","_useState","useState","open","setOpen","_Form$useForm","Form","useForm","form","htmlSize","useSize","document","querySelector","screenType","fbaHooks","useResponsivePoint","_useState2","footerExtraData","setFooterExtraData","onClose","_hooks","useCallbackRef","window","error","useEffectCustom","onCancelHandle","e","response","_isPromise","then","onOkHandle","onAfterClose","dom","removeBodyChild","afterClose","footerNew","useMemoCustom","_jsx","ButtonWrapper","_extends","onClick","hidden","children","type","filter","Boolean","customSize","useMemo","height","undefined","isXsSm","includes","width","classNameNew","_classNames","rerenderFooter","data","bodyHeightNew","styles","body","contentFt","value","ConfigProviderWrapper","Modal","_jsxs","FlexLayout","direction","fullIndex","maskClosable","centered","destroyOnClose","maxHeight","getContainer","dialogModal","_dom$bodyAppendDivEle","bodyAppendDivElement","root","createRoot","render","close","_window$elementId","_window","call","_window$elementId2","_window2","_isString","useDialogModal","ctx"],"mappings":"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"}
|
package/esm/easy-table/index.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.easy-table-table{border-radius:6px}.fba-easy-table-filter-fixed,.fba-easy-table-full,.fba-easy-table-pagination-fixed{display:flex;flex-direction:column;height:100%}.fba-easy-table-filter-fixed .easy-table-table,.fba-easy-table-full .easy-table-table,.fba-easy-table-pagination-fixed .easy-table-table{flex:1}.fba-easy-table-filter-fixed{overflow:hidden}.fba-easy-table-filter-fixed .easy-table-table{overflow-y:auto}.fba-easy-table-wrapper{display:flex;flex-direction:column;height:100%;overflow-x:hidden}.fba-easy-table-wrapper .fba-easy-table{flex:1;height:unset;overflow-y:auto}.fba-easy-table-pagination{background-color:var(--block-bg-color);box-shadow:0 0 17px rgba(0,0,0,.06);padding:15px 15px 20px;position:relative;z-index:2}.fba-easy-table-pagination .ant-pagination{justify-content:right;text-align:right}.fba-easy-table-wrapper-inline .easy-table-table{margin:0;padding:0}.fba-easy-table-wrapper-inline .easy-table-filter{margin:0;padding:0 0 15px}.easy-table-table{padding:10px 15px}.easy-table-filter{border-radius:6px;margin-bottom:10px;padding:10px 15px}.ett-empty-show-small .ant-table-placeholder .ant-empty{align-items:center;display:flex;justify-content:center;margin:0}.ett-empty-show-small .ant-table-placeholder .ant-empty-image{height:25px;margin:0;width:50px}.fold-operate-popiver.ant-popover .ant-popover-title{min-width:100px}.fba-easy-table .form-formitem-gap-24{margin-bottom:-24px}.fba-easy-table .form-formitem-gap-24 .ant-form-item{margin-bottom:24px}.fba-easy-table .form-formitem-gap-15{margin-bottom:-15px}.fba-easy-table .form-formitem-gap-8{margin-bottom:-8px}.fba-easy-table .form-formitem-gap-5{margin-bottom:-5px}.fba-easy-table .form-formitem-gap-0{margin-bottom:0}
|
|
1
|
+
.tips-wrapper{align-items:center;display:inline-flex}.tips-wrapper-icon{flex-shrink:0;opacity:.8}.tips-wrapper-text{flex:1;overflow:hidden}.easy-table-table{border-radius:6px}.fba-easy-table-filter-fixed,.fba-easy-table-full,.fba-easy-table-pagination-fixed{display:flex;flex-direction:column;height:100%}.fba-easy-table-filter-fixed .easy-table-table,.fba-easy-table-full .easy-table-table,.fba-easy-table-pagination-fixed .easy-table-table{flex:1}.fba-easy-table-filter-fixed{overflow:hidden}.fba-easy-table-filter-fixed .easy-table-table{overflow-y:auto}.fba-easy-table-wrapper{display:flex;flex-direction:column;height:100%;overflow-x:hidden}.fba-easy-table-wrapper .fba-easy-table{flex:1;height:unset;overflow-y:auto}.fba-easy-table-pagination{background-color:var(--block-bg-color);box-shadow:0 0 17px rgba(0,0,0,.06);padding:15px 15px 20px;position:relative;z-index:2}.fba-easy-table-pagination .ant-pagination{justify-content:right;text-align:right}.fba-easy-table-wrapper-inline .easy-table-table{margin:0;padding:0}.fba-easy-table-wrapper-inline .easy-table-filter{margin:0;padding:0 0 15px}.easy-table-table{padding:10px 15px}.easy-table-filter{border-radius:6px;margin-bottom:10px;padding:10px 15px}.ett-empty-show-small .ant-table-placeholder .ant-empty{align-items:center;display:flex;justify-content:center;margin:0}.ett-empty-show-small .ant-table-placeholder .ant-empty-image{height:25px;margin:0;width:50px}.fold-operate-popiver.ant-popover .ant-popover-title{min-width:100px}.fba-easy-table .form-formitem-gap-24{margin-bottom:-24px}.fba-easy-table .form-formitem-gap-24 .ant-form-item{margin-bottom:24px}.fba-easy-table .form-formitem-gap-15{margin-bottom:-15px}.fba-easy-table .form-formitem-gap-8{margin-bottom:-8px}.fba-easy-table .form-formitem-gap-5{margin-bottom:-5px}.fba-easy-table .form-formitem-gap-0{margin-bottom:0}.block-layout{background-color:var(--block-bg-color)}.light-theme .block-layout{color:rgba(0,0,0,.88)}.dark-theme .block-layout{color:hsla(0,0%,100%,.85)}.bw-center-loading{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.ant-btn.button-remove-gap{height:auto;line-height:normal;margin:0;min-height:auto;padding:0}.easy-form:not(".easy-form-pure"){background-color:var(--block-bg-color)}.easy-form-anchor{height:0;width:0}.v-flex-layout{display:flex}.v-flex-vertical{flex-direction:column}.scrollbar-main{height:0;position:relative;width:0}.scrollbar-box{background:transparent;height:9px;overflow-x:auto;overflow-y:hidden;position:absolute}.scrollbar-box::-webkit-scrollbar{height:9px;width:9px}.scrollbar-box::-webkit-scrollbar-thumb{background:#ccc;border-radius:8px}.scrollbar-box::-webkit-scrollbar-thumb:hover{background:#666}.scrollbar-box::-webkit-scrollbar-track{background:transparent}
|
package/esm/easy-table/index.js
CHANGED
|
@@ -1,23 +1,19 @@
|
|
|
1
1
|
/* eslint-disable */
|
|
2
2
|
import './../fba-utils/index.css';
|
|
3
3
|
import './../fba-hooks/index.css';
|
|
4
|
-
import './../pagination-wrapper/index.css';
|
|
5
|
-
import './../tips-wrapper/index.css';
|
|
6
|
-
import './../block-layout/index.css';
|
|
7
|
-
import './../button-wrapper/index.css';
|
|
8
4
|
import './../config-provider-wrapper/index.css';
|
|
9
5
|
import './../types/index.css';
|
|
10
|
-
import './../easy-form/index.css';
|
|
11
6
|
import './../box-grid/index.css';
|
|
12
7
|
import './../form-wrapper/index.css';
|
|
13
8
|
import './../pre-defined-class-name/index.css';
|
|
14
9
|
import './../form-grid/index.css';
|
|
10
|
+
import './../button-wrapper/index.css';
|
|
15
11
|
import './../flex-layout/index.css';
|
|
16
|
-
import './../table-scrollbar/index.css';
|
|
17
12
|
import './../icon-wrapper/index.css';
|
|
18
13
|
import './../svg-http-view/index.css';
|
|
19
14
|
import './../table-title-tooltip/index.css';
|
|
15
|
+
import './../tips-wrapper/index.css';
|
|
20
16
|
import './index.css';
|
|
21
17
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
22
|
-
import{fbaUtils as e}from"../fba-utils/index.js";import{isArray as n}from"@dimjs/lang/cjs/is-array";import{isObject as t}from"@dimjs/lang/cjs/is-object";import{_ as r,a as i}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{sessionStorageCache as a,localStorageCache as o,noop as l,getUuid as s,isUndefinedOrNull as u,isMacEnv as c}from"@flatbiz/utils";import{classNames as d}from"@dimjs/utils/cjs/class-names";import{isUndefined as f}from"@dimjs/lang/cjs/is-undefined";import{get as m}from"@dimjs/utils/cjs/get";import{hooks as p}from"@wove/react/cjs/hooks";import{isString as v}from"@dimjs/lang/cjs/is-string";import{Checkbox as g,Popover as h,Form as y,message as C,Drawer as F,Table as S,Space as b}from"antd";import{createContext as x,useState as R,Fragment as w,forwardRef as j,useMemo as K,useRef as z,useImperativeHandle as _,cloneElement as I,useContext as N,Children as P,useEffect as T}from"react";import{fbaHooks as L}from"../fba-hooks/index.js";import{PaginationWrapper as q}from"../pagination-wrapper/index.js";import{jsx as k,jsxs as V}from"react/jsx-runtime";import E from"@ant-design/icons/es/icons/DownOutlined";import D from"@ant-design/icons/es/icons/UpOutlined";import{isFragment as O}from"react-is";import{BlockLayout as A}from"../block-layout/index.js";import{ButtonWrapper as B}from"../button-wrapper/index.js";import{EasyForm as M}from"../easy-form/index.js";import{FormGrid as W}from"../form-grid/index.js";import{FlexLayout as Q}from"../flex-layout/index.js";import{TableScrollbar as U}from"../table-scrollbar/index.js";import{IconWrapper as G}from"../icon-wrapper/index.js";import{SvgHttpView as H}from"../svg-http-view/index.js";import{TableTitleTooltip as Y}from"../table-title-tooltip/index.js";import{TipsWrapper as $}from"../tips-wrapper/index.js";import"@dimjs/model";import"../use-responsive-point-1e6d93d9.js";import"@dimjs/utils/cjs/uuid";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-promise";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"@dimjs/utils/cjs/extend";import"../box-grid/index.js";import"@dimjs/lang/cjs/is-number";import"ahooks";import"../form-wrapper/index.js";import"../pre-defined-class-name/index.js";import"@ant-design/icons/es/icons/QuestionCircleOutlined";var J={set:function e(n,t){var i=J.get(n);var o=r({},i,t);a.set("easy_tab_filter_"+n,o);return o},get:function e(n){var r=a.get("easy_tab_filter_"+n);return t(r)?r:{}},remove:function e(n){a.remove("easy_tab_filter_"+n)}};var X={set:function e(n,t){a.set("easy_tab_firstQuery_"+n,{value:t})},get:function e(n){var t;var r=(t=a.get("easy_tab_firstQuery_"+n))==null?void 0:t.value;return r===false?false:true},remove:function e(n){a.remove("easy_tab_firstQuery_"+n)}};var Z={set:function e(n,t){o.set("easy_tab_columnFold_"+n,{value:t})},get:function e(t){var r;var i=(r=o.get("easy_tab_columnFold_"+t))==null?void 0:r.value;return n(i)?i:[]},remove:function e(n){o.remove("easy_tab_columnFold_"+n)}};var ee=x({onRequest:l,tableList:[],getEasyTableRef:function e(){}});var ne=function e(n){var t=R(n.initSelectedRowKeys||[]),r=t[0],i=t[1];var a=function e(t){i(t);n.onChange(t);if(n.cacheKey){Z.set(n.cacheKey,t)}};var o=k(w,{children:k(g.Group,{defaultValue:r,onChange:a,value:r,style:{display:"flex",flexDirection:"column"},children:n.dataList.map(function(e){var n=e["_isFoldTitle"]||e.title;return k(g,{value:e.dataIndex,style:{padding:"0 0 5px 0"},children:n},e.dataIndex)})})});var l=function e(t){if(t.target.checked){a(n.dataList.map(function(e){return e.dataIndex}))}else{a([])}};return k(h,{content:o,title:k(g,{checked:r.length===n.dataList.length,onChange:l,children:"全选(字段列表)"}),placement:"bottomRight",overlayClassName:"fold-operate-popiver",children:n.children})};var te=function e(n,t){var r=n.getFieldsValue()||{};if(!(t!=null&&t.length)){return r}var i={};t.forEach(function(e){i[e]=r[e]});return i};var re=j(function(t,i){var a;var o=L.useResponsivePoint();var l=R(),u=l[0],c=l[1];var g=R(0),h=g[0],F=g[1];var S=R(false),b=S[0],x=S[1];var w=t.columnFoldConfig;var j=t.asyncColumnRequest;var N=R(false),P=N[0],T=N[1];var E=K(function(){if(t.cacheKey){try{var e=window.frameElement;var n=(e==null?void 0:e.id)||"";return t.cacheKey+"_"+n}catch(e){return t.cacheKey}}if(t.cacheSwitch===true){return location.pathname}if(typeof t.cacheSwitch==="string"){return t.cacheSwitch}return Date.now()+"_"+s()},[t.cacheSwitch,t.cacheKey]);var D=J.get(E);var O=R(function(){if(E){var e=Z.get(E);var t=n(e)?e.filter(function(e){return v(e)}):[];return t.length>0?t:(w==null?void 0:w.initSelectedKeys)||[]}else{return(w==null?void 0:w.initSelectedKeys)||[]}}),A=O[0],B=O[1];var M=t.pageSize||((a=t.initialPaginationParams)==null?void 0:a.pageSize)||10;var W=t.initRequest===undefined?true:t.initRequest;var Q=z(false);var U=z();var G=z([]);var H=R(),Y=H[0],$=H[1];var re=z([]);var ie=r({list:"list",total:"total",pageNo:"pageNo",pageSize:"pageSize"},t.fieldNames);var ae=y.useFormInstance();var oe=y.useForm(t.form||ae),le=oe[0];var se=p.useCallbackRef(function(r){return new Promise(function(i,a){var o,l,s,u,d,f,p,v,g,h,y;var S=function(){try{return i()}catch(e){return a(e)}};var b=function(e){try{x(false);if(t.onRequestErrorHandle){t.onRequestErrorHandle(e)}else{void C.error(e.message)}return S()}catch(e){return a(e)}};try{if(t.breforeRequest){var R=function(){try{return j.call(this)}catch(e){return b(e)}}.bind(this);var w=function(e){try{return i()}catch(e){return b(e)}};try{return Promise.resolve(t.breforeRequest(le)).then(function(e){try{return R()}catch(e){return w(e)}},w)}catch(K){w(K)}}function j(){X.set(E,false);x(true);o=J.set(E,r);l=t.serviceConfig,s=l.requestParamsAdapter,u=l.onRequest,d=l.requestResultAdapter,f=l.dynamicColumsAdapter;p=s?s(o):o;return Promise.resolve(u(e.removeFormValuesInvalidField(p))).then(function(e){try{v=e||{};U.current=v;t.onDataSourceChange==null||t.onDataSourceChange(v);g=v;if(d){g=d(v)}if(f){h=f(v,G.current);$(h)}y=m(g,ie.list);c(n(y)?y:[]);F(m(g,ie.total));x(false);return S()}catch(e){return b(e)}},b)}return j.call(this)}catch(z){b(z)}})});L.useEffectCustom(function(){var e=Ke();var n=X.get(E);le.setFieldsValue(r({},t.initialValues,D));if(W||!n){if(e){var i;void se(r((i={},i[ie.pageNo]=1,i[ie.pageSize]=M,i),t.initialValues,D))}else{void se(t.initialValues)}}else{J.set(E,t.initialValues||{})}},[]);var ue=p.useCallbackRef(function(e){J.remove(E);le.resetFields();if(e){J.set(E,e);le.setFieldsValue(e)}});var ce=p.useCallbackRef(function(e){J.set(E,e);le.setFieldsValue(e)});var de=function e(n,t){if(Ke()){var r;return r={},r[ie.pageNo]=n,r[ie.pageSize]=t||M,r}else{var i;return i={},i[ie.pageNo]=undefined,i[ie.pageSize]=undefined,i}};var fe=p.useCallbackRef(function(e){var n=r({},de(1,D[ie.pageSize]),t.initialValues,e);J.remove(E);le.resetFields();if(e){le.setFieldsValue(e)}void se(n)});var me=p.useCallbackRef(function(){return r({},D,te(le,t.filterFormItemKeys))});var pe=p.useCallbackRef(function(){T(true)});var ve=p.useCallbackRef(function(){T(false)});var ge=function e(){return{onRequest:se,clearQueryCondition:ue,updateQueryCondition:ce,getRequestParams:me,onResetRequest:fe,form:le,dataSource:U.current,getDataSource:function e(){return U.current},onFilterDataSource:function e(n){c(n)},onClearDataSource:function e(){F(0);c([])},onUpdateDataSource:function e(n){var r;c(n);U.current=(r={},r[ie.list]=n,r);t.onDataSourceChange==null||t.onDataSourceChange(U.current)},columnFoldTriggerRender:function e(n,r){var i;if(((i=t.columnFoldConfig)==null?void 0:i.triggerType)==="drawer"){return I(n,{onClick:pe})}var a=r.filter(function(e){return!e.hidden&&e.isFold&&e.dataIndex});return k(ne,{dataList:a,onChange:we,cacheKey:E,initSelectedRowKeys:A,children:n})},onChangeTableColumns:function e(n){$(n)},getTableColumns:function e(){return re.current},loading:b,setEnabledInitRequest:function e(){X.set(E,false)}}};_(i,function(){return ge()});var he=function e(n){Q.current=n};var ye=function e(n){G.current=n};var Ce=function e(n){re.current=n};var Fe=function e(){if(b){console.log("loading...");return}var n=te(le,t.filterFormItemKeys);if(t.onFormFinish){t.onFormFinish(r({},n,de(1,D[ie.pageSize])))}else{void se(r({},n,de(1,D[ie.pageSize])))}};var Se=f(t.isFull)?true:t.isFull;var be=o==="xs"?false:t.filterFixed;var xe=d("fba-easy-table",{"fba-easy-table-full":Se,"fba-easy-table-filter-fixed":be,"fba-easy-table-pagination-fixed":t.paginationFixed},t.className);var Re=L.useMemoCustom(function(){return r({showSizeChanger:true,current:D[ie.pageNo]||1,pageSize:D[ie.pageSize]||M,total:h,showTotal:function e(n){return"共 "+n+" 条记录"}},t.pagination)},[ie.pageNo,D,ie.pageSize,E,M,t.pagination,h]);var we=function e(n){B(n);w==null||w.onChange==null||w.onChange(n)};var je=p.useCallbackRef(function(e,n){var r,i;var a=(r={},r[ie.pageSize]=n,r[ie.pageNo]=e,r);J.set(E,a);void se(a);(i=t.pagination)==null||i.onChange==null||i.onChange(e,n)});var Ke=function e(){return t.paginationFixed||Q.current};p.useUpdateEffect(function(){if(t.paginationFixed){var e;void se((e={},e[ie.pageSize]=D[ie.pageSize]||M,e[ie.pageNo]=1,e))}else{var n;void se((n={},n[ie.pageSize]=undefined,n[ie.pageNo]=undefined,n))}},[t.paginationFixed]);var ze=d("fba-easy-table-wrapper",{"fba-easy-table-wrapper-inline":t.isInline},t.className);var _e=r({overflowY:t.filterFixed||t.paginationFixed?"hidden":"auto"},t.style);var Ie=typeof t.children==="function"?t.children(U.current):t.children;return k(ee.Provider,{value:{onSetBaseColumns:ye,onSetColumns:Ce,getEasyTableRef:ge,cacheKey:E,onRequest:se,tableDataSource:u,tableTotal:h,loading:b,fieldNames:ie,pageSize:M,onSetPaginationStatus:he,getPaginationStatus:Ke,onFormFinish:Fe,form:le,paginationFixed:t.paginationFixed||false,foldKeys:t.foldKeys||[],columns:Y,initialValues:t.initialValues,dynamicColumnsConfig:{showFoldKeyList:A,onChangeShowFoldKeyList:we,columnFoldConfig:w,onOpenColumnFoldModal:pe,onCloseColumnFoldModal:ve,columnFoldOpen:P,asyncColumnRequest:j},filterFormItemKeys:t.filterFormItemKeys},children:t.paginationFixed?V("div",{className:ze,style:_e,children:[k("div",{className:xe,children:Ie}),h>0&&k("div",{className:"fba-easy-table-pagination",children:k(q,r({size:"small"},Re,{onChange:je}))})]}):k("div",{className:ze,style:t.style,children:k("div",{className:xe,children:Ie})})})});var ie=function e(n){var t;var i=L.useResponsivePoint()||"md";var a=N(ee);var o=y.useFormInstance();var l=n.queryButtonProps,s=n.resetButtonProps,u=n.filterOperate,c=n.formClassName,m=c===void 0?"":c,v=n.defaultResetButtonTriggerRequest,g=n.filterWrapperStyle,h=n.filterWrapperClassName,C=n.rightOperateAreaAppendType,F=n.easyFormProps;var S=a.cacheKey,b=a.foldKeys,x=a.fieldNames,w=a.onRequest,j=a.pageSize,z=a.getPaginationStatus,_=a.initialValues,I=a.form,T=a.onFormFinish;var q=typeof n.children==="function"?n.children(I):n.children;var Q=C||"cover";var U=K(function(){if(O(q)){return P.toArray(q.props.children)}else{return P.toArray(q)}},[q]);var G=R(false),H=G[0],Y=G[1];var $=K(function(){var e;if((e=a.filterFormItemKeys)!=null&&e.length||o){return false}return true},[(t=a.filterFormItemKeys)==null?void 0:t.length,o]);var X=p.useCallbackRef(function(){return new Promise(function(e,n){var t;if(a.loading){console.log("loading...");return e()}J.remove(S);I.resetFields();I.setFieldsValue(_);if(f(v)||v){return Promise.resolve(I.validateFields(a.filterFormItemKeys)).then(function(e){try{if(z()){w(r((t={},t[x.pageNo]=1,t[x.pageSize]=j,t),_))}else{w(_)}return i.call(this)}catch(e){return n(e)}}.bind(this),n)}function i(){return e()}return i.call(this)})});var Z=K(function(){var e=[!(l!=null&&l.hidden)?k(B,r({type:"primary",htmlType:$?"submit":undefined,loadingPosition:"center",loading:a.loading,onClick:function e(){var n;if(o||(n=a.filterFormItemKeys)!=null&&n.length){void I.validateFields(a.filterFormItemKeys).then(function(){T==null||T()})}}},l,{style:r({},l==null?void 0:l.style,{cursor:a.loading?"not-allowed":undefined}),children:(l==null?void 0:l.text)||"查询"}),"1"):null,!(s!=null&&s.hidden)?k(B,r({onClick:X},s,{style:r({},s==null?void 0:s.style,{cursor:a.loading?"not-allowed":undefined}),children:(s==null?void 0:s.text)||"重置"}),"2"):null].filter(Boolean);var n=u==null?void 0:u(I);var t=n==null?void 0:n.rightList;var i=(n==null?void 0:n.leftList)||[];var c=e;if(t){if(Q==="afterAppend"){c=[].concat(e,t)}else if(Q==="beforeAppend"){c=[].concat(t,e)}else{c=t}}if(b.length>0){var d=k(B,{type:"link",style:{padding:"0"},onClick:function e(){Y(!H)},children:H?V("span",{children:["收起",k(D,{style:{marginLeft:3,fontSize:12}})]}):V("span",{children:["展开",k(E,{style:{marginLeft:3,fontSize:12}})]})},"fold-trigger");if(c.length>0||i.length===0){c.push(d)}else if((i==null?void 0:i.length)>0){i.push(d)}}return U.map(function(e,n){if(!H&&b.find(function(n){return".$"+n===e.key}))return null;if(e.props["hidden"])return null;if(e.type["domTypeName"]==="FormCol")return e;return k(W.Col,{children:e},n)}).filter(Boolean).concat(k(W.OperateCol,r({},n,{leftList:i,rightList:c}),999))},[l,$,a.loading,a.filterFormItemKeys,s,X,u,I,b,U,o,T,Q,H]);var ne=i==="xs"?"left":(F==null?void 0:F.labelAlign)||"right";return k(A,{className:d("easy-table-filter",h),style:g,children:k(M,r({form:I,autoComplete:"off",onFinish:$?T:undefined,className:m,style:n.formStyle,isPure:true,labelWidth:"80",formItemGap:"15"},F,{labelAlign:ne,children:n.isPure?q:k(W.Row,{gutter:[15,0],gridSize:n.formGridSize,children:Z})}))})};var ae=function e(){var n=N(ee);return n.getEasyTableRef()};var oe=function e(){var n=N(ee);return{current:n.getEasyTableRef()}};var le=function e(n){var t=R(n.initSelectedRowKeys||[]),r=t[0],i=t[1];var a={type:"checkbox",selectedRowKeys:r,onChange:function e(t){i(t);n.onChange(t);if(n.cacheKey){Z.set(n.cacheKey,t)}}};var o=[{title:"字段名称",dataIndex:"title",render:function e(n,t){return t["_isFoldTitle"]||n}},{title:"字段Key",dataIndex:"dataIndex"}];return k(w,{children:k(F,{title:"选择字段",open:n.open,onClose:n.onClose,width:"35%",styles:{body:{padding:15}},children:k(S,{bordered:true,size:"small",columns:o,rowSelection:a,rowKey:"dataIndex",pagination:false,scroll:{x:"max-content"},dataSource:n.dataList})})})};var se=["tooltip","tipsWrapperProps","title"];var ue=function e(n){return K(function(){var e=n.columns.map(function(e){var n=e.tooltip,t=e.tipsWrapperProps,a=e.title,o=i(e,se);if(typeof a==="string"&&t){if(typeof t==="string"){return r({},o,{title:k($,{tipType:"popover",popoverProps:{content:t},children:a})})}return r({},o,{title:k($,r({},t,{children:a}))})}if(typeof a==="string"&&!!n){return r({},o,{title:k(Y,{tooltip:n,title:a})})}return e}).filter(Boolean);return[].concat(e)},[n.columns])};var ce=function e(n){var t=n.columns;return L.useMemoCustom(function(){var e;if((e=n.columnFoldConfig)!=null&&e.hidden)return t;var r=t[t.length-1];if(n.foldColumnList.length>0&&t.length>0){var i=t.find(function(e){return e["_isFoldColumn"]});if(i&&r.dataIndex!==i.dataIndex){i.title=i["_isFoldTitle"];i["_isFoldColumn"]=false}if(!r["_isFoldColumn"]){var a,o,l,s,u,c;r["_isFoldTitle"]=r["_isFoldTitle"]||r.title;r["_isFoldColumn"]=true;var d=(a=n.columnFoldConfig)==null?void 0:a.triggerType;r.title=V(Q,{direction:"horizontal",fullIndex:0,style:{alignItems:"center"},children:[k("span",{children:r.title}),k("div",{style:{padding:"0 5px 0 20px",display:"flex"},children:d==="drawer"?k(G,{onClick:n.onOpenColumnFoldModal,text:(o=n.columnFoldConfig)==null?void 0:o.text,size:"small",icon:((l=n.columnFoldConfig)==null?void 0:l.icon)||k(H,{svgPath:"ionic/list-circle",color:"#868686"}),hoverTips:((s=n.columnFoldConfig)==null?void 0:s.hoverTipText)||"字段列表",style:{padding:0,margin:0}}):k(ne,{dataList:n.foldColumnList,onChange:n.onChangeFoldColumnList,cacheKey:n.cacheKey,initSelectedRowKeys:n.showFoldKeyList,children:k(G,{text:(u=n.columnFoldConfig)==null?void 0:u.text,style:{padding:0,margin:0},size:"small",icon:((c=n.columnFoldConfig)==null?void 0:c.icon)||k(H,{svgPath:"ionic/list-circle",color:"#868686"})})})})]})}}return t},[n.columns,n.columnFoldConfig])};var de=function e(n){return K(function(){var e=n.columns.map(function(e){var t=e.hidden,r=e.isFold;if(t)return null;if(r&&!n.showFoldKeyList.includes(e.dataIndex))return null;return e}).filter(Boolean);return[].concat(e)},[n.columns,n.showFoldKeyList])};var fe=function e(n){return K(function(){if(!Object.keys(n.asyncColumnRequestResult))return n.columns;return n.columns.map(function(e){var t=e.dataIndex;var r=n.asyncColumnRequestResult[t];if(t&&r){if(r.loading){e.render=function(e){return k(B,{loading:true,type:"text",loadingPosition:"center",removeGap:true,children:e})}}else if(e.asyncRender){e.render=function(n,t,i){return e.asyncRender==null?void 0:e.asyncRender(n,t,i,r.respData)}}}return e})},[n.columns,n.asyncColumnRequestResult])};var me=["children","rowKey","pagination","isSync","title","actions"];var pe=function e(n){var t;if(!n.title&&!((t=n.actions)!=null&&t.length)){return null}return V(Q,{fullIndex:0,direction:"horizontal",style:{marginBottom:10,alignItems:"center"},children:[n.title?k("div",{style:{fontWeight:400,fontSize:16},children:n.title}):null,k(b,{size:10,children:n.actions})]})};var ve=function e(n){var t=N(ee);var a=n.children,o=n.rowKey,l=n.pagination,f=n.isSync,m=n.title,v=n.actions,g=i(n,me);var h=L.useResponsivePoint()||"";var y=z({});var C=R({}),F=C[0],b=C[1];var x=t.dynamicColumnsConfig,j=x.columnFoldConfig,_=x.onCloseColumnFoldModal,I=x.columnFoldOpen,P=x.onOpenColumnFoldModal,q=x.asyncColumnRequest,E=x.showFoldKeyList,D=x.onChangeShowFoldKeyList;var O=t.cacheKey,B=t.fieldNames,M=t.onRequest,W=t.tableDataSource,Q=t.pageSize,G=t.tableTotal,H=t.loading,Y=t.paginationFixed,$=t.onSetPaginationStatus;var X=J.get(O);L.useEffectCustom(function(){t.onSetBaseColumns(n.columns||[])},[]);T(function(){if(q!=null&&q.length){var e=function e(){var t;var i=q[n];y.current=r({},y.current,(t={},t[i.dataIndex]={loading:true},t));b(y.current);i.onRequest().then(function(e){var n;y.current=r({},y.current,(n={},n[i.dataIndex]={loading:false,respData:e},n));b(y.current)}).catch(function(e){var n;console.error(e==null?void 0:e.message);y.current=r({},y.current,(n={},n[i.dataIndex]={loading:false},n));b(y.current)})};for(var n=0;n<q.length;n++){e()}}},[q]);var Z=L.useMemoCustom(function(){if(t.columns){t.onSetColumns(t.columns);return t.columns}else{t.onSetColumns(n.columns);return n.columns}},[t.columns,n.columns]);var ne=ue({columns:[].concat(Z)});var te=Z.filter(function(e){return!e.hidden&&e.isFold&&e.dataIndex});ne=ce({cacheKey:O,columns:ne,foldColumnList:te,showFoldKeyList:E,columnFoldConfig:j,onOpenColumnFoldModal:P,onChangeFoldColumnList:D});ne=de({columns:ne,showFoldKeyList:E});ne=fe({columns:ne,asyncColumnRequestResult:F});L.useEffectCustom(function(){$(l!==false)},[l]);p.useUpdateEffect(function(){if(!Y){if(l!==false){var e;M((e={},e[B.pageSize]=X[B.pageSize]||Q,e[B.pageNo]=1,e))}else{var n;M((n={},n[B.pageSize]=undefined,n[B.pageNo]=undefined,n))}}},[l]);var re=K(function(){if(Y||l===false)return false;return r({showSizeChanger:true,current:X[B.pageNo]||1,pageSize:X[B.pageSize]||Q,total:G,showTotal:function e(n){return"共 "+n+" 条记录"}},n.pagination)},[X,B.pageNo,B.pageSize,Q,l,Y,n.pagination,G]);var ie=function e(t,r,i,a){if(a.action==="paginate"&&re){var o;M((o={},o[B.pageSize]=t.pageSize,o[B.pageNo]=t.current,o))}else{n.onChange==null||n.onChange(t,r,i,a)}};var ae=K(function(){if(!W)return undefined;if(W.length===0){return[]}if(typeof o==="string"&&u(W[0][o])){return W.map(function(e){e[o]=s();return e})}return W},[W,o]);ne=K(function(){return ne.map(function(e){if(!!e.fixed&&h==="xs"){e.fixed=undefined}if(!!e.defaultValue&&!e.render){e.render=function(n){return u(n)||n==""?e.defaultValue:n}}return e})},[ne,h]);var oe=function e(){if(f&&!ae){return V(w,{children:[k(pe,{title:m,actions:v}),a,k(S,{size:"small",scroll:{x:"max-content"},bordered:true,rowKey:o,columns:ne,loading:H},"1")]})}if(c()){return V(w,{children:[k(pe,{title:m,actions:v}),a,k(S,r({size:"small",scroll:{x:"max-content"},bordered:true},g,{columns:ne,pagination:re,rowKey:o,onChange:ie,loading:H,dataSource:ae}),"2")]})}return V(w,{children:[k(pe,{title:m,actions:v}),a,k(U,{children:k(S,r({size:"small",scroll:{x:"max-content"},bordered:true},g,{columns:ne,pagination:re,rowKey:o,onChange:ie,loading:H,dataSource:ae}),"3")})]})};return V(A,{className:d("easy-table-table",{"ett-empty-show-small":n.emptyShowSize==="small"},n.tableWrapperClassName),style:n.tableWrapperStyle,children:[oe(),k(le,{dataList:te,onClose:_,open:I,onChange:D,cacheKey:O,initSelectedRowKeys:E})]})};var ge=e.attachPropertiesToComponent(re,{Filter:ie,Table:ve,useEasyTablRef:oe,useEasyTable:ae,setEnabledInitRequest:function e(n){X.set(n,false)}});export{ge as EasyTable};
|
|
18
|
+
import{fbaUtils as e}from"../fba-utils/index.js";import{isArray as n}from"@dimjs/lang/cjs/is-array";import{isObject as t}from"@dimjs/lang/cjs/is-object";import{_ as r,a as i}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{sessionStorageCache as a,localStorageCache as o,noop as l,trim as u,getUuid as s,isUndefinedOrNull as c,isMacEnv as d}from"@flatbiz/utils";import{classNames as f}from"@dimjs/utils/cjs/class-names";import{isUndefined as m}from"@dimjs/lang/cjs/is-undefined";import{get as p}from"@dimjs/utils/cjs/get";import{hooks as v}from"@wove/react/cjs/hooks";import{isString as g}from"@dimjs/lang/cjs/is-string";import{Checkbox as h,Popover as y,Form as C,message as F,Drawer as b,Table as S,Space as x}from"antd";import{createContext as R,useState as w,Fragment as j,forwardRef as K,useMemo as z,useRef as _,useImperativeHandle as I,cloneElement as P,useContext as N,Children as T,useEffect as q}from"react";import{fbaHooks as L}from"../fba-hooks/index.js";import{PaginationWrapper as k}from"../pagination-wrapper/index.js";import{jsx as E,jsxs as V}from"react/jsx-runtime";import D from"@ant-design/icons/es/icons/DownOutlined";import O from"@ant-design/icons/es/icons/UpOutlined";import{isFragment as A}from"react-is";import{BlockLayout as B}from"../block-layout/index.js";import{ButtonWrapper as M}from"../button-wrapper/index.js";import{EasyForm as W}from"../easy-form/index.js";import{FormGrid as Q}from"../form-grid/index.js";import{FlexLayout as U}from"../flex-layout/index.js";import{TableScrollbar as G}from"../table-scrollbar/index.js";import{IconWrapper as H}from"../icon-wrapper/index.js";import{SvgHttpView as Y}from"../svg-http-view/index.js";import{TableTitleTooltip as $}from"../table-title-tooltip/index.js";import{TipsWrapper as J}from"../tips-wrapper/index.js";import"@dimjs/model";import"../use-responsive-point-1e6d93d9.js";import"@dimjs/utils/cjs/uuid";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-promise";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"@dimjs/utils/cjs/extend";import"../box-grid/index.js";import"@dimjs/lang/cjs/is-number";import"ahooks";import"../form-wrapper/index.js";import"../pre-defined-class-name/index.js";import"@ant-design/icons/es/icons/QuestionCircleOutlined";var X={set:function e(n,t){var i=X.get(n);var o=r({},i,t);a.set("easy_tab_filter_"+n,o);return o},get:function e(n){var r=a.get("easy_tab_filter_"+n);return t(r)?r:{}},remove:function e(n){a.remove("easy_tab_filter_"+n)}};var Z={set:function e(n,t){a.set("easy_tab_firstQuery_"+n,{value:t})},get:function e(n){var t;var r=(t=a.get("easy_tab_firstQuery_"+n))==null?void 0:t.value;return r===false?false:true},remove:function e(n){a.remove("easy_tab_firstQuery_"+n)}};var ee={set:function e(n,t){o.set("easy_tab_columnFold_"+n,{value:t})},get:function e(t){var r;var i=(r=o.get("easy_tab_columnFold_"+t))==null?void 0:r.value;return n(i)?i:[]},remove:function e(n){o.remove("easy_tab_columnFold_"+n)}};var ne=R({onRequest:l,tableList:[],getEasyTableRef:function e(){}});var te=function e(n){var t=w(n.initSelectedRowKeys||[]),r=t[0],i=t[1];var a=function e(t){i(t);n.onChange(t);if(n.cacheKey){ee.set(n.cacheKey,t)}};var o=E(j,{children:E(h.Group,{defaultValue:r,onChange:a,value:r,style:{display:"flex",flexDirection:"column"},children:n.dataList.map(function(e){var n=e["_isFoldTitle"]||e.title;return E(h,{value:e.dataIndex,style:{padding:"0 0 5px 0"},children:n},e.dataIndex)})})});var l=function e(t){if(t.target.checked){a(n.dataList.map(function(e){return e.dataIndex}))}else{a([])}};return E(y,{content:o,title:E(h,{checked:r.length===n.dataList.length,onChange:l,children:"全选(字段列表)"}),placement:"bottomRight",overlayClassName:"fold-operate-popiver",children:n.children})};var re=function e(n,t){var r=n.getFieldsValue()||{};if(!(t!=null&&t.length)){return r}var i={};t.forEach(function(e){i[e]=r[e]});return i};var ie=function e(n,t){if(t===void 0){t={}}if(!n||typeof n!=="object"||Array.isArray(n)){return n}var r=t,i=r.removeEmptyValue,a=i===void 0?true:i;var o={};for(var l in n){if(!Object.prototype.hasOwnProperty.call(n,l)){continue}var s=n[l];if(typeof s==="string"){s=u(s,true)}if(l.includes("__#invalid_")){continue}if(a&&(s===""||s===null||s===undefined)){continue}if(s!==null&&typeof s==="object"&&!Array.isArray(s)){o[l]=ie(s,t)}else{o[l]=s}}return o};var ae=K(function(e,t){var i;var a=L.useResponsivePoint()||"";var o=w(),l=o[0],u=o[1];var c=w(0),d=c[0],h=c[1];var y=w(false),b=y[0],S=y[1];var x=e.columnFoldConfig;var R=e.asyncColumnRequest;var j=e.removeRequestParamsEmptyValue===undefined?true:e.removeRequestParamsEmptyValue;var K=w(false),N=K[0],T=K[1];var q=z(function(){if(e.cacheKey){try{var n=window.frameElement;var t=(n==null?void 0:n.id)||"";return e.cacheKey+"_"+t}catch(n){return e.cacheKey}}if(e.cacheSwitch===true){return location.pathname}if(typeof e.cacheSwitch==="string"){return e.cacheSwitch}return Date.now()+"-"+s()},[e.cacheSwitch,e.cacheKey]);var D=X.get(q);var O=w(function(){if(q){var e=ee.get(q);var t=n(e)?e.filter(function(e){return g(e)}):[];return t.length>0?t:(x==null?void 0:x.initSelectedKeys)||[]}else{return(x==null?void 0:x.initSelectedKeys)||[]}}),A=O[0],B=O[1];var M=e.pageSize||((i=e.initialPaginationParams)==null?void 0:i.pageSize)||10;var W=e.initRequest===undefined?true:e.initRequest;var Q=_(false);var U=_();var G=_([]);var H=w(),Y=H[0],$=H[1];var J=_([]);var ae=r({list:"list",total:"total",pageNo:"pageNo",pageSize:"pageSize"},e.fieldNames);var oe=C.useFormInstance();var le=C.useForm(e.form||oe),ue=le[0];var se=v.useCallbackRef(function(t){return new Promise(function(r,i){var a,o,l,s,c,d,f,m,v,g,y;var C=function(){try{return r()}catch(e){return i(e)}};var b=function(n){try{S(false);if(e.onRequestErrorHandle){e.onRequestErrorHandle(n)}else{void F.error(n.message)}return C()}catch(e){return i(e)}};try{if(e.breforeRequest){var x=function(){try{return w.call(this)}catch(e){return b(e)}}.bind(this);var R=function(e){try{return r()}catch(e){return b(e)}};try{return Promise.resolve(e.breforeRequest(ue)).then(function(e){try{return x()}catch(e){return R(e)}},R)}catch(K){R(K)}}function w(){Z.set(q,false);a=X.set(q,t);S(true);o=e.serviceConfig,l=o.requestParamsAdapter,s=o.onRequest,c=o.requestResultAdapter,d=o.dynamicColumsAdapter;f=ie(a,{removeEmptyValue:j});f=l?l(f,a):f;return Promise.resolve(s(f)).then(function(t){try{m=t||{};U.current=m;e.onDataSourceChange==null||e.onDataSourceChange(m);v=m;if(c){v=c(m)}if(d){g=d(m,G.current);$(g)}y=p(v,ae.list);u(n(y)?y:[]);h(p(v,ae.total));S(false);return C()}catch(e){return b(e)}},b)}return w.call(this)}catch(z){b(z)}})});L.useEffectCustom(function(){var n=_e();var t=Z.get(q);ue.setFieldsValue(r({},e.initialValues,D));if(W||!t){if(n){var i;void se(r((i={},i[ae.pageNo]=1,i[ae.pageSize]=M,i),e.initialValues,D))}else{void se(e.initialValues)}}else{X.set(q,e.initialValues||{})}},[]);var ce=v.useCallbackRef(function(e){X.remove(q);ue.resetFields();if(e){X.set(q,e);ue.setFieldsValue(e)}});var de=v.useCallbackRef(function(e){X.set(q,e);ue.setFieldsValue(e)});var fe=function e(n,t){if(_e()){var r;return r={},r[ae.pageNo]=n,r[ae.pageSize]=t||M,r}else{var i;return i={},i[ae.pageNo]=undefined,i[ae.pageSize]=undefined,i}};var me=v.useCallbackRef(function(n){var t=r({},fe(1,D[ae.pageSize]),e.initialValues,n);X.remove(q);ue.resetFields();if(n){ue.setFieldsValue(n)}void se(t)});var pe=v.useCallbackRef(function(){var n;var t=X.get(q);var i=r({},t,ue.getFieldsValue());var a=r({},fe(1,i[ae.pageSize]));if((n=e.filterFormItemKeys)!=null&&n.length){e.filterFormItemKeys.forEach(function(e){a[e]=i[e]})}else{a=r({},i,a)}return ie(a,{removeEmptyValue:j})});var ve=v.useCallbackRef(function(){T(true)});var ge=v.useCallbackRef(function(){T(false)});var he=v.useCallbackRef(function(){var n;var t=X.get(q);var i=r({},fe(1,t[ae.pageSize]));if((n=e.filterFormItemKeys)!=null&&n.length){e.filterFormItemKeys.forEach(function(e){i[e]=t[e]})}else{i=r({},t,i)}return ie(i,{removeEmptyValue:j})});var ye=function n(){return{onRequest:se,clearQueryCondition:ce,updateQueryCondition:de,getRequestParams:pe,getSubmitParams:he,onResetRequest:me,form:ue,dataSource:U.current,getDataSource:function e(){return U.current},onFilterDataSource:function e(n){u(n)},getTableDataList:function e(){return l||[]},onClearDataSource:function e(){h(0);u([])},onUpdateDataSource:function n(t){var r;u(t);U.current=(r={},r[ae.list]=t,r);e.onDataSourceChange==null||e.onDataSourceChange(U.current)},columnFoldTriggerRender:function n(t,r){var i;if(((i=e.columnFoldConfig)==null?void 0:i.triggerType)==="drawer"){return P(t,{onClick:ve})}var a=r.filter(function(e){return!e.hidden&&e.isFold&&e.dataIndex});return E(te,{dataList:a,onChange:Ke,cacheKey:q,initSelectedRowKeys:A,children:t})},onChangeTableColumns:function e(n){$(n)},getTableColumns:function e(){return J.current},loading:b,setEnabledInitRequest:function e(){Z.set(q,false)}}};I(t,function(){return ye()});var Ce=function e(n){Q.current=n};var Fe=function e(n){G.current=n};var be=function e(n){J.current=n};var Se=function n(){if(b){console.log("loading...");return}var t=re(ue,e.filterFormItemKeys);if(e.onFormFinish){e.onFormFinish(r({},t,fe(1,D[ae.pageSize])))}else{void se(r({},t,fe(1,D[ae.pageSize])))}};var xe=m(e.isFull)?true:e.isFull;var Re=a==="xs"?false:e.filterFixed;var we=f("fba-easy-table",{"fba-easy-table-full":xe,"fba-easy-table-filter-fixed":Re,"fba-easy-table-pagination-fixed":e.paginationFixed},e.className);var je=L.useMemoCustom(function(){return r({showSizeChanger:true,current:D[ae.pageNo]||1,pageSize:D[ae.pageSize]||M,total:d,showTotal:function e(n){return"共 "+n+" 条记录"}},e.pagination)},[ae.pageNo,D,ae.pageSize,q,M,e.pagination,d]);var Ke=function e(n){B(n);x==null||x.onChange==null||x.onChange(n)};var ze=v.useCallbackRef(function(n,t){var r,i;var a=(r={},r[ae.pageSize]=t,r[ae.pageNo]=n,r);X.set(q,a);void se(a);(i=e.pagination)==null||i.onChange==null||i.onChange(n,t)});var _e=function n(){return e.paginationFixed||Q.current};v.useUpdateEffect(function(){if(e.paginationFixed){var n;void se((n={},n[ae.pageSize]=D[ae.pageSize]||M,n[ae.pageNo]=1,n))}else{var t;void se((t={},t[ae.pageSize]=undefined,t[ae.pageNo]=undefined,t))}},[e.paginationFixed]);var Ie=f("fba-easy-table-wrapper",{"fba-easy-table-wrapper-inline":e.isInline},e.className);var Pe=r({overflowY:e.filterFixed||e.paginationFixed?"hidden":"auto"},e.style);var Ne=typeof e.children==="function"?e.children(U.current):e.children;return E(ne.Provider,{value:{onSetBaseColumns:Fe,onSetColumns:be,getEasyTableRef:ye,cacheKey:q,onRequest:se,tableDataSource:l,tableTotal:d,loading:b,fieldNames:ae,pageSize:M,onSetPaginationStatus:Ce,getPaginationStatus:_e,onFormFinish:Se,form:ue,paginationFixed:e.paginationFixed||false,foldKeys:e.foldKeys||[],columns:Y,initialValues:e.initialValues,filterFormItemKeys:e.filterFormItemKeys,dynamicColumnsConfig:{showFoldKeyList:A,onChangeShowFoldKeyList:Ke,columnFoldConfig:x,onOpenColumnFoldModal:ve,onCloseColumnFoldModal:ge,columnFoldOpen:N,asyncColumnRequest:R}},children:e.paginationFixed?V("div",{className:Ie,style:Pe,children:[E("div",{className:we,children:Ne}),d>0&&E("div",{className:"fba-easy-table-pagination",children:E(k,r({size:"small"},je,{onChange:ze}))})]}):E("div",{className:Ie,style:e.style,children:E("div",{className:we,children:Ne})})})});var oe=function e(n){var t;var i=L.useResponsivePoint()||"md";var a=N(ne);var o=C.useFormInstance();var l=n.queryButtonProps,u=n.resetButtonProps,s=n.filterOperate,c=n.formClassName,d=c===void 0?"":c,p=n.defaultResetButtonTriggerRequest,g=n.filterWrapperStyle,h=n.filterWrapperClassName,y=n.rightOperateAreaAppendType,F=n.easyFormProps;var b=a.cacheKey,S=a.foldKeys,x=a.fieldNames,R=a.onRequest,j=a.pageSize,K=a.getPaginationStatus,_=a.initialValues,I=a.form,P=a.onFormFinish;var q=typeof n.children==="function"?n.children(I):n.children;var k=y||"cover";var U=z(function(){if(A(q)){return T.toArray(q.props.children)}else{return T.toArray(q)}},[q]);var G=w(false),H=G[0],Y=G[1];var $=z(function(){var e;if((e=a.filterFormItemKeys)!=null&&e.length||o){return false}return true},[(t=a.filterFormItemKeys)==null?void 0:t.length,o]);var J=v.useCallbackRef(function(){return new Promise(function(e,n){var t;if(a.loading){console.log("loading...");return e()}X.remove(b);I.resetFields();I.setFieldsValue(_);if(m(p)||p){return Promise.resolve(I.validateFields(a.filterFormItemKeys)).then(function(e){try{if(K()){R(r((t={},t[x.pageNo]=1,t[x.pageSize]=j,t),_))}else{R(_)}return i.call(this)}catch(e){return n(e)}}.bind(this),n)}function i(){return e()}return i.call(this)})});var Z=z(function(){var e=[!(l!=null&&l.hidden)?E(M,r({type:"primary",htmlType:$?"submit":undefined,loadingPosition:"center",loading:a.loading,onClick:function e(){return new Promise(function(e,n){var t;if(o||(t=a.filterFormItemKeys)!=null&&t.length){return Promise.resolve(I.validateFields(a.filterFormItemKeys).then(function(){P==null||P()})).then(function(e){try{return r.call(this)}catch(e){return n(e)}}.bind(this),n)}function r(){return e()}return r.call(this)})}},l,{style:r({},l==null?void 0:l.style,{cursor:a.loading?"not-allowed":undefined}),children:(l==null?void 0:l.text)||"查询"}),"1"):null,!(u!=null&&u.hidden)?E(M,r({onClick:J},u,{style:r({},u==null?void 0:u.style,{cursor:a.loading?"not-allowed":undefined}),children:(u==null?void 0:u.text)||"重置"}),"2"):null].filter(Boolean);var n=s==null?void 0:s(I);var t=n==null?void 0:n.rightList;var i=(n==null?void 0:n.leftList)||[];var c=e;if(t){if(k==="afterAppend"){c=[].concat(e,t)}else if(k==="beforeAppend"){c=[].concat(t,e)}else{c=t}}if(S.length>0){var d=E(M,{type:"link",style:{padding:"0"},onClick:function e(){Y(!H)},children:H?V("span",{children:["收起",E(O,{style:{marginLeft:3,fontSize:12}})]}):V("span",{children:["展开",E(D,{style:{marginLeft:3,fontSize:12}})]})},"fold-trigger");if(c.length>0||i.length===0){c.push(d)}else if((i==null?void 0:i.length)>0){i.push(d)}}return U.map(function(e,n){if(!H&&S.find(function(n){return".$"+n===e.key}))return null;if(e.props["hidden"])return null;if(e.type["domTypeName"]==="FormCol")return e;return E(Q.Col,{children:e},n)}).filter(Boolean).concat(E(Q.OperateCol,r({},n,{leftList:i,rightList:c}),999))},[l,$,a.loading,a.filterFormItemKeys,u,J,s,I,S,U,o,P,k,H]);var ee=i==="xs"?"left":(F==null?void 0:F.labelAlign)||"right";return E(B,{className:f("easy-table-filter",h),style:g,children:E(W,r({form:I,autoComplete:"off",onFinish:$?P:undefined,className:d,style:n.formStyle,isPure:true,labelWidth:"80",formItemGap:"15"},F,{labelAlign:ee,children:n.isPure?q:E(Q.Row,{gutter:[15,0],gridSize:n.formGridSize,children:Z})}))})};var le=function e(){var n=N(ne);return n.getEasyTableRef()};var ue=function e(){var n=N(ne);return{current:n.getEasyTableRef()}};var se=function e(n){var t=w(n.initSelectedRowKeys||[]),r=t[0],i=t[1];var a={type:"checkbox",selectedRowKeys:r,onChange:function e(t){i(t);n.onChange(t);if(n.cacheKey){ee.set(n.cacheKey,t)}}};var o=[{title:"字段名称",dataIndex:"title",render:function e(n,t){return t["_isFoldTitle"]||n}},{title:"字段Key",dataIndex:"dataIndex"}];return E(j,{children:E(b,{title:"选择字段",open:n.open,onClose:n.onClose,width:"35%",styles:{body:{padding:15}},children:E(S,{bordered:true,size:"small",columns:o,rowSelection:a,rowKey:"dataIndex",pagination:false,scroll:{x:"max-content"},dataSource:n.dataList})})})};var ce=["tooltip","tipsWrapperProps","title"];var de=function e(n){return z(function(){var e=n.columns.map(function(e){var n=e.tooltip,t=e.tipsWrapperProps,a=e.title,o=i(e,ce);if(typeof a==="string"&&t){if(typeof t==="string"){return r({},o,{title:E(J,{tipType:"popover",popoverProps:{content:t},children:a})})}return r({},o,{title:E(J,r({},t,{children:a}))})}if(typeof a==="string"&&!!n){return r({},o,{title:E($,{tooltip:n,title:a})})}return e}).filter(Boolean);return[].concat(e)},[n.columns])};var fe=function e(n){var t=n.columns;return L.useMemoCustom(function(){var e;if((e=n.columnFoldConfig)!=null&&e.hidden)return t;var r=t[t.length-1];if(n.foldColumnList.length>0&&t.length>0){var i=t.find(function(e){return e["_isFoldColumn"]});if(i&&r.dataIndex!==i.dataIndex){i.title=i["_isFoldTitle"];i["_isFoldColumn"]=false}if(!r["_isFoldColumn"]){var a,o,l,u,s,c;r["_isFoldTitle"]=r["_isFoldTitle"]||r.title;r["_isFoldColumn"]=true;var d=(a=n.columnFoldConfig)==null?void 0:a.triggerType;r.title=V(U,{direction:"horizontal",fullIndex:0,style:{alignItems:"center"},children:[E("span",{children:r.title}),E("div",{style:{padding:"0 5px 0 20px",display:"flex"},children:d==="drawer"?E(H,{onClick:n.onOpenColumnFoldModal,text:(o=n.columnFoldConfig)==null?void 0:o.text,size:"small",icon:((l=n.columnFoldConfig)==null?void 0:l.icon)||E(Y,{svgPath:"ionic/list-circle",color:"#868686"}),hoverTips:((u=n.columnFoldConfig)==null?void 0:u.hoverTipText)||"字段列表",style:{padding:0,margin:0}}):E(te,{dataList:n.foldColumnList,onChange:n.onChangeFoldColumnList,cacheKey:n.cacheKey,initSelectedRowKeys:n.showFoldKeyList,children:E(H,{text:(s=n.columnFoldConfig)==null?void 0:s.text,style:{padding:0,margin:0},size:"small",icon:((c=n.columnFoldConfig)==null?void 0:c.icon)||E(Y,{svgPath:"ionic/list-circle",color:"#868686"})})})})]})}}return t},[n.columns,n.columnFoldConfig])};var me=function e(n){return z(function(){var e=n.columns.map(function(e){var t=e.hidden,r=e.isFold;if(t)return null;if(r&&!n.showFoldKeyList.includes(e.dataIndex))return null;return e}).filter(Boolean);return[].concat(e)},[n.columns,n.showFoldKeyList])};var pe=function e(n){return z(function(){if(!Object.keys(n.asyncColumnRequestResult))return n.columns;return n.columns.map(function(e){var t=e.dataIndex;var r=n.asyncColumnRequestResult[t];if(t&&r){if(r.loading){e.render=function(e){return E(M,{loading:true,type:"text",loadingPosition:"center",removeGap:true,children:e})}}else if(e.asyncRender){e.render=function(n,t,i){return e.asyncRender==null?void 0:e.asyncRender(n,t,i,r.respData)}}}return e})},[n.columns,n.asyncColumnRequestResult])};var ve=["children","rowKey","pagination","isSync","title","actions"];var ge=function e(n){var t;if(!n.title&&!((t=n.actions)!=null&&t.length)){return null}return V(U,{fullIndex:0,direction:"horizontal",style:{marginBottom:10,alignItems:"center"},children:[n.title?E("div",{style:{fontWeight:400,fontSize:16},children:n.title}):null,E(x,{size:10,children:n.actions})]})};var he=function e(n){var t=N(ne);var a=n.children,o=n.rowKey,l=n.pagination,u=n.isSync,m=n.title,p=n.actions,g=i(n,ve);var h=L.useResponsivePoint()||"";var y=_({});var C=w({}),F=C[0],b=C[1];var x=t.dynamicColumnsConfig,R=x.columnFoldConfig,K=x.onCloseColumnFoldModal,I=x.columnFoldOpen,P=x.onOpenColumnFoldModal,T=x.asyncColumnRequest,k=x.showFoldKeyList,D=x.onChangeShowFoldKeyList;var O=t.cacheKey,A=t.fieldNames,M=t.onRequest,W=t.tableDataSource,Q=t.pageSize,U=t.tableTotal,H=t.loading,Y=t.paginationFixed,$=t.onSetPaginationStatus;var J=X.get(O);L.useEffectCustom(function(){t.onSetBaseColumns(n.columns||[])},[]);q(function(){if(T!=null&&T.length){var e=function e(){var t;var i=T[n];y.current=r({},y.current,(t={},t[i.dataIndex]={loading:true},t));b(y.current);i.onRequest().then(function(e){var n;y.current=r({},y.current,(n={},n[i.dataIndex]={loading:false,respData:e},n));b(y.current)}).catch(function(e){var n;console.error(e==null?void 0:e.message);y.current=r({},y.current,(n={},n[i.dataIndex]={loading:false},n));b(y.current)})};for(var n=0;n<T.length;n++){e()}}},[T]);var Z=L.useMemoCustom(function(){if(t.columns){t.onSetColumns(t.columns);return t.columns}else{t.onSetColumns(n.columns);return n.columns}},[t.columns,n.columns]);var ee=de({columns:[].concat(Z)});var te=Z.filter(function(e){return!e.hidden&&e.isFold&&e.dataIndex});ee=fe({cacheKey:O,columns:ee,foldColumnList:te,showFoldKeyList:k,columnFoldConfig:R,onOpenColumnFoldModal:P,onChangeFoldColumnList:D});ee=me({columns:ee,showFoldKeyList:k});ee=pe({columns:ee,asyncColumnRequestResult:F});L.useEffectCustom(function(){$(l!==false)},[l]);v.useUpdateEffect(function(){if(!Y){if(l!==false){var e;M((e={},e[A.pageSize]=J[A.pageSize]||Q,e[A.pageNo]=1,e))}else{var n;M((n={},n[A.pageSize]=undefined,n[A.pageNo]=undefined,n))}}},[l]);var re=z(function(){if(Y||l===false)return false;return r({showSizeChanger:true,current:J[A.pageNo]||1,pageSize:J[A.pageSize]||Q,total:U,showTotal:function e(n){return"共 "+n+" 条记录"}},n.pagination)},[J,A.pageNo,A.pageSize,Q,l,Y,n.pagination,U]);var ie=function e(t,r,i,a){if(a.action==="paginate"&&re){var o;M((o={},o[A.pageSize]=t.pageSize,o[A.pageNo]=t.current,o))}else{n.onChange==null||n.onChange(t,r,i,a)}};var ae=z(function(){if(!W)return undefined;if(W.length===0){return[]}if(typeof o==="string"&&c(W[0][o])){return W.map(function(e){e[o]=s();return e})}return W},[W,o]);ee=z(function(){return ee.map(function(e){if(!!e.fixed&&h==="xs"){e.fixed=undefined}if(!!e.defaultValue&&!e.render){e.render=function(n){return c(n)||n==""?e.defaultValue:n}}return e})},[ee,h]);var oe=function e(){if(u&&!ae){return V(j,{children:[E(ge,{title:m,actions:p}),a,E(S,{size:"small",scroll:{x:"max-content"},bordered:true,rowKey:o,columns:ee,loading:H},"1")]})}if(d()){return V(j,{children:[E(ge,{title:m,actions:p}),a,E(S,r({size:"small",scroll:{x:"max-content"},bordered:true},g,{columns:ee,pagination:re,rowKey:o,onChange:ie,loading:H,dataSource:ae}),"2")]})}return V(j,{children:[E(ge,{title:m,actions:p}),a,E(G,{children:E(S,r({size:"small",scroll:{x:"max-content"},bordered:true},g,{columns:ee,pagination:re,rowKey:o,onChange:ie,loading:H,dataSource:ae}),"3")})]})};return V(B,{className:f("easy-table-table",{"ett-empty-show-small":n.emptyShowSize==="small"},n.tableWrapperClassName),style:n.tableWrapperStyle,children:[oe(),E(se,{dataList:te,onClose:K,open:I,onChange:D,cacheKey:O,initSelectedRowKeys:k})]})};var ye=e.attachPropertiesToComponent(ae,{Filter:oe,Table:he,useEasyTablRef:ue,useEasyTable:le,setEnabledInitRequest:function e(n){Z.set(n,false)}});export{ye as EasyTable};
|
|
23
19
|
//# sourceMappingURL=index.js.map
|