@flatbiz/antd 4.4.15 → 4.4.17

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.
@@ -1 +1 @@
1
- .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)}.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;bottom:0;content:"";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{flex:1;font-size:16px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-layout-title-extra{margin-left:15px}.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-tight{border-radius:0;padding:0}
1
+ .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)}.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:#969696;flex:1;font-size:12px}.card-layout-title-extra{margin-left:15px}.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,5 +1,5 @@
1
1
  /* eslint-disable */
2
2
  import './index.css';
3
3
  /*! @flatjs/forge MIT @flatbiz/antd */
4
- import{isArray as t}from"@dimjs/lang/cjs/is-array";import{extend as e}from"@dimjs/utils/cjs/extend";import{classNames as l}from"@dimjs/utils/cjs/class-names";import{Space as i}from"antd";import{Fragment as a}from"react";import{B as r}from"../index-1f45bfd5.js";import{jsx as d,jsxs as s}from"react/jsx-runtime";import"../_rollupPluginBabelHelpers-a0769acd.js";var c=function c(n){var o;var u=l("card-layout",{"card-layout-tight":n.layoutType==="tight","card-layout-title-fixed":n.titleFixed,"card-layout-small":n.size==="small"},n.className);var m=e(n.style,{padding:n.padding,width:n.width,height:n.height,overflowY:!n.titleFixed&&(n.height||(o=n.style)!=null&&o.height)?"auto":undefined});if(n.hidden)return d(a,{});return s(r,{className:u,style:m,onClick:n.onClick,children:[n.title||n.titleExtra?s("div",{className:l("card-layout-title",{"card-layout-title-sign":n.title?n.titleLeftLine:false}),style:n.titleStyle,children:[d("div",{className:"card-layout-title-content",style:n.titleContentStyle,children:n.title}),n.titleExtra?d("div",{className:"card-layout-title-extra",style:n.titleExtraStyle,children:n.titleExtra}):null]}):null,n.desc&&!t(n.desc)?d("div",{className:"card-layout-desc",children:n.desc}):null,n.desc&&t(n.desc)?d("div",{className:"card-layout-desc-list",children:d(i,{direction:"vertical",size:0,children:n.desc.map((function(t,e){return d(a,{children:t},e)}))})}):null,n.children?d("div",{className:"card-layout-content",style:n.contentStyle,children:n.children}):null]})};c.defaultProps={titleLeftLine:true,layoutType:"layer"};export{c as CardLayout};
4
+ import{isArray as t}from"@dimjs/lang/cjs/is-array";import{_ as e}from"../_rollupPluginBabelHelpers-a0769acd.js";import{extend as l}from"@dimjs/utils/cjs/extend";import{classNames as i}from"@dimjs/utils/cjs/class-names";import{Space as a}from"antd";import{Fragment as r}from"react";import{B as s}from"../index-1f45bfd5.js";import{jsx as d,jsxs as c}from"react/jsx-runtime";var n=function n(o){var u;var m=i("card-layout",{"card-layout-tight":o.layoutType==="tight","card-layout-title-fixed":o.titleFixed,"card-layout-small":o.size==="small"},o.className);var y=l(o.style,{padding:o.padding,width:o.width,height:o.height,overflowY:!o.titleFixed&&(o.height||(u=o.style)!=null&&u.height)?"auto":undefined});if(o.hidden)return d(r,{});return c(s,{className:m,style:y,onClick:o.onClick,children:[o.title||o.titleExtra?c("div",{className:i("card-layout-title",{"card-layout-title-sign":o.title?o.titleLeftLine:false}),style:o.titleStyle,children:[o.subTitle?c(r,{children:[d("div",{className:"card-layout-title-content",style:o.titleContentStyle,children:o.title}),d("div",{className:"card-layout-subtitle",style:e({marginLeft:10},o.subTitleStyle),children:o.subTitle})]}):d("div",{className:"card-layout-title-content",style:e({flex:1},o.titleContentStyle),children:o.title}),o.titleExtra?d("div",{className:"card-layout-title-extra",style:o.titleExtraStyle,children:o.titleExtra}):null]}):null,o.desc&&!t(o.desc)?d("div",{className:"card-layout-desc",children:o.desc}):null,o.desc&&t(o.desc)?d("div",{className:"card-layout-desc-list",children:d(a,{direction:"vertical",size:0,children:o.desc.map((function(t,e){return d(r,{children:t},e)}))})}):null,o.children?d("div",{className:"card-layout-content",style:o.contentStyle,children:o.children}):null]})};n.defaultProps={titleLeftLine:true,layoutType:"layer"};export{n as CardLayout};
5
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/card-layout/card-layout.tsx"],"sourcesContent":["import { isArray } from '@dimjs/lang';\nimport { classNames, extend } from '@dimjs/utils';\nimport { Space } from 'antd';\nimport { Fragment, type CSSProperties, type ReactElement, type ReactNode } from 'react';\nimport { BlockLayout } from '../block-layout';\nimport './style.less';\n\nexport type CardLayoutProps = {\n /** 描述 */\n desc?: string | string[] | ReactElement | ReactElement[];\n /** 标题 */\n title?: string | ReactElement;\n /**\n * layoutType 布局类型\n * ```\n * 1. layer:分层布局\n * 2. tight:紧凑布局(没有外边距)\n * ```\n */\n layoutType?: 'layer' | 'tight';\n /** 隐藏标题左侧符号 */\n titleLeftLine?: boolean;\n titleStyle?: CSSProperties;\n titleContentStyle?: CSSProperties;\n titleExtraStyle?: CSSProperties;\n contentStyle?: CSSProperties;\n /** 优先级大于 style padding */\n padding?: CSSProperties['padding'];\n /** 优先级大于 style width */\n width?: CSSProperties['width'];\n /** 优先级大于 style height */\n height?: CSSProperties['height'];\n /** 标题右侧布局 */\n titleExtra?: string | ReactElement;\n /** 当存在滚动条时,标题固定,滚动区域为内部部分 */\n titleFixed?: boolean;\n /**\n * 间距尺寸\n * 1. default = 15\n * 2. small = 8\n */\n size?: 'default' | 'small';\n onClick?: (event) => void;\n hidden?: boolean;\n children?: ReactNode;\n className?: string;\n style?: CSSProperties;\n};\n\n/**\n * 卡片结构布局,替代 SimpleLayout 组件\n * @param props\n * @returns\n * ```\n * 1. layoutType 布局类型\n * layer:分层布局\n * tight:紧凑布局(没有外边距)\n * ```\n */\nexport const CardLayout = (props: CardLayoutProps) => {\n const className = classNames(\n 'card-layout',\n {\n 'card-layout-tight': props.layoutType === 'tight',\n // 'card-layout-formlabel-left': labelAlign === 'left',\n 'card-layout-title-fixed': props.titleFixed,\n 'card-layout-small': props.size === 'small',\n },\n props.className,\n );\n\n // const theme = fbaHooks.useThemeToken();\n const style = extend(\n // { '--card-layout-colorPrimary': theme.colorPrimary },\n props.style,\n {\n padding: props.padding,\n width: props.width,\n height: props.height,\n overflowY: !props.titleFixed && (props.height || props.style?.height) ? 'auto' : undefined,\n },\n );\n\n if (props.hidden) return <Fragment />;\n\n return (\n <BlockLayout className={className} style={style} onClick={props.onClick}>\n {props.title || props.titleExtra ? (\n <div\n className={classNames('card-layout-title', {\n 'card-layout-title-sign': props.title ? props.titleLeftLine : false,\n })}\n style={props.titleStyle}\n >\n <div className=\"card-layout-title-content\" style={props.titleContentStyle}>\n {props.title}\n </div>\n {props.titleExtra ? (\n <div className=\"card-layout-title-extra\" style={props.titleExtraStyle}>\n {props.titleExtra}\n </div>\n ) : null}\n </div>\n ) : null}\n {props.desc && !isArray(props.desc) ? <div className=\"card-layout-desc\">{props.desc}</div> : null}\n {props.desc && isArray(props.desc) ? (\n <div className=\"card-layout-desc-list\">\n <Space direction=\"vertical\" size={0}>\n {(props.desc as string[]).map((item, index) => {\n return <Fragment key={index}>{item}</Fragment>;\n })}\n </Space>\n </div>\n ) : null}\n {props.children ? (\n <div className=\"card-layout-content\" style={props.contentStyle}>\n {props.children}\n </div>\n ) : null}\n </BlockLayout>\n );\n};\n\nCardLayout.defaultProps = {\n titleLeftLine: true,\n layoutType: 'layer',\n};\n"],"names":["CardLayout","props","_props$style","className","_classNames","layoutType","titleFixed","size","style","_extend","padding","width","height","overflowY","undefined","hidden","_jsx","Fragment","_jsxs","BlockLayout","onClick","children","title","titleExtra","titleLeftLine","titleStyle","titleContentStyle","titleExtraStyle","desc","_isArray","Space","direction","map","item","index","contentStyle","defaultProps"],"mappings":";4WA2DaA,EAAa,SAAbA,EAAcC,GAA2B,IAAAC,EACpD,IAAMC,EAAYC,EAChB,cACA,CACE,oBAAqBH,EAAMI,aAAe,QAE1C,0BAA2BJ,EAAMK,WACjC,oBAAqBL,EAAMM,OAAS,SAEtCN,EAAME,WAIR,IAAMK,EAAQC,EAEZR,EAAMO,MACN,CACEE,QAAST,EAAMS,QACfC,MAAOV,EAAMU,MACbC,OAAQX,EAAMW,OACdC,WAAYZ,EAAMK,aAAeL,EAAMW,SAAMV,EAAID,EAAMO,QAANN,MAAAA,EAAaU,QAAU,OAASE,YAIrF,GAAIb,EAAMc,OAAQ,OAAOC,EAACC,EAAQ,CAAE,GAEpC,OACEC,EAACC,EAAW,CAAChB,UAAWA,EAAWK,MAAOA,EAAOY,QAASnB,EAAMmB,QAAQC,SAAA,CACrEpB,EAAMqB,OAASrB,EAAMsB,WACpBL,EAAA,MAAA,CACEf,UAAWC,EAAW,oBAAqB,CACzC,yBAA0BH,EAAMqB,MAAQrB,EAAMuB,cAAgB,QAEhEhB,MAAOP,EAAMwB,WAAWJ,UAExBL,EAAA,MAAA,CAAKb,UAAU,4BAA4BK,MAAOP,EAAMyB,kBAAkBL,SACvEpB,EAAMqB,QAERrB,EAAMsB,WACLP,EAAA,MAAA,CAAKb,UAAU,0BAA0BK,MAAOP,EAAM0B,gBAAgBN,SACnEpB,EAAMsB,aAEP,QAEJ,KACHtB,EAAM2B,OAASC,EAAQ5B,EAAM2B,MAAQZ,EAAA,MAAA,CAAKb,UAAU,mBAAkBkB,SAAEpB,EAAM2B,OAAc,KAC5F3B,EAAM2B,MAAQC,EAAQ5B,EAAM2B,MAC3BZ,EAAA,MAAA,CAAKb,UAAU,wBAAuBkB,SACpCL,EAACc,EAAK,CAACC,UAAU,WAAWxB,KAAM,EAAEc,SAChCpB,EAAM2B,KAAkBI,KAAI,SAACC,EAAMC,GACnC,OAAOlB,EAACC,EAAQ,CAAAI,SAAcY,GAARC,UAI1B,KACHjC,EAAMoB,SACLL,EAAA,MAAA,CAAKb,UAAU,sBAAsBK,MAAOP,EAAMkC,aAAad,SAC5DpB,EAAMoB,WAEP,OAGV,EAEArB,EAAWoC,aAAe,CACxBZ,cAAe,KACfnB,WAAY"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/card-layout/card-layout.tsx"],"sourcesContent":["import { isArray } from '@dimjs/lang';\nimport { classNames, extend } from '@dimjs/utils';\nimport { Space } from 'antd';\nimport { Fragment, type CSSProperties, type ReactElement, type ReactNode } from 'react';\nimport { BlockLayout } from '../block-layout';\nimport './style.less';\n\nexport type CardLayoutProps = {\n /** 描述 */\n desc?: string | string[] | ReactElement | ReactElement[];\n /** 标题 */\n title?: string | ReactElement;\n /** 子标题,在标题右侧 */\n subTitle?: string | ReactElement;\n /**\n * layoutType 布局类型\n * ```\n * 1. layer:分层布局\n * 2. tight:紧凑布局(没有外边距)\n * ```\n */\n layoutType?: 'layer' | 'tight';\n /** 隐藏标题左侧符号 */\n titleLeftLine?: boolean;\n titleStyle?: CSSProperties;\n titleContentStyle?: CSSProperties;\n subTitleStyle?: CSSProperties;\n titleExtraStyle?: CSSProperties;\n contentStyle?: CSSProperties;\n /** 优先级大于 style padding */\n padding?: CSSProperties['padding'];\n /** 优先级大于 style width */\n width?: CSSProperties['width'];\n /** 优先级大于 style height */\n height?: CSSProperties['height'];\n /** 标题右侧布局 */\n titleExtra?: string | ReactElement;\n /** 当存在滚动条时,标题固定,滚动区域为内部部分 */\n titleFixed?: boolean;\n /**\n * 间距尺寸\n * 1. default = 15\n * 2. small = 8\n */\n size?: 'default' | 'small';\n onClick?: (event) => void;\n hidden?: boolean;\n children?: ReactNode;\n className?: string;\n style?: CSSProperties;\n};\n\n/**\n * 卡片结构布局,替代 SimpleLayout 组件\n * @param props\n * @returns\n * ```\n * 1. layoutType 布局类型\n * layer:分层布局\n * tight:紧凑布局(没有外边距)\n * ```\n */\nexport const CardLayout = (props: CardLayoutProps) => {\n const className = classNames(\n 'card-layout',\n {\n 'card-layout-tight': props.layoutType === 'tight',\n // 'card-layout-formlabel-left': labelAlign === 'left',\n 'card-layout-title-fixed': props.titleFixed,\n 'card-layout-small': props.size === 'small',\n },\n props.className,\n );\n\n // const theme = fbaHooks.useThemeToken();\n const style = extend(\n // { '--card-layout-colorPrimary': theme.colorPrimary },\n props.style,\n {\n padding: props.padding,\n width: props.width,\n height: props.height,\n overflowY: !props.titleFixed && (props.height || props.style?.height) ? 'auto' : undefined,\n },\n );\n\n if (props.hidden) return <Fragment />;\n\n return (\n <BlockLayout className={className} style={style} onClick={props.onClick}>\n {props.title || props.titleExtra ? (\n <div\n className={classNames('card-layout-title', {\n 'card-layout-title-sign': props.title ? props.titleLeftLine : false,\n })}\n style={props.titleStyle}\n >\n {props.subTitle ? (\n <Fragment>\n <div className=\"card-layout-title-content\" style={props.titleContentStyle}>\n {props.title}\n </div>\n <div className=\"card-layout-subtitle\" style={{ marginLeft: 10, ...props.subTitleStyle }}>\n {props.subTitle}\n </div>\n </Fragment>\n ) : (\n <div\n className=\"card-layout-title-content\"\n style={{\n flex: 1,\n ...props.titleContentStyle,\n }}\n >\n {props.title}\n </div>\n )}\n\n {props.titleExtra ? (\n <div className=\"card-layout-title-extra\" style={props.titleExtraStyle}>\n {props.titleExtra}\n </div>\n ) : null}\n </div>\n ) : null}\n {props.desc && !isArray(props.desc) ? <div className=\"card-layout-desc\">{props.desc}</div> : null}\n {props.desc && isArray(props.desc) ? (\n <div className=\"card-layout-desc-list\">\n <Space direction=\"vertical\" size={0}>\n {(props.desc as string[]).map((item, index) => {\n return <Fragment key={index}>{item}</Fragment>;\n })}\n </Space>\n </div>\n ) : null}\n {props.children ? (\n <div className=\"card-layout-content\" style={props.contentStyle}>\n {props.children}\n </div>\n ) : null}\n </BlockLayout>\n );\n};\n\nCardLayout.defaultProps = {\n titleLeftLine: true,\n layoutType: 'layer',\n};\n"],"names":["CardLayout","props","_props$style","className","_classNames","layoutType","titleFixed","size","style","_extend","padding","width","height","overflowY","undefined","hidden","_jsx","Fragment","_jsxs","BlockLayout","onClick","children","title","titleExtra","titleLeftLine","titleStyle","subTitle","titleContentStyle","_extends","marginLeft","subTitleStyle","flex","titleExtraStyle","desc","_isArray","Space","direction","map","item","index","contentStyle","defaultProps"],"mappings":";wXA8DaA,EAAa,SAAbA,EAAcC,GAA2B,IAAAC,EACpD,IAAMC,EAAYC,EAChB,cACA,CACE,oBAAqBH,EAAMI,aAAe,QAE1C,0BAA2BJ,EAAMK,WACjC,oBAAqBL,EAAMM,OAAS,SAEtCN,EAAME,WAIR,IAAMK,EAAQC,EAEZR,EAAMO,MACN,CACEE,QAAST,EAAMS,QACfC,MAAOV,EAAMU,MACbC,OAAQX,EAAMW,OACdC,WAAYZ,EAAMK,aAAeL,EAAMW,SAAMV,EAAID,EAAMO,QAANN,MAAAA,EAAaU,QAAU,OAASE,YAIrF,GAAIb,EAAMc,OAAQ,OAAOC,EAACC,EAAQ,CAAE,GAEpC,OACEC,EAACC,EAAW,CAAChB,UAAWA,EAAWK,MAAOA,EAAOY,QAASnB,EAAMmB,QAAQC,SAAA,CACrEpB,EAAMqB,OAASrB,EAAMsB,WACpBL,EAAA,MAAA,CACEf,UAAWC,EAAW,oBAAqB,CACzC,yBAA0BH,EAAMqB,MAAQrB,EAAMuB,cAAgB,QAEhEhB,MAAOP,EAAMwB,WAAWJ,UAEvBpB,EAAMyB,SACLR,EAACD,EAAQ,CAAAI,UACPL,EAAA,MAAA,CAAKb,UAAU,4BAA4BK,MAAOP,EAAM0B,kBAAkBN,SACvEpB,EAAMqB,QAETN,EAAA,MAAA,CAAKb,UAAU,uBAAuBK,MAAKoB,EAAA,CAAIC,WAAY,IAAO5B,EAAM6B,eAAgBT,SACrFpB,EAAMyB,cAIXV,EAAA,MAAA,CACEb,UAAU,4BACVK,MAAKoB,EAAA,CACHG,KAAM,GACH9B,EAAM0B,mBACTN,SAEDpB,EAAMqB,QAIVrB,EAAMsB,WACLP,EAAA,MAAA,CAAKb,UAAU,0BAA0BK,MAAOP,EAAM+B,gBAAgBX,SACnEpB,EAAMsB,aAEP,QAEJ,KACHtB,EAAMgC,OAASC,EAAQjC,EAAMgC,MAAQjB,EAAA,MAAA,CAAKb,UAAU,mBAAkBkB,SAAEpB,EAAMgC,OAAc,KAC5FhC,EAAMgC,MAAQC,EAAQjC,EAAMgC,MAC3BjB,EAAA,MAAA,CAAKb,UAAU,wBAAuBkB,SACpCL,EAACmB,EAAK,CAACC,UAAU,WAAW7B,KAAM,EAAEc,SAChCpB,EAAMgC,KAAkBI,KAAI,SAACC,EAAMC,GACnC,OAAOvB,EAACC,EAAQ,CAAAI,SAAciB,GAARC,UAI1B,KACHtC,EAAMoB,SACLL,EAAA,MAAA,CAAKb,UAAU,sBAAsBK,MAAOP,EAAMuC,aAAanB,SAC5DpB,EAAMoB,WAEP,OAGV,EAEArB,EAAWyC,aAAe,CACxBjB,cAAe,KACfnB,WAAY"}
@@ -5,5 +5,5 @@ import './../form-wrapper/index.css';
5
5
  import './../pre-defined-class-name/index.css';
6
6
  import './index.css';
7
7
  /*! @flatjs/forge MIT @flatbiz/antd */
8
- import{classNames as r}from"@dimjs/utils/cjs/class-names";import{a as e,_ as l}from"../_rollupPluginBabelHelpers-a0769acd.js";import{isUndefinedOrNull as t,dom as i}from"@flatbiz/utils";import{useMemo as n,useRef as a,Fragment as s,Children as m}from"react";import{BoxGrid as o}from"../box-grid/index.js";import{fbaHooks as f}from"../fba-hooks/index.js";import{FormWrapper as u}from"../form-wrapper/index.js";import{jsxs as d,jsx as c}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-number";import"ahooks";import"@dimjs/lang/cjs/is-array";import"@wove/react/cjs/hooks";import"../use-responsive-point-21b8c601.js";import"antd";import"../pre-defined-class-name/index.js";var p=["column","forceColumn","children","width","gridGutter","labelWidth","labelItemVertical","labelAlign","formItemGap","isPure"];var x=function x(v){var h=f.useResponsivePoint()||"";var g=v.column,b=v.forceColumn,y=v.children,j=v.width,I=v.gridGutter,N=v.labelWidth,w=v.labelItemVertical,G=v.labelAlign,C=v.formItemGap,P=v.isPure,A=e(v,p);var T=n((function(){if(b){var r=24/b;return{xs:r,sm:r,md:r,lg:r,xl:r,xxl:r}}if(!g){return{xs:24,sm:12,md:12,lg:8,xl:8,xxl:6}}var e={1:{xs:24,sm:24,md:24,lg:24,xl:24,xxl:24},2:{xs:24,sm:12,md:12,lg:12,xl:12,xxl:12},3:{xs:24,sm:12,md:12,lg:8,xl:8,xxl:8},4:{xs:24,sm:12,md:12,lg:6,xl:6,xxl:6}};return e[g]}),[g,b]);var W=function r(){return m.toArray(y).map((function(r,e){if(r.props["hidden"])return null;if(r.type["domTypeName"]==="BoxGridCol")return c(s,{children:r},e);var t=undefined;if(r.type["domTypeName"]==="FormItemWrapper"||r.type["domTypeName"]==="FormItemText"){t=r.props["span"];if(t){if(h==="xs"){t=24}else if(h==="sm"){t=t>12?t:12}}}return c(o.Col,l({},T,{span:t,children:r}),e)})).filter(Boolean)};var k=n((function(){if(["xs","sm"].includes(h)||!j){return{}}return{width:j}}),[h]);var B=t(I)?[15,0]:I;var R=a(null);var V=n((function(){try{if(R.current){var r=i.findParentsElement(R.current,(function(r){var e;return(e=r.classList)==null||e.contains==null?void 0:e.contains("easy-form")}));return r?true:false}return undefined}catch(r){return false}}),[R.current]);var F=n((function(){var r="";if(N){r+="form-label-"+N}if(w){r+=" form-label-value-vertical"}if(G){r+=" form-label-align-"+G}if(C){r+=" form-formitem-gap-"+C}return r}),[N,w,G,C]);return d(s,{children:[c("div",{className:"easy-form-anchor",ref:R}),V===true?c("div",{style:l({},k,A.style),className:r(F,"easy-form","easy-form-nested",A.className),children:P?y:c(o.Row,{gutter:B,children:W()})}):undefined,V===false?c(u,l({},A,{labelWidth:N,labelAlign:G,labelItemVertical:w,formItemGap:C,style:l({},k,A.style),className:r("easy-form",A.className),autoComplete:"off",children:P?y:c(o.Row,{gutter:B,children:W()})})):undefined]})};export{x as EasyForm};
8
+ import{classNames as e}from"@dimjs/utils/cjs/class-names";import{a as r,_ as l}from"../_rollupPluginBabelHelpers-a0769acd.js";import{isUndefinedOrNull as t,dom as a}from"@flatbiz/utils";import{useMemo as i,useRef as n,Fragment as s,Children as m}from"react";import{BoxGrid as o}from"../box-grid/index.js";import{fbaHooks as u}from"../fba-hooks/index.js";import{FormWrapper as d}from"../form-wrapper/index.js";import{preDefinedClassName as f}from"../pre-defined-class-name/index.js";import{jsxs as c,jsx as p}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-number";import"ahooks";import"@dimjs/lang/cjs/is-array";import"@wove/react/cjs/hooks";import"../use-responsive-point-21b8c601.js";import"antd";var x=["column","forceColumn","children","width","gridGutter","labelWidth","labelItemVertical","labelAlign","formItemGap","isPure"];var h=function h(v){var g=u.useResponsivePoint()||"";var y=v.column,b=v.forceColumn,j=v.children,N=v.width,I=v.gridGutter,w=v.labelWidth,G=v.labelItemVertical,C=v.labelAlign,A=v.formItemGap,P=v.isPure,W=r(v,x);var T=i((function(){if(b){var e=24/b;return{xs:e,sm:e,md:e,lg:e,xl:e,xxl:e}}if(!y){return{xs:24,sm:12,md:12,lg:8,xl:8,xxl:6}}var r={1:{xs:24,sm:24,md:24,lg:24,xl:24,xxl:24},2:{xs:24,sm:12,md:12,lg:12,xl:12,xxl:12},3:{xs:24,sm:12,md:12,lg:8,xl:8,xxl:8},4:{xs:24,sm:12,md:12,lg:6,xl:6,xxl:6}};return r[y]}),[y,b]);var V=function e(){return m.toArray(j).map((function(e,r){if(e.props["hidden"])return null;if(e.type["domTypeName"]==="BoxGridCol")return p(s,{children:e},r);var t=undefined;if(e.type["domTypeName"]==="FormItemWrapper"||e.type["domTypeName"]==="FormItemText"){t=e.props["span"];if(t){if(g==="xs"){t=24}else if(g==="sm"){t=t>12?t:12}}}return p(o.Col,l({},T,{span:t,children:e}),r)})).filter(Boolean)};var k=i((function(){if(["xs","sm"].includes(g)||!N){return{}}return{width:N}}),[g]);var B=t(I)?[15,0]:I;var F=n(null);var R=i((function(){try{if(F.current){var e=a.findParentsElement(F.current,(function(e){var r;return(r=e.classList)==null||r.contains==null?void 0:r.contains("easy-form")}));return e?true:false}return undefined}catch(e){return false}}),[F.current]);var L=i((function(){return f.getFormLayoutClassName({labelWidth:w,labelItemVertical:G,labelAlign:C,formItemGap:A,className:W.className})}),[w,G,C,A]);return c(s,{children:[p("div",{className:"easy-form-anchor",ref:F}),R===true?p("div",{style:l({},k,W.style),className:e("easy-form","easy-form-nested",L,W.className),children:P?j:p(o.Row,{gutter:B,children:V()})}):undefined,R===false?p(d,l({},W,{labelWidth:w,labelAlign:C,labelItemVertical:G,formItemGap:A,style:l({},k,W.style),className:e("easy-form",W.className),autoComplete:"off",children:P?j:p(o.Row,{gutter:B,children:V()})})):undefined]})};export{h as EasyForm};
9
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/easy-form/form.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { dom, isUndefinedOrNull } from '@flatbiz/utils';\nimport { Children, Fragment, ReactNode, useMemo, useRef } from 'react';\nimport { BoxGrid } from '../box-grid';\nimport { BoxRowProps } from '../box-grid/row';\nimport { fbaHooks } from '../fba-hooks';\nimport { FormWrapper, FormWrapperProps } from '../form-wrapper';\nimport './style.less';\n\nexport type EasyFormProps = Omit<FormWrapperProps, 'children'> & {\n /**\n * 定义一行显示几列(当外层宽度尺寸大于 992px(lg) 时,一行显示几列), 默认值:3\n * ```\n * 1. 当外层宽度尺寸小于992px(lg),为xs、sm、md情况下不受column值影响(column=1除外)\n * 2. 宽度尺寸定义\n * xs: 宽度 < 576px\n * sm: 宽度 ≥ 576px\n * md: 宽度 ≥ 768px\n * lg: 宽度 ≥ 992px\n * xl: 宽度 ≥ 1200px\n * xxl: 宽度 ≥ 1600px\n * 3. 列数尺寸定义\n * {\n * 1: { xs: 24, sm: 24, md: 24, lg: 24, xl: 24, xxl: 24 },\n * 2: { xs: 24, sm: 12, md: 12, lg: 12, xl: 12, xxl: 12 },\n * 3: { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 8 },\n * 4: { xs: 24, sm: 12, md: 12, lg: 6, xl: 6, xxl: 6 },\n * };\n * ```\n */\n column?: 1 | 2 | 3 | 4;\n /**\n * 强制定义一行显示几列,不考虑响应式\n * ```\n * 1. 优先级大于column\n * 2. 建议优先使用column配置\n * ```\n */\n forceColumn?: 1 | 2 | 3 | 4;\n /**\n * Form显示宽度,可数值、可百分比;在小屏幕尺寸(xs、sm)上无效\n */\n width?: number | string;\n /** 网格间距 */\n gridGutter?: BoxRowProps['gutter'];\n children: ReactNode;\n /** 是否为纯净模式,对EasyForm的子节点不做任何包装处理 */\n isPure?: boolean;\n};\n\n/**\n * 简单Form布局,可自定义网格布局\n * ```\n * 1. demo:https://fex.qa.tcshuke.com/docs/admin/main/form/grid\n * 2. EasyForm可嵌套使用,嵌套内部的<EasyForm />节点Form相关属性失效,例如属性form、initialValues等都失效\n * 3. 布局网格以当前节点的宽度来计算的,不是屏幕宽度\n * 4. EasyForm 子节点包含 hidden = true 会被忽略\n * 5. 通过 column 可定义一行显示几列FormItem\n * 6. 通过 labelItemVertical 可定义 formitem 竖直布局\n * 7. 通过 formItemGap 可定义 formItem竖直方向间隙\n * 8. 通过 forceColumn 可强制定义一行显示几列,不考虑响应式\n * 9. 通过 labelWidth 可控制Form内部所有label的宽度(可实现整齐效果)\n * 10. 自定义栅格占位格数,见下方`例如`\n\n * 例如\n * <EasyForm column={3}>\n *\t <FormItemWrapper name=\"field1\" label=\"条件1\">\n *\t <Input placeholder=\"请输入\" allowClear={true} />\n *\t </FormItemWrapper>\n *\t <!-- !!自定义栅格占位格数第一种方式:可通过使用 BoxGrid.Col 包裹元素来自定义网格占比 -->\n *\t <BoxGrid.Col span={24}>\n *\t <FormItemWrapper name=\"field5\" label=\"条件5\">\n *\t \t<Input placeholder=\"请输入\" allowClear={true} />\n *\t </FormItemWrapper>\n *\t </BoxGrid.Col>\n *\t <!-- !!自定义栅格占位格数第二种方式:如果为FormItemWrapper组件,可设置span属性 -->\n *\t <FormItemWrapper name=\"field6\" label=\"条件6\" span={24}>\n *\t <Input placeholder=\"请输入\" allowClear={true} />\n *\t </FormItemWrapper>\n * </EasyForm>\n * ```\n */\nexport const EasyForm = (props: EasyFormProps) => {\n const screenType = fbaHooks.useResponsivePoint() || '';\n\n const {\n column,\n forceColumn,\n children,\n width,\n gridGutter,\n labelWidth,\n labelItemVertical,\n labelAlign,\n formItemGap,\n isPure,\n ...otherProps\n } = props;\n\n const gridSize = useMemo(() => {\n if (forceColumn) {\n const num = 24 / forceColumn;\n return { xs: num, sm: num, md: num, lg: num, xl: num, xxl: num };\n }\n if (!column) {\n return { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 };\n }\n const columnMap = {\n 1: { xs: 24, sm: 24, md: 24, lg: 24, xl: 24, xxl: 24 },\n 2: { xs: 24, sm: 12, md: 12, lg: 12, xl: 12, xxl: 12 },\n 3: { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 8 },\n 4: { xs: 24, sm: 12, md: 12, lg: 6, xl: 6, xxl: 6 },\n };\n return columnMap[column];\n }, [column, forceColumn]);\n\n const getFormRowChildren = () => {\n return Children.toArray(children)\n .map((item: any, index) => {\n if (item.props['hidden']) return null;\n if (item.type['domTypeName'] === 'BoxGridCol') return <Fragment key={index}>{item}</Fragment>;\n let span: number | undefined = undefined;\n if (item.type['domTypeName'] === 'FormItemWrapper' || item.type['domTypeName'] === 'FormItemText') {\n span = item.props['span'] as number;\n if (span) {\n if (screenType === 'xs') {\n span = 24;\n } else if (screenType === 'sm') {\n span = span > 12 ? span : 12;\n }\n }\n }\n return (\n <BoxGrid.Col key={index} {...gridSize} span={span}>\n {item}\n </BoxGrid.Col>\n );\n })\n .filter(Boolean);\n };\n\n const innerStyle = useMemo(() => {\n /** 小屏幕不控制宽度 */\n if (['xs', 'sm'].includes(screenType) || !width) {\n return {};\n }\n return { width };\n }, [screenType]);\n\n const gutter = (isUndefinedOrNull(gridGutter) ? [15, 0] : gridGutter) as BoxRowProps['gutter'];\n const anchorRef = useRef<HTMLDivElement>(null);\n\n // 是否嵌套EasyForm节点\n const isNestedEasyForm = useMemo(() => {\n try {\n if (anchorRef.current) {\n const target = dom.findParentsElement(anchorRef.current, (node) => {\n return node.classList?.contains?.('easy-form');\n });\n return target ? true : false;\n }\n return undefined;\n } catch (error) {\n return false;\n }\n }, [anchorRef.current]);\n\n const fromLayoutClassName = useMemo(() => {\n let cn = '';\n if (labelWidth) {\n cn += `form-label-${labelWidth}`;\n }\n if (labelItemVertical) {\n cn += ` form-label-value-vertical`;\n }\n if (labelAlign) {\n cn += ` form-label-align-${labelAlign}`;\n }\n if (formItemGap) {\n cn += ` form-formitem-gap-${formItemGap}`;\n }\n return cn;\n }, [labelWidth, labelItemVertical, labelAlign, formItemGap]);\n\n return (\n <Fragment>\n <div className=\"easy-form-anchor\" ref={anchorRef}></div>\n {isNestedEasyForm === true ? (\n <div\n style={{ ...innerStyle, ...otherProps.style }}\n className={classNames(fromLayoutClassName, 'easy-form', 'easy-form-nested', otherProps.className)}\n >\n {isPure ? children : <BoxGrid.Row gutter={gutter}>{getFormRowChildren()}</BoxGrid.Row>}\n </div>\n ) : undefined}\n {isNestedEasyForm === false ? (\n <FormWrapper\n {...otherProps}\n labelWidth={labelWidth}\n labelAlign={labelAlign}\n labelItemVertical={labelItemVertical}\n formItemGap={formItemGap}\n style={{ ...innerStyle, ...otherProps.style }}\n className={classNames('easy-form', otherProps.className)}\n autoComplete=\"off\"\n >\n {isPure ? children : <BoxGrid.Row gutter={gutter}>{getFormRowChildren()}</BoxGrid.Row>}\n </FormWrapper>\n ) : undefined}\n </Fragment>\n );\n};\n"],"names":["EasyForm","props","screenType","fbaHooks","useResponsivePoint","column","forceColumn","children","width","gridGutter","labelWidth","labelItemVertical","labelAlign","formItemGap","isPure","otherProps","_objectWithoutPropertiesLoose","_excluded","gridSize","useMemo","num","xs","sm","md","lg","xl","xxl","columnMap","getFormRowChildren","Children","toArray","map","item","index","type","_jsx","Fragment","span","undefined","BoxGrid","Col","_extends","filter","Boolean","innerStyle","includes","gutter","isUndefinedOrNull","anchorRef","useRef","isNestedEasyForm","current","target","dom","findParentsElement","node","_node$classList","classList","contains","error","fromLayoutClassName","cn","_jsxs","className","ref","style","_classNames","Row","FormWrapper","autoComplete"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/easy-form/form.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { dom, isUndefinedOrNull } from '@flatbiz/utils';\nimport { Children, Fragment, ReactNode, useMemo, useRef } from 'react';\nimport { BoxGrid } from '../box-grid';\nimport { BoxRowProps } from '../box-grid/row';\nimport { fbaHooks } from '../fba-hooks';\nimport { FormWrapper, FormWrapperProps } from '../form-wrapper';\nimport { preDefinedClassName } from '../pre-defined-class-name';\nimport './style.less';\n\nexport type EasyFormProps = Omit<FormWrapperProps, 'children'> & {\n /**\n * 定义一行显示几列(当外层宽度尺寸大于 992px(lg) 时,一行显示几列), 默认值:3\n * ```\n * 1. 当外层宽度尺寸小于992px(lg),为xs、sm、md情况下不受column值影响(column=1除外)\n * 2. 宽度尺寸定义\n * xs: 宽度 < 576px\n * sm: 宽度 ≥ 576px\n * md: 宽度 ≥ 768px\n * lg: 宽度 ≥ 992px\n * xl: 宽度 ≥ 1200px\n * xxl: 宽度 ≥ 1600px\n * 3. 列数尺寸定义\n * {\n * 1: { xs: 24, sm: 24, md: 24, lg: 24, xl: 24, xxl: 24 },\n * 2: { xs: 24, sm: 12, md: 12, lg: 12, xl: 12, xxl: 12 },\n * 3: { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 8 },\n * 4: { xs: 24, sm: 12, md: 12, lg: 6, xl: 6, xxl: 6 },\n * };\n * ```\n */\n column?: 1 | 2 | 3 | 4;\n /**\n * 强制定义一行显示几列,不考虑响应式\n * ```\n * 1. 优先级大于column\n * 2. 建议优先使用column配置\n * ```\n */\n forceColumn?: 1 | 2 | 3 | 4;\n /**\n * Form显示宽度,可数值、可百分比;在小屏幕尺寸(xs、sm)上无效\n */\n width?: number | string;\n /** 网格间距 */\n gridGutter?: BoxRowProps['gutter'];\n children: ReactNode;\n /** 是否为纯净模式,对EasyForm的子节点不做任何包装处理 */\n isPure?: boolean;\n};\n\n/**\n * 简单Form布局,可自定义网格布局\n * ```\n * 1. demo:https://fex.qa.tcshuke.com/docs/admin/main/form/grid\n * 2. EasyForm可嵌套使用,嵌套内部的<EasyForm />节点Form相关属性失效,例如属性form、initialValues等都失效\n * 3. 布局网格以当前节点的宽度来计算的,不是屏幕宽度\n * 4. EasyForm 子节点包含 hidden = true 会被忽略\n * 5. 通过 column 可定义一行显示几列FormItem\n * 6. 通过 labelItemVertical 可定义 formitem 竖直布局\n * 7. 通过 formItemGap 可定义 formItem竖直方向间隙\n * 8. 通过 forceColumn 可强制定义一行显示几列,不考虑响应式\n * 9. 通过 labelWidth 可控制Form内部所有label的宽度(可实现整齐效果)\n * 10. 自定义栅格占位格数,见下方`例如`\n\n * 例如\n * <EasyForm column={3}>\n *\t <FormItemWrapper name=\"field1\" label=\"条件1\">\n *\t <Input placeholder=\"请输入\" allowClear={true} />\n *\t </FormItemWrapper>\n *\t <!-- !!自定义栅格占位格数第一种方式:可通过使用 BoxGrid.Col 包裹元素来自定义网格占比 -->\n *\t <BoxGrid.Col span={24}>\n *\t <FormItemWrapper name=\"field5\" label=\"条件5\">\n *\t \t<Input placeholder=\"请输入\" allowClear={true} />\n *\t </FormItemWrapper>\n *\t </BoxGrid.Col>\n *\t <!-- !!自定义栅格占位格数第二种方式:如果为FormItemWrapper组件,可设置span属性 -->\n *\t <FormItemWrapper name=\"field6\" label=\"条件6\" span={24}>\n *\t <Input placeholder=\"请输入\" allowClear={true} />\n *\t </FormItemWrapper>\n * </EasyForm>\n * ```\n */\nexport const EasyForm = (props: EasyFormProps) => {\n const screenType = fbaHooks.useResponsivePoint() || '';\n\n const {\n column,\n forceColumn,\n children,\n width,\n gridGutter,\n labelWidth,\n labelItemVertical,\n labelAlign,\n formItemGap,\n isPure,\n ...otherProps\n } = props;\n\n const gridSize = useMemo(() => {\n if (forceColumn) {\n const num = 24 / forceColumn;\n return { xs: num, sm: num, md: num, lg: num, xl: num, xxl: num };\n }\n if (!column) {\n return { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 };\n }\n const columnMap = {\n 1: { xs: 24, sm: 24, md: 24, lg: 24, xl: 24, xxl: 24 },\n 2: { xs: 24, sm: 12, md: 12, lg: 12, xl: 12, xxl: 12 },\n 3: { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 8 },\n 4: { xs: 24, sm: 12, md: 12, lg: 6, xl: 6, xxl: 6 },\n };\n return columnMap[column];\n }, [column, forceColumn]);\n\n const getFormRowChildren = () => {\n return Children.toArray(children)\n .map((item: any, index) => {\n if (item.props['hidden']) return null;\n if (item.type['domTypeName'] === 'BoxGridCol') return <Fragment key={index}>{item}</Fragment>;\n let span: number | undefined = undefined;\n if (item.type['domTypeName'] === 'FormItemWrapper' || item.type['domTypeName'] === 'FormItemText') {\n span = item.props['span'] as number;\n if (span) {\n if (screenType === 'xs') {\n span = 24;\n } else if (screenType === 'sm') {\n span = span > 12 ? span : 12;\n }\n }\n }\n return (\n <BoxGrid.Col key={index} {...gridSize} span={span}>\n {item}\n </BoxGrid.Col>\n );\n })\n .filter(Boolean);\n };\n\n const innerStyle = useMemo(() => {\n /** 小屏幕不控制宽度 */\n if (['xs', 'sm'].includes(screenType) || !width) {\n return {};\n }\n return { width };\n }, [screenType]);\n\n const gutter = (isUndefinedOrNull(gridGutter) ? [15, 0] : gridGutter) as BoxRowProps['gutter'];\n const anchorRef = useRef<HTMLDivElement>(null);\n\n // 是否嵌套EasyForm节点\n const isNestedEasyForm = useMemo(() => {\n try {\n if (anchorRef.current) {\n const target = dom.findParentsElement(anchorRef.current, (node) => {\n return node.classList?.contains?.('easy-form');\n });\n return target ? true : false;\n }\n return undefined;\n } catch (error) {\n return false;\n }\n }, [anchorRef.current]);\n\n const fromLayoutClassName = useMemo(() => {\n return preDefinedClassName.getFormLayoutClassName({\n labelWidth,\n labelItemVertical,\n labelAlign,\n formItemGap,\n className: otherProps.className,\n });\n }, [labelWidth, labelItemVertical, labelAlign, formItemGap]);\n\n return (\n <Fragment>\n <div className=\"easy-form-anchor\" ref={anchorRef}></div>\n {isNestedEasyForm === true ? (\n <div\n style={{ ...innerStyle, ...otherProps.style }}\n className={classNames('easy-form', 'easy-form-nested', fromLayoutClassName, otherProps.className)}\n >\n {isPure ? children : <BoxGrid.Row gutter={gutter}>{getFormRowChildren()}</BoxGrid.Row>}\n </div>\n ) : undefined}\n {isNestedEasyForm === false ? (\n <FormWrapper\n {...otherProps}\n labelWidth={labelWidth}\n labelAlign={labelAlign}\n labelItemVertical={labelItemVertical}\n formItemGap={formItemGap}\n style={{ ...innerStyle, ...otherProps.style }}\n className={classNames('easy-form', otherProps.className)}\n autoComplete=\"off\"\n >\n {isPure ? children : <BoxGrid.Row gutter={gutter}>{getFormRowChildren()}</BoxGrid.Row>}\n </FormWrapper>\n ) : undefined}\n </Fragment>\n );\n};\n"],"names":["EasyForm","props","screenType","fbaHooks","useResponsivePoint","column","forceColumn","children","width","gridGutter","labelWidth","labelItemVertical","labelAlign","formItemGap","isPure","otherProps","_objectWithoutPropertiesLoose","_excluded","gridSize","useMemo","num","xs","sm","md","lg","xl","xxl","columnMap","getFormRowChildren","Children","toArray","map","item","index","type","_jsx","Fragment","span","undefined","BoxGrid","Col","_extends","filter","Boolean","innerStyle","includes","gutter","isUndefinedOrNull","anchorRef","useRef","isNestedEasyForm","current","target","dom","findParentsElement","node","_node$classList","classList","contains","error","fromLayoutClassName","preDefinedClassName","getFormLayoutClassName","className","_jsxs","ref","style","_classNames","Row","FormWrapper","autoComplete"],"mappings":"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"}
@@ -15,5 +15,5 @@ import './../table-scrollbar/index.css';
15
15
  import './../table-title-tooltip/index.css';
16
16
  import './index.css';
17
17
  /*! @flatjs/forge MIT @flatbiz/antd */
18
- import{fbaUtils as e}from"../fba-utils/index.js";import{classNames as t}from"@dimjs/utils/cjs/class-names";import{isUndefined as r}from"@dimjs/lang/cjs/is-undefined";import{isArray as i}from"@dimjs/lang/cjs/is-array";import{get as n}from"@dimjs/utils/cjs/get";import{_ as a,a as o}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 c,Table as d}from"antd";import{createContext as f,forwardRef as p,useState as m,useMemo as g,useRef as v,useImperativeHandle as y,useContext as h,Children as C,Fragment as S}from"react";import{P as b,S as j}from"../index-6677fbfc.js";import{noop as F,isUndefinedOrNull as q,getUuid as z,isMacEnv as x}from"@flatbiz/utils";import{Model as R}from"@dimjs/model-react";import{jsx as N,jsxs as w}from"react/jsx-runtime";import P from"@ant-design/icons/es/icons/DownOutlined";import k from"@ant-design/icons/es/icons/UpOutlined";import{isFragment as T}from"react-is";import{B as D}from"../index-1f45bfd5.js";import{ButtonWrapper as K}from"../button-wrapper/index.js";import{EasyForm as A}from"../easy-form/index.js";import{FormGrid as E}from"../form-grid/index.js";import{fbaHooks as V}from"../fba-hooks/index.js";import{TableScrollbar as B}from"../table-scrollbar/index.js";import{TableTitleTooltip as I}from"../table-title-tooltip/index.js";import{TipsWrapper as L}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"../use-responsive-point-21b8c601.js";import"@ant-design/icons/es/icons/QuestionCircleOutlined";var O=f({onRequest:F,tableList:[],getEasyTableRef:function e(){}});var W={queryCondition:{},isInit:true};var _={actions:{updateFilterCondition:function e(t){return function(e){e.queryCondition=a({},e.queryCondition,t)}},resetFilterCondition:function e(t){return function(e){e.queryCondition=a({},W.queryCondition,t)}},updateInitStatus:function e(){return function(e){e.isInit=false}}},state:W};var H={};var U=function e(t){if(!H[t]){H[t]=R(_)}return H[t]};var G=p((function(e,o){var d;var f=m(),p=f[0],h=f[1];var C=m(0),S=C[0],j=C[1];var F=m(false),q=F[0],z=F[1];var x=l.useId(undefined,"easy-table-key");var R=g((function(){return e.cacheSwitch?location.pathname:x}),[x,e.cacheSwitch]);var P=U(R).useStore(),k=P[0],T=P[1];var D=e.pageSize||((d=e.initialPaginationParams)==null?void 0:d.pageSize)||10;var K=e.initRequest===undefined?true:e.initRequest;var A=m(false),E=A[0],V=A[1];var B=v();var I=v([]);var L=m(),W=L[0],_=L[1];var H=a({list:"list",total:"total",pageNo:"pageNo",pageSize:"pageSize"},e.fieldNames);var G=u.useForm(e.form),Q=G[0];var Y=l.useCallbackRef((function(t){return new Promise((function(r,a){var o,l,u,d,f,p,m,g,v,y,C,S;var b=function(){try{return r()}catch(e){return a(e)}};var F=function(t){try{z(false);if(e.onRequestErrorHandle){e.onRequestErrorHandle(t)}else{void c.error(t.message)}return b()}catch(e){return a(e)}};try{z(true);return Promise.resolve(T.updateFilterCondition(t)).then((function(t){try{o=t;l=s(o.queryCondition||{});u=e.serviceConfig,d=u.requestParamsAdapter,f=u.onRequest,p=u.requestResultAdapter,m=u.dynamicColumsAdapter;g=d?d(l):l;return Promise.resolve(f(g)).then((function(t){try{v=t||{};B.current=v;e.onDataSourceChange==null?void 0:e.onDataSourceChange(v);y=v;if(p){y=p(v)}if(m){C=m(v,I.current);_(C)}S=n(y,H.list);h(i(S)?S:[]);j(n(y,H.total));z(false);return b()}catch(e){return F(e)}}),F)}catch(e){return F(e)}}),F)}catch(e){F(e)}}))}));var $=l.useCallbackRef((function(e){return new Promise((function(t,r){return Promise.resolve(T.resetFilterCondition()).then((function(i){try{Q.resetFields();if(e){void T.updateFilterCondition(e);Q.setFieldsValue(e)}return t()}catch(e){return r(e)}}),r)}))}));var J=function e(t,r){if(E){var i;return i={},i[H.pageNo]=t,i[H.pageSize]=r||D,i}else{return{}}};var M=l.useCallbackRef((function(t){return new Promise((function(r,i){var n;n=a({},J(1,k.queryCondition[H.pageSize]),e.initialValues,t);return Promise.resolve(T.resetFilterCondition(n)).then((function(e){try{Q.resetFields();if(t){Q.setFieldsValue(t)}void Y(n);return r()}catch(e){return i(e)}}),i)}))}));var X=l.useCallbackRef((function(){return a({},k.queryCondition,Q.getFieldsValue())}));var Z=function t(){return{onRequest:Y,clearQueryCondition:$,getRequestParams:X,onResetRequest:M,form:Q,getDataSource:function e(){return B.current},onFilterDataSource:function e(t){h(t)},onClearDataSource:function e(){j(0);h([])},onUpdateDataSource:function t(r){h(r);B.current=r;e.onDataSourceChange==null?void 0:e.onDataSourceChange(r)}}};y(o,(function(){return Z()}));var ee=function e(t){V(t)};var te=function e(t){I.current=t};var re=function t(){var r=Q.getFieldsValue();if(e.onFormFinish){e.onFormFinish(a({},r,J(1,k.queryCondition[H.pageSize])))}else{void Y(a({},r,J(1,k.queryCondition[H.pageSize])))}};var ie=r(e.isFull)?true:e.isFull;var ne=t("fba-easy-table",{"fba-easy-table-full":ie,"fba-easy-table-filter-fixed":e.filterFixed,"fba-easy-table-pagination-fixed":e.paginationFixed},e.className);var ae=g((function(){return a({showSizeChanger:true,current:k.queryCondition[H.pageNo]||1,pageSize:k.queryCondition[H.pageSize]||D,total:S,showTotal:function e(t){return"共 "+t+" 条记录"}},e.pagination)}),[H.pageNo,H.pageSize,D,e.pagination,k.queryCondition,S]);var oe=l.useCallbackRef((function(t,r){var i,n;void Y((i={},i[H.pageSize]=r,i[H.pageNo]=t,i));(n=e.pagination)==null||n.onChange==null?void 0:n.onChange(t,r)}));var le=t("fba-easy-table-wrapper",{"fba-easy-table-wrapper-inline":e.isInline},e.className);var se=typeof e.children==="function"?e.children(B.current):e.children;return N(O.Provider,{value:{onSetBaseColumns:te,getEasyTableRef:Z,modelKey:R,onRequest:Y,tableDataSource:p,tableTotal:S,loading:q,fieldNames:H,pageSize:D,initRequest:K,initialValues:e.initialValues||{},onSetPaginationStatus:ee,paginationStatus:E,onFormFinish:re,form:Q,paginationFixed:e.paginationFixed||false,foldKeys:e.foldKeys||[],dynamicColumns:W},children:e.paginationFixed?w("div",{className:le,style:e.style,children:[N("div",{className:ne,children:se}),S>0&&N("div",{className:"fba-easy-table-pagination",children:N(b,a({size:"small"},ae,{onChange:oe}))})]}):N("div",{className:le,style:e.style,children:se})})}));var Q=function e(i){var n=h(O);var o=i.queryButtonProps,s=i.resetButtonProps,u=i.filterOperate,c=i.formClassName,d=c===void 0?"":c,f=i.defaultResetButtonTriggerRequest,p=i.filterWrapperStyle,v=i.filterWrapperClassName,y=i.rightOperateAreaAppendType,S=i.easyFormProps;var b=n.modelKey,j=n.foldKeys,F=n.fieldNames,q=n.onRequest,z=n.pageSize,x=n.paginationStatus,R=n.initialValues,V=n.form,B=n.onFormFinish;var I=typeof i.children==="function"?i.children(V):i.children;var L=y||"cover";var W=g((function(){if(T(I)){return C.toArray(I.props.children)}else{return C.toArray(I)}}),[I]);var _=m(false),H=_[0],G=_[1];var Q=U(b).useStore(),Y=Q[0],$=Q[1];var J=l.useCallbackRef((function(){return new Promise((function(e,t){var i;return Promise.resolve($.resetFilterCondition()).then((function(n){try{V.resetFields();if(r(f)||f){if(x){q(a((i={},i[F.pageNo]=1,i[F.pageSize]=z,i),R))}else{q(R)}}return e()}catch(e){return t(e)}}),t)}))}));var M=g((function(){var e=[!(o!=null&&o.hidden)?N(K,a({type:"primary",htmlType:"submit"},o,{children:(o==null?void 0:o.text)||"查询"}),"1"):null,!(s!=null&&s.hidden)?N(K,a({onClick:J},s,{children:(s==null?void 0:s.text)||"重置"}),"2"):null].filter(Boolean);var t=u==null?void 0:u(V);var r=t==null?void 0:t.rightList;var i=(t==null?void 0:t.leftList)||[];var n=e;if(r){if(L==="afterAppend"){n=[].concat(e,r)}else if(L==="beforeAppend"){n=[].concat(r,e)}else{n=r}}if(j.length>0){var l=N(K,{type:"link",style:{padding:"0"},onClick:function e(){G(!H)},children:H?w("span",{children:["收起",N(k,{style:{marginLeft:3,fontSize:12}})]}):w("span",{children:["展开",N(P,{style:{marginLeft:3,fontSize:12}})]})},"fold-trigger");if(n.length>0||i.length===0){n.push(l)}else if((i==null?void 0:i.length)>0){i.push(l)}}return W.map((function(e,t){if(!H&&j.find((function(t){return".$"+t===e.key})))return null;if(e.props["hidden"])return null;if(e.type["domTypeName"]==="FormCol")return e;return N(E.Col,{children:e},t)})).filter(Boolean).concat(N(E.OperateCol,a({},t,{leftList:i,rightList:n}),999))}),[W,u,j,V,J,H,o,s,L]);return N(D,{className:t("easy-table-filter",v),style:p,children:N(A,a({form:V,autoComplete:"off",onFinish:B,initialValues:a({},R,Y.queryCondition),className:d,style:i.formStyle,isPure:true,labelWidth:"80",labelAlign:"right",formItemGap:"15"},S,{children:i.isPure?I:N(E.Row,{gutter:[15,0],gridSize:i.formGridSize,children:M})}))})};var Y=function e(){var t=h(O);return t.getEasyTableRef()};var $=function e(){var t=h(O);return{current:t.getEasyTableRef()}};var J=["children","rowKey","pagination","isSync"],M=["tooltip","tipsWrapperProps","title"];var X=function e(r){var i=h(O);var n=r.children,l=r.rowKey,s=r.pagination,u=r.isSync,c=o(r,J);var f=i.modelKey,p=i.fieldNames,m=i.onRequest,v=i.tableDataSource,y=i.initRequest,C=i.pageSize,b=i.tableTotal,F=i.loading,R=i.initialValues,P=i.paginationFixed,k=i.onSetPaginationStatus,T=i.dynamicColumns;var K=U(f).useStore(),A=K[0],E=K[1];V.useEffectCustom((function(){i.onSetBaseColumns(r.columns||[])}),[r.columns]);var W=g((function(){if(P||s===false)return false;return a({showSizeChanger:true,current:A.queryCondition[p.pageNo]||1,pageSize:A.queryCondition[p.pageSize]||C,total:b,showTotal:function e(t){return"共 "+t+" 条记录"}},r.pagination,{selectComponentClass:j})}),[p.pageNo,p.pageSize,C,s,P,r.pagination,A.queryCondition,b]);var _=function e(t,i,n,a){if(a.action==="paginate"&&W){var o;m((o={},o[p.pageSize]=t.pageSize,o[p.pageNo]=t.current,o))}else{r.onChange==null?void 0:r.onChange(t,i,n,a)}};var H=g((function(){if(!v)return undefined;if(v.length===0){return[]}if(typeof l==="string"&&q(v[0][l])){return v.map((function(e){e[l]=z();return e}))}return v}),[v,l]);V.useEffectCustom((function(){var e=P||W!==false;k(e);if(y!==false||!A.isInit){if(e){var t;void m(a((t={},t[p.pageNo]=1,t[p.pageSize]=C,t),R,A.queryCondition))}else{void m(R)}}else{void E.updateFilterCondition(R)}void E.updateInitStatus()}),[]);var G=g((function(){var e=T?T:r.columns;return e.map((function(e){var t=e.tooltip,r=e.tipsWrapperProps,i=e.title,n=o(e,M);if(typeof i==="string"&&r){if(typeof r==="string"){return a({},n,{title:N(L,{tipType:"popover",popoverProps:{content:r},children:i})})}return a({},n,{title:N(L,a({},r,{children:i}))})}if(typeof i==="string"&&!!t){return a({},n,{title:N(I,{tooltip:t,title:i})})}return e}))}),[T,r.columns]);var Q=function e(){if(u&&!H){return w(S,{children:[n,N(d,{size:"small",scroll:{x:"max-content"},bordered:true,columns:G,rowKey:l,loading:true},"1")]})}if(x()){return w(S,{children:[n,N(d,a({size:"small",scroll:{x:"max-content"},bordered:true},c,{columns:G,pagination:W,rowKey:l,onChange:_,loading:F,dataSource:H}),"2")]})}return w(S,{children:[n,N(B,{children:N(d,a({size:"small",scroll:{x:"max-content"},bordered:true},c,{columns:G,pagination:W,rowKey:l,onChange:_,loading:F,dataSource:H}),"3")})]})};return N(D,{className:t("easy-table-table",{"ett-empty-show-small":r.emptyShowSize==="small"},r.tableWrapperClassName),style:r.tableWrapperStyle,children:Q()})};var Z=e.attachPropertiesToComponent(G,{Filter:Q,Table:X,useEasyTablRef:$,useEasyTable:Y});export{Z as EasyTable};
18
+ import{fbaUtils as e}from"../fba-utils/index.js";import{classNames as t}from"@dimjs/utils/cjs/class-names";import{isUndefined as r}from"@dimjs/lang/cjs/is-undefined";import{isArray as i}from"@dimjs/lang/cjs/is-array";import{get as n}from"@dimjs/utils/cjs/get";import{_ as a,a as o}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 c,Table as d}from"antd";import{createContext as f,forwardRef as p,useState as m,useMemo as g,useRef as v,useImperativeHandle as y,useContext as h,Children as C,Fragment as S}from"react";import{P as b,S as j}from"../index-6677fbfc.js";import{noop as F,isUndefinedOrNull as q,getUuid as z,isMacEnv as x}from"@flatbiz/utils";import{Model as w}from"@dimjs/model-react";import{jsx as R,jsxs as N}from"react/jsx-runtime";import P from"@ant-design/icons/es/icons/DownOutlined";import k from"@ant-design/icons/es/icons/UpOutlined";import{isFragment as T}from"react-is";import{B as D}from"../index-1f45bfd5.js";import{ButtonWrapper as K}from"../button-wrapper/index.js";import{EasyForm as A}from"../easy-form/index.js";import{FormGrid as E}from"../form-grid/index.js";import{fbaHooks as V}from"../fba-hooks/index.js";import{TableScrollbar as B}from"../table-scrollbar/index.js";import{TableTitleTooltip as I}from"../table-title-tooltip/index.js";import{TipsWrapper as L}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"../use-responsive-point-21b8c601.js";import"@ant-design/icons/es/icons/QuestionCircleOutlined";var O=f({onRequest:F,tableList:[],getEasyTableRef:function e(){}});var W={queryCondition:{},isInit:true};var _={actions:{updateFilterCondition:function e(t){return function(e){e.queryCondition=a({},e.queryCondition,t)}},resetFilterCondition:function e(t){return function(e){e.queryCondition=a({},W.queryCondition,t)}},updateInitStatus:function e(){return function(e){e.isInit=false}}},state:W};var H={};var U=function e(t){if(!H[t]){H[t]=w(_)}return H[t]};var G=p((function(e,o){var d;var f=m(),p=f[0],h=f[1];var C=m(0),S=C[0],j=C[1];var F=m(false),q=F[0],z=F[1];var x=l.useId(undefined,"easy-table-key");var w=g((function(){if(e.cacheSwitch===true){return location.pathname}if(typeof e.cacheSwitch==="string"){return e.cacheSwitch}return x}),[x,e.cacheSwitch]);var P=U(w).useStore(),k=P[0],T=P[1];var D=e.pageSize||((d=e.initialPaginationParams)==null?void 0:d.pageSize)||10;var K=e.initRequest===undefined?true:e.initRequest;var A=m(false),E=A[0],V=A[1];var B=v();var I=v([]);var L=m(),W=L[0],_=L[1];var H=a({list:"list",total:"total",pageNo:"pageNo",pageSize:"pageSize"},e.fieldNames);var G=u.useForm(e.form),Q=G[0];var Y=l.useCallbackRef((function(t){return new Promise((function(r,a){var o,l,u,d,f,p,m,g,v,y,C,S;var b=function(){try{return r()}catch(e){return a(e)}};var F=function(t){try{z(false);if(e.onRequestErrorHandle){e.onRequestErrorHandle(t)}else{void c.error(t.message)}return b()}catch(e){return a(e)}};try{z(true);return Promise.resolve(T.updateFilterCondition(t)).then((function(t){try{o=t;l=s(o.queryCondition||{});u=e.serviceConfig,d=u.requestParamsAdapter,f=u.onRequest,p=u.requestResultAdapter,m=u.dynamicColumsAdapter;g=d?d(l):l;return Promise.resolve(f(g)).then((function(t){try{v=t||{};B.current=v;e.onDataSourceChange==null?void 0:e.onDataSourceChange(v);y=v;if(p){y=p(v)}if(m){C=m(v,I.current);_(C)}S=n(y,H.list);h(i(S)?S:[]);j(n(y,H.total));z(false);return b()}catch(e){return F(e)}}),F)}catch(e){return F(e)}}),F)}catch(e){F(e)}}))}));var $=l.useCallbackRef((function(e){return new Promise((function(t,r){return Promise.resolve(T.resetFilterCondition()).then((function(i){try{Q.resetFields();if(e){void T.updateFilterCondition(e);Q.setFieldsValue(e)}return t()}catch(e){return r(e)}}),r)}))}));var J=function e(t,r){if(E){var i;return i={},i[H.pageNo]=t,i[H.pageSize]=r||D,i}else{return{}}};var M=l.useCallbackRef((function(t){return new Promise((function(r,i){var n;n=a({},J(1,k.queryCondition[H.pageSize]),e.initialValues,t);return Promise.resolve(T.resetFilterCondition(n)).then((function(e){try{Q.resetFields();if(t){Q.setFieldsValue(t)}void Y(n);return r()}catch(e){return i(e)}}),i)}))}));var X=l.useCallbackRef((function(){return a({},k.queryCondition,Q.getFieldsValue())}));var Z=function t(){return{onRequest:Y,clearQueryCondition:$,getRequestParams:X,onResetRequest:M,form:Q,getDataSource:function e(){return B.current},onFilterDataSource:function e(t){h(t)},onClearDataSource:function e(){j(0);h([])},onUpdateDataSource:function t(r){h(r);B.current=r;e.onDataSourceChange==null?void 0:e.onDataSourceChange(r)}}};y(o,(function(){return Z()}));var ee=function e(t){V(t)};var te=function e(t){I.current=t};var re=function t(){var r=Q.getFieldsValue();if(e.onFormFinish){e.onFormFinish(a({},r,J(1,k.queryCondition[H.pageSize])))}else{void Y(a({},r,J(1,k.queryCondition[H.pageSize])))}};var ie=r(e.isFull)?true:e.isFull;var ne=t("fba-easy-table",{"fba-easy-table-full":ie,"fba-easy-table-filter-fixed":e.filterFixed,"fba-easy-table-pagination-fixed":e.paginationFixed},e.className);var ae=g((function(){return a({showSizeChanger:true,current:k.queryCondition[H.pageNo]||1,pageSize:k.queryCondition[H.pageSize]||D,total:S,showTotal:function e(t){return"共 "+t+" 条记录"}},e.pagination)}),[H.pageNo,H.pageSize,D,e.pagination,k.queryCondition,S]);var oe=l.useCallbackRef((function(t,r){var i,n;void Y((i={},i[H.pageSize]=r,i[H.pageNo]=t,i));(n=e.pagination)==null||n.onChange==null?void 0:n.onChange(t,r)}));var le=t("fba-easy-table-wrapper",{"fba-easy-table-wrapper-inline":e.isInline},e.className);var se=typeof e.children==="function"?e.children(B.current):e.children;return R(O.Provider,{value:{onSetBaseColumns:te,getEasyTableRef:Z,modelKey:w,onRequest:Y,tableDataSource:p,tableTotal:S,loading:q,fieldNames:H,pageSize:D,initRequest:K,initialValues:e.initialValues||{},onSetPaginationStatus:ee,paginationStatus:E,onFormFinish:re,form:Q,paginationFixed:e.paginationFixed||false,foldKeys:e.foldKeys||[],dynamicColumns:W},children:e.paginationFixed?N("div",{className:le,style:e.style,children:[R("div",{className:ne,children:se}),S>0&&R("div",{className:"fba-easy-table-pagination",children:R(b,a({size:"small"},ae,{onChange:oe}))})]}):R("div",{className:le,style:e.style,children:se})})}));var Q=function e(i){var n=h(O);var o=i.queryButtonProps,s=i.resetButtonProps,u=i.filterOperate,c=i.formClassName,d=c===void 0?"":c,f=i.defaultResetButtonTriggerRequest,p=i.filterWrapperStyle,v=i.filterWrapperClassName,y=i.rightOperateAreaAppendType,S=i.easyFormProps;var b=n.modelKey,j=n.foldKeys,F=n.fieldNames,q=n.onRequest,z=n.pageSize,x=n.paginationStatus,w=n.initialValues,V=n.form,B=n.onFormFinish;var I=typeof i.children==="function"?i.children(V):i.children;var L=y||"cover";var W=g((function(){if(T(I)){return C.toArray(I.props.children)}else{return C.toArray(I)}}),[I]);var _=m(false),H=_[0],G=_[1];var Q=U(b).useStore(),Y=Q[0],$=Q[1];var J=l.useCallbackRef((function(){return new Promise((function(e,t){var i;return Promise.resolve($.resetFilterCondition()).then((function(n){try{V.resetFields();if(r(f)||f){if(x){q(a((i={},i[F.pageNo]=1,i[F.pageSize]=z,i),w))}else{q(w)}}return e()}catch(e){return t(e)}}),t)}))}));var M=g((function(){var e=[!(o!=null&&o.hidden)?R(K,a({type:"primary",htmlType:"submit"},o,{children:(o==null?void 0:o.text)||"查询"}),"1"):null,!(s!=null&&s.hidden)?R(K,a({onClick:J},s,{children:(s==null?void 0:s.text)||"重置"}),"2"):null].filter(Boolean);var t=u==null?void 0:u(V);var r=t==null?void 0:t.rightList;var i=(t==null?void 0:t.leftList)||[];var n=e;if(r){if(L==="afterAppend"){n=[].concat(e,r)}else if(L==="beforeAppend"){n=[].concat(r,e)}else{n=r}}if(j.length>0){var l=R(K,{type:"link",style:{padding:"0"},onClick:function e(){G(!H)},children:H?N("span",{children:["收起",R(k,{style:{marginLeft:3,fontSize:12}})]}):N("span",{children:["展开",R(P,{style:{marginLeft:3,fontSize:12}})]})},"fold-trigger");if(n.length>0||i.length===0){n.push(l)}else if((i==null?void 0:i.length)>0){i.push(l)}}return W.map((function(e,t){if(!H&&j.find((function(t){return".$"+t===e.key})))return null;if(e.props["hidden"])return null;if(e.type["domTypeName"]==="FormCol")return e;return R(E.Col,{children:e},t)})).filter(Boolean).concat(R(E.OperateCol,a({},t,{leftList:i,rightList:n}),999))}),[W,u,j,V,J,H,o,s,L]);return R(D,{className:t("easy-table-filter",v),style:p,children:R(A,a({form:V,autoComplete:"off",onFinish:B,initialValues:a({},w,Y.queryCondition),className:d,style:i.formStyle,isPure:true,labelWidth:"80",labelAlign:"right",formItemGap:"15"},S,{children:i.isPure?I:R(E.Row,{gutter:[15,0],gridSize:i.formGridSize,children:M})}))})};var Y=function e(){var t=h(O);return t.getEasyTableRef()};var $=function e(){var t=h(O);return{current:t.getEasyTableRef()}};var J=["children","rowKey","pagination","isSync"],M=["tooltip","tipsWrapperProps","title"];var X=function e(r){var i=h(O);var n=r.children,l=r.rowKey,s=r.pagination,u=r.isSync,c=o(r,J);var f=i.modelKey,p=i.fieldNames,m=i.onRequest,v=i.tableDataSource,y=i.initRequest,C=i.pageSize,b=i.tableTotal,F=i.loading,w=i.initialValues,P=i.paginationFixed,k=i.onSetPaginationStatus,T=i.dynamicColumns;var K=U(f).useStore(),A=K[0],E=K[1];V.useEffectCustom((function(){i.onSetBaseColumns(r.columns||[])}),[r.columns]);var W=g((function(){if(P||s===false)return false;return a({showSizeChanger:true,current:A.queryCondition[p.pageNo]||1,pageSize:A.queryCondition[p.pageSize]||C,total:b,showTotal:function e(t){return"共 "+t+" 条记录"}},r.pagination,{selectComponentClass:j})}),[p.pageNo,p.pageSize,C,s,P,r.pagination,A.queryCondition,b]);var _=function e(t,i,n,a){if(a.action==="paginate"&&W){var o;m((o={},o[p.pageSize]=t.pageSize,o[p.pageNo]=t.current,o))}else{r.onChange==null?void 0:r.onChange(t,i,n,a)}};var H=g((function(){if(!v)return undefined;if(v.length===0){return[]}if(typeof l==="string"&&q(v[0][l])){return v.map((function(e){e[l]=z();return e}))}return v}),[v,l]);V.useEffectCustom((function(){var e=P||W!==false;k(e);if(y!==false||!A.isInit){if(e){var t;void m(a((t={},t[p.pageNo]=1,t[p.pageSize]=C,t),w,A.queryCondition))}else{void m(w)}}else{void E.updateFilterCondition(w)}void E.updateInitStatus()}),[]);var G=g((function(){var e=T?T:r.columns;return e.map((function(e){var t=e.tooltip,r=e.tipsWrapperProps,i=e.title,n=o(e,M);if(typeof i==="string"&&r){if(typeof r==="string"){return a({},n,{title:R(L,{tipType:"popover",popoverProps:{content:r},children:i})})}return a({},n,{title:R(L,a({},r,{children:i}))})}if(typeof i==="string"&&!!t){return a({},n,{title:R(I,{tooltip:t,title:i})})}return e}))}),[T,r.columns]);var Q=function e(){if(u&&!H){return N(S,{children:[n,R(d,{size:"small",scroll:{x:"max-content"},bordered:true,columns:G,rowKey:l,loading:true},"1")]})}if(x()){return N(S,{children:[n,R(d,a({size:"small",scroll:{x:"max-content"},bordered:true},c,{columns:G,pagination:W,rowKey:l,onChange:_,loading:F,dataSource:H}),"2")]})}return N(S,{children:[n,R(B,{children:R(d,a({size:"small",scroll:{x:"max-content"},bordered:true},c,{columns:G,pagination:W,rowKey:l,onChange:_,loading:F,dataSource:H}),"3")})]})};return R(D,{className:t("easy-table-table",{"ett-empty-show-small":r.emptyShowSize==="small"},r.tableWrapperClassName),style:r.tableWrapperStyle,children:Q()})};var Z=e.attachPropertiesToComponent(G,{Filter:Q,Table:X,useEasyTablRef:$,useEasyTable:Y});export{Z as EasyTable};
19
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/easy-table/context.ts","@flatbiz/antd/src/easy-table/model.ts","@flatbiz/antd/src/easy-table/easy-table.tsx","@flatbiz/antd/src/easy-table/filter.tsx","@flatbiz/antd/src/easy-table/hooks.ts","@flatbiz/antd/src/easy-table/table.tsx","@flatbiz/antd/src/easy-table/index.ts"],"sourcesContent":["import { noop, TPlainObject } from '@flatbiz/utils';\nimport { FormInstance } from 'antd';\nimport { createContext } from 'react';\nimport { EasyTableRefApi, TEasyTableTableColumn } from './type';\n\n// export const [useEasyTableCtx, EasyTableCtxProvider] = createCtx<{\n// modelKey: string;\n// onRequest: (params?: TPlainObject) => void;\n// tableList: TPlainObject[];\n// tableTotal: number;\n// loading?: boolean;\n// fieldNames: TPlainObject;\n// pageSize: number;\n// initRequest: boolean;\n// initialValues: TPlainObject;\n// onSetPaginationStatus: (status: boolean) => void;\n// paginationStatus: boolean;\n// onFormFinish?: (values?: TPlainObject) => void;\n// form: FormInstance;\n// getEasyTableRef: () => EasyTableRefApi;\n// paginationFixed: boolean;\n// foldKeys: string[];\n// }>();\n\nexport type EditableFieldContextContextApi = {\n modelKey: string;\n onRequest: (params?: TPlainObject) => void;\n tableDataSource?: TPlainObject[];\n tableTotal: number;\n loading?: boolean;\n fieldNames: TPlainObject;\n pageSize: number;\n initRequest: boolean;\n initialValues: TPlainObject;\n onSetPaginationStatus: (status: boolean) => void;\n paginationStatus: boolean;\n onFormFinish?: (values?: TPlainObject) => void;\n form: FormInstance;\n getEasyTableRef: () => EasyTableRefApi;\n paginationFixed: boolean;\n foldKeys: string[];\n dynamicColumns?: TEasyTableTableColumn<TPlainObject>[];\n onSetBaseColumns: (baseColumns?: TEasyTableTableColumn<TPlainObject>[]) => void;\n};\n\nexport const EasyTableContext = createContext<EditableFieldContextContextApi>({\n onRequest: noop,\n tableList: [],\n getEasyTableRef: () => {\n //\n },\n} as unknown as EditableFieldContextContextApi);\n","import { API, ModelType } from '@dimjs/model';\nimport { Model } from '@dimjs/model-react';\nimport { TAny, TPlainObject } from '@flatbiz/utils';\n\nexport type ModelState = {\n queryCondition: TPlainObject;\n isInit: boolean;\n};\n\ntype ModelActionParams = {\n updateFilterCondition?: Partial<ModelState['queryCondition']>;\n resetFilterCondition?: TPlainObject;\n updateInitStatus: void;\n};\n\nconst defaultState: ModelState = {\n queryCondition: {},\n isInit: true,\n};\n\nconst _EasyTableModel: ModelType<ModelState, ModelActionParams> = {\n actions: {\n updateFilterCondition: (params) => {\n return (state) => {\n state.queryCondition = {\n ...state.queryCondition,\n ...params,\n };\n };\n },\n resetFilterCondition: (params) => {\n return (state) => {\n state.queryCondition = {\n ...defaultState.queryCondition,\n ...params,\n };\n };\n },\n updateInitStatus: () => {\n return (state) => {\n state.isInit = false;\n };\n },\n },\n state: defaultState,\n};\n\nconst easyTableModels: Record<string, API<ModelType<ModelState, ModelActionParams, TAny>>> = {};\n\n/**\n * ```\n * 使用方式\n * const [state, actions] = selectorWrapperModel('key值').useStore();\n * ```\n */\nexport const easyTableModel = (key: string) => {\n if (!easyTableModels[key]) {\n easyTableModels[key] = Model(_EasyTableModel);\n }\n return easyTableModels[key];\n};\n","import { isArray, isUndefined } from '@dimjs/lang';\nimport { cloneState } from '@dimjs/model';\nimport { classNames, get } from '@dimjs/utils';\nimport { TAny, TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Form, FormInstance, message, PaginationProps } from 'antd';\nimport {\n CSSProperties,\n forwardRef,\n ReactElement,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { PaginationWrapper } from '../pagination-wrapper';\nimport { EasyTableContext } from './context';\nimport { easyTableModel } from './model';\nimport './style.less';\nimport { EasyTableRefApi, TEasyTableTableColumn } from './type';\n\ntype EasyTableServiceConfig = {\n /** 接口配置 */\n onRequest: (params?: TPlainObject) => Promise<TPlainObject | TPlainObject[]>;\n /** 请求参数处理 */\n requestParamsAdapter?: (params: TPlainObject) => TPlainObject;\n /**\n * 接口相应数据处理\n * ```\n * 返回数据为对象,包含两个字段\n * 1. 表格列表数据 - Array\n * 2. 表格条数总数 - Number\n * 其中 字段key 命名会通过 fieldNames 进行转义\n * 例如:\n * fieldNames={{\n * list: 'aList',\n * total: 'aTotal',\n * }}\n * serviceConfig={{\n * url: '/v1/board/list',\n * requestResultAdapter: (respData) => {\n * return {\n * aList: respData.data.rows,\n * aTotal: respData.page.total,\n * };\n * },\n * }}\n * ```\n */\n requestResultAdapter?: (params: TAny) => TPlainObject;\n /**\n * 动态列自定义渲染\n * ```\n * 1. respData: 接口返回数据\n * 2. columns: Table columns配置项\n * ```\n *\n */\n dynamicColumsAdapter?: (\n respData?: TAny,\n columns?: TEasyTableTableColumn<TPlainObject>[],\n ) => TEasyTableTableColumn<TPlainObject>[] | undefined;\n};\n\nexport type EasyTableProps = {\n className?: string;\n style?: CSSProperties;\n children: ReactElement | ReactElement[] | ((dataSource?: TAny) => ReactElement);\n /**\n * EasyTable唯一值,可用于缓存查询条件\n * @deprecated 已过时,如果需要缓存数据请设置 cacheSwitch 参数\n */\n modelKey?: string;\n /**\n * 缓存查询条件开关,默认false\n * ```\n * 是否缓存表格查询条件,在路由跳转回来时,不会丢失\n * ```\n */\n cacheSwitch?: boolean;\n /** 接口数据配置 */\n serviceConfig: EasyTableServiceConfig;\n /**\n * 1. 查询条件Form initialValues\n * 2. 接口其他参数,例如常量类型\n */\n initialValues?: TPlainObject;\n /**\n * 分页初始化参数,默认值: pageSize = 10\n * @deprecated 已过时 4.3.0版本移除,使用 pageSize 赋值\n */\n initialPaginationParams?: { pageSize?: number };\n /** 分页单页条数,默认值:10 */\n pageSize?: number;\n /**\n * 字段映射,默认值:{ list:'list', total:'total', pageNo:'pageNo', pageSize:'pageSize' }\n * ```\n * 1. list、total用于解析接口响应数据,可以配置多级,例如:{ list: 'data.rows', total: 'page.total' }\n * 2. pageNo、pageSize用于接口分页入参Key定义,只能一级,例如:pageNo: 'page'\n * ```\n */\n fieldNames?: {\n list?: string;\n total?: string;\n pageNo?: string;\n pageSize?: string;\n };\n /** 初始化是否请求,默认值:true */\n initRequest?: boolean;\n /** 表格数据变更回调 */\n onDataSourceChange?: (dataSource: TAny) => void;\n /** 如果自定义查询按钮,可设置 Form onFinish */\n onFormFinish?: (values?: TPlainObject) => void;\n /** 在父节点高度下,上下铺满;默认值:true */\n isFull?: boolean;\n /** 查询条件固定,不随滚动条滚动 */\n filterFixed?: boolean;\n /** 分页区域固定,不随滚动条滚动 */\n paginationFixed?: boolean;\n /**\n * 1. 配合paginationFixed=true一起使用有效果\n * 2. 当使用Table内的pagination时,在EasyTable.Table中配置分页属性\n */\n pagination?: PaginationProps;\n /**\n * 查询条件展开、收起,被收起key数组;数组内容为EasyTable.Filter 子节点key值\n */\n foldKeys?: string[];\n /** 自定义处理服务异常 */\n onRequestErrorHandle?: (error) => void;\n /**\n * 是否inline模式\n * ```\n * 1. 缩短 EasyTable.Filter 与 EasyTable.Table 之间的距离\n * 2. 取消内边距\n * ```\n */\n isInline?: boolean;\n /** Form 实例 */\n form?: FormInstance;\n};\n\nexport const EasyTable = forwardRef<EasyTableRefApi, EasyTableProps>((props, ref) => {\n const [dataSource, setDataSource] = useState<TPlainObject[]>();\n const [total, setTotal] = useState<number>(0);\n const [loading, setLoading] = useState<boolean>(false);\n const easyTableId = hooks.useId(undefined, 'easy-table-key');\n\n const modelKey = useMemo(() => {\n return props.cacheSwitch ? location.pathname : easyTableId;\n }, [easyTableId, props.cacheSwitch]);\n\n const [state, actions] = easyTableModel(modelKey).useStore();\n const pageSize = props.pageSize || props.initialPaginationParams?.pageSize || 10;\n const initRequest = props.initRequest === undefined ? true : props.initRequest;\n const [paginationStatus, setPaginationStatus] = useState(false);\n const respOriginalDataRef = useRef<TAny>();\n const baseColumnsRef = useRef<TEasyTableTableColumn<TPlainObject>[]>([]);\n const [dynamicColumns, setDynamicColumns] = useState<TEasyTableTableColumn<TPlainObject>[]>();\n\n const fieldNames = {\n list: 'list',\n total: 'total',\n pageNo: 'pageNo',\n pageSize: 'pageSize',\n ...props.fieldNames,\n };\n\n const [form] = Form.useForm(props.form);\n\n const onInnerRequest = hooks.useCallbackRef(async (params) => {\n try {\n setLoading(true);\n const allState = await actions.updateFilterCondition(params);\n const queryCondition = cloneState(allState.queryCondition || {});\n const { requestParamsAdapter, onRequest, requestResultAdapter, dynamicColumsAdapter } =\n props.serviceConfig;\n const paramsNew = requestParamsAdapter ? requestParamsAdapter(queryCondition) : queryCondition;\n const respData = (await onRequest(paramsNew)) || {};\n respOriginalDataRef.current = respData;\n props.onDataSourceChange?.(respData);\n let respDataNew: TPlainObject = respData;\n if (requestResultAdapter) {\n respDataNew = requestResultAdapter(respData);\n }\n if (dynamicColumsAdapter) {\n const dynamicColumns = dynamicColumsAdapter(respData, baseColumnsRef.current);\n /** 不要添加默认值 */\n setDynamicColumns(dynamicColumns);\n }\n const respList = get(respDataNew, fieldNames.list);\n setDataSource(isArray(respList) ? respList : []);\n setTotal(get(respDataNew, fieldNames.total));\n setLoading(false);\n } catch (error) {\n setLoading(false);\n if (props.onRequestErrorHandle) {\n props.onRequestErrorHandle(error);\n } else {\n void message.error(error.message);\n }\n }\n });\n\n const clearQueryCondition = hooks.useCallbackRef(async (values?: TPlainObject) => {\n await actions.resetFilterCondition();\n form.resetFields();\n if (values) {\n void actions.updateFilterCondition(values);\n form.setFieldsValue(values);\n }\n });\n\n const getPaginationData = (pageNo: number, _pageSize: number) => {\n if (paginationStatus) {\n return {\n [fieldNames.pageNo]: pageNo,\n [fieldNames.pageSize]: _pageSize || pageSize,\n };\n } else {\n return {};\n }\n };\n\n const onResetRequest = hooks.useCallbackRef(async (values?: TPlainObject) => {\n const params = {\n ...getPaginationData(1, state.queryCondition[fieldNames.pageSize]),\n ...props.initialValues,\n ...values,\n };\n await actions.resetFilterCondition(params);\n form.resetFields();\n if (values) {\n form.setFieldsValue(values);\n }\n void onInnerRequest(params);\n });\n\n const getRequestParams = hooks.useCallbackRef(() => {\n return {\n ...state.queryCondition,\n ...form.getFieldsValue(),\n };\n });\n\n const getEasyTableRef = () => {\n return {\n /**\n * 参数\n * 1. 不用添加已存在的搜索条件\n * 2. 此处可重新\n */\n onRequest: onInnerRequest,\n clearQueryCondition,\n getRequestParams,\n onResetRequest,\n form,\n getDataSource: () => {\n return respOriginalDataRef.current;\n },\n onFilterDataSource: (filterDataSource) => {\n setDataSource(filterDataSource);\n },\n onClearDataSource: () => {\n setTotal(0);\n setDataSource([]);\n },\n onUpdateDataSource: (dataList) => {\n setDataSource(dataList);\n respOriginalDataRef.current = dataList;\n props.onDataSourceChange?.(dataList);\n },\n };\n };\n\n useImperativeHandle(ref, () => {\n return getEasyTableRef();\n });\n\n const onSetPaginationStatus = (status: boolean) => {\n setPaginationStatus(status);\n };\n const onSetBaseColumns = (base) => {\n baseColumnsRef.current = base;\n };\n\n const onFormFinish = () => {\n const values = form.getFieldsValue();\n if (props.onFormFinish) {\n props.onFormFinish({\n ...values,\n ...getPaginationData(1, state.queryCondition[fieldNames.pageSize]),\n });\n } else {\n void onInnerRequest({\n ...values,\n ...getPaginationData(1, state.queryCondition[fieldNames.pageSize]),\n });\n }\n };\n const isFull = isUndefined(props.isFull) ? true : props.isFull;\n const className = classNames(\n 'fba-easy-table',\n {\n 'fba-easy-table-full': isFull,\n 'fba-easy-table-filter-fixed': props.filterFixed,\n 'fba-easy-table-pagination-fixed': props.paginationFixed,\n },\n props.className,\n );\n\n const paginationData = useMemo(() => {\n return {\n showSizeChanger: true,\n current: state.queryCondition[fieldNames.pageNo] || 1,\n pageSize: state.queryCondition[fieldNames.pageSize] || pageSize,\n total: total,\n showTotal: (total) => `共 ${total} 条记录`,\n ...props.pagination,\n };\n }, [fieldNames.pageNo, fieldNames.pageSize, pageSize, props.pagination, state.queryCondition, total]);\n\n const onChange = hooks.useCallbackRef((page: number, pageSize: number) => {\n void onInnerRequest({\n [fieldNames.pageSize]: pageSize,\n [fieldNames.pageNo]: page,\n });\n props.pagination?.onChange?.(page, pageSize);\n });\n\n const wrapperClassName = classNames(\n 'fba-easy-table-wrapper',\n {\n 'fba-easy-table-wrapper-inline': props.isInline,\n },\n props.className,\n );\n\n const children =\n typeof props.children === 'function' ? props.children(respOriginalDataRef.current) : props.children;\n\n return (\n <EasyTableContext.Provider\n value={{\n onSetBaseColumns,\n getEasyTableRef,\n modelKey,\n onRequest: onInnerRequest,\n tableDataSource: dataSource,\n tableTotal: total,\n loading,\n fieldNames,\n pageSize,\n initRequest,\n initialValues: props.initialValues || {},\n onSetPaginationStatus,\n paginationStatus,\n onFormFinish,\n form,\n paginationFixed: props.paginationFixed || false,\n foldKeys: props.foldKeys || [],\n dynamicColumns,\n }}\n >\n {props.paginationFixed ? (\n <div className={wrapperClassName} style={props.style}>\n <div className={className}>{children}</div>\n {total > 0 && (\n <div className=\"fba-easy-table-pagination\">\n <PaginationWrapper size=\"small\" {...paginationData} onChange={onChange} />\n </div>\n )}\n </div>\n ) : (\n <div className={wrapperClassName} style={props.style}>\n {children}\n </div>\n )}\n </EasyTableContext.Provider>\n );\n});\n","import { DownOutlined, UpOutlined } from '@ant-design/icons';\nimport { isUndefined } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { TAny } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { FormInstance } from 'antd';\nimport { Children, CSSProperties, ReactElement, useContext, useMemo, useState } from 'react';\nimport { isFragment } from 'react-is';\nimport { BlockLayout } from '../block-layout';\nimport { ButtonWrapper, ButtonWrapperProps } from '../button-wrapper';\nimport { EasyForm, EasyFormProps } from '../easy-form';\nimport { FormGrid } from '../form-grid';\nimport { FormOperateColProps } from '../form-grid/form-operate-col';\nimport { FormRowProps } from '../form-grid/form-row';\nimport { EasyTableContext } from './context';\nimport { easyTableModel } from './model';\n\nexport type EasyTableFilterProps = {\n children: ReactElement | ReactElement[] | ((form: FormInstance) => ReactElement);\n /** isPure = true时无效 */\n filterOperate?: (form: FormInstance) => FormOperateColProps;\n /** 是否为纯净模式(查询条件布局是否自定义), */\n isPure?: boolean;\n /** 查询按钮配置 */\n queryButtonProps?: Omit<ButtonWrapperProps, 'onClick'> & { text?: string };\n /** 重置按钮配置 */\n resetButtonProps?: Omit<ButtonWrapperProps, 'onClick'> & { text?: string };\n /**\n * 网格布局设置\n * default = { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 };\n * small = { xs: 24, sm: 8, md: 8, lg: 6, xl: 6, xxl: 6 };\n */\n formGridSize?: FormRowProps['gridSize'];\n /**\n * @deprecated已过期,使用 easyFormProps.className 配置\n */\n formClassName?: string;\n /**\n * @deprecated已过期,使用 easyFormProps.style 配置\n */\n formStyle?: CSSProperties;\n /** filter Form 外层 BlockLayout style */\n filterWrapperStyle?: CSSProperties;\n /** filter Form 外层 BlockLayout className */\n filterWrapperClassName?: string;\n /**\n * 自定义 filterOperate.rightList 后 默认【查询、重置】按钮处理逻辑\n * 1. cover:覆盖内部查询重置按钮(默认值)\n * 2. beforeAppend:添加到【查询重置】按钮前面\n * 3. afterAppend:添加到【查询重置】按钮后面\n *\n * 如果想隐藏【查询、重置】按钮中的某一个,可设置 queryButtonProps.hidden、resetButtonProps.hidden\n */\n rightOperateAreaAppendType?: 'cover' | 'beforeAppend' | 'afterAppend';\n /** 默认重启按钮触发请求,默认值:true */\n defaultResetButtonTriggerRequest?: boolean;\n easyFormProps?: Omit<\n EasyFormProps,\n 'isPure' | 'column' | 'forceColumn' | 'width' | 'gridGutter' | 'children'\n >;\n};\n\n/**\n * 过滤条件\n *```\n * 1. 用法1\n * -- 默认网格布局 规则:{ xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 }\n * <EasyTableFilter>\n * <FormItemWrapper name=\"field1\" label=\"条件1\">xxx</FormItemWrapper>\n * </EasyTableFilter>\n *\n * -- 自定义网格布局 使用 FormCol组件包装 FormItemWrapper\n * <EasyTableFilter>\n * <FormCol span={12}><FormItemWrapper name=\"field1\" label=\"条件1\">xxx</FormItemWrapper></FormCol>\n * </EasyTableFilter>\n *\n * -- children 可为 function\n * <EasyTableFilter>\n * {(form) => {\n * return <FormItemWrapper name=\"field1\" label=\"条件1\">xxx</FormItemWrapper>\n * }}\n * </EasyTableFilter>\n *\n * 2. 用户2(自定义布局)\n * EasyTableFilter设置 isPure = true,FormItem无布局规则\n * 3. EasyTableFilter中内置了 Form 标签,当children为函数时,可获取form实例\n * 4. 默认布局下,可通过设置 filterOperate 设置操作按钮\n * 5. Filter 子节点包含 hidden = true 会被忽略\n * 6. 如果想隐藏【查询、重置】按钮中的某一个,可设置 queryButtonProps.hidden、resetButtonProps.hidden\n * 7. 通过设置 defaultResetButtonTriggerRequest,默认重启按钮触发请求,默认值:true\n * 8. EasyTableFilter 子节点可使用 FormItemWrapper,FormItemWrapper中可配置label宽度等\n *```\n */\nexport const EasyTableFilter = (props: EasyTableFilterProps) => {\n const ctx = useContext(EasyTableContext);\n const {\n queryButtonProps,\n resetButtonProps,\n filterOperate,\n formClassName = '',\n defaultResetButtonTriggerRequest,\n filterWrapperStyle,\n filterWrapperClassName,\n rightOperateAreaAppendType,\n easyFormProps,\n } = props;\n const {\n modelKey,\n foldKeys,\n fieldNames,\n onRequest,\n pageSize,\n paginationStatus,\n initialValues,\n form,\n onFormFinish,\n } = ctx;\n const children = typeof props.children === 'function' ? props.children(form) : props.children;\n\n const rightOperateAreaAppendTypeFt = rightOperateAreaAppendType || 'cover';\n const childrens = useMemo(() => {\n if (isFragment(children)) {\n return Children.toArray((children as ReactElement).props.children) as ReactElement[];\n } else {\n return Children.toArray(children) as ReactElement[];\n }\n }, [children]);\n\n const [openFold, setOpenFold] = useState(false);\n\n const [state, actions] = easyTableModel(modelKey).useStore();\n\n const onReset = hooks.useCallbackRef(async () => {\n await actions.resetFilterCondition();\n form.resetFields();\n if (isUndefined(defaultResetButtonTriggerRequest) || defaultResetButtonTriggerRequest) {\n if (paginationStatus) {\n onRequest({\n [fieldNames.pageNo]: 1,\n [fieldNames.pageSize]: pageSize,\n ...initialValues,\n });\n } else {\n onRequest(initialValues);\n }\n }\n });\n\n const formRowChildren = useMemo(() => {\n const defaultRightList = [\n !queryButtonProps?.hidden ? (\n <ButtonWrapper key=\"1\" type=\"primary\" htmlType=\"submit\" {...queryButtonProps}>\n {queryButtonProps?.text || '查询'}\n </ButtonWrapper>\n ) : null,\n !resetButtonProps?.hidden ? (\n <ButtonWrapper key=\"2\" onClick={onReset} {...resetButtonProps}>\n {resetButtonProps?.text || '重置'}\n </ButtonWrapper>\n ) : null,\n ].filter(Boolean);\n const customFormOperateCol = filterOperate?.(form);\n const customRightList = customFormOperateCol?.rightList;\n const leftList: TAny[] = customFormOperateCol?.leftList || [];\n\n let rightList: TAny[] = defaultRightList;\n if (customRightList) {\n if (rightOperateAreaAppendTypeFt === 'afterAppend') {\n rightList = [...defaultRightList, ...customRightList];\n } else if (rightOperateAreaAppendTypeFt === 'beforeAppend') {\n rightList = [...customRightList, ...defaultRightList];\n } else {\n rightList = customRightList;\n }\n }\n\n if (foldKeys.length > 0) {\n const changeFolditem = (\n <ButtonWrapper\n type=\"link\"\n key=\"fold-trigger\"\n style={{ padding: '0' }}\n onClick={() => {\n setOpenFold(!openFold);\n }}\n >\n {openFold ? (\n <span>\n 收起\n <UpOutlined style={{ marginLeft: 3, fontSize: 12 }} />\n </span>\n ) : (\n <span>\n 展开\n <DownOutlined style={{ marginLeft: 3, fontSize: 12 }} />\n </span>\n )}\n </ButtonWrapper>\n );\n\n if (rightList.length > 0 || leftList.length === 0) {\n rightList.push(changeFolditem);\n } else if (leftList?.length > 0) {\n leftList.push(changeFolditem);\n }\n }\n\n return childrens\n .map((item, index) => {\n if (!openFold && foldKeys.find((keyItem) => `.$${keyItem}` === item.key)) return null;\n if (item.props['hidden']) return null;\n if (item.type['domTypeName'] === 'FormCol') return item;\n return <FormGrid.Col key={index}>{item}</FormGrid.Col>;\n })\n .filter(Boolean)\n .concat(\n <FormGrid.OperateCol key={999} {...customFormOperateCol} leftList={leftList} rightList={rightList} />,\n );\n }, [\n childrens,\n filterOperate,\n foldKeys,\n form,\n onReset,\n openFold,\n queryButtonProps,\n resetButtonProps,\n rightOperateAreaAppendTypeFt,\n ]);\n\n return (\n <BlockLayout\n className={classNames('easy-table-filter', filterWrapperClassName)}\n style={filterWrapperStyle}\n >\n <EasyForm\n form={form}\n autoComplete=\"off\"\n onFinish={onFormFinish}\n initialValues={{\n ...initialValues,\n ...state.queryCondition,\n }}\n className={formClassName}\n style={props.formStyle}\n isPure={true}\n labelWidth=\"80\"\n labelAlign=\"right\"\n formItemGap=\"15\"\n {...easyFormProps}\n >\n {props.isPure ? (\n children\n ) : (\n <FormGrid.Row gutter={[15, 0]} gridSize={props.formGridSize}>\n {formRowChildren}\n </FormGrid.Row>\n )}\n </EasyForm>\n </BlockLayout>\n );\n};\n","import { useContext } from 'react';\nimport { EasyTableContext } from './context';\n\n/**\n * 在 EasyTable子组件内才可使用\n * @returns\n */\nexport const useEasyTable = () => {\n const ctx = useContext(EasyTableContext);\n return ctx.getEasyTableRef();\n};\n\n/**\n *\n * @deprecated 已过时 @4.3.0版本移除,请使用 useEasyTable\n * @returns\n */\nexport const useEasyTablRef = () => {\n const ctx = useContext(EasyTableContext);\n return {\n current: ctx.getEasyTableRef(),\n };\n};\n","import { classNames } from '@dimjs/utils';\nimport { getUuid, isMacEnv, isUndefinedOrNull, TAny, TPlainObject } from '@flatbiz/utils';\nimport { Table, TableProps } from 'antd';\nimport { CSSProperties, Fragment, ReactElement, useContext, useMemo } from 'react';\nimport { BlockLayout } from '../block-layout';\nimport { fbaHooks } from '../fba-hooks';\nimport { SmallSelect } from '../pagination-wrapper/select';\nimport { TableScrollbar } from '../table-scrollbar';\nimport { TableTitleTooltip } from '../table-title-tooltip';\nimport { TipsWrapper } from '../tips-wrapper';\nimport { EasyTableContext } from './context';\nimport { easyTableModel } from './model';\nimport { TEasyTableTableColumn } from './type';\n\nexport type EasyTableTableProps<T> = Omit<\n TableProps<TAny>,\n 'dataSource' | 'loading' | 'rowKey' | 'columns'\n> & {\n children?: ReactElement | ReactElement[];\n /**\n * 表格行 key 的取值,\n * ```\n * 如果 rowKey 为string类型\n * 1. 组件会判断表格列表数据第一条是否存在当前rowKey对象的数据,如果没有组件内部会动态添加唯一值\n * 2. 基于上一条的逻辑,如果表格数据没有唯一值,可指定 rowKey 值为table数据中不存在的字段名,例如:rowKey=\"_uid\"\n * 3. 如果触发上述逻辑,表格数据中会多出rowKey对应的键值对数据\n * ```\n */\n rowKey: TableProps<TAny>['rowKey'];\n /** table Form 外层 SimpleLayout className */\n tableWrapperStyle?: CSSProperties;\n /** table Form 外层 SimpleLayout className */\n tableWrapperClassName?: string;\n columns: TEasyTableTableColumn<T>[];\n /**\n * 数据加载与表格初始化渲染 是否同步\n * @version 4.4.6\n * ```\n * 1. true:获取数据后再初始化渲染表格(可用于实现表格中defaultXxxx相关功能的使用)\n * ```\n */\n isSync?: boolean;\n /**\n * 空效果显示尺寸,默认值:small\n * @version 4.4.6\n */\n emptyShowSize?: 'small' | 'large';\n};\n\n/**\n * 表格渲染\n * @param props\n * ```\n * 1. 继承了 TableProps 可设置antd table功能\n * 2. 分页功能已内置处理,不调用 onChange\n * ```\n */\nexport const EasyTableTable = <T extends TPlainObject>(props: EasyTableTableProps<T>) => {\n const ctx = useContext(EasyTableContext);\n const { children, rowKey, pagination, isSync, ...otherProps } = props;\n\n const {\n modelKey,\n fieldNames,\n onRequest,\n tableDataSource,\n initRequest,\n pageSize,\n tableTotal,\n loading,\n initialValues,\n paginationFixed,\n onSetPaginationStatus,\n dynamicColumns,\n } = ctx;\n const [state, actions] = easyTableModel(modelKey).useStore();\n\n fbaHooks.useEffectCustom(() => {\n ctx.onSetBaseColumns((props.columns || []) as TEasyTableTableColumn<TPlainObject>[]);\n }, [props.columns]);\n\n const tablePaginationData = useMemo(() => {\n if (paginationFixed || pagination === false) return false;\n return {\n showSizeChanger: true,\n current: state.queryCondition[fieldNames.pageNo] || 1,\n pageSize: state.queryCondition[fieldNames.pageSize] || pageSize,\n total: tableTotal,\n showTotal: (total) => `共 ${total} 条记录`,\n ...props.pagination,\n selectComponentClass: SmallSelect,\n };\n }, [\n fieldNames.pageNo,\n fieldNames.pageSize,\n pageSize,\n pagination,\n paginationFixed,\n props.pagination,\n state.queryCondition,\n tableTotal,\n ]);\n\n const onChangePage: TableProps<TAny>['onChange'] = (pagination, filters, sorter, extra) => {\n if (extra.action === 'paginate' && tablePaginationData) {\n onRequest({\n [fieldNames.pageSize]: pagination.pageSize,\n [fieldNames.pageNo]: pagination.current,\n });\n } else {\n props.onChange?.(pagination, filters, sorter, extra);\n }\n };\n\n const dataSource = useMemo(() => {\n if (!tableDataSource) return undefined;\n if (tableDataSource.length === 0) {\n return [];\n }\n if (typeof rowKey === 'string' && isUndefinedOrNull(tableDataSource[0][rowKey])) {\n return tableDataSource.map((item) => {\n item[rowKey] = getUuid();\n return item;\n });\n }\n return tableDataSource;\n }, [tableDataSource, rowKey]);\n\n fbaHooks.useEffectCustom(() => {\n const hasPagination = paginationFixed || tablePaginationData !== false;\n onSetPaginationStatus(hasPagination);\n if (initRequest !== false || !state.isInit) {\n if (hasPagination) {\n void onRequest({\n [fieldNames.pageNo]: 1,\n [fieldNames.pageSize]: pageSize,\n ...initialValues,\n ...state.queryCondition,\n });\n } else {\n void onRequest(initialValues);\n }\n } else {\n void actions.updateFilterCondition(initialValues);\n }\n void actions.updateInitStatus();\n }, []);\n\n const columns = useMemo(() => {\n const columns = dynamicColumns ? dynamicColumns : props.columns;\n\n return columns.map((item) => {\n const { tooltip, tipsWrapperProps, title, ...otherProps } = item;\n if (typeof title === 'string' && tipsWrapperProps) {\n if (typeof tipsWrapperProps === 'string') {\n return {\n ...otherProps,\n title: (\n <TipsWrapper tipType=\"popover\" popoverProps={{ content: tipsWrapperProps }}>\n {title}\n </TipsWrapper>\n ),\n };\n }\n return {\n ...otherProps,\n title: <TipsWrapper {...tipsWrapperProps}>{title}</TipsWrapper>,\n };\n }\n if (typeof title === 'string' && !!tooltip) {\n return {\n ...otherProps,\n title: <TableTitleTooltip tooltip={tooltip} title={title}></TableTitleTooltip>,\n };\n }\n return item;\n });\n }, [dynamicColumns, props.columns]);\n\n const tableRender = () => {\n if (isSync && !dataSource) {\n /** loading表格 */\n return (\n <Fragment>\n {children}\n <Table\n key=\"1\"\n size=\"small\"\n scroll={{ x: 'max-content' }}\n bordered\n columns={columns}\n rowKey={rowKey}\n loading={true}\n />\n </Fragment>\n );\n }\n if (isMacEnv()) {\n return (\n <Fragment>\n {children}\n <Table\n key=\"2\"\n size=\"small\"\n scroll={{ x: 'max-content' }}\n bordered\n {...otherProps}\n columns={columns}\n pagination={tablePaginationData}\n rowKey={rowKey}\n onChange={onChangePage}\n loading={loading}\n dataSource={dataSource}\n />\n </Fragment>\n );\n }\n return (\n <Fragment>\n {children}\n <TableScrollbar>\n <Table\n key=\"3\"\n size=\"small\"\n scroll={{ x: 'max-content' }}\n bordered\n {...otherProps}\n columns={columns}\n pagination={tablePaginationData}\n rowKey={rowKey}\n onChange={onChangePage}\n loading={loading}\n dataSource={dataSource}\n />\n </TableScrollbar>\n </Fragment>\n );\n };\n\n return (\n <BlockLayout\n className={classNames(\n 'easy-table-table',\n { 'ett-empty-show-small': props.emptyShowSize === 'small' },\n props.tableWrapperClassName,\n )}\n style={props.tableWrapperStyle}\n >\n {tableRender()}\n </BlockLayout>\n );\n};\n","import { fbaUtils } from '../fba-utils';\nimport { EasyTable as EasyTableInner } from './easy-table';\nimport { EasyTableFilter } from './filter';\nimport { useEasyTable, useEasyTablRef } from './hooks';\nimport { EasyTableTable } from './table';\n\n/**\n * 对 查询条件+表格数据 进行深度封装,内置数据交互处理\n * ```\n * Demo https://fex.qa.tcshuke.com/docs/admin/main/crud/easy-table\n *\n * 1. 废弃modelKey参数\n * 2. 如果需要在路由跳转回退中缓存查询条件,设置cacheSwitch=true\n * 3. 需要获取查询条件、主动发起请求等可通过ref、useEasyTable操作\n * 4. 可通过属性 initRequest 设置初始化是否请求数据\n * 5. 可通过属性 fieldNames 来设置自定义变量,默认值为:list、total、pageNo、pageSize\n * 6. isFull=true,设置【在父节点高度下,上下铺满】(默认值:true)\n * 7. filterFixed=true,设置查询条件固定,不随滚动条滚动\n * 8. paginationFixed=true,可设置分页条件在底部固定,不随滚动条滚动\n * 9. foldKeys=string[],查询条件展开、收起,被收起数组内容为EasyTable.Filter 子节点key值\n * 10. windows环境下,会在EasyTable.Table外部包装一下 TableScrollbar,提高windows下table左右滚动体验\n * ```\n */\nexport const EasyTable = fbaUtils.attachPropertiesToComponent(EasyTableInner, {\n /**\n * 过滤条件\n *```\n * 1. 用法1\n * -- 默认网格布局 规则:{ xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 }\n * <EasyTable.Filter>\n * <FormItemWrapper name=\"field1\" label=\"条件1\">xxx</FormItemWrapper>\n * </EasyTable.Filter>\n *\n * -- 自定义网格布局 使用 FormCol组件包装 FormItemWrapper\n * <EasyTable.Filter>\n * <FormCol span={12}><FormItemWrapper name=\"field1\" label=\"条件1\">xxx</FormItemWrapper></FormCol>\n * </EasyTable.Filter>\n *\n * -- children 可为 function\n * <EasyTable.Filter>\n * {(form) => {\n * return <FormItemWrapper name=\"field1\" label=\"条件1\">xxx</FormItemWrapper>\n * }}\n * </EasyTable.Filter>\n * 2. 用户2(自定义布局)\n * EasyTable.Filter设置 isPure = true,FormItem无布局规则\n * 3. EasyTable.Filter中内置了 Form 标签,当children为函数时,可获取form实例\n * 4. 默认布局下,可通过设置 filterOperate 设置操作按钮\n * 5. Filter 子节点包含 hidden = true 会被忽略\n * 6. 如果想隐藏【查询、重置】按钮中的某一个,可设置 queryButtonProps.hidden、resetButtonProps.hidden\n * 7. EasyTableFilter 子节点可使用 FormItemWrapper,FormItemWrapper中可配置label宽度等\n * 8. 通过easyFormProps属性可整体控制子节点FormItem布局\n *```\n */\n Filter: EasyTableFilter,\n /**\n * 表格渲染\n * @param props\n * ```\n * 1. 继承了 TableProps 可设置antd table功能\n * 2. 分页功能已内置处理,不调用 onChange\n * ```\n */\n Table: EasyTableTable,\n /**\n * @deprecated 已过时 4.3.0版本移除,请使用 useEasyTable\n */\n useEasyTablRef: useEasyTablRef,\n\n /** 在 EasyTable子组件内才可使用 */\n useEasyTable: useEasyTable,\n});\n"],"names":["EasyTableContext","createContext","onRequest","noop","tableList","getEasyTableRef","defaultState","queryCondition","isInit","_EasyTableModel","actions","updateFilterCondition","params","state","_extends","resetFilterCondition","updateInitStatus","easyTableModels","easyTableModel","key","Model","EasyTable","forwardRef","props","ref","_props$initialPaginat","_useState","useState","dataSource","setDataSource","_useState2","total","setTotal","_useState3","loading","setLoading","easyTableId","_hooks","useId","undefined","modelKey","useMemo","cacheSwitch","location","pathname","_easyTableModel$useSt","useStore","pageSize","initialPaginationParams","initRequest","_useState4","paginationStatus","setPaginationStatus","respOriginalDataRef","useRef","baseColumnsRef","_useState5","dynamicColumns","setDynamicColumns","fieldNames","list","pageNo","_Form$useForm","Form","useForm","form","onInnerRequest","useCallbackRef","Promise","$return","$error","allState","_props$serviceConfig","requestParamsAdapter","requestResultAdapter","dynamicColumsAdapter","paramsNew","_respData","respDataNew","_dynamicColumns","respList","$Try_1_Post","$boundEx","$Try_1_Catch","error","onRequestErrorHandle","message","resolve","then","$await_2","cloneState","serviceConfig","$await_3","respData","current","onDataSourceChange","_get","_isArray","clearQueryCondition","values","$await_4","resetFields","setFieldsValue","getPaginationData","_pageSize","_ref","onResetRequest","initialValues","$await_5","getRequestParams","getFieldsValue","getDataSource","onFilterDataSource","filterDataSource","onClearDataSource","onUpdateDataSource","dataList","useImperativeHandle","onSetPaginationStatus","status","onSetBaseColumns","base","onFormFinish","isFull","_isUndefined","className","_classNames","filterFixed","paginationFixed","paginationData","showSizeChanger","showTotal","pagination","onChange","page","_onInnerRequest","_props$pagination","wrapperClassName","isInline","children","_jsx","Provider","value","tableDataSource","tableTotal","foldKeys","_jsxs","style","PaginationWrapper","size","EasyTableFilter","ctx","useContext","queryButtonProps","resetButtonProps","filterOperate","_props$formClassName","formClassName","defaultResetButtonTriggerRequest","filterWrapperStyle","filterWrapperClassName","rightOperateAreaAppendType","easyFormProps","rightOperateAreaAppendTypeFt","childrens","isFragment","Children","toArray","openFold","setOpenFold","onReset","_extends2","$await_1","formRowChildren","defaultRightList","hidden","ButtonWrapper","type","htmlType","text","onClick","filter","Boolean","customFormOperateCol","customRightList","rightList","leftList","concat","length","changeFolditem","padding","_UpOutlined","marginLeft","fontSize","_DownOutlined","push","map","item","index","find","keyItem","FormGrid","Col","OperateCol","BlockLayout","EasyForm","autoComplete","onFinish","formStyle","isPure","labelWidth","labelAlign","formItemGap","Row","gutter","gridSize","formGridSize","useEasyTable","useEasyTablRef","EasyTableTable","rowKey","isSync","otherProps","_objectWithoutPropertiesLoose","_excluded","fbaHooks","useEffectCustom","columns","tablePaginationData","selectComponentClass","SmallSelect","onChangePage","filters","sorter","extra","action","_onRequest","isUndefinedOrNull","getUuid","hasPagination","tooltip","tipsWrapperProps","title","_excluded2","TipsWrapper","tipType","popoverProps","content","TableTitleTooltip","tableRender","Fragment","Table","scroll","x","bordered","isMacEnv","TableScrollbar","emptyShowSize","tableWrapperClassName","tableWrapperStyle","fbaUtils","attachPropertiesToComponent","EasyTableInner","Filter"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/easy-table/context.ts","@flatbiz/antd/src/easy-table/model.ts","@flatbiz/antd/src/easy-table/easy-table.tsx","@flatbiz/antd/src/easy-table/filter.tsx","@flatbiz/antd/src/easy-table/hooks.ts","@flatbiz/antd/src/easy-table/table.tsx","@flatbiz/antd/src/easy-table/index.ts"],"sourcesContent":["import { noop, TPlainObject } from '@flatbiz/utils';\nimport { FormInstance } from 'antd';\nimport { createContext } from 'react';\nimport { EasyTableRefApi, TEasyTableTableColumn } from './type';\n\n// export const [useEasyTableCtx, EasyTableCtxProvider] = createCtx<{\n// modelKey: string;\n// onRequest: (params?: TPlainObject) => void;\n// tableList: TPlainObject[];\n// tableTotal: number;\n// loading?: boolean;\n// fieldNames: TPlainObject;\n// pageSize: number;\n// initRequest: boolean;\n// initialValues: TPlainObject;\n// onSetPaginationStatus: (status: boolean) => void;\n// paginationStatus: boolean;\n// onFormFinish?: (values?: TPlainObject) => void;\n// form: FormInstance;\n// getEasyTableRef: () => EasyTableRefApi;\n// paginationFixed: boolean;\n// foldKeys: string[];\n// }>();\n\nexport type EditableFieldContextContextApi = {\n modelKey: string;\n onRequest: (params?: TPlainObject) => void;\n tableDataSource?: TPlainObject[];\n tableTotal: number;\n loading?: boolean;\n fieldNames: TPlainObject;\n pageSize: number;\n initRequest: boolean;\n initialValues: TPlainObject;\n onSetPaginationStatus: (status: boolean) => void;\n paginationStatus: boolean;\n onFormFinish?: (values?: TPlainObject) => void;\n form: FormInstance;\n getEasyTableRef: () => EasyTableRefApi;\n paginationFixed: boolean;\n foldKeys: string[];\n dynamicColumns?: TEasyTableTableColumn<TPlainObject>[];\n onSetBaseColumns: (baseColumns?: TEasyTableTableColumn<TPlainObject>[]) => void;\n};\n\nexport const EasyTableContext = createContext<EditableFieldContextContextApi>({\n onRequest: noop,\n tableList: [],\n getEasyTableRef: () => {\n //\n },\n} as unknown as EditableFieldContextContextApi);\n","import { API, ModelType } from '@dimjs/model';\nimport { Model } from '@dimjs/model-react';\nimport { TAny, TPlainObject } from '@flatbiz/utils';\n\nexport type ModelState = {\n queryCondition: TPlainObject;\n isInit: boolean;\n};\n\ntype ModelActionParams = {\n updateFilterCondition?: Partial<ModelState['queryCondition']>;\n resetFilterCondition?: TPlainObject;\n updateInitStatus: void;\n};\n\nconst defaultState: ModelState = {\n queryCondition: {},\n isInit: true,\n};\n\nconst _EasyTableModel: ModelType<ModelState, ModelActionParams> = {\n actions: {\n updateFilterCondition: (params) => {\n return (state) => {\n state.queryCondition = {\n ...state.queryCondition,\n ...params,\n };\n };\n },\n resetFilterCondition: (params) => {\n return (state) => {\n state.queryCondition = {\n ...defaultState.queryCondition,\n ...params,\n };\n };\n },\n updateInitStatus: () => {\n return (state) => {\n state.isInit = false;\n };\n },\n },\n state: defaultState,\n};\n\nconst easyTableModels: Record<string, API<ModelType<ModelState, ModelActionParams, TAny>>> = {};\n\n/**\n * ```\n * 使用方式\n * const [state, actions] = selectorWrapperModel('key值').useStore();\n * ```\n */\nexport const easyTableModel = (key: string) => {\n if (!easyTableModels[key]) {\n easyTableModels[key] = Model(_EasyTableModel);\n }\n return easyTableModels[key];\n};\n","import { isArray, isUndefined } from '@dimjs/lang';\nimport { cloneState } from '@dimjs/model';\nimport { classNames, get } from '@dimjs/utils';\nimport { TAny, TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Form, FormInstance, message, PaginationProps } from 'antd';\nimport {\n CSSProperties,\n forwardRef,\n ReactElement,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { PaginationWrapper } from '../pagination-wrapper';\nimport { EasyTableContext } from './context';\nimport { easyTableModel } from './model';\nimport './style.less';\nimport { EasyTableRefApi, TEasyTableTableColumn } from './type';\n\ntype EasyTableServiceConfig = {\n /** 接口配置 */\n onRequest: (params?: TPlainObject) => Promise<TPlainObject | TPlainObject[]>;\n /** 请求参数处理 */\n requestParamsAdapter?: (params: TPlainObject) => TPlainObject;\n /**\n * 接口相应数据处理\n * ```\n * 返回数据为对象,包含两个字段\n * 1. 表格列表数据 - Array\n * 2. 表格条数总数 - Number\n * 其中 字段key 命名会通过 fieldNames 进行转义\n * 例如:\n * fieldNames={{\n * list: 'aList',\n * total: 'aTotal',\n * }}\n * serviceConfig={{\n * url: '/v1/board/list',\n * requestResultAdapter: (respData) => {\n * return {\n * aList: respData.data.rows,\n * aTotal: respData.page.total,\n * };\n * },\n * }}\n * ```\n */\n requestResultAdapter?: (params: TAny) => TPlainObject;\n /**\n * 动态列自定义渲染\n * ```\n * 1. respData: 接口返回数据\n * 2. columns: Table columns配置项\n * ```\n *\n */\n dynamicColumsAdapter?: (\n respData?: TAny,\n columns?: TEasyTableTableColumn<TPlainObject>[],\n ) => TEasyTableTableColumn<TPlainObject>[] | undefined;\n};\n\nexport type EasyTableProps = {\n className?: string;\n style?: CSSProperties;\n children: ReactElement | ReactElement[] | ((dataSource?: TAny) => ReactElement);\n /**\n * EasyTable唯一值,可用于缓存查询条件\n * @deprecated 已过时,如果需要缓存数据请设置 cacheSwitch 参数\n */\n modelKey?: string;\n /**\n * 缓存查询条件开关,默认false\n * ```\n * 1. 是否缓存表格查询条件,在路由跳转回来时,不会丢失\n * 2. 如果一个页面有多个EasyTable,并需要缓存查询条件,可设置cacheSwitch为唯一字符串\n * ```\n */\n cacheSwitch?: boolean | string;\n /** 接口数据配置 */\n serviceConfig: EasyTableServiceConfig;\n /**\n * 1. 查询条件Form initialValues\n * 2. 接口其他参数,例如常量类型\n */\n initialValues?: TPlainObject;\n /**\n * 分页初始化参数,默认值: pageSize = 10\n * @deprecated 已过时 4.3.0版本移除,使用 pageSize 赋值\n */\n initialPaginationParams?: { pageSize?: number };\n /** 分页单页条数,默认值:10 */\n pageSize?: number;\n /**\n * 字段映射,默认值:{ list:'list', total:'total', pageNo:'pageNo', pageSize:'pageSize' }\n * ```\n * 1. list、total用于解析接口响应数据,可以配置多级,例如:{ list: 'data.rows', total: 'page.total' }\n * 2. pageNo、pageSize用于接口分页入参Key定义,只能一级,例如:pageNo: 'page'\n * ```\n */\n fieldNames?: {\n list?: string;\n total?: string;\n pageNo?: string;\n pageSize?: string;\n };\n /** 初始化是否请求,默认值:true */\n initRequest?: boolean;\n /** 表格数据变更回调 */\n onDataSourceChange?: (dataSource: TAny) => void;\n /** 如果自定义查询按钮,可设置 Form onFinish */\n onFormFinish?: (values?: TPlainObject) => void;\n /** 在父节点高度下,上下铺满;默认值:true */\n isFull?: boolean;\n /** 查询条件固定,不随滚动条滚动 */\n filterFixed?: boolean;\n /** 分页区域固定,不随滚动条滚动 */\n paginationFixed?: boolean;\n /**\n * 1. 配合paginationFixed=true一起使用有效果\n * 2. 当使用Table内的pagination时,在EasyTable.Table中配置分页属性\n */\n pagination?: PaginationProps;\n /**\n * 查询条件展开、收起,被收起key数组;数组内容为EasyTable.Filter 子节点key值\n */\n foldKeys?: string[];\n /** 自定义处理服务异常 */\n onRequestErrorHandle?: (error) => void;\n /**\n * 是否inline模式\n * ```\n * 1. 缩短 EasyTable.Filter 与 EasyTable.Table 之间的距离\n * 2. 取消内边距\n * ```\n */\n isInline?: boolean;\n /** Form 实例 */\n form?: FormInstance;\n};\n\nexport const EasyTable = forwardRef<EasyTableRefApi, EasyTableProps>((props, ref) => {\n const [dataSource, setDataSource] = useState<TPlainObject[]>();\n const [total, setTotal] = useState<number>(0);\n const [loading, setLoading] = useState<boolean>(false);\n const easyTableId = hooks.useId(undefined, 'easy-table-key');\n\n const modelKey = useMemo(() => {\n if (props.cacheSwitch === true) {\n return location.pathname;\n }\n if (typeof props.cacheSwitch === 'string') {\n return props.cacheSwitch;\n }\n return easyTableId;\n }, [easyTableId, props.cacheSwitch]);\n\n const [state, actions] = easyTableModel(modelKey).useStore();\n const pageSize = props.pageSize || props.initialPaginationParams?.pageSize || 10;\n const initRequest = props.initRequest === undefined ? true : props.initRequest;\n const [paginationStatus, setPaginationStatus] = useState(false);\n const respOriginalDataRef = useRef<TAny>();\n const baseColumnsRef = useRef<TEasyTableTableColumn<TPlainObject>[]>([]);\n const [dynamicColumns, setDynamicColumns] = useState<TEasyTableTableColumn<TPlainObject>[]>();\n\n const fieldNames = {\n list: 'list',\n total: 'total',\n pageNo: 'pageNo',\n pageSize: 'pageSize',\n ...props.fieldNames,\n };\n\n const [form] = Form.useForm(props.form);\n\n const onInnerRequest = hooks.useCallbackRef(async (params) => {\n try {\n setLoading(true);\n const allState = await actions.updateFilterCondition(params);\n const queryCondition = cloneState(allState.queryCondition || {});\n const { requestParamsAdapter, onRequest, requestResultAdapter, dynamicColumsAdapter } =\n props.serviceConfig;\n const paramsNew = requestParamsAdapter ? requestParamsAdapter(queryCondition) : queryCondition;\n const respData = (await onRequest(paramsNew)) || {};\n respOriginalDataRef.current = respData;\n props.onDataSourceChange?.(respData);\n let respDataNew: TPlainObject = respData;\n if (requestResultAdapter) {\n respDataNew = requestResultAdapter(respData);\n }\n if (dynamicColumsAdapter) {\n const dynamicColumns = dynamicColumsAdapter(respData, baseColumnsRef.current);\n /** 不要添加默认值 */\n setDynamicColumns(dynamicColumns);\n }\n const respList = get(respDataNew, fieldNames.list);\n setDataSource(isArray(respList) ? respList : []);\n setTotal(get(respDataNew, fieldNames.total));\n setLoading(false);\n } catch (error) {\n setLoading(false);\n if (props.onRequestErrorHandle) {\n props.onRequestErrorHandle(error);\n } else {\n void message.error(error.message);\n }\n }\n });\n\n const clearQueryCondition = hooks.useCallbackRef(async (values?: TPlainObject) => {\n await actions.resetFilterCondition();\n form.resetFields();\n if (values) {\n void actions.updateFilterCondition(values);\n form.setFieldsValue(values);\n }\n });\n\n const getPaginationData = (pageNo: number, _pageSize: number) => {\n if (paginationStatus) {\n return {\n [fieldNames.pageNo]: pageNo,\n [fieldNames.pageSize]: _pageSize || pageSize,\n };\n } else {\n return {};\n }\n };\n\n const onResetRequest = hooks.useCallbackRef(async (values?: TPlainObject) => {\n const params = {\n ...getPaginationData(1, state.queryCondition[fieldNames.pageSize]),\n ...props.initialValues,\n ...values,\n };\n await actions.resetFilterCondition(params);\n form.resetFields();\n if (values) {\n form.setFieldsValue(values);\n }\n void onInnerRequest(params);\n });\n\n const getRequestParams = hooks.useCallbackRef(() => {\n return {\n ...state.queryCondition,\n ...form.getFieldsValue(),\n };\n });\n\n const getEasyTableRef = () => {\n return {\n /**\n * 参数\n * 1. 不用添加已存在的搜索条件\n * 2. 此处可重新\n */\n onRequest: onInnerRequest,\n clearQueryCondition,\n getRequestParams,\n onResetRequest,\n form,\n getDataSource: () => {\n return respOriginalDataRef.current;\n },\n onFilterDataSource: (filterDataSource) => {\n setDataSource(filterDataSource);\n },\n onClearDataSource: () => {\n setTotal(0);\n setDataSource([]);\n },\n onUpdateDataSource: (dataList) => {\n setDataSource(dataList);\n respOriginalDataRef.current = dataList;\n props.onDataSourceChange?.(dataList);\n },\n };\n };\n\n useImperativeHandle(ref, () => {\n return getEasyTableRef();\n });\n\n const onSetPaginationStatus = (status: boolean) => {\n setPaginationStatus(status);\n };\n const onSetBaseColumns = (base) => {\n baseColumnsRef.current = base;\n };\n\n const onFormFinish = () => {\n const values = form.getFieldsValue();\n if (props.onFormFinish) {\n props.onFormFinish({\n ...values,\n ...getPaginationData(1, state.queryCondition[fieldNames.pageSize]),\n });\n } else {\n void onInnerRequest({\n ...values,\n ...getPaginationData(1, state.queryCondition[fieldNames.pageSize]),\n });\n }\n };\n const isFull = isUndefined(props.isFull) ? true : props.isFull;\n const className = classNames(\n 'fba-easy-table',\n {\n 'fba-easy-table-full': isFull,\n 'fba-easy-table-filter-fixed': props.filterFixed,\n 'fba-easy-table-pagination-fixed': props.paginationFixed,\n },\n props.className,\n );\n\n const paginationData = useMemo(() => {\n return {\n showSizeChanger: true,\n current: state.queryCondition[fieldNames.pageNo] || 1,\n pageSize: state.queryCondition[fieldNames.pageSize] || pageSize,\n total: total,\n showTotal: (total) => `共 ${total} 条记录`,\n ...props.pagination,\n };\n }, [fieldNames.pageNo, fieldNames.pageSize, pageSize, props.pagination, state.queryCondition, total]);\n\n const onChange = hooks.useCallbackRef((page: number, pageSize: number) => {\n void onInnerRequest({\n [fieldNames.pageSize]: pageSize,\n [fieldNames.pageNo]: page,\n });\n props.pagination?.onChange?.(page, pageSize);\n });\n\n const wrapperClassName = classNames(\n 'fba-easy-table-wrapper',\n {\n 'fba-easy-table-wrapper-inline': props.isInline,\n },\n props.className,\n );\n\n const children =\n typeof props.children === 'function' ? props.children(respOriginalDataRef.current) : props.children;\n\n return (\n <EasyTableContext.Provider\n value={{\n onSetBaseColumns,\n getEasyTableRef,\n modelKey,\n onRequest: onInnerRequest,\n tableDataSource: dataSource,\n tableTotal: total,\n loading,\n fieldNames,\n pageSize,\n initRequest,\n initialValues: props.initialValues || {},\n onSetPaginationStatus,\n paginationStatus,\n onFormFinish,\n form,\n paginationFixed: props.paginationFixed || false,\n foldKeys: props.foldKeys || [],\n dynamicColumns,\n }}\n >\n {props.paginationFixed ? (\n <div className={wrapperClassName} style={props.style}>\n <div className={className}>{children}</div>\n {total > 0 && (\n <div className=\"fba-easy-table-pagination\">\n <PaginationWrapper size=\"small\" {...paginationData} onChange={onChange} />\n </div>\n )}\n </div>\n ) : (\n <div className={wrapperClassName} style={props.style}>\n {children}\n </div>\n )}\n </EasyTableContext.Provider>\n );\n});\n","import { DownOutlined, UpOutlined } from '@ant-design/icons';\nimport { isUndefined } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { TAny } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { FormInstance } from 'antd';\nimport { Children, CSSProperties, ReactElement, useContext, useMemo, useState } from 'react';\nimport { isFragment } from 'react-is';\nimport { BlockLayout } from '../block-layout';\nimport { ButtonWrapper, ButtonWrapperProps } from '../button-wrapper';\nimport { EasyForm, EasyFormProps } from '../easy-form';\nimport { FormGrid } from '../form-grid';\nimport { FormOperateColProps } from '../form-grid/form-operate-col';\nimport { FormRowProps } from '../form-grid/form-row';\nimport { EasyTableContext } from './context';\nimport { easyTableModel } from './model';\n\nexport type EasyTableFilterProps = {\n children: ReactElement | ReactElement[] | ((form: FormInstance) => ReactElement);\n /** isPure = true时无效 */\n filterOperate?: (form: FormInstance) => FormOperateColProps;\n /** 是否为纯净模式(查询条件布局是否自定义), */\n isPure?: boolean;\n /** 查询按钮配置 */\n queryButtonProps?: Omit<ButtonWrapperProps, 'onClick'> & { text?: string };\n /** 重置按钮配置 */\n resetButtonProps?: Omit<ButtonWrapperProps, 'onClick'> & { text?: string };\n /**\n * 网格布局设置\n * default = { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 };\n * small = { xs: 24, sm: 8, md: 8, lg: 6, xl: 6, xxl: 6 };\n */\n formGridSize?: FormRowProps['gridSize'];\n /**\n * @deprecated已过期,使用 easyFormProps.className 配置\n */\n formClassName?: string;\n /**\n * @deprecated已过期,使用 easyFormProps.style 配置\n */\n formStyle?: CSSProperties;\n /** filter Form 外层 BlockLayout style */\n filterWrapperStyle?: CSSProperties;\n /** filter Form 外层 BlockLayout className */\n filterWrapperClassName?: string;\n /**\n * 自定义 filterOperate.rightList 后 默认【查询、重置】按钮处理逻辑\n * 1. cover:覆盖内部查询重置按钮(默认值)\n * 2. beforeAppend:添加到【查询重置】按钮前面\n * 3. afterAppend:添加到【查询重置】按钮后面\n *\n * 如果想隐藏【查询、重置】按钮中的某一个,可设置 queryButtonProps.hidden、resetButtonProps.hidden\n */\n rightOperateAreaAppendType?: 'cover' | 'beforeAppend' | 'afterAppend';\n /** 默认重启按钮触发请求,默认值:true */\n defaultResetButtonTriggerRequest?: boolean;\n easyFormProps?: Omit<\n EasyFormProps,\n 'isPure' | 'column' | 'forceColumn' | 'width' | 'gridGutter' | 'children'\n >;\n};\n\n/**\n * 过滤条件\n *```\n * 1. 用法1\n * -- 默认网格布局 规则:{ xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 }\n * <EasyTableFilter>\n * <FormItemWrapper name=\"field1\" label=\"条件1\">xxx</FormItemWrapper>\n * </EasyTableFilter>\n *\n * -- 自定义网格布局 使用 FormCol组件包装 FormItemWrapper\n * <EasyTableFilter>\n * <FormCol span={12}><FormItemWrapper name=\"field1\" label=\"条件1\">xxx</FormItemWrapper></FormCol>\n * </EasyTableFilter>\n *\n * -- children 可为 function\n * <EasyTableFilter>\n * {(form) => {\n * return <FormItemWrapper name=\"field1\" label=\"条件1\">xxx</FormItemWrapper>\n * }}\n * </EasyTableFilter>\n *\n * 2. 用户2(自定义布局)\n * EasyTableFilter设置 isPure = true,FormItem无布局规则\n * 3. EasyTableFilter中内置了 Form 标签,当children为函数时,可获取form实例\n * 4. 默认布局下,可通过设置 filterOperate 设置操作按钮\n * 5. Filter 子节点包含 hidden = true 会被忽略\n * 6. 如果想隐藏【查询、重置】按钮中的某一个,可设置 queryButtonProps.hidden、resetButtonProps.hidden\n * 7. 通过设置 defaultResetButtonTriggerRequest,默认重启按钮触发请求,默认值:true\n * 8. EasyTableFilter 子节点可使用 FormItemWrapper,FormItemWrapper中可配置label宽度等\n *```\n */\nexport const EasyTableFilter = (props: EasyTableFilterProps) => {\n const ctx = useContext(EasyTableContext);\n const {\n queryButtonProps,\n resetButtonProps,\n filterOperate,\n formClassName = '',\n defaultResetButtonTriggerRequest,\n filterWrapperStyle,\n filterWrapperClassName,\n rightOperateAreaAppendType,\n easyFormProps,\n } = props;\n const {\n modelKey,\n foldKeys,\n fieldNames,\n onRequest,\n pageSize,\n paginationStatus,\n initialValues,\n form,\n onFormFinish,\n } = ctx;\n const children = typeof props.children === 'function' ? props.children(form) : props.children;\n\n const rightOperateAreaAppendTypeFt = rightOperateAreaAppendType || 'cover';\n const childrens = useMemo(() => {\n if (isFragment(children)) {\n return Children.toArray((children as ReactElement).props.children) as ReactElement[];\n } else {\n return Children.toArray(children) as ReactElement[];\n }\n }, [children]);\n\n const [openFold, setOpenFold] = useState(false);\n\n const [state, actions] = easyTableModel(modelKey).useStore();\n\n const onReset = hooks.useCallbackRef(async () => {\n await actions.resetFilterCondition();\n form.resetFields();\n if (isUndefined(defaultResetButtonTriggerRequest) || defaultResetButtonTriggerRequest) {\n if (paginationStatus) {\n onRequest({\n [fieldNames.pageNo]: 1,\n [fieldNames.pageSize]: pageSize,\n ...initialValues,\n });\n } else {\n onRequest(initialValues);\n }\n }\n });\n\n const formRowChildren = useMemo(() => {\n const defaultRightList = [\n !queryButtonProps?.hidden ? (\n <ButtonWrapper key=\"1\" type=\"primary\" htmlType=\"submit\" {...queryButtonProps}>\n {queryButtonProps?.text || '查询'}\n </ButtonWrapper>\n ) : null,\n !resetButtonProps?.hidden ? (\n <ButtonWrapper key=\"2\" onClick={onReset} {...resetButtonProps}>\n {resetButtonProps?.text || '重置'}\n </ButtonWrapper>\n ) : null,\n ].filter(Boolean);\n const customFormOperateCol = filterOperate?.(form);\n const customRightList = customFormOperateCol?.rightList;\n const leftList: TAny[] = customFormOperateCol?.leftList || [];\n\n let rightList: TAny[] = defaultRightList;\n if (customRightList) {\n if (rightOperateAreaAppendTypeFt === 'afterAppend') {\n rightList = [...defaultRightList, ...customRightList];\n } else if (rightOperateAreaAppendTypeFt === 'beforeAppend') {\n rightList = [...customRightList, ...defaultRightList];\n } else {\n rightList = customRightList;\n }\n }\n\n if (foldKeys.length > 0) {\n const changeFolditem = (\n <ButtonWrapper\n type=\"link\"\n key=\"fold-trigger\"\n style={{ padding: '0' }}\n onClick={() => {\n setOpenFold(!openFold);\n }}\n >\n {openFold ? (\n <span>\n 收起\n <UpOutlined style={{ marginLeft: 3, fontSize: 12 }} />\n </span>\n ) : (\n <span>\n 展开\n <DownOutlined style={{ marginLeft: 3, fontSize: 12 }} />\n </span>\n )}\n </ButtonWrapper>\n );\n\n if (rightList.length > 0 || leftList.length === 0) {\n rightList.push(changeFolditem);\n } else if (leftList?.length > 0) {\n leftList.push(changeFolditem);\n }\n }\n\n return childrens\n .map((item, index) => {\n if (!openFold && foldKeys.find((keyItem) => `.$${keyItem}` === item.key)) return null;\n if (item.props['hidden']) return null;\n if (item.type['domTypeName'] === 'FormCol') return item;\n return <FormGrid.Col key={index}>{item}</FormGrid.Col>;\n })\n .filter(Boolean)\n .concat(\n <FormGrid.OperateCol key={999} {...customFormOperateCol} leftList={leftList} rightList={rightList} />,\n );\n }, [\n childrens,\n filterOperate,\n foldKeys,\n form,\n onReset,\n openFold,\n queryButtonProps,\n resetButtonProps,\n rightOperateAreaAppendTypeFt,\n ]);\n\n return (\n <BlockLayout\n className={classNames('easy-table-filter', filterWrapperClassName)}\n style={filterWrapperStyle}\n >\n <EasyForm\n form={form}\n autoComplete=\"off\"\n onFinish={onFormFinish}\n initialValues={{\n ...initialValues,\n ...state.queryCondition,\n }}\n className={formClassName}\n style={props.formStyle}\n isPure={true}\n labelWidth=\"80\"\n labelAlign=\"right\"\n formItemGap=\"15\"\n {...easyFormProps}\n >\n {props.isPure ? (\n children\n ) : (\n <FormGrid.Row gutter={[15, 0]} gridSize={props.formGridSize}>\n {formRowChildren}\n </FormGrid.Row>\n )}\n </EasyForm>\n </BlockLayout>\n );\n};\n","import { useContext } from 'react';\nimport { EasyTableContext } from './context';\n\n/**\n * 在 EasyTable子组件内才可使用\n * @returns\n */\nexport const useEasyTable = () => {\n const ctx = useContext(EasyTableContext);\n return ctx.getEasyTableRef();\n};\n\n/**\n *\n * @deprecated 已过时 @4.3.0版本移除,请使用 useEasyTable\n * @returns\n */\nexport const useEasyTablRef = () => {\n const ctx = useContext(EasyTableContext);\n return {\n current: ctx.getEasyTableRef(),\n };\n};\n","import { classNames } from '@dimjs/utils';\nimport { getUuid, isMacEnv, isUndefinedOrNull, TAny, TPlainObject } from '@flatbiz/utils';\nimport { Table, TableProps } from 'antd';\nimport { CSSProperties, Fragment, ReactElement, useContext, useMemo } from 'react';\nimport { BlockLayout } from '../block-layout';\nimport { fbaHooks } from '../fba-hooks';\nimport { SmallSelect } from '../pagination-wrapper/select';\nimport { TableScrollbar } from '../table-scrollbar';\nimport { TableTitleTooltip } from '../table-title-tooltip';\nimport { TipsWrapper } from '../tips-wrapper';\nimport { EasyTableContext } from './context';\nimport { easyTableModel } from './model';\nimport { TEasyTableTableColumn } from './type';\n\nexport type EasyTableTableProps<T> = Omit<\n TableProps<TAny>,\n 'dataSource' | 'loading' | 'rowKey' | 'columns'\n> & {\n children?: ReactElement | ReactElement[];\n /**\n * 表格行 key 的取值,\n * ```\n * 如果 rowKey 为string类型\n * 1. 组件会判断表格列表数据第一条是否存在当前rowKey对象的数据,如果没有组件内部会动态添加唯一值\n * 2. 基于上一条的逻辑,如果表格数据没有唯一值,可指定 rowKey 值为table数据中不存在的字段名,例如:rowKey=\"_uid\"\n * 3. 如果触发上述逻辑,表格数据中会多出rowKey对应的键值对数据\n * ```\n */\n rowKey: TableProps<TAny>['rowKey'];\n /** table Form 外层 SimpleLayout className */\n tableWrapperStyle?: CSSProperties;\n /** table Form 外层 SimpleLayout className */\n tableWrapperClassName?: string;\n columns: TEasyTableTableColumn<T>[];\n /**\n * 数据加载与表格初始化渲染 是否同步\n * @version 4.4.6\n * ```\n * 1. true:获取数据后再初始化渲染表格(可用于实现表格中defaultXxxx相关功能的使用)\n * ```\n */\n isSync?: boolean;\n /**\n * 空效果显示尺寸,默认值:small\n * @version 4.4.6\n */\n emptyShowSize?: 'small' | 'large';\n};\n\n/**\n * 表格渲染\n * @param props\n * ```\n * 1. 继承了 TableProps 可设置antd table功能\n * 2. 分页功能已内置处理,不调用 onChange\n * ```\n */\nexport const EasyTableTable = <T extends TPlainObject>(props: EasyTableTableProps<T>) => {\n const ctx = useContext(EasyTableContext);\n const { children, rowKey, pagination, isSync, ...otherProps } = props;\n\n const {\n modelKey,\n fieldNames,\n onRequest,\n tableDataSource,\n initRequest,\n pageSize,\n tableTotal,\n loading,\n initialValues,\n paginationFixed,\n onSetPaginationStatus,\n dynamicColumns,\n } = ctx;\n const [state, actions] = easyTableModel(modelKey).useStore();\n\n fbaHooks.useEffectCustom(() => {\n ctx.onSetBaseColumns((props.columns || []) as TEasyTableTableColumn<TPlainObject>[]);\n }, [props.columns]);\n\n const tablePaginationData = useMemo(() => {\n if (paginationFixed || pagination === false) return false;\n return {\n showSizeChanger: true,\n current: state.queryCondition[fieldNames.pageNo] || 1,\n pageSize: state.queryCondition[fieldNames.pageSize] || pageSize,\n total: tableTotal,\n showTotal: (total) => `共 ${total} 条记录`,\n ...props.pagination,\n selectComponentClass: SmallSelect,\n };\n }, [\n fieldNames.pageNo,\n fieldNames.pageSize,\n pageSize,\n pagination,\n paginationFixed,\n props.pagination,\n state.queryCondition,\n tableTotal,\n ]);\n\n const onChangePage: TableProps<TAny>['onChange'] = (pagination, filters, sorter, extra) => {\n if (extra.action === 'paginate' && tablePaginationData) {\n onRequest({\n [fieldNames.pageSize]: pagination.pageSize,\n [fieldNames.pageNo]: pagination.current,\n });\n } else {\n props.onChange?.(pagination, filters, sorter, extra);\n }\n };\n\n const dataSource = useMemo(() => {\n if (!tableDataSource) return undefined;\n if (tableDataSource.length === 0) {\n return [];\n }\n if (typeof rowKey === 'string' && isUndefinedOrNull(tableDataSource[0][rowKey])) {\n return tableDataSource.map((item) => {\n item[rowKey] = getUuid();\n return item;\n });\n }\n return tableDataSource;\n }, [tableDataSource, rowKey]);\n\n fbaHooks.useEffectCustom(() => {\n const hasPagination = paginationFixed || tablePaginationData !== false;\n onSetPaginationStatus(hasPagination);\n if (initRequest !== false || !state.isInit) {\n if (hasPagination) {\n void onRequest({\n [fieldNames.pageNo]: 1,\n [fieldNames.pageSize]: pageSize,\n ...initialValues,\n ...state.queryCondition,\n });\n } else {\n void onRequest(initialValues);\n }\n } else {\n void actions.updateFilterCondition(initialValues);\n }\n void actions.updateInitStatus();\n }, []);\n\n const columns = useMemo(() => {\n const columns = dynamicColumns ? dynamicColumns : props.columns;\n\n return columns.map((item) => {\n const { tooltip, tipsWrapperProps, title, ...otherProps } = item;\n if (typeof title === 'string' && tipsWrapperProps) {\n if (typeof tipsWrapperProps === 'string') {\n return {\n ...otherProps,\n title: (\n <TipsWrapper tipType=\"popover\" popoverProps={{ content: tipsWrapperProps }}>\n {title}\n </TipsWrapper>\n ),\n };\n }\n return {\n ...otherProps,\n title: <TipsWrapper {...tipsWrapperProps}>{title}</TipsWrapper>,\n };\n }\n if (typeof title === 'string' && !!tooltip) {\n return {\n ...otherProps,\n title: <TableTitleTooltip tooltip={tooltip} title={title}></TableTitleTooltip>,\n };\n }\n return item;\n });\n }, [dynamicColumns, props.columns]);\n\n const tableRender = () => {\n if (isSync && !dataSource) {\n /** loading表格 */\n return (\n <Fragment>\n {children}\n <Table\n key=\"1\"\n size=\"small\"\n scroll={{ x: 'max-content' }}\n bordered\n columns={columns}\n rowKey={rowKey}\n loading={true}\n />\n </Fragment>\n );\n }\n if (isMacEnv()) {\n return (\n <Fragment>\n {children}\n <Table\n key=\"2\"\n size=\"small\"\n scroll={{ x: 'max-content' }}\n bordered\n {...otherProps}\n columns={columns}\n pagination={tablePaginationData}\n rowKey={rowKey}\n onChange={onChangePage}\n loading={loading}\n dataSource={dataSource}\n />\n </Fragment>\n );\n }\n return (\n <Fragment>\n {children}\n <TableScrollbar>\n <Table\n key=\"3\"\n size=\"small\"\n scroll={{ x: 'max-content' }}\n bordered\n {...otherProps}\n columns={columns}\n pagination={tablePaginationData}\n rowKey={rowKey}\n onChange={onChangePage}\n loading={loading}\n dataSource={dataSource}\n />\n </TableScrollbar>\n </Fragment>\n );\n };\n\n return (\n <BlockLayout\n className={classNames(\n 'easy-table-table',\n { 'ett-empty-show-small': props.emptyShowSize === 'small' },\n props.tableWrapperClassName,\n )}\n style={props.tableWrapperStyle}\n >\n {tableRender()}\n </BlockLayout>\n );\n};\n","import { fbaUtils } from '../fba-utils';\nimport { EasyTable as EasyTableInner } from './easy-table';\nimport { EasyTableFilter } from './filter';\nimport { useEasyTable, useEasyTablRef } from './hooks';\nimport { EasyTableTable } from './table';\n\n/**\n * 对 查询条件+表格数据 进行深度封装,内置数据交互处理\n * ```\n * Demo https://fex.qa.tcshuke.com/docs/admin/main/crud/easy-table\n *\n * 1. 废弃modelKey参数\n * 2. 如果需要在路由跳转回退中缓存查询条件,设置cacheSwitch=true\n * 3. 需要获取查询条件、主动发起请求等可通过ref、useEasyTable操作\n * 4. 可通过属性 initRequest 设置初始化是否请求数据\n * 5. 可通过属性 fieldNames 来设置自定义变量,默认值为:list、total、pageNo、pageSize\n * 6. isFull=true,设置【在父节点高度下,上下铺满】(默认值:true)\n * 7. filterFixed=true,设置查询条件固定,不随滚动条滚动\n * 8. paginationFixed=true,可设置分页条件在底部固定,不随滚动条滚动\n * 9. foldKeys=string[],查询条件展开、收起,被收起数组内容为EasyTable.Filter 子节点key值\n * 10. windows环境下,会在EasyTable.Table外部包装一下 TableScrollbar,提高windows下table左右滚动体验\n * ```\n */\nexport const EasyTable = fbaUtils.attachPropertiesToComponent(EasyTableInner, {\n /**\n * 过滤条件\n *```\n * 1. 用法1\n * -- 默认网格布局 规则:{ xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 }\n * <EasyTable.Filter>\n * <FormItemWrapper name=\"field1\" label=\"条件1\">xxx</FormItemWrapper>\n * </EasyTable.Filter>\n *\n * -- 自定义网格布局 使用 FormCol组件包装 FormItemWrapper\n * <EasyTable.Filter>\n * <FormCol span={12}><FormItemWrapper name=\"field1\" label=\"条件1\">xxx</FormItemWrapper></FormCol>\n * </EasyTable.Filter>\n *\n * -- children 可为 function\n * <EasyTable.Filter>\n * {(form) => {\n * return <FormItemWrapper name=\"field1\" label=\"条件1\">xxx</FormItemWrapper>\n * }}\n * </EasyTable.Filter>\n * 2. 用户2(自定义布局)\n * EasyTable.Filter设置 isPure = true,FormItem无布局规则\n * 3. EasyTable.Filter中内置了 Form 标签,当children为函数时,可获取form实例\n * 4. 默认布局下,可通过设置 filterOperate 设置操作按钮\n * 5. Filter 子节点包含 hidden = true 会被忽略\n * 6. 如果想隐藏【查询、重置】按钮中的某一个,可设置 queryButtonProps.hidden、resetButtonProps.hidden\n * 7. EasyTableFilter 子节点可使用 FormItemWrapper,FormItemWrapper中可配置label宽度等\n * 8. 通过easyFormProps属性可整体控制子节点FormItem布局\n *```\n */\n Filter: EasyTableFilter,\n /**\n * 表格渲染\n * @param props\n * ```\n * 1. 继承了 TableProps 可设置antd table功能\n * 2. 分页功能已内置处理,不调用 onChange\n * ```\n */\n Table: EasyTableTable,\n /**\n * @deprecated 已过时 4.3.0版本移除,请使用 useEasyTable\n */\n useEasyTablRef: useEasyTablRef,\n\n /** 在 EasyTable子组件内才可使用 */\n useEasyTable: useEasyTable,\n});\n"],"names":["EasyTableContext","createContext","onRequest","noop","tableList","getEasyTableRef","defaultState","queryCondition","isInit","_EasyTableModel","actions","updateFilterCondition","params","state","_extends","resetFilterCondition","updateInitStatus","easyTableModels","easyTableModel","key","Model","EasyTable","forwardRef","props","ref","_props$initialPaginat","_useState","useState","dataSource","setDataSource","_useState2","total","setTotal","_useState3","loading","setLoading","easyTableId","_hooks","useId","undefined","modelKey","useMemo","cacheSwitch","location","pathname","_easyTableModel$useSt","useStore","pageSize","initialPaginationParams","initRequest","_useState4","paginationStatus","setPaginationStatus","respOriginalDataRef","useRef","baseColumnsRef","_useState5","dynamicColumns","setDynamicColumns","fieldNames","list","pageNo","_Form$useForm","Form","useForm","form","onInnerRequest","useCallbackRef","Promise","$return","$error","allState","_props$serviceConfig","requestParamsAdapter","requestResultAdapter","dynamicColumsAdapter","paramsNew","_respData","respDataNew","_dynamicColumns","respList","$Try_1_Post","$boundEx","$Try_1_Catch","error","onRequestErrorHandle","message","resolve","then","$await_2","cloneState","serviceConfig","$await_3","respData","current","onDataSourceChange","_get","_isArray","clearQueryCondition","values","$await_4","resetFields","setFieldsValue","getPaginationData","_pageSize","_ref","onResetRequest","initialValues","$await_5","getRequestParams","getFieldsValue","getDataSource","onFilterDataSource","filterDataSource","onClearDataSource","onUpdateDataSource","dataList","useImperativeHandle","onSetPaginationStatus","status","onSetBaseColumns","base","onFormFinish","isFull","_isUndefined","className","_classNames","filterFixed","paginationFixed","paginationData","showSizeChanger","showTotal","pagination","onChange","page","_onInnerRequest","_props$pagination","wrapperClassName","isInline","children","_jsx","Provider","value","tableDataSource","tableTotal","foldKeys","_jsxs","style","PaginationWrapper","size","EasyTableFilter","ctx","useContext","queryButtonProps","resetButtonProps","filterOperate","_props$formClassName","formClassName","defaultResetButtonTriggerRequest","filterWrapperStyle","filterWrapperClassName","rightOperateAreaAppendType","easyFormProps","rightOperateAreaAppendTypeFt","childrens","isFragment","Children","toArray","openFold","setOpenFold","onReset","_extends2","$await_1","formRowChildren","defaultRightList","hidden","ButtonWrapper","type","htmlType","text","onClick","filter","Boolean","customFormOperateCol","customRightList","rightList","leftList","concat","length","changeFolditem","padding","_UpOutlined","marginLeft","fontSize","_DownOutlined","push","map","item","index","find","keyItem","FormGrid","Col","OperateCol","BlockLayout","EasyForm","autoComplete","onFinish","formStyle","isPure","labelWidth","labelAlign","formItemGap","Row","gutter","gridSize","formGridSize","useEasyTable","useEasyTablRef","EasyTableTable","rowKey","isSync","otherProps","_objectWithoutPropertiesLoose","_excluded","fbaHooks","useEffectCustom","columns","tablePaginationData","selectComponentClass","SmallSelect","onChangePage","filters","sorter","extra","action","_onRequest","isUndefinedOrNull","getUuid","hasPagination","tooltip","tipsWrapperProps","title","_excluded2","TipsWrapper","tipType","popoverProps","content","TableTitleTooltip","tableRender","Fragment","Table","scroll","x","bordered","isMacEnv","TableScrollbar","emptyShowSize","tableWrapperClassName","tableWrapperStyle","fbaUtils","attachPropertiesToComponent","EasyTableInner","Filter"],"mappings":";yoEA6CO,IAAMA,EAAmBC,EAA8C,CAC5EC,UAAWC,EACXC,UAAW,GACXC,gBAAiB,SAAAA,IACf,IClCJ,IAAMC,EAA2B,CAC/BC,eAAgB,CAAE,EAClBC,OAAQ,MAGV,IAAMC,EAA4D,CAChEC,QAAS,CACPC,sBAAuB,SAAAA,EAACC,GACtB,OAAO,SAACC,GACNA,EAAMN,eAAcO,EAAA,CAAA,EACfD,EAAMN,eACNK,GAGR,EACDG,qBAAsB,SAAAA,EAACH,GACrB,OAAO,SAACC,GACNA,EAAMN,eAAcO,EAAA,CAAA,EACfR,EAAaC,eACbK,GAGR,EACDI,iBAAkB,SAAAA,IAChB,OAAO,SAACH,GACNA,EAAML,OAAS,MAEnB,GAEFK,MAAOP,GAGT,IAAMW,EAAuF,CAAA,EAQtF,IAAMC,EAAiB,SAAjBA,EAAkBC,GAC7B,IAAKF,EAAgBE,GAAM,CACzBF,EAAgBE,GAAOC,EAAMX,EAC/B,CACA,OAAOQ,EAAgBE,EACzB,ECmFO,IAAME,EAAYC,GAA4C,SAACC,EAAOC,GAAQ,IAAAC,EACnF,IAAAC,EAAoCC,IAA7BC,EAAUF,EAAA,GAAEG,EAAaH,EAAA,GAChC,IAAAI,EAA0BH,EAAiB,GAApCI,EAAKD,EAAA,GAAEE,EAAQF,EAAA,GACtB,IAAAG,EAA8BN,EAAkB,OAAzCO,EAAOD,EAAA,GAAEE,EAAUF,EAAA,GAC1B,IAAMG,EAAcC,EAAMC,MAAMC,UAAW,kBAE3C,IAAMC,EAAWC,GAAQ,WACvB,GAAIlB,EAAMmB,cAAgB,KAAM,CAC9B,OAAOC,SAASC,QAClB,CACA,UAAWrB,EAAMmB,cAAgB,SAAU,CACzC,OAAOnB,EAAMmB,WACf,CACA,OAAON,CACR,GAAE,CAACA,EAAab,EAAMmB,cAEvB,IAAAG,EAAyB3B,EAAesB,GAAUM,WAA3CjC,EAAKgC,EAAA,GAAEnC,EAAOmC,EAAA,GACrB,IAAME,EAAWxB,EAAMwB,YAAQtB,EAAIF,EAAMyB,0BAANvB,UAAAA,EAAAA,EAA+BsB,WAAY,GAC9E,IAAME,EAAc1B,EAAM0B,cAAgBV,UAAY,KAAOhB,EAAM0B,YACnE,IAAAC,EAAgDvB,EAAS,OAAlDwB,EAAgBD,EAAA,GAAEE,EAAmBF,EAAA,GAC5C,IAAMG,EAAsBC,IAC5B,IAAMC,EAAiBD,EAA8C,IACrE,IAAAE,EAA4C7B,IAArC8B,EAAcD,EAAA,GAAEE,EAAiBF,EAAA,GAExC,IAAMG,EAAU7C,EAAA,CACd8C,KAAM,OACN7B,MAAO,QACP8B,OAAQ,SACRd,SAAU,YACPxB,EAAMoC,YAGX,IAAAG,EAAeC,EAAKC,QAAQzC,EAAM0C,MAA3BA,EAAIH,EAAA,GAEX,IAAMI,EAAiB7B,EAAM8B,gBAAe,SAAOvD,GAAP,OAAA,IAAAwD,SAAA,SAAAC,EAAAC,GAAA,IAGlCC,EACAhE,EAA0DiE,EAAAC,EAAAvE,EAAAwE,EAAAC,EAG1DC,EACAC,EAGFC,EAKIC,EAIFC,EArMZ,IAAIC,aAAJ,IAAI,OAAAZ,GAAK,CAAC,MAAAa,GAAW,OAAOZ,EAAAY,EAAM,GAAlC,IAAIC,EAAA,SAyMSC,GAzMb,IA0MMjD,EAAW,OACX,GAAIZ,EAAM8D,qBAAsB,CAC9B9D,EAAM8D,qBAAqBD,EAC7B,KAAO,MACAE,EAAQF,MAAMA,EAAME,QAC3B,CA/MN,OAAOL,GAAE,CAAC,MAAAC,GAAW,OAAOZ,EAAAY,EAAM,GAkL9B,IACE/C,EAAW,MACM,OAAAiC,QAAAmB,QAAM7E,EAAQC,sBAAsBC,IAApC4E,eAA2CC,GApLlE,IAoLYlB,EAAWkB,EACXlF,EAAiBmF,EAAWnB,EAAShE,gBAAkB,CAAE,GAC/DiE,EACEjD,EAAMoE,cADAlB,EAAoBD,EAApBC,qBAAsBvE,EAASsE,EAATtE,UAAWwE,EAAoBF,EAApBE,qBAAsBC,EAAoBH,EAApBG,qBAEzDC,EAAYH,EAAuBA,EAAqBlE,GAAkBA,EAC9D,OAAA6D,QAAAmB,QAAMrF,EAAU0E,IAAhBY,MAA0B,SAAAI,GAzLlD,IAyLYC,EAAYD,GAA+B,GACjDvC,EAAoByC,QAAUD,EAC9BtE,EAAMwE,oBAANxE,UAAAA,EAAAA,EAAMwE,mBAAqBF,GACvBf,EAA4Be,EAChC,GAAInB,EAAsB,CACxBI,EAAcJ,EAAqBmB,EACrC,CACA,GAAIlB,EAAsB,CAClBlB,EAAiBkB,EAAqBkB,EAAUtC,EAAeuC,SAErEpC,EAAkBD,EACpB,CACMuB,EAAWgB,EAAIlB,EAAanB,EAAWC,MAC7C/B,EAAcoE,EAAQjB,GAAYA,EAAW,IAC7ChD,EAASgE,EAAIlB,EAAanB,EAAW5B,QACrCI,EAAW,OAxMjB,OAAO8C,GAAE,CAAC,MAAAC,GAAW,OAAOC,EAAAD,EAAM,CAAC,GAAAC,EAA1B,CAAC,MAAAD,GAAW,OAAOC,EAAAD,EAAM,CAAC,GAAAC,EAyM9B,CAAC,MAAOC,GAAOD,EAAPC,EAOT,CAAC,OAGH,IAAMc,EAAsB7D,EAAM8B,gBAAe,SAAOgC,GAAP,OAAA,IAAA/B,SAAA,SAAAC,EAAAC,GAC/C,OAAAF,QAAAmB,QAAM7E,EAAQK,wBAAdyE,MAAoC,SAAAY,GApNxC,IAqNInC,EAAKoC,cACL,GAAIF,EAAQ,MACLzF,EAAQC,sBAAsBwF,GACnClC,EAAKqC,eAAeH,EACtB,CAAC,OAAA9B,GAzNI,CAAC,MAAAa,GAAW,OAAOZ,EAAAY,EAAM,CAAC,GAAAZ,EAoNK,OAQtC,IAAMiC,EAAoB,SAApBA,EAAqB1C,EAAgB2C,GACzC,GAAIrD,EAAkB,CAAA,IAAAsD,EACpB,OAAAA,KAAAA,EACG9C,EAAWE,QAASA,EAAM4C,EAC1B9C,EAAWZ,UAAWyD,GAAazD,EAAQ0D,CAEhD,KAAO,CACL,MAAO,EACT,GAGF,IAAMC,EAAiBrE,EAAM8B,gBAAe,SAAOgC,GAAP,OAAA,IAAA/B,SAAA,SAAAC,EAAAC,GAAA,IACpC1D,EAAAA,EAAME,EACPyF,CAAAA,EAAAA,EAAkB,EAAG1F,EAAMN,eAAeoD,EAAWZ,WACrDxB,EAAMoF,cACNR,GAEL,OAAA/B,QAAAmB,QAAM7E,EAAQK,qBAAqBH,IAAnC4E,eAA0CoB,GA7O9C,IA8OI3C,EAAKoC,cACL,GAAIF,EAAQ,CACVlC,EAAKqC,eAAeH,EACtB,MACKjC,EAAetD,GAAQ,OAAAyD,GAlPvB,CAAC,MAAAa,GAAW,OAAOZ,EAAAY,EAAM,CAAC,GAAAZ,EA6OW,OAQ5C,IAAMuC,EAAmBxE,EAAM8B,gBAAe,WAC5C,OAAArD,EACKD,CAAAA,EAAAA,EAAMN,eACN0D,EAAK6C,iBAEZ,IAEA,IAAMzG,EAAkB,SAAlBA,IACJ,MAAO,CAMLH,UAAWgE,EACXgC,oBAAAA,EACAW,iBAAAA,EACAH,eAAAA,EACAzC,KAAAA,EACA8C,cAAe,SAAAA,IACb,OAAO1D,EAAoByC,OAC5B,EACDkB,mBAAoB,SAAAA,EAACC,GACnBpF,EAAcoF,EACf,EACDC,kBAAmB,SAAAA,IACjBlF,EAAS,GACTH,EAAc,GACf,EACDsF,mBAAoB,SAAAA,EAACC,GACnBvF,EAAcuF,GACd/D,EAAoByC,QAAUsB,EAC9B7F,EAAMwE,oBAANxE,UAAAA,EAAAA,EAAMwE,mBAAqBqB,EAC7B,IAIJC,EAAoB7F,GAAK,WACvB,OAAOnB,GACT,IAEA,IAAMiH,GAAwB,SAAxBA,EAAyBC,GAC7BnE,EAAoBmE,IAEtB,IAAMC,GAAmB,SAAnBA,EAAoBC,GACxBlE,EAAeuC,QAAU2B,GAG3B,IAAMC,GAAe,SAAfA,IACJ,IAAMvB,EAASlC,EAAK6C,iBACpB,GAAIvF,EAAMmG,aAAc,CACtBnG,EAAMmG,aAAY5G,KACbqF,EACAI,EAAkB,EAAG1F,EAAMN,eAAeoD,EAAWZ,YAE5D,KAAO,MACAmB,EAAcpD,EAAA,GACdqF,EACAI,EAAkB,EAAG1F,EAAMN,eAAeoD,EAAWZ,YAE5D,GAEF,IAAM4E,GAASC,EAAYrG,EAAMoG,QAAU,KAAOpG,EAAMoG,OACxD,IAAME,GAAYC,EAChB,iBACA,CACE,sBAAuBH,GACvB,8BAA+BpG,EAAMwG,YACrC,kCAAmCxG,EAAMyG,iBAE3CzG,EAAMsG,WAGR,IAAMI,GAAiBxF,GAAQ,WAC7B,OAAA3B,EAAA,CACEoH,gBAAiB,KACjBpC,QAASjF,EAAMN,eAAeoD,EAAWE,SAAW,EACpDd,SAAUlC,EAAMN,eAAeoD,EAAWZ,WAAaA,EACvDhB,MAAOA,EACPoG,UAAW,SAAAA,EAACpG,GAAK,MAAA,KAAUA,EAAK,MAAA,GAC7BR,EAAM6G,WAEZ,GAAE,CAACzE,EAAWE,OAAQF,EAAWZ,SAAUA,EAAUxB,EAAM6G,WAAYvH,EAAMN,eAAgBwB,IAE9F,IAAMsG,GAAWhG,EAAM8B,gBAAe,SAACmE,EAAcvF,GAAqB,IAAAwF,EAAAC,OACnEtE,GAAcqE,EAAA,CAAA,EAAAA,EAChB5E,EAAWZ,UAAWA,EAAQwF,EAC9B5E,EAAWE,QAASyE,EAAIC,KAE3BC,EAAAjH,EAAM6G,mBAANI,EAAkBH,UAAQ,UAAA,EAA1BG,EAAkBH,SAAWC,EAAMvF,EACrC,IAEA,IAAM0F,GAAmBX,EACvB,yBACA,CACE,gCAAiCvG,EAAMmH,UAEzCnH,EAAMsG,WAGR,IAAMc,UACGpH,EAAMoH,WAAa,WAAapH,EAAMoH,SAAStF,EAAoByC,SAAWvE,EAAMoH,SAE7F,OACEC,EAAC5I,EAAiB6I,SAAQ,CACxBC,MAAO,CACLtB,iBAAAA,GACAnH,gBAAAA,EACAmC,SAAAA,EACAtC,UAAWgE,EACX6E,gBAAiBnH,EACjBoH,WAAYjH,EACZG,QAAAA,EACAyB,WAAAA,EACAZ,SAAAA,EACAE,YAAAA,EACA0D,cAAepF,EAAMoF,eAAiB,CAAE,EACxCW,sBAAAA,GACAnE,iBAAAA,EACAuE,aAAAA,GACAzD,KAAAA,EACA+D,gBAAiBzG,EAAMyG,iBAAmB,MAC1CiB,SAAU1H,EAAM0H,UAAY,GAC5BxF,eAAAA,GACAkF,SAEDpH,EAAMyG,gBACLkB,EAAA,MAAA,CAAKrB,UAAWY,GAAkBU,MAAO5H,EAAM4H,MAAMR,UACnDC,EAAA,MAAA,CAAKf,UAAWA,GAAUc,SAAEA,KAC3B5G,EAAQ,GACP6G,EAAA,MAAA,CAAKf,UAAU,4BAA2Bc,SACxCC,EAACQ,EAAiBtI,EAAA,CAACuI,KAAK,SAAYpB,GAAc,CAAEI,SAAUA,WAKpEO,EAAA,MAAA,CAAKf,UAAWY,GAAkBU,MAAO5H,EAAM4H,MAAMR,SAClDA,MAKX,ICtSO,IAAMW,EAAkB,SAAlBA,EAAmB/H,GAC9B,IAAMgI,EAAMC,EAAWxJ,GACvB,IACEyJ,EASElI,EATFkI,iBACAC,EAQEnI,EARFmI,iBACAC,EAOEpI,EAPFoI,cAAaC,EAOXrI,EANFsI,cAAAA,EAAaD,SAAG,EAAA,GAAEA,EAClBE,EAKEvI,EALFuI,iCACAC,EAIExI,EAJFwI,mBACAC,EAGEzI,EAHFyI,uBACAC,EAEE1I,EAFF0I,2BACAC,EACE3I,EADF2I,cAEF,IACE1H,EASE+G,EATF/G,SACAyG,EAQEM,EARFN,SACAtF,EAOE4F,EAPF5F,WACAzD,EAMEqJ,EANFrJ,UACA6C,EAKEwG,EALFxG,SACAI,EAIEoG,EAJFpG,iBACAwD,EAGE4C,EAHF5C,cACA1C,EAEEsF,EAFFtF,KACAyD,EACE6B,EADF7B,aAEF,IAAMiB,SAAkBpH,EAAMoH,WAAa,WAAapH,EAAMoH,SAAS1E,GAAQ1C,EAAMoH,SAErF,IAAMwB,EAA+BF,GAA8B,QACnE,IAAMG,EAAY3H,GAAQ,WACxB,GAAI4H,EAAW1B,GAAW,CACxB,OAAO2B,EAASC,QAAS5B,EAA0BpH,MAAMoH,SAC3D,KAAO,CACL,OAAO2B,EAASC,QAAQ5B,EAC1B,CACF,GAAG,CAACA,IAEJ,IAAAjH,EAAgCC,EAAS,OAAlC6I,EAAQ9I,EAAA,GAAE+I,EAAW/I,EAAA,GAE5B,IAAAmB,EAAyB3B,EAAesB,GAAUM,WAA3CjC,EAAKgC,EAAA,GAAEnC,EAAOmC,EAAA,GAErB,IAAM6H,EAAUrI,EAAM8B,gBAAe,WAAA,OAAA,IAAAC,SAAA,SAAAC,EAAAC,GAAA,IAAAqG,EACnC,OAAAvG,QAAAmB,QAAM7E,EAAQK,wBAAdyE,MAAoC,SAAAoF,GArIxC,IAsII3G,EAAKoC,cACL,GAAIuB,EAAYkC,IAAqCA,EAAkC,CACrF,GAAI3G,EAAkB,CACpBjD,EAASY,GAAA6J,EAAA,CAAA,EAAAA,EACNhH,EAAWE,QAAS,EAAC8G,EACrBhH,EAAWZ,UAAWA,EAAQ4H,GAC5BhE,GAEP,KAAO,CACLzG,EAAUyG,EACZ,CACF,CAAC,OAAAtC,GAjJI,CAAC,MAAAa,GAAW,OAAOZ,EAAAY,EAAM,CAAC,GAAAZ,EAqIK,OAetC,IAAMuG,EAAkBpI,GAAQ,WAC9B,IAAMqI,EAAmB,GACtBrB,GAAAA,MAAAA,EAAkBsB,QACjBnC,EAACoC,EAAalK,EAAA,CAASmK,KAAK,UAAUC,SAAS,UAAazB,EAAgB,CAAAd,UACzEc,eAAAA,EAAkB0B,OAAQ,OADV,KAGjB,OACHzB,GAAgB,MAAhBA,EAAkBqB,QACjBnC,EAACoC,EAAalK,EAAA,CAASsK,QAASV,GAAahB,EAAgB,CAAAf,UAC1De,eAAAA,EAAkByB,OAAQ,OADV,KAGjB,MACJE,OAAOC,SACT,IAAMC,EAAuB5B,eAAAA,EAAgB1F,GAC7C,IAAMuH,EAAkBD,GAAAA,UAAAA,EAAAA,EAAsBE,UAC9C,IAAMC,GAAmBH,eAAAA,EAAsBG,WAAY,GAE3D,IAAID,EAAoBX,EACxB,GAAIU,EAAiB,CACnB,GAAIrB,IAAiC,cAAe,CAClDsB,KAASE,OAAOb,EAAqBU,EACvC,MAAO,GAAIrB,IAAiC,eAAgB,CAC1DsB,KAASE,OAAOH,EAAoBV,EACtC,KAAO,CACLW,EAAYD,CACd,CACF,CAEA,GAAIvC,EAAS2C,OAAS,EAAG,CACvB,IAAMC,EACJjD,EAACoC,EAAa,CACZC,KAAK,OAEL9B,MAAO,CAAE2C,QAAS,KAClBV,QAAS,SAAAA,IACPX,GAAaD,EACb,EAAA7B,SAED6B,EACCtB,EAAA,OAAA,CAAAP,SAAM,CAAA,KAEJC,EAAAmD,EAAA,CAAY5C,MAAO,CAAE6C,WAAY,EAAGC,SAAU,SAGhD/C,EAAA,OAAA,CAAAP,SAAM,CAAA,KAEJC,EAAAsD,EAAA,CAAc/C,MAAO,CAAE6C,WAAY,EAAGC,SAAU,UAdhD,gBAoBR,GAAIR,EAAUG,OAAS,GAAKF,EAASE,SAAW,EAAG,CACjDH,EAAUU,KAAKN,QACV,IAAIH,GAAQ,UAAA,EAARA,EAAUE,QAAS,EAAG,CAC/BF,EAASS,KAAKN,EAChB,CACF,CAEA,OAAOzB,EACJgC,KAAI,SAACC,EAAMC,GACV,IAAK9B,GAAYvB,EAASsD,MAAK,SAACC,GAAO,MAAK,KAAKA,IAAcH,EAAKlL,OAAM,OAAO,KACjF,GAAIkL,EAAK9K,MAAM,UAAW,OAAO,KACjC,GAAI8K,EAAKpB,KAAK,iBAAmB,UAAW,OAAOoB,EACnD,OAAOzD,EAAC6D,EAASC,IAAG,CAAA/D,SAAc0D,GAARC,EAC3B,IACAjB,OAAOC,SACPK,OACC/C,EAAC6D,EAASE,WAAU7L,KAAeyK,EAAoB,CAAEG,SAAUA,EAAUD,UAAWA,IAA9D,KAE/B,GAAE,CACDrB,EACAT,EACAV,EACAhF,EACAyG,EACAF,EACAf,EACAC,EACAS,IAGF,OACEvB,EAACgE,EAAW,CACV/E,UAAWC,EAAW,oBAAqBkC,GAC3Cb,MAAOY,EAAmBpB,SAE1BC,EAACiE,EAAQ/L,EAAA,CACPmD,KAAMA,EACN6I,aAAa,MACbC,SAAUrF,EACVf,cAAa7F,EACR6F,CAAAA,EAAAA,EACA9F,EAAMN,gBAEXsH,UAAWgC,EACXV,MAAO5H,EAAMyL,UACbC,OAAQ,KACRC,WAAW,KACXC,WAAW,QACXC,YAAY,MACRlD,EAAa,CAAAvB,SAEhBpH,EAAM0L,OACLtE,EAEAC,EAAC6D,EAASY,IAAG,CAACC,OAAQ,CAAC,GAAI,GAAIC,SAAUhM,EAAMiM,aAAa7E,SACzDkC,QAMb,EC9PO,IAAM4C,EAAe,SAAfA,IACX,IAAMlE,EAAMC,EAAWxJ,GACvB,OAAOuJ,EAAIlJ,iBACb,EAOO,IAAMqN,EAAiB,SAAjBA,IACX,IAAMnE,EAAMC,EAAWxJ,GACvB,MAAO,CACL8F,QAASyD,EAAIlJ,kBAEjB,6FCmCO,IAAMsN,EAAiB,SAAjBA,EAA0CpM,GACrD,IAAMgI,EAAMC,EAAWxJ,GACvB,IAAQ2I,EAAwDpH,EAAxDoH,SAAUiF,EAA8CrM,EAA9CqM,OAAQxF,EAAsC7G,EAAtC6G,WAAYyF,EAA0BtM,EAA1BsM,OAAWC,EAAUC,EAAKxM,EAAKyM,GAErE,IACExL,EAYE+G,EAZF/G,SACAmB,EAWE4F,EAXF5F,WACAzD,EAUEqJ,EAVFrJ,UACA6I,EASEQ,EATFR,gBACA9F,EAQEsG,EARFtG,YACAF,EAOEwG,EAPFxG,SACAiG,EAMEO,EANFP,WACA9G,EAKEqH,EALFrH,QACAyE,EAIE4C,EAJF5C,cACAqB,EAGEuB,EAHFvB,gBACAV,EAEEiC,EAFFjC,sBACA7D,EACE8F,EADF9F,eAEF,IAAAZ,EAAyB3B,EAAesB,GAAUM,WAA3CjC,EAAKgC,EAAA,GAAEnC,EAAOmC,EAAA,GAErBoL,EAASC,iBAAgB,WACvB3E,EAAI/B,iBAAkBjG,EAAM4M,SAAW,GACzC,GAAG,CAAC5M,EAAM4M,UAEV,IAAMC,EAAsB3L,GAAQ,WAClC,GAAIuF,GAAmBI,IAAe,MAAO,OAAO,MACpD,OAAAtH,EAAA,CACEoH,gBAAiB,KACjBpC,QAASjF,EAAMN,eAAeoD,EAAWE,SAAW,EACpDd,SAAUlC,EAAMN,eAAeoD,EAAWZ,WAAaA,EACvDhB,MAAOiH,EACPb,UAAW,SAAAA,EAACpG,GAAK,MAAA,KAAUA,EAAK,MAAA,GAC7BR,EAAM6G,WAAU,CACnBiG,qBAAsBC,GAEzB,GAAE,CACD3K,EAAWE,OACXF,EAAWZ,SACXA,EACAqF,EACAJ,EACAzG,EAAM6G,WACNvH,EAAMN,eACNyI,IAGF,IAAMuF,EAA6C,SAA7CA,EAA8CnG,EAAYoG,EAASC,EAAQC,GAC/E,GAAIA,EAAMC,SAAW,YAAcP,EAAqB,CAAA,IAAAQ,EACtD1O,GAAS0O,EAAA,CAAA,EAAAA,EACNjL,EAAWZ,UAAWqF,EAAWrF,SAAQ6L,EACzCjL,EAAWE,QAASuE,EAAWtC,QAAO8I,GAE3C,KAAO,CACLrN,EAAM8G,UAAN9G,UAAAA,EAAAA,EAAM8G,SAAWD,EAAYoG,EAASC,EAAQC,EAChD,GAGF,IAAM9M,EAAaa,GAAQ,WACzB,IAAKsG,EAAiB,OAAOxG,UAC7B,GAAIwG,EAAgB6C,SAAW,EAAG,CAChC,MAAO,EACT,CACA,UAAWgC,IAAW,UAAYiB,EAAkB9F,EAAgB,GAAG6E,IAAU,CAC/E,OAAO7E,EAAgBqD,KAAI,SAACC,GAC1BA,EAAKuB,GAAUkB,IACf,OAAOzC,CACT,GACF,CACA,OAAOtD,CACT,GAAG,CAACA,EAAiB6E,IAErBK,EAASC,iBAAgB,WACvB,IAAMa,EAAgB/G,GAAmBoG,IAAwB,MACjE9G,EAAsByH,GACtB,GAAI9L,IAAgB,QAAUpC,EAAML,OAAQ,CAC1C,GAAIuO,EAAe,CAAA,IAAApE,OACZzK,EAASY,GAAA6J,EAAA,CAAA,EAAAA,EACXhH,EAAWE,QAAS,EAAC8G,EACrBhH,EAAWZ,UAAWA,EAAQ4H,GAC5BhE,EACA9F,EAAMN,gBAEb,KAAO,MACAL,EAAUyG,EACjB,CACF,KAAO,MACAjG,EAAQC,sBAAsBgG,EACrC,MACKjG,EAAQM,kBACd,GAAE,IAEH,IAAMmN,EAAU1L,GAAQ,WACtB,IAAM0L,EAAU1K,EAAiBA,EAAiBlC,EAAM4M,QAExD,OAAOA,EAAQ/B,KAAI,SAACC,GAClB,IAAQ2C,EAAoD3C,EAApD2C,QAASC,EAA2C5C,EAA3C4C,iBAAkBC,EAAyB7C,EAAzB6C,MAAUpB,EAAUC,EAAK1B,EAAI8C,GAChE,UAAWD,IAAU,UAAYD,EAAkB,CACjD,UAAWA,IAAqB,SAAU,CACxC,OAAAnO,KACKgN,EAAU,CACboB,MACEtG,EAACwG,EAAW,CAACC,QAAQ,UAAUC,aAAc,CAAEC,QAASN,GAAmBtG,SACxEuG,KAIT,CACA,OAAApO,KACKgN,EAAU,CACboB,MAAOtG,EAACwG,EAAWtO,KAAKmO,EAAgB,CAAAtG,SAAGuG,MAE/C,CACA,UAAWA,IAAU,YAAcF,EAAS,CAC1C,OAAAlO,KACKgN,EAAU,CACboB,MAAOtG,EAAC4G,EAAiB,CAACR,QAASA,EAASE,MAAOA,KAEvD,CACA,OAAO7C,CACT,GACD,GAAE,CAAC5I,EAAgBlC,EAAM4M,UAE1B,IAAMsB,EAAc,SAAdA,IACJ,GAAI5B,IAAWjM,EAAY,CAEzB,OACEsH,EAACwG,EAAQ,CAAA/G,SACNA,CAAAA,EACDC,EAAC+G,EAAK,CAEJtG,KAAK,QACLuG,OAAQ,CAAEC,EAAG,eACbC,SAAQ,KACR3B,QAASA,EACTP,OAAQA,EACR1L,QAAS,MANL,OAUZ,CACA,GAAI6N,IAAY,CACd,OACE7G,EAACwG,EAAQ,CAAA/G,UACNA,EACDC,EAAC+G,EAAK7O,EAAA,CAEJuI,KAAK,QACLuG,OAAQ,CAAEC,EAAG,eACbC,SAAQ,MACJhC,EAAU,CACdK,QAASA,EACT/F,WAAYgG,EACZR,OAAQA,EACRvF,SAAUkG,EACVrM,QAASA,EACTN,WAAYA,IAVR,OAcZ,CACA,OACEsH,EAACwG,EAAQ,CAAA/G,SACNA,CAAAA,EACDC,EAACoH,EAAc,CAAArH,SACbC,EAAC+G,EAAK7O,EAAA,CAEJuI,KAAK,QACLuG,OAAQ,CAAEC,EAAG,eACbC,SAAQ,MACJhC,EAAU,CACdK,QAASA,EACT/F,WAAYgG,EACZR,OAAQA,EACRvF,SAAUkG,EACVrM,QAASA,EACTN,WAAYA,IAVR,WAiBd,OACEgH,EAACgE,EAAW,CACV/E,UAAWC,EACT,mBACA,CAAE,uBAAwBvG,EAAM0O,gBAAkB,SAClD1O,EAAM2O,uBAER/G,MAAO5H,EAAM4O,kBAAkBxH,SAE9B8G,KAGP,ECpOO,IAAMpO,EAAY+O,EAASC,4BAA4BC,EAAgB,CA+B5EC,OAAQjH,EASRqG,MAAOhC,EAIPD,eAAgBA,EAGhBD,aAAcA"}
@@ -1 +1 @@
1
- .editable-table{padding-bottom:15px}.editable-table .ant-form-item{margin:0!important}.editable-table .editable-text-view.ant-typography{margin-bottom:0}.editable-table:not(.et-empty-show-large) .ant-table-placeholder .ant-empty{align-items:center;display:flex;justify-content:center;margin:0}.editable-table:not(.et-empty-show-large) .ant-table-placeholder .ant-empty-image{height:25px;margin:0;width:50px}.editable-input-number-form-item .ant-input-number{width:100%}
1
+ .tips-wrapper{align-items:center;display:inline-flex}.tips-wrapper-icon{flex-shrink:0;opacity:.8}.tips-wrapper-text{flex:1;overflow:hidden}.editable-table{padding-bottom:15px}.editable-table .ant-form-item{margin:0!important}.editable-table .editable-text-view.ant-typography{margin-bottom:0}.editable-table:not(.et-empty-show-large) .ant-table-placeholder .ant-empty{align-items:center;display:flex;justify-content:center;margin:0}.editable-table:not(.et-empty-show-large) .ant-table-placeholder .ant-empty-image{height:25px;margin:0;width:50px}.editable-input-number-form-item .ant-input-number{width:100%}
package/esm/index.js CHANGED
@@ -82,6 +82,8 @@ import './form-list-wrapper/index.css';
82
82
  import './input-search-wrapper/index.css';
83
83
  import './json-editor/index.css';
84
84
  import './label-value-layout/index.css';
85
+ import './label-value-render/index.css';
86
+ import './text-overflow/index.css';
85
87
  import './local-loading/index.css';
86
88
  import './mention-editor/index.css';
87
89
  import './mentions-wrapper/index.css';
@@ -110,7 +112,6 @@ import './switch-confirm-wrapper/index.css';
110
112
  import './tabs-wrapper/index.css';
111
113
  import './tag-group/index.css';
112
114
  import './tag-wrapper/index.css';
113
- import './text-overflow/index.css';
114
115
  import './text-overflow-render/index.css';
115
116
  import './time-picker-wrapper/index.css';
116
117
  import './time-range-picker-wrapper/index.css';
@@ -120,5 +121,5 @@ import './tree-selector-wrapper/index.css';
120
121
  import './tree-wrapper/index.css';
121
122
  import './index.css';
122
123
  /*! @flatjs/forge MIT @flatbiz/antd */
123
- export{AceEditorGroovy}from"./ace-editor-groovy/index.js";export{AceEditorJava}from"./ace-editor-java/index.js";export{AceEditorJson}from"./ace-editor-json/index.js";export{AceEditorMysql}from"./ace-editor-mysql/index.js";export{AceEditorXml}from"./ace-editor-xml/index.js";export{AlertWrapper}from"./alert-wrapper/index.js";export{AmountFenInput}from"./amount-fen-input/index.js";export{AmountFenInputFormItem}from"./amount-fen-input-form-item/index.js";export{AnchorSteps}from"./anchor-steps/index.js";export{B as BlockLayout}from"./index-1f45bfd5.js";export{Bootstrap}from"./bootstrap/index.js";export{BoxGrid,useBoxBreakpoint}from"./box-grid/index.js";export{ButtonOperate,ButtonOperateItemContent}from"./button-operate/index.js";export{ButtonWrapper}from"./button-wrapper/index.js";export{CardLayout}from"./card-layout/index.js";export{CardWrapper}from"./card-wrapper/index.js";export{CascaderWrapper}from"./cascader-wrapper/index.js";export{CheckList}from"./check-list/index.js";export{CheckboxWrapper}from"./checkbox-wrapper/index.js";export{ColorPickerWrapper}from"./color-picker-wrapper/index.js";export{C as ConfigProviderWrapper}from"./index-7f4ad045.js";export{createDrawerWrapperModel}from"./create-drawer-wrapper-model/index.js";export{createModalWrapperModel}from"./create-modal-wrapper-model/index.js";export{CssNodeHover}from"./css-node-hover/index.js";export{DataRender}from"./data-render/index.js";export{DatePickerWrapper}from"./date-picker-wrapper/index.js";export{DateRangePickerWrapper}from"./date-range-picker-wrapper/index.js";export{DateRangePickerWrapperFormItem}from"./date-range-picker-wrapper-form-item/index.js";export{dialogAlert}from"./dialog-alert/index.js";export{dialogConfirm}from"./dialog-confirm/index.js";export{dialogDrawer}from"./dialog-drawer/index.js";export{DialogDrawerContent}from"./dialog-drawer-content/index.js";export{dialogLoading}from"./dialog-loading/index.js";export{dialogModal}from"./dialog-modal/index.js";export{DragCollapse}from"./drag-collapse/index.js";export{DragCollapseFormList}from"./drag-collapse-form-list/index.js";export{DragEditableTable}from"./drag-editable-table/index.js";export{DragFormList}from"./drag-form-list/index.js";export{DragTable}from"./drag-table/index.js";export{DrawerWrapper}from"./drawer-wrapper/index.js";export{DropdownMenuWrapper}from"./dropdown-menu-wrapper/index.js";export{dynamicNode}from"./dynamic-node/index.js";export{EasyForm}from"./easy-form/index.js";export{EasyTable}from"./easy-table/index.js";export{EditableField}from"./editable-field/index.js";export{EditableFieldProvider}from"./editable-field-provider/index.js";export{EditableTable}from"./editable-table/index.js";export{EditorWrapper}from"./editor-wrapper/index.js";export{ErrorBoundaryWrapper}from"./error-boundary-wrapper/index.js";export{FbaApp}from"./fba-app/index.js";export{fbaHooks}from"./fba-hooks/index.js";export{fbaUtils}from"./fba-utils/index.js";export{FileExport}from"./file-export/index.js";export{FileImport}from"./file-import/index.js";export{FileSelect}from"./file-select/index.js";export{FlexLayout}from"./flex-layout/index.js";export{FormGrid}from"./form-grid/index.js";export{FormItemGroup}from"./form-item-group/index.js";export{FormItemHidden}from"./form-item-hidden/index.js";export{FormItemText}from"./form-item-text/index.js";export{FormItemWrapper}from"./form-item-wrapper/index.js";export{FormListWrapper}from"./form-list-wrapper/index.js";export{FormWrapper}from"./form-wrapper/index.js";export{Gap}from"./gap/index.js";export{IconWrapper}from"./icon-wrapper/index.js";export{InputSearchWrapper}from"./input-search-wrapper/index.js";export{InputTextAreaWrapper}from"./input-text-area-wrapper/index.js";export{InputWrapper}from"./input-wrapper/index.js";export{JsonEditor}from"./json-editor/index.js";export{LabelValueLayout}from"./label-value-layout/index.js";export{LocalLoading}from"./local-loading/index.js";export{MetionEditor}from"./mention-editor/index.js";export{MentionsWrapper}from"./mentions-wrapper/index.js";export{ModalAction}from"./modal-action/index.js";export{ModalWrapper}from"./modal-wrapper/index.js";export{PageFixedFooter}from"./page-fixed-footer/index.js";export{Page404}from"./page404/index.js";export{P as PaginationWrapper}from"./index-6677fbfc.js";export{Permission}from"./permission/index.js";export{preDefinedClassName}from"./pre-defined-class-name/index.js";export{RadioGroupWrapper}from"./radio-group-wrapper/index.js";export{RelationTree}from"./relation-tree/index.js";export{RequestStatus}from"./request-status/index.js";export{RichTextEditor}from"./rich-text-editor/index.js";export{RichTextViewer}from"./rich-text-viewer/index.js";export{RollLocationCenter}from"./roll-location-center/index.js";export{RollLocationInView}from"./roll-location-in-view/index.js";export{RuleDescribe}from"./rule-describe/index.js";export{SearchForm}from"./search-form/index.js";export{SearchMenu}from"./search-menu/index.js";export{SelectorWrapper}from"./selector-wrapper/index.js";export{SelectorWrapperSearch}from"./selector-wrapper-search/index.js";export{SelectorWrapperSimple}from"./selector-wrapper-simple/index.js";export{SimpleLayout}from"./simple-layout/index.js";export{SmsCountDown}from"./sms-count-down/index.js";export{SplitWrapper}from"./split-wrapper/index.js";export{styles}from"./styles/index.js";export{SvgHttpView}from"./svg-http-view/index.js";export{SwitchConfirmWrapper}from"./switch-confirm-wrapper/index.js";export{SwitchWrapper}from"./switch-wrapper/index.js";export{tableCellRender}from"./table-cell-render/index.js";export{TableScrollbar}from"./table-scrollbar/index.js";export{TableTitleTooltip}from"./table-title-tooltip/index.js";export{TabsWrapper}from"./tabs-wrapper/index.js";export{TagGroup}from"./tag-group/index.js";export{TagListSelect}from"./tag-list-select/index.js";export{TagWrapper}from"./tag-wrapper/index.js";export{TextCssEllipsis}from"./text-css-ellipsis/index.js";export{TextOverflow}from"./text-overflow/index.js";export{TextOverflowRender}from"./text-overflow-render/index.js";export{TextSymbolWrapper}from"./text-symbol-wrapper/index.js";export{TimePickerWrapper}from"./time-picker-wrapper/index.js";export{TimeRangePickerWrapper}from"./time-range-picker-wrapper/index.js";export{TimeRangePickerWrapperFormItem}from"./time-range-picker-wrapper-form-item/index.js";export{TipsTitle}from"./tips-title/index.js";export{TipsWrapper}from"./tips-wrapper/index.js";export{TreeSelectorWrapper}from"./tree-selector-wrapper/index.js";export{TreeWrapper}from"./tree-wrapper/index.js";export{UploadWrapper}from"./upload-wrapper/index.js";import"./_rollupPluginBabelHelpers-a0769acd.js";import"@dimjs/utils/cjs/class-names";import"@wove/react/cjs/hooks";import"@dimjs/lang/cjs/is-object";import"@flatbiz/utils";import"react";import"react-ace";import"./ext-language_tools-0c27f877.js";import"react/jsx-runtime";import"./mode-json-062fdb24.js";import"sql-formatter";import"antd";import"xml-formatter";import"@dimjs/utils/cjs/get";import"@dimjs/lang/cjs/is-number";import"ahooks";import"@ant-design/icons/es/icons/MoreOutlined";import"@dimjs/lang/cjs/is-undefined";import"@dimjs/lang/cjs/is-plain-object";import"@dimjs/lang/cjs/is-string";import"@dimjs/lang/cjs/is-promise";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-array";import"@dimjs/utils/cjs/extend";import"@ant-design/icons/es/icons/RedoOutlined";import"@dimjs/model";import"@dimjs/model-react";import"@wove/react/cjs/create-ctx";import"@ant-design/icons/es/icons/CloseCircleOutlined";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"./time-53b3f55f.js";import"react-dom/client";import"./context-1f2093c6.js";import"./dom-4d04aa64.js";import"@dimjs/lang/cjs/is-null";import"@dimjs/utils/cjs/array";import"@dnd-kit/core";import"@dnd-kit/sortable";import"@ant-design/icons/es/icons/DragOutlined";import"@dnd-kit/utilities";import"@dnd-kit/modifiers";import"@ant-design/icons/es/icons/SaveOutlined";import"@ant-design/icons/es/icons/ExclamationCircleFilled";import"@ant-design/icons/es/icons/DownOutlined";import"@ant-design/icons/es/icons/UpOutlined";import"react-is";import"@ant-design/icons/es/icons/CloseOutlined";import"@ant-design/icons/es/icons/CheckOutlined";import"@ant-design/icons/es/icons/EditOutlined";import"./context-25d0b686.js";import"@ant-design/icons/es/icons/PlusOutlined";import"@dimjs/lang/cjs/is-boolean";import"@ant-design/icons/es/icons/DeleteOutlined";import"@wove/react/cjs/editor";import"./use-responsive-point-21b8c601.js";import"@dimjs/lang/cjs/is-deep-equal";import"@tinymce/tinymce-react";import"@ant-design/icons/es/icons/PlusCircleOutlined";import"@ant-design/icons/es/icons/FullscreenOutlined";import"@dimjs/utils/cjs/json";import"pubsub-js";import"react-split";import"@dimjs/lang/cjs/is-empty";import"@ant-design/icons/es/icons/QuestionCircleOutlined";import"dayjs/plugin/isSameOrAfter";import"dayjs/plugin/isSameOrBefore";import"@ant-design/icons/es/icons/CaretDownFilled";import"dequal";import"@dimjs/utils/cjs/tree";import"react-dom";
124
+ export{AceEditorGroovy}from"./ace-editor-groovy/index.js";export{AceEditorJava}from"./ace-editor-java/index.js";export{AceEditorJson}from"./ace-editor-json/index.js";export{AceEditorMysql}from"./ace-editor-mysql/index.js";export{AceEditorXml}from"./ace-editor-xml/index.js";export{AlertWrapper}from"./alert-wrapper/index.js";export{AmountFenInput}from"./amount-fen-input/index.js";export{AmountFenInputFormItem}from"./amount-fen-input-form-item/index.js";export{AnchorSteps}from"./anchor-steps/index.js";export{B as BlockLayout}from"./index-1f45bfd5.js";export{Bootstrap}from"./bootstrap/index.js";export{BoxGrid,useBoxBreakpoint}from"./box-grid/index.js";export{ButtonOperate,ButtonOperateItemContent}from"./button-operate/index.js";export{ButtonWrapper}from"./button-wrapper/index.js";export{CardLayout}from"./card-layout/index.js";export{CardWrapper}from"./card-wrapper/index.js";export{CascaderWrapper}from"./cascader-wrapper/index.js";export{CheckList}from"./check-list/index.js";export{CheckboxWrapper}from"./checkbox-wrapper/index.js";export{ColorPickerWrapper}from"./color-picker-wrapper/index.js";export{C as ConfigProviderWrapper}from"./index-7f4ad045.js";export{createDrawerWrapperModel}from"./create-drawer-wrapper-model/index.js";export{createModalWrapperModel}from"./create-modal-wrapper-model/index.js";export{CssNodeHover}from"./css-node-hover/index.js";export{DataRender}from"./data-render/index.js";export{DatePickerWrapper}from"./date-picker-wrapper/index.js";export{DateRangePickerWrapper}from"./date-range-picker-wrapper/index.js";export{DateRangePickerWrapperFormItem}from"./date-range-picker-wrapper-form-item/index.js";export{dialogAlert}from"./dialog-alert/index.js";export{dialogConfirm}from"./dialog-confirm/index.js";export{dialogDrawer}from"./dialog-drawer/index.js";export{DialogDrawerContent}from"./dialog-drawer-content/index.js";export{dialogLoading}from"./dialog-loading/index.js";export{dialogModal}from"./dialog-modal/index.js";export{DragCollapse}from"./drag-collapse/index.js";export{DragCollapseFormList}from"./drag-collapse-form-list/index.js";export{DragEditableTable}from"./drag-editable-table/index.js";export{DragFormList}from"./drag-form-list/index.js";export{DragTable}from"./drag-table/index.js";export{DrawerWrapper}from"./drawer-wrapper/index.js";export{DropdownMenuWrapper}from"./dropdown-menu-wrapper/index.js";export{dynamicNode}from"./dynamic-node/index.js";export{EasyForm}from"./easy-form/index.js";export{EasyTable}from"./easy-table/index.js";export{EditableField}from"./editable-field/index.js";export{EditableFieldProvider}from"./editable-field-provider/index.js";export{EditableTable}from"./editable-table/index.js";export{EditorWrapper}from"./editor-wrapper/index.js";export{ErrorBoundaryWrapper}from"./error-boundary-wrapper/index.js";export{FbaApp}from"./fba-app/index.js";export{fbaHooks}from"./fba-hooks/index.js";export{fbaUtils}from"./fba-utils/index.js";export{FileExport}from"./file-export/index.js";export{FileImport}from"./file-import/index.js";export{FileSelect}from"./file-select/index.js";export{FlexLayout}from"./flex-layout/index.js";export{FormGrid}from"./form-grid/index.js";export{FormItemGroup}from"./form-item-group/index.js";export{FormItemHidden}from"./form-item-hidden/index.js";export{FormItemText}from"./form-item-text/index.js";export{FormItemWrapper}from"./form-item-wrapper/index.js";export{FormListWrapper}from"./form-list-wrapper/index.js";export{FormWrapper}from"./form-wrapper/index.js";export{Gap}from"./gap/index.js";export{IconWrapper}from"./icon-wrapper/index.js";export{InputSearchWrapper}from"./input-search-wrapper/index.js";export{InputTextAreaWrapper}from"./input-text-area-wrapper/index.js";export{InputWrapper}from"./input-wrapper/index.js";export{JsonEditor}from"./json-editor/index.js";export{LabelValueLayout}from"./label-value-layout/index.js";export{LabelValueRender}from"./label-value-render/index.js";export{LocalLoading}from"./local-loading/index.js";export{MetionEditor}from"./mention-editor/index.js";export{MentionsWrapper}from"./mentions-wrapper/index.js";export{ModalAction}from"./modal-action/index.js";export{ModalWrapper}from"./modal-wrapper/index.js";export{PageFixedFooter}from"./page-fixed-footer/index.js";export{Page404}from"./page404/index.js";export{P as PaginationWrapper}from"./index-6677fbfc.js";export{Permission}from"./permission/index.js";export{preDefinedClassName}from"./pre-defined-class-name/index.js";export{RadioGroupWrapper}from"./radio-group-wrapper/index.js";export{RelationTree}from"./relation-tree/index.js";export{RequestStatus}from"./request-status/index.js";export{RichTextEditor}from"./rich-text-editor/index.js";export{RichTextViewer}from"./rich-text-viewer/index.js";export{RollLocationCenter}from"./roll-location-center/index.js";export{RollLocationInView}from"./roll-location-in-view/index.js";export{RuleDescribe}from"./rule-describe/index.js";export{SearchForm}from"./search-form/index.js";export{SearchMenu}from"./search-menu/index.js";export{SelectorWrapper}from"./selector-wrapper/index.js";export{SelectorWrapperSearch}from"./selector-wrapper-search/index.js";export{SelectorWrapperSimple}from"./selector-wrapper-simple/index.js";export{SimpleLayout}from"./simple-layout/index.js";export{SmsCountDown}from"./sms-count-down/index.js";export{SplitWrapper}from"./split-wrapper/index.js";export{styles}from"./styles/index.js";export{SvgHttpView}from"./svg-http-view/index.js";export{SwitchConfirmWrapper}from"./switch-confirm-wrapper/index.js";export{SwitchWrapper}from"./switch-wrapper/index.js";export{tableCellRender}from"./table-cell-render/index.js";export{TableScrollbar}from"./table-scrollbar/index.js";export{TableTitleTooltip}from"./table-title-tooltip/index.js";export{TabsWrapper}from"./tabs-wrapper/index.js";export{TagGroup}from"./tag-group/index.js";export{TagListSelect}from"./tag-list-select/index.js";export{TagWrapper}from"./tag-wrapper/index.js";export{TextCssEllipsis}from"./text-css-ellipsis/index.js";export{TextOverflow}from"./text-overflow/index.js";export{TextOverflowRender}from"./text-overflow-render/index.js";export{TextSymbolWrapper}from"./text-symbol-wrapper/index.js";export{TimePickerWrapper}from"./time-picker-wrapper/index.js";export{TimeRangePickerWrapper}from"./time-range-picker-wrapper/index.js";export{TimeRangePickerWrapperFormItem}from"./time-range-picker-wrapper-form-item/index.js";export{TipsTitle}from"./tips-title/index.js";export{TipsWrapper}from"./tips-wrapper/index.js";export{TreeSelectorWrapper}from"./tree-selector-wrapper/index.js";export{TreeWrapper}from"./tree-wrapper/index.js";export{UploadWrapper}from"./upload-wrapper/index.js";import"./_rollupPluginBabelHelpers-a0769acd.js";import"@dimjs/utils/cjs/class-names";import"@wove/react/cjs/hooks";import"@dimjs/lang/cjs/is-object";import"@flatbiz/utils";import"react";import"react-ace";import"./ext-language_tools-0c27f877.js";import"react/jsx-runtime";import"./mode-json-062fdb24.js";import"sql-formatter";import"antd";import"xml-formatter";import"@dimjs/utils/cjs/get";import"@dimjs/lang/cjs/is-number";import"ahooks";import"@ant-design/icons/es/icons/MoreOutlined";import"@dimjs/lang/cjs/is-undefined";import"@dimjs/lang/cjs/is-plain-object";import"@dimjs/lang/cjs/is-string";import"@dimjs/lang/cjs/is-promise";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-array";import"@dimjs/utils/cjs/extend";import"@ant-design/icons/es/icons/RedoOutlined";import"@dimjs/model";import"@dimjs/model-react";import"@wove/react/cjs/create-ctx";import"@ant-design/icons/es/icons/CloseCircleOutlined";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"./time-53b3f55f.js";import"react-dom/client";import"./context-1f2093c6.js";import"./dom-4d04aa64.js";import"@dimjs/lang/cjs/is-null";import"@dimjs/utils/cjs/array";import"@dnd-kit/core";import"@dnd-kit/sortable";import"@ant-design/icons/es/icons/DragOutlined";import"@dnd-kit/utilities";import"@dnd-kit/modifiers";import"@ant-design/icons/es/icons/SaveOutlined";import"@ant-design/icons/es/icons/ExclamationCircleFilled";import"@ant-design/icons/es/icons/DownOutlined";import"@ant-design/icons/es/icons/UpOutlined";import"react-is";import"@ant-design/icons/es/icons/CloseOutlined";import"@ant-design/icons/es/icons/CheckOutlined";import"@ant-design/icons/es/icons/EditOutlined";import"./context-25d0b686.js";import"@ant-design/icons/es/icons/PlusOutlined";import"@dimjs/lang/cjs/is-boolean";import"@ant-design/icons/es/icons/DeleteOutlined";import"@wove/react/cjs/editor";import"./use-responsive-point-21b8c601.js";import"@dimjs/lang/cjs/is-deep-equal";import"@flatbiz/antd";import"@tinymce/tinymce-react";import"@ant-design/icons/es/icons/PlusCircleOutlined";import"@ant-design/icons/es/icons/FullscreenOutlined";import"@dimjs/utils/cjs/json";import"pubsub-js";import"react-split";import"@dimjs/lang/cjs/is-empty";import"@ant-design/icons/es/icons/QuestionCircleOutlined";import"dayjs/plugin/isSameOrAfter";import"dayjs/plugin/isSameOrBefore";import"@ant-design/icons/es/icons/CaretDownFilled";import"dequal";import"@dimjs/utils/cjs/tree";import"react-dom";
124
125
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/label-value-layout/label-value-layout.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { getUuid } from '@flatbiz/utils';\nimport { Descriptions } from 'antd';\nimport { CSSProperties, ReactElement, useMemo } from 'react';\nimport './style.less';\n\nexport type LabelValueLayoutProps = {\n options: {\n label: string | ReactElement;\n value?: string | number | ReactElement | null;\n span?: number;\n hidden?: boolean;\n }[];\n labelWidth?: number | 'auto';\n // 一行占几组,默认1\n column?: number;\n /** 添加边框 */\n bordered?: boolean;\n className?: string;\n style?: CSSProperties;\n /** 边框 row 内边距 */\n borderedRowPadding?: CSSProperties['padding'];\n};\n\n/**\n * options[].span 是 Description.Item 的数量。 span={2} 会占用两个 DescriptionItem 的宽度\n * options[].hidden 是否隐藏 Description.Item\n */\nexport const LabelValueLayout = (props: LabelValueLayoutProps) => {\n const labelWidth = props.labelWidth === 'auto' ? 'auto' : `${props.labelWidth || 120}px`;\n const className = classNames('v-label-value-layout', props.className, {\n 'lvl-bordered-padding': props.borderedRowPadding,\n });\n const style = {\n '--v-label-value-layout-Width': labelWidth,\n '--v-label-value-layout-row-padding': props.borderedRowPadding,\n ...props.style,\n } as CSSProperties;\n\n const options = useMemo(() => {\n const dataList = props.options.filter((item) => !item.hidden);\n return dataList.map((item) => {\n return { key: getUuid(), ...item };\n });\n }, [props.options]);\n\n return (\n <Descriptions\n column={props.column || 1}\n bordered={props.bordered}\n size=\"small\"\n className={className}\n style={style}\n >\n {options.map((item) => {\n return (\n <Descriptions.Item key={item.key} label={item.label} span={item.span}>\n {item.value}\n </Descriptions.Item>\n );\n })}\n </Descriptions>\n );\n};\n"],"names":["LabelValueLayout","props","labelWidth","className","_classNames","borderedRowPadding","style","_extends","options","useMemo","dataList","filter","item","hidden","map","key","getUuid","_jsx","Descriptions","column","bordered","size","children","Item","label","span","value"],"mappings":";gRA4BaA,EAAmB,SAAnBA,EAAoBC,GAC/B,IAAMC,EAAaD,EAAMC,aAAe,OAAS,QAAYD,EAAMC,YAAc,KAAO,KACxF,IAAMC,EAAYC,EAAW,uBAAwBH,EAAME,UAAW,CACpE,uBAAwBF,EAAMI,qBAEhC,IAAMC,EAAKC,EAAA,CACT,+BAAgCL,EAChC,qCAAsCD,EAAMI,oBACzCJ,EAAMK,OAGX,IAAME,EAAUC,GAAQ,WACtB,IAAMC,EAAWT,EAAMO,QAAQG,QAAO,SAACC,GAAI,OAAMA,EAAKC,UACtD,OAAOH,EAASI,KAAI,SAACF,GACnB,OAAAL,EAAA,CAASQ,IAAKC,KAAcJ,EAC9B,GACF,GAAG,CAACX,EAAMO,UAEV,OACES,EAACC,EAAY,CACXC,OAAQlB,EAAMkB,QAAU,EACxBC,SAAUnB,EAAMmB,SAChBC,KAAK,QACLlB,UAAWA,EACXG,MAAOA,EAAMgB,SAEZd,EAAQM,KAAI,SAACF,GACZ,OACEK,EAACC,EAAaK,KAAI,CAAgBC,MAAOZ,EAAKY,MAAOC,KAAMb,EAAKa,KAAKH,SAClEV,EAAKc,OADgBd,EAAKG,SAOvC"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/label-value-layout/label-value-layout.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { getUuid } from '@flatbiz/utils';\nimport { Descriptions } from 'antd';\nimport { CSSProperties, ReactElement, useMemo } from 'react';\nimport './style.less';\n\nexport type LabelValueLayoutProps = {\n options: {\n label: string | ReactElement;\n value?: string | number | ReactElement | null;\n span?: number;\n hidden?: boolean;\n }[];\n labelWidth?: number | 'auto';\n // 一行占几组,默认1\n column?: number;\n /** 添加边框 */\n bordered?: boolean;\n className?: string;\n style?: CSSProperties;\n /** 边框 row 内边距 */\n borderedRowPadding?: CSSProperties['padding'];\n};\n\n/**\n * @deprecated 已过期,请使用 LabelValueRender 组件\n * options[].span 是 Description.Item 的数量。 span={2} 会占用两个 DescriptionItem 的宽度\n * options[].hidden 是否隐藏 Description.Item\n */\nexport const LabelValueLayout = (props: LabelValueLayoutProps) => {\n const labelWidth = props.labelWidth === 'auto' ? 'auto' : `${props.labelWidth || 120}px`;\n const className = classNames('v-label-value-layout', props.className, {\n 'lvl-bordered-padding': props.borderedRowPadding,\n });\n const style = {\n '--v-label-value-layout-Width': labelWidth,\n '--v-label-value-layout-row-padding': props.borderedRowPadding,\n ...props.style,\n } as CSSProperties;\n\n const options = useMemo(() => {\n const dataList = props.options.filter((item) => !item.hidden);\n return dataList.map((item) => {\n return { key: getUuid(), ...item };\n });\n }, [props.options]);\n\n return (\n <Descriptions\n column={props.column || 1}\n bordered={props.bordered}\n size=\"small\"\n className={className}\n style={style}\n >\n {options.map((item) => {\n return (\n <Descriptions.Item key={item.key} label={item.label} span={item.span}>\n {item.value}\n </Descriptions.Item>\n );\n })}\n </Descriptions>\n );\n};\n"],"names":["LabelValueLayout","props","labelWidth","className","_classNames","borderedRowPadding","style","_extends","options","useMemo","dataList","filter","item","hidden","map","key","getUuid","_jsx","Descriptions","column","bordered","size","children","Item","label","span","value"],"mappings":";gRA6BaA,EAAmB,SAAnBA,EAAoBC,GAC/B,IAAMC,EAAaD,EAAMC,aAAe,OAAS,QAAYD,EAAMC,YAAc,KAAO,KACxF,IAAMC,EAAYC,EAAW,uBAAwBH,EAAME,UAAW,CACpE,uBAAwBF,EAAMI,qBAEhC,IAAMC,EAAKC,EAAA,CACT,+BAAgCL,EAChC,qCAAsCD,EAAMI,oBACzCJ,EAAMK,OAGX,IAAME,EAAUC,GAAQ,WACtB,IAAMC,EAAWT,EAAMO,QAAQG,QAAO,SAACC,GAAI,OAAMA,EAAKC,UACtD,OAAOH,EAASI,KAAI,SAACF,GACnB,OAAAL,EAAA,CAASQ,IAAKC,KAAcJ,EAC9B,GACF,GAAG,CAACX,EAAMO,UAEV,OACES,EAACC,EAAY,CACXC,OAAQlB,EAAMkB,QAAU,EACxBC,SAAUnB,EAAMmB,SAChBC,KAAK,QACLlB,UAAWA,EACXG,MAAOA,EAAMgB,SAEZd,EAAQM,KAAI,SAACF,GACZ,OACEK,EAACC,EAAaK,KAAI,CAAgBC,MAAOZ,EAAKY,MAAOC,KAAMb,EAAKa,KAAKH,SAClEV,EAAKc,OADgBd,EAAKG,SAOvC"}
@@ -0,0 +1 @@
1
+ .label-value-render .label-value-label{color:rgba(0,0,0,.45);flex-shrink:0;font-weight:400;padding:8px 10px}.label-value-render .label-value-value{flex:1;overflow:hidden;padding:8px 0}.label-value-render .text-symbol-wrapper{display:inline-block;max-width:100%}.label-value-render .tips-wrapper{max-width:100%}.label-value-render .tips-wrapper .tips-wrapper-text{flex:initial}.label-value-render-border .box-grad-row{border-bottom:1px solid rgba(5,5,5,.06);border-left:1px solid rgba(5,5,5,.06);border-radius:6px;border-top:1px solid rgba(5,5,5,.06);overflow:hidden}.label-value-render-border .box-grad-col:not(.label-value-last-tr){border-bottom:1px solid rgba(5,5,5,.06)}.label-value-render-border .label-value-label{background-color:rgba(0,0,0,.02);color:rgba(0,0,0,.45);font-weight:400;padding:8px 16px}.label-value-render-border .label-value-value{border-left:1px solid rgba(5,5,5,.06);border-right:1px solid rgba(5,5,5,.06);padding:8px 16px}.label-value-render-right .label-value-label{text-align:right}.label-value-render-right .label-value-label .tips-wrapper{justify-content:right}.label-value-render-left .label-value-label{text-align:left}.label-value-render-center .label-value-label{text-align:center}.label-value-render-center .label-value-label .tips-wrapper{justify-content:center}.label-value-tr{display:flex}.label-value-render-vertical .label-value-tr{display:block}.label-value-render-vertical .label-value-label{display:block;padding:0;text-align:left}.label-value-render-vertical .label-value-value{display:block;padding:5px 0 15px}
@@ -0,0 +1,8 @@
1
+ /* eslint-disable */
2
+ import './../text-overflow/index.css';
3
+ import './../fba-hooks/index.css';
4
+ import './../tips-wrapper/index.css';
5
+ import './index.css';
6
+ /*! @flatjs/forge MIT @flatbiz/antd */
7
+ import{hooks as e}from"@wove/react/cjs/hooks";import{classNames as r}from"@dimjs/utils/cjs/class-names";import{_ as l}from"../_rollupPluginBabelHelpers-a0769acd.js";import{useState as i,useMemo as t,Fragment as a}from"react";import{fbaHooks as s,BoxGrid as n,TextSymbolWrapper as o}from"@flatbiz/antd";import{arrayTotal as u,isUndefinedOrNull as p}from"@flatbiz/utils";import{TextOverflow as m}from"../text-overflow/index.js";import{TipsWrapper as d}from"../tips-wrapper/index.js";import{jsx as f,jsxs as v}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-string";import"ahooks";import"antd";import"../fba-hooks/index.js";import"@dimjs/lang/cjs/is-array";import"../use-responsive-point-21b8c601.js";import"@ant-design/icons/es/icons/QuestionCircleOutlined";var c=function e(r){var i=[];var t=0;var a=[];for(var s=0;s<r.length;s++){var n=r[s];var o=n.grid;var p=l({},n,{grid:o});if(t+o<=24&&o>0){t+=o;a.push(p)}else{i.push(a);t=o;a=[p]}}if(a.length>0){i.push(a)}if(i.length>0){i=i.map((function(e,r){if(e.length===1){e[0].grid=24}else{var l=u(e,"grid");var t=e[e.length-1];if(l<24){t.grid=24-l+t.grid}}if(r===i.length-1){return e.map((function(e){e.isLast=true;return e}))}return e}))}var m=[];i.forEach((function(e){m=m.concat(e)}));console.log("resultsFt",m);return m};var x=function u(x){var h=s.useResponsivePoint()||"";var g=i(),b=g[0],j=g[1];var y=x.column,w=x.forceColumn,N=x.labelAlign,k=x.labelWidth,B=x.options,C=x.border,P=x.width;var R=p(x.ellipsis)?true:x.ellipsis;var S=!C?h==="xs"||b==="xs":false;var T=t((function(){if(w){var e=24/w;return{xs:e,sm:e,md:e,lg:e,xl:e,xxl:e}}var r={1:{xs:24,sm:24,md:24,lg:24,xl:24,xxl:24},2:{xs:24,sm:12,md:12,lg:12,xl:12,xxl:12},3:{xs:24,sm:12,md:12,lg:8,xl:8,xxl:8},4:{xs:24,sm:12,md:12,lg:6,xl:6,xxl:6}};return!y?r[4]:r[y]}),[y,w]);var q=t((function(){if(!b)return undefined;var e=[];B.forEach((function(r){if(!r.hidden){var i=undefined;if(r.span){i=r.span*6;if(b==="xs"){i=24}else if(b==="sm"){i=i>12?i:12}}e.push(l({},r,{grid:i?i:T[b]}))}}));return c(e.filter(Boolean))}),[b,T]);var z=C?"":":";var E=function e(){return q==null?void 0:q.map((function(e,i){var t=p(e.ellipsis)?R:e.ellipsis;var s=S?undefined:k||100;var u=""+e.label+z;if(e.tips&&t){u=f(d,{tipType:"tooltip",tooltipProps:{title:e.tips},children:f(m,{text:u})})}else if(e.tips){u=f(d,{tipType:"tooltip",tooltipProps:{title:e.tips},children:u})}else if(t){u=f(m,{text:u})}return f(n.Col,l({},T,{span:e.grid,className:r("label-value-tr",{"label-value-last-tr":e.isLast}),children:!e.replenish?v(a,{children:[f("span",{className:"label-value-label",style:l({width:s},x.labelStyle),children:e.required?f(o,{text:u,symbolType:"required"}):u}),t?f("span",{className:"label-value-value",style:x.valueStyle,children:f(m,{text:e.value})}):f("span",{className:"label-value-value",style:x.valueStyle,children:e.value})]}):f(a,{})}),i)})).filter(Boolean)};var L=e.useCallbackRef((function(e){j(e)}));var _=t((function(){if(["xs","sm"].includes(h)||!P){return{}}return{width:P}}),[h]);var A=N||(C?"left":"right");return f(n.Row,{style:l({},_,x.style),className:r("label-value-render","label-value-render-"+A,{"label-value-render-border":C,"label-value-render-vertical":S},x.className),gutter:C?[0,0]:[30,0],onBoxBreakpointChange:L,children:E()})};export{x as LabelValueRender};
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/label-value-render/utils.ts","@flatbiz/antd/src/label-value-render/label-value.tsx"],"sourcesContent":["import { arrayTotal } from '@flatbiz/utils';\nimport { TLabelValueRenderItem } from './types';\n\nexport const getRenderGrid = (dataList: TLabelValueRenderItem[]) => {\n let results: TLabelValueRenderItem[][] = [];\n\n let currentSum = 0;\n let currentArr: TLabelValueRenderItem[] = [];\n for (let i = 0; i < dataList.length; i++) {\n const item = dataList[i];\n const grid = item.grid as number;\n const temp = {\n ...item,\n grid: grid,\n } as TLabelValueRenderItem;\n if (currentSum + grid <= 24 && grid > 0) {\n currentSum += grid;\n currentArr.push(temp);\n } else {\n results.push(currentArr);\n currentSum = grid;\n currentArr = [temp];\n }\n }\n\n if (currentArr.length > 0) {\n results.push(currentArr);\n }\n if (results.length > 0) {\n results = results.map((item, index) => {\n if (item.length === 1) {\n item[0].grid = 24;\n } else {\n const total = arrayTotal(item, 'grid');\n const lastItem = item[item.length - 1];\n if (total < 24) {\n lastItem.grid = 24 - total + lastItem.grid;\n }\n }\n if (index === results.length - 1) {\n return item.map((temp) => {\n temp.isLast = true;\n return temp;\n });\n }\n return item;\n });\n }\n\n let resultsFt: TLabelValueRenderItem[] = [];\n results.forEach((item) => {\n resultsFt = resultsFt.concat(item);\n });\n console.log('resultsFt', resultsFt);\n return resultsFt;\n};\n","import { CSSProperties, Fragment, ReactElement, useMemo, useState } from 'react';\n\nimport { classNames } from '@dimjs/utils';\nimport { BoxGrid, fbaHooks, TBoxBreakpoint, TextSymbolWrapper } from '@flatbiz/antd';\nimport { isUndefinedOrNull } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { TextOverflow } from '../text-overflow';\nimport { TipsWrapper } from '../tips-wrapper';\nimport './style.less';\nimport { TLabelValueItem, TLabelValueRenderItem } from './types';\nimport { getRenderGrid } from './utils';\n\nexport type LabelValueRenderProps = {\n className?: string;\n style?: CSSProperties;\n /**\n * 定义一行显示几列, 默认值:4\n * ```\n * 1. 当外层宽度尺寸大于 992px(lg) 时,一行显示几列\n * 1. 当外层宽度尺寸小于992px(lg),为xs、sm、md情况下不受column值影响,响应式布局\n * 2. 宽度尺寸定义\n * xs: 宽度 < 576px\n * sm: 宽度 ≥ 576px\n * md: 宽度 ≥ 768px\n * lg: 宽度 ≥ 992px\n * xl: 宽度 ≥ 1200px\n * xxl: 宽度 ≥ 1600px\n * 3. 列数尺寸定义\n * {\n * 1: { xs: 24, sm: 24, md: 24, lg: 24, xl: 24, xxl: 24 },\n * 2: { xs: 24, sm: 12, md: 12, lg: 12, xl: 12, xxl: 12 },\n * 3: { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 8 },\n * 4: { xs: 24, sm: 12, md: 12, lg: 6, xl: 6, xxl: 6 },\n * };\n * ```\n */\n column?: 1 | 2 | 3 | 4;\n /**\n * 强制定义一行显示几列,不考虑响应式\n * ```\n * 1. 优先级大于column\n * 2. 建议优先使用column配置\n * ```\n */\n forceColumn?: 1 | 2 | 3 | 4;\n /** 数据源配置 */\n options: TLabelValueItem[];\n /**\n * 超过宽度将自动省略,默认值:true\n */\n ellipsis?: boolean;\n /** 是否添加边框 */\n border?: boolean;\n /** label对齐方式 */\n labelAlign?: 'left' | 'right' | 'center';\n /** label 宽度,默认值:100 */\n labelWidth?: number;\n width?: number;\n /** label 样式 */\n labelStyle?: CSSProperties;\n /** value 样式 */\n valueStyle?: CSSProperties;\n};\n\n/**\n * label+value 列表布局\n * ```\n * 1. 可设置超出隐藏、必填标识、设置隐藏、添加说明标签等功能\n * 2. 可自定义设置占用网格列数\n * 3. 内置响应式布局\n * ```\n */\nexport const LabelValueRender = (props: LabelValueRenderProps) => {\n const screenType = fbaHooks.useResponsivePoint() || '';\n const [breakpoint, setBreakpoint] = useState<TBoxBreakpoint>();\n\n const { column, forceColumn, labelAlign, labelWidth, options, border, width } = props;\n\n const ellipsis = isUndefinedOrNull(props.ellipsis) ? true : props.ellipsis;\n\n const isVertical = !border ? screenType === 'xs' || breakpoint === 'xs' : false;\n\n const gridSize = useMemo(() => {\n if (forceColumn) {\n const num = 24 / forceColumn;\n return { xs: num, sm: num, md: num, lg: num, xl: num, xxl: num };\n }\n const columnMap = {\n 1: { xs: 24, sm: 24, md: 24, lg: 24, xl: 24, xxl: 24 },\n 2: { xs: 24, sm: 12, md: 12, lg: 12, xl: 12, xxl: 12 },\n 3: { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 8 },\n 4: { xs: 24, sm: 12, md: 12, lg: 6, xl: 6, xxl: 6 },\n };\n return !column ? columnMap[4] : columnMap[column];\n }, [column, forceColumn]);\n\n const renderList = useMemo(() => {\n if (!breakpoint) return undefined;\n const dataListNew: TLabelValueRenderItem[] = [];\n options.forEach((item) => {\n if (!item.hidden) {\n let grid: number | undefined = undefined;\n if (item.span) {\n grid = item.span * 6;\n if (breakpoint === 'xs') {\n grid = 24;\n } else if (breakpoint === 'sm') {\n grid = grid > 12 ? grid : 12;\n }\n }\n dataListNew.push({\n ...item,\n grid: grid ? grid : gridSize[breakpoint],\n });\n }\n });\n\n return getRenderGrid(dataListNew.filter(Boolean));\n }, [breakpoint, gridSize]);\n\n const colon = border ? '' : ':';\n\n const getFormRowChildren = () => {\n return renderList\n ?.map((item, index) => {\n const ellipsisFt = isUndefinedOrNull(item.ellipsis) ? ellipsis : item.ellipsis;\n\n const width = isVertical ? undefined : labelWidth || 100;\n\n let labelContent: ReactElement | string = `${item.label}${colon}`;\n\n if (item.tips && ellipsisFt) {\n labelContent = (\n <TipsWrapper tipType=\"tooltip\" tooltipProps={{ title: item.tips }}>\n <TextOverflow text={labelContent as unknown as string} />\n </TipsWrapper>\n );\n } else if (item.tips) {\n labelContent = (\n <TipsWrapper tipType=\"tooltip\" tooltipProps={{ title: item.tips }}>\n {labelContent}\n </TipsWrapper>\n );\n } else if (ellipsisFt) {\n labelContent = <TextOverflow text={labelContent as unknown as string} />;\n }\n\n return (\n <BoxGrid.Col\n key={index}\n {...gridSize}\n span={item.grid}\n className={classNames('label-value-tr', { 'label-value-last-tr': item.isLast })}\n >\n {!item.replenish ? (\n <Fragment>\n <span className=\"label-value-label\" style={{ width, ...props.labelStyle }}>\n {item.required ? (\n <TextSymbolWrapper text={labelContent} symbolType=\"required\" />\n ) : (\n labelContent\n )}\n </span>\n {ellipsisFt ? (\n <span className=\"label-value-value\" style={props.valueStyle}>\n <TextOverflow text={item.value as string} />\n </span>\n ) : (\n <span className=\"label-value-value\" style={props.valueStyle}>\n {item.value}\n </span>\n )}\n </Fragment>\n ) : (\n <Fragment />\n )}\n </BoxGrid.Col>\n );\n })\n .filter(Boolean);\n };\n\n const onBoxBreakpointChange = hooks.useCallbackRef((breakpoint: TBoxBreakpoint) => {\n setBreakpoint(breakpoint);\n });\n\n const innerStyle = useMemo(() => {\n /** 小屏幕不控制宽度 */\n if (['xs', 'sm'].includes(screenType) || !width) {\n return {};\n }\n return { width };\n }, [screenType]);\n\n const align = labelAlign || (border ? 'left' : 'right');\n\n return (\n <BoxGrid.Row\n style={{ ...innerStyle, ...props.style }}\n className={classNames(\n 'label-value-render',\n `label-value-render-${align}`,\n {\n 'label-value-render-border': border,\n 'label-value-render-vertical': isVertical,\n },\n props.className,\n )}\n gutter={border ? [0, 0] : [30, 0]}\n onBoxBreakpointChange={onBoxBreakpointChange}\n >\n {getFormRowChildren()}\n </BoxGrid.Row>\n );\n};\n"],"names":["getRenderGrid","dataList","results","currentSum","currentArr","i","length","item","grid","temp","_extends","push","map","index","total","arrayTotal","lastItem","isLast","resultsFt","forEach","concat","console","log","LabelValueRender","props","screenType","fbaHooks","useResponsivePoint","_useState","useState","breakpoint","setBreakpoint","column","forceColumn","labelAlign","labelWidth","options","border","width","ellipsis","isUndefinedOrNull","isVertical","gridSize","useMemo","num","xs","sm","md","lg","xl","xxl","columnMap","renderList","undefined","dataListNew","hidden","span","filter","Boolean","colon","getFormRowChildren","ellipsisFt","labelContent","label","tips","_jsx","TipsWrapper","tipType","tooltipProps","title","children","TextOverflow","text","BoxGrid","Col","className","_classNames","replenish","_jsxs","Fragment","style","labelStyle","required","TextSymbolWrapper","symbolType","valueStyle","value","onBoxBreakpointChange","_hooks","useCallbackRef","innerStyle","includes","align","Row","gutter"],"mappings":"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"}
@@ -1 +1 @@
1
- .text-overflow{display:flex;overflow:hidden;width:100%}.tow-content{position:relative;text-align:left;text-overflow:ellipsis;white-space:nowrap;width:100%}.tow-content,.tow-hidden{display:inline-block;overflow:hidden}.tow-hidden{height:0;left:0;position:absolute;top:0;width:0}.tow-hidden span{white-space:nowrap}.tow-hidden span,.tow-inner-text{display:inline-block}.tow-trigger .tow-content,.tow-trigger .tow-cut-content{color:#1677ff;transition:color .3s}.tow-trigger .tow-show-text{cursor:pointer}.tow-trigger .tow-show-text:hover{color:#69b1ff}
1
+ .text-overflow{display:flex;overflow:hidden;width:100%}.tow-content{position:relative;text-align:inherit;text-overflow:ellipsis;white-space:nowrap;width:100%}.tow-content,.tow-hidden{display:inline-block;overflow:hidden}.tow-hidden{height:0;left:0;position:absolute;top:0;width:0}.tow-hidden span{white-space:nowrap}.tow-hidden span,.tow-inner-text{display:inline-block}.tow-trigger .tow-content,.tow-trigger .tow-cut-content{color:#1677ff;transition:color .3s}.tow-trigger .tow-show-text{cursor:pointer}.tow-trigger .tow-show-text:hover{color:#69b1ff}
@@ -2,5 +2,5 @@
2
2
  import './../fba-hooks/index.css';
3
3
  import './index.css';
4
4
  /*! @flatjs/forge MIT @flatbiz/antd */
5
- import{_ as t}from"../_rollupPluginBabelHelpers-a0769acd.js";import{useRef as e,Fragment as r,useMemo as n,memo as i}from"react";import{classNames as a}from"@dimjs/utils/cjs/class-names";import{useSize as o}from"ahooks";import{Tooltip as l}from"antd";import{fbaHooks as c}from"../fba-hooks/index.js";import{jsx as s,jsxs as u}from"react/jsx-runtime";import{getStrByteLen as d,subStringByBytes as m}from"@flatbiz/utils";import"@dimjs/lang/cjs/is-array";import"@wove/react/cjs/hooks";import"../use-responsive-point-21b8c601.js";var h=function t(n){var i=e(null);var d=o(i);var m=(d==null?void 0:d.width)||0;var h=c.useMemoCustom((function(){if(i.current){var t;var e=((t=i.current.querySelector(".tow-inner-text"))==null?void 0:t.clientWidth)||0;return e}return 0}),[i.current]);var v=h>m;return s(r,{children:u("div",{className:a("text-overflow",{"tow-trigger":n.onClick}),ref:i,children:[s("span",{className:"tow-hidden",children:s("span",{className:"tow-inner-text",children:n.text})}),s(l,{title:v?n.text:undefined,children:s("span",{className:"tow-content",children:s("span",{className:"tow-show-text",onClick:n.onClick,children:n.text})})})]})})};var v=function t(n){var i=e(null);var h=o(i);var v=n.maxLength;var f=(h==null?void 0:h.width)||0;var x=c.useMemoCustom((function(){return d(n.text)>v*2}),[v,n.text]);var w=c.useMemoCustom((function(){if(i.current){var t;var e=((t=i.current.querySelector(".tow-inner-text"))==null?void 0:t.clientWidth)||0;return e}return 0}),[i.current]);var p=x&&w<f;var N=f<w+1||x;return s(r,{children:u("div",{className:a("text-overflow",{"tow-trigger":n.onClick}),ref:i,children:[s("span",{className:"tow-hidden",children:s("span",{className:"tow-inner-text",children:m(n.text,n.maxLength*2)})}),s(l,{title:N?n.text:undefined,children:p?s("span",{className:"tow-cut-content",children:u("span",{className:"tow-show-text",onClick:n.onClick,children:[m(n.text,n.maxLength*2),"..."]})}):s("span",{className:"tow-content",children:s("span",{className:"tow-show-text",onClick:n.onClick,children:n.text})})})]})})};var f=function t(i){var d=e(null);var m=o(d);var h=(m==null?void 0:m.width)||0;var v=i.maxWidth||0;var f=c.useMemoCustom((function(){if(d.current){var t;var e=((t=d.current.querySelector(".tow-inner-text"))==null?void 0:t.clientWidth)||0;return e}return 0}),[d.current]);var x=n((function(){if(f<v)return undefined;var t=f>v?v:f;if(h>t){return t}return undefined}),[f,v,h]);var w=x||f>h;return s(r,{children:u("div",{className:a("text-overflow",{"tow-trigger":i.onClick}),ref:d,children:[s("span",{className:"tow-hidden",children:s("span",{className:"tow-inner-text",children:i.text})}),s(l,{title:w?i.text:undefined,children:s("span",{className:"tow-content",style:{width:x},children:s("span",{className:"tow-show-text",onClick:i.onClick,children:i.text})})})]})})};var x=function e(r){if(r.maxLength){return s(v,t({},r))}if(r.maxWidth){return s(f,t({},r))}return s(h,t({},r))};var w=i(x,(function(t,e){if(t.text!==e.text||t.maxLength!==e.maxLength||t.maxWidth!==t.maxWidth){return false}return true}));export{w as TextOverflow};
5
+ import{_ as t}from"../_rollupPluginBabelHelpers-a0769acd.js";import{isString as e}from"@dimjs/lang/cjs/is-string";import{useRef as r,Fragment as n,useMemo as i,memo as a}from"react";import{classNames as o}from"@dimjs/utils/cjs/class-names";import{useSize as l}from"ahooks";import{Tooltip as c}from"antd";import{fbaHooks as s}from"../fba-hooks/index.js";import{jsx as u,jsxs as d}from"react/jsx-runtime";import{getStrByteLen as m,subStringByBytes as h}from"@flatbiz/utils";import"@dimjs/lang/cjs/is-array";import"@wove/react/cjs/hooks";import"../use-responsive-point-21b8c601.js";var v=function t(e){var i=r(null);var a=l(i);var m=(a==null?void 0:a.width)||0;var h=s.useMemoCustom((function(){if(i.current){var t;var e=((t=i.current.querySelector(".tow-inner-text"))==null?void 0:t.clientWidth)||0;return e}return 0}),[i.current]);var v=h>m;return u(n,{children:d("div",{className:o("text-overflow",{"tow-trigger":e.onClick}),ref:i,children:[u("span",{className:"tow-hidden",children:u("span",{className:"tow-inner-text",children:e.text})}),u(c,{title:v?e.text:undefined,children:u("span",{className:"tow-content",children:u("span",{className:"tow-show-text",onClick:e.onClick,children:e.text})})})]})})};var f=function t(e){var i=r(null);var a=l(i);var v=e.maxLength;var f=(a==null?void 0:a.width)||0;var x=e.text;var w=s.useMemoCustom((function(){return m(x)>v*2}),[v,x]);var p=s.useMemoCustom((function(){if(i.current){var t;var e=((t=i.current.querySelector(".tow-inner-text"))==null?void 0:t.clientWidth)||0;return e}return 0}),[i.current]);var N=w&&p<f;var g=f<p+1||w;return u(n,{children:d("div",{className:o("text-overflow",{"tow-trigger":e.onClick}),ref:i,children:[u("span",{className:"tow-hidden",children:u("span",{className:"tow-inner-text",children:h(x,e.maxLength*2)})}),u(c,{title:g?x:undefined,children:N?u("span",{className:"tow-cut-content",children:d("span",{className:"tow-show-text",onClick:e.onClick,children:[h(x,e.maxLength*2),"..."]})}):u("span",{className:"tow-content",children:u("span",{className:"tow-show-text",onClick:e.onClick,children:x})})})]})})};var x=function t(e){var a=r(null);var m=l(a);var h=(m==null?void 0:m.width)||0;var v=e.maxWidth||0;var f=s.useMemoCustom((function(){if(a.current){var t;var e=((t=a.current.querySelector(".tow-inner-text"))==null?void 0:t.clientWidth)||0;return e}return 0}),[a.current]);var x=i((function(){if(f<v)return undefined;var t=f>v?v:f;if(h>t){return t}return undefined}),[f,v,h]);var w=x||f>h;return u(n,{children:d("div",{className:o("text-overflow",{"tow-trigger":e.onClick}),ref:a,children:[u("span",{className:"tow-hidden",children:u("span",{className:"tow-inner-text",children:e.text})}),u(c,{title:w?e.text:undefined,children:u("span",{className:"tow-content",style:{width:x},children:u("span",{className:"tow-show-text",onClick:e.onClick,children:e.text})})})]})})};var w=function r(n){if(n.maxLength&&e(n.text)){return u(f,t({},n))}if(n.maxWidth){return u(x,t({},n))}return u(v,t({},n))};var p=a(w,(function(t,e){if(t.text!==e.text||t.maxLength!==e.maxLength||t.maxWidth!==t.maxWidth){return false}return true}));export{p as TextOverflow};
6
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/text-overflow/overflow-auto.tsx","@flatbiz/antd/src/text-overflow/overflow-length.tsx","@flatbiz/antd/src/text-overflow/overflow-width.tsx","@flatbiz/antd/src/text-overflow/text-overflow.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { useSize } from 'ahooks';\nimport { Tooltip } from 'antd';\nimport { Fragment, useRef } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport './style.less';\nimport { TextOverflowProps } from './types';\n\nexport const OverflowAuto = (props: TextOverflowProps) => {\n const rootRef = useRef<HTMLDivElement>(null);\n const size = useSize(rootRef);\n const parentNodeWidth = size?.width || 0;\n\n // 文本宽度\n const textWidth = fbaHooks.useMemoCustom(() => {\n if (rootRef.current) {\n // 裁切后元素宽度\n const textWidth = rootRef.current.querySelector('.tow-inner-text')?.clientWidth || 0;\n return textWidth;\n }\n return 0;\n }, [rootRef.current]);\n\n const showTips = textWidth > parentNodeWidth;\n\n return (\n <Fragment>\n <div\n className={classNames('text-overflow', {\n 'tow-trigger': props.onClick,\n })}\n ref={rootRef}\n >\n <span className=\"tow-hidden\">\n <span className=\"tow-inner-text\">{props.text}</span>\n </span>\n\n <Tooltip title={showTips ? props.text : undefined}>\n <span className=\"tow-content\">\n <span className=\"tow-show-text\" onClick={props.onClick}>\n {props.text}\n </span>\n </span>\n </Tooltip>\n </div>\n </Fragment>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { getStrByteLen, subStringByBytes } from '@flatbiz/utils';\nimport { useSize } from 'ahooks';\nimport { Tooltip } from 'antd';\nimport { Fragment, useRef } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport { TextOverflowProps } from './types';\n\nexport const OverflowLength = (props: Omit<TextOverflowProps, 'maxWidth'>) => {\n const rootRef = useRef<HTMLDivElement>(null);\n const size = useSize(rootRef);\n const maxLength = props.maxLength as number;\n const parentNodeWidth = size?.width || 0;\n\n const needCut = fbaHooks.useMemoCustom(() => {\n return getStrByteLen(props.text) > maxLength * 2;\n }, [maxLength, props.text]);\n\n // 裁切后文本宽度\n const cutedTextWidth = fbaHooks.useMemoCustom(() => {\n if (rootRef.current) {\n // 裁切后元素宽度\n const cutContentWidth = rootRef.current.querySelector('.tow-inner-text')?.clientWidth || 0;\n\n return cutContentWidth;\n }\n return 0;\n }, [rootRef.current]);\n\n const showCustomEllipsis = needCut && cutedTextWidth < parentNodeWidth;\n\n const showTips = parentNodeWidth < cutedTextWidth + 1 || needCut;\n\n return (\n <Fragment>\n <div\n className={classNames('text-overflow', {\n 'tow-trigger': props.onClick,\n })}\n ref={rootRef}\n >\n <span className=\"tow-hidden\">\n <span className=\"tow-inner-text\">\n {subStringByBytes(props.text, (props.maxLength as number) * 2)}\n </span>\n </span>\n\n <Tooltip title={showTips ? props.text : undefined}>\n {showCustomEllipsis ? (\n <span className=\"tow-cut-content\">\n <span className=\"tow-show-text\" onClick={props.onClick}>\n {subStringByBytes(props.text, (props.maxLength as number) * 2)}\n ...\n </span>\n </span>\n ) : (\n <span className=\"tow-content\">\n <span className=\"tow-show-text\" onClick={props.onClick}>\n {props.text}\n </span>\n </span>\n )}\n </Tooltip>\n </div>\n </Fragment>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { useSize } from 'ahooks';\nimport { Tooltip } from 'antd';\nimport { Fragment, useMemo, useRef } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport { TextOverflowProps } from './types';\n\nexport const OverflowWidth = (props: Omit<TextOverflowProps, 'maxLength'>) => {\n const rootRef = useRef<HTMLDivElement>(null);\n const size = useSize(rootRef);\n const parentNodeWidth = size?.width || 0;\n const maxWidth = props.maxWidth || 0;\n\n // 文本宽度\n const textWidth = fbaHooks.useMemoCustom(() => {\n if (rootRef.current) {\n // 裁切后元素宽度\n const textWidth = rootRef.current.querySelector('.tow-inner-text')?.clientWidth || 0;\n return textWidth;\n }\n return 0;\n }, [rootRef.current]);\n\n const showTextWidth = useMemo(() => {\n if (textWidth < maxWidth) return undefined;\n const textWidthBast = textWidth > maxWidth ? maxWidth : textWidth;\n if (parentNodeWidth > textWidthBast) {\n return textWidthBast;\n }\n return undefined;\n }, [textWidth, maxWidth, parentNodeWidth]);\n const showTips = showTextWidth || textWidth > parentNodeWidth;\n\n return (\n <Fragment>\n <div\n className={classNames('text-overflow', {\n 'tow-trigger': props.onClick,\n })}\n ref={rootRef}\n >\n <span className=\"tow-hidden\">\n <span className=\"tow-inner-text\">{props.text}</span>\n </span>\n\n <Tooltip title={showTips ? props.text : undefined}>\n <span className=\"tow-content\" style={{ width: showTextWidth }}>\n <span className=\"tow-show-text\" onClick={props.onClick}>\n {props.text}\n </span>\n </span>\n </Tooltip>\n </div>\n </Fragment>\n );\n};\n","import { memo } from 'react';\nimport { OverflowAuto } from './overflow-auto';\nimport { OverflowLength } from './overflow-length';\nimport { OverflowWidth } from './overflow-width';\nimport './style.less';\nimport { TextOverflowProps } from './types';\n\nconst InnerTextOverflow = (props: TextOverflowProps) => {\n if (props.maxLength) {\n return <OverflowLength {...props} />;\n }\n if (props.maxWidth) {\n return <OverflowWidth {...props} />;\n }\n return <OverflowAuto {...props} />;\n};\n\n/**\n * 内容溢出截取,并在尾部添加...,被截取的添加Tooltip显示完整数据\n * ```\n * 控制文本显示三种方式\n * 1. 通过 maxLength 控制超长\n * 2. 通过 maxWidth 控制超长\n * 3. 与父节点宽度比较,控制超长\n * 4. 优先级 maxLength > maxWidth\n *\n * 注意:\n * 1. 当前节点父节点需要添加 overflow-x: hidden;\n * 2. 如果父节点设置flex-shrink会有影响,可复写flex-shrink: initial;\n * 3. 与 Table columns render结合使用,需要配置ellipsis=true\n * 例如:<Table columns={[{\n ...\n render: (value) => {\n return <TextOverflow text={value} />;\n },\n ellipsis: true,\n }]} />\n 4. 与 Table columns render结合使用,如果Table配置了 scroll={{ x: 'max-content' }}后,不能与TextOverflow maxWidth结合使用\n * ```\n */\nexport const TextOverflow = memo(InnerTextOverflow, (pre, next) => {\n if (pre.text !== next.text || pre.maxLength !== next.maxLength || pre.maxWidth !== pre.maxWidth) {\n return false;\n }\n return true;\n});\n"],"names":["OverflowAuto","props","rootRef","useRef","size","useSize","parentNodeWidth","width","textWidth","fbaHooks","useMemoCustom","current","_rootRef$current$quer","querySelector","clientWidth","showTips","_jsx","Fragment","children","_jsxs","className","_classNames","onClick","ref","text","Tooltip","title","undefined","OverflowLength","maxLength","needCut","getStrByteLen","cutedTextWidth","cutContentWidth","showCustomEllipsis","subStringByBytes","OverflowWidth","maxWidth","showTextWidth","useMemo","textWidthBast","style","InnerTextOverflow","_extends","TextOverflow","memo","pre","next"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/text-overflow/overflow-auto.tsx","@flatbiz/antd/src/text-overflow/overflow-length.tsx","@flatbiz/antd/src/text-overflow/overflow-width.tsx","@flatbiz/antd/src/text-overflow/text-overflow.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { useSize } from 'ahooks';\nimport { Tooltip } from 'antd';\nimport { Fragment, useRef } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport './style.less';\nimport { TextOverflowProps } from './types';\n\nexport const OverflowAuto = (props: TextOverflowProps) => {\n const rootRef = useRef<HTMLDivElement>(null);\n const size = useSize(rootRef);\n const parentNodeWidth = size?.width || 0;\n\n // 文本宽度\n const textWidth = fbaHooks.useMemoCustom(() => {\n if (rootRef.current) {\n // 裁切后元素宽度\n const textWidth = rootRef.current.querySelector('.tow-inner-text')?.clientWidth || 0;\n return textWidth;\n }\n return 0;\n }, [rootRef.current]);\n\n const showTips = textWidth > parentNodeWidth;\n\n return (\n <Fragment>\n <div\n className={classNames('text-overflow', {\n 'tow-trigger': props.onClick,\n })}\n ref={rootRef}\n >\n <span className=\"tow-hidden\">\n <span className=\"tow-inner-text\">{props.text}</span>\n </span>\n <Tooltip title={showTips ? props.text : undefined}>\n <span className=\"tow-content\">\n <span className=\"tow-show-text\" onClick={props.onClick}>\n {props.text}\n </span>\n </span>\n </Tooltip>\n </div>\n </Fragment>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { getStrByteLen, subStringByBytes } from '@flatbiz/utils';\nimport { useSize } from 'ahooks';\nimport { Tooltip } from 'antd';\nimport { Fragment, useRef } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport { TextOverflowProps } from './types';\n\nexport const OverflowLength = (props: Omit<TextOverflowProps, 'maxWidth'>) => {\n const rootRef = useRef<HTMLDivElement>(null);\n const size = useSize(rootRef);\n const maxLength = props.maxLength as number;\n const parentNodeWidth = size?.width || 0;\n const text = props.text as string;\n\n const needCut = fbaHooks.useMemoCustom(() => {\n return getStrByteLen(text) > maxLength * 2;\n }, [maxLength, text]);\n\n // 裁切后文本宽度\n const cutedTextWidth = fbaHooks.useMemoCustom(() => {\n if (rootRef.current) {\n // 裁切后元素宽度\n const cutContentWidth = rootRef.current.querySelector('.tow-inner-text')?.clientWidth || 0;\n\n return cutContentWidth;\n }\n return 0;\n }, [rootRef.current]);\n\n const showCustomEllipsis = needCut && cutedTextWidth < parentNodeWidth;\n\n const showTips = parentNodeWidth < cutedTextWidth + 1 || needCut;\n\n return (\n <Fragment>\n <div\n className={classNames('text-overflow', {\n 'tow-trigger': props.onClick,\n })}\n ref={rootRef}\n >\n <span className=\"tow-hidden\">\n <span className=\"tow-inner-text\">{subStringByBytes(text, (props.maxLength as number) * 2)}</span>\n </span>\n\n <Tooltip title={showTips ? text : undefined}>\n {showCustomEllipsis ? (\n <span className=\"tow-cut-content\">\n <span className=\"tow-show-text\" onClick={props.onClick}>\n {subStringByBytes(text, (props.maxLength as number) * 2)}\n ...\n </span>\n </span>\n ) : (\n <span className=\"tow-content\">\n <span className=\"tow-show-text\" onClick={props.onClick}>\n {text}\n </span>\n </span>\n )}\n </Tooltip>\n </div>\n </Fragment>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { useSize } from 'ahooks';\nimport { Tooltip } from 'antd';\nimport { Fragment, useMemo, useRef } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport { TextOverflowProps } from './types';\n\nexport const OverflowWidth = (props: Omit<TextOverflowProps, 'maxLength'>) => {\n const rootRef = useRef<HTMLDivElement>(null);\n const size = useSize(rootRef);\n const parentNodeWidth = size?.width || 0;\n const maxWidth = props.maxWidth || 0;\n\n // 文本宽度\n const textWidth = fbaHooks.useMemoCustom(() => {\n if (rootRef.current) {\n // 裁切后元素宽度\n const textWidth = rootRef.current.querySelector('.tow-inner-text')?.clientWidth || 0;\n return textWidth;\n }\n return 0;\n }, [rootRef.current]);\n\n const showTextWidth = useMemo(() => {\n if (textWidth < maxWidth) return undefined;\n const textWidthBast = textWidth > maxWidth ? maxWidth : textWidth;\n if (parentNodeWidth > textWidthBast) {\n return textWidthBast;\n }\n return undefined;\n }, [textWidth, maxWidth, parentNodeWidth]);\n const showTips = showTextWidth || textWidth > parentNodeWidth;\n\n return (\n <Fragment>\n <div\n className={classNames('text-overflow', {\n 'tow-trigger': props.onClick,\n })}\n ref={rootRef}\n >\n <span className=\"tow-hidden\">\n <span className=\"tow-inner-text\">{props.text}</span>\n </span>\n\n <Tooltip title={showTips ? props.text : undefined}>\n <span className=\"tow-content\" style={{ width: showTextWidth }}>\n <span className=\"tow-show-text\" onClick={props.onClick}>\n {props.text}\n </span>\n </span>\n </Tooltip>\n </div>\n </Fragment>\n );\n};\n","import { isString } from '@dimjs/lang';\nimport { memo } from 'react';\nimport { OverflowAuto } from './overflow-auto';\nimport { OverflowLength } from './overflow-length';\nimport { OverflowWidth } from './overflow-width';\nimport './style.less';\nimport { TextOverflowProps } from './types';\n\nconst InnerTextOverflow = (props: TextOverflowProps) => {\n if (props.maxLength && isString(props.text)) {\n return <OverflowLength {...props} />;\n }\n if (props.maxWidth) {\n return <OverflowWidth {...props} />;\n }\n return <OverflowAuto {...props} />;\n};\n\n/**\n * 内容溢出截取,并在尾部添加...,被截取的添加Tooltip显示完整数据\n * ```\n * 控制文本显示三种方式\n * 1. 通过 maxLength 控制超长\n * 2. 通过 maxWidth 控制超长\n * 3. 与父节点宽度比较,控制超长\n * 4. 优先级 maxLength > maxWidth\n *\n * 注意:\n * 1. 当前节点父节点需要添加 overflow-x: hidden;\n * 2. 如果父节点设置flex-shrink会有影响,可复写flex-shrink: initial;\n * 3. 与 Table columns render结合使用,需要配置ellipsis=true\n * 例如:<Table columns={[{\n ...\n render: (value) => {\n return <TextOverflow text={value} />;\n },\n ellipsis: true,\n }]} />\n 4. 与 Table columns render结合使用,如果Table配置了 scroll={{ x: 'max-content' }}后,不能与TextOverflow maxWidth结合使用\n * ```\n */\nexport const TextOverflow = memo(InnerTextOverflow, (pre, next) => {\n if (pre.text !== next.text || pre.maxLength !== next.maxLength || pre.maxWidth !== pre.maxWidth) {\n return false;\n }\n return true;\n});\n"],"names":["OverflowAuto","props","rootRef","useRef","size","useSize","parentNodeWidth","width","textWidth","fbaHooks","useMemoCustom","current","_rootRef$current$quer","querySelector","clientWidth","showTips","_jsx","Fragment","children","_jsxs","className","_classNames","onClick","ref","text","Tooltip","title","undefined","OverflowLength","maxLength","needCut","getStrByteLen","cutedTextWidth","cutContentWidth","showCustomEllipsis","subStringByBytes","OverflowWidth","maxWidth","showTextWidth","useMemo","textWidthBast","style","InnerTextOverflow","_isString","_extends","TextOverflow","memo","pre","next"],"mappings":"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"}
@@ -1 +1 @@
1
- .text-symbol-wrapper{position:relative}.tsw-symbol{font-size:14px;line-height:normal;position:absolute;top:50%}.tsw-symbol-before{transform:translate(-100%,-50%)}.tsw-symbol-after{transform:translate(100%,-50%)}.tsw-required .tsw-symbol{color:#ff4d4f}
1
+ .text-symbol-wrapper{display:inline-block;position:relative}.tsw-symbol{font-size:14px;line-height:normal;position:absolute;top:50%}.tsw-symbol-before{transform:translate(-100%,-50%)}.tsw-symbol-after{transform:translate(100%,-50%)}.tsw-required .tsw-symbol{color:#ff4d4f}
@@ -0,0 +1 @@
1
+ .tips-wrapper{align-items:center;display:inline-flex}.tips-wrapper-icon{flex-shrink:0;opacity:.8}.tips-wrapper-text{flex:1;overflow:hidden}
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable */
2
2
  import './index.css';
3
3
  /*! @flatjs/forge MIT @flatbiz/antd */
4
- import{_ as e}from"../_rollupPluginBabelHelpers-a0769acd.js";import i from"@ant-design/icons/es/icons/QuestionCircleOutlined";import{isUndefinedOrNull as l}from"@flatbiz/utils";import{Space as r,Tooltip as s,Popover as n}from"antd";import{Fragment as c}from"react";import{jsx as a,jsxs as t}from"react/jsx-runtime";var o=function o(p){var d=p.icon||a(i,{});var h=p.trigger||"icon";var y=l(p.gap)?3:p.gap;if(p.tipType==="tooltip"&&h==="icon"){return t(r,{size:y,className:p.className,style:p.style,children:[a("span",{children:p.children}),a(s,e({},p.tooltipProps,{children:a("span",{style:{opacity:.7},children:d})}))]})}if(p.tipType==="tooltip"&&h==="all"){return a(s,e({},p.tooltipProps,{children:t(r,{size:y,className:p.className,style:p.style,children:[a("span",{children:p.children}),a("span",{children:d})]})}))}if(p.tipType==="popover"&&h==="icon"){return t(r,{size:y,className:p.className,style:p.style,children:[a("span",{children:p.children}),a(n,e({},p.popoverProps,{children:a("span",{style:{opacity:.8},children:d})}))]})}if(p.tipType==="popover"&&h==="all"){return a(n,e({},p.popoverProps,{children:t(r,{size:y,className:p.className,style:p.style,children:[a("span",{children:p.children}),a("span",{style:{opacity:.8},children:d})]})}))}if(p.onClick&&h==="icon"){return t(r,{size:y,className:p.className,style:p.style,children:[a("span",{children:p.children}),a("span",{onClick:p.onClick,style:{opacity:.8},children:d})]})}if(p.onClick&&h==="all"){return t(r,{size:y,className:p.className,style:p.style,onClick:p.onClick,children:[a("span",{children:p.children}),a("span",{style:{opacity:.8},children:d})]})}if(p.icon){return t(r,{size:y,className:p.className,style:p.style,children:[a("span",{children:p.children}),a("span",{style:{opacity:.8},children:p.icon})]})}return a(c,{children:p.children})};export{o as TipsWrapper};
4
+ import{_ as e}from"../_rollupPluginBabelHelpers-a0769acd.js";import{classNames as s}from"@dimjs/utils/cjs/class-names";import r from"@ant-design/icons/es/icons/QuestionCircleOutlined";import{isUndefinedOrNull as i}from"@flatbiz/utils";import{Tooltip as a,Popover as p}from"antd";import{Fragment as l}from"react";import{jsx as t,jsxs as n}from"react/jsx-runtime";var c=function c(o){var m=o.icon||t(r,{});var h=o.trigger||"icon";var d=i(o.gap)?3:o.gap;if(o.tipType==="tooltip"&&h==="icon"){return n("span",{className:s("tips-wrapper",o.className),style:o.style,children:[t("span",{className:"tips-wrapper-text",style:{marginRight:d},children:o.children}),t(a,e({},o.tooltipProps,{children:t("span",{className:"tips-wrapper-icon",children:m})}))]})}if(o.tipType==="tooltip"&&h==="all"){return t(a,e({},o.tooltipProps,{children:n("span",{className:s("tips-wrapper",o.className),style:o.style,children:[t("span",{className:"tips-wrapper-text",style:{marginRight:d},children:o.children}),t("span",{className:"tips-wrapper-icon",children:m})]})}))}if(o.tipType==="popover"&&h==="icon"){return n("span",{className:s("tips-wrapper",o.className),style:o.style,children:[t("span",{className:"tips-wrapper-text",style:{marginRight:d},children:o.children}),t(p,e({},o.popoverProps,{children:t("span",{className:"tips-wrapper-icon",children:m})}))]})}if(o.tipType==="popover"&&h==="all"){return t(p,e({},o.popoverProps,{children:n("span",{className:s("tips-wrapper",o.className),style:o.style,children:[t("span",{className:"tips-wrapper-text",style:{marginRight:d},children:o.children}),t("span",{className:"tips-wrapper-icon",children:m})]})}))}if(o.onClick&&h==="icon"){return n("span",{className:s("tips-wrapper",o.className),style:o.style,children:[t("span",{className:"tips-wrapper-text",style:{marginRight:d},children:o.children}),t("span",{onClick:o.onClick,className:"tips-wrapper-icon",children:m})]})}if(o.onClick&&h==="all"){return n("span",{className:s("tips-wrapper",o.className),style:o.style,onClick:o.onClick,children:[t("span",{className:"tips-wrapper-text",style:{marginRight:d},children:o.children}),t("span",{className:"tips-wrapper-icon",children:m})]})}if(o.icon){return n("span",{className:s("tips-wrapper",o.className),style:o.style,children:[t("span",{className:"tips-wrapper-text",style:{marginRight:d},children:o.children}),t("span",{className:"tips-wrapper-icon",children:m})]})}return t(l,{children:o.children})};export{c as TipsWrapper};
5
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/tips-wrapper/tips-wrapper.tsx"],"sourcesContent":["import { QuestionCircleOutlined } from '@ant-design/icons';\nimport { isUndefinedOrNull } from '@flatbiz/utils';\nimport { Popover, PopoverProps, Space, Tooltip, TooltipProps } from 'antd';\nimport { Fragment, ReactNode, type CSSProperties, type ReactElement } from 'react';\n\nexport type TipsWrapperProps = {\n // 间隙,默认值:3\n gap?: number;\n className?: string;\n style?: CSSProperties;\n children?: ReactNode;\n icon?: ReactElement;\n /** Icon添加点击事件,设置hoverTips后失效 */\n onClick?: (event) => void;\n /**\n * 提示效果类型\n * ```\n * 1. popover 气泡卡片,内容通过popoverProps设置\n * 2. tooltip 文字提示,内容通过tooltipProps设置\n * ```\n */\n tipType?: 'popover' | 'tooltip';\n popoverProps?: PopoverProps;\n tooltipProps?: TooltipProps;\n trigger?: 'icon' | 'all';\n};\n\n/**\n * 为目标元素右侧添加Icon\n * ```\n * Icon有两种交互行为\n * 1. 鼠标悬浮显示提示效果;\n * 2. 为Icon添加点击事件\n *\n * 例如:\n * 1.\n * <TipsWrapper tipType=\"tooltip\" tooltipProps={{ title:'说明文案' }}>ABC</TipsWrapper>\n * 2.\n * <TipsWrapper tipType=\"popover\" popoverProps={{ title:'说明标题', content:'说明内容' }}>ABC</TipsWrapper>\n * 3.\n * <TipsWrapper onClick={noop}>ABC</TipsWrapper>\n * ```\n */\nexport const TipsWrapper = (props: TipsWrapperProps) => {\n const icon = props.icon || <QuestionCircleOutlined />;\n const trigger = props.trigger || 'icon';\n const gap = isUndefinedOrNull(props.gap) ? 3 : props.gap;\n if (props.tipType === 'tooltip' && trigger === 'icon') {\n return (\n <Space size={gap} className={props.className} style={props.style}>\n <span>{props.children}</span>\n <Tooltip {...props.tooltipProps}>\n <span style={{ opacity: 0.7 }}>{icon}</span>\n </Tooltip>\n </Space>\n );\n }\n if (props.tipType === 'tooltip' && trigger === 'all') {\n return (\n <Tooltip {...props.tooltipProps}>\n <Space size={gap} className={props.className} style={props.style}>\n <span>{props.children}</span>\n <span>{icon}</span>\n </Space>\n </Tooltip>\n );\n }\n\n if (props.tipType === 'popover' && trigger === 'icon') {\n return (\n <Space size={gap} className={props.className} style={props.style}>\n <span>{props.children}</span>\n <Popover {...props.popoverProps}>\n <span style={{ opacity: 0.8 }}>{icon}</span>\n </Popover>\n </Space>\n );\n }\n if (props.tipType === 'popover' && trigger === 'all') {\n return (\n <Popover {...props.popoverProps}>\n <Space size={gap} className={props.className} style={props.style}>\n <span>{props.children}</span>\n <span style={{ opacity: 0.8 }}>{icon}</span>\n </Space>\n </Popover>\n );\n }\n\n if (props.onClick && trigger === 'icon') {\n return (\n <Space size={gap} className={props.className} style={props.style}>\n <span>{props.children}</span>\n <span onClick={props.onClick} style={{ opacity: 0.8 }}>\n {icon}\n </span>\n </Space>\n );\n }\n if (props.onClick && trigger === 'all') {\n return (\n <Space size={gap} className={props.className} style={props.style} onClick={props.onClick}>\n <span>{props.children}</span>\n <span style={{ opacity: 0.8 }}>{icon}</span>\n </Space>\n );\n }\n if (props.icon) {\n return (\n <Space size={gap} className={props.className} style={props.style}>\n <span>{props.children}</span>\n <span style={{ opacity: 0.8 }}>{props.icon}</span>\n </Space>\n );\n }\n return <Fragment>{props.children}</Fragment>;\n};\n"],"names":["TipsWrapper","props","icon","_jsx","_QuestionCircleOutlined","trigger","gap","isUndefinedOrNull","tipType","_jsxs","Space","size","className","style","children","Tooltip","_extends","tooltipProps","opacity","Popover","popoverProps","onClick","Fragment"],"mappings":";+TA2CaA,EAAc,SAAdA,EAAeC,GAC1B,IAAMC,EAAOD,EAAMC,MAAQC,EAAAC,EAAA,CAAA,GAC3B,IAAMC,EAAUJ,EAAMI,SAAW,OACjC,IAAMC,EAAMC,EAAkBN,EAAMK,KAAO,EAAIL,EAAMK,IACrD,GAAIL,EAAMO,UAAY,WAAaH,IAAY,OAAQ,CACrD,OACEI,EAACC,EAAK,CAACC,KAAML,EAAKM,UAAWX,EAAMW,UAAWC,MAAOZ,EAAMY,MAAMC,UAC/DX,EAAA,OAAA,CAAAW,SAAOb,EAAMa,WACbX,EAACY,EAAOC,EAAA,CAAA,EAAKf,EAAMgB,aAAY,CAAAH,SAC7BX,EAAA,OAAA,CAAMU,MAAO,CAAEK,QAAS,IAAMJ,SAAEZ,SAIxC,CACA,GAAID,EAAMO,UAAY,WAAaH,IAAY,MAAO,CACpD,OACEF,EAACY,EAAOC,EAAKf,CAAAA,EAAAA,EAAMgB,aAAY,CAAAH,SAC7BL,EAACC,EAAK,CAACC,KAAML,EAAKM,UAAWX,EAAMW,UAAWC,MAAOZ,EAAMY,MAAMC,UAC/DX,EAAA,OAAA,CAAAW,SAAOb,EAAMa,WACbX,EAAA,OAAA,CAAAW,SAAOZ,SAIf,CAEA,GAAID,EAAMO,UAAY,WAAaH,IAAY,OAAQ,CACrD,OACEI,EAACC,EAAK,CAACC,KAAML,EAAKM,UAAWX,EAAMW,UAAWC,MAAOZ,EAAMY,MAAMC,UAC/DX,EAAA,OAAA,CAAAW,SAAOb,EAAMa,WACbX,EAACgB,EAAOH,EAAA,CAAA,EAAKf,EAAMmB,aAAY,CAAAN,SAC7BX,EAAA,OAAA,CAAMU,MAAO,CAAEK,QAAS,IAAMJ,SAAEZ,SAIxC,CACA,GAAID,EAAMO,UAAY,WAAaH,IAAY,MAAO,CACpD,OACEF,EAACgB,EAAOH,EAAKf,CAAAA,EAAAA,EAAMmB,aAAY,CAAAN,SAC7BL,EAACC,EAAK,CAACC,KAAML,EAAKM,UAAWX,EAAMW,UAAWC,MAAOZ,EAAMY,MAAMC,UAC/DX,EAAA,OAAA,CAAAW,SAAOb,EAAMa,WACbX,EAAA,OAAA,CAAMU,MAAO,CAAEK,QAAS,IAAMJ,SAAEZ,SAIxC,CAEA,GAAID,EAAMoB,SAAWhB,IAAY,OAAQ,CACvC,OACEI,EAACC,EAAK,CAACC,KAAML,EAAKM,UAAWX,EAAMW,UAAWC,MAAOZ,EAAMY,MAAMC,UAC/DX,EAAA,OAAA,CAAAW,SAAOb,EAAMa,WACbX,EAAA,OAAA,CAAMkB,QAASpB,EAAMoB,QAASR,MAAO,CAAEK,QAAS,IAAMJ,SACnDZ,MAIT,CACA,GAAID,EAAMoB,SAAWhB,IAAY,MAAO,CACtC,OACEI,EAACC,EAAK,CAACC,KAAML,EAAKM,UAAWX,EAAMW,UAAWC,MAAOZ,EAAMY,MAAOQ,QAASpB,EAAMoB,QAAQP,UACvFX,EAAA,OAAA,CAAAW,SAAOb,EAAMa,WACbX,EAAA,OAAA,CAAMU,MAAO,CAAEK,QAAS,IAAMJ,SAAEZ,MAGtC,CACA,GAAID,EAAMC,KAAM,CACd,OACEO,EAACC,EAAK,CAACC,KAAML,EAAKM,UAAWX,EAAMW,UAAWC,MAAOZ,EAAMY,MAAMC,UAC/DX,EAAA,OAAA,CAAAW,SAAOb,EAAMa,WACbX,EAAA,OAAA,CAAMU,MAAO,CAAEK,QAAS,IAAMJ,SAAEb,EAAMC,SAG5C,CACA,OAAOC,EAACmB,EAAQ,CAAAR,SAAEb,EAAMa,UAC1B"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/tips-wrapper/tips-wrapper.tsx"],"sourcesContent":["import { QuestionCircleOutlined } from '@ant-design/icons';\nimport { classNames } from '@dimjs/utils';\nimport { isUndefinedOrNull } from '@flatbiz/utils';\nimport { Popover, PopoverProps, Tooltip, TooltipProps } from 'antd';\nimport { Fragment, ReactNode, type CSSProperties, type ReactElement } from 'react';\nimport './style.less';\n\nexport type TipsWrapperProps = {\n // 间隙,默认值:3\n gap?: number;\n className?: string;\n style?: CSSProperties;\n children?: ReactNode;\n icon?: ReactElement;\n /** Icon添加点击事件,设置hoverTips后失效 */\n onClick?: (event) => void;\n /**\n * 提示效果类型\n * ```\n * 1. popover 气泡卡片,内容通过popoverProps设置\n * 2. tooltip 文字提示,内容通过tooltipProps设置\n * ```\n */\n tipType?: 'popover' | 'tooltip';\n popoverProps?: PopoverProps;\n tooltipProps?: TooltipProps;\n trigger?: 'icon' | 'all';\n};\n\n/**\n * 为目标元素右侧添加Icon\n * ```\n * Icon有两种交互行为\n * 1. 鼠标悬浮显示提示效果;\n * 2. 为Icon添加点击事件\n *\n * 例如:\n * 1.\n * <TipsWrapper tipType=\"tooltip\" tooltipProps={{ title:'说明文案' }}>ABC</TipsWrapper>\n * 2.\n * <TipsWrapper tipType=\"popover\" popoverProps={{ title:'说明标题', content:'说明内容' }}>ABC</TipsWrapper>\n * 3.\n * <TipsWrapper onClick={noop}>ABC</TipsWrapper>\n * ```\n */\nexport const TipsWrapper = (props: TipsWrapperProps) => {\n const icon = props.icon || <QuestionCircleOutlined />;\n const trigger = props.trigger || 'icon';\n const gap = isUndefinedOrNull(props.gap) ? 3 : props.gap;\n if (props.tipType === 'tooltip' && trigger === 'icon') {\n return (\n <span className={classNames('tips-wrapper', props.className)} style={props.style}>\n <span className=\"tips-wrapper-text\" style={{ marginRight: gap }}>\n {props.children}\n </span>\n <Tooltip {...props.tooltipProps}>\n <span className=\"tips-wrapper-icon\">{icon}</span>\n </Tooltip>\n </span>\n );\n }\n if (props.tipType === 'tooltip' && trigger === 'all') {\n return (\n <Tooltip {...props.tooltipProps}>\n <span className={classNames('tips-wrapper', props.className)} style={props.style}>\n <span className=\"tips-wrapper-text\" style={{ marginRight: gap }}>\n {props.children}\n </span>\n <span className=\"tips-wrapper-icon\">{icon}</span>\n </span>\n </Tooltip>\n );\n }\n\n if (props.tipType === 'popover' && trigger === 'icon') {\n return (\n <span className={classNames('tips-wrapper', props.className)} style={props.style}>\n <span className=\"tips-wrapper-text\" style={{ marginRight: gap }}>\n {props.children}\n </span>\n <Popover {...props.popoverProps}>\n <span className=\"tips-wrapper-icon\">{icon}</span>\n </Popover>\n </span>\n );\n }\n if (props.tipType === 'popover' && trigger === 'all') {\n return (\n <Popover {...props.popoverProps}>\n <span className={classNames('tips-wrapper', props.className)} style={props.style}>\n <span className=\"tips-wrapper-text\" style={{ marginRight: gap }}>\n {props.children}\n </span>\n <span className=\"tips-wrapper-icon\">{icon}</span>\n </span>\n </Popover>\n );\n }\n\n if (props.onClick && trigger === 'icon') {\n return (\n <span className={classNames('tips-wrapper', props.className)} style={props.style}>\n <span className=\"tips-wrapper-text\" style={{ marginRight: gap }}>\n {props.children}\n </span>\n <span onClick={props.onClick} className=\"tips-wrapper-icon\">\n {icon}\n </span>\n </span>\n );\n }\n if (props.onClick && trigger === 'all') {\n return (\n <span\n className={classNames('tips-wrapper', props.className)}\n style={props.style}\n onClick={props.onClick}\n >\n <span className=\"tips-wrapper-text\" style={{ marginRight: gap }}>\n {props.children}\n </span>\n <span className=\"tips-wrapper-icon\">{icon}</span>\n </span>\n );\n }\n if (props.icon) {\n return (\n <span className={classNames('tips-wrapper', props.className)} style={props.style}>\n <span className=\"tips-wrapper-text\" style={{ marginRight: gap }}>\n {props.children}\n </span>\n <span className=\"tips-wrapper-icon\">{icon}</span>\n </span>\n );\n }\n return <Fragment>{props.children}</Fragment>;\n};\n"],"names":["TipsWrapper","props","icon","_jsx","_QuestionCircleOutlined","trigger","gap","isUndefinedOrNull","tipType","_jsxs","className","_classNames","style","children","marginRight","Tooltip","_extends","tooltipProps","Popover","popoverProps","onClick","Fragment"],"mappings":";8WA6CaA,EAAc,SAAdA,EAAeC,GAC1B,IAAMC,EAAOD,EAAMC,MAAQC,EAAAC,EAAA,CAAA,GAC3B,IAAMC,EAAUJ,EAAMI,SAAW,OACjC,IAAMC,EAAMC,EAAkBN,EAAMK,KAAO,EAAIL,EAAMK,IACrD,GAAIL,EAAMO,UAAY,WAAaH,IAAY,OAAQ,CACrD,OACEI,EAAA,OAAA,CAAMC,UAAWC,EAAW,eAAgBV,EAAMS,WAAYE,MAAOX,EAAMW,MAAMC,UAC/EV,EAAA,OAAA,CAAMO,UAAU,oBAAoBE,MAAO,CAAEE,YAAaR,GAAMO,SAC7DZ,EAAMY,WAETV,EAACY,EAAOC,EAAA,CAAA,EAAKf,EAAMgB,aAAY,CAAAJ,SAC7BV,EAAA,OAAA,CAAMO,UAAU,oBAAmBG,SAAEX,SAI7C,CACA,GAAID,EAAMO,UAAY,WAAaH,IAAY,MAAO,CACpD,OACEF,EAACY,EAAOC,EAAKf,CAAAA,EAAAA,EAAMgB,aAAY,CAAAJ,SAC7BJ,EAAA,OAAA,CAAMC,UAAWC,EAAW,eAAgBV,EAAMS,WAAYE,MAAOX,EAAMW,MAAMC,UAC/EV,EAAA,OAAA,CAAMO,UAAU,oBAAoBE,MAAO,CAAEE,YAAaR,GAAMO,SAC7DZ,EAAMY,WAETV,EAAA,OAAA,CAAMO,UAAU,oBAAmBG,SAAEX,SAI7C,CAEA,GAAID,EAAMO,UAAY,WAAaH,IAAY,OAAQ,CACrD,OACEI,EAAA,OAAA,CAAMC,UAAWC,EAAW,eAAgBV,EAAMS,WAAYE,MAAOX,EAAMW,MAAMC,UAC/EV,EAAA,OAAA,CAAMO,UAAU,oBAAoBE,MAAO,CAAEE,YAAaR,GAAMO,SAC7DZ,EAAMY,WAETV,EAACe,EAAOF,EAAA,CAAA,EAAKf,EAAMkB,aAAY,CAAAN,SAC7BV,EAAA,OAAA,CAAMO,UAAU,oBAAmBG,SAAEX,SAI7C,CACA,GAAID,EAAMO,UAAY,WAAaH,IAAY,MAAO,CACpD,OACEF,EAACe,EAAOF,EAAKf,CAAAA,EAAAA,EAAMkB,aAAY,CAAAN,SAC7BJ,EAAA,OAAA,CAAMC,UAAWC,EAAW,eAAgBV,EAAMS,WAAYE,MAAOX,EAAMW,MAAMC,UAC/EV,EAAA,OAAA,CAAMO,UAAU,oBAAoBE,MAAO,CAAEE,YAAaR,GAAMO,SAC7DZ,EAAMY,WAETV,EAAA,OAAA,CAAMO,UAAU,oBAAmBG,SAAEX,SAI7C,CAEA,GAAID,EAAMmB,SAAWf,IAAY,OAAQ,CACvC,OACEI,EAAA,OAAA,CAAMC,UAAWC,EAAW,eAAgBV,EAAMS,WAAYE,MAAOX,EAAMW,MAAMC,UAC/EV,EAAA,OAAA,CAAMO,UAAU,oBAAoBE,MAAO,CAAEE,YAAaR,GAAMO,SAC7DZ,EAAMY,WAETV,EAAA,OAAA,CAAMiB,QAASnB,EAAMmB,QAASV,UAAU,oBAAmBG,SACxDX,MAIT,CACA,GAAID,EAAMmB,SAAWf,IAAY,MAAO,CACtC,OACEI,EAAA,OAAA,CACEC,UAAWC,EAAW,eAAgBV,EAAMS,WAC5CE,MAAOX,EAAMW,MACbQ,QAASnB,EAAMmB,QAAQP,UAEvBV,EAAA,OAAA,CAAMO,UAAU,oBAAoBE,MAAO,CAAEE,YAAaR,GAAMO,SAC7DZ,EAAMY,WAETV,EAAA,OAAA,CAAMO,UAAU,oBAAmBG,SAAEX,MAG3C,CACA,GAAID,EAAMC,KAAM,CACd,OACEO,EAAA,OAAA,CAAMC,UAAWC,EAAW,eAAgBV,EAAMS,WAAYE,MAAOX,EAAMW,MAAMC,UAC/EV,EAAA,OAAA,CAAMO,UAAU,oBAAoBE,MAAO,CAAEE,YAAaR,GAAMO,SAC7DZ,EAAMY,WAETV,EAAA,OAAA,CAAMO,UAAU,oBAAmBG,SAAEX,MAG3C,CACA,OAAOC,EAACkB,EAAQ,CAAAR,SAAEZ,EAAMY,UAC1B"}
package/index.d.ts CHANGED
@@ -559,6 +559,8 @@ export type CardLayoutProps = {
559
559
  desc?: string | string[] | ReactElement | ReactElement[];
560
560
  /** 标题 */
561
561
  title?: string | ReactElement;
562
+ /** 子标题,在标题右侧 */
563
+ subTitle?: string | ReactElement;
562
564
  /**
563
565
  * layoutType 布局类型
564
566
  * ```
@@ -571,6 +573,7 @@ export type CardLayoutProps = {
571
573
  titleLeftLine?: boolean;
572
574
  titleStyle?: CSSProperties;
573
575
  titleContentStyle?: CSSProperties;
576
+ subTitleStyle?: CSSProperties;
574
577
  titleExtraStyle?: CSSProperties;
575
578
  contentStyle?: CSSProperties;
576
579
  /** 优先级大于 style padding */
@@ -2186,10 +2189,11 @@ export type EasyTableProps = {
2186
2189
  /**
2187
2190
  * 缓存查询条件开关,默认false
2188
2191
  * ```
2189
- * 是否缓存表格查询条件,在路由跳转回来时,不会丢失
2192
+ * 1. 是否缓存表格查询条件,在路由跳转回来时,不会丢失
2193
+ * 2. 如果一个页面有多个EasyTable,并需要缓存查询条件,可设置cacheSwitch为唯一字符串
2190
2194
  * ```
2191
2195
  */
2192
- cacheSwitch?: boolean;
2196
+ cacheSwitch?: boolean | string;
2193
2197
  /** 接口数据配置 */
2194
2198
  serviceConfig: EasyTableServiceConfig;
2195
2199
  /**
@@ -3164,10 +3168,85 @@ export type LabelValueLayoutProps = {
3164
3168
  borderedRowPadding?: CSSProperties["padding"];
3165
3169
  };
3166
3170
  /**
3171
+ * @deprecated 已过期,请使用 LabelValueRender 组件
3167
3172
  * options[].span 是 Description.Item 的数量。 span={2} 会占用两个 DescriptionItem 的宽度
3168
3173
  * options[].hidden 是否隐藏 Description.Item
3169
3174
  */
3170
3175
  export declare const LabelValueLayout: (props: LabelValueLayoutProps) => import("react/jsx-runtime").JSX.Element;
3176
+ export type TLabelValueItem = {
3177
+ label: string | ReactElement;
3178
+ value?: string | number | ReactElement;
3179
+ /** 一行有4列,当前labelValue数据占用的列数,默认是根据LabelValueRender.column配置来 */
3180
+ span?: 1 | 2 | 3 | 4;
3181
+ /** 是否隐藏 */
3182
+ hidden?: boolean;
3183
+ /** 超出宽度是否隐藏 */
3184
+ ellipsis?: boolean;
3185
+ /** 是否添加必填标识 */
3186
+ required?: boolean;
3187
+ /** 添加说明标签 */
3188
+ tips?: string;
3189
+ };
3190
+ export type LabelValueRenderProps = {
3191
+ className?: string;
3192
+ style?: CSSProperties;
3193
+ /**
3194
+ * 定义一行显示几列, 默认值:4
3195
+ * ```
3196
+ * 1. 当外层宽度尺寸大于 992px(lg) 时,一行显示几列
3197
+ * 1. 当外层宽度尺寸小于992px(lg),为xs、sm、md情况下不受column值影响,响应式布局
3198
+ * 2. 宽度尺寸定义
3199
+ * xs: 宽度 < 576px
3200
+ * sm: 宽度 ≥ 576px
3201
+ * md: 宽度 ≥ 768px
3202
+ * lg: 宽度 ≥ 992px
3203
+ * xl: 宽度 ≥ 1200px
3204
+ * xxl: 宽度 ≥ 1600px
3205
+ * 3. 列数尺寸定义
3206
+ * {
3207
+ * 1: { xs: 24, sm: 24, md: 24, lg: 24, xl: 24, xxl: 24 },
3208
+ * 2: { xs: 24, sm: 12, md: 12, lg: 12, xl: 12, xxl: 12 },
3209
+ * 3: { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 8 },
3210
+ * 4: { xs: 24, sm: 12, md: 12, lg: 6, xl: 6, xxl: 6 },
3211
+ * };
3212
+ * ```
3213
+ */
3214
+ column?: 1 | 2 | 3 | 4;
3215
+ /**
3216
+ * 强制定义一行显示几列,不考虑响应式
3217
+ * ```
3218
+ * 1. 优先级大于column
3219
+ * 2. 建议优先使用column配置
3220
+ * ```
3221
+ */
3222
+ forceColumn?: 1 | 2 | 3 | 4;
3223
+ /** 数据源配置 */
3224
+ options: TLabelValueItem[];
3225
+ /**
3226
+ * 超过宽度将自动省略,默认值:true
3227
+ */
3228
+ ellipsis?: boolean;
3229
+ /** 是否添加边框 */
3230
+ border?: boolean;
3231
+ /** label对齐方式 */
3232
+ labelAlign?: "left" | "right" | "center";
3233
+ /** label 宽度,默认值:100 */
3234
+ labelWidth?: number;
3235
+ width?: number;
3236
+ /** label 样式 */
3237
+ labelStyle?: CSSProperties;
3238
+ /** value 样式 */
3239
+ valueStyle?: CSSProperties;
3240
+ };
3241
+ /**
3242
+ * label+value 列表布局
3243
+ * ```
3244
+ * 1. 可设置超出隐藏、必填标识、设置隐藏、添加说明标签等功能
3245
+ * 2. 可自定义设置占用网格列数
3246
+ * 3. 内置响应式布局
3247
+ * ```
3248
+ */
3249
+ export declare const LabelValueRender: (props: LabelValueRenderProps) => import("react/jsx-runtime").JSX.Element;
3171
3250
  export type LocalLoadingServiceConfig = {
3172
3251
  onRequest: (params?: TAny) => Promise<TAny>;
3173
3252
  params?: TPlainObject;
@@ -4456,7 +4535,8 @@ export type CssTextEllipsisProps = {
4456
4535
  */
4457
4536
  export declare const TextCssEllipsis: (props: CssTextEllipsisProps) => import("react/jsx-runtime").JSX.Element;
4458
4537
  export type TextOverflowProps = {
4459
- text: string;
4538
+ /** text 为ReactElement类型时,maxLength配置无效 */
4539
+ text: string | ReactElement;
4460
4540
  /** 最大显示宽度 */
4461
4541
  maxWidth?: number;
4462
4542
  /** 最大显示字数 */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flatbiz/antd",
3
- "version": "4.4.15",
3
+ "version": "4.4.17",
4
4
  "description": "flat-biz ui components",
5
5
  "main": "index.js",
6
6
  "typings": "index.d.ts",
@@ -33,7 +33,7 @@
33
33
  "@dimjs/utils": ">=1.4.4",
34
34
  "@flatbiz/utils": ">=4.0.19",
35
35
  "@wove/react": ">=1.2.23",
36
- "antd": ">=5.11.0",
36
+ "antd": ">=5.17.0",
37
37
  "dayjs": ">=1.11.9",
38
38
  "react": ">=18.2.0",
39
39
  "react-dom": ">=18.2.0",
@@ -47,7 +47,7 @@
47
47
  "@dimjs/utils": "^1.4.4",
48
48
  "@flatbiz/utils": "^4.0.16",
49
49
  "@wove/react": "^1.2.23",
50
- "antd": "5.11.0",
50
+ "antd": "5.17.0",
51
51
  "dayjs": "1.11.9",
52
52
  "dequal": "2.0.3",
53
53
  "react": "18.2.0",