@flatbiz/antd 4.5.41 → 4.5.42

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.
Files changed (217) hide show
  1. package/esm/_rollupPluginBabelHelpers-c0dbec57.js +3 -0
  2. package/esm/_rollupPluginBabelHelpers-c0dbec57.js.map +1 -0
  3. package/esm/ace-editor-groovy/index.js +1 -1
  4. package/esm/ace-editor-groovy/index.js.map +1 -1
  5. package/esm/ace-editor-java/index.js +1 -1
  6. package/esm/ace-editor-java/index.js.map +1 -1
  7. package/esm/ace-editor-json/index.js +1 -1
  8. package/esm/ace-editor-json/index.js.map +1 -1
  9. package/esm/ace-editor-mysql/index.js +1 -1
  10. package/esm/ace-editor-mysql/index.js.map +1 -1
  11. package/esm/ace-editor-xml/index.js +1 -1
  12. package/esm/ace-editor-xml/index.js.map +1 -1
  13. package/esm/alert-wrapper/index.js +1 -1
  14. package/esm/amount-fen-input/index.js +1 -1
  15. package/esm/amount-fen-input/index.js.map +1 -1
  16. package/esm/amount-fen-input-form-item/index.js +1 -1
  17. package/esm/anchor-steps/index.js +1 -1
  18. package/esm/anchor-steps/index.js.map +1 -1
  19. package/esm/block-layout/index.js +1 -1
  20. package/esm/bootstrap/index.js +1 -1
  21. package/esm/box-grid/index.js +1 -1
  22. package/esm/box-grid/index.js.map +1 -1
  23. package/esm/button-operate/index.js +1 -1
  24. package/esm/button-operate/index.js.map +1 -1
  25. package/esm/button-wrapper/index.js +1 -1
  26. package/esm/card-layout/index.js +1 -1
  27. package/esm/card-wrapper/index.js +1 -1
  28. package/esm/cascader-wrapper/index.js +1 -1
  29. package/esm/cascader-wrapper/index.js.map +1 -1
  30. package/esm/check-list/index.js +1 -1
  31. package/esm/check-list/index.js.map +1 -1
  32. package/esm/checkbox-wrapper/index.js +1 -1
  33. package/esm/checkbox-wrapper/index.js.map +1 -1
  34. package/esm/color-picker-wrapper/index.js +1 -1
  35. package/esm/color-picker-wrapper/index.js.map +1 -1
  36. package/esm/config-provider-wrapper/index.js +1 -1
  37. package/esm/create-drawer-wrapper-model/index.js.map +1 -1
  38. package/esm/create-modal-wrapper-model/index.js.map +1 -1
  39. package/esm/css-node-hover/index.js +1 -1
  40. package/esm/date-picker-wrapper/index.js +1 -1
  41. package/esm/date-picker-wrapper/index.js.map +1 -1
  42. package/esm/date-range-picker-wrapper/index.js +1 -1
  43. package/esm/date-range-picker-wrapper/index.js.map +1 -1
  44. package/esm/date-range-picker-wrapper-form-item/index.js +1 -1
  45. package/esm/date-range-picker-wrapper-form-item/index.js.map +1 -1
  46. package/esm/delete-node/index.js +1 -1
  47. package/esm/dialog-alert/index.js +1 -1
  48. package/esm/dialog-alert/index.js.map +1 -1
  49. package/esm/dialog-confirm/index.js +1 -1
  50. package/esm/dialog-confirm/index.js.map +1 -1
  51. package/esm/dialog-drawer/index.js +1 -1
  52. package/esm/dialog-drawer/index.js.map +1 -1
  53. package/esm/dialog-drawer-content/index.js +1 -1
  54. package/esm/dialog-loading/index.js +1 -1
  55. package/esm/dialog-loading/index.js.map +1 -1
  56. package/esm/dialog-modal/index.js +1 -1
  57. package/esm/dialog-modal/index.js.map +1 -1
  58. package/esm/dialog-preview-image/index.js +1 -1
  59. package/esm/dialog-preview-image/index.js.map +1 -1
  60. package/esm/drag-collapse/index.js +1 -1
  61. package/esm/drag-collapse/index.js.map +1 -1
  62. package/esm/drag-collapse-form-list/index.js +1 -1
  63. package/esm/drag-collapse-form-list/index.js.map +1 -1
  64. package/esm/drag-editable-card/index.js +1 -1
  65. package/esm/drag-editable-card/index.js.map +1 -1
  66. package/esm/drag-editable-table/index.js +1 -1
  67. package/esm/drag-editable-table/index.js.map +1 -1
  68. package/esm/drag-editable-table-pro/index.js +1 -1
  69. package/esm/drag-editable-table-pro/index.js.map +1 -1
  70. package/esm/drag-form-list/index.js +1 -1
  71. package/esm/drag-form-list/index.js.map +1 -1
  72. package/esm/drag-table/index.js +1 -1
  73. package/esm/drag-table/index.js.map +1 -1
  74. package/esm/drawer-wrapper/index.js +1 -1
  75. package/esm/dropdown-menu-wrapper/index.js +1 -1
  76. package/esm/dynamic-node/index.js +1 -1
  77. package/esm/dynamic-node/index.js.map +1 -1
  78. package/esm/easy-form/index.js +1 -1
  79. package/esm/easy-table/index.css +1 -1
  80. package/esm/easy-table/index.js +1 -1
  81. package/esm/easy-table/index.js.map +1 -1
  82. package/esm/editable-card/index.js +1 -1
  83. package/esm/editable-card/index.js.map +1 -1
  84. package/esm/editable-field/index.js +1 -1
  85. package/esm/editable-field/index.js.map +1 -1
  86. package/esm/editable-table/index.js +1 -1
  87. package/esm/editable-table/index.js.map +1 -1
  88. package/esm/editable-table-pro/index.js +1 -1
  89. package/esm/editable-table-pro/index.js.map +1 -1
  90. package/esm/editor-wrapper/index.js +1 -1
  91. package/esm/editor-wrapper/index.js.map +1 -1
  92. package/esm/error-boundary-wrapper/index.js +1 -1
  93. package/esm/error-boundary-wrapper/index.js.map +1 -1
  94. package/esm/fba-app/index.js +1 -1
  95. package/esm/fba-app/index.js.map +1 -1
  96. package/esm/fba-hooks/index.js +1 -1
  97. package/esm/file-export/index.js +1 -1
  98. package/esm/file-export/index.js.map +1 -1
  99. package/esm/file-import/index.js +1 -1
  100. package/esm/file-select/index.js +1 -1
  101. package/esm/file-select/index.js.map +1 -1
  102. package/esm/flex-layout/index.js +1 -1
  103. package/esm/form-grid/index.js +1 -1
  104. package/esm/form-item-group/index.js +1 -1
  105. package/esm/form-item-span/index.js +1 -1
  106. package/esm/form-item-text/index.js +1 -1
  107. package/esm/form-item-text/index.js.map +1 -1
  108. package/esm/form-item-wrapper/index.js +1 -1
  109. package/esm/form-item-wrapper/index.js.map +1 -1
  110. package/esm/form-item-wrapper-dependencies/index.js +1 -1
  111. package/esm/form-list-wrapper/index.js +1 -1
  112. package/esm/form-list-wrapper/index.js.map +1 -1
  113. package/esm/form-wrapper/index.js +1 -1
  114. package/esm/gap/index.js +1 -1
  115. package/esm/icon-wrapper/index.css +1 -1
  116. package/esm/icon-wrapper/index.js +1 -1
  117. package/esm/icon-wrapper/index.js.map +1 -1
  118. package/esm/{index-7f4ad045.js → index-83bede1b.js} +2 -2
  119. package/esm/{index-7f4ad045.js.map → index-83bede1b.js.map} +1 -1
  120. package/esm/index.js +1 -1
  121. package/esm/input-search-wrapper/index.js +1 -1
  122. package/esm/input-search-wrapper/index.js.map +1 -1
  123. package/esm/input-text-area-wrapper/index.js +1 -1
  124. package/esm/input-text-area-wrapper/index.js.map +1 -1
  125. package/esm/input-wrapper/index.js +1 -1
  126. package/esm/input-wrapper/index.js.map +1 -1
  127. package/esm/json-editor/index.js +1 -1
  128. package/esm/json-editor/index.js.map +1 -1
  129. package/esm/label-value-layout/index.js +1 -1
  130. package/esm/label-value-render/index.js +1 -1
  131. package/esm/local-loading/index.js +1 -1
  132. package/esm/local-loading/index.js.map +1 -1
  133. package/esm/mention-editor/index.js +1 -1
  134. package/esm/mention-editor/index.js.map +1 -1
  135. package/esm/mentions-wrapper/index.js +1 -1
  136. package/esm/mentions-wrapper/index.js.map +1 -1
  137. package/esm/modal-action/index.js +1 -1
  138. package/esm/modal-wrapper/index.js +1 -1
  139. package/esm/number-range-form-item/index.js +1 -1
  140. package/esm/number-range-form-item/index.js.map +1 -1
  141. package/esm/pagination-wrapper/index.js +1 -1
  142. package/esm/pdf/index.js +1 -1
  143. package/esm/pdf/index.js.map +1 -1
  144. package/esm/pdf-preview/index.js +1 -1
  145. package/esm/pdf-preview/index.js.map +1 -1
  146. package/esm/radio-group-wrapper/index.js +1 -1
  147. package/esm/radio-group-wrapper/index.js.map +1 -1
  148. package/esm/relation-tree/index.js +1 -1
  149. package/esm/relation-tree/index.js.map +1 -1
  150. package/esm/rich-text-editor/index.js +1 -1
  151. package/esm/rich-text-editor/index.js.map +1 -1
  152. package/esm/rich-text-viewer/index.js +1 -1
  153. package/esm/rich-text-viewer/index.js.map +1 -1
  154. package/esm/roll-location-center/index.js +1 -1
  155. package/esm/roll-location-center/index.js.map +1 -1
  156. package/esm/roll-location-in-view/index.js +1 -1
  157. package/esm/roll-location-in-view/index.js.map +1 -1
  158. package/esm/rule-describe/index.js +1 -1
  159. package/esm/search-form/index.js +1 -1
  160. package/esm/search-form/index.js.map +1 -1
  161. package/esm/search-menu/index.js +1 -1
  162. package/esm/search-menu/index.js.map +1 -1
  163. package/esm/selector-wrapper/index.js +1 -1
  164. package/esm/selector-wrapper/index.js.map +1 -1
  165. package/esm/selector-wrapper-search/index.js +1 -1
  166. package/esm/selector-wrapper-search/index.js.map +1 -1
  167. package/esm/selector-wrapper-simple/index.js +1 -1
  168. package/esm/selector-wrapper-simple/index.js.map +1 -1
  169. package/esm/simple-layout/index.js +1 -1
  170. package/esm/sms-count-down/index.js +1 -1
  171. package/esm/sms-count-down/index.js.map +1 -1
  172. package/esm/split-wrapper/index.js +1 -1
  173. package/esm/svg-http-view/index.js +1 -1
  174. package/esm/switch-confirm-wrapper/index.js +1 -1
  175. package/esm/switch-confirm-wrapper/index.js.map +1 -1
  176. package/esm/switch-wrapper/index.js +1 -1
  177. package/esm/switch-wrapper/index.js.map +1 -1
  178. package/esm/table-cell-render/index.js +1 -1
  179. package/esm/table-scrollbar/index.js +1 -1
  180. package/esm/table-scrollbar/index.js.map +1 -1
  181. package/esm/tabs-sticky/index.js +1 -1
  182. package/esm/tabs-sticky/index.js.map +1 -1
  183. package/esm/tabs-wrapper/index.js +1 -1
  184. package/esm/tabs-wrapper/index.js.map +1 -1
  185. package/esm/tag-group/index.js +1 -1
  186. package/esm/tag-list-render/index.js +1 -1
  187. package/esm/tag-list-render/index.js.map +1 -1
  188. package/esm/tag-wrapper/index.js +1 -1
  189. package/esm/text-css-ellipsis/index.js +1 -1
  190. package/esm/text-css-ellipsis/index.js.map +1 -1
  191. package/esm/text-overflow/index.js +1 -1
  192. package/esm/text-overflow-render/index.js +1 -1
  193. package/esm/text-symbol-wrapper/index.js +1 -1
  194. package/esm/time-picker-wrapper/index.js +1 -1
  195. package/esm/time-picker-wrapper/index.js.map +1 -1
  196. package/esm/time-range-picker-wrapper/index.js +1 -1
  197. package/esm/time-range-picker-wrapper/index.js.map +1 -1
  198. package/esm/time-range-picker-wrapper-form-item/index.js +1 -1
  199. package/esm/time-range-picker-wrapper-form-item/index.js.map +1 -1
  200. package/esm/tips-title/index.js +1 -1
  201. package/esm/tips-wrapper/index.js +1 -1
  202. package/esm/tree-modal/index.js +1 -1
  203. package/esm/tree-modal/index.js.map +1 -1
  204. package/esm/tree-modal-selector/index.js +1 -1
  205. package/esm/tree-modal-selector/index.js.map +1 -1
  206. package/esm/tree-selector-wrapper/index.js +1 -1
  207. package/esm/tree-selector-wrapper/index.js.map +1 -1
  208. package/esm/tree-wrapper/index.js +1 -1
  209. package/esm/tree-wrapper/index.js.map +1 -1
  210. package/esm/upload-wrapper/index.js +1 -1
  211. package/esm/upload-wrapper/index.js.map +1 -1
  212. package/esm/x-mind-preview/index.js +1 -1
  213. package/esm/x-mind-preview/index.js.map +1 -1
  214. package/index.d.ts +52 -63
  215. package/package.json +1 -1
  216. package/esm/_rollupPluginBabelHelpers-a0769acd.js +0 -3
  217. package/esm/_rollupPluginBabelHelpers-a0769acd.js.map +0 -1
@@ -10,5 +10,5 @@ import './../flex-layout/index.css';
10
10
  import './../text-symbol-wrapper/index.css';
11
11
  import './index.css';
12
12
  /*! @flatjs/forge MIT @flatbiz/antd */
