UNPKG

@open-data-v/data

Version:

OpenDataV 数据处理基础组件包

3 lines (2 loc) 2.04 kB
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),s=require("@open-data-v/ui"),m=require("./SubDataView.vue.umd2.cjs"),C={class:"justify-center flex-row flex-nowrap flex items-center"},h=e.defineComponent({__name:"Pane",props:{slotter:{},handler:{}},setup(f){const u=e.useSlots(),c=e.computed(()=>u.default?u.default()[0].type:m.default),l=f,r=e.ref(!1),o=e.ref({channel:""});e.onMounted(async()=>{await d()});const d=async()=>{var t;const a=l.slotter.dataConfig;if(a&&a.type==="SUB"){const n=(t=l.slotter.dataConfig)==null?void 0:t.dataInstance,{options:v}=n.toJSON();o.value.channel=v.channel}else i()},i=()=>{if(!l.handler)return;const a={type:"SUB",dataInstance:new l.handler({channel:o.value.channel})};l.slotter.changeDataConfig(a)},p=a=>{o.value.channel=a,i()};return e.watch(()=>l.slotter,async()=>{l.slotter&&await d()},{immediate:!0}),(a,t)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(e.unref(s.OFormItem),{key:"title",label:"订阅数据"},{default:e.withCtx(()=>[e.createElementVNode("div",C,[e.createVNode(e.unref(s.OInput),{value:o.value.channel,"onUpdate:value":t[0]||(t[0]=n=>o.value.channel=n),readonly:!0,placeholder:"编辑请点击",onClick:t[1]||(t[1]=n=>r.value=!0)},null,8,["value"]),e.createVNode(e.unref(s.OButton),{type:"primary",onClick:t[2]||(t[2]=n=>r.value=!0)},{default:e.withCtx(()=>t[6]||(t[6]=[e.createTextVNode(" 编辑 ")])),_:1})])]),_:1}),e.createVNode(e.unref(s.OModal),{show:r.value,"onUpdate:show":t[5]||(t[5]=n=>r.value=n)},{default:e.withCtx(()=>[e.createVNode(e.unref(s.OCard),{title:"订阅通道",bordered:!1,size:"small",role:"dialog","aria-modal":"true",closable:"",onClose:t[4]||(t[4]=n=>r.value=!1)},{default:e.withCtx(()=>[e.createVNode(e.unref(c),{options:o.value,"onUpdate:options":t[3]||(t[3]=n=>o.value=n),mode:"use",hanlder:a.handler,onChannelChange:p},null,8,["options","hanlder"])]),_:1})]),_:1},8,["show"])],64))}});exports.default=h; //# sourceMappingURL=Pane.vue.umd2.cjs.map