@chewel611/naive-ui-plus 0.0.29 → 0.0.31

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 s=require("naive-ui"),e=require("vue"),m=e.defineComponent({__name:"PModal",props:{saveBtnText:{default:"保存"},closable:{type:Boolean,default:!1},title:{},width:{default:800},height:{default:500},visible:{type:Boolean},loading:{type:Boolean},onSave:{},onClose:{}},emits:["update:visible","update:loading"],setup(l,{expose:c,emit:u}){const i=s.useMessage(),a=l,o=u,f=async()=>{o("update:loading",!0);try{a.onSave&&await a.onSave()&&n()}catch(t){i.error(t.message)}finally{o("update:loading",!1)}},n=()=>{o("update:visible",!1),o("update:loading",!1)},g=async()=>{try{a.onClose?await a.onClose()&&n():n()}catch(t){i.error(t.message),o("update:loading",!1)}};return c({open:()=>{o("update:visible",!0),o("update:loading",!1)},close:()=>{o("update:visible",!1),o("update:loading",!1)}}),(t,d)=>{const p=s.NText,r=s.NButton,h=s.NSpace;return e.openBlock(),e.createBlock(e.unref(s.NModal),e.mergeProps({ref:"$modal",preset:"card"},t.$attrs,{"header-class":"bg-gray-50",show:a.visible,draggable:!0,closable:!1,"close-on-esc":!1,"mask-closable":!1,bordered:!1,style:{width:`${a.width}px`},onClose:n}),{header:e.withCtx(()=>[t.$slots.header?e.renderSlot(t.$slots,"header",{key:0}):a.title?(e.openBlock(),e.createBlock(p,{key:1},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l.title),1)]),_:1})):e.createCommentVNode("",!0)]),"header-extra":e.withCtx(()=>[e.renderSlot(t.$slots,"header-extra")]),default:e.withCtx(()=>[e.createElementVNode("div",{class:"overflow-y-auto overflow-hidden mt-5",style:e.normalizeStyle({maxHeight:`${a.height}px`})},[e.renderSlot(t.$slots,"default")],4)]),footer:e.withCtx(()=>[e.renderSlot(t.$slots,"footer")]),action:e.withCtx(()=>[e.createVNode(h,{justify:"end"},{default:e.withCtx(()=>[e.createVNode(r,{type:"primary",loading:l.loading,onClick:f},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l.saveBtnText),1)]),_:1},8,["loading"]),e.renderSlot(t.$slots,"action-extra",{loading:l.loading}),e.createVNode(r,{onClick:g,loading:l.loading},{default:e.withCtx(()=>[...d[0]||(d[0]=[e.createTextVNode("取消",-1)])]),_:1},8,["loading"])]),_:3})]),_:3},16,["show","style"])}}});exports.default=m;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("naive-ui"),e=require("vue"),p=e.defineComponent({__name:"PModal",props:{saveBtnText:{default:"保存"},cancelBtnText:{default:"取消"},hideCancelBtn:{type:Boolean,default:!1},hideSaveBtn:{type:Boolean,default:!1},title:{},width:{default:800},height:{default:500},visible:{type:Boolean},loading:{type:Boolean},onSave:{},onClose:{}},emits:["update:visible","update:loading"],setup(l,{expose:r,emit:c}){const i=n.useMessage(),a=l,o=c,u=async()=>{o("update:loading",!0);try{a.onSave&&await a.onSave()&&s()}catch(t){i.error(t.message)}finally{o("update:loading",!1)}},s=()=>{o("update:visible",!1),o("update:loading",!1)},f=async()=>{try{a.onClose?await a.onClose()&&s():s()}catch(t){i.error(t.message),o("update:loading",!1)}};return r({open:()=>{o("update:visible",!0),o("update:loading",!1)},close:()=>{o("update:visible",!1),o("update:loading",!1)}}),(t,C)=>{const g=n.NText,d=n.NButton,h=n.NSpace;return e.openBlock(),e.createBlock(e.unref(n.NModal),e.mergeProps({ref:"$modal",preset:"card"},t.$attrs,{"header-class":"bg-gray-50",show:a.visible,draggable:!0,closable:!1,"close-on-esc":!1,"mask-closable":!1,bordered:!1,style:{width:`${a.width}px`},onClose:s}),{header:e.withCtx(()=>[t.$slots.header?e.renderSlot(t.$slots,"header",{key:0}):a.title?(e.openBlock(),e.createBlock(g,{key:1},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l.title),1)]),_:1})):e.createCommentVNode("",!0)]),"header-extra":e.withCtx(()=>[e.renderSlot(t.$slots,"header-extra")]),default:e.withCtx(()=>[e.createElementVNode("div",{class:"overflow-y-auto overflow-hidden mt-5",style:e.normalizeStyle({maxHeight:`${a.height}px`})},[e.renderSlot(t.$slots,"default")],4)]),footer:e.withCtx(()=>[e.renderSlot(t.$slots,"footer")]),action:e.withCtx(()=>[e.createVNode(h,{justify:"end"},{default:e.withCtx(()=>[a.hideSaveBtn?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(d,{key:0,type:"primary",loading:l.loading,onClick:u},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l.saveBtnText),1)]),_:1},8,["loading"])),e.renderSlot(t.$slots,"action-extra",{loading:l.loading}),a.hideCancelBtn?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(d,{key:1,onClick:f,loading:l.loading},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l.cancelBtnText),1)]),_:1},8,["loading"]))]),_:3})]),_:3},16,["show","style"])}}});exports.default=p;
@@ -12,8 +12,10 @@ export declare const PModalPlugin: {
12
12
  }, import('vue').PublicProps, {
13
13
  width: number;
14
14
  height: number;
15
- closable: boolean;
16
15
  saveBtnText: string;
16
+ cancelBtnText: string;
17
+ hideCancelBtn: boolean;
18
+ hideSaveBtn: boolean;
17
19
  }, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
