@farris/ui-vue
Version:
Farris Vue, a Farris Design based Vue3 component library.
2 lines (1 loc) • 5.1 kB
JavaScript
(function(t,d){typeof exports=="object"&&typeof module<"u"?d(exports,require("../../components/switch/index.umd.js"),require("../../components/common/index.umd.js"),require("vue"),require("../../components/designer-canvas/index.umd.js"),require("../../components/property-panel/index.umd.js"),require("../../components/dynamic-resolver/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","../../components/switch/index.umd.js","../../components/common/index.umd.js","vue","../../components/designer-canvas/index.umd.js","../../components/property-panel/index.umd.js","../../components/dynamic-resolver/index.umd.js"],d):(t=typeof globalThis<"u"?globalThis:t||self,d(t.switch={},t.FSwitch,t.common,t.Vue,t.designerCanvas,t.propertyPanel,t.dynamicResolver))})(this,function(t,d,u,n,g,y,h){"use strict";class w extends y.InputBaseProperty{constructor(e,s){super(e,s)}getEditorProperties(e){return this.getComponentConfig(e,{type:"switch"},{disabled:{visible:!1},placeholder:{visible:!1},onLabel:{description:"",title:"打开标签",type:"string"},offLabel:{description:"",title:"关闭标签",type:"string"},onBackground:{description:"值可以是颜色或者16进制颜色字符串,比如:blue或者#2A87FF",title:"打开背景色",type:"string"},offBackground:{description:"值可以是颜色或者16进制颜色字符串,比如:gray或者#D9DEE7",title:"关闭背景色",type:"string"},size:{description:"",title:"尺寸",type:"enum",editor:{data:[{id:"small",name:"小号"},{id:"medium",name:"中号"},{id:"large",name:"大号"}]}},trueValue:{description:"打开时的值",title:"打开的值",type:this.getBindingDataType(e),visible:this.showCustomValue(e),refreshPanelAfterChanged:!0,editor:this.getEditor(e),$converter:this.getBooleanValueConverter()},falseValue:{description:"关闭时的值",title:"关闭的值",type:this.getBindingDataType(e),visible:this.showCustomValue(e),refreshPanelAfterChanged:!0,editor:this.getEditor(e),$converter:this.getBooleanValueConverter()}})}changeBindingField(e,s,r){var c;super.changeBindingField(e,s);const i=r;if(e.editor&&((c=i==null?void 0:i.type)!=null&&c.name)){let a,l;i.type.name===u.FormSchemaEntityFieldTypeName.String&&(a="true",l="false"),i.type.name===u.FormSchemaEntityFieldTypeName.Number&&(a=1,l=0),!Object.prototype.hasOwnProperty.call(e.editor,"trueValue")&&a!==void 0&&(e.editor.trueValue=a),!Object.prototype.hasOwnProperty.call(e.editor,"falseValue")&&l!==void 0&&(e.editor.falseValue=l)}}}function v(o,e){const s=o.schema;function r(i,c){return new w(i,e).getPropertyConfig(s,c)}return{getPropsConfig:r}}const p=n.defineComponent({name:"FSwitchDesign",props:d.switchProps,emits:["update:modelValue"],setup(o,e){const{size:s,onLabel:r,offLabel:i}=n.toRefs(o),c=n.ref(),a=n.inject("designer-host-service"),l=n.inject("design-item-context"),P=v(l,a),f=g.useDesignerComponent(c,l,P);n.onMounted(()=>{c.value.componentInstance=f}),e.expose(f.value);const x=n.computed(()=>({switch:!0,"f-cmp-switch":!0,checked:!1,"switch-large":s.value==="large","switch-medium":s.value==="medium","switch-small":s.value==="small"})),S=n.computed(()=>(r==null?void 0:r.value)||(i==null?void 0:i.value));return()=>n.createVNode("span",{ref:c,tabindex:"0",role:"button",class:x.value},[S.value&&n.createVNode("span",{class:"switch-pane"},[n.createVNode("span",{class:"switch-label-unchecked"},[i==null?void 0:i.value])]),n.createVNode("small",null,[e.slots.default&&e.slots.default()])])}}),C=new Map([["appearance",h.resolveAppearance],["onChange","onModelValueChanged"]]),j={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/switch.schema.json",title:"switch",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for a switch",type:"string"},type:{description:"The type string of switch component",type:"string",default:"switch"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disabled:{type:"boolean",default:!1},onBackground:{description:"",type:"string",default:""},offBackground:{description:"",type:"string",default:""},onColor:{description:"",type:"string",default:""},offColor:{description:"",type:"string",default:""},onLabel:{description:"",type:"string",default:""},offLabel:{description:"",type:"string",default:""},readonly:{description:"",type:"boolean",default:!1},size:{description:"",type:"enum",default:"medium"},required:{description:"",type:"boolean",default:!1},trueValue:{description:"",type:"boolean",default:!0},falseValue:{description:"",type:"boolean",default:!1},onChange:{description:"",type:"string"}},required:["type"],ignore:["id","appearance","binding"]};function V(o,e,s){return e}const m=h.createPropsResolver(d.switchProps,j,C,V);p.register=(o,e,s,r)=>{o.switch=d,e.switch=m},p.registerDesigner=(o,e,s)=>{o.switch=p,e.switch=m};const b=u.withInstall(p);t.FSwitchDesign=p,t.default=b,t.propsResolver=m,Object.defineProperties(t,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});