@flatbiz/antd 4.2.51 → 4.2.53
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-deb2cd63.js → button-operate-fb40320e.js} +2 -2
- package/esm/{button-operate-deb2cd63.js.map → button-operate-fb40320e.js.map} +1 -1
- package/esm/button-wrapper/index.js +1 -1
- package/esm/{button-wrapper-e8fa0aac.js → button-wrapper-125fce50.js} +2 -2
- package/esm/{button-wrapper-e8fa0aac.js.map → button-wrapper-125fce50.js.map} +1 -1
- package/esm/cascader-wrapper/index.js +1 -1
- package/esm/{cascader-wrapper-db4a5382.js → cascader-wrapper-a965eef5.js} +2 -2
- package/esm/{cascader-wrapper-db4a5382.js.map → cascader-wrapper-a965eef5.js.map} +1 -1
- package/esm/{cell-render-cf211bab.js → cell-render-2a3743af.js} +2 -2
- package/esm/{cell-render-cf211bab.js.map → cell-render-2a3743af.js.map} +1 -1
- package/esm/dialog-alert/index.js +1 -1
- package/esm/{dialog-alert-c9779a72.js → dialog-alert-89d37729.js} +2 -2
- package/esm/{dialog-alert-c9779a72.js.map → dialog-alert-89d37729.js.map} +1 -1
- package/esm/dialog-confirm/index.js +1 -1
- package/esm/{dialog-confirm-24107a78.js → dialog-confirm-74fc9337.js} +2 -2
- package/esm/{dialog-confirm-24107a78.js.map → dialog-confirm-74fc9337.js.map} +1 -1
- package/esm/dialog-drawer/index.js +1 -1
- package/esm/{dialog-drawer-3e6a39bf.js → dialog-drawer-7cb5c6df.js} +2 -2
- package/esm/{dialog-drawer-3e6a39bf.js.map → dialog-drawer-7cb5c6df.js.map} +1 -1
- package/esm/dialog-modal/index.js +1 -1
- package/esm/{dialog-modal-67b7a643.js → dialog-modal-4a0c72c5.js} +2 -2
- package/esm/{dialog-modal-67b7a643.js.map → dialog-modal-4a0c72c5.js.map} +1 -1
- package/esm/drag-collapse/index.css +1 -0
- package/esm/drag-collapse/index.js +8 -0
- package/esm/drag-collapse/index.js.map +1 -0
- package/esm/drag-collapse-8d751c2b.js +3 -0
- package/esm/drag-collapse-8d751c2b.js.map +1 -0
- package/esm/drag-drop/index.css +1 -0
- package/esm/drag-drop/index.js +6 -0
- package/esm/drag-drop/index.js.map +1 -0
- package/esm/drag-drop-multi/index.css +0 -0
- package/esm/drag-drop-multi/index.js +5 -0
- package/esm/drag-drop-multi/index.js.map +1 -0
- package/esm/drag-drop-multi-e8cae136.js +3 -0
- package/esm/drag-drop-multi-e8cae136.js.map +1 -0
- package/esm/dropdown-menu-wrapper/index.js +1 -1
- package/esm/dropdown-menu-wrapper-98347af8.js +3 -0
- package/esm/dropdown-menu-wrapper-98347af8.js.map +1 -0
- package/esm/droppable-item-708ec229.js +3 -0
- package/esm/droppable-item-708ec229.js.map +1 -0
- package/esm/easy-table/index.js +1 -1
- package/esm/editable-field/index.js +1 -1
- package/esm/{editable-field-7f30db8e.js → editable-field-6801d833.js} +2 -2
- package/esm/{editable-field-7f30db8e.js.map → editable-field-6801d833.js.map} +1 -1
- package/esm/editable-table/index.js +1 -1
- package/esm/{editable-table-bc58c0fc.js → editable-table-07ef34fa.js} +2 -2
- package/esm/{editable-table-bc58c0fc.js.map → editable-table-07ef34fa.js.map} +1 -1
- package/esm/form-item-group/index.js +1 -1
- package/esm/index.js +4 -1
- package/esm/local-loading/index.js +1 -1
- package/esm/selector-wrapper/index.js +1 -1
- package/esm/{selector-wrapper-8493b6fd.js → selector-wrapper-91427b7d.js} +2 -2
- package/esm/{selector-wrapper-8493b6fd.js.map → selector-wrapper-91427b7d.js.map} +1 -1
- package/esm/selector-wrapper-search/index.js +1 -1
- package/esm/{selector-wrapper-search-70df2a1a.js → selector-wrapper-search-5d87e3b9.js} +2 -2
- package/esm/{selector-wrapper-search-70df2a1a.js.map → selector-wrapper-search-5d87e3b9.js.map} +1 -1
- package/esm/selector-wrapper-simple/index.js +1 -1
- package/esm/{selector-wrapper-simple-7b34f7bd.js → selector-wrapper-simple-1c0ceae7.js} +2 -2
- package/esm/{selector-wrapper-simple-7b34f7bd.js.map → selector-wrapper-simple-1c0ceae7.js.map} +1 -1
- package/esm/table-cell-render/index.js +1 -1
- package/esm/text-overflow-render/index.js +1 -1
- package/esm/{text-overflow-render-bba0b7f4.js → text-overflow-render-7a6541f5.js} +2 -2
- package/esm/{text-overflow-render-bba0b7f4.js.map → text-overflow-render-7a6541f5.js.map} +1 -1
- package/esm/tree-wrapper/index.js +1 -1
- package/index.d.ts +112 -1
- package/package.json +4 -3
- package/esm/dropdown-menu-wrapper-3bffcb23.js +0 -3
- package/esm/dropdown-menu-wrapper-3bffcb23.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialog-modal-
|
|
1
|
+
{"version":3,"file":"dialog-modal-4a0c72c5.js","sources":["@flatbiz/antd/src/dialog-modal/dialog-modal.tsx"],"sourcesContent":["import { isPromise, isString } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\n\nimport { BodyAppendDivElementProps, dom, TNoopDefine } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { useSize } from 'ahooks';\nimport { Form, FormInstance, Modal, ModalProps } from 'antd';\nimport { ReactElement, useMemo, 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 './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 * 设置modal body height 为当前窗口height的百分比,例如:30\n * ```\n * 1. 最大值:80\n * 1. 设置bodyStyle.height 后,bodyHeightPercent失效\n * ```\n */\n bodyHeightPercent?: number;\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 bodyHeightPercent,\n ...otherProps\n } = props;\n const [open, setOpen] = useState(true);\n const [form] = Form.useForm();\n const size = useSize(document.querySelector('html'));\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 dom.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 const height = useMemo(() => {\n if (!size?.height || !bodyHeightPercent) {\n return 'auto';\n }\n return size?.height * (bodyHeightPercent / 100);\n }, [bodyHeightPercent, size?.height]);\n\n return (\n <ConfigProviderWrapper {...configProviderProps}>\n <Modal\n maskClosable={true}\n centered={true}\n onCancel={onClose}\n destroyOnClose\n {...otherProps}\n bodyStyle={{\n height,\n maxHeight: size?.height ? size?.height * 0.8 : 'calc(100vh - 200px)',\n ...otherProps.bodyStyle,\n }}\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 } = dom.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","bodyHeightPercent","otherProps","_objectWithoutPropertiesLoose","_excluded","_useState","useState","open","setOpen","_Form$useForm","Form","useForm","form","size","useSize","document","querySelector","onClose","_hooks","useCallbackRef","window","error","fbaHooks","useEffectCustom","onCancelHandle","e","response","_isPromise","then","onOkHandle","onAfterClose","dom","removeBodyChild","afterClose","operateGroup","_jsx","ButtonWrapper","_extends","onClick","hidden","children","type","footerNew","height","useMemo","ConfigProviderWrapper","Modal","maskClosable","centered","destroyOnClose","bodyStyle","maxHeight","_classNames","getContainer","dialogModal","_dom$bodyAppendDivEle","bodyAppendDivElement","root","createRoot","render","close","_window$elementId","_window","call","_window$elementId2","_window2","_isString"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.drag-collapse-wrapper{border:1px solid #d9d9d9;border-radius:8px;overflow:hidden}.drag-collapse-wrapper .drag-collapse{border:none}.drag-collapse-wrapper .drag-collapse>.ant-collapse-item{border-radius:0}.drag-collapse-wrapper .droppable-item .draggable-item:last-child .ant-collapse-item{border:none}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
import './../drag-drop/index.css';
|
|
3
|
+
import './../fba-utils/index.css';
|
|
4
|
+
import './../fba-hooks/index.css';
|
|
5
|
+
import './index.css';
|
|
6
|
+
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
7
|
+
export{D as DragCollapse}from"../drag-collapse-8d751c2b.js";import"@dimjs/utils/cjs/class-names";import"@dimjs/utils/cjs/array";import"@ant-design/icons/es/icons/DragOutlined";import"@wove/react/cjs/hooks";import"@flatbiz/antd";import"@flatbiz/utils";import"antd";import"react";import"../drag-drop/index.js";import"../fba-utils-f9e11d02.js";import"@dimjs/lang/cjs/is-array";import"@hello-pangea/dnd";import"../droppable-item-708ec229.js";import"../_rollupPluginBabelHelpers-1f4d8910.js";import"react/jsx-runtime";import"../fba-hooks/index.js";import"../use-responsive-point-21b8c601.js";
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
+
import{classNames as e}from"@dimjs/utils/cjs/class-names";import{array as n}from"@dimjs/utils/cjs/array";import i from"@ant-design/icons/es/icons/DragOutlined";import{hooks as a}from"@wove/react/cjs/hooks";import{FlexLayout as o}from"@flatbiz/antd";import{toArray as r}from"@flatbiz/utils";import{Collapse as t}from"antd";import{useState as c,useEffect as l}from"react";import{DragDrop as s}from"./drag-drop/index.js";import{fbaHooks as d}from"./fba-hooks/index.js";import{jsx as f,jsxs as m}from"react/jsx-runtime";var u=function u(p){var h=c([]),g=h[0],v=h[1];var y=a.useCallbackRef((function(e){p.onDropChange(e)}));d.useEffectCustom((function(){var e=r(p.defaultActiveKey);if(!p.activeKey&&e.length>0){v(e)}}),[p.defaultActiveKey]);l((function(){v(r(p.activeKey))}),[p.activeKey]);var k=function e(n){var a=p.dragIcon?p.dragIcon:f(i,{});return p.hideDragIcon?n.content:m(o,{fullIndex:1,direction:"horizontal",children:[f("span",{style:{display:"inline-block",marginRight:5},children:a}),f("span",{children:n.content})]})};var x=a.useCallbackRef((function(e){var i=[];if(p.accordion){if(g[0]&&g[0]===e){i=[]}else{i=[e]}}else{var a=g.includes(e);if(a){n.arrayRemove(g,e);i=[].concat(g)}else{i=g.concat(e)}}v(i);if(p.accordion){p.onChange==null?void 0:p.onChange(i.length?i[0]:undefined)}else{p.onChange==null?void 0:p.onChange(i.length?i:undefined)}}));return f(s,{onDragEnd:y,dataList:p.items,uidFieldKey:"key",className:e("drag-collapse-wrapper",p.className),style:p.style,children:function e(n){var i=g.includes(n.key);return f(t,{activeKey:i?n.key:undefined,accordion:true,className:"drag-collapse",collapsible:p.collapsible,expandIcon:p.expandIcon,expandIconPosition:p.expandIconPosition,size:p.size,onChange:x.bind(null,n.key),children:f(t.Panel,{header:k(n),children:f("div",{style:{padding:"10px"},children:n.content})},n.key)})}})};export{u as D};
|
|
3
|
+
//# sourceMappingURL=drag-collapse-8d751c2b.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drag-collapse-8d751c2b.js","sources":["@flatbiz/antd/src/drag-collapse/drag-collapse.tsx"],"sourcesContent":["import { DragOutlined } from '@ant-design/icons';\nimport { array, classNames } from '@dimjs/utils';\nimport { FlexLayout } from '@flatbiz/antd';\nimport { toArray } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Collapse, CollapseProps } from 'antd';\nimport { CSSProperties, ReactElement, ReactNode, useEffect, useState } from 'react';\nimport { DragDrop } from '../drag-drop';\nimport { fbaHooks } from '../fba-hooks';\nimport './style.less';\n\ntype DragCollapseItemKey = number | string;\ntype DragCollapseItem = { key: DragCollapseItemKey; header: ReactNode; content: ReactElement };\ntype DragCollapseProps = {\n /** 面板数据 */\n items: DragCollapseItem[];\n /** 拖拽面板回调 */\n onDropChange: (items: DragCollapseItem[]) => void;\n /** 手风琴模式,只允许单个内容区域展开 */\n accordion?: boolean;\n /** 当前激活 tab 面板的key */\n activeKey?: DragCollapseItemKey | DragCollapseItemKey[];\n /** 所有子面板是否可折叠或指定可折叠触发区域,可选: header | icon | disabled */\n collapsible?: CollapseProps['collapsible'];\n /** 初始化选中面板的 key */\n defaultActiveKey?: DragCollapseItemKey[];\n /** 自定义切换图标\t */\n expandIcon?: CollapseProps['expandIcon'];\n /** 设置图标位置,可选:start | end */\n expandIconPosition?: CollapseProps['expandIconPosition'];\n /** 设置折叠面板大小\t */\n size?: CollapseProps['size'];\n /** 隐藏拖拽图标,默认不隐藏 */\n hideDragIcon?: boolean;\n /** 设置拖拽图标 */\n dragIcon?: ReactElement;\n /** 切换面板的回调\t */\n onChange?: (activeKey?: DragCollapseItemKey | DragCollapseItemKey[]) => void;\n className?: string;\n style?: CSSProperties;\n};\n\n/**\n * 可拖拽 折叠面板\n * @demo https://fex.qa.tcshuke.com/docs/admin/main/move/sort\n */\nexport const DragCollapse = (props: DragCollapseProps) => {\n const [dragActiveKeys, setDragActiveKeys] = useState<DragCollapseItemKey[]>([]);\n const onDragEnd = hooks.useCallbackRef((dataList) => {\n props.onDropChange(dataList);\n });\n\n fbaHooks.useEffectCustom(() => {\n const defaultActiveKeys = toArray(props.defaultActiveKey);\n if (!props.activeKey && defaultActiveKeys.length > 0) {\n setDragActiveKeys(defaultActiveKeys as DragCollapseItemKey[]);\n }\n }, [props.defaultActiveKey]);\n\n useEffect(() => {\n setDragActiveKeys(toArray(props.activeKey));\n }, [props.activeKey]);\n\n const header = (item: DragCollapseItem) => {\n const dragIcon = props.dragIcon ? props.dragIcon : <DragOutlined />;\n return props.hideDragIcon ? (\n item.content\n ) : (\n <FlexLayout fullIndex={1} direction=\"horizontal\">\n <span style={{ display: 'inline-block', marginRight: 5 }}>{dragIcon}</span>\n <span>{item.content}</span>\n </FlexLayout>\n );\n };\n\n const onChange = hooks.useCallbackRef((key: DragCollapseItemKey) => {\n let dragActiveKeysNew: DragCollapseItemKey[] = [];\n if (props.accordion) {\n if (dragActiveKeys[0] && dragActiveKeys[0] === key) {\n dragActiveKeysNew = [];\n } else {\n dragActiveKeysNew = [key];\n }\n } else {\n const has = dragActiveKeys.includes(key);\n if (has) {\n array.arrayRemove(dragActiveKeys, key);\n dragActiveKeysNew = [...dragActiveKeys];\n } else {\n dragActiveKeysNew = dragActiveKeys.concat(key);\n }\n }\n setDragActiveKeys(dragActiveKeysNew);\n if (props.accordion) {\n props.onChange?.(dragActiveKeysNew.length ? dragActiveKeysNew[0] : undefined);\n } else {\n props.onChange?.(dragActiveKeysNew.length ? dragActiveKeysNew : undefined);\n }\n });\n\n return (\n <DragDrop\n onDragEnd={onDragEnd}\n dataList={props.items}\n uidFieldKey=\"key\"\n className={classNames('drag-collapse-wrapper', props.className)}\n style={props.style}\n >\n {(item) => {\n const isActive = dragActiveKeys.includes(item.key);\n return (\n <Collapse\n activeKey={isActive ? item.key : undefined}\n accordion\n className=\"drag-collapse\"\n collapsible={props.collapsible}\n expandIcon={props.expandIcon}\n expandIconPosition={props.expandIconPosition}\n size={props.size}\n onChange={onChange.bind(null, item.key)}\n >\n <Collapse.Panel header={header(item)} key={item.key}>\n <div style={{ padding: '10px' }}>{item.content}</div>\n </Collapse.Panel>\n </Collapse>\n );\n }}\n </DragDrop>\n );\n};\n"],"names":["DragCollapse","props","_useState","useState","dragActiveKeys","setDragActiveKeys","onDragEnd","_hooks","useCallbackRef","dataList","onDropChange","fbaHooks","useEffectCustom","defaultActiveKeys","toArray","defaultActiveKey","activeKey","length","useEffect","header","item","dragIcon","_jsx","_DragOutlined","hideDragIcon","content","_jsxs","FlexLayout","fullIndex","direction","children","style","display","marginRight","onChange","key","dragActiveKeysNew","accordion","has","includes","_array","arrayRemove","concat","undefined","DragDrop","items","uidFieldKey","className","_classNames","isActive","Collapse","collapsible","expandIcon","expandIconPosition","size","bind","Panel","padding"],"mappings":";wgBA8CaA,EAAe,SAAfA,EAAgBC,GAC3B,IAAAC,EAA4CC,EAAgC,IAArEC,EAAcF,EAAA,GAAEG,EAAiBH,EAAA,GACxC,IAAMI,EAAYC,EAAMC,gBAAe,SAACC,GACtCR,EAAMS,aAAaD,EACrB,IAEAE,EAASC,iBAAgB,WACvB,IAAMC,EAAoBC,EAAQb,EAAMc,kBACxC,IAAKd,EAAMe,WAAaH,EAAkBI,OAAS,EAAG,CACpDZ,EAAkBQ,EACpB,CACF,GAAG,CAACZ,EAAMc,mBAEVG,GAAU,WACRb,EAAkBS,EAAQb,EAAMe,WAClC,GAAG,CAACf,EAAMe,YAEV,IAAMG,EAAS,SAATA,EAAUC,GACd,IAAMC,EAAWpB,EAAMoB,SAAWpB,EAAMoB,SAAWC,EAAAC,EAAgB,CAAA,GACnE,OAAOtB,EAAMuB,aACXJ,EAAKK,QAELC,EAACC,EAAU,CAACC,UAAW,EAAGC,UAAU,aAAYC,UAC9CR,EAAA,OAAA,CAAMS,MAAO,CAAEC,QAAS,eAAgBC,YAAa,GAAIH,SAAET,IAC3DC,EAAA,OAAA,CAAAQ,SAAOV,EAAKK,cAKlB,IAAMS,EAAW3B,EAAMC,gBAAe,SAAC2B,GACrC,IAAIC,EAA2C,GAC/C,GAAInC,EAAMoC,UAAW,CACnB,GAAIjC,EAAe,IAAMA,EAAe,KAAO+B,EAAK,CAClDC,EAAoB,EACtB,KAAO,CACLA,EAAoB,CAACD,EACvB,CACF,KAAO,CACL,IAAMG,EAAMlC,EAAemC,SAASJ,GACpC,GAAIG,EAAK,CACPE,EAAMC,YAAYrC,EAAgB+B,GAClCC,EAAiBM,GAAAA,OAAOtC,EAC1B,KAAO,CACLgC,EAAoBhC,EAAesC,OAAOP,EAC5C,CACF,CACA9B,EAAkB+B,GAClB,GAAInC,EAAMoC,UAAW,CACnBpC,EAAMiC,UAAQ,UAAA,EAAdjC,EAAMiC,SAAWE,EAAkBnB,OAASmB,EAAkB,GAAKO,UACrE,KAAO,CACL1C,EAAMiC,UAANjC,UAAAA,EAAAA,EAAMiC,SAAWE,EAAkBnB,OAASmB,EAAoBO,UAClE,CACF,IAEA,OACErB,EAACsB,EAAQ,CACPtC,UAAWA,EACXG,SAAUR,EAAM4C,MAChBC,YAAY,MACZC,UAAWC,EAAW,wBAAyB/C,EAAM8C,WACrDhB,MAAO9B,EAAM8B,MAAMD,SAElB,SAAAA,EAACV,GACA,IAAM6B,EAAW7C,EAAemC,SAASnB,EAAKe,KAC9C,OACEb,EAAC4B,EAAQ,CACPlC,UAAWiC,EAAW7B,EAAKe,IAAMQ,UACjCN,UAAS,KACTU,UAAU,gBACVI,YAAalD,EAAMkD,YACnBC,WAAYnD,EAAMmD,WAClBC,mBAAoBpD,EAAMoD,mBAC1BC,KAAMrD,EAAMqD,KACZpB,SAAUA,EAASqB,KAAK,KAAMnC,EAAKe,KAAKL,SAExCR,EAAC4B,EAASM,MAAK,CAACrC,OAAQA,EAAOC,GAAMU,SACnCR,EAAA,MAAA,CAAKS,MAAO,CAAE0B,QAAS,QAAS3B,SAAEV,EAAKK,WADEL,EAAKe,MAKtD,GAGN"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.droppable-item-horizontal{display:flex}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
import './../fba-utils/index.css';
|
|
3
|
+
import './index.css';
|
|
4
|
+
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
5
|
+
import{f as r}from"../fba-utils-f9e11d02.js";import{classNames as e}from"@dimjs/utils/cjs/class-names";import{hooks as i}from"@wove/react/cjs/hooks";import{arrayReorder as a}from"@flatbiz/utils";import{DragDropContext as t}from"@hello-pangea/dnd";import{Fragment as o}from"react";import{D as n,a as d}from"../droppable-item-708ec229.js";import{jsx as s,jsxs as l}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-array";import"../_rollupPluginBabelHelpers-1f4d8910.js";var m=function r(m){var p=i.useCallbackRef((function(r,e){if(!r.destination){return}if(r.destination.index===r.source.index){return}var i=a(m.dataList,r.source.index,r.destination.index);m.onDragEnd(i,r,e)}));var c=i.useId(undefined,"droppable");return s("div",{className:e("drag-drop",m.className),style:m.style,children:s(t,{onDragEnd:p,children:s(n,{droppableId:c,direction:m.direction,children:function r(e){return l(o,{children:[m.dataList.map((function(r,e){var i=""+r[m.uidFieldKey];return s(d,{draggableId:i,index:e,children:m.children(r,e)},i)})),e.placeholder]})}})})})};var p=r.attachPropertiesToComponent(m,{DraggableItem:d,DroppableItem:n});export{p as DragDrop};
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/drag-drop/drag-drop.tsx","@flatbiz/antd/src/drag-drop/index.ts"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { arrayReorder, TAny } from '@flatbiz/utils';\nimport {\n DragDropContext,\n DroppableProvided,\n DropResult,\n OnDragEndResponder,\n ResponderProvided,\n} from '@hello-pangea/dnd';\nimport { hooks } from '@wove/react';\nimport { CSSProperties, Fragment, ReactElement } from 'react';\nimport { DraggableItem } from './draggable-item';\nimport { DroppableItem } from './droppable-item';\n\nexport type DragDropProps<T> = {\n /** dataList数组对象中唯一值字段key */\n uidFieldKey: string;\n dataList: T[];\n children: (item: T, index: number) => ReactElement;\n /** 拖拽方向 */\n direction?: 'horizontal' | 'vertical';\n /** 拖拽结束回调 */\n onDragEnd: (dataList: T[], result: DropResult, provided: ResponderProvided) => void;\n className?: string;\n style?: CSSProperties;\n};\n\n/**\n * 拖拽(单个)\n * @param props\n * @returns\n * ```\n * 1. dataList数组中必须要有唯一值字段\n * 2. uidFieldKey dataList数组对象中唯一值字段key\n * ```\n */\nexport const DragDrop = <T extends object = TAny>(props: DragDropProps<T>) => {\n const onDragEnd: OnDragEndResponder = hooks.useCallbackRef((result, provided) => {\n if (!result.destination) {\n return;\n }\n if (result.destination.index === result.source.index) {\n return;\n }\n const sortDataList = arrayReorder(props.dataList, result.source.index, result.destination.index);\n props.onDragEnd(sortDataList as T[], result, provided);\n });\n\n const uid = hooks.useId(undefined, 'droppable');\n\n return (\n <div className={classNames('drag-drop', props.className)} style={props.style}>\n <DragDropContext onDragEnd={onDragEnd}>\n <DroppableItem droppableId={uid} direction={props.direction}>\n {(dropProvided: DroppableProvided) => {\n return (\n <Fragment>\n {props.dataList.map((item, index) => {\n const draggableId = `${item[props.uidFieldKey]}`;\n return (\n <DraggableItem draggableId={draggableId} key={draggableId} index={index}>\n {props.children(item, index)}\n </DraggableItem>\n );\n })}\n {dropProvided.placeholder}\n </Fragment>\n );\n }}\n </DroppableItem>\n </DragDropContext>\n </div>\n );\n};\n","import { fbaUtils } from '../fba-utils';\nimport { DragDrop as DragDropInner } from './drag-drop';\nimport { DraggableItem } from './draggable-item';\nimport { DroppableItem } from './droppable-item';\nimport './style.less';\n\nexport const DragDrop = fbaUtils.attachPropertiesToComponent(DragDropInner, {\n /**\n * 拖拽节点\n * @demo https://fex.qa.tcshuke.com/docs/admin/main/move/sort\n * ```\n * 1. index 为索引值,从0开始递增,必须正确传递\n * 2. droppableIndex 为父节点 DroppableItem 的索引值\n * 3. 当 DraggableItem处在map循环中注意事项\n * A. 如果为跟节点 key 赋值要与 draggableId 相同\n * ```\n */\n DraggableItem: DraggableItem,\n /**\n * 拖拽范围设置\n * @demo https://fex.qa.tcshuke.com/docs/admin/main/move/sort\n */\n DroppableItem: DroppableItem,\n});\n"],"names":["DragDrop","props","onDragEnd","_hooks","useCallbackRef","result","provided","destination","index","source","sortDataList","arrayReorder","dataList","uid","useId","undefined","_jsx","className","_classNames","style","children","DragDropContext","DroppableItem","droppableId","direction","dropProvided","_jsxs","Fragment","map","item","draggableId","uidFieldKey","DraggableItem","placeholder","fbaUtils","attachPropertiesToComponent","DragDropInner"],"mappings":";qdAoCO,IAAMA,EAAW,SAAXA,EAAqCC,GAChD,IAAMC,EAAgCC,EAAMC,gBAAe,SAACC,EAAQC,GAClE,IAAKD,EAAOE,YAAa,CACvB,MACF,CACA,GAAIF,EAAOE,YAAYC,QAAUH,EAAOI,OAAOD,MAAO,CACpD,MACF,CACA,IAAME,EAAeC,EAAaV,EAAMW,SAAUP,EAAOI,OAAOD,MAAOH,EAAOE,YAAYC,OAC1FP,EAAMC,UAAUQ,EAAqBL,EAAQC,EAC/C,IAEA,IAAMO,EAAMV,EAAMW,MAAMC,UAAW,aAEnC,OACEC,EAAA,MAAA,CAAKC,UAAWC,EAAW,YAAajB,EAAMgB,WAAYE,MAAOlB,EAAMkB,MAAMC,SAC3EJ,EAACK,EAAe,CAACnB,UAAWA,EAAUkB,SACpCJ,EAACM,EAAa,CAACC,YAAaV,EAAKW,UAAWvB,EAAMuB,UAAUJ,SACzD,SAAAA,EAACK,GACA,OACEC,EAACC,EAAQ,CAAAP,SAAA,CACNnB,EAAMW,SAASgB,KAAI,SAACC,EAAMrB,GACzB,IAAMsB,EAAiBD,GAAAA,EAAK5B,EAAM8B,aAClC,OACEf,EAACgB,EAAa,CAACF,YAAaA,EAA+BtB,MAAOA,EAAMY,SACrEnB,EAAMmB,SAASS,EAAMrB,IADsBsB,EAIlD,IACCL,EAAaQ,cAGpB,OAKV,ECnEO,IAAMjC,EAAWkC,EAASC,4BAA4BC,EAAe,CAW1EJ,cAAeA,EAKfV,cAAeA"}
|
|
File without changes
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
import './index.css';
|
|
3
|
+
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
4
|
+
export{D as DragDropMulti}from"../drag-drop-multi-e8cae136.js";import"@wove/react/cjs/hooks";import"@flatbiz/utils";import"@hello-pangea/dnd";import"react";import"../droppable-item-708ec229.js";import"@dimjs/utils/cjs/class-names";import"../_rollupPluginBabelHelpers-1f4d8910.js";import"react/jsx-runtime";
|
|
5
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
+
import{hooks as r}from"@wove/react/cjs/hooks";import{arrayReorder as a}from"@flatbiz/utils";import{DragDropContext as t}from"@hello-pangea/dnd";import{Fragment as i}from"react";import{D as e,a as d}from"./droppable-item-708ec229.js";import{jsx as n,jsxs as o}from"react/jsx-runtime";var s=function s(l){var p=r.useCallbackRef((function(r,t){if(!r.destination){return}var i=r.destination.droppableId;var e=i.split("-");var d=Number(e[1]);var n=r.destination.index;var o=r.source.droppableId;e=o.split("-");var s=Number(e[1]);var p=r.source.index;if(d===s){l.dataList[d]=a(l.dataList[d],p,n);l.onDragEnd(l.dataList,r,t);return}var c=l.dataList[s];var u=l.dataList[d];u.splice(n,0,c[p]);c.splice(p,1);l.dataList[s]=c;l.dataList[d]=u;l.onDragEnd(l.dataList,r,t)}));return n(t,{onDragEnd:p,children:l.dataList.map((function(r,a){return n(e,{droppableId:"droppable-"+a,direction:l.direction,children:function a(t){return o(i,{children:[r.map((function(r,a){return n(d,{draggableId:r[l.uidFieldKey],index:a,children:l.children(r,a)},r[l.uidFieldKey])})),t.placeholder]})}},a)}))})};export{s as D};
|
|
3
|
+
//# sourceMappingURL=drag-drop-multi-e8cae136.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drag-drop-multi-e8cae136.js","sources":["@flatbiz/antd/src/drag-drop-multi/drag-drop-multi.tsx"],"sourcesContent":["import { arrayReorder, TAny } from '@flatbiz/utils';\nimport {\n DragDropContext,\n DroppableProvided,\n DropResult,\n OnDragEndResponder,\n ResponderProvided,\n} from '@hello-pangea/dnd';\nimport { hooks } from '@wove/react';\nimport { Fragment, ReactElement } from 'react';\nimport { DraggableItem } from '../drag-drop/draggable-item';\nimport { DroppableItem } from '../drag-drop/droppable-item';\n\nexport type DragDropMultiProps<T> = {\n uidFieldKey: string;\n dataList: T[][];\n children: (item: T, index: number) => ReactElement;\n direction?: 'horizontal' | 'vertical';\n onDragEnd: (dataList: T[][], result: DropResult, provided: ResponderProvided) => void;\n};\n\n/**\n * 拖拽(多个)\n * @param props\n * @returns\n * ```\n * 1. dataList数组中必须要有唯一值字段\n * 2. uidFieldKey dataList数组对象中唯一值字段key\n * ```\n */\nexport const DragDropMulti = <T extends object = TAny>(props: DragDropMultiProps<T>) => {\n const onDragEnd: OnDragEndResponder = hooks.useCallbackRef((result, provided) => {\n if (!result.destination) {\n return;\n }\n const targetDroppableId = result.destination.droppableId;\n let tempList = targetDroppableId.split('-');\n const targetRowIndex = Number(tempList[1]);\n const targetRowCellIndex = result.destination.index;\n\n const sourceDroppableId = result.source.droppableId;\n tempList = sourceDroppableId.split('-');\n const sourceRowIndex = Number(tempList[1]);\n const sourceRowCellIndex = result.source.index;\n\n if (targetRowIndex === sourceRowIndex) {\n props.dataList[targetRowIndex] = arrayReorder(\n props.dataList[targetRowIndex],\n sourceRowCellIndex,\n targetRowCellIndex,\n );\n props.onDragEnd(props.dataList, result, provided);\n return;\n }\n const sourceList = props.dataList[sourceRowIndex];\n const targetList = props.dataList[targetRowIndex];\n targetList.splice(targetRowCellIndex, 0, sourceList[sourceRowCellIndex]);\n sourceList.splice(sourceRowCellIndex, 1);\n props.dataList[sourceRowIndex] = sourceList;\n props.dataList[targetRowIndex] = targetList;\n props.onDragEnd(props.dataList, result, provided);\n });\n\n return (\n <DragDropContext onDragEnd={onDragEnd}>\n {props.dataList.map((item, index) => {\n return (\n <DroppableItem droppableId={`droppable-${index}`} direction={props.direction} key={index}>\n {(dropProvided: DroppableProvided) => {\n return (\n <Fragment>\n {item.map((innerItem, innerIndex) => (\n <DraggableItem\n draggableId={innerItem[props.uidFieldKey]}\n key={innerItem[props.uidFieldKey]}\n index={innerIndex}\n >\n {props.children(innerItem, innerIndex)}\n </DraggableItem>\n ))}\n {dropProvided.placeholder}\n </Fragment>\n );\n }}\n </DroppableItem>\n );\n })}\n </DragDropContext>\n );\n};\n"],"names":["DragDropMulti","props","onDragEnd","_hooks","useCallbackRef","result","provided","destination","targetDroppableId","droppableId","tempList","split","targetRowIndex","Number","targetRowCellIndex","index","sourceDroppableId","source","sourceRowIndex","sourceRowCellIndex","dataList","arrayReorder","sourceList","targetList","splice","_jsx","DragDropContext","children","map","item","DroppableItem","direction","dropProvided","_jsxs","Fragment","innerItem","innerIndex","DraggableItem","draggableId","uidFieldKey","placeholder"],"mappings":";+RA8BaA,EAAgB,SAAhBA,EAA0CC,GACrD,IAAMC,EAAgCC,EAAMC,gBAAe,SAACC,EAAQC,GAClE,IAAKD,EAAOE,YAAa,CACvB,MACF,CACA,IAAMC,EAAoBH,EAAOE,YAAYE,YAC7C,IAAIC,EAAWF,EAAkBG,MAAM,KACvC,IAAMC,EAAiBC,OAAOH,EAAS,IACvC,IAAMI,EAAqBT,EAAOE,YAAYQ,MAE9C,IAAMC,EAAoBX,EAAOY,OAAOR,YACxCC,EAAWM,EAAkBL,MAAM,KACnC,IAAMO,EAAiBL,OAAOH,EAAS,IACvC,IAAMS,EAAqBd,EAAOY,OAAOF,MAEzC,GAAIH,IAAmBM,EAAgB,CACrCjB,EAAMmB,SAASR,GAAkBS,EAC/BpB,EAAMmB,SAASR,GACfO,EACAL,GAEFb,EAAMC,UAAUD,EAAMmB,SAAUf,EAAQC,GACxC,MACF,CACA,IAAMgB,EAAarB,EAAMmB,SAASF,GAClC,IAAMK,EAAatB,EAAMmB,SAASR,GAClCW,EAAWC,OAAOV,EAAoB,EAAGQ,EAAWH,IACpDG,EAAWE,OAAOL,EAAoB,GACtClB,EAAMmB,SAASF,GAAkBI,EACjCrB,EAAMmB,SAASR,GAAkBW,EACjCtB,EAAMC,UAAUD,EAAMmB,SAAUf,EAAQC,EAC1C,IAEA,OACEmB,EAACC,EAAe,CAACxB,UAAWA,EAAUyB,SACnC1B,EAAMmB,SAASQ,KAAI,SAACC,EAAMd,GACzB,OACEU,EAACK,EAAa,CAACrB,yBAA0BM,EAASgB,UAAW9B,EAAM8B,UAAUJ,SAC1E,SAAAA,EAACK,GACA,OACEC,EAACC,EAAQ,CAAAP,SAAA,CACNE,EAAKD,KAAI,SAACO,EAAWC,GAAU,OAC9BX,EAACY,EAAa,CACZC,YAAaH,EAAUlC,EAAMsC,aAE7BxB,MAAOqB,EAAWT,SAEjB1B,EAAM0B,SAASQ,EAAWC,IAHtBD,EAAUlC,EAAMsC,aAIP,IAEjBP,EAAaQ,cAGpB,GAhBiFzB,OAsB7F"}
|
|
@@ -8,5 +8,5 @@ import './../dialog-modal/index.css';
|
|
|
8
8
|
import './../flex-layout/index.css';
|
|
9
9
|
import './index.css';
|
|
10
10
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
11
|
-
export{D as DropdownMenuWrapper}from"../dropdown-menu-wrapper-
|
|
11
|
+
export{D as DropdownMenuWrapper}from"../dropdown-menu-wrapper-98347af8.js";import"@ant-design/icons/es/icons/ExclamationCircleFilled";import"../_rollupPluginBabelHelpers-1f4d8910.js";import"@wove/react/cjs/hooks";import"antd";import"react";import"../button-wrapper-125fce50.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-promise";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-f9e11d02.js";import"../dialog-confirm-74fc9337.js";import"@dimjs/utils/cjs/class-names";import"../dialog-modal-4a0c72c5.js";import"@dimjs/lang/cjs/is-string";import"ahooks";import"react-dom/client";import"../flex-layout-8d2b668b.js";
|
|
12
12
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
+
import e from"@ant-design/icons/es/icons/ExclamationCircleFilled";import{_ as r,a as o}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{hooks as n}from"@wove/react/cjs/hooks";import{Dropdown as i}from"antd";import{Fragment as t,useMemo as a,createElement as l}from"react";import{B as s}from"./button-wrapper-125fce50.js";import{d as f}from"./dialog-confirm-74fc9337.js";import{f as d}from"./fba-utils-f9e11d02.js";import{F as m}from"./flex-layout-8d2b668b.js";import{jsxs as c,jsx as u}from"react/jsx-runtime";function p(e){var r=true;var o=false;while(r){if(e.tagName==="HTML"||e.tagName==="BODY"){r=false;o=false}else{var n=window.getComputedStyle(e),i=n.position;if(i==="sticky"){o=true;r=false}else{if(!e||!e.parentNode){r=false}else{e=e.parentNode}}}}return o}var v=["menuList"],g=["text","color","permission","needConfirm","confirmMessage","hidden","type","style","confirmModalProps"];var y=function y(h){var C=h.menuList,k=r(h,v);var P=n.useId(undefined,"DropdownMenuWrapper");var x=n.useCallbackRef((function(r,n){n.stopPropagation();if(r.needConfirm){var i;f.open(o({title:c(m,{direction:"horizontal",fullIndex:1,gap:8,children:[u(e,{style:{color:"#faad14"}}),u("span",{children:r.text})]}),content:u(t,{children:r.confirmMessage}),onOk:(i=r.onClick)==null?void 0:i.bind(null,n),okButtonProps:{loadingPosition:"center"}},r.confirmModalProps));return Promise.resolve()}return r.onClick==null?void 0:r.onClick(n)}));var M=document.querySelector("."+P);var b=a((function(){if(h.isFixed||M&&p(M)){return undefined}return M}),[h.isFixed,M]);var j=a((function(){var e=[];C.filter(Boolean).forEach((function(n,i){if(!n)return;var t=n.text,a=n.color,f=n.permission,m=n.needConfirm,c=n.confirmMessage,u=n.hidden,p=n.type,v=n.style,y=n.confirmModalProps,h=r(n,g);if(u)return;if(f&&!d.hasPermission(f))return;var C=a?o({color:a},v):v;var k=p||"link";e.push({key:i,label:l(s,o({loadingPosition:"center",size:"small"},h,{type:k,style:C,key:i,onClick:x.bind(null,o({},n,{needConfirm:m,confirmMessage:c,confirmModalProps:y}))}),t)})}));return e}),[C,x]);return u("div",{className:P,style:{position:"relative"},children:u(i,o({trigger:(k==null?void 0:k.trigger)||["hover"],getPopupContainer:b?function(){return M}:undefined,arrow:{pointAtCenter:true}},k,{overlayStyle:o({zIndex:9},k.overlayStyle),menu:{items:j},children:h.children}))})};export{y as D};
|
|
3
|
+
//# sourceMappingURL=dropdown-menu-wrapper-98347af8.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dropdown-menu-wrapper-98347af8.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 { ExclamationCircleFilled } from '@ant-design/icons';\nimport { hooks } from '@wove/react';\nimport { ButtonProps, Dropdown, DropdownProps } from 'antd';\nimport { ItemType } from 'antd/lib/menu/hooks/useItems';\nimport { Fragment, ReactElement, useMemo } from 'react';\nimport { ButtonWrapper } from '../button-wrapper';\nimport { dialogConfirm } from '../dialog-confirm';\nimport { DialogModalProps } from '../dialog-modal';\nimport { fbaUtils } from '../fba-utils';\nimport { FlexLayout } from '../flex-layout';\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 confirmModalProps?: DialogModalProps;\n}\n\nexport interface DropdownMenuWrapperProps extends Omit<DropdownProps, 'menu'> {\n menuList: Array<DropdownMenuItem | null>;\n isFixed?: boolean;\n}\n\n/**\n * DropdownMenuWrapper\n * 升级 antd 5.5.1 后,Dropdown 中 Popconfirm弹框使用存在问题,所以在 @flatbiz/antd@4.2.49版本修改为使用dialogConfirm组件实现二次弹框确认功能\n * @param props\n * @returns\n */\nexport const DropdownMenuWrapper = (props: DropdownMenuWrapperProps) => {\n const { menuList, ...dropdownOtherProps } = props;\n const clsName = hooks.useId(undefined, 'DropdownMenuWrapper');\n\n const onClick = hooks.useCallbackRef((item: DropdownMenuItem, event) => {\n event.stopPropagation();\n if (item.needConfirm) {\n dialogConfirm.open({\n title: (\n <FlexLayout direction=\"horizontal\" fullIndex={1} gap={8}>\n <ExclamationCircleFilled style={{ color: '#faad14' }} />\n <span>{item.text}</span>\n </FlexLayout>\n ),\n content: <Fragment>{item.confirmMessage}</Fragment>,\n onOk: item.onClick?.bind(null, event),\n okButtonProps: {\n loadingPosition: 'center',\n },\n ...item.confirmModalProps,\n });\n return Promise.resolve();\n }\n return item.onClick?.(event);\n });\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 const menuItems = useMemo(() => {\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 confirmModalProps,\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 menuItemsNew.push({\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, {\n ...item,\n needConfirm,\n confirmMessage,\n confirmModalProps,\n })}\n >\n {text}\n </ButtonWrapper>\n ),\n });\n });\n return menuItemsNew;\n }, [menuList, onClick]);\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 >\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","clsName","_hooks","useId","undefined","onClick","useCallbackRef","item","event","stopPropagation","needConfirm","_item$onClick","dialogConfirm","open","_extends","title","_jsxs","FlexLayout","direction","fullIndex","gap","children","_jsx","_ExclamationCircleFilled","style","color","text","content","Fragment","confirmMessage","onOk","bind","okButtonProps","loadingPosition","confirmModalProps","Promise","resolve","target","document","querySelector","container","useMemo","isFixed","menuItems","menuItemsNew","filter","Boolean","forEach","index","permission","hidden","type","otherProps","_excluded2","fbaUtils","hasPermission","newStyle","buttonType","push","key","label","_createElement","ButtonWrapper","size","className","Dropdown","trigger","getPopupContainer","arrow","pointAtCenter","overlayStyle","zIndex","menu","items"],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
+
import{classNames as e}from"@dimjs/utils/cjs/class-names";import{a as r}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{Draggable as a,Droppable as i}from"@hello-pangea/dnd";import{cloneElement as n}from"react";import{jsx as d}from"react/jsx-runtime";var l=function i(l){return d(a,{draggableId:l.draggableId,index:l.index,isDragDisabled:l.isDragDisabled,children:function a(i,s){var o=r({},i.draggableProps,i.dragHandleProps,{ref:i.innerRef,className:e("draggable-item",{"draggable-item-dragging":s.isDragging},l.className)});if(l.dragCancelMove){o.style={}}if(l.component===false){return n(l.children,o)}return d("div",r({},o,{children:l.children}))}})};var s=function r(a){var n=a.direction||"vertical";return d(i,{droppableId:a.droppableId,direction:n,renderClone:a.renderClone,isDropDisabled:a.isDropDisabled,type:a.type,children:function r(i,l){return d("div",{ref:i.innerRef,className:e("droppable-item","droppable-item-"+n,{"droppable-item-draggingOver":l.isDraggingOver},a.className),children:a.children(i,l)})}})};export{s as D,l as a};
|
|
3
|
+
//# sourceMappingURL=droppable-item-708ec229.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"droppable-item-708ec229.js","sources":["@flatbiz/antd/src/drag-drop/draggable-item.tsx","@flatbiz/antd/src/drag-drop/droppable-item.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { Draggable, DraggableProvided, DraggableStateSnapshot } from '@hello-pangea/dnd';\nimport { cloneElement, ReactElement } from 'react';\n\nexport type DraggableItemProps = {\n /** 拖拽节点ID */\n draggableId: string;\n /** 拖拽节点数组索引 */\n index: number;\n children: ReactElement;\n /** 是否禁用拖拽节点 */\n isDragDisabled?: boolean;\n // 拖动取消移动\n dragCancelMove?: boolean;\n // 设置 DraggableItem 渲染元素,为 false 则不创建 DOM 节点\n component?: boolean;\n className?: string;\n};\n\n/**\n * 拖拽节点\n * @param props\n * @returns\n * ```\n * 1. index 为索引值,从0开始递增,必须正确传递\n * 2. droppableIndex 为父节点 DroppableItem 的索引值\n * 3. 当 DraggableItem处在map循环中注意事项\n * A. 如果为跟节点 key 赋值要与 draggableId 相同\n * ```\n */\nexport const DraggableItem = (props: DraggableItemProps) => {\n return (\n <Draggable draggableId={props.draggableId} index={props.index} isDragDisabled={props.isDragDisabled}>\n {(dragProvided: DraggableProvided, dragSnapshot: DraggableStateSnapshot) => {\n const params = {\n ...dragProvided.draggableProps,\n ...dragProvided.dragHandleProps,\n ref: dragProvided.innerRef,\n className: classNames(\n 'draggable-item',\n { 'draggable-item-dragging': dragSnapshot.isDragging },\n props.className,\n ),\n };\n if (props.dragCancelMove) {\n params.style = {};\n }\n if (props.component === false) {\n return cloneElement(props.children, params);\n }\n return <div {...params}>{props.children}</div>;\n }}\n </Draggable>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { DraggableChildrenFn, Droppable, DroppableProvided, DroppableStateSnapshot } from '@hello-pangea/dnd';\nimport { ReactElement } from 'react';\n\nexport type DroppableItemProps = {\n /** 拖拽范围ID */\n droppableId: string;\n children: (dropProvided: DroppableProvided, dropSnapshot: DroppableStateSnapshot) => ReactElement;\n /** 拖拽方向 */\n direction?: 'horizontal' | 'vertical';\n /** 拖拽范围禁止 */\n isDropDisabled?: boolean;\n className?: string;\n renderClone?: DraggableChildrenFn;\n type?: string;\n};\n\n/**\n * 拖拽范围设置\n * @param props\n * @returns\n */\nexport const DroppableItem = (props: DroppableItemProps) => {\n const direction = props.direction || 'vertical';\n return (\n <Droppable\n droppableId={props.droppableId}\n direction={direction}\n renderClone={props.renderClone}\n isDropDisabled={props.isDropDisabled}\n type={props.type}\n >\n {(dropProvided: DroppableProvided, dropSnapshot: DroppableStateSnapshot) => (\n <div\n ref={dropProvided.innerRef}\n className={classNames(\n 'droppable-item',\n `droppable-item-${direction}`,\n {\n 'droppable-item-draggingOver': dropSnapshot.isDraggingOver,\n },\n props.className,\n )}\n >\n {props.children(dropProvided, dropSnapshot)}\n </div>\n )}\n </Droppable>\n );\n};\n"],"names":["DraggableItem","props","_jsx","Draggable","draggableId","index","isDragDisabled","children","dragProvided","dragSnapshot","params","_extends","draggableProps","dragHandleProps","ref","innerRef","className","_classNames","isDragging","dragCancelMove","style","component","cloneElement","DroppableItem","direction","Droppable","droppableId","renderClone","isDropDisabled","type","dropProvided","dropSnapshot","isDraggingOver"],"mappings":";oQA8BaA,EAAgB,SAAhBA,EAAiBC,GAC5B,OACEC,EAACC,EAAS,CAACC,YAAaH,EAAMG,YAAaC,MAAOJ,EAAMI,MAAOC,eAAgBL,EAAMK,eAAeC,SACjG,SAAAA,EAACC,EAAiCC,GACjC,IAAMC,EAAMC,EACPH,CAAAA,EAAAA,EAAaI,eACbJ,EAAaK,gBAAe,CAC/BC,IAAKN,EAAaO,SAClBC,UAAWC,EACT,iBACA,CAAE,0BAA2BR,EAAaS,YAC1CjB,EAAMe,aAGV,GAAIf,EAAMkB,eAAgB,CACxBT,EAAOU,MAAQ,EACjB,CACA,GAAInB,EAAMoB,YAAc,MAAO,CAC7B,OAAOC,EAAarB,EAAMM,SAAUG,EACtC,CACA,OAAOR,EAAA,MAAAS,EAAA,CAAA,EAASD,EAAM,CAAAH,SAAGN,EAAMM,WACjC,GAGN,MChCagB,EAAgB,SAAhBA,EAAiBtB,GAC5B,IAAMuB,EAAYvB,EAAMuB,WAAa,WACrC,OACEtB,EAACuB,EAAS,CACRC,YAAazB,EAAMyB,YACnBF,UAAWA,EACXG,YAAa1B,EAAM0B,YACnBC,eAAgB3B,EAAM2B,eACtBC,KAAM5B,EAAM4B,KAAKtB,SAEhB,SAAAA,EAACuB,EAAiCC,GAAoC,OACrE7B,EAAA,MAAA,CACEY,IAAKgB,EAAaf,SAClBC,UAAWC,EACT,iBAAgB,kBACEO,EAClB,CACE,8BAA+BO,EAAaC,gBAE9C/B,EAAMe,WACNT,SAEDN,EAAMM,SAASuB,EAAcC,IAC1B,GAId"}
|
package/esm/easy-table/index.js
CHANGED
|
@@ -8,5 +8,5 @@ import './../simple-layout/index.css';
|
|
|
8
8
|
import './../table-scrollbar/index.css';
|
|
9
9
|
import './index.css';
|
|
10
10
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
11
|
-
import{f as e}from"../fba-utils-f9e11d02.js";import{classNames as i}from"@dimjs/utils/cjs/class-names";import{isUndefined as t}from"@dimjs/lang/cjs/is-undefined";import{isArray as r}from"@dimjs/lang/cjs/is-array";import{hooks as n}from"@wove/react/cjs/hooks";import{a,_ as o}from"../_rollupPluginBabelHelpers-1f4d8910.js";import{cloneState as l}from"@dimjs/model";import{Select as s,Form as u,Pagination as d,message as c,Table as f}from"antd";import{forwardRef as p,useState as m,useRef as g,useImperativeHandle as v,useMemo as y,Children as h}from"react";import{createCtx as C}from"@wove/react/cjs/create-ctx";import{Model as S}from"@dimjs/model-react";import{jsx as b,jsxs as j}from"react/jsx-runtime";import F from"@ant-design/icons/es/icons/DownOutlined";import
|
|
11
|
+
import{f as e}from"../fba-utils-f9e11d02.js";import{classNames as i}from"@dimjs/utils/cjs/class-names";import{isUndefined as t}from"@dimjs/lang/cjs/is-undefined";import{isArray as r}from"@dimjs/lang/cjs/is-array";import{hooks as n}from"@wove/react/cjs/hooks";import{a,_ as o}from"../_rollupPluginBabelHelpers-1f4d8910.js";import{cloneState as l}from"@dimjs/model";import{Select as s,Form as u,Pagination as d,message as c,Table as f}from"antd";import{forwardRef as p,useState as m,useRef as g,useImperativeHandle as v,useMemo as y,Children as h}from"react";import{createCtx as C}from"@wove/react/cjs/create-ctx";import{Model as S}from"@dimjs/model-react";import{jsx as b,jsxs as j}from"react/jsx-runtime";import F from"@ant-design/icons/es/icons/DownOutlined";import q from"@ant-design/icons/es/icons/UpOutlined";import{isFragment as z}from"react-is";import{B as R}from"../button-wrapper-125fce50.js";import{FormGrid as N}from"../form-grid/index.js";import{S as w}from"../simple-layout-1cd0fefc.js";import{isUndefinedOrNull as P,getUuid as x,isMacEnv as k}from"@flatbiz/utils";import{fbaHooks as T}from"../fba-hooks/index.js";import{T as K}from"../table-scrollbar-66c1682c.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-promise";import"../config-provider-wrapper-dfe8f592.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"../use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/extend";import"@dimjs/utils/cjs/get";import"ahooks";var L=C(),V=L[0],E=L[1];var O={queryCondition:{},isInit:true};var I={actions:{updateFilterCondition:function e(i){return function(e){e.queryCondition=a({},e.queryCondition,i)}},resetFilterCondition:function e(i){return function(e){e.queryCondition=a({},O.queryCondition,i)}},updateInitStatus:function e(){return function(e){e.isInit=false}}},state:O};var B={};var D=function e(i){if(!B[i]){B[i]=S(I)}return B[i]};var A=function e(i){return b(s,a({},i,{size:"small",placement:"topLeft"}))};A.Option=s.Option;var _=p((function(e,o){var s;var f=m([]),p=f[0],h=f[1];var C=m(0),S=C[0],F=C[1];var q=m(false),z=q[0],R=q[1];var N=D(e.modelKey).useStore(),w=N[0],P=N[1];var x=e.pageSize||((s=e.initialPaginationParams)==null?void 0:s.pageSize)||10;var k=e.initRequest===undefined?true:e.initRequest;var T=m(false),K=T[0],L=T[1];var V=g();var O=a({list:"list",total:"tatal",pageNo:"pageNo",pageSize:"pageSize"},e.fieldNames);var I=u.useForm(),B=I[0];var _=n.useCallbackRef((function(i){return new Promise((function(t,n){var a,o,s,u,d,f,p,m,g,v;var y=function(){try{return t()}catch(e){return n(e)}};var C=function(i){try{R(false);if(e.onRequestErrorHandle){e.onRequestErrorHandle(i)}else{void c.error(i.message)}return y()}catch(e){return n(e)}};try{R(true);return Promise.resolve(P.updateFilterCondition(i)).then((function(i){try{a=i;o=l(a.queryCondition||{});s=e.serviceConfig,u=s.requestParamsAdapter,d=s.onRequest,f=s.requestResultAdapter;p=u?u(o):o;return Promise.resolve(d(p)).then((function(i){try{m=i||{};V.current=m;e.onDataSourceChange==null?void 0:e.onDataSourceChange(m);g=f?f(m):m;v=g[O.list];h(r(v)?v:[]);F(g[O.total]);R(false);return y()}catch(e){return C(e)}}),C)}catch(e){return C(e)}}),C)}catch(e){C(e)}}))}));var H=n.useCallbackRef((function(e){return new Promise((function(i,t){return Promise.resolve(P.resetFilterCondition()).then((function(r){try{B.resetFields();if(e){void P.updateFilterCondition(e);B.setFieldsValue(e)}return i()}catch(e){return t(e)}}),t)}))}));var W=function e(i,t){if(K){var r;return r={},r[O.pageNo]=i,r[O.pageSize]=t||x,r}else{return{}}};var U=n.useCallbackRef((function(i){return new Promise((function(t,r){var n;n=a({},W(1,x),e.initialValues,i);return Promise.resolve(P.resetFilterCondition(n)).then((function(e){try{B.resetFields();void _(n);return t()}catch(e){return r(e)}}),r)}))}));var Y=n.useCallbackRef((function(){return a({},w.queryCondition,B.getFieldsValue())}));var G=function e(){return{onRequest:_,clearQueryCondition:H,getRequestParams:Y,onResetRequest:U,form:B,getDataSource:function e(){return V.current}}};v(o,(function(){return G()}));var Q=function e(i){L(i)};var $=function i(){var t=B.getFieldsValue();if(e.onFormFinish){e.onFormFinish(a({},t,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[O.pageNo]||1,pageSize:w.queryCondition[O.pageSize]||x,total:S,showTotal:function e(i){return"共 "+i+" 条记录"}},e.pagination)}),[O.pageNo,O.pageSize,x,e.pagination,w.queryCondition,S]);var Z=n.useCallbackRef((function(i,t){var r,n;void _((r={},r[O.pageSize]=t,r[O.pageNo]=i,r));(n=e.pagination)==null?void 0:n.onChange==null?void 0:n.onChange(i,t)}));var ee=i("fba-easy-table-wrapper",{"fba-easy-table-wrapper-inline":e.isInline});var ie=typeof e.children==="function"?e.children(V.current):e.children;return b(E,{value:{getEasyTableRef:G,modelKey:e.modelKey,onRequest:_,tableList:p,tableTotal:S,loading:z,fieldNames:O,pageSize:x,initRequest:k,initialValues:e.initialValues||{},onSetPaginationStatus:Q,paginationStatus:K,onFormFinish:$,form:B,paginationFixed:e.paginationFixed||false,foldKeys:e.foldKeys||[]},children:e.paginationFixed?j("div",{className:ee,children:[b("div",{className:M,children:ie}),S>0&&b("div",{className:"fba-easy-table-pagination",children:b(d,a({size:"small"},X,{onChange:Z,selectComponentClass:A}))})]}):b("div",{className:M,children:ie})})}));var H=function e(i){var t=i.queryButtonProps,r=i.resetButtonProps,o=i.filterOperate,l=i.formClassName;var s=V(),d=s.modelKey,c=s.foldKeys,f=s.fieldNames,p=s.onRequest,g=s.pageSize,v=s.paginationStatus,C=s.initialValues,S=s.form,P=s.onFormFinish;var x=typeof i.children==="function"?i.children(S):i.children;var k=y((function(){if(z(x)){return h.toArray(x.props.children)}else{return h.toArray(x)}}),[x]);var T=m(false),K=T[0],L=T[1];var E=D(d).useStore(),O=E[0],I=E[1];var B=n.useCallbackRef((function(){return new Promise((function(e,i){var t;return Promise.resolve(I.resetFilterCondition()).then((function(r){try{S.resetFields();if(v){p(a((t={},t[f.pageNo]=1,t[f.pageSize]=g,t),C))}else{p(C)}return e()}catch(e){return i(e)}}),i)}))}));var A=y((function(){var e=a({rightList:[!(t!=null&&t.hidden)?b(R,a({type:"primary",htmlType:"submit"},t,{children:(t==null?void 0:t.text)||"查询"}),"1"):null,!(r!=null&&r.hidden)?b(R,a({onClick:B},r,{children:(r==null?void 0:r.text)||"重置"}),"2"):null],leftList:[]},o==null?void 0:o(S));if(c.length>0){var i=b(R,{type:"link",style:{padding:"0"},onClick:function e(){L(!K)},children:K?j("span",{children:["收起",b(q,{style:{marginLeft:3,fontSize:12}})]}):j("span",{children:["展开",b(F,{style:{marginLeft:3,fontSize:12}})]})},"fold-trigger");var n=e.rightList,l=e.leftList;if(n.length>0||l.length===0){n.push(i)}else if((l==null?void 0:l.length)>0){l.push(i)}}return k.map((function(e,i){if(!K&&c.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))}),[k,o,c,S,B,K,t,r]);return b(w,{className:"easy-table-filter",children:b(u,{form:S,onFinish:P,initialValues:a({},C,O.queryCondition),className:l,children:i.isPure?x:b(N.Row,{gutter:[15,0],gridSize:i.formGridSize,children:A})})})};var W=function e(){var i=V();var t=g(i.getEasyTableRef());return t.current};var U=function e(){var i=V(),t=i.getEasyTableRef;var r=g(t());return r};var Y=["children","rowKey","pagination"];var G=function e(t){var r=t.children,n=t.rowKey,l=t.pagination,s=o(t,Y);var u=V(),d=u.modelKey,c=u.fieldNames,p=u.onRequest,m=u.tableList,g=u.initRequest,v=u.pageSize,h=u.tableTotal,C=u.loading,S=u.initialValues,F=u.paginationFixed,q=u.onSetPaginationStatus;var z=D(d).useStore(),R=z[0],N=z[1];var L=y((function(){if(F||l===false)return false;return a({showSizeChanger:true,current:R.queryCondition[c.pageNo]||1,pageSize:R.queryCondition[c.pageSize]||v,total:h,showTotal:function e(i){return"共 "+i+" 条记录"}},t.pagination,{selectComponentClass:A})}),[c.pageNo,c.pageSize,v,l,F,t.pagination,R.queryCondition,h]);var E=function e(i,r,n,a){if(a.action==="paginate"&&L){var o;p((o={},o[c.pageSize]=i.pageSize,o[c.pageNo]=i.current,o))}else{t.onChange==null?void 0:t.onChange(i,r,n,a)}};var O=y((function(){if(m.length===0){return[]}if(typeof n==="string"&&P(m[0][n])){return m.map((function(e){e[n]=x();return e}))}return m}),[m,n]);T.useEffectCustom((function(){var e=F||L!==false;q(e);if(g!==false||!R.isInit){if(e){var i;void p(a((i={},i[c.pageNo]=1,i[c.pageSize]=v,i),S,R.queryCondition))}else{void p(S)}}else{void N.updateFilterCondition(S)}void N.updateInitStatus()}),[]);return j(w,{className:i("easy-table-table",t.tableWrapperClassName),style:t.tableWrapperStyle,children:[r,k()?b(f,a({size:"small",scroll:{x:"max-content"},bordered:true},s,{pagination:L,rowKey:n,onChange:E,loading:C,dataSource:O})):b(K,{children:b(f,a({size:"small",scroll:{x:"max-content"},bordered:true},s,{pagination:L,rowKey:n,onChange:E,loading:C,dataSource:O}))})]})};var Q=e.attachPropertiesToComponent(_,{Filter:H,Table:G,useEasyTablRef:U,useEasyTable:W});export{Q as EasyTable};
|
|
12
12
|
//# sourceMappingURL=index.js.map
|
|
@@ -3,5 +3,5 @@ import './../fba-hooks/index.css';
|
|
|
3
3
|
import './../icon-wrapper/index.css';
|
|
4
4
|
import './index.css';
|
|
5
5
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
6
|
-
export{E as EditableField}from"../editable-field-
|
|
6
|
+
export{E as EditableField}from"../editable-field-6801d833.js";import"@dimjs/utils/cjs/class-names";import"@ant-design/icons/es/icons/CloseOutlined";import"@ant-design/icons/es/icons/CheckOutlined";import"../_rollupPluginBabelHelpers-1f4d8910.js";import"@dimjs/lang/cjs/is-array";import"@dimjs/lang/cjs/is-number";import"@dimjs/lang/cjs/is-string";import"@ant-design/icons/es/icons/EditOutlined";import"@flatbiz/utils";import"antd";import"react";import"../context-25d0b686.js";import"../fba-hooks/index.js";import"@wove/react/cjs/hooks";import"../use-responsive-point-21b8c601.js";import"../icon-wrapper-ed5fcacc.js";import"react/jsx-runtime";
|
|
7
7
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
import{classNames as n}from"@dimjs/utils/cjs/class-names";import r from"@ant-design/icons/es/icons/CloseOutlined";import e from"@ant-design/icons/es/icons/CheckOutlined";import{a as i}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{isArray as o}from"@dimjs/lang/cjs/is-array";import{isNumber as t}from"@dimjs/lang/cjs/is-number";import{isString as l}from"@dimjs/lang/cjs/is-string";import a from"@ant-design/icons/es/icons/EditOutlined";import{isUndefinedOrNull as c}from"@flatbiz/utils";import{Space as s}from"antd";import{useState as u,useContext as f,useRef as d,useEffect as m,isValidElement as v}from"react";import{E as p}from"./context-25d0b686.js";import{fbaHooks as h}from"./fba-hooks/index.js";import{I as C}from"./icon-wrapper-ed5fcacc.js";import{jsx as b,jsxs as g}from"react/jsx-runtime";var j=function j(I){var k=I.value,y=I.onChange,
|
|
3
|
-
//# sourceMappingURL=editable-field-
|
|
2
|
+
import{classNames as n}from"@dimjs/utils/cjs/class-names";import r from"@ant-design/icons/es/icons/CloseOutlined";import e from"@ant-design/icons/es/icons/CheckOutlined";import{a as i}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{isArray as o}from"@dimjs/lang/cjs/is-array";import{isNumber as t}from"@dimjs/lang/cjs/is-number";import{isString as l}from"@dimjs/lang/cjs/is-string";import a from"@ant-design/icons/es/icons/EditOutlined";import{isUndefinedOrNull as c}from"@flatbiz/utils";import{Space as s}from"antd";import{useState as u,useContext as f,useRef as d,useEffect as m,isValidElement as v}from"react";import{E as p}from"./context-25d0b686.js";import{fbaHooks as h}from"./fba-hooks/index.js";import{I as C}from"./icon-wrapper-ed5fcacc.js";import{jsx as b,jsxs as g}from"react/jsx-runtime";var j=function j(I){var k=I.value,y=I.onChange,w=I.viewRender,E=I.placeholderValue,P=E===void 0?"-":E,x=I.editRender,z=I.isEditFull,R=I.onClickEditIconPre,O=I.onClickConfirmIconPre,N=I.iconConfig,T=I.onEditCallback,B=I.onConfirmCallback;var F=u(false),H=F[0],V=F[1];var _=f(p);var q=d(k);var A=function(){if(_.isCtx){return I.showEditableIcon===undefined?_.showEditableIcon:I.showEditableIcon}return I.showEditableIcon===undefined?true:I.showEditableIcon}();var D=function(){if(_.isCtx){return I.editable===undefined?_.editable:I.editable}return I.editable||false}();var G=h.useThemeToken();m((function(){V(D)}),[D]);var J=function n(){return new Promise((function(n,r){if(R){return Promise.resolve(R(k)).then(function(n){try{return e.call(this)}catch(n){return r(n)}}.bind(this),r)}function e(){q.current=k;V(true);T==null?void 0:T(k);return n()}return e.call(this)}))};var K=N!=null&&N.editIcon?N.editIcon({onClick:J}):b(C,{size:"small",icon:b(a,{}),onClick:J});if(!H){var L=(w?w(I.value):I.value)||P;if(l(L)||t(L)||c(L)||v(L)){if(!A){return L}return g(s,{size:8,children:[b("span",{children:L}),K]})}console.warn("对象作为React子对象无效",L)}var M=function n(){if(k!==q.current){I.onChange==null?void 0:I.onChange(q.current)}V(false)};var Q=function n(r){var e=r;if(typeof r==="object"&&!o(r)&&r.target){var i;e=(i=r.target)==null?void 0:i.value}y==null?void 0:y(e)};var S=function n(){return new Promise((function(n,r){if(O){return Promise.resolve(O(k,q.current)).then(function(n){try{return e.call(this)}catch(n){return r(n)}}.bind(this),r)}function e(){V(false);B==null?void 0:B(k,q.current);return n()}return e.call(this)}))};var U=typeof x==="function"?x({value:k,onChange:Q}):x;if(!A){return b(U.type,i({value:k,onChange:Q},U.props))}var W=N!=null&&N.confirmIcon?N.confirmIcon({onClick:S}):b(C,{size:"small",icon:b(e,{style:{color:G.colorPrimary}}),onClick:S});var X=N!=null&&N.cancelIcon?N.cancelIcon({onClick:M}):b(C,{size:"small",icon:b(r,{style:{color:G.colorPrimary}}),onClick:M});return g(s,{direction:"horizontal",size:12,style:{display:"flex",paddingRight:6},className:n({"editable-field-full":z},I.className),children:[b(U.type,i({value:k,onChange:Q},U.props)),W,X]})};export{j as E};
|
|
3
|
+
//# sourceMappingURL=editable-field-6801d833.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editable-field-
|
|
1
|
+
{"version":3,"file":"editable-field-6801d833.js","sources":["@flatbiz/antd/src/editable-field/editable-field.tsx"],"sourcesContent":["import { CheckOutlined, CloseOutlined, EditOutlined } from '@ant-design/icons';\nimport { isArray, isNumber, isString } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { isUndefinedOrNull, TAny } from '@flatbiz/utils';\nimport { Space } from 'antd';\nimport { isValidElement, ReactElement, ReactNode, useContext, useEffect, useRef, useState } from 'react';\nimport { EditableFieldContext } from '../editable-field-provider/context';\nimport { fbaHooks } from '../fba-hooks';\nimport { IconWrapper } from '../icon-wrapper';\n\nimport './style.less';\n\nexport interface EditableFieldProps {\n className?: string;\n editRender: ReactElement | ((data: { value?: TAny; onChange?: (data?: TAny) => void }) => ReactElement);\n viewRender?: (value?: TAny) => ReactNode;\n value?: TAny;\n onChange?: (data?: TAny) => void;\n placeholderValue?: string;\n /** edit 区域是否铺满,showEditableIcon=false 无效 */\n isEditFull?: boolean;\n /** 是否可编辑 */\n editable?: boolean;\n /** 是否显示编辑、确认、取消操作icon,默认值:true */\n showEditableIcon?: boolean;\n /** 点击编辑按钮,操作前,返回reject不会开启编辑效果 */\n onClickEditIconPre?: (value?: TAny) => Promise<void>;\n onEditCallback?: (value?: TAny) => void;\n /** 点击确定按钮,操作前,返回reject不会执行确定功能 */\n onClickConfirmIconPre?: (value?: TAny, preValue?: TAny) => Promise<void>;\n onConfirmCallback?: (value?: TAny, preValue?: TAny) => void;\n /** 组件操作Icon配置 */\n iconConfig?: {\n editIcon?: (options: { onClick: () => void }) => ReactElement;\n confirmIcon?: (options: { onClick: () => void }) => ReactElement;\n cancelIcon?: (options: { onClick: () => void }) => ReactElement;\n };\n}\n\n/**\n * 可编辑字段组件\n * @param props\n * @returns\n * ```\n * 字段渲染有两种状态\n * 1. 只读:如果value类型为复杂格式,必须要通过【viewRender】来进行处理操作,转成简单数据类型\n * 2. 编辑:参数value的格式要求必须满足编辑组件入参value要求\n * 3. 可自定义编辑Icon、确定Icon、取消Icon\n * 4. 可拦截编辑操作、确定操作\n * ```\n */\nexport const EditableField = (props: EditableFieldProps) => {\n const {\n value,\n onChange,\n viewRender,\n placeholderValue = '-',\n editRender,\n isEditFull,\n onClickEditIconPre,\n onClickConfirmIconPre,\n iconConfig,\n onEditCallback,\n onConfirmCallback,\n } = props;\n const [isEdit, setIsEdit] = useState<boolean>(false);\n const ctx = useContext(EditableFieldContext);\n const originalValue = useRef<TAny>(value);\n\n const showEditableIcon = (function () {\n if (ctx.isCtx) {\n return props.showEditableIcon === undefined ? ctx.showEditableIcon : props.showEditableIcon;\n }\n return props.showEditableIcon === undefined ? true : props.showEditableIcon;\n })();\n\n const editable = (function () {\n if (ctx.isCtx) {\n return props.editable === undefined ? ctx.editable : props.editable;\n }\n return props.editable || false;\n })();\n\n const theme = fbaHooks.useThemeToken();\n\n useEffect(() => {\n setIsEdit(editable);\n }, [editable]);\n\n const onClickEditIcon = async () => {\n if (onClickEditIconPre) {\n await onClickEditIconPre(value);\n }\n originalValue.current = value;\n setIsEdit(true);\n onEditCallback?.(value);\n };\n\n const editIcon = iconConfig?.editIcon ? (\n iconConfig.editIcon({ onClick: onClickEditIcon })\n ) : (\n <IconWrapper size=\"small\" icon={<EditOutlined />} onClick={onClickEditIcon} />\n );\n\n if (!isEdit) {\n const viewValue = (viewRender ? viewRender(props.value) : props.value) || placeholderValue;\n if (\n isString(viewValue) ||\n isNumber(viewValue) ||\n isUndefinedOrNull(viewValue) ||\n isValidElement(viewValue)\n ) {\n if (!showEditableIcon) {\n return viewValue;\n }\n return (\n <Space size={8}>\n <span>{viewValue}</span>\n {editIcon}\n </Space>\n );\n }\n console.warn('对象作为React子对象无效', viewValue);\n }\n\n const onCancel = () => {\n if (value !== originalValue.current) {\n props.onChange?.(originalValue.current);\n }\n setIsEdit(false);\n };\n\n const onEditChange = (value) => {\n let target = value;\n /** 为了处理 Input、TextArea等onChange取值 */\n if (typeof value === 'object' && !isArray(value) && value.target) {\n target = value.target?.value;\n }\n onChange?.(target);\n };\n\n const onOk = async () => {\n if (onClickConfirmIconPre) {\n await onClickConfirmIconPre(value, originalValue.current);\n }\n setIsEdit(false);\n onConfirmCallback?.(value, originalValue.current);\n };\n\n const editRenderElement =\n typeof editRender === 'function' ? editRender({ value: value, onChange: onEditChange }) : editRender;\n\n if (!showEditableIcon) {\n return <editRenderElement.type value={value} onChange={onEditChange} {...editRenderElement.props} />;\n }\n\n const confirmIcon = iconConfig?.confirmIcon ? (\n iconConfig.confirmIcon({ onClick: onOk })\n ) : (\n <IconWrapper size=\"small\" icon={<CheckOutlined style={{ color: theme.colorPrimary }} />} onClick={onOk} />\n );\n\n const cancelIcon = iconConfig?.cancelIcon ? (\n iconConfig.cancelIcon({ onClick: onCancel })\n ) : (\n <IconWrapper\n size=\"small\"\n icon={<CloseOutlined style={{ color: theme.colorPrimary }} />}\n onClick={onCancel}\n />\n );\n\n return (\n <Space\n direction=\"horizontal\"\n size={12}\n style={{ display: 'flex', paddingRight: 6 }}\n className={classNames({ 'editable-field-full': isEditFull }, props.className)}\n >\n <editRenderElement.type value={value} onChange={onEditChange} {...editRenderElement.props} />\n {confirmIcon}\n {cancelIcon}\n </Space>\n );\n};\n"],"names":["EditableField","props","value","onChange","viewRender","_props$placeholderVal","placeholderValue","editRender","isEditFull","onClickEditIconPre","onClickConfirmIconPre","iconConfig","onEditCallback","onConfirmCallback","_useState","useState","isEdit","setIsEdit","ctx","useContext","EditableFieldContext","originalValue","useRef","showEditableIcon","isCtx","undefined","editable","theme","fbaHooks","useThemeToken","useEffect","onClickEditIcon","Promise","$return","$error","resolve","then","$await_3","$If_1","call","this","$boundEx","bind","current","editIcon","onClick","_jsx","IconWrapper","size","icon","_EditOutlined","viewValue","_isString","_isNumber","isUndefinedOrNull","isValidElement","_jsxs","Space","children","console","warn","onCancel","onEditChange","target","_isArray","_value$target","onOk","$await_4","$If_2","editRenderElement","type","_extends","confirmIcon","_CheckOutlined","style","color","colorPrimary","cancelIcon","_CloseOutlined","direction","display","paddingRight","className","_classNames"],"mappings":"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"}
|
|
@@ -12,5 +12,5 @@ import './../input-wrapper/index.css';
|
|
|
12
12
|
import './../input-text-area-wrapper/index.css';
|
|
13
13
|
import './index.css';
|
|
14
14
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
15
|
-
export{E as EditableTable}from"../editable-table-
|
|
15
|
+
export{E as EditableTable}from"../editable-table-07ef34fa.js";import"@ant-design/icons/es/icons/PlusOutlined";import"../_rollupPluginBabelHelpers-1f4d8910.js";import"antd";import"react";import"../button-wrapper-125fce50.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-promise";import"@wove/react/cjs/hooks";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-f9e11d02.js";import"@dimjs/utils/cjs/extend";import"@dimjs/utils/cjs/class-names";import"../date-picker-wrapper-ba650858.js";import"../time-53b3f55f.js";import"../date-range-picker-wrapper-fb15c592.js";import"../input-wrapper-b378eb5a.js";import"../selector-wrapper-91427b7d.js";import"@ant-design/icons/es/icons/RedoOutlined";import"@dimjs/lang/cjs/is-string";import"../request-status-03fc60e2.js";import"@dimjs/lang/cjs/is-deep-equal";import"@dimjs/utils/cjs/get";import"@dimjs/utils/cjs/json";import"pubsub-js";import"@dimjs/lang/cjs/is-object";import"@dimjs/lang/cjs/is-boolean";import"@dimjs/lang/cjs/is-number";import"../input-text-area-wrapper-c958fba0.js";import"../upload-wrapper-4de4e5b3.js";import"@dimjs/lang/cjs/is-plain-object";import"react-dom";import"@ant-design/icons/es/icons/DeleteOutlined";
|
|
16
16
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
import e from"@ant-design/icons/es/icons/PlusOutlined";import{a as n,_ as r}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{Form as a,Checkbox as l,Tag as i,InputNumber as t,Radio as o,Space as d,Button as u,Input as m,Table as f}from"antd";import{useMemo as c,useState as s,useEffect as v,Fragment as p}from"react";import{B as g}from"./button-wrapper-e8fa0aac.js";import{isArray as b}from"@dimjs/lang/cjs/is-array";import{extend as C}from"@dimjs/utils/cjs/extend";import{classNames as h}from"@dimjs/utils/cjs/class-names";import{hooks as I}from"@wove/react/cjs/hooks";import{jsx as w,jsxs as x,Fragment as R}from"react/jsx-runtime";import{D as N}from"./date-picker-wrapper-ba650858.js";import{D as P}from"./date-range-picker-wrapper-fb15c592.js";import{I as y}from"./input-wrapper-b378eb5a.js";import{fbaHooks as j}from"./fba-hooks/index.js";import{arrayField2LabelValue as k}from"@flatbiz/utils";import{S as F}from"./selector-wrapper-8493b6fd.js";import{isBoolean as L}from"@dimjs/lang/cjs/is-boolean";import{isNumber as T}from"@dimjs/lang/cjs/is-number";import{isString as A}from"@dimjs/lang/cjs/is-string";import{I as B}from"./input-text-area-wrapper-c958fba0.js";import{U as O}from"./upload-wrapper-4de4e5b3.js";import S from"@ant-design/icons/es/icons/DeleteOutlined";var V=function e(n,r){return typeof n==="boolean"?n:n==null?void 0:n({tableRowIndex:r})};var G=function e(r){var a=r.fieldConfig,t=a.editableConfig,o=a.editable,d=a.render;var u=t.editableComptProps;var m=c((function(){if(o)return[];var e=b(r.value)?r.value:[];var n=u.options||[];if(!b(n)||n.length===0){return e.map((function(e){return{label:e,value:e}}))}var a=[];e.forEach((function(e){var r=n.find((function(n){return n.value===e}));a.push(r?r:{label:e,value:e})}));return a}),[o,u.options,r.value]);var f=I.useCallbackRef((function(e){r.onChange==null?void 0:r.onChange(e);u.onChange==null?void 0:u.onChange(e)}));if(o){return w(l.Group,n({},u,{value:r.value,onChange:f}))}return w("span",{className:"editable-checkbox-group-view",children:d?d(r.value):m.map((function(e,n){return w(i,{color:"#1890ff",children:e.label},n)}))})};var W=function e(r){var l=r.fieldConfig.formItemProps;return w(a.Item,n({},l,{name:r.name,className:h("editable-checkbox-group-form-item",l==null?void 0:l.className),children:w(G,n({},r))}))};var D=function e(r){var l=r.fieldConfig,i=l.formItemProps,t=l.editableConfig;return w(a.Item,n({},i,{name:r.name,className:h("editable-date-picker-wraper-form-item",i==null?void 0:i.className),children:w(N,n({allowClear:true},t.editableComptProps))}))};var E=function e(r){var a=r.fieldConfig,l=a.editableConfig,i=a.editable,t=a.render;var o=l.editableComptProps;var d=I.useCallbackRef((function(e){r.onChange==null?void 0:r.onChange(e);o==null?void 0:o.onChange==null?void 0:o.onChange(e)}));var u=c((function(){var e=b(r.value)?r.value:[];if(i)return undefined;return e.join("~")}),[i,r.value]);if(i){return w(P,n({allowClear:true},o,{value:r.value,onChange:d}))}return w("span",{className:"editable-date-range-picker-view",children:t?t(r.value):u})};var M=function e(r){var l=r.fieldConfig.formItemProps;return w(a.Item,n({},l,{name:r.name,className:h("editable-date-range-picker-wraper-form-item",l==null?void 0:l.className),children:w(E,n({},r))}))};var _=function e(r){var l=r.fieldConfig,i=l.formItemProps,t=l.editableConfig;return w(a.Item,n({},i,{name:r.name,children:w(y,n({allowClear:true},t.editableComptProps))}))};var z=function e(r){var l=r.fieldConfig,i=l.formItemProps,o=l.editableConfig;return w(a.Item,n({},i,{name:r.name,className:h("editable-input-number-form-item",i==null?void 0:i.className),children:w(t,n({},o.editableComptProps))}))};var H=function e(r){var a=r.fieldConfig,l=a.editableConfig,t=a.editable,d=a.render;var u=l.editableComptProps;var m=j.useThemeToken();var f=c((function(){if(t)return[];var e=r.value;var n=u.options||[];if(!b(n)||n.length===0){return e}var a=n.find((function(n){return n.value===e}));return(a==null?void 0:a.label)||e}),[t,u.options,r.value]);var s=I.useCallbackRef((function(e){r.onChange==null?void 0:r.onChange(e.target.value);u.onChange==null?void 0:u.onChange(e)}));if(t){return w(o.Group,n({},u,{value:r.value,onChange:s}))}return w("span",{className:"editable-radio-group-view",children:d?d(r.value):f?w(i,{color:m.colorPrimary,children:f}):null})};var J=function e(r){var l=r.fieldConfig.formItemProps;return w(a.Item,n({},l,{name:r.name,className:h("editable-radio-group-form-item",l==null?void 0:l.className),children:w(H,n({},r))}))};var K=function e(r){var a=r.fieldConfig,l=a.editableConfig,t=a.editable,o=a.render;var d=l.editableComptProps;var u=s([]),m=u[0],f=u[1];var c=s([]),g=c[0],C=c[1];var h=j.useThemeToken();v((function(){if(!t){var e=b(r.value)?r.value:r.value===undefined?[]:[r.value];if(m.length===0){C(e.map((function(e){return{label:e,value:e}})))}var n=[];e.forEach((function(e){var r=m.find((function(n){return n.value===e}));n.push(r?r:{label:String(e),value:e})}));C(n)}}),[t,d.fieldNames,r.value,m]);var R=I.useCallbackRef((function(e){f(k(e||[],d.fieldNames))}));var N=I.useCallbackRef((function(e,n){r.onChange==null?void 0:r.onChange(e);d.onChange==null?void 0:d.onChange(e,n)}));if(t){return w(F,n({},d,{value:r.value,onChange:N,onSelectorListAllChange:R}))}return x(p,{children:[w("div",{style:{display:"none"},children:w(F,n({},d,{onSelectorListAllChange:R}))}),w("span",{className:"editable-selector-view",children:o?o(r.value,m):g.map((function(e,n){return w(i,{color:h.colorPrimary,children:e.label},n)}))})]})};var U=function e(r){var l=r.fieldConfig.formItemProps;return w(a.Item,n({},l,{name:r.name,className:h("editable-selector-wrapper-form-item",l==null?void 0:l.className),children:w(K,n({},r))}))};var q=function e(n){var r,a;var l=c((function(){var e;if((e=n.fieldConfig)!=null&&e.render)return undefined;var r=A(n.value)||T(n.value)||L(n.value)||!n.value;if(!r){console.warn("Form.List name:【"+n.name+"】数据【"+JSON.stringify(n.value)+"】不能渲染在页面中")}return r?n.value:undefined}),[(r=n.fieldConfig)==null?void 0:r.render,n.name,n.value]);var i=((a=n.fieldConfig)==null?void 0:a.render==null?void 0:a.render(n.value))||l;return w("span",{children:i})};var Q=function e(n){return w(a.Item,{noStyle:true,name:n.name,children:w(q,{name:n.name,fieldConfig:n.fieldConfig})})};var X=function e(r){var l=r.fieldConfig,i=l.formItemProps,t=l.editableConfig;return w(a.Item,n({},i,{name:r.name,children:w(B,n({},t.editableComptProps))}))};var Y=["children"];var Z=function e(a){var l=a.fieldConfig,i=l.editableConfig,t=l.render,o=l.editable;var d=i.editableComptProps,u=d.children,m=r(d,Y);if(o){return w(O,n({listType:"text"},m,{value:a.value,onChange:a.onChange,children:u}))}return w("div",{className:"upload-wrapper-selector-view",children:t?t(a.value):w(O,n({listType:"text"},m,{value:a.value,disabled:true}))})};var $=function e(r){var l=r.fieldConfig.formItemProps;return w(a.Item,n({},l,{name:r.name,className:h("editable-upload-wrapper-form-item",l==null?void 0:l.className),children:w(Z,n({},r))}))};var ee=function e(r){var a=r.fieldConfig,l=a.editableConfig,i=a.editable;var t=V(i,r.tableRowIndex);var o=C({},r.fieldConfig,{editable:t});var d={name:r.name,fieldConfig:o};if((l==null?void 0:l.type)==="input"&&t){return w(_,n({},d))}else if((l==null?void 0:l.type)==="inputNumber"&&t){return w(z,n({},d))}else if((l==null?void 0:l.type)==="textArea"&&t){return w(X,n({},d))}else if((l==null?void 0:l.type)==="datePickerWrapper"&&t){return w(D,n({},d))}else if((l==null?void 0:l.type)==="dateRangePickerWrapper"){return w(M,n({},d))}else if((l==null?void 0:l.type)==="selectorWrapper"){return w(U,n({},d))}else if((l==null?void 0:l.type)==="checkboxGroup"){return w(W,n({},d))}else if((l==null?void 0:l.type)==="radioGroup"){return w(J,n({},d))}else if((l==null?void 0:l.type)==="uploadWrapper"){return w($,n({},d))}else if((l==null?void 0:l.type)==="custom"){return l.editableComptProps({name:r.name,editable:t,completeName:r.completeName,tableRowIndex:r.tableRowIndex})}return w(Q,n({},d))};var ne=function e(n){var r=a.useFormInstance();var l=n.formListConfig,i=l.onFormListBeforeRender,t=l.editableConfigList,o=l.onFormListAfterRender,u=l.onFormListItemBeforeRender,m=l.onFormListItemAfterRender,f=l.deleteOperateRender;return w(a.List,{name:n.name,children:function e(a,l){var c=l.add,s=l.remove;return x(R,{children:[i?i({tableRowIndex:n.tableRowIndex,add:c,get value(){return r.getFieldValue(n.completeName)}}):null,a.map((function(e,a){var l=t.find((function(e){return V(e.editable,n.tableRowIndex)}));var i=h("editable-inner-formlist-item","editable-inner-formlist-item-"+n.name[1],{"editable-inner-formlist-item_preview":!l});return x("div",{className:i,children:[u==null?void 0:u({add:c,remove:function e(){s(a)},formListItemIndex:a,tableRowIndex:n.tableRowIndex,get value(){return r.getFieldValue([].concat(n.completeName,[e.name]))}}),x(d,{children:[t.map((function(r,a){return w(ee,{name:[e.name,r.fieldName],fieldConfig:r,tableRowIndex:n.tableRowIndex,completeName:[].concat(n.completeName,[e.name])},a)})),l?w(re,{deleteOperateRender:f,remove:function e(){s(a)},index:a}):undefined]}),m==null?void 0:m({add:c,formListItemIndex:a,tableRowIndex:n.tableRowIndex,remove:function e(){s(a)},get value(){return r.getFieldValue([].concat(n.completeName,[e.name]))}})]},a)})),o?o({tableRowIndex:n.tableRowIndex,add:c,get value(){return r.getFieldValue(n.completeName)}}):null]})}})};var re=function e(n){return w(a.Item,{children:n.deleteOperateRender?n.deleteOperateRender({remove:n.remove,formListItemIndex:n.index}):w(u,{type:"link",danger:true,icon:w(S,{}),onClick:n.remove,children:"删除"})})};var ae=function e(n){if(n.fieldConfig){if(b(n.fieldConfig["editableConfigList"])){var r=n.fieldConfig;return w(ne,{name:n.name,completeName:n.completeName,formListConfig:r,tableRowIndex:n.tableRowIndex})}else{return x(p,{children:[w(ee,{name:n.name,fieldConfig:n.fieldConfig,tableRowIndex:n.tableRowIndex,completeName:n.completeName}),n.hiddenField?w(a.Item,{hidden:true,name:n.hiddenField.dataIndex,children:w(m,{})}):null]})}}return w(Q,{name:n.name})};var le=["fieldConfig","renderMiddleware"];var ie=function l(i){var t;var o=c((function(){if(!i.columns)return[];return i.columns.map((function(e){var a=e.fieldConfig,l=e.renderMiddleware,t=r(e,le);return n({onCell:function e(){var n;return{valign:((n=i.tableProps)==null?void 0:n.cellVerticalAlign)||"middle"}}},t,{render:function n(r,t,o){var d=[i.name,t.name];var u=e.dataIndex?[].concat(d,[e.dataIndex]):d;var m=l==null?void 0:l({name:u,tableRowIndex:t.name,operation:t.operation,tableRowName:d,index:o});if(m){return m}var f=typeof a==="function"?a({name:u,tableRowIndex:t.name,tableRowName:d}):a;return w(ae,{name:e.dataIndex?[t.name,e.dataIndex]:[t.name],completeName:u,fieldConfig:f,tableRowIndex:t.name,hiddenField:e.hiddenField})}})}))}),[i.columns,i.name,(t=i.tableProps)==null?void 0:t.cellVerticalAlign]);return w("div",{className:"editable-table",children:w(a.List,{name:i.name,rules:i.rules,children:function r(a,l){return x(p,{children:[i.onTableBeforeRender?i.onTableBeforeRender(l,a.length):null,w(f,n({scroll:{x:"max-content"},pagination:false,rowKey:"key"},i.tableProps,{dataSource:a.map((function(e){return n({},e,{operation:l})})),columns:o})),i.onTableAfterRender?i.onTableAfterRender(l,a.length):w(g,{type:"dashed",hidden:i.hiddenFooterBtn,onClick:function e(){return l.add()},block:true,icon:w(e,{}),style:{marginTop:15},children:"新增"})]})}})})};export{ie as E};
|
|
3
|
-
//# sourceMappingURL=editable-table-
|
|
2
|
+
import e from"@ant-design/icons/es/icons/PlusOutlined";import{a as n,_ as r}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{Form as a,Checkbox as l,Tag as i,InputNumber as t,Radio as o,Space as d,Button as u,Input as m,Table as f}from"antd";import{useMemo as c,useState as s,useEffect as v,Fragment as p}from"react";import{B as g}from"./button-wrapper-125fce50.js";import{isArray as b}from"@dimjs/lang/cjs/is-array";import{extend as C}from"@dimjs/utils/cjs/extend";import{classNames as h}from"@dimjs/utils/cjs/class-names";import{hooks as I}from"@wove/react/cjs/hooks";import{jsx as w,jsxs as x,Fragment as R}from"react/jsx-runtime";import{D as N}from"./date-picker-wrapper-ba650858.js";import{D as P}from"./date-range-picker-wrapper-fb15c592.js";import{I as y}from"./input-wrapper-b378eb5a.js";import{fbaHooks as j}from"./fba-hooks/index.js";import{arrayField2LabelValue as k}from"@flatbiz/utils";import{S as F}from"./selector-wrapper-91427b7d.js";import{isBoolean as L}from"@dimjs/lang/cjs/is-boolean";import{isNumber as T}from"@dimjs/lang/cjs/is-number";import{isString as A}from"@dimjs/lang/cjs/is-string";import{I as O}from"./input-text-area-wrapper-c958fba0.js";import{U as B}from"./upload-wrapper-4de4e5b3.js";import S from"@ant-design/icons/es/icons/DeleteOutlined";var V=function e(n,r){return typeof n==="boolean"?n:n==null?void 0:n({tableRowIndex:r})};var G=function e(r){var a=r.fieldConfig,t=a.editableConfig,o=a.editable,d=a.render;var u=t.editableComptProps;var m=c((function(){if(o)return[];var e=b(r.value)?r.value:[];var n=u.options||[];if(!b(n)||n.length===0){return e.map((function(e){return{label:e,value:e}}))}var a=[];e.forEach((function(e){var r=n.find((function(n){return n.value===e}));a.push(r?r:{label:e,value:e})}));return a}),[o,u.options,r.value]);var f=I.useCallbackRef((function(e){r.onChange==null?void 0:r.onChange(e);u.onChange==null?void 0:u.onChange(e)}));if(o){return w(l.Group,n({},u,{value:r.value,onChange:f}))}return w("span",{className:"editable-checkbox-group-view",children:d?d(r.value):m.map((function(e,n){return w(i,{color:"#1890ff",children:e.label},n)}))})};var W=function e(r){var l=r.fieldConfig.formItemProps;return w(a.Item,n({},l,{name:r.name,className:h("editable-checkbox-group-form-item",l==null?void 0:l.className),children:w(G,n({},r))}))};var D=function e(r){var l=r.fieldConfig,i=l.formItemProps,t=l.editableConfig;return w(a.Item,n({},i,{name:r.name,className:h("editable-date-picker-wraper-form-item",i==null?void 0:i.className),children:w(N,n({allowClear:true},t.editableComptProps))}))};var E=function e(r){var a=r.fieldConfig,l=a.editableConfig,i=a.editable,t=a.render;var o=l.editableComptProps;var d=I.useCallbackRef((function(e){r.onChange==null?void 0:r.onChange(e);o==null?void 0:o.onChange==null?void 0:o.onChange(e)}));var u=c((function(){var e=b(r.value)?r.value:[];if(i)return undefined;return e.join("~")}),[i,r.value]);if(i){return w(P,n({allowClear:true},o,{value:r.value,onChange:d}))}return w("span",{className:"editable-date-range-picker-view",children:t?t(r.value):u})};var _=function e(r){var l=r.fieldConfig.formItemProps;return w(a.Item,n({},l,{name:r.name,className:h("editable-date-range-picker-wraper-form-item",l==null?void 0:l.className),children:w(E,n({},r))}))};var z=function e(r){var l=r.fieldConfig,i=l.formItemProps,t=l.editableConfig;return w(a.Item,n({},i,{name:r.name,children:w(y,n({allowClear:true},t.editableComptProps))}))};var M=function e(r){var l=r.fieldConfig,i=l.formItemProps,o=l.editableConfig;return w(a.Item,n({},i,{name:r.name,className:h("editable-input-number-form-item",i==null?void 0:i.className),children:w(t,n({},o.editableComptProps))}))};var H=function e(r){var a=r.fieldConfig,l=a.editableConfig,t=a.editable,d=a.render;var u=l.editableComptProps;var m=j.useThemeToken();var f=c((function(){if(t)return[];var e=r.value;var n=u.options||[];if(!b(n)||n.length===0){return e}var a=n.find((function(n){return n.value===e}));return(a==null?void 0:a.label)||e}),[t,u.options,r.value]);var s=I.useCallbackRef((function(e){r.onChange==null?void 0:r.onChange(e.target.value);u.onChange==null?void 0:u.onChange(e)}));if(t){return w(o.Group,n({},u,{value:r.value,onChange:s}))}return w("span",{className:"editable-radio-group-view",children:d?d(r.value):f?w(i,{color:m.colorPrimary,children:f}):null})};var J=function e(r){var l=r.fieldConfig.formItemProps;return w(a.Item,n({},l,{name:r.name,className:h("editable-radio-group-form-item",l==null?void 0:l.className),children:w(H,n({},r))}))};var K=function e(r){var a=r.fieldConfig,l=a.editableConfig,t=a.editable,o=a.render;var d=l.editableComptProps;var u=s([]),m=u[0],f=u[1];var c=s([]),g=c[0],C=c[1];var h=j.useThemeToken();v((function(){if(!t){var e=b(r.value)?r.value:r.value===undefined?[]:[r.value];if(m.length===0){C(e.map((function(e){return{label:e,value:e}})))}var n=[];e.forEach((function(e){var r=m.find((function(n){return n.value===e}));n.push(r?r:{label:String(e),value:e})}));C(n)}}),[t,d.fieldNames,r.value,m]);var R=I.useCallbackRef((function(e){f(k(e||[],d.fieldNames))}));var N=I.useCallbackRef((function(e,n){r.onChange==null?void 0:r.onChange(e);d.onChange==null?void 0:d.onChange(e,n)}));if(t){return w(F,n({},d,{value:r.value,onChange:N,onSelectorListAllChange:R}))}return x(p,{children:[w("div",{style:{display:"none"},children:w(F,n({},d,{onSelectorListAllChange:R}))}),w("span",{className:"editable-selector-view",children:o?o(r.value,m):g.map((function(e,n){return w(i,{color:h.colorPrimary,children:e.label},n)}))})]})};var U=function e(r){var l=r.fieldConfig.formItemProps;return w(a.Item,n({},l,{name:r.name,className:h("editable-selector-wrapper-form-item",l==null?void 0:l.className),children:w(K,n({},r))}))};var q=function e(n){var r,a;var l=c((function(){var e;if((e=n.fieldConfig)!=null&&e.render)return undefined;var r=A(n.value)||T(n.value)||L(n.value)||!n.value;if(!r){console.warn("Form.List name:【"+n.name+"】数据【"+JSON.stringify(n.value)+"】不能渲染在页面中")}return r?n.value:undefined}),[(r=n.fieldConfig)==null?void 0:r.render,n.name,n.value]);var i=((a=n.fieldConfig)==null?void 0:a.render==null?void 0:a.render(n.value))||l;return w("span",{children:i})};var Q=function e(n){return w(a.Item,{noStyle:true,name:n.name,children:w(q,{name:n.name,fieldConfig:n.fieldConfig})})};var X=function e(r){var l=r.fieldConfig,i=l.formItemProps,t=l.editableConfig;return w(a.Item,n({},i,{name:r.name,children:w(O,n({},t.editableComptProps))}))};var Y=["children"];var Z=function e(a){var l=a.fieldConfig,i=l.editableConfig,t=l.render,o=l.editable;var d=i.editableComptProps,u=d.children,m=r(d,Y);if(o){return w(B,n({listType:"text"},m,{value:a.value,onChange:a.onChange,children:u}))}return w("div",{className:"upload-wrapper-selector-view",children:t?t(a.value):w(B,n({listType:"text"},m,{value:a.value,disabled:true}))})};var $=function e(r){var l=r.fieldConfig.formItemProps;return w(a.Item,n({},l,{name:r.name,className:h("editable-upload-wrapper-form-item",l==null?void 0:l.className),children:w(Z,n({},r))}))};var ee=function e(r){var a=r.fieldConfig,l=a.editableConfig,i=a.editable;var t=V(i,r.tableRowIndex);var o=C({},r.fieldConfig,{editable:t});var d={name:r.name,fieldConfig:o};if((l==null?void 0:l.type)==="input"&&t){return w(z,n({},d))}else if((l==null?void 0:l.type)==="inputNumber"&&t){return w(M,n({},d))}else if((l==null?void 0:l.type)==="textArea"&&t){return w(X,n({},d))}else if((l==null?void 0:l.type)==="datePickerWrapper"&&t){return w(D,n({},d))}else if((l==null?void 0:l.type)==="dateRangePickerWrapper"){return w(_,n({},d))}else if((l==null?void 0:l.type)==="selectorWrapper"){return w(U,n({},d))}else if((l==null?void 0:l.type)==="checkboxGroup"){return w(W,n({},d))}else if((l==null?void 0:l.type)==="radioGroup"){return w(J,n({},d))}else if((l==null?void 0:l.type)==="uploadWrapper"){return w($,n({},d))}else if((l==null?void 0:l.type)==="custom"){return l.editableComptProps({name:r.name,editable:t,completeName:r.completeName,tableRowIndex:r.tableRowIndex})}return w(Q,n({},d))};var ne=function e(n){var r=a.useFormInstance();var l=n.formListConfig,i=l.onFormListBeforeRender,t=l.editableConfigList,o=l.onFormListAfterRender,u=l.onFormListItemBeforeRender,m=l.onFormListItemAfterRender,f=l.deleteOperateRender;return w(a.List,{name:n.name,children:function e(a,l){var c=l.add,s=l.remove;return x(R,{children:[i?i({tableRowIndex:n.tableRowIndex,add:c,get value(){return r.getFieldValue(n.completeName)}}):null,a.map((function(e,a){var l=t.find((function(e){return V(e.editable,n.tableRowIndex)}));var i=h("editable-inner-formlist-item","editable-inner-formlist-item-"+n.name[1],{"editable-inner-formlist-item_preview":!l});return x("div",{className:i,children:[u==null?void 0:u({add:c,remove:function e(){s(a)},formListItemIndex:a,tableRowIndex:n.tableRowIndex,get value(){return r.getFieldValue([].concat(n.completeName,[e.name]))}}),x(d,{children:[t.map((function(r,a){return w(ee,{name:[e.name,r.fieldName],fieldConfig:r,tableRowIndex:n.tableRowIndex,completeName:[].concat(n.completeName,[e.name])},a)})),l?w(re,{deleteOperateRender:f,remove:function e(){s(a)},index:a}):undefined]}),m==null?void 0:m({add:c,formListItemIndex:a,tableRowIndex:n.tableRowIndex,remove:function e(){s(a)},get value(){return r.getFieldValue([].concat(n.completeName,[e.name]))}})]},a)})),o?o({tableRowIndex:n.tableRowIndex,add:c,get value(){return r.getFieldValue(n.completeName)}}):null]})}})};var re=function e(n){return w(a.Item,{children:n.deleteOperateRender?n.deleteOperateRender({remove:n.remove,formListItemIndex:n.index}):w(u,{type:"link",danger:true,icon:w(S,{}),onClick:n.remove,children:"删除"})})};var ae=function e(n){if(n.fieldConfig){if(b(n.fieldConfig["editableConfigList"])){var r=n.fieldConfig;return w(ne,{name:n.name,completeName:n.completeName,formListConfig:r,tableRowIndex:n.tableRowIndex})}else{return x(p,{children:[w(ee,{name:n.name,fieldConfig:n.fieldConfig,tableRowIndex:n.tableRowIndex,completeName:n.completeName}),n.hiddenField?w(a.Item,{hidden:true,name:n.hiddenField.dataIndex,children:w(m,{})}):null]})}}return w(Q,{name:n.name})};var le=["fieldConfig","renderMiddleware"];var ie=function l(i){var t;var o=c((function(){if(!i.columns)return[];return i.columns.map((function(e){var a=e.fieldConfig,l=e.renderMiddleware,t=r(e,le);return n({onCell:function e(){var n;return{valign:((n=i.tableProps)==null?void 0:n.cellVerticalAlign)||"middle"}}},t,{render:function n(r,t,o){var d=[i.name,t.name];var u=e.dataIndex?[].concat(d,[e.dataIndex]):d;var m=l==null?void 0:l({name:u,tableRowIndex:t.name,operation:t.operation,tableRowName:d,index:o});if(m){return m}var f=typeof a==="function"?a({name:u,tableRowIndex:t.name,tableRowName:d}):a;return w(ae,{name:e.dataIndex?[t.name,e.dataIndex]:[t.name],completeName:u,fieldConfig:f,tableRowIndex:t.name,hiddenField:e.hiddenField})}})}))}),[i.columns,i.name,(t=i.tableProps)==null?void 0:t.cellVerticalAlign]);return w("div",{className:"editable-table",children:w(a.List,{name:i.name,rules:i.rules,children:function r(a,l){return x(p,{children:[i.onTableBeforeRender?i.onTableBeforeRender(l,a.length):null,w(f,n({scroll:{x:"max-content"},pagination:false,rowKey:"key"},i.tableProps,{dataSource:a.map((function(e){return n({},e,{operation:l})})),columns:o})),i.onTableAfterRender?i.onTableAfterRender(l,a.length):w(g,{type:"dashed",hidden:i.hiddenFooterBtn,onClick:function e(){return l.add()},block:true,icon:w(e,{}),style:{marginTop:15},children:"新增"})]})}})})};export{ie as E};
|
|
3
|
+
//# sourceMappingURL=editable-table-07ef34fa.js.map
|