@flatbiz/antd 4.2.25 → 4.2.26

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
- .table-operate{padding:0 5px}.table-operate .ant-btn-link{border-radius:4px;padding:0 6px}.table-operate .ant-btn-link:hover{background-color:rgba(0,0,0,.03)!important}.table-operate .ant-btn-link:hover span{transform:scale(1.05);transition:all .1s ease-in}.table-operate .ant-btn-link .anticon+span{margin-left:5px}.table-operate .ant-divider{margin:0 4px}.fold-more-button .anticon-more{transform:rotate(90deg)}.fold-more-button:hover .anticon-more{transform:scale(1.3) rotate(90deg)!important}
1
+ .table-operate{padding:0 5px}.table-operate .ant-btn-link{border-radius:4px;height:auto;padding:0 6px}.table-operate .ant-btn-link:hover{background-color:rgba(0,0,0,.03)!important}.table-operate .ant-btn-link:hover span{transform:scale(1.05);transition:all .1s ease-in}.table-operate .ant-btn-link .anticon+span{margin-left:5px}.table-operate .ant-divider{margin:0 4px}.fold-more-button .anticon-more{transform:rotate(90deg)}.fold-more-button:hover .anticon-more{transform:scale(1.3) rotate(90deg)!important}
@@ -6,5 +6,5 @@ import './../fba-utils/index.css';
6
6
  import './../dropdown-menu-wrapper/index.css';
7
7
  import './index.css';
8
8
  /*! @flatjs/forge MIT @flatbiz/antd */
9
- export{a as ButtonOperate,B as ButtonOperateItemContent}from"../button-operate-1ea0fe5a.js";import"@ant-design/icons/es/icons/MoreOutlined";import"../_rollupPluginBabelHelpers-1f4d8910.js";import"@dimjs/lang/cjs/is-undefined";import"@dimjs/utils/cjs/class-names";import"@dimjs/lang/cjs/is-plain-object";import"@dimjs/lang/cjs/is-string";import"@dimjs/lang/cjs/is-promise";import"@wove/react/cjs/hooks";import"antd";import"react";import"../button-wrapper-698da5b1.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"@flatbiz/utils";import"../config-provider-wrapper-dfe8f592.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"../fba-hooks/index.js";import"@dimjs/lang/cjs/is-array";import"../use-responsive-point-21b8c601.js";import"react/jsx-runtime";import"../fba-utils-a4c7d94d.js";import"../dropdown-menu-wrapper-24932100.js";
9
+ export{a as ButtonOperate,B as ButtonOperateItemContent}from"../button-operate-f09bce7f.js";import"@ant-design/icons/es/icons/MoreOutlined";import"../_rollupPluginBabelHelpers-1f4d8910.js";import"@dimjs/lang/cjs/is-undefined";import"@dimjs/utils/cjs/class-names";import"@dimjs/lang/cjs/is-plain-object";import"@dimjs/lang/cjs/is-string";import"@dimjs/lang/cjs/is-promise";import"@wove/react/cjs/hooks";import"antd";import"react";import"../button-wrapper-698da5b1.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"@flatbiz/utils";import"../config-provider-wrapper-dfe8f592.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"../fba-hooks/index.js";import"@dimjs/lang/cjs/is-array";import"../use-responsive-point-21b8c601.js";import"react/jsx-runtime";import"../fba-utils-a4c7d94d.js";import"../dropdown-menu-wrapper-24932100.js";
10
10
  //# sourceMappingURL=index.js.map
@@ -1,3 +1,3 @@
1
1
  /*! @flatjs/forge MIT @flatbiz/antd */
2
- import r from"@ant-design/icons/es/icons/MoreOutlined";import{a as e,_ as i}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{isUndefined as n}from"@dimjs/lang/cjs/is-undefined";import{classNames as o}from"@dimjs/utils/cjs/class-names";import{isPlainObject as t}from"@dimjs/lang/cjs/is-plain-object";import{isString as s}from"@dimjs/lang/cjs/is-string";import{isPromise as l}from"@dimjs/lang/cjs/is-promise";import{hooks as a}from"@wove/react/cjs/hooks";import{Popover as p,Tooltip as c,Space as f,Divider as u,Popconfirm as d,Button as m}from"antd";import{Fragment as h,useState as v,isValidElement as g,useMemo as T,createElement as j}from"react";import{B as y}from"./button-wrapper-698da5b1.js";import{D as k}from"./dropdown-menu-wrapper-24932100.js";import{f as C}from"./fba-utils-a4c7d94d.js";import{jsx as P,jsxs as b}from"react/jsx-runtime";var w=["text","onClick","needConfirm","confirmMessage","popconfirmProps"];var x=function r(e){if(e.hoverTips){if(e.tipsType==="popover"){return P(p,{content:e.hoverTips,zIndex:1e3,children:P(h,{children:e.children})})}return P(c,{title:e.hoverTips,zIndex:1e3,children:P(h,{children:e.children})})}return P(h,{children:e.children})};var B=function p(c){var h=v(false),B=h[0],I=h[1];var z=a.useCallbackRef((function(r,e){var i=r.onClick==null?void 0:r.onClick(e);if(i&&l(i)){I(true);return i.finally((function(){I(false)}))}return}));var F=c.operateList.filter((function(r){if(!r)return false;if(g(r)){var e,i;if(((e=r.props)==null?void 0:e["hidden"])===true)return false;var n=(i=r.props)==null?void 0:i["v-permission"];if(s(n)){return C.hasPermission(n)}return true}if(t(r)){if(!C.hasPermission(r["permission"])){return false}return!r["hidden"]}return false}));var M=T((function(){return F.filter((function(r){if(g(r)){return true}return!r["isFold"]}))}),[F]);var N=T((function(){var r=F.filter((function(r){if(g(r)){return false}return r["isFold"]}));var i=[];r.forEach((function(r){var n=e({},r);delete n.isFold;i.push(n)}));return i}),[F]);var O=c.gap===undefined?10:c.gap;var H=!c.split?O:0;return P("div",{className:o("table-operate",c.className),style:c.style,children:b(f,e({split:c.split?P(u,{type:"vertical"}):null,size:H,wrap:n(c.wrap)?true:c.wrap},c.spaceProps,{children:[M.map((function(r,n){if(r&&g(r))return P(x,{hoverTips:r.hoverTips,tipsType:r.tipsType,children:r});var o=r.text,t=r.onClick,s=r.needConfirm,l=r.confirmMessage,a=r.popconfirmProps,p=i(r,w);var c=r.type||"link";if(s&&!p.disabled){var f=!!r.color?false:true;return P(x,{hoverTips:r.hoverTips,tipsType:r.tipsType,children:j(d,e({okText:"确定",cancelText:"取消",trigger:["click"],placement:"topRight",arrow:true,destroyTooltipOnHide:true},a,{title:l,onConfirm:z.bind(null,r),key:n,okButtonProps:{loading:B},onOpenChange:function r(e){if(!e){I(false)}}}),P(y,e({danger:f},p,{onClick:undefined,type:c,children:g(o)?P("span",{children:o}):o})))},n)}return P(x,{hoverTips:r.hoverTips,tipsType:r.tipsType,children:P(y,e({loadingPosition:"center"},p,{type:c,onClick:function r(e){e.stopPropagation();return t==null?void 0:t(e)},children:g(o)?P("span",{children:o}):o}))},n)})),N.length>0?P(k,{menuList:N,children:P(m,{type:"link",className:"fold-more-button",onClick:function r(e){e.stopPropagation()},children:c.foldIcon?c.foldIcon:P(r,{})})}):null]}))})};B.defaultProps={split:true};export{x as B,B as a};
3
- //# sourceMappingURL=button-operate-1ea0fe5a.js.map
2
+ import r from"@ant-design/icons/es/icons/MoreOutlined";import{a as e,_ as i}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{isUndefined as n}from"@dimjs/lang/cjs/is-undefined";import{classNames as o}from"@dimjs/utils/cjs/class-names";import{isPlainObject as t}from"@dimjs/lang/cjs/is-plain-object";import{isString as s}from"@dimjs/lang/cjs/is-string";import{isPromise as l}from"@dimjs/lang/cjs/is-promise";import{hooks as a}from"@wove/react/cjs/hooks";import{Popover as p,Tooltip as c,Space as f,Divider as u,Popconfirm as d,Button as m}from"antd";import{Fragment as h,useState as v,isValidElement as g,useMemo as T,createElement as j}from"react";import{B as y}from"./button-wrapper-698da5b1.js";import{D as k}from"./dropdown-menu-wrapper-24932100.js";import{f as C}from"./fba-utils-a4c7d94d.js";import{jsx as P,jsxs as b}from"react/jsx-runtime";var w=["text","onClick","needConfirm","confirmMessage","popconfirmProps"];var x=function r(e){if(e.hoverTips){if(e.tipsType==="popover"){return P(p,{content:e.hoverTips,zIndex:1e3,children:P(h,{children:e.children})})}return P(c,{title:e.hoverTips,zIndex:1e3,children:P(h,{children:e.children})})}return P(h,{children:e.children})};var B=function p(c){var h=v(false),B=h[0],I=h[1];var z=a.useCallbackRef((function(r,e){var i=r.onClick==null?void 0:r.onClick(e);if(i&&l(i)){I(true);return i.finally((function(){I(false)}))}return}));var F=c.operateList.filter((function(r){if(!r)return false;if(g(r)){var e,i;if(((e=r.props)==null?void 0:e["hidden"])===true)return false;var n=(i=r.props)==null?void 0:i["v-permission"];if(s(n)){return C.hasPermission(n)}return true}if(t(r)){if(!C.hasPermission(r["permission"])){return false}return!r["hidden"]}return false}));var M=T((function(){return F.filter((function(r){if(g(r)){return true}return!r["isFold"]}))}),[F]);var N=T((function(){var r=F.filter((function(r){if(g(r)){return false}return r["isFold"]}));var i=[];r.forEach((function(r){var n=e({},r);delete n.isFold;i.push(n)}));return i}),[F]);var O=c.gap===undefined?10:c.gap;var H=!c.split?O:0;return P("div",{className:o("table-operate",c.className),style:c.style,children:b(f,e({split:c.split?P(u,{type:"vertical"}):null,size:H,wrap:n(c.wrap)?true:c.wrap},c.spaceProps,{children:[M.map((function(r,n){if(r&&g(r)){return P(x,{hoverTips:r.hoverTips,tipsType:r.tipsType,children:r},n)}var o=r.text,t=r.onClick,s=r.needConfirm,l=r.confirmMessage,a=r.popconfirmProps,p=i(r,w);var c=r.type||"link";if(s&&!p.disabled){var f=!!r.color?false:true;return P(x,{hoverTips:r.hoverTips,tipsType:r.tipsType,children:j(d,e({okText:"确定",cancelText:"取消",trigger:["click"],placement:"topRight",arrow:true,destroyTooltipOnHide:true},a,{title:l,onConfirm:z.bind(null,r),key:n,okButtonProps:{loading:B},onOpenChange:function r(e){if(!e){I(false)}}}),P(y,e({danger:f},p,{onClick:undefined,type:c,children:g(o)?P("span",{children:o}):o})))},n)}return P(x,{hoverTips:r.hoverTips,tipsType:r.tipsType,children:P(y,e({loadingPosition:"center"},p,{type:c,onClick:function r(e){e.stopPropagation();return t==null?void 0:t(e)},children:g(o)?P("span",{children:o}):o}))},n)})),N.length>0?P(k,{menuList:N,children:P(m,{type:"link",className:"fold-more-button",onClick:function r(e){e.stopPropagation()},children:c.foldIcon?c.foldIcon:P(r,{})})}):null]}))})};B.defaultProps={split:true};export{x as B,B as a};
3
+ //# sourceMappingURL=button-operate-f09bce7f.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button-operate-f09bce7f.js","sources":["@flatbiz/antd/src/button-operate/button-operate.tsx"],"sourcesContent":["import { MoreOutlined } from '@ant-design/icons';\nimport { isPlainObject, isPromise, isString, isUndefined } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { hooks } from '@wove/react';\nimport { Button, Divider, Popconfirm, PopconfirmProps, Popover, Space, SpaceProps, Tooltip } from 'antd';\nimport {\n CSSProperties,\n FC,\n Fragment,\n isValidElement,\n ReactElement,\n ReactNode,\n useMemo,\n useState,\n} from 'react';\nimport { ButtonWrapper, ButtonWrapperProps } from '../button-wrapper';\nimport { DropdownMenuWrapper } from '../dropdown-menu-wrapper';\nimport { fbaUtils } from '../fba-utils';\n\nimport './style.less';\n\nexport interface ButtonOperateItem extends ButtonWrapperProps {\n /** hover 提示文字 */\n hoverTips?: string | React.ReactElement;\n /** hover 提示类型 默认:'tooltip' */\n tipsType?: 'popover' | 'tooltip';\n text?: string | ReactElement;\n color?: string;\n onClick?: (event: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n permission?: string;\n needConfirm?: boolean;\n confirmMessage?: string;\n hidden?: boolean;\n popconfirmProps?: Pick<PopconfirmProps, 'placement' | 'okText' | 'cancelText' | 'trigger'>;\n // 是否折叠合拢\n isFold?: boolean;\n}\n\nexport interface ButtonOperateProps {\n /**\n * 如果数组中元素为ReactElement类型\n * 1. 一般为antd Button组件,如果组件存在属性hidden=true,则会隐藏\n * 2. 可配置 v-permission 权限值,例如 v-permission=\"add\"\n * 3. 任何confirm、disabled等状态在外部控制\n * 3. 不支持fold效果\n */\n operateList: Array<ButtonOperateItem | null | ReactElement>;\n wrap?: boolean;\n foldIcon?: ReactElement;\n className?: string;\n split?: boolean;\n spaceProps?: SpaceProps;\n /** 间距,默认:10;split=true配置下无效(可通过spaceProps设置间距) */\n gap?: number;\n style?: CSSProperties;\n}\n\nexport const ButtonOperateItemContent = (\n props: Pick<ButtonOperateItem, 'hoverTips' | 'tipsType'> & { children?: ReactNode },\n) => {\n if (props.hoverTips) {\n if (props.tipsType === 'popover') {\n return (\n <Popover content={props.hoverTips} zIndex={1000}>\n <Fragment>{props.children}</Fragment>\n </Popover>\n );\n }\n return (\n <Tooltip title={props.hoverTips} zIndex={1000}>\n <Fragment>{props.children}</Fragment>\n </Tooltip>\n );\n }\n return <Fragment>{props.children}</Fragment>;\n};\n\nexport const ButtonOperate: FC<ButtonOperateProps> = (props) => {\n const [loading, setLoading] = useState(false);\n\n const onConfirm = hooks.useCallbackRef((item: ButtonOperateItem, event) => {\n const result = item.onClick?.(event);\n if (result && isPromise(result)) {\n setLoading(true);\n return result.finally(() => {\n setLoading(false);\n });\n }\n return;\n });\n\n const operateList = props.operateList.filter((item) => {\n if (!item) return false;\n if (isValidElement(item)) {\n if (item.props?.['hidden'] === true) return false;\n const permission = item.props?.['v-permission'];\n if (isString(permission)) {\n return fbaUtils.hasPermission(permission);\n }\n return true;\n }\n if (isPlainObject(item)) {\n if (!fbaUtils.hasPermission(item['permission'])) {\n return false;\n }\n return !item['hidden'];\n }\n return false;\n }) as Array<ButtonOperateItem | ReactElement>;\n\n const viewList = useMemo(() => {\n return operateList.filter((item) => {\n if (isValidElement(item)) {\n return true;\n }\n return !item['isFold'];\n }) as ButtonOperateItem[];\n }, [operateList]);\n\n const foldList = useMemo(() => {\n const filterList = operateList.filter((item) => {\n if (isValidElement(item)) {\n return false;\n }\n return item['isFold'];\n }) as ButtonOperateItem[];\n const result = [] as ButtonOperateItem[];\n filterList.forEach((item) => {\n const target = { ...item };\n // 多余字段渲染到react dom上,出现警告\n delete target.isFold;\n result.push(target);\n });\n return result;\n }, [operateList]);\n\n const gap = props.gap === undefined ? 10 : props.gap;\n const size = !props.split ? gap : 0;\n\n return (\n <div className={classNames('table-operate', props.className)} style={props.style}>\n <Space\n split={props.split ? <Divider type=\"vertical\" /> : null}\n size={size}\n wrap={isUndefined(props.wrap) ? true : props.wrap}\n {...props.spaceProps}\n >\n {viewList.map((item, index) => {\n if (item && isValidElement(item)) {\n return (\n <ButtonOperateItemContent hoverTips={item.hoverTips} tipsType={item.tipsType} key={index}>\n {item}\n </ButtonOperateItemContent>\n );\n }\n const { text, onClick, needConfirm, confirmMessage, popconfirmProps, ...otherProps } = item;\n const type = item.type || 'link';\n if (needConfirm && !otherProps.disabled) {\n const danger = !!item.color ? false : true;\n return (\n <ButtonOperateItemContent hoverTips={item.hoverTips} tipsType={item.tipsType} key={index}>\n <Popconfirm\n okText=\"确定\"\n cancelText=\"取消\"\n trigger={['click']}\n placement=\"topRight\"\n arrow={true}\n destroyTooltipOnHide={true}\n {...popconfirmProps}\n title={confirmMessage}\n onConfirm={onConfirm.bind(null, item)}\n key={index}\n okButtonProps={{\n loading,\n }}\n onOpenChange={(_open) => {\n if (!_open) {\n setLoading(false);\n }\n }}\n >\n <ButtonWrapper danger={danger} {...otherProps} onClick={undefined} type={type}>\n {isValidElement(text) ? <span>{text}</span> : text}\n </ButtonWrapper>\n </Popconfirm>\n </ButtonOperateItemContent>\n );\n }\n return (\n <ButtonOperateItemContent hoverTips={item.hoverTips} tipsType={item.tipsType} key={index}>\n <ButtonWrapper\n loadingPosition=\"center\"\n {...otherProps}\n type={type}\n onClick={(event) => {\n event.stopPropagation();\n return onClick?.(event);\n }}\n >\n {isValidElement(text) ? <span>{text}</span> : text}\n </ButtonWrapper>\n </ButtonOperateItemContent>\n );\n })}\n {foldList.length > 0 ? (\n <DropdownMenuWrapper menuList={foldList}>\n <Button\n type=\"link\"\n className=\"fold-more-button\"\n onClick={(event) => {\n event.stopPropagation();\n }}\n >\n {props.foldIcon ? props.foldIcon : <MoreOutlined />}\n </Button>\n </DropdownMenuWrapper>\n ) : null}\n </Space>\n </div>\n );\n};\n\nButtonOperate.defaultProps = {\n split: true,\n};\n"],"names":["ButtonOperateItemContent","props","hoverTips","tipsType","_jsx","Popover","content","zIndex","children","Fragment","Tooltip","title","ButtonOperate","_useState","useState","loading","setLoading","onConfirm","_hooks","useCallbackRef","item","event","result","onClick","_isPromise","finally","operateList","filter","isValidElement","_item$props","_item$props2","permission","_isString","fbaUtils","hasPermission","_isPlainObject","viewList","useMemo","foldList","filterList","forEach","target","_extends","isFold","push","gap","undefined","size","split","className","_classNames","style","_jsxs","Space","Divider","type","wrap","_isUndefined","spaceProps","map","index","text","needConfirm","confirmMessage","popconfirmProps","otherProps","_objectWithoutPropertiesLoose","_excluded","disabled","danger","color","_createElement","Popconfirm","okText","cancelText","trigger","placement","arrow","destroyTooltipOnHide","bind","key","okButtonProps","onOpenChange","_open","ButtonWrapper","loadingPosition","stopPropagation","length","DropdownMenuWrapper","menuList","Button","foldIcon","_MoreOutlined","defaultProps"],"mappings":"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"}
@@ -8,5 +8,5 @@ import './../simple-layout/index.css';
8
8
  import './../table-scrollbar/index.css';
