villianjs-pro 1.0.1 → 1.0.4

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 (59) hide show
  1. package/dist/Button/index.d.ts +3 -3
  2. package/dist/Button/index.js +1 -1
  3. package/dist/ButtonGroup/ButtonGroup.js +1 -1
  4. package/dist/ButtonGroup/index.d.ts +1 -1
  5. package/dist/ButtonGroup/index.js +1 -1
  6. package/dist/ButtonGroup/types.d.ts +1 -1
  7. package/dist/ProTable/components/form-footer.js +1 -0
  8. package/dist/ProTable/components/grid-card.d.ts +27 -0
  9. package/dist/ProTable/components/grid-card.js +1 -0
  10. package/dist/{ProTable2 → ProTable}/components/grid-view.d.ts +18 -1
  11. package/dist/ProTable/components/grid-view.js +1 -0
  12. package/dist/{ProTable2 → ProTable}/components/list/index.d.ts +1 -1
  13. package/dist/ProTable/components/list/index.js +1 -0
  14. package/dist/{ProTable2 → ProTable}/components/operation-content.js +1 -1
  15. package/dist/ProTable/components/row-actions.js +1 -0
  16. package/dist/ProTable/hooks/usePagination.js +1 -0
  17. package/dist/{ProTable2 → ProTable}/index.d.ts +1 -0
  18. package/dist/ProTable/index.js +1 -0
  19. package/dist/{ProTable2 → ProTable}/styles.d.ts +1 -0
  20. package/dist/ProTable/styles.js +1 -0
  21. package/dist/ProTable/table.js +1 -0
  22. package/dist/{ProTable2 → ProTable}/types.d.ts +18 -1
  23. package/dist/ProTable/utils.d.ts +83 -0
  24. package/dist/ProTable/utils.js +1 -0
  25. package/dist/index.d.ts +1 -1
  26. package/dist/index.js +1 -1
  27. package/package.json +30 -17
  28. package/dist/ProTable2/components/form-footer.js +0 -1
  29. package/dist/ProTable2/components/grid-view.js +0 -1
  30. package/dist/ProTable2/components/list/index.js +0 -1
  31. package/dist/ProTable2/components/row-actions.js +0 -1
  32. package/dist/ProTable2/hooks/usePagination.js +0 -1
  33. package/dist/ProTable2/index.js +0 -1
  34. package/dist/ProTable2/styles.js +0 -1
  35. package/dist/ProTable2/table.js +0 -1
  36. /package/dist/{ProTable2 → ProTable}/components/Container.d.ts +0 -0
  37. /package/dist/{ProTable2 → ProTable}/components/Container.js +0 -0
  38. /package/dist/{ProTable2 → ProTable}/components/form-content.d.ts +0 -0
  39. /package/dist/{ProTable2 → ProTable}/components/form-content.js +0 -0
  40. /package/dist/{ProTable2 → ProTable}/components/form-footer.d.ts +0 -0
  41. /package/dist/{ProTable2 → ProTable}/components/header-buttons-wrapper.d.ts +0 -0
  42. /package/dist/{ProTable2 → ProTable}/components/header-buttons-wrapper.js +0 -0
  43. /package/dist/{ProTable2 → ProTable}/components/operation-container.d.ts +0 -0
  44. /package/dist/{ProTable2 → ProTable}/components/operation-container.js +0 -0
  45. /package/dist/{ProTable2 → ProTable}/components/operation-content-router.d.ts +0 -0
  46. /package/dist/{ProTable2 → ProTable}/components/operation-content-router.js +0 -0
  47. /package/dist/{ProTable2 → ProTable}/components/operation-content.d.ts +0 -0
  48. /package/dist/{ProTable2 → ProTable}/components/row-actions-router.d.ts +0 -0
  49. /package/dist/{ProTable2 → ProTable}/components/row-actions-router.js +0 -0
  50. /package/dist/{ProTable2 → ProTable}/components/row-actions.d.ts +0 -0
  51. /package/dist/{ProTable2 → ProTable}/components/search.d.ts +0 -0
  52. /package/dist/{ProTable2 → ProTable}/components/search.js +0 -0
  53. /package/dist/{ProTable2 → ProTable}/context.d.ts +0 -0
  54. /package/dist/{ProTable2 → ProTable}/context.js +0 -0
  55. /package/dist/{ProTable2 → ProTable}/hooks/usePagination.d.ts +0 -0
  56. /package/dist/{ProTable2 → ProTable}/hooks/useRouterNavigation.d.ts +0 -0
  57. /package/dist/{ProTable2 → ProTable}/hooks/useRouterNavigation.js +0 -0
  58. /package/dist/{ProTable2 → ProTable}/table.d.ts +0 -0
  59. /package/dist/{ProTable2 → ProTable}/types.js +0 -0
@@ -1,3 +1,3 @@
1
- export { default as Button } from './Button.tsx';
2
- export * from './Button.tsx';
3
- export * from "./types.ts";
1
+ export { default as Button } from './Button';
2
+ export * from './Button';
3
+ export * from "./types";
@@ -1 +1 @@
1
- export{default as Button}from"./Button.tsx";export*from"./Button.tsx";export*from"./types.ts";
1
+ export{default as Button}from"./Button";export*from"./Button";export*from"./types";
@@ -1 +1 @@
1
- function _array_like_to_array(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _array_with_holes(arr){if(Array.isArray(arr))return arr}function _array_without_holes(arr){if(Array.isArray(arr))return _array_like_to_array(arr)}function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _iterable_to_array(iter){if(typeof Symbol!=="undefined"&&iter[Symbol.iterator]!=null||iter["@@iterator"]!=null)return Array.from(iter)}function _iterable_to_array_limit(arr,i){var _i=arr==null?null:typeof Symbol!=="undefined"&&arr[Symbol.iterator]||arr["@@iterator"];if(_i==null)return;var _arr=[];var _n=true;var _d=false;var _s,_e;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&&_i["return"]!=null)_i["return"]()}finally{if(_d)throw _e}}return _arr}function _non_iterable_rest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _non_iterable_spread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}function _object_without_properties(source,excluded){if(source==null)return{};var target=_object_without_properties_loose(source,excluded);var key,i;if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceSymbolKeys.length;i++){key=sourceSymbolKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}}return target}function _object_without_properties_loose(source,excluded){if(source==null)return{};var target={};var sourceKeys=Object.keys(source);var key,i;for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;target[key]=source[key]}return target}function _sliced_to_array(arr,i){return _array_with_holes(arr)||_iterable_to_array_limit(arr,i)||_unsupported_iterable_to_array(arr,i)||_non_iterable_rest()}function _to_consumable_array(arr){return _array_without_holes(arr)||_iterable_to_array(arr)||_unsupported_iterable_to_array(arr)||_non_iterable_spread()}function _unsupported_iterable_to_array(o,minLen){if(!o)return;if(typeof o==="string")return _array_like_to_array(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _array_like_to_array(o,minLen)}import React from"react";import{Dropdown}from"antd";import{Button}from"../Button";import{MoreOutlined}from"@ant-design/icons";import classNames from"classnames";import useStyle from"./styles.ts";import{useComponentConfig}from"antd/es/config-provider/context";export var ButtonGroup=function(param){var _param_items=param.items,items=_param_items===void 0?[]:_param_items,_param_maxCount=param.maxCount,maxCount=_param_maxCount===void 0?3:_param_maxCount,className=param.className,style=param.style,moreProps=param.moreProps;var getPrefixCls=useComponentConfig("button-group").getPrefixCls;var prefixCls=getPrefixCls("vlian-button-group");var _useStyle=_sliced_to_array(useStyle(prefixCls),3),wrapCSSVar=_useStyle[0],hashId=_useStyle[1],cssVarCls=_useStyle[2];var sortedItems=React.useMemo(function(){return _to_consumable_array(items).sort(function(a,b){var _a_order,_b_order;return((_a_order=a.order)!==null&&_a_order!==void 0?_a_order:99)-((_b_order=b.order)!==null&&_b_order!==void 0?_b_order:99)})},[items]);var visibleItems=sortedItems.slice(0,maxCount);var dropdownItems=sortedItems.slice(maxCount);var dropdownMenu=dropdownItems.map(function(item){return{key:item.key,label:item.label,onClick:item.onClick,disabled:item.disabled,icon:item.icon}});return wrapCSSVar(React.createElement("div",{className:classNames(prefixCls,className,cssVarCls,hashId),style:style},visibleItems.map(function(config){var isCustom=config.isCustom,component=config.component,item=_object_without_properties(config,["isCustom","component"]);if(!isCustom){var _item_type;return React.createElement(Button,{key:item.key,onClick:item.onClick,disabled:item.disabled,loading:item.loading,icon:item.icon,type:(_item_type=item.type)!==null&&_item_type!==void 0?_item_type:"default",variant:item.variant,size:item.size,color:item.color,style:item.style,className:item.className},item.label)}return component||null}),dropdownItems.length>0&&React.createElement(Dropdown,{menu:{items:dropdownMenu},trigger:["click"]},React.createElement(Button,_object_spread({icon:React.createElement(MoreOutlined,null)},moreProps)))))};export default ButtonGroup;
1
+ function _array_like_to_array(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _array_with_holes(arr){if(Array.isArray(arr))return arr}function _array_without_holes(arr){if(Array.isArray(arr))return _array_like_to_array(arr)}function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _iterable_to_array(iter){if(typeof Symbol!=="undefined"&&iter[Symbol.iterator]!=null||iter["@@iterator"]!=null)return Array.from(iter)}function _iterable_to_array_limit(arr,i){var _i=arr==null?null:typeof Symbol!=="undefined"&&arr[Symbol.iterator]||arr["@@iterator"];if(_i==null)return;var _arr=[];var _n=true;var _d=false;var _s,_e;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&&_i["return"]!=null)_i["return"]()}finally{if(_d)throw _e}}return _arr}function _non_iterable_rest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _non_iterable_spread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}function _object_without_properties(source,excluded){if(source==null)return{};var target=_object_without_properties_loose(source,excluded);var key,i;if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceSymbolKeys.length;i++){key=sourceSymbolKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}}return target}function _object_without_properties_loose(source,excluded){if(source==null)return{};var target={};var sourceKeys=Object.keys(source);var key,i;for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;target[key]=source[key]}return target}function _sliced_to_array(arr,i){return _array_with_holes(arr)||_iterable_to_array_limit(arr,i)||_unsupported_iterable_to_array(arr,i)||_non_iterable_rest()}function _to_consumable_array(arr){return _array_without_holes(arr)||_iterable_to_array(arr)||_unsupported_iterable_to_array(arr)||_non_iterable_spread()}function _unsupported_iterable_to_array(o,minLen){if(!o)return;if(typeof o==="string")return _array_like_to_array(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _array_like_to_array(o,minLen)}import React from"react";import{Dropdown}from"antd";import{Button}from"../Button";import{MoreOutlined}from"@ant-design/icons";import classNames from"classnames";import useStyle from"./styles";import{useComponentConfig}from"antd/es/config-provider/context";export var ButtonGroup=function(param){var _param_items=param.items,items=_param_items===void 0?[]:_param_items,_param_maxCount=param.maxCount,maxCount=_param_maxCount===void 0?3:_param_maxCount,className=param.className,style=param.style,moreProps=param.moreProps;var getPrefixCls=useComponentConfig("button-group").getPrefixCls;var prefixCls=getPrefixCls("vlian-button-group");var _useStyle=_sliced_to_array(useStyle(prefixCls),3),wrapCSSVar=_useStyle[0],hashId=_useStyle[1],cssVarCls=_useStyle[2];var sortedItems=React.useMemo(function(){return _to_consumable_array(items).sort(function(a,b){var _a_order,_b_order;return((_a_order=a.order)!==null&&_a_order!==void 0?_a_order:99)-((_b_order=b.order)!==null&&_b_order!==void 0?_b_order:99)})},[items]);var visibleItems=sortedItems.slice(0,maxCount);var dropdownItems=sortedItems.slice(maxCount);var dropdownMenu=dropdownItems.map(function(item){return{key:item.key,label:item.label,onClick:item.onClick,disabled:item.disabled,icon:item.icon}});return wrapCSSVar(React.createElement("div",{className:classNames(prefixCls,className,cssVarCls,hashId),style:style},visibleItems.map(function(config){var isCustom=config.isCustom,component=config.component,item=_object_without_properties(config,["isCustom","component"]);if(!isCustom){var _item_type;return React.createElement(Button,{key:item.key,onClick:item.onClick,disabled:item.disabled,loading:item.loading,icon:item.icon,type:(_item_type=item.type)!==null&&_item_type!==void 0?_item_type:"default",variant:item.variant,size:item.size,color:item.color,style:item.style,className:item.className},item.label)}return component||null}),dropdownItems.length>0&&React.createElement(Dropdown,{menu:{items:dropdownMenu},trigger:["click"]},React.createElement(Button,_object_spread({icon:React.createElement(MoreOutlined,null)},moreProps)))))};export default ButtonGroup;
@@ -1,4 +1,4 @@
1
- import { ButtonGroup } from './ButtonGroup.tsx';
1
+ import { ButtonGroup } from './ButtonGroup';
2
2
  export type { ButtonGroupProps, ButtonGroupItem } from './types';
3
3
  export { ButtonGroup };
4
4
  export default ButtonGroup;
@@ -1 +1 @@
1
- import{ButtonGroup}from"./ButtonGroup.tsx";export{ButtonGroup};export default ButtonGroup;
1
+ import{ButtonGroup}from"./ButtonGroup";export{ButtonGroup};export default ButtonGroup;
@@ -1,2 +1,2 @@
1
- import type { ButtonGroupItem, ButtonGroupProps } from './ButtonGroup.tsx';
1
+ import type { ButtonGroupItem, ButtonGroupProps } from './ButtonGroup';
2
2
  export type { ButtonGroupItem, ButtonGroupProps };
@@ -0,0 +1 @@
1
+ function _array_like_to_array(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _array_with_holes(arr){if(Array.isArray(arr))return arr}function _iterable_to_array_limit(arr,i){var _i=arr==null?null:typeof Symbol!=="undefined"&&arr[Symbol.iterator]||arr["@@iterator"];if(_i==null)return;var _arr=[];var _n=true;var _d=false;var _s,_e;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&&_i["return"]!=null)_i["return"]()}finally{if(_d)throw _e}}return _arr}function _non_iterable_rest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _sliced_to_array(arr,i){return _array_with_holes(arr)||_iterable_to_array_limit(arr,i)||_unsupported_iterable_to_array(arr,i)||_non_iterable_rest()}function _unsupported_iterable_to_array(o,minLen){if(!o)return;if(typeof o==="string")return _array_like_to_array(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _array_like_to_array(o,minLen)}import React from"react";import{Space}from"antd";import{Button}from"../../Button";import{useLocale}from"../../locale";import useStyle from"../styles";export var FormFooter=function(props){var type=props.type,submitText=props.submitText,cancelText=props.cancelText,_props_loading=props.loading,loading=_props_loading===void 0?false:_props_loading,onSubmit=props.onSubmit,onCancel=props.onCancel;var messages=useLocale().messages;var _useStyle=_sliced_to_array(useStyle("VlianTable"),2),wrapSSR=_useStyle[0],hashId=_useStyle[1];var getSubmitText=function(){if(submitText){return submitText}switch(type){case"create":return messages.table.createSubmitText||"创建";case"update":return messages.table.updateSubmitText||"保存";case"view":return messages.table.closeText||"关闭";default:return messages.table.submitText||"提交"}};if(type==="view"){return wrapSSR(React.createElement("div",{className:"VlianTable-form-footer ".concat(hashId)},React.createElement(Button,{onClick:onCancel},cancelText||messages.table.closeText||"关闭")))}return wrapSSR(React.createElement("div",{className:"VlianTable-form-footer ".concat(hashId)},React.createElement(Space,null,React.createElement(Button,{onClick:onCancel},cancelText||messages.table.cancelText||"取消"),React.createElement(Button,{type:"primary",loading:loading,onClick:onSubmit},getSubmitText()))))};
@@ -0,0 +1,27 @@
1
+ /**
2
+ * 网格卡片组件
3
+ * 从 list/index.tsx 中提取,减少组件职责
4
+ */
5
+ import React from "react";
6
+ export interface GridCardProps<T = any> {
7
+ /** 当前记录 */
8
+ record: T;
9
+ /** 记录索引 */
10
+ index: number;
11
+ /** 排序后的列配置 */
12
+ sortedColumns: any[];
13
+ /** rowKey 配置 */
14
+ rowKey?: string | ((record: T, index: number) => React.Key);
15
+ /** 是否选中 */
16
+ isSelected?: boolean;
17
+ /** 选择变化回调 */
18
+ onSelect?: (checked: boolean) => void;
19
+ /** 是否显示选择框 */
20
+ showSelection?: boolean;
21
+ /** 每行显示的字段数量 */
22
+ fieldsPerRow?: number;
23
+ }
24
+ /**
25
+ * 默认网格卡片组件
26
+ */
27
+ export declare const GridCard: <T extends Record<string, any> = Record<string, any>>(props: GridCardProps<T>) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ function _array_like_to_array(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _array_with_holes(arr){if(Array.isArray(arr))return arr}function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _iterable_to_array_limit(arr,i){var _i=arr==null?null:typeof Symbol!=="undefined"&&arr[Symbol.iterator]||arr["@@iterator"];if(_i==null)return;var _arr=[];var _n=true;var _d=false;var _s,_e;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&&_i["return"]!=null)_i["return"]()}finally{if(_d)throw _e}}return _arr}function _non_iterable_rest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})}keys.push.apply(keys,symbols)}return keys}function _object_spread_props(target,source){source=source!=null?source:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}function _sliced_to_array(arr,i){return _array_with_holes(arr)||_iterable_to_array_limit(arr,i)||_unsupported_iterable_to_array(arr,i)||_non_iterable_rest()}function _unsupported_iterable_to_array(o,minLen){if(!o)return;if(typeof o==="string")return _array_like_to_array(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _array_like_to_array(o,minLen)}import React from"react";import{Card,Checkbox,Row,Col,Space}from"antd";import useStyle from"../styles";import{getResponsiveSpan,formatDisplayValue}from"../utils";export var GridCard=function(props){var _actionColumn_render;var record=props.record,index=props.index,sortedColumns=props.sortedColumns,rowKey=props.rowKey,_props_isSelected=props.isSelected,isSelected=_props_isSelected===void 0?false:_props_isSelected,onSelect=props.onSelect,_props_showSelection=props.showSelection,showSelection=_props_showSelection===void 0?true:_props_showSelection;var _useStyle=_sliced_to_array(useStyle("VlianTable"),2),hashId=_useStyle[1];var recordKey=React.useMemo(function(){if(typeof rowKey==="function"){return rowKey(record,index)}return record[rowKey||"id"]},[rowKey,record,index]);var displayColumns=React.useMemo(function(){return sortedColumns.filter(function(col){return!col.hideInTable&&col.dataIndex&&col.valueType!=="option"&&col.key!=="actions"&&col.dataIndex!=="actions"})},[sortedColumns]);var actionColumn=React.useMemo(function(){return sortedColumns.find(function(col){return col.valueType==="option"||col.key==="actions"||col.dataIndex==="actions"})},[sortedColumns]);var titleColumn=displayColumns[0];var titleValue=titleColumn?record[titleColumn.dataIndex]:"";var titleDisplay=(titleColumn===null||titleColumn===void 0?void 0:titleColumn.render)?titleColumn.render(titleValue,record,index):titleValue;var titleFullText=titleColumn?"".concat(titleColumn.title,": ").concat(formatDisplayValue(titleDisplay)):"";var remainingColumns=displayColumns.slice(1);var handleCheckboxChange=React.useCallback(function(e){e.stopPropagation();var checked=e.target.checked;onSelect===null||onSelect===void 0?void 0:onSelect(checked)},[onSelect]);return React.createElement(Card,{hoverable:true,className:"VlianTable-grid-card ".concat(hashId),styles:{body:{padding:"8px 16px"},header:{padding:"0 16px",minHeight:"40px",height:"40px"}},title:React.createElement("div",{className:"VlianTable-grid-card-title ".concat(hashId),title:titleFullText},titleColumn&&React.createElement(React.Fragment,null,React.createElement("span",{className:"VlianTable-grid-card-title-label ".concat(hashId)},titleColumn.title,":")," ",React.createElement("span",{className:"VlianTable-grid-card-title-value ".concat(hashId)},titleDisplay||"-"))),extra:showSelection?React.createElement(Checkbox,{checked:isSelected,onChange:handleCheckboxChange,onClick:function(e){return e.stopPropagation()}}):null},remainingColumns.length>0&&React.createElement(Row,{gutter:[12,12],className:"VlianTable-grid-card-fields-row ".concat(actionColumn?"":"VlianTable-grid-card-fields-row-no-actions"," ").concat(hashId)},remainingColumns.map(function(col){var value=record[col.dataIndex];var displayValue=col.render?col.render(value,record,index):value;var gridSpan=col.gridSpan||"half";var responsiveSpan=getResponsiveSpan(gridSpan);return React.createElement(Col,_object_spread_props(_object_spread({key:col.dataIndex},responsiveSpan),{className:"VlianTable-grid-card-field-col ".concat(hashId)}),React.createElement("div",{className:"VlianTable-grid-card-field-container ".concat(hashId)},React.createElement("div",{className:"VlianTable-grid-card-field-label ".concat(hashId),title:col.title},col.title,":"),React.createElement("div",{className:"VlianTable-grid-card-field-value ".concat(hashId),title:formatDisplayValue(displayValue)},displayValue||"-")))})),actionColumn&&React.createElement("div",{className:"VlianTable-grid-card-actions ".concat(remainingColumns.length>0?"VlianTable-grid-card-actions-with-gap":"VlianTable-grid-card-actions-no-gap"," ").concat(hashId)},React.createElement(Space,{size:"small"},(_actionColumn_render=actionColumn.render)===null||_actionColumn_render===void 0?void 0:_actionColumn_render.call(actionColumn,null,record,index))))};
@@ -1,3 +1,4 @@
1
+ import React from "react";
1
2
  import type { PaginationProps } from "antd";
2
3
  import type { GridCardRender } from "../types";
3
4
  export interface GridViewProps<T = any> {
@@ -28,8 +29,24 @@ export interface GridViewProps<T = any> {
28
29
  * ProTable actionRef,用于获取实时分页状态
29
30
  */
30
31
  actionRef?: any;
32
+ /**
33
+ * 行选择配置
34
+ */
35
+ rowSelection?: any;
36
+ /**
37
+ * 已选中的行 keys
38
+ */
39
+ selectedRowKeys?: React.Key[];
40
+ /**
41
+ * 选择变化的回调
42
+ */
43
+ onSelectChange?: (keys: React.Key[], rows: T[]) => void;
44
+ /**
45
+ * 获取行的 key
46
+ */
47
+ rowKey?: string | ((record: T, index: number) => React.Key);
31
48
  }
32
49
  /**
33
50
  * 网格视图组件
34
51
  */
35
- export declare const GridView: <T extends Record<string, any> = Record<string, any>>(props: GridViewProps<T>) => import("react/jsx-runtime").JSX.Element;
52
+ export declare const GridView: <T extends Record<string, any> = Record<string, any>>(props: GridViewProps<T>) => React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
@@ -0,0 +1 @@
1
+ function _array_like_to_array(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _array_with_holes(arr){if(Array.isArray(arr))return arr}function _array_without_holes(arr){if(Array.isArray(arr))return _array_like_to_array(arr)}function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _iterable_to_array(iter){if(typeof Symbol!=="undefined"&&iter[Symbol.iterator]!=null||iter["@@iterator"]!=null)return Array.from(iter)}function _iterable_to_array_limit(arr,i){var _i=arr==null?null:typeof Symbol!=="undefined"&&arr[Symbol.iterator]||arr["@@iterator"];if(_i==null)return;var _arr=[];var _n=true;var _d=false;var _s,_e;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&&_i["return"]!=null)_i["return"]()}finally{if(_d)throw _e}}return _arr}function _non_iterable_rest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _non_iterable_spread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})}keys.push.apply(keys,symbols)}return keys}function _object_spread_props(target,source){source=source!=null?source:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}function _sliced_to_array(arr,i){return _array_with_holes(arr)||_iterable_to_array_limit(arr,i)||_unsupported_iterable_to_array(arr,i)||_non_iterable_rest()}function _to_consumable_array(arr){return _array_without_holes(arr)||_iterable_to_array(arr)||_unsupported_iterable_to_array(arr)||_non_iterable_spread()}function _unsupported_iterable_to_array(o,minLen){if(!o)return;if(typeof o==="string")return _array_like_to_array(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _array_like_to_array(o,minLen)}import React from"react";import{Row,Col,Card,Pagination}from"antd";import useStyle from"../styles";export var GridView=function(props){var _actionRef_current;var _props_dataSource=props.dataSource,dataSource=_props_dataSource===void 0?[]:_props_dataSource,cardRender=props.cardRender,_props_gridColumns=props.gridColumns,gridColumns=_props_gridColumns===void 0?{xs:1,sm:2,md:3,lg:3,xl:3,xxl:3}:_props_gridColumns,pagination=props.pagination,actionRef=props.actionRef,rowSelection=props.rowSelection,_props_selectedRowKeys=props.selectedRowKeys,selectedRowKeys=_props_selectedRowKeys===void 0?[]:_props_selectedRowKeys,onSelectChange=props.onSelectChange,_props_rowKey=props.rowKey,rowKey=_props_rowKey===void 0?"id":_props_rowKey;var _useStyle=_sliced_to_array(useStyle("VlianTable"),2),wrapSSR=_useStyle[0],hashId=_useStyle[1];var pageInfo=actionRef===null||actionRef===void 0?void 0:(_actionRef_current=actionRef.current)===null||_actionRef_current===void 0?void 0:_actionRef_current.pageInfo;var mergedPagination=React.useMemo(function(){if(pagination===false){return false}return _object_spread_props(_object_spread({},pagination),{current:(pageInfo===null||pageInfo===void 0?void 0:pageInfo.current)||(pagination===null||pagination===void 0?void 0:pagination.current)||1,pageSize:(pageInfo===null||pageInfo===void 0?void 0:pageInfo.pageSize)||(pagination===null||pagination===void 0?void 0:pagination.pageSize)||10,total:(pageInfo===null||pageInfo===void 0?void 0:pageInfo.total)||(pagination===null||pagination===void 0?void 0:pagination.total)||0})},[pagination,pageInfo]);var handlePageChange=React.useCallback(function(page,pageSize){var _pagination_onChange,_actionRef_current;pagination===null||pagination===void 0?void 0:(_pagination_onChange=pagination.onChange)===null||_pagination_onChange===void 0?void 0:_pagination_onChange.call(pagination,page,pageSize);if(actionRef===null||actionRef===void 0?void 0:(_actionRef_current=actionRef.current)===null||_actionRef_current===void 0?void 0:_actionRef_current.setPageInfo){actionRef.current.setPageInfo({current:page,pageSize:pageSize})}},[pagination,actionRef]);var handlePageSizeChange=React.useCallback(function(current,size){var _pagination_onShowSizeChange,_actionRef_current;pagination===null||pagination===void 0?void 0:(_pagination_onShowSizeChange=pagination.onShowSizeChange)===null||_pagination_onShowSizeChange===void 0?void 0:_pagination_onShowSizeChange.call(pagination,current,size);if(actionRef===null||actionRef===void 0?void 0:(_actionRef_current=actionRef.current)===null||_actionRef_current===void 0?void 0:_actionRef_current.setPageInfo){actionRef.current.setPageInfo({current:current,pageSize:size})}},[pagination,actionRef]);var colSpan=React.useMemo(function(){return{xs:gridColumns.xs?24/gridColumns.xs:24,sm:gridColumns.sm?24/gridColumns.sm:12,md:gridColumns.md?24/gridColumns.md:8,lg:gridColumns.lg?24/gridColumns.lg:6,xl:gridColumns.xl?24/gridColumns.xl:6,xxl:gridColumns.xxl?24/gridColumns.xxl:4}},[gridColumns]);var getRecordKey=React.useCallback(function(record,index){if(typeof rowKey==="function"){return rowKey(record,index)}return record[rowKey]},[rowKey]);var handleSelect=React.useCallback(function(record,index){return function(selected){var key=getRecordKey(record,index);var newKeys;var newRows;if(selected){newKeys=_to_consumable_array(selectedRowKeys).concat([key]);newRows=dataSource.filter(function(item,idx){var itemKey=getRecordKey(item,idx);return selectedRowKeys.includes(itemKey)||itemKey===key})}else{newKeys=selectedRowKeys.filter(function(k){return k!==key});newRows=dataSource.filter(function(item,idx){var itemKey=getRecordKey(item,idx);return newKeys.includes(itemKey)})}onSelectChange===null||onSelectChange===void 0?void 0:onSelectChange(newKeys,newRows)}},[dataSource,selectedRowKeys,onSelectChange,getRecordKey]);if(!dataSource||dataSource.length===0){return wrapSSR(React.createElement(Card,null,React.createElement("div",{className:"VlianTable-grid-view-empty ".concat(hashId)},"暂无数据")))}return wrapSSR(React.createElement("div",null,React.createElement(Row,{gutter:[16,16]},dataSource.map(function(record,index){var key=getRecordKey(record,index);var isSelected=selectedRowKeys.includes(key);var showSelection=rowSelection&&rowSelection!==false;return React.createElement(Col,_object_spread({key:index},colSpan),cardRender({record:record,index:index,isSelected:isSelected,rowKey:key,onSelect:handleSelect(record,index),showSelection:showSelection}))})),mergedPagination!==false&&React.createElement("div",{className:"VlianTable-grid-view-pagination ".concat(hashId)},React.createElement(Pagination,_object_spread_props(_object_spread({showQuickJumper:false,showSizeChanger:true,align:"end",showTotal:function(total,range){return"第 ".concat(range[0],"-").concat(range[1]," 条/总共 ").concat(total," 条")}},mergedPagination),{onChange:handlePageChange,onShowSizeChange:handlePageSizeChange})))))};
@@ -16,4 +16,4 @@ export declare const ProTableList: <DataSource extends Record<string, any> = Rec
16
16
  xl?: number;
17
17
  xxl?: number;
18
18
  };
