1 |
- {"version":3,"sources":["webpack:///./components/custom-el-slider/index.vue","webpack:///./components/custom-el-slider/index.vue?ccb8","webpack:///./components/custom-el-slider/index.vue?f9b6","webpack:///./components/custom-el-slider/button.vue","webpack:///./components/custom-el-slider/button.vue?401c","webpack:///./components/custom-el-slider/button.vue?2d7c","webpack:///./components/custom-el-slider/marker.vue","webpack:///./components/custom-el-slider/marker.vue?00c8","webpack:///./components/custom-el-slider/marker.vue?e189"],"names":["name","components","ElInputNumber","SliderButton","SliderMarker","mixins","Emitter","inject","elForm","default","props","min","type","Number","max","step","value","Array","String","showInput","Boolean","showInputControls","inputSize","showStops","showTooltip","formatTooltip","Function","disabled","range","vertical","height","debounce","label","tooltipClass","marks","Object","data","firstValue","secondValue","oldValue","dragging","sliderSize","computed","stops","_this","this","stopCount","stepWidth","result","i","push","filter","minValue","maxValue","markList","_this2","marksKeys","keys","map","parseFloat","sort","a","b","point","index","position","length","mark","Math","barSize","_this3","findIndex","concat","barStart","precision","precisions","item","decimal","split","apply","runwayStyle","barStyle","bottom","width","left","sliderDisabled","watch","val","oldVal","isArray","every","setValues","$emit","mounted","valuetext","isNaN","$el","setAttribute","resetSize","window","addEventListener","beforeDestroy","removeEventListener","methods","valueChanged","_this4","console","error","dispatch","slice","setPosition","percent","button","targetValue","abs","$refs","button1","onSliderClick","event","sliderOffsetBottom","slider","getBoundingClientRect","clientY","sliderOffsetLeft","clientX","emitChange","onMarkClick","_this5","$nextTick","getStopStyle","component","_vm","_c","_self","staticClass","class","attrs","ref","on","model","callback","$$v","expression","_e","_v","style","_l","key","directives","rawName","$event","stopPropagation","hovering","isClick","startX","currentX","startY","currentY","startPosition","newPosition","$parent","currentPosition","enableFormat","formatValue","wrapperStyle","displayTooltip","tooltip","showPopper","hideTooltip","handleMouseEnter","handleMouseLeave","onButtonDown","preventDefault","onDragStart","onDragging","onDragEnd","onLeftKeyDown","onRightKeyDown","touches","diff","setTimeout","lengthPerStep","round","current","arr","perc","toFixed","updatePopper","hover","indexOf","_k","keyCode","arguments","slot","_s","e","staticStyle"],"mappings":"6JAAA,I,yCCA2P,EDK5O,CACbA,KAAM,WACNC,WAAY,CACVC,kBACAC,uBACAC,6BAEFC,OAAQ,CAACC,KACTC,OAAQ,CACNC,OAAQ,CACNC,QAAS,KAGbC,MAAO,CACLC,IAAK,CACHC,KAAMC,OACNJ,QAAS,GAEXK,IAAK,CACHF,KAAMC,OACNJ,QAAS,KAEXM,KAAM,CACJH,KAAMC,OACNJ,QAAS,GAEXO,MAAO,CAELJ,KAAM,CAACC,OAAQI,MAAOC,QACtBT,QAAS,GAEXU,UAAW,CACTP,KAAMQ,QACNX,SAAS,GAEXY,kBAAmB,CACjBT,KAAMQ,QACNX,SAAS,GAEXa,UAAW,CACTV,KAAMM,OACNT,QAAS,SAEXc,UAAW,CACTX,KAAMQ,QACNX,SAAS,GAEXe,YAAa,CACXZ,KAAMQ,QACNX,SAAS,GAEXgB,cAAeC,SACfC,SAAU,CACRf,KAAMQ,QACNX,SAAS,GAEXmB,MAAO,CACLhB,KAAMQ,QACNX,SAAS,GAEXoB,SAAU,CACRjB,KAAMQ,QACNX,SAAS,GAEXqB,OAAQ,CACNlB,KAAMM,QAERa,SAAU,CACRnB,KAAMC,OACNJ,QAAS,KAEXuB,MAAO,CACLpB,KAAMM,QAERe,aAAcf,OACdgB,MAAOC,QAETC,KAAI,WACF,MAAO,CACLC,WAAY,KACZC,YAAa,KACbC,SAAU,KACVC,UAAU,EACVC,WAAY,EAEhB,EACAC,SAAU,CACRC,MAAK,WAAG,IAAAC,EAAA,KACN,IAAKC,KAAKtB,WAAasB,KAAKlC,IAAMkC,KAAK/B,IAAK,MAAO,GACnD,GAAkB,IAAd+B,KAAK9B,KAGP,MAAO,GAKT,IAHA,IAAM+B,GAAaD,KAAK/B,IAAM+B,KAAKlC,KAAOkC,KAAK9B,KACzCgC,EAAa,IAAMF,KAAK9B,MAAS8B,KAAK/B,IAAM+B,KAAKlC,KACjDqC,EAAS,GACNC,EAAI,EAAGA,EAAIH,EAAWG,IAC7BD,EAAOE,KAAKD,EAAIF,GAElB,OAAIF,KAAKjB,MACAoB,EAAOG,QAAO,SAAApC,GACnB,OACEA,EAAQ,KAAO6B,EAAKQ,SAAWR,EAAKjC,MAASiC,EAAK9B,IAAM8B,EAAKjC,MAC7DI,EAAQ,KAAO6B,EAAKS,SAAWT,EAAKjC,MAASiC,EAAK9B,IAAM8B,EAAKjC,IAEjE,IAEOqC,EAAOG,QACZ,SAAApC,GAAI,OACFA,EAAQ,KAAO6B,EAAKP,WAAaO,EAAKjC,MAASiC,EAAK9B,IAAM8B,EAAKjC,IAAI,GAG3E,EACA2C,SAAQ,WAAG,IAAAC,EAAA,KACT,IAAKV,KAAKX,MACR,MAAO,GAET,IAAMsB,EAAYrB,OAAOsB,KAAKZ,KAAKX,OACnC,OAAOsB,EACJE,IAAIC,YACJC,MAAK,SAACC,EAAGC,GAAC,OAAKD,EAAIC,CAAC,IACpBX,QAAO,SAAAY,GAAK,OAAIA,GAASR,EAAKzC,KAAOiD,GAASR,EAAK5C,GAAG,IACtD+C,KAAI,SAACK,EAAOC,GAAK,MAAM,CACtBD,QAEAE,SACG,IAAMD,GAAST,EAAKzC,IAAMyC,EAAK5C,MAC/B6C,EAAUU,OAAS,IACnBX,EAAKzC,IAAMyC,EAAK5C,KAEnBwD,KAAMZ,EAAKrB,MAAM6B,GAClB,GACL,EACAX,SAAQ,WACN,OAAOgB,KAAKzD,IAAIkC,KAAKR,WAAYQ,KAAKP,YACxC,EACAe,SAAQ,WACN,OAAOe,KAAKtD,IAAI+B,KAAKR,WAAYQ,KAAKP,YACxC,EACA+B,QAAO,WAAG,IAAAC,EAAA,KACR,GAAIzB,KAAKX,MAAO,CACd,IAAMA,EAAQC,OAAOsB,KAAKZ,KAAKX,OAAOwB,IAAI7C,QAEpCmD,EAAQ9B,EAAMqC,WAAU,SAAAtB,GAAC,OAAIqB,EAAKjC,WAAaY,CAAC,IAGtD,GAAIJ,KAAKjB,MAEP,MAAO,GAAP4C,OACG,KAAO3B,KAAKQ,SAAWR,KAAKO,WAAcP,KAAK/B,IAAM+B,KAAKlC,KAAI,KAGnE,IAAe,IAAXqD,EAAc,MAAO,OAGzB,IAAMhD,GACHgD,EAAQ,IAAM9B,EAAMgC,OAAS,IAC7BrB,KAAKR,WAAaH,EAAM8B,EAAQ,KAC9B9B,EAAM8B,GAAS9B,EAAM8B,EAAQ,KAC7B9B,EAAMgC,OAAS,GAGpB,OAAOlD,EAAQ,EAAI,OAAS,GAAHwD,OAAc,IAARxD,EAAW,IAC5C,CACE,OAAO6B,KAAKjB,MAAK,GAAA4C,OAEV,KAAO3B,KAAKQ,SAAWR,KAAKO,WAAcP,KAAK/B,IAAM+B,KAAKlC,KAAI,QAAA6D,OAE7D,KAAO3B,KAAKR,WAAaQ,KAAKlC,MAASkC,KAAK/B,IAAM+B,KAAKlC,KAAI,IAEvE,EACA8D,SAAQ,WACN,OAAO5B,KAAKjB,MAAK,GAAA4C,OACT,KAAO3B,KAAKO,SAAWP,KAAKlC,MAASkC,KAAK/B,IAAM+B,KAAKlC,KAAI,KAC7D,IACN,EACA+D,UAAS,WACP,IAAMC,EAAa,CAAC9B,KAAKlC,IAAKkC,KAAK/B,IAAK+B,KAAK9B,MAAM2C,KAAI,SAAAkB,GACrD,IAAMC,GAAW,GAAKD,GAAME,MAAM,KAAK,GACvC,OAAOD,EAAUA,EAAQX,OAAS,CACpC,IACA,OAAOE,KAAKtD,IAAIiE,MAAM,KAAMJ,EAC9B,EACAK,YAAW,WACT,OAAOnC,KAAKhB,SAAW,CAAEC,OAAQe,KAAKf,QAAW,CAAC,CACpD,EACAmD,SAAQ,WACN,OAAOpC,KAAKhB,SACR,CACEC,OAAQe,KAAKwB,QACba,OAAQrC,KAAK4B,UAEf,CACEU,MAAOtC,KAAKwB,QACZe,KAAMvC,KAAK4B,SAEnB,EACAY,eAAc,WACZ,OAAOxC,KAAKlB,WAAakB,KAAKrC,QAAU,CAAC,GAAGmB,QAC9C,GAEF2D,MAAO,CACLtE,MAAK,SAACuE,EAAKC,GAEP3C,KAAKL,UACJvB,MAAMwE,QAAQF,IACbtE,MAAMwE,QAAQD,IACdD,EAAIG,OAAM,SAACd,EAAMZ,GAAK,OAAKY,IAASY,EAAOxB,EAAM,KAIrDnB,KAAK8C,WACP,EACAnD,SAAQ,SAAC+C,GACFA,GACH1C,KAAK8C,WAET,EACAtD,WAAU,SAACkD,GACL1C,KAAKjB,MACPiB,KAAK+C,MAAM,QAAS,CAAC/C,KAAKO,SAAUP,KAAKQ,WAEzCR,KAAK+C,MAAM,QAASL,EAExB,EACAjD,YAAW,WACLO,KAAKjB,OACPiB,KAAK+C,MAAM,QAAS,CAAC/C,KAAKO,SAAUP,KAAKQ,UAE7C,EACA1C,IAAG,WACDkC,KAAK8C,WACP,EACA7E,IAAG,WACD+B,KAAK8C,WACP,GAEFE,QAAO,WACL,IAAIC,EACAjD,KAAKjB,OACHX,MAAMwE,QAAQ5C,KAAK7B,QACrB6B,KAAKR,WAAa+B,KAAKtD,IAAI+B,KAAKlC,IAAKkC,KAAK7B,MAAM,IAChD6B,KAAKP,YAAc8B,KAAKzD,IAAIkC,KAAK/B,IAAK+B,KAAK7B,MAAM,MAEjD6B,KAAKR,WAAaQ,KAAKlC,IACvBkC,KAAKP,YAAcO,KAAK/B,KAE1B+B,KAAKN,SAAW,CAACM,KAAKR,WAAYQ,KAAKP,aACvCwD,EAAY,GAAHtB,OAAM3B,KAAKR,WAAU,KAAAmC,OAAI3B,KAAKP,eAEb,iBAAfO,KAAK7B,OAAsB+E,MAAMlD,KAAK7B,OAC/C6B,KAAKR,WAAaQ,KAAKlC,IAEvBkC,KAAKR,WAAa+B,KAAKzD,IAAIkC,KAAK/B,IAAKsD,KAAKtD,IAAI+B,KAAKlC,IAAKkC,KAAK7B,QAE/D6B,KAAKN,SAAWM,KAAKR,WACrByD,EAAYjD,KAAKR,YAEnBQ,KAAKmD,IAAIC,aAAa,iBAAkBH,GAExCjD,KAAKmD,IAAIC,aACP,aACApD,KAAKb,MAAQa,KAAKb,MAAQ,kBAAHwC,OAAqB3B,KAAKlC,IAAG,SAAA6D,OAAQ3B,KAAK/B,MAEnE+B,KAAKqD,YACLC,OAAOC,iBAAiB,SAAUvD,KAAKqD,UACzC,EACAG,cAAa,WACXF,OAAOG,oBAAoB,SAAUzD,KAAKqD,UAC5C,EACAK,QAAS,CACPC,aAAY,WAAG,IAAAC,EAAA,KACb,OAAI5D,KAAKjB,OACC,CAACiB,KAAKO,SAAUP,KAAKQ,UAAUqC,OACrC,SAACd,EAAMZ,GAAK,OAAKY,IAAS6B,EAAKlE,SAASyB,EAAM,IAGzCnB,KAAK7B,QAAU6B,KAAKN,QAE/B,EACAoD,UAAS,WACP,GAAI9C,KAAKlC,IAAMkC,KAAK/B,IAClB4F,QAAQC,MACN,kEAFJ,CAMA,IAAMpB,EAAM1C,KAAK7B,MACb6B,KAAKjB,OAASX,MAAMwE,QAAQF,GAC1BA,EAAI,GAAK1C,KAAKlC,IAChBkC,KAAK+C,MAAM,QAAS,CAAC/C,KAAKlC,IAAKkC,KAAKlC,MAC3B4E,EAAI,GAAK1C,KAAK/B,IACvB+B,KAAK+C,MAAM,QAAS,CAAC/C,KAAK/B,IAAK+B,KAAK/B,MAC3ByE,EAAI,GAAK1C,KAAKlC,IACvBkC,KAAK+C,MAAM,QAAS,CAAC/C,KAAKlC,IAAK4E,EAAI,KAC1BA,EAAI,GAAK1C,KAAK/B,IACvB+B,KAAK+C,MAAM,QAAS,CAACL,EAAI,GAAI1C,KAAK/B,OAElC+B,KAAKR,WAAakD,EAAI,GACtB1C,KAAKP,YAAciD,EAAI,GACnB1C,KAAK2D,iBACP3D,KAAK+D,SAAS,aAAc,iBAAkB,CAC5C/D,KAAKO,SACLP,KAAKQ,WAEPR,KAAKN,SAAWgD,EAAIsB,UAGdhE,KAAKjB,OAAwB,iBAAR2D,GAAqBQ,MAAMR,KACtDA,EAAM1C,KAAKlC,IACbkC,KAAK+C,MAAM,QAAS/C,KAAKlC,KAChB4E,EAAM1C,KAAK/B,IACpB+B,KAAK+C,MAAM,QAAS/C,KAAK/B,MAEzB+B,KAAKR,WAAakD,EACd1C,KAAK2D,iBACP3D,KAAK+D,SAAS,aAAc,iBAAkBrB,GAC9C1C,KAAKN,SAAWgD,IA/BtB,CAmCF,EACAuB,YAAW,SAACC,GACV,IAMIC,OANEC,EAAcpE,KAAKlC,IAAOoG,GAAWlE,KAAK/B,IAAM+B,KAAKlC,KAAQ,IAE9DkC,KAAKjB,OASRoF,OAHA5C,KAAK8C,IAAIrE,KAAKO,SAAW6D,GACzB7C,KAAK8C,IAAIrE,KAAKQ,SAAW4D,GAEhBpE,KAAKR,WAAaQ,KAAKP,YAAc,UAAY,UAEjDO,KAAKR,WAAaQ,KAAKP,YAAc,UAAY,UAE5DO,KAAKsE,MAAMH,QAAQF,YAAYC,IAZ7BlE,KAAKsE,MAAMC,QAAQN,YAAYC,EAanC,EACAM,cAAa,SAACC,GACZ,IAAIzE,KAAKwC,iBAAkBxC,KAAKL,SAAhC,CAEA,GADAK,KAAKqD,YACDrD,KAAKhB,SAAU,CACjB,IAAM0F,EACJ1E,KAAKsE,MAAMK,OAAOC,wBAAwBvC,OAC5CrC,KAAKiE,aACDS,EAAqBD,EAAMI,SAAW7E,KAAKJ,WAAc,IAE/D,KAAO,CACL,IAAMkF,EAAmB9E,KAAKsE,MAAMK,OAAOC,wBAAwBrC,KACnEvC,KAAKiE,aACDQ,EAAMM,QAAUD,GAAoB9E,KAAKJ,WAAc,IAE7D,CACAI,KAAKgF,YAd2C,CAelD,EACAC,YAAW,SAAC9D,GACV,GAAqB,iBAAVA,IAIPnB,KAAKwC,iBAAkBxC,KAAKL,SAAhC,CACAK,KAAKqD,YAEL,IAAMhE,EAAQC,OAAOsB,KAAKZ,KAAKX,OAAOwB,IAAI7C,QAE1CgC,KAAKiE,YAAa,IAAM9C,GAAU9B,EAAMgC,OAAS,IAEjDrB,KAAKgF,YAP2C,CAQlD,EACA3B,UAAS,WACHrD,KAAKsE,MAAMK,SACb3E,KAAKJ,WACHI,KAAKsE,MAAMK,OAAO,SAADhD,OAAU3B,KAAKhB,SAAW,SAAW,UAE5D,EACAgG,WAAU,WAAG,IAAAE,EAAA,KACXlF,KAAKmF,WAAU,WACbD,EAAKnC,MACH,SACAmC,EAAKnG,MAAQ,CAACmG,EAAK3E,SAAU2E,EAAK1E,UAAY0E,EAAK/G,MAEvD,GACF,EACAiH,aAAY,SAAChE,GACX,OAAOpB,KAAKhB,SACR,CAAEqD,OAAQjB,EAAW,KACrB,CAAEmB,KAAMnB,EAAW,IACzB,I,QEpYAiE,UAAY,YACd,GFRW,WAAkB,IAAIC,EAAI,KAAKC,EAAGD,EAAIE,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACE,YAAY,YAAYC,MAAM,CAAE,cAAeJ,EAAItG,SAAU,wBAAyBsG,EAAIhH,WAAYqH,MAAM,CAAC,KAAO,SAAS,gBAAgBL,EAAIxH,IAAI,gBAAgBwH,EAAIrH,IAAI,mBAAmBqH,EAAItG,SAAW,WAAa,aAAa,gBAAgBsG,EAAI9C,iBAAiB,CAAE8C,EAAIhH,YAAcgH,EAAIvG,MAAOwG,EAAG,kBAAkB,CAACK,IAAI,QAAQH,YAAY,mBAAmBE,MAAM,CAAC,KAAOL,EAAIpH,KAAK,SAAWoH,EAAI9C,eAAe,SAAW8C,EAAI9G,kBAAkB,IAAM8G,EAAIxH,IAAI,IAAMwH,EAAIrH,IAAI,SAAWqH,EAAIpG,SAAS,KAAOoG,EAAI7G,WAAWoH,GAAG,CAAC,OAASP,EAAIN,YAAYc,MAAM,CAAC3H,MAAOmH,EAAI9F,WAAYuG,SAAS,SAAUC,GAAMV,EAAI9F,WAAWwG,CAAG,EAAEC,WAAW,gBAAgBX,EAAIY,KAAKZ,EAAIa,GAAG,KAAKZ,EAAG,MAAM,CAACK,IAAI,SAASH,YAAY,oBAAoBC,MAAM,CAAE,aAAcJ,EAAIhH,UAAWQ,SAAUwG,EAAI9C,gBAAiB4D,MAAOd,EAAInD,YAAa0D,GAAG,CAAC,MAAQP,EAAId,gBAAgB,CAACe,EAAG,MAAM,CAACE,YAAY,iBAAiBW,MAAOd,EAAIlD,WAAYkD,EAAIa,GAAG,KAAKZ,EAAG,gBAAgB,CAACK,IAAI,UAAUD,MAAM,CAAC,SAAWL,EAAItG,SAAS,MAAQsG,EAAIjG,MAAM,gBAAgBiG,EAAIlG,cAAc0G,MAAM,CAAC3H,MAAOmH,EAAI9F,WAAYuG,SAAS,SAAUC,GAAMV,EAAI9F,WAAWwG,CAAG,EAAEC,WAAW,gBAAgBX,EAAIa,GAAG,KAAMb,EAAIvG,MAAOwG,EAAG,gBAAgB,CAACK,IAAI,UAAUD,MAAM,CAAC,SAAWL,EAAItG,SAAS,MAAQsG,EAAIjG,MAAM,gBAAgBiG,EAAIlG,cAAc0G,MAAM,CAAC3H,MAAOmH,EAAI7F,YAAasG,SAAS,SAAUC,GAAMV,EAAI7F,YAAYuG,CAAG,EAAEC,WAAW,iBAAiBX,EAAIY,KAAKZ,EAAIa,GAAG,KAAKb,EAAIe,GAAIf,EAAIxF,OAAO,SAASiC,EAAKuE,GAAK,OAAOf,EAAG,MAAM,CAACgB,WAAW,CAAC,CAACpJ,KAAK,OAAOqJ,QAAQ,SAASrI,MAAOmH,EAAI5G,UAAWuH,WAAW,cAAcK,IAAIA,EAAIb,YAAY,kBAAkBW,MAAOd,EAAIF,aAAarD,IAAQ,IAAGuD,EAAIa,GAAG,KAAMb,EAAI7E,SAASY,OAAS,EAAG,CAACkE,EAAG,MAAMD,EAAIe,GAAIf,EAAI7E,UAAU,SAASsB,EAAKuE,GAAK,OAAOf,EAAG,MAAM,CAACe,IAAIA,EAAIb,YAAY,wCAAwCW,MAAOd,EAAIF,aAAarD,EAAKX,UAAWyE,GAAG,CAAC,MAAQ,SAASY,GAAiC,OAAzBA,EAAOC,kBAAyBpB,EAAIL,YAAYqB,EAAI,IAAI,IAAG,GAAGhB,EAAIa,GAAG,KAAKZ,EAAG,MAAM,CAACE,YAAY,oBAAoBH,EAAIe,GAAIf,EAAI7E,UAAU,SAASsB,EAAKuE,GAAK,OAAOf,EAAG,gBAAgB,CAACe,IAAIA,EAAIF,MAAOd,EAAIF,aAAarD,EAAKX,UAAWuE,MAAM,CAAC,KAAO5D,EAAKT,MAAMuE,GAAG,CAAC,MAAQ,SAASY,GAAQ,OAAOnB,EAAIL,YAAYqB,EAAI,IAAI,IAAG,IAAIhB,EAAIY,MAAM,IAAI,EAC7uE,GACsB,IESpB,EACA,KACA,KACA,MAIa,UAAAb,U,wFClBf,ICA4P,EDE7O,CACblI,KAAM,iBACNC,WAAY,CACV,EAEFS,MAAO,CACLM,MAAO,CACLJ,KAAMC,OACNJ,QAAS,GAEXoB,SAAU,CACRjB,KAAMQ,QACNX,SAAS,GAEXwB,aAAcf,OACdgB,MAAOC,QAETC,KAAI,WACF,MAAO,CACLoH,UAAU,EACVhH,UAAU,EACViH,SAAS,EACTC,OAAQ,EACRC,SAAU,EACVC,OAAQ,EACRC,SAAU,EACVC,cAAe,EACfC,YAAa,KACbxH,SAAUM,KAAK7B,MAEnB,EACA0B,SAAU,CACRf,SAAQ,WACN,OAAOkB,KAAKmH,QAAQ3E,cACtB,EACAvE,IAAG,WACD,OAAO+B,KAAKmH,QAAQlJ,GACtB,EACAH,IAAG,WACD,OAAOkC,KAAKmH,QAAQrJ,GACtB,EACAI,KAAI,WACF,OAAO8B,KAAKmH,QAAQjJ,IACtB,EACAS,YAAW,WACT,OAAOqB,KAAKmH,QAAQxI,WACtB,EACAkD,UAAS,WACP,OAAO7B,KAAKmH,QAAQtF,SACtB,EACAuF,gBAAe,WAAG,IAAArH,EAAA,KAChB,GAAIC,KAAKX,MAAO,CAGd,IAAMA,EAAQC,OAAOsB,KAAKZ,KAAKX,OAAOwB,IAAI7C,QAEpCmD,EAAQ9B,EAAMqC,WAAU,SAAAtB,GAAC,OAAIL,EAAK5B,MAAQiC,CAAC,IAEjD,IAAe,IAAXe,EAAc,MAAO,OAGzB,IAAMhD,GACHgD,EAAQ,IAAM9B,EAAMgC,OAAS,IAC7BrB,KAAK7B,MAAQkB,EAAM8B,EAAQ,KACzB9B,EAAM8B,GAAS9B,EAAM8B,EAAQ,KAC7B9B,EAAMgC,OAAS,GAEpB,OAAOlD,EAAQ,EAAI,OAAS,GAAHwD,OAAc,IAARxD,EAAW,IAC5C,CAEE,MAAO,GAAPwD,QAAY3B,KAAK7B,MAAQ6B,KAAKlC,MAAQkC,KAAK/B,IAAM+B,KAAKlC,KAAQ,IAAG,IAErE,EACAuJ,aAAY,WACV,OAAOrH,KAAKmH,QAAQvI,yBAAyBC,QAC/C,EACAyI,YAAW,WACT,OACGtH,KAAKqH,cAAgBrH,KAAKmH,QAAQvI,cAAcoB,KAAK7B,QACtD6B,KAAK7B,KAET,EACAoJ,aAAY,WACV,OAAOvH,KAAKhB,SACR,CAAEqD,OAAQrC,KAAKoH,iBACf,CAAE7E,KAAMvC,KAAKoH,gBACnB,GAEF3E,MAAO,CACL9C,SAAQ,SAAC+C,GACP1C,KAAKmH,QAAQxH,SAAW+C,CAC1B,GAEFgB,QAAS,CACP8D,eAAc,WACZxH,KAAKsE,MAAMmD,UAAYzH,KAAKsE,MAAMmD,QAAQC,YAAa,EACzD,EACAC,YAAW,WACT3H,KAAKsE,MAAMmD,UAAYzH,KAAKsE,MAAMmD,QAAQC,YAAa,EACzD,EACAE,iBAAgB,WACd5H,KAAK2G,UAAW,EAChB3G,KAAKwH,gBACP,EACAK,iBAAgB,WACd7H,KAAK2G,UAAW,EAChB3G,KAAK2H,aACP,EACAG,aAAY,SAACrD,GACPzE,KAAKlB,WACT2F,EAAMsD,iBACN/H,KAAKgI,YAAYvD,GACjBnB,OAAOC,iBAAiB,YAAavD,KAAKiI,YAC1C3E,OAAOC,iBAAiB,YAAavD,KAAKiI,YAC1C3E,OAAOC,iBAAiB,UAAWvD,KAAKkI,WACxC5E,OAAOC,iBAAiB,WAAYvD,KAAKkI,WACzC5E,OAAOC,iBAAiB,cAAevD,KAAKkI,WAC9C,EACAC,cAAa,WACPnI,KAAKlB,WACTkB,KAAKkH,YACHpG,WAAWd,KAAKoH,iBACfpH,KAAK9B,MAAQ8B,KAAK/B,IAAM+B,KAAKlC,KAAQ,IACxCkC,KAAKiE,YAAYjE,KAAKkH,aACtBlH,KAAKmH,QAAQnC,aACf,EACAoD,eAAc,WACRpI,KAAKlB,WACTkB,KAAKkH,YACHpG,WAAWd,KAAKoH,iBACfpH,KAAK9B,MAAQ8B,KAAK/B,IAAM+B,KAAKlC,KAAQ,IACxCkC,KAAKiE,YAAYjE,KAAKkH,aACtBlH,KAAKmH,QAAQnC,aACf,EACAgD,YAAW,SAACvD,GACVzE,KAAKL,UAAW,EAChBK,KAAK4G,SAAU,EACI,eAAfnC,EAAM1G,OACR0G,EAAMI,QAAUJ,EAAM4D,QAAQ,GAAGxD,QACjCJ,EAAMM,QAAUN,EAAM4D,QAAQ,GAAGtD,SAE/B/E,KAAKhB,SACPgB,KAAK+G,OAAStC,EAAMI,QAEpB7E,KAAK6G,OAASpC,EAAMM,QAEtB/E,KAAKiH,cAAgBnG,WAAWd,KAAKoH,iBACrCpH,KAAKkH,YAAclH,KAAKiH,aAC1B,EACAgB,WAAU,SAACxD,GACT,GAAIzE,KAAKL,SAAU,CACjBK,KAAK4G,SAAU,EACf5G,KAAKwH,iBACLxH,KAAKmH,QAAQ9D,YACb,IAAIiF,EAAO,EACQ,cAAf7D,EAAM1G,OACR0G,EAAMI,QAAUJ,EAAM4D,QAAQ,GAAGxD,QACjCJ,EAAMM,QAAUN,EAAM4D,QAAQ,GAAGtD,SAE/B/E,KAAKhB,UACPgB,KAAKgH,SAAWvC,EAAMI,QACtByD,GAAStI,KAAK+G,OAAS/G,KAAKgH,UAAYhH,KAAKmH,QAAQvH,WAAc,MAEnEI,KAAK8G,SAAWrC,EAAMM,QACtBuD,GAAStI,KAAK8G,SAAW9G,KAAK6G,QAAU7G,KAAKmH,QAAQvH,WAAc,KAErEI,KAAKkH,YAAclH,KAAKiH,cAAgBqB,EACxCtI,KAAKiE,YAAYjE,KAAKkH,YACxB,CACF,EACAgB,UAAS,WAAG,IAAAxH,EAAA,KACNV,KAAKL,WAKP4I,YAAW,WACT7H,EAAKf,UAAW,EAChBe,EAAKiH,cACAjH,EAAKkG,UACRlG,EAAKuD,YAAYvD,EAAKwG,aACtBxG,EAAKyG,QAAQnC,aAEjB,GAAG,GACH1B,OAAOG,oBAAoB,YAAazD,KAAKiI,YAC7C3E,OAAOG,oBAAoB,YAAazD,KAAKiI,YAC7C3E,OAAOG,oBAAoB,UAAWzD,KAAKkI,WAC3C5E,OAAOG,oBAAoB,WAAYzD,KAAKkI,WAC5C5E,OAAOG,oBAAoB,cAAezD,KAAKkI,WAEnD,EACAjE,YAAW,SAACiD,GAAa,IAAAzF,EAAA,KACvB,GAAoB,OAAhByF,IAAwBhE,MAAMgE,GAAlC,CACIA,EAAc,EAChBA,EAAc,EACLA,EAAc,MACvBA,EAAc,KAEhB,IAAMsB,EAAgB,MAAQxI,KAAK/B,IAAM+B,KAAKlC,KAAOkC,KAAK9B,MAEtDC,EADUoD,KAAKkH,MAAMvB,EAAcsB,GAE7BA,GAAiBxI,KAAK/B,IAAM+B,KAAKlC,KAAO,IAAOkC,KAAKlC,IAC9D,GAAIkC,KAAKX,MAAO,CAGd,IAAMA,EAAQC,OAAOsB,KAAKZ,KAAKX,OAAOwB,KAAI,SAAC6H,EAASvH,EAAOwH,GACzD,MAAO,CACLxK,MAAOH,OAAO0K,GACdE,KAAO,IAAMzH,GAAUwH,EAAItH,OAAS,GAExC,IAGA,GAAoB,MAAhB6F,EACF/I,EAAQkB,EAAMA,EAAMgC,OAAS,GAAGlD,UAC3B,CACL,IAAMgD,EAAQ9B,EAAMqC,WAAU,SAAAK,GAAI,OAAIA,EAAK6G,KAAO1B,CAAW,IAK3D/I,GAFa,IAAXgD,EAGA9B,EAAMA,EAAMgC,OAAS,GAAGlD,OACvBkB,EAAMgC,OAAS,KACX6F,EAAc7H,EAAMA,EAAMgC,OAAS,GAAGuH,MAAQ,KAC9CvJ,EAAMA,EAAMgC,OAAS,GAAGlD,MACvBkB,EAAMA,EAAMgC,OAAS,GAAGlD,QAG9BkB,EAAM8B,EAAQ,GAAGhD,OAChBkB,EAAMgC,OAAS,KACX6F,EAAc7H,EAAM8B,EAAQ,GAAGyH,MAAQ,KACvCvJ,EAAM8B,GAAOhD,MAAQkB,EAAM8B,EAAQ,GAAGhD,OAEjD,CACF,CAEAA,EAAQ2C,WAAW3C,EAAM0K,QAAQ7I,KAAK6B,YACtC7B,KAAK+C,MAAM,QAAS5E,GACpB6B,KAAKmF,WAAU,WACb1D,EAAK+F,iBACL/F,EAAK6C,MAAMmD,SAAWhG,EAAK6C,MAAMmD,QAAQqB,cAC3C,IACK9I,KAAKL,UAAYK,KAAK7B,QAAU6B,KAAKN,WACxCM,KAAKN,SAAWM,KAAK7B,MApD+B,CAsDxD,I,QEjPAkH,UAAY,YACd,GFRW,WAAkB,IAAIC,EAAI,KAAKC,EAAGD,EAAIE,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACK,IAAI,SAASH,YAAY,4BAA4BC,MAAM,CAAEqD,MAAOzD,EAAIqB,SAAUhH,SAAU2F,EAAI3F,UAAWyG,MAAOd,EAAIiC,aAAc5B,MAAM,CAAC,SAAW,KAAKE,GAAG,CAAC,WAAaP,EAAIsC,iBAAiB,WAAatC,EAAIuC,iBAAiB,UAAYvC,EAAIwC,aAAa,WAAaxC,EAAIwC,aAAa,MAAQxC,EAAIsC,iBAAiB,KAAOtC,EAAIuC,iBAAiB,QAAU,CAAC,SAASpB,GAAQ,OAAIA,EAAO1I,KAAKiL,QAAQ,QAAQ1D,EAAI2D,GAAGxC,EAAOyC,QAAQ,OAAO,GAAGzC,EAAOH,IAAI,CAAC,OAAO,eAA6B,WAAYG,GAA4B,IAAlBA,EAAOtC,OAArC,KAAqEmB,EAAI6C,cAAcjG,MAAM,KAAMiH,UAAU,EAAE,SAAS1C,GAAQ,OAAIA,EAAO1I,KAAKiL,QAAQ,QAAQ1D,EAAI2D,GAAGxC,EAAOyC,QAAQ,QAAQ,GAAGzC,EAAOH,IAAI,CAAC,QAAQ,gBAA8B,WAAYG,GAA4B,IAAlBA,EAAOtC,OAArC,KAAqEmB,EAAI8C,eAAelG,MAAM,KAAMiH,UAAU,EAAE,SAAS1C,GAAQ,OAAIA,EAAO1I,KAAKiL,QAAQ,QAAQ1D,EAAI2D,GAAGxC,EAAOyC,QAAQ,OAAO,GAAGzC,EAAOH,IAAI,CAAC,OAAO,cAAqB,MAAKG,EAAOsB,iBAAwBzC,EAAI6C,cAAcjG,MAAM,KAAMiH,WAAU,EAAE,SAAS1C,GAAQ,OAAIA,EAAO1I,KAAKiL,QAAQ,QAAQ1D,EAAI2D,GAAGxC,EAAOyC,QAAQ,KAAK,GAAGzC,EAAOH,IAAI,CAAC,KAAK,YAAmB,MAAKG,EAAOsB,iBAAwBzC,EAAI8C,eAAelG,MAAM,KAAMiH,WAAU,KAAK,CAAC5D,EAAG,aAAa,CAACK,IAAI,UAAUD,MAAM,CAAC,UAAY,MAAM,eAAeL,EAAIlG,aAAa,UAAYkG,EAAI3G,cAAc,CAAC4G,EAAG,OAAO,CAACI,MAAM,CAAC,KAAO,WAAWyD,KAAK,WAAW,CAAC9D,EAAIa,GAAGb,EAAI+D,GAAG/D,EAAIgC,gBAAgBhC,EAAIa,GAAG,KAAKZ,EAAG,MAAM,CAACE,YAAY,oBAAoBC,MAAM,CAAEqD,MAAOzD,EAAIqB,SAAUhH,SAAU2F,EAAI3F,eAAgB,EAC/kD,GACsB,IESpB,EACA,KACA,KACA,MAIa,UAAA0F,U,iDClBf,ICA4P,EDC7O,CACblI,KAAM,WACNU,MAAO,CACLyD,KAAM,CAAEvD,KAAM,CAACM,OAAQiB,UAEzBC,KAAI,WACF,MAAO,CACLJ,MAAO,GAEX,EACA6D,QAAO,WACLhD,KAAKb,MAA6B,iBAAda,KAAKsB,KAAoBtB,KAAKsB,KAAOtB,KAAKsB,KAAKnC,KACrE,EACAuE,QAAS,CACPuB,YAAW,SAACqE,GACVtJ,KAAK+C,MAAM,QACb,I,QEVAsC,UAAY,YACd,GFRW,WAAkB,IAAIC,EAAI,KAAqB,OAAOC,EAApBD,EAAIE,MAAMD,IAAa,MAAM,CAACE,YAAY,wBAAwB8D,YAAY,CAAC,EAAE1D,GAAG,CAAC,MAAQ,SAASY,GAAiC,OAAzBA,EAAOC,kBAAyBpB,EAAIL,YAAY/C,MAAM,KAAMiH,UAAU,IAAI,CAAC7D,EAAIa,GAAG,OAAOb,EAAI+D,GAAG/D,EAAInG,OAAO,OACxQ,GACsB,IESpB,EACA,KACA,KACA,MAIa,UAAAkG,U","file":"85f8a54.js","sourcesContent":["\nimport ElInputNumber from 'element-ui/packages/input-number'\nimport Emitter from 'element-ui/src/mixins/emitter'\nimport SliderButton from './button.vue'\nimport SliderMarker from './marker.vue'\nexport default {\n name: 'ElSlider',\n components: {\n ElInputNumber,\n SliderButton,\n SliderMarker,\n },\n mixins: [Emitter],\n inject: {\n elForm: {\n default: '',\n },\n },\n props: {\n min: {\n type: Number,\n default: 0,\n },\n max: {\n type: Number,\n default: 100,\n },\n step: {\n type: Number,\n default: 1,\n },\n value: {\n // string 是数据框被清空时的值. 理论上不会出现, 这里只是用来规避控制台报错\n type: [Number, Array, String],\n default: 0,\n },\n showInput: {\n type: Boolean,\n default: false,\n },\n showInputControls: {\n type: Boolean,\n default: true,\n },\n inputSize: {\n type: String,\n default: 'small',\n },\n showStops: {\n type: Boolean,\n default: false,\n },\n showTooltip: {\n type: Boolean,\n default: true,\n },\n formatTooltip: Function,\n disabled: {\n type: Boolean,\n default: false,\n },\n range: {\n type: Boolean,\n default: false,\n },\n vertical: {\n type: Boolean,\n default: false,\n },\n height: {\n type: String,\n },\n debounce: {\n type: Number,\n default: 300,\n },\n label: {\n type: String,\n },\n tooltipClass: String,\n marks: Object,\n },\n data() {\n return {\n firstValue: null,\n secondValue: null,\n oldValue: null,\n dragging: false,\n sliderSize: 1,\n }\n },\n computed: {\n stops() {\n if (!this.showStops || this.min > this.max) return []\n if (this.step === 0) {\n process.env.NODE_ENV !== 'production' &&\n console.warn('[Element Warn][Slider]step should not be 0.')\n return []\n }\n const stopCount = (this.max - this.min) / this.step\n const stepWidth = (100 * this.step) / (this.max - this.min)\n const result = []\n for (let i = 1; i < stopCount; i++) {\n result.push(i * stepWidth)\n }\n if (this.range) {\n return result.filter(step => {\n return (\n step < (100 * (this.minValue - this.min)) / (this.max - this.min) ||\n step > (100 * (this.maxValue - this.min)) / (this.max - this.min)\n )\n })\n } else {\n return result.filter(\n step =>\n step > (100 * (this.firstValue - this.min)) / (this.max - this.min)\n )\n }\n },\n markList() {\n if (!this.marks) {\n return []\n }\n const marksKeys = Object.keys(this.marks)\n return marksKeys\n .map(parseFloat)\n .sort((a, b) => a - b)\n .filter(point => point <= this.max && point >= this.min)\n .map((point, index) => ({\n point,\n // 改造使得mark在滑动区域内均分\n position:\n (100 * index * (this.max - this.min)) /\n (marksKeys.length - 1) /\n (this.max - this.min),\n // position: ((point - this.min) * 100) / (this.max - this.min),\n mark: this.marks[point],\n }))\n },\n minValue() {\n return Math.min(this.firstValue, this.secondValue)\n },\n maxValue() {\n return Math.max(this.firstValue, this.secondValue)\n },\n barSize() {\n if (this.marks) {\n const marks = Object.keys(this.marks).map(Number)\n // 找出目标值位于marks的那个档位, 即 即将到达哪一个'档'\n const index = marks.findIndex(i => this.firstValue < i)\n // console.log(index, 'index')\n\n if (this.range) {\n // todo 范围值的计算. 这个还没改. 不知道怎么算.\n return `${\n (100 * (this.maxValue - this.minValue)) / (this.max - this.min)\n }%`\n }\n if (index === -1) return '100%'\n // 经过后一个档位之后占总进度条的比例 + (当前值超出后一个档位的差值 / 前一个档位与后一个档位的差值) / (进度被marks划分成的档位数量)\n // 上述公式要除档位数量是因为, 当前值与档位差值占单个档位区间的百分比 !== 单个区间值占总进度条的百分比\n const value =\n (index - 1) / (marks.length - 1) +\n (this.firstValue - marks[index - 1]) /\n (marks[index] - marks[index - 1]) /\n (marks.length - 1)\n\n // console.log('value', value)\n return value > 1 ? '100%' : `${value * 100}%`\n } else {\n return this.range\n ? `${\n (100 * (this.maxValue - this.minValue)) / (this.max - this.min)\n }%`\n : `${(100 * (this.firstValue - this.min)) / (this.max - this.min)}%`\n }\n },\n barStart() {\n return this.range\n ? `${(100 * (this.minValue - this.min)) / (this.max - this.min)}%`\n : '0%'\n },\n precision() {\n const precisions = [this.min, this.max, this.step].map(item => {\n const decimal = ('' + item).split('.')[1]\n return decimal ? decimal.length : 0\n })\n return Math.max.apply(null, precisions)\n },\n runwayStyle() {\n return this.vertical ? { height: this.height } : {}\n },\n barStyle() {\n return this.vertical\n ? {\n height: this.barSize,\n bottom: this.barStart,\n }\n : {\n width: this.barSize,\n left: this.barStart,\n }\n },\n sliderDisabled() {\n return this.disabled || (this.elForm || {}).disabled\n },\n },\n watch: {\n value(val, oldVal) {\n if (\n this.dragging ||\n (Array.isArray(val) &&\n Array.isArray(oldVal) &&\n val.every((item, index) => item === oldVal[index]))\n ) {\n return\n }\n this.setValues()\n },\n dragging(val) {\n if (!val) {\n this.setValues()\n }\n },\n firstValue(val) {\n if (this.range) {\n this.$emit('input', [this.minValue, this.maxValue])\n } else {\n this.$emit('input', val)\n }\n },\n secondValue() {\n if (this.range) {\n this.$emit('input', [this.minValue, this.maxValue])\n }\n },\n min() {\n this.setValues()\n },\n max() {\n this.setValues()\n },\n },\n mounted() {\n let valuetext\n if (this.range) {\n if (Array.isArray(this.value)) {\n this.firstValue = Math.max(this.min, this.value[0])\n this.secondValue = Math.min(this.max, this.value[1])\n } else {\n this.firstValue = this.min\n this.secondValue = this.max\n }\n this.oldValue = [this.firstValue, this.secondValue]\n valuetext = `${this.firstValue}-${this.secondValue}`\n } else {\n if (typeof this.value !== 'number' || isNaN(this.value)) {\n this.firstValue = this.min\n } else {\n this.firstValue = Math.min(this.max, Math.max(this.min, this.value))\n }\n this.oldValue = this.firstValue\n valuetext = this.firstValue\n }\n this.$el.setAttribute('aria-valuetext', valuetext)\n // label screen reader\n this.$el.setAttribute(\n 'aria-label',\n this.label ? this.label : `slider between ${this.min} and ${this.max}`\n )\n this.resetSize()\n window.addEventListener('resize', this.resetSize)\n },\n beforeDestroy() {\n window.removeEventListener('resize', this.resetSize)\n },\n methods: {\n valueChanged() {\n if (this.range) {\n return ![this.minValue, this.maxValue].every(\n (item, index) => item === this.oldValue[index]\n )\n } else {\n return this.value !== this.oldValue\n }\n },\n setValues() {\n if (this.min > this.max) {\n console.error(\n '[Element Error][Slider]min should not be greater than max.'\n )\n return\n }\n const val = this.value\n if (this.range && Array.isArray(val)) {\n if (val[1] < this.min) {\n this.$emit('input', [this.min, this.min])\n } else if (val[0] > this.max) {\n this.$emit('input', [this.max, this.max])\n } else if (val[0] < this.min) {\n this.$emit('input', [this.min, val[1]])\n } else if (val[1] > this.max) {\n this.$emit('input', [val[0], this.max])\n } else {\n this.firstValue = val[0]\n this.secondValue = val[1]\n if (this.valueChanged()) {\n this.dispatch('ElFormItem', 'el.form.change', [\n this.minValue,\n this.maxValue,\n ])\n this.oldValue = val.slice()\n }\n }\n } else if (!this.range && typeof val === 'number' && !isNaN(val)) {\n if (val < this.min) {\n this.$emit('input', this.min)\n } else if (val > this.max) {\n this.$emit('input', this.max)\n } else {\n this.firstValue = val\n if (this.valueChanged()) {\n this.dispatch('ElFormItem', 'el.form.change', val)\n this.oldValue = val\n }\n }\n }\n },\n setPosition(percent) {\n const targetValue = this.min + (percent * (this.max - this.min)) / 100\n\n if (!this.range) {\n this.$refs.button1.setPosition(percent)\n return\n }\n let button\n if (\n Math.abs(this.minValue - targetValue) <\n Math.abs(this.maxValue - targetValue)\n ) {\n button = this.firstValue < this.secondValue ? 'button1' : 'button2'\n } else {\n button = this.firstValue > this.secondValue ? 'button1' : 'button2'\n }\n this.$refs[button].setPosition(percent)\n },\n onSliderClick(event) {\n if (this.sliderDisabled || this.dragging) return\n this.resetSize()\n if (this.vertical) {\n const sliderOffsetBottom =\n this.$refs.slider.getBoundingClientRect().bottom\n this.setPosition(\n ((sliderOffsetBottom - event.clientY) / this.sliderSize) * 100\n )\n } else {\n const sliderOffsetLeft = this.$refs.slider.getBoundingClientRect().left\n this.setPosition(\n ((event.clientX - sliderOffsetLeft) / this.sliderSize) * 100\n )\n }\n this.emitChange()\n },\n onMarkClick(index) {\n if (typeof index !== 'number') return\n\n // 这个判断和resetSize从onSliderClick抄过来的.\n // 因为直接点击mark的 标志文案 得到的不是准确的数(宽度导致的位置不同), 所以魔改了一下, 点击mark按固定比例算.\n if (this.sliderDisabled || this.dragging) return\n this.resetSize()\n\n const marks = Object.keys(this.marks).map(Number)\n // 计算当前点击位于marks的第几项, 算百分比\n this.setPosition((100 * index) / (marks.length - 1))\n\n this.emitChange()\n },\n resetSize() {\n if (this.$refs.slider) {\n this.sliderSize =\n this.$refs.slider[`client${this.vertical ? 'Height' : 'Width'}`]\n }\n },\n emitChange() {\n this.$nextTick(() => {\n this.$emit(\n 'change',\n this.range ? [this.minValue, this.maxValue] : this.value\n )\n })\n },\n getStopStyle(position) {\n return this.vertical\n ? { bottom: position + '%' }\n : { left: position + '%' }\n },\n },\n}\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=69805dd0\"\nimport script from \"./index.vue?vue&type=script&lang=js\"\nexport * from \"./index.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n// import ElTooltip from 'element-ui/packages/tooltip'\nexport default {\n name: 'ElSliderButton',\n components: {\n // ElTooltip,\n },\n props: {\n value: {\n type: Number,\n default: 0,\n },\n vertical: {\n type: Boolean,\n default: false,\n },\n tooltipClass: String,\n marks: Object,\n },\n data() {\n return {\n hovering: false,\n dragging: false,\n isClick: false,\n startX: 0,\n currentX: 0,\n startY: 0,\n currentY: 0,\n startPosition: 0,\n newPosition: null,\n oldValue: this.value,\n }\n },\n computed: {\n disabled() {\n return this.$parent.sliderDisabled\n },\n max() {\n return this.$parent.max\n },\n min() {\n return this.$parent.min\n },\n step() {\n return this.$parent.step\n },\n showTooltip() {\n return this.$parent.showTooltip\n },\n precision() {\n return this.$parent.precision\n },\n currentPosition() {\n if (this.marks) {\n // 同父组件index中barSize的计算逻辑. 直接从那边抄过来的. 不要在这里改, 在index改完再抄过来.\n // 注意父组件的 this.firstValue, 这里是 this.value\n const marks = Object.keys(this.marks).map(Number)\n // 找出目标值位于marks的那个档位, 即 即将到达哪一个'档'\n const index = marks.findIndex(i => this.value < i)\n\n if (index === -1) return '100%'\n // 经过后一个档位之后占总进度条的比例 + (当前值超出后一个档位的差值 / 前一个档位与后一个档位的差值) / (进度被marks划分成的档位数量)\n // 上述公式要除档位数量是因为, 当前值与档位差值占单个档位区间的百分比 !== 单个区间值占总进度条的百分比\n const value =\n (index - 1) / (marks.length - 1) +\n (this.value - marks[index - 1]) /\n (marks[index] - marks[index - 1]) /\n (marks.length - 1)\n\n return value > 1 ? '100%' : `${value * 100}%`\n } else {\n // 这里是原本的逻辑. 没有传marks的.\n return `${((this.value - this.min) / (this.max - this.min)) * 100}%`\n }\n },\n enableFormat() {\n return this.$parent.formatTooltip instanceof Function\n },\n formatValue() {\n return (\n (this.enableFormat && this.$parent.formatTooltip(this.value)) ||\n this.value\n )\n },\n wrapperStyle() {\n return this.vertical\n ? { bottom: this.currentPosition }\n : { left: this.currentPosition }\n },\n },\n watch: {\n dragging(val) {\n this.$parent.dragging = val\n },\n },\n methods: {\n displayTooltip() {\n this.$refs.tooltip && (this.$refs.tooltip.showPopper = true)\n },\n hideTooltip() {\n this.$refs.tooltip && (this.$refs.tooltip.showPopper = false)\n },\n handleMouseEnter() {\n this.hovering = true\n this.displayTooltip()\n },\n handleMouseLeave() {\n this.hovering = false\n this.hideTooltip()\n },\n onButtonDown(event) {\n if (this.disabled) return\n event.preventDefault()\n this.onDragStart(event)\n window.addEventListener('mousemove', this.onDragging)\n window.addEventListener('touchmove', this.onDragging)\n window.addEventListener('mouseup', this.onDragEnd)\n window.addEventListener('touchend', this.onDragEnd)\n window.addEventListener('contextmenu', this.onDragEnd)\n },\n onLeftKeyDown() {\n if (this.disabled) return\n this.newPosition =\n parseFloat(this.currentPosition) -\n (this.step / (this.max - this.min)) * 100\n this.setPosition(this.newPosition)\n this.$parent.emitChange()\n },\n onRightKeyDown() {\n if (this.disabled) return\n this.newPosition =\n parseFloat(this.currentPosition) +\n (this.step / (this.max - this.min)) * 100\n this.setPosition(this.newPosition)\n this.$parent.emitChange()\n },\n onDragStart(event) {\n this.dragging = true\n this.isClick = true\n if (event.type === 'touchstart') {\n event.clientY = event.touches[0].clientY\n event.clientX = event.touches[0].clientX\n }\n if (this.vertical) {\n this.startY = event.clientY\n } else {\n this.startX = event.clientX\n }\n this.startPosition = parseFloat(this.currentPosition)\n this.newPosition = this.startPosition\n },\n onDragging(event) {\n if (this.dragging) {\n this.isClick = false\n this.displayTooltip()\n this.$parent.resetSize()\n let diff = 0\n if (event.type === 'touchmove') {\n event.clientY = event.touches[0].clientY\n event.clientX = event.touches[0].clientX\n }\n if (this.vertical) {\n this.currentY = event.clientY\n diff = ((this.startY - this.currentY) / this.$parent.sliderSize) * 100\n } else {\n this.currentX = event.clientX\n diff = ((this.currentX - this.startX) / this.$parent.sliderSize) * 100\n }\n this.newPosition = this.startPosition + diff\n this.setPosition(this.newPosition)\n }\n },\n onDragEnd() {\n if (this.dragging) {\n /*\n * 防止在 mouseup 后立即触发 click,导致滑块有几率产生一小段位移\n * 不使用 preventDefault 是因为 mouseup 和 click 没有注册在同一个 DOM 上\n */\n setTimeout(() => {\n this.dragging = false\n this.hideTooltip()\n if (!this.isClick) {\n this.setPosition(this.newPosition)\n this.$parent.emitChange()\n }\n }, 0)\n window.removeEventListener('mousemove', this.onDragging)\n window.removeEventListener('touchmove', this.onDragging)\n window.removeEventListener('mouseup', this.onDragEnd)\n window.removeEventListener('touchend', this.onDragEnd)\n window.removeEventListener('contextmenu', this.onDragEnd)\n }\n },\n setPosition(newPosition) {\n if (newPosition === null || isNaN(newPosition)) return\n if (newPosition < 0) {\n newPosition = 0\n } else if (newPosition > 100) {\n newPosition = 100\n }\n const lengthPerStep = 100 / ((this.max - this.min) / this.step)\n const steps = Math.round(newPosition / lengthPerStep)\n let value =\n steps * lengthPerStep * (this.max - this.min) * 0.01 + this.min\n if (this.marks) {\n // 处理传递marks时的逻辑. 没有传marks的保持原样.\n // 有marks时无视原计算逻辑. 重新赋值\n const marks = Object.keys(this.marks).map((current, index, arr) => {\n return {\n value: Number(current),\n perc: (100 * index) / (arr.length - 1),\n }\n })\n\n // 找出目标值位于marks的那个档位, 即 即将到达哪一个'档'\n if (newPosition === 100) {\n value = marks[marks.length - 1].value\n } else {\n const index = marks.findIndex(item => item.perc > newPosition)\n\n // 后一个区间的代表值 + ((区间数量 * 超出后一个区间的百分比值 / 100) * 所处区间的值差)\n if (index === -1) {\n // 在最后一个区间\n value =\n marks[marks.length - 2].value +\n (marks.length - 1) *\n (((newPosition - marks[marks.length - 2].perc) / 100) *\n (marks[marks.length - 1].value -\n marks[marks.length - 2].value))\n } else {\n value =\n marks[index - 1].value +\n (marks.length - 1) *\n (((newPosition - marks[index - 1].perc) / 100) *\n (marks[index].value - marks[index - 1].value))\n }\n }\n }\n\n value = parseFloat(value.toFixed(this.precision))\n this.$emit('input', value)\n this.$nextTick(() => {\n this.displayTooltip()\n this.$refs.tooltip && this.$refs.tooltip.updatePopper()\n })\n if (!this.dragging && this.value !== this.oldValue) {\n this.oldValue = this.value\n }\n },\n },\n}\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./button.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./button.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./button.vue?vue&type=template&id=09a28971\"\nimport script from \"./button.vue?vue&type=script&lang=js\"\nexport * from \"./button.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\nexport default {\n name: 'ElMarker',\n props: {\n mark: { type: [String, Object] },\n },\n data() {\n return {\n label: '',\n }\n },\n mounted() {\n this.label = typeof this.mark === 'string' ? this.mark : this.mark.label\n },\n methods: {\n onMarkClick(e) {\n this.$emit('click')\n },\n },\n}\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./marker.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./marker.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./marker.vue?vue&type=template&id=2674734e\"\nimport script from \"./marker.vue?vue&type=script&lang=js\"\nexport * from \"./marker.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}
|