bi-sdk-react 0.0.67 → 0.0.68

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.
@@ -1270,7 +1270,7 @@ import*as e from"react";import t,{css as n}from"styled-components";import{AlignC
1270
1270
  const module = undefined;
1271
1271
  const exports = undefined;
1272
1272
  return ${e};
1273
- `),j=rv({item:n,query:w}),k=r.map(e=>({...e,render:e.customRender&&("string"!=typeof e.customRender||""!==e.customRender.trim())?(t,n,r)=>{let i=(e.customRender||"").replace(/{\s*{\s*([^}]+)\s*}\s*}/g,(e,i)=>{try{return C(i)(console,Math,Date,Array,Object,String,Number,Boolean,_,b.global,t,n,r)}catch{return""}});return(0,tj.jsx)("div",{dangerouslySetInnerHTML:{__html:i}})}:e.render})),T=(0,tk.useMemo)(()=>{if(!i||""===i.trim())return j||[];if(i.startsWith("$g."))try{return C(i)(console,Math,Date,Array,Object,String,Number,Boolean,_,b.global,null,null,null)}catch{return[]}let e=i.split("."),t=j||[];for(let n of e)if(t[n])t=t[n];else{t=[];break}return t||[]},[i,j]),I=(0,tk.useMemo)(()=>!!a&&{total:(T||[]).length,current:w.current,pageSize:w.pageSize,size:s,showSizeChanger:u,showQuickJumper:c,hideOnSinglePage:d,pageSizeOptions:["10","20","30","40"],showTotal:h?(e,t)=>`共 ${e} 条记录,显示第 ${t[0]}-${t[1]} 条`:void 0,locale:{items_per_page:"/ 页",jump_to:"跳转至第",page:"页"},onChange:(e,t)=>{S({current:e,pageSize:t})},onShowSizeChange:(e,t)=>{S({current:e,pageSize:t})}},[T,w,a,s,u,c,d,h]),M=()=>{console.log("callback table")};return(0,tk.useEffect)(()=>{S({current:1,pageSize:a})},[a]),(0,tk.useEffect)(()=>{x({id:n.id,callback:M})},[]),(0,tj.jsx)(ed,{id:t,dataSource:T||[],columns:k,pagination:I,bordered:o,size:s,showHeader:"boolean"!=typeof l||l,rowKey:(e,t)=>String(t),style:{padding:1,...p},className:f,classNames:{header:{cell:(g||[]).join(" ")},body:{cell:(m||[]).join(" ")},pagination:{root:(v||[]).join(" "),item:(y||[]).join(" ")}}})},formComponent:e=>{let{model:t,onChange:n}=e,o=(e,r)=>n&&n({...t,[e]:r}),s=(e,n)=>{let r=[...t.columns||[]];r[e]={...r[e],...n},o("columns",r)},[l,u]=(0,tk.useState)(!1),[d,p]=(0,tk.useState)(null),f=null!=d&&t.columns[d]?t.columns[d]:{title:"",dataIndex:"",width:"",align:"left",ellipsis:!1,customRender:"",className:""},g=[{title:"列名",dataIndex:"title"},{title:"数据索引",dataIndex:"dataIndex",render:e=>"string"==typeof e?e:e.join(".")},{title:"操作",width:80,align:"center",render:(e,n,r)=>(0,tj.jsxs)(eu,{children:[(0,tj.jsx)("a",{onClick:()=>{p(r),u(!0)},children:(0,tj.jsx)(h,{})}),(0,tj.jsx)("a",{onClick:()=>{let e;(e=[...t.columns||[]]).splice(r,1),o("columns",e)},children:(0,tj.jsx)(c,{})})]})}];return(0,tj.jsxs)("div",{children:[(0,tj.jsxs)(J,{labelCol:{span:12},wrapperCol:{span:12},children:[(0,tj.jsx)(J.Item,{label:"数据键",tooltip:"数据键用于指定数据来源中的数据项,例如:'data.items'",children:(0,tj.jsx)(Q,{size:"small",value:t.dataKey,onChange:e=>o("dataKey",e.target.value)})}),(0,tj.jsx)(J.Item,{label:"大小",children:(0,tj.jsxs)(ea.Group,{size:"small",value:t.size,onChange:e=>o("size",e.target.value),children:[(0,tj.jsx)(ea.Button,{value:"small",children:"小"}),(0,tj.jsx)(ea.Button,{value:"middle",children:"中"}),(0,tj.jsx)(ea.Button,{value:"large",children:"大"})]})}),(0,tj.jsx)(J.Item,{label:"边框",children:(0,tj.jsx)(ec,{size:"small",checked:!!t.bordered,onChange:e=>o("bordered",e)})}),(0,tj.jsx)(J.Item,{label:"显示表头",children:(0,tj.jsx)(ec,{size:"small",checked:!!t.showHeader,onChange:e=>o("showHeader",e)})}),(0,tj.jsx)(J.Item,{label:"显示分页大小选择器",children:(0,tj.jsx)(ec,{size:"small",checked:!!t.showSizeChanger,onChange:e=>o("showSizeChanger",e)})}),(0,tj.jsx)(J.Item,{label:"显示快速跳转",children:(0,tj.jsx)(ec,{size:"small",checked:!!t.showQuickJumper,onChange:e=>o("showQuickJumper",e)})}),(0,tj.jsx)(J.Item,{label:"隐藏单页分页",children:(0,tj.jsx)(ec,{size:"small",checked:!!t.hideOnSinglePage,onChange:e=>o("hideOnSinglePage",e)})}),(0,tj.jsx)(J.Item,{label:"显示分页总数",children:(0,tj.jsx)(ec,{size:"small",checked:!!t.showTotal,onChange:e=>o("showTotal",e)})}),(0,tj.jsx)(J.Item,{label:"分页大小",children:(0,tj.jsx)(ee,{size:"small",value:t.pageSize,onChange:e=>o("pageSize",e)})})]}),(0,tj.jsx)($,{children:"表格列设置"}),(0,tj.jsx)(ed,{size:"small",dataSource:t.columns,rowKey:(e,t)=>String(t),columns:g,pagination:!1,bordered:!0}),(0,tj.jsx)(F,{size:"small",onClick:()=>{o("columns",[...t.columns||[],{title:"",dataIndex:"",width:"",align:"left",ellipsis:!1}])},block:!0,children:"添加列"}),(0,tj.jsx)($,{style:{marginTop:10},children:"样式设置"}),(0,tj.jsx)(J.Item,{label:"表头单元格类名",layout:"vertical",children:(0,tj.jsx)(es,{mode:"tags",size:"small",value:t.headerCellClassNames||[],onChange:e=>o("headerCellClassNames",e)})}),(0,tj.jsx)(J.Item,{label:"表格单元格类名",layout:"vertical",children:(0,tj.jsx)(es,{mode:"tags",size:"small",value:t.bodyCellClassNames||[],onChange:e=>o("bodyCellClassNames",e)})}),(0,tj.jsx)(J.Item,{label:"分页根类名",layout:"vertical",children:(0,tj.jsx)(es,{mode:"tags",size:"small",value:t.paginationRootClassNames||[],onChange:e=>o("paginationRootClassNames",e)})}),(0,tj.jsx)(J.Item,{label:"分页项类名",layout:"vertical",children:(0,tj.jsx)(es,{mode:"tags",size:"small",value:t.paginationItemClassNames||[],onChange:e=>o("paginationItemClassNames",e)})}),(0,tj.jsx)(et,{title:"编辑列",open:l,footer:null,width:400,onCancel:()=>u(!1),children:(0,tj.jsx)(J,{layout:"vertical",size:"small",children:(0,tj.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:12},children:[(0,tj.jsx)(J.Item,{label:"列名",style:{marginBottom:10},children:(0,tj.jsx)(Q,{value:f.title,onChange:e=>s(d,{title:e.target.value})})}),(0,tj.jsx)(J.Item,{label:"数据索引",style:{marginBottom:10},children:(0,tj.jsx)(es,{mode:"tags",value:"string"==typeof f.dataIndex?[f.dataIndex]:f.dataIndex,onChange:e=>s(d,{dataIndex:e})})}),(0,tj.jsx)(J.Item,{label:"宽度",style:{marginBottom:10},children:(0,tj.jsx)(Q,{value:f.width,onChange:e=>s(d,{width:e.target.value})})}),(0,tj.jsx)(J.Item,{label:"对齐",style:{marginBottom:10},children:(0,tj.jsxs)(ea.Group,{value:f.align,onChange:e=>s(d,{align:e.target.value}),children:[(0,tj.jsx)(ea.Button,{value:"left",children:(0,tj.jsx)(i,{})}),(0,tj.jsx)(ea.Button,{value:"center",children:(0,tj.jsx)(r,{})}),(0,tj.jsx)(ea.Button,{value:"right",children:(0,tj.jsx)(a,{})})]})}),(0,tj.jsx)(J.Item,{label:"省略",style:{marginBottom:10},children:(0,tj.jsx)(ec,{checked:!!f.ellipsis,onChange:e=>s(d,{ellipsis:e})})}),(0,tj.jsx)(J.Item,{label:"自定义渲染",tooltip:"支持自定义渲染,使用{{}}包裹表达式,例如:{{text}},{{record.变量名}},{{index}},{{$g.变量名}},{{$e.变量名}}",style:{gridColumn:"span 2 / span 2",marginBottom:10},children:(0,tj.jsx)(Q.TextArea,{value:f.customRender,onChange:e=>s(d,{customRender:e.target.value})})}),(0,tj.jsx)(J.Item,{label:"类名",style:{gridColumn:"span 2 / span 2",marginBottom:10},children:(0,tj.jsx)(Q,{value:f.className,onChange:e=>s(d,{className:e.target.value})})})]})})})]})},defaultOptions:{datasource:{source:"custom",datasourceId:null,scriptId:null,custom:'[{"name":"苹果","count":12},{"name":"华为","count":803},{"name":"OPPO","count":654},{"name":"vivo","count":719}]'},props:{size:"default",bordered:!0,showHeader:!0,showSizeChanger:!0,showQuickJumper:!0,hideOnSinglePage:!0,showTotal:!0,pageSize:10,columns:[{title:"品牌",dataIndex:"name"},{title:"日销量(件)",dataIndex:"count"}]}}},{group:"基础组件",key:"b-list",label:"列表",icon:"icon-unordered-list",component:e=>{let{id:t,pageSize:n=10,bordered:r=!0,size:i="default",itemLayout:a="horizontal",item:o,split:s=!0,style:l={},className:u}=e,{initCallback:c}=(0,tk.useContext)(tI),[d,h]=(0,tk.useState)(0),p=rv({item:o,signal:d}),f=(0,tk.useMemo)(()=>p||[],[p]),g=(0,tk.useMemo)(()=>!!n&&!(n<=f.length)&&{total:f.length,pageSize:n,size:"default"===i?void 0:i,showSizeChanger:!0,showQuickJumper:!0,hideOnSinglePage:!0,pageSizeOptions:["10","20","30","40"],showTotal:(e,t)=>`共 ${e} 条记录,显示第 ${t[0]}-${t[1]} 条`},[n,f.length,i]),m=["p-list",a?`p-list--${a}`:void 0,i?`p-list--${i}`:void 0,s?"p-list--split":void 0,r?"p-list--bordered":void 0,u],v=function(){let e=!(arguments.length>0)||void 0===arguments[0]||arguments[0];return e&&h(e=>e+1),{target:o,data:p}};return(0,tk.useEffect)(()=>{c({id:o.id,callback:v})},[]),(0,tj.jsxs)("div",{id:t,style:{display:"flex",flexDirection:"column",...l},className:m.filter(Boolean).join(" "),children:[(0,tj.jsx)(rk,{list:f,split:s,bordered:r,size:i,itemLayout:a}),g&&(0,tj.jsx)(en,{...g})]})},formComponent:e=>{let{model:t,onChange:n}=e,[r]=J.useForm();return(0,tk.useEffect)(()=>{r.setFieldsValue({size:t.size||"default",itemLayout:t.itemLayout||"horizontal",bordered:t.bordered??!1,split:t.split??!0,pageSize:t.pageSize||10})},[t,r]),(0,tj.jsxs)(J,{form:r,labelCol:{span:12},wrapperCol:{span:12},onValuesChange:e=>{null==n||n({...t,...e})},children:[(0,tj.jsx)(J.Item,{label:"大小",name:"size",children:(0,tj.jsxs)(ea.Group,{size:"small",buttonStyle:"solid",children:[(0,tj.jsx)(ea.Button,{value:"default",children:"默认"}),(0,tj.jsx)(ea.Button,{value:"small",children:"小"})]})}),(0,tj.jsx)(J.Item,{label:"布局",name:"itemLayout",children:(0,tj.jsxs)(ea.Group,{size:"small",buttonStyle:"solid",children:[(0,tj.jsx)(ea.Button,{value:"horizontal",children:"水平"}),(0,tj.jsx)(ea.Button,{value:"vertical",children:"垂直"})]})}),(0,tj.jsx)(J.Item,{label:"边框",name:"bordered",valuePropName:"checked",children:(0,tj.jsx)(ec,{size:"small"})}),(0,tj.jsx)(J.Item,{label:"分割线",name:"split",valuePropName:"checked",children:(0,tj.jsx)(ec,{size:"small"})}),(0,tj.jsx)(J.Item,{label:"分页大小",name:"pageSize",children:(0,tj.jsx)(ee,{size:"small"})})]})},defaultOptions:{datasource:{source:"custom",custom:"[]"},props:{size:"default",itemLayout:"horizontal",bordered:!0,split:!0,pageSize:10}}},{group:"基础组件",key:"b-html",label:"HTML",icon:"icon-html",component:e=>{let{id:t,template:n="",item:r,style:i,className:a,classNames:o=[]}=e,{initCallback:s,globalVars:l,env:u}=(0,tk.useContext)(tI),{handleEvent:c}=rT(r),[d,h]=(0,tk.useState)(0),p=rv({item:r,signal:d}),f=(0,tk.useMemo)(()=>Array.isArray(p)?[]:Object.keys(p||{}),[p]),g=(0,tk.useMemo)(()=>f.map(e=>null==p?void 0:p[e]),[f,p]),m=(0,tk.useMemo)(()=>(n||"").replace(/{\s*{\s*([^}]+)\s*}\s*}/g,(e,t)=>{try{return Function("$g","$e",...f,`
1273
+ `),j=rv({item:n,query:w}),k=r.map(e=>({...e,render:e.customRender&&("string"!=typeof e.customRender||""!==e.customRender.trim())?(t,n,r)=>{let i=(e.customRender||"").replace(/{\s*{\s*([^}]+)\s*}\s*}/g,(e,i)=>{try{return C(i)(console,Math,Date,Array,Object,String,Number,Boolean,_,b.global,t,n,r)}catch{return""}});return(0,tj.jsx)("div",{dangerouslySetInnerHTML:{__html:i}})}:e.render})),T=(0,tk.useMemo)(()=>{let e;if(!i||""===i.trim())return j||[];if(i.startsWith("$g."))try{e=C(i)(console,Math,Date,Array,Object,String,Number,Boolean,_,b.global,null,null,null)}catch{e=[]}else{let t=i.split("."),n=j||[];for(let e of t)if(n[e])n=n[e];else{n=[];break}e=n||[]}return Array.isArray(e)?{total:e.length,records:e}:"object"==typeof e?e:{total:0,records:[]}},[i,j]),I=(0,tk.useMemo)(()=>!!a&&{total:T.total,current:w.current,pageSize:w.pageSize,size:s,showSizeChanger:u,showQuickJumper:c,hideOnSinglePage:d,pageSizeOptions:["10","20","30","40"],showTotal:h?(e,t)=>`共 ${e} 条记录,显示第 ${t[0]}-${t[1]} 条`:void 0,locale:{items_per_page:"/ 页",jump_to:"跳转至第",page:"页"},onChange:(e,t)=>{S({current:e,pageSize:t})},onShowSizeChange:(e,t)=>{S({current:e,pageSize:t})}},[T,w,a,s,u,c,d,h]),M=()=>{console.log("callback table")};return(0,tk.useEffect)(()=>{S({current:1,pageSize:a})},[a]),(0,tk.useEffect)(()=>{x({id:n.id,callback:M})},[]),(0,tj.jsx)(ed,{id:t,dataSource:T.records||[],columns:k,pagination:I,bordered:o,size:s,showHeader:"boolean"!=typeof l||l,rowKey:(e,t)=>String(t),style:{padding:1,...p},className:f,classNames:{header:{cell:(g||[]).join(" ")},body:{cell:(m||[]).join(" ")},pagination:{root:(v||[]).join(" "),item:(y||[]).join(" ")}}})},formComponent:e=>{let{model:t,onChange:n}=e,o=(e,r)=>n&&n({...t,[e]:r}),s=(e,n)=>{let r=[...t.columns||[]];r[e]={...r[e],...n},o("columns",r)},[l,u]=(0,tk.useState)(!1),[d,p]=(0,tk.useState)(null),f=null!=d&&t.columns[d]?t.columns[d]:{title:"",dataIndex:"",width:"",align:"left",ellipsis:!1,customRender:"",className:""},g=[{title:"列名",dataIndex:"title"},{title:"数据索引",dataIndex:"dataIndex",render:e=>"string"==typeof e?e:e.join(".")},{title:"操作",width:80,align:"center",render:(e,n,r)=>(0,tj.jsxs)(eu,{children:[(0,tj.jsx)("a",{onClick:()=>{p(r),u(!0)},children:(0,tj.jsx)(h,{})}),(0,tj.jsx)("a",{onClick:()=>{let e;(e=[...t.columns||[]]).splice(r,1),o("columns",e)},children:(0,tj.jsx)(c,{})})]})}];return(0,tj.jsxs)("div",{children:[(0,tj.jsxs)(J,{labelCol:{span:12},wrapperCol:{span:12},children:[(0,tj.jsx)(J.Item,{label:"数据键",tooltip:"数据键用于指定数据来源中的数据项,例如:'data.items'",children:(0,tj.jsx)(Q,{size:"small",value:t.dataKey,onChange:e=>o("dataKey",e.target.value)})}),(0,tj.jsx)(J.Item,{label:"大小",children:(0,tj.jsxs)(ea.Group,{size:"small",value:t.size,onChange:e=>o("size",e.target.value),children:[(0,tj.jsx)(ea.Button,{value:"small",children:"小"}),(0,tj.jsx)(ea.Button,{value:"middle",children:"中"}),(0,tj.jsx)(ea.Button,{value:"large",children:"大"})]})}),(0,tj.jsx)(J.Item,{label:"边框",children:(0,tj.jsx)(ec,{size:"small",checked:!!t.bordered,onChange:e=>o("bordered",e)})}),(0,tj.jsx)(J.Item,{label:"显示表头",children:(0,tj.jsx)(ec,{size:"small",checked:!!t.showHeader,onChange:e=>o("showHeader",e)})}),(0,tj.jsx)(J.Item,{label:"显示分页大小选择器",children:(0,tj.jsx)(ec,{size:"small",checked:!!t.showSizeChanger,onChange:e=>o("showSizeChanger",e)})}),(0,tj.jsx)(J.Item,{label:"显示快速跳转",children:(0,tj.jsx)(ec,{size:"small",checked:!!t.showQuickJumper,onChange:e=>o("showQuickJumper",e)})}),(0,tj.jsx)(J.Item,{label:"隐藏单页分页",children:(0,tj.jsx)(ec,{size:"small",checked:!!t.hideOnSinglePage,onChange:e=>o("hideOnSinglePage",e)})}),(0,tj.jsx)(J.Item,{label:"显示分页总数",children:(0,tj.jsx)(ec,{size:"small",checked:!!t.showTotal,onChange:e=>o("showTotal",e)})}),(0,tj.jsx)(J.Item,{label:"分页大小",children:(0,tj.jsx)(ee,{size:"small",value:t.pageSize,onChange:e=>o("pageSize",e)})})]}),(0,tj.jsx)($,{children:"表格列设置"}),(0,tj.jsx)(ed,{size:"small",dataSource:t.columns,rowKey:(e,t)=>String(t),columns:g,pagination:!1,bordered:!0}),(0,tj.jsx)(F,{size:"small",onClick:()=>{o("columns",[...t.columns||[],{title:"",dataIndex:"",width:"",align:"left",ellipsis:!1}])},block:!0,children:"添加列"}),(0,tj.jsx)($,{style:{marginTop:10},children:"样式设置"}),(0,tj.jsx)(J.Item,{label:"表头单元格类名",layout:"vertical",children:(0,tj.jsx)(es,{mode:"tags",size:"small",value:t.headerCellClassNames||[],onChange:e=>o("headerCellClassNames",e)})}),(0,tj.jsx)(J.Item,{label:"表格单元格类名",layout:"vertical",children:(0,tj.jsx)(es,{mode:"tags",size:"small",value:t.bodyCellClassNames||[],onChange:e=>o("bodyCellClassNames",e)})}),(0,tj.jsx)(J.Item,{label:"分页根类名",layout:"vertical",children:(0,tj.jsx)(es,{mode:"tags",size:"small",value:t.paginationRootClassNames||[],onChange:e=>o("paginationRootClassNames",e)})}),(0,tj.jsx)(J.Item,{label:"分页项类名",layout:"vertical",children:(0,tj.jsx)(es,{mode:"tags",size:"small",value:t.paginationItemClassNames||[],onChange:e=>o("paginationItemClassNames",e)})}),(0,tj.jsx)(et,{title:"编辑列",open:l,footer:null,width:400,onCancel:()=>u(!1),children:(0,tj.jsx)(J,{layout:"vertical",size:"small",children:(0,tj.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:12},children:[(0,tj.jsx)(J.Item,{label:"列名",style:{marginBottom:10},children:(0,tj.jsx)(Q,{value:f.title,onChange:e=>s(d,{title:e.target.value})})}),(0,tj.jsx)(J.Item,{label:"数据索引",style:{marginBottom:10},children:(0,tj.jsx)(es,{mode:"tags",value:"string"==typeof f.dataIndex?[f.dataIndex]:f.dataIndex,onChange:e=>s(d,{dataIndex:e})})}),(0,tj.jsx)(J.Item,{label:"宽度",style:{marginBottom:10},children:(0,tj.jsx)(Q,{value:f.width,onChange:e=>s(d,{width:e.target.value})})}),(0,tj.jsx)(J.Item,{label:"对齐",style:{marginBottom:10},children:(0,tj.jsxs)(ea.Group,{value:f.align,onChange:e=>s(d,{align:e.target.value}),children:[(0,tj.jsx)(ea.Button,{value:"left",children:(0,tj.jsx)(i,{})}),(0,tj.jsx)(ea.Button,{value:"center",children:(0,tj.jsx)(r,{})}),(0,tj.jsx)(ea.Button,{value:"right",children:(0,tj.jsx)(a,{})})]})}),(0,tj.jsx)(J.Item,{label:"省略",style:{marginBottom:10},children:(0,tj.jsx)(ec,{checked:!!f.ellipsis,onChange:e=>s(d,{ellipsis:e})})}),(0,tj.jsx)(J.Item,{label:"自定义渲染",tooltip:"支持自定义渲染,使用{{}}包裹表达式,例如:{{text}},{{record.变量名}},{{index}},{{$g.变量名}},{{$e.变量名}}",style:{gridColumn:"span 2 / span 2",marginBottom:10},children:(0,tj.jsx)(Q.TextArea,{value:f.customRender,onChange:e=>s(d,{customRender:e.target.value})})}),(0,tj.jsx)(J.Item,{label:"类名",style:{gridColumn:"span 2 / span 2",marginBottom:10},children:(0,tj.jsx)(Q,{value:f.className,onChange:e=>s(d,{className:e.target.value})})})]})})})]})},defaultOptions:{datasource:{source:"custom",datasourceId:null,scriptId:null,custom:'[{"name":"苹果","count":12},{"name":"华为","count":803},{"name":"OPPO","count":654},{"name":"vivo","count":719}]'},props:{size:"default",bordered:!0,showHeader:!0,showSizeChanger:!0,showQuickJumper:!0,hideOnSinglePage:!0,showTotal:!0,pageSize:10,columns:[{title:"品牌",dataIndex:"name"},{title:"日销量(件)",dataIndex:"count"}]}}},{group:"基础组件",key:"b-list",label:"列表",icon:"icon-unordered-list",component:e=>{let{id:t,pageSize:n=10,bordered:r=!0,size:i="default",itemLayout:a="horizontal",item:o,split:s=!0,style:l={},className:u}=e,{initCallback:c}=(0,tk.useContext)(tI),[d,h]=(0,tk.useState)(0),p=rv({item:o,signal:d}),f=(0,tk.useMemo)(()=>p||[],[p]),g=(0,tk.useMemo)(()=>!!n&&!(n<=f.length)&&{total:f.length,pageSize:n,size:"default"===i?void 0:i,showSizeChanger:!0,showQuickJumper:!0,hideOnSinglePage:!0,pageSizeOptions:["10","20","30","40"],showTotal:(e,t)=>`共 ${e} 条记录,显示第 ${t[0]}-${t[1]} 条`},[n,f.length,i]),m=["p-list",a?`p-list--${a}`:void 0,i?`p-list--${i}`:void 0,s?"p-list--split":void 0,r?"p-list--bordered":void 0,u],v=function(){let e=!(arguments.length>0)||void 0===arguments[0]||arguments[0];return e&&h(e=>e+1),{target:o,data:p}};return(0,tk.useEffect)(()=>{c({id:o.id,callback:v})},[]),(0,tj.jsxs)("div",{id:t,style:{display:"flex",flexDirection:"column",...l},className:m.filter(Boolean).join(" "),children:[(0,tj.jsx)(rk,{list:f,split:s,bordered:r,size:i,itemLayout:a}),g&&(0,tj.jsx)(en,{...g})]})},formComponent:e=>{let{model:t,onChange:n}=e,[r]=J.useForm();return(0,tk.useEffect)(()=>{r.setFieldsValue({size:t.size||"default",itemLayout:t.itemLayout||"horizontal",bordered:t.bordered??!1,split:t.split??!0,pageSize:t.pageSize||10})},[t,r]),(0,tj.jsxs)(J,{form:r,labelCol:{span:12},wrapperCol:{span:12},onValuesChange:e=>{null==n||n({...t,...e})},children:[(0,tj.jsx)(J.Item,{label:"大小",name:"size",children:(0,tj.jsxs)(ea.Group,{size:"small",buttonStyle:"solid",children:[(0,tj.jsx)(ea.Button,{value:"default",children:"默认"}),(0,tj.jsx)(ea.Button,{value:"small",children:"小"})]})}),(0,tj.jsx)(J.Item,{label:"布局",name:"itemLayout",children:(0,tj.jsxs)(ea.Group,{size:"small",buttonStyle:"solid",children:[(0,tj.jsx)(ea.Button,{value:"horizontal",children:"水平"}),(0,tj.jsx)(ea.Button,{value:"vertical",children:"垂直"})]})}),(0,tj.jsx)(J.Item,{label:"边框",name:"bordered",valuePropName:"checked",children:(0,tj.jsx)(ec,{size:"small"})}),(0,tj.jsx)(J.Item,{label:"分割线",name:"split",valuePropName:"checked",children:(0,tj.jsx)(ec,{size:"small"})}),(0,tj.jsx)(J.Item,{label:"分页大小",name:"pageSize",children:(0,tj.jsx)(ee,{size:"small"})})]})},defaultOptions:{datasource:{source:"custom",custom:"[]"},props:{size:"default",itemLayout:"horizontal",bordered:!0,split:!0,pageSize:10}}},{group:"基础组件",key:"b-html",label:"HTML",icon:"icon-html",component:e=>{let{id:t,template:n="",item:r,style:i,className:a,classNames:o=[]}=e,{initCallback:s,globalVars:l,env:u}=(0,tk.useContext)(tI),{handleEvent:c}=rT(r),[d,h]=(0,tk.useState)(0),p=rv({item:r,signal:d}),f=(0,tk.useMemo)(()=>Array.isArray(p)?[]:Object.keys(p||{}),[p]),g=(0,tk.useMemo)(()=>f.map(e=>null==p?void 0:p[e]),[f,p]),m=(0,tk.useMemo)(()=>(n||"").replace(/{\s*{\s*([^}]+)\s*}\s*}/g,(e,t)=>{try{return Function("$g","$e",...f,`
1274
1274
  "use strict";
1275
1275
  const window = undefined;
1276
1276
  const document = undefined;
@@ -1270,7 +1270,7 @@
1270
1270
  const module = undefined;
1271
1271
  const exports = undefined;
1272
1272
  return ${e};
1273
- `),j=nf({item:n,query:w}),T=i.map(e=>({...e,render:e.customRender&&("string"!=typeof e.customRender||""!==e.customRender.trim())?(t,n,i)=>{let r=(e.customRender||"").replace(/{\s*{\s*([^}]+)\s*}\s*}/g,(e,r)=>{try{return C(r)(console,Math,Date,Array,Object,String,Number,Boolean,_,b.global,t,n,i)}catch{return""}});return(0,ed.jsx)("div",{dangerouslySetInnerHTML:{__html:r}})}:e.render})),k=(0,eh.useMemo)(()=>{if(!r||""===r.trim())return j||[];if(r.startsWith("$g."))try{return C(r)(console,Math,Date,Array,Object,String,Number,Boolean,_,b.global,null,null,null)}catch{return[]}let e=r.split("."),t=j||[];for(let n of e)if(t[n])t=t[n];else{t=[];break}return t||[]},[r,j]),I=(0,eh.useMemo)(()=>!!a&&{total:(k||[]).length,current:w.current,pageSize:w.pageSize,size:s,showSizeChanger:u,showQuickJumper:c,hideOnSinglePage:d,pageSizeOptions:["10","20","30","40"],showTotal:h?(e,t)=>`共 ${e} 条记录,显示第 ${t[0]}-${t[1]} 条`:void 0,locale:{items_per_page:"/ 页",jump_to:"跳转至第",page:"页"},onChange:(e,t)=>{S({current:e,pageSize:t})},onShowSizeChange:(e,t)=>{S({current:e,pageSize:t})}},[k,w,a,s,u,c,d,h]),M=()=>{console.log("callback table")};return(0,eh.useEffect)(()=>{S({current:1,pageSize:a})},[a]),(0,eh.useEffect)(()=>{x({id:n.id,callback:M})},[]),(0,ed.jsx)(ti.Table,{id:t,dataSource:k||[],columns:T,pagination:I,bordered:o,size:s,showHeader:"boolean"!=typeof l||l,rowKey:(e,t)=>String(t),style:{padding:1,...p},className:f,classNames:{header:{cell:(m||[]).join(" ")},body:{cell:(g||[]).join(" ")},pagination:{root:(v||[]).join(" "),item:(y||[]).join(" ")}}})},formComponent:e=>{let{model:t,onChange:n}=e,i=(e,i)=>n&&n({...t,[e]:i}),r=(e,n)=>{let r=[...t.columns||[]];r[e]={...r[e],...n},i("columns",r)},[a,o]=(0,eh.useState)(!1),[s,l]=(0,eh.useState)(null),u=null!=s&&t.columns[s]?t.columns[s]:{title:"",dataIndex:"",width:"",align:"left",ellipsis:!1,customRender:"",className:""},c=[{title:"列名",dataIndex:"title"},{title:"数据索引",dataIndex:"dataIndex",render:e=>"string"==typeof e?e:e.join(".")},{title:"操作",width:80,align:"center",render:(e,n,r)=>(0,ed.jsxs)(ti.Space,{children:[(0,ed.jsx)("a",{onClick:()=>{l(r),o(!0)},children:(0,ed.jsx)(te.EditOutlined,{})}),(0,ed.jsx)("a",{onClick:()=>{let e;(e=[...t.columns||[]]).splice(r,1),i("columns",e)},children:(0,ed.jsx)(te.DeleteOutlined,{})})]})}];return(0,ed.jsxs)("div",{children:[(0,ed.jsxs)(ti.Form,{labelCol:{span:12},wrapperCol:{span:12},children:[(0,ed.jsx)(ti.Form.Item,{label:"数据键",tooltip:"数据键用于指定数据来源中的数据项,例如:'data.items'",children:(0,ed.jsx)(ti.Input,{size:"small",value:t.dataKey,onChange:e=>i("dataKey",e.target.value)})}),(0,ed.jsx)(ti.Form.Item,{label:"大小",children:(0,ed.jsxs)(ti.Radio.Group,{size:"small",value:t.size,onChange:e=>i("size",e.target.value),children:[(0,ed.jsx)(ti.Radio.Button,{value:"small",children:"小"}),(0,ed.jsx)(ti.Radio.Button,{value:"middle",children:"中"}),(0,ed.jsx)(ti.Radio.Button,{value:"large",children:"大"})]})}),(0,ed.jsx)(ti.Form.Item,{label:"边框",children:(0,ed.jsx)(ti.Switch,{size:"small",checked:!!t.bordered,onChange:e=>i("bordered",e)})}),(0,ed.jsx)(ti.Form.Item,{label:"显示表头",children:(0,ed.jsx)(ti.Switch,{size:"small",checked:!!t.showHeader,onChange:e=>i("showHeader",e)})}),(0,ed.jsx)(ti.Form.Item,{label:"显示分页大小选择器",children:(0,ed.jsx)(ti.Switch,{size:"small",checked:!!t.showSizeChanger,onChange:e=>i("showSizeChanger",e)})}),(0,ed.jsx)(ti.Form.Item,{label:"显示快速跳转",children:(0,ed.jsx)(ti.Switch,{size:"small",checked:!!t.showQuickJumper,onChange:e=>i("showQuickJumper",e)})}),(0,ed.jsx)(ti.Form.Item,{label:"隐藏单页分页",children:(0,ed.jsx)(ti.Switch,{size:"small",checked:!!t.hideOnSinglePage,onChange:e=>i("hideOnSinglePage",e)})}),(0,ed.jsx)(ti.Form.Item,{label:"显示分页总数",children:(0,ed.jsx)(ti.Switch,{size:"small",checked:!!t.showTotal,onChange:e=>i("showTotal",e)})}),(0,ed.jsx)(ti.Form.Item,{label:"分页大小",children:(0,ed.jsx)(ti.InputNumber,{size:"small",value:t.pageSize,onChange:e=>i("pageSize",e)})})]}),(0,ed.jsx)(ti.Divider,{children:"表格列设置"}),(0,ed.jsx)(ti.Table,{size:"small",dataSource:t.columns,rowKey:(e,t)=>String(t),columns:c,pagination:!1,bordered:!0}),(0,ed.jsx)(ti.Button,{size:"small",onClick:()=>{i("columns",[...t.columns||[],{title:"",dataIndex:"",width:"",align:"left",ellipsis:!1}])},block:!0,children:"添加列"}),(0,ed.jsx)(ti.Divider,{style:{marginTop:10},children:"样式设置"}),(0,ed.jsx)(ti.Form.Item,{label:"表头单元格类名",layout:"vertical",children:(0,ed.jsx)(ti.Select,{mode:"tags",size:"small",value:t.headerCellClassNames||[],onChange:e=>i("headerCellClassNames",e)})}),(0,ed.jsx)(ti.Form.Item,{label:"表格单元格类名",layout:"vertical",children:(0,ed.jsx)(ti.Select,{mode:"tags",size:"small",value:t.bodyCellClassNames||[],onChange:e=>i("bodyCellClassNames",e)})}),(0,ed.jsx)(ti.Form.Item,{label:"分页根类名",layout:"vertical",children:(0,ed.jsx)(ti.Select,{mode:"tags",size:"small",value:t.paginationRootClassNames||[],onChange:e=>i("paginationRootClassNames",e)})}),(0,ed.jsx)(ti.Form.Item,{label:"分页项类名",layout:"vertical",children:(0,ed.jsx)(ti.Select,{mode:"tags",size:"small",value:t.paginationItemClassNames||[],onChange:e=>i("paginationItemClassNames",e)})}),(0,ed.jsx)(ti.Modal,{title:"编辑列",open:a,footer:null,width:400,onCancel:()=>o(!1),children:(0,ed.jsx)(ti.Form,{layout:"vertical",size:"small",children:(0,ed.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:12},children:[(0,ed.jsx)(ti.Form.Item,{label:"列名",style:{marginBottom:10},children:(0,ed.jsx)(ti.Input,{value:u.title,onChange:e=>r(s,{title:e.target.value})})}),(0,ed.jsx)(ti.Form.Item,{label:"数据索引",style:{marginBottom:10},children:(0,ed.jsx)(ti.Select,{mode:"tags",value:"string"==typeof u.dataIndex?[u.dataIndex]:u.dataIndex,onChange:e=>r(s,{dataIndex:e})})}),(0,ed.jsx)(ti.Form.Item,{label:"宽度",style:{marginBottom:10},children:(0,ed.jsx)(ti.Input,{value:u.width,onChange:e=>r(s,{width:e.target.value})})}),(0,ed.jsx)(ti.Form.Item,{label:"对齐",style:{marginBottom:10},children:(0,ed.jsxs)(ti.Radio.Group,{value:u.align,onChange:e=>r(s,{align:e.target.value}),children:[(0,ed.jsx)(ti.Radio.Button,{value:"left",children:(0,ed.jsx)(te.AlignLeftOutlined,{})}),(0,ed.jsx)(ti.Radio.Button,{value:"center",children:(0,ed.jsx)(te.AlignCenterOutlined,{})}),(0,ed.jsx)(ti.Radio.Button,{value:"right",children:(0,ed.jsx)(te.AlignRightOutlined,{})})]})}),(0,ed.jsx)(ti.Form.Item,{label:"省略",style:{marginBottom:10},children:(0,ed.jsx)(ti.Switch,{checked:!!u.ellipsis,onChange:e=>r(s,{ellipsis:e})})}),(0,ed.jsx)(ti.Form.Item,{label:"自定义渲染",tooltip:"支持自定义渲染,使用{{}}包裹表达式,例如:{{text}},{{record.变量名}},{{index}},{{$g.变量名}},{{$e.变量名}}",style:{gridColumn:"span 2 / span 2",marginBottom:10},children:(0,ed.jsx)(ti.Input.TextArea,{value:u.customRender,onChange:e=>r(s,{customRender:e.target.value})})}),(0,ed.jsx)(ti.Form.Item,{label:"类名",style:{gridColumn:"span 2 / span 2",marginBottom:10},children:(0,ed.jsx)(ti.Input,{value:u.className,onChange:e=>r(s,{className:e.target.value})})})]})})})]})},defaultOptions:{datasource:{source:"custom",datasourceId:null,scriptId:null,custom:'[{"name":"苹果","count":12},{"name":"华为","count":803},{"name":"OPPO","count":654},{"name":"vivo","count":719}]'},props:{size:"default",bordered:!0,showHeader:!0,showSizeChanger:!0,showQuickJumper:!0,hideOnSinglePage:!0,showTotal:!0,pageSize:10,columns:[{title:"品牌",dataIndex:"name"},{title:"日销量(件)",dataIndex:"count"}]}}},{group:"基础组件",key:"b-list",label:"列表",icon:"icon-unordered-list",component:e=>{let{id:t,pageSize:n=10,bordered:i=!0,size:r="default",itemLayout:a="horizontal",item:o,split:s=!0,style:l={},className:u}=e,{initCallback:c}=(0,eh.useContext)(ev),[d,h]=(0,eh.useState)(0),p=nf({item:o,signal:d}),f=(0,eh.useMemo)(()=>p||[],[p]),m=(0,eh.useMemo)(()=>!!n&&!(n<=f.length)&&{total:f.length,pageSize:n,size:"default"===r?void 0:r,showSizeChanger:!0,showQuickJumper:!0,hideOnSinglePage:!0,pageSizeOptions:["10","20","30","40"],showTotal:(e,t)=>`共 ${e} 条记录,显示第 ${t[0]}-${t[1]} 条`},[n,f.length,r]),g=["p-list",a?`p-list--${a}`:void 0,r?`p-list--${r}`:void 0,s?"p-list--split":void 0,i?"p-list--bordered":void 0,u],v=function(){let e=!(arguments.length>0)||void 0===arguments[0]||arguments[0];return e&&h(e=>e+1),{target:o,data:p}};return(0,eh.useEffect)(()=>{c({id:o.id,callback:v})},[]),(0,ed.jsxs)("div",{id:t,style:{display:"flex",flexDirection:"column",...l},className:g.filter(Boolean).join(" "),children:[(0,ed.jsx)(nS,{list:f,split:s,bordered:i,size:r,itemLayout:a}),m&&(0,ed.jsx)(ti.Pagination,{...m})]})},formComponent:e=>{let{model:t,onChange:n}=e,[i]=ti.Form.useForm();return(0,eh.useEffect)(()=>{i.setFieldsValue({size:t.size||"default",itemLayout:t.itemLayout||"horizontal",bordered:t.bordered??!1,split:t.split??!0,pageSize:t.pageSize||10})},[t,i]),(0,ed.jsxs)(ti.Form,{form:i,labelCol:{span:12},wrapperCol:{span:12},onValuesChange:e=>{null==n||n({...t,...e})},children:[(0,ed.jsx)(ti.Form.Item,{label:"大小",name:"size",children:(0,ed.jsxs)(ti.Radio.Group,{size:"small",buttonStyle:"solid",children:[(0,ed.jsx)(ti.Radio.Button,{value:"default",children:"默认"}),(0,ed.jsx)(ti.Radio.Button,{value:"small",children:"小"})]})}),(0,ed.jsx)(ti.Form.Item,{label:"布局",name:"itemLayout",children:(0,ed.jsxs)(ti.Radio.Group,{size:"small",buttonStyle:"solid",children:[(0,ed.jsx)(ti.Radio.Button,{value:"horizontal",children:"水平"}),(0,ed.jsx)(ti.Radio.Button,{value:"vertical",children:"垂直"})]})}),(0,ed.jsx)(ti.Form.Item,{label:"边框",name:"bordered",valuePropName:"checked",children:(0,ed.jsx)(ti.Switch,{size:"small"})}),(0,ed.jsx)(ti.Form.Item,{label:"分割线",name:"split",valuePropName:"checked",children:(0,ed.jsx)(ti.Switch,{size:"small"})}),(0,ed.jsx)(ti.Form.Item,{label:"分页大小",name:"pageSize",children:(0,ed.jsx)(ti.InputNumber,{size:"small"})})]})},defaultOptions:{datasource:{source:"custom",custom:"[]"},props:{size:"default",itemLayout:"horizontal",bordered:!0,split:!0,pageSize:10}}},{group:"基础组件",key:"b-html",label:"HTML",icon:"icon-html",component:e=>{let{id:t,template:n="",item:i,style:r,className:a,classNames:o=[]}=e,{initCallback:s,globalVars:l,env:u}=(0,eh.useContext)(ev),{handleEvent:c}=nC(i),[d,h]=(0,eh.useState)(0),p=nf({item:i,signal:d}),f=(0,eh.useMemo)(()=>Array.isArray(p)?[]:Object.keys(p||{}),[p]),m=(0,eh.useMemo)(()=>f.map(e=>null==p?void 0:p[e]),[f,p]),g=(0,eh.useMemo)(()=>(n||"").replace(/{\s*{\s*([^}]+)\s*}\s*}/g,(e,t)=>{try{return Function("$g","$e",...f,`
1273
+ `),j=nf({item:n,query:w}),T=i.map(e=>({...e,render:e.customRender&&("string"!=typeof e.customRender||""!==e.customRender.trim())?(t,n,i)=>{let r=(e.customRender||"").replace(/{\s*{\s*([^}]+)\s*}\s*}/g,(e,r)=>{try{return C(r)(console,Math,Date,Array,Object,String,Number,Boolean,_,b.global,t,n,i)}catch{return""}});return(0,ed.jsx)("div",{dangerouslySetInnerHTML:{__html:r}})}:e.render})),k=(0,eh.useMemo)(()=>{let e;if(!r||""===r.trim())return j||[];if(r.startsWith("$g."))try{e=C(r)(console,Math,Date,Array,Object,String,Number,Boolean,_,b.global,null,null,null)}catch{e=[]}else{let t=r.split("."),n=j||[];for(let e of t)if(n[e])n=n[e];else{n=[];break}e=n||[]}return Array.isArray(e)?{total:e.length,records:e}:"object"==typeof e?e:{total:0,records:[]}},[r,j]),I=(0,eh.useMemo)(()=>!!a&&{total:k.total,current:w.current,pageSize:w.pageSize,size:s,showSizeChanger:u,showQuickJumper:c,hideOnSinglePage:d,pageSizeOptions:["10","20","30","40"],showTotal:h?(e,t)=>`共 ${e} 条记录,显示第 ${t[0]}-${t[1]} 条`:void 0,locale:{items_per_page:"/ 页",jump_to:"跳转至第",page:"页"},onChange:(e,t)=>{S({current:e,pageSize:t})},onShowSizeChange:(e,t)=>{S({current:e,pageSize:t})}},[k,w,a,s,u,c,d,h]),M=()=>{console.log("callback table")};return(0,eh.useEffect)(()=>{S({current:1,pageSize:a})},[a]),(0,eh.useEffect)(()=>{x({id:n.id,callback:M})},[]),(0,ed.jsx)(ti.Table,{id:t,dataSource:k.records||[],columns:T,pagination:I,bordered:o,size:s,showHeader:"boolean"!=typeof l||l,rowKey:(e,t)=>String(t),style:{padding:1,...p},className:f,classNames:{header:{cell:(m||[]).join(" ")},body:{cell:(g||[]).join(" ")},pagination:{root:(v||[]).join(" "),item:(y||[]).join(" ")}}})},formComponent:e=>{let{model:t,onChange:n}=e,i=(e,i)=>n&&n({...t,[e]:i}),r=(e,n)=>{let r=[...t.columns||[]];r[e]={...r[e],...n},i("columns",r)},[a,o]=(0,eh.useState)(!1),[s,l]=(0,eh.useState)(null),u=null!=s&&t.columns[s]?t.columns[s]:{title:"",dataIndex:"",width:"",align:"left",ellipsis:!1,customRender:"",className:""},c=[{title:"列名",dataIndex:"title"},{title:"数据索引",dataIndex:"dataIndex",render:e=>"string"==typeof e?e:e.join(".")},{title:"操作",width:80,align:"center",render:(e,n,r)=>(0,ed.jsxs)(ti.Space,{children:[(0,ed.jsx)("a",{onClick:()=>{l(r),o(!0)},children:(0,ed.jsx)(te.EditOutlined,{})}),(0,ed.jsx)("a",{onClick:()=>{let e;(e=[...t.columns||[]]).splice(r,1),i("columns",e)},children:(0,ed.jsx)(te.DeleteOutlined,{})})]})}];return(0,ed.jsxs)("div",{children:[(0,ed.jsxs)(ti.Form,{labelCol:{span:12},wrapperCol:{span:12},children:[(0,ed.jsx)(ti.Form.Item,{label:"数据键",tooltip:"数据键用于指定数据来源中的数据项,例如:'data.items'",children:(0,ed.jsx)(ti.Input,{size:"small",value:t.dataKey,onChange:e=>i("dataKey",e.target.value)})}),(0,ed.jsx)(ti.Form.Item,{label:"大小",children:(0,ed.jsxs)(ti.Radio.Group,{size:"small",value:t.size,onChange:e=>i("size",e.target.value),children:[(0,ed.jsx)(ti.Radio.Button,{value:"small",children:"小"}),(0,ed.jsx)(ti.Radio.Button,{value:"middle",children:"中"}),(0,ed.jsx)(ti.Radio.Button,{value:"large",children:"大"})]})}),(0,ed.jsx)(ti.Form.Item,{label:"边框",children:(0,ed.jsx)(ti.Switch,{size:"small",checked:!!t.bordered,onChange:e=>i("bordered",e)})}),(0,ed.jsx)(ti.Form.Item,{label:"显示表头",children:(0,ed.jsx)(ti.Switch,{size:"small",checked:!!t.showHeader,onChange:e=>i("showHeader",e)})}),(0,ed.jsx)(ti.Form.Item,{label:"显示分页大小选择器",children:(0,ed.jsx)(ti.Switch,{size:"small",checked:!!t.showSizeChanger,onChange:e=>i("showSizeChanger",e)})}),(0,ed.jsx)(ti.Form.Item,{label:"显示快速跳转",children:(0,ed.jsx)(ti.Switch,{size:"small",checked:!!t.showQuickJumper,onChange:e=>i("showQuickJumper",e)})}),(0,ed.jsx)(ti.Form.Item,{label:"隐藏单页分页",children:(0,ed.jsx)(ti.Switch,{size:"small",checked:!!t.hideOnSinglePage,onChange:e=>i("hideOnSinglePage",e)})}),(0,ed.jsx)(ti.Form.Item,{label:"显示分页总数",children:(0,ed.jsx)(ti.Switch,{size:"small",checked:!!t.showTotal,onChange:e=>i("showTotal",e)})}),(0,ed.jsx)(ti.Form.Item,{label:"分页大小",children:(0,ed.jsx)(ti.InputNumber,{size:"small",value:t.pageSize,onChange:e=>i("pageSize",e)})})]}),(0,ed.jsx)(ti.Divider,{children:"表格列设置"}),(0,ed.jsx)(ti.Table,{size:"small",dataSource:t.columns,rowKey:(e,t)=>String(t),columns:c,pagination:!1,bordered:!0}),(0,ed.jsx)(ti.Button,{size:"small",onClick:()=>{i("columns",[...t.columns||[],{title:"",dataIndex:"",width:"",align:"left",ellipsis:!1}])},block:!0,children:"添加列"}),(0,ed.jsx)(ti.Divider,{style:{marginTop:10},children:"样式设置"}),(0,ed.jsx)(ti.Form.Item,{label:"表头单元格类名",layout:"vertical",children:(0,ed.jsx)(ti.Select,{mode:"tags",size:"small",value:t.headerCellClassNames||[],onChange:e=>i("headerCellClassNames",e)})}),(0,ed.jsx)(ti.Form.Item,{label:"表格单元格类名",layout:"vertical",children:(0,ed.jsx)(ti.Select,{mode:"tags",size:"small",value:t.bodyCellClassNames||[],onChange:e=>i("bodyCellClassNames",e)})}),(0,ed.jsx)(ti.Form.Item,{label:"分页根类名",layout:"vertical",children:(0,ed.jsx)(ti.Select,{mode:"tags",size:"small",value:t.paginationRootClassNames||[],onChange:e=>i("paginationRootClassNames",e)})}),(0,ed.jsx)(ti.Form.Item,{label:"分页项类名",layout:"vertical",children:(0,ed.jsx)(ti.Select,{mode:"tags",size:"small",value:t.paginationItemClassNames||[],onChange:e=>i("paginationItemClassNames",e)})}),(0,ed.jsx)(ti.Modal,{title:"编辑列",open:a,footer:null,width:400,onCancel:()=>o(!1),children:(0,ed.jsx)(ti.Form,{layout:"vertical",size:"small",children:(0,ed.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:12},children:[(0,ed.jsx)(ti.Form.Item,{label:"列名",style:{marginBottom:10},children:(0,ed.jsx)(ti.Input,{value:u.title,onChange:e=>r(s,{title:e.target.value})})}),(0,ed.jsx)(ti.Form.Item,{label:"数据索引",style:{marginBottom:10},children:(0,ed.jsx)(ti.Select,{mode:"tags",value:"string"==typeof u.dataIndex?[u.dataIndex]:u.dataIndex,onChange:e=>r(s,{dataIndex:e})})}),(0,ed.jsx)(ti.Form.Item,{label:"宽度",style:{marginBottom:10},children:(0,ed.jsx)(ti.Input,{value:u.width,onChange:e=>r(s,{width:e.target.value})})}),(0,ed.jsx)(ti.Form.Item,{label:"对齐",style:{marginBottom:10},children:(0,ed.jsxs)(ti.Radio.Group,{value:u.align,onChange:e=>r(s,{align:e.target.value}),children:[(0,ed.jsx)(ti.Radio.Button,{value:"left",children:(0,ed.jsx)(te.AlignLeftOutlined,{})}),(0,ed.jsx)(ti.Radio.Button,{value:"center",children:(0,ed.jsx)(te.AlignCenterOutlined,{})}),(0,ed.jsx)(ti.Radio.Button,{value:"right",children:(0,ed.jsx)(te.AlignRightOutlined,{})})]})}),(0,ed.jsx)(ti.Form.Item,{label:"省略",style:{marginBottom:10},children:(0,ed.jsx)(ti.Switch,{checked:!!u.ellipsis,onChange:e=>r(s,{ellipsis:e})})}),(0,ed.jsx)(ti.Form.Item,{label:"自定义渲染",tooltip:"支持自定义渲染,使用{{}}包裹表达式,例如:{{text}},{{record.变量名}},{{index}},{{$g.变量名}},{{$e.变量名}}",style:{gridColumn:"span 2 / span 2",marginBottom:10},children:(0,ed.jsx)(ti.Input.TextArea,{value:u.customRender,onChange:e=>r(s,{customRender:e.target.value})})}),(0,ed.jsx)(ti.Form.Item,{label:"类名",style:{gridColumn:"span 2 / span 2",marginBottom:10},children:(0,ed.jsx)(ti.Input,{value:u.className,onChange:e=>r(s,{className:e.target.value})})})]})})})]})},defaultOptions:{datasource:{source:"custom",datasourceId:null,scriptId:null,custom:'[{"name":"苹果","count":12},{"name":"华为","count":803},{"name":"OPPO","count":654},{"name":"vivo","count":719}]'},props:{size:"default",bordered:!0,showHeader:!0,showSizeChanger:!0,showQuickJumper:!0,hideOnSinglePage:!0,showTotal:!0,pageSize:10,columns:[{title:"品牌",dataIndex:"name"},{title:"日销量(件)",dataIndex:"count"}]}}},{group:"基础组件",key:"b-list",label:"列表",icon:"icon-unordered-list",component:e=>{let{id:t,pageSize:n=10,bordered:i=!0,size:r="default",itemLayout:a="horizontal",item:o,split:s=!0,style:l={},className:u}=e,{initCallback:c}=(0,eh.useContext)(ev),[d,h]=(0,eh.useState)(0),p=nf({item:o,signal:d}),f=(0,eh.useMemo)(()=>p||[],[p]),m=(0,eh.useMemo)(()=>!!n&&!(n<=f.length)&&{total:f.length,pageSize:n,size:"default"===r?void 0:r,showSizeChanger:!0,showQuickJumper:!0,hideOnSinglePage:!0,pageSizeOptions:["10","20","30","40"],showTotal:(e,t)=>`共 ${e} 条记录,显示第 ${t[0]}-${t[1]} 条`},[n,f.length,r]),g=["p-list",a?`p-list--${a}`:void 0,r?`p-list--${r}`:void 0,s?"p-list--split":void 0,i?"p-list--bordered":void 0,u],v=function(){let e=!(arguments.length>0)||void 0===arguments[0]||arguments[0];return e&&h(e=>e+1),{target:o,data:p}};return(0,eh.useEffect)(()=>{c({id:o.id,callback:v})},[]),(0,ed.jsxs)("div",{id:t,style:{display:"flex",flexDirection:"column",...l},className:g.filter(Boolean).join(" "),children:[(0,ed.jsx)(nS,{list:f,split:s,bordered:i,size:r,itemLayout:a}),m&&(0,ed.jsx)(ti.Pagination,{...m})]})},formComponent:e=>{let{model:t,onChange:n}=e,[i]=ti.Form.useForm();return(0,eh.useEffect)(()=>{i.setFieldsValue({size:t.size||"default",itemLayout:t.itemLayout||"horizontal",bordered:t.bordered??!1,split:t.split??!0,pageSize:t.pageSize||10})},[t,i]),(0,ed.jsxs)(ti.Form,{form:i,labelCol:{span:12},wrapperCol:{span:12},onValuesChange:e=>{null==n||n({...t,...e})},children:[(0,ed.jsx)(ti.Form.Item,{label:"大小",name:"size",children:(0,ed.jsxs)(ti.Radio.Group,{size:"small",buttonStyle:"solid",children:[(0,ed.jsx)(ti.Radio.Button,{value:"default",children:"默认"}),(0,ed.jsx)(ti.Radio.Button,{value:"small",children:"小"})]})}),(0,ed.jsx)(ti.Form.Item,{label:"布局",name:"itemLayout",children:(0,ed.jsxs)(ti.Radio.Group,{size:"small",buttonStyle:"solid",children:[(0,ed.jsx)(ti.Radio.Button,{value:"horizontal",children:"水平"}),(0,ed.jsx)(ti.Radio.Button,{value:"vertical",children:"垂直"})]})}),(0,ed.jsx)(ti.Form.Item,{label:"边框",name:"bordered",valuePropName:"checked",children:(0,ed.jsx)(ti.Switch,{size:"small"})}),(0,ed.jsx)(ti.Form.Item,{label:"分割线",name:"split",valuePropName:"checked",children:(0,ed.jsx)(ti.Switch,{size:"small"})}),(0,ed.jsx)(ti.Form.Item,{label:"分页大小",name:"pageSize",children:(0,ed.jsx)(ti.InputNumber,{size:"small"})})]})},defaultOptions:{datasource:{source:"custom",custom:"[]"},props:{size:"default",itemLayout:"horizontal",bordered:!0,split:!0,pageSize:10}}},{group:"基础组件",key:"b-html",label:"HTML",icon:"icon-html",component:e=>{let{id:t,template:n="",item:i,style:r,className:a,classNames:o=[]}=e,{initCallback:s,globalVars:l,env:u}=(0,eh.useContext)(ev),{handleEvent:c}=nC(i),[d,h]=(0,eh.useState)(0),p=nf({item:i,signal:d}),f=(0,eh.useMemo)(()=>Array.isArray(p)?[]:Object.keys(p||{}),[p]),m=(0,eh.useMemo)(()=>f.map(e=>null==p?void 0:p[e]),[f,p]),g=(0,eh.useMemo)(()=>(n||"").replace(/{\s*{\s*([^}]+)\s*}\s*}/g,(e,t)=>{try{return Function("$g","$e",...f,`
1274
1274
  "use strict";
1275
1275
  const window = undefined;
1276
1276
  const document = undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bi-sdk-react",
3
- "version": "0.0.67",
3
+ "version": "0.0.68",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "main": "dist/umd/js/bi-sdk.umd.min.js",
@@ -112,13 +112,14 @@ export const TableRender: React.FC<TableRenderProps> = ({
112
112
  },
113
113
  }));