9
9
  import './index.css';
10
10
  /*! @flatjs/forge MIT @flatbiz/antd */
11
- import{a as e}from"../attach-properties-to-component-9d9644cf.js";import{classNames as i}from"@dimjs/utils/cjs/class-names";import{isUndefined as t}from"@dimjs/lang/cjs/is-undefined";import{isArray as n}from"@dimjs/lang/cjs/is-array";import{hooks as r}from"@wove/react/cjs/hooks";import{a,_ as o}from"../_rollupPluginBabelHelpers-1f4d8910.js";import{cloneState as l}from"@dimjs/model";import{Select as s,Form as u,Pagination as d,message as c,Table as f}from"antd";import{forwardRef as p,useState as m,useImperativeHandle as g,useMemo as v,Children as y,useRef as h}from"react";import{createCtx as C}from"@wove/react/cjs/create-ctx";import{Model as S}from"@dimjs/model-react";import{jsx as b,jsxs as j}from"react/jsx-runtime";import F from"@ant-design/icons/es/icons/DownOutlined";import z from"@ant-design/icons/es/icons/UpOutlined";import{B as q}from"../button-wrapper-698da5b1.js";import{FormGrid as R}from"../form-grid/index.js";import{S as w}from"../simple-layout-1676e586.js";import{isUndefinedOrNull as N,getUuid as x,isMacEnv as P}from"@flatbiz/utils";import{fbaHooks as k}from"../fba-hooks/index.js";import{T}from"../table-scrollbar-66c1682c.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-promise";import"../config-provider-wrapper-dfe8f592.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"../fba-utils-a4c7d94d.js";import"../use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/extend";import"@dimjs/utils/cjs/get";import"ahooks";var K=C(),L=K[0],V=K[1];var O={queryCondition:{},isInit:true};var E={actions:{updateFilterCondition:function e(i){return function(e){e.queryCondition=a({},e.queryCondition,i)}},resetFilterCondition:function e(){return function(e){e.queryCondition=O.queryCondition}},updateInitStatus:function e(){return function(e){e.isInit=false}}},state:O};var B={};var I=function e(i){if(!B[i]){B[i]=S(E)}return B[i]};var A=function e(i){return b(s,a({},i,{size:"small",placement:"topLeft"}))};A.Option=s.Option;var D=p((function(e,o){var s;var f=m([]),p=f[0],y=f[1];var h=m(0),C=h[0],S=h[1];var F=m(false),z=F[0],q=F[1];var R=I(e.modelKey).useStore(),w=R[0],N=R[1];var x=e.pageSize||((s=e.initialPaginationParams)==null?void 0:s.pageSize)||10;var P=e.initRequest===undefined?true:e.initRequest;var k=m(false),T=k[0],K=k[1];var L=a({list:"list",total:"tatal",pageNo:"pageNo",pageSize:"pageSize"},e.fieldNames);var O=u.useForm(),E=O[0];var B=r.useCallbackRef((function(i){return new Promise((function(t,r){var a,o,s,u,d,f,p,m,g,v;var h=function(){try{return t()}catch(e){return r(e)}};var C=function(e){try{q(false);void c.error(e.message);return h()}catch(e){return r(e)}};try{q(true);return Promise.resolve(N.updateFilterCondition(i)).then((function(i){try{a=i;o=l(a.queryCondition||{});s=e.serviceConfig,u=s.requestParamsAdapter,d=s.onRequest,f=s.requestResultAdapter;p=u?u(o):o;return Promise.resolve(d(p)).then((function(i){try{m=i||{};e.onDataSourceChange==null?void 0:e.onDataSourceChange(m);g=f?f(m):m;v=g[L.list];y(n(v)?v:[]);S(g[L.total]);q(false);return h()}catch(e){return C(e)}}),C)}catch(e){return C(e)}}),C)}catch(e){C(e)}}))}));var D=r.useCallbackRef((function(e){return new Promise((function(i,t){return Promise.resolve(N.resetFilterCondition()).then((function(n){try{E.resetFields();if(e){void N.updateFilterCondition(e);E.setFieldsValue(e)}return i()}catch(e){return t(e)}}),t)}))}));var _=function e(i,t){if(T){var n;return n={},n[L.pageNo]=i,n[L.pageSize]=t||x,n}else{return{}}};var U=r.useCallbackRef((function(i){return new Promise((function(t,n){return Promise.resolve(N.resetFilterCondition()).then((function(r){try{E.resetFields();void B(a({},_(1,x),e.initialValues,i));return t()}catch(e){return n(e)}}),n)}))}));var Y=r.useCallbackRef((function(){return a({},w.queryCondition,E.getFieldsValue())}));var H=function e(){return{onRequest:B,clearQueryCondition:D,getRequestParams:Y,onResetRequest:U,form:E}};g(o,(function(){return H()}));var Q=function e(i){K(i)};var $=function i(){var t=E.getFieldsValue();if(e.onFormFinish){e.onFormFinish(a({},t,_(1,w.queryCondition.pageSize)))}else{void B(a({},t,_(1,w.queryCondition.pageSize)))}};var G=t(e.isFull)?true:e.isFull;var J=i("fba-easy-table",{"fba-easy-table-full":G,"fba-easy-table-filter-fixed":e.filterFixed,"fba-easy-table-pagination-fixed":e.paginationFixed});var M=v((function(){return a({showSizeChanger:true,current:w.queryCondition[L.pageNo]||1,pageSize:w.queryCondition[L.pageSize]||x,total:C,showTotal:function e(i){return"共 "+i+" 条记录"}},e.pagination)}),[L.pageNo,L.pageSize,x,e.pagination,w.queryCondition,C]);var W=r.useCallbackRef((function(i,t){var n,r;void B((n={},n[L.pageSize]=t,n[L.pageNo]=i,n));(r=e.pagination)==null?void 0:r.onChange==null?void 0:r.onChange(i,t)}));return b(V,{value:{getEasyTableRef:H,modelKey:e.modelKey,onRequest:B,tableList:p,tableTotal:C,loading:z,fieldNames:L,pageSize:x,initRequest:P,initialValues:e.initialValues||{},onSetPaginationStatus:Q,paginationStatus:T,onFormFinish:$,form:E,paginationFixed:e.paginationFixed||false,foldKeys:e.foldKeys||[]},children:e.paginationFixed?j("div",{className:"fba-easy-table-wrapper",children:[b("div",{className:J,children:e.children}),C>0&&b("div",{className:"fba-easy-table-pagination",children:b(d,a({size:"small"},M,{onChange:W,selectComponentClass:A}))})]}):b("div",{className:J,children:e.children})})}));var _=function e(i){var t=i.queryButtonProps,n=i.resetButtonProps,o=i.filterOperate;var l=L(),s=l.modelKey,d=l.foldKeys,c=l.fieldNames,f=l.onRequest,p=l.pageSize,g=l.paginationStatus,h=l.initialValues,C=l.form,S=l.onFormFinish;var N=typeof i.children==="function"?i.children(C):i.children;var x=y.toArray(N);var P=m(false),k=P[0],T=P[1];var K=I(s).useStore(),V=K[0],O=K[1];var E=r.useCallbackRef((function(){return new Promise((function(e,i){var t;return Promise.resolve(O.resetFilterCondition()).then((function(n){try{C.resetFields();if(g){f(a((t={},t[c.pageNo]=1,t[c.pageSize]=p,t),h))}else{f(h)}return e()}catch(e){return i(e)}}),i)}))}));var B=v((function(){var e=a({rightList:[!(t!=null&&t.hidden)?b(q,a({type:"primary",htmlType:"submit"},t,{children:(t==null?void 0:t.text)||"查询"}),"1"):null,!(n!=null&&n.hidden)?b(q,a({onClick:E},n,{children:(n==null?void 0:n.text)||"重置"}),"2"):null],leftList:[]},o==null?void 0:o(C));if(d.length>0){var i=b(q,{type:"link",style:{padding:"0"},onClick:function e(){T(!k)},children:k?j("span",{children:["收起",b(z,{style:{marginLeft:3,fontSize:12}})]}):j("span",{children:["展开",b(F,{style:{marginLeft:3,fontSize:12}})]})});var r=e.rightList,l=e.leftList;if(r.length>0||l.length===0){r.push(i)}else if((l==null?void 0:l.length)>0){l.push(i)}}return x.map((function(e,i){if(!k&&d.find((function(i){return".$"+i===e.key})))return null;if(e.type["domTypeName"]==="FormCol"){return e}return b(R.Col,{children:e},i)})).filter(Boolean).concat(b(R.OperateCol,a({},e),999))}),[x,o,d,C,E,k,t,n]);return b(w,{className:"easy-table-filter",children:b(u,{form:C,onFinish:S,initialValues:a({},h,V.queryCondition),children:i.isPure?N:b(R.Row,{gutter:[15,0],children:B})})})};var U=function e(){var i=L();var t=h(i.getEasyTableRef());return t.current};var Y=function e(){var i=L(),t=i.getEasyTableRef;var n=h(t());return n};var H=["children","rowKey","pagination"];var Q=function e(i){var t=i.children,n=i.rowKey,r=i.pagination,l=o(i,H);var s=L(),u=s.modelKey,d=s.fieldNames,c=s.onRequest,p=s.tableList,m=s.initRequest,g=s.pageSize,y=s.tableTotal,h=s.loading,C=s.initialValues,S=s.paginationFixed,F=s.onSetPaginationStatus;var z=I(u).useStore(),q=z[0],R=z[1];var K=v((function(){if(S||r===false)return false;return a({showSizeChanger:true,current:q.queryCondition[d.pageNo]||1,pageSize:q.queryCondition[d.pageSize]||g,total:y,showTotal:function e(i){return"共 "+i+" 条记录"}},i.pagination,{selectComponentClass:A})}),[d.pageNo,d.pageSize,g,r,S,i.pagination,q.queryCondition,y]);var V=function e(t){if(K){var n;c((n={},n[d.pageSize]=t.pageSize,n[d.pageNo]=t.current,n))}for(var r=arguments.length,a=new Array(r>1?r-1:0),o=1;o<r;o++){a[o-1]=arguments[o]}i.onChange==null?void 0:i.onChange.apply(i,[t].concat(a))};var O=v((function(){if(p.length===0){return[]}if(N(p[0][n])){return p.map((function(e){e[n]=x();return e}))}return p}),[p,n]);k.useEffectCustom((function(){var e=S||K!==false;F(e);if(m!==false||!q.isInit){if(e){var i;void c(a((i={},i[d.pageNo]=1,i[d.pageSize]=g,i),C))}else{void c(C)}}else{void R.updateFilterCondition(C)}void R.updateInitStatus()}),[]);return j(w,{className:"easy-table-table",children:[t,P()?b(f,a({size:"small",scroll:{x:"max-content"},bordered:true},l,{pagination:K,rowKey:n,onChange:V,loading:h,dataSource:O})):b(T,{children:b(f,a({size:"small",scroll:{x:"max-content"},bordered:true},l,{pagination:K,rowKey:n,onChange:V,loading:h,dataSource:O}))})]})};var $=e(D,{Filter:_,Table:Q,useEasyTablRef:Y,useEasyTable:U});export{$ as EasyTable};
11
+ import{a as e}from"../attach-properties-to-component-9d9644cf.js";import{classNames as i}from"@dimjs/utils/cjs/class-names";import{isUndefined as t}from"@dimjs/lang/cjs/is-undefined";import{isArray as n}from"@dimjs/lang/cjs/is-array";import{hooks as r}from"@wove/react/cjs/hooks";import{a,_ as o}from"../_rollupPluginBabelHelpers-1f4d8910.js";import{cloneState as l}from"@dimjs/model";import{Select as s,Form as u,Pagination as d,message as c,Table as p}from"antd";import{forwardRef as f,useState as m,useImperativeHandle as g,useMemo as v,Children as y,useRef as h}from"react";import{createCtx as C}from"@wove/react/cjs/create-ctx";import{Model as b}from"@dimjs/model-react";import{jsx as S,jsxs as j}from"react/jsx-runtime";import F from"@ant-design/icons/es/icons/DownOutlined";import z from"@ant-design/icons/es/icons/UpOutlined";import{B as q}from"../button-wrapper-698da5b1.js";import{FormGrid as N}from"../form-grid/index.js";import{S as R}from"../simple-layout-1676e586.js";import{isUndefinedOrNull as w,getUuid as x,isMacEnv as P}from"@flatbiz/utils";import{fbaHooks as k}from"../fba-hooks/index.js";import{T}from"../table-scrollbar-66c1682c.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-promise";import"../config-provider-wrapper-dfe8f592.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"../fba-utils-a4c7d94d.js";import"../use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/extend";import"@dimjs/utils/cjs/get";import"ahooks";var K=C(),L=K[0],V=K[1];var O={queryCondition:{},isInit:true};var E={actions:{updateFilterCondition:function e(i){return function(e){e.queryCondition=a({},e.queryCondition,i)}},resetFilterCondition:function e(){return function(e){e.queryCondition=O.queryCondition}},updateInitStatus:function e(){return function(e){e.isInit=false}}},state:O};var B={};var I=function e(i){if(!B[i]){B[i]=b(E)}return B[i]};var A=function e(i){return S(s,a({},i,{size:"small",placement:"topLeft"}))};A.Option=s.Option;var D=f((function(e,o){var s;var p=m([]),f=p[0],y=p[1];var h=m(0),C=h[0],b=h[1];var F=m(false),z=F[0],q=F[1];var N=I(e.modelKey).useStore(),R=N[0],w=N[1];var x=e.pageSize||((s=e.initialPaginationParams)==null?void 0:s.pageSize)||10;var P=e.initRequest===undefined?true:e.initRequest;var k=m(false),T=k[0],K=k[1];var L=a({list:"list",total:"tatal",pageNo:"pageNo",pageSize:"pageSize"},e.fieldNames);var O=u.useForm(),E=O[0];var B=r.useCallbackRef((function(i){return new Promise((function(t,r){var a,o,s,u,d,p,f,m,g,v;var h=function(){try{return t()}catch(e){return r(e)}};var C=function(e){try{q(false);void c.error(e.message);return h()}catch(e){return r(e)}};try{q(true);return Promise.resolve(w.updateFilterCondition(i)).then((function(i){try{a=i;o=l(a.queryCondition||{});s=e.serviceConfig,u=s.requestParamsAdapter,d=s.onRequest,p=s.requestResultAdapter;f=u?u(o):o;return Promise.resolve(d(f)).then((function(i){try{m=i||{};e.onDataSourceChange==null?void 0:e.onDataSourceChange(m);g=p?p(m):m;v=g[L.list];y(n(v)?v:[]);b(g[L.total]);q(false);return h()}catch(e){return C(e)}}),C)}catch(e){return C(e)}}),C)}catch(e){C(e)}}))}));var D=r.useCallbackRef((function(e){return new Promise((function(i,t){return Promise.resolve(w.resetFilterCondition()).then((function(n){try{E.resetFields();if(e){void w.updateFilterCondition(e);E.setFieldsValue(e)}return i()}catch(e){return t(e)}}),t)}))}));var _=function e(i,t){if(T){var n;return n={},n[L.pageNo]=i,n[L.pageSize]=t||x,n}else{return{}}};var U=r.useCallbackRef((function(i){return new Promise((function(t,n){return Promise.resolve(w.resetFilterCondition()).then((function(r){try{E.resetFields();void B(a({},_(1,x),e.initialValues,i));return t()}catch(e){return n(e)}}),n)}))}));var W=r.useCallbackRef((function(){return a({},R.queryCondition,E.getFieldsValue())}));var Y=function e(){return{onRequest:B,clearQueryCondition:D,getRequestParams:W,onResetRequest:U,form:E}};g(o,(function(){return Y()}));var H=function e(i){K(i)};var Q=function i(){var t=E.getFieldsValue();if(e.onFormFinish){e.onFormFinish(a({},t,_(1,R.queryCondition.pageSize)))}else{void B(a({},t,_(1,R.queryCondition.pageSize)))}};var $=t(e.isFull)?true:e.isFull;var G=i("fba-easy-table",{"fba-easy-table-full":$,"fba-easy-table-filter-fixed":e.filterFixed,"fba-easy-table-pagination-fixed":e.paginationFixed});var J=v((function(){return a({showSizeChanger:true,current:R.queryCondition[L.pageNo]||1,pageSize:R.queryCondition[L.pageSize]||x,total:C,showTotal:function e(i){return"共 "+i+" 条记录"}},e.pagination)}),[L.pageNo,L.pageSize,x,e.pagination,R.queryCondition,C]);var M=r.useCallbackRef((function(i,t){var n,r;void B((n={},n[L.pageSize]=t,n[L.pageNo]=i,n));(r=e.pagination)==null?void 0:r.onChange==null?void 0:r.onChange(i,t)}));return S(V,{value:{getEasyTableRef:Y,modelKey:e.modelKey,onRequest:B,tableList:f,tableTotal:C,loading:z,fieldNames:L,pageSize:x,initRequest:P,initialValues:e.initialValues||{},onSetPaginationStatus:H,paginationStatus:T,onFormFinish:Q,form:E,paginationFixed:e.paginationFixed||false,foldKeys:e.foldKeys||[]},children:e.paginationFixed?j("div",{className:"fba-easy-table-wrapper",children:[S("div",{className:G,children:e.children}),C>0&&S("div",{className:"fba-easy-table-pagination",children:S(d,a({size:"small"},J,{onChange:M,selectComponentClass:A}))})]}):S("div",{className:G,children:e.children})})}));var _=function e(i){var t=i.queryButtonProps,n=i.resetButtonProps,o=i.filterOperate;var l=L(),s=l.modelKey,d=l.foldKeys,c=l.fieldNames,p=l.onRequest,f=l.pageSize,g=l.paginationStatus,h=l.initialValues,C=l.form,b=l.onFormFinish;var w=typeof i.children==="function"?i.children(C):i.children;var x=y.toArray(w);var P=m(false),k=P[0],T=P[1];var K=I(s).useStore(),V=K[0],O=K[1];var E=r.useCallbackRef((function(){return new Promise((function(e,i){var t;return Promise.resolve(O.resetFilterCondition()).then((function(n){try{C.resetFields();if(g){p(a((t={},t[c.pageNo]=1,t[c.pageSize]=f,t),h))}else{p(h)}return e()}catch(e){return i(e)}}),i)}))}));var B=v((function(){var e=a({rightList:[!(t!=null&&t.hidden)?S(q,a({type:"primary",htmlType:"submit"},t,{children:(t==null?void 0:t.text)||"查询"}),"1"):null,!(n!=null&&n.hidden)?S(q,a({onClick:E},n,{children:(n==null?void 0:n.text)||"重置"}),"2"):null],leftList:[]},o==null?void 0:o(C));if(d.length>0){var i=S(q,{type:"link",style:{padding:"0"},onClick:function e(){T(!k)},children:k?j("span",{children:["收起",S(z,{style:{marginLeft:3,fontSize:12}})]}):j("span",{children:["展开",S(F,{style:{marginLeft:3,fontSize:12}})]})});var r=e.rightList,l=e.leftList;if(r.length>0||l.length===0){r.push(i)}else if((l==null?void 0:l.length)>0){l.push(i)}}return x.map((function(e,i){if(!k&&d.find((function(i){return".$"+i===e.key})))return null;if(e.type["domTypeName"]==="FormCol"){return e}return S(N.Col,{children:e},i)})).filter(Boolean).concat(S(N.OperateCol,a({},e),999))}),[x,o,d,C,E,k,t,n]);return S(R,{className:"easy-table-filter",children:S(u,{form:C,onFinish:b,initialValues:a({},h,V.queryCondition),children:i.isPure?w:S(N.Row,{gutter:[15,0],children:B})})})};var U=function e(){var i=L();var t=h(i.getEasyTableRef());return t.current};var W=function e(){var i=L(),t=i.getEasyTableRef;var n=h(t());return n};var Y=["children","rowKey","pagination"];var H=function e(t){var n=t.children,r=t.rowKey,l=t.pagination,s=o(t,Y);var u=L(),d=u.modelKey,c=u.fieldNames,f=u.onRequest,m=u.tableList,g=u.initRequest,y=u.pageSize,h=u.tableTotal,C=u.loading,b=u.initialValues,F=u.paginationFixed,z=u.onSetPaginationStatus;var q=I(d).useStore(),N=q[0],K=q[1];var V=v((function(){if(F||l===false)return false;return a({showSizeChanger:true,current:N.queryCondition[c.pageNo]||1,pageSize:N.queryCondition[c.pageSize]||y,total:h,showTotal:function e(i){return"共 "+i+" 条记录"}},t.pagination,{selectComponentClass:A})}),[c.pageNo,c.pageSize,y,l,F,t.pagination,N.queryCondition,h]);var O=function e(i){if(V){var n;f((n={},n[c.pageSize]=i.pageSize,n[c.pageNo]=i.current,n))}for(var r=arguments.length,a=new Array(r>1?r-1:0),o=1;o<r;o++){a[o-1]=arguments[o]}t.onChange==null?void 0:t.onChange.apply(t,[i].concat(a))};var E=v((function(){if(m.length===0){return[]}if(w(m[0][r])){return m.map((function(e){e[r]=x();return e}))}return m}),[m,r]);k.useEffectCustom((function(){var e=F||V!==false;z(e);if(g!==false||!N.isInit){if(e){var i;void f(a((i={},i[c.pageNo]=1,i[c.pageSize]=y,i),b))}else{void f(b)}}else{void K.updateFilterCondition(b)}void K.updateInitStatus()}),[]);return j(R,{className:i("easy-table-table",t.tableWrapperClassName),style:t.tableWrapperStyle,children:[n,P()?S(p,a({size:"small",scroll:{x:"max-content"},bordered:true},s,{pagination:V,rowKey:r,onChange:O,loading:C,dataSource:E})):S(T,{children:S(p,a({size:"small",scroll:{x:"max-content"},bordered:true},s,{pagination:V,rowKey:r,onChange:O,loading:C,dataSource:E}))})]})};var Q=e(D,{Filter:_,Table:H,useEasyTablRef:W,useEasyTable:U});export{Q as EasyTable};
12
12
  //# 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/select.tsx","@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 { TPlainObject } from '@flatbiz/utils';\nimport { createCtx } from '@wove/react';\nimport { FormInstance } from 'antd';\nimport { EasyTableRefApi } from './type';\n\nexport 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","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: void;\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: () => {\n return (state) => {\n state.queryCondition = defaultState.queryCondition;\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 { Select, SelectProps } from 'antd';\nimport * as React from 'react';\n\ntype CompoundedComponent = React.FC<SelectProps> & {\n Option: typeof Select.Option;\n};\n\n/**\n * 由于 antd 5.3.x 分页Pagination组件,存在点击分页选择框框时,一直朝下\n * issues:https://github.com/ant-design/ant-design/issues/36866\n * 为了兼容,在 Pagination 中添加了 selectComponentClass 属性,后期antd 官方优化了bug,可取消 配置selectComponentClass\n * @param props\n * @returns\n */\nexport const MiniSelect: CompoundedComponent = (props) => (\n <Select {...props} size=\"small\" placement=\"topLeft\" />\n);\n\nMiniSelect.Option = Select.Option;\n","import { isArray, isUndefined } from '@dimjs/lang';\nimport { cloneState } from '@dimjs/model';\nimport { classNames } from '@dimjs/utils';\nimport { TAny, TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Form, message, Pagination, PaginationProps } from 'antd';\nimport { forwardRef, ReactElement, useImperativeHandle, useMemo, useState } from 'react';\nimport { EasyTableCtxProvider } from './context';\nimport { easyTableModel } from './model';\nimport { MiniSelect } from './select';\nimport './style.less';\nimport { EasyTableRefApi } from './type';\n\ntype EasyTableServiceConfig = {\n /** 接口配置 */\n onRequest: (params?: TPlainObject) => Promise<TPlainObject | TPlainObject[]>;\n /** 请求参数处理 */\n requestParamsAdapter?: (params: TPlainObject) => TPlainObject;\n /**\n * 接口相应数据处理\n * @param params\n * ```\n * 返回数据为对象,包含两个字段\n * 1. 表格列表数据 - Array\n * 2. 表格条数总数 - Number\n * 其中 字段key 命名会通过 fieldNames 进行转义\n * ```\n */\n requestResultAdapter?: (params: TAny) => TPlainObject;\n};\n\nexport type EasyTableProps = {\n children: ReactElement | ReactElement[];\n /** EasyTable唯一值,可用于缓存查询条件 */\n modelKey: string;\n /** 接口数据配置 */\n serviceConfig: EasyTableServiceConfig;\n /**\n * 1. 查询条件Form initialValues\n * 2. 接口其他参数,例如常量类型\n */\n initialValues?: TPlainObject;\n /**\n * 分页初始化参数,默认值: pageSize = 10\n * @deprecated 使用 pageSize 赋值\n */\n initialPaginationParams?: { pageSize?: number };\n /** 分页单页条数,默认值:10 */\n pageSize?: number;\n /** 字段映射 */\n fieldNames?: { list?: string; total?: string; pageNo?: string; pageSize?: string; uid?: string };\n /** 初始化是否请求,默认值:true */\n initRequest?: boolean;\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\nexport const EasyTable = forwardRef<EasyTableRefApi, EasyTableProps>((props: EasyTableProps, ref) => {\n const [dataSource, setDataSource] = useState<TPlainObject[]>([]);\n const [total, setTotal] = useState<number>(0);\n const [loading, setLoading] = useState<boolean>(false);\n const [state, actions] = easyTableModel(props.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\n const fieldNames = {\n list: 'list',\n total: 'tatal',\n pageNo: 'pageNo',\n pageSize: 'pageSize',\n ...props.fieldNames,\n };\n\n const [form] = Form.useForm();\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 } = props.serviceConfig;\n const paramsNew = requestParamsAdapter ? requestParamsAdapter(queryCondition) : queryCondition;\n const respData = (await onRequest(paramsNew)) || {};\n props.onDataSourceChange?.(respData);\n const respDataNew = requestResultAdapter ? requestResultAdapter(respData) : respData;\n const respList = respDataNew[fieldNames.list];\n setDataSource(isArray(respList) ? respList : []);\n setTotal(respDataNew[fieldNames.total]);\n setLoading(false);\n } catch (error) {\n setLoading(false);\n void message.error(error.message);\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 await actions.resetFilterCondition();\n form.resetFields();\n void onInnerRequest({\n ...getPaginationData(1, pageSize),\n ...props.initialValues,\n ...values,\n });\n });\n\n const getRequestParams = hooks.useCallbackRef(() => {\n return {\n ...state.queryCondition,\n ...form.getFieldsValue(),\n };\n });\n\n const getEasyTableRef = () => {\n return {\n onRequest: onInnerRequest,\n clearQueryCondition,\n getRequestParams,\n onResetRequest,\n form,\n };\n };\n\n useImperativeHandle(ref, () => {\n return getEasyTableRef();\n });\n\n const onSetPaginationStatus = (status: boolean) => {\n setPaginationStatus(status);\n };\n\n const onFormFinish = () => {\n const values = form.getFieldsValue();\n if (props.onFormFinish) {\n props.onFormFinish({ ...values, ...getPaginationData(1, state.queryCondition.pageSize) });\n } else {\n void onInnerRequest({\n ...values,\n ...getPaginationData(1, state.queryCondition.pageSize),\n });\n }\n };\n const isFull = isUndefined(props.isFull) ? true : props.isFull;\n const className = classNames('fba-easy-table', {\n 'fba-easy-table-full': isFull,\n 'fba-easy-table-filter-fixed': props.filterFixed,\n 'fba-easy-table-pagination-fixed': props.paginationFixed,\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({ [fieldNames.pageSize]: pageSize, [fieldNames.pageNo]: page });\n props.pagination?.onChange?.(page, pageSize);\n });\n\n return (\n <EasyTableCtxProvider\n value={{\n getEasyTableRef,\n modelKey: props.modelKey,\n onRequest: onInnerRequest,\n tableList: 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 }}\n >\n {props.paginationFixed ? (\n <div className=\"fba-easy-table-wrapper\">\n <div className={className}>{props.children}</div>\n {total > 0 && (\n <div className=\"fba-easy-table-pagination\">\n <Pagination\n size=\"small\"\n {...paginationData}\n onChange={onChange}\n selectComponentClass={MiniSelect}\n />\n </div>\n )}\n </div>\n ) : (\n <div className={className}>{props.children}</div>\n )}\n </EasyTableCtxProvider>\n );\n});\n","import { DownOutlined, UpOutlined } from '@ant-design/icons';\nimport { hooks } from '@wove/react';\nimport { ButtonProps, Form, FormInstance } from 'antd';\nimport { Children, ReactElement, useMemo, useState } from 'react';\nimport { ButtonWrapper } from '../button-wrapper';\nimport { FormGrid } from '../form-grid';\nimport { FormOperateColProps } from '../form-grid/form-operate-col';\nimport { SimpleLayout } from '../simple-layout';\nimport { useEasyTableCtx } 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<ButtonProps, 'onClick'> & { text?: string };\n // 重置按钮配置\n resetButtonProps?: Omit<ButtonProps, 'onClick'> & { text?: string };\n};\n\n/**\n * 过滤条件\n * @param props\n * @returns\n *\n *```\n *1. 用法1\n * -- 默认网格布局 规则:{ xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 }\n * <EasyTableFilter>\n * <Form.Item name=\"field1\" label=\"条件1\">xxx</Form.Item>\n * </EasyTableFilter>\n *\n * -- 自定义网格布局 使用 FormCol组件包装 Form.Item\n * <EasyTableFilter>\n * <FormCol span={12}><Form.Item name=\"field1\" label=\"条件1\">xxx</Form.Item></FormCol>\n * </EasyTableFilter>\n *\n * -- children 可为 function\n * <EasyTableFilter>\n * {(form) => {\n * return <Form.Item name=\"field1\" label=\"条件1\">xxx</Form.Item>\n * }}\n * </EasyTableFilter>\n *2. 用户2(自定义布局)\n * EasyTableFilter设置 isPure = true,FormItem无布局规则\n *3. EasyTableFilter中内置了 Form 标签,当children为函数时,可获取form实例\n *4. 默认布局下,可通过设置 filterOperate 设置操作按钮\n *```\n */\nexport const EasyTableFilter = (props: EasyTableFilterProps) => {\n const { queryButtonProps, resetButtonProps, filterOperate } = props;\n const {\n modelKey,\n foldKeys,\n fieldNames,\n onRequest,\n pageSize,\n paginationStatus,\n initialValues,\n form,\n onFormFinish,\n } = useEasyTableCtx();\n const children = typeof props.children === 'function' ? props.children(form) : props.children;\n const childrens = Children.toArray(children) as ReactElement[];\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 (paginationStatus) {\n onRequest({\n [fieldNames.pageNo]: 1,\n [fieldNames.pageSize]: pageSize,\n ...initialValues,\n });\n } else {\n onRequest(initialValues);\n }\n });\n\n const formRowChildren = useMemo(() => {\n const formOperateColProps = {\n rightList: [\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 ],\n leftList: [],\n ...filterOperate?.(form),\n };\n\n if (foldKeys.length > 0) {\n const changeFolditem = (\n <ButtonWrapper\n type=\"link\"\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 const { rightList, leftList } = formOperateColProps;\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.type['domTypeName'] === 'FormCol') {\n return item;\n }\n return <FormGrid.Col key={index}>{item}</FormGrid.Col>;\n })\n .filter(Boolean)\n .concat(<FormGrid.OperateCol key={999} {...formOperateColProps} />);\n }, [childrens, filterOperate, foldKeys, form, onReset, openFold, queryButtonProps, resetButtonProps]);\n\n return (\n <SimpleLayout className=\"easy-table-filter\">\n <Form\n form={form}\n onFinish={onFormFinish}\n initialValues={{\n ...initialValues,\n ...state.queryCondition,\n }}\n >\n {props.isPure ? children : <FormGrid.Row gutter={[15, 0]}>{formRowChildren}</FormGrid.Row>}\n </Form>\n </SimpleLayout>\n );\n};\n","import { useRef } from 'react';\nimport { useEasyTableCtx } from './context';\nimport { EasyTableRefApi } from './type';\n\n/**\n * 在 EasyTable子组件内才可使用\n * @returns\n */\nexport const useEasyTable = () => {\n const ctx = useEasyTableCtx();\n const resp = useRef(ctx.getEasyTableRef());\n return resp.current;\n};\n\n/**\n *\n * @deprecated 已过去,请使用 useEasyTable\n * @returns\n */\nexport const useEasyTablRef = () => {\n const { getEasyTableRef } = useEasyTableCtx();\n const ref = useRef<EasyTableRefApi>(getEasyTableRef());\n return ref;\n};\n","import { getUuid, isMacEnv, isUndefinedOrNull, TAny } from '@flatbiz/utils';\nimport { Table, TableProps } from 'antd';\nimport { ReactElement, useMemo } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport { SimpleLayout } from '../simple-layout';\nimport { TableScrollbar } from '../table-scrollbar';\nimport { useEasyTableCtx } from './context';\nimport { easyTableModel } from './model';\nimport { MiniSelect } from './select';\n\nexport type EasyTableTableProps = Omit<TableProps<TAny>, 'dataSource' | 'loading' | 'rowKey'> & {\n children?: ReactElement | ReactElement[];\n /** 表格行 key 的取值 */\n rowKey: string;\n};\n\n/**\n * 表格渲染\n * @param props\n * ```\n * 1. 继承了 TableProps 可设置antd table功能\n * ```\n */\nexport const EasyTableTable = (props: EasyTableTableProps) => {\n const { children, rowKey, pagination, ...otherProps } = props;\n\n const {\n modelKey,\n fieldNames,\n onRequest,\n tableList,\n initRequest,\n pageSize,\n tableTotal,\n loading,\n initialValues,\n paginationFixed,\n onSetPaginationStatus,\n } = useEasyTableCtx();\n const [state, actions] = easyTableModel(modelKey).useStore();\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: MiniSelect,\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'] = (data, ...otherProps) => {\n if (tablePaginationData) {\n onRequest({ [fieldNames.pageSize]: data.pageSize, [fieldNames.pageNo]: data.current });\n }\n props.onChange?.(data, ...otherProps);\n };\n\n const dataSource = useMemo(() => {\n if (tableList.length === 0) {\n return [];\n }\n if (isUndefinedOrNull(tableList[0][rowKey])) {\n return tableList.map((item) => {\n item[rowKey] = getUuid();\n return item;\n });\n }\n return tableList;\n }, [tableList, 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 });\n } else {\n void onRequest(initialValues);\n }\n } else {\n void actions.updateFilterCondition(initialValues);\n }\n void actions.updateInitStatus();\n }, []);\n\n return (\n <SimpleLayout className=\"easy-table-table\">\n {children}\n {isMacEnv() ? (\n <Table\n size=\"small\"\n scroll={{ x: 'max-content' }}\n bordered\n {...otherProps}\n pagination={tablePaginationData}\n rowKey={rowKey}\n onChange={onChangePage}\n loading={loading}\n dataSource={dataSource}\n />\n ) : (\n <TableScrollbar>\n <Table\n size=\"small\"\n scroll={{ x: 'max-content' }}\n bordered\n {...otherProps}\n pagination={tablePaginationData}\n rowKey={rowKey}\n onChange={onChangePage}\n loading={loading}\n dataSource={dataSource}\n />\n </TableScrollbar>\n )}\n </SimpleLayout>\n );\n};\n","import { attachPropertiesToComponent } from '../_utils/attach-properties-to-component';\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 * 1. 需要获取查询条件、主动发起请求等可通过ref、useEasyTable操作\n * 2. 可通过属性 initRequest 设置初始化是否请求数据\n * 3. 可通过属性 fieldNames 来设置自定义变量,默认值为:list、total、pageNo、pageSize\n * 4. isFull=true,设置【在父节点高度下,上下铺满】(默认值:true)\n * 5. filterFixed=true,设置查询条件固定,不随滚动条滚动\n * 6. paginationFixed=true,可设置分页条件在底部固定,不随滚动条滚动\n * 7. foldKeys=string[],查询条件展开、收起,被收起数组内容为EasyTable.Filter 子节点key值\n * 8. windows环境下,会在EasyTable.Table外部包装一下 TableScrollbar,提示高windows下table左右滚动体验\n *\n * Demo https://fex.qa.tcshuke.com/docs/admin/main/crud/easy-table\n * ```\n */\nexport const EasyTable = attachPropertiesToComponent(EasyTableInner, {\n /**\n * 过滤条件\n * @param props\n * @returns\n *\n *```\n *1. 用法1\n * -- 默认网格布局 规则:{ xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 }\n * <EasyTable.Filter>\n * <Form.Item name=\"field1\" label=\"条件1\">xxx</Form.Item>\n * </EasyTable.Filter>\n *\n * -- 自定义网格布局 使用 FormCol组件包装 Form.Item\n * <EasyTable.Filter>\n * <FormCol span={12}><Form.Item name=\"field1\" label=\"条件1\">xxx</Form.Item></FormCol>\n * </EasyTable.Filter>\n *\n * -- children 可为 function\n * <EasyTable.Filter>\n * {(form) => {\n * return <Form.Item name=\"field1\" label=\"条件1\">xxx</Form.Item>\n * }}\n * </EasyTable.Filter>\n *2. 用户2(自定义布局)\n * EasyTable.Filter设置 isPure = true,FormItem无布局规则\n *3. EasyTable.Filter中内置了 Form 标签,当children为函数时,可获取form实例\n *4. 默认布局下,可通过设置 filterOperate 设置操作按钮\n *```\n */\n Filter: EasyTableFilter,\n /**\n * 表格渲染\n * @param props\n * ```\n * 1. 继承了 TableProps 可设置antd table功能\n * ```\n */\n Table: EasyTableTable,\n\n /**\n * @deprecated 已过去,请使用 useEasyTable\n */\n useEasyTablRef: useEasyTablRef,\n\n /** 在 EasyTable子组件内才可使用 */\n useEasyTable: useEasyTable,\n});\n"],"names":["_createCtx","_createCtx2","useEasyTableCtx","EasyTableCtxProvider","defaultState","queryCondition","isInit","_EasyTableModel","actions","updateFilterCondition","params","state","_extends","resetFilterCondition","updateInitStatus","easyTableModels","easyTableModel","key","Model","MiniSelect","props","_jsx","Select","size","placement","Option","EasyTable","forwardRef","ref","_props$initialPaginat","_useState","useState","dataSource","setDataSource","_useState2","total","setTotal","_useState3","loading","setLoading","_easyTableModel$useSt","modelKey","useStore","pageSize","initialPaginationParams","initRequest","undefined","_useState4","paginationStatus","setPaginationStatus","fieldNames","list","pageNo","_Form$useForm","Form","useForm","form","onInnerRequest","_hooks","useCallbackRef","Promise","$return","$error","allState","_props$serviceConfig","requestParamsAdapter","onRequest","requestResultAdapter","paramsNew","respData","respDataNew","respList","$Try_1_Post","$boundEx","$Try_1_Catch","error","message","resolve","then","$await_2","cloneState","serviceConfig","$await_3","onDataSourceChange","_isArray","clearQueryCondition","values","$await_4","resetFields","setFieldsValue","getPaginationData","_pageSize","_ref","onResetRequest","$await_5","initialValues","getRequestParams","getFieldsValue","getEasyTableRef","useImperativeHandle","onSetPaginationStatus","status","onFormFinish","isFull","_isUndefined","className","_classNames","filterFixed","paginationFixed","paginationData","useMemo","showSizeChanger","current","showTotal","pagination","onChange","page","_onInnerRequest","_props$pagination","value","tableList","tableTotal","foldKeys","children","_jsxs","Pagination","selectComponentClass","EasyTableFilter","queryButtonProps","resetButtonProps","filterOperate","_useEasyTableCtx","childrens","Children","toArray","openFold","setOpenFold","onReset","_extends2","$await_1","formRowChildren","formOperateColProps","rightList","hidden","ButtonWrapper","type","htmlType","text","onClick","leftList","length","changeFolditem","style","padding","_UpOutlined","marginLeft","fontSize","_DownOutlined","push","map","item","index","find","keyItem","FormGrid","Col","filter","Boolean","concat","OperateCol","SimpleLayout","onFinish","isPure","Row","gutter","useEasyTable","ctx","resp","useRef","useEasyTablRef","EasyTableTable","rowKey","otherProps","_objectWithoutPropertiesLoose","_excluded","tablePaginationData","onChangePage","data","_onRequest","_len","arguments","Array","_key","apply","isUndefinedOrNull","getUuid","fbaHooks","useEffectCustom","hasPagination","isMacEnv","Table","scroll","x","bordered","TableScrollbar","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/select.tsx","@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 { TPlainObject } from '@flatbiz/utils';\nimport { createCtx } from '@wove/react';\nimport { FormInstance } from 'antd';\nimport { EasyTableRefApi } from './type';\n\nexport 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","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: void;\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: () => {\n return (state) => {\n state.queryCondition = defaultState.queryCondition;\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 { Select, SelectProps } from 'antd';\nimport * as React from 'react';\n\ntype CompoundedComponent = React.FC<SelectProps> & {\n Option: typeof Select.Option;\n};\n\n/**\n * 由于 antd 5.3.x 分页Pagination组件,存在点击分页选择框框时,一直朝下\n * issues:https://github.com/ant-design/ant-design/issues/36866\n * 为了兼容,在 Pagination 中添加了 selectComponentClass 属性,后期antd 官方优化了bug,可取消 配置selectComponentClass\n * @param props\n * @returns\n */\nexport const MiniSelect: CompoundedComponent = (props) => (\n <Select {...props} size=\"small\" placement=\"topLeft\" />\n);\n\nMiniSelect.Option = Select.Option;\n","import { isArray, isUndefined } from '@dimjs/lang';\nimport { cloneState } from '@dimjs/model';\nimport { classNames } from '@dimjs/utils';\nimport { TAny, TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Form, message, Pagination, PaginationProps } from 'antd';\nimport { forwardRef, ReactElement, useImperativeHandle, useMemo, useState } from 'react';\nimport { EasyTableCtxProvider } from './context';\nimport { easyTableModel } from './model';\nimport { MiniSelect } from './select';\nimport './style.less';\nimport { EasyTableRefApi } from './type';\n\ntype EasyTableServiceConfig = {\n /** 接口配置 */\n onRequest: (params?: TPlainObject) => Promise<TPlainObject | TPlainObject[]>;\n /** 请求参数处理 */\n requestParamsAdapter?: (params: TPlainObject) => TPlainObject;\n /**\n * 接口相应数据处理\n * @param params\n * ```\n * 返回数据为对象,包含两个字段\n * 1. 表格列表数据 - Array\n * 2. 表格条数总数 - Number\n * 其中 字段key 命名会通过 fieldNames 进行转义\n * ```\n */\n requestResultAdapter?: (params: TAny) => TPlainObject;\n};\n\nexport type EasyTableProps = {\n children: ReactElement | ReactElement[];\n /** EasyTable唯一值,可用于缓存查询条件 */\n modelKey: string;\n /** 接口数据配置 */\n serviceConfig: EasyTableServiceConfig;\n /**\n * 1. 查询条件Form initialValues\n * 2. 接口其他参数,例如常量类型\n */\n initialValues?: TPlainObject;\n /**\n * 分页初始化参数,默认值: pageSize = 10\n * @deprecated 使用 pageSize 赋值\n */\n initialPaginationParams?: { pageSize?: number };\n /** 分页单页条数,默认值:10 */\n pageSize?: number;\n /** 字段映射 */\n fieldNames?: { list?: string; total?: string; pageNo?: string; pageSize?: string; uid?: string };\n /** 初始化是否请求,默认值:true */\n initRequest?: boolean;\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\nexport const EasyTable = forwardRef<EasyTableRefApi, EasyTableProps>((props: EasyTableProps, ref) => {\n const [dataSource, setDataSource] = useState<TPlainObject[]>([]);\n const [total, setTotal] = useState<number>(0);\n const [loading, setLoading] = useState<boolean>(false);\n const [state, actions] = easyTableModel(props.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\n const fieldNames = {\n list: 'list',\n total: 'tatal',\n pageNo: 'pageNo',\n pageSize: 'pageSize',\n ...props.fieldNames,\n };\n\n const [form] = Form.useForm();\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 } = props.serviceConfig;\n const paramsNew = requestParamsAdapter ? requestParamsAdapter(queryCondition) : queryCondition;\n const respData = (await onRequest(paramsNew)) || {};\n props.onDataSourceChange?.(respData);\n const respDataNew = requestResultAdapter ? requestResultAdapter(respData) : respData;\n const respList = respDataNew[fieldNames.list];\n setDataSource(isArray(respList) ? respList : []);\n setTotal(respDataNew[fieldNames.total]);\n setLoading(false);\n } catch (error) {\n setLoading(false);\n void message.error(error.message);\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 await actions.resetFilterCondition();\n form.resetFields();\n void onInnerRequest({\n ...getPaginationData(1, pageSize),\n ...props.initialValues,\n ...values,\n });\n });\n\n const getRequestParams = hooks.useCallbackRef(() => {\n return {\n ...state.queryCondition,\n ...form.getFieldsValue(),\n };\n });\n\n const getEasyTableRef = () => {\n return {\n onRequest: onInnerRequest,\n clearQueryCondition,\n getRequestParams,\n onResetRequest,\n form,\n };\n };\n\n useImperativeHandle(ref, () => {\n return getEasyTableRef();\n });\n\n const onSetPaginationStatus = (status: boolean) => {\n setPaginationStatus(status);\n };\n\n const onFormFinish = () => {\n const values = form.getFieldsValue();\n if (props.onFormFinish) {\n props.onFormFinish({ ...values, ...getPaginationData(1, state.queryCondition.pageSize) });\n } else {\n void onInnerRequest({\n ...values,\n ...getPaginationData(1, state.queryCondition.pageSize),\n });\n }\n };\n const isFull = isUndefined(props.isFull) ? true : props.isFull;\n const className = classNames('fba-easy-table', {\n 'fba-easy-table-full': isFull,\n 'fba-easy-table-filter-fixed': props.filterFixed,\n 'fba-easy-table-pagination-fixed': props.paginationFixed,\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({ [fieldNames.pageSize]: pageSize, [fieldNames.pageNo]: page });\n props.pagination?.onChange?.(page, pageSize);\n });\n\n return (\n <EasyTableCtxProvider\n value={{\n getEasyTableRef,\n modelKey: props.modelKey,\n onRequest: onInnerRequest,\n tableList: 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 }}\n >\n {props.paginationFixed ? (\n <div className=\"fba-easy-table-wrapper\">\n <div className={className}>{props.children}</div>\n {total > 0 && (\n <div className=\"fba-easy-table-pagination\">\n <Pagination\n size=\"small\"\n {...paginationData}\n onChange={onChange}\n selectComponentClass={MiniSelect}\n />\n </div>\n )}\n </div>\n ) : (\n <div className={className}>{props.children}</div>\n )}\n </EasyTableCtxProvider>\n );\n});\n","import { DownOutlined, UpOutlined } from '@ant-design/icons';\nimport { hooks } from '@wove/react';\nimport { ButtonProps, Form, FormInstance } from 'antd';\nimport { Children, ReactElement, useMemo, useState } from 'react';\nimport { ButtonWrapper } from '../button-wrapper';\nimport { FormGrid } from '../form-grid';\nimport { FormOperateColProps } from '../form-grid/form-operate-col';\nimport { SimpleLayout } from '../simple-layout';\nimport { useEasyTableCtx } 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<ButtonProps, 'onClick'> & { text?: string };\n // 重置按钮配置\n resetButtonProps?: Omit<ButtonProps, 'onClick'> & { text?: string };\n};\n\n/**\n * 过滤条件\n * @param props\n * @returns\n *\n *```\n *1. 用法1\n * -- 默认网格布局 规则:{ xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 }\n * <EasyTableFilter>\n * <Form.Item name=\"field1\" label=\"条件1\">xxx</Form.Item>\n * </EasyTableFilter>\n *\n * -- 自定义网格布局 使用 FormCol组件包装 Form.Item\n * <EasyTableFilter>\n * <FormCol span={12}><Form.Item name=\"field1\" label=\"条件1\">xxx</Form.Item></FormCol>\n * </EasyTableFilter>\n *\n * -- children 可为 function\n * <EasyTableFilter>\n * {(form) => {\n * return <Form.Item name=\"field1\" label=\"条件1\">xxx</Form.Item>\n * }}\n * </EasyTableFilter>\n *2. 用户2(自定义布局)\n * EasyTableFilter设置 isPure = true,FormItem无布局规则\n *3. EasyTableFilter中内置了 Form 标签,当children为函数时,可获取form实例\n *4. 默认布局下,可通过设置 filterOperate 设置操作按钮\n *```\n */\nexport const EasyTableFilter = (props: EasyTableFilterProps) => {\n const { queryButtonProps, resetButtonProps, filterOperate } = props;\n const {\n modelKey,\n foldKeys,\n fieldNames,\n onRequest,\n pageSize,\n paginationStatus,\n initialValues,\n form,\n onFormFinish,\n } = useEasyTableCtx();\n const children = typeof props.children === 'function' ? props.children(form) : props.children;\n const childrens = Children.toArray(children) as ReactElement[];\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 (paginationStatus) {\n onRequest({\n [fieldNames.pageNo]: 1,\n [fieldNames.pageSize]: pageSize,\n ...initialValues,\n });\n } else {\n onRequest(initialValues);\n }\n });\n\n const formRowChildren = useMemo(() => {\n const formOperateColProps = {\n rightList: [\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 ],\n leftList: [],\n ...filterOperate?.(form),\n };\n\n if (foldKeys.length > 0) {\n const changeFolditem = (\n <ButtonWrapper\n type=\"link\"\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 const { rightList, leftList } = formOperateColProps;\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.type['domTypeName'] === 'FormCol') {\n return item;\n }\n return <FormGrid.Col key={index}>{item}</FormGrid.Col>;\n })\n .filter(Boolean)\n .concat(<FormGrid.OperateCol key={999} {...formOperateColProps} />);\n }, [childrens, filterOperate, foldKeys, form, onReset, openFold, queryButtonProps, resetButtonProps]);\n\n return (\n <SimpleLayout className=\"easy-table-filter\">\n <Form\n form={form}\n onFinish={onFormFinish}\n initialValues={{\n ...initialValues,\n ...state.queryCondition,\n }}\n >\n {props.isPure ? children : <FormGrid.Row gutter={[15, 0]}>{formRowChildren}</FormGrid.Row>}\n </Form>\n </SimpleLayout>\n );\n};\n","import { useRef } from 'react';\nimport { useEasyTableCtx } from './context';\nimport { EasyTableRefApi } from './type';\n\n/**\n * 在 EasyTable子组件内才可使用\n * @returns\n */\nexport const useEasyTable = () => {\n const ctx = useEasyTableCtx();\n const resp = useRef(ctx.getEasyTableRef());\n return resp.current;\n};\n\n/**\n *\n * @deprecated 已过去,请使用 useEasyTable\n * @returns\n */\nexport const useEasyTablRef = () => {\n const { getEasyTableRef } = useEasyTableCtx();\n const ref = useRef<EasyTableRefApi>(getEasyTableRef());\n return ref;\n};\n","import { classNames } from '@dimjs/utils';\nimport { getUuid, isMacEnv, isUndefinedOrNull, TAny } from '@flatbiz/utils';\nimport { Table, TableProps } from 'antd';\nimport { CSSProperties, ReactElement, useMemo } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport { SimpleLayout } from '../simple-layout';\nimport { TableScrollbar } from '../table-scrollbar';\nimport { useEasyTableCtx } from './context';\nimport { easyTableModel } from './model';\nimport { MiniSelect } from './select';\n\nexport type EasyTableTableProps = Omit<TableProps<TAny>, 'dataSource' | 'loading' | 'rowKey'> & {\n children?: ReactElement | ReactElement[];\n /** 表格行 key 的取值 */\n rowKey: string;\n tableWrapperStyle?: CSSProperties;\n tableWrapperClassName?: string;\n};\n\n/**\n * 表格渲染\n * @param props\n * ```\n * 1. 继承了 TableProps 可设置antd table功能\n * ```\n */\nexport const EasyTableTable = (props: EasyTableTableProps) => {\n const { children, rowKey, pagination, ...otherProps } = props;\n\n const {\n modelKey,\n fieldNames,\n onRequest,\n tableList,\n initRequest,\n pageSize,\n tableTotal,\n loading,\n initialValues,\n paginationFixed,\n onSetPaginationStatus,\n } = useEasyTableCtx();\n const [state, actions] = easyTableModel(modelKey).useStore();\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: MiniSelect,\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'] = (data, ...otherProps) => {\n if (tablePaginationData) {\n onRequest({ [fieldNames.pageSize]: data.pageSize, [fieldNames.pageNo]: data.current });\n }\n props.onChange?.(data, ...otherProps);\n };\n\n const dataSource = useMemo(() => {\n if (tableList.length === 0) {\n return [];\n }\n if (isUndefinedOrNull(tableList[0][rowKey])) {\n return tableList.map((item) => {\n item[rowKey] = getUuid();\n return item;\n });\n }\n return tableList;\n }, [tableList, 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 });\n } else {\n void onRequest(initialValues);\n }\n } else {\n void actions.updateFilterCondition(initialValues);\n }\n void actions.updateInitStatus();\n }, []);\n\n return (\n <SimpleLayout\n className={classNames('easy-table-table', props.tableWrapperClassName)}\n style={props.tableWrapperStyle}\n >\n {children}\n {isMacEnv() ? (\n <Table\n size=\"small\"\n scroll={{ x: 'max-content' }}\n bordered\n {...otherProps}\n pagination={tablePaginationData}\n rowKey={rowKey}\n onChange={onChangePage}\n loading={loading}\n dataSource={dataSource}\n />\n ) : (\n <TableScrollbar>\n <Table\n size=\"small\"\n scroll={{ x: 'max-content' }}\n bordered\n {...otherProps}\n pagination={tablePaginationData}\n rowKey={rowKey}\n onChange={onChangePage}\n loading={loading}\n dataSource={dataSource}\n />\n </TableScrollbar>\n )}\n </SimpleLayout>\n );\n};\n","import { attachPropertiesToComponent } from '../_utils/attach-properties-to-component';\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 * 1. 需要获取查询条件、主动发起请求等可通过ref、useEasyTable操作\n * 2. 可通过属性 initRequest 设置初始化是否请求数据\n * 3. 可通过属性 fieldNames 来设置自定义变量,默认值为:list、total、pageNo、pageSize\n * 4. isFull=true,设置【在父节点高度下,上下铺满】(默认值:true)\n * 5. filterFixed=true,设置查询条件固定,不随滚动条滚动\n * 6. paginationFixed=true,可设置分页条件在底部固定,不随滚动条滚动\n * 7. foldKeys=string[],查询条件展开、收起,被收起数组内容为EasyTable.Filter 子节点key值\n * 8. windows环境下,会在EasyTable.Table外部包装一下 TableScrollbar,提示高windows下table左右滚动体验\n *\n * Demo https://fex.qa.tcshuke.com/docs/admin/main/crud/easy-table\n * ```\n */\nexport const EasyTable = attachPropertiesToComponent(EasyTableInner, {\n /**\n * 过滤条件\n * @param props\n * @returns\n *\n *```\n *1. 用法1\n * -- 默认网格布局 规则:{ xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 }\n * <EasyTable.Filter>\n * <Form.Item name=\"field1\" label=\"条件1\">xxx</Form.Item>\n * </EasyTable.Filter>\n *\n * -- 自定义网格布局 使用 FormCol组件包装 Form.Item\n * <EasyTable.Filter>\n * <FormCol span={12}><Form.Item name=\"field1\" label=\"条件1\">xxx</Form.Item></FormCol>\n * </EasyTable.Filter>\n *\n * -- children 可为 function\n * <EasyTable.Filter>\n * {(form) => {\n * return <Form.Item name=\"field1\" label=\"条件1\">xxx</Form.Item>\n * }}\n * </EasyTable.Filter>\n *2. 用户2(自定义布局)\n * EasyTable.Filter设置 isPure = true,FormItem无布局规则\n *3. EasyTable.Filter中内置了 Form 标签,当children为函数时,可获取form实例\n *4. 默认布局下,可通过设置 filterOperate 设置操作按钮\n *```\n */\n Filter: EasyTableFilter,\n /**\n * 表格渲染\n * @param props\n * ```\n * 1. 继承了 TableProps 可设置antd table功能\n * ```\n */\n Table: EasyTableTable,\n\n /**\n * @deprecated 已过去,请使用 useEasyTable\n */\n useEasyTablRef: useEasyTablRef,\n\n /** 在 EasyTable子组件内才可使用 */\n useEasyTable: useEasyTable,\n});\n"],"names":["_createCtx","_createCtx2","useEasyTableCtx","EasyTableCtxProvider","defaultState","queryCondition","isInit","_EasyTableModel","actions","updateFilterCondition","params","state","_extends","resetFilterCondition","updateInitStatus","easyTableModels","easyTableModel","key","Model","MiniSelect","props","_jsx","Select","size","placement","Option","EasyTable","forwardRef","ref","_props$initialPaginat","_useState","useState","dataSource","setDataSource","_useState2","total","setTotal","_useState3","loading","setLoading","_easyTableModel$useSt","modelKey","useStore","pageSize","initialPaginationParams","initRequest","undefined","_useState4","paginationStatus","setPaginationStatus","fieldNames","list","pageNo","_Form$useForm","Form","useForm","form","onInnerRequest","_hooks","useCallbackRef","Promise","$return","$error","allState","_props$serviceConfig","requestParamsAdapter","onRequest","requestResultAdapter","paramsNew","respData","respDataNew","respList","$Try_1_Post","$boundEx","$Try_1_Catch","error","message","resolve","then","$await_2","cloneState","serviceConfig","$await_3","onDataSourceChange","_isArray","clearQueryCondition","values","$await_4","resetFields","setFieldsValue","getPaginationData","_pageSize","_ref","onResetRequest","$await_5","initialValues","getRequestParams","getFieldsValue","getEasyTableRef","useImperativeHandle","onSetPaginationStatus","status","onFormFinish","isFull","_isUndefined","className","_classNames","filterFixed","paginationFixed","paginationData","useMemo","showSizeChanger","current","showTotal","pagination","onChange","page","_onInnerRequest","_props$pagination","value","tableList","tableTotal","foldKeys","children","_jsxs","Pagination","selectComponentClass","EasyTableFilter","queryButtonProps","resetButtonProps","filterOperate","_useEasyTableCtx","childrens","Children","toArray","openFold","setOpenFold","onReset","_extends2","$await_1","formRowChildren","formOperateColProps","rightList","hidden","ButtonWrapper","type","htmlType","text","onClick","leftList","length","changeFolditem","style","padding","_UpOutlined","marginLeft","fontSize","_DownOutlined","push","map","item","index","find","keyItem","FormGrid","Col","filter","Boolean","concat","OperateCol","SimpleLayout","onFinish","isPure","Row","gutter","useEasyTable","ctx","resp","useRef","useEasyTablRef","EasyTableTable","rowKey","otherProps","_objectWithoutPropertiesLoose","_excluded","tablePaginationData","onChangePage","data","_onRequest","_len","arguments","Array","_key","apply","isUndefinedOrNull","getUuid","fbaHooks","useEffectCustom","hasPagination","tableWrapperClassName","tableWrapperStyle","isMacEnv","Table","scroll","x","bordered","TableScrollbar","attachPropertiesToComponent","EasyTableInner","Filter"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable */
