UNPKG

cione-comp-lib

Version:

`$ yarn add cione-comp-lib` 或者 `$ npm i cione-comp-lib -S`

2 lines (1 loc) 10.1 kB
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});var e=require("vue");require("./index.vue_vue_type_style_index_0_scoped_true_lang.js");var l=require("../../_virtual/plugin-vue_export-helper.js");const t=e.defineComponent({name:"CoTableRollList",props:{width:{type:String},height:{type:String},isBorder:{type:Boolean,default:!0},borderColor:{type:String,default:"rgba(204, 204, 204,1)"},textAlignOption:{type:String,default:"center"},clampNum:{type:Number,default:2},fontFamily:{type:String},isHeader:{type:String,default:!0},headreHeight:{type:Number,default:40},headreSize:{type:Number,default:16},headreColor:{type:String,default:"rgba(255,255,255,1)"},headreBgColor:{type:String,default:"rgba(10, 115, 255, 1)"},headreBgImg:{type:String,default:""},headreBgSize:{type:String,default:"100% 100%"},contentHeight:{type:Number,default:50},contentSize:{type:Number,default:12},contentColor:{type:String,default:"rgba(255,255,255,1)"},oddColor:{type:String,default:"rgba(0, 59, 81,1)"},doubleColor:{type:String,default:"rgba(10, 39, 50,1)"},speed:{type:Number,default:20},webJumpType:{type:String,default:"to"},iconWidth:{type:Number,default:30},aloneHeight:{},isShadow:{type:Boolean,default:!1},shadowColor:{type:String,default:"rgba(102,230,225,1)"},contentBg:{type:String,default:"rgba(10, 39, 50,1)"},list:{type:Object,default:()=>{}}},setup(l){const t=e.ref(l.list),o=e.ref(t.value.headers.findIndex((e=>"link"===e.value))),a=e.ref([]),n=e.ref([]),r=e.ref(),u=e.ref(0),i=e.ref(0),c=e.ref(),v=e.ref(),d=e.ref(),s=e.ref(0),p=e.ref(0),h=e.ref(!0),m=e.ref(!0),g=e.ref(!1),f=e.ref(),y=e.ref(),k=e.ref(),x=e.ref(),S=e.ref(!0),B=e.ref(),b=()=>{d.value=setInterval((()=>{r.value&&(r.value.scrollTop+r.value.clientHeight===r.value.scrollHeight?(s.value=0,p.value=v.value,u.value=r.value.scrollTop-v.value,r.value.scrollTop=u.value):r.value.scrollTop>=v.value?(0===s.value?(s.value=v.value,p.value=0):(s.value=0,p.value=v.value),u.value=0,r.value.scrollTop=u.value):(u.value++,r.value.scrollTop=u.value),k.value=u.value/i.value*100)}),l.speed)},w=()=>{a.value=[],n.value=[];let e=Function(l.aloneHeight);n.value=e(),n.value.forEach(((e,l)=>{a.value.push(e.index)}))},C=()=>{var e;g.value=!0,clearTimeout(B.value),x.value=i.value,f.value=i.value/r.value.scrollHeight*(null==(e=y.value)?void 0:e.offsetHeight),clearInterval(d.value)},T=()=>{S.value&&(clearTimeout(B.value),g.value=!1,b())},F=()=>{S.value=!0,B.value=setTimeout((()=>{clearInterval(d.value),T(),clearTimeout(B.value)}),1e3),document.onmousemove=null,document.onmouseup=null};return e.watch((()=>l.list),(()=>{t.value=l.list,o.value=t.value.headers.findIndex((e=>"link"===e.value)),clearInterval(d.value),clearTimeout(B.value),h.value=!1,e.nextTick((()=>{h.value=!0,e.nextTick((()=>{var e,l;u.value=0,v.value=null==(e=c.value)?void 0:e.offsetHeight,v.value<i.value?m.value=!1:(m.value=!0,p.value=v.value,i.value=null==(l=r.value)?void 0:l.offsetHeight,clearInterval(d.value),b())}))}))})),e.watch((()=>l.speed),(()=>{h.value=!1,e.nextTick((()=>{h.value=!0,clearInterval(d.value),b()}))})),e.watch((()=>l.aloneHeight),(()=>{C(),h.value=!1,w(),e.nextTick((()=>{h.value=!0,e.nextTick((()=>{var e;u.value=0,v.value=null==(e=c.value)?void 0:e.offsetHeight,v.value<i.value?(m.value=!1,clearInterval(d.value),clearTimeout(B.value)):(m.value=!0,p.value=v.value,b())}))}))})),e.onMounted((()=>{w(),e.nextTick((()=>{var e,l;v.value=null==(e=c.value)?void 0:e.offsetHeight,v.value<i.value?(m.value=!1,clearInterval(d.value),clearTimeout(B.value)):(m.value=!0,p.value=v.value,i.value=null==(l=r.value)?void 0:l.offsetHeight,b())}))})),e.onUnmounted((()=>{clearInterval(d.value),clearTimeout(B.value)})),{listData:t,linkIndex:o,listDom:r,actualDomBox:c,actualTop:s,cloneTop:p,show:h,isClone:m,aloneIndexArr:a,aloneHeightArr:n,scrollHeight:f,scrollBox:y,scrollActiveH:k,scrollBoxHeight:x,isOver:g,overFn:C,outFn:T,downFn:e=>{S.value=!1,clearTimeout(B.value),clearInterval(d.value);let l=e.clientY-k.value;document.onmousemove=e=>{u.value=3*(e.clientY-l),u.value<=0&&(u.value=0),u.value+r.value.clientHeight>=r.value.scrollHeight&&(u.value=r.value.scrollTop),k.value=u.value/i.value*100,r.value.scrollTop=u.value},document.onmouseup=()=>{S.value=!0,F()}},upFn:F,updataList:l=>{t.value=l,o.value=t.value.headers.findIndex((e=>"link"===e.value)),clearInterval(d.value),clearTimeout(B.value),h.value=!1,w(),e.nextTick((()=>{h.value=!0,u.value=0,e.nextTick((()=>{var e,l;u.value=0,v.value=null==(e=c.value)?void 0:e.offsetHeight,v.value<i.value?m.value=!1:(m.value=!0,p.value=v.value,i.value=null==(l=r.value)?void 0:l.offsetHeight,clearInterval(d.value),b())}))}))},updataClick:()=>document.querySelectorAll(".iconClick"),scrollFn:e=>{g.value&&(u.value=e.target.scrollTop,r.value.scrollTop=u.value,k.value=e.target.scrollTop/i.value*100)},webJumpFn:e=>{"to"===l.webJumpType?window.open(e):"current"===l.webJumpType&&(window.location.href=e)},...e.toRefs(l)}}});var o=l.default(t,[["render",function(l,t,o,a,n,r){const u=e.resolveComponent("Link"),i=e.resolveComponent("el-icon");return e.openBlock(),e.createElementBlock("div",{class:"co-table-roll-list",style:e.normalizeStyle({width:l.width||"100%",height:l.height||"100%",fontFamily:l.fontFamily}),onDrag:t[9]||(t[9]=()=>!1)},[l.isHeader?(e.openBlock(),e.createElementBlock("div",{key:0,class:"table-roll-list__header",style:e.normalizeStyle({backgroundColor:l.headreBgColor,backgroundImage:`url(${l.headreBgImg})`,backgroundSize:l.headreBgSize})},[e.createElementVNode("ul",{style:e.normalizeStyle({width:l.isShadow?"96%":"100%",height:l.headreHeight+"px",lineHeight:l.headreHeight+"px",color:l.headreColor,fontSize:l.headreSize+"px"})},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.listData.headers,((t,o)=>(e.openBlock(),e.createElementBlock("li",{key:o,style:e.normalizeStyle({width:t.width+"%",justifyContent:l.textAlignOption,borderLeft:l.isBorder&&0!==o?`1px solid ${l.borderColor}`:"none"})},[e.createElementVNode("span",null,e.toDisplayString("link"===t.value?" ":t.value),1)],4)))),128))],4)],4)):e.createCommentVNode("",!0),l.show?(e.openBlock(),e.createElementBlock("div",{key:1,class:"table-roll-list__content",ref:"listDom",onMouseover:t[0]||(t[0]=(...e)=>l.overFn&&l.overFn(...e)),onMouseout:t[1]||(t[1]=(...e)=>l.outFn&&l.outFn(...e)),onTouchstart:t[2]||(t[2]=(...e)=>l.overFn&&l.overFn(...e)),onTouchend:t[3]||(t[3]=(...e)=>l.outFn&&l.outFn(...e)),onScroll:t[4]||(t[4]=(...e)=>l.scrollFn&&l.scrollFn(...e)),style:e.normalizeStyle({overflowY:"scroll",backgroundColor:l.contentBg})},[e.createElementVNode("div",{class:"roll-list__content-box",style:e.normalizeStyle({top:l.actualTop+"px",width:l.isShadow?"96%":"100%"}),ref:"actualDomBox"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.listData.content,((t,o)=>(e.openBlock(),e.createElementBlock("ul",{key:o,style:e.normalizeStyle({height:`${-1===l.aloneIndexArr.indexOf(o)?l.contentHeight:l.aloneHeightArr[l.aloneIndexArr.indexOf(o)].height}px`,color:l.contentColor,fontSize:l.contentSize+"px",backgroundColor:o%2==1?l.oddColor:l.doubleColor,boxShadow:l.isShadow?`0px 0px 8px ${l.shadowColor}`:""})},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t,((t,o)=>(e.openBlock(),e.createElementBlock("li",{key:o,style:e.normalizeStyle({width:l.listData.headers[o].width+"%",justifyContent:l.textAlignOption,borderLeft:l.isBorder&&0!==o?`1px solid ${l.borderColor}`:"none"})},[l.linkIndex!==o?(e.openBlock(),e.createElementBlock("span",{key:0,style:e.normalizeStyle({"-webkit-line-clamp":l.clampNum})},e.toDisplayString(t),5)):e.createCommentVNode("",!0),l.linkIndex===o?(e.openBlock(),e.createBlock(i,{key:1,style:e.normalizeStyle({width:l.iconWidth+"px",height:l.iconWidth+"px",cursor:"pointer"}),onClick:e=>l.webJumpFn(t),class:"iconClick"},{default:e.withCtx((()=>[e.createVNode(u)])),_:2},1032,["style","onClick"])):e.createCommentVNode("",!0)],4)))),128))],4)))),128))],4),l.isClone?(e.openBlock(),e.createElementBlock("div",{key:0,class:"roll-list__content-box",style:e.normalizeStyle({top:l.cloneTop+"px",width:l.isShadow?"96%":"100%"})},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.listData.content,((t,o)=>(e.openBlock(),e.createElementBlock("ul",{key:o,style:e.normalizeStyle({height:`${-1===l.aloneIndexArr.indexOf(o)?l.contentHeight:l.aloneHeightArr[l.aloneIndexArr.indexOf(o)].height}px`,color:l.contentColor,fontSize:l.contentSize+"px",backgroundColor:o%2==1?l.oddColor:l.doubleColor,boxShadow:l.isShadow?`0px 0px 8px ${l.shadowColor}`:""})},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t,((t,o)=>(e.openBlock(),e.createElementBlock("li",{key:o,style:e.normalizeStyle({width:l.listData.headers[o].width+"%",justifyContent:l.textAlignOption,borderLeft:l.isBorder&&0!==o?`1px solid ${l.borderColor}`:"none"})},[l.linkIndex!==o?(e.openBlock(),e.createElementBlock("span",{key:0,style:e.normalizeStyle({"-webkit-line-clamp":l.clampNum})},e.toDisplayString(t),5)):e.createCommentVNode("",!0),l.linkIndex===o?(e.openBlock(),e.createBlock(i,{key:1,style:e.normalizeStyle({width:l.iconWidth+"px",height:l.iconWidth+"px",cursor:"pointer"}),onClick:e=>l.webJumpFn(t),class:"iconClick"},{default:e.withCtx((()=>[e.createVNode(u)])),_:2},1032,["style","onClick"])):e.createCommentVNode("",!0)],4)))),128))],4)))),128))],4)):e.createCommentVNode("",!0)],36)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:"table-roll-list__scroll",ref:"scrollBox",style:e.normalizeStyle({height:l.scrollBoxHeight+"px",opacity:l.isOver?1:0})},[e.createElementVNode("div",{class:"table-roll-list__scrollbar",style:e.normalizeStyle({height:l.scrollHeight+"px",transform:`translateY(${l.scrollActiveH}%)`}),onMouseover:t[5]||(t[5]=(...e)=>l.overFn&&l.overFn(...e)),onMouseout:t[6]||(t[6]=(...e)=>l.outFn&&l.outFn(...e)),onMousedown:t[7]||(t[7]=e.withModifiers(((...e)=>l.downFn&&l.downFn(...e)),["stop"])),onMouseup:t[8]||(t[8]=e.withModifiers(((...e)=>l.upFn&&l.upFn(...e)),["stop"]))},null,36)],4)],36)}],["__scopeId","data-v-731ccf9e"]]);exports.default=o;