@flatbiz/antd 4.5.35 → 4.5.37
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/button-operate/index.css +1 -1
- package/esm/button-operate/index.js +3 -4
- package/esm/button-operate/index.js.map +1 -1
- package/esm/dialog-preview-image/index.css +0 -0
- package/esm/dialog-preview-image/index.js +6 -0
- package/esm/dialog-preview-image/index.js.map +1 -0
- package/esm/drag-editable-table/index.js +1 -2
- package/esm/easy-table/index.js +1 -1
- package/esm/easy-table/index.js.map +1 -1
- package/esm/editable-card/index.js +1 -1
- package/esm/editable-card/index.js.map +1 -1
- package/esm/editable-table/index.js +1 -2
- package/esm/form-item-wrapper/index.js +1 -1
- package/esm/form-item-wrapper/index.js.map +1 -1
- package/esm/index.js +3 -2
- package/esm/selector-wrapper/index.js +1 -1
- package/esm/selector-wrapper/index.js.map +1 -1
- package/esm/styles/index.css +1 -1
- package/esm/table-cell-render/index.js +2 -3
- package/esm/tree-modal/index.js +2 -2
- package/esm/tree-modal-selector/index.js +2 -2
- package/esm/tree-selector-wrapper/index.js +1 -1
- package/esm/tree-selector-wrapper/index.js.map +1 -1
- package/esm/tree-wrapper/index.js +4 -4
- package/esm/tree-wrapper/index.js.map +1 -1
- package/index.d.ts +19 -4
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
.table-operate{padding:0 5px}.table-operate .ant-btn-link{border-radius:4px;height:auto;padding:0 6px}.table-operate .ant-btn-link:hover{background-color:rgba(0,0,0,.03)!important}.table-operate .ant-btn-link:hover span{transform:scale(1.05);transition:all .1s ease-in}.table-operate .ant-btn-link .anticon{margin:0}.table-operate .ant-divider{margin:0 4px}.table-operate .dropdown-menu-wrapper{align-items:center;display:flex;justify-content:center}.fold-more-button .anticon-more{transform:rotate(90deg)}.fold-more-button:hover .anticon-more{transform:scale(1.3) rotate(90deg)!important}
|
|
1
|
+
.bw-center-loading{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.ant-btn.button-remove-gap{height:auto;line-height:normal;margin:0;min-height:auto;padding:0}.v-dialog-modal.ant-modal .ant-modal-body{overflow-x:hidden;overflow-y:auto;padding:10px 24px 20px}.v-dialog-modal.ant-modal .ant-modal-content{padding:20px 0}.v-dialog-modal.ant-modal .ant-modal-header{padding:0 24px}.v-dialog-modal.ant-modal .ant-modal-footer{margin:0;padding:10px 24px 0}.v-dialog-modal-title-extra .ant-modal-close{right:5px;top:5px}.dropdown-menu-wrapper-popup.ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item{padding:0}.dropdown-menu-wrapper-popup.ant-dropdown .ant-dropdown-menu.ant-dropdown-menu-item-active{background-color:none}.dropdown-menu-wrapper-popup.ant-dropdown .dmw-item-button{display:block;height:auto;padding:5px 12px;text-align:left;width:100%}.compact-theme .dropdown-menu-wrapper-popup.ant-dropdown .dmw-item-button{padding:3px 12px}.table-operate{padding:0 5px}.table-operate .ant-btn-link{border-radius:4px;height:auto;padding:0 6px}.table-operate .ant-btn-link:hover{background-color:rgba(0,0,0,.03)!important}.table-operate .ant-btn-link:hover span{transform:scale(1.05);transition:all .1s ease-in}.table-operate .ant-btn-link .anticon{margin:0}.table-operate .ant-divider{margin:0 4px}.table-operate .dropdown-menu-wrapper{align-items:center;display:flex;justify-content:center}.fold-more-button .anticon-more{transform:rotate(90deg)}.fold-more-button:hover .anticon-more{transform:scale(1.3) rotate(90deg)!important}
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
/* eslint-disable */
|
|
2
|
-
import './../button-wrapper/index.css';
|
|
3
2
|
import './../config-provider-wrapper/index.css';
|
|
4
3
|
import './../fba-hooks/index.css';
|
|
5
4
|
import './../types/index.css';
|
|
6
5
|
import './../fba-utils/index.css';
|
|
7
|
-
import './../
|
|
6
|
+
import './../button-wrapper/index.css';
|
|
7
|
+
import './../flex-layout/index.css';
|
|
8
8
|
import './../dialog-confirm/index.css';
|
|
9
9
|
import './../dialog-modal/index.css';
|
|
10
|
-
import './../flex-layout/index.css';
|
|
11
10
|
import './index.css';
|
|
12
11
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
13
|
-
import i from"@ant-design/icons/es/icons/MoreOutlined";import{_ as r,a as e}from"../_rollupPluginBabelHelpers-a0769acd.js";import{isUndefined as o}from"@dimjs/lang/cjs/is-undefined";import{classNames as n}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
|
|
12
|
+
import i from"@ant-design/icons/es/icons/MoreOutlined";import{_ as r,a as e}from"../_rollupPluginBabelHelpers-a0769acd.js";import{isUndefined as o}from"@dimjs/lang/cjs/is-undefined";import{classNames as n}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 p}from"@dimjs/lang/cjs/is-promise";import{hooks as a}from"@wove/react/cjs/hooks";import{Popover as l,Tooltip as c,Space as d,Divider as m,Popconfirm as u,Button as f}from"antd";import{isValidElement as v,Fragment as j,useState as g,useMemo as h,createElement as y}from"react";import{ButtonWrapper as k}from"../button-wrapper/index.js";import{DropdownMenuWrapper as x}from"../dropdown-menu-wrapper/index.js";import{fbaUtils as T}from"../fba-utils/index.js";import{jsx as C,jsxs as P}from"react/jsx-runtime";import"@ant-design/icons/es/icons/LoadingOutlined";import"@flatbiz/utils";import"../index-7f4ad045.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"../fba-hooks/index.js";import"@dimjs/lang/cjs/is-array";import"../use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/extend";import"@ant-design/icons/es/icons/ExclamationCircleFilled";import"../dialog-confirm/index.js";import"../dialog-modal/index.js";import"ahooks";import"react-dom/client";import"../flex-layout/index.js";import"@wove/react/cjs/create-ctx";import"@dimjs/model";var w=["text","onClick","needConfirm","confirmMessage","popconfirmProps","hoverTips","color","tipsType","type","isFold"];var b=function i(r){if(r.hoverTips){if(r.tipsType==="popover"){return C(l,{content:r.hoverTips,zIndex:1e3,children:C("span",{children:r.content})})}return C(c,{title:r.hoverTips,zIndex:1e3,children:C("span",{children:r.content})})}if(v(r.content)){return C(j,{children:r.content})}return C("span",{children:r.content})};var F=function l(c){var j=g(false),F=j[0],z=j[1];var O=a.useCallbackRef((function(i,r){var e=i.onClick==null?void 0:i.onClick(r);if(e&&p(e)){z(true);return e.finally((function(){z(false)}))}return}));var I=c.operateList.filter((function(i){if(!i)return false;if(v(i)){var r,e,o;if(((r=i.props)==null?void 0:r["hidden"])===true)return false;if(((e=i.props)==null?void 0:e["v-hidden"])===true)return false;var n=(o=i.props)==null?void 0:o["v-permission"];if(s(n)){return T.hasPermission(n)}return true}if(t(i)){if(!T.hasPermission(i["permission"])){return false}return!i["hidden"]}return false}));var M=h((function(){return I.filter((function(i){if(v(i)){return true}return!i["isFold"]}))}),[I]);var N=h((function(){var i=I.filter((function(i){if(v(i)){return false}return i["isFold"]}));var e=[];i.forEach((function(i){var o=r({},i);delete o.isFold;e.push(o)}));return e}),[I]);var _=c.gap===undefined?10:c.gap;var L=!c.split?_:0;return C("div",{className:n("table-operate",c.className),style:c.style,children:P(d,r({split:c.split?C(m,{type:"vertical"}):null,size:L,wrap:o(c.wrap)?true:c.wrap},c.spaceProps,{children:[M.map((function(i,o){if(i&&v(i)){return C(b,{content:i,hoverTips:i.hoverTips,tipsType:i.tipsType},o)}var n=i.text,t=i.onClick,s=i.needConfirm,p=i.confirmMessage,a=i.popconfirmProps,l=i.hoverTips,c=i.color,d=i.tipsType,m=i.type;i.isFold;var f=e(i,w);var j=m||"link";if(s&&!f.disabled){var g=c?false:true;return y(u,r({okText:"确定",cancelText:"取消",trigger:["click"],placement:"topRight",arrow:true,destroyTooltipOnHide:true},a,{title:p,onConfirm:O.bind(null,i),key:o,okButtonProps:{loading:F},onOpenChange:function i(r){if(!r){z(false)}},onCancel:function i(r){r==null?void 0:r.stopPropagation()}}),C(k,r({danger:g},f,{onClick:function i(r){r.stopPropagation()},type:j,children:C(b,{content:n,hoverTips:l,tipsType:d},o)})))}return y(k,r({loadingPosition:"center"},f,{type:j,onClick:function i(r){r.stopPropagation();return t==null?void 0:t(r)},key:o}),C(b,{content:n,hoverTips:l,tipsType:i.tipsType}))})),N.length>0?C(x,r({menuList:N,placement:"bottom"},c.dropdownMenuProps,{children:C(f,{type:"link",className:"fold-more-button",onClick:function i(r){r.stopPropagation()},children:c.foldIcon?c.foldIcon:C(i,{})})})):null]}))})};F.defaultProps={split:true};export{F as ButtonOperate,b as ButtonOperateItemContent};
|
|
14
13
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.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, DropdownMenuWrapperProps } from '../dropdown-menu-wrapper';\nimport { fbaUtils } from '../fba-utils';\n\nimport { DialogModalProps } from '../dialog-modal';\nimport './style.less';\n\nexport interface ButtonOperateItem extends ButtonWrapperProps {\n /** hover 提示文字,isFold=true无效 */\n hoverTips?: string | React.ReactElement;\n /** hover 提示类型 默认:'tooltip' */\n tipsType?: 'popover' | 'tooltip';\n /** 按钮文案 */\n text?: string | ReactElement;\n /** 自定义按钮颜色 */\n color?: string;\n /** 是否需要二次弹框确认 */\n needConfirm?: boolean;\n /** 二次弹框确认文案 */\n confirmMessage?: ReactNode;\n /* isFold=false & needConfirm=true 有效 */\n popconfirmProps?: Pick<PopconfirmProps, 'placement' | 'okText' | 'cancelText' | 'trigger'>;\n /** 是否折叠合拢 */\n isFold?: boolean;\n /* isFold=true & needConfirm=true 有效 */\n confirmModalProps?: DialogModalProps;\n}\n\nexport interface ButtonOperateProps {\n className?: string;\n style?: CSSProperties;\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 /** 是否换行,默认true */\n wrap?: boolean;\n /** 隐藏图标Icon */\n foldIcon?: ReactElement;\n /** 按钮之间是否添加分隔符 */\n split?: boolean;\n /** 多个按钮的包装组件Space属性 */\n spaceProps?: SpaceProps;\n /** 间距,默认:10;split=true配置下无效(可通过spaceProps设置间距) */\n gap?: number;\n /** 折叠合拢属性 */\n dropdownMenuProps?: Omit<DropdownMenuWrapperProps, 'menuList'>;\n}\n\nexport const ButtonOperateItemContent = (\n props: Pick<ButtonOperateItem, 'hoverTips' | 'tipsType'> & { content: ReactNode },\n) => {\n if (props.hoverTips) {\n if (props.tipsType === 'popover') {\n return (\n <Popover content={props.hoverTips} zIndex={1000}>\n <span>{props.content}</span>\n </Popover>\n );\n }\n return (\n <Tooltip title={props.hoverTips} zIndex={1000}>\n <span>{props.content}</span>\n </Tooltip>\n );\n }\n if (isValidElement(props.content)) {\n return <Fragment>{props.content}</Fragment>;\n }\n // ButtonOperate item 内部 span 包文案会有动态效果\n return <span>{props.content}</span>;\n};\n\n/**\n * 按钮组合处理组件\n * ```\n * @flatbiz/antd@4.2.49\n * 1. 替换 Fold 中 needConfirm交互,有 Popconfirm 改为 dialogConfirm组件实现二次弹框确认功能\n * 2. 修改原因:升级 antd 5.5.1 后,Dropdown 中 Popconfirm弹框组合使用存在问题\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\n content={item}\n hoverTips={item.hoverTips}\n tipsType={item.tipsType}\n key={index}\n />\n );\n }\n const {\n text,\n onClick,\n needConfirm,\n confirmMessage,\n popconfirmProps,\n hoverTips,\n color,\n tipsType,\n type,\n isFold: _isFold,\n ...otherProps\n } = item;\n const typeFt = type || 'link';\n if (needConfirm && !otherProps.disabled) {\n const danger = !!color ? false : true;\n return (\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={typeFt}\n >\n <ButtonOperateItemContent\n content={text}\n hoverTips={hoverTips}\n tipsType={tipsType}\n key={index}\n />\n </ButtonWrapper>\n </Popconfirm>\n );\n }\n return (\n <ButtonWrapper\n loadingPosition=\"center\"\n {...otherProps}\n type={typeFt}\n onClick={(event) => {\n event.stopPropagation();\n return onClick?.(event);\n }}\n key={index}\n >\n <ButtonOperateItemContent content={text} hoverTips={hoverTips} tipsType={item.tipsType} />\n </ButtonWrapper>\n );\n })}\n {foldList.length > 0 ? (\n <DropdownMenuWrapper menuList={foldList} placement=\"bottomCenter\" {...props.dropdownMenuProps}>\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","Tooltip","title","isValidElement","Fragment","ButtonOperate","_useState","useState","loading","setLoading","onConfirm","_hooks","useCallbackRef","item","event","result","onClick","_isPromise","finally","operateList","filter","_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","color","otherProps","_objectWithoutPropertiesLoose","_excluded","typeFt","disabled","danger","_createElement","Popconfirm","okText","cancelText","trigger","placement","arrow","destroyTooltipOnHide","bind","key","okButtonProps","onOpenChange","_open","onCancel","stopPropagation","ButtonWrapper","loadingPosition","length","DropdownMenuWrapper","menuList","dropdownMenuProps","Button","foldIcon","_MoreOutlined","defaultProps"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.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 type { PopconfirmProps, SpaceProps } from 'antd';\nimport { Button, Divider, Popconfirm, Popover, Space, Tooltip } from 'antd';\nimport type { CSSProperties, FC, ReactElement, ReactNode } from 'react';\nimport { Fragment, isValidElement, useMemo, useState } from 'react';\nimport type { ButtonWrapperProps } from '../button-wrapper/button-wrapper.jsx';\nimport { ButtonWrapper } from '../button-wrapper/button-wrapper.jsx';\nimport type { DialogModalProps } from '../dialog-modal/dialog-modal.jsx';\nimport type { DropdownMenuWrapperProps } from '../dropdown-menu-wrapper/dropdown-menu-wrapper.jsx';\nimport { DropdownMenuWrapper } from '../dropdown-menu-wrapper/dropdown-menu-wrapper.jsx';\nimport { fbaUtils } from '../fba-utils/index.js';\nimport './style.less';\n\nexport interface ButtonOperateItem extends ButtonWrapperProps {\n /** hover 提示文字,isFold=true无效 */\n hoverTips?: string | React.ReactElement;\n /** hover 提示类型 默认:'tooltip' */\n tipsType?: 'popover' | 'tooltip';\n /** 按钮文案 */\n text?: string | ReactElement;\n /** 自定义按钮颜色 */\n color?: string;\n /** 是否需要二次弹框确认 */\n needConfirm?: boolean;\n /** 二次弹框确认文案 */\n confirmMessage?: ReactNode;\n /* isFold=false & needConfirm=true 有效 */\n popconfirmProps?: Pick<PopconfirmProps, 'placement' | 'okText' | 'cancelText' | 'trigger'>;\n /** 是否折叠合拢 */\n isFold?: boolean;\n /* isFold=true & needConfirm=true 有效 */\n confirmModalProps?: DialogModalProps;\n}\n\nexport interface ButtonOperateProps {\n className?: string;\n style?: CSSProperties;\n /**\n * 如果数组中元素为ReactElement类型\n * 1. 一般为antd Button组件,如果组件存在属性hidden=true、v-hidden=true,则会隐藏\n * 2. 可配置 v-permission 权限值,例如 v-permission=\"add\"\n * 3. 任何confirm、disabled等状态在外部控制\n * 3. 不支持fold效果\n */\n operateList: Array<ButtonOperateItem | null | ReactElement>;\n /** 是否换行,默认true */\n wrap?: boolean;\n /** 隐藏图标Icon */\n foldIcon?: ReactElement;\n /** 按钮之间是否添加分隔符 */\n split?: boolean;\n /** 多个按钮的包装组件Space属性 */\n spaceProps?: SpaceProps;\n /** 间距,默认:10;split=true配置下无效(可通过spaceProps设置间距) */\n gap?: number;\n /** 折叠合拢属性 */\n dropdownMenuProps?: Omit<DropdownMenuWrapperProps, 'menuList'>;\n}\n\nexport const ButtonOperateItemContent = (\n props: Pick<ButtonOperateItem, 'hoverTips' | 'tipsType'> & {\n content: ReactNode;\n },\n) => {\n if (props.hoverTips) {\n if (props.tipsType === 'popover') {\n return (\n <Popover content={props.hoverTips} zIndex={1000}>\n <span>{props.content}</span>\n </Popover>\n );\n }\n return (\n <Tooltip title={props.hoverTips} zIndex={1000}>\n <span>{props.content}</span>\n </Tooltip>\n );\n }\n if (isValidElement(props.content)) {\n return <Fragment>{props.content}</Fragment>;\n }\n // ButtonOperate item 内部 span 包文案会有动态效果\n return <span>{props.content}</span>;\n};\n\n/**\n * 按钮组合处理组件\n * ```\n * 1. operateList中存在ReactElement类型的元素,可通过配置 v-permission 属性来设置权限,例如 v-permission=\"add\"\n * 2. operateList中存在ReactElement类型的元素,如果有hidden、v-hidden属性,值为true会隐藏\n *\n *\n * flatbiz/antd@4.2.49\n * 1. 替换 Fold 中 needConfirm交互,有 Popconfirm 改为 dialogConfirm组件实现二次弹框确认功能\n * 2. 修改原因:升级 antd 5.5.1 后,Dropdown 中 Popconfirm弹框组合使用存在问题\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 if (item.props?.['v-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\n content={item}\n hoverTips={item.hoverTips}\n tipsType={item.tipsType}\n key={index}\n />\n );\n }\n const {\n text,\n onClick,\n needConfirm,\n confirmMessage,\n popconfirmProps,\n hoverTips,\n color,\n tipsType,\n type,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n isFold: _isFold,\n ...otherProps\n } = item;\n const typeFt = type || 'link';\n if (needConfirm && !otherProps.disabled) {\n const danger = color ? false : true;\n return (\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={typeFt}\n >\n <ButtonOperateItemContent\n content={text}\n hoverTips={hoverTips}\n tipsType={tipsType}\n key={index}\n />\n </ButtonWrapper>\n </Popconfirm>\n );\n }\n return (\n <ButtonWrapper\n loadingPosition=\"center\"\n {...otherProps}\n type={typeFt}\n onClick={(event) => {\n event.stopPropagation();\n return onClick?.(event);\n }}\n key={index}\n >\n <ButtonOperateItemContent content={text} hoverTips={hoverTips} tipsType={item.tipsType} />\n </ButtonWrapper>\n );\n })}\n {foldList.length > 0 ? (\n <DropdownMenuWrapper menuList={foldList} placement=\"bottom\" {...props.dropdownMenuProps}>\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","Tooltip","title","isValidElement","Fragment","ButtonOperate","_useState","useState","loading","setLoading","onConfirm","_hooks","useCallbackRef","item","event","result","onClick","_isPromise","finally","operateList","filter","_item$props","_item$props2","_item$props3","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","color","otherProps","_objectWithoutPropertiesLoose","_excluded","typeFt","disabled","danger","_createElement","Popconfirm","okText","cancelText","trigger","placement","arrow","destroyTooltipOnHide","bind","key","okButtonProps","onOpenChange","_open","onCancel","stopPropagation","ButtonWrapper","loadingPosition","length","DropdownMenuWrapper","menuList","dropdownMenuProps","Button","foldIcon","_MoreOutlined","defaultProps"],"mappings":"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"}
|
|
File without changes
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
import './../fba-hooks/index.css';
|
|
3
|
+
import './index.css';
|
|
4
|
+
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
5
|
+
import{isString as e}from"@dimjs/lang/cjs/is-string";import{_ as r}from"../_rollupPluginBabelHelpers-a0769acd.js";import{hooks as i}from"@wove/react/cjs/hooks";import{dom as n}from"@flatbiz/utils";import{Image as o}from"antd";import{useState as t,Fragment as l}from"react";import{createRoot as a}from"react-dom/client";import{fbaHooks as m}from"../fba-hooks/index.js";import{jsx as s}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-array";import"../use-responsive-point-21b8c601.js";var d=function e(r){var n=t(true),a=n[0],d=n[1];var c=r.elementId;var f=i.useCallbackRef((function(){try{delete window[c]}catch(e){}d(false)}));m.useEffectCustom((function(){window[c]=f}),[f]);return s(l,{children:s(o,{wrapperStyle:{display:"none"},preview:{visible:!!a,onVisibleChange:function e(){return d(false)},afterOpenChange:function e(r){return!r&&d(false)}},src:r.imageUrl})})};var c={show:function e(i){var o=n.bodyAppendDivElement(),t=o.divElement,l=o.elementId;window["__dialog_preview_elementId"]=l;var m=a(t);m.render(s(d,r({},i,{divElement:t,elementId:l})));return{close:function e(){var r,i;(r=(i=window)[l])==null?void 0:r.call(i)}}},hiden:function r(){try{var i,n;var o=window["__dialog_preview_elementId"];if(e(o))(i=(n=window)[o])==null?void 0:i.call(n)}catch(e){}}};export{c as dialogPreviewImage};
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/dialog-preview-image/preview-image.tsx"],"sourcesContent":["import { isString } from '@dimjs/lang';\nimport type { BodyAppendDivElementProps } from '@flatbiz/utils';\nimport { dom } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Image } from 'antd';\nimport { Fragment, useState } from 'react';\nimport { createRoot } from 'react-dom/client';\nimport { fbaHooks } from '../fba-hooks';\n\nexport type DialogPreviewImageProps = {\n imageUrl: string;\n};\n\nconst ModalRender = (props: BodyAppendDivElementProps & DialogPreviewImageProps) => {\n const [open, setOpen] = useState(true);\n const elementId = props.elementId;\n\n const onClose = hooks.useCallbackRef(() => {\n try {\n delete window[elementId];\n } catch (_error) {\n //\n }\n setOpen(false);\n });\n\n fbaHooks.useEffectCustom(() => {\n (window as any)[elementId] = onClose;\n }, [onClose]);\n\n return (\n <Fragment>\n <Image\n wrapperStyle={{ display: 'none' }}\n preview={{\n visible: !!open,\n onVisibleChange: () => setOpen(false),\n afterOpenChange: (visible) => !visible && setOpen(false),\n }}\n src={props.imageUrl}\n />\n </Fragment>\n );\n};\n\n/** 图片预览 */\nexport const dialogPreviewImage = {\n show: (props: DialogPreviewImageProps) => {\n const { divElement, elementId } = dom.bodyAppendDivElement();\n window['__dialog_preview_elementId'] = elementId;\n const root = createRoot(divElement);\n root.render(<ModalRender {...props} divElement={divElement} elementId={elementId} />);\n return {\n close: () => {\n (window as any)[elementId]?.();\n },\n };\n },\n hiden: () => {\n try {\n const elementId = window['__dialog_preview_elementId'] as string;\n if (isString(elementId)) window[elementId]?.();\n } catch (_error) {\n //\n }\n },\n};\n"],"names":["ModalRender","props","_useState","useState","open","setOpen","elementId","onClose","_hooks","useCallbackRef","window","_error","fbaHooks","useEffectCustom","_jsx","Fragment","children","Image","wrapperStyle","display","preview","visible","onVisibleChange","afterOpenChange","src","imageUrl","dialogPreviewImage","show","_dom$bodyAppendDivEle","dom","bodyAppendDivElement","divElement","root","createRoot","render","_extends","close","_elementId","_ref","call","hiden","_window$elementId","_window","_isString"],"mappings":";qeAaA,IAAMA,EAAc,SAAdA,EAAeC,GACnB,IAAAC,EAAwBC,EAAS,MAA1BC,EAAIF,EAAA,GAAEG,EAAOH,EAAA,GACpB,IAAMI,EAAYL,EAAMK,UAExB,IAAMC,EAAUC,EAAMC,gBAAe,WACnC,WACSC,OAAOJ,EACf,CAAC,MAAOK,GACP,CAEFN,EAAQ,MACV,IAEAO,EAASC,iBAAgB,WACtBH,OAAeJ,GAAaC,CAC/B,GAAG,CAACA,IAEJ,OACEO,EAACC,EAAQ,CAAAC,SACPF,EAACG,EAAK,CACJC,aAAc,CAAEC,QAAS,QACzBC,QAAS,CACPC,UAAWjB,EACXkB,gBAAiB,SAAAA,IAAA,OAAMjB,EAAQ,MAAM,EACrCkB,gBAAiB,SAAAA,EAACF,GAAO,OAAMA,GAAWhB,EAAQ,MAAM,GAE1DmB,IAAKvB,EAAMwB,YAInB,EAGO,IAAMC,EAAqB,CAChCC,KAAM,SAAAA,EAAC1B,GACL,IAAA2B,EAAkCC,EAAIC,uBAA9BC,EAAUH,EAAVG,WAAYzB,EAASsB,EAATtB,UACpBI,OAAO,8BAAgCJ,EACvC,IAAM0B,EAAOC,EAAWF,GACxBC,EAAKE,OAAOpB,EAACd,EAAWmC,EAAA,CAAA,EAAKlC,EAAK,CAAE8B,WAAYA,EAAYzB,UAAWA,MACvE,MAAO,CACL8B,MAAO,SAAAA,IAAM,IAAAC,EAAAC,GACXD,GAAAC,EAAC5B,QAAeJ,KAAU,UAAA,EAA1B+B,EAAAE,KAAAD,EACF,EAEH,EACDE,MAAO,SAAAA,IACL,IAAI,IAAAC,EAAAC,EACF,IAAMpC,EAAYI,OAAO,8BACzB,GAAIiC,EAASrC,IAAYmC,GAAAC,EAAAhC,QAAOJ,KAAPmC,UAAAA,EAAAA,EAAAF,KAAAG,EAC1B,CAAC,MAAO/B,GACP,CAEJ"}
|
|
@@ -15,10 +15,9 @@ import './../switch-wrapper/index.css';
|
|
|
15
15
|
import './../upload-wrapper/index.css';
|
|
16
16
|
import './../table-cell-render/index.css';
|
|
17
17
|
import './../button-operate/index.css';
|
|
18
|
-
import './../
|
|
18
|
+
import './../flex-layout/index.css';
|
|
19
19
|
import './../dialog-confirm/index.css';
|
|
20
20
|
import './../dialog-modal/index.css';
|
|
21
|
-
import './../flex-layout/index.css';
|
|
22
21
|
import './../tag-list-render/index.css';
|
|
23
22
|
import './../tag-list-select/index.css';
|
|
24
23
|
import './../input-wrapper/index.css';
|
package/esm/easy-table/index.js
CHANGED
|
@@ -19,5 +19,5 @@ import './../svg-http-view/index.css';
|
|
|
19
19
|
import './../table-title-tooltip/index.css';
|
|
20
20
|
import './index.css';
|
|
21
21
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
22
|
-
import{fbaUtils as e}from"../fba-utils/index.js";import{isArray as n}from"@dimjs/lang/cjs/is-array";import{isObject as t}from"@dimjs/lang/cjs/is-object";import{_ as r,a as i}from"../_rollupPluginBabelHelpers-a0769acd.js";import{sessionStorageCache as a,localStorageCache as o,noop as l,getUuid as s,isUndefinedOrNull as u,isMacEnv as c}from"@flatbiz/utils";import{classNames as d}from"@dimjs/utils/cjs/class-names";import{isUndefined as f}from"@dimjs/lang/cjs/is-undefined";import{get as m}from"@dimjs/utils/cjs/get";import{hooks as p}from"@wove/react/cjs/hooks";import{isString as v}from"@dimjs/lang/cjs/is-string";import{Checkbox as g,Popover as h,Form as y,message as C,Drawer as F,Table as b}from"antd";import{createContext as S,useState as x,Fragment as R,forwardRef as j,useMemo as w,useRef as z,useImperativeHandle as K,cloneElement as _,useContext as N,Children as P,useEffect as T}from"react";import{fbaHooks as L}from"../fba-hooks/index.js";import{PaginationWrapper as q}from"../pagination-wrapper/index.js";import{jsx as k,jsxs as I}from"react/jsx-runtime";import V from"@ant-design/icons/es/icons/DownOutlined";import D from"@ant-design/icons/es/icons/UpOutlined";import{isFragment as E}from"react-is";import{BlockLayout as O}from"../block-layout/index.js";import{ButtonWrapper as A}from"../button-wrapper/index.js";import{EasyForm as B}from"../easy-form/index.js";import{FormGrid as M}from"../form-grid/index.js";import{TableScrollbar as W}from"../table-scrollbar/index.js";import{FlexLayout as Q}from"../flex-layout/index.js";import{IconWrapper as U}from"../icon-wrapper/index.js";import{SvgHttpView as G}from"../svg-http-view/index.js";import{TableTitleTooltip as H}from"../table-title-tooltip/index.js";import{TipsWrapper as Y}from"../tips-wrapper/index.js";import"@dimjs/model";import"../use-responsive-point-21b8c601.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-promise";import"../index-7f4ad045.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"@dimjs/utils/cjs/extend";import"../box-grid/index.js";import"@dimjs/lang/cjs/is-number";import"ahooks";import"../form-wrapper/index.js";import"../pre-defined-class-name/index.js";import"@ant-design/icons/es/icons/QuestionCircleOutlined";var $={set:function e(n,t){var i=$.get(n);var o=r({},i,t);a.set("easy_tab_filter_"+n,o);return o},get:function e(n){var r=a.get("easy_tab_filter_"+n);return t(r)?r:{}},remove:function e(n){a.remove("easy_tab_filter_"+n)}};var J={set:function e(n,t){a.set("easy_tab_firstQuery_"+n,{value:t})},get:function e(n){var t;var r=(t=a.get("easy_tab_firstQuery_"+n))==null?void 0:t.value;return r===false?false:true},remove:function e(n){a.remove("easy_tab_firstQuery_"+n)}};var X={set:function e(n,t){o.set("easy_tab_columnFold_"+n,{value:t})},get:function e(t){var r;var i=(r=o.get("easy_tab_columnFold_"+t))==null?void 0:r.value;return n(i)?i:[]},remove:function e(n){o.remove("easy_tab_columnFold_"+n)}};var Z=S({onRequest:l,tableList:[],getEasyTableRef:function e(){}});var ee=function e(n){var t=x(n.initSelectedRowKeys||[]),r=t[0],i=t[1];var a=function e(t){i(t);n.onChange(t);if(n.cacheKey){X.set(n.cacheKey,t)}};var o=k(R,{children:k(g.Group,{defaultValue:r,onChange:a,value:r,style:{display:"flex",flexDirection:"column"},children:n.dataList.map((function(e){var n=e["_isFoldTitle"]||e.title;return k(g,{value:e.dataIndex,style:{padding:"0 0 5px 0"},children:n},e.dataIndex)}))})});var l=function e(t){if(t.target.checked){a(n.dataList.map((function(e){return e.dataIndex})))}else{a([])}};return k(h,{content:o,title:k(g,{checked:r.length===n.dataList.length,onChange:l,children:"全选(字段列表)"}),placement:"bottomRight",overlayClassName:"fold-operate-popiver",children:n.children})};var ne=j((function(t,i){var a;var o=L.useResponsivePoint();var l=x(),u=l[0],c=l[1];var g=x(0),h=g[0],F=g[1];var b=x(false),S=b[0],R=b[1];var j=t.columnFoldConfig;var N=t.asyncColumnRequest;var P=x(false),T=P[0],V=P[1];var D=w((function(){if(t.cacheKey)return t.cacheKey;if(t.cacheSwitch===true){return location.pathname}if(typeof t.cacheSwitch==="string"){return t.cacheSwitch}return s()}),[t.cacheSwitch,t.cacheKey]);var E=$.get(D);var O=x((function(){if(D){var e=X.get(D);var t=n(e)?e.filter((function(e){return v(e)})):[];return t.length>0?t:(j==null?void 0:j.initSelectedKeys)||[]}else{return(j==null?void 0:j.initSelectedKeys)||[]}})),A=O[0],B=O[1];var M=t.pageSize||((a=t.initialPaginationParams)==null?void 0:a.pageSize)||10;var W=t.initRequest===undefined?true:t.initRequest;var Q=z(false);var U=z();var G=z([]);var H=x(),Y=H[0],ne=H[1];var te=z([]);var re=r({list:"list",total:"total",pageNo:"pageNo",pageSize:"pageSize"},t.fieldNames);var ie=y.useForm(t.form),ae=ie[0];var oe=p.useCallbackRef((function(r){return new Promise((function(i,a){var o,l,s,u,d,f,p,v,g,h,y;var b=function(){try{return i()}catch(e){return a(e)}};var S=function(e){try{R(false);if(t.onRequestErrorHandle){t.onRequestErrorHandle(e)}else{void C.error(e.message)}return b()}catch(e){return a(e)}};try{if(t.breforeRequest){var x=function(){try{return w.call(this)}catch(e){return S(e)}}.bind(this);var j=function(e){try{return i()}catch(e){return S(e)}};try{return Promise.resolve(t.breforeRequest(ae)).then((function(e){try{return x()}catch(e){return j(e)}}),j)}catch(z){j(z)}}function w(){J.set(D,false);R(true);o=$.set(D,r);l=t.serviceConfig,s=l.requestParamsAdapter,u=l.onRequest,d=l.requestResultAdapter,f=l.dynamicColumsAdapter;p=s?s(o):o;return Promise.resolve(u(e.removeFormValuesInvalidField(p))).then((function(e){try{v=e||{};U.current=v;t.onDataSourceChange==null?void 0:t.onDataSourceChange(v);g=v;if(d){g=d(v)}if(f){h=f(v,G.current);ne(h)}y=m(g,re.list);c(n(y)?y:[]);F(m(g,re.total));R(false);return b()}catch(e){return S(e)}}),S)}return w.call(this)}catch(K){S(K)}}))}));L.useEffectCustom((function(){var e=je();var n=J.get(D);ae.setFieldsValue(r({},t.initialValues,E));if(W||!n){if(e){var i;void oe(r((i={},i[re.pageNo]=1,i[re.pageSize]=M,i),t.initialValues,E))}else{void oe(t.initialValues)}}else{$.set(D,t.initialValues||{})}}),[]);var le=p.useCallbackRef((function(e){$.remove(D);ae.resetFields();if(e){$.set(D,e);ae.setFieldsValue(e)}}));var se=p.useCallbackRef((function(e){$.set(D,e);ae.setFieldsValue(e)}));var ue=function e(n,t){if(je()){var r;return r={},r[re.pageNo]=n,r[re.pageSize]=t||M,r}else{var i;return i={},i[re.pageNo]=undefined,i[re.pageSize]=undefined,i}};var ce=p.useCallbackRef((function(e){var n=r({},ue(1,E[re.pageSize]),t.initialValues,e);$.remove(D);ae.resetFields();if(e){ae.setFieldsValue(e)}void oe(n)}));var de=p.useCallbackRef((function(){return r({},E,ae.getFieldsValue())}));var fe=p.useCallbackRef((function(){V(true)}));var me=p.useCallbackRef((function(){V(false)}));var pe=function e(){return{onRequest:oe,clearQueryCondition:le,updateQueryCondition:se,getRequestParams:de,onResetRequest:ce,form:ae,dataSource:U.current,getDataSource:function e(){return U.current},onFilterDataSource:function e(n){c(n)},onClearDataSource:function e(){F(0);c([])},onUpdateDataSource:function e(n){c(n);U.current=n;t.onDataSourceChange==null?void 0:t.onDataSourceChange(n)},columnFoldTriggerRender:function e(n,r){var i;if(((i=t.columnFoldConfig)==null?void 0:i.triggerType)==="drawer"){return _(n,{onClick:fe})}var a=r.filter((function(e){return!e.hidden&&e.isFold&&e.dataIndex}));return k(ee,{dataList:a,onChange:xe,cacheKey:D,initSelectedRowKeys:A,children:n})},onChangeTableColumns:function e(n){ne(n)},getTableColumns:function e(){return te.current},loading:S,setEnabledInitRequest:function e(){J.set(D,false)}}};K(i,(function(){return pe()}));var ve=function e(n){Q.current=n};var ge=function e(n){G.current=n};var he=function e(n){te.current=n};var ye=function e(){var n=ae.getFieldsValue();if(t.onFormFinish){t.onFormFinish(r({},n,ue(1,E[re.pageSize])))}else{void oe(r({},n,ue(1,E[re.pageSize])))}};var Ce=f(t.isFull)?true:t.isFull;var Fe=o==="xs"?false:t.filterFixed;var be=d("fba-easy-table",{"fba-easy-table-full":Ce,"fba-easy-table-filter-fixed":Fe,"fba-easy-table-pagination-fixed":t.paginationFixed},t.className);var Se=L.useMemoCustom((function(){return r({showSizeChanger:true,current:E[re.pageNo]||1,pageSize:E[re.pageSize]||M,total:h,showTotal:function e(n){return"共 "+n+" 条记录"}},t.pagination)}),[re.pageNo,E,re.pageSize,D,M,t.pagination,h]);var xe=function e(n){B(n);j==null||j.onChange==null?void 0:j.onChange(n)};var Re=p.useCallbackRef((function(e,n){var r,i;var a=(r={},r[re.pageSize]=n,r[re.pageNo]=e,r);$.set(D,a);void oe(a);(i=t.pagination)==null||i.onChange==null?void 0:i.onChange(e,n)}));var je=function e(){return t.paginationFixed||Q.current};p.useUpdateEffect((function(){if(t.paginationFixed){var e;void oe((e={},e[re.pageSize]=E[re.pageSize]||M,e[re.pageNo]=1,e))}else{var n;void oe((n={},n[re.pageSize]=undefined,n[re.pageNo]=undefined,n))}}),[t.paginationFixed]);var we=d("fba-easy-table-wrapper",{"fba-easy-table-wrapper-inline":t.isInline},t.className);var ze=r({overflowY:t.filterFixed||t.paginationFixed?"hidden":"auto"},t.style);var Ke=typeof t.children==="function"?t.children(U.current):t.children;return k(Z.Provider,{value:{onSetBaseColumns:ge,onSetColumns:he,getEasyTableRef:pe,cacheKey:D,onRequest:oe,tableDataSource:u,tableTotal:h,loading:S,fieldNames:re,pageSize:M,onSetPaginationStatus:ve,getPaginationStatus:je,onFormFinish:ye,form:ae,paginationFixed:t.paginationFixed||false,foldKeys:t.foldKeys||[],columns:Y,initialValues:t.initialValues,dynamicColumnsConfig:{showFoldKeyList:A,onChangeShowFoldKeyList:xe,columnFoldConfig:j,onOpenColumnFoldModal:fe,onCloseColumnFoldModal:me,columnFoldOpen:T,asyncColumnRequest:N}},children:t.paginationFixed?I("div",{className:we,style:ze,children:[k("div",{className:be,children:Ke}),h>0&&k("div",{className:"fba-easy-table-pagination",children:k(q,r({size:"small"},Se,{onChange:Re}))})]}):k("div",{className:we,style:t.style,children:k("div",{className:be,children:Ke})})})}));var te=function e(n){var t=L.useResponsivePoint()||"md";var i=N(Z);var a=n.queryButtonProps,o=n.resetButtonProps,l=n.filterOperate,s=n.formClassName,u=s===void 0?"":s,c=n.defaultResetButtonTriggerRequest,m=n.filterWrapperStyle,v=n.filterWrapperClassName,g=n.rightOperateAreaAppendType,h=n.easyFormProps;var y=i.cacheKey,C=i.foldKeys,F=i.fieldNames,b=i.onRequest,S=i.pageSize,R=i.getPaginationStatus,j=i.initialValues,z=i.form,K=i.onFormFinish;var _=typeof n.children==="function"?n.children(z):n.children;var T=g||"cover";var q=w((function(){if(E(_)){return P.toArray(_.props.children)}else{return P.toArray(_)}}),[_]);var W=x(false),Q=W[0],U=W[1];var G=p.useCallbackRef((function(){return new Promise((function(e,n){var t;$.remove(y);z.resetFields();z.setFieldsValue(j);if(f(c)||c){return Promise.resolve(z.validateFields()).then(function(e){try{if(R()){b(r((t={},t[F.pageNo]=1,t[F.pageSize]=S,t),j))}else{b(j)}return i.call(this)}catch(e){return n(e)}}.bind(this),n)}function i(){return e()}return i.call(this)}))}));var H=w((function(){var e=[!(a!=null&&a.hidden)?k(A,r({type:"primary",htmlType:"submit"},a,{children:(a==null?void 0:a.text)||"查询"}),"1"):null,!(o!=null&&o.hidden)?k(A,r({onClick:G},o,{children:(o==null?void 0:o.text)||"重置"}),"2"):null].filter(Boolean);var n=l==null?void 0:l(z);var t=n==null?void 0:n.rightList;var i=(n==null?void 0:n.leftList)||[];var s=e;if(t){if(T==="afterAppend"){s=[].concat(e,t)}else if(T==="beforeAppend"){s=[].concat(t,e)}else{s=t}}if(C.length>0){var u=k(A,{type:"link",style:{padding:"0"},onClick:function e(){U(!Q)},children:Q?I("span",{children:["收起",k(D,{style:{marginLeft:3,fontSize:12}})]}):I("span",{children:["展开",k(V,{style:{marginLeft:3,fontSize:12}})]})},"fold-trigger");if(s.length>0||i.length===0){s.push(u)}else if((i==null?void 0:i.length)>0){i.push(u)}}return q.map((function(e,n){if(!Q&&C.find((function(n){return".$"+n===e.key})))return null;if(e.props["hidden"])return null;if(e.type["domTypeName"]==="FormCol")return e;return k(M.Col,{children:e},n)})).filter(Boolean).concat(k(M.OperateCol,r({},n,{leftList:i,rightList:s}),999))}),[q,l,C,z,G,Q,a,o,T]);var Y=t==="xs"?"left":(h==null?void 0:h.labelAlign)||"right";return k(O,{className:d("easy-table-filter",v),style:m,children:k(B,r({form:z,autoComplete:"off",onFinish:K,className:u,style:n.formStyle,isPure:true,labelWidth:"80",formItemGap:"15"},h,{labelAlign:Y,children:n.isPure?_:k(M.Row,{gutter:[15,0],gridSize:n.formGridSize,children:H})}))})};var re=function e(){var n=N(Z);return n.getEasyTableRef()};var ie=function e(){var n=N(Z);return{current:n.getEasyTableRef()}};var ae=function e(n){var t=x(n.initSelectedRowKeys||[]),r=t[0],i=t[1];var a={type:"checkbox",selectedRowKeys:r,onChange:function e(t){i(t);n.onChange(t);if(n.cacheKey){X.set(n.cacheKey,t)}}};var o=[{title:"字段名称",dataIndex:"title",render:function e(n,t){return t["_isFoldTitle"]||n}},{title:"字段Key",dataIndex:"dataIndex"}];return k(R,{children:k(F,{title:"选择字段",open:n.open,onClose:n.onClose,width:"35%",styles:{body:{padding:15}},children:k(b,{bordered:true,size:"small",columns:o,rowSelection:a,rowKey:"dataIndex",pagination:false,scroll:{x:"max-content"},dataSource:n.dataList})})})};var oe=["tooltip","tipsWrapperProps","title"];var le=function e(n){return w((function(){var e=n.columns.map((function(e){var n=e.tooltip,t=e.tipsWrapperProps,a=e.title,o=i(e,oe);if(typeof a==="string"&&t){if(typeof t==="string"){return r({},o,{title:k(Y,{tipType:"popover",popoverProps:{content:t},children:a})})}return r({},o,{title:k(Y,r({},t,{children:a}))})}if(typeof a==="string"&&!!n){return r({},o,{title:k(H,{tooltip:n,title:a})})}return e})).filter(Boolean);return[].concat(e)}),[n.columns])};var se=function e(n){var t=n.columns;return L.useMemoCustom((function(){var e;if((e=n.columnFoldConfig)!=null&&e.hidden)return t;var r=t[t.length-1];if(n.foldColumnList.length>0&&t.length>0){var i=t.find((function(e){return e["_isFoldColumn"]}));if(i&&r.dataIndex!==i.dataIndex){i.title=i["_isFoldTitle"];i["_isFoldColumn"]=false}if(!r["_isFoldColumn"]){var a,o,l,s,u,c;r["_isFoldTitle"]=r["_isFoldTitle"]||r.title;r["_isFoldColumn"]=true;var d=(a=n.columnFoldConfig)==null?void 0:a.triggerType;r.title=I(Q,{direction:"horizontal",fullIndex:0,style:{alignItems:"center"},children:[k("span",{children:r.title}),k("div",{style:{padding:"0 5px 0 20px",display:"flex"},children:d==="drawer"?k(U,{onClick:n.onOpenColumnFoldModal,text:(o=n.columnFoldConfig)==null?void 0:o.text,size:"small",icon:((l=n.columnFoldConfig)==null?void 0:l.icon)||k(G,{svgPath:"ionic/list-circle",color:"#868686"}),hoverTips:((s=n.columnFoldConfig)==null?void 0:s.hoverTipText)||"字段列表",style:{padding:0,margin:0}}):k(ee,{dataList:n.foldColumnList,onChange:n.onChangeFoldColumnList,cacheKey:n.cacheKey,initSelectedRowKeys:n.showFoldKeyList,children:k(U,{text:(u=n.columnFoldConfig)==null?void 0:u.text,style:{padding:0,margin:0},size:"small",icon:((c=n.columnFoldConfig)==null?void 0:c.icon)||k(G,{svgPath:"ionic/list-circle",color:"#868686"})})})})]})}}return t}),[n.columns,n.columnFoldConfig])};var ue=function e(n){return w((function(){var e=n.columns.map((function(e){var t=e.hidden,r=e.isFold;if(t)return null;if(r&&!n.showFoldKeyList.includes(e.dataIndex))return null;return e})).filter(Boolean);return[].concat(e)}),[n.columns,n.showFoldKeyList])};var ce=function e(n){return w((function(){if(!Object.keys(n.asyncColumnRequestResult))return n.columns;return n.columns.map((function(e){var t=e.dataIndex;var r=n.asyncColumnRequestResult[t];if(t&&r){if(r.loading){e.render=function(e){return k(A,{loading:true,type:"text",loadingPosition:"center",removeGap:true,children:e})}}else if(e.asyncRender){e.render=function(n,t,i){return e.asyncRender==null?void 0:e.asyncRender(n,t,i,r.respData)}}}return e}))}),[n.columns,n.asyncColumnRequestResult])};var de=["children","rowKey","pagination","isSync"];var fe=function e(n){var t=N(Z);var a=n.children,o=n.rowKey,l=n.pagination,f=n.isSync,m=i(n,de);var v=z({});var g=x({}),h=g[0],y=g[1];var C=t.dynamicColumnsConfig,F=C.columnFoldConfig,S=C.onCloseColumnFoldModal,j=C.columnFoldOpen,K=C.onOpenColumnFoldModal,_=C.asyncColumnRequest,P=C.showFoldKeyList,q=C.onChangeShowFoldKeyList;var V=t.cacheKey,D=t.fieldNames,E=t.onRequest,A=t.tableDataSource,B=t.pageSize,M=t.tableTotal,Q=t.loading,U=t.paginationFixed,G=t.onSetPaginationStatus;var H=$.get(V);L.useEffectCustom((function(){t.onSetBaseColumns(n.columns||[])}),[]);T((function(){if(_!=null&&_.length){var e=function e(){var t;var i=_[n];v.current=r({},v.current,(t={},t[i.dataIndex]={loading:true},t));y(v.current);i.onRequest().then((function(e){var n;v.current=r({},v.current,(n={},n[i.dataIndex]={loading:false,respData:e},n));y(v.current)})).catch((function(e){var n;console.error(e==null?void 0:e.message);v.current=r({},v.current,(n={},n[i.dataIndex]={loading:false},n));y(v.current)}))};for(var n=0;n<_.length;n++){e()}}}),[_]);var Y=L.useMemoCustom((function(){if(t.columns){t.onSetColumns(t.columns);return t.columns}else{t.onSetColumns(n.columns);return n.columns}}),[t.columns,n.columns]);var J=le({columns:[].concat(Y)});var X=Y.filter((function(e){return!e.hidden&&e.isFold&&e.dataIndex}));J=se({cacheKey:V,columns:J,foldColumnList:X,showFoldKeyList:P,columnFoldConfig:F,onOpenColumnFoldModal:K,onChangeFoldColumnList:q});J=ue({columns:J,showFoldKeyList:P});J=ce({columns:J,asyncColumnRequestResult:h});L.useEffectCustom((function(){G(l!==false)}),[l]);p.useUpdateEffect((function(){if(!U){if(l!==false){var e;E((e={},e[D.pageSize]=H[D.pageSize]||B,e[D.pageNo]=1,e))}else{var n;E((n={},n[D.pageSize]=undefined,n[D.pageNo]=undefined,n))}}}),[l]);var ee=w((function(){if(U||l===false)return false;return r({showSizeChanger:true,current:H[D.pageNo]||1,pageSize:H[D.pageSize]||B,total:M,showTotal:function e(n){return"共 "+n+" 条记录"}},n.pagination)}),[H,D.pageNo,D.pageSize,B,l,U,n.pagination,M]);var ne=function e(t,r,i,a){if(a.action==="paginate"&&ee){var o;E((o={},o[D.pageSize]=t.pageSize,o[D.pageNo]=t.current,o))}else{n.onChange==null?void 0:n.onChange(t,r,i,a)}};var te=w((function(){if(!A)return undefined;if(A.length===0){return[]}if(typeof o==="string"&&u(A[0][o])){return A.map((function(e){e[o]=s();return e}))}return A}),[A,o]);J=w((function(){return J.map((function(e){if(!!e.defaultValue&&!e.render){e.render=function(n){return u(n)||n==""?e.defaultValue:n}}return e}))}),[J]);var re=function e(){if(f&&!te){return I(R,{children:[a,k(b,{size:"small",scroll:{x:"max-content"},bordered:true,rowKey:o,columns:J,loading:Q},"1")]})}if(c()){return I(R,{children:[a,k(b,r({size:"small",scroll:{x:"max-content"},bordered:true},m,{columns:J,pagination:ee,rowKey:o,onChange:ne,loading:Q,dataSource:te}),"2")]})}return I(R,{children:[a,k(W,{children:k(b,r({size:"small",scroll:{x:"max-content"},bordered:true},m,{columns:J,pagination:ee,rowKey:o,onChange:ne,loading:Q,dataSource:te}),"3")})]})};return I(O,{className:d("easy-table-table",{"ett-empty-show-small":n.emptyShowSize==="small"},n.tableWrapperClassName),style:n.tableWrapperStyle,children:[re(),k(ae,{dataList:X,onClose:S,open:j,onChange:q,cacheKey:V,initSelectedRowKeys:P})]})};var me=e.attachPropertiesToComponent(ne,{Filter:te,Table:fe,useEasyTablRef:ie,useEasyTable:re,setEnabledInitRequest:function e(n){J.set(n,false)}});export{me as EasyTable};
|
|
22
|
+
import{fbaUtils as e}from"../fba-utils/index.js";import{isArray as n}from"@dimjs/lang/cjs/is-array";import{isObject as t}from"@dimjs/lang/cjs/is-object";import{_ as r,a as i}from"../_rollupPluginBabelHelpers-a0769acd.js";import{sessionStorageCache as a,localStorageCache as o,noop as l,getUuid as s,isUndefinedOrNull as u,isMacEnv as c}from"@flatbiz/utils";import{classNames as d}from"@dimjs/utils/cjs/class-names";import{isUndefined as f}from"@dimjs/lang/cjs/is-undefined";import{get as m}from"@dimjs/utils/cjs/get";import{hooks as p}from"@wove/react/cjs/hooks";import{isString as v}from"@dimjs/lang/cjs/is-string";import{Checkbox as g,Popover as h,Form as y,message as C,Drawer as F,Table as b}from"antd";import{createContext as S,useState as x,Fragment as R,forwardRef as j,useMemo as w,useRef as z,useImperativeHandle as K,cloneElement as _,useContext as N,Children as P,useEffect as T}from"react";import{fbaHooks as L}from"../fba-hooks/index.js";import{PaginationWrapper as q}from"../pagination-wrapper/index.js";import{jsx as k,jsxs as I}from"react/jsx-runtime";import V from"@ant-design/icons/es/icons/DownOutlined";import D from"@ant-design/icons/es/icons/UpOutlined";import{isFragment as E}from"react-is";import{BlockLayout as O}from"../block-layout/index.js";import{ButtonWrapper as A}from"../button-wrapper/index.js";import{EasyForm as B}from"../easy-form/index.js";import{FormGrid as M}from"../form-grid/index.js";import{TableScrollbar as W}from"../table-scrollbar/index.js";import{FlexLayout as Q}from"../flex-layout/index.js";import{IconWrapper as U}from"../icon-wrapper/index.js";import{SvgHttpView as G}from"../svg-http-view/index.js";import{TableTitleTooltip as H}from"../table-title-tooltip/index.js";import{TipsWrapper as Y}from"../tips-wrapper/index.js";import"@dimjs/model";import"../use-responsive-point-21b8c601.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-promise";import"../index-7f4ad045.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"@dimjs/utils/cjs/extend";import"../box-grid/index.js";import"@dimjs/lang/cjs/is-number";import"ahooks";import"../form-wrapper/index.js";import"../pre-defined-class-name/index.js";import"@ant-design/icons/es/icons/QuestionCircleOutlined";var $={set:function e(n,t){var i=$.get(n);var o=r({},i,t);a.set("easy_tab_filter_"+n,o);return o},get:function e(n){var r=a.get("easy_tab_filter_"+n);return t(r)?r:{}},remove:function e(n){a.remove("easy_tab_filter_"+n)}};var J={set:function e(n,t){a.set("easy_tab_firstQuery_"+n,{value:t})},get:function e(n){var t;var r=(t=a.get("easy_tab_firstQuery_"+n))==null?void 0:t.value;return r===false?false:true},remove:function e(n){a.remove("easy_tab_firstQuery_"+n)}};var X={set:function e(n,t){o.set("easy_tab_columnFold_"+n,{value:t})},get:function e(t){var r;var i=(r=o.get("easy_tab_columnFold_"+t))==null?void 0:r.value;return n(i)?i:[]},remove:function e(n){o.remove("easy_tab_columnFold_"+n)}};var Z=S({onRequest:l,tableList:[],getEasyTableRef:function e(){}});var ee=function e(n){var t=x(n.initSelectedRowKeys||[]),r=t[0],i=t[1];var a=function e(t){i(t);n.onChange(t);if(n.cacheKey){X.set(n.cacheKey,t)}};var o=k(R,{children:k(g.Group,{defaultValue:r,onChange:a,value:r,style:{display:"flex",flexDirection:"column"},children:n.dataList.map((function(e){var n=e["_isFoldTitle"]||e.title;return k(g,{value:e.dataIndex,style:{padding:"0 0 5px 0"},children:n},e.dataIndex)}))})});var l=function e(t){if(t.target.checked){a(n.dataList.map((function(e){return e.dataIndex})))}else{a([])}};return k(h,{content:o,title:k(g,{checked:r.length===n.dataList.length,onChange:l,children:"全选(字段列表)"}),placement:"bottomRight",overlayClassName:"fold-operate-popiver",children:n.children})};var ne=j((function(t,i){var a;var o=L.useResponsivePoint();var l=x(),u=l[0],c=l[1];var g=x(0),h=g[0],F=g[1];var b=x(false),S=b[0],R=b[1];var j=t.columnFoldConfig;var N=t.asyncColumnRequest;var P=x(false),T=P[0],V=P[1];var D=w((function(){if(t.cacheKey)return t.cacheKey;if(t.cacheSwitch===true){return location.pathname}if(typeof t.cacheSwitch==="string"){return t.cacheSwitch}return s()}),[t.cacheSwitch,t.cacheKey]);var E=$.get(D);var O=x((function(){if(D){var e=X.get(D);var t=n(e)?e.filter((function(e){return v(e)})):[];return t.length>0?t:(j==null?void 0:j.initSelectedKeys)||[]}else{return(j==null?void 0:j.initSelectedKeys)||[]}})),A=O[0],B=O[1];var M=t.pageSize||((a=t.initialPaginationParams)==null?void 0:a.pageSize)||10;var W=t.initRequest===undefined?true:t.initRequest;var Q=z(false);var U=z();var G=z([]);var H=x(),Y=H[0],ne=H[1];var te=z([]);var re=r({list:"list",total:"total",pageNo:"pageNo",pageSize:"pageSize"},t.fieldNames);var ie=y.useForm(t.form),ae=ie[0];var oe=p.useCallbackRef((function(r){return new Promise((function(i,a){var o,l,s,u,d,f,p,v,g,h,y;var b=function(){try{return i()}catch(e){return a(e)}};var S=function(e){try{R(false);if(t.onRequestErrorHandle){t.onRequestErrorHandle(e)}else{void C.error(e.message)}return b()}catch(e){return a(e)}};try{if(t.breforeRequest){var x=function(){try{return w.call(this)}catch(e){return S(e)}}.bind(this);var j=function(e){try{return i()}catch(e){return S(e)}};try{return Promise.resolve(t.breforeRequest(ae)).then((function(e){try{return x()}catch(e){return j(e)}}),j)}catch(z){j(z)}}function w(){J.set(D,false);R(true);o=$.set(D,r);l=t.serviceConfig,s=l.requestParamsAdapter,u=l.onRequest,d=l.requestResultAdapter,f=l.dynamicColumsAdapter;p=s?s(o):o;return Promise.resolve(u(e.removeFormValuesInvalidField(p))).then((function(e){try{v=e||{};U.current=v;t.onDataSourceChange==null?void 0:t.onDataSourceChange(v);g=v;if(d){g=d(v)}if(f){h=f(v,G.current);ne(h)}y=m(g,re.list);c(n(y)?y:[]);F(m(g,re.total));R(false);return b()}catch(e){return S(e)}}),S)}return w.call(this)}catch(K){S(K)}}))}));L.useEffectCustom((function(){var e=je();var n=J.get(D);ae.setFieldsValue(r({},t.initialValues,E));if(W||!n){if(e){var i;void oe(r((i={},i[re.pageNo]=1,i[re.pageSize]=M,i),t.initialValues,E))}else{void oe(t.initialValues)}}else{$.set(D,t.initialValues||{})}}),[]);var le=p.useCallbackRef((function(e){$.remove(D);ae.resetFields();if(e){$.set(D,e);ae.setFieldsValue(e)}}));var se=p.useCallbackRef((function(e){$.set(D,e);ae.setFieldsValue(e)}));var ue=function e(n,t){if(je()){var r;return r={},r[re.pageNo]=n,r[re.pageSize]=t||M,r}else{var i;return i={},i[re.pageNo]=undefined,i[re.pageSize]=undefined,i}};var ce=p.useCallbackRef((function(e){var n=r({},ue(1,E[re.pageSize]),t.initialValues,e);$.remove(D);ae.resetFields();if(e){ae.setFieldsValue(e)}void oe(n)}));var de=p.useCallbackRef((function(){return r({},E,ae.getFieldsValue())}));var fe=p.useCallbackRef((function(){V(true)}));var me=p.useCallbackRef((function(){V(false)}));var pe=function e(){return{onRequest:oe,clearQueryCondition:le,updateQueryCondition:se,getRequestParams:de,onResetRequest:ce,form:ae,dataSource:U.current,getDataSource:function e(){return U.current},onFilterDataSource:function e(n){c(n)},onClearDataSource:function e(){F(0);c([])},onUpdateDataSource:function e(n){c(n);U.current=n;t.onDataSourceChange==null?void 0:t.onDataSourceChange(n)},columnFoldTriggerRender:function e(n,r){var i;if(((i=t.columnFoldConfig)==null?void 0:i.triggerType)==="drawer"){return _(n,{onClick:fe})}var a=r.filter((function(e){return!e.hidden&&e.isFold&&e.dataIndex}));return k(ee,{dataList:a,onChange:xe,cacheKey:D,initSelectedRowKeys:A,children:n})},onChangeTableColumns:function e(n){ne(n)},getTableColumns:function e(){return te.current},loading:S,setEnabledInitRequest:function e(){J.set(D,false)}}};K(i,(function(){return pe()}));var ve=function e(n){Q.current=n};var ge=function e(n){G.current=n};var he=function e(n){te.current=n};var ye=function e(){var n=ae.getFieldsValue();if(t.onFormFinish){t.onFormFinish(r({},n,ue(1,E[re.pageSize])))}else{void oe(r({},n,ue(1,E[re.pageSize])))}};var Ce=f(t.isFull)?true:t.isFull;var Fe=o==="xs"?false:t.filterFixed;var be=d("fba-easy-table",{"fba-easy-table-full":Ce,"fba-easy-table-filter-fixed":Fe,"fba-easy-table-pagination-fixed":t.paginationFixed},t.className);var Se=L.useMemoCustom((function(){return r({showSizeChanger:true,current:E[re.pageNo]||1,pageSize:E[re.pageSize]||M,total:h,showTotal:function e(n){return"共 "+n+" 条记录"}},t.pagination)}),[re.pageNo,E,re.pageSize,D,M,t.pagination,h]);var xe=function e(n){B(n);j==null||j.onChange==null?void 0:j.onChange(n)};var Re=p.useCallbackRef((function(e,n){var r,i;var a=(r={},r[re.pageSize]=n,r[re.pageNo]=e,r);$.set(D,a);void oe(a);(i=t.pagination)==null||i.onChange==null?void 0:i.onChange(e,n)}));var je=function e(){return t.paginationFixed||Q.current};p.useUpdateEffect((function(){if(t.paginationFixed){var e;void oe((e={},e[re.pageSize]=E[re.pageSize]||M,e[re.pageNo]=1,e))}else{var n;void oe((n={},n[re.pageSize]=undefined,n[re.pageNo]=undefined,n))}}),[t.paginationFixed]);var we=d("fba-easy-table-wrapper",{"fba-easy-table-wrapper-inline":t.isInline},t.className);var ze=r({overflowY:t.filterFixed||t.paginationFixed?"hidden":"auto"},t.style);var Ke=typeof t.children==="function"?t.children(U.current):t.children;return k(Z.Provider,{value:{onSetBaseColumns:ge,onSetColumns:he,getEasyTableRef:pe,cacheKey:D,onRequest:oe,tableDataSource:u,tableTotal:h,loading:S,fieldNames:re,pageSize:M,onSetPaginationStatus:ve,getPaginationStatus:je,onFormFinish:ye,form:ae,paginationFixed:t.paginationFixed||false,foldKeys:t.foldKeys||[],columns:Y,initialValues:t.initialValues,dynamicColumnsConfig:{showFoldKeyList:A,onChangeShowFoldKeyList:xe,columnFoldConfig:j,onOpenColumnFoldModal:fe,onCloseColumnFoldModal:me,columnFoldOpen:T,asyncColumnRequest:N}},children:t.paginationFixed?I("div",{className:we,style:ze,children:[k("div",{className:be,children:Ke}),h>0&&k("div",{className:"fba-easy-table-pagination",children:k(q,r({size:"small"},Se,{onChange:Re}))})]}):k("div",{className:we,style:t.style,children:k("div",{className:be,children:Ke})})})}));var te=function e(n){var t=L.useResponsivePoint()||"md";var i=N(Z);var a=n.queryButtonProps,o=n.resetButtonProps,l=n.filterOperate,s=n.formClassName,u=s===void 0?"":s,c=n.defaultResetButtonTriggerRequest,m=n.filterWrapperStyle,v=n.filterWrapperClassName,g=n.rightOperateAreaAppendType,h=n.easyFormProps;var y=i.cacheKey,C=i.foldKeys,F=i.fieldNames,b=i.onRequest,S=i.pageSize,R=i.getPaginationStatus,j=i.initialValues,z=i.form,K=i.onFormFinish;var _=typeof n.children==="function"?n.children(z):n.children;var T=g||"cover";var q=w((function(){if(E(_)){return P.toArray(_.props.children)}else{return P.toArray(_)}}),[_]);var W=x(false),Q=W[0],U=W[1];var G=p.useCallbackRef((function(){return new Promise((function(e,n){var t;$.remove(y);z.resetFields();z.setFieldsValue(j);if(f(c)||c){return Promise.resolve(z.validateFields()).then(function(e){try{if(R()){b(r((t={},t[F.pageNo]=1,t[F.pageSize]=S,t),j))}else{b(j)}return i.call(this)}catch(e){return n(e)}}.bind(this),n)}function i(){return e()}return i.call(this)}))}));var H=w((function(){var e=[!(a!=null&&a.hidden)?k(A,r({type:"primary",htmlType:"submit"},a,{children:(a==null?void 0:a.text)||"查询"}),"1"):null,!(o!=null&&o.hidden)?k(A,r({onClick:G},o,{children:(o==null?void 0:o.text)||"重置"}),"2"):null].filter(Boolean);var n=l==null?void 0:l(z);var t=n==null?void 0:n.rightList;var i=(n==null?void 0:n.leftList)||[];var s=e;if(t){if(T==="afterAppend"){s=[].concat(e,t)}else if(T==="beforeAppend"){s=[].concat(t,e)}else{s=t}}if(C.length>0){var u=k(A,{type:"link",style:{padding:"0"},onClick:function e(){U(!Q)},children:Q?I("span",{children:["收起",k(D,{style:{marginLeft:3,fontSize:12}})]}):I("span",{children:["展开",k(V,{style:{marginLeft:3,fontSize:12}})]})},"fold-trigger");if(s.length>0||i.length===0){s.push(u)}else if((i==null?void 0:i.length)>0){i.push(u)}}return q.map((function(e,n){if(!Q&&C.find((function(n){return".$"+n===e.key})))return null;if(e.props["hidden"])return null;if(e.type["domTypeName"]==="FormCol")return e;return k(M.Col,{children:e},n)})).filter(Boolean).concat(k(M.OperateCol,r({},n,{leftList:i,rightList:s}),999))}),[q,l,C,z,G,Q,a,o,T]);var Y=t==="xs"?"left":(h==null?void 0:h.labelAlign)||"right";return k(O,{className:d("easy-table-filter",v),style:m,children:k(B,r({form:z,autoComplete:"off",onFinish:K,className:u,style:n.formStyle,isPure:true,labelWidth:"80",formItemGap:"15"},h,{labelAlign:Y,children:n.isPure?_:k(M.Row,{gutter:[15,0],gridSize:n.formGridSize,children:H})}))})};var re=function e(){var n=N(Z);return n.getEasyTableRef()};var ie=function e(){var n=N(Z);return{current:n.getEasyTableRef()}};var ae=function e(n){var t=x(n.initSelectedRowKeys||[]),r=t[0],i=t[1];var a={type:"checkbox",selectedRowKeys:r,onChange:function e(t){i(t);n.onChange(t);if(n.cacheKey){X.set(n.cacheKey,t)}}};var o=[{title:"字段名称",dataIndex:"title",render:function e(n,t){return t["_isFoldTitle"]||n}},{title:"字段Key",dataIndex:"dataIndex"}];return k(R,{children:k(F,{title:"选择字段",open:n.open,onClose:n.onClose,width:"35%",styles:{body:{padding:15}},children:k(b,{bordered:true,size:"small",columns:o,rowSelection:a,rowKey:"dataIndex",pagination:false,scroll:{x:"max-content"},dataSource:n.dataList})})})};var oe=["tooltip","tipsWrapperProps","title"];var le=function e(n){return w((function(){var e=n.columns.map((function(e){var n=e.tooltip,t=e.tipsWrapperProps,a=e.title,o=i(e,oe);if(typeof a==="string"&&t){if(typeof t==="string"){return r({},o,{title:k(Y,{tipType:"popover",popoverProps:{content:t},children:a})})}return r({},o,{title:k(Y,r({},t,{children:a}))})}if(typeof a==="string"&&!!n){return r({},o,{title:k(H,{tooltip:n,title:a})})}return e})).filter(Boolean);return[].concat(e)}),[n.columns])};var se=function e(n){var t=n.columns;return L.useMemoCustom((function(){var e;if((e=n.columnFoldConfig)!=null&&e.hidden)return t;var r=t[t.length-1];if(n.foldColumnList.length>0&&t.length>0){var i=t.find((function(e){return e["_isFoldColumn"]}));if(i&&r.dataIndex!==i.dataIndex){i.title=i["_isFoldTitle"];i["_isFoldColumn"]=false}if(!r["_isFoldColumn"]){var a,o,l,s,u,c;r["_isFoldTitle"]=r["_isFoldTitle"]||r.title;r["_isFoldColumn"]=true;var d=(a=n.columnFoldConfig)==null?void 0:a.triggerType;r.title=I(Q,{direction:"horizontal",fullIndex:0,style:{alignItems:"center"},children:[k("span",{children:r.title}),k("div",{style:{padding:"0 5px 0 20px",display:"flex"},children:d==="drawer"?k(U,{onClick:n.onOpenColumnFoldModal,text:(o=n.columnFoldConfig)==null?void 0:o.text,size:"small",icon:((l=n.columnFoldConfig)==null?void 0:l.icon)||k(G,{svgPath:"ionic/list-circle",color:"#868686"}),hoverTips:((s=n.columnFoldConfig)==null?void 0:s.hoverTipText)||"字段列表",style:{padding:0,margin:0}}):k(ee,{dataList:n.foldColumnList,onChange:n.onChangeFoldColumnList,cacheKey:n.cacheKey,initSelectedRowKeys:n.showFoldKeyList,children:k(U,{text:(u=n.columnFoldConfig)==null?void 0:u.text,style:{padding:0,margin:0},size:"small",icon:((c=n.columnFoldConfig)==null?void 0:c.icon)||k(G,{svgPath:"ionic/list-circle",color:"#868686"})})})})]})}}return t}),[n.columns,n.columnFoldConfig])};var ue=function e(n){return w((function(){var e=n.columns.map((function(e){var t=e.hidden,r=e.isFold;if(t)return null;if(r&&!n.showFoldKeyList.includes(e.dataIndex))return null;return e})).filter(Boolean);return[].concat(e)}),[n.columns,n.showFoldKeyList])};var ce=function e(n){return w((function(){if(!Object.keys(n.asyncColumnRequestResult))return n.columns;return n.columns.map((function(e){var t=e.dataIndex;var r=n.asyncColumnRequestResult[t];if(t&&r){if(r.loading){e.render=function(e){return k(A,{loading:true,type:"text",loadingPosition:"center",removeGap:true,children:e})}}else if(e.asyncRender){e.render=function(n,t,i){return e.asyncRender==null?void 0:e.asyncRender(n,t,i,r.respData)}}}return e}))}),[n.columns,n.asyncColumnRequestResult])};var de=["children","rowKey","pagination","isSync"];var fe=function e(n){var t=N(Z);var a=n.children,o=n.rowKey,l=n.pagination,f=n.isSync,m=i(n,de);var v=L.useResponsivePoint()||"";var g=z({});var h=x({}),y=h[0],C=h[1];var F=t.dynamicColumnsConfig,S=F.columnFoldConfig,j=F.onCloseColumnFoldModal,K=F.columnFoldOpen,_=F.onOpenColumnFoldModal,P=F.asyncColumnRequest,q=F.showFoldKeyList,V=F.onChangeShowFoldKeyList;var D=t.cacheKey,E=t.fieldNames,A=t.onRequest,B=t.tableDataSource,M=t.pageSize,Q=t.tableTotal,U=t.loading,G=t.paginationFixed,H=t.onSetPaginationStatus;var Y=$.get(D);L.useEffectCustom((function(){t.onSetBaseColumns(n.columns||[])}),[]);T((function(){if(P!=null&&P.length){var e=function e(){var t;var i=P[n];g.current=r({},g.current,(t={},t[i.dataIndex]={loading:true},t));C(g.current);i.onRequest().then((function(e){var n;g.current=r({},g.current,(n={},n[i.dataIndex]={loading:false,respData:e},n));C(g.current)})).catch((function(e){var n;console.error(e==null?void 0:e.message);g.current=r({},g.current,(n={},n[i.dataIndex]={loading:false},n));C(g.current)}))};for(var n=0;n<P.length;n++){e()}}}),[P]);var J=L.useMemoCustom((function(){if(t.columns){t.onSetColumns(t.columns);return t.columns}else{t.onSetColumns(n.columns);return n.columns}}),[t.columns,n.columns]);var X=le({columns:[].concat(J)});var ee=J.filter((function(e){return!e.hidden&&e.isFold&&e.dataIndex}));X=se({cacheKey:D,columns:X,foldColumnList:ee,showFoldKeyList:q,columnFoldConfig:S,onOpenColumnFoldModal:_,onChangeFoldColumnList:V});X=ue({columns:X,showFoldKeyList:q});X=ce({columns:X,asyncColumnRequestResult:y});L.useEffectCustom((function(){H(l!==false)}),[l]);p.useUpdateEffect((function(){if(!G){if(l!==false){var e;A((e={},e[E.pageSize]=Y[E.pageSize]||M,e[E.pageNo]=1,e))}else{var n;A((n={},n[E.pageSize]=undefined,n[E.pageNo]=undefined,n))}}}),[l]);var ne=w((function(){if(G||l===false)return false;return r({showSizeChanger:true,current:Y[E.pageNo]||1,pageSize:Y[E.pageSize]||M,total:Q,showTotal:function e(n){return"共 "+n+" 条记录"}},n.pagination)}),[Y,E.pageNo,E.pageSize,M,l,G,n.pagination,Q]);var te=function e(t,r,i,a){if(a.action==="paginate"&&ne){var o;A((o={},o[E.pageSize]=t.pageSize,o[E.pageNo]=t.current,o))}else{n.onChange==null?void 0:n.onChange(t,r,i,a)}};var re=w((function(){if(!B)return undefined;if(B.length===0){return[]}if(typeof o==="string"&&u(B[0][o])){return B.map((function(e){e[o]=s();return e}))}return B}),[B,o]);X=w((function(){return X.map((function(e){if(!!e.fixed&&v==="xs"){e.fixed=undefined}if(!!e.defaultValue&&!e.render){e.render=function(n){return u(n)||n==""?e.defaultValue:n}}return e}))}),[X,v]);var ie=function e(){if(f&&!re){return I(R,{children:[a,k(b,{size:"small",scroll:{x:"max-content"},bordered:true,rowKey:o,columns:X,loading:U},"1")]})}if(c()){return I(R,{children:[a,k(b,r({size:"small",scroll:{x:"max-content"},bordered:true},m,{columns:X,pagination:ne,rowKey:o,onChange:te,loading:U,dataSource:re}),"2")]})}return I(R,{children:[a,k(W,{children:k(b,r({size:"small",scroll:{x:"max-content"},bordered:true},m,{columns:X,pagination:ne,rowKey:o,onChange:te,loading:U,dataSource:re}),"3")})]})};return I(O,{className:d("easy-table-table",{"ett-empty-show-small":n.emptyShowSize==="small"},n.tableWrapperClassName),style:n.tableWrapperStyle,children:[ie(),k(ae,{dataList:ee,onClose:j,open:K,onChange:V,cacheKey:D,initSelectedRowKeys:q})]})};var me=e.attachPropertiesToComponent(ne,{Filter:te,Table:fe,useEasyTablRef:ie,useEasyTable:re,setEnabledInitRequest:function e(n){J.set(n,false)}});export{me as EasyTable};
|
|
23
23
|
//# sourceMappingURL=index.js.map
|