UNPKG

@form-create/component-elm-checkbox

Version:

@form-create/element-ui 内置组件

10 lines (9 loc) 2.98 kB
/*! * FormCreate 低代码表单渲染器 * @form-create/component-elm-checkbox v2.6.3 * (c) 2018-2024 xaboy * Github https://github.com/xaboy/form-create * Site https://form-create.com/ * Released under the MIT License. */ (function(s,o){typeof exports=="object"&&typeof module!="undefined"?module.exports=o():typeof define=="function"&&define.amd?define(o):(s=typeof globalThis!="undefined"?globalThis:s||self,s.FcCheckbox=o())})(this,function(){"use strict";var C=Object.defineProperty;var f=Object.getOwnPropertySymbols;var k=Object.prototype.hasOwnProperty,E=Object.prototype.propertyIsEnumerable;var h=(s,o,i)=>o in s?C(s,o,{enumerable:!0,configurable:!0,writable:!0,value:i}):s[o]=i,d=(s,o)=>{for(var i in o||(o={}))k.call(o,i)&&h(s,i,o[i]);if(f)for(var i of f(o))E.call(o,i)&&h(s,i,o[i]);return s};function s(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}function o(){return o=Object.assign?Object.assign.bind():function(r){for(var t,n=1;n<arguments.length;n++)for(var e in t=arguments[n],t)Object.prototype.hasOwnProperty.call(t,e)&&(r[e]=t[e]);return r},o.apply(this,arguments)}var i=["attrs","props","domProps"],c=["class","style","directives"],m=["on","nativeOn"],y=function(r){return r.reduce(function(t,n){for(var e in n)if(!t[e])t[e]=n[e];else if(i.indexOf(e)!==-1)t[e]=o({},t[e],n[e]);else if(c.indexOf(e)!==-1){var p=t[e]instanceof Array?t[e]:[t[e]],O=n[e]instanceof Array?n[e]:[n[e]];t[e]=[].concat(p,O)}else if(m.indexOf(e)!==-1)for(var u in n[e])if(t[e][u]){var j=t[e][u]instanceof Array?t[e][u]:[t[e][u]],A=n[e][u]instanceof Array?n[e][u]:[n[e][u]];t[e][u]=[].concat(j,A)}else t[e][u]=n[e][u];else if(e==="hook")for(var a in n[e])t[e][a]=t[e][a]?v(t[e][a],n[e][a]):n[e][a];else t[e]=n[e];return t},{})},v=function(r,t){return function(){r&&r.apply(this,arguments),t&&t.apply(this,arguments)}},g=y;const l=s(g);function x(r,t){return Object.keys(r).reduce((n,e)=>(n.push(r[e]),n),[])}return{name:"fcCheckbox",props:{formCreateInject:{type:Object,required:!0},value:{type:Array,default:()=>[]},type:String},watch:{"formCreateInject.options":{handler(){this.update()},deep:!0},value(){this.update()}},data(){return{trueValue:[]}},methods:{options(){const r=this.formCreateInject.options;return Array.isArray(r)?r:[]},onInput(r){this.$emit("input",this.options().filter(t=>r.indexOf(t.label)!==-1).map(t=>t.value).filter(t=>t!==void 0))},update(){const r=Array.isArray(this.value)?this.value:[this.value];this.trueValue=this.options().filter(t=>r.indexOf(t.value)!==-1).map(t=>t.label)}},created(){this.update()},render(){const r=arguments[0];return r("ElCheckboxGroup",l([{},this.formCreateInject.prop,{},{props:{value:this.trueValue}},{ref:"el",on:{input:this.onInput}}]),[this.options().map((t,n)=>{const e=d({},t),p=this.type==="button"?"ElCheckboxButton":"ElCheckbox";return delete e.value,r(p,l([{},{props:e},{key:p+n+"-"+t.value}]))}),x(this.$slots)])},mounted(){this.$emit("fc.el",this.$refs.el)}}});