villianjs-pro 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{ProTable3 → Beyond}/index.d.ts +1 -1
- package/dist/Beyond/index.js +1 -0
- package/dist/Beyond/list.d.ts +5 -0
- package/dist/Beyond/list.js +1 -0
- package/dist/Beyond/styles/index.d.ts +8 -0
- package/dist/Beyond/styles/index.js +1 -0
- package/dist/Beyond/types.d.ts +26 -0
- package/dist/Button/types.d.ts +1 -1
- package/dist/ButtonGroup/styles.js +1 -1
- package/dist/Exports/exports.d.ts +3 -0
- package/dist/Exports/exports.js +1 -0
- package/dist/Exports/index.d.ts +2 -0
- package/dist/Exports/index.js +1 -0
- package/dist/Exports/types.d.ts +61 -0
- package/dist/List/index.d.ts +8 -0
- package/dist/List/index.js +1 -0
- package/dist/List/list-container.d.ts +37 -0
- package/dist/List/list-container.js +1 -0
- package/dist/ProTable2/components/Container.d.ts +27 -0
- package/dist/ProTable2/components/Container.js +1 -0
- package/dist/ProTable2/components/form-content.d.ts +34 -0
- package/dist/{ProTable/update/update.js → ProTable2/components/form-content.js} +1 -1
- package/dist/ProTable2/components/form-footer.d.ts +32 -0
- package/dist/ProTable2/components/form-footer.js +1 -0
- package/dist/ProTable2/components/grid-view.d.ts +35 -0
- package/dist/ProTable2/components/grid-view.js +1 -0
- package/dist/ProTable2/components/header-buttons-wrapper.d.ts +10 -0
- package/dist/ProTable2/components/header-buttons-wrapper.js +1 -0
- package/dist/ProTable2/components/list/index.d.ts +19 -0
- package/dist/ProTable2/components/list/index.js +1 -0
- package/dist/ProTable2/components/operation-container.d.ts +39 -0
- package/dist/ProTable2/components/operation-container.js +1 -0
- package/dist/ProTable2/components/operation-content-router.d.ts +37 -0
- package/dist/ProTable2/components/operation-content-router.js +1 -0
- package/dist/ProTable2/components/operation-content.d.ts +35 -0
- package/dist/ProTable2/components/operation-content.js +1 -0
- package/dist/ProTable2/components/row-actions-router.d.ts +8 -0
- package/dist/{ProTable3/hooks/utils.js → ProTable2/components/row-actions-router.js} +1 -1
- package/dist/ProTable2/components/row-actions.d.ts +59 -0
- package/dist/ProTable2/components/row-actions.js +1 -0
- package/dist/ProTable2/components/search.d.ts +2 -1
- package/dist/ProTable2/components/search.js +1 -1
- package/dist/ProTable2/context.d.ts +21 -0
- package/dist/ProTable2/context.js +1 -0
- package/dist/ProTable2/hooks/usePagination.js +1 -0
- package/dist/ProTable2/hooks/useRouterNavigation.d.ts +10 -0
- package/dist/ProTable2/hooks/useRouterNavigation.js +1 -0
- package/dist/ProTable2/table.js +1 -1
- package/dist/ProTable2/types.d.ts +382 -2
- package/dist/TabSelector/TabSelector.d.ts +3 -0
- package/dist/TabSelector/TabSelector.js +1 -0
- package/dist/TabSelector/index.d.ts +2 -0
- package/dist/TabSelector/index.js +1 -0
- package/dist/TabSelector/modal.d.ts +16 -0
- package/dist/TabSelector/modal.js +1 -0
- package/dist/TabSelector/selected-items-display.d.ts +11 -0
- package/dist/TabSelector/selected-items-display.js +1 -0
- package/dist/TabSelector/styles.d.ts +2 -0
- package/dist/TabSelector/styles.js +1 -0
- package/dist/TabSelector/types.d.ts +24 -0
- package/dist/index.d.ts +5 -1
- package/dist/index.js +1 -1
- package/dist/locale/langs/zh-cn/index.js +1 -1
- package/package.json +1 -1
- package/dist/ProTable/context.d.ts +0 -59
- package/dist/ProTable/context.js +0 -1
- package/dist/ProTable/form-footer.d.ts +0 -26
- package/dist/ProTable/form-footer.js +0 -1
- package/dist/ProTable/index.d.ts +0 -2
- package/dist/ProTable/index.js +0 -1
- package/dist/ProTable/list.d.ts +0 -5
- package/dist/ProTable/list.js +0 -1
- package/dist/ProTable/styles.d.ts +0 -7
- package/dist/ProTable/styles.js +0 -1
- package/dist/ProTable/table.d.ts +0 -3
- package/dist/ProTable/table.js +0 -1
- package/dist/ProTable/types.d.ts +0 -121
- package/dist/ProTable/update/index.d.ts +0 -1
- package/dist/ProTable/update/index.js +0 -1
- package/dist/ProTable/update/update.d.ts +0 -3
- package/dist/ProTable3/components/index.d.ts +0 -2
- package/dist/ProTable3/components/index.js +0 -1
- package/dist/ProTable3/components/list/index.d.ts +0 -19
- package/dist/ProTable3/components/list/index.js +0 -1
- package/dist/ProTable3/components/search/index.d.ts +0 -2
- package/dist/ProTable3/components/search/index.js +0 -1
- package/dist/ProTable3/container.d.ts +0 -3
- package/dist/ProTable3/container.js +0 -1
- package/dist/ProTable3/context.d.ts +0 -13
- package/dist/ProTable3/context.js +0 -1
- package/dist/ProTable3/hooks/types.d.ts +0 -72
- package/dist/ProTable3/hooks/useBatchRemoveButton.d.ts +0 -38
- package/dist/ProTable3/hooks/useBatchRemoveButton.js +0 -1
- package/dist/ProTable3/hooks/useCreateButton.d.ts +0 -34
- package/dist/ProTable3/hooks/useCreateButton.js +0 -1
- package/dist/ProTable3/hooks/useExtraButtons.d.ts +0 -26
- package/dist/ProTable3/hooks/useExtraButtons.js +0 -1
- package/dist/ProTable3/hooks/useOptionRender.d.ts +0 -30
- package/dist/ProTable3/hooks/useOptionRender.js +0 -1
- package/dist/ProTable3/hooks/usePagination.js +0 -1
- package/dist/ProTable3/hooks/utils.d.ts +0 -12
- package/dist/ProTable3/index.js +0 -1
- package/dist/ProTable3/styles.d.ts +0 -7
- package/dist/ProTable3/styles.js +0 -1
- package/dist/ProTable3/table.d.ts +0 -2
- package/dist/ProTable3/table.js +0 -1
- package/dist/ProTable3/types.d.ts +0 -106
- /package/dist/{ProTable → Beyond}/types.js +0 -0
- /package/dist/{ProTable3/hooks → Exports}/types.js +0 -0
- /package/dist/{ProTable3 → ProTable2}/hooks/usePagination.d.ts +0 -0
- /package/dist/{ProTable3 → TabSelector}/types.js +0 -0
package/dist/ProTable/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export{VlianTable}from"./table.tsx";
|
package/dist/ProTable/list.d.ts
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import type { ParamsType, VlianTableListInst, VlianTableListProps } from "./types.ts";
|
|
2
|
-
import React from "react";
|
|
3
|
-
export declare const VlianListTable: <DataSource extends Record<string, any> = any, U extends ParamsType = ParamsType, ValueType = "text">(props: VlianTableListProps<DataSource, U, ValueType> & {
|
|
4
|
-
ref?: React.Ref<Partial<VlianTableListInst>>;
|
|
5
|
-
}) => React.ReactElement | null;
|
package/dist/ProTable/list.js
DELETED
|
@@ -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 _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 _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,{forwardRef,useContext,useImperativeHandle}from"react";import{useLocale}from"../locale";import{VlianTableContext}from"./context.ts";import{ButtonGroup}from"../ButtonGroup";import{EyeOutlined,EditOutlined,DeleteOutlined}from"@ant-design/icons";import{ConfirmButton}from"../ConfirmButton";import{BetaSchemaForm,ProTable}from"@ant-design/pro-components";import{useComponentConfig}from"antd/es/config-provider/context";import useStyle from"./styles.ts";import{inputValueType,sectionValueType,selectValueType}from"../library";import classNames from"classnames";import{Button}from"antd";import{useNavigate}from"react-router-dom";function VlianTableInner(props,ref){var messages=useLocale().messages;var customizePrefixCls=props.prefixCls,className=props.className,style=props.style,columns=props.columns,_props_searchType=props.searchType,searchType=_props_searchType===void 0?"QueryFilter":_props_searchType,size=props.size,_props_params=props.params,params=_props_params===void 0?{}:_props_params,scroll=props.scroll,searchFormProps=props.searchFormProps,_props_showSearch=props.showSearch,showSearch=_props_showSearch===void 0?true:_props_showSearch,request=props.request,_props_searchResetText=props.searchResetText,searchResetText=_props_searchResetText===void 0?messages.form.reset:_props_searchResetText,_props_searchSubmitText=props.searchSubmitText,searchSubmitText=_props_searchSubmitText===void 0?messages.form.query:_props_searchSubmitText,optionProps=props.optionProps,updateBtnProps=props.updateBtnProps,viewBtnProps=props.viewBtnProps,removeBtnProps=props.removeBtnProps,rowKey=props.rowKey,_props_optionExtra=props.optionExtra,optionExtra=_props_optionExtra===void 0?[]:_props_optionExtra,_props_maxOptionCount=props.maxOptionCount,maxOptionCount=_props_maxOptionCount===void 0?3:_props_maxOptionCount,onUpdateBefore=props.onUpdateBefore,tableId=props.tableId,restProps=_object_without_properties(props,["prefixCls","className","style","columns","searchType","size","params","scroll","searchFormProps","showSearch","request","searchResetText","searchSubmitText","optionProps","updateBtnProps","viewBtnProps","removeBtnProps","rowKey","optionExtra","maxOptionCount","onUpdateBefore","tableId"]);var searchFormRef=React.useRef(null);var context=useContext(VlianTableContext);var _ref=context||{},baseUrl=_ref.baseUrl,_ref_visibleSearch=_ref.visibleSearch,visibleSearch=_ref_visibleSearch===void 0?true:_ref_visibleSearch,_ref_removeMode=_ref.removeMode,removeMode=_ref_removeMode===void 0?"popconfirm":_ref_removeMode,mode=_ref.mode,handleOpenPopup=_ref.handleOpenPopup,permission=_ref.permission,hasPermission=_ref.hasPermission,setCurrentInfo=_ref.setCurrentInfo;var _React_useState=_sliced_to_array(React.useState([]),2),searchColumns=_React_useState[0],setSearchColumns=_React_useState[1];var _React_useState1=_sliced_to_array(React.useState({}),2),searchData=_React_useState1[0],setSearchData=_React_useState1[1];var _React_useState2=_sliced_to_array(React.useState(false),2),searchLoading=_React_useState2[0],setSearchLoading=_React_useState2[1];var navigate=useNavigate();var actionRef=React.useRef(null);var getPrefixCls=useComponentConfig("vlian-table").getPrefixCls;var prefixCls=getPrefixCls("vlian-table",customizePrefixCls);var _useStyle=_sliced_to_array(useStyle(prefixCls),3),wrapCSSVar=_useStyle[0],hashId=_useStyle[1],cssVarCls=_useStyle[2];var getTableFilter=function(){var _actionRef_current,_searchFormRef_current_getFieldsFormatValue,_searchFormRef_current;var pageInfo=(_actionRef_current=actionRef.current)===null||_actionRef_current===void 0?void 0:_actionRef_current.pageInfo;var formData=(_searchFormRef_current=searchFormRef.current)===null||_searchFormRef_current===void 0?void 0:(_searchFormRef_current_getFieldsFormatValue=_searchFormRef_current.getFieldsFormatValue)===null||_searchFormRef_current_getFieldsFormatValue===void 0?void 0:_searchFormRef_current_getFieldsFormatValue.call(_searchFormRef_current);return _object_spread({},pageInfo,formData,params)};useImperativeHandle(ref,function(){return _object_spread_props(_object_spread({},actionRef.current||{}),{search:searchFormRef.current,getTableFilter:getTableFilter})});var formatListColumns=function(){var columns=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];var searchColumns=[];var listColumns=columns.map(function(column){var tmp=column.fieldProps,_ref=tmp===void 0?{}:tmp,tmp1=_ref.placeholder,sourcePlaceholder=tmp1===void 0?"":tmp1,_column_valueType=column.valueType,valueType=_column_valueType===void 0?"text":_column_valueType,title=column.title,_column_hideInSearch=column.hideInSearch,hideInSearch=_column_hideInSearch===void 0?true:_column_hideInSearch,_column_textType=column.textType,textType=_column_textType===void 0?"input":_column_textType,otherFieldProps=_object_without_properties(column.fieldProps,["placeholder"]),other=_object_without_properties(column,["fieldProps","valueType","title","hideInSearch","textType"]);var placeholder;switch(valueType){case inputValueType.includes(valueType):placeholder=sourcePlaceholder?sourcePlaceholder:"".concat(messages.form.text).concat(title);break;case selectValueType.includes(valueType):placeholder=sourcePlaceholder?sourcePlaceholder:"".concat(messages.form.select).concat(title);break;case sectionValueType.includes(valueType):placeholder=sourcePlaceholder?sourcePlaceholder:["".concat(messages.form.start).concat(title),"".concat(messages.form.ended).concat(title)];break;default:placeholder=sourcePlaceholder?sourcePlaceholder:textType==="input"?"".concat(messages.form.text).concat(title):"".concat(messages.form.select).concat(title)}var newColumn=_object_spread({labelWidth:"auto",fieldProps:_object_spread({placeholder:placeholder},otherFieldProps),valueType:valueType,title:title},other);if(!hideInSearch){searchColumns.push(newColumn)}return _object_spread({minWidth:150},newColumn)});setSearchColumns===null||setSearchColumns===void 0?void 0:setSearchColumns(searchColumns);return listColumns};var currentSearchProps=React.useMemo(function(){var rest=_extends({},_object_destructuring_empty(searchFormProps||{}));return _object_spread({submitter:{searchConfig:{submitText:searchSubmitText,resetText:searchResetText},render:function(props,doms){void props;return _to_consumable_array(doms.reverse()).concat([React.createElement(Button,{key:"test",onClick:function(){setSearchData({aaa:Date.now()})}},"刷新")])}}},rest)},[searchFormProps]);var currentColumns=React.useMemo(function(){return formatListColumns(columns||[])},[columns]);var operateColumn=React.useMemo(function(){var createButtonItems=function(record,index,action){var defBtn={type:"link",variant:"link",size:"small"};var items=[];if(viewBtnProps!==false){var viewConfig=(typeof viewBtnProps==="undefined"?"undefined":_type_of(viewBtnProps))==="object"?viewBtnProps:{};var onClick=viewConfig.onClick,viewRest=_object_without_properties(viewConfig,["onClick"]);items.push(_object_spread(_object_spread_props(_object_spread({},defBtn),{key:"view",label:messages.table.viewBtnText,order:1,icon:React.createElement(EyeOutlined,null),onClick:function(){console.log("View button clicked",record,index,action);onClick===null||onClick===void 0?void 0:onClick(record,index,action)}}),viewRest))}if(updateBtnProps!==false){var updateConfig=(typeof updateBtnProps==="undefined"?"undefined":_type_of(updateBtnProps))==="object"?updateBtnProps:{};var onClick1=updateConfig.onClick,updateRest=_object_without_properties(updateConfig,["onClick"]);void onClick1;items.push(_object_spread(_object_spread_props(_object_spread({},defBtn),{key:"update",label:messages.table.updateBtnText,order:2,icon:React.createElement(EditOutlined,null),onClick:function(){return _async_to_generator(function(){var _permission_update,result,result1;return _ts_generator(this,function(_state){switch(_state.label){case 0:console.log("Update button clicked",record,index,action);if(hasPermission){;result=hasPermission((_permission_update=permission===null||permission===void 0?void 0:permission.update)!==null&&_permission_update!==void 0?_permission_update:"".concat(tableId,":update"),record);if(!result){console.error("权限不足");return[2,false]}}if(!onUpdateBefore)return[3,2];return[4,onUpdateBefore(record,index,action)];case 1:result1=_state.sent();if(!result1){return[2,false]}_state.label=2;case 2:return[4,setCurrentInfo===null||setCurrentInfo===void 0?void 0:setCurrentInfo("update",record,index)];case 3:_state.sent();if(mode==="router"){navigate("".concat(baseUrl,"/edit"))}return[2,handleOpenPopup===null||handleOpenPopup===void 0?void 0:handleOpenPopup()]}})})()}}),updateRest))}if(removeBtnProps!==false){var removeConfig=(typeof removeBtnProps==="undefined"?"undefined":_type_of(removeBtnProps))==="object"?removeBtnProps:{};var label=removeConfig.label,icon=removeConfig.icon,onClick2=removeConfig.onClick,removeRest=_object_without_properties(removeConfig,["label","icon","onClick"]);items.push(_object_spread(_object_spread_props(_object_spread({},defBtn),{key:"remove",label:messages.table.removeBtnText,isCustom:true,component:React.createElement(ConfirmButton,{key:"remove",mode:removeMode,title:messages.table.removeTip,content:messages.table.removeConfirm,triggerBtnProps:_object_spread(_object_spread_props(_object_spread({key:"remove"},defBtn),{icon:icon||React.createElement(DeleteOutlined,null),color:"danger"}),removeRest),onConfirm:function(){return _async_to_generator(function(){return _ts_generator(this,function(_state){console.log("Remove button clicked",record,index,action);onClick2===null||onClick2===void 0?void 0:onClick2(record,index,action);return[2,true]})})()}},label||messages.table.removeBtnText),order:3,color:"danger",icon:undefined,onClick:function(){},style:{padding:0}}),removeRest))}if(Array.isArray(optionExtra)&&optionExtra.length>0){items=items.concat(optionExtra.map(function(item){var onClick=item.onClick,rest=_object_without_properties(item,["onClick"]);return _object_spread_props(_object_spread({},defBtn,rest),{onClick:function(){onClick===null||onClick===void 0?void 0:onClick(record,index,action)}})}))}return items};return _object_spread_props(_object_spread({title:messages.table.operateColumnTitle,width:150},optionProps),{valueType:"option",render:function(_text,record,index,action){var buttonItems=createButtonItems(record,index,action);if(buttonItems.length===0){return null}return React.createElement(ButtonGroup,{moreProps:{icon:undefined,type:"link",variant:"link",size:"small",color:"default",children:messages.table.moreBtnText},items:buttonItems,maxCount:maxOptionCount})}})},[optionProps,updateBtnProps,viewBtnProps,removeBtnProps,messages,optionExtra,maxOptionCount,mode]);return wrapCSSVar(React.createElement("div",{className:classNames("".concat(prefixCls,"-list"),className,cssVarCls,hashId),style:style},visibleSearch&&showSearch&&React.createElement("div",null,React.createElement(BetaSchemaForm,_object_spread({ref:searchFormRef,size:size,layoutType:searchType,layout:"inline",loading:searchLoading,columns:searchColumns||[],onFinish:function(values){setSearchData(_object_spread_props(_object_spread({},values),{$key:Date.now()}))},onReset:function(){var _searchFormRef_current;(_searchFormRef_current=searchFormRef.current)===null||_searchFormRef_current===void 0?void 0:_searchFormRef_current.resetFields();setSearchData({$key:Date.now()})}},currentSearchProps))),React.createElement(ProTable,_object_spread_props(_object_spread({scroll:scroll!==null&&scroll!==void 0?scroll:{x:"max-content"}},restProps),{params:_object_spread({},params,searchData),columns:_to_consumable_array(currentColumns).concat([operateColumn]),actionRef:actionRef,search:false,ghost:true,rowKey:rowKey,onLoadingChange:function(v){setSearchLoading(Boolean(v))},request:function(params,sort,filter){return _async_to_generator(function(){var $key,reset;return _ts_generator(this,function(_state){$key=params.$key,reset=_object_without_properties(params,["$key"]);void $key;return[2,request===null||request===void 0?void 0:request(reset,sort,filter)]})})()}}))))}export var VlianListTable=forwardRef(VlianTableInner);
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { FullToken, GenerateStyle, GetDefaultToken } from 'antd/es/theme/internal';
|
|
2
|
-
type VlianTableToken = FullToken<'VlianTable'> & {};
|
|
3
|
-
export declare const genBaseStyle: GenerateStyle<VlianTableToken>;
|
|
4
|
-
export declare const genListStyle: GenerateStyle<VlianTableToken>;
|
|
5
|
-
export declare const prepareComponentToken: GetDefaultToken<'VlianTable'>;
|
|
6
|
-
declare const _default: (prefixCls: string, rootCls?: string) => readonly [(node: React.ReactElement) => React.ReactElement, string, string];
|
|
7
|
-
export default _default;
|
package/dist/ProTable/styles.js
DELETED
|
@@ -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.paddingMD,".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);
|
package/dist/ProTable/table.d.ts
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import type { VlianTableProps, ParamsType } from './types';
|
|
3
|
-
export declare const VlianTable: <DataSource extends ParamsType = ParamsType, U extends ParamsType = ParamsType, FormValue extends ParamsType = ParamsType, ValueType = any>(props: VlianTableProps<DataSource, U, ValueType>) => React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
|
package/dist/ProTable/table.js
DELETED
|
@@ -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 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_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 _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 _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,{useRef}from"react";import useStyle from"./styles";import{useComponentConfig}from"antd/es/config-provider/context";import classNames from"classnames";import{VlianTableContext}from"./context";import{MemoryRouter,Routes,Route}from"react-router-dom";import{VlianListTable}from"./list";import{Modal}from"../Modal";import{Drawer}from"antd";import{nanoid}from"nanoid";import{UpdateView}from"./update";import{FormFooter}from"./form-footer";export var VlianTable=function(props){var customizePrefixCls=props.prefixCls,className=props.className,style=props.style,size=props.size,_props_mode=props.mode,mode=_props_mode===void 0?"router":_props_mode,list=props.list,_props_removeMode=props.removeMode,removeMode=_props_removeMode===void 0?"popconfirm":_props_removeMode,permissionKey=props.permissionKey,_props_basicUrl=props.basicUrl,basicUrl=_props_basicUrl===void 0?"":_props_basicUrl,permission=props.permission,hasPermission=props.hasPermission,tmp=props.formProps,_ref=tmp===void 0?{}:tmp,formRef=_ref.formRef,tmp1=_ref.submitter,submitterPosition=(tmp1===void 0?{}:tmp1).submitterPosition,submitterProps=_object_without_properties(props.formProps.submitter,["submitterPosition"]),restFormProps=_object_without_properties(props.formProps,["formRef","submitter"]);var tableId=permissionKey?permissionKey:nanoid();var _ref1=list||{},_ref_columns=_ref1.columns,columns=_ref_columns===void 0?[]:_ref_columns,listProps=_object_without_properties(_ref1,["columns"]);var getPrefixCls=useComponentConfig("vlian-table").getPrefixCls;var prefixCls=getPrefixCls("vlian-table",customizePrefixCls);var _useStyle=_sliced_to_array(useStyle(prefixCls),3),wrapCSS=_useStyle[0],hashId=_useStyle[1],cssVarCls=_useStyle[2];var _React_useState=_sliced_to_array(React.useState(true),2),visibleSearch=_React_useState[0],setVisibleSearch=_React_useState[1];var _React_useState1=_sliced_to_array(React.useState(""),2),operateType=_React_useState1[0],setOperateType=_React_useState1[1];var _React_useState2=_sliced_to_array(React.useState({}),2),currentRecord=_React_useState2[0],setCurrentRecord=_React_useState2[1];var _React_useState3=_sliced_to_array(React.useState(-1),2),currentIndex=_React_useState3[0],setCurrentIndex=_React_useState3[1];var _React_useState4=_sliced_to_array(React.useState(false),2),visibleModal=_React_useState4[0],setVisibleModal=_React_useState4[1];var _React_useState5=_sliced_to_array(React.useState(false),2),visibleDrawer=_React_useState5[0],setVisibleDrawer=_React_useState5[1];var internalRef=useRef(null);var refToUse=formRef||internalRef;var _React_useState6=_sliced_to_array(React.useState(false),2),submitLoading=_React_useState6[0],setSubmitLoading=_React_useState6[1];var onViewClick=function(record,index,action){return _async_to_generator(function(){return _ts_generator(this,function(_state){console.info(record,index,action);return[2]})})()};var handleOpenOperate=function(){if(mode==="modal"){setVisibleModal(true)}if(mode==="drawer"){setVisibleDrawer(true)}return};var onUpdateClick=function(record,index){return _async_to_generator(function(){return _ts_generator(this,function(_state){setOperateType("update");setCurrentRecord(record);setCurrentIndex(index);return[2,true]})})()};var onRemoveClick=function(record,index,action){return _async_to_generator(function(){return _ts_generator(this,function(_state){console.info(record,index,action);return[2]})})()};var handleOpenPopup=function(){return _async_to_generator(function(){return _ts_generator(this,function(_state){handleOpenOperate();return[2]})})()};var closePopup=function(){return _async_to_generator(function(){return _ts_generator(this,function(_state){setVisibleDrawer(false);setVisibleModal(false);setTimeout(function(){setOperateType("");setCurrentRecord({});setCurrentIndex(-1)},100);return[2]})})()};var setCurrentInfo=function(type,record,index){return _async_to_generator(function(){return _ts_generator(this,function(_state){setOperateType(type);setCurrentRecord(record);setCurrentIndex(index);return[2]})})()};var showUpdate=React.useCallback(function(record){if(hasPermission){var _permission_update;return hasPermission((_permission_update=permission===null||permission===void 0?void 0:permission.update)!==null&&_permission_update!==void 0?_permission_update:"".concat(tableId,":update"),record)}return true},[hasPermission,permission===null||permission===void 0?void 0:permission.update,tableId]);var handleRest=function(){var _refToUse_current;(_refToUse_current=refToUse.current)===null||_refToUse_current===void 0?void 0:_refToUse_current.resetFields()};var handleSubmit=function(){var _refToUse_current;(_refToUse_current=refToUse.current)===null||_refToUse_current===void 0?void 0:_refToUse_current.submit()};var renderUpdate=React.useCallback(function(record){var isRouter=arguments.length>1&&arguments[1]!==void 0?arguments[1]:true;var _ref=restFormProps||{},children=_ref.children,footer=_ref.footer,width=_ref.width,rest=_object_without_properties(_ref,["children","footer","width"]);void footer;if(!showUpdate(record))return null;var content=React.createElement(UpdateView,_object_spread_props(_object_spread({onLoadingChange:setSubmitLoading,width:width,formRef:refToUse},rest),{footer:mode==="router"?React.createElement(FormFooter,_object_spread({submitLoading:submitLoading,onReset:handleRest,onSubmit:handleSubmit,submitterPosition:submitterPosition!==null&&submitterPosition!==void 0?submitterPosition:"center"},submitterProps)):false}),children===null||children===void 0?void 0:children(refToUse,record));if(mode==="router"){return isRouter?React.createElement(Route,{path:"edit",element:content}):null}var popupMap={modal:React.createElement(Modal,{open:visibleModal,width:width,onCancel:closePopup,footer:React.createElement(FormFooter,_object_spread({submitLoading:submitLoading,onReset:handleRest,onSubmit:handleSubmit,submitterPosition:submitterPosition!==null&&submitterPosition!==void 0?submitterPosition:"flex-end"},submitterProps))},content),drawer:React.createElement(Drawer,{open:visibleDrawer},content)};var _popupMap_mode;return isRouter?null:(_popupMap_mode=popupMap[mode])!==null&&_popupMap_mode!==void 0?_popupMap_mode:null},[mode,visibleModal,visibleDrawer,showUpdate,restFormProps,refToUse,submitLoading]);return wrapCSS(React.createElement(VlianTableContext.Provider,{value:{baseUrl:basicUrl,mode:mode,visibleSearch:visibleSearch,setVisibleSearch:setVisibleSearch,operateType:operateType,setOperateType:setOperateType,removeMode:removeMode,onViewClick:onViewClick,onUpdateClick:onUpdateClick,onRemoveClick:onRemoveClick,currentRecord:currentRecord,setCurrentRecord:setCurrentRecord,handleOpenPopup:handleOpenPopup,currentIndex:currentIndex,permission:permission,hasPermission:hasPermission,setCurrentInfo:setCurrentInfo,size:size,closePopup:closePopup}},React.createElement("div",{className:classNames("".concat(prefixCls),className,cssVarCls,hashId),style:style},React.createElement(MemoryRouter,{basename:basicUrl,initialEntries:["/"]},React.createElement(Routes,null,React.createElement(Route,{path:"",element:React.createElement(VlianListTable,_object_spread({tableId:tableId,size:size,columns:columns||[]},listProps))}),renderUpdate(currentRecord,true)),renderUpdate(currentRecord,false)))))};
|
package/dist/ProTable/types.d.ts
DELETED
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
import type { ProTableProps as AntdProTableProps, ActionType, ProColumns, ProFormInstance, ProCoreActionType, ProFormProps, ProFormColumnsType } from "@ant-design/pro-components";
|
|
2
|
-
import * as React from 'react';
|
|
3
|
-
import type { SizeType } from "antd/es/config-provider/SizeContext";
|
|
4
|
-
import type { FormSchema } from "@ant-design/pro-form/es/components/SchemaForm";
|
|
5
|
-
import type { ButtonGroupItem } from "../ButtonGroup";
|
|
6
|
-
import type { ConfirmMode } from "../ConfirmButton";
|
|
7
|
-
import type { Ref } from "react";
|
|
8
|
-
import type { FormFooterProps } from "./form-footer.tsx";
|
|
9
|
-
export type VlianTableListInst = ActionType & {
|
|
10
|
-
search: ProFormInstance | null;
|
|
11
|
-
getTableFilter: () => any;
|
|
12
|
-
};
|
|
13
|
-
export type VlianTableColumn<T, ValueType = 'text'> = ProColumns<T, ValueType> & {
|
|
14
|
-
textType?: 'input' | 'select';
|
|
15
|
-
};
|
|
16
|
-
export type VlianTableMode = "modal" | "drawer" | "router";
|
|
17
|
-
export type OptionBtnProps<T> = Omit<Partial<ButtonGroupItem>, "onClick"> & {
|
|
18
|
-
onClick?: (record: T, index: number, action: ProCoreActionType<T>) => void;
|
|
19
|
-
};
|
|
20
|
-
export type OperateType = "" | "view" | "update" | "create";
|
|
21
|
-
export type VlianTableListProps<DataSource, U = any, ValueType = 'text'> = Omit<AntdProTableProps<DataSource, U, ValueType>, "search" | "ghost" | "actionRef" | "columns"> & {
|
|
22
|
-
prefixCls?: string;
|
|
23
|
-
tableId?: string;
|
|
24
|
-
className?: string;
|
|
25
|
-
style?: React.CSSProperties;
|
|
26
|
-
columns: VlianTableColumn<DataSource, ValueType>[];
|
|
27
|
-
searchType?: "QueryFilter" | "Form";
|
|
28
|
-
searchFormProps?: Omit<FormSchema<DataSource, ValueType>, "size" | "layoutType" | "layout" | "columns" | "loading" | "onFinish" | "onReset">;
|
|
29
|
-
showSearch?: boolean;
|
|
30
|
-
searchSubmitText?: string;
|
|
31
|
-
searchResetText?: string;
|
|
32
|
-
optionProps?: Omit<ProColumns<DataSource, ValueType>, "render" | "dataIndex" | "valueType">;
|
|
33
|
-
updateBtnProps?: OptionBtnProps<DataSource> | false;
|
|
34
|
-
viewBtnProps?: OptionBtnProps<DataSource> | false;
|
|
35
|
-
removeBtnProps?: OptionBtnProps<DataSource> | false;
|
|
36
|
-
optionExtra?: OptionBtnProps<DataSource>[];
|
|
37
|
-
/**
|
|
38
|
-
* 点击编辑按钮之前,返回 reject 或者 false 时,不继续运行
|
|
39
|
-
*/
|
|
40
|
-
onUpdateBefore?: <T>(record: T, index: number, action: ProCoreActionType<T>) => Promise<boolean>;
|
|
41
|
-
/**
|
|
42
|
-
* 获取详情
|
|
43
|
-
* @param record
|
|
44
|
-
* @param index
|
|
45
|
-
*/
|
|
46
|
-
detail?: <T>(record: T, index: number) => Promise<any>;
|
|
47
|
-
maxOptionCount?: number;
|
|
48
|
-
};
|
|
49
|
-
export type BooleanCallback = Promise<boolean> | boolean;
|
|
50
|
-
export type Obj = Record<string, any>;
|
|
51
|
-
export interface TablePermissionMap {
|
|
52
|
-
create?: string;
|
|
53
|
-
batchRemove?: string;
|
|
54
|
-
view?: string;
|
|
55
|
-
update?: string;
|
|
56
|
-
remove?: string;
|
|
57
|
-
}
|
|
58
|
-
export type HasPermissionFn = (code: string, other?: Record<string, any>) => boolean;
|
|
59
|
-
export type OperateFormProps<T, U> = Omit<ProFormProps, "onFinish" | "onReset" | "children" | "columns" | "sumitter"> & {
|
|
60
|
-
title?: React.ReactNode;
|
|
61
|
-
children?: ((form: Ref<ProFormInstance<T>>, record: T) => React.ReactNode) | any;
|
|
62
|
-
columns?: ProFormColumnsType<U>[];
|
|
63
|
-
submitter?: Omit<FormFooterProps, "onSubmit" | "onReset">;
|
|
64
|
-
footer?: React.ReactNode;
|
|
65
|
-
detail?: (record: T, index: number) => Promise<any>;
|
|
66
|
-
width?: number | string;
|
|
67
|
-
};
|
|
68
|
-
export type UpdateOperateFormProps<T, U> = OperateFormProps<T, U> & {
|
|
69
|
-
/**
|
|
70
|
-
* 调用编辑接口之前
|
|
71
|
-
*/
|
|
72
|
-
onUpdateSubmitBefore?: <T = any>(values: T) => Promise<boolean>;
|
|
73
|
-
/**
|
|
74
|
-
* 调用编辑接口
|
|
75
|
-
*/
|
|
76
|
-
onUpdate?: <T = any>(values: T) => Promise<any>;
|
|
77
|
-
/**
|
|
78
|
-
* 编辑之后
|
|
79
|
-
*/
|
|
80
|
-
onUpdateSubmitAfter?: <T = any>(result: any, values: T) => Promise<void>;
|
|
81
|
-
};
|
|
82
|
-
export type ParamsType = Record<string, any>;
|
|
83
|
-
export type VlianTableFormProps<T, U> = UpdateOperateFormProps<T, U>;
|
|
84
|
-
export type VlianTableProps<DataSource, U = any, F = any, ValueType = any> = {
|
|
85
|
-
mode: VlianTableMode;
|
|
86
|
-
basicUrl?: string;
|
|
87
|
-
prefixCls?: string;
|
|
88
|
-
className?: string;
|
|
89
|
-
style?: React.CSSProperties;
|
|
90
|
-
size?: SizeType;
|
|
91
|
-
list?: VlianTableListProps<DataSource, U, ValueType>;
|
|
92
|
-
removeMode?: ConfirmMode;
|
|
93
|
-
/**
|
|
94
|
-
* 权限 Key
|
|
95
|
-
*/
|
|
96
|
-
permissionKey?: string;
|
|
97
|
-
/**
|
|
98
|
-
* @description 权限
|
|
99
|
-
*/
|
|
100
|
-
permission?: TablePermissionMap;
|
|
101
|
-
/**
|
|
102
|
-
* @description 判断权限
|
|
103
|
-
*/
|
|
104
|
-
hasPermission?: HasPermissionFn;
|
|
105
|
-
/**
|
|
106
|
-
* 显示编辑按钮逻辑
|
|
107
|
-
*/
|
|
108
|
-
showUpdateBtn?: (record: DataSource, index: number) => boolean;
|
|
109
|
-
/**
|
|
110
|
-
* 点击创建按钮之前,返回 reject 或者 false 时,不继续运行
|
|
111
|
-
*/
|
|
112
|
-
onCreateBefore?: () => Promise<boolean>;
|
|
113
|
-
/**
|
|
114
|
-
* 点击编辑按钮,返回 reject 或者 false 时,不继续运行
|
|
115
|
-
*/
|
|
116
|
-
onUpdate?: <T>(record: T, index: number, action: ProCoreActionType<T>) => Promise<boolean>;
|
|
117
|
-
/**
|
|
118
|
-
* 表单属性
|
|
119
|
-
*/
|
|
120
|
-
formProps?: VlianTableFormProps<DataSource, F>;
|
|
121
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./update.tsx";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export*from"./update.tsx";
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import { type PropsWithChildren } from "react";
|
|
2
|
-
import type { UpdateOperateFormProps } from "../types.ts";
|
|
3
|
-
export declare const UpdateView: <DataSource, FormValue>(props: PropsWithChildren<UpdateOperateFormProps<DataSource, FormValue>>) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export*from"./search";export*from"./list";
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import type { SizeType } from "antd/es/config-provider/SizeContext";
|
|
3
|
-
import type { TableProps, SearchProps, SearchType } from "../../types";
|
|
4
|
-
import { type ProFormColumnsType } from "@ant-design/pro-components";
|
|
5
|
-
export type ProTableListProps<DataSource extends Record<string, any> = Record<string, any>, ParamsType = Record<string, any>, ValueType = "text"> = {
|
|
6
|
-
prefixCls?: string;
|
|
7
|
-
className?: string;
|
|
8
|
-
style?: React.CSSProperties;
|
|
9
|
-
size?: SizeType;
|
|
10
|
-
options?: TableProps<DataSource, ParamsType, ValueType>;
|
|
11
|
-
columns: ProFormColumnsType<DataSource>[];
|
|
12
|
-
searchOptions?: {
|
|
13
|
-
searchType?: SearchType;
|
|
14
|
-
className?: string;
|
|
15
|
-
style?: React.CSSProperties;
|
|
16
|
-
searchProps?: false | (Omit<SearchProps, "columns" | "onFinish" | "onReset">);
|
|
17
|
-
};
|
|
18
|
-
};
|
|
19
|
-
export declare const ProTableList: <DataSource extends Record<string, any> = Record<string, any>, ParamsType extends Record<string, any> = Record<string, any>, ValueType = "text">(props: ProTableListProps<DataSource, ParamsType, ValueType>) => React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
|
|
@@ -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 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_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 _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 _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{ProTable}from"@ant-design/pro-components";import{useComponentConfig}from"antd/es/config-provider/context";import useStyle from"../../styles.ts";import classNames from"classnames";import{ProTableSearch}from"../search";import{VlianTableContext}from"../../context";import{useContext,useMemo,useCallback}from"react";export var ProTableList=function(props){var customizePrefixCls=props.prefixCls,className=props.className,style=props.style,_props_columns=props.columns,columns=_props_columns===void 0?[]:_props_columns,searchOptions=props.searchOptions,tmp=props.options,_ref=tmp===void 0?{}:tmp,params=_ref.params,request=_ref.request,actionRef=_ref.actionRef,_ref_resetAndSearch=_ref.resetAndSearch,resetAndSearch=_ref_resetAndSearch===void 0?true:_ref_resetAndSearch,tableRowSelection=_ref.rowSelection,tableProps=_object_without_properties(props.options,["params","request","actionRef","resetAndSearch","rowSelection"]);var _useContext=useContext(VlianTableContext),selectedRowKeys=_useContext.selectedRowKeys,setSelectedRowKeys=_useContext.setSelectedRowKeys,setSelectedRows=_useContext.setSelectedRows;var innerActionRef=React.useRef(undefined);React.useImperativeHandle(actionRef,function(){return innerActionRef.current},[innerActionRef.current]);var _useContext1=useContext(VlianTableContext),loading=_useContext1.loading,setLoading=_useContext1.setLoading;var getPrefixCls=useComponentConfig("vlian-table").getPrefixCls;var prefixCls=getPrefixCls("vlian-table",customizePrefixCls);var _useStyle=_sliced_to_array(useStyle(prefixCls),3),wrapCSS=_useStyle[0],hashId=_useStyle[1],cssVarCls=_useStyle[2];var _React_useState=_sliced_to_array(React.useState([]),2),searchColumns=_React_useState[0],setSearchColumns=_React_useState[1];var _React_useState1=_sliced_to_array(React.useState({}),2),searchData=_React_useState1[0],setSearchData=_React_useState1[1];var formatListColumns=function(columns){var filterColumns=[];var newColumns=columns.map(function(column){var _column_hideInSearch=column.hideInSearch,hideInSearch=_column_hideInSearch===void 0?true:_column_hideInSearch,restColumn=_object_without_properties(column,["hideInSearch"]);if(!hideInSearch){filterColumns.push(restColumn)}return _object_spread({hideInSearch:hideInSearch},restColumn)});setSearchColumns(filterColumns);return newColumns};var currentColumns=React.useMemo(function(){return formatListColumns(columns)},[columns]);var currentParams=React.useMemo(function(){return _object_spread({},params,searchData)},[params,searchData]);var handleSearch=function(params){return _async_to_generator(function(){return _ts_generator(this,function(_state){setSearchData(_object_spread_props(_object_spread({},params),{$key:Date.now()}));return[2]})})()};var handleReset=function(){setSearchData(resetAndSearch?{$key:Date.now()}:{})};var showSearch=React.useMemo(function(){var searchProps=(searchOptions||{}).searchProps;return searchProps!==false},[searchOptions]);var handleRowSelectionChange=useCallback(function(selectedKeys,selectedRowsData,info){setSelectedRowKeys(selectedKeys);setSelectedRows(selectedRowsData);if(tableRowSelection&&(typeof tableRowSelection==="undefined"?"undefined":_type_of(tableRowSelection))==="object"&&tableRowSelection.onChange){if(tableRowSelection.onChange.length===3){tableRowSelection.onChange(selectedKeys,selectedRowsData,info)}else{tableRowSelection.onChange(selectedKeys,selectedRowsData)}}},[setSelectedRowKeys,setSelectedRows,tableRowSelection]);var rowSelection=useMemo(function(){if(tableRowSelection===false){return undefined}var defaultType=tableRowSelection&&(typeof tableRowSelection==="undefined"?"undefined":_type_of(tableRowSelection))==="object"?tableRowSelection.type||"checkbox":"checkbox";var _ref=tableRowSelection&&(typeof tableRowSelection==="undefined"?"undefined":_type_of(tableRowSelection))==="object"?tableRowSelection:{},_=_ref.onChange,otherRowSelectionProps=_object_without_properties(_ref,["onChange"]);return _object_spread({type:defaultType,selectedRowKeys:selectedRowKeys,onChange:handleRowSelectionChange},otherRowSelectionProps)},[selectedRowKeys,handleRowSelectionChange,tableRowSelection]);return wrapCSS(React.createElement("div",{className:classNames("".concat(prefixCls,"-list"),className,cssVarCls,hashId),style:style},showSearch&&React.createElement(ProTableSearch,{className:classNames("".concat(prefixCls,"-search"),hashId,searchOptions===null||searchOptions===void 0?void 0:searchOptions.className),style:searchOptions===null||searchOptions===void 0?void 0:searchOptions.style,columns:searchColumns,layoutType:(searchOptions===null||searchOptions===void 0?void 0:searchOptions.searchType)||"QueryFilter",loading:loading,onFinish:handleSearch,onReset:handleReset}),React.createElement(ProTable,_object_spread({columns:currentColumns,ghost:true,params:currentParams,actionRef:innerActionRef,onLoadingChange:function(loading){var _tableProps_onLoadingChange;if(typeof loading==="boolean"){setLoading(loading)}tableProps===null||tableProps===void 0?void 0:(_tableProps_onLoadingChange=tableProps.onLoadingChange)===null||_tableProps_onLoadingChange===void 0?void 0:_tableProps_onLoadingChange.call(tableProps,loading)},search:false,loading:loading,request:function(params,sort,filter){return _async_to_generator(function(){var $key,other;return _ts_generator(this,function(_state){$key=params.$key,other=_object_without_properties(params,["$key"]);void $key;return[2,request===null||request===void 0?void 0:request(other,sort,filter)]})})()},rowSelection:rowSelection},tableProps))))};
|
|
@@ -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_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 _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 _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{BetaSchemaForm}from"@ant-design/pro-components";import{inputValueType,sectionValueType,selectValueType}from"../../../library";import{useLocale}from"../../../locale";export var ProTableSearch=function(props){var _props_columns=props.columns,columns=_props_columns===void 0?[]:_props_columns,className=props.className,style=props.style,layoutType=props.layoutType,otherProps=_object_without_properties(props,["columns","className","style","layoutType"]);var messages=useLocale().messages;var formatListColumns=function(){var columns=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];return columns.map(function(column){var tmp=column.fieldProps,_ref=tmp===void 0?{}:tmp,tmp1=_ref.placeholder,sourcePlaceholder=tmp1===void 0?"":tmp1,_column_valueType=column.valueType,valueType=_column_valueType===void 0?"text":_column_valueType,title=column.title,otherFieldProps=_object_without_properties(column.fieldProps,["placeholder"]),other=_object_without_properties(column,["fieldProps","valueType","title"]);var placeholder;if(inputValueType.includes(valueType)){placeholder=sourcePlaceholder?sourcePlaceholder:"".concat(messages.form.text).concat(title)}else if(selectValueType.includes(valueType)){placeholder=sourcePlaceholder?sourcePlaceholder:"".concat(messages.form.select).concat(title)}else if(sectionValueType.includes(valueType)){placeholder=sourcePlaceholder?sourcePlaceholder:["".concat(messages.form.start).concat(title),"".concat(messages.form.ended).concat(title)]}else{placeholder=sourcePlaceholder?sourcePlaceholder:title}var newColumn=_object_spread({fieldProps:_object_spread({placeholder:placeholder},otherFieldProps),valueType:valueType,title:title},other);return newColumn})};var currentColumns=React.useMemo(function(){return formatListColumns(columns)},[columns]);return React.createElement("div",{className:className,style:style},React.createElement(BetaSchemaForm,_object_spread({labelWidth:"auto",colProps:{flex:"auto"},layout:"inline",layoutType:layoutType,columns:currentColumns,submitter:{searchConfig:{submitText:messages.form.query,resetText:messages.form.reset},render:function(_props,doms){return _to_consumable_array(doms.reverse())}}},otherProps)))};
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
import type { ProTableProps } from "./types";
|
|
3
|
-
export declare const Container: <DataSource extends Record<string, any> = Record<string, any>, ParamsType extends Record<string, any> = Record<string, any>, ValueType = "text">(props: ProTableProps<DataSource, ParamsType, FormData, ValueType>) => React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
|
|
@@ -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 _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 _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 _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*as React from"react";import{Flex}from"antd";import classNames from"classnames";import{MemoryRouter,Route,Routes}from"react-router-dom";import{ProTableList}from"./components";import{usePagination}from"./hooks/usePagination.tsx";import{useComponentConfig}from"antd/es/config-provider/context";import useStyle from"./styles.ts";import{useContext}from"react";import{VlianTableContext}from"./context.ts";import{useOptionRender}from"./hooks/useOptionRender.tsx";export var Container=function(props){var customizePrefixCls=props.prefixCls,className=props.className,style=props.style,searchClassName=props.searchClassName,searchStyle=props.searchStyle,_props_columns=props.columns,columns=_props_columns===void 0?[]:_props_columns,_props_searchType=props.searchType,searchType=_props_searchType===void 0?"QueryFilter":_props_searchType,_props_baseUrl=props.baseUrl,baseUrl=_props_baseUrl===void 0?"":_props_baseUrl,_props_initialEntries=props.initialEntries,initialEntries=_props_initialEntries===void 0?"/":_props_initialEntries,tableStyle=props.tableStyle,tableClassName=props.tableClassName,tmp=props.tableProps,actionRef=(tmp===void 0?{}:tmp).actionRef,searchProps=props.searchProps,tableProps=_object_without_properties(props.tableProps,["actionRef"]);var innerActionRef=React.useRef(undefined);var loading=useContext(VlianTableContext).loading;var currentPagination=usePagination(props).currentPagination;React.useImperativeHandle(actionRef,function(){return innerActionRef.current},[innerActionRef.current]);var getPrefixCls=useComponentConfig("vlian-table").getPrefixCls;var prefixCls=getPrefixCls("vlian-table",customizePrefixCls);var _useStyle=_sliced_to_array(useStyle(prefixCls),3),wrapCSS=_useStyle[0],hashId=_useStyle[1],cssVarCls=_useStyle[2];var headerTitle=useOptionRender(props).headerTitle;var currentTableOptions=React.useMemo(function(){return _object_spread_props(_object_spread({actionRef:innerActionRef},tableProps),{headerTitle:headerTitle,pagination:currentPagination})},[currentPagination,innerActionRef,tableProps,loading]);return wrapCSS(React.createElement(Flex,{vertical:true,gap:8,className:classNames(prefixCls,className,cssVarCls,hashId),style:style},React.createElement(MemoryRouter,{basename:baseUrl,initialEntries:[initialEntries]},React.createElement(Routes,null,React.createElement(Route,{path:"",element:React.createElement(ProTableList,_object_spread_props(_object_spread({},props),{className:tableClassName,columns:columns,style:tableStyle,options:currentTableOptions,searchOptions:{searchType:searchType,className:searchClassName,style:searchStyle,searchProps:searchProps}}))})))))};
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { type Key } from "react";
|
|
2
|
-
import type { ViewMode } from "./types";
|
|
3
|
-
export type VlianTableContextType = {
|
|
4
|
-
selectedRowKeys: Key[];
|
|
5
|
-
setSelectedRowKeys: (keys: Key[]) => void;
|
|
6
|
-
selectedRows: Record<string, any>[];
|
|
7
|
-
setSelectedRows: (rows: Record<string, any>[]) => void;
|
|
8
|
-
loading: boolean;
|
|
9
|
-
setLoading: (loading: boolean) => void;
|
|
10
|
-
viewMode: ViewMode;
|
|
11
|
-
setViewMode: (mode: ViewMode) => void;
|
|
12
|
-
};
|
|
13
|
-
export declare const VlianTableContext: import("react").Context<VlianTableContextType>;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{createContext}from"react";export var VlianTableContext=createContext({selectedRowKeys:[],setSelectedRowKeys:function(keys){void keys},selectedRows:[],setSelectedRows:function(rows){void rows},loading:false,setLoading:function(loading){void loading},viewMode:"list",setViewMode:function(mode){void mode}});
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import { type Key } from "react";
|
|
2
|
-
import { type ButtonGroupItem } from "../../ButtonGroup";
|
|
3
|
-
/**
|
|
4
|
-
* 操作按钮 Props 类型
|
|
5
|
-
*/
|
|
6
|
-
export interface OptionButtonProps extends Omit<ButtonGroupItem, 'key' | 'onClick' | 'disabled'> {
|
|
7
|
-
/**
|
|
8
|
-
* @description 按钮是否可见
|
|
9
|
-
*/
|
|
10
|
-
visible?: boolean | ((selectKeys: Key[]) => boolean);
|
|
11
|
-
/**
|
|
12
|
-
* @description 按钮是否禁用(支持函数形式,根据 selectedRowKeys 动态判断)
|
|
13
|
-
*/
|
|
14
|
-
disabled?: boolean | ((selectKeys: Key[]) => boolean);
|
|
15
|
-
/**
|
|
16
|
-
* @description 点击回调
|
|
17
|
-
*/
|
|
18
|
-
onClick?: (selectKeys: Key[]) => void | Promise<void>;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* useOptionRender Hook 的 Props 类型
|
|
22
|
-
*/
|
|
23
|
-
export interface UseOptionRenderProps {
|
|
24
|
-
/**
|
|
25
|
-
* @description 是否显示新增按钮
|
|
26
|
-
* @default true
|
|
27
|
-
*/
|
|
28
|
-
showCreateBtn?: boolean;
|
|
29
|
-
/**
|
|
30
|
-
* @description 新增按钮属性,可以是函数,接收 selectedRowKeys 作为参数,设置为 false 时不显示
|
|
31
|
-
*/
|
|
32
|
-
createBtnProps?: OptionButtonProps | ((selectKeys: Key[]) => OptionButtonProps) | false;
|
|
33
|
-
/**
|
|
34
|
-
* @description 新增按钮点击回调
|
|
35
|
-
*/
|
|
36
|
-
onCreate?: (selectKeys: Key[]) => void | Promise<void>;
|
|
37
|
-
/**
|
|
38
|
-
* @description 是否显示批量删除按钮
|
|
39
|
-
* @default false
|
|
40
|
-
*/
|
|
41
|
-
showBatchRemoveBtn?: boolean;
|
|
42
|
-
/**
|
|
43
|
-
* @description 批量删除按钮属性,可以是函数,接收 selectedRowKeys 作为参数,设置为 false 时不显示
|
|
44
|
-
*/
|
|
45
|
-
batchRemoveBtnProps?: OptionButtonProps | ((selectKeys: Key[]) => OptionButtonProps) | false;
|
|
46
|
-
/**
|
|
47
|
-
* @description 批量删除点击回调
|
|
48
|
-
*/
|
|
49
|
-
onBatchRemove?: (selectKeys: Key[]) => void | Promise<void>;
|
|
50
|
-
/**
|
|
51
|
-
* @description 批量删除确认方式
|
|
52
|
-
* @default 'modal'
|
|
53
|
-
*/
|
|
54
|
-
batchRemoveConfirmMode?: 'modal' | 'popconfirm';
|
|
55
|
-
/**
|
|
56
|
-
* @description 自定义操作按钮列表,设置为 false 或 null 时不显示对应按钮
|
|
57
|
-
*/
|
|
58
|
-
optionExtra?: (OptionButtonProps | ((selectKeys: Key[]) => OptionButtonProps) | false | null)[];
|
|
59
|
-
/**
|
|
60
|
-
* @description ButtonGroup 最大显示按钮数量
|
|
61
|
-
* @default 3
|
|
62
|
-
*/
|
|
63
|
-
maxCount?: number;
|
|
64
|
-
/**
|
|
65
|
-
* @description ButtonGroup 自定义类名
|
|
66
|
-
*/
|
|
67
|
-
headerClassName?: string;
|
|
68
|
-
/**
|
|
69
|
-
* @description ButtonGroup 自定义样式
|
|
70
|
-
*/
|
|
71
|
-
headerStyle?: React.CSSProperties;
|
|
72
|
-
}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { type Key } from "react";
|
|
2
|
-
import { type ButtonGroupItem } from "../../ButtonGroup";
|
|
3
|
-
import { type OptionButtonProps } from "./types";
|
|
4
|
-
/**
|
|
5
|
-
* 批量删除按钮配置
|
|
6
|
-
*/
|
|
7
|
-
export interface UseBatchRemoveButtonProps {
|
|
8
|
-
/**
|
|
9
|
-
* @description 是否显示批量删除按钮
|
|
10
|
-
*/
|
|
11
|
-
showBatchRemoveBtn?: boolean;
|
|
12
|
-
/**
|
|
13
|
-
* @description 批量删除按钮属性
|
|
14
|
-
*/
|
|
15
|
-
batchRemoveBtnProps?: OptionButtonProps | ((selectKeys: Key[]) => OptionButtonProps) | false;
|
|
16
|
-
/**
|
|
17
|
-
* @description 批量删除点击回调
|
|
18
|
-
*/
|
|
19
|
-
onBatchRemove?: (selectKeys: Key[]) => void | Promise<void>;
|
|
20
|
-
/**
|
|
21
|
-
* @description 批量删除确认方式
|
|
22
|
-
*/
|
|
23
|
-
batchRemoveConfirmMode?: 'modal' | 'popconfirm';
|
|
24
|
-
/**
|
|
25
|
-
* @description 当前选中的行 keys
|
|
26
|
-
*/
|
|
27
|
-
selectedRowKeys: Key[];
|
|
28
|
-
/**
|
|
29
|
-
* @description 全局 loading 状态
|
|
30
|
-
*/
|
|
31
|
-
loading?: boolean;
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* 批量删除按钮 Hook
|
|
35
|
-
* @param props - 配置项
|
|
36
|
-
* @returns 批量删除按钮的 ButtonGroupItem 或 null
|
|
37
|
-
*/
|
|
38
|
-
export declare const useBatchRemoveButton: (props: UseBatchRemoveButtonProps) => ButtonGroupItem | null;
|
|
@@ -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 _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{useCallback,useMemo}from"react";import{DeleteOutlined}from"@ant-design/icons";import{useLocale}from"../../locale";import{Modal}from"antd";import{convertToButtonItem}from"./utils";export var useBatchRemoveButton=function(props){var messages=useLocale().messages;var _props_showBatchRemoveBtn=props.showBatchRemoveBtn,showBatchRemoveBtn=_props_showBatchRemoveBtn===void 0?false:_props_showBatchRemoveBtn,batchRemoveBtnProps=props.batchRemoveBtnProps,onBatchRemove=props.onBatchRemove,_props_batchRemoveConfirmMode=props.batchRemoveConfirmMode,batchRemoveConfirmMode=_props_batchRemoveConfirmMode===void 0?"modal":_props_batchRemoveConfirmMode,selectedRowKeys=props.selectedRowKeys,_props_loading=props.loading,loading=_props_loading===void 0?false:_props_loading;var handleBatchRemoveClick=useCallback(function(selectKeys){return _async_to_generator(function(){return _ts_generator(this,function(_state){switch(_state.label){case 0:if(!onBatchRemove||selectKeys.length===0){return[2]}if(!(batchRemoveConfirmMode==="modal"))return[3,1];Modal.confirm({title:messages.table.batchRemoveModalTitle,content:messages.table.batchRemoveModalContent.replace("{count}",String(selectKeys.length)),onOk:function(){return _async_to_generator(function(){return _ts_generator(this,function(_state){switch(_state.label){case 0:return[4,onBatchRemove(selectKeys)];case 1:_state.sent();return[2]}})})()},okText:"确定",cancelText:"取消"});return[3,3];case 1:return[4,onBatchRemove(selectKeys)];case 2:_state.sent();_state.label=3;case 3:return[2]}})})()},[onBatchRemove,batchRemoveConfirmMode,messages]);var batchRemoveButton=useMemo(function(){if(!showBatchRemoveBtn||batchRemoveBtnProps===false){return null}var batchRemoveBtnConfig=_object_spread({variant:"outlined",color:"danger"},batchRemoveBtnProps||{});var batchRemoveBtn=convertToButtonItem(batchRemoveBtnConfig,selectedRowKeys,"$batchRemove",handleBatchRemoveClick);if(!batchRemoveBtn){return null}if(!batchRemoveBtn.icon){batchRemoveBtn.icon=React.createElement(DeleteOutlined,null)}if(batchRemoveBtn.order===undefined){batchRemoveBtn.order=2}if(!batchRemoveBtn.label){batchRemoveBtn.label=messages.table.batchRemoveBtnText}return _object_spread_props(_object_spread({},batchRemoveBtn),{disabled:selectedRowKeys.length===0||batchRemoveBtn.disabled,loading:loading})},[showBatchRemoveBtn,batchRemoveBtnProps,selectedRowKeys,handleBatchRemoveClick,messages,loading]);return batchRemoveButton};
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { type Key } from "react";
|
|
2
|
-
import { type ButtonGroupItem } from "../../ButtonGroup";
|
|
3
|
-
import { type OptionButtonProps } from "./types";
|
|
4
|
-
/**
|
|
5
|
-
* 新增按钮配置
|
|
6
|
-
*/
|
|
7
|
-
export interface UseCreateButtonProps {
|
|
8
|
-
/**
|
|
9
|
-
* @description 是否显示新增按钮
|
|
10
|
-
*/
|
|
11
|
-
showCreateBtn?: boolean;
|
|
12
|
-
/**
|
|
13
|
-
* @description 新增按钮属性
|
|
14
|
-
*/
|
|
15
|
-
createBtnProps?: OptionButtonProps | ((selectKeys: Key[]) => OptionButtonProps) | false;
|
|
16
|
-
/**
|
|
17
|
-
* @description 新增按钮点击回调
|
|
18
|
-
*/
|
|
19
|
-
onCreate?: (selectKeys: Key[]) => void | Promise<void>;
|
|
20
|
-
/**
|
|
21
|
-
* @description 当前选中的行 keys
|
|
22
|
-
*/
|
|
23
|
-
selectedRowKeys: Key[];
|
|
24
|
-
/**
|
|
25
|
-
* @description 全局 loading 状态
|
|
26
|
-
*/
|
|
27
|
-
loading?: boolean;
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* 新增按钮 Hook
|
|
31
|
-
* @param props - 配置项
|
|
32
|
-
* @returns 新增按钮的 ButtonGroupItem 或 null
|
|
33
|
-
*/
|
|
34
|
-
export declare const useCreateButton: (props: UseCreateButtonProps) => ButtonGroupItem | null;
|
|
@@ -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 _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{useCallback,useMemo}from"react";import{PlusOutlined}from"@ant-design/icons";import{useLocale}from"../../locale";import{convertToButtonItem}from"./utils";export var useCreateButton=function(props){var messages=useLocale().messages;var _props_showCreateBtn=props.showCreateBtn,showCreateBtn=_props_showCreateBtn===void 0?true:_props_showCreateBtn,createBtnProps=props.createBtnProps,onCreate=props.onCreate,selectedRowKeys=props.selectedRowKeys,_props_loading=props.loading,loading=_props_loading===void 0?false:_props_loading;var handleCreateClick=useCallback(function(selectKeys){return _async_to_generator(function(){return _ts_generator(this,function(_state){switch(_state.label){case 0:if(!onCreate)return[3,2];return[4,onCreate(selectKeys)];case 1:_state.sent();_state.label=2;case 2:return[2]}})})()},[onCreate]);var createButton=useMemo(function(){if(!showCreateBtn||createBtnProps===false){return null}var createBtnConfig=_object_spread({type:"primary"},createBtnProps||{});var createBtn=convertToButtonItem(createBtnConfig,selectedRowKeys,"$create",handleCreateClick);if(!createBtn){return null}if(!createBtn.icon){createBtn.icon=React.createElement(PlusOutlined,null)}if(createBtn.order===undefined){createBtn.order=1}if(!createBtn.label){createBtn.label=messages.table.createBtnText}return _object_spread_props(_object_spread({},createBtn),{loading:loading})},[showCreateBtn,createBtnProps,selectedRowKeys,handleCreateClick,messages,loading]);return createButton};
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { type Key } from "react";
|
|
2
|
-
import { type ButtonGroupItem } from "../../ButtonGroup";
|
|
3
|
-
import { type OptionButtonProps } from "./types";
|
|
4
|
-
/**
|
|
5
|
-
* 其他操作按钮配置
|
|
6
|
-
*/
|
|
7
|
-
export interface UseExtraButtonsProps {
|
|
8
|
-
/**
|
|
9
|
-
* @description 自定义操作按钮列表
|
|
10
|
-
*/
|
|
11
|
-
optionExtra?: (OptionButtonProps | ((selectKeys: Key[]) => OptionButtonProps) | false | null)[];
|
|
12
|
-
/**
|
|
13
|
-
* @description 当前选中的行 keys
|
|
14
|
-
*/
|
|
15
|
-
selectedRowKeys: Key[];
|
|
16
|
-
/**
|
|
17
|
-
* @description 全局 loading 状态
|
|
18
|
-
*/
|
|
19
|
-
loading?: boolean;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* 其他操作按钮 Hook
|
|
23
|
-
* @param props - 配置项
|
|
24
|
-
* @returns 其他操作按钮的 ButtonGroupItem 数组
|
|
25
|
-
*/
|
|
26
|
-
export declare const useExtraButtons: (props: UseExtraButtonsProps) => ButtonGroupItem[];
|
|
@@ -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{useMemo}from"react";import{convertToButtonItem}from"./utils";export var useExtraButtons=function(props){var _props_optionExtra=props.optionExtra,optionExtra=_props_optionExtra===void 0?[]:_props_optionExtra,selectedRowKeys=props.selectedRowKeys,_props_loading=props.loading,loading=_props_loading===void 0?false:_props_loading;var extraButtons=useMemo(function(){var items=[];optionExtra.forEach(function(extra,index){if(extra===false||extra===null||extra===undefined){return}var extraBtn=convertToButtonItem(extra,selectedRowKeys,"$extra-".concat(index));if(extraBtn){var order=extraBtn.order===undefined?10+index:extraBtn.order;var btnLoading=extraBtn.loading!==undefined?extraBtn.loading:loading;items.push(_object_spread_props(_object_spread({},extraBtn),{order:order,loading:btnLoading}))}});return items},[optionExtra,selectedRowKeys,loading]);return extraButtons};
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { type ReactNode } from "react";
|
|
2
|
-
import { type UseOptionRenderProps } from "./types";
|
|
3
|
-
/**
|
|
4
|
-
* 选项标题栏渲染 Hook
|
|
5
|
-
* 用于生成 ProTable 的 headerTitle,显示操作按钮(新增、批量删除等)
|
|
6
|
-
* 支持根据 props 和 selectedRowKeys 动态调整按钮状态
|
|
7
|
-
*
|
|
8
|
-
* @param props - 配置项
|
|
9
|
-
* @returns headerTitle - ReactNode,可直接作为 ProTable 的 headerTitle
|
|
10
|
-
*
|
|
11
|
-
* @example
|
|
12
|
-
* ```tsx
|
|
13
|
-
* const { headerTitle } = useOptionRender({
|
|
14
|
-
* showCreateBtn: true,
|
|
15
|
-
* showBatchRemoveBtn: true,
|
|
16
|
-
* onCreate: () => {
|
|
17
|
-
* // 处理新增逻辑
|
|
18
|
-
* },
|
|
19
|
-
* onBatchRemove: (keys) => {
|
|
20
|
-
* // 处理批量删除逻辑
|
|
21
|
-
* }
|
|
22
|
-
* });
|
|
23
|
-
*
|
|
24
|
-
* <ProTable headerTitle={headerTitle} ... />
|
|
25
|
-
* ```
|
|
26
|
-
*/
|
|
27
|
-
export declare const useOptionRender: (props?: UseOptionRenderProps) => {
|
|
28
|
-
headerTitle: ReactNode;
|
|
29
|
-
};
|
|
30
|
-
export type { UseOptionRenderProps, OptionButtonProps } from "./types";
|
|
@@ -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_without_holes(arr){if(Array.isArray(arr))return _array_like_to_array(arr)}function _iterable_to_array(iter){if(typeof Symbol!=="undefined"&&iter[Symbol.iterator]!=null||iter["@@iterator"]!=null)return Array.from(iter)}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 _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{useMemo}from"react";import{useContext}from"react";import{VlianTableContext}from"../context";import ButtonGroup from"../../ButtonGroup";import{useCreateButton}from"./useCreateButton";import{useBatchRemoveButton}from"./useBatchRemoveButton";import{useExtraButtons}from"./useExtraButtons";export var useOptionRender=function(){var props=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};var _useContext=useContext(VlianTableContext),selectedRowKeys=_useContext.selectedRowKeys,loading=_useContext.loading;var _props_showCreateBtn=props.showCreateBtn,showCreateBtn=_props_showCreateBtn===void 0?true:_props_showCreateBtn,_props_showBatchRemoveBtn=props.showBatchRemoveBtn,showBatchRemoveBtn=_props_showBatchRemoveBtn===void 0?true:_props_showBatchRemoveBtn,createBtnProps=props.createBtnProps,onCreate=props.onCreate,batchRemoveBtnProps=props.batchRemoveBtnProps,onBatchRemove=props.onBatchRemove,_props_batchRemoveConfirmMode=props.batchRemoveConfirmMode,batchRemoveConfirmMode=_props_batchRemoveConfirmMode===void 0?"modal":_props_batchRemoveConfirmMode,_props_optionExtra=props.optionExtra,optionExtra=_props_optionExtra===void 0?[]:_props_optionExtra,_props_maxCount=props.maxCount,maxCount=_props_maxCount===void 0?3:_props_maxCount,className=props.headerClassName,style=props.headerStyle;var createButton=useCreateButton({showCreateBtn:showCreateBtn,createBtnProps:createBtnProps,onCreate:onCreate,selectedRowKeys:selectedRowKeys,loading:loading});var batchRemoveButton=useBatchRemoveButton({showBatchRemoveBtn:showBatchRemoveBtn,batchRemoveBtnProps:batchRemoveBtnProps,onBatchRemove:onBatchRemove,batchRemoveConfirmMode:batchRemoveConfirmMode,selectedRowKeys:selectedRowKeys,loading:loading});var extraButtons=useExtraButtons({optionExtra:optionExtra,selectedRowKeys:selectedRowKeys,loading:loading});var headerTitle=useMemo(function(){var _items;var items=[];if(createButton){items.push(createButton)}if(batchRemoveButton){items.push(batchRemoveButton)}(_items=items).push.apply(_items,_to_consumable_array(extraButtons));if(items.length===0){return null}return React.createElement(ButtonGroup,{items:items,maxCount:maxCount,className:className,style:style})},[createButton,batchRemoveButton,extraButtons,maxCount,className,style,loading]);return{headerTitle:headerTitle}};
|