@flatbiz/antd 4.2.15 → 4.2.16

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.
@@ -0,0 +1 @@
1
+ .fba-easy-table-filter-fixed,.fba-easy-table-full,.fba-easy-table-pagination-fixed{display:flex;flex-direction:column;height:100%}.fba-easy-table-filter-fixed .easy-table-table,.fba-easy-table-full .easy-table-table,.fba-easy-table-pagination-fixed .easy-table-table{flex:1}.fba-easy-table-filter-fixed{overflow:hidden}.fba-easy-table-filter-fixed .easy-table-table{overflow-y:auto}.fba-easy-table-wrapper{display:flex;flex-direction:column;height:100%}.fba-easy-table-wrapper .fba-easy-table{flex:1;height:auto;overflow-y:auto}.fba-easy-table-pagination{background-color:#fff;box-shadow:0 0 17px rgba(0,0,0,.08);padding:15px 15px 20px;position:relative;text-align:right;z-index:2}
@@ -7,5 +7,5 @@ import './../form-grid/index.css';
7
7
  import './../simple-layout/index.css';
8
8
  import './index.css';
9
9
  /*! @flatjs/forge MIT @flatbiz/antd */
10
- import{a as e}from"../attach-properties-to-component-9d9644cf.js";import{isArray as r}from"@dimjs/lang/cjs/is-array";import{hooks as t}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 m,useRef as p,useMemo as f}from"react";import{createCtx as v}from"@wove/react/cjs/create-ctx";import{Model as g}from"@dimjs/model-react";import{jsx as y,jsxs as h}from"react/jsx-runtime";import{B as C}from"../button-wrapper-698da5b1.js";import{FormGrid as S}from"../form-grid/index.js";import{S as j}from"../simple-layout-1676e586.js";import{isUndefinedOrNull as F,getUuid as q}from"@flatbiz/utils";import{fbaHooks as R}from"../fba-hooks/index.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-promise";import"../config-provider-wrapper-dfe8f592.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"../fba-utils-a4c7d94d.js";import"@dimjs/utils/cjs/class-names";import"../use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/extend";var b=v(),z=b[0],P=b[1];var w={queryCondition:{},isInit:true};var N={actions:{updateFilterCondition:function e(r){return function(e){e.queryCondition=i({},e.queryCondition,r)}},resetFilterCondition:function e(){return function(e){e.queryCondition=w.queryCondition}},updateInitStatus:function e(){return function(e){e.isInit=false}}},state:w};var k={};var T=function e(r){if(!k[r]){k[r]=g(N)}return k[r]};var x=l((function(e,n){var s;var l=c([]),m=l[0],p=l[1];var f=c(0),v=f[0],g=f[1];var h=c(false),C=h[0],S=h[1];var j=T(e.modelKey).useStore(),F=j[0],q=j[1];var R=e.pageSize||((s=e.initialPaginationParams)==null?void 0:s.pageSize)||10;var b=e.initRequest===undefined?true:e.initRequest;var z=c(false),w=z[0],N=z[1];var k=i({list:"list",total:"tatal",pageNo:"pageNo",pageSize:"pageSize"},e.fieldNames);var x=a.useForm(),V=x[0];var K=t.useCallbackRef((function(t){return new Promise((function(i,n){var a,s,l,c,d,m,f,v,y,h;var C=function(){try{return i()}catch(e){return n(e)}};var j=function(e){try{S(false);void u.error(e.message);return C()}catch(e){return n(e)}};try{S(true);return Promise.resolve(q.updateFilterCondition(t)).then((function(t){try{a=t;s=o(a.queryCondition||{});l=e.serviceConfig,c=l.requestParamsAdapter,d=l.onRequest,m=l.requestResultAdapter;f=c?c(s):s;return Promise.resolve(d(f)).then((function(t){try{v=t||{};e.onDataSourceChange==null?void 0:e.onDataSourceChange(v);y=m?m(v):v;h=y[k.list];p(r(h)?h:[]);g(y[k.total]);S(false);return C()}catch(e){return j(e)}}),j)}catch(e){return j(e)}}),j)}catch(e){j(e)}}))}));var E=t.useCallbackRef((function(e){return new Promise((function(r,t){return Promise.resolve(q.resetFilterCondition()).then((function(i){try{V.resetFields();if(e){void q.updateFilterCondition(e);V.setFieldsValue(e)}return r()}catch(e){return t(e)}}),t)}))}));var I=function e(r,t){if(w){var i;return i={},i[k.pageNo]=r,i[k.pageSize]=t||R,i}else{return{}}};var A=t.useCallbackRef((function(r){return new Promise((function(t,n){return Promise.resolve(q.resetFilterCondition()).then((function(o){try{V.resetFields();void K(i({},I(1,R),e.initialValues,r));return t()}catch(e){return n(e)}}),n)}))}));var B=t.useCallbackRef((function(){return i({},F.queryCondition,V.getFieldsValue())}));var L=function e(){return{onRequest:K,clearQueryCondition:E,getRequestParams:B,onResetRequest:A,form:V}};d(n,(function(){return L()}));var O=function e(r){N(r)};var _=function r(){var t=V.getFieldsValue();if(e.onFormFinish){e.onFormFinish(i({},t,I(1,F.queryCondition.pageSize)))}else{void K(i({},t,I(1,F.queryCondition.pageSize)))}};return y(P,{value:{getEasyTableRef:L,modelKey:e.modelKey,onRequest:K,tableList:m,tableTotal:v,loading:C,fieldNames:k,pageSize:R,initRequest:b,initialValues:e.initialValues||{},onSetPaginationStatus:O,paginationStatus:w,onFormFinish:_,form:V},children:e.children})}));var V=function e(r){var n=r.queryButtonProps,o=r.resetButtonProps,u=r.filterOperate;var s=z(),l=s.modelKey,c=s.fieldNames,d=s.onRequest,p=s.pageSize,f=s.paginationStatus,v=s.initialValues,g=s.form,h=s.onFormFinish;var F=typeof r.children==="function"?r.children(g):r.children;var q=m.toArray(F);var R=T(l).useStore(),b=R[0],P=R[1];var w=t.useCallbackRef((function(){return new Promise((function(e,r){var t;return Promise.resolve(P.resetFilterCondition()).then((function(n){try{g.resetFields();if(f){d(i((t={},t[c.pageNo]=1,t[c.pageSize]=p,t),v))}else{d(v)}return e()}catch(e){return r(e)}}),r)}))}));var N=i({rightList:[!(n!=null&&n.hidden)?y(C,i({type:"primary",htmlType:"submit"},n,{children:(n==null?void 0:n.text)||"查询"}),"1"):null,!(o!=null&&o.hidden)?y(C,i({onClick:w},o,{children:(o==null?void 0:o.text)||"重置"}),"2"):null]},u==null?void 0:u(g));var k=q.map((function(e,r){if(e.type["domTypeName"]==="FormCol"){return e}return y(S.Col,{children:e},r)})).concat(y(S.OperateCol,i({},N),99));return y(j,{children:y(a,{form:g,onFinish:h,initialValues:i({},v,b.queryCondition),children:r.isPure?F:y(S.Row,{gutter:[15,0],children:k})})})};var K=function e(){var r=z();var t=p(r.getEasyTableRef());return t.current};var E=function e(){var r=z(),t=r.getEasyTableRef;var i=p(t());return i};var I=["children","rowKey","pagination"];var A=function e(r){var t=r.children,o=r.rowKey,a=r.pagination,u=n(r,I);var l=z(),c=l.modelKey,d=l.fieldNames,m=l.onRequest,p=l.tableList,v=l.initRequest,g=l.pageSize,C=l.tableTotal,S=l.loading,b=l.initialValues,P=l.onSetPaginationStatus;var w=T(c).useStore(),N=w[0],k=w[1];var x=a==false?false:i({showSizeChanger:true,current:N.queryCondition[d.pageNo],pageSize:N.queryCondition[d.pageSize],total:C,showTotal:function e(r){return"共 "+r+" 条记录"}},r.pagination);var V=function e(t){if(x){var i;m((i={},i[d.pageSize]=t.pageSize,i[d.pageNo]=t.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]}r.onChange==null?void 0:r.onChange.apply(r,[t].concat(o))};var K=f((function(){if(p.length===0){return[]}if(F(p[0][o])){return p.map((function(e){e[o]=q();return e}))}return p}),[p,o]);R.useEffectCustom((function(){var e=x!==false;P(e);if(v!==false||!N.isInit){if(e){var r;void m(i((r={},r[d.pageNo]=1,r[d.pageSize]=g,r),b))}else{void m(b)}}else{void k.updateFilterCondition(b)}void k.updateInitStatus()}),[]);return h(j,{children:[t,y(s,i({size:"small",scroll:{x:"max-content"},bordered:true},u,{pagination:x,rowKey:o,onChange:V,loading:S,dataSource:K}))]})};var B=e(x,{Filter:V,Table:A,useEasyTablRef:E,useEasyTable:K});export{B as EasyTable};
10
+ import{a as e}from"../attach-properties-to-component-9d9644cf.js";import{classNames as i}from"@dimjs/utils/cjs/class-names";import{isArray as t}from"@dimjs/lang/cjs/is-array";import{hooks as n}from"@wove/react/cjs/hooks";import{a as r,_ as a}from"../_rollupPluginBabelHelpers-1f4d8910.js";import{cloneState as o}from"@dimjs/model";import{Form as l,Pagination as s,message as u,Table as d}from"antd";import{forwardRef as c,useState as f,useImperativeHandle as p,useMemo as m,Children as g,useRef as v}from"react";import{createCtx as y}from"@wove/react/cjs/create-ctx";import{Model as h}from"@dimjs/model-react";import{jsx as C,jsxs as S}from"react/jsx-runtime";import b from"@ant-design/icons/es/icons/DownOutlined";import F from"@ant-design/icons/es/icons/UpOutlined";import{B as j}from"../button-wrapper-698da5b1.js";import{FormGrid as q}from"../form-grid/index.js";import{S as z}from"../simple-layout-1676e586.js";import{isUndefinedOrNull as R,getUuid as N}from"@flatbiz/utils";import{fbaHooks as w}from"../fba-hooks/index.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-promise";import"../config-provider-wrapper-dfe8f592.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"../fba-utils-a4c7d94d.js";import"../use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/extend";var P=y(),x=P[0],k=P[1];var T={queryCondition:{},isInit:true};var K={actions:{updateFilterCondition:function e(i){return function(e){e.queryCondition=r({},e.queryCondition,i)}},resetFilterCondition:function e(){return function(e){e.queryCondition=T.queryCondition}},updateInitStatus:function e(){return function(e){e.isInit=false}}},state:T};var L={};var V=function e(i){if(!L[i]){L[i]=h(K)}return L[i]};var E=c((function(e,a){var d;var c=f([]),g=c[0],v=c[1];var y=f(0),h=y[0],b=y[1];var F=f(false),j=F[0],q=F[1];var z=V(e.modelKey).useStore(),R=z[0],N=z[1];var w=e.pageSize||((d=e.initialPaginationParams)==null?void 0:d.pageSize)||10;var P=e.initRequest===undefined?true:e.initRequest;var x=f(false),T=x[0],K=x[1];var L=r({list:"list",total:"tatal",pageNo:"pageNo",pageSize:"pageSize"},e.fieldNames);var E=l.useForm(),O=E[0];var B=n.useCallbackRef((function(i){return new Promise((function(n,r){var a,l,s,d,c,f,p,m,g,y;var h=function(){try{return n()}catch(e){return r(e)}};var C=function(e){try{q(false);void u.error(e.message);return h()}catch(e){return r(e)}};try{q(true);return Promise.resolve(N.updateFilterCondition(i)).then((function(i){try{a=i;l=o(a.queryCondition||{});s=e.serviceConfig,d=s.requestParamsAdapter,c=s.onRequest,f=s.requestResultAdapter;p=d?d(l):l;return Promise.resolve(c(p)).then((function(i){try{m=i||{};e.onDataSourceChange==null?void 0:e.onDataSourceChange(m);g=f?f(m):m;y=g[L.list];v(t(y)?y:[]);b(g[L.total]);q(false);return h()}catch(e){return C(e)}}),C)}catch(e){return C(e)}}),C)}catch(e){C(e)}}))}));var I=n.useCallbackRef((function(e){return new Promise((function(i,t){return Promise.resolve(N.resetFilterCondition()).then((function(n){try{O.resetFields();if(e){void N.updateFilterCondition(e);O.setFieldsValue(e)}return i()}catch(e){return t(e)}}),t)}))}));var A=function e(i,t){if(T){var n;return n={},n[L.pageNo]=i,n[L.pageSize]=t||w,n}else{return{}}};var D=n.useCallbackRef((function(i){return new Promise((function(t,n){return Promise.resolve(N.resetFilterCondition()).then((function(a){try{O.resetFields();void B(r({},A(1,w),e.initialValues,i));return t()}catch(e){return n(e)}}),n)}))}));var _=n.useCallbackRef((function(){return r({},R.queryCondition,O.getFieldsValue())}));var U=function e(){return{onRequest:B,clearQueryCondition:I,getRequestParams:_,onResetRequest:D,form:O}};p(a,(function(){return U()}));var Y=function e(i){K(i)};var H=function i(){var t=O.getFieldsValue();if(e.onFormFinish){e.onFormFinish(r({},t,A(1,R.queryCondition.pageSize)))}else{void B(r({},t,A(1,R.queryCondition.pageSize)))}};var Q=i("fba-easy-table",{"fba-easy-table-full":e.isFull,"fba-easy-table-filter-fixed":e.filterFixed,"fba-easy-table-pagination-fixed":e.paginationFixed});var $=m((function(){return r({showSizeChanger:true,current:R.queryCondition[L.pageNo],pageSize:R.queryCondition[L.pageSize]||w,total:h,showTotal:function e(i){return"共 "+i+" 条记录"}},e.pagination)}),[L.pageNo,L.pageSize,w,e.pagination,R.queryCondition,h]);var G=n.useCallbackRef((function(i,t){var n,r;void B((n={},n[L.pageSize]=t,n[L.pageNo]=i,n));(r=e.pagination)==null?void 0:r.onChange==null?void 0:r.onChange(i,t)}));return C(k,{value:{getEasyTableRef:U,modelKey:e.modelKey,onRequest:B,tableList:g,tableTotal:h,loading:j,fieldNames:L,pageSize:w,initRequest:P,initialValues:e.initialValues||{},onSetPaginationStatus:Y,paginationStatus:T,onFormFinish:H,form:O,paginationFixed:e.paginationFixed||false,foldKeys:e.foldKeys||[]},children:e.paginationFixed?S("div",{className:"fba-easy-table-wrapper",children:[C("div",{className:Q,children:e.children}),C(s,r({className:"fba-easy-table-pagination",size:"small"},$,{onChange:G}))]}):C("div",{className:Q,children:e.children})})}));var O=function e(i){var t=i.queryButtonProps,a=i.resetButtonProps,o=i.filterOperate;var s=x(),u=s.modelKey,d=s.foldKeys,c=s.fieldNames,p=s.onRequest,v=s.pageSize,y=s.paginationStatus,h=s.initialValues,R=s.form,N=s.onFormFinish;var w=typeof i.children==="function"?i.children(R):i.children;var P=g.toArray(w);var k=f(false),T=k[0],K=k[1];var L=V(u).useStore(),E=L[0],O=L[1];var B=n.useCallbackRef((function(){return new Promise((function(e,i){var t;return Promise.resolve(O.resetFilterCondition()).then((function(n){try{R.resetFields();if(y){p(r((t={},t[c.pageNo]=1,t[c.pageSize]=v,t),h))}else{p(h)}return e()}catch(e){return i(e)}}),i)}))}));var I=m((function(){var e=r({rightList:[!(t!=null&&t.hidden)?C(j,r({type:"primary",htmlType:"submit"},t,{children:(t==null?void 0:t.text)||"查询"}),"1"):null,!(a!=null&&a.hidden)?C(j,r({onClick:B},a,{children:(a==null?void 0:a.text)||"重置"}),"2"):null],leftList:[]},o==null?void 0:o(R));if(d.length>0){var i=C(j,{type:"link",style:{padding:"0"},onClick:function e(){K(!T)},children:T?S("span",{children:["收起",C(F,{style:{marginLeft:3,fontSize:12}})]}):S("span",{children:["展开",C(b,{style:{marginLeft:3,fontSize:12}})]})});var n=e.rightList,l=e.leftList;if(n.length>0||l.length===0){n.push(i)}else if((l==null?void 0:l.length)>0){l.push(i)}}return P.map((function(e,i){if(!T&&d.find((function(i){return".$"+i===e.key})))return null;if(e.type["domTypeName"]==="FormCol"){return e}return C(q.Col,{children:e},i)})).filter(Boolean).concat(C(q.OperateCol,r({},e),999))}),[P,o,d,R,B,T,t,a]);return C(z,{className:"easy-table-filter",children:C(l,{form:R,onFinish:N,initialValues:r({},h,E.queryCondition),children:i.isPure?w:C(q.Row,{gutter:[15,0],children:I})})})};var B=function e(){var i=x();var t=v(i.getEasyTableRef());return t.current};var I=function e(){var i=x(),t=i.getEasyTableRef;var n=v(t());return n};var A=["children","rowKey","pagination"];var D=function e(i){var t=i.children,n=i.rowKey,o=i.pagination,l=a(i,A);var s=x(),u=s.modelKey,c=s.fieldNames,f=s.onRequest,p=s.tableList,g=s.initRequest,v=s.pageSize,y=s.tableTotal,h=s.loading,b=s.initialValues,F=s.paginationFixed,j=s.onSetPaginationStatus;var q=V(u).useStore(),P=q[0],k=q[1];var T=m((function(){if(F||o===false)return false;return r({showSizeChanger:true,current:P.queryCondition[c.pageNo],pageSize:P.queryCondition[c.pageSize]||v,total:y,showTotal:function e(i){return"共 "+i+" 条记录"}},i.pagination)}),[c.pageNo,c.pageSize,v,o,F,i.pagination,P.queryCondition,y]);var K=function e(t){if(!F&&T){var n;f((n={},n[c.pageSize]=t.pageSize,n[c.pageNo]=t.current,n))}for(var r=arguments.length,a=new Array(r>1?r-1:0),o=1;o<r;o++){a[o-1]=arguments[o]}i.onChange==null?void 0:i.onChange.apply(i,[t].concat(a))};var L=m((function(){if(p.length===0){return[]}if(R(p[0][n])){return p.map((function(e){e[n]=N();return e}))}return p}),[p,n]);w.useEffectCustom((function(){var e=T!==false;j(e);if(g!==false||!P.isInit){if(e){var i;void f(r((i={},i[c.pageNo]=1,i[c.pageSize]=v,i),b))}else{void f(b)}}else{void k.updateFilterCondition(b)}void k.updateInitStatus()}),[]);return S(z,{className:"easy-table-table",children:[t,C(d,r({size:"small",scroll:{x:"max-content"},bordered:true},l,{pagination:T,rowKey:n,onChange:K,loading:h,dataSource:L}))]})};var _=e(E,{Filter:O,Table:D,useEasyTablRef:I,useEasyTable:B});export{_ as EasyTable};
11
11
  //# 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/hooks.ts","@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';\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 * 分页初始化参数,默认值: pageSize = 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 onInnerRequest = 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\n const getPaginationData = (pageNo: number, _pageSize: number) => {\n if (paginationStatus) {\n return {\n [fieldNames.pageNo]: pageNo,\n [fieldNames.pageSize]: _pageSize || pageSize,\n };\n } else {\n return {};\n }\n };\n\n const onResetRequest = hooks.useCallbackRef(async (values?: TPlainObject) => {\n await actions.resetFilterCondition();\n form.resetFields();\n void onInnerRequest({\n ...getPaginationData(1, pageSize),\n ...props.initialValues,\n ...values,\n });\n });\n\n const getRequestParams = hooks.useCallbackRef(() => {\n return {\n ...state.queryCondition,\n ...form.getFieldsValue(),\n };\n });\n\n const getEasyTableRef = () => {\n return {\n onRequest: onInnerRequest,\n clearQueryCondition,\n getRequestParams,\n onResetRequest,\n form,\n };\n };\n\n useImperativeHandle(ref, () => {\n return getEasyTableRef();\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, ...getPaginationData(1, state.queryCondition.pageSize) });\n } else {\n void onInnerRequest({\n ...values,\n ...getPaginationData(1, state.queryCondition.pageSize),\n });\n }\n };\n\n return (\n <EasyTableCtxProvider\n value={{\n getEasyTableRef,\n modelKey: props.modelKey,\n onRequest: onInnerRequest,\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 onReset = hooks.useCallbackRef(async () => {\n await actions.resetFilterCondition();\n form.resetFields();\n if (paginationStatus) {\n onRequest({\n [fieldNames.pageNo]: 1,\n [fieldNames.pageSize]: 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 { useRef } from 'react';\nimport { useEasyTableCtx } from './context';\nimport { EasyTableRefApi } from './type';\n\n/**\n * 在 EasyTable子组件内才可使用\n * @returns\n */\nexport const useEasyTable = () => {\n const ctx = useEasyTableCtx();\n const resp = useRef(ctx.getEasyTableRef());\n return resp.current;\n};\n\n/**\n *\n * @deprecated 已过去,请使用 useEasyTable\n * @returns\n */\nexport const useEasyTablRef = () => {\n const { getEasyTableRef } = useEasyTableCtx();\n const ref = useRef<EasyTableRefApi>(getEasyTableRef());\n return ref;\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 const hasPagination = paginationData !== false;\n onSetPaginationStatus(hasPagination);\n if (initRequest !== false || !state.isInit) {\n if (hasPagination) {\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 { attachPropertiesToComponent } from '../_utils/attach-properties-to-component';\nimport { EasyTable as EasyTableInner } from './easy-table';\nimport { EasyTableFilter } from './filter';\nimport { useEasyTable, useEasyTablRef } from './hooks';\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 * <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 /**\n * @deprecated 已过去,请使用 useEasyTable\n */\n useEasyTablRef: useEasyTablRef,\n\n /** 在 EasyTable子组件内才可使用 */\n useEasyTable: useEasyTable,\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","onInnerRequest","_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","getPaginationData","_pageSize","_ref","onResetRequest","$await_5","initialValues","getRequestParams","getFieldsValue","getEasyTableRef","useImperativeHandle","onSetPaginationStatus","status","onFormFinish","_jsx","value","tableList","tableTotal","children","EasyTableFilter","queryButtonProps","resetButtonProps","filterOperate","_useEasyTableCtx","childrens","Children","toArray","onReset","_extends2","$await_1","formOperateColProps","rightList","hidden","ButtonWrapper","type","htmlType","text","onClick","formRowChildren","map","item","index","FormGrid","Col","concat","OperateCol","SimpleLayout","onFinish","isPure","Row","gutter","useEasyTable","ctx","resp","useRef","current","useEasyTablRef","EasyTableTable","rowKey","pagination","otherProps","_objectWithoutPropertiesLoose","_excluded","paginationData","showSizeChanger","showTotal","onChangePage","data","_onRequest","_len","arguments","length","Array","_key","onChange","apply","useMemo","isUndefinedOrNull","getUuid","fbaHooks","useEffectCustom","hasPagination","_jsxs","Table","size","scroll","x","bordered","attachPropertiesToComponent","EasyTableInner","Filter"],"mappings":"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"}
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/hooks.ts","@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';\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 paginationFixed: boolean;\n foldKeys: string[];\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 { classNames } from '@dimjs/utils';\nimport { TAny, TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Form, message, Pagination, PaginationProps } from 'antd';\nimport { forwardRef, ReactElement, useImperativeHandle, useMemo, useState } from 'react';\nimport { EasyTableCtxProvider } from './context';\nimport { easyTableModel } from './model';\nimport './style.less';\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 /** EasyTable唯一值,可用于缓存查询条件 */\n modelKey: string;\n /** 接口数据配置 */\n serviceConfig: EasyTableServiceConfig;\n /**\n * 1. 查询条件Form initialValues\n * 2. 接口其他参数,例如常量类型\n */\n initialValues?: TPlainObject;\n /**\n * 分页初始化参数,默认值: pageSize = 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 isFull?: boolean;\n /** 查询条件固定,不随滚动条滚动 */\n filterFixed?: boolean;\n /** 分页区域固定,不随滚动条滚动 */\n paginationFixed?: boolean;\n /**\n * 1. 配合paginationFixed=true一起使用有效果\n * 2. 当使用Table内的pagination时,在EasyTable.Table中配置分页属性\n */\n pagination?: PaginationProps;\n /**\n * 查询条件展开、收起,被收起key数组;数组内容为EasyTable.Filter 子节点key值\n */\n foldKeys?: string[];\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 onInnerRequest = 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\n const getPaginationData = (pageNo: number, _pageSize: number) => {\n if (paginationStatus) {\n return {\n [fieldNames.pageNo]: pageNo,\n [fieldNames.pageSize]: _pageSize || pageSize,\n };\n } else {\n return {};\n }\n };\n\n const onResetRequest = hooks.useCallbackRef(async (values?: TPlainObject) => {\n await actions.resetFilterCondition();\n form.resetFields();\n void onInnerRequest({\n ...getPaginationData(1, pageSize),\n ...props.initialValues,\n ...values,\n });\n });\n\n const getRequestParams = hooks.useCallbackRef(() => {\n return {\n ...state.queryCondition,\n ...form.getFieldsValue(),\n };\n });\n\n const getEasyTableRef = () => {\n return {\n onRequest: onInnerRequest,\n clearQueryCondition,\n getRequestParams,\n onResetRequest,\n form,\n };\n };\n\n useImperativeHandle(ref, () => {\n return getEasyTableRef();\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, ...getPaginationData(1, state.queryCondition.pageSize) });\n } else {\n void onInnerRequest({\n ...values,\n ...getPaginationData(1, state.queryCondition.pageSize),\n });\n }\n };\n\n const className = classNames('fba-easy-table', {\n 'fba-easy-table-full': props.isFull,\n 'fba-easy-table-filter-fixed': props.filterFixed,\n 'fba-easy-table-pagination-fixed': props.paginationFixed,\n });\n\n const paginationData = useMemo(() => {\n return {\n showSizeChanger: true,\n current: state.queryCondition[fieldNames.pageNo],\n pageSize: state.queryCondition[fieldNames.pageSize] || pageSize,\n total: total,\n showTotal: (total) => `共 ${total} 条记录`,\n ...props.pagination,\n };\n }, [fieldNames.pageNo, fieldNames.pageSize, pageSize, props.pagination, state.queryCondition, total]);\n\n const onChange = hooks.useCallbackRef((page: number, pageSize: number) => {\n void onInnerRequest({ [fieldNames.pageSize]: pageSize, [fieldNames.pageNo]: page });\n props.pagination?.onChange?.(page, pageSize);\n });\n\n return (\n <EasyTableCtxProvider\n value={{\n getEasyTableRef,\n modelKey: props.modelKey,\n onRequest: onInnerRequest,\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 paginationFixed: props.paginationFixed || false,\n foldKeys: props.foldKeys || [],\n }}\n >\n {props.paginationFixed ? (\n <div className=\"fba-easy-table-wrapper\">\n <div className={className}>{props.children}</div>\n <Pagination\n className=\"fba-easy-table-pagination\"\n size=\"small\"\n {...paginationData}\n onChange={onChange}\n />\n </div>\n ) : (\n <div className={className}>{props.children}</div>\n )}\n </EasyTableCtxProvider>\n );\n});\n","import { DownOutlined, UpOutlined } from '@ant-design/icons';\nimport { hooks } from '@wove/react';\nimport { ButtonProps, Form, FormInstance } from 'antd';\nimport { Children, ReactElement, useMemo, useState } 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 {\n modelKey,\n foldKeys,\n fieldNames,\n onRequest,\n pageSize,\n paginationStatus,\n initialValues,\n form,\n onFormFinish,\n } = useEasyTableCtx();\n const children = typeof props.children === 'function' ? props.children(form) : props.children;\n const childrens = Children.toArray(children) as ReactElement[];\n\n const [openFold, setOpenFold] = useState(false);\n\n const [state, actions] = easyTableModel(modelKey).useStore();\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.pageSize]: pageSize,\n ...initialValues,\n });\n } else {\n onRequest(initialValues);\n }\n });\n\n const formRowChildren = useMemo(() => {\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 leftList: [],\n ...filterOperate?.(form),\n };\n\n if (foldKeys.length > 0) {\n const changeFolditem = (\n <ButtonWrapper\n type=\"link\"\n style={{ padding: '0' }}\n onClick={() => {\n setOpenFold(!openFold);\n }}\n >\n {openFold ? (\n <span>\n 收起\n <UpOutlined style={{ marginLeft: 3, fontSize: 12 }} />\n </span>\n ) : (\n <span>\n 展开\n <DownOutlined style={{ marginLeft: 3, fontSize: 12 }} />\n </span>\n )}\n </ButtonWrapper>\n );\n const { rightList, leftList } = formOperateColProps;\n if (rightList.length > 0 || leftList.length === 0) {\n rightList.push(changeFolditem);\n } else if (leftList?.length > 0) {\n leftList.push(changeFolditem);\n }\n }\n\n return childrens\n .map((item, index) => {\n if (!openFold && foldKeys.find((keyItem) => `.$${keyItem}` === item.key)) return null;\n if (item.type['domTypeName'] === 'FormCol') {\n return item;\n }\n return <FormGrid.Col key={index}>{item}</FormGrid.Col>;\n })\n .filter(Boolean)\n .concat(<FormGrid.OperateCol key={999} {...formOperateColProps} />);\n }, [childrens, filterOperate, foldKeys, form, onReset, openFold, queryButtonProps, resetButtonProps]);\n\n return (\n <SimpleLayout className=\"easy-table-filter\">\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 { useRef } from 'react';\nimport { useEasyTableCtx } from './context';\nimport { EasyTableRefApi } from './type';\n\n/**\n * 在 EasyTable子组件内才可使用\n * @returns\n */\nexport const useEasyTable = () => {\n const ctx = useEasyTableCtx();\n const resp = useRef(ctx.getEasyTableRef());\n return resp.current;\n};\n\n/**\n *\n * @deprecated 已过去,请使用 useEasyTable\n * @returns\n */\nexport const useEasyTablRef = () => {\n const { getEasyTableRef } = useEasyTableCtx();\n const ref = useRef<EasyTableRefApi>(getEasyTableRef());\n return ref;\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 | 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 paginationFixed,\n onSetPaginationStatus,\n } = useEasyTableCtx();\n const [state, actions] = easyTableModel(modelKey).useStore();\n\n const paginationData = useMemo(() => {\n if (paginationFixed || pagination === false) return false;\n return {\n showSizeChanger: true,\n current: state.queryCondition[fieldNames.pageNo],\n pageSize: state.queryCondition[fieldNames.pageSize] || pageSize,\n total: tableTotal,\n showTotal: (total) => `共 ${total} 条记录`,\n ...props.pagination,\n };\n }, [\n fieldNames.pageNo,\n fieldNames.pageSize,\n pageSize,\n pagination,\n paginationFixed,\n props.pagination,\n state.queryCondition,\n tableTotal,\n ]);\n\n const onChangePage: TableProps<TAny>['onChange'] = (data, ...otherProps) => {\n if (!paginationFixed && 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 const hasPagination = paginationData !== false;\n onSetPaginationStatus(hasPagination);\n if (initRequest !== false || !state.isInit) {\n if (hasPagination) {\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 className=\"easy-table-table\">\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 { attachPropertiesToComponent } from '../_utils/attach-properties-to-component';\nimport { EasyTable as EasyTableInner } from './easy-table';\nimport { EasyTableFilter } from './filter';\nimport { useEasyTable, useEasyTablRef } from './hooks';\nimport { EasyTableTable } from './table';\n\n/**\n * 对 查询条件+表格数据 进行深度封装,内置数据交互处理\n * ```\n * 1. 需要获取查询条件、主动发起请求等可通过ref、useEasyTable操作\n * 2. 可通过属性 initRequest 设置初始化是否请求数据\n * 3. 可通过属性 fieldNames 来设置自定义变量,默认值为:list、total、pageNo、pageSize\n * 4. isFull=true,设置【在父节点高度下,上下铺满】\n * 5. filterFixed=true,设置查询条件固定,不随滚动条滚动\n * 6. paginationFixed=true,可设置分页条件在底部固定,不随滚动条滚动\n * 7. foldKeys=string[],查询条件展开、收起,被收起key数组;数组内容为EasyTable.Filter 子节点key值\n *\n * Demo https://fex.qa.tcshuke.com/docs/admin/main/crud/easy-table\n * ```\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 /**\n * @deprecated 已过去,请使用 useEasyTable\n */\n useEasyTablRef: useEasyTablRef,\n\n /** 在 EasyTable子组件内才可使用 */\n useEasyTable: useEasyTable,\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","onInnerRequest","_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","getPaginationData","_pageSize","_ref","onResetRequest","$await_5","initialValues","getRequestParams","getFieldsValue","getEasyTableRef","useImperativeHandle","onSetPaginationStatus","status","onFormFinish","className","_classNames","isFull","filterFixed","paginationFixed","paginationData","useMemo","showSizeChanger","current","showTotal","pagination","onChange","page","_onInnerRequest","_props$pagination","_jsx","value","tableList","tableTotal","foldKeys","children","_jsxs","Pagination","size","EasyTableFilter","queryButtonProps","resetButtonProps","filterOperate","_useEasyTableCtx","childrens","Children","toArray","openFold","setOpenFold","onReset","_extends2","$await_1","formRowChildren","formOperateColProps","rightList","hidden","ButtonWrapper","type","htmlType","text","onClick","leftList","length","changeFolditem","style","padding","_UpOutlined","marginLeft","fontSize","_DownOutlined","push","map","item","index","find","keyItem","FormGrid","Col","filter","Boolean","concat","OperateCol","SimpleLayout","onFinish","isPure","Row","gutter","useEasyTable","ctx","resp","useRef","useEasyTablRef","EasyTableTable","rowKey","otherProps","_objectWithoutPropertiesLoose","_excluded","onChangePage","data","_onRequest","_len","arguments","Array","_key","apply","isUndefinedOrNull","getUuid","fbaHooks","useEffectCustom","hasPagination","Table","scroll","x","bordered","attachPropertiesToComponent","EasyTableInner","Filter"],"mappings":"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"}
@@ -1 +1 @@
1
- .tabs-sticky{height:100%;overflow:hidden}.tabs-sticky>.ant-tabs-content-holder{flex:1;overflow-y:auto}
1
+ .tabs-fixed{height:100%;overflow:hidden}.tabs-fixed>.ant-tabs-content-holder{flex:1;overflow-y:auto}.tabs-fixed>.ant-tabs-content-holder>.ant-tabs-content,.tabs-fixed>.ant-tabs-content-holder>.ant-tabs-content>.ant-tabs-tabpane{height:100%}
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable */
2
2
  import './index.css';