18
20
  $modal: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
19
21
  draggable: import('vue').PropType<boolean | import('naive-ui/es/modal/src/interface').ModalDraggableOptions>;
@@ -2117,8 +2119,10 @@ export declare const PModalPlugin: {
2117
2119
  }, {}, {}, {}, {
2118
2120
  width: number;
2119
2121
  height: number;
2120
- closable: boolean;
2121
2122
  saveBtnText: string;
2123
+ cancelBtnText: string;
2124
+ hideCancelBtn: boolean;
2125
+ hideSaveBtn: boolean;
2122
2126
  }>;
2123
2127
  __isFragment?: never;
2124
2128
  __isTeleport?: never;
@@ -2135,8 +2139,10 @@ export declare const PModalPlugin: {
2135
2139
  }, string, {
2136
2140
  width: number;
2137
2141
  height: number;
2138
- closable: boolean;
2139
2142
  saveBtnText: string;
2143
+ cancelBtnText: string;
2144
+ hideCancelBtn: boolean;
2145
+ hideSaveBtn: boolean;
2140
2146
  }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
2141
2147
  $slots: {
2142
2148
  header?(_: {}): any;
@@ -1,6 +1,8 @@
1
1
  export type ModalProps = {
2
2
  saveBtnText?: string;
3
- closable?: boolean;
3
+ cancelBtnText?: string;
4
+ hideCancelBtn?: boolean;
5
+ hideSaveBtn?: boolean;
4
6
  title?: string;
5
7
  width?: number;
6
8
  height?: number;
@@ -3,8 +3,6 @@ declare function __VLS_template(): {
3
3
  attrs: Partial<{}>;
4
4
  slots: {
5
5
  toolbar?(_: {}): any;
6
- addModal?(_: {}): any;
7
- editModal?(_: {}): any;
8
6
  };
9
7
  refs: {
10
8
  $table: unknown;
@@ -16,16 +14,10 @@ declare const __VLS_component: import('vue').DefineComponent<DataTableProps, {
16
14
  refreshData: () => Promise<void>;
17
15
  getData: <T>() => T[];
18
16
  getSelectedRows: <T>() => T[];
19
- closeModal: () => void;
20
17
  resetPage: () => void;
21
18
  getSelectedRow: <T>() => T;
22
19
  }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<DataTableProps> & Readonly<{}>, {
23
20
  idField: string;
24
- item: any;
25
- modalWidth: number;
26
- hiddenAdd: boolean;
27
- hiddenEdit: boolean;
28
- hiddenDelete: boolean;
29
21
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
30
22
  $table: unknown;
31
23
  }, any>;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("naive-ui"),e=require("vue"),b=require("@vicons/antd"),ne=require("../utils/helper.cjs"),ae=require("lodash"),ie={class:"text-lg font-medium"},se={id:"data-content"},de={key:0,class:"rounded-lg bg-gray-50 flex flex-row gap-2 items-center justify-end p-4 mb-4"},re={key:1},ce={key:2},ue=e.defineComponent({__name:"PTable",props:{title:{},idField:{default:"id"},item:{default:{}},columns:{},modalWidth:{default:800},hiddenAdd:{type:Boolean,default:!1},hiddenEdit:{type:Boolean,default:!1},hiddenDelete:{type:Boolean,default:!1},onLoad:{},onGet:{},onOpenModal:{},onCloseModal:{},onSave:{},onDelete:{}},setup(c,{expose:z}){const E=e.ref(null),L=i.useDialog(),p=i.useMessage(),v=e.ref(!1),y=e.ref([]),C=e.ref([]),u=e.ref(null),g=e.ref(!1),m=e.ref(!1),k=e.ref(!1),M=e.ref({}),f=e.ref({page:1,itemCount:0,pageSize:10,pageSizes:[10,20,30,50],showSizePicker:!0,onChange:async t=>{f.value.page=t,await h()},onUpdatePageSize:async t=>{f.value.pageSize=t,await h()}}),l=c,H=t=>{const o=n=>{const a=[];return t&&t.forEach(d=>{d.key!=="edit"&&d.key!=="delete"&&a.push({label:d.name,key:d.key,props:{onClick:()=>d.action(n)}})}),a};return{title:"操作",key:"actions",width:100,fixed:"right",render:n=>{let a=[];if(l.hiddenEdit||a.push({label:"编辑",key:"edit",props:{onClick:()=>A(n)}}),l.hiddenDelete||a.push({label:"删除",key:"delete",props:{onClick:()=>q(n)}}),a=[...a,...o(n)],!(a.length<=0))return e.h(i.NDropdown,{options:a,placement:"bottom-start"},{default:()=>e.h(i.NButton,{size:"small",type:"primary"},{default:()=>["操作",e.h(i.NIcon,()=>e.h(b.MoreOutlined))]})})}}},I=e.computed(()=>{const t=l.columns.filter(n=>n.key!="action").map(n=>({title:n.title,key:n.key,width:n.width,fixed:n.fixed??!1,render:n.render,ellipsis:n.ellipsis?{tooltip:!0}:!1})),o=l.columns.reduce((n,a)=>a.key==="action"?a:n,void 0)?.action;return o&&o?.length>0||!l.hiddenDelete||!l.hiddenEdit?[{type:"selection",fixed:"left"},...t,H(o)]:[{type:"selection",fixed:"left"},...t]}),j=async()=>{await h()},q=t=>{D([t])},P=()=>{const t=x();D(t)},D=t=>{t&&t.length>0&&L.warning({title:"警告",content:"删除数据不可恢复, 确认删除吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:async()=>{if(l.onDelete)try{await l.onDelete(t)?(h(),p.success("删除成功")):p.error("删除失败")}catch(o){p.error(o.message)}}})},W=()=>{u.value=null,T()},A=async t=>{u.value=ae.cloneDeep(t),T(u.value,async()=>{l.onGet&&(u.value=await l.onGet(t[l.idField])),Object.assign(l.item,u.value)})},R=async()=>{if(l.onSave)try{k.value=!0,(g.value?await l.onSave(void 0,e.toRaw(l.item)):await l.onSave(u.value[l.idField],e.toRaw(l.item)))&&(N(),await h())}catch(t){p.error(t.message)}finally{k.value=!1}},T=async(t,o)=>{l.onOpenModal?.(t),await o?.(),t?(g.value=!1,m.value=!0):(m.value=!1,g.value=!0)},N=()=>{u.value=null,ne.resetObject(l.item),Object.assign(l.item,{...e.toRaw(M.value)}),l.onCloseModal?.(l.item),g.value=!1,m.value=!1},x=()=>y.value?C.value.filter(o=>y.value.includes(o.id)).map(o=>e.toRaw(o)):[],U=()=>x()[0],F=()=>e.toRaw(C.value),h=async()=>{if(!v.value){v.value=!0;try{if(l.onLoad){var{data:t,total:o}=await l.onLoad(f.value.page,f.value.pageSize);C.value=t,f.value.itemCount=o}}catch(n){p.error(n.message)}finally{v.value=!1}}},G=e.computed(()=>{const t=e.unref(E);if(!t)return;const o=t?.$el,n=o.querySelector(".n-data-table-thead "),{bottomIncludeBody:a}=X(n),d=48;let r=12,s=24;const w=o.querySelector(".n-data-table__pagination");if(w){const V=w.offsetHeight;r+=V||0}else r+=28;return a-(d+r+s)}),K=t=>!t||!t.getBoundingClientRect?0:t.getBoundingClientRect(),X=t=>{const o=document.documentElement,n=o.scrollLeft,a=o.scrollTop,d=o.clientLeft,r=o.clientTop,s=window.pageXOffset,w=window.pageYOffset,O=K(t),{left:V,top:J,width:Q,height:Z}=O,ee=(s||n)-(d||0),te=(w||a)-(r||0),oe=V+s,le=J+w,S=oe-ee,B=le-te,_=window.document.documentElement.clientWidth,$=window.document.documentElement.clientHeight;return{left:S,top:B,right:_-Q-S,bottom:$-Z-B,rightIncludeBody:_-S,bottomIncludeBody:$-B}},Y=()=>{M.value={...e.toRaw(l.item)}};return e.onMounted(async()=>{Y(),await h()}),z({getData:F,getSelectedRow:U,getSelectedRows:x,closeModal:N,refreshData:h,resetPage:()=>{f.value.page=1}}),(t,o)=>{const n=i.NTooltip,a=i.NSpace,d=i.NDataTable,r=i.NModal;return e.openBlock(),e.createBlock(e.unref(i.NCard),{bordered:!1},{header:e.withCtx(()=>[e.createVNode(a,{justify:"space-between",align:"center",class:"w-full"},{default:e.withCtx(()=>[e.createElementVNode("span",ie,e.toDisplayString(c.title),1),e.createVNode(a,null,{default:e.withCtx(()=>[c.hiddenAdd?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(n,{key:0,trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(i.NIcon),{size:"18",class:"mr-1 cursor-pointer hover:text-blue-600",onClick:W},{default:e.withCtx(()=>[e.createVNode(e.unref(b.PlusSquareOutlined))]),_:1})]),default:e.withCtx(()=>[o[3]||(o[3]=e.createElementVNode("span",null,"新增",-1))]),_:1})),c.hiddenDelete?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(n,{key:1,trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(i.NIcon),{size:"18",class:"mr-1 cursor-pointer hover:text-blue-600",onClick:P},{default:e.withCtx(()=>[e.createVNode(e.unref(b.DeleteOutlined))]),_:1})]),default:e.withCtx(()=>[o[4]||(o[4]=e.createElementVNode("span",null,"删除",-1))]),_:1})),e.createVNode(n,{trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(i.NIcon),{size:"18",class:"cursor-pointer hover:text-blue-600",onClick:j},{default:e.withCtx(()=>[e.createVNode(e.unref(b.ReloadOutlined))]),_:1})]),default:e.withCtx(()=>[o[5]||(o[5]=e.createElementVNode("span",null,"刷新",-1))]),_:1})]),_:1})]),_:1})]),default:e.withCtx(()=>[e.createElementVNode("div",se,[t.$slots.toolbar?(e.openBlock(),e.createElementBlock("div",de,[e.renderSlot(t.$slots,"toolbar")])):e.createCommentVNode("",!0),e.createVNode(d,{remote:"",ref_key:"$table",ref:E,"checked-row-keys":y.value,"onUpdate:checkedRowKeys":o[0]||(o[0]=s=>y.value=s),"max-height":G.value,loading:v.value,bordered:!1,"single-line":!1,columns:I.value,data:C.value,pagination:f.value,"row-key":s=>s[c.idField]},null,8,["checked-row-keys","max-height","loading","columns","data","pagination","row-key"]),t.$slots.addModal?(e.openBlock(),e.createElementBlock("div",re,[e.createVNode(r,{title:"新增",preset:"card",show:g.value,"onUpdate:show":o[1]||(o[1]=s=>g.value=s),"header-class":"bg-gray-50",closable:!1,"close-on-esc":!1,"mask-closable":!1,draggable:!0,style:e.normalizeStyle({width:`${c.modalWidth}px`})},{action:e.withCtx(()=>[e.createVNode(a,{justify:"end"},{default:e.withCtx(()=>[e.createVNode(e.unref(i.NButton),{type:"primary",loading:k.value,onClick:R},{default:e.withCtx(()=>[...o[6]||(o[6]=[e.createTextVNode("保存",-1)])]),_:1},8,["loading"]),e.createVNode(e.unref(i.NButton),{onClick:N},{default:e.withCtx(()=>[...o[7]||(o[7]=[e.createTextVNode("取消",-1)])]),_:1})]),_:1})]),default:e.withCtx(()=>[e.renderSlot(t.$slots,"addModal")]),_:3},8,["show","style"])])):e.createCommentVNode("",!0),t.$slots.editModal?(e.openBlock(),e.createElementBlock("div",ce,[e.createVNode(r,{title:"编辑",show:m.value,"onUpdate:show":o[2]||(o[2]=s=>m.value=s),preset:"card","header-class":"bg-gray-50",closable:!1,"close-on-esc":!1,"mask-closable":!1,draggable:!0,style:e.normalizeStyle({width:`${c.modalWidth}px`})},{action:e.withCtx(()=>[e.createVNode(a,{justify:"end"},{default:e.withCtx(()=>[e.createVNode(e.unref(i.NButton),{type:"primary",loading:k.value,onClick:R},{default:e.withCtx(()=>[...o[8]||(o[8]=[e.createTextVNode("保存",-1)])]),_:1},8,["loading"]),e.createVNode(e.unref(i.NButton),{onClick:N},{default:e.withCtx(()=>[...o[9]||(o[9]=[e.createTextVNode("取消",-1)])]),_:1})]),_:1})]),default:e.withCtx(()=>[e.renderSlot(t.$slots,"editModal")]),_:3},8,["show","style"])])):e.createCommentVNode("",!0)])]),_:3})}}});exports.default=ue;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("naive-ui"),e=require("vue"),u=require("@vicons/antd"),K={class:"text-lg font-medium"},X={id:"data-content"},Y={key:0,class:"rounded-lg bg-gray-50 flex flex-row gap-2 items-center justify-end p-4 mb-4"},G=e.defineComponent({__name:"PTable",props:{title:{},idField:{default:"id"},columns:{},onLoad:{},onDelete:{},onAdd:{},onEdit:{}},setup(y,{expose:S}){const N=e.ref(null),D=a.useDialog(),g=a.useMessage(),p=e.ref(!1),h=e.ref([]),m=e.ref([]),c=e.ref({page:1,itemCount:0,pageSize:10,pageSizes:[10,20,30,50],showSizePicker:!0,onChange:async t=>{c.value.page=t,await d()},onUpdatePageSize:async t=>{c.value.pageSize=t,await d()}}),i=y,B=t=>{const o=n=>{const l=[];return t&&t.forEach(r=>{r.key!=="edit"&&r.key!=="delete"&&l.push({label:r.name,key:r.key,icon:r.icon&&(()=>e.h(a.NIcon,null,{default:()=>e.h(r.icon)})),props:{onClick:()=>r.action(n)}})}),l};return{title:"操作",key:"actions",width:100,fixed:"right",render:n=>{let l=[];if(i.onEdit&&l.push({label:"编辑",key:"edit",icon:()=>e.h(a.NIcon,null,{default:()=>e.h(u.EditOutlined)}),props:{onClick:async()=>await i.onEdit(n)}}),i.onDelete&&l.push({label:"删除",key:"delete",icon:()=>e.h(a.NIcon,null,{default:()=>e.h(u.DeleteOutlined)}),props:{onClick:()=>R(n)}}),l=[...l,...o(n)],!(l.length<=0))return e.h(a.NDropdown,{options:l,placement:"bottom-start"},{default:()=>e.h(a.NButton,{size:"small",type:"primary"},{default:()=>["操作",e.h(a.NIcon,()=>e.h(u.MoreOutlined))]})})}}},O=e.computed(()=>{const t=i.columns.filter(n=>n.key!="action").map(n=>({title:n.title,key:n.key,width:n.width,fixed:n.fixed??!1,render:n.render,ellipsis:n.ellipsis?{tooltip:!0}:!1})),o=i.columns.reduce((n,l)=>l.key==="action"?l:n,void 0)?.action;return o&&o?.length>0||i.onEdit||i.onDelete?[{type:"selection",fixed:"left"},...t,B(o)]:[{type:"selection",fixed:"left"},...t]}),T=async()=>await d(),R=t=>x([t]),I=()=>{const t=k();x(t)},x=t=>{t&&t.length>0&&D.warning({title:"警告",content:"删除数据不可恢复, 确认删除吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:async()=>{if(i.onDelete)try{await i.onDelete(t)?(d(),g.success("删除成功")):g.error("删除失败")}catch(o){g.error(o.message)}}})},k=()=>h.value?m.value.filter(o=>h.value.includes(o.id)).map(o=>e.toRaw(o)):[],z=()=>k()[0],L=()=>e.toRaw(m.value),d=async()=>{if(!p.value){p.value=!0;try{if(i.onLoad){var{data:t,total:o}=await i.onLoad(c.value.page,c.value.pageSize);m.value=t,c.value.itemCount=o}}catch(n){g.error(n.message)}finally{p.value=!1}}},H=e.computed(()=>{const t=e.unref(N);if(!t)return;const o=t?.$el,n=o.querySelector(".n-data-table-thead "),{bottomIncludeBody:l}=$(n),r=48;let s=12,w=24;const f=o.querySelector(".n-data-table__pagination");if(f){const v=f.offsetHeight;s+=v||0}else s+=28;return l-(r+s+w)}),P=t=>!t||!t.getBoundingClientRect?0:t.getBoundingClientRect(),$=t=>{const o=document.documentElement,n=o.scrollLeft,l=o.scrollTop,r=o.clientLeft,s=o.clientTop,w=window.pageXOffset,f=window.pageYOffset,_=P(t),{left:v,top:q,width:M,height:A}=_,j=(w||n)-(r||0),U=(f||l)-(s||0),W=v+w,F=q+f,C=W-j,b=F-U,V=window.document.documentElement.clientWidth,E=window.document.documentElement.clientHeight;return{left:C,top:b,right:V-M-C,bottom:E-A-b,rightIncludeBody:V-C,bottomIncludeBody:E-b}};return e.onMounted(async()=>await d()),S({getData:L,getSelectedRow:z,getSelectedRows:k,refreshData:d,resetPage:()=>{c.value.page=1}}),(t,o)=>{const n=a.NTooltip,l=a.NSpace,r=a.NDataTable;return e.openBlock(),e.createBlock(e.unref(a.NCard),{bordered:!1},{header:e.withCtx(()=>[e.createVNode(l,{justify:"space-between",align:"center",class:"w-full"},{default:e.withCtx(()=>[e.createElementVNode("span",K,e.toDisplayString(y.title),1),e.createVNode(l,null,{default:e.withCtx(()=>[i.onAdd?(e.openBlock(),e.createBlock(n,{key:0,trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(a.NIcon),{size:"18",class:"mr-1 cursor-pointer hover:text-blue-600",onClick:i.onAdd},{default:e.withCtx(()=>[e.createVNode(e.unref(u.PlusSquareOutlined))]),_:1},8,["onClick"])]),default:e.withCtx(()=>[o[1]||(o[1]=e.createElementVNode("span",null,"新增",-1))]),_:1})):e.createCommentVNode("",!0),i.onDelete?(e.openBlock(),e.createBlock(n,{key:1,trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(a.NIcon),{size:"18",class:"mr-1 cursor-pointer hover:text-blue-600",onClick:I},{default:e.withCtx(()=>[e.createVNode(e.unref(u.DeleteOutlined))]),_:1})]),default:e.withCtx(()=>[o[2]||(o[2]=e.createElementVNode("span",null,"删除",-1))]),_:1})):e.createCommentVNode("",!0),e.createVNode(n,{trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(a.NIcon),{size:"18",class:"cursor-pointer hover:text-blue-600",onClick:T},{default:e.withCtx(()=>[e.createVNode(e.unref(u.ReloadOutlined))]),_:1})]),default:e.withCtx(()=>[o[3]||(o[3]=e.createElementVNode("span",null,"刷新",-1))]),_:1})]),_:1})]),_:1})]),default:e.withCtx(()=>[e.createElementVNode("div",X,[t.$slots.toolbar?(e.openBlock(),e.createElementBlock("div",Y,[e.renderSlot(t.$slots,"toolbar")])):e.createCommentVNode("",!0),e.createVNode(r,{remote:"",ref_key:"$table",ref:N,"checked-row-keys":h.value,"onUpdate:checkedRowKeys":o[0]||(o[0]=s=>h.value=s),"max-height":H.value,loading:p.value,bordered:!1,"single-line":!1,columns:O.value,data:m.value,pagination:c.value,"row-key":s=>s[y.idField]},null,8,["checked-row-keys","max-height","loading","columns","data","pagination","row-key"])])]),_:3})}}});exports.default=G;
