@flatbiz/antd 4.2.26 → 4.2.28
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-f09bce7f.js → button-operate-260750d4.js} +2 -2
- package/esm/{button-operate-f09bce7f.js.map → button-operate-260750d4.js.map} +1 -1
- package/esm/button-wrapper/index.js +1 -1
- package/esm/{button-wrapper-698da5b1.js → button-wrapper-6441881c.js} +2 -2
- package/esm/{button-wrapper-698da5b1.js.map → button-wrapper-6441881c.js.map} +1 -1
- package/esm/check-list/index.js +2 -1
- package/esm/check-list/index.js.map +1 -1
- package/esm/dialog-alert/index.js +1 -1
- package/esm/dialog-confirm/index.js +1 -1
- package/esm/{dialog-confirm-0ebd95e5.js → dialog-confirm-4b387b9b.js} +2 -2
- package/esm/{dialog-confirm-0ebd95e5.js.map → dialog-confirm-4b387b9b.js.map} +1 -1
- package/esm/dialog-drawer/index.js +1 -1
- package/esm/dialog-modal/index.js +1 -1
- package/esm/{dialog-modal-910b7cec.js → dialog-modal-8568caf2.js} +2 -2
- package/esm/{dialog-modal-910b7cec.js.map → dialog-modal-8568caf2.js.map} +1 -1
- package/esm/dropdown-menu-wrapper/index.js +1 -1
- package/esm/{dropdown-menu-wrapper-24932100.js → dropdown-menu-wrapper-bd05860d.js} +2 -2
- package/esm/dropdown-menu-wrapper-bd05860d.js.map +1 -0
- package/esm/dynamic-node/index.js +1 -1
- package/esm/dynamic-node-c7864af4.js +3 -0
- package/esm/dynamic-node-c7864af4.js.map +1 -0
- package/esm/easy-table/index.js +2 -2
- package/esm/easy-table/index.js.map +1 -1
- package/esm/fba-utils/index.js +1 -1
- package/esm/fba-utils-1e895394.js +3 -0
- package/esm/fba-utils-1e895394.js.map +1 -0
- package/esm/form-grid/index.js +1 -1
- package/esm/form-grid/index.js.map +1 -1
- package/esm/form-item-group/index.js +1 -1
- package/esm/form-item-hidden/index.css +0 -0
- package/esm/form-item-hidden/index.js +5 -0
- package/esm/form-item-hidden/index.js.map +1 -0
- package/esm/form-item-normalize/index.css +0 -0
- package/esm/form-item-normalize/index.js +5 -0
- package/esm/form-item-normalize/index.js.map +1 -0
- package/esm/label-value-layout/index.js.map +1 -1
- package/esm/local-loading/index.css +1 -1
- package/esm/local-loading/index.js +2 -1
- package/esm/local-loading/index.js.map +1 -1
- package/esm/permission/index.js +1 -1
- package/esm/rich-text-editor/index.js +1 -1
- package/esm/{rich-text-editor-e2ff6a3d.js → rich-text-editor-c8bac6d2.js} +2 -2
- package/esm/{rich-text-editor-e2ff6a3d.js.map → rich-text-editor-c8bac6d2.js.map} +1 -1
- package/esm/rich-text-viewer/index.js +1 -1
- package/esm/rich-text-viewer/index.js.map +1 -1
- package/esm/table-cell-render/index.js +1 -1
- package/esm/time-range-picker-wrapper-form-item/index.js +1 -1
- package/esm/tree-wrapper/index.js +1 -1
- package/index.d.ts +51 -4
- package/package.json +1 -1
- package/esm/attach-properties-to-component-9d9644cf.js +0 -3
- package/esm/attach-properties-to-component-9d9644cf.js.map +0 -1
- package/esm/dropdown-menu-wrapper-24932100.js.map +0 -1
- package/esm/dynamic-node-577ef8fd.js +0 -3
- package/esm/dynamic-node-577ef8fd.js.map +0 -1
- package/esm/fba-utils-a4c7d94d.js +0 -3
- package/esm/fba-utils-a4c7d94d.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-260750d4.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-6441881c.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-bd05860d.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-
|
|
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-6441881c.js";import{D as k}from"./dropdown-menu-wrapper-bd05860d.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"];var x=function r(e){if(e.hoverTips){if(e.tipsType==="popover"){return P(p,{content:e.hoverTips,zIndex:1e3,children:P(h,{children:e.children})})}return P(c,{title:e.hoverTips,zIndex:1e3,children:P(h,{children:e.children})})}return P(h,{children:e.children})};var B=function p(c){var h=v(false),B=h[0],I=h[1];var z=a.useCallbackRef((function(r,e){var i=r.onClick==null?void 0:r.onClick(e);if(i&&l(i)){I(true);return i.finally((function(){I(false)}))}return}));var F=c.operateList.filter((function(r){if(!r)return false;if(g(r)){var e,i;if(((e=r.props)==null?void 0:e["hidden"])===true)return false;var n=(i=r.props)==null?void 0:i["v-permission"];if(s(n)){return C.hasPermission(n)}return true}if(t(r)){if(!C.hasPermission(r["permission"])){return false}return!r["hidden"]}return false}));var M=T((function(){return F.filter((function(r){if(g(r)){return true}return!r["isFold"]}))}),[F]);var N=T((function(){var r=F.filter((function(r){if(g(r)){return false}return r["isFold"]}));var i=[];r.forEach((function(r){var n=e({},r);delete n.isFold;i.push(n)}));return i}),[F]);var O=c.gap===undefined?10:c.gap;var H=!c.split?O:0;return P("div",{className:o("table-operate",c.className),style:c.style,children:b(f,e({split:c.split?P(u,{type:"vertical"}):null,size:H,wrap:n(c.wrap)?true:c.wrap},c.spaceProps,{children:[M.map((function(r,n){if(r&&g(r)){return P(x,{hoverTips:r.hoverTips,tipsType:r.tipsType,children:r},n)}var o=r.text,t=r.onClick,s=r.needConfirm,l=r.confirmMessage,a=r.popconfirmProps,p=i(r,w);var c=r.type||"link";if(s&&!p.disabled){var f=!!r.color?false:true;return P(x,{hoverTips:r.hoverTips,tipsType:r.tipsType,children:j(d,e({okText:"确定",cancelText:"取消",trigger:["click"],placement:"topRight",arrow:true,destroyTooltipOnHide:true},a,{title:l,onConfirm:z.bind(null,r),key:n,okButtonProps:{loading:B},onOpenChange:function r(e){if(!e){I(false)}}}),P(y,e({danger:f},p,{onClick:undefined,type:c,children:g(o)?P("span",{children:o}):o})))},n)}return P(x,{hoverTips:r.hoverTips,tipsType:r.tipsType,children:P(y,e({loadingPosition:"center"},p,{type:c,onClick:function r(e){e.stopPropagation();return t==null?void 0:t(e)},children:g(o)?P("span",{children:o}):o}))},n)})),N.length>0?P(k,{menuList:N,children:P(m,{type:"link",className:"fold-more-button",onClick:function r(e){e.stopPropagation()},children:c.foldIcon?c.foldIcon:P(r,{})})}):null]}))})};B.defaultProps={split:true};export{x as B,B as a};
|
|
3
|
+
//# sourceMappingURL=button-operate-260750d4.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button-operate-f09bce7f.js","sources":["@flatbiz/antd/src/button-operate/button-operate.tsx"],"sourcesContent":["import { MoreOutlined } from '@ant-design/icons';\nimport { isPlainObject, isPromise, isString, isUndefined } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { hooks } from '@wove/react';\nimport { Button, Divider, Popconfirm, PopconfirmProps, Popover, Space, SpaceProps, Tooltip } from 'antd';\nimport {\n CSSProperties,\n FC,\n Fragment,\n isValidElement,\n ReactElement,\n ReactNode,\n useMemo,\n useState,\n} from 'react';\nimport { ButtonWrapper, ButtonWrapperProps } from '../button-wrapper';\nimport { DropdownMenuWrapper } from '../dropdown-menu-wrapper';\nimport { fbaUtils } from '../fba-utils';\n\nimport './style.less';\n\nexport interface ButtonOperateItem extends ButtonWrapperProps {\n /** hover 提示文字 */\n hoverTips?: string | React.ReactElement;\n /** hover 提示类型 默认:'tooltip' */\n tipsType?: 'popover' | 'tooltip';\n text?: string | ReactElement;\n color?: string;\n onClick?: (event: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n permission?: string;\n needConfirm?: boolean;\n confirmMessage?: string;\n hidden?: boolean;\n popconfirmProps?: Pick<PopconfirmProps, 'placement' | 'okText' | 'cancelText' | 'trigger'>;\n // 是否折叠合拢\n isFold?: boolean;\n}\n\nexport interface ButtonOperateProps {\n /**\n * 如果数组中元素为ReactElement类型\n * 1. 一般为antd Button组件,如果组件存在属性hidden=true,则会隐藏\n * 2. 可配置 v-permission 权限值,例如 v-permission=\"add\"\n * 3. 任何confirm、disabled等状态在外部控制\n * 3. 不支持fold效果\n */\n operateList: Array<ButtonOperateItem | null | ReactElement>;\n wrap?: boolean;\n foldIcon?: ReactElement;\n className?: string;\n split?: boolean;\n spaceProps?: SpaceProps;\n /** 间距,默认:10;split=true配置下无效(可通过spaceProps设置间距) */\n gap?: number;\n style?: CSSProperties;\n}\n\nexport const ButtonOperateItemContent = (\n props: Pick<ButtonOperateItem, 'hoverTips' | 'tipsType'> & { children?: ReactNode },\n) => {\n if (props.hoverTips) {\n if (props.tipsType === 'popover') {\n return (\n <Popover content={props.hoverTips} zIndex={1000}>\n <Fragment>{props.children}</Fragment>\n </Popover>\n );\n }\n return (\n <Tooltip title={props.hoverTips} zIndex={1000}>\n <Fragment>{props.children}</Fragment>\n </Tooltip>\n );\n }\n return <Fragment>{props.children}</Fragment>;\n};\n\nexport const ButtonOperate: FC<ButtonOperateProps> = (props) => {\n const [loading, setLoading] = useState(false);\n\n const onConfirm = hooks.useCallbackRef((item: ButtonOperateItem, event) => {\n const result = item.onClick?.(event);\n if (result && isPromise(result)) {\n setLoading(true);\n return result.finally(() => {\n setLoading(false);\n });\n }\n return;\n });\n\n const operateList = props.operateList.filter((item) => {\n if (!item) return false;\n if (isValidElement(item)) {\n if (item.props?.['hidden'] === true) return false;\n const permission = item.props?.['v-permission'];\n if (isString(permission)) {\n return fbaUtils.hasPermission(permission);\n }\n return true;\n }\n if (isPlainObject(item)) {\n if (!fbaUtils.hasPermission(item['permission'])) {\n return false;\n }\n return !item['hidden'];\n }\n return false;\n }) as Array<ButtonOperateItem | ReactElement>;\n\n const viewList = useMemo(() => {\n return operateList.filter((item) => {\n if (isValidElement(item)) {\n return true;\n }\n return !item['isFold'];\n }) as ButtonOperateItem[];\n }, [operateList]);\n\n const foldList = useMemo(() => {\n const filterList = operateList.filter((item) => {\n if (isValidElement(item)) {\n return false;\n }\n return item['isFold'];\n }) as ButtonOperateItem[];\n const result = [] as ButtonOperateItem[];\n filterList.forEach((item) => {\n const target = { ...item };\n // 多余字段渲染到react dom上,出现警告\n delete target.isFold;\n result.push(target);\n });\n return result;\n }, [operateList]);\n\n const gap = props.gap === undefined ? 10 : props.gap;\n const size = !props.split ? gap : 0;\n\n return (\n <div className={classNames('table-operate', props.className)} style={props.style}>\n <Space\n split={props.split ? <Divider type=\"vertical\" /> : null}\n size={size}\n wrap={isUndefined(props.wrap) ? true : props.wrap}\n {...props.spaceProps}\n >\n {viewList.map((item, index) => {\n if (item && isValidElement(item)) {\n return (\n <ButtonOperateItemContent hoverTips={item.hoverTips} tipsType={item.tipsType} key={index}>\n {item}\n </ButtonOperateItemContent>\n );\n }\n const { text, onClick, needConfirm, confirmMessage, popconfirmProps, ...otherProps } = item;\n const type = item.type || 'link';\n if (needConfirm && !otherProps.disabled) {\n const danger = !!item.color ? false : true;\n return (\n <ButtonOperateItemContent hoverTips={item.hoverTips} tipsType={item.tipsType} key={index}>\n <Popconfirm\n okText=\"确定\"\n cancelText=\"取消\"\n trigger={['click']}\n placement=\"topRight\"\n arrow={true}\n destroyTooltipOnHide={true}\n {...popconfirmProps}\n title={confirmMessage}\n onConfirm={onConfirm.bind(null, item)}\n key={index}\n okButtonProps={{\n loading,\n }}\n onOpenChange={(_open) => {\n if (!_open) {\n setLoading(false);\n }\n }}\n >\n <ButtonWrapper danger={danger} {...otherProps} onClick={undefined} type={type}>\n {isValidElement(text) ? <span>{text}</span> : text}\n </ButtonWrapper>\n </Popconfirm>\n </ButtonOperateItemContent>\n );\n }\n return (\n <ButtonOperateItemContent hoverTips={item.hoverTips} tipsType={item.tipsType} key={index}>\n <ButtonWrapper\n loadingPosition=\"center\"\n {...otherProps}\n type={type}\n onClick={(event) => {\n event.stopPropagation();\n return onClick?.(event);\n }}\n >\n {isValidElement(text) ? <span>{text}</span> : text}\n </ButtonWrapper>\n </ButtonOperateItemContent>\n );\n })}\n {foldList.length > 0 ? (\n <DropdownMenuWrapper menuList={foldList}>\n <Button\n type=\"link\"\n className=\"fold-more-button\"\n onClick={(event) => {\n event.stopPropagation();\n }}\n >\n {props.foldIcon ? props.foldIcon : <MoreOutlined />}\n </Button>\n </DropdownMenuWrapper>\n ) : null}\n </Space>\n </div>\n );\n};\n\nButtonOperate.defaultProps = {\n split: true,\n};\n"],"names":["ButtonOperateItemContent","props","hoverTips","tipsType","_jsx","Popover","content","zIndex","children","Fragment","Tooltip","title","ButtonOperate","_useState","useState","loading","setLoading","onConfirm","_hooks","useCallbackRef","item","event","result","onClick","_isPromise","finally","operateList","filter","isValidElement","_item$props","_item$props2","permission","_isString","fbaUtils","hasPermission","_isPlainObject","viewList","useMemo","foldList","filterList","forEach","target","_extends","isFold","push","gap","undefined","size","split","className","_classNames","style","_jsxs","Space","Divider","type","wrap","_isUndefined","spaceProps","map","index","text","needConfirm","confirmMessage","popconfirmProps","otherProps","_objectWithoutPropertiesLoose","_excluded","disabled","danger","color","_createElement","Popconfirm","okText","cancelText","trigger","placement","arrow","destroyTooltipOnHide","bind","key","okButtonProps","onOpenChange","_open","ButtonWrapper","loadingPosition","stopPropagation","length","DropdownMenuWrapper","menuList","Button","foldIcon","_MoreOutlined","defaultProps"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"button-operate-260750d4.js","sources":["@flatbiz/antd/src/button-operate/button-operate.tsx"],"sourcesContent":["import { MoreOutlined } from '@ant-design/icons';\nimport { isPlainObject, isPromise, isString, isUndefined } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { hooks } from '@wove/react';\nimport { Button, Divider, Popconfirm, PopconfirmProps, Popover, Space, SpaceProps, Tooltip } from 'antd';\nimport {\n CSSProperties,\n FC,\n Fragment,\n isValidElement,\n ReactElement,\n ReactNode,\n useMemo,\n useState,\n} from 'react';\nimport { ButtonWrapper, ButtonWrapperProps } from '../button-wrapper';\nimport { DropdownMenuWrapper } from '../dropdown-menu-wrapper';\nimport { fbaUtils } from '../fba-utils';\n\nimport './style.less';\n\nexport interface ButtonOperateItem extends ButtonWrapperProps {\n /** hover 提示文字 */\n hoverTips?: string | React.ReactElement;\n /** hover 提示类型 默认:'tooltip' */\n tipsType?: 'popover' | 'tooltip';\n text?: string | ReactElement;\n color?: string;\n onClick?: (event: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n permission?: string;\n needConfirm?: boolean;\n confirmMessage?: string;\n hidden?: boolean;\n popconfirmProps?: Pick<PopconfirmProps, 'placement' | 'okText' | 'cancelText' | 'trigger'>;\n // 是否折叠合拢\n isFold?: boolean;\n}\n\nexport interface ButtonOperateProps {\n /**\n * 如果数组中元素为ReactElement类型\n * 1. 一般为antd Button组件,如果组件存在属性hidden=true,则会隐藏\n * 2. 可配置 v-permission 权限值,例如 v-permission=\"add\"\n * 3. 任何confirm、disabled等状态在外部控制\n * 3. 不支持fold效果\n */\n operateList: Array<ButtonOperateItem | null | ReactElement>;\n wrap?: boolean;\n foldIcon?: ReactElement;\n className?: string;\n split?: boolean;\n spaceProps?: SpaceProps;\n /** 间距,默认:10;split=true配置下无效(可通过spaceProps设置间距) */\n gap?: number;\n style?: CSSProperties;\n}\n\nexport const ButtonOperateItemContent = (\n props: Pick<ButtonOperateItem, 'hoverTips' | 'tipsType'> & { children?: ReactNode },\n) => {\n if (props.hoverTips) {\n if (props.tipsType === 'popover') {\n return (\n <Popover content={props.hoverTips} zIndex={1000}>\n <Fragment>{props.children}</Fragment>\n </Popover>\n );\n }\n return (\n <Tooltip title={props.hoverTips} zIndex={1000}>\n <Fragment>{props.children}</Fragment>\n </Tooltip>\n );\n }\n return <Fragment>{props.children}</Fragment>;\n};\n\nexport const ButtonOperate: FC<ButtonOperateProps> = (props) => {\n const [loading, setLoading] = useState(false);\n\n const onConfirm = hooks.useCallbackRef((item: ButtonOperateItem, event) => {\n const result = item.onClick?.(event);\n if (result && isPromise(result)) {\n setLoading(true);\n return result.finally(() => {\n setLoading(false);\n });\n }\n return;\n });\n\n const operateList = props.operateList.filter((item) => {\n if (!item) return false;\n if (isValidElement(item)) {\n if (item.props?.['hidden'] === true) return false;\n const permission = item.props?.['v-permission'];\n if (isString(permission)) {\n return fbaUtils.hasPermission(permission);\n }\n return true;\n }\n if (isPlainObject(item)) {\n if (!fbaUtils.hasPermission(item['permission'])) {\n return false;\n }\n return !item['hidden'];\n }\n return false;\n }) as Array<ButtonOperateItem | ReactElement>;\n\n const viewList = useMemo(() => {\n return operateList.filter((item) => {\n if (isValidElement(item)) {\n return true;\n }\n return !item['isFold'];\n }) as ButtonOperateItem[];\n }, [operateList]);\n\n const foldList = useMemo(() => {\n const filterList = operateList.filter((item) => {\n if (isValidElement(item)) {\n return false;\n }\n return item['isFold'];\n }) as ButtonOperateItem[];\n const result = [] as ButtonOperateItem[];\n filterList.forEach((item) => {\n const target = { ...item };\n // 多余字段渲染到react dom上,出现警告\n delete target.isFold;\n result.push(target);\n });\n return result;\n }, [operateList]);\n\n const gap = props.gap === undefined ? 10 : props.gap;\n const size = !props.split ? gap : 0;\n\n return (\n <div className={classNames('table-operate', props.className)} style={props.style}>\n <Space\n split={props.split ? <Divider type=\"vertical\" /> : null}\n size={size}\n wrap={isUndefined(props.wrap) ? true : props.wrap}\n {...props.spaceProps}\n >\n {viewList.map((item, index) => {\n if (item && isValidElement(item)) {\n return (\n <ButtonOperateItemContent hoverTips={item.hoverTips} tipsType={item.tipsType} key={index}>\n {item}\n </ButtonOperateItemContent>\n );\n }\n const { text, onClick, needConfirm, confirmMessage, popconfirmProps, ...otherProps } = item;\n const type = item.type || 'link';\n if (needConfirm && !otherProps.disabled) {\n const danger = !!item.color ? false : true;\n return (\n <ButtonOperateItemContent hoverTips={item.hoverTips} tipsType={item.tipsType} key={index}>\n <Popconfirm\n okText=\"确定\"\n cancelText=\"取消\"\n trigger={['click']}\n placement=\"topRight\"\n arrow={true}\n destroyTooltipOnHide={true}\n {...popconfirmProps}\n title={confirmMessage}\n onConfirm={onConfirm.bind(null, item)}\n key={index}\n okButtonProps={{\n loading,\n }}\n onOpenChange={(_open) => {\n if (!_open) {\n setLoading(false);\n }\n }}\n >\n <ButtonWrapper danger={danger} {...otherProps} onClick={undefined} type={type}>\n {isValidElement(text) ? <span>{text}</span> : text}\n </ButtonWrapper>\n </Popconfirm>\n </ButtonOperateItemContent>\n );\n }\n return (\n <ButtonOperateItemContent hoverTips={item.hoverTips} tipsType={item.tipsType} key={index}>\n <ButtonWrapper\n loadingPosition=\"center\"\n {...otherProps}\n type={type}\n onClick={(event) => {\n event.stopPropagation();\n return onClick?.(event);\n }}\n >\n {isValidElement(text) ? <span>{text}</span> : text}\n </ButtonWrapper>\n </ButtonOperateItemContent>\n );\n })}\n {foldList.length > 0 ? (\n <DropdownMenuWrapper menuList={foldList}>\n <Button\n type=\"link\"\n className=\"fold-more-button\"\n onClick={(event) => {\n event.stopPropagation();\n }}\n >\n {props.foldIcon ? props.foldIcon : <MoreOutlined />}\n </Button>\n </DropdownMenuWrapper>\n ) : null}\n </Space>\n </div>\n );\n};\n\nButtonOperate.defaultProps = {\n split: true,\n};\n"],"names":["ButtonOperateItemContent","props","hoverTips","tipsType","_jsx","Popover","content","zIndex","children","Fragment","Tooltip","title","ButtonOperate","_useState","useState","loading","setLoading","onConfirm","_hooks","useCallbackRef","item","event","result","onClick","_isPromise","finally","operateList","filter","isValidElement","_item$props","_item$props2","permission","_isString","fbaUtils","hasPermission","_isPlainObject","viewList","useMemo","foldList","filterList","forEach","target","_extends","isFold","push","gap","undefined","size","split","className","_classNames","style","_jsxs","Space","Divider","type","wrap","_isUndefined","spaceProps","map","index","text","needConfirm","confirmMessage","popconfirmProps","otherProps","_objectWithoutPropertiesLoose","_excluded","disabled","danger","color","_createElement","Popconfirm","okText","cancelText","trigger","placement","arrow","destroyTooltipOnHide","bind","key","okButtonProps","onOpenChange","_open","ButtonWrapper","loadingPosition","stopPropagation","length","DropdownMenuWrapper","menuList","Button","foldIcon","_MoreOutlined","defaultProps"],"mappings":"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"}
|
|
@@ -4,5 +4,5 @@ import './../fba-hooks/index.css';
|
|
|
4
4
|
import './../fba-utils/index.css';
|
|
5
5
|
import './index.css';
|
|
6
6
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
7
|
-
export{B as ButtonWrapper}from"../button-wrapper-
|
|
7
|
+
export{B as ButtonWrapper}from"../button-wrapper-6441881c.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"../_rollupPluginBabelHelpers-1f4d8910.js";import"@dimjs/lang/cjs/is-promise";import"@wove/react/cjs/hooks";import"@flatbiz/utils";import"antd";import"react";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";
|
|
8
8
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
import r from"@ant-design/icons/es/icons/LoadingOutlined";import{_ as o,a as i}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{isPromise as e}from"@dimjs/lang/cjs/is-promise";import{hooks as l}from"@wove/react/cjs/hooks";import{isUndefinedOrNull as n}from"@flatbiz/utils";import{Button as c}from"antd";import{useState as t}from"react";import{C as a}from"./config-provider-wrapper-dfe8f592.js";import{f as s}from"./fba-utils-
|
|
3
|
-
//# sourceMappingURL=button-wrapper-
|
|
2
|
+
import r from"@ant-design/icons/es/icons/LoadingOutlined";import{_ as o,a as i}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{isPromise as e}from"@dimjs/lang/cjs/is-promise";import{hooks as l}from"@wove/react/cjs/hooks";import{isUndefinedOrNull as n}from"@flatbiz/utils";import{Button as c}from"antd";import{useState as t}from"react";import{C as a}from"./config-provider-wrapper-dfe8f592.js";import{f as s}from"./fba-utils-1e895394.js";import{jsx as d,jsxs as m}from"react/jsx-runtime";var f=["loadingPosition","color","debounceDuration","permission","hidden"];var u=function r(o){if(o.color&&!o.disabled){var i={};if(o.type==="link"){i={colorLink:o.color,colorLinkActive:o.color,colorLinkHover:o.color}}else if(o.type==="primary"){i={colorPrimary:o.color,colorPrimaryHover:o.color,colorPrimaryActive:o.color}}else{i={colorPrimaryHover:o.color,colorPrimaryActive:o.color,colorText:o.color,colorBorder:o.color}}return d(a,{theme:{components:{Button:i}},children:o.children})}return o.children};var p=function a(p){var v=p.loadingPosition,h=p.color,y=p.debounceDuration,b=p.permission,g=p.hidden,k=o(p,f);var P=t(false),j=P[0],C=P[1];var B=v===undefined?"left":v;var H=B==="left";var L=n(y)?500:y;var w=l.useDebounceClick((function(r){var o=p.onClick;if(!o){return}var i=o(r);if(i&&e(i)){C(true);i.catch((function(r){console.error(r)})).finally((function(){C(false)}))}}),L);if(!s.hasPermission(b)){return null}if(g){return null}if(H){return d(u,{color:h,disabled:p.disabled,type:p.type,children:d(c,i({},k,{onClick:w,loading:j,children:p.children}))})}return d(u,{color:h,disabled:p.disabled,type:p.type,children:m(c,i({},k,{onClick:w,children:[j&&d("div",{className:"bw-center-loading",children:d(r,{})}),j?d("div",{style:{opacity:.5},children:p.children}):p.children]}))})};export{p as B};
|
|
3
|
+
//# sourceMappingURL=button-wrapper-6441881c.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button-wrapper-
|
|
1
|
+
{"version":3,"file":"button-wrapper-6441881c.js","sources":["@flatbiz/antd/src/button-wrapper/button-wrapper.tsx"],"sourcesContent":["import { LoadingOutlined } from '@ant-design/icons';\nimport { isPromise } from '@dimjs/lang';\nimport { isUndefinedOrNull, TAny } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Button, ButtonProps } from 'antd';\nimport { OverrideToken } from 'antd/es/theme/interface';\nimport { ReactElement, useState } from 'react';\nimport { ConfigProviderWrapper } from '../config-provider-wrapper';\nimport { fbaUtils } from '../fba-utils';\nimport './style.less';\n\nexport type ButtonWrapperProps = Omit<ButtonProps, 'onClick' | 'loading'> & {\n onClick?: (e: React.MouseEvent<HTMLElement>) => Promise<TAny> | void;\n // 重复点击间隙,单位毫秒 默认值:500\n debounceDuration?: number;\n permission?: string;\n hidden?: boolean;\n /** loading 显示位置,默认值:left */\n loadingPosition?: 'left' | 'center';\n};\n\nconst DefaultButton = (props: {\n children: ReactElement;\n color?: string;\n type?: ButtonProps['type'];\n disabled?: boolean;\n}) => {\n if (props.color && !props.disabled) {\n let buttonTheme: OverrideToken['Button'] = {};\n if (props.type === 'link') {\n buttonTheme = {\n colorLink: props.color,\n colorLinkActive: props.color,\n colorLinkHover: props.color,\n };\n } else if (props.type === 'primary') {\n buttonTheme = {\n colorPrimary: props.color,\n colorPrimaryHover: props.color,\n colorPrimaryActive: props.color,\n };\n } else {\n buttonTheme = {\n colorPrimaryHover: props.color,\n colorPrimaryActive: props.color,\n colorText: props.color,\n colorBorder: props.color,\n };\n }\n\n return (\n <ConfigProviderWrapper\n theme={{\n components: {\n Button: buttonTheme,\n },\n }}\n >\n {props.children}\n </ConfigProviderWrapper>\n );\n }\n return props.children;\n};\n\n/**\n * antd Button包装组件\n * 1. 添加按钮 onClick 返回 Promise自定loading效果\n * 2. 添加指定时间内重复点击无效(默认间隙时间500ms)\n * @param props\n * @returns\n */\nexport const ButtonWrapper = (props: ButtonWrapperProps) => {\n const { loadingPosition, color, debounceDuration, permission, hidden, ...otherProps } = props;\n const [loading, setLoading] = useState(false);\n const loadingPositionNew = loadingPosition === undefined ? 'left' : loadingPosition;\n const isLoadingLeft = loadingPositionNew === 'left';\n const debounceDurationMew = isUndefinedOrNull(debounceDuration) ? 500 : debounceDuration;\n\n const onClick = hooks.useDebounceClick((e) => {\n const onClick = props.onClick;\n if (!onClick) {\n return;\n }\n const result = onClick(e);\n if (result && isPromise(result)) {\n setLoading(true);\n result\n .catch((error) => {\n console.error(error);\n })\n .finally(() => {\n setLoading(false);\n });\n }\n }, debounceDurationMew);\n\n if (!fbaUtils.hasPermission(permission)) {\n return null;\n }\n\n if (hidden) {\n return null;\n }\n\n if (isLoadingLeft) {\n return (\n <DefaultButton color={color} disabled={props.disabled} type={props.type}>\n <Button {...otherProps} onClick={onClick} loading={loading}>\n {props.children}\n </Button>\n </DefaultButton>\n );\n }\n\n return (\n <DefaultButton color={color} disabled={props.disabled} type={props.type}>\n <Button {...otherProps} onClick={onClick}>\n {loading && (\n <div className=\"bw-center-loading\">\n <LoadingOutlined />\n </div>\n )}\n {loading ? <div style={{ opacity: 0.5 }}>{props.children}</div> : props.children}\n </Button>\n </DefaultButton>\n );\n};\n"],"names":["DefaultButton","props","color","disabled","buttonTheme","type","colorLink","colorLinkActive","colorLinkHover","colorPrimary","colorPrimaryHover","colorPrimaryActive","colorText","colorBorder","_jsx","ConfigProviderWrapper","theme","components","Button","children","ButtonWrapper","loadingPosition","debounceDuration","permission","hidden","otherProps","_objectWithoutPropertiesLoose","_excluded","_useState","useState","loading","setLoading","loadingPositionNew","undefined","isLoadingLeft","debounceDurationMew","isUndefinedOrNull","onClick","_hooks","useDebounceClick","e","result","_isPromise","catch","error","console","finally","fbaUtils","hasPermission","_extends","_jsxs","className","_LoadingOutlined","style","opacity"],"mappings":";ujBAqBA,IAAMA,EAAgB,SAAhBA,EAAiBC,GAMrB,GAAIA,EAAMC,QAAUD,EAAME,SAAU,CAClC,IAAIC,EAAuC,CAAA,EAC3C,GAAIH,EAAMI,OAAS,OAAQ,CACzBD,EAAc,CACZE,UAAWL,EAAMC,MACjBK,gBAAiBN,EAAMC,MACvBM,eAAgBP,EAAMC,MAE1B,MAAO,GAAID,EAAMI,OAAS,UAAW,CACnCD,EAAc,CACZK,aAAcR,EAAMC,MACpBQ,kBAAmBT,EAAMC,MACzBS,mBAAoBV,EAAMC,MAE9B,KAAO,CACLE,EAAc,CACZM,kBAAmBT,EAAMC,MACzBS,mBAAoBV,EAAMC,MAC1BU,UAAWX,EAAMC,MACjBW,YAAaZ,EAAMC,MAEvB,CAEA,OACEY,EAACC,EAAqB,CACpBC,MAAO,CACLC,WAAY,CACVC,OAAQd,IAEVe,SAEDlB,EAAMkB,UAGb,CACA,OAAOlB,EAAMkB,QACf,MASaC,EAAgB,SAAhBA,EAAiBnB,GAC5B,IAAQoB,EAAgFpB,EAAhFoB,gBAAiBnB,EAA+DD,EAA/DC,MAAOoB,EAAwDrB,EAAxDqB,iBAAkBC,EAAsCtB,EAAtCsB,WAAYC,EAA0BvB,EAA1BuB,OAAWC,EAAUC,EAAKzB,EAAK0B,GAC7F,IAAAC,EAA8BC,EAAS,OAAhCC,EAAOF,EAAA,GAAEG,EAAUH,EAAA,GAC1B,IAAMI,EAAqBX,IAAoBY,UAAY,OAASZ,EACpE,IAAMa,EAAgBF,IAAuB,OAC7C,IAAMG,EAAsBC,EAAkBd,GAAoB,IAAMA,EAExE,IAAMe,EAAUC,EAAMC,kBAAiB,SAACC,GACtC,IAAMH,EAAUpC,EAAMoC,QACtB,IAAKA,EAAS,CACZ,MACF,CACA,IAAMI,EAASJ,EAAQG,GACvB,GAAIC,GAAUC,EAAUD,GAAS,CAC/BV,EAAW,MACXU,EACGE,OAAM,SAACC,GACNC,QAAQD,MAAMA,EAChB,IACCE,SAAQ,WACPf,EAAW,MACb,GACJ,CACD,GAAEI,GAEH,IAAKY,EAASC,cAAczB,GAAa,CACvC,OAAO,IACT,CAEA,GAAIC,EAAQ,CACV,OAAO,IACT,CAEA,GAAIU,EAAe,CACjB,OACEpB,EAACd,EAAa,CAACE,MAAOA,EAAOC,SAAUF,EAAME,SAAUE,KAAMJ,EAAMI,KAAKc,SACtEL,EAACI,EAAM+B,KAAKxB,EAAU,CAAEY,QAASA,EAASP,QAASA,EAAQX,SACxDlB,EAAMkB,aAIf,CAEA,OACEL,EAACd,EAAa,CAACE,MAAOA,EAAOC,SAAUF,EAAME,SAAUE,KAAMJ,EAAMI,KAAKc,SACtE+B,EAAChC,EAAM+B,KAAKxB,EAAU,CAAEY,QAASA,EAAQlB,SAAA,CACtCW,GACChB,EAAA,MAAA,CAAKqC,UAAU,oBAAmBhC,SAChCL,EAAAsC,EAAA,MAGHtB,EAAUhB,EAAA,MAAA,CAAKuC,MAAO,CAAEC,QAAS,IAAMnC,SAAElB,EAAMkB,WAAkBlB,EAAMkB,cAIhF"}
|
package/esm/check-list/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/* eslint-disable */
|
|
2
|
+
import './../fba-utils/index.css';
|
|
2
3
|
import './../fba-hooks/index.css';
|
|
3
4
|
import './index.css';
|
|
4
5
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
5
|
-
import{
|
|
6
|
+
import{f as e}from"../fba-utils-1e895394.js";import{classNames as r}from"@dimjs/utils/cjs/class-names";import{extend as t}from"@dimjs/utils/cjs/extend";import{hooks as n}from"@wove/react/cjs/hooks";import{useMemo as i}from"react";import{fbaHooks as a}from"../fba-hooks/index.js";import{createCtx as l}from"@wove/react/cjs/create-ctx";import{toArray as o}from"@flatbiz/utils";import{jsx as s,jsxs as u}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-array";import"../_rollupPluginBabelHelpers-1f4d8910.js";import"../use-responsive-point-21b8c601.js";import"antd";var c=l(),d=c[0],f=c[1];var m=function e(r,t){if(r!==undefined){var n=o(r);return t?n:n.splice(0,1)}return null};var p=function e(l){var o=a.useArrayChange([]),c=o[0],d=o[1];var p=i((function(){return m(l.value,l.multiple)}),[l.value,l.multiple]);a.useEffectCustom((function(){var e=p||m(l.defaultValue,l.multiple);d.resetList(e||[])}),[]);n.useUpdateEffect((function(){d.resetList(p||[])}),[p]);var h=n.useCallbackRef((function(e,r){return new Promise((function(n,i){var a,o,s;if(l.onPreChange){return Promise.resolve(l.onPreChange(e)).then(function(e){try{return u.call(this)}catch(e){return i(e)}}.bind(this),i)}function u(){a=c.findIndex((function(r){return r===e}));if(l.multiple===true){if(c.length===1&&a>=0&&l.required){return n()}if(a>=0){d.delete(a)}else{d.add(e)}}else{if(a>=0&&l.required){return n()}else{d.resetList(a>=0?[]:[e])}}if(!r){o=d.getList();if(l.multiple){s=o.length>0?t([],o):undefined}else{s=o.length>0?o[0]:undefined}l.onChange==null?void 0:l.onChange(s,e)}return n()}return u.call(this)}))}));return s("div",{className:r("check-list",l.className),style:l.style,children:u(f,{value:{onChange:h,checkedValues:c,stopPropagation:l.stopPropagation},children:[l.beforeExtra,l.children,l.afterExtra]})})};var h=function e(t){var i;var a=d();if(a===null){console.error("CheckList.Item can only be used inside CheckList.");return null}var l=n.useCallbackRef((function(e){if(a.stopPropagation){e.stopPropagation()}if(!t.disabled){a==null?void 0:a.onChange(t.value)}}));var o=(a==null?void 0:a.checkedValues.findIndex((function(e){return e===t.value})))>=0;var s="check-list";var u=r(s+"-item",(i={},i[s+"-disabled"]=t.disabled,i[s+"-readonly"]=t.readonly,i[s+"-checked"]=o,i),t.className);return t.children({onClick:l,checked:o,disabled:t.disabled,readonly:t.readonly,className:u,style:t.style})};var v=e.attachPropertiesToComponent(p,{Item:h});export{v as CheckList};
|
|
6
7
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/check-list/context.ts","@flatbiz/antd/src/check-list/utils.ts","@flatbiz/antd/src/check-list/check-list.tsx","@flatbiz/antd/src/check-list/check-list-item.tsx","@flatbiz/antd/src/check-list/index.ts"],"sourcesContent":["import { createCtx } from '@wove/react';\nimport { CheckListItemValue } from './types';\n\nexport const [useCheckListCtx, CheckListCtxProvider] = createCtx<{\n checkedValues: CheckListItemValue[];\n onChange: (value: CheckListItemValue, defaultChange?: boolean) => void;\n stopPropagation?: boolean;\n}>();\n","import { toArray } from '@flatbiz/utils';\nimport { CheckListItemValue, CheckListValue } from './types';\n\nexport const getValueList = (value?: CheckListValue, multiple?: boolean) => {\n if (value !== undefined) {\n const valueList = toArray<CheckListItemValue>(value);\n return multiple ? valueList : valueList.splice(0, 1);\n }\n return null;\n};\n","import { classNames, extend } from '@dimjs/utils';\nimport { hooks } from '@wove/react';\nimport { ReactNode, useMemo } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport { CommonPropsWithChildren } from '../_utils/native-props';\nimport { CheckListCtxProvider } from './context';\nimport './style.less';\nimport { CheckListItemValue } from './types';\nimport { getValueList } from './utils';\n\nexport type CheckListSelectedValue<T extends 'multi' | 'radio'> = T extends 'multi'\n ? CheckListItemValue[]\n : CheckListItemValue;\n\nexport type CheckListProps<T extends 'multi' | 'radio'> = {\n multiple?: boolean;\n onChange?: (value: CheckListSelectedValue<T>, operateValue: CheckListItemValue) => void;\n onPreChange?: (value: CheckListItemValue) => Promise<void>;\n value?: CheckListSelectedValue<T>;\n defaultValue?: CheckListSelectedValue<T>;\n beforeExtra?: ReactNode;\n afterExtra?: ReactNode;\n stopPropagation?: boolean;\n required?: boolean;\n} & CommonPropsWithChildren;\n\nexport const CheckListInner = <T extends 'multi' | 'radio'>(props: CheckListProps<T>) => {\n const [checkedValues, arrayOperate] = fbaHooks.useArrayChange<CheckListItemValue>([]);\n\n const valueList = useMemo(() => {\n return getValueList(props.value, props.multiple);\n }, [props.value, props.multiple]);\n\n fbaHooks.useEffectCustom(() => {\n const current = valueList || getValueList(props.defaultValue, props.multiple);\n arrayOperate.resetList(current || []);\n }, []);\n\n hooks.useUpdateEffect(() => {\n arrayOperate.resetList(valueList || []);\n }, [valueList]);\n\n const onChange = hooks.useCallbackRef(async (value: CheckListItemValue, defaultChange) => {\n if (props.onPreChange) {\n await props.onPreChange(value);\n }\n const targetIndex = checkedValues.findIndex((temp) => temp === value);\n if (props.multiple === true) {\n if (checkedValues.length === 1 && targetIndex >= 0 && props.required) {\n return;\n }\n if (targetIndex >= 0) {\n arrayOperate.delete(targetIndex);\n } else {\n arrayOperate.add(value);\n }\n } else {\n if (targetIndex >= 0 && props.required) {\n return;\n } else {\n arrayOperate.resetList(targetIndex >= 0 ? [] : [value]);\n }\n }\n if (!defaultChange) {\n const newValues = arrayOperate.getList();\n let selectedValue;\n if (props.multiple) {\n selectedValue = newValues.length > 0 ? extend([], newValues) : undefined;\n } else {\n selectedValue = newValues.length > 0 ? newValues[0] : undefined;\n }\n props.onChange?.(selectedValue as CheckListSelectedValue<T>, value);\n }\n });\n\n return (\n <div className={classNames('check-list', props.className)} style={props.style}>\n <CheckListCtxProvider\n value={{\n onChange,\n checkedValues,\n stopPropagation: props.stopPropagation,\n }}\n >\n {props.beforeExtra}\n {props.children}\n {props.afterExtra}\n </CheckListCtxProvider>\n </div>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { hooks } from '@wove/react';\nimport { CSSProperties, ReactElement } from 'react';\nimport { useCheckListCtx } from './context';\nimport { CheckListItemValue } from './types';\n\nexport type CheckListItemContentProps = {\n checked?: boolean;\n disabled?: boolean;\n onClick?: (event) => void;\n className?: string;\n readonly?: boolean;\n style?: CSSProperties;\n};\n\nexport type CheckListItemProps = {\n value: CheckListItemValue;\n disabled?: boolean;\n readonly?: boolean;\n children: (data: CheckListItemContentProps) => ReactElement;\n className?: string;\n style?: CSSProperties;\n};\n\nexport const CheckListItem = (props: CheckListItemProps) => {\n const context = useCheckListCtx();\n\n if (context === null) {\n console.error('CheckList.Item can only be used inside CheckList.');\n return null;\n }\n\n const onClick = hooks.useCallbackRef((event) => {\n if (context.stopPropagation) {\n event.stopPropagation();\n }\n if (!props.disabled) {\n context?.onChange(props.value);\n }\n });\n\n const checked = context?.checkedValues.findIndex((temp) => temp === props.value) >= 0;\n const checkedClassPrefix = 'check-list';\n\n const className = classNames(\n `${checkedClassPrefix}-item`,\n {\n [`${checkedClassPrefix}-disabled`]: props.disabled,\n [`${checkedClassPrefix}-readonly`]: props.readonly,\n [`${checkedClassPrefix}-checked`]: checked,\n },\n props.className,\n );\n\n return props.children({\n onClick,\n checked,\n disabled: props.disabled,\n readonly: props.readonly,\n className,\n style: props.style,\n });\n};\n","import {
|
|
1
|
+
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/check-list/context.ts","@flatbiz/antd/src/check-list/utils.ts","@flatbiz/antd/src/check-list/check-list.tsx","@flatbiz/antd/src/check-list/check-list-item.tsx","@flatbiz/antd/src/check-list/index.ts"],"sourcesContent":["import { createCtx } from '@wove/react';\nimport { CheckListItemValue } from './types';\n\nexport const [useCheckListCtx, CheckListCtxProvider] = createCtx<{\n checkedValues: CheckListItemValue[];\n onChange: (value: CheckListItemValue, defaultChange?: boolean) => void;\n stopPropagation?: boolean;\n}>();\n","import { toArray } from '@flatbiz/utils';\nimport { CheckListItemValue, CheckListValue } from './types';\n\nexport const getValueList = (value?: CheckListValue, multiple?: boolean) => {\n if (value !== undefined) {\n const valueList = toArray<CheckListItemValue>(value);\n return multiple ? valueList : valueList.splice(0, 1);\n }\n return null;\n};\n","import { classNames, extend } from '@dimjs/utils';\nimport { hooks } from '@wove/react';\nimport { ReactNode, useMemo } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport { CommonPropsWithChildren } from '../_utils/native-props';\nimport { CheckListCtxProvider } from './context';\nimport './style.less';\nimport { CheckListItemValue } from './types';\nimport { getValueList } from './utils';\n\nexport type CheckListSelectedValue<T extends 'multi' | 'radio'> = T extends 'multi'\n ? CheckListItemValue[]\n : CheckListItemValue;\n\nexport type CheckListProps<T extends 'multi' | 'radio'> = {\n multiple?: boolean;\n onChange?: (value: CheckListSelectedValue<T>, operateValue: CheckListItemValue) => void;\n onPreChange?: (value: CheckListItemValue) => Promise<void>;\n value?: CheckListSelectedValue<T>;\n defaultValue?: CheckListSelectedValue<T>;\n beforeExtra?: ReactNode;\n afterExtra?: ReactNode;\n stopPropagation?: boolean;\n required?: boolean;\n} & CommonPropsWithChildren;\n\nexport const CheckListInner = <T extends 'multi' | 'radio'>(props: CheckListProps<T>) => {\n const [checkedValues, arrayOperate] = fbaHooks.useArrayChange<CheckListItemValue>([]);\n\n const valueList = useMemo(() => {\n return getValueList(props.value, props.multiple);\n }, [props.value, props.multiple]);\n\n fbaHooks.useEffectCustom(() => {\n const current = valueList || getValueList(props.defaultValue, props.multiple);\n arrayOperate.resetList(current || []);\n }, []);\n\n hooks.useUpdateEffect(() => {\n arrayOperate.resetList(valueList || []);\n }, [valueList]);\n\n const onChange = hooks.useCallbackRef(async (value: CheckListItemValue, defaultChange) => {\n if (props.onPreChange) {\n await props.onPreChange(value);\n }\n const targetIndex = checkedValues.findIndex((temp) => temp === value);\n if (props.multiple === true) {\n if (checkedValues.length === 1 && targetIndex >= 0 && props.required) {\n return;\n }\n if (targetIndex >= 0) {\n arrayOperate.delete(targetIndex);\n } else {\n arrayOperate.add(value);\n }\n } else {\n if (targetIndex >= 0 && props.required) {\n return;\n } else {\n arrayOperate.resetList(targetIndex >= 0 ? [] : [value]);\n }\n }\n if (!defaultChange) {\n const newValues = arrayOperate.getList();\n let selectedValue;\n if (props.multiple) {\n selectedValue = newValues.length > 0 ? extend([], newValues) : undefined;\n } else {\n selectedValue = newValues.length > 0 ? newValues[0] : undefined;\n }\n props.onChange?.(selectedValue as CheckListSelectedValue<T>, value);\n }\n });\n\n return (\n <div className={classNames('check-list', props.className)} style={props.style}>\n <CheckListCtxProvider\n value={{\n onChange,\n checkedValues,\n stopPropagation: props.stopPropagation,\n }}\n >\n {props.beforeExtra}\n {props.children}\n {props.afterExtra}\n </CheckListCtxProvider>\n </div>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { hooks } from '@wove/react';\nimport { CSSProperties, ReactElement } from 'react';\nimport { useCheckListCtx } from './context';\nimport { CheckListItemValue } from './types';\n\nexport type CheckListItemContentProps = {\n checked?: boolean;\n disabled?: boolean;\n onClick?: (event) => void;\n className?: string;\n readonly?: boolean;\n style?: CSSProperties;\n};\n\nexport type CheckListItemProps = {\n value: CheckListItemValue;\n disabled?: boolean;\n readonly?: boolean;\n children: (data: CheckListItemContentProps) => ReactElement;\n className?: string;\n style?: CSSProperties;\n};\n\nexport const CheckListItem = (props: CheckListItemProps) => {\n const context = useCheckListCtx();\n\n if (context === null) {\n console.error('CheckList.Item can only be used inside CheckList.');\n return null;\n }\n\n const onClick = hooks.useCallbackRef((event) => {\n if (context.stopPropagation) {\n event.stopPropagation();\n }\n if (!props.disabled) {\n context?.onChange(props.value);\n }\n });\n\n const checked = context?.checkedValues.findIndex((temp) => temp === props.value) >= 0;\n const checkedClassPrefix = 'check-list';\n\n const className = classNames(\n `${checkedClassPrefix}-item`,\n {\n [`${checkedClassPrefix}-disabled`]: props.disabled,\n [`${checkedClassPrefix}-readonly`]: props.readonly,\n [`${checkedClassPrefix}-checked`]: checked,\n },\n props.className,\n );\n\n return props.children({\n onClick,\n checked,\n disabled: props.disabled,\n readonly: props.readonly,\n className,\n style: props.style,\n });\n};\n","import { fbaUtils } from '../fba-utils';\nimport { CheckListInner } from './check-list';\nimport { CheckListItem } from './check-list-item';\n\nexport const CheckList = fbaUtils.attachPropertiesToComponent(CheckListInner, {\n Item: CheckListItem,\n});\n"],"names":["_createCtx","_createCtx2","useCheckListCtx","CheckListCtxProvider","getValueList","value","multiple","undefined","valueList","toArray","splice","CheckListInner","props","_fbaHooks$useArrayCha","fbaHooks","useArrayChange","checkedValues","arrayOperate","useMemo","useEffectCustom","current","defaultValue","resetList","_hooks","useUpdateEffect","onChange","useCallbackRef","defaultChange","Promise","$return","$error","targetIndex","newValues","selectedValue","onPreChange","resolve","then","$await_2","$If_1","call","this","$boundEx","bind","findIndex","temp","length","required","delete","add","getList","_extend","_jsx","className","_classNames","style","children","_jsxs","stopPropagation","beforeExtra","afterExtra","CheckListItem","_classNames2","context","console","error","onClick","event","disabled","checked","checkedClassPrefix","readonly","CheckList","fbaUtils","attachPropertiesToComponent","Item"],"mappings":"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"}
|
|
@@ -7,5 +7,5 @@ import './../fba-hooks/index.css';
|
|
|
7
7
|
import './../fba-utils/index.css';
|
|
8
8
|
import './index.css';
|
|
9
9
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
10
|
-
import{a as i}from"../_rollupPluginBabelHelpers-1f4d8910.js";import{d as o}from"../dialog-confirm-
|
|
10
|
+
import{a as i}from"../_rollupPluginBabelHelpers-1f4d8910.js";import{d as o}from"../dialog-confirm-4b387b9b.js";import"@dimjs/utils/cjs/class-names";import"../dialog-modal-8568caf2.js";import"@dimjs/lang/cjs/is-string";import"@dimjs/lang/cjs/is-promise";import"@wove/react/cjs/hooks";import"antd";import"react";import"react-dom/client";import"../button-wrapper-6441881c.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"../dom-4d04aa64.js";var r={open:function r(t){return o.open(i({okText:"确定",cancelHidden:true,maskClosable:false},t,{onOk:t.onClick}))}};export{r as dialogAlert};
|
|
11
11
|
//# sourceMappingURL=index.js.map
|
|
@@ -6,5 +6,5 @@ import './../fba-hooks/index.css';
|
|
|
6
6
|
import './../fba-utils/index.css';
|
|
7
7
|
import './index.css';
|
|
8
8
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
9
|
-
export{d as dialogConfirm}from"../dialog-confirm-
|
|
9
|
+
export{d as dialogConfirm}from"../dialog-confirm-4b387b9b.js";import"../_rollupPluginBabelHelpers-1f4d8910.js";import"@dimjs/utils/cjs/class-names";import"../dialog-modal-8568caf2.js";import"@dimjs/lang/cjs/is-string";import"@dimjs/lang/cjs/is-promise";import"@wove/react/cjs/hooks";import"antd";import"react";import"react-dom/client";import"../button-wrapper-6441881c.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"../dom-4d04aa64.js";
|
|
10
10
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
import{a}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{classNames as s}from"@dimjs/utils/cjs/class-names";import{d as o}from"./dialog-modal-
|
|
3
|
-
//# sourceMappingURL=dialog-confirm-
|
|
2
|
+
import{a}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{classNames as s}from"@dimjs/utils/cjs/class-names";import{d as o}from"./dialog-modal-8568caf2.js";var e={open:function e(l){var r=s("v-dialog-confirm",l.className);return o.open(a({width:350,okText:"确定",cancelText:"取消",maskClosable:true},l,{className:r}))}};export{e as d};
|
|
3
|
+
//# sourceMappingURL=dialog-confirm-4b387b9b.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialog-confirm-
|
|
1
|
+
{"version":3,"file":"dialog-confirm-4b387b9b.js","sources":["@flatbiz/antd/src/dialog-confirm/dialog-confirm.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { dialogModal, DialogModalProps } from '../dialog-modal';\nimport './style.less';\n\nexport const dialogConfirm = {\n open: (props: DialogModalProps) => {\n const className = classNames('v-dialog-confirm', props.className);\n return dialogModal.open({\n width: 350,\n okText: '确定',\n cancelText: '取消',\n maskClosable: true,\n ...props,\n className,\n });\n },\n};\n"],"names":["dialogConfirm","open","props","className","_classNames","dialogModal","_extends","width","okText","cancelText","maskClosable"],"mappings":";gKAIO,IAAMA,EAAgB,CAC3BC,KAAM,SAAAA,EAACC,GACL,IAAMC,EAAYC,EAAW,mBAAoBF,EAAMC,WACvD,OAAOE,EAAYJ,KAAIK,EAAA,CACrBC,MAAO,IACPC,OAAQ,KACRC,WAAY,KACZC,aAAc,MACXR,EAAK,CACRC,UAAAA,IAEJ"}
|
|
@@ -5,5 +5,5 @@ import './../fba-hooks/index.css';
|
|
|
5
5
|
import './../fba-utils/index.css';
|
|
6
6
|
import './index.css';
|
|
7
7
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
8
|
-
import{isString as e}from"@dimjs/lang/cjs/is-string";import{a as r,_ as o}from"../_rollupPluginBabelHelpers-1f4d8910.js";import{isPromise as n}from"@dimjs/lang/cjs/is-promise";import{hooks as t}from"@wove/react/cjs/hooks";import{Form as i,Space as a,Drawer as l}from"antd";import{useState as d}from"react";import{createRoot as s}from"react-dom/client";import{B as c}from"../button-wrapper-
|
|
8
|
+
import{isString as e}from"@dimjs/lang/cjs/is-string";import{a as r,_ as o}from"../_rollupPluginBabelHelpers-1f4d8910.js";import{isPromise as n}from"@dimjs/lang/cjs/is-promise";import{hooks as t}from"@wove/react/cjs/hooks";import{Form as i,Space as a,Drawer as l}from"antd";import{useState as d}from"react";import{createRoot as s}from"react-dom/client";import{B as c}from"../button-wrapper-6441881c.js";import{C as m}from"../config-provider-wrapper-dfe8f592.js";import{fbaHooks as p}from"../fba-hooks/index.js";import{b as u}from"../dom-4d04aa64.js";import{jsx as f,jsxs as v}from"react/jsx-runtime";import"@ant-design/icons/es/icons/LoadingOutlined";import"@flatbiz/utils";import"../fba-utils-1e895394.js";import"@dimjs/lang/cjs/is-array";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"../use-responsive-point-21b8c601.js";var j=["divElement","elementId","onOk","onCancel","content","configProviderProps","okText","cancelText","okButtonExtraProps","cancelButtonExtraProps","operatePosition","operateRender","width","okHidden","cancelHidden"];var w=function e(s){var u=s.divElement,w=s.elementId,g=s.onOk,h=s.onCancel,k=s.content,y=s.configProviderProps,C=s.okText,x=s.cancelText,P=s.okButtonExtraProps,_=s.cancelButtonExtraProps,b=s.operatePosition,E=b===void 0?"footer":b,B=s.operateRender,I=s.width,H=I===void 0?600:I,O=s.okHidden,R=s.cancelHidden,T=o(s,j);var z=d(true),F=z[0],S=z[1];var W=i.useForm(),Y=W[0];var D=t.useCallbackRef((function(){try{delete window[w]}catch(e){}S(false)}));p.useEffectCustom((function(){window[w]=D}),[D]);var L=t.useCallbackRef((function(e){if(h){var r=h(Y,e);if(r&&n(r)){return r.then(D)}}return D()}));var N=t.useCallbackRef((function(e){if(g){var r=g(Y,e);if(r&&n(r)){return r.then(D)}}return D()}));var U=v(a,{children:[R||_!=null&&_.hidden?null:f(c,r({},_,{onClick:L,children:x||"取消"})),O||P!=null&&P.hidden?null:f(c,r({type:"primary"},P,{onClick:N,children:C||"提交"}))]});var q=function e(){if(B){return B(Y)}if(!O||!R){return U}return null};return f(m,r({},y,{children:f(l,r({maskClosable:true,destroyOnClose:true,onClose:D,width:"80%",contentWrapperStyle:{maxWidth:H},extra:E==="header"?q():null,footer:E==="footer"?q():null},T,{open:F,getContainer:u,children:typeof k==="function"?k(Y,{onClose:D}):k}))}))};var g={open:function e(o){var n=u(),t=n.divElement,i=n.elementId;window["__dialog_drawer_elementId"]=i;var a=s(t);a.render(f(w,r({},o,{divElement:t,elementId:i})));return{close:function e(){var r,o;(r=(o=window)[i])==null?void 0:r.call(o)}}},close:function r(){try{var o,n;var t=window["__dialog_drawer_elementId"];if(e(t))(o=(n=window)[t])==null?void 0:o.call(n)}catch(e){}}};export{g as dialogDrawer};
|
|
9
9
|
//# sourceMappingURL=index.js.map
|
|
@@ -5,5 +5,5 @@ import './../fba-hooks/index.css';
|
|
|
5
5
|
import './../fba-utils/index.css';
|
|
6
6
|
import './index.css';
|
|
7
7
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
8
|
-
export{d as dialogModal}from"../dialog-modal-
|
|
8
|
+
export{d as dialogModal}from"../dialog-modal-8568caf2.js";import"@dimjs/lang/cjs/is-string";import"@dimjs/utils/cjs/class-names";import"../_rollupPluginBabelHelpers-1f4d8910.js";import"@dimjs/lang/cjs/is-promise";import"@wove/react/cjs/hooks";import"antd";import"react";import"react-dom/client";import"../button-wrapper-6441881c.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"../dom-4d04aa64.js";
|
|
9
9
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
import{isString as e}from"@dimjs/lang/cjs/is-string";import{classNames as o}from"@dimjs/utils/cjs/class-names";import{a as r,_ as n}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{isPromise as t}from"@dimjs/lang/cjs/is-promise";import{hooks as a}from"@wove/react/cjs/hooks";import{Form as i,Modal as l}from"antd";import{useState as c}from"react";import{createRoot as s}from"react-dom/client";import{B as d}from"./button-wrapper-
|
|
3
|
-
//# sourceMappingURL=dialog-modal-
|
|
2
|
+
import{isString as e}from"@dimjs/lang/cjs/is-string";import{classNames as o}from"@dimjs/utils/cjs/class-names";import{a as r,_ as n}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{isPromise as t}from"@dimjs/lang/cjs/is-promise";import{hooks as a}from"@wove/react/cjs/hooks";import{Form as i,Modal as l}from"antd";import{useState as c}from"react";import{createRoot as s}from"react-dom/client";import{B as d}from"./button-wrapper-6441881c.js";import{C as m}from"./config-provider-wrapper-dfe8f592.js";import{fbaHooks as f}from"./fba-hooks/index.js";import{b as u,r as p}from"./dom-4d04aa64.js";import{jsx as v}from"react/jsx-runtime";var C=["divElement","elementId","onOk","onCancel","okButtonProps","cancelButtonProps","content","configProviderProps","className","okHidden","cancelHidden","footer","cancelText","okText"];var k=function e(s){var u=s.divElement,k=s.elementId,w=s.onOk,j=s.onCancel,h=s.okButtonProps,g=s.cancelButtonProps,_=s.content,b=s.configProviderProps,P=s.className,x=s.okHidden,y=s.cancelHidden,B=s.footer,I=s.cancelText,E=s.okText,H=n(s,C);var R=c(true),T=R[0],N=R[1];var O=i.useForm(),F=O[0];var q=a.useCallbackRef((function(){try{delete window[k]}catch(e){}N(false)}));f.useEffectCustom((function(){window[k]=q}),[q]);var z=a.useCallbackRef((function(e){if(j){var o=j(F,e);if(o&&t(o)){return o.then(q)}}return q()}));var A=a.useCallbackRef((function(e){if(w){var o=w(F,e);if(o&&t(o)){return o.then(q)}}return q()}));var D=a.useCallbackRef((function(){p("#"+k);s.afterClose==null?void 0:s.afterClose()}));var G=[v(d,r({},g,{onClick:z,hidden:y,children:I||"取消"}),"0"),v(d,r({type:"primary"},h,{onClick:A,hidden:x,children:E||"提交"}),"1")];var J=B||G;return v(m,r({},b,{children:v(l,r({maskClosable:true,centered:true,onCancel:q,destroyOnClose:true},H,{className:o("v-dialog-modal",P),open:T,afterClose:D,getContainer:u,footer:J,children:typeof _==="function"?_(F,{onClose:q}):_}))}))};var w={open:function e(o){var n=u(),t=n.divElement,a=n.elementId;window["__dialog_modal_elementId"]=a;var i=s(t);i.render(v(k,r({},o,{divElement:t,elementId:a})));return{close:function e(){var o,r;(o=(r=window)[a])==null?void 0:o.call(r)}}},close:function o(){try{var r,n;var t=window["__dialog_modal_elementId"];if(e(t))(r=(n=window)[t])==null?void 0:r.call(n)}catch(e){}}};export{w as d};
|
|
3
|
+
//# sourceMappingURL=dialog-modal-8568caf2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialog-modal-
|
|
1
|
+
{"version":3,"file":"dialog-modal-8568caf2.js","sources":["@flatbiz/antd/src/dialog-modal/dialog-modal.tsx"],"sourcesContent":["import { isPromise, isString } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { TNoopDefine } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Form, FormInstance, Modal, ModalProps } from 'antd';\nimport { ReactElement, useState } from 'react';\nimport { createRoot } from 'react-dom/client';\nimport { ButtonWrapper, ButtonWrapperProps } from '../button-wrapper';\nimport { ConfigProviderWrapper, ConfigProviderWrapperProps } from '../config-provider-wrapper';\nimport { fbaHooks } from '../fba-hooks';\nimport { bodyAppendDivElement, BodyAppendDivElementProps, removeBodyChild } from '../_utils/dom';\nimport './style.less';\n\nexport type DialogModalProps = Omit<\n ModalProps,\n 'onOk' | 'onCancel' | 'getContainer' | 'open' | 'open' | 'okButtonProps' | 'cancelButtonProps'\n> & {\n onOk?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n onCancel?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n content: string | ReactElement | ((form: FormInstance, operate: { onClose: TNoopDefine }) => ReactElement);\n configProviderProps?: ConfigProviderWrapperProps;\n okHidden?: boolean;\n cancelHidden?: boolean;\n okButtonProps?: Omit<ButtonWrapperProps, 'hidden' | 'children' | 'onClick'>;\n cancelButtonProps?: Omit<ButtonWrapperProps, 'hidden' | 'children' | 'onClick'>;\n};\n\nconst ModalRender = (props: BodyAppendDivElementProps & DialogModalProps) => {\n const {\n divElement,\n elementId,\n onOk,\n onCancel,\n okButtonProps,\n cancelButtonProps,\n content,\n configProviderProps,\n className,\n okHidden,\n cancelHidden,\n footer,\n cancelText,\n okText,\n ...otherProps\n } = props;\n const [open, setOpen] = useState(true);\n const [form] = Form.useForm();\n\n const onClose = hooks.useCallbackRef(() => {\n try {\n delete window[elementId];\n } catch (error) {\n //\n }\n setOpen(false);\n });\n\n fbaHooks.useEffectCustom(() => {\n window[elementId] = onClose;\n }, [onClose]);\n\n const onCancelHandle = hooks.useCallbackRef((e) => {\n if (onCancel) {\n const response = onCancel(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n return onClose();\n });\n\n const onOkHandle = hooks.useCallbackRef((e) => {\n if (onOk) {\n const response = onOk(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n return onClose();\n });\n\n const onAfterClose = hooks.useCallbackRef(() => {\n removeBodyChild(`#${elementId}`);\n props.afterClose?.();\n });\n\n const operateGroup = [\n <ButtonWrapper key=\"0\" {...cancelButtonProps} onClick={onCancelHandle} hidden={cancelHidden}>\n {cancelText || '取消'}\n </ButtonWrapper>,\n <ButtonWrapper key=\"1\" type=\"primary\" {...okButtonProps} onClick={onOkHandle} hidden={okHidden}>\n {okText || '提交'}\n </ButtonWrapper>,\n ];\n\n const footerNew = footer || operateGroup;\n\n return (\n <ConfigProviderWrapper {...configProviderProps}>\n <Modal\n maskClosable={true}\n centered={true}\n onCancel={onClose}\n destroyOnClose\n {...otherProps}\n className={classNames('v-dialog-modal', className)}\n open={open}\n afterClose={onAfterClose}\n getContainer={divElement}\n footer={footerNew}\n >\n {typeof content === 'function' ? content(form, { onClose }) : content}\n </Modal>\n </ConfigProviderWrapper>\n );\n};\n\n/**\n * 函数式调用弹框;初始化后,内容无法更新\n *```\n * 1. 基础使用方式\n * dialogModal.open({\n * title: '我是弹框',\n * content: <div>我是内容</div>,\n * });\n * ```\n * ```\n * ***************************\n * 2. 结合内置form使用,可在onOK、onCancel获取form对象\n * dialogModal.open({\n * title: '我是弹框',\n * content: (form, operate) => {\n * return (\n * <Form form={form}>\n * <Form.Item name=\"useName\">\n * <Input placeholder=\"请输入\" />\n * </Form.Item>\n * </Form>\n * );\n * },\n * onOK: (form) => {\n * console.log('content form数据', form.getFieldsValue());\n * return Promise.resolve();\n * },\n * });\n * ```\n */\nexport const dialogModal = {\n open: (props: DialogModalProps) => {\n const { divElement, elementId } = bodyAppendDivElement();\n window['__dialog_modal_elementId'] = elementId;\n const root = createRoot(divElement);\n root.render(<ModalRender {...props} divElement={divElement} elementId={elementId} />);\n return {\n close: () => {\n window[elementId]?.();\n },\n };\n },\n /**\n * ```\n * 1. 关闭最新弹框,如果有多个弹框只能关闭最后一个\n * 2. 多个弹框主动关闭,只能使用 dialogModal.open()返回值中的close\n * ```\n */\n close: () => {\n try {\n const elementId = window['__dialog_modal_elementId'] as string;\n if (isString(elementId)) window[elementId]?.();\n } catch (error) {\n //\n }\n },\n};\n"],"names":["ModalRender","props","divElement","elementId","onOk","onCancel","okButtonProps","cancelButtonProps","content","configProviderProps","className","okHidden","cancelHidden","footer","cancelText","okText","otherProps","_objectWithoutPropertiesLoose","_excluded","_useState","useState","open","setOpen","_Form$useForm","Form","useForm","form","onClose","_hooks","useCallbackRef","window","error","fbaHooks","useEffectCustom","onCancelHandle","e","response","_isPromise","then","onOkHandle","onAfterClose","removeBodyChild","afterClose","operateGroup","_jsx","ButtonWrapper","_extends","onClick","hidden","children","type","footerNew","ConfigProviderWrapper","Modal","maskClosable","centered","destroyOnClose","_classNames","getContainer","dialogModal","_bodyAppendDivElement","bodyAppendDivElement","root","createRoot","render","close","_window$elementId","_window","call","_window$elementId2","_window2","_isString"],"mappings":"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"}
|
|
@@ -5,5 +5,5 @@ import './../fba-hooks/index.css';
|
|
|
5
5
|
import './../fba-utils/index.css';
|
|
6
6
|
import './index.css';
|
|
7
7
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
8
|
-
export{D as DropdownMenuWrapper}from"../dropdown-menu-wrapper-
|
|
8
|
+
export{D as DropdownMenuWrapper}from"../dropdown-menu-wrapper-bd05860d.js";import"../_rollupPluginBabelHelpers-1f4d8910.js";import"@dimjs/lang/cjs/is-promise";import"@wove/react/cjs/hooks";import"antd";import"react";import"../button-wrapper-6441881c.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";
|
|
9
9
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
import{_ as e,a as o}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{isPromise as r}from"@dimjs/lang/cjs/is-promise";import{hooks as n}from"@wove/react/cjs/hooks";import{Popconfirm as i,Dropdown as t}from"antd";import{useState as a,createElement as l,useMemo as s}from"react";import{B as f}from"./button-wrapper-
|
|
3
|
-
//# sourceMappingURL=dropdown-menu-wrapper-
|
|
2
|
+
import{_ as e,a as o}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{isPromise as r}from"@dimjs/lang/cjs/is-promise";import{hooks as n}from"@wove/react/cjs/hooks";import{Popconfirm as i,Dropdown as t}from"antd";import{useState as a,createElement as l,useMemo as s}from"react";import{B as f}from"./button-wrapper-6441881c.js";import{fbaHooks as u}from"./fba-hooks/index.js";import{f as p}from"./fba-utils-1e895394.js";import{jsx as d}from"react/jsx-runtime";function c(e){var o=true;var r=false;while(o){if(e.tagName==="HTML"||e.tagName==="BODY"){o=false;r=false}else{var n=window.getComputedStyle(e),i=n.position;if(i==="sticky"){r=true;o=false}else{if(!e||!e.parentNode){o=false}else{e=e.parentNode}}}}return r}var m=["menuList"],v=["text","color","permission","needConfirm","confirmMessage","hidden","type","style","popconfirmProps"];var g=function g(y){var k=y.menuList,C=e(y,m);var h=a([]),b=h[0],P=h[1];var x=n.useId(undefined,"DropdownMenuWrapper");var w=a({}),j=w[0],N=w[1];var B=n.useCallbackRef((function(e,o){var r;o.stopPropagation();N((r={},r[e]={open:true},r))}));var S=n.useCallbackRef((function(e,n,i){i.stopPropagation();var t=e.onClick==null?void 0:e.onClick(i);if(t&&r(t)){j[n]={loading:true,open:true};N(o({},j));t.finally((function(){j[n]={loading:false,open:false};N(o({},j))}));return}j[n]={loading:false,open:false};N(o({},j))}));var z=n.useCallbackRef((function(e,o){o.stopPropagation();return e.onClick==null?void 0:e.onClick(o)}));u.useEffectCustom((function(){var r=[];k.filter(Boolean).forEach((function(n,t){var a,s;if(!n)return;var u=n.text,c=n.color,m=n.permission,g=n.needConfirm,y=n.confirmMessage,k=n.hidden,C=n.type,h=n.style,b=n.popconfirmProps,P=e(n,v);if(k)return;if(m&&!p.hasPermission(m))return;var x=c?o({color:c},h):h;var w=C||"link";var M={key:t,label:l(f,o({loadingPosition:"center",size:"small"},P,{type:w,style:x,key:t,onClick:z.bind(null,n)}),u)};var T={key:t,label:l(i,o({okText:"确定",cancelText:"取消",trigger:["click"],destroyTooltipOnHide:true},b,{title:y,onConfirm:S.bind(null,n,t),onCancel:function e(o){o==null?void 0:o.stopPropagation();N({})},overlayClassName:"dmw-popconfirm",arrow:true,key:t,overlayStyle:{zIndex:10},open:((a=j[t])==null?void 0:a.open)||false,okButtonProps:{loading:(s=j[t])==null?void 0:s.loading}}),d(f,o({loadingPosition:"center",size:"small",danger:c?false:P.danger},P,{onClick:B.bind(null,t),type:w,style:x,children:u})))};if(g&&!P.disabled){r.push(T)}else{r.push(M)}}));P(r)}),[k,j]);var M=document.querySelector("."+x);var T=s((function(){if(y.isFixed||M&&c(M)){return undefined}return M}),[y.isFixed,M]);return d("div",{className:x,style:{position:"relative"},children:d(t,o({trigger:(C==null?void 0:C.trigger)||["hover"],getPopupContainer:T?function(){return M}:undefined,arrow:{pointAtCenter:true}},C,{overlayStyle:o({zIndex:9},C.overlayStyle),menu:{items:b},onOpenChange:function e(o){if(!o){N({})}},children:y.children}))})};export{g as D};
|
|
3
|
+
//# sourceMappingURL=dropdown-menu-wrapper-bd05860d.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dropdown-menu-wrapper-bd05860d.js","sources":["@flatbiz/antd/src/dropdown-menu-wrapper/utils.ts","@flatbiz/antd/src/dropdown-menu-wrapper/dropdown-menu-wrapper.tsx"],"sourcesContent":["export function parentsHasSticky(node: Element) {\n let condition = true;\n let result = false;\n while (condition) {\n if (node.tagName === 'HTML' || node.tagName === 'BODY') {\n condition = false;\n result = false;\n } else {\n const { position } = window.getComputedStyle(node);\n if (position === 'sticky') {\n result = true;\n condition = false;\n } else {\n if (!node || !node.parentNode) {\n condition = false;\n } else {\n node = node.parentNode as Element;\n }\n }\n }\n }\n return result;\n}\n","import { isPromise } from '@dimjs/lang';\nimport { hooks } from '@wove/react';\nimport { ButtonProps, Dropdown, DropdownProps, Popconfirm, PopconfirmProps } from 'antd';\nimport { ItemType } from 'antd/lib/menu/hooks/useItems';\nimport { ReactElement, useMemo, useState } from 'react';\nimport { ButtonWrapper } from '../button-wrapper';\nimport { fbaHooks } from '../fba-hooks';\nimport { fbaUtils } from '../fba-utils';\nimport './style.less';\nimport { parentsHasSticky } from './utils';\n\nexport interface DropdownMenuItem extends ButtonProps {\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\nexport interface DropdownMenuWrapperProps extends Omit<DropdownProps, 'menu'> {\n menuList: Array<DropdownMenuItem | null>;\n isFixed?: boolean;\n}\n\nexport const DropdownMenuWrapper = (props: DropdownMenuWrapperProps) => {\n const { menuList, ...dropdownOtherProps } = props;\n const [menuItems, setMenuItems] = useState<ItemType[]>([]);\n const clsName = hooks.useId(undefined, 'DropdownMenuWrapper');\n\n const [statusMap, setStatusMap] = useState<Record<string, { open?: boolean; loading?: boolean }>>({});\n const onConfirmtTriggerClick = hooks.useCallbackRef((index, event) => {\n event.stopPropagation();\n setStatusMap({ [index]: { open: true } });\n });\n\n const onConfirm = hooks.useCallbackRef((item: DropdownMenuItem, index: number, event) => {\n event.stopPropagation();\n const result = item.onClick?.(event);\n if (result && isPromise(result)) {\n statusMap[index] = { loading: true, open: true };\n setStatusMap({ ...statusMap });\n result.finally(() => {\n statusMap[index] = { loading: false, open: false };\n setStatusMap({ ...statusMap });\n });\n return;\n }\n statusMap[index] = { loading: false, open: false };\n setStatusMap({ ...statusMap });\n });\n\n const onClick = hooks.useCallbackRef((item: DropdownMenuItem, event) => {\n event.stopPropagation();\n return item.onClick?.(event);\n });\n\n fbaHooks.useEffectCustom(() => {\n const menuItemsNew: ItemType[] = [];\n menuList.filter(Boolean).forEach((item, index) => {\n if (!item) return;\n const {\n text,\n color,\n permission,\n needConfirm,\n confirmMessage,\n hidden,\n type,\n style,\n popconfirmProps,\n ...otherProps\n } = item;\n if (hidden) return;\n if (permission && !fbaUtils.hasPermission(permission)) return;\n const newStyle = color ? { color, ...style } : style;\n const buttonType = type || 'link';\n const nromal = {\n key: index,\n label: (\n <ButtonWrapper\n loadingPosition=\"center\"\n size=\"small\"\n {...otherProps}\n type={buttonType}\n style={newStyle}\n key={index}\n onClick={onClick.bind(null, item)}\n >\n {text}\n </ButtonWrapper>\n ),\n };\n const confirm = {\n key: index,\n label: (\n <Popconfirm\n okText=\"确定\"\n cancelText=\"取消\"\n trigger={['click']}\n destroyTooltipOnHide={true}\n {...popconfirmProps}\n title={confirmMessage}\n onConfirm={onConfirm.bind(null, item, index)}\n onCancel={(event) => {\n event?.stopPropagation();\n setStatusMap({});\n }}\n overlayClassName=\"dmw-popconfirm\"\n arrow={true}\n key={index}\n overlayStyle={{ zIndex: 10 }}\n open={statusMap[index]?.open || false}\n okButtonProps={{\n loading: statusMap[index]?.loading,\n }}\n >\n <ButtonWrapper\n loadingPosition=\"center\"\n size=\"small\"\n danger={color ? false : otherProps.danger}\n {...otherProps}\n onClick={onConfirmtTriggerClick.bind(null, index)}\n type={buttonType}\n style={newStyle}\n >\n {text}\n </ButtonWrapper>\n </Popconfirm>\n ),\n };\n if (needConfirm && !otherProps.disabled) {\n menuItemsNew.push(confirm);\n } else {\n menuItemsNew.push(nromal);\n }\n });\n setMenuItems(menuItemsNew);\n }, [menuList, statusMap]);\n\n const target = document.querySelector(`.${clsName}`);\n const container = useMemo(() => {\n if (props.isFixed || (target && parentsHasSticky(target))) {\n return undefined;\n }\n return target;\n }, [props.isFixed, target]);\n\n return (\n <div className={clsName} style={{ position: 'relative' }}>\n <Dropdown\n trigger={dropdownOtherProps?.trigger || ['hover']}\n getPopupContainer={container ? () => target as HTMLElement : undefined}\n arrow={{ pointAtCenter: true }}\n {...dropdownOtherProps}\n overlayStyle={{ zIndex: 9, ...dropdownOtherProps.overlayStyle }}\n menu={{ items: menuItems }}\n onOpenChange={(_open) => {\n if (!_open) {\n setStatusMap({});\n }\n }}\n >\n {props.children}\n </Dropdown>\n </div>\n );\n};\n"],"names":["parentsHasSticky","node","condition","result","tagName","_window$getComputedSt","window","getComputedStyle","position","parentNode","DropdownMenuWrapper","props","menuList","dropdownOtherProps","_objectWithoutPropertiesLoose","_excluded","_useState","useState","menuItems","setMenuItems","clsName","_hooks","useId","undefined","_useState2","statusMap","setStatusMap","onConfirmtTriggerClick","useCallbackRef","index","event","_setStatusMap","stopPropagation","open","onConfirm","item","onClick","_isPromise","loading","_extends","finally","fbaHooks","useEffectCustom","menuItemsNew","filter","Boolean","forEach","_statusMap$index","_statusMap$index2","text","color","permission","needConfirm","confirmMessage","hidden","type","style","popconfirmProps","otherProps","_excluded2","fbaUtils","hasPermission","newStyle","buttonType","nromal","key","label","_createElement","ButtonWrapper","loadingPosition","size","bind","confirm","Popconfirm","okText","cancelText","trigger","destroyTooltipOnHide","title","onCancel","overlayClassName","arrow","overlayStyle","zIndex","okButtonProps","_jsx","danger","children","disabled","push","target","document","querySelector","container","useMemo","isFixed","className","Dropdown","getPopupContainer","pointAtCenter","menu","items","onOpenChange","_open"],"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{d as dynamicNode}from"../dynamic-node-
|
|
4
|
+
export{d as dynamicNode}from"../dynamic-node-c7864af4.js";import"@dimjs/utils/cjs/class-names";import"react-dom/client";import"../dom-4d04aa64.js";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{createRoot as n}from"react-dom/client";import{b as t}from"./dom-4d04aa64.js";import{jsx as r}from"react/jsx-runtime";var i={append:function i(o){if(o===void 0){o={}}var d=function(){var e;if(typeof o.getContainer==="string"){e=document.querySelector(o.getContainer)}else if(typeof o.getContainer==="function"){e=o.getContainer()}else{e=t().divElement}return e}();var a=e("v-dynamic-node",{"v-dynamic-node-fixed":o.fixed},o.className);var m="id_"+Date.now();var c=n(d);c.render(r("div",{className:a,id:m,children:o.content}));window["_dynamic_node_element_id"]=m;return{elementId:m}},remove:function e(n){var t=n||window["_dynamic_node_element_id"];if(t){try{var r;(r=document.querySelector("#"+t))==null?void 0:r.remove()}catch(e){}}}};export{i as d};
|
|
3
|
+
//# sourceMappingURL=dynamic-node-c7864af4.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dynamic-node-c7864af4.js","sources":["@flatbiz/antd/src/dynamic-node/dynamic-node.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { CSSProperties, ReactElement } from 'react';\nimport { createRoot } from 'react-dom/client';\nimport { bodyAppendDivElement } from '../_utils/dom';\nimport './style.less';\n\nexport type TDynamicNodeProps = {\n className?: string;\n getContainer?: HTMLElement | (() => HTMLElement) | string;\n content?: ReactElement;\n fixed?: boolean;\n style?: CSSProperties;\n};\n\n/**\n * 动态添加 element 元素\n * ```\n * 1. 默认添加到 body 下\n * 2. 可通过 getContainer 参数设置添加位置\n * ```\n */\nexport const dynamicNode = {\n append: (props: TDynamicNodeProps = {}) => {\n const container = (() => {\n let tempElement;\n if (typeof props.getContainer === 'string') {\n tempElement = document.querySelector(props.getContainer) as Element;\n } else if (typeof props.getContainer === 'function') {\n tempElement = props.getContainer();\n } else {\n tempElement = bodyAppendDivElement().divElement;\n }\n return tempElement as Element;\n })();\n\n const className = classNames('v-dynamic-node', { 'v-dynamic-node-fixed': props.fixed }, props.className);\n const nodeElementId = `id_${Date.now()}`;\n const root = createRoot(container);\n root.render(\n <div className={className} id={nodeElementId}>\n {props.content}\n </div>,\n );\n window['_dynamic_node_element_id'] = nodeElementId;\n return { elementId: nodeElementId };\n },\n remove: (elementId?: string) => {\n const dynamicElementId = elementId || window['_dynamic_node_element_id'];\n if (dynamicElementId) {\n try {\n document.querySelector(`#${dynamicElementId}`)?.remove();\n } catch (error) {\n //\n }\n }\n },\n};\n"],"names":["dynamicNode","append","props","container","tempElement","getContainer","document","querySelector","bodyAppendDivElement","divElement","className","_classNames","fixed","nodeElementId","Date","now","root","createRoot","render","_jsx","id","children","content","window","elementId","remove","dynamicElementId","_document$querySelect","error"],"mappings":";sLAqBO,IAAMA,EAAc,CACzBC,OAAQ,SAAAA,EAACC,GAAkC,GAAlCA,SAAwB,EAAA,CAAxBA,EAA2B,CAAA,CAAE,CACpC,IAAMC,EAAa,WACjB,IAAIC,EACJ,UAAWF,EAAMG,eAAiB,SAAU,CAC1CD,EAAcE,SAASC,cAAcL,EAAMG,aAC5C,MAAM,UAAWH,EAAMG,eAAiB,WAAY,CACnDD,EAAcF,EAAMG,cACtB,KAAO,CACLD,EAAcI,IAAuBC,UACvC,CACA,OAAOL,CACT,CAVmB,GAYnB,IAAMM,EAAYC,EAAW,iBAAkB,CAAE,uBAAwBT,EAAMU,OAASV,EAAMQ,WAC9F,IAAMG,EAAa,MAASC,KAAKC,MACjC,IAAMC,EAAOC,EAAWd,GACxBa,EAAKE,OACHC,EAAA,MAAA,CAAKT,UAAWA,EAAWU,GAAIP,EAAcQ,SAC1CnB,EAAMoB,WAGXC,OAAO,4BAA8BV,EACrC,MAAO,CAAEW,UAAWX,EACrB,EACDY,OAAQ,SAAAA,EAACD,GACP,IAAME,EAAmBF,GAAaD,OAAO,4BAC7C,GAAIG,EAAkB,CACpB,IAAI,IAAAC,GACFA,EAAArB,SAASC,cAAa,IAAKmB,KAA3BC,UAAAA,EAAAA,EAAgDF,QACjD,CAAC,MAAOG,GACP,CAEJ,CACF"}
|
package/esm/easy-table/index.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/* eslint-disable */
|
|
2
|
+
import './../fba-utils/index.css';
|
|
2
3
|
import './../button-wrapper/index.css';
|
|
3
4
|
import './../config-provider-wrapper/index.css';
|
|
4
5
|
import './../fba-hooks/index.css';
|
|
5
|
-
import './../fba-utils/index.css';
|
|
6
6
|
import './../form-grid/index.css';
|
|
7
7
|
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{
|
|
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 n}from"@dimjs/lang/cjs/is-array";import{hooks as r}from"@wove/react/cjs/hooks";import{a,_ as o}from"../_rollupPluginBabelHelpers-1f4d8910.js";import{cloneState as l}from"@dimjs/model";import{Select as s,Form as u,Pagination as d,message as c,Table as f}from"antd";import{forwardRef as p,useState as m,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{B as q}from"../button-wrapper-6441881c.js";import{FormGrid as N}from"../form-grid/index.js";import{S as R}from"../simple-layout-1676e586.js";import{isUndefinedOrNull as w,getUuid as P,isMacEnv as x}from"@flatbiz/utils";import{fbaHooks as k}from"../fba-hooks/index.js";import{T}from"../table-scrollbar-66c1682c.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-promise";import"../config-provider-wrapper-dfe8f592.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"../use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/extend";import"@dimjs/utils/cjs/get";import"ahooks";var K=C(),L=K[0],V=K[1];var O={queryCondition:{},isInit:true};var E={actions:{updateFilterCondition:function e(i){return function(e){e.queryCondition=a({},e.queryCondition,i)}},resetFilterCondition:function e(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(E)}return B[i]};var I=function e(i){return b(s,a({},i,{size:"small",placement:"topLeft"}))};I.Option=s.Option;var A=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],N=z[1];var R=D(e.modelKey).useStore(),w=R[0],P=R[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 O=g();var E=a({list:"list",total:"tatal",pageNo:"pageNo",pageSize:"pageSize"},e.fieldNames);var B=u.useForm(),A=B[0];var _=r.useCallbackRef((function(i){return new Promise((function(t,r){var a,o,s,u,d,f,p,m,g,v;var y=function(){try{return t()}catch(e){return r(e)}};var C=function(e){try{N(false);void c.error(e.message);return y()}catch(e){return r(e)}};try{N(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||{};O.current=m;e.onDataSourceChange==null?void 0:e.onDataSourceChange(m);g=f?f(m):m;v=g[E.list];h(n(v)?v:[]);F(g[E.total]);N(false);return y()}catch(e){return C(e)}}),C)}catch(e){return C(e)}}),C)}catch(e){C(e)}}))}));var U=r.useCallbackRef((function(e){return new Promise((function(i,t){return Promise.resolve(P.resetFilterCondition()).then((function(n){try{A.resetFields();if(e){void P.updateFilterCondition(e);A.setFieldsValue(e)}return i()}catch(e){return t(e)}}),t)}))}));var W=function e(i,t){if(K){var n;return n={},n[E.pageNo]=i,n[E.pageSize]=t||x,n}else{return{}}};var Y=r.useCallbackRef((function(i){return new Promise((function(t,n){var r;r=a({},W(1,x),e.initialValues,i);return Promise.resolve(P.resetFilterCondition(r)).then((function(e){try{A.resetFields();void _(r);return t()}catch(e){return n(e)}}),n)}))}));var G=r.useCallbackRef((function(){return a({},w.queryCondition,A.getFieldsValue())}));var H=function e(){return{onRequest:_,clearQueryCondition:U,getRequestParams:G,onResetRequest:Y,form:A,getDataSource:function e(){return O.current}}};v(o,(function(){return H()}));var Q=function e(i){L(i)};var $=function i(){var t=A.getFieldsValue();if(e.onFormFinish){e.onFormFinish(a({},t,W(1,w.queryCondition.pageSize)))}else{void _(a({},t,W(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[E.pageNo]||1,pageSize:w.queryCondition[E.pageSize]||x,total:S,showTotal:function e(i){return"共 "+i+" 条记录"}},e.pagination)}),[E.pageNo,E.pageSize,x,e.pagination,w.queryCondition,S]);var Z=r.useCallbackRef((function(i,t){var n,r;void _((n={},n[E.pageSize]=t,n[E.pageNo]=i,n));(r=e.pagination)==null?void 0:r.onChange==null?void 0:r.onChange(i,t)}));return b(V,{value:{getEasyTableRef:H,modelKey:e.modelKey,onRequest:_,tableList:p,tableTotal:S,loading:q,fieldNames:E,pageSize:x,initRequest:k,initialValues:e.initialValues||{},onSetPaginationStatus:Q,paginationStatus:K,onFormFinish:$,form:A,paginationFixed:e.paginationFixed||false,foldKeys:e.foldKeys||[]},children:e.paginationFixed?j("div",{className:"fba-easy-table-wrapper",children:[b("div",{className:M,children:e.children}),S>0&&b("div",{className:"fba-easy-table-pagination",children:b(d,a({size:"small"},X,{onChange:Z,selectComponentClass:I}))})]}):b("div",{className:M,children:e.children})})}));var _=function e(i){var t=i.queryButtonProps,n=i.resetButtonProps,o=i.filterOperate;var l=L(),s=l.modelKey,d=l.foldKeys,c=l.fieldNames,f=l.onRequest,p=l.pageSize,g=l.paginationStatus,v=l.initialValues,C=l.form,S=l.onFormFinish;var w=typeof i.children==="function"?i.children(C):i.children;var P=h.toArray(w);var x=m(false),k=x[0],T=x[1];var K=D(s).useStore(),V=K[0],O=K[1];var E=r.useCallbackRef((function(){return new Promise((function(e,i){var t;return Promise.resolve(O.resetFilterCondition()).then((function(n){try{C.resetFields();if(g){f(a((t={},t[c.pageNo]=1,t[c.pageSize]=p,t),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(q,a({type:"primary",htmlType:"submit"},t,{children:(t==null?void 0:t.text)||"查询"}),"1"):null,!(n!=null&&n.hidden)?b(q,a({onClick:E},n,{children:(n==null?void 0:n.text)||"重置"}),"2"):null],leftList:[]},o==null?void 0:o(C));if(d.length>0){var i=b(q,{type:"link",style:{padding:"0"},onClick:function e(){T(!k)},children:k?j("span",{children:["收起",b(z,{style:{marginLeft:3,fontSize:12}})]}):j("span",{children:["展开",b(F,{style:{marginLeft:3,fontSize:12}})]})});var r=e.rightList,l=e.leftList;if(r.length>0||l.length===0){r.push(i)}else if((l==null?void 0:l.length)>0){l.push(i)}}return P.map((function(e,i){if(!k&&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))}),[P,o,d,C,E,k,t,n]);return b(R,{className:"easy-table-filter",children:b(u,{form:C,onFinish:S,initialValues:a({},v,V.queryCondition),children:i.isPure?w:b(N.Row,{gutter:[15,0],gridSize:i.formGridSize,children:B})})})};var U=function e(){var i=L();var t=g(i.getEasyTableRef());return t.current};var W=function e(){var i=L(),t=i.getEasyTableRef;var n=g(t());return n};var Y=["children","rowKey","pagination"];var G=function e(t){var n=t.children,r=t.rowKey,l=t.pagination,s=o(t,Y);var u=L(),d=u.modelKey,c=u.fieldNames,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(),N=q[0],K=q[1];var V=y((function(){if(F||l===false)return false;return a({showSizeChanger:true,current:N.queryCondition[c.pageNo]||1,pageSize:N.queryCondition[c.pageSize]||v,total:h,showTotal:function e(i){return"共 "+i+" 条记录"}},t.pagination,{selectComponentClass:I})}),[c.pageNo,c.pageSize,v,l,F,t.pagination,N.queryCondition,h]);var O=function e(i){if(V){var n;p((n={},n[c.pageSize]=i.pageSize,n[c.pageNo]=i.current,n))}for(var r=arguments.length,a=new Array(r>1?r-1:0),o=1;o<r;o++){a[o-1]=arguments[o]}t.onChange==null?void 0:t.onChange.apply(t,[i].concat(a))};var E=y((function(){if(m.length===0){return[]}if(w(m[0][r])){return m.map((function(e){e[r]=P();return e}))}return m}),[m,r]);k.useEffectCustom((function(){var e=F||V!==false;z(e);if(g!==false||!N.isInit){if(e){var i;void p(a((i={},i[c.pageNo]=1,i[c.pageSize]=v,i),S))}else{void p(S)}}else{void K.updateFilterCondition(S)}void K.updateInitStatus()}),[]);return j(R,{className:i("easy-table-table",t.tableWrapperClassName),style:t.tableWrapperStyle,children:[n,x()?b(f,a({size:"small",scroll:{x:"max-content"},bordered:true},s,{pagination:V,rowKey:r,onChange:O,loading:C,dataSource:E})):b(T,{children:b(f,a({size:"small",scroll:{x:"max-content"},bordered:true},s,{pagination:V,rowKey:r,onChange:O,loading:C,dataSource:E}))})]})};var H=e.attachPropertiesToComponent(A,{Filter:_,Table:G,useEasyTablRef:W,useEasyTable:U});export{H as EasyTable};
|
|
12
12
|
//# sourceMappingURL=index.js.map
|