@flatbiz/antd 4.2.72 → 4.2.74

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.
@@ -1 +1 @@
1
- .amount-fen-input-form-item label{color:#1677ff;font-weight:700}
1
+ .afifi-color{background-color:rgba(201,188,47,.2);box-shadow:0 0 10px rgba(201,188,47,.4);display:inline-block}
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable */
2
2
  import './index.css';
3
3
  /*! @flatjs/forge MIT @flatbiz/antd */
4
- import{a as r,_ as m}from"../_rollupPluginBabelHelpers-fc015ef2.js";import{classNames as t}from"@dimjs/utils/cjs/class-names";import{Form as i}from"antd";import{AmountFenInput as o}from"../amount-fen-input/index.js";import{jsx as s}from"react/jsx-runtime";import"@flatbiz/utils";var a=["inputNumberProps"];var e=function e(n){var p=n.inputNumberProps,u=r(n,a);return s(i.Item,m({},u,{className:t("amount-fen-input-form-item",u.className),children:s(o,m({},p))}))};export{e as AmountFenInputFormItem};
4
+ import{a as r,_ as a}from"../_rollupPluginBabelHelpers-fc015ef2.js";import{classNames as e}from"@dimjs/utils/cjs/class-names";import{Form as i}from"antd";import{AmountFenInput as m}from"../amount-fen-input/index.js";import{jsx as t}from"react/jsx-runtime";import"@flatbiz/utils";var s=["inputNumberProps"];var l=function l(n){var o=n.inputNumberProps,p=r(n,s);return t(i.Item,a({},p,{label:p.label?t("span",{className:"afifi-color",children:p.label}):undefined,className:e("amount-fen-input-form-item",p.className),children:t(m,a({},o))}))};export{l as AmountFenInputFormItem};
5
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/amount-fen-input-form-item/amount-fen-input.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { Form, FormItemProps, InputNumberProps } from 'antd';\nimport { AmountFenInput } from '../amount-fen-input/amount-fen-input';\nimport './style.less';\n\nexport type AmountFenInputFormItemProps = FormItemProps & {\n inputNumberProps?: Omit<InputNumberProps, 'value' | 'onChange' | 'defaultValue'>;\n};\n\n/**\n * 分金额输入组件(集成了FormItem),入参为分,返回为分,显示为元\n * ```\n * 例如:\n * <AmountFenInputFormItem\n * inputNumberProps={{ placeholder: '请输入', style: { width: 'auto' } }}\n * name=\"amount\"\n * label=\"金额\"\n * />\n * ```\n */\nexport const AmountFenInputFormItem = (props: AmountFenInputFormItemProps) => {\n const { inputNumberProps, ...otherProps } = props;\n return (\n <Form.Item {...otherProps} className={classNames('amount-fen-input-form-item', otherProps.className)}>\n <AmountFenInput {...inputNumberProps} />\n </Form.Item>\n );\n};\n"],"names":["AmountFenInputFormItem","props","inputNumberProps","otherProps","_objectWithoutPropertiesLoose","_excluded","_jsx","Form","Item","_extends","className","_classNames","children","AmountFenInput"],"mappings":";sTAoBaA,EAAyB,SAAzBA,EAA0BC,GACrC,IAAQC,EAAoCD,EAApCC,iBAAqBC,EAAUC,EAAKH,EAAKI,GACjD,OACEC,EAACC,EAAKC,KAAIC,KAAKN,EAAU,CAAEO,UAAWC,EAAW,6BAA8BR,EAAWO,WAAWE,SACnGN,EAACO,EAAcJ,EAAA,CAAA,EAAKP,MAG1B"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/amount-fen-input-form-item/amount-fen-input.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { Form, FormItemProps, InputNumberProps } from 'antd';\nimport { AmountFenInput } from '../amount-fen-input/amount-fen-input';\nimport './style.less';\n\nexport type AmountFenInputFormItemProps = FormItemProps & {\n inputNumberProps?: Omit<InputNumberProps, 'value' | 'onChange' | 'defaultValue'>;\n};\n\n/**\n * 分金额输入组件(集成了FormItem),入参为分,返回为分,显示为元\n * ```\n * 例如:\n * <AmountFenInputFormItem\n * inputNumberProps={{ placeholder: '请输入', style: { width: 'auto' } }}\n * name=\"amount\"\n * label=\"金额\"\n * />\n * ```\n */\nexport const AmountFenInputFormItem = (props: AmountFenInputFormItemProps) => {\n const { inputNumberProps, ...otherProps } = props;\n return (\n <Form.Item\n {...otherProps}\n label={otherProps.label ? <span className=\"afifi-color\">{otherProps.label}</span> : undefined}\n className={classNames('amount-fen-input-form-item', otherProps.className)}\n >\n <AmountFenInput {...inputNumberProps} />\n </Form.Item>\n );\n};\n"],"names":["AmountFenInputFormItem","props","inputNumberProps","otherProps","_objectWithoutPropertiesLoose","_excluded","_jsx","Form","Item","_extends","label","className","children","undefined","_classNames","AmountFenInput"],"mappings":";sTAoBaA,EAAyB,SAAzBA,EAA0BC,GACrC,IAAQC,EAAoCD,EAApCC,iBAAqBC,EAAUC,EAAKH,EAAKI,GACjD,OACEC,EAACC,EAAKC,KAAIC,KACJN,EAAU,CACdO,MAAOP,EAAWO,MAAQJ,EAAA,OAAA,CAAMK,UAAU,cAAaC,SAAET,EAAWO,QAAgBG,UACpFF,UAAWG,EAAW,6BAA8BX,EAAWQ,WAAWC,SAE1EN,EAACS,EAAcN,EAAA,CAAA,EAAKP,MAG1B"}
@@ -10,5 +10,5 @@ import './../table-scrollbar/index.css';
10
10
  import './../table-title-tooltip/index.css';
11
11
  import './index.css';
12
12
  /*! @flatjs/forge MIT @flatbiz/antd */