13
- import{classNames as e}from"@dimjs/utils/cjs/class-names";import{hooks as r}from"@wove/react/cjs/hooks";import{_ as t}from"../_rollupPluginBabelHelpers-a0769acd.js";import{DndContext as i,closestCenter as n,DragOverlay as a}from"@dnd-kit/core";import{useSortable as o,SortableContext as d,verticalListSortingStrategy as l,arrayMove as m}from"@dnd-kit/sortable";import{toArray as s,getUuid as u}from"@flatbiz/utils";import{Form as c,Empty as p}from"antd";import{Fragment as f,useState as g,useRef as v,useMemo as h}from"react";import{BlockLayout as y}from"../block-layout/index.js";import{ButtonWrapper as I}from"../button-wrapper/index.js";import{FormItemGroup as j}from"../form-item-group/index.js";import{TextSymbolWrapper as x}from"../text-symbol-wrapper/index.js";import D from"@ant-design/icons/es/icons/DragOutlined";import{CSS as b}from"@dnd-kit/utilities";import{jsx as L,jsxs as N}from"react/jsx-runtime";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-promise";import"../index-7f4ad045.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"../fba-hooks/index.js";import"@dimjs/lang/cjs/is-array";import"../use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/extend";import"../fba-utils/index.js";import"@dimjs/model";import"../flex-layout/index.js";function C(i){var n=c.useFormInstance();var a=i.isOverlay?false:i.getItemDragDisabled==null?void 0:i.getItemDragDisabled(i.uid,i.index);var d=o({id:i.uid,disabled:a}),l=d.listeners,m=d.setNodeRef,u=d.transform,p=d.transition;var g=r.useCallbackRef((function(){var e=i.dragIcon?i.dragIcon:L(D,{});return i.dragDisabled?L(f,{}):L("span",t({className:"drag-form-list-item-trigger"},l,{children:L("span",{children:e})}))}));var v=t({transform:b.Transform.toString(u),transition:p},i.style);var h=e("drag-form-list-item",{"drag-form-list-item-grap":i.isGray,"drag-form-list-item-disabled":a},i.className);return N("div",{style:t({},v),ref:m,className:h,children:[L(c.Item,{noStyle:true,children:g()}),L("div",{className:"drag-form-list-item-content",children:i.children({formListFieldData:i.formListFieldData,operation:i.formListOperate,formStageCompleteName:i.formStageCompleteName,index:i.index,getInsideFormItemName:function e(r){return[i.formListFieldData.name].concat(s(r))},getInsideFormItemData:function e(){return n.getFieldValue(i.formStageCompleteName)||{}},prevCompleteName:i.prevCompleteName,uidKey:i.uidFieldName})})]})}var w=function e(r){if(r.wrapper)return r.wrapper({children:r.children});return r.children};var F=function e(r){var i,n,a;var o=(i=r.formListItemTitleHProps)==null?void 0:i.gap;var d=r.dragDisabled?[]:[{width:35,mainItem:L("div",{style:{marginRight:o===undefined?-15:-o}})}];return L(j.HorizontalUnion,t({},r.formListItemTitleHProps,{style:t({marginBottom:10},(n=r.formListItemTitleHProps)==null?void 0:n.style),groupConfigList:d.concat(((a=r.formListItemTitleList)==null?void 0:a.map((function(e){if(e.required){return{width:e.width,mainItem:L("div",{style:{textAlign:"center"},children:L(x,{text:e.title,symbolType:"required"})})}}return{width:e.width,mainItem:L("div",{style:{textAlign:"center"},children:e.title})}})))||[])}))};var k=function o(j){var x=[].concat(j.prevCompleteName,s(j.name));var D=g(),b=D[0],k=D[1];var R=c.useFormInstance();var S=v([]);var T=j.uidFieldName||"uid";var A=c.useWatch(x,R);var P=r.useCallbackRef((function(e){return e==null?void 0:e[T]}));function E(e){var r=e.active;k(r.id)}var O=r.useCallbackRef((function(){return R.getFieldValue(x)||[]}));function H(e){var r=e.active,t=e.over;var i=O();if(r.id!==t.id){var n=i.findIndex((function(e){return P(e)===r.id}));var a=i.findIndex((function(e){return P(e)===t.id}));var o=m(i,n,a);R.setFields([{name:j.name,value:o}]);j.onDropChange==null?void 0:j.onDropChange(o)}k(undefined)}var _=h((function(){if(!b)return undefined;var e=O();var r=e.findIndex((function(e){return P(e)===b}));return S.current.find((function(e){return e.name===r}))}),[b,O,P]);var z=j.itemGap?j.itemGap/2:8;return L(y,{className:e("drag-form-list",j.className),style:j.style,children:L(i,{collisionDetection:n,onDragStart:E,onDragEnd:H,children:L(c.List,{name:j.name,rules:j.rules,children:function e(r,i,n){var o;var m=n.errors;S.current=r;return N("div",{style:{borderRadius:"6px",border:m!=null&&m.length?"1px solid #ff4d4f":"1px solid transparent"},children:[(o=j.formListItemTitleList)!=null&&o.length?L(F,{formListItemTitleList:j.formListItemTitleList,formListItemTitleHProps:j.formListItemTitleHorizontalUnionProps,dragDisabled:j.dragDisabled}):null,!j.hiddenEmptyRender&&!(A!=null&&A.length)?L(p,{image:p.PRESENTED_IMAGE_SIMPLE,style:{margin:"15px 0"}}):null,N(f,{children:[L(d,{items:O().map((function(e){return P(e)})),strategy:l,children:N(f,{children:[L(w,{wrapper:j.formListChildrenWrapper,children:L(f,{children:r.map((function(e,r){var n=P(O()[r]);if(!n)return null;return L(C,{formListOperate:i,formListFieldData:e,uid:n,dragIcon:j.dragIcon,getItemDragDisabled:j.getItemDragDisabled,dragDisabled:j.dragDisabled,isGray:!!n&&n===b,index:r,formStageCompleteName:[].concat(x,[e.name]),prevCompleteName:x,uidFieldName:T,style:t({},j.itemStyle,{padding:z+"px 0 "+z+"px 0"}),children:j.children},n+"-"+e.key)}))})}),j.onCustomAddRowButton?j.onCustomAddRowButton(i):L(I,{hidden:j.hiddenAddRowButton,type:"dashed",block:true,onClick:function e(){var r;return i.add(t((r={},r[T]=u(),r),j.getAddRowDefaultValues==null?void 0:j.getAddRowDefaultValues()))},children:"添加"})]})}),L(a,{dropAnimation:{duration:0},children:b&&_?L(C,{isOverlay:true,uid:b,className:"drag-form-list-overlay",formListFieldData:_,dragIcon:j.dragIcon,formListOperate:null,index:0,formStageCompleteName:[].concat(x,[_.name]),prevCompleteName:x,uidFieldName:T,children:j.children},b):null}),L(c.ErrorList,{errors:m!=null&&m.length?[L("div",{style:{color:"#ff4d4f",padding:"5px"},children:m},"0")]:undefined})]})]})}})})})};export{k as DragFormList};
13
+ import{classNames as e}from"@dimjs/utils/cjs/class-names";import{hooks as r}from"@wove/react/cjs/hooks";import{_ as t}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{DndContext as i,closestCenter as n,DragOverlay as a}from"@dnd-kit/core";import{useSortable as o,SortableContext as l,verticalListSortingStrategy as d,arrayMove as m}from"@dnd-kit/sortable";import{toArray as s,getUuid as u}from"@flatbiz/utils";import{Form as c,Empty as p}from"antd";import{Fragment as f,useState as g,useRef as v,useMemo as h}from"react";import{BlockLayout as y}from"../block-layout/index.js";import{ButtonWrapper as I}from"../button-wrapper/index.js";import{FormItemGroup as j}from"../form-item-group/index.js";import{TextSymbolWrapper as x}from"../text-symbol-wrapper/index.js";import D from"@ant-design/icons/es/icons/DragOutlined";import{CSS as b}from"@dnd-kit/utilities";import{jsx as L,jsxs as N}from"react/jsx-runtime";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-promise";import"../index-83bede1b.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"@dimjs/utils/cjs/extend";import"../fba-utils/index.js";import"@dimjs/model";import"../flex-layout/index.js";function C(i){var n=c.useFormInstance();var a=i.isOverlay?false:i.getItemDragDisabled==null?void 0:i.getItemDragDisabled(i.uid,i.index);var l=o({id:i.uid,disabled:a}),d=l.listeners,m=l.setNodeRef,u=l.transform,p=l.transition;var g=r.useCallbackRef((function(){var e=i.dragIcon?i.dragIcon:L(D,{});return i.dragDisabled?L(f,{}):L("span",t({className:"drag-form-list-item-trigger"},d,{children:L("span",{children:e})}))}));var v=t({transform:b.Transform.toString(u),transition:p},i.style);var h=e("drag-form-list-item",{"drag-form-list-item-grap":i.isGray,"drag-form-list-item-disabled":a},i.className);return N("div",{style:t({},v),ref:m,className:h,children:[L(c.Item,{noStyle:true,children:g()}),L("div",{className:"drag-form-list-item-content",children:i.children({formListFieldData:i.formListFieldData,operation:i.formListOperate,formStageCompleteName:i.formStageCompleteName,index:i.index,getInsideFormItemName:function e(r){return[i.formListFieldData.name].concat(s(r))},getInsideFormItemData:function e(){return n.getFieldValue(i.formStageCompleteName)||{}},prevCompleteName:i.prevCompleteName,uidKey:i.uidFieldName})})]})}var w=function e(r){if(r.wrapper)return r.wrapper({children:r.children});return r.children};var F=function e(r){var i,n,a;var o=(i=r.formListItemTitleHProps)==null?void 0:i.gap;var l=r.dragDisabled?[]:[{width:35,mainItem:L("div",{style:{marginRight:o===undefined?-15:-o}})}];return L(j.HorizontalUnion,t({},r.formListItemTitleHProps,{style:t({marginBottom:10},(n=r.formListItemTitleHProps)==null?void 0:n.style),groupConfigList:l.concat(((a=r.formListItemTitleList)==null?void 0:a.map((function(e){if(e.required){return{width:e.width,mainItem:L("div",{style:{textAlign:"center"},children:L(x,{text:e.title,symbolType:"required"})})}}return{width:e.width,mainItem:L("div",{style:{textAlign:"center"},children:e.title})}})))||[])}))};var k=function o(j){var x=[].concat(j.prevCompleteName,s(j.name));var D=g(),b=D[0],k=D[1];var R=c.useFormInstance();var S=v([]);var T=j.uidFieldName||"uid";var A=c.useWatch(x,R);var P=r.useCallbackRef((function(e){return e==null?void 0:e[T]}));function E(e){var r=e.active;k(r.id)}var O=r.useCallbackRef((function(){return R.getFieldValue(x)||[]}));function H(e){var r=e.active,t=e.over;var i=O();if(r.id!==t.id){var n=i.findIndex((function(e){return P(e)===r.id}));var a=i.findIndex((function(e){return P(e)===t.id}));var o=m(i,n,a);R.setFields([{name:j.name,value:o}]);j.onDropChange==null||j.onDropChange(o)}k(undefined)}var _=h((function(){if(!b)return undefined;var e=O();var r=e.findIndex((function(e){return P(e)===b}));return S.current.find((function(e){return e.name===r}))}),[b,O,P]);var z=j.itemGap?j.itemGap/2:8;return L(y,{className:e("drag-form-list",j.className),style:j.style,children:L(i,{collisionDetection:n,onDragStart:E,onDragEnd:H,children:L(c.List,{name:j.name,rules:j.rules,children:function e(r,i,n){var o;var m=n.errors;S.current=r;return N("div",{style:{borderRadius:"6px",border:m!=null&&m.length?"1px solid #ff4d4f":"1px solid transparent"},children:[(o=j.formListItemTitleList)!=null&&o.length?L(F,{formListItemTitleList:j.formListItemTitleList,formListItemTitleHProps:j.formListItemTitleHorizontalUnionProps,dragDisabled:j.dragDisabled}):null,!j.hiddenEmptyRender&&!(A!=null&&A.length)?L(p,{image:p.PRESENTED_IMAGE_SIMPLE,style:{margin:"15px 0"}}):null,N(f,{children:[L(l,{items:O().map((function(e){return P(e)})),strategy:d,children:N(f,{children:[L(w,{wrapper:j.formListChildrenWrapper,children:L(f,{children:r.map((function(e,r){var n=P(O()[r]);if(!n)return null;return L(C,{formListOperate:i,formListFieldData:e,uid:n,dragIcon:j.dragIcon,getItemDragDisabled:j.getItemDragDisabled,dragDisabled:j.dragDisabled,isGray:!!n&&n===b,index:r,formStageCompleteName:[].concat(x,[e.name]),prevCompleteName:x,uidFieldName:T,style:t({},j.itemStyle,{padding:z+"px 0 "+z+"px 0"}),children:j.children},n+"-"+e.key)}))})}),j.onCustomAddRowButton?j.onCustomAddRowButton(i):L(I,{hidden:j.hiddenAddRowButton,type:"dashed",block:true,onClick:function e(){var r;return i.add(t((r={},r[T]=u(),r),j.getAddRowDefaultValues==null?void 0:j.getAddRowDefaultValues()))},children:"添加"})]})}),L(a,{dropAnimation:{duration:0},children:b&&_?L(C,{isOverlay:true,uid:b,className:"drag-form-list-overlay",formListFieldData:_,dragIcon:j.dragIcon,formListOperate:null,index:0,formStageCompleteName:[].concat(x,[_.name]),prevCompleteName:x,uidFieldName:T,children:j.children},b):null}),L(c.ErrorList,{errors:m!=null&&m.length?[L("div",{style:{color:"#ff4d4f",padding:"5px"},children:m},"0")]:undefined})]})]})}})})})};export{k as DragFormList};
14
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/drag-form-list/sortable-item.tsx","@flatbiz/antd/src/drag-form-list/drag-form-list.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 { toArray } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Form, type FormListFieldData, type FormListOperation } from 'antd';\nimport { Fragment, type CSSProperties, type ReactElement } from 'react';\nimport { type DragFormListContentProps, type DragFormListProps } from './types';\nexport type SortableItemProps = {\n formListFieldData: FormListFieldData;\n formListOperate: FormListOperation;\n dragIcon?: DragFormListProps['dragIcon'];\n getItemDragDisabled?: DragFormListProps['getItemDragDisabled'];\n dragDisabled?: DragFormListProps['dragDisabled'];\n isGray?: boolean;\n className?: string;\n style?: CSSProperties;\n uid: string | number;\n index: number;\n isOverlay?: boolean;\n formStageCompleteName: (string | number)[];\n children: (data: DragFormListContentProps) => ReactElement;\n prevCompleteName: (string | number)[];\n uidFieldName: string;\n};\nexport function SortableItem(props: SortableItemProps) {\n const form = Form.useFormInstance();\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 dragIconRender = hooks.useCallbackRef(() => {\n const dragIcon = props.dragIcon ? props.dragIcon : <DragOutlined />;\n return props.dragDisabled ? (\n <Fragment />\n ) : (\n <span className=\"drag-form-list-item-trigger\" {...listeners}>\n <span>{dragIcon}</span>\n </span>\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-form-list-item',\n {\n 'drag-form-list-item-grap': props.isGray,\n 'drag-form-list-item-disabled': isDisabled,\n },\n props.className,\n );\n return (\n <div style={{ ...style }} ref={setNodeRef} className={cname}>\n <Form.Item noStyle>{dragIconRender()}</Form.Item>\n <div className=\"drag-form-list-item-content\">\n {props.children({\n formListFieldData: props.formListFieldData,\n operation: props.formListOperate,\n formStageCompleteName: props.formStageCompleteName,\n index: props.index,\n getInsideFormItemName: (key: string | string[]) => {\n return [props.formListFieldData.name, ...toArray<string>(key)];\n },\n getInsideFormItemData: () => {\n return form.getFieldValue(props.formStageCompleteName) || {};\n },\n prevCompleteName: props.prevCompleteName,\n uidKey: props.uidFieldName,\n })}\n </div>\n </div>\n );\n}\n","import { classNames } from '@dimjs/utils';\nimport { closestCenter, DndContext, DragOverlay } from '@dnd-kit/core';\nimport { arrayMove, SortableContext, verticalListSortingStrategy } from '@dnd-kit/sortable';\nimport { getUuid, toArray, type TAny, type TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Empty, Form, type FormListFieldData } from 'antd';\nimport { Fragment, useMemo, useRef, useState, type ReactElement } from 'react';\nimport { BlockLayout } from '../block-layout';\nimport { ButtonWrapper } from '../button-wrapper';\nimport { FormItemGroup } from '../form-item-group';\nimport { FormItemHorizontalUnionProps } from '../form-item-group/horizontal-union';\nimport { TextSymbolWrapper } from '../text-symbol-wrapper';\nimport { SortableItem } from './sortable-item';\nimport './style.less';\nimport { type DragFormListProps } from './types';\n\ntype FormListChildrenWrapperProps = {\n wrapper?: DragFormListProps['formListChildrenWrapper'];\n\n children: ReactElement;\n};\nconst FormListChildrenWrapper = (props: FormListChildrenWrapperProps) => {\n if (props.wrapper) return props.wrapper({ children: props.children });\n return props.children;\n};\n\nconst FormListTitleRender = (props: {\n formListItemTitleList: DragFormListProps['formListItemTitleList'];\n formListItemTitleHProps?: DragFormListProps['formListItemTitleHorizontalUnionProps'];\n dragDisabled?: boolean;\n}) => {\n const gap = props.formListItemTitleHProps?.gap;\n const innerList: FormItemHorizontalUnionProps['groupConfigList'] = props.dragDisabled\n ? []\n : [\n {\n width: 35,\n mainItem: <div style={{ marginRight: gap === undefined ? -15 : -gap }} />,\n },\n ];\n return (\n <FormItemGroup.HorizontalUnion\n {...props.formListItemTitleHProps}\n style={{ marginBottom: 10, ...props.formListItemTitleHProps?.style }}\n groupConfigList={innerList.concat(\n props.formListItemTitleList?.map((item) => {\n if (item.required) {\n return {\n width: item.width,\n mainItem: (\n <div style={{ textAlign: 'center' }}>\n <TextSymbolWrapper text={item.title} symbolType=\"required\" />\n </div>\n ),\n };\n }\n return {\n width: item.width,\n mainItem: <div style={{ textAlign: 'center' }}>{item.title}</div>,\n };\n }) || [],\n )}\n />\n );\n};\n\n/**\n * 可拖拽FormList\n * ```\n * Demo: https://fex.qa.tcshuke.com/docs/admin/main/form/list\n * 1. FormList数组中必须要有唯一值字段,默认值字段名称uid,可通过uidFieldName自定义设置\n * 2. 通过 itemGap 设置FormList Item 之间间隙\n * ```\n */\nexport const DragFormList = (props: DragFormListProps) => {\n const stageCompleteName = [...props.prevCompleteName, ...toArray(props.name)] as Array<string | number>;\n const [dragActiveId, setDragActiveId] = useState<string | number>();\n const form = Form.useFormInstance();\n const formListOperationRef = useRef<FormListFieldData[]>([]);\n\n const uidFieldName = props.uidFieldName || 'uid';\n // 使用 useWatch 可确保FormList在变更后及时刷新\n const formListValue = Form.useWatch(stageCompleteName, form);\n\n const getUidValue = hooks.useCallbackRef((item) => {\n return item?.[uidFieldName] as string | number;\n });\n\n function handleDragStart(event) {\n const { active } = event;\n setDragActiveId(active.id);\n }\n\n const getItems = hooks.useCallbackRef(() => {\n /** 只能通过getFieldValue取值 */\n return (form.getFieldValue(stageCompleteName) || []) 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) => getUidValue(item) === active.id);\n const newIndex = items.findIndex((item) => getUidValue(item) === over.id);\n const newList = arrayMove<TPlainObject>(items, oldIndex, newIndex);\n form.setFields([\n {\n name: props.name,\n value: newList,\n },\n ]);\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) => getUidValue(item) === dragActiveId);\n return formListOperationRef.current.find((item) => item.name === targetIndex);\n }, [dragActiveId, getItems, getUidValue]);\n\n const gapHalf = props.itemGap ? props.itemGap / 2 : 8;\n\n return (\n <BlockLayout className={classNames('drag-form-list', props.className)} style={props.style}>\n <DndContext collisionDetection={closestCenter} onDragStart={handleDragStart} onDragEnd={handleDragEnd}>\n <Form.List name={props.name} rules={props.rules}>\n {(fields, operation, { errors }) => {\n formListOperationRef.current = fields;\n return (\n <div\n style={{\n borderRadius: '6px',\n border: errors?.length ? '1px solid #ff4d4f' : '1px solid transparent',\n }}\n >\n {props.formListItemTitleList?.length ? (\n <FormListTitleRender\n formListItemTitleList={props.formListItemTitleList}\n formListItemTitleHProps={props.formListItemTitleHorizontalUnionProps}\n dragDisabled={props.dragDisabled}\n />\n ) : null}\n {!props.hiddenEmptyRender && !formListValue?.length ? (\n <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} style={{ margin: '15px 0' }} />\n ) : null}\n <Fragment>\n <SortableContext\n items={getItems().map((temp) => getUidValue(temp))}\n strategy={verticalListSortingStrategy}\n >\n <Fragment>\n <FormListChildrenWrapper wrapper={props.formListChildrenWrapper}>\n <Fragment>\n {fields.map((item, index) => {\n const uid = getUidValue(getItems()[index]);\n if (!uid) return null;\n return (\n <SortableItem\n formListOperate={operation}\n formListFieldData={item}\n uid={uid}\n key={`${uid}-${item.key}`}\n dragIcon={props.dragIcon}\n getItemDragDisabled={props.getItemDragDisabled}\n dragDisabled={props.dragDisabled}\n isGray={!!uid && uid === dragActiveId}\n index={index}\n formStageCompleteName={[...stageCompleteName, item.name]}\n prevCompleteName={stageCompleteName}\n uidFieldName={uidFieldName}\n style={{\n ...props.itemStyle,\n padding: `${gapHalf}px 0 ${gapHalf}px 0`,\n }}\n >\n {props.children}\n </SortableItem>\n );\n })}\n </Fragment>\n </FormListChildrenWrapper>\n {props.onCustomAddRowButton ? (\n props.onCustomAddRowButton(operation)\n ) : (\n <ButtonWrapper\n hidden={props.hiddenAddRowButton}\n type=\"dashed\"\n block\n onClick={() =>\n operation.add({\n [uidFieldName]: getUuid(),\n ...props.getAddRowDefaultValues?.(),\n })\n }\n >\n 添加\n </ButtonWrapper>\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=\"drag-form-list-overlay\"\n formListFieldData={dragOverlayItem}\n dragIcon={props.dragIcon}\n formListOperate={null as TAny}\n index={0}\n formStageCompleteName={[...stageCompleteName, dragOverlayItem.name]}\n prevCompleteName={stageCompleteName}\n uidFieldName={uidFieldName}\n >\n {props.children}\n </SortableItem>\n ) : null}\n </DragOverlay>\n <Form.ErrorList\n errors={\n errors?.length\n ? [\n <div style={{ color: '#ff4d4f', padding: '5px' }} key=\"0\">\n {errors}\n </div>,\n ]\n : undefined\n }\n />\n </Fragment>\n </div>\n );\n }}\n </Form.List>\n </DndContext>\n </BlockLayout>\n );\n};\n"],"names":["SortableItem","props","form","Form","useFormInstance","isDisabled","isOverlay","getItemDragDisabled","uid","index","_useSortable","useSortable","id","disabled","listeners","setNodeRef","transform","transition","dragIconRender","_hooks","useCallbackRef","dragIcon","_jsx","_DragOutlined","dragDisabled","Fragment","_extends","className","children","style","CSS","Transform","toString","cname","_classNames","isGray","_jsxs","ref","Item","noStyle","formListFieldData","operation","formListOperate","formStageCompleteName","getInsideFormItemName","key","name","concat","toArray","getInsideFormItemData","getFieldValue","prevCompleteName","uidKey","uidFieldName","FormListChildrenWrapper","wrapper","FormListTitleRender","_props$formListItemTi","_props$formListItemTi2","_props$formListItemTi3","gap","formListItemTitleHProps","innerList","width","mainItem","marginRight","undefined","FormItemGroup","HorizontalUnion","marginBottom","groupConfigList","formListItemTitleList","map","item","required","textAlign","TextSymbolWrapper","text","title","symbolType","DragFormList","stageCompleteName","_useState","useState","dragActiveId","setDragActiveId","formListOperationRef","useRef","formListValue","useWatch","getUidValue","handleDragStart","event","active","getItems","handleDragEnd","over","items","oldIndex","findIndex","newIndex","newList","arrayMove","setFields","value","onDropChange","dragOverlayItem","useMemo","targetIndex","current","find","gapHalf","itemGap","BlockLayout","DndContext","collisionDetection","closestCenter","onDragStart","onDragEnd","List","rules","fields","_ref","_props$formListItemTi4","errors","borderRadius","border","length","formListItemTitleHorizontalUnionProps","hiddenEmptyRender","Empty","image","PRESENTED_IMAGE_SIMPLE","margin","SortableContext","temp","strategy","verticalListSortingStrategy","formListChildrenWrapper","itemStyle","padding","onCustomAddRowButton","ButtonWrapper","hidden","hiddenAddRowButton","type","block","onClick","_extends2","add","getUuid","getAddRowDefaultValues","DragOverlay","dropAnimation","duration","ErrorList","color"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/drag-form-list/sortable-item.tsx","@flatbiz/antd/src/drag-form-list/drag-form-list.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 { toArray } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Form, type FormListFieldData, type FormListOperation } from 'antd';\nimport { Fragment, type CSSProperties, type ReactElement } from 'react';\nimport { type DragFormListContentProps, type DragFormListProps } from './types';\nexport type SortableItemProps = {\n formListFieldData: FormListFieldData;\n formListOperate: FormListOperation;\n dragIcon?: DragFormListProps['dragIcon'];\n getItemDragDisabled?: DragFormListProps['getItemDragDisabled'];\n dragDisabled?: DragFormListProps['dragDisabled'];\n isGray?: boolean;\n className?: string;\n style?: CSSProperties;\n uid: string | number;\n index: number;\n isOverlay?: boolean;\n formStageCompleteName: (string | number)[];\n children: (data: DragFormListContentProps) => ReactElement;\n prevCompleteName: (string | number)[];\n uidFieldName: string;\n};\nexport function SortableItem(props: SortableItemProps) {\n const form = Form.useFormInstance();\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 dragIconRender = hooks.useCallbackRef(() => {\n const dragIcon = props.dragIcon ? props.dragIcon : <DragOutlined />;\n return props.dragDisabled ? (\n <Fragment />\n ) : (\n <span className=\"drag-form-list-item-trigger\" {...listeners}>\n <span>{dragIcon}</span>\n </span>\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-form-list-item',\n {\n 'drag-form-list-item-grap': props.isGray,\n 'drag-form-list-item-disabled': isDisabled,\n },\n props.className,\n );\n return (\n <div style={{ ...style }} ref={setNodeRef} className={cname}>\n <Form.Item noStyle>{dragIconRender()}</Form.Item>\n <div className=\"drag-form-list-item-content\">\n {props.children({\n formListFieldData: props.formListFieldData,\n operation: props.formListOperate,\n formStageCompleteName: props.formStageCompleteName,\n index: props.index,\n getInsideFormItemName: (key: string | string[]) => {\n return [props.formListFieldData.name, ...toArray<string>(key)];\n },\n getInsideFormItemData: () => {\n return form.getFieldValue(props.formStageCompleteName) || {};\n },\n prevCompleteName: props.prevCompleteName,\n uidKey: props.uidFieldName,\n })}\n </div>\n </div>\n );\n}\n","import { classNames } from '@dimjs/utils';\nimport { closestCenter, DndContext, DragOverlay } from '@dnd-kit/core';\nimport { arrayMove, SortableContext, verticalListSortingStrategy } from '@dnd-kit/sortable';\nimport { getUuid, toArray, type TAny, type TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Empty, Form, type FormListFieldData } from 'antd';\nimport { Fragment, useMemo, useRef, useState, type ReactElement } from 'react';\nimport { BlockLayout } from '../block-layout';\nimport { ButtonWrapper } from '../button-wrapper';\nimport { FormItemGroup } from '../form-item-group';\nimport { FormItemHorizontalUnionProps } from '../form-item-group/horizontal-union';\nimport { TextSymbolWrapper } from '../text-symbol-wrapper';\nimport { SortableItem } from './sortable-item';\nimport './style.less';\nimport { type DragFormListProps } from './types';\n\ntype FormListChildrenWrapperProps = {\n wrapper?: DragFormListProps['formListChildrenWrapper'];\n\n children: ReactElement;\n};\nconst FormListChildrenWrapper = (props: FormListChildrenWrapperProps) => {\n if (props.wrapper) return props.wrapper({ children: props.children });\n return props.children;\n};\n\nconst FormListTitleRender = (props: {\n formListItemTitleList: DragFormListProps['formListItemTitleList'];\n formListItemTitleHProps?: DragFormListProps['formListItemTitleHorizontalUnionProps'];\n dragDisabled?: boolean;\n}) => {\n const gap = props.formListItemTitleHProps?.gap;\n const innerList: FormItemHorizontalUnionProps['groupConfigList'] = props.dragDisabled\n ? []\n : [\n {\n width: 35,\n mainItem: <div style={{ marginRight: gap === undefined ? -15 : -gap }} />,\n },\n ];\n return (\n <FormItemGroup.HorizontalUnion\n {...props.formListItemTitleHProps}\n style={{ marginBottom: 10, ...props.formListItemTitleHProps?.style }}\n groupConfigList={innerList.concat(\n props.formListItemTitleList?.map((item) => {\n if (item.required) {\n return {\n width: item.width,\n mainItem: (\n <div style={{ textAlign: 'center' }}>\n <TextSymbolWrapper text={item.title} symbolType=\"required\" />\n </div>\n ),\n };\n }\n return {\n width: item.width,\n mainItem: <div style={{ textAlign: 'center' }}>{item.title}</div>,\n };\n }) || [],\n )}\n />\n );\n};\n\n/**\n * 可拖拽FormList\n * ```\n * Demo: https://fex.qa.tcshuke.com/docs/admin/main/form/list\n * 1. FormList数组中必须要有唯一值字段,默认值字段名称uid,可通过uidFieldName自定义设置\n * 2. 通过 itemGap 设置FormList Item 之间间隙\n * ```\n */\nexport const DragFormList = (props: DragFormListProps) => {\n const stageCompleteName = [...props.prevCompleteName, ...toArray(props.name)] as Array<string | number>;\n const [dragActiveId, setDragActiveId] = useState<string | number>();\n const form = Form.useFormInstance();\n const formListOperationRef = useRef<FormListFieldData[]>([]);\n\n const uidFieldName = props.uidFieldName || 'uid';\n // 使用 useWatch 可确保FormList在变更后及时刷新\n const formListValue = Form.useWatch(stageCompleteName, form);\n\n const getUidValue = hooks.useCallbackRef((item) => {\n return item?.[uidFieldName] as string | number;\n });\n\n function handleDragStart(event) {\n const { active } = event;\n setDragActiveId(active.id);\n }\n\n const getItems = hooks.useCallbackRef(() => {\n /** 只能通过getFieldValue取值 */\n return (form.getFieldValue(stageCompleteName) || []) 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) => getUidValue(item) === active.id);\n const newIndex = items.findIndex((item) => getUidValue(item) === over.id);\n const newList = arrayMove<TPlainObject>(items, oldIndex, newIndex);\n form.setFields([\n {\n name: props.name,\n value: newList,\n },\n ]);\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) => getUidValue(item) === dragActiveId);\n return formListOperationRef.current.find((item) => item.name === targetIndex);\n }, [dragActiveId, getItems, getUidValue]);\n\n const gapHalf = props.itemGap ? props.itemGap / 2 : 8;\n\n return (\n <BlockLayout className={classNames('drag-form-list', props.className)} style={props.style}>\n <DndContext collisionDetection={closestCenter} onDragStart={handleDragStart} onDragEnd={handleDragEnd}>\n <Form.List name={props.name} rules={props.rules}>\n {(fields, operation, { errors }) => {\n formListOperationRef.current = fields;\n return (\n <div\n style={{\n borderRadius: '6px',\n border: errors?.length ? '1px solid #ff4d4f' : '1px solid transparent',\n }}\n >\n {props.formListItemTitleList?.length ? (\n <FormListTitleRender\n formListItemTitleList={props.formListItemTitleList}\n formListItemTitleHProps={props.formListItemTitleHorizontalUnionProps}\n dragDisabled={props.dragDisabled}\n />\n ) : null}\n {!props.hiddenEmptyRender && !formListValue?.length ? (\n <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} style={{ margin: '15px 0' }} />\n ) : null}\n <Fragment>\n <SortableContext\n items={getItems().map((temp) => getUidValue(temp))}\n strategy={verticalListSortingStrategy}\n >\n <Fragment>\n <FormListChildrenWrapper wrapper={props.formListChildrenWrapper}>\n <Fragment>\n {fields.map((item, index) => {\n const uid = getUidValue(getItems()[index]);\n if (!uid) return null;\n return (\n <SortableItem\n formListOperate={operation}\n formListFieldData={item}\n uid={uid}\n key={`${uid}-${item.key}`}\n dragIcon={props.dragIcon}\n getItemDragDisabled={props.getItemDragDisabled}\n dragDisabled={props.dragDisabled}\n isGray={!!uid && uid === dragActiveId}\n index={index}\n formStageCompleteName={[...stageCompleteName, item.name]}\n prevCompleteName={stageCompleteName}\n uidFieldName={uidFieldName}\n style={{\n ...props.itemStyle,\n padding: `${gapHalf}px 0 ${gapHalf}px 0`,\n }}\n >\n {props.children}\n </SortableItem>\n );\n })}\n </Fragment>\n </FormListChildrenWrapper>\n {props.onCustomAddRowButton ? (\n props.onCustomAddRowButton(operation)\n ) : (\n <ButtonWrapper\n hidden={props.hiddenAddRowButton}\n type=\"dashed\"\n block\n onClick={() =>\n operation.add({\n [uidFieldName]: getUuid(),\n ...props.getAddRowDefaultValues?.(),\n })\n }\n >\n 添加\n </ButtonWrapper>\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=\"drag-form-list-overlay\"\n formListFieldData={dragOverlayItem}\n dragIcon={props.dragIcon}\n formListOperate={null as TAny}\n index={0}\n formStageCompleteName={[...stageCompleteName, dragOverlayItem.name]}\n prevCompleteName={stageCompleteName}\n uidFieldName={uidFieldName}\n >\n {props.children}\n </SortableItem>\n ) : null}\n </DragOverlay>\n <Form.ErrorList\n errors={\n errors?.length\n ? [\n <div style={{ color: '#ff4d4f', padding: '5px' }} key=\"0\">\n {errors}\n </div>,\n ]\n : undefined\n }\n />\n </Fragment>\n </div>\n );\n }}\n </Form.List>\n </DndContext>\n </BlockLayout>\n );\n};\n"],"names":["SortableItem","props","form","Form","useFormInstance","isDisabled","isOverlay","getItemDragDisabled","uid","index","_useSortable","useSortable","id","disabled","listeners","setNodeRef","transform","transition","dragIconRender","_hooks","useCallbackRef","dragIcon","_jsx","_DragOutlined","dragDisabled","Fragment","_extends","className","children","style","CSS","Transform","toString","cname","_classNames","isGray","_jsxs","ref","Item","noStyle","formListFieldData","operation","formListOperate","formStageCompleteName","getInsideFormItemName","key","name","concat","toArray","getInsideFormItemData","getFieldValue","prevCompleteName","uidKey","uidFieldName","FormListChildrenWrapper","wrapper","FormListTitleRender","_props$formListItemTi","_props$formListItemTi2","_props$formListItemTi3","gap","formListItemTitleHProps","innerList","width","mainItem","marginRight","undefined","FormItemGroup","HorizontalUnion","marginBottom","groupConfigList","formListItemTitleList","map","item","required","textAlign","TextSymbolWrapper","text","title","symbolType","DragFormList","stageCompleteName","_useState","useState","dragActiveId","setDragActiveId","formListOperationRef","useRef","formListValue","useWatch","getUidValue","handleDragStart","event","active","getItems","handleDragEnd","over","items","oldIndex","findIndex","newIndex","newList","arrayMove","setFields","value","onDropChange","dragOverlayItem","useMemo","targetIndex","current","find","gapHalf","itemGap","BlockLayout","DndContext","collisionDetection","closestCenter","onDragStart","onDragEnd","List","rules","fields","_ref","_props$formListItemTi4","errors","borderRadius","border","length","formListItemTitleHorizontalUnionProps","hiddenEmptyRender","Empty","image","PRESENTED_IMAGE_SIMPLE","margin","SortableContext","temp","strategy","verticalListSortingStrategy","formListChildrenWrapper","itemStyle","padding","onCustomAddRowButton","ButtonWrapper","hidden","hiddenAddRowButton","type","block","onClick","_extends2","add","getUuid","getAddRowDefaultValues","DragOverlay","dropAnimation","duration","ErrorList","color"],"mappings":"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"}
@@ -2,5 +2,5 @@
2
2
  import './../icon-wrapper/index.css';
3
3
  import './index.css';
4
4
  /*! @flatjs/forge MIT @flatbiz/antd */
5
- import{_ as r,a as n}from"../_rollupPluginBabelHelpers-a0769acd.js";import{useSensors as o,useSensor as e,PointerSensor as t,DndContext as i}from"@dnd-kit/core";import{restrictToVerticalAxis as a}from"@dnd-kit/modifiers";import{useSortable as d,SortableContext as s,verticalListSortingStrategy as c,arrayMove as l}from"@dnd-kit/sortable";import{Table as f}from"antd";import{Children as u,cloneElement as m,isValidElement as v,useState as p,useEffect as g,useMemo as x}from"react";import{createCtx as y}from"@wove/react/cjs/create-ctx";import{CSS as b}from"@dnd-kit/utilities";import{jsx as I}from"react/jsx-runtime";import h from"@ant-design/icons/es/icons/DragOutlined";import{noop as k}from"@flatbiz/utils";import{IconWrapper as D}from"../icon-wrapper/index.js";import"@dimjs/utils/cjs/class-names";import"@dimjs/lang/cjs/is-undefined";var j=y(),w=j[0],S=j[1];var C=function n(o){var e=d({id:o["data-row-key"]}),t=e.listeners,i=e.setNodeRef,a=e.transform,s=e.transition,c=e.isDragging;var l=r({},o.style,{transform:b.Transform.toString(a&&r({},a,{scaleY:1})),transition:s,cursor:"move"},c?{position:"relative",zIndex:9999,boxShadow:" 0px 0px 12px 4px rgba(34, 33, 81, 0.1)"}:{});return I("tr",r({},o,{ref:i,style:l},t))};var z=["dragIcon"];var A=function o(e){var t=e.dragIcon,i=n(e,z);var a=i["data-row-key"];var s=d({id:a}),c=s.setActivatorNodeRef,l=s.listeners,f=s.setNodeRef,p=s.transform,g=s.transition,x=s.isDragging;if(!a){return I("tr",r({},i))}var y=r({},i.style,{transform:b.Transform.toString(p&&r({},p,{scaleY:1})),transition:g,cursor:t===false?"move":undefined},x?{position:"relative",zIndex:9999,boxShadow:" 0px 0px 12px 4px rgba(34, 33, 81, 0.1)",backgroundColor:"var(--block-bg-color)"}:{});var j=v(t)?t:I(h,{});return I("tr",r({},i,{ref:f,style:y,children:u.map(e.children,(function(n){if(n.key==="sort"){return m(n,{children:I("span",r({ref:c,style:{touchAction:"none",cursor:"move",position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",display:"inline-flex"}},l,{children:I(D,{style:{touchAction:"none",cursor:"move",padding:"1px 0px",margin:0,justifyContent:"center",color:"#787878"},icon:j,onClick:k,size:"small"})}))})}return n}))}))};var K=function n(o){var e=w();return e.dragIcon===false?I(C,r({},o,{dragIcon:e.dragIcon})):I(A,r({},o,{dragIcon:e.dragIcon}))};var N=["dragIcon","uidFieldKey","columns","dataSource","onDragChange","disabledDrag"];var R=function d(u){var m;var v=u.dragIcon,y=u.uidFieldKey,b=u.columns,h=u.dataSource,k=u.onDragChange,D=u.disabledDrag,j=n(u,N);var w=p([]),C=w[0],z=w[1];g((function(){z(h||[])}),[h]);var A=function r(n){var o=n.active,e=n.over;if(o.id!==(e==null?void 0:e.id)){var t=C.findIndex((function(r){return r[y]===o.id}));var i=C.findIndex((function(r){return r[y]===(e==null?void 0:e.id)}));var a=l(C,t,i);z([].concat(a));k==null?void 0:k(a,{activeId:o.id,activeIndex:t,overIndex:i})}};var R=x((function(){if(v===false||u.disabledDrag)return b;return[{key:"sort",dataIndex:"sort",align:"center",width:50}].concat(b||[])}),[b,v,u.disabledDrag]);var F=o(e(t,{activationConstraint:{delay:v===false?150:0,tolerance:0}}));return I(S,{value:{dragIcon:v},children:I(i,{sensors:F,modifiers:[a],onDragEnd:A,children:I(s,{items:C.map((function(r){return r[y]})),strategy:c,children:I(f,r({pagination:false,rowKey:y,bordered:true,components:r({},j.components,{body:r({},(m=j.components)==null?void 0:m.body,{row:D?undefined:K})})},j,{dataSource:C,columns:R}))})})})};export{R as DragTable};
5
+ import{_ as r,a as n}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{useSensors as o,useSensor as e,PointerSensor as t,DndContext as a}from"@dnd-kit/core";import{restrictToVerticalAxis as i}from"@dnd-kit/modifiers";import{useSortable as d,SortableContext as s,verticalListSortingStrategy as c,arrayMove as l}from"@dnd-kit/sortable";import{Table as f}from"antd";import{Children as u,cloneElement as m,isValidElement as v,useState as p,useEffect as g,useMemo as x}from"react";import{createCtx as y}from"@wove/react/cjs/create-ctx";import{CSS as b}from"@dnd-kit/utilities";import{jsx as I}from"react/jsx-runtime";import h from"@ant-design/icons/es/icons/DragOutlined";import{noop as k}from"@flatbiz/utils";import{IconWrapper as D}from"../icon-wrapper/index.js";import"@dimjs/utils/cjs/class-names";import"@dimjs/lang/cjs/is-undefined";var j=y(),w=j[0],S=j[1];var C=function n(o){var e=d({id:o["data-row-key"]}),t=e.listeners,a=e.setNodeRef,i=e.transform,s=e.transition,c=e.isDragging;var l=r({},o.style,{transform:b.Transform.toString(i&&r({},i,{scaleY:1})),transition:s,cursor:"move"},c?{position:"relative",zIndex:9999,boxShadow:" 0px 0px 12px 4px rgba(34, 33, 81, 0.1)"}:{});return I("tr",r({},o,{ref:a,style:l},t))};var z=["dragIcon"];var A=function o(e){var t=e.dragIcon,a=n(e,z);var i=a["data-row-key"];var s=d({id:i}),c=s.setActivatorNodeRef,l=s.listeners,f=s.setNodeRef,p=s.transform,g=s.transition,x=s.isDragging;if(!i){return I("tr",r({},a))}var y=r({},a.style,{transform:b.Transform.toString(p&&r({},p,{scaleY:1})),transition:g,cursor:t===false?"move":undefined},x?{position:"relative",zIndex:9999,boxShadow:" 0px 0px 12px 4px rgba(34, 33, 81, 0.1)",backgroundColor:"var(--block-bg-color)"}:{});var j=v(t)?t:I(h,{});return I("tr",r({},a,{ref:f,style:y,children:u.map(e.children,(function(n){if(n.key==="sort"){return m(n,{children:I("span",r({ref:c,style:{touchAction:"none",cursor:"move",position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",display:"inline-flex"}},l,{children:I(D,{style:{touchAction:"none",cursor:"move",padding:"1px 0px",margin:0,justifyContent:"center",color:"#787878"},icon:j,onClick:k,size:"small"})}))})}return n}))}))};var K=function n(o){var e=w();return e.dragIcon===false?I(C,r({},o,{dragIcon:e.dragIcon})):I(A,r({},o,{dragIcon:e.dragIcon}))};var N=["dragIcon","uidFieldKey","columns","dataSource","onDragChange","disabledDrag"];var R=function d(u){var m;var v=u.dragIcon,y=u.uidFieldKey,b=u.columns,h=u.dataSource,k=u.onDragChange,D=u.disabledDrag,j=n(u,N);var w=p([]),C=w[0],z=w[1];g((function(){z(h||[])}),[h]);var A=function r(n){var o=n.active,e=n.over;if(o.id!==(e==null?void 0:e.id)){var t=C.findIndex((function(r){return r[y]===o.id}));var a=C.findIndex((function(r){return r[y]===(e==null?void 0:e.id)}));var i=l(C,t,a);z([].concat(i));k==null||k(i,{activeId:o.id,activeIndex:t,overIndex:a})}};var R=x((function(){if(v===false||u.disabledDrag)return b;return[{key:"sort",dataIndex:"sort",align:"center",width:50}].concat(b||[])}),[b,v,u.disabledDrag]);var F=o(e(t,{activationConstraint:{delay:v===false?150:0,tolerance:0}}));return I(S,{value:{dragIcon:v},children:I(a,{sensors:F,modifiers:[i],onDragEnd:A,children:I(s,{items:C.map((function(r){return r[y]})),strategy:c,children:I(f,r({pagination:false,rowKey:y,bordered:true,components:r({},j.components,{body:r({},(m=j.components)==null?void 0:m.body,{row:D?undefined:K})})},j,{dataSource:C,columns:R}))})})})};export{R as DragTable};
6
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/drag-table/context.ts","@flatbiz/antd/src/drag-table/table-tr.tsx","@flatbiz/antd/src/drag-table/table-tr-handle.tsx","@flatbiz/antd/src/drag-table/row.tsx","@flatbiz/antd/src/drag-table/drag-table.tsx"],"sourcesContent":["import { createCtx } from '@wove/react';\nimport { type ReactElement } from 'react';\n\nexport const [getCtx, CtxProvider] = createCtx<{\n dragIcon?: false | ReactElement;\n}>();\n","import { useSortable } from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\n\nexport const TableTr = (props) => {\n const { listeners, setNodeRef, transform, transition, isDragging } = useSortable({\n id: props['data-row-key'],\n });\n\n const style: React.CSSProperties = {\n ...props.style,\n transform: CSS.Transform.toString(transform && { ...transform, scaleY: 1 }),\n transition,\n cursor: 'move',\n ...(isDragging\n ? {\n position: 'relative',\n zIndex: 9999,\n boxShadow: ' 0px 0px 12px 4px rgba(34, 33, 81, 0.1)',\n }\n : {}),\n };\n\n return <tr {...props} ref={setNodeRef} style={style} {...listeners} />;\n};\n","import { DragOutlined } from '@ant-design/icons';\nimport { useSortable } from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\nimport { noop } from '@flatbiz/utils';\nimport { type RowProps } from 'antd';\nimport { Children, cloneElement, isValidElement, type ReactElement } from 'react';\nimport { IconWrapper } from '../icon-wrapper';\ntype TableTrHandleProps = RowProps & {\n dragIcon?: false | ReactElement;\n};\nexport const TableTrHandle = (props: TableTrHandleProps) => {\n const { dragIcon, ...innerProps } = props;\n const rowId = innerProps['data-row-key'];\n const { setActivatorNodeRef, listeners, setNodeRef, transform, transition, isDragging } = useSortable({\n id: rowId,\n });\n\n if (!rowId) {\n return <tr {...innerProps} />;\n }\n const style: React.CSSProperties = {\n ...innerProps.style,\n transform: CSS.Transform.toString(transform && { ...transform, scaleY: 1 }),\n transition,\n cursor: dragIcon === false ? 'move' : undefined,\n ...(isDragging\n ? {\n position: 'relative',\n zIndex: 9999,\n boxShadow: ' 0px 0px 12px 4px rgba(34, 33, 81, 0.1)',\n backgroundColor: 'var(--block-bg-color)',\n }\n : {}),\n };\n const iconElement = isValidElement(dragIcon) ? dragIcon : <DragOutlined />;\n return (\n <tr {...innerProps} ref={setNodeRef} style={style}>\n {Children.map(props.children, (child) => {\n if ((child as React.ReactElement).key === 'sort') {\n return cloneElement(child as React.ReactElement, {\n children: (\n <span\n ref={setActivatorNodeRef}\n style={{\n touchAction: 'none',\n cursor: 'move',\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n display: 'inline-flex',\n }}\n {...listeners}\n >\n <IconWrapper\n style={{\n touchAction: 'none',\n cursor: 'move',\n padding: '1px 0px',\n margin: 0,\n justifyContent: 'center',\n color: '#787878',\n }}\n icon={iconElement}\n onClick={noop}\n size=\"small\"\n />\n </span>\n ),\n });\n }\n return child;\n })}\n </tr>\n );\n};\n","import { getCtx } from './context';\nimport { TableTr } from './table-tr';\nimport { TableTrHandle } from './table-tr-handle';\n\nexport const Row = (props) => {\n const ctx = getCtx();\n return ctx.dragIcon === false ? (\n <TableTr {...props} dragIcon={ctx.dragIcon} />\n ) : (\n <TableTrHandle {...props} dragIcon={ctx.dragIcon} />\n );\n};\n","import { DndContext, PointerSensor, useSensor, useSensors, type DragEndEvent } from '@dnd-kit/core';\nimport { restrictToVerticalAxis } from '@dnd-kit/modifiers';\nimport { arrayMove, SortableContext, verticalListSortingStrategy } from '@dnd-kit/sortable';\nimport { type TAny, type TPlainObject } from '@flatbiz/utils';\nimport { Table, type TableProps } from 'antd';\nimport { useEffect, useMemo, useState, type ReactElement } from 'react';\nimport { CtxProvider } from './context';\nimport { Row } from './row';\n\ntype DragTableProps = Omit<TableProps<TPlainObject>, 'dataSource'> & {\n /**\n * ```\n * 1. 可自定义拖拽图标\n * 2. dragIcon = false,可设置表格行拖拽\n * ```\n */\n dragIcon?: false | ReactElement;\n /** 表格数据唯一值字段Key,未填或者无法唯一,都不能拖拽能力 */\n uidFieldKey: string;\n dataSource?: TPlainObject[];\n /** 禁用拖拽 */\n disabledDrag?: boolean;\n /**\n * 拖拽结束事件\n * ```\n * dataSource: 拖拽完成后的数据源\n * dragData\n * 1. activeId 拖拽ID\n * 2. activeIndex 拖拽起始表格数组索引值\n * 3. overIndex 拖拽结束表格数组索引值\n * ```\n */\n onDragChange?: (\n dataSource: TPlainObject[],\n dragData: {\n activeId: string | number;\n activeIndex: number;\n overIndex: number;\n },\n ) => void;\n};\n\n/**\n * 可拖拽表格\n * ```\n * 1. 必须设置唯一值字段 uidFieldKey\n * 2. 如果拖拽显示异常,请检查 uidFieldKey 是否正确\n * 3. Table 参数 components.body.row 被组件内部使用\n * ```\n */\nexport const DragTable = (props: DragTableProps) => {\n const { dragIcon, uidFieldKey, columns, dataSource, onDragChange, disabledDrag, ...otherProps } = props;\n const [dataList, setDataList] = useState<TAny[]>([]);\n\n useEffect(() => {\n setDataList(dataSource || []);\n }, [dataSource]);\n\n const onDragEnd = ({ active, over }: DragEndEvent) => {\n if (active.id !== over?.id) {\n const activeIndex = dataList.findIndex((i) => i[uidFieldKey] === active.id);\n const overIndex = dataList.findIndex((i) => i[uidFieldKey] === over?.id);\n const dataListNew = arrayMove(dataList, activeIndex, overIndex);\n setDataList([...dataListNew]);\n onDragChange?.(dataListNew, {\n activeId: active.id,\n activeIndex,\n overIndex,\n });\n }\n };\n\n const columnsList = useMemo(() => {\n if (dragIcon === false || props.disabledDrag) return columns;\n return [\n {\n key: 'sort',\n dataIndex: 'sort',\n align: 'center',\n width: 50,\n } as TAny,\n ].concat(columns || []);\n }, [columns, dragIcon, props.disabledDrag]);\n\n const sensors = useSensors(\n useSensor(PointerSensor, {\n activationConstraint: {\n // 当拖拽触发区域有其他点击事件时,需要延迟触发拖拽动作\n delay: dragIcon === false ? 150 : 0,\n tolerance: 0,\n },\n }),\n );\n\n return (\n <CtxProvider value={{ dragIcon }}>\n <DndContext sensors={sensors} modifiers={[restrictToVerticalAxis]} onDragEnd={onDragEnd}>\n <SortableContext items={dataList.map((i) => i[uidFieldKey])} strategy={verticalListSortingStrategy}>\n <Table\n pagination={false}\n rowKey={uidFieldKey}\n bordered\n components={{\n ...otherProps.components,\n body: {\n ...otherProps.components?.body,\n row: disabledDrag ? undefined : Row,\n },\n }}\n {...otherProps}\n dataSource={dataList}\n columns={columnsList}\n />\n </SortableContext>\n </DndContext>\n </CtxProvider>\n );\n};\n"],"names":["_createCtx","_createCtx2","getCtx","CtxProvider","TableTr","props","_useSortable","useSortable","id","listeners","setNodeRef","transform","transition","isDragging","style","_extends","CSS","Transform","toString","scaleY","cursor","position","zIndex","boxShadow","_jsx","ref","TableTrHandle","dragIcon","innerProps","_objectWithoutPropertiesLoose","_excluded","rowId","setActivatorNodeRef","undefined","backgroundColor","iconElement","isValidElement","_DragOutlined","children","Children","map","child","key","cloneElement","touchAction","top","left","display","IconWrapper","padding","margin","justifyContent","color","icon","onClick","noop","size","Row","ctx","DragTable","_otherProps$component","uidFieldKey","columns","dataSource","onDragChange","disabledDrag","otherProps","_useState","useState","dataList","setDataList","useEffect","onDragEnd","_ref","active","over","activeIndex","findIndex","i","overIndex","dataListNew","arrayMove","concat","activeId","columnsList","useMemo","dataIndex","align","width","sensors","useSensors","useSensor","PointerSensor","activationConstraint","delay","tolerance","value","DndContext","modifiers","restrictToVerticalAxis","SortableContext","items","strategy","verticalListSortingStrategy","Table","pagination","rowKey","bordered","components","body","row"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/drag-table/context.ts","@flatbiz/antd/src/drag-table/table-tr.tsx","@flatbiz/antd/src/drag-table/table-tr-handle.tsx","@flatbiz/antd/src/drag-table/row.tsx","@flatbiz/antd/src/drag-table/drag-table.tsx"],"sourcesContent":["import { createCtx } from '@wove/react';\nimport { type ReactElement } from 'react';\n\nexport const [getCtx, CtxProvider] = createCtx<{\n dragIcon?: false | ReactElement;\n}>();\n","import { useSortable } from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\n\nexport const TableTr = (props) => {\n const { listeners, setNodeRef, transform, transition, isDragging } = useSortable({\n id: props['data-row-key'],\n });\n\n const style: React.CSSProperties = {\n ...props.style,\n transform: CSS.Transform.toString(transform && { ...transform, scaleY: 1 }),\n transition,\n cursor: 'move',\n ...(isDragging\n ? {\n position: 'relative',\n zIndex: 9999,\n boxShadow: ' 0px 0px 12px 4px rgba(34, 33, 81, 0.1)',\n }\n : {}),\n };\n\n return <tr {...props} ref={setNodeRef} style={style} {...listeners} />;\n};\n","import { DragOutlined } from '@ant-design/icons';\nimport { useSortable } from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\nimport { noop } from '@flatbiz/utils';\nimport { type RowProps } from 'antd';\nimport { Children, cloneElement, isValidElement, type ReactElement } from 'react';\nimport { IconWrapper } from '../icon-wrapper';\ntype TableTrHandleProps = RowProps & {\n dragIcon?: false | ReactElement;\n};\nexport const TableTrHandle = (props: TableTrHandleProps) => {\n const { dragIcon, ...innerProps } = props;\n const rowId = innerProps['data-row-key'];\n const { setActivatorNodeRef, listeners, setNodeRef, transform, transition, isDragging } = useSortable({\n id: rowId,\n });\n\n if (!rowId) {\n return <tr {...innerProps} />;\n }\n const style: React.CSSProperties = {\n ...innerProps.style,\n transform: CSS.Transform.toString(transform && { ...transform, scaleY: 1 }),\n transition,\n cursor: dragIcon === false ? 'move' : undefined,\n ...(isDragging\n ? {\n position: 'relative',\n zIndex: 9999,\n boxShadow: ' 0px 0px 12px 4px rgba(34, 33, 81, 0.1)',\n backgroundColor: 'var(--block-bg-color)',\n }\n : {}),\n };\n const iconElement = isValidElement(dragIcon) ? dragIcon : <DragOutlined />;\n return (\n <tr {...innerProps} ref={setNodeRef} style={style}>\n {Children.map(props.children, (child) => {\n if ((child as React.ReactElement).key === 'sort') {\n return cloneElement(child as React.ReactElement, {\n children: (\n <span\n ref={setActivatorNodeRef}\n style={{\n touchAction: 'none',\n cursor: 'move',\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n display: 'inline-flex',\n }}\n {...listeners}\n >\n <IconWrapper\n style={{\n touchAction: 'none',\n cursor: 'move',\n padding: '1px 0px',\n margin: 0,\n justifyContent: 'center',\n color: '#787878',\n }}\n icon={iconElement}\n onClick={noop}\n size=\"small\"\n />\n </span>\n ),\n });\n }\n return child;\n })}\n </tr>\n );\n};\n","import { getCtx } from './context';\nimport { TableTr } from './table-tr';\nimport { TableTrHandle } from './table-tr-handle';\n\nexport const Row = (props) => {\n const ctx = getCtx();\n return ctx.dragIcon === false ? (\n <TableTr {...props} dragIcon={ctx.dragIcon} />\n ) : (\n <TableTrHandle {...props} dragIcon={ctx.dragIcon} />\n );\n};\n","import { DndContext, PointerSensor, useSensor, useSensors, type DragEndEvent } from '@dnd-kit/core';\nimport { restrictToVerticalAxis } from '@dnd-kit/modifiers';\nimport { arrayMove, SortableContext, verticalListSortingStrategy } from '@dnd-kit/sortable';\nimport { type TAny, type TPlainObject } from '@flatbiz/utils';\nimport { Table, type TableProps } from 'antd';\nimport { useEffect, useMemo, useState, type ReactElement } from 'react';\nimport { CtxProvider } from './context';\nimport { Row } from './row';\n\ntype DragTableProps = Omit<TableProps<TPlainObject>, 'dataSource'> & {\n /**\n * ```\n * 1. 可自定义拖拽图标\n * 2. dragIcon = false,可设置表格行拖拽\n * ```\n */\n dragIcon?: false | ReactElement;\n /** 表格数据唯一值字段Key,未填或者无法唯一,都不能拖拽能力 */\n uidFieldKey: string;\n dataSource?: TPlainObject[];\n /** 禁用拖拽 */\n disabledDrag?: boolean;\n /**\n * 拖拽结束事件\n * ```\n * dataSource: 拖拽完成后的数据源\n * dragData\n * 1. activeId 拖拽ID\n * 2. activeIndex 拖拽起始表格数组索引值\n * 3. overIndex 拖拽结束表格数组索引值\n * ```\n */\n onDragChange?: (\n dataSource: TPlainObject[],\n dragData: {\n activeId: string | number;\n activeIndex: number;\n overIndex: number;\n },\n ) => void;\n};\n\n/**\n * 可拖拽表格\n * ```\n * 1. 必须设置唯一值字段 uidFieldKey\n * 2. 如果拖拽显示异常,请检查 uidFieldKey 是否正确\n * 3. Table 参数 components.body.row 被组件内部使用\n * ```\n */\nexport const DragTable = (props: DragTableProps) => {\n const { dragIcon, uidFieldKey, columns, dataSource, onDragChange, disabledDrag, ...otherProps } = props;\n const [dataList, setDataList] = useState<TAny[]>([]);\n\n useEffect(() => {\n setDataList(dataSource || []);\n }, [dataSource]);\n\n const onDragEnd = ({ active, over }: DragEndEvent) => {\n if (active.id !== over?.id) {\n const activeIndex = dataList.findIndex((i) => i[uidFieldKey] === active.id);\n const overIndex = dataList.findIndex((i) => i[uidFieldKey] === over?.id);\n const dataListNew = arrayMove(dataList, activeIndex, overIndex);\n setDataList([...dataListNew]);\n onDragChange?.(dataListNew, {\n activeId: active.id,\n activeIndex,\n overIndex,\n });\n }\n };\n\n const columnsList = useMemo(() => {\n if (dragIcon === false || props.disabledDrag) return columns;\n return [\n {\n key: 'sort',\n dataIndex: 'sort',\n align: 'center',\n width: 50,\n } as TAny,\n ].concat(columns || []);\n }, [columns, dragIcon, props.disabledDrag]);\n\n const sensors = useSensors(\n useSensor(PointerSensor, {\n activationConstraint: {\n // 当拖拽触发区域有其他点击事件时,需要延迟触发拖拽动作\n delay: dragIcon === false ? 150 : 0,\n tolerance: 0,\n },\n }),\n );\n\n return (\n <CtxProvider value={{ dragIcon }}>\n <DndContext sensors={sensors} modifiers={[restrictToVerticalAxis]} onDragEnd={onDragEnd}>\n <SortableContext items={dataList.map((i) => i[uidFieldKey])} strategy={verticalListSortingStrategy}>\n <Table\n pagination={false}\n rowKey={uidFieldKey}\n bordered\n components={{\n ...otherProps.components,\n body: {\n ...otherProps.components?.body,\n row: disabledDrag ? undefined : Row,\n },\n }}\n {...otherProps}\n dataSource={dataList}\n columns={columnsList}\n />\n </SortableContext>\n </DndContext>\n </CtxProvider>\n );\n};\n"],"names":["_createCtx","_createCtx2","getCtx","CtxProvider","TableTr","props","_useSortable","useSortable","id","listeners","setNodeRef","transform","transition","isDragging","style","_extends","CSS","Transform","toString","scaleY","cursor","position","zIndex","boxShadow","_jsx","ref","TableTrHandle","dragIcon","innerProps","_objectWithoutPropertiesLoose","_excluded","rowId","setActivatorNodeRef","undefined","backgroundColor","iconElement","isValidElement","_DragOutlined","children","Children","map","child","key","cloneElement","touchAction","top","left","display","IconWrapper","padding","margin","justifyContent","color","icon","onClick","noop","size","Row","ctx","DragTable","_otherProps$component","uidFieldKey","columns","dataSource","onDragChange","disabledDrag","otherProps","_useState","useState","dataList","setDataList","useEffect","onDragEnd","_ref","active","over","activeIndex","findIndex","i","overIndex","dataListNew","arrayMove","concat","activeId","columnsList","useMemo","dataIndex","align","width","sensors","useSensors","useSensor","PointerSensor","activationConstraint","delay","tolerance","value","DndContext","modifiers","restrictToVerticalAxis","SortableContext","items","strategy","verticalListSortingStrategy","Table","pagination","rowKey","bordered","components","body","row"],"mappings":";s0BAGO,IAAAA,EAA8BC,IAAvBC,EAAMF,EAAA,GAAEG,EAAWH,EAAA,GCA1B,IAAMI,EAAU,SAAVA,EAAWC,GACtB,IAAAC,EAAqEC,EAAY,CAC/EC,GAAIH,EAAM,kBADJI,EAASH,EAATG,UAAWC,EAAUJ,EAAVI,WAAYC,EAASL,EAATK,UAAWC,EAAUN,EAAVM,WAAYC,EAAUP,EAAVO,WAItD,IAAMC,EAA0BC,EAC3BV,GAAAA,EAAMS,MAAK,CACdH,UAAWK,EAAIC,UAAUC,SAASP,GAASI,EAAA,CAAA,EAASJ,EAAS,CAAEQ,OAAQ,KACvEP,WAAAA,EACAQ,OAAQ,QACJP,EACA,CACEQ,SAAU,WACVC,OAAQ,KACRC,UAAW,2CAEb,CAAE,GAGR,OAAOC,EAAA,KAAAT,EAAA,CAAA,EAAQV,EAAK,CAAEoB,IAAKf,EAAYI,MAAOA,GAAWL,GAC3D,qBCbO,IAAMiB,EAAgB,SAAhBA,EAAiBrB,GAC5B,IAAQsB,EAA4BtB,EAA5BsB,SAAaC,EAAUC,EAAKxB,EAAKyB,GACzC,IAAMC,EAAQH,EAAW,gBACzB,IAAAtB,EAA0FC,EAAY,CACpGC,GAAIuB,IADEC,EAAmB1B,EAAnB0B,oBAAqBvB,EAASH,EAATG,UAAWC,EAAUJ,EAAVI,WAAYC,EAASL,EAATK,UAAWC,EAAUN,EAAVM,WAAYC,EAAUP,EAAVO,WAI3E,IAAKkB,EAAO,CACV,OAAOP,EAAAT,KAAAA,EAAQa,CAAAA,EAAAA,GACjB,CACA,IAAMd,EAA0BC,EAC3Ba,GAAAA,EAAWd,MAAK,CACnBH,UAAWK,EAAIC,UAAUC,SAASP,GAASI,EAAA,CAAA,EAASJ,EAAS,CAAEQ,OAAQ,KACvEP,WAAAA,EACAQ,OAAQO,IAAa,MAAQ,OAASM,WAClCpB,EACA,CACEQ,SAAU,WACVC,OAAQ,KACRC,UAAW,0CACXW,gBAAiB,yBAEnB,CAAE,GAER,IAAMC,EAAcC,EAAeT,GAAYA,EAAWH,EAAAa,MAC1D,OACEb,EAAA,KAAAT,EAAA,CAAA,EAAQa,EAAU,CAAEH,IAAKf,EAAYI,MAAOA,EAAMwB,SAC/CC,EAASC,IAAInC,EAAMiC,UAAU,SAACG,GAC7B,GAAKA,EAA6BC,MAAQ,OAAQ,CAChD,OAAOC,EAAaF,EAA6B,CAC/CH,SACEd,EAAA,OAAAT,EAAA,CACEU,IAAKO,EACLlB,MAAO,CACL8B,YAAa,OACbxB,OAAQ,OACRC,SAAU,WACVwB,IAAK,MACLC,KAAM,MACNnC,UAAW,wBACXoC,QAAS,gBAEPtC,EAAS,CAAA6B,SAEbd,EAACwB,EAAW,CACVlC,MAAO,CACL8B,YAAa,OACbxB,OAAQ,OACR6B,QAAS,UACTC,OAAQ,EACRC,eAAgB,SAChBC,MAAO,WAETC,KAAMlB,EACNmB,QAASC,EACTC,KAAK,cAKf,CACA,OAAOf,OAIf,ECvEO,IAAMgB,EAAM,SAANA,EAAOpD,GAClB,IAAMqD,EAAMxD,IACZ,OAAOwD,EAAI/B,WAAa,MACtBH,EAACpB,EAAOW,EAAA,CAAA,EAAKV,EAAK,CAAEsB,SAAU+B,EAAI/B,YAElCH,EAACE,EAAaX,KAAKV,EAAK,CAAEsB,SAAU+B,EAAI/B,WAE5C,4FCuCagC,EAAY,SAAZA,EAAatD,GAA0B,IAAAuD,EAClD,IAAQjC,EAA0FtB,EAA1FsB,SAAUkC,EAAgFxD,EAAhFwD,YAAaC,EAAmEzD,EAAnEyD,QAASC,EAA0D1D,EAA1D0D,WAAYC,EAA8C3D,EAA9C2D,aAAcC,EAAgC5D,EAAhC4D,aAAiBC,EAAUrC,EAAKxB,EAAKyB,GACvG,IAAAqC,EAAgCC,EAAiB,IAA1CC,EAAQF,EAAA,GAAEG,EAAWH,EAAA,GAE5BI,GAAU,WACRD,EAAYP,GAAc,GAC5B,GAAG,CAACA,IAEJ,IAAMS,EAAY,SAAZA,EAASC,GAAuC,IAAjCC,EAAMD,EAANC,OAAQC,EAAIF,EAAJE,KAC3B,GAAID,EAAOlE,MAAOmE,GAAAA,UAAAA,EAAAA,EAAMnE,IAAI,CAC1B,IAAMoE,EAAcP,EAASQ,WAAU,SAACC,GAAC,OAAKA,EAAEjB,KAAiBa,EAAOlE,MACxE,IAAMuE,EAAYV,EAASQ,WAAU,SAACC,GAAC,OAAKA,EAAEjB,MAAiBc,GAAI,UAAA,EAAJA,EAAMnE,OACrE,IAAMwE,EAAcC,EAAUZ,EAAUO,EAAaG,GACrDT,EAAWY,GAAAA,OAAKF,IAChBhB,GAAAA,MAAAA,EAAegB,EAAa,CAC1BG,SAAUT,EAAOlE,GACjBoE,YAAAA,EACAG,UAAAA,GAEJ,GAGF,IAAMK,EAAcC,GAAQ,WAC1B,GAAI1D,IAAa,OAAStB,EAAM4D,aAAc,OAAOH,EACrD,MAAO,CACL,CACEpB,IAAK,OACL4C,UAAW,OACXC,MAAO,SACPC,MAAO,KAETN,OAAOpB,GAAW,GACrB,GAAE,CAACA,EAASnC,EAAUtB,EAAM4D,eAE7B,IAAMwB,EAAUC,EACdC,EAAUC,EAAe,CACvBC,qBAAsB,CAEpBC,MAAOnE,IAAa,MAAQ,IAAM,EAClCoE,UAAW,MAKjB,OACEvE,EAACrB,EAAW,CAAC6F,MAAO,CAAErE,SAAAA,GAAWW,SAC/Bd,EAACyE,EAAU,CAACR,QAASA,EAASS,UAAW,CAACC,GAAyB3B,UAAWA,EAAUlC,SACtFd,EAAC4E,EAAe,CAACC,MAAOhC,EAAS7B,KAAI,SAACsC,GAAC,OAAKA,EAAEjB,MAAeyC,SAAUC,EAA4BjE,SACjGd,EAACgF,EAAKzF,EAAA,CACJ0F,WAAY,MACZC,OAAQ7C,EACR8C,SAAQ,KACRC,WAAU7F,EACLmD,GAAAA,EAAW0C,WAAU,CACxBC,KAAI9F,EAAA,IAAA6C,EACCM,EAAW0C,aAAU,UAAA,EAArBhD,EAAuBiD,KAAI,CAC9BC,IAAK7C,EAAehC,UAAYwB,OAGhCS,EAAU,CACdH,WAAYM,EACZP,QAASsB,UAMrB"}
@@ -2,5 +2,5 @@
2
2
  import './../fba-hooks/index.css';
3
3
  import './index.css';
4
4
  /*! @flatjs/forge MIT @flatbiz/antd */
5
- import{classNames as r}from"@dimjs/utils/cjs/class-names";import{_ as e,a as o}from"../_rollupPluginBabelHelpers-a0769acd.js";import{Space as a,Button as n,Drawer as i}from"antd";import{Fragment as t}from"react";import{fbaHooks as s}from"../fba-hooks/index.js";import l from"@ant-design/icons/es/icons/SaveOutlined";import{jsx as c,jsxs as d}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-array";import"@wove/react/cjs/hooks";import"@flatbiz/utils";import"../use-responsive-point-21b8c601.js";var p=function r(o){return c("div",{className:"fixed-bottom-block",children:d(a,{size:"middle",children:[c(n,e({},o.cancelButtonProps,{className:"cancel-btn",onClick:o.onCancel,children:o.cancelText||"取消"})),o.hideOkBtn!=true&&c(n,e({type:"primary",icon:c(l,{})},o.okButtonProps,{className:"ok-btn",onClick:o.onOk,loading:o.loading,children:o.okText||"提交"}))]})})};var m=["pageLoading","className","width","children"];var u=function r(){return c("div",{className:"drawer-wrapper-loader",children:d("div",{className:"loader-wrapper",children:[c("div",{className:"loader-inner"}),c("div",{className:"loader-text",children:"LOADING"})]})})};var f=function r(o){return d(t,{children:[c("div",{className:"drawer-wrapper-content",children:o.children}),o.operationProps?c(h,{children:c(p,e({},o.operationProps))}):null]})};var h=function r(e){return c("div",{className:"drawer-wrapper-footer",children:e.children})};var v=function a(n){var t=n.pageLoading,l=n.className,p=n.width,f=p===void 0?600:p,h=n.children,v=o(n,m);s.useEffectCustom((function(){if(n["operationProps"]){throw new Error("DrawerWrapper组件升级,参数operationProps用法变更,请及时更新")}}),[]);return d(i,e({className:r("drawer-wrapper",l),keyboard:false,destroyOnClose:true,forceRender:false,width:"80%",contentWrapperStyle:{maxWidth:f},size:"default"},v,{footer:null,children:[t&&c(u,{}),h]}))};v.Content=f;v.Footer=h;export{v as DrawerWrapper};
5
+ import{classNames as r}from"@dimjs/utils/cjs/class-names";import{_ as e,a as o}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{Space as a,Button as n,Drawer as i}from"antd";import{Fragment as t}from"react";import{fbaHooks as s}from"../fba-hooks/index.js";import l from"@ant-design/icons/es/icons/SaveOutlined";import{jsx as c,jsxs as d}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-array";import"@wove/react/cjs/hooks";import"@flatbiz/utils";import"../use-responsive-point-21b8c601.js";var p=function r(o){return c("div",{className:"fixed-bottom-block",children:d(a,{size:"middle",children:[c(n,e({},o.cancelButtonProps,{className:"cancel-btn",onClick:o.onCancel,children:o.cancelText||"取消"})),o.hideOkBtn!=true&&c(n,e({type:"primary",icon:c(l,{})},o.okButtonProps,{className:"ok-btn",onClick:o.onOk,loading:o.loading,children:o.okText||"提交"}))]})})};var m=["pageLoading","className","width","children"];var u=function r(){return c("div",{className:"drawer-wrapper-loader",children:d("div",{className:"loader-wrapper",children:[c("div",{className:"loader-inner"}),c("div",{className:"loader-text",children:"LOADING"})]})})};var f=function r(o){return d(t,{children:[c("div",{className:"drawer-wrapper-content",children:o.children}),o.operationProps?c(h,{children:c(p,e({},o.operationProps))}):null]})};var h=function r(e){return c("div",{className:"drawer-wrapper-footer",children:e.children})};var v=function a(n){var t=n.pageLoading,l=n.className,p=n.width,f=p===void 0?600:p,h=n.children,v=o(n,m);s.useEffectCustom((function(){if(n["operationProps"]){throw new Error("DrawerWrapper组件升级,参数operationProps用法变更,请及时更新")}}),[]);return d(i,e({className:r("drawer-wrapper",l),keyboard:false,destroyOnClose:true,forceRender:false,width:"80%",contentWrapperStyle:{maxWidth:f},size:"default"},v,{footer:null,children:[t&&c(u,{}),h]}))};v.Content=f;v.Footer=h;export{v as DrawerWrapper};
6
6
  //# sourceMappingURL=index.js.map
@@ -9,5 +9,5 @@ import './../dialog-modal/index.css';
9
9
  import './../flex-layout/index.css';
10
10
  import './index.css';
11
11
  /*! @flatjs/forge MIT @flatbiz/antd */
12
- import{classNames as e}from"@dimjs/utils/cjs/class-names";import r from"@ant-design/icons/es/icons/ExclamationCircleFilled";import{a as i,_ as o}from"../_rollupPluginBabelHelpers-a0769acd.js";import{hooks as n}from"@wove/react/cjs/hooks";import{Dropdown as t}from"antd";import{Fragment as a,useMemo as s,createElement as l}from"react";import{ButtonWrapper as m}from"../button-wrapper/index.js";import{dialogConfirm as d}from"../dialog-confirm/index.js";import{fbaUtils as p}from"../fba-utils/index.js";import{FlexLayout as c}from"../flex-layout/index.js";import{jsxs as u,jsx as f}from"react/jsx-runtime";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-promise";import"@flatbiz/utils";import"../index-7f4ad045.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"../fba-hooks/index.js";import"@dimjs/lang/cjs/is-array";import"../use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/extend";import"@dimjs/model";import"../dialog-modal/index.js";import"@dimjs/lang/cjs/is-string";import"ahooks";import"react-dom/client";import"@wove/react/cjs/create-ctx";function g(e){var r=true;var i=false;while(r){if(e.tagName==="HTML"||e.tagName==="BODY"){r=false;i=false}else{var o=window.getComputedStyle(e),n=o.position;if(n==="sticky"){i=true;r=false}else{if(!e||!e.parentNode){r=false}else{e=e.parentNode}}}}return i}var j=["menuList"],v=["text","permission","needConfirm","confirmMessage","hidden","type","confirmModalProps"];var y=function y(h){var x=h.menuList,k=i(h,j);var w=n.useId(undefined,"DropdownMenuWrapper");var C=n.useCallbackRef((function(e,i){if(e.needConfirm){var n;d.open(o({title:u(c,{direction:"horizontal",fullIndex:1,gap:8,children:[f(r,{style:{color:"#faad14"}}),f("span",{children:e.title})]}),content:f(a,{children:e.confirmMessage}),onOk:(n=e.onClick)==null?void 0:n.bind(null,i),okButtonProps:{loadingPosition:"center"}},e.confirmModalProps));return Promise.resolve()}i.stopPropagation();return e.onClick==null?void 0:e.onClick(i)}));var P=document.querySelector("."+w);var b=s((function(){if(h.isFixed||P&&g(P)){return undefined}return P}),[h.isFixed,P]);var M=s((function(){var r=[];x.filter(Boolean).forEach((function(n,t){if(!n)return;var a=n.text,s=n.permission,d=n.needConfirm,c=n.confirmMessage,u=n.hidden,f=n.type,g=n.confirmModalProps,j=i(n,v);if(u)return;if(s&&!p.hasPermission(s))return;var y=f||"link";var h=j.color?false:d;r.push({key:t,label:l(m,o({loadingPosition:"center",size:"small",danger:h},j,{style:o({},j.style),className:e("dmw-item-button",j.className),type:y,key:t,onClick:C.bind(null,o({},n,{needConfirm:d,confirmMessage:c,confirmModalProps:g}))}),a)})}));return r}),[x,C]);return f("div",{className:e("dropdown-menu-wrapper",w),style:{position:"relative"},children:f(t,o({trigger:(k==null?void 0:k.trigger)||["hover"],getPopupContainer:b?function(){return P}:undefined,arrow:{pointAtCenter:true}},k,{overlayStyle:o({zIndex:9},k.overlayStyle),menu:{items:M},rootClassName:"dropdown-menu-wrapper-popup",children:h.children}))})};export{y as DropdownMenuWrapper};
12
+ import{classNames as e}from"@dimjs/utils/cjs/class-names";import r from"@ant-design/icons/es/icons/ExclamationCircleFilled";import{a as i,_ as o}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{hooks as n}from"@wove/react/cjs/hooks";import{Dropdown as t}from"antd";import{Fragment as a,useMemo as s,createElement as l}from"react";import{ButtonWrapper as m}from"../button-wrapper/index.js";import{dialogConfirm as d}from"../dialog-confirm/index.js";import{fbaUtils as p}from"../fba-utils/index.js";import{FlexLayout as c}from"../flex-layout/index.js";import{jsxs as u,jsx as f}from"react/jsx-runtime";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-promise";import"@flatbiz/utils";import"../index-83bede1b.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"@dimjs/utils/cjs/extend";import"@dimjs/model";import"../dialog-modal/index.js";import"@dimjs/lang/cjs/is-string";import"ahooks";import"react-dom/client";import"@wove/react/cjs/create-ctx";function g(e){var r=true;var i=false;while(r){if(e.tagName==="HTML"||e.tagName==="BODY"){r=false;i=false}else{var o=window.getComputedStyle(e),n=o.position;if(n==="sticky"){i=true;r=false}else{if(!e||!e.parentNode){r=false}else{e=e.parentNode}}}}return i}var j=["menuList"],v=["text","permission","needConfirm","confirmMessage","hidden","type","confirmModalProps"];var y=function y(h){var x=h.menuList,k=i(h,j);var w=n.useId(undefined,"DropdownMenuWrapper");var C=n.useCallbackRef((function(e,i){if(e.needConfirm){var n;d.open(o({title:u(c,{direction:"horizontal",fullIndex:1,gap:8,children:[f(r,{style:{color:"#faad14"}}),f("span",{children:e.title})]}),content:f(a,{children:e.confirmMessage}),onOk:(n=e.onClick)==null?void 0:n.bind(null,i),okButtonProps:{loadingPosition:"center"}},e.confirmModalProps));return Promise.resolve()}i.stopPropagation();return e.onClick==null?void 0:e.onClick(i)}));var P=document.querySelector("."+w);var b=s((function(){if(h.isFixed||P&&g(P)){return undefined}return P}),[h.isFixed,P]);var M=s((function(){var r=[];x.filter(Boolean).forEach((function(n,t){if(!n)return;var a=n.text,s=n.permission,d=n.needConfirm,c=n.confirmMessage,u=n.hidden,f=n.type,g=n.confirmModalProps,j=i(n,v);if(u)return;if(s&&!p.hasPermission(s))return;var y=f||"link";var h=j.color?false:d;r.push({key:t,label:l(m,o({loadingPosition:"center",size:"small",danger:h},j,{style:o({},j.style),className:e("dmw-item-button",j.className),type:y,key:t,onClick:C.bind(null,o({},n,{needConfirm:d,confirmMessage:c,confirmModalProps:g}))}),a)})}));return r}),[x,C]);return f("div",{className:e("dropdown-menu-wrapper",w),style:{position:"relative"},children:f(t,o({trigger:(k==null?void 0:k.trigger)||["hover"],getPopupContainer:b?function(){return P}:undefined,arrow:{pointAtCenter:true}},k,{overlayStyle:o({zIndex:9},k.overlayStyle),menu:{items:M},rootClassName:"dropdown-menu-wrapper-popup",children:h.children}))})};export{y as DropdownMenuWrapper};
13
13
  //# sourceMappingURL=index.js.map
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable */
2
2
  import './index.css';
3
3
  /*! @flatjs/forge MIT @flatbiz/antd */
4
- import{classNames as e}from"@dimjs/utils/cjs/class-names";import{createRoot as n}from"react-dom/client";import{b as t}from"../dom-4d04aa64.js";import{jsx as r}from"react/jsx-runtime";var i={append:function i(o){if(o===void 0){o={}}var d=function(){var e;if(typeof o.getContainer==="string"){e=document.querySelector(o.getContainer)}else if(typeof o.getContainer==="function"){e=o.getContainer()}else{e=t().divElement}return e}();var a=e("v-dynamic-node",{"v-dynamic-node-fixed":o.fixed},o.className);var m="id_"+Date.now();var c=n(d);c.render(r("div",{className:a,id:m,children:o.content}));window["_dynamic_node_element_id"]=m;return{elementId:m}},remove:function e(n){var t=n||window["_dynamic_node_element_id"];if(t){try{var r;(r=document.querySelector("#"+t))==null?void 0:r.remove()}catch(e){}}}};export{i as dynamicNode};
4
+ import{classNames as e}from"@dimjs/utils/cjs/class-names";import{createRoot as n}from"react-dom/client";import{b as t}from"../dom-4d04aa64.js";import{jsx as r}from"react/jsx-runtime";var i={append:function i(o){if(o===void 0){o={}}var a=function(){var e;if(typeof o.getContainer==="string"){e=document.querySelector(o.getContainer)}else if(typeof o.getContainer==="function"){e=o.getContainer()}else{e=t().divElement}return e}();var d=e("v-dynamic-node",{"v-dynamic-node-fixed":o.fixed},o.className);var m="id_"+Date.now();var c=n(a);c.render(r("div",{className:d,id:m,children:o.content}));window["_dynamic_node_element_id"]=m;return{elementId:m}},remove:function e(n){var t=n||window["_dynamic_node_element_id"];if(t){try{var r;(r=document.querySelector("#"+t))==null||r.remove()}catch(e){}}}};export{i as dynamicNode};
5
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/dynamic-node/dynamic-node.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { CSSProperties, ReactElement } from 'react';\nimport { createRoot } from 'react-dom/client';\nimport { bodyAppendDivElement } from '../_utils/dom';\nimport './style.less';\n\nexport type TDynamicNodeProps = {\n className?: string;\n getContainer?: HTMLElement | (() => HTMLElement) | string;\n content?: ReactElement;\n fixed?: boolean;\n style?: CSSProperties;\n};\n\n/**\n * 动态添加 element 元素\n * ```\n * 1. 默认添加到 body 下\n * 2. 可通过 getContainer 参数设置添加位置\n * ```\n */\nexport const dynamicNode = {\n append: (props: TDynamicNodeProps = {}) => {\n const container = (() => {\n let tempElement;\n if (typeof props.getContainer === 'string') {\n tempElement = document.querySelector(props.getContainer) as Element;\n } else if (typeof props.getContainer === 'function') {\n tempElement = props.getContainer();\n } else {\n tempElement = bodyAppendDivElement().divElement;\n }\n return tempElement as Element;\n })();\n\n const className = classNames('v-dynamic-node', { 'v-dynamic-node-fixed': props.fixed }, props.className);\n const nodeElementId = `id_${Date.now()}`;\n const root = createRoot(container);\n root.render(\n <div className={className} id={nodeElementId}>\n {props.content}\n </div>,\n );\n window['_dynamic_node_element_id'] = nodeElementId;\n return { elementId: nodeElementId };\n },\n remove: (elementId?: string) => {\n const dynamicElementId = elementId || window['_dynamic_node_element_id'];\n if (dynamicElementId) {\n try {\n document.querySelector(`#${dynamicElementId}`)?.remove();\n } catch (error) {\n //\n }\n }\n },\n};\n"],"names":["dynamicNode","append","props","container","tempElement","getContainer","document","querySelector","bodyAppendDivElement","divElement","className","_classNames","fixed","nodeElementId","Date","now","root","createRoot","render","_jsx","id","children","content","window","elementId","remove","dynamicElementId","_document$querySelect","error"],"mappings":";uLAqBO,IAAMA,EAAc,CACzBC,OAAQ,SAAAA,EAACC,GAAkC,GAAlCA,SAAwB,EAAA,CAAxBA,EAA2B,CAAA,CAAE,CACpC,IAAMC,EAAa,WACjB,IAAIC,EACJ,UAAWF,EAAMG,eAAiB,SAAU,CAC1CD,EAAcE,SAASC,cAAcL,EAAMG,aAC5C,MAAM,UAAWH,EAAMG,eAAiB,WAAY,CACnDD,EAAcF,EAAMG,cACtB,KAAO,CACLD,EAAcI,IAAuBC,UACvC,CACA,OAAOL,CACT,CAVmB,GAYnB,IAAMM,EAAYC,EAAW,iBAAkB,CAAE,uBAAwBT,EAAMU,OAASV,EAAMQ,WAC9F,IAAMG,EAAsBC,MAAAA,KAAKC,MACjC,IAAMC,EAAOC,EAAWd,GACxBa,EAAKE,OACHC,EAAA,MAAA,CAAKT,UAAWA,EAAWU,GAAIP,EAAcQ,SAC1CnB,EAAMoB,WAGXC,OAAO,4BAA8BV,EACrC,MAAO,CAAEW,UAAWX,EACrB,EACDY,OAAQ,SAAAA,EAACD,GACP,IAAME,EAAmBF,GAAaD,OAAO,4BAC7C,GAAIG,EAAkB,CACpB,IAAI,IAAAC,GACFA,EAAArB,SAASC,cAAa,IAAKmB,KAA3BC,UAAAA,EAAAA,EAAgDF,QACjD,CAAC,MAAOG,GACP,CAEJ,CACF"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/dynamic-node/dynamic-node.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { CSSProperties, ReactElement } from 'react';\nimport { createRoot } from 'react-dom/client';\nimport { bodyAppendDivElement } from '../_utils/dom';\nimport './style.less';\n\nexport type TDynamicNodeProps = {\n className?: string;\n getContainer?: HTMLElement | (() => HTMLElement) | string;\n content?: ReactElement;\n fixed?: boolean;\n style?: CSSProperties;\n};\n\n/**\n * 动态添加 element 元素\n * ```\n * 1. 默认添加到 body 下\n * 2. 可通过 getContainer 参数设置添加位置\n * ```\n */\nexport const dynamicNode = {\n append: (props: TDynamicNodeProps = {}) => {\n const container = (() => {\n let tempElement;\n if (typeof props.getContainer === 'string') {\n tempElement = document.querySelector(props.getContainer) as Element;\n } else if (typeof props.getContainer === 'function') {\n tempElement = props.getContainer();\n } else {\n tempElement = bodyAppendDivElement().divElement;\n }\n return tempElement as Element;\n })();\n\n const className = classNames('v-dynamic-node', { 'v-dynamic-node-fixed': props.fixed }, props.className);\n const nodeElementId = `id_${Date.now()}`;\n const root = createRoot(container);\n root.render(\n <div className={className} id={nodeElementId}>\n {props.content}\n </div>,\n );\n window['_dynamic_node_element_id'] = nodeElementId;\n return { elementId: nodeElementId };\n },\n remove: (elementId?: string) => {\n const dynamicElementId = elementId || window['_dynamic_node_element_id'];\n if (dynamicElementId) {\n try {\n document.querySelector(`#${dynamicElementId}`)?.remove();\n } catch (error) {\n //\n }\n }\n },\n};\n"],"names":["dynamicNode","append","props","container","tempElement","getContainer","document","querySelector","bodyAppendDivElement","divElement","className","_classNames","fixed","nodeElementId","Date","now","root","createRoot","render","_jsx","id","children","content","window","elementId","remove","dynamicElementId","_document$querySelect","error"],"mappings":";uLAqBO,IAAMA,EAAc,CACzBC,OAAQ,SAARA,EAASC,GAAkC,GAAlCA,SAAwB,EAAA,CAAxBA,EAA2B,CAAA,CAAE,CACpC,IAAMC,EAAa,WACjB,IAAIC,EACJ,UAAWF,EAAMG,eAAiB,SAAU,CAC1CD,EAAcE,SAASC,cAAcL,EAAMG,aAC5C,MAAM,UAAWH,EAAMG,eAAiB,WAAY,CACnDD,EAAcF,EAAMG,cACtB,KAAO,CACLD,EAAcI,IAAuBC,UACvC,CACA,OAAOL,CACT,CAVmB,GAYnB,IAAMM,EAAYC,EAAW,iBAAkB,CAAE,uBAAwBT,EAAMU,OAASV,EAAMQ,WAC9F,IAAMG,EAAsBC,MAAAA,KAAKC,MACjC,IAAMC,EAAOC,EAAWd,GACxBa,EAAKE,OACHC,EAAA,MAAA,CAAKT,UAAWA,EAAWU,GAAIP,EAAcQ,SAC1CnB,EAAMoB,WAGXC,OAAO,4BAA8BV,EACrC,MAAO,CAAEW,UAAWX,EACrB,EACDY,OAAQ,SAARA,EAASD,GACP,IAAME,EAAmBF,GAAaD,OAAO,4BAC7C,GAAIG,EAAkB,CACpB,IAAI,IAAAC,GACFA,EAAArB,SAASC,cAAa,IAAKmB,KAA3BC,MAAAA,EAAgDF,QACjD,CAAC,MAAOG,GACP,CAEJ,CACF"}
@@ -5,5 +5,5 @@ import './../form-wrapper/index.css';
5
5
  import './../pre-defined-class-name/index.css';
6
6
  import './index.css';
7
7
  /*! @flatjs/forge MIT @flatbiz/antd */
8
- import{classNames as r}from"@dimjs/utils/cjs/class-names";import{a as e,_ as t}from"../_rollupPluginBabelHelpers-a0769acd.js";import{isUndefinedOrNull as l,dom as a}from"@flatbiz/utils";import{Form as n}from"antd";import{useMemo as o,useRef as m,Fragment as s,Children as i,cloneElement as u}from"react";import{BoxGrid as p}from"../box-grid/index.js";import{fbaHooks as f}from"../fba-hooks/index.js";import{FormWrapper as d}from"../form-wrapper/index.js";import{preDefinedClassName as c}from"../pre-defined-class-name/index.js";import{jsxs as x,jsx as v}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-number";import"ahooks";import"@dimjs/lang/cjs/is-array";import"@wove/react/cjs/hooks";import"../use-responsive-point-21b8c601.js";var y=["column","forceColumn","children","width","gridGutter","labelWidth","labelItemVertical","labelAlign","formItemGap","isPure","nonuseFormWrapper"];var h=function h(g){var I=f.useResponsivePoint()||"";var b=g.column,F=g.forceColumn,j=g.children,W=g.width,N=g.gridGutter,G=g.labelWidth,w=g.labelItemVertical,C=g.labelAlign,A=g.formItemGap,P=A===void 0?"15":A,k=g.isPure,B=g.nonuseFormWrapper,S=e(g,y);var T=o((function(){if(F){var r=24/F;return{xs:r,sm:r,md:r,lg:r,xl:r,xxl:r}}if(!b){return{xs:24,sm:12,md:12,lg:8,xl:8,xxl:6}}var e={1:{xs:24,sm:24,md:24,lg:24,xl:24,xxl:24},2:{xs:24,sm:12,md:12,lg:12,xl:12,xxl:12},3:{xs:24,sm:12,md:12,lg:8,xl:8,xxl:8},4:{xs:24,sm:12,md:12,lg:6,xl:6,xxl:6}};return e[b]}),[b,F]);var V=function r(){var e=i.toArray(j).filter((function(r){return!!r}));return e.map((function(r,e){var l;var a=r.type["domTypeName"];var o=undefined;if(a==="FormItemText"||a==="FormItemSpan"||a==="FormItemWrapper"||a==="BoxGridCol"||a==="EasyForm"){o=r.props["span"];if(o){if(I==="xs"){o=24}else if(I==="sm"){o=o>12?o:12}}}if(a==="BoxGridCol"||a==="FormItemSpan"){if(a==="FormItemSpan"&&r.props.hidden){return null}return u(r,t({},r.props,T,{span:o,key:e}))}var m=(l=r.props)==null||(l=l.style)==null?void 0:l.display;var s=false;if(a==="FormItemText"||a==="FormItemHidden"||a==="FormItemWrapper"||a==="FormItemWrapperDependencies"||r.type===n.Item||m==="none"){s=true}if(a==="FormItemWrapper"||r.props.noStyle){s=false}return v(p.Col,t({},T,{span:o,removeWrapper:s,children:r}),e)})).filter(Boolean)};var E=o((function(){if(["xs","sm"].includes(I)||!W){return{}}return{width:W}}),[I,W]);var R=l(N)?[15,0]:N;var H=m(null);var L=function r(){try{if(B){return true}if(H.current){var e=a.findParentsElement(H.current,(function(r){var e;return(e=r.classList)==null||e.contains==null?void 0:e.contains("easy-form")}));return e?true:false}return undefined}catch(r){console.log("error",r);return false}};var _=L();var z=o((function(){if(["xs"].includes(I)){return"left"}return C}),[C,I]);var D=o((function(){return c.getFormLayoutClassName({labelWidth:G,labelItemVertical:w,labelAlign:z,formItemGap:P,className:S.className})}),[G,w,z,P,S.className]);return x(s,{children:[v("div",{className:"easy-form-anchor",ref:H}),_===true?v("div",{style:t({},E,S.style),className:r("easy-form",{"easy-form-pure":k},"easy-form-nested",D),children:k?j:v(p.Row,{gutter:R,children:V()})}):undefined,_===false?v(d,t({},S,{labelWidth:G,labelAlign:z,labelItemVertical:w,formItemGap:P,style:t({},E,S.style),className:r("easy-form",{"easy-form-pure":k},D),autoComplete:"off",children:k?j:v(p.Row,{gutter:R,children:V()})})):undefined]})};h["domTypeName"]="EasyForm";export{h as EasyForm};
8
+ import{classNames as r}from"@dimjs/utils/cjs/class-names";import{a as e,_ as t}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{isUndefinedOrNull as l,dom as a}from"@flatbiz/utils";import{Form as n}from"antd";import{useMemo as o,useRef as m,Fragment as s,Children as i,cloneElement as u}from"react";import{BoxGrid as p}from"../box-grid/index.js";import{fbaHooks as f}from"../fba-hooks/index.js";import{FormWrapper as d}from"../form-wrapper/index.js";import{preDefinedClassName as c}from"../pre-defined-class-name/index.js";import{jsxs as x,jsx as v}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-number";import"ahooks";import"@dimjs/lang/cjs/is-array";import"@wove/react/cjs/hooks";import"../use-responsive-point-21b8c601.js";var y=["column","forceColumn","children","width","gridGutter","labelWidth","labelItemVertical","labelAlign","formItemGap","isPure","nonuseFormWrapper"];var h=function h(g){var I=f.useResponsivePoint()||"";var b=g.column,F=g.forceColumn,j=g.children,W=g.width,N=g.gridGutter,G=g.labelWidth,w=g.labelItemVertical,C=g.labelAlign,A=g.formItemGap,P=A===void 0?"15":A,k=g.isPure,B=g.nonuseFormWrapper,S=e(g,y);var T=o((function(){if(F){var r=24/F;return{xs:r,sm:r,md:r,lg:r,xl:r,xxl:r}}if(!b){return{xs:24,sm:12,md:12,lg:8,xl:8,xxl:6}}var e={1:{xs:24,sm:24,md:24,lg:24,xl:24,xxl:24},2:{xs:24,sm:12,md:12,lg:12,xl:12,xxl:12},3:{xs:24,sm:12,md:12,lg:8,xl:8,xxl:8},4:{xs:24,sm:12,md:12,lg:6,xl:6,xxl:6}};return e[b]}),[b,F]);var V=function r(){var e=i.toArray(j).filter((function(r){return!!r}));return e.map((function(r,e){var l;var a=r.type["domTypeName"];var o=undefined;if(a==="FormItemText"||a==="FormItemSpan"||a==="FormItemWrapper"||a==="BoxGridCol"||a==="EasyForm"){o=r.props["span"];if(o){if(I==="xs"){o=24}else if(I==="sm"){o=o>12?o:12}}}if(a==="BoxGridCol"||a==="FormItemSpan"){if(a==="FormItemSpan"&&r.props.hidden){return null}return u(r,t({},r.props,T,{span:o,key:e}))}var m=(l=r.props)==null||(l=l.style)==null?void 0:l.display;var s=false;if(a==="FormItemText"||a==="FormItemHidden"||a==="FormItemWrapper"||a==="FormItemWrapperDependencies"||r.type===n.Item||m==="none"){s=true}if(a==="FormItemWrapper"||r.props.noStyle){s=false}return v(p.Col,t({},T,{span:o,removeWrapper:s,children:r}),e)})).filter(Boolean)};var E=o((function(){if(["xs","sm"].includes(I)||!W){return{}}return{width:W}}),[I,W]);var R=l(N)?[15,0]:N;var H=m(null);var L=function r(){try{if(B){return true}if(H.current){var e=a.findParentsElement(H.current,(function(r){var e;return(e=r.classList)==null||e.contains==null?void 0:e.contains("easy-form")}));return e?true:false}return undefined}catch(r){console.log("error",r);return false}};var _=L();var z=o((function(){if(["xs"].includes(I)){return"left"}return C}),[C,I]);var D=o((function(){return c.getFormLayoutClassName({labelWidth:G,labelItemVertical:w,labelAlign:z,formItemGap:P,className:S.className})}),[G,w,z,P,S.className]);return x(s,{children:[v("div",{className:"easy-form-anchor",ref:H}),_===true?v("div",{style:t({},E,S.style),className:r("easy-form",{"easy-form-pure":k},"easy-form-nested",D),children:k?j:v(p.Row,{gutter:R,children:V()})}):undefined,_===false?v(d,t({},S,{labelWidth:G,labelAlign:z,labelItemVertical:w,formItemGap:P,style:t({},E,S.style),className:r("easy-form",{"easy-form-pure":k},D),autoComplete:"off",children:k?j:v(p.Row,{gutter:R,children:V()})})):undefined]})};h["domTypeName"]="EasyForm";export{h as EasyForm};
9
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- .easy-table-table{border-radius:6px}.fba-easy-table-filter-fixed,.fba-easy-table-full,.fba-easy-table-pagination-fixed{display:flex;flex-direction:column;height:100%}.fba-easy-table-filter-fixed .easy-table-table,.fba-easy-table-full .easy-table-table,.fba-easy-table-pagination-fixed .easy-table-table{flex:1}.fba-easy-table-filter-fixed{overflow:hidden}.fba-easy-table-filter-fixed .easy-table-table{overflow-y:auto}.fba-easy-table-wrapper{display:flex;flex-direction:column;height:100%;overflow-x:hidden}.fba-easy-table-wrapper .fba-easy-table{flex:1;height:unset;overflow-y:auto}.fba-easy-table-pagination{background-color:var(--block-bg-color);box-shadow:0 0 17px rgba(0,0,0,.06);padding:15px 15px 20px;position:relative;text-align:right;z-index:2}.fba-easy-table-wrapper-inline .easy-table-table{margin:0;padding:0}.fba-easy-table-wrapper-inline .easy-table-filter{margin:0;padding:0 0 15px}.easy-table-table{padding:10px 15px}.easy-table-filter{border-radius:6px;margin-bottom:10px;padding:10px 15px}.ett-empty-show-small .ant-table-placeholder .ant-empty{align-items:center;display:flex;justify-content:center;margin:0}.ett-empty-show-small .ant-table-placeholder .ant-empty-image{height:25px;margin:0;width:50px}.fold-operate-popiver.ant-popover .ant-popover-title{min-width:100px}
1
+ .easy-table-table{border-radius:6px}.fba-easy-table-filter-fixed,.fba-easy-table-full,.fba-easy-table-pagination-fixed{display:flex;flex-direction:column;height:100%}.fba-easy-table-filter-fixed .easy-table-table,.fba-easy-table-full .easy-table-table,.fba-easy-table-pagination-fixed .easy-table-table{flex:1}.fba-easy-table-filter-fixed{overflow:hidden}.fba-easy-table-filter-fixed .easy-table-table{overflow-y:auto}.fba-easy-table-wrapper{display:flex;flex-direction:column;height:100%;overflow-x:hidden}.fba-easy-table-wrapper .fba-easy-table{flex:1;height:unset;overflow-y:auto}.fba-easy-table-pagination{background-color:var(--block-bg-color);box-shadow:0 0 17px rgba(0,0,0,.06);padding:15px 15px 20px;position:relative;z-index:2}.fba-easy-table-pagination .ant-pagination{justify-content:right}.fba-easy-table-wrapper-inline .easy-table-table{margin:0;padding:0}.fba-easy-table-wrapper-inline .easy-table-filter{margin:0;padding:0 0 15px}.easy-table-table{padding:10px 15px}.easy-table-filter{border-radius:6px;margin-bottom:10px;padding:10px 15px}.ett-empty-show-small .ant-table-placeholder .ant-empty{align-items:center;display:flex;justify-content:center;margin:0}.ett-empty-show-small .ant-table-placeholder .ant-empty-image{height:25px;margin:0;width:50px}.fold-operate-popiver.ant-popover .ant-popover-title{min-width:100px}
@@ -19,5 +19,5 @@ import './../svg-http-view/index.css';
19
19
  import './../table-title-tooltip/index.css';
20
20
  import './index.css';
21
21
  /*! @flatjs/forge MIT @flatbiz/antd */
22
- import{fbaUtils as e}from"../fba-utils/index.js";import{isArray as n}from"@dimjs/lang/cjs/is-array";import{isObject as t}from"@dimjs/lang/cjs/is-object";import{_ as r,a as i}from"../_rollupPluginBabelHelpers-a0769acd.js";import{sessionStorageCache as a,localStorageCache as o,noop as l,getUuid as s,isUndefinedOrNull as u,isMacEnv as c}from"@flatbiz/utils";import{classNames as d}from"@dimjs/utils/cjs/class-names";import{isUndefined as f}from"@dimjs/lang/cjs/is-undefined";import{get as m}from"@dimjs/utils/cjs/get";import{hooks as p}from"@wove/react/cjs/hooks";import{isString as v}from"@dimjs/lang/cjs/is-string";import{Checkbox as g,Popover as h,Form as y,message as C,Drawer as F,Table as b}from"antd";import{createContext as S,useState as x,Fragment as R,forwardRef as j,useMemo as w,useRef as z,useImperativeHandle as K,cloneElement as _,useContext as N,Children as P,useEffect as T}from"react";import{fbaHooks as L}from"../fba-hooks/index.js";import{PaginationWrapper as q}from"../pagination-wrapper/index.js";import{jsx as k,jsxs as I}from"react/jsx-runtime";import V from"@ant-design/icons/es/icons/DownOutlined";import D from"@ant-design/icons/es/icons/UpOutlined";import{isFragment as E}from"react-is";import{BlockLayout as O}from"../block-layout/index.js";import{ButtonWrapper as A}from"../button-wrapper/index.js";import{EasyForm as B}from"../easy-form/index.js";import{FormGrid as M}from"../form-grid/index.js";import{TableScrollbar as W}from"../table-scrollbar/index.js";import{FlexLayout as Q}from"../flex-layout/index.js";import{IconWrapper as U}from"../icon-wrapper/index.js";import{SvgHttpView as G}from"../svg-http-view/index.js";import{TableTitleTooltip as H}from"../table-title-tooltip/index.js";import{TipsWrapper as Y}from"../tips-wrapper/index.js";import"@dimjs/model";import"../use-responsive-point-21b8c601.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-promise";import"../index-7f4ad045.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"@dimjs/utils/cjs/extend";import"../box-grid/index.js";import"@dimjs/lang/cjs/is-number";import"ahooks";import"../form-wrapper/index.js";import"../pre-defined-class-name/index.js";import"@ant-design/icons/es/icons/QuestionCircleOutlined";var $={set:function e(n,t){var i=$.get(n);var o=r({},i,t);a.set("easy_tab_filter_"+n,o);return o},get:function e(n){var r=a.get("easy_tab_filter_"+n);return t(r)?r:{}},remove:function e(n){a.remove("easy_tab_filter_"+n)}};var J={set:function e(n,t){a.set("easy_tab_firstQuery_"+n,{value:t})},get:function e(n){var t;var r=(t=a.get("easy_tab_firstQuery_"+n))==null?void 0:t.value;return r===false?false:true},remove:function e(n){a.remove("easy_tab_firstQuery_"+n)}};var X={set:function e(n,t){o.set("easy_tab_columnFold_"+n,{value:t})},get:function e(t){var r;var i=(r=o.get("easy_tab_columnFold_"+t))==null?void 0:r.value;return n(i)?i:[]},remove:function e(n){o.remove("easy_tab_columnFold_"+n)}};var Z=S({onRequest:l,tableList:[],getEasyTableRef:function e(){}});var ee=function e(n){var t=x(n.initSelectedRowKeys||[]),r=t[0],i=t[1];var a=function e(t){i(t);n.onChange(t);if(n.cacheKey){X.set(n.cacheKey,t)}};var o=k(R,{children:k(g.Group,{defaultValue:r,onChange:a,value:r,style:{display:"flex",flexDirection:"column"},children:n.dataList.map((function(e){var n=e["_isFoldTitle"]||e.title;return k(g,{value:e.dataIndex,style:{padding:"0 0 5px 0"},children:n},e.dataIndex)}))})});var l=function e(t){if(t.target.checked){a(n.dataList.map((function(e){return e.dataIndex})))}else{a([])}};return k(h,{content:o,title:k(g,{checked:r.length===n.dataList.length,onChange:l,children:"全选(字段列表)"}),placement:"bottomRight",overlayClassName:"fold-operate-popiver",children:n.children})};var ne=j((function(t,i){var a;var o=L.useResponsivePoint();var l=x(),u=l[0],c=l[1];var g=x(0),h=g[0],F=g[1];var b=x(false),S=b[0],R=b[1];var j=t.columnFoldConfig;var N=t.asyncColumnRequest;var P=x(false),T=P[0],V=P[1];var D=w((function(){if(t.cacheKey)return t.cacheKey;if(t.cacheSwitch===true){return location.pathname}if(typeof t.cacheSwitch==="string"){return t.cacheSwitch}return s()}),[t.cacheSwitch,t.cacheKey]);var E=$.get(D);var O=x((function(){if(D){var e=X.get(D);var t=n(e)?e.filter((function(e){return v(e)})):[];return t.length>0?t:(j==null?void 0:j.initSelectedKeys)||[]}else{return(j==null?void 0:j.initSelectedKeys)||[]}})),A=O[0],B=O[1];var M=t.pageSize||((a=t.initialPaginationParams)==null?void 0:a.pageSize)||10;var W=t.initRequest===undefined?true:t.initRequest;var Q=z(false);var U=z();var G=z([]);var H=x(),Y=H[0],ne=H[1];var te=z([]);var re=r({list:"list",total:"total",pageNo:"pageNo",pageSize:"pageSize"},t.fieldNames);var ie=y.useForm(t.form),ae=ie[0];var oe=p.useCallbackRef((function(r){return new Promise((function(i,a){var o,l,s,u,d,f,p,v,g,h,y;var b=function(){try{return i()}catch(e){return a(e)}};var S=function(e){try{R(false);if(t.onRequestErrorHandle){t.onRequestErrorHandle(e)}else{void C.error(e.message)}return b()}catch(e){return a(e)}};try{if(t.breforeRequest){var x=function(){try{return w.call(this)}catch(e){return S(e)}}.bind(this);var j=function(e){try{return i()}catch(e){return S(e)}};try{return Promise.resolve(t.breforeRequest(ae)).then((function(e){try{return x()}catch(e){return j(e)}}),j)}catch(z){j(z)}}function w(){J.set(D,false);R(true);o=$.set(D,r);l=t.serviceConfig,s=l.requestParamsAdapter,u=l.onRequest,d=l.requestResultAdapter,f=l.dynamicColumsAdapter;p=s?s(o):o;return Promise.resolve(u(e.removeFormValuesInvalidField(p))).then((function(e){try{v=e||{};U.current=v;t.onDataSourceChange==null?void 0:t.onDataSourceChange(v);g=v;if(d){g=d(v)}if(f){h=f(v,G.current);ne(h)}y=m(g,re.list);c(n(y)?y:[]);F(m(g,re.total));R(false);return b()}catch(e){return S(e)}}),S)}return w.call(this)}catch(K){S(K)}}))}));L.useEffectCustom((function(){var e=je();var n=J.get(D);ae.setFieldsValue(r({},t.initialValues,E));if(W||!n){if(e){var i;void oe(r((i={},i[re.pageNo]=1,i[re.pageSize]=M,i),t.initialValues,E))}else{void oe(t.initialValues)}}else{$.set(D,t.initialValues||{})}}),[]);var le=p.useCallbackRef((function(e){$.remove(D);ae.resetFields();if(e){$.set(D,e);ae.setFieldsValue(e)}}));var se=p.useCallbackRef((function(e){$.set(D,e);ae.setFieldsValue(e)}));var ue=function e(n,t){if(je()){var r;return r={},r[re.pageNo]=n,r[re.pageSize]=t||M,r}else{var i;return i={},i[re.pageNo]=undefined,i[re.pageSize]=undefined,i}};var ce=p.useCallbackRef((function(e){var n=r({},ue(1,E[re.pageSize]),t.initialValues,e);$.remove(D);ae.resetFields();if(e){ae.setFieldsValue(e)}void oe(n)}));var de=p.useCallbackRef((function(){return r({},E,ae.getFieldsValue())}));var fe=p.useCallbackRef((function(){V(true)}));var me=p.useCallbackRef((function(){V(false)}));var pe=function e(){return{onRequest:oe,clearQueryCondition:le,updateQueryCondition:se,getRequestParams:de,onResetRequest:ce,form:ae,dataSource:U.current,getDataSource:function e(){return U.current},onFilterDataSource:function e(n){c(n)},onClearDataSource:function e(){F(0);c([])},onUpdateDataSource:function e(n){c(n);U.current=n;t.onDataSourceChange==null?void 0:t.onDataSourceChange(n)},columnFoldTriggerRender:function e(n,r){var i;if(((i=t.columnFoldConfig)==null?void 0:i.triggerType)==="drawer"){return _(n,{onClick:fe})}var a=r.filter((function(e){return!e.hidden&&e.isFold&&e.dataIndex}));return k(ee,{dataList:a,onChange:xe,cacheKey:D,initSelectedRowKeys:A,children:n})},onChangeTableColumns:function e(n){ne(n)},getTableColumns:function e(){return te.current},loading:S,setEnabledInitRequest:function e(){J.set(D,false)}}};K(i,(function(){return pe()}));var ve=function e(n){Q.current=n};var ge=function e(n){G.current=n};var he=function e(n){te.current=n};var ye=function e(){var n=ae.getFieldsValue();if(t.onFormFinish){t.onFormFinish(r({},n,ue(1,E[re.pageSize])))}else{void oe(r({},n,ue(1,E[re.pageSize])))}};var Ce=f(t.isFull)?true:t.isFull;var Fe=o==="xs"?false:t.filterFixed;var be=d("fba-easy-table",{"fba-easy-table-full":Ce,"fba-easy-table-filter-fixed":Fe,"fba-easy-table-pagination-fixed":t.paginationFixed},t.className);var Se=L.useMemoCustom((function(){return r({showSizeChanger:true,current:E[re.pageNo]||1,pageSize:E[re.pageSize]||M,total:h,showTotal:function e(n){return"共 "+n+" 条记录"}},t.pagination)}),[re.pageNo,E,re.pageSize,D,M,t.pagination,h]);var xe=function e(n){B(n);j==null||j.onChange==null?void 0:j.onChange(n)};var Re=p.useCallbackRef((function(e,n){var r,i;var a=(r={},r[re.pageSize]=n,r[re.pageNo]=e,r);$.set(D,a);void oe(a);(i=t.pagination)==null||i.onChange==null?void 0:i.onChange(e,n)}));var je=function e(){return t.paginationFixed||Q.current};p.useUpdateEffect((function(){if(t.paginationFixed){var e;void oe((e={},e[re.pageSize]=E[re.pageSize]||M,e[re.pageNo]=1,e))}else{var n;void oe((n={},n[re.pageSize]=undefined,n[re.pageNo]=undefined,n))}}),[t.paginationFixed]);var we=d("fba-easy-table-wrapper",{"fba-easy-table-wrapper-inline":t.isInline},t.className);var ze=r({overflowY:t.filterFixed||t.paginationFixed?"hidden":"auto"},t.style);var Ke=typeof t.children==="function"?t.children(U.current):t.children;return k(Z.Provider,{value:{onSetBaseColumns:ge,onSetColumns:he,getEasyTableRef:pe,cacheKey:D,onRequest:oe,tableDataSource:u,tableTotal:h,loading:S,fieldNames:re,pageSize:M,onSetPaginationStatus:ve,getPaginationStatus:je,onFormFinish:ye,form:ae,paginationFixed:t.paginationFixed||false,foldKeys:t.foldKeys||[],columns:Y,initialValues:t.initialValues,dynamicColumnsConfig:{showFoldKeyList:A,onChangeShowFoldKeyList:xe,columnFoldConfig:j,onOpenColumnFoldModal:fe,onCloseColumnFoldModal:me,columnFoldOpen:T,asyncColumnRequest:N}},children:t.paginationFixed?I("div",{className:we,style:ze,children:[k("div",{className:be,children:Ke}),h>0&&k("div",{className:"fba-easy-table-pagination",children:k(q,r({size:"small"},Se,{onChange:Re}))})]}):k("div",{className:we,style:t.style,children:k("div",{className:be,children:Ke})})})}));var te=function e(n){var t=L.useResponsivePoint()||"md";var i=N(Z);var a=n.queryButtonProps,o=n.resetButtonProps,l=n.filterOperate,s=n.formClassName,u=s===void 0?"":s,c=n.defaultResetButtonTriggerRequest,m=n.filterWrapperStyle,v=n.filterWrapperClassName,g=n.rightOperateAreaAppendType,h=n.easyFormProps;var y=i.cacheKey,C=i.foldKeys,F=i.fieldNames,b=i.onRequest,S=i.pageSize,R=i.getPaginationStatus,j=i.initialValues,z=i.form,K=i.onFormFinish;var _=typeof n.children==="function"?n.children(z):n.children;var T=g||"cover";var q=w((function(){if(E(_)){return P.toArray(_.props.children)}else{return P.toArray(_)}}),[_]);var W=x(false),Q=W[0],U=W[1];var G=p.useCallbackRef((function(){return new Promise((function(e,n){var t;$.remove(y);z.resetFields();z.setFieldsValue(j);if(f(c)||c){return Promise.resolve(z.validateFields()).then(function(e){try{if(R()){b(r((t={},t[F.pageNo]=1,t[F.pageSize]=S,t),j))}else{b(j)}return i.call(this)}catch(e){return n(e)}}.bind(this),n)}function i(){return e()}return i.call(this)}))}));var H=w((function(){var e=[!(a!=null&&a.hidden)?k(A,r({type:"primary",htmlType:"submit"},a,{children:(a==null?void 0:a.text)||"查询"}),"1"):null,!(o!=null&&o.hidden)?k(A,r({onClick:G},o,{children:(o==null?void 0:o.text)||"重置"}),"2"):null].filter(Boolean);var n=l==null?void 0:l(z);var t=n==null?void 0:n.rightList;var i=(n==null?void 0:n.leftList)||[];var s=e;if(t){if(T==="afterAppend"){s=[].concat(e,t)}else if(T==="beforeAppend"){s=[].concat(t,e)}else{s=t}}if(C.length>0){var u=k(A,{type:"link",style:{padding:"0"},onClick:function e(){U(!Q)},children:Q?I("span",{children:["收起",k(D,{style:{marginLeft:3,fontSize:12}})]}):I("span",{children:["展开",k(V,{style:{marginLeft:3,fontSize:12}})]})},"fold-trigger");if(s.length>0||i.length===0){s.push(u)}else if((i==null?void 0:i.length)>0){i.push(u)}}return q.map((function(e,n){if(!Q&&C.find((function(n){return".$"+n===e.key})))return null;if(e.props["hidden"])return null;if(e.type["domTypeName"]==="FormCol")return e;return k(M.Col,{children:e},n)})).filter(Boolean).concat(k(M.OperateCol,r({},n,{leftList:i,rightList:s}),999))}),[q,l,C,z,G,Q,a,o,T]);var Y=t==="xs"?"left":(h==null?void 0:h.labelAlign)||"right";return k(O,{className:d("easy-table-filter",v),style:m,children:k(B,r({form:z,autoComplete:"off",onFinish:K,className:u,style:n.formStyle,isPure:true,labelWidth:"80",formItemGap:"15"},h,{labelAlign:Y,children:n.isPure?_:k(M.Row,{gutter:[15,0],gridSize:n.formGridSize,children:H})}))})};var re=function e(){var n=N(Z);return n.getEasyTableRef()};var ie=function e(){var n=N(Z);return{current:n.getEasyTableRef()}};var ae=function e(n){var t=x(n.initSelectedRowKeys||[]),r=t[0],i=t[1];var a={type:"checkbox",selectedRowKeys:r,onChange:function e(t){i(t);n.onChange(t);if(n.cacheKey){X.set(n.cacheKey,t)}}};var o=[{title:"字段名称",dataIndex:"title",render:function e(n,t){return t["_isFoldTitle"]||n}},{title:"字段Key",dataIndex:"dataIndex"}];return k(R,{children:k(F,{title:"选择字段",open:n.open,onClose:n.onClose,width:"35%",styles:{body:{padding:15}},children:k(b,{bordered:true,size:"small",columns:o,rowSelection:a,rowKey:"dataIndex",pagination:false,scroll:{x:"max-content"},dataSource:n.dataList})})})};var oe=["tooltip","tipsWrapperProps","title"];var le=function e(n){return w((function(){var e=n.columns.map((function(e){var n=e.tooltip,t=e.tipsWrapperProps,a=e.title,o=i(e,oe);if(typeof a==="string"&&t){if(typeof t==="string"){return r({},o,{title:k(Y,{tipType:"popover",popoverProps:{content:t},children:a})})}return r({},o,{title:k(Y,r({},t,{children:a}))})}if(typeof a==="string"&&!!n){return r({},o,{title:k(H,{tooltip:n,title:a})})}return e})).filter(Boolean);return[].concat(e)}),[n.columns])};var se=function e(n){var t=n.columns;return L.useMemoCustom((function(){var e;if((e=n.columnFoldConfig)!=null&&e.hidden)return t;var r=t[t.length-1];if(n.foldColumnList.length>0&&t.length>0){var i=t.find((function(e){return e["_isFoldColumn"]}));if(i&&r.dataIndex!==i.dataIndex){i.title=i["_isFoldTitle"];i["_isFoldColumn"]=false}if(!r["_isFoldColumn"]){var a,o,l,s,u,c;r["_isFoldTitle"]=r["_isFoldTitle"]||r.title;r["_isFoldColumn"]=true;var d=(a=n.columnFoldConfig)==null?void 0:a.triggerType;r.title=I(Q,{direction:"horizontal",fullIndex:0,style:{alignItems:"center"},children:[k("span",{children:r.title}),k("div",{style:{padding:"0 5px 0 20px",display:"flex"},children:d==="drawer"?k(U,{onClick:n.onOpenColumnFoldModal,text:(o=n.columnFoldConfig)==null?void 0:o.text,size:"small",icon:((l=n.columnFoldConfig)==null?void 0:l.icon)||k(G,{svgPath:"ionic/list-circle",color:"#868686"}),hoverTips:((s=n.columnFoldConfig)==null?void 0:s.hoverTipText)||"字段列表",style:{padding:0,margin:0}}):k(ee,{dataList:n.foldColumnList,onChange:n.onChangeFoldColumnList,cacheKey:n.cacheKey,initSelectedRowKeys:n.showFoldKeyList,children:k(U,{text:(u=n.columnFoldConfig)==null?void 0:u.text,style:{padding:0,margin:0},size:"small",icon:((c=n.columnFoldConfig)==null?void 0:c.icon)||k(G,{svgPath:"ionic/list-circle",color:"#868686"})})})})]})}}return t}),[n.columns,n.columnFoldConfig])};var ue=function e(n){return w((function(){var e=n.columns.map((function(e){var t=e.hidden,r=e.isFold;if(t)return null;if(r&&!n.showFoldKeyList.includes(e.dataIndex))return null;return e})).filter(Boolean);return[].concat(e)}),[n.columns,n.showFoldKeyList])};var ce=function e(n){return w((function(){if(!Object.keys(n.asyncColumnRequestResult))return n.columns;return n.columns.map((function(e){var t=e.dataIndex;var r=n.asyncColumnRequestResult[t];if(t&&r){if(r.loading){e.render=function(e){return k(A,{loading:true,type:"text",loadingPosition:"center",removeGap:true,children:e})}}else if(e.asyncRender){e.render=function(n,t,i){return e.asyncRender==null?void 0:e.asyncRender(n,t,i,r.respData)}}}return e}))}),[n.columns,n.asyncColumnRequestResult])};var de=["children","rowKey","pagination","isSync"];var fe=function e(n){var t=N(Z);var a=n.children,o=n.rowKey,l=n.pagination,f=n.isSync,m=i(n,de);var v=L.useResponsivePoint()||"";var g=z({});var h=x({}),y=h[0],C=h[1];var F=t.dynamicColumnsConfig,S=F.columnFoldConfig,j=F.onCloseColumnFoldModal,K=F.columnFoldOpen,_=F.onOpenColumnFoldModal,P=F.asyncColumnRequest,q=F.showFoldKeyList,V=F.onChangeShowFoldKeyList;var D=t.cacheKey,E=t.fieldNames,A=t.onRequest,B=t.tableDataSource,M=t.pageSize,Q=t.tableTotal,U=t.loading,G=t.paginationFixed,H=t.onSetPaginationStatus;var Y=$.get(D);L.useEffectCustom((function(){t.onSetBaseColumns(n.columns||[])}),[]);T((function(){if(P!=null&&P.length){var e=function e(){var t;var i=P[n];g.current=r({},g.current,(t={},t[i.dataIndex]={loading:true},t));C(g.current);i.onRequest().then((function(e){var n;g.current=r({},g.current,(n={},n[i.dataIndex]={loading:false,respData:e},n));C(g.current)})).catch((function(e){var n;console.error(e==null?void 0:e.message);g.current=r({},g.current,(n={},n[i.dataIndex]={loading:false},n));C(g.current)}))};for(var n=0;n<P.length;n++){e()}}}),[P]);var J=L.useMemoCustom((function(){if(t.columns){t.onSetColumns(t.columns);return t.columns}else{t.onSetColumns(n.columns);return n.columns}}),[t.columns,n.columns]);var X=le({columns:[].concat(J)});var ee=J.filter((function(e){return!e.hidden&&e.isFold&&e.dataIndex}));X=se({cacheKey:D,columns:X,foldColumnList:ee,showFoldKeyList:q,columnFoldConfig:S,onOpenColumnFoldModal:_,onChangeFoldColumnList:V});X=ue({columns:X,showFoldKeyList:q});X=ce({columns:X,asyncColumnRequestResult:y});L.useEffectCustom((function(){H(l!==false)}),[l]);p.useUpdateEffect((function(){if(!G){if(l!==false){var e;A((e={},e[E.pageSize]=Y[E.pageSize]||M,e[E.pageNo]=1,e))}else{var n;A((n={},n[E.pageSize]=undefined,n[E.pageNo]=undefined,n))}}}),[l]);var ne=w((function(){if(G||l===false)return false;return r({showSizeChanger:true,current:Y[E.pageNo]||1,pageSize:Y[E.pageSize]||M,total:Q,showTotal:function e(n){return"共 "+n+" 条记录"}},n.pagination)}),[Y,E.pageNo,E.pageSize,M,l,G,n.pagination,Q]);var te=function e(t,r,i,a){if(a.action==="paginate"&&ne){var o;A((o={},o[E.pageSize]=t.pageSize,o[E.pageNo]=t.current,o))}else{n.onChange==null?void 0:n.onChange(t,r,i,a)}};var re=w((function(){if(!B)return undefined;if(B.length===0){return[]}if(typeof o==="string"&&u(B[0][o])){return B.map((function(e){e[o]=s();return e}))}return B}),[B,o]);X=w((function(){return X.map((function(e){if(!!e.fixed&&v==="xs"){e.fixed=undefined}if(!!e.defaultValue&&!e.render){e.render=function(n){return u(n)||n==""?e.defaultValue:n}}return e}))}),[X,v]);var ie=function e(){if(f&&!re){return I(R,{children:[a,k(b,{size:"small",scroll:{x:"max-content"},bordered:true,rowKey:o,columns:X,loading:U},"1")]})}if(c()){return I(R,{children:[a,k(b,r({size:"small",scroll:{x:"max-content"},bordered:true},m,{columns:X,pagination:ne,rowKey:o,onChange:te,loading:U,dataSource:re}),"2")]})}return I(R,{children:[a,k(W,{children:k(b,r({size:"small",scroll:{x:"max-content"},bordered:true},m,{columns:X,pagination:ne,rowKey:o,onChange:te,loading:U,dataSource:re}),"3")})]})};return I(O,{className:d("easy-table-table",{"ett-empty-show-small":n.emptyShowSize==="small"},n.tableWrapperClassName),style:n.tableWrapperStyle,children:[ie(),k(ae,{dataList:ee,onClose:j,open:K,onChange:V,cacheKey:D,initSelectedRowKeys:q})]})};var me=e.attachPropertiesToComponent(ne,{Filter:te,Table:fe,useEasyTablRef:ie,useEasyTable:re,setEnabledInitRequest:function e(n){J.set(n,false)}});export{me as EasyTable};
22
+ import{fbaUtils as e}from"../fba-utils/index.js";import{isArray as n}from"@dimjs/lang/cjs/is-array";import{isObject as t}from"@dimjs/lang/cjs/is-object";import{_ as r,a as i}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{sessionStorageCache as a,localStorageCache as o,noop as l,getUuid as s,isUndefinedOrNull as u,isMacEnv as c}from"@flatbiz/utils";import{classNames as d}from"@dimjs/utils/cjs/class-names";import{isUndefined as f}from"@dimjs/lang/cjs/is-undefined";import{get as m}from"@dimjs/utils/cjs/get";import{hooks as p}from"@wove/react/cjs/hooks";import{isString as v}from"@dimjs/lang/cjs/is-string";import{Checkbox as g,Popover as h,Form as y,message as C,Drawer as F,Table as b}from"antd";import{createContext as S,useState as x,Fragment as R,forwardRef as j,useMemo as w,useRef as z,useImperativeHandle as K,cloneElement as _,useContext as N,Children as P,useEffect as T}from"react";import{fbaHooks as L}from"../fba-hooks/index.js";import{PaginationWrapper as q}from"../pagination-wrapper/index.js";import{jsx as k,jsxs as I}from"react/jsx-runtime";import V from"@ant-design/icons/es/icons/DownOutlined";import D from"@ant-design/icons/es/icons/UpOutlined";import{isFragment as E}from"react-is";import{BlockLayout as O}from"../block-layout/index.js";import{ButtonWrapper as A}from"../button-wrapper/index.js";import{EasyForm as B}from"../easy-form/index.js";import{FormGrid as M}from"../form-grid/index.js";import{TableScrollbar as W}from"../table-scrollbar/index.js";import{FlexLayout as Q}from"../flex-layout/index.js";import{IconWrapper as U}from"../icon-wrapper/index.js";import{SvgHttpView as G}from"../svg-http-view/index.js";import{TableTitleTooltip as H}from"../table-title-tooltip/index.js";import{TipsWrapper as Y}from"../tips-wrapper/index.js";import"@dimjs/model";import"../use-responsive-point-21b8c601.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-promise";import"../index-83bede1b.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"@dimjs/utils/cjs/extend";import"../box-grid/index.js";import"@dimjs/lang/cjs/is-number";import"ahooks";import"../form-wrapper/index.js";import"../pre-defined-class-name/index.js";import"@ant-design/icons/es/icons/QuestionCircleOutlined";var $={set:function e(n,t){var i=$.get(n);var o=r({},i,t);a.set("easy_tab_filter_"+n,o);return o},get:function e(n){var r=a.get("easy_tab_filter_"+n);return t(r)?r:{}},remove:function e(n){a.remove("easy_tab_filter_"+n)}};var J={set:function e(n,t){a.set("easy_tab_firstQuery_"+n,{value:t})},get:function e(n){var t;var r=(t=a.get("easy_tab_firstQuery_"+n))==null?void 0:t.value;return r===false?false:true},remove:function e(n){a.remove("easy_tab_firstQuery_"+n)}};var X={set:function e(n,t){o.set("easy_tab_columnFold_"+n,{value:t})},get:function e(t){var r;var i=(r=o.get("easy_tab_columnFold_"+t))==null?void 0:r.value;return n(i)?i:[]},remove:function e(n){o.remove("easy_tab_columnFold_"+n)}};var Z=S({onRequest:l,tableList:[],getEasyTableRef:function e(){}});var ee=function e(n){var t=x(n.initSelectedRowKeys||[]),r=t[0],i=t[1];var a=function e(t){i(t);n.onChange(t);if(n.cacheKey){X.set(n.cacheKey,t)}};var o=k(R,{children:k(g.Group,{defaultValue:r,onChange:a,value:r,style:{display:"flex",flexDirection:"column"},children:n.dataList.map((function(e){var n=e["_isFoldTitle"]||e.title;return k(g,{value:e.dataIndex,style:{padding:"0 0 5px 0"},children:n},e.dataIndex)}))})});var l=function e(t){if(t.target.checked){a(n.dataList.map((function(e){return e.dataIndex})))}else{a([])}};return k(h,{content:o,title:k(g,{checked:r.length===n.dataList.length,onChange:l,children:"全选(字段列表)"}),placement:"bottomRight",overlayClassName:"fold-operate-popiver",children:n.children})};var ne=j((function(t,i){var a;var o=L.useResponsivePoint();var l=x(),u=l[0],c=l[1];var g=x(0),h=g[0],F=g[1];var b=x(false),S=b[0],R=b[1];var j=t.columnFoldConfig;var N=t.asyncColumnRequest;var P=x(false),T=P[0],V=P[1];var D=w((function(){if(t.cacheKey)return t.cacheKey;if(t.cacheSwitch===true){return location.pathname}if(typeof t.cacheSwitch==="string"){return t.cacheSwitch}return s()}),[t.cacheSwitch,t.cacheKey]);var E=$.get(D);var O=x((function(){if(D){var e=X.get(D);var t=n(e)?e.filter((function(e){return v(e)})):[];return t.length>0?t:(j==null?void 0:j.initSelectedKeys)||[]}else{return(j==null?void 0:j.initSelectedKeys)||[]}})),A=O[0],B=O[1];var M=t.pageSize||((a=t.initialPaginationParams)==null?void 0:a.pageSize)||10;var W=t.initRequest===undefined?true:t.initRequest;var Q=z(false);var U=z();var G=z([]);var H=x(),Y=H[0],ne=H[1];var te=z([]);var re=r({list:"list",total:"total",pageNo:"pageNo",pageSize:"pageSize"},t.fieldNames);var ie=y.useForm(t.form),ae=ie[0];var oe=p.useCallbackRef((function(r){return new Promise((function(i,a){var o,l,s,u,d,f,p,v,g,h,y;var b=function(){try{return i()}catch(e){return a(e)}};var S=function(e){try{R(false);if(t.onRequestErrorHandle){t.onRequestErrorHandle(e)}else{void C.error(e.message)}return b()}catch(e){return a(e)}};try{if(t.breforeRequest){var x=function(){try{return w.call(this)}catch(e){return S(e)}}.bind(this);var j=function(e){try{return i()}catch(e){return S(e)}};try{return Promise.resolve(t.breforeRequest(ae)).then((function(e){try{return x()}catch(e){return j(e)}}),j)}catch(z){j(z)}}function w(){J.set(D,false);R(true);o=$.set(D,r);l=t.serviceConfig,s=l.requestParamsAdapter,u=l.onRequest,d=l.requestResultAdapter,f=l.dynamicColumsAdapter;p=s?s(o):o;return Promise.resolve(u(e.removeFormValuesInvalidField(p))).then((function(e){try{v=e||{};U.current=v;t.onDataSourceChange==null||t.onDataSourceChange(v);g=v;if(d){g=d(v)}if(f){h=f(v,G.current);ne(h)}y=m(g,re.list);c(n(y)?y:[]);F(m(g,re.total));R(false);return b()}catch(e){return S(e)}}),S)}return w.call(this)}catch(K){S(K)}}))}));L.useEffectCustom((function(){var e=je();var n=J.get(D);ae.setFieldsValue(r({},t.initialValues,E));if(W||!n){if(e){var i;void oe(r((i={},i[re.pageNo]=1,i[re.pageSize]=M,i),t.initialValues,E))}else{void oe(t.initialValues)}}else{$.set(D,t.initialValues||{})}}),[]);var le=p.useCallbackRef((function(e){$.remove(D);ae.resetFields();if(e){$.set(D,e);ae.setFieldsValue(e)}}));var se=p.useCallbackRef((function(e){$.set(D,e);ae.setFieldsValue(e)}));var ue=function e(n,t){if(je()){var r;return r={},r[re.pageNo]=n,r[re.pageSize]=t||M,r}else{var i;return i={},i[re.pageNo]=undefined,i[re.pageSize]=undefined,i}};var ce=p.useCallbackRef((function(e){var n=r({},ue(1,E[re.pageSize]),t.initialValues,e);$.remove(D);ae.resetFields();if(e){ae.setFieldsValue(e)}void oe(n)}));var de=p.useCallbackRef((function(){return r({},E,ae.getFieldsValue())}));var fe=p.useCallbackRef((function(){V(true)}));var me=p.useCallbackRef((function(){V(false)}));var pe=function e(){return{onRequest:oe,clearQueryCondition:le,updateQueryCondition:se,getRequestParams:de,onResetRequest:ce,form:ae,dataSource:U.current,getDataSource:function e(){return U.current},onFilterDataSource:function e(n){c(n)},onClearDataSource:function e(){F(0);c([])},onUpdateDataSource:function e(n){c(n);U.current=n;t.onDataSourceChange==null||t.onDataSourceChange(n)},columnFoldTriggerRender:function e(n,r){var i;if(((i=t.columnFoldConfig)==null?void 0:i.triggerType)==="drawer"){return _(n,{onClick:fe})}var a=r.filter((function(e){return!e.hidden&&e.isFold&&e.dataIndex}));return k(ee,{dataList:a,onChange:xe,cacheKey:D,initSelectedRowKeys:A,children:n})},onChangeTableColumns:function e(n){ne(n)},getTableColumns:function e(){return te.current},loading:S,setEnabledInitRequest:function e(){J.set(D,false)}}};K(i,(function(){return pe()}));var ve=function e(n){Q.current=n};var ge=function e(n){G.current=n};var he=function e(n){te.current=n};var ye=function e(){var n=ae.getFieldsValue();if(t.onFormFinish){t.onFormFinish(r({},n,ue(1,E[re.pageSize])))}else{void oe(r({},n,ue(1,E[re.pageSize])))}};var Ce=f(t.isFull)?true:t.isFull;var Fe=o==="xs"?false:t.filterFixed;var be=d("fba-easy-table",{"fba-easy-table-full":Ce,"fba-easy-table-filter-fixed":Fe,"fba-easy-table-pagination-fixed":t.paginationFixed},t.className);var Se=L.useMemoCustom((function(){return r({showSizeChanger:true,current:E[re.pageNo]||1,pageSize:E[re.pageSize]||M,total:h,showTotal:function e(n){return"共 "+n+" 条记录"}},t.pagination)}),[re.pageNo,E,re.pageSize,D,M,t.pagination,h]);var xe=function e(n){B(n);j==null||j.onChange==null||j.onChange(n)};var Re=p.useCallbackRef((function(e,n){var r,i;var a=(r={},r[re.pageSize]=n,r[re.pageNo]=e,r);$.set(D,a);void oe(a);(i=t.pagination)==null||i.onChange==null||i.onChange(e,n)}));var je=function e(){return t.paginationFixed||Q.current};p.useUpdateEffect((function(){if(t.paginationFixed){var e;void oe((e={},e[re.pageSize]=E[re.pageSize]||M,e[re.pageNo]=1,e))}else{var n;void oe((n={},n[re.pageSize]=undefined,n[re.pageNo]=undefined,n))}}),[t.paginationFixed]);var we=d("fba-easy-table-wrapper",{"fba-easy-table-wrapper-inline":t.isInline},t.className);var ze=r({overflowY:t.filterFixed||t.paginationFixed?"hidden":"auto"},t.style);var Ke=typeof t.children==="function"?t.children(U.current):t.children;return k(Z.Provider,{value:{onSetBaseColumns:ge,onSetColumns:he,getEasyTableRef:pe,cacheKey:D,onRequest:oe,tableDataSource:u,tableTotal:h,loading:S,fieldNames:re,pageSize:M,onSetPaginationStatus:ve,getPaginationStatus:je,onFormFinish:ye,form:ae,paginationFixed:t.paginationFixed||false,foldKeys:t.foldKeys||[],columns:Y,initialValues:t.initialValues,dynamicColumnsConfig:{showFoldKeyList:A,onChangeShowFoldKeyList:xe,columnFoldConfig:j,onOpenColumnFoldModal:fe,onCloseColumnFoldModal:me,columnFoldOpen:T,asyncColumnRequest:N}},children:t.paginationFixed?I("div",{className:we,style:ze,children:[k("div",{className:be,children:Ke}),h>0&&k("div",{className:"fba-easy-table-pagination",children:k(q,r({size:"small"},Se,{onChange:Re}))})]}):k("div",{className:we,style:t.style,children:k("div",{className:be,children:Ke})})})}));var te=function e(n){var t=L.useResponsivePoint()||"md";var i=N(Z);var a=n.queryButtonProps,o=n.resetButtonProps,l=n.filterOperate,s=n.formClassName,u=s===void 0?"":s,c=n.defaultResetButtonTriggerRequest,m=n.filterWrapperStyle,v=n.filterWrapperClassName,g=n.rightOperateAreaAppendType,h=n.easyFormProps;var y=i.cacheKey,C=i.foldKeys,F=i.fieldNames,b=i.onRequest,S=i.pageSize,R=i.getPaginationStatus,j=i.initialValues,z=i.form,K=i.onFormFinish;var _=typeof n.children==="function"?n.children(z):n.children;var T=g||"cover";var q=w((function(){if(E(_)){return P.toArray(_.props.children)}else{return P.toArray(_)}}),[_]);var W=x(false),Q=W[0],U=W[1];var G=p.useCallbackRef((function(){return new Promise((function(e,n){var t;$.remove(y);z.resetFields();z.setFieldsValue(j);if(f(c)||c){return Promise.resolve(z.validateFields()).then(function(e){try{if(R()){b(r((t={},t[F.pageNo]=1,t[F.pageSize]=S,t),j))}else{b(j)}return i.call(this)}catch(e){return n(e)}}.bind(this),n)}function i(){return e()}return i.call(this)}))}));var H=w((function(){var e=[!(a!=null&&a.hidden)?k(A,r({type:"primary",htmlType:"submit"},a,{children:(a==null?void 0:a.text)||"查询"}),"1"):null,!(o!=null&&o.hidden)?k(A,r({onClick:G},o,{children:(o==null?void 0:o.text)||"重置"}),"2"):null].filter(Boolean);var n=l==null?void 0:l(z);var t=n==null?void 0:n.rightList;var i=(n==null?void 0:n.leftList)||[];var s=e;if(t){if(T==="afterAppend"){s=[].concat(e,t)}else if(T==="beforeAppend"){s=[].concat(t,e)}else{s=t}}if(C.length>0){var u=k(A,{type:"link",style:{padding:"0"},onClick:function e(){U(!Q)},children:Q?I("span",{children:["收起",k(D,{style:{marginLeft:3,fontSize:12}})]}):I("span",{children:["展开",k(V,{style:{marginLeft:3,fontSize:12}})]})},"fold-trigger");if(s.length>0||i.length===0){s.push(u)}else if((i==null?void 0:i.length)>0){i.push(u)}}return q.map((function(e,n){if(!Q&&C.find((function(n){return".$"+n===e.key})))return null;if(e.props["hidden"])return null;if(e.type["domTypeName"]==="FormCol")return e;return k(M.Col,{children:e},n)})).filter(Boolean).concat(k(M.OperateCol,r({},n,{leftList:i,rightList:s}),999))}),[q,l,C,z,G,Q,a,o,T]);var Y=t==="xs"?"left":(h==null?void 0:h.labelAlign)||"right";return k(O,{className:d("easy-table-filter",v),style:m,children:k(B,r({form:z,autoComplete:"off",onFinish:K,className:u,style:n.formStyle,isPure:true,labelWidth:"80",formItemGap:"15"},h,{labelAlign:Y,children:n.isPure?_:k(M.Row,{gutter:[15,0],gridSize:n.formGridSize,children:H})}))})};var re=function e(){var n=N(Z);return n.getEasyTableRef()};var ie=function e(){var n=N(Z);return{current:n.getEasyTableRef()}};var ae=function e(n){var t=x(n.initSelectedRowKeys||[]),r=t[0],i=t[1];var a={type:"checkbox",selectedRowKeys:r,onChange:function e(t){i(t);n.onChange(t);if(n.cacheKey){X.set(n.cacheKey,t)}}};var o=[{title:"字段名称",dataIndex:"title",render:function e(n,t){return t["_isFoldTitle"]||n}},{title:"字段Key",dataIndex:"dataIndex"}];return k(R,{children:k(F,{title:"选择字段",open:n.open,onClose:n.onClose,width:"35%",styles:{body:{padding:15}},children:k(b,{bordered:true,size:"small",columns:o,rowSelection:a,rowKey:"dataIndex",pagination:false,scroll:{x:"max-content"},dataSource:n.dataList})})})};var oe=["tooltip","tipsWrapperProps","title"];var le=function e(n){return w((function(){var e=n.columns.map((function(e){var n=e.tooltip,t=e.tipsWrapperProps,a=e.title,o=i(e,oe);if(typeof a==="string"&&t){if(typeof t==="string"){return r({},o,{title:k(Y,{tipType:"popover",popoverProps:{content:t},children:a})})}return r({},o,{title:k(Y,r({},t,{children:a}))})}if(typeof a==="string"&&!!n){return r({},o,{title:k(H,{tooltip:n,title:a})})}return e})).filter(Boolean);return[].concat(e)}),[n.columns])};var se=function e(n){var t=n.columns;return L.useMemoCustom((function(){var e;if((e=n.columnFoldConfig)!=null&&e.hidden)return t;var r=t[t.length-1];if(n.foldColumnList.length>0&&t.length>0){var i=t.find((function(e){return e["_isFoldColumn"]}));if(i&&r.dataIndex!==i.dataIndex){i.title=i["_isFoldTitle"];i["_isFoldColumn"]=false}if(!r["_isFoldColumn"]){var a,o,l,s,u,c;r["_isFoldTitle"]=r["_isFoldTitle"]||r.title;r["_isFoldColumn"]=true;var d=(a=n.columnFoldConfig)==null?void 0:a.triggerType;r.title=I(Q,{direction:"horizontal",fullIndex:0,style:{alignItems:"center"},children:[k("span",{children:r.title}),k("div",{style:{padding:"0 5px 0 20px",display:"flex"},children:d==="drawer"?k(U,{onClick:n.onOpenColumnFoldModal,text:(o=n.columnFoldConfig)==null?void 0:o.text,size:"small",icon:((l=n.columnFoldConfig)==null?void 0:l.icon)||k(G,{svgPath:"ionic/list-circle",color:"#868686"}),hoverTips:((s=n.columnFoldConfig)==null?void 0:s.hoverTipText)||"字段列表",style:{padding:0,margin:0}}):k(ee,{dataList:n.foldColumnList,onChange:n.onChangeFoldColumnList,cacheKey:n.cacheKey,initSelectedRowKeys:n.showFoldKeyList,children:k(U,{text:(u=n.columnFoldConfig)==null?void 0:u.text,style:{padding:0,margin:0},size:"small",icon:((c=n.columnFoldConfig)==null?void 0:c.icon)||k(G,{svgPath:"ionic/list-circle",color:"#868686"})})})})]})}}return t}),[n.columns,n.columnFoldConfig])};var ue=function e(n){return w((function(){var e=n.columns.map((function(e){var t=e.hidden,r=e.isFold;if(t)return null;if(r&&!n.showFoldKeyList.includes(e.dataIndex))return null;return e})).filter(Boolean);return[].concat(e)}),[n.columns,n.showFoldKeyList])};var ce=function e(n){return w((function(){if(!Object.keys(n.asyncColumnRequestResult))return n.columns;return n.columns.map((function(e){var t=e.dataIndex;var r=n.asyncColumnRequestResult[t];if(t&&r){if(r.loading){e.render=function(e){return k(A,{loading:true,type:"text",loadingPosition:"center",removeGap:true,children:e})}}else if(e.asyncRender){e.render=function(n,t,i){return e.asyncRender==null?void 0:e.asyncRender(n,t,i,r.respData)}}}return e}))}),[n.columns,n.asyncColumnRequestResult])};var de=["children","rowKey","pagination","isSync"];var fe=function e(n){var t=N(Z);var a=n.children,o=n.rowKey,l=n.pagination,f=n.isSync,m=i(n,de);var v=L.useResponsivePoint()||"";var g=z({});var h=x({}),y=h[0],C=h[1];var F=t.dynamicColumnsConfig,S=F.columnFoldConfig,j=F.onCloseColumnFoldModal,K=F.columnFoldOpen,_=F.onOpenColumnFoldModal,P=F.asyncColumnRequest,q=F.showFoldKeyList,V=F.onChangeShowFoldKeyList;var D=t.cacheKey,E=t.fieldNames,A=t.onRequest,B=t.tableDataSource,M=t.pageSize,Q=t.tableTotal,U=t.loading,G=t.paginationFixed,H=t.onSetPaginationStatus;var Y=$.get(D);L.useEffectCustom((function(){t.onSetBaseColumns(n.columns||[])}),[]);T((function(){if(P!=null&&P.length){var e=function e(){var t;var i=P[n];g.current=r({},g.current,(t={},t[i.dataIndex]={loading:true},t));C(g.current);i.onRequest().then((function(e){var n;g.current=r({},g.current,(n={},n[i.dataIndex]={loading:false,respData:e},n));C(g.current)})).catch((function(e){var n;console.error(e==null?void 0:e.message);g.current=r({},g.current,(n={},n[i.dataIndex]={loading:false},n));C(g.current)}))};for(var n=0;n<P.length;n++){e()}}}),[P]);var J=L.useMemoCustom((function(){if(t.columns){t.onSetColumns(t.columns);return t.columns}else{t.onSetColumns(n.columns);return n.columns}}),[t.columns,n.columns]);var X=le({columns:[].concat(J)});var ee=J.filter((function(e){return!e.hidden&&e.isFold&&e.dataIndex}));X=se({cacheKey:D,columns:X,foldColumnList:ee,showFoldKeyList:q,columnFoldConfig:S,onOpenColumnFoldModal:_,onChangeFoldColumnList:V});X=ue({columns:X,showFoldKeyList:q});X=ce({columns:X,asyncColumnRequestResult:y});L.useEffectCustom((function(){H(l!==false)}),[l]);p.useUpdateEffect((function(){if(!G){if(l!==false){var e;A((e={},e[E.pageSize]=Y[E.pageSize]||M,e[E.pageNo]=1,e))}else{var n;A((n={},n[E.pageSize]=undefined,n[E.pageNo]=undefined,n))}}}),[l]);var ne=w((function(){if(G||l===false)return false;return r({showSizeChanger:true,current:Y[E.pageNo]||1,pageSize:Y[E.pageSize]||M,total:Q,showTotal:function e(n){return"共 "+n+" 条记录"}},n.pagination)}),[Y,E.pageNo,E.pageSize,M,l,G,n.pagination,Q]);var te=function e(t,r,i,a){if(a.action==="paginate"&&ne){var o;A((o={},o[E.pageSize]=t.pageSize,o[E.pageNo]=t.current,o))}else{n.onChange==null||n.onChange(t,r,i,a)}};var re=w((function(){if(!B)return undefined;if(B.length===0){return[]}if(typeof o==="string"&&u(B[0][o])){return B.map((function(e){e[o]=s();return e}))}return B}),[B,o]);X=w((function(){return X.map((function(e){if(!!e.fixed&&v==="xs"){e.fixed=undefined}if(!!e.defaultValue&&!e.render){e.render=function(n){return u(n)||n==""?e.defaultValue:n}}return e}))}),[X,v]);var ie=function e(){if(f&&!re){return I(R,{children:[a,k(b,{size:"small",scroll:{x:"max-content"},bordered:true,rowKey:o,columns:X,loading:U},"1")]})}if(c()){return I(R,{children:[a,k(b,r({size:"small",scroll:{x:"max-content"},bordered:true},m,{columns:X,pagination:ne,rowKey:o,onChange:te,loading:U,dataSource:re}),"2")]})}return I(R,{children:[a,k(W,{children:k(b,r({size:"small",scroll:{x:"max-content"},bordered:true},m,{columns:X,pagination:ne,rowKey:o,onChange:te,loading:U,dataSource:re}),"3")})]})};return I(O,{className:d("easy-table-table",{"ett-empty-show-small":n.emptyShowSize==="small"},n.tableWrapperClassName),style:n.tableWrapperStyle,children:[ie(),k(ae,{dataList:ee,onClose:j,open:K,onChange:V,cacheKey:D,initSelectedRowKeys:q})]})};var me=e.attachPropertiesToComponent(ne,{Filter:te,Table:fe,useEasyTablRef:ie,useEasyTable:re,setEnabledInitRequest:function e(n){J.set(n,false)}});export{me as EasyTable};
23
23
  //# sourceMappingURL=index.js.map