19
- }) => import("react/jsx-runtime").JSX.Element;
19
+ }) => React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
@@ -0,0 +1 @@
1
+ function _array_like_to_array(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _array_with_holes(arr){if(Array.isArray(arr))return arr}function _array_without_holes(arr){if(Array.isArray(arr))return _array_like_to_array(arr)}function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _iterable_to_array(iter){if(typeof Symbol!=="undefined"&&iter[Symbol.iterator]!=null||iter["@@iterator"]!=null)return Array.from(iter)}function _iterable_to_array_limit(arr,i){var _i=arr==null?null:typeof Symbol!=="undefined"&&arr[Symbol.iterator]||arr["@@iterator"];if(_i==null)return;var _arr=[];var _n=true;var _d=false;var _s,_e;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&&_i["return"]!=null)_i["return"]()}finally{if(_d)throw _e}}return _arr}function _non_iterable_rest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _non_iterable_spread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})}keys.push.apply(keys,symbols)}return keys}function _object_spread_props(target,source){source=source!=null?source:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}function _sliced_to_array(arr,i){return _array_with_holes(arr)||_iterable_to_array_limit(arr,i)||_unsupported_iterable_to_array(arr,i)||_non_iterable_rest()}function _to_consumable_array(arr){return _array_without_holes(arr)||_iterable_to_array(arr)||_unsupported_iterable_to_array(arr)||_non_iterable_spread()}function _type_of(obj){"@swc/helpers - typeof";return obj&&typeof Symbol!=="undefined"&&obj.constructor===Symbol?"symbol":typeof obj}function _unsupported_iterable_to_array(o,minLen){if(!o)return;if(typeof o==="string")return _array_like_to_array(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _array_like_to_array(o,minLen)}import React from"react";import{ProTable as AntdProTable}from"@ant-design/pro-components";import{ProTableContext}from"../../context";import{useContext}from"react";import{AppstoreOutlined,TableOutlined}from"@ant-design/icons";import{GridView}from"../grid-view";import{Spin,Tooltip}from"antd";import useStyle from"../../styles";import{GridCard}from"../grid-card";export var ProTableList=function(props){var columns=props.columns,headerTitle=props.headerTitle,rowSelection=props.rowSelection,pagination=props.pagination,tableProps=props.tableProps,actionRef=props.actionRef,gridCardRender=props.gridCardRender,gridColumns=props.gridColumns;var _useContext=useContext(ProTableContext),selectedRowKeys=_useContext.selectedRowKeys,setSelectedRowKeys=_useContext.setSelectedRowKeys,setSelectedRows=_useContext.setSelectedRows,viewMode=_useContext.viewMode,setViewMode=_useContext.setViewMode,dataSource=_useContext.dataSource,setDataSource=_useContext.setDataSource,loading=_useContext.loading;var _useStyle=_sliced_to_array(useStyle("VlianTable"),2),wrapSSR=_useStyle[0],hashId=_useStyle[1];var _React_useState=_sliced_to_array(React.useState(columns),2),sortedColumns=_React_useState[0],setSortedColumns=_React_useState[1];var fieldsPerRow=tableProps.gridCardFieldsPerRow||3;var handleColumnsStateChange=React.useCallback(function(map){var newSortedColumns=_to_consumable_array(columns).sort(function(a,b){var _map_aKey,_map_bKey;var aKey=a.key||a.dataIndex;var bKey=b.key||b.dataIndex;var _map_aKey_order;var aOrder=(_map_aKey_order=(_map_aKey=map[aKey])===null||_map_aKey===void 0?void 0:_map_aKey.order)!==null&&_map_aKey_order!==void 0?_map_aKey_order:0;var _map_bKey_order;var bOrder=(_map_bKey_order=(_map_bKey=map[bKey])===null||_map_bKey===void 0?void 0:_map_bKey.order)!==null&&_map_bKey_order!==void 0?_map_bKey_order:0;return aOrder-bOrder});setSortedColumns(newSortedColumns)},[columns]);var defaultGridCardRender=React.useCallback(function(params){return React.createElement(GridCard,_object_spread_props(_object_spread({},params),{sortedColumns:sortedColumns,rowKey:tableProps.rowKey,fieldsPerRow:fieldsPerRow}))},[sortedColumns,tableProps.rowKey,fieldsPerRow]);var finalGridCardRender=gridCardRender||defaultGridCardRender;var handleGridSelectChange=React.useCallback(function(keys,rows){setSelectedRowKeys(keys);setSelectedRows(rows);if(rowSelection&&(typeof rowSelection==="undefined"?"undefined":_type_of(rowSelection))==="object"&&rowSelection.onChange){rowSelection.onChange(keys,rows)}},[rowSelection,setSelectedRowKeys,setSelectedRows]);var mergedRowSelection=React.useMemo(function(){if(rowSelection===false){return false}if(!rowSelection){return undefined}return _object_spread_props(_object_spread({},rowSelection),{selectedRowKeys:selectedRowKeys,onChange:function(keys,selectedRowsData,info){setSelectedRowKeys(keys);if(selectedRowsData){setSelectedRows(selectedRowsData)}if(rowSelection&&(typeof rowSelection==="undefined"?"undefined":_type_of(rowSelection))==="object"&&rowSelection.onChange){if(rowSelection.onChange.length===3){rowSelection.onChange(keys,selectedRowsData||[],info||{})}else{rowSelection.onChange(keys,selectedRowsData||[])}}}})},[rowSelection,selectedRowKeys,setSelectedRowKeys,setSelectedRows]);var mergedScroll=React.useMemo(function(){var defaultScroll={x:true};if(tableProps.scroll){return _object_spread({},defaultScroll,tableProps.scroll)}return defaultScroll},[tableProps.scroll]);var mergedOptions=React.useMemo(function(){var defaultOptions=tableProps.options||{};var _defaultOptions_fullScreen,_defaultOptions_reload,_defaultOptions_setting,_defaultOptions_density;return _object_spread_props(_object_spread({},defaultOptions),{fullScreen:(_defaultOptions_fullScreen=defaultOptions.fullScreen)!==null&&_defaultOptions_fullScreen!==void 0?_defaultOptions_fullScreen:true,reload:(_defaultOptions_reload=defaultOptions.reload)!==null&&_defaultOptions_reload!==void 0?_defaultOptions_reload:true,setting:(_defaultOptions_setting=defaultOptions.setting)!==null&&_defaultOptions_setting!==void 0?_defaultOptions_setting:true,density:(_defaultOptions_density=defaultOptions.density)!==null&&_defaultOptions_density!==void 0?_defaultOptions_density:true})},[tableProps.options]);var toolbar=React.useMemo(function(){var _tableProps_toolbar;var toggleViewMode=function(){setViewMode(viewMode==="table"?"grid":"table")};return _object_spread_props(_object_spread({},tableProps.toolbar),{actions:_to_consumable_array(((_tableProps_toolbar=tableProps.toolbar)===null||_tableProps_toolbar===void 0?void 0:_tableProps_toolbar.actions)||[]).concat([React.createElement(Tooltip,{key:"view-mode-switch",title:viewMode==="table"?"切换到网格视图":"切换到列表视图"},React.createElement("div",{onClick:toggleViewMode,className:"VlianTable-view-switch ".concat(hashId)},viewMode==="table"?React.createElement(AppstoreOutlined,null):React.createElement(TableOutlined,null)))])})},[tableProps.toolbar,viewMode,setViewMode]);return wrapSSR(React.createElement("div",{className:"VlianTable-list ".concat(hashId)},React.createElement(AntdProTable,_object_spread_props(_object_spread({},tableProps),{className:viewMode==="grid"?"VlianTable-grid-mode ".concat(hashId):undefined,columns:columns,search:false,cardProps:false,headerTitle:headerTitle,rowSelection:mergedRowSelection,pagination:pagination,actionRef:actionRef,scroll:mergedScroll,options:mergedOptions,toolbar:toolbar,onDataSourceChange:function(datas){setDataSource(datas)},onColumnsStateChange:function(map){var _tableProps_onColumnsStateChange;handleColumnsStateChange(map);(_tableProps_onColumnsStateChange=tableProps.onColumnsStateChange)===null||_tableProps_onColumnsStateChange===void 0?void 0:_tableProps_onColumnsStateChange.call(tableProps,map)},tableRender:function(_,dom){if(viewMode==="grid"){return React.createElement(React.Fragment,null,dom,React.createElement("div",null,React.createElement(Spin,{spinning:loading},React.createElement(GridView,{dataSource:dataSource,cardRender:finalGridCardRender,gridColumns:gridColumns,pagination:pagination,actionRef:actionRef,rowSelection:rowSelection,selectedRowKeys:selectedRowKeys,onSelectChange:handleGridSelectChange,rowKey:tableProps.rowKey}))))}return dom}}))))};
@@ -1 +1 @@
1
- function _array_like_to_array(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _array_with_holes(arr){if(Array.isArray(arr))return arr}function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value}catch(error){reject(error);return}if(info.done){resolve(value)}else{Promise.resolve(value).then(_next,_throw)}}function _async_to_generator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value)}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err)}_next(undefined)})}}function _iterable_to_array_limit(arr,i){var _i=arr==null?null:typeof Symbol!=="undefined"&&arr[Symbol.iterator]||arr["@@iterator"];if(_i==null)return;var _arr=[];var _n=true;var _d=false;var _s,_e;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&&_i["return"]!=null)_i["return"]()}finally{if(_d)throw _e}}return _arr}function _non_iterable_rest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _sliced_to_array(arr,i){return _array_with_holes(arr)||_iterable_to_array_limit(arr,i)||_unsupported_iterable_to_array(arr,i)||_non_iterable_rest()}function _unsupported_iterable_to_array(o,minLen){if(!o)return;if(typeof o==="string")return _array_like_to_array(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _array_like_to_array(o,minLen)}function _ts_generator(thisArg,body){var f,y,t,_={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},g=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return g.next=verb(0),g["throw"]=verb(1),g["return"]=verb(2),typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(g&&(g=0,op[0]&&(_=0)),_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]<t[3])){_.label=op[1];break}if(op[0]===6&&_.label<t[1]){_.label=t[1];t=op;break}if(t&&_.label<t[2]){_.label=t[2];_.ops.push(op);break}if(t[2])_.ops.pop();_.trys.pop();continue}op=body.call(thisArg,_)}catch(e){op=[6,e];y=0}finally{f=t=0}if(op[0]&5)throw op[1];return{value:op[0]?op[1]:void 0,done:true}}}import React from"react";import{FormContent}from"./form-content";import{FormFooter}from"./form-footer";import{message}from"antd";export var OperationContent=function(props){var type=props.type,record=props.record,onClose=props.onClose,onSuccess=props.onSuccess,_props_tableColumns=props.tableColumns,tableColumns=_props_tableColumns===void 0?[]:_props_tableColumns,formConfig=props.formConfig;var formRef=React.useRef(null);var _React_useState=_sliced_to_array(React.useState(false),2),loading=_React_useState[0],setLoading=_React_useState[1];if(!formConfig||formConfig.enabled===false){return React.createElement("div",{style:{padding:24}},React.createElement("div",null,"当前操作类型: ",type),React.createElement("div",null,"请通过 operationContent 属性自定义渲染内容,或配置 formConfig 使用内置表单"))}var handleSubmit=function(){return _async_to_generator(function(){var form,values,result,successMsg,error;return _ts_generator(this,function(_state){switch(_state.label){case 0:_state.trys.push([0,4,5,6]);form=formRef.current;if(!form)return[2];setLoading(true);return[4,form.validateFields()];case 1:values=_state.sent();if(!formConfig.onSubmit)return[3,3];return[4,formConfig.onSubmit(values,type,record)];case 2:result=_state.sent();if(result===false){return[2]}_state.label=3;case 3:successMsg=type==="create"?"创建成功":type==="update"?"更新成功":"提交成功";message.success(successMsg);onSuccess===null||onSuccess===void 0?void 0:onSuccess();onClose();return[3,6];case 4:error=_state.sent();console.error("表单提交失败:",error);if(error===null||error===void 0?void 0:error.errorFields){message.error("请检查表单字段")}else{message.error((error===null||error===void 0?void 0:error.message)||"提交失败")}return[3,6];case 5:setLoading(false);return[7];case 6:return[2]}})})()};var renderFooter=function(){if(formConfig.footerRender!==undefined){if(formConfig.footerRender===false){return null}return formConfig.footerRender({type:type,record:record,form:formRef.current,onSubmit:handleSubmit,onCancel:onClose,loading:loading})}return React.createElement(FormFooter,{type:type,submitText:type==="create"?formConfig.createSubmitText:formConfig.updateSubmitText,cancelText:formConfig.cancelText,loading:loading,onSubmit:handleSubmit,onCancel:onClose})};return React.createElement(React.Fragment,null,React.createElement(FormContent,{type:type,record:record,tableColumns:tableColumns,formConfig:formConfig,formRef:formRef}),renderFooter())};
1
+ function _array_like_to_array(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _array_with_holes(arr){if(Array.isArray(arr))return arr}function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value}catch(error){reject(error);return}if(info.done){resolve(value)}else{Promise.resolve(value).then(_next,_throw)}}function _async_to_generator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value)}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err)}_next(undefined)})}}function _iterable_to_array_limit(arr,i){var _i=arr==null?null:typeof Symbol!=="undefined"&&arr[Symbol.iterator]||arr["@@iterator"];if(_i==null)return;var _arr=[];var _n=true;var _d=false;var _s,_e;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&&_i["return"]!=null)_i["return"]()}finally{if(_d)throw _e}}return _arr}function _non_iterable_rest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _sliced_to_array(arr,i){return _array_with_holes(arr)||_iterable_to_array_limit(arr,i)||_unsupported_iterable_to_array(arr,i)||_non_iterable_rest()}function _unsupported_iterable_to_array(o,minLen){if(!o)return;if(typeof o==="string")return _array_like_to_array(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _array_like_to_array(o,minLen)}function _ts_generator(thisArg,body){var f,y,t,_={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},g=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return g.next=verb(0),g["throw"]=verb(1),g["return"]=verb(2),typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(g&&(g=0,op[0]&&(_=0)),_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]<t[3])){_.label=op[1];break}if(op[0]===6&&_.label<t[1]){_.label=t[1];t=op;break}if(t&&_.label<t[2]){_.label=t[2];_.ops.push(op);break}if(t[2])_.ops.pop();_.trys.pop();continue}op=body.call(thisArg,_)}catch(e){op=[6,e];y=0}finally{f=t=0}if(op[0]&5)throw op[1];return{value:op[0]?op[1]:void 0,done:true}}}import React from"react";import{FormContent}from"./form-content";import{FormFooter}from"./form-footer";import{message}from"antd";import useStyle from"../styles";export var OperationContent=function(props){var type=props.type,record=props.record,onClose=props.onClose,onSuccess=props.onSuccess,_props_tableColumns=props.tableColumns,tableColumns=_props_tableColumns===void 0?[]:_props_tableColumns,formConfig=props.formConfig;var formRef=React.useRef(null);var _React_useState=_sliced_to_array(React.useState(false),2),loading=_React_useState[0],setLoading=_React_useState[1];var _useStyle=_sliced_to_array(useStyle("VlianTable"),2),wrapSSR=_useStyle[0],hashId=_useStyle[1];if(!formConfig||formConfig.enabled===false){return wrapSSR(React.createElement("div",{className:"VlianTable-operation-placeholder ".concat(hashId)},React.createElement("div",null,"当前操作类型: ",type),React.createElement("div",null,"请通过 operationContent 属性自定义渲染内容,或配置 formConfig 使用内置表单")))}var handleSubmit=function(){return _async_to_generator(function(){var form,values,result,successMsg,error;return _ts_generator(this,function(_state){switch(_state.label){case 0:_state.trys.push([0,4,5,6]);form=formRef.current;if(!form)return[2];setLoading(true);return[4,form.validateFields()];case 1:values=_state.sent();if(!formConfig.onSubmit)return[3,3];return[4,formConfig.onSubmit(values,type,record)];case 2:result=_state.sent();if(result===false){return[2]}_state.label=3;case 3:successMsg=type==="create"?"创建成功":type==="update"?"更新成功":"提交成功";message.success(successMsg);onSuccess===null||onSuccess===void 0?void 0:onSuccess();onClose();return[3,6];case 4:error=_state.sent();console.error("表单提交失败:",error);if(error===null||error===void 0?void 0:error.errorFields){message.error("请检查表单字段")}else{message.error((error===null||error===void 0?void 0:error.message)||"提交失败")}return[3,6];case 5:setLoading(false);return[7];case 6:return[2]}})})()};var renderFooter=function(){if(formConfig.footerRender!==undefined){if(formConfig.footerRender===false){return null}return formConfig.footerRender({type:type,record:record,form:formRef.current,onSubmit:handleSubmit,onCancel:onClose,loading:loading})}return React.createElement(FormFooter,{type:type,submitText:type==="create"?formConfig.createSubmitText:formConfig.updateSubmitText,cancelText:formConfig.cancelText,loading:loading,onSubmit:handleSubmit,onCancel:onClose})};return React.createElement(React.Fragment,null,React.createElement(FormContent,{type:type,record:record,tableColumns:tableColumns,formConfig:formConfig,formRef:formRef}),renderFooter())};
@@ -0,0 +1 @@
1
+ function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value}catch(error){reject(error);return}if(info.done){resolve(value)}else{Promise.resolve(value).then(_next,_throw)}}function _async_to_generator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value)}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err)}_next(undefined)})}}function _ts_generator(thisArg,body){var f,y,t,_={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},g=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return g.next=verb(0),g["throw"]=verb(1),g["return"]=verb(2),typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(g&&(g=0,op[0]&&(_=0)),_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]<t[3])){_.label=op[1];break}if(op[0]===6&&_.label<t[1]){_.label=t[1];t=op;break}if(t&&_.label<t[2]){_.label=t[2];_.ops.push(op);break}if(t[2])_.ops.pop();_.trys.pop();continue}op=body.call(thisArg,_)}catch(e){op=[6,e];y=0}finally{f=t=0}if(op[0]&5)throw op[1];return{value:op[0]?op[1]:void 0,done:true}}}import React from"react";import{ButtonGroup}from"../../ButtonGroup";import{EyeOutlined,EditOutlined,DeleteOutlined}from"@ant-design/icons";import{useLocale}from"../../locale";import ConfirmButton from"../../ConfirmButton/ConfirmButton";import{convertRowButtonToGroupItem}from"../utils";export var RowActions=function(props){var record=props.record,index=props.index,_props_showViewBtn=props.showViewBtn,showViewBtn=_props_showViewBtn===void 0?true:_props_showViewBtn,viewBtnProps=props.viewBtnProps,onView=props.onView,_props_showUpdateBtn=props.showUpdateBtn,showUpdateBtn=_props_showUpdateBtn===void 0?true:_props_showUpdateBtn,updateBtnProps=props.updateBtnProps,onUpdate=props.onUpdate,_props_showRemoveBtn=props.showRemoveBtn,showRemoveBtn=_props_showRemoveBtn===void 0?true:_props_showRemoveBtn,removeBtnProps=props.removeBtnProps,onRemove=props.onRemove,_props_rowButtonItems=props.rowButtonItems,rowButtonItems=_props_rowButtonItems===void 0?[]:_props_rowButtonItems,_props_maxCount=props.maxCount,maxCount=_props_maxCount===void 0?3:_props_maxCount;var messages=useLocale().messages;var convertToButtonItem=React.useCallback(function(config,defaultKey,defaultHandler){return convertRowButtonToGroupItem(config,defaultKey,record,index,defaultHandler)},[record,index]);var handleRemoveConfirm=function(){return _async_to_generator(function(){return _ts_generator(this,function(_state){switch(_state.label){case 0:if(!onRemove)return[3,2];return[4,onRemove(record,index)];case 1:_state.sent();_state.label=2;case 2:return[2,true]}})})()};var items=[];if(showViewBtn&&viewBtnProps!==false){var viewBtn=convertToButtonItem(viewBtnProps,"$view",onView);if(viewBtn){if(!viewBtn.icon){viewBtn.icon=React.createElement(EyeOutlined,null)}if(viewBtn.order===undefined){viewBtn.order=1}if(!viewBtn.label){viewBtn.label=messages.table.viewBtnText||"查看"}if(!viewBtn.type){viewBtn.type="link"}items.push(viewBtn)}}if(showUpdateBtn&&updateBtnProps!==false){var updateBtn=convertToButtonItem(updateBtnProps,"$update",onUpdate);if(updateBtn){if(!updateBtn.icon){updateBtn.icon=React.createElement(EditOutlined,null)}if(updateBtn.order===undefined){updateBtn.order=2}if(!updateBtn.label){updateBtn.label=messages.table.updateBtnText||"编辑"}if(!updateBtn.type){updateBtn.type="link"}items.push(updateBtn)}}if(showRemoveBtn&&removeBtnProps!==false){var config=removeBtnProps||{};var visible=typeof config.visible==="function"?config.visible(record,index):config.visible!==false;if(visible){var disabled=typeof config.disabled==="function"?config.disabled(record,index):config.disabled||false;var customOnRemove=config.onClick?function(){return _async_to_generator(function(){return _ts_generator(this,function(_state){switch(_state.label){case 0:return[4,config.onClick(record,index)];case 1:_state.sent();return[2,true]}})})()}:handleRemoveConfirm;var removeBtnLabel=config.label||messages.table.removeBtnText||"删除";var removeBtnIcon=config.icon||React.createElement(DeleteOutlined,null);var _config_order;items.push({key:config.key||"$remove",label:removeBtnLabel,order:(_config_order=config.order)!==null&&_config_order!==void 0?_config_order:3,isCustom:true,component:React.createElement(ConfirmButton,{key:config.key||"$remove",mode:"popconfirm",title:messages.table.removeTip||"警告",content:messages.table.removeConfirm||"确定要删除这条记录吗?",onConfirm:customOnRemove,triggerBtnProps:{type:config.type||"link",color:config.color||"danger",disabled:disabled,icon:removeBtnIcon,size:config.size,style:config.style,className:config.className}},removeBtnLabel)})}}rowButtonItems.forEach(function(item,idx){var button=convertToButtonItem(item,item.key||"$custom-".concat(idx));if(button){items.push(button)}});if(items.length===0){return null}return React.createElement(ButtonGroup,{items:items,maxCount:maxCount})};
@@ -0,0 +1 @@
1
+ function _array_like_to_array(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _array_with_holes(arr){if(Array.isArray(arr))return arr}function _array_without_holes(arr){if(Array.isArray(arr))return _array_like_to_array(arr)}function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};return _extends.apply(this,arguments)}function _iterable_to_array(iter){if(typeof Symbol!=="undefined"&&iter[Symbol.iterator]!=null||iter["@@iterator"]!=null)return Array.from(iter)}function _iterable_to_array_limit(arr,i){var _i=arr==null?null:typeof Symbol!=="undefined"&&arr[Symbol.iterator]||arr["@@iterator"];if(_i==null)return;var _arr=[];var _n=true;var _d=false;var _s,_e;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&&_i["return"]!=null)_i["return"]()}finally{if(_d)throw _e}}return _arr}function _non_iterable_rest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _non_iterable_spread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _object_destructuring_empty(o){if(o===null||o===void 0)throw new TypeError("Cannot destructure "+o);return o}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})}keys.push.apply(keys,symbols)}return keys}function _object_spread_props(target,source){source=source!=null?source:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}function _sliced_to_array(arr,i){return _array_with_holes(arr)||_iterable_to_array_limit(arr,i)||_unsupported_iterable_to_array(arr,i)||_non_iterable_rest()}function _to_consumable_array(arr){return _array_without_holes(arr)||_iterable_to_array(arr)||_unsupported_iterable_to_array(arr)||_non_iterable_spread()}function _unsupported_iterable_to_array(o,minLen){if(!o)return;if(typeof o==="string")return _array_like_to_array(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _array_like_to_array(o,minLen)}import{useState,useMemo,useRef,useCallback}from"react";import{Button,Divider,Flex,Input}from"antd";import{DeleteOutlined}from"@ant-design/icons";import{useLocale}from"../../locale";import{Typography}from"../../Text";import useStyle from"../styles";import{StorageHelper}from"../utils";var DEFAULT_PAGE_SIZES=[10,15,20,25,30,50,80,100];export var usePagination=function(){var props=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};var messages=useLocale().messages;var _useStyle=_sliced_to_array(useStyle("VlianTable"),2),hashId=_useStyle[1];var _props_openPageSizeCache=props.openPageSizeCache,openPageSizeCache=_props_openPageSizeCache===void 0?false:_props_openPageSizeCache,_props_tableProps=props.tableProps,tableProps=_props_tableProps===void 0?{}:_props_tableProps,_props_defaultPageSize=props.defaultPageSize,defaultPageSize=_props_defaultPageSize===void 0?10:_props_defaultPageSize,tableKey=props.tableKey;var pagination=tableProps.pagination;var inputRef=useRef(null);var pageCacheKey=tableKey?"table-page-size-list-".concat(tableKey):"table-page-size-list";var pageSizeCacheKey=tableKey?"table-page-size-".concat(tableKey):"table-page-size";var getInitialPageSize=useCallback(function(){if(openPageSizeCache&&pageSizeCacheKey){return StorageHelper.getNumber(pageSizeCacheKey,defaultPageSize)}return defaultPageSize},[openPageSizeCache,pageSizeCacheKey,defaultPageSize]);var getInitialPageSizeOptions=useCallback(function(){if(!openPageSizeCache){return _to_consumable_array(DEFAULT_PAGE_SIZES)}return StorageHelper.getJSON(pageCacheKey,_to_consumable_array(DEFAULT_PAGE_SIZES))},[openPageSizeCache,pageCacheKey]);var _useState=_sliced_to_array(useState(""),2),name=_useState[0],setName=_useState[1];var _useState1=_sliced_to_array(useState(getInitialPageSize),2),pageSize=_useState1[0],setPageSize=_useState1[1];var _useState2=_sliced_to_array(useState(getInitialPageSizeOptions),2),items=_useState2[0],setItems=_useState2[1];var onNameChange=useCallback(function(event){setName(event.target.value)},[]);var addItem=useCallback(function(e){e.preventDefault();if(!openPageSizeCache||!name)return;var newSize=Number(name);if(isNaN(newSize)||newSize<=0)return;setItems(function(prev){var newList=_to_consumable_array(new Set(_to_consumable_array(prev).concat([newSize])));newList.sort(function(a,b){return a-b});StorageHelper.setJSON(pageCacheKey,newList);return newList});setName("");setTimeout(function(){var _inputRef_current;(_inputRef_current=inputRef.current)===null||_inputRef_current===void 0?void 0:_inputRef_current.focus()},0)},[openPageSizeCache,name,pageCacheKey]);var removeItem=useCallback(function(e,val){e.preventDefault();e.stopPropagation();if(!openPageSizeCache)return;setItems(function(prev){var newList=prev.filter(function(v){return v!==val});newList.sort(function(a,b){return a-b});StorageHelper.setJSON(pageCacheKey,newList);if(val===pageSize){var newPageSize=newList[0]||defaultPageSize;setPageSize(newPageSize);StorageHelper.setNumber(pageSizeCacheKey,newPageSize)}return newList})},[openPageSizeCache,pageSize,defaultPageSize,pageCacheKey,pageSizeCacheKey]);var currentPagination=useMemo(function(){if(pagination===false){return false}var otherPageInfo=_extends({},_object_destructuring_empty(pagination||{}));var selectProps={popupRender:function(menu){return React.createElement(React.Fragment,null,menu,React.createElement(Divider,{className:"VlianTable-pagination-divider ".concat(hashId)}),React.createElement(Flex,{className:"VlianTable-pagination-input-container ".concat(hashId),align:"center",gap:10},React.createElement(Input,{placeholder:messages.table.pagePt,ref:inputRef,value:name,type:"number",onChange:onNameChange,onKeyDown:function(e){return e.stopPropagation()},className:"VlianTable-pagination-input ".concat(hashId)}),React.createElement(Button,{className:"VlianTable-pagination-button ".concat(hashId),type:"text",size:"small",onClick:addItem},messages.table.pageAddText)))},optionRender:function(option){return React.createElement(Flex,{align:"center",gap:10},React.createElement(Typography.Text,{className:"VlianTable-pagination-option-text ".concat(hashId)},option.label),React.createElement(Button,{className:"VlianTable-pagination-button ".concat(hashId),type:"text",size:"small",onClick:function(e){removeItem(e,option.value)},icon:React.createElement(DeleteOutlined,null)}))}};return _object_spread_props(_object_spread({pageSize:pageSize,showSizeChanger:openPageSizeCache?selectProps:true,pageSizeOptions:items},otherPageInfo),{onShowSizeChange:function(current,size){var _otherPageInfo_onShowSizeChange;setPageSize(size);if(openPageSizeCache&&pageSizeCacheKey){StorageHelper.setNumber(pageSizeCacheKey,size)}otherPageInfo===null||otherPageInfo===void 0?void 0:(_otherPageInfo_onShowSizeChange=otherPageInfo.onShowSizeChange)===null||_otherPageInfo_onShowSizeChange===void 0?void 0:_otherPageInfo_onShowSizeChange.call(otherPageInfo,current,size)}})},[pagination,openPageSizeCache,removeItem,items,defaultPageSize,addItem,pageSize,name,messages,pageSizeCacheKey]);return{currentPagination:currentPagination}};
@@ -1,2 +1,3 @@
1
1
  export * from "./types";
