@chewel611/naive-ui-plus 0.0.50 → 0.0.52

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
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const l=require("naive-ui"),e=require("vue"),A=require("../utils/helper.cjs"),d=require("@vicons/antd"),j={class:"text-lg font-medium"},L={id:"data-content"},U={key:0,class:"rounded-lg bg-gray-50 flex flex-row gap-2 items-center justify-end p-4 mb-4"},F=e.defineComponent({__name:"PTable",props:{title:{},idField:{default:"id"},addPermission:{},editPermission:{},deletePermission:{},columns:{},onLoad:{},onDelete:{},onAdd:{},onEdit:{},onCheckPermission:{}},setup(y,{expose:V}){const N=e.ref(null),D=l.useDialog(),f=l.useMessage(),h=e.ref(!1),m=e.ref([]),p=e.ref([]),b=e.ref(!1),w=e.ref(!1),g=e.ref(!1),k=e.ref({}),P=e.computed(()=>w.value||g.value||Object.keys(k.value).length>0),i=y,v=async t=>!t||!i.onCheckPermission?!0:await i.onCheckPermission(t)??!1;e.watch(i,async()=>{b.value=!!i.onAdd&&await v(i.addPermission),w.value=!!i.onEdit&&await v(i.editPermission),g.value=!!i.onDelete&&await v(i.deletePermission);const t=i.columns.find(n=>n.key==="action");if(t&&t.action)for(const n of t.action){if(!n.permission)continue;const o=await v(n.permission.toLowerCase());o&&(k.value[n.permission]=o)}},{immediate:!0});const E=e.computed(()=>{const t=[{type:"selection",fixed:"left"}],n=[];return i.columns.forEach(o=>{if(o.key!=="action"){t.push({title:o.title,key:o.key,width:o.width,fixed:o.fixed??!1,render:o.render,ellipsis:o.ellipsis?{tooltip:!0}:!1});return}!o.action||o.action.length<=0||!P.value||n.push({title:"操作",key:"actions",width:100,fixed:"right",render:a=>{const s=[];if(B(s,a),z(s,a),I(s,a,o.action),!(s.length<=0))return e.h(l.NDropdown,{options:s,placement:"bottom-start"},{default:()=>e.h(l.NButton,{size:"small",type:"primary"},{default:()=>["操作",e.h(l.NIcon,()=>e.h(d.MoreOutlined))]})})}})}),[...t,...P.value?n:[]]}),r=e.ref({page:1,itemCount:0,pageSize:10,pageSizes:[10,20,30,50],showSizePicker:!0,onChange:async t=>{r.value.page=t,await u()},onUpdatePageSize:async t=>{r.value.pageSize=t,await u()}}),S=e.computed(()=>{const t=e.unref(N);if(!t)return;const n=t?.$el,o=n.querySelector(".n-data-table-thead "),{bottomIncludeBody:a}=A.getViewportOffset(o),s=48;let c=12,M=25;const x=n.querySelector(".n-data-table__pagination");if(x){const T=x.offsetHeight;c+=T||0}else c+=28;return a-(s+c+M)}),B=async(t,n)=>{w.value&&t.push({label:"编辑",key:"edit",icon:()=>e.h(l.NIcon,null,{default:()=>e.h(d.EditOutlined)}),props:{onClick:async()=>await i.onEdit(n)}})},z=async(t,n)=>{g.value&&t.push({label:"删除",key:"delete",icon:()=>e.h(l.NIcon,null,{default:()=>e.h(d.DeleteOutlined)}),props:{onClick:()=>R(n)}})},I=(t,n,o)=>{if(o)for(const a of o){if(a.key==="edit"||a.key==="delete"||!a.permission||!k.value[a.permission])return;t.push({label:a.name,key:a.key,icon:a.icon&&(()=>e.h(l.NIcon,null,{default:()=>e.h(a.icon)})),props:{onClick:()=>a.action(n)}})}},O=async()=>await u(),R=t=>_([t]),q=()=>{const t=C();_(t)},_=t=>{!t||t.length===0||D.warning({title:"警告",content:"删除数据不可恢复, 确认删除吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:async()=>{if(i.onDelete)try{await i.onDelete(t)?(u(),f.success("删除成功")):f.error("删除失败")}catch(n){f.error(n.message)}}})},u=async()=>{if(i.onLoad&&!h.value){h.value=!0;try{var{items:t,totalCount:n}=await i.onLoad(r.value.page,r.value.pageSize);p.value=t,r.value.itemCount=n}catch(o){f.error(o.message)}finally{h.value=!1}}},C=()=>m.value?p.value.filter(t=>m.value.includes(t.id)).map(t=>e.toRaw(t)):[],$=()=>C()[0],H=()=>e.toRaw(p.value);return e.onMounted(async()=>await u()),V({getData:H,getSelectedRow:$,getSelectedRows:C,refreshData:u,resetPage:()=>{r.value.page=1}}),(t,n)=>{const o=l.NTooltip,a=l.NSpace,s=l.NDataTable;return e.openBlock(),e.createBlock(e.unref(l.NCard),{bordered:!1},{header:e.withCtx(()=>[e.createVNode(a,{justify:"space-between",align:"center",class:"w-full"},{default:e.withCtx(()=>[e.createElementVNode("span",j,e.toDisplayString(y.title),1),e.createVNode(a,null,{default:e.withCtx(()=>[b.value?(e.openBlock(),e.createBlock(o,{key:0,trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(l.NIcon),{size:"18",class:"mr-1 cursor-pointer hover:text-blue-600",onClick:i.onAdd},{default:e.withCtx(()=>[e.createVNode(e.unref(d.PlusSquareOutlined))]),_:1},8,["onClick"])]),default:e.withCtx(()=>[n[1]||(n[1]=e.createElementVNode("span",null,"新增",-1))]),_:1})):e.createCommentVNode("",!0),g.value?(e.openBlock(),e.createBlock(o,{key:1,trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(l.NIcon),{size:"18",class:"mr-1 cursor-pointer hover:text-blue-600",onClick:q},{default:e.withCtx(()=>[e.createVNode(e.unref(d.DeleteOutlined))]),_:1})]),default:e.withCtx(()=>[n[2]||(n[2]=e.createElementVNode("span",null,"删除",-1))]),_:1})):e.createCommentVNode("",!0),e.createVNode(o,{trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(l.NIcon),{size:"18",class:"cursor-pointer hover:text-blue-600",onClick:O},{default:e.withCtx(()=>[e.createVNode(e.unref(d.ReloadOutlined))]),_:1})]),default:e.withCtx(()=>[n[3]||(n[3]=e.createElementVNode("span",null,"刷新",-1))]),_:1})]),_:1})]),_:1})]),default:e.withCtx(()=>[e.createElementVNode("div",L,[t.$slots.toolbar?(e.openBlock(),e.createElementBlock("div",U,[e.renderSlot(t.$slots,"toolbar")])):e.createCommentVNode("",!0),e.createVNode(s,{remote:"",ref_key:"$table",ref:N,"checked-row-keys":m.value,"onUpdate:checkedRowKeys":n[0]||(n[0]=c=>m.value=c),"max-height":S.value,loading:h.value,bordered:!1,"single-line":!1,columns:E.value,data:p.value,pagination:r.value,"row-key":c=>c[y.idField]},null,8,["checked-row-keys","max-height","loading","columns","data","pagination","row-key"])])]),_:3})}}});exports.default=F;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const l=require("naive-ui"),e=require("vue"),j=require("../utils/helper.cjs"),c=require("@vicons/antd"),L={class:"text-lg font-medium"},U={id:"data-content"},F={key:0,class:"rounded-lg bg-gray-50 flex flex-row gap-2 items-center justify-end p-4 mb-4"},K=e.defineComponent({__name:"PTable",props:{title:{},idField:{default:"id"},addPermission:{},editPermission:{},deletePermission:{},columns:{},onLoad:{},onDelete:{},onAdd:{},onEdit:{},onCheckPermission:{}},setup(y,{expose:_}){const a=y,C=e.ref(),V=l.useDialog(),d=l.useMessage(),f=e.ref(!1),m=e.ref([]),p=e.ref([]),N=e.ref(!1),k=e.ref(!1),h=e.ref(!1),b=e.ref({}),D=e.computed(()=>k.value||h.value),g=async t=>!t||!a.onCheckPermission?!0:await a.onCheckPermission(t)??!1;e.watch(a,async()=>{N.value=!!a.onAdd&&await g(a.addPermission),k.value=!!a.onEdit&&await g(a.editPermission),h.value=!!a.onDelete&&await g(a.deletePermission);const t=a.columns.find(n=>n.key==="action");if(t&&t.action)for(const n of t.action){if(!n.permission)continue;const o=await g(n.permission);b.value[n.permission]=o}},{immediate:!0});const s=e.ref({page:1,itemCount:0,pageSize:10,pageSizes:[10,20,30,50],showSizePicker:!0,onChange:async t=>{s.value.page=t,await r()},onUpdatePageSize:async t=>{s.value.pageSize=t,await r()}}),E=e.computed(()=>{const t=e.unref(C);if(!t)return;let n=12,o=25;const i=48,v=t?.$el,u=v.querySelector(".n-data-table-thead "),{bottomIncludeBody:T}=j.getViewportOffset(u),P=v.querySelector(".n-data-table__pagination");if(P){const A=P.offsetHeight;n+=A||0}else n+=28;return T-(i+n+o)}),S=e.computed(()=>{const t=[{type:"selection",fixed:"left"}];a.columns.forEach(o=>{if(o.key!=="action"){t.push({title:o.title,key:o.key,width:o.width,fixed:o.fixed??!1,render:o.render,ellipsis:o.ellipsis?{tooltip:!0}:!1});return}});const n=a.columns.reduce((o,i)=>i.key==="action"?i:o,void 0);return(n||D.value)&&t.push({title:"操作",key:"actions",width:100,fixed:"right",render:o=>B(o,n?.action)}),t}),B=(t,n)=>{const o=[];return z(o,t),I(o,t),R(o,t,n),o.length<=0?null:e.h(l.NDropdown,{options:o,placement:"bottom-start"},{default:()=>e.h(l.NButton,{size:"small",type:"primary"},{default:()=>["操作",e.h(l.NIcon,()=>e.h(c.MoreOutlined))]})})},z=(t,n)=>{k.value&&t.push({label:"编辑",key:"edit",icon:()=>e.h(l.NIcon,null,{default:()=>e.h(c.EditOutlined)}),props:{onClick:async()=>await a.onEdit(n)}})},I=(t,n)=>{h.value&&t.push({label:"删除",key:"delete",icon:()=>e.h(l.NIcon,null,{default:()=>e.h(c.DeleteOutlined)}),props:{onClick:()=>q(n)}})},R=(t,n,o)=>{if(o)for(const i of o)i.key==="edit"||i.key==="delete"||i.permission&&!b.value[i.permission]||t.push({label:i.name,key:i.key,icon:i.icon&&(()=>e.h(l.NIcon,null,{default:()=>e.h(i.icon)})),props:{onClick:()=>i.action(n)}})},O=async()=>await r(),q=t=>x([t]),$=()=>x(w()),x=t=>{!t||t.length===0||V.warning({title:"警告",content:"删除数据不可恢复, 确认删除吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:async()=>{if(a.onDelete)try{await a.onDelete(t)?(r(),d.success("删除成功")):d.error("删除失败")}catch(n){d.error(n.message)}}})},r=async()=>{if(a.onLoad&&!f.value){f.value=!0;try{var{items:t,totalCount:n}=await a.onLoad(s.value.page,s.value.pageSize);p.value=t,s.value.itemCount=n}catch(o){d.error(o.message)}finally{f.value=!1}}},w=()=>m.value?p.value.filter(t=>m.value.includes(t.id)).map(t=>e.toRaw(t)):[],H=()=>w()[0],M=()=>e.toRaw(p.value);return e.onMounted(async()=>await r()),_({getData:M,getSelectedRow:H,getSelectedRows:w,refreshData:r,resetPage:()=>{s.value.page=1}}),(t,n)=>{const o=l.NTooltip,i=l.NSpace,v=l.NDataTable;return e.openBlock(),e.createBlock(e.unref(l.NCard),{bordered:!1},{header:e.withCtx(()=>[e.createVNode(i,{justify:"space-between",align:"center",class:"w-full"},{default:e.withCtx(()=>[e.createElementVNode("span",L,e.toDisplayString(y.title),1),e.createVNode(i,null,{default:e.withCtx(()=>[N.value?(e.openBlock(),e.createBlock(o,{key:0,trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(l.NIcon),{size:"18",class:"mr-1 cursor-pointer hover:text-blue-600",onClick:a.onAdd},{default:e.withCtx(()=>[e.createVNode(e.unref(c.PlusSquareOutlined))]),_:1},8,["onClick"])]),default:e.withCtx(()=>[n[1]||(n[1]=e.createElementVNode("span",null,"新增",-1))]),_:1})):e.createCommentVNode("",!0),h.value?(e.openBlock(),e.createBlock(o,{key:1,trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(l.NIcon),{size:"18",class:"mr-1 cursor-pointer hover:text-blue-600",onClick:$},{default:e.withCtx(()=>[e.createVNode(e.unref(c.DeleteOutlined))]),_:1})]),default:e.withCtx(()=>[n[2]||(n[2]=e.createElementVNode("span",null,"删除",-1))]),_:1})):e.createCommentVNode("",!0),e.createVNode(o,{trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(l.NIcon),{size:"18",class:"cursor-pointer hover:text-blue-600",onClick:O},{default:e.withCtx(()=>[e.createVNode(e.unref(c.ReloadOutlined))]),_:1})]),default:e.withCtx(()=>[n[3]||(n[3]=e.createElementVNode("span",null,"刷新",-1))]),_:1})]),_:1})]),_:1})]),default:e.withCtx(()=>[e.createElementVNode("div",U,[t.$slots.toolbar?(e.openBlock(),e.createElementBlock("div",F,[e.renderSlot(t.$slots,"toolbar")])):e.createCommentVNode("",!0),e.createVNode(v,{remote:"",ref_key:"$table",ref:C,"checked-row-keys":m.value,"onUpdate:checkedRowKeys":n[0]||(n[0]=u=>m.value=u),"max-height":E.value,loading:f.value,bordered:!1,"single-line":!1,columns:S.value,data:p.value,pagination:s.value,"row-key":u=>u[y.idField]},null,8,["checked-row-keys","max-height","loading","columns","data","pagination","row-key"])])]),_:3})}}});exports.default=K;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@chewel611/naive-ui-plus",
3
3
  "private": false,
4
- "version": "0.0.50",
4
+ "version": "0.0.52",
5
5
  "license": "MIT",
6
6
  "type": "module",
7
7
  "sideEffects": false,