13
- import{fbaUtils as e}from"../fba-utils/index.js";import{classNames as t}from"@dimjs/utils/cjs/class-names";import{isUndefined as i}from"@dimjs/lang/cjs/is-undefined";import{isArray as n}from"@dimjs/lang/cjs/is-array";import{hooks as r}from"@wove/react/cjs/hooks";import{_ as a,a as o}from"../_rollupPluginBabelHelpers-fc015ef2.js";import{cloneState as l}from"@dimjs/model";import{Form as s,message as u,Table as d}from"antd";import{forwardRef as c,useState as f,useRef as p,useImperativeHandle as m,useMemo as g,Children as v}from"react";import{P as y,S as h}from"../index-e98b9352.js";import{createCtx as C}from"@wove/react/cjs/create-ctx";import{Model as S}from"@dimjs/model-react";import{jsx as b,jsxs as j}from"react/jsx-runtime";import F from"@ant-design/icons/es/icons/DownOutlined";import q from"@ant-design/icons/es/icons/UpOutlined";import{isFragment as z}from"react-is";import{ButtonWrapper as N}from"../button-wrapper/index.js";import{FormGrid as R}from"../form-grid/index.js";import{SimpleLayout as x}from"../simple-layout/index.js";import{isUndefinedOrNull as w,getUuid as P,isMacEnv as k}from"@flatbiz/utils";import{fbaHooks as T}from"../fba-hooks/index.js";import{TableScrollbar as K}from"../table-scrollbar/index.js";import{TableTitleTooltip as V}from"../table-title-tooltip/index.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-promise";import"../config-provider-wrapper/index.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"../use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/extend";import"@dimjs/utils/cjs/get";import"ahooks";import"@ant-design/icons/es/icons/QuestionCircleOutlined";var L=C(),E=L[0],D=L[1];var O={queryCondition:{},isInit:true};var I={actions:{updateFilterCondition:function e(t){return function(e){e.queryCondition=a({},e.queryCondition,t)}},resetFilterCondition:function e(t){return function(e){e.queryCondition=a({},O.queryCondition,t)}},updateInitStatus:function e(){return function(e){e.isInit=false}}},state:O};var B={};var A=function e(t){if(!B[t]){B[t]=S(I)}return B[t]};var _=c((function(e,o){var d;var c=f([]),v=c[0],h=c[1];var C=f(0),S=C[0],F=C[1];var q=f(false),z=q[0],N=q[1];var R=A(e.modelKey).useStore(),x=R[0],w=R[1];var P=e.pageSize||((d=e.initialPaginationParams)==null?void 0:d.pageSize)||10;var k=e.initRequest===undefined?true:e.initRequest;var T=f(false),K=T[0],V=T[1];var L=p();var E=a({list:"list",total:"tatal",pageNo:"pageNo",pageSize:"pageSize"},e.fieldNames);var O=s.useForm(e.form),I=O[0];var B=r.useCallbackRef((function(t){return new Promise((function(i,r){var a,o,s,d,c,f,p,m,g,v;var y=function(){try{return i()}catch(e){return r(e)}};var C=function(t){try{N(false);if(e.onRequestErrorHandle){e.onRequestErrorHandle(t)}else{void u.error(t.message)}return y()}catch(e){return r(e)}};try{N(true);return Promise.resolve(w.updateFilterCondition(t)).then((function(t){try{a=t;o=l(a.queryCondition||{});s=e.serviceConfig,d=s.requestParamsAdapter,c=s.onRequest,f=s.requestResultAdapter;p=d?d(o):o;return Promise.resolve(c(p)).then((function(t){try{m=t||{};L.current=m;e.onDataSourceChange==null?void 0:e.onDataSourceChange(m);g=f?f(m):m;v=g[E.list];h(n(v)?v:[]);F(g[E.total]);N(false);return y()}catch(e){return C(e)}}),C)}catch(e){return C(e)}}),C)}catch(e){C(e)}}))}));var _=r.useCallbackRef((function(e){return new Promise((function(t,i){return Promise.resolve(w.resetFilterCondition()).then((function(n){try{I.resetFields();if(e){void w.updateFilterCondition(e);I.setFieldsValue(e)}return t()}catch(e){return i(e)}}),i)}))}));var H=function e(t,i){if(K){var n;return n={},n[E.pageNo]=t,n[E.pageSize]=i||P,n}else{return{}}};var Q=r.useCallbackRef((function(t){return new Promise((function(i,n){var r;r=a({},H(1,x.queryCondition[E.pageSize]),e.initialValues,t);return Promise.resolve(w.resetFilterCondition(r)).then((function(e){try{I.resetFields();if(t){I.setFieldsValue(t)}void B(r);return i()}catch(e){return n(e)}}),n)}))}));var U=r.useCallbackRef((function(){return a({},x.queryCondition,I.getFieldsValue())}));var W=function e(){return{onRequest:B,clearQueryCondition:_,getRequestParams:U,onResetRequest:Q,form:I,getDataSource:function e(){return L.current},onFilterDataSource:function e(t){h(t)},onClearDataSource:function e(){F(0);h([])}}};m(o,(function(){return W()}));var Y=function e(t){V(t)};var G=function t(){var i=I.getFieldsValue();if(e.onFormFinish){e.onFormFinish(a({},i,H(1,x.queryCondition[E.pageSize])))}else{void B(a({},i,H(1,x.queryCondition[E.pageSize])))}};var $=i(e.isFull)?true:e.isFull;var J=t("fba-easy-table",{"fba-easy-table-full":$,"fba-easy-table-filter-fixed":e.filterFixed,"fba-easy-table-pagination-fixed":e.paginationFixed},e.className);var M=g((function(){return a({showSizeChanger:true,current:x.queryCondition[E.pageNo]||1,pageSize:x.queryCondition[E.pageSize]||P,total:S,showTotal:function e(t){return"共 "+t+" 条记录"}},e.pagination)}),[E.pageNo,E.pageSize,P,e.pagination,x.queryCondition,S]);var X=r.useCallbackRef((function(t,i){var n,r;void B((n={},n[E.pageSize]=i,n[E.pageNo]=t,n));(r=e.pagination)==null||r.onChange==null?void 0:r.onChange(t,i)}));var Z=t("fba-easy-table-wrapper",{"fba-easy-table-wrapper-inline":e.isInline},e.className);var ee=typeof e.children==="function"?e.children(L.current):e.children;return b(D,{value:{getEasyTableRef:W,modelKey:e.modelKey,onRequest:B,tableList:v,tableTotal:S,loading:z,fieldNames:E,pageSize:P,initRequest:k,initialValues:e.initialValues||{},onSetPaginationStatus:Y,paginationStatus:K,onFormFinish:G,form:I,paginationFixed:e.paginationFixed||false,foldKeys:e.foldKeys||[]},children:e.paginationFixed?j("div",{className:Z,style:e.style,children:[b("div",{className:J,children:ee}),S>0&&b("div",{className:"fba-easy-table-pagination",children:b(y,a({size:"small"},M,{onChange:X}))})]}):b("div",{className:J,style:e.style,children:ee})})}));var H=function e(t){var n=t.queryButtonProps,o=t.resetButtonProps,l=t.filterOperate,u=t.formClassName,d=t.defaultResetButtonTriggerRequest;var c=E(),p=c.modelKey,m=c.foldKeys,y=c.fieldNames,h=c.onRequest,C=c.pageSize,S=c.paginationStatus,w=c.initialValues,P=c.form,k=c.onFormFinish;var T=typeof t.children==="function"?t.children(P):t.children;var K=g((function(){if(z(T)){return v.toArray(T.props.children)}else{return v.toArray(T)}}),[T]);var V=f(false),L=V[0],D=V[1];var O=A(p).useStore(),I=O[0],B=O[1];var _=r.useCallbackRef((function(){return new Promise((function(e,t){var n;return Promise.resolve(B.resetFilterCondition()).then((function(r){try{P.resetFields();if(i(d)||d){if(S){h(a((n={},n[y.pageNo]=1,n[y.pageSize]=C,n),w))}else{h(w)}}return e()}catch(e){return t(e)}}),t)}))}));var H=g((function(){var e=a({rightList:[!(n!=null&&n.hidden)?b(N,a({type:"primary",htmlType:"submit"},n,{children:(n==null?void 0:n.text)||"查询"}),"1"):null,!(o!=null&&o.hidden)?b(N,a({onClick:_},o,{children:(o==null?void 0:o.text)||"重置"}),"2"):null],leftList:[]},l==null?void 0:l(P));if(m.length>0){var t=b(N,{type:"link",style:{padding:"0"},onClick:function e(){D(!L)},children:L?j("span",{children:["收起",b(q,{style:{marginLeft:3,fontSize:12}})]}):j("span",{children:["展开",b(F,{style:{marginLeft:3,fontSize:12}})]})},"fold-trigger");var i=e.rightList,r=e.leftList;if(i.length>0||r.length===0){i.push(t)}else if((r==null?void 0:r.length)>0){r.push(t)}}return K.map((function(e,t){if(!L&&m.find((function(t){return".$"+t===e.key})))return null;if(e.props["hidden"])return null;if(e.type["domTypeName"]==="FormCol")return e;return b(R.Col,{children:e},t)})).filter(Boolean).concat(b(R.OperateCol,a({},e),999))}),[K,l,m,P,_,L,n,o]);return b(x,{className:"easy-table-filter",children:b(s,{form:P,autoComplete:"off",onFinish:k,initialValues:a({},w,I.queryCondition),className:u,children:t.isPure?T:b(R.Row,{gutter:[15,0],gridSize:t.formGridSize,children:H})})})};var Q=function e(){var t=E();var i=p(t.getEasyTableRef());return i.current};var U=function e(){var t=E(),i=t.getEasyTableRef;var n=p(i());return n};var W=["children","rowKey","pagination"],Y=["tooltip","title"];var G=function e(i){var n=i.children,r=i.rowKey,l=i.pagination,s=o(i,W);var u=E(),c=u.modelKey,f=u.fieldNames,p=u.onRequest,m=u.tableList,v=u.initRequest,y=u.pageSize,C=u.tableTotal,S=u.loading,F=u.initialValues,q=u.paginationFixed,z=u.onSetPaginationStatus;var N=A(c).useStore(),R=N[0],L=N[1];var D=g((function(){if(q||l===false)return false;return a({showSizeChanger:true,current:R.queryCondition[f.pageNo]||1,pageSize:R.queryCondition[f.pageSize]||y,total:C,showTotal:function e(t){return"共 "+t+" 条记录"}},i.pagination,{selectComponentClass:h})}),[f.pageNo,f.pageSize,y,l,q,i.pagination,R.queryCondition,C]);var O=function e(t,n,r,a){if(a.action==="paginate"&&D){var o;p((o={},o[f.pageSize]=t.pageSize,o[f.pageNo]=t.current,o))}else{i.onChange==null?void 0:i.onChange(t,n,r,a)}};var I=g((function(){if(m.length===0){return[]}if(typeof r==="string"&&w(m[0][r])){return m.map((function(e){e[r]=P();return e}))}return m}),[m,r]);T.useEffectCustom((function(){var e=q||D!==false;z(e);if(v!==false||!R.isInit){if(e){var t;void p(a((t={},t[f.pageNo]=1,t[f.pageSize]=y,t),F,R.queryCondition))}else{void p(F)}}else{void L.updateFilterCondition(F)}void L.updateInitStatus()}),[]);var B=g((function(){return i.columns.map((function(e){var t=e.tooltip,i=e.title,n=o(e,Y);if(typeof i==="string"&&!!t){return a({},n,{title:b(V,{title:i,tooltip:t})})}return e}))}),[i.columns]);return j(x,{className:t("easy-table-table",i.tableWrapperClassName),style:i.tableWrapperStyle,children:[n,k()?b(d,a({size:"small",scroll:{x:"max-content"},bordered:true},s,{columns:B,pagination:D,rowKey:r,onChange:O,loading:S,dataSource:I})):b(K,{children:b(d,a({size:"small",scroll:{x:"max-content"},bordered:true},s,{columns:B,pagination:D,rowKey:r,onChange:O,loading:S,dataSource:I}))})]})};var $=e.attachPropertiesToComponent(_,{Filter:H,Table:G,useEasyTablRef:U,useEasyTable:Q});export{$ as EasyTable};
13
+ import{fbaUtils as e}from"../fba-utils/index.js";import{classNames as t}from"@dimjs/utils/cjs/class-names";import{isUndefined as i}from"@dimjs/lang/cjs/is-undefined";import{isArray as r}from"@dimjs/lang/cjs/is-array";import{hooks as n}from"@wove/react/cjs/hooks";import{_ as a,a as o}from"../_rollupPluginBabelHelpers-fc015ef2.js";import{cloneState as l}from"@dimjs/model";import{Form as s,message as u,Table as d}from"antd";import{forwardRef as c,useState as f,useRef as p,useImperativeHandle as m,useMemo as g,Children as v}from"react";import{P as y,S as h}from"../index-e98b9352.js";import{createCtx as C}from"@wove/react/cjs/create-ctx";import{Model as S}from"@dimjs/model-react";import{jsx as b,jsxs as j}from"react/jsx-runtime";import F from"@ant-design/icons/es/icons/DownOutlined";import q from"@ant-design/icons/es/icons/UpOutlined";import{isFragment as z}from"react-is";import{ButtonWrapper as N}from"../button-wrapper/index.js";import{FormGrid as R}from"../form-grid/index.js";import{SimpleLayout as x}from"../simple-layout/index.js";import{isUndefinedOrNull as w,getUuid as P,isMacEnv as k}from"@flatbiz/utils";import{fbaHooks as T}from"../fba-hooks/index.js";import{TableScrollbar as K}from"../table-scrollbar/index.js";import{TableTitleTooltip as V}from"../table-title-tooltip/index.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-promise";import"../config-provider-wrapper/index.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"../use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/extend";import"@dimjs/utils/cjs/get";import"ahooks";import"@ant-design/icons/es/icons/QuestionCircleOutlined";var L=C(),E=L[0],D=L[1];var O={queryCondition:{},isInit:true};var I={actions:{updateFilterCondition:function e(t){return function(e){e.queryCondition=a({},e.queryCondition,t)}},resetFilterCondition:function e(t){return function(e){e.queryCondition=a({},O.queryCondition,t)}},updateInitStatus:function e(){return function(e){e.isInit=false}}},state:O};var B={};var A=function e(t){if(!B[t]){B[t]=S(I)}return B[t]};var W=c((function(e,o){var d;var c=f([]),v=c[0],h=c[1];var C=f(0),S=C[0],F=C[1];var q=f(false),z=q[0],N=q[1];var R=A(e.modelKey).useStore(),x=R[0],w=R[1];var P=e.pageSize||((d=e.initialPaginationParams)==null?void 0:d.pageSize)||10;var k=e.initRequest===undefined?true:e.initRequest;var T=f(false),K=T[0],V=T[1];var L=p();var E=a({list:"list",total:"total",pageNo:"pageNo",pageSize:"pageSize"},e.fieldNames);var O=s.useForm(e.form),I=O[0];var B=n.useCallbackRef((function(t){return new Promise((function(i,n){var a,o,s,d,c,f,p,m,g,v;var y=function(){try{return i()}catch(e){return n(e)}};var C=function(t){try{N(false);if(e.onRequestErrorHandle){e.onRequestErrorHandle(t)}else{void u.error(t.message)}return y()}catch(e){return n(e)}};try{N(true);return Promise.resolve(w.updateFilterCondition(t)).then((function(t){try{a=t;o=l(a.queryCondition||{});s=e.serviceConfig,d=s.requestParamsAdapter,c=s.onRequest,f=s.requestResultAdapter;p=d?d(o):o;return Promise.resolve(c(p)).then((function(t){try{m=t||{};L.current=m;e.onDataSourceChange==null?void 0:e.onDataSourceChange(m);g=f?f(m):m;v=g[E.list];h(r(v)?v:[]);F(g[E.total]);N(false);return y()}catch(e){return C(e)}}),C)}catch(e){return C(e)}}),C)}catch(e){C(e)}}))}));var W=n.useCallbackRef((function(e){return new Promise((function(t,i){return Promise.resolve(w.resetFilterCondition()).then((function(r){try{I.resetFields();if(e){void w.updateFilterCondition(e);I.setFieldsValue(e)}return t()}catch(e){return i(e)}}),i)}))}));var _=function e(t,i){if(K){var r;return r={},r[E.pageNo]=t,r[E.pageSize]=i||P,r}else{return{}}};var H=n.useCallbackRef((function(t){return new Promise((function(i,r){var n;n=a({},_(1,x.queryCondition[E.pageSize]),e.initialValues,t);return Promise.resolve(w.resetFilterCondition(n)).then((function(e){try{I.resetFields();if(t){I.setFieldsValue(t)}void B(n);return i()}catch(e){return r(e)}}),r)}))}));var Q=n.useCallbackRef((function(){return a({},x.queryCondition,I.getFieldsValue())}));var U=function e(){return{onRequest:B,clearQueryCondition:W,getRequestParams:Q,onResetRequest:H,form:I,getDataSource:function e(){return L.current},onFilterDataSource:function e(t){h(t)},onClearDataSource:function e(){F(0);h([])}}};m(o,(function(){return U()}));var Y=function e(t){V(t)};var G=function t(){var i=I.getFieldsValue();if(e.onFormFinish){e.onFormFinish(a({},i,_(1,x.queryCondition[E.pageSize])))}else{void B(a({},i,_(1,x.queryCondition[E.pageSize])))}};var $=i(e.isFull)?true:e.isFull;var J=t("fba-easy-table",{"fba-easy-table-full":$,"fba-easy-table-filter-fixed":e.filterFixed,"fba-easy-table-pagination-fixed":e.paginationFixed},e.className);var M=g((function(){return a({showSizeChanger:true,current:x.queryCondition[E.pageNo]||1,pageSize:x.queryCondition[E.pageSize]||P,total:S,showTotal:function e(t){return"共 "+t+" 条记录"}},e.pagination)}),[E.pageNo,E.pageSize,P,e.pagination,x.queryCondition,S]);var X=n.useCallbackRef((function(t,i){var r,n;void B((r={},r[E.pageSize]=i,r[E.pageNo]=t,r));(n=e.pagination)==null||n.onChange==null?void 0:n.onChange(t,i)}));var Z=t("fba-easy-table-wrapper",{"fba-easy-table-wrapper-inline":e.isInline},e.className);var ee=typeof e.children==="function"?e.children(L.current):e.children;return b(D,{value:{getEasyTableRef:U,modelKey:e.modelKey,onRequest:B,tableList:v,tableTotal:S,loading:z,fieldNames:E,pageSize:P,initRequest:k,initialValues:e.initialValues||{},onSetPaginationStatus:Y,paginationStatus:K,onFormFinish:G,form:I,paginationFixed:e.paginationFixed||false,foldKeys:e.foldKeys||[]},children:e.paginationFixed?j("div",{className:Z,style:e.style,children:[b("div",{className:J,children:ee}),S>0&&b("div",{className:"fba-easy-table-pagination",children:b(y,a({size:"small"},M,{onChange:X}))})]}):b("div",{className:J,style:e.style,children:ee})})}));var _=function e(r){var o=r.queryButtonProps,l=r.resetButtonProps,u=r.filterOperate,d=r.formClassName,c=r.defaultResetButtonTriggerRequest,p=r.filterWrapperStyle,m=r.filterWrapperClassName;var y=E(),h=y.modelKey,C=y.foldKeys,S=y.fieldNames,w=y.onRequest,P=y.pageSize,k=y.paginationStatus,T=y.initialValues,K=y.form,V=y.onFormFinish;var L=typeof r.children==="function"?r.children(K):r.children;var D=g((function(){if(z(L)){return v.toArray(L.props.children)}else{return v.toArray(L)}}),[L]);var O=f(false),I=O[0],B=O[1];var W=A(h).useStore(),_=W[0],H=W[1];var Q=n.useCallbackRef((function(){return new Promise((function(e,t){var r;return Promise.resolve(H.resetFilterCondition()).then((function(n){try{K.resetFields();if(i(c)||c){if(k){w(a((r={},r[S.pageNo]=1,r[S.pageSize]=P,r),T))}else{w(T)}}return e()}catch(e){return t(e)}}),t)}))}));var U=g((function(){var e=a({rightList:[!(o!=null&&o.hidden)?b(N,a({type:"primary",htmlType:"submit"},o,{children:(o==null?void 0:o.text)||"查询"}),"1"):null,!(l!=null&&l.hidden)?b(N,a({onClick:Q},l,{children:(l==null?void 0:l.text)||"重置"}),"2"):null],leftList:[]},u==null?void 0:u(K));if(C.length>0){var t=b(N,{type:"link",style:{padding:"0"},onClick:function e(){B(!I)},children:I?j("span",{children:["收起",b(q,{style:{marginLeft:3,fontSize:12}})]}):j("span",{children:["展开",b(F,{style:{marginLeft:3,fontSize:12}})]})},"fold-trigger");var i=e.rightList,r=e.leftList;if(i.length>0||r.length===0){i.push(t)}else if((r==null?void 0:r.length)>0){r.push(t)}}return D.map((function(e,t){if(!I&&C.find((function(t){return".$"+t===e.key})))return null;if(e.props["hidden"])return null;if(e.type["domTypeName"]==="FormCol")return e;return b(R.Col,{children:e},t)})).filter(Boolean).concat(b(R.OperateCol,a({},e),999))}),[D,u,C,K,Q,I,o,l]);return b(x,{className:t("easy-table-filter",m),style:p,children:b(s,{form:K,autoComplete:"off",onFinish:V,initialValues:a({},T,_.queryCondition),className:d,children:r.isPure?L:b(R.Row,{gutter:[15,0],gridSize:r.formGridSize,children:U})})})};var H=function e(){var t=E();var i=p(t.getEasyTableRef());return i.current};var Q=function e(){var t=E(),i=t.getEasyTableRef;var r=p(i());return r};var U=["children","rowKey","pagination"],Y=["tooltip","title"];var G=function e(i){var r=i.children,n=i.rowKey,l=i.pagination,s=o(i,U);var u=E(),c=u.modelKey,f=u.fieldNames,p=u.onRequest,m=u.tableList,v=u.initRequest,y=u.pageSize,C=u.tableTotal,S=u.loading,F=u.initialValues,q=u.paginationFixed,z=u.onSetPaginationStatus;var N=A(c).useStore(),R=N[0],L=N[1];var D=g((function(){if(q||l===false)return false;return a({showSizeChanger:true,current:R.queryCondition[f.pageNo]||1,pageSize:R.queryCondition[f.pageSize]||y,total:C,showTotal:function e(t){return"共 "+t+" 条记录"}},i.pagination,{selectComponentClass:h})}),[f.pageNo,f.pageSize,y,l,q,i.pagination,R.queryCondition,C]);var O=function e(t,r,n,a){if(a.action==="paginate"&&D){var o;p((o={},o[f.pageSize]=t.pageSize,o[f.pageNo]=t.current,o))}else{i.onChange==null?void 0:i.onChange(t,r,n,a)}};var I=g((function(){if(m.length===0){return[]}if(typeof n==="string"&&w(m[0][n])){return m.map((function(e){e[n]=P();return e}))}return m}),[m,n]);T.useEffectCustom((function(){var e=q||D!==false;z(e);if(v!==false||!R.isInit){if(e){var t;void p(a((t={},t[f.pageNo]=1,t[f.pageSize]=y,t),F,R.queryCondition))}else{void p(F)}}else{void L.updateFilterCondition(F)}void L.updateInitStatus()}),[]);var B=g((function(){return i.columns.map((function(e){var t=e.tooltip,i=e.title,r=o(e,Y);if(typeof i==="string"&&!!t){return a({},r,{title:b(V,{title:i,tooltip:t})})}return e}))}),[i.columns]);return j(x,{className:t("easy-table-table",i.tableWrapperClassName),style:i.tableWrapperStyle,children:[r,k()?b(d,a({size:"small",scroll:{x:"max-content"},bordered:true},s,{columns:B,pagination:D,rowKey:n,onChange:O,loading:S,dataSource:I})):b(K,{children:b(d,a({size:"small",scroll:{x:"max-content"},bordered:true},s,{columns:B,pagination:D,rowKey:n,onChange:O,loading:S,dataSource:I}))})]})};var $=e.attachPropertiesToComponent(W,{Filter:_,Table:G,useEasyTablRef:Q,useEasyTable:H});export{$ as EasyTable};
14
14
  //# 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 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?: TPlainObject;\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: (params) => {\n return (state) => {\n state.queryCondition = {\n ...defaultState.queryCondition,\n ...params,\n };\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, isUndefined } 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, FormInstance, message, PaginationProps } from 'antd';\nimport {\n CSSProperties,\n forwardRef,\n ReactElement,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { PaginationWrapper } from '../pagination-wrapper';\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 className?: string;\n style?: CSSProperties;\n children: ReactElement | ReactElement[] | ((dataSource?: TAny) => 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 已过时 4.3.0版本移除,使用 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 /** 在父节点高度下,上下铺满;默认值:true */\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 * 自定义处理服务异常\n * @param error\n * @returns\n */\n onRequestErrorHandle?: (error) => void;\n /**\n * 是否inline模式\n * ```\n * 1. 缩短 EasyTable.Filter 与 EasyTable.Table 之间的距离\n * ```\n */\n isInline?: boolean;\n /** Form 实例 */\n form?: FormInstance;\n};\n\nexport const EasyTable = forwardRef<EasyTableRefApi, EasyTableProps>((props, 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 const respOriginalDataRef = useRef<TAny>();\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(props.form);\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 respOriginalDataRef.current = respData;\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 if (props.onRequestErrorHandle) {\n props.onRequestErrorHandle(error);\n } else {\n void message.error(error.message);\n }\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 const params = {\n ...getPaginationData(1, state.queryCondition[fieldNames.pageSize]),\n ...props.initialValues,\n ...values,\n };\n await actions.resetFilterCondition(params);\n form.resetFields();\n if (values) {\n form.setFieldsValue(values);\n }\n void onInnerRequest(params);\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 getDataSource: () => {\n return respOriginalDataRef.current;\n },\n onFilterDataSource: (filterDataSource) => {\n setDataSource(filterDataSource);\n },\n onClearDataSource: () => {\n setTotal(0);\n setDataSource([]);\n },\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[fieldNames.pageSize]) });\n } else {\n void onInnerRequest({\n ...values,\n ...getPaginationData(1, state.queryCondition[fieldNames.pageSize]),\n });\n }\n };\n const isFull = isUndefined(props.isFull) ? true : props.isFull;\n const className = classNames(\n 'fba-easy-table',\n {\n 'fba-easy-table-full': isFull,\n 'fba-easy-table-filter-fixed': props.filterFixed,\n 'fba-easy-table-pagination-fixed': props.paginationFixed,\n },\n props.className,\n );\n\n const paginationData = useMemo(() => {\n return {\n showSizeChanger: true,\n current: state.queryCondition[fieldNames.pageNo] || 1,\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 const wrapperClassName = classNames(\n 'fba-easy-table-wrapper',\n {\n 'fba-easy-table-wrapper-inline': props.isInline,\n },\n props.className,\n );\n\n const children =\n typeof props.children === 'function' ? props.children(respOriginalDataRef.current) : props.children;\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={wrapperClassName} style={props.style}>\n <div className={className}>{children}</div>\n {total > 0 && (\n <div className=\"fba-easy-table-pagination\">\n <PaginationWrapper size=\"small\" {...paginationData} onChange={onChange} />\n </div>\n )}\n </div>\n ) : (\n <div className={className} style={props.style}>\n {children}\n </div>\n )}\n </EasyTableCtxProvider>\n );\n});\n","import { DownOutlined, UpOutlined } from '@ant-design/icons';\nimport { isUndefined } from '@dimjs/lang';\nimport { hooks } from '@wove/react';\nimport { ButtonProps, Form, FormInstance } from 'antd';\nimport { Children, ReactElement, useMemo, useState } from 'react';\nimport { isFragment } from 'react-is';\nimport { ButtonWrapper } from '../button-wrapper';\nimport { FormGrid } from '../form-grid';\nimport { FormOperateColProps } from '../form-grid/form-operate-col';\nimport { FormRowProps } from '../form-grid/form-row';\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 * default = { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 };\n * small = { xs: 24, sm: 8, md: 8, lg: 6, xl: 6, xxl: 6 };\n */\n formGridSize?: FormRowProps['gridSize'];\n\n formClassName?: string;\n /** 默认重启按钮触发请求,默认值:true */\n defaultResetButtonTriggerRequest?: boolean;\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 *5. Filter 子节点包含 hidden = true 会被忽略\n *```\n */\nexport const EasyTableFilter = (props: EasyTableFilterProps) => {\n const {\n queryButtonProps,\n resetButtonProps,\n filterOperate,\n formClassName,\n defaultResetButtonTriggerRequest,\n } = 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 = useMemo(() => {\n if (isFragment(children)) {\n return Children.toArray((children as ReactElement).props.children) as ReactElement[];\n } else {\n return Children.toArray(children) as ReactElement[];\n }\n }, [children]);\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 (isUndefined(defaultResetButtonTriggerRequest) || defaultResetButtonTriggerRequest) {\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\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 key=\"fold-trigger\"\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.props['hidden']) return null;\n if (item.type['domTypeName'] === 'FormCol') return item;\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 autoComplete=\"off\"\n onFinish={onFormFinish}\n initialValues={{\n ...initialValues,\n ...state.queryCondition,\n }}\n className={formClassName}\n >\n {props.isPure ? (\n children\n ) : (\n <FormGrid.Row gutter={[15, 0]} gridSize={props.formGridSize}>\n {formRowChildren}\n </FormGrid.Row>\n )}\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 已过时 @4.3.0版本移除,请使用 useEasyTable\n * @returns\n */\nexport const useEasyTablRef = () => {\n const { getEasyTableRef } = useEasyTableCtx();\n const ref = useRef<EasyTableRefApi>(getEasyTableRef());\n return ref;\n};\n","import { classNames } from '@dimjs/utils';\nimport { getUuid, isMacEnv, isUndefinedOrNull, TAny, TPlainObject } from '@flatbiz/utils';\nimport { Table, TableProps } from 'antd';\nimport { ColumnsType } from 'antd/lib/table';\nimport { CSSProperties, ReactElement, useMemo } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport { SmallSelect } from '../pagination-wrapper/select';\nimport { SimpleLayout } from '../simple-layout';\nimport { TableScrollbar } from '../table-scrollbar';\nimport { TableTitleTooltip } from '../table-title-tooltip';\nimport { useEasyTableCtx } from './context';\nimport { easyTableModel } from './model';\n\nexport type TEasyTableTableColumn<T> = ColumnsType<T>[0] & {\n /**\n * 会在 title 之后展示一个 icon,hover 之后提示一些信息\n * ```\n * 1. title为string类型有效\n * 2. hoverArea 默认值:icon\n * ```\n */\n tooltip?: string | { content: string; icon?: ReactElement; hoverArea?: 'icon' | 'all' };\n dataIndex?: keyof T | (string & {});\n};\n\nexport type EasyTableTableProps<T> = Omit<\n TableProps<TAny>,\n 'dataSource' | 'loading' | 'rowKey' | 'columns'\n> & {\n children?: ReactElement | ReactElement[];\n /**\n * 表格行 key 的取值,\n * ```\n * 如果 rowKey 为string类型\n * 1. 组件会判断表格列表数据第一条是否存在当前rowKey对象的数据,如果没有组件内部会动态添加唯一值\n * 2. 基于上一条的逻辑,如果表格数据没有唯一值,可指定 rowKey 值为table数据中不存在的字段名,例如:rowKey=\"_uid\"\n * 3. 如果触发上述逻辑,表格数据中会多出rowKey对应的键值对数据\n * ```\n */\n rowKey: TableProps<TAny>['rowKey'];\n tableWrapperStyle?: CSSProperties;\n tableWrapperClassName?: string;\n columns: TEasyTableTableColumn<T>[];\n};\n\n/**\n * 表格渲染\n * @param props\n * ```\n * 1. 继承了 TableProps 可设置antd table功能\n * 2. 分页功能已内置处理,不调用 onChange\n * ```\n */\nexport const EasyTableTable = <T extends TPlainObject>(props: EasyTableTableProps<T>) => {\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 tablePaginationData = useMemo(() => {\n if (paginationFixed || pagination === false) return false;\n return {\n showSizeChanger: true,\n current: state.queryCondition[fieldNames.pageNo] || 1,\n pageSize: state.queryCondition[fieldNames.pageSize] || pageSize,\n total: tableTotal,\n showTotal: (total) => `共 ${total} 条记录`,\n ...props.pagination,\n selectComponentClass: SmallSelect,\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'] = (pagination, filters, sorter, extra) => {\n if (extra.action === 'paginate' && tablePaginationData) {\n onRequest({ [fieldNames.pageSize]: pagination.pageSize, [fieldNames.pageNo]: pagination.current });\n } else {\n props.onChange?.(pagination, filters, sorter, extra);\n }\n };\n\n const dataSource = useMemo(() => {\n if (tableList.length === 0) {\n return [];\n }\n if (typeof rowKey === 'string' && 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 = paginationFixed || tablePaginationData !== 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 ...state.queryCondition,\n });\n } else {\n void onRequest(initialValues);\n }\n } else {\n void actions.updateFilterCondition(initialValues);\n }\n void actions.updateInitStatus();\n }, []);\n\n const columns = useMemo(() => {\n return props.columns.map((item) => {\n const { tooltip, title, ...otherProps } = item;\n if (typeof title === 'string' && !!tooltip) {\n return {\n ...otherProps,\n title: <TableTitleTooltip title={title} tooltip={tooltip} />,\n };\n }\n return item;\n });\n }, [props.columns]);\n\n return (\n <SimpleLayout\n className={classNames('easy-table-table', props.tableWrapperClassName)}\n style={props.tableWrapperStyle}\n >\n {children}\n {isMacEnv() ? (\n <Table\n size=\"small\"\n scroll={{ x: 'max-content' }}\n bordered\n {...otherProps}\n columns={columns}\n pagination={tablePaginationData}\n rowKey={rowKey}\n onChange={onChangePage}\n loading={loading}\n dataSource={dataSource}\n />\n ) : (\n <TableScrollbar>\n <Table\n size=\"small\"\n scroll={{ x: 'max-content' }}\n bordered\n {...otherProps}\n columns={columns}\n pagination={tablePaginationData}\n rowKey={rowKey}\n onChange={onChangePage}\n loading={loading}\n dataSource={dataSource}\n />\n </TableScrollbar>\n )}\n </SimpleLayout>\n );\n};\n","import { fbaUtils } from '../fba-utils';\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,设置【在父节点高度下,上下铺满】(默认值:true)\n * 5. filterFixed=true,设置查询条件固定,不随滚动条滚动\n * 6. paginationFixed=true,可设置分页条件在底部固定,不随滚动条滚动\n * 7. foldKeys=string[],查询条件展开、收起,被收起数组内容为EasyTable.Filter 子节点key值\n * 8. windows环境下,会在EasyTable.Table外部包装一下 TableScrollbar,提示高windows下table左右滚动体验\n *\n * Demo https://fex.qa.tcshuke.com/docs/admin/main/crud/easy-table\n * ```\n */\nexport const EasyTable = fbaUtils.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 *5. Filter 子节点包含 hidden = true 会被忽略\n *```\n */\n Filter: EasyTableFilter,\n /**\n * 表格渲染\n * @param props\n * ```\n * 1. 继承了 TableProps 可设置antd table功能\n * 2. 分页功能已内置处理,不调用 onChange\n * ```\n */\n Table: EasyTableTable,\n\n /**\n * @deprecated 已过时 4.3.0版本移除,请使用 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","respOriginalDataRef","useRef","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","onRequestErrorHandle","message","resolve","then","$await_2","cloneState","serviceConfig","$await_3","current","onDataSourceChange","_isArray","clearQueryCondition","values","$await_4","resetFields","setFieldsValue","getPaginationData","_pageSize","_ref","onResetRequest","initialValues","$await_5","getRequestParams","getFieldsValue","getEasyTableRef","getDataSource","onFilterDataSource","filterDataSource","onClearDataSource","useImperativeHandle","onSetPaginationStatus","status","onFormFinish","isFull","_isUndefined","className","_classNames","filterFixed","paginationFixed","paginationData","useMemo","showSizeChanger","showTotal","pagination","onChange","page","_onInnerRequest","_props$pagination","wrapperClassName","isInline","children","_jsx","value","tableList","tableTotal","foldKeys","_jsxs","style","PaginationWrapper","size","EasyTableFilter","queryButtonProps","resetButtonProps","filterOperate","formClassName","defaultResetButtonTriggerRequest","_useEasyTableCtx","childrens","isFragment","Children","toArray","openFold","setOpenFold","onReset","_extends2","$await_1","formRowChildren","formOperateColProps","rightList","hidden","ButtonWrapper","type","htmlType","text","onClick","leftList","length","changeFolditem","padding","_UpOutlined","marginLeft","fontSize","_DownOutlined","push","map","item","index","find","keyItem","FormGrid","Col","filter","Boolean","concat","OperateCol","SimpleLayout","autoComplete","onFinish","isPure","Row","gutter","gridSize","formGridSize","useEasyTable","ctx","resp","useEasyTablRef","EasyTableTable","rowKey","otherProps","_objectWithoutPropertiesLoose","_excluded","tablePaginationData","selectComponentClass","SmallSelect","onChangePage","filters","sorter","extra","action","_onRequest","isUndefinedOrNull","getUuid","fbaHooks","useEffectCustom","hasPagination","columns","tooltip","title","_excluded2","TableTitleTooltip","tableWrapperClassName","tableWrapperStyle","isMacEnv","Table","scroll","x","bordered","TableScrollbar","fbaUtils","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?: TPlainObject;\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: (params) => {\n return (state) => {\n state.queryCondition = {\n ...defaultState.queryCondition,\n ...params,\n };\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, isUndefined } 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, FormInstance, message, PaginationProps } from 'antd';\nimport {\n CSSProperties,\n forwardRef,\n ReactElement,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { PaginationWrapper } from '../pagination-wrapper';\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 className?: string;\n style?: CSSProperties;\n children: ReactElement | ReactElement[] | ((dataSource?: TAny) => 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 已过时 4.3.0版本移除,使用 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 /** 在父节点高度下,上下铺满;默认值:true */\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 * 自定义处理服务异常\n * @param error\n * @returns\n */\n onRequestErrorHandle?: (error) => void;\n /**\n * 是否inline模式\n * ```\n * 1. 缩短 EasyTable.Filter 与 EasyTable.Table 之间的距离\n * ```\n */\n isInline?: boolean;\n /** Form 实例 */\n form?: FormInstance;\n};\n\nexport const EasyTable = forwardRef<EasyTableRefApi, EasyTableProps>((props, 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 const respOriginalDataRef = useRef<TAny>();\n\n const fieldNames = {\n list: 'list',\n total: 'total',\n pageNo: 'pageNo',\n pageSize: 'pageSize',\n ...props.fieldNames,\n };\n\n const [form] = Form.useForm(props.form);\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 respOriginalDataRef.current = respData;\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 if (props.onRequestErrorHandle) {\n props.onRequestErrorHandle(error);\n } else {\n void message.error(error.message);\n }\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 const params = {\n ...getPaginationData(1, state.queryCondition[fieldNames.pageSize]),\n ...props.initialValues,\n ...values,\n };\n await actions.resetFilterCondition(params);\n form.resetFields();\n if (values) {\n form.setFieldsValue(values);\n }\n void onInnerRequest(params);\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 getDataSource: () => {\n return respOriginalDataRef.current;\n },\n onFilterDataSource: (filterDataSource) => {\n setDataSource(filterDataSource);\n },\n onClearDataSource: () => {\n setTotal(0);\n setDataSource([]);\n },\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[fieldNames.pageSize]) });\n } else {\n void onInnerRequest({\n ...values,\n ...getPaginationData(1, state.queryCondition[fieldNames.pageSize]),\n });\n }\n };\n const isFull = isUndefined(props.isFull) ? true : props.isFull;\n const className = classNames(\n 'fba-easy-table',\n {\n 'fba-easy-table-full': isFull,\n 'fba-easy-table-filter-fixed': props.filterFixed,\n 'fba-easy-table-pagination-fixed': props.paginationFixed,\n },\n props.className,\n );\n\n const paginationData = useMemo(() => {\n return {\n showSizeChanger: true,\n current: state.queryCondition[fieldNames.pageNo] || 1,\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 const wrapperClassName = classNames(\n 'fba-easy-table-wrapper',\n {\n 'fba-easy-table-wrapper-inline': props.isInline,\n },\n props.className,\n );\n\n const children =\n typeof props.children === 'function' ? props.children(respOriginalDataRef.current) : props.children;\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={wrapperClassName} style={props.style}>\n <div className={className}>{children}</div>\n {total > 0 && (\n <div className=\"fba-easy-table-pagination\">\n <PaginationWrapper size=\"small\" {...paginationData} onChange={onChange} />\n </div>\n )}\n </div>\n ) : (\n <div className={className} style={props.style}>\n {children}\n </div>\n )}\n </EasyTableCtxProvider>\n );\n});\n","import { DownOutlined, UpOutlined } from '@ant-design/icons';\nimport { isUndefined } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { hooks } from '@wove/react';\nimport { ButtonProps, Form, FormInstance } from 'antd';\nimport { Children, CSSProperties, ReactElement, useMemo, useState } from 'react';\nimport { isFragment } from 'react-is';\nimport { ButtonWrapper } from '../button-wrapper';\nimport { FormGrid } from '../form-grid';\nimport { FormOperateColProps } from '../form-grid/form-operate-col';\nimport { FormRowProps } from '../form-grid/form-row';\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 * default = { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 };\n * small = { xs: 24, sm: 8, md: 8, lg: 6, xl: 6, xxl: 6 };\n */\n formGridSize?: FormRowProps['gridSize'];\n\n formClassName?: string;\n /** 默认重启按钮触发请求,默认值:true */\n defaultResetButtonTriggerRequest?: boolean;\n /** filter Form 外层 SimpleLayout style */\n filterWrapperStyle?: CSSProperties;\n /** filter Form 外层 SimpleLayout className */\n filterWrapperClassName?: 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 *5. Filter 子节点包含 hidden = true 会被忽略\n *```\n */\nexport const EasyTableFilter = (props: EasyTableFilterProps) => {\n const {\n queryButtonProps,\n resetButtonProps,\n filterOperate,\n formClassName,\n defaultResetButtonTriggerRequest,\n filterWrapperStyle,\n filterWrapperClassName,\n } = 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 = useMemo(() => {\n if (isFragment(children)) {\n return Children.toArray((children as ReactElement).props.children) as ReactElement[];\n } else {\n return Children.toArray(children) as ReactElement[];\n }\n }, [children]);\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 (isUndefined(defaultResetButtonTriggerRequest) || defaultResetButtonTriggerRequest) {\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\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 key=\"fold-trigger\"\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.props['hidden']) return null;\n if (item.type['domTypeName'] === 'FormCol') return item;\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\n className={classNames('easy-table-filter', filterWrapperClassName)}\n style={filterWrapperStyle}\n >\n <Form\n form={form}\n autoComplete=\"off\"\n onFinish={onFormFinish}\n initialValues={{\n ...initialValues,\n ...state.queryCondition,\n }}\n className={formClassName}\n >\n {props.isPure ? (\n children\n ) : (\n <FormGrid.Row gutter={[15, 0]} gridSize={props.formGridSize}>\n {formRowChildren}\n </FormGrid.Row>\n )}\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 已过时 @4.3.0版本移除,请使用 useEasyTable\n * @returns\n */\nexport const useEasyTablRef = () => {\n const { getEasyTableRef } = useEasyTableCtx();\n const ref = useRef<EasyTableRefApi>(getEasyTableRef());\n return ref;\n};\n","import { classNames } from '@dimjs/utils';\nimport { getUuid, isMacEnv, isUndefinedOrNull, TAny, TPlainObject } from '@flatbiz/utils';\nimport { Table, TableProps } from 'antd';\nimport { ColumnsType } from 'antd/lib/table';\nimport { CSSProperties, ReactElement, useMemo } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport { SmallSelect } from '../pagination-wrapper/select';\nimport { SimpleLayout } from '../simple-layout';\nimport { TableScrollbar } from '../table-scrollbar';\nimport { TableTitleTooltip } from '../table-title-tooltip';\nimport { useEasyTableCtx } from './context';\nimport { easyTableModel } from './model';\n\nexport type TEasyTableTableColumn<T> = ColumnsType<T>[0] & {\n /**\n * 会在 title 之后展示一个 icon,hover 之后提示一些信息\n * ```\n * 1. title为string类型有效\n * 2. hoverArea 默认值:icon\n * ```\n */\n tooltip?: string | { content: string; icon?: ReactElement; hoverArea?: 'icon' | 'all' };\n dataIndex?: keyof T | (string & {});\n};\n\nexport type EasyTableTableProps<T> = Omit<\n TableProps<TAny>,\n 'dataSource' | 'loading' | 'rowKey' | 'columns'\n> & {\n children?: ReactElement | ReactElement[];\n /**\n * 表格行 key 的取值,\n * ```\n * 如果 rowKey 为string类型\n * 1. 组件会判断表格列表数据第一条是否存在当前rowKey对象的数据,如果没有组件内部会动态添加唯一值\n * 2. 基于上一条的逻辑,如果表格数据没有唯一值,可指定 rowKey 值为table数据中不存在的字段名,例如:rowKey=\"_uid\"\n * 3. 如果触发上述逻辑,表格数据中会多出rowKey对应的键值对数据\n * ```\n */\n rowKey: TableProps<TAny>['rowKey'];\n /** table Form 外层 SimpleLayout className */\n tableWrapperStyle?: CSSProperties;\n /** table Form 外层 SimpleLayout className */\n tableWrapperClassName?: string;\n columns: TEasyTableTableColumn<T>[];\n};\n\n/**\n * 表格渲染\n * @param props\n * ```\n * 1. 继承了 TableProps 可设置antd table功能\n * 2. 分页功能已内置处理,不调用 onChange\n * ```\n */\nexport const EasyTableTable = <T extends TPlainObject>(props: EasyTableTableProps<T>) => {\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 tablePaginationData = useMemo(() => {\n if (paginationFixed || pagination === false) return false;\n return {\n showSizeChanger: true,\n current: state.queryCondition[fieldNames.pageNo] || 1,\n pageSize: state.queryCondition[fieldNames.pageSize] || pageSize,\n total: tableTotal,\n showTotal: (total) => `共 ${total} 条记录`,\n ...props.pagination,\n selectComponentClass: SmallSelect,\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'] = (pagination, filters, sorter, extra) => {\n if (extra.action === 'paginate' && tablePaginationData) {\n onRequest({ [fieldNames.pageSize]: pagination.pageSize, [fieldNames.pageNo]: pagination.current });\n } else {\n props.onChange?.(pagination, filters, sorter, extra);\n }\n };\n\n const dataSource = useMemo(() => {\n if (tableList.length === 0) {\n return [];\n }\n if (typeof rowKey === 'string' && 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 = paginationFixed || tablePaginationData !== 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 ...state.queryCondition,\n });\n } else {\n void onRequest(initialValues);\n }\n } else {\n void actions.updateFilterCondition(initialValues);\n }\n void actions.updateInitStatus();\n }, []);\n\n const columns = useMemo(() => {\n return props.columns.map((item) => {\n const { tooltip, title, ...otherProps } = item;\n if (typeof title === 'string' && !!tooltip) {\n return {\n ...otherProps,\n title: <TableTitleTooltip title={title} tooltip={tooltip} />,\n };\n }\n return item;\n });\n }, [props.columns]);\n\n return (\n <SimpleLayout\n className={classNames('easy-table-table', props.tableWrapperClassName)}\n style={props.tableWrapperStyle}\n >\n {children}\n {isMacEnv() ? (\n <Table\n size=\"small\"\n scroll={{ x: 'max-content' }}\n bordered\n {...otherProps}\n columns={columns}\n pagination={tablePaginationData}\n rowKey={rowKey}\n onChange={onChangePage}\n loading={loading}\n dataSource={dataSource}\n />\n ) : (\n <TableScrollbar>\n <Table\n size=\"small\"\n scroll={{ x: 'max-content' }}\n bordered\n {...otherProps}\n columns={columns}\n pagination={tablePaginationData}\n rowKey={rowKey}\n onChange={onChangePage}\n loading={loading}\n dataSource={dataSource}\n />\n </TableScrollbar>\n )}\n </SimpleLayout>\n );\n};\n","import { fbaUtils } from '../fba-utils';\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,设置【在父节点高度下,上下铺满】(默认值:true)\n * 5. filterFixed=true,设置查询条件固定,不随滚动条滚动\n * 6. paginationFixed=true,可设置分页条件在底部固定,不随滚动条滚动\n * 7. foldKeys=string[],查询条件展开、收起,被收起数组内容为EasyTable.Filter 子节点key值\n * 8. windows环境下,会在EasyTable.Table外部包装一下 TableScrollbar,提示高windows下table左右滚动体验\n *\n * Demo https://fex.qa.tcshuke.com/docs/admin/main/crud/easy-table\n * ```\n */\nexport const EasyTable = fbaUtils.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 *5. Filter 子节点包含 hidden = true 会被忽略\n *```\n */\n Filter: EasyTableFilter,\n /**\n * 表格渲染\n * @param props\n * ```\n * 1. 继承了 TableProps 可设置antd table功能\n * 2. 分页功能已内置处理,不调用 onChange\n * ```\n */\n Table: EasyTableTable,\n\n /**\n * @deprecated 已过时 4.3.0版本移除,请使用 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","respOriginalDataRef","useRef","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","onRequestErrorHandle","message","resolve","then","$await_2","cloneState","serviceConfig","$await_3","current","onDataSourceChange","_isArray","clearQueryCondition","values","$await_4","resetFields","setFieldsValue","getPaginationData","_pageSize","_ref","onResetRequest","initialValues","$await_5","getRequestParams","getFieldsValue","getEasyTableRef","getDataSource","onFilterDataSource","filterDataSource","onClearDataSource","useImperativeHandle","onSetPaginationStatus","status","onFormFinish","isFull","_isUndefined","className","_classNames","filterFixed","paginationFixed","paginationData","useMemo","showSizeChanger","showTotal","pagination","onChange","page","_onInnerRequest","_props$pagination","wrapperClassName","isInline","children","_jsx","value","tableList","tableTotal","foldKeys","_jsxs","style","PaginationWrapper","size","EasyTableFilter","queryButtonProps","resetButtonProps","filterOperate","formClassName","defaultResetButtonTriggerRequest","filterWrapperStyle","filterWrapperClassName","_useEasyTableCtx","childrens","isFragment","Children","toArray","openFold","setOpenFold","onReset","_extends2","$await_1","formRowChildren","formOperateColProps","rightList","hidden","ButtonWrapper","type","htmlType","text","onClick","leftList","length","changeFolditem","padding","_UpOutlined","marginLeft","fontSize","_DownOutlined","push","map","item","index","find","keyItem","FormGrid","Col","filter","Boolean","concat","OperateCol","SimpleLayout","autoComplete","onFinish","isPure","Row","gutter","gridSize","formGridSize","useEasyTable","ctx","resp","useEasyTablRef","EasyTableTable","rowKey","otherProps","_objectWithoutPropertiesLoose","_excluded","tablePaginationData","selectComponentClass","SmallSelect","onChangePage","filters","sorter","extra","action","_onRequest","isUndefinedOrNull","getUuid","fbaHooks","useEffectCustom","hasPagination","columns","tooltip","title","_excluded2","TableTitleTooltip","tableWrapperClassName","tableWrapperStyle","isMacEnv","Table","scroll","x","bordered","TableScrollbar","fbaUtils","attachPropertiesToComponent","EasyTableInner","Filter"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ .file-select-horizontal{display:inline-flex;justify-content:center;line-height:normal}.file-select-horizontal .ant-upload-list{align-items:center;display:inline-flex;margin-left:10px}.file-select-horizontal .ant-upload-list-item{margin:0!important}
