@flatbiz/antd 4.2.1 → 4.2.2

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.
@@ -6,5 +6,5 @@ import './../simple-layout/index.css';
6
6
  import './../fba-hooks/index.css';
7
7
  import './index.css';
8
8
  /*! @flatjs/forge MIT @flatbiz/antd */
9
- import{a as e}from"../attach-properties-to-component-9d9644cf.js";import{isArray as t}from"@dimjs/lang/cjs/is-array";import{hooks as r}from"@wove/react/cjs/hooks";import{a as i,_ as n}from"../_rollupPluginBabelHelpers-1f4d8910.js";import{cloneState as o}from"@dimjs/model";import{Form as a,message as u,Table as s}from"antd";import{forwardRef as l,useState as c,useImperativeHandle as d,Children as f,useMemo as m}from"react";import{createCtx as p}from"@wove/react/cjs/create-ctx";import{Model as v}from"@dimjs/model-react";import{jsx as g,jsxs as h}from"react/jsx-runtime";import{B as y}from"../button-wrapper-9bef2281.js";import{FormGrid as C}from"../form-grid/index.js";import{S}from"../simple-layout-1676e586.js";import{isUndefinedOrNull as q,getUuid as F}from"@flatbiz/utils";import{fbaHooks as j}from"../fba-hooks/index.js";import"@dimjs/lang/cjs/is-promise";import"../fba-utils-a4c7d94d.js";import"@dimjs/utils/cjs/class-names";import"../use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/extend";var z=p(),P=z[0],R=z[1];var b={queryCondition:{},isInit:true};var w={actions:{updateFilterCondition:function e(t){return function(e){e.queryCondition=i({},e.queryCondition,t)}},resetFilterCondition:function e(){return function(e){e.queryCondition=b.queryCondition}},updateInitStatus:function e(){return function(e){e.isInit=false}}},state:b};var N={};var V=function e(t){if(!N[t]){N[t]=v(w)}return N[t]};var x=l((function(e,n){var s;var l=c([]),f=l[0],m=l[1];var p=c(0),v=p[0],h=p[1];var y=c(false),C=y[0],S=y[1];var q=V(e.modelKey).useStore(),F=q[0],j=q[1];var z=e.pageSize||((s=e.initialPaginationParams)==null?void 0:s.pageSize)||10;var P=e.initRequest===undefined?true:e.initRequest;var b=c(false),w=b[0],N=b[1];var x=i({list:"list",total:"tatal",pageNo:"pageNo",pageSize:"pageSize"},e.fieldNames);var K=a.useForm(),k=K[0];var I=r.useCallbackRef((function(r){return new Promise((function(i,n){var a,s,l,c,d,f,p,v,g,y;var C=function(){try{return i()}catch(e){return n(e)}};var q=function(e){try{S(false);void u.error(e.message);return C()}catch(e){return n(e)}};try{S(true);return Promise.resolve(j.updateFilterCondition(r)).then((function(r){try{a=r;s=o(a.queryCondition||{});l=e.serviceConfig,c=l.requestParamsAdapter,d=l.onRequest,f=l.requestResultAdapter;p=c?c(s):s;return Promise.resolve(d(p)).then((function(r){try{v=r||{};e.onDataSourceChange==null?void 0:e.onDataSourceChange(v);g=f?f(v):v;y=g[x.list];m(t(y)?y:[]);h(g[x.total]);S(false);return C()}catch(e){return q(e)}}),q)}catch(e){return q(e)}}),q)}catch(e){q(e)}}))}));var T=r.useCallbackRef((function(e){return new Promise((function(t,r){return Promise.resolve(j.resetFilterCondition()).then((function(i){try{k.resetFields();if(e){void j.updateFilterCondition(e);k.setFieldsValue(e)}return t()}catch(e){return r(e)}}),r)}))}));var A=r.useCallbackRef((function(t){return new Promise((function(r,n){var o;return Promise.resolve(j.resetFilterCondition()).then((function(a){try{k.resetFields();if(w){void I(i((o={},o[x.pageNo]=1,o[x.pageSize]=z,o),e.initialValues,t))}else{void I(i({},e.initialValues,t))}return r()}catch(e){return n(e)}}),n)}))}));var B=function e(){return i({},F.queryCondition,k.getFieldsValue())};d(n,(function(){return{onRequest:I,clearQueryCondition:T,getRequestParams:B,onResetRequest:A,form:k}}));var L=function e(t){N(t)};var D=function t(){var r=k.getFieldsValue();if(e.onFormFinish){e.onFormFinish(r)}else{if(w){var n;void I(i({},r,(n={},n[x.pageNo]=1,n[x.pageSize]=F.queryCondition.pageSize,n)))}else{void I(r)}}};return g(R,{value:{modelKey:e.modelKey,onRequest:I,tableList:f,tableTotal:v,loading:C,fieldNames:x,pageSize:z,initRequest:P,initialValues:e.initialValues||{},onSetPaginationStatus:L,paginationStatus:w},children:g(a,{form:k,onFinish:D,initialValues:i({},e.initialValues,F.queryCondition),children:e.children})})}));var K=function e(t){var n=a.useFormInstance();var o=t.queryButtonProps,u=t.resetButtonProps,s=t.filterOperate;var l=typeof t.children==="function"?t.children(n):t.children;var c=f.toArray(l);var d=P(),m=d.modelKey,p=d.fieldNames,v=d.onRequest,h=d.pageSize,q=d.paginationStatus,F=d.initialValues;var j=V(m).useStore(),z=j[1];var R=r.useCallbackRef((function(){return new Promise((function(e,t){var r;return Promise.resolve(z.resetFilterCondition()).then((function(o){try{n.resetFields();if(q){v(i((r={},r[p.pageNo]=1,r[p.pageSiz]=h,r),F))}else{v(F)}return e()}catch(e){return t(e)}}),t)}))}));var b=i({rightList:[!(o!=null&&o.hidden)?g(y,i({type:"primary",htmlType:"submit"},o,{children:(o==null?void 0:o.text)||"查询"}),"1"):null,!(u!=null&&u.hidden)?g(y,i({onClick:R},u,{children:(u==null?void 0:u.text)||"重置"}),"2"):null]},s==null?void 0:s(n));if(t.isPure){return g(S,{children:l})}var w=c.map((function(e,t){if(e.type["domTypeName"]==="FormCol"){return e}return g(C.Col,{children:e},t)})).concat(g(C.OperateCol,i({},b),99));return g(S,{children:g(C.Row,{gutter:[15,0],children:w})})};var k=["children","rowKey","pagination"];var I=function e(t){var r=t.children,o=t.rowKey,a=t.pagination,u=n(t,k);var l=P(),c=l.modelKey,d=l.fieldNames,f=l.onRequest,p=l.tableList,v=l.initRequest,y=l.pageSize,C=l.tableTotal,z=l.loading,R=l.initialValues,b=l.onSetPaginationStatus;var w=V(c).useStore(),N=w[0],x=w[1];var K=a==false?false:i({showSizeChanger:true,current:N.queryCondition[d.pageNo],pageSize:N.queryCondition[d.pageSize],total:C,showTotal:function e(t){return"共 "+t+" 条记录"}},t.pagination);var I=function e(r){if(K){var i;f((i={},i[d.pageSize]=r.pageSize,i[d.pageNo]=r.current,i))}for(var n=arguments.length,o=new Array(n>1?n-1:0),a=1;a<n;a++){o[a-1]=arguments[a]}t.onChange==null?void 0:t.onChange.apply(t,[r].concat(o))};var T=m((function(){if(p.length===0){return[]}if(q(p[0][o])){return p.map((function(e){e[o]=F();return e}))}return p}),[p,o]);j.useEffectCustom((function(){b(K!==false);if(v!==false||!N.isInit){if(K){var e;void f(i((e={},e[d.pageNo]=1,e[d.pageSize]=y,e),R))}else{void f(R)}}else{void x.updateFilterCondition(R)}void x.updateInitStatus()}),[]);return h(S,{children:[r?g(S,{children:r}):null,g(s,i({size:"small",scroll:{x:"max-content"},bordered:true},u,{pagination:K,rowKey:o,onChange:I,loading:z,dataSource:T}))]})};var T=e(x,{Filter:K,Table:I});export{T as EasyTable};
9
+ import{a as e}from"../attach-properties-to-component-9d9644cf.js";import{isArray as t}from"@dimjs/lang/cjs/is-array";import{hooks as r}from"@wove/react/cjs/hooks";import{a as i,_ as n}from"../_rollupPluginBabelHelpers-1f4d8910.js";import{cloneState as o}from"@dimjs/model";import{Form as a,message as u,Table as s}from"antd";import{forwardRef as l,useState as c,useImperativeHandle as f,Children as d,useMemo as m,useRef as p}from"react";import{createCtx as v}from"@wove/react/cjs/create-ctx";import{Model as g}from"@dimjs/model-react";import{jsx as h,jsxs as y}from"react/jsx-runtime";import{B as C}from"../button-wrapper-9bef2281.js";import{FormGrid as S}from"../form-grid/index.js";import{S as q}from"../simple-layout-1676e586.js";import{isUndefinedOrNull as F,getUuid as R}from"@flatbiz/utils";import{fbaHooks as j}from"../fba-hooks/index.js";import"@dimjs/lang/cjs/is-promise";import"../fba-utils-a4c7d94d.js";import"@dimjs/utils/cjs/class-names";import"../use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/extend";var P=v(),b=P[0],z=P[1];var w={queryCondition:{},isInit:true};var N={actions:{updateFilterCondition:function e(t){return function(e){e.queryCondition=i({},e.queryCondition,t)}},resetFilterCondition:function e(){return function(e){e.queryCondition=w.queryCondition}},updateInitStatus:function e(){return function(e){e.isInit=false}}},state:w};var x={};var V=function e(t){if(!x[t]){x[t]=g(N)}return x[t]};var T=l((function(e,n){var s;var l=c([]),d=l[0],m=l[1];var p=c(0),v=p[0],g=p[1];var y=c(false),C=y[0],S=y[1];var q=V(e.modelKey).useStore(),F=q[0],R=q[1];var j=e.pageSize||((s=e.initialPaginationParams)==null?void 0:s.pageSize)||10;var P=e.initRequest===undefined?true:e.initRequest;var b=c(false),w=b[0],N=b[1];var x=i({list:"list",total:"tatal",pageNo:"pageNo",pageSize:"pageSize"},e.fieldNames);var T=a.useForm(),K=T[0];var k=r.useCallbackRef((function(r){return new Promise((function(i,n){var a,s,l,c,f,d,p,v,h,y;var C=function(){try{return i()}catch(e){return n(e)}};var q=function(e){try{S(false);void u.error(e.message);return C()}catch(e){return n(e)}};try{S(true);return Promise.resolve(R.updateFilterCondition(r)).then((function(r){try{a=r;s=o(a.queryCondition||{});l=e.serviceConfig,c=l.requestParamsAdapter,f=l.onRequest,d=l.requestResultAdapter;p=c?c(s):s;return Promise.resolve(f(p)).then((function(r){try{v=r||{};e.onDataSourceChange==null?void 0:e.onDataSourceChange(v);h=d?d(v):v;y=h[x.list];m(t(y)?y:[]);g(h[x.total]);S(false);return C()}catch(e){return q(e)}}),q)}catch(e){return q(e)}}),q)}catch(e){q(e)}}))}));var I=r.useCallbackRef((function(e){return new Promise((function(t,r){return Promise.resolve(R.resetFilterCondition()).then((function(i){try{K.resetFields();if(e){void R.updateFilterCondition(e);K.setFieldsValue(e)}return t()}catch(e){return r(e)}}),r)}))}));var A=r.useCallbackRef((function(t){return new Promise((function(r,n){var o;return Promise.resolve(R.resetFilterCondition()).then((function(a){try{K.resetFields();if(w){void k(i((o={},o[x.pageNo]=1,o[x.pageSize]=j,o),e.initialValues,t))}else{void k(i({},e.initialValues,t))}return r()}catch(e){return n(e)}}),n)}))}));var B=function e(){return i({},F.queryCondition,K.getFieldsValue())};f(n,(function(){return{onRequest:k,clearQueryCondition:I,getRequestParams:B,onResetRequest:A,form:K}}));var E=function e(){return{onRequest:k,clearQueryCondition:I,getRequestParams:B,onResetRequest:A,form:K}};var L=function e(t){N(t)};var D=function t(){var r=K.getFieldsValue();if(e.onFormFinish){e.onFormFinish(r)}else{if(w){var n;void k(i({},r,(n={},n[x.pageNo]=1,n[x.pageSize]=F.queryCondition.pageSize,n)))}else{void k(r)}}};return h(z,{value:{getEasyTableRef:E,modelKey:e.modelKey,onRequest:k,tableList:d,tableTotal:v,loading:C,fieldNames:x,pageSize:j,initRequest:P,initialValues:e.initialValues||{},onSetPaginationStatus:L,paginationStatus:w,onFormFinish:D,form:K},children:e.children})}));var K=function e(t){var n=t.queryButtonProps,o=t.resetButtonProps,u=t.filterOperate;var s=b(),l=s.modelKey,c=s.fieldNames,f=s.onRequest,m=s.pageSize,p=s.paginationStatus,v=s.initialValues,g=s.form,y=s.onFormFinish;var F=typeof t.children==="function"?t.children(g):t.children;var R=d.toArray(F);var j=V(l).useStore(),P=j[0],z=j[1];var w=r.useCallbackRef((function(){return new Promise((function(e,t){var r;return Promise.resolve(z.resetFilterCondition()).then((function(n){try{g.resetFields();if(p){f(i((r={},r[c.pageNo]=1,r[c.pageSiz]=m,r),v))}else{f(v)}return e()}catch(e){return t(e)}}),t)}))}));var N=i({rightList:[!(n!=null&&n.hidden)?h(C,i({type:"primary",htmlType:"submit"},n,{children:(n==null?void 0:n.text)||"查询"}),"1"):null,!(o!=null&&o.hidden)?h(C,i({onClick:w},o,{children:(o==null?void 0:o.text)||"重置"}),"2"):null]},u==null?void 0:u(g));var x=R.map((function(e,t){if(e.type["domTypeName"]==="FormCol"){return e}return h(S.Col,{children:e},t)})).concat(h(S.OperateCol,i({},N),99));return h(q,{children:h(a,{form:g,onFinish:y,initialValues:i({},v,P.queryCondition),children:t.isPure?F:h(S.Row,{gutter:[15,0],children:x})})})};var k=["children","rowKey","pagination"];var I=function e(t){var r=t.children,o=t.rowKey,a=t.pagination,u=n(t,k);var l=b(),c=l.modelKey,f=l.fieldNames,d=l.onRequest,p=l.tableList,v=l.initRequest,g=l.pageSize,C=l.tableTotal,S=l.loading,P=l.initialValues,z=l.onSetPaginationStatus;var w=V(c).useStore(),N=w[0],x=w[1];var T=a==false?false:i({showSizeChanger:true,current:N.queryCondition[f.pageNo],pageSize:N.queryCondition[f.pageSize],total:C,showTotal:function e(t){return"共 "+t+" 条记录"}},t.pagination);var K=function e(r){if(T){var i;d((i={},i[f.pageSize]=r.pageSize,i[f.pageNo]=r.current,i))}for(var n=arguments.length,o=new Array(n>1?n-1:0),a=1;a<n;a++){o[a-1]=arguments[a]}t.onChange==null?void 0:t.onChange.apply(t,[r].concat(o))};var I=m((function(){if(p.length===0){return[]}if(F(p[0][o])){return p.map((function(e){e[o]=R();return e}))}return p}),[p,o]);j.useEffectCustom((function(){z(T!==false);if(v!==false||!N.isInit){if(T){var e;void d(i((e={},e[f.pageNo]=1,e[f.pageSize]=g,e),P))}else{void d(P)}}else{void x.updateFilterCondition(P)}void x.updateInitStatus()}),[]);return y(q,{children:[r,h(s,i({size:"small",scroll:{x:"max-content"},bordered:true},u,{pagination:T,rowKey:o,onChange:K,loading:S,dataSource:I}))]})};var A=function e(){var t=b(),r=t.getEasyTableRef;var i=p(r());return i};var B=e(T,{Filter:K,Table:I,useEasyTablRef:A});export{B as EasyTable};
10
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/easy-table/context.ts","@flatbiz/antd/src/easy-table/model.ts","@flatbiz/antd/src/easy-table/easy-table.tsx","@flatbiz/antd/src/easy-table/filter.tsx","@flatbiz/antd/src/easy-table/table.tsx","@flatbiz/antd/src/easy-table/index.ts"],"sourcesContent":["import { TPlainObject } from '@flatbiz/utils';\nimport { createCtx } from '@wove/react';\n\nexport const [useEasyTableCtx, EasyTableCtxProvider] = createCtx<{\n modelKey: string;\n onRequest: (params?: TPlainObject) => void;\n tableList: TPlainObject[];\n tableTotal: number;\n loading?: boolean;\n fieldNames: TPlainObject;\n pageSize: number;\n initRequest: boolean;\n initialValues: TPlainObject;\n onSetPaginationStatus: (status: boolean) => void;\n paginationStatus: boolean;\n}>();\n","import { API, ModelType } from '@dimjs/model';\nimport { Model } from '@dimjs/model-react';\nimport { TAny, TPlainObject } from '@flatbiz/utils';\n\nexport type ModelState = {\n queryCondition: TPlainObject;\n isInit: boolean;\n};\n\ntype ModelActionParams = {\n updateFilterCondition?: Partial<ModelState['queryCondition']>;\n resetFilterCondition: void;\n updateInitStatus: void;\n};\n\nconst defaultState: ModelState = {\n queryCondition: {},\n isInit: true,\n};\n\nconst _EasyTableModel: ModelType<ModelState, ModelActionParams> = {\n actions: {\n updateFilterCondition: (params) => {\n return (state) => {\n state.queryCondition = {\n ...state.queryCondition,\n ...params,\n };\n };\n },\n resetFilterCondition: () => {\n return (state) => {\n state.queryCondition = defaultState.queryCondition;\n };\n },\n updateInitStatus: () => {\n return (state) => {\n state.isInit = false;\n };\n },\n },\n state: defaultState,\n};\n\nconst easyTableModels: Record<string, API<ModelType<ModelState, ModelActionParams, TAny>>> = {};\n\n/**\n * ```\n * 使用方式\n * const [state, actions] = selectorWrapperModel('key值').useStore();\n * ```\n */\nexport const easyTableModel = (key: string) => {\n if (!easyTableModels[key]) {\n easyTableModels[key] = Model(_EasyTableModel);\n }\n return easyTableModels[key];\n};\n","import { isArray } from '@dimjs/lang';\nimport { cloneState } from '@dimjs/model';\nimport { TAny, TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Form, FormInstance, message } from 'antd';\nimport { forwardRef, ReactElement, useImperativeHandle, useState } from 'react';\nimport { EasyTableCtxProvider } from './context';\nimport { easyTableModel } from './model';\n\ntype EasyTableServiceConfig = {\n /** 接口配置 */\n onRequest: (params?: TPlainObject) => Promise<TPlainObject | TPlainObject[]>;\n /** 请求参数处理 */\n requestParamsAdapter?: (params: TPlainObject) => TPlainObject;\n /**\n * 接口相应数据处理\n * @param params\n * ```\n * 返回数据为对象,包含两个字段\n * 1. 表格列表数据 - Array\n * 2. 表格条数总数 - Number\n * 其中 字段key 命名会通过 fieldNames 进行转义\n * ```\n */\n requestResultAdapter?: (params: TAny) => TPlainObject;\n};\n\nexport type EasyTableRefApi = {\n /** 外部发起请求服务 */\n onRequest: (params?: TPlainObject) => void;\n /** 获取请求参数 */\n getRequestParams: () => TPlainObject;\n /** 清楚查询条件 */\n clearQueryCondition: (values?: TPlainObject) => Promise<void>;\n form: FormInstance;\n /** 重置请求 */\n onResetRequest: (params?: TPlainObject) => void;\n};\n\nexport type EasyTableProps = {\n children: ReactElement | ReactElement[];\n modelKey: string;\n /** 接口数据配置 */\n serviceConfig: EasyTableServiceConfig;\n /**\n * 1. 查询条件Form initialValues\n * 2. 接口其他参数,例如常量类型\n */\n initialValues?: TPlainObject;\n /**\n * 分页初始化参数,默认值: pageSiz = 10\n * @deprecated 使用 pageSize 赋值\n */\n initialPaginationParams?: { pageSize?: number };\n /** 分页单页条数,默认值:10 */\n pageSize?: number;\n /** 字段映射 */\n fieldNames?: { list?: string; total?: string; pageNo?: string; pageSize?: string; uid?: string };\n /** 初始化是否请求,默认值:true */\n initRequest?: boolean;\n onDataSourceChange?: (dataSource: TAny) => void;\n /** 如果自定义查询按钮,可设置 Form onFinish */\n onFormFinish?: (values?: TPlainObject) => void;\n};\n\n/**\n * 对 查询条件+表格数据 进行深度封装,内置数据交互处理\n * ```\n * 1. 需要获取查询条件、主动发起请求等可通过ref操作\n * 2. 可通过属性 initRequest 设置初始化是否请求数据\n * 3. 可通过属性 fieldNames 来设置自定义变量,默认值为:list、total、pageNo、pageSize\n *\n * Demo https://fex.qa.tcshuke.com/docs/admin/main/crud/easy-table\n * ```\n */\nexport const EasyTable = forwardRef<EasyTableRefApi, EasyTableProps>((props: EasyTableProps, ref) => {\n const [dataSource, setDataSource] = useState<TPlainObject[]>([]);\n const [total, setTotal] = useState<number>(0);\n const [loading, setLoading] = useState<boolean>(false);\n const [state, actions] = easyTableModel(props.modelKey).useStore();\n const pageSize = props.pageSize || props.initialPaginationParams?.pageSize || 10;\n const initRequest = props.initRequest === undefined ? true : props.initRequest;\n const [paginationStatus, setPaginationStatus] = useState(false);\n\n const fieldNames = {\n list: 'list',\n total: 'tatal',\n pageNo: 'pageNo',\n pageSize: 'pageSize',\n ...props.fieldNames,\n };\n\n const [form] = Form.useForm();\n\n const onRequest = hooks.useCallbackRef(async (params) => {\n try {\n setLoading(true);\n const allState = await actions.updateFilterCondition(params);\n const queryCondition = cloneState(allState.queryCondition || {});\n const { requestParamsAdapter, onRequest, requestResultAdapter } = props.serviceConfig;\n const paramsNew = requestParamsAdapter ? requestParamsAdapter(queryCondition) : queryCondition;\n const respData = (await onRequest(paramsNew)) || {};\n props.onDataSourceChange?.(respData);\n const respDataNew = requestResultAdapter ? requestResultAdapter(respData) : respData;\n const respList = respDataNew[fieldNames.list];\n setDataSource(isArray(respList) ? respList : []);\n setTotal(respDataNew[fieldNames.total]);\n setLoading(false);\n } catch (error) {\n setLoading(false);\n void message.error(error.message);\n }\n });\n\n const clearQueryCondition = hooks.useCallbackRef(async (values?: TPlainObject) => {\n await actions.resetFilterCondition();\n form.resetFields();\n if (values) {\n void actions.updateFilterCondition(values);\n form.setFieldsValue(values);\n }\n });\n const onResetRequest = hooks.useCallbackRef(async (values?: TPlainObject) => {\n await actions.resetFilterCondition();\n form.resetFields();\n if (paginationStatus) {\n void onRequest({\n [fieldNames.pageNo]: 1,\n [fieldNames.pageSize]: pageSize,\n ...props.initialValues,\n ...values,\n });\n } else {\n void onRequest({\n ...props.initialValues,\n ...values,\n });\n }\n });\n\n const getRequestParams = () => {\n return {\n ...state.queryCondition,\n ...form.getFieldsValue(),\n };\n };\n\n useImperativeHandle(ref, () => {\n return {\n onRequest: onRequest,\n clearQueryCondition,\n getRequestParams,\n onResetRequest,\n form,\n };\n });\n\n const onSetPaginationStatus = (status: boolean) => {\n setPaginationStatus(status);\n };\n\n const onFormFinish = () => {\n const values = form.getFieldsValue();\n if (props.onFormFinish) {\n props.onFormFinish(values);\n } else {\n if (paginationStatus) {\n void onRequest({\n ...values,\n [fieldNames.pageNo]: 1,\n [fieldNames.pageSize]: state.queryCondition.pageSize,\n });\n } else {\n void onRequest(values);\n }\n }\n };\n\n return (\n <EasyTableCtxProvider\n value={{\n modelKey: props.modelKey,\n onRequest,\n tableList: dataSource,\n tableTotal: total,\n loading,\n fieldNames,\n pageSize,\n initRequest,\n initialValues: props.initialValues || {},\n onSetPaginationStatus,\n paginationStatus,\n }}\n >\n <Form\n form={form}\n onFinish={onFormFinish}\n initialValues={{\n ...props.initialValues,\n ...state.queryCondition,\n }}\n >\n {props.children}\n </Form>\n </EasyTableCtxProvider>\n );\n});\n","import { hooks } from '@wove/react';\nimport { ButtonProps, Form, FormInstance } from 'antd';\nimport { Children, ReactElement } from 'react';\nimport { ButtonWrapper } from '../button-wrapper';\nimport { FormGrid } from '../form-grid';\nimport { FormOperateColProps } from '../form-grid/form-operate-col';\nimport { SimpleLayout } from '../simple-layout';\nimport { useEasyTableCtx } from './context';\nimport { easyTableModel } from './model';\n\nexport type EasyTableFilterProps = {\n children: ReactElement | ReactElement[] | ((form: FormInstance) => ReactElement);\n /** isPure = true时无效 */\n filterOperate?: (form: FormInstance) => FormOperateColProps;\n /** 是否为纯净模式(查询条件布局是否自定义), */\n isPure?: boolean;\n // 查询按钮配置\n queryButtonProps?: Omit<ButtonProps, 'onClick'> & { text?: string };\n // 重置按钮配置\n resetButtonProps?: Omit<ButtonProps, 'onClick'> & { text?: string };\n};\n\n/**\n * 过滤条件\n * @param props\n * @returns\n *\n *```\n *1. 用法1\n * -- 默认网格布局 规则:{ xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 }\n * <EasyTableFilter>\n * <Form.Item name=\"field1\" label=\"条件1\">xxx</Form.Item>\n * </EasyTableFilter>\n *\n * -- 自定义网格布局 使用 FormCol组件包装 Form.Item\n * <EasyTableFilter>\n * <FormCol span={12}><Form.Item name=\"field1\" label=\"条件1\">xxx</Form.Item></FormCol>\n * </EasyTableFilter>\n *\n * -- children 可为 function\n * <EasyTableFilter>\n * {(form) => {\n * return <Form.Item name=\"field1\" label=\"条件1\">xxx</Form.Item>\n * }}\n * </EasyTableFilter>\n *2. 用户2(自定义布局)\n * EasyTableFilter设置 isPure = true,FormItem无布局规则\n *3. EasyTableFilter中内置了 Form 标签,当children为函数时,可获取form实例\n *4. 默认布局下,可通过设置 filterOperate 设置操作按钮\n *```\n */\nexport const EasyTableFilter = (props: EasyTableFilterProps) => {\n const form = Form.useFormInstance();\n const { queryButtonProps, resetButtonProps, filterOperate } = props;\n\n const children = typeof props.children === 'function' ? props.children(form) : props.children;\n const childrens = Children.toArray(children);\n const { modelKey, fieldNames, onRequest, pageSize, paginationStatus, initialValues } = useEasyTableCtx();\n const [, actions] = easyTableModel(modelKey).useStore();\n\n // const onQuery = hooks.useCallbackRef(() => {\n // if (paginationStatus) {\n // onRequest({\n // ...form.getFieldsValue(),\n // [fieldNames.pageNo]: 1,\n // [fieldNames.pageSiz]: state.queryCondition.pageSize,\n // });\n // } else {\n // onRequest(form.getFieldsValue());\n // }\n // });\n\n const onReset = hooks.useCallbackRef(async () => {\n await actions.resetFilterCondition();\n form.resetFields();\n if (paginationStatus) {\n onRequest({\n [fieldNames.pageNo]: 1,\n [fieldNames.pageSiz]: pageSize,\n ...initialValues,\n });\n } else {\n onRequest(initialValues);\n }\n });\n\n const formOperateColProps = {\n rightList: [\n !queryButtonProps?.hidden ? (\n <ButtonWrapper key=\"1\" type=\"primary\" htmlType=\"submit\" {...queryButtonProps}>\n {queryButtonProps?.text || '查询'}\n </ButtonWrapper>\n ) : null,\n !resetButtonProps?.hidden ? (\n <ButtonWrapper key=\"2\" onClick={onReset} {...resetButtonProps}>\n {resetButtonProps?.text || '重置'}\n </ButtonWrapper>\n ) : null,\n ],\n ...filterOperate?.(form),\n };\n\n if (props.isPure) {\n return <SimpleLayout>{children}</SimpleLayout>;\n }\n\n const formRowChildren = childrens\n .map((item, index) => {\n if ((item as ReactElement).type['domTypeName'] === 'FormCol') {\n return item;\n }\n return <FormGrid.Col key={index}>{item}</FormGrid.Col>;\n })\n .concat(<FormGrid.OperateCol key={99} {...formOperateColProps} />);\n\n return (\n <SimpleLayout>\n <FormGrid.Row gutter={[15, 0]}>{formRowChildren}</FormGrid.Row>\n </SimpleLayout>\n );\n};\n","import { getUuid, isUndefinedOrNull, TAny } from '@flatbiz/utils';\nimport { Table, TableProps } from 'antd';\nimport { ReactElement, useMemo } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport { SimpleLayout } from '../simple-layout';\nimport { useEasyTableCtx } from './context';\nimport { easyTableModel } from './model';\n\nexport type EasyTableTableProps = Omit<TableProps<TAny>, 'dataSource' | 'loading' | 'rowKey'> & {\n children?: ReactElement;\n /** 表格行 key 的取值 */\n rowKey: string;\n};\n\n/**\n * 表格渲染\n * @param props\n * ```\n * 1. 继承了 TableProps 可设置antd table功能\n * ```\n */\nexport const EasyTableTable = (props: EasyTableTableProps) => {\n const { children, rowKey, pagination, ...otherProps } = props;\n\n const {\n modelKey,\n fieldNames,\n onRequest,\n tableList,\n initRequest,\n pageSize,\n tableTotal,\n loading,\n initialValues,\n onSetPaginationStatus,\n } = useEasyTableCtx();\n const [state, actions] = easyTableModel(modelKey).useStore();\n\n const paginationData =\n pagination == false\n ? false\n : {\n showSizeChanger: true,\n current: state.queryCondition[fieldNames.pageNo],\n pageSize: state.queryCondition[fieldNames.pageSize],\n total: tableTotal,\n showTotal: (total) => `共 ${total} 条记录`,\n ...props.pagination,\n };\n\n const onChangePage: TableProps<TAny>['onChange'] = (data, ...otherProps) => {\n if (paginationData) {\n onRequest({ [fieldNames.pageSize]: data.pageSize, [fieldNames.pageNo]: data.current });\n }\n props.onChange?.(data, ...otherProps);\n };\n\n const dataSource = useMemo(() => {\n if (tableList.length === 0) {\n return [];\n }\n if (isUndefinedOrNull(tableList[0][rowKey])) {\n return tableList.map((item) => {\n item[rowKey] = getUuid();\n return item;\n });\n }\n return tableList;\n }, [tableList, rowKey]);\n\n fbaHooks.useEffectCustom(() => {\n onSetPaginationStatus(paginationData !== false);\n if (initRequest !== false || !state.isInit) {\n if (paginationData) {\n void onRequest({\n [fieldNames.pageNo]: 1,\n [fieldNames.pageSize]: pageSize,\n ...initialValues,\n });\n } else {\n void onRequest(initialValues);\n }\n } else {\n void actions.updateFilterCondition(initialValues);\n }\n void actions.updateInitStatus();\n }, []);\n\n return (\n <SimpleLayout>\n {children ? <SimpleLayout>{children}</SimpleLayout> : null}\n <Table\n size=\"small\"\n scroll={{ x: 'max-content' }}\n bordered\n {...otherProps}\n pagination={paginationData}\n rowKey={rowKey}\n onChange={onChangePage}\n loading={loading}\n dataSource={dataSource}\n />\n </SimpleLayout>\n );\n};\n","import { attachPropertiesToComponent } from '../_utils/attach-properties-to-component';\nimport { EasyTable as EasyTableInner } from './easy-table';\nimport { EasyTableFilter } from './filter';\nimport { EasyTableTable } from './table';\n\nexport const EasyTable = attachPropertiesToComponent(EasyTableInner, {\n /**\n * 过滤条件\n * @param props\n * @returns\n *\n *```\n *1. 用法1\n * -- 默认网格布局 规则:{ xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 }\n * <EasyTableFilter>\n * <Form.Item name=\"field1\" label=\"条件1\">xxx</Form.Item>\n * </EasyTableFilter>\n *\n * -- 自定义网格布局 使用 FormCol组件包装 Form.Item\n * <EasyTableFilter>\n * <FormCol span={12}><Form.Item name=\"field1\" label=\"条件1\">xxx</Form.Item></FormCol>\n * </EasyTableFilter>\n *\n * -- children 可为 function\n * <EasyTableFilter>\n * {(form) => {\n * return <Form.Item name=\"field1\" label=\"条件1\">xxx</Form.Item>\n * }}\n * </EasyTableFilter>\n *2. 用户2(自定义布局)\n * EasyTableFilter设置 isPure = true,FormItem无布局规则\n *3. EasyTableFilter中内置了 Form 标签,当children为函数时,可获取form实例\n *4. 默认布局下,可通过设置 filterOperate 设置操作按钮\n *```\n */\n Filter: EasyTableFilter,\n /**\n * 表格渲染\n * @param props\n * ```\n * 1. 继承了 TableProps 可设置antd table功能\n * ```\n */\n Table: EasyTableTable,\n});\n"],"names":["_createCtx","_createCtx2","useEasyTableCtx","EasyTableCtxProvider","defaultState","queryCondition","isInit","_EasyTableModel","actions","updateFilterCondition","params","state","_extends","resetFilterCondition","updateInitStatus","easyTableModels","easyTableModel","key","Model","EasyTable","forwardRef","props","ref","_props$initialPaginat","_useState","useState","dataSource","setDataSource","_useState2","total","setTotal","_useState3","loading","setLoading","_easyTableModel$useSt","modelKey","useStore","pageSize","initialPaginationParams","initRequest","undefined","_useState4","paginationStatus","setPaginationStatus","fieldNames","list","pageNo","_Form$useForm","Form","useForm","form","onRequest","_hooks","useCallbackRef","Promise","$return","$error","allState","_props$serviceConfig","requestParamsAdapter","_onRequest","requestResultAdapter","paramsNew","respData","respDataNew","respList","$Try_1_Post","$boundEx","$Try_1_Catch","error","message","resolve","then","$await_2","cloneState","serviceConfig","$await_3","onDataSourceChange","_isArray","clearQueryCondition","values","$await_4","resetFields","setFieldsValue","onResetRequest","_extends2","$await_5","initialValues","getRequestParams","getFieldsValue","useImperativeHandle","onSetPaginationStatus","status","onFormFinish","_extends3","_jsx","value","tableList","tableTotal","children","onFinish","EasyTableFilter","useFormInstance","queryButtonProps","resetButtonProps","filterOperate","childrens","Children","toArray","_useEasyTableCtx","onReset","$await_1","pageSiz","formOperateColProps","rightList","hidden","ButtonWrapper","type","htmlType","text","onClick","isPure","SimpleLayout","formRowChildren","map","item","index","FormGrid","Col","concat","OperateCol","Row","gutter","EasyTableTable","rowKey","pagination","otherProps","_objectWithoutPropertiesLoose","_excluded","paginationData","showSizeChanger","current","showTotal","onChangePage","data","_len","arguments","length","Array","_key","onChange","apply","useMemo","isUndefinedOrNull","getUuid","fbaHooks","useEffectCustom","_jsxs","Table","size","scroll","x","bordered","attachPropertiesToComponent","EasyTableInner","Filter"],"mappings":";m/BAGO,IAAAA,EAAgDC,IAAzCC,EAAeF,EAAA,GAAEG,EAAoBH,EAAA,GCYnD,IAAMI,EAA2B,CAC/BC,eAAgB,CAAE,EAClBC,OAAQ,MAGV,IAAMC,EAA4D,CAChEC,QAAS,CACPC,sBAAuB,SAAAA,EAACC,GACtB,OAAO,SAACC,GACNA,EAAMN,eAAcO,EAAA,CAAA,EACfD,EAAMN,eACNK,GAGR,EACDG,qBAAsB,SAAAA,IACpB,OAAO,SAACF,GACNA,EAAMN,eAAiBD,EAAaC,eAEvC,EACDS,iBAAkB,SAAAA,IAChB,OAAO,SAACH,GACNA,EAAML,OAAS,MAEnB,GAEFK,MAAOP,GAGT,IAAMW,EAAuF,CAAA,EAQtF,IAAMC,EAAiB,SAAjBA,EAAkBC,GAC7B,IAAKF,EAAgBE,GAAM,CACzBF,EAAgBE,GAAOC,EAAMX,EAC/B,CACA,OAAOQ,EAAgBE,EACzB,ECkBO,IAAME,EAAYC,GAA4C,SAACC,EAAuBC,GAAQ,IAAAC,EACnG,IAAAC,EAAoCC,EAAyB,IAAtDC,EAAUF,EAAA,GAAEG,EAAaH,EAAA,GAChC,IAAAI,EAA0BH,EAAiB,GAApCI,EAAKD,EAAA,GAAEE,EAAQF,EAAA,GACtB,IAAAG,EAA8BN,EAAkB,OAAzCO,EAAOD,EAAA,GAAEE,EAAUF,EAAA,GAC1B,IAAAG,EAAyBlB,EAAeK,EAAMc,UAAUC,WAAjDzB,EAAKuB,EAAA,GAAE1B,EAAO0B,EAAA,GACrB,IAAMG,EAAWhB,EAAMgB,YAAQd,EAAIF,EAAMiB,0BAANf,UAAAA,EAAAA,EAA+Bc,WAAY,GAC9E,IAAME,EAAclB,EAAMkB,cAAgBC,UAAY,KAAOnB,EAAMkB,YACnE,IAAAE,EAAgDhB,EAAS,OAAlDiB,EAAgBD,EAAA,GAAEE,EAAmBF,EAAA,GAE5C,IAAMG,EAAUhC,EAAA,CACdiC,KAAM,OACNhB,MAAO,QACPiB,OAAQ,SACRT,SAAU,YACPhB,EAAMuB,YAGX,IAAAG,EAAeC,EAAKC,UAAbC,EAAIH,EAAA,GAEX,IAAMI,EAAYC,EAAMC,gBAAe,SAAO3C,GAAP,OAAA,IAAA4C,SAAA,SAAAC,EAAAC,GAAA,IAG7BC,EACApD,EAA0DqD,EAAAC,EAAAC,EAAAC,EAE1DC,EACAC,EAEAC,EACAC,EAxGZ,IAAIC,aAAJ,IAAI,OAAAX,GAAK,CAAC,MAAAY,GAAW,OAAOX,EAAAW,EAAM,GAAlC,IAAIC,EAAA,SA4GSC,GA5Gb,IA6GMpC,EAAW,YACNqC,EAAQD,MAAMA,EAAMC,SA9G/B,OAAOJ,GAAE,CAAC,MAAAC,GAAW,OAAOX,EAAAW,EAAM,GA+F9B,IACElC,EAAW,MACM,OAAAqB,QAAAiB,QAAM/D,EAAQC,sBAAsBC,IAApC8D,eAA2CC,GAjGlE,IAiGYhB,EAAWgB,EACXpE,EAAiBqE,EAAWjB,EAASpD,gBAAkB,CAAE,GAC/DqD,EAAkErC,EAAMsD,cAAhEhB,EAAoBD,EAApBC,qBAAsBR,EAASO,EAATP,UAAWU,EAAoBH,EAApBG,qBACnCC,EAAYH,EAAuBA,EAAqBtD,GAAkBA,EAC9D,OAAAiD,QAAAiB,QAAMpB,EAAUW,IAAhBU,MAA0B,SAAAI,GArGlD,IAqGYb,EAAYa,GAA+B,GACjDvD,EAAMwD,oBAANxD,UAAAA,EAAAA,EAAMwD,mBAAqBd,GACrBC,EAAcH,EAAuBA,EAAqBE,GAAYA,EACtEE,EAAWD,EAAYpB,EAAWC,MACxClB,EAAcmD,EAAQb,GAAYA,EAAW,IAC7CnC,EAASkC,EAAYpB,EAAWf,QAChCI,EAAW,OA3GjB,OAAOiC,GAAE,CAAC,MAAAC,GAAW,OAAOC,EAAAD,EAAM,CAAC,GAAAC,EAA1B,CAAC,MAAAD,GAAW,OAAOC,EAAAD,EAAM,CAAC,GAAAC,EA4G9B,CAAC,MAAOC,GAAOD,EAAPC,EAGT,CAAC,OAGH,IAAMU,EAAsB3B,EAAMC,gBAAe,SAAO2B,GAAP,OAAA,IAAA1B,SAAA,SAAAC,EAAAC,GAC/C,OAAAF,QAAAiB,QAAM/D,EAAQK,wBAAd2D,MAAoC,SAAAS,GAnHxC,IAoHI/B,EAAKgC,cACL,GAAIF,EAAQ,MACLxE,EAAQC,sBAAsBuE,GACnC9B,EAAKiC,eAAeH,EACtB,CAAC,OAAAzB,GAxHI,CAAC,MAAAY,GAAW,OAAOX,EAAAW,EAAM,CAAC,GAAAX,EAmHK,OAOtC,IAAM4B,EAAiBhC,EAAMC,gBAAe,SAAO2B,GAAP,OAAA,IAAA1B,SAAA,SAAAC,EAAAC,GAAA,IAAA6B,EAC1C,OAAA/B,QAAAiB,QAAM/D,EAAQK,wBAAd2D,MAAoC,SAAAc,GA3HxC,IA4HIpC,EAAKgC,cACL,GAAIxC,EAAkB,MACfS,EAASvC,GAAAyE,EAAA,CAAA,EAAAA,EACXzC,EAAWE,QAAS,EAACuC,EACrBzC,EAAWP,UAAWA,EAAQgD,GAC5BhE,EAAMkE,cACNP,GAEP,KAAO,MACA7B,EAASvC,EAAA,CAAA,EACTS,EAAMkE,cACNP,GAEP,CAAC,OAAAzB,GAzII,CAAC,MAAAY,GAAW,OAAOX,EAAAW,EAAM,CAAC,GAAAX,EA2HK,OAiBtC,IAAMgC,EAAmB,SAAnBA,IACJ,OAAA5E,KACKD,EAAMN,eACN6C,EAAKuC,mBAIZC,EAAoBpE,GAAK,WACvB,MAAO,CACL6B,UAAWA,EACX4B,oBAAAA,EACAS,iBAAAA,EACAJ,eAAAA,EACAlC,KAAAA,EAEJ,IAEA,IAAMyC,EAAwB,SAAxBA,EAAyBC,GAC7BjD,EAAoBiD,IAGtB,IAAMC,EAAe,SAAfA,IACJ,IAAMb,EAAS9B,EAAKuC,iBACpB,GAAIpE,EAAMwE,aAAc,CACtBxE,EAAMwE,aAAab,EACrB,KAAO,CACL,GAAItC,EAAkB,CAAA,IAAAoD,OACf3C,EAASvC,EAAA,GACToE,GAAMc,EAAA,CAAA,EAAAA,EACRlD,EAAWE,QAAS,EAACgD,EACrBlD,EAAWP,UAAW1B,EAAMN,eAAegC,SAAQyD,IAExD,KAAO,MACA3C,EAAU6B,EACjB,CACF,GAGF,OACEe,EAAC5F,EAAoB,CACnB6F,MAAO,CACL7D,SAAUd,EAAMc,SAChBgB,UAAAA,EACA8C,UAAWvE,EACXwE,WAAYrE,EACZG,QAAAA,EACAY,WAAAA,EACAP,SAAAA,EACAE,YAAAA,EACAgD,cAAelE,EAAMkE,eAAiB,CAAE,EACxCI,sBAAAA,EACAjD,iBAAAA,GACAyD,SAEFJ,EAAC/C,EAAI,CACHE,KAAMA,EACNkD,SAAUP,EACVN,cAAa3E,EAAA,CAAA,EACRS,EAAMkE,cACN5E,EAAMN,gBACT8F,SAED9E,EAAM8E,YAIf,IC3JO,IAAME,EAAkB,SAAlBA,EAAmBhF,GAC9B,IAAM6B,EAAOF,EAAKsD,kBAClB,IAAQC,EAAsDlF,EAAtDkF,iBAAkBC,EAAoCnF,EAApCmF,iBAAkBC,EAAkBpF,EAAlBoF,cAE5C,IAAMN,SAAkB9E,EAAM8E,WAAa,WAAa9E,EAAM8E,SAASjD,GAAQ7B,EAAM8E,SACrF,IAAMO,EAAYC,EAASC,QAAQT,GACnC,IAAAU,EAAuF3G,IAA/EiC,EAAQ0E,EAAR1E,SAAUS,EAAUiE,EAAVjE,WAAYO,EAAS0D,EAAT1D,UAAWd,EAAQwE,EAARxE,SAAUK,EAAgBmE,EAAhBnE,iBAAkB6C,EAAasB,EAAbtB,cACrE,IAAArD,EAAoBlB,EAAemB,GAAUC,WAApC5B,EAAO0B,EAAA,GAchB,IAAM4E,EAAU1D,EAAMC,gBAAe,WAAA,OAAA,IAAAC,SAAA,SAAAC,EAAAC,GAAA,IAAA6B,EACnC,OAAA/B,QAAAiB,QAAM/D,EAAQK,wBAAd2D,MAAoC,SAAAuC,GAzExC,IA0EI7D,EAAKgC,cACL,GAAIxC,EAAkB,CACpBS,EAASvC,GAAAyE,EAAA,CAAA,EAAAA,EACNzC,EAAWE,QAAS,EAACuC,EACrBzC,EAAWoE,SAAU3E,EAAQgD,GAC3BE,GAEP,KAAO,CACLpC,EAAUoC,EACZ,CAAC,OAAAhC,GAnFI,CAAC,MAAAY,GAAW,OAAOX,EAAAW,EAAM,CAAC,GAAAX,EAyEK,OAatC,IAAMyD,EAAmBrG,EAAA,CACvBsG,UAAW,GACRX,GAAAA,MAAAA,EAAkBY,QACjBpB,EAACqB,EAAaxG,EAAA,CAASyG,KAAK,UAAUC,SAAS,UAAaf,EAAgB,CAAAJ,UACzEI,eAAAA,EAAkBgB,OAAQ,OADV,KAGjB,OACHf,GAAgB,MAAhBA,EAAkBW,QACjBpB,EAACqB,EAAaxG,EAAA,CAAS4G,QAASV,GAAaN,EAAgB,CAAAL,UAC1DK,eAAAA,EAAkBe,OAAQ,OADV,KAGjB,OAEHd,GAAAA,UAAAA,EAAAA,EAAgBvD,IAGrB,GAAI7B,EAAMoG,OAAQ,CAChB,OAAO1B,EAAC2B,EAAY,CAAAvB,SAAEA,GACxB,CAEA,IAAMwB,EAAkBjB,EACrBkB,KAAI,SAACC,EAAMC,GACV,GAAKD,EAAsBR,KAAK,iBAAmB,UAAW,CAC5D,OAAOQ,CACT,CACA,OAAO9B,EAACgC,EAASC,IAAG,CAAA7B,SAAc0B,GAARC,EAC3B,IACAG,OAAOlC,EAACgC,EAASG,WAAUtH,EAAcqG,CAAAA,EAAAA,GAAR,KAEpC,OACElB,EAAC2B,EAAY,CAAAvB,SACXJ,EAACgC,EAASI,IAAG,CAACC,OAAQ,CAAC,GAAI,GAAGjC,SAAEwB,KAGtC,2CCnGO,IAAMU,EAAiB,SAAjBA,EAAkBhH,GAC7B,IAAQ8E,EAAgD9E,EAAhD8E,SAAUmC,EAAsCjH,EAAtCiH,OAAQC,EAA8BlH,EAA9BkH,WAAeC,EAAUC,EAAKpH,EAAKqH,GAE7D,IAAA7B,EAWI3G,IAVFiC,EAAQ0E,EAAR1E,SACAS,EAAUiE,EAAVjE,WACAO,EAAS0D,EAAT1D,UACA8C,EAASY,EAATZ,UACA1D,EAAWsE,EAAXtE,YACAF,EAAQwE,EAARxE,SACA6D,EAAUW,EAAVX,WACAlE,EAAO6E,EAAP7E,QACAuD,EAAasB,EAAbtB,cACAI,EAAqBkB,EAArBlB,sBAEF,IAAAzD,EAAyBlB,EAAemB,GAAUC,WAA3CzB,EAAKuB,EAAA,GAAE1B,EAAO0B,EAAA,GAErB,IAAMyG,EACJJ,GAAc,MACV,MAAK3H,EAAA,CAEHgI,gBAAiB,KACjBC,QAASlI,EAAMN,eAAeuC,EAAWE,QACzCT,SAAU1B,EAAMN,eAAeuC,EAAWP,UAC1CR,MAAOqE,EACP4C,UAAW,SAAAA,EAACjH,GAAK,MAAA,KAAUA,EAAK,MAAA,GAC7BR,EAAMkH,YAGjB,IAAMQ,EAA6C,SAA7CA,EAA8CC,GAClD,GAAIL,EAAgB,CAAA,IAAA/E,EAClBT,GAASS,EAAA,CAAA,EAAAA,EAAIhB,EAAWP,UAAW2G,EAAK3G,SAAQuB,EAAGhB,EAAWE,QAASkG,EAAKH,QAAOjF,GACrF,CAAC,IAAAqF,IAAAA,EAAAC,UAAAC,OAH0DX,MAAUY,MAAAH,EAAAA,EAAAA,OAAAI,EAAA,EAAAA,EAAAJ,EAAAI,IAAA,CAAVb,EAAUa,EAAAH,GAAAA,UAAAG,EAAA,CAIrEhI,EAAMiI,UAAQ,UAAA,EAAdjI,EAAMiI,SAAQC,MAAdlI,GAAiB2H,GAAIf,OAAKO,KAG5B,IAAM9G,EAAa8H,GAAQ,WACzB,GAAIvD,EAAUkD,SAAW,EAAG,CAC1B,MAAO,EACT,CACA,GAAIM,EAAkBxD,EAAU,GAAGqC,IAAU,CAC3C,OAAOrC,EAAU2B,KAAI,SAACC,GACpBA,EAAKS,GAAUoB,IACf,OAAO7B,CACT,GACF,CACA,OAAO5B,CACT,GAAG,CAACA,EAAWqC,IAEfqB,EAASC,iBAAgB,WACvBjE,EAAsBgD,IAAmB,OACzC,GAAIpG,IAAgB,QAAU5B,EAAML,OAAQ,CAC1C,GAAIqI,EAAgB,CAAA,IAAAtD,OACblC,EAASvC,GAAAyE,KAAAA,EACXzC,EAAWE,QAAS,EAACuC,EACrBzC,EAAWP,UAAWA,EAAQgD,GAC5BE,GAEP,KAAO,MACApC,EAAUoC,EACjB,CACF,KAAO,MACA/E,EAAQC,sBAAsB8E,EACrC,MACK/E,EAAQM,kBACd,GAAE,IAEH,OACE+I,EAACnC,EAAY,CAAAvB,SACVA,CAAAA,EAAWJ,EAAC2B,EAAY,CAAAvB,SAAEA,IAA2B,KACtDJ,EAAC+D,EAAKlJ,EAAA,CACJmJ,KAAK,QACLC,OAAQ,CAAEC,EAAG,eACbC,SAAQ,MACJ1B,EAAU,CACdD,WAAYI,EACZL,OAAQA,EACRgB,SAAUP,EACV/G,QAASA,EACTN,WAAYA,OAIpB,MCnGaP,EAAYgJ,EAA4BC,EAAgB,CA8BnEC,OAAQhE,EAQRyD,MAAOzB"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/easy-table/context.ts","@flatbiz/antd/src/easy-table/model.ts","@flatbiz/antd/src/easy-table/easy-table.tsx","@flatbiz/antd/src/easy-table/filter.tsx","@flatbiz/antd/src/easy-table/table.tsx","@flatbiz/antd/src/easy-table/use-easy-table-ref.ts","@flatbiz/antd/src/easy-table/index.ts"],"sourcesContent":["import { TPlainObject } from '@flatbiz/utils';\nimport { createCtx } from '@wove/react';\nimport { FormInstance } from 'antd';\nimport { EasyTableRefApi } from './type';\n\nexport const [useEasyTableCtx, EasyTableCtxProvider] = createCtx<{\n modelKey: string;\n onRequest: (params?: TPlainObject) => void;\n tableList: TPlainObject[];\n tableTotal: number;\n loading?: boolean;\n fieldNames: TPlainObject;\n pageSize: number;\n initRequest: boolean;\n initialValues: TPlainObject;\n onSetPaginationStatus: (status: boolean) => void;\n paginationStatus: boolean;\n onFormFinish?: (values?: TPlainObject) => void;\n form: FormInstance;\n getEasyTableRef: () => EasyTableRefApi;\n}>();\n","import { API, ModelType } from '@dimjs/model';\nimport { Model } from '@dimjs/model-react';\nimport { TAny, TPlainObject } from '@flatbiz/utils';\n\nexport type ModelState = {\n queryCondition: TPlainObject;\n isInit: boolean;\n};\n\ntype ModelActionParams = {\n updateFilterCondition?: Partial<ModelState['queryCondition']>;\n resetFilterCondition: void;\n updateInitStatus: void;\n};\n\nconst defaultState: ModelState = {\n queryCondition: {},\n isInit: true,\n};\n\nconst _EasyTableModel: ModelType<ModelState, ModelActionParams> = {\n actions: {\n updateFilterCondition: (params) => {\n return (state) => {\n state.queryCondition = {\n ...state.queryCondition,\n ...params,\n };\n };\n },\n resetFilterCondition: () => {\n return (state) => {\n state.queryCondition = defaultState.queryCondition;\n };\n },\n updateInitStatus: () => {\n return (state) => {\n state.isInit = false;\n };\n },\n },\n state: defaultState,\n};\n\nconst easyTableModels: Record<string, API<ModelType<ModelState, ModelActionParams, TAny>>> = {};\n\n/**\n * ```\n * 使用方式\n * const [state, actions] = selectorWrapperModel('key值').useStore();\n * ```\n */\nexport const easyTableModel = (key: string) => {\n if (!easyTableModels[key]) {\n easyTableModels[key] = Model(_EasyTableModel);\n }\n return easyTableModels[key];\n};\n","import { isArray } from '@dimjs/lang';\nimport { cloneState } from '@dimjs/model';\nimport { TAny, TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Form, message } from 'antd';\nimport { forwardRef, ReactElement, useImperativeHandle, useState } from 'react';\nimport { EasyTableCtxProvider } from './context';\nimport { easyTableModel } from './model';\nimport { EasyTableRefApi } from './type';\n\ntype EasyTableServiceConfig = {\n /** 接口配置 */\n onRequest: (params?: TPlainObject) => Promise<TPlainObject | TPlainObject[]>;\n /** 请求参数处理 */\n requestParamsAdapter?: (params: TPlainObject) => TPlainObject;\n /**\n * 接口相应数据处理\n * @param params\n * ```\n * 返回数据为对象,包含两个字段\n * 1. 表格列表数据 - Array\n * 2. 表格条数总数 - Number\n * 其中 字段key 命名会通过 fieldNames 进行转义\n * ```\n */\n requestResultAdapter?: (params: TAny) => TPlainObject;\n};\n\nexport type EasyTableProps = {\n children: ReactElement | ReactElement[];\n modelKey: string;\n /** 接口数据配置 */\n serviceConfig: EasyTableServiceConfig;\n /**\n * 1. 查询条件Form initialValues\n * 2. 接口其他参数,例如常量类型\n */\n initialValues?: TPlainObject;\n /**\n * 分页初始化参数,默认值: pageSiz = 10\n * @deprecated 使用 pageSize 赋值\n */\n initialPaginationParams?: { pageSize?: number };\n /** 分页单页条数,默认值:10 */\n pageSize?: number;\n /** 字段映射 */\n fieldNames?: { list?: string; total?: string; pageNo?: string; pageSize?: string; uid?: string };\n /** 初始化是否请求,默认值:true */\n initRequest?: boolean;\n onDataSourceChange?: (dataSource: TAny) => void;\n /** 如果自定义查询按钮,可设置 Form onFinish */\n onFormFinish?: (values?: TPlainObject) => void;\n};\n\n/**\n * 对 查询条件+表格数据 进行深度封装,内置数据交互处理\n * ```\n * 1. 需要获取查询条件、主动发起请求等可通过ref操作\n * 2. 可通过属性 initRequest 设置初始化是否请求数据\n * 3. 可通过属性 fieldNames 来设置自定义变量,默认值为:list、total、pageNo、pageSize\n *\n * Demo https://fex.qa.tcshuke.com/docs/admin/main/crud/easy-table\n * ```\n */\nexport const EasyTable = forwardRef<EasyTableRefApi, EasyTableProps>((props: EasyTableProps, ref) => {\n const [dataSource, setDataSource] = useState<TPlainObject[]>([]);\n const [total, setTotal] = useState<number>(0);\n const [loading, setLoading] = useState<boolean>(false);\n const [state, actions] = easyTableModel(props.modelKey).useStore();\n const pageSize = props.pageSize || props.initialPaginationParams?.pageSize || 10;\n const initRequest = props.initRequest === undefined ? true : props.initRequest;\n const [paginationStatus, setPaginationStatus] = useState(false);\n\n const fieldNames = {\n list: 'list',\n total: 'tatal',\n pageNo: 'pageNo',\n pageSize: 'pageSize',\n ...props.fieldNames,\n };\n\n const [form] = Form.useForm();\n\n const onRequest = hooks.useCallbackRef(async (params) => {\n try {\n setLoading(true);\n const allState = await actions.updateFilterCondition(params);\n const queryCondition = cloneState(allState.queryCondition || {});\n const { requestParamsAdapter, onRequest, requestResultAdapter } = props.serviceConfig;\n const paramsNew = requestParamsAdapter ? requestParamsAdapter(queryCondition) : queryCondition;\n const respData = (await onRequest(paramsNew)) || {};\n props.onDataSourceChange?.(respData);\n const respDataNew = requestResultAdapter ? requestResultAdapter(respData) : respData;\n const respList = respDataNew[fieldNames.list];\n setDataSource(isArray(respList) ? respList : []);\n setTotal(respDataNew[fieldNames.total]);\n setLoading(false);\n } catch (error) {\n setLoading(false);\n void message.error(error.message);\n }\n });\n\n const clearQueryCondition = hooks.useCallbackRef(async (values?: TPlainObject) => {\n await actions.resetFilterCondition();\n form.resetFields();\n if (values) {\n void actions.updateFilterCondition(values);\n form.setFieldsValue(values);\n }\n });\n const onResetRequest = hooks.useCallbackRef(async (values?: TPlainObject) => {\n await actions.resetFilterCondition();\n form.resetFields();\n if (paginationStatus) {\n void onRequest({\n [fieldNames.pageNo]: 1,\n [fieldNames.pageSize]: pageSize,\n ...props.initialValues,\n ...values,\n });\n } else {\n void onRequest({\n ...props.initialValues,\n ...values,\n });\n }\n });\n\n const getRequestParams = () => {\n return {\n ...state.queryCondition,\n ...form.getFieldsValue(),\n };\n };\n\n useImperativeHandle(ref, () => {\n return {\n onRequest: onRequest,\n clearQueryCondition,\n getRequestParams,\n onResetRequest,\n form,\n };\n });\n\n const getEasyTableRef = () => {\n return {\n onRequest: onRequest,\n clearQueryCondition,\n getRequestParams,\n onResetRequest,\n form,\n };\n };\n\n const onSetPaginationStatus = (status: boolean) => {\n setPaginationStatus(status);\n };\n\n const onFormFinish = () => {\n const values = form.getFieldsValue();\n if (props.onFormFinish) {\n props.onFormFinish(values);\n } else {\n if (paginationStatus) {\n void onRequest({\n ...values,\n [fieldNames.pageNo]: 1,\n [fieldNames.pageSize]: state.queryCondition.pageSize,\n });\n } else {\n void onRequest(values);\n }\n }\n };\n\n return (\n <EasyTableCtxProvider\n value={{\n getEasyTableRef,\n modelKey: props.modelKey,\n onRequest,\n tableList: dataSource,\n tableTotal: total,\n loading,\n fieldNames,\n pageSize,\n initRequest,\n initialValues: props.initialValues || {},\n onSetPaginationStatus,\n paginationStatus,\n onFormFinish,\n form,\n }}\n >\n {props.children}\n </EasyTableCtxProvider>\n );\n});\n","import { hooks } from '@wove/react';\nimport { ButtonProps, Form, FormInstance } from 'antd';\nimport { Children, ReactElement } from 'react';\nimport { ButtonWrapper } from '../button-wrapper';\nimport { FormGrid } from '../form-grid';\nimport { FormOperateColProps } from '../form-grid/form-operate-col';\nimport { SimpleLayout } from '../simple-layout';\nimport { useEasyTableCtx } from './context';\nimport { easyTableModel } from './model';\n\nexport type EasyTableFilterProps = {\n children: ReactElement | ReactElement[] | ((form: FormInstance) => ReactElement);\n /** isPure = true时无效 */\n filterOperate?: (form: FormInstance) => FormOperateColProps;\n /** 是否为纯净模式(查询条件布局是否自定义), */\n isPure?: boolean;\n // 查询按钮配置\n queryButtonProps?: Omit<ButtonProps, 'onClick'> & { text?: string };\n // 重置按钮配置\n resetButtonProps?: Omit<ButtonProps, 'onClick'> & { text?: string };\n};\n\n/**\n * 过滤条件\n * @param props\n * @returns\n *\n *```\n *1. 用法1\n * -- 默认网格布局 规则:{ xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 }\n * <EasyTableFilter>\n * <Form.Item name=\"field1\" label=\"条件1\">xxx</Form.Item>\n * </EasyTableFilter>\n *\n * -- 自定义网格布局 使用 FormCol组件包装 Form.Item\n * <EasyTableFilter>\n * <FormCol span={12}><Form.Item name=\"field1\" label=\"条件1\">xxx</Form.Item></FormCol>\n * </EasyTableFilter>\n *\n * -- children 可为 function\n * <EasyTableFilter>\n * {(form) => {\n * return <Form.Item name=\"field1\" label=\"条件1\">xxx</Form.Item>\n * }}\n * </EasyTableFilter>\n *2. 用户2(自定义布局)\n * EasyTableFilter设置 isPure = true,FormItem无布局规则\n *3. EasyTableFilter中内置了 Form 标签,当children为函数时,可获取form实例\n *4. 默认布局下,可通过设置 filterOperate 设置操作按钮\n *```\n */\nexport const EasyTableFilter = (props: EasyTableFilterProps) => {\n const { queryButtonProps, resetButtonProps, filterOperate } = props;\n const { modelKey, fieldNames, onRequest, pageSize, paginationStatus, initialValues, form, onFormFinish } =\n useEasyTableCtx();\n const children = typeof props.children === 'function' ? props.children(form) : props.children;\n const childrens = Children.toArray(children);\n\n const [state, actions] = easyTableModel(modelKey).useStore();\n\n // const onQuery = hooks.useCallbackRef(() => {\n // if (paginationStatus) {\n // onRequest({\n // ...form.getFieldsValue(),\n // [fieldNames.pageNo]: 1,\n // [fieldNames.pageSiz]: state.queryCondition.pageSize,\n // });\n // } else {\n // onRequest(form.getFieldsValue());\n // }\n // });\n\n const onReset = hooks.useCallbackRef(async () => {\n await actions.resetFilterCondition();\n form.resetFields();\n if (paginationStatus) {\n onRequest({\n [fieldNames.pageNo]: 1,\n [fieldNames.pageSiz]: pageSize,\n ...initialValues,\n });\n } else {\n onRequest(initialValues);\n }\n });\n\n const formOperateColProps = {\n rightList: [\n !queryButtonProps?.hidden ? (\n <ButtonWrapper key=\"1\" type=\"primary\" htmlType=\"submit\" {...queryButtonProps}>\n {queryButtonProps?.text || '查询'}\n </ButtonWrapper>\n ) : null,\n !resetButtonProps?.hidden ? (\n <ButtonWrapper key=\"2\" onClick={onReset} {...resetButtonProps}>\n {resetButtonProps?.text || '重置'}\n </ButtonWrapper>\n ) : null,\n ],\n ...filterOperate?.(form),\n };\n\n const formRowChildren = childrens\n .map((item, index) => {\n if ((item as ReactElement).type['domTypeName'] === 'FormCol') {\n return item;\n }\n return <FormGrid.Col key={index}>{item}</FormGrid.Col>;\n })\n .concat(<FormGrid.OperateCol key={99} {...formOperateColProps} />);\n\n return (\n <SimpleLayout>\n <Form\n form={form}\n onFinish={onFormFinish}\n initialValues={{\n ...initialValues,\n ...state.queryCondition,\n }}\n >\n {props.isPure ? children : <FormGrid.Row gutter={[15, 0]}>{formRowChildren}</FormGrid.Row>}\n </Form>\n </SimpleLayout>\n );\n};\n","import { getUuid, isUndefinedOrNull, TAny } from '@flatbiz/utils';\nimport { Table, TableProps } from 'antd';\nimport { ReactElement, useMemo } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport { SimpleLayout } from '../simple-layout';\nimport { useEasyTableCtx } from './context';\nimport { easyTableModel } from './model';\n\nexport type EasyTableTableProps = Omit<TableProps<TAny>, 'dataSource' | 'loading' | 'rowKey'> & {\n children?: ReactElement;\n /** 表格行 key 的取值 */\n rowKey: string;\n};\n\n/**\n * 表格渲染\n * @param props\n * ```\n * 1. 继承了 TableProps 可设置antd table功能\n * ```\n */\nexport const EasyTableTable = (props: EasyTableTableProps) => {\n const { children, rowKey, pagination, ...otherProps } = props;\n\n const {\n modelKey,\n fieldNames,\n onRequest,\n tableList,\n initRequest,\n pageSize,\n tableTotal,\n loading,\n initialValues,\n onSetPaginationStatus,\n } = useEasyTableCtx();\n const [state, actions] = easyTableModel(modelKey).useStore();\n\n const paginationData =\n pagination == false\n ? false\n : {\n showSizeChanger: true,\n current: state.queryCondition[fieldNames.pageNo],\n pageSize: state.queryCondition[fieldNames.pageSize],\n total: tableTotal,\n showTotal: (total) => `共 ${total} 条记录`,\n ...props.pagination,\n };\n\n const onChangePage: TableProps<TAny>['onChange'] = (data, ...otherProps) => {\n if (paginationData) {\n onRequest({ [fieldNames.pageSize]: data.pageSize, [fieldNames.pageNo]: data.current });\n }\n props.onChange?.(data, ...otherProps);\n };\n\n const dataSource = useMemo(() => {\n if (tableList.length === 0) {\n return [];\n }\n if (isUndefinedOrNull(tableList[0][rowKey])) {\n return tableList.map((item) => {\n item[rowKey] = getUuid();\n return item;\n });\n }\n return tableList;\n }, [tableList, rowKey]);\n\n fbaHooks.useEffectCustom(() => {\n onSetPaginationStatus(paginationData !== false);\n if (initRequest !== false || !state.isInit) {\n if (paginationData) {\n void onRequest({\n [fieldNames.pageNo]: 1,\n [fieldNames.pageSize]: pageSize,\n ...initialValues,\n });\n } else {\n void onRequest(initialValues);\n }\n } else {\n void actions.updateFilterCondition(initialValues);\n }\n void actions.updateInitStatus();\n }, []);\n\n return (\n <SimpleLayout>\n {children}\n <Table\n size=\"small\"\n scroll={{ x: 'max-content' }}\n bordered\n {...otherProps}\n pagination={paginationData}\n rowKey={rowKey}\n onChange={onChangePage}\n loading={loading}\n dataSource={dataSource}\n />\n </SimpleLayout>\n );\n};\n","import { useRef } from 'react';\nimport { useEasyTableCtx } from './context';\nimport { EasyTableRefApi } from './type';\n\nexport const useEasyTablRef = () => {\n const { getEasyTableRef } = useEasyTableCtx();\n const ref = useRef<EasyTableRefApi>(getEasyTableRef());\n return ref;\n};\n","import { attachPropertiesToComponent } from '../_utils/attach-properties-to-component';\nimport { EasyTable as EasyTableInner } from './easy-table';\nimport { EasyTableFilter } from './filter';\nimport { EasyTableTable } from './table';\nimport { useEasyTablRef } from './use-easy-table-ref';\n\nexport const EasyTable = attachPropertiesToComponent(EasyTableInner, {\n /**\n * 过滤条件\n * @param props\n * @returns\n *\n *```\n *1. 用法1\n * -- 默认网格布局 规则:{ xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 }\n * <EasyTable.Filter>\n * <Form.Item name=\"field1\" label=\"条件1\">xxx</Form.Item>\n * </EasyTable.Filter>\n *\n * -- 自定义网格布局 使用 FormCol组件包装 Form.Item\n * <EasyTable.Filter>\n * <FormCol span={12}><Form.Item name=\"field1\" label=\"条件1\">xxx</Form.Item></FormCol>\n * </EasyTable.Filter>\n *\n * -- children 可为 function\n * <EasyTable.Filter>\n * {(form) => {\n * return <Form.Item name=\"field1\" label=\"条件1\">xxx</Form.Item>\n * }}\n * </EasyTable.Filter>\n *2. 用户2(自定义布局)\n * EasyTable.Filter设置 isPure = true,FormItem无布局规则\n *3. EasyTable.Filter中内置了 Form 标签,当children为函数时,可获取form实例\n *4. 默认布局下,可通过设置 filterOperate 设置操作按钮\n *```\n */\n Filter: EasyTableFilter,\n /**\n * 表格渲染\n * @param props\n * ```\n * 1. 继承了 TableProps 可设置antd table功能\n * ```\n */\n Table: EasyTableTable,\n\n useEasyTablRef: useEasyTablRef,\n});\n"],"names":["_createCtx","_createCtx2","useEasyTableCtx","EasyTableCtxProvider","defaultState","queryCondition","isInit","_EasyTableModel","actions","updateFilterCondition","params","state","_extends","resetFilterCondition","updateInitStatus","easyTableModels","easyTableModel","key","Model","EasyTable","forwardRef","props","ref","_props$initialPaginat","_useState","useState","dataSource","setDataSource","_useState2","total","setTotal","_useState3","loading","setLoading","_easyTableModel$useSt","modelKey","useStore","pageSize","initialPaginationParams","initRequest","undefined","_useState4","paginationStatus","setPaginationStatus","fieldNames","list","pageNo","_Form$useForm","Form","useForm","form","onRequest","_hooks","useCallbackRef","Promise","$return","$error","allState","_props$serviceConfig","requestParamsAdapter","_onRequest","requestResultAdapter","paramsNew","respData","respDataNew","respList","$Try_1_Post","$boundEx","$Try_1_Catch","error","message","resolve","then","$await_2","cloneState","serviceConfig","$await_3","onDataSourceChange","_isArray","clearQueryCondition","values","$await_4","resetFields","setFieldsValue","onResetRequest","_extends2","$await_5","initialValues","getRequestParams","getFieldsValue","useImperativeHandle","getEasyTableRef","onSetPaginationStatus","status","onFormFinish","_extends3","_jsx","value","tableList","tableTotal","children","EasyTableFilter","queryButtonProps","resetButtonProps","filterOperate","_useEasyTableCtx","childrens","Children","toArray","onReset","$await_1","pageSiz","formOperateColProps","rightList","hidden","ButtonWrapper","type","htmlType","text","onClick","formRowChildren","map","item","index","FormGrid","Col","concat","OperateCol","SimpleLayout","onFinish","isPure","Row","gutter","EasyTableTable","rowKey","pagination","otherProps","_objectWithoutPropertiesLoose","_excluded","paginationData","showSizeChanger","current","showTotal","onChangePage","data","_len","arguments","length","Array","_key","onChange","apply","useMemo","isUndefinedOrNull","getUuid","fbaHooks","useEffectCustom","_jsxs","Table","size","scroll","x","bordered","useEasyTablRef","useRef","attachPropertiesToComponent","EasyTableInner","Filter"],"mappings":"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"}
package/index.d.ts CHANGED
@@ -540,6 +540,17 @@ export interface DropdownMenuWrapperProps extends Omit<DropdownProps, "menu"> {
540
540
  menuList: Array<DropdownMenuItem | null>;
541
541
  }
542
542
  export declare const DropdownMenuWrapper: (props: DropdownMenuWrapperProps) => JSX.Element;
543
+ export type EasyTableRefApi = {
544
+ /** 外部发起请求服务 */
545
+ onRequest: (params?: TPlainObject) => void;
546
+ /** 获取请求参数 */
547
+ getRequestParams: () => TPlainObject;
548
+ /** 清楚查询条件 */
549
+ clearQueryCondition: (values?: TPlainObject) => Promise<void>;
550
+ form: FormInstance;
551
+ /** 重置请求 */
552
+ onResetRequest: (params?: TPlainObject) => void;
553
+ };
543
554
  export type EasyTableServiceConfig = {
544
555
  /** 接口配置 */
545
556
  onRequest: (params?: TPlainObject) => Promise<TPlainObject | TPlainObject[]>;
@@ -557,17 +568,6 @@ export type EasyTableServiceConfig = {
557
568
  */
558
569
  requestResultAdapter?: (params: TAny) => TPlainObject;
559
570
  };
560
- export type EasyTableRefApi = {
561
- /** 外部发起请求服务 */
562
- onRequest: (params?: TPlainObject) => void;
563
- /** 获取请求参数 */
564
- getRequestParams: () => TPlainObject;
565
- /** 清楚查询条件 */
566
- clearQueryCondition: (values?: TPlainObject) => Promise<void>;
567
- form: FormInstance;
568
- /** 重置请求 */
569
- onResetRequest: (params?: TPlainObject) => void;
570
- };
571
571
  export type EasyTableProps = {
572
572
  children: ReactElement | ReactElement[];
573
573
  modelKey: string;
@@ -636,24 +636,24 @@ export declare const EasyTable: import("react").ForwardRefExoticComponent<EasyTa
636
636
  *```
637
637
  *1. 用法1
638
638
  * -- 默认网格布局 规则:{ xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 }
639
- * <EasyTableFilter>
639
+ * <EasyTable.Filter>
640
640
  * <Form.Item name="field1" label="条件1">xxx</Form.Item>
641
- * </EasyTableFilter>
641
+ * </EasyTable.Filter>
642
642
  *
643
643
  * -- 自定义网格布局 使用 FormCol组件包装 Form.Item
644
- * <EasyTableFilter>
644
+ * <EasyTable.Filter>
645
645
  * <FormCol span={12}><Form.Item name="field1" label="条件1">xxx</Form.Item></FormCol>
646
- * </EasyTableFilter>
646
+ * </EasyTable.Filter>
647
647
  *
648
648
  * -- children 可为 function
649
- * <EasyTableFilter>
649
+ * <EasyTable.Filter>
650
650
  * {(form) => {
651
651
  * return <Form.Item name="field1" label="条件1">xxx</Form.Item>
652
652
  * }}
653
- * </EasyTableFilter>
653
+ * </EasyTable.Filter>
654
654
  *2. 用户2(自定义布局)
655
- * EasyTableFilter设置 isPure = true,FormItem无布局规则
656
- *3. EasyTableFilter中内置了 Form 标签,当children为函数时,可获取form实例
655
+ * EasyTable.Filter设置 isPure = true,FormItem无布局规则
656
+ *3. EasyTable.Filter中内置了 Form 标签,当children为函数时,可获取form实例
657
657
  *4. 默认布局下,可通过设置 filterOperate 设置操作按钮
658
658
  *```
659
659
  */
@@ -666,6 +666,7 @@ export declare const EasyTable: import("react").ForwardRefExoticComponent<EasyTa
666
666
  * ```
667
667
  */
668
668
  Table: (props: EasyTableTableProps) => JSX.Element;
669
+ useEasyTablRef: () => import("react").MutableRefObject<EasyTableRefApi>;
669
670
  };
670
671
  export interface EditableFieldProps {
671
672
  className?: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flatbiz/antd",
3
- "version": "4.2.1",
3
+ "version": "4.2.2",
4
4
  "description": "flat-biz oss ui components",
5
5
  "main": "index.js",
6
6
  "typings": "index.d.ts",