2
2
  export * from "./table";
3
+ export * from "./utils";
@@ -0,0 +1 @@
1
+ export*from"./types";export*from"./table";export*from"./utils";
@@ -2,6 +2,7 @@ import type { FullToken, GenerateStyle, GetDefaultToken } from 'antd/es/theme/in
2
2
  type VlianTableToken = FullToken<'VlianTable'> & {};
3
3
  export declare const genBaseStyle: GenerateStyle<VlianTableToken>;
4
4
  export declare const genListStyle: GenerateStyle<VlianTableToken>;
5
+ export declare const genGridStyle: GenerateStyle<VlianTableToken>;
5
6
  export declare const prepareComponentToken: GetDefaultToken<'VlianTable'>;
6
7
  declare const _default: (prefixCls: string, rootCls?: string) => readonly [(node: React.ReactElement) => React.ReactElement, string, string];
7
8
  export default _default;
@@ -0,0 +1 @@
1
+ function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}import{genStyleHooks}from"antd/es/theme/internal";export var genBaseStyle=function(token){var componentCls=token.componentCls;return _define_property({},componentCls,{backgroundColor:token.colorBgContainer,"&&":{padding:token.paddingSM},".ant-pro-query-filter.ant-pro-query-filter":{padding:0}})};export var genListStyle=function(token){var componentCls=token.componentCls;var _obj;return _obj={},_define_property(_obj,"".concat(componentCls,"-list"),{position:"relative"}),_define_property(_obj,"".concat(componentCls,"-form-footer"),{textAlign:"right",padding:"".concat(token.padding,"px 0")}),_define_property(_obj,"".concat(componentCls,"-operation-placeholder"),{padding:token.paddingLG}),_define_property(_obj,"".concat(componentCls,"-pagination-divider"),{margin:"".concat(token.marginXS,"px 0")}),_define_property(_obj,"".concat(componentCls,"-pagination-input-container"),{padding:"0 ".concat(token.paddingXS,"px ").concat(token.paddingXXS,"px"),width:"200px"}),_define_property(_obj,"".concat(componentCls,"-pagination-input"),{flexGrow:1,width:0}),_define_property(_obj,"".concat(componentCls,"-pagination-button"),{flexShrink:0}),_define_property(_obj,"".concat(componentCls,"-pagination-option-text"),{width:0,flexGrow:1}),_obj};export var genGridStyle=function(token){var componentCls=token.componentCls;var _obj;return _obj={},_define_property(_obj,"".concat(componentCls,"-grid-card"),{height:"100%",minHeight:"180px","&-title":{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",fontSize:token.fontSize},"&-title-label":{color:token.colorTextSecondary,fontWeight:"normal"},"&-title-value":{fontWeight:600},"&-fields-row":{marginBottom:"10px","&-no-actions":{marginBottom:0}},"&-field-col":{minWidth:0},"&-field-container":{display:"flex",alignItems:"center",fontSize:token.fontSize-1,gap:token.marginXS,minWidth:0},"&-field-label":{color:token.colorTextSecondary,fontSize:token.fontSize,flexShrink:0,whiteSpace:"nowrap"},"&-field-value":{fontWeight:500,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:token.colorText,flex:1,minWidth:0,fontSize:token.fontSize},"&-actions":{borderTop:"1px solid ".concat(token.colorBorder),paddingTop:token.paddingXXS,display:"flex",justifyContent:"flex-end","&-with-gap":{marginTop:0},"&-no-gap":{marginTop:token.marginSM}}}),_define_property(_obj,"".concat(componentCls,"-grid-view"),{"&-empty":{textAlign:"center",padding:"40px 0",color:token.colorTextSecondary},"&-pagination":{marginTop:token.margin,display:"flex",justifyContent:"flex-end"}}),_define_property(_obj,"".concat(componentCls,"-view-switch"),{cursor:"pointer",fontSize:token.fontSizeLG,display:"flex",alignItems:"center",justifyContent:"center",color:"inherit",transition:"color 0.3s","&:hover":{color:token.colorPrimary}}),_define_property(_obj,"".concat(componentCls,"-grid-mode"),{".ant-table-wrapper, .ant-table-pagination":{display:"none !important"}}),_obj};export var prepareComponentToken=function(){return{}};export default genStyleHooks("VlianTable",function(token){return[genBaseStyle(token),genListStyle(token),genGridStyle(token)]},prepareComponentToken);
@@ -0,0 +1 @@
1
+ function _array_like_to_array(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _array_with_holes(arr){if(Array.isArray(arr))return arr}function _array_without_holes(arr){if(Array.isArray(arr))return _array_like_to_array(arr)}function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value}catch(error){reject(error);return}if(info.done){resolve(value)}else{Promise.resolve(value).then(_next,_throw)}}function _async_to_generator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value)}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err)}_next(undefined)})}}function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _iterable_to_array(iter){if(typeof Symbol!=="undefined"&&iter[Symbol.iterator]!=null||iter["@@iterator"]!=null)return Array.from(iter)}function _iterable_to_array_limit(arr,i){var _i=arr==null?null:typeof Symbol!=="undefined"&&arr[Symbol.iterator]||arr["@@iterator"];if(_i==null)return;var _arr=[];var _n=true;var _d=false;var _s,_e;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&&_i["return"]!=null)_i["return"]()}finally{if(_d)throw _e}}return _arr}function _non_iterable_rest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _non_iterable_spread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})}keys.push.apply(keys,symbols)}return keys}function _object_spread_props(target,source){source=source!=null?source:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}function _object_without_properties(source,excluded){if(source==null)return{};var target=_object_without_properties_loose(source,excluded);var key,i;if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceSymbolKeys.length;i++){key=sourceSymbolKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}}return target}function _object_without_properties_loose(source,excluded){if(source==null)return{};var target={};var sourceKeys=Object.keys(source);var key,i;for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;target[key]=source[key]}return target}function _sliced_to_array(arr,i){return _array_with_holes(arr)||_iterable_to_array_limit(arr,i)||_unsupported_iterable_to_array(arr,i)||_non_iterable_rest()}function _to_consumable_array(arr){return _array_without_holes(arr)||_iterable_to_array(arr)||_unsupported_iterable_to_array(arr)||_non_iterable_spread()}function _type_of(obj){"@swc/helpers - typeof";return obj&&typeof Symbol!=="undefined"&&obj.constructor===Symbol?"symbol":typeof obj}function _unsupported_iterable_to_array(o,minLen){if(!o)return;if(typeof o==="string")return _array_like_to_array(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _array_like_to_array(o,minLen)}function _ts_generator(thisArg,body){var f,y,t,_={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},g=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return g.next=verb(0),g["throw"]=verb(1),g["return"]=verb(2),typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(g&&(g=0,op[0]&&(_=0)),_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]<t[3])){_.label=op[1];break}if(op[0]===6&&_.label<t[1]){_.label=t[1];t=op;break}if(t&&_.label<t[2]){_.label=t[2];_.ops.push(op);break}if(t[2])_.ops.pop();_.trys.pop();continue}op=body.call(thisArg,_)}catch(e){op=[6,e];y=0}finally{f=t=0}if(op[0]&5)throw op[1];return{value:op[0]?op[1]:void 0,done:true}}}import React from"react";import{useCommonStyles}from"../hooks";import useStyle from"./styles";import{ButtonGroup}from"../ButtonGroup";import{PlusOutlined,DeleteOutlined}from"@ant-design/icons";import{useLocale}from"../locale";import{usePagination}from"./hooks/usePagination";import{ProTableContext}from"./context";import{Container}from"./components/Container";import{OperationContainer}from"./components/operation-container";import{OperationContent}from"./components/operation-content";import{OperationContentRouter}from"./components/operation-content-router";import{RowActions}from"./components/row-actions";import{RowActionsRouter}from"./components/row-actions-router";import{HeaderButtonsWrapper}from"./components/header-buttons-wrapper";import{MemoryRouter,Routes,Route}from"react-router-dom";import classNames from"classnames";import ConfirmButton from"../ConfirmButton/ConfirmButton";import{convertHeaderButtonToGroupItem,createOperationHandler,ColumnHelper}from"./utils";export var ProTable=function(props){var _props_columns=props.columns,columns=_props_columns===void 0?[]:_props_columns,search=props.search,searchType=props.searchType,_props_showCreateBtn=props.showCreateBtn,showCreateBtn=_props_showCreateBtn===void 0?true:_props_showCreateBtn,createBtnProps=props.createBtnProps,onCreate=props.onCreate,_props_showBatchRemoveBtn=props.showBatchRemoveBtn,showBatchRemoveBtn=_props_showBatchRemoveBtn===void 0?true:_props_showBatchRemoveBtn,batchRemoveBtnProps=props.batchRemoveBtnProps,onBatchRemove=props.onBatchRemove,_props_headerButtonItems=props.headerButtonItems,headerButtonItems=_props_headerButtonItems===void 0?[]:_props_headerButtonItems,_props_headerButtonMaxCount=props.headerButtonMaxCount,headerButtonMaxCount=_props_headerButtonMaxCount===void 0?3:_props_headerButtonMaxCount,rowSelection=props.rowSelection,_props_openPageSizeCache=props.openPageSizeCache,openPageSizeCache=_props_openPageSizeCache===void 0?false:_props_openPageSizeCache,_props_defaultPageSize=props.defaultPageSize,defaultPageSize=_props_defaultPageSize===void 0?10:_props_defaultPageSize,_props_mode=props.mode,mode=_props_mode===void 0?"modal":_props_mode,_props_showViewBtn=props.showViewBtn,showViewBtn=_props_showViewBtn===void 0?true:_props_showViewBtn,viewBtnProps=props.viewBtnProps,_props_showUpdateBtn=props.showUpdateBtn,showUpdateBtn=_props_showUpdateBtn===void 0?true:_props_showUpdateBtn,updateBtnProps=props.updateBtnProps,_props_showRemoveBtn=props.showRemoveBtn,showRemoveBtn=_props_showRemoveBtn===void 0?true:_props_showRemoveBtn,removeBtnProps=props.removeBtnProps,_props_rowButtonItems=props.rowButtonItems,rowButtonItems=_props_rowButtonItems===void 0?[]:_props_rowButtonItems,_props_rowButtonMaxCount=props.rowButtonMaxCount,rowButtonMaxCount=_props_rowButtonMaxCount===void 0?3:_props_rowButtonMaxCount,modalProps=props.modalProps,drawerProps=props.drawerProps,_props_routerBasePath=props.routerBasePath,routerBasePath=_props_routerBasePath===void 0?"/table":_props_routerBasePath,operationContent=props.operationContent,onGetDetail=props.onGetDetail,onRemove=props.onRemove,actionRef=props.actionRef,formConfig=props.formConfig,_props_defaultViewMode=props.defaultViewMode,defaultViewMode=_props_defaultViewMode===void 0?"table":_props_defaultViewMode,gridCardRender=props.gridCardRender,gridColumns=props.gridColumns,_props_gridCardFieldsPerRow=props.gridCardFieldsPerRow,gridCardFieldsPerRow=_props_gridCardFieldsPerRow===void 0?3:_props_gridCardFieldsPerRow,restProps=_object_without_properties(props,["columns","search","searchType","showCreateBtn","createBtnProps","onCreate","showBatchRemoveBtn","batchRemoveBtnProps","onBatchRemove","headerButtonItems","headerButtonMaxCount","rowSelection","openPageSizeCache","defaultPageSize","mode","showViewBtn","viewBtnProps","showUpdateBtn","updateBtnProps","showRemoveBtn","removeBtnProps","rowButtonItems","rowButtonMaxCount","modalProps","drawerProps","routerBasePath","operationContent","onGetDetail","onRemove","actionRef","formConfig","defaultViewMode","gridCardRender","gridColumns","gridCardFieldsPerRow"]);var _useCommonStyles=useCommonStyles("pro-table",props,useStyle),prefixCls=_useCommonStyles.prefixCls,cssVarCls=_useCommonStyles.cssVarCls,wrapCSS=_useCommonStyles.wrapCSS;var messages=useLocale().messages;var internalActionRef=React.useRef(undefined);var currentActionRef=React.useMemo(function(){if(!actionRef)return internalActionRef;if((typeof actionRef==="undefined"?"undefined":_type_of(actionRef))==="object"&&"current"in actionRef)return actionRef;return internalActionRef},[actionRef]);var currentPagination=usePagination({openPageSizeCache:openPageSizeCache,defaultPageSize:defaultPageSize,tableKey:restProps.tableKey,tableProps:restProps}).currentPagination;var _React_useState=_sliced_to_array(React.useState([]),2),selectedRowKeys=_React_useState[0],setSelectedRowKeys=_React_useState[1];var _React_useState1=_sliced_to_array(React.useState([]),2),selectedRows=_React_useState1[0],setSelectedRows=_React_useState1[1];var _React_useState2=_sliced_to_array(React.useState("list"),2),operationType=_React_useState2[0],setOperationType=_React_useState2[1];var _React_useState3=_sliced_to_array(React.useState(null),2),currentRecord=_React_useState3[0],setCurrentRecord=_React_useState3[1];var _React_useState4=_sliced_to_array(React.useState(-1),2),currentIndex=_React_useState4[0],setCurrentIndex=_React_useState4[1];var _React_useState5=_sliced_to_array(React.useState(false),2),operationVisible=_React_useState5[0],setOperationVisible=_React_useState5[1];var _React_useState6=_sliced_to_array(React.useState(defaultViewMode),2),viewMode=_React_useState6[0],setViewMode=_React_useState6[1];var _React_useState7=_sliced_to_array(React.useState([]),2),dataSource=_React_useState7[0],setDataSource=_React_useState7[1];var _React_useState8=_sliced_to_array(React.useState(false),2),loading=_React_useState8[0],setLoading=_React_useState8[1];var searchColumns=React.useMemo(function(){return columns.filter(function(column){var _column_hideInSearch=column.hideInSearch,hideInSearch=_column_hideInSearch===void 0?true:_column_hideInSearch;return!hideInSearch})},[columns]);var searchConfig=React.useMemo(function(){if(search===false){return null}var layoutType=(search===null||search===void 0?void 0:search.layoutType)||searchType||"Form";var layout=(search===null||search===void 0?void 0:search.layout)||"inline";var searchProps=(search===null||search===void 0?void 0:search.searchProps)||{};return _object_spread_props(_object_spread({layoutType:layoutType,layout:layout},searchProps),{onFinish:function(values){return _async_to_generator(function(){var _searchProps_onFinish,_currentActionRef_current_reload,_currentActionRef_current;return _ts_generator(this,function(_state){switch(_state.label){case 0:return[4,searchProps===null||searchProps===void 0?void 0:(_searchProps_onFinish=searchProps.onFinish)===null||_searchProps_onFinish===void 0?void 0:_searchProps_onFinish.call(searchProps,values)];case 1:_state.sent();if(!(currentActionRef===null||currentActionRef===void 0?void 0:currentActionRef.current))return[3,3];return[4,(_currentActionRef_current_reload=(_currentActionRef_current=currentActionRef.current).reload)===null||_currentActionRef_current_reload===void 0?void 0:_currentActionRef_current_reload.call(_currentActionRef_current,true)];case 2:_state.sent();_state.label=3;case 3:return[2]}})})()},onReset:function(values){return _async_to_generator(function(){var _searchProps_onReset,_currentActionRef_current_reloadAndRest,_currentActionRef_current;return _ts_generator(this,function(_state){switch(_state.label){case 0:searchProps===null||searchProps===void 0?void 0:(_searchProps_onReset=searchProps.onReset)===null||_searchProps_onReset===void 0?void 0:_searchProps_onReset.call(searchProps,values);if(!(currentActionRef===null||currentActionRef===void 0?void 0:currentActionRef.current))return[3,2];return[4,(_currentActionRef_current_reloadAndRest=(_currentActionRef_current=currentActionRef.current).reloadAndRest)===null||_currentActionRef_current_reloadAndRest===void 0?void 0:_currentActionRef_current_reloadAndRest.call(_currentActionRef_current)];case 1:_state.sent();_state.label=2;case 2:return[2]}})})()}})},[search,searchType,currentActionRef]);var handleCreateClick=React.useCallback(function(){return _async_to_generator(function(){return _ts_generator(this,function(_state){switch(_state.label){case 0:if(!onCreate)return[3,2];return[4,onCreate(selectedRowKeys)];case 1:_state.sent();return[3,3];case 2:setOperationType("create");setCurrentRecord(null);setCurrentIndex(-1);if(mode!=="router"){setOperationVisible(true)}_state.label=3;case 3:return[2]}})})()},[onCreate,selectedRowKeys,mode]);var handleViewClick=React.useCallback(createOperationHandler("view",setOperationType,setCurrentIndex,setCurrentRecord,setOperationVisible,onGetDetail,mode),[onGetDetail,mode]);var handleUpdateClick=React.useCallback(createOperationHandler("update",setOperationType,setCurrentIndex,setCurrentRecord,setOperationVisible,onGetDetail,mode),[onGetDetail,mode]);var handleRemoveClick=React.useCallback(function(record,index){return _async_to_generator(function(){var result,_currentActionRef_current_reload,_currentActionRef_current,error;return _ts_generator(this,function(_state){switch(_state.label){case 0:if(!onRemove)return[3,6];_state.label=1;case 1:_state.trys.push([1,5,,6]);return[4,onRemove(record,index)];case 2:result=_state.sent();if(result===false){return[2]}if(!(currentActionRef===null||currentActionRef===void 0?void 0:currentActionRef.current))return[3,4];return[4,(_currentActionRef_current_reload=(_currentActionRef_current=currentActionRef.current).reload)===null||_currentActionRef_current_reload===void 0?void 0:_currentActionRef_current_reload.call(_currentActionRef_current,true)];case 3:_state.sent();_state.label=4;case 4:setSelectedRowKeys([]);setSelectedRows([]);return[3,6];case 5:error=_state.sent();console.error("删除失败:",error);return[2];case 6:return[2]}})})()},[onRemove,currentActionRef]);var handleOperationClose=React.useCallback(function(){setOperationVisible(false);setOperationType("list");setCurrentRecord(null);setCurrentIndex(-1)},[]);var handleOperationSuccess=React.useCallback(function(){var shouldRefresh=arguments.length>0&&arguments[0]!==void 0?arguments[0]:true;return _async_to_generator(function(){var _currentActionRef_current_reload,_currentActionRef_current;return _ts_generator(this,function(_state){switch(_state.label){case 0:if(shouldRefresh===false){return[2]}handleOperationClose();if(!(currentActionRef===null||currentActionRef===void 0?void 0:currentActionRef.current))return[3,2];return[4,(_currentActionRef_current_reload=(_currentActionRef_current=currentActionRef.current).reload)===null||_currentActionRef_current_reload===void 0?void 0:_currentActionRef_current_reload.call(_currentActionRef_current,false)];case 1:_state.sent();_state.label=2;case 2:return[2]}})})()},[handleOperationClose,currentActionRef]);var handleBatchRemoveConfirm=React.useCallback(function(){return _async_to_generator(function(){var result,_currentActionRef_current_reload,_currentActionRef_current,error;return _ts_generator(this,function(_state){switch(_state.label){case 0:if(!onBatchRemove||selectedRowKeys.length===0){return[2,false]}_state.label=1;case 1:_state.trys.push([1,5,,6]);return[4,onBatchRemove(selectedRowKeys)];case 2:result=_state.sent();if(result===false){return[2,false]}if(!(currentActionRef===null||currentActionRef===void 0?void 0:currentActionRef.current))return[3,4];return[4,(_currentActionRef_current_reload=(_currentActionRef_current=currentActionRef.current).reload)===null||_currentActionRef_current_reload===void 0?void 0:_currentActionRef_current_reload.call(_currentActionRef_current,true)];case 3:_state.sent();_state.label=4;case 4:setSelectedRowKeys([]);setSelectedRows([]);return[2,true];case 5:error=_state.sent();console.error("批量删除失败:",error);return[2,false];case 6:return[2]}})})()},[onBatchRemove,selectedRowKeys,currentActionRef]);var convertToButtonItem=React.useCallback(function(config,defaultKey,defaultHandler){return convertHeaderButtonToGroupItem(config,defaultKey,selectedRowKeys,defaultHandler)},[selectedRowKeys]);var headerTitle=React.useMemo(function(){var items=[];if(showCreateBtn&&createBtnProps!==false){var createBtn=convertToButtonItem(createBtnProps,"$create",handleCreateClick);if(createBtn){if(!createBtn.icon){createBtn.icon=React.createElement(PlusOutlined,null)}if(createBtn.order===undefined){createBtn.order=1}if(!createBtn.label){createBtn.label=messages.table.createBtnText}if(!createBtn.type){createBtn.type="primary"}items.push(createBtn)}}if(showBatchRemoveBtn&&batchRemoveBtnProps!==false){var config=batchRemoveBtnProps||{};var visible=typeof(config===null||config===void 0?void 0:config.visible)==="function"?config.visible(selectedRowKeys):(config===null||config===void 0?void 0:config.visible)!==false;if(visible){var disabled=typeof(config===null||config===void 0?void 0:config.disabled)==="function"?config.disabled(selectedRowKeys):(config===null||config===void 0?void 0:config.disabled)||false;var batchRemoveBtnLabel=config.label||messages.table.batchRemoveBtnText;var batchRemoveBtnIcon=config.icon||React.createElement(DeleteOutlined,null);var _config_order;items.push({key:config.key||"$batchRemove",label:batchRemoveBtnLabel,order:(_config_order=config.order)!==null&&_config_order!==void 0?_config_order:2,isCustom:true,component:React.createElement(ConfirmButton,{key:config.key||"$batchRemove",mode:"modal",title:messages.table.batchRemoveModalTitle,content:messages.table.batchRemoveModalContent.replace("{count}",String(selectedRowKeys.length)),onConfirm:handleBatchRemoveConfirm,okText:"确定",cancelText:"取消",triggerBtnProps:{type:config.type,variant:config.variant||"outlined",color:config.color||"danger",disabled:selectedRowKeys.length===0||disabled,icon:batchRemoveBtnIcon,size:config.size,style:config.style,className:config.className}},batchRemoveBtnLabel)})}}headerButtonItems.forEach(function(item,index){var button=convertToButtonItem(item,item.key||"$custom-".concat(index));if(button){items.push(button)}});if(items.length===0){return null}return React.createElement(ButtonGroup,{items:items,maxCount:headerButtonMaxCount})},[showCreateBtn,createBtnProps,handleCreateClick,showBatchRemoveBtn,batchRemoveBtnProps,handleBatchRemoveConfirm,headerButtonItems,headerButtonMaxCount,selectedRowKeys,convertToButtonItem,messages]);var mergedRowSelection=React.useMemo(function(){if(rowSelection===false){return false}if(!rowSelection&&!showBatchRemoveBtn){return undefined}return _object_spread({},rowSelection)},[rowSelection,showBatchRemoveBtn]);var mergedColumns=React.useMemo(function(){var hasActions=showViewBtn||showUpdateBtn||showRemoveBtn||rowButtonItems.length>0;var columnsWithDefaults=ColumnHelper.addDefaultConfig(columns);if(!hasActions){return columnsWithDefaults}if(ColumnHelper.hasActionColumn(columns)){return columnsWithDefaults}var ActionComponent=mode==="router"?RowActionsRouter:RowActions;return _to_consumable_array(columnsWithDefaults).concat([{title:messages.table.operateColumnTitle||"操作",key:"actions",dataIndex:"actions",valueType:"option",fixed:"right",width:260,render:function(_,record,index){return React.createElement(ActionComponent,{record:record,index:index,showViewBtn:showViewBtn,viewBtnProps:viewBtnProps,onView:handleViewClick,showUpdateBtn:showUpdateBtn,updateBtnProps:updateBtnProps,onUpdate:handleUpdateClick,showRemoveBtn:showRemoveBtn,removeBtnProps:removeBtnProps,onRemove:handleRemoveClick,rowButtonItems:rowButtonItems,maxCount:rowButtonMaxCount,rowKey:restProps.rowKey})}}])},[columns,mode,showViewBtn,viewBtnProps,handleViewClick,showUpdateBtn,updateBtnProps,handleUpdateClick,showRemoveBtn,removeBtnProps,handleRemoveClick,rowButtonItems,rowButtonMaxCount,messages,restProps.rowKey]);var tableProps=React.useMemo(function(){var _prefixCls=restProps.prefixCls,_className=restProps.className,_style=restProps.style,_size=restProps.size,_tableKey=restProps.tableKey,_pagination=restProps.pagination,userOnLoadingChange=restProps.onLoadingChange,antdTableProps=_object_without_properties(restProps,["prefixCls","className","style","size","tableKey","pagination","onLoadingChange"]);return _object_spread_props(_object_spread({},antdTableProps),{onLoadingChange:function(newLoading){var loadingState=typeof newLoading==="boolean"?newLoading:!!newLoading;setLoading(loadingState);userOnLoadingChange===null||userOnLoadingChange===void 0?void 0:userOnLoadingChange(newLoading)}})},[restProps]);var contextValue=React.useMemo(function(){return{selectedRowKeys:selectedRowKeys,setSelectedRowKeys:setSelectedRowKeys,selectedRows:selectedRows,setSelectedRows:setSelectedRows,operationType:operationType,setOperationType:function(type){return setOperationType(type)},currentRecord:currentRecord,setCurrentRecord:function(record){return setCurrentRecord(record)},currentIndex:currentIndex,setCurrentIndex:function(index){return setCurrentIndex(index)},viewMode:viewMode,setViewMode:setViewMode,dataSource:dataSource,setDataSource:setDataSource,loading:loading,setLoading:setLoading}},[selectedRowKeys,selectedRows,operationType,currentRecord,currentIndex,viewMode,dataSource,loading]);var renderOperationContent=function(){if(operationContent){return operationContent({type:operationType,record:currentRecord||undefined,onClose:handleOperationClose,onSuccess:handleOperationSuccess})}return React.createElement(OperationContent,{type:operationType,record:currentRecord||undefined,onClose:handleOperationClose,onSuccess:handleOperationSuccess,tableColumns:columns,formConfig:formConfig})};var listContent=React.useMemo(function(){var content=React.createElement(Container,{prefixCls:prefixCls,cssVarCls:cssVarCls,className:restProps.className,style:restProps.style,searchConfig:searchConfig,searchColumns:searchColumns,columns:mergedColumns,headerTitle:mode==="router"?React.createElement(HeaderButtonsWrapper,{mode:mode,operationType:operationType},headerTitle):headerTitle,rowSelection:mergedRowSelection,pagination:currentPagination,tableProps:tableProps,actionRef:currentActionRef,wrapCSS:wrapCSS,gridCardRender:gridCardRender,gridColumns:gridColumns,gridCardFieldsPerRow:gridCardFieldsPerRow});return content},[prefixCls,cssVarCls,restProps.className,restProps.style,searchConfig,searchColumns,mergedColumns,headerTitle,mergedRowSelection,currentPagination,tableProps,currentActionRef,wrapCSS,mode,operationType,gridCardRender,gridColumns,gridCardFieldsPerRow]);var renderOperationRoute=function(type){return React.createElement(OperationContentRouter,{type:type,currentRecord:currentRecord,operationContent:operationContent,onClose:handleOperationClose,onSuccess:handleOperationSuccess,tableColumns:columns,formConfig:formConfig})};if(mode==="router"){return wrapCSS(React.createElement(ProTableContext.Provider,{value:contextValue},React.createElement("div",{className:classNames(prefixCls,cssVarCls,restProps.className),style:restProps.style},React.createElement(MemoryRouter,{basename:routerBasePath,initialEntries:[routerBasePath]},React.createElement(Routes,null,React.createElement(Route,{path:"/",element:listContent}),React.createElement(Route,{path:"/create",element:renderOperationRoute("create")}),React.createElement(Route,{path:"/update/:id",element:renderOperationRoute("update")}),React.createElement(Route,{path:"/edit/:id",element:renderOperationRoute("update")}),React.createElement(Route,{path:"/view/:id",element:renderOperationRoute("view")}),React.createElement(Route,{path:"/detail/:id",element:renderOperationRoute("view")}))))))}return wrapCSS(React.createElement(ProTableContext.Provider,{value:contextValue},listContent,operationType!=="list"&&React.createElement(OperationContainer,{mode:mode,operationType:operationType,visible:operationVisible,onClose:handleOperationClose,modalProps:modalProps,drawerProps:drawerProps},renderOperationContent())))};
@@ -19,10 +19,27 @@ export type OperationType = "list" | "create" | "update" | "view";
19
19
  * 视图显示模式
