mirror of
https://github.com/mfish-qf/mfish-nocode-view.git
synced 2026-11-02 05:31:29 +08:00
1 line
2.8 KiB
JavaScript
1 line
2.8 KiB
JavaScript
import{Z as e,mr as t,xt as n}from"./common.js";import{computed as r,createBlock as i,createCommentVNode as a,createElementBlock as o,createElementVNode as s,createTextVNode as c,createVNode as l,defineComponent as u,normalizeClass as d,openBlock as f,ref as p,renderSlot as m,toDisplayString as h,unref as g,useCssVars as _,watch as v,withCtx as y}from"vue";import{Input as b,Textarea as x,theme as S}from"ant-design-vue";import{useDesign as C}from"@mfish/core/hooks";import{Icon as w}from"@mfish/core/components/Icon";var T={class:`path-tips`},E={class:`preview-info`},D={key:0,class:`info-item`},O={class:`value`},k={key:1,class:`info-item`},A={class:`value`},j={key:2,class:`warning-text`},M=t(u({__name:`MfCustomizeConfig`,setup(t){_(e=>({v091c8e56:P.value,v07a21464:F.value,v7ce4ff2d:I.value}));let u=n(),{prefixCls:M}=C(`customize-config`),{token:N}=S.useToken(),P=r(()=>N.value.colorInfoBg),F=r(()=>N.value.colorInfoBorder),I=r(()=>N.value.colorText),L=p(``),R=p(``),z=r(()=>{if(!R.value)return null;try{return JSON.parse(R.value)}catch{return null}});v(()=>u.getCurConfigComponent,e=>{e&&B()},{immediate:!0});function B(){let e=u.getCurConfigComponent.chart;L.value=e.data.dataSet?.componentName||``;let t=e.data.dataSet?.props||{};R.value=Object.keys(t).length>0?JSON.stringify(t,null,2):``}function V(){u.getCurConfigComponent.chart.data.dataSet.componentName=L.value}function H(){if(!R.value){u.getCurConfigComponent.chart.data.dataSet.props={};return}try{let e=JSON.parse(R.value);u.getCurConfigComponent.chart.data.dataSet.props=e}catch{}}return(t,n)=>(f(),i(e,{class:d(g(M))},{default:y(()=>[m(t.$slots,`default`,{},void 0,!0),n[6]||=s(`div`,{class:`title`},` 组件名称 `,-1),l(g(b),{value:L.value,"onUpdate:value":n[0]||=e=>L.value=e,placeholder:`例: DemoComponent (不需要.vue后缀)`,onChange:V},null,8,[`value`]),s(`div`,T,[l(g(w),{icon:`carbon:information`,size:14,color:`#1890ff`}),n[2]||=s(`span`,null,[c(`组件需放在 `),s(`code`,null,`/src/components/nocode/screen/custom-components/`),c(` 目录下`)],-1)]),n[7]||=s(`div`,{class:`title`},` 组件属性(JSON) `,-1),l(g(x),{value:R.value,"onUpdate:value":n[1]||=e=>R.value=e,placeholder:`请输入组件属性,JSON格式,如:{title: 标题, type: primary}`,rows:6,onChange:H},null,8,[`value`]),n[8]||=s(`div`,{class:`title`},` 组件预览 `,-1),s(`div`,E,[L.value?(f(),o(`div`,D,[n[3]||=s(`span`,{class:`label`},`组件名称:`,-1),s(`span`,O,h(L.value)+`.vue`,1)])):a(``,!0),z.value?(f(),o(`div`,k,[n[4]||=s(`span`,{class:`label`},`组件属性:`,-1),s(`span`,A,h(JSON.stringify(z.value,null,2)),1)])):a(``,!0),L.value?a(``,!0):(f(),o(`div`,j,[l(g(w),{icon:`carbon:warning`,size:16,color:`#faad14`}),n[5]||=c(` 请输入组件名称以加载自定义组件 `,-1)]))])]),_:3},8,[`class`]))}}),[[`__scopeId`,`data-v-5e4f3cab`]]);export{M as default}; |