UNPKG

@open-data-v/data

Version:

OpenDataV 数据处理基础组件包

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