@flatbiz/antd 4.2.99 → 4.2.101

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 r from"@ant-design/icons/es/icons/DragOutlined";import{a as n,_ as e}from"../_rollupPluginBabelHelpers-a0769acd.js";import{useSensors as o,useSensor as t,PointerSensor as i,DndContext as a}from"@dnd-kit/core";import{restrictToVerticalAxis as s}from"@dnd-kit/modifiers";import{SortableContext as d,verticalListSortingStrategy as c,arrayMove as l,useSortable as f}from"@dnd-kit/sortable";import{CSS as u}from"@dnd-kit/utilities";import{noop as m}from"@flatbiz/utils";import{Table as v}from"antd";import p,{useState as g,useEffect as x,useMemo as y,isValidElement as h}from"react";import{IconWrapper as I}from"../icon-wrapper/index.js";import{jsx as b}from"react/jsx-runtime";import"@dimjs/utils/cjs/class-names";var k=["dragIcon","uidFieldKey","columns","dataSource","onDragChange"],w=["children"];var S=function S(C){var D=C.dragIcon,j=C.uidFieldKey,z=C.columns,A=C.dataSource,K=C.onDragChange,N=n(C,k);var R=g([]),E=R[0],F=R[1];x((function(){F(A||[])}),[A]);var T=function r(n){var e=n.active,o=n.over;if(e.id!==(o==null?void 0:o.id)){var t=E.findIndex((function(r){return r[j]===e.id}));var i=E.findIndex((function(r){return r[j]===(o==null?void 0:o.id)}));var a=l(E,t,i);F([].concat(a));K==null?void 0:K(a,{activeId:e.id,activeIndex:t,overIndex:i})}};var Y=function r(n){var o=f({id:n["data-row-key"]}),t=o.listeners,i=o.setNodeRef,a=o.transform,s=o.transition,d=o.isDragging;var c=e({},n.style,{transform:u.Transform.toString(a&&e({},a,{scaleY:1})),transition:s,cursor:D===false?"move":undefined},d?{position:"relative",zIndex:9999,boxShadow:" 0px 0px 12px 4px rgba(34, 33, 81, 0.1)"}:{});return b("tr",e({},n,{ref:i,style:c},t))};var _=function o(t){var i=t.children,a=n(t,w);var s=f({id:a["data-row-key"]}),d=s.setActivatorNodeRef,c=s.listeners,l=s.setNodeRef,v=s.transform,g=s.transition,x=s.isDragging;var y=e({},a.style,{transform:u.Transform.toString(v&&e({},v,{scaleY:1})),transition:g,cursor:D===false?"move":undefined},x?{position:"relative",zIndex:9999,boxShadow:" 0px 0px 12px 4px rgba(34, 33, 81, 0.1)",backgroundColor:"#fff"}:{});var k=h(D)?D:b(r,{});return b("tr",e({},a,{ref:l,style:y,children:p.Children.map(i,(function(r){if(r.key==="sort"){return p.cloneElement(r,{children:b("span",e({ref:d,style:{touchAction:"none",cursor:"move"}},c,{children:b(I,{style:{display:"inline-flex",touchAction:"none",cursor:"move"},icon:k,onClick:m})}))})}return r}))}))};var B=y((function(){if(D===false)return z;return[{key:"sort",dataIndex:"sort",align:"center",width:50}].concat(z||[])}),[z,D]);var H=o(t(i,{activationConstraint:{delay:D===false?150:0,tolerance:0}}));return b(a,{sensors:H,modifiers:[s],onDragEnd:T,children:b(d,{items:E.map((function(r){return r[j]})),strategy:c,children:b(v,e({pagination:false,rowKey:j,bordered:true},N,{dataSource:E,columns:B,components:{body:{row:C.dragIcon===false?Y:_}}}))})})};export{S as DragTable};
5
+ import r from"@ant-design/icons/es/icons/DragOutlined";import{a as n,_ as e}from"../_rollupPluginBabelHelpers-a0769acd.js";import{useSensors as o,useSensor as t,PointerSensor as i,DndContext as a}from"@dnd-kit/core";import{restrictToVerticalAxis as d}from"@dnd-kit/modifiers";import{SortableContext as s,verticalListSortingStrategy as c,arrayMove as l,useSortable as f}from"@dnd-kit/sortable";import{CSS as u}from"@dnd-kit/utilities";import{noop as m}from"@flatbiz/utils";import{Table as v}from"antd";import p,{useState as g,useEffect as x,useMemo as y,isValidElement as h}from"react";import{IconWrapper as b}from"../icon-wrapper/index.js";import{jsx as I}from"react/jsx-runtime";import"@dimjs/utils/cjs/class-names";var k=["dragIcon","uidFieldKey","columns","dataSource","onDragChange"],w=["children"];var C=function C(S){var j=S.dragIcon,D=S.uidFieldKey,z=S.columns,A=S.dataSource,K=S.onDragChange,N=n(S,k);var R=g([]),E=R[0],F=R[1];x((function(){F(A||[])}),[A]);var T=function r(n){var e=n.active,o=n.over;if(e.id!==(o==null?void 0:o.id)){var t=E.findIndex((function(r){return r[D]===e.id}));var i=E.findIndex((function(r){return r[D]===(o==null?void 0:o.id)}));var a=l(E,t,i);F([].concat(a));K==null?void 0:K(a,{activeId:e.id,activeIndex:t,overIndex:i})}};var Y=function r(n){var o=f({id:n["data-row-key"]}),t=o.listeners,i=o.setNodeRef,a=o.transform,d=o.transition,s=o.isDragging;var c=e({},n.style,{transform:u.Transform.toString(a&&e({},a,{scaleY:1})),transition:d,cursor:j===false?"move":undefined},s?{position:"relative",zIndex:9999,boxShadow:" 0px 0px 12px 4px rgba(34, 33, 81, 0.1)"}:{});return I("tr",e({},n,{ref:i,style:c},t))};var _=function o(t){var i=t.children,a=n(t,w);var d=a["data-row-key"];if(!d){return I("tr",e({},a,{children:i}))}var s=f({id:d}),c=s.setActivatorNodeRef,l=s.listeners,v=s.setNodeRef,g=s.transform,x=s.transition,y=s.isDragging;debugger;var k=e({},a.style,{transform:u.Transform.toString(g&&e({},g,{scaleY:1})),transition:x,cursor:j===false?"move":undefined},y?{position:"relative",zIndex:9999,boxShadow:" 0px 0px 12px 4px rgba(34, 33, 81, 0.1)",backgroundColor:"#fff"}:{});var C=h(j)?j:I(r,{});return I("tr",e({},a,{ref:v,style:k,children:p.Children.map(i,(function(r){if(r.key==="sort"){return p.cloneElement(r,{children:I("span",e({ref:c,style:{touchAction:"none",cursor:"move"}},l,{children:I(b,{style:{touchAction:"none",cursor:"move",padding:"1px 0px",margin:0,justifyContent:"center",color:"#787878"},icon:C,onClick:m})}))})}return r}))}))};var B=y((function(){if(j===false)return z;return[{key:"sort",dataIndex:"sort",align:"center",width:50}].concat(z||[])}),[z,j]);var H=o(t(i,{activationConstraint:{delay:j===false?150:0,tolerance:0}}));return I(a,{sensors:H,modifiers:[d],onDragEnd:T,children:I(s,{items:E.map((function(r){return r[D]})),strategy:c,children:I(v,e({pagination:false,rowKey:D,bordered:true},N,{dataSource:E,columns:B,components:{body:{row:S.dragIcon===false?Y:_}}}))})})};export{C as DragTable};
6
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/drag-table/drag-table.tsx"],"sourcesContent":["import { DragOutlined } from '@ant-design/icons';\nimport { DndContext, PointerSensor, useSensor, useSensors, type DragEndEvent } from '@dnd-kit/core';\nimport { restrictToVerticalAxis } from '@dnd-kit/modifiers';\nimport { arrayMove, SortableContext, useSortable, verticalListSortingStrategy } from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\nimport { noop, type TAny, type TPlainObject } from '@flatbiz/utils';\nimport { Table, type RowProps, type TableProps } from 'antd';\nimport React, { isValidElement, useEffect, useMemo, useState, type ReactElement } from 'react';\nimport { IconWrapper } from '../icon-wrapper';\n\ntype DragTableProps = Omit<TableProps<TPlainObject>, 'dataSource'> & {\n dragIcon?: boolean | ReactElement;\n /** 表格数据唯一值字段Key */\n uidFieldKey: string;\n dataSource?: TPlainObject[];\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: { activeId: string | number; activeIndex: number; overIndex: number },\n ) => void;\n};\n\n/**\n * 可拖拽表格\n * ```\n * 1. 必须设置唯一值字段 uidFieldKey\n * 2. 如果拖拽显示异常,请检查 uidFieldKey 是否正确\n * ```\n */\nexport const DragTable = (props: DragTableProps) => {\n const { dragIcon, uidFieldKey, columns, dataSource, onDragChange, ...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, { activeId: active.id, activeIndex, overIndex });\n }\n };\n\n const TableBodyRow = (innerProps) => {\n const { listeners, setNodeRef, transform, transition, isDragging } = useSortable({\n id: innerProps['data-row-key'],\n });\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 ? { position: 'relative', zIndex: 9999, boxShadow: ' 0px 0px 12px 4px rgba(34, 33, 81, 0.1)' }\n : {}),\n };\n\n return <tr {...innerProps} ref={setNodeRef} style={style} {...listeners} />;\n };\n\n const TableBodyRowByIcon = ({ children, ...innerProps }: RowProps) => {\n const { setActivatorNodeRef, listeners, setNodeRef, transform, transition, isDragging } = useSortable({\n id: innerProps['data-row-key'],\n });\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: '#fff',\n }\n : {}),\n };\n const iconElement = isValidElement(dragIcon) ? dragIcon : <DragOutlined />;\n return (\n <tr {...innerProps} ref={setNodeRef} style={style}>\n {React.Children.map(children, (child) => {\n if ((child as React.ReactElement).key === 'sort') {\n return React.cloneElement(child as React.ReactElement, {\n children: (\n <span\n ref={setActivatorNodeRef}\n style={{ touchAction: 'none', cursor: 'move' }}\n {...listeners}\n >\n <IconWrapper\n style={{ display: 'inline-flex', touchAction: 'none', cursor: 'move' }}\n icon={iconElement}\n onClick={noop}\n />\n </span>\n ),\n });\n }\n return child;\n })}\n </tr>\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 <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 {...otherProps}\n dataSource={dataList}\n columns={columnsList}\n components={{\n body: {\n row: props.dragIcon === false ? TableBodyRow : TableBodyRowByIcon,\n },\n }}\n />\n </SortableContext>\n </DndContext>\n );\n};\n"],"names":["DragTable","props","dragIcon","uidFieldKey","columns","dataSource","onDragChange","otherProps","_objectWithoutPropertiesLoose","_excluded","_useState","useState","dataList","setDataList","useEffect","onDragEnd","_ref","active","over","id","activeIndex","findIndex","i","overIndex","dataListNew","arrayMove","concat","activeId","TableBodyRow","innerProps","_useSortable","useSortable","listeners","setNodeRef","transform","transition","isDragging","style","_extends","CSS","Transform","toString","scaleY","cursor","undefined","position","zIndex","boxShadow","_jsx","ref","TableBodyRowByIcon","_ref2","children","_excluded2","_useSortable2","setActivatorNodeRef","backgroundColor","iconElement","isValidElement","_DragOutlined","React","Children","map","child","key","cloneElement","touchAction","IconWrapper","display","icon","onClick","noop","columnsList","useMemo","dataIndex","align","width","sensors","useSensors","useSensor","PointerSensor","activationConstraint","delay","tolerance","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/drag-table.tsx"],"sourcesContent":["import { DragOutlined } from '@ant-design/icons';\nimport { DndContext, PointerSensor, useSensor, useSensors, type DragEndEvent } from '@dnd-kit/core';\nimport { restrictToVerticalAxis } from '@dnd-kit/modifiers';\nimport { arrayMove, SortableContext, useSortable, verticalListSortingStrategy } from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\nimport { noop, type TAny, type TPlainObject } from '@flatbiz/utils';\nimport { Table, type RowProps, type TableProps } from 'antd';\nimport React, { isValidElement, useEffect, useMemo, useState, type ReactElement } from 'react';\nimport { IconWrapper } from '../icon-wrapper';\n\ntype DragTableProps = Omit<TableProps<TPlainObject>, 'dataSource'> & {\n dragIcon?: boolean | ReactElement;\n /** 表格数据唯一值字段Key */\n uidFieldKey: string;\n dataSource?: TPlainObject[];\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 * ```\n */\nexport const DragTable = (props: DragTableProps) => {\n const { dragIcon, uidFieldKey, columns, dataSource, onDragChange, ...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 TableBodyRow = (innerProps) => {\n const { listeners, setNodeRef, transform, transition, isDragging } = useSortable({\n id: innerProps['data-row-key'],\n });\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 }\n : {}),\n };\n\n return <tr {...innerProps} ref={setNodeRef} style={style} {...listeners} />;\n };\n\n const TableBodyRowByIcon = ({ children, ...innerProps }: RowProps) => {\n const rowId = innerProps['data-row-key'];\n if (!rowId) {\n return <tr {...innerProps}>{children}</tr>;\n }\n const { setActivatorNodeRef, listeners, setNodeRef, transform, transition, isDragging } = useSortable({\n id: rowId,\n });\n debugger;\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: '#fff',\n }\n : {}),\n };\n const iconElement = isValidElement(dragIcon) ? dragIcon : <DragOutlined />;\n return (\n <tr {...innerProps} ref={setNodeRef} style={style}>\n {React.Children.map(children, (child) => {\n if ((child as React.ReactElement).key === 'sort') {\n return React.cloneElement(child as React.ReactElement, {\n children: (\n <span\n ref={setActivatorNodeRef}\n style={{ touchAction: 'none', cursor: 'move' }}\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\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 <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 {...otherProps}\n dataSource={dataList}\n columns={columnsList}\n components={{\n body: {\n row: props.dragIcon === false ? TableBodyRow : TableBodyRowByIcon,\n },\n }}\n />\n </SortableContext>\n </DndContext>\n );\n};\n"],"names":["DragTable","props","dragIcon","uidFieldKey","columns","dataSource","onDragChange","otherProps","_objectWithoutPropertiesLoose","_excluded","_useState","useState","dataList","setDataList","useEffect","onDragEnd","_ref","active","over","id","activeIndex","findIndex","i","overIndex","dataListNew","arrayMove","concat","activeId","TableBodyRow","innerProps","_useSortable","useSortable","listeners","setNodeRef","transform","transition","isDragging","style","_extends","CSS","Transform","toString","scaleY","cursor","undefined","position","zIndex","boxShadow","_jsx","ref","TableBodyRowByIcon","_ref2","children","_excluded2","rowId","_useSortable2","setActivatorNodeRef","backgroundColor","iconElement","isValidElement","_DragOutlined","React","Children","map","child","key","cloneElement","touchAction","IconWrapper","padding","margin","justifyContent","color","icon","onClick","noop","columnsList","useMemo","dataIndex","align","width","sensors","useSensors","useSensor","PointerSensor","activationConstraint","delay","tolerance","DndContext","modifiers","restrictToVerticalAxis","SortableContext","items","strategy","verticalListSortingStrategy","Table","pagination","rowKey","bordered","components","body","row"],"mappings":"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"}
@@ -2,5 +2,5 @@
2
2
  import './../fba-hooks/index.css';
3
3
  import './index.css';
4
4
  /*! @flatjs/forge MIT @flatbiz/antd */
5
- import{classNames as r}from"@dimjs/utils/cjs/class-names";import{useMutationObserver as e}from"ahooks";import{useRef as o}from"react";import{fbaHooks as t}from"../fba-hooks/index.js";import{jsx as i}from"react/jsx-runtime";import"../_rollupPluginBabelHelpers-a0769acd.js";import"@dimjs/lang/cjs/is-array";import"@wove/react/cjs/hooks";import"../use-responsive-point-21b8c601.js";import"antd";var l=function l(a){var c=o(null);var n=a.behavior||"smooth";var v=a.direction||"vertical";var s=function r(e){var o,t;var i=(o=c.current)==null?void 0:o.querySelector(".roll-location-center-"+e);var l=(t=c.current)==null?void 0:t.offsetHeight;var a=i.offsetTop;var v=i.offsetHeight;if(a<=v){var s;(s=c.current)==null?void 0:s.scrollTo({top:0,behavior:n})}else{var u=a-l/2+v/2;if(u>0){var f;(f=c.current)==null?void 0:f.scrollTo({top:u,behavior:n})}else{var m;(m=c.current)==null?void 0:m.scrollTo({top:0,behavior:n})}}};var u=function r(e){var o,t;var i=(o=c.current)==null?void 0:o.querySelector(".roll-location-center-"+e);var l=(t=c.current)==null?void 0:t.offsetWidth;var a=i.offsetLeft;var v=i.offsetWidth;if(a<=v){var s;(s=c.current)==null?void 0:s.scrollTo({left:0,behavior:n})}else{var u=a-l/2+v/2;if(u>0){var f;(f=c.current)==null?void 0:f.scrollTo({left:u,behavior:n})}else{var m;(m=c.current)==null?void 0:m.scrollTo({left:0,behavior:n})}}};t.useEffectCustom((function(){if(a.activeKey){if(v==="vertical"){s(a.activeKey)}else{u(a.activeKey)}}}),[a.activeKey]);e((function(){if(a.activeKey){if(v==="vertical"){s(a.activeKey)}else{u(a.activeKey)}}}),c,{subtree:true,childList:true,characterData:true});return i("div",{className:r("roll-location-center","roll-location-center-"+v,a.className),style:a.style,ref:c,children:a.renderList.map((function(r){return i("div",{className:"roll-location-center-"+r.activeKey,children:r.render},r.activeKey)}))})};export{l as RollLocationCenter};
5
+ import{classNames as r}from"@dimjs/utils/cjs/class-names";import{useMutationObserver as e}from"ahooks";import{useRef as t}from"react";import{fbaHooks as o}from"../fba-hooks/index.js";import{jsx as i}from"react/jsx-runtime";import"../_rollupPluginBabelHelpers-a0769acd.js";import"@dimjs/lang/cjs/is-array";import"@wove/react/cjs/hooks";import"../use-responsive-point-21b8c601.js";import"antd";var l=function l(a){var c=t(null);var n=a.behavior||"smooth";var v=a.direction||"vertical";var s=function r(e){var t,o;var i=(t=c.current)==null?void 0:t.querySelector(".roll-location-center-"+e);if(!i)return;var l=(o=c.current)==null?void 0:o.offsetHeight;var a=i.offsetTop;var v=i.offsetHeight;if(a<=v){var s;(s=c.current)==null?void 0:s.scrollTo({top:0,behavior:n})}else{var u=a-l/2+v/2;if(u>0){var f;(f=c.current)==null?void 0:f.scrollTo({top:u,behavior:n})}else{var m;(m=c.current)==null?void 0:m.scrollTo({top:0,behavior:n})}}};var u=function r(e){var t,o;var i=(t=c.current)==null?void 0:t.querySelector(".roll-location-center-"+e);if(!i)return;var l=(o=c.current)==null?void 0:o.offsetWidth;var a=i.offsetLeft;var v=i.offsetWidth;if(a<=v){var s;(s=c.current)==null?void 0:s.scrollTo({left:0,behavior:n})}else{var u=a-l/2+v/2;if(u>0){var f;(f=c.current)==null?void 0:f.scrollTo({left:u,behavior:n})}else{var m;(m=c.current)==null?void 0:m.scrollTo({left:0,behavior:n})}}};o.useEffectCustom((function(){if(a.activeKey){if(v==="vertical"){s(a.activeKey)}else{u(a.activeKey)}}}),[a.activeKey]);e((function(){if(a.activeKey){if(v==="vertical"){s(a.activeKey)}else{u(a.activeKey)}}}),c,{subtree:true,childList:true,characterData:true});return i("div",{className:r("roll-location-center","roll-location-center-"+v,a.className),style:a.style,ref:c,children:a.renderList.map((function(r){return i("div",{className:"roll-location-center-"+r.activeKey,children:r.render},r.activeKey)}))})};export{l as RollLocationCenter};
6
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/roll-location-center/center.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { useMutationObserver } from 'ahooks';\nimport { CSSProperties, ReactElement, useRef } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport './style.less';\n\nexport type RollLocationCenterProps = {\n renderList: { activeKey: string; render: ReactElement }[];\n activeKey?: string;\n behavior?: ScrollBehavior;\n direction?: 'horizontal' | 'vertical';\n style?: CSSProperties;\n className?: string;\n};\nexport const RollLocationCenter = (props: RollLocationCenterProps) => {\n const rollLocationCenterRef = useRef<HTMLDivElement>(null);\n const behavior = props.behavior || 'smooth';\n const direction = props.direction || 'vertical';\n\n const targetVerticalRoll = (key: string) => {\n const targetNode = rollLocationCenterRef.current?.querySelector(\n `.roll-location-center-${key}`,\n ) as HTMLDivElement;\n const parentNodeHeight = rollLocationCenterRef.current?.offsetHeight as number;\n const targetNodeOffsetTop = targetNode.offsetTop;\n const targetNodeHeight = targetNode.offsetHeight;\n if (targetNodeOffsetTop <= targetNodeHeight) {\n rollLocationCenterRef.current?.scrollTo({ top: 0, behavior });\n } else {\n const rollHeight = targetNodeOffsetTop - parentNodeHeight / 2 + targetNodeHeight / 2;\n if (rollHeight > 0) {\n rollLocationCenterRef.current?.scrollTo({ top: rollHeight, behavior });\n } else {\n rollLocationCenterRef.current?.scrollTo({ top: 0, behavior });\n }\n }\n };\n const targetHorizontalRoll = (key: string) => {\n const targetNode = rollLocationCenterRef.current?.querySelector(\n `.roll-location-center-${key}`,\n ) as HTMLDivElement;\n const parentNodeWidth = rollLocationCenterRef.current?.offsetWidth as number;\n const targetNodeOffsetLeft = targetNode.offsetLeft;\n const targetNodeWidth = targetNode.offsetWidth;\n if (targetNodeOffsetLeft <= targetNodeWidth) {\n rollLocationCenterRef.current?.scrollTo({ left: 0, behavior });\n } else {\n const rollWidth = targetNodeOffsetLeft - parentNodeWidth / 2 + targetNodeWidth / 2;\n if (rollWidth > 0) {\n rollLocationCenterRef.current?.scrollTo({ left: rollWidth, behavior });\n } else {\n rollLocationCenterRef.current?.scrollTo({ left: 0, behavior });\n }\n }\n };\n\n fbaHooks.useEffectCustom(() => {\n if (props.activeKey) {\n if (direction === 'vertical') {\n targetVerticalRoll(props.activeKey);\n } else {\n targetHorizontalRoll(props.activeKey);\n }\n }\n }, [props.activeKey]);\n\n useMutationObserver(\n () => {\n if (props.activeKey) {\n if (direction === 'vertical') {\n targetVerticalRoll(props.activeKey);\n } else {\n targetHorizontalRoll(props.activeKey);\n }\n }\n },\n rollLocationCenterRef,\n {\n subtree: true,\n childList: true,\n characterData: true,\n },\n );\n\n return (\n <div\n className={classNames('roll-location-center', `roll-location-center-${direction}`, props.className)}\n style={props.style}\n ref={rollLocationCenterRef}\n >\n {props.renderList.map((item) => {\n return (\n <div className={`roll-location-center-${item.activeKey}`} key={item.activeKey}>\n {item.render}\n </div>\n );\n })}\n </div>\n );\n};\n"],"names":["RollLocationCenter","props","rollLocationCenterRef","useRef","behavior","direction","targetVerticalRoll","key","_rollLocationCenterRe","_rollLocationCenterRe2","targetNode","current","querySelector","parentNodeHeight","offsetHeight","targetNodeOffsetTop","offsetTop","targetNodeHeight","_rollLocationCenterRe3","scrollTo","top","rollHeight","_rollLocationCenterRe4","_rollLocationCenterRe5","targetHorizontalRoll","_rollLocationCenterRe6","_rollLocationCenterRe7","parentNodeWidth","offsetWidth","targetNodeOffsetLeft","offsetLeft","targetNodeWidth","_rollLocationCenterRe8","left","rollWidth","_rollLocationCenterRe9","_rollLocationCenterRe10","fbaHooks","useEffectCustom","activeKey","useMutationObserver","subtree","childList","characterData","_jsx","className","_classNames","style","ref","children","renderList","map","item","render"],"mappings":";4YAcaA,EAAqB,SAArBA,EAAsBC,GACjC,IAAMC,EAAwBC,EAAuB,MACrD,IAAMC,EAAWH,EAAMG,UAAY,SACnC,IAAMC,EAAYJ,EAAMI,WAAa,WAErC,IAAMC,EAAqB,SAArBA,EAAsBC,GAAgB,IAAAC,EAAAC,EAC1C,IAAMC,GAAUF,EAAGN,EAAsBS,UAAO,UAAA,EAA7BH,EAA+BI,cAAa,yBACpCL,GAE3B,IAAMM,GAAgBJ,EAAGP,EAAsBS,UAAO,UAAA,EAA7BF,EAA+BK,aACxD,IAAMC,EAAsBL,EAAWM,UACvC,IAAMC,EAAmBP,EAAWI,aACpC,GAAIC,GAAuBE,EAAkB,CAAA,IAAAC,GAC3CA,EAAAhB,EAAsBS,UAAtBO,UAAAA,EAAAA,EAA+BC,SAAS,CAAEC,IAAK,EAAGhB,SAAAA,GACpD,KAAO,CACL,IAAMiB,EAAaN,EAAsBF,EAAmB,EAAII,EAAmB,EACnF,GAAII,EAAa,EAAG,CAAA,IAAAC,GAClBA,EAAApB,EAAsBS,UAAtBW,UAAAA,EAAAA,EAA+BH,SAAS,CAAEC,IAAKC,EAAYjB,SAAAA,GAC7D,KAAO,CAAA,IAAAmB,GACLA,EAAArB,EAAsBS,UAAtBY,UAAAA,EAAAA,EAA+BJ,SAAS,CAAEC,IAAK,EAAGhB,SAAAA,GACpD,CACF,GAEF,IAAMoB,EAAuB,SAAvBA,EAAwBjB,GAAgB,IAAAkB,EAAAC,EAC5C,IAAMhB,GAAUe,EAAGvB,EAAsBS,UAAO,UAAA,EAA7Bc,EAA+Bb,cAAa,yBACpCL,GAE3B,IAAMoB,GAAeD,EAAGxB,EAAsBS,UAAO,UAAA,EAA7Be,EAA+BE,YACvD,IAAMC,EAAuBnB,EAAWoB,WACxC,IAAMC,EAAkBrB,EAAWkB,YACnC,GAAIC,GAAwBE,EAAiB,CAAA,IAAAC,GAC3CA,EAAA9B,EAAsBS,UAAtBqB,UAAAA,EAAAA,EAA+Bb,SAAS,CAAEc,KAAM,EAAG7B,SAAAA,GACrD,KAAO,CACL,IAAM8B,EAAYL,EAAuBF,EAAkB,EAAII,EAAkB,EACjF,GAAIG,EAAY,EAAG,CAAA,IAAAC,GACjBA,EAAAjC,EAAsBS,UAAtBwB,UAAAA,EAAAA,EAA+BhB,SAAS,CAAEc,KAAMC,EAAW9B,SAAAA,GAC7D,KAAO,CAAA,IAAAgC,GACLA,EAAAlC,EAAsBS,UAAtByB,UAAAA,EAAAA,EAA+BjB,SAAS,CAAEc,KAAM,EAAG7B,SAAAA,GACrD,CACF,GAGFiC,EAASC,iBAAgB,WACvB,GAAIrC,EAAMsC,UAAW,CACnB,GAAIlC,IAAc,WAAY,CAC5BC,EAAmBL,EAAMsC,UAC3B,KAAO,CACLf,EAAqBvB,EAAMsC,UAC7B,CACF,CACF,GAAG,CAACtC,EAAMsC,YAEVC,GACE,WACE,GAAIvC,EAAMsC,UAAW,CACnB,GAAIlC,IAAc,WAAY,CAC5BC,EAAmBL,EAAMsC,UAC3B,KAAO,CACLf,EAAqBvB,EAAMsC,UAC7B,CACF,CACD,GACDrC,EACA,CACEuC,QAAS,KACTC,UAAW,KACXC,cAAe,OAInB,OACEC,EAAA,MAAA,CACEC,UAAWC,EAAW,uBAAsB,wBAA0BzC,EAAaJ,EAAM4C,WACzFE,MAAO9C,EAAM8C,MACbC,IAAK9C,EAAsB+C,SAE1BhD,EAAMiD,WAAWC,KAAI,SAACC,GACrB,OACER,EAAA,MAAA,CAAKC,UAAS,wBAA0BO,EAAKb,UAAYU,SACtDG,EAAKC,QADuDD,EAAKb,eAO9E"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/roll-location-center/center.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { useMutationObserver } from 'ahooks';\nimport { CSSProperties, ReactElement, useRef } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport './style.less';\n\nexport type RollLocationCenterProps = {\n renderList: { activeKey: string; render: ReactElement }[];\n activeKey?: string;\n behavior?: ScrollBehavior;\n direction?: 'horizontal' | 'vertical';\n style?: CSSProperties;\n className?: string;\n};\nexport const RollLocationCenter = (props: RollLocationCenterProps) => {\n const rollLocationCenterRef = useRef<HTMLDivElement>(null);\n const behavior = props.behavior || 'smooth';\n const direction = props.direction || 'vertical';\n\n const targetVerticalRoll = (key: string) => {\n const targetNode = rollLocationCenterRef.current?.querySelector(\n `.roll-location-center-${key}`,\n ) as HTMLDivElement;\n if (!targetNode) return;\n const parentNodeHeight = rollLocationCenterRef.current?.offsetHeight as number;\n const targetNodeOffsetTop = targetNode.offsetTop;\n const targetNodeHeight = targetNode.offsetHeight;\n if (targetNodeOffsetTop <= targetNodeHeight) {\n rollLocationCenterRef.current?.scrollTo({ top: 0, behavior });\n } else {\n const rollHeight = targetNodeOffsetTop - parentNodeHeight / 2 + targetNodeHeight / 2;\n if (rollHeight > 0) {\n rollLocationCenterRef.current?.scrollTo({ top: rollHeight, behavior });\n } else {\n rollLocationCenterRef.current?.scrollTo({ top: 0, behavior });\n }\n }\n };\n const targetHorizontalRoll = (key: string) => {\n const targetNode = rollLocationCenterRef.current?.querySelector(\n `.roll-location-center-${key}`,\n ) as HTMLDivElement;\n if (!targetNode) return;\n const parentNodeWidth = rollLocationCenterRef.current?.offsetWidth as number;\n const targetNodeOffsetLeft = targetNode.offsetLeft;\n const targetNodeWidth = targetNode.offsetWidth;\n if (targetNodeOffsetLeft <= targetNodeWidth) {\n rollLocationCenterRef.current?.scrollTo({ left: 0, behavior });\n } else {\n const rollWidth = targetNodeOffsetLeft - parentNodeWidth / 2 + targetNodeWidth / 2;\n if (rollWidth > 0) {\n rollLocationCenterRef.current?.scrollTo({ left: rollWidth, behavior });\n } else {\n rollLocationCenterRef.current?.scrollTo({ left: 0, behavior });\n }\n }\n };\n\n fbaHooks.useEffectCustom(() => {\n if (props.activeKey) {\n if (direction === 'vertical') {\n targetVerticalRoll(props.activeKey);\n } else {\n targetHorizontalRoll(props.activeKey);\n }\n }\n }, [props.activeKey]);\n\n useMutationObserver(\n () => {\n if (props.activeKey) {\n if (direction === 'vertical') {\n targetVerticalRoll(props.activeKey);\n } else {\n targetHorizontalRoll(props.activeKey);\n }\n }\n },\n rollLocationCenterRef,\n {\n subtree: true,\n childList: true,\n characterData: true,\n },\n );\n\n return (\n <div\n className={classNames('roll-location-center', `roll-location-center-${direction}`, props.className)}\n style={props.style}\n ref={rollLocationCenterRef}\n >\n {props.renderList.map((item) => {\n return (\n <div className={`roll-location-center-${item.activeKey}`} key={item.activeKey}>\n {item.render}\n </div>\n );\n })}\n </div>\n );\n};\n"],"names":["RollLocationCenter","props","rollLocationCenterRef","useRef","behavior","direction","targetVerticalRoll","key","_rollLocationCenterRe","_rollLocationCenterRe2","targetNode","current","querySelector","parentNodeHeight","offsetHeight","targetNodeOffsetTop","offsetTop","targetNodeHeight","_rollLocationCenterRe3","scrollTo","top","rollHeight","_rollLocationCenterRe4","_rollLocationCenterRe5","targetHorizontalRoll","_rollLocationCenterRe6","_rollLocationCenterRe7","parentNodeWidth","offsetWidth","targetNodeOffsetLeft","offsetLeft","targetNodeWidth","_rollLocationCenterRe8","left","rollWidth","_rollLocationCenterRe9","_rollLocationCenterRe10","fbaHooks","useEffectCustom","activeKey","useMutationObserver","subtree","childList","characterData","_jsx","className","_classNames","style","ref","children","renderList","map","item","render"],"mappings":";4YAcaA,EAAqB,SAArBA,EAAsBC,GACjC,IAAMC,EAAwBC,EAAuB,MACrD,IAAMC,EAAWH,EAAMG,UAAY,SACnC,IAAMC,EAAYJ,EAAMI,WAAa,WAErC,IAAMC,EAAqB,SAArBA,EAAsBC,GAAgB,IAAAC,EAAAC,EAC1C,IAAMC,GAAUF,EAAGN,EAAsBS,UAAO,UAAA,EAA7BH,EAA+BI,cAAa,yBACpCL,GAE3B,IAAKG,EAAY,OACjB,IAAMG,GAAgBJ,EAAGP,EAAsBS,UAAO,UAAA,EAA7BF,EAA+BK,aACxD,IAAMC,EAAsBL,EAAWM,UACvC,IAAMC,EAAmBP,EAAWI,aACpC,GAAIC,GAAuBE,EAAkB,CAAA,IAAAC,GAC3CA,EAAAhB,EAAsBS,UAAtBO,UAAAA,EAAAA,EAA+BC,SAAS,CAAEC,IAAK,EAAGhB,SAAAA,GACpD,KAAO,CACL,IAAMiB,EAAaN,EAAsBF,EAAmB,EAAII,EAAmB,EACnF,GAAII,EAAa,EAAG,CAAA,IAAAC,GAClBA,EAAApB,EAAsBS,UAAtBW,UAAAA,EAAAA,EAA+BH,SAAS,CAAEC,IAAKC,EAAYjB,SAAAA,GAC7D,KAAO,CAAA,IAAAmB,GACLA,EAAArB,EAAsBS,UAAtBY,UAAAA,EAAAA,EAA+BJ,SAAS,CAAEC,IAAK,EAAGhB,SAAAA,GACpD,CACF,GAEF,IAAMoB,EAAuB,SAAvBA,EAAwBjB,GAAgB,IAAAkB,EAAAC,EAC5C,IAAMhB,GAAUe,EAAGvB,EAAsBS,UAAO,UAAA,EAA7Bc,EAA+Bb,cAAa,yBACpCL,GAE3B,IAAKG,EAAY,OACjB,IAAMiB,GAAeD,EAAGxB,EAAsBS,UAAO,UAAA,EAA7Be,EAA+BE,YACvD,IAAMC,EAAuBnB,EAAWoB,WACxC,IAAMC,EAAkBrB,EAAWkB,YACnC,GAAIC,GAAwBE,EAAiB,CAAA,IAAAC,GAC3CA,EAAA9B,EAAsBS,UAAtBqB,UAAAA,EAAAA,EAA+Bb,SAAS,CAAEc,KAAM,EAAG7B,SAAAA,GACrD,KAAO,CACL,IAAM8B,EAAYL,EAAuBF,EAAkB,EAAII,EAAkB,EACjF,GAAIG,EAAY,EAAG,CAAA,IAAAC,GACjBA,EAAAjC,EAAsBS,UAAtBwB,UAAAA,EAAAA,EAA+BhB,SAAS,CAAEc,KAAMC,EAAW9B,SAAAA,GAC7D,KAAO,CAAA,IAAAgC,GACLA,EAAAlC,EAAsBS,UAAtByB,UAAAA,EAAAA,EAA+BjB,SAAS,CAAEc,KAAM,EAAG7B,SAAAA,GACrD,CACF,GAGFiC,EAASC,iBAAgB,WACvB,GAAIrC,EAAMsC,UAAW,CACnB,GAAIlC,IAAc,WAAY,CAC5BC,EAAmBL,EAAMsC,UAC3B,KAAO,CACLf,EAAqBvB,EAAMsC,UAC7B,CACF,CACF,GAAG,CAACtC,EAAMsC,YAEVC,GACE,WACE,GAAIvC,EAAMsC,UAAW,CACnB,GAAIlC,IAAc,WAAY,CAC5BC,EAAmBL,EAAMsC,UAC3B,KAAO,CACLf,EAAqBvB,EAAMsC,UAC7B,CACF,CACD,GACDrC,EACA,CACEuC,QAAS,KACTC,UAAW,KACXC,cAAe,OAInB,OACEC,EAAA,MAAA,CACEC,UAAWC,EAAW,uBAAsB,wBAA0BzC,EAAaJ,EAAM4C,WACzFE,MAAO9C,EAAM8C,MACbC,IAAK9C,EAAsB+C,SAE1BhD,EAAMiD,WAAWC,KAAI,SAACC,GACrB,OACER,EAAA,MAAA,CAAKC,UAAS,wBAA0BO,EAAKb,UAAYU,SACtDG,EAAKC,QADuDD,EAAKb,eAO9E"}
@@ -2,5 +2,5 @@
2
2
  import './../fba-hooks/index.css';
3
3
  import './index.css';
4
4
  /*! @flatjs/forge MIT @flatbiz/antd */
5
- import r from"@ant-design/icons/es/icons/PlusOutlined";import{a as e,_ as i}from"../_rollupPluginBabelHelpers-a0769acd.js";import{classNames as n}from"@dimjs/utils/cjs/class-names";import{hooks as t}from"@wove/react/cjs/hooks";import{isPlainObject as a}from"@dimjs/lang/cjs/is-plain-object";import{extend as s}from"@dimjs/utils/cjs/extend";import{isUndefinedOrNull as o,toArray as u}from"@flatbiz/utils";import{message as l,Upload as d,Button as f}from"antd";import{useState as m,useMemo as c,Fragment as p}from"react";import{flushSync as v}from"react-dom";import{fbaHooks as g}from"../fba-hooks/index.js";import{jsx as h,jsxs as x}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-array";import"../use-responsive-point-21b8c601.js";var j=["onChange","onUploadError","value","triggerText","limitHidden"];var C=function r(f){var p=f.onChange,x=f.onUploadError,C=f.value,y=f.triggerText,b=f.limitHidden,O=e(f,j);var R=o(C)?undefined:u(C);var E=m(),U=E[0],k=E[1];var D=s({uid:"uid",name:"name",url:"url"},f.fieldNames);g.useEffectCustom((function(){var r=(U==null?void 0:U.filter((function(r){return r["status"]==="error"})))||[];var e=(R==null?void 0:R.map((function(r){return{uid:r[D.uid],name:r[D.name],url:r[D.url],status:"done",isOriginal:true,responseData:r["responseData"]}})))||[];if(r.length>0){var i=r.map((function(r){return{uid:r.uid,name:r.name,status:"error",isOriginal:true,response:r["response"]}}));e=e.concat(i)}k(e)}),[D.name,D.uid,D.url,R]);var H=function r(e){var i=[];var n=false;e.forEach((function(r){if(r["isOriginal"]){if(r["status"]!=="error"){var e;i.push((e={},e[D.uid]=r.uid,e[D.name]=r.name,e[D.url]=r.url,e))}}else if(a(r.response)){if(r.response.code==="0000"){var t;var s=r.response.data;var o=(f.onRequestResultAdapter==null?void 0:f.onRequestResultAdapter(s))||s;i.push((t={},t[D.uid]=o[D.uid]||r.uid,t[D.name]=o[D.name]||r.name,t[D.url]=o[D.url],t.responseData=s,t))}else{n=true;r.status="error";r.response=r.response.message||"上传失败"}}}));if(n){k([].concat(e))}p==null?void 0:p(i)};var L=t.useCallbackRef((function(r){var e=r.fileList;if(r.file.status==="done"){var i=[].concat(r.fileList);var n=i.filter((function(r){return r.status==="done"||r["isOriginal"]}));var t=n.length===i.length;if(t){H(i)}v((function(){return k(i)}));return}else if(r.file.status==="removed"){var a=r.file.uid;var s=R!==undefined?[].concat(R):[];var o=s.findIndex((function(r){var e=r[D.uid];return e===a}));if(o>=0){s.splice(o,1)}p==null?void 0:p(R)}else if(r.file.status==="error"){if(x){x()}else{void l.error("上传操作失败...")}}k([].concat(e));f.onUploadChange==null?void 0:f.onUploadChange(r)}));var N=c((function(){if(O.maxCount===undefined||!b)return false;if(O.maxCount===0)return true;if(U&&U.length>=O.maxCount)return true;return false}),[b,O.maxCount,U]);return h(d,i({},O,{onChange:L,fileList:U,className:n("v-upload-wrapper",O.className),children:O.disabled||N?null:h(T,{triggerText:y,listType:O.listType,children:f.children})}))};var T=function e(i){if(i.children)return h(p,{children:i.children});if(i.listType==="picture-card"){return x("div",{children:[h(r,{}),h("div",{style:{marginTop:8},children:i.triggerText||"上传图片"})]})}if(i.listType==="picture"){return h(f,{type:"primary",ghost:true,children:i.triggerText||"选择图片上传"})}return h(f,{type:"primary",ghost:true,children:i.triggerText||"选择文件上传"})};export{C as UploadWrapper};
5
+ import r from"@ant-design/icons/es/icons/PlusOutlined";import{a as e,_ as i}from"../_rollupPluginBabelHelpers-a0769acd.js";import{classNames as n}from"@dimjs/utils/cjs/class-names";import{hooks as t}from"@wove/react/cjs/hooks";import{isPlainObject as a}from"@dimjs/lang/cjs/is-plain-object";import{extend as s}from"@dimjs/utils/cjs/extend";import{isUndefinedOrNull as o,toArray as u}from"@flatbiz/utils";import{message as l,Upload as d,Button as f}from"antd";import{useState as m,useMemo as c,Fragment as p}from"react";import{flushSync as v}from"react-dom";import{fbaHooks as g}from"../fba-hooks/index.js";import{jsx as h,jsxs as x}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-array";import"../use-responsive-point-21b8c601.js";var j=["onChange","onUploadError","value","triggerText","limitHidden"];var C=function r(f){var p=f.onChange,x=f.onUploadError,C=f.value,y=f.triggerText,b=f.limitHidden,O=e(f,j);var R=o(C)?undefined:u(C);var E=m(),U=E[0],k=E[1];var D=s({uid:"uid",name:"name",url:"url"},f.fieldNames);g.useEffectCustom((function(){var r=(U==null?void 0:U.filter((function(r){return r["status"]==="error"})))||[];var e=(R==null?void 0:R.map((function(r){return{uid:r[D.uid],name:r[D.name],url:r[D.url],status:"done",isOriginal:true,responseData:r["responseData"]}})))||[];if(r.length>0){var i=r.map((function(r){return{uid:r.uid,name:r.name,status:"error",isOriginal:true,response:r["response"]}}));e=e.concat(i)}k(e)}),[D.name,D.uid,D.url,R]);var H=function r(e){var i=[];var n=false;e.forEach((function(r){if(r["isOriginal"]){if(r["status"]!=="error"){var e;i.push((e={},e[D.uid]=r.uid,e[D.name]=r.name,e[D.url]=r.url,e))}}else if(a(r.response)){if(r.response.code==="0000"){var t;var s=r.response.data;var o=(f.onRequestResultAdapter==null?void 0:f.onRequestResultAdapter(s))||s;i.push((t={},t[D.uid]=o[D.uid]||r.uid,t[D.name]=o[D.name]||r.name,t[D.url]=o[D.url],t.responseData=s,t))}else{var u=r.response.message||"上传失败";n=true;r.status="error";r.response=r.response.message||"上传失败";if(x){x==null?void 0:x(u)}else{void l.error("上传操作失败...")}}}}));if(n){k([].concat(e))}p==null?void 0:p(i)};var L=t.useCallbackRef((function(r){var e=r.fileList;if(r.file.status==="done"){var i=[].concat(r.fileList);var n=i.filter((function(r){return r.status==="done"||r["isOriginal"]}));var t=n.length===i.length;if(t){H(i)}v((function(){return k(i)}));return}else if(r.file.status==="removed"){var a=r.file.uid;var s=R!==undefined?[].concat(R):[];var o=s.findIndex((function(r){var e=r[D.uid];return e===a}));if(o>=0){s.splice(o,1)}p==null?void 0:p(s)}else if(r.file.status==="error"){if(x){x()}else{void l.error("上传操作失败...")}}k([].concat(e));f.onUploadChange==null?void 0:f.onUploadChange(r)}));var N=c((function(){if(O.maxCount===undefined||!b)return false;if(O.maxCount===0)return true;if(U&&U.length>=O.maxCount)return true;return false}),[b,O.maxCount,U]);return h(d,i({},O,{onChange:L,fileList:U,className:n("v-upload-wrapper",O.className),children:O.disabled||N?null:h(T,{triggerText:y,listType:O.listType,children:f.children})}))};var T=function e(i){if(i.children)return h(p,{children:i.children});if(i.listType==="picture-card"){return x("div",{children:[h(r,{}),h("div",{style:{marginTop:8},children:i.triggerText||"上传图片"})]})}if(i.listType==="picture"){return h(f,{type:"primary",ghost:true,children:i.triggerText||"选择图片上传"})}return h(f,{type:"primary",ghost:true,children:i.triggerText||"选择文件上传"})};export{C as UploadWrapper};
6
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/upload-wrapper/upload-wrapper.tsx"],"sourcesContent":["import { PlusOutlined } from '@ant-design/icons';\nimport { isPlainObject } from '@dimjs/lang';\nimport { classNames, extend } from '@dimjs/utils';\nimport { isUndefinedOrNull, TAny, toArray, TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Button, message, Upload, UploadProps } from 'antd';\nimport { UploadChangeParam } from 'antd/lib/upload';\nimport { UploadFile, UploadListType } from 'antd/lib/upload/interface';\nimport { Fragment, ReactNode, useMemo, useState } from 'react';\nimport { flushSync } from 'react-dom';\nimport { fbaHooks } from '../fba-hooks';\nimport './style.less';\n\nexport type UploadWrapperFileItem = {\n uid: string;\n name: string;\n url?: string;\n};\n\nexport type UploadWrapperProps<T extends TPlainObject = TPlainObject> = {\n value?: T[] | T;\n onChange?: (value?: T[]) => void;\n onUploadError?: (message?: string) => void;\n onUploadChange?: (info: UploadChangeParam<UploadFile>) => void;\n /**\n * 属性映射\n */\n fieldNames?: {\n uid: string;\n name?: string;\n url?: string;\n };\n /**\n * 接口响应数据适配器,如果配置了fieldNames,适配器返回值会再进过fieldNames转换\n */\n onRequestResultAdapter?: (respData: TAny) => TPlainObject;\n /** 操作触发显示文本 */\n triggerText?: string;\n /** 超过maxCount 隐藏上传入口 */\n limitHidden?: boolean;\n} & Omit<UploadProps, 'onChange' | 'fileList'>;\n\n/**\n * 文件上传\n * ```\n * 1. 可通过配置children替换默认上传触发布局\n * 2. 接口返回结构:\n * formData上传接口返回值\n * {\n * code: '0000',\n * data: {\n * uid: '唯一值,可使用fileKey值'\n * name: '文件名称'\n * url: '预览地址'\n * }\n * }\n * 3. 如果接口返回的不是上面的字段名称,可通过fieldNames配置接口返回字段名称映射\n *\n * 4. 最佳使用方式,与Form结合使用\n * <Form.Item name=\"attachmentList\" label=\"附件\">\n * <UploadWrapper action={uploadUrl} />\n * </Form.Item>\n * ```\n *\n */\nexport const UploadWrapper = (props: UploadWrapperProps) => {\n const { onChange, onUploadError, value, triggerText, limitHidden, ...otherProps } = props;\n const valueList = isUndefinedOrNull(value) ? undefined : toArray<TPlainObject>(value);\n const [uploadList, setUploadList] = useState<UploadWrapperFileItem[]>();\n const fieldNames = extend(\n {\n uid: 'uid',\n name: 'name',\n url: 'url',\n },\n props.fieldNames,\n ) as Required<UploadWrapperFileItem>;\n\n fbaHooks.useEffectCustom(() => {\n const errorList = uploadList?.filter((item) => item['status'] === 'error') || [];\n let newList =\n valueList?.map((item) => {\n return {\n uid: item[fieldNames.uid],\n name: item[fieldNames.name],\n url: item[fieldNames.url],\n status: 'done',\n isOriginal: true,\n responseData: item['responseData'],\n };\n }) || [];\n if (errorList.length > 0) {\n const newErrorList = errorList.map((item) => {\n return {\n uid: item.uid,\n name: item.name,\n status: 'error',\n isOriginal: true,\n response: item['response'],\n };\n }) as TAny[];\n newList = newList.concat(newErrorList);\n }\n setUploadList(newList);\n }, [fieldNames.name, fieldNames.uid, fieldNames.url, valueList]);\n\n const handleResponse = (fileList: UploadFile<TAny>[]) => {\n const newFileList: TAny[] = [];\n let hasError = false;\n fileList.forEach((item) => {\n if (item['isOriginal']) {\n if (item['status'] !== 'error') {\n newFileList.push({\n [fieldNames.uid]: item.uid,\n [fieldNames.name]: item.name,\n [fieldNames.url]: item.url,\n });\n }\n } else if (isPlainObject(item.response)) {\n if (item.response.code === '0000') {\n const respData = item.response.data;\n const result = (props.onRequestResultAdapter?.(respData) || respData) as TPlainObject;\n newFileList.push({\n [fieldNames.uid]: result[fieldNames.uid] || item.uid,\n [fieldNames.name]: result[fieldNames.name] || item.name,\n [fieldNames.url]: result[fieldNames.url],\n responseData: respData,\n });\n } else {\n hasError = true;\n item.status = 'error';\n item.response = item.response.message || '上传失败';\n }\n }\n });\n if (hasError) {\n setUploadList([...fileList] as UploadWrapperFileItem[]);\n }\n onChange?.(newFileList);\n };\n\n const onUploadChange = hooks.useCallbackRef((info) => {\n const fileList = info.fileList as TPlainObject[];\n if (info.file.status === 'done') {\n const newFileList = [...info.fileList];\n const donwList = newFileList.filter((item) => item.status === 'done' || item['isOriginal']);\n\n const allDone = donwList.length === newFileList.length;\n if (allDone) {\n handleResponse(newFileList);\n }\n flushSync(() => setUploadList(newFileList));\n return;\n } else if (info.file.status === 'removed') {\n const uid = info.file.uid;\n const targetList = valueList !== undefined ? [...valueList] : [];\n const targetIndex = targetList.findIndex((item) => {\n const tempUid = item[fieldNames.uid];\n return tempUid === uid;\n });\n if (targetIndex >= 0) {\n targetList.splice(targetIndex, 1);\n }\n onChange?.(valueList);\n } else if (info.file.status === 'error') {\n if (onUploadError) {\n onUploadError();\n } else {\n void message.error('上传操作失败...');\n }\n }\n // https://github.com/ant-design/ant-design/issues/2423\n setUploadList([...fileList] as UploadWrapperFileItem[]);\n props.onUploadChange?.(info);\n });\n\n const hiddenEmtry = useMemo(() => {\n if (otherProps.maxCount === undefined || !limitHidden) return false;\n if (otherProps.maxCount === 0) return true;\n if (uploadList && uploadList.length >= otherProps.maxCount) return true;\n return false;\n }, [limitHidden, otherProps.maxCount, uploadList]);\n\n return (\n <Upload\n {...otherProps}\n onChange={onUploadChange}\n fileList={uploadList}\n className={classNames('v-upload-wrapper', otherProps.className)}\n >\n {otherProps.disabled || hiddenEmtry ? null : (\n <UploadTrigger triggerText={triggerText} listType={otherProps.listType}>\n {props.children}\n </UploadTrigger>\n )}\n </Upload>\n );\n};\n\nconst UploadTrigger = (props: {\n listType?: UploadListType;\n children?: ReactNode | ReactNode[];\n triggerText?: string;\n}) => {\n if (props.children) return <Fragment>{props.children}</Fragment>;\n if (props.listType === 'picture-card') {\n return (\n <div>\n <PlusOutlined />\n <div style={{ marginTop: 8 }}>{props.triggerText || '上传图片'}</div>\n </div>\n );\n }\n if (props.listType === 'picture') {\n return (\n <Button type=\"primary\" ghost>\n {props.triggerText || '选择图片上传'}\n </Button>\n );\n }\n return (\n <Button type=\"primary\" ghost>\n {props.triggerText || '选择文件上传'}\n </Button>\n );\n};\n"],"names":["UploadWrapper","props","onChange","onUploadError","value","triggerText","limitHidden","otherProps","_objectWithoutPropertiesLoose","_excluded","valueList","isUndefinedOrNull","undefined","toArray","_useState","useState","uploadList","setUploadList","fieldNames","_extend","uid","name","url","fbaHooks","useEffectCustom","errorList","filter","item","newList","map","status","isOriginal","responseData","length","newErrorList","response","concat","handleResponse","fileList","newFileList","hasError","forEach","_newFileList$push","push","_isPlainObject","code","_newFileList$push2","respData","data","result","onRequestResultAdapter","message","onUploadChange","_hooks","useCallbackRef","info","file","donwList","allDone","flushSync","targetList","targetIndex","findIndex","tempUid","splice","error","hiddenEmtry","useMemo","maxCount","_jsx","Upload","_extends","className","_classNames","children","disabled","UploadTrigger","listType","Fragment","_jsxs","_PlusOutlined","style","marginTop","Button","type","ghost"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/upload-wrapper/upload-wrapper.tsx"],"sourcesContent":["import { PlusOutlined } from '@ant-design/icons';\nimport { isPlainObject } from '@dimjs/lang';\nimport { classNames, extend } from '@dimjs/utils';\nimport { isUndefinedOrNull, TAny, toArray, TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Button, message, Upload, UploadProps } from 'antd';\nimport { UploadChangeParam } from 'antd/lib/upload';\nimport { UploadFile, UploadListType } from 'antd/lib/upload/interface';\nimport { Fragment, ReactNode, useMemo, useState } from 'react';\nimport { flushSync } from 'react-dom';\nimport { fbaHooks } from '../fba-hooks';\nimport './style.less';\n\nexport type UploadWrapperFileItem = {\n uid: string;\n name: string;\n url?: string;\n};\n\nexport type UploadWrapperProps<T extends TPlainObject = TPlainObject> = {\n value?: T[] | T;\n onChange?: (value?: T[]) => void;\n onUploadError?: (message?: string) => void;\n onUploadChange?: (info: UploadChangeParam<UploadFile>) => void;\n /**\n * 属性映射\n */\n fieldNames?: {\n uid: string;\n name?: string;\n url?: string;\n };\n /**\n * 接口响应数据适配器,如果配置了fieldNames,适配器返回值会再进过fieldNames转换\n */\n onRequestResultAdapter?: (respData: TAny) => TPlainObject;\n /** 操作触发显示文本 */\n triggerText?: string;\n /** 超过maxCount 隐藏上传入口 */\n limitHidden?: boolean;\n} & Omit<UploadProps, 'onChange' | 'fileList'>;\n\n/**\n * 文件上传\n * ```\n * 1. 可通过配置children替换默认上传触发布局\n * 2. 接口返回结构:\n * formData上传接口返回值\n * {\n * code: '0000',\n * data: {\n * uid: '唯一值,可使用fileKey值'\n * name: '文件名称'\n * url: '预览地址'\n * }\n * }\n * 3. 如果接口返回的不是上面的字段名称,可通过fieldNames配置接口返回字段名称映射\n *\n * 4. 最佳使用方式,与Form结合使用\n * <Form.Item name=\"attachmentList\" label=\"附件\">\n * <UploadWrapper action={uploadUrl} />\n * </Form.Item>\n * ```\n *\n */\nexport const UploadWrapper = (props: UploadWrapperProps) => {\n const { onChange, onUploadError, value, triggerText, limitHidden, ...otherProps } = props;\n const valueList = isUndefinedOrNull(value) ? undefined : toArray<TPlainObject>(value);\n const [uploadList, setUploadList] = useState<UploadWrapperFileItem[]>();\n const fieldNames = extend(\n {\n uid: 'uid',\n name: 'name',\n url: 'url',\n },\n props.fieldNames,\n ) as Required<UploadWrapperFileItem>;\n\n fbaHooks.useEffectCustom(() => {\n const errorList = uploadList?.filter((item) => item['status'] === 'error') || [];\n let newList =\n valueList?.map((item) => {\n return {\n uid: item[fieldNames.uid],\n name: item[fieldNames.name],\n url: item[fieldNames.url],\n status: 'done',\n isOriginal: true,\n responseData: item['responseData'],\n };\n }) || [];\n if (errorList.length > 0) {\n const newErrorList = errorList.map((item) => {\n return {\n uid: item.uid,\n name: item.name,\n status: 'error',\n isOriginal: true,\n response: item['response'],\n };\n }) as TAny[];\n newList = newList.concat(newErrorList);\n }\n setUploadList(newList);\n }, [fieldNames.name, fieldNames.uid, fieldNames.url, valueList]);\n\n const handleResponse = (fileList: UploadFile<TAny>[]) => {\n const newFileList: TAny[] = [];\n let hasError = false;\n fileList.forEach((item) => {\n if (item['isOriginal']) {\n if (item['status'] !== 'error') {\n newFileList.push({\n [fieldNames.uid]: item.uid,\n [fieldNames.name]: item.name,\n [fieldNames.url]: item.url,\n });\n }\n } else if (isPlainObject(item.response)) {\n if (item.response.code === '0000') {\n const respData = item.response.data;\n const result = (props.onRequestResultAdapter?.(respData) || respData) as TPlainObject;\n newFileList.push({\n [fieldNames.uid]: result[fieldNames.uid] || item.uid,\n [fieldNames.name]: result[fieldNames.name] || item.name,\n [fieldNames.url]: result[fieldNames.url],\n responseData: respData,\n });\n } else {\n const errorMsg = item.response.message || '上传失败';\n hasError = true;\n item.status = 'error';\n item.response = item.response.message || '上传失败';\n if (onUploadError) {\n onUploadError?.(errorMsg);\n } else {\n void message.error('上传操作失败...');\n }\n }\n }\n });\n if (hasError) {\n setUploadList([...fileList] as UploadWrapperFileItem[]);\n }\n onChange?.(newFileList);\n };\n\n const onUploadChange = hooks.useCallbackRef((info) => {\n const fileList = info.fileList as TPlainObject[];\n if (info.file.status === 'done') {\n const newFileList = [...info.fileList];\n const donwList = newFileList.filter((item) => item.status === 'done' || item['isOriginal']);\n\n const allDone = donwList.length === newFileList.length;\n if (allDone) {\n handleResponse(newFileList);\n }\n flushSync(() => setUploadList(newFileList));\n return;\n } else if (info.file.status === 'removed') {\n const uid = info.file.uid;\n const targetList = valueList !== undefined ? [...valueList] : [];\n const targetIndex = targetList.findIndex((item) => {\n const tempUid = item[fieldNames.uid];\n return tempUid === uid;\n });\n if (targetIndex >= 0) {\n targetList.splice(targetIndex, 1);\n }\n onChange?.(targetList);\n } else if (info.file.status === 'error') {\n if (onUploadError) {\n onUploadError();\n } else {\n void message.error('上传操作失败...');\n }\n }\n // https://github.com/ant-design/ant-design/issues/2423\n setUploadList([...fileList] as UploadWrapperFileItem[]);\n props.onUploadChange?.(info);\n });\n\n const hiddenEmtry = useMemo(() => {\n if (otherProps.maxCount === undefined || !limitHidden) return false;\n if (otherProps.maxCount === 0) return true;\n if (uploadList && uploadList.length >= otherProps.maxCount) return true;\n return false;\n }, [limitHidden, otherProps.maxCount, uploadList]);\n\n return (\n <Upload\n {...otherProps}\n onChange={onUploadChange}\n fileList={uploadList}\n className={classNames('v-upload-wrapper', otherProps.className)}\n >\n {otherProps.disabled || hiddenEmtry ? null : (\n <UploadTrigger triggerText={triggerText} listType={otherProps.listType}>\n {props.children}\n </UploadTrigger>\n )}\n </Upload>\n );\n};\n\nconst UploadTrigger = (props: {\n listType?: UploadListType;\n children?: ReactNode | ReactNode[];\n triggerText?: string;\n}) => {\n if (props.children) return <Fragment>{props.children}</Fragment>;\n if (props.listType === 'picture-card') {\n return (\n <div>\n <PlusOutlined />\n <div style={{ marginTop: 8 }}>{props.triggerText || '上传图片'}</div>\n </div>\n );\n }\n if (props.listType === 'picture') {\n return (\n <Button type=\"primary\" ghost>\n {props.triggerText || '选择图片上传'}\n </Button>\n );\n }\n return (\n <Button type=\"primary\" ghost>\n {props.triggerText || '选择文件上传'}\n </Button>\n );\n};\n"],"names":["UploadWrapper","props","onChange","onUploadError","value","triggerText","limitHidden","otherProps","_objectWithoutPropertiesLoose","_excluded","valueList","isUndefinedOrNull","undefined","toArray","_useState","useState","uploadList","setUploadList","fieldNames","_extend","uid","name","url","fbaHooks","useEffectCustom","errorList","filter","item","newList","map","status","isOriginal","responseData","length","newErrorList","response","concat","handleResponse","fileList","newFileList","hasError","forEach","_newFileList$push","push","_isPlainObject","code","_newFileList$push2","respData","data","result","onRequestResultAdapter","errorMsg","message","error","onUploadChange","_hooks","useCallbackRef","info","file","donwList","allDone","flushSync","targetList","targetIndex","findIndex","tempUid","splice","hiddenEmtry","useMemo","maxCount","_jsx","Upload","_extends","className","_classNames","children","disabled","UploadTrigger","listType","Fragment","_jsxs","_PlusOutlined","style","marginTop","Button","type","ghost"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flatbiz/antd",
3
- "version": "4.2.99",
3
+ "version": "4.2.101",
4
4
  "description": "flat-biz ui components",
5
5
  "main": "index.js",
6
6
  "typings": "index.d.ts",