@flatbiz/antd 4.2.55 → 4.2.56
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/drag-collapse/index.css +1 -1
- package/esm/drag-collapse/index.js +1 -4
- package/esm/drag-collapse-3c346eb4.js +3 -0
- package/esm/drag-collapse-3c346eb4.js.map +1 -0
- package/esm/drag-collapse-e3c99c6d.js +3 -0
- package/esm/drag-collapse-e3c99c6d.js.map +1 -0
- package/esm/drag-collapse-form-list/index.css +1 -0
- package/esm/drag-collapse-form-list/index.js +5 -0
- package/esm/easy-table/index.js +1 -1
- package/esm/editable-table/index.js +1 -1
- package/esm/editable-table-392040f7.js +3 -0
- package/esm/{editable-table-53686ef4.js.map → editable-table-392040f7.js.map} +1 -1
- package/esm/form-item-group/index.js +1 -1
- package/esm/index.js +2 -3
- package/index.d.ts +41 -71
- package/package.json +5 -2
- package/esm/drag-collapse-8d751c2b.js +0 -3
- package/esm/drag-collapse-8d751c2b.js.map +0 -1
- package/esm/drag-drop/index.css +0 -1
- package/esm/drag-drop/index.js +0 -6
- package/esm/drag-drop/index.js.map +0 -1
- package/esm/drag-drop-multi/index.css +0 -0
- package/esm/drag-drop-multi/index.js +0 -5
- package/esm/drag-drop-multi-e8cae136.js +0 -3
- package/esm/drag-drop-multi-e8cae136.js.map +0 -1
- package/esm/droppable-item-708ec229.js +0 -3
- package/esm/droppable-item-708ec229.js.map +0 -1
- package/esm/editable-table-53686ef4.js +0 -3
- /package/esm/{drag-drop-multi → drag-collapse-form-list}/index.js.map +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
.drag-collapse-wrapper{border:1px solid #d9d9d9;border-radius:8px;overflow:hidden}.drag-collapse-wrapper .drag-collapse{border:
|
|
1
|
+
.drag-collapse-wrapper{border:1px solid #d9d9d9;border-radius:8px;overflow:hidden}.drag-collapse-wrapper .drag-collapse{background-color:#fafafa}.drag-collapse-wrapper .drag-collapse>.ant-collapse-item{border-radius:0}.drag-collapse-wrapper .drag-collapse .ant-collapse-header{align-items:center;border-radius:0}.drag-collapse-wrapper .drag-collapse .ant-collapse-content{border-radius:0}.drag-collapse-wrapper .drag-collapse .ant-collapse-header-text{align-items:center;display:flex}.drag-collapse-wrapper .drag-collapse .dc-drag-header-content{flex:1}.drag-collapse-wrapper .drag-collapse:not(.overlay-sortable-item){border:none;border-radius:0}.drag-collapse-wrapper .dc-drag-trigger{align-items:center;border-radius:6px;cursor:move;display:inline-flex;font-size:16px;height:30px;justify-content:center;margin-right:5px;width:30px}.drag-collapse-wrapper .dc-drag-trigger:hover{background-color:rgba(0,0,0,.1)}.drag-collapse-wrapper .drag-collapse-grap *{opacity:.7!important}.drag-collapse-wrapper .overlay-sortable-item{border:none;border-radius:6px;box-shadow:0 0 12px 4px rgba(34,33,81,.1)}.drag-collapse-wrapper .overlay-sortable-item .ant-collapse-item{border-bottom:none}.drag-collapse-wrapper .overlay-sortable-item .dc-drag-trigger{background-color:transparent}.drag-collapse-wrapper .drag-collapse-last .ant-collapse-item{border-bottom:none}
|
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
/* eslint-disable */
|
|
2
|
-
import './../drag-drop/index.css';
|
|
3
|
-
import './../fba-utils/index.css';
|
|
4
|
-
import './../fba-hooks/index.css';
|
|
5
2
|
import './index.css';
|
|
6
3
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
7
|
-
export{D as DragCollapse}from"../drag-collapse-
|
|
4
|
+
export{D as DragCollapse}from"../drag-collapse-3c346eb4.js";import"@dimjs/utils/cjs/class-names";import"@dimjs/utils/cjs/array";import"@wove/react/cjs/hooks";import"@dnd-kit/core";import"@dnd-kit/sortable";import"@flatbiz/antd";import"@flatbiz/utils";import"react";import"../_rollupPluginBabelHelpers-1f4d8910.js";import"@ant-design/icons/es/icons/DragOutlined";import"@dnd-kit/utilities";import"antd";import"react/jsx-runtime";
|
|
8
5
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
+
import{classNames as e}from"@dimjs/utils/cjs/class-names";import{array as n}from"@dimjs/utils/cjs/array";import{hooks as i}from"@wove/react/cjs/hooks";import{DndContext as a,closestCenter as o,DragOverlay as r}from"@dnd-kit/core";import{useSortable as t,SortableContext as s,verticalListSortingStrategy as c,arrayMove as l}from"@dnd-kit/sortable";import{fbaHooks as d}from"@flatbiz/antd";import{toArray as m}from"@flatbiz/utils";import{Fragment as f,useState as p}from"react";import{a as u}from"./_rollupPluginBabelHelpers-1f4d8910.js";import g from"@ant-design/icons/es/icons/DragOutlined";import{CSS as v}from"@dnd-kit/utilities";import{Collapse as h}from"antd";import{jsx as y,jsxs as I}from"react/jsx-runtime";function k(n){var i;var a=t({id:n.item.key}),o=a.listeners,r=a.setNodeRef,s=a.transform,c=a.transition;var l=function e(i){var a=n.dragIcon?n.dragIcon:y(g,{});return n.hideDragIcon?i.content:I(f,{children:[y("span",u({className:"dc-drag-trigger"},o,{children:a})),y("span",{className:"dc-drag-header-content",children:i.content})]})};var d=u({transform:v.Transform.toString(s),transition:c},n.style);var m=n.openKeys.includes(n.item.key);var p=e("drag-collapse",{"drag-collapse-grap":n.isGray,"drag-collapse-last":n.isLast},n.className);return y(h,{activeKey:m?n.item.key:undefined,accordion:true,className:p,collapsible:n.collapsible,expandIcon:n.expandIcon,expandIconPosition:n.expandIconPosition,size:n.size,onChange:(i=n.onChange)==null?void 0:i.bind(null,n.item.key),style:u({},d),ref:r,children:y(h.Panel,{header:l(n.item),children:n.item.content},n.item.key)})}var x=function t(f){var u=p(),g=u[0],v=u[1];var h=p([]),x=h[0],b=h[1];d.useEffectCustom((function(){var e=m(f.defaultActiveKey);if(!f.activeKey&&e.length>0){b(e)}else{b(m(f.activeKey))}}),[]);i.useUpdateEffect((function(){b(m(f.activeKey))}),[f.activeKey]);var C=i.useCallbackRef((function(e){var i=[];if(f.accordion){if(x[0]&&x[0]===e){i=[]}else{i=[e]}}else{var a=x.includes(e);if(a){n.arrayRemove(x,e);i=[].concat(x)}else{i=x.concat(e)}}b(i);if(f.accordion){f.onChange==null?void 0:f.onChange(i.length?i[0]:undefined)}else{f.onChange==null?void 0:f.onChange(i.length?i:undefined)}}));function D(e){var n=e.active;v(n.id)}function K(e){var n=e.active,i=e.over;if(n.id!==i.id){var a=f.items.findIndex((function(e){return e.key===n.id}));var o=f.items.findIndex((function(e){return e.key===i.id}));var r=l(f.items,a,o);f.onDropChange(r)}v(undefined)}return y("div",{className:e("drag-collapse-wrapper",f.className),style:f.style,children:I(a,{collisionDetection:o,onDragStart:D,onDragEnd:K,children:[y(s,{items:f.items.map((function(e){return e.key})),strategy:c,children:f.items.map((function(e,n){return y(k,{item:e,openKeys:x,collapsible:f.collapsible,expandIcon:f.expandIcon,expandIconPosition:f.expandIconPosition,size:f.size,dragIcon:f.dragIcon,hideDragIcon:f.hideDragIcon,onChange:C,isGray:e.key===g,isLast:n===f.items.length-1},e.key)}))}),y(r,{dropAnimation:{duration:0},children:g?y(k,{className:"overlay-sortable-item",item:f.items.filter((function(e){return e.key===g}))[0],openKeys:x,collapsible:f.collapsible,expandIcon:f.expandIcon,expandIconPosition:f.expandIconPosition,size:f.size,dragIcon:f.dragIcon,hideDragIcon:f.hideDragIcon,onChange:C},g):null})]})})};export{x as D};
|
|
3
|
+
//# sourceMappingURL=drag-collapse-3c346eb4.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drag-collapse-3c346eb4.js","sources":["@flatbiz/antd/src/drag-collapse/sortable-item.tsx","@flatbiz/antd/src/drag-collapse/drag-collapse.tsx"],"sourcesContent":["import { DragOutlined } from '@ant-design/icons';\nimport { classNames } from '@dimjs/utils';\nimport { useSortable } from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\nimport { Collapse } from 'antd';\nimport { CSSProperties, Fragment } from 'react';\nimport { DragCollapseItem, DragCollapseItemKey, DragCollapseProps } from './types';\ntype SortableItemProps = {\n openKeys: DragCollapseItemKey[];\n style?: CSSProperties;\n item: DragCollapseItem;\n collapsible?: DragCollapseProps['collapsible'];\n expandIcon?: DragCollapseProps['expandIcon'];\n expandIconPosition?: DragCollapseProps['expandIconPosition'];\n size?: DragCollapseProps['size'];\n dragIcon?: DragCollapseProps['dragIcon'];\n hideDragIcon?: DragCollapseProps['hideDragIcon'];\n onChange: (activeKey: DragCollapseItemKey) => void;\n isGray?: boolean;\n className?: string;\n isLast?: boolean;\n};\nexport function SortableItem(props: SortableItemProps) {\n const { listeners, setNodeRef, transform, transition } = useSortable({\n id: props.item.key,\n });\n\n const header = (item: DragCollapseItem) => {\n const dragIcon = props.dragIcon ? props.dragIcon : <DragOutlined />;\n return props.hideDragIcon ? (\n item.content\n ) : (\n <Fragment>\n <span className=\"dc-drag-trigger\" {...listeners}>\n {dragIcon}\n </span>\n <span className=\"dc-drag-header-content\">{item.content}</span>\n </Fragment>\n );\n };\n\n const style = {\n transform: CSS.Transform.toString(transform),\n transition,\n ...props.style,\n };\n\n const isActive = props.openKeys.includes(props.item.key);\n const cname = classNames(\n 'drag-collapse',\n { 'drag-collapse-grap': props.isGray, 'drag-collapse-last': props.isLast },\n props.className,\n );\n return (\n <Collapse\n activeKey={isActive ? props.item.key : undefined}\n accordion\n className={cname}\n collapsible={props.collapsible}\n expandIcon={props.expandIcon}\n expandIconPosition={props.expandIconPosition}\n size={props.size}\n onChange={props.onChange?.bind(null, props.item.key)}\n style={{ ...style }}\n ref={setNodeRef}\n >\n <Collapse.Panel header={header(props.item)} key={props.item.key}>\n {props.item.content}\n </Collapse.Panel>\n </Collapse>\n );\n}\n","import { array, classNames } from '@dimjs/utils';\nimport { closestCenter, DndContext, DragOverlay } from '@dnd-kit/core';\nimport { arrayMove, SortableContext, verticalListSortingStrategy } from '@dnd-kit/sortable';\nimport { fbaHooks } from '@flatbiz/antd';\nimport { toArray } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { useState } from 'react';\nimport { SortableItem } from './sortable-item';\nimport './style.less';\nimport { DragCollapseItemKey, DragCollapseProps } from './types';\n\n/**\n * 可拖拽 折叠面板\n * @param props\n * @returns\n */\nexport const DragCollapse = (props: DragCollapseProps) => {\n const [dragActiveId, setDragActiveId] = useState<string | number>();\n const [openKeys, setOpenKeys] = useState<DragCollapseItemKey[]>([]);\n\n fbaHooks.useEffectCustom(() => {\n const defaultActiveKeys = toArray<string | number>(props.defaultActiveKey);\n if (!props.activeKey && defaultActiveKeys.length > 0) {\n setOpenKeys(defaultActiveKeys);\n } else {\n setOpenKeys(toArray(props.activeKey));\n }\n }, []);\n\n hooks.useUpdateEffect(() => {\n setOpenKeys(toArray(props.activeKey));\n }, [props.activeKey]);\n\n const onChange = hooks.useCallbackRef((key: DragCollapseItemKey) => {\n let openKeysNew: DragCollapseItemKey[] = [];\n if (props.accordion) {\n if (openKeys[0] && openKeys[0] === key) {\n openKeysNew = [];\n } else {\n openKeysNew = [key];\n }\n } else {\n const has = openKeys.includes(key);\n if (has) {\n array.arrayRemove(openKeys, key);\n openKeysNew = [...openKeys];\n } else {\n openKeysNew = openKeys.concat(key);\n }\n }\n setOpenKeys(openKeysNew);\n if (props.accordion) {\n props.onChange?.(openKeysNew.length ? openKeysNew[0] : undefined);\n } else {\n props.onChange?.(openKeysNew.length ? openKeysNew : undefined);\n }\n });\n\n function handleDragStart(event) {\n const { active } = event;\n setDragActiveId(active.id);\n }\n\n function handleDragEnd(event) {\n const { active, over } = event;\n if (active.id !== over.id) {\n const oldIndex = props.items.findIndex((item) => item.key === active.id);\n const newIndex = props.items.findIndex((item) => item.key === over.id);\n const newList = arrayMove(props.items, oldIndex, newIndex);\n props.onDropChange(newList);\n }\n setDragActiveId(undefined);\n }\n\n return (\n <div className={classNames('drag-collapse-wrapper', props.className)} style={props.style}>\n <DndContext collisionDetection={closestCenter} onDragStart={handleDragStart} onDragEnd={handleDragEnd}>\n <SortableContext items={props.items.map((item) => item.key)} strategy={verticalListSortingStrategy}>\n {props.items.map((item, index) => (\n <SortableItem\n key={item.key}\n item={item}\n openKeys={openKeys}\n collapsible={props.collapsible}\n expandIcon={props.expandIcon}\n expandIconPosition={props.expandIconPosition}\n size={props.size}\n dragIcon={props.dragIcon}\n hideDragIcon={props.hideDragIcon}\n onChange={onChange}\n isGray={item.key === dragActiveId}\n isLast={index === props.items.length - 1}\n />\n ))}\n </SortableContext>\n\n <DragOverlay dropAnimation={{ duration: 0 }}>\n {dragActiveId ? (\n <SortableItem\n className=\"overlay-sortable-item\"\n key={dragActiveId}\n item={props.items.filter((item) => item.key === dragActiveId)[0]}\n openKeys={openKeys}\n collapsible={props.collapsible}\n expandIcon={props.expandIcon}\n expandIconPosition={props.expandIconPosition}\n size={props.size}\n dragIcon={props.dragIcon}\n hideDragIcon={props.hideDragIcon}\n onChange={onChange}\n />\n ) : null}\n </DragOverlay>\n </DndContext>\n </div>\n );\n};\n"],"names":["SortableItem","props","_props$onChange","_useSortable","useSortable","id","item","key","listeners","setNodeRef","transform","transition","header","dragIcon","_jsx","_DragOutlined","hideDragIcon","content","_jsxs","Fragment","children","_extends","className","style","CSS","Transform","toString","isActive","openKeys","includes","cname","_classNames","isGray","isLast","Collapse","activeKey","undefined","accordion","collapsible","expandIcon","expandIconPosition","size","onChange","bind","ref","Panel","DragCollapse","_useState","useState","dragActiveId","setDragActiveId","_useState2","setOpenKeys","fbaHooks","useEffectCustom","defaultActiveKeys","toArray","defaultActiveKey","length","_hooks","useUpdateEffect","useCallbackRef","openKeysNew","has","_array","arrayRemove","concat","handleDragStart","event","active","handleDragEnd","over","oldIndex","items","findIndex","newIndex","newList","arrayMove","onDropChange","DndContext","collisionDetection","closestCenter","onDragStart","onDragEnd","SortableContext","map","strategy","verticalListSortingStrategy","index","DragOverlay","dropAnimation","duration","filter"],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
+
import{classNames as e}from"@dimjs/utils/cjs/class-names";import{array as n}from"@dimjs/utils/cjs/array";import{hooks as i}from"@wove/react/cjs/hooks";import{DndContext as a,closestCenter as r,DragOverlay as t}from"@dnd-kit/core";import{useSortable as o,SortableContext as d,verticalListSortingStrategy as s,arrayMove as l}from"@dnd-kit/sortable";import{fbaHooks as c}from"@flatbiz/antd";import{toArray as u}from"@flatbiz/utils";import{Collapse as f,Form as m}from"antd";import{Fragment as p,useState as v,useRef as g,useMemo as h}from"react";import{a as I}from"./_rollupPluginBabelHelpers-1f4d8910.js";import b from"@ant-design/icons/es/icons/DragOutlined";import{CSS as y}from"@dnd-kit/utilities";import{jsx as x,jsxs as D}from"react/jsx-runtime";function C(n){var i;var a=n.isOverlay?false:n.getItemDragDisabled==null?void 0:n.getItemDragDisabled(n.uid,n.index);var r=o({id:n.uid,disabled:a}),t=r.listeners,d=r.setNodeRef,s=r.transform,l=r.transition;var c=function e(){var i=n.dragIcon?n.dragIcon:x(b,{});var a=n.header(n.item,n.formListOperate,n.uid);return n.dragDisabled?a:D(p,{children:[x("span",I({className:"dc-drag-trigger"},t,{children:i})),x("span",{className:"dc-drag-header-content",style:n.headerStyle,children:a})]})};var u=I({transform:y.Transform.toString(s),transition:l},n.style);var m=e("drag-collapse",{"drag-collapse-grap":n.isGray,"drag-collapse-last":n.isLast,"drag-collapse-drag-disabled":a},n.className);return x(f,{activeKey:n.isActive?n.uid:undefined,accordion:true,className:m,collapsible:n.collapsible,expandIcon:n.expandIcon,expandIconPosition:n.expandIconPosition,size:n.size,onChange:(i=n.onChange)==null?void 0:i.bind(null,n.uid),style:I({},u),ref:d,children:x(f.Panel,{header:c(),children:n.content(n.item,n.formListOperate,n.uid)},n.uid)})}var L=function o(f){var I=v(),b=I[0],y=I[1];var L=v([]),N=L[0],z=L[1];var P=m.useFormInstance();var j=g([]);c.useEffectCustom((function(){var e=u(f.defaultActiveKey);if(!f.activeKey&&e.length>0){z(e)}else{z(u(f.activeKey))}}),[]);i.useUpdateEffect((function(){z(u(f.activeKey))}),[f.activeKey]);var O=function e(i){var a=[];if(f.accordion){if(N[0]&&N[0]===i){a=[]}else{a=[i]}}else{var r=N.includes(i);if(r){n.arrayRemove(N,i);a=[].concat(N)}else{a=N.concat(i)}}z(a);if(f.accordion){f.onChange==null?void 0:f.onChange(a.length?a[0]:undefined)}else{f.onChange==null?void 0:f.onChange(a.length?a:undefined)}};function k(e){var n=e.active;y(n.id)}var K=i.useCallbackRef((function(){return P.getFieldValue(f.formListName)||[]}));function A(e){var n=e.active,i=e.over;var a=K();if(n.id!==i.id){var r=a.findIndex((function(e){return e.uid===n.id}));var t=a.findIndex((function(e){return e.uid===i.id}));var o=l(a,r,t);P.setFieldsValue({collapseList:o});f.onDropChange==null?void 0:f.onDropChange(o)}y(undefined)}var E=h((function(){if(!b)return undefined;var e=K();var n=e.findIndex((function(e){return e.uid===b}));return j.current.find((function(e){return e.name===n}))}),[b,K]);return x("div",{className:e("drag-collapse-formlist-wrapper",f.className),style:f.style,children:x(a,{collisionDetection:r,onDragStart:k,onDragEnd:A,children:x(m.List,{name:f.formListName,children:function e(n,i){j.current=n;return D(p,{children:[x(d,{items:K().map((function(e){return e.uid})),strategy:s,children:x(p,{children:n.map((function(e,n){var a=K()[n].uid;return x(C,{formListOperate:i,item:e,uid:a,isActive:N.includes(a),collapsible:f.collapsible,expandIcon:f.expandIcon,expandIconPosition:f.expandIconPosition,size:f.size,dragIcon:f.dragIcon,getItemDragDisabled:f.getItemDragDisabled,dragDisabled:f.dragDisabled,onChange:O,isGray:a===b,isLast:n===K().length-1,header:f.header,content:f.content,index:n},a+"-"+e.key)}))})}),x(t,{dropAnimation:{duration:0},children:b&&E?x(C,{isOverlay:true,uid:b,className:"overlay-sortable-item",item:E,isActive:N.includes(b),collapsible:f.collapsible,expandIcon:f.expandIcon,expandIconPosition:f.expandIconPosition,size:f.size,dragIcon:f.dragIcon,onChange:O,header:f.header,content:f.content,formListOperate:null,index:0},b):null})]})}})})})};export{L as D};
|
|
3
|
+
//# sourceMappingURL=drag-collapse-e3c99c6d.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drag-collapse-e3c99c6d.js","sources":["@flatbiz/antd/src/drag-collapse-form-list/sortable-item.tsx","@flatbiz/antd/src/drag-collapse-form-list/drag-collapse.tsx"],"sourcesContent":["import { DragOutlined } from '@ant-design/icons';\nimport { classNames } from '@dimjs/utils';\nimport { useSortable } from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\nimport { Collapse, FormListFieldData, FormListOperation } from 'antd';\nimport { CSSProperties, Fragment } from 'react';\nimport { DragCollapseFormListProps } from './types';\nexport type SortableItemProps = {\n item: FormListFieldData;\n formListOperate: FormListOperation;\n onChange: (activeKey: number | string) => void;\n header: DragCollapseFormListProps['header'];\n content: DragCollapseFormListProps['content'];\n collapsible?: DragCollapseFormListProps['collapsible'];\n expandIcon?: DragCollapseFormListProps['expandIcon'];\n expandIconPosition?: DragCollapseFormListProps['expandIconPosition'];\n size?: DragCollapseFormListProps['size'];\n dragIcon?: DragCollapseFormListProps['dragIcon'];\n getItemDragDisabled?: DragCollapseFormListProps['getItemDragDisabled'];\n dragDisabled?: DragCollapseFormListProps['dragDisabled'];\n isGray?: boolean;\n isLast?: boolean;\n className?: string;\n style?: CSSProperties;\n uid: string | number;\n isActive?: boolean;\n headerStyle?: CSSProperties;\n index: number;\n isOverlay?: boolean;\n};\nexport function SortableItem(props: SortableItemProps) {\n const isDisabled = props.isOverlay ? false : props.getItemDragDisabled?.(props.uid, props.index);\n const { listeners, setNodeRef, transform, transition } = useSortable({\n id: props.uid,\n disabled: isDisabled,\n });\n\n const header = () => {\n const dragIcon = props.dragIcon ? props.dragIcon : <DragOutlined />;\n const headerContent = props.header(props.item, props.formListOperate, props.uid);\n return props.dragDisabled ? (\n headerContent\n ) : (\n <Fragment>\n <span className=\"dc-drag-trigger\" {...listeners}>\n {dragIcon}\n </span>\n <span className=\"dc-drag-header-content\" style={props.headerStyle}>\n {headerContent}\n </span>\n </Fragment>\n );\n };\n\n const style = {\n transform: CSS.Transform.toString(transform),\n transition,\n ...props.style,\n };\n\n const cname = classNames(\n 'drag-collapse',\n {\n 'drag-collapse-grap': props.isGray,\n 'drag-collapse-last': props.isLast,\n 'drag-collapse-drag-disabled': isDisabled,\n },\n props.className,\n );\n return (\n <Collapse\n activeKey={props.isActive ? props.uid : undefined}\n accordion\n className={cname}\n collapsible={props.collapsible}\n expandIcon={props.expandIcon}\n expandIconPosition={props.expandIconPosition}\n size={props.size}\n onChange={props.onChange?.bind(null, props.uid)}\n style={{ ...style }}\n ref={setNodeRef}\n >\n <Collapse.Panel header={header()} key={props.uid}>\n {props.content(props.item, props.formListOperate, props.uid)}\n </Collapse.Panel>\n </Collapse>\n );\n}\n","import { array, classNames } from '@dimjs/utils';\nimport { closestCenter, DndContext, DragOverlay } from '@dnd-kit/core';\nimport { arrayMove, SortableContext, verticalListSortingStrategy } from '@dnd-kit/sortable';\nimport { fbaHooks } from '@flatbiz/antd';\nimport { TAny, toArray, TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Form, FormListFieldData } from 'antd';\nimport { Fragment, useMemo, useRef, useState } from 'react';\nimport { SortableItem } from './sortable-item';\nimport './style.less';\nimport { DragCollapseFormListProps } from './types';\n\n/**\n * 可拖拽+折叠面板+FormList\n * ```\n * 1. FormList数组中必须要有 uid 唯一值字段\n * ```\n */\nexport const DragCollapseFormList = (props: DragCollapseFormListProps) => {\n const [dragActiveId, setDragActiveId] = useState<string | number>();\n const [openKeys, setOpenKeys] = useState<(number | string)[]>([]);\n const form = Form.useFormInstance();\n const formListOperationRef = useRef<FormListFieldData[]>([]);\n\n fbaHooks.useEffectCustom(() => {\n const defaultActiveKeys = toArray<string | number>(props.defaultActiveKey);\n if (!props.activeKey && defaultActiveKeys.length > 0) {\n setOpenKeys(defaultActiveKeys);\n } else {\n setOpenKeys(toArray(props.activeKey));\n }\n }, []);\n\n hooks.useUpdateEffect(() => {\n setOpenKeys(toArray(props.activeKey));\n }, [props.activeKey]);\n\n const onChange = (key: number | string) => {\n let openKeysNew: (number | string)[] = [];\n if (props.accordion) {\n if (openKeys[0] && openKeys[0] === key) {\n openKeysNew = [];\n } else {\n openKeysNew = [key];\n }\n } else {\n const has = openKeys.includes(key);\n if (has) {\n array.arrayRemove(openKeys, key);\n openKeysNew = [...openKeys];\n } else {\n openKeysNew = openKeys.concat(key);\n }\n }\n setOpenKeys(openKeysNew);\n if (props.accordion) {\n props.onChange?.(openKeysNew.length ? openKeysNew[0] : undefined);\n } else {\n props.onChange?.(openKeysNew.length ? openKeysNew : undefined);\n }\n };\n\n function handleDragStart(event) {\n const { active } = event;\n setDragActiveId(active.id);\n }\n\n const getItems = hooks.useCallbackRef(() => {\n return (form.getFieldValue(props.formListName) || []) as TPlainObject[];\n });\n\n function handleDragEnd(event) {\n const { active, over } = event;\n const items = getItems();\n if (active.id !== over.id) {\n const oldIndex = items.findIndex((item) => item.uid === active.id);\n const newIndex = items.findIndex((item) => item.uid === over.id);\n const newList = arrayMove<TPlainObject>(items, oldIndex, newIndex);\n form.setFieldsValue({ collapseList: newList });\n props.onDropChange?.(newList);\n }\n setDragActiveId(undefined);\n }\n\n const dragOverlayItem = useMemo(() => {\n if (!dragActiveId) return undefined;\n const items = getItems();\n const targetIndex = items.findIndex((item) => item.uid === dragActiveId);\n return formListOperationRef.current.find((item) => item.name === targetIndex);\n }, [dragActiveId, getItems]);\n\n return (\n <div className={classNames('drag-collapse-formlist-wrapper', props.className)} style={props.style}>\n <DndContext collisionDetection={closestCenter} onDragStart={handleDragStart} onDragEnd={handleDragEnd}>\n <Form.List name={props.formListName}>\n {(fields, operate) => {\n formListOperationRef.current = fields;\n return (\n <Fragment>\n <SortableContext\n items={getItems().map((temp) => temp.uid)}\n strategy={verticalListSortingStrategy}\n >\n <Fragment>\n {fields.map((item, index) => {\n const uid = getItems()[index].uid;\n return (\n <SortableItem\n formListOperate={operate}\n item={item}\n uid={uid}\n key={`${uid}-${item.key}`}\n isActive={openKeys.includes(uid)}\n collapsible={props.collapsible}\n expandIcon={props.expandIcon}\n expandIconPosition={props.expandIconPosition}\n size={props.size}\n dragIcon={props.dragIcon}\n getItemDragDisabled={props.getItemDragDisabled}\n dragDisabled={props.dragDisabled}\n onChange={onChange}\n isGray={uid === dragActiveId}\n isLast={index === getItems().length - 1}\n header={props.header}\n content={props.content}\n index={index}\n />\n );\n })}\n </Fragment>\n </SortableContext>\n <DragOverlay dropAnimation={{ duration: 0 }}>\n {dragActiveId && dragOverlayItem ? (\n <SortableItem\n isOverlay={true}\n uid={dragActiveId}\n key={dragActiveId}\n className=\"overlay-sortable-item\"\n item={dragOverlayItem}\n isActive={openKeys.includes(dragActiveId)}\n collapsible={props.collapsible}\n expandIcon={props.expandIcon}\n expandIconPosition={props.expandIconPosition}\n size={props.size}\n dragIcon={props.dragIcon}\n onChange={onChange}\n header={props.header}\n content={props.content}\n formListOperate={null as TAny}\n index={0}\n />\n ) : null}\n </DragOverlay>\n </Fragment>\n );\n }}\n </Form.List>\n </DndContext>\n </div>\n );\n};\n"],"names":["SortableItem","props","_props$onChange","isDisabled","isOverlay","getItemDragDisabled","uid","index","_useSortable","useSortable","id","disabled","listeners","setNodeRef","transform","transition","header","dragIcon","_jsx","_DragOutlined","headerContent","item","formListOperate","dragDisabled","_jsxs","Fragment","children","_extends","className","style","headerStyle","CSS","Transform","toString","cname","_classNames","isGray","isLast","Collapse","activeKey","isActive","undefined","accordion","collapsible","expandIcon","expandIconPosition","size","onChange","bind","ref","Panel","content","DragCollapseFormList","_useState","useState","dragActiveId","setDragActiveId","_useState2","openKeys","setOpenKeys","form","Form","useFormInstance","formListOperationRef","useRef","fbaHooks","useEffectCustom","defaultActiveKeys","toArray","defaultActiveKey","length","_hooks","useUpdateEffect","key","openKeysNew","has","includes","_array","arrayRemove","concat","handleDragStart","event","active","getItems","useCallbackRef","getFieldValue","formListName","handleDragEnd","over","items","oldIndex","findIndex","newIndex","newList","arrayMove","setFieldsValue","collapseList","onDropChange","dragOverlayItem","useMemo","targetIndex","current","find","name","DndContext","collisionDetection","closestCenter","onDragStart","onDragEnd","List","fields","operate","SortableContext","map","temp","strategy","verticalListSortingStrategy","DragOverlay","dropAnimation","duration"],"mappings":";6uBA8BO,SAASA,EAAaC,GAA0B,IAAAC,EACrD,IAAMC,EAAaF,EAAMG,UAAY,MAAQH,EAAMI,iCAANJ,EAAMI,oBAAsBJ,EAAMK,IAAKL,EAAMM,OAC1F,IAAAC,EAAyDC,EAAY,CACnEC,GAAIT,EAAMK,IACVK,SAAUR,IAFJS,EAASJ,EAATI,UAAWC,EAAUL,EAAVK,WAAYC,EAASN,EAATM,UAAWC,EAAUP,EAAVO,WAK1C,IAAMC,EAAS,SAATA,IACJ,IAAMC,EAAWhB,EAAMgB,SAAWhB,EAAMgB,SAAWC,EAAAC,EAAgB,CAAA,GACnE,IAAMC,EAAgBnB,EAAMe,OAAOf,EAAMoB,KAAMpB,EAAMqB,gBAAiBrB,EAAMK,KAC5E,OAAOL,EAAMsB,aACXH,EAEAI,EAACC,EAAQ,CAAAC,SAAA,CACPR,EAAA,OAAAS,EAAA,CAAMC,UAAU,mBAAsBhB,EAAS,CAAAc,SAC5CT,KAEHC,EAAA,OAAA,CAAMU,UAAU,yBAAyBC,MAAO5B,EAAM6B,YAAYJ,SAC/DN,QAMT,IAAMS,EAAKF,EAAA,CACTb,UAAWiB,EAAIC,UAAUC,SAASnB,GAClCC,WAAAA,GACGd,EAAM4B,OAGX,IAAMK,EAAQC,EACZ,gBACA,CACE,qBAAsBlC,EAAMmC,OAC5B,qBAAsBnC,EAAMoC,OAC5B,8BAA+BlC,GAEjCF,EAAM2B,WAER,OACEV,EAACoB,EAAQ,CACPC,UAAWtC,EAAMuC,SAAWvC,EAAMK,IAAMmC,UACxCC,UAAS,KACTd,UAAWM,EACXS,YAAa1C,EAAM0C,YACnBC,WAAY3C,EAAM2C,WAClBC,mBAAoB5C,EAAM4C,mBAC1BC,KAAM7C,EAAM6C,KACZC,UAAQ7C,EAAED,EAAM8C,WAAN7C,UAAAA,EAAAA,EAAgB8C,KAAK,KAAM/C,EAAMK,KAC3CuB,MAAKF,EAAOE,CAAAA,EAAAA,GACZoB,IAAKpC,EAAWa,SAEhBR,EAACoB,EAASY,MAAK,CAAClC,OAAQA,IAASU,SAC9BzB,EAAMkD,QAAQlD,EAAMoB,KAAMpB,EAAMqB,gBAAiBrB,EAAMK,MADnBL,EAAMK,MAKnD,KCrEa8C,EAAuB,SAAvBA,EAAwBnD,GACnC,IAAAoD,EAAwCC,IAAjCC,EAAYF,EAAA,GAAEG,EAAeH,EAAA,GACpC,IAAAI,EAAgCH,EAA8B,IAAvDI,EAAQD,EAAA,GAAEE,EAAWF,EAAA,GAC5B,IAAMG,EAAOC,EAAKC,kBAClB,IAAMC,EAAuBC,EAA4B,IAEzDC,EAASC,iBAAgB,WACvB,IAAMC,EAAoBC,EAAyBnE,EAAMoE,kBACzD,IAAKpE,EAAMsC,WAAa4B,EAAkBG,OAAS,EAAG,CACpDX,EAAYQ,EACd,KAAO,CACLR,EAAYS,EAAQnE,EAAMsC,WAC5B,CACD,GAAE,IAEHgC,EAAMC,iBAAgB,WACpBb,EAAYS,EAAQnE,EAAMsC,WAC5B,GAAG,CAACtC,EAAMsC,YAEV,IAAMQ,EAAW,SAAXA,EAAY0B,GAChB,IAAIC,EAAmC,GACvC,GAAIzE,EAAMyC,UAAW,CACnB,GAAIgB,EAAS,IAAMA,EAAS,KAAOe,EAAK,CACtCC,EAAc,EAChB,KAAO,CACLA,EAAc,CAACD,EACjB,CACF,KAAO,CACL,IAAME,EAAMjB,EAASkB,SAASH,GAC9B,GAAIE,EAAK,CACPE,EAAMC,YAAYpB,EAAUe,GAC5BC,EAAWK,GAAAA,OAAOrB,EACpB,KAAO,CACLgB,EAAchB,EAASqB,OAAON,EAChC,CACF,CACAd,EAAYe,GACZ,GAAIzE,EAAMyC,UAAW,CACnBzC,EAAM8C,UAAQ,UAAA,EAAd9C,EAAM8C,SAAW2B,EAAYJ,OAASI,EAAY,GAAKjC,UACzD,KAAO,CACLxC,EAAM8C,UAAN9C,UAAAA,EAAAA,EAAM8C,SAAW2B,EAAYJ,OAASI,EAAcjC,UACtD,GAGF,SAASuC,EAAgBC,GACvB,IAAQC,EAAWD,EAAXC,OACR1B,EAAgB0B,EAAOxE,GACzB,CAEA,IAAMyE,EAAWZ,EAAMa,gBAAe,WACpC,OAAQxB,EAAKyB,cAAcpF,EAAMqF,eAAiB,EACpD,IAEA,SAASC,EAAcN,GACrB,IAAQC,EAAiBD,EAAjBC,OAAQM,EAASP,EAATO,KAChB,IAAMC,EAAQN,IACd,GAAID,EAAOxE,KAAO8E,EAAK9E,GAAI,CACzB,IAAMgF,EAAWD,EAAME,WAAU,SAACtE,GAAI,OAAKA,EAAKf,MAAQ4E,EAAOxE,MAC/D,IAAMkF,EAAWH,EAAME,WAAU,SAACtE,GAAI,OAAKA,EAAKf,MAAQkF,EAAK9E,MAC7D,IAAMmF,EAAUC,EAAwBL,EAAOC,EAAUE,GACzDhC,EAAKmC,eAAe,CAAEC,aAAcH,IACpC5F,EAAMgG,cAANhG,UAAAA,EAAAA,EAAMgG,aAAeJ,EACvB,CACArC,EAAgBf,UAClB,CAEA,IAAMyD,EAAkBC,GAAQ,WAC9B,IAAK5C,EAAc,OAAOd,UAC1B,IAAMgD,EAAQN,IACd,IAAMiB,EAAcX,EAAME,WAAU,SAACtE,GAAI,OAAKA,EAAKf,MAAQiD,KAC3D,OAAOQ,EAAqBsC,QAAQC,MAAK,SAACjF,GAAI,OAAKA,EAAKkF,OAASH,IACnE,GAAG,CAAC7C,EAAc4B,IAElB,OACEjE,EAAA,MAAA,CAAKU,UAAWO,EAAW,iCAAkClC,EAAM2B,WAAYC,MAAO5B,EAAM4B,MAAMH,SAChGR,EAACsF,EAAU,CAACC,mBAAoBC,EAAeC,YAAa3B,EAAiB4B,UAAWrB,EAAc7D,SACpGR,EAAC2C,EAAKgD,KAAI,CAACN,KAAMtG,EAAMqF,aAAa5D,SACjC,SAAAA,EAACoF,EAAQC,GACRhD,EAAqBsC,QAAUS,EAC/B,OACEtF,EAACC,EAAQ,CAAAC,SAAA,CACPR,EAAC8F,EAAe,CACdvB,MAAON,IAAW8B,KAAI,SAACC,GAAI,OAAKA,EAAK5G,OACrC6G,SAAUC,EAA4B1F,SAEtCR,EAACO,EAAQ,CAAAC,SACNoF,EAAOG,KAAI,SAAC5F,EAAMd,GACjB,IAAMD,EAAM6E,IAAW5E,GAAOD,IAC9B,OACEY,EAAClB,EAAY,CACXsB,gBAAiByF,EACjB1F,KAAMA,EACNf,IAAKA,EAELkC,SAAUkB,EAASkB,SAAStE,GAC5BqC,YAAa1C,EAAM0C,YACnBC,WAAY3C,EAAM2C,WAClBC,mBAAoB5C,EAAM4C,mBAC1BC,KAAM7C,EAAM6C,KACZ7B,SAAUhB,EAAMgB,SAChBZ,oBAAqBJ,EAAMI,oBAC3BkB,aAActB,EAAMsB,aACpBwB,SAAUA,EACVX,OAAQ9B,IAAQiD,EAChBlB,OAAQ9B,IAAU4E,IAAWb,OAAS,EACtCtD,OAAQf,EAAMe,OACdmC,QAASlD,EAAMkD,QACf5C,MAAOA,GAdCD,EAAG,IAAIe,EAAKoD,YAoB9BvD,EAACmG,EAAW,CAACC,cAAe,CAAEC,SAAU,GAAI7F,SACzC6B,GAAgB2C,EACfhF,EAAClB,EAAY,CACXI,UAAW,KACXE,IAAKiD,EAEL3B,UAAU,wBACVP,KAAM6E,EACN1D,SAAUkB,EAASkB,SAASrB,GAC5BZ,YAAa1C,EAAM0C,YACnBC,WAAY3C,EAAM2C,WAClBC,mBAAoB5C,EAAM4C,mBAC1BC,KAAM7C,EAAM6C,KACZ7B,SAAUhB,EAAMgB,SAChB8B,SAAUA,EACV/B,OAAQf,EAAMe,OACdmC,QAASlD,EAAMkD,QACf7B,gBAAiB,KACjBf,MAAO,GAbFgD,GAeL,SAIZ,OAKV"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.drag-collapse-formlist-wrapper{border:1px solid #d9d9d9;border-radius:8px;overflow:hidden}.drag-collapse-formlist-wrapper .drag-collapse{background-color:#fafafa}.drag-collapse-formlist-wrapper .drag-collapse>.ant-collapse-item{border-radius:0}.drag-collapse-formlist-wrapper .drag-collapse .ant-collapse-header{align-items:center;border-radius:0}.drag-collapse-formlist-wrapper .drag-collapse .ant-collapse-content{border-radius:0}.drag-collapse-formlist-wrapper .drag-collapse .ant-collapse-header-text{align-items:center;display:flex}.drag-collapse-formlist-wrapper .drag-collapse .dc-drag-header-content{flex:1}.drag-collapse-formlist-wrapper .drag-collapse:not(.overlay-sortable-item){border:none;border-radius:0}.drag-collapse-formlist-wrapper .dc-drag-trigger{align-items:center;border-radius:6px;cursor:move;display:inline-flex;font-size:16px;height:30px;justify-content:center;margin-right:5px;width:30px}.drag-collapse-formlist-wrapper .dc-drag-trigger:hover{background-color:rgba(0,0,0,.1)}.drag-collapse-formlist-wrapper .drag-collapse-grap *{opacity:.7!important}.drag-collapse-formlist-wrapper .overlay-sortable-item{border:none;border-radius:6px;box-shadow:0 0 12px 4px rgba(34,33,81,.1)}.drag-collapse-formlist-wrapper .overlay-sortable-item .ant-collapse-item{border-bottom:none}.drag-collapse-formlist-wrapper .overlay-sortable-item .dc-drag-trigger{background-color:transparent}.drag-collapse-formlist-wrapper .drag-collapse-last .ant-collapse-item{border-bottom:none}.drag-collapse-formlist-wrapper .drag-collapse-drag-disabled .dc-drag-trigger{cursor:no-drop;opacity:.6}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
import './index.css';
|
|
3
|
+
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
4
|
+
export{D as DragCollapseFormList}from"../drag-collapse-e3c99c6d.js";import"@dimjs/utils/cjs/class-names";import"@dimjs/utils/cjs/array";import"@wove/react/cjs/hooks";import"@dnd-kit/core";import"@dnd-kit/sortable";import"@flatbiz/antd";import"@flatbiz/utils";import"antd";import"react";import"../_rollupPluginBabelHelpers-1f4d8910.js";import"@ant-design/icons/es/icons/DragOutlined";import"@dnd-kit/utilities";import"react/jsx-runtime";
|
|
5
|
+
//# sourceMappingURL=index.js.map
|
package/esm/easy-table/index.js
CHANGED
|
@@ -8,5 +8,5 @@ import './../simple-layout/index.css';
|
|
|
8
8
|
import './../table-scrollbar/index.css';
|
|
9
9
|
import './index.css';
|
|
10
10
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
11
|
-
import{f as e}from"../fba-utils-f9e11d02.js";import{classNames as i}from"@dimjs/utils/cjs/class-names";import{isUndefined as t}from"@dimjs/lang/cjs/is-undefined";import{isArray as r}from"@dimjs/lang/cjs/is-array";import{hooks as n}from"@wove/react/cjs/hooks";import{a,_ as o}from"../_rollupPluginBabelHelpers-1f4d8910.js";import{cloneState as l}from"@dimjs/model";import{Select as s,Form as u,Pagination as d,message as c,Table as f}from"antd";import{forwardRef as p,useState as m,useRef as g,useImperativeHandle as v,useMemo as y,Children as h}from"react";import{createCtx as C}from"@wove/react/cjs/create-ctx";import{Model as
|
|
11
|
+
import{f as e}from"../fba-utils-f9e11d02.js";import{classNames as i}from"@dimjs/utils/cjs/class-names";import{isUndefined as t}from"@dimjs/lang/cjs/is-undefined";import{isArray as r}from"@dimjs/lang/cjs/is-array";import{hooks as n}from"@wove/react/cjs/hooks";import{a,_ as o}from"../_rollupPluginBabelHelpers-1f4d8910.js";import{cloneState as l}from"@dimjs/model";import{Select as s,Form as u,Pagination as d,message as c,Table as f}from"antd";import{forwardRef as p,useState as m,useRef as g,useImperativeHandle as v,useMemo as y,Children as h}from"react";import{createCtx as C}from"@wove/react/cjs/create-ctx";import{Model as b}from"@dimjs/model-react";import{jsx as S,jsxs as j}from"react/jsx-runtime";import F from"@ant-design/icons/es/icons/DownOutlined";import q from"@ant-design/icons/es/icons/UpOutlined";import{isFragment as z}from"react-is";import{B as R}from"../button-wrapper-125fce50.js";import{FormGrid as N}from"../form-grid/index.js";import{S as w}from"../simple-layout-1cd0fefc.js";import{isUndefinedOrNull as P,getUuid as x,isMacEnv as k}from"@flatbiz/utils";import{fbaHooks as T}from"../fba-hooks/index.js";import{T as K}from"../table-scrollbar-66c1682c.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-promise";import"../config-provider-wrapper-dfe8f592.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"../use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/extend";import"@dimjs/utils/cjs/get";import"ahooks";var L=C(),V=L[0],E=L[1];var O={queryCondition:{},isInit:true};var I={actions:{updateFilterCondition:function e(i){return function(e){e.queryCondition=a({},e.queryCondition,i)}},resetFilterCondition:function e(i){return function(e){e.queryCondition=a({},O.queryCondition,i)}},updateInitStatus:function e(){return function(e){e.isInit=false}}},state:O};var B={};var D=function e(i){if(!B[i]){B[i]=b(I)}return B[i]};var A=function e(i){return S(s,a({},i,{size:"small",placement:"topLeft"}))};A.Option=s.Option;var _=p((function(e,o){var s;var f=m([]),p=f[0],h=f[1];var C=m(0),b=C[0],F=C[1];var q=m(false),z=q[0],R=q[1];var N=D(e.modelKey).useStore(),w=N[0],P=N[1];var x=e.pageSize||((s=e.initialPaginationParams)==null?void 0:s.pageSize)||10;var k=e.initRequest===undefined?true:e.initRequest;var T=m(false),K=T[0],L=T[1];var V=g();var O=a({list:"list",total:"tatal",pageNo:"pageNo",pageSize:"pageSize"},e.fieldNames);var I=u.useForm(),B=I[0];var _=n.useCallbackRef((function(i){return new Promise((function(t,n){var a,o,s,u,d,f,p,m,g,v;var y=function(){try{return t()}catch(e){return n(e)}};var C=function(i){try{R(false);if(e.onRequestErrorHandle){e.onRequestErrorHandle(i)}else{void c.error(i.message)}return y()}catch(e){return n(e)}};try{R(true);return Promise.resolve(P.updateFilterCondition(i)).then((function(i){try{a=i;o=l(a.queryCondition||{});s=e.serviceConfig,u=s.requestParamsAdapter,d=s.onRequest,f=s.requestResultAdapter;p=u?u(o):o;return Promise.resolve(d(p)).then((function(i){try{m=i||{};V.current=m;e.onDataSourceChange==null?void 0:e.onDataSourceChange(m);g=f?f(m):m;v=g[O.list];h(r(v)?v:[]);F(g[O.total]);R(false);return y()}catch(e){return C(e)}}),C)}catch(e){return C(e)}}),C)}catch(e){C(e)}}))}));var H=n.useCallbackRef((function(e){return new Promise((function(i,t){return Promise.resolve(P.resetFilterCondition()).then((function(r){try{B.resetFields();if(e){void P.updateFilterCondition(e);B.setFieldsValue(e)}return i()}catch(e){return t(e)}}),t)}))}));var W=function e(i,t){if(K){var r;return r={},r[O.pageNo]=i,r[O.pageSize]=t||x,r}else{return{}}};var U=n.useCallbackRef((function(i){return new Promise((function(t,r){var n;n=a({},W(1,x),e.initialValues,i);return Promise.resolve(P.resetFilterCondition(n)).then((function(e){try{B.resetFields();void _(n);return t()}catch(e){return r(e)}}),r)}))}));var Y=n.useCallbackRef((function(){return a({},w.queryCondition,B.getFieldsValue())}));var G=function e(){return{onRequest:_,clearQueryCondition:H,getRequestParams:Y,onResetRequest:U,form:B,getDataSource:function e(){return V.current}}};v(o,(function(){return G()}));var Q=function e(i){L(i)};var $=function i(){var t=B.getFieldsValue();if(e.onFormFinish){e.onFormFinish(a({},t,W(1,w.queryCondition.pageSize)))}else{void _(a({},t,W(1,w.queryCondition.pageSize)))}};var J=t(e.isFull)?true:e.isFull;var M=i("fba-easy-table",{"fba-easy-table-full":J,"fba-easy-table-filter-fixed":e.filterFixed,"fba-easy-table-pagination-fixed":e.paginationFixed});var X=y((function(){return a({showSizeChanger:true,current:w.queryCondition[O.pageNo]||1,pageSize:w.queryCondition[O.pageSize]||x,total:b,showTotal:function e(i){return"共 "+i+" 条记录"}},e.pagination)}),[O.pageNo,O.pageSize,x,e.pagination,w.queryCondition,b]);var Z=n.useCallbackRef((function(i,t){var r,n;void _((r={},r[O.pageSize]=t,r[O.pageNo]=i,r));(n=e.pagination)==null?void 0:n.onChange==null?void 0:n.onChange(i,t)}));var ee=i("fba-easy-table-wrapper",{"fba-easy-table-wrapper-inline":e.isInline});var ie=typeof e.children==="function"?e.children(V.current):e.children;return S(E,{value:{getEasyTableRef:G,modelKey:e.modelKey,onRequest:_,tableList:p,tableTotal:b,loading:z,fieldNames:O,pageSize:x,initRequest:k,initialValues:e.initialValues||{},onSetPaginationStatus:Q,paginationStatus:K,onFormFinish:$,form:B,paginationFixed:e.paginationFixed||false,foldKeys:e.foldKeys||[]},children:e.paginationFixed?j("div",{className:ee,children:[S("div",{className:M,children:ie}),b>0&&S("div",{className:"fba-easy-table-pagination",children:S(d,a({size:"small"},X,{onChange:Z,selectComponentClass:A}))})]}):S("div",{className:M,children:ie})})}));var H=function e(i){var t=i.queryButtonProps,r=i.resetButtonProps,o=i.filterOperate,l=i.formClassName;var s=V(),d=s.modelKey,c=s.foldKeys,f=s.fieldNames,p=s.onRequest,g=s.pageSize,v=s.paginationStatus,C=s.initialValues,b=s.form,P=s.onFormFinish;var x=typeof i.children==="function"?i.children(b):i.children;var k=y((function(){if(z(x)){return h.toArray(x.props.children)}else{return h.toArray(x)}}),[x]);var T=m(false),K=T[0],L=T[1];var E=D(d).useStore(),O=E[0],I=E[1];var B=n.useCallbackRef((function(){return new Promise((function(e,i){var t;return Promise.resolve(I.resetFilterCondition()).then((function(r){try{b.resetFields();if(v){p(a((t={},t[f.pageNo]=1,t[f.pageSize]=g,t),C))}else{p(C)}return e()}catch(e){return i(e)}}),i)}))}));var A=y((function(){var e=a({rightList:[!(t!=null&&t.hidden)?S(R,a({type:"primary",htmlType:"submit"},t,{children:(t==null?void 0:t.text)||"查询"}),"1"):null,!(r!=null&&r.hidden)?S(R,a({onClick:B},r,{children:(r==null?void 0:r.text)||"重置"}),"2"):null],leftList:[]},o==null?void 0:o(b));if(c.length>0){var i=S(R,{type:"link",style:{padding:"0"},onClick:function e(){L(!K)},children:K?j("span",{children:["收起",S(q,{style:{marginLeft:3,fontSize:12}})]}):j("span",{children:["展开",S(F,{style:{marginLeft:3,fontSize:12}})]})},"fold-trigger");var n=e.rightList,l=e.leftList;if(n.length>0||l.length===0){n.push(i)}else if((l==null?void 0:l.length)>0){l.push(i)}}return k.map((function(e,i){if(!K&&c.find((function(i){return".$"+i===e.key})))return null;if(e.props["hidden"])return null;if(e.type["domTypeName"]==="FormCol")return e;return S(N.Col,{children:e},i)})).filter(Boolean).concat(S(N.OperateCol,a({},e),999))}),[k,o,c,b,B,K,t,r]);return S(w,{className:"easy-table-filter",children:S(u,{form:b,onFinish:P,initialValues:a({},C,O.queryCondition),className:l,children:i.isPure?x:S(N.Row,{gutter:[15,0],gridSize:i.formGridSize,children:A})})})};var W=function e(){var i=V();var t=g(i.getEasyTableRef());return t.current};var U=function e(){var i=V(),t=i.getEasyTableRef;var r=g(t());return r};var Y=["children","rowKey","pagination"];var G=function e(t){var r=t.children,n=t.rowKey,l=t.pagination,s=o(t,Y);var u=V(),d=u.modelKey,c=u.fieldNames,p=u.onRequest,m=u.tableList,g=u.initRequest,v=u.pageSize,h=u.tableTotal,C=u.loading,b=u.initialValues,F=u.paginationFixed,q=u.onSetPaginationStatus;var z=D(d).useStore(),R=z[0],N=z[1];var L=y((function(){if(F||l===false)return false;return a({showSizeChanger:true,current:R.queryCondition[c.pageNo]||1,pageSize:R.queryCondition[c.pageSize]||v,total:h,showTotal:function e(i){return"共 "+i+" 条记录"}},t.pagination,{selectComponentClass:A})}),[c.pageNo,c.pageSize,v,l,F,t.pagination,R.queryCondition,h]);var E=function e(i,r,n,a){if(a.action==="paginate"&&L){var o;p((o={},o[c.pageSize]=i.pageSize,o[c.pageNo]=i.current,o))}else{t.onChange==null?void 0:t.onChange(i,r,n,a)}};var O=y((function(){if(m.length===0){return[]}if(typeof n==="string"&&P(m[0][n])){return m.map((function(e){e[n]=x();return e}))}return m}),[m,n]);T.useEffectCustom((function(){var e=F||L!==false;q(e);if(g!==false||!R.isInit){if(e){var i;void p(a((i={},i[c.pageNo]=1,i[c.pageSize]=v,i),b,R.queryCondition))}else{void p(b)}}else{void N.updateFilterCondition(b)}void N.updateInitStatus()}),[]);return j(w,{className:i("easy-table-table",t.tableWrapperClassName),style:t.tableWrapperStyle,children:[r,k()?S(f,a({size:"small",scroll:{x:"max-content"},bordered:true},s,{pagination:L,rowKey:n,onChange:E,loading:C,dataSource:O})):S(K,{children:S(f,a({size:"small",scroll:{x:"max-content"},bordered:true},s,{pagination:L,rowKey:n,onChange:E,loading:C,dataSource:O}))})]})};var Q=e.attachPropertiesToComponent(_,{Filter:H,Table:G,useEasyTablRef:U,useEasyTable:W});export{Q as EasyTable};
|
|
12
12
|
//# sourceMappingURL=index.js.map
|
|
@@ -12,5 +12,5 @@ import './../input-wrapper/index.css';
|
|
|
12
12
|
import './../input-text-area-wrapper/index.css';
|
|
13
13
|
import './index.css';
|
|
14
14
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
15
|
-
export{E as EditableTable}from"../editable-table-
|
|
15
|
+
export{E as EditableTable}from"../editable-table-392040f7.js";import"@ant-design/icons/es/icons/PlusOutlined";import"../_rollupPluginBabelHelpers-1f4d8910.js";import"@flatbiz/utils";import"antd";import"react";import"../button-wrapper-125fce50.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-promise";import"@wove/react/cjs/hooks";import"../config-provider-wrapper-dfe8f592.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"../fba-hooks/index.js";import"@dimjs/lang/cjs/is-array";import"../use-responsive-point-21b8c601.js";import"react/jsx-runtime";import"../fba-utils-f9e11d02.js";import"@dimjs/utils/cjs/extend";import"@dimjs/utils/cjs/class-names";import"../date-picker-wrapper-ba650858.js";import"../time-53b3f55f.js";import"../date-range-picker-wrapper-fb15c592.js";import"../input-wrapper-b378eb5a.js";import"../selector-wrapper-91427b7d.js";import"@ant-design/icons/es/icons/RedoOutlined";import"@dimjs/lang/cjs/is-string";import"../request-status-03fc60e2.js";import"@dimjs/lang/cjs/is-deep-equal";import"@dimjs/utils/cjs/get";import"@dimjs/utils/cjs/json";import"pubsub-js";import"@dimjs/lang/cjs/is-object";import"@dimjs/lang/cjs/is-boolean";import"@dimjs/lang/cjs/is-number";import"../input-text-area-wrapper-c958fba0.js";import"../upload-wrapper-bd9ef592.js";import"@dimjs/lang/cjs/is-plain-object";import"react-dom";import"@ant-design/icons/es/icons/DeleteOutlined";
|
|
16
16
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
+
import e from"@ant-design/icons/es/icons/PlusOutlined";import{a as n,_ as r}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{arrayField2LabelValue as a,toArray as l}from"@flatbiz/utils";import{Form as i,Checkbox as t,Tag as o,InputNumber as d,Radio as u,Space as m,Button as f,Input as c,Table as s}from"antd";import{useMemo as v,useState as p,useEffect as g,Fragment as b}from"react";import{B as C}from"./button-wrapper-125fce50.js";import{isArray as h}from"@dimjs/lang/cjs/is-array";import{extend as I}from"@dimjs/utils/cjs/extend";import{classNames as w}from"@dimjs/utils/cjs/class-names";import{hooks as x}from"@wove/react/cjs/hooks";import{jsx as R,jsxs as N,Fragment as P}from"react/jsx-runtime";import{D as y}from"./date-picker-wrapper-ba650858.js";import{D as j}from"./date-range-picker-wrapper-fb15c592.js";import{I as k}from"./input-wrapper-b378eb5a.js";import{fbaHooks as F}from"./fba-hooks/index.js";import{S as L}from"./selector-wrapper-91427b7d.js";import{isBoolean as T}from"@dimjs/lang/cjs/is-boolean";import{isNumber as A}from"@dimjs/lang/cjs/is-number";import{isString as O}from"@dimjs/lang/cjs/is-string";import{I as B}from"./input-text-area-wrapper-c958fba0.js";import{U as S}from"./upload-wrapper-bd9ef592.js";import V from"@ant-design/icons/es/icons/DeleteOutlined";var _=function e(n,r){return typeof n==="boolean"?n:n==null?void 0:n({tableRowIndex:r})};var G=function e(r){var a=r.fieldConfig,l=a.editableConfig,i=a.editable,d=a.render;var u=l.editableComptProps;var m=v((function(){if(i)return[];var e=h(r.value)?r.value:[];var n=u.options||[];if(!h(n)||n.length===0){return e.map((function(e){return{label:e,value:e}}))}var a=[];e.forEach((function(e){var r=n.find((function(n){return n.value===e}));a.push(r?r:{label:e,value:e})}));return a}),[i,u.options,r.value]);var f=x.useCallbackRef((function(e){r.onChange==null?void 0:r.onChange(e);u.onChange==null?void 0:u.onChange(e)}));if(i){return R(t.Group,n({},u,{value:r.value,onChange:f}))}return R("span",{className:"editable-checkbox-group-view",children:d?d(r.value):m.map((function(e,n){return R(o,{color:"#1890ff",children:e.label},n)}))})};var W=function e(r){var a=r.fieldConfig.formItemProps;return R(i.Item,n({},a,{name:r.name,className:w("editable-checkbox-group-form-item",a==null?void 0:a.className),children:R(G,n({},r))}))};var D=function e(r){var a=r.fieldConfig,l=a.formItemProps,t=a.editableConfig;return R(i.Item,n({},l,{name:r.name,className:w("editable-date-picker-wraper-form-item",l==null?void 0:l.className),children:R(y,n({allowClear:true},t.editableComptProps))}))};var E=function e(r){var a=r.fieldConfig,l=a.editableConfig,i=a.editable,t=a.render;var o=l.editableComptProps;var d=x.useCallbackRef((function(e){r.onChange==null?void 0:r.onChange(e);o==null?void 0:o.onChange==null?void 0:o.onChange(e)}));var u=v((function(){var e=h(r.value)?r.value:[];if(i)return undefined;return e.join("~")}),[i,r.value]);if(i){return R(j,n({allowClear:true},o,{value:r.value,onChange:d}))}return R("span",{className:"editable-date-range-picker-view",children:t?t(r.value):u})};var z=function e(r){var a=r.fieldConfig.formItemProps;return R(i.Item,n({},a,{name:r.name,className:w("editable-date-range-picker-wraper-form-item",a==null?void 0:a.className),children:R(E,n({},r))}))};var M=function e(r){var a=r.fieldConfig,l=a.formItemProps,t=a.editableConfig;return R(i.Item,n({},l,{name:r.name,children:R(k,n({allowClear:true},t.editableComptProps))}))};var H=function e(r){var a=r.fieldConfig,l=a.formItemProps,t=a.editableConfig;return R(i.Item,n({},l,{name:r.name,className:w("editable-input-number-form-item",l==null?void 0:l.className),children:R(d,n({},t.editableComptProps))}))};var J=function e(r){var a=r.fieldConfig,l=a.editableConfig,i=a.editable,t=a.render;var d=l.editableComptProps;var m=F.useThemeToken();var f=v((function(){if(i)return[];var e=r.value;var n=d.options||[];if(!h(n)||n.length===0){return e}var a=n.find((function(n){return n.value===e}));return(a==null?void 0:a.label)||e}),[i,d.options,r.value]);var c=x.useCallbackRef((function(e){r.onChange==null?void 0:r.onChange(e.target.value);d.onChange==null?void 0:d.onChange(e)}));if(i){return R(u.Group,n({},d,{value:r.value,onChange:c}))}return R("span",{className:"editable-radio-group-view",children:t?t(r.value):f?R(o,{color:m.colorPrimary,children:f}):null})};var K=function e(r){var a=r.fieldConfig.formItemProps;return R(i.Item,n({},a,{name:r.name,className:w("editable-radio-group-form-item",a==null?void 0:a.className),children:R(J,n({},r))}))};var U=function e(r){var l=r.fieldConfig,i=l.editableConfig,t=l.editable,d=l.render;var u=i.editableComptProps;var m=p([]),f=m[0],c=m[1];var s=p([]),v=s[0],C=s[1];var I=F.useThemeToken();g((function(){if(!t){var e=h(r.value)?r.value:r.value===undefined?[]:[r.value];if(f.length===0){C(e.map((function(e){return{label:e,value:e}})))}var n=[];e.forEach((function(e){var r=f.find((function(n){return n.value===e}));n.push(r?r:{label:String(e),value:e})}));C(n)}}),[t,u.fieldNames,r.value,f]);var w=x.useCallbackRef((function(e){c(a(e||[],u.fieldNames))}));var P=x.useCallbackRef((function(e,n){r.onChange==null?void 0:r.onChange(e);u.onChange==null?void 0:u.onChange(e,n)}));if(t){return R(L,n({},u,{value:r.value,onChange:P,onSelectorListAllChange:w}))}return N(b,{children:[R("div",{style:{display:"none"},children:R(L,n({},u,{onSelectorListAllChange:w}))}),R("span",{className:"editable-selector-view",children:d?d(r.value,f):v.map((function(e,n){return R(o,{color:I.colorPrimary,children:e.label},n)}))})]})};var q=function e(r){var a=r.fieldConfig.formItemProps;return R(i.Item,n({},a,{name:r.name,className:w("editable-selector-wrapper-form-item",a==null?void 0:a.className),children:R(U,n({},r))}))};var Q=function e(n){var r,a;var l=v((function(){var e;if((e=n.fieldConfig)!=null&&e.render)return undefined;var r=O(n.value)||A(n.value)||T(n.value)||!n.value;if(!r){console.warn("Form.List name:【"+n.name+"】数据【"+JSON.stringify(n.value)+"】不能渲染在页面中")}return r?n.value:undefined}),[(r=n.fieldConfig)==null?void 0:r.render,n.name,n.value]);var i=((a=n.fieldConfig)==null?void 0:a.render==null?void 0:a.render(n.value))||l;return R("span",{children:i})};var X=function e(n){return R(i.Item,{noStyle:true,name:n.name,children:R(Q,{name:n.name,fieldConfig:n.fieldConfig})})};var Y=function e(r){var a=r.fieldConfig,l=a.formItemProps,t=a.editableConfig;return R(i.Item,n({},l,{name:r.name,children:R(B,n({},t.editableComptProps))}))};var Z=["children"];var $=function e(a){var l=a.fieldConfig,i=l.editableConfig,t=l.render,o=l.editable;var d=i.editableComptProps,u=d.children,m=r(d,Z);if(o){return R(S,n({listType:"text"},m,{value:a.value,onChange:a.onChange,children:u}))}return R("div",{className:"upload-wrapper-selector-view",children:t?t(a.value):R(S,n({listType:"text"},m,{value:a.value,disabled:true}))})};var ee=function e(r){var a=r.fieldConfig.formItemProps;return R(i.Item,n({},a,{name:r.name,className:w("editable-upload-wrapper-form-item",a==null?void 0:a.className),children:R($,n({},r))}))};var ne=function e(r){var a=r.fieldConfig,l=a.editableConfig,i=a.editable;var t=_(i,r.tableRowIndex);var o=I({},r.fieldConfig,{editable:t});var d={name:r.name,fieldConfig:o};if((l==null?void 0:l.type)==="input"&&t){return R(M,n({},d))}else if((l==null?void 0:l.type)==="inputNumber"&&t){return R(H,n({},d))}else if((l==null?void 0:l.type)==="textArea"&&t){return R(Y,n({},d))}else if((l==null?void 0:l.type)==="datePickerWrapper"&&t){return R(D,n({},d))}else if((l==null?void 0:l.type)==="dateRangePickerWrapper"){return R(z,n({},d))}else if((l==null?void 0:l.type)==="selectorWrapper"){return R(q,n({},d))}else if((l==null?void 0:l.type)==="checkboxGroup"){return R(W,n({},d))}else if((l==null?void 0:l.type)==="radioGroup"){return R(K,n({},d))}else if((l==null?void 0:l.type)==="uploadWrapper"){return R(ee,n({},d))}else if((l==null?void 0:l.type)==="custom"){return l.editableComptProps({name:r.name,editable:t,completeName:r.completeName,tableRowIndex:r.tableRowIndex})}return R(X,n({},d))};var re=function e(n){var r=i.useFormInstance();var a=n.formListConfig,l=a.onFormListBeforeRender,t=a.editableConfigList,o=a.onFormListAfterRender,d=a.onFormListItemBeforeRender,u=a.onFormListItemAfterRender,f=a.deleteOperateRender;return R(i.List,{name:n.name,children:function e(a,i){var c=i.add,s=i.remove;return N(P,{children:[l?l({tableRowIndex:n.tableRowIndex,add:c,get value(){return r.getFieldValue(n.completeName)}}):null,a.map((function(e,a){var l=t.find((function(e){return _(e.editable,n.tableRowIndex)}));var i=w("editable-inner-formlist-item","editable-inner-formlist-item-"+n.name[1],{"editable-inner-formlist-item_preview":!l});return N("div",{className:i,children:[d==null?void 0:d({add:c,remove:function e(){s(a)},formListItemIndex:a,tableRowIndex:n.tableRowIndex,get value(){return r.getFieldValue([].concat(n.completeName,[e.name]))}}),N(m,{children:[t.map((function(r,a){return R(ne,{name:[e.name,r.fieldName],fieldConfig:r,tableRowIndex:n.tableRowIndex,completeName:[].concat(n.completeName,[e.name])},a)})),l?R(ae,{deleteOperateRender:f,remove:function e(){s(a)},index:a}):undefined]}),u==null?void 0:u({add:c,formListItemIndex:a,tableRowIndex:n.tableRowIndex,remove:function e(){s(a)},get value(){return r.getFieldValue([].concat(n.completeName,[e.name]))}})]},a)})),o?o({tableRowIndex:n.tableRowIndex,add:c,get value(){return r.getFieldValue(n.completeName)}}):null]})}})};var ae=function e(n){return R(i.Item,{children:n.deleteOperateRender?n.deleteOperateRender({remove:n.remove,formListItemIndex:n.index}):R(f,{type:"link",danger:true,icon:R(V,{}),onClick:n.remove,children:"删除"})})};var le=function e(n){if(n.fieldConfig){if(h(n.fieldConfig["editableConfigList"])){var r=n.fieldConfig;return R(re,{name:n.name,completeName:n.completeName,formListConfig:r,tableRowIndex:n.tableRowIndex})}else{return N(b,{children:[R(ne,{name:n.name,fieldConfig:n.fieldConfig,tableRowIndex:n.tableRowIndex,completeName:n.completeName}),n.hiddenField?R(i.Item,{hidden:true,name:n.hiddenField.dataIndex,children:R(c,{})}):null]})}}return R(X,{name:n.name})};var ie=["fieldConfig","renderMiddleware"];var te=function a(t){var o;var d=v((function(){if(!t.columns)return[];return t.columns.map((function(e){var a=e.fieldConfig,i=e.renderMiddleware,o=r(e,ie);return n({onCell:function e(){var n;return{valign:((n=t.tableProps)==null?void 0:n.cellVerticalAlign)||"middle"}}},o,{_render:function n(r,o,d){var u=[].concat(l(t.name),[o.name]);var m=e.dataIndex?[].concat(u,[e.dataIndex]):u;var f=i==null?void 0:i({name:m,tableRowIndex:o.name,operation:o.operation,tableRowName:u,index:d});if(f){return f}var c=typeof a==="function"?a({name:m,tableRowIndex:o.name,tableRowName:u}):a;return R(le,{name:e.dataIndex?[o.name,e.dataIndex]:[o.name],completeName:m,fieldConfig:c,tableRowIndex:o.name,hiddenField:e.hiddenField})},get render(){return this._render},set render(e){this._render=e}})}))}),[t.columns,t.name,(o=t.tableProps)==null?void 0:o.cellVerticalAlign]);return R("div",{className:"editable-table",children:R(i.List,{name:t.name,rules:t.rules,children:function r(a,l){return N(b,{children:[t.onTableBeforeRender?t.onTableBeforeRender(l,a.length):null,R(s,n({scroll:{x:"max-content"},pagination:false,rowKey:"key"},t.tableProps,{dataSource:a.map((function(e){return n({},e,{operation:l})})),columns:d})),t.onTableAfterRender?t.onTableAfterRender(l,a.length):R(C,{type:"dashed",hidden:t.hiddenFooterBtn,onClick:function e(){return l.add()},block:true,icon:R(e,{}),style:{marginTop:15},children:"新增"})]})}})})};export{te as E};
|
|
3
|
+
//# sourceMappingURL=editable-table-392040f7.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editable-table-53686ef4.js","sources":["@flatbiz/antd/src/editable-table/utils.ts","@flatbiz/antd/src/editable-table/form-item/checkbox-group.tsx","@flatbiz/antd/src/editable-table/form-item/date-picker-wrapper.tsx","@flatbiz/antd/src/editable-table/form-item/date-range-picker-wrapper.tsx","@flatbiz/antd/src/editable-table/form-item/input.tsx","@flatbiz/antd/src/editable-table/form-item/input-number.tsx","@flatbiz/antd/src/editable-table/form-item/radio-group.tsx","@flatbiz/antd/src/editable-table/form-item/selector-wrapper.tsx","@flatbiz/antd/src/editable-table/form-item/text.tsx","@flatbiz/antd/src/editable-table/form-item/textarea.tsx","@flatbiz/antd/src/editable-table/form-item/upload-wrapper.tsx","@flatbiz/antd/src/editable-table/form-item/index.tsx","@flatbiz/antd/src/editable-table/form-list-item/form-list.tsx","@flatbiz/antd/src/editable-table/form-list-item/index.tsx","@flatbiz/antd/src/editable-table/editable-table.tsx"],"sourcesContent":["import { FieldSingleConfig } from './type';\n\nexport const getEditable = (editable: FieldSingleConfig['editable'], tableRowIndex: number) => {\n return typeof editable === 'boolean' ? editable : editable?.({ tableRowIndex });\n};\n","import { isArray } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { LabelValueItem, TAny } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Checkbox, Form, Tag } from 'antd';\nimport { useMemo } from 'react';\nimport { EditableCheckboxGroupConfig, EditableFormItemProps } from '../type';\n\ntype CheckboxGroupFormItemContent = Omit<EditableFormItemProps, 'formItemProps'> & {\n value?: Array<string | number>;\n onChange?: (value: TAny) => void;\n};\n\nconst CheckboxGroupFormItemContent = (props: CheckboxGroupFormItemContent) => {\n const { editableConfig, editable, render } = props.fieldConfig;\n const editableComptProps = (editableConfig as EditableCheckboxGroupConfig).editableComptProps;\n const viewLabelList = useMemo(() => {\n if (editable) return [];\n const value = isArray(props.value) ? props.value : ([] as TAny[]);\n const options = (editableComptProps.options || []) as LabelValueItem[];\n if (!isArray(options) || options.length === 0) {\n return value.map((item) => ({ label: item, value: item }));\n }\n const returnList = [] as LabelValueItem[];\n value.forEach((item) => {\n const target = options.find((temp) => temp.value === item);\n returnList.push(target ? target : { label: item, value: item });\n });\n return returnList;\n }, [editable, editableComptProps.options, props.value]);\n\n const onChange = hooks.useCallbackRef((value) => {\n props.onChange?.(value);\n editableComptProps.onChange?.(value);\n });\n\n if (editable) {\n return <Checkbox.Group {...editableComptProps} value={props.value} onChange={onChange} />;\n }\n return (\n <span className=\"editable-checkbox-group-view\">\n {render\n ? render(props.value)\n : viewLabelList.map((tag, index) => (\n <Tag key={index} color=\"#1890ff\">\n {tag.label}\n </Tag>\n ))}\n </span>\n );\n};\n\nexport const CheckboxGroupFormItem = (props: EditableFormItemProps) => {\n const { formItemProps } = props.fieldConfig;\n\n return (\n <Form.Item\n {...formItemProps}\n name={props.name}\n className={classNames('editable-checkbox-group-form-item', formItemProps?.className)}\n >\n <CheckboxGroupFormItemContent {...props} />\n </Form.Item>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { Form } from 'antd';\nimport { DatePickerWrapper } from '../../date-picker-wrapper';\nimport { EditableDatePickerWrapperConfig, EditableFormItemProps } from '../type';\n\nexport const DatePickerWrapperFormItem = (props: EditableFormItemProps) => {\n const { formItemProps, editableConfig } = props.fieldConfig;\n return (\n <Form.Item\n {...formItemProps}\n name={props.name}\n className={classNames('editable-date-picker-wraper-form-item', formItemProps?.className)}\n >\n <DatePickerWrapper\n allowClear\n {...(editableConfig as EditableDatePickerWrapperConfig).editableComptProps}\n />\n </Form.Item>\n );\n};\n","import { isArray } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { hooks } from '@wove/react';\nimport { Form } from 'antd';\nimport { useMemo } from 'react';\nimport { DateRangePickerWrapper } from '../../date-range-picker-wrapper';\nimport { EditableDateRangePickerWrapperConfig, EditableFormItemProps } from '../type';\n\ntype FormItemContentProps = Omit<EditableFormItemProps, 'formItemProps'> & {\n value?: [string, string];\n onChange?: (value?: [string, string]) => void;\n};\n\nconst FormItemContent = (props: FormItemContentProps) => {\n const { editableConfig, editable, render } = props.fieldConfig;\n const editableComptProps = (editableConfig as EditableDateRangePickerWrapperConfig).editableComptProps;\n\n const onChange = hooks.useCallbackRef((data) => {\n props.onChange?.(data);\n editableComptProps?.onChange?.(data);\n });\n\n const viewLabel = useMemo(() => {\n const value = isArray(props.value) ? props.value : ([] as any[]);\n if (editable) return undefined;\n return value.join('~');\n }, [editable, props.value]);\n\n if (editable) {\n return (\n <DateRangePickerWrapper allowClear {...editableComptProps} value={props.value} onChange={onChange} />\n );\n }\n return <span className=\"editable-date-range-picker-view\">{render ? render(props.value) : viewLabel}</span>;\n};\n\nexport const DateRangePickerWrapperFormItem = (props: EditableFormItemProps) => {\n const { formItemProps } = props.fieldConfig;\n return (\n <Form.Item\n {...formItemProps}\n name={props.name}\n className={classNames('editable-date-range-picker-wraper-form-item', formItemProps?.className)}\n >\n <FormItemContent {...props} />\n </Form.Item>\n );\n};\n","import { Form } from 'antd';\nimport { InputWrapper } from '../../input-wrapper';\nimport { EditableFormItemProps, EditableInputConfig } from '../type';\n\nexport const InputFormItem = (props: EditableFormItemProps) => {\n const { formItemProps, editableConfig } = props.fieldConfig;\n\n return (\n <Form.Item {...formItemProps} name={props.name}>\n <InputWrapper allowClear {...(editableConfig as EditableInputConfig).editableComptProps} />\n </Form.Item>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { Form, InputNumber } from 'antd';\nimport { EditableFormItemProps, EditableInputNumberConfig } from '../type';\n\nexport const InputNumberFormItem = (props: EditableFormItemProps) => {\n const { formItemProps, editableConfig } = props.fieldConfig;\n return (\n <Form.Item\n {...formItemProps}\n name={props.name}\n className={classNames('editable-input-number-form-item', formItemProps?.className)}\n >\n <InputNumber {...(editableConfig as EditableInputNumberConfig).editableComptProps} />\n </Form.Item>\n );\n};\n","import { isArray } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { LabelValueItem } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Form, Radio, Tag } from 'antd';\nimport { useMemo } from 'react';\nimport { fbaHooks } from '../../fba-hooks';\nimport { EditableFormItemProps, EditableRadioGroupConfig } from '../type';\n\ntype RadioGroupFormItemContent = Omit<EditableFormItemProps, 'formItemProps'> & {\n value?: string | number;\n onChange?: (value: string | number) => void;\n};\n\nconst RadioGroupFormItemContent = (props: RadioGroupFormItemContent) => {\n const { editableConfig, editable, render } = props.fieldConfig;\n const editableComptProps = (editableConfig as EditableRadioGroupConfig).editableComptProps;\n\n const theme = fbaHooks.useThemeToken();\n\n const viewLabel = useMemo(() => {\n if (editable) return [];\n const value = props.value;\n const options = (editableComptProps.options || []) as LabelValueItem<string | number>[];\n if (!isArray(options) || options.length === 0) {\n return value;\n }\n const target = options.find((item) => item.value === value);\n return target?.label || value;\n }, [editable, editableComptProps.options, props.value]);\n\n const onChange = hooks.useCallbackRef((e) => {\n props.onChange?.(e.target.value as string | number);\n editableComptProps.onChange?.(e);\n });\n\n if (editable) {\n return <Radio.Group {...editableComptProps} value={props.value} onChange={onChange} />;\n }\n return (\n <span className=\"editable-radio-group-view\">\n {render ? render(props.value) : viewLabel ? <Tag color={theme.colorPrimary}>{viewLabel}</Tag> : null}\n </span>\n );\n};\n\nexport const RadioGroupFormItem = (props: EditableFormItemProps) => {\n const { formItemProps } = props.fieldConfig;\n\n return (\n <Form.Item\n {...formItemProps}\n name={props.name}\n className={classNames('editable-radio-group-form-item', formItemProps?.className)}\n >\n <RadioGroupFormItemContent {...props} />\n </Form.Item>\n );\n};\n","import { isArray } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { arrayField2LabelValue, LabelValueItem, TAny, TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Form, Tag } from 'antd';\nimport { Fragment, useEffect, useState } from 'react';\nimport { fbaHooks } from '../../fba-hooks';\nimport { SelectorWrapper } from '../../selector-wrapper';\nimport { EditableFormItemProps, EditableSelectWrapperConfig } from '../type';\n\ntype FormItemContentProps = Omit<EditableFormItemProps, 'formItemProps'> & {\n value?: string | number | Array<string | number>;\n onChange?: (value: TAny) => void;\n};\n\nconst FormItemContent = (props: FormItemContentProps) => {\n const { editableConfig, editable, render } = props.fieldConfig;\n const editableComptProps = (editableConfig as EditableSelectWrapperConfig).editableComptProps;\n const [selectorList, setSelectorList] = useState<LabelValueItem[]>([]);\n const [viewLabelList, setviewLabelList] = useState<LabelValueItem[]>([]);\n const theme = fbaHooks.useThemeToken();\n\n useEffect(() => {\n if (!editable) {\n const value = isArray(props.value) ? props.value : props.value === undefined ? [] : [props.value];\n if (selectorList.length === 0) {\n setviewLabelList(value.map((item) => ({ label: item as string, value: item })));\n }\n const returnList = [] as LabelValueItem[];\n value.forEach((item) => {\n const target = selectorList.find((temp) => temp.value === item);\n returnList.push(target ? target : { label: String(item), value: item });\n });\n setviewLabelList(returnList);\n }\n }, [editable, editableComptProps.fieldNames, props.value, selectorList]);\n\n const onSelectorListAllChange = hooks.useCallbackRef((dataList: TPlainObject[]) => {\n setSelectorList(arrayField2LabelValue(dataList || [], editableComptProps.fieldNames));\n });\n\n const onChange = hooks.useCallbackRef((value, selectList) => {\n props.onChange?.(value);\n editableComptProps.onChange?.(value, selectList);\n });\n\n if (editable) {\n return (\n <SelectorWrapper\n {...editableComptProps}\n value={props.value}\n onChange={onChange}\n onSelectorListAllChange={onSelectorListAllChange}\n />\n );\n }\n return (\n <Fragment>\n <div style={{ display: 'none' }}>\n <SelectorWrapper {...editableComptProps} onSelectorListAllChange={onSelectorListAllChange} />\n </div>\n <span className=\"editable-selector-view\">\n {render\n ? render(props.value, selectorList)\n : viewLabelList.map((tag, index) => (\n <Tag key={index} color={theme.colorPrimary}>\n {tag.label}\n </Tag>\n ))}\n </span>\n </Fragment>\n );\n};\n\nexport const SelectorWrapperFormItem = (props: EditableFormItemProps) => {\n const { formItemProps } = props.fieldConfig;\n\n return (\n <Form.Item\n {...formItemProps}\n name={props.name}\n className={classNames('editable-selector-wrapper-form-item', formItemProps?.className)}\n >\n <FormItemContent {...props} />\n </Form.Item>\n );\n};\n","import { isBoolean, isNumber, isString } from '@dimjs/lang';\nimport { Form } from 'antd';\nimport { useMemo } from 'react';\nimport { EditableFormItemProps, FieldSingleConfig } from '../type';\n\nconst FormItemTextContent = (props: {\n value?: string | number;\n name: EditableFormItemProps['name'];\n fieldConfig?: FieldSingleConfig;\n}) => {\n const value = useMemo(() => {\n if (props.fieldConfig?.render) return undefined;\n const isBaseData =\n isString(props.value) || isNumber(props.value) || isBoolean(props.value) || !props.value;\n if (!isBaseData) {\n console.warn(`Form.List name:【${props.name}】数据【${JSON.stringify(props.value)}】不能渲染在页面中`);\n }\n return isBaseData ? props.value : undefined;\n }, [props.fieldConfig?.render, props.name, props.value]);\n const viewText = props.fieldConfig?.render?.(props.value) || value;\n return <span>{viewText}</span>;\n};\n\nexport const TextFormItem = (props: { name: Array<number | string>; fieldConfig?: FieldSingleConfig }) => {\n return (\n <Form.Item noStyle name={props.name}>\n <FormItemTextContent name={props.name} fieldConfig={props.fieldConfig} />\n </Form.Item>\n );\n};\n","import { Form } from 'antd';\nimport { InputTextAreaWrapper } from '../../input-text-area-wrapper';\nimport { EditableFormItemProps, EditableTextareaConfig } from '../type';\n\nexport const TextAreaFormItem = (props: EditableFormItemProps) => {\n const { formItemProps, editableConfig } = props.fieldConfig;\n return (\n <Form.Item {...formItemProps} name={props.name}>\n <InputTextAreaWrapper {...(editableConfig as EditableTextareaConfig).editableComptProps} />\n </Form.Item>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { TAny } from '@flatbiz/utils';\nimport { Form } from 'antd';\nimport { UploadWrapper } from '../../upload-wrapper';\nimport { EditableFileUploadConfig, EditableFormItemProps } from '../type';\n\nconst UploadWrapperFormItemContent = (\n props: EditableFormItemProps & { value?: TAny; onChange?: (value?: TAny) => void },\n) => {\n const { editableConfig, render, editable } = props.fieldConfig;\n const { children, ...otherProps } = (editableConfig as EditableFileUploadConfig).editableComptProps;\n if (editable) {\n return (\n <UploadWrapper listType=\"text\" {...otherProps} value={props.value} onChange={props.onChange}>\n {children}\n </UploadWrapper>\n );\n }\n return (\n <div className=\"upload-wrapper-selector-view\">\n {render ? (\n render(props.value)\n ) : (\n <UploadWrapper listType=\"text\" {...otherProps} value={props.value} disabled={true} />\n )}\n </div>\n );\n};\n\nexport const UploadWrapperFormItem = (props: EditableFormItemProps) => {\n const { formItemProps } = props.fieldConfig;\n return (\n <Form.Item\n {...formItemProps}\n name={props.name}\n className={classNames('editable-upload-wrapper-form-item', formItemProps?.className)}\n >\n <UploadWrapperFormItemContent {...props} />\n </Form.Item>\n );\n};\n","import { extend } from '@dimjs/utils';\nimport { FieldSingleConfig } from '../type';\nimport { getEditable } from '../utils';\nimport { CheckboxGroupFormItem } from './checkbox-group';\nimport { DatePickerWrapperFormItem } from './date-picker-wrapper';\nimport { DateRangePickerWrapperFormItem } from './date-range-picker-wrapper';\nimport { InputFormItem } from './input';\nimport { InputNumberFormItem } from './input-number';\nimport { RadioGroupFormItem } from './radio-group';\nimport { SelectorWrapperFormItem } from './selector-wrapper';\nimport { TextFormItem } from './text';\nimport { TextAreaFormItem } from './textarea';\nimport { UploadWrapperFormItem } from './upload-wrapper';\n\nexport type FormItemAdapterProps = {\n name: Array<number | string>;\n completeName: Array<number | string>;\n fieldConfig: FieldSingleConfig;\n tableRowIndex: number;\n};\n\nexport const FormItemAdapter = (props: FormItemAdapterProps) => {\n const { editableConfig, editable } = props.fieldConfig;\n const newEditable = getEditable(editable, props.tableRowIndex);\n const fieldConfig = extend({}, props.fieldConfig, { editable: newEditable });\n\n const commomProps = {\n name: props.name,\n fieldConfig,\n };\n\n if (editableConfig?.type === 'input' && newEditable) {\n return <InputFormItem {...commomProps} />;\n } else if (editableConfig?.type === 'inputNumber' && newEditable) {\n return <InputNumberFormItem {...commomProps} />;\n } else if (editableConfig?.type === 'textArea' && newEditable) {\n return <TextAreaFormItem {...commomProps} />;\n } else if (editableConfig?.type === 'datePickerWrapper' && newEditable) {\n return <DatePickerWrapperFormItem {...commomProps} />;\n } else if (editableConfig?.type === 'dateRangePickerWrapper') {\n return <DateRangePickerWrapperFormItem {...commomProps} />;\n } else if (editableConfig?.type === 'selectorWrapper') {\n return <SelectorWrapperFormItem {...commomProps} />;\n } else if (editableConfig?.type === 'checkboxGroup') {\n return <CheckboxGroupFormItem {...commomProps} />;\n } else if (editableConfig?.type === 'radioGroup') {\n return <RadioGroupFormItem {...commomProps} />;\n } else if (editableConfig?.type === 'uploadWrapper') {\n return <UploadWrapperFormItem {...commomProps} />;\n } else if (editableConfig?.type === 'custom') {\n return editableConfig.editableComptProps({\n name: props.name,\n editable: newEditable,\n completeName: props.completeName,\n tableRowIndex: props.tableRowIndex,\n });\n }\n\n return <TextFormItem {...commomProps} />;\n};\n","import { DeleteOutlined } from '@ant-design/icons';\nimport { classNames } from '@dimjs/utils';\nimport { Button, Form, Space } from 'antd';\nimport { FormItemAdapter } from '../form-item';\nimport { FormListConfig } from '../type';\nimport { getEditable } from '../utils';\n\nexport type FormListProps = {\n name: Array<number | string>;\n formListConfig: FormListConfig;\n tableRowIndex: number;\n completeName: (string | number)[];\n};\n\nexport const FormList = (props: FormListProps) => {\n const from = Form.useFormInstance();\n const {\n onFormListBeforeRender,\n editableConfigList,\n onFormListAfterRender,\n onFormListItemBeforeRender,\n onFormListItemAfterRender,\n deleteOperateRender,\n } = props.formListConfig;\n return (\n <Form.List name={props.name}>\n {(fields, { add, remove }) => (\n <>\n {onFormListBeforeRender\n ? onFormListBeforeRender({\n tableRowIndex: props.tableRowIndex,\n add,\n get value() {\n return from.getFieldValue(props.completeName);\n },\n })\n : null}\n {fields.map((fieldChild, index) => {\n const hasEditable = editableConfigList.find((item) =>\n getEditable(item.editable, props.tableRowIndex),\n );\n const className = classNames(\n 'editable-inner-formlist-item',\n `editable-inner-formlist-item-${props.name[1]}`,\n { 'editable-inner-formlist-item_preview': !hasEditable },\n );\n return (\n <div key={index} className={className}>\n {onFormListItemBeforeRender?.({\n add,\n remove: () => {\n remove(index);\n },\n formListItemIndex: index,\n tableRowIndex: props.tableRowIndex,\n get value() {\n return from.getFieldValue([...props.completeName, fieldChild.name]);\n },\n })}\n <Space>\n {editableConfigList.map((fieldItem, index) => {\n return (\n <FormItemAdapter\n name={[fieldChild.name, fieldItem.fieldName]}\n fieldConfig={fieldItem}\n key={index}\n tableRowIndex={props.tableRowIndex}\n completeName={[...props.completeName, fieldChild.name]}\n />\n );\n })}\n {hasEditable ? (\n <DeleteFormListItem\n deleteOperateRender={deleteOperateRender}\n remove={() => {\n remove(index);\n }}\n index={index}\n />\n ) : undefined}\n </Space>\n {onFormListItemAfterRender?.({\n add,\n formListItemIndex: index,\n tableRowIndex: props.tableRowIndex,\n remove: () => {\n remove(index);\n },\n get value() {\n return from.getFieldValue([...props.completeName, fieldChild.name]);\n },\n })}\n </div>\n );\n })}\n {onFormListAfterRender\n ? onFormListAfterRender({\n tableRowIndex: props.tableRowIndex,\n add,\n get value() {\n return from.getFieldValue(props.completeName);\n },\n })\n : null}\n </>\n )}\n </Form.List>\n );\n};\n\nconst DeleteFormListItem = (props: {\n deleteOperateRender: FormListConfig['deleteOperateRender'];\n remove: () => void;\n index: number;\n}) => {\n return (\n <Form.Item>\n {props.deleteOperateRender ? (\n props.deleteOperateRender({ remove: props.remove, formListItemIndex: props.index })\n ) : (\n <Button type=\"link\" danger icon={<DeleteOutlined />} onClick={props.remove}>\n 删除\n </Button>\n )}\n </Form.Item>\n );\n};\n","import { isArray } from '@dimjs/lang';\nimport { Form, Input } from 'antd';\nimport { Fragment } from 'react';\nimport { FormItemAdapter } from '../form-item';\nimport { TextFormItem } from '../form-item/text';\nimport { FieldSingleConfig, FormListConfig } from '../type';\nimport { FormList } from './form-list';\n\nexport type FormListItemProps = {\n name: Array<number | string>;\n fieldConfig?: FieldSingleConfig | FormListConfig;\n tableRowIndex: number;\n completeName: (string | number)[];\n hiddenField?: { dataIndex: string };\n};\n\nexport const FormListItem = (props: FormListItemProps) => {\n if (props.fieldConfig) {\n if (isArray(props.fieldConfig['editableConfigList'])) {\n const formListConfig = props.fieldConfig as FormListConfig;\n return (\n <FormList\n name={props.name}\n completeName={props.completeName}\n formListConfig={formListConfig}\n tableRowIndex={props.tableRowIndex}\n />\n );\n } else {\n return (\n <Fragment>\n <FormItemAdapter\n name={props.name}\n fieldConfig={props.fieldConfig as FieldSingleConfig}\n tableRowIndex={props.tableRowIndex}\n completeName={props.completeName}\n />\n {props.hiddenField ? (\n <Form.Item hidden={true} name={props.hiddenField.dataIndex}>\n <Input />\n </Form.Item>\n ) : null}\n </Fragment>\n );\n }\n }\n return <TextFormItem name={props.name} />;\n};\n","import { PlusOutlined } from '@ant-design/icons';\nimport { Form, Table, TableProps } from 'antd';\nimport { FormListOperation, FormListProps } from 'antd/lib/form/FormList';\nimport { ColumnsType } from 'antd/lib/table';\nimport { Fragment, ReactElement, useMemo } from 'react';\nimport { ButtonWrapper } from '../button-wrapper';\nimport { FormListItem } from './form-list-item';\nimport './style.less';\nimport { EditableTableName, EditableTableRecordType, FieldSingleConfig, FormListConfig } from './type';\n\ntype fieldConfigFunctionParams = {\n tableRowIndex: number;\n name: EditableTableName;\n tableRowName: EditableTableName;\n};\n/**\n * antd 默认render功能此处不能使用\n */\nexport type EditableTableColumn = Omit<ColumnsType['0'], 'render'> & {\n dataIndex?: string;\n fieldConfig?:\n | FieldSingleConfig\n | FormListConfig\n | ((data: fieldConfigFunctionParams) => FieldSingleConfig | FormListConfig);\n /** 隐藏域字段 */\n hiddenField?: {\n dataIndex: string;\n };\n /**\n * 渲染中间件,如果renderMiddleware返回值为ReactElement格式,则会终止后续逻辑,fieldConfig配置将失效\n * ```\n * 1. tableRowIndex: 当前row的索引值\n * 2. name: 当前table单元格的form.item的name值\n * 3. operation Form.List的操作函数\n * ```\n */\n renderMiddleware?: (item: {\n tableRowIndex: number;\n name: EditableTableName;\n tableRowName: EditableTableName;\n operation: FormListOperation;\n index: number;\n }) => ReactElement | null;\n};\n\nexport type EditableTableProps = {\n name: string;\n /**\n * ```\n * antd table属性\n * 1. 新增cellVerticalAlign,单元格竖直方向对齐方式,设置table column onCell属性后失效\n * ```\n */\n tableProps?: Omit<TableProps<EditableTableRecordType>, 'dataSource' | 'columns' | 'rowKey'> & {\n cellVerticalAlign?: 'baseline' | 'middle' | 'top' | 'bottom';\n };\n columns: EditableTableColumn[];\n onTableBeforeRender?: (formListOperation: FormListOperation, nextRowIndex: number) => ReactElement | null;\n /**\n * 设置后,将覆盖底部`新增`按钮\n */\n onTableAfterRender?: (formListOperation: FormListOperation, nextRowIndex: number) => ReactElement | null;\n rules?: FormListProps['rules'];\n /** 隐藏底部`新增`按钮,设置 onTableAfterRender后 失效 */\n hiddenFooterBtn?: boolean;\n};\n\nexport const EditableTable = (props: EditableTableProps) => {\n const columns = useMemo(() => {\n if (!props.columns) return [];\n return props.columns.map((columnItem) => {\n const { fieldConfig, renderMiddleware, ...otherColumnItem } = columnItem;\n return {\n onCell: () => {\n return {\n valign: props.tableProps?.cellVerticalAlign || 'middle',\n };\n },\n ...otherColumnItem,\n render: (_value, record, index) => {\n const tableRowName = [props.name, record.name];\n const completeName = columnItem.dataIndex ? [...tableRowName, columnItem.dataIndex] : tableRowName;\n const customRender = renderMiddleware?.({\n name: completeName,\n tableRowIndex: record.name,\n operation: record.operation,\n tableRowName,\n index,\n });\n if (customRender) {\n return customRender;\n }\n\n const fieldConfigActual =\n typeof fieldConfig === 'function'\n ? fieldConfig({\n name: completeName,\n tableRowIndex: record.name,\n tableRowName,\n })\n : fieldConfig;\n return (\n <FormListItem\n name={columnItem.dataIndex ? [record.name, columnItem.dataIndex] : [record.name]}\n completeName={completeName}\n fieldConfig={fieldConfigActual}\n tableRowIndex={record.name}\n hiddenField={columnItem.hiddenField}\n />\n );\n },\n };\n }) as ColumnsType<EditableTableRecordType>;\n }, [props.columns, props.name, props.tableProps?.cellVerticalAlign]);\n\n return (\n <div className=\"editable-table\">\n <Form.List name={props.name} rules={props.rules}>\n {(fields, formListOperation) => {\n return (\n <Fragment>\n {props.onTableBeforeRender ? props.onTableBeforeRender(formListOperation, fields.length) : null}\n <Table\n scroll={{ x: 'max-content' }}\n pagination={false}\n rowKey=\"key\"\n {...props.tableProps}\n dataSource={fields.map((item) => ({ ...item, operation: formListOperation }))}\n columns={columns}\n />\n {props.onTableAfterRender ? (\n props.onTableAfterRender(formListOperation, fields.length)\n ) : (\n <ButtonWrapper\n type=\"dashed\"\n hidden={props.hiddenFooterBtn}\n onClick={() => formListOperation.add()}\n block\n icon={<PlusOutlined />}\n style={{ marginTop: 15 }}\n >\n 新增\n </ButtonWrapper>\n )}\n </Fragment>\n );\n }}\n </Form.List>\n </div>\n );\n};\n"],"names":["getEditable","editable","tableRowIndex","CheckboxGroupFormItemContent","props","_props$fieldConfig","fieldConfig","editableConfig","render","editableComptProps","viewLabelList","useMemo","value","_isArray","options","length","map","item","label","returnList","forEach","target","find","temp","push","onChange","_hooks","useCallbackRef","_jsx","Checkbox","Group","_extends","className","children","tag","index","Tag","color","CheckboxGroupFormItem","formItemProps","Form","Item","name","_classNames","DatePickerWrapperFormItem","DatePickerWrapper","allowClear","FormItemContent","data","viewLabel","undefined","join","DateRangePickerWrapper","DateRangePickerWrapperFormItem","InputFormItem","InputWrapper","InputNumberFormItem","InputNumber","RadioGroupFormItemContent","theme","fbaHooks","useThemeToken","e","Radio","colorPrimary","RadioGroupFormItem","_useState","useState","selectorList","setSelectorList","_useState2","setviewLabelList","useEffect","String","fieldNames","onSelectorListAllChange","dataList","arrayField2LabelValue","selectList","SelectorWrapper","_jsxs","Fragment","style","display","SelectorWrapperFormItem","FormItemTextContent","_props$fieldConfig2","_props$fieldConfig3","isBaseData","_isString","_isNumber","_isBoolean","console","warn","JSON","stringify","viewText","TextFormItem","noStyle","TextAreaFormItem","InputTextAreaWrapper","UploadWrapperFormItemContent","_editableComptProps","otherProps","_objectWithoutPropertiesLoose","_excluded","UploadWrapper","listType","disabled","UploadWrapperFormItem","FormItemAdapter","newEditable","_extend","commomProps","type","completeName","FormList","from","useFormInstance","_props$formListConfig","formListConfig","onFormListBeforeRender","editableConfigList","onFormListAfterRender","onFormListItemBeforeRender","onFormListItemAfterRender","deleteOperateRender","List","fields","_ref","add","remove","_Fragment","getFieldValue","fieldChild","hasEditable","formListItemIndex","concat","Space","fieldItem","fieldName","DeleteFormListItem","Button","danger","icon","_DeleteOutlined","onClick","FormListItem","hiddenField","hidden","dataIndex","Input","EditableTable","_props$tableProps2","columns","columnItem","renderMiddleware","otherColumnItem","onCell","_props$tableProps","valign","tableProps","cellVerticalAlign","_value","record","tableRowName","customRender","operation","fieldConfigActual","rules","formListOperation","onTableBeforeRender","Table","scroll","x","pagination","rowKey","dataSource","onTableAfterRender","ButtonWrapper","hiddenFooterBtn","block","_PlusOutlined","marginTop"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"editable-table-392040f7.js","sources":["@flatbiz/antd/src/editable-table/utils.ts","@flatbiz/antd/src/editable-table/form-item/checkbox-group.tsx","@flatbiz/antd/src/editable-table/form-item/date-picker-wrapper.tsx","@flatbiz/antd/src/editable-table/form-item/date-range-picker-wrapper.tsx","@flatbiz/antd/src/editable-table/form-item/input.tsx","@flatbiz/antd/src/editable-table/form-item/input-number.tsx","@flatbiz/antd/src/editable-table/form-item/radio-group.tsx","@flatbiz/antd/src/editable-table/form-item/selector-wrapper.tsx","@flatbiz/antd/src/editable-table/form-item/text.tsx","@flatbiz/antd/src/editable-table/form-item/textarea.tsx","@flatbiz/antd/src/editable-table/form-item/upload-wrapper.tsx","@flatbiz/antd/src/editable-table/form-item/index.tsx","@flatbiz/antd/src/editable-table/form-list-item/form-list.tsx","@flatbiz/antd/src/editable-table/form-list-item/index.tsx","@flatbiz/antd/src/editable-table/editable-table.tsx"],"sourcesContent":["import { FieldSingleConfig } from './type';\n\nexport const getEditable = (editable: FieldSingleConfig['editable'], tableRowIndex: number) => {\n return typeof editable === 'boolean' ? editable : editable?.({ tableRowIndex });\n};\n","import { isArray } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { LabelValueItem, TAny } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Checkbox, Form, Tag } from 'antd';\nimport { useMemo } from 'react';\nimport { EditableCheckboxGroupConfig, EditableFormItemProps } from '../type';\n\ntype CheckboxGroupFormItemContent = Omit<EditableFormItemProps, 'formItemProps'> & {\n value?: Array<string | number>;\n onChange?: (value: TAny) => void;\n};\n\nconst CheckboxGroupFormItemContent = (props: CheckboxGroupFormItemContent) => {\n const { editableConfig, editable, render } = props.fieldConfig;\n const editableComptProps = (editableConfig as EditableCheckboxGroupConfig).editableComptProps;\n const viewLabelList = useMemo(() => {\n if (editable) return [];\n const value = isArray(props.value) ? props.value : ([] as TAny[]);\n const options = (editableComptProps.options || []) as LabelValueItem[];\n if (!isArray(options) || options.length === 0) {\n return value.map((item) => ({ label: item, value: item }));\n }\n const returnList = [] as LabelValueItem[];\n value.forEach((item) => {\n const target = options.find((temp) => temp.value === item);\n returnList.push(target ? target : { label: item, value: item });\n });\n return returnList;\n }, [editable, editableComptProps.options, props.value]);\n\n const onChange = hooks.useCallbackRef((value) => {\n props.onChange?.(value);\n editableComptProps.onChange?.(value);\n });\n\n if (editable) {\n return <Checkbox.Group {...editableComptProps} value={props.value} onChange={onChange} />;\n }\n return (\n <span className=\"editable-checkbox-group-view\">\n {render\n ? render(props.value)\n : viewLabelList.map((tag, index) => (\n <Tag key={index} color=\"#1890ff\">\n {tag.label}\n </Tag>\n ))}\n </span>\n );\n};\n\nexport const CheckboxGroupFormItem = (props: EditableFormItemProps) => {\n const { formItemProps } = props.fieldConfig;\n\n return (\n <Form.Item\n {...formItemProps}\n name={props.name}\n className={classNames('editable-checkbox-group-form-item', formItemProps?.className)}\n >\n <CheckboxGroupFormItemContent {...props} />\n </Form.Item>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { Form } from 'antd';\nimport { DatePickerWrapper } from '../../date-picker-wrapper';\nimport { EditableDatePickerWrapperConfig, EditableFormItemProps } from '../type';\n\nexport const DatePickerWrapperFormItem = (props: EditableFormItemProps) => {\n const { formItemProps, editableConfig } = props.fieldConfig;\n return (\n <Form.Item\n {...formItemProps}\n name={props.name}\n className={classNames('editable-date-picker-wraper-form-item', formItemProps?.className)}\n >\n <DatePickerWrapper\n allowClear\n {...(editableConfig as EditableDatePickerWrapperConfig).editableComptProps}\n />\n </Form.Item>\n );\n};\n","import { isArray } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { hooks } from '@wove/react';\nimport { Form } from 'antd';\nimport { useMemo } from 'react';\nimport { DateRangePickerWrapper } from '../../date-range-picker-wrapper';\nimport { EditableDateRangePickerWrapperConfig, EditableFormItemProps } from '../type';\n\ntype FormItemContentProps = Omit<EditableFormItemProps, 'formItemProps'> & {\n value?: [string, string];\n onChange?: (value?: [string, string]) => void;\n};\n\nconst FormItemContent = (props: FormItemContentProps) => {\n const { editableConfig, editable, render } = props.fieldConfig;\n const editableComptProps = (editableConfig as EditableDateRangePickerWrapperConfig).editableComptProps;\n\n const onChange = hooks.useCallbackRef((data) => {\n props.onChange?.(data);\n editableComptProps?.onChange?.(data);\n });\n\n const viewLabel = useMemo(() => {\n const value = isArray(props.value) ? props.value : ([] as any[]);\n if (editable) return undefined;\n return value.join('~');\n }, [editable, props.value]);\n\n if (editable) {\n return (\n <DateRangePickerWrapper allowClear {...editableComptProps} value={props.value} onChange={onChange} />\n );\n }\n return <span className=\"editable-date-range-picker-view\">{render ? render(props.value) : viewLabel}</span>;\n};\n\nexport const DateRangePickerWrapperFormItem = (props: EditableFormItemProps) => {\n const { formItemProps } = props.fieldConfig;\n return (\n <Form.Item\n {...formItemProps}\n name={props.name}\n className={classNames('editable-date-range-picker-wraper-form-item', formItemProps?.className)}\n >\n <FormItemContent {...props} />\n </Form.Item>\n );\n};\n","import { Form } from 'antd';\nimport { InputWrapper } from '../../input-wrapper';\nimport { EditableFormItemProps, EditableInputConfig } from '../type';\n\nexport const InputFormItem = (props: EditableFormItemProps) => {\n const { formItemProps, editableConfig } = props.fieldConfig;\n\n return (\n <Form.Item {...formItemProps} name={props.name}>\n <InputWrapper allowClear {...(editableConfig as EditableInputConfig).editableComptProps} />\n </Form.Item>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { Form, InputNumber } from 'antd';\nimport { EditableFormItemProps, EditableInputNumberConfig } from '../type';\n\nexport const InputNumberFormItem = (props: EditableFormItemProps) => {\n const { formItemProps, editableConfig } = props.fieldConfig;\n return (\n <Form.Item\n {...formItemProps}\n name={props.name}\n className={classNames('editable-input-number-form-item', formItemProps?.className)}\n >\n <InputNumber {...(editableConfig as EditableInputNumberConfig).editableComptProps} />\n </Form.Item>\n );\n};\n","import { isArray } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { LabelValueItem } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Form, Radio, Tag } from 'antd';\nimport { useMemo } from 'react';\nimport { fbaHooks } from '../../fba-hooks';\nimport { EditableFormItemProps, EditableRadioGroupConfig } from '../type';\n\ntype RadioGroupFormItemContent = Omit<EditableFormItemProps, 'formItemProps'> & {\n value?: string | number;\n onChange?: (value: string | number) => void;\n};\n\nconst RadioGroupFormItemContent = (props: RadioGroupFormItemContent) => {\n const { editableConfig, editable, render } = props.fieldConfig;\n const editableComptProps = (editableConfig as EditableRadioGroupConfig).editableComptProps;\n\n const theme = fbaHooks.useThemeToken();\n\n const viewLabel = useMemo(() => {\n if (editable) return [];\n const value = props.value;\n const options = (editableComptProps.options || []) as LabelValueItem<string | number>[];\n if (!isArray(options) || options.length === 0) {\n return value;\n }\n const target = options.find((item) => item.value === value);\n return target?.label || value;\n }, [editable, editableComptProps.options, props.value]);\n\n const onChange = hooks.useCallbackRef((e) => {\n props.onChange?.(e.target.value as string | number);\n editableComptProps.onChange?.(e);\n });\n\n if (editable) {\n return <Radio.Group {...editableComptProps} value={props.value} onChange={onChange} />;\n }\n return (\n <span className=\"editable-radio-group-view\">\n {render ? render(props.value) : viewLabel ? <Tag color={theme.colorPrimary}>{viewLabel}</Tag> : null}\n </span>\n );\n};\n\nexport const RadioGroupFormItem = (props: EditableFormItemProps) => {\n const { formItemProps } = props.fieldConfig;\n\n return (\n <Form.Item\n {...formItemProps}\n name={props.name}\n className={classNames('editable-radio-group-form-item', formItemProps?.className)}\n >\n <RadioGroupFormItemContent {...props} />\n </Form.Item>\n );\n};\n","import { isArray } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { arrayField2LabelValue, LabelValueItem, TAny, TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Form, Tag } from 'antd';\nimport { Fragment, useEffect, useState } from 'react';\nimport { fbaHooks } from '../../fba-hooks';\nimport { SelectorWrapper } from '../../selector-wrapper';\nimport { EditableFormItemProps, EditableSelectWrapperConfig } from '../type';\n\ntype FormItemContentProps = Omit<EditableFormItemProps, 'formItemProps'> & {\n value?: string | number | Array<string | number>;\n onChange?: (value: TAny) => void;\n};\n\nconst FormItemContent = (props: FormItemContentProps) => {\n const { editableConfig, editable, render } = props.fieldConfig;\n const editableComptProps = (editableConfig as EditableSelectWrapperConfig).editableComptProps;\n const [selectorList, setSelectorList] = useState<LabelValueItem[]>([]);\n const [viewLabelList, setviewLabelList] = useState<LabelValueItem[]>([]);\n const theme = fbaHooks.useThemeToken();\n\n useEffect(() => {\n if (!editable) {\n const value = isArray(props.value) ? props.value : props.value === undefined ? [] : [props.value];\n if (selectorList.length === 0) {\n setviewLabelList(value.map((item) => ({ label: item as string, value: item })));\n }\n const returnList = [] as LabelValueItem[];\n value.forEach((item) => {\n const target = selectorList.find((temp) => temp.value === item);\n returnList.push(target ? target : { label: String(item), value: item });\n });\n setviewLabelList(returnList);\n }\n }, [editable, editableComptProps.fieldNames, props.value, selectorList]);\n\n const onSelectorListAllChange = hooks.useCallbackRef((dataList: TPlainObject[]) => {\n setSelectorList(arrayField2LabelValue(dataList || [], editableComptProps.fieldNames));\n });\n\n const onChange = hooks.useCallbackRef((value, selectList) => {\n props.onChange?.(value);\n editableComptProps.onChange?.(value, selectList);\n });\n\n if (editable) {\n return (\n <SelectorWrapper\n {...editableComptProps}\n value={props.value}\n onChange={onChange}\n onSelectorListAllChange={onSelectorListAllChange}\n />\n );\n }\n return (\n <Fragment>\n <div style={{ display: 'none' }}>\n <SelectorWrapper {...editableComptProps} onSelectorListAllChange={onSelectorListAllChange} />\n </div>\n <span className=\"editable-selector-view\">\n {render\n ? render(props.value, selectorList)\n : viewLabelList.map((tag, index) => (\n <Tag key={index} color={theme.colorPrimary}>\n {tag.label}\n </Tag>\n ))}\n </span>\n </Fragment>\n );\n};\n\nexport const SelectorWrapperFormItem = (props: EditableFormItemProps) => {\n const { formItemProps } = props.fieldConfig;\n\n return (\n <Form.Item\n {...formItemProps}\n name={props.name}\n className={classNames('editable-selector-wrapper-form-item', formItemProps?.className)}\n >\n <FormItemContent {...props} />\n </Form.Item>\n );\n};\n","import { isBoolean, isNumber, isString } from '@dimjs/lang';\nimport { Form } from 'antd';\nimport { useMemo } from 'react';\nimport { EditableFormItemProps, FieldSingleConfig } from '../type';\n\nconst FormItemTextContent = (props: {\n value?: string | number;\n name: EditableFormItemProps['name'];\n fieldConfig?: FieldSingleConfig;\n}) => {\n const value = useMemo(() => {\n if (props.fieldConfig?.render) return undefined;\n const isBaseData =\n isString(props.value) || isNumber(props.value) || isBoolean(props.value) || !props.value;\n if (!isBaseData) {\n console.warn(`Form.List name:【${props.name}】数据【${JSON.stringify(props.value)}】不能渲染在页面中`);\n }\n return isBaseData ? props.value : undefined;\n }, [props.fieldConfig?.render, props.name, props.value]);\n const viewText = props.fieldConfig?.render?.(props.value) || value;\n return <span>{viewText}</span>;\n};\n\nexport const TextFormItem = (props: { name: Array<number | string>; fieldConfig?: FieldSingleConfig }) => {\n return (\n <Form.Item noStyle name={props.name}>\n <FormItemTextContent name={props.name} fieldConfig={props.fieldConfig} />\n </Form.Item>\n );\n};\n","import { Form } from 'antd';\nimport { InputTextAreaWrapper } from '../../input-text-area-wrapper';\nimport { EditableFormItemProps, EditableTextareaConfig } from '../type';\n\nexport const TextAreaFormItem = (props: EditableFormItemProps) => {\n const { formItemProps, editableConfig } = props.fieldConfig;\n return (\n <Form.Item {...formItemProps} name={props.name}>\n <InputTextAreaWrapper {...(editableConfig as EditableTextareaConfig).editableComptProps} />\n </Form.Item>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { TAny } from '@flatbiz/utils';\nimport { Form } from 'antd';\nimport { UploadWrapper } from '../../upload-wrapper';\nimport { EditableFileUploadConfig, EditableFormItemProps } from '../type';\n\nconst UploadWrapperFormItemContent = (\n props: EditableFormItemProps & { value?: TAny; onChange?: (value?: TAny) => void },\n) => {\n const { editableConfig, render, editable } = props.fieldConfig;\n const { children, ...otherProps } = (editableConfig as EditableFileUploadConfig).editableComptProps;\n if (editable) {\n return (\n <UploadWrapper listType=\"text\" {...otherProps} value={props.value} onChange={props.onChange}>\n {children}\n </UploadWrapper>\n );\n }\n return (\n <div className=\"upload-wrapper-selector-view\">\n {render ? (\n render(props.value)\n ) : (\n <UploadWrapper listType=\"text\" {...otherProps} value={props.value} disabled={true} />\n )}\n </div>\n );\n};\n\nexport const UploadWrapperFormItem = (props: EditableFormItemProps) => {\n const { formItemProps } = props.fieldConfig;\n return (\n <Form.Item\n {...formItemProps}\n name={props.name}\n className={classNames('editable-upload-wrapper-form-item', formItemProps?.className)}\n >\n <UploadWrapperFormItemContent {...props} />\n </Form.Item>\n );\n};\n","import { extend } from '@dimjs/utils';\nimport { FieldSingleConfig } from '../type';\nimport { getEditable } from '../utils';\nimport { CheckboxGroupFormItem } from './checkbox-group';\nimport { DatePickerWrapperFormItem } from './date-picker-wrapper';\nimport { DateRangePickerWrapperFormItem } from './date-range-picker-wrapper';\nimport { InputFormItem } from './input';\nimport { InputNumberFormItem } from './input-number';\nimport { RadioGroupFormItem } from './radio-group';\nimport { SelectorWrapperFormItem } from './selector-wrapper';\nimport { TextFormItem } from './text';\nimport { TextAreaFormItem } from './textarea';\nimport { UploadWrapperFormItem } from './upload-wrapper';\n\nexport type FormItemAdapterProps = {\n name: Array<number | string>;\n completeName: Array<number | string>;\n fieldConfig: FieldSingleConfig;\n tableRowIndex: number;\n};\n\nexport const FormItemAdapter = (props: FormItemAdapterProps) => {\n const { editableConfig, editable } = props.fieldConfig;\n const newEditable = getEditable(editable, props.tableRowIndex);\n const fieldConfig = extend({}, props.fieldConfig, { editable: newEditable });\n\n const commomProps = {\n name: props.name,\n fieldConfig,\n };\n\n if (editableConfig?.type === 'input' && newEditable) {\n return <InputFormItem {...commomProps} />;\n } else if (editableConfig?.type === 'inputNumber' && newEditable) {\n return <InputNumberFormItem {...commomProps} />;\n } else if (editableConfig?.type === 'textArea' && newEditable) {\n return <TextAreaFormItem {...commomProps} />;\n } else if (editableConfig?.type === 'datePickerWrapper' && newEditable) {\n return <DatePickerWrapperFormItem {...commomProps} />;\n } else if (editableConfig?.type === 'dateRangePickerWrapper') {\n return <DateRangePickerWrapperFormItem {...commomProps} />;\n } else if (editableConfig?.type === 'selectorWrapper') {\n return <SelectorWrapperFormItem {...commomProps} />;\n } else if (editableConfig?.type === 'checkboxGroup') {\n return <CheckboxGroupFormItem {...commomProps} />;\n } else if (editableConfig?.type === 'radioGroup') {\n return <RadioGroupFormItem {...commomProps} />;\n } else if (editableConfig?.type === 'uploadWrapper') {\n return <UploadWrapperFormItem {...commomProps} />;\n } else if (editableConfig?.type === 'custom') {\n return editableConfig.editableComptProps({\n name: props.name,\n editable: newEditable,\n completeName: props.completeName,\n tableRowIndex: props.tableRowIndex,\n });\n }\n\n return <TextFormItem {...commomProps} />;\n};\n","import { DeleteOutlined } from '@ant-design/icons';\nimport { classNames } from '@dimjs/utils';\nimport { Button, Form, Space } from 'antd';\nimport { FormItemAdapter } from '../form-item';\nimport { FormListConfig } from '../type';\nimport { getEditable } from '../utils';\n\nexport type FormListProps = {\n name: Array<number | string>;\n formListConfig: FormListConfig;\n tableRowIndex: number;\n completeName: (string | number)[];\n};\n\nexport const FormList = (props: FormListProps) => {\n const from = Form.useFormInstance();\n const {\n onFormListBeforeRender,\n editableConfigList,\n onFormListAfterRender,\n onFormListItemBeforeRender,\n onFormListItemAfterRender,\n deleteOperateRender,\n } = props.formListConfig;\n return (\n <Form.List name={props.name}>\n {(fields, { add, remove }) => (\n <>\n {onFormListBeforeRender\n ? onFormListBeforeRender({\n tableRowIndex: props.tableRowIndex,\n add,\n get value() {\n return from.getFieldValue(props.completeName);\n },\n })\n : null}\n {fields.map((fieldChild, index) => {\n const hasEditable = editableConfigList.find((item) =>\n getEditable(item.editable, props.tableRowIndex),\n );\n const className = classNames(\n 'editable-inner-formlist-item',\n `editable-inner-formlist-item-${props.name[1]}`,\n { 'editable-inner-formlist-item_preview': !hasEditable },\n );\n return (\n <div key={index} className={className}>\n {onFormListItemBeforeRender?.({\n add,\n remove: () => {\n remove(index);\n },\n formListItemIndex: index,\n tableRowIndex: props.tableRowIndex,\n get value() {\n return from.getFieldValue([...props.completeName, fieldChild.name]);\n },\n })}\n <Space>\n {editableConfigList.map((fieldItem, index) => {\n return (\n <FormItemAdapter\n name={[fieldChild.name, fieldItem.fieldName]}\n fieldConfig={fieldItem}\n key={index}\n tableRowIndex={props.tableRowIndex}\n completeName={[...props.completeName, fieldChild.name]}\n />\n );\n })}\n {hasEditable ? (\n <DeleteFormListItem\n deleteOperateRender={deleteOperateRender}\n remove={() => {\n remove(index);\n }}\n index={index}\n />\n ) : undefined}\n </Space>\n {onFormListItemAfterRender?.({\n add,\n formListItemIndex: index,\n tableRowIndex: props.tableRowIndex,\n remove: () => {\n remove(index);\n },\n get value() {\n return from.getFieldValue([...props.completeName, fieldChild.name]);\n },\n })}\n </div>\n );\n })}\n {onFormListAfterRender\n ? onFormListAfterRender({\n tableRowIndex: props.tableRowIndex,\n add,\n get value() {\n return from.getFieldValue(props.completeName);\n },\n })\n : null}\n </>\n )}\n </Form.List>\n );\n};\n\nconst DeleteFormListItem = (props: {\n deleteOperateRender: FormListConfig['deleteOperateRender'];\n remove: () => void;\n index: number;\n}) => {\n return (\n <Form.Item>\n {props.deleteOperateRender ? (\n props.deleteOperateRender({ remove: props.remove, formListItemIndex: props.index })\n ) : (\n <Button type=\"link\" danger icon={<DeleteOutlined />} onClick={props.remove}>\n 删除\n </Button>\n )}\n </Form.Item>\n );\n};\n","import { isArray } from '@dimjs/lang';\nimport { Form, Input } from 'antd';\nimport { Fragment } from 'react';\nimport { FormItemAdapter } from '../form-item';\nimport { TextFormItem } from '../form-item/text';\nimport { FieldSingleConfig, FormListConfig } from '../type';\nimport { FormList } from './form-list';\n\nexport type FormListItemProps = {\n name: Array<number | string>;\n fieldConfig?: FieldSingleConfig | FormListConfig;\n tableRowIndex: number;\n completeName: (string | number)[];\n hiddenField?: { dataIndex: string };\n};\n\nexport const FormListItem = (props: FormListItemProps) => {\n if (props.fieldConfig) {\n if (isArray(props.fieldConfig['editableConfigList'])) {\n const formListConfig = props.fieldConfig as FormListConfig;\n return (\n <FormList\n name={props.name}\n completeName={props.completeName}\n formListConfig={formListConfig}\n tableRowIndex={props.tableRowIndex}\n />\n );\n } else {\n return (\n <Fragment>\n <FormItemAdapter\n name={props.name}\n fieldConfig={props.fieldConfig as FieldSingleConfig}\n tableRowIndex={props.tableRowIndex}\n completeName={props.completeName}\n />\n {props.hiddenField ? (\n <Form.Item hidden={true} name={props.hiddenField.dataIndex}>\n <Input />\n </Form.Item>\n ) : null}\n </Fragment>\n );\n }\n }\n return <TextFormItem name={props.name} />;\n};\n","import { PlusOutlined } from '@ant-design/icons';\nimport { TAny, toArray } from '@flatbiz/utils';\nimport { Form, FormListOperation, Table, TableProps } from 'antd';\nimport { FormListProps } from 'antd/es/form';\nimport { ColumnsType } from 'antd/lib/table';\nimport { Fragment, ReactElement, useMemo } from 'react';\nimport { ButtonWrapper } from '../button-wrapper';\nimport { FormListItem } from './form-list-item';\nimport './style.less';\nimport { EditableTableName, EditableTableRecordType, FieldSingleConfig, FormListConfig } from './type';\n\ntype fieldConfigFunctionParams = {\n tableRowIndex: number;\n name: EditableTableName;\n tableRowName: EditableTableName;\n};\n/**\n * antd 默认render功能此处不能使用\n */\nexport type EditableTableColumn = Omit<ColumnsType['0'], 'render'> & {\n dataIndex?: string;\n fieldConfig?:\n | FieldSingleConfig\n | FormListConfig\n | ((data: fieldConfigFunctionParams) => FieldSingleConfig | FormListConfig);\n /** 隐藏域字段 */\n hiddenField?: {\n dataIndex: string;\n };\n /**\n * 渲染中间件,如果renderMiddleware返回值为ReactElement格式,则会终止后续逻辑,fieldConfig配置将失效\n * ```\n * 1. tableRowIndex: 当前row的索引值\n * 2. name: 当前table单元格的form.item的name值\n * 3. operation Form.List的操作函数\n * ```\n */\n renderMiddleware?: (item: {\n tableRowIndex: number;\n name: EditableTableName;\n tableRowName: EditableTableName;\n operation: FormListOperation;\n index: number;\n }) => ReactElement | null;\n};\n\nexport type EditableTableProps = {\n name: EditableTableName;\n /**\n * ```\n * antd table属性\n * 1. 新增cellVerticalAlign,单元格竖直方向对齐方式,设置table column onCell属性后失效\n * ```\n */\n tableProps?: Omit<TableProps<EditableTableRecordType>, 'dataSource' | 'columns' | 'rowKey'> & {\n cellVerticalAlign?: 'baseline' | 'middle' | 'top' | 'bottom';\n };\n columns: EditableTableColumn[];\n onTableBeforeRender?: (formListOperation: FormListOperation, nextRowIndex: number) => ReactElement | null;\n /**\n * 设置后,将覆盖底部`新增`按钮\n */\n onTableAfterRender?: (formListOperation: FormListOperation, nextRowIndex: number) => ReactElement | null;\n rules?: FormListProps['rules'];\n /** 隐藏底部`新增`按钮,设置 onTableAfterRender后 失效 */\n hiddenFooterBtn?: boolean;\n};\n\nexport const EditableTable = (props: EditableTableProps) => {\n const columns = useMemo(() => {\n if (!props.columns) return [];\n return props.columns.map((columnItem) => {\n const { fieldConfig, renderMiddleware, ...otherColumnItem } = columnItem;\n return {\n onCell: () => {\n return {\n valign: props.tableProps?.cellVerticalAlign || 'middle',\n };\n },\n ...otherColumnItem,\n _render: (_value, record, index) => {\n const tableRowName = [...toArray<string | number>(props.name as TAny), record.name];\n const completeName = columnItem.dataIndex ? [...tableRowName, columnItem.dataIndex] : tableRowName;\n const customRender = renderMiddleware?.({\n name: completeName,\n tableRowIndex: record.name,\n operation: record.operation,\n tableRowName,\n index,\n });\n if (customRender) {\n return customRender;\n }\n\n const fieldConfigActual =\n typeof fieldConfig === 'function'\n ? fieldConfig({\n name: completeName,\n tableRowIndex: record.name,\n tableRowName,\n })\n : fieldConfig;\n return (\n <FormListItem\n name={columnItem.dataIndex ? [record.name, columnItem.dataIndex] : [record.name]}\n completeName={completeName}\n fieldConfig={fieldConfigActual}\n tableRowIndex={record.name}\n hiddenField={columnItem.hiddenField}\n />\n );\n },\n get render() {\n return this._render;\n },\n set render(value) {\n this._render = value;\n },\n };\n }) as ColumnsType<EditableTableRecordType>;\n }, [props.columns, props.name, props.tableProps?.cellVerticalAlign]);\n\n return (\n <div className=\"editable-table\">\n <Form.List name={props.name} rules={props.rules}>\n {(fields, formListOperation) => {\n return (\n <Fragment>\n {props.onTableBeforeRender ? props.onTableBeforeRender(formListOperation, fields.length) : null}\n <Table\n scroll={{ x: 'max-content' }}\n pagination={false}\n rowKey=\"key\"\n {...props.tableProps}\n dataSource={fields.map((item) => ({ ...item, operation: formListOperation }))}\n columns={columns}\n />\n {props.onTableAfterRender ? (\n props.onTableAfterRender(formListOperation, fields.length)\n ) : (\n <ButtonWrapper\n type=\"dashed\"\n hidden={props.hiddenFooterBtn}\n onClick={() => formListOperation.add()}\n block\n icon={<PlusOutlined />}\n style={{ marginTop: 15 }}\n >\n 新增\n </ButtonWrapper>\n )}\n </Fragment>\n );\n }}\n </Form.List>\n </div>\n );\n};\n"],"names":["getEditable","editable","tableRowIndex","CheckboxGroupFormItemContent","props","_props$fieldConfig","fieldConfig","editableConfig","render","editableComptProps","viewLabelList","useMemo","value","_isArray","options","length","map","item","label","returnList","forEach","target","find","temp","push","onChange","_hooks","useCallbackRef","_jsx","Checkbox","Group","_extends","className","children","tag","index","Tag","color","CheckboxGroupFormItem","formItemProps","Form","Item","name","_classNames","DatePickerWrapperFormItem","DatePickerWrapper","allowClear","FormItemContent","data","viewLabel","undefined","join","DateRangePickerWrapper","DateRangePickerWrapperFormItem","InputFormItem","InputWrapper","InputNumberFormItem","InputNumber","RadioGroupFormItemContent","theme","fbaHooks","useThemeToken","e","Radio","colorPrimary","RadioGroupFormItem","_useState","useState","selectorList","setSelectorList","_useState2","setviewLabelList","useEffect","String","fieldNames","onSelectorListAllChange","dataList","arrayField2LabelValue","selectList","SelectorWrapper","_jsxs","Fragment","style","display","SelectorWrapperFormItem","FormItemTextContent","_props$fieldConfig2","_props$fieldConfig3","isBaseData","_isString","_isNumber","_isBoolean","console","warn","JSON","stringify","viewText","TextFormItem","noStyle","TextAreaFormItem","InputTextAreaWrapper","UploadWrapperFormItemContent","_editableComptProps","otherProps","_objectWithoutPropertiesLoose","_excluded","UploadWrapper","listType","disabled","UploadWrapperFormItem","FormItemAdapter","newEditable","_extend","commomProps","type","completeName","FormList","from","useFormInstance","_props$formListConfig","formListConfig","onFormListBeforeRender","editableConfigList","onFormListAfterRender","onFormListItemBeforeRender","onFormListItemAfterRender","deleteOperateRender","List","fields","_ref","add","remove","_Fragment","getFieldValue","fieldChild","hasEditable","formListItemIndex","concat","Space","fieldItem","fieldName","DeleteFormListItem","Button","danger","icon","_DeleteOutlined","onClick","FormListItem","hiddenField","hidden","dataIndex","Input","EditableTable","_props$tableProps2","columns","columnItem","renderMiddleware","otherColumnItem","onCell","_props$tableProps","valign","tableProps","cellVerticalAlign","_render","_value","record","tableRowName","toArray","customRender","operation","fieldConfigActual","this","rules","formListOperation","onTableBeforeRender","Table","scroll","x","pagination","rowKey","dataSource","onTableAfterRender","ButtonWrapper","hiddenFooterBtn","block","_PlusOutlined","marginTop"],"mappings":"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"}
|
|
@@ -3,5 +3,5 @@ import './../fba-hooks/index.css';
|
|
|
3
3
|
import './../flex-layout/index.css';
|
|
4
4
|
import './index.css';
|
|
5
5
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
6
|
-
import{a as e}from"../_rollupPluginBabelHelpers-1f4d8910.js";import{classNames as r}from"@dimjs/utils/cjs/class-names";import{fbaHooks as t}from"../fba-hooks/index.js";import{jsxs as i,jsx as o}from"react/jsx-runtime";import{Form as l}from"antd";import{useMemo as n,isValidElement as a,cloneElement as s}from"react";import{F as m}from"../flex-layout-8d2b668b.js";import"@dimjs/lang/cjs/is-array";import"@wove/react/cjs/hooks";import"../use-responsive-point-21b8c601.js";import"@flatbiz/utils";var f=function l(n){var a;var s="form-item-group-card";var m=t.useThemeToken();var f={"--form-item-group-colorPrimary":m.colorPrimary};return i("div",{className:r(s,n.className),style:e({},f,n.style),children:[n.title?o("div",{className:r(s+"-title",(a={},a[s+"-title-sign"]=n.titleSign===true,a)),children:n.title}):null,n.children]})};f.defaultProps={titleSign:true};var u=function t(i){var f=n((function(){var r=[];var t=[];var l=i.groupConfigList.filter((function(e){return!e.hidden}));l.forEach((function(i){if(i.before){t.push(a(i.before)?i.before:o("div",{className:"union-before-text",children:i.before}))}if(i.width){t.push(s(i.mainItem,{style:e({width:i.width},i.mainItem.props.style)}))}else{r.push(t.length);t.push(i.mainItem)}if(i.after){t.push(a(i.after)?i.after:o("div",{className:"union-after-text",children:i.after}))}}));return{flexElementList:t,fullIndex:r}}),[i.groupConfigList]);return o(l.Item,{label:i.label,className:r("form-item-group-horizontal-union",i.className),style:i.style,hidden:i.hidden,required:i.required,colon:i.colon,children:o(m,{direction:"horizontal",gap:i.gap===undefined?15:i.gap,fullIndex:f.fullIndex,style:i.flexLayoutStyle,children:f.flexElementList.map((function(e,r){return s(e,{key:r})}))})})};var
|
|
6
|
+
import{a as e}from"../_rollupPluginBabelHelpers-1f4d8910.js";import{classNames as r}from"@dimjs/utils/cjs/class-names";import{fbaHooks as t}from"../fba-hooks/index.js";import{jsxs as i,jsx as o}from"react/jsx-runtime";import{Form as l}from"antd";import{useMemo as n,isValidElement as a,cloneElement as s}from"react";import{F as m}from"../flex-layout-8d2b668b.js";import"@dimjs/lang/cjs/is-array";import"@wove/react/cjs/hooks";import"../use-responsive-point-21b8c601.js";import"@flatbiz/utils";var f=function l(n){var a;var s="form-item-group-card";var m=t.useThemeToken();var f={"--form-item-group-colorPrimary":m.colorPrimary};return i("div",{className:r(s,n.className),style:e({},f,n.style),children:[n.title?o("div",{className:r(s+"-title",(a={},a[s+"-title-sign"]=n.titleSign===true,a)),children:n.title}):null,n.children]})};f.defaultProps={titleSign:true};var u=function t(i){var f=n((function(){var r=[];var t=[];var l=i.groupConfigList.filter((function(e){return!e.hidden}));l.forEach((function(i){if(i.before){t.push(a(i.before)?i.before:o("div",{className:"union-before-text",children:i.before}))}if(i.width){t.push(s(i.mainItem,{style:e({width:i.width},i.mainItem.props.style)}))}else{r.push(t.length);t.push(i.mainItem)}if(i.after){t.push(a(i.after)?i.after:o("div",{className:"union-after-text",children:i.after}))}}));return{flexElementList:t,fullIndex:r}}),[i.groupConfigList]);return o(l.Item,{label:i.label,className:r("form-item-group-horizontal-union",i.className),style:i.style,hidden:i.hidden,required:i.required,colon:i.colon,children:o(m,{direction:"horizontal",gap:i.gap===undefined?15:i.gap,fullIndex:f.fullIndex,style:i.flexLayoutStyle,children:f.flexElementList.map((function(e,r){return s(e,{key:r})}))})})};var d={HorizontalUnion:u,Card:f};export{d as FormItemGroup};
|
|
7
7
|
//# sourceMappingURL=index.js.map
|
package/esm/index.js
CHANGED
|
@@ -26,8 +26,7 @@ import './dialog-alert/index.css';
|
|
|
26
26
|
import './dialog-drawer/index.css';
|
|
27
27
|
import './dialog-loading/index.css';
|
|
28
28
|
import './drag-collapse/index.css';
|
|
29
|
-
import './drag-
|
|
30
|
-
import './drag-drop-multi/index.css';
|
|
29
|
+
import './drag-collapse-form-list/index.css';
|
|
31
30
|
import './drawer-wrapper/index.css';
|
|
32
31
|
import './dynamic-node/index.css';
|
|
33
32
|
import './easy-table/index.css';
|
|
@@ -84,5 +83,5 @@ import './tree-selector-wrapper/index.css';
|
|
|
84
83
|
import './tree-wrapper/index.css';
|
|
85
84
|
import './index.css';
|
|
86
85
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
87
|
-
export{A as AnchorSteps}from"./anchor-steps-fba86c87.js";export{a as ButtonOperate,B as ButtonOperateItemContent}from"./button-operate-fb40320e.js";export{B as ButtonWrapper}from"./button-wrapper-125fce50.js";export{C as CascaderWrapper}from"./cascader-wrapper-a965eef5.js";export{CheckList}from"./check-list/index.js";export{C as CheckboxWrapper}from"./checkbox-wrapper-018a5c59.js";export{C as ConfigProviderWrapper}from"./config-provider-wrapper-dfe8f592.js";export{createDrawerWrapperModel}from"./create-drawer-wrapper-model/index.js";export{createModalWrapperModel}from"./create-modal-wrapper-model/index.js";export{C as CssNodeHover}from"./css-node-hover-ed7b9860.js";export{D as DataRender}from"./data-render-07c0ab6b.js";export{D as DatePickerWrapper}from"./date-picker-wrapper-ba650858.js";export{D as DateRangePickerWrapper}from"./date-range-picker-wrapper-fb15c592.js";export{D as DateRangePickerWrapperFormItem}from"./date-range-picker-wrapper-form-item-688cf465.js";export{d as dialogAlert}from"./dialog-alert-89d37729.js";export{d as dialogConfirm}from"./dialog-confirm-74fc9337.js";export{d as dialogDrawer}from"./dialog-drawer-7cb5c6df.js";export{d as dialogLoading}from"./dialog-loading-16bd1baa.js";export{d as dialogModal}from"./dialog-modal-4a0c72c5.js";export{D as DragCollapse}from"./drag-collapse-
|
|
86
|
+
export{A as AnchorSteps}from"./anchor-steps-fba86c87.js";export{a as ButtonOperate,B as ButtonOperateItemContent}from"./button-operate-fb40320e.js";export{B as ButtonWrapper}from"./button-wrapper-125fce50.js";export{C as CascaderWrapper}from"./cascader-wrapper-a965eef5.js";export{CheckList}from"./check-list/index.js";export{C as CheckboxWrapper}from"./checkbox-wrapper-018a5c59.js";export{C as ConfigProviderWrapper}from"./config-provider-wrapper-dfe8f592.js";export{createDrawerWrapperModel}from"./create-drawer-wrapper-model/index.js";export{createModalWrapperModel}from"./create-modal-wrapper-model/index.js";export{C as CssNodeHover}from"./css-node-hover-ed7b9860.js";export{D as DataRender}from"./data-render-07c0ab6b.js";export{D as DatePickerWrapper}from"./date-picker-wrapper-ba650858.js";export{D as DateRangePickerWrapper}from"./date-range-picker-wrapper-fb15c592.js";export{D as DateRangePickerWrapperFormItem}from"./date-range-picker-wrapper-form-item-688cf465.js";export{d as dialogAlert}from"./dialog-alert-89d37729.js";export{d as dialogConfirm}from"./dialog-confirm-74fc9337.js";export{d as dialogDrawer}from"./dialog-drawer-7cb5c6df.js";export{d as dialogLoading}from"./dialog-loading-16bd1baa.js";export{d as dialogModal}from"./dialog-modal-4a0c72c5.js";export{D as DragCollapse}from"./drag-collapse-3c346eb4.js";export{D as DragCollapseFormList}from"./drag-collapse-e3c99c6d.js";export{D as DrawerWrapper}from"./drawer-wrapper-9af2f178.js";export{D as DropdownMenuWrapper}from"./dropdown-menu-wrapper-98347af8.js";export{d as dynamicNode}from"./dynamic-node-c7864af4.js";export{EasyTable}from"./easy-table/index.js";export{E as EditableField}from"./editable-field-6801d833.js";export{E as EditableFieldProvider}from"./editable-field-provider-20963c3e.js";export{E as EditableTable}from"./editable-table-392040f7.js";export{E as EditorWrapper}from"./editor-wrapper-ff6e75b7.js";export{fbaHooks}from"./fba-hooks/index.js";export{f as fbaUtils}from"./fba-utils-f9e11d02.js";export{F as FileImport}from"./file-import-890a1df9.js";export{F as FlexLayout}from"./flex-layout-8d2b668b.js";export{FormGrid}from"./form-grid/index.js";export{FormItemGroup}from"./form-item-group/index.js";export{F as FormItemHidden}from"./form-item-hidden-45541774.js";export{F as FormItemWrapper}from"./form-item-wrapper-dfe2ebd9.js";export{G as Gap}from"./gap-284e1f59.js";export{I as IconWrapper}from"./icon-wrapper-ed5fcacc.js";export{I as InputSearchWrapper}from"./input-search-wrapper-10d4a9b9.js";export{I as InputTextAreaWrapper}from"./input-text-area-wrapper-c958fba0.js";export{I as InputWrapper}from"./input-wrapper-b378eb5a.js";export{L as LabelValueLayout}from"./label-value-layout-beb35b0d.js";export{LocalLoading}from"./local-loading/index.js";export{M as ModalAction}from"./modal-action-5c5ca8a7.js";export{M as ModalWrapper}from"./modal-wrapper-ff8df98b.js";export{P as PageFixedFooter}from"./page-fixed-footer-9ec2b46c.js";export{P as Page404}from"./page404-f087129a.js";export{P as Permission}from"./permission-17ed4d0b.js";export{preDefinedClassName}from"./pre-defined-class-name/index.js";export{R as RadioGroupWrapper}from"./radio-group-wrapper-b34746d1.js";export{R as RelationTree}from"./relation-tree-7bec12bd.js";export{R as RequestStatus}from"./request-status-03fc60e2.js";export{R as RichTextEditor}from"./rich-text-editor-c8bac6d2.js";export{R as RichTextViewer}from"./rich-text-viewer-3bf4569a.js";export{R as RollLocationCenter}from"./center-a4dfda6f.js";export{R as RollLocationInView}from"./in-view-448ba714.js";export{R as RuleDescribe}from"./rule-describe-b4a8e831.js";export{S as SelectorWrapper}from"./selector-wrapper-91427b7d.js";export{S as SelectorWrapperSearch}from"./selector-wrapper-search-dade1b6b.js";export{S as SelectorWrapperSimple}from"./selector-wrapper-simple-1c0ceae7.js";export{S as SimpleLayout}from"./simple-layout-1cd0fefc.js";export{S as SmsCountDown}from"./sms-count-down-c2609386.js";export{styles}from"./styles/index.js";export{S as SwitchConfirmWrapper}from"./switch-confirm-wrapper-4857f2a9.js";export{S as SwitchWrapper}from"./switch-wrapper-f20b9a58.js";export{t as tableCellRender}from"./cell-render-2a3743af.js";export{T as TableScrollbar}from"./table-scrollbar-66c1682c.js";export{T as TableTitleTooltip}from"./title-render-2874a932.js";export{T as TabsWrapper}from"./tabs-wrapper-0a2da713.js";export{T as TagGroup}from"./tag-group-4fbcaa14.js";export{T as TagListSelect}from"./tag-list-select-066f682f.js";export{T as TagWrapper}from"./tag-wrapper-6d8b505e.js";export{T as TextCssEllipsis}from"./text-css-ellipsis-9135d4c5.js";export{T as TextOverflowRender}from"./text-overflow-render-7a6541f5.js";export{T as TimePickerWrapper}from"./time-picker-wrapper-f1d26d96.js";export{T as TimeRangePickerWrapper}from"./time-range-picker-wrapper-be9850b5.js";export{T as TimeRangePickerWrapperFormItem}from"./time-range-picker-wrapper-form-item-9df6c0f4.js";export{T as TreeSelectorWrapper}from"./tree-selector-wrapper-9cd9da23.js";export{TreeWrapper}from"./tree-wrapper/index.js";export{U as UploadWrapper}from"./upload-wrapper-bd9ef592.js";import"@dimjs/utils/cjs/class-names";import"antd";import"react";import"react/jsx-runtime";import"@ant-design/icons/es/icons/MoreOutlined";import"./_rollupPluginBabelHelpers-1f4d8910.js";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"@wove/react/cjs/hooks";import"@ant-design/icons/es/icons/LoadingOutlined";import"@flatbiz/utils";import"@ant-design/icons/es/icons/RedoOutlined";import"@dimjs/utils/cjs/extend";import"@dimjs/model";import"@dimjs/model-react";import"@wove/react/cjs/create-ctx";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"@dimjs/lang/cjs/is-array";import"react-dom/client";import"./dom-4d04aa64.js";import"ahooks";import"@dimjs/utils/cjs/array";import"@dnd-kit/core";import"@dnd-kit/sortable";import"@flatbiz/antd";import"@ant-design/icons/es/icons/DragOutlined";import"@dnd-kit/utilities";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"@ant-design/icons/es/icons/CloseOutlined";import"@ant-design/icons/es/icons/CheckOutlined";import"@dimjs/lang/cjs/is-number";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"./use-responsive-point-21b8c601.js";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/get";import"@dimjs/utils/cjs/json";import"pubsub-js";import"@dimjs/lang/cjs/is-object";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";
|
|
88
87
|
//# sourceMappingURL=index.js.map
|
package/index.d.ts
CHANGED
|
@@ -3,14 +3,13 @@
|
|
|
3
3
|
|
|
4
4
|
import { API, ModelType } from '@dimjs/model';
|
|
5
5
|
import { DateFormatType, TAny, TNoopDefine, TPlainObject } from '@flatbiz/utils';
|
|
6
|
-
import { DraggableChildrenFn, DropResult, DroppableProvided, DroppableStateSnapshot, ResponderProvided } from '@hello-pangea/dnd';
|
|
7
6
|
import { IAllProps } from '@tinymce/tinymce-react';
|
|
8
|
-
import { ButtonProps, CascaderProps, CheckboxProps, CollapseProps, DrawerProps, DropdownProps, FormInstance, FormItemProps, InputNumberProps, InputProps, ModalProps, PaginationProps, PopconfirmProps, RadioGroupProps, RowProps, SelectProps, SpaceProps, SwitchProps, TableProps, TabsProps, TagProps, TimePickerProps, TimeRangePickerProps, TooltipProps, TreeProps, TreeSelectProps, UploadProps } from 'antd';
|
|
7
|
+
import { ButtonProps, CascaderProps, CheckboxProps, CollapseProps, DrawerProps, DropdownProps, FormInstance, FormItemProps, FormListFieldData, FormListOperation, InputNumberProps, InputProps, ModalProps, PaginationProps, PopconfirmProps, RadioGroupProps, RowProps, SelectProps, SpaceProps, SwitchProps, TableProps, TabsProps, TagProps, TimePickerProps, TimeRangePickerProps, TooltipProps, TreeProps, TreeSelectProps, UploadProps } from 'antd';
|
|
9
8
|
import { ConfigProviderProps } from 'antd/es/config-provider';
|
|
10
9
|
import { PickerDateProps } from 'antd/es/date-picker/generatePicker';
|
|
10
|
+
import { FormListProps } from 'antd/es/form';
|
|
11
11
|
import { CheckboxGroupProps } from 'antd/lib/checkbox';
|
|
12
12
|
import { RangePickerDateProps } from 'antd/lib/date-picker/generatePicker';
|
|
13
|
-
import { FormListFieldData, FormListOperation, FormListProps } from 'antd/lib/form/FormList';
|
|
14
13
|
import { SearchProps, TextAreaProps } from 'antd/lib/input';
|
|
15
14
|
import { ColumnsType } from 'antd/lib/table';
|
|
16
15
|
import { UploadChangeParam } from 'antd/lib/upload';
|
|
@@ -576,6 +575,8 @@ export type DragCollapseItem = {
|
|
|
576
575
|
content: ReactElement;
|
|
577
576
|
};
|
|
578
577
|
export type DragCollapseProps = {
|
|
578
|
+
className?: string;
|
|
579
|
+
style?: CSSProperties;
|
|
579
580
|
/** 面板数据 */
|
|
580
581
|
items: DragCollapseItem[];
|
|
581
582
|
/** 拖拽面板回调 */
|
|
@@ -600,85 +601,54 @@ export type DragCollapseProps = {
|
|
|
600
601
|
dragIcon?: ReactElement;
|
|
601
602
|
/** 切换面板的回调 */
|
|
602
603
|
onChange?: (activeKey?: DragCollapseItemKey | DragCollapseItemKey[]) => void;
|
|
603
|
-
className?: string;
|
|
604
|
-
style?: CSSProperties;
|
|
605
604
|
};
|
|
606
605
|
/**
|
|
607
606
|
* 可拖拽 折叠面板
|
|
608
|
-
* @
|
|
607
|
+
* @param props
|
|
608
|
+
* @returns
|
|
609
609
|
*/
|
|
610
610
|
export declare const DragCollapse: (props: DragCollapseProps) => JSX.Element;
|
|
611
|
-
export type
|
|
612
|
-
/** dataList数组对象中唯一值字段key */
|
|
613
|
-
uidFieldKey: string;
|
|
614
|
-
dataList: T[];
|
|
615
|
-
children: (item: T, index: number) => ReactElement;
|
|
616
|
-
/** 拖拽方向 */
|
|
617
|
-
direction?: "horizontal" | "vertical";
|
|
618
|
-
/** 拖拽结束回调 */
|
|
619
|
-
onDragEnd: (dataList: T[], result: DropResult, provided: ResponderProvided) => void;
|
|
611
|
+
export type DragCollapseFormListProps = {
|
|
620
612
|
className?: string;
|
|
621
613
|
style?: CSSProperties;
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
/**
|
|
625
|
-
|
|
626
|
-
/**
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
/**
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
/**
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
* 1. index 为索引值,从0开始递增,必须正确传递
|
|
653
|
-
* 2. droppableIndex 为父节点 DroppableItem 的索引值
|
|
654
|
-
* 3. 当 DraggableItem处在map循环中注意事项
|
|
655
|
-
* A. 如果为跟节点 key 赋值要与 draggableId 相同
|
|
656
|
-
* ```
|
|
657
|
-
*/
|
|
658
|
-
DraggableItem: (props: DraggableItemProps) => JSX.Element;
|
|
659
|
-
/**
|
|
660
|
-
* 拖拽范围设置
|
|
661
|
-
* @demo https://fex.qa.tcshuke.com/docs/admin/main/move/sort
|
|
662
|
-
*/
|
|
663
|
-
DroppableItem: (props: DroppableItemProps) => JSX.Element;
|
|
664
|
-
};
|
|
665
|
-
export type DragDropMultiProps<T> = {
|
|
666
|
-
uidFieldKey: string;
|
|
667
|
-
dataList: T[][];
|
|
668
|
-
children: (item: T, index: number) => ReactElement;
|
|
669
|
-
direction?: "horizontal" | "vertical";
|
|
670
|
-
onDragEnd: (dataList: T[][], result: DropResult, provided: ResponderProvided) => void;
|
|
614
|
+
/** formList name */
|
|
615
|
+
formListName: string | number | (string | number)[];
|
|
616
|
+
/** 拖拽面板回调 */
|
|
617
|
+
onDropChange?: (items: TPlainObject[]) => void;
|
|
618
|
+
/** 手风琴模式,只允许单个内容区域展开 */
|
|
619
|
+
accordion?: boolean;
|
|
620
|
+
/** 当前激活 tab 面板的key */
|
|
621
|
+
activeKey?: number | number[];
|
|
622
|
+
/** 所有子面板是否可折叠或指定可折叠触发区域,可选: header | icon | disabled */
|
|
623
|
+
collapsible?: CollapseProps["collapsible"];
|
|
624
|
+
/** 初始化选中面板的 key */
|
|
625
|
+
defaultActiveKey?: number[];
|
|
626
|
+
/** 自定义切换图标 */
|
|
627
|
+
expandIcon?: CollapseProps["expandIcon"];
|
|
628
|
+
/** 设置图标位置,可选:start | end */
|
|
629
|
+
expandIconPosition?: CollapseProps["expandIconPosition"];
|
|
630
|
+
/** 设置折叠面板大小 */
|
|
631
|
+
size?: CollapseProps["size"];
|
|
632
|
+
/** 设置拖拽图标 */
|
|
633
|
+
dragIcon?: ReactElement;
|
|
634
|
+
/** 切换面板的回调 */
|
|
635
|
+
onChange?: (activeKey?: number | string | (number | string)[]) => void;
|
|
636
|
+
/** 禁用拖拽,拖拽图标隐藏 */
|
|
637
|
+
dragDisabled?: boolean;
|
|
638
|
+
/** 折叠面板 header 渲染 */
|
|
639
|
+
header: (data: FormListFieldData, operation: FormListOperation, uid: string | number) => ReactElement;
|
|
640
|
+
/** 折叠面板 content 渲染 */
|
|
641
|
+
content: (data: FormListFieldData, operation: FormListOperation, uid: string | number) => ReactElement;
|
|
642
|
+
/** 设置面板禁止拖拽 */
|
|
643
|
+
getItemDragDisabled?: (uid: string | number, index: number) => boolean;
|
|
671
644
|
};
|
|
672
645
|
/**
|
|
673
|
-
*
|
|
674
|
-
* @param props
|
|
675
|
-
* @returns
|
|
646
|
+
* 可拖拽+折叠面板+FormList
|
|
676
647
|
* ```
|
|
677
|
-
* 1.
|
|
678
|
-
* 2. uidFieldKey dataList数组对象中唯一值字段key
|
|
648
|
+
* 1. FormList数组中必须要有 uid 唯一值字段
|
|
679
649
|
* ```
|
|
680
650
|
*/
|
|
681
|
-
export declare const
|
|
651
|
+
export declare const DragCollapseFormList: (props: DragCollapseFormListProps) => JSX.Element;
|
|
682
652
|
export interface DrawerOperationProps {
|
|
683
653
|
loading?: boolean;
|
|
684
654
|
okText?: string;
|
|
@@ -1315,7 +1285,7 @@ export type EditableTableColumn = Omit<ColumnsType["0"], "render"> & {
|
|
|
1315
1285
|
}) => ReactElement | null;
|
|
1316
1286
|
};
|
|
1317
1287
|
export type EditableTableProps = {
|
|
1318
|
-
name:
|
|
1288
|
+
name: EditableTableName;
|
|
1319
1289
|
/**
|
|
1320
1290
|
* ```
|
|
1321
1291
|
* antd table属性
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flatbiz/antd",
|
|
3
|
-
"version": "4.2.
|
|
3
|
+
"version": "4.2.56",
|
|
4
4
|
"description": "flat-biz ui components",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"typings": "index.d.ts",
|
|
@@ -59,7 +59,10 @@
|
|
|
59
59
|
"dequal": "^2.0.3",
|
|
60
60
|
"pubsub-js": "^1.9.4",
|
|
61
61
|
"@tinymce/tinymce-react": "^4.3.0",
|
|
62
|
-
"@
|
|
62
|
+
"@dnd-kit/core": "^6.0.8",
|
|
63
|
+
"@dnd-kit/modifiers": "^6.0.1",
|
|
64
|
+
"@dnd-kit/sortable": "^7.0.2",
|
|
65
|
+
"@dnd-kit/utilities": "^3.2.1"
|
|
63
66
|
},
|
|
64
67
|
"gitHead": "4378d433b73ee28fd7cb4c64bed8571f993eb5a9"
|
|
65
68
|
}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
import{classNames as e}from"@dimjs/utils/cjs/class-names";import{array as n}from"@dimjs/utils/cjs/array";import i from"@ant-design/icons/es/icons/DragOutlined";import{hooks as a}from"@wove/react/cjs/hooks";import{FlexLayout as o}from"@flatbiz/antd";import{toArray as r}from"@flatbiz/utils";import{Collapse as t}from"antd";import{useState as c,useEffect as l}from"react";import{DragDrop as s}from"./drag-drop/index.js";import{fbaHooks as d}from"./fba-hooks/index.js";import{jsx as f,jsxs as m}from"react/jsx-runtime";var u=function u(p){var h=c([]),g=h[0],v=h[1];var y=a.useCallbackRef((function(e){p.onDropChange(e)}));d.useEffectCustom((function(){var e=r(p.defaultActiveKey);if(!p.activeKey&&e.length>0){v(e)}}),[p.defaultActiveKey]);l((function(){v(r(p.activeKey))}),[p.activeKey]);var k=function e(n){var a=p.dragIcon?p.dragIcon:f(i,{});return p.hideDragIcon?n.content:m(o,{fullIndex:1,direction:"horizontal",children:[f("span",{style:{display:"inline-block",marginRight:5},children:a}),f("span",{children:n.content})]})};var x=a.useCallbackRef((function(e){var i=[];if(p.accordion){if(g[0]&&g[0]===e){i=[]}else{i=[e]}}else{var a=g.includes(e);if(a){n.arrayRemove(g,e);i=[].concat(g)}else{i=g.concat(e)}}v(i);if(p.accordion){p.onChange==null?void 0:p.onChange(i.length?i[0]:undefined)}else{p.onChange==null?void 0:p.onChange(i.length?i:undefined)}}));return f(s,{onDragEnd:y,dataList:p.items,uidFieldKey:"key",className:e("drag-collapse-wrapper",p.className),style:p.style,children:function e(n){var i=g.includes(n.key);return f(t,{activeKey:i?n.key:undefined,accordion:true,className:"drag-collapse",collapsible:p.collapsible,expandIcon:p.expandIcon,expandIconPosition:p.expandIconPosition,size:p.size,onChange:x.bind(null,n.key),children:f(t.Panel,{header:k(n),children:f("div",{style:{padding:"10px"},children:n.content})},n.key)})}})};export{u as D};
|
|
3
|
-
//# sourceMappingURL=drag-collapse-8d751c2b.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"drag-collapse-8d751c2b.js","sources":["@flatbiz/antd/src/drag-collapse/drag-collapse.tsx"],"sourcesContent":["import { DragOutlined } from '@ant-design/icons';\nimport { array, classNames } from '@dimjs/utils';\nimport { FlexLayout } from '@flatbiz/antd';\nimport { toArray } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Collapse, CollapseProps } from 'antd';\nimport { CSSProperties, ReactElement, ReactNode, useEffect, useState } from 'react';\nimport { DragDrop } from '../drag-drop';\nimport { fbaHooks } from '../fba-hooks';\nimport './style.less';\n\ntype DragCollapseItemKey = number | string;\ntype DragCollapseItem = { key: DragCollapseItemKey; header: ReactNode; content: ReactElement };\ntype DragCollapseProps = {\n /** 面板数据 */\n items: DragCollapseItem[];\n /** 拖拽面板回调 */\n onDropChange: (items: DragCollapseItem[]) => void;\n /** 手风琴模式,只允许单个内容区域展开 */\n accordion?: boolean;\n /** 当前激活 tab 面板的key */\n activeKey?: DragCollapseItemKey | DragCollapseItemKey[];\n /** 所有子面板是否可折叠或指定可折叠触发区域,可选: header | icon | disabled */\n collapsible?: CollapseProps['collapsible'];\n /** 初始化选中面板的 key */\n defaultActiveKey?: DragCollapseItemKey[];\n /** 自定义切换图标\t */\n expandIcon?: CollapseProps['expandIcon'];\n /** 设置图标位置,可选:start | end */\n expandIconPosition?: CollapseProps['expandIconPosition'];\n /** 设置折叠面板大小\t */\n size?: CollapseProps['size'];\n /** 隐藏拖拽图标,默认不隐藏 */\n hideDragIcon?: boolean;\n /** 设置拖拽图标 */\n dragIcon?: ReactElement;\n /** 切换面板的回调\t */\n onChange?: (activeKey?: DragCollapseItemKey | DragCollapseItemKey[]) => void;\n className?: string;\n style?: CSSProperties;\n};\n\n/**\n * 可拖拽 折叠面板\n * @demo https://fex.qa.tcshuke.com/docs/admin/main/move/sort\n */\nexport const DragCollapse = (props: DragCollapseProps) => {\n const [dragActiveKeys, setDragActiveKeys] = useState<DragCollapseItemKey[]>([]);\n const onDragEnd = hooks.useCallbackRef((dataList) => {\n props.onDropChange(dataList);\n });\n\n fbaHooks.useEffectCustom(() => {\n const defaultActiveKeys = toArray(props.defaultActiveKey);\n if (!props.activeKey && defaultActiveKeys.length > 0) {\n setDragActiveKeys(defaultActiveKeys as DragCollapseItemKey[]);\n }\n }, [props.defaultActiveKey]);\n\n useEffect(() => {\n setDragActiveKeys(toArray(props.activeKey));\n }, [props.activeKey]);\n\n const header = (item: DragCollapseItem) => {\n const dragIcon = props.dragIcon ? props.dragIcon : <DragOutlined />;\n return props.hideDragIcon ? (\n item.content\n ) : (\n <FlexLayout fullIndex={1} direction=\"horizontal\">\n <span style={{ display: 'inline-block', marginRight: 5 }}>{dragIcon}</span>\n <span>{item.content}</span>\n </FlexLayout>\n );\n };\n\n const onChange = hooks.useCallbackRef((key: DragCollapseItemKey) => {\n let dragActiveKeysNew: DragCollapseItemKey[] = [];\n if (props.accordion) {\n if (dragActiveKeys[0] && dragActiveKeys[0] === key) {\n dragActiveKeysNew = [];\n } else {\n dragActiveKeysNew = [key];\n }\n } else {\n const has = dragActiveKeys.includes(key);\n if (has) {\n array.arrayRemove(dragActiveKeys, key);\n dragActiveKeysNew = [...dragActiveKeys];\n } else {\n dragActiveKeysNew = dragActiveKeys.concat(key);\n }\n }\n setDragActiveKeys(dragActiveKeysNew);\n if (props.accordion) {\n props.onChange?.(dragActiveKeysNew.length ? dragActiveKeysNew[0] : undefined);\n } else {\n props.onChange?.(dragActiveKeysNew.length ? dragActiveKeysNew : undefined);\n }\n });\n\n return (\n <DragDrop\n onDragEnd={onDragEnd}\n dataList={props.items}\n uidFieldKey=\"key\"\n className={classNames('drag-collapse-wrapper', props.className)}\n style={props.style}\n >\n {(item) => {\n const isActive = dragActiveKeys.includes(item.key);\n return (\n <Collapse\n activeKey={isActive ? item.key : undefined}\n accordion\n className=\"drag-collapse\"\n collapsible={props.collapsible}\n expandIcon={props.expandIcon}\n expandIconPosition={props.expandIconPosition}\n size={props.size}\n onChange={onChange.bind(null, item.key)}\n >\n <Collapse.Panel header={header(item)} key={item.key}>\n <div style={{ padding: '10px' }}>{item.content}</div>\n </Collapse.Panel>\n </Collapse>\n );\n }}\n </DragDrop>\n );\n};\n"],"names":["DragCollapse","props","_useState","useState","dragActiveKeys","setDragActiveKeys","onDragEnd","_hooks","useCallbackRef","dataList","onDropChange","fbaHooks","useEffectCustom","defaultActiveKeys","toArray","defaultActiveKey","activeKey","length","useEffect","header","item","dragIcon","_jsx","_DragOutlined","hideDragIcon","content","_jsxs","FlexLayout","fullIndex","direction","children","style","display","marginRight","onChange","key","dragActiveKeysNew","accordion","has","includes","_array","arrayRemove","concat","undefined","DragDrop","items","uidFieldKey","className","_classNames","isActive","Collapse","collapsible","expandIcon","expandIconPosition","size","bind","Panel","padding"],"mappings":";wgBA8CaA,EAAe,SAAfA,EAAgBC,GAC3B,IAAAC,EAA4CC,EAAgC,IAArEC,EAAcF,EAAA,GAAEG,EAAiBH,EAAA,GACxC,IAAMI,EAAYC,EAAMC,gBAAe,SAACC,GACtCR,EAAMS,aAAaD,EACrB,IAEAE,EAASC,iBAAgB,WACvB,IAAMC,EAAoBC,EAAQb,EAAMc,kBACxC,IAAKd,EAAMe,WAAaH,EAAkBI,OAAS,EAAG,CACpDZ,EAAkBQ,EACpB,CACF,GAAG,CAACZ,EAAMc,mBAEVG,GAAU,WACRb,EAAkBS,EAAQb,EAAMe,WAClC,GAAG,CAACf,EAAMe,YAEV,IAAMG,EAAS,SAATA,EAAUC,GACd,IAAMC,EAAWpB,EAAMoB,SAAWpB,EAAMoB,SAAWC,EAAAC,EAAgB,CAAA,GACnE,OAAOtB,EAAMuB,aACXJ,EAAKK,QAELC,EAACC,EAAU,CAACC,UAAW,EAAGC,UAAU,aAAYC,UAC9CR,EAAA,OAAA,CAAMS,MAAO,CAAEC,QAAS,eAAgBC,YAAa,GAAIH,SAAET,IAC3DC,EAAA,OAAA,CAAAQ,SAAOV,EAAKK,cAKlB,IAAMS,EAAW3B,EAAMC,gBAAe,SAAC2B,GACrC,IAAIC,EAA2C,GAC/C,GAAInC,EAAMoC,UAAW,CACnB,GAAIjC,EAAe,IAAMA,EAAe,KAAO+B,EAAK,CAClDC,EAAoB,EACtB,KAAO,CACLA,EAAoB,CAACD,EACvB,CACF,KAAO,CACL,IAAMG,EAAMlC,EAAemC,SAASJ,GACpC,GAAIG,EAAK,CACPE,EAAMC,YAAYrC,EAAgB+B,GAClCC,EAAiBM,GAAAA,OAAOtC,EAC1B,KAAO,CACLgC,EAAoBhC,EAAesC,OAAOP,EAC5C,CACF,CACA9B,EAAkB+B,GAClB,GAAInC,EAAMoC,UAAW,CACnBpC,EAAMiC,UAAQ,UAAA,EAAdjC,EAAMiC,SAAWE,EAAkBnB,OAASmB,EAAkB,GAAKO,UACrE,KAAO,CACL1C,EAAMiC,UAANjC,UAAAA,EAAAA,EAAMiC,SAAWE,EAAkBnB,OAASmB,EAAoBO,UAClE,CACF,IAEA,OACErB,EAACsB,EAAQ,CACPtC,UAAWA,EACXG,SAAUR,EAAM4C,MAChBC,YAAY,MACZC,UAAWC,EAAW,wBAAyB/C,EAAM8C,WACrDhB,MAAO9B,EAAM8B,MAAMD,SAElB,SAAAA,EAACV,GACA,IAAM6B,EAAW7C,EAAemC,SAASnB,EAAKe,KAC9C,OACEb,EAAC4B,EAAQ,CACPlC,UAAWiC,EAAW7B,EAAKe,IAAMQ,UACjCN,UAAS,KACTU,UAAU,gBACVI,YAAalD,EAAMkD,YACnBC,WAAYnD,EAAMmD,WAClBC,mBAAoBpD,EAAMoD,mBAC1BC,KAAMrD,EAAMqD,KACZpB,SAAUA,EAASqB,KAAK,KAAMnC,EAAKe,KAAKL,SAExCR,EAAC4B,EAASM,MAAK,CAACrC,OAAQA,EAAOC,GAAMU,SACnCR,EAAA,MAAA,CAAKS,MAAO,CAAE0B,QAAS,QAAS3B,SAAEV,EAAKK,WADEL,EAAKe,MAKtD,GAGN"}
|
package/esm/drag-drop/index.css
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.droppable-item-horizontal{display:flex}
|
package/esm/drag-drop/index.js
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
/* eslint-disable */
|
|
2
|
-
import './../fba-utils/index.css';
|
|
3
|
-
import './index.css';
|
|
4
|
-
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
5
|
-
import{f as r}from"../fba-utils-f9e11d02.js";import{classNames as e}from"@dimjs/utils/cjs/class-names";import{hooks as i}from"@wove/react/cjs/hooks";import{arrayReorder as a}from"@flatbiz/utils";import{DragDropContext as t}from"@hello-pangea/dnd";import{Fragment as o}from"react";import{D as n,a as d}from"../droppable-item-708ec229.js";import{jsx as s,jsxs as l}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-array";import"../_rollupPluginBabelHelpers-1f4d8910.js";var m=function r(m){var p=i.useCallbackRef((function(r,e){if(!r.destination){return}if(r.destination.index===r.source.index){return}var i=a(m.dataList,r.source.index,r.destination.index);m.onDragEnd(i,r,e)}));var c=i.useId(undefined,"droppable");return s("div",{className:e("drag-drop",m.className),style:m.style,children:s(t,{onDragEnd:p,children:s(n,{droppableId:c,direction:m.direction,children:function r(e){return l(o,{children:[m.dataList.map((function(r,e){var i=""+r[m.uidFieldKey];return s(d,{draggableId:i,index:e,children:m.children(r,e)},i)})),e.placeholder]})}})})})};var p=r.attachPropertiesToComponent(m,{DraggableItem:d,DroppableItem:n});export{p as DragDrop};
|
|
6
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/drag-drop/drag-drop.tsx","@flatbiz/antd/src/drag-drop/index.ts"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { arrayReorder, TAny } from '@flatbiz/utils';\nimport {\n DragDropContext,\n DroppableProvided,\n DropResult,\n OnDragEndResponder,\n ResponderProvided,\n} from '@hello-pangea/dnd';\nimport { hooks } from '@wove/react';\nimport { CSSProperties, Fragment, ReactElement } from 'react';\nimport { DraggableItem } from './draggable-item';\nimport { DroppableItem } from './droppable-item';\n\nexport type DragDropProps<T> = {\n /** dataList数组对象中唯一值字段key */\n uidFieldKey: string;\n dataList: T[];\n children: (item: T, index: number) => ReactElement;\n /** 拖拽方向 */\n direction?: 'horizontal' | 'vertical';\n /** 拖拽结束回调 */\n onDragEnd: (dataList: T[], result: DropResult, provided: ResponderProvided) => void;\n className?: string;\n style?: CSSProperties;\n};\n\n/**\n * 拖拽(单个)\n * @param props\n * @returns\n * ```\n * 1. dataList数组中必须要有唯一值字段\n * 2. uidFieldKey dataList数组对象中唯一值字段key\n * ```\n */\nexport const DragDrop = <T extends object = TAny>(props: DragDropProps<T>) => {\n const onDragEnd: OnDragEndResponder = hooks.useCallbackRef((result, provided) => {\n if (!result.destination) {\n return;\n }\n if (result.destination.index === result.source.index) {\n return;\n }\n const sortDataList = arrayReorder(props.dataList, result.source.index, result.destination.index);\n props.onDragEnd(sortDataList as T[], result, provided);\n });\n\n const uid = hooks.useId(undefined, 'droppable');\n\n return (\n <div className={classNames('drag-drop', props.className)} style={props.style}>\n <DragDropContext onDragEnd={onDragEnd}>\n <DroppableItem droppableId={uid} direction={props.direction}>\n {(dropProvided: DroppableProvided) => {\n return (\n <Fragment>\n {props.dataList.map((item, index) => {\n const draggableId = `${item[props.uidFieldKey]}`;\n return (\n <DraggableItem draggableId={draggableId} key={draggableId} index={index}>\n {props.children(item, index)}\n </DraggableItem>\n );\n })}\n {dropProvided.placeholder}\n </Fragment>\n );\n }}\n </DroppableItem>\n </DragDropContext>\n </div>\n );\n};\n","import { fbaUtils } from '../fba-utils';\nimport { DragDrop as DragDropInner } from './drag-drop';\nimport { DraggableItem } from './draggable-item';\nimport { DroppableItem } from './droppable-item';\nimport './style.less';\n\nexport const DragDrop = fbaUtils.attachPropertiesToComponent(DragDropInner, {\n /**\n * 拖拽节点\n * @demo https://fex.qa.tcshuke.com/docs/admin/main/move/sort\n * ```\n * 1. index 为索引值,从0开始递增,必须正确传递\n * 2. droppableIndex 为父节点 DroppableItem 的索引值\n * 3. 当 DraggableItem处在map循环中注意事项\n * A. 如果为跟节点 key 赋值要与 draggableId 相同\n * ```\n */\n DraggableItem: DraggableItem,\n /**\n * 拖拽范围设置\n * @demo https://fex.qa.tcshuke.com/docs/admin/main/move/sort\n */\n DroppableItem: DroppableItem,\n});\n"],"names":["DragDrop","props","onDragEnd","_hooks","useCallbackRef","result","provided","destination","index","source","sortDataList","arrayReorder","dataList","uid","useId","undefined","_jsx","className","_classNames","style","children","DragDropContext","DroppableItem","droppableId","direction","dropProvided","_jsxs","Fragment","map","item","draggableId","uidFieldKey","DraggableItem","placeholder","fbaUtils","attachPropertiesToComponent","DragDropInner"],"mappings":";qdAoCO,IAAMA,EAAW,SAAXA,EAAqCC,GAChD,IAAMC,EAAgCC,EAAMC,gBAAe,SAACC,EAAQC,GAClE,IAAKD,EAAOE,YAAa,CACvB,MACF,CACA,GAAIF,EAAOE,YAAYC,QAAUH,EAAOI,OAAOD,MAAO,CACpD,MACF,CACA,IAAME,EAAeC,EAAaV,EAAMW,SAAUP,EAAOI,OAAOD,MAAOH,EAAOE,YAAYC,OAC1FP,EAAMC,UAAUQ,EAAqBL,EAAQC,EAC/C,IAEA,IAAMO,EAAMV,EAAMW,MAAMC,UAAW,aAEnC,OACEC,EAAA,MAAA,CAAKC,UAAWC,EAAW,YAAajB,EAAMgB,WAAYE,MAAOlB,EAAMkB,MAAMC,SAC3EJ,EAACK,EAAe,CAACnB,UAAWA,EAAUkB,SACpCJ,EAACM,EAAa,CAACC,YAAaV,EAAKW,UAAWvB,EAAMuB,UAAUJ,SACzD,SAAAA,EAACK,GACA,OACEC,EAACC,EAAQ,CAAAP,SAAA,CACNnB,EAAMW,SAASgB,KAAI,SAACC,EAAMrB,GACzB,IAAMsB,EAAiBD,GAAAA,EAAK5B,EAAM8B,aAClC,OACEf,EAACgB,EAAa,CAACF,YAAaA,EAA+BtB,MAAOA,EAAMY,SACrEnB,EAAMmB,SAASS,EAAMrB,IADsBsB,EAIlD,IACCL,EAAaQ,cAGpB,OAKV,ECnEO,IAAMjC,EAAWkC,EAASC,4BAA4BC,EAAe,CAW1EJ,cAAeA,EAKfV,cAAeA"}
|
|
File without changes
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/* eslint-disable */
|
|
2
|
-
import './index.css';
|
|
3
|
-
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
4
|
-
export{D as DragDropMulti}from"../drag-drop-multi-e8cae136.js";import"@wove/react/cjs/hooks";import"@flatbiz/utils";import"@hello-pangea/dnd";import"react";import"../droppable-item-708ec229.js";import"@dimjs/utils/cjs/class-names";import"../_rollupPluginBabelHelpers-1f4d8910.js";import"react/jsx-runtime";
|
|
5
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
import{hooks as r}from"@wove/react/cjs/hooks";import{arrayReorder as a}from"@flatbiz/utils";import{DragDropContext as t}from"@hello-pangea/dnd";import{Fragment as i}from"react";import{D as e,a as d}from"./droppable-item-708ec229.js";import{jsx as n,jsxs as o}from"react/jsx-runtime";var s=function s(l){var p=r.useCallbackRef((function(r,t){if(!r.destination){return}var i=r.destination.droppableId;var e=i.split("-");var d=Number(e[1]);var n=r.destination.index;var o=r.source.droppableId;e=o.split("-");var s=Number(e[1]);var p=r.source.index;if(d===s){l.dataList[d]=a(l.dataList[d],p,n);l.onDragEnd(l.dataList,r,t);return}var c=l.dataList[s];var u=l.dataList[d];u.splice(n,0,c[p]);c.splice(p,1);l.dataList[s]=c;l.dataList[d]=u;l.onDragEnd(l.dataList,r,t)}));return n(t,{onDragEnd:p,children:l.dataList.map((function(r,a){return n(e,{droppableId:"droppable-"+a,direction:l.direction,children:function a(t){return o(i,{children:[r.map((function(r,a){return n(d,{draggableId:r[l.uidFieldKey],index:a,children:l.children(r,a)},r[l.uidFieldKey])})),t.placeholder]})}},a)}))})};export{s as D};
|
|
3
|
-
//# sourceMappingURL=drag-drop-multi-e8cae136.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"drag-drop-multi-e8cae136.js","sources":["@flatbiz/antd/src/drag-drop-multi/drag-drop-multi.tsx"],"sourcesContent":["import { arrayReorder, TAny } from '@flatbiz/utils';\nimport {\n DragDropContext,\n DroppableProvided,\n DropResult,\n OnDragEndResponder,\n ResponderProvided,\n} from '@hello-pangea/dnd';\nimport { hooks } from '@wove/react';\nimport { Fragment, ReactElement } from 'react';\nimport { DraggableItem } from '../drag-drop/draggable-item';\nimport { DroppableItem } from '../drag-drop/droppable-item';\n\nexport type DragDropMultiProps<T> = {\n uidFieldKey: string;\n dataList: T[][];\n children: (item: T, index: number) => ReactElement;\n direction?: 'horizontal' | 'vertical';\n onDragEnd: (dataList: T[][], result: DropResult, provided: ResponderProvided) => void;\n};\n\n/**\n * 拖拽(多个)\n * @param props\n * @returns\n * ```\n * 1. dataList数组中必须要有唯一值字段\n * 2. uidFieldKey dataList数组对象中唯一值字段key\n * ```\n */\nexport const DragDropMulti = <T extends object = TAny>(props: DragDropMultiProps<T>) => {\n const onDragEnd: OnDragEndResponder = hooks.useCallbackRef((result, provided) => {\n if (!result.destination) {\n return;\n }\n const targetDroppableId = result.destination.droppableId;\n let tempList = targetDroppableId.split('-');\n const targetRowIndex = Number(tempList[1]);\n const targetRowCellIndex = result.destination.index;\n\n const sourceDroppableId = result.source.droppableId;\n tempList = sourceDroppableId.split('-');\n const sourceRowIndex = Number(tempList[1]);\n const sourceRowCellIndex = result.source.index;\n\n if (targetRowIndex === sourceRowIndex) {\n props.dataList[targetRowIndex] = arrayReorder(\n props.dataList[targetRowIndex],\n sourceRowCellIndex,\n targetRowCellIndex,\n );\n props.onDragEnd(props.dataList, result, provided);\n return;\n }\n const sourceList = props.dataList[sourceRowIndex];\n const targetList = props.dataList[targetRowIndex];\n targetList.splice(targetRowCellIndex, 0, sourceList[sourceRowCellIndex]);\n sourceList.splice(sourceRowCellIndex, 1);\n props.dataList[sourceRowIndex] = sourceList;\n props.dataList[targetRowIndex] = targetList;\n props.onDragEnd(props.dataList, result, provided);\n });\n\n return (\n <DragDropContext onDragEnd={onDragEnd}>\n {props.dataList.map((item, index) => {\n return (\n <DroppableItem droppableId={`droppable-${index}`} direction={props.direction} key={index}>\n {(dropProvided: DroppableProvided) => {\n return (\n <Fragment>\n {item.map((innerItem, innerIndex) => (\n <DraggableItem\n draggableId={innerItem[props.uidFieldKey]}\n key={innerItem[props.uidFieldKey]}\n index={innerIndex}\n >\n {props.children(innerItem, innerIndex)}\n </DraggableItem>\n ))}\n {dropProvided.placeholder}\n </Fragment>\n );\n }}\n </DroppableItem>\n );\n })}\n </DragDropContext>\n );\n};\n"],"names":["DragDropMulti","props","onDragEnd","_hooks","useCallbackRef","result","provided","destination","targetDroppableId","droppableId","tempList","split","targetRowIndex","Number","targetRowCellIndex","index","sourceDroppableId","source","sourceRowIndex","sourceRowCellIndex","dataList","arrayReorder","sourceList","targetList","splice","_jsx","DragDropContext","children","map","item","DroppableItem","direction","dropProvided","_jsxs","Fragment","innerItem","innerIndex","DraggableItem","draggableId","uidFieldKey","placeholder"],"mappings":";+RA8BaA,EAAgB,SAAhBA,EAA0CC,GACrD,IAAMC,EAAgCC,EAAMC,gBAAe,SAACC,EAAQC,GAClE,IAAKD,EAAOE,YAAa,CACvB,MACF,CACA,IAAMC,EAAoBH,EAAOE,YAAYE,YAC7C,IAAIC,EAAWF,EAAkBG,MAAM,KACvC,IAAMC,EAAiBC,OAAOH,EAAS,IACvC,IAAMI,EAAqBT,EAAOE,YAAYQ,MAE9C,IAAMC,EAAoBX,EAAOY,OAAOR,YACxCC,EAAWM,EAAkBL,MAAM,KACnC,IAAMO,EAAiBL,OAAOH,EAAS,IACvC,IAAMS,EAAqBd,EAAOY,OAAOF,MAEzC,GAAIH,IAAmBM,EAAgB,CACrCjB,EAAMmB,SAASR,GAAkBS,EAC/BpB,EAAMmB,SAASR,GACfO,EACAL,GAEFb,EAAMC,UAAUD,EAAMmB,SAAUf,EAAQC,GACxC,MACF,CACA,IAAMgB,EAAarB,EAAMmB,SAASF,GAClC,IAAMK,EAAatB,EAAMmB,SAASR,GAClCW,EAAWC,OAAOV,EAAoB,EAAGQ,EAAWH,IACpDG,EAAWE,OAAOL,EAAoB,GACtClB,EAAMmB,SAASF,GAAkBI,EACjCrB,EAAMmB,SAASR,GAAkBW,EACjCtB,EAAMC,UAAUD,EAAMmB,SAAUf,EAAQC,EAC1C,IAEA,OACEmB,EAACC,EAAe,CAACxB,UAAWA,EAAUyB,SACnC1B,EAAMmB,SAASQ,KAAI,SAACC,EAAMd,GACzB,OACEU,EAACK,EAAa,CAACrB,yBAA0BM,EAASgB,UAAW9B,EAAM8B,UAAUJ,SAC1E,SAAAA,EAACK,GACA,OACEC,EAACC,EAAQ,CAAAP,SAAA,CACNE,EAAKD,KAAI,SAACO,EAAWC,GAAU,OAC9BX,EAACY,EAAa,CACZC,YAAaH,EAAUlC,EAAMsC,aAE7BxB,MAAOqB,EAAWT,SAEjB1B,EAAM0B,SAASQ,EAAWC,IAHtBD,EAAUlC,EAAMsC,aAIP,IAEjBP,EAAaQ,cAGpB,GAhBiFzB,OAsB7F"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
import{classNames as e}from"@dimjs/utils/cjs/class-names";import{a as r}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{Draggable as a,Droppable as i}from"@hello-pangea/dnd";import{cloneElement as n}from"react";import{jsx as d}from"react/jsx-runtime";var l=function i(l){return d(a,{draggableId:l.draggableId,index:l.index,isDragDisabled:l.isDragDisabled,children:function a(i,s){var o=r({},i.draggableProps,i.dragHandleProps,{ref:i.innerRef,className:e("draggable-item",{"draggable-item-dragging":s.isDragging},l.className)});if(l.dragCancelMove){o.style={}}if(l.component===false){return n(l.children,o)}return d("div",r({},o,{children:l.children}))}})};var s=function r(a){var n=a.direction||"vertical";return d(i,{droppableId:a.droppableId,direction:n,renderClone:a.renderClone,isDropDisabled:a.isDropDisabled,type:a.type,children:function r(i,l){return d("div",{ref:i.innerRef,className:e("droppable-item","droppable-item-"+n,{"droppable-item-draggingOver":l.isDraggingOver},a.className),children:a.children(i,l)})}})};export{s as D,l as a};
|
|
3
|
-
//# sourceMappingURL=droppable-item-708ec229.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"droppable-item-708ec229.js","sources":["@flatbiz/antd/src/drag-drop/draggable-item.tsx","@flatbiz/antd/src/drag-drop/droppable-item.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { Draggable, DraggableProvided, DraggableStateSnapshot } from '@hello-pangea/dnd';\nimport { cloneElement, ReactElement } from 'react';\n\nexport type DraggableItemProps = {\n /** 拖拽节点ID */\n draggableId: string;\n /** 拖拽节点数组索引 */\n index: number;\n children: ReactElement;\n /** 是否禁用拖拽节点 */\n isDragDisabled?: boolean;\n // 拖动取消移动\n dragCancelMove?: boolean;\n // 设置 DraggableItem 渲染元素,为 false 则不创建 DOM 节点\n component?: boolean;\n className?: string;\n};\n\n/**\n * 拖拽节点\n * @param props\n * @returns\n * ```\n * 1. index 为索引值,从0开始递增,必须正确传递\n * 2. droppableIndex 为父节点 DroppableItem 的索引值\n * 3. 当 DraggableItem处在map循环中注意事项\n * A. 如果为跟节点 key 赋值要与 draggableId 相同\n * ```\n */\nexport const DraggableItem = (props: DraggableItemProps) => {\n return (\n <Draggable draggableId={props.draggableId} index={props.index} isDragDisabled={props.isDragDisabled}>\n {(dragProvided: DraggableProvided, dragSnapshot: DraggableStateSnapshot) => {\n const params = {\n ...dragProvided.draggableProps,\n ...dragProvided.dragHandleProps,\n ref: dragProvided.innerRef,\n className: classNames(\n 'draggable-item',\n { 'draggable-item-dragging': dragSnapshot.isDragging },\n props.className,\n ),\n };\n if (props.dragCancelMove) {\n params.style = {};\n }\n if (props.component === false) {\n return cloneElement(props.children, params);\n }\n return <div {...params}>{props.children}</div>;\n }}\n </Draggable>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { DraggableChildrenFn, Droppable, DroppableProvided, DroppableStateSnapshot } from '@hello-pangea/dnd';\nimport { ReactElement } from 'react';\n\nexport type DroppableItemProps = {\n /** 拖拽范围ID */\n droppableId: string;\n children: (dropProvided: DroppableProvided, dropSnapshot: DroppableStateSnapshot) => ReactElement;\n /** 拖拽方向 */\n direction?: 'horizontal' | 'vertical';\n /** 拖拽范围禁止 */\n isDropDisabled?: boolean;\n className?: string;\n renderClone?: DraggableChildrenFn;\n type?: string;\n};\n\n/**\n * 拖拽范围设置\n * @param props\n * @returns\n */\nexport const DroppableItem = (props: DroppableItemProps) => {\n const direction = props.direction || 'vertical';\n return (\n <Droppable\n droppableId={props.droppableId}\n direction={direction}\n renderClone={props.renderClone}\n isDropDisabled={props.isDropDisabled}\n type={props.type}\n >\n {(dropProvided: DroppableProvided, dropSnapshot: DroppableStateSnapshot) => (\n <div\n ref={dropProvided.innerRef}\n className={classNames(\n 'droppable-item',\n `droppable-item-${direction}`,\n {\n 'droppable-item-draggingOver': dropSnapshot.isDraggingOver,\n },\n props.className,\n )}\n >\n {props.children(dropProvided, dropSnapshot)}\n </div>\n )}\n </Droppable>\n );\n};\n"],"names":["DraggableItem","props","_jsx","Draggable","draggableId","index","isDragDisabled","children","dragProvided","dragSnapshot","params","_extends","draggableProps","dragHandleProps","ref","innerRef","className","_classNames","isDragging","dragCancelMove","style","component","cloneElement","DroppableItem","direction","Droppable","droppableId","renderClone","isDropDisabled","type","dropProvided","dropSnapshot","isDraggingOver"],"mappings":";oQA8BaA,EAAgB,SAAhBA,EAAiBC,GAC5B,OACEC,EAACC,EAAS,CAACC,YAAaH,EAAMG,YAAaC,MAAOJ,EAAMI,MAAOC,eAAgBL,EAAMK,eAAeC,SACjG,SAAAA,EAACC,EAAiCC,GACjC,IAAMC,EAAMC,EACPH,CAAAA,EAAAA,EAAaI,eACbJ,EAAaK,gBAAe,CAC/BC,IAAKN,EAAaO,SAClBC,UAAWC,EACT,iBACA,CAAE,0BAA2BR,EAAaS,YAC1CjB,EAAMe,aAGV,GAAIf,EAAMkB,eAAgB,CACxBT,EAAOU,MAAQ,EACjB,CACA,GAAInB,EAAMoB,YAAc,MAAO,CAC7B,OAAOC,EAAarB,EAAMM,SAAUG,EACtC,CACA,OAAOR,EAAA,MAAAS,EAAA,CAAA,EAASD,EAAM,CAAAH,SAAGN,EAAMM,WACjC,GAGN,MChCagB,EAAgB,SAAhBA,EAAiBtB,GAC5B,IAAMuB,EAAYvB,EAAMuB,WAAa,WACrC,OACEtB,EAACuB,EAAS,CACRC,YAAazB,EAAMyB,YACnBF,UAAWA,EACXG,YAAa1B,EAAM0B,YACnBC,eAAgB3B,EAAM2B,eACtBC,KAAM5B,EAAM4B,KAAKtB,SAEhB,SAAAA,EAACuB,EAAiCC,GAAoC,OACrE7B,EAAA,MAAA,CACEY,IAAKgB,EAAaf,SAClBC,UAAWC,EACT,iBAAgB,kBACEO,EAClB,CACE,8BAA+BO,EAAaC,gBAE9C/B,EAAMe,WACNT,SAEDN,EAAMM,SAASuB,EAAcC,IAC1B,GAId"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
import e from"@ant-design/icons/es/icons/PlusOutlined";import{a as n,_ as r}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{Form as a,Checkbox as l,Tag as i,InputNumber as t,Radio as o,Space as d,Button as u,Input as m,Table as f}from"antd";import{useMemo as c,useState as s,useEffect as v,Fragment as p}from"react";import{B as g}from"./button-wrapper-125fce50.js";import{isArray as b}from"@dimjs/lang/cjs/is-array";import{extend as C}from"@dimjs/utils/cjs/extend";import{classNames as h}from"@dimjs/utils/cjs/class-names";import{hooks as I}from"@wove/react/cjs/hooks";import{jsx as w,jsxs as x,Fragment as R}from"react/jsx-runtime";import{D as N}from"./date-picker-wrapper-ba650858.js";import{D as P}from"./date-range-picker-wrapper-fb15c592.js";import{I as y}from"./input-wrapper-b378eb5a.js";import{fbaHooks as j}from"./fba-hooks/index.js";import{arrayField2LabelValue as k}from"@flatbiz/utils";import{S as F}from"./selector-wrapper-91427b7d.js";import{isBoolean as L}from"@dimjs/lang/cjs/is-boolean";import{isNumber as T}from"@dimjs/lang/cjs/is-number";import{isString as A}from"@dimjs/lang/cjs/is-string";import{I as O}from"./input-text-area-wrapper-c958fba0.js";import{U as B}from"./upload-wrapper-bd9ef592.js";import S from"@ant-design/icons/es/icons/DeleteOutlined";var V=function e(n,r){return typeof n==="boolean"?n:n==null?void 0:n({tableRowIndex:r})};var G=function e(r){var a=r.fieldConfig,t=a.editableConfig,o=a.editable,d=a.render;var u=t.editableComptProps;var m=c((function(){if(o)return[];var e=b(r.value)?r.value:[];var n=u.options||[];if(!b(n)||n.length===0){return e.map((function(e){return{label:e,value:e}}))}var a=[];e.forEach((function(e){var r=n.find((function(n){return n.value===e}));a.push(r?r:{label:e,value:e})}));return a}),[o,u.options,r.value]);var f=I.useCallbackRef((function(e){r.onChange==null?void 0:r.onChange(e);u.onChange==null?void 0:u.onChange(e)}));if(o){return w(l.Group,n({},u,{value:r.value,onChange:f}))}return w("span",{className:"editable-checkbox-group-view",children:d?d(r.value):m.map((function(e,n){return w(i,{color:"#1890ff",children:e.label},n)}))})};var W=function e(r){var l=r.fieldConfig.formItemProps;return w(a.Item,n({},l,{name:r.name,className:h("editable-checkbox-group-form-item",l==null?void 0:l.className),children:w(G,n({},r))}))};var D=function e(r){var l=r.fieldConfig,i=l.formItemProps,t=l.editableConfig;return w(a.Item,n({},i,{name:r.name,className:h("editable-date-picker-wraper-form-item",i==null?void 0:i.className),children:w(N,n({allowClear:true},t.editableComptProps))}))};var E=function e(r){var a=r.fieldConfig,l=a.editableConfig,i=a.editable,t=a.render;var o=l.editableComptProps;var d=I.useCallbackRef((function(e){r.onChange==null?void 0:r.onChange(e);o==null?void 0:o.onChange==null?void 0:o.onChange(e)}));var u=c((function(){var e=b(r.value)?r.value:[];if(i)return undefined;return e.join("~")}),[i,r.value]);if(i){return w(P,n({allowClear:true},o,{value:r.value,onChange:d}))}return w("span",{className:"editable-date-range-picker-view",children:t?t(r.value):u})};var _=function e(r){var l=r.fieldConfig.formItemProps;return w(a.Item,n({},l,{name:r.name,className:h("editable-date-range-picker-wraper-form-item",l==null?void 0:l.className),children:w(E,n({},r))}))};var z=function e(r){var l=r.fieldConfig,i=l.formItemProps,t=l.editableConfig;return w(a.Item,n({},i,{name:r.name,children:w(y,n({allowClear:true},t.editableComptProps))}))};var M=function e(r){var l=r.fieldConfig,i=l.formItemProps,o=l.editableConfig;return w(a.Item,n({},i,{name:r.name,className:h("editable-input-number-form-item",i==null?void 0:i.className),children:w(t,n({},o.editableComptProps))}))};var H=function e(r){var a=r.fieldConfig,l=a.editableConfig,t=a.editable,d=a.render;var u=l.editableComptProps;var m=j.useThemeToken();var f=c((function(){if(t)return[];var e=r.value;var n=u.options||[];if(!b(n)||n.length===0){return e}var a=n.find((function(n){return n.value===e}));return(a==null?void 0:a.label)||e}),[t,u.options,r.value]);var s=I.useCallbackRef((function(e){r.onChange==null?void 0:r.onChange(e.target.value);u.onChange==null?void 0:u.onChange(e)}));if(t){return w(o.Group,n({},u,{value:r.value,onChange:s}))}return w("span",{className:"editable-radio-group-view",children:d?d(r.value):f?w(i,{color:m.colorPrimary,children:f}):null})};var J=function e(r){var l=r.fieldConfig.formItemProps;return w(a.Item,n({},l,{name:r.name,className:h("editable-radio-group-form-item",l==null?void 0:l.className),children:w(H,n({},r))}))};var K=function e(r){var a=r.fieldConfig,l=a.editableConfig,t=a.editable,o=a.render;var d=l.editableComptProps;var u=s([]),m=u[0],f=u[1];var c=s([]),g=c[0],C=c[1];var h=j.useThemeToken();v((function(){if(!t){var e=b(r.value)?r.value:r.value===undefined?[]:[r.value];if(m.length===0){C(e.map((function(e){return{label:e,value:e}})))}var n=[];e.forEach((function(e){var r=m.find((function(n){return n.value===e}));n.push(r?r:{label:String(e),value:e})}));C(n)}}),[t,d.fieldNames,r.value,m]);var R=I.useCallbackRef((function(e){f(k(e||[],d.fieldNames))}));var N=I.useCallbackRef((function(e,n){r.onChange==null?void 0:r.onChange(e);d.onChange==null?void 0:d.onChange(e,n)}));if(t){return w(F,n({},d,{value:r.value,onChange:N,onSelectorListAllChange:R}))}return x(p,{children:[w("div",{style:{display:"none"},children:w(F,n({},d,{onSelectorListAllChange:R}))}),w("span",{className:"editable-selector-view",children:o?o(r.value,m):g.map((function(e,n){return w(i,{color:h.colorPrimary,children:e.label},n)}))})]})};var U=function e(r){var l=r.fieldConfig.formItemProps;return w(a.Item,n({},l,{name:r.name,className:h("editable-selector-wrapper-form-item",l==null?void 0:l.className),children:w(K,n({},r))}))};var q=function e(n){var r,a;var l=c((function(){var e;if((e=n.fieldConfig)!=null&&e.render)return undefined;var r=A(n.value)||T(n.value)||L(n.value)||!n.value;if(!r){console.warn("Form.List name:【"+n.name+"】数据【"+JSON.stringify(n.value)+"】不能渲染在页面中")}return r?n.value:undefined}),[(r=n.fieldConfig)==null?void 0:r.render,n.name,n.value]);var i=((a=n.fieldConfig)==null?void 0:a.render==null?void 0:a.render(n.value))||l;return w("span",{children:i})};var Q=function e(n){return w(a.Item,{noStyle:true,name:n.name,children:w(q,{name:n.name,fieldConfig:n.fieldConfig})})};var X=function e(r){var l=r.fieldConfig,i=l.formItemProps,t=l.editableConfig;return w(a.Item,n({},i,{name:r.name,children:w(O,n({},t.editableComptProps))}))};var Y=["children"];var Z=function e(a){var l=a.fieldConfig,i=l.editableConfig,t=l.render,o=l.editable;var d=i.editableComptProps,u=d.children,m=r(d,Y);if(o){return w(B,n({listType:"text"},m,{value:a.value,onChange:a.onChange,children:u}))}return w("div",{className:"upload-wrapper-selector-view",children:t?t(a.value):w(B,n({listType:"text"},m,{value:a.value,disabled:true}))})};var $=function e(r){var l=r.fieldConfig.formItemProps;return w(a.Item,n({},l,{name:r.name,className:h("editable-upload-wrapper-form-item",l==null?void 0:l.className),children:w(Z,n({},r))}))};var ee=function e(r){var a=r.fieldConfig,l=a.editableConfig,i=a.editable;var t=V(i,r.tableRowIndex);var o=C({},r.fieldConfig,{editable:t});var d={name:r.name,fieldConfig:o};if((l==null?void 0:l.type)==="input"&&t){return w(z,n({},d))}else if((l==null?void 0:l.type)==="inputNumber"&&t){return w(M,n({},d))}else if((l==null?void 0:l.type)==="textArea"&&t){return w(X,n({},d))}else if((l==null?void 0:l.type)==="datePickerWrapper"&&t){return w(D,n({},d))}else if((l==null?void 0:l.type)==="dateRangePickerWrapper"){return w(_,n({},d))}else if((l==null?void 0:l.type)==="selectorWrapper"){return w(U,n({},d))}else if((l==null?void 0:l.type)==="checkboxGroup"){return w(W,n({},d))}else if((l==null?void 0:l.type)==="radioGroup"){return w(J,n({},d))}else if((l==null?void 0:l.type)==="uploadWrapper"){return w($,n({},d))}else if((l==null?void 0:l.type)==="custom"){return l.editableComptProps({name:r.name,editable:t,completeName:r.completeName,tableRowIndex:r.tableRowIndex})}return w(Q,n({},d))};var ne=function e(n){var r=a.useFormInstance();var l=n.formListConfig,i=l.onFormListBeforeRender,t=l.editableConfigList,o=l.onFormListAfterRender,u=l.onFormListItemBeforeRender,m=l.onFormListItemAfterRender,f=l.deleteOperateRender;return w(a.List,{name:n.name,children:function e(a,l){var c=l.add,s=l.remove;return x(R,{children:[i?i({tableRowIndex:n.tableRowIndex,add:c,get value(){return r.getFieldValue(n.completeName)}}):null,a.map((function(e,a){var l=t.find((function(e){return V(e.editable,n.tableRowIndex)}));var i=h("editable-inner-formlist-item","editable-inner-formlist-item-"+n.name[1],{"editable-inner-formlist-item_preview":!l});return x("div",{className:i,children:[u==null?void 0:u({add:c,remove:function e(){s(a)},formListItemIndex:a,tableRowIndex:n.tableRowIndex,get value(){return r.getFieldValue([].concat(n.completeName,[e.name]))}}),x(d,{children:[t.map((function(r,a){return w(ee,{name:[e.name,r.fieldName],fieldConfig:r,tableRowIndex:n.tableRowIndex,completeName:[].concat(n.completeName,[e.name])},a)})),l?w(re,{deleteOperateRender:f,remove:function e(){s(a)},index:a}):undefined]}),m==null?void 0:m({add:c,formListItemIndex:a,tableRowIndex:n.tableRowIndex,remove:function e(){s(a)},get value(){return r.getFieldValue([].concat(n.completeName,[e.name]))}})]},a)})),o?o({tableRowIndex:n.tableRowIndex,add:c,get value(){return r.getFieldValue(n.completeName)}}):null]})}})};var re=function e(n){return w(a.Item,{children:n.deleteOperateRender?n.deleteOperateRender({remove:n.remove,formListItemIndex:n.index}):w(u,{type:"link",danger:true,icon:w(S,{}),onClick:n.remove,children:"删除"})})};var ae=function e(n){if(n.fieldConfig){if(b(n.fieldConfig["editableConfigList"])){var r=n.fieldConfig;return w(ne,{name:n.name,completeName:n.completeName,formListConfig:r,tableRowIndex:n.tableRowIndex})}else{return x(p,{children:[w(ee,{name:n.name,fieldConfig:n.fieldConfig,tableRowIndex:n.tableRowIndex,completeName:n.completeName}),n.hiddenField?w(a.Item,{hidden:true,name:n.hiddenField.dataIndex,children:w(m,{})}):null]})}}return w(Q,{name:n.name})};var le=["fieldConfig","renderMiddleware"];var ie=function l(i){var t;var o=c((function(){if(!i.columns)return[];return i.columns.map((function(e){var a=e.fieldConfig,l=e.renderMiddleware,t=r(e,le);return n({onCell:function e(){var n;return{valign:((n=i.tableProps)==null?void 0:n.cellVerticalAlign)||"middle"}}},t,{render:function n(r,t,o){var d=[i.name,t.name];var u=e.dataIndex?[].concat(d,[e.dataIndex]):d;var m=l==null?void 0:l({name:u,tableRowIndex:t.name,operation:t.operation,tableRowName:d,index:o});if(m){return m}var f=typeof a==="function"?a({name:u,tableRowIndex:t.name,tableRowName:d}):a;return w(ae,{name:e.dataIndex?[t.name,e.dataIndex]:[t.name],completeName:u,fieldConfig:f,tableRowIndex:t.name,hiddenField:e.hiddenField})}})}))}),[i.columns,i.name,(t=i.tableProps)==null?void 0:t.cellVerticalAlign]);return w("div",{className:"editable-table",children:w(a.List,{name:i.name,rules:i.rules,children:function r(a,l){return x(p,{children:[i.onTableBeforeRender?i.onTableBeforeRender(l,a.length):null,w(f,n({scroll:{x:"max-content"},pagination:false,rowKey:"key"},i.tableProps,{dataSource:a.map((function(e){return n({},e,{operation:l})})),columns:o})),i.onTableAfterRender?i.onTableAfterRender(l,a.length):w(g,{type:"dashed",hidden:i.hiddenFooterBtn,onClick:function e(){return l.add()},block:true,icon:w(e,{}),style:{marginTop:15},children:"新增"})]})}})})};export{ie as E};
|
|
3
|
-
//# sourceMappingURL=editable-table-53686ef4.js.map
|
|
File without changes
|