UNPKG

zview-plus

Version:

基于 Vue3 的 UI 组件库

2 lines (1 loc) 1.67 kB
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),p=require("./slider.js"),c=require("../../../utils/vue/offset.js"),_=require("../../tooltip/index.js"),v=require("../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/throttle.js"),w={class:"z-slider__button-wrapper"},y={name:"ZSliderMarker"},k=e.defineComponent({...y,props:p.SliderProps,emits:["update:isDraw","setMarkerSite"],setup(i,{expose:d,emit:r}){const t=i,o=e.useAttrs(),u=e.ref(null),l=e.ref(0),f=e.ref(0),a=e.computed(()=>t.vertical?{bottom:`${t.modelValue}%`}:{left:`${t.modelValue}%`}),m=n=>{n.onmousedown=function(){return document.onmousemove=v.default(function(s){return t.disabled||(r("update:isDraw",!0),t.vertical?l.value=c.offsetTop(o.runway_wraper)+o.runway_wraper.offsetHeight-s.pageY:l.value=s.pageX-c.offsetLeft(o.runway_wraper),r("setMarkerSite",l.value,o.yname)),!1},20),document.onmouseup=function(){return document.onmousemove=null,document.onmousedown=null,document.onmouseup=null,setTimeout(()=>{r("update:isDraw",!1)},50),!1},!1}};return e.onMounted(()=>{m(u.value)}),d({btnIndex:f}),(n,s)=>(e.openBlock(),e.createElementBlock("div",w,[n.showTooltip?(e.openBlock(),e.createBlock(e.unref(_.default),{key:0,content:n.$attrs.tip+"",placement:n.placement},{default:e.withCtx(()=>[e.createElementVNode("div",{ref_key:"btn",ref:u,class:"z-slider__button",style:e.normalizeStyle(e.unref(a))},null,4)]),_:1},8,["content","placement"])):(e.openBlock(),e.createElementBlock("div",{key:1,ref_key:"btn",ref:u,class:"z-slider__button",style:e.normalizeStyle(e.unref(a))},null,4))]))}});exports.default=k;