@@ -0,0 +1,5 @@
1
+ /* eslint-disable */
2
+ import './index.css';
3
+ /*! @flatjs/forge MIT @flatbiz/antd */
4
+ import{classNames as e}from"@dimjs/utils/cjs/class-names";import{hooks as o}from"@wove/react/cjs/hooks";import{isUndefinedOrNull as r}from"@flatbiz/utils";import{Upload as t,Button as a}from"antd";import{useState as i}from"react";import{jsx as l}from"react/jsx-runtime";var n=function n(s){var c=s.buttonName;var m=i([]),f=m[0],u=m[1];var d=r(s.direction)?"horizontal":s.direction;console.log("direction",d);var h=o.useCallbackRef((function(e){u([e]);s.onChange==null?void 0:s.onChange(e);return false}));var p=o.useCallbackRef((function(e){var o;if((e==null||(o=e.file)==null?void 0:o.status)==="removed"){u([]);s.onChange==null?void 0:s.onChange()}}));return l(t,{showUploadList:true,onChange:p,maxCount:1,beforeUpload:h,fileList:f,accept:s.accept||".xlsx,.xls",className:e("file-select",{"file-select-horizontal":d==="horizontal"},s.className),children:s.children?s.children:l(a,{type:"primary",ghost:true,children:c||"选择文件"})})};export{n as FileSelect};
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/file-select/file-select.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { isUndefinedOrNull } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Button, Upload } from 'antd';\nimport { RcFile } from 'antd/es/upload';\nimport { ReactElement, useState } from 'react';\nimport './style.less';\n\nexport type FileSelectProps = {\n buttonName?: string | ReactElement;\n children?: React.ReactNode;\n /** 上传按钮与文件排版 默认:horizontal */\n direction?: 'horizontal' | 'hertical';\n /** 可选择文件格式,默认:.xlsx,.xls */\n accept?: string;\n onChange?: (file?: RcFile) => void;\n className?: string;\n};\n\n/**\n * 文件选择,内部不调用服务上传\n * ```\n * 默认选择文件格式:.xlsx,.xls\n * ```\n */\nexport const FileSelect = (props: FileSelectProps) => {\n const { buttonName } = props;\n const [fileList, setFileList] = useState<RcFile[]>([]);\n const direction = isUndefinedOrNull(props.direction) ? 'horizontal' : props.direction;\n console.log('direction', direction);\n\n const beforeUpload = hooks.useCallbackRef((file) => {\n setFileList([file]);\n props.onChange?.(file);\n return false;\n });\n\n const onChange = hooks.useCallbackRef((info) => {\n if (info?.file?.status === 'removed') {\n setFileList([]);\n props.onChange?.();\n }\n });\n\n return (\n <Upload\n showUploadList={true}\n onChange={onChange}\n maxCount={1}\n beforeUpload={beforeUpload}\n fileList={fileList}\n accept={props.accept || '.xlsx,.xls'}\n className={classNames(\n 'file-select',\n { 'file-select-horizontal': direction === 'horizontal' },\n props.className,\n )}\n >\n {props.children ? (\n props.children\n ) : (\n <Button type=\"primary\" ghost>\n {buttonName || '选择文件'}\n </Button>\n )}\n </Upload>\n );\n};\n"],"names":["FileSelect","props","buttonName","_useState","useState","fileList","setFileList","direction","isUndefinedOrNull","console","log","beforeUpload","_hooks","useCallbackRef","file","onChange","info","_info$file","status","_jsx","Upload","showUploadList","maxCount","accept","className","_classNames","children","Button","type","ghost"],"mappings":";kRAyBaA,EAAa,SAAbA,EAAcC,GACzB,IAAQC,EAAeD,EAAfC,WACR,IAAAC,EAAgCC,EAAmB,IAA5CC,EAAQF,EAAA,GAAEG,EAAWH,EAAA,GAC5B,IAAMI,EAAYC,EAAkBP,EAAMM,WAAa,aAAeN,EAAMM,UAC5EE,QAAQC,IAAI,YAAaH,GAEzB,IAAMI,EAAeC,EAAMC,gBAAe,SAACC,GACzCR,EAAY,CAACQ,IACbb,EAAMc,UAANd,UAAAA,EAAAA,EAAMc,SAAWD,GACjB,OAAO,KACT,IAEA,IAAMC,EAAWH,EAAMC,gBAAe,SAACG,GAAS,IAAAC,EAC9C,IAAID,GAAIC,OAAAA,EAAJD,EAAMF,OAAI,UAAA,EAAVG,EAAYC,UAAW,UAAW,CACpCZ,EAAY,IACZL,EAAMc,UAAQ,UAAA,EAAdd,EAAMc,UACR,CACF,IAEA,OACEI,EAACC,EAAM,CACLC,eAAgB,KAChBN,SAAUA,EACVO,SAAU,EACVX,aAAcA,EACdN,SAAUA,EACVkB,OAAQtB,EAAMsB,QAAU,aACxBC,UAAWC,EACT,cACA,CAAE,yBAA0BlB,IAAc,cAC1CN,EAAMuB,WACNE,SAEDzB,EAAMyB,SACLzB,EAAMyB,SAENP,EAACQ,EAAM,CAACC,KAAK,UAAUC,MAAK,KAAAH,SACzBxB,GAAc,UAKzB"}
package/esm/index.js CHANGED
@@ -49,6 +49,7 @@ import './input-wrapper/index.css';
49
49
  import './input-text-area-wrapper/index.css';
50
50
  import './editor-wrapper/index.css';
51
51
  import './file-import/index.css';
52
+ import './file-select/index.css';
52
53
  import './form-item-group/index.css';
53
54
  import './form-item-hidden/index.css';
54
55
  import './form-item-wrapper/index.css';
@@ -89,5 +90,5 @@ import './tree-selector-wrapper/index.css';
89
90
  import './tree-wrapper/index.css';
90
91
  import './index.css';
91
92
  /*! @flatjs/forge MIT @flatbiz/antd */
92
- export{AmountFenInput}from"./amount-fen-input/index.js";export{AmountFenInputFormItem}from"./amount-fen-input-form-item/index.js";export{AnchorSteps}from"./anchor-steps/index.js";export{ButtonOperate,ButtonOperateItemContent}from"./button-operate/index.js";export{ButtonWrapper}from"./button-wrapper/index.js";export{CascaderWrapper}from"./cascader-wrapper/index.js";export{CheckList}from"./check-list/index.js";export{CheckboxWrapper}from"./checkbox-wrapper/index.js";export{ColorPickerWrapper}from"./color-picker-wrapper/index.js";export{ConfigProviderWrapper}from"./config-provider-wrapper/index.js";export{createDrawerWrapperModel}from"./create-drawer-wrapper-model/index.js";export{createModalWrapperModel}from"./create-modal-wrapper-model/index.js";export{CssNodeHover}from"./css-node-hover/index.js";export{DataRender}from"./data-render/index.js";export{DatePickerWrapper}from"./date-picker-wrapper/index.js";export{DateRangePickerWrapper}from"./date-range-picker-wrapper/index.js";export{DateRangePickerWrapperFormItem}from"./date-range-picker-wrapper-form-item/index.js";export{dialogAlert}from"./dialog-alert/index.js";export{dialogConfirm}from"./dialog-confirm/index.js";export{dialogDrawer}from"./dialog-drawer/index.js";export{DialogDrawerContent}from"./dialog-drawer-content/index.js";export{dialogLoading}from"./dialog-loading/index.js";export{dialogModal}from"./dialog-modal/index.js";export{DragCollapse}from"./drag-collapse/index.js";export{DragCollapseFormList}from"./drag-collapse-form-list/index.js";export{DrawerWrapper}from"./drawer-wrapper/index.js";export{DropdownMenuWrapper}from"./dropdown-menu-wrapper/index.js";export{dynamicNode}from"./dynamic-node/index.js";export{EasyTable}from"./easy-table/index.js";export{EditableField}from"./editable-field/index.js";export{EditableFieldProvider}from"./editable-field-provider/index.js";export{EditableTable}from"./editable-table/index.js";export{EditorWrapper}from"./editor-wrapper/index.js";export{fbaHooks}from"./fba-hooks/index.js";export{fbaUtils}from"./fba-utils/index.js";export{FileImport}from"./file-import/index.js";export{FlexLayout}from"./flex-layout/index.js";export{FormGrid}from"./form-grid/index.js";export{FormItemGroup}from"./form-item-group/index.js";export{FormItemHidden}from"./form-item-hidden/index.js";export{FormItemWrapper}from"./form-item-wrapper/index.js";export{Gap}from"./gap/index.js";export{IconWrapper}from"./icon-wrapper/index.js";export{InputSearchWrapper}from"./input-search-wrapper/index.js";export{InputTextAreaWrapper}from"./input-text-area-wrapper/index.js";export{InputWrapper}from"./input-wrapper/index.js";export{LabelValueLayout}from"./label-value-layout/index.js";export{LocalLoading}from"./local-loading/index.js";export{ModalAction}from"./modal-action/index.js";export{ModalWrapper}from"./modal-wrapper/index.js";export{PageFixedFooter}from"./page-fixed-footer/index.js";export{Page404}from"./page404/index.js";export{P as PaginationWrapper}from"./index-e98b9352.js";export{Permission}from"./permission/index.js";export{preDefinedClassName}from"./pre-defined-class-name/index.js";export{RadioGroupWrapper}from"./radio-group-wrapper/index.js";export{RelationTree}from"./relation-tree/index.js";export{RequestStatus}from"./request-status/index.js";export{RichTextEditor}from"./rich-text-editor/index.js";export{RichTextViewer}from"./rich-text-viewer/index.js";export{RollLocationCenter}from"./roll-location-center/index.js";export{RollLocationInView}from"./roll-location-in-view/index.js";export{RuleDescribe}from"./rule-describe/index.js";export{SelectorWrapper}from"./selector-wrapper/index.js";export{SelectorWrapperSearch}from"./selector-wrapper-search/index.js";export{SelectorWrapperSimple}from"./selector-wrapper-simple/index.js";export{SimpleLayout}from"./simple-layout/index.js";export{SmsCountDown}from"./sms-count-down/index.js";export{styles}from"./styles/index.js";export{SwitchConfirmWrapper}from"./switch-confirm-wrapper/index.js";export{SwitchWrapper}from"./switch-wrapper/index.js";export{tableCellRender}from"./table-cell-render/index.js";export{TableScrollbar}from"./table-scrollbar/index.js";export{TableTitleTooltip}from"./table-title-tooltip/index.js";export{TabsWrapper}from"./tabs-wrapper/index.js";export{TagGroup}from"./tag-group/index.js";export{TagListSelect}from"./tag-list-select/index.js";export{TagWrapper}from"./tag-wrapper/index.js";export{TextCssEllipsis}from"./text-css-ellipsis/index.js";export{TextOverflowRender}from"./text-overflow-render/index.js";export{TimePickerWrapper}from"./time-picker-wrapper/index.js";export{TimeRangePickerWrapper}from"./time-range-picker-wrapper/index.js";export{TimeRangePickerWrapperFormItem}from"./time-range-picker-wrapper-form-item/index.js";export{TipsTitle}from"./tips-title/index.js";export{TreeSelectorWrapper}from"./tree-selector-wrapper/index.js";export{TreeWrapper}from"./tree-wrapper/index.js";export{UploadWrapper}from"./upload-wrapper/index.js";import"./_rollupPluginBabelHelpers-fc015ef2.js";import"@flatbiz/utils";import"antd";import"react/jsx-runtime";import"@dimjs/utils/cjs/class-names";import"react";import"@ant-design/icons/es/icons/MoreOutlined";import"@dimjs/lang/cjs/is-undefined";import"@dimjs/lang/cjs/is-plain-object";import"@dimjs/lang/cjs/is-string";import"@dimjs/lang/cjs/is-promise";import"@wove/react/cjs/hooks";import"@ant-design/icons/es/icons/LoadingOutlined";import"@ant-design/icons/es/icons/RedoOutlined";import"@dimjs/utils/cjs/extend";import"@dimjs/model";import"@dimjs/model-react";import"@wove/react/cjs/create-ctx";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"./time-53b3f55f.js";import"@dimjs/lang/cjs/is-array";import"react-dom/client";import"./dom-4d04aa64.js";import"./context-1f2093c6.js";import"ahooks";import"@dimjs/utils/cjs/array";import"@dnd-kit/core";import"@dnd-kit/sortable";import"@ant-design/icons/es/icons/DragOutlined";import"@dnd-kit/utilities";import"@ant-design/icons/es/icons/SaveOutlined";import"@ant-design/icons/es/icons/ExclamationCircleFilled";import"@ant-design/icons/es/icons/DownOutlined";import"@ant-design/icons/es/icons/UpOutlined";import"react-is";import"@ant-design/icons/es/icons/CloseOutlined";import"@ant-design/icons/es/icons/CheckOutlined";import"@dimjs/lang/cjs/is-number";import"@ant-design/icons/es/icons/EditOutlined";import"./context-25d0b686.js";import"@ant-design/icons/es/icons/PlusOutlined";import"@dimjs/lang/cjs/is-boolean";import"@ant-design/icons/es/icons/DeleteOutlined";import"@wove/react/cjs/editor";import"./use-responsive-point-21b8c601.js";import"@dimjs/lang/cjs/is-deep-equal";import"@tinymce/tinymce-react";import"@ant-design/icons/es/icons/PlusCircleOutlined";import"@ant-design/icons/es/icons/FullscreenOutlined";import"@dimjs/utils/cjs/get";import"@dimjs/utils/cjs/json";import"pubsub-js";import"@dimjs/lang/cjs/is-object";import"@dimjs/lang/cjs/is-empty";import"@ant-design/icons/es/icons/QuestionCircleOutlined";import"dayjs/plugin/isSameOrAfter";import"dayjs/plugin/isSameOrBefore";import"@ant-design/icons/es/icons/CaretDownFilled";import"dequal";import"@dimjs/utils/cjs/tree";import"react-dom";
93
+ export{AmountFenInput}from"./amount-fen-input/index.js";export{AmountFenInputFormItem}from"./amount-fen-input-form-item/index.js";export{AnchorSteps}from"./anchor-steps/index.js";export{ButtonOperate,ButtonOperateItemContent}from"./button-operate/index.js";export{ButtonWrapper}from"./button-wrapper/index.js";export{CascaderWrapper}from"./cascader-wrapper/index.js";export{CheckList}from"./check-list/index.js";export{CheckboxWrapper}from"./checkbox-wrapper/index.js";export{ColorPickerWrapper}from"./color-picker-wrapper/index.js";export{ConfigProviderWrapper}from"./config-provider-wrapper/index.js";export{createDrawerWrapperModel}from"./create-drawer-wrapper-model/index.js";export{createModalWrapperModel}from"./create-modal-wrapper-model/index.js";export{CssNodeHover}from"./css-node-hover/index.js";export{DataRender}from"./data-render/index.js";export{DatePickerWrapper}from"./date-picker-wrapper/index.js";export{DateRangePickerWrapper}from"./date-range-picker-wrapper/index.js";export{DateRangePickerWrapperFormItem}from"./date-range-picker-wrapper-form-item/index.js";export{dialogAlert}from"./dialog-alert/index.js";export{dialogConfirm}from"./dialog-confirm/index.js";export{dialogDrawer}from"./dialog-drawer/index.js";export{DialogDrawerContent}from"./dialog-drawer-content/index.js";export{dialogLoading}from"./dialog-loading/index.js";export{dialogModal}from"./dialog-modal/index.js";export{DragCollapse}from"./drag-collapse/index.js";export{DragCollapseFormList}from"./drag-collapse-form-list/index.js";export{DrawerWrapper}from"./drawer-wrapper/index.js";export{DropdownMenuWrapper}from"./dropdown-menu-wrapper/index.js";export{dynamicNode}from"./dynamic-node/index.js";export{EasyTable}from"./easy-table/index.js";export{EditableField}from"./editable-field/index.js";export{EditableFieldProvider}from"./editable-field-provider/index.js";export{EditableTable}from"./editable-table/index.js";export{EditorWrapper}from"./editor-wrapper/index.js";export{fbaHooks}from"./fba-hooks/index.js";export{fbaUtils}from"./fba-utils/index.js";export{FileImport}from"./file-import/index.js";export{FileSelect}from"./file-select/index.js";export{FlexLayout}from"./flex-layout/index.js";export{FormGrid}from"./form-grid/index.js";export{FormItemGroup}from"./form-item-group/index.js";export{FormItemHidden}from"./form-item-hidden/index.js";export{FormItemWrapper}from"./form-item-wrapper/index.js";export{Gap}from"./gap/index.js";export{IconWrapper}from"./icon-wrapper/index.js";export{InputSearchWrapper}from"./input-search-wrapper/index.js";export{InputTextAreaWrapper}from"./input-text-area-wrapper/index.js";export{InputWrapper}from"./input-wrapper/index.js";export{LabelValueLayout}from"./label-value-layout/index.js";export{LocalLoading}from"./local-loading/index.js";export{ModalAction}from"./modal-action/index.js";export{ModalWrapper}from"./modal-wrapper/index.js";export{PageFixedFooter}from"./page-fixed-footer/index.js";export{Page404}from"./page404/index.js";export{P as PaginationWrapper}from"./index-e98b9352.js";export{Permission}from"./permission/index.js";export{preDefinedClassName}from"./pre-defined-class-name/index.js";export{RadioGroupWrapper}from"./radio-group-wrapper/index.js";export{RelationTree}from"./relation-tree/index.js";export{RequestStatus}from"./request-status/index.js";export{RichTextEditor}from"./rich-text-editor/index.js";export{RichTextViewer}from"./rich-text-viewer/index.js";export{RollLocationCenter}from"./roll-location-center/index.js";export{RollLocationInView}from"./roll-location-in-view/index.js";export{RuleDescribe}from"./rule-describe/index.js";export{SelectorWrapper}from"./selector-wrapper/index.js";export{SelectorWrapperSearch}from"./selector-wrapper-search/index.js";export{SelectorWrapperSimple}from"./selector-wrapper-simple/index.js";export{SimpleLayout}from"./simple-layout/index.js";export{SmsCountDown}from"./sms-count-down/index.js";export{styles}from"./styles/index.js";export{SwitchConfirmWrapper}from"./switch-confirm-wrapper/index.js";export{SwitchWrapper}from"./switch-wrapper/index.js";export{tableCellRender}from"./table-cell-render/index.js";export{TableScrollbar}from"./table-scrollbar/index.js";export{TableTitleTooltip}from"./table-title-tooltip/index.js";export{TabsWrapper}from"./tabs-wrapper/index.js";export{TagGroup}from"./tag-group/index.js";export{TagListSelect}from"./tag-list-select/index.js";export{TagWrapper}from"./tag-wrapper/index.js";export{TextCssEllipsis}from"./text-css-ellipsis/index.js";export{TextOverflowRender}from"./text-overflow-render/index.js";export{TimePickerWrapper}from"./time-picker-wrapper/index.js";export{TimeRangePickerWrapper}from"./time-range-picker-wrapper/index.js";export{TimeRangePickerWrapperFormItem}from"./time-range-picker-wrapper-form-item/index.js";export{TipsTitle}from"./tips-title/index.js";export{TreeSelectorWrapper}from"./tree-selector-wrapper/index.js";export{TreeWrapper}from"./tree-wrapper/index.js";export{UploadWrapper}from"./upload-wrapper/index.js";import"./_rollupPluginBabelHelpers-fc015ef2.js";import"@flatbiz/utils";import"antd";import"react/jsx-runtime";import"@dimjs/utils/cjs/class-names";import"react";import"@ant-design/icons/es/icons/MoreOutlined";import"@dimjs/lang/cjs/is-undefined";import"@dimjs/lang/cjs/is-plain-object";import"@dimjs/lang/cjs/is-string";import"@dimjs/lang/cjs/is-promise";import"@wove/react/cjs/hooks";import"@ant-design/icons/es/icons/LoadingOutlined";import"@ant-design/icons/es/icons/RedoOutlined";import"@dimjs/utils/cjs/extend";import"@dimjs/model";import"@dimjs/model-react";import"@wove/react/cjs/create-ctx";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"./time-53b3f55f.js";import"@dimjs/lang/cjs/is-array";import"react-dom/client";import"./dom-4d04aa64.js";import"./context-1f2093c6.js";import"ahooks";import"@dimjs/utils/cjs/array";import"@dnd-kit/core";import"@dnd-kit/sortable";import"@ant-design/icons/es/icons/DragOutlined";import"@dnd-kit/utilities";import"@ant-design/icons/es/icons/SaveOutlined";import"@ant-design/icons/es/icons/ExclamationCircleFilled";import"@ant-design/icons/es/icons/DownOutlined";import"@ant-design/icons/es/icons/UpOutlined";import"react-is";import"@ant-design/icons/es/icons/CloseOutlined";import"@ant-design/icons/es/icons/CheckOutlined";import"@dimjs/lang/cjs/is-number";import"@ant-design/icons/es/icons/EditOutlined";import"./context-25d0b686.js";import"@ant-design/icons/es/icons/PlusOutlined";import"@dimjs/lang/cjs/is-boolean";import"@ant-design/icons/es/icons/DeleteOutlined";import"@wove/react/cjs/editor";import"./use-responsive-point-21b8c601.js";import"@dimjs/lang/cjs/is-deep-equal";import"@tinymce/tinymce-react";import"@ant-design/icons/es/icons/PlusCircleOutlined";import"@ant-design/icons/es/icons/FullscreenOutlined";import"@dimjs/utils/cjs/get";import"@dimjs/utils/cjs/json";import"pubsub-js";import"@dimjs/lang/cjs/is-object";import"@dimjs/lang/cjs/is-empty";import"@ant-design/icons/es/icons/QuestionCircleOutlined";import"dayjs/plugin/isSameOrAfter";import"dayjs/plugin/isSameOrBefore";import"@ant-design/icons/es/icons/CaretDownFilled";import"dequal";import"@dimjs/utils/cjs/tree";import"react-dom";
93
94
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ .table-fen-color{background-color:rgba(201,188,47,.2);box-shadow:0 0 10px rgba(201,188,47,.4);display:inline-block}
@@ -11,5 +11,5 @@ import './../flex-layout/index.css';
11
11
  import './../tag-list-select/index.css';
12
12
  import './index.css';
13
13
  /*! @flatjs/forge MIT @flatbiz/antd */
14
- import{isString as r}from"@dimjs/lang/cjs/is-string";import{isObject as t}from"@dimjs/lang/cjs/is-object";import{get as e}from"@dimjs/utils/cjs/get";import{isPlainObject as i}from"@dimjs/lang/cjs/is-plain-object";import{_ as n}from"../_rollupPluginBabelHelpers-fc015ef2.js";import{isEmpty as o}from"@dimjs/lang/cjs/is-empty";import{isNumber as a,isUndefinedOrNull as l,getStrByteLen as u,cutString as s,flatbizDate as m,flatbizPrice as p}from"@flatbiz/utils";import{Tooltip as d,Space as c}from"antd";import{Fragment as f}from"react";import{ButtonOperate as j}from"../button-operate/index.js";import{TagListSelect as v}from"../tag-list-select/index.js";import{jsx as g}from"react/jsx-runtime";import"@ant-design/icons/es/icons/MoreOutlined";import"@dimjs/lang/cjs/is-undefined";import"@dimjs/utils/cjs/class-names";import"@dimjs/lang/cjs/is-promise";import"@wove/react/cjs/hooks";import"../button-wrapper/index.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"../config-provider-wrapper/index.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-hooks/index.js";import"@dimjs/lang/cjs/is-array";import"../use-responsive-point-21b8c601.js";import"../fba-utils/index.js";import"../dropdown-menu-wrapper/index.js";import"@ant-design/icons/es/icons/ExclamationCircleFilled";import"../dialog-confirm/index.js";import"../dialog-modal/index.js";import"ahooks";import"react-dom/client";import"../flex-layout/index.js";var x=function r(t,e){return function(r){if(o(r)||r==="")return e;if(a(r))return r;var i=r.toString();var n=l(t)?10:t;var m=u(i);if(m<=n*2){return i}return g(d,{placement:"topLeft",title:i,children:s(i,n*2)})}};var h=function r(t){return function(r,e,i){var o=t(e,i);return g(j,n({},o))}};var y=function r(t,e){return function(r){if(o(r)||r==="")return e;try{return m.format(new Date(r),t)}catch(t){return r||e}}};var w=function r(t,e){return function(r,i,n){if(e&&t){return(t-1)*e+n+1}return n+1}};var C=function r(t){return function(r,e,i){var n=(t==null?void 0:t())||{},o=n.pageNo,a=n.pageSize;if(a&&o){return(o-1)*a+i+1}return i+1}};var b=function r(t,e){return function(r){return g(v,{dataList:t,colorMap:e,value:r,forceMatch:false})}};var k=function r(n,o){return function(r){if(i(r)){var a=e(r,n,o);if(!a)return"";if(t(a))return JSON.stringify(a);return a}return r||o}};var N=function r(t){return function(r){if(l(r)||r===""){if(l(t==null?void 0:t.defaultValue))return undefined;if(a(t==null?void 0:t.defaultValue)){return p.format(t==null?void 0:t.defaultValue)}return t==null?void 0:t.defaultValue}if(!a(r))return r;var e=p.fen2yuan(r);return p.format(e,t==null?void 0:t.defaultValue,{separator:(t==null?void 0:t.separator)||false})}};var O=function t(e){return function(t,i){var n=e==null?void 0:e(i);if(!n)return g(f,{children:t});var o=l(n.showData)?true:n.showData;var a=l(n.notOverflowShowExtra)?true:n.notOverflowShowExtra;var u=l(n.showMaxNumber)?10:n.showMaxNumber;var m=n.extraPosition?n.extraPosition:"after";var p=r(t)?s(t,u*2):t;if(n.extra&&o){if(p===t&&!a){return t}var d=[g("span",{children:p},"1"),g(f,{children:n.extra},"2")];var j=m==="before"?d.reverse():d;return g(c,{onClick:n.onClick,style:{cursor:n.onClick?"pointer":undefined},size:5,children:j.map((function(r,t){return g(f,{children:r},t)}))})}return g("span",{onClick:n.onClick,children:n.extra})}};var S={extraContentRender:O,indexCell:w,serialNumberCell:C,dateCell:y,operateCell:h,tooltipCell:x,selectorCell:b,objectCell:k,fen2yuanCell:N};export{S as tableCellRender};
14
+ import{isString as r}from"@dimjs/lang/cjs/is-string";import{isObject as e}from"@dimjs/lang/cjs/is-object";import{get as t}from"@dimjs/utils/cjs/get";import{isPlainObject as n}from"@dimjs/lang/cjs/is-plain-object";import{_ as i}from"../_rollupPluginBabelHelpers-fc015ef2.js";import{isEmpty as o}from"@dimjs/lang/cjs/is-empty";import{isNumber as a,isUndefinedOrNull as l,getStrByteLen as s,cutString as u,flatbizDate as c,flatbizPrice as m}from"@flatbiz/utils";import{Tooltip as p,Space as d}from"antd";import{Fragment as f}from"react";import{ButtonOperate as j}from"../button-operate/index.js";import{TagListSelect as v}from"../tag-list-select/index.js";import{jsx as g}from"react/jsx-runtime";import"@ant-design/icons/es/icons/MoreOutlined";import"@dimjs/lang/cjs/is-undefined";import"@dimjs/utils/cjs/class-names";import"@dimjs/lang/cjs/is-promise";import"@wove/react/cjs/hooks";import"../button-wrapper/index.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"../config-provider-wrapper/index.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-hooks/index.js";import"@dimjs/lang/cjs/is-array";import"../use-responsive-point-21b8c601.js";import"../fba-utils/index.js";import"../dropdown-menu-wrapper/index.js";import"@ant-design/icons/es/icons/ExclamationCircleFilled";import"../dialog-confirm/index.js";import"../dialog-modal/index.js";import"ahooks";import"react-dom/client";import"../flex-layout/index.js";var x=function r(e,t){return function(r){if(o(r)||r==="")return t;if(a(r))return r;var n=r.toString();var i=l(e)?10:e;var c=s(n);if(c<=i*2){return n}return g(p,{placement:"topLeft",title:n,children:u(n,i*2)})}};var h=function r(e){return function(r,t,n){var o=e(t,n);return g(j,i({},o))}};var y=function r(e,t){return function(r){if(o(r)||r==="")return t;try{return c.format(new Date(r),e)}catch(e){return r||t}}};var w=function r(e,t){return function(r,n,i){if(t&&e){return(e-1)*t+i+1}return i+1}};var b=function r(e){return function(r,t,n){var i=(e==null?void 0:e())||{},o=i.pageNo,a=i.pageSize;if(a&&o){return(o-1)*a+n+1}return n+1}};var C=function r(e,t){return function(r){return g(v,{dataList:e,colorMap:t,value:r,forceMatch:false})}};var k=function r(i,o){return function(r){if(n(r)){var a=t(r,i,o);if(!a)return"";if(e(a))return JSON.stringify(a);return a}return r||o}};var N=function r(e){return function(r){if(l(r)||r===""){if(l(e==null?void 0:e.defaultValue))return undefined;if(a(e==null?void 0:e.defaultValue)){return g("span",{className:"table-fen-color",children:m.format(e==null?void 0:e.defaultValue)})}return g("span",{className:"table-fen-color",children:e==null?void 0:e.defaultValue})}if(!a(r))return r;var t=m.fen2yuan(r);return g("span",{className:"table-fen-color",children:m.format(t,e==null?void 0:e.defaultValue,{separator:(e==null?void 0:e.separator)||false})})}};var O=function e(t){return function(e,n){var i=t==null?void 0:t(n);if(!i)return g(f,{children:e});var o=l(i.showData)?true:i.showData;var a=l(i.notOverflowShowExtra)?true:i.notOverflowShowExtra;var s=l(i.showMaxNumber)?10:i.showMaxNumber;var c=i.extraPosition?i.extraPosition:"after";var m=r(e)?u(e,s*2):e;if(i.extra&&o){if(m===e&&!a){return e}var p=[g("span",{children:m},"1"),g(f,{children:i.extra},"2")];var j=c==="before"?p.reverse():p;return g(d,{onClick:i.onClick,style:{cursor:i.onClick?"pointer":undefined},size:5,children:j.map((function(r,e){return g(f,{children:r},e)}))})}return g("span",{onClick:i.onClick,children:i.extra})}};var S={extraContentRender:O,indexCell:w,serialNumberCell:b,dateCell:y,operateCell:h,tooltipCell:x,selectorCell:C,objectCell:k,fen2yuanCell:N};export{S as tableCellRender};
15
15
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/table-cell-render/cell-render.tsx"],"sourcesContent":["import { isEmpty, isObject, isPlainObject, isString } from '@dimjs/lang';\nimport { get } from '@dimjs/utils';\nimport {\n cutString,\n DateFormatType,\n flatbizDate,\n flatbizPrice,\n getStrByteLen,\n isNumber,\n isUndefinedOrNull,\n TAny,\n TPlainObject,\n} from '@flatbiz/utils';\nimport { Space, Tooltip } from 'antd';\nimport { Fragment, ReactElement } from 'react';\nimport { ButtonOperate, ButtonOperateProps } from '../button-operate';\nimport { TagListSelect, TagListSelectProps } from '../tag-list-select';\n\nconst tableColumnTooltipRender = (showMaxNumber?: number, defaultValue?: string) => {\n return (value: string | number) => {\n if (isEmpty(value) || value === '') return defaultValue;\n if (isNumber(value)) return value;\n const colunmText = value.toString();\n const maxNumber = (isUndefinedOrNull(showMaxNumber) ? 10 : showMaxNumber) as number;\n const strByteLen = getStrByteLen(colunmText);\n if (strByteLen <= maxNumber * 2) {\n return colunmText;\n }\n return (\n <Tooltip placement=\"topLeft\" title={colunmText}>\n {cutString(colunmText, maxNumber * 2)}\n </Tooltip>\n );\n };\n};\n\nconst tableColumnOperateRender = (options: (item: TAny, index: number) => ButtonOperateProps) => {\n return (_value: string | number, record, index: number) => {\n const operateProps = options(record, index);\n return <ButtonOperate {...operateProps} />;\n };\n};\n\nconst tableColumnDateRender = (dateFormatType?: DateFormatType, defaultValue?: string) => {\n return (value: string | number) => {\n if (isEmpty(value) || value === '') return defaultValue;\n try {\n return flatbizDate.format(new Date(value), dateFormatType);\n } catch (error) {\n return value || defaultValue;\n }\n };\n};\n\n/**\n * table 索引展示,如果存在pageSize、pageNo参数可分页展示索引,否则每页都从1开始\n * @param pageSize\n * @param pageNo\n * @returns\n */\nconst tableColumnIndexRender = (pageNo?: number, pageSize?: number) => {\n return (_value, _record, index: number) => {\n if (pageSize && pageNo) {\n return (pageNo - 1) * pageSize + index + 1;\n }\n return index + 1;\n };\n};\nconst tableColumnIndexRender2 = (method?: () => { pageNo?: number; pageSize?: number }) => {\n return (_value, _record, index: number) => {\n const { pageNo, pageSize } = method?.() || {};\n if (pageSize && pageNo) {\n return (pageNo - 1) * pageSize + index + 1;\n }\n return index + 1;\n };\n};\n\nconst tableColumnSelectorRender = (\n selectorList: TagListSelectProps['dataList'],\n colorMap?: TagListSelectProps['colorMap'],\n) => {\n return (value: string | number) => {\n return <TagListSelect dataList={selectorList} colorMap={colorMap} value={value} forceMatch={false} />;\n };\n};\n\nconst tableColumnObjectRender = (key: string, defaultValue?: string) => {\n return (value?: TPlainObject) => {\n if (isPlainObject(value)) {\n const target = get(value, key, defaultValue);\n if (!target) return '';\n if (isObject(target)) return JSON.stringify(target);\n return target;\n }\n return value || defaultValue;\n };\n};\n\nconst tableColumnFen2yuanCellRender = (options?: {\n /** 是否显示分隔符,默认值:false */\n separator?: boolean;\n defaultValue?: string | number;\n}) => {\n return (value?: string | number) => {\n if (isUndefinedOrNull(value) || value === '') {\n if (isUndefinedOrNull(options?.defaultValue)) return undefined;\n if (isNumber(options?.defaultValue as string | number)) {\n return flatbizPrice.format(options?.defaultValue);\n }\n return options?.defaultValue;\n }\n if (!isNumber(value as number | string)) return value;\n const amount = flatbizPrice.fen2yuan(value);\n return flatbizPrice.format(amount, options?.defaultValue, { separator: options?.separator || false });\n };\n};\n\ntype TableColumnIconRenderProps = {\n /** 额外内容,一般为Icon */\n extra: ReactElement;\n extraPosition?: 'before' | 'after';\n onClick?: (e) => void;\n /** 是否显示原单元格数据,默认值:true */\n showData?: boolean;\n /** 溢出显示【...】, 最大长度(默认:20个字节) */\n showMaxNumber?: number;\n /** 未溢出显示【extra】配置,默认值:true */\n notOverflowShowExtra?: boolean;\n};\n\nconst tableColumnExtraContentRender = (handle: (item: TPlainObject) => TableColumnIconRenderProps) => {\n return (value: TAny, item: TPlainObject) => {\n const options = handle?.(item);\n if (!options) return <Fragment>{value}</Fragment>;\n const showData = isUndefinedOrNull(options.showData) ? true : options.showData;\n const notOverflowShowExtra = isUndefinedOrNull(options.notOverflowShowExtra)\n ? true\n : options.notOverflowShowExtra;\n const showMaxNumber = isUndefinedOrNull(options.showMaxNumber) ? 10 : (options.showMaxNumber as number);\n const extraPosition = options.extraPosition ? options.extraPosition : 'after';\n const renderValue = isString(value) ? cutString(value, showMaxNumber * 2) : value;\n\n if (options.extra && showData) {\n if (renderValue === value && !notOverflowShowExtra) {\n return value;\n }\n const spaceContent = [<span key=\"1\">{renderValue}</span>, <Fragment key=\"2\">{options.extra}</Fragment>];\n const spaceContentRender = extraPosition === 'before' ? spaceContent.reverse() : spaceContent;\n return (\n <Space onClick={options.onClick} style={{ cursor: options.onClick ? 'pointer' : undefined }} size={5}>\n {spaceContentRender.map((item, index) => {\n return <Fragment key={index}>{item}</Fragment>;\n })}\n </Space>\n );\n }\n return <span onClick={options.onClick}>{options.extra}</span>;\n };\n};\n\nexport const tableCellRender = {\n /**\n * 表格单元格 拼接额外内容渲染\n * ```\n * 1. extra 额外内容\n * 2. showData 是否显示原单元格数据,默认值:true\n * 3. showMaxNumber 显示最大长度,作用于原单元格字符串数据\n * ```\n */\n extraContentRender: tableColumnExtraContentRender,\n /**\n * table 索引展示,如果存在pageSize、pageNo参数可分页展示索引,否则每页都从1开始\n * @deprecated 已过时 4.3.0版本移除,请使用 serialNumberCell\n */\n indexCell: tableColumnIndexRender,\n /**\n * table 序号展示,如果存在pageSize、pageNo参数可分页展示累加序号,否则每页都从1开始\n * ```\n * render: tableCellRender.serialNumberCell(() => {\n * return { pageNo,pageSize };\n * }),\n * ```\n */\n serialNumberCell: tableColumnIndexRender2,\n /**\n * 表格日期格式数据渲染,默认格式:YYYY-MM-DD\n * ```\n * dateFormatType: 日期格式\n * ```\n */\n dateCell: tableColumnDateRender,\n /**\n * table操作栏目渲染\n * ```\n * 使用方式\n * tableCellRender.operateCell((item) => ({\n * operateList: [\n * {\n * text: '编辑',\n * onClick: onItemOperate.bind(null, 'update', item),\n * permission: SystemAdminPermissionEnum.system_admin_edit,\n * },\n * {\n * text: '删除',\n * needConfirm: true,\n * confirmMessage: '确定要删除吗?',\n * onClick: onItemOperate.bind(null, 'delete', item),\n * permission: SystemAdminPermissionEnum.system_admin_delete,\n * },\n * ],\n * }))\n * ```\n */\n operateCell: tableColumnOperateRender,\n /**\n * 实现字段超出隐藏,默认长度10个字符\n * ```\n * 1. showMaxNumber: 显示最大长度\n * 2. 会讲字符转出字节进行计算显示\n * ```\n */\n tooltipCell: tableColumnTooltipRender,\n /**\n * ```\n * 使用方式1\n * tableCellRender.selectorCell([{ label: '已开启', value: 1, color: '#108ee9' }])\n *\n * 使用方式2\n * tableCellRender.selectorCell([{ label: '已开启', value: 1 }], { 1: '#108ee9' })\n * ```\n */\n selectorCell: tableColumnSelectorRender,\n /**\n * 单元格对象数据处理,支持多级处理\n * ```\n * tableCellRender.objectCell('a.b.c')\n * ```\n */\n objectCell: tableColumnObjectRender,\n /**\n * 分金额展示,入参分,显示元(默认添加千分位)\n * ```\n * 可配置\n * 1. separator:是否显示千分位分隔符,默认值:false\n * 2. defaultValue:当值为空默认展示\n *\n * 例如:\n * fen2yuanCell()(100090) => 1000.90\n * fen2yuanCell({separator: true})(100090) => 1,000.90\n * fen2yuanCell()('abc') => abc\n * fen2yuanCell({defaultValue: '--'})('') => --\n * fen2yuanCell()('') => undefined\n * fen2yuanCell({ defaultValue: 0 })('') => 0.00\n * ```\n */\n fen2yuanCell: tableColumnFen2yuanCellRender,\n};\n"],"names":["tableColumnTooltipRender","showMaxNumber","defaultValue","value","_isEmpty","isNumber","colunmText","toString","maxNumber","isUndefinedOrNull","strByteLen","getStrByteLen","_jsx","Tooltip","placement","title","children","cutString","tableColumnOperateRender","options","_value","record","index","operateProps","ButtonOperate","_extends","tableColumnDateRender","dateFormatType","flatbizDate","format","Date","error","tableColumnIndexRender","pageNo","pageSize","_record","tableColumnIndexRender2","method","_ref","tableColumnSelectorRender","selectorList","colorMap","TagListSelect","dataList","forceMatch","tableColumnObjectRender","key","_isPlainObject","target","_get","_isObject","JSON","stringify","tableColumnFen2yuanCellRender","undefined","flatbizPrice","amount","fen2yuan","separator","tableColumnExtraContentRender","handle","item","Fragment","showData","notOverflowShowExtra","extraPosition","renderValue","_isString","extra","spaceContent","spaceContentRender","reverse","Space","onClick","style","cursor","size","map","tableCellRender","extraContentRender","indexCell","serialNumberCell","dateCell","operateCell","tooltipCell","selectorCell","objectCell","fen2yuanCell"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/table-cell-render/cell-render.tsx"],"sourcesContent":["import { isEmpty, isObject, isPlainObject, isString } from '@dimjs/lang';\nimport { get } from '@dimjs/utils';\nimport {\n cutString,\n DateFormatType,\n flatbizDate,\n flatbizPrice,\n getStrByteLen,\n isNumber,\n isUndefinedOrNull,\n TAny,\n TPlainObject,\n} from '@flatbiz/utils';\nimport { Space, Tooltip } from 'antd';\nimport { Fragment, ReactElement } from 'react';\nimport { ButtonOperate, ButtonOperateProps } from '../button-operate';\nimport { TagListSelect, TagListSelectProps } from '../tag-list-select';\nimport './style.less';\n\nconst tableColumnTooltipRender = (showMaxNumber?: number, defaultValue?: string) => {\n return (value: string | number) => {\n if (isEmpty(value) || value === '') return defaultValue;\n if (isNumber(value)) return value;\n const colunmText = value.toString();\n const maxNumber = (isUndefinedOrNull(showMaxNumber) ? 10 : showMaxNumber) as number;\n const strByteLen = getStrByteLen(colunmText);\n if (strByteLen <= maxNumber * 2) {\n return colunmText;\n }\n return (\n <Tooltip placement=\"topLeft\" title={colunmText}>\n {cutString(colunmText, maxNumber * 2)}\n </Tooltip>\n );\n };\n};\n\nconst tableColumnOperateRender = (options: (item: TAny, index: number) => ButtonOperateProps) => {\n return (_value: string | number, record, index: number) => {\n const operateProps = options(record, index);\n return <ButtonOperate {...operateProps} />;\n };\n};\n\nconst tableColumnDateRender = (dateFormatType?: DateFormatType, defaultValue?: string) => {\n return (value: string | number) => {\n if (isEmpty(value) || value === '') return defaultValue;\n try {\n return flatbizDate.format(new Date(value), dateFormatType);\n } catch (error) {\n return value || defaultValue;\n }\n };\n};\n\n/**\n * table 索引展示,如果存在pageSize、pageNo参数可分页展示索引,否则每页都从1开始\n * @param pageSize\n * @param pageNo\n * @returns\n */\nconst tableColumnIndexRender = (pageNo?: number, pageSize?: number) => {\n return (_value, _record, index: number) => {\n if (pageSize && pageNo) {\n return (pageNo - 1) * pageSize + index + 1;\n }\n return index + 1;\n };\n};\nconst tableColumnIndexRender2 = (method?: () => { pageNo?: number; pageSize?: number }) => {\n return (_value, _record, index: number) => {\n const { pageNo, pageSize } = method?.() || {};\n if (pageSize && pageNo) {\n return (pageNo - 1) * pageSize + index + 1;\n }\n return index + 1;\n };\n};\n\nconst tableColumnSelectorRender = (\n selectorList: TagListSelectProps['dataList'],\n colorMap?: TagListSelectProps['colorMap'],\n) => {\n return (value: string | number) => {\n return <TagListSelect dataList={selectorList} colorMap={colorMap} value={value} forceMatch={false} />;\n };\n};\n\nconst tableColumnObjectRender = (key: string, defaultValue?: string) => {\n return (value?: TPlainObject) => {\n if (isPlainObject(value)) {\n const target = get(value, key, defaultValue);\n if (!target) return '';\n if (isObject(target)) return JSON.stringify(target);\n return target;\n }\n return value || defaultValue;\n };\n};\n\nconst tableColumnFen2yuanCellRender = (options?: {\n /** 是否显示分隔符,默认值:false */\n separator?: boolean;\n defaultValue?: string | number;\n}) => {\n return (value?: string | number) => {\n if (isUndefinedOrNull(value) || value === '') {\n if (isUndefinedOrNull(options?.defaultValue)) return undefined;\n if (isNumber(options?.defaultValue as string | number)) {\n return <span className=\"table-fen-color\">{flatbizPrice.format(options?.defaultValue)}</span>;\n }\n return <span className=\"table-fen-color\">{options?.defaultValue}</span>;\n }\n if (!isNumber(value as number | string)) return value;\n const amount = flatbizPrice.fen2yuan(value);\n return (\n <span className=\"table-fen-color\">\n {flatbizPrice.format(amount, options?.defaultValue, { separator: options?.separator || false })}\n </span>\n );\n };\n};\n\ntype TableColumnIconRenderProps = {\n /** 额外内容,一般为Icon */\n extra: ReactElement;\n extraPosition?: 'before' | 'after';\n onClick?: (e) => void;\n /** 是否显示原单元格数据,默认值:true */\n showData?: boolean;\n /** 溢出显示【...】, 最大长度(默认:20个字节) */\n showMaxNumber?: number;\n /** 未溢出显示【extra】配置,默认值:true */\n notOverflowShowExtra?: boolean;\n};\n\nconst tableColumnExtraContentRender = (handle: (item: TPlainObject) => TableColumnIconRenderProps) => {\n return (value: TAny, item: TPlainObject) => {\n const options = handle?.(item);\n if (!options) return <Fragment>{value}</Fragment>;\n const showData = isUndefinedOrNull(options.showData) ? true : options.showData;\n const notOverflowShowExtra = isUndefinedOrNull(options.notOverflowShowExtra)\n ? true\n : options.notOverflowShowExtra;\n const showMaxNumber = isUndefinedOrNull(options.showMaxNumber) ? 10 : (options.showMaxNumber as number);\n const extraPosition = options.extraPosition ? options.extraPosition : 'after';\n const renderValue = isString(value) ? cutString(value, showMaxNumber * 2) : value;\n\n if (options.extra && showData) {\n if (renderValue === value && !notOverflowShowExtra) {\n return value;\n }\n const spaceContent = [<span key=\"1\">{renderValue}</span>, <Fragment key=\"2\">{options.extra}</Fragment>];\n const spaceContentRender = extraPosition === 'before' ? spaceContent.reverse() : spaceContent;\n return (\n <Space onClick={options.onClick} style={{ cursor: options.onClick ? 'pointer' : undefined }} size={5}>\n {spaceContentRender.map((item, index) => {\n return <Fragment key={index}>{item}</Fragment>;\n })}\n </Space>\n );\n }\n return <span onClick={options.onClick}>{options.extra}</span>;\n };\n};\n\nexport const tableCellRender = {\n /**\n * 表格单元格 拼接额外内容渲染\n * ```\n * 1. extra 额外内容\n * 2. showData 是否显示原单元格数据,默认值:true\n * 3. showMaxNumber 显示最大长度,作用于原单元格字符串数据\n * ```\n */\n extraContentRender: tableColumnExtraContentRender,\n /**\n * table 索引展示,如果存在pageSize、pageNo参数可分页展示索引,否则每页都从1开始\n * @deprecated 已过时 4.3.0版本移除,请使用 serialNumberCell\n */\n indexCell: tableColumnIndexRender,\n /**\n * table 序号展示,如果存在pageSize、pageNo参数可分页展示累加序号,否则每页都从1开始\n * ```\n * render: tableCellRender.serialNumberCell(() => {\n * return { pageNo,pageSize };\n * }),\n * ```\n */\n serialNumberCell: tableColumnIndexRender2,\n /**\n * 表格日期格式数据渲染,默认格式:YYYY-MM-DD\n * ```\n * dateFormatType: 日期格式\n * ```\n */\n dateCell: tableColumnDateRender,\n /**\n * table操作栏目渲染\n * ```\n * 使用方式\n * tableCellRender.operateCell((item) => ({\n * operateList: [\n * {\n * text: '编辑',\n * onClick: onItemOperate.bind(null, 'update', item),\n * permission: SystemAdminPermissionEnum.system_admin_edit,\n * },\n * {\n * text: '删除',\n * needConfirm: true,\n * confirmMessage: '确定要删除吗?',\n * onClick: onItemOperate.bind(null, 'delete', item),\n * permission: SystemAdminPermissionEnum.system_admin_delete,\n * },\n * ],\n * }))\n * ```\n */\n operateCell: tableColumnOperateRender,\n /**\n * 实现字段超出隐藏,默认长度10个字符\n * ```\n * 1. showMaxNumber: 显示最大长度\n * 2. 会讲字符转出字节进行计算显示\n * ```\n */\n tooltipCell: tableColumnTooltipRender,\n /**\n * ```\n * 使用方式1\n * tableCellRender.selectorCell([{ label: '已开启', value: 1, color: '#108ee9' }])\n *\n * 使用方式2\n * tableCellRender.selectorCell([{ label: '已开启', value: 1 }], { 1: '#108ee9' })\n * ```\n */\n selectorCell: tableColumnSelectorRender,\n /**\n * 单元格对象数据处理,支持多级处理\n * ```\n * tableCellRender.objectCell('a.b.c')\n * ```\n */\n objectCell: tableColumnObjectRender,\n /**\n * 分金额展示,入参分,显示元(默认添加千分位)\n * ```\n * 可配置\n * 1. separator:是否显示千分位分隔符,默认值:false\n * 2. defaultValue:当值为空默认展示\n *\n * 例如:\n * fen2yuanCell()(100090) => 1000.90\n * fen2yuanCell({separator: true})(100090) => 1,000.90\n * fen2yuanCell()('abc') => abc\n * fen2yuanCell({defaultValue: '--'})('') => --\n * fen2yuanCell()('') => undefined\n * fen2yuanCell({ defaultValue: 0 })('') => 0.00\n * ```\n */\n fen2yuanCell: tableColumnFen2yuanCellRender,\n};\n"],"names":["tableColumnTooltipRender","showMaxNumber","defaultValue","value","_isEmpty","isNumber","colunmText","toString","maxNumber","isUndefinedOrNull","strByteLen","getStrByteLen","_jsx","Tooltip","placement","title","children","cutString","tableColumnOperateRender","options","_value","record","index","operateProps","ButtonOperate","_extends","tableColumnDateRender","dateFormatType","flatbizDate","format","Date","error","tableColumnIndexRender","pageNo","pageSize","_record","tableColumnIndexRender2","method","_ref","tableColumnSelectorRender","selectorList","colorMap","TagListSelect","dataList","forceMatch","tableColumnObjectRender","key","_isPlainObject","target","_get","_isObject","JSON","stringify","tableColumnFen2yuanCellRender","undefined","className","flatbizPrice","amount","fen2yuan","separator","tableColumnExtraContentRender","handle","item","Fragment","showData","notOverflowShowExtra","extraPosition","renderValue","_isString","extra","spaceContent","spaceContentRender","reverse","Space","onClick","style","cursor","size","map","tableCellRender","extraContentRender","indexCell","serialNumberCell","dateCell","operateCell","tooltipCell","selectorCell","objectCell","fen2yuanCell"],"mappings":"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"}
package/index.d.ts CHANGED
@@ -9,6 +9,7 @@ import { ButtonProps, CascaderProps, CheckboxProps, CollapseProps, ColorPickerPr
9
9
  import { ConfigProviderProps } from 'antd/es/config-provider';
10
10
  import { PickerDateProps, RangePickerDateProps } from 'antd/es/date-picker/generatePicker';
11
11
  import { FormListProps } from 'antd/es/form';
12
+ import { RcFile } from 'antd/es/upload';
12
13
  import { CheckboxGroupProps } from 'antd/lib/checkbox';
13
14
  import { SearchProps, TextAreaProps } from 'antd/lib/input';
14
15
  import { ColumnsType } from 'antd/lib/table';
@@ -936,6 +937,10 @@ export type EasyTableFilterProps = {
936
937
  formClassName?: string;
937
938
  /** 默认重启按钮触发请求,默认值:true */
938
939
  defaultResetButtonTriggerRequest?: boolean;
940
+ /** filter Form 外层 SimpleLayout style */
941
+ filterWrapperStyle?: CSSProperties;
942
+ /** filter Form 外层 SimpleLayout className */
943
+ filterWrapperClassName?: string;
939
944
  };
940
945
  export type TEasyTableTableColumn<T> = ColumnsType<T>[0] & {
941
946
  /**
@@ -964,7 +969,9 @@ export type EasyTableTableProps<T> = Omit<TableProps<TAny>, "dataSource" | "load
964
969
  * ```
965
970
  */
966
971
  rowKey: TableProps<TAny>["rowKey"];
972
+ /** table Form 外层 SimpleLayout className */
967
973
  tableWrapperStyle?: CSSProperties;
974
+ /** table Form 外层 SimpleLayout className */
968
975
  tableWrapperClassName?: string;
969
976
  columns: TEasyTableTableColumn<T>[];
970
977
  };
@@ -1500,6 +1507,23 @@ export declare const FileImport: {
1500
1507
  accept: string;
1501
1508
  };
1502
1509
  };
1510
+ export type FileSelectProps = {
1511
+ buttonName?: string | ReactElement;
1512
+ children?: React.ReactNode;
1513
+ /** 上传按钮与文件排版 默认:horizontal */
1514
+ direction?: "horizontal" | "hertical";
1515
+ /** 可选择文件格式,默认:.xlsx,.xls */
1516
+ accept?: string;
1517
+ onChange?: (file?: RcFile) => void;
1518
+ className?: string;
1519
+ };
1520
+ /**
1521
+ * 文件选择,内部不调用服务上传
1522
+ * ```
1523
+ * 默认选择文件格式:.xlsx,.xls
1524
+ * ```
1525
+ */
1526
+ export declare const FileSelect: (props: FileSelectProps) => import("react/jsx-runtime").JSX.Element;
1503
1527
  export type FlexLayoutProps = {
1504
1528
  className?: string;
1505
1529
  fullIndex?: number | number[];
@@ -2500,7 +2524,7 @@ export declare const tableCellRender: {
2500
2524
  /** 是否显示分隔符,默认值:false */
2501
2525
  separator?: boolean;
2502
2526
  defaultValue?: string | number;
2503
- }) => (value?: string | number) => string | number | undefined;
2527
+ }) => (value?: string | number) => string | number | import("react/jsx-runtime").JSX.Element | undefined;
2504
2528
  };
2505
2529
  export type TableScrollProps = {
2506
2530
  children: React.ReactNode;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flatbiz/antd",
3
- "version": "4.2.72",
3
+ "version": "4.2.74",
4
4
  "description": "flat-biz ui components",
5
5
  "main": "index.js",
6
6
  "typings": "index.d.ts",