@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.
- package/dist/index.js +782 -900
- package/dist/index.umd.cjs +1 -1
- package/es/modal/PModal.d.ts +3 -1
- package/es/modal/PModal.vue.js +47 -43
- package/es/modal/index.d.ts +9 -3
- package/es/modal/typing.d.ts +3 -1
- package/es/table/PTable.d.ts +0 -8
- package/es/table/PTable.vue.js +149 -267
- package/es/table/index.d.ts +0 -20
- package/es/table/typing.d.ts +5 -13
- package/lib/modal/PModal.d.ts +3 -1
- package/lib/modal/PModal.vue.cjs +1 -1
- package/lib/modal/index.d.ts +9 -3
- package/lib/modal/typing.d.ts +3 -1
- package/lib/table/PTable.d.ts +0 -8
- package/lib/table/PTable.vue.cjs +1 -1
- package/lib/table/index.d.ts +0 -20
- package/lib/table/typing.d.ts +5 -13
- package/package.json +1 -1
- package/es/utils/helper.js +0 -9
- package/lib/utils/helper.cjs +0 -1
package/lib/modal/PModal.vue.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const
|
|
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;
|
package/lib/modal/index.d.ts
CHANGED
|
@@ -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;
|
package/lib/modal/typing.d.ts
CHANGED
package/lib/table/PTable.d.ts
CHANGED
|
@@ -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>;
|
package/lib/table/PTable.vue.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const
|
|
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;
|
package/lib/table/index.d.ts
CHANGED
|
@@ -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;
|
package/lib/table/typing.d.ts
CHANGED
|
@@ -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?:
|
|
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
|
-
|
|
31
|
-
|
|
32
|
-
|
|
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
package/es/utils/helper.js
DELETED
package/lib/utils/helper.cjs
DELETED
|
@@ -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;
|