@duxweb/dvha-pro 1.0.26 → 1.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/cjs/components/data/dynamicData.cjs +1 -1
- package/dist/cjs/components/designEditor/editor.cjs +1 -1
- package/dist/cjs/components/form/formItem.cjs +1 -1
- package/dist/cjs/components/form/pageForm.cjs +1 -1
- package/dist/cjs/components/formEditor/editor.cjs +1 -1
- package/dist/cjs/components/layout/table.cjs +1 -1
- package/dist/cjs/components/table/tablePage.cjs +1 -1
- package/dist/cjs/hooks/action.cjs +1 -1
- package/dist/cjs/theme/uno.css.cjs +2 -1
- package/dist/esm/components/data/dynamicData.js +49 -46
- package/dist/esm/components/designEditor/editor.js +49 -49
- package/dist/esm/components/form/formItem.js +1 -1
- package/dist/esm/components/form/pageForm.js +36 -29
- package/dist/esm/components/formEditor/editor.js +34 -32
- package/dist/esm/components/layout/table.js +24 -24
- package/dist/esm/components/table/tablePage.js +9 -8
- package/dist/esm/hooks/action.js +42 -41
- package/dist/esm/theme/uno.css.js +2 -1
- package/dist/types/components/data/dynamicData.d.ts +1 -1
- package/dist/types/components/form/pageForm.d.ts +9 -0
- package/dist/types/components/table/tablePage.d.ts +1 -0
- package/dist/types/hooks/table/types.d.ts +2 -2
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),V=require("@duxweb/dvha-core"),v=require("@vueuse/core"),u=require("naive-ui"),N=require("vue-draggable-plus"),m=require("../status/blockEmpty.cjs"),h=e.defineComponent({name:"DuxDynamicData",props:{createAction:{type:Boolean,default:!0},deleteAction:{type:Boolean,default:!0},columns:Array,createCallback:Function,onCreate:Function,value:{type:Array,default:[]},defaultValue:{type:Array,default:[]}},setup(a,{emit:d}){const l=v.useVModel(a,"value",d,{passive:!0,defaultValue:a.defaultValue||[],deep:!0}),{renderAsync:i}=V.useJsonSchema(),s=t=>{const c=l.value?.[0][t],r=[...l.value||[]].map(n=>({...n,[t]:c}));l.value=[...r]},y=e.computed(()=>{let t=a.columns?.length||0;return(a.createAction||a.deleteAction)&&(t+=1),t});return()=>e.createVNode(N.VueDraggable,e.mergeProps({modelValue:l.value},{"onUpdate:modelValue":t=>{l.value=t}},{handle:".sort-handle",target:".sort-target",animation:150}),{default:()=>[e.createVNode("div",{class:"overflow-auto w-full"},[e.createVNode(u.NTable,{class:"table-fixed w-full"},{default:()=>[e.createVNode("thead",null,[e.createVNode("tr",null,[e.createVNode("th",{style:{width:"40px"}},null),a.columns?.map((t,c)=>e.createVNode("th",{key:c,style:{width:`${t.width}px`}},[e.createVNode("div",{class:"flex items-center justify-between"},[e.createVNode("div",null,[t.title]),t.copy&&e.createVNode("div",null,[e.createVNode(u.NButton,{onClick:()=>{s(t.key)},renderIcon:()=>e.createVNode("div",{class:"i-tabler:pencil-down t-icon"},null),text:!0,type:"primary"},null)])])])),(a.createAction||a.deleteAction)&&e.createVNode("th",{class:"w-15"},[a.createAction&&e.createVNode(u.NButton,{tertiary:!0,type:"primary",circle:!0,renderIcon:()=>e.createVNode("div",{class:"i-tabler:plus h-4 w-4"},null),onClick:()=>{a?.onCreate?a.onCreate():(l.value||(l.value=[]),l.value?.push(a?.createCallback?.(l.value)||{}))}},null)])])]),e.createVNode("tbody",{class:"sort-target"},[l.value&&l.value?.length>0?l.value.map((t,c)=>e.createVNode("tr",{key:c},[e.createVNode("td",null,[e.createVNode("div",{class:"sort-handle i-tabler:grid-dots size-4 cursor-move"},null)]),a.columns?.map((r,n)=>{const o=typeof r.schema=="function"?r.schema(t,c):r.schema;return e.createVNode("td",{key:n},[r.schema?e.h(i({data:Array.isArray(o)?o:[o],context:{rowIndex:c,model:l.value,row:t}})):r.render?.(t,c)||t[r.key]])}),(a.createAction||a.deleteAction)&&e.createVNode("td",{class:"w-15"},[a.deleteAction&&e.createVNode(u.NButton,{tertiary:!0,type:"error",circle:!0,renderIcon:()=>e.createVNode("div",{class:"i-tabler:trash h-4 w-4"},null),onClick:()=>{l.value.splice(c,1)}},null)])])):e.createVNode("tr",null,[e.createVNode("td",{colspan:y.value},[e.createVNode(m.DuxBlockEmpty,null,null)])])])]})])]})}});exports.DuxDynamicData=h;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("vue"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("vue"),p=require("@duxweb/dvha-core"),i=require("clsx"),d=require("lodash-es"),f=require("naive-ui"),v=require("short-unique-id"),m=require("vue-draggable-plus"),x=require("../card/card.cjs"),b=require("./components/grid.cjs"),V=require("./editor/hook.cjs"),c=require("./editor/preview.cjs"),h=require("./editor/setting.cjs"),w=a.defineComponent({name:"DuxDesignEditor",props:{data:Object,onUpdateData:Function,groups:Array,components:Array,settingPage:Object,actionRender:Function,previewWrapper:Function},setup(r){const{t:l}=p.useI18n(),t=V.useEditor({settingPage:r.settingPage});a.provide("editor.use",t),a.watch([()=>r.components,()=>r.groups],()=>{t.clearGroup(),t.clearComponent(),t.addGroup({name:"layout",label:l("components.designEditor.layout")||"Layout",icon:"i-tabler:layout"}),r.groups?.forEach(e=>{t.addGroup(e)}),t.addComponent(b.duxFormEditorGrid(l)),r.components?.forEach(e=>{t.addComponent(e)})},{immediate:!0,deep:!0});const n=a.ref(),{randomUUID:s}=new v({length:10}),g=e=>({key:s(),name:e.name,options:d.cloneDeep(e.settingDefault)});return a.watch(()=>r.data,e=>{const o=r.settingPage?.default||{};t.value.value={config:{...o,...d.cloneDeep(e?.config||{})},data:d.cloneDeep(e?.data||[])}},{deep:!0,immediate:!0}),a.watch(()=>t.value.value,e=>{e!==r.data&&r.onUpdateData?.(e)},{deep:!0}),()=>a.createVNode(x.DuxCard,{class:"h-full",shadow:!0},{default:()=>[a.createVNode("div",{class:"h-full flex flex-row text-default"},[a.createVNode("div",{class:"flex-none flex flex-col gap-2 border-r border-default bg-default p-2"},[a.createVNode(u,{title:l("components.designEditor.all")||"All",icon:"i-tabler:hexagons",active:!n.value,onClick:()=>{n.value=void 0}},null),t.group.value?.map((e,o)=>a.createVNode(u,{key:o,active:n.value===e.name,title:e.label,icon:e.icon,onClick:()=>{n.value=e.name}},null))]),a.createVNode("div",{class:"flex-none text-xs w-180px bg-default",id:"comp-list"},[a.createVNode(f.NScrollbar,null,{default:()=>[a.createVNode("div",{class:"flex flex-col gap-4 p-2"},[t.tree.value?.filter(e=>n.value?e.name===n.value:!0).map(e=>a.createVNode("div",{key:e.name,class:"flex flex-col gap-2"},[a.createVNode("div",{class:"bg-muted border border-muted rounded p-2 flex justify-center"},[e.label]),a.createVNode(m.VueDraggable,{modelValue:e.children||[],animation:150,group:{name:"widget",pull:"clone",put:!1},sort:!1,clone:g,class:"grid grid-cols-2 items-start gap-2 "},{default:()=>[e.children?.map(o=>a.createVNode("div",{key:o.name,class:"border border-muted rounded-sm p-2 flex flex-col items-center gap-2 cursor-pointer hover:bg-muted edit-drag"},[a.createVNode("div",{class:i(["size-6",o.icon])},null),a.createVNode("div",{class:"truncate whitespace-nowrap px-2 overflow-hidden"},[o.label])]))]})]))])]})]),a.createVNode("div",{class:"flex-1 shadow-sm flex flex-col items-center p-6 overflow-auto",style:"background: linear-gradient(45deg, rgba(0,0,0, 0.1) 25%, transparent 25%), linear-gradient(-45deg, rgba(0,0,0, 0.1) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, rgba(0,0,0, 0.1) 75%), linear-gradient(-45deg, transparent 75%, rgba(0,0,0, 0.1) 75%); background-size: 20px 20px; background-position: 0 0, 0 10px, 10px -10px, -10px 0px;"},[a.createVNode("div",{class:"max-w-2xl w-full flex-1 bg-default shadow p-2",onClick:()=>{t.selected.value=void 0}},[r.previewWrapper?r.previewWrapper(a.createVNode(c.DuxWidgetEditorPreview,{modelValue:t.value.value?.data,onUpdate:e=>t.value.value.data=e},null),t):a.createVNode(c.DuxWidgetEditorPreview,{modelValue:t.value.value?.data,onUpdate:e=>t.value.value.data=e},null)])]),a.createVNode(h.WidgetEditorSetting,{actionRender:r.actionRender},null)])]})}});function u({title:r,icon:l,active:t,onClick:n}){return a.createVNode("div",{class:i(["flex flex-col items-center px-3 py-2 hover:bg-primary/10 cursor-pointer rounded-sm",t?"bg-primary/10 text-primary":""]),onClick:n},[a.createVNode("div",{class:i(["size-4",l])},null),a.createVNode("div",{class:"truncate whitespace-nowrap text-default text-sm"},[r])])}exports.DuxDesignEditor=w;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("vue"),b=require("@vueuse/core"),x=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:d}){const n=t.toRef(e.message),c=t.computed(()=>typeof e.rule=="object"?{...e.rule,required:!!e.required}:typeof e.rule=="string"?e.rule?.includes("required")?e.rule:e.rule?`${e.rule}|required`:"required":e.rule),{errorMessage:i,value:s,setErrors:o,validate:f}=x.useField(e.path||"",c.value||{},{label:e.label}),m=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),u=t.computed(()=>i.value&&(n.value||i.value));t.watch(u,r=>{r&&o(r)},{immediate:!0}),b.watchThrottled(s,r=>{r&&f()},{throttle:300,deep:!0});const a=t.inject("dux.form",{labelPlacement:t.ref("left"),labelAlign:t.ref("left"),labelWidth:t.ref(70),divider:t.ref(!1)}),l=t.computed(()=>e.labelPlacement||a.labelPlacement.value),v=t.computed(()=>{let r=e.labelWidth||a.labelWidth.value||70;return typeof r=="number"&&(r=`${r}px`),l.value!=="left"?"auto":r}),g=t.computed(()=>a.divider.value||l.value==="page");return()=>t.createVNode("div",{class:[l.value!=="top"?"md:flex-row gap-2 lg:items-center":"gap-1",g.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"]},[e.label&&t.createVNode("div",{class:[l.value==="left"?"flex lg:items-center":"md:mb-1",l.value==="left"&&a.labelAlign.value==="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,m.value&&t.createVNode("span",{class:"text-error font-mono text-xs"},[t.createTextVNode("*")])])]),e.description&&(l.value==="setting"||l.value==="page")&&t.createVNode("div",{class:"text-sm text-muted"},[e.description])])]),t.createVNode("div",{class:["flex flex-col gap-1",l.value==="setting"?"flex-none md:w-40%":"flex-1",l.value==="page"?"col-span-3":""]},[t.createVNode("div",{class:l.value==="setting"?"flex-1 lg:flex lg:justify-end":""},[d?.default?.()]),e.description&&l.value==="left"&&t.createVNode("div",{class:"text-sm text-muted"},[e.description]),u.value&&t.createVNode("div",{class:"text-error"},[u.value])])])}});exports.DuxFormItem=y;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("vue"),b=require("@vueuse/core"),x=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:d}){const n=t.toRef(e.message),c=t.computed(()=>typeof e.rule=="object"?{...e.rule,required:!!e.required}:typeof e.rule=="string"?e.rule?.includes("required")?e.rule:e.rule?`${e.rule}|required`:"required":e.rule),{errorMessage:i,value:s,setErrors:o,validate:f}=x.useField(e.path||"",c.value||{},{label:e.label}),m=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),u=t.computed(()=>i.value&&(n.value||i.value));t.watch(u,r=>{r&&o(r)},{immediate:!0}),b.watchThrottled(s,r=>{r&&f()},{throttle:300,deep:!0});const a=t.inject("dux.form",{labelPlacement:t.ref("left"),labelAlign:t.ref("left"),labelWidth:t.ref(70),divider:t.ref(!1)}),l=t.computed(()=>e.labelPlacement||a.labelPlacement.value),v=t.computed(()=>{let r=e.labelWidth||a.labelWidth.value||70;return typeof r=="number"&&(r=`${r}px`),l.value!=="left"?"auto":r}),g=t.computed(()=>a.divider.value||l.value==="page");return()=>t.createVNode("div",{class:[l.value!=="top"?"md:flex-row gap-2 lg:items-center":"gap-1",g.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"]},[e.label&&t.createVNode("div",{class:[l.value==="left"?"flex lg:items-center":"md:mb-1",l.value==="left"&&a.labelAlign.value==="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,m.value&&t.createVNode("span",{class:"text-error font-mono text-xs"},[t.createTextVNode("*")])])]),e.description&&(l.value==="setting"||l.value==="page")&&t.createVNode("div",{class:"text-sm text-muted"},[e.description])])]),t.createVNode("div",{class:["flex flex-col gap-1",l.value==="setting"?"flex-none md:w-40%":"flex-1",l.value==="page"?"col-span-3":""]},[t.createVNode("div",{class:l.value==="setting"?"flex-1 lg:flex lg:justify-end":""},[d?.default?.()]),e.description&&(l.value==="left"||l.value==="top")&&t.createVNode("div",{class:"text-sm text-muted"},[e.description]),u.value&&t.createVNode("div",{class:"text-error"},[u.value])])])}});exports.DuxFormItem=y;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),a=require("@duxweb/dvha-core"),o=require("naive-ui"),g=require("vue-router");require("@overlastic/vue");const b=require("../card/card.cjs");require("clsx");require("vue-echarts");require("@vueuse/core");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("vue-cropper");require("jinrishici");require("lodash-es");require("vue-draggable-plus");require("short-unique-id");require("aieditor");const p=require("./formLayout.cjs");require("vee-validate");require("@duxweb/dvha-naiveui");require("@iconify-json/tabler/icons.json");require("../posterEditor/elements/index.cjs");require("fabric");require("mime");require("dayjs");require("@tanstack/vue-query");require("pinia");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");const y=require("../../pages/page.cjs");require("../../pages/page404.cjs");const v=e.defineComponent({name:"DuxPageForm",props:{id:{type:[String,Number]},action:{type:String},title:{type:String},description:{type:String},labelPlacement:{type:String,default:"left"},path:{type:String},data:{type:Object},onSuccess:{type:Function},onError:{type:Function},size:{type:String,default:"medium"},invalidate:{type:String}},setup(r,{slots:c}){const{t:i}=a.useI18n(),l=e.toRef(r,"data",{}),s=o.useMessage(),d=g.useRouter(),n=a.useTabStore(),{invalidate:q}=a.useInvalidate(),t=a.useExtendForm({id:r.id,path:r.path,form:l,action:r.action,onError:u=>{s.error(u.message||i("components.form.error")),r.onError?.(u)},onSuccess:u=>{s.success(i("components.form.success")),r.onSuccess?.(u),!t.isEdit.value&&n.current&&n.delTab(n.current,m=>d.push(m.path||"")),r.invalidate&&q(r.invalidate)}}),f=n.tabs.find(u=>u.path===n.current);return()=>e.createVNode(y.DuxPage,{card:!1,scrollbar:!1},{default:()=>[e.createVNode(b.DuxCard,{title:r?.title||f?.label||(t.isEdit.value?i("components.form.edit"):i("components.form.create")),description:r?.description,class:"h-full flex flex-col",contentClass:"flex-1 min-h-0",contentSize:"none","header-bordered":!0},{default:()=>e.createVNode(o.NScrollbar,null,{default:()=>[e.createVNode(p.DuxFormLayout,{labelPlacement:r.labelPlacement,class:"p-4"},{default:()=>[c?.default?.(t)]})]}),headerExtra:()=>e.createVNode("div",{class:"flex gap-6 items-center"},[c?.actions?.(t),e.createVNode("div",{class:"flex gap-2"},[e.createVNode(o.NButton,{onClick:()=>t.onReset(),loading:t.isLoading.value},{default:()=>i("components.button.reset"),icon:()=>e.createVNode("i",{class:"i-tabler:refresh"},null)}),e.createVNode(o.NButton,{type:"primary",onClick:()=>t.onSubmit(),loading:t.isLoading.value},{default:()=>i("components.button.submit"),icon:()=>e.createVNode("i",{class:"i-tabler:device-floppy"},null)})])])})]})}});exports.DuxPageForm=v;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("vue"),q=require("@duxweb/dvha-core"),s=require("naive-ui");require("vue-router");require("@overlastic/vue");require("clsx");require("vue-echarts");require("@vueuse/core");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("vue-cropper");require("jinrishici");require("lodash-es");require("vue-draggable-plus");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("vee-validate");require("vue-command-palette");require("@duxweb/dvha-naiveui");require("../../pages/page404.cjs");const d=require("../designEditor/editor.cjs");require("short-unique-id");require("aieditor");const p=require("../form/formLayout.cjs"),E=require("./
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("vue"),q=require("@duxweb/dvha-core"),s=require("naive-ui");require("vue-router");require("@overlastic/vue");require("clsx");require("vue-echarts");require("@vueuse/core");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("vue-cropper");require("jinrishici");require("lodash-es");require("vue-draggable-plus");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("vee-validate");require("vue-command-palette");require("@duxweb/dvha-naiveui");require("../../pages/page404.cjs");const d=require("../designEditor/editor.cjs");require("short-unique-id");require("aieditor");const p=require("../form/formLayout.cjs"),E=require("./base/setting.cjs"),x=require("./components/cascader.cjs"),f=require("./components/cascaderAsync.cjs"),y=require("./components/checkbox.cjs"),F=require("./components/color.cjs"),g=require("./components/date.cjs"),v=require("./components/dynamicInput.cjs"),b=require("./components/dynamicTags.cjs"),S=require("./components/editor.cjs"),N=require("./components/input.cjs"),D=require("./components/inputNumber.cjs"),A=require("./components/mentionAsync.cjs"),P=require("./components/radio.cjs"),h=require("./components/region.cjs"),C=require("./components/sider.cjs"),k=require("./components/switch.cjs"),V=require("./components/time.cjs"),T=require("./components/transferAsync.cjs"),j=require("./components/treeSelect.cjs"),I=require("./components/treeSelectAsync.cjs"),w=require("./components/select.cjs"),O=require("./components/selectAsync.cjs");require("@iconify-json/tabler/icons.json");require("../posterEditor/elements/index.cjs");require("fabric");require("mime");const _=require("../../hooks/modal.cjs");require("dayjs");require("@tanstack/vue-query");require("pinia");function n(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Object]"&&!r.isVNode(t)}const B=r.defineComponent({name:"DuxFormEditor",props:{onSave:Function},extends:d.DuxDesignEditor,setup(t){const{t:e}=q.useI18n(),a=_.useModal(),l=r.computed(()=>[{name:"form",label:e("components.formEditor.groups.form"),icon:"i-tabler:forms"},{name:"select",label:e("components.formEditor.groups.select"),icon:"i-tabler:select"},{name:"async",label:e("components.formEditor.groups.async"),icon:"i-tabler:loader"}]),m=r.computed(()=>[N.duxFormEditorInput(e),D.duxFormEditorInputNumber(e),S.duxFormEditorAIEditor(e),C.duxFormEditorSider(e),g.duxFormEditorDate(e),V.duxFormEditorTime(e),F.duxFormEditorColor(e),y.duxFormEditorCheckbox(e),P.duxFormEditorRadio(e),k.duxFormEditorSwitch(e),v.duxFormEditorDynamicInput(e),b.duxFormEditorDynamicTags(e),w.duxFormEditorSelect(e),x.duxFormEditorCascader(e),j.duxFormEditorTreeSelect(e),h.duxFormEditorRegion(e),O.duxFormEditorSelectAsync(e),f.duxFormEditorCascaderAsync(e),I.duxFormEditorTreeSelectAsync(e),T.duxFormEditorTransferAsync(e),A.duxFormEditorMentionAsync(e)]);return()=>r.createVNode(d.DuxDesignEditor,r.mergeProps(t,{groups:l.value,components:m.value,settingPage:{component:o=>r.createVNode(E.DuxFormEditorSettingPage,o,null),default:{labelPlacement:"left"}},previewWrapper:(o,i)=>{const u=r.computed(()=>i?.value?.value?.config);return r.createVNode(p.DuxFormLayout,{labelPlacement:u.value?.labelPlacement||"left",class:"h-full"},n(o)?o:{default:()=>[o]})},actionRender:o=>{let i,u,c;return r.createVNode("div",{class:"flex flex-col gap-2"},[r.createVNode(s.NButton,{type:"primary",secondary:!0,block:!0,onClick:()=>{a.show({title:e("components.formEditor.main.actions.jsonOutput"),component:()=>Promise.resolve().then(()=>require("./json.cjs")),componentProps:{value:o?.value?.value.data||[]}})}},n(i=e("components.formEditor.main.actions.jsonOutput"))?i:{default:()=>[i]}),r.createVNode(s.NButton,{type:"info",secondary:!0,block:!0,onClick:()=>{a.show({title:e("common.preview"),component:()=>Promise.resolve().then(()=>require("./preview.cjs")),componentProps:{data:o?.value?.value.data||[],config:o?.value?.value.config||{}}})}},n(u=e("common.preview"))?u:{default:()=>[u]}),r.createVNode(s.NButton,{type:"primary",block:!0,onClick:()=>{t.onSave?.(o?.value?.value||{})}},n(c=e("components.formEditor.main.actions.save"))?c:{default:()=>[c]})])}}),null)}});exports.DuxFormEditor=B;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),p=require("@duxweb/dvha-core"),E=require("@vueuse/core"),a=require("naive-ui"),F=require("../../hooks/action.cjs");require("@overlastic/vue");require("clsx");require("vue-echarts");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("vue-cropper");const W=require("../modal/modalPage.cjs");require("jinrishici");require("lodash-es");require("vue-draggable-plus");const I=require("./filter.cjs"),J=require("./filterLayout.cjs");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("vee-validate");require("vue-router");require("vue-command-palette");require("@duxweb/dvha-naiveui");const M=require("../../pages/page.cjs");require("../../pages/page404.cjs");const v=require("../drawer/drawerPage.cjs"),_=require("./tools.cjs");require("short-unique-id");require("aieditor");require("@iconify-json/tabler/icons.json");require("../posterEditor/elements/index.cjs");require("fabric");require("mime");require("dayjs");require("@tanstack/vue-query");const $=require("../../hooks/table.cjs");require("pinia");function K(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Object]"&&!e.isVNode(t)}const G=e.defineComponent({name:"DuxTableLayout",props:{path:{type:String,required:!0},filter:{type:Object},filterSchema:{type:Array},filterNumber:{type:Number,default:1},columns:{type:Array},pagination:{type:[Boolean,Object],default:!0},tabs:{type:Array},actions:{type:Array,default:()=>[]},tools:{type:Object},sideLeftTitle:{type:String,default:""},sideRightTitle:{type:String,default:""},hookTableProps:{type:Object}},setup(t,{slots:o}){const f=e.toRef(t,"filter",{}),q=e.toRef(t,"columns",[]),{t:l}=p.useI18n(),{renderAction:w}=F.useAction(),b=$.useTable({path:t.path,filters:f.value,columns:q,pagination:t.pagination,...t.hookTableProps}),{columns:N,tablePagination:y,table:V,onUpdateColumnSelected:x,onUpdateChecked:T,columnSelected:k,autoRefetch:C,autoCountdown:m,onAutoRefetch:R,isExporting:S,isExportingRows:j,isImporting:L,onExport:P,onExportRows:D,onImport:z}=b,B=e.computed(()=>N.value.filter(r=>"title"in r&&"key"in r).map(r=>({label:r.title,value:r.key}))),{width:n}=E.useWindowSize(),O=e.computed(()=>N.value.reduce((i,d)=>i+(Number(d?.width)||Number(d?.minWidth)||110),0)),u=e.reactive({show:!1}),c=e.reactive({show:!1}),s=e.reactive({show:!1}),h=e.computed(()=>(t.filterSchema||[]).map(r=>{const{label:i,...d}=r;return{tag:I.DuxTableFilter,attrs:{label:i},children:d}})),{render:U}=p.useJsonSchema({data:e.computed(()=>h.value?.slice(t.filterNumber))}),{render:A}=p.useJsonSchema({data:e.computed(()=>h.value?.slice(0,t.filterNumber))}),g=e.computed(()=>({import:!1,export:!0,refresh:!0,...t.tools}));return()=>e.createVNode(M.DuxPage,{actions:t.actions,scrollbar:!1},{sideLeft:()=>o?.sideLeft&&n.value>=1024?o?.sideLeft?.():void 0,sideRight:()=>o?.sideRight&&n.value>=1024?o?.sideRight?.():void 0,default:()=>e.createVNode("div",{class:"flex flex-col gap-2 h-full relative"},[e.createVNode("div",{class:"flex gap-2 justify-between flex-col lg:flex-row"},[t.tabs&&e.createVNode("div",{class:"flex flex-none"},[e.createVNode(a.NTabs,{type:"segment",size:"small",style:{"--n-tab-padding":"4px 10px"},"default-value":t.tabs?.[0]?.value,value:f.value?.tab,onUpdateValue:r=>{f.value.tab=r}},{default:()=>[t.tabs?.map(r=>e.createVNode(a.NTab,{name:r.value,tab:r.label},null))]})]),e.createVNode("div",{class:["overflow-hidden flex-1 flex gap-2"]},[o?.sideLeft&&n.value<1024&&e.createVNode(a.NButton,{class:"flex-none",secondary:!0,onClick:()=>{c.show=!c.show}},{icon:()=>e.createVNode("div",{class:"i-tabler:layout-sidebar-inactive size-4"},null)}),e.createVNode("div",{class:["flex-1 flex flex-col lg:flex-row gap-2 flex-wrap",t.tabs?"justify-end":"justify-start"]},[e.h(A)]),o?.sideRight&&n.value<1024&&e.createVNode(a.NButton,{class:"flex-none",secondary:!0,onClick:()=>{s.show=!s.show}},{icon:()=>e.createVNode("div",{class:"i-tabler:layout-sidebar-right-inactive size-4"},null)})]),e.createVNode("div",{class:"flex gap-2 justify-between lg:justify-end"},[e.createVNode("div",{class:"flex gap-2 items-center"},[h.value.length>t.filterNumber&&e.createVNode(a.NButton,{iconPlacement:"right",onClick:()=>{u.show=!u.show}},{default:()=>l("components.button.filter"),icon:()=>e.createVNode("div",{class:["i-tabler:chevrons-down size-4 transition-all"]},null)}),o?.tools?.(),e.createVNode(a.NPopselect,{options:B.value,value:k.value,onUpdateValue:r=>{x(r)},multiple:!0,placement:"bottom-start",trigger:"click"},{default:()=>[e.createVNode(a.NTooltip,null,{trigger:()=>e.createVNode(a.NButton,{secondary:!0,"icon-placement":"right"},{icon:()=>e.createVNode("div",{class:"i-tabler:columns size-4"},null)}),default:()=>l("components.list.columnSetting")})]}),g.value.export&&e.createVNode(a.NTooltip,null,{trigger:()=>e.createVNode(a.NButton,{secondary:!0,loading:S.value,onClick:P},{icon:()=>e.createVNode("div",{class:"i-tabler:database-export size-4"},null)}),default:()=>l("components.button.export")}),g.value.import&&e.createVNode(a.NTooltip,null,{trigger:()=>e.createVNode(a.NButton,{secondary:!0,loading:L.value,onClick:z},{icon:()=>e.createVNode("div",{class:"i-tabler:database-import size-4"},null)}),default:()=>l("components.button.import")}),g.value.refresh&&e.createVNode(a.NTooltip,null,{trigger:()=>e.createVNode(a.NButton,{secondary:!0,onClick:R},{icon:()=>C.value?e.createVNode(a.NProgress,{class:"size-4",type:"circle",percentage:m.value*10,strokeWidth:20,color:"rgba(var(--ui-color-primary))"},{default:()=>[e.createVNode("span",{class:"text-8px"},[m.value])]}):e.createVNode("div",{class:"i-tabler:refresh size-4"},null)}),default:()=>l("components.button.autoRefresh")})]),e.createVNode("div",{class:"flex gap-2 justify-end"},[o.actions?.(),t.actions?.length>0&&w({type:n.value<1024?"dropdown":"button",items:t.actions})])])]),o?.header?.(),e.createVNode("div",{class:"flex-1 min-h-0"},[o?.default?.({...b,width:O.value})]),e.createVNode("div",{class:"flex justify-between"},[e.createVNode("div",null,[o?.bottom?.()]),e.createVNode("div",null,[t.pagination&&e.createVNode(a.NPagination,e.mergeProps(y.value,{simple:n.value<768}),{prefix:()=>e.createVNode("div",null,[l("components.list.total",{total:b.total.value||0})])})])]),e.createVNode(_.DuxTableTools,{number:V.value.checkedRowKeys?.length||0||0,group:[[{icon:"i-tabler:x",onClick:()=>{T?.([])}}],[{label:l("components.button.export"),icon:"i-tabler:file-export",loading:j.value,onClick:D},{label:l("components.button.delete"),type:"error",icon:"i-tabler:trash"}]]},null),e.createVNode(a.NModal,{draggable:!0,class:"bg-white rounded dark:shadow-gray-950/80 dark:bg-gray-800/60 backdrop-blur min-w-110",show:u.show,onUpdateShow:r=>u.show=r},{default:({draggableClass:r})=>{let i;return e.createVNode(W.default,{title:l("components.button.filter"),handle:r,onClose:()=>u.show=!1},{default:()=>[e.createVNode(J.DuxFilterLayout,{showLabel:!0,labelPlacement:"top"},K(i=e.h(U))?i:{default:()=>[i]})]})}}),e.createVNode(a.NDrawer,{show:c.show,onUpdateShow:r=>c.show=r,autoFocus:!1,placement:"left"},{default:()=>[e.createVNode(v.DuxDrawerPage,{title:t.sideLeftTitle||l("components.button.sideLeft"),onClose:()=>c.show=!1,scrollbar:!1},{default:()=>[o?.sideLeft?.()]})]}),e.createVNode(a.NDrawer,{show:s.show,onUpdateShow:r=>s.show=r,autoFocus:!1,placement:"right"},{default:()=>[e.createVNode(v.DuxDrawerPage,{title:t.sideRightTitle||l("components.button.sideRight"),onClose:()=>s.show=!1,scrollbar:!1},{default:()=>[o?.sideRight?.()]})]})])})}});exports.DuxTableLayout=G;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("vue"),u=require("naive-ui"),i=require("../layout/table.cjs");require("@duxweb/dvha-core");require("clsx");const n=require("../status/listEmpty.cjs"),d=r.defineComponent({name:"DuxTablePage",props:{tableProps:{type:Object}},extends:i.DuxTableLayout,slots:Object,setup(o,{slots:t}){const l=r.computed(()=>{const{tableProps:a,...e}=o;return e});return()=>r.createVNode(i.DuxTableLayout,l.value,{default:a=>r.createVNode(u.NDataTable,r.mergeProps(a.table.value,o.tableProps,{class:"h-full",minHeight:200,tableLayout:"fixed",flexHeight:!0,rowKey:e=>e.id,bordered:!1,scrollX:a.width,renderCell:e=>e==null||e===""?"-":e}),{empty:()=>r.createVNode(n.DuxListEmpty,{bordered:!1},null)}),bottom:t?.bottom,tools:t?.tools,actions:t?.actions,sideLeft:t?.sideLeft,sideRight:t?.sideRight,header:t?.header})}});exports.DuxTablePage=d;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("@duxweb/dvha-core"),f=require("naive-ui"),s=require("vue"),S=require("vue-router"),M=require("./dialog.cjs"),$=require("./drawer.cjs"),D=require("./modal.cjs");function I(o){const h=D.useModal(),i=$.useDrawer(),u=M.useDialog(),{t:n}=r.useI18n(),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("@duxweb/dvha-core"),f=require("naive-ui"),s=require("vue"),S=require("vue-router"),M=require("./dialog.cjs"),$=require("./drawer.cjs"),D=require("./modal.cjs");function I(o){const h=D.useModal(),i=$.useDrawer(),u=M.useDialog(),{t:n}=r.useI18n(),d=f.useMessage(),y=r.useManage(),k=S.useRouter(),v=r.useCustomMutation({onSuccess:t=>{d.success(t.message||n("common.success"))},onError:t=>{d.error(t.message||n("common.error"))}}),q=r.useDelete({onSuccess:t=>{d.success(t.message||n("common.success"))},onError:t=>{d.error(t.message||n("common.error"))}}),m=o?.path||y.getPath(),g=t=>{const c=n(t.item.title||"",{},t.item.title),l=n(t.item.label||"",{},t.item.label);if(t.item.type==="modal"){const e=t.item,a=typeof e.componentProps=="function"?e.componentProps(t.data):e.componentProps;h.show({title:c||l,component:e.component,componentProps:{id:t.id,...a},width:e.width,draggable:e.draggable!==void 0?e.draggable:!0})}if(t.item.type==="drawer"){const e=t.item,a=typeof e.componentProps=="function"?e.componentProps(t.data):e.componentProps;i.show({title:c||l,component:e.component,componentProps:{id:t.id,...a},width:e.width,maxWidth:e.maxWidth})}if(t.item.type==="confirm"){const e=t.item;u.confirm({title:c||l,content:e.content}).then(a=>{a&&e.callback?.(t.id,t.data)})}if(t.item.type==="request"){const e=t.item;u.confirm({title:c||l,content:e.content}).then(()=>{const a=typeof e.data=="function"?e.data(t.id,t.data):e.data,A=(e.method||"post").toLowerCase(),j=typeof e.path=="function"?e.path(t.id,t.data):e.path||m;v.mutate({path:j,method:A,payload:a})})}if(t.item.type==="delete"){const e=t.item;u.confirm({title:c||l,content:e.content}).then(()=>{q.mutate({id:t.id,path:typeof e.path=="function"?e.path(t.id,t.data):e.path||m})})}if(t.item.type==="link"){const e=t.item;let a=typeof e.path=="function"?e.path?.(t.id,t.data):t.id?`${e.path||m}${t.data===void 0?"":`/${t.id}`}`:e.path||m;a.startsWith("/")||(a=y.getRoutePath(a)),k.push(a)}t.item.type==="callback"&&t.item.callback?.(t.id,t.data)},b=w(),x=P();return{target:g,renderTable:t=>(c,l)=>{const e={id:c[t.key||o?.key||"id"],data:c,index:l,target:g,text:t.text!==void 0?t.text:o?.text||!1,align:t.align!==void 0?t.align:o?.align||"left"};return(t.type||o?.type)==="button"?b.render({...e,action:t||o}):x.render({...e,action:t||o})},renderAction:t=>{const c={target:g,text:t.text!==void 0?t.text:o?.text||!1,align:t.align!==void 0?t.align:o?.align||"left"};return(t.type||o?.type)==="button"?b.render({...c,action:t||o}):x.render({...c,action:t||o})}}}function w(){const{t:o}=r.useI18n();return{render:i=>{const u=i.action.items?.filter(n=>!n.show||n.show?.(i.data,i.index)).map((n,d)=>s.h(f.NButton,{key:d,type:n.color||(n.type==="delete"?"error":"primary"),text:i.text,secondary:!i.text,onClick:()=>{i?.target?.({id:i.id,data:i.data,item:n})},renderIcon:n.icon?()=>s.h("div",{class:["n-icon",n.icon]}):void 0},()=>o(n.label||"",{},n.label)));return s.h("div",{class:["flex gap-2 flex-wrap items-center",i.align==="right"?"justify-end":i.align==="center"?"justify-center":"justify-start"]},u)}}}function P(){const{t:o}=r.useI18n();return{render:i=>{const u=i.action.items?.filter(n=>!n.show||n.show?.(i.data,i.index)).map((n,d)=>({label:o(n.label||"",{},n.label),key:d,icon:n.icon?()=>s.h("div",{class:["n-icon",n.icon]}):void 0,onSelect:()=>{i?.target?.({id:i.id,data:i.data,item:n})}}));return s.h(f.NDropdown,{trigger:"click",options:u,onSelect:(n,d)=>{d?.onSelect?.()}},()=>[s.h("div",{class:["flex items-center",i.align==="right"?"justify-end":i.align==="center"?"justify-center":"justify-start"]},s.h(f.NButton,{type:"default",text:i.text,secondary:!i.text,renderIcon:()=>s.h("div",{class:["n-icon","i-tabler:dots-vertical"]})}))])}}}exports.useAction=I;exports.useActionButton=w;exports.useActionDropdown=P;
|
|
@@ -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-from-opacity:100%;--un-divide-y-reverse:initial;--un-border-style:solid;--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:initial;--un-border-style:solid;--un-divide-x-reverse:initial;--un-divide-opacity:100%;--un-shadow-opacity:100%;--un-ease:initial;--un-translate-x:initial;--un-translate-y:initial;--un-translate-z:initial;--un-border-opacity:100%;--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%;}
|
|
@@ -1048,6 +1048,7 @@ input:where([type='button'], [type='reset'], [type='submit']),
|
|
|
1048
1048
|
.m-302\\.2{margin:calc(var(--spacing) * 302.2);}
|
|
1049
1049
|
.m14{margin:calc(var(--spacing) * 14);}
|
|
1050
1050
|
.m146\\.8{margin:calc(var(--spacing) * 146.8);}
|
|
1051
|
+
.m18{margin:calc(var(--spacing) * 18);}
|
|
1051
1052
|
.m29\\.3{margin:calc(var(--spacing) * 29.3);}
|
|
1052
1053
|
.m3{margin:calc(var(--spacing) * 3);}
|
|
1053
1054
|
.m5{margin:calc(var(--spacing) * 5);}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import { useJsonSchema as
|
|
3
|
-
import { useVModel as
|
|
4
|
-
import { NTable as
|
|
5
|
-
import { VueDraggable as
|
|
1
|
+
import { defineComponent as y, computed as v, createVNode as e, mergeProps as f, h } from "vue";
|
|
2
|
+
import { useJsonSchema as A } from "@duxweb/dvha-core";
|
|
3
|
+
import { useVModel as b } from "@vueuse/core";
|
|
4
|
+
import { NTable as k, NButton as o } from "naive-ui";
|
|
5
|
+
import { VueDraggable as p } from "vue-draggable-plus";
|
|
6
6
|
import { DuxBlockEmpty as g } from "../status/blockEmpty.js";
|
|
7
|
-
const
|
|
7
|
+
const N = /* @__PURE__ */ y({
|
|
8
8
|
name: "DuxDynamicData",
|
|
9
9
|
props: {
|
|
10
10
|
createAction: {
|
|
@@ -27,30 +27,30 @@ const B = /* @__PURE__ */ m({
|
|
|
27
27
|
default: []
|
|
28
28
|
}
|
|
29
29
|
},
|
|
30
|
-
setup(
|
|
31
|
-
emit:
|
|
30
|
+
setup(l, {
|
|
31
|
+
emit: i
|
|
32
32
|
}) {
|
|
33
|
-
const a =
|
|
33
|
+
const a = b(l, "value", i, {
|
|
34
34
|
passive: !0,
|
|
35
|
-
defaultValue:
|
|
35
|
+
defaultValue: l.defaultValue || [],
|
|
36
36
|
deep: !0
|
|
37
37
|
}), {
|
|
38
|
-
renderAsync:
|
|
39
|
-
} =
|
|
40
|
-
const
|
|
38
|
+
renderAsync: s
|
|
39
|
+
} = A(), d = (t) => {
|
|
40
|
+
const n = a.value?.[0][t], u = [...a.value || []].map((r) => ({
|
|
41
41
|
...r,
|
|
42
|
-
[
|
|
42
|
+
[t]: n
|
|
43
43
|
}));
|
|
44
|
-
a.value = [...
|
|
45
|
-
},
|
|
46
|
-
let
|
|
47
|
-
return (
|
|
44
|
+
a.value = [...u];
|
|
45
|
+
}, m = v(() => {
|
|
46
|
+
let t = l.columns?.length || 0;
|
|
47
|
+
return (l.createAction || l.deleteAction) && (t += 1), t;
|
|
48
48
|
});
|
|
49
|
-
return () => e(
|
|
49
|
+
return () => e(p, f({
|
|
50
50
|
modelValue: a.value
|
|
51
51
|
}, {
|
|
52
|
-
"onUpdate:modelValue": (
|
|
53
|
-
a.value =
|
|
52
|
+
"onUpdate:modelValue": (t) => {
|
|
53
|
+
a.value = t;
|
|
54
54
|
}
|
|
55
55
|
}, {
|
|
56
56
|
handle: ".sort-handle",
|
|
@@ -59,32 +59,32 @@ const B = /* @__PURE__ */ m({
|
|
|
59
59
|
}), {
|
|
60
60
|
default: () => [e("div", {
|
|
61
61
|
class: "overflow-auto w-full"
|
|
62
|
-
}, [e(
|
|
62
|
+
}, [e(k, {
|
|
63
63
|
class: "table-fixed w-full"
|
|
64
64
|
}, {
|
|
65
65
|
default: () => [e("thead", null, [e("tr", null, [e("th", {
|
|
66
66
|
style: {
|
|
67
67
|
width: "40px"
|
|
68
68
|
}
|
|
69
|
-
}, null),
|
|
70
|
-
key:
|
|
69
|
+
}, null), l.columns?.map((t, n) => e("th", {
|
|
70
|
+
key: n,
|
|
71
71
|
style: {
|
|
72
|
-
width: `${
|
|
72
|
+
width: `${t.width}px`
|
|
73
73
|
}
|
|
74
74
|
}, [e("div", {
|
|
75
75
|
class: "flex items-center justify-between"
|
|
76
|
-
}, [e("div", null, [
|
|
76
|
+
}, [e("div", null, [t.title]), t.copy && e("div", null, [e(o, {
|
|
77
77
|
onClick: () => {
|
|
78
|
-
d(
|
|
78
|
+
d(t.key);
|
|
79
79
|
},
|
|
80
80
|
renderIcon: () => e("div", {
|
|
81
81
|
class: "i-tabler:pencil-down t-icon"
|
|
82
82
|
}, null),
|
|
83
83
|
text: !0,
|
|
84
84
|
type: "primary"
|
|
85
|
-
}, null)])])])), (
|
|
85
|
+
}, null)])])])), (l.createAction || l.deleteAction) && e("th", {
|
|
86
86
|
class: "w-15"
|
|
87
|
-
}, [
|
|
87
|
+
}, [l.createAction && e(o, {
|
|
88
88
|
tertiary: !0,
|
|
89
89
|
type: "primary",
|
|
90
90
|
circle: !0,
|
|
@@ -92,26 +92,29 @@ const B = /* @__PURE__ */ m({
|
|
|
92
92
|
class: "i-tabler:plus h-4 w-4"
|
|
93
93
|
}, null),
|
|
94
94
|
onClick: () => {
|
|
95
|
-
|
|
95
|
+
l?.onCreate ? l.onCreate() : (a.value || (a.value = []), a.value?.push(l?.createCallback?.(a.value) || {}));
|
|
96
96
|
}
|
|
97
97
|
}, null)])])]), e("tbody", {
|
|
98
98
|
class: "sort-target"
|
|
99
|
-
}, [a.value && a.value?.length > 0 ? a.value.map((
|
|
100
|
-
key:
|
|
99
|
+
}, [a.value && a.value?.length > 0 ? a.value.map((t, n) => e("tr", {
|
|
100
|
+
key: n
|
|
101
101
|
}, [e("td", null, [e("div", {
|
|
102
102
|
class: "sort-handle i-tabler:grid-dots size-4 cursor-move"
|
|
103
|
-
}, null)]),
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
103
|
+
}, null)]), l.columns?.map((u, r) => {
|
|
104
|
+
const c = typeof u.schema == "function" ? u.schema(t, n) : u.schema;
|
|
105
|
+
return e("td", {
|
|
106
|
+
key: r
|
|
107
|
+
}, [u.schema ? h(s({
|
|
108
|
+
data: Array.isArray(c) ? c : [c],
|
|
109
|
+
context: {
|
|
110
|
+
rowIndex: n,
|
|
111
|
+
model: a.value,
|
|
112
|
+
row: t
|
|
113
|
+
}
|
|
114
|
+
})) : u.render?.(t, n) || t[u.key]]);
|
|
115
|
+
}), (l.createAction || l.deleteAction) && e("td", {
|
|
113
116
|
class: "w-15"
|
|
114
|
-
}, [
|
|
117
|
+
}, [l.deleteAction && e(o, {
|
|
115
118
|
tertiary: !0,
|
|
116
119
|
type: "error",
|
|
117
120
|
circle: !0,
|
|
@@ -119,15 +122,15 @@ const B = /* @__PURE__ */ m({
|
|
|
119
122
|
class: "i-tabler:trash h-4 w-4"
|
|
120
123
|
}, null),
|
|
121
124
|
onClick: () => {
|
|
122
|
-
a.value.splice(
|
|
125
|
+
a.value.splice(n, 1);
|
|
123
126
|
}
|
|
124
127
|
}, null)])])) : e("tr", null, [e("td", {
|
|
125
|
-
colspan:
|
|
128
|
+
colspan: m.value
|
|
126
129
|
}, [e(g, null, null)])])])]
|
|
127
130
|
})])]
|
|
128
131
|
});
|
|
129
132
|
}
|
|
130
133
|
});
|
|
131
134
|
export {
|
|
132
|
-
|
|
135
|
+
N as DuxDynamicData
|
|
133
136
|
};
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import { useI18n as
|
|
3
|
-
import
|
|
4
|
-
import { cloneDeep as
|
|
1
|
+
import { defineComponent as f, provide as g, watch as d, ref as v, createVNode as a } from "vue";
|
|
2
|
+
import { useI18n as x } from "@duxweb/dvha-core";
|
|
3
|
+
import u from "clsx";
|
|
4
|
+
import { cloneDeep as i } from "lodash-es";
|
|
5
5
|
import { NScrollbar as b } from "naive-ui";
|
|
6
|
-
import
|
|
7
|
-
import { VueDraggable as
|
|
6
|
+
import w from "short-unique-id";
|
|
7
|
+
import { VueDraggable as h } from "vue-draggable-plus";
|
|
8
8
|
import { DuxCard as y } from "../card/card.js";
|
|
9
|
-
import { duxFormEditorGrid as
|
|
10
|
-
import { useEditor as
|
|
11
|
-
import { DuxWidgetEditorPreview as
|
|
12
|
-
import { WidgetEditorSetting as
|
|
13
|
-
const R = /* @__PURE__ */
|
|
9
|
+
import { duxFormEditorGrid as D } from "./components/grid.js";
|
|
10
|
+
import { useEditor as k } from "./editor/hook.js";
|
|
11
|
+
import { DuxWidgetEditorPreview as c } from "./editor/preview.js";
|
|
12
|
+
import { WidgetEditorSetting as C } from "./editor/setting.js";
|
|
13
|
+
const R = /* @__PURE__ */ f({
|
|
14
14
|
name: "DuxDesignEditor",
|
|
15
15
|
props: {
|
|
16
16
|
data: Object,
|
|
@@ -23,46 +23,46 @@ const R = /* @__PURE__ */ m({
|
|
|
23
23
|
},
|
|
24
24
|
setup(r) {
|
|
25
25
|
const {
|
|
26
|
-
t:
|
|
27
|
-
} =
|
|
26
|
+
t: o
|
|
27
|
+
} = x(), t = k({
|
|
28
28
|
settingPage: r.settingPage
|
|
29
29
|
});
|
|
30
|
-
|
|
30
|
+
g("editor.use", t), d([() => r.components, () => r.groups], () => {
|
|
31
31
|
t.clearGroup(), t.clearComponent(), t.addGroup({
|
|
32
32
|
name: "layout",
|
|
33
|
-
label:
|
|
33
|
+
label: o("components.designEditor.layout") || "Layout",
|
|
34
34
|
icon: "i-tabler:layout"
|
|
35
35
|
}), r.groups?.forEach((e) => {
|
|
36
36
|
t.addGroup(e);
|
|
37
|
-
}), t.addComponent(
|
|
37
|
+
}), t.addComponent(D(o)), r.components?.forEach((e) => {
|
|
38
38
|
t.addComponent(e);
|
|
39
39
|
});
|
|
40
40
|
}, {
|
|
41
41
|
immediate: !0,
|
|
42
42
|
deep: !0
|
|
43
43
|
});
|
|
44
|
-
const l =
|
|
45
|
-
randomUUID:
|
|
46
|
-
} = new
|
|
44
|
+
const l = v(), {
|
|
45
|
+
randomUUID: p
|
|
46
|
+
} = new w({
|
|
47
47
|
length: 10
|
|
48
|
-
}),
|
|
49
|
-
key:
|
|
48
|
+
}), m = (e) => ({
|
|
49
|
+
key: p(),
|
|
50
50
|
name: e.name,
|
|
51
|
-
options:
|
|
51
|
+
options: i(e.settingDefault)
|
|
52
52
|
});
|
|
53
|
-
return
|
|
54
|
-
const
|
|
55
|
-
t.value.value =
|
|
56
|
-
config:
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
}
|
|
53
|
+
return d(() => r.data, (e) => {
|
|
54
|
+
const n = r.settingPage?.default || {};
|
|
55
|
+
t.value.value = {
|
|
56
|
+
config: {
|
|
57
|
+
...n,
|
|
58
|
+
...i(e?.config || {})
|
|
59
|
+
},
|
|
60
|
+
data: i(e?.data || [])
|
|
61
|
+
};
|
|
62
62
|
}, {
|
|
63
63
|
deep: !0,
|
|
64
64
|
immediate: !0
|
|
65
|
-
}),
|
|
65
|
+
}), d(() => t.value.value, (e) => {
|
|
66
66
|
e !== r.data && r.onUpdateData?.(e);
|
|
67
67
|
}, {
|
|
68
68
|
deep: !0
|
|
@@ -74,15 +74,15 @@ const R = /* @__PURE__ */ m({
|
|
|
74
74
|
class: "h-full flex flex-row text-default"
|
|
75
75
|
}, [a("div", {
|
|
76
76
|
class: "flex-none flex flex-col gap-2 border-r border-default bg-default p-2"
|
|
77
|
-
}, [a(
|
|
78
|
-
title:
|
|
77
|
+
}, [a(s, {
|
|
78
|
+
title: o("components.designEditor.all") || "All",
|
|
79
79
|
icon: "i-tabler:hexagons",
|
|
80
80
|
active: !l.value,
|
|
81
81
|
onClick: () => {
|
|
82
82
|
l.value = void 0;
|
|
83
83
|
}
|
|
84
|
-
}, null), t.group.value?.map((e,
|
|
85
|
-
key:
|
|
84
|
+
}, null), t.group.value?.map((e, n) => a(s, {
|
|
85
|
+
key: n,
|
|
86
86
|
active: l.value === e.name,
|
|
87
87
|
title: e.label,
|
|
88
88
|
icon: e.icon,
|
|
@@ -100,7 +100,7 @@ const R = /* @__PURE__ */ m({
|
|
|
100
100
|
class: "flex flex-col gap-2"
|
|
101
101
|
}, [a("div", {
|
|
102
102
|
class: "bg-muted border border-muted rounded p-2 flex justify-center"
|
|
103
|
-
}, [e.label]), a(
|
|
103
|
+
}, [e.label]), a(h, {
|
|
104
104
|
modelValue: e.children || [],
|
|
105
105
|
animation: 150,
|
|
106
106
|
group: {
|
|
@@ -109,17 +109,17 @@ const R = /* @__PURE__ */ m({
|
|
|
109
109
|
put: !1
|
|
110
110
|
},
|
|
111
111
|
sort: !1,
|
|
112
|
-
clone:
|
|
112
|
+
clone: m,
|
|
113
113
|
class: "grid grid-cols-2 items-start gap-2 "
|
|
114
114
|
}, {
|
|
115
|
-
default: () => [e.children?.map((
|
|
116
|
-
key:
|
|
115
|
+
default: () => [e.children?.map((n) => a("div", {
|
|
116
|
+
key: n.name,
|
|
117
117
|
class: "border border-muted rounded-sm p-2 flex flex-col items-center gap-2 cursor-pointer hover:bg-muted edit-drag"
|
|
118
118
|
}, [a("div", {
|
|
119
|
-
class:
|
|
119
|
+
class: u(["size-6", n.icon])
|
|
120
120
|
}, null), a("div", {
|
|
121
121
|
class: "truncate whitespace-nowrap px-2 overflow-hidden"
|
|
122
|
-
}, [
|
|
122
|
+
}, [n.label])]))]
|
|
123
123
|
})]))])]
|
|
124
124
|
})]), a("div", {
|
|
125
125
|
class: "flex-1 shadow-sm flex flex-col items-center p-6 overflow-auto",
|
|
@@ -129,29 +129,29 @@ const R = /* @__PURE__ */ m({
|
|
|
129
129
|
onClick: () => {
|
|
130
130
|
t.selected.value = void 0;
|
|
131
131
|
}
|
|
132
|
-
}, [r.previewWrapper ? r.previewWrapper(a(
|
|
132
|
+
}, [r.previewWrapper ? r.previewWrapper(a(c, {
|
|
133
133
|
modelValue: t.value.value?.data,
|
|
134
134
|
onUpdate: (e) => t.value.value.data = e
|
|
135
|
-
}, null), t) : a(
|
|
135
|
+
}, null), t) : a(c, {
|
|
136
136
|
modelValue: t.value.value?.data,
|
|
137
137
|
onUpdate: (e) => t.value.value.data = e
|
|
138
|
-
}, null)])]), a(
|
|
138
|
+
}, null)])]), a(C, {
|
|
139
139
|
actionRender: r.actionRender
|
|
140
140
|
}, null)])]
|
|
141
141
|
});
|
|
142
142
|
}
|
|
143
143
|
});
|
|
144
|
-
function
|
|
144
|
+
function s({
|
|
145
145
|
title: r,
|
|
146
|
-
icon:
|
|
146
|
+
icon: o,
|
|
147
147
|
active: t,
|
|
148
148
|
onClick: l
|
|
149
149
|
}) {
|
|
150
150
|
return a("div", {
|
|
151
|
-
class:
|
|
151
|
+
class: u(["flex flex-col items-center px-3 py-2 hover:bg-primary/10 cursor-pointer rounded-sm", t ? "bg-primary/10 text-primary" : ""]),
|
|
152
152
|
onClick: l
|
|
153
153
|
}, [a("div", {
|
|
154
|
-
class:
|
|
154
|
+
class: u(["size-4", o])
|
|
155
155
|
}, null), a("div", {
|
|
156
156
|
class: "truncate whitespace-nowrap text-default text-sm"
|
|
157
157
|
}, [r])]);
|
|
@@ -75,7 +75,7 @@ const N = /* @__PURE__ */ h({
|
|
|
75
75
|
class: ["flex flex-col gap-1", t.value === "setting" ? "flex-none md:w-40%" : "flex-1", t.value === "page" ? "col-span-3" : ""]
|
|
76
76
|
}, [l("div", {
|
|
77
77
|
class: t.value === "setting" ? "flex-1 lg:flex lg:justify-end" : ""
|
|
78
|
-
}, [s?.default?.()]), e.description && t.value === "left" && l("div", {
|
|
78
|
+
}, [s?.default?.()]), e.description && (t.value === "left" || t.value === "top") && l("div", {
|
|
79
79
|
class: "text-sm text-muted"
|
|
80
80
|
}, [e.description]), n.value && l("div", {
|
|
81
81
|
class: "text-error"
|