20
20
  */
21
21
  export type ViewMode = "table" | "grid";
22
+ /**
23
+ * 网格卡片渲染函数的参数
24
+ */
25
+ export interface GridCardRenderParams<T = any> {
26
+ /** 当前记录数据 */
27
+ record: T;
28
+ /** 记录索引 */
29
+ index: number;
30
+ /** 当前记录是否被选中 */
31
+ isSelected?: boolean;
32
+ /** 当前记录的 key */
33
+ rowKey?: React.Key;
34
+ /** 切换选中状态的方法 */
35
+ onSelect?: (selected: boolean) => void;
36
+ /** 是否显示选择框 */
37
+ showSelection?: boolean;
38
+ }
22
39
  /**
23
40
  * 网格卡片渲染函数
24
41
  */
25
- export type GridCardRender<T = any> = (record: T, index: number) => React.ReactNode;
42
+ export type GridCardRender<T = any> = (params: GridCardRenderParams<T>) => React.ReactNode;
26
43
  /**
27
44
  * 提取 FormSchema 的 submitter 类型
28
45
  */
@@ -0,0 +1,83 @@
1
+ /**
2
+ * ProTable 工具函数
3
+ */
4
+ import type { Key } from "react";
5
+ import type { ButtonGroupItem } from "../ButtonGroup";
6
+ import type { HeaderButtonItem, RowButtonItem } from "./types";
7
+ /**
8
+ * LocalStorage 工具类
9
+ */
10
+ export declare class StorageHelper {
11
+ /**
12
+ * 安全读取 localStorage
13
+ */
14
+ static getItem(key: string): string | null;
15
+ /**
16
+ * 安全写入 localStorage
17
+ */
18
+ static setItem(key: string, value: string): boolean;
19
+ /**
20
+ * 读取 JSON 数据
21
+ */
22
+ static getJSON<T = any>(key: string, defaultValue: T): T;
23
+ /**
24
+ * 写入 JSON 数据
25
+ */
26
+ static setJSON(key: string, value: any): boolean;
27
+ /**
28
+ * 读取数字
29
+ */
30
+ static getNumber(key: string, defaultValue: number): number;
31
+ /**
32
+ * 写入数字
33
+ */
34
+ static setNumber(key: string, value: number): boolean;
35
+ }
36
+ /**
37
+ * 按钮配置转换器(用于 Header 按钮)
38
+ */
39
+ export declare function convertHeaderButtonToGroupItem(config: HeaderButtonItem | false | undefined, defaultKey: string, selectedRowKeys: Key[], defaultHandler?: () => void | Promise<void>): ButtonGroupItem | null;
40
+ /**
41
+ * 按钮配置转换器(用于行操作按钮)
42
+ */
43
+ export declare function convertRowButtonToGroupItem<T = any>(config: RowButtonItem<T> | false | undefined, defaultKey: string, record: T, index: number, defaultHandler?: (record: T, index: number) => void | Promise<void>): ButtonGroupItem | null;
44
+ /**
45
+ * 列过滤工具
46
+ */
47
+ export declare class ColumnHelper {
48
+ /**
49
+ * 过滤显示列(排除操作列)
50
+ */
51
+ static filterDisplayColumns(columns: any[]): any[];
52
+ /**
53
+ * 查找操作列
54
+ */
55
+ static findActionColumn(columns: any[]): any | undefined;
56
+ /**
57
+ * 检查是否存在操作列
58
+ */
59
+ static hasActionColumn(columns: any[]): boolean;
60
+ /**
61
+ * 为列添加默认配置
62
+ */
63
+ static addDefaultConfig(columns: any[]): any[];
64
+ }
65
+ /**
66
+ * 操作类型工厂函数
67
+ * 创建统一的操作处理函数
68
+ */
69
+ export declare function createOperationHandler<T = any>(operationType: 'view' | 'update', setOperationType: (type: any) => void, setCurrentIndex: (index: number) => void, setCurrentRecord: (record: T | null) => void, setOperationVisible: (visible: boolean) => void, onGetDetail?: (record: T, index: number) => Promise<T>, mode?: string): (record: T, index: number) => Promise<void>;
70
+ /**
71
+ * 获取响应式 span 配置
72
+ */
73
+ export declare function getResponsiveSpan(gridSpan?: 'half' | 'full'): {
74
+ xs: number;
75
+ sm: number;
76
+ md: number;
77
+ lg: number;
78
+ xl: number;
79
+ };
80
+ /**
81
+ * 格式化显示值
82
+ */
83
+ export declare function formatDisplayValue(value: any, defaultValue?: string): string;
@@ -0,0 +1 @@
1
+ function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value}catch(error){reject(error);return}if(info.done){resolve(value)}else{Promise.resolve(value).then(_next,_throw)}}function _async_to_generator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value)}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err)}_next(undefined)})}}function _class_call_check(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _create_class(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})}keys.push.apply(keys,symbols)}return keys}function _object_spread_props(target,source){source=source!=null?source:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}function _object_without_properties(source,excluded){if(source==null)return{};var target=_object_without_properties_loose(source,excluded);var key,i;if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceSymbolKeys.length;i++){key=sourceSymbolKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}}return target}function _object_without_properties_loose(source,excluded){if(source==null)return{};var target={};var sourceKeys=Object.keys(source);var key,i;for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;target[key]=source[key]}return target}function _ts_generator(thisArg,body){var f,y,t,_={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},g=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return g.next=verb(0),g["throw"]=verb(1),g["return"]=verb(2),typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(g&&(g=0,op[0]&&(_=0)),_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]<t[3])){_.label=op[1];break}if(op[0]===6&&_.label<t[1]){_.label=t[1];t=op;break}if(t&&_.label<t[2]){_.label=t[2];_.ops.push(op);break}if(t[2])_.ops.pop();_.trys.pop();continue}op=body.call(thisArg,_)}catch(e){op=[6,e];y=0}finally{f=t=0}if(op[0]&5)throw op[1];return{value:op[0]?op[1]:void 0,done:true}}}export var StorageHelper=/*#__PURE__*/function(){"use strict";function StorageHelper(){_class_call_check(this,StorageHelper)}_create_class(StorageHelper,null,[{key:"getItem",value:function getItem(key){try{return window.localStorage.getItem(key)}catch(error){console.error("Failed to read from localStorage (key: ".concat(key,"):"),error);return null}}},{key:"setItem",value:function setItem(key,value){try{window.localStorage.setItem(key,value);return true}catch(error){console.error("Failed to write to localStorage (key: ".concat(key,"):"),error);return false}}},{key:"getJSON",value:function getJSON(key,defaultValue){var value=this.getItem(key);if(!value)return defaultValue;try{return JSON.parse(value)}catch(error){console.error("Failed to parse JSON from localStorage (key: ".concat(key,"):"),error);return defaultValue}}},{key:"setJSON",value:function setJSON(key,value){try{var jsonString=JSON.stringify(value);return this.setItem(key,jsonString)}catch(error){console.error("Failed to stringify JSON for localStorage (key: ".concat(key,"):"),error);return false}}},{key:"getNumber",value:function getNumber(key,defaultValue){var value=this.getItem(key);if(!value)return defaultValue;var parsed=Number(value);return isNaN(parsed)||parsed<=0?defaultValue:parsed}},{key:"setNumber",value:function setNumber(key,value){return this.setItem(key,String(value))}}]);return StorageHelper}();export function convertHeaderButtonToGroupItem(config,defaultKey,selectedRowKeys,defaultHandler){if(config===false){return null}var visible=typeof(config===null||config===void 0?void 0:config.visible)==="function"?config.visible(selectedRowKeys):(config===null||config===void 0?void 0:config.visible)!==false;if(!visible){return null}var disabled=typeof(config===null||config===void 0?void 0:config.disabled)==="function"?config.disabled(selectedRowKeys):(config===null||config===void 0?void 0:config.disabled)||false;var _ref=config||{},_=_ref.visible,__=_ref.disabled,onClick=_ref.onClick,label=_ref.label,restProps=_object_without_properties(_ref,["visible","disabled","onClick","label"]);return _object_spread_props(_object_spread({},restProps),{key:(config===null||config===void 0?void 0:config.key)||defaultKey,label:label||"",disabled:disabled,onClick:function(){return _async_to_generator(function(){return _ts_generator(this,function(_state){switch(_state.label){case 0:if(!onClick)return[3,2];return[4,onClick(selectedRowKeys)];case 1:_state.sent();return[3,4];case 2:if(!defaultHandler)return[3,4];return[4,defaultHandler()];case 3:_state.sent();_state.label=4;case 4:return[2]}})})()}})}export function convertRowButtonToGroupItem(config,defaultKey,record,index,defaultHandler){if(config===false){return null}var visible=typeof(config===null||config===void 0?void 0:config.visible)==="function"?config.visible(record,index):(config===null||config===void 0?void 0:config.visible)!==false;if(!visible){return null}var disabled=typeof(config===null||config===void 0?void 0:config.disabled)==="function"?config.disabled(record,index):(config===null||config===void 0?void 0:config.disabled)||false;var _ref=config||{},_=_ref.visible,__=_ref.disabled,onClick=_ref.onClick,label=_ref.label,restProps=_object_without_properties(_ref,["visible","disabled","onClick","label"]);return _object_spread_props(_object_spread({},restProps),{key:(config===null||config===void 0?void 0:config.key)||defaultKey,label:label||"",disabled:disabled,onClick:function(){return _async_to_generator(function(){return _ts_generator(this,function(_state){switch(_state.label){case 0:if(!onClick)return[3,2];return[4,onClick(record,index)];case 1:_state.sent();return[3,4];case 2:if(!defaultHandler)return[3,4];return[4,defaultHandler(record,index)];case 3:_state.sent();_state.label=4;case 4:return[2]}})})()}})}export var ColumnHelper=/*#__PURE__*/function(){"use strict";function ColumnHelper(){_class_call_check(this,ColumnHelper)}_create_class(ColumnHelper,null,[{key:"filterDisplayColumns",value:function filterDisplayColumns(columns){return columns.filter(function(col){return!col.hideInTable&&col.dataIndex&&col.valueType!=="option"&&col.key!=="actions"&&col.dataIndex!=="actions"})}},{key:"findActionColumn",value:function findActionColumn(columns){return columns.find(function(col){return col.valueType==="option"||col.key==="actions"||col.dataIndex==="actions"})}},{key:"hasActionColumn",value:function hasActionColumn(columns){return columns.some(function(col){return col.key==="actions"||col.dataIndex==="actions"||col.valueType==="option"})}},{key:"addDefaultConfig",value:function addDefaultConfig(columns){return columns.map(function(col){var _col_ellipsis;var result=_object_spread_props(_object_spread({},col),{ellipsis:(_col_ellipsis=col.ellipsis)!==null&&_col_ellipsis!==void 0?_col_ellipsis:{showTitle:true}});if(!col.width&&!col.maxWidth&&!col.minWidth){result.width=200}return result})}}]);return ColumnHelper}();export function createOperationHandler(operationType,setOperationType,setCurrentIndex,setCurrentRecord,setOperationVisible,onGetDetail,mode){return function(record,index){return _async_to_generator(function(){var detail;return _ts_generator(this,function(_state){switch(_state.label){case 0:setOperationType(operationType);setCurrentIndex(index);if(!onGetDetail)return[3,2];return[4,onGetDetail(record,index)];case 1:detail=_state.sent();setCurrentRecord(detail);return[3,3];case 2:setCurrentRecord(record);_state.label=3;case 3:if(mode!=="router"){setOperationVisible(true)}return[2]}})})()}}export function getResponsiveSpan(gridSpan){if(gridSpan==="full"){return{xs:24,sm:24,md:24,lg:24,xl:24}}return{xs:24,sm:12,md:12,lg:12,xl:12}}export function formatDisplayValue(value){var defaultValue=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"-";if(value===null||value===undefined||value===""){return defaultValue}if(typeof value==="string"||typeof value==="number"){return String(value)}return defaultValue}
package/dist/index.d.ts CHANGED
@@ -6,7 +6,7 @@ export { VaSwitch, type VASwitchProps } from "./Switch";
6
6
  export { CheckCard, type CheckCardProps } from "./CheckCard";
