UNPKG

denwa-react-shared

Version:
1 lines • 1.75 kB
let e=require("react/jsx-runtime"),t=require("antd"),n=require("@ant-design/icons");var r=({viewText:r,actionsText:i,editText:a,deleteText:o,columns:s,serverPagination:c,scroll:l,loading:u,dataSource:d,isHiddenUpdate:f,isHiddenActions:p,isCanRead:m,isCanUpdate:h,isCanDelete:g,isFixedActions:_,renderActions:v,onView:y,onDropdownClick:b,onEdit:x,onDelete:S,onShowSizeChange:C,...w})=>{let T=d?.map(e=>{let t={};return Object.entries(e).forEach(([e,n])=>{t[e]=n!=null&&n!==``?n:`-`}),t}),E=s??[],D=c?{current:c.page??1,pageSize:c.limit??10,total:c.count??0,pageSizeOptions:[10,20,50,100,200,500],showSizeChanger:!0,showQuickJumper:!0,onShowSizeChange:C,showTotal:(e,t)=>`${t[0]}-${t[1]} / ${e}`}:null,O=e=>{if(`id`in e&&(typeof e.id==`string`||typeof e.id==`number`))return String(e.id)},k=e=>{let t=O(e);t!==void 0&&y(t)},A=e=>{let t=O(e);t!==void 0&&b(t)},j=p?[...E]:[...E,{title:i,key:`action`,width:180,fixed:_?`right`:!1,render:n=>{let i=[...(v?.(n)??[]).map(e=>({key:e.key,icon:e.icon,label:e.label,danger:e.danger,disabled:e.disabled,onClick:e.onClick})),...!f&&h?[{key:`edit`,label:(0,e.jsx)(t.Button,{type:`link`,block:!0,onClick:()=>{A(n),x()},children:a})}]:[],...g&&S?[{key:`delete`,label:(0,e.jsx)(t.Button,{type:`link`,block:!0,danger:!0,onClick:()=>{A(n),S()},children:o})}]:[]];return i?.length?(0,e.jsx)(t.Dropdown.Button,{disabled:!m,menu:{items:i,onClick:()=>A(n)},onClick:()=>k(n),children:r}):(0,e.jsx)(t.Button,{disabled:!m,onClick:()=>k(n),children:r})}}];return(0,e.jsx)(t.Table,{...w,className:`baseTable`,dataSource:T,columns:j,pagination:D?{...D,size:`small`}:!1,scroll:{y:`50vh`,...l,scrollToFirstRowOnChange:!0},loading:{spinning:!!u,indicator:(0,e.jsx)(n.LoadingOutlined,{style:{fontSize:36}})}})};exports.BaseTable=r;