@flatbiz/antd 4.4.35 → 4.4.36

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.
@@ -2,5 +2,5 @@
2
2
  import './../icon-wrapper/index.css';
3
3
  import './index.css';
4
4
  /*! @flatjs/forge MIT @flatbiz/antd */
5
- import{_ as r,a as n}from"../_rollupPluginBabelHelpers-a0769acd.js";import{useSensors as o,useSensor as e,PointerSensor as t,DndContext as i}from"@dnd-kit/core";import{restrictToVerticalAxis as a}from"@dnd-kit/modifiers";import{useSortable as d,SortableContext as s,verticalListSortingStrategy as c,arrayMove as l}from"@dnd-kit/sortable";import{Table as u}from"antd";import{Children as f,cloneElement as m,isValidElement as v,useState as p,useEffect as g,useMemo as x}from"react";import{createCtx as y}from"@wove/react/cjs/create-ctx";import{CSS as I}from"@dnd-kit/utilities";import{jsx as b}from"react/jsx-runtime";import h from"@ant-design/icons/es/icons/DragOutlined";import{noop as k}from"@flatbiz/utils";import{IconWrapper as j}from"../icon-wrapper/index.js";import"@dimjs/utils/cjs/class-names";import"@dimjs/lang/cjs/is-undefined";var w=y(),D=w[0],S=w[1];var C=function n(o){var e=d({id:o["data-row-key"]}),t=e.listeners,i=e.setNodeRef,a=e.transform,s=e.transition,c=e.isDragging;var l=r({},o.style,{transform:I.Transform.toString(a&&r({},a,{scaleY:1})),transition:s,cursor:"move"},c?{position:"relative",zIndex:9999,boxShadow:" 0px 0px 12px 4px rgba(34, 33, 81, 0.1)"}:{});return b("tr",r({},o,{ref:i,style:l},t))};var z=["dragIcon"];var A=function o(e){var t=e.dragIcon,i=n(e,z);var a=i["data-row-key"];var s=d({id:a}),c=s.setActivatorNodeRef,l=s.listeners,u=s.setNodeRef,p=s.transform,g=s.transition,x=s.isDragging;if(!a){return b("tr",r({},i))}var y=r({},i.style,{transform:I.Transform.toString(p&&r({},p,{scaleY:1})),transition:g,cursor:t===false?"move":undefined},x?{position:"relative",zIndex:9999,boxShadow:" 0px 0px 12px 4px rgba(34, 33, 81, 0.1)",backgroundColor:"var(--block-bg-color)"}:{});var w=v(t)?t:b(h,{});return b("tr",r({},i,{ref:u,style:y,children:f.map(e.children,(function(n){if(n.key==="sort"){return m(n,{children:b("span",r({ref:c,style:{touchAction:"none",cursor:"move"}},l,{children:b(j,{style:{touchAction:"none",cursor:"move",padding:"1px 0px",margin:0,justifyContent:"center",color:"#787878"},icon:w,onClick:k})}))})}return n}))}))};var K=function n(o){var e=D();return e.dragIcon===false?b(C,r({},o,{dragIcon:e.dragIcon})):b(A,r({},o,{dragIcon:e.dragIcon}))};var N=["dragIcon","uidFieldKey","columns","dataSource","onDragChange","disabledDrag"];var R=function d(f){var m;var v=f.dragIcon,y=f.uidFieldKey,I=f.columns,h=f.dataSource,k=f.onDragChange,j=f.disabledDrag,w=n(f,N);var D=p([]),C=D[0],z=D[1];g((function(){z(h||[])}),[h]);var A=function r(n){var o=n.active,e=n.over;if(o.id!==(e==null?void 0:e.id)){var t=C.findIndex((function(r){return r[y]===o.id}));var i=C.findIndex((function(r){return r[y]===(e==null?void 0:e.id)}));var a=l(C,t,i);z([].concat(a));k==null?void 0:k(a,{activeId:o.id,activeIndex:t,overIndex:i})}};var R=x((function(){if(v===false)return I;return[{key:"sort",dataIndex:"sort",align:"center",width:50}].concat(I||[])}),[I,v]);var F=o(e(t,{activationConstraint:{delay:v===false?150:0,tolerance:0}}));return b(S,{value:{dragIcon:v},children:b(i,{sensors:F,modifiers:[a],onDragEnd:A,children:b(s,{items:C.map((function(r){return r[y]})),strategy:c,children:b(u,r({pagination:false,rowKey:y,bordered:true,components:r({},w.components,{body:r({},(m=w.components)==null?void 0:m.body,{row:j?undefined:K})})},w,{dataSource:C,columns:R}))})})})};export{R as DragTable};
5
+ import{_ as r,a as n}from"../_rollupPluginBabelHelpers-a0769acd.js";import{useSensors as o,useSensor as e,PointerSensor as t,DndContext as i}from"@dnd-kit/core";import{restrictToVerticalAxis as a}from"@dnd-kit/modifiers";import{useSortable as d,SortableContext as s,verticalListSortingStrategy as c,arrayMove as l}from"@dnd-kit/sortable";import{Table as f}from"antd";import{Children as u,cloneElement as m,isValidElement as v,useState as p,useEffect as g,useMemo as x}from"react";import{createCtx as y}from"@wove/react/cjs/create-ctx";import{CSS as I}from"@dnd-kit/utilities";import{jsx as b}from"react/jsx-runtime";import h from"@ant-design/icons/es/icons/DragOutlined";import{noop as k}from"@flatbiz/utils";import{IconWrapper as j}from"../icon-wrapper/index.js";import"@dimjs/utils/cjs/class-names";import"@dimjs/lang/cjs/is-undefined";var w=y(),D=w[0],S=w[1];var C=function n(o){var e=d({id:o["data-row-key"]}),t=e.listeners,i=e.setNodeRef,a=e.transform,s=e.transition,c=e.isDragging;var l=r({},o.style,{transform:I.Transform.toString(a&&r({},a,{scaleY:1})),transition:s,cursor:"move"},c?{position:"relative",zIndex:9999,boxShadow:" 0px 0px 12px 4px rgba(34, 33, 81, 0.1)"}:{});return b("tr",r({},o,{ref:i,style:l},t))};var z=["dragIcon"];var A=function o(e){var t=e.dragIcon,i=n(e,z);var a=i["data-row-key"];var s=d({id:a}),c=s.setActivatorNodeRef,l=s.listeners,f=s.setNodeRef,p=s.transform,g=s.transition,x=s.isDragging;if(!a){return b("tr",r({},i))}var y=r({},i.style,{transform:I.Transform.toString(p&&r({},p,{scaleY:1})),transition:g,cursor:t===false?"move":undefined},x?{position:"relative",zIndex:9999,boxShadow:" 0px 0px 12px 4px rgba(34, 33, 81, 0.1)",backgroundColor:"var(--block-bg-color)"}:{});var w=v(t)?t:b(h,{});return b("tr",r({},i,{ref:f,style:y,children:u.map(e.children,(function(n){if(n.key==="sort"){return m(n,{children:b("span",r({ref:c,style:{touchAction:"none",cursor:"move",position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",display:"inline-flex"}},l,{children:b(j,{style:{touchAction:"none",cursor:"move",padding:"1px 0px",margin:0,justifyContent:"center",color:"#787878"},icon:w,onClick:k})}))})}return n}))}))};var K=function n(o){var e=D();return e.dragIcon===false?b(C,r({},o,{dragIcon:e.dragIcon})):b(A,r({},o,{dragIcon:e.dragIcon}))};var N=["dragIcon","uidFieldKey","columns","dataSource","onDragChange","disabledDrag"];var R=function d(u){var m;var v=u.dragIcon,y=u.uidFieldKey,I=u.columns,h=u.dataSource,k=u.onDragChange,j=u.disabledDrag,w=n(u,N);var D=p([]),C=D[0],z=D[1];g((function(){z(h||[])}),[h]);var A=function r(n){var o=n.active,e=n.over;if(o.id!==(e==null?void 0:e.id)){var t=C.findIndex((function(r){return r[y]===o.id}));var i=C.findIndex((function(r){return r[y]===(e==null?void 0:e.id)}));var a=l(C,t,i);z([].concat(a));k==null?void 0:k(a,{activeId:o.id,activeIndex:t,overIndex:i})}};var R=x((function(){if(v===false||u.disabledDrag)return I;return[{key:"sort",dataIndex:"sort",align:"center",width:50}].concat(I||[])}),[I,v]);var F=o(e(t,{activationConstraint:{delay:v===false?150:0,tolerance:0}}));return b(S,{value:{dragIcon:v},children:b(i,{sensors:F,modifiers:[a],onDragEnd:A,children:b(s,{items:C.map((function(r){return r[y]})),strategy:c,children:b(f,r({pagination:false,rowKey:y,bordered:true,components:r({},w.components,{body:r({},(m=w.components)==null?void 0:m.body,{row:j?undefined:K})})},w,{dataSource:C,columns:R}))})})})};export{R as DragTable};
6
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/drag-table/context.ts","@flatbiz/antd/src/drag-table/table-tr.tsx","@flatbiz/antd/src/drag-table/table-tr-handle.tsx","@flatbiz/antd/src/drag-table/row.tsx","@flatbiz/antd/src/drag-table/drag-table.tsx"],"sourcesContent":["import { createCtx } from '@wove/react';\nimport { type ReactElement } from 'react';\n\nexport const [getCtx, CtxProvider] = createCtx<{\n dragIcon?: false | ReactElement;\n}>();\n","import { useSortable } from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\n\nexport const TableTr = (props) => {\n const { listeners, setNodeRef, transform, transition, isDragging } = useSortable({\n id: props['data-row-key'],\n });\n\n const style: React.CSSProperties = {\n ...props.style,\n transform: CSS.Transform.toString(transform && { ...transform, scaleY: 1 }),\n transition,\n cursor: 'move',\n ...(isDragging\n ? {\n position: 'relative',\n zIndex: 9999,\n boxShadow: ' 0px 0px 12px 4px rgba(34, 33, 81, 0.1)',\n }\n : {}),\n };\n\n return <tr {...props} ref={setNodeRef} style={style} {...listeners} />;\n};\n","import { DragOutlined } from '@ant-design/icons';\nimport { useSortable } from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\nimport { noop } from '@flatbiz/utils';\nimport { type RowProps } from 'antd';\nimport { Children, cloneElement, isValidElement, type ReactElement } from 'react';\nimport { IconWrapper } from '../icon-wrapper';\ntype TableTrHandleProps = RowProps & {\n dragIcon?: false | ReactElement;\n};\nexport const TableTrHandle = (props: TableTrHandleProps) => {\n const { dragIcon, ...innerProps } = props;\n const rowId = innerProps['data-row-key'];\n const { setActivatorNodeRef, listeners, setNodeRef, transform, transition, isDragging } = useSortable({\n id: rowId,\n });\n\n if (!rowId) {\n return <tr {...innerProps} />;\n }\n const style: React.CSSProperties = {\n ...innerProps.style,\n transform: CSS.Transform.toString(transform && { ...transform, scaleY: 1 }),\n transition,\n cursor: dragIcon === false ? 'move' : undefined,\n ...(isDragging\n ? {\n position: 'relative',\n zIndex: 9999,\n boxShadow: ' 0px 0px 12px 4px rgba(34, 33, 81, 0.1)',\n backgroundColor: 'var(--block-bg-color)',\n }\n : {}),\n };\n const iconElement = isValidElement(dragIcon) ? dragIcon : <DragOutlined />;\n return (\n <tr {...innerProps} ref={setNodeRef} style={style}>\n {Children.map(props.children, (child) => {\n if ((child as React.ReactElement).key === 'sort') {\n return cloneElement(child as React.ReactElement, {\n children: (\n <span ref={setActivatorNodeRef} style={{ touchAction: 'none', cursor: 'move' }} {...listeners}>\n <IconWrapper\n style={{\n touchAction: 'none',\n cursor: 'move',\n padding: '1px 0px',\n margin: 0,\n justifyContent: 'center',\n color: '#787878',\n }}\n icon={iconElement}\n onClick={noop}\n />\n </span>\n ),\n });\n }\n return child;\n })}\n </tr>\n );\n};\n","import { getCtx } from './context';\nimport { TableTr } from './table-tr';\nimport { TableTrHandle } from './table-tr-handle';\n\nexport const Row = (props) => {\n const ctx = getCtx();\n return ctx.dragIcon === false ? (\n <TableTr {...props} dragIcon={ctx.dragIcon} />\n ) : (\n <TableTrHandle {...props} dragIcon={ctx.dragIcon} />\n );\n};\n","import { DndContext, PointerSensor, useSensor, useSensors, type DragEndEvent } from '@dnd-kit/core';\nimport { restrictToVerticalAxis } from '@dnd-kit/modifiers';\nimport { arrayMove, SortableContext, verticalListSortingStrategy } from '@dnd-kit/sortable';\nimport { type TAny, type TPlainObject } from '@flatbiz/utils';\nimport { Table, type TableProps } from 'antd';\nimport { useEffect, useMemo, useState, type ReactElement } from 'react';\nimport { CtxProvider } from './context';\nimport { Row } from './row';\n\ntype DragTableProps = Omit<TableProps<TPlainObject>, 'dataSource'> & {\n /**\n * ```\n * 1. 可自定义拖拽图标\n * 2. dragIcon = false,可设置表格行拖拽\n * ```\n */\n dragIcon?: false | ReactElement;\n /** 表格数据唯一值字段Key,未填或者无法唯一,都不能拖拽能力 */\n uidFieldKey: string;\n dataSource?: TPlainObject[];\n /** 禁用拖拽 */\n disabledDrag?: boolean;\n /**\n * 拖拽结束事件\n * ```\n * dataSource: 拖拽完成后的数据源\n * dragData\n * 1. activeId 拖拽ID\n * 2. activeIndex 拖拽起始表格数组索引值\n * 3. overIndex 拖拽结束表格数组索引值\n * ```\n */\n onDragChange?: (\n dataSource: TPlainObject[],\n dragData: {\n activeId: string | number;\n activeIndex: number;\n overIndex: number;\n },\n ) => void;\n};\n\n/**\n * 可拖拽表格\n * ```\n * 1. 必须设置唯一值字段 uidFieldKey\n * 2. 如果拖拽显示异常,请检查 uidFieldKey 是否正确\n * 3. Table 参数 components.body.row 被组件内部使用\n * ```\n */\nexport const DragTable = (props: DragTableProps) => {\n const { dragIcon, uidFieldKey, columns, dataSource, onDragChange, disabledDrag, ...otherProps } = props;\n const [dataList, setDataList] = useState<TAny[]>([]);\n\n useEffect(() => {\n setDataList(dataSource || []);\n }, [dataSource]);\n\n const onDragEnd = ({ active, over }: DragEndEvent) => {\n if (active.id !== over?.id) {\n const activeIndex = dataList.findIndex((i) => i[uidFieldKey] === active.id);\n const overIndex = dataList.findIndex((i) => i[uidFieldKey] === over?.id);\n const dataListNew = arrayMove(dataList, activeIndex, overIndex);\n setDataList([...dataListNew]);\n onDragChange?.(dataListNew, {\n activeId: active.id,\n activeIndex,\n overIndex,\n });\n }\n };\n\n const columnsList = useMemo(() => {\n if (dragIcon === false) return columns;\n return [\n {\n key: 'sort',\n dataIndex: 'sort',\n align: 'center',\n width: 50,\n } as TAny,\n ].concat(columns || []);\n }, [columns, dragIcon]);\n\n const sensors = useSensors(\n useSensor(PointerSensor, {\n activationConstraint: {\n // 当拖拽触发区域有其他点击事件时,需要延迟触发拖拽动作\n delay: dragIcon === false ? 150 : 0,\n tolerance: 0,\n },\n }),\n );\n\n return (\n <CtxProvider value={{ dragIcon }}>\n <DndContext sensors={sensors} modifiers={[restrictToVerticalAxis]} onDragEnd={onDragEnd}>\n <SortableContext items={dataList.map((i) => i[uidFieldKey])} strategy={verticalListSortingStrategy}>\n <Table\n pagination={false}\n rowKey={uidFieldKey}\n bordered\n components={{\n ...otherProps.components,\n body: {\n ...otherProps.components?.body,\n row: disabledDrag ? undefined : Row,\n },\n }}\n {...otherProps}\n dataSource={dataList}\n columns={columnsList}\n />\n </SortableContext>\n </DndContext>\n </CtxProvider>\n );\n};\n"],"names":["_createCtx","_createCtx2","getCtx","CtxProvider","TableTr","props","_useSortable","useSortable","id","listeners","setNodeRef","transform","transition","isDragging","style","_extends","CSS","Transform","toString","scaleY","cursor","position","zIndex","boxShadow","_jsx","ref","TableTrHandle","dragIcon","innerProps","_objectWithoutPropertiesLoose","_excluded","rowId","setActivatorNodeRef","undefined","backgroundColor","iconElement","isValidElement","_DragOutlined","children","Children","map","child","key","cloneElement","touchAction","IconWrapper","padding","margin","justifyContent","color","icon","onClick","noop","Row","ctx","DragTable","_otherProps$component","uidFieldKey","columns","dataSource","onDragChange","disabledDrag","otherProps","_useState","useState","dataList","setDataList","useEffect","onDragEnd","_ref","active","over","activeIndex","findIndex","i","overIndex","dataListNew","arrayMove","concat","activeId","columnsList","useMemo","dataIndex","align","width","sensors","useSensors","useSensor","PointerSensor","activationConstraint","delay","tolerance","value","DndContext","modifiers","restrictToVerticalAxis","SortableContext","items","strategy","verticalListSortingStrategy","Table","pagination","rowKey","bordered","components","body","row"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/drag-table/context.ts","@flatbiz/antd/src/drag-table/table-tr.tsx","@flatbiz/antd/src/drag-table/table-tr-handle.tsx","@flatbiz/antd/src/drag-table/row.tsx","@flatbiz/antd/src/drag-table/drag-table.tsx"],"sourcesContent":["import { createCtx } from '@wove/react';\nimport { type ReactElement } from 'react';\n\nexport const [getCtx, CtxProvider] = createCtx<{\n dragIcon?: false | ReactElement;\n}>();\n","import { useSortable } from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\n\nexport const TableTr = (props) => {\n const { listeners, setNodeRef, transform, transition, isDragging } = useSortable({\n id: props['data-row-key'],\n });\n\n const style: React.CSSProperties = {\n ...props.style,\n transform: CSS.Transform.toString(transform && { ...transform, scaleY: 1 }),\n transition,\n cursor: 'move',\n ...(isDragging\n ? {\n position: 'relative',\n zIndex: 9999,\n boxShadow: ' 0px 0px 12px 4px rgba(34, 33, 81, 0.1)',\n }\n : {}),\n };\n\n return <tr {...props} ref={setNodeRef} style={style} {...listeners} />;\n};\n","import { DragOutlined } from '@ant-design/icons';\nimport { useSortable } from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\nimport { noop } from '@flatbiz/utils';\nimport { type RowProps } from 'antd';\nimport { Children, cloneElement, isValidElement, type ReactElement } from 'react';\nimport { IconWrapper } from '../icon-wrapper';\ntype TableTrHandleProps = RowProps & {\n dragIcon?: false | ReactElement;\n};\nexport const TableTrHandle = (props: TableTrHandleProps) => {\n const { dragIcon, ...innerProps } = props;\n const rowId = innerProps['data-row-key'];\n const { setActivatorNodeRef, listeners, setNodeRef, transform, transition, isDragging } = useSortable({\n id: rowId,\n });\n\n if (!rowId) {\n return <tr {...innerProps} />;\n }\n const style: React.CSSProperties = {\n ...innerProps.style,\n transform: CSS.Transform.toString(transform && { ...transform, scaleY: 1 }),\n transition,\n cursor: dragIcon === false ? 'move' : undefined,\n ...(isDragging\n ? {\n position: 'relative',\n zIndex: 9999,\n boxShadow: ' 0px 0px 12px 4px rgba(34, 33, 81, 0.1)',\n backgroundColor: 'var(--block-bg-color)',\n }\n : {}),\n };\n const iconElement = isValidElement(dragIcon) ? dragIcon : <DragOutlined />;\n return (\n <tr {...innerProps} ref={setNodeRef} style={style}>\n {Children.map(props.children, (child) => {\n if ((child as React.ReactElement).key === 'sort') {\n return cloneElement(child as React.ReactElement, {\n children: (\n <span\n ref={setActivatorNodeRef}\n style={{\n touchAction: 'none',\n cursor: 'move',\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n display: 'inline-flex',\n }}\n {...listeners}\n >\n <IconWrapper\n style={{\n touchAction: 'none',\n cursor: 'move',\n padding: '1px 0px',\n margin: 0,\n justifyContent: 'center',\n color: '#787878',\n }}\n icon={iconElement}\n onClick={noop}\n />\n </span>\n ),\n });\n }\n return child;\n })}\n </tr>\n );\n};\n","import { getCtx } from './context';\nimport { TableTr } from './table-tr';\nimport { TableTrHandle } from './table-tr-handle';\n\nexport const Row = (props) => {\n const ctx = getCtx();\n return ctx.dragIcon === false ? (\n <TableTr {...props} dragIcon={ctx.dragIcon} />\n ) : (\n <TableTrHandle {...props} dragIcon={ctx.dragIcon} />\n );\n};\n","import { DndContext, PointerSensor, useSensor, useSensors, type DragEndEvent } from '@dnd-kit/core';\nimport { restrictToVerticalAxis } from '@dnd-kit/modifiers';\nimport { arrayMove, SortableContext, verticalListSortingStrategy } from '@dnd-kit/sortable';\nimport { type TAny, type TPlainObject } from '@flatbiz/utils';\nimport { Table, type TableProps } from 'antd';\nimport { useEffect, useMemo, useState, type ReactElement } from 'react';\nimport { CtxProvider } from './context';\nimport { Row } from './row';\n\ntype DragTableProps = Omit<TableProps<TPlainObject>, 'dataSource'> & {\n /**\n * ```\n * 1. 可自定义拖拽图标\n * 2. dragIcon = false,可设置表格行拖拽\n * ```\n */\n dragIcon?: false | ReactElement;\n /** 表格数据唯一值字段Key,未填或者无法唯一,都不能拖拽能力 */\n uidFieldKey: string;\n dataSource?: TPlainObject[];\n /** 禁用拖拽 */\n disabledDrag?: boolean;\n /**\n * 拖拽结束事件\n * ```\n * dataSource: 拖拽完成后的数据源\n * dragData\n * 1. activeId 拖拽ID\n * 2. activeIndex 拖拽起始表格数组索引值\n * 3. overIndex 拖拽结束表格数组索引值\n * ```\n */\n onDragChange?: (\n dataSource: TPlainObject[],\n dragData: {\n activeId: string | number;\n activeIndex: number;\n overIndex: number;\n },\n ) => void;\n};\n\n/**\n * 可拖拽表格\n * ```\n * 1. 必须设置唯一值字段 uidFieldKey\n * 2. 如果拖拽显示异常,请检查 uidFieldKey 是否正确\n * 3. Table 参数 components.body.row 被组件内部使用\n * ```\n */\nexport const DragTable = (props: DragTableProps) => {\n const { dragIcon, uidFieldKey, columns, dataSource, onDragChange, disabledDrag, ...otherProps } = props;\n const [dataList, setDataList] = useState<TAny[]>([]);\n\n useEffect(() => {\n setDataList(dataSource || []);\n }, [dataSource]);\n\n const onDragEnd = ({ active, over }: DragEndEvent) => {\n if (active.id !== over?.id) {\n const activeIndex = dataList.findIndex((i) => i[uidFieldKey] === active.id);\n const overIndex = dataList.findIndex((i) => i[uidFieldKey] === over?.id);\n const dataListNew = arrayMove(dataList, activeIndex, overIndex);\n setDataList([...dataListNew]);\n onDragChange?.(dataListNew, {\n activeId: active.id,\n activeIndex,\n overIndex,\n });\n }\n };\n\n const columnsList = useMemo(() => {\n if (dragIcon === false || props.disabledDrag) return columns;\n return [\n {\n key: 'sort',\n dataIndex: 'sort',\n align: 'center',\n width: 50,\n } as TAny,\n ].concat(columns || []);\n }, [columns, dragIcon]);\n\n const sensors = useSensors(\n useSensor(PointerSensor, {\n activationConstraint: {\n // 当拖拽触发区域有其他点击事件时,需要延迟触发拖拽动作\n delay: dragIcon === false ? 150 : 0,\n tolerance: 0,\n },\n }),\n );\n\n return (\n <CtxProvider value={{ dragIcon }}>\n <DndContext sensors={sensors} modifiers={[restrictToVerticalAxis]} onDragEnd={onDragEnd}>\n <SortableContext items={dataList.map((i) => i[uidFieldKey])} strategy={verticalListSortingStrategy}>\n <Table\n pagination={false}\n rowKey={uidFieldKey}\n bordered\n components={{\n ...otherProps.components,\n body: {\n ...otherProps.components?.body,\n row: disabledDrag ? undefined : Row,\n },\n }}\n {...otherProps}\n dataSource={dataList}\n columns={columnsList}\n />\n </SortableContext>\n </DndContext>\n </CtxProvider>\n );\n};\n"],"names":["_createCtx","_createCtx2","getCtx","CtxProvider","TableTr","props","_useSortable","useSortable","id","listeners","setNodeRef","transform","transition","isDragging","style","_extends","CSS","Transform","toString","scaleY","cursor","position","zIndex","boxShadow","_jsx","ref","TableTrHandle","dragIcon","innerProps","_objectWithoutPropertiesLoose","_excluded","rowId","setActivatorNodeRef","undefined","backgroundColor","iconElement","isValidElement","_DragOutlined","children","Children","map","child","key","cloneElement","touchAction","top","left","display","IconWrapper","padding","margin","justifyContent","color","icon","onClick","noop","Row","ctx","DragTable","_otherProps$component","uidFieldKey","columns","dataSource","onDragChange","disabledDrag","otherProps","_useState","useState","dataList","setDataList","useEffect","onDragEnd","_ref","active","over","activeIndex","findIndex","i","overIndex","dataListNew","arrayMove","concat","activeId","columnsList","useMemo","dataIndex","align","width","sensors","useSensors","useSensor","PointerSensor","activationConstraint","delay","tolerance","value","DndContext","modifiers","restrictToVerticalAxis","SortableContext","items","strategy","verticalListSortingStrategy","Table","pagination","rowKey","bordered","components","body","row"],"mappings":"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"}
@@ -1 +1 @@
1
- .easy-table-table{border-radius:6px}.fba-easy-table-filter-fixed,.fba-easy-table-full,.fba-easy-table-pagination-fixed{display:flex;flex-direction:column;height:100%}.fba-easy-table-filter-fixed .easy-table-table,.fba-easy-table-full .easy-table-table,.fba-easy-table-pagination-fixed .easy-table-table{flex:1}.fba-easy-table-filter-fixed{overflow:hidden}.fba-easy-table-filter-fixed .easy-table-table{overflow-y:auto}.fba-easy-table-wrapper{display:flex;flex-direction:column;height:100%;overflow-x:hidden}.fba-easy-table-wrapper .fba-easy-table{flex:1;height:unset;overflow-y:auto}.fba-easy-table-pagination{background-color:var(--block-bg-color);box-shadow:0 0 17px rgba(0,0,0,.06);padding:15px 15px 20px;position:relative;text-align:right;z-index:2}.fba-easy-table-wrapper-inline .easy-table-table{margin:0;padding:0}.fba-easy-table-wrapper-inline .easy-table-filter{margin:0;padding:0 0 15px}.easy-table-table{padding:10px 15px}.easy-table-filter{border-radius:6px;margin-bottom:10px;padding:10px 15px}.ett-empty-show-small .ant-table-placeholder .ant-empty{align-items:center;display:flex;justify-content:center;margin:0}.ett-empty-show-small .ant-table-placeholder .ant-empty-image{height:25px;margin:0;width:50px}
1
+ .easy-table-table{border-radius:6px}.fba-easy-table-filter-fixed,.fba-easy-table-full,.fba-easy-table-pagination-fixed{display:flex;flex-direction:column;height:100%}.fba-easy-table-filter-fixed .easy-table-table,.fba-easy-table-full .easy-table-table,.fba-easy-table-pagination-fixed .easy-table-table{flex:1}.fba-easy-table-filter-fixed{overflow:hidden}.fba-easy-table-filter-fixed .easy-table-table{overflow-y:auto}.fba-easy-table-wrapper{display:flex;flex-direction:column;height:100%;overflow-x:hidden}.fba-easy-table-wrapper .fba-easy-table{flex:1;height:unset;overflow-y:auto}.fba-easy-table-pagination{background-color:var(--block-bg-color);box-shadow:0 0 17px rgba(0,0,0,.06);padding:15px 15px 20px;position:relative;text-align:right;z-index:2}.fba-easy-table-wrapper-inline .easy-table-table{margin:0;padding:0}.fba-easy-table-wrapper-inline .easy-table-filter{margin:0;padding:0 0 15px}.easy-table-table{padding:10px 15px}.easy-table-filter{border-radius:6px;margin-bottom:10px;padding:10px 15px}.ett-empty-show-small .ant-table-placeholder .ant-empty{align-items:center;display:flex;justify-content:center;margin:0}.ett-empty-show-small .ant-table-placeholder .ant-empty-image{height:25px;margin:0;width:50px}.fold-operate-popiver.ant-popover .ant-popover-title{min-width:100px}
@@ -1,22 +1,23 @@
1
1
  /* eslint-disable */
2
2
  import './../fba-utils/index.css';
3
+ import './../fba-hooks/index.css';
4
+ import './../flex-layout/index.css';
5
+ import './../icon-wrapper/index.css';
3
6
  import './../pagination-wrapper/index.css';
7
+ import './../svg-http-view/index.css';
8
+ import './../table-title-tooltip/index.css';
4
9
  import './../tips-wrapper/index.css';
5
10
  import './../block-layout/index.css';
6
11
  import './../button-wrapper/index.css';
7
12
  import './../config-provider-wrapper/index.css';
8
- import './../fba-hooks/index.css';
9
13
  import './../types/index.css';
10
14
  import './../easy-form/index.css';
11
15
  import './../box-grid/index.css';
12
16
  import './../form-wrapper/index.css';
13
17
  import './../pre-defined-class-name/index.css';
14
18
  import './../form-grid/index.css';
15
- import './../flex-layout/index.css';
16
- import './../icon-wrapper/index.css';
17
19
  import './../table-scrollbar/index.css';
18
- import './../table-title-tooltip/index.css';
19
20
  import './index.css';
20
21
  /*! @flatjs/forge MIT @flatbiz/antd */
21
- import{fbaUtils as e}from"../fba-utils/index.js";import{classNames as n}from"@dimjs/utils/cjs/class-names";import{isUndefined as t}from"@dimjs/lang/cjs/is-undefined";import{isArray as i}from"@dimjs/lang/cjs/is-array";import{get as r}from"@dimjs/utils/cjs/get";import{_ as o,a}from"../_rollupPluginBabelHelpers-a0769acd.js";import{hooks as l}from"@wove/react/cjs/hooks";import{cloneState as s}from"@dimjs/model";import{Form as u,message as d,Drawer as c,Table as f}from"antd";import{createContext as p,forwardRef as m,useState as v,useMemo as g,useRef as y,useImperativeHandle as h,useContext as C,Children as S,Fragment as b}from"react";import{P as F,S as x}from"../index-6677fbfc.js";import{noop as j,localStorageCache as z,isUndefinedOrNull as w,getUuid as q,isMacEnv as R}from"@flatbiz/utils";import{Model as N}from"@dimjs/model-react";import{jsx as P,jsxs as k}from"react/jsx-runtime";import K from"@ant-design/icons/es/icons/DownOutlined";import T from"@ant-design/icons/es/icons/UpOutlined";import{isFragment as I}from"react-is";import{BlockLayout as _}from"../block-layout/index.js";import{ButtonWrapper as O}from"../button-wrapper/index.js";import{EasyForm as D}from"../easy-form/index.js";import{u as A}from"../use-responsive-point-21b8c601.js";import{FormGrid as E}from"../form-grid/index.js";import L from"@ant-design/icons/es/icons/SettingOutlined";import{isString as V}from"@dimjs/lang/cjs/is-string";import{fbaHooks as B}from"../fba-hooks/index.js";import{FlexLayout as W}from"../flex-layout/index.js";import{IconWrapper as M}from"../icon-wrapper/index.js";import{TableScrollbar as H}from"../table-scrollbar/index.js";import{TableTitleTooltip as U}from"../table-title-tooltip/index.js";import{TipsWrapper as Y}from"../tips-wrapper/index.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-promise";import"../index-7f4ad045.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"@dimjs/utils/cjs/extend";import"../box-grid/index.js";import"@dimjs/lang/cjs/is-number";import"ahooks";import"../form-wrapper/index.js";import"../pre-defined-class-name/index.js";import"@ant-design/icons/es/icons/QuestionCircleOutlined";var G=p({onRequest:j,tableList:[],getEasyTableRef:function e(){}});var Q={queryCondition:{},isInit:true};var $={actions:{updateFilterCondition:function e(n){return function(e){e.queryCondition=o({},e.queryCondition,n)}},resetFilterCondition:function e(n){return function(e){e.queryCondition=o({},Q.queryCondition,n)}},updateInitStatus:function e(){return function(e){e.isInit=false}}},state:Q};var J={};var X=function e(n){if(!J[n]){J[n]=N($)}return J[n]};var Z=m((function(e,a){var c;var f=v(),p=f[0],m=f[1];var C=v(0),S=C[0],b=C[1];var x=v(false),j=x[0],z=x[1];var w=l.useId(undefined,"easy-table-key");var q=v(false),R=q[0],N=q[1];var K=g((function(){if(e.cacheSwitch===true){return location.pathname}if(typeof e.cacheSwitch==="string"){return e.cacheSwitch}return w}),[w,e.cacheSwitch]);var T=X(K).useStore(),I=T[0],_=T[1];var O=e.pageSize||((c=e.initialPaginationParams)==null?void 0:c.pageSize)||10;var D=e.initRequest===undefined?true:e.initRequest;var A=v(false),E=A[0],L=A[1];var V=y();var B=y([]);var W=v(),M=W[0],H=W[1];var U=o({list:"list",total:"total",pageNo:"pageNo",pageSize:"pageSize"},e.fieldNames);var Y=u.useForm(e.form),Q=Y[0];var $=l.useCallbackRef((function(n){return new Promise((function(t,o){var a,l,u,c,f,p,v,g,y,h,C,S;var F=function(){try{return t()}catch(e){return o(e)}};var x=function(n){try{z(false);if(e.onRequestErrorHandle){e.onRequestErrorHandle(n)}else{void d.error(n.message)}return F()}catch(e){return o(e)}};try{z(true);return Promise.resolve(_.updateFilterCondition(n)).then((function(n){try{a=n;l=s(a.queryCondition||{});u=e.serviceConfig,c=u.requestParamsAdapter,f=u.onRequest,p=u.requestResultAdapter,v=u.dynamicColumsAdapter;g=c?c(l):l;return Promise.resolve(f(g)).then((function(n){try{y=n||{};V.current=y;e.onDataSourceChange==null?void 0:e.onDataSourceChange(y);h=y;if(p){h=p(y)}if(v){C=v(y,B.current);H(C)}S=r(h,U.list);m(i(S)?S:[]);b(r(h,U.total));z(false);return F()}catch(e){return x(e)}}),x)}catch(e){return x(e)}}),x)}catch(e){x(e)}}))}));var J=l.useCallbackRef((function(e){return new Promise((function(n,t){return Promise.resolve(_.resetFilterCondition()).then((function(i){try{Q.resetFields();if(e){void _.updateFilterCondition(e);Q.setFieldsValue(e)}return n()}catch(e){return t(e)}}),t)}))}));var Z=function e(n,t){if(E){var i;return i={},i[U.pageNo]=n,i[U.pageSize]=t||O,i}else{return{}}};var ee=l.useCallbackRef((function(n){return new Promise((function(t,i){var r;r=o({},Z(1,I.queryCondition[U.pageSize]),e.initialValues,n);return Promise.resolve(_.resetFilterCondition(r)).then((function(e){try{Q.resetFields();if(n){Q.setFieldsValue(n)}void $(r);return t()}catch(e){return i(e)}}),i)}))}));var ne=l.useCallbackRef((function(){return o({},I.queryCondition,Q.getFieldsValue())}));var te=l.useCallbackRef((function(){N(true)}));var ie=l.useCallbackRef((function(){N(false)}));var re=function n(){return{onRequest:$,clearQueryCondition:J,getRequestParams:ne,onResetRequest:ee,form:Q,getDataSource:function e(){return V.current},onFilterDataSource:function e(n){m(n)},onClearDataSource:function e(){b(0);m([])},onUpdateDataSource:function n(t){m(t);V.current=t;e.onDataSourceChange==null?void 0:e.onDataSourceChange(t)},onOpenColumnFoldModal:te}};h(a,(function(){return re()}));var oe=function e(n){L(n)};var ae=function e(n){B.current=n};var le=function n(){var t=Q.getFieldsValue();if(e.onFormFinish){e.onFormFinish(o({},t,Z(1,I.queryCondition[U.pageSize])))}else{void $(o({},t,Z(1,I.queryCondition[U.pageSize])))}};var se=t(e.isFull)?true:e.isFull;var ue=n("fba-easy-table",{"fba-easy-table-full":se,"fba-easy-table-filter-fixed":e.filterFixed,"fba-easy-table-pagination-fixed":e.paginationFixed},e.className);var de=g((function(){return o({showSizeChanger:true,current:I.queryCondition[U.pageNo]||1,pageSize:I.queryCondition[U.pageSize]||O,total:S,showTotal:function e(n){return"共 "+n+" 条记录"}},e.pagination)}),[U.pageNo,U.pageSize,O,e.pagination,I.queryCondition,S]);var ce=l.useCallbackRef((function(n,t){var i,r;void $((i={},i[U.pageSize]=t,i[U.pageNo]=n,i));(r=e.pagination)==null||r.onChange==null?void 0:r.onChange(n,t)}));var fe=n("fba-easy-table-wrapper",{"fba-easy-table-wrapper-inline":e.isInline},e.className);var pe=o({overflowY:e.filterFixed||e.paginationFixed?"hidden":"auto"},e.style);var me=typeof e.children==="function"?e.children(V.current):e.children;return P(G.Provider,{value:{onSetBaseColumns:ae,getEasyTableRef:re,modelKey:K,onRequest:$,tableDataSource:p,tableTotal:S,loading:j,fieldNames:U,pageSize:O,initRequest:D,initialValues:e.initialValues||{},onSetPaginationStatus:oe,paginationStatus:E,onFormFinish:le,form:Q,paginationFixed:e.paginationFixed||false,foldKeys:e.foldKeys||[],dynamicColumns:M,columnFoldConfig:e.columnFoldConfig,onCloseColumnFoldModal:ie,onOpenColumnFoldModal:te,columnFoldOpen:R},children:e.paginationFixed?k("div",{className:fe,style:pe,children:[P("div",{className:ue,children:me}),S>0&&P("div",{className:"fba-easy-table-pagination",children:P(F,o({size:"small"},de,{onChange:ce}))})]}):P("div",{className:fe,style:e.style,children:me})})}));var ee=function e(i){var r=A()||"md";var a=C(G);var s=i.queryButtonProps,u=i.resetButtonProps,d=i.filterOperate,c=i.formClassName,f=c===void 0?"":c,p=i.defaultResetButtonTriggerRequest,m=i.filterWrapperStyle,y=i.filterWrapperClassName,h=i.rightOperateAreaAppendType,b=i.easyFormProps;var F=a.modelKey,x=a.foldKeys,j=a.fieldNames,z=a.onRequest,w=a.pageSize,q=a.paginationStatus,R=a.initialValues,N=a.form,L=a.onFormFinish;var V=typeof i.children==="function"?i.children(N):i.children;var B=h||"cover";var W=g((function(){if(I(V)){return S.toArray(V.props.children)}else{return S.toArray(V)}}),[V]);var M=v(false),H=M[0],U=M[1];var Y=X(F).useStore(),Q=Y[0],$=Y[1];var J=l.useCallbackRef((function(){return new Promise((function(e,n){var i;return Promise.resolve($.resetFilterCondition()).then((function(r){try{N.resetFields();if(t(p)||p){if(q){z(o((i={},i[j.pageNo]=1,i[j.pageSize]=w,i),R))}else{z(R)}}return e()}catch(e){return n(e)}}),n)}))}));var Z=g((function(){var e=[!(s!=null&&s.hidden)?P(O,o({type:"primary",htmlType:"submit"},s,{children:(s==null?void 0:s.text)||"查询"}),"1"):null,!(u!=null&&u.hidden)?P(O,o({onClick:J},u,{children:(u==null?void 0:u.text)||"重置"}),"2"):null].filter(Boolean);var n=d==null?void 0:d(N);var t=n==null?void 0:n.rightList;var i=(n==null?void 0:n.leftList)||[];var r=e;if(t){if(B==="afterAppend"){r=[].concat(e,t)}else if(B==="beforeAppend"){r=[].concat(t,e)}else{r=t}}if(x.length>0){var a=P(O,{type:"link",style:{padding:"0"},onClick:function e(){U(!H)},children:H?k("span",{children:["收起",P(T,{style:{marginLeft:3,fontSize:12}})]}):k("span",{children:["展开",P(K,{style:{marginLeft:3,fontSize:12}})]})},"fold-trigger");if(r.length>0||i.length===0){r.push(a)}else if((i==null?void 0:i.length)>0){i.push(a)}}return W.map((function(e,n){if(!H&&x.find((function(n){return".$"+n===e.key})))return null;if(e.props["hidden"])return null;if(e.type["domTypeName"]==="FormCol")return e;return P(E.Col,{children:e},n)})).filter(Boolean).concat(P(E.OperateCol,o({},n,{leftList:i,rightList:r}),999))}),[W,d,x,N,J,H,s,u,B]);var ee=r==="xs"?"left":(b==null?void 0:b.labelAlign)||"right";return P(_,{className:n("easy-table-filter",y),style:m,children:P(D,o({form:N,autoComplete:"off",onFinish:L,initialValues:o({},R,Q.queryCondition),className:f,style:i.formStyle,isPure:true,labelWidth:"80",formItemGap:"15"},b,{labelAlign:ee,children:i.isPure?V:P(E.Row,{gutter:[15,0],gridSize:i.formGridSize,children:Z})}))})};var ne=function e(){var n=C(G);return n.getEasyTableRef()};var te=function e(){var n=C(G);return{current:n.getEasyTableRef()}};var ie=function e(n){var t=v(n.initSelectedRowKeys||[]),i=t[0],r=t[1];var o={type:"checkbox",selectedRowKeys:i,onChange:function e(t){r(t);n.onChange(t);if(n.cacheKey){z.set("easy_tab_"+n.cacheKey,{keys:t})}}};var a=[{title:"字段名称",dataIndex:"title",render:function e(n,t){return t["_isFoldTitle"]||n}},{title:"字段Key",dataIndex:"dataIndex"}];return P(b,{children:P(c,{title:"选择字段",open:n.open,onClose:n.onClose,width:"35%",styles:{body:{padding:15}},children:P(f,{bordered:true,size:"small",columns:a,rowSelection:o,rowKey:"dataIndex",pagination:false,scroll:{x:"max-content"},dataSource:n.dataList})})})};var re=["children","rowKey","pagination","isSync"],oe=["tooltip","tipsWrapperProps","title","hidden","isFold"];var ae=function e(t){var r=C(G);var l=t.children,s=t.rowKey,u=t.pagination,d=t.isSync,c=a(t,re);var p=r.columnFoldConfig;var m=v((function(){if(p!=null&&p.cacheKey){var e;var n=z.get("easy_tab_"+p.cacheKey);var t=i(n==null?void 0:n.keys)?n==null||(e=n.keys)==null?void 0:e.filter((function(e){return V(e)})):[];return t.length>0?t:(p==null?void 0:p.initSelectedKeys)||[]}else{return(p==null?void 0:p.initSelectedKeys)||[]}})),y=m[0],h=m[1];var S=r.modelKey,F=r.fieldNames,j=r.onRequest,N=r.tableDataSource,K=r.initRequest,T=r.pageSize,I=r.tableTotal,O=r.loading,D=r.initialValues,A=r.paginationFixed,E=r.onSetPaginationStatus,Q=r.dynamicColumns;var $=X(S).useStore(),J=$[0],Z=$[1];B.useEffectCustom((function(){r.onSetBaseColumns(t.columns||[])}),[t.columns]);var ee=g((function(){if(A||u===false)return false;return o({showSizeChanger:true,current:J.queryCondition[F.pageNo]||1,pageSize:J.queryCondition[F.pageSize]||T,total:I,showTotal:function e(n){return"共 "+n+" 条记录"}},t.pagination,{selectComponentClass:x})}),[F.pageNo,F.pageSize,T,u,A,t.pagination,J.queryCondition,I]);var ne=function e(n,i,r,o){if(o.action==="paginate"&&ee){var a;j((a={},a[F.pageSize]=n.pageSize,a[F.pageNo]=n.current,a))}else{t.onChange==null?void 0:t.onChange(n,i,r,o)}};var te=g((function(){if(!N)return undefined;if(N.length===0){return[]}if(typeof s==="string"&&w(N[0][s])){return N.map((function(e){e[s]=q();return e}))}return N}),[N,s]);B.useEffectCustom((function(){var e=A||ee!==false;E(e);if(K!==false||!J.isInit){if(e){var n;void j(o((n={},n[F.pageNo]=1,n[F.pageSize]=T,n),D,J.queryCondition))}else{void j(D)}}else{void Z.updateFilterCondition(D)}void Z.updateInitStatus()}),[]);var ae=Q?Q:t.columns;var le=g((function(){var e=ae.map((function(e){var n=e.tooltip,t=e.tipsWrapperProps,i=e.title,r=e.hidden,l=e.isFold,s=a(e,oe);if(r)return null;if(l&&!y.includes(e.dataIndex))return null;if(typeof i==="string"&&t){if(typeof t==="string"){return o({},s,{title:P(Y,{tipType:"popover",popoverProps:{content:t},children:i})})}return o({},s,{title:P(Y,o({},t,{children:i}))})}if(typeof i==="string"&&!!n){return o({},s,{title:P(U,{tooltip:n,title:i})})}return e})).filter(Boolean);return[].concat(e)}),[ae,y]);var se=ae.filter((function(e){return!e.hidden&&e.isFold&&e.dataIndex}));var ue=function e(n){h(n);p==null||p.onChange==null?void 0:p.onChange(n)};le=g((function(){if(p!=null&&p.hidden)return le;var e=le[le.length-1];if(se.length>0&&le.length>0){var n=le.find((function(e){return e["_isFoldColumn"]}));if(n&&e.dataIndex!==n.dataIndex){n.title=n["_isFoldTitle"];n["_isFoldColumn"]=false}if(!e["_isFoldColumn"]){e["_isFoldTitle"]=e["_isFoldTitle"]||e.title;e["_isFoldColumn"]=true;e.title=k(W,{direction:"horizontal",fullIndex:0,children:[P("span",{children:e.title}),P("div",{style:{padding:"0 5px 0 20px",display:"flex"},children:P(M,{onClick:r.onOpenColumnFoldModal,text:p==null?void 0:p.text,size:"small",icon:(p==null?void 0:p.icon)||P(L,{}),hoverTips:(p==null?void 0:p.hoverTipText)||"字段列表"})})]})}}return le}),[le,se,p]);var de=function e(){if(d&&!te){return k(b,{children:[l,P(f,{size:"small",scroll:{x:"max-content"},bordered:true,columns:le,rowKey:s,loading:true},"1")]})}if(R()){return k(b,{children:[l,P(f,o({size:"small",scroll:{x:"max-content"},bordered:true},c,{columns:le,pagination:ee,rowKey:s,onChange:ne,loading:O,dataSource:te}),"2")]})}return k(b,{children:[l,P(H,{children:P(f,o({size:"small",scroll:{x:"max-content"},bordered:true},c,{columns:le,pagination:ee,rowKey:s,onChange:ne,loading:O,dataSource:te}),"3")})]})};return k(_,{className:n("easy-table-table",{"ett-empty-show-small":t.emptyShowSize==="small"},t.tableWrapperClassName),style:t.tableWrapperStyle,children:[de(),P(ie,{dataList:se,onClose:r.onCloseColumnFoldModal,open:r.columnFoldOpen,onChange:ue,cacheKey:p==null?void 0:p.cacheKey,initSelectedRowKeys:y})]})};var le=e.attachPropertiesToComponent(Z,{Filter:ee,Table:ae,useEasyTablRef:te,useEasyTable:ne});export{le as EasyTable};
22
+ import{fbaUtils as e}from"../fba-utils/index.js";import{_ as n,a as i}from"../_rollupPluginBabelHelpers-a0769acd.js";import{classNames as t}from"@dimjs/utils/cjs/class-names";import{isUndefined as r}from"@dimjs/lang/cjs/is-undefined";import{get as a}from"@dimjs/utils/cjs/get";import{isString as o}from"@dimjs/lang/cjs/is-string";import{isArray as l}from"@dimjs/lang/cjs/is-array";import{hooks as s}from"@wove/react/cjs/hooks";import{cloneState as u}from"@dimjs/model";import{noop as d,localStorageCache as c,isUndefinedOrNull as f,getUuid as p,isMacEnv as m}from"@flatbiz/utils";import{Drawer as g,Table as v,Checkbox as h,Popover as y,Form as C,message as S}from"antd";import{createContext as x,useState as b,Fragment as F,forwardRef as j,useMemo as z,useRef as w,useImperativeHandle as R,cloneElement as q,useContext as N,Children as K}from"react";import{fbaHooks as P}from"../fba-hooks/index.js";import{FlexLayout as k}from"../flex-layout/index.js";import{IconWrapper as T}from"../icon-wrapper/index.js";import{P as I,S as _}from"../index-6677fbfc.js";import{SvgHttpView as L}from"../svg-http-view/index.js";import{TableTitleTooltip as D}from"../table-title-tooltip/index.js";import{TipsWrapper as E}from"../tips-wrapper/index.js";import{jsx as V,jsxs as A}from"react/jsx-runtime";import{Model as B}from"@dimjs/model-react";import O from"@ant-design/icons/es/icons/DownOutlined";import W from"@ant-design/icons/es/icons/UpOutlined";import{isFragment as U}from"react-is";import{BlockLayout as G}from"../block-layout/index.js";import{ButtonWrapper as H}from"../button-wrapper/index.js";import{EasyForm as Y}from"../easy-form/index.js";import{u as Q}from"../use-responsive-point-21b8c601.js";import{FormGrid as $}from"../form-grid/index.js";import{TableScrollbar as J}from"../table-scrollbar/index.js";import"@ant-design/icons/es/icons/QuestionCircleOutlined";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-promise";import"../index-7f4ad045.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"@dimjs/utils/cjs/extend";import"../box-grid/index.js";import"@dimjs/lang/cjs/is-number";import"ahooks";import"../form-wrapper/index.js";import"../pre-defined-class-name/index.js";var M=x({onRequest:d,tableList:[],getEasyTableRef:function e(){}});var X=function e(n){var i=b(n.initSelectedRowKeys||[]),t=i[0],r=i[1];var a={type:"checkbox",selectedRowKeys:t,onChange:function e(i){r(i);n.onChange(i);if(n.cacheKey){c.set("easy_tab_"+n.cacheKey,{keys:i})}}};var o=[{title:"字段名称",dataIndex:"title",render:function e(n,i){return i["_isFoldTitle"]||n}},{title:"字段Key",dataIndex:"dataIndex"}];return V(F,{children:V(g,{title:"选择字段",open:n.open,onClose:n.onClose,width:"35%",styles:{body:{padding:15}},children:V(v,{bordered:true,size:"small",columns:o,rowSelection:a,rowKey:"dataIndex",pagination:false,scroll:{x:"max-content"},dataSource:n.dataList})})})};var Z=function e(n){var i=b(n.initSelectedRowKeys||[]),t=i[0],r=i[1];var a=function e(i){r(i);n.onChange(i);if(n.cacheKey){c.set("easy_tab_"+n.cacheKey,{keys:i})}};var o=V(F,{children:V(h.Group,{defaultValue:t,onChange:a,value:t,style:{display:"flex",flexDirection:"column"},children:n.dataList.map((function(e){var n=e["_isFoldTitle"]||e.title;return V(h,{value:e.dataIndex,style:{padding:"0 0 5px 0"},children:n},e.dataIndex)}))})});var l=function e(i){if(i.target.checked){a(n.dataList.map((function(e){return e.dataIndex})))}else{a([])}};return V(y,{content:o,title:V(h,{checked:t.length===n.dataList.length,onChange:l,children:"全选(字段列表)"}),placement:"bottomRight",overlayClassName:"fold-operate-popiver",children:n.children})};var ee={queryCondition:{},isInit:true};var ne={actions:{updateFilterCondition:function e(i){return function(e){e.queryCondition=n({},e.queryCondition,i)}},resetFilterCondition:function e(i){return function(e){e.queryCondition=n({},ee.queryCondition,i)}},updateInitStatus:function e(){return function(e){e.isInit=false}}},state:ee};var ie={};var te=function e(n){if(!ie[n]){ie[n]=B(ne)}return ie[n]};var re=["tooltip","tipsWrapperProps","title","hidden","isFold"];var ae=j((function(e,d){var f;var p=b(),m=p[0],g=p[1];var v=b(0),h=v[0],y=v[1];var x=b(false),F=x[0],j=x[1];var N=s.useId(undefined,"easy-table-key");var K=e.columnFoldConfig;var _=b(false),B=_[0],O=_[1];var W=b((function(){if(K!=null&&K.cacheKey){var e;var n=c.get("easy_tab_"+K.cacheKey);var i=l(n==null?void 0:n.keys)?n==null||(e=n.keys)==null?void 0:e.filter((function(e){return o(e)})):[];return i.length>0?i:(K==null?void 0:K.initSelectedKeys)||[]}else{return(K==null?void 0:K.initSelectedKeys)||[]}})),U=W[0],G=W[1];var H=z((function(){if(e.cacheSwitch===true){return location.pathname}if(typeof e.cacheSwitch==="string"){return e.cacheSwitch}return N}),[N,e.cacheSwitch]);var Y=te(H).useStore(),Q=Y[0],$=Y[1];var J=e.pageSize||((f=e.initialPaginationParams)==null?void 0:f.pageSize)||10;var ee=e.initRequest===undefined?true:e.initRequest;var ne=w(false);var ie=w();var ae=w([]);var oe=b(),le=oe[0],se=oe[1];var ue=n({list:"list",total:"total",pageNo:"pageNo",pageSize:"pageSize"},e.fieldNames);var de=C.useForm(e.form),ce=de[0];var fe=s.useCallbackRef((function(n){return new Promise((function(i,t){var r,o,s,d,c,f,p,m,v,h,C,x;var b=function(){try{return i()}catch(e){return t(e)}};var F=function(n){try{j(false);if(e.onRequestErrorHandle){e.onRequestErrorHandle(n)}else{void S.error(n.message)}return b()}catch(e){return t(e)}};try{j(true);return Promise.resolve($.updateFilterCondition(n)).then((function(n){try{r=n;o=u(r.queryCondition||{});s=e.serviceConfig,d=s.requestParamsAdapter,c=s.onRequest,f=s.requestResultAdapter,p=s.dynamicColumsAdapter;m=d?d(o):o;return Promise.resolve(c(m)).then((function(n){try{v=n||{};ie.current=v;e.onDataSourceChange==null?void 0:e.onDataSourceChange(v);h=v;if(f){h=f(v)}if(p){C=p(v,ae.current);se(C)}x=a(h,ue.list);g(l(x)?x:[]);y(a(h,ue.total));j(false);return b()}catch(e){return F(e)}}),F)}catch(e){return F(e)}}),F)}catch(e){F(e)}}))}));P.useEffectCustom((function(){var i=Pe();if(ee!==false||!Q.isInit){if(i){var t;void fe(n((t={},t[ue.pageNo]=1,t[ue.pageSize]=J,t),e.initialValues,Q.queryCondition))}else{void fe(e.initialValues)}}else{void $.updateFilterCondition(e.initialValues)}void $.updateInitStatus()}),[]);var pe=s.useCallbackRef((function(e){return new Promise((function(n,i){return Promise.resolve($.resetFilterCondition()).then((function(t){try{ce.resetFields();if(e){void $.updateFilterCondition(e);ce.setFieldsValue(e)}return n()}catch(e){return i(e)}}),i)}))}));var me=function e(n,i){if(Pe()){var t;return t={},t[ue.pageNo]=n,t[ue.pageSize]=i||J,t}else{var r;return r={},r[ue.pageNo]=undefined,r[ue.pageSize]=undefined,r}};var ge=s.useCallbackRef((function(i){return new Promise((function(t,r){var a;a=n({},me(1,Q.queryCondition[ue.pageSize]),e.initialValues,i);return Promise.resolve($.resetFilterCondition(a)).then((function(e){try{ce.resetFields();if(i){ce.setFieldsValue(i)}void fe(a);return t()}catch(e){return r(e)}}),r)}))}));var ve=s.useCallbackRef((function(){return n({},Q.queryCondition,ce.getFieldsValue())}));var he=s.useCallbackRef((function(){O(true)}));var ye=s.useCallbackRef((function(){O(false)}));var Ce=function n(){return{onRequest:fe,clearQueryCondition:pe,getRequestParams:ve,onResetRequest:ge,form:ce,getDataSource:function e(){return ie.current},onFilterDataSource:function e(n){g(n)},onClearDataSource:function e(){y(0);g([])},onUpdateDataSource:function n(i){g(i);ie.current=i;e.onDataSourceChange==null?void 0:e.onDataSourceChange(i)},columnFoldTriggerRender:function n(i){var t;if(((t=e.columnFoldConfig)==null?void 0:t.triggerType)==="drawer"){return q(i,{onClick:he})}return V(Z,{dataList:qe,onChange:Ne,cacheKey:K==null?void 0:K.cacheKey,initSelectedRowKeys:U,children:i})},loading:F}};R(d,(function(){return Ce()}));var Se=function e(n){ne.current=n};var xe=function e(n){ae.current=n};var be=function i(){var t=ce.getFieldsValue();if(e.onFormFinish){e.onFormFinish(n({},t,me(1,Q.queryCondition[ue.pageSize])))}else{void fe(n({},t,me(1,Q.queryCondition[ue.pageSize])))}};var Fe=r(e.isFull)?true:e.isFull;var je=t("fba-easy-table",{"fba-easy-table-full":Fe,"fba-easy-table-filter-fixed":e.filterFixed,"fba-easy-table-pagination-fixed":e.paginationFixed},e.className);var ze=z((function(){return n({showSizeChanger:true,current:Q.queryCondition[ue.pageNo]||1,pageSize:Q.queryCondition[ue.pageSize]||J,total:h,showTotal:function e(n){return"共 "+n+" 条记录"}},e.pagination)}),[ue.pageNo,ue.pageSize,J,e.pagination,Q.queryCondition,h]);var we=le?le:ae.current;var Re=z((function(){var e=we.map((function(e){var t=e.tooltip,r=e.tipsWrapperProps,a=e.title,o=e.hidden,l=e.isFold,s=i(e,re);if(o)return null;if(l&&!U.includes(e.dataIndex))return null;if(typeof a==="string"&&r){if(typeof r==="string"){return n({},s,{title:V(E,{tipType:"popover",popoverProps:{content:r},children:a})})}return n({},s,{title:V(E,n({},r,{children:a}))})}if(typeof a==="string"&&!!t){return n({},s,{title:V(D,{tooltip:t,title:a})})}return e})).filter(Boolean);return[].concat(e)}),[we,U]);var qe=we.filter((function(e){return!e.hidden&&e.isFold&&e.dataIndex}));var Ne=function e(n){G(n);K==null||K.onChange==null?void 0:K.onChange(n)};Re=z((function(){if(K!=null&&K.hidden)return Re;var e=Re[Re.length-1];if(qe.length>0&&Re.length>0){var n=Re.find((function(e){return e["_isFoldColumn"]}));if(n&&e.dataIndex!==n.dataIndex){n.title=n["_isFoldTitle"];n["_isFoldColumn"]=false}if(!e["_isFoldColumn"]){e["_isFoldTitle"]=e["_isFoldTitle"]||e.title;e["_isFoldColumn"]=true;var i=K==null?void 0:K.triggerType;e.title=A(k,{direction:"horizontal",fullIndex:0,style:{alignItems:"center"},children:[V("span",{children:e.title}),V("div",{style:{padding:"0 5px 0 20px",display:"flex"},children:i==="drawer"?V(T,{onClick:he,text:K==null?void 0:K.text,size:"small",icon:(K==null?void 0:K.icon)||V(L,{svgPath:"ionic/list-circle",color:"#868686"}),hoverTips:(K==null?void 0:K.hoverTipText)||"字段列表",style:{padding:0,margin:0}}):V(Z,{dataList:qe,onChange:Ne,cacheKey:K==null?void 0:K.cacheKey,initSelectedRowKeys:U,children:V(T,{text:K==null?void 0:K.text,style:{padding:0,margin:0},size:"small",icon:(K==null?void 0:K.icon)||V(L,{svgPath:"ionic/list-circle",color:"#868686"})})})})]})}}return Re}),[Re,qe,K]);var Ke=s.useCallbackRef((function(n,i){var t,r;void fe((t={},t[ue.pageSize]=i,t[ue.pageNo]=n,t));(r=e.pagination)==null||r.onChange==null?void 0:r.onChange(n,i)}));var Pe=function n(){return e.paginationFixed||ne.current};s.useUpdateEffect((function(){if(e.paginationFixed){var n;fe((n={},n[ue.pageSize]=Q.queryCondition[ue.pageSize]||J,n[ue.pageNo]=1,n))}else{var i;fe((i={},i[ue.pageSize]=undefined,i[ue.pageNo]=undefined,i))}}),[e.paginationFixed]);var ke=t("fba-easy-table-wrapper",{"fba-easy-table-wrapper-inline":e.isInline},e.className);var Te=n({overflowY:e.filterFixed||e.paginationFixed?"hidden":"auto"},e.style);var Ie=typeof e.children==="function"?e.children(ie.current):e.children;return A(M.Provider,{value:{onSetBaseColumns:xe,getEasyTableRef:Ce,modelKey:H,onRequest:fe,tableDataSource:m,tableTotal:h,loading:F,fieldNames:ue,pageSize:J,onSetPaginationStatus:Se,getPaginationStatus:Pe,onFormFinish:be,form:ce,paginationFixed:e.paginationFixed||false,foldKeys:e.foldKeys||[],columns:Re,initialValues:e.initialValues},children:[e.paginationFixed?A("div",{className:ke,style:Te,children:[V("div",{className:je,children:Ie}),h>0&&V("div",{className:"fba-easy-table-pagination",children:V(I,n({size:"small"},ze,{onChange:Ke}))})]}):V("div",{className:ke,style:e.style,children:Ie}),V(X,{dataList:qe,onClose:ye,open:B,onChange:Ne,cacheKey:K==null?void 0:K.cacheKey,initSelectedRowKeys:U})]})}));var oe=function e(i){var a=Q()||"md";var o=N(M);var l=i.queryButtonProps,u=i.resetButtonProps,d=i.filterOperate,c=i.formClassName,f=c===void 0?"":c,p=i.defaultResetButtonTriggerRequest,m=i.filterWrapperStyle,g=i.filterWrapperClassName,v=i.rightOperateAreaAppendType,h=i.easyFormProps;var y=o.modelKey,C=o.foldKeys,S=o.fieldNames,x=o.onRequest,F=o.pageSize,j=o.getPaginationStatus,w=o.initialValues,R=o.form,q=o.onFormFinish;var P=typeof i.children==="function"?i.children(R):i.children;var k=v||"cover";var T=z((function(){if(U(P)){return K.toArray(P.props.children)}else{return K.toArray(P)}}),[P]);var I=b(false),_=I[0],L=I[1];var D=te(y).useStore(),E=D[0],B=D[1];var J=s.useCallbackRef((function(){return new Promise((function(e,i){var t;return Promise.resolve(B.resetFilterCondition()).then((function(a){try{R.resetFields();if(r(p)||p){if(j()){x(n((t={},t[S.pageNo]=1,t[S.pageSize]=F,t),w))}else{x(w)}}return e()}catch(e){return i(e)}}),i)}))}));var X=z((function(){var e=[!(l!=null&&l.hidden)?V(H,n({type:"primary",htmlType:"submit"},l,{children:(l==null?void 0:l.text)||"查询"}),"1"):null,!(u!=null&&u.hidden)?V(H,n({onClick:J},u,{children:(u==null?void 0:u.text)||"重置"}),"2"):null].filter(Boolean);var i=d==null?void 0:d(R);var t=i==null?void 0:i.rightList;var r=(i==null?void 0:i.leftList)||[];var a=e;if(t){if(k==="afterAppend"){a=[].concat(e,t)}else if(k==="beforeAppend"){a=[].concat(t,e)}else{a=t}}if(C.length>0){var o=V(H,{type:"link",style:{padding:"0"},onClick:function e(){L(!_)},children:_?A("span",{children:["收起",V(W,{style:{marginLeft:3,fontSize:12}})]}):A("span",{children:["展开",V(O,{style:{marginLeft:3,fontSize:12}})]})},"fold-trigger");if(a.length>0||r.length===0){a.push(o)}else if((r==null?void 0:r.length)>0){r.push(o)}}return T.map((function(e,n){if(!_&&C.find((function(n){return".$"+n===e.key})))return null;if(e.props["hidden"])return null;if(e.type["domTypeName"]==="FormCol")return e;return V($.Col,{children:e},n)})).filter(Boolean).concat(V($.OperateCol,n({},i,{leftList:r,rightList:a}),999))}),[T,d,C,R,J,_,l,u,k]);var Z=a==="xs"?"left":(h==null?void 0:h.labelAlign)||"right";return V(G,{className:t("easy-table-filter",g),style:m,children:V(Y,n({form:R,autoComplete:"off",onFinish:q,initialValues:n({},w,E.queryCondition),className:f,style:i.formStyle,isPure:true,labelWidth:"80",formItemGap:"15"},h,{labelAlign:Z,children:i.isPure?P:V($.Row,{gutter:[15,0],gridSize:i.formGridSize,children:X})}))})};var le=function e(){var n=N(M);return n.getEasyTableRef()};var se=function e(){var n=N(M);return{current:n.getEasyTableRef()}};var ue=["children","rowKey","pagination","isSync"];var de=function e(r){var a=N(M);var o=r.children,l=r.rowKey,u=r.pagination,d=r.isSync,c=i(r,ue);var g=a.modelKey,h=a.fieldNames,y=a.onRequest,C=a.tableDataSource,S=a.pageSize,x=a.tableTotal,b=a.loading,j=a.paginationFixed,w=a.onSetPaginationStatus;var R=te(g).useStore(),q=R[0];P.useEffectCustom((function(){a.onSetBaseColumns(r.columns||[])}),[r.columns]);P.useEffectCustom((function(){w(u!==false)}),[u]);s.useUpdateEffect((function(){if(!j){if(u!==false){var e;y((e={},e[h.pageSize]=q.queryCondition[h.pageSize]||S,e[h.pageNo]=1,e))}else{var n;y((n={},n[h.pageSize]=undefined,n[h.pageNo]=undefined,n))}}}),[u]);var K=z((function(){if(j||u===false)return false;return n({showSizeChanger:true,current:q.queryCondition[h.pageNo]||1,pageSize:q.queryCondition[h.pageSize]||S,total:x,showTotal:function e(n){return"共 "+n+" 条记录"}},r.pagination,{selectComponentClass:_})}),[h.pageNo,h.pageSize,S,u,j,r.pagination,q.queryCondition,x]);var k=function e(n,i,t,a){if(a.action==="paginate"&&K){var o;y((o={},o[h.pageSize]=n.pageSize,o[h.pageNo]=n.current,o))}else{r.onChange==null?void 0:r.onChange(n,i,t,a)}};var T=z((function(){if(!C)return undefined;if(C.length===0){return[]}if(typeof l==="string"&&f(C[0][l])){return C.map((function(e){e[l]=p();return e}))}return C}),[C,l]);var I=function e(){if(d&&!T){return A(F,{children:[o,V(v,{size:"small",scroll:{x:"max-content"},bordered:true,rowKey:l,columns:a.columns,loading:true},"1")]})}if(m()){return A(F,{children:[o,V(v,n({size:"small",scroll:{x:"max-content"},bordered:true},c,{columns:a.columns,pagination:K,rowKey:l,onChange:k,loading:b,dataSource:T}),"2")]})}return A(F,{children:[o,V(J,{children:V(v,n({size:"small",scroll:{x:"max-content"},bordered:true},c,{columns:a.columns,pagination:K,rowKey:l,onChange:k,loading:b,dataSource:T}),"3")})]})};return V(G,{className:t("easy-table-table",{"ett-empty-show-small":r.emptyShowSize==="small"},r.tableWrapperClassName),style:r.tableWrapperStyle,children:I()})};var ce=e.attachPropertiesToComponent(ae,{Filter:oe,Table:de,useEasyTablRef:se,useEasyTable:le});export{ce as EasyTable};
22
23
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/easy-table/context.ts","@flatbiz/antd/src/easy-table/model.ts","@flatbiz/antd/src/easy-table/easy-table.tsx","@flatbiz/antd/src/easy-table/filter.tsx","@flatbiz/antd/src/easy-table/hooks.ts","@flatbiz/antd/src/easy-table/fold-operate.tsx","@flatbiz/antd/src/easy-table/table.tsx","@flatbiz/antd/src/easy-table/index.ts"],"sourcesContent":["import { noop, TPlainObject } from '@flatbiz/utils';\nimport { FormInstance } from 'antd';\nimport { createContext } from 'react';\nimport { EasyTableProps, EasyTableRefApi, TEasyTableTableColumn } from './type';\n\n// export const [useEasyTableCtx, EasyTableCtxProvider] = createCtx<{\n// modelKey: string;\n// onRequest: (params?: TPlainObject) => void;\n// tableList: TPlainObject[];\n// tableTotal: number;\n// loading?: boolean;\n// fieldNames: TPlainObject;\n// pageSize: number;\n// initRequest: boolean;\n// initialValues: TPlainObject;\n// onSetPaginationStatus: (status: boolean) => void;\n// paginationStatus: boolean;\n// onFormFinish?: (values?: TPlainObject) => void;\n// form: FormInstance;\n// getEasyTableRef: () => EasyTableRefApi;\n// paginationFixed: boolean;\n// foldKeys: string[];\n// }>();\n\nexport type EditableFieldContextContextApi = {\n modelKey: string;\n onRequest: (params?: TPlainObject) => void;\n tableDataSource?: TPlainObject[];\n tableTotal: number;\n loading?: boolean;\n fieldNames: TPlainObject;\n pageSize: number;\n initRequest: boolean;\n initialValues: TPlainObject;\n onSetPaginationStatus: (status: boolean) => void;\n paginationStatus: boolean;\n onFormFinish?: (values?: TPlainObject) => void;\n form: FormInstance;\n getEasyTableRef: () => EasyTableRefApi;\n paginationFixed: boolean;\n foldKeys: string[];\n dynamicColumns?: TEasyTableTableColumn<TPlainObject>[];\n onSetBaseColumns: (baseColumns?: TEasyTableTableColumn<TPlainObject>[]) => void;\n columnFoldConfig: EasyTableProps['columnFoldConfig'];\n onCloseColumnFoldModal: () => void;\n onOpenColumnFoldModal: () => void;\n columnFoldOpen: boolean;\n};\n\nexport const EasyTableContext = createContext<EditableFieldContextContextApi>({\n onRequest: noop,\n tableList: [],\n getEasyTableRef: () => {\n //\n },\n} as unknown as EditableFieldContextContextApi);\n","import { API, ModelType } from '@dimjs/model';\nimport { Model } from '@dimjs/model-react';\nimport { TAny, TPlainObject } from '@flatbiz/utils';\n\nexport type ModelState = {\n queryCondition: TPlainObject;\n isInit: boolean;\n};\n\ntype ModelActionParams = {\n updateFilterCondition?: Partial<ModelState['queryCondition']>;\n resetFilterCondition?: TPlainObject;\n updateInitStatus: void;\n};\n\nconst defaultState: ModelState = {\n queryCondition: {},\n isInit: true,\n};\n\nconst _EasyTableModel: ModelType<ModelState, ModelActionParams> = {\n actions: {\n updateFilterCondition: (params) => {\n return (state) => {\n state.queryCondition = {\n ...state.queryCondition,\n ...params,\n };\n };\n },\n resetFilterCondition: (params) => {\n return (state) => {\n state.queryCondition = {\n ...defaultState.queryCondition,\n ...params,\n };\n };\n },\n updateInitStatus: () => {\n return (state) => {\n state.isInit = false;\n };\n },\n },\n state: defaultState,\n};\n\nconst easyTableModels: Record<string, API<ModelType<ModelState, ModelActionParams, TAny>>> = {};\n\n/**\n * ```\n * 使用方式\n * const [state, actions] = selectorWrapperModel('key值').useStore();\n * ```\n */\nexport const easyTableModel = (key: string) => {\n if (!easyTableModels[key]) {\n easyTableModels[key] = Model(_EasyTableModel);\n }\n return easyTableModels[key];\n};\n","import { isArray, isUndefined } from '@dimjs/lang';\nimport { cloneState } from '@dimjs/model';\nimport { classNames, get } from '@dimjs/utils';\nimport { TAny, TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Form, message } from 'antd';\nimport { CSSProperties, forwardRef, useImperativeHandle, useMemo, useRef, useState } from 'react';\nimport { PaginationWrapper } from '../pagination-wrapper';\nimport { EasyTableContext } from './context';\nimport { easyTableModel } from './model';\nimport './style.less';\nimport { EasyTableProps, EasyTableRefApi, TEasyTableTableColumn } from './type';\n\nexport const EasyTable = forwardRef<EasyTableRefApi, EasyTableProps>((props, ref) => {\n const [dataSource, setDataSource] = useState<TPlainObject[]>();\n const [total, setTotal] = useState<number>(0);\n const [loading, setLoading] = useState<boolean>(false);\n const easyTableId = hooks.useId(undefined, 'easy-table-key');\n\n const [columnFoldOpen, setColumnFoldOpen] = useState(false);\n\n const modelKey = useMemo(() => {\n if (props.cacheSwitch === true) {\n return location.pathname;\n }\n if (typeof props.cacheSwitch === 'string') {\n return props.cacheSwitch;\n }\n return easyTableId;\n }, [easyTableId, props.cacheSwitch]);\n\n const [state, actions] = easyTableModel(modelKey).useStore();\n const pageSize = props.pageSize || props.initialPaginationParams?.pageSize || 10;\n const initRequest = props.initRequest === undefined ? true : props.initRequest;\n const [paginationStatus, setPaginationStatus] = useState(false);\n const respOriginalDataRef = useRef<TAny>();\n const baseColumnsRef = useRef<TEasyTableTableColumn<TPlainObject>[]>([]);\n const [dynamicColumns, setDynamicColumns] = useState<TEasyTableTableColumn<TPlainObject>[]>();\n\n const fieldNames = {\n list: 'list',\n total: 'total',\n pageNo: 'pageNo',\n pageSize: 'pageSize',\n ...props.fieldNames,\n };\n\n const [form] = Form.useForm(props.form);\n\n const onInnerRequest = hooks.useCallbackRef(async (params) => {\n try {\n setLoading(true);\n const allState = await actions.updateFilterCondition(params);\n const queryCondition = cloneState(allState.queryCondition || {});\n const { requestParamsAdapter, onRequest, requestResultAdapter, dynamicColumsAdapter } =\n props.serviceConfig;\n const paramsNew = requestParamsAdapter ? requestParamsAdapter(queryCondition) : queryCondition;\n const respData = (await onRequest(paramsNew)) || {};\n respOriginalDataRef.current = respData;\n props.onDataSourceChange?.(respData);\n let respDataNew: TPlainObject = respData;\n if (requestResultAdapter) {\n respDataNew = requestResultAdapter(respData);\n }\n if (dynamicColumsAdapter) {\n const dynamicColumns = dynamicColumsAdapter(respData, baseColumnsRef.current);\n /** 不要添加默认值 */\n setDynamicColumns(dynamicColumns);\n }\n const respList = get(respDataNew, fieldNames.list);\n setDataSource(isArray(respList) ? respList : []);\n setTotal(get(respDataNew, fieldNames.total));\n setLoading(false);\n } catch (error) {\n setLoading(false);\n if (props.onRequestErrorHandle) {\n props.onRequestErrorHandle(error);\n } else {\n void message.error(error.message);\n }\n }\n });\n\n const clearQueryCondition = hooks.useCallbackRef(async (values?: TPlainObject) => {\n await actions.resetFilterCondition();\n form.resetFields();\n if (values) {\n void actions.updateFilterCondition(values);\n form.setFieldsValue(values);\n }\n });\n\n const getPaginationData = (pageNo: number, _pageSize: number) => {\n if (paginationStatus) {\n return {\n [fieldNames.pageNo]: pageNo,\n [fieldNames.pageSize]: _pageSize || pageSize,\n };\n } else {\n return {};\n }\n };\n\n const onResetRequest = hooks.useCallbackRef(async (values?: TPlainObject) => {\n const params = {\n ...getPaginationData(1, state.queryCondition[fieldNames.pageSize]),\n ...props.initialValues,\n ...values,\n };\n await actions.resetFilterCondition(params);\n form.resetFields();\n if (values) {\n form.setFieldsValue(values);\n }\n void onInnerRequest(params);\n });\n\n const getRequestParams = hooks.useCallbackRef(() => {\n return {\n ...state.queryCondition,\n ...form.getFieldsValue(),\n };\n });\n\n const onOpenColumnFoldModal = hooks.useCallbackRef(() => {\n setColumnFoldOpen(true);\n });\n const onCloseColumnFoldModal = hooks.useCallbackRef(() => {\n setColumnFoldOpen(false);\n });\n\n const getEasyTableRef = () => {\n return {\n /**\n * 参数\n * 1. 不用添加已存在的搜索条件\n * 2. 此处可重新\n */\n onRequest: onInnerRequest,\n clearQueryCondition,\n getRequestParams,\n onResetRequest,\n form,\n getDataSource: () => {\n return respOriginalDataRef.current;\n },\n onFilterDataSource: (filterDataSource) => {\n setDataSource(filterDataSource);\n },\n onClearDataSource: () => {\n setTotal(0);\n setDataSource([]);\n },\n onUpdateDataSource: (dataList) => {\n setDataSource(dataList);\n respOriginalDataRef.current = dataList;\n props.onDataSourceChange?.(dataList);\n },\n onOpenColumnFoldModal,\n };\n };\n\n useImperativeHandle(ref, () => {\n return getEasyTableRef();\n });\n\n const onSetPaginationStatus = (status: boolean) => {\n setPaginationStatus(status);\n };\n const onSetBaseColumns = (base) => {\n baseColumnsRef.current = base;\n };\n\n const onFormFinish = () => {\n const values = form.getFieldsValue();\n if (props.onFormFinish) {\n props.onFormFinish({\n ...values,\n ...getPaginationData(1, state.queryCondition[fieldNames.pageSize]),\n });\n } else {\n void onInnerRequest({\n ...values,\n ...getPaginationData(1, state.queryCondition[fieldNames.pageSize]),\n });\n }\n };\n const isFull = isUndefined(props.isFull) ? true : props.isFull;\n const className = classNames(\n 'fba-easy-table',\n {\n 'fba-easy-table-full': isFull,\n 'fba-easy-table-filter-fixed': props.filterFixed,\n 'fba-easy-table-pagination-fixed': props.paginationFixed,\n },\n props.className,\n );\n\n const paginationData = useMemo(() => {\n return {\n showSizeChanger: true,\n current: state.queryCondition[fieldNames.pageNo] || 1,\n pageSize: state.queryCondition[fieldNames.pageSize] || pageSize,\n total: total,\n showTotal: (total) => `共 ${total} 条记录`,\n ...props.pagination,\n };\n }, [fieldNames.pageNo, fieldNames.pageSize, pageSize, props.pagination, state.queryCondition, total]);\n\n const onChange = hooks.useCallbackRef((page: number, pageSize: number) => {\n void onInnerRequest({\n [fieldNames.pageSize]: pageSize,\n [fieldNames.pageNo]: page,\n });\n props.pagination?.onChange?.(page, pageSize);\n });\n\n const wrapperClassName = classNames(\n 'fba-easy-table-wrapper',\n {\n 'fba-easy-table-wrapper-inline': props.isInline,\n },\n props.className,\n );\n\n const wrapperStyle: CSSProperties = {\n overflowY: props.filterFixed || props.paginationFixed ? 'hidden' : 'auto',\n ...props.style,\n };\n\n const children =\n typeof props.children === 'function' ? props.children(respOriginalDataRef.current) : props.children;\n\n return (\n <EasyTableContext.Provider\n value={{\n onSetBaseColumns,\n getEasyTableRef,\n modelKey,\n onRequest: onInnerRequest,\n tableDataSource: dataSource,\n tableTotal: total,\n loading,\n fieldNames,\n pageSize,\n initRequest,\n initialValues: props.initialValues || {},\n onSetPaginationStatus,\n paginationStatus,\n onFormFinish,\n form,\n paginationFixed: props.paginationFixed || false,\n foldKeys: props.foldKeys || [],\n dynamicColumns,\n columnFoldConfig: props.columnFoldConfig,\n onCloseColumnFoldModal,\n onOpenColumnFoldModal,\n columnFoldOpen,\n }}\n >\n {props.paginationFixed ? (\n <div className={wrapperClassName} style={wrapperStyle}>\n <div className={className}>{children}</div>\n {total > 0 && (\n <div className=\"fba-easy-table-pagination\">\n <PaginationWrapper size=\"small\" {...paginationData} onChange={onChange} />\n </div>\n )}\n </div>\n ) : (\n <div className={wrapperClassName} style={props.style}>\n {children}\n </div>\n )}\n </EasyTableContext.Provider>\n );\n});\n","import { DownOutlined, UpOutlined } from '@ant-design/icons';\nimport { isUndefined } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { TAny } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { FormInstance } from 'antd';\nimport { Children, CSSProperties, ReactElement, useContext, useMemo, useState } from 'react';\nimport { isFragment } from 'react-is';\nimport { BlockLayout } from '../block-layout';\nimport { ButtonWrapper, ButtonWrapperProps } from '../button-wrapper';\nimport { EasyForm, EasyFormProps } from '../easy-form';\nimport { useResponsivePoint } from '../fba-hooks/use-responsive-point';\nimport { FormGrid } from '../form-grid';\nimport { FormOperateColProps } from '../form-grid/form-operate-col';\nimport { FormRowProps } from '../form-grid/form-row';\nimport { EasyTableContext } from './context';\nimport { easyTableModel } from './model';\n\nexport type EasyTableFilterProps = {\n children: ReactElement | ReactElement[] | ((form: FormInstance) => ReactElement);\n /** isPure = true时无效 */\n filterOperate?: (form: FormInstance) => FormOperateColProps;\n /** 是否为纯净模式(查询条件布局是否自定义), */\n isPure?: boolean;\n /** 查询按钮配置 */\n queryButtonProps?: Omit<ButtonWrapperProps, 'onClick'> & { text?: string };\n /** 重置按钮配置 */\n resetButtonProps?: Omit<ButtonWrapperProps, 'onClick'> & { text?: string };\n /**\n * 网格布局设置\n * default = { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 };\n * small = { xs: 24, sm: 8, md: 8, lg: 6, xl: 6, xxl: 6 };\n */\n formGridSize?: FormRowProps['gridSize'];\n /**\n * @deprecated已过期,使用 easyFormProps.className 配置\n */\n formClassName?: string;\n /**\n * @deprecated已过期,使用 easyFormProps.style 配置\n */\n formStyle?: CSSProperties;\n /** filter Form 外层 BlockLayout style */\n filterWrapperStyle?: CSSProperties;\n /** filter Form 外层 BlockLayout className */\n filterWrapperClassName?: string;\n /**\n * 自定义 filterOperate.rightList 后 默认【查询、重置】按钮处理逻辑\n * 1. cover:覆盖内部查询重置按钮(默认值)\n * 2. beforeAppend:添加到【查询重置】按钮前面\n * 3. afterAppend:添加到【查询重置】按钮后面\n *\n * 如果想隐藏【查询、重置】按钮中的某一个,可设置 queryButtonProps.hidden、resetButtonProps.hidden\n */\n rightOperateAreaAppendType?: 'cover' | 'beforeAppend' | 'afterAppend';\n /** 默认重启按钮触发请求,默认值:true */\n defaultResetButtonTriggerRequest?: boolean;\n easyFormProps?: Omit<\n EasyFormProps,\n 'isPure' | 'column' | 'forceColumn' | 'width' | 'gridGutter' | 'children'\n >;\n};\n\n/**\n * 过滤条件\n *```\n * 1. 用法1\n * -- 默认网格布局 规则:{ xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 }\n * <EasyTableFilter>\n * <FormItemWrapper name=\"field1\" label=\"条件1\">xxx</FormItemWrapper>\n * </EasyTableFilter>\n *\n * -- 自定义网格布局 使用 FormCol组件包装 FormItemWrapper\n * <EasyTableFilter>\n * <FormCol span={12}><FormItemWrapper name=\"field1\" label=\"条件1\">xxx</FormItemWrapper></FormCol>\n * </EasyTableFilter>\n *\n * -- children 可为 function\n * <EasyTableFilter>\n * {(form) => {\n * return <FormItemWrapper name=\"field1\" label=\"条件1\">xxx</FormItemWrapper>\n * }}\n * </EasyTableFilter>\n *\n * 2. 用户2(自定义布局)\n * EasyTableFilter设置 isPure = true,FormItem无布局规则\n * 3. EasyTableFilter中内置了 Form 标签,当children为函数时,可获取form实例\n * 4. 默认布局下,可通过设置 filterOperate 设置操作按钮\n * 5. Filter 子节点包含 hidden = true 会被忽略\n * 6. 如果想隐藏【查询、重置】按钮中的某一个,可设置 queryButtonProps.hidden、resetButtonProps.hidden\n * 7. 通过设置 defaultResetButtonTriggerRequest,默认重启按钮触发请求,默认值:true\n * 8. EasyTableFilter 子节点可使用 FormItemWrapper,FormItemWrapper中可配置label宽度等\n *```\n */\nexport const EasyTableFilter = (props: EasyTableFilterProps) => {\n const screenType = useResponsivePoint() || 'md';\n const ctx = useContext(EasyTableContext);\n const {\n queryButtonProps,\n resetButtonProps,\n filterOperate,\n formClassName = '',\n defaultResetButtonTriggerRequest,\n filterWrapperStyle,\n filterWrapperClassName,\n rightOperateAreaAppendType,\n easyFormProps,\n } = props;\n const {\n modelKey,\n foldKeys,\n fieldNames,\n onRequest,\n pageSize,\n paginationStatus,\n initialValues,\n form,\n onFormFinish,\n } = ctx;\n const children = typeof props.children === 'function' ? props.children(form) : props.children;\n\n const rightOperateAreaAppendTypeFt = rightOperateAreaAppendType || 'cover';\n const childrens = useMemo(() => {\n if (isFragment(children)) {\n return Children.toArray((children as ReactElement).props.children) as ReactElement[];\n } else {\n return Children.toArray(children) as ReactElement[];\n }\n }, [children]);\n\n const [openFold, setOpenFold] = useState(false);\n\n const [state, actions] = easyTableModel(modelKey).useStore();\n\n const onReset = hooks.useCallbackRef(async () => {\n await actions.resetFilterCondition();\n form.resetFields();\n if (isUndefined(defaultResetButtonTriggerRequest) || defaultResetButtonTriggerRequest) {\n if (paginationStatus) {\n onRequest({\n [fieldNames.pageNo]: 1,\n [fieldNames.pageSize]: pageSize,\n ...initialValues,\n });\n } else {\n onRequest(initialValues);\n }\n }\n });\n\n const formRowChildren = useMemo(() => {\n const defaultRightList = [\n !queryButtonProps?.hidden ? (\n <ButtonWrapper key=\"1\" type=\"primary\" htmlType=\"submit\" {...queryButtonProps}>\n {queryButtonProps?.text || '查询'}\n </ButtonWrapper>\n ) : null,\n !resetButtonProps?.hidden ? (\n <ButtonWrapper key=\"2\" onClick={onReset} {...resetButtonProps}>\n {resetButtonProps?.text || '重置'}\n </ButtonWrapper>\n ) : null,\n ].filter(Boolean);\n const customFormOperateCol = filterOperate?.(form);\n const customRightList = customFormOperateCol?.rightList;\n const leftList: TAny[] = customFormOperateCol?.leftList || [];\n\n let rightList: TAny[] = defaultRightList;\n if (customRightList) {\n if (rightOperateAreaAppendTypeFt === 'afterAppend') {\n rightList = [...defaultRightList, ...customRightList];\n } else if (rightOperateAreaAppendTypeFt === 'beforeAppend') {\n rightList = [...customRightList, ...defaultRightList];\n } else {\n rightList = customRightList;\n }\n }\n\n if (foldKeys.length > 0) {\n const changeFolditem = (\n <ButtonWrapper\n type=\"link\"\n key=\"fold-trigger\"\n style={{ padding: '0' }}\n onClick={() => {\n setOpenFold(!openFold);\n }}\n >\n {openFold ? (\n <span>\n 收起\n <UpOutlined style={{ marginLeft: 3, fontSize: 12 }} />\n </span>\n ) : (\n <span>\n 展开\n <DownOutlined style={{ marginLeft: 3, fontSize: 12 }} />\n </span>\n )}\n </ButtonWrapper>\n );\n\n if (rightList.length > 0 || leftList.length === 0) {\n rightList.push(changeFolditem);\n } else if (leftList?.length > 0) {\n leftList.push(changeFolditem);\n }\n }\n\n return childrens\n .map((item, index) => {\n if (!openFold && foldKeys.find((keyItem) => `.$${keyItem}` === item.key)) return null;\n if (item.props['hidden']) return null;\n if (item.type['domTypeName'] === 'FormCol') return item;\n return <FormGrid.Col key={index}>{item}</FormGrid.Col>;\n })\n .filter(Boolean)\n .concat(\n <FormGrid.OperateCol key={999} {...customFormOperateCol} leftList={leftList} rightList={rightList} />,\n );\n }, [\n childrens,\n filterOperate,\n foldKeys,\n form,\n onReset,\n openFold,\n queryButtonProps,\n resetButtonProps,\n rightOperateAreaAppendTypeFt,\n ]);\n\n const labelAlign = screenType === 'xs' ? 'left' : easyFormProps?.labelAlign || 'right';\n\n return (\n <BlockLayout\n className={classNames('easy-table-filter', filterWrapperClassName)}\n style={filterWrapperStyle}\n >\n <EasyForm\n form={form}\n autoComplete=\"off\"\n onFinish={onFormFinish}\n initialValues={{\n ...initialValues,\n ...state.queryCondition,\n }}\n className={formClassName}\n style={props.formStyle}\n isPure={true}\n labelWidth=\"80\"\n formItemGap=\"15\"\n {...easyFormProps}\n labelAlign={labelAlign}\n >\n {props.isPure ? (\n children\n ) : (\n <FormGrid.Row gutter={[15, 0]} gridSize={props.formGridSize}>\n {formRowChildren}\n </FormGrid.Row>\n )}\n </EasyForm>\n </BlockLayout>\n );\n};\n","import { useContext } from 'react';\nimport { EasyTableContext } from './context';\n\n/**\n * 在 EasyTable子组件内才可使用\n * @returns\n */\nexport const useEasyTable = () => {\n const ctx = useContext(EasyTableContext);\n return ctx.getEasyTableRef();\n};\n\n/**\n *\n * @deprecated 已过时 @4.3.0版本移除,请使用 useEasyTable\n * @returns\n */\nexport const useEasyTablRef = () => {\n const ctx = useContext(EasyTableContext);\n return {\n current: ctx.getEasyTableRef(),\n };\n};\n","import { localStorageCache, TAny, TPlainObject } from '@flatbiz/utils';\nimport { Drawer, Table } from 'antd';\nimport { ColumnsType } from 'antd/es/table';\nimport { TableRowSelection } from 'antd/es/table/interface';\nimport { CSSProperties, Fragment, useState } from 'react';\n\ntype FoldOperateProps = {\n style?: CSSProperties;\n dataList: { dataIndex?: string; title: string }[];\n onChange: (keys: string[]) => void;\n open?: boolean;\n onClose?: () => void;\n cacheKey?: string;\n initSelectedRowKeys?: string[];\n};\n\nexport const FoldOperate = (props: FoldOperateProps) => {\n const [selectedRowKeys, setSelectedRowKeys] = useState<string[]>(props.initSelectedRowKeys || []);\n const rowSelection = {\n type: 'checkbox',\n selectedRowKeys: selectedRowKeys,\n onChange: (selectedRowKeys: string[]) => {\n setSelectedRowKeys(selectedRowKeys);\n props.onChange(selectedRowKeys);\n if (props.cacheKey) {\n localStorageCache.set(`easy_tab_${props.cacheKey}`, { keys: selectedRowKeys });\n }\n },\n } as TableRowSelection<TAny>;\n\n const columns: ColumnsType<TPlainObject> = [\n {\n title: '字段名称',\n dataIndex: 'title',\n render: (value, recrd) => {\n return recrd['_isFoldTitle'] || value;\n },\n },\n { title: '字段Key', dataIndex: 'dataIndex' },\n ];\n\n return (\n <Fragment>\n <Drawer\n title=\"选择字段\"\n open={props.open}\n onClose={props.onClose}\n width={'35%'}\n styles={{\n body: {\n padding: 15,\n },\n }}\n >\n <Table\n bordered\n size=\"small\"\n columns={columns}\n rowSelection={rowSelection}\n rowKey=\"dataIndex\"\n pagination={false}\n scroll={{ x: 'max-content' }}\n dataSource={props.dataList}\n />\n </Drawer>\n </Fragment>\n );\n};\n","import { SettingOutlined } from '@ant-design/icons';\nimport { isArray, isString } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { getUuid, isMacEnv, isUndefinedOrNull, localStorageCache, TAny, TPlainObject } from '@flatbiz/utils';\nimport { Table, TableProps } from 'antd';\nimport { CSSProperties, Fragment, ReactElement, useContext, useMemo, useState } from 'react';\nimport { BlockLayout } from '../block-layout';\nimport { fbaHooks } from '../fba-hooks';\nimport { FlexLayout } from '../flex-layout';\nimport { IconWrapper } from '../icon-wrapper';\nimport { SmallSelect } from '../pagination-wrapper/select';\nimport { TableScrollbar } from '../table-scrollbar';\nimport { TableTitleTooltip } from '../table-title-tooltip';\nimport { TipsWrapper } from '../tips-wrapper';\nimport { EasyTableContext } from './context';\nimport { FoldOperate } from './fold-operate';\nimport { easyTableModel } from './model';\nimport { TEasyTableTableColumn } from './type';\n\nexport type EasyTableTableProps<T> = Omit<\n TableProps<TAny>,\n 'dataSource' | 'loading' | 'rowKey' | 'columns'\n> & {\n children?: ReactElement | ReactElement[];\n /**\n * 表格行 key 的取值,\n * ```\n * 如果 rowKey 为string类型\n * 1. 组件会判断表格列表数据第一条是否存在当前rowKey对象的数据,如果没有组件内部会动态添加唯一值\n * 2. 基于上一条的逻辑,如果表格数据没有唯一值,可指定 rowKey 值为table数据中不存在的字段名,例如:rowKey=\"_uid\"\n * 3. 如果触发上述逻辑,表格数据中会多出rowKey对应的键值对数据\n * ```\n */\n rowKey: TableProps<TAny>['rowKey'];\n /** table Form 外层 SimpleLayout className */\n tableWrapperStyle?: CSSProperties;\n /** table Form 外层 SimpleLayout className */\n tableWrapperClassName?: string;\n columns: TEasyTableTableColumn<T>[];\n /**\n * 数据加载与表格初始化渲染 是否同步\n * @version 4.4.6\n * ```\n * 1. true:获取数据后再初始化渲染表格(可用于实现表格中defaultXxxx相关功能的使用)\n * ```\n */\n isSync?: boolean;\n /**\n * 空效果显示尺寸,默认值:small\n * @version 4.4.6\n */\n emptyShowSize?: 'small' | 'large';\n};\n\n/**\n * 表格渲染\n * @param props\n * ```\n * 1. 继承了 TableProps 可设置antd table功能\n * 2. 分页功能已内置处理,不调用 onChange\n * ```\n */\nexport const EasyTableTable = <T extends TPlainObject>(props: EasyTableTableProps<T>) => {\n const ctx = useContext(EasyTableContext);\n const { children, rowKey, pagination, isSync, ...otherProps } = props;\n const columnFoldConfig = ctx.columnFoldConfig;\n const [showFoldKeyList, setShowFoldKeyList] = useState<string[]>(() => {\n if (columnFoldConfig?.cacheKey) {\n const cacheValue = localStorageCache.get(`easy_tab_${columnFoldConfig.cacheKey}`);\n const cacheKeyList = isArray(cacheValue?.keys)\n ? (cacheValue?.keys?.filter((item) => isString(item)) as string[])\n : [];\n return cacheKeyList.length > 0 ? cacheKeyList : columnFoldConfig?.initSelectedKeys || [];\n } else {\n return columnFoldConfig?.initSelectedKeys || [];\n }\n });\n\n const {\n modelKey,\n fieldNames,\n onRequest,\n tableDataSource,\n initRequest,\n pageSize,\n tableTotal,\n loading,\n initialValues,\n paginationFixed,\n onSetPaginationStatus,\n dynamicColumns,\n } = ctx;\n const [state, actions] = easyTableModel(modelKey).useStore();\n\n fbaHooks.useEffectCustom(() => {\n ctx.onSetBaseColumns((props.columns || []) as TEasyTableTableColumn<TPlainObject>[]);\n }, [props.columns]);\n\n const tablePaginationData = useMemo(() => {\n if (paginationFixed || pagination === false) return false;\n return {\n showSizeChanger: true,\n current: state.queryCondition[fieldNames.pageNo] || 1,\n pageSize: state.queryCondition[fieldNames.pageSize] || pageSize,\n total: tableTotal,\n showTotal: (total) => `共 ${total} 条记录`,\n ...props.pagination,\n selectComponentClass: SmallSelect,\n };\n }, [\n fieldNames.pageNo,\n fieldNames.pageSize,\n pageSize,\n pagination,\n paginationFixed,\n props.pagination,\n state.queryCondition,\n tableTotal,\n ]);\n\n const onChangePage: TableProps<TAny>['onChange'] = (pagination, filters, sorter, extra) => {\n if (extra.action === 'paginate' && tablePaginationData) {\n onRequest({\n [fieldNames.pageSize]: pagination.pageSize,\n [fieldNames.pageNo]: pagination.current,\n });\n } else {\n props.onChange?.(pagination, filters, sorter, extra);\n }\n };\n\n const dataSource = useMemo(() => {\n if (!tableDataSource) return undefined;\n if (tableDataSource.length === 0) {\n return [];\n }\n if (typeof rowKey === 'string' && isUndefinedOrNull(tableDataSource[0][rowKey])) {\n return tableDataSource.map((item) => {\n item[rowKey] = getUuid();\n return item;\n });\n }\n return tableDataSource;\n }, [tableDataSource, rowKey]);\n\n fbaHooks.useEffectCustom(() => {\n const hasPagination = paginationFixed || tablePaginationData !== false;\n onSetPaginationStatus(hasPagination);\n if (initRequest !== false || !state.isInit) {\n if (hasPagination) {\n void onRequest({\n [fieldNames.pageNo]: 1,\n [fieldNames.pageSize]: pageSize,\n ...initialValues,\n ...state.queryCondition,\n });\n } else {\n void onRequest(initialValues);\n }\n } else {\n void actions.updateFilterCondition(initialValues);\n }\n void actions.updateInitStatus();\n }, []);\n\n const columnsMerge = (dynamicColumns ? dynamicColumns : props.columns) as TPlainObject[];\n\n let columns = useMemo(() => {\n const tempList = columnsMerge\n .map((item) => {\n const { tooltip, tipsWrapperProps, title, hidden, isFold, ...otherProps } = item;\n if (hidden) return null;\n if (isFold && !showFoldKeyList.includes(item.dataIndex as string)) return null;\n if (typeof title === 'string' && tipsWrapperProps) {\n if (typeof tipsWrapperProps === 'string') {\n return {\n ...otherProps,\n title: (\n <TipsWrapper tipType=\"popover\" popoverProps={{ content: tipsWrapperProps }}>\n {title}\n </TipsWrapper>\n ),\n };\n }\n return {\n ...otherProps,\n title: <TipsWrapper {...tipsWrapperProps}>{title}</TipsWrapper>,\n };\n }\n if (typeof title === 'string' && !!tooltip) {\n return {\n ...otherProps,\n title: <TableTitleTooltip tooltip={tooltip} title={title}></TableTitleTooltip>,\n };\n }\n return item;\n })\n .filter(Boolean);\n return [...tempList] as TPlainObject[];\n }, [columnsMerge, showFoldKeyList]);\n\n const foldColumnList = columnsMerge.filter((item: any) => {\n return !item.hidden && item.isFold && item.dataIndex;\n });\n\n const onChangeFoldColumnList = (keyList: string[]) => {\n setShowFoldKeyList(keyList);\n columnFoldConfig?.onChange?.(keyList);\n };\n\n columns = useMemo(() => {\n if (columnFoldConfig?.hidden) return columns;\n const finalItem = columns[columns.length - 1] as TPlainObject;\n if (foldColumnList.length > 0 && columns.length > 0) {\n const foldColumnTarget = columns.find((item) => item['_isFoldColumn']);\n\n if (foldColumnTarget && finalItem.dataIndex !== foldColumnTarget.dataIndex) {\n foldColumnTarget.title = foldColumnTarget['_isFoldTitle'];\n foldColumnTarget['_isFoldColumn'] = false;\n }\n if (!finalItem['_isFoldColumn']) {\n finalItem['_isFoldTitle'] = finalItem['_isFoldTitle'] || finalItem.title;\n finalItem['_isFoldColumn'] = true;\n finalItem.title = (\n <FlexLayout direction=\"horizontal\" fullIndex={0}>\n <span>{finalItem.title}</span>\n <div style={{ padding: '0 5px 0 20px', display: 'flex' }}>\n <IconWrapper\n onClick={ctx.onOpenColumnFoldModal}\n text={columnFoldConfig?.text}\n size=\"small\"\n icon={columnFoldConfig?.icon || <SettingOutlined />}\n hoverTips={columnFoldConfig?.hoverTipText || '字段列表'}\n />\n </div>\n </FlexLayout>\n );\n }\n }\n return columns;\n }, [columns, foldColumnList, columnFoldConfig]);\n\n const tableRender = () => {\n if (isSync && !dataSource) {\n /** loading表格 */\n return (\n <Fragment>\n {children}\n <Table\n key=\"1\"\n size=\"small\"\n scroll={{ x: 'max-content' }}\n bordered\n columns={columns}\n rowKey={rowKey}\n loading={true}\n />\n </Fragment>\n );\n }\n if (isMacEnv()) {\n return (\n <Fragment>\n {children}\n <Table\n key=\"2\"\n size=\"small\"\n scroll={{ x: 'max-content' }}\n bordered\n {...otherProps}\n columns={columns}\n pagination={tablePaginationData}\n rowKey={rowKey}\n onChange={onChangePage}\n loading={loading}\n dataSource={dataSource}\n />\n </Fragment>\n );\n }\n return (\n <Fragment>\n {children}\n <TableScrollbar>\n <Table\n key=\"3\"\n size=\"small\"\n scroll={{ x: 'max-content' }}\n bordered\n {...otherProps}\n columns={columns}\n pagination={tablePaginationData}\n rowKey={rowKey}\n onChange={onChangePage}\n loading={loading}\n dataSource={dataSource}\n />\n </TableScrollbar>\n </Fragment>\n );\n };\n\n return (\n <BlockLayout\n className={classNames(\n 'easy-table-table',\n { 'ett-empty-show-small': props.emptyShowSize === 'small' },\n props.tableWrapperClassName,\n )}\n style={props.tableWrapperStyle}\n >\n {tableRender()}\n <FoldOperate\n dataList={foldColumnList as TAny[]}\n onClose={ctx.onCloseColumnFoldModal}\n open={ctx.columnFoldOpen}\n onChange={onChangeFoldColumnList}\n cacheKey={columnFoldConfig?.cacheKey}\n initSelectedRowKeys={showFoldKeyList}\n />\n </BlockLayout>\n );\n};\n","import { fbaUtils } from '../fba-utils';\nimport { EasyTable as EasyTableInner } from './easy-table';\nimport { EasyTableFilter } from './filter';\nimport { useEasyTable, useEasyTablRef } from './hooks';\nimport { EasyTableTable } from './table';\n\n/**\n * 对 查询条件+表格数据 进行深度封装,内置数据交互处理\n * ```\n * Demo https://fex.qa.tcshuke.com/docs/admin/main/crud/easy-table\n *\n * 1. 废弃modelKey参数\n * 2. 如果需要在路由跳转回退中缓存查询条件,设置cacheSwitch=true\n * 3. 需要获取查询条件、主动发起请求等可通过ref、useEasyTable操作\n * 4. 可通过属性 initRequest 设置初始化是否请求数据\n * 5. 可通过属性 fieldNames 来设置自定义变量,默认值为:list、total、pageNo、pageSize\n * 6. isFull=true,设置【在父节点高度下,上下铺满】(默认值:true)\n * 7. filterFixed=true,设置查询条件固定,不随滚动条滚动\n * 8. paginationFixed=true,可设置分页条件在底部固定,不随滚动条滚动\n * 9. foldKeys=string[],查询条件展开、收起,被收起数组内容为EasyTable.Filter 子节点key值\n * 10. windows环境下,会在EasyTable.Table外部包装一下 TableScrollbar,提高windows下table左右滚动体验\n * 11. 可实现部分字段折叠,手动选择显示,将EasyTable.Table columns中isFold属性设为true,可通过EasyTable columnFoldConfig配置属性,demo(https://fex.qa.tcshuke.com/docs/admin/main/crud/demo1)\n * ```\n */\nexport const EasyTable = fbaUtils.attachPropertiesToComponent(EasyTableInner, {\n /**\n * 过滤条件\n *```\n * 1. 用法1\n * -- 默认网格布局 规则:{ xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 }\n * <EasyTable.Filter>\n * <FormItemWrapper name=\"field1\" label=\"条件1\">xxx</FormItemWrapper>\n * </EasyTable.Filter>\n *\n * -- 自定义网格布局 使用 FormCol组件包装 FormItemWrapper\n * <EasyTable.Filter>\n * <FormCol span={12}><FormItemWrapper name=\"field1\" label=\"条件1\">xxx</FormItemWrapper></FormCol>\n * </EasyTable.Filter>\n *\n * -- children 可为 function\n * <EasyTable.Filter>\n * {(form) => {\n * return <FormItemWrapper name=\"field1\" label=\"条件1\">xxx</FormItemWrapper>\n * }}\n * </EasyTable.Filter>\n * 2. 用户2(自定义布局)\n * EasyTable.Filter设置 isPure = true,FormItem无布局规则\n * 3. EasyTable.Filter中内置了 Form 标签,当children为函数时,可获取form实例\n * 4. 默认布局下,可通过设置 filterOperate 设置操作按钮\n * 5. Filter 子节点包含 hidden = true 会被忽略\n * 6. 如果想隐藏【查询、重置】按钮中的某一个,可设置 queryButtonProps.hidden、resetButtonProps.hidden\n * 7. EasyTableFilter 子节点可使用 FormItemWrapper,FormItemWrapper中可配置label宽度等\n * 8. 通过easyFormProps属性可整体控制子节点FormItem布局\n *```\n */\n Filter: EasyTableFilter,\n /**\n * 表格渲染\n * @param props\n * ```\n * 1. 继承了 TableProps 可设置antd table功能\n * 2. 分页功能已内置处理,不调用 onChange\n * ```\n */\n Table: EasyTableTable,\n /**\n * @deprecated 已过时 4.3.0版本移除,请使用 useEasyTable\n */\n useEasyTablRef: useEasyTablRef,\n\n /** 在 EasyTable子组件内才可使用 */\n useEasyTable: useEasyTable,\n});\n"],"names":["EasyTableContext","createContext","onRequest","noop","tableList","getEasyTableRef","defaultState","queryCondition","isInit","_EasyTableModel","actions","updateFilterCondition","params","state","_extends","resetFilterCondition","updateInitStatus","easyTableModels","easyTableModel","key","Model","EasyTable","forwardRef","props","ref","_props$initialPaginat","_useState","useState","dataSource","setDataSource","_useState2","total","setTotal","_useState3","loading","setLoading","easyTableId","_hooks","useId","undefined","_useState4","columnFoldOpen","setColumnFoldOpen","modelKey","useMemo","cacheSwitch","location","pathname","_easyTableModel$useSt","useStore","pageSize","initialPaginationParams","initRequest","_useState5","paginationStatus","setPaginationStatus","respOriginalDataRef","useRef","baseColumnsRef","_useState6","dynamicColumns","setDynamicColumns","fieldNames","list","pageNo","_Form$useForm","Form","useForm","form","onInnerRequest","useCallbackRef","Promise","$return","$error","allState","_props$serviceConfig","requestParamsAdapter","requestResultAdapter","dynamicColumsAdapter","paramsNew","respData","respDataNew","_dynamicColumns","respList","$Try_1_Post","$boundEx","$Try_1_Catch","error","onRequestErrorHandle","message","resolve","then","$await_2","cloneState","serviceConfig","$await_3","current","onDataSourceChange","_get","_isArray","clearQueryCondition","values","$await_4","resetFields","setFieldsValue","getPaginationData","_pageSize","_ref","onResetRequest","initialValues","$await_5","getRequestParams","getFieldsValue","onOpenColumnFoldModal","onCloseColumnFoldModal","getDataSource","onFilterDataSource","filterDataSource","onClearDataSource","onUpdateDataSource","dataList","useImperativeHandle","onSetPaginationStatus","status","onSetBaseColumns","base","onFormFinish","isFull","_isUndefined","className","_classNames","filterFixed","paginationFixed","paginationData","showSizeChanger","showTotal","pagination","onChange","page","_onInnerRequest","_props$pagination","wrapperClassName","isInline","wrapperStyle","overflowY","style","children","_jsx","Provider","value","tableDataSource","tableTotal","foldKeys","columnFoldConfig","_jsxs","PaginationWrapper","size","EasyTableFilter","screenType","useResponsivePoint","ctx","useContext","queryButtonProps","resetButtonProps","filterOperate","_props$formClassName","formClassName","defaultResetButtonTriggerRequest","filterWrapperStyle","filterWrapperClassName","rightOperateAreaAppendType","easyFormProps","rightOperateAreaAppendTypeFt","childrens","isFragment","Children","toArray","openFold","setOpenFold","onReset","_extends2","$await_1","formRowChildren","defaultRightList","hidden","ButtonWrapper","type","htmlType","text","onClick","filter","Boolean","customFormOperateCol","customRightList","rightList","leftList","concat","length","changeFolditem","padding","_UpOutlined","marginLeft","fontSize","_DownOutlined","push","map","item","index","find","keyItem","FormGrid","Col","OperateCol","labelAlign","BlockLayout","EasyForm","autoComplete","onFinish","formStyle","isPure","labelWidth","formItemGap","Row","gutter","gridSize","formGridSize","useEasyTable","useEasyTablRef","FoldOperate","initSelectedRowKeys","selectedRowKeys","setSelectedRowKeys","rowSelection","cacheKey","localStorageCache","set","keys","columns","title","dataIndex","render","recrd","Fragment","Drawer","open","onClose","width","styles","body","Table","bordered","rowKey","scroll","x","EasyTableTable","isSync","otherProps","_objectWithoutPropertiesLoose","_excluded","_cacheValue$keys","cacheValue","get","cacheKeyList","_isString","initSelectedKeys","showFoldKeyList","setShowFoldKeyList","fbaHooks","useEffectCustom","tablePaginationData","selectComponentClass","SmallSelect","onChangePage","filters","sorter","extra","action","_onRequest","isUndefinedOrNull","getUuid","hasPagination","columnsMerge","tempList","tooltip","tipsWrapperProps","isFold","_excluded2","includes","TipsWrapper","tipType","popoverProps","content","TableTitleTooltip","foldColumnList","onChangeFoldColumnList","keyList","finalItem","foldColumnTarget","FlexLayout","direction","fullIndex","display","IconWrapper","icon","_SettingOutlined","hoverTips","hoverTipText","tableRender","isMacEnv","TableScrollbar","emptyShowSize","tableWrapperClassName","tableWrapperStyle","fbaUtils","attachPropertiesToComponent","EasyTableInner","Filter"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/easy-table/context.ts","@flatbiz/antd/src/easy-table/fold-operate.tsx","@flatbiz/antd/src/easy-table/fold-operate-dropdown.tsx","@flatbiz/antd/src/easy-table/model.ts","@flatbiz/antd/src/easy-table/easy-table.tsx","@flatbiz/antd/src/easy-table/filter.tsx","@flatbiz/antd/src/easy-table/hooks.ts","@flatbiz/antd/src/easy-table/table.tsx","@flatbiz/antd/src/easy-table/index.ts"],"sourcesContent":["import { noop, TPlainObject } from '@flatbiz/utils';\nimport { FormInstance } from 'antd';\nimport { createContext } from 'react';\nimport { EasyTableRefApi, TEasyTableTableColumn } from './type';\n\nexport type EditableFieldContextContextApi = {\n modelKey: string;\n onRequest: (params?: TPlainObject) => void;\n tableDataSource?: TPlainObject[];\n tableTotal: number;\n loading?: boolean;\n fieldNames: TPlainObject;\n pageSize: number;\n initialValues?: TPlainObject;\n onSetPaginationStatus: (status: boolean) => void;\n getPaginationStatus: () => boolean;\n onFormFinish?: (values?: TPlainObject) => void;\n form: FormInstance;\n getEasyTableRef: () => EasyTableRefApi;\n paginationFixed: boolean;\n foldKeys: string[];\n onSetBaseColumns: (baseColumns?: TEasyTableTableColumn<TPlainObject>[]) => void;\n columns: TEasyTableTableColumn<TPlainObject>[];\n};\n\nexport const EasyTableContext = createContext<EditableFieldContextContextApi>({\n onRequest: noop,\n tableList: [],\n getEasyTableRef: () => {\n //\n },\n} as unknown as EditableFieldContextContextApi);\n","import { localStorageCache, TAny, TPlainObject } from '@flatbiz/utils';\nimport { Drawer, Table } from 'antd';\nimport { ColumnsType } from 'antd/es/table';\nimport { TableRowSelection } from 'antd/es/table/interface';\nimport { CSSProperties, Fragment, useState } from 'react';\n\ntype FoldOperateProps = {\n style?: CSSProperties;\n dataList: { dataIndex?: string; title: string }[];\n onChange: (keys: string[]) => void;\n open?: boolean;\n onClose?: () => void;\n cacheKey?: string;\n initSelectedRowKeys?: string[];\n};\n\nexport const FoldOperate = (props: FoldOperateProps) => {\n const [selectedRowKeys, setSelectedRowKeys] = useState<string[]>(props.initSelectedRowKeys || []);\n const rowSelection = {\n type: 'checkbox',\n selectedRowKeys: selectedRowKeys,\n onChange: (selectedRowKeys: string[]) => {\n setSelectedRowKeys(selectedRowKeys);\n props.onChange(selectedRowKeys);\n if (props.cacheKey) {\n localStorageCache.set(`easy_tab_${props.cacheKey}`, { keys: selectedRowKeys });\n }\n },\n } as TableRowSelection<TAny>;\n\n const columns: ColumnsType<TPlainObject> = [\n {\n title: '字段名称',\n dataIndex: 'title',\n render: (value, recrd) => {\n return recrd['_isFoldTitle'] || value;\n },\n },\n { title: '字段Key', dataIndex: 'dataIndex' },\n ];\n\n return (\n <Fragment>\n <Drawer\n title=\"选择字段\"\n open={props.open}\n onClose={props.onClose}\n width={'35%'}\n styles={{\n body: {\n padding: 15,\n },\n }}\n >\n <Table\n bordered\n size=\"small\"\n columns={columns}\n rowSelection={rowSelection}\n rowKey=\"dataIndex\"\n pagination={false}\n scroll={{ x: 'max-content' }}\n dataSource={props.dataList}\n />\n </Drawer>\n </Fragment>\n );\n};\n","import { localStorageCache } from '@flatbiz/utils';\nimport { Checkbox, Popover } from 'antd';\nimport { CSSProperties, Fragment, ReactElement, useState } from 'react';\n\ntype FoldOperateProps = {\n style?: CSSProperties;\n dataList: { dataIndex: string; title: string }[];\n onChange: (keys: string[]) => void;\n cacheKey?: string;\n initSelectedRowKeys?: string[];\n children?: ReactElement;\n};\n\nexport const FoldOperateDropdown = (props: FoldOperateProps) => {\n const [selectedRowKeys, setSelectedRowKeys] = useState<string[]>(props.initSelectedRowKeys || []);\n\n const onChange = (keys) => {\n setSelectedRowKeys(keys);\n props.onChange(keys);\n if (props.cacheKey) {\n localStorageCache.set(`easy_tab_${props.cacheKey}`, { keys: keys });\n }\n };\n\n const content = (\n <Fragment>\n <Checkbox.Group\n defaultValue={selectedRowKeys}\n onChange={onChange}\n value={selectedRowKeys}\n style={{ display: 'flex', flexDirection: 'column' }}\n >\n {props.dataList.map((item) => {\n const label = item['_isFoldTitle'] || item.title;\n return (\n <Checkbox value={item.dataIndex} key={item.dataIndex} style={{ padding: '0 0 5px 0' }}>\n {label}\n </Checkbox>\n );\n })}\n </Checkbox.Group>\n </Fragment>\n );\n\n const onChangeAll = (e) => {\n if (e.target.checked) {\n onChange(props.dataList.map((item) => item.dataIndex));\n } else {\n onChange([]);\n }\n };\n\n return (\n <Popover\n content={content}\n title={\n <Checkbox checked={selectedRowKeys.length === props.dataList.length} onChange={onChangeAll}>\n 全选(字段列表)\n </Checkbox>\n }\n placement=\"bottomRight\"\n overlayClassName=\"fold-operate-popiver\"\n >\n {props.children}\n </Popover>\n );\n};\n","import { API, ModelType } from '@dimjs/model';\nimport { Model } from '@dimjs/model-react';\nimport { TAny, TPlainObject } from '@flatbiz/utils';\n\nexport type ModelState = {\n queryCondition: TPlainObject;\n isInit: boolean;\n};\n\ntype ModelActionParams = {\n updateFilterCondition?: Partial<ModelState['queryCondition']>;\n resetFilterCondition?: TPlainObject;\n updateInitStatus: void;\n};\n\nconst defaultState: ModelState = {\n queryCondition: {},\n isInit: true,\n};\n\nconst _EasyTableModel: ModelType<ModelState, ModelActionParams> = {\n actions: {\n updateFilterCondition: (params) => {\n return (state) => {\n state.queryCondition = {\n ...state.queryCondition,\n ...params,\n };\n };\n },\n resetFilterCondition: (params) => {\n return (state) => {\n state.queryCondition = {\n ...defaultState.queryCondition,\n ...params,\n };\n };\n },\n updateInitStatus: () => {\n return (state) => {\n state.isInit = false;\n };\n },\n },\n state: defaultState,\n};\n\nconst easyTableModels: Record<string, API<ModelType<ModelState, ModelActionParams, TAny>>> = {};\n\n/**\n * ```\n * 使用方式\n * const [state, actions] = selectorWrapperModel('key值').useStore();\n * ```\n */\nexport const easyTableModel = (key: string) => {\n if (!easyTableModels[key]) {\n easyTableModels[key] = Model(_EasyTableModel);\n }\n return easyTableModels[key];\n};\n","import { isArray, isString, isUndefined } from '@dimjs/lang';\nimport { cloneState } from '@dimjs/model';\nimport { classNames, get } from '@dimjs/utils';\nimport { localStorageCache, TAny, TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Form, message } from 'antd';\nimport {\n cloneElement,\n CSSProperties,\n forwardRef,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport { FlexLayout } from '../flex-layout';\nimport { IconWrapper } from '../icon-wrapper';\nimport { PaginationWrapper } from '../pagination-wrapper';\nimport { SvgHttpView } from '../svg-http-view';\nimport { TableTitleTooltip } from '../table-title-tooltip';\nimport { TipsWrapper } from '../tips-wrapper';\nimport { EasyTableContext } from './context';\nimport { FoldOperate } from './fold-operate';\nimport { FoldOperateDropdown } from './fold-operate-dropdown';\nimport { easyTableModel } from './model';\nimport './style.less';\nimport { EasyTableProps, EasyTableRefApi, TEasyTableTableColumn } from './type';\n\nexport const EasyTable = forwardRef<EasyTableRefApi, EasyTableProps>((props, ref) => {\n const [dataSource, setDataSource] = useState<TPlainObject[]>();\n const [total, setTotal] = useState<number>(0);\n const [loading, setLoading] = useState<boolean>(false);\n const easyTableId = hooks.useId(undefined, 'easy-table-key');\n const columnFoldConfig = props.columnFoldConfig;\n\n const [columnFoldOpen, setColumnFoldOpen] = useState(false);\n\n const [showFoldKeyList, setShowFoldKeyList] = useState<string[]>(() => {\n if (columnFoldConfig?.cacheKey) {\n const cacheValue = localStorageCache.get(`easy_tab_${columnFoldConfig.cacheKey}`);\n const cacheKeyList = isArray(cacheValue?.keys)\n ? (cacheValue?.keys?.filter((item) => isString(item)) as string[])\n : [];\n return cacheKeyList.length > 0 ? cacheKeyList : columnFoldConfig?.initSelectedKeys || [];\n } else {\n return columnFoldConfig?.initSelectedKeys || [];\n }\n });\n\n const modelKey = useMemo(() => {\n if (props.cacheSwitch === true) {\n return location.pathname;\n }\n if (typeof props.cacheSwitch === 'string') {\n return props.cacheSwitch;\n }\n return easyTableId;\n }, [easyTableId, props.cacheSwitch]);\n\n const [state, actions] = easyTableModel(modelKey).useStore();\n const pageSize = props.pageSize || props.initialPaginationParams?.pageSize || 10;\n const initRequest = props.initRequest === undefined ? true : props.initRequest;\n const paginationStatusRef = useRef(false);\n const respOriginalDataRef = useRef<TAny>();\n const baseColumnsRef = useRef<TEasyTableTableColumn<TPlainObject>[]>([]);\n const [dynamicColumns, setDynamicColumns] = useState<TEasyTableTableColumn<TPlainObject>[]>();\n\n const fieldNames = {\n list: 'list',\n total: 'total',\n pageNo: 'pageNo',\n pageSize: 'pageSize',\n ...props.fieldNames,\n };\n\n const [form] = Form.useForm(props.form);\n\n const onInnerRequest = hooks.useCallbackRef(async (params) => {\n try {\n setLoading(true);\n const allState = await actions.updateFilterCondition(params);\n const queryCondition = cloneState(allState.queryCondition || {});\n const { requestParamsAdapter, onRequest, requestResultAdapter, dynamicColumsAdapter } =\n props.serviceConfig;\n const paramsNew = requestParamsAdapter ? requestParamsAdapter(queryCondition) : queryCondition;\n const respData = (await onRequest(paramsNew)) || {};\n respOriginalDataRef.current = respData;\n props.onDataSourceChange?.(respData);\n let respDataNew: TPlainObject = respData;\n if (requestResultAdapter) {\n respDataNew = requestResultAdapter(respData);\n }\n if (dynamicColumsAdapter) {\n const dynamicColumns = dynamicColumsAdapter(respData, baseColumnsRef.current);\n /** 不要添加默认值 */\n setDynamicColumns(dynamicColumns);\n }\n const respList = get(respDataNew, fieldNames.list);\n setDataSource(isArray(respList) ? respList : []);\n setTotal(get(respDataNew, fieldNames.total));\n setLoading(false);\n } catch (error) {\n setLoading(false);\n if (props.onRequestErrorHandle) {\n props.onRequestErrorHandle(error);\n } else {\n void message.error(error.message);\n }\n }\n });\n\n fbaHooks.useEffectCustom(() => {\n const hasPagination = getPaginationStatus();\n if (initRequest !== false || !state.isInit) {\n if (hasPagination) {\n void onInnerRequest({\n [fieldNames.pageNo]: 1,\n [fieldNames.pageSize]: pageSize,\n ...props.initialValues,\n ...state.queryCondition,\n });\n } else {\n void onInnerRequest(props.initialValues);\n }\n } else {\n void actions.updateFilterCondition(props.initialValues);\n }\n void actions.updateInitStatus();\n }, []);\n\n const clearQueryCondition = hooks.useCallbackRef(async (values?: TPlainObject) => {\n await actions.resetFilterCondition();\n form.resetFields();\n if (values) {\n void actions.updateFilterCondition(values);\n form.setFieldsValue(values);\n }\n });\n\n const getPaginationData = (pageNo: number, _pageSize: number) => {\n if (getPaginationStatus()) {\n return {\n [fieldNames.pageNo]: pageNo,\n [fieldNames.pageSize]: _pageSize || pageSize,\n };\n } else {\n return {\n [fieldNames.pageNo]: undefined,\n [fieldNames.pageSize]: undefined,\n };\n }\n };\n\n const onResetRequest = hooks.useCallbackRef(async (values?: TPlainObject) => {\n const params = {\n ...getPaginationData(1, state.queryCondition[fieldNames.pageSize]),\n ...props.initialValues,\n ...values,\n };\n await actions.resetFilterCondition(params);\n form.resetFields();\n if (values) {\n form.setFieldsValue(values);\n }\n void onInnerRequest(params);\n });\n\n const getRequestParams = hooks.useCallbackRef(() => {\n return {\n ...state.queryCondition,\n ...form.getFieldsValue(),\n };\n });\n\n const onOpenColumnFoldModal = hooks.useCallbackRef(() => {\n setColumnFoldOpen(true);\n });\n const onCloseColumnFoldModal = hooks.useCallbackRef(() => {\n setColumnFoldOpen(false);\n });\n\n const getEasyTableRef = () => {\n return {\n /**\n * 参数\n * 1. 不用添加已存在的搜索条件\n * 2. 此处可重新\n */\n onRequest: onInnerRequest,\n clearQueryCondition,\n getRequestParams,\n onResetRequest,\n form,\n getDataSource: () => {\n return respOriginalDataRef.current;\n },\n onFilterDataSource: (filterDataSource) => {\n setDataSource(filterDataSource);\n },\n onClearDataSource: () => {\n setTotal(0);\n setDataSource([]);\n },\n onUpdateDataSource: (dataList) => {\n setDataSource(dataList);\n respOriginalDataRef.current = dataList;\n props.onDataSourceChange?.(dataList);\n },\n columnFoldTriggerRender: (children) => {\n if (props.columnFoldConfig?.triggerType === 'drawer') {\n return cloneElement(children, {\n onClick: onOpenColumnFoldModal,\n });\n }\n return (\n <FoldOperateDropdown\n dataList={foldColumnList as TAny[]}\n onChange={onChangeFoldColumnList}\n cacheKey={columnFoldConfig?.cacheKey}\n initSelectedRowKeys={showFoldKeyList}\n >\n {children}\n </FoldOperateDropdown>\n );\n },\n loading,\n };\n };\n\n useImperativeHandle(ref, () => {\n return getEasyTableRef();\n });\n\n const onSetPaginationStatus = (status: boolean) => {\n paginationStatusRef.current = status;\n };\n\n const onSetBaseColumns = (base) => {\n baseColumnsRef.current = base;\n };\n\n const onFormFinish = () => {\n const values = form.getFieldsValue();\n if (props.onFormFinish) {\n props.onFormFinish({\n ...values,\n ...getPaginationData(1, state.queryCondition[fieldNames.pageSize]),\n });\n } else {\n void onInnerRequest({\n ...values,\n ...getPaginationData(1, state.queryCondition[fieldNames.pageSize]),\n });\n }\n };\n const isFull = isUndefined(props.isFull) ? true : props.isFull;\n const className = classNames(\n 'fba-easy-table',\n {\n 'fba-easy-table-full': isFull,\n 'fba-easy-table-filter-fixed': props.filterFixed,\n 'fba-easy-table-pagination-fixed': props.paginationFixed,\n },\n props.className,\n );\n\n const paginationData = useMemo(() => {\n return {\n showSizeChanger: true,\n current: state.queryCondition[fieldNames.pageNo] || 1,\n pageSize: state.queryCondition[fieldNames.pageSize] || pageSize,\n total: total,\n showTotal: (total) => `共 ${total} 条记录`,\n ...props.pagination,\n };\n }, [fieldNames.pageNo, fieldNames.pageSize, pageSize, props.pagination, state.queryCondition, total]);\n\n const columnsMerge = (dynamicColumns ? dynamicColumns : baseColumnsRef.current) as TPlainObject[];\n\n let tableColumns = useMemo(() => {\n const tempList = columnsMerge\n .map((item) => {\n const { tooltip, tipsWrapperProps, title, hidden, isFold, ...otherProps } = item;\n if (hidden) return null;\n if (isFold && !showFoldKeyList.includes(item.dataIndex as string)) return null;\n if (typeof title === 'string' && tipsWrapperProps) {\n if (typeof tipsWrapperProps === 'string') {\n return {\n ...otherProps,\n title: (\n <TipsWrapper tipType=\"popover\" popoverProps={{ content: tipsWrapperProps }}>\n {title}\n </TipsWrapper>\n ),\n };\n }\n return {\n ...otherProps,\n title: <TipsWrapper {...tipsWrapperProps}>{title}</TipsWrapper>,\n };\n }\n if (typeof title === 'string' && !!tooltip) {\n return {\n ...otherProps,\n title: <TableTitleTooltip tooltip={tooltip} title={title}></TableTitleTooltip>,\n };\n }\n return item;\n })\n .filter(Boolean);\n return [...tempList] as TPlainObject[];\n }, [columnsMerge, showFoldKeyList]);\n\n const foldColumnList = columnsMerge.filter((item: any) => {\n return !item.hidden && item.isFold && item.dataIndex;\n });\n\n const onChangeFoldColumnList = (keyList: string[]) => {\n setShowFoldKeyList(keyList);\n columnFoldConfig?.onChange?.(keyList);\n };\n\n tableColumns = useMemo(() => {\n if (columnFoldConfig?.hidden) return tableColumns;\n const finalItem = tableColumns[tableColumns.length - 1] as TPlainObject;\n if (foldColumnList.length > 0 && tableColumns.length > 0) {\n const foldColumnTarget = tableColumns.find((item) => item['_isFoldColumn']);\n\n if (foldColumnTarget && finalItem.dataIndex !== foldColumnTarget.dataIndex) {\n foldColumnTarget.title = foldColumnTarget['_isFoldTitle'];\n foldColumnTarget['_isFoldColumn'] = false;\n }\n if (!finalItem['_isFoldColumn']) {\n finalItem['_isFoldTitle'] = finalItem['_isFoldTitle'] || finalItem.title;\n finalItem['_isFoldColumn'] = true;\n\n const triggerType = columnFoldConfig?.triggerType;\n\n finalItem.title = (\n <FlexLayout direction=\"horizontal\" fullIndex={0} style={{ alignItems: 'center' }}>\n <span>{finalItem.title}</span>\n <div style={{ padding: '0 5px 0 20px', display: 'flex' }}>\n {triggerType === 'drawer' ? (\n <IconWrapper\n onClick={onOpenColumnFoldModal}\n text={columnFoldConfig?.text}\n size=\"small\"\n icon={columnFoldConfig?.icon || <SvgHttpView svgPath=\"ionic/list-circle\" color=\"#868686\" />}\n hoverTips={columnFoldConfig?.hoverTipText || '字段列表'}\n style={{ padding: 0, margin: 0 }}\n />\n ) : (\n <FoldOperateDropdown\n dataList={foldColumnList as TAny[]}\n onChange={onChangeFoldColumnList}\n cacheKey={columnFoldConfig?.cacheKey}\n initSelectedRowKeys={showFoldKeyList}\n >\n <IconWrapper\n text={columnFoldConfig?.text}\n style={{ padding: 0, margin: 0 }}\n size=\"small\"\n icon={\n columnFoldConfig?.icon || <SvgHttpView svgPath=\"ionic/list-circle\" color=\"#868686\" />\n }\n />\n </FoldOperateDropdown>\n )}\n </div>\n </FlexLayout>\n );\n }\n }\n return tableColumns;\n }, [tableColumns, foldColumnList, columnFoldConfig]);\n\n const onChange = hooks.useCallbackRef((page: number, pageSize: number) => {\n void onInnerRequest({\n [fieldNames.pageSize]: pageSize,\n [fieldNames.pageNo]: page,\n });\n props.pagination?.onChange?.(page, pageSize);\n });\n\n const getPaginationStatus = () => {\n return props.paginationFixed || paginationStatusRef.current;\n };\n\n // 分页参数发生变更\n hooks.useUpdateEffect(() => {\n if (props.paginationFixed) {\n onInnerRequest({\n [fieldNames.pageSize]: state.queryCondition[fieldNames.pageSize] || pageSize,\n [fieldNames.pageNo]: 1,\n });\n } else {\n onInnerRequest({\n [fieldNames.pageSize]: undefined,\n [fieldNames.pageNo]: undefined,\n });\n }\n }, [props.paginationFixed]);\n\n const wrapperClassName = classNames(\n 'fba-easy-table-wrapper',\n {\n 'fba-easy-table-wrapper-inline': props.isInline,\n },\n props.className,\n );\n\n const wrapperStyle: CSSProperties = {\n overflowY: props.filterFixed || props.paginationFixed ? 'hidden' : 'auto',\n ...props.style,\n };\n\n const children =\n typeof props.children === 'function' ? props.children(respOriginalDataRef.current) : props.children;\n\n return (\n <EasyTableContext.Provider\n value={{\n onSetBaseColumns,\n getEasyTableRef,\n modelKey,\n onRequest: onInnerRequest,\n tableDataSource: dataSource,\n tableTotal: total,\n loading,\n fieldNames,\n pageSize,\n onSetPaginationStatus,\n getPaginationStatus,\n onFormFinish,\n form,\n paginationFixed: props.paginationFixed || false,\n foldKeys: props.foldKeys || [],\n columns: tableColumns,\n initialValues: props.initialValues,\n }}\n >\n {props.paginationFixed ? (\n <div className={wrapperClassName} style={wrapperStyle}>\n <div className={className}>{children}</div>\n {total > 0 && (\n <div className=\"fba-easy-table-pagination\">\n <PaginationWrapper size=\"small\" {...paginationData} onChange={onChange} />\n </div>\n )}\n </div>\n ) : (\n <div className={wrapperClassName} style={props.style}>\n {children}\n </div>\n )}\n <FoldOperate\n dataList={foldColumnList as TAny[]}\n onClose={onCloseColumnFoldModal}\n open={columnFoldOpen}\n onChange={onChangeFoldColumnList}\n cacheKey={columnFoldConfig?.cacheKey}\n initSelectedRowKeys={showFoldKeyList}\n />\n </EasyTableContext.Provider>\n );\n});\n","import { DownOutlined, UpOutlined } from '@ant-design/icons';\nimport { isUndefined } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { TAny } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { FormInstance } from 'antd';\nimport { Children, CSSProperties, ReactElement, useContext, useMemo, useState } from 'react';\nimport { isFragment } from 'react-is';\nimport { BlockLayout } from '../block-layout';\nimport { ButtonWrapper, ButtonWrapperProps } from '../button-wrapper';\nimport { EasyForm, EasyFormProps } from '../easy-form';\nimport { useResponsivePoint } from '../fba-hooks/use-responsive-point';\nimport { FormGrid } from '../form-grid';\nimport { FormOperateColProps } from '../form-grid/form-operate-col';\nimport { FormRowProps } from '../form-grid/form-row';\nimport { EasyTableContext } from './context';\nimport { easyTableModel } from './model';\n\nexport type EasyTableFilterProps = {\n children: ReactElement | ReactElement[] | ((form: FormInstance) => ReactElement);\n /** isPure = true时无效 */\n filterOperate?: (form: FormInstance) => FormOperateColProps;\n /** 是否为纯净模式(查询条件布局是否自定义), */\n isPure?: boolean;\n /** 查询按钮配置 */\n queryButtonProps?: Omit<ButtonWrapperProps, 'onClick'> & { text?: string };\n /** 重置按钮配置 */\n resetButtonProps?: Omit<ButtonWrapperProps, 'onClick'> & { text?: string };\n /**\n * 网格布局设置\n * default = { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 };\n * small = { xs: 24, sm: 8, md: 8, lg: 6, xl: 6, xxl: 6 };\n */\n formGridSize?: FormRowProps['gridSize'];\n /**\n * @deprecated已过期,使用 easyFormProps.className 配置\n */\n formClassName?: string;\n /**\n * @deprecated已过期,使用 easyFormProps.style 配置\n */\n formStyle?: CSSProperties;\n /** filter Form 外层 BlockLayout style */\n filterWrapperStyle?: CSSProperties;\n /** filter Form 外层 BlockLayout className */\n filterWrapperClassName?: string;\n /**\n * 自定义 filterOperate.rightList 后 默认【查询、重置】按钮处理逻辑\n * 1. cover:覆盖内部查询重置按钮(默认值)\n * 2. beforeAppend:添加到【查询重置】按钮前面\n * 3. afterAppend:添加到【查询重置】按钮后面\n *\n * 如果想隐藏【查询、重置】按钮中的某一个,可设置 queryButtonProps.hidden、resetButtonProps.hidden\n */\n rightOperateAreaAppendType?: 'cover' | 'beforeAppend' | 'afterAppend';\n /** 默认重启按钮触发请求,默认值:true */\n defaultResetButtonTriggerRequest?: boolean;\n easyFormProps?: Omit<\n EasyFormProps,\n 'isPure' | 'column' | 'forceColumn' | 'width' | 'gridGutter' | 'children'\n >;\n};\n\n/**\n * 过滤条件\n *```\n * 1. 用法1\n * -- 默认网格布局 规则:{ xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 }\n * <EasyTableFilter>\n * <FormItemWrapper name=\"field1\" label=\"条件1\">xxx</FormItemWrapper>\n * </EasyTableFilter>\n *\n * -- 自定义网格布局 使用 FormCol组件包装 FormItemWrapper\n * <EasyTableFilter>\n * <FormCol span={12}><FormItemWrapper name=\"field1\" label=\"条件1\">xxx</FormItemWrapper></FormCol>\n * </EasyTableFilter>\n *\n * -- children 可为 function\n * <EasyTableFilter>\n * {(form) => {\n * return <FormItemWrapper name=\"field1\" label=\"条件1\">xxx</FormItemWrapper>\n * }}\n * </EasyTableFilter>\n *\n * 2. 用户2(自定义布局)\n * EasyTableFilter设置 isPure = true,FormItem无布局规则\n * 3. EasyTableFilter中内置了 Form 标签,当children为函数时,可获取form实例\n * 4. 默认布局下,可通过设置 filterOperate 设置操作按钮\n * 5. Filter 子节点包含 hidden = true 会被忽略\n * 6. 如果想隐藏【查询、重置】按钮中的某一个,可设置 queryButtonProps.hidden、resetButtonProps.hidden\n * 7. 通过设置 defaultResetButtonTriggerRequest,默认重启按钮触发请求,默认值:true\n * 8. EasyTableFilter 子节点可使用 FormItemWrapper,FormItemWrapper中可配置label宽度等\n *```\n */\nexport const EasyTableFilter = (props: EasyTableFilterProps) => {\n const screenType = useResponsivePoint() || 'md';\n const ctx = useContext(EasyTableContext);\n const {\n queryButtonProps,\n resetButtonProps,\n filterOperate,\n formClassName = '',\n defaultResetButtonTriggerRequest,\n filterWrapperStyle,\n filterWrapperClassName,\n rightOperateAreaAppendType,\n easyFormProps,\n } = props;\n const {\n modelKey,\n foldKeys,\n fieldNames,\n onRequest,\n pageSize,\n getPaginationStatus,\n initialValues,\n form,\n onFormFinish,\n } = ctx;\n const children = typeof props.children === 'function' ? props.children(form) : props.children;\n\n const rightOperateAreaAppendTypeFt = rightOperateAreaAppendType || 'cover';\n const childrens = useMemo(() => {\n if (isFragment(children)) {\n return Children.toArray((children as ReactElement).props.children) as ReactElement[];\n } else {\n return Children.toArray(children) as ReactElement[];\n }\n }, [children]);\n\n const [openFold, setOpenFold] = useState(false);\n\n const [state, actions] = easyTableModel(modelKey).useStore();\n\n const onReset = hooks.useCallbackRef(async () => {\n await actions.resetFilterCondition();\n form.resetFields();\n if (isUndefined(defaultResetButtonTriggerRequest) || defaultResetButtonTriggerRequest) {\n if (getPaginationStatus()) {\n onRequest({\n [fieldNames.pageNo]: 1,\n [fieldNames.pageSize]: pageSize,\n ...initialValues,\n });\n } else {\n onRequest(initialValues);\n }\n }\n });\n\n const formRowChildren = useMemo(() => {\n const defaultRightList = [\n !queryButtonProps?.hidden ? (\n <ButtonWrapper key=\"1\" type=\"primary\" htmlType=\"submit\" {...queryButtonProps}>\n {queryButtonProps?.text || '查询'}\n </ButtonWrapper>\n ) : null,\n !resetButtonProps?.hidden ? (\n <ButtonWrapper key=\"2\" onClick={onReset} {...resetButtonProps}>\n {resetButtonProps?.text || '重置'}\n </ButtonWrapper>\n ) : null,\n ].filter(Boolean);\n const customFormOperateCol = filterOperate?.(form);\n const customRightList = customFormOperateCol?.rightList;\n const leftList: TAny[] = customFormOperateCol?.leftList || [];\n\n let rightList: TAny[] = defaultRightList;\n if (customRightList) {\n if (rightOperateAreaAppendTypeFt === 'afterAppend') {\n rightList = [...defaultRightList, ...customRightList];\n } else if (rightOperateAreaAppendTypeFt === 'beforeAppend') {\n rightList = [...customRightList, ...defaultRightList];\n } else {\n rightList = customRightList;\n }\n }\n\n if (foldKeys.length > 0) {\n const changeFolditem = (\n <ButtonWrapper\n type=\"link\"\n key=\"fold-trigger\"\n style={{ padding: '0' }}\n onClick={() => {\n setOpenFold(!openFold);\n }}\n >\n {openFold ? (\n <span>\n 收起\n <UpOutlined style={{ marginLeft: 3, fontSize: 12 }} />\n </span>\n ) : (\n <span>\n 展开\n <DownOutlined style={{ marginLeft: 3, fontSize: 12 }} />\n </span>\n )}\n </ButtonWrapper>\n );\n\n if (rightList.length > 0 || leftList.length === 0) {\n rightList.push(changeFolditem);\n } else if (leftList?.length > 0) {\n leftList.push(changeFolditem);\n }\n }\n\n return childrens\n .map((item, index) => {\n if (!openFold && foldKeys.find((keyItem) => `.$${keyItem}` === item.key)) return null;\n if (item.props['hidden']) return null;\n if (item.type['domTypeName'] === 'FormCol') return item;\n return <FormGrid.Col key={index}>{item}</FormGrid.Col>;\n })\n .filter(Boolean)\n .concat(\n <FormGrid.OperateCol key={999} {...customFormOperateCol} leftList={leftList} rightList={rightList} />,\n );\n }, [\n childrens,\n filterOperate,\n foldKeys,\n form,\n onReset,\n openFold,\n queryButtonProps,\n resetButtonProps,\n rightOperateAreaAppendTypeFt,\n ]);\n\n const labelAlign = screenType === 'xs' ? 'left' : easyFormProps?.labelAlign || 'right';\n\n return (\n <BlockLayout\n className={classNames('easy-table-filter', filterWrapperClassName)}\n style={filterWrapperStyle}\n >\n <EasyForm\n form={form}\n autoComplete=\"off\"\n onFinish={onFormFinish}\n initialValues={{\n ...initialValues,\n ...state.queryCondition,\n }}\n className={formClassName}\n style={props.formStyle}\n isPure={true}\n labelWidth=\"80\"\n formItemGap=\"15\"\n {...easyFormProps}\n labelAlign={labelAlign}\n >\n {props.isPure ? (\n children\n ) : (\n <FormGrid.Row gutter={[15, 0]} gridSize={props.formGridSize}>\n {formRowChildren}\n </FormGrid.Row>\n )}\n </EasyForm>\n </BlockLayout>\n );\n};\n","import { useContext } from 'react';\nimport { EasyTableContext } from './context';\n\n/**\n * 在 EasyTable子组件内才可使用\n * @returns\n */\nexport const useEasyTable = () => {\n const ctx = useContext(EasyTableContext);\n return ctx.getEasyTableRef();\n};\n\n/**\n * @deprecated 已过时 @4.5.0版本移除,请使用 useEasyTable\n * @returns\n */\nexport const useEasyTablRef = () => {\n const ctx = useContext(EasyTableContext);\n return {\n current: ctx.getEasyTableRef(),\n };\n};\n","import { classNames } from '@dimjs/utils';\nimport { getUuid, isMacEnv, isUndefinedOrNull, TAny, TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Table, TableProps } from 'antd';\nimport { CSSProperties, Fragment, ReactElement, useContext, useMemo } from 'react';\nimport { BlockLayout } from '../block-layout';\nimport { fbaHooks } from '../fba-hooks';\nimport { SmallSelect } from '../pagination-wrapper/select';\nimport { TableScrollbar } from '../table-scrollbar';\nimport { EasyTableContext } from './context';\nimport { easyTableModel } from './model';\nimport { TEasyTableTableColumn } from './type';\n\nexport type EasyTableTableProps<T> = Omit<\n TableProps<TAny>,\n 'dataSource' | 'loading' | 'rowKey' | 'columns'\n> & {\n children?: ReactElement | ReactElement[];\n /**\n * 表格行 key 的取值,\n * ```\n * 如果 rowKey 为string类型\n * 1. 组件会判断表格列表数据第一条是否存在当前rowKey对象的数据,如果没有组件内部会动态添加唯一值\n * 2. 基于上一条的逻辑,如果表格数据没有唯一值,可指定 rowKey 值为table数据中不存在的字段名,例如:rowKey=\"_uid\"\n * 3. 如果触发上述逻辑,表格数据中会多出rowKey对应的键值对数据\n * ```\n */\n rowKey: TableProps<TAny>['rowKey'];\n /** table Form 外层 SimpleLayout className */\n tableWrapperStyle?: CSSProperties;\n /** table Form 外层 SimpleLayout className */\n tableWrapperClassName?: string;\n columns: TEasyTableTableColumn<T>[];\n /**\n * 数据加载与表格初始化渲染 是否同步\n * @version 4.4.6\n * ```\n * 1. true:获取数据后再初始化渲染表格(可用于实现表格中defaultXxxx相关功能的使用)\n * ```\n */\n isSync?: boolean;\n /**\n * 空效果显示尺寸,默认值:small\n * @version 4.4.6\n */\n emptyShowSize?: 'small' | 'large';\n};\n\n/**\n * 表格渲染\n * @param props\n * ```\n * 1. 继承了 TableProps 可设置antd table功能\n * 2. 分页功能已内置处理,不调用 onChange\n * ```\n */\nexport const EasyTableTable = <T extends TPlainObject>(props: EasyTableTableProps<T>) => {\n const ctx = useContext(EasyTableContext);\n const { children, rowKey, pagination, isSync, ...otherProps } = props;\n\n const {\n modelKey,\n fieldNames,\n onRequest,\n tableDataSource,\n pageSize,\n tableTotal,\n loading,\n paginationFixed,\n onSetPaginationStatus,\n } = ctx;\n const [state] = easyTableModel(modelKey).useStore();\n fbaHooks.useEffectCustom(() => {\n ctx.onSetBaseColumns((props.columns || []) as TEasyTableTableColumn<TPlainObject>[]);\n }, [props.columns]);\n\n fbaHooks.useEffectCustom(() => {\n onSetPaginationStatus(pagination !== false);\n }, [pagination]);\n\n // 分页参数发生变更\n hooks.useUpdateEffect(() => {\n if (!paginationFixed) {\n if (pagination !== false) {\n onRequest({\n [fieldNames.pageSize]: state.queryCondition[fieldNames.pageSize] || pageSize,\n [fieldNames.pageNo]: 1,\n });\n } else {\n onRequest({\n [fieldNames.pageSize]: undefined,\n [fieldNames.pageNo]: undefined,\n });\n }\n }\n }, [pagination]);\n\n const tablePaginationData = useMemo(() => {\n if (paginationFixed || pagination === false) return false;\n return {\n showSizeChanger: true,\n current: state.queryCondition[fieldNames.pageNo] || 1,\n pageSize: state.queryCondition[fieldNames.pageSize] || pageSize,\n total: tableTotal,\n showTotal: (total) => `共 ${total} 条记录`,\n ...props.pagination,\n selectComponentClass: SmallSelect,\n };\n }, [\n fieldNames.pageNo,\n fieldNames.pageSize,\n pageSize,\n pagination,\n paginationFixed,\n props.pagination,\n state.queryCondition,\n tableTotal,\n ]);\n\n const onChangePage: TableProps<TAny>['onChange'] = (pagination, filters, sorter, extra) => {\n if (extra.action === 'paginate' && tablePaginationData) {\n onRequest({\n [fieldNames.pageSize]: pagination.pageSize,\n [fieldNames.pageNo]: pagination.current,\n });\n } else {\n props.onChange?.(pagination, filters, sorter, extra);\n }\n };\n\n const dataSource = useMemo(() => {\n if (!tableDataSource) return undefined;\n if (tableDataSource.length === 0) {\n return [];\n }\n if (typeof rowKey === 'string' && isUndefinedOrNull(tableDataSource[0][rowKey])) {\n return tableDataSource.map((item) => {\n item[rowKey] = getUuid();\n return item;\n });\n }\n return tableDataSource;\n }, [tableDataSource, rowKey]);\n\n const tableRender = () => {\n if (isSync && !dataSource) {\n /** loading表格 */\n return (\n <Fragment>\n {children}\n <Table\n key=\"1\"\n size=\"small\"\n scroll={{ x: 'max-content' }}\n bordered\n rowKey={rowKey as any}\n columns={ctx.columns}\n loading={true}\n />\n </Fragment>\n );\n }\n if (isMacEnv()) {\n return (\n <Fragment>\n {children}\n <Table\n key=\"2\"\n size=\"small\"\n scroll={{ x: 'max-content' }}\n bordered\n {...otherProps}\n columns={ctx.columns}\n pagination={tablePaginationData}\n rowKey={rowKey}\n onChange={onChangePage}\n loading={loading}\n dataSource={dataSource}\n />\n </Fragment>\n );\n }\n return (\n <Fragment>\n {children}\n <TableScrollbar>\n <Table\n key=\"3\"\n size=\"small\"\n scroll={{ x: 'max-content' }}\n bordered\n {...otherProps}\n columns={ctx.columns}\n pagination={tablePaginationData}\n rowKey={rowKey}\n onChange={onChangePage}\n loading={loading}\n dataSource={dataSource}\n />\n </TableScrollbar>\n </Fragment>\n );\n };\n\n return (\n <BlockLayout\n className={classNames(\n 'easy-table-table',\n { 'ett-empty-show-small': props.emptyShowSize === 'small' },\n props.tableWrapperClassName,\n )}\n style={props.tableWrapperStyle}\n >\n {tableRender()}\n </BlockLayout>\n );\n};\n","import { fbaUtils } from '../fba-utils';\nimport { EasyTable as EasyTableInner } from './easy-table';\nimport { EasyTableFilter } from './filter';\nimport { useEasyTable, useEasyTablRef } from './hooks';\nimport { EasyTableTable } from './table';\n\n/**\n * 对 查询条件+表格数据 进行深度封装,内置数据交互处理\n * ```\n * Demo https://fex.qa.tcshuke.com/docs/admin/main/crud/easy-table\n *\n * 1. 废弃modelKey参数\n * 2. 如果需要在路由跳转回退中缓存查询条件,设置cacheSwitch=true\n * 3. 需要获取查询条件、主动发起请求等可通过ref、useEasyTable操作\n * 4. 可通过属性 initRequest 设置初始化是否请求数据\n * 5. 可通过属性 fieldNames 来设置自定义变量,默认值为:list、total、pageNo、pageSize\n * 6. isFull=true,设置【在父节点高度下,上下铺满】(默认值:true)\n * 7. filterFixed=true,设置查询条件固定,不随滚动条滚动\n * 8. paginationFixed=true,可设置分页条件在底部固定,不随滚动条滚动\n * 9. foldKeys=string[],查询条件展开、收起,被收起数组内容为EasyTable.Filter 子节点key值\n * 10. windows环境下,会在EasyTable.Table外部包装一下 TableScrollbar,提高windows下table左右滚动体验\n * 11. 可实现部分字段折叠,手动选择显示,将EasyTable.Table columns中isFold属性设为true,可通过EasyTable columnFoldConfig配置属性,demo(https://fex.qa.tcshuke.com/docs/admin/main/crud/demo1)\n * ```\n */\nexport const EasyTable = fbaUtils.attachPropertiesToComponent(EasyTableInner, {\n /**\n * 过滤条件\n *```\n * 1. 用法1\n * -- 默认网格布局 规则:{ xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 }\n * <EasyTable.Filter>\n * <FormItemWrapper name=\"field1\" label=\"条件1\">xxx</FormItemWrapper>\n * </EasyTable.Filter>\n *\n * -- 自定义网格布局 使用 FormCol组件包装 FormItemWrapper\n * <EasyTable.Filter>\n * <FormCol span={12}><FormItemWrapper name=\"field1\" label=\"条件1\">xxx</FormItemWrapper></FormCol>\n * </EasyTable.Filter>\n *\n * -- children 可为 function\n * <EasyTable.Filter>\n * {(form) => {\n * return <FormItemWrapper name=\"field1\" label=\"条件1\">xxx</FormItemWrapper>\n * }}\n * </EasyTable.Filter>\n * 2. 用户2(自定义布局)\n * EasyTable.Filter设置 isPure = true,FormItem无布局规则\n * 3. EasyTable.Filter中内置了 Form 标签,当children为函数时,可获取form实例\n * 4. 默认布局下,可通过设置 filterOperate 设置操作按钮\n * 5. Filter 子节点包含 hidden = true 会被忽略\n * 6. 如果想隐藏【查询、重置】按钮中的某一个,可设置 queryButtonProps.hidden、resetButtonProps.hidden\n * 7. EasyTableFilter 子节点可使用 FormItemWrapper,FormItemWrapper中可配置label宽度等\n * 8. 通过easyFormProps属性可整体控制子节点FormItem布局\n *```\n */\n Filter: EasyTableFilter,\n /**\n * 表格渲染\n * @param props\n * ```\n * 1. 继承了 TableProps 可设置antd table功能\n * 2. 分页功能已内置处理,不调用 onChange\n * ```\n */\n Table: EasyTableTable,\n /**\n * @deprecated 已过时 4.3.0版本移除,请使用 useEasyTable\n */\n useEasyTablRef: useEasyTablRef,\n\n /** 在 EasyTable子组件内才可使用 */\n useEasyTable: useEasyTable,\n});\n"],"names":["EasyTableContext","createContext","onRequest","noop","tableList","getEasyTableRef","FoldOperate","props","_useState","useState","initSelectedRowKeys","selectedRowKeys","setSelectedRowKeys","rowSelection","type","onChange","cacheKey","localStorageCache","set","keys","columns","title","dataIndex","render","value","recrd","_jsx","Fragment","children","Drawer","open","onClose","width","styles","body","padding","Table","bordered","size","rowKey","pagination","scroll","x","dataSource","dataList","FoldOperateDropdown","content","Checkbox","Group","defaultValue","style","display","flexDirection","map","item","label","onChangeAll","e","target","checked","Popover","length","placement","overlayClassName","defaultState","queryCondition","isInit","_EasyTableModel","actions","updateFilterCondition","params","state","_extends","resetFilterCondition","updateInitStatus","easyTableModels","easyTableModel","key","Model","EasyTable","forwardRef","ref","_props$initialPaginat","setDataSource","_useState2","total","setTotal","_useState3","loading","setLoading","easyTableId","_hooks","useId","undefined","columnFoldConfig","_useState4","columnFoldOpen","setColumnFoldOpen","_useState5","_cacheValue$keys","cacheValue","get","cacheKeyList","_isArray","filter","_isString","initSelectedKeys","showFoldKeyList","setShowFoldKeyList","modelKey","useMemo","cacheSwitch","location","pathname","_easyTableModel$useSt","useStore","pageSize","initialPaginationParams","initRequest","paginationStatusRef","useRef","respOriginalDataRef","baseColumnsRef","_useState6","dynamicColumns","setDynamicColumns","fieldNames","list","pageNo","_Form$useForm","Form","useForm","form","onInnerRequest","useCallbackRef","Promise","$return","$error","allState","_props$serviceConfig","requestParamsAdapter","requestResultAdapter","dynamicColumsAdapter","paramsNew","respData","respDataNew","_dynamicColumns","respList","$Try_1_Post","$boundEx","$Try_1_Catch","error","onRequestErrorHandle","message","resolve","then","$await_2","cloneState","serviceConfig","$await_3","current","onDataSourceChange","_get","fbaHooks","useEffectCustom","hasPagination","getPaginationStatus","_extends2","initialValues","clearQueryCondition","values","$await_4","resetFields","setFieldsValue","getPaginationData","_pageSize","_ref","_ref2","onResetRequest","$await_5","getRequestParams","getFieldsValue","onOpenColumnFoldModal","onCloseColumnFoldModal","getDataSource","onFilterDataSource","filterDataSource","onClearDataSource","onUpdateDataSource","columnFoldTriggerRender","_props$columnFoldConf","triggerType","cloneElement","onClick","foldColumnList","onChangeFoldColumnList","useImperativeHandle","onSetPaginationStatus","status","onSetBaseColumns","base","onFormFinish","isFull","_isUndefined","className","_classNames","filterFixed","paginationFixed","paginationData","showSizeChanger","showTotal","columnsMerge","tableColumns","tempList","tooltip","tipsWrapperProps","hidden","isFold","otherProps","_objectWithoutPropertiesLoose","_excluded","includes","TipsWrapper","tipType","popoverProps","TableTitleTooltip","Boolean","concat","keyList","finalItem","foldColumnTarget","find","_jsxs","FlexLayout","direction","fullIndex","alignItems","IconWrapper","text","icon","SvgHttpView","svgPath","color","hoverTips","hoverTipText","margin","page","_onInnerRequest","_props$pagination","useUpdateEffect","_onInnerRequest2","_onInnerRequest3","wrapperClassName","isInline","wrapperStyle","overflowY","Provider","tableDataSource","tableTotal","foldKeys","PaginationWrapper","EasyTableFilter","screenType","useResponsivePoint","ctx","useContext","queryButtonProps","resetButtonProps","filterOperate","_props$formClassName","formClassName","defaultResetButtonTriggerRequest","filterWrapperStyle","filterWrapperClassName","rightOperateAreaAppendType","easyFormProps","rightOperateAreaAppendTypeFt","childrens","isFragment","Children","toArray","openFold","setOpenFold","onReset","$await_1","formRowChildren","defaultRightList","ButtonWrapper","htmlType","customFormOperateCol","customRightList","rightList","leftList","changeFolditem","_UpOutlined","marginLeft","fontSize","_DownOutlined","push","index","keyItem","FormGrid","Col","OperateCol","labelAlign","BlockLayout","EasyForm","autoComplete","onFinish","formStyle","isPure","labelWidth","formItemGap","Row","gutter","gridSize","formGridSize","useEasyTable","useEasyTablRef","EasyTableTable","isSync","_onRequest","_onRequest2","tablePaginationData","selectComponentClass","SmallSelect","onChangePage","filters","sorter","extra","action","_onRequest3","isUndefinedOrNull","getUuid","tableRender","isMacEnv","TableScrollbar","emptyShowSize","tableWrapperClassName","tableWrapperStyle","fbaUtils","attachPropertiesToComponent","EasyTableInner","Filter"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable */
2
2
  import './index.css';
3
3
  /*! @flatjs/forge MIT @flatbiz/antd */
4
- import{classNames as e}from"@dimjs/utils/cjs/class-names";import{isUndefined as r}from"@dimjs/lang/cjs/is-undefined";import{Popover as i,Tooltip as n}from"antd";import{jsxs as t,jsx as o}from"react/jsx-runtime";var s=function s(l){var a=r(l.gap)?5:l.gap;var c=e("icon-wrapper","icon-wrapper-"+(l.size||"middle"),{"icon-wrapper-hidden-hover-bgcolor":l.hideHoverBgColor,"icon-wrapper-tigger":l.onClick},l.className);if(l.hidden)return null;var p=l.position==="after"?t("span",{className:c,style:l.style,onClick:l.onClick,children:[l.text?o("span",{className:"icon-wrapper-text",style:{marginRight:a},children:l.text}):null,l.icon]}):t("span",{className:c,style:l.style,onClick:l.onClick,children:[l.icon,l.text?o("span",{className:"icon-wrapper-text",style:{marginLeft:a},children:l.text}):null]});if(l.hoverTips){if(l.tipsType==="popover"){return o(i,{content:l.hoverTips,children:p})}return o(n,{title:l.hoverTips,children:p})}return p};export{s as IconWrapper};
4
+ import{a as e,_ as r}from"../_rollupPluginBabelHelpers-a0769acd.js";import{classNames as i}from"@dimjs/utils/cjs/class-names";import{isUndefined as n}from"@dimjs/lang/cjs/is-undefined";import{Popover as t,Tooltip as o}from"antd";import{Fragment as s}from"react";import{jsx as a,jsxs as l}from"react/jsx-runtime";var p=["gap","size","hideHoverBgColor","onClick","className","hidden","style","icon","position","text","hoverTips","tipsType"];var c=function c(m){var d=m.gap,h=m.size,f=m.hideHoverBgColor,u=m.onClick,g=m.className,v=m.hidden,y=m.style,j=m.icon,w=m.position,x=m.text,C=m.hoverTips,N=m.tipsType,k=e(m,p);var T=n(d)?5:d;var b=i("icon-wrapper","icon-wrapper-"+(h||"middle"),{"icon-wrapper-hidden-hover-bgcolor":f,"icon-wrapper-tigger":!!Object.keys(m).find((function(e){return e.startsWith("on")}))},g);if(v)return a(s,{});var B=w==="after"?l("span",r({className:b,style:y,onClick:u},k,{children:[x?a("span",{className:"icon-wrapper-text",style:{marginRight:T},children:x}):null,j]})):l("span",r({className:b,style:y,onClick:u},k,{children:[j,x?a("span",{className:"icon-wrapper-text",style:{marginLeft:T},children:x}):null]}));if(C){if(N==="popover"){return a(t,r({content:C},k,{children:B}))}return a(o,r({title:C},k,{children:B}))}return B};export{c as IconWrapper};
5
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/icon-wrapper/icon-wrapper.tsx"],"sourcesContent":["import { isUndefined } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { Popover, Tooltip } from 'antd';\nimport { CSSProperties } from 'react';\nimport './style.less';\n\nexport type IconWrapperProps = {\n hoverTips?: string | React.ReactElement;\n /**\n * 提示类型\n * @default 'tooltip'\n */\n tipsType?: 'popover' | 'tooltip';\n icon?: React.ReactNode;\n style?: CSSProperties;\n text?: string | React.ReactElement;\n className?: string;\n size?: 'small' | 'middle' | 'large';\n onClick?: (event) => void;\n hideHoverBgColor?: boolean;\n hidden?: boolean;\n /** 图标对比文字的位置,默认:brefore */\n position?: 'before' | 'after';\n /** 图标与文字之间的间距 */\n gap?: number;\n};\nexport const IconWrapper = (props: IconWrapperProps) => {\n const gap = isUndefined(props.gap) ? 5 : props.gap;\n const className = classNames(\n 'icon-wrapper',\n `icon-wrapper-${props.size || 'middle'}`,\n {\n 'icon-wrapper-hidden-hover-bgcolor': props.hideHoverBgColor,\n 'icon-wrapper-tigger': props.onClick,\n },\n\n props.className,\n );\n\n if (props.hidden) return null;\n\n const _content =\n props.position === 'after' ? (\n <span className={className} style={props.style} onClick={props.onClick}>\n {props.text ? (\n <span className=\"icon-wrapper-text\" style={{ marginRight: gap }}>\n {props.text}\n </span>\n ) : null}\n {props.icon}\n </span>\n ) : (\n <span className={className} style={props.style} onClick={props.onClick}>\n {props.icon}\n {props.text ? (\n <span className=\"icon-wrapper-text\" style={{ marginLeft: gap }}>\n {props.text}\n </span>\n ) : null}\n </span>\n );\n if (props.hoverTips) {\n if (props.tipsType === 'popover') {\n return <Popover content={props.hoverTips}>{_content}</Popover>;\n }\n return <Tooltip title={props.hoverTips}>{_content}</Tooltip>;\n }\n return _content;\n};\n"],"names":["IconWrapper","props","gap","_isUndefined","className","_classNames","size","hideHoverBgColor","onClick","hidden","_content","position","_jsxs","style","children","text","_jsx","marginRight","icon","marginLeft","hoverTips","tipsType","Popover","content","Tooltip","title"],"mappings":";uNA0BaA,EAAc,SAAdA,EAAeC,GAC1B,IAAMC,EAAMC,EAAYF,EAAMC,KAAO,EAAID,EAAMC,IAC/C,IAAME,EAAYC,EAChB,eACgBJ,iBAAAA,EAAMK,MAAQ,UAC9B,CACE,oCAAqCL,EAAMM,iBAC3C,sBAAuBN,EAAMO,SAG/BP,EAAMG,WAGR,GAAIH,EAAMQ,OAAQ,OAAO,KAEzB,IAAMC,EACJT,EAAMU,WAAa,QACjBC,EAAA,OAAA,CAAMR,UAAWA,EAAWS,MAAOZ,EAAMY,MAAOL,QAASP,EAAMO,QAAQM,SACpEb,CAAAA,EAAMc,KACLC,EAAA,OAAA,CAAMZ,UAAU,oBAAoBS,MAAO,CAAEI,YAAaf,GAAMY,SAC7Db,EAAMc,OAEP,KACHd,EAAMiB,QAGTN,EAAA,OAAA,CAAMR,UAAWA,EAAWS,MAAOZ,EAAMY,MAAOL,QAASP,EAAMO,QAAQM,SAAA,CACpEb,EAAMiB,KACNjB,EAAMc,KACLC,EAAA,OAAA,CAAMZ,UAAU,oBAAoBS,MAAO,CAAEM,WAAYjB,GAAMY,SAC5Db,EAAMc,OAEP,QAGV,GAAId,EAAMmB,UAAW,CACnB,GAAInB,EAAMoB,WAAa,UAAW,CAChC,OAAOL,EAACM,EAAO,CAACC,QAAStB,EAAMmB,UAAUN,SAAEJ,GAC7C,CACA,OAAOM,EAACQ,EAAO,CAACC,MAAOxB,EAAMmB,UAAUN,SAAEJ,GAC3C,CACA,OAAOA,CACT"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/icon-wrapper/icon-wrapper.tsx"],"sourcesContent":["import { isUndefined } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { Popover, Tooltip } from 'antd';\nimport { CSSProperties, Fragment } from 'react';\nimport './style.less';\n\nexport type IconWrapperProps = {\n hoverTips?: string | React.ReactElement;\n /**\n * 提示类型\n * @default 'tooltip'\n */\n tipsType?: 'popover' | 'tooltip';\n icon?: React.ReactNode;\n style?: CSSProperties;\n text?: string | React.ReactElement;\n className?: string;\n size?: 'small' | 'middle' | 'large';\n onClick?: (event) => void;\n hideHoverBgColor?: boolean;\n hidden?: boolean;\n /** 图标对比文字的位置,默认:brefore */\n position?: 'before' | 'after';\n /** 图标与文字之间的间距 */\n gap?: number;\n};\nexport const IconWrapper = (props: IconWrapperProps) => {\n const {\n gap,\n size,\n hideHoverBgColor,\n onClick,\n className,\n hidden,\n style,\n icon,\n position,\n text,\n hoverTips,\n tipsType,\n ...otherProps\n } = props;\n const gapNew = isUndefined(gap) ? 5 : gap;\n const classNameNew = classNames(\n 'icon-wrapper',\n `icon-wrapper-${size || 'middle'}`,\n {\n 'icon-wrapper-hidden-hover-bgcolor': hideHoverBgColor,\n 'icon-wrapper-tigger': !!Object.keys(props).find((item) => item.startsWith('on')),\n },\n\n className,\n );\n\n if (hidden) return <Fragment />;\n\n const _content =\n position === 'after' ? (\n <span className={classNameNew} style={style} onClick={onClick} {...otherProps}>\n {text ? (\n <span className=\"icon-wrapper-text\" style={{ marginRight: gapNew }}>\n {text}\n </span>\n ) : null}\n {icon}\n </span>\n ) : (\n <span className={classNameNew} style={style} onClick={onClick} {...otherProps}>\n {icon}\n {text ? (\n <span className=\"icon-wrapper-text\" style={{ marginLeft: gapNew }}>\n {text}\n </span>\n ) : null}\n </span>\n );\n if (hoverTips) {\n if (tipsType === 'popover') {\n return (\n <Popover content={hoverTips} {...otherProps}>\n {_content}\n </Popover>\n );\n }\n return (\n <Tooltip title={hoverTips} {...otherProps}>\n {_content}\n </Tooltip>\n );\n }\n return _content;\n};\n"],"names":["IconWrapper","props","gap","size","hideHoverBgColor","onClick","className","hidden","style","icon","position","text","hoverTips","tipsType","otherProps","_objectWithoutPropertiesLoose","_excluded","gapNew","_isUndefined","classNameNew","_classNames","Object","keys","find","item","startsWith","_jsx","Fragment","_content","_jsxs","_extends","children","marginRight","marginLeft","Popover","content","Tooltip","title"],"mappings":";2bA0BaA,EAAc,SAAdA,EAAeC,GAC1B,IACEC,EAaED,EAbFC,IACAC,EAYEF,EAZFE,KACAC,EAWEH,EAXFG,iBACAC,EAUEJ,EAVFI,QACAC,EASEL,EATFK,UACAC,EAQEN,EARFM,OACAC,EAOEP,EAPFO,MACAC,EAMER,EANFQ,KACAC,EAKET,EALFS,SACAC,EAIEV,EAJFU,KACAC,EAGEX,EAHFW,UACAC,EAEEZ,EAFFY,SACGC,EAAUC,EACXd,EAAKe,GACT,IAAMC,EAASC,EAAYhB,GAAO,EAAIA,EACtC,IAAMiB,EAAeC,EACnB,eACgBjB,iBAAAA,GAAQ,UACxB,CACE,oCAAqCC,EACrC,wBAAyBiB,OAAOC,KAAKrB,GAAOsB,MAAK,SAACC,GAAI,OAAKA,EAAKC,WAAW,KAAK,KAGlFnB,GAGF,GAAIC,EAAQ,OAAOmB,EAACC,GAAU,GAE9B,IAAMC,EACJlB,IAAa,QACXmB,SAAAC,EAAA,CAAMxB,UAAWa,EAAcX,MAAOA,EAAOH,QAASA,GAAaS,EAAU,CAAAiB,SAAA,CAC1EpB,EACCe,EAAA,OAAA,CAAMpB,UAAU,oBAAoBE,MAAO,CAAEwB,YAAaf,GAASc,SAChEpB,IAED,KACHF,MAGHoB,EAAA,OAAAC,EAAA,CAAMxB,UAAWa,EAAcX,MAAOA,EAAOH,QAASA,GAAaS,EAAU,CAAAiB,SAC1EtB,CAAAA,EACAE,EACCe,EAAA,OAAA,CAAMpB,UAAU,oBAAoBE,MAAO,CAAEyB,WAAYhB,GAASc,SAC/DpB,IAED,SAGV,GAAIC,EAAW,CACb,GAAIC,IAAa,UAAW,CAC1B,OACEa,EAACQ,EAAOJ,EAAA,CAACK,QAASvB,GAAeE,EAAU,CAAAiB,SACxCH,IAGP,CACA,OACEF,EAACU,EAAON,EAAA,CAACO,MAAOzB,GAAeE,EAAU,CAAAiB,SACtCH,IAGP,CACA,OAAOA,CACT"}
package/esm/index.js CHANGED
@@ -67,6 +67,7 @@ import './easy-form/index.css';
67
67
  import './form-wrapper/index.css';
68
68
  import './easy-table/index.css';
69
69
  import './pagination-wrapper/index.css';
70
+ import './svg-http-view/index.css';
70
71
  import './tips-wrapper/index.css';
71
72
  import './form-grid/index.css';
72
73
  import './table-scrollbar/index.css';
@@ -109,7 +110,6 @@ import './simple-layout/index.css';
109
110
  import './sms-count-down/index.css';
110
111
  import './split-wrapper/index.css';
111
112
  import './styles/index.css';
112
- import './svg-http-view/index.css';
113
113
  import './switch-confirm-wrapper/index.css';
114
114
  import './tabs-wrapper/index.css';
115
115
  import './tag-group/index.css';
@@ -124,5 +124,5 @@ import './tree-selector-wrapper/index.css';
124
124
  import './tree-wrapper/index.css';
125
125
  import './index.css';
126
126
  /*! @flatjs/forge MIT @flatbiz/antd */
127
- export{AceEditorGroovy}from"./ace-editor-groovy/index.js";export{AceEditorJava}from"./ace-editor-java/index.js";export{AceEditorJson}from"./ace-editor-json/index.js";export{AceEditorMysql}from"./ace-editor-mysql/index.js";export{AceEditorXml}from"./ace-editor-xml/index.js";export{AlertWrapper}from"./alert-wrapper/index.js";export{AmountFenInput}from"./amount-fen-input/index.js";export{AmountFenInputFormItem}from"./amount-fen-input-form-item/index.js";export{AnchorSteps}from"./anchor-steps/index.js";export{BlockLayout}from"./block-layout/index.js";export{Bootstrap}from"./bootstrap/index.js";export{BoxGrid,useBoxBreakpoint}from"./box-grid/index.js";export{ButtonOperate,ButtonOperateItemContent}from"./button-operate/index.js";export{ButtonWrapper}from"./button-wrapper/index.js";export{CardLayout}from"./card-layout/index.js";export{CardWrapper}from"./card-wrapper/index.js";export{CascaderWrapper}from"./cascader-wrapper/index.js";export{CheckList}from"./check-list/index.js";export{CheckboxWrapper}from"./checkbox-wrapper/index.js";export{ColorPickerWrapper}from"./color-picker-wrapper/index.js";export{C as ConfigProviderWrapper}from"./index-7f4ad045.js";export{createDrawerWrapperModel}from"./create-drawer-wrapper-model/index.js";export{createModalWrapperModel}from"./create-modal-wrapper-model/index.js";export{CssNodeHover}from"./css-node-hover/index.js";export{DataRender}from"./data-render/index.js";export{DatePickerWrapper}from"./date-picker-wrapper/index.js";export{DateRangePickerWrapper}from"./date-range-picker-wrapper/index.js";export{DateRangePickerWrapperFormItem}from"./date-range-picker-wrapper-form-item/index.js";export{dialogAlert}from"./dialog-alert/index.js";export{dialogConfirm}from"./dialog-confirm/index.js";export{dialogDrawer}from"./dialog-drawer/index.js";export{DialogDrawerContent}from"./dialog-drawer-content/index.js";export{dialogLoading}from"./dialog-loading/index.js";export{dialogModal}from"./dialog-modal/index.js";export{DragCollapse}from"./drag-collapse/index.js";export{DragCollapseFormList}from"./drag-collapse-form-list/index.js";export{DragEditableTable}from"./drag-editable-table/index.js";export{DragFormList}from"./drag-form-list/index.js";export{DragTable}from"./drag-table/index.js";export{DrawerWrapper}from"./drawer-wrapper/index.js";export{DropdownMenuWrapper}from"./dropdown-menu-wrapper/index.js";export{dynamicNode}from"./dynamic-node/index.js";export{EasyForm}from"./easy-form/index.js";export{EasyTable}from"./easy-table/index.js";export{EditableField}from"./editable-field/index.js";export{EditableFieldProvider}from"./editable-field-provider/index.js";export{EditableTable}from"./editable-table/index.js";export{EditorWrapper}from"./editor-wrapper/index.js";export{ErrorBoundaryWrapper}from"./error-boundary-wrapper/index.js";export{FbaApp}from"./fba-app/index.js";export{fbaHooks}from"./fba-hooks/index.js";export{fbaUtils}from"./fba-utils/index.js";export{FileExport}from"./file-export/index.js";export{FileImport}from"./file-import/index.js";export{FileSelect}from"./file-select/index.js";export{FlexLayout}from"./flex-layout/index.js";export{FormGrid}from"./form-grid/index.js";export{FormItemGroup}from"./form-item-group/index.js";export{FormItemHidden}from"./form-item-hidden/index.js";export{FormItemText}from"./form-item-text/index.js";export{FormItemWrapper}from"./form-item-wrapper/index.js";export{FormListWrapper}from"./form-list-wrapper/index.js";export{FormWrapper}from"./form-wrapper/index.js";export{Gap}from"./gap/index.js";export{IconWrapper}from"./icon-wrapper/index.js";export{InputSearchWrapper}from"./input-search-wrapper/index.js";export{InputTextAreaWrapper}from"./input-text-area-wrapper/index.js";export{InputWrapper}from"./input-wrapper/index.js";export{JsonEditor}from"./json-editor/index.js";export{LabelValueLayout}from"./label-value-layout/index.js";export{LabelValueRender}from"./label-value-render/index.js";export{LocalLoading}from"./local-loading/index.js";export{MentionEditor}from"./mention-editor/index.js";export{MentionsWrapper}from"./mentions-wrapper/index.js";export{ModalAction}from"./modal-action/index.js";export{ModalWrapper}from"./modal-wrapper/index.js";export{PageFixedFooter}from"./page-fixed-footer/index.js";export{Page404}from"./page404/index.js";export{P as PaginationWrapper}from"./index-6677fbfc.js";export{Pdf}from"./pdf/index.js";export{PdfPreview}from"./pdf-preview/index.js";export{Permission}from"./permission/index.js";export{preDefinedClassName}from"./pre-defined-class-name/index.js";export{RadioGroupWrapper}from"./radio-group-wrapper/index.js";export{RelationTree}from"./relation-tree/index.js";export{RequestStatus}from"./request-status/index.js";export{RichTextEditor}from"./rich-text-editor/index.js";export{RichTextViewer}from"./rich-text-viewer/index.js";export{RollLocationCenter}from"./roll-location-center/index.js";export{RollLocationInView}from"./roll-location-in-view/index.js";export{RuleDescribe}from"./rule-describe/index.js";export{SearchForm}from"./search-form/index.js";export{SearchMenu}from"./search-menu/index.js";export{SelectorWrapper}from"./selector-wrapper/index.js";export{SelectorWrapperSearch}from"./selector-wrapper-search/index.js";export{SelectorWrapperSimple}from"./selector-wrapper-simple/index.js";export{SimpleLayout}from"./simple-layout/index.js";export{SmsCountDown}from"./sms-count-down/index.js";export{SplitWrapper}from"./split-wrapper/index.js";export{styles}from"./styles/index.js";export{SvgHttpView}from"./svg-http-view/index.js";export{SwitchConfirmWrapper}from"./switch-confirm-wrapper/index.js";export{SwitchWrapper}from"./switch-wrapper/index.js";export{tableCellRender}from"./table-cell-render/index.js";export{TableScrollbar}from"./table-scrollbar/index.js";export{TableTitleTooltip}from"./table-title-tooltip/index.js";export{TabsWrapper}from"./tabs-wrapper/index.js";export{TagGroup}from"./tag-group/index.js";export{TagListSelect}from"./tag-list-select/index.js";export{TagWrapper}from"./tag-wrapper/index.js";export{TextCssEllipsis}from"./text-css-ellipsis/index.js";export{TextOverflow}from"./text-overflow/index.js";export{TextOverflowRender}from"./text-overflow-render/index.js";export{TextSymbolWrapper}from"./text-symbol-wrapper/index.js";export{TimePickerWrapper}from"./time-picker-wrapper/index.js";export{TimeRangePickerWrapper}from"./time-range-picker-wrapper/index.js";export{TimeRangePickerWrapperFormItem}from"./time-range-picker-wrapper-form-item/index.js";export{TipsTitle}from"./tips-title/index.js";export{TipsWrapper}from"./tips-wrapper/index.js";export{TreeSelectorWrapper}from"./tree-selector-wrapper/index.js";export{TreeWrapper}from"./tree-wrapper/index.js";export{UploadWrapper}from"./upload-wrapper/index.js";import"./_rollupPluginBabelHelpers-a0769acd.js";import"@dimjs/utils/cjs/class-names";import"@wove/react/cjs/hooks";import"@dimjs/lang/cjs/is-object";import"@flatbiz/utils";import"react";import"react-ace";import"ace-builds/src-noconflict/ext-language_tools";import"ace-builds/src-noconflict/mode-groovy";import"ace-builds/src-noconflict/snippets/groovy";import"react/jsx-runtime";import"ace-builds/src-noconflict/mode-java";import"ace-builds/src-noconflict/snippets/java";import"ace-builds/src-noconflict/mode-json";import"ace-builds/src-noconflict/snippets/json";import"sql-formatter";import"ace-builds/src-noconflict/mode-mysql";import"ace-builds/src-noconflict/snippets/mysql";import"antd";import"xml-formatter";import"ace-builds/src-noconflict/mode-xml";import"ace-builds/src-noconflict/snippets/xml";import"@dimjs/utils/cjs/get";import"@dimjs/lang/cjs/is-number";import"ahooks";import"@ant-design/icons/es/icons/MoreOutlined";import"@dimjs/lang/cjs/is-undefined";import"@dimjs/lang/cjs/is-plain-object";import"@dimjs/lang/cjs/is-string";import"@dimjs/lang/cjs/is-promise";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-array";import"@dimjs/utils/cjs/extend";import"@ant-design/icons/es/icons/RedoOutlined";import"@dimjs/model";import"@dimjs/model-react";import"@wove/react/cjs/create-ctx";import"@ant-design/icons/es/icons/CloseCircleOutlined";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"./time-53b3f55f.js";import"react-dom/client";import"./context-1f2093c6.js";import"./dom-4d04aa64.js";import"@dimjs/lang/cjs/is-null";import"@dimjs/utils/cjs/array";import"@dnd-kit/core";import"@dnd-kit/sortable";import"@ant-design/icons/es/icons/DragOutlined";import"@dnd-kit/utilities";import"@dnd-kit/modifiers";import"@ant-design/icons/es/icons/SaveOutlined";import"@ant-design/icons/es/icons/ExclamationCircleFilled";import"@ant-design/icons/es/icons/DownOutlined";import"@ant-design/icons/es/icons/UpOutlined";import"react-is";import"./use-responsive-point-21b8c601.js";import"@ant-design/icons/es/icons/SettingOutlined";import"@ant-design/icons/es/icons/CloseOutlined";import"@ant-design/icons/es/icons/CheckOutlined";import"@ant-design/icons/es/icons/EditOutlined";import"./context-25d0b686.js";import"@ant-design/icons/es/icons/PlusOutlined";import"@dimjs/lang/cjs/is-boolean";import"@ant-design/icons/es/icons/DeleteOutlined";import"@wove/react/cjs/editor";import"@ant-design/icons/es/icons/QuestionCircleFilled";import"@dimjs/lang/cjs/is-deep-equal";import"@tinymce/tinymce-react";import"@ant-design/icons/es/icons/PlusCircleOutlined";import"@ant-design/icons/es/icons/FullscreenOutlined";import"@dimjs/utils/cjs/json";import"pubsub-js";import"react-split";import"@dimjs/lang/cjs/is-empty";import"@ant-design/icons/es/icons/QuestionCircleOutlined";import"dayjs/plugin/isSameOrAfter";import"dayjs/plugin/isSameOrBefore";import"@ant-design/icons/es/icons/CaretDownFilled";import"dequal";import"@dimjs/utils/cjs/tree";import"react-dom";
127
+ export{AceEditorGroovy}from"./ace-editor-groovy/index.js";export{AceEditorJava}from"./ace-editor-java/index.js";export{AceEditorJson}from"./ace-editor-json/index.js";export{AceEditorMysql}from"./ace-editor-mysql/index.js";export{AceEditorXml}from"./ace-editor-xml/index.js";export{AlertWrapper}from"./alert-wrapper/index.js";export{AmountFenInput}from"./amount-fen-input/index.js";export{AmountFenInputFormItem}from"./amount-fen-input-form-item/index.js";export{AnchorSteps}from"./anchor-steps/index.js";export{BlockLayout}from"./block-layout/index.js";export{Bootstrap}from"./bootstrap/index.js";export{BoxGrid,useBoxBreakpoint}from"./box-grid/index.js";export{ButtonOperate,ButtonOperateItemContent}from"./button-operate/index.js";export{ButtonWrapper}from"./button-wrapper/index.js";export{CardLayout}from"./card-layout/index.js";export{CardWrapper}from"./card-wrapper/index.js";export{CascaderWrapper}from"./cascader-wrapper/index.js";export{CheckList}from"./check-list/index.js";export{CheckboxWrapper}from"./checkbox-wrapper/index.js";export{ColorPickerWrapper}from"./color-picker-wrapper/index.js";export{C as ConfigProviderWrapper}from"./index-7f4ad045.js";export{createDrawerWrapperModel}from"./create-drawer-wrapper-model/index.js";export{createModalWrapperModel}from"./create-modal-wrapper-model/index.js";export{CssNodeHover}from"./css-node-hover/index.js";export{DataRender}from"./data-render/index.js";export{DatePickerWrapper}from"./date-picker-wrapper/index.js";export{DateRangePickerWrapper}from"./date-range-picker-wrapper/index.js";export{DateRangePickerWrapperFormItem}from"./date-range-picker-wrapper-form-item/index.js";export{dialogAlert}from"./dialog-alert/index.js";export{dialogConfirm}from"./dialog-confirm/index.js";export{dialogDrawer}from"./dialog-drawer/index.js";export{DialogDrawerContent}from"./dialog-drawer-content/index.js";export{dialogLoading}from"./dialog-loading/index.js";export{dialogModal}from"./dialog-modal/index.js";export{DragCollapse}from"./drag-collapse/index.js";export{DragCollapseFormList}from"./drag-collapse-form-list/index.js";export{DragEditableTable}from"./drag-editable-table/index.js";export{DragFormList}from"./drag-form-list/index.js";export{DragTable}from"./drag-table/index.js";export{DrawerWrapper}from"./drawer-wrapper/index.js";export{DropdownMenuWrapper}from"./dropdown-menu-wrapper/index.js";export{dynamicNode}from"./dynamic-node/index.js";export{EasyForm}from"./easy-form/index.js";export{EasyTable}from"./easy-table/index.js";export{EditableField}from"./editable-field/index.js";export{EditableFieldProvider}from"./editable-field-provider/index.js";export{EditableTable}from"./editable-table/index.js";export{EditorWrapper}from"./editor-wrapper/index.js";export{ErrorBoundaryWrapper}from"./error-boundary-wrapper/index.js";export{FbaApp}from"./fba-app/index.js";export{fbaHooks}from"./fba-hooks/index.js";export{fbaUtils}from"./fba-utils/index.js";export{FileExport}from"./file-export/index.js";export{FileImport}from"./file-import/index.js";export{FileSelect}from"./file-select/index.js";export{FlexLayout}from"./flex-layout/index.js";export{FormGrid}from"./form-grid/index.js";export{FormItemGroup}from"./form-item-group/index.js";export{FormItemHidden}from"./form-item-hidden/index.js";export{FormItemText}from"./form-item-text/index.js";export{FormItemWrapper}from"./form-item-wrapper/index.js";export{FormListWrapper}from"./form-list-wrapper/index.js";export{FormWrapper}from"./form-wrapper/index.js";export{Gap}from"./gap/index.js";export{IconWrapper}from"./icon-wrapper/index.js";export{InputSearchWrapper}from"./input-search-wrapper/index.js";export{InputTextAreaWrapper}from"./input-text-area-wrapper/index.js";export{InputWrapper}from"./input-wrapper/index.js";export{JsonEditor}from"./json-editor/index.js";export{LabelValueLayout}from"./label-value-layout/index.js";export{LabelValueRender}from"./label-value-render/index.js";export{LocalLoading}from"./local-loading/index.js";export{MentionEditor}from"./mention-editor/index.js";export{MentionsWrapper}from"./mentions-wrapper/index.js";export{ModalAction}from"./modal-action/index.js";export{ModalWrapper}from"./modal-wrapper/index.js";export{PageFixedFooter}from"./page-fixed-footer/index.js";export{Page404}from"./page404/index.js";export{P as PaginationWrapper}from"./index-6677fbfc.js";export{Pdf}from"./pdf/index.js";export{PdfPreview}from"./pdf-preview/index.js";export{Permission}from"./permission/index.js";export{preDefinedClassName}from"./pre-defined-class-name/index.js";export{RadioGroupWrapper}from"./radio-group-wrapper/index.js";export{RelationTree}from"./relation-tree/index.js";export{RequestStatus}from"./request-status/index.js";export{RichTextEditor}from"./rich-text-editor/index.js";export{RichTextViewer}from"./rich-text-viewer/index.js";export{RollLocationCenter}from"./roll-location-center/index.js";export{RollLocationInView}from"./roll-location-in-view/index.js";export{RuleDescribe}from"./rule-describe/index.js";export{SearchForm}from"./search-form/index.js";export{SearchMenu}from"./search-menu/index.js";export{SelectorWrapper}from"./selector-wrapper/index.js";export{SelectorWrapperSearch}from"./selector-wrapper-search/index.js";export{SelectorWrapperSimple}from"./selector-wrapper-simple/index.js";export{SimpleLayout}from"./simple-layout/index.js";export{SmsCountDown}from"./sms-count-down/index.js";export{SplitWrapper}from"./split-wrapper/index.js";export{styles}from"./styles/index.js";export{SvgHttpView}from"./svg-http-view/index.js";export{SwitchConfirmWrapper}from"./switch-confirm-wrapper/index.js";export{SwitchWrapper}from"./switch-wrapper/index.js";export{tableCellRender}from"./table-cell-render/index.js";export{TableScrollbar}from"./table-scrollbar/index.js";export{TableTitleTooltip}from"./table-title-tooltip/index.js";export{TabsWrapper}from"./tabs-wrapper/index.js";export{TagGroup}from"./tag-group/index.js";export{TagListSelect}from"./tag-list-select/index.js";export{TagWrapper}from"./tag-wrapper/index.js";export{TextCssEllipsis}from"./text-css-ellipsis/index.js";export{TextOverflow}from"./text-overflow/index.js";export{TextOverflowRender}from"./text-overflow-render/index.js";export{TextSymbolWrapper}from"./text-symbol-wrapper/index.js";export{TimePickerWrapper}from"./time-picker-wrapper/index.js";export{TimeRangePickerWrapper}from"./time-range-picker-wrapper/index.js";export{TimeRangePickerWrapperFormItem}from"./time-range-picker-wrapper-form-item/index.js";export{TipsTitle}from"./tips-title/index.js";export{TipsWrapper}from"./tips-wrapper/index.js";export{TreeSelectorWrapper}from"./tree-selector-wrapper/index.js";export{TreeWrapper}from"./tree-wrapper/index.js";export{UploadWrapper}from"./upload-wrapper/index.js";import"./_rollupPluginBabelHelpers-a0769acd.js";import"@dimjs/utils/cjs/class-names";import"@wove/react/cjs/hooks";import"@dimjs/lang/cjs/is-object";import"@flatbiz/utils";import"react";import"react-ace";import"ace-builds/src-noconflict/ext-language_tools";import"ace-builds/src-noconflict/mode-groovy";import"ace-builds/src-noconflict/snippets/groovy";import"react/jsx-runtime";import"ace-builds/src-noconflict/mode-java";import"ace-builds/src-noconflict/snippets/java";import"ace-builds/src-noconflict/mode-json";import"ace-builds/src-noconflict/snippets/json";import"sql-formatter";import"ace-builds/src-noconflict/mode-mysql";import"ace-builds/src-noconflict/snippets/mysql";import"antd";import"xml-formatter";import"ace-builds/src-noconflict/mode-xml";import"ace-builds/src-noconflict/snippets/xml";import"@dimjs/utils/cjs/get";import"@dimjs/lang/cjs/is-number";import"ahooks";import"@ant-design/icons/es/icons/MoreOutlined";import"@dimjs/lang/cjs/is-undefined";import"@dimjs/lang/cjs/is-plain-object";import"@dimjs/lang/cjs/is-string";import"@dimjs/lang/cjs/is-promise";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-array";import"@dimjs/utils/cjs/extend";import"@ant-design/icons/es/icons/RedoOutlined";import"@dimjs/model";import"@dimjs/model-react";import"@wove/react/cjs/create-ctx";import"@ant-design/icons/es/icons/CloseCircleOutlined";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"./time-53b3f55f.js";import"react-dom/client";import"./context-1f2093c6.js";import"./dom-4d04aa64.js";import"@dimjs/lang/cjs/is-null";import"@dimjs/utils/cjs/array";import"@dnd-kit/core";import"@dnd-kit/sortable";import"@ant-design/icons/es/icons/DragOutlined";import"@dnd-kit/utilities";import"@dnd-kit/modifiers";import"@ant-design/icons/es/icons/SaveOutlined";import"@ant-design/icons/es/icons/ExclamationCircleFilled";import"@ant-design/icons/es/icons/DownOutlined";import"@ant-design/icons/es/icons/UpOutlined";import"react-is";import"./use-responsive-point-21b8c601.js";import"@ant-design/icons/es/icons/CloseOutlined";import"@ant-design/icons/es/icons/CheckOutlined";import"@ant-design/icons/es/icons/EditOutlined";import"./context-25d0b686.js";import"@ant-design/icons/es/icons/PlusOutlined";import"@dimjs/lang/cjs/is-boolean";import"@ant-design/icons/es/icons/DeleteOutlined";import"@wove/react/cjs/editor";import"@ant-design/icons/es/icons/QuestionCircleFilled";import"@dimjs/lang/cjs/is-deep-equal";import"@tinymce/tinymce-react";import"@ant-design/icons/es/icons/PlusCircleOutlined";import"@ant-design/icons/es/icons/FullscreenOutlined";import"@dimjs/utils/cjs/json";import"pubsub-js";import"react-split";import"@dimjs/lang/cjs/is-empty";import"@ant-design/icons/es/icons/QuestionCircleOutlined";import"dayjs/plugin/isSameOrAfter";import"dayjs/plugin/isSameOrBefore";import"@ant-design/icons/es/icons/CaretDownFilled";import"dequal";import"@dimjs/utils/cjs/tree";import"react-dom";
128
128
  //# sourceMappingURL=index.js.map
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable */
2
2
  import './index.css';
3
3
  /*! @flatjs/forge MIT @flatbiz/antd */
4
- import{_ as s}from"../_rollupPluginBabelHelpers-a0769acd.js";import{classNames as t}from"@dimjs/utils/cjs/class-names";import{isHttpUri as i}from"@flatbiz/utils";import{jsx as r}from"react/jsx-runtime";var e=function e(l){var a=l.color||"#555";var o=i(l.svgPath)?l.svgPath:"https://file.40017.cn/tcsk/alicon/"+l.svgPath+".svg";return r("div",{className:t("http-svg-view",l.className),style:s({width:l.width||"100%",height:l.height||"100%"},l.style),children:r("div",{className:"hsv-content",style:{filter:"drop-shadow("+a+" 200px 0)"},children:r("img",{src:o})})})};export{e as SvgHttpView};
4
+ import{a as t,_ as i}from"../_rollupPluginBabelHelpers-a0769acd.js";import{classNames as r}from"@dimjs/utils/cjs/class-names";import{isHttpUri as s}from"@flatbiz/utils";import{useMemo as e}from"react";import{jsx as a}from"react/jsx-runtime";var l=["color","svgPath","className","height","width","style","onClick"];var h=function h(o){var c=o.color,n=o.svgPath,m=o.className,v=o.height,d=o.width,g=o.style,p=o.onClick,f=t(o,l);var u=c||"#555";var w=s(n)?n:"https://file.40017.cn/tcsk/alicon/"+n+".svg";var j=e((function(){if(d||v){return{width:d,height:v}}return{width:20,height:20}}),[v,d]);return a("div",i({},f,{onClick:p,className:r("http-svg-view",m),style:i({width:j.width,height:j.height},g),children:a("div",{className:"hsv-content",style:{filter:"drop-shadow("+u+" 200px 0)"},children:a("img",{src:w})})}))};export{h as SvgHttpView};
5
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/svg-http-view/svg.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { isHttpUri } from '@flatbiz/utils';\nimport { CSSProperties } from 'react';\nimport './style.less';\nexport type SvgHttpViewProps = {\n /**\n * svg地址\n * ```\n * 1. 可传http绝对路径\n * 2. 可传ionic组图标,例如:ionic/alarm-outline\n * 3. 可传lucide组图标,例如:lucide/crosshair\n *\n * 查询ionic、lucide图标 https://fex.qa.tcshuke.com/docs/admin/resources/icons\n * ```\n */\n svgPath: string;\n /** 默认:100% */\n width?: number;\n /** 默认:100% */\n height?: number;\n /** svg 颜色, 默认:#555 */\n color?: string;\n className?: string;\n style?: CSSProperties;\n};\n\n/**\n * http svg地址解析,可自定义颜色\n * ```\n * 1. 内置ionic、lucide组图标基础路径\n * 2. 可传自定义http绝对路径svg数据\n * ```\n */\nexport const SvgHttpView = (props: SvgHttpViewProps) => {\n const color = props.color || '#555';\n\n const srcLink = isHttpUri(props.svgPath)\n ? props.svgPath\n : `https://file.40017.cn/tcsk/alicon/${props.svgPath}.svg`;\n\n return (\n <div\n className={classNames('http-svg-view', props.className)}\n style={{ width: props.width || '100%', height: props.height || '100%', ...props.style }}\n >\n <div className=\"hsv-content\" style={{ filter: `drop-shadow(${color} 200px 0)` }}>\n <img src={srcLink} />\n </div>\n </div>\n );\n};\n"],"names":["SvgHttpView","props","color","srcLink","isHttpUri","svgPath","_jsx","className","_classNames","style","_extends","width","height","children","filter","src"],"mappings":";8MAiCaA,EAAc,SAAdA,EAAeC,GAC1B,IAAMC,EAAQD,EAAMC,OAAS,OAE7B,IAAMC,EAAUC,EAAUH,EAAMI,SAC5BJ,EAAMI,QAAO,qCACwBJ,EAAMI,QAAa,OAE5D,OACEC,EAAA,MAAA,CACEC,UAAWC,EAAW,gBAAiBP,EAAMM,WAC7CE,MAAKC,EAAA,CAAIC,MAAOV,EAAMU,OAAS,OAAQC,OAAQX,EAAMW,QAAU,QAAWX,EAAMQ,OAAQI,SAExFP,EAAA,MAAA,CAAKC,UAAU,cAAcE,MAAO,CAAEK,sBAAuBZ,EAAK,aAAcW,SAC9EP,EAAA,MAAA,CAAKS,IAAKZ,OAIlB"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/svg-http-view/svg.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { isHttpUri } from '@flatbiz/utils';\nimport { CSSProperties, useMemo } from 'react';\nimport './style.less';\nexport type SvgHttpViewProps = {\n /**\n * svg地址\n * ```\n * 1. 可传http绝对路径\n * 2. 可传ionic组图标,例如:ionic/alarm-outline\n * 3. 可传lucide组图标,例如:lucide/crosshair\n *\n * 查询ionic、lucide图标 https://fex.qa.tcshuke.com/docs/admin/resources/icons\n * ```\n */\n svgPath: string;\n /** 默认:20px */\n width?: number;\n /** 默认:20px */\n height?: number;\n /** svg 颜色, 默认:#555 */\n color?: string;\n onClick?: (e) => void;\n className?: string;\n style?: CSSProperties;\n};\n\n/**\n * http svg地址解析,可自定义颜色\n * ```\n * 1. 内置ionic、lucide组图标基础路径\n * 2. 可传自定义http绝对路径svg数据\n * 3.\n * ```\n */\nexport const SvgHttpView = (props: SvgHttpViewProps) => {\n const { color, svgPath, className, height, width, style, onClick, ...otherProps } = props;\n const colorNew = color || '#555';\n\n const srcLink = isHttpUri(svgPath) ? svgPath : `https://file.40017.cn/tcsk/alicon/${svgPath}.svg`;\n\n const size = useMemo(() => {\n if (width || height) {\n return { width, height };\n }\n return { width: 20, height: 20 };\n }, [height, width]);\n\n return (\n <div\n {...otherProps}\n onClick={onClick}\n className={classNames('http-svg-view', className)}\n style={{ width: size.width, height: size.height, ...style }}\n >\n <div className=\"hsv-content\" style={{ filter: `drop-shadow(${colorNew} 200px 0)` }}>\n <img src={srcLink} />\n </div>\n </div>\n );\n};\n"],"names":["SvgHttpView","props","color","svgPath","className","height","width","style","onClick","otherProps","_objectWithoutPropertiesLoose","_excluded","colorNew","srcLink","isHttpUri","size","useMemo","_jsx","_extends","_classNames","children","filter","src"],"mappings":";8TAmCaA,EAAc,SAAdA,EAAeC,GAC1B,IAAQC,EAA4ED,EAA5EC,MAAOC,EAAqEF,EAArEE,QAASC,EAA4DH,EAA5DG,UAAWC,EAAiDJ,EAAjDI,OAAQC,EAAyCL,EAAzCK,MAAOC,EAAkCN,EAAlCM,MAAOC,EAA2BP,EAA3BO,QAAYC,EAAUC,EAAKT,EAAKU,GACzF,IAAMC,EAAWV,GAAS,OAE1B,IAAMW,EAAUC,EAAUX,GAAWA,EAA+CA,qCAAAA,EAAa,OAEjG,IAAMY,EAAOC,GAAQ,WACnB,GAAIV,GAASD,EAAQ,CACnB,MAAO,CAAEC,MAAAA,EAAOD,OAAAA,EAClB,CACA,MAAO,CAAEC,MAAO,GAAID,OAAQ,GAC9B,GAAG,CAACA,EAAQC,IAEZ,OACEW,EAAA,MAAAC,EAAA,CAAA,EACMT,EAAU,CACdD,QAASA,EACTJ,UAAWe,EAAW,gBAAiBf,GACvCG,MAAKW,EAAA,CAAIZ,MAAOS,EAAKT,MAAOD,OAAQU,EAAKV,QAAWE,GAAQa,SAE5DH,EAAA,MAAA,CAAKb,UAAU,cAAcG,MAAO,CAAEc,sBAAuBT,EAAQ,aAAcQ,SACjFH,EAAA,MAAA,CAAKK,IAAKT,QAIlB"}
package/index.d.ts CHANGED
@@ -2318,6 +2318,8 @@ export type EasyTableProps = {
2318
2318
  cacheKey?: string;
2319
2319
  /** 折叠字段选择事件 */
2320
2320
  onChange?: (keys: string[]) => void;
2321
+ /** 触发交互弹出类型 */
2322
+ triggerType?: "drawer" | "dropdown";
2321
2323
  };
2322
2324
  };
2323
2325
  export type EasyTableRefApi = {
@@ -2339,8 +2341,10 @@ export type EasyTableRefApi = {
2339
2341
  onClearDataSource: () => void;
2340
2342
  /** 修改表格数据源,会触发onDataSourceChange函数 */
2341
2343
  onUpdateDataSource: (dataList: TPlainObject[]) => void;
2342
- /** 弹出字段折叠弹框 */
2343
- onOpenColumnFoldModal: () => void;
2344
+ /** 自定义字段折叠触发位置,默认位置在最后一个字段标题右侧 */
2345
+ columnFoldTriggerRender: (children: ReactElement) => ReactElement;
2346
+ /** 查询loading状态 */
2347
+ loading?: boolean;
2344
2348
  };
2345
2349
  export type FormOperateColProps = {
2346
2350
  className?: string;
@@ -3177,7 +3181,7 @@ export type IconWrapperProps = {
3177
3181
  /** 图标与文字之间的间距 */
3178
3182
  gap?: number;
3179
3183
  };
3180
- export declare const IconWrapper: (props: IconWrapperProps) => import("react/jsx-runtime").JSX.Element | null;
3184
+ export declare const IconWrapper: (props: IconWrapperProps) => import("react/jsx-runtime").JSX.Element;
3181
3185
  export type InputSearchWrapperProps = Omit<SearchProps, "defaultValue">;
3182
3186
  /**
3183
3187
  * ```
@@ -4277,12 +4281,13 @@ export type SvgHttpViewProps = {
4277
4281
  * ```
4278
4282
  */
4279
4283
  svgPath: string;
4280
- /** 默认:100% */
4284
+ /** 默认:20px */
4281
4285
  width?: number;
4282
- /** 默认:100% */
4286
+ /** 默认:20px */
4283
4287
  height?: number;
4284
4288
  /** svg 颜色, 默认:#555 */
4285
4289
  color?: string;
4290
+ onClick?: (e: any) => void;
4286
4291
  className?: string;
4287
4292
  style?: CSSProperties;
4288
4293
  };
@@ -4291,6 +4296,7 @@ export type SvgHttpViewProps = {
4291
4296
  * ```
4292
4297
  * 1. 内置ionic、lucide组图标基础路径
4293
4298
  * 2. 可传自定义http绝对路径svg数据
4299
+ * 3.
4294
4300
  * ```
4295
4301
  */
4296
4302
  export declare const SvgHttpView: (props: SvgHttpViewProps) => import("react/jsx-runtime").JSX.Element;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flatbiz/antd",
3
- "version": "4.4.35",
3
+ "version": "4.4.36",
4
4
  "description": "flat-biz ui components",
5
5
  "main": "index.js",
6
6
  "typings": "index.d.ts",