2
2
  import './index.css';
3
3
  /*! @flatjs/forge MIT @flatbiz/antd */
4
- import{_ as r,a as e}from"../_rollupPluginBabelHelpers-1f4d8910.js";import{Col as n,Form as t,Row as i,Space as o}from"antd";import{jsx as a,jsxs as l}from"react/jsx-runtime";import{classNames as u}from"@dimjs/utils/cjs/class-names";import{useMemo as f,isValidElement as s,cloneElement as d}from"react";import{toArray as v,valueIsEqual as m}from"@flatbiz/utils";import{u as p}from"../use-responsive-point-21b8c601.js";var c=["forceAloneRow","hidden"];var h={xs:24,sm:24,md:24,lg:24,xl:24,xxl:24};var g=function t(i){var o=i.forceAloneRow,l=i.hidden,u=r(i,c);var f=o?h:u;if(l)return null;return a(n,e({},f,{children:i.children}))};g["domTypeName"]="FormCol";var x=["leftList","rightList","rowColTotal","justify","forceAloneRow","hidden"];var L={xs:24,sm:24,md:24,lg:24,xl:24,xxl:24};var y=function s(d){var v=d,m=v.leftList,p=v.rightList,c=v.rowColTotal,h=v.justify,g=v.forceAloneRow,y=v.hidden,C=r(v,x);var w=(m||[]).filter(Boolean);var j=(p||[]).filter(Boolean);var T=w.length>0&&j.length>0;var N=g||T?L:{};var F=f((function(){if(h)return h;if(T)return"space-between";if(g)return"end";if(c===1)return"start";return"end"}),[g,T,h,c]);var G=u(d.className,"v-form-col-operate");if(y)return null;return a(n,e({},C,N,{className:G,children:a(t.Item,{children:l(i,{justify:F,children:[a(o,{children:w.map((function(r){return r}))}),a(o,{children:j==null?void 0:j.map((function(r){return r}))})]})})}))};y["domTypeName"]="FormOperateCol";var C=function r(e,n){try{var t=[];var i=function r(n){var t=e[n];return{index:n,value:t>24?24:t}};var o=true;var a=[];var l=0;var u=0;while(o){var f=e[l];a.push(i(l));if(f>=24){t.push(a);a=[];u=0}else if(l===e.length-1){t.push(a)}else{u+=f;if(u>=24){t.push(a);a=[];u=0}}l=l+1;if(l>=e.length){o=false}}var s=t.find((function(r){return!!r.find((function(r){return r.index===n}))}))||[];var d=0;var v=0;s.forEach((function(r,e){if(r.index===n)v=e;if(r.index<n){d=d+r.value}}));if(d===24||d===0){s[v].value=24}else{s[v].value=24-d}return{gridList:t.reduce((function(r,e){return r.concat(e)})).map((function(r){return r.value})),gridGroupList:t}}catch(r){return{gridList:e,gridGroupList:[]}}};var w={xs:24,sm:12,md:12,lg:8,xl:8,xxl:6};var j=function r(n){var t=p()||"md";var o=v(n.children).filter((function(r){if(!r||!s(r))return false;return m(r.type["domTypeName"],["FormOperateCol","FormCol"])}));var l=f((function(){var r=o.findIndex((function(r){return r.type["domTypeName"]==="FormOperateCol"}));if(t===undefined){return{gridList:[],gridGroupList:[]}}var e=o.map((function(e,n){var i,o;if(n===r)return 0;var a=(i=e.props)==null?void 0:i.span;return((o=e.props)==null?void 0:o[t])||a||w[t]}));if(r<0){return{gridList:e,gridGroupList:[]}}return C(e,r)}),[o,t]),u=l.gridList,c=l.gridGroupList;return a(i,e({},n,{children:o.map((function(r,n){var i;var o=e({},w,r.props);var a=e({key:n},o,(i={},i[t]=u[n]||o[t],i));if(r.type["domTypeName"]==="FormOperateCol"){a["rowColTotal"]=c.length}return d(r,a)}))}))};var T={Row:j,Col:g,OperateCol:y};export{T as FormGrid};
4
+ import{_ as r,a as e}from"../_rollupPluginBabelHelpers-1f4d8910.js";import{Col as t,Form as n,Row as i,Space as o}from"antd";import{jsx as a,jsxs as l}from"react/jsx-runtime";import{classNames as u}from"@dimjs/utils/cjs/class-names";import{useMemo as f,isValidElement as s,cloneElement as p}from"react";import{toArray as d,valueIsEqual as v}from"@flatbiz/utils";import{u as c}from"../use-responsive-point-21b8c601.js";var m=["forceAloneRow","hidden"];var h={xs:24,sm:24,md:24,lg:24,xl:24,xxl:24};var g=function n(i){var o=i.forceAloneRow,l=i.hidden,u=r(i,m);var f=o?h:u;if(l)return null;return a(t,e({},f,{children:i.children}))};g["domTypeName"]="FormCol";var x=["leftList","rightList","rowColTotal","justify","forceAloneRow","hidden","leftSpaceProps","rightSpaceProps"];var L={xs:24,sm:24,md:24,lg:24,xl:24,xxl:24};var y=function s(p){var d=p,v=d.leftList,c=d.rightList,m=d.rowColTotal,h=d.justify,g=d.forceAloneRow,y=d.hidden,C=d.leftSpaceProps,w=d.rightSpaceProps,j=r(d,x);var T=(v||[]).filter(Boolean);var N=(c||[]).filter(Boolean);var F=T.length>0&&N.length>0;var G=g||F?L:{};var O=f((function(){if(h)return h;if(F)return"space-between";if(g)return"end";if(m===1)return"start";return"end"}),[g,F,h,m]);var P=u(p.className,"v-form-col-operate");if(y)return null;return a(t,e({},j,G,{className:P,children:a(n.Item,{children:l(i,{justify:O,children:[a(o,e({},C,{children:T.map((function(r){return r}))})),a(o,e({},w,{children:N==null?void 0:N.map((function(r){return r}))}))]})})}))};y["domTypeName"]="FormOperateCol";var C=function r(e,t){try{var n=[];var i=function r(t){var n=e[t];return{index:t,value:n>24?24:n}};var o=true;var a=[];var l=0;var u=0;while(o){var f=e[l];a.push(i(l));if(f>=24){n.push(a);a=[];u=0}else if(l===e.length-1){n.push(a)}else{u+=f;if(u>=24){n.push(a);a=[];u=0}}l=l+1;if(l>=e.length){o=false}}var s=n.find((function(r){return!!r.find((function(r){return r.index===t}))}))||[];var p=0;var d=0;s.forEach((function(r,e){if(r.index===t)d=e;if(r.index<t){p=p+r.value}}));if(p===24||p===0){s[d].value=24}else{s[d].value=24-p}return{gridList:n.reduce((function(r,e){return r.concat(e)})).map((function(r){return r.value})),gridGroupList:n}}catch(r){return{gridList:e,gridGroupList:[]}}};var w={xs:24,sm:12,md:12,lg:8,xl:8,xxl:6};var j=function r(t){var n=c()||"md";var o=d(t.children).filter((function(r){if(!r||!s(r))return false;return v(r.type["domTypeName"],["FormOperateCol","FormCol"])}));var l=f((function(){var r=o.findIndex((function(r){return r.type["domTypeName"]==="FormOperateCol"}));if(n===undefined){return{gridList:[],gridGroupList:[]}}var e=o.map((function(e,t){var i,o;if(t===r)return 0;var a=(i=e.props)==null?void 0:i.span;return((o=e.props)==null?void 0:o[n])||a||w[n]}));if(r<0){return{gridList:e,gridGroupList:[]}}return C(e,r)}),[o,n]),u=l.gridList,m=l.gridGroupList;return a(i,e({},t,{children:o.map((function(r,t){var i;var o=e({},w,r.props);var a=e({key:t},o,(i={},i[n]=u[t]||o[n],i));if(r.type["domTypeName"]==="FormOperateCol"){a["rowColTotal"]=m.length}return p(r,a)}))}))};var T={Row:j,Col:g,OperateCol:y};export{T as FormGrid};
5
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/form-grid/form-col.tsx","@flatbiz/antd/src/form-grid/form-operate-col.tsx","@flatbiz/antd/src/form-grid/utils.ts","@flatbiz/antd/src/form-grid/form-row.tsx","@flatbiz/antd/src/form-grid/index.ts"],"sourcesContent":["import { Col } from 'antd';\nimport { ReactNode } from 'react';\nconst forceAloneRowGrid = { xs: 24, sm: 24, md: 24, lg: 24, xl: 24, xxl: 24 };\nexport type FormColProps = {\n // 栅格占位格数,不考虑响应式\n span?: number;\n /** 屏幕 < 576px */\n xs?: number;\n /** 屏幕 ≥ 576px */\n sm?: number;\n /** 屏幕 ≥ 768px */\n md?: number;\n /** 屏幕 ≥ 992px */\n lg?: number;\n /** 屏幕 ≥ 1200px */\n xl?: number;\n /** 屏幕 ≥ 1600px */\n xxl?: number;\n /** 强制单独一行 */\n forceAloneRow?: boolean;\n children?: ReactNode | ReactNode[];\n hidden?: boolean;\n};\n\n/**\n * 网格响应式布局,默认值:{ xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 }\n *```\n * 1. 设置 span 栅格占位格数,不考虑响应式\n * 2. grid 自定义响应式网格布局\n * xs: 屏幕 < 576px\n * sm: 屏幕 ≥ 576px\n * md: 屏幕 ≥ 768px\n * lg: 屏幕 ≥ 992px\n * xl: 屏幕 ≥ 1200px\n * xxl: 屏幕 ≥ 1600px\n * ```\n */\nexport const FormCol = (props: FormColProps) => {\n const { forceAloneRow, hidden, ...otherProps } = props;\n const forceGrid = forceAloneRow ? forceAloneRowGrid : otherProps;\n if (hidden) return null;\n return <Col {...forceGrid}>{props.children}</Col>;\n};\n\nFormCol['domTypeName'] = 'FormCol';\n","import { classNames } from '@dimjs/utils';\nimport { Col, Form, Row, RowProps, Space } from 'antd';\nimport { ReactElement, useMemo } from 'react';\n\nconst fullGrid = { xs: 24, sm: 24, md: 24, lg: 24, xl: 24, xxl: 24 };\nexport type FormOperateColProps = {\n className?: string;\n leftList?: Array<ReactElement | null>;\n rightList?: Array<ReactElement | null>;\n // 对齐方式,优先级最高\n justify?: RowProps['justify'];\n /** 强制单独一行 */\n forceAloneRow?: boolean;\n hidden?: boolean;\n};\n\n/**\n * FormOperateCol 布局说明\n * ```\n * 1. 网格数以及位置为动态计算,不支持 xs、sm、md等\n * 2. 如果FormRow只有一行col,则OperateCol会在当前行剩余网格内居左对齐\n * 3. 如果同时设置 leftList、rightList,则此cell会强制独占一行,并左右布局\n * 4. 如果只设置 leftList、rightList其中一个,则会在最后一行剩余网格内居右对齐\n * ```\n */\nexport const FormOperateCol = (props: FormOperateColProps) => {\n const { leftList, rightList, rowColTotal, justify, forceAloneRow, hidden, ...otherProps } =\n props as FormOperateColProps & {\n rowColTotal: number;\n };\n const _leftList = (leftList || []).filter(Boolean);\n const _rightList = (rightList || []).filter(Boolean);\n const hasAll = _leftList.length > 0 && _rightList.length > 0;\n const forceGrid = forceAloneRow || hasAll ? fullGrid : {};\n\n const colJustify = useMemo(() => {\n if (justify) return justify;\n if (hasAll) return 'space-between';\n if (forceAloneRow) return 'end';\n if (rowColTotal === 1) return 'start';\n return 'end';\n }, [forceAloneRow, hasAll, justify, rowColTotal]);\n\n const className = classNames(props.className, 'v-form-col-operate');\n\n if (hidden) return null;\n\n return (\n <Col {...otherProps} {...forceGrid} className={className}>\n <Form.Item>\n <Row justify={colJustify}>\n <Space>{_leftList.map((item) => item)}</Space>\n <Space>{_rightList?.map((item) => item)}</Space>\n </Row>\n </Form.Item>\n </Col>\n );\n};\n\nFormOperateCol['domTypeName'] = 'FormOperateCol';\n","/**\n * 用于计算 operateCol 所占用网格数\n * ```\n * col网格数据 [8,8,8,12,24,0,8] => [[8,8,8],[12],[24],[0,8]],分组后计算operateCol所在行中剩余网格数\n * ```\n * @returns\n */\nexport const calculateOperateGrid = (gridList: number[], operateColIndex: number) => {\n try {\n const groupList = [] as { index: number; value: number }[][];\n const getGroupItem = function (index) {\n const value = gridList[index];\n return { index, value: value > 24 ? 24 : value };\n };\n let condition = true;\n let groupItemList = [] as { index: number; value: number }[];\n let currentIndex = 0;\n let total = 0;\n while (condition) {\n const currentValue = gridList[currentIndex];\n groupItemList.push(getGroupItem(currentIndex));\n if (currentValue >= 24) {\n groupList.push(groupItemList);\n groupItemList = [];\n total = 0;\n } else if (currentIndex === gridList.length - 1) {\n groupList.push(groupItemList);\n } else {\n total += currentValue;\n if (total >= 24) {\n groupList.push(groupItemList);\n groupItemList = [];\n total = 0;\n }\n }\n currentIndex = currentIndex + 1;\n if (currentIndex >= gridList.length) {\n condition = false;\n }\n }\n const hasOperateList =\n groupList.find((item) => !!item.find((temp) => temp.index === operateColIndex)) || [];\n let hasOperateTotal = 0;\n let hasOperateIndex = 0;\n hasOperateList.forEach((item, index) => {\n if (item.index === operateColIndex) hasOperateIndex = index;\n if (item.index < operateColIndex) {\n hasOperateTotal = hasOperateTotal + item.value;\n }\n });\n if (hasOperateTotal === 24 || hasOperateTotal === 0) {\n hasOperateList[hasOperateIndex].value = 24;\n } else {\n hasOperateList[hasOperateIndex].value = 24 - hasOperateTotal;\n }\n\n return {\n gridList: groupList.reduce((a, b) => a.concat(b)).map((temp) => temp.value),\n gridGroupList: groupList,\n };\n } catch (error) {\n return {\n gridList,\n gridGroupList: [],\n };\n }\n};\n","import { toArray, valueIsEqual } from '@flatbiz/utils';\nimport { Row, RowProps } from 'antd';\nimport { cloneElement, isValidElement, ReactElement, ReactNode, useMemo } from 'react';\nimport { useResponsivePoint } from '../fba-hooks/use-responsive-point';\nimport { calculateOperateGrid } from './utils';\n\nexport type FormRowProps = RowProps & {\n children?: ReactNode | ReactNode[];\n};\nconst defaultGrid = { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 };\n\n/**\n * FormItem网格响应式布局\n *```\n * 1. 应用场景:Form条件布局\n * 2. 子元素只能是 FormGrid.Col、FormGrid.OperateCol,其他会被忽略\n * 3. 所有子元素中只能存在一个 FormGrid.OperateCol\n */\nexport const FormRow = (props: FormRowProps) => {\n const screenType = useResponsivePoint() || 'md';\n const childrenList = toArray<ReactElement>(props.children).filter((item) => {\n if (!item || !isValidElement(item)) return false;\n return valueIsEqual(item.type['domTypeName'], ['FormOperateCol', 'FormCol']);\n });\n const { gridList, gridGroupList } = useMemo(() => {\n const operateColIndex = childrenList.findIndex((item) => {\n return item.type['domTypeName'] === 'FormOperateCol';\n });\n if (screenType === undefined) {\n return { gridList: [] as number[], gridGroupList: [] };\n }\n const _currentGridList = childrenList.map((temp, index) => {\n if (index === operateColIndex) return 0;\n const span = temp.props?.span as number;\n return temp.props?.[screenType] || span || defaultGrid[screenType];\n });\n if (operateColIndex < 0) {\n return { gridList: _currentGridList, gridGroupList: [] };\n }\n return calculateOperateGrid(_currentGridList, operateColIndex);\n }, [childrenList, screenType]);\n\n // if (!screenType) return <Fragment>{props.children}</Fragment>;\n return (\n <Row {...props}>\n {childrenList.map((item, index) => {\n const itemProps = { ...defaultGrid, ...item.props };\n const newProps = {\n key: index,\n ...itemProps,\n [screenType]: gridList[index] || itemProps[screenType],\n };\n if (item.type['domTypeName'] === 'FormOperateCol') {\n newProps['rowColTotal'] = gridGroupList.length;\n }\n return cloneElement(item, newProps);\n })}\n </Row>\n );\n};\n","import { FormCol } from './form-col';\nimport { FormOperateCol } from './form-operate-col';\nimport { FormRow } from './form-row';\n\nexport const FormGrid = {\n /**\n * FormItem网格响应式布局\n *```\n * 1. 应用场景:Form条件布局\n * 2. 子元素只能是 FormCol、FormOperateCol,其他会被忽略\n * 3. 所有子元素中只能存在一个 FormOperateCol\n */\n Row: FormRow,\n /**\n * 网格响应式布局,默认值:{ xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 }\n *```\n * 1. 设置 span 栅格占位格数,不考虑响应式\n * 2. grid 自定义响应式网格布局\n * xs: 屏幕 < 576px\n * sm: 屏幕 ≥ 576px\n * md: 屏幕 ≥ 768px\n * lg: 屏幕 ≥ 992px\n * xl: 屏幕 ≥ 1200px\n * xxl: 屏幕 ≥ 1600px\n * ```\n */\n Col: FormCol,\n /**\n * FormOperateCol 布局说明\n * ```\n * 1. 网格数以及位置为动态计算,不支持 xs、sm、md等\n * 2. 如果FormRow只有一行col,则OperateCol会在当前行剩余网格内居左对齐\n * 3. 如果同时设置 leftList、rightList,则此cell会强制独占一行,并左右布局\n * 4. 如果只设置 leftList、rightList其中一个,则会在最后一行剩余网格内居右对齐\n * ```\n */\n OperateCol: FormOperateCol,\n};\n"],"names":["forceAloneRowGrid","xs","sm","md","lg","xl","xxl","FormCol","props","forceAloneRow","hidden","otherProps","_objectWithoutPropertiesLoose","_excluded","forceGrid","_jsx","Col","_extends","children","fullGrid","FormOperateCol","_ref","leftList","rightList","rowColTotal","justify","_leftList","filter","Boolean","_rightList","hasAll","length","colJustify","useMemo","className","_classNames","Form","Item","_jsxs","Row","Space","map","item","calculateOperateGrid","gridList","operateColIndex","groupList","getGroupItem","index","value","condition","groupItemList","currentIndex","total","currentValue","push","hasOperateList","find","temp","hasOperateTotal","hasOperateIndex","forEach","reduce","a","b","concat","gridGroupList","error","defaultGrid","FormRow","screenType","useResponsivePoint","childrenList","toArray","isValidElement","valueIsEqual","type","_useMemo","findIndex","undefined","_currentGridList","_temp$props","_temp$props2","span","_extends2","itemProps","newProps","key","cloneElement","FormGrid","OperateCol"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/form-grid/form-col.tsx","@flatbiz/antd/src/form-grid/form-operate-col.tsx","@flatbiz/antd/src/form-grid/utils.ts","@flatbiz/antd/src/form-grid/form-row.tsx","@flatbiz/antd/src/form-grid/index.ts"],"sourcesContent":["import { Col } from 'antd';\nimport { ReactNode } from 'react';\nconst forceAloneRowGrid = { xs: 24, sm: 24, md: 24, lg: 24, xl: 24, xxl: 24 };\nexport type FormColProps = {\n // 栅格占位格数,不考虑响应式\n span?: number;\n /** 屏幕 < 576px */\n xs?: number;\n /** 屏幕 ≥ 576px */\n sm?: number;\n /** 屏幕 ≥ 768px */\n md?: number;\n /** 屏幕 ≥ 992px */\n lg?: number;\n /** 屏幕 ≥ 1200px */\n xl?: number;\n /** 屏幕 ≥ 1600px */\n xxl?: number;\n /** 强制单独一行 */\n forceAloneRow?: boolean;\n children?: ReactNode | ReactNode[];\n hidden?: boolean;\n};\n\n/**\n * 网格响应式布局,默认值:{ xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 }\n *```\n * 1. 设置 span 栅格占位格数,不考虑响应式\n * 2. grid 自定义响应式网格布局\n * xs: 屏幕 < 576px\n * sm: 屏幕 ≥ 576px\n * md: 屏幕 ≥ 768px\n * lg: 屏幕 ≥ 992px\n * xl: 屏幕 ≥ 1200px\n * xxl: 屏幕 ≥ 1600px\n * ```\n */\nexport const FormCol = (props: FormColProps) => {\n const { forceAloneRow, hidden, ...otherProps } = props;\n const forceGrid = forceAloneRow ? forceAloneRowGrid : otherProps;\n if (hidden) return null;\n return <Col {...forceGrid}>{props.children}</Col>;\n};\n\nFormCol['domTypeName'] = 'FormCol';\n","import { classNames } from '@dimjs/utils';\nimport { Col, Form, Row, RowProps, Space, SpaceProps } from 'antd';\nimport { ReactElement, useMemo } from 'react';\n\nconst fullGrid = { xs: 24, sm: 24, md: 24, lg: 24, xl: 24, xxl: 24 };\nexport type FormOperateColProps = {\n className?: string;\n leftList?: Array<ReactElement | null>;\n rightList?: Array<ReactElement | null>;\n // left、right 对齐方式,优先级最高\n justify?: RowProps['justify'];\n /** 强制单独一行 */\n forceAloneRow?: boolean;\n hidden?: boolean;\n leftSpaceProps?: SpaceProps;\n rightSpaceProps?: SpaceProps;\n};\n\n/**\n * FormOperateCol 布局说明\n * ```\n * 1. 网格数以及位置为动态计算,不支持 xs、sm、md等\n * 2. 如果FormRow只有一行col,则OperateCol会在当前行剩余网格内居左对齐\n * 3. 如果同时设置 leftList、rightList,则此cell会强制独占一行,并左右布局\n * 4. 如果只设置 leftList、rightList其中一个,则会在最后一行剩余网格内居右对齐\n * ```\n */\nexport const FormOperateCol = (props: FormOperateColProps) => {\n const {\n leftList,\n rightList,\n rowColTotal,\n justify,\n forceAloneRow,\n hidden,\n leftSpaceProps,\n rightSpaceProps,\n ...otherProps\n } = props as FormOperateColProps & {\n rowColTotal: number;\n };\n const _leftList = (leftList || []).filter(Boolean);\n const _rightList = (rightList || []).filter(Boolean);\n const hasAll = _leftList.length > 0 && _rightList.length > 0;\n const forceGrid = forceAloneRow || hasAll ? fullGrid : {};\n\n const colJustify = useMemo(() => {\n if (justify) return justify;\n if (hasAll) return 'space-between';\n if (forceAloneRow) return 'end';\n if (rowColTotal === 1) return 'start';\n return 'end';\n }, [forceAloneRow, hasAll, justify, rowColTotal]);\n\n const className = classNames(props.className, 'v-form-col-operate');\n\n if (hidden) return null;\n\n return (\n <Col {...otherProps} {...forceGrid} className={className}>\n <Form.Item>\n <Row justify={colJustify}>\n <Space {...leftSpaceProps}>{_leftList.map((item) => item)}</Space>\n <Space {...rightSpaceProps}>{_rightList?.map((item) => item)}</Space>\n </Row>\n </Form.Item>\n </Col>\n );\n};\n\nFormOperateCol['domTypeName'] = 'FormOperateCol';\n","/**\n * 用于计算 operateCol 所占用网格数\n * ```\n * col网格数据 [8,8,8,12,24,0,8] => [[8,8,8],[12],[24],[0,8]],分组后计算operateCol所在行中剩余网格数\n * ```\n * @returns\n */\nexport const calculateOperateGrid = (gridList: number[], operateColIndex: number) => {\n try {\n const groupList = [] as { index: number; value: number }[][];\n const getGroupItem = function (index) {\n const value = gridList[index];\n return { index, value: value > 24 ? 24 : value };\n };\n let condition = true;\n let groupItemList = [] as { index: number; value: number }[];\n let currentIndex = 0;\n let total = 0;\n while (condition) {\n const currentValue = gridList[currentIndex];\n groupItemList.push(getGroupItem(currentIndex));\n if (currentValue >= 24) {\n groupList.push(groupItemList);\n groupItemList = [];\n total = 0;\n } else if (currentIndex === gridList.length - 1) {\n groupList.push(groupItemList);\n } else {\n total += currentValue;\n if (total >= 24) {\n groupList.push(groupItemList);\n groupItemList = [];\n total = 0;\n }\n }\n currentIndex = currentIndex + 1;\n if (currentIndex >= gridList.length) {\n condition = false;\n }\n }\n const hasOperateList =\n groupList.find((item) => !!item.find((temp) => temp.index === operateColIndex)) || [];\n let hasOperateTotal = 0;\n let hasOperateIndex = 0;\n hasOperateList.forEach((item, index) => {\n if (item.index === operateColIndex) hasOperateIndex = index;\n if (item.index < operateColIndex) {\n hasOperateTotal = hasOperateTotal + item.value;\n }\n });\n if (hasOperateTotal === 24 || hasOperateTotal === 0) {\n hasOperateList[hasOperateIndex].value = 24;\n } else {\n hasOperateList[hasOperateIndex].value = 24 - hasOperateTotal;\n }\n\n return {\n gridList: groupList.reduce((a, b) => a.concat(b)).map((temp) => temp.value),\n gridGroupList: groupList,\n };\n } catch (error) {\n return {\n gridList,\n gridGroupList: [],\n };\n }\n};\n","import { toArray, valueIsEqual } from '@flatbiz/utils';\nimport { Row, RowProps } from 'antd';\nimport { cloneElement, isValidElement, ReactElement, ReactNode, useMemo } from 'react';\nimport { useResponsivePoint } from '../fba-hooks/use-responsive-point';\nimport { calculateOperateGrid } from './utils';\n\nexport type FormRowProps = RowProps & {\n children?: ReactNode | ReactNode[];\n};\nconst defaultGrid = { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 };\n\n/**\n * FormItem网格响应式布局\n *```\n * 1. 应用场景:Form条件布局\n * 2. 子元素只能是 FormGrid.Col、FormGrid.OperateCol,其他会被忽略\n * 3. 所有子元素中只能存在一个 FormGrid.OperateCol\n */\nexport const FormRow = (props: FormRowProps) => {\n const screenType = useResponsivePoint() || 'md';\n const childrenList = toArray<ReactElement>(props.children).filter((item) => {\n if (!item || !isValidElement(item)) return false;\n return valueIsEqual(item.type['domTypeName'], ['FormOperateCol', 'FormCol']);\n });\n const { gridList, gridGroupList } = useMemo(() => {\n const operateColIndex = childrenList.findIndex((item) => {\n return item.type['domTypeName'] === 'FormOperateCol';\n });\n if (screenType === undefined) {\n return { gridList: [] as number[], gridGroupList: [] };\n }\n const _currentGridList = childrenList.map((temp, index) => {\n if (index === operateColIndex) return 0;\n const span = temp.props?.span as number;\n return temp.props?.[screenType] || span || defaultGrid[screenType];\n });\n if (operateColIndex < 0) {\n return { gridList: _currentGridList, gridGroupList: [] };\n }\n return calculateOperateGrid(_currentGridList, operateColIndex);\n }, [childrenList, screenType]);\n\n // if (!screenType) return <Fragment>{props.children}</Fragment>;\n return (\n <Row {...props}>\n {childrenList.map((item, index) => {\n const itemProps = { ...defaultGrid, ...item.props };\n const newProps = {\n key: index,\n ...itemProps,\n [screenType]: gridList[index] || itemProps[screenType],\n };\n if (item.type['domTypeName'] === 'FormOperateCol') {\n newProps['rowColTotal'] = gridGroupList.length;\n }\n return cloneElement(item, newProps);\n })}\n </Row>\n );\n};\n","import { FormCol } from './form-col';\nimport { FormOperateCol } from './form-operate-col';\nimport { FormRow } from './form-row';\n\nexport const FormGrid = {\n /**\n * FormItem网格响应式布局\n *```\n * 1. 应用场景:Form条件布局\n * 2. 子元素只能是 FormCol、FormOperateCol,其他会被忽略\n * 3. 所有子元素中只能存在一个 FormOperateCol\n */\n Row: FormRow,\n /**\n * 网格响应式布局,默认值:{ xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 }\n *```\n * 1. 设置 span 栅格占位格数,不考虑响应式\n * 2. grid 自定义响应式网格布局\n * xs: 屏幕 < 576px\n * sm: 屏幕 ≥ 576px\n * md: 屏幕 ≥ 768px\n * lg: 屏幕 ≥ 992px\n * xl: 屏幕 ≥ 1200px\n * xxl: 屏幕 ≥ 1600px\n * ```\n */\n Col: FormCol,\n /**\n * FormOperateCol 布局说明\n * ```\n * 1. 网格数以及位置为动态计算,不支持 xs、sm、md等\n * 2. 如果FormRow只有一行col,则OperateCol会在当前行剩余网格内居左对齐\n * 3. 如果同时设置 leftList、rightList,则此cell会强制独占一行,并左右布局\n * 4. 如果只设置 leftList、rightList其中一个,则会在最后一行剩余网格内居右对齐\n * ```\n */\n OperateCol: FormOperateCol,\n};\n"],"names":["forceAloneRowGrid","xs","sm","md","lg","xl","xxl","FormCol","props","forceAloneRow","hidden","otherProps","_objectWithoutPropertiesLoose","_excluded","forceGrid","_jsx","Col","_extends","children","fullGrid","FormOperateCol","_ref","leftList","rightList","rowColTotal","justify","leftSpaceProps","rightSpaceProps","_leftList","filter","Boolean","_rightList","hasAll","length","colJustify","useMemo","className","_classNames","Form","Item","_jsxs","Row","Space","map","item","calculateOperateGrid","gridList","operateColIndex","groupList","getGroupItem","index","value","condition","groupItemList","currentIndex","total","currentValue","push","hasOperateList","find","temp","hasOperateTotal","hasOperateIndex","forEach","reduce","a","b","concat","gridGroupList","error","defaultGrid","FormRow","screenType","useResponsivePoint","childrenList","toArray","isValidElement","valueIsEqual","type","_useMemo","findIndex","undefined","_currentGridList","_temp$props","_temp$props2","span","_extends2","itemProps","newProps","key","cloneElement","FormGrid","OperateCol"],"mappings":"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"}
@@ -8,5 +8,5 @@ import './../dropdown-menu-wrapper/index.css';
8
8
  import './../tag-list-select/index.css';
9
9
  import './index.css';
10
10
  /*! @flatjs/forge MIT @flatbiz/antd */
11
- import{isString as r}from"@dimjs/lang/cjs/is-string";import{isObject as t}from"@dimjs/lang/cjs/is-object";import{get as e}from"@dimjs/utils/cjs/get";import{isPlainObject as i}from"@dimjs/lang/cjs/is-plain-object";import{a as n}from"../_rollupPluginBabelHelpers-1f4d8910.js";import{isNumber as o}from"@dimjs/lang/cjs/is-number";import{isEmpty as a}from"@dimjs/lang/cjs/is-empty";import{isUndefinedOrNull as s,getStrByteLen as l,cutString as u,flatbizDate as m}from"@flatbiz/utils";import{Tooltip as p,Space as c}from"antd";import{Fragment as f}from"react";import{a as d}from"../button-operate-1ea0fe5a.js";import{T as j}from"../tag-list-select-066f682f.js";import{jsx as v}from"react/jsx-runtime";import"@ant-design/icons/es/icons/MoreOutlined";import"@dimjs/lang/cjs/is-undefined";import"@dimjs/utils/cjs/class-names";import"@dimjs/lang/cjs/is-promise";import"@wove/react/cjs/hooks";import"../button-wrapper-698da5b1.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"../config-provider-wrapper-dfe8f592.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"../fba-hooks/index.js";import"@dimjs/lang/cjs/is-array";import"../use-responsive-point-21b8c601.js";import"../fba-utils-a4c7d94d.js";import"../dropdown-menu-wrapper-24932100.js";var g=function r(t,e){return function(r){if(a(r)||r==="")return e;if(o(r))return r;var i=r.toString();var n=s(t)?10:t;var m=l(i);if(m<=n*2){return i}return v(p,{placement:"topLeft",title:i,children:u(i,n*2)})}};var h=function r(t){return function(r,e,i){var o=t(e,i);return v(d,n({},o))}};var w=function r(t,e){return function(r){if(a(r)||r==="")return e;try{return m.format(new Date(r),t)}catch(t){return r||e}}};var y=function r(t,e){return function(r,i,n){if(e&&t){return(t-1)*e+n+1}return n+1}};var b=function r(t){return function(r,e,i){var n=(t==null?void 0:t())||{},o=n.pageNo,a=n.pageSize;if(a&&o){return(o-1)*a+i+1}return i+1}};var x=function r(t,e){return function(r){return v(j,{dataList:t,colorMap:e,value:r,forceMatch:false})}};var C=function r(n,o){return function(r){if(i(r)){var a=e(r,n,o);if(!a)return"";if(t(a))return JSON.stringify(a);return a}return r||o}};var k=function t(e){return function(t,i){var n=e==null?void 0:e(i);if(!n)return v(f,{children:t});var o=s(n.showData)?true:n.showData;var a=s(n.notOverflowShowExtra)?true:n.notOverflowShowExtra;var l=s(n.showMaxNumber)?10:n.showMaxNumber;var m=n.extraPosition?n.extraPosition:"after";var p=r(t)?u(t,l*2):t;if(n.extra&&o){if(p===t&&!a){return t}var d=[v("span",{children:p},"1"),v(f,{children:n.extra},"2")];var j=m==="before"?d.reverse():d;return v(c,{onClick:n.onClick,style:{cursor:n.onClick?"pointer":undefined},size:5,children:j.map((function(r,t){return v(f,{children:r},t)}))})}return v("span",{onClick:n.onClick,children:n.extra})}};var N={extraContentRender:k,indexCell:y,serialNumberCell:b,dateCell:w,operateCell:h,tooltipCell:g,selectorCell:x,objectCell:C};export{N as tableCellRender};
11
+ import{isString as r}from"@dimjs/lang/cjs/is-string";import{isObject as t}from"@dimjs/lang/cjs/is-object";import{get as e}from"@dimjs/utils/cjs/get";import{isPlainObject as i}from"@dimjs/lang/cjs/is-plain-object";import{a as n}from"../_rollupPluginBabelHelpers-1f4d8910.js";import{isNumber as o}from"@dimjs/lang/cjs/is-number";import{isEmpty as a}from"@dimjs/lang/cjs/is-empty";import{isUndefinedOrNull as s,getStrByteLen as l,cutString as u,flatbizDate as m}from"@flatbiz/utils";import{Tooltip as p,Space as c}from"antd";import{Fragment as f}from"react";import{a as d}from"../button-operate-f09bce7f.js";import{T as j}from"../tag-list-select-066f682f.js";import{jsx as v}from"react/jsx-runtime";import"@ant-design/icons/es/icons/MoreOutlined";import"@dimjs/lang/cjs/is-undefined";import"@dimjs/utils/cjs/class-names";import"@dimjs/lang/cjs/is-promise";import"@wove/react/cjs/hooks";import"../button-wrapper-698da5b1.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"../config-provider-wrapper-dfe8f592.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"../fba-hooks/index.js";import"@dimjs/lang/cjs/is-array";import"../use-responsive-point-21b8c601.js";import"../fba-utils-a4c7d94d.js";import"../dropdown-menu-wrapper-24932100.js";var g=function r(t,e){return function(r){if(a(r)||r==="")return e;if(o(r))return r;var i=r.toString();var n=s(t)?10:t;var m=l(i);if(m<=n*2){return i}return v(p,{placement:"topLeft",title:i,children:u(i,n*2)})}};var h=function r(t){return function(r,e,i){var o=t(e,i);return v(d,n({},o))}};var w=function r(t,e){return function(r){if(a(r)||r==="")return e;try{return m.format(new Date(r),t)}catch(t){return r||e}}};var y=function r(t,e){return function(r,i,n){if(e&&t){return(t-1)*e+n+1}return n+1}};var b=function r(t){return function(r,e,i){var n=(t==null?void 0:t())||{},o=n.pageNo,a=n.pageSize;if(a&&o){return(o-1)*a+i+1}return i+1}};var x=function r(t,e){return function(r){return v(j,{dataList:t,colorMap:e,value:r,forceMatch:false})}};var C=function r(n,o){return function(r){if(i(r)){var a=e(r,n,o);if(!a)return"";if(t(a))return JSON.stringify(a);return a}return r||o}};var k=function t(e){return function(t,i){var n=e==null?void 0:e(i);if(!n)return v(f,{children:t});var o=s(n.showData)?true:n.showData;var a=s(n.notOverflowShowExtra)?true:n.notOverflowShowExtra;var l=s(n.showMaxNumber)?10:n.showMaxNumber;var m=n.extraPosition?n.extraPosition:"after";var p=r(t)?u(t,l*2):t;if(n.extra&&o){if(p===t&&!a){return t}var d=[v("span",{children:p},"1"),v(f,{children:n.extra},"2")];var j=m==="before"?d.reverse():d;return v(c,{onClick:n.onClick,style:{cursor:n.onClick?"pointer":undefined},size:5,children:j.map((function(r,t){return v(f,{children:r},t)}))})}return v("span",{onClick:n.onClick,children:n.extra})}};var N={extraContentRender:k,indexCell:y,serialNumberCell:b,dateCell:w,operateCell:h,tooltipCell:g,selectorCell:x,objectCell:C};export{N as tableCellRender};
12
12
  //# sourceMappingURL=index.js.map
@@ -9,5 +9,5 @@ import './../input-search-wrapper/index.css';
9
9
  import './../request-status/index.css';
10
10
  import './index.css';
11
11
  /*! @flatjs/forge MIT @flatbiz/antd */
12
- import e from"@ant-design/icons/es/icons/CaretDownFilled";import r from"@ant-design/icons/es/icons/MoreOutlined";import{classNames as t}from"@dimjs/utils/cjs/class-names";import{isArray as a}from"@dimjs/lang/cjs/is-array";import{extend as n}from"@dimjs/utils/cjs/extend";import{hooks as i}from"@wove/react/cjs/hooks";import{_ as l,a as u}from"../_rollupPluginBabelHelpers-1f4d8910.js";import{cloneState as s}from"@dimjs/model";import{treeToArray as o,treeToTiledArray as c,treeLeafParentsArray as d,isUndefinedOrNull as f,treeFilter as v}from"@flatbiz/utils";import{Tree as m,Button as p,message as h}from"antd";import{forwardRef as g,useState as b,useMemo as y,useRef as L,useImperativeHandle as C,Fragment as w,isValidElement as j}from"react";import{a as q}from"../button-operate-1ea0fe5a.js";import{D as R}from"../dropdown-menu-wrapper-24932100.js";import{fbaHooks as k}from"../fba-hooks/index.js";import{I as N}from"../input-search-wrapper-10d4a9b9.js";import{R as S}from"../request-status-03fc60e2.js";import{Model as T}from"@dimjs/model-react";import{isObject as P}from"@dimjs/lang/cjs/is-object";import{dequal as A}from"dequal";import{jsxs as D,jsx as E}from"react/jsx-runtime";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"../button-wrapper-698da5b1.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"../config-provider-wrapper-dfe8f592.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"../fba-utils-a4c7d94d.js";import"../use-responsive-point-21b8c601.js";var I={treeList:[],treeTiledArray:[],queryIsEmpty:false};var x={actions:{setTreeList:function e(r){return function(e){e.treeList=r.treeList||[];e.treeTiledArray=o(e.treeList,r.childrenName);e.requestStatus="request-success"}},resetTreeList:function e(){return function(e){e.treeList=[]}},changeRequestStatus:function e(r){return function(e){e.requestStatus=r;if(r==="request-error"){e.treeList=[]}}},treeListAppendChildren:function e(r){return function(e){var t=o(e.treeList,r.childrenName);var n=t.find((function(e){return e[r.valueName]===r.value}));if(n){if(a(r.appendList)&&r.appendList.length>0){n[r.childrenName]=r.appendList}else{n.isLeaf=true}}e.treeTiledArray=o(e.treeList,r.childrenName)}}},state:I};var O={};var V=function e(r){if(!O[r]){O[r]=T(x)}return O[r]};var K=function e(r,t,a){var n=c(t,a);return d(r,n,true,{value:"value",parentValue:"parentValue"})};var F=function e(r,t){var n=f(r)?[]:r;n=a(n)?n:[n];n=n.map((function(e){if(P(e))return e[t.value];return e}));return n};var _=function e(r,t){var a=F(r,t);var n={};a.forEach((function(e){n[e]=true}));return n};var M=function e(r,t,a){if(f(r)&&f(t))return true;var n=_(r,a);var i=_(t,a);var l=A(n,i);return l};var U=["serviceConfig","effectDependencyList","selectorTreeList","value","onChange","modelKey","checkableResponseParentNode","checkable","onSelectorTreeListChange","treeItemDataAdapter","searchValue","showSearch","searchPlaceholder","requestMessageConfig","labelInValueFieldNames","labelInValue","disabledCanUse","menuLayoutType","menuTriggerType"];var z=g((function(o,d){var g=o.serviceConfig,T=o.effectDependencyList,P=o.selectorTreeList,A=o.value,I=o.onChange,x=o.modelKey,O=o.checkableResponseParentNode,_=O===void 0?true:O,z=o.checkable,B=o.onSelectorTreeListChange,W=o.treeItemDataAdapter,Y=o.searchValue,H=o.showSearch,G=o.searchPlaceholder,J=o.requestMessageConfig,Q=o.labelInValueFieldNames,X=o.labelInValue,Z=o.disabledCanUse,$=o.menuLayoutType,ee=o.menuTriggerType,re=l(o,U);var te=o.hasOwnProperty("selectorTreeList");var ae=g||{};var ne=T||[];var ie=b(),le=ie[0],ue=ie[1];var se=V(x).useStore(),oe=se[0],ce=se[1];var de=k.useSafeState(false),fe=de[0],ve=de[1];var me="request-progress-"+o.modelKey;var pe=y((function(){return u({label:"label",value:"value",children:"children"},o.fieldNames)}),[o.fieldNames]);var he=L();var ge=$===undefined?"fold":$;var be=ee===undefined?"click":ee;var ye=z===true;var Le=y((function(){return u({label:"label",value:"value"},Q)}),[Q]);var Ce=b(),we=Ce[0],je=Ce[1];var qe=L(true);var Re=b(0),ke=Re[0],Ne=Re[1];var Se=L();var Te=y((function(){var e=F(A,Le);return e}),[Le,A]);k.useEffectCustom((function(){if(f(A)&&qe.current||oe.treeList.length==0)return;qe.current=false;if(!M(A,Se.current,Le)){console.log("modelKey:"+x+" TreeWrapper key refresh",A,Se.current);Se.current=ye?Te:Te[0];var e=Ie(Te,true);ue(Array.from(new Set(e)));he.current=Te;Ne(Date.now())}}),[A,oe.treeList]);var Pe=function e(r){return r===""||f(r)};var Ae=function e(r){var t=ae.onRequestResultAdapter?ae.onRequestResultAdapter(r):r;return t};k.useEffectCustom((function(){je(Y)}),[Y]);var De=i.useCallbackRef((function(){return new Promise((function(e,r){var t,a,i,l,u;var s=function(){try{return e()}catch(e){return r(e)}};var o=function(e){try{ve(false);void h.error(e.message||"数据查询异常...");return s()}catch(e){return r(e)}};try{if(!ae.onRequest){throw new Error("onRequest 调用接口服务不能为空")}t=ae.requiredParamsKeys;a=n({},ae.params);if(t){i=t.find((function(e){return Pe(a[e])}));if(i){console.warn("TreeWrapper组件:参数:"+t.join("、")+"不能为空");return e()}}var c=function(){try{return s()}catch(e){return o(e)}};var d=function(e){try{window[me]=false;ve(false);void ce.changeRequestStatus("request-error");return c()}catch(e){return o(e)}};try{ve(true);return Promise.resolve(ce.changeRequestStatus("request-progress")).then((function(e){try{window[me]=true;return Promise.resolve(ae.onRequest==null?void 0:ae.onRequest(a)).then((function(e){try{l=e;u=Ae(l);Ee(u||[]);ve(false);window[me]=false;return c()}catch(e){return d(e)}}),d)}catch(e){return d(e)}}),d)}catch(e){d(e)}}catch(e){o(e)}}))}));k.useEffectCustom((function(){if(te)return;if(Boolean(ne.length)){void De();return}var e=V(x).getState();if(e.requestStatus==="request-success"){return}if(!window[me]){void De();return}}),ne);k.useEffectCustom((function(){if(te){Ee(P||[])}}),[P]);var Ee=i.useCallbackRef((function(e){if((e==null?void 0:e.length)===0&&oe.treeList.length===0){void ce.changeRequestStatus("request-success");return}void ce.setTreeList({treeList:e||[],childrenName:pe.children});B==null?void 0:B(e)}));var Ie=i.useCallbackRef((function(e,r){var t=[];e.forEach((function(e){if(!r&&le!=null&&le.includes(e))return;var a=K(e,oe.treeList,pe);t=t.concat(a.map((function(e){return e.value})))}));return t}));i.useUpdateEffect((function(){if(we){var e=c(oe.treeList||[],pe);var r=e.filter((function(e){var r;return(r=e.label)==null?void 0:r.includes(we||"")}));ue((function(e){var t=Ie(r.map((function(e){return e.value}))).concat(e||[]);return Array.from(new Set(t))}))}else{ue([])}}),[we]);C(d,(function(){return{onClearSelectorList:function e(){void ce.resetTreeList()},getTreeDataList:function e(){return oe.treeList}}}));var xe=i.useCallbackRef((function(e){ue(e)}));var Oe=i.useCallbackRef((function(e,r,t){Se.current=e;var n=f(r)?[]:a(r)?r:[r];if(f(e)){I==null?void 0:I(e,r,t);return}if(X){var i=Le.label;var l=Le.value;var u=n.map((function(e){var r;return r={},r[i]=e[pe.label],r[l]=e[pe.value],r}));if(a(e)){I==null?void 0:I(u,n,t)}else{I==null?void 0:I(u[0],n[0],t)}}else{if(a(e)){I==null?void 0:I(e,n,t)}else{I==null?void 0:I(e,n[0],t)}}}));var Ve=i.useCallbackRef((function(e,r){var t=o.checkStrictly?e.checked:e;t=f(e)?[]:e;t=a(t)?t:[t];var n=[];var i=[];var l=[];var u=[];t.forEach((function(e){var r=oe.treeTiledArray.find((function(r){return r[pe.value]===e}));if(!r)return;var t=r==null?void 0:r[pe.children];if(!a(t)||t.length===0){n.push(r);i.push(r[pe.value])}l.push(r);u.push(r[pe.value])}));if(z){ue((function(e){var r=Ie(i).concat(e||[]);return Array.from(new Set(r))}));if(!_&&!o.checkStrictly){Oe(i,n,l)}else{Oe(u,l,l)}}else{if(t[0]){var s=l.find((function(e){return e[pe.value]===t[0]}));Oe(t[0],s,[s])}else{var c=r.node[pe.value];var d=oe.treeTiledArray.find((function(e){return e[pe.value]===c}));Oe(undefined,d,[d])}}}));var Ke=i.useCallbackRef((function(e){return W==null?void 0:W(e)}));var Fe=y((function(){var e=function e(r){return r==null?void 0:r.map((function(r){var n;var i=(Ke==null?void 0:Ke(r))||r;var l=Z?undefined:i.disabled;var s=i[pe.label];var o;if(we){var c=s.indexOf(we);var d=s.substring(0,c);var f=s.slice(c+we.length);o=c>-1?D("span",{className:t({"v-tree-item-disabled":i.disabled}),children:[d,E("span",{className:"site-tree-search-value",children:we}),f]}):null}if(!o){o=E("span",{className:t({"v-tree-item-disabled":i.disabled}),children:s})}var v=i[pe.children];return u({},i,(n={disabled:l},n[pe.label]=o,n._treeItemName=s,n._disabled=i.disabled,n[pe.children]=a(v)&&v.length>0?e(v):undefined,n))}))};var r=s(oe.treeList||[]);if(we){return e(v(s(oe.treeList||[]),(function(e){var r;var t=(r=e[pe.label])==null?void 0:r.toLowerCase();return t.indexOf(we.toLowerCase())>=0})))}return e(r)}),[oe.treeList,Ke,Z,pe.label,pe.children,we]);var _e=i.useCallbackRef((function(e){return new Promise((function(r,t){return new Promise((function(a,n){var i,l,u,s;if(e[pe.children]){r();return a()}var c=function(){try{return a()}catch(e){return n(e)}};var d=function(e){try{void h.error(e.message||"数据加载异常...");t();return c()}catch(e){return n(e)}};try{return Promise.resolve((i=o.loadDataServiceConfig)==null?void 0:i.onRequest==null?void 0:i.onRequest((l=o.loadDataServiceConfig)==null?void 0:l.getParams==null?void 0:l.getParams(e))).then((function(t){try{u=t;s=ae.onRequestResultAdapter?ae.onRequestResultAdapter(u):u;void ce.treeListAppendChildren({value:e[pe.value],appendList:s,childrenName:pe.children,valueName:pe.value}).then((function(e){Ee(e.treeList);r()}));return c()}catch(e){return d(e)}}),d)}catch(e){d(e)}}))}))}));var Me=i.useCallbackRef((function(e){var r=e==null?void 0:e[pe.children];var t=o.loadDataFlag;var a=t?!e.isLeaf:false;var n=r&&r.length>0||a;return!n}));var Ue=i.useCallbackRef((function(e){var a,n;var i=e._treeItemName||e[pe.label];if(ge==="fold"){var l;var s=[];if((l=o.menuOptions)!=null&&l.fold){var c,d,f;s=((c=o.menuOptions)==null?void 0:(d=c[ge])==null?void 0:d.call(c,u({},e,(f={},f[pe.label]=i,f))))||[]}else{var v;s=(o.getMenuOptions==null?void 0:o.getMenuOptions(u({},e,(v={},v[pe.label]=i,v))))||[]}return D(w,{children:[E("span",{className:"tree-item-title",children:e==null?void 0:e[pe.label]}),s.length>0&&E(R,{menuList:s,children:E(r,{})})]})}var m=(a=o.menuOptions)==null?void 0:a.tile==null?void 0:a.tile(u({},e,(n={},n[pe.label]=i,n)));return D(w,{children:[E("span",{className:"tree-item-title",children:e==null?void 0:e[pe.label]}),m?E(q,u({},m,{gap:5,className:t("tree-item-title-operate",m.className)})):null]})}));var ze=i.useDebounceCallback((function(e){je(e);o.onSearchValueChange==null?void 0:o.onSearchValueChange(e)}),300);var Be=i.useCallbackRef((function(e){ze(e.target.value)}));var We=i.useCallbackRef((function(e){if(!o.icon)return null;if(j(o.icon))return o.icon;var r=Me(e.data);return o.icon(u({},e,{isParent:!r,isLeaf:r}))}));var Ye=y((function(){return{title:pe.label,key:pe.value,children:pe.children}}),[pe]);var He=Fe.length>0&&oe.requestStatus!=="request-error";var Ge=u({showLine:{showLeafIcon:false},titleRender:Ue,blockNode:true,switcherIcon:E(e,{})},re,{fieldNames:Ye,expandedKeys:le,treeData:Fe,onExpand:xe,loadData:o.loadDataFlag?_e:undefined,style:u({width:"100%"},re.style),icon:We});var Je={onCheck:Ve,checkable:z,defaultCheckedKeys:he.current};var Qe={onSelect:Ve,multiple:false,defaultSelectedKeys:he.current};var Xe=z?Je:Qe;var Ze=t("v-tree-wrapper","v-tree-wrapper-menu-"+be);var $e=oe.treeList.length>0&&!He&&we;return D("div",{className:Ze,children:[!!H&&D("div",{className:"v-tree-wrapper-search-area",children:[E(N,{className:"v-tree-wrapper-search",placeholder:G,onChange:Be,value:Y,allowClear:true}),!!o.searchExtraElement&&E("span",{className:"v-tree-wrapper-search-extra",children:o.searchExtraElement})]}),He?E(m,u({},Xe,Ge,{className:"v-tree-wrapper-tree"}),ke):E(S,{status:oe.requestStatus,loading:fe,messageConfig:u({"request-success":$e?"搜索结果为空":"暂无数据"},J),errorButton:E(p,{type:"primary",onClick:De,children:"重新获取数据"})})]})}));z.defaultProps={disabledCanUse:true};export{z as TreeWrapper};
12
+ import e from"@ant-design/icons/es/icons/CaretDownFilled";import r from"@ant-design/icons/es/icons/MoreOutlined";import{classNames as t}from"@dimjs/utils/cjs/class-names";import{isArray as a}from"@dimjs/lang/cjs/is-array";import{extend as n}from"@dimjs/utils/cjs/extend";import{hooks as i}from"@wove/react/cjs/hooks";import{_ as l,a as u}from"../_rollupPluginBabelHelpers-1f4d8910.js";import{cloneState as s}from"@dimjs/model";import{treeToArray as o,treeToTiledArray as c,treeLeafParentsArray as d,isUndefinedOrNull as f,treeFilter as v}from"@flatbiz/utils";import{Tree as m,Button as p,message as h}from"antd";import{forwardRef as g,useState as b,useMemo as y,useRef as L,useImperativeHandle as C,Fragment as w,isValidElement as j}from"react";import{a as q}from"../button-operate-f09bce7f.js";import{D as R}from"../dropdown-menu-wrapper-24932100.js";import{fbaHooks as k}from"../fba-hooks/index.js";import{I as N}from"../input-search-wrapper-10d4a9b9.js";import{R as S}from"../request-status-03fc60e2.js";import{Model as T}from"@dimjs/model-react";import{isObject as P}from"@dimjs/lang/cjs/is-object";import{dequal as A}from"dequal";import{jsxs as D,jsx as E}from"react/jsx-runtime";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"../button-wrapper-698da5b1.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"../config-provider-wrapper-dfe8f592.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"../fba-utils-a4c7d94d.js";import"../use-responsive-point-21b8c601.js";var I={treeList:[],treeTiledArray:[],queryIsEmpty:false};var x={actions:{setTreeList:function e(r){return function(e){e.treeList=r.treeList||[];e.treeTiledArray=o(e.treeList,r.childrenName);e.requestStatus="request-success"}},resetTreeList:function e(){return function(e){e.treeList=[]}},changeRequestStatus:function e(r){return function(e){e.requestStatus=r;if(r==="request-error"){e.treeList=[]}}},treeListAppendChildren:function e(r){return function(e){var t=o(e.treeList,r.childrenName);var n=t.find((function(e){return e[r.valueName]===r.value}));if(n){if(a(r.appendList)&&r.appendList.length>0){n[r.childrenName]=r.appendList}else{n.isLeaf=true}}e.treeTiledArray=o(e.treeList,r.childrenName)}}},state:I};var O={};var V=function e(r){if(!O[r]){O[r]=T(x)}return O[r]};var K=function e(r,t,a){var n=c(t,a);return d(r,n,true,{value:"value",parentValue:"parentValue"})};var F=function e(r,t){var n=f(r)?[]:r;n=a(n)?n:[n];n=n.map((function(e){if(P(e))return e[t.value];return e}));return n};var _=function e(r,t){var a=F(r,t);var n={};a.forEach((function(e){n[e]=true}));return n};var M=function e(r,t,a){if(f(r)&&f(t))return true;var n=_(r,a);var i=_(t,a);var l=A(n,i);return l};var U=["serviceConfig","effectDependencyList","selectorTreeList","value","onChange","modelKey","checkableResponseParentNode","checkable","onSelectorTreeListChange","treeItemDataAdapter","searchValue","showSearch","searchPlaceholder","requestMessageConfig","labelInValueFieldNames","labelInValue","disabledCanUse","menuLayoutType","menuTriggerType"];var z=g((function(o,d){var g=o.serviceConfig,T=o.effectDependencyList,P=o.selectorTreeList,A=o.value,I=o.onChange,x=o.modelKey,O=o.checkableResponseParentNode,_=O===void 0?true:O,z=o.checkable,B=o.onSelectorTreeListChange,W=o.treeItemDataAdapter,Y=o.searchValue,H=o.showSearch,G=o.searchPlaceholder,J=o.requestMessageConfig,Q=o.labelInValueFieldNames,X=o.labelInValue,Z=o.disabledCanUse,$=o.menuLayoutType,ee=o.menuTriggerType,re=l(o,U);var te=o.hasOwnProperty("selectorTreeList");var ae=g||{};var ne=T||[];var ie=b(),le=ie[0],ue=ie[1];var se=V(x).useStore(),oe=se[0],ce=se[1];var de=k.useSafeState(false),fe=de[0],ve=de[1];var me="request-progress-"+o.modelKey;var pe=y((function(){return u({label:"label",value:"value",children:"children"},o.fieldNames)}),[o.fieldNames]);var he=L();var ge=$===undefined?"fold":$;var be=ee===undefined?"click":ee;var ye=z===true;var Le=y((function(){return u({label:"label",value:"value"},Q)}),[Q]);var Ce=b(),we=Ce[0],je=Ce[1];var qe=L(true);var Re=b(0),ke=Re[0],Ne=Re[1];var Se=L();var Te=y((function(){var e=F(A,Le);return e}),[Le,A]);k.useEffectCustom((function(){if(f(A)&&qe.current||oe.treeList.length==0)return;qe.current=false;if(!M(A,Se.current,Le)){console.log("modelKey:"+x+" TreeWrapper key refresh",A,Se.current);Se.current=ye?Te:Te[0];var e=Ie(Te,true);ue(Array.from(new Set(e)));he.current=Te;Ne(Date.now())}}),[A,oe.treeList]);var Pe=function e(r){return r===""||f(r)};var Ae=function e(r){var t=ae.onRequestResultAdapter?ae.onRequestResultAdapter(r):r;return t};k.useEffectCustom((function(){je(Y)}),[Y]);var De=i.useCallbackRef((function(){return new Promise((function(e,r){var t,a,i,l,u;var s=function(){try{return e()}catch(e){return r(e)}};var o=function(e){try{ve(false);void h.error(e.message||"数据查询异常...");return s()}catch(e){return r(e)}};try{if(!ae.onRequest){throw new Error("onRequest 调用接口服务不能为空")}t=ae.requiredParamsKeys;a=n({},ae.params);if(t){i=t.find((function(e){return Pe(a[e])}));if(i){console.warn("TreeWrapper组件:参数:"+t.join("、")+"不能为空");return e()}}var c=function(){try{return s()}catch(e){return o(e)}};var d=function(e){try{window[me]=false;ve(false);void ce.changeRequestStatus("request-error");return c()}catch(e){return o(e)}};try{ve(true);return Promise.resolve(ce.changeRequestStatus("request-progress")).then((function(e){try{window[me]=true;return Promise.resolve(ae.onRequest==null?void 0:ae.onRequest(a)).then((function(e){try{l=e;u=Ae(l);Ee(u||[]);ve(false);window[me]=false;return c()}catch(e){return d(e)}}),d)}catch(e){return d(e)}}),d)}catch(e){d(e)}}catch(e){o(e)}}))}));k.useEffectCustom((function(){if(te)return;if(Boolean(ne.length)){void De();return}var e=V(x).getState();if(e.requestStatus==="request-success"){return}if(!window[me]){void De();return}}),ne);k.useEffectCustom((function(){if(te){Ee(P||[])}}),[P]);var Ee=i.useCallbackRef((function(e){if((e==null?void 0:e.length)===0&&oe.treeList.length===0){void ce.changeRequestStatus("request-success");return}void ce.setTreeList({treeList:e||[],childrenName:pe.children});B==null?void 0:B(e)}));var Ie=i.useCallbackRef((function(e,r){var t=[];e.forEach((function(e){if(!r&&le!=null&&le.includes(e))return;var a=K(e,oe.treeList,pe);t=t.concat(a.map((function(e){return e.value})))}));return t}));i.useUpdateEffect((function(){if(we){var e=c(oe.treeList||[],pe);var r=e.filter((function(e){var r;return(r=e.label)==null?void 0:r.includes(we||"")}));ue((function(e){var t=Ie(r.map((function(e){return e.value}))).concat(e||[]);return Array.from(new Set(t))}))}else{ue([])}}),[we]);C(d,(function(){return{onClearSelectorList:function e(){void ce.resetTreeList()},getTreeDataList:function e(){return oe.treeList}}}));var xe=i.useCallbackRef((function(e){ue(e)}));var Oe=i.useCallbackRef((function(e,r,t){Se.current=e;var n=f(r)?[]:a(r)?r:[r];if(f(e)){I==null?void 0:I(e,r,t);return}if(X){var i=Le.label;var l=Le.value;var u=n.map((function(e){var r;return r={},r[i]=e[pe.label],r[l]=e[pe.value],r}));if(a(e)){I==null?void 0:I(u,n,t)}else{I==null?void 0:I(u[0],n[0],t)}}else{if(a(e)){I==null?void 0:I(e,n,t)}else{I==null?void 0:I(e,n[0],t)}}}));var Ve=i.useCallbackRef((function(e,r){var t=o.checkStrictly?e.checked:e;t=f(e)?[]:e;t=a(t)?t:[t];var n=[];var i=[];var l=[];var u=[];t.forEach((function(e){var r=oe.treeTiledArray.find((function(r){return r[pe.value]===e}));if(!r)return;var t=r==null?void 0:r[pe.children];if(!a(t)||t.length===0){n.push(r);i.push(r[pe.value])}l.push(r);u.push(r[pe.value])}));if(z){ue((function(e){var r=Ie(i).concat(e||[]);return Array.from(new Set(r))}));if(!_&&!o.checkStrictly){Oe(i,n,l)}else{Oe(u,l,l)}}else{if(t[0]){var s=l.find((function(e){return e[pe.value]===t[0]}));Oe(t[0],s,[s])}else{var c=r.node[pe.value];var d=oe.treeTiledArray.find((function(e){return e[pe.value]===c}));Oe(undefined,d,[d])}}}));var Ke=i.useCallbackRef((function(e){return W==null?void 0:W(e)}));var Fe=y((function(){var e=function e(r){return r==null?void 0:r.map((function(r){var n;var i=(Ke==null?void 0:Ke(r))||r;var l=Z?undefined:i.disabled;var s=i[pe.label];var o;if(we){var c=s.indexOf(we);var d=s.substring(0,c);var f=s.slice(c+we.length);o=c>-1?D("span",{className:t({"v-tree-item-disabled":i.disabled}),children:[d,E("span",{className:"site-tree-search-value",children:we}),f]}):null}if(!o){o=E("span",{className:t({"v-tree-item-disabled":i.disabled}),children:s})}var v=i[pe.children];return u({},i,(n={disabled:l},n[pe.label]=o,n._treeItemName=s,n._disabled=i.disabled,n[pe.children]=a(v)&&v.length>0?e(v):undefined,n))}))};var r=s(oe.treeList||[]);if(we){return e(v(s(oe.treeList||[]),(function(e){var r;var t=(r=e[pe.label])==null?void 0:r.toLowerCase();return t.indexOf(we.toLowerCase())>=0})))}return e(r)}),[oe.treeList,Ke,Z,pe.label,pe.children,we]);var _e=i.useCallbackRef((function(e){return new Promise((function(r,t){return new Promise((function(a,n){var i,l,u,s;if(e[pe.children]){r();return a()}var c=function(){try{return a()}catch(e){return n(e)}};var d=function(e){try{void h.error(e.message||"数据加载异常...");t();return c()}catch(e){return n(e)}};try{return Promise.resolve((i=o.loadDataServiceConfig)==null?void 0:i.onRequest==null?void 0:i.onRequest((l=o.loadDataServiceConfig)==null?void 0:l.getParams==null?void 0:l.getParams(e))).then((function(t){try{u=t;s=ae.onRequestResultAdapter?ae.onRequestResultAdapter(u):u;void ce.treeListAppendChildren({value:e[pe.value],appendList:s,childrenName:pe.children,valueName:pe.value}).then((function(e){Ee(e.treeList);r()}));return c()}catch(e){return d(e)}}),d)}catch(e){d(e)}}))}))}));var Me=i.useCallbackRef((function(e){var r=e==null?void 0:e[pe.children];var t=o.loadDataFlag;var a=t?!e.isLeaf:false;var n=r&&r.length>0||a;return!n}));var Ue=i.useCallbackRef((function(e){var a,n;var i=e._treeItemName||e[pe.label];if(ge==="fold"){var l;var s=[];if((l=o.menuOptions)!=null&&l.fold){var c,d,f;s=((c=o.menuOptions)==null?void 0:(d=c[ge])==null?void 0:d.call(c,u({},e,(f={},f[pe.label]=i,f))))||[]}else{var v;s=(o.getMenuOptions==null?void 0:o.getMenuOptions(u({},e,(v={},v[pe.label]=i,v))))||[]}return D(w,{children:[E("span",{className:"tree-item-title",children:e==null?void 0:e[pe.label]}),s.length>0&&E(R,{menuList:s,children:E(r,{})})]})}var m=(a=o.menuOptions)==null?void 0:a.tile==null?void 0:a.tile(u({},e,(n={},n[pe.label]=i,n)));return D(w,{children:[E("span",{className:"tree-item-title",children:e==null?void 0:e[pe.label]}),m?E(q,u({},m,{gap:5,className:t("tree-item-title-operate",m.className)})):null]})}));var ze=i.useDebounceCallback((function(e){je(e);o.onSearchValueChange==null?void 0:o.onSearchValueChange(e)}),300);var Be=i.useCallbackRef((function(e){ze(e.target.value)}));var We=i.useCallbackRef((function(e){if(!o.icon)return null;if(j(o.icon))return o.icon;var r=Me(e.data);return o.icon(u({},e,{isParent:!r,isLeaf:r}))}));var Ye=y((function(){return{title:pe.label,key:pe.value,children:pe.children}}),[pe]);var He=Fe.length>0&&oe.requestStatus!=="request-error";var Ge=u({showLine:{showLeafIcon:false},titleRender:Ue,blockNode:true,switcherIcon:E(e,{})},re,{fieldNames:Ye,expandedKeys:le,treeData:Fe,onExpand:xe,loadData:o.loadDataFlag?_e:undefined,style:u({width:"100%"},re.style),icon:We});var Je={onCheck:Ve,checkable:z,defaultCheckedKeys:he.current};var Qe={onSelect:Ve,multiple:false,defaultSelectedKeys:he.current};var Xe=z?Je:Qe;var Ze=t("v-tree-wrapper","v-tree-wrapper-menu-"+be);var $e=oe.treeList.length>0&&!He&&we;return D("div",{className:Ze,children:[!!H&&D("div",{className:"v-tree-wrapper-search-area",children:[E(N,{className:"v-tree-wrapper-search",placeholder:G,onChange:Be,value:Y,allowClear:true}),!!o.searchExtraElement&&E("span",{className:"v-tree-wrapper-search-extra",children:o.searchExtraElement})]}),He?E(m,u({},Xe,Ge,{className:"v-tree-wrapper-tree"}),ke):E(S,{status:oe.requestStatus,loading:fe,messageConfig:u({"request-success":$e?"搜索结果为空":"暂无数据"},J),errorButton:E(p,{type:"primary",onClick:De,children:"重新获取数据"})})]})}));z.defaultProps={disabledCanUse:true};export{z as TreeWrapper};
13
13
  //# sourceMappingURL=index.js.map
package/index.d.ts CHANGED
@@ -667,6 +667,8 @@ export type FormOperateColProps = {
667
667
  /** 强制单独一行 */
668
668
  forceAloneRow?: boolean;
669
669
  hidden?: boolean;
670
+ leftSpaceProps?: SpaceProps;
671
+ rightSpaceProps?: SpaceProps;
670
672
  };
671
673
  export type EasyTableFilterProps = {
672
674
  children: ReactElement | ReactElement[] | ((form: FormInstance) => ReactElement);
@@ -685,6 +687,8 @@ export type EasyTableTableProps = Omit<TableProps<TAny>, "dataSource" | "loading
685
687
  children?: ReactElement | ReactElement[];
686
688
  /** 表格行 key 的取值 */
687
689
  rowKey: string;
690
+ tableWrapperStyle?: CSSProperties;
691
+ tableWrapperClassName?: string;
688
692
  };
689
693
  /**
690
694
  * 对 查询条件+表格数据 进行深度封装,内置数据交互处理
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flatbiz/antd",
3
- "version": "4.2.25",
3
+ "version": "4.2.26",
4
4
  "description": "flat-biz ui components",
5
5
  "main": "index.js",
6
6
  "typings": "index.d.ts",
@@ -1 +0,0 @@
1
- {"version":3,"file":"button-operate-1ea0fe5a.js","sources":["@flatbiz/antd/src/button-operate/button-operate.tsx"],"sourcesContent":["import { MoreOutlined } from '@ant-design/icons';\nimport { isPlainObject, isPromise, isString, isUndefined } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { hooks } from '@wove/react';\nimport { Button, Divider, Popconfirm, PopconfirmProps, Popover, Space, SpaceProps, Tooltip } from 'antd';\nimport {\n CSSProperties,\n FC,\n Fragment,\n isValidElement,\n ReactElement,\n ReactNode,\n useMemo,\n useState,\n} from 'react';\nimport { ButtonWrapper, ButtonWrapperProps } from '../button-wrapper';\nimport { DropdownMenuWrapper } from '../dropdown-menu-wrapper';\nimport { fbaUtils } from '../fba-utils';\n\nimport './style.less';\n\nexport interface ButtonOperateItem extends ButtonWrapperProps {\n /** hover 提示文字 */\n hoverTips?: string | React.ReactElement;\n /** hover 提示类型 默认:'tooltip' */\n tipsType?: 'popover' | 'tooltip';\n text?: string | ReactElement;\n color?: string;\n onClick?: (event: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n permission?: string;\n needConfirm?: boolean;\n confirmMessage?: string;\n hidden?: boolean;\n popconfirmProps?: Pick<PopconfirmProps, 'placement' | 'okText' | 'cancelText' | 'trigger'>;\n // 是否折叠合拢\n isFold?: boolean;\n}\n\nexport interface ButtonOperateProps {\n /**\n * 如果数组中元素为ReactElement类型\n * 1. 一般为antd Button组件,如果组件存在属性hidden=true,则会隐藏\n * 2. 可配置 v-permission 权限值,例如 v-permission=\"add\"\n * 3. 任何confirm、disabled等状态在外部控制\n * 3. 不支持fold效果\n */\n operateList: Array<ButtonOperateItem | null | ReactElement>;\n wrap?: boolean;\n foldIcon?: ReactElement;\n className?: string;\n split?: boolean;\n spaceProps?: SpaceProps;\n /** 间距,默认:10;split=true配置下无效(可通过spaceProps设置间距) */\n gap?: number;\n style?: CSSProperties;\n}\n\nexport const ButtonOperateItemContent = (\n props: Pick<ButtonOperateItem, 'hoverTips' | 'tipsType'> & { children?: ReactNode },\n) => {\n if (props.hoverTips) {\n if (props.tipsType === 'popover') {\n return (\n <Popover content={props.hoverTips} zIndex={1000}>\n <Fragment>{props.children}</Fragment>\n </Popover>\n );\n }\n return (\n <Tooltip title={props.hoverTips} zIndex={1000}>\n <Fragment>{props.children}</Fragment>\n </Tooltip>\n );\n }\n return <Fragment>{props.children}</Fragment>;\n};\n\nexport const ButtonOperate: FC<ButtonOperateProps> = (props) => {\n const [loading, setLoading] = useState(false);\n\n const onConfirm = hooks.useCallbackRef((item: ButtonOperateItem, event) => {\n const result = item.onClick?.(event);\n if (result && isPromise(result)) {\n setLoading(true);\n return result.finally(() => {\n setLoading(false);\n });\n }\n return;\n });\n\n const operateList = props.operateList.filter((item) => {\n if (!item) return false;\n if (isValidElement(item)) {\n if (item.props?.['hidden'] === true) return false;\n const permission = item.props?.['v-permission'];\n if (isString(permission)) {\n return fbaUtils.hasPermission(permission);\n }\n return true;\n }\n if (isPlainObject(item)) {\n if (!fbaUtils.hasPermission(item['permission'])) {\n return false;\n }\n return !item['hidden'];\n }\n return false;\n }) as Array<ButtonOperateItem | ReactElement>;\n\n const viewList = useMemo(() => {\n return operateList.filter((item) => {\n if (isValidElement(item)) {\n return true;\n }\n return !item['isFold'];\n }) as ButtonOperateItem[];\n }, [operateList]);\n\n const foldList = useMemo(() => {\n const filterList = operateList.filter((item) => {\n if (isValidElement(item)) {\n return false;\n }\n return item['isFold'];\n }) as ButtonOperateItem[];\n const result = [] as ButtonOperateItem[];\n filterList.forEach((item) => {\n const target = { ...item };\n // 多余字段渲染到react dom上,出现警告\n delete target.isFold;\n result.push(target);\n });\n return result;\n }, [operateList]);\n\n const gap = props.gap === undefined ? 10 : props.gap;\n const size = !props.split ? gap : 0;\n\n return (\n <div className={classNames('table-operate', props.className)} style={props.style}>\n <Space\n split={props.split ? <Divider type=\"vertical\" /> : null}\n size={size}\n wrap={isUndefined(props.wrap) ? true : props.wrap}\n {...props.spaceProps}\n >\n {viewList.map((item, index) => {\n if (item && isValidElement(item))\n return (\n <ButtonOperateItemContent hoverTips={item.hoverTips} tipsType={item.tipsType}>\n {item}\n </ButtonOperateItemContent>\n );\n const { text, onClick, needConfirm, confirmMessage, popconfirmProps, ...otherProps } = item;\n const type = item.type || 'link';\n if (needConfirm && !otherProps.disabled) {\n const danger = !!item.color ? false : true;\n return (\n <ButtonOperateItemContent hoverTips={item.hoverTips} tipsType={item.tipsType} key={index}>\n <Popconfirm\n okText=\"确定\"\n cancelText=\"取消\"\n trigger={['click']}\n placement=\"topRight\"\n arrow={true}\n destroyTooltipOnHide={true}\n {...popconfirmProps}\n title={confirmMessage}\n onConfirm={onConfirm.bind(null, item)}\n key={index}\n okButtonProps={{\n loading,\n }}\n onOpenChange={(_open) => {\n if (!_open) {\n setLoading(false);\n }\n }}\n >\n <ButtonWrapper danger={danger} {...otherProps} onClick={undefined} type={type}>\n {isValidElement(text) ? <span>{text}</span> : text}\n </ButtonWrapper>\n </Popconfirm>\n </ButtonOperateItemContent>\n );\n }\n return (\n <ButtonOperateItemContent hoverTips={item.hoverTips} tipsType={item.tipsType} key={index}>\n <ButtonWrapper\n loadingPosition=\"center\"\n {...otherProps}\n type={type}\n onClick={(event) => {\n event.stopPropagation();\n return onClick?.(event);\n }}\n >\n {isValidElement(text) ? <span>{text}</span> : text}\n </ButtonWrapper>\n </ButtonOperateItemContent>\n );\n })}\n {foldList.length > 0 ? (\n <DropdownMenuWrapper menuList={foldList}>\n <Button\n type=\"link\"\n className=\"fold-more-button\"\n onClick={(event) => {\n event.stopPropagation();\n }}\n >\n {props.foldIcon ? props.foldIcon : <MoreOutlined />}\n </Button>\n </DropdownMenuWrapper>\n ) : null}\n </Space>\n </div>\n );\n};\n\nButtonOperate.defaultProps = {\n split: true,\n};\n"],"names":["ButtonOperateItemContent","props","hoverTips","tipsType","_jsx","Popover","content","zIndex","children","Fragment","Tooltip","title","ButtonOperate","_useState","useState","loading","setLoading","onConfirm","_hooks","useCallbackRef","item","event","result","onClick","_isPromise","finally","operateList","filter","isValidElement","_item$props","_item$props2","permission","_isString","fbaUtils","hasPermission","_isPlainObject","viewList","useMemo","foldList","filterList","forEach","target","_extends","isFold","push","gap","undefined","size","split","className","_classNames","style","_jsxs","Space","Divider","type","wrap","_isUndefined","spaceProps","map","index","text","needConfirm","confirmMessage","popconfirmProps","otherProps","_objectWithoutPropertiesLoose","_excluded","disabled","danger","color","_createElement","Popconfirm","okText","cancelText","trigger","placement","arrow","destroyTooltipOnHide","bind","key","okButtonProps","onOpenChange","_open","ButtonWrapper","loadingPosition","stopPropagation","length","DropdownMenuWrapper","menuList","Button","foldIcon","_MoreOutlined","defaultProps"],"mappings":"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"}