sci-pro
Version:
2 lines (1 loc) • 5.96 kB
JavaScript
;Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");require("./style/index.css");const N={class:"sci-transfer-container"},w={class:"sci-transfer-list-header"},x={class:"sci-transfer-content"},D={class:"sci-transfer-list-content"},M={class:"sci-transfer-operation-content"},B={class:"sci-transfer-list scroll-y"},H={class:"sci-checkbox-input"},S=["onUpdate:modelValue","disabled","onChange"],z=e.createElementVNode("span",{class:"sci-checkbox__inner"},null,-1),L={class:"sci-transfer-item-text ellipsis"},I=e.createStaticVNode('<div class="sci-transfer-icon"><i><svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="24" height="24" color="#8E8E8E"><path d="M107 391.25h814v50H107zM107 590.75h814v50H107z" fill="currentColor"></path><path d="M124.71 408.79l167.58-167.58" fill="currentColor"></path><path d="M107.032 391.112l167.584-167.584 35.355 35.355-167.584 167.585z" fill="currentColor"></path><path d="M735.71 790.79l167.58-167.58" fill="currentColor"></path><path d="M718.029 773.115l167.584-167.584 35.355 35.355L753.384 808.47z" fill="currentColor"></path></svg></i></div>',1),A={class:"ellipsis"},$=["onClick"],O=e.createElementVNode("svg",{viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20"},[e.createElementVNode("path",{d:"M721.92 333.418l0.91 440.65c0 23.104-9.546 35.475-32.746 35.475l-336.554-0.908c-23.181 0-33.383-10.552-33.383-33.655V333.418H268v441.731c0 46.334 37.705 84.012 84.047 84.012h336.044c46.344 0 84.068-37.678 84.068-84.012V333.418H721.92z",fill:"currentColor"}),e.createElementVNode("path",{d:"M390.46 427.958v312.805c0 2.036 0.291 4.003 0.815 5.88 15.392-0.012 30.785-0.047 46.174-0.102 0.509-1.847 0.789-3.78 0.789-5.781V428.094c-15.925-0.064-31.851-0.109-47.778-0.136zM601.398 429.091v311.672c0 1.627 0.187 3.212 0.529 4.743 15.564-0.068 31.133-0.118 46.7-0.147 0.32-1.486 0.496-3.023 0.496-4.601V429.22c-15.908-0.023-31.816-0.066-47.725-0.129zM859.49 248.742H672.856v-52.638c0.854-42.386-34.059-52.608-68.913-52.608H436.238c-43.288 0-67.972 16.28-67.972 51.153l-0.182 54.092H178.493v51.423h680.996l0.001-51.422z m-234.377 0H415.046v-36.809c0-11.664 8.225-21.831 19.917-21.831l168.054 0.909c11.671 0 21.945 8.383 21.945 20.047l0.151 37.684zM497.612 429.124v311.671c0 1.627 0.186 3.215 0.524 4.744 15.426-0.068 30.854-0.116 46.282-0.146 0.318-1.485 0.492-3.022 0.492-4.603V429.253c-15.765-0.024-31.533-0.065-47.298-0.129z",fill:"currentColor"})],-1),U=[O],T=e.defineComponent({name:"sci-transfer"}),q=e.defineComponent({...T,props:{data:{default:()=>[]},title:{default:()=>["Column Chooser","Column Selected"]}},emits:["change"],setup(h,{emit:f}){const g=h,m=f,r=e.ref([]),a=e.ref([]),v=e.ref(""),o=e.ref();let s=null,d=-1,i=-1;e.watch(()=>g.data,n=>{r.value=n.map(t=>({...t,checked:t.disabled?!1:t.checked??!1,disabled:t.disabled??!1})),a.value=r.value.filter(t=>t.checked&&!t.disabled)},{immediate:!0}),e.watch(()=>a.value,n=>{m("change",n)},{deep:!0});const k=e.computed(()=>r.value.filter(n=>n.label.toLocaleLowerCase().includes(v.value.toLocaleLowerCase()))),p=n=>{if(n){let t=r.value.filter(l=>l.disabled);if(a.value.length+t.length===r.value.length)return}else if(a.value.length===0)return;r.value.forEach(t=>{!t.disabled&&(t.checked=n)}),n?a.value=r.value.filter(t=>t.checked):a.value=[]},E=n=>{if(n.checked)a.value.push(n);else{let t=a.value.findIndex(l=>l.key===n.key);a.value.splice(t,1)}},V=(n,t)=>{r.value.forEach(l=>{l.key===n.key&&(l.checked=!1)}),a.value.splice(t,1)},_=n=>{var t;s=n.target,s.classList.add("moving"),d=Array.prototype.slice.call((t=o.value)==null?void 0:t.children).indexOf(s)},b=n=>{var l,c,u;n.preventDefault();const t=n.target;t===s||t===o.value||!t.classList.contains("sci-transfer-selected-item")||(i=Array.prototype.slice.call((l=o.value)==null?void 0:l.children).indexOf(t),d<i?(c=o.value)==null||c.insertBefore(s,t.nextSibling):(u=o.value)==null||u.insertBefore(s,t))},C=()=>{if(s==null||s.classList.remove("moving"),d===-1||i===-1)return;let n=a.value[d];a.value.splice(d,1),a.value.splice(i,0,n),d=i=-1},y=n=>{n.preventDefault()};return(n,t)=>(e.openBlock(),e.createElementBlock("div",N,[e.createElementVNode("div",w,[e.createElementVNode("span",null,e.toDisplayString(n.title[0]),1),e.createElementVNode("span",null,e.toDisplayString(n.title[1]),1)]),e.createElementVNode("div",x,[e.createElementVNode("div",D,[e.createElementVNode("div",M,[e.withDirectives(e.createElementVNode("input",{type:"text",placeholder:"Search...","onUpdate:modelValue":t[0]||(t[0]=l=>v.value=l)},null,512),[[e.vModelText,v.value]]),e.createElementVNode("span",{onClick:t[1]||(t[1]=l=>p(!0))},"Select All"),e.createTextVNode("|"),e.createElementVNode("span",{onClick:t[2]||(t[2]=l=>p(!1))},"Unselect All")]),e.createElementVNode("div",B,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.value,l=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(["sci-transfer-list-item",{"is-checked":l.checked,"is-disabled":l.disabled}]),key:l.key},[e.createElementVNode("span",H,[e.withDirectives(e.createElementVNode("input",{type:"checkbox","onUpdate:modelValue":c=>l.checked=c,disabled:l.disabled,onChange:c=>E(l)},null,40,S),[[e.vModelCheckbox,l.checked]]),z]),e.createElementVNode("span",L,e.toDisplayString(l.label),1)],2))),128))])]),I,e.createElementVNode("div",{class:"sci-transfer-list-content scroll-y",onDragstart:t[4]||(t[4]=l=>_(l)),onDragenter:t[5]||(t[5]=l=>b(l)),onDragend:t[6]||(t[6]=l=>C()),ref_key:"dragContentRef",ref:o},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value,(l,c)=>(e.openBlock(),e.createElementBlock("div",{class:"sci-transfer-selected-item",onDragover:t[3]||(t[3]=u=>y(u)),key:l.key,draggable:"true"},[e.createElementVNode("span",A,e.toDisplayString(l.label),1),e.createElementVNode("i",{style:{color:"#1b90fb"},onClick:u=>V(l,c)},U,8,$)],32))),128))],544)])]))}});exports.default=q;