mirror of
https://github.com/mfish-qf/mfish-nocode-view.git
synced 2026-11-01 13:11:32 +08:00
1 line
7.1 KiB
JavaScript
1 line
7.1 KiB
JavaScript
import{M as e,it as t,mr as n,xt as r}from"./common.js";import{t as i}from"./EventSelectItems.js";import{Fragment as a,computed as o,createBlock as s,createCommentVNode as c,createElementBlock as l,createElementVNode as u,createSlots as d,createTextVNode as f,createVNode as p,defineComponent as m,normalizeClass as h,openBlock as g,ref as _,renderList as v,resolveComponent as y,toDisplayString as b,unref as x,useCssVars as S,useTemplateRef as C,vShow as w,watch as T,withCtx as E,withDirectives as D,withModifiers as O}from"vue";import{Button as k,Dropdown as A,Empty as j,Input as M,Menu as N,Segmented as P,Tag as F,theme as I}from"ant-design-vue";import{useDesign as L,useRootSetting as R}from"@mfish/core/hooks";import{Icon as z}from"@mfish/core/components/Icon";import{cloneDeep as B}from"lodash-es";import{ScrollContainer as V}from"@mfish/core/components/Container";var H=[`title`,`onClick`,`onMouseenter`],U={class:`title`},W={class:`title`},G={class:`operator`},K={key:1,class:`param-edit`},q={key:2,class:`error`},J=n(m({__name:`GlobalParamsSelect`,props:{value:{type:Object,default:()=>({})}},emits:[`selectChange`],setup(e,{emit:t}){S(e=>({v75000e46:A.value}));let n=e,i=t,{prefixCls:d}=L(`global-params-select`),m=r(),O=_([]),{token:k}=I.useToken(),A=o(()=>k.value.colorInfoBg),N=_(-1),P=_(-1),F=_(-1),R=_(),J=C(`scrollContainerRef`),Y=_();T(()=>m.getCurConfigComponent,e=>{e&&(O.value=B(m.getCanvasConfig.globalParams||[]),N.value=O.value.findIndex(e=>e.name===n.value.name))},{immediate:!0});function X(){Q()&&(O.value.push({name:``,defaultValue:``}),P.value=O.value.length-1,N.value=P.value,J.value?.scrollBottom())}function Z(e){Q()&&(P.value=e,N.value=e)}function Q(){if(P.value===-1)return R.value=``,!0;let e=O.value[P.value].name;return e?/^[\u4E00-\u9FA5\w]{1,20}$/.test(e)?O.value.some((t,n)=>n!==P.value&&t.name===e)?(R.value=`error`,Y.value=`参数名不能重复`,!1):(m.getCanvasConfig.globalParams=B(O.value),i(`selectChange`,B(O.value[P.value])),P.value=-1,R.value=``,Y.value=``,!0):(R.value=`error`,Y.value=`参数字符只允许中文、字符、数字、下划线`,!1):(R.value=`error`,Y.value=`参数名不能为空`,!1)}function ee(e){N.value=e,i(`selectChange`,B(O.value[e]))}function te(e){Q()&&$(e)}function $(e){O.value.splice(e,1),m.getCanvasConfig.globalParams=B(O.value),P.value=-1}return(e,t)=>{let n=y(`AButton`);return g(),l(`div`,{class:h(x(d))},[O.value.length>0?(g(),s(x(V),{key:0,ref_key:`scrollContainerRef`,ref:J,class:h(`${x(d)}-items`)},{default:E(()=>[(g(!0),l(a,null,v(O.value,(e,r)=>(g(),l(a,{key:r},[P.value===r?(g(),l(`div`,K,[p(x(M),{placeholder:`输入参数名`,size:`small`,value:e.name,"onUpdate:value":t=>e.name=t,status:R.value,maxlength:20,onPressEnter:Q},null,8,[`value`,`onUpdate:value`,`status`]),p(x(M),{placeholder:`输入默认值`,size:`small`,value:e.defaultValue,"onUpdate:value":t=>e.defaultValue=t,maxlength:100,onPressEnter:Q},null,8,[`value`,`onUpdate:value`]),p(n,{type:`link`,style:{padding:`0`},size:`small`,"pre-icon":`ant-design:save-outlined`,onClick:Q}),p(n,{type:`link`,size:`small`,style:{padding:`0`},"pre-icon":`ant-design:delete-outlined`,onClick:e=>$(r)},null,8,[`onClick`])])):(g(),l(`div`,{key:0,class:h([`item`,N.value===r?`select`:``]),title:e.name,onClick:e=>ee(r),onMouseenter:e=>F.value=r,onMouseleave:t[0]||=e=>F.value=-1},[u(`div`,U,b(e.name),1),u(`div`,W,b(e.defaultValue),1),u(`div`,G,[D(p(n,{type:`link`,size:`small`,style:{padding:`0`},"pre-icon":`ant-design:edit-outlined`,onClick:e=>Z(r)},null,8,[`onClick`]),[[w,F.value===r]]),D(p(n,{type:`link`,size:`small`,style:{padding:`0`},"pre-icon":`ant-design:delete-outlined`,onClick:e=>te(r)},null,8,[`onClick`]),[[w,F.value===r]])])],42,H)),P.value===r&&Y.value?(g(),l(`div`,q,b(Y.value),1)):c(``,!0)],64))),128))]),_:1},8,[`class`])):(g(),s(x(j),{key:1,description:`暂无变量`,image:x(j).PRESENTED_IMAGE_SIMPLE},null,8,[`image`])),u(`div`,{class:`add-button`,onClick:X},[p(x(z),{icon:`ant-design:plus-outlined`}),t[1]||=f(` 添加全局变量 `,-1)])],2)}}}),[[`__scopeId`,`data-v-8f06a822`]]),Y=n(m({__name:`VariableSelect`,props:{variable:{type:Object,default:()=>{}},filterSelf:{type:Boolean,default:!1}},emits:[`ok`],setup(n,{emit:a}){let o=n,l=a,{prefixCls:m}=L(`variable-select`),v=_(!1),y=r(),S=_(),C=_([]),w=_(``),D=_(!1),j=R().getThemeColor,I=_([{value:1,payload:`组件变量`},{value:2,payload:`全局变量`}]),V=_(1),H=()=>{if(o.variable?.id){let t=e(y.getComponentList,o.variable.id);if(!t)return l(`ok`),``;let n;if(t.chart.data.headers&&(n=t.chart.data.headers[o.variable.param]),n)return`${t.chart.name} / ${n.rename??n.colName}`}return o.variable?.paramType===2?o.variable.name:``};T(()=>y.getCurConfigComponent?.chart.id,()=>{v.value=!1}),T(()=>o.variable,()=>{w.value=H()},{deep:!0,immediate:!0});function U(){C.value=[];let e=e=>e.chart.data&&e.chart.data.dataSet&&(o.filterSelf&&e.chart.id!==y.getCurConfigComponent.chart.id||!o.filterSelf);for(let n of y.getComponentList){if(n.chart.type!==t.MfCombine){e(n)&&C.value.push(B(n));continue}let r=B(n);r.chart.options.components=r.chart.options.components.filter(t=>e(t)),(r.chart.options.components.length>0||e(r))&&C.value.push(r)}}function W(){v.value=!1,w.value=H()}function G(){l(`ok`,B(S.value)),v.value=!1}let K=e=>{v.value=e,e?U():w.value=H(),S.value=B(o.variable),V.value=S.value?.paramType??1};function q(e){S.value={...e,paramType:1}}function Y(e){S.value={...e,paramType:2}}function X(){l(`ok`,{})}function Z(e){V.value=e}return(e,t)=>(g(),s(x(A),{trigger:[`click`],open:v.value,onOpenChange:K,placement:`bottom`,arrow:{pointAtCenter:!0},"overlay-style":{width:`300px`}},{overlay:E(()=>[p(x(N),null,{default:E(()=>[p(x(N).Item,{disabled:``,style:{padding:`0`,cursor:`default`}},{default:E(()=>[p(x(P),{value:V.value,options:I.value,onChange:Z,block:``},{label:E(({payload:e})=>[f(b(e),1)]),_:1},8,[`value`,`options`]),V.value===2?(g(),s(J,{key:0,value:S.value,onSelectChange:Y},null,8,[`value`])):(g(),s(i,{key:1,class:`mt-2`,"hide-header":!0,"hide-event":!0,value:S.value,"component-list":C.value,onSelectChange:q},null,8,[`value`,`component-list`])),u(`div`,{class:h(`${x(m)}-ok-button`)},[p(x(k),{class:`mr-2`,onClick:W},{default:E(()=>[...t[4]||=[f(`取消`,-1)]]),_:1}),p(x(k),{type:`primary`,onClick:G},{default:E(()=>[...t[5]||=[f(`确定`,-1)]]),_:1})],2)]),_:1})]),_:1})]),default:E(()=>[u(`div`,{class:h(x(m)),onMouseenter:t[2]||=e=>D.value=!0,onMouseleave:t[3]||=e=>D.value=!1},[p(x(M),{class:h(`${x(m)}-drop-input`),placeholder:`请选择变量来源`,value:w.value,"onUpdate:value":t[0]||=e=>w.value=e,onChange:t[1]||=e=>v.value=!0},d({suffix:E(()=>[D.value&&w.value?(g(),s(x(z),{key:0,class:`delete-icon`,size:14,icon:`ant-design:close-circle-filled`,onClick:O(X,[`stop`])})):c(``,!0),p(x(z),{class:`drop-icon`,size:12,icon:v.value?`ant-design:up-outlined`:`ant-design:down-outlined`},null,8,[`icon`])]),_:2},[w.value?{name:`prefix`,fn:E(()=>[n.variable?.paramType===2?(g(),s(x(F),{key:0,color:x(j)},{default:E(()=>[...t[6]||=[f(`全局`,-1)]]),_:1},8,[`color`])):(g(),s(x(F),{key:1,color:x(j)},{default:E(()=>[...t[7]||=[f(`组件`,-1)]]),_:1},8,[`color`]))]),key:`0`}:void 0]),1032,[`class`,`value`])],34)]),_:1},8,[`open`]))}}),[[`__scopeId`,`data-v-c003aba1`]]);export{Y as t}; |