@duxweb/dvha-pro 1.0.21 → 1.0.22
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/cjs/components/card/card.cjs +1 -1
- package/dist/cjs/components/code/code.cjs +1 -1
- package/dist/cjs/components/form/formItem.cjs +1 -1
- package/dist/cjs/components/form/formLayout.cjs +1 -1
- package/dist/cjs/components/media/media.cjs +1 -1
- package/dist/cjs/components/panel/setting.cjs +1 -1
- package/dist/cjs/components/status/listEmpty.cjs +1 -1
- package/dist/cjs/components/table/table.cjs +1 -1
- package/dist/cjs/components/table/tablePage.cjs +1 -1
- package/dist/cjs/components/tree/treeFilter.cjs +1 -1
- package/dist/cjs/theme/uno.css.cjs +3 -2
- package/dist/esm/components/card/card.js +1 -1
- package/dist/esm/components/code/code.js +6 -6
- package/dist/esm/components/form/formItem.js +46 -30
- package/dist/esm/components/form/formLayout.js +12 -7
- package/dist/esm/components/media/media.js +4 -4
- package/dist/esm/components/panel/setting.js +1 -1
- package/dist/esm/components/status/listEmpty.js +8 -6
- package/dist/esm/components/table/table.js +24 -23
- package/dist/esm/components/table/tablePage.js +16 -15
- package/dist/esm/components/tree/treeFilter.js +2 -1
- package/dist/esm/theme/uno.css.js +3 -2
- package/dist/types/components/form/formItem.d.ts +17 -1
- package/dist/types/components/form/formLayout.d.ts +9 -0
- package/dist/types/components/form/modalForm.d.ts +9 -0
- package/dist/types/hooks/table/media.d.ts +1 -1
- package/dist/types/main.d.ts +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("vue"),v=d.defineComponent({name:"DuxCard",props:{size:{type:String,default:"none"},headerSize:{type:String,default:"medium"},footerSize:{type:String,default:"medium"},contentSize:{type:String,default:"medium"},divide:{type:Boolean,default:!1},headerClass:{type:String,default:""},footerClass:{type:String,default:""},contentClass:{type:String,default:""},title:{type:String,default:""},description:{type:String,default:""},bordered:{type:Boolean,default:!1},shadow:{type:Boolean,default:!0},headerBordered:{type:Boolean,default:!1},footerBordered:{type:Boolean,default:!1},type:{type:String,default:"default"}},setup(e,{slots:t}){const r=a=>{switch(a){case"small":return"px-3 py-2";case"large":return"px-6 py-5";case"medium":return"px-4 py-3";case"none":default:return""}},
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("vue"),v=d.defineComponent({name:"DuxCard",props:{size:{type:String,default:"none"},headerSize:{type:String,default:"medium"},footerSize:{type:String,default:"medium"},contentSize:{type:String,default:"medium"},divide:{type:Boolean,default:!1},headerClass:{type:String,default:""},footerClass:{type:String,default:""},contentClass:{type:String,default:""},title:{type:String,default:""},description:{type:String,default:""},bordered:{type:Boolean,default:!1},shadow:{type:Boolean,default:!0},headerBordered:{type:Boolean,default:!1},footerBordered:{type:Boolean,default:!1},type:{type:String,default:"default"}},setup(e,{slots:t}){const r=a=>{switch(a){case"small":return"px-3 py-2";case"large":return"px-6 py-5";case"medium":return"px-4 py-3";case"none":default:return""}},c=d.computed(()=>r(e.size)),i=d.computed(()=>r(e.headerSize)),o=d.computed(()=>r(e.footerSize)),f=d.computed(()=>r(e.contentSize)),m=d.computed(()=>{switch(e.type){case"elevated":return"bg-elevated";case"inverted":return"bg-inverted";default:return"bg-default dark:bg-muted"}});return()=>{var a,u,n,l;return d.createVNode("div",{class:["rounded flex flex-col dark:border dark:border-muted",e.divide&&"divide-y divide-muted",e.shadow&&"shadow-xs",e.bordered&&"border border-muted",m.value,c.value]},[t.header&&d.createVNode("div",{class:[i.value,e.headerClass,e.headerBordered||e.divide?"border-b border-muted":"pb-0"]},[(a=t.header)==null?void 0:a.call(t)]),e.title&&d.createVNode("div",{class:["flex justify-between items-center",i.value,e.headerBordered||e.divide?"border-b border-muted":"pb-0",e.headerClass]},[d.createVNode("div",{class:"flex flex-col"},[d.createVNode("div",{class:"text-base"},[e.title]),e.description&&d.createVNode("div",{class:"text-sm text-muted"},[e.description])]),(u=t.headerExtra)==null?void 0:u.call(t)]),d.createVNode("div",{class:["flex-1 min-h-0",(e.title||t.header||t.footer)&&f.value,e.contentClass]},[(n=t.default)==null?void 0:n.call(t)]),t.footer&&d.createVNode("div",{class:[o.value,e.footerClass,e.footerBordered&&"border-t border-muted"]},[(l=t.footer)==null?void 0:l.call(t)])])}}});exports.DuxCard=v;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("vue"),l=require("@
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("vue"),l=require("@duxweb/dvha-core"),d=require("@vueuse/core"),i=require("vue3-ace-editor");require("ace-builds/src-noconflict/mode-vue");require("ace-builds/src-noconflict/mode-javascript");require("ace-builds/src-noconflict/mode-html");require("ace-builds/src-noconflict/mode-json");require("ace-builds/src-noconflict/mode-json5");require("ace-builds/src-noconflict/theme-tomorrow_night");require("ace-builds/src-noconflict/theme-tomorrow");require("ace-builds/src-noconflict/ext-searchbox");require("ace-builds/src-noconflict/ext-language_tools");require("ace-builds/src-noconflict/mode-snippets");const n=r.defineComponent({name:"DuxCodeEditor",props:{defaultValue:{type:String,default:""},value:{type:String,default:""},lang:{type:String,default:"json"},readonly:Boolean},setup(e,{emit:t}){const u=d.useVModel(e,"value",t,{passive:!0,defaultValue:e.defaultValue||""}),o=l.useTheme();return()=>r.createVNode("div",{class:"border border-muted"},[r.createVNode(i.VAceEditor,{readonly:e.readonly,theme:o.isDark.value?"tomorrow_night":"tomorrow",value:u.value,"onUpdate:value":a=>u.value=a,lang:e.lang||"json",class:"h-60"},null)])}});exports.DuxCodeEditor=n;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("vue"),x=require("@vueuse/core"),b=require("vee-validate"),y=t.defineComponent({name:"DuxFormItem",props:{label:String,description:[String,Object],path:String,labelPlacement:{type:String},labelAlign:{type:String},labelWidth:{type:Number},required:{type:Boolean,default:!1},rule:[String,Object],message:[String,Object]},setup(e,{slots:a}){const n=t.toRef(e.message),c=t.computed(()=>{var l;return typeof e.rule=="object"?{...e.rule,required:!!e.required}:typeof e.rule=="string"?(l=e.rule)!=null&&l.includes("required")?e.rule:`${e.rule}|required`:e.rule}),{errorMessage:d,value:f,setErrors:o,validate:m}=b.useField(e.path||"",c.value||{},{label:e.label}),s=t.computed(()=>e.required?!0:e.rule?typeof e.rule=="string"?e.rule.includes("required"):typeof e.rule=="object"?"required"in e.rule:!1:!1),i=t.computed(()=>d.value&&(n.value||d.value));t.watch(i,l=>{l&&o(l)},{immediate:!0}),x.watchThrottled(f,l=>{l&&m()},{throttle:300,deep:!0});const u=t.inject("dux.form",{labelPlacement:"left",labelAlign:"left",labelWidth:70,divider:!1}),r=t.computed(()=>e.labelPlacement||u.labelPlacement),v=t.computed(()=>{let l=e.labelWidth||u.labelWidth||70;return typeof l=="number"&&(l=`${l}px`),r.value!=="left"?"auto":l}),g=t.computed(()=>u.divider||r.value==="page");return()=>{var l;return t.createVNode("div",{class:[r.value!=="top"?"md:flex-row gap-2 lg:items-center":"gap-1",g.value?"py-6":"",r.value==="setting"?"md:justify-between md:items-start md:gap-4":"",r.value==="page"?"grid grid-cols-1 lg:grid-cols-4 px-4":"flex flex-col"]},[t.createVNode("div",{class:[r.value==="left"?"flex lg:items-center":"",r.value==="left"&&u.labelAlign==="right"?"justify-end":""],style:{width:v.value}},[t.createVNode("div",{class:"flex flex-col"},[t.createVNode("div",null,[t.createVNode("span",{class:"relative flex items-center gap-1"},[e.label,s.value&&t.createVNode("span",{class:"text-error font-mono text-xs"},[t.createTextVNode("*")])])]),e.description&&(r.value==="setting"||r.value==="page")&&t.createVNode("div",{class:"text-sm text-muted"},[e.description])])]),t.createVNode("div",{class:["flex flex-col gap-1",r.value!=="left"?"md:mt-1":"",r.value==="setting"?"flex-none md:w-40%":"flex-1",r.value==="page"?"col-span-3":""]},[t.createVNode("div",{class:r.value==="setting"?"flex-1 lg:flex lg:justify-end":""},[(l=a==null?void 0:a.default)==null?void 0:l.call(a)]),e.description&&r.value==="left"&&t.createVNode("div",{class:"text-sm text-muted"},[e.description]),i.value&&t.createVNode("div",{class:"text-error"},[i.value])])])}}});exports.DuxFormItem=y;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("vue"),t=a.defineComponent({name:"DuxFormLayout",props:{labelPlacement:{type:String,default:"left"},labelAlign:{type:String,default:"left"},labelWidth:{type:Number},inline:{type:Boolean,default:!1},divider:{type:Boolean,default:!1}},setup(e,{slots:l}){return a.provide("dux.form",{labelPlacement:e.labelPlacement,labelAlign:e.labelAlign,labelWidth:e.labelWidth,divider:e.divider}),()=>{var i;return a.createVNode("div",{class:["flex ",e.divider||e.labelPlacement==="page"?" divide-y divide-default dark:divide-gray-800":"",e.inline?"flex-row":"flex-col",e.labelPlacement==="page"||e.labelPlacement==="setting"?"container mx-auto":"gap-4"]},[(i=l==null?void 0:l.default)==null?void 0:i.call(l)])}}});exports.DuxFormLayout=t;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("vue"),y=require("clsx"),N=require("naive-ui"),V=require("../widget/avatar.cjs"),h=require("../widget/image.cjs");function b(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!t.isVNode(e)}const S=t.defineComponent({name:"DuxMedia",props:{title:String,avatar:Boolean,image:[String,Array],desc:[String,Array],extend:String,onClick:Function,imageWidth:{type:Number,default:48},imageHeight:{type:Number,default:48}},setup(e,{slots:a}){const c=t.computed(()=>Array.isArray(e.image)?e.image:e.image?[e.image]:[]),n=t.computed(()=>Array.isArray(e.desc)?e.desc:e.desc?[e.desc]:[]);return()=>{var u,g,m,x,f,v,l;let d;return t.createVNode("div",{class:"flex gap-2 items-center"},[(a==null?void 0:a.image)&&t.createVNode("div",{class:"flex-none flex items-center gap-2"},[(u=a==null?void 0:a.image)==null?void 0:u.call(a)]),(c==null?void 0:c.value.length)>0&&t.createVNode("div",{class:"flex-none flex items-center gap-2"},[e.avatar?t.createVNode(t.Fragment,null,[c.value.map((i,r)=>t.createVNode(V.DuxAvatar,{key:r,src:i,round:!0,size:e.imageWidth},null))]):t.createVNode(N.NImageGroup,null,b(d=c.value.map((i,r)=>t.createVNode(h.DuxImage,{key:r,src:i,class:"rounded",objectFit:"cover",width:e.imageWidth,height:e.imageHeight},null)))?d:{default:()=>[d]})]),t.createVNode("div",{class:"flex-1 flex-col gap-2 min-w-0 truncate items-center"},[t.createVNode("div",{class:"flex gap-2 items-center"},[(g=a.prefix)==null?void 0:g.call(a),(e.title||a.default)&&t.createVNode("div",{onClick:()=>{var i;return(i=e.onClick)==null?void 0:i.call(e)},class:y(["transition-all truncate
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("vue"),y=require("clsx"),N=require("naive-ui"),V=require("../widget/avatar.cjs"),h=require("../widget/image.cjs");function b(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!t.isVNode(e)}const S=t.defineComponent({name:"DuxMedia",props:{title:String,avatar:Boolean,image:[String,Array],desc:[String,Array],extend:String,onClick:Function,imageWidth:{type:Number,default:48},imageHeight:{type:Number,default:48}},setup(e,{slots:a}){const c=t.computed(()=>Array.isArray(e.image)?e.image:e.image?[e.image]:[]),n=t.computed(()=>Array.isArray(e.desc)?e.desc:e.desc?[e.desc]:[]);return()=>{var u,g,m,x,f,v,l;let d;return t.createVNode("div",{class:"flex gap-2 items-center"},[(a==null?void 0:a.image)&&t.createVNode("div",{class:"flex-none flex items-center gap-2"},[(u=a==null?void 0:a.image)==null?void 0:u.call(a)]),(c==null?void 0:c.value.length)>0&&t.createVNode("div",{class:"flex-none flex items-center gap-2"},[e.avatar?t.createVNode(t.Fragment,null,[c.value.map((i,r)=>t.createVNode(V.DuxAvatar,{key:r,src:i,round:!0,size:e.imageWidth},null))]):t.createVNode(N.NImageGroup,null,b(d=c.value.map((i,r)=>t.createVNode(h.DuxImage,{key:r,src:i,class:"rounded",objectFit:"cover",width:e.imageWidth,height:e.imageHeight},null)))?d:{default:()=>[d]})]),t.createVNode("div",{class:"flex-1 flex-col gap-2 min-w-0 truncate items-center"},[t.createVNode("div",{class:"flex gap-2 items-center"},[(g=a.prefix)==null?void 0:g.call(a),(e.title||a.default)&&t.createVNode("div",{onClick:()=>{var i;return(i=e.onClick)==null?void 0:i.call(e)},class:y(["transition-all truncate",(e==null?void 0:e.onClick)&&"hover:text-primary cursor-pointer"])},[e.title||((m=a.default)==null?void 0:m.call(a))])]),((n==null?void 0:n.value.length)>0||a.desc)&&t.createVNode("div",{class:"text-sm text-muted flex flex-col gap-0"},[(f=n==null?void 0:(x=n.value).map)==null?void 0:f.call(x,(i,r)=>t.createVNode("div",{key:r,class:"truncate"},[i])),(v=a.desc)==null?void 0:v.call(a)])]),(e==null?void 0:e.extend)&&t.createVNode("div",{class:"flex-none flex items-center gap-2 text-gray-7"},[e==null?void 0:e.extend]),(a==null?void 0:a.extend)&&t.createVNode("div",{class:"flex-none flex items-center gap-2 text-gray-7"},[(l=a==null?void 0:a.extend)==null?void 0:l.call(a)])])}}});exports.DuxMedia=S;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),i=require("../card/card.cjs");require("clsx");require("naive-ui");const c=e.defineComponent({name:"DuxPanelCard",props:{title:{type:String,default:""},description:{type:String,default:""},padding:{type:String},bordered:{type:Boolean,default:!0}},setup(d,{slots:t}){return()=>{var r;return e.createVNode("div",{class:"flex flex-col gap-4"},[e.createVNode("div",{class:"flex items-center"},[e.createVNode("div",{class:"flex-1 flex flex-col"},[e.createVNode("div",{class:"text-base"},[d.title]),d.description&&e.createVNode("div",{class:"text-sm text-muted"},[d.description])]),e.createVNode("div",{class:"flex-none flex items-center"},[(r=t.actions)==null?void 0:r.call(t)])]),e.createVNode(i.DuxCard,{size:d.padding,shadow:!1,bordered:d.bordered},{default:()=>{var a;return[(a=t.default)==null?void 0:a.call(t)]}})])}}});exports.DuxPanelCard=c;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),i=require("../card/card.cjs");require("clsx");require("naive-ui");const c=e.defineComponent({name:"DuxPanelCard",props:{title:{type:String,default:""},description:{type:String,default:""},padding:{type:String},bordered:{type:Boolean,default:!0}},setup(d,{slots:t}){return()=>{var r;return e.createVNode("div",{class:"flex flex-col gap-4"},[e.createVNode("div",{class:"flex items-center px-2"},[e.createVNode("div",{class:"flex-1 flex flex-col"},[e.createVNode("div",{class:"text-base"},[d.title]),d.description&&e.createVNode("div",{class:"text-sm text-muted"},[d.description])]),e.createVNode("div",{class:"flex-none flex items-center"},[(r=t.actions)==null?void 0:r.call(t)])]),e.createVNode(i.DuxCard,{size:d.padding,shadow:!1,bordered:d.bordered},{default:()=>{var a;return[(a=t.default)==null?void 0:a.call(t)]}})])}}});exports.DuxPanelCard=c;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("vue"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("vue"),l=require("@duxweb/dvha-core"),a=require("../draw/drawEmptyForm.cjs"),d=t.defineComponent({name:"DuxListEmpty",props:{title:String,desc:String,bordered:Boolean},setup(e){const{t:c}=l.useI18n();return()=>t.createVNode("div",{class:"flex flex-col items-center justify-center gap-2 h-full"},[t.createVNode(a.DuxDrawEmptyForm,{class:"max-h-120px"},null),t.createVNode("div",{class:"text-lg text-default font-bold"},[(e==null?void 0:e.title)||c("pages.empty.title")]),t.createVNode("div",{class:"text-muted"},[(e==null?void 0:e.desc)||c("pages.empty.desc")])])}});exports.DuxListEmpty=d;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),s=require("@duxweb/dvha-core"),c=require("@vueuse/core"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),s=require("@duxweb/dvha-core"),c=require("@vueuse/core"),u=require("naive-ui");require("vue-router");require("@overlastic/vue");require("clsx");require("vue-echarts");require("vue-cropper");require("jinrishici");require("lodash-es");require("vue-draggable-plus");const d=require("../status/listEmpty.cjs");require("aieditor");require("vee-validate");require("@vee-validate/i18n");require("colorizr");require("echarts");require("@ant-design/colors");require("@unocss/preset-icons/browser");require("@unocss/preset-typography");require("unocss/preset-wind4");require("@vee-validate/i18n/dist/locale/en.json");require("@vee-validate/i18n/dist/locale/zh_CN.json");require("vue-command-palette");require("@duxweb/dvha-naiveui");require("../../pages/page404.cjs");require("@iconify-json/tabler/icons.json");require("mime");require("vue3-ace-editor");require("ace-builds/src-noconflict/mode-vue");require("ace-builds/src-noconflict/mode-javascript");require("ace-builds/src-noconflict/mode-html");require("ace-builds/src-noconflict/mode-json");require("ace-builds/src-noconflict/mode-json5");require("ace-builds/src-noconflict/theme-tomorrow_night");require("ace-builds/src-noconflict/theme-tomorrow");require("ace-builds/src-noconflict/ext-searchbox");require("ace-builds/src-noconflict/ext-language_tools");require("ace-builds/src-noconflict/mode-snippets");require("dayjs");require("@tanstack/vue-query");const f=require("../../hooks/table.cjs");require("pinia");const p=e.defineComponent({name:"DuxTable",props:{path:{type:String,required:!0},filter:{type:Object},columns:{type:Array},pagination:{type:[Boolean,Object],default:!0}},extends:u.NDataTable,setup(i){const a=e.computed(()=>{const{path:r,filter:b,columns:m,pagination:g,...q}=i;return q}),n=e.toRef(i.filter||{}),t=f.useTable({path:i.path,filters:n.value,columns:i.columns||[],pagination:i.pagination}),{width:l}=c.useWindowSize(),{t:o}=s.useI18n();return()=>e.createVNode("div",{class:"flex flex-col gap-2"},[e.createVNode(u.NDataTable,e.mergeProps(a.value,t.table.value,{class:"flex-1 min-h-0",minHeight:200,tableLayout:"fixed",flexHeight:!0,rowKey:r=>r.id,bordered:!1,renderCell:r=>r==null||r===""?"-":r}),{empty:()=>e.createVNode(d.DuxListEmpty,{bordered:!1},null)}),i.pagination&&e.createVNode("div",{class:"flex justify-end"},[e.createVNode(u.NPagination,e.mergeProps(t.tablePagination.value,{simple:l.value<768}),{prefix:()=>e.createVNode("div",null,[o("components.list.total",{total:t.total.value||0})])})])])}});exports.DuxTable=p;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("vue"),d=require("naive-ui"),u=require("../layout/table.cjs");require("@duxweb/dvha-core");require("clsx");const b=require("../status/listEmpty.cjs"),c=t.defineComponent({name:"DuxTablePage",props:{tableProps:{type:Object}},extends:u.DuxTableLayout,slots:Object,setup(i,{slots:e}){const n=t.computed(()=>{const{tableProps:a,...r}=i;return r});return()=>t.createVNode(u.DuxTableLayout,n.value,{default:a=>t.createVNode(d.NDataTable,t.mergeProps(a.table.value,i.tableProps,{class:"h-full",minHeight:200,tableLayout:"fixed",flexHeight:!0,rowKey:r=>r.id,bordered:!1,scrollX:a.width,renderCell:r=>r==null||r===""?"-":r}),{empty:()=>t.createVNode(b.DuxListEmpty,{bordered:!1},null)}),bottom:e==null?void 0:e.bottom,tools:e==null?void 0:e.tools,actions:e==null?void 0:e.actions,sideLeft:e==null?void 0:e.sideLeft,sideRight:e==null?void 0:e.sideRight})}});exports.DuxTablePage=c;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("vue"),F=require("@duxweb/dvha-core"),_=require("@vueuse/core"),z=require("clsx"),f=require("naive-ui"),E=require("../card/card.cjs"),X=t.defineComponent({name:"DuxTreeFilter",props:{title:String,path:String,sortPath:String,params:Object,menus:Array,numField:String,iconField:String,treeOptions:Object,value:Array,defaultValue:Array,onUpdateValue:Function,draggable:Boolean,bordered:{type:Boolean,default:!
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("vue"),F=require("@duxweb/dvha-core"),_=require("@vueuse/core"),z=require("clsx"),f=require("naive-ui"),E=require("../card/card.cjs"),X=t.defineComponent({name:"DuxTreeFilter",props:{title:String,path:String,sortPath:String,params:Object,menus:Array,numField:String,iconField:String,treeOptions:Object,value:Array,defaultValue:Array,onUpdateValue:Function,draggable:Boolean,bordered:{type:Boolean,default:!1}},extends:f.NTree,setup(l,{emit:P,slots:v}){const g=_.useVModel(l,"value",P,{passive:!1,defaultValue:l.defaultValue}),T=t.toRef(l,"params",{}),k=t.toRef(l,"path",""),C=t.toRef(l,"sortPath",""),w=t.ref(),D=t.ref(0),O=t.ref(0),o=t.ref([]),V=t.ref(),{t:U}=F.useI18n(),{options:q,loading:I,expanded:j}=F.useTree({path:k.value,params:T.value,...l.treeOptions});t.watch(q,a=>{o.value=a},{immediate:!0,deep:!0});const x=t.ref(!1),A=t.computed(()=>{var a;return((a=l.menus)==null?void 0:a.map(e=>({label:e.label,key:e.value,icon:e!=null&&e.icon?()=>t.createVNode("div",{class:e==null?void 0:e.icon},null):void 0,onSelect:e.onSelect})))||[]}),K=a=>{var n;const e=(n=l.menus)==null?void 0:n.find(i=>i.value===a);e&&e.onSelect(w.value),x.value=!1},M=F.useCustomMutation({path:C.value,method:"POST"}),N=(a,e)=>{for(const n of a)if(n.children){for(const m of n.children)if(m.id===e)return n;const i=N(n.children,e);if(i)return i}},R=({node:a,dragNode:e,dropPosition:n})=>{var S,y;const i=N(o.value,e.id),m=!i,h=[...o.value];if(m){const c=o.value.findIndex(L=>L.id===e.id);c>=0&&h.splice(c,1)}else{const c=((S=i==null?void 0:i.children)==null?void 0:S.indexOf(e))||0;(y=i==null?void 0:i.children)==null||y.splice(c,1)}let d=N(h,a.id),b,r=(d==null?void 0:d.children)||h,u=0;switch(n){case"before":u=r.findIndex(c=>c.id===a.id),u>0&&(b=r[u-1].id);break;case"inside":d=a,r=d.children=d.children||[],u=r.length;break;case"after":u=r.findIndex(c=>c.id===a.id)+1,b=a.id;break}r.splice(u,0,e),o.value=h,M.mutate({payload:{parent_id:d==null?void 0:d.id,before_id:b,id:e.id}})},s=t.ref([]);t.watch(j,a=>{var e;((e=s==null?void 0:s.value)==null?void 0:e.length)>0||(s.value=a)},{immediate:!0});const B=t.computed(()=>{const{title:a,path:e,sortPath:n,params:i,menus:m,numField:h,iconField:d,treeOptions:b,value:r,defaultValue:u,onUpdateValue:S,bordered:y,...c}=l;return c});return()=>t.createVNode(E.DuxCard,{class:"h-full",contentClass:"flex flex-col",bordered:l.bordered},{default:()=>{var a;return[(l==null?void 0:l.title)&&t.createVNode("div",{class:"px-2 py-3 pb-1 text-base font-bold"},[l.title]),t.createVNode("div",{class:"p-2 flex gap-2 items-center"},[t.createVNode("div",{class:"flex-1"},[v.header?v.header():t.createVNode(f.NInput,{value:V.value,"onUpdate:value":e=>V.value=e,placeholder:U("common.keyword")},null)]),(a=v.tools)==null?void 0:a.call(v)]),t.createVNode(f.NScrollbar,{class:"flex-1 min-h-0",xScrollable:!0},{default:()=>[t.createVNode("div",{class:"p-2"},[t.createVNode(f.NSpin,{show:I.value,class:"h-full"},{default:()=>[t.createVNode(f.NTree,t.mergeProps(B.value,{data:o.value||[],expandedKeys:s.value,onUpdateExpandedKeys:e=>{s.value=e},blockLine:!0,selectedKeys:g.value,onUpdateSelectedKeys:e=>{var n;g.value=e,(n=l==null?void 0:l.onUpdateValue)==null||n.call(l,e)},onDrop:R,pattern:V.value,renderPrefix:l!=null&&l.numField||l!=null&&l.iconField?({option:e})=>t.createVNode(t.Fragment,null,[l.iconField&&e[l.iconField]&&t.createVNode("div",{class:z(e[l.iconField]||"","size-4")},null),l.numField&&t.createVNode("div",{class:"rounded-full bg-primary px-2 text-xs text-white"},[e[l.numField]||0])]):void 0,nodeProps:({option:e})=>({onContextmenu:n=>{w.value=e,x.value=!0,D.value=n.clientX,O.value=n.clientY,n.preventDefault()}})}),null)]})])]}),t.createVNode(f.NDropdown,{trigger:"manual",placement:"bottom-start",show:x.value,options:A.value,x:D.value,y:O.value,width:100,onSelect:K,onClickoutside:()=>{x.value=!1}},null)]}})}});exports.DuxTreeFilter=X;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=`/* layer: properties */
|
|
2
|
-
@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*, ::before, ::after, ::backdrop{--un-
|
|
2
|
+
@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*, ::before, ::after, ::backdrop{--un-text-opacity:100%;--un-bg-opacity:100%;--un-from-opacity:100%;--un-divide-y-reverse:0;--un-border-style:solid;--un-divide-opacity:100%;--un-divide-x-reverse:0;--un-shadow-opacity:100%;--un-border-opacity:100%;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-to-opacity:100%;--un-fill-opacity:100%;--un-outline-style:solid;}}
|
|
3
3
|
@property --un-text-opacity{syntax:"<percentage>";inherits:false;initial-value:100%;}
|
|
4
4
|
@property --un-outline-style{syntax:"*";inherits:false;initial-value:solid;}
|
|
5
5
|
@property --un-border-opacity{syntax:"<percentage>";inherits:false;initial-value:100%;}
|
|
@@ -1179,6 +1179,7 @@ input:where([type='button'], [type='reset'], [type='submit']),
|
|
|
1179
1179
|
.h-full{height:100%;}
|
|
1180
1180
|
.h-screen{height:100vh;}
|
|
1181
1181
|
.max-h-0{max-height:calc(var(--spacing) * 0);}
|
|
1182
|
+
.max-h-120px{max-height:120px;}
|
|
1182
1183
|
.max-h-500{max-height:calc(var(--spacing) * 500);}
|
|
1183
1184
|
.max-h-500px{max-height:500px;}
|
|
1184
1185
|
.max-w-180{max-width:calc(var(--spacing) * 180);}
|
|
@@ -1389,7 +1390,7 @@ input:where([type='button'], [type='reset'], [type='submit']),
|
|
|
1389
1390
|
.md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}
|
|
1390
1391
|
.md\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}
|
|
1391
1392
|
.md\\:h-auto{height:auto;}
|
|
1392
|
-
.md\\:w-
|
|
1393
|
+
.md\\:w-40\\%{width:40%;}
|
|
1393
1394
|
.md\\:shadow{--un-shadow:0 1px 3px 0 var(--un-shadow-color, rgb(0 0 0 / 0.1)),0 1px 2px -1px var(--un-shadow-color, rgb(0 0 0 / 0.1));box-shadow:var(--un-inset-shadow), var(--un-inset-ring-shadow), var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);}
|
|
1394
1395
|
.md\\:items-start{align-items:flex-start;}
|
|
1395
1396
|
.md\\:items-center{align-items:center;}
|
|
@@ -103,7 +103,7 @@ const S = /* @__PURE__ */ y({
|
|
|
103
103
|
}, [e.title]), e.description && t("div", {
|
|
104
104
|
class: "text-sm text-muted"
|
|
105
105
|
}, [e.description])]), (u = d.headerExtra) == null ? void 0 : u.call(d)]), t("div", {
|
|
106
|
-
class: [(e.title || d.header || d.footer) && m.value, e.contentClass]
|
|
106
|
+
class: ["flex-1 min-h-0", (e.title || d.header || d.footer) && m.value, e.contentClass]
|
|
107
107
|
}, [(l = d.default) == null ? void 0 : l.call(d)]), d.footer && t("div", {
|
|
108
108
|
class: [o.value, e.footerClass, e.footerBordered && "border-t border-muted"]
|
|
109
109
|
}, [(f = d.footer) == null ? void 0 : f.call(d)])]);
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { defineComponent as m, createVNode as o } from "vue";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { useTheme as i } from "@duxweb/dvha-core";
|
|
3
|
+
import { useVModel as u } from "@vueuse/core";
|
|
4
|
+
import { VAceEditor as d } from "vue3-ace-editor";
|
|
4
5
|
import "ace-builds/src-noconflict/mode-vue";
|
|
5
6
|
import "ace-builds/src-noconflict/mode-javascript";
|
|
6
7
|
import "ace-builds/src-noconflict/mode-html";
|
|
@@ -11,7 +12,6 @@ import "ace-builds/src-noconflict/theme-tomorrow";
|
|
|
11
12
|
import "ace-builds/src-noconflict/ext-searchbox";
|
|
12
13
|
import "ace-builds/src-noconflict/ext-language_tools";
|
|
13
14
|
import "ace-builds/src-noconflict/mode-snippets";
|
|
14
|
-
import { useTheme as d } from "@duxweb/dvha-core";
|
|
15
15
|
const S = /* @__PURE__ */ m({
|
|
16
16
|
name: "DuxCodeEditor",
|
|
17
17
|
props: {
|
|
@@ -32,13 +32,13 @@ const S = /* @__PURE__ */ m({
|
|
|
32
32
|
setup(e, {
|
|
33
33
|
emit: r
|
|
34
34
|
}) {
|
|
35
|
-
const t =
|
|
35
|
+
const t = u(e, "value", r, {
|
|
36
36
|
passive: !0,
|
|
37
37
|
defaultValue: e.defaultValue || ""
|
|
38
|
-
}), a =
|
|
38
|
+
}), a = i();
|
|
39
39
|
return () => o("div", {
|
|
40
40
|
class: "border border-muted"
|
|
41
|
-
}, [o(
|
|
41
|
+
}, [o(d, {
|
|
42
42
|
readonly: e.readonly,
|
|
43
43
|
theme: a.isDark.value ? "tomorrow_night" : "tomorrow",
|
|
44
44
|
value: t.value,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import { watchThrottled as
|
|
1
|
+
import { defineComponent as b, toRef as h, computed as a, watch as y, inject as j, createVNode as r, createTextVNode as q } from "vue";
|
|
2
|
+
import { watchThrottled as S } from "@vueuse/core";
|
|
3
3
|
import { useField as w } from "vee-validate";
|
|
4
|
-
const
|
|
4
|
+
const F = /* @__PURE__ */ b({
|
|
5
5
|
name: "DuxFormItem",
|
|
6
6
|
props: {
|
|
7
7
|
label: String,
|
|
@@ -10,68 +10,84 @@ const q = /* @__PURE__ */ x({
|
|
|
10
10
|
labelPlacement: {
|
|
11
11
|
type: String
|
|
12
12
|
},
|
|
13
|
+
labelAlign: {
|
|
14
|
+
type: String
|
|
15
|
+
},
|
|
13
16
|
labelWidth: {
|
|
14
17
|
type: Number
|
|
15
18
|
},
|
|
19
|
+
required: {
|
|
20
|
+
type: Boolean,
|
|
21
|
+
default: !1
|
|
22
|
+
},
|
|
16
23
|
rule: [String, Object],
|
|
17
24
|
message: [String, Object]
|
|
18
25
|
},
|
|
19
26
|
setup(e, {
|
|
20
27
|
slots: i
|
|
21
28
|
}) {
|
|
22
|
-
const c =
|
|
29
|
+
const c = h(e.message), f = a(() => {
|
|
30
|
+
var t;
|
|
31
|
+
return typeof e.rule == "object" ? {
|
|
32
|
+
...e.rule,
|
|
33
|
+
required: !!e.required
|
|
34
|
+
} : typeof e.rule == "string" ? (t = e.rule) != null && t.includes("required") ? e.rule : `${e.rule}|required` : e.rule;
|
|
35
|
+
}), {
|
|
23
36
|
errorMessage: d,
|
|
24
37
|
value: m,
|
|
25
|
-
setErrors:
|
|
26
|
-
validate:
|
|
27
|
-
} = w(e.path || "",
|
|
38
|
+
setErrors: s,
|
|
39
|
+
validate: g
|
|
40
|
+
} = w(e.path || "", f.value || {}, {
|
|
28
41
|
label: e.label
|
|
29
|
-
}),
|
|
30
|
-
|
|
31
|
-
t &&
|
|
42
|
+
}), v = a(() => e.required ? !0 : e.rule ? typeof e.rule == "string" ? e.rule.includes("required") : typeof e.rule == "object" ? "required" in e.rule : !1 : !1), n = a(() => d.value && (c.value || d.value));
|
|
43
|
+
y(n, (t) => {
|
|
44
|
+
t && s(t);
|
|
32
45
|
}, {
|
|
33
46
|
immediate: !0
|
|
34
|
-
}),
|
|
35
|
-
t &&
|
|
47
|
+
}), S(m, (t) => {
|
|
48
|
+
t && g();
|
|
36
49
|
}, {
|
|
37
50
|
throttle: 300,
|
|
38
51
|
deep: !0
|
|
39
52
|
});
|
|
40
|
-
const u =
|
|
53
|
+
const u = j("dux.form", {
|
|
41
54
|
labelPlacement: "left",
|
|
55
|
+
labelAlign: "left",
|
|
42
56
|
labelWidth: 70,
|
|
43
57
|
divider: !1
|
|
44
|
-
}),
|
|
58
|
+
}), l = a(() => e.labelPlacement || u.labelPlacement), o = a(() => {
|
|
45
59
|
let t = e.labelWidth || u.labelWidth || 70;
|
|
46
|
-
return typeof t == "number" && (t = `${t}px`),
|
|
47
|
-
}),
|
|
60
|
+
return typeof t == "number" && (t = `${t}px`), l.value !== "left" ? "auto" : t;
|
|
61
|
+
}), x = a(() => u.divider || l.value === "page");
|
|
48
62
|
return () => {
|
|
49
63
|
var t;
|
|
50
|
-
return
|
|
51
|
-
class: [
|
|
52
|
-
}, [
|
|
53
|
-
class: [
|
|
64
|
+
return r("div", {
|
|
65
|
+
class: [l.value !== "top" ? "md:flex-row gap-2 lg:items-center" : "gap-1", x.value ? "py-6" : "", l.value === "setting" ? "md:justify-between md:items-start md:gap-4" : "", l.value === "page" ? "grid grid-cols-1 lg:grid-cols-4 px-4" : "flex flex-col"]
|
|
66
|
+
}, [r("div", {
|
|
67
|
+
class: [l.value === "left" ? "flex lg:items-center" : "", l.value === "left" && u.labelAlign === "right" ? "justify-end" : ""],
|
|
54
68
|
style: {
|
|
55
|
-
width:
|
|
69
|
+
width: o.value
|
|
56
70
|
}
|
|
57
|
-
}, [
|
|
71
|
+
}, [r("div", {
|
|
58
72
|
class: "flex flex-col"
|
|
59
|
-
}, [
|
|
73
|
+
}, [r("div", null, [r("span", {
|
|
60
74
|
class: "relative flex items-center gap-1"
|
|
61
|
-
}, [e.label,
|
|
75
|
+
}, [e.label, v.value && r("span", {
|
|
62
76
|
class: "text-error font-mono text-xs"
|
|
63
|
-
}, [
|
|
77
|
+
}, [q("*")])])]), e.description && (l.value === "setting" || l.value === "page") && r("div", {
|
|
64
78
|
class: "text-sm text-muted"
|
|
65
|
-
}, [e.description])])]),
|
|
66
|
-
class: ["flex flex-col gap-1",
|
|
67
|
-
}, [
|
|
79
|
+
}, [e.description])])]), r("div", {
|
|
80
|
+
class: ["flex flex-col gap-1", l.value !== "left" ? "md:mt-1" : "", l.value === "setting" ? "flex-none md:w-40%" : "flex-1", l.value === "page" ? "col-span-3" : ""]
|
|
81
|
+
}, [r("div", {
|
|
82
|
+
class: l.value === "setting" ? "flex-1 lg:flex lg:justify-end" : ""
|
|
83
|
+
}, [(t = i == null ? void 0 : i.default) == null ? void 0 : t.call(i)]), e.description && l.value === "left" && r("div", {
|
|
68
84
|
class: "text-sm text-muted"
|
|
69
|
-
}, [e.description]), n.value &&
|
|
85
|
+
}, [e.description]), n.value && r("div", {
|
|
70
86
|
class: "text-error"
|
|
71
87
|
}, [n.value])])]);
|
|
72
88
|
};
|
|
73
89
|
}
|
|
74
90
|
});
|
|
75
91
|
export {
|
|
76
|
-
|
|
92
|
+
F as DuxFormItem
|
|
77
93
|
};
|
|
@@ -1,11 +1,15 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
const
|
|
1
|
+
import { defineComponent as i, provide as d, createVNode as t } from "vue";
|
|
2
|
+
const f = /* @__PURE__ */ i({
|
|
3
3
|
name: "DuxFormLayout",
|
|
4
4
|
props: {
|
|
5
5
|
labelPlacement: {
|
|
6
6
|
type: String,
|
|
7
7
|
default: "left"
|
|
8
8
|
},
|
|
9
|
+
labelAlign: {
|
|
10
|
+
type: String,
|
|
11
|
+
default: "left"
|
|
12
|
+
},
|
|
9
13
|
labelWidth: {
|
|
10
14
|
type: Number
|
|
11
15
|
},
|
|
@@ -19,20 +23,21 @@ const m = /* @__PURE__ */ d({
|
|
|
19
23
|
}
|
|
20
24
|
},
|
|
21
25
|
setup(e, {
|
|
22
|
-
slots:
|
|
26
|
+
slots: l
|
|
23
27
|
}) {
|
|
24
|
-
return
|
|
28
|
+
return d("dux.form", {
|
|
25
29
|
labelPlacement: e.labelPlacement,
|
|
30
|
+
labelAlign: e.labelAlign,
|
|
26
31
|
labelWidth: e.labelWidth,
|
|
27
32
|
divider: e.divider
|
|
28
33
|
}), () => {
|
|
29
|
-
var
|
|
34
|
+
var a;
|
|
30
35
|
return t("div", {
|
|
31
36
|
class: ["flex ", e.divider || e.labelPlacement === "page" ? " divide-y divide-default dark:divide-gray-800" : "", e.inline ? "flex-row" : "flex-col", e.labelPlacement === "page" || e.labelPlacement === "setting" ? "container mx-auto" : "gap-4"]
|
|
32
|
-
}, [(
|
|
37
|
+
}, [(a = l == null ? void 0 : l.default) == null ? void 0 : a.call(l)]);
|
|
33
38
|
};
|
|
34
39
|
}
|
|
35
40
|
});
|
|
36
41
|
export {
|
|
37
|
-
|
|
42
|
+
f as DuxFormLayout
|
|
38
43
|
};
|
|
@@ -29,7 +29,7 @@ const I = /* @__PURE__ */ h({
|
|
|
29
29
|
}) {
|
|
30
30
|
const c = y(() => Array.isArray(e.image) ? e.image : e.image ? [e.image] : []), t = y(() => Array.isArray(e.desc) ? e.desc : e.desc ? [e.desc] : []);
|
|
31
31
|
return () => {
|
|
32
|
-
var u, d, g, x, f,
|
|
32
|
+
var u, d, g, x, f, v, l;
|
|
33
33
|
let r;
|
|
34
34
|
return i("div", {
|
|
35
35
|
class: "flex gap-2 items-center"
|
|
@@ -60,17 +60,17 @@ const I = /* @__PURE__ */ h({
|
|
|
60
60
|
var n;
|
|
61
61
|
return (n = e.onClick) == null ? void 0 : n.call(e);
|
|
62
62
|
},
|
|
63
|
-
class: b(["transition-all truncate
|
|
63
|
+
class: b(["transition-all truncate", (e == null ? void 0 : e.onClick) && "hover:text-primary cursor-pointer"])
|
|
64
64
|
}, [e.title || ((g = a.default) == null ? void 0 : g.call(a))])]), ((t == null ? void 0 : t.value.length) > 0 || a.desc) && i("div", {
|
|
65
65
|
class: "text-sm text-muted flex flex-col gap-0"
|
|
66
66
|
}, [(f = t == null ? void 0 : (x = t.value).map) == null ? void 0 : f.call(x, (n, m) => i("div", {
|
|
67
67
|
key: m,
|
|
68
68
|
class: "truncate"
|
|
69
|
-
}, [n])), (
|
|
69
|
+
}, [n])), (v = a.desc) == null ? void 0 : v.call(a)])]), (e == null ? void 0 : e.extend) && i("div", {
|
|
70
70
|
class: "flex-none flex items-center gap-2 text-gray-7"
|
|
71
71
|
}, [e == null ? void 0 : e.extend]), (a == null ? void 0 : a.extend) && i("div", {
|
|
72
72
|
class: "flex-none flex items-center gap-2 text-gray-7"
|
|
73
|
-
}, [(
|
|
73
|
+
}, [(l = a == null ? void 0 : a.extend) == null ? void 0 : l.call(a)])]);
|
|
74
74
|
};
|
|
75
75
|
}
|
|
76
76
|
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import { useI18n as
|
|
1
|
+
import { defineComponent as m, createVNode as e } from "vue";
|
|
2
|
+
import { useI18n as i } from "@duxweb/dvha-core";
|
|
3
3
|
import { DuxDrawEmptyForm as n } from "../draw/drawEmptyForm.js";
|
|
4
|
-
const
|
|
4
|
+
const s = /* @__PURE__ */ m({
|
|
5
5
|
name: "DuxListEmpty",
|
|
6
6
|
props: {
|
|
7
7
|
title: String,
|
|
@@ -11,10 +11,12 @@ const a = /* @__PURE__ */ i({
|
|
|
11
11
|
setup(t) {
|
|
12
12
|
const {
|
|
13
13
|
t: l
|
|
14
|
-
} =
|
|
14
|
+
} = i();
|
|
15
15
|
return () => e("div", {
|
|
16
16
|
class: "flex flex-col items-center justify-center gap-2 h-full"
|
|
17
|
-
}, [e(n,
|
|
17
|
+
}, [e(n, {
|
|
18
|
+
class: "max-h-120px"
|
|
19
|
+
}, null), e("div", {
|
|
18
20
|
class: "text-lg text-default font-bold"
|
|
19
21
|
}, [(t == null ? void 0 : t.title) || l("pages.empty.title")]), e("div", {
|
|
20
22
|
class: "text-muted"
|
|
@@ -22,5 +24,5 @@ const a = /* @__PURE__ */ i({
|
|
|
22
24
|
}
|
|
23
25
|
});
|
|
24
26
|
export {
|
|
25
|
-
|
|
27
|
+
s as DuxListEmpty
|
|
26
28
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { defineComponent as u, computed as f, toRef as
|
|
2
|
-
import { useI18n as
|
|
1
|
+
import { defineComponent as u, computed as f, toRef as d, createVNode as i, mergeProps as e } from "vue";
|
|
2
|
+
import { useI18n as c } from "@duxweb/dvha-core";
|
|
3
3
|
import { useWindowSize as b } from "@vueuse/core";
|
|
4
4
|
import { NDataTable as m, NPagination as g } from "naive-ui";
|
|
5
5
|
import "vue-router";
|
|
@@ -61,46 +61,47 @@ const ft = /* @__PURE__ */ u({
|
|
|
61
61
|
}
|
|
62
62
|
},
|
|
63
63
|
extends: m,
|
|
64
|
-
setup(
|
|
64
|
+
setup(o) {
|
|
65
65
|
const p = f(() => {
|
|
66
66
|
const {
|
|
67
|
-
path:
|
|
68
|
-
filter:
|
|
69
|
-
columns:
|
|
67
|
+
path: t,
|
|
68
|
+
filter: h,
|
|
69
|
+
columns: v,
|
|
70
70
|
pagination: D,
|
|
71
71
|
...s
|
|
72
|
-
} =
|
|
72
|
+
} = o;
|
|
73
73
|
return s;
|
|
74
|
-
}),
|
|
75
|
-
path:
|
|
76
|
-
filters:
|
|
77
|
-
columns:
|
|
78
|
-
pagination:
|
|
74
|
+
}), n = d(o.filter || {}), r = y({
|
|
75
|
+
path: o.path,
|
|
76
|
+
filters: n.value,
|
|
77
|
+
columns: o.columns || [],
|
|
78
|
+
pagination: o.pagination
|
|
79
79
|
}), {
|
|
80
80
|
width: l
|
|
81
81
|
} = b(), {
|
|
82
|
-
t:
|
|
83
|
-
} =
|
|
84
|
-
return () =>
|
|
82
|
+
t: a
|
|
83
|
+
} = c();
|
|
84
|
+
return () => i("div", {
|
|
85
85
|
class: "flex flex-col gap-2"
|
|
86
|
-
}, [
|
|
86
|
+
}, [i(m, e(p.value, r.table.value, {
|
|
87
87
|
class: "flex-1 min-h-0",
|
|
88
88
|
minHeight: 200,
|
|
89
89
|
tableLayout: "fixed",
|
|
90
90
|
flexHeight: !0,
|
|
91
|
-
rowKey: (
|
|
92
|
-
bordered: !1
|
|
91
|
+
rowKey: (t) => t.id,
|
|
92
|
+
bordered: !1,
|
|
93
|
+
renderCell: (t) => t == null || t === "" ? "-" : t
|
|
93
94
|
}), {
|
|
94
|
-
empty: () =>
|
|
95
|
+
empty: () => i(x, {
|
|
95
96
|
bordered: !1
|
|
96
97
|
}, null)
|
|
97
|
-
}),
|
|
98
|
+
}), o.pagination && i("div", {
|
|
98
99
|
class: "flex justify-end"
|
|
99
|
-
}, [
|
|
100
|
+
}, [i(g, e(r.tablePagination.value, {
|
|
100
101
|
simple: l.value < 768
|
|
101
102
|
}), {
|
|
102
|
-
prefix: () =>
|
|
103
|
-
total:
|
|
103
|
+
prefix: () => i("div", null, [a("components.list.total", {
|
|
104
|
+
total: r.total.value || 0
|
|
104
105
|
})])
|
|
105
106
|
})])]);
|
|
106
107
|
}
|
|
@@ -1,39 +1,40 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import { NDataTable as
|
|
3
|
-
import { DuxTableLayout as
|
|
1
|
+
import { defineComponent as n, computed as p, createVNode as a, mergeProps as b } from "vue";
|
|
2
|
+
import { NDataTable as o } from "naive-ui";
|
|
3
|
+
import { DuxTableLayout as d } from "../layout/table.js";
|
|
4
4
|
import "@duxweb/dvha-core";
|
|
5
5
|
import "clsx";
|
|
6
|
-
import { DuxListEmpty as
|
|
7
|
-
const y = /* @__PURE__ */
|
|
6
|
+
import { DuxListEmpty as u } from "../status/listEmpty.js";
|
|
7
|
+
const y = /* @__PURE__ */ n({
|
|
8
8
|
name: "DuxTablePage",
|
|
9
9
|
props: {
|
|
10
10
|
tableProps: {
|
|
11
11
|
type: Object
|
|
12
12
|
}
|
|
13
13
|
},
|
|
14
|
-
extends:
|
|
14
|
+
extends: d,
|
|
15
15
|
slots: Object,
|
|
16
16
|
setup(i, {
|
|
17
17
|
slots: e
|
|
18
18
|
}) {
|
|
19
|
-
const
|
|
19
|
+
const m = p(() => {
|
|
20
20
|
const {
|
|
21
|
-
tableProps:
|
|
22
|
-
...
|
|
21
|
+
tableProps: t,
|
|
22
|
+
...r
|
|
23
23
|
} = i;
|
|
24
|
-
return
|
|
24
|
+
return r;
|
|
25
25
|
});
|
|
26
|
-
return () =>
|
|
27
|
-
default: (
|
|
26
|
+
return () => a(d, m.value, {
|
|
27
|
+
default: (t) => a(o, b(t.table.value, i.tableProps, {
|
|
28
28
|
class: "h-full",
|
|
29
29
|
minHeight: 200,
|
|
30
30
|
tableLayout: "fixed",
|
|
31
31
|
flexHeight: !0,
|
|
32
|
-
rowKey: (
|
|
32
|
+
rowKey: (r) => r.id,
|
|
33
33
|
bordered: !1,
|
|
34
|
-
scrollX:
|
|
34
|
+
scrollX: t.width,
|
|
35
|
+
renderCell: (r) => r == null || r === "" ? "-" : r
|
|
35
36
|
}), {
|
|
36
|
-
empty: () =>
|
|
37
|
+
empty: () => a(u, {
|
|
37
38
|
bordered: !1
|
|
38
39
|
}, null)
|
|
39
40
|
}),
|
|
@@ -21,7 +21,7 @@ const oe = /* @__PURE__ */ Y({
|
|
|
21
21
|
draggable: Boolean,
|
|
22
22
|
bordered: {
|
|
23
23
|
type: Boolean,
|
|
24
|
-
default: !
|
|
24
|
+
default: !1
|
|
25
25
|
}
|
|
26
26
|
},
|
|
27
27
|
extends: T,
|
|
@@ -136,6 +136,7 @@ const oe = /* @__PURE__ */ Y({
|
|
|
136
136
|
});
|
|
137
137
|
return () => n(le, {
|
|
138
138
|
class: "h-full",
|
|
139
|
+
contentClass: "flex flex-col",
|
|
139
140
|
bordered: t.bordered
|
|
140
141
|
}, {
|
|
141
142
|
default: () => {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const r = `/* layer: properties */
|
|
2
|
-
@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*, ::before, ::after, ::backdrop{--un-
|
|
2
|
+
@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*, ::before, ::after, ::backdrop{--un-text-opacity:100%;--un-bg-opacity:100%;--un-from-opacity:100%;--un-divide-y-reverse:0;--un-border-style:solid;--un-divide-opacity:100%;--un-divide-x-reverse:0;--un-shadow-opacity:100%;--un-border-opacity:100%;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-to-opacity:100%;--un-fill-opacity:100%;--un-outline-style:solid;}}
|
|
3
3
|
@property --un-text-opacity{syntax:"<percentage>";inherits:false;initial-value:100%;}
|
|
4
4
|
@property --un-outline-style{syntax:"*";inherits:false;initial-value:solid;}
|
|
5
5
|
@property --un-border-opacity{syntax:"<percentage>";inherits:false;initial-value:100%;}
|
|
@@ -1179,6 +1179,7 @@ input:where([type='button'], [type='reset'], [type='submit']),
|
|
|
1179
1179
|
.h-full{height:100%;}
|
|
1180
1180
|
.h-screen{height:100vh;}
|
|
1181
1181
|
.max-h-0{max-height:calc(var(--spacing) * 0);}
|
|
1182
|
+
.max-h-120px{max-height:120px;}
|
|
1182
1183
|
.max-h-500{max-height:calc(var(--spacing) * 500);}
|
|
1183
1184
|
.max-h-500px{max-height:500px;}
|
|
1184
1185
|
.max-w-180{max-width:calc(var(--spacing) * 180);}
|
|
@@ -1389,7 +1390,7 @@ input:where([type='button'], [type='reset'], [type='submit']),
|
|
|
1389
1390
|
.md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}
|
|
1390
1391
|
.md\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}
|
|
1391
1392
|
.md\\:h-auto{height:auto;}
|
|
1392
|
-
.md\\:w-
|
|
1393
|
+
.md\\:w-40\\%{width:40%;}
|
|
1393
1394
|
.md\\:shadow{--un-shadow:0 1px 3px 0 var(--un-shadow-color, rgb(0 0 0 / 0.1)),0 1px 2px -1px var(--un-shadow-color, rgb(0 0 0 / 0.1));box-shadow:var(--un-inset-shadow), var(--un-inset-ring-shadow), var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);}
|
|
1394
1395
|
.md\\:items-start{align-items:flex-start;}
|
|
1395
1396
|
.md\\:items-center{align-items:center;}
|
|
@@ -7,9 +7,16 @@ export declare const DuxFormItem: import("vue").DefineComponent<import("vue").Ex
|
|
|
7
7
|
labelPlacement: {
|
|
8
8
|
type: PropType<"left" | "top" | "setting" | "page">;
|
|
9
9
|
};
|
|
10
|
+
labelAlign: {
|
|
11
|
+
type: PropType<"left" | "right">;
|
|
12
|
+
};
|
|
10
13
|
labelWidth: {
|
|
11
14
|
type: NumberConstructor;
|
|
12
15
|
};
|
|
16
|
+
required: {
|
|
17
|
+
type: BooleanConstructor;
|
|
18
|
+
default: boolean;
|
|
19
|
+
};
|
|
13
20
|
rule: PropType<RuleExpression<any>>;
|
|
14
21
|
message: PropType<string | Record<string, string>>;
|
|
15
22
|
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
@@ -19,9 +26,18 @@ export declare const DuxFormItem: import("vue").DefineComponent<import("vue").Ex
|
|
|
19
26
|
labelPlacement: {
|
|
20
27
|
type: PropType<"left" | "top" | "setting" | "page">;
|
|
21
28
|
};
|
|
29
|
+
labelAlign: {
|
|
30
|
+
type: PropType<"left" | "right">;
|
|
31
|
+
};
|
|
22
32
|
labelWidth: {
|
|
23
33
|
type: NumberConstructor;
|
|
24
34
|
};
|
|
35
|
+
required: {
|
|
36
|
+
type: BooleanConstructor;
|
|
37
|
+
default: boolean;
|
|
38
|
+
};
|
|
25
39
|
rule: PropType<RuleExpression<any>>;
|
|
26
40
|
message: PropType<string | Record<string, string>>;
|
|
27
|
-
}>> & Readonly<{}>, {
|
|
41
|
+
}>> & Readonly<{}>, {
|
|
42
|
+
required: boolean;
|
|
43
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
@@ -4,6 +4,10 @@ export declare const DuxFormLayout: import("vue").DefineComponent<import("vue").
|
|
|
4
4
|
type: PropType<"left" | "top" | "setting" | "page">;
|
|
5
5
|
default: string;
|
|
6
6
|
};
|
|
7
|
+
labelAlign: {
|
|
8
|
+
type: PropType<"left" | "right">;
|
|
9
|
+
default: string;
|
|
10
|
+
};
|
|
7
11
|
labelWidth: {
|
|
8
12
|
type: NumberConstructor;
|
|
9
13
|
};
|
|
@@ -20,6 +24,10 @@ export declare const DuxFormLayout: import("vue").DefineComponent<import("vue").
|
|
|
20
24
|
type: PropType<"left" | "top" | "setting" | "page">;
|
|
21
25
|
default: string;
|
|
22
26
|
};
|
|
27
|
+
labelAlign: {
|
|
28
|
+
type: PropType<"left" | "right">;
|
|
29
|
+
default: string;
|
|
30
|
+
};
|
|
23
31
|
labelWidth: {
|
|
24
32
|
type: NumberConstructor;
|
|
25
33
|
};
|
|
@@ -33,6 +41,7 @@ export declare const DuxFormLayout: import("vue").DefineComponent<import("vue").
|
|
|
33
41
|
};
|
|
34
42
|
}>> & Readonly<{}>, {
|
|
35
43
|
inline: boolean;
|
|
44
|
+
labelAlign: "left" | "right";
|
|
36
45
|
labelPlacement: "left" | "top" | "page" | "setting";
|
|
37
46
|
divider: boolean;
|
|
38
47
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
@@ -30,6 +30,10 @@ export declare const DuxModalForm: import("vue").DefineComponent<import("vue").E
|
|
|
30
30
|
type: PropType<"left" | "top" | "setting" | "page">;
|
|
31
31
|
default: string;
|
|
32
32
|
};
|
|
33
|
+
labelAlign: {
|
|
34
|
+
type: PropType<"left" | "right">;
|
|
35
|
+
default: string;
|
|
36
|
+
};
|
|
33
37
|
labelWidth: {
|
|
34
38
|
type: NumberConstructor;
|
|
35
39
|
};
|
|
@@ -46,6 +50,10 @@ export declare const DuxModalForm: import("vue").DefineComponent<import("vue").E
|
|
|
46
50
|
type: PropType<"left" | "top" | "setting" | "page">;
|
|
47
51
|
default: string;
|
|
48
52
|
};
|
|
53
|
+
labelAlign: {
|
|
54
|
+
type: PropType<"left" | "right">;
|
|
55
|
+
default: string;
|
|
56
|
+
};
|
|
49
57
|
labelWidth: {
|
|
50
58
|
type: NumberConstructor;
|
|
51
59
|
};
|
|
@@ -59,6 +67,7 @@ export declare const DuxModalForm: import("vue").DefineComponent<import("vue").E
|
|
|
59
67
|
};
|
|
60
68
|
}>> & Readonly<{}>, {
|
|
61
69
|
inline: boolean;
|
|
70
|
+
labelAlign: "left" | "right";
|
|
62
71
|
labelPlacement: "left" | "top" | "page" | "setting";
|
|
63
72
|
divider: boolean;
|
|
64
73
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
@@ -2,7 +2,7 @@ import type { VNode } from 'vue';
|
|
|
2
2
|
export interface UseTableColumnMediaProps {
|
|
3
3
|
image?: string | string[] | ((rowData: Record<string, any>) => VNode | string | string[]);
|
|
4
4
|
avatar?: boolean;
|
|
5
|
-
title?: string | ((rowData: Record<string, any>) => VNode);
|
|
5
|
+
title?: string | ((rowData: Record<string, any>) => VNode | string);
|
|
6
6
|
desc?: string | string[] | ((rowData: Record<string, any>) => VNode | string | string[]);
|
|
7
7
|
imageWidth?: number;
|
|
8
8
|
imageHeight?: number;
|
package/dist/types/main.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
+
import type { IDataProviderResponse, IS3SignData } from '@duxweb/dvha-core';
|
|
1
2
|
import type { App } from 'vue';
|
|
2
3
|
import 'echarts';
|
|
3
4
|
import 'vue-cropper/dist/index.css';
|
|
4
5
|
import 'aieditor/dist/style.css';
|
|
5
6
|
import './theme/style.scss';
|
|
6
|
-
import { IDataProviderResponse, IS3SignData } from '@duxweb/dvha-core';
|
|
7
7
|
export declare function createDuxPro(): {
|
|
8
8
|
install(app: App): void;
|
|
9
9
|
};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@duxweb/dvha-pro",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.22",
|
|
5
5
|
"author": "DuxWeb",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"repository": {
|
|
@@ -33,8 +33,8 @@
|
|
|
33
33
|
],
|
|
34
34
|
"dependencies": {
|
|
35
35
|
"@ant-design/colors": "^7.2.1",
|
|
36
|
-
"@duxweb/dvha-core": "^1.0.
|
|
37
|
-
"@duxweb/dvha-naiveui": "^1.0.
|
|
36
|
+
"@duxweb/dvha-core": "^1.0.22",
|
|
37
|
+
"@duxweb/dvha-naiveui": "^1.0.22",
|
|
38
38
|
"@iconify-json/tabler": "^1.2.18",
|
|
39
39
|
"@overlastic/vue": "^0.8.1",
|
|
40
40
|
"@tanstack/vue-query": "^5.80.7",
|