@chewel611/naive-ui-plus 0.0.26 → 0.0.28
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 +833 -731
- package/dist/index.umd.cjs +1 -1
- package/dist/style.css +1 -1
- package/es/components.d.ts +1 -0
- package/es/components.js +15 -13
- package/es/index.js +21 -19
- package/es/layout/PLayout.css +1 -1
- package/es/layout/PLayout.vue.js +1 -1
- package/es/layout/PLayout.vue2.js +11 -9
- package/es/layout/store.d.ts +4 -1
- package/es/layout/store.js +8 -5
- package/es/page/PPage.d.ts +48 -0
- package/es/page/PPage.vue.js +87 -0
- package/es/page/PPage.vue2.js +4 -0
- package/es/page/index.d.ts +66 -0
- package/es/page/index.js +6 -0
- package/es/table/PTable.vue.js +151 -136
- package/es/table/typing.d.ts +1 -0
- package/lib/components.cjs +1 -1
- package/lib/components.d.ts +1 -0
- package/lib/index.cjs +1 -1
- package/lib/layout/PLayout.css +1 -1
- package/lib/layout/PLayout.vue.cjs +1 -1
- package/lib/layout/PLayout.vue2.cjs +1 -1
- package/lib/layout/store.cjs +1 -1
- package/lib/layout/store.d.ts +4 -1
- package/lib/page/PPage.d.ts +48 -0
- package/lib/page/PPage.vue.cjs +1 -0
- package/lib/page/PPage.vue2.cjs +1 -0
- package/lib/page/index.cjs +1 -0
- package/lib/page/index.d.ts +66 -0
- package/lib/table/PTable.vue.cjs +1 -1
- package/lib/table/typing.d.ts +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
declare function __VLS_template(): {
|
|
2
|
+
attrs: Partial<{}>;
|
|
3
|
+
slots: {
|
|
4
|
+
search?(_: {}): any;
|
|
5
|
+
default?(_: {}): any;
|
|
6
|
+
};
|
|
7
|
+
refs: {};
|
|
8
|
+
rootEl: HTMLDivElement;
|
|
9
|
+
};
|
|
10
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
11
|
+
declare const __VLS_component: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
12
|
+
icon: {
|
|
13
|
+
type: ObjectConstructor;
|
|
14
|
+
required: false;
|
|
15
|
+
default: () => import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
16
|
+
};
|
|
17
|
+
title: {
|
|
18
|
+
type: StringConstructor;
|
|
19
|
+
required: true;
|
|
20
|
+
};
|
|
21
|
+
subtitle: {
|
|
22
|
+
type: StringConstructor;
|
|
23
|
+
required: false;
|
|
24
|
+
};
|
|
25
|
+
}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
26
|
+
icon: {
|
|
27
|
+
type: ObjectConstructor;
|
|
28
|
+
required: false;
|
|
29
|
+
default: () => import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
30
|
+
};
|
|
31
|
+
title: {
|
|
32
|
+
type: StringConstructor;
|
|
33
|
+
required: true;
|
|
34
|
+
};
|
|
35
|
+
subtitle: {
|
|
36
|
+
type: StringConstructor;
|
|
37
|
+
required: false;
|
|
38
|
+
};
|
|
39
|
+
}>> & Readonly<{}>, {
|
|
40
|
+
icon: Record<string, any>;
|
|
41
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
|
|
42
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
43
|
+
export default _default;
|
|
44
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
45
|
+
new (): {
|
|
46
|
+
$slots: S;
|
|
47
|
+
};
|
|
48
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("naive-ui"),e=require("vue"),i=require("@vicons/antd"),d={class:"border border-gray-100 rounded-lg"},u={class:"text-xl font-semibold text-gray-800"},p={class:"text-sm text-gray-500 mt-1"},m=e.defineComponent({__name:"PPage",props:{icon:{type:Object,required:!1,default:()=>i.AlertOutlined},title:{type:String,required:!0},subtitle:{type:String,required:!1}},setup(l){const t=l;return(o,_)=>{const a=n.NIcon,s=n.NAvatar,c=n.NSpace,r=n.NCard;return e.openBlock(),e.createElementBlock("div",d,[t.title?(e.openBlock(),e.createBlock(r,{key:0,class:"mb-4",bordered:!1,"content-class":"py-4"},{default:e.withCtx(()=>[e.createVNode(c,{align:"center",justify:"space-between"},{default:e.withCtx(()=>[e.createVNode(c,{align:"center",size:16},{default:e.withCtx(()=>[t.icon?(e.openBlock(),e.createBlock(s,{key:0,size:48,class:"bg-linear-to-br from-blue-500 to-indigo-600"},{default:e.withCtx(()=>[e.createVNode(a,{size:24,component:t.icon,color:"#fff"},null,8,["component"])]),_:1})):e.createCommentVNode("",!0),e.createElementVNode("div",null,[e.createElementVNode("div",u,e.toDisplayString(t.title),1),e.createElementVNode("div",p,e.toDisplayString(t.subtitle??t.title+"主页"),1)])]),_:1})]),_:1})]),_:1})):e.createCommentVNode("",!0),o.$slots.search?(e.openBlock(),e.createBlock(r,{key:1,class:"mb-4",bordered:!1,"content-class":"py-4"},{default:e.withCtx(()=>[e.renderSlot(o.$slots,"search")]),_:3})):e.createCommentVNode("",!0),o.$slots.default?(e.openBlock(),e.createBlock(r,{key:2,bordered:!1,"content-class":"!py-0"},{default:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:3})):e.createCommentVNode("",!0)])}}});exports.default=m;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./PPage.vue.cjs");exports.default=e.default;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./PPage.vue.cjs"),t=require("../utils/install.cjs"),u=t.withInstall(e.default);exports.PPagePlugin=u;
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
export declare const PPagePlugin: {
|
|
2
|
+
new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
|
|
3
|
+
icon: {
|
|
4
|
+
type: ObjectConstructor;
|
|
5
|
+
required: false;
|
|
6
|
+
default: () => import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
7
|
+
};
|
|
8
|
+
title: {
|
|
9
|
+
type: StringConstructor;
|
|
10
|
+
required: true;
|
|
11
|
+
};
|
|
12
|
+
subtitle: {
|
|
13
|
+
type: StringConstructor;
|
|
14
|
+
required: false;
|
|
15
|
+
};
|
|
16
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {
|
|
17
|
+
icon: Record<string, any>;
|
|
18
|
+
}, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, HTMLDivElement, import('vue').ComponentProvideOptions, {
|
|
19
|
+
P: {};
|
|
20
|
+
B: {};
|
|
21
|
+
D: {};
|
|
22
|
+
C: {};
|
|
23
|
+
M: {};
|
|
24
|
+
Defaults: {};
|
|
25
|
+
}, Readonly<import('vue').ExtractPropTypes<{
|
|
26
|
+
icon: {
|
|
27
|
+
type: ObjectConstructor;
|
|
28
|
+
required: false;
|
|
29
|
+
default: () => import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
30
|
+
};
|
|
31
|
+
title: {
|
|
32
|
+
type: StringConstructor;
|
|
33
|
+
required: true;
|
|
34
|
+
};
|
|
35
|
+
subtitle: {
|
|
36
|
+
type: StringConstructor;
|
|
37
|
+
required: false;
|
|
38
|
+
};
|
|
39
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, {
|
|
40
|
+
icon: Record<string, any>;
|
|
41
|
+
}>;
|
|
42
|
+
__isFragment?: never;
|
|
43
|
+
__isTeleport?: never;
|
|
44
|
+
__isSuspense?: never;
|
|
45
|
+
} & import('vue').ComponentOptionsBase<Readonly<import('vue').ExtractPropTypes<{
|
|
46
|
+
icon: {
|
|
47
|
+
type: ObjectConstructor;
|
|
48
|
+
required: false;
|
|
49
|
+
default: () => import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
50
|
+
};
|
|
51
|
+
title: {
|
|
52
|
+
type: StringConstructor;
|
|
53
|
+
required: true;
|
|
54
|
+
};
|
|
55
|
+
subtitle: {
|
|
56
|
+
type: StringConstructor;
|
|
57
|
+
required: false;
|
|
58
|
+
};
|
|
59
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {
|
|
60
|
+
icon: Record<string, any>;
|
|
61
|
+
}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
|
|
62
|
+
$slots: {
|
|
63
|
+
search?(_: {}): any;
|
|
64
|
+
default?(_: {}): any;
|
|
65
|
+
};
|
|
66
|
+
}) & import('vue').Plugin;
|
package/lib/table/PTable.vue.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s=require("naive-ui"),e=require("vue"),b=require("@vicons/antd"),ne=require("../utils/helper.cjs"),ae=require("lodash"),se={id:"data-content"},
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s=require("naive-ui"),e=require("vue"),b=require("@vicons/antd"),ne=require("../utils/helper.cjs"),ae=require("lodash"),se={class:"text-lg font-medium"},ie={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=s.useDialog(),g=s.useMessage(),v=e.ref(!1),y=e.ref([]),C=e.ref([]),u=e.ref(null),p=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(s.NDropdown,{options:a,placement:"bottom-start"},{default:()=>e.h(s.NButton,{size:"small",type:"primary"},{default:()=>["操作",e.h(s.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(),g.success("删除成功")):g.error("删除失败")}catch(o){g.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,(p.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){g.error(t.message)}finally{k.value=!1}},T=async(t,o)=>{l.onOpenModal?.(t),await o?.(),t?(p.value=!1,m.value=!0):(m.value=!1,p.value=!0)},N=()=>{u.value=null,ne.resetObject(l.item),Object.assign(l.item,{...e.toRaw(M.value)}),l.onCloseModal?.(l.item),p.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){g.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,i=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+i)}),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,i=window.pageXOffset,w=window.pageYOffset,O=K(t),{left:V,top:J,width:Q,height:Z}=O,ee=(i||n)-(d||0),te=(w||a)-(r||0),oe=V+i,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=s.NTooltip,a=s.NSpace,d=s.NDataTable,r=s.NModal;return e.openBlock(),e.createBlock(e.unref(s.NCard),{bordered:!1,"content-class":"!p-0","header-class":"!px-0 !pt-0"},{header:e.withCtx(()=>[e.createVNode(a,{justify:"space-between",align:"center",class:"w-full"},{default:e.withCtx(()=>[e.createElementVNode("span",se,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(s.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(s.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(s.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",ie,[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]=i=>y.value=i),"max-height":G.value,loading:v.value,bordered:!1,"single-line":!1,columns:I.value,data:C.value,pagination:f.value,"row-key":i=>i[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:p.value,"onUpdate:show":o[1]||(o[1]=i=>p.value=i),"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(s.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(s.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]=i=>m.value=i),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(s.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(s.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;
|
package/lib/table/typing.d.ts
CHANGED