zwave-js-ui
Version:
Z-Wave Control Panel and MQTT Gateway
2 lines (1 loc) • 4.8 kB
JavaScript
import{_ as g,c as y,b as o,h as u,w as s,e as a,t as r,R as p,k as h,l as f,s as x,V as b,H as I,i as k,b0 as C,ac as v,ag as V,D as w,K as T,Q as K,J as U,a9 as B,z as m}from"./index-DwzE-W2i.js";import{d as N}from"./vuedraggable.umd-Df3l8PgK.js";const E={props:{input:Object,modelValue:Array,toggleEdit:{type:Boolean,default:!0},menuProps:Object},components:{draggable:N},data:()=>({item:null,inputItems:[],allItems:[]}),computed:{items:{get(){return this.modelValue||[]},set(i){this.$emit("update:modelValue",i)}}},mounted(){this.getItems()},methods:{getItems(){typeof this.input.items=="function"?this.inputItems=this.input.items():this.inputItems=this.input.items,this.allItems=[...this.inputItems]},getItem(i){return this.allItems.find(t=>t[this.input.itemValue]===i)},async addItem(){this.item&&(this.$emit("add",this.item),this.items.push(this.item),this.inputItems.splice(this.inputItems.indexOf(this.getItem(this.item)),1),await B(),this.item=null)},deleteItem(i){const t=this.items[i];t&&(this.$emit("delete",t),this.items.splice(i,1),this.inputItems.push(this.getItem(t)))},getItemName(i){return this.allItems.find(t=>t?.[this.input.itemValue]===i)?.[this.input.itemText||"text"]??i}}},L={class:"text-caption mr-1"},P={style:{"font-size":"0.9rem"}},j={key:0};function q(i,t,e,z,M,l){const c=x("draggable");return m(),y("div",null,[o(v,{density:"compact"},{default:s(()=>[e.input.prefix?(m(),a(p,{textContent:r(e.input.prefix),key:"prefix"},null,8,["textContent"])):u("",!0),e.input.prefix?(m(),a(f,{key:1,class:"ml-5"},{default:s(()=>[...t[5]||(t[5]=[h("arrow_downward",-1)])]),_:1})):u("",!0),o(c,{modelValue:l.items,"onUpdate:modelValue":t[0]||(t[0]=n=>l.items=n),handle:".handle","item-key":(n,d)=>`${d}_${n}`},{item:s(({element:n,index:d})=>[o(p,null,{prepend:s(()=>[C(i.$slots,"item-action",{item:n})]),default:s(()=>[o(b,{class:"ma-0 d-block"},{default:s(()=>[e.toggleEdit?(m(),a(f,{key:0,class:"handle",style:{cursor:"move"},color:"primary-lighten-2"},{default:s(()=>[...t[6]||(t[6]=[h("drag_indicator",-1)])]),_:1})):u("",!0),I("span",L,r(d+1)+".",1),I("span",P,r(l.getItemName(n)),1),e.toggleEdit?(m(),a(k,{key:1,class:"ml-1",icon:"delete",size:"small",onClick:O=>l.deleteItem(d),color:"error"},null,8,["onClick"])):u("",!0)]),_:2},1024)]),_:2},1024)]),_:3},8,["modelValue","item-key"]),e.input.prefix&&l.items.length>0?(m(),a(f,{key:2,class:"ml-5"},{default:s(()=>[...t[7]||(t[7]=[h("arrow_downward",-1)])]),_:1})):u("",!0),e.input.suffix?(m(),a(p,{textContent:r(e.input.suffix),key:"suffix"},null,8,["textContent"])):u("",!0)]),_:3}),e.toggleEdit?(m(),y("div",j,[e.input.inputType==="text"?(m(),a(w,{key:0,modelValue:i.item,"onUpdate:modelValue":t[1]||(t[1]=n=>i.item=n),modelModifiers:{trim:!0},label:e.input.label,hint:e.input.hint,required:e.input.required,density:"compact",maxlength:e.input.maxLength,"persistent-hint":!!e.input.hint,type:"text",suffix:e.input.suffix,prefix:e.input.prefix,onKeyup:V(l.addItem,["enter"]),"append-icon":"add","onClick:append":l.addItem},null,8,["modelValue","label","hint","required","maxlength","persistent-hint","suffix","prefix","onKeyup","onClick:append"])):u("",!0),e.input.inputType==="select"?(m(),a(T,{key:1,"menu-props":e.menuProps,modelValue:i.item,"onUpdate:modelValue":[t[2]||(t[2]=n=>i.item=n),l.addItem],label:e.input.label,hint:e.input.hint,"persistent-hint":!!e.input.hint,items:i.inputItems,"item-value":e.input.itemValue,"item-title":e.input.itemText,density:"compact"},null,8,["menu-props","modelValue","label","hint","persistent-hint","items","item-value","item-title","onUpdate:modelValue"])):u("",!0),e.input.inputType==="autocomplete"?(m(),a(K,{key:2,"menu-props":e.menuProps,modelValue:i.item,"onUpdate:modelValue":[t[3]||(t[3]=n=>i.item=n),l.addItem],modelModifiers:{trim:!0},label:e.input.label,"persistent-hint":!!e.input.hint,hint:e.input.hint,items:i.inputItems,"item-value":e.input.itemValue,"item-title":e.input.itemText,density:"compact",onKeyup:V(l.addItem,["enter"])},null,8,["menu-props","modelValue","label","persistent-hint","hint","items","item-value","item-title","onUpdate:modelValue","onKeyup"])):u("",!0),e.input.inputType==="combobox"?(m(),a(U,{key:3,"menu-props":e.menuProps,modelValue:i.item,"onUpdate:modelValue":[t[4]||(t[4]=n=>i.item=n),l.addItem],modelModifiers:{trim:!0},label:e.input.label,hint:e.input.hint,"persistent-hint":!!e.input.hint,items:i.inputItems,"item-value":e.input.itemValue,"item-title":e.input.itemText,density:"compact",onKeyup:V(l.addItem,["enter"]),chips:"","closable-chips":"","return-object":!1,"append-icon":"add","onClick:append":l.addItem},null,8,["menu-props","modelValue","label","hint","persistent-hint","items","item-value","item-title","onUpdate:modelValue","onKeyup","onClick:append"])):u("",!0)])):u("",!0)])}const D=g(E,[["render",q]]);export{D as default};