@@ -4,16 +4,10 @@ export declare const PTablePlugin: {
4
4
  refreshData: () => Promise<void>;
5
5
  getData: <T>() => T[];
6
6
  getSelectedRows: <T>() => T[];
7
- closeModal: () => void;
8
7
  resetPage: () => void;
9
8
  getSelectedRow: <T>() => T;
10
9
  }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {
11
10
  idField: string;
12
- item: any;
13
- modalWidth: number;
14
- hiddenAdd: boolean;
15
- hiddenEdit: boolean;
16
- hiddenDelete: boolean;
17
11
  }, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
18
12
  $table: unknown;
19
13
  }, any, import('vue').ComponentProvideOptions, {
@@ -27,16 +21,10 @@ export declare const PTablePlugin: {
27
21
  refreshData: () => Promise<void>;
28
22
  getData: <T>() => T[];
29
23
  getSelectedRows: <T>() => T[];
30
- closeModal: () => void;
31
24
  resetPage: () => void;
32
25
  getSelectedRow: <T>() => T;
33
26
  }, {}, {}, {}, {
34
27
  idField: string;
35
- item: any;
36
- modalWidth: number;
37
- hiddenAdd: boolean;
38
- hiddenEdit: boolean;
39
- hiddenDelete: boolean;
40
28
  }>;
41
29
  __isFragment?: never;
42
30
  __isTeleport?: never;
@@ -45,20 +33,12 @@ export declare const PTablePlugin: {
45
33
  refreshData: () => Promise<void>;
46
34
  getData: <T>() => T[];
47
35
  getSelectedRows: <T>() => T[];
48
- closeModal: () => void;
49
36
  resetPage: () => void;
50
37
  getSelectedRow: <T>() => T;
51
38
  }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {
52
39
  idField: string;
53
- item: any;
54
- modalWidth: number;
55
- hiddenAdd: boolean;
56
- hiddenEdit: boolean;
57
- hiddenDelete: boolean;
58
40
  }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
59
41
  $slots: {
60
42
  toolbar?(_: {}): any;
61
- addModal?(_: {}): any;
62
- editModal?(_: {}): any;
63
43
  };
64
44
  }) & import('vue').Plugin;
