villianjs-pro 1.0.0
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/README.md +69 -0
- package/dist/Button/Button.d.ts +4 -0
- package/dist/Button/Button.js +1 -0
- package/dist/Button/index.d.ts +3 -0
- package/dist/Button/index.js +1 -0
- package/dist/Button/styles.d.ts +6 -0
- package/dist/Button/styles.js +1 -0
- package/dist/Button/types.d.ts +5 -0
- package/dist/Button/types.js +1 -0
- package/dist/ButtonGroup/ButtonGroup.d.ts +45 -0
- package/dist/ButtonGroup/ButtonGroup.js +1 -0
- package/dist/ButtonGroup/index.d.ts +4 -0
- package/dist/ButtonGroup/index.js +1 -0
- package/dist/ButtonGroup/styles.d.ts +6 -0
- package/dist/ButtonGroup/styles.js +1 -0
- package/dist/ButtonGroup/types.d.ts +2 -0
- package/dist/ButtonGroup/types.js +1 -0
- package/dist/Card/card.d.ts +4 -0
- package/dist/Card/card.js +1 -0
- package/dist/Card/index.d.ts +2 -0
- package/dist/Card/index.js +1 -0
- package/dist/Card/types.d.ts +11 -0
- package/dist/Card/types.js +1 -0
- package/dist/CheckCard/CheckCard.d.ts +3 -0
- package/dist/CheckCard/CheckCard.js +1 -0
- package/dist/CheckCard/index.d.ts +2 -0
- package/dist/CheckCard/index.js +1 -0
- package/dist/CheckCard/types.d.ts +12 -0
- package/dist/CheckCard/types.js +1 -0
- package/dist/ConfirmButton/ConfirmButton.d.ts +4 -0
- package/dist/ConfirmButton/ConfirmButton.js +1 -0
- package/dist/ConfirmButton/index.d.ts +4 -0
- package/dist/ConfirmButton/index.js +1 -0
- package/dist/ConfirmButton/types.d.ts +55 -0
- package/dist/ConfirmButton/types.js +1 -0
- package/dist/Form/Form.d.ts +3 -0
- package/dist/Form/Form.js +1 -0
- package/dist/Form/index.d.ts +2 -0
- package/dist/Form/index.js +1 -0
- package/dist/Form/types.d.ts +8 -0
- package/dist/Form/types.js +1 -0
- package/dist/Modal/Modal.d.ts +10 -0
- package/dist/Modal/Modal.js +1 -0
- package/dist/Modal/components/antd/index.d.ts +31 -0
- package/dist/Modal/components/antd/index.js +1 -0
- package/dist/Modal/index.d.ts +2 -0
- package/dist/Modal/index.js +1 -0
- package/dist/Modal/styles.d.ts +1 -0
- package/dist/Modal/styles.js +1 -0
- package/dist/Modal/types.d.ts +28 -0
- package/dist/Modal/types.js +1 -0
- package/dist/ProTable/context.d.ts +59 -0
- package/dist/ProTable/context.js +1 -0
- package/dist/ProTable/form-footer.d.ts +26 -0
- package/dist/ProTable/form-footer.js +1 -0
- package/dist/ProTable/index.d.ts +2 -0
- package/dist/ProTable/index.js +1 -0
- package/dist/ProTable/list.d.ts +5 -0
- package/dist/ProTable/list.js +1 -0
- package/dist/ProTable/styles.d.ts +7 -0
- package/dist/ProTable/styles.js +1 -0
- package/dist/ProTable/table.d.ts +3 -0
- package/dist/ProTable/table.js +1 -0
- package/dist/ProTable/types.d.ts +121 -0
- package/dist/ProTable/types.js +1 -0
- package/dist/ProTable/update/index.d.ts +1 -0
- package/dist/ProTable/update/index.js +1 -0
- package/dist/ProTable/update/update.d.ts +3 -0
- package/dist/ProTable/update/update.js +1 -0
- package/dist/ProTable2/components/search.d.ts +2 -0
- package/dist/ProTable2/components/search.js +1 -0
- package/dist/ProTable2/index.d.ts +2 -0
- package/dist/ProTable2/index.js +1 -0
- package/dist/ProTable2/styles.d.ts +7 -0
- package/dist/ProTable2/styles.js +1 -0
- package/dist/ProTable2/table.d.ts +2 -0
- package/dist/ProTable2/table.js +1 -0
- package/dist/ProTable2/types.d.ts +23 -0
- package/dist/ProTable2/types.js +1 -0
- package/dist/ProTable3/components/index.d.ts +2 -0
- package/dist/ProTable3/components/index.js +1 -0
- package/dist/ProTable3/components/list/index.d.ts +19 -0
- package/dist/ProTable3/components/list/index.js +1 -0
- package/dist/ProTable3/components/search/index.d.ts +2 -0
- package/dist/ProTable3/components/search/index.js +1 -0
- package/dist/ProTable3/container.d.ts +3 -0
- package/dist/ProTable3/container.js +1 -0
- package/dist/ProTable3/context.d.ts +13 -0
- package/dist/ProTable3/context.js +1 -0
- package/dist/ProTable3/hooks/types.d.ts +72 -0
- package/dist/ProTable3/hooks/types.js +1 -0
- package/dist/ProTable3/hooks/useBatchRemoveButton.d.ts +38 -0
- package/dist/ProTable3/hooks/useBatchRemoveButton.js +1 -0
- package/dist/ProTable3/hooks/useCreateButton.d.ts +34 -0
- package/dist/ProTable3/hooks/useCreateButton.js +1 -0
- package/dist/ProTable3/hooks/useExtraButtons.d.ts +26 -0
- package/dist/ProTable3/hooks/useExtraButtons.js +1 -0
- package/dist/ProTable3/hooks/useOptionRender.d.ts +30 -0
- package/dist/ProTable3/hooks/useOptionRender.js +1 -0
- package/dist/ProTable3/hooks/usePagination.d.ts +3 -0
- package/dist/ProTable3/hooks/usePagination.js +1 -0
- package/dist/ProTable3/hooks/utils.d.ts +12 -0
- package/dist/ProTable3/hooks/utils.js +1 -0
- package/dist/ProTable3/index.d.ts +2 -0
- package/dist/ProTable3/index.js +1 -0
- package/dist/ProTable3/styles.d.ts +7 -0
- package/dist/ProTable3/styles.js +1 -0
- package/dist/ProTable3/table.d.ts +2 -0
- package/dist/ProTable3/table.js +1 -0
- package/dist/ProTable3/types.d.ts +106 -0
- package/dist/ProTable3/types.js +1 -0
- package/dist/Switch/index.d.ts +2 -0
- package/dist/Switch/index.js +1 -0
- package/dist/Switch/switch.d.ts +3 -0
- package/dist/Switch/switch.js +1 -0
- package/dist/Switch/types.d.ts +40 -0
- package/dist/Switch/types.js +1 -0
- package/dist/Text/components/Basic.d.ts +4 -0
- package/dist/Text/components/Basic.js +1 -0
- package/dist/Text/components/Link.d.ts +5 -0
- package/dist/Text/components/Link.js +1 -0
- package/dist/Text/components/Paragraph.d.ts +5 -0
- package/dist/Text/components/Paragraph.js +1 -0
- package/dist/Text/components/Text.d.ts +5 -0
- package/dist/Text/components/Text.js +1 -0
- package/dist/Text/components/Title.d.ts +5 -0
- package/dist/Text/components/Title.js +1 -0
- package/dist/Text/components/common.d.ts +9 -0
- package/dist/Text/components/common.js +1 -0
- package/dist/Text/components/index.d.ts +4 -0
- package/dist/Text/components/index.js +1 -0
- package/dist/Text/index.d.ts +10 -0
- package/dist/Text/index.js +1 -0
- package/dist/forwardRef.d.js +1 -0
- package/dist/hooks/commonStyles.d.ts +6 -0
- package/dist/hooks/commonStyles.js +1 -0
- package/dist/hooks/index.d.ts +2 -0
- package/dist/hooks/index.js +1 -0
- package/dist/hooks/useFormatPlaceholder.d.ts +3 -0
- package/dist/hooks/useFormatPlaceholder.js +1 -0
- package/dist/images/images.d.ts +3 -0
- package/dist/images/images.js +1 -0
- package/dist/images/index.d.ts +2 -0
- package/dist/images/index.js +1 -0
- package/dist/images/types.d.ts +20 -0
- package/dist/images/types.js +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.js +1 -0
- package/dist/library/db.d.ts +2 -0
- package/dist/library/db.js +1 -0
- package/dist/library/file.d.ts +4 -0
- package/dist/library/file.js +1 -0
- package/dist/library/form.d.ts +3 -0
- package/dist/library/form.js +1 -0
- package/dist/library/index.d.ts +11 -0
- package/dist/library/index.js +1 -0
- package/dist/library/is.d.ts +1 -0
- package/dist/library/is.js +1 -0
- package/dist/library/string.d.ts +1 -0
- package/dist/library/string.js +1 -0
- package/dist/locale/index.d.ts +10 -0
- package/dist/locale/index.js +1 -0
- package/dist/locale/langs/en-us/index.d.ts +2 -0
- package/dist/locale/langs/en-us/index.js +1 -0
- package/dist/locale/langs/zh-cn/index.d.ts +2 -0
- package/dist/locale/langs/zh-cn/index.js +1 -0
- package/dist/locale/locale.d.ts +2 -0
- package/dist/locale/locale.js +1 -0
- package/package.json +68 -0
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { type ButtonProps } from "../Button";
|
|
3
|
+
export type FormFooterConfig = {
|
|
4
|
+
cancelText?: React.ReactNode;
|
|
5
|
+
confirmText?: React.ReactNode;
|
|
6
|
+
};
|
|
7
|
+
export type FormFooterProps = {
|
|
8
|
+
config?: FormFooterConfig;
|
|
9
|
+
/** @name 提交按钮的 props */
|
|
10
|
+
submitButtonProps?: false | (ButtonProps & {
|
|
11
|
+
preventDefault?: boolean;
|
|
12
|
+
});
|
|
13
|
+
/** @name 重置按钮的 props */
|
|
14
|
+
resetButtonProps?: false | (ButtonProps & {
|
|
15
|
+
preventDefault?: boolean;
|
|
16
|
+
});
|
|
17
|
+
render?: ((props: FormFooterProps & Record<string, any> & {
|
|
18
|
+
submit: () => void;
|
|
19
|
+
reset: () => void;
|
|
20
|
+
}, dom: React.JSX.Element[]) => React.ReactNode[] | React.ReactNode | false) | false;
|
|
21
|
+
onSubmit?: () => void;
|
|
22
|
+
onReset?: () => void;
|
|
23
|
+
submitterPosition?: React.CSSProperties['justifyContent'];
|
|
24
|
+
submitLoading?: boolean;
|
|
25
|
+
};
|
|
26
|
+
export declare const FormFooter: React.FC<FormFooterProps>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value}catch(error){reject(error);return}if(info.done){resolve(value)}else{Promise.resolve(value).then(_next,_throw)}}function _async_to_generator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value)}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err)}_next(undefined)})}}function _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*as React from"react";import{Flex}from"antd";import{Button}from"../Button";import{useLocale}from"../locale";import{useContext}from"react";import{VlianTableContext}from"./context.ts";export var FormFooter=function(props){var tmp=props.config,_ref=tmp===void 0?{}:tmp,cancelText=_ref.cancelText,confirmText=_ref.confirmText,resetButtonProps=props.resetButtonProps,submitButtonProps=props.submitButtonProps,onSubmit=props.onSubmit,onReset=props.onReset,render=props.render,submitLoading=props.submitLoading,submitterPosition=props.submitterPosition;var context=useContext(VlianTableContext);var size=(context||{}).size;var messages=useLocale().messages;var handleSubmitClick=function(){return _async_to_generator(function(){return _ts_generator(this,function(_state){onSubmit===null||onSubmit===void 0?void 0:onSubmit();return[2]})})()};var handleCancelClick=function(){return _async_to_generator(function(){return _ts_generator(this,function(_state){onReset===null||onReset===void 0?void 0:onReset();return[2]})})()};var ResetButton=React.useMemo(function(){if(resetButtonProps===false){return null}var _$props=_object_spread_props(_object_spread({size:size},resetButtonProps),{onClick:handleCancelClick});return React.createElement(Button,_object_spread({key:"cancel"},_$props),cancelText!==null&&cancelText!==void 0?cancelText:messages.form.reset)},[cancelText,resetButtonProps]);var SubmitButton=React.useMemo(function(){if(resetButtonProps===false){return null}var _$props=_object_spread_props(_object_spread({type:"primary",size:size,loading:submitLoading},submitButtonProps),{onClick:handleSubmitClick});return React.createElement(Button,_object_spread({key:"submit"},_$props),confirmText!==null&&confirmText!==void 0?confirmText:messages.form.submit)},[confirmText,submitButtonProps,handleSubmitClick]);var currentRender=React.useCallback(function(){if(render===false){return null}if(render){return render(_object_spread_props(_object_spread({},props),{submit:handleSubmitClick,reset:handleCancelClick}),[ResetButton,SubmitButton].filter(Boolean))}return[ResetButton,SubmitButton]},[ResetButton,SubmitButton]);return React.createElement(Flex,{justify:submitterPosition,align:"center",gap:8},currentRender())};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{VlianTable}from"./table.tsx";
|
|
@@ -0,0 +1,5 @@
|
|
|
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;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function _array_like_to_array(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _array_with_holes(arr){if(Array.isArray(arr))return arr}function _array_without_holes(arr){if(Array.isArray(arr))return _array_like_to_array(arr)}function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value}catch(error){reject(error);return}if(info.done){resolve(value)}else{Promise.resolve(value).then(_next,_throw)}}function _async_to_generator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value)}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err)}_next(undefined)})}}function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _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);
|
|
@@ -0,0 +1,7 @@
|
|
|
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;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}import{genStyleHooks}from"antd/es/theme/internal";export var genBaseStyle=function(token){var componentCls=token.componentCls;return _define_property({},componentCls,{backgroundColor:token.colorBgContainer,padding:token.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);
|
|
@@ -0,0 +1,3 @@
|
|
|
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>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function _array_like_to_array(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _array_with_holes(arr){if(Array.isArray(arr))return arr}function 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)))))};
|
|
@@ -0,0 +1,121 @@
|
|
|
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
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./update.tsx";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export*from"./update.tsx";
|
|
@@ -0,0 +1,3 @@
|
|
|
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;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value}catch(error){reject(error);return}if(info.done){resolve(value)}else{Promise.resolve(value).then(_next,_throw)}}function _async_to_generator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value)}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err)}_next(undefined)})}}function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})}keys.push.apply(keys,symbols)}return keys}function _object_spread_props(target,source){source=source!=null?source:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}function _object_without_properties(source,excluded){if(source==null)return{};var target=_object_without_properties_loose(source,excluded);var key,i;if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceSymbolKeys.length;i++){key=sourceSymbolKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}}return target}function _object_without_properties_loose(source,excluded){if(source==null)return{};var target={};var sourceKeys=Object.keys(source);var key,i;for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;target[key]=source[key]}return target}function _ts_generator(thisArg,body){var f,y,t,_={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},g=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return g.next=verb(0),g["throw"]=verb(1),g["return"]=verb(2),typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(g&&(g=0,op[0]&&(_=0)),_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]<t[3])){_.label=op[1];break}if(op[0]===6&&_.label<t[1]){_.label=t[1];t=op;break}if(t&&_.label<t[2]){_.label=t[2];_.ops.push(op);break}if(t[2])_.ops.pop();_.trys.pop();continue}op=body.call(thisArg,_)}catch(e){op=[6,e];y=0}finally{f=t=0}if(op[0]&5)throw op[1];return{value:op[0]?op[1]:void 0,done:true}}}import React,{useContext}from"react";import{ProForm,BetaSchemaForm}from"@ant-design/pro-components";import{VlianTableContext}from"../context.ts";import{Card}from"../../Card";import{Button}from"../../Button";import{useLocale}from"../../locale";import{useNavigate}from"react-router-dom";import{useRequest}from"ahooks";import{isNumeric}from"../../library";export var UpdateView=function(props){var messages=useLocale().messages;var navigate=useNavigate();var title=props.title,_props_columns=props.columns,columns=_props_columns===void 0?[]:_props_columns,children=props.children,footer=props.footer,detail=props.detail,_props_initialValues=props.initialValues,initialValues=_props_initialValues===void 0?{}:_props_initialValues,width=props.width,onUpdate=props.onUpdate,onUpdateSubmitBefore=props.onUpdateSubmitBefore,onUpdateSubmitAfter=props.onUpdateSubmitAfter,rest=_object_without_properties(props,["title","columns","children","footer","detail","initialValues","width","onUpdate","onUpdateSubmitBefore","onUpdateSubmitAfter"]);var context=useContext(VlianTableContext);var _context_mode=context.mode,mode=_context_mode===void 0?"modal":_context_mode,baseUrl=context.baseUrl,currentRecord=context.currentRecord,currentIndex=context.currentIndex,closePopup=context.closePopup;var _useRequest=useRequest(function(){return _async_to_generator(function(){var record;return _ts_generator(this,function(_state){switch(_state.label){case 0:if(currentIndex===-1||!currentRecord||Object.keys(currentRecord).length===0){throw new Error("列表记录传参错误")}record=currentRecord;if(!detail)return[3,2];return[4,detail(currentRecord,currentIndex)];case 1:record=_state.sent();_state.label=2;case 2:return[2,record]}})})()},{refreshDeps:[currentRecord],ready:!!currentRecord}),data=_useRequest.data,loading=_useRequest.loading;var onFinish=function(values){return _async_to_generator(function(){var res,res1,e;return _ts_generator(this,function(_state){switch(_state.label){case 0:_state.trys.push([0,5,,6]);if(!onUpdateSubmitBefore)return[3,2];return[4,onUpdateSubmitBefore(values)];case 1:res=_state.sent();if(!res){return[2,false]}_state.label=2;case 2:if(!onUpdate)return[3,4];return[4,onUpdate(values)];case 3:res1=_state.sent();if(!res1){return[2,false]}onUpdateSubmitAfter===null||onUpdateSubmitAfter===void 0?void 0:onUpdateSubmitAfter(res1,values);navigate("".concat(baseUrl,"/"));_state.label=4;case 4:return[2,true];case 5:e=_state.sent();return[2,false];case 6:return[2]}})})()};var ContainerComponent=mode==="router"?Card:Card;var ContainerProps=mode==="router"?{title:title,variant:"borderless",extra:React.createElement(Button,{onClick:function(){return _async_to_generator(function(){return _ts_generator(this,function(_state){switch(_state.label){case 0:return[4,closePopup===null||closePopup===void 0?void 0:closePopup()];case 1:_state.sent();navigate("".concat(baseUrl,"/"));return[2]}})})()}},messages.table.backText),fixedHeader:true,style:{height:"100%"},styles:{body:{padding:"10px",width:width?isNumeric(width)?"".concat(width,"px"):width:"100%",margin:"0 auto"},header:{padding:"10px",minHeight:"46px"}}}:{fixedHeader:true,style:{height:"100%"},styles:{body:{padding:"10px"}}};return React.createElement(React.Fragment,null,React.createElement(ContainerComponent,_object_spread({loading:loading},ContainerProps),React.createElement(ProForm,_object_spread_props(_object_spread({submitter:false},rest),{onFinish:onFinish,initialValues:_object_spread({},initialValues,data)}),children?children:React.createElement(BetaSchemaForm,{layoutType:"Embed",columns:columns})),footer))};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function _array_like_to_array(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _array_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 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 _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*as React from"react";import{useLocale}from"../../locale";import{ProForm}from"../../Form";var ProTableSearch=function(props){var _props_layoutType=props.layoutType,layoutType=_props_layoutType===void 0?"Form":_props_layoutType,_props_columns=props.columns,columns=_props_columns===void 0?[]:_props_columns,_props_labelWidth=props.labelWidth,labelWidth=_props_labelWidth===void 0?"auto":_props_labelWidth,labelCol=props.labelCol,submitter=props.submitter,onFinish=props.onFinish,onReset=props.onReset;var messages=useLocale().messages;var currentSubmitter=React.useMemo(function(){if(submitter===false){return submitter}var _ref=submitter!==null&&submitter!==void 0?submitter:{},render=_ref.render,searchConfig=_ref.searchConfig,rest=_object_without_properties(_ref,["render","searchConfig"]);return _object_spread_props(_object_spread({},rest),{searchConfig:{submitText:(searchConfig===null||searchConfig===void 0?void 0:searchConfig.submitText)?searchConfig===null||searchConfig===void 0?void 0:searchConfig.submitText:messages.form.query,resetText:(searchConfig===null||searchConfig===void 0?void 0:searchConfig.resetText)?searchConfig===null||searchConfig===void 0?void 0:searchConfig.resetText:messages.form.reset},render:render===false?false:function(props,doms){var dom=_to_consumable_array(doms.reverse());return render?render(props,dom):dom}})},[submitter]);var currentLabelCol=React.useMemo(function(){if(layoutType==="QueryFilter"){return{labelWidth:labelWidth}}return _object_spread({flex:labelWidth},labelCol)},[labelWidth,labelCol]);if(columns.length===0){return null}return React.createElement(ProForm,_object_spread({layout:"inline",layoutType:layoutType,columns:columns,submitter:currentSubmitter,onFinish:onFinish,onReset:onReset},currentLabelCol))};export default ProTableSearch;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export*from"./types";export*from"./table";
|
|
@@ -0,0 +1,7 @@
|
|
|
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;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}import{genStyleHooks}from"antd/es/theme/internal";export var genBaseStyle=function(token){var componentCls=token.componentCls;return _define_property({},componentCls,{backgroundColor:token.colorBgContainer,"&&":{padding:token.paddingSM},".ant-pro-query-filter.ant-pro-query-filter":{padding:0}})};export var genListStyle=function(token){var componentCls=token.componentCls;return _define_property({},"".concat(componentCls,"-list"),{})};export var prepareComponentToken=function(){return{}};export default genStyleHooks("VlianTable",function(token){return[genBaseStyle(token),genListStyle(token)]},prepareComponentToken);
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import type { ProTableProps } from "./types";
|
|
2
|
+
export declare const ProTable: <DataSource extends Record<string, any> = Record<string, any>, ParamsType extends Record<string, any> = Record<string, any>, ValueType = "text">(props: ProTableProps<DataSource, ParamsType, ValueType>) => any;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import React from"react";import{useCommonStyles}from"../hooks";import useStyle from"./styles";import{Flex}from"antd";import classNames from"classnames";import ProTableSearch from"./components/search";export var ProTable=function(props){var _useCommonStyles=useCommonStyles("pro-table",props,useStyle),prefixCls=_useCommonStyles.prefixCls,cssVarCls=_useCommonStyles.cssVarCls,wrapCSS=_useCommonStyles.wrapCSS;return wrapCSS(React.createElement(Flex,{vertical:true,gap:8,className:classNames(prefixCls,cssVarCls)},React.createElement(ProTableSearch,null)))};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import type { SizeType } from "antd/es/config-provider/SizeContext";
|
|
3
|
+
import { type ProTableProps as AntdProTableProps } from "@ant-design/pro-components";
|
|
4
|
+
import type { FormSchema } from "@ant-design/pro-form/es/components/SchemaForm/typing";
|
|
5
|
+
/**
|
|
6
|
+
* 搜索表单类型
|
|
7
|
+
*/
|
|
8
|
+
export type SearchType = Extract<FormSchema["layoutType"], "QueryFilter" | "Form">;
|
|
9
|
+
/**
|
|
10
|
+
* 公共属性
|
|
11
|
+
*/
|
|
12
|
+
export type ProTableProps<DataSource = Record<string, any>, ParamsType = Record<string, any>, ValueType = "text"> = AntdProTableProps<DataSource, ParamsType, ValueType> & {
|
|
13
|
+
prefixCls?: string;
|
|
14
|
+
className?: string;
|
|
15
|
+
style?: React.CSSProperties;
|
|
16
|
+
size?: SizeType;
|
|
17
|
+
tableKey?: string;
|
|
18
|
+
/**
|
|
19
|
+
* @description 搜索表单类型
|
|
20
|
+
* @default QueryFilter
|
|
21
|
+
*/
|
|
22
|
+
searchType?: SearchType;
|
|
23
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export*from"./search";export*from"./list";
|
|
@@ -0,0 +1,19 @@
|
|
|
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>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function _array_like_to_array(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _array_with_holes(arr){if(Array.isArray(arr))return arr}function 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))))};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function _array_like_to_array(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _array_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)))};
|
|
@@ -0,0 +1,3 @@
|
|
|
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>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function _array_like_to_array(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _array_with_holes(arr){if(Array.isArray(arr))return arr}function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _iterable_to_array_limit(arr,i){var _i=arr==null?null:typeof Symbol!=="undefined"&&arr[Symbol.iterator]||arr["@@iterator"];if(_i==null)return;var _arr=[];var _n=true;var _d=false;var _s,_e;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&&_i["return"]!=null)_i["return"]()}finally{if(_d)throw _e}}return _arr}function _non_iterable_rest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})}keys.push.apply(keys,symbols)}return keys}function _object_spread_props(target,source){source=source!=null?source:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}function _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}}))})))))};
|
|
@@ -0,0 +1,13 @@
|
|
|
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>;
|
|
@@ -0,0 +1 @@
|
|
|
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}});
|
|
@@ -0,0 +1,72 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{};
|