UNPKG

snowy-designer

Version:

基于Epic-Designer-Pro版本的设计器,可视化开发页面表单

7 lines (6 loc) 2.97 kB
"use strict";const l=require("vue");;/* empty css */const v=require("../../../../base-ui/src/components/icon/icon.vue.cjs");require("radix-vue");require("clsx");require("tailwind-merge");require("lucide-vue-next");require("../../../../base-ui/src/shadch-ui/button/index.cjs");require("@vueuse/core");require("../../../../base-ui/src/shadch-ui/toast/index.cjs");require("../../../../../hooks/src/store/index.cjs");const b=require("../../../../../hooks/src/common/theme.cjs");require("lodash");require("../../../../../utils/src/manager/pluginManager.cjs");const h=require("monaco-editor");require("../../../../../utils/src/request/index.cjs");require("vuedraggable");function q(r){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const i in r)if(i!=="default"){const t=Object.getOwnPropertyDescriptor(r,i);Object.defineProperty(a,i,t.get?t:{enumerable:!0,get:()=>r[i]})}}return a.default=r,Object.freeze(a)}const s=q(h),y=`position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 2999;`,_=l.defineComponent({__name:"index",props:{autoToggleTheme:{type:Boolean},bordered:{type:Boolean},config:{default:()=>({minimap:{enabled:!1},selectOnLineNumbers:!0})},language:{default:"json"},lineNumbers:{default:"on"},modelValue:{},readOnly:{type:Boolean,default:!1},theme:{default:"vs-light"},valueFormat:{default:"string"}},emits:["update:modelValue"],setup(r,{expose:a,emit:i}){const t=r,c=i,o=l.ref(!1),f=l.ref(null);let e=null;const{isDark:d}=b.useTheme();function m(){d.value?s.editor.setTheme("vs-dark"):s.editor.setTheme("vs-light")}function p(u){e==null||e.setValue(u||"")}function g(u){const n=e==null?void 0:e.getPosition();n&&(e==null||e.executeEdits("",[{range:new s.Range(n.lineNumber,n.column,n.lineNumber,n.column),text:u}]),e==null||e.setPosition({...n,column:n.column+u.length}),e==null||e.focus())}return l.onMounted(()=>{e=s.editor.create(f.value,{value:u(),...t.config,automaticLayout:!0,language:t.language,lineNumbers:t.lineNumbers,readOnly:t.readOnly,scrollBeyondLastLine:!1,theme:t.theme}),t.autoToggleTheme&&l.watch(()=>d.value,()=>{l.nextTick(()=>m())},{immediate:!0});function u(){return t.valueFormat==="json"&&t.modelValue?JSON.stringify(t.modelValue,null,2):t.modelValue??""}e.onDidChangeModelContent(()=>{const n=e==null?void 0:e.getValue();if(t.valueFormat==="json"&&n){c("update:modelValue",JSON.parse(n));return}c("update:modelValue",n??"")})}),a({insertText:g,setValue:p}),(u,n)=>(l.openBlock(),l.createElementBlock("div",{ref_key:"editContainer",ref:f,class:l.normalizeClass([{bordered:t.bordered},"epic-code-editor relative"]),style:l.normalizeStyle(o.value?y:"")},[l.createElementVNode("div",{class:"z-999 text-$epic-text-helper absolute right-4 top-2 cursor-pointer text-xl",onClick:n[0]||(n[0]=V=>o.value=!o.value)},[l.createVNode(l.unref(v),{name:o.value?"icon--epic--close-fullscreen":"icon--epic--open-fullscreen"},null,8,["name"])])],6))}});module.exports=_;