@flatbiz/antd 4.4.35 → 4.4.37

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.
@@ -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 i}from"@dimjs/utils/cjs/class-names";import{isNull as t}from"@dimjs/lang/cjs/is-null";import{_ as o,a as n}from"../_rollupPluginBabelHelpers-a0769acd.js";import{isPromise as r}from"@dimjs/lang/cjs/is-promise";import{hooks as l}from"@wove/react/cjs/hooks";import{dom as a}from"@flatbiz/utils";import{useSize as d}from"ahooks";import{Form as s,Modal as m}from"antd";import{useState as c,useMemo as u}from"react";import{createRoot as p}from"react-dom/client";import{ButtonWrapper as f}from"../button-wrapper/index.js";import{C as h}from"../index-7f4ad045.js";import{fbaHooks as v}from"../fba-hooks/index.js";import{FlexLayout as g}from"../flex-layout/index.js";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"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-21b8c601.js";var w=["title","titleExtra","divElement","elementId","onOk","onCancel","okButtonProps","cancelButtonProps","content","configProviderProps","className","okHidden","cancelHidden","footer","cancelText","okText","size"];var k=function e(p){var k,x;var C=p.title,b=p.titleExtra,_=p.divElement,P=p.elementId,E=p.onOk,I=p.onCancel,z=p.okButtonProps,B=p.cancelButtonProps,H=p.content,O=p.configProviderProps,R=p.className,N=p.okHidden,T=p.cancelHidden,F=p.footer,D=p.cancelText,S=p.okText,Y=p.size,q=n(p,w);var A=c(true),L=A[0],U=A[1];var G=s.useForm(),J=G[0];var K=d(document.querySelector("html"));var M=v.useResponsivePoint()||"";var Q=Y===null?undefined:Y===undefined?"middle":Y;var V=l.useCallbackRef((function(){try{delete window[P]}catch(e){}U(false)}));v.useEffectCustom((function(){window[P]=V}),[V]);var W=l.useCallbackRef((function(e){if(I){var i=I(J,e);if(i&&r(i)){return i.then(V)}}return V()}));var X=l.useCallbackRef((function(e){if(E){var i=E(J,e);if(i&&r(i)){return i.then(V)}}return V()}));var Z=l.useCallbackRef((function(){a.removeBodyChild("#"+P);p.afterClose==null?void 0:p.afterClose()}));var $=[j(f,o({},B,{onClick:W,hidden:T,children:D||"取消"}),"0"),j(f,o({type:"primary"},z,{onClick:X,hidden:N,children:S||"提交"}),"1")];var ee=t(F)?null:$;var ie=u((function(){if(!(K!=null&&K.height)||!M)return undefined;if(["xs","sm"].includes(M)){return{height:(K==null?void 0:K.height)*.7}}if(Q=="large"){return{height:(K==null?void 0:K.height)*.7,width:K.width*.6}}if(Q=="small"){var e=K.width*.3;return{height:(K==null?void 0:K.height)*.4,width:e<470?470:e}}if(Q=="middle"){return{height:(K==null?void 0:K.height)*.55,width:K.width*.5}}return undefined}),[K==null?void 0:K.height,Q,(k=q.styles)==null||(k=k.body)==null?void 0:k.height,q.width,M]);return j(h,o({},O,{children:j(m,o({title:b?y(g,{direction:"horizontal",fullIndex:0,children:[j("span",{children:C}),b]}):C,maskClosable:true,centered:true,onCancel:V,destroyOnClose:true,width:ie==null?void 0:ie.width},q,{styles:o({},q.styles,{body:o({height:ie==null?void 0:ie.height,maxHeight:"calc(100vh - 200px)"},(x=q.styles)==null?void 0:x.body)}),className:i("v-dialog-modal",{"v-dialog-modal-title-extra":!!b},R),open:L,afterClose:Z,getContainer:_,footer:ee,children:typeof H==="function"?H(J,{onClose:V}):H}))}))};var x={open:function e(i){var t=a.bodyAppendDivElement(),n=t.divElement,r=t.elementId;window["__dialog_modal_elementId"]=r;var l=p(n);l.render(j(k,o({},i,{divElement:n,elementId:r})));return{close:function e(){var i,t;(i=(t=window)[r])==null?void 0:i.call(t)}}},close:function i(){try{var t,o;var n=window["__dialog_modal_elementId"];if(e(n))(t=(o=window)[n])==null?void 0:t.call(o)}catch(e){}}};export{x as dialogModal};
10
+ import{isString as e}from"@dimjs/lang/cjs/is-string";import{classNames as i}from"@dimjs/utils/cjs/class-names";import{isNull as t}from"@dimjs/lang/cjs/is-null";import{_ as o,a as n}from"../_rollupPluginBabelHelpers-a0769acd.js";import{isPromise as r}from"@dimjs/lang/cjs/is-promise";import{hooks as l}from"@wove/react/cjs/hooks";import{dom as a}from"@flatbiz/utils";import{useSize as d}from"ahooks";import{Form as s,Modal as m}from"antd";import{useState as c,useMemo as u}from"react";import{createRoot as p}from"react-dom/client";import{ButtonWrapper as f}from"../button-wrapper/index.js";import{C as h}from"../index-7f4ad045.js";import{fbaHooks as v}from"../fba-hooks/index.js";import{FlexLayout as g}from"../flex-layout/index.js";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"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-21b8c601.js";var w=["title","titleExtra","divElement","elementId","onOk","onCancel","okButtonProps","cancelButtonProps","content","configProviderProps","className","okHidden","cancelHidden","footer","cancelText","okText","size"];var k=function e(p){var k,x;var C=p.title,b=p.titleExtra,_=p.divElement,P=p.elementId,E=p.onOk,I=p.onCancel,z=p.okButtonProps,B=p.cancelButtonProps,H=p.content,O=p.configProviderProps,R=p.className,N=p.okHidden,T=p.cancelHidden,F=p.footer,D=p.cancelText,S=p.okText,Y=p.size,q=n(p,w);var A=c(true),L=A[0],U=A[1];var G=s.useForm(),J=G[0];var K=d(document.querySelector("html"));var M=v.useResponsivePoint()||"";var Q=Y===null?undefined:Y===undefined?"middle":Y;var V=l.useCallbackRef((function(){try{delete window[P]}catch(e){}U(false)}));v.useEffectCustom((function(){window[P]=V}),[V]);var W=l.useCallbackRef((function(e){if(I){var i=I(J,e);if(i&&r(i)){return i.then(V)}}return V()}));var X=l.useCallbackRef((function(e){if(E){var i=E(J,e);if(i&&r(i)){return i.then(V)}}return V()}));var Z=l.useCallbackRef((function(){a.removeBodyChild("#"+P);p.afterClose==null?void 0:p.afterClose()}));var $=[j(f,o({},B,{onClick:W,hidden:T,children:D||"取消"}),"0"),j(f,o({type:"primary"},z,{onClick:X,hidden:N,children:S||"提交"}),"1")];var ee=t(F)?null:F||$;var ie=u((function(){if(!(K!=null&&K.height)||!M)return undefined;if(["xs","sm"].includes(M)){return{height:(K==null?void 0:K.height)*.7}}if(Q=="large"){return{height:(K==null?void 0:K.height)*.7,width:K.width*.6}}if(Q=="small"){var e=K.width*.3;return{height:(K==null?void 0:K.height)*.4,width:e<470?470:e}}if(Q=="middle"){return{height:(K==null?void 0:K.height)*.55,width:K.width*.5}}return undefined}),[K==null?void 0:K.height,Q,(k=q.styles)==null||(k=k.body)==null?void 0:k.height,q.width,M]);return j(h,o({},O,{children:j(m,o({title:b?y(g,{direction:"horizontal",fullIndex:0,children:[j("span",{children:C}),b]}):C,maskClosable:true,centered:true,onCancel:V,destroyOnClose:true,width:ie==null?void 0:ie.width,footer:ee},q,{styles:o({},q.styles,{body:o({height:ie==null?void 0:ie.height,maxHeight:"calc(100vh - 200px)"},(x=q.styles)==null?void 0:x.body)}),className:i("v-dialog-modal",{"v-dialog-modal-title-extra":!!b},R),open:L,afterClose:Z,getContainer:_,children:typeof H==="function"?H(J,{onClose:V}):H}))}))};var x={open:function e(i){var t=a.bodyAppendDivElement(),n=t.divElement,r=t.elementId;window["__dialog_modal_elementId"]=r;var l=p(n);l.render(j(k,o({},i,{divElement:n,elementId:r})));return{close:function e(){var i,t;(i=(t=window)[r])==null?void 0:i.call(t)}}},close:function i(){try{var t,o;var n=window["__dialog_modal_elementId"];if(e(n))(t=(o=window)[n])==null?void 0:t.call(o)}catch(e){}}};export{x as dialogModal};
11
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/dialog-modal/dialog-modal.tsx"],"sourcesContent":["import { isNull, isPromise, isString } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\n\nimport { BodyAppendDivElementProps, dom, TNoopDefine } 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 './style.less';\n\nexport type DialogModalProps = Omit<\n ModalProps,\n 'onOk' | 'onCancel' | 'getContainer' | 'open' | 'open' | 'okButtonProps' | 'cancelButtonProps' | 'footer'\n> & {\n /**\n * 内置尺寸,根据比例固定高度、宽度,默认:middle\n * ```\n * 1. 如果自定义了width、styles.body.height属性,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 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 /** null则隐藏footer */\n footer?: null | ReactElement | ReactElement[];\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 ...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 sizeFt = size === null ? undefined : size === undefined ? 'middle' : size;\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 operateGroup = [\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 ];\n\n const footerNew = isNull(footer) ? null : operateGroup;\n\n const customSize = useMemo(() => {\n if (!htmlSize?.height || !screenType) return undefined;\n if (['xs', 'sm'].includes(screenType)) {\n return {\n height: (htmlSize?.height as number) * 0.7,\n };\n }\n if (sizeFt == 'large') {\n return {\n height: (htmlSize?.height as number) * 0.7,\n width: htmlSize.width * 0.6,\n };\n }\n if (sizeFt == 'small') {\n const width = htmlSize.width * 0.3;\n return {\n height: (htmlSize?.height as number) * 0.4,\n width: width < 470 ? 470 : width,\n };\n }\n\n if (sizeFt == 'middle') {\n return {\n height: (htmlSize?.height as number) * 0.55,\n width: htmlSize.width * 0.5,\n };\n }\n\n return undefined;\n }, [htmlSize?.height, sizeFt, otherProps.styles?.body?.height, otherProps.width, screenType]);\n\n return (\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 styles={{\n ...otherProps.styles,\n body: {\n height: customSize?.height,\n maxHeight: 'calc(100vh - 200px)',\n ...otherProps.styles?.body,\n },\n }}\n className={classNames('v-dialog-modal', { 'v-dialog-modal-title-extra': !!titleExtra }, className)}\n open={open}\n afterClose={onAfterClose}\n getContainer={divElement}\n footer={footerNew}\n >\n {typeof content === 'function' ? content(form, { onClose }) : content}\n </Modal>\n </ConfigProviderWrapper>\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属性可使用预设的弹窗尺寸,如果不使用内置尺寸可设置 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"],"names":["ModalRender","props","_otherProps$styles","_otherProps$styles2","title","titleExtra","divElement","elementId","onOk","onCancel","okButtonProps","cancelButtonProps","content","configProviderProps","className","okHidden","cancelHidden","footer","cancelText","okText","size","otherProps","_objectWithoutPropertiesLoose","_excluded","_useState","useState","open","setOpen","_Form$useForm","Form","useForm","form","htmlSize","useSize","document","querySelector","screenType","fbaHooks","useResponsivePoint","sizeFt","undefined","onClose","_hooks","useCallbackRef","window","error","useEffectCustom","onCancelHandle","e","response","_isPromise","then","onOkHandle","onAfterClose","dom","removeBodyChild","afterClose","operateGroup","_jsx","ButtonWrapper","_extends","onClick","hidden","children","type","footerNew","_isNull","customSize","useMemo","height","includes","width","styles","body","ConfigProviderWrapper","Modal","_jsxs","FlexLayout","direction","fullIndex","maskClosable","centered","destroyOnClose","maxHeight","_classNames","getContainer","dialogModal","_dom$bodyAppendDivEle","bodyAppendDivElement","root","createRoot","render","close","_window$elementId","_window","call","_window$elementId2","_window2","_isString"],"mappings":";8/CAiDA,IAAMA,EAAc,SAAdA,EAAeC,GAAwD,IAAAC,EAAAC,EAC3E,IACEC,EAkBEH,EAlBFG,MACAC,EAiBEJ,EAjBFI,WACAC,EAgBEL,EAhBFK,WACAC,EAeEN,EAfFM,UACAC,EAcEP,EAdFO,KACAC,EAaER,EAbFQ,SACAC,EAYET,EAZFS,cACAC,EAWEV,EAXFU,kBACAC,EAUEX,EAVFW,QACAC,EASEZ,EATFY,oBACAC,EAQEb,EARFa,UACAC,EAOEd,EAPFc,SACAC,EAMEf,EANFe,aACAC,EAKEhB,EALFgB,OACAC,EAIEjB,EAJFiB,WACAC,EAGElB,EAHFkB,OACAC,EAEEnB,EAFFmB,KACGC,EAAUC,EACXrB,EAAKsB,GAET,IAAAC,EAAwBC,EAAS,MAA1BC,EAAIF,EAAA,GAAEG,EAAOH,EAAA,GACpB,IAAAI,EAAeC,EAAKC,UAAbC,EAAIH,EAAA,GACX,IAAMI,EAAWC,EAAQC,SAASC,cAAc,SAChD,IAAMC,EAAaC,EAASC,sBAAwB,GACpD,IAAMC,EAASnB,IAAS,KAAOoB,UAAYpB,IAASoB,UAAY,SAAWpB,EAE3E,IAAMqB,EAAUC,EAAMC,gBAAe,WACnC,WACSC,OAAOrC,EACf,CAAC,MAAOsC,GACP,CAEFlB,EAAQ,MACV,IAEAU,EAASS,iBAAgB,WACvBF,OAAOrC,GAAakC,CACtB,GAAG,CAACA,IAEJ,IAAMM,EAAiBL,EAAMC,gBAAe,SAACK,GAC3C,GAAIvC,EAAU,CACZ,IAAMwC,EAAWxC,EAASsB,EAAMiB,GAChC,GAAIC,GAAYC,EAAUD,GAAW,CACnC,OAAOA,EAASE,KAAKV,EACvB,CACF,CACA,OAAOA,GACT,IAEA,IAAMW,EAAaV,EAAMC,gBAAe,SAACK,GACvC,GAAIxC,EAAM,CACR,IAAMyC,EAAWzC,EAAKuB,EAAMiB,GAC5B,GAAIC,GAAYC,EAAUD,GAAW,CACnC,OAAOA,EAASE,KAAKV,EACvB,CACF,CACA,OAAOA,GACT,IAEA,IAAMY,EAAeX,EAAMC,gBAAe,WACxCW,EAAIC,gBAAoBhD,IAAAA,GACxBN,EAAMuD,YAAU,UAAA,EAAhBvD,EAAMuD,YACR,IAEA,IAAMC,EAAe,CACnBC,EAACC,EAAaC,EAAA,CAAA,EAAajD,EAAiB,CAAEkD,QAASd,EAAgBe,OAAQ9C,EAAa+C,SACzF7C,GAAc,OADE,KAGnBwC,EAACC,EAAaC,EAAA,CAASI,KAAK,WAActD,EAAa,CAAEmD,QAAST,EAAYU,OAAQ/C,EAASgD,SAC5F5C,GAAU,OADM,MAKrB,IAAM8C,GAAYC,EAAOjD,GAAU,KAAOwC,EAE1C,IAAMU,GAAaC,GAAQ,WACzB,KAAKpC,GAAQ,MAARA,EAAUqC,UAAWjC,EAAY,OAAOI,UAC7C,GAAI,CAAC,KAAM,MAAM8B,SAASlC,GAAa,CACrC,MAAO,CACLiC,QAASrC,eAAAA,EAAUqC,QAAoB,GAE3C,CACA,GAAI9B,GAAU,QAAS,CACrB,MAAO,CACL8B,QAASrC,GAAQ,UAAA,EAARA,EAAUqC,QAAoB,GACvCE,MAAOvC,EAASuC,MAAQ,GAE5B,CACA,GAAIhC,GAAU,QAAS,CACrB,IAAMgC,EAAQvC,EAASuC,MAAQ,GAC/B,MAAO,CACLF,QAASrC,GAAQ,UAAA,EAARA,EAAUqC,QAAoB,GACvCE,MAAOA,EAAQ,IAAM,IAAMA,EAE/B,CAEA,GAAIhC,GAAU,SAAU,CACtB,MAAO,CACL8B,QAASrC,GAAQ,UAAA,EAARA,EAAUqC,QAAoB,IACvCE,MAAOvC,EAASuC,MAAQ,GAE5B,CAEA,OAAO/B,SACR,GAAE,CAACR,GAAQ,UAAA,EAARA,EAAUqC,OAAQ9B,GAAMrC,EAAEmB,EAAWmD,SAAM,OAAAtE,EAAjBA,EAAmBuE,OAAI,UAAA,EAAvBvE,EAAyBmE,OAAQhD,EAAWkD,MAAOnC,IAEjF,OACEsB,EAACgB,EAAqBd,KAAK/C,EAAmB,CAAAkD,SAC5CL,EAACiB,EAAKf,EAAA,CACJxD,MACEC,EACEuE,EAACC,EAAU,CAACC,UAAU,aAAaC,UAAW,EAAEhB,UAC9CL,EAAA,OAAA,CAAAK,SAAO3D,IACNC,KAGHD,EAGJ4E,aAAc,KACdC,SAAU,KACVxE,SAAUgC,EACVyC,eAAc,KACdX,MAAOJ,IAAAA,UAAAA,EAAAA,GAAYI,OACflD,EAAU,CACdmD,OAAMZ,EACDvC,GAAAA,EAAWmD,OAAM,CACpBC,KAAIb,EAAA,CACFS,OAAQF,IAAAA,UAAAA,EAAAA,GAAYE,OACpBc,UAAW,wBAAqBhF,EAC7BkB,EAAWmD,SAAXrE,UAAAA,EAAAA,EAAmBsE,QAG1B3D,UAAWsE,EAAW,iBAAkB,CAAE,+BAAgC/E,GAAcS,GACxFY,KAAMA,EACN8B,WAAYH,EACZgC,aAAc/E,EACdW,OAAQgD,GAAUF,gBAEVnD,IAAY,WAAaA,EAAQmB,EAAM,CAAEU,QAAAA,IAAa7B,OAItE,EAeO,IAAM0E,EAAc,CACzB5D,KAAM,SAAAA,EAACzB,GACL,IAAAsF,EAAkCjC,EAAIkC,uBAA9BlF,EAAUiF,EAAVjF,WAAYC,EAASgF,EAAThF,UACpBqC,OAAO,4BAA8BrC,EACrC,IAAMkF,EAAOC,EAAWpF,GACxBmF,EAAKE,OAAOjC,EAAC1D,EAAW4D,EAAA,CAAA,EAAK3D,EAAK,CAAEK,WAAYA,EAAYC,UAAWA,MACvE,MAAO,CACLqF,MAAO,SAAAA,IAAM,IAAAC,EAAAC,GACXD,GAAAC,EAAAlD,QAAOrC,KAAU,UAAA,EAAjBsF,EAAAE,KAAAD,EACF,EAEH,EAODF,MAAO,SAAAA,IACL,IAAI,IAAAI,EAAAC,EACF,IAAM1F,EAAYqC,OAAO,4BACzB,GAAIsD,EAAS3F,IAAYyF,GAAAC,EAAArD,QAAOrC,KAAPyF,UAAAA,EAAAA,EAAAD,KAAAE,EAC1B,CAAC,MAAOpD,GACP,CAEJ"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/dialog-modal/dialog-modal.tsx"],"sourcesContent":["import { isNull, isPromise, isString } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\n\nimport { BodyAppendDivElementProps, dom, TNoopDefine } 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 './style.less';\n\nexport type DialogModalProps = Omit<\n ModalProps,\n 'onOk' | 'onCancel' | 'getContainer' | 'open' | 'open' | 'okButtonProps' | 'cancelButtonProps' | 'footer'\n> & {\n /**\n * 内置尺寸,根据比例固定高度、宽度,默认:middle\n * ```\n * 1. 如果自定义了width、styles.body.height属性,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 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 /** null则隐藏footer */\n footer?: null | ReactElement | ReactElement[];\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 ...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 sizeFt = size === null ? undefined : size === undefined ? 'middle' : size;\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 operateGroup = [\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 ];\n\n const footerNew = isNull(footer) ? null : footer || operateGroup;\n\n const customSize = useMemo(() => {\n if (!htmlSize?.height || !screenType) return undefined;\n if (['xs', 'sm'].includes(screenType)) {\n return {\n height: (htmlSize?.height as number) * 0.7,\n };\n }\n if (sizeFt == 'large') {\n return {\n height: (htmlSize?.height as number) * 0.7,\n width: htmlSize.width * 0.6,\n };\n }\n if (sizeFt == 'small') {\n const width = htmlSize.width * 0.3;\n return {\n height: (htmlSize?.height as number) * 0.4,\n width: width < 470 ? 470 : width,\n };\n }\n\n if (sizeFt == 'middle') {\n return {\n height: (htmlSize?.height as number) * 0.55,\n width: htmlSize.width * 0.5,\n };\n }\n\n return undefined;\n }, [htmlSize?.height, sizeFt, otherProps.styles?.body?.height, otherProps.width, screenType]);\n\n return (\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 footer={footerNew}\n {...otherProps}\n styles={{\n ...otherProps.styles,\n body: {\n height: customSize?.height,\n maxHeight: 'calc(100vh - 200px)',\n ...otherProps.styles?.body,\n },\n }}\n className={classNames('v-dialog-modal', { 'v-dialog-modal-title-extra': !!titleExtra }, className)}\n open={open}\n afterClose={onAfterClose}\n getContainer={divElement}\n >\n {typeof content === 'function' ? content(form, { onClose }) : content}\n </Modal>\n </ConfigProviderWrapper>\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属性可使用预设的弹窗尺寸,如果不使用内置尺寸可设置 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"],"names":["ModalRender","props","_otherProps$styles","_otherProps$styles2","title","titleExtra","divElement","elementId","onOk","onCancel","okButtonProps","cancelButtonProps","content","configProviderProps","className","okHidden","cancelHidden","footer","cancelText","okText","size","otherProps","_objectWithoutPropertiesLoose","_excluded","_useState","useState","open","setOpen","_Form$useForm","Form","useForm","form","htmlSize","useSize","document","querySelector","screenType","fbaHooks","useResponsivePoint","sizeFt","undefined","onClose","_hooks","useCallbackRef","window","error","useEffectCustom","onCancelHandle","e","response","_isPromise","then","onOkHandle","onAfterClose","dom","removeBodyChild","afterClose","operateGroup","_jsx","ButtonWrapper","_extends","onClick","hidden","children","type","footerNew","_isNull","customSize","useMemo","height","includes","width","styles","body","ConfigProviderWrapper","Modal","_jsxs","FlexLayout","direction","fullIndex","maskClosable","centered","destroyOnClose","maxHeight","_classNames","getContainer","dialogModal","_dom$bodyAppendDivEle","bodyAppendDivElement","root","createRoot","render","close","_window$elementId","_window","call","_window$elementId2","_window2","_isString"],"mappings":"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"}
@@ -2,5 +2,5 @@
2
2
  import './../icon-wrapper/index.css';