7
7
  export { Typography } from "./Text";
8
8
  export { Image } from "./images";
9
- export * from "./ProTable2";
9
+ export * from "./ProTable";
10
10
  export { ButtonGroup, type ButtonGroupProps, type ButtonGroupItem } from './ButtonGroup';
11
11
  export { ConfirmButton, type ConfirmButtonProps } from './ConfirmButton';
12
12
  export * from "./TabSelector";
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- export{Card}from"./Card";export*from"./Card";export{Modal}from"./Modal";export*from"./Modal";export{VaSwitch}from"./Switch";export{CheckCard}from"./CheckCard";export{Typography}from"./Text";export{Image}from"./images";export*from"./ProTable2";export{ButtonGroup}from"./ButtonGroup";export{ConfirmButton}from"./ConfirmButton";export*from"./TabSelector";export*from"./Beyond";export*from"./List";export*from"./Exports";
1
+ export{Card}from"./Card";export*from"./Card";export{Modal}from"./Modal";export*from"./Modal";export{VaSwitch}from"./Switch";export{CheckCard}from"./CheckCard";export{Typography}from"./Text";export{Image}from"./images";export*from"./ProTable";export{ButtonGroup}from"./ButtonGroup";export{ConfirmButton}from"./ConfirmButton";export*from"./TabSelector";export*from"./Beyond";export*from"./List";export*from"./Exports";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "villianjs-pro",
3
- "version": "1.0.1",
3
+ "version": "1.0.4",
4
4
  "type": "module",
5
5
  "module": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -17,27 +17,38 @@
17
17
  "prepublishOnly": "npm run build"
18
18
  },