114
114
 
115
- const data = useMemo(() => {
115
+ const data: {total: number, records: any[]} = useMemo(() => {
116
116
  if (!dataKey || dataKey.trim() === "") {
117
117
  return dataSource || [];
118
118
  }
119
+ let ds;
119
120
  if (dataKey.startsWith("$g.")) {
120
121
  try {
121
- return (func(dataKey) as any)(
122
+ ds = (func(dataKey) as any)(
122
123
  console,
123
124
  Math,
124
125
  Date,
@@ -134,20 +135,35 @@ export const TableRender: React.FC<TableRenderProps> = ({
134
135
  null,
135
136
  );
136
137
  } catch {
137
- return [];
138
+ ds = [];
138
139
  }
139
- }
140
- const keys = dataKey.split(".");
141
- let result = dataSource || [];
142
- for (const key of keys) {
143
- if (result[key]) {
144
- result = result[key];
145
- } else {
146
- result = [];
147
- break;
140
+ } else {
141
+ const keys = dataKey.split(".");
142
+ let result = dataSource || [];
143
+ for (const key of keys) {
144
+ if (result[key]) {
145
+ result = result[key];
146
+ } else {
147
+ result = [];
148
+ break;
149
+ }
148
150
  }
151
+ ds = result || [];
152
+ }
153
+
154
+ if (Array.isArray(ds)) {
155
+ return {
156
+ total: ds.length,
157
+ records: ds,
158
+ };
159
+ } else if (typeof ds === "object") {
160
+ return ds;
161
+ } else {
162
+ return {
163
+ total: 0,
164
+ records: [],
165
+ };
149
166
  }
150
- return result || [];
151
167
  }, [dataKey, dataSource]);
152
168
 
153
169
  const pagination = useMemo(
@@ -155,7 +171,7 @@ export const TableRender: React.FC<TableRenderProps> = ({
155
171
  !pageSize
156
172
  ? false
157
173
  : ({
158
- total: (data || []).length,
174
+ total: data.total,
159
175
  current: page.current,
160
176
  pageSize: page.pageSize,
161
177
  size,
@@ -206,7 +222,7 @@ export const TableRender: React.FC<TableRenderProps> = ({
206
222
  return (
207
223
  <Table
208
224
  id={id}
209
- dataSource={data || []}
225
+ dataSource={data.records || []}
210
226
  columns={realColumns as any}
211
227
  pagination={pagination as any}
212
228
  bordered={bordered}