3
3
  import './index.css';
4
4
  /*! @flatjs/forge MIT @flatbiz/antd */
5
- import{_ as r,a as n}from"../_rollupPluginBabelHelpers-a0769acd.js";import{useSensors as o,useSensor as e,PointerSensor as t,DndContext as i}from"@dnd-kit/core";import{restrictToVerticalAxis as a}from"@dnd-kit/modifiers";import{useSortable as d,SortableContext as s,verticalListSortingStrategy as c,arrayMove as l}from"@dnd-kit/sortable";import{Table as u}from"antd";import{Children as f,cloneElement as m,isValidElement as v,useState as p,useEffect as g,useMemo as x}from"react";import{createCtx as y}from"@wove/react/cjs/create-ctx";import{CSS as I}from"@dnd-kit/utilities";import{jsx as b}from"react/jsx-runtime";import h from"@ant-design/icons/es/icons/DragOutlined";import{noop as k}from"@flatbiz/utils";import{IconWrapper as j}from"../icon-wrapper/index.js";import"@dimjs/utils/cjs/class-names";import"@dimjs/lang/cjs/is-undefined";var w=y(),D=w[0],S=w[1];var C=function n(o){var e=d({id:o["data-row-key"]}),t=e.listeners,i=e.setNodeRef,a=e.transform,s=e.transition,c=e.isDragging;var l=r({},o.style,{transform:I.Transform.toString(a&&r({},a,{scaleY:1})),transition:s,cursor:"move"},c?{position:"relative",zIndex:9999,boxShadow:" 0px 0px 12px 4px rgba(34, 33, 81, 0.1)"}:{});return b("tr",r({},o,{ref:i,style:l},t))};var z=["dragIcon"];var A=function o(e){var t=e.dragIcon,i=n(e,z);var a=i["data-row-key"];var s=d({id:a}),c=s.setActivatorNodeRef,l=s.listeners,u=s.setNodeRef,p=s.transform,g=s.transition,x=s.isDragging;if(!a){return b("tr",r({},i))}var y=r({},i.style,{transform:I.Transform.toString(p&&r({},p,{scaleY:1})),transition:g,cursor:t===false?"move":undefined},x?{position:"relative",zIndex:9999,boxShadow:" 0px 0px 12px 4px rgba(34, 33, 81, 0.1)",backgroundColor:"var(--block-bg-color)"}:{});var w=v(t)?t:b(h,{});return b("tr",r({},i,{ref:u,style:y,children:f.map(e.children,(function(n){if(n.key==="sort"){return m(n,{children:b("span",r({ref:c,style:{touchAction:"none",cursor:"move"}},l,{children:b(j,{style:{touchAction:"none",cursor:"move",padding:"1px 0px",margin:0,justifyContent:"center",color:"#787878"},icon:w,onClick:k})}))})}return n}))}))};var K=function n(o){var e=D();return e.dragIcon===false?b(C,r({},o,{dragIcon:e.dragIcon})):b(A,r({},o,{dragIcon:e.dragIcon}))};var N=["dragIcon","uidFieldKey","columns","dataSource","onDragChange","disabledDrag"];var R=function d(f){var m;var v=f.dragIcon,y=f.uidFieldKey,I=f.columns,h=f.dataSource,k=f.onDragChange,j=f.disabledDrag,w=n(f,N);var D=p([]),C=D[0],z=D[1];g((function(){z(h||[])}),[h]);var A=function r(n){var o=n.active,e=n.over;if(o.id!==(e==null?void 0:e.id)){var t=C.findIndex((function(r){return r[y]===o.id}));var i=C.findIndex((function(r){return r[y]===(e==null?void 0:e.id)}));var a=l(C,t,i);z([].concat(a));k==null?void 0:k(a,{activeId:o.id,activeIndex:t,overIndex:i})}};var R=x((function(){if(v===false)return I;return[{key:"sort",dataIndex:"sort",align:"center",width:50}].concat(I||[])}),[I,v]);var F=o(e(t,{activationConstraint:{delay:v===false?150:0,tolerance:0}}));return b(S,{value:{dragIcon:v},children:b(i,{sensors:F,modifiers:[a],onDragEnd:A,children:b(s,{items:C.map((function(r){return r[y]})),strategy:c,children:b(u,r({pagination:false,rowKey:y,bordered:true,components:r({},w.components,{body:r({},(m=w.components)==null?void 0:m.body,{row:j?undefined:K})})},w,{dataSource:C,columns:R}))})})})};export{R as DragTable};
5
+ import{_ as r,a as n}from"../_rollupPluginBabelHelpers-a0769acd.js";import{useSensors as o,useSensor as e,PointerSensor as t,DndContext as i}from"@dnd-kit/core";import{restrictToVerticalAxis as a}from"@dnd-kit/modifiers";import{useSortable as d,SortableContext as s,verticalListSortingStrategy as c,arrayMove as l}from"@dnd-kit/sortable";import{Table as f}from"antd";import{Children as u,cloneElement as m,isValidElement as v,useState as p,useEffect as g,useMemo as x}from"react";import{createCtx as y}from"@wove/react/cjs/create-ctx";import{CSS as I}from"@dnd-kit/utilities";import{jsx as b}from"react/jsx-runtime";import h from"@ant-design/icons/es/icons/DragOutlined";import{noop as k}from"@flatbiz/utils";import{IconWrapper as j}from"../icon-wrapper/index.js";import"@dimjs/utils/cjs/class-names";import"@dimjs/lang/cjs/is-undefined";var w=y(),D=w[0],S=w[1];var C=function n(o){var e=d({id:o["data-row-key"]}),t=e.listeners,i=e.setNodeRef,a=e.transform,s=e.transition,c=e.isDragging;var l=r({},o.style,{transform:I.Transform.toString(a&&r({},a,{scaleY:1})),transition:s,cursor:"move"},c?{position:"relative",zIndex:9999,boxShadow:" 0px 0px 12px 4px rgba(34, 33, 81, 0.1)"}:{});return b("tr",r({},o,{ref:i,style:l},t))};var z=["dragIcon"];var A=function o(e){var t=e.dragIcon,i=n(e,z);var a=i["data-row-key"];var s=d({id:a}),c=s.setActivatorNodeRef,l=s.listeners,f=s.setNodeRef,p=s.transform,g=s.transition,x=s.isDragging;if(!a){return b("tr",r({},i))}var y=r({},i.style,{transform:I.Transform.toString(p&&r({},p,{scaleY:1})),transition:g,cursor:t===false?"move":undefined},x?{position:"relative",zIndex:9999,boxShadow:" 0px 0px 12px 4px rgba(34, 33, 81, 0.1)",backgroundColor:"var(--block-bg-color)"}:{});var w=v(t)?t:b(h,{});return b("tr",r({},i,{ref:f,style:y,children:u.map(e.children,(function(n){if(n.key==="sort"){return m(n,{children:b("span",r({ref:c,style:{touchAction:"none",cursor:"move",position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",display:"inline-flex"}},l,{children:b(j,{style:{touchAction:"none",cursor:"move",padding:"1px 0px",margin:0,justifyContent:"center",color:"#787878"},icon:w,onClick:k})}))})}return n}))}))};var K=function n(o){var e=D();return e.dragIcon===false?b(C,r({},o,{dragIcon:e.dragIcon})):b(A,r({},o,{dragIcon:e.dragIcon}))};var N=["dragIcon","uidFieldKey","columns","dataSource","onDragChange","disabledDrag"];var R=function d(u){var m;var v=u.dragIcon,y=u.uidFieldKey,I=u.columns,h=u.dataSource,k=u.onDragChange,j=u.disabledDrag,w=n(u,N);var D=p([]),C=D[0],z=D[1];g((function(){z(h||[])}),[h]);var A=function r(n){var o=n.active,e=n.over;if(o.id!==(e==null?void 0:e.id)){var t=C.findIndex((function(r){return r[y]===o.id}));var i=C.findIndex((function(r){return r[y]===(e==null?void 0:e.id)}));var a=l(C,t,i);z([].concat(a));k==null?void 0:k(a,{activeId:o.id,activeIndex:t,overIndex:i})}};var R=x((function(){if(v===false||u.disabledDrag)return I;return[{key:"sort",dataIndex:"sort",align:"center",width:50}].concat(I||[])}),[I,v]);var F=o(e(t,{activationConstraint:{delay:v===false?150:0,tolerance:0}}));return b(S,{value:{dragIcon:v},children:b(i,{sensors:F,modifiers:[a],onDragEnd:A,children:b(s,{items:C.map((function(r){return r[y]})),strategy:c,children:b(f,r({pagination:false,rowKey:y,bordered:true,components:r({},w.components,{body:r({},(m=w.components)==null?void 0:m.body,{row:j?undefined:K})})},w,{dataSource:C,columns:R}))})})})};export{R as DragTable};
6
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/drag-table/context.ts","@flatbiz/antd/src/drag-table/table-tr.tsx","@flatbiz/antd/src/drag-table/table-tr-handle.tsx","@flatbiz/antd/src/drag-table/row.tsx","@flatbiz/antd/src/drag-table/drag-table.tsx"],"sourcesContent":["import { createCtx } from '@wove/react';\nimport { type ReactElement } from 'react';\n\nexport const [getCtx, CtxProvider] = createCtx<{\n dragIcon?: false | ReactElement;\n}>();\n","import { useSortable } from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\n\nexport const TableTr = (props) => {\n const { listeners, setNodeRef, transform, transition, isDragging } = useSortable({\n id: props['data-row-key'],\n });\n\n const style: React.CSSProperties = {\n ...props.style,\n transform: CSS.Transform.toString(transform && { ...transform, scaleY: 1 }),\n transition,\n cursor: 'move',\n ...(isDragging\n ? {\n position: 'relative',\n zIndex: 9999,\n boxShadow: ' 0px 0px 12px 4px rgba(34, 33, 81, 0.1)',\n }\n : {}),\n };\n\n return <tr {...props} ref={setNodeRef} style={style} {...listeners} />;\n};\n","import { DragOutlined } from '@ant-design/icons';\nimport { useSortable } from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\nimport { noop } from '@flatbiz/utils';\nimport { type RowProps } from 'antd';\nimport { Children, cloneElement, isValidElement, type ReactElement } from 'react';\nimport { IconWrapper } from '../icon-wrapper';\ntype TableTrHandleProps = RowProps & {\n dragIcon?: false | ReactElement;\n};\nexport const TableTrHandle = (props: TableTrHandleProps) => {\n const { dragIcon, ...innerProps } = props;\n const rowId = innerProps['data-row-key'];\n const { setActivatorNodeRef, listeners, setNodeRef, transform, transition, isDragging } = useSortable({\n id: rowId,\n });\n\n if (!rowId) {\n return <tr {...innerProps} />;\n }\n const style: React.CSSProperties = {\n ...innerProps.style,\n transform: CSS.Transform.toString(transform && { ...transform, scaleY: 1 }),\n transition,\n cursor: dragIcon === false ? 'move' : undefined,\n ...(isDragging\n ? {\n position: 'relative',\n zIndex: 9999,\n boxShadow: ' 0px 0px 12px 4px rgba(34, 33, 81, 0.1)',\n backgroundColor: 'var(--block-bg-color)',\n }\n : {}),\n };\n const iconElement = isValidElement(dragIcon) ? dragIcon : <DragOutlined />;\n return (\n <tr {...innerProps} ref={setNodeRef} style={style}>\n {Children.map(props.children, (child) => {\n if ((child as React.ReactElement).key === 'sort') {\n return cloneElement(child as React.ReactElement, {\n children: (\n <span ref={setActivatorNodeRef} style={{ touchAction: 'none', cursor: 'move' }} {...listeners}>\n <IconWrapper\n style={{\n touchAction: 'none',\n cursor: 'move',\n padding: '1px 0px',\n margin: 0,\n justifyContent: 'center',\n color: '#787878',\n }}\n icon={iconElement}\n onClick={noop}\n />\n </span>\n ),\n });\n }\n return child;\n })}\n </tr>\n );\n};\n","import { getCtx } from './context';\nimport { TableTr } from './table-tr';\nimport { TableTrHandle } from './table-tr-handle';\n\nexport const Row = (props) => {\n const ctx = getCtx();\n return ctx.dragIcon === false ? (\n <TableTr {...props} dragIcon={ctx.dragIcon} />\n ) : (\n <TableTrHandle {...props} dragIcon={ctx.dragIcon} />\n );\n};\n","import { DndContext, PointerSensor, useSensor, useSensors, type DragEndEvent } from '@dnd-kit/core';\nimport { restrictToVerticalAxis } from '@dnd-kit/modifiers';\nimport { arrayMove, SortableContext, verticalListSortingStrategy } from '@dnd-kit/sortable';\nimport { type TAny, type TPlainObject } from '@flatbiz/utils';\nimport { Table, type TableProps } from 'antd';\nimport { useEffect, useMemo, useState, type ReactElement } from 'react';\nimport { CtxProvider } from './context';\nimport { Row } from './row';\n\ntype DragTableProps = Omit<TableProps<TPlainObject>, 'dataSource'> & {\n /**\n * ```\n * 1. 可自定义拖拽图标\n * 2. dragIcon = false,可设置表格行拖拽\n * ```\n */\n dragIcon?: false | ReactElement;\n /** 表格数据唯一值字段Key,未填或者无法唯一,都不能拖拽能力 */\n uidFieldKey: string;\n dataSource?: TPlainObject[];\n /** 禁用拖拽 */\n disabledDrag?: boolean;\n /**\n * 拖拽结束事件\n * ```\n * dataSource: 拖拽完成后的数据源\n * dragData\n * 1. activeId 拖拽ID\n * 2. activeIndex 拖拽起始表格数组索引值\n * 3. overIndex 拖拽结束表格数组索引值\n * ```\n */\n onDragChange?: (\n dataSource: TPlainObject[],\n dragData: {\n activeId: string | number;\n activeIndex: number;\n overIndex: number;\n },\n ) => void;\n};\n\n/**\n * 可拖拽表格\n * ```\n * 1. 必须设置唯一值字段 uidFieldKey\n * 2. 如果拖拽显示异常,请检查 uidFieldKey 是否正确\n * 3. Table 参数 components.body.row 被组件内部使用\n * ```\n */\nexport const DragTable = (props: DragTableProps) => {\n const { dragIcon, uidFieldKey, columns, dataSource, onDragChange, disabledDrag, ...otherProps } = props;\n const [dataList, setDataList] = useState<TAny[]>([]);\n\n useEffect(() => {\n setDataList(dataSource || []);\n }, [dataSource]);\n\n const onDragEnd = ({ active, over }: DragEndEvent) => {\n if (active.id !== over?.id) {\n const activeIndex = dataList.findIndex((i) => i[uidFieldKey] === active.id);\n const overIndex = dataList.findIndex((i) => i[uidFieldKey] === over?.id);\n const dataListNew = arrayMove(dataList, activeIndex, overIndex);\n setDataList([...dataListNew]);\n onDragChange?.(dataListNew, {\n activeId: active.id,\n activeIndex,\n overIndex,\n });\n }\n };\n\n const columnsList = useMemo(() => {\n if (dragIcon === false) return columns;\n return [\n {\n key: 'sort',\n dataIndex: 'sort',\n align: 'center',\n width: 50,\n } as TAny,\n ].concat(columns || []);\n }, [columns, dragIcon]);\n\n const sensors = useSensors(\n useSensor(PointerSensor, {\n activationConstraint: {\n // 当拖拽触发区域有其他点击事件时,需要延迟触发拖拽动作\n delay: dragIcon === false ? 150 : 0,\n tolerance: 0,\n },\n }),\n );\n\n return (\n <CtxProvider value={{ dragIcon }}>\n <DndContext sensors={sensors} modifiers={[restrictToVerticalAxis]} onDragEnd={onDragEnd}>\n <SortableContext items={dataList.map((i) => i[uidFieldKey])} strategy={verticalListSortingStrategy}>\n <Table\n pagination={false}\n rowKey={uidFieldKey}\n bordered\n components={{\n ...otherProps.components,\n body: {\n ...otherProps.components?.body,\n row: disabledDrag ? undefined : Row,\n },\n }}\n {...otherProps}\n dataSource={dataList}\n columns={columnsList}\n />\n </SortableContext>\n </DndContext>\n </CtxProvider>\n );\n};\n"],"names":["_createCtx","_createCtx2","getCtx","CtxProvider","TableTr","props","_useSortable","useSortable","id","listeners","setNodeRef","transform","transition","isDragging","style","_extends","CSS","Transform","toString","scaleY","cursor","position","zIndex","boxShadow","_jsx","ref","TableTrHandle","dragIcon","innerProps","_objectWithoutPropertiesLoose","_excluded","rowId","setActivatorNodeRef","undefined","backgroundColor","iconElement","isValidElement","_DragOutlined","children","Children","map","child","key","cloneElement","touchAction","IconWrapper","padding","margin","justifyContent","color","icon","onClick","noop","Row","ctx","DragTable","_otherProps$component","uidFieldKey","columns","dataSource","onDragChange","disabledDrag","otherProps","_useState","useState","dataList","setDataList","useEffect","onDragEnd","_ref","active","over","activeIndex","findIndex","i","overIndex","dataListNew","arrayMove","concat","activeId","columnsList","useMemo","dataIndex","align","width","sensors","useSensors","useSensor","PointerSensor","activationConstraint","delay","tolerance","value","DndContext","modifiers","restrictToVerticalAxis","SortableContext","items","strategy","verticalListSortingStrategy","Table","pagination","rowKey","bordered","components","body","row"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/drag-table/context.ts","@flatbiz/antd/src/drag-table/table-tr.tsx","@flatbiz/antd/src/drag-table/table-tr-handle.tsx","@flatbiz/antd/src/drag-table/row.tsx","@flatbiz/antd/src/drag-table/drag-table.tsx"],"sourcesContent":["import { createCtx } from '@wove/react';\nimport { type ReactElement } from 'react';\n\nexport const [getCtx, CtxProvider] = createCtx<{\n dragIcon?: false | ReactElement;\n}>();\n","import { useSortable } from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\n\nexport const TableTr = (props) => {\n const { listeners, setNodeRef, transform, transition, isDragging } = useSortable({\n id: props['data-row-key'],\n });\n\n const style: React.CSSProperties = {\n ...props.style,\n transform: CSS.Transform.toString(transform && { ...transform, scaleY: 1 }),\n transition,\n cursor: 'move',\n ...(isDragging\n ? {\n position: 'relative',\n zIndex: 9999,\n boxShadow: ' 0px 0px 12px 4px rgba(34, 33, 81, 0.1)',\n }\n : {}),\n };\n\n return <tr {...props} ref={setNodeRef} style={style} {...listeners} />;\n};\n","import { DragOutlined } from '@ant-design/icons';\nimport { useSortable } from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\nimport { noop } from '@flatbiz/utils';\nimport { type RowProps } from 'antd';\nimport { Children, cloneElement, isValidElement, type ReactElement } from 'react';\nimport { IconWrapper } from '../icon-wrapper';\ntype TableTrHandleProps = RowProps & {\n dragIcon?: false | ReactElement;\n};\nexport const TableTrHandle = (props: TableTrHandleProps) => {\n const { dragIcon, ...innerProps } = props;\n const rowId = innerProps['data-row-key'];\n const { setActivatorNodeRef, listeners, setNodeRef, transform, transition, isDragging } = useSortable({\n id: rowId,\n });\n\n if (!rowId) {\n return <tr {...innerProps} />;\n }\n const style: React.CSSProperties = {\n ...innerProps.style,\n transform: CSS.Transform.toString(transform && { ...transform, scaleY: 1 }),\n transition,\n cursor: dragIcon === false ? 'move' : undefined,\n ...(isDragging\n ? {\n position: 'relative',\n zIndex: 9999,\n boxShadow: ' 0px 0px 12px 4px rgba(34, 33, 81, 0.1)',\n backgroundColor: 'var(--block-bg-color)',\n }\n : {}),\n };\n const iconElement = isValidElement(dragIcon) ? dragIcon : <DragOutlined />;\n return (\n <tr {...innerProps} ref={setNodeRef} style={style}>\n {Children.map(props.children, (child) => {\n if ((child as React.ReactElement).key === 'sort') {\n return cloneElement(child as React.ReactElement, {\n children: (\n <span\n ref={setActivatorNodeRef}\n style={{\n touchAction: 'none',\n cursor: 'move',\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n display: 'inline-flex',\n }}\n {...listeners}\n >\n <IconWrapper\n style={{\n touchAction: 'none',\n cursor: 'move',\n padding: '1px 0px',\n margin: 0,\n justifyContent: 'center',\n color: '#787878',\n }}\n icon={iconElement}\n onClick={noop}\n />\n </span>\n ),\n });\n }\n return child;\n })}\n </tr>\n );\n};\n","import { getCtx } from './context';\nimport { TableTr } from './table-tr';\nimport { TableTrHandle } from './table-tr-handle';\n\nexport const Row = (props) => {\n const ctx = getCtx();\n return ctx.dragIcon === false ? (\n <TableTr {...props} dragIcon={ctx.dragIcon} />\n ) : (\n <TableTrHandle {...props} dragIcon={ctx.dragIcon} />\n );\n};\n","import { DndContext, PointerSensor, useSensor, useSensors, type DragEndEvent } from '@dnd-kit/core';\nimport { restrictToVerticalAxis } from '@dnd-kit/modifiers';\nimport { arrayMove, SortableContext, verticalListSortingStrategy } from '@dnd-kit/sortable';\nimport { type TAny, type TPlainObject } from '@flatbiz/utils';\nimport { Table, type TableProps } from 'antd';\nimport { useEffect, useMemo, useState, type ReactElement } from 'react';\nimport { CtxProvider } from './context';\nimport { Row } from './row';\n\ntype DragTableProps = Omit<TableProps<TPlainObject>, 'dataSource'> & {\n /**\n * ```\n * 1. 可自定义拖拽图标\n * 2. dragIcon = false,可设置表格行拖拽\n * ```\n */\n dragIcon?: false | ReactElement;\n /** 表格数据唯一值字段Key,未填或者无法唯一,都不能拖拽能力 */\n uidFieldKey: string;\n dataSource?: TPlainObject[];\n /** 禁用拖拽 */\n disabledDrag?: boolean;\n /**\n * 拖拽结束事件\n * ```\n * dataSource: 拖拽完成后的数据源\n * dragData\n * 1. activeId 拖拽ID\n * 2. activeIndex 拖拽起始表格数组索引值\n * 3. overIndex 拖拽结束表格数组索引值\n * ```\n */\n onDragChange?: (\n dataSource: TPlainObject[],\n dragData: {\n activeId: string | number;\n activeIndex: number;\n overIndex: number;\n },\n ) => void;\n};\n\n/**\n * 可拖拽表格\n * ```\n * 1. 必须设置唯一值字段 uidFieldKey\n * 2. 如果拖拽显示异常,请检查 uidFieldKey 是否正确\n * 3. Table 参数 components.body.row 被组件内部使用\n * ```\n */\nexport const DragTable = (props: DragTableProps) => {\n const { dragIcon, uidFieldKey, columns, dataSource, onDragChange, disabledDrag, ...otherProps } = props;\n const [dataList, setDataList] = useState<TAny[]>([]);\n\n useEffect(() => {\n setDataList(dataSource || []);\n }, [dataSource]);\n\n const onDragEnd = ({ active, over }: DragEndEvent) => {\n if (active.id !== over?.id) {\n const activeIndex = dataList.findIndex((i) => i[uidFieldKey] === active.id);\n const overIndex = dataList.findIndex((i) => i[uidFieldKey] === over?.id);\n const dataListNew = arrayMove(dataList, activeIndex, overIndex);\n setDataList([...dataListNew]);\n onDragChange?.(dataListNew, {\n activeId: active.id,\n activeIndex,\n overIndex,\n });\n }\n };\n\n const columnsList = useMemo(() => {\n if (dragIcon === false || props.disabledDrag) return columns;\n return [\n {\n key: 'sort',\n dataIndex: 'sort',\n align: 'center',\n width: 50,\n } as TAny,\n ].concat(columns || []);\n }, [columns, dragIcon]);\n\n const sensors = useSensors(\n useSensor(PointerSensor, {\n activationConstraint: {\n // 当拖拽触发区域有其他点击事件时,需要延迟触发拖拽动作\n delay: dragIcon === false ? 150 : 0,\n tolerance: 0,\n },\n }),\n );\n\n return (\n <CtxProvider value={{ dragIcon }}>\n <DndContext sensors={sensors} modifiers={[restrictToVerticalAxis]} onDragEnd={onDragEnd}>\n <SortableContext items={dataList.map((i) => i[uidFieldKey])} strategy={verticalListSortingStrategy}>\n <Table\n pagination={false}\n rowKey={uidFieldKey}\n bordered\n components={{\n ...otherProps.components,\n body: {\n ...otherProps.components?.body,\n row: disabledDrag ? undefined : Row,\n },\n }}\n {...otherProps}\n dataSource={dataList}\n columns={columnsList}\n />\n </SortableContext>\n </DndContext>\n </CtxProvider>\n );\n};\n"],"names":["_createCtx","_createCtx2","getCtx","CtxProvider","TableTr","props","_useSortable","useSortable","id","listeners","setNodeRef","transform","transition","isDragging","style","_extends","CSS","Transform","toString","scaleY","cursor","position","zIndex","boxShadow","_jsx","ref","TableTrHandle","dragIcon","innerProps","_objectWithoutPropertiesLoose","_excluded","rowId","setActivatorNodeRef","undefined","backgroundColor","iconElement","isValidElement","_DragOutlined","children","Children","map","child","key","cloneElement","touchAction","top","left","display","IconWrapper","padding","margin","justifyContent","color","icon","onClick","noop","Row","ctx","DragTable","_otherProps$component","uidFieldKey","columns","dataSource","onDragChange","disabledDrag","otherProps","_useState","useState","dataList","setDataList","useEffect","onDragEnd","_ref","active","over","activeIndex","findIndex","i","overIndex","dataListNew","arrayMove","concat","activeId","columnsList","useMemo","dataIndex","align","width","sensors","useSensors","useSensor","PointerSensor","activationConstraint","delay","tolerance","value","DndContext","modifiers","restrictToVerticalAxis","SortableContext","items","strategy","verticalListSortingStrategy","Table","pagination","rowKey","bordered","components","body","row"],"mappings":"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"}
@@ -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;text-align:right;z-index:2}.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}
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;text-align:right;z-index:2}.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}
@@ -1,22 +1,23 @@
1
1
  /* eslint-disable */
2
2
  import './../fba-utils/index.css';
3
+ import './../fba-hooks/index.css';
4
+ import './../flex-layout/index.css';
5
+ import './../icon-wrapper/index.css';
3
6
  import './../pagination-wrapper/index.css';
7
+ import './../svg-http-view/index.css';
8
+ import './../table-title-tooltip/index.css';
4
9
  import './../tips-wrapper/index.css';
5
10
  import './../block-layout/index.css';
6
11
  import './../button-wrapper/index.css';
7
12
  import './../config-provider-wrapper/index.css';
8
- import './../fba-hooks/index.css';
9
13
  import './../types/index.css';
10
14
  import './../easy-form/index.css';
11
15
  import './../box-grid/index.css';
12
16
  import './../form-wrapper/index.css';
13
17
  import './../pre-defined-class-name/index.css';
14
18
  import './../form-grid/index.css';
15
- import './../flex-layout/index.css';
16
- import './../icon-wrapper/index.css';
17
19
  import './../table-scrollbar/index.css';
18
- import './../table-title-tooltip/index.css';
19
20
  import './index.css';
20
21
  /*! @flatjs/forge MIT @flatbiz/antd */
21
- import{fbaUtils as e}from"../fba-utils/index.js";import{classNames as n}from"@dimjs/utils/cjs/class-names";import{isUndefined as t}from"@dimjs/lang/cjs/is-undefined";import{isArray as i}from"@dimjs/lang/cjs/is-array";import{get as r}from"@dimjs/utils/cjs/get";import{_ as o,a}from"../_rollupPluginBabelHelpers-a0769acd.js";import{hooks as l}from"@wove/react/cjs/hooks";import{cloneState as s}from"@dimjs/model";import{Form as u,message as d,Drawer as c,Table as f}from"antd";import{createContext as p,forwardRef as m,useState as v,useMemo as g,useRef as y,useImperativeHandle as h,useContext as C,Children as S,Fragment as b}from"react";import{P as F,S as x}from"../index-6677fbfc.js";import{noop as j,localStorageCache as z,isUndefinedOrNull as w,getUuid as q,isMacEnv as R}from"@flatbiz/utils";import{Model as N}from"@dimjs/model-react";import{jsx as P,jsxs as k}from"react/jsx-runtime";import K from"@ant-design/icons/es/icons/DownOutlined";import T from"@ant-design/icons/es/icons/UpOutlined";import{isFragment as I}from"react-is";import{BlockLayout as _}from"../block-layout/index.js";import{ButtonWrapper as O}from"../button-wrapper/index.js";import{EasyForm as D}from"../easy-form/index.js";import{u as A}from"../use-responsive-point-21b8c601.js";import{FormGrid as E}from"../form-grid/index.js";import L from"@ant-design/icons/es/icons/SettingOutlined";import{isString as V}from"@dimjs/lang/cjs/is-string";import{fbaHooks as B}from"../fba-hooks/index.js";import{FlexLayout as W}from"../flex-layout/index.js";import{IconWrapper as M}from"../icon-wrapper/index.js";import{TableScrollbar as H}from"../table-scrollbar/index.js";import{TableTitleTooltip as U}from"../table-title-tooltip/index.js";import{TipsWrapper as Y}from"../tips-wrapper/index.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-promise";import"../index-7f4ad045.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 G=p({onRequest:j,tableList:[],getEasyTableRef:function e(){}});var Q={queryCondition:{},isInit:true};var $={actions:{updateFilterCondition:function e(n){return function(e){e.queryCondition=o({},e.queryCondition,n)}},resetFilterCondition:function e(n){return function(e){e.queryCondition=o({},Q.queryCondition,n)}},updateInitStatus:function e(){return function(e){e.isInit=false}}},state:Q};var J={};var X=function e(n){if(!J[n]){J[n]=N($)}return J[n]};var Z=m((function(e,a){var c;var f=v(),p=f[0],m=f[1];var C=v(0),S=C[0],b=C[1];var x=v(false),j=x[0],z=x[1];var w=l.useId(undefined,"easy-table-key");var q=v(false),R=q[0],N=q[1];var K=g((function(){if(e.cacheSwitch===true){return location.pathname}if(typeof e.cacheSwitch==="string"){return e.cacheSwitch}return w}),[w,e.cacheSwitch]);var T=X(K).useStore(),I=T[0],_=T[1];var O=e.pageSize||((c=e.initialPaginationParams)==null?void 0:c.pageSize)||10;var D=e.initRequest===undefined?true:e.initRequest;var A=v(false),E=A[0],L=A[1];var V=y();var B=y([]);var W=v(),M=W[0],H=W[1];var U=o({list:"list",total:"total",pageNo:"pageNo",pageSize:"pageSize"},e.fieldNames);var Y=u.useForm(e.form),Q=Y[0];var $=l.useCallbackRef((function(n){return new Promise((function(t,o){var a,l,u,c,f,p,v,g,y,h,C,S;var F=function(){try{return t()}catch(e){return o(e)}};var x=function(n){try{z(false);if(e.onRequestErrorHandle){e.onRequestErrorHandle(n)}else{void d.error(n.message)}return F()}catch(e){return o(e)}};try{z(true);return Promise.resolve(_.updateFilterCondition(n)).then((function(n){try{a=n;l=s(a.queryCondition||{});u=e.serviceConfig,c=u.requestParamsAdapter,f=u.onRequest,p=u.requestResultAdapter,v=u.dynamicColumsAdapter;g=c?c(l):l;return Promise.resolve(f(g)).then((function(n){try{y=n||{};V.current=y;e.onDataSourceChange==null?void 0:e.onDataSourceChange(y);h=y;if(p){h=p(y)}if(v){C=v(y,B.current);H(C)}S=r(h,U.list);m(i(S)?S:[]);b(r(h,U.total));z(false);return F()}catch(e){return x(e)}}),x)}catch(e){return x(e)}}),x)}catch(e){x(e)}}))}));var J=l.useCallbackRef((function(e){return new Promise((function(n,t){return Promise.resolve(_.resetFilterCondition()).then((function(i){try{Q.resetFields();if(e){void _.updateFilterCondition(e);Q.setFieldsValue(e)}return n()}catch(e){return t(e)}}),t)}))}));var Z=function e(n,t){if(E){var i;return i={},i[U.pageNo]=n,i[U.pageSize]=t||O,i}else{return{}}};var ee=l.useCallbackRef((function(n){return new Promise((function(t,i){var r;r=o({},Z(1,I.queryCondition[U.pageSize]),e.initialValues,n);return Promise.resolve(_.resetFilterCondition(r)).then((function(e){try{Q.resetFields();if(n){Q.setFieldsValue(n)}void $(r);return t()}catch(e){return i(e)}}),i)}))}));var ne=l.useCallbackRef((function(){return o({},I.queryCondition,Q.getFieldsValue())}));var te=l.useCallbackRef((function(){N(true)}));var ie=l.useCallbackRef((function(){N(false)}));var re=function n(){return{onRequest:$,clearQueryCondition:J,getRequestParams:ne,onResetRequest:ee,form:Q,getDataSource:function e(){return V.current},onFilterDataSource:function e(n){m(n)},onClearDataSource:function e(){b(0);m([])},onUpdateDataSource:function n(t){m(t);V.current=t;e.onDataSourceChange==null?void 0:e.onDataSourceChange(t)},onOpenColumnFoldModal:te}};h(a,(function(){return re()}));var oe=function e(n){L(n)};var ae=function e(n){B.current=n};var le=function n(){var t=Q.getFieldsValue();if(e.onFormFinish){e.onFormFinish(o({},t,Z(1,I.queryCondition[U.pageSize])))}else{void $(o({},t,Z(1,I.queryCondition[U.pageSize])))}};var se=t(e.isFull)?true:e.isFull;var ue=n("fba-easy-table",{"fba-easy-table-full":se,"fba-easy-table-filter-fixed":e.filterFixed,"fba-easy-table-pagination-fixed":e.paginationFixed},e.className);var de=g((function(){return o({showSizeChanger:true,current:I.queryCondition[U.pageNo]||1,pageSize:I.queryCondition[U.pageSize]||O,total:S,showTotal:function e(n){return"共 "+n+" 条记录"}},e.pagination)}),[U.pageNo,U.pageSize,O,e.pagination,I.queryCondition,S]);var ce=l.useCallbackRef((function(n,t){var i,r;void $((i={},i[U.pageSize]=t,i[U.pageNo]=n,i));(r=e.pagination)==null||r.onChange==null?void 0:r.onChange(n,t)}));var fe=n("fba-easy-table-wrapper",{"fba-easy-table-wrapper-inline":e.isInline},e.className);var pe=o({overflowY:e.filterFixed||e.paginationFixed?"hidden":"auto"},e.style);var me=typeof e.children==="function"?e.children(V.current):e.children;return P(G.Provider,{value:{onSetBaseColumns:ae,getEasyTableRef:re,modelKey:K,onRequest:$,tableDataSource:p,tableTotal:S,loading:j,fieldNames:U,pageSize:O,initRequest:D,initialValues:e.initialValues||{},onSetPaginationStatus:oe,paginationStatus:E,onFormFinish:le,form:Q,paginationFixed:e.paginationFixed||false,foldKeys:e.foldKeys||[],dynamicColumns:M,columnFoldConfig:e.columnFoldConfig,onCloseColumnFoldModal:ie,onOpenColumnFoldModal:te,columnFoldOpen:R},children:e.paginationFixed?k("div",{className:fe,style:pe,children:[P("div",{className:ue,children:me}),S>0&&P("div",{className:"fba-easy-table-pagination",children:P(F,o({size:"small"},de,{onChange:ce}))})]}):P("div",{className:fe,style:e.style,children:me})})}));var ee=function e(i){var r=A()||"md";var a=C(G);var s=i.queryButtonProps,u=i.resetButtonProps,d=i.filterOperate,c=i.formClassName,f=c===void 0?"":c,p=i.defaultResetButtonTriggerRequest,m=i.filterWrapperStyle,y=i.filterWrapperClassName,h=i.rightOperateAreaAppendType,b=i.easyFormProps;var F=a.modelKey,x=a.foldKeys,j=a.fieldNames,z=a.onRequest,w=a.pageSize,q=a.paginationStatus,R=a.initialValues,N=a.form,L=a.onFormFinish;var V=typeof i.children==="function"?i.children(N):i.children;var B=h||"cover";var W=g((function(){if(I(V)){return S.toArray(V.props.children)}else{return S.toArray(V)}}),[V]);var M=v(false),H=M[0],U=M[1];var Y=X(F).useStore(),Q=Y[0],$=Y[1];var J=l.useCallbackRef((function(){return new Promise((function(e,n){var i;return Promise.resolve($.resetFilterCondition()).then((function(r){try{N.resetFields();if(t(p)||p){if(q){z(o((i={},i[j.pageNo]=1,i[j.pageSize]=w,i),R))}else{z(R)}}return e()}catch(e){return n(e)}}),n)}))}));var Z=g((function(){var e=[!(s!=null&&s.hidden)?P(O,o({type:"primary",htmlType:"submit"},s,{children:(s==null?void 0:s.text)||"查询"}),"1"):null,!(u!=null&&u.hidden)?P(O,o({onClick:J},u,{children:(u==null?void 0:u.text)||"重置"}),"2"):null].filter(Boolean);var n=d==null?void 0:d(N);var t=n==null?void 0:n.rightList;var i=(n==null?void 0:n.leftList)||[];var r=e;if(t){if(B==="afterAppend"){r=[].concat(e,t)}else if(B==="beforeAppend"){r=[].concat(t,e)}else{r=t}}if(x.length>0){var a=P(O,{type:"link",style:{padding:"0"},onClick:function e(){U(!H)},children:H?k("span",{children:["收起",P(T,{style:{marginLeft:3,fontSize:12}})]}):k("span",{children:["展开",P(K,{style:{marginLeft:3,fontSize:12}})]})},"fold-trigger");if(r.length>0||i.length===0){r.push(a)}else if((i==null?void 0:i.length)>0){i.push(a)}}return W.map((function(e,n){if(!H&&x.find((function(n){return".$"+n===e.key})))return null;if(e.props["hidden"])return null;if(e.type["domTypeName"]==="FormCol")return e;return P(E.Col,{children:e},n)})).filter(Boolean).concat(P(E.OperateCol,o({},n,{leftList:i,rightList:r}),999))}),[W,d,x,N,J,H,s,u,B]);var ee=r==="xs"?"left":(b==null?void 0:b.labelAlign)||"right";return P(_,{className:n("easy-table-filter",y),style:m,children:P(D,o({form:N,autoComplete:"off",onFinish:L,initialValues:o({},R,Q.queryCondition),className:f,style:i.formStyle,isPure:true,labelWidth:"80",formItemGap:"15"},b,{labelAlign:ee,children:i.isPure?V:P(E.Row,{gutter:[15,0],gridSize:i.formGridSize,children:Z})}))})};var ne=function e(){var n=C(G);return n.getEasyTableRef()};var te=function e(){var n=C(G);return{current:n.getEasyTableRef()}};var ie=function e(n){var t=v(n.initSelectedRowKeys||[]),i=t[0],r=t[1];var o={type:"checkbox",selectedRowKeys:i,onChange:function e(t){r(t);n.onChange(t);if(n.cacheKey){z.set("easy_tab_"+n.cacheKey,{keys:t})}}};var a=[{title:"字段名称",dataIndex:"title",render:function e(n,t){return t["_isFoldTitle"]||n}},{title:"字段Key",dataIndex:"dataIndex"}];return P(b,{children:P(c,{title:"选择字段",open:n.open,onClose:n.onClose,width:"35%",styles:{body:{padding:15}},children:P(f,{bordered:true,size:"small",columns:a,rowSelection:o,rowKey:"dataIndex",pagination:false,scroll:{x:"max-content"},dataSource:n.dataList})})})};var re=["children","rowKey","pagination","isSync"],oe=["tooltip","tipsWrapperProps","title","hidden","isFold"];var ae=function e(t){var r=C(G);var l=t.children,s=t.rowKey,u=t.pagination,d=t.isSync,c=a(t,re);var p=r.columnFoldConfig;var m=v((function(){if(p!=null&&p.cacheKey){var e;var n=z.get("easy_tab_"+p.cacheKey);var t=i(n==null?void 0:n.keys)?n==null||(e=n.keys)==null?void 0:e.filter((function(e){return V(e)})):[];return t.length>0?t:(p==null?void 0:p.initSelectedKeys)||[]}else{return(p==null?void 0:p.initSelectedKeys)||[]}})),y=m[0],h=m[1];var S=r.modelKey,F=r.fieldNames,j=r.onRequest,N=r.tableDataSource,K=r.initRequest,T=r.pageSize,I=r.tableTotal,O=r.loading,D=r.initialValues,A=r.paginationFixed,E=r.onSetPaginationStatus,Q=r.dynamicColumns;var $=X(S).useStore(),J=$[0],Z=$[1];B.useEffectCustom((function(){r.onSetBaseColumns(t.columns||[])}),[t.columns]);var ee=g((function(){if(A||u===false)return false;return o({showSizeChanger:true,current:J.queryCondition[F.pageNo]||1,pageSize:J.queryCondition[F.pageSize]||T,total:I,showTotal:function e(n){return"共 "+n+" 条记录"}},t.pagination,{selectComponentClass:x})}),[F.pageNo,F.pageSize,T,u,A,t.pagination,J.queryCondition,I]);var ne=function e(n,i,r,o){if(o.action==="paginate"&&ee){var a;j((a={},a[F.pageSize]=n.pageSize,a[F.pageNo]=n.current,a))}else{t.onChange==null?void 0:t.onChange(n,i,r,o)}};var te=g((function(){if(!N)return undefined;if(N.length===0){return[]}if(typeof s==="string"&&w(N[0][s])){return N.map((function(e){e[s]=q();return e}))}return N}),[N,s]);B.useEffectCustom((function(){var e=A||ee!==false;E(e);if(K!==false||!J.isInit){if(e){var n;void j(o((n={},n[F.pageNo]=1,n[F.pageSize]=T,n),D,J.queryCondition))}else{void j(D)}}else{void Z.updateFilterCondition(D)}void Z.updateInitStatus()}),[]);var ae=Q?Q:t.columns;var le=g((function(){var e=ae.map((function(e){var n=e.tooltip,t=e.tipsWrapperProps,i=e.title,r=e.hidden,l=e.isFold,s=a(e,oe);if(r)return null;if(l&&!y.includes(e.dataIndex))return null;if(typeof i==="string"&&t){if(typeof t==="string"){return o({},s,{title:P(Y,{tipType:"popover",popoverProps:{content:t},children:i})})}return o({},s,{title:P(Y,o({},t,{children:i}))})}if(typeof i==="string"&&!!n){return o({},s,{title:P(U,{tooltip:n,title:i})})}return e})).filter(Boolean);return[].concat(e)}),[ae,y]);var se=ae.filter((function(e){return!e.hidden&&e.isFold&&e.dataIndex}));var ue=function e(n){h(n);p==null||p.onChange==null?void 0:p.onChange(n)};le=g((function(){if(p!=null&&p.hidden)return le;var e=le[le.length-1];if(se.length>0&&le.length>0){var n=le.find((function(e){return e["_isFoldColumn"]}));if(n&&e.dataIndex!==n.dataIndex){n.title=n["_isFoldTitle"];n["_isFoldColumn"]=false}if(!e["_isFoldColumn"]){e["_isFoldTitle"]=e["_isFoldTitle"]||e.title;e["_isFoldColumn"]=true;e.title=k(W,{direction:"horizontal",fullIndex:0,children:[P("span",{children:e.title}),P("div",{style:{padding:"0 5px 0 20px",display:"flex"},children:P(M,{onClick:r.onOpenColumnFoldModal,text:p==null?void 0:p.text,size:"small",icon:(p==null?void 0:p.icon)||P(L,{}),hoverTips:(p==null?void 0:p.hoverTipText)||"字段列表"})})]})}}return le}),[le,se,p]);var de=function e(){if(d&&!te){return k(b,{children:[l,P(f,{size:"small",scroll:{x:"max-content"},bordered:true,columns:le,rowKey:s,loading:true},"1")]})}if(R()){return k(b,{children:[l,P(f,o({size:"small",scroll:{x:"max-content"},bordered:true},c,{columns:le,pagination:ee,rowKey:s,onChange:ne,loading:O,dataSource:te}),"2")]})}return k(b,{children:[l,P(H,{children:P(f,o({size:"small",scroll:{x:"max-content"},bordered:true},c,{columns:le,pagination:ee,rowKey:s,onChange:ne,loading:O,dataSource:te}),"3")})]})};return k(_,{className:n("easy-table-table",{"ett-empty-show-small":t.emptyShowSize==="small"},t.tableWrapperClassName),style:t.tableWrapperStyle,children:[de(),P(ie,{dataList:se,onClose:r.onCloseColumnFoldModal,open:r.columnFoldOpen,onChange:ue,cacheKey:p==null?void 0:p.cacheKey,initSelectedRowKeys:y})]})};var le=e.attachPropertiesToComponent(Z,{Filter:ee,Table:ae,useEasyTablRef:te,useEasyTable:ne});export{le as EasyTable};
22
+ import{fbaUtils as e}from"../fba-utils/index.js";import{_ as n,a as i}from"../_rollupPluginBabelHelpers-a0769acd.js";import{classNames as t}from"@dimjs/utils/cjs/class-names";import{isUndefined as r}from"@dimjs/lang/cjs/is-undefined";import{get as a}from"@dimjs/utils/cjs/get";import{isString as o}from"@dimjs/lang/cjs/is-string";import{isArray as l}from"@dimjs/lang/cjs/is-array";import{hooks as s}from"@wove/react/cjs/hooks";import{cloneState as u}from"@dimjs/model";import{noop as d,localStorageCache as c,isUndefinedOrNull as f,getUuid as p,isMacEnv as m}from"@flatbiz/utils";import{Drawer as g,Table as v,Checkbox as h,Popover as y,Form as C,message as S}from"antd";import{createContext as x,useState as b,Fragment as F,forwardRef as j,useMemo as z,useRef as w,useImperativeHandle as R,cloneElement as q,useContext as N,Children as K}from"react";import{fbaHooks as P}from"../fba-hooks/index.js";import{FlexLayout as k}from"../flex-layout/index.js";import{IconWrapper as T}from"../icon-wrapper/index.js";import{P as I,S as _}from"../index-6677fbfc.js";import{SvgHttpView as L}from"../svg-http-view/index.js";import{TableTitleTooltip as D}from"../table-title-tooltip/index.js";import{TipsWrapper as E}from"../tips-wrapper/index.js";import{jsx as V,jsxs as A}from"react/jsx-runtime";import{Model as B}from"@dimjs/model-react";import O from"@ant-design/icons/es/icons/DownOutlined";import W from"@ant-design/icons/es/icons/UpOutlined";import{isFragment as U}from"react-is";import{BlockLayout as G}from"../block-layout/index.js";import{ButtonWrapper as H}from"../button-wrapper/index.js";import{EasyForm as Y}from"../easy-form/index.js";import{u as Q}from"../use-responsive-point-21b8c601.js";import{FormGrid as $}from"../form-grid/index.js";import{TableScrollbar as J}from"../table-scrollbar/index.js";import"@ant-design/icons/es/icons/QuestionCircleOutlined";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-promise";import"../index-7f4ad045.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";var M=x({onRequest:d,tableList:[],getEasyTableRef:function e(){}});var X=function e(n){var i=b(n.initSelectedRowKeys||[]),t=i[0],r=i[1];var a={type:"checkbox",selectedRowKeys:t,onChange:function e(i){r(i);n.onChange(i);if(n.cacheKey){c.set("easy_tab_"+n.cacheKey,{keys:i})}}};var o=[{title:"字段名称",dataIndex:"title",render:function e(n,i){return i["_isFoldTitle"]||n}},{title:"字段Key",dataIndex:"dataIndex"}];return V(F,{children:V(g,{title:"选择字段",open:n.open,onClose:n.onClose,width:"35%",styles:{body:{padding:15}},children:V(v,{bordered:true,size:"small",columns:o,rowSelection:a,rowKey:"dataIndex",pagination:false,scroll:{x:"max-content"},dataSource:n.dataList})})})};var Z=function e(n){var i=b(n.initSelectedRowKeys||[]),t=i[0],r=i[1];var a=function e(i){r(i);n.onChange(i);if(n.cacheKey){c.set("easy_tab_"+n.cacheKey,{keys:i})}};var o=V(F,{children:V(h.Group,{defaultValue:t,onChange:a,value:t,style:{display:"flex",flexDirection:"column"},children:n.dataList.map((function(e){var n=e["_isFoldTitle"]||e.title;return V(h,{value:e.dataIndex,style:{padding:"0 0 5px 0"},children:n},e.dataIndex)}))})});var l=function e(i){if(i.target.checked){a(n.dataList.map((function(e){return e.dataIndex})))}else{a([])}};return V(y,{content:o,title:V(h,{checked:t.length===n.dataList.length,onChange:l,children:"全选(字段列表)"}),placement:"bottomRight",overlayClassName:"fold-operate-popiver",children:n.children})};var ee={queryCondition:{},isInit:true};var ne={actions:{updateFilterCondition:function e(i){return function(e){e.queryCondition=n({},e.queryCondition,i)}},resetFilterCondition:function e(i){return function(e){e.queryCondition=n({},ee.queryCondition,i)}},updateInitStatus:function e(){return function(e){e.isInit=false}}},state:ee};var ie={};var te=function e(n){if(!ie[n]){ie[n]=B(ne)}return ie[n]};var re=["tooltip","tipsWrapperProps","title","hidden","isFold"];var ae=j((function(e,d){var f;var p=b(),m=p[0],g=p[1];var v=b(0),h=v[0],y=v[1];var x=b(false),F=x[0],j=x[1];var N=s.useId(undefined,"easy-table-key");var K=e.columnFoldConfig;var _=b(false),B=_[0],O=_[1];var W=b((function(){if(K!=null&&K.cacheKey){var e;var n=c.get("easy_tab_"+K.cacheKey);var i=l(n==null?void 0:n.keys)?n==null||(e=n.keys)==null?void 0:e.filter((function(e){return o(e)})):[];return i.length>0?i:(K==null?void 0:K.initSelectedKeys)||[]}else{return(K==null?void 0:K.initSelectedKeys)||[]}})),U=W[0],G=W[1];var H=z((function(){if(e.cacheSwitch===true){return location.pathname}if(typeof e.cacheSwitch==="string"){return e.cacheSwitch}return N}),[N,e.cacheSwitch]);var Y=te(H).useStore(),Q=Y[0],$=Y[1];var J=e.pageSize||((f=e.initialPaginationParams)==null?void 0:f.pageSize)||10;var ee=e.initRequest===undefined?true:e.initRequest;var ne=w(false);var ie=w();var ae=w([]);var oe=b(),le=oe[0],se=oe[1];var ue=n({list:"list",total:"total",pageNo:"pageNo",pageSize:"pageSize"},e.fieldNames);var de=C.useForm(e.form),ce=de[0];var fe=s.useCallbackRef((function(n){return new Promise((function(i,t){var r,o,s,d,c,f,p,m,v,h,C,x;var b=function(){try{return i()}catch(e){return t(e)}};var F=function(n){try{j(false);if(e.onRequestErrorHandle){e.onRequestErrorHandle(n)}else{void S.error(n.message)}return b()}catch(e){return t(e)}};try{j(true);return Promise.resolve($.updateFilterCondition(n)).then((function(n){try{r=n;o=u(r.queryCondition||{});s=e.serviceConfig,d=s.requestParamsAdapter,c=s.onRequest,f=s.requestResultAdapter,p=s.dynamicColumsAdapter;m=d?d(o):o;return Promise.resolve(c(m)).then((function(n){try{v=n||{};ie.current=v;e.onDataSourceChange==null?void 0:e.onDataSourceChange(v);h=v;if(f){h=f(v)}if(p){C=p(v,ae.current);se(C)}x=a(h,ue.list);g(l(x)?x:[]);y(a(h,ue.total));j(false);return b()}catch(e){return F(e)}}),F)}catch(e){return F(e)}}),F)}catch(e){F(e)}}))}));P.useEffectCustom((function(){var i=Pe();if(ee!==false||!Q.isInit){if(i){var t;void fe(n((t={},t[ue.pageNo]=1,t[ue.pageSize]=J,t),e.initialValues,Q.queryCondition))}else{void fe(e.initialValues)}}else{void $.updateFilterCondition(e.initialValues)}void $.updateInitStatus()}),[]);var pe=s.useCallbackRef((function(e){return new Promise((function(n,i){return Promise.resolve($.resetFilterCondition()).then((function(t){try{ce.resetFields();if(e){void $.updateFilterCondition(e);ce.setFieldsValue(e)}return n()}catch(e){return i(e)}}),i)}))}));var me=function e(n,i){if(Pe()){var t;return t={},t[ue.pageNo]=n,t[ue.pageSize]=i||J,t}else{var r;return r={},r[ue.pageNo]=undefined,r[ue.pageSize]=undefined,r}};var ge=s.useCallbackRef((function(i){return new Promise((function(t,r){var a;a=n({},me(1,Q.queryCondition[ue.pageSize]),e.initialValues,i);return Promise.resolve($.resetFilterCondition(a)).then((function(e){try{ce.resetFields();if(i){ce.setFieldsValue(i)}void fe(a);return t()}catch(e){return r(e)}}),r)}))}));var ve=s.useCallbackRef((function(){return n({},Q.queryCondition,ce.getFieldsValue())}));var he=s.useCallbackRef((function(){O(true)}));var ye=s.useCallbackRef((function(){O(false)}));var Ce=function n(){return{onRequest:fe,clearQueryCondition:pe,getRequestParams:ve,onResetRequest:ge,form:ce,getDataSource:function e(){return ie.current},onFilterDataSource:function e(n){g(n)},onClearDataSource:function e(){y(0);g([])},onUpdateDataSource:function n(i){g(i);ie.current=i;e.onDataSourceChange==null?void 0:e.onDataSourceChange(i)},columnFoldTriggerRender:function n(i){var t;if(((t=e.columnFoldConfig)==null?void 0:t.triggerType)==="drawer"){return q(i,{onClick:he})}return V(Z,{dataList:qe,onChange:Ne,cacheKey:K==null?void 0:K.cacheKey,initSelectedRowKeys:U,children:i})},loading:F}};R(d,(function(){return Ce()}));var Se=function e(n){ne.current=n};var xe=function e(n){ae.current=n};var be=function i(){var t=ce.getFieldsValue();if(e.onFormFinish){e.onFormFinish(n({},t,me(1,Q.queryCondition[ue.pageSize])))}else{void fe(n({},t,me(1,Q.queryCondition[ue.pageSize])))}};var Fe=r(e.isFull)?true:e.isFull;var je=t("fba-easy-table",{"fba-easy-table-full":Fe,"fba-easy-table-filter-fixed":e.filterFixed,"fba-easy-table-pagination-fixed":e.paginationFixed},e.className);var ze=z((function(){return n({showSizeChanger:true,current:Q.queryCondition[ue.pageNo]||1,pageSize:Q.queryCondition[ue.pageSize]||J,total:h,showTotal:function e(n){return"共 "+n+" 条记录"}},e.pagination)}),[ue.pageNo,ue.pageSize,J,e.pagination,Q.queryCondition,h]);var we=le?le:ae.current;var Re=z((function(){var e=we.map((function(e){var t=e.tooltip,r=e.tipsWrapperProps,a=e.title,o=e.hidden,l=e.isFold,s=i(e,re);if(o)return null;if(l&&!U.includes(e.dataIndex))return null;if(typeof a==="string"&&r){if(typeof r==="string"){return n({},s,{title:V(E,{tipType:"popover",popoverProps:{content:r},children:a})})}return n({},s,{title:V(E,n({},r,{children:a}))})}if(typeof a==="string"&&!!t){return n({},s,{title:V(D,{tooltip:t,title:a})})}return e})).filter(Boolean);return[].concat(e)}),[we,U]);var qe=we.filter((function(e){return!e.hidden&&e.isFold&&e.dataIndex}));var Ne=function e(n){G(n);K==null||K.onChange==null?void 0:K.onChange(n)};Re=z((function(){if(K!=null&&K.hidden)return Re;var e=Re[Re.length-1];if(qe.length>0&&Re.length>0){var n=Re.find((function(e){return e["_isFoldColumn"]}));if(n&&e.dataIndex!==n.dataIndex){n.title=n["_isFoldTitle"];n["_isFoldColumn"]=false}if(!e["_isFoldColumn"]){e["_isFoldTitle"]=e["_isFoldTitle"]||e.title;e["_isFoldColumn"]=true;var i=K==null?void 0:K.triggerType;e.title=A(k,{direction:"horizontal",fullIndex:0,style:{alignItems:"center"},children:[V("span",{children:e.title}),V("div",{style:{padding:"0 5px 0 20px",display:"flex"},children:i==="drawer"?V(T,{onClick:he,text:K==null?void 0:K.text,size:"small",icon:(K==null?void 0:K.icon)||V(L,{svgPath:"ionic/list-circle",color:"#868686"}),hoverTips:(K==null?void 0:K.hoverTipText)||"字段列表",style:{padding:0,margin:0}}):V(Z,{dataList:qe,onChange:Ne,cacheKey:K==null?void 0:K.cacheKey,initSelectedRowKeys:U,children:V(T,{text:K==null?void 0:K.text,style:{padding:0,margin:0},size:"small",icon:(K==null?void 0:K.icon)||V(L,{svgPath:"ionic/list-circle",color:"#868686"})})})})]})}}return Re}),[Re,qe,K]);var Ke=s.useCallbackRef((function(n,i){var t,r;void fe((t={},t[ue.pageSize]=i,t[ue.pageNo]=n,t));(r=e.pagination)==null||r.onChange==null?void 0:r.onChange(n,i)}));var Pe=function n(){return e.paginationFixed||ne.current};s.useUpdateEffect((function(){if(e.paginationFixed){var n;fe((n={},n[ue.pageSize]=Q.queryCondition[ue.pageSize]||J,n[ue.pageNo]=1,n))}else{var i;fe((i={},i[ue.pageSize]=undefined,i[ue.pageNo]=undefined,i))}}),[e.paginationFixed]);var ke=t("fba-easy-table-wrapper",{"fba-easy-table-wrapper-inline":e.isInline},e.className);var Te=n({overflowY:e.filterFixed||e.paginationFixed?"hidden":"auto"},e.style);var Ie=typeof e.children==="function"?e.children(ie.current):e.children;return A(M.Provider,{value:{onSetBaseColumns:xe,getEasyTableRef:Ce,modelKey:H,onRequest:fe,tableDataSource:m,tableTotal:h,loading:F,fieldNames:ue,pageSize:J,onSetPaginationStatus:Se,getPaginationStatus:Pe,onFormFinish:be,form:ce,paginationFixed:e.paginationFixed||false,foldKeys:e.foldKeys||[],columns:Re,initialValues:e.initialValues},children:[e.paginationFixed?A("div",{className:ke,style:Te,children:[V("div",{className:je,children:Ie}),h>0&&V("div",{className:"fba-easy-table-pagination",children:V(I,n({size:"small"},ze,{onChange:Ke}))})]}):V("div",{className:ke,style:e.style,children:Ie}),V(X,{dataList:qe,onClose:ye,open:B,onChange:Ne,cacheKey:K==null?void 0:K.cacheKey,initSelectedRowKeys:U})]})}));var oe=function e(i){var a=Q()||"md";var o=N(M);var l=i.queryButtonProps,u=i.resetButtonProps,d=i.filterOperate,c=i.formClassName,f=c===void 0?"":c,p=i.defaultResetButtonTriggerRequest,m=i.filterWrapperStyle,g=i.filterWrapperClassName,v=i.rightOperateAreaAppendType,h=i.easyFormProps;var y=o.modelKey,C=o.foldKeys,S=o.fieldNames,x=o.onRequest,F=o.pageSize,j=o.getPaginationStatus,w=o.initialValues,R=o.form,q=o.onFormFinish;var P=typeof i.children==="function"?i.children(R):i.children;var k=v||"cover";var T=z((function(){if(U(P)){return K.toArray(P.props.children)}else{return K.toArray(P)}}),[P]);var I=b(false),_=I[0],L=I[1];var D=te(y).useStore(),E=D[0],B=D[1];var J=s.useCallbackRef((function(){return new Promise((function(e,i){var t;return Promise.resolve(B.resetFilterCondition()).then((function(a){try{R.resetFields();if(r(p)||p){if(j()){x(n((t={},t[S.pageNo]=1,t[S.pageSize]=F,t),w))}else{x(w)}}return e()}catch(e){return i(e)}}),i)}))}));var X=z((function(){var e=[!(l!=null&&l.hidden)?V(H,n({type:"primary",htmlType:"submit"},l,{children:(l==null?void 0:l.text)||"查询"}),"1"):null,!(u!=null&&u.hidden)?V(H,n({onClick:J},u,{children:(u==null?void 0:u.text)||"重置"}),"2"):null].filter(Boolean);var i=d==null?void 0:d(R);var t=i==null?void 0:i.rightList;var r=(i==null?void 0:i.leftList)||[];var a=e;if(t){if(k==="afterAppend"){a=[].concat(e,t)}else if(k==="beforeAppend"){a=[].concat(t,e)}else{a=t}}if(C.length>0){var o=V(H,{type:"link",style:{padding:"0"},onClick:function e(){L(!_)},children:_?A("span",{children:["收起",V(W,{style:{marginLeft:3,fontSize:12}})]}):A("span",{children:["展开",V(O,{style:{marginLeft:3,fontSize:12}})]})},"fold-trigger");if(a.length>0||r.length===0){a.push(o)}else if((r==null?void 0:r.length)>0){r.push(o)}}return T.map((function(e,n){if(!_&&C.find((function(n){return".$"+n===e.key})))return null;if(e.props["hidden"])return null;if(e.type["domTypeName"]==="FormCol")return e;return V($.Col,{children:e},n)})).filter(Boolean).concat(V($.OperateCol,n({},i,{leftList:r,rightList:a}),999))}),[T,d,C,R,J,_,l,u,k]);var Z=a==="xs"?"left":(h==null?void 0:h.labelAlign)||"right";return V(G,{className:t("easy-table-filter",g),style:m,children:V(Y,n({form:R,autoComplete:"off",onFinish:q,initialValues:n({},w,E.queryCondition),className:f,style:i.formStyle,isPure:true,labelWidth:"80",formItemGap:"15"},h,{labelAlign:Z,children:i.isPure?P:V($.Row,{gutter:[15,0],gridSize:i.formGridSize,children:X})}))})};var le=function e(){var n=N(M);return n.getEasyTableRef()};var se=function e(){var n=N(M);return{current:n.getEasyTableRef()}};var ue=["children","rowKey","pagination","isSync"];var de=function e(r){var a=N(M);var o=r.children,l=r.rowKey,u=r.pagination,d=r.isSync,c=i(r,ue);var g=a.modelKey,h=a.fieldNames,y=a.onRequest,C=a.tableDataSource,S=a.pageSize,x=a.tableTotal,b=a.loading,j=a.paginationFixed,w=a.onSetPaginationStatus;var R=te(g).useStore(),q=R[0];P.useEffectCustom((function(){a.onSetBaseColumns(r.columns||[])}),[r.columns]);P.useEffectCustom((function(){w(u!==false)}),[u]);s.useUpdateEffect((function(){if(!j){if(u!==false){var e;y((e={},e[h.pageSize]=q.queryCondition[h.pageSize]||S,e[h.pageNo]=1,e))}else{var n;y((n={},n[h.pageSize]=undefined,n[h.pageNo]=undefined,n))}}}),[u]);var K=z((function(){if(j||u===false)return false;return n({showSizeChanger:true,current:q.queryCondition[h.pageNo]||1,pageSize:q.queryCondition[h.pageSize]||S,total:x,showTotal:function e(n){return"共 "+n+" 条记录"}},r.pagination,{selectComponentClass:_})}),[h.pageNo,h.pageSize,S,u,j,r.pagination,q.queryCondition,x]);var k=function e(n,i,t,a){if(a.action==="paginate"&&K){var o;y((o={},o[h.pageSize]=n.pageSize,o[h.pageNo]=n.current,o))}else{r.onChange==null?void 0:r.onChange(n,i,t,a)}};var T=z((function(){if(!C)return undefined;if(C.length===0){return[]}if(typeof l==="string"&&f(C[0][l])){return C.map((function(e){e[l]=p();return e}))}return C}),[C,l]);var I=function e(){if(d&&!T){return A(F,{children:[o,V(v,{size:"small",scroll:{x:"max-content"},bordered:true,rowKey:l,columns:a.columns,loading:true},"1")]})}if(m()){return A(F,{children:[o,V(v,n({size:"small",scroll:{x:"max-content"},bordered:true},c,{columns:a.columns,pagination:K,rowKey:l,onChange:k,loading:b,dataSource:T}),"2")]})}return A(F,{children:[o,V(J,{children:V(v,n({size:"small",scroll:{x:"max-content"},bordered:true},c,{columns:a.columns,pagination:K,rowKey:l,onChange:k,loading:b,dataSource:T}),"3")})]})};return V(G,{className:t("easy-table-table",{"ett-empty-show-small":r.emptyShowSize==="small"},r.tableWrapperClassName),style:r.tableWrapperStyle,children:I()})};var ce=e.attachPropertiesToComponent(ae,{Filter:oe,Table:de,useEasyTablRef:se,useEasyTable:le});export{ce as EasyTable};
22
23
  //# sourceMappingURL=index.js.map