19
19
  "dependencies": {
20
+ "@vlian/utils": "^0.0.29",
21
+ "ahooks": "^3.9.5",
22
+ "lodash": "^4.17.21",
23
+ "nanoid": "^5.1.5"
24
+ },
25
+ "peerDependencies": {
26
+ "@ant-design/cssinjs": ">=1.21.0",
27
+ "@ant-design/icons": ">=5.0.0",
28
+ "@ant-design/pro-components": ">=2.8.2",
29
+ "@ant-design/pro-form": ">=2.31.2",
30
+ "@ant-design/pro-table": ">=3.18.2",
31
+ "@ant-design/pro-utils": ">=2.16.2",
32
+ "antd": ">=5.26.3",
33
+ "classnames": ">=2.3.0",
34
+ "react": ">=16.9.0",
35
+ "react-dom": ">=16.9.0",
36
+ "react-router-dom": ">=6.0.0"
37
+ },
38
+ "devDependencies": {
20
39
  "@ant-design/cssinjs": "^1.24.0",
21
40
  "@ant-design/icons": "^6.0.2",
22
41
  "@ant-design/pro-components": "^2.8.10",
23
42
  "@ant-design/pro-form": "^2.32.0",
24
43
  "@ant-design/pro-table": "^3.21.0",
25
44
  "@ant-design/v5-patch-for-react-19": "^1.0.3",
26
- "@testing-library/react": "^16.3.0",
27
- "@types/lodash": "^4.17.20",
28
- "@vlian/utils": "^0.0.29",
29
- "ahooks": "^3.9.5",
30
- "antd": "^5.27.3",
31
- "classnames": "^2.5.1",
32
- "lodash": "^4.17.21",
33
- "nanoid": "^5.1.5",
34
- "react": "^19.1.1",
35
- "react-dom": "^19.1.1",
36
- "react-router-dom": "^7.9.1"
37
- },
38
- "devDependencies": {
39
45
  "@chromatic-com/storybook": "^4.1.1",
40
46
  "@eslint/js": "^9.33.0",
47
+ "@testing-library/react": "^16.3.0",
48
+ "@types/lodash": "^4.17.20",
49
+ "@types/node": "^24.10.0",
50
+ "@types/react": "^19.1.13",
51
+ "@types/react-dom": "^19.1.9",
41
52
  "@storybook/addon-a11y": "^9.1.5",
42
53
  "@storybook/addon-docs": "^9.1.5",
43
54
  "@storybook/addon-onboarding": "^9.1.5",
@@ -45,10 +56,12 @@
45
56
  "@storybook/react-vite": "^9.1.5",
46
57
  "@swc/cli": "^0.7.8",
47
58
  "@swc/core": "^1.15.0",
48
- "@types/node": "^24.10.0",
49
- "@types/react": "^19.1.13",
50
- "@types/react-dom": "^19.1.9",
51
59
  "@vitejs/plugin-react": "^5.0.0",
60
+ "antd": "^5.27.3",
61
+ "classnames": "^2.5.1",
62
+ "react": "^19.1.1",
63
+ "react-dom": "^19.1.1",
64
+ "react-router-dom": "^7.9.1",
52
65
  "@vitest/browser": "^3.2.4",
53
66
  "@vitest/coverage-v8": "^3.2.4",
54
67
  "eslint": "^9.33.0",
@@ -1 +0,0 @@
1
- import React from"react";import{Space}from"antd";import{Button}from"../../Button";import{useLocale}from"../../locale";export var FormFooter=function(props){var type=props.type,submitText=props.submitText,cancelText=props.cancelText,_props_loading=props.loading,loading=_props_loading===void 0?false:_props_loading,onSubmit=props.onSubmit,onCancel=props.onCancel;var messages=useLocale().messages;var getSubmitText=function(){if(submitText){return submitText}switch(type){case"create":return messages.table.createSubmitText||"创建";case"update":return messages.table.updateSubmitText||"保存";case"view":return messages.table.closeText||"关闭";default:return messages.table.submitText||"提交"}};if(type==="view"){return React.createElement("div",{style:{textAlign:"right",padding:"16px 0"}},React.createElement(Button,{onClick:onCancel},cancelText||messages.table.closeText||"关闭"))}return React.createElement("div",{style:{textAlign:"right",padding:"16px 0"}},React.createElement(Space,null,React.createElement(Button,{onClick:onCancel},cancelText||messages.table.cancelText||"取消"),React.createElement(Button,{type:"primary",loading:loading,onClick:onSubmit},getSubmitText())))};
@@ -1 +0,0 @@
1
- function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})}keys.push.apply(keys,symbols)}return keys}function _object_spread_props(target,source){source=source!=null?source:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}import React from"react";import{Row,Col,Card,Pagination}from"antd";export var GridView=function(props){var _actionRef_current;var _props_dataSource=props.dataSource,dataSource=_props_dataSource===void 0?[]:_props_dataSource,cardRender=props.cardRender,_props_gridColumns=props.gridColumns,gridColumns=_props_gridColumns===void 0?{xs:1,sm:2,md:3,lg:3,xl:3,xxl:3}:_props_gridColumns,pagination=props.pagination,actionRef=props.actionRef;var pageInfo=actionRef===null||actionRef===void 0?void 0:(_actionRef_current=actionRef.current)===null||_actionRef_current===void 0?void 0:_actionRef_current.pageInfo;var mergedPagination=React.useMemo(function(){if(pagination===false){return false}return _object_spread_props(_object_spread({},pagination),{current:(pageInfo===null||pageInfo===void 0?void 0:pageInfo.current)||(pagination===null||pagination===void 0?void 0:pagination.current)||1,pageSize:(pageInfo===null||pageInfo===void 0?void 0:pageInfo.pageSize)||(pagination===null||pagination===void 0?void 0:pagination.pageSize)||10,total:(pageInfo===null||pageInfo===void 0?void 0:pageInfo.total)||(pagination===null||pagination===void 0?void 0:pagination.total)||0})},[pagination,pageInfo]);var handlePageChange=React.useCallback(function(page,pageSize){var _pagination_onChange,_actionRef_current;pagination===null||pagination===void 0?void 0:(_pagination_onChange=pagination.onChange)===null||_pagination_onChange===void 0?void 0:_pagination_onChange.call(pagination,page,pageSize);if(actionRef===null||actionRef===void 0?void 0:(_actionRef_current=actionRef.current)===null||_actionRef_current===void 0?void 0:_actionRef_current.setPageInfo){actionRef.current.setPageInfo({current:page,pageSize:pageSize})}},[pagination,actionRef]);var handlePageSizeChange=React.useCallback(function(current,size){var _pagination_onShowSizeChange,_actionRef_current;pagination===null||pagination===void 0?void 0:(_pagination_onShowSizeChange=pagination.onShowSizeChange)===null||_pagination_onShowSizeChange===void 0?void 0:_pagination_onShowSizeChange.call(pagination,current,size);if(actionRef===null||actionRef===void 0?void 0:(_actionRef_current=actionRef.current)===null||_actionRef_current===void 0?void 0:_actionRef_current.setPageInfo){actionRef.current.setPageInfo({current:current,pageSize:size})}},[pagination,actionRef]);var colSpan=React.useMemo(function(){return{xs:gridColumns.xs?24/gridColumns.xs:24,sm:gridColumns.sm?24/gridColumns.sm:12,md:gridColumns.md?24/gridColumns.md:8,lg:gridColumns.lg?24/gridColumns.lg:6,xl:gridColumns.xl?24/gridColumns.xl:6,xxl:gridColumns.xxl?24/gridColumns.xxl:4}},[gridColumns]);if(!dataSource||dataSource.length===0){return React.createElement(Card,null,React.createElement("div",{style:{textAlign:"center",padding:"40px 0",color:"#999"}},"暂无数据"))}return React.createElement("div",null,React.createElement(Row,{gutter:[16,16]},dataSource.map(function(record,index){return React.createElement(Col,_object_spread({key:index},colSpan),cardRender(record,index))})),mergedPagination!==false&&React.createElement("div",{style:{marginTop:16,display:"flex",justifyContent:"flex-end"}},React.createElement(Pagination,_object_spread_props(_object_spread({showQuickJumper:false,showSizeChanger:true,align:"end",showTotal:function(total,range){return"第 ".concat(range[0],"-").concat(range[1]," 条/总共 ").concat(total," 条")}},mergedPagination),{onChange:handlePageChange,onShowSizeChange:handlePageSizeChange}))))};
@@ -1 +0,0 @@
1
- function _array_like_to_array(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _array_with_holes(arr){if(Array.isArray(arr))return arr}function _array_without_holes(arr){if(Array.isArray(arr))return _array_like_to_array(arr)}function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _iterable_to_array(iter){if(typeof Symbol!=="undefined"&&iter[Symbol.iterator]!=null||iter["@@iterator"]!=null)return Array.from(iter)}function _iterable_to_array_limit(arr,i){var _i=arr==null?null:typeof Symbol!=="undefined"&&arr[Symbol.iterator]||arr["@@iterator"];if(_i==null)return;var _arr=[];var _n=true;var _d=false;var _s,_e;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&&_i["return"]!=null)_i["return"]()}finally{if(_d)throw _e}}return _arr}function _non_iterable_rest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _non_iterable_spread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})}keys.push.apply(keys,symbols)}return keys}function _object_spread_props(target,source){source=source!=null?source:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}function _sliced_to_array(arr,i){return _array_with_holes(arr)||_iterable_to_array_limit(arr,i)||_unsupported_iterable_to_array(arr,i)||_non_iterable_rest()}function _to_consumable_array(arr){return _array_without_holes(arr)||_iterable_to_array(arr)||_unsupported_iterable_to_array(arr)||_non_iterable_spread()}function _type_of(obj){"@swc/helpers - typeof";return obj&&typeof Symbol!=="undefined"&&obj.constructor===Symbol?"symbol":typeof obj}function _unsupported_iterable_to_array(o,minLen){if(!o)return;if(typeof o==="string")return _array_like_to_array(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _array_like_to_array(o,minLen)}import React from"react";import{ProTable as AntdProTable}from"@ant-design/pro-components";import{ProTableContext}from"../../context";import{useContext}from"react";import{AppstoreOutlined,TableOutlined}from"@ant-design/icons";import{GridView}from"../grid-view";import{Card,Checkbox,Row,Col,Space,Spin,Tooltip}from"antd";export var ProTableList=function(props){var columns=props.columns,headerTitle=props.headerTitle,rowSelection=props.rowSelection,pagination=props.pagination,tableProps=props.tableProps,actionRef=props.actionRef,gridCardRender=props.gridCardRender,gridColumns=props.gridColumns;var _useContext=useContext(ProTableContext),selectedRowKeys=_useContext.selectedRowKeys,setSelectedRowKeys=_useContext.setSelectedRowKeys,setSelectedRows=_useContext.setSelectedRows,viewMode=_useContext.viewMode,setViewMode=_useContext.setViewMode,dataSource=_useContext.dataSource,setDataSource=_useContext.setDataSource,loading=_useContext.loading;var _React_useState=_sliced_to_array(React.useState(columns),2),sortedColumns=_React_useState[0],setSortedColumns=_React_useState[1];var fieldsPerRow=tableProps.gridCardFieldsPerRow||3;var handleColumnsStateChange=React.useCallback(function(map){var newSortedColumns=_to_consumable_array(columns).sort(function(a,b){var _map_aKey,_map_bKey;var aKey=a.key||a.dataIndex;var bKey=b.key||b.dataIndex;var _map_aKey_order;var aOrder=(_map_aKey_order=(_map_aKey=map[aKey])===null||_map_aKey===void 0?void 0:_map_aKey.order)!==null&&_map_aKey_order!==void 0?_map_aKey_order:0;var _map_bKey_order;var bOrder=(_map_bKey_order=(_map_bKey=map[bKey])===null||_map_bKey===void 0?void 0:_map_bKey.order)!==null&&_map_bKey_order!==void 0?_map_bKey_order:0;return aOrder-bOrder});setSortedColumns(newSortedColumns)},[columns]);var defaultGridCardRender=React.useCallback(function(record,index){var _actionColumn_render;var rowKey=typeof tableProps.rowKey==="function"?tableProps.rowKey(record,index):record[tableProps.rowKey||"id"];var isSelected=selectedRowKeys.includes(rowKey);var displayColumns=sortedColumns.filter(function(col){return!col.hideInTable&&col.dataIndex&&col.valueType!=="option"&&col.key!=="actions"&&col.dataIndex!=="actions"});var actionColumn=sortedColumns.find(function(col){return col.valueType==="option"||col.key==="actions"||col.dataIndex==="actions"});var titleColumn=displayColumns[0];var titleValue=titleColumn?record[titleColumn.dataIndex]:"";var titleDisplay=(titleColumn===null||titleColumn===void 0?void 0:titleColumn.render)?titleColumn.render(titleValue,record,index):titleValue;var titleFullText=titleColumn?"".concat(titleColumn.title,": ").concat(typeof titleDisplay==="string"||typeof titleDisplay==="number"?String(titleDisplay):titleDisplay):"";var remainingColumns=displayColumns.slice(1);var handleCheckboxChange=function(e){e.stopPropagation();var checked=e.target.checked;var newKeys;var newRows;if(checked){newKeys=_to_consumable_array(selectedRowKeys).concat([rowKey]);newRows=_to_consumable_array(dataSource.filter(function(item){var itemKey=typeof tableProps.rowKey==="function"?tableProps.rowKey(item,0):item[tableProps.rowKey||"id"];return selectedRowKeys.includes(itemKey)||itemKey===rowKey}))}else{newKeys=selectedRowKeys.filter(function(key){return key!==rowKey});newRows=dataSource.filter(function(item){var itemKey=typeof tableProps.rowKey==="function"?tableProps.rowKey(item,0):item[tableProps.rowKey||"id"];return newKeys.includes(itemKey)})}setSelectedRowKeys(newKeys);setSelectedRows(newRows);if(rowSelection&&(typeof rowSelection==="undefined"?"undefined":_type_of(rowSelection))==="object"&&rowSelection.onChange){rowSelection.onChange(newKeys,newRows)}};return React.createElement(Card,{hoverable:true,style:{height:"100%",minHeight:"180px"},styles:{body:{padding:"8px 16px"},header:{padding:"0 16px",minHeight:"40px",height:"40px"}},title:React.createElement("div",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",fontSize:"14px"},title:titleFullText},titleColumn&&React.createElement(React.Fragment,null,React.createElement("span",{style:{color:"#999",fontWeight:"normal"}},titleColumn.title,":")," ",React.createElement("span",{style:{fontWeight:600}},titleDisplay||"-"))),extra:rowSelection&&rowSelection!==false?React.createElement(Checkbox,{checked:isSelected,onChange:handleCheckboxChange,onClick:function(e){return e.stopPropagation()}}):null},remainingColumns.length>0&&React.createElement(Row,{gutter:[12,12],style:{marginBottom:actionColumn?"10px":0}},remainingColumns.map(function(col){var value=record[col.dataIndex];var displayValue=col.render?col.render(value,record,index):value;var gridSpan=col.gridSpan||"half";var getResponsiveSpan=function(){if(gridSpan==="full"){return{xs:24,sm:24,md:24,lg:24,xl:24}}return{xs:24,sm:12,md:12,lg:12,xl:12}};return React.createElement(Col,_object_spread_props(_object_spread({key:col.dataIndex},getResponsiveSpan()),{style:{minWidth:0}}),React.createElement("div",{style:{display:"flex",alignItems:"center",fontSize:"13px",gap:"8px",minWidth:0}},React.createElement("div",{style:{color:"#999",fontSize:"14px",flexShrink:0,whiteSpace:"nowrap"},title:col.title},col.title,":"),React.createElement("div",{style:{fontWeight:500,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:"#262626",flex:1,minWidth:0,fontSize:"14px"},title:typeof displayValue==="string"||typeof displayValue==="number"?String(displayValue):""},displayValue||"-")))})),actionColumn&&React.createElement("div",{style:{borderTop:"1px solid #f0f0f0",paddingTop:"3px",marginTop:remainingColumns.length>0?"0":"10px",display:"flex",justifyContent:"flex-end"}},React.createElement(Space,{size:"small"},(_actionColumn_render=actionColumn.render)===null||_actionColumn_render===void 0?void 0:_actionColumn_render.call(actionColumn,null,record,index))))},[sortedColumns,rowSelection,selectedRowKeys,setSelectedRowKeys,setSelectedRows,dataSource,tableProps.rowKey,fieldsPerRow]);var finalGridCardRender=gridCardRender||defaultGridCardRender;var mergedRowSelection=React.useMemo(function(){if(rowSelection===false){return false}if(!rowSelection){return undefined}return _object_spread_props(_object_spread({},rowSelection),{selectedRowKeys:selectedRowKeys,onChange:function(keys,selectedRowsData,info){setSelectedRowKeys(keys);if(selectedRowsData){setSelectedRows(selectedRowsData)}if(rowSelection&&(typeof rowSelection==="undefined"?"undefined":_type_of(rowSelection))==="object"&&rowSelection.onChange){if(rowSelection.onChange.length===3){rowSelection.onChange(keys,selectedRowsData||[],info||{})}else{rowSelection.onChange(keys,selectedRowsData||[])}}}})},[rowSelection,selectedRowKeys,setSelectedRowKeys,setSelectedRows]);var mergedScroll=React.useMemo(function(){var defaultScroll={x:true};if(tableProps.scroll){return _object_spread({},defaultScroll,tableProps.scroll)}return defaultScroll},[tableProps.scroll]);var mergedOptions=React.useMemo(function(){var defaultOptions=tableProps.options||{};var _defaultOptions_fullScreen,_defaultOptions_reload,_defaultOptions_setting,_defaultOptions_density;return _object_spread_props(_object_spread({},defaultOptions),{fullScreen:(_defaultOptions_fullScreen=defaultOptions.fullScreen)!==null&&_defaultOptions_fullScreen!==void 0?_defaultOptions_fullScreen:true,reload:(_defaultOptions_reload=defaultOptions.reload)!==null&&_defaultOptions_reload!==void 0?_defaultOptions_reload:true,setting:(_defaultOptions_setting=defaultOptions.setting)!==null&&_defaultOptions_setting!==void 0?_defaultOptions_setting:true,density:(_defaultOptions_density=defaultOptions.density)!==null&&_defaultOptions_density!==void 0?_defaultOptions_density:true})},[tableProps.options]);var _React_useState1=_sliced_to_array(React.useState(false),2),isViewSwitchHovered=_React_useState1[0],setIsViewSwitchHovered=_React_useState1[1];var toolbar=React.useMemo(function(){var _tableProps_toolbar;var toggleViewMode=function(){setViewMode(viewMode==="table"?"grid":"table")};return _object_spread_props(_object_spread({},tableProps.toolbar),{actions:_to_consumable_array(((_tableProps_toolbar=tableProps.toolbar)===null||_tableProps_toolbar===void 0?void 0:_tableProps_toolbar.actions)||[]).concat([React.createElement(Tooltip,{key:"view-mode-switch",title:viewMode==="table"?"切换到网格视图":"切换到列表视图"},React.createElement("div",{onClick:toggleViewMode,onMouseEnter:function(){return setIsViewSwitchHovered(true)},onMouseLeave:function(){return setIsViewSwitchHovered(false)},style:{cursor:"pointer",fontSize:"16px",display:"flex",alignItems:"center",justifyContent:"center",color:isViewSwitchHovered?"#1677ff":"inherit",transition:"color 0.3s"}},viewMode==="table"?React.createElement(AppstoreOutlined,null):React.createElement(TableOutlined,null)))])})},[tableProps.toolbar,viewMode,setViewMode,isViewSwitchHovered]);return React.createElement("div",{style:{position:"relative"}},React.createElement("style",null,"\n .pro-table-grid-mode .ant-table-wrapper,\n .pro-table-grid-mode .ant-table-pagination {\n display: none !important;\n }\n "),React.createElement(AntdProTable,_object_spread_props(_object_spread({},tableProps),{className:viewMode==="grid"?"pro-table-grid-mode":undefined,columns:columns,search:false,cardProps:false,headerTitle:headerTitle,rowSelection:mergedRowSelection,pagination:pagination,actionRef:actionRef,scroll:mergedScroll,options:mergedOptions,toolbar:toolbar,onDataSourceChange:function(datas){setDataSource(datas)},onColumnsStateChange:function(map){var _tableProps_onColumnsStateChange;handleColumnsStateChange(map);(_tableProps_onColumnsStateChange=tableProps.onColumnsStateChange)===null||_tableProps_onColumnsStateChange===void 0?void 0:_tableProps_onColumnsStateChange.call(tableProps,map)},tableRender:function(_,dom){if(viewMode==="grid"){return React.createElement(React.Fragment,null,dom,React.createElement("div",null,React.createElement(Spin,{spinning:loading},React.createElement(GridView,{dataSource:dataSource,cardRender:finalGridCardRender,gridColumns:gridColumns,pagination:pagination,actionRef:actionRef}))))}return dom}})))};
@@ -1 +0,0 @@
1
- function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value}catch(error){reject(error);return}if(info.done){resolve(value)}else{Promise.resolve(value).then(_next,_throw)}}function _async_to_generator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value)}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err)}_next(undefined)})}}function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})}keys.push.apply(keys,symbols)}return keys}function _object_spread_props(target,source){source=source!=null?source:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}function _object_without_properties(source,excluded){if(source==null)return{};var target=_object_without_properties_loose(source,excluded);var key,i;if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceSymbolKeys.length;i++){key=sourceSymbolKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}}return target}function _object_without_properties_loose(source,excluded){if(source==null)return{};var target={};var sourceKeys=Object.keys(source);var key,i;for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;target[key]=source[key]}return target}function _ts_generator(thisArg,body){var f,y,t,_={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},g=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return g.next=verb(0),g["throw"]=verb(1),g["return"]=verb(2),typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(g&&(g=0,op[0]&&(_=0)),_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]<t[3])){_.label=op[1];break}if(op[0]===6&&_.label<t[1]){_.label=t[1];t=op;break}if(t&&_.label<t[2]){_.label=t[2];_.ops.push(op);break}if(t[2])_.ops.pop();_.trys.pop();continue}op=body.call(thisArg,_)}catch(e){op=[6,e];y=0}finally{f=t=0}if(op[0]&5)throw op[1];return{value:op[0]?op[1]:void 0,done:true}}}import React from"react";import{ButtonGroup}from"../../ButtonGroup";import{EyeOutlined,EditOutlined,DeleteOutlined}from"@ant-design/icons";import{useLocale}from"../../locale";import ConfirmButton from"../../ConfirmButton/ConfirmButton";export var RowActions=function(props){var record=props.record,index=props.index,_props_showViewBtn=props.showViewBtn,showViewBtn=_props_showViewBtn===void 0?true:_props_showViewBtn,viewBtnProps=props.viewBtnProps,onView=props.onView,_props_showUpdateBtn=props.showUpdateBtn,showUpdateBtn=_props_showUpdateBtn===void 0?true:_props_showUpdateBtn,updateBtnProps=props.updateBtnProps,onUpdate=props.onUpdate,_props_showRemoveBtn=props.showRemoveBtn,showRemoveBtn=_props_showRemoveBtn===void 0?true:_props_showRemoveBtn,removeBtnProps=props.removeBtnProps,onRemove=props.onRemove,_props_rowButtonItems=props.rowButtonItems,rowButtonItems=_props_rowButtonItems===void 0?[]:_props_rowButtonItems,_props_maxCount=props.maxCount,maxCount=_props_maxCount===void 0?3:_props_maxCount;var messages=useLocale().messages;var convertToButtonItem=function(config,defaultKey,defaultHandler){if(config===false){return null}var visible=typeof(config===null||config===void 0?void 0:config.visible)==="function"?config.visible(record,index):(config===null||config===void 0?void 0:config.visible)!==false;if(!visible){return null}var disabled=typeof(config===null||config===void 0?void 0:config.disabled)==="function"?config.disabled(record,index):(config===null||config===void 0?void 0:config.disabled)||false;var _ref=config||{},_=_ref.visible,__=_ref.disabled,onClick=_ref.onClick,label=_ref.label,restProps=_object_without_properties(_ref,["visible","disabled","onClick","label"]);return _object_spread_props(_object_spread({},restProps),{key:(config===null||config===void 0?void 0:config.key)||defaultKey,label:label||"",disabled:disabled,onClick:function(){return _async_to_generator(function(){return _ts_generator(this,function(_state){switch(_state.label){case 0:if(!onClick)return[3,2];return[4,onClick(record,index)];case 1:_state.sent();return[3,4];case 2:if(!defaultHandler)return[3,4];return[4,defaultHandler(record,index)];case 3:_state.sent();_state.label=4;case 4:return[2]}})})()}})};var handleRemoveConfirm=function(){return _async_to_generator(function(){return _ts_generator(this,function(_state){switch(_state.label){case 0:if(!onRemove)return[3,2];return[4,onRemove(record,index)];case 1:_state.sent();_state.label=2;case 2:return[2,true]}})})()};var items=[];if(showViewBtn&&viewBtnProps!==false){var viewBtn=convertToButtonItem(viewBtnProps,"$view",onView);if(viewBtn){if(!viewBtn.icon){viewBtn.icon=React.createElement(EyeOutlined,null)}if(viewBtn.order===undefined){viewBtn.order=1}if(!viewBtn.label){viewBtn.label=messages.table.viewBtnText||"查看"}if(!viewBtn.type){viewBtn.type="link"}items.push(viewBtn)}}if(showUpdateBtn&&updateBtnProps!==false){var updateBtn=convertToButtonItem(updateBtnProps,"$update",onUpdate);if(updateBtn){if(!updateBtn.icon){updateBtn.icon=React.createElement(EditOutlined,null)}if(updateBtn.order===undefined){updateBtn.order=2}if(!updateBtn.label){updateBtn.label=messages.table.updateBtnText||"编辑"}if(!updateBtn.type){updateBtn.type="link"}items.push(updateBtn)}}if(showRemoveBtn&&removeBtnProps!==false){var config=removeBtnProps||{};var visible=typeof config.visible==="function"?config.visible(record,index):config.visible!==false;if(visible){var disabled=typeof config.disabled==="function"?config.disabled(record,index):config.disabled||false;var customOnRemove=config.onClick?function(){return _async_to_generator(function(){return _ts_generator(this,function(_state){switch(_state.label){case 0:return[4,config.onClick(record,index)];case 1:_state.sent();return[2,true]}})})()}:handleRemoveConfirm;var removeBtnLabel=config.label||messages.table.removeBtnText||"删除";var removeBtnIcon=config.icon||React.createElement(DeleteOutlined,null);var _config_order;items.push({key:config.key||"$remove",label:removeBtnLabel,order:(_config_order=config.order)!==null&&_config_order!==void 0?_config_order:3,isCustom:true,component:React.createElement(ConfirmButton,{key:config.key||"$remove",mode:"popconfirm",title:messages.table.removeTip||"警告",content:messages.table.removeConfirm||"确定要删除这条记录吗?",onConfirm:customOnRemove,triggerBtnProps:{type:config.type||"link",color:config.color||"danger",disabled:disabled,icon:removeBtnIcon,size:config.size,style:config.style,className:config.className}},removeBtnLabel)})}}rowButtonItems.forEach(function(item,idx){var button=convertToButtonItem(item,item.key||"$custom-".concat(idx));if(button){items.push(button)}});if(items.length===0){return null}return React.createElement(ButtonGroup,{items:items,maxCount:maxCount})};
@@ -1 +0,0 @@
1
- function _array_like_to_array(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _array_with_holes(arr){if(Array.isArray(arr))return arr}function _array_without_holes(arr){if(Array.isArray(arr))return _array_like_to_array(arr)}function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};return _extends.apply(this,arguments)}function _iterable_to_array(iter){if(typeof Symbol!=="undefined"&&iter[Symbol.iterator]!=null||iter["@@iterator"]!=null)return Array.from(iter)}function _iterable_to_array_limit(arr,i){var _i=arr==null?null:typeof Symbol!=="undefined"&&arr[Symbol.iterator]||arr["@@iterator"];if(_i==null)return;var _arr=[];var _n=true;var _d=false;var _s,_e;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&&_i["return"]!=null)_i["return"]()}finally{if(_d)throw _e}}return _arr}function _non_iterable_rest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _non_iterable_spread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _object_destructuring_empty(o){if(o===null||o===void 0)throw new TypeError("Cannot destructure "+o);return o}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})}keys.push.apply(keys,symbols)}return keys}function _object_spread_props(target,source){source=source!=null?source:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}function _sliced_to_array(arr,i){return _array_with_holes(arr)||_iterable_to_array_limit(arr,i)||_unsupported_iterable_to_array(arr,i)||_non_iterable_rest()}function _to_consumable_array(arr){return _array_without_holes(arr)||_iterable_to_array(arr)||_unsupported_iterable_to_array(arr)||_non_iterable_spread()}function _unsupported_iterable_to_array(o,minLen){if(!o)return;if(typeof o==="string")return _array_like_to_array(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _array_like_to_array(o,minLen)}import{useState,useMemo,useRef}from"react";import{Button,Divider,Flex,Input}from"antd";import{DeleteOutlined}from"@ant-design/icons";import{useLocale}from"../../locale";import{Typography}from"../../Text";var DEFAULT_PAGE_SIZES=[10,15,20,25,30,50,80,100];export var usePagination=function(){var props=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};var messages=useLocale().messages;var _props_openPageSizeCache=props.openPageSizeCache,openPageSizeCache=_props_openPageSizeCache===void 0?false:_props_openPageSizeCache,_props_tableProps=props.tableProps,tableProps=_props_tableProps===void 0?{}:_props_tableProps,_props_defaultPageSize=props.defaultPageSize,defaultPageSize=_props_defaultPageSize===void 0?10:_props_defaultPageSize,tableKey=props.tableKey;var pagination=tableProps.pagination;var inputRef=useRef(null);var pageCacheKey=tableKey?"table-page-size-list-".concat(tableKey):"table-page-size-list";var pageSizeCacheKey=tableKey?"table-page-size-".concat(tableKey):"table-page-size";var getInitialPageSize=function(){if(openPageSizeCache&&pageSizeCacheKey){try{var saved=window.localStorage.getItem(pageSizeCacheKey);if(saved){var parsed=Number(saved);if(!isNaN(parsed)&&parsed>0){return parsed}}}catch(e){console.error("Failed to read page size from localStorage:",e)}}return defaultPageSize};var _useState=_sliced_to_array(useState(""),2),name=_useState[0],setName=_useState[1];var _useState1=_sliced_to_array(useState(getInitialPageSize),2),pageSize=_useState1[0],setPageSize=_useState1[1];var localPageSizeStr=window.localStorage.getItem(pageCacheKey);var localPageSizeArr=[];try{if(!localPageSizeStr){localPageSizeArr=JSON.parse(JSON.stringify(DEFAULT_PAGE_SIZES));if(openPageSizeCache){window.localStorage.setItem(pageCacheKey,JSON.stringify(localPageSizeArr))}}else{localPageSizeArr=JSON.parse(localPageSizeStr)}}catch(e){localPageSizeArr=JSON.parse(JSON.stringify(DEFAULT_PAGE_SIZES));window.localStorage.setItem(pageCacheKey,JSON.stringify(localPageSizeArr));console.error(e)}var _useState2=_sliced_to_array(useState(localPageSizeArr||JSON.parse(JSON.stringify(DEFAULT_PAGE_SIZES))),2),items=_useState2[0],setItems=_useState2[1];var onNameChange=function(event){setName(event.target.value)};var addItem=function(e){e.preventDefault();if(openPageSizeCache){setItems(function(prev){var newList=_to_consumable_array(new Set(_to_consumable_array(prev).concat([Number(name)])));newList.sort(function(a,b){return a-b});window.localStorage.setItem(pageCacheKey,JSON.stringify(newList));return newList})}setName("");setTimeout(function(){var _inputRef_current;(_inputRef_current=inputRef.current)===null||_inputRef_current===void 0?void 0:_inputRef_current.focus()},0)};var removeItem=function(e,val){e.preventDefault();e.stopPropagation();if(openPageSizeCache){setItems(function(prev){var newList=prev.filter(function(v){return v!==val});newList.sort(function(a,b){return a-b});window.localStorage.setItem(pageCacheKey,JSON.stringify(newList));if("".concat(val)==="".concat(pageSize)){var newPageSize=newList[0]||defaultPageSize;setPageSize(newPageSize);window.localStorage.setItem(pageSizeCacheKey,String(newPageSize))}return newList})}};var currentPagination=useMemo(function(){if(pagination===false){return false}var otherPageInfo=_extends({},_object_destructuring_empty(pagination||{}));var selectProps={popupRender:function(menu){return React.createElement(React.Fragment,null,menu,React.createElement(Divider,{style:{margin:"8px 0"}}),React.createElement(Flex,{style:{padding:"0 8px 4px",width:"200px"},align:"center",gap:10},React.createElement(Input,{placeholder:messages.table.pagePt,ref:inputRef,value:name,type:"number",onChange:onNameChange,onKeyDown:function(e){return e.stopPropagation()},style:{flexGrow:1,width:0}}),React.createElement(Button,{style:{flexShrink:0},type:"text",size:"small",onClick:addItem},messages.table.pageAddText)))},optionRender:function(option){return React.createElement(Flex,{align:"center",gap:10},React.createElement(Typography.Text,{style:{width:0,flexGrow:1}},option.label),React.createElement(Button,{style:{flexShrink:0},type:"text",size:"small",onClick:function(e){removeItem(e,option.value)},icon:React.createElement(DeleteOutlined,null)}))}};return _object_spread_props(_object_spread({pageSize:pageSize,showSizeChanger:openPageSizeCache?selectProps:true,pageSizeOptions:items},otherPageInfo),{onShowSizeChange:function(current,size){var _otherPageInfo_onShowSizeChange;setPageSize(size);if(openPageSizeCache&&pageSizeCacheKey){try{window.localStorage.setItem(pageSizeCacheKey,String(size))}catch(e){console.error("Failed to save page size to localStorage:",e)}}otherPageInfo===null||otherPageInfo===void 0?void 0:(_otherPageInfo_onShowSizeChange=otherPageInfo.onShowSizeChange)===null||_otherPageInfo_onShowSizeChange===void 0?void 0:_otherPageInfo_onShowSizeChange.call(otherPageInfo,current,size)}})},[pagination,openPageSizeCache,removeItem,items,defaultPageSize,addItem,pageSize,name,messages,pageSizeCacheKey]);return{currentPagination:currentPagination}};
@@ -1 +0,0 @@
1
- export*from"./types";export*from"./table";
@@ -1 +0,0 @@
1
- function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}import{genStyleHooks}from"antd/es/theme/internal";export var genBaseStyle=function(token){var componentCls=token.componentCls;return _define_property({},componentCls,{backgroundColor:token.colorBgContainer,"&&":{padding:token.paddingSM},".ant-pro-query-filter.ant-pro-query-filter":{padding:0}})};export var genListStyle=function(token){var componentCls=token.componentCls;return _define_property({},"".concat(componentCls,"-list"),{})};export var prepareComponentToken=function(){return{}};export default genStyleHooks("VlianTable",function(token){return[genBaseStyle(token),genListStyle(token)]},prepareComponentToken);
@@ -1 +0,0 @@
1
- function _array_like_to_array(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _array_with_holes(arr){if(Array.isArray(arr))return arr}function _array_without_holes(arr){if(Array.isArray(arr))return _array_like_to_array(arr)}function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value}catch(error){reject(error);return}if(info.done){resolve(value)}else{Promise.resolve(value).then(_next,_throw)}}function _async_to_generator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value)}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err)}_next(undefined)})}}function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _iterable_to_array(iter){if(typeof Symbol!=="undefined"&&iter[Symbol.iterator]!=null||iter["@@iterator"]!=null)return Array.from(iter)}function _iterable_to_array_limit(arr,i){var _i=arr==null?null:typeof Symbol!=="undefined"&&arr[Symbol.iterator]||arr["@@iterator"];if(_i==null)return;var _arr=[];var _n=true;var _d=false;var _s,_e;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&&_i["return"]!=null)_i["return"]()}finally{if(_d)throw _e}}return _arr}function _non_iterable_rest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _non_iterable_spread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})}keys.push.apply(keys,symbols)}return keys}function _object_spread_props(target,source){source=source!=null?source:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}function _object_without_properties(source,excluded){if(source==null)return{};var target=_object_without_properties_loose(source,excluded);var key,i;if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceSymbolKeys.length;i++){key=sourceSymbolKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}}return target}function _object_without_properties_loose(source,excluded){if(source==null)return{};var target={};var sourceKeys=Object.keys(source);var key,i;for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;target[key]=source[key]}return target}function _sliced_to_array(arr,i){return _array_with_holes(arr)||_iterable_to_array_limit(arr,i)||_unsupported_iterable_to_array(arr,i)||_non_iterable_rest()}function _to_consumable_array(arr){return _array_without_holes(arr)||_iterable_to_array(arr)||_unsupported_iterable_to_array(arr)||_non_iterable_spread()}function _type_of(obj){"@swc/helpers - typeof";return obj&&typeof Symbol!=="undefined"&&obj.constructor===Symbol?"symbol":typeof obj}function _unsupported_iterable_to_array(o,minLen){if(!o)return;if(typeof o==="string")return _array_like_to_array(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _array_like_to_array(o,minLen)}function _ts_generator(thisArg,body){var f,y,t,_={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},g=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return g.next=verb(0),g["throw"]=verb(1),g["return"]=verb(2),typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(g&&(g=0,op[0]&&(_=0)),_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]<t[3])){_.label=op[1];break}if(op[0]===6&&_.label<t[1]){_.label=t[1];t=op;break}if(t&&_.label<t[2]){_.label=t[2];_.ops.push(op);break}if(t[2])_.ops.pop();_.trys.pop();continue}op=body.call(thisArg,_)}catch(e){op=[6,e];y=0}finally{f=t=0}if(op[0]&5)throw op[1];return{value:op[0]?op[1]:void 0,done:true}}}import React from"react";import{useCommonStyles}from"../hooks";import useStyle from"./styles";import{ButtonGroup}from"../ButtonGroup";import{PlusOutlined,DeleteOutlined}from"@ant-design/icons";import{useLocale}from"../locale";import{usePagination}from"./hooks/usePagination";import{ProTableContext}from"./context";import{Container}from"./components/Container";import{OperationContainer}from"./components/operation-container";import{OperationContent}from"./components/operation-content";import{OperationContentRouter}from"./components/operation-content-router";import{RowActions}from"./components/row-actions";import{RowActionsRouter}from"./components/row-actions-router";import{HeaderButtonsWrapper}from"./components/header-buttons-wrapper";import{MemoryRouter,Routes,Route}from"react-router-dom";import classNames from"classnames";import ConfirmButton from"../ConfirmButton/ConfirmButton";export var ProTable=function(props){var _props_columns=props.columns,columns=_props_columns===void 0?[]:_props_columns,search=props.search,searchType=props.searchType,_props_showCreateBtn=props.showCreateBtn,showCreateBtn=_props_showCreateBtn===void 0?true:_props_showCreateBtn,createBtnProps=props.createBtnProps,onCreate=props.onCreate,_props_showBatchRemoveBtn=props.showBatchRemoveBtn,showBatchRemoveBtn=_props_showBatchRemoveBtn===void 0?true:_props_showBatchRemoveBtn,batchRemoveBtnProps=props.batchRemoveBtnProps,onBatchRemove=props.onBatchRemove,_props_headerButtonItems=props.headerButtonItems,headerButtonItems=_props_headerButtonItems===void 0?[]:_props_headerButtonItems,_props_headerButtonMaxCount=props.headerButtonMaxCount,headerButtonMaxCount=_props_headerButtonMaxCount===void 0?3:_props_headerButtonMaxCount,rowSelection=props.rowSelection,_props_openPageSizeCache=props.openPageSizeCache,openPageSizeCache=_props_openPageSizeCache===void 0?false:_props_openPageSizeCache,_props_defaultPageSize=props.defaultPageSize,defaultPageSize=_props_defaultPageSize===void 0?10:_props_defaultPageSize,_props_mode=props.mode,mode=_props_mode===void 0?"modal":_props_mode,_props_showViewBtn=props.showViewBtn,showViewBtn=_props_showViewBtn===void 0?true:_props_showViewBtn,viewBtnProps=props.viewBtnProps,_props_showUpdateBtn=props.showUpdateBtn,showUpdateBtn=_props_showUpdateBtn===void 0?true:_props_showUpdateBtn,updateBtnProps=props.updateBtnProps,_props_showRemoveBtn=props.showRemoveBtn,showRemoveBtn=_props_showRemoveBtn===void 0?true:_props_showRemoveBtn,removeBtnProps=props.removeBtnProps,_props_rowButtonItems=props.rowButtonItems,rowButtonItems=_props_rowButtonItems===void 0?[]:_props_rowButtonItems,_props_rowButtonMaxCount=props.rowButtonMaxCount,rowButtonMaxCount=_props_rowButtonMaxCount===void 0?3:_props_rowButtonMaxCount,modalProps=props.modalProps,drawerProps=props.drawerProps,_props_routerBasePath=props.routerBasePath,routerBasePath=_props_routerBasePath===void 0?"/table":_props_routerBasePath,operationContent=props.operationContent,onGetDetail=props.onGetDetail,onRemove=props.onRemove,actionRef=props.actionRef,formConfig=props.formConfig,_props_defaultViewMode=props.defaultViewMode,defaultViewMode=_props_defaultViewMode===void 0?"table":_props_defaultViewMode,gridCardRender=props.gridCardRender,gridColumns=props.gridColumns,_props_gridCardFieldsPerRow=props.gridCardFieldsPerRow,gridCardFieldsPerRow=_props_gridCardFieldsPerRow===void 0?3:_props_gridCardFieldsPerRow,restProps=_object_without_properties(props,["columns","search","searchType","showCreateBtn","createBtnProps","onCreate","showBatchRemoveBtn","batchRemoveBtnProps","onBatchRemove","headerButtonItems","headerButtonMaxCount","rowSelection","openPageSizeCache","defaultPageSize","mode","showViewBtn","viewBtnProps","showUpdateBtn","updateBtnProps","showRemoveBtn","removeBtnProps","rowButtonItems","rowButtonMaxCount","modalProps","drawerProps","routerBasePath","operationContent","onGetDetail","onRemove","actionRef","formConfig","defaultViewMode","gridCardRender","gridColumns","gridCardFieldsPerRow"]);var _useCommonStyles=useCommonStyles("pro-table",props,useStyle),prefixCls=_useCommonStyles.prefixCls,cssVarCls=_useCommonStyles.cssVarCls,wrapCSS=_useCommonStyles.wrapCSS;var messages=useLocale().messages;var internalActionRef=React.useRef(undefined);var currentActionRef=React.useMemo(function(){if(!actionRef)return internalActionRef;if((typeof actionRef==="undefined"?"undefined":_type_of(actionRef))==="object"&&"current"in actionRef)return actionRef;return internalActionRef},[actionRef]);var currentPagination=usePagination({openPageSizeCache:openPageSizeCache,defaultPageSize:defaultPageSize,tableKey:restProps.tableKey,tableProps:restProps}).currentPagination;var _React_useState=_sliced_to_array(React.useState([]),2),selectedRowKeys=_React_useState[0],setSelectedRowKeys=_React_useState[1];var _React_useState1=_sliced_to_array(React.useState([]),2),selectedRows=_React_useState1[0],setSelectedRows=_React_useState1[1];var _React_useState2=_sliced_to_array(React.useState("list"),2),operationType=_React_useState2[0],setOperationType=_React_useState2[1];var _React_useState3=_sliced_to_array(React.useState(null),2),currentRecord=_React_useState3[0],setCurrentRecord=_React_useState3[1];var _React_useState4=_sliced_to_array(React.useState(-1),2),currentIndex=_React_useState4[0],setCurrentIndex=_React_useState4[1];var _React_useState5=_sliced_to_array(React.useState(false),2),operationVisible=_React_useState5[0],setOperationVisible=_React_useState5[1];var _React_useState6=_sliced_to_array(React.useState(defaultViewMode),2),viewMode=_React_useState6[0],setViewMode=_React_useState6[1];var _React_useState7=_sliced_to_array(React.useState([]),2),dataSource=_React_useState7[0],setDataSource=_React_useState7[1];var _React_useState8=_sliced_to_array(React.useState(false),2),loading=_React_useState8[0],setLoading=_React_useState8[1];var searchColumns=React.useMemo(function(){return columns.filter(function(column){var _column_hideInSearch=column.hideInSearch,hideInSearch=_column_hideInSearch===void 0?true:_column_hideInSearch;return!hideInSearch})},[columns]);var searchConfig=React.useMemo(function(){if(search===false){return null}var layoutType=(search===null||search===void 0?void 0:search.layoutType)||searchType||"Form";var layout=(search===null||search===void 0?void 0:search.layout)||"inline";var searchProps=(search===null||search===void 0?void 0:search.searchProps)||{};return _object_spread_props(_object_spread({layoutType:layoutType,layout:layout},searchProps),{onFinish:function(values){return _async_to_generator(function(){var _searchProps_onFinish,_currentActionRef_current_reload,_currentActionRef_current;return _ts_generator(this,function(_state){switch(_state.label){case 0:return[4,searchProps===null||searchProps===void 0?void 0:(_searchProps_onFinish=searchProps.onFinish)===null||_searchProps_onFinish===void 0?void 0:_searchProps_onFinish.call(searchProps,values)];case 1:_state.sent();if(!(currentActionRef===null||currentActionRef===void 0?void 0:currentActionRef.current))return[3,3];return[4,(_currentActionRef_current_reload=(_currentActionRef_current=currentActionRef.current).reload)===null||_currentActionRef_current_reload===void 0?void 0:_currentActionRef_current_reload.call(_currentActionRef_current,true)];case 2:_state.sent();_state.label=3;case 3:return[2]}})})()},onReset:function(values){return _async_to_generator(function(){var _searchProps_onReset,_currentActionRef_current_reloadAndRest,_currentActionRef_current;return _ts_generator(this,function(_state){switch(_state.label){case 0:searchProps===null||searchProps===void 0?void 0:(_searchProps_onReset=searchProps.onReset)===null||_searchProps_onReset===void 0?void 0:_searchProps_onReset.call(searchProps,values);if(!(currentActionRef===null||currentActionRef===void 0?void 0:currentActionRef.current))return[3,2];return[4,(_currentActionRef_current_reloadAndRest=(_currentActionRef_current=currentActionRef.current).reloadAndRest)===null||_currentActionRef_current_reloadAndRest===void 0?void 0:_currentActionRef_current_reloadAndRest.call(_currentActionRef_current)];case 1:_state.sent();_state.label=2;case 2:return[2]}})})()}})},[search,searchType,currentActionRef]);var handleCreateClick=React.useCallback(function(){return _async_to_generator(function(){return _ts_generator(this,function(_state){switch(_state.label){case 0:if(!onCreate)return[3,2];return[4,onCreate(selectedRowKeys)];case 1:_state.sent();return[3,3];case 2:setOperationType("create");setCurrentRecord(null);setCurrentIndex(-1);if(mode!=="router"){setOperationVisible(true)}_state.label=3;case 3:return[2]}})})()},[onCreate,selectedRowKeys,mode]);var handleViewClick=React.useCallback(function(record,index){return _async_to_generator(function(){var detail;return _ts_generator(this,function(_state){switch(_state.label){case 0:setOperationType("view");setCurrentIndex(index);if(!onGetDetail)return[3,2];return[4,onGetDetail(record,index)];case 1:detail=_state.sent();setCurrentRecord(detail);return[3,3];case 2:setCurrentRecord(record);_state.label=3;case 3:if(mode!=="router"){setOperationVisible(true)}return[2]}})})()},[onGetDetail,mode]);var handleUpdateClick=React.useCallback(function(record,index){return _async_to_generator(function(){var detail;return _ts_generator(this,function(_state){switch(_state.label){case 0:setOperationType("update");setCurrentIndex(index);if(!onGetDetail)return[3,2];return[4,onGetDetail(record,index)];case 1:detail=_state.sent();setCurrentRecord(detail);return[3,3];case 2:setCurrentRecord(record);_state.label=3;case 3:if(mode!=="router"){setOperationVisible(true)}return[2]}})})()},[onGetDetail,mode]);var handleRemoveClick=React.useCallback(function(record,index){return _async_to_generator(function(){var result,_currentActionRef_current_reload,_currentActionRef_current,error;return _ts_generator(this,function(_state){switch(_state.label){case 0:if(!onRemove)return[3,6];_state.label=1;case 1:_state.trys.push([1,5,,6]);return[4,onRemove(record,index)];case 2:result=_state.sent();if(result===false){return[2]}if(!(currentActionRef===null||currentActionRef===void 0?void 0:currentActionRef.current))return[3,4];return[4,(_currentActionRef_current_reload=(_currentActionRef_current=currentActionRef.current).reload)===null||_currentActionRef_current_reload===void 0?void 0:_currentActionRef_current_reload.call(_currentActionRef_current,true)];case 3:_state.sent();_state.label=4;case 4:setSelectedRowKeys([]);setSelectedRows([]);return[3,6];case 5:error=_state.sent();console.error("删除失败:",error);return[2];case 6:return[2]}})})()},[onRemove,currentActionRef]);var handleOperationClose=React.useCallback(function(){setOperationVisible(false);setOperationType("list");setCurrentRecord(null);setCurrentIndex(-1)},[]);var handleOperationSuccess=React.useCallback(function(){var shouldRefresh=arguments.length>0&&arguments[0]!==void 0?arguments[0]:true;return _async_to_generator(function(){var _currentActionRef_current_reload,_currentActionRef_current;return _ts_generator(this,function(_state){switch(_state.label){case 0:if(shouldRefresh===false){return[2]}handleOperationClose();if(!(currentActionRef===null||currentActionRef===void 0?void 0:currentActionRef.current))return[3,2];return[4,(_currentActionRef_current_reload=(_currentActionRef_current=currentActionRef.current).reload)===null||_currentActionRef_current_reload===void 0?void 0:_currentActionRef_current_reload.call(_currentActionRef_current,false)];case 1:_state.sent();_state.label=2;case 2:return[2]}})})()},[handleOperationClose,currentActionRef]);var handleBatchRemoveConfirm=React.useCallback(function(){return _async_to_generator(function(){var result,_currentActionRef_current_reload,_currentActionRef_current,error;return _ts_generator(this,function(_state){switch(_state.label){case 0:if(!onBatchRemove||selectedRowKeys.length===0){return[2,false]}_state.label=1;case 1:_state.trys.push([1,5,,6]);return[4,onBatchRemove(selectedRowKeys)];case 2:result=_state.sent();if(result===false){return[2,false]}if(!(currentActionRef===null||currentActionRef===void 0?void 0:currentActionRef.current))return[3,4];return[4,(_currentActionRef_current_reload=(_currentActionRef_current=currentActionRef.current).reload)===null||_currentActionRef_current_reload===void 0?void 0:_currentActionRef_current_reload.call(_currentActionRef_current,true)];case 3:_state.sent();_state.label=4;case 4:setSelectedRowKeys([]);setSelectedRows([]);return[2,true];case 5:error=_state.sent();console.error("批量删除失败:",error);return[2,false];case 6:return[2]}})})()},[onBatchRemove,selectedRowKeys,currentActionRef]);var convertToButtonItem=React.useCallback(function(config,defaultKey,defaultHandler){if(config===false){return null}var visible=typeof(config===null||config===void 0?void 0:config.visible)==="function"?config.visible(selectedRowKeys):(config===null||config===void 0?void 0:config.visible)!==false;if(!visible){return null}var disabled=typeof(config===null||config===void 0?void 0:config.disabled)==="function"?config.disabled(selectedRowKeys):(config===null||config===void 0?void 0:config.disabled)||false;var _ref=config||{},_=_ref.visible,__=_ref.disabled,onClick=_ref.onClick,restProps=_object_without_properties(_ref,["visible","disabled","onClick"]);return _object_spread_props(_object_spread({},restProps),{key:(config===null||config===void 0?void 0:config.key)||defaultKey,disabled:disabled,onClick:function(){return _async_to_generator(function(){return _ts_generator(this,function(_state){switch(_state.label){case 0:if(!onClick)return[3,2];return[4,onClick(selectedRowKeys)];case 1:_state.sent();return[3,4];case 2:if(!defaultHandler)return[3,4];return[4,defaultHandler()];case 3:_state.sent();_state.label=4;case 4:return[2]}})})()}})},[selectedRowKeys]);var headerTitle=React.useMemo(function(){var items=[];if(showCreateBtn&&createBtnProps!==false){var createBtn=convertToButtonItem(createBtnProps,"$create",handleCreateClick);if(createBtn){if(!createBtn.icon){createBtn.icon=React.createElement(PlusOutlined,null)}if(createBtn.order===undefined){createBtn.order=1}if(!createBtn.label){createBtn.label=messages.table.createBtnText}if(!createBtn.type){createBtn.type="primary"}items.push(createBtn)}}if(showBatchRemoveBtn&&batchRemoveBtnProps!==false){var config=batchRemoveBtnProps||{};var visible=typeof(config===null||config===void 0?void 0:config.visible)==="function"?config.visible(selectedRowKeys):(config===null||config===void 0?void 0:config.visible)!==false;if(visible){var disabled=typeof(config===null||config===void 0?void 0:config.disabled)==="function"?config.disabled(selectedRowKeys):(config===null||config===void 0?void 0:config.disabled)||false;var batchRemoveBtnLabel=config.label||messages.table.batchRemoveBtnText;var batchRemoveBtnIcon=config.icon||React.createElement(DeleteOutlined,null);var _config_order;items.push({key:config.key||"$batchRemove",label:batchRemoveBtnLabel,order:(_config_order=config.order)!==null&&_config_order!==void 0?_config_order:2,isCustom:true,component:React.createElement(ConfirmButton,{key:config.key||"$batchRemove",mode:"modal",title:messages.table.batchRemoveModalTitle,content:messages.table.batchRemoveModalContent.replace("{count}",String(selectedRowKeys.length)),onConfirm:handleBatchRemoveConfirm,okText:"确定",cancelText:"取消",triggerBtnProps:{type:config.type,variant:config.variant||"outlined",color:config.color||"danger",disabled:selectedRowKeys.length===0||disabled,icon:batchRemoveBtnIcon,size:config.size,style:config.style,className:config.className}},batchRemoveBtnLabel)})}}headerButtonItems.forEach(function(item,index){var button=convertToButtonItem(item,item.key||"$custom-".concat(index));if(button){items.push(button)}});if(items.length===0){return null}return React.createElement(ButtonGroup,{items:items,maxCount:headerButtonMaxCount})},[showCreateBtn,createBtnProps,handleCreateClick,showBatchRemoveBtn,batchRemoveBtnProps,handleBatchRemoveConfirm,headerButtonItems,headerButtonMaxCount,selectedRowKeys,convertToButtonItem,messages]);var mergedRowSelection=React.useMemo(function(){if(rowSelection===false){return false}if(!rowSelection&&!showBatchRemoveBtn){return undefined}return _object_spread({},rowSelection)},[rowSelection,showBatchRemoveBtn]);var mergedColumns=React.useMemo(function(){var hasActions=showViewBtn||showUpdateBtn||showRemoveBtn||rowButtonItems.length>0;var columnsWithDefaults=columns.map(function(col){var _col_ellipsis;var result=_object_spread_props(_object_spread({},col),{ellipsis:(_col_ellipsis=col.ellipsis)!==null&&_col_ellipsis!==void 0?_col_ellipsis:{showTitle:true}});if(!col.width&&!col.maxWidth&&!col.minWidth){result.width=200}return result});if(!hasActions){return columnsWithDefaults}var hasActionColumn=columns.some(function(col){return col.key==="actions"||col.dataIndex==="actions"||col.valueType==="option"});if(hasActionColumn){return columnsWithDefaults}var ActionComponent=mode==="router"?RowActionsRouter:RowActions;return _to_consumable_array(columnsWithDefaults).concat([{title:messages.table.operateColumnTitle||"操作",key:"actions",dataIndex:"actions",valueType:"option",fixed:"right",width:260,render:function(_,record,index){return React.createElement(ActionComponent,{record:record,index:index,showViewBtn:showViewBtn,viewBtnProps:viewBtnProps,onView:handleViewClick,showUpdateBtn:showUpdateBtn,updateBtnProps:updateBtnProps,onUpdate:handleUpdateClick,showRemoveBtn:showRemoveBtn,removeBtnProps:removeBtnProps,onRemove:handleRemoveClick,rowButtonItems:rowButtonItems,maxCount:rowButtonMaxCount,rowKey:restProps.rowKey})}}])},[columns,mode,showViewBtn,viewBtnProps,handleViewClick,showUpdateBtn,updateBtnProps,handleUpdateClick,showRemoveBtn,removeBtnProps,handleRemoveClick,rowButtonItems,rowButtonMaxCount,messages,restProps.rowKey]);var tableProps=React.useMemo(function(){var _prefixCls=restProps.prefixCls,_className=restProps.className,_style=restProps.style,_size=restProps.size,_tableKey=restProps.tableKey,_pagination=restProps.pagination,userOnLoadingChange=restProps.onLoadingChange,antdTableProps=_object_without_properties(restProps,["prefixCls","className","style","size","tableKey","pagination","onLoadingChange"]);return _object_spread_props(_object_spread({},antdTableProps),{onLoadingChange:function(newLoading){var loadingState=typeof newLoading==="boolean"?newLoading:!!newLoading;setLoading(loadingState);userOnLoadingChange===null||userOnLoadingChange===void 0?void 0:userOnLoadingChange(newLoading)}})},[restProps]);var contextValue=React.useMemo(function(){return{selectedRowKeys:selectedRowKeys,setSelectedRowKeys:setSelectedRowKeys,selectedRows:selectedRows,setSelectedRows:setSelectedRows,operationType:operationType,setOperationType:function(type){return setOperationType(type)},currentRecord:currentRecord,setCurrentRecord:function(record){return setCurrentRecord(record)},currentIndex:currentIndex,setCurrentIndex:function(index){return setCurrentIndex(index)},viewMode:viewMode,setViewMode:setViewMode,dataSource:dataSource,setDataSource:setDataSource,loading:loading,setLoading:setLoading}},[selectedRowKeys,selectedRows,operationType,currentRecord,currentIndex,viewMode,dataSource,loading]);var renderOperationContent=function(){if(operationContent){return operationContent({type:operationType,record:currentRecord||undefined,onClose:handleOperationClose,onSuccess:handleOperationSuccess})}return React.createElement(OperationContent,{type:operationType,record:currentRecord||undefined,onClose:handleOperationClose,onSuccess:handleOperationSuccess,tableColumns:columns,formConfig:formConfig})};var listContent=React.useMemo(function(){var content=React.createElement(Container,{prefixCls:prefixCls,cssVarCls:cssVarCls,className:restProps.className,style:restProps.style,searchConfig:searchConfig,searchColumns:searchColumns,columns:mergedColumns,headerTitle:mode==="router"?React.createElement(HeaderButtonsWrapper,{mode:mode,operationType:operationType},headerTitle):headerTitle,rowSelection:mergedRowSelection,pagination:currentPagination,tableProps:tableProps,actionRef:currentActionRef,wrapCSS:wrapCSS,gridCardRender:gridCardRender,gridColumns:gridColumns,gridCardFieldsPerRow:gridCardFieldsPerRow});return content},[prefixCls,cssVarCls,restProps.className,restProps.style,searchConfig,searchColumns,mergedColumns,headerTitle,mergedRowSelection,currentPagination,tableProps,currentActionRef,wrapCSS,mode,operationType,gridCardRender,gridColumns,gridCardFieldsPerRow]);var renderOperationRoute=function(type){return React.createElement(OperationContentRouter,{type:type,currentRecord:currentRecord,operationContent:operationContent,onClose:handleOperationClose,onSuccess:handleOperationSuccess,tableColumns:columns,formConfig:formConfig})};if(mode==="router"){return wrapCSS(React.createElement(ProTableContext.Provider,{value:contextValue},React.createElement("div",{className:classNames(prefixCls,cssVarCls,restProps.className),style:restProps.style},React.createElement(MemoryRouter,{basename:routerBasePath,initialEntries:[routerBasePath]},React.createElement(Routes,null,React.createElement(Route,{path:"/",element:listContent}),React.createElement(Route,{path:"/create",element:renderOperationRoute("create")}),React.createElement(Route,{path:"/update/:id",element:renderOperationRoute("update")}),React.createElement(Route,{path:"/edit/:id",element:renderOperationRoute("update")}),React.createElement(Route,{path:"/view/:id",element:renderOperationRoute("view")}),React.createElement(Route,{path:"/detail/:id",element:renderOperationRoute("view")}))))))}return wrapCSS(React.createElement(ProTableContext.Provider,{value:contextValue},listContent,operationType!=="list"&&React.createElement(OperationContainer,{mode:mode,operationType:operationType,visible:operationVisible,onClose:handleOperationClose,modalProps:modalProps,drawerProps:drawerProps},renderOperationContent())))};
File without changes
File without changes
File without changes
File without changes