@chewel611/naive-ui-plus 0.0.1
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/README.md +73 -0
- package/dist/index.js +1377 -0
- package/dist/index.umd.cjs +1 -0
- package/dist/style.css +1 -0
- package/es/_virtual/_plugin-vue_export-helper.js +9 -0
- package/es/application/PApplication.d.ts +23 -0
- package/es/application/PApplication.vue.js +53 -0
- package/es/application/PApplication.vue2.js +4 -0
- package/es/application/index.d.ts +33 -0
- package/es/application/index.js +6 -0
- package/es/components.d.ts +5 -0
- package/es/components.js +12 -0
- package/es/index.d.ts +9 -0
- package/es/index.js +24 -0
- package/es/languages/PLanguage.d.ts +2 -0
- package/es/languages/PLanguage.vue.js +69 -0
- package/es/languages/PLanguage.vue2.js +4 -0
- package/es/languages/index.d.ts +16 -0
- package/es/languages/index.js +7 -0
- package/es/languages/store.d.ts +137 -0
- package/es/languages/store.js +53 -0
- package/es/languages/typing.d.ts +14 -0
- package/es/layout/PLayout.css +1 -0
- package/es/layout/PLayout.d.ts +2 -0
- package/es/layout/PLayout.vue.js +7 -0
- package/es/layout/PLayout.vue2.js +80 -0
- package/es/layout/content/PContent.d.ts +7 -0
- package/es/layout/content/PContent.vue.js +27 -0
- package/es/layout/content/PContent.vue2.js +4 -0
- package/es/layout/content/PTabs.css +1 -0
- package/es/layout/content/PTabs.d.ts +5 -0
- package/es/layout/content/PTabs.vue.js +7 -0
- package/es/layout/content/PTabs.vue2.js +281 -0
- package/es/layout/header/PHeader.css +1 -0
- package/es/layout/header/PHeader.d.ts +2 -0
- package/es/layout/header/PHeader.vue.js +7 -0
- package/es/layout/header/PHeader.vue2.js +188 -0
- package/es/layout/index.d.ts +15 -0
- package/es/layout/index.js +6 -0
- package/es/layout/layout.d.ts +21002 -0
- package/es/layout/layout.js +74 -0
- package/es/layout/sider/PLogo.css +1 -0
- package/es/layout/sider/PLogo.d.ts +2 -0
- package/es/layout/sider/PLogo.vue.js +7 -0
- package/es/layout/sider/PLogo.vue2.js +23 -0
- package/es/layout/sider/PMenus.d.ts +2 -0
- package/es/layout/sider/PMenus.vue.js +90 -0
- package/es/layout/sider/PMenus.vue2.js +4 -0
- package/es/modal/PModal.d.ts +4173 -0
- package/es/modal/PModal.vue.js +106 -0
- package/es/modal/PModal.vue2.js +4 -0
- package/es/modal/index.d.ts +2116 -0
- package/es/modal/index.js +6 -0
- package/es/modal/typing.d.ts +12 -0
- package/es/table/PTable.d.ts +37 -0
- package/es/table/PTable.vue.js +384 -0
- package/es/table/PTable.vue2.js +4 -0
- package/es/table/index.d.ts +61 -0
- package/es/table/index.js +6 -0
- package/es/table/typing.d.ts +41 -0
- package/es/typing.d.ts +5 -0
- package/es/utils/install.d.ts +2 -0
- package/es/utils/install.js +9 -0
- package/es/utils/plus.d.ts +6 -0
- package/es/utils/resolver.d.ts +7 -0
- package/es/utils/storage.d.ts +7 -0
- package/lib/_virtual/_plugin-vue_export-helper.cjs +1 -0
- package/lib/application/PApplication.d.ts +23 -0
- package/lib/application/PApplication.vue.cjs +1 -0
- package/lib/application/PApplication.vue2.cjs +1 -0
- package/lib/application/index.cjs +1 -0
- package/lib/application/index.d.ts +33 -0
- package/lib/components.cjs +1 -0
- package/lib/components.d.ts +5 -0
- package/lib/index.cjs +1 -0
- package/lib/index.d.ts +9 -0
- package/lib/languages/PLanguage.d.ts +2 -0
- package/lib/languages/PLanguage.vue.cjs +1 -0
- package/lib/languages/PLanguage.vue2.cjs +1 -0
- package/lib/languages/index.cjs +1 -0
- package/lib/languages/index.d.ts +16 -0
- package/lib/languages/store.cjs +1 -0
- package/lib/languages/store.d.ts +137 -0
- package/lib/languages/typing.d.ts +14 -0
- package/lib/layout/PLayout.css +1 -0
- package/lib/layout/PLayout.d.ts +2 -0
- package/lib/layout/PLayout.vue.cjs +1 -0
- package/lib/layout/PLayout.vue2.cjs +1 -0
- package/lib/layout/content/PContent.d.ts +7 -0
- package/lib/layout/content/PContent.vue.cjs +1 -0
- package/lib/layout/content/PContent.vue2.cjs +1 -0
- package/lib/layout/content/PTabs.css +1 -0
- package/lib/layout/content/PTabs.d.ts +5 -0
- package/lib/layout/content/PTabs.vue.cjs +1 -0
- package/lib/layout/content/PTabs.vue2.cjs +1 -0
- package/lib/layout/header/PHeader.css +1 -0
- package/lib/layout/header/PHeader.d.ts +2 -0
- package/lib/layout/header/PHeader.vue.cjs +1 -0
- package/lib/layout/header/PHeader.vue2.cjs +1 -0
- package/lib/layout/index.cjs +1 -0
- package/lib/layout/index.d.ts +15 -0
- package/lib/layout/layout.cjs +1 -0
- package/lib/layout/layout.d.ts +21002 -0
- package/lib/layout/sider/PLogo.css +1 -0
- package/lib/layout/sider/PLogo.d.ts +2 -0
- package/lib/layout/sider/PLogo.vue.cjs +1 -0
- package/lib/layout/sider/PLogo.vue2.cjs +1 -0
- package/lib/layout/sider/PMenus.d.ts +2 -0
- package/lib/layout/sider/PMenus.vue.cjs +1 -0
- package/lib/layout/sider/PMenus.vue2.cjs +1 -0
- package/lib/modal/PModal.d.ts +4173 -0
- package/lib/modal/PModal.vue.cjs +1 -0
- package/lib/modal/PModal.vue2.cjs +1 -0
- package/lib/modal/index.cjs +1 -0
- package/lib/modal/index.d.ts +2116 -0
- package/lib/modal/typing.d.ts +12 -0
- package/lib/table/PTable.d.ts +37 -0
- package/lib/table/PTable.vue.cjs +1 -0
- package/lib/table/PTable.vue2.cjs +1 -0
- package/lib/table/index.cjs +1 -0
- package/lib/table/index.d.ts +61 -0
- package/lib/table/typing.d.ts +41 -0
- package/lib/typing.d.ts +5 -0
- package/lib/utils/install.cjs +1 -0
- package/lib/utils/install.d.ts +2 -0
- package/lib/utils/plus.d.ts +6 -0
- package/lib/utils/resolver.d.ts +7 -0
- package/lib/utils/storage.d.ts +7 -0
- package/package.json +103 -0
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export type PModalProps = {
|
|
2
|
+
saveBtnText?: string;
|
|
3
|
+
closable?: boolean;
|
|
4
|
+
preset?: "dialog" | "card";
|
|
5
|
+
title?: string;
|
|
6
|
+
onSave?: () => Promise<boolean> | boolean;
|
|
7
|
+
onClose?: () => Promise<boolean> | boolean;
|
|
8
|
+
};
|
|
9
|
+
export type PModalMethods = {
|
|
10
|
+
open: () => void;
|
|
11
|
+
close: () => void;
|
|
12
|
+
};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { DataTableProps } from './typing';
|
|
2
|
+
declare function __VLS_template(): {
|
|
3
|
+
attrs: Partial<{}>;
|
|
4
|
+
slots: {
|
|
5
|
+
toolbar?(_: {}): any;
|
|
6
|
+
addModal?(_: {}): any;
|
|
7
|
+
editModal?(_: {}): any;
|
|
8
|
+
};
|
|
9
|
+
refs: {
|
|
10
|
+
$table: unknown;
|
|
11
|
+
};
|
|
12
|
+
rootEl: any;
|
|
13
|
+
};
|
|
14
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
15
|
+
declare const __VLS_component: import('vue').DefineComponent<DataTableProps, {
|
|
16
|
+
refreshData: () => Promise<void>;
|
|
17
|
+
getData: <T>() => T[];
|
|
18
|
+
getSelectedRows: <T>() => T[];
|
|
19
|
+
closeModal: () => void;
|
|
20
|
+
resetPage: () => void;
|
|
21
|
+
getSelectedRow: <T>() => T;
|
|
22
|
+
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<DataTableProps> & Readonly<{}>, {
|
|
23
|
+
idField: string;
|
|
24
|
+
modalWidth: number;
|
|
25
|
+
hiddenAdd: boolean;
|
|
26
|
+
hiddenEdit: boolean;
|
|
27
|
+
hiddenDelete: boolean;
|
|
28
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
|
|
29
|
+
$table: unknown;
|
|
30
|
+
}, any>;
|
|
31
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
32
|
+
export default _default;
|
|
33
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
34
|
+
new (): {
|
|
35
|
+
$slots: S;
|
|
36
|
+
};
|
|
37
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("naive-ui"),e=require("vue"),N=require("@vicons/antd"),te={id:"data-content"},oe={key:0,class:"rounded-lg bg-gray-50 flex flex-row gap-2 items-center justify-end p-5 mb-5"},le={key:1},ne={key:2},ae=e.defineComponent({__name:"PTable",props:{idField:{default:"id"},item:{},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(R,{expose:$}){const S=e.ref(null),z=r.useDialog(),p=r.useMessage(),m=e.ref(!1),v=e.ref([]),w=e.ref([]),b=e.ref(null),u=e.ref(!1),h=e.ref(!1),y=e.ref(!1),c=e.ref({page:1,itemCount:0,pageSize:10,pageSizes:[10,20,30,50],showSizePicker:!0,onChange:async t=>{c.value.page=t,await f()},onUpdatePageSize:async t=>{c.value.pageSize=t,await f()}}),l=R,L=t=>{const o=n=>{const a=[];return t&&t.forEach(i=>{i.key!=="edit"&&i.key!=="delete"&&a.push({label:i.name,key:i.key,props:{onClick:()=>i.action(n)}})}),a};return{title:"操作",key:"actions",width:100,fixed:"left",render:n=>{let a=[];if(l.hiddenEdit||a.push({label:"编辑",key:"edit",props:{onClick:()=>q(n)}}),l.hiddenDelete||a.push({label:"删除",key:"delete",props:{onClick:()=>I(n)}}),a=[...a,...o(n)],!(a.length<=0))return e.h(r.NDropdown,{options:a,placement:"bottom-start"},{default:()=>e.h(r.NButton,{size:"small",type:"primary"},{default:()=>["操作",e.h(r.NIcon,()=>e.h(N.MoreOutlined))]})})}}},H=e.computed(()=>{const t=l.columns.filter(n=>n.key!="action").map(n=>({title:n.title,key:n.key,width:n.width,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,L(o)]:[{type:"selection",fixed:"left"},...t]}),M=async()=>{await f()},I=t=>{E([t])},F=()=>{const t=V();E(t)},E=t=>{t&&t.length>0&&z.warning({title:"警告",content:"删除数据不可恢复, 确认删除吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:async()=>{if(l.onDelete)try{await l.onDelete(t)?(f(),p.success("删除成功")):p.error("删除失败")}catch(o){console.error(o),p.error("删除异常,详情F12请查看控制台日志")}}})},P=()=>{if(l.onOpenModal){l.onOpenModal();return}h.value=!1,u.value=!0},q=async t=>{if(l.onOpenModal){l.onOpenModal(t);return}l.onGet&&(t=await l.onGet(t[l.idField])),b.value=t,Object.assign(l.item,t),u.value=!1,h.value=!0},O=async()=>{if(l.onSave)try{y.value=!0,(u.value?await l.onSave():await l.onSave(b.value[l.idField]))&&(k(),await f())}catch(t){console.error(t),p.error("操作失败, 详情F12请查看控制台日志")}finally{y.value=!1}},k=()=>{l.onCloseModal&&l.onCloseModal(),Object.keys(l.item).forEach(t=>l.item[t]=void 0),b.value=null,u.value=!1,h.value=!1},V=()=>v.value?w.value.filter(o=>v.value.includes(o.id)).map(o=>e.toRaw(o)):[],W=()=>V()[0],A=()=>e.toRaw(w.value),f=async()=>{if(!m.value){m.value=!0;try{if(l.onLoad){var{data:t,total:o}=await l.onLoad(c.value.page,c.value.pageSize);w.value=t,c.value.itemCount=o}}catch(n){console.error(n),p.error("获取数据失败, 详情F12请查看控制台日志")}finally{m.value=!1}}},U=e.computed(()=>{const t=e.unref(S);if(!t)return;const o=t?.$el,n=o.querySelector(".n-data-table-thead "),{bottomIncludeBody:a}=G(n),i=64;let d=2,s=24;const g=o.querySelector(".n-data-table__pagination");if(g){const _=g.offsetHeight;d+=_||0}else d+=28;let C=a-(i+d+s);return console.log("height",C),C}),j=t=>!t||!t.getBoundingClientRect?0:t.getBoundingClientRect(),G=t=>{const o=document.documentElement,n=o.scrollLeft,a=o.scrollTop,i=o.clientLeft,d=o.clientTop,s=window.pageXOffset,g=window.pageYOffset,C=j(t),{left:_,top:K,width:X,height:Y}=C,J=(s||n)-(i||0),Q=(g||a)-(d||0),Z=_+s,ee=K+g,x=Z-J,B=ee-Q,T=window.document.documentElement.clientWidth,D=window.document.documentElement.clientHeight;return{left:x,top:B,right:T-X-x,bottom:D-Y-B,rightIncludeBody:T-x,bottomIncludeBody:D-B}};return e.onMounted(async()=>await M()),$({getData:A,getSelectedRow:W,getSelectedRows:V,closeModal:k,refreshData:f,resetPage:()=>{c.value.page=1}}),(t,o)=>{const n=r.NTooltip,a=r.NDataTable,i=r.NSpace,d=r.NModal;return e.openBlock(),e.createBlock(e.unref(r.NCard),{title:" ","header-class":"p-4","content-class":"pl-4 pr-4",bordered:!1},{"header-extra":e.withCtx(()=>[t.hiddenAdd?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(n,{key:0,trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(r.NIcon),{size:"18",class:"mr-1 cursor-pointer hover:text-blue-600",onClick:P},{default:e.withCtx(()=>[e.createVNode(e.unref(N.PlusSquareOutlined))]),_:1})]),default:e.withCtx(()=>[o[3]||(o[3]=e.createElementVNode("span",null,"新增",-1))]),_:1,__:[3]})),t.hiddenDelete?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(n,{key:1,trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(r.NIcon),{size:"18",class:"mr-1 cursor-pointer hover:text-blue-600",onClick:F},{default:e.withCtx(()=>[e.createVNode(e.unref(N.DeleteOutlined))]),_:1})]),default:e.withCtx(()=>[o[4]||(o[4]=e.createElementVNode("span",null,"删除",-1))]),_:1,__:[4]})),e.createVNode(n,{trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(r.NIcon),{size:"18",class:"cursor-pointer hover:text-blue-600",onClick:M},{default:e.withCtx(()=>[e.createVNode(e.unref(N.ReloadOutlined))]),_:1})]),default:e.withCtx(()=>[o[5]||(o[5]=e.createElementVNode("span",null,"刷新",-1))]),_:1,__:[5]})]),default:e.withCtx(()=>[e.createElementVNode("div",te,[t.$slots.toolbar?(e.openBlock(),e.createElementBlock("div",oe,[e.renderSlot(t.$slots,"toolbar")])):e.createCommentVNode("",!0),e.createVNode(a,{remote:"",ref_key:"$table",ref:S,"checked-row-keys":v.value,"onUpdate:checkedRowKeys":o[0]||(o[0]=s=>v.value=s),"max-height":U.value,loading:m.value,bordered:!1,"single-line":!1,columns:H.value,data:w.value,pagination:c.value,"row-key":s=>s[t.idField]},null,8,["checked-row-keys","max-height","loading","columns","data","pagination","row-key"]),t.$slots.addModal?(e.openBlock(),e.createElementBlock("div",le,[e.createVNode(d,{title:"新增",preset:"dialog",show:u.value,"onUpdate:show":o[1]||(o[1]=s=>u.value=s),closable:!1,"close-on-esc":!1,"mask-closable":!1,style:e.normalizeStyle({width:`${t.modalWidth}px`})},{action:e.withCtx(()=>[e.createVNode(i,null,{default:e.withCtx(()=>[e.createVNode(e.unref(r.NButton),{type:"primary",loading:y.value,onClick:O},{default:e.withCtx(()=>o[6]||(o[6]=[e.createTextVNode("保存",-1)])),_:1,__:[6]},8,["loading"]),e.createVNode(e.unref(r.NButton),{onClick:k},{default:e.withCtx(()=>o[7]||(o[7]=[e.createTextVNode("取消",-1)])),_:1,__:[7]})]),_:1})]),default:e.withCtx(()=>[e.renderSlot(t.$slots,"addModal")]),_:3},8,["show","style"])])):e.createCommentVNode("",!0),t.$slots.editModal?(e.openBlock(),e.createElementBlock("div",ne,[e.createVNode(d,{title:"编辑",show:h.value,"onUpdate:show":o[2]||(o[2]=s=>h.value=s),preset:"dialog",closable:!1,"close-on-esc":!1,"mask-closable":!1,style:e.normalizeStyle({width:`${t.modalWidth}px`})},{action:e.withCtx(()=>[e.createVNode(i,null,{default:e.withCtx(()=>[e.createVNode(e.unref(r.NButton),{type:"primary",loading:y.value,onClick:O},{default:e.withCtx(()=>o[8]||(o[8]=[e.createTextVNode("保存",-1)])),_:1,__:[8]},8,["loading"]),e.createVNode(e.unref(r.NButton),{onClick:k},{default:e.withCtx(()=>o[9]||(o[9]=[e.createTextVNode("取消",-1)])),_:1,__:[9]})]),_:1})]),default:e.withCtx(()=>[e.renderSlot(t.$slots,"editModal")]),_:3},8,["show","style"])])):e.createCommentVNode("",!0)])]),_:3})}}});exports.default=ae;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./PTable.vue.cjs");exports.default=e.default;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./PTable.vue.cjs"),t=require("../utils/install.cjs"),u=t.withInstall(e.default);exports.default=u;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('./typing').DataTableProps> & Readonly<{}>, {
|
|
3
|
+
refreshData: () => Promise<void>;
|
|
4
|
+
getData: <T>() => T[];
|
|
5
|
+
getSelectedRows: <T>() => T[];
|
|
6
|
+
closeModal: () => void;
|
|
7
|
+
resetPage: () => void;
|
|
8
|
+
getSelectedRow: <T>() => T;
|
|
9
|
+
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {
|
|
10
|
+
idField: string;
|
|
11
|
+
modalWidth: number;
|
|
12
|
+
hiddenAdd: boolean;
|
|
13
|
+
hiddenEdit: boolean;
|
|
14
|
+
hiddenDelete: boolean;
|
|
15
|
+
}, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
|
|
16
|
+
$table: unknown;
|
|
17
|
+
}, any, import('vue').ComponentProvideOptions, {
|
|
18
|
+
P: {};
|
|
19
|
+
B: {};
|
|
20
|
+
D: {};
|
|
21
|
+
C: {};
|
|
22
|
+
M: {};
|
|
23
|
+
Defaults: {};
|
|
24
|
+
}, Readonly<import('./typing').DataTableProps> & Readonly<{}>, {
|
|
25
|
+
refreshData: () => Promise<void>;
|
|
26
|
+
getData: <T>() => T[];
|
|
27
|
+
getSelectedRows: <T>() => T[];
|
|
28
|
+
closeModal: () => void;
|
|
29
|
+
resetPage: () => void;
|
|
30
|
+
getSelectedRow: <T>() => T;
|
|
31
|
+
}, {}, {}, {}, {
|
|
32
|
+
idField: string;
|
|
33
|
+
modalWidth: number;
|
|
34
|
+
hiddenAdd: boolean;
|
|
35
|
+
hiddenEdit: boolean;
|
|
36
|
+
hiddenDelete: boolean;
|
|
37
|
+
}>;
|
|
38
|
+
__isFragment?: never;
|
|
39
|
+
__isTeleport?: never;
|
|
40
|
+
__isSuspense?: never;
|
|
41
|
+
} & import('vue').ComponentOptionsBase<Readonly<import('./typing').DataTableProps> & Readonly<{}>, {
|
|
42
|
+
refreshData: () => Promise<void>;
|
|
43
|
+
getData: <T>() => T[];
|
|
44
|
+
getSelectedRows: <T>() => T[];
|
|
45
|
+
closeModal: () => void;
|
|
46
|
+
resetPage: () => void;
|
|
47
|
+
getSelectedRow: <T>() => T;
|
|
48
|
+
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {
|
|
49
|
+
idField: string;
|
|
50
|
+
modalWidth: number;
|
|
51
|
+
hiddenAdd: boolean;
|
|
52
|
+
hiddenEdit: boolean;
|
|
53
|
+
hiddenDelete: boolean;
|
|
54
|
+
}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
|
|
55
|
+
$slots: {
|
|
56
|
+
toolbar?(_: {}): any;
|
|
57
|
+
addModal?(_: {}): any;
|
|
58
|
+
editModal?(_: {}): any;
|
|
59
|
+
};
|
|
60
|
+
}) & import('vue').Plugin;
|
|
61
|
+
export default _default;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { VNodeChild } from 'vue';
|
|
2
|
+
export interface DataTableColumnActionDefine {
|
|
3
|
+
name: string;
|
|
4
|
+
key: string;
|
|
5
|
+
icon?: string;
|
|
6
|
+
action: (row: any) => void;
|
|
7
|
+
}
|
|
8
|
+
export interface DataTableColumnDefine {
|
|
9
|
+
title: string;
|
|
10
|
+
key: string;
|
|
11
|
+
width?: number;
|
|
12
|
+
ellipsis?: boolean;
|
|
13
|
+
action?: DataTableColumnActionDefine[];
|
|
14
|
+
render?: (data: any, index: number) => VNodeChild;
|
|
15
|
+
}
|
|
16
|
+
export interface DataTableProps {
|
|
17
|
+
idField?: string;
|
|
18
|
+
item: any;
|
|
19
|
+
columns: DataTableColumnDefine[];
|
|
20
|
+
modalWidth?: number;
|
|
21
|
+
hiddenAdd?: boolean;
|
|
22
|
+
hiddenEdit?: boolean;
|
|
23
|
+
hiddenDelete?: boolean;
|
|
24
|
+
onLoad: (page: number, pageSize: number) => Promise<{
|
|
25
|
+
data: any[];
|
|
26
|
+
total: number;
|
|
27
|
+
}>;
|
|
28
|
+
onGet?: (id: string | number) => Promise<any>;
|
|
29
|
+
onOpenModal?: (item?: any) => void;
|
|
30
|
+
onCloseModal?: (item?: any) => void;
|
|
31
|
+
onSave?: (id?: string | number) => Promise<boolean> | boolean;
|
|
32
|
+
onDelete?: (rows: any[]) => Promise<boolean> | boolean;
|
|
33
|
+
}
|
|
34
|
+
export interface DataTableMethods {
|
|
35
|
+
refreshData: () => Promise<void>;
|
|
36
|
+
getData: <T>() => T[];
|
|
37
|
+
getSelectedRows: <T>() => T[];
|
|
38
|
+
closeModal: () => void;
|
|
39
|
+
resetPage: () => void;
|
|
40
|
+
getSelectedRow: <T>() => T;
|
|
41
|
+
}
|
package/lib/typing.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=t=>{const n=t;return n.install=function(e){e.component(n.__name,t)},t};exports.withInstall=l;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ExtractPropTypes, InjectionKey } from 'vue';
|
|
2
|
+
export type RemoveReadonly<T> = {
|
|
3
|
+
-readonly [key in keyof T]: T[key];
|
|
4
|
+
};
|
|
5
|
+
export type ExtractPublicPropTypes<T> = Partial<RemoveReadonly<ExtractPropTypes<T>>>;
|
|
6
|
+
export declare const createInjectionKey: <T>(key: string) => InjectionKey<T>;
|
package/package.json
ADDED
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@chewel611/naive-ui-plus",
|
|
3
|
+
"private": false,
|
|
4
|
+
"version": "0.0.1",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"sideEffects": false,
|
|
8
|
+
"main": "lib/index.cjs",
|
|
9
|
+
"module": "es/index.js",
|
|
10
|
+
"types": "es/index.d.ts",
|
|
11
|
+
"exports": {
|
|
12
|
+
".": {
|
|
13
|
+
"types": "./es/index.d.ts",
|
|
14
|
+
"import": "./es/index.js",
|
|
15
|
+
"require": "./lib/index.cjs"
|
|
16
|
+
},
|
|
17
|
+
"./css": "./dist/style.css",
|
|
18
|
+
"./*": "./*"
|
|
19
|
+
},
|
|
20
|
+
"scripts": {
|
|
21
|
+
"dev": "vite",
|
|
22
|
+
"pub": "sh scripts/publish.sh",
|
|
23
|
+
"build": "run-s format clean build:components",
|
|
24
|
+
"format": "prettier --write src/ components/",
|
|
25
|
+
"clean": "rimraf dist es lib",
|
|
26
|
+
"build:components": "run-p type-check build:dist build-only",
|
|
27
|
+
"type-check": "vue-tsc --build --force",
|
|
28
|
+
"build:dist": "vite build -- dir=dist",
|
|
29
|
+
"build-only": "vite build",
|
|
30
|
+
"preview": "vite preview",
|
|
31
|
+
"lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore"
|
|
32
|
+
},
|
|
33
|
+
"peerDependency": {
|
|
34
|
+
"@tailwindcss/vite": "^4.1.11",
|
|
35
|
+
"@vicons/antd": "^0.13.0",
|
|
36
|
+
"pinia": "^3.0.3",
|
|
37
|
+
"less": "^4.4.0",
|
|
38
|
+
"less-loader": "^12.3.0",
|
|
39
|
+
"vue-router": "^4.5.1"
|
|
40
|
+
},
|
|
41
|
+
"dependencies": {
|
|
42
|
+
"@chewel/naive-ui-plus": "^0.0.64",
|
|
43
|
+
"@vicons/antd": "^0.13.0",
|
|
44
|
+
"element-resize-detector": "^1.2.4",
|
|
45
|
+
"i18n-jsautotranslate": "^3.18.98",
|
|
46
|
+
"less": "^4.4.0",
|
|
47
|
+
"less-loader": "^12.3.0",
|
|
48
|
+
"pinia": "^3.0.3",
|
|
49
|
+
"vuedraggable": "^4.1.0"
|
|
50
|
+
},
|
|
51
|
+
"devDependencies": {
|
|
52
|
+
"@tailwindcss/vite": "^4.1.11",
|
|
53
|
+
"@types/element-resize-detector": "^1.1.6",
|
|
54
|
+
"@types/minimist": "^1.2.5",
|
|
55
|
+
"@types/node": "^24.1.0",
|
|
56
|
+
"@vicons/antd": "^0.13.0",
|
|
57
|
+
"@vitejs/plugin-vue": "^6.0.0",
|
|
58
|
+
"@vue/tsconfig": "^0.7.0",
|
|
59
|
+
"less": "^4.4.0",
|
|
60
|
+
"less-loader": "^12.3.0",
|
|
61
|
+
"minimist": "^1.2.8",
|
|
62
|
+
"naive-ui": "^2.42.0",
|
|
63
|
+
"npm-run-all2": "^8.0.4",
|
|
64
|
+
"pinia": "^3.0.3",
|
|
65
|
+
"prettier": "^3.6.2",
|
|
66
|
+
"rimraf": "^6.0.1",
|
|
67
|
+
"rollup": "^4.46.2",
|
|
68
|
+
"tailwindcss": "^4.1.11",
|
|
69
|
+
"typescript": "~5.8.3",
|
|
70
|
+
"unplugin-vue-components": "^28.8.0",
|
|
71
|
+
"vite": "^7.0.4",
|
|
72
|
+
"vite-plugin-dts": "^4.5.4",
|
|
73
|
+
"vite-plugin-vue-devtools": "^8.0.0",
|
|
74
|
+
"vue": "^3.5.17",
|
|
75
|
+
"vue-router": "^4.5.1",
|
|
76
|
+
"vue-tsc": "^2.2.12"
|
|
77
|
+
},
|
|
78
|
+
"homepage": "https://gitee.com/chewel/naive-ui-plus",
|
|
79
|
+
"repository": {
|
|
80
|
+
"type": "git",
|
|
81
|
+
"url": "https://gitee.com/chewel/naive-ui-plus.git"
|
|
82
|
+
},
|
|
83
|
+
"files": [
|
|
84
|
+
"dist",
|
|
85
|
+
"es",
|
|
86
|
+
"lib",
|
|
87
|
+
"package.json",
|
|
88
|
+
"README.md",
|
|
89
|
+
"README.zh-CN.md"
|
|
90
|
+
],
|
|
91
|
+
"keywords": [
|
|
92
|
+
"naive-ui",
|
|
93
|
+
"naive-ui-plus",
|
|
94
|
+
"component library",
|
|
95
|
+
"ui framework",
|
|
96
|
+
"ui",
|
|
97
|
+
"vue"
|
|
98
|
+
],
|
|
99
|
+
"publishConfig": {
|
|
100
|
+
"access": "public",
|
|
101
|
+
"registry": "https://registry.npmjs.org/"
|
|
102
|
+
}
|
|
103
|
+
}
|