3
3
  /*! @flatjs/forge MIT @flatbiz/antd */
4
- import{_ as e,a as t}from"../_rollupPluginBabelHelpers-1f4d8910.js";import{classNames as a}from"@dimjs/utils/cjs/class-names";import{hooks as r}from"@wove/react/cjs/hooks";import{sessionStorageCache as i}from"@flatbiz/utils";import{Tabs as c}from"antd";import{useMemo as o}from"react";import{jsx as v}from"react/jsx-runtime";var l=["isSticky","activeCacheKey","cancelActiveCache"];var s=function s(n){var u=n.isSticky,f=u===void 0?true:u,m=n.activeCacheKey,y=n.cancelActiveCache,p=e(n,l);var K=Object.prototype.hasOwnProperty.call(n,"activeKey");var d=m||"tabs-wrapper-activeKey";var h=r.useCallbackRef((function(e){if(y!==true&&!K){i.set(d,{activeKey:e})}p.onChange==null?void 0:p.onChange(e)}));var C=o((function(){var e;if(y===true||K){return n.defaultActiveKey}var t=(e=i.get(d))==null?void 0:e.activeKey;return t||p.defaultActiveKey}),[d,y,K,p.defaultActiveKey,n.defaultActiveKey]);var A=a({"tabs-sticky":f},p.className);return v(c,t({},p,{className:A,defaultActiveKey:C,onChange:h}))};export{s as TabsWrapper};
4
+ import{_ as e,a as t}from"../_rollupPluginBabelHelpers-1f4d8910.js";import{classNames as a}from"@dimjs/utils/cjs/class-names";import{hooks as r}from"@wove/react/cjs/hooks";import{isUndefined as i}from"@dimjs/lang/cjs/is-undefined";import{sessionStorageCache as c}from"@flatbiz/utils";import{Tabs as o}from"antd";import{useMemo as s}from"react";import{jsx as v}from"react/jsx-runtime";var l=["isSticky","isFixed","activeCacheKey","cancelActiveCache"];var n=function n(u){var f=u.isSticky,m=f===void 0?true:f,d=u.isFixed,p=d===void 0?true:d,y=u.activeCacheKey,K=u.cancelActiveCache,h=e(u,l);var j=Object.prototype.hasOwnProperty.call(u,"activeKey");var C=y||"tabs-wrapper-activeKey";var A=i(p)?m:p;var b=r.useCallbackRef((function(e){if(K!==true&&!j){c.set(C,{activeKey:e})}h.onChange==null?void 0:h.onChange(e)}));var g=s((function(){var e;if(K===true||j){return u.defaultActiveKey}var t=(e=c.get(C))==null?void 0:e.activeKey;return t||h.defaultActiveKey}),[C,K,j,h.defaultActiveKey,u.defaultActiveKey]);var x=a({"tabs-fixed":A},h.className);return v(o,t({},h,{className:x,defaultActiveKey:g,onChange:b}))};export{n as TabsWrapper};
5
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/tabs-wrapper/tabs-wrapper.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { sessionStorageCache } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Tabs, TabsProps } from 'antd';\nimport { useMemo } from 'react';\nimport './style.less';\n\nexport type TabsWrapperProps = TabsProps & {\n /** Tabs Header 提供 Sticky 效果,默认值:true */\n isSticky?: boolean;\n /** 是否取消 active 缓存 */\n cancelActiveCache?: boolean;\n activeCacheKey?: string;\n};\n\n/**\n * Tabs 包装组件\n * ```\n * 1. Tabs Header 提供 Sticky 效果,默认值:true\n * 2. 使用时,父级必须要有高度,可置于Flex布局中\n * 3. 默认缓存激活的tab item(activeKey受控操作下缓存无效)\n * 当未设置activeKey,非受控操作时,组件内部会会话缓存activeKey,在刷新时,会显示上次的激活的tab item\n * 缓存Key:如果未设置 activeCacheKey,则使用默认的 cache key(tabs-wrapper-activeKey)\n * 缓存模式:会话缓存,在浏览器关闭后,会清除\n * ```\n */\nexport const TabsWrapper = (props: TabsWrapperProps) => {\n const { isSticky = true, activeCacheKey, cancelActiveCache, ...otherProps } = props;\n // 是否受控操作\n const isControl = Object.prototype.hasOwnProperty.call(props, 'activeKey');\n const cacheKey = activeCacheKey || 'tabs-wrapper-activeKey';\n\n const onChange = hooks.useCallbackRef((activeKey: string) => {\n if (cancelActiveCache !== true && !isControl) {\n sessionStorageCache.set(cacheKey, { activeKey });\n }\n otherProps.onChange?.(activeKey);\n });\n\n const defaultActiveKey = useMemo(() => {\n if (cancelActiveCache === true || isControl) {\n return props.defaultActiveKey;\n }\n const chcheActiveKey = sessionStorageCache.get(cacheKey)?.activeKey as string | undefined;\n return chcheActiveKey || otherProps.defaultActiveKey;\n }, [cacheKey, cancelActiveCache, isControl, otherProps.defaultActiveKey, props.defaultActiveKey]);\n\n const className = classNames({ 'tabs-sticky': isSticky }, otherProps.className);\n\n return (\n <Tabs {...otherProps} className={className} defaultActiveKey={defaultActiveKey} onChange={onChange} />\n );\n};\n"],"names":["TabsWrapper","props","_props$isSticky","isSticky","activeCacheKey","cancelActiveCache","otherProps","_objectWithoutPropertiesLoose","_excluded","isControl","Object","prototype","hasOwnProperty","call","cacheKey","onChange","_hooks","useCallbackRef","activeKey","sessionStorageCache","set","defaultActiveKey","useMemo","_sessionStorageCache$","chcheActiveKey","get","className","_classNames","_jsx","Tabs","_extends"],"mappings":";iYA0BaA,EAAc,SAAdA,EAAeC,GAC1B,IAAAC,EAA8ED,EAAtEE,SAAAA,EAAQD,SAAG,EAAA,KAAIA,EAAEE,EAAqDH,EAArDG,eAAgBC,EAAqCJ,EAArCI,kBAAsBC,EAAUC,EAAKN,EAAKO,GAEnF,IAAMC,EAAYC,OAAOC,UAAUC,eAAeC,KAAKZ,EAAO,aAC9D,IAAMa,EAAWV,GAAkB,yBAEnC,IAAMW,EAAWC,EAAMC,gBAAe,SAACC,GACrC,GAAIb,IAAsB,OAASI,EAAW,CAC5CU,EAAoBC,IAAIN,EAAU,CAAEI,UAAAA,GACtC,CACAZ,EAAWS,UAAXT,UAAAA,EAAAA,EAAWS,SAAWG,EACxB,IAEA,IAAMG,EAAmBC,GAAQ,WAAM,IAAAC,EACrC,GAAIlB,IAAsB,MAAQI,EAAW,CAC3C,OAAOR,EAAMoB,gBACf,CACA,IAAMG,GAAcD,EAAGJ,EAAoBM,IAAIX,KAAxBS,UAAAA,EAAAA,EAAmCL,UAC1D,OAAOM,GAAkBlB,EAAWe,gBACtC,GAAG,CAACP,EAAUT,EAAmBI,EAAWH,EAAWe,iBAAkBpB,EAAMoB,mBAE/E,IAAMK,EAAYC,EAAW,CAAE,cAAexB,GAAYG,EAAWoB,WAErE,OACEE,EAACC,EAAIC,KAAKxB,EAAU,CAAEoB,UAAWA,EAAWL,iBAAkBA,EAAkBN,SAAUA,IAE9F"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/tabs-wrapper/tabs-wrapper.tsx"],"sourcesContent":["import { isUndefined } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { sessionStorageCache } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Tabs, TabsProps } from 'antd';\nimport { useMemo } from 'react';\nimport './style.less';\n\nexport type TabsWrapperProps = TabsProps & {\n /**\n * Tabs Header 提供 Sticky 效果,默认值:true\n * @deprecated 已废弃,请使用 isFixed 属性\n */\n isSticky?: boolean;\n /**\n * Tabs Header 提供 Fixed 效果,默认值:true\n */\n isFixed?: boolean;\n /** 是否取消 active 缓存 */\n cancelActiveCache?: boolean;\n activeCacheKey?: string;\n};\n\n/**\n * Tabs 包装组件\n * ```\n * 1. Tabs Header 提供 Sticky 效果,默认值:true\n * 2. 使用时,父级必须要有高度,可置于Flex布局中\n * 3. 默认缓存激活的tab item(activeKey受控操作下缓存无效)\n * 当未设置activeKey,非受控操作时,组件内部会会话缓存activeKey,在刷新时,会显示上次的激活的tab item\n * 缓存Key:如果未设置 activeCacheKey,则使用默认的 cache key(tabs-wrapper-activeKey)\n * 缓存模式:会话缓存,在浏览器关闭后,会清除\n * ```\n */\nexport const TabsWrapper = (props: TabsWrapperProps) => {\n const { isSticky = true, isFixed = true, activeCacheKey, cancelActiveCache, ...otherProps } = props;\n // 是否受控操作\n const isControl = Object.prototype.hasOwnProperty.call(props, 'activeKey');\n const cacheKey = activeCacheKey || 'tabs-wrapper-activeKey';\n const isFixedNew = isUndefined(isFixed) ? isSticky : isFixed;\n\n const onChange = hooks.useCallbackRef((activeKey: string) => {\n if (cancelActiveCache !== true && !isControl) {\n sessionStorageCache.set(cacheKey, { activeKey });\n }\n otherProps.onChange?.(activeKey);\n });\n\n const defaultActiveKey = useMemo(() => {\n if (cancelActiveCache === true || isControl) {\n return props.defaultActiveKey;\n }\n const chcheActiveKey = sessionStorageCache.get(cacheKey)?.activeKey as string | undefined;\n return chcheActiveKey || otherProps.defaultActiveKey;\n }, [cacheKey, cancelActiveCache, isControl, otherProps.defaultActiveKey, props.defaultActiveKey]);\n\n const className = classNames({ 'tabs-fixed': isFixedNew }, otherProps.className);\n\n return (\n <Tabs {...otherProps} className={className} defaultActiveKey={defaultActiveKey} onChange={onChange} />\n );\n};\n"],"names":["TabsWrapper","props","_props$isSticky","isSticky","_props$isFixed","isFixed","activeCacheKey","cancelActiveCache","otherProps","_objectWithoutPropertiesLoose","_excluded","isControl","Object","prototype","hasOwnProperty","call","cacheKey","isFixedNew","_isUndefined","onChange","_hooks","useCallbackRef","activeKey","sessionStorageCache","set","defaultActiveKey","useMemo","_sessionStorageCache$","chcheActiveKey","get","className","_classNames","_jsx","Tabs","_extends"],"mappings":";scAkCaA,EAAc,SAAdA,EAAeC,GAC1B,IAAAC,EAA8FD,EAAtFE,SAAAA,EAAQD,SAAG,EAAA,KAAIA,EAAAE,EAAuEH,EAArEI,QAAAA,EAAOD,SAAG,EAAA,KAAIA,EAAEE,EAAqDL,EAArDK,eAAgBC,EAAqCN,EAArCM,kBAAsBC,EAAUC,EAAKR,EAAKS,GAEnG,IAAMC,EAAYC,OAAOC,UAAUC,eAAeC,KAAKd,EAAO,aAC9D,IAAMe,EAAWV,GAAkB,yBACnC,IAAMW,EAAaC,EAAYb,GAAWF,EAAWE,EAErD,IAAMc,EAAWC,EAAMC,gBAAe,SAACC,GACrC,GAAIf,IAAsB,OAASI,EAAW,CAC5CY,EAAoBC,IAAIR,EAAU,CAAEM,UAAAA,GACtC,CACAd,EAAWW,UAAXX,UAAAA,EAAAA,EAAWW,SAAWG,EACxB,IAEA,IAAMG,EAAmBC,GAAQ,WAAM,IAAAC,EACrC,GAAIpB,IAAsB,MAAQI,EAAW,CAC3C,OAAOV,EAAMwB,gBACf,CACA,IAAMG,GAAcD,EAAGJ,EAAoBM,IAAIb,KAAxBW,UAAAA,EAAAA,EAAmCL,UAC1D,OAAOM,GAAkBpB,EAAWiB,gBACtC,GAAG,CAACT,EAAUT,EAAmBI,EAAWH,EAAWiB,iBAAkBxB,EAAMwB,mBAE/E,IAAMK,EAAYC,EAAW,CAAE,aAAcd,GAAcT,EAAWsB,WAEtE,OACEE,EAACC,EAAIC,KAAK1B,EAAU,CAAEsB,UAAWA,EAAWL,iBAAkBA,EAAkBN,SAAUA,IAE9F"}
package/index.d.ts CHANGED
@@ -3,7 +3,7 @@
3
3
 
4
4
  import { API, ModelType } from '@dimjs/model';
5
5
  import { DateFormatType, TAny, TNoopDefine, TPlainObject } from '@flatbiz/utils';
6
- import { ButtonProps, CascaderProps, CheckboxProps, DrawerProps, DropdownProps, FormInstance, FormItemProps, InputNumberProps, InputProps, ModalProps, PopconfirmProps, RadioGroupProps, RowProps, SelectProps, SpaceProps, SwitchProps, TableProps, TabsProps, TimePickerProps, TimeRangePickerProps, TooltipProps, TreeProps, TreeSelectProps, UploadProps } from 'antd';
6
+ import { ButtonProps, CascaderProps, CheckboxProps, DrawerProps, DropdownProps, FormInstance, FormItemProps, InputNumberProps, InputProps, ModalProps, PaginationProps, PopconfirmProps, RadioGroupProps, RowProps, SelectProps, SpaceProps, SwitchProps, TableProps, TabsProps, TimePickerProps, TimeRangePickerProps, TooltipProps, TreeProps, TreeSelectProps, UploadProps } from 'antd';
7
7
  import { ConfigProviderProps } from 'antd/es/config-provider';
8
8
  import { PickerDateProps } from 'antd/es/date-picker/generatePicker';
9
9
  import { CheckboxGroupProps } from 'antd/lib/checkbox';
@@ -610,6 +610,7 @@ export type EasyTableServiceConfig = {
610
610
  };
611
611
  export type EasyTableProps = {
612
612
  children: ReactElement | ReactElement[];
613
+ /** EasyTable唯一值,可用于缓存查询条件 */
613
614
  modelKey: string;
614
615
  /** 接口数据配置 */
615
616
  serviceConfig: EasyTableServiceConfig;
@@ -640,6 +641,21 @@ export type EasyTableProps = {
640
641
  onDataSourceChange?: (dataSource: TAny) => void;
641
642
  /** 如果自定义查询按钮,可设置 Form onFinish */
642
643
  onFormFinish?: (values?: TPlainObject) => void;
644
+ /** 在父节点高度下,上下铺满 */
645
+ isFull?: boolean;
646
+ /** 查询条件固定,不随滚动条滚动 */
647
+ filterFixed?: boolean;
648
+ /** 分页区域固定,不随滚动条滚动 */
649
+ paginationFixed?: boolean;
650
+ /**
651
+ * 1. 配合paginationFixed=true一起使用有效果
652
+ * 2. 当使用Table内的pagination时,在EasyTable.Table中配置分页属性
653
+ */
654
+ pagination?: PaginationProps;
655
+ /**
656
+ * 查询条件展开、收起,被收起key数组;数组内容为EasyTable.Filter 子节点key值
657
+ */
658
+ foldKeys?: string[];
643
659
  };
644
660
  export type FormOperateColProps = {
645
661
  className?: string;
@@ -663,10 +679,24 @@ export type EasyTableFilterProps = {
663
679
  };
664
680
  };
665
681
  export type EasyTableTableProps = Omit<TableProps<TAny>, "dataSource" | "loading" | "rowKey"> & {
666
- children?: ReactElement;
682
+ children?: ReactElement | ReactElement[];
667
683
  /** 表格行 key 的取值 */
668
684
  rowKey: string;
669
685
  };
686
+ /**
687
+ * 对 查询条件+表格数据 进行深度封装,内置数据交互处理
688
+ * ```
689
+ * 1. 需要获取查询条件、主动发起请求等可通过ref、useEasyTable操作
690
+ * 2. 可通过属性 initRequest 设置初始化是否请求数据
691
+ * 3. 可通过属性 fieldNames 来设置自定义变量,默认值为:list、total、pageNo、pageSize
692
+ * 4. isFull=true,设置【在父节点高度下,上下铺满】
693
+ * 5. filterFixed=true,设置查询条件固定,不随滚动条滚动
694
+ * 6. paginationFixed=true,可设置分页条件在底部固定,不随滚动条滚动
695
+ * 7. foldKeys=string[],查询条件展开、收起,被收起key数组;数组内容为EasyTable.Filter 子节点key值
696
+ *
697
+ * Demo https://fex.qa.tcshuke.com/docs/admin/main/crud/easy-table
698
+ * ```
699
+ */
670
700
  export declare const EasyTable: import("react").ForwardRefExoticComponent<EasyTableProps & import("react").RefAttributes<EasyTableRefApi>> & {
671
701
  /**
672
702
  * 过滤条件
@@ -1910,8 +1940,15 @@ export type TableTitleTooltipProps = {
1910
1940
  };
1911
1941
  export declare const TableTitleTooltip: (props: TableTitleTooltipProps) => JSX.Element;
1912
1942
  export type TabsWrapperProps = TabsProps & {
1913
- /** Tabs Header 提供 Sticky 效果,默认值:true */
1943
+ /**
1944
+ * Tabs Header 提供 Sticky 效果,默认值:true
1945
+ * @deprecated 已废弃,请使用 isFixed 属性
1946
+ */
1914
1947
  isSticky?: boolean;
1948
+ /**
1949
+ * Tabs Header 提供 Fixed 效果,默认值:true
1950
+ */
1951
+ isFixed?: boolean;
1915
1952
  /** 是否取消 active 缓存 */
1916
1953
  cancelActiveCache?: boolean;
1917
1954
  activeCacheKey?: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flatbiz/antd",
3
- "version": "4.2.15",
3
+ "version": "4.2.16",
4
4
  "description": "flat-biz ui components",
5
5
  "main": "index.js",
6
6
  "typings": "index.d.ts",