2 lines
2.0 KiB
JavaScript
2 lines
2.0 KiB
JavaScript
var m=(y,c,l)=>new Promise((p,o)=>{var n=e=>{try{t(l.next(e))}catch(r){o(r)}},f=e=>{try{t(l.throw(e))}catch(r){o(r)}},t=e=>e.done?p(e.value):Promise.resolve(e.value).then(n,f);t((l=l.apply(y,c)).next())});import{e as b}from"./index-Bjs4LTgv.js";import{i as x}from"./constants-B5TthjFC.js";import{c6 as J,c2 as T,bS as h,ac as B}from"./bootstrap-CRjSNGHY.js";import{m as L,b9 as u,aE as M,aa as j,w as k,ab as w,b2 as g,u as d,bJ as v,ae as S,ad as V,j as _,ai as N,bp as E}from"../jse/index-index-CMeVxoEG.js";const U={class:"mb-4"},C={key:0,class:"json-viewer-container"},D={class:"json-code"},I=L({name:"ThingModelTsl",__name:"thing-model-tsl",setup(y,{expose:c}){const l=u(!1),p=u("物模型 TSL"),o=M(x.PRODUCT),n=u("view");function f(){return m(this,null,function*(){l.value=!0,yield r()})}c({open:f});const t=u({}),e=u("");function r(){return m(this,null,function*(){var s;try{t.value=yield b(((s=o==null?void 0:o.value)==null?void 0:s.id)||0),e.value=JSON.stringify(t.value,null,2)}catch(a){console.error("获取 TSL 失败:",a),t.value={},e.value="{}"}})}const O=j(()=>{try{return typeof t.value=="string"?JSON.stringify(JSON.parse(t.value),null,2):JSON.stringify(t.value,null,2)}catch(s){return JSON.stringify(t.value,null,2)}});return k(e,s=>{try{t.value=JSON.parse(s)}catch(a){}}),(s,a)=>(g(),w(d(J),{open:l.value,"onUpdate:open":a[2]||(a[2]=i=>l.value=i),title:p.value,footer:null,width:"800px"},{default:v(()=>[S("div",U,[_(d(T).Group,{value:n.value,"onUpdate:value":a[0]||(a[0]=i=>n.value=i),size:"small"},{default:v(()=>[_(d(T).Button,{value:"view"},{default:v(()=>[...a[3]||(a[3]=[N("代码视图",-1)])]),_:1}),_(d(T).Button,{value:"editor"},{default:v(()=>[...a[4]||(a[4]=[N("编辑器视图",-1)])]),_:1})]),_:1},8,["value"])]),n.value==="view"?(g(),V("div",C,[S("pre",D,[S("code",null,E(O.value),1)])])):(g(),w(d(h),{key:1,value:e.value,"onUpdate:value":a[1]||(a[1]=i=>e.value=i),rows:20,placeholder:"请输入 JSON 格式的物模型 TSL",class:"json-editor"},null,8,["value"]))]),_:1},8,["open","title"]))}}),Y=B(I,[["__scopeId","data-v-f6b505a6"]]);export{Y as default};
|