@flatbiz/antd 4.2.42 → 4.2.44
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/button-operate/index.js +1 -1
- package/esm/{button-operate-697b2a94.js → button-operate-37069516.js} +2 -2
- package/esm/button-operate-37069516.js.map +1 -0
- package/esm/{cell-render-362e4d87.js → cell-render-61a5922f.js} +2 -2
- package/esm/{cell-render-362e4d87.js.map → cell-render-61a5922f.js.map} +1 -1
- package/esm/easy-table/index.js +1 -1
- package/esm/easy-table/index.js.map +1 -1
- package/esm/index.js +1 -1
- package/esm/local-loading/index.js +1 -1
- package/esm/local-loading/index.js.map +1 -1
- package/esm/page-fixed-footer/index.js +1 -1
- package/esm/page-fixed-footer-9ec2b46c.js +3 -0
- package/esm/page-fixed-footer-9ec2b46c.js.map +1 -0
- package/esm/table-cell-render/index.js +1 -1
- package/esm/tabs-wrapper/index.css +1 -1
- package/esm/tree-wrapper/index.js +1 -1
- package/index.d.ts +5 -3
- package/package.json +1 -1
- package/esm/button-operate-697b2a94.js.map +0 -1
- package/esm/page-fixed-footer-5fa10112.js +0 -3
- package/esm/page-fixed-footer-5fa10112.js.map +0 -1
|
@@ -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-
|
|
9
|
+
export{a as ButtonOperate,B as ButtonOperateItemContent}from"../button-operate-37069516.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-e833e139.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-1e895394.js";import"../dropdown-menu-wrapper-3544d20e.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-e833e139.js";import{D as k}from"./dropdown-menu-wrapper-3544d20e.js";import{f as C}from"./fba-utils-1e895394.js";import{jsx as P,jsxs as b}from"react/jsx-runtime";var w=["text","onClick","needConfirm","confirmMessage","popconfirmProps","hoverTips"];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=r.hoverTips,c=i(r,w);var f=r.type||"link";if(s&&!c.disabled){var u=!!r.color?false:true;return P(x,{hoverTips:p,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:u},c,{onClick:
|
|
3
|
-
//# sourceMappingURL=button-operate-
|
|
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-e833e139.js";import{D as k}from"./dropdown-menu-wrapper-3544d20e.js";import{f as C}from"./fba-utils-1e895394.js";import{jsx as P,jsxs as b}from"react/jsx-runtime";var w=["text","onClick","needConfirm","confirmMessage","popconfirmProps","hoverTips"];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=r.hoverTips,c=i(r,w);var f=r.type||"link";if(s&&!c.disabled){var u=!!r.color?false:true;return P(x,{hoverTips:p,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)}},onCancel:function r(e){e==null?void 0:e.stopPropagation()}}),P(y,e({danger:u},c,{onClick:function r(e){e.stopPropagation()},type:f,children:g(o)?P("span",{children:o}):o})))},n)}return P(x,{hoverTips:p,tipsType:r.tipsType,children:P(y,e({loadingPosition:"center"},c,{type:f,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-37069516.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"button-operate-37069516.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, hoverTips, ...otherProps } =\n item;\n const type = item.type || 'link';\n if (needConfirm && !otherProps.disabled) {\n const danger = !!item.color ? false : true;\n return (\n <ButtonOperateItemContent hoverTips={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 onCancel={(event) => {\n event?.stopPropagation();\n }}\n >\n <ButtonWrapper\n danger={danger}\n {...otherProps}\n onClick={(event) => {\n event.stopPropagation();\n }}\n type={type}\n >\n {isValidElement(text) ? <span>{text}</span> : text}\n </ButtonWrapper>\n </Popconfirm>\n </ButtonOperateItemContent>\n );\n }\n return (\n <ButtonOperateItemContent hoverTips={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","onCancel","stopPropagation","ButtonWrapper","loadingPosition","length","DropdownMenuWrapper","menuList","Button","foldIcon","_MoreOutlined","defaultProps"],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
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 n}from"@dimjs/lang/cjs/is-plain-object";import{a as i}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 u,getStrByteLen as l,cutString as f,flatbizDate as c}from"@flatbiz/utils";import{Tooltip as s,Space as m}from"antd";import{Fragment as p}from"react";import{a as v}from"./button-operate-
|
|
3
|
-
//# sourceMappingURL=cell-render-
|
|
2
|
+
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 n}from"@dimjs/lang/cjs/is-plain-object";import{a as i}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 u,getStrByteLen as l,cutString as f,flatbizDate as c}from"@flatbiz/utils";import{Tooltip as s,Space as m}from"antd";import{Fragment as p}from"react";import{a as v}from"./button-operate-37069516.js";import{T as d}from"./tag-list-select-066f682f.js";import{jsx as j}from"react/jsx-runtime";var h=function r(t,e){return function(r){if(a(r)||r==="")return e;if(o(r))return r;var n=r.toString();var i=u(t)?10:t;var c=l(n);if(c<=i*2){return n}return j(s,{placement:"topLeft",title:n,children:f(n,i*2)})}};var g=function r(t){return function(r,e,n){var o=t(e,n);return j(v,i({},o))}};var x=function r(t,e){return function(r){if(a(r)||r==="")return e;try{return c.format(new Date(r),t)}catch(t){return r||e}}};var C=function r(t,e){return function(r,n,i){if(e&&t){return(t-1)*e+i+1}return i+1}};var b=function r(t){return function(r,e,n){var i=(t==null?void 0:t())||{},o=i.pageNo,a=i.pageSize;if(a&&o){return(o-1)*a+n+1}return n+1}};var w=function r(t,e){return function(r){return j(d,{dataList:t,colorMap:e,value:r,forceMatch:false})}};var k=function r(i,o){return function(r){if(n(r)){var a=e(r,i,o);if(!a)return"";if(t(a))return JSON.stringify(a);return a}return r||o}};var N=function t(e){return function(t,n){var i=e==null?void 0:e(n);if(!i)return j(p,{children:t});var o=u(i.showData)?true:i.showData;var a=u(i.notOverflowShowExtra)?true:i.notOverflowShowExtra;var l=u(i.showMaxNumber)?10:i.showMaxNumber;var c=i.extraPosition?i.extraPosition:"after";var s=r(t)?f(t,l*2):t;if(i.extra&&o){if(s===t&&!a){return t}var v=[j("span",{children:s},"1"),j(p,{children:i.extra},"2")];var d=c==="before"?v.reverse():v;return j(m,{onClick:i.onClick,style:{cursor:i.onClick?"pointer":undefined},size:5,children:d.map((function(r,t){return j(p,{children:r},t)}))})}return j("span",{onClick:i.onClick,children:i.extra})}};var S={extraContentRender:N,indexCell:C,serialNumberCell:b,dateCell:x,operateCell:g,tooltipCell:h,selectorCell:w,objectCell:k};export{S as t};
|
|
3
|
+
//# sourceMappingURL=cell-render-61a5922f.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cell-render-362e4d87.js","sources":["@flatbiz/antd/src/table-cell-render/cell-render.tsx"],"sourcesContent":["import { isEmpty, isNumber, isObject, isPlainObject, isString } from '@dimjs/lang';\nimport { get } from '@dimjs/utils';\nimport {\n cutString,\n DateFormatType,\n flatbizDate,\n getStrByteLen,\n isUndefinedOrNull,\n TAny,\n TPlainObject,\n} from '@flatbiz/utils';\nimport { Space, Tooltip } from 'antd';\nimport { Fragment, ReactElement } from 'react';\nimport { ButtonOperate, ButtonOperateProps } from '../button-operate';\nimport { TagListSelect, TagListSelectProps } from '../tag-list-select';\n\nconst tableColumnTooltipRender = (showMaxNumber?: number, defaultValue?: string) => {\n return (value: string | number) => {\n if (isEmpty(value) || value === '') return defaultValue;\n if (isNumber(value)) return value;\n const colunmText = value.toString();\n const maxNumber = (isUndefinedOrNull(showMaxNumber) ? 10 : showMaxNumber) as number;\n const strByteLen = getStrByteLen(colunmText);\n if (strByteLen <= maxNumber * 2) {\n return colunmText;\n }\n return (\n <Tooltip placement=\"topLeft\" title={colunmText}>\n {cutString(colunmText, maxNumber * 2)}\n </Tooltip>\n );\n };\n};\n\nconst tableColumnOperateRender = (options: (item: TAny, index: number) => ButtonOperateProps) => {\n return (_value: string | number, record, index: number) => {\n const operateProps = options(record, index);\n return <ButtonOperate {...operateProps} />;\n };\n};\n\nconst tableColumnDateRender = (dateFormatType?: DateFormatType, defaultValue?: string) => {\n return (value: string | number) => {\n if (isEmpty(value) || value === '') return defaultValue;\n try {\n return flatbizDate.format(new Date(value), dateFormatType);\n } catch (error) {\n return value || defaultValue;\n }\n };\n};\n\n/**\n * table 索引展示,如果存在pageSize、pageNo参数可分页展示索引,否则每页都从1开始\n * @param pageSize\n * @param pageNo\n * @returns\n */\nconst tableColumnIndexRender = (pageNo?: number, pageSize?: number) => {\n return (_value, _record, index: number) => {\n if (pageSize && pageNo) {\n return (pageNo - 1) * pageSize + index + 1;\n }\n return index + 1;\n };\n};\nconst tableColumnIndexRender2 = (method?: () => { pageNo?: number; pageSize?: number }) => {\n return (_value, _record, index: number) => {\n const { pageNo, pageSize } = method?.() || {};\n if (pageSize && pageNo) {\n return (pageNo - 1) * pageSize + index + 1;\n }\n return index + 1;\n };\n};\n\nconst tableColumnSelectorRender = (\n selectorList: TagListSelectProps['dataList'],\n colorMap?: TagListSelectProps['colorMap'],\n) => {\n return (value: string | number) => {\n return <TagListSelect dataList={selectorList} colorMap={colorMap} value={value} forceMatch={false} />;\n };\n};\n\nconst tableColumnObjectRender = (key: string, defaultValue?: string) => {\n return (value?: TPlainObject) => {\n if (isPlainObject(value)) {\n const target = get(value, key, defaultValue);\n if (!target) return '';\n if (isObject(target)) return JSON.stringify(target);\n return target;\n }\n return value || defaultValue;\n };\n};\n\ntype TableColumnIconRenderProps = {\n /** 额外内容,一般为Icon */\n extra: ReactElement;\n extraPosition?: 'before' | 'after';\n onClick?: (e) => void;\n /** 是否显示原单元格数据,默认值:true */\n showData?: boolean;\n /** 溢出显示【...】, 最大长度(默认:20个字节) */\n showMaxNumber?: number;\n /** 未溢出显示【extra】配置,默认值:true */\n notOverflowShowExtra?: boolean;\n};\n\nconst tableColumnExtraContentRender = (handle: (item: TPlainObject) => TableColumnIconRenderProps) => {\n return (value: TAny, item: TPlainObject) => {\n const options = handle?.(item);\n if (!options) return <Fragment>{value}</Fragment>;\n const showData = isUndefinedOrNull(options.showData) ? true : options.showData;\n const notOverflowShowExtra = isUndefinedOrNull(options.notOverflowShowExtra)\n ? true\n : options.notOverflowShowExtra;\n const showMaxNumber = isUndefinedOrNull(options.showMaxNumber) ? 10 : (options.showMaxNumber as number);\n const extraPosition = options.extraPosition ? options.extraPosition : 'after';\n const renderValue = isString(value) ? cutString(value, showMaxNumber * 2) : value;\n\n if (options.extra && showData) {\n if (renderValue === value && !notOverflowShowExtra) {\n return value;\n }\n const spaceContent = [<span key=\"1\">{renderValue}</span>, <Fragment key=\"2\">{options.extra}</Fragment>];\n const spaceContentRender = extraPosition === 'before' ? spaceContent.reverse() : spaceContent;\n return (\n <Space onClick={options.onClick} style={{ cursor: options.onClick ? 'pointer' : undefined }} size={5}>\n {spaceContentRender.map((item, index) => {\n return <Fragment key={index}>{item}</Fragment>;\n })}\n </Space>\n );\n }\n return <span onClick={options.onClick}>{options.extra}</span>;\n };\n};\n\nexport const tableCellRender = {\n /**\n * 表格单元格 拼接额外内容渲染\n * ```\n * 1. extra 额外内容\n * 2. showData 是否显示原单元格数据,默认值:true\n * 3. showMaxNumber 显示最大长度,作用于原单元格字符串数据\n * ```\n */\n extraContentRender: tableColumnExtraContentRender,\n /**\n * table 索引展示,如果存在pageSize、pageNo参数可分页展示索引,否则每页都从1开始\n * @deprecated 已过时 @4.3.0版本移除,请使用 serialNumberCell\n */\n indexCell: tableColumnIndexRender,\n /**\n * table 序号展示,如果存在pageSize、pageNo参数可分页展示累加序号,否则每页都从1开始\n * ```\n * render: tableCellRender.serialNumberCell(() => {\n * return { pageNo,pageSize };\n * }),\n * ```\n */\n serialNumberCell: tableColumnIndexRender2,\n /**\n * 表格日期格式数据渲染,默认格式:YYYY-MM-DD\n * ```\n * dateFormatType: 日期格式\n * ```\n */\n dateCell: tableColumnDateRender,\n /**\n * table操作栏目渲染\n * ```\n * 使用方式\n * tableCellRender.operateCell((item) => ({\n * operateList: [\n * {\n * text: '编辑',\n * onClick: onItemOperate.bind(null, 'update', item),\n * permission: SystemAdminPermissionEnum.system_admin_edit,\n * },\n * {\n * text: '删除',\n * needConfirm: true,\n * confirmMessage: '确定要删除吗?',\n * onClick: onItemOperate.bind(null, 'delete', item),\n * permission: SystemAdminPermissionEnum.system_admin_delete,\n * },\n * ],\n * }))\n * ```\n */\n operateCell: tableColumnOperateRender,\n /**\n * 实现字段超出隐藏,默认长度10个字符\n * ```\n * 1. showMaxNumber: 显示最大长度\n * 2. 会讲字符转出字节进行计算显示\n * ```\n */\n tooltipCell: tableColumnTooltipRender,\n /**\n * ```\n * 使用方式1\n * tableCellRender.selectorCell([{ label: '已开启', value: 1, color: '#108ee9' }])\n *\n * 使用方式2\n * tableCellRender.selectorCell([{ label: '已开启', value: 1 }], { 1: '#108ee9' })\n * ```\n */\n selectorCell: tableColumnSelectorRender,\n /**\n * 单元格对象数据处理,支持多级处理\n * ```\n * tableCellRender.objectCell('a.b.c')\n * ```\n */\n objectCell: tableColumnObjectRender,\n};\n"],"names":["tableColumnTooltipRender","showMaxNumber","defaultValue","value","_isEmpty","_isNumber","colunmText","toString","maxNumber","isUndefinedOrNull","strByteLen","getStrByteLen","_jsx","Tooltip","placement","title","children","cutString","tableColumnOperateRender","options","_value","record","index","operateProps","ButtonOperate","_extends","tableColumnDateRender","dateFormatType","flatbizDate","format","Date","error","tableColumnIndexRender","pageNo","pageSize","_record","tableColumnIndexRender2","method","_ref","tableColumnSelectorRender","selectorList","colorMap","TagListSelect","dataList","forceMatch","tableColumnObjectRender","key","_isPlainObject","target","_get","_isObject","JSON","stringify","tableColumnExtraContentRender","handle","item","Fragment","showData","notOverflowShowExtra","extraPosition","renderValue","_isString","extra","spaceContent","spaceContentRender","reverse","Space","onClick","style","cursor","undefined","size","map","tableCellRender","extraContentRender","indexCell","serialNumberCell","dateCell","operateCell","tooltipCell","selectorCell","objectCell"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cell-render-61a5922f.js","sources":["@flatbiz/antd/src/table-cell-render/cell-render.tsx"],"sourcesContent":["import { isEmpty, isNumber, isObject, isPlainObject, isString } from '@dimjs/lang';\nimport { get } from '@dimjs/utils';\nimport {\n cutString,\n DateFormatType,\n flatbizDate,\n getStrByteLen,\n isUndefinedOrNull,\n TAny,\n TPlainObject,\n} from '@flatbiz/utils';\nimport { Space, Tooltip } from 'antd';\nimport { Fragment, ReactElement } from 'react';\nimport { ButtonOperate, ButtonOperateProps } from '../button-operate';\nimport { TagListSelect, TagListSelectProps } from '../tag-list-select';\n\nconst tableColumnTooltipRender = (showMaxNumber?: number, defaultValue?: string) => {\n return (value: string | number) => {\n if (isEmpty(value) || value === '') return defaultValue;\n if (isNumber(value)) return value;\n const colunmText = value.toString();\n const maxNumber = (isUndefinedOrNull(showMaxNumber) ? 10 : showMaxNumber) as number;\n const strByteLen = getStrByteLen(colunmText);\n if (strByteLen <= maxNumber * 2) {\n return colunmText;\n }\n return (\n <Tooltip placement=\"topLeft\" title={colunmText}>\n {cutString(colunmText, maxNumber * 2)}\n </Tooltip>\n );\n };\n};\n\nconst tableColumnOperateRender = (options: (item: TAny, index: number) => ButtonOperateProps) => {\n return (_value: string | number, record, index: number) => {\n const operateProps = options(record, index);\n return <ButtonOperate {...operateProps} />;\n };\n};\n\nconst tableColumnDateRender = (dateFormatType?: DateFormatType, defaultValue?: string) => {\n return (value: string | number) => {\n if (isEmpty(value) || value === '') return defaultValue;\n try {\n return flatbizDate.format(new Date(value), dateFormatType);\n } catch (error) {\n return value || defaultValue;\n }\n };\n};\n\n/**\n * table 索引展示,如果存在pageSize、pageNo参数可分页展示索引,否则每页都从1开始\n * @param pageSize\n * @param pageNo\n * @returns\n */\nconst tableColumnIndexRender = (pageNo?: number, pageSize?: number) => {\n return (_value, _record, index: number) => {\n if (pageSize && pageNo) {\n return (pageNo - 1) * pageSize + index + 1;\n }\n return index + 1;\n };\n};\nconst tableColumnIndexRender2 = (method?: () => { pageNo?: number; pageSize?: number }) => {\n return (_value, _record, index: number) => {\n const { pageNo, pageSize } = method?.() || {};\n if (pageSize && pageNo) {\n return (pageNo - 1) * pageSize + index + 1;\n }\n return index + 1;\n };\n};\n\nconst tableColumnSelectorRender = (\n selectorList: TagListSelectProps['dataList'],\n colorMap?: TagListSelectProps['colorMap'],\n) => {\n return (value: string | number) => {\n return <TagListSelect dataList={selectorList} colorMap={colorMap} value={value} forceMatch={false} />;\n };\n};\n\nconst tableColumnObjectRender = (key: string, defaultValue?: string) => {\n return (value?: TPlainObject) => {\n if (isPlainObject(value)) {\n const target = get(value, key, defaultValue);\n if (!target) return '';\n if (isObject(target)) return JSON.stringify(target);\n return target;\n }\n return value || defaultValue;\n };\n};\n\ntype TableColumnIconRenderProps = {\n /** 额外内容,一般为Icon */\n extra: ReactElement;\n extraPosition?: 'before' | 'after';\n onClick?: (e) => void;\n /** 是否显示原单元格数据,默认值:true */\n showData?: boolean;\n /** 溢出显示【...】, 最大长度(默认:20个字节) */\n showMaxNumber?: number;\n /** 未溢出显示【extra】配置,默认值:true */\n notOverflowShowExtra?: boolean;\n};\n\nconst tableColumnExtraContentRender = (handle: (item: TPlainObject) => TableColumnIconRenderProps) => {\n return (value: TAny, item: TPlainObject) => {\n const options = handle?.(item);\n if (!options) return <Fragment>{value}</Fragment>;\n const showData = isUndefinedOrNull(options.showData) ? true : options.showData;\n const notOverflowShowExtra = isUndefinedOrNull(options.notOverflowShowExtra)\n ? true\n : options.notOverflowShowExtra;\n const showMaxNumber = isUndefinedOrNull(options.showMaxNumber) ? 10 : (options.showMaxNumber as number);\n const extraPosition = options.extraPosition ? options.extraPosition : 'after';\n const renderValue = isString(value) ? cutString(value, showMaxNumber * 2) : value;\n\n if (options.extra && showData) {\n if (renderValue === value && !notOverflowShowExtra) {\n return value;\n }\n const spaceContent = [<span key=\"1\">{renderValue}</span>, <Fragment key=\"2\">{options.extra}</Fragment>];\n const spaceContentRender = extraPosition === 'before' ? spaceContent.reverse() : spaceContent;\n return (\n <Space onClick={options.onClick} style={{ cursor: options.onClick ? 'pointer' : undefined }} size={5}>\n {spaceContentRender.map((item, index) => {\n return <Fragment key={index}>{item}</Fragment>;\n })}\n </Space>\n );\n }\n return <span onClick={options.onClick}>{options.extra}</span>;\n };\n};\n\nexport const tableCellRender = {\n /**\n * 表格单元格 拼接额外内容渲染\n * ```\n * 1. extra 额外内容\n * 2. showData 是否显示原单元格数据,默认值:true\n * 3. showMaxNumber 显示最大长度,作用于原单元格字符串数据\n * ```\n */\n extraContentRender: tableColumnExtraContentRender,\n /**\n * table 索引展示,如果存在pageSize、pageNo参数可分页展示索引,否则每页都从1开始\n * @deprecated 已过时 @4.3.0版本移除,请使用 serialNumberCell\n */\n indexCell: tableColumnIndexRender,\n /**\n * table 序号展示,如果存在pageSize、pageNo参数可分页展示累加序号,否则每页都从1开始\n * ```\n * render: tableCellRender.serialNumberCell(() => {\n * return { pageNo,pageSize };\n * }),\n * ```\n */\n serialNumberCell: tableColumnIndexRender2,\n /**\n * 表格日期格式数据渲染,默认格式:YYYY-MM-DD\n * ```\n * dateFormatType: 日期格式\n * ```\n */\n dateCell: tableColumnDateRender,\n /**\n * table操作栏目渲染\n * ```\n * 使用方式\n * tableCellRender.operateCell((item) => ({\n * operateList: [\n * {\n * text: '编辑',\n * onClick: onItemOperate.bind(null, 'update', item),\n * permission: SystemAdminPermissionEnum.system_admin_edit,\n * },\n * {\n * text: '删除',\n * needConfirm: true,\n * confirmMessage: '确定要删除吗?',\n * onClick: onItemOperate.bind(null, 'delete', item),\n * permission: SystemAdminPermissionEnum.system_admin_delete,\n * },\n * ],\n * }))\n * ```\n */\n operateCell: tableColumnOperateRender,\n /**\n * 实现字段超出隐藏,默认长度10个字符\n * ```\n * 1. showMaxNumber: 显示最大长度\n * 2. 会讲字符转出字节进行计算显示\n * ```\n */\n tooltipCell: tableColumnTooltipRender,\n /**\n * ```\n * 使用方式1\n * tableCellRender.selectorCell([{ label: '已开启', value: 1, color: '#108ee9' }])\n *\n * 使用方式2\n * tableCellRender.selectorCell([{ label: '已开启', value: 1 }], { 1: '#108ee9' })\n * ```\n */\n selectorCell: tableColumnSelectorRender,\n /**\n * 单元格对象数据处理,支持多级处理\n * ```\n * tableCellRender.objectCell('a.b.c')\n * ```\n */\n objectCell: tableColumnObjectRender,\n};\n"],"names":["tableColumnTooltipRender","showMaxNumber","defaultValue","value","_isEmpty","_isNumber","colunmText","toString","maxNumber","isUndefinedOrNull","strByteLen","getStrByteLen","_jsx","Tooltip","placement","title","children","cutString","tableColumnOperateRender","options","_value","record","index","operateProps","ButtonOperate","_extends","tableColumnDateRender","dateFormatType","flatbizDate","format","Date","error","tableColumnIndexRender","pageNo","pageSize","_record","tableColumnIndexRender2","method","_ref","tableColumnSelectorRender","selectorList","colorMap","TagListSelect","dataList","forceMatch","tableColumnObjectRender","key","_isPlainObject","target","_get","_isObject","JSON","stringify","tableColumnExtraContentRender","handle","item","Fragment","showData","notOverflowShowExtra","extraPosition","renderValue","_isString","extra","spaceContent","spaceContentRender","reverse","Space","onClick","style","cursor","undefined","size","map","tableCellRender","extraContentRender","indexCell","serialNumberCell","dateCell","operateCell","tooltipCell","selectorCell","objectCell"],"mappings":"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"}
|
package/esm/easy-table/index.js
CHANGED
|
@@ -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{f as e}from"../fba-utils-1e895394.js";import{classNames as i}from"@dimjs/utils/cjs/class-names";import{isUndefined as t}from"@dimjs/lang/cjs/is-undefined";import{isArray as r}from"@dimjs/lang/cjs/is-array";import{hooks as n}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,useRef as g,useImperativeHandle as v,useMemo as y,Children 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{isFragment as q}from"react-is";import{B as R}from"../button-wrapper-e833e139.js";import{FormGrid as N}from"../form-grid/index.js";import{S as w}from"../simple-layout-1cd0fefc.js";import{isUndefinedOrNull as P,getUuid as x,isMacEnv as k}from"@flatbiz/utils";import{fbaHooks as T}from"../fba-hooks/index.js";import{T as K}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"../use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/extend";import"@dimjs/utils/cjs/get";import"ahooks";var L=C(),V=L[0],E=L[1];var O={queryCondition:{},isInit:true};var I={actions:{updateFilterCondition:function e(i){return function(e){e.queryCondition=a({},e.queryCondition,i)}},resetFilterCondition:function e(i){return function(e){e.queryCondition=a({},O.queryCondition,i)}},updateInitStatus:function e(){return function(e){e.isInit=false}}},state:O};var B={};var D=function e(i){if(!B[i]){B[i]=S(I)}return B[i]};var A=function e(i){return b(s,a({},i,{size:"small",placement:"topLeft"}))};A.Option=s.Option;var _=p((function(e,o){var s;var f=m([]),p=f[0],h=f[1];var C=m(0),S=C[0],F=C[1];var z=m(false),q=z[0],R=z[1];var N=D(e.modelKey).useStore(),w=N[0],P=N[1];var x=e.pageSize||((s=e.initialPaginationParams)==null?void 0:s.pageSize)||10;var k=e.initRequest===undefined?true:e.initRequest;var T=m(false),K=T[0],L=T[1];var V=g();var O=a({list:"list",total:"tatal",pageNo:"pageNo",pageSize:"pageSize"},e.fieldNames);var I=u.useForm(),B=I[0];var _=n.useCallbackRef((function(i){return new Promise((function(t,n){var a,o,s,u,d,f,p,m,g,v;var y=function(){try{return t()}catch(e){return n(e)}};var C=function(i){try{R(false);if(e.onRequestErrorHandle){e.onRequestErrorHandle(i)}else{void c.error(i.message)}return y()}catch(e){return n(e)}};try{R(true);return Promise.resolve(P.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||{};V.current=m;e.onDataSourceChange==null?void 0:e.onDataSourceChange(m);g=f?f(m):m;v=g[O.list];h(r(v)?v:[]);F(g[O.total]);R(false);return y()}catch(e){return C(e)}}),C)}catch(e){return C(e)}}),C)}catch(e){C(e)}}))}));var H=n.useCallbackRef((function(e){return new Promise((function(i,t){return Promise.resolve(P.resetFilterCondition()).then((function(r){try{B.resetFields();if(e){void P.updateFilterCondition(e);B.setFieldsValue(e)}return i()}catch(e){return t(e)}}),t)}))}));var U=function e(i,t){if(K){var r;return r={},r[O.pageNo]=i,r[O.pageSize]=t||x,r}else{return{}}};var W=n.useCallbackRef((function(i){return new Promise((function(t,r){var n;n=a({},U(1,x),e.initialValues,i);return Promise.resolve(P.resetFilterCondition(n)).then((function(e){try{B.resetFields();void _(n);return t()}catch(e){return r(e)}}),r)}))}));var Y=n.useCallbackRef((function(){return a({},w.queryCondition,B.getFieldsValue())}));var G=function e(){return{onRequest:_,clearQueryCondition:H,getRequestParams:Y,onResetRequest:W,form:B,getDataSource:function e(){return V.current}}};v(o,(function(){return G()}));var Q=function e(i){L(i)};var $=function i(){var t=B.getFieldsValue();if(e.onFormFinish){e.onFormFinish(a({},t,U(1,w.queryCondition.pageSize)))}else{void _(a({},t,U(1,w.queryCondition.pageSize)))}};var J=t(e.isFull)?true:e.isFull;var M=i("fba-easy-table",{"fba-easy-table-full":J,"fba-easy-table-filter-fixed":e.filterFixed,"fba-easy-table-pagination-fixed":e.paginationFixed});var X=y((function(){return a({showSizeChanger:true,current:w.queryCondition[O.pageNo]||1,pageSize:w.queryCondition[O.pageSize]||x,total:S,showTotal:function e(i){return"共 "+i+" 条记录"}},e.pagination)}),[O.pageNo,O.pageSize,x,e.pagination,w.queryCondition,S]);var Z=n.useCallbackRef((function(i,t){var r,n;void _((r={},r[O.pageSize]=t,r[O.pageNo]=i,r));(n=e.pagination)==null?void 0:n.onChange==null?void 0:n.onChange(i,t)}));var ee=i("fba-easy-table-wrapper",{"fba-easy-table-wrapper-inline":e.isInline});return b(E,{value:{getEasyTableRef:G,modelKey:e.modelKey,onRequest:_,tableList:p,tableTotal:S,loading:q,fieldNames:O,pageSize:x,initRequest:k,initialValues:e.initialValues||{},onSetPaginationStatus:Q,paginationStatus:K,onFormFinish:$,form:B,paginationFixed:e.paginationFixed||false,foldKeys:e.foldKeys||[]},children:e.paginationFixed?j("div",{className:ee,children:[b("div",{className:M,children:
|
|
11
|
+
import{f as e}from"../fba-utils-1e895394.js";import{classNames as i}from"@dimjs/utils/cjs/class-names";import{isUndefined as t}from"@dimjs/lang/cjs/is-undefined";import{isArray as r}from"@dimjs/lang/cjs/is-array";import{hooks as n}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,useRef as g,useImperativeHandle as v,useMemo as y,Children 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{isFragment as q}from"react-is";import{B as R}from"../button-wrapper-e833e139.js";import{FormGrid as N}from"../form-grid/index.js";import{S as w}from"../simple-layout-1cd0fefc.js";import{isUndefinedOrNull as P,getUuid as x,isMacEnv as k}from"@flatbiz/utils";import{fbaHooks as T}from"../fba-hooks/index.js";import{T as K}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"../use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/extend";import"@dimjs/utils/cjs/get";import"ahooks";var L=C(),V=L[0],E=L[1];var O={queryCondition:{},isInit:true};var I={actions:{updateFilterCondition:function e(i){return function(e){e.queryCondition=a({},e.queryCondition,i)}},resetFilterCondition:function e(i){return function(e){e.queryCondition=a({},O.queryCondition,i)}},updateInitStatus:function e(){return function(e){e.isInit=false}}},state:O};var B={};var D=function e(i){if(!B[i]){B[i]=S(I)}return B[i]};var A=function e(i){return b(s,a({},i,{size:"small",placement:"topLeft"}))};A.Option=s.Option;var _=p((function(e,o){var s;var f=m([]),p=f[0],h=f[1];var C=m(0),S=C[0],F=C[1];var z=m(false),q=z[0],R=z[1];var N=D(e.modelKey).useStore(),w=N[0],P=N[1];var x=e.pageSize||((s=e.initialPaginationParams)==null?void 0:s.pageSize)||10;var k=e.initRequest===undefined?true:e.initRequest;var T=m(false),K=T[0],L=T[1];var V=g();var O=a({list:"list",total:"tatal",pageNo:"pageNo",pageSize:"pageSize"},e.fieldNames);var I=u.useForm(),B=I[0];var _=n.useCallbackRef((function(i){return new Promise((function(t,n){var a,o,s,u,d,f,p,m,g,v;var y=function(){try{return t()}catch(e){return n(e)}};var C=function(i){try{R(false);if(e.onRequestErrorHandle){e.onRequestErrorHandle(i)}else{void c.error(i.message)}return y()}catch(e){return n(e)}};try{R(true);return Promise.resolve(P.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||{};V.current=m;e.onDataSourceChange==null?void 0:e.onDataSourceChange(m);g=f?f(m):m;v=g[O.list];h(r(v)?v:[]);F(g[O.total]);R(false);return y()}catch(e){return C(e)}}),C)}catch(e){return C(e)}}),C)}catch(e){C(e)}}))}));var H=n.useCallbackRef((function(e){return new Promise((function(i,t){return Promise.resolve(P.resetFilterCondition()).then((function(r){try{B.resetFields();if(e){void P.updateFilterCondition(e);B.setFieldsValue(e)}return i()}catch(e){return t(e)}}),t)}))}));var U=function e(i,t){if(K){var r;return r={},r[O.pageNo]=i,r[O.pageSize]=t||x,r}else{return{}}};var W=n.useCallbackRef((function(i){return new Promise((function(t,r){var n;n=a({},U(1,x),e.initialValues,i);return Promise.resolve(P.resetFilterCondition(n)).then((function(e){try{B.resetFields();void _(n);return t()}catch(e){return r(e)}}),r)}))}));var Y=n.useCallbackRef((function(){return a({},w.queryCondition,B.getFieldsValue())}));var G=function e(){return{onRequest:_,clearQueryCondition:H,getRequestParams:Y,onResetRequest:W,form:B,getDataSource:function e(){return V.current}}};v(o,(function(){return G()}));var Q=function e(i){L(i)};var $=function i(){var t=B.getFieldsValue();if(e.onFormFinish){e.onFormFinish(a({},t,U(1,w.queryCondition.pageSize)))}else{void _(a({},t,U(1,w.queryCondition.pageSize)))}};var J=t(e.isFull)?true:e.isFull;var M=i("fba-easy-table",{"fba-easy-table-full":J,"fba-easy-table-filter-fixed":e.filterFixed,"fba-easy-table-pagination-fixed":e.paginationFixed});var X=y((function(){return a({showSizeChanger:true,current:w.queryCondition[O.pageNo]||1,pageSize:w.queryCondition[O.pageSize]||x,total:S,showTotal:function e(i){return"共 "+i+" 条记录"}},e.pagination)}),[O.pageNo,O.pageSize,x,e.pagination,w.queryCondition,S]);var Z=n.useCallbackRef((function(i,t){var r,n;void _((r={},r[O.pageSize]=t,r[O.pageNo]=i,r));(n=e.pagination)==null?void 0:n.onChange==null?void 0:n.onChange(i,t)}));var ee=i("fba-easy-table-wrapper",{"fba-easy-table-wrapper-inline":e.isInline});var ie=typeof e.children==="function"?e.children(V.current):e.children;return b(E,{value:{getEasyTableRef:G,modelKey:e.modelKey,onRequest:_,tableList:p,tableTotal:S,loading:q,fieldNames:O,pageSize:x,initRequest:k,initialValues:e.initialValues||{},onSetPaginationStatus:Q,paginationStatus:K,onFormFinish:$,form:B,paginationFixed:e.paginationFixed||false,foldKeys:e.foldKeys||[]},children:e.paginationFixed?j("div",{className:ee,children:[b("div",{className:M,children:ie}),S>0&&b("div",{className:"fba-easy-table-pagination",children:b(d,a({size:"small"},X,{onChange:Z,selectComponentClass:A}))})]}):b("div",{className:M,children:ie})})}));var H=function e(i){var t=i.queryButtonProps,r=i.resetButtonProps,o=i.filterOperate;var l=V(),s=l.modelKey,d=l.foldKeys,c=l.fieldNames,f=l.onRequest,p=l.pageSize,g=l.paginationStatus,v=l.initialValues,C=l.form,S=l.onFormFinish;var P=typeof i.children==="function"?i.children(C):i.children;var x=y((function(){if(q(P)){return h.toArray(P.props.children)}else{return h.toArray(P)}}),[P]);var k=m(false),T=k[0],K=k[1];var L=D(s).useStore(),E=L[0],O=L[1];var I=n.useCallbackRef((function(){return new Promise((function(e,i){var t;return Promise.resolve(O.resetFilterCondition()).then((function(r){try{C.resetFields();if(g){f(a((t={},t[c.pageNo]=1,t[c.pageSize]=p,t),v))}else{f(v)}return e()}catch(e){return i(e)}}),i)}))}));var B=y((function(){var e=a({rightList:[!(t!=null&&t.hidden)?b(R,a({type:"primary",htmlType:"submit"},t,{children:(t==null?void 0:t.text)||"查询"}),"1"):null,!(r!=null&&r.hidden)?b(R,a({onClick:I},r,{children:(r==null?void 0:r.text)||"重置"}),"2"):null],leftList:[]},o==null?void 0:o(C));if(d.length>0){var i=b(R,{type:"link",style:{padding:"0"},onClick:function e(){K(!T)},children:T?j("span",{children:["收起",b(z,{style:{marginLeft:3,fontSize:12}})]}):j("span",{children:["展开",b(F,{style:{marginLeft:3,fontSize:12}})]})},"fold-trigger");var n=e.rightList,l=e.leftList;if(n.length>0||l.length===0){n.push(i)}else if((l==null?void 0:l.length)>0){l.push(i)}}return x.map((function(e,i){if(!T&&d.find((function(i){return".$"+i===e.key})))return null;if(e.props["hidden"])return null;if(e.type["domTypeName"]==="FormCol")return e;return b(N.Col,{children:e},i)})).filter(Boolean).concat(b(N.OperateCol,a({},e),999))}),[x,o,d,C,I,T,t,r]);return b(w,{className:"easy-table-filter",children:b(u,{form:C,onFinish:S,initialValues:a({},v,E.queryCondition),children:i.isPure?P:b(N.Row,{gutter:[15,0],gridSize:i.formGridSize,children:B})})})};var U=function e(){var i=V();var t=g(i.getEasyTableRef());return t.current};var W=function e(){var i=V(),t=i.getEasyTableRef;var r=g(t());return r};var Y=["children","rowKey","pagination"];var G=function e(t){var r=t.children,n=t.rowKey,l=t.pagination,s=o(t,Y);var u=V(),d=u.modelKey,c=u.fieldNames,p=u.onRequest,m=u.tableList,g=u.initRequest,v=u.pageSize,h=u.tableTotal,C=u.loading,S=u.initialValues,F=u.paginationFixed,z=u.onSetPaginationStatus;var q=D(d).useStore(),R=q[0],N=q[1];var L=y((function(){if(F||l===false)return false;return a({showSizeChanger:true,current:R.queryCondition[c.pageNo]||1,pageSize:R.queryCondition[c.pageSize]||v,total:h,showTotal:function e(i){return"共 "+i+" 条记录"}},t.pagination,{selectComponentClass:A})}),[c.pageNo,c.pageSize,v,l,F,t.pagination,R.queryCondition,h]);var E=function e(i,r,n,a){if(a.action==="paginate"&&L){var o;p((o={},o[c.pageSize]=i.pageSize,o[c.pageNo]=i.current,o))}else{t.onChange==null?void 0:t.onChange(i,r,n,a)}};var O=y((function(){if(m.length===0){return[]}if(P(m[0][n])){return m.map((function(e){e[n]=x();return e}))}return m}),[m,n]);T.useEffectCustom((function(){var e=F||L!==false;z(e);if(g!==false||!R.isInit){if(e){var i;void p(a((i={},i[c.pageNo]=1,i[c.pageSize]=v,i),S,R.queryCondition))}else{void p(S)}}else{void N.updateFilterCondition(S)}void N.updateInitStatus()}),[]);return j(w,{className:i("easy-table-table",t.tableWrapperClassName),style:t.tableWrapperStyle,children:[r,k()?b(f,a({size:"small",scroll:{x:"max-content"},bordered:true},s,{pagination:L,rowKey:n,onChange:E,loading:C,dataSource:O})):b(K,{children:b(f,a({size:"small",scroll:{x:"max-content"},bordered:true},s,{pagination:L,rowKey:n,onChange:E,loading:C,dataSource:O}))})]})};var Q=e.attachPropertiesToComponent(_,{Filter:H,Table:G,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?: TPlainObject;\n updateInitStatus: void;\n};\n\nconst defaultState: ModelState = {\n queryCondition: {},\n isInit: true,\n};\n\nconst _EasyTableModel: ModelType<ModelState, ModelActionParams> = {\n actions: {\n updateFilterCondition: (params) => {\n return (state) => {\n state.queryCondition = {\n ...state.queryCondition,\n ...params,\n };\n };\n },\n resetFilterCondition: (params) => {\n return (state) => {\n state.queryCondition = {\n ...defaultState.queryCondition,\n ...params,\n };\n };\n },\n updateInitStatus: () => {\n return (state) => {\n state.isInit = false;\n };\n },\n },\n state: defaultState,\n};\n\nconst easyTableModels: Record<string, API<ModelType<ModelState, ModelActionParams, TAny>>> = {};\n\n/**\n * ```\n * 使用方式\n * const [state, actions] = selectorWrapperModel('key值').useStore();\n * ```\n */\nexport const easyTableModel = (key: string) => {\n if (!easyTableModels[key]) {\n easyTableModels[key] = Model(_EasyTableModel);\n }\n return easyTableModels[key];\n};\n","import { 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, useRef, 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 已过时 @4.3.0版本移除,使用 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 * 自定义处理服务异常\n * @param error\n * @returns\n */\n onRequestErrorHandle?: (error) => void;\n /**\n * 是否inline模式\n * ```\n * 1. 缩短 EasyTable.Filter 与 EasyTable.Table 之间的距离\n * ```\n */\n isInline?: boolean;\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 const respOriginalDataRef = useRef<TAny>();\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 respOriginalDataRef.current = respData;\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 if (props.onRequestErrorHandle) {\n props.onRequestErrorHandle(error);\n } else {\n void message.error(error.message);\n }\n }\n });\n\n const clearQueryCondition = hooks.useCallbackRef(async (values?: TPlainObject) => {\n await actions.resetFilterCondition();\n form.resetFields();\n if (values) {\n void actions.updateFilterCondition(values);\n form.setFieldsValue(values);\n }\n });\n\n const getPaginationData = (pageNo: number, _pageSize: number) => {\n if (paginationStatus) {\n return {\n [fieldNames.pageNo]: pageNo,\n [fieldNames.pageSize]: _pageSize || pageSize,\n };\n } else {\n return {};\n }\n };\n\n const onResetRequest = hooks.useCallbackRef(async (values?: TPlainObject) => {\n const params = {\n ...getPaginationData(1, pageSize),\n ...props.initialValues,\n ...values,\n };\n await actions.resetFilterCondition(params);\n form.resetFields();\n void onInnerRequest(params);\n });\n\n const getRequestParams = hooks.useCallbackRef(() => {\n return {\n ...state.queryCondition,\n ...form.getFieldsValue(),\n };\n });\n\n const getEasyTableRef = () => {\n return {\n onRequest: onInnerRequest,\n clearQueryCondition,\n getRequestParams,\n onResetRequest,\n form,\n getDataSource: () => {\n return respOriginalDataRef.current;\n },\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 const wrapperClassName = classNames('fba-easy-table-wrapper', {\n 'fba-easy-table-wrapper-inline': props.isInline,\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={wrapperClassName}>\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 { isFragment } from 'react-is';\nimport { ButtonWrapper } from '../button-wrapper';\nimport { FormGrid } from '../form-grid';\nimport { FormOperateColProps } from '../form-grid/form-operate-col';\nimport { FormRowProps } from '../form-grid/form-row';\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 formGridSize?: FormRowProps['gridSize'];\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 *5. Filter 子节点包含 hidden = true 会被忽略\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 = useMemo(() => {\n if (isFragment(children)) {\n return Children.toArray((children as ReactElement).props.children) as ReactElement[];\n } else {\n return Children.toArray(children) as ReactElement[];\n }\n }, [children]);\n\n const [openFold, setOpenFold] = useState(false);\n\n const [state, actions] = easyTableModel(modelKey).useStore();\n\n const onReset = hooks.useCallbackRef(async () => {\n await actions.resetFilterCondition();\n form.resetFields();\n if (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 key=\"fold-trigger\"\n style={{ padding: '0' }}\n onClick={() => {\n setOpenFold(!openFold);\n }}\n >\n {openFold ? (\n <span>\n 收起\n <UpOutlined style={{ marginLeft: 3, fontSize: 12 }} />\n </span>\n ) : (\n <span>\n 展开\n <DownOutlined style={{ marginLeft: 3, fontSize: 12 }} />\n </span>\n )}\n </ButtonWrapper>\n );\n 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.props['hidden']) return null;\n if (item.type['domTypeName'] === 'FormCol') return item;\n return <FormGrid.Col key={index}>{item}</FormGrid.Col>;\n })\n .filter(Boolean)\n .concat(<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 ? (\n children\n ) : (\n <FormGrid.Row gutter={[15, 0]} gridSize={props.formGridSize}>\n {formRowChildren}\n </FormGrid.Row>\n )}\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 已过时 @4.3.0版本移除,请使用 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 * 2. 分页功能已内置处理,不调用 onChange\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'] = (pagination, filters, sorter, extra) => {\n if (extra.action === 'paginate' && tablePaginationData) {\n onRequest({ [fieldNames.pageSize]: pagination.pageSize, [fieldNames.pageNo]: pagination.current });\n } else {\n props.onChange?.(pagination, filters, sorter, extra);\n }\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 ...state.queryCondition,\n });\n } else {\n void onRequest(initialValues);\n }\n } else {\n void actions.updateFilterCondition(initialValues);\n }\n void actions.updateInitStatus();\n }, []);\n\n 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 { fbaUtils } from '../fba-utils';\nimport { EasyTable as EasyTableInner } from './easy-table';\nimport { EasyTableFilter } from './filter';\nimport { useEasyTable, useEasyTablRef } from './hooks';\nimport { EasyTableTable } from './table';\n\n/**\n * 对 查询条件+表格数据 进行深度封装,内置数据交互处理\n * ```\n * 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 = fbaUtils.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 *5. Filter 子节点包含 hidden = true 会被忽略\n *```\n */\n Filter: EasyTableFilter,\n /**\n * 表格渲染\n * @param props\n * ```\n * 1. 继承了 TableProps 可设置antd table功能\n * 2. 分页功能已内置处理,不调用 onChange\n * ```\n */\n Table: EasyTableTable,\n\n /**\n * @deprecated 已过时 @4.3.0版本移除,请使用 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","respOriginalDataRef","useRef","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","onRequestErrorHandle","message","resolve","then","$await_2","cloneState","serviceConfig","$await_3","current","onDataSourceChange","_isArray","clearQueryCondition","values","$await_4","resetFields","setFieldsValue","getPaginationData","_pageSize","_ref","onResetRequest","initialValues","$await_5","getRequestParams","getFieldsValue","getEasyTableRef","getDataSource","useImperativeHandle","onSetPaginationStatus","status","onFormFinish","isFull","_isUndefined","className","_classNames","filterFixed","paginationFixed","paginationData","useMemo","showSizeChanger","showTotal","pagination","onChange","page","_onInnerRequest","_props$pagination","wrapperClassName","isInline","value","tableList","tableTotal","foldKeys","children","_jsxs","Pagination","selectComponentClass","EasyTableFilter","queryButtonProps","resetButtonProps","filterOperate","_useEasyTableCtx","childrens","isFragment","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","gridSize","formGridSize","useEasyTable","ctx","resp","useEasyTablRef","EasyTableTable","rowKey","otherProps","_objectWithoutPropertiesLoose","_excluded","tablePaginationData","onChangePage","filters","sorter","extra","action","_onRequest","isUndefinedOrNull","getUuid","fbaHooks","useEffectCustom","hasPagination","tableWrapperClassName","tableWrapperStyle","isMacEnv","Table","scroll","x","bordered","TableScrollbar","fbaUtils","attachPropertiesToComponent","EasyTableInner","Filter"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/easy-table/context.ts","@flatbiz/antd/src/easy-table/model.ts","@flatbiz/antd/src/easy-table/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?: TPlainObject;\n updateInitStatus: void;\n};\n\nconst defaultState: ModelState = {\n queryCondition: {},\n isInit: true,\n};\n\nconst _EasyTableModel: ModelType<ModelState, ModelActionParams> = {\n actions: {\n updateFilterCondition: (params) => {\n return (state) => {\n state.queryCondition = {\n ...state.queryCondition,\n ...params,\n };\n };\n },\n resetFilterCondition: (params) => {\n return (state) => {\n state.queryCondition = {\n ...defaultState.queryCondition,\n ...params,\n };\n };\n },\n updateInitStatus: () => {\n return (state) => {\n state.isInit = false;\n };\n },\n },\n state: defaultState,\n};\n\nconst easyTableModels: Record<string, API<ModelType<ModelState, ModelActionParams, TAny>>> = {};\n\n/**\n * ```\n * 使用方式\n * const [state, actions] = selectorWrapperModel('key值').useStore();\n * ```\n */\nexport const easyTableModel = (key: string) => {\n if (!easyTableModels[key]) {\n easyTableModels[key] = Model(_EasyTableModel);\n }\n return easyTableModels[key];\n};\n","import { 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, useRef, 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[] | ((dataSource?: TAny) => 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 已过时 @4.3.0版本移除,使用 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 * 自定义处理服务异常\n * @param error\n * @returns\n */\n onRequestErrorHandle?: (error) => void;\n /**\n * 是否inline模式\n * ```\n * 1. 缩短 EasyTable.Filter 与 EasyTable.Table 之间的距离\n * ```\n */\n isInline?: boolean;\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 const respOriginalDataRef = useRef<TAny>();\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 respOriginalDataRef.current = respData;\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 if (props.onRequestErrorHandle) {\n props.onRequestErrorHandle(error);\n } else {\n void message.error(error.message);\n }\n }\n });\n\n const clearQueryCondition = hooks.useCallbackRef(async (values?: TPlainObject) => {\n await actions.resetFilterCondition();\n form.resetFields();\n if (values) {\n void actions.updateFilterCondition(values);\n form.setFieldsValue(values);\n }\n });\n\n const getPaginationData = (pageNo: number, _pageSize: number) => {\n if (paginationStatus) {\n return {\n [fieldNames.pageNo]: pageNo,\n [fieldNames.pageSize]: _pageSize || pageSize,\n };\n } else {\n return {};\n }\n };\n\n const onResetRequest = hooks.useCallbackRef(async (values?: TPlainObject) => {\n const params = {\n ...getPaginationData(1, pageSize),\n ...props.initialValues,\n ...values,\n };\n await actions.resetFilterCondition(params);\n form.resetFields();\n void onInnerRequest(params);\n });\n\n const getRequestParams = hooks.useCallbackRef(() => {\n return {\n ...state.queryCondition,\n ...form.getFieldsValue(),\n };\n });\n\n const getEasyTableRef = () => {\n return {\n onRequest: onInnerRequest,\n clearQueryCondition,\n getRequestParams,\n onResetRequest,\n form,\n getDataSource: () => {\n return respOriginalDataRef.current;\n },\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 const wrapperClassName = classNames('fba-easy-table-wrapper', {\n 'fba-easy-table-wrapper-inline': props.isInline,\n });\n\n const children =\n typeof props.children === 'function' ? props.children(respOriginalDataRef.current) : props.children;\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={wrapperClassName}>\n <div className={className}>{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}>{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 { isFragment } from 'react-is';\nimport { ButtonWrapper } from '../button-wrapper';\nimport { FormGrid } from '../form-grid';\nimport { FormOperateColProps } from '../form-grid/form-operate-col';\nimport { FormRowProps } from '../form-grid/form-row';\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 formGridSize?: FormRowProps['gridSize'];\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 *5. Filter 子节点包含 hidden = true 会被忽略\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 = useMemo(() => {\n if (isFragment(children)) {\n return Children.toArray((children as ReactElement).props.children) as ReactElement[];\n } else {\n return Children.toArray(children) as ReactElement[];\n }\n }, [children]);\n\n const [openFold, setOpenFold] = useState(false);\n\n const [state, actions] = easyTableModel(modelKey).useStore();\n\n const onReset = hooks.useCallbackRef(async () => {\n await actions.resetFilterCondition();\n form.resetFields();\n if (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 key=\"fold-trigger\"\n style={{ padding: '0' }}\n onClick={() => {\n setOpenFold(!openFold);\n }}\n >\n {openFold ? (\n <span>\n 收起\n <UpOutlined style={{ marginLeft: 3, fontSize: 12 }} />\n </span>\n ) : (\n <span>\n 展开\n <DownOutlined style={{ marginLeft: 3, fontSize: 12 }} />\n </span>\n )}\n </ButtonWrapper>\n );\n 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.props['hidden']) return null;\n if (item.type['domTypeName'] === 'FormCol') return item;\n return <FormGrid.Col key={index}>{item}</FormGrid.Col>;\n })\n .filter(Boolean)\n .concat(<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 ? (\n children\n ) : (\n <FormGrid.Row gutter={[15, 0]} gridSize={props.formGridSize}>\n {formRowChildren}\n </FormGrid.Row>\n )}\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 已过时 @4.3.0版本移除,请使用 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 * 2. 分页功能已内置处理,不调用 onChange\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'] = (pagination, filters, sorter, extra) => {\n if (extra.action === 'paginate' && tablePaginationData) {\n onRequest({ [fieldNames.pageSize]: pagination.pageSize, [fieldNames.pageNo]: pagination.current });\n } else {\n props.onChange?.(pagination, filters, sorter, extra);\n }\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 ...state.queryCondition,\n });\n } else {\n void onRequest(initialValues);\n }\n } else {\n void actions.updateFilterCondition(initialValues);\n }\n void actions.updateInitStatus();\n }, []);\n\n 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 { fbaUtils } from '../fba-utils';\nimport { EasyTable as EasyTableInner } from './easy-table';\nimport { EasyTableFilter } from './filter';\nimport { useEasyTable, useEasyTablRef } from './hooks';\nimport { EasyTableTable } from './table';\n\n/**\n * 对 查询条件+表格数据 进行深度封装,内置数据交互处理\n * ```\n * 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 = fbaUtils.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 *5. Filter 子节点包含 hidden = true 会被忽略\n *```\n */\n Filter: EasyTableFilter,\n /**\n * 表格渲染\n * @param props\n * ```\n * 1. 继承了 TableProps 可设置antd table功能\n * 2. 分页功能已内置处理,不调用 onChange\n * ```\n */\n Table: EasyTableTable,\n\n /**\n * @deprecated 已过时 @4.3.0版本移除,请使用 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","respOriginalDataRef","useRef","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","onRequestErrorHandle","message","resolve","then","$await_2","cloneState","serviceConfig","$await_3","current","onDataSourceChange","_isArray","clearQueryCondition","values","$await_4","resetFields","setFieldsValue","getPaginationData","_pageSize","_ref","onResetRequest","initialValues","$await_5","getRequestParams","getFieldsValue","getEasyTableRef","getDataSource","useImperativeHandle","onSetPaginationStatus","status","onFormFinish","isFull","_isUndefined","className","_classNames","filterFixed","paginationFixed","paginationData","useMemo","showSizeChanger","showTotal","pagination","onChange","page","_onInnerRequest","_props$pagination","wrapperClassName","isInline","children","value","tableList","tableTotal","foldKeys","_jsxs","Pagination","selectComponentClass","EasyTableFilter","queryButtonProps","resetButtonProps","filterOperate","_useEasyTableCtx","childrens","isFragment","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","gridSize","formGridSize","useEasyTable","ctx","resp","useEasyTablRef","EasyTableTable","rowKey","otherProps","_objectWithoutPropertiesLoose","_excluded","tablePaginationData","onChangePage","filters","sorter","extra","action","_onRequest","isUndefinedOrNull","getUuid","fbaHooks","useEffectCustom","hasPagination","tableWrapperClassName","tableWrapperStyle","isMacEnv","Table","scroll","x","bordered","TableScrollbar","fbaUtils","attachPropertiesToComponent","EasyTableInner","Filter"],"mappings":"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"}
|
package/esm/index.js
CHANGED
|
@@ -79,5 +79,5 @@ import './tree-selector-wrapper/index.css';
|
|
|
79
79
|
import './tree-wrapper/index.css';
|
|
80
80
|
import './index.css';
|
|
81
81
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
82
|
-
export{A as AnchorSteps}from"./anchor-steps-616cd173.js";export{a as ButtonOperate,B as ButtonOperateItemContent}from"./button-operate-
|
|
82
|
+
export{A as AnchorSteps}from"./anchor-steps-616cd173.js";export{a as ButtonOperate,B as ButtonOperateItemContent}from"./button-operate-37069516.js";export{B as ButtonWrapper}from"./button-wrapper-e833e139.js";export{C as CascaderWrapper}from"./cascader-wrapper-db4a5382.js";export{CheckList}from"./check-list/index.js";export{C as CheckboxWrapper}from"./checkbox-wrapper-018a5c59.js";export{C as ConfigProviderWrapper}from"./config-provider-wrapper-dfe8f592.js";export{createDrawerWrapperModel}from"./create-drawer-wrapper-model/index.js";export{createModalWrapperModel}from"./create-modal-wrapper-model/index.js";export{C as CssNodeHover}from"./css-node-hover-ed7b9860.js";export{D as DataRender}from"./data-render-07c0ab6b.js";export{D as DatePickerWrapper}from"./date-picker-wrapper-ba650858.js";export{D as DateRangePickerWrapper}from"./date-range-picker-wrapper-fb15c592.js";export{D as DateRangePickerWrapperFormItem}from"./date-range-picker-wrapper-form-item-688cf465.js";export{d as dialogAlert}from"./dialog-alert-23b4a533.js";export{d as dialogConfirm}from"./dialog-confirm-2656caad.js";export{d as dialogDrawer}from"./dialog-drawer-a741961f.js";export{d as dialogLoading}from"./dialog-loading-16bd1baa.js";export{d as dialogModal}from"./dialog-modal-7b705b44.js";export{D as DrawerWrapper}from"./drawer-wrapper-9af2f178.js";export{D as DropdownMenuWrapper}from"./dropdown-menu-wrapper-3544d20e.js";export{d as dynamicNode}from"./dynamic-node-c7864af4.js";export{EasyTable}from"./easy-table/index.js";export{E as EditableField}from"./editable-field-7f30db8e.js";export{E as EditableFieldProvider}from"./editable-field-provider-20963c3e.js";export{E as EditableTable}from"./editable-table-2446a059.js";export{E as EditorWrapper}from"./editor-wrapper-ff6e75b7.js";export{fbaHooks}from"./fba-hooks/index.js";export{f as fbaUtils}from"./fba-utils-1e895394.js";export{F as FileImport}from"./file-import-890a1df9.js";export{F as FlexLayout}from"./flex-layout-8d2b668b.js";export{FormGrid}from"./form-grid/index.js";export{FormItemGroup}from"./form-item-group/index.js";export{F as FormItemHidden}from"./form-item-hidden-45541774.js";export{F as FormItemWrapper}from"./form-item-wrapper-dfe2ebd9.js";export{G as Gap}from"./gap-284e1f59.js";export{I as IconWrapper}from"./icon-wrapper-ed5fcacc.js";export{I as InputSearchWrapper}from"./input-search-wrapper-10d4a9b9.js";export{I as InputTextAreaWrapper}from"./input-text-area-wrapper-c958fba0.js";export{I as InputWrapper}from"./input-wrapper-b378eb5a.js";export{L as LabelValueLayout}from"./label-value-layout-beb35b0d.js";export{LocalLoading}from"./local-loading/index.js";export{M as ModalAction}from"./modal-action-5c5ca8a7.js";export{M as ModalWrapper}from"./modal-wrapper-ff8df98b.js";export{P as PageFixedFooter}from"./page-fixed-footer-9ec2b46c.js";export{P as Page404}from"./page404-f087129a.js";export{P as Permission}from"./permission-a1c99455.js";export{preDefinedClassName}from"./pre-defined-class-name/index.js";export{R as RadioGroupWrapper}from"./radio-group-wrapper-b34746d1.js";export{R as RelationTree}from"./relation-tree-7bec12bd.js";export{R as RequestStatus}from"./request-status-03fc60e2.js";export{R as RichTextEditor}from"./rich-text-editor-c8bac6d2.js";export{R as RichTextViewer}from"./rich-text-viewer-3bf4569a.js";export{R as RollLocationCenter}from"./center-a4dfda6f.js";export{R as RollLocationInView}from"./in-view-448ba714.js";export{R as RuleDescribe}from"./rule-describe-b4a8e831.js";export{S as SelectorWrapper}from"./selector-wrapper-dc08cc44.js";export{S as SelectorWrapperSearch}from"./selector-wrapper-search-f799bcf0.js";export{S as SelectorWrapperSimple}from"./selector-wrapper-simple-7b34f7bd.js";export{S as SimpleLayout}from"./simple-layout-1cd0fefc.js";export{S as SmsCountDown}from"./sms-count-down-c2609386.js";export{styles}from"./styles/index.js";export{S as SwitchWrapper}from"./switch-wrapper-f20b9a58.js";export{t as tableCellRender}from"./cell-render-61a5922f.js";export{T as TableScrollbar}from"./table-scrollbar-66c1682c.js";export{T as TableTitleTooltip}from"./title-render-2874a932.js";export{T as TabsWrapper}from"./tabs-wrapper-675dc949.js";export{T as TagGroup}from"./tag-group-4fbcaa14.js";export{T as TagListSelect}from"./tag-list-select-066f682f.js";export{T as TagWrapper}from"./tag-wrapper-6d8b505e.js";export{T as TextOverflowRender}from"./text-overflow-render-2ec38800.js";export{T as TimePickerWrapper}from"./time-picker-wrapper-f1d26d96.js";export{T as TimeRangePickerWrapper}from"./time-range-picker-wrapper-be9850b5.js";export{T as TimeRangePickerWrapperFormItem}from"./time-range-picker-wrapper-form-item-9df6c0f4.js";export{T as TreeSelectorWrapper}from"./tree-selector-wrapper-9cd9da23.js";export{TreeWrapper}from"./tree-wrapper/index.js";export{U as UploadWrapper}from"./upload-wrapper-df8a2277.js";import"@dimjs/utils/cjs/class-names";import"@flatbiz/antd";import"antd";import"react";import"react/jsx-runtime";import"@ant-design/icons/es/icons/MoreOutlined";import"./_rollupPluginBabelHelpers-1f4d8910.js";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"@wove/react/cjs/hooks";import"@ant-design/icons/es/icons/LoadingOutlined";import"@flatbiz/utils";import"@ant-design/icons/es/icons/RedoOutlined";import"@dimjs/utils/cjs/extend";import"@dimjs/model";import"@dimjs/model-react";import"@wove/react/cjs/create-ctx";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"./time-53b3f55f.js";import"@dimjs/lang/cjs/is-array";import"react-dom/client";import"./dom-4d04aa64.js";import"ahooks";import"@ant-design/icons/es/icons/SaveOutlined";import"@ant-design/icons/es/icons/DownOutlined";import"@ant-design/icons/es/icons/UpOutlined";import"react-is";import"@ant-design/icons/es/icons/CloseOutlined";import"@ant-design/icons/es/icons/CheckOutlined";import"@dimjs/lang/cjs/is-number";import"@ant-design/icons/es/icons/EditOutlined";import"./context-25d0b686.js";import"@ant-design/icons/es/icons/PlusOutlined";import"@dimjs/lang/cjs/is-boolean";import"@ant-design/icons/es/icons/DeleteOutlined";import"@wove/react/cjs/editor";import"./use-responsive-point-21b8c601.js";import"@dimjs/lang/cjs/is-deep-equal";import"@tinymce/tinymce-react";import"@ant-design/icons/es/icons/PlusCircleOutlined";import"@ant-design/icons/es/icons/FullscreenOutlined";import"@dimjs/utils/cjs/get";import"@dimjs/utils/cjs/json";import"pubsub-js";import"@dimjs/lang/cjs/is-object";import"@dimjs/lang/cjs/is-empty";import"@ant-design/icons/es/icons/QuestionCircleOutlined";import"dayjs/plugin/isSameOrAfter";import"dayjs/plugin/isSameOrBefore";import"@ant-design/icons/es/icons/CaretDownFilled";import"dequal";import"@dimjs/utils/cjs/tree";import"react-dom";
|
|
83
83
|
//# sourceMappingURL=index.js.map
|
|
@@ -4,5 +4,5 @@ import './../dynamic-node/index.css';
|
|
|
4
4
|
import './../fba-hooks/index.css';
|
|
5
5
|
import './index.css';
|
|
6
6
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
7
|
-
import{f as r}from"../fba-utils-1e895394.js";import{createCtx as e}from"@wove/react/cjs/create-ctx";import{classNames as n}from"@dimjs/utils/cjs/class-names";import{isDeepEqual as t}from"@dimjs/lang/cjs/is-deep-equal";import{a}from"../_rollupPluginBabelHelpers-1f4d8910.js";import{toArray as i}from"@flatbiz/utils";import{Result as o,Button as s,Spin as c}from"antd";import{forwardRef as
|
|
7
|
+
import{f as r}from"../fba-utils-1e895394.js";import{createCtx as e}from"@wove/react/cjs/create-ctx";import{classNames as n}from"@dimjs/utils/cjs/class-names";import{isDeepEqual as t}from"@dimjs/lang/cjs/is-deep-equal";import{a}from"../_rollupPluginBabelHelpers-1f4d8910.js";import{toArray as i}from"@flatbiz/utils";import{Result as o,Button as s,Spin as c}from"antd";import{forwardRef as l,useState as u,useRef as m,useMemo as f,useImperativeHandle as d}from"react";import{d as v}from"../dynamic-node-c7864af4.js";import{fbaHooks as p}from"../fba-hooks/index.js";import{jsx as h,jsxs as g}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-array";import"react-dom/client";import"../dom-4d04aa64.js";import"@wove/react/cjs/hooks";import"../use-responsive-point-21b8c601.js";var y=e(),j=y[0],b=y[1];var C=l((function(r,e){var l=r.serviceConfig,y=r.isAsync,j=r.children,C=r.errorRender;var N=u("init"),P=N[0],R=N[1];var q=u(),x=q[0],k=q[1];var w=r.loadingHeight===undefined?100:r.loadingHeight;var E=m(null);var H=m();var T=m();var z=p.usePrevious(l.params);var A=f((function(){var r;if(!l.params||i(l.invalidParamKey).length===0){return l.params}var e=a({},l.params);(r=l.invalidParamKey)==null?void 0:r.forEach((function(r){e[r]=undefined}));return e}),[l]);var K=function r(){T.current=undefined;H.current=v.append({content:h(c,{spinning:true}),getContainer:function r(){return E.current}}).elementId};var L=function r(){v.remove(H.current)};var B=function r(e){return new Promise((function(r,n){var t=function(r){return function(e){try{L();return r&&r.call(this,e)}catch(r){return n(r)}}.bind(this)}.bind(this);var i;var o=function(){try{return r()}catch(r){return n(r)}};var s=function(r){try{console.error(r);R("error");T.current=r.message;return t(o)()}catch(r){return t(n)(r)}};try{K();return Promise.resolve(l.onRequest(a({},A,e))).then((function(r){try{i=r;R("success");k(i);return t(o)()}catch(r){return s(r)}}),s)}catch(r){s(r)}}))};p.useEffectCustomAsync(B,[]);p.useEffectCustom((function(){if(z){if(!t(l.params,z)){void B()}}}),[z,l.params]);d(e,(function(){return{onRefresh:B}}));if(P==="error"){if(C){return C(x)}return h(b,{value:{onRequest:B},children:g("div",{className:"local-loading-error",children:[h("div",{className:"local-loading-area",ref:E}),h(o,{status:"error",subTitle:T.current||"数据处理异常",extra:[h(s,{type:"primary",ghost:true,size:"small",onClick:function r(){R("init");setTimeout((function(){void B()}),100)},children:"重新获取"},"console")]})]})})}if(P!=="success"&&!y){return h("div",{className:"fba-local-loading-process",style:{height:w,display:"flex",justifyContent:"center",position:"relative",backgroundColor:"#fff"},children:h("div",{className:"local-loading-area",ref:E})})}return h(b,{value:{onRequest:B},children:g("div",{className:n("fba-local-loading",r.className),style:r.style,children:[h("div",{className:"local-loading-area",ref:E}),h("div",{className:"local-loading-content",style:r.contentStyle,children:j(x)})]})})}));var N=r.attachPropertiesToComponent(C,{useLocalLoading:function r(){var e=j();return{onRequest:function r(n){e.onRequest(n)}}}});export{N as LocalLoading};
|
|
8
8
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/local-loading/context.ts","@flatbiz/antd/src/local-loading/local-loading.tsx","@flatbiz/antd/src/local-loading/index.ts"],"sourcesContent":["import { TPlainObject } from '@flatbiz/utils';\nimport { createCtx } from '@wove/react';\n\nexport const [useLocalLoadingCtx, LocalLoadingCtxProvider] = createCtx<{\n onRequest: (params?: TPlainObject) => void;\n}>();\n","import { isDeepEqual } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { TAny, toArray, TPlainObject } from '@flatbiz/utils';\nimport { Button, Result, Spin } from 'antd';\nimport {\n CSSProperties,\n forwardRef,\n ReactElement,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { dynamicNode } from '../dynamic-node';\nimport { fbaHooks } from '../fba-hooks';\nimport { LocalLoadingCtxProvider } from './context';\nimport './style.less';\n\nexport type LocalLoadingServiceConfig = {\n onRequest: (params?: TAny) => Promise<TPlainObject>;\n params?: TPlainObject;\n /** 标记serviceConfig.params中无效参数,被设置的params key 不传入服务接口入参 */\n invalidParamKey?: string[];\n};\n\nexport interface LocalLoadingProps {\n /** 接口数据配置 */\n serviceConfig: LocalLoadingServiceConfig;\n /** children 为函数,参数【respData】为接口返回数据 */\n children: (respData?: TAny) => ReactElement;\n /**\n * 是否异步,默认:false\n * ```\n * true(异步):onRequest、react dom渲染同步执行\n * false(同步):onRequest有结果了才渲染 react dom\n * ```\n */\n isAsync?: boolean;\n /** 自定义异常渲染处理 */\n errorRender?: (error?: TAny) => ReactElement;\n /** loading高度,默认值:100;isAsync = true 无效 */\n loadingHeight?: number;\n className?: string;\n style?: CSSProperties;\n}\n\nexport type LocalLoadingRefApi = {\n onRefresh: (params?: TPlainObject) => void;\n};\n\n/**\n * 局部加载,包含接口数据处理逻辑\n * ```\n * 包括\n * 1. loading显示效果\n * 2. error显示效果\n * 3. 获取服务数据\n * 4. 当 serviceConfig.params 值与上一次值不相等时,会主动发起服务调用\n * ```\n * @param props\n * @returns\n */\nexport const LocalLoadingInner = forwardRef<LocalLoadingRefApi, LocalLoadingProps>((props, ref) => {\n const { serviceConfig, isAsync, children, errorRender } = props;\n const [status, setStatus] = useState<'success' | 'error' | 'init'>('init');\n const [respData, setRespData] = useState<TAny>();\n const loadingHeight = props.loadingHeight === undefined ? 100 : props.loadingHeight;\n const rootRef = useRef<HTMLDivElement>(null);\n const loadingKeyRef = useRef<string>();\n const errorRef = useRef<string>();\n\n const prevParams = fbaHooks.usePrevious(serviceConfig.params);\n\n // 用于直接发起接口调用,不能用于比较\n const serviceParams = useMemo(() => {\n if (!serviceConfig.params || toArray(serviceConfig.invalidParamKey).length === 0) {\n return serviceConfig.params;\n }\n const newParams = { ...serviceConfig.params };\n serviceConfig.invalidParamKey?.forEach((key) => {\n newParams[key] = undefined;\n });\n return newParams;\n }, [serviceConfig]);\n\n const openLoading = () => {\n errorRef.current = undefined;\n loadingKeyRef.current = dynamicNode.append({\n content: <Spin spinning={true}></Spin>,\n getContainer: () => {\n return rootRef.current as HTMLElement;\n },\n }).elementId;\n };\n\n const closeLoading = () => {\n dynamicNode.remove(loadingKeyRef.current);\n };\n\n const onInitRequest = async (params?: TPlainObject) => {\n try {\n openLoading();\n const respData = await serviceConfig.onRequest({\n ...serviceParams,\n ...params,\n });\n setStatus('success');\n setRespData(respData);\n } catch (error) {\n console.error(error);\n setStatus('error');\n errorRef.current = error.message;\n } finally {\n closeLoading();\n }\n };\n\n fbaHooks.useEffectCustomAsync(onInitRequest, []);\n\n fbaHooks.useEffectCustom(() => {\n if (prevParams) {\n if (!isDeepEqual(serviceConfig.params, prevParams)) {\n void onInitRequest();\n }\n }\n }, [prevParams, serviceConfig.params]);\n\n useImperativeHandle(ref, () => {\n return { onRefresh: onInitRequest };\n });\n\n if (status === 'error') {\n if (errorRender) {\n return errorRender(respData);\n }\n return (\n <LocalLoadingCtxProvider value={{ onRequest: onInitRequest }}>\n <div className=\"local-loading-error\">\n <div className=\"local-loading-area\" ref={rootRef}></div>\n <Result\n status=\"error\"\n subTitle={errorRef.current || '数据处理异常'}\n extra={[\n <Button\n type=\"primary\"\n ghost\n key=\"console\"\n size=\"small\"\n onClick={() => {\n setStatus('init');\n setTimeout(() => {\n void onInitRequest();\n }, 100);\n }}\n >\n 重新获取\n </Button>,\n ]}\n />\n </div>\n </LocalLoadingCtxProvider>\n );\n }\n\n if (status !== 'success' && !isAsync) {\n return (\n <div\n className=\"fba-local-loading-process\"\n style={{\n height: loadingHeight,\n display: 'flex',\n justifyContent: 'center',\n position: 'relative',\n backgroundColor: '#fff',\n }}\n >\n <div className=\"local-loading-area\" ref={rootRef}></div>\n </div>\n );\n }\n\n return (\n <LocalLoadingCtxProvider value={{ onRequest: onInitRequest }}>\n <div className={classNames('fba-local-loading', props.className)} style={props.style}>\n <div className=\"local-loading-area\" ref={rootRef}></div>\n <div className=\"local-loading-content\">{children(respData)}</div>\n </div>\n </LocalLoadingCtxProvider>\n );\n});\n","import { TPlainObject } from '@flatbiz/utils';\nimport { fbaUtils } from '../fba-utils';\nimport { useLocalLoadingCtx } from './context';\nimport { LocalLoadingInner } from './local-loading';\n\n/**\n * 局部加载,包含接口数据处理逻辑\n * ```\n * 包括\n * 1. loading显示效果\n * 2. error显示效果\n * 3. 获取服务数据\n * 4. 当 serviceConfig.params 值与上一次值不相等时,会主动发起服务调用\n * ```\n */\nexport const LocalLoading = fbaUtils.attachPropertiesToComponent(LocalLoadingInner, {\n useLocalLoading: () => {\n const ctx = useLocalLoadingCtx();\n return {\n onRequest: (params?: TPlainObject) => {\n ctx.onRequest(params);\n },\n };\n },\n});\n"],"names":["_createCtx","_createCtx2","useLocalLoadingCtx","LocalLoadingCtxProvider","LocalLoadingInner","forwardRef","props","ref","serviceConfig","isAsync","children","errorRender","_useState","useState","status","setStatus","_useState2","respData","setRespData","loadingHeight","undefined","rootRef","useRef","loadingKeyRef","errorRef","prevParams","fbaHooks","usePrevious","params","serviceParams","useMemo","_serviceConfig$invali","toArray","invalidParamKey","length","newParams","_extends","forEach","key","openLoading","current","dynamicNode","append","content","_jsx","Spin","spinning","getContainer","elementId","closeLoading","remove","onInitRequest","Promise","$return","$error","$Try_1_Finally","$Try_1_Exit","$Try_1_Value","call","this","$boundEx","bind","_respData","$Try_1_Post","$Try_1_Catch","error","console","message","resolve","onRequest","then","$await_2","useEffectCustomAsync","useEffectCustom","_isDeepEqual","useImperativeHandle","onRefresh","value","_jsxs","className","Result","subTitle","extra","Button","type","ghost","size","onClick","setTimeout","style","height","display","justifyContent","position","backgroundColor","_classNames","LocalLoading","fbaUtils","attachPropertiesToComponent","useLocalLoading","ctx"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/local-loading/context.ts","@flatbiz/antd/src/local-loading/local-loading.tsx","@flatbiz/antd/src/local-loading/index.ts"],"sourcesContent":["import { TPlainObject } from '@flatbiz/utils';\nimport { createCtx } from '@wove/react';\n\nexport const [useLocalLoadingCtx, LocalLoadingCtxProvider] = createCtx<{\n onRequest: (params?: TPlainObject) => void;\n}>();\n","import { isDeepEqual } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { TAny, toArray, TPlainObject } from '@flatbiz/utils';\nimport { Button, Result, Spin } from 'antd';\nimport {\n CSSProperties,\n forwardRef,\n ReactElement,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { dynamicNode } from '../dynamic-node';\nimport { fbaHooks } from '../fba-hooks';\nimport { LocalLoadingCtxProvider } from './context';\nimport './style.less';\n\nexport type LocalLoadingServiceConfig = {\n onRequest: (params?: TAny) => Promise<TPlainObject>;\n params?: TPlainObject;\n /** 标记serviceConfig.params中无效参数,被设置的params key 不传入服务接口入参 */\n invalidParamKey?: string[];\n};\n\nexport interface LocalLoadingProps {\n /** 接口数据配置 */\n serviceConfig: LocalLoadingServiceConfig;\n /** children 为函数,参数【respData】为接口返回数据 */\n children: (respData?: TAny) => ReactElement;\n /**\n * 是否异步,默认:false\n * ```\n * true(异步):onRequest、react dom渲染同步执行\n * false(同步):onRequest有结果了才渲染 react dom\n * ```\n */\n isAsync?: boolean;\n /** 自定义异常渲染处理 */\n errorRender?: (error?: TAny) => ReactElement;\n /** loading高度,默认值:100;isAsync = true 无效 */\n loadingHeight?: number;\n className?: string;\n style?: CSSProperties;\n contentStyle?: CSSProperties;\n}\n\nexport type LocalLoadingRefApi = {\n onRefresh: (params?: TPlainObject) => void;\n};\n\n/**\n * 局部加载,包含接口数据处理逻辑\n * ```\n * 包括\n * 1. loading显示效果\n * 2. error显示效果\n * 3. 获取服务数据\n * 4. 当 serviceConfig.params 值与上一次值不相等时,会主动发起服务调用\n * ```\n * @param props\n * @returns\n */\nexport const LocalLoadingInner = forwardRef<LocalLoadingRefApi, LocalLoadingProps>((props, ref) => {\n const { serviceConfig, isAsync, children, errorRender } = props;\n const [status, setStatus] = useState<'success' | 'error' | 'init'>('init');\n const [respData, setRespData] = useState<TAny>();\n const loadingHeight = props.loadingHeight === undefined ? 100 : props.loadingHeight;\n const rootRef = useRef<HTMLDivElement>(null);\n const loadingKeyRef = useRef<string>();\n const errorRef = useRef<string>();\n\n const prevParams = fbaHooks.usePrevious(serviceConfig.params);\n\n // 用于直接发起接口调用,不能用于比较\n const serviceParams = useMemo(() => {\n if (!serviceConfig.params || toArray(serviceConfig.invalidParamKey).length === 0) {\n return serviceConfig.params;\n }\n const newParams = { ...serviceConfig.params };\n serviceConfig.invalidParamKey?.forEach((key) => {\n newParams[key] = undefined;\n });\n return newParams;\n }, [serviceConfig]);\n\n const openLoading = () => {\n errorRef.current = undefined;\n loadingKeyRef.current = dynamicNode.append({\n content: <Spin spinning={true}></Spin>,\n getContainer: () => {\n return rootRef.current as HTMLElement;\n },\n }).elementId;\n };\n\n const closeLoading = () => {\n dynamicNode.remove(loadingKeyRef.current);\n };\n\n const onInitRequest = async (params?: TPlainObject) => {\n try {\n openLoading();\n const respData = await serviceConfig.onRequest({\n ...serviceParams,\n ...params,\n });\n setStatus('success');\n setRespData(respData);\n } catch (error) {\n console.error(error);\n setStatus('error');\n errorRef.current = error.message;\n } finally {\n closeLoading();\n }\n };\n\n fbaHooks.useEffectCustomAsync(onInitRequest, []);\n\n fbaHooks.useEffectCustom(() => {\n if (prevParams) {\n if (!isDeepEqual(serviceConfig.params, prevParams)) {\n void onInitRequest();\n }\n }\n }, [prevParams, serviceConfig.params]);\n\n useImperativeHandle(ref, () => {\n return { onRefresh: onInitRequest };\n });\n\n if (status === 'error') {\n if (errorRender) {\n return errorRender(respData);\n }\n return (\n <LocalLoadingCtxProvider value={{ onRequest: onInitRequest }}>\n <div className=\"local-loading-error\">\n <div className=\"local-loading-area\" ref={rootRef}></div>\n <Result\n status=\"error\"\n subTitle={errorRef.current || '数据处理异常'}\n extra={[\n <Button\n type=\"primary\"\n ghost\n key=\"console\"\n size=\"small\"\n onClick={() => {\n setStatus('init');\n setTimeout(() => {\n void onInitRequest();\n }, 100);\n }}\n >\n 重新获取\n </Button>,\n ]}\n />\n </div>\n </LocalLoadingCtxProvider>\n );\n }\n\n if (status !== 'success' && !isAsync) {\n return (\n <div\n className=\"fba-local-loading-process\"\n style={{\n height: loadingHeight,\n display: 'flex',\n justifyContent: 'center',\n position: 'relative',\n backgroundColor: '#fff',\n }}\n >\n <div className=\"local-loading-area\" ref={rootRef}></div>\n </div>\n );\n }\n\n return (\n <LocalLoadingCtxProvider value={{ onRequest: onInitRequest }}>\n <div className={classNames('fba-local-loading', props.className)} style={props.style}>\n <div className=\"local-loading-area\" ref={rootRef}></div>\n <div className=\"local-loading-content\" style={props.contentStyle}>\n {children(respData)}\n </div>\n </div>\n </LocalLoadingCtxProvider>\n );\n});\n","import { TPlainObject } from '@flatbiz/utils';\nimport { fbaUtils } from '../fba-utils';\nimport { useLocalLoadingCtx } from './context';\nimport { LocalLoadingInner } from './local-loading';\n\n/**\n * 局部加载,包含接口数据处理逻辑\n * ```\n * 包括\n * 1. loading显示效果\n * 2. error显示效果\n * 3. 获取服务数据\n * 4. 当 serviceConfig.params 值与上一次值不相等时,会主动发起服务调用\n * ```\n */\nexport const LocalLoading = fbaUtils.attachPropertiesToComponent(LocalLoadingInner, {\n useLocalLoading: () => {\n const ctx = useLocalLoadingCtx();\n return {\n onRequest: (params?: TPlainObject) => {\n ctx.onRequest(params);\n },\n };\n },\n});\n"],"names":["_createCtx","_createCtx2","useLocalLoadingCtx","LocalLoadingCtxProvider","LocalLoadingInner","forwardRef","props","ref","serviceConfig","isAsync","children","errorRender","_useState","useState","status","setStatus","_useState2","respData","setRespData","loadingHeight","undefined","rootRef","useRef","loadingKeyRef","errorRef","prevParams","fbaHooks","usePrevious","params","serviceParams","useMemo","_serviceConfig$invali","toArray","invalidParamKey","length","newParams","_extends","forEach","key","openLoading","current","dynamicNode","append","content","_jsx","Spin","spinning","getContainer","elementId","closeLoading","remove","onInitRequest","Promise","$return","$error","$Try_1_Finally","$Try_1_Exit","$Try_1_Value","call","this","$boundEx","bind","_respData","$Try_1_Post","$Try_1_Catch","error","console","message","resolve","onRequest","then","$await_2","useEffectCustomAsync","useEffectCustom","_isDeepEqual","useImperativeHandle","onRefresh","value","_jsxs","className","Result","subTitle","extra","Button","type","ghost","size","onClick","setTimeout","style","height","display","justifyContent","position","backgroundColor","_classNames","contentStyle","LocalLoading","fbaUtils","attachPropertiesToComponent","useLocalLoading","ctx"],"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
|
-
export{P as PageFixedFooter}from"../page-fixed-footer-
|
|
4
|
+
export{P as PageFixedFooter}from"../page-fixed-footer-9ec2b46c.js";import"@dimjs/utils/cjs/class-names";import"react/jsx-runtime";
|
|
5
5
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
+
import{classNames as e}from"@dimjs/utils/cjs/class-names";import{jsx as r}from"react/jsx-runtime";var s=function s(i){if(i.hidden){return null}return r("div",{className:e("page-fixed-footer",i.className),style:i.style,children:i.children})};export{s as P};
|
|
3
|
+
//# sourceMappingURL=page-fixed-footer-9ec2b46c.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page-fixed-footer-9ec2b46c.js","sources":["@flatbiz/antd/src/page-fixed-footer/page-fixed-footer.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { CSSProperties, ReactNode } from 'react';\nimport './style.less';\n\nexport type PageFixedFooterProps = {\n className?: string;\n style?: CSSProperties;\n children?: ReactNode | ReactNode[];\n hidden?: boolean;\n};\n\nexport const PageFixedFooter = (props: PageFixedFooterProps) => {\n if (props.hidden) {\n return null;\n }\n return (\n <div className={classNames('page-fixed-footer', props.className)} style={props.style}>\n {props.children}\n </div>\n );\n};\n"],"names":["PageFixedFooter","props","hidden","_jsx","className","_classNames","style","children"],"mappings":";sGAWaA,EAAkB,SAAlBA,EAAmBC,GAC9B,GAAIA,EAAMC,OAAQ,CAChB,OAAO,IACT,CACA,OACEC,EAAA,MAAA,CAAKC,UAAWC,EAAW,oBAAqBJ,EAAMG,WAAYE,MAAOL,EAAMK,MAAMC,SAClFN,EAAMM,UAGb"}
|
|
@@ -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
|
-
export{t as tableCellRender}from"../cell-render-
|
|
11
|
+
export{t as tableCellRender}from"../cell-render-61a5922f.js";import"@dimjs/lang/cjs/is-string";import"@dimjs/lang/cjs/is-object";import"@dimjs/utils/cjs/get";import"@dimjs/lang/cjs/is-plain-object";import"../_rollupPluginBabelHelpers-1f4d8910.js";import"@dimjs/lang/cjs/is-number";import"@dimjs/lang/cjs/is-empty";import"@flatbiz/utils";import"antd";import"react";import"../button-operate-37069516.js";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-e833e139.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"react/jsx-runtime";import"../fba-utils-1e895394.js";import"../dropdown-menu-wrapper-3544d20e.js";import"../tag-list-select-066f682f.js";
|
|
12
12
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.fba-tabs-wrapper .ant-tabs-nav{margin:0}.fba-tabs-wrapper-fixed{height:100%;overflow:hidden}.fba-tabs-wrapper-fixed>.ant-tabs-content-holder{flex:1
|
|
1
|
+
.fba-tabs-wrapper .ant-tabs-nav{margin:0}.fba-tabs-wrapper-fixed{height:100%;overflow:hidden}.fba-tabs-wrapper-fixed>.ant-tabs-content-holder{flex:1}.fba-tabs-wrapper-fixed>.ant-tabs-content-holder>.ant-tabs-content{height:100%}.fba-tabs-wrapper-fixed>.ant-tabs-content-holder>.ant-tabs-content>.ant-tabs-tabpane{height:100%;overflow-y:auto}.fba-tabs-wrapper-hidden-header>.ant-tabs-nav{display:none}
|
|
@@ -9,5 +9,5 @@ import './../dropdown-menu-wrapper/index.css';
|
|
|
9
9
|
import './../input-search-wrapper/index.css';
|
|
10
10
|
import './index.css';
|
|
11
11
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
12
|
-
import{f as e}from"../fba-utils-1e895394.js";import{isArray as r}from"@dimjs/lang/cjs/is-array";import{Model as t}from"@dimjs/model-react";import{treeToArray as n,treeToTiledArray as a,treeLeafParentsArray as i,isUndefinedOrNull as l,toArray as u,treeFilter as s}from"@flatbiz/utils";import o from"@ant-design/icons/es/icons/CaretDownFilled";import c from"@ant-design/icons/es/icons/MoreOutlined";import{classNames as d}from"@dimjs/utils/cjs/class-names";import{extend as v}from"@dimjs/utils/cjs/extend";import{hooks as f}from"@wove/react/cjs/hooks";import{_ as p,a as m}from"../_rollupPluginBabelHelpers-1f4d8910.js";import{cloneState as h}from"@dimjs/model";import{Spin as g,Tree as y,Button as b,message as L}from"antd";import{forwardRef as C,useState as w,useMemo as j,useRef as R,useImperativeHandle as N,Fragment as q,isValidElement as k}from"react";import{a as S}from"../button-operate-697b2a94.js";import{D as T}from"../dropdown-menu-wrapper-3544d20e.js";import{fbaHooks as D}from"../fba-hooks/index.js";import{I as P}from"../input-search-wrapper-10d4a9b9.js";import{R as x}from"../request-status-03fc60e2.js";import{tree as E}from"@dimjs/utils/cjs/tree";import{isObject as A}from"@dimjs/lang/cjs/is-object";import{dequal as I}from"dequal";import{jsxs as _,jsx as O}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-e833e139.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"../use-responsive-point-21b8c601.js";var V={treeList:[],treeTiledArray:[],queryIsEmpty:false};var K={actions:{setTreeList:function e(r){return function(e){e.treeList=r.treeList||[];e.treeTiledArray=n(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(t){return function(e){var a=n(e.treeList,t.childrenName);var i=a.find((function(e){return e[t.valueName]===t.value}));if(i){if(r(t.appendList)&&t.appendList.length>0){i[t.childrenName]=t.appendList}else{i.isLeaf=true}}e.treeTiledArray=n(e.treeList,t.childrenName)}}},state:V};var F={};var M=function e(r){if(!F[r]){F[r]=t(K)}return F[r]};var U=function e(r){var t=M(r).getState();return t.treeList};var z=function e(r,t,n){var l=a(t,n);return i(r,l,true,{value:"value",parentValue:"parentValue"})};var B=function e(t,n){var a=l(t)?[]:t;a=r(a)?a:[a];a=a.map((function(e){if(A(e))return e[n.value];return e}));return a};var H=function e(r,t){var n=B(r,t);var a={};n.forEach((function(e){a[e]=true}));return a};var G=function e(r,t,n){if(l(r)&&l(t))return true;var a=H(r,n);var i=H(t,n);var u=I(a,i);return u};var W=function e(r,t,n){var a=n.node.key;var i=n.dragNode.key;var l=n.node.pos.split("-");var u=n.dropPosition-Number(l[l.length-1]);var s=t.value;var o=t.children;var c=function e(r,t,n){for(var a=0;a<r.length;a++){if(r[a][s]===t){return n(r[a],a,r)}if(r[a][o]){e(r[a][o],t,n)}}};var d=h(r);var v;c(d,i,(function(e,r,t){t.splice(r,1);v=e}));if(!n.dropToGap){c(d,a,(function(e){e[o]=e[o]||[];e[o].unshift(v)}))}else if((n.node.props.children||[]).length>0&&n.node.props.expanded&&u===1){c(d,a,(function(e){e[o]=e[o]||[];e[o].unshift(v)}))}else{var f=[];var p;c(d,a,(function(e,r,t){f=t;p=r}));if(u===-1){f.splice(p,0,v)}else{f.splice(p+1,0,v)}}return{dataList:d,dragNodeData:Y(i,d,t)}};var Y=function e(r,t,a){var i;var l=a.value;var u=a.children;E.walkThroughTree((i={},i[l]=undefined,i[u]=t,i),(function(e,r,t){e["__index"]=r;e["__parentId"]=t==null?void 0:t[l]}),u);var s=n(t,u);var o=s.find((function(e){return e[l]===r}));return{parentId:o==null?void 0:o["__parentId"],id:o==null?void 0:o[l],index:o==null?void 0:o["__index"]}};var J=["style","serviceConfig","effectDependencyList","selectorTreeList","value","onChange","modelKey","checkableResponseParentNode","checkable","onSelectorTreeListChange","onRequestResponseChange","treeItemDataAdapter","searchValue","showSearch","searchPlaceholder","requestMessageConfig","labelInValueFieldNames","labelInValue","disabledCanUse","menuLayoutType","menuTriggerType","initRootExpand","searchResultType","onDropNodeHandle","onDropPrev","labelRender","searchStyle","className"];var Q=C((function(e,t){var n=e.style,i=e.serviceConfig,C=e.effectDependencyList,E=e.selectorTreeList,A=e.value,I=e.onChange,V=e.modelKey,K=e.checkableResponseParentNode,F=K===void 0?true:K,U=e.checkable,H=e.onSelectorTreeListChange,Y=e.onRequestResponseChange,Q=e.treeItemDataAdapter,X=e.searchValue,Z=e.showSearch,$=e.searchPlaceholder,ee=e.requestMessageConfig,re=e.labelInValueFieldNames,te=e.labelInValue,ne=e.disabledCanUse,ae=e.menuLayoutType,ie=e.menuTriggerType,le=e.initRootExpand,ue=e.searchResultType,se=e.onDropNodeHandle,oe=e.onDropPrev,ce=e.labelRender,de=e.searchStyle,ve=e.className,fe=p(e,J);var pe=e.hasOwnProperty("selectorTreeList");var me=i||{};var he=C||[];var ge=w(),ye=ge[0],be=ge[1];var Le=M(V).useStore(),Ce=Le[0],we=Le[1];var je=D.useSafeState(false),Re=je[0],Ne=je[1];var qe="request-progress-"+e.modelKey;var ke=j((function(){return m({label:"label",value:"value",children:"children"},e.fieldNames)}),[e.fieldNames]);var Se=R();var Te=ae===undefined?"fold":ae;var De=ie===undefined?"click":ie;var Pe=U===true;var xe=j((function(){return m({label:"label",value:"value"},re)}),[re]);var Ee=w(),Ae=Ee[0],Ie=Ee[1];var _e=R(true);var Oe=w(0),Ve=Oe[0],Ke=Oe[1];var Fe=R();var Me=j((function(){var e=B(A,xe);return e}),[xe,A]);D.useEffectCustom((function(){if(l(A)&&_e.current||Ce.treeList.length==0)return;_e.current=false;if(!G(A,Fe.current,xe)){console.log("modelKey:"+V+" TreeWrapper key refresh",A,Fe.current);Fe.current=Pe?Me:Me[0];var e=Ge(Me,true);be(Array.from(new Set(e)));Se.current=Me;Ke(Date.now())}}),[A,Ce.treeList]);var Ue=function e(r){return r===""||l(r)};var ze=function e(r){var t=me.onRequestResultAdapter?me.onRequestResultAdapter(r):r;return t};D.useEffectCustom((function(){Ie(X)}),[X]);var Be=f.useCallbackRef((function(){return new Promise((function(e,r){var t,n,a,i,l;var s=function(){try{return e()}catch(e){return r(e)}};var o=function(e){try{Ne(false);void L.error(e.message||"数据查询异常...");return s()}catch(e){return r(e)}};try{if(!me.onRequest){throw new Error("onRequest 调用接口服务不能为空")}t=me.requiredParamsKeys;n=v({},me.params);if(t){a=t.find((function(e){return Ue(n[e])}));if(a){console.warn("TreeWrapper组件:参数:"+t.join("、")+"不能为空");return e()}}var c=function(){try{return s()}catch(e){return o(e)}};var d=function(e){try{window[qe]=false;Ne(false);void we.changeRequestStatus("request-error");return c()}catch(e){return o(e)}};try{Ne(true);return Promise.resolve(we.changeRequestStatus("request-progress")).then((function(e){try{window[qe]=true;return Promise.resolve(me.onRequest==null?void 0:me.onRequest(n)).then((function(e){try{i=e;Y==null?void 0:Y(i);l=ze(i);He(l||[]);Ne(false);if(le&&u(l).length){be([l==null?void 0:l[0][ke.value]])}window[qe]=false;return c()}catch(e){return d(e)}}),d)}catch(e){return d(e)}}),d)}catch(e){d(e)}}catch(e){o(e)}}))}));D.useEffectCustom((function(){if(pe)return;if(Boolean(he.length)){void Be();return}var e=M(V).getState();if(e.requestStatus==="request-success"){H==null?void 0:H(e.treeList);return}if(!window[qe]){void Be()}else{H==null?void 0:H(e.treeList)}}),he);D.useEffectCustom((function(){if(pe){He(E||[])}}),[E]);var He=f.useCallbackRef((function(e){if((e==null?void 0:e.length)===0&&Ce.treeList.length===0){void we.changeRequestStatus("request-success");return}void we.setTreeList({treeList:e||[],childrenName:ke.children});H==null?void 0:H(e)}));var Ge=f.useCallbackRef((function(e,r){var t=[];e.forEach((function(e){if(!r&&ye!=null&&ye.includes(e))return;var n=z(e,Ce.treeList,ke);t=t.concat(n.map((function(e){return e.value})))}));return t}));f.useUpdateEffect((function(){if(Ae){var e=a(Ce.treeList||[],ke);var r=e.filter((function(e){var r;return(r=e.label)==null?void 0:r.includes(Ae||"")}));be((function(e){var t=Ge(r.map((function(e){return e.value}))).concat(e||[]);return Array.from(new Set(t))}))}else{be([])}}),[Ae]);N(t,(function(){return{onClearSelectorList:function e(){void we.resetTreeList()},getTreeDataList:function e(){return Ce.treeList}}}));var We=f.useCallbackRef((function(e){be(e)}));var Ye=f.useCallbackRef((function(e,t,n){Fe.current=e;var a=l(t)?[]:r(t)?t:[t];if(l(e)){I==null?void 0:I(e,t,n);return}if(te){var i=xe.label;var u=xe.value;var s=a.map((function(e){var r;return r={},r[i]=e[ke.label],r[u]=e[ke.value],r}));if(r(e)){I==null?void 0:I(s,a,n)}else{I==null?void 0:I(s[0],a[0],n)}}else{if(r(e)){I==null?void 0:I(e,a,n)}else{I==null?void 0:I(e,a[0],n)}}}));var Je=f.useCallbackRef((function(t,n){var a=e.checkStrictly?t.checked:t;a=l(t)?[]:t;a=r(a)?a:[a];var i=[];var u=[];var s=[];var o=[];a.forEach((function(e){var t=Ce.treeTiledArray.find((function(r){return r[ke.value]===e}));if(!t)return;var n=t==null?void 0:t[ke.children];if(!r(n)||n.length===0){i.push(t);u.push(t[ke.value])}s.push(t);o.push(t[ke.value])}));if(U){be((function(e){var r=Ge(u).concat(e||[]);return Array.from(new Set(r))}));if(!F&&!e.checkStrictly){Ye(u,i,s)}else{Ye(o,s,s)}}else{if(a[0]){var c=s.find((function(e){return e[ke.value]===a[0]}));Ye(a[0],c,[c])}else{var d=n.node[ke.value];var v=Ce.treeTiledArray.find((function(e){return e[ke.value]===d}));Ye(undefined,v,[v])}}}));var Qe=f.useCallbackRef((function(e){return Q==null?void 0:Q(e)}));var Xe=j((function(){var e=h(Ce.treeList||[]);if(Ae&&ue!=="highlight"){return s(h(Ce.treeList||[]),(function(e){var r;var t=(r=e[ke.label])==null?void 0:r.toLowerCase();return t.indexOf(Ae.toLowerCase())>=0}),{childrenName:ke.children})}return e}),[ke.children,ke.label,ue,Ce.treeList,Ae]);var Ze=j((function(){var e=function e(t){return t==null?void 0:t.map((function(t){var n;var a=(Qe==null?void 0:Qe(t))||t;var i=ne?undefined:a.disabled;var l=a[ke.label];var u;if(Ae){var s=l.indexOf(Ae);var o=l.substring(0,s);var c=l.slice(s+Ae.length);u=s>-1?_("span",{className:d({"v-tree-item-disabled":a.disabled}),children:[o,O("span",{className:"site-tree-search-value",children:Ae}),c]}):null}if(!u){u=O("span",{className:d({"v-tree-item-disabled":a.disabled}),children:l})}var v=a[ke.children];return m({},a,(n={disabled:i},n[ke.label]=u,n._treeItemName=l,n._disabled=a.disabled,n[ke.children]=r(v)&&v.length>0?e(v):undefined,n))}))};return e(Xe)}),[Xe,Qe,ne,ke.label,ke.children,Ae]);var $e=f.useCallbackRef((function(r){return new Promise((function(t,n){return new Promise((function(a,i){var l,u,s,o;if(r[ke.children]){t();return a()}var c=function(){try{return a()}catch(e){return i(e)}};var d=function(e){try{void L.error(e.message||"数据加载异常...");n();return c()}catch(e){return i(e)}};try{return Promise.resolve((l=e.loadDataServiceConfig)==null?void 0:l.onRequest==null?void 0:l.onRequest((u=e.loadDataServiceConfig)==null?void 0:u.getParams==null?void 0:u.getParams(r))).then((function(e){try{s=e;o=me.onRequestResultAdapter?me.onRequestResultAdapter(s):s;void we.treeListAppendChildren({value:r[ke.value],appendList:o,childrenName:ke.children,valueName:ke.value}).then((function(e){He(e.treeList);t()}));return c()}catch(e){return d(e)}}),d)}catch(e){d(e)}}))}))}));var er=f.useCallbackRef((function(r){var t=r==null?void 0:r[ke.children];var n=e.loadDataFlag;var a=n?!r.isLeaf:false;var i=t&&t.length>0||a;return!i}));var rr=f.useCallbackRef((function(r){var t,n;var a=r._treeItemName||r[ke.label];if(Te==="fold"){var i;var l=[];if((i=e.menuOptions)!=null&&i.fold){var u,s,o;l=((u=e.menuOptions)==null?void 0:(s=u[Te])==null?void 0:s.call(u,m({},r,(o={},o[ke.label]=a,o))))||[]}else{var v;l=(e.getMenuOptions==null?void 0:e.getMenuOptions(m({},r,(v={},v[ke.label]=a,v))))||[]}return _(q,{children:[O("span",{className:"tree-item-title",children:(ce==null?void 0:ce(r))||(r==null?void 0:r[ke.label])}),l.length>0&&O(T,{menuList:l,children:O(c,{})})]})}var f=(t=e.menuOptions)==null?void 0:t.tile==null?void 0:t.tile(m({},r,(n={},n[ke.label]=a,n)));return _(q,{children:[O("span",{className:"tree-item-title",children:(ce==null?void 0:ce(r))||(r==null?void 0:r[ke.label])}),f?O(S,m({},f,{gap:5,className:d("tree-item-title-operate",f.className)})):null]})}));var tr=f.useDebounceCallback((function(r){Ie(r);e.onSearchValueChange==null?void 0:e.onSearchValueChange(r)}),300);var nr=f.useCallbackRef((function(e){tr(e.target.value)}));var ar=f.useCallbackRef((function(r){if(!e.icon)return null;if(k(e.icon))return e.icon;var t=er(r.data);return e.icon(m({},r,{isParent:!t,isLeaf:t}))}));var ir=j((function(){return{title:ke.label,key:ke.value,children:ke.children}}),[ke]);var lr=Ze.length>0&&Ce.requestStatus!=="request-error";var ur=m({showLine:{showLeafIcon:false},titleRender:rr,blockNode:true,switcherIcon:O(o,{}),onDrop:function e(r){if(oe){var t=oe(r);if(!t)return}var n=W(Xe,ke,r),a=n.dataList,i=n.dragNodeData;se==null?void 0:se(i);He(a)}},fe,{fieldNames:ir,expandedKeys:ye,treeData:Ze,onExpand:We,loadData:e.loadDataFlag?$e:undefined,style:{width:"100%"},icon:ar});var sr={onCheck:Je,checkable:U,defaultCheckedKeys:Se.current};var or={onSelect:Je,multiple:false,defaultSelectedKeys:Se.current};var cr=U?sr:or;var dr=d("v-tree-wrapper","v-tree-wrapper-menu-"+De,ve);var vr=Ce.treeList.length>0&&!lr&&Ae;return _("div",{className:dr,style:n,children:[!!Z&&_("div",{className:"v-tree-wrapper-search-area",style:de,children:[O(P,{className:"v-tree-wrapper-search",placeholder:$,onChange:nr,value:X,allowClear:true}),!!e.searchExtraElement&&O("span",{className:"v-tree-wrapper-search-extra",children:e.searchExtraElement})]}),lr?_("div",{className:"v-tree-wrapper-tree-wrapper",children:[O(g,{spinning:Ce.requestStatus==="request-progress"}),O(y,m({},cr,ur,{className:"v-tree-wrapper-tree"}),Ve)]}):O(x,{status:Ce.requestStatus,loading:Re,messageConfig:m({"request-success":vr?"搜索结果为空":"暂无数据"},ee),errorButton:O(b,{type:"primary",onClick:Be,children:"重新获取数据"})})]})}));Q.defaultProps={disabledCanUse:true};var X=e.attachPropertiesToComponent(Q,{getTreeDataList:U});export{X as TreeWrapper};
|
|
12
|
+
import{f as e}from"../fba-utils-1e895394.js";import{isArray as r}from"@dimjs/lang/cjs/is-array";import{Model as t}from"@dimjs/model-react";import{treeToArray as n,treeToTiledArray as a,treeLeafParentsArray as i,isUndefinedOrNull as l,toArray as u,treeFilter as s}from"@flatbiz/utils";import o from"@ant-design/icons/es/icons/CaretDownFilled";import c from"@ant-design/icons/es/icons/MoreOutlined";import{classNames as d}from"@dimjs/utils/cjs/class-names";import{extend as v}from"@dimjs/utils/cjs/extend";import{hooks as f}from"@wove/react/cjs/hooks";import{_ as p,a as m}from"../_rollupPluginBabelHelpers-1f4d8910.js";import{cloneState as h}from"@dimjs/model";import{Spin as g,Tree as y,Button as b,message as L}from"antd";import{forwardRef as C,useState as w,useMemo as j,useRef as R,useImperativeHandle as N,Fragment as q,isValidElement as k}from"react";import{a as S}from"../button-operate-37069516.js";import{D as T}from"../dropdown-menu-wrapper-3544d20e.js";import{fbaHooks as D}from"../fba-hooks/index.js";import{I as P}from"../input-search-wrapper-10d4a9b9.js";import{R as x}from"../request-status-03fc60e2.js";import{tree as E}from"@dimjs/utils/cjs/tree";import{isObject as A}from"@dimjs/lang/cjs/is-object";import{dequal as I}from"dequal";import{jsxs as _,jsx as O}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-e833e139.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"../use-responsive-point-21b8c601.js";var V={treeList:[],treeTiledArray:[],queryIsEmpty:false};var K={actions:{setTreeList:function e(r){return function(e){e.treeList=r.treeList||[];e.treeTiledArray=n(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(t){return function(e){var a=n(e.treeList,t.childrenName);var i=a.find((function(e){return e[t.valueName]===t.value}));if(i){if(r(t.appendList)&&t.appendList.length>0){i[t.childrenName]=t.appendList}else{i.isLeaf=true}}e.treeTiledArray=n(e.treeList,t.childrenName)}}},state:V};var F={};var M=function e(r){if(!F[r]){F[r]=t(K)}return F[r]};var U=function e(r){var t=M(r).getState();return t.treeList};var z=function e(r,t,n){var l=a(t,n);return i(r,l,true,{value:"value",parentValue:"parentValue"})};var B=function e(t,n){var a=l(t)?[]:t;a=r(a)?a:[a];a=a.map((function(e){if(A(e))return e[n.value];return e}));return a};var H=function e(r,t){var n=B(r,t);var a={};n.forEach((function(e){a[e]=true}));return a};var G=function e(r,t,n){if(l(r)&&l(t))return true;var a=H(r,n);var i=H(t,n);var u=I(a,i);return u};var W=function e(r,t,n){var a=n.node.key;var i=n.dragNode.key;var l=n.node.pos.split("-");var u=n.dropPosition-Number(l[l.length-1]);var s=t.value;var o=t.children;var c=function e(r,t,n){for(var a=0;a<r.length;a++){if(r[a][s]===t){return n(r[a],a,r)}if(r[a][o]){e(r[a][o],t,n)}}};var d=h(r);var v;c(d,i,(function(e,r,t){t.splice(r,1);v=e}));if(!n.dropToGap){c(d,a,(function(e){e[o]=e[o]||[];e[o].unshift(v)}))}else if((n.node.props.children||[]).length>0&&n.node.props.expanded&&u===1){c(d,a,(function(e){e[o]=e[o]||[];e[o].unshift(v)}))}else{var f=[];var p;c(d,a,(function(e,r,t){f=t;p=r}));if(u===-1){f.splice(p,0,v)}else{f.splice(p+1,0,v)}}return{dataList:d,dragNodeData:Y(i,d,t)}};var Y=function e(r,t,a){var i;var l=a.value;var u=a.children;E.walkThroughTree((i={},i[l]=undefined,i[u]=t,i),(function(e,r,t){e["__index"]=r;e["__parentId"]=t==null?void 0:t[l]}),u);var s=n(t,u);var o=s.find((function(e){return e[l]===r}));return{parentId:o==null?void 0:o["__parentId"],id:o==null?void 0:o[l],index:o==null?void 0:o["__index"]}};var J=["style","serviceConfig","effectDependencyList","selectorTreeList","value","onChange","modelKey","checkableResponseParentNode","checkable","onSelectorTreeListChange","onRequestResponseChange","treeItemDataAdapter","searchValue","showSearch","searchPlaceholder","requestMessageConfig","labelInValueFieldNames","labelInValue","disabledCanUse","menuLayoutType","menuTriggerType","initRootExpand","searchResultType","onDropNodeHandle","onDropPrev","labelRender","searchStyle","className"];var Q=C((function(e,t){var n=e.style,i=e.serviceConfig,C=e.effectDependencyList,E=e.selectorTreeList,A=e.value,I=e.onChange,V=e.modelKey,K=e.checkableResponseParentNode,F=K===void 0?true:K,U=e.checkable,H=e.onSelectorTreeListChange,Y=e.onRequestResponseChange,Q=e.treeItemDataAdapter,X=e.searchValue,Z=e.showSearch,$=e.searchPlaceholder,ee=e.requestMessageConfig,re=e.labelInValueFieldNames,te=e.labelInValue,ne=e.disabledCanUse,ae=e.menuLayoutType,ie=e.menuTriggerType,le=e.initRootExpand,ue=e.searchResultType,se=e.onDropNodeHandle,oe=e.onDropPrev,ce=e.labelRender,de=e.searchStyle,ve=e.className,fe=p(e,J);var pe=e.hasOwnProperty("selectorTreeList");var me=i||{};var he=C||[];var ge=w(),ye=ge[0],be=ge[1];var Le=M(V).useStore(),Ce=Le[0],we=Le[1];var je=D.useSafeState(false),Re=je[0],Ne=je[1];var qe="request-progress-"+e.modelKey;var ke=j((function(){return m({label:"label",value:"value",children:"children"},e.fieldNames)}),[e.fieldNames]);var Se=R();var Te=ae===undefined?"fold":ae;var De=ie===undefined?"click":ie;var Pe=U===true;var xe=j((function(){return m({label:"label",value:"value"},re)}),[re]);var Ee=w(),Ae=Ee[0],Ie=Ee[1];var _e=R(true);var Oe=w(0),Ve=Oe[0],Ke=Oe[1];var Fe=R();var Me=j((function(){var e=B(A,xe);return e}),[xe,A]);D.useEffectCustom((function(){if(l(A)&&_e.current||Ce.treeList.length==0)return;_e.current=false;if(!G(A,Fe.current,xe)){console.log("modelKey:"+V+" TreeWrapper key refresh",A,Fe.current);Fe.current=Pe?Me:Me[0];var e=Ge(Me,true);be(Array.from(new Set(e)));Se.current=Me;Ke(Date.now())}}),[A,Ce.treeList]);var Ue=function e(r){return r===""||l(r)};var ze=function e(r){var t=me.onRequestResultAdapter?me.onRequestResultAdapter(r):r;return t};D.useEffectCustom((function(){Ie(X)}),[X]);var Be=f.useCallbackRef((function(){return new Promise((function(e,r){var t,n,a,i,l;var s=function(){try{return e()}catch(e){return r(e)}};var o=function(e){try{Ne(false);void L.error(e.message||"数据查询异常...");return s()}catch(e){return r(e)}};try{if(!me.onRequest){throw new Error("onRequest 调用接口服务不能为空")}t=me.requiredParamsKeys;n=v({},me.params);if(t){a=t.find((function(e){return Ue(n[e])}));if(a){console.warn("TreeWrapper组件:参数:"+t.join("、")+"不能为空");return e()}}var c=function(){try{return s()}catch(e){return o(e)}};var d=function(e){try{window[qe]=false;Ne(false);void we.changeRequestStatus("request-error");return c()}catch(e){return o(e)}};try{Ne(true);return Promise.resolve(we.changeRequestStatus("request-progress")).then((function(e){try{window[qe]=true;return Promise.resolve(me.onRequest==null?void 0:me.onRequest(n)).then((function(e){try{i=e;Y==null?void 0:Y(i);l=ze(i);He(l||[]);Ne(false);if(le&&u(l).length){be([l==null?void 0:l[0][ke.value]])}window[qe]=false;return c()}catch(e){return d(e)}}),d)}catch(e){return d(e)}}),d)}catch(e){d(e)}}catch(e){o(e)}}))}));D.useEffectCustom((function(){if(pe)return;if(Boolean(he.length)){void Be();return}var e=M(V).getState();if(e.requestStatus==="request-success"){H==null?void 0:H(e.treeList);return}if(!window[qe]){void Be()}else{H==null?void 0:H(e.treeList)}}),he);D.useEffectCustom((function(){if(pe){He(E||[])}}),[E]);var He=f.useCallbackRef((function(e){if((e==null?void 0:e.length)===0&&Ce.treeList.length===0){void we.changeRequestStatus("request-success");return}void we.setTreeList({treeList:e||[],childrenName:ke.children});H==null?void 0:H(e)}));var Ge=f.useCallbackRef((function(e,r){var t=[];e.forEach((function(e){if(!r&&ye!=null&&ye.includes(e))return;var n=z(e,Ce.treeList,ke);t=t.concat(n.map((function(e){return e.value})))}));return t}));f.useUpdateEffect((function(){if(Ae){var e=a(Ce.treeList||[],ke);var r=e.filter((function(e){var r;return(r=e.label)==null?void 0:r.includes(Ae||"")}));be((function(e){var t=Ge(r.map((function(e){return e.value}))).concat(e||[]);return Array.from(new Set(t))}))}else{be([])}}),[Ae]);N(t,(function(){return{onClearSelectorList:function e(){void we.resetTreeList()},getTreeDataList:function e(){return Ce.treeList}}}));var We=f.useCallbackRef((function(e){be(e)}));var Ye=f.useCallbackRef((function(e,t,n){Fe.current=e;var a=l(t)?[]:r(t)?t:[t];if(l(e)){I==null?void 0:I(e,t,n);return}if(te){var i=xe.label;var u=xe.value;var s=a.map((function(e){var r;return r={},r[i]=e[ke.label],r[u]=e[ke.value],r}));if(r(e)){I==null?void 0:I(s,a,n)}else{I==null?void 0:I(s[0],a[0],n)}}else{if(r(e)){I==null?void 0:I(e,a,n)}else{I==null?void 0:I(e,a[0],n)}}}));var Je=f.useCallbackRef((function(t,n){var a=e.checkStrictly?t.checked:t;a=l(t)?[]:t;a=r(a)?a:[a];var i=[];var u=[];var s=[];var o=[];a.forEach((function(e){var t=Ce.treeTiledArray.find((function(r){return r[ke.value]===e}));if(!t)return;var n=t==null?void 0:t[ke.children];if(!r(n)||n.length===0){i.push(t);u.push(t[ke.value])}s.push(t);o.push(t[ke.value])}));if(U){be((function(e){var r=Ge(u).concat(e||[]);return Array.from(new Set(r))}));if(!F&&!e.checkStrictly){Ye(u,i,s)}else{Ye(o,s,s)}}else{if(a[0]){var c=s.find((function(e){return e[ke.value]===a[0]}));Ye(a[0],c,[c])}else{var d=n.node[ke.value];var v=Ce.treeTiledArray.find((function(e){return e[ke.value]===d}));Ye(undefined,v,[v])}}}));var Qe=f.useCallbackRef((function(e){return Q==null?void 0:Q(e)}));var Xe=j((function(){var e=h(Ce.treeList||[]);if(Ae&&ue!=="highlight"){return s(h(Ce.treeList||[]),(function(e){var r;var t=(r=e[ke.label])==null?void 0:r.toLowerCase();return t.indexOf(Ae.toLowerCase())>=0}),{childrenName:ke.children})}return e}),[ke.children,ke.label,ue,Ce.treeList,Ae]);var Ze=j((function(){var e=function e(t){return t==null?void 0:t.map((function(t){var n;var a=(Qe==null?void 0:Qe(t))||t;var i=ne?undefined:a.disabled;var l=a[ke.label];var u;if(Ae){var s=l.indexOf(Ae);var o=l.substring(0,s);var c=l.slice(s+Ae.length);u=s>-1?_("span",{className:d({"v-tree-item-disabled":a.disabled}),children:[o,O("span",{className:"site-tree-search-value",children:Ae}),c]}):null}if(!u){u=O("span",{className:d({"v-tree-item-disabled":a.disabled}),children:l})}var v=a[ke.children];return m({},a,(n={disabled:i},n[ke.label]=u,n._treeItemName=l,n._disabled=a.disabled,n[ke.children]=r(v)&&v.length>0?e(v):undefined,n))}))};return e(Xe)}),[Xe,Qe,ne,ke.label,ke.children,Ae]);var $e=f.useCallbackRef((function(r){return new Promise((function(t,n){return new Promise((function(a,i){var l,u,s,o;if(r[ke.children]){t();return a()}var c=function(){try{return a()}catch(e){return i(e)}};var d=function(e){try{void L.error(e.message||"数据加载异常...");n();return c()}catch(e){return i(e)}};try{return Promise.resolve((l=e.loadDataServiceConfig)==null?void 0:l.onRequest==null?void 0:l.onRequest((u=e.loadDataServiceConfig)==null?void 0:u.getParams==null?void 0:u.getParams(r))).then((function(e){try{s=e;o=me.onRequestResultAdapter?me.onRequestResultAdapter(s):s;void we.treeListAppendChildren({value:r[ke.value],appendList:o,childrenName:ke.children,valueName:ke.value}).then((function(e){He(e.treeList);t()}));return c()}catch(e){return d(e)}}),d)}catch(e){d(e)}}))}))}));var er=f.useCallbackRef((function(r){var t=r==null?void 0:r[ke.children];var n=e.loadDataFlag;var a=n?!r.isLeaf:false;var i=t&&t.length>0||a;return!i}));var rr=f.useCallbackRef((function(r){var t,n;var a=r._treeItemName||r[ke.label];if(Te==="fold"){var i;var l=[];if((i=e.menuOptions)!=null&&i.fold){var u,s,o;l=((u=e.menuOptions)==null?void 0:(s=u[Te])==null?void 0:s.call(u,m({},r,(o={},o[ke.label]=a,o))))||[]}else{var v;l=(e.getMenuOptions==null?void 0:e.getMenuOptions(m({},r,(v={},v[ke.label]=a,v))))||[]}return _(q,{children:[O("span",{className:"tree-item-title",children:(ce==null?void 0:ce(r))||(r==null?void 0:r[ke.label])}),l.length>0&&O(T,{menuList:l,children:O(c,{})})]})}var f=(t=e.menuOptions)==null?void 0:t.tile==null?void 0:t.tile(m({},r,(n={},n[ke.label]=a,n)));return _(q,{children:[O("span",{className:"tree-item-title",children:(ce==null?void 0:ce(r))||(r==null?void 0:r[ke.label])}),f?O(S,m({},f,{gap:5,className:d("tree-item-title-operate",f.className)})):null]})}));var tr=f.useDebounceCallback((function(r){Ie(r);e.onSearchValueChange==null?void 0:e.onSearchValueChange(r)}),300);var nr=f.useCallbackRef((function(e){tr(e.target.value)}));var ar=f.useCallbackRef((function(r){if(!e.icon)return null;if(k(e.icon))return e.icon;var t=er(r.data);return e.icon(m({},r,{isParent:!t,isLeaf:t}))}));var ir=j((function(){return{title:ke.label,key:ke.value,children:ke.children}}),[ke]);var lr=Ze.length>0&&Ce.requestStatus!=="request-error";var ur=m({showLine:{showLeafIcon:false},titleRender:rr,blockNode:true,switcherIcon:O(o,{}),onDrop:function e(r){if(oe){var t=oe(r);if(!t)return}var n=W(Xe,ke,r),a=n.dataList,i=n.dragNodeData;se==null?void 0:se(i);He(a)}},fe,{fieldNames:ir,expandedKeys:ye,treeData:Ze,onExpand:We,loadData:e.loadDataFlag?$e:undefined,style:{width:"100%"},icon:ar});var sr={onCheck:Je,checkable:U,defaultCheckedKeys:Se.current};var or={onSelect:Je,multiple:false,defaultSelectedKeys:Se.current};var cr=U?sr:or;var dr=d("v-tree-wrapper","v-tree-wrapper-menu-"+De,ve);var vr=Ce.treeList.length>0&&!lr&&Ae;return _("div",{className:dr,style:n,children:[!!Z&&_("div",{className:"v-tree-wrapper-search-area",style:de,children:[O(P,{className:"v-tree-wrapper-search",placeholder:$,onChange:nr,value:X,allowClear:true}),!!e.searchExtraElement&&O("span",{className:"v-tree-wrapper-search-extra",children:e.searchExtraElement})]}),lr?_("div",{className:"v-tree-wrapper-tree-wrapper",children:[O(g,{spinning:Ce.requestStatus==="request-progress"}),O(y,m({},cr,ur,{className:"v-tree-wrapper-tree"}),Ve)]}):O(x,{status:Ce.requestStatus,loading:Re,messageConfig:m({"request-success":vr?"搜索结果为空":"暂无数据"},ee),errorButton:O(b,{type:"primary",onClick:Be,children:"重新获取数据"})})]})}));Q.defaultProps={disabledCanUse:true};var X=e.attachPropertiesToComponent(Q,{getTreeDataList:U});export{X as TreeWrapper};
|
|
13
13
|
//# sourceMappingURL=index.js.map
|
package/index.d.ts
CHANGED
|
@@ -642,7 +642,7 @@ export type EasyTableRefApi = {
|
|
|
642
642
|
/** 重置请求 */
|
|
643
643
|
onResetRequest: (params?: TPlainObject) => void;
|
|
644
644
|
/** 接口数据源 */
|
|
645
|
-
getDataSource: (
|
|
645
|
+
getDataSource: () => TAny;
|
|
646
646
|
};
|
|
647
647
|
export type EasyTableServiceConfig = {
|
|
648
648
|
/** 接口配置 */
|
|
@@ -662,7 +662,7 @@ export type EasyTableServiceConfig = {
|
|
|
662
662
|
requestResultAdapter?: (params: TAny) => TPlainObject;
|
|
663
663
|
};
|
|
664
664
|
export type EasyTableProps = {
|
|
665
|
-
children: ReactElement | ReactElement[];
|
|
665
|
+
children: ReactElement | ReactElement[] | ((dataSource?: TAny) => ReactElement);
|
|
666
666
|
/** EasyTable唯一值,可用于缓存查询条件 */
|
|
667
667
|
modelKey: string;
|
|
668
668
|
/** 接口数据配置 */
|
|
@@ -1510,6 +1510,7 @@ export interface LocalLoadingProps {
|
|
|
1510
1510
|
loadingHeight?: number;
|
|
1511
1511
|
className?: string;
|
|
1512
1512
|
style?: CSSProperties;
|
|
1513
|
+
contentStyle?: CSSProperties;
|
|
1513
1514
|
}
|
|
1514
1515
|
export type LocalLoadingRefApi = {
|
|
1515
1516
|
onRefresh: (params?: TPlainObject) => void;
|
|
@@ -1596,8 +1597,9 @@ export type PageFixedFooterProps = {
|
|
|
1596
1597
|
className?: string;
|
|
1597
1598
|
style?: CSSProperties;
|
|
1598
1599
|
children?: ReactNode | ReactNode[];
|
|
1600
|
+
hidden?: boolean;
|
|
1599
1601
|
};
|
|
1600
|
-
export declare const PageFixedFooter: (props: PageFixedFooterProps) => JSX.Element;
|
|
1602
|
+
export declare const PageFixedFooter: (props: PageFixedFooterProps) => JSX.Element | null;
|
|
1601
1603
|
export type Page404Props = {
|
|
1602
1604
|
message?: string;
|
|
1603
1605
|
};
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"button-operate-697b2a94.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, hoverTips, ...otherProps } =\n item;\n const type = item.type || 'link';\n if (needConfirm && !otherProps.disabled) {\n const danger = !!item.color ? false : true;\n return (\n <ButtonOperateItemContent hoverTips={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={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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"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
import{classNames as e}from"@dimjs/utils/cjs/class-names";import{jsx as s}from"react/jsx-runtime";var r=function r(t){return s("div",{className:e("page-fixed-footer",t.className),style:t.style,children:t.children})};export{r as P};
|
|
3
|
-
//# sourceMappingURL=page-fixed-footer-5fa10112.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"page-fixed-footer-5fa10112.js","sources":["@flatbiz/antd/src/page-fixed-footer/page-fixed-footer.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { CSSProperties, ReactNode } from 'react';\nimport './style.less';\n\nexport type PageFixedFooterProps = {\n className?: string;\n style?: CSSProperties;\n children?: ReactNode | ReactNode[];\n};\n\nexport const PageFixedFooter = (props: PageFixedFooterProps) => {\n return (\n <div className={classNames('page-fixed-footer', props.className)} style={props.style}>\n {props.children}\n </div>\n );\n};\n"],"names":["PageFixedFooter","props","_jsx","className","_classNames","style","children"],"mappings":";sGAUaA,EAAkB,SAAlBA,EAAmBC,GAC9B,OACEC,EAAA,MAAA,CAAKC,UAAWC,EAAW,oBAAqBH,EAAME,WAAYE,MAAOJ,EAAMI,MAAMC,SAClFL,EAAMK,UAGb"}
|