@@ -1,8 +1,8 @@
1
- import { VNodeChild } from 'vue';
1
+ import { VNodeChild, Component } from 'vue';
2
2
  export type DataTableColumnActionDefine = {
3
3
  name: string;
4
4
  key: string;
5
- icon?: string;
5
+ icon?: Component;
6
6
  action: (row: any) => void;
7
7
  };
8
8
  export type DataTableColumnDefine = {
@@ -17,27 +17,19 @@ export type DataTableColumnDefine = {
17
17
  export type DataTableProps = {
18
18
  title?: string;
19
19
  idField?: string;
20
- item?: any;
21
20
  columns: DataTableColumnDefine[];
22
- modalWidth?: number;
23
- hiddenAdd?: boolean;
24
- hiddenEdit?: boolean;
25
- hiddenDelete?: boolean;
26
21
  onLoad: (page: number, pageSize: number) => Promise<{
27
22
  data: any[];
28
23
  total: number;
29
24
  }>;
30
- onGet?: (id: string | number) => Promise<any>;
31
- onOpenModal?: (item?: any) => void;
32
- onCloseModal?: (item?: any) => void;
33
- onSave?: (id?: string | number, row?: any) => Promise<boolean> | boolean;
34
- onDelete?: (rows: any[]) => Promise<boolean> | boolean;
25
+ onDelete?: (rows: any[]) => Promise<boolean>;
26
+ onAdd?: () => Promise<void>;
27
+ onEdit?: (row: any) => Promise<void>;
35
28
  };
36
29
  export type DataTableMethods = {
37
30
  refreshData: () => Promise<void>;
38
31
  getData: <T>() => T[];
39
32
  getSelectedRows: <T>() => T[];
40
- closeModal: () => void;
41
33
  resetPage: () => void;
42
34
  getSelectedRow: <T>() => T;
43
35
  };
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.29",
4
+ "version": "0.0.31",
5
5
  "license": "MIT",
6
6
  "type": "module",
7
7
  "sideEffects": false,
@@ -1,9 +0,0 @@
1
- const s = (e) => {
2
- Object.keys(e).forEach((r) => {
3
- const t = e[r];
4
- Array.isArray(t) ? e[r] = [] : t !== null && typeof t == "object" ? s(t) : e[r] = void 0;
5
- });
6
- };
7
- export {
8
- s as resetObject
9
- };
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=e=>{Object.keys(e).forEach(r=>{const t=e[r];Array.isArray(t)?e[r]=[]:t!==null&&typeof t=="object"?s(t):e[r]=void 0})};exports.resetObject=s;