From f3496eee827d5f01357385bb9d308fdab938de76 Mon Sep 17 00:00:00 2001 From: Kirby Wu Date: Wed, 2 Jun 2021 21:04:18 +0800 Subject: [PATCH] - fix bug: ldrs.update should check range flag. --- CHANGELOG.md | 5 +++++ dist/ldrs.js | 6 +++++- dist/ldrs.min.js | 2 +- package-lock.json | 2 +- package.json | 2 +- src/ldrs.ls | 2 +- web/static/assets/lib/ldrs/dev/ldrs.js | 6 +++++- web/static/assets/lib/ldrs/dev/ldrs.min.js | 2 +- 8 files changed, 20 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b74a284..f7717c6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Change Log +## v2.0.6 + + - fix bug: ldrs.update should check range flag. + + ## v2.0.5 - remove postinstall to prevent from breaking dependency installation diff --git a/dist/ldrs.js b/dist/ldrs.js index 1a906eb..9a4bb12 100644 --- a/dist/ldrs.js +++ b/dist/ldrs.js @@ -124,7 +124,11 @@ ldslider.prototype = import$(Object.create(Object.prototype), { return results$; }, update: function(){ - return this.set(this.val); + if (this.range) { + return this.set(this.val); + } else { + return this.set(this.val.from); + } }, updateInput: function(arg$){ var now, this$ = this; diff --git a/dist/ldrs.min.js b/dist/ldrs.min.js index 165eaf1..739759f 100644 --- a/dist/ldrs.min.js +++ b/dist/ldrs.min.js @@ -1 +1 @@ -var ldslider;ldslider=function(opt){var root,i$,to$,i,that,handle,el,mouse,this$=this;opt==null&&(opt={});this.evtHandler={};this.opt=import$({min:0,max:100,from:0,to:0,step:1},opt);this.val={to:0,from:0};this.root=root=typeof opt.root==="string"?document.querySelector(opt.root):opt.root;if(this.root.tagName==="INPUT"){this.input=this.root;ld$.attr(this.input,"type","hidden");this.root=root=document.createElement("div");this.input.parentNode.insertBefore(this.root,this.input);this.input.classList;for(i$=0,to$=this.input.classList.length;i$\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n
\n
\n
';this.el=el={b:{fg:ld$.find(root,".fg",0)},p:ld$.find(root,".line.p",0),q:ld$.find(root,".line.p.alt",0),h:{p:ld$.find(root,".hint.p",0),q:ld$.find(root,".hint.p.alt",0),l:ld$.find(root,".hint.l",0),r:ld$.find(root,".hint.r",0),lock:ld$.find(root,".hint.lock",0),lockLine:ld$.find(root,".lock-line",0)}};mouse={move:function(e){if(e.buttons&1){return this$.repos(e.clientX,true,true,false,mouse.alt)}else{return mouse.up(e)}},up:function(){var ref$,p,v;document.removeEventListener("mouseup",mouse.up);document.removeEventListener("mousemove",mouse.move);ref$=!mouse.alt?[this$.el.h.p,this$.val.from]:[this$.el.h.q,this$.val.to],p=ref$[0],v=ref$[1];return p.innerText=this$.label.ptr(Math.round(1e4*v)/1e4)},prepare:function(e){mouse.alt=e.target&&e.target.classList&&e.target.classList.contains("alt")?true:false;document.addEventListener("mousemove",mouse.move);return document.addEventListener("mouseup",mouse.up)}};el.p.addEventListener("mousedown",mouse.prepare);root.addEventListener("click",mouse.move);root.addEventListener("mousedown",mouse.prepare);this.prepare();return this};ldslider.prototype=import$(Object.create(Object.prototype),{on:function(n,cb){var ref$;return((ref$=this.evtHandler)[n]||(ref$[n]=[])).push(cb)},fire:function(n){var v,res$,i$,to$,ref$,len$,cb,results$=[];res$=[];for(i$=1,to$=arguments.length;i$0?ref2$:0)<(ref1$=rbox.width)?ref$:ref1$;dx=x/rbox.width;if(this.expFactor){dx=Math.pow(dx,this.expFactor)}value=this.opt.min+(this.opt.max-this.opt.min)*dx;if(this.opt.limitMax!=null){if(x>w06){value=this.opt.limitMax+(this.opt.max-this.opt.limitMax)*(x-w06)/(rbox.width-w06)}else{dx=x/w06;if(this.expFactor){dx=Math.pow(dx,this.expFactor)}value=this.opt.min+this.opt.limitMax*dx}}}else{value=v}value=v=(ref$=(ref2$=this.opt.min+Math.round((value-this.opt.min)/this.opt.step)*this.opt.step)>(ref3$=this.opt.min)?ref2$:ref3$)<(ref1$=this.opt.max)?ref$:ref1$;this.val[label]=value;xs={};for(k in ref$=this.val){v=ref$[k];if(!this.range&&k==="to"){continue}if(this.opt.limitMax!=null){if(v>this.opt.limitMax){x=(v-this.opt.limitMax)/(this.opt.max-this.opt.limitMax)*40+60}else{if(this.expFactor){x=60*Math.pow((v-this.opt.min)/(this.opt.limitMax-this.opt.min),1/this.expFactor)}else{x=60*(v-this.opt.min)/(this.opt.limitMax-this.opt.min)}}}else{if(this.expFactor){x=100*Math.pow((v-this.opt.min)/(this.opt.max-this.opt.min),1/this.expFactor)}else{x=100*((v-this.opt.min)/(this.opt.max-this.opt.min))}}if(this.opt.limitMax!=null&&this.opt.limitHard){if(x>60){x=60}if(v>this.opt.limitMax){v=this.opt.limitMax}}this.val[k]=v;xs[k]=x}x=xs[label];v=this.val[label];left=!this.range?0:Math.min(xs.from,xs.to)+.5;width=!this.range?xs.from:Math.max(xs.from,xs.to)-left+.5;hbox=elH.getBoundingClientRect();elH.innerText=this.label.ptr(Math.round(1e4*v)/1e4);elH.style.left=100*(.01*x*rbox.width)/rbox.width+"%";elH.style.transform="translate(-50%,0)";elL.style.left=x+"%";this.el.b.fg.style.width=width+"%";this.el.b.fg.style.left=left+"%";if(v!==old&&forceNotify){this.fire("change",this.range?this.val:this.val[label])}if(this.input){return this.updateInput({now:!fromInput})}}});if(typeof module!="undefined"&&module!==null){module.exports=ldslider}else if(typeof window!="undefined"&&window!==null){window.ldSlider=window.ldslider=ldslider}function import$(obj,src){var own={}.hasOwnProperty;for(var key in src)if(own.call(src,key))obj[key]=src[key];return obj} +var ldslider;ldslider=function(opt){var root,i$,to$,i,that,handle,el,mouse,this$=this;opt==null&&(opt={});this.evtHandler={};this.opt=import$({min:0,max:100,from:0,to:0,step:1},opt);this.val={to:0,from:0};this.root=root=typeof opt.root==="string"?document.querySelector(opt.root):opt.root;if(this.root.tagName==="INPUT"){this.input=this.root;ld$.attr(this.input,"type","hidden");this.root=root=document.createElement("div");this.input.parentNode.insertBefore(this.root,this.input);this.input.classList;for(i$=0,to$=this.input.classList.length;i$\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n
\n
\n
';this.el=el={b:{fg:ld$.find(root,".fg",0)},p:ld$.find(root,".line.p",0),q:ld$.find(root,".line.p.alt",0),h:{p:ld$.find(root,".hint.p",0),q:ld$.find(root,".hint.p.alt",0),l:ld$.find(root,".hint.l",0),r:ld$.find(root,".hint.r",0),lock:ld$.find(root,".hint.lock",0),lockLine:ld$.find(root,".lock-line",0)}};mouse={move:function(e){if(e.buttons&1){return this$.repos(e.clientX,true,true,false,mouse.alt)}else{return mouse.up(e)}},up:function(){var ref$,p,v;document.removeEventListener("mouseup",mouse.up);document.removeEventListener("mousemove",mouse.move);ref$=!mouse.alt?[this$.el.h.p,this$.val.from]:[this$.el.h.q,this$.val.to],p=ref$[0],v=ref$[1];return p.innerText=this$.label.ptr(Math.round(1e4*v)/1e4)},prepare:function(e){mouse.alt=e.target&&e.target.classList&&e.target.classList.contains("alt")?true:false;document.addEventListener("mousemove",mouse.move);return document.addEventListener("mouseup",mouse.up)}};el.p.addEventListener("mousedown",mouse.prepare);root.addEventListener("click",mouse.move);root.addEventListener("mousedown",mouse.prepare);this.prepare();return this};ldslider.prototype=import$(Object.create(Object.prototype),{on:function(n,cb){var ref$;return((ref$=this.evtHandler)[n]||(ref$[n]=[])).push(cb)},fire:function(n){var v,res$,i$,to$,ref$,len$,cb,results$=[];res$=[];for(i$=1,to$=arguments.length;i$0?ref2$:0)<(ref1$=rbox.width)?ref$:ref1$;dx=x/rbox.width;if(this.expFactor){dx=Math.pow(dx,this.expFactor)}value=this.opt.min+(this.opt.max-this.opt.min)*dx;if(this.opt.limitMax!=null){if(x>w06){value=this.opt.limitMax+(this.opt.max-this.opt.limitMax)*(x-w06)/(rbox.width-w06)}else{dx=x/w06;if(this.expFactor){dx=Math.pow(dx,this.expFactor)}value=this.opt.min+this.opt.limitMax*dx}}}else{value=v}value=v=(ref$=(ref2$=this.opt.min+Math.round((value-this.opt.min)/this.opt.step)*this.opt.step)>(ref3$=this.opt.min)?ref2$:ref3$)<(ref1$=this.opt.max)?ref$:ref1$;this.val[label]=value;xs={};for(k in ref$=this.val){v=ref$[k];if(!this.range&&k==="to"){continue}if(this.opt.limitMax!=null){if(v>this.opt.limitMax){x=(v-this.opt.limitMax)/(this.opt.max-this.opt.limitMax)*40+60}else{if(this.expFactor){x=60*Math.pow((v-this.opt.min)/(this.opt.limitMax-this.opt.min),1/this.expFactor)}else{x=60*(v-this.opt.min)/(this.opt.limitMax-this.opt.min)}}}else{if(this.expFactor){x=100*Math.pow((v-this.opt.min)/(this.opt.max-this.opt.min),1/this.expFactor)}else{x=100*((v-this.opt.min)/(this.opt.max-this.opt.min))}}if(this.opt.limitMax!=null&&this.opt.limitHard){if(x>60){x=60}if(v>this.opt.limitMax){v=this.opt.limitMax}}this.val[k]=v;xs[k]=x}x=xs[label];v=this.val[label];left=!this.range?0:Math.min(xs.from,xs.to)+.5;width=!this.range?xs.from:Math.max(xs.from,xs.to)-left+.5;hbox=elH.getBoundingClientRect();elH.innerText=this.label.ptr(Math.round(1e4*v)/1e4);elH.style.left=100*(.01*x*rbox.width)/rbox.width+"%";elH.style.transform="translate(-50%,0)";elL.style.left=x+"%";this.el.b.fg.style.width=width+"%";this.el.b.fg.style.left=left+"%";if(v!==old&&forceNotify){this.fire("change",this.range?this.val:this.val[label])}if(this.input){return this.updateInput({now:!fromInput})}}});if(typeof module!="undefined"&&module!==null){module.exports=ldslider}else if(typeof window!="undefined"&&window!==null){window.ldSlider=window.ldslider=ldslider}function import$(obj,src){var own={}.hasOwnProperty;for(var key in src)if(own.call(src,key))obj[key]=src[key];return obj} diff --git a/package-lock.json b/package-lock.json index 564a194..8675628 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "ldslider", - "version": "2.0.5", + "version": "2.0.6", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/package.json b/package.json index 00e7091..9ec0b3a 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "name": "ldslider", "license": "MIT", "description": "Slider Library in Vanilla JS", - "version": "2.0.5", + "version": "2.0.6", "files": [ "dist/**/*" ], diff --git a/src/ldrs.ls b/src/ldrs.ls index adb1859..7e176e8 100644 --- a/src/ldrs.ls +++ b/src/ldrs.ls @@ -85,7 +85,7 @@ ldslider = (opt={}) -> ldslider.prototype = Object.create(Object.prototype) <<< do on: (n, cb) -> @evt-handler.[][n].push cb fire: (n, ...v) -> for cb in (@evt-handler[n] or []) => cb.apply @, v - update: -> @set @val + update: -> if @range => @set @val else @set @val.from # use internally for updating input box update-input: ({now} = {now: false}) -> clearTimeout @debounce diff --git a/web/static/assets/lib/ldrs/dev/ldrs.js b/web/static/assets/lib/ldrs/dev/ldrs.js index 1a906eb..9a4bb12 100644 --- a/web/static/assets/lib/ldrs/dev/ldrs.js +++ b/web/static/assets/lib/ldrs/dev/ldrs.js @@ -124,7 +124,11 @@ ldslider.prototype = import$(Object.create(Object.prototype), { return results$; }, update: function(){ - return this.set(this.val); + if (this.range) { + return this.set(this.val); + } else { + return this.set(this.val.from); + } }, updateInput: function(arg$){ var now, this$ = this; diff --git a/web/static/assets/lib/ldrs/dev/ldrs.min.js b/web/static/assets/lib/ldrs/dev/ldrs.min.js index 165eaf1..739759f 100644 --- a/web/static/assets/lib/ldrs/dev/ldrs.min.js +++ b/web/static/assets/lib/ldrs/dev/ldrs.min.js @@ -1 +1 @@ -var ldslider;ldslider=function(opt){var root,i$,to$,i,that,handle,el,mouse,this$=this;opt==null&&(opt={});this.evtHandler={};this.opt=import$({min:0,max:100,from:0,to:0,step:1},opt);this.val={to:0,from:0};this.root=root=typeof opt.root==="string"?document.querySelector(opt.root):opt.root;if(this.root.tagName==="INPUT"){this.input=this.root;ld$.attr(this.input,"type","hidden");this.root=root=document.createElement("div");this.input.parentNode.insertBefore(this.root,this.input);this.input.classList;for(i$=0,to$=this.input.classList.length;i$\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n
\n
\n
';this.el=el={b:{fg:ld$.find(root,".fg",0)},p:ld$.find(root,".line.p",0),q:ld$.find(root,".line.p.alt",0),h:{p:ld$.find(root,".hint.p",0),q:ld$.find(root,".hint.p.alt",0),l:ld$.find(root,".hint.l",0),r:ld$.find(root,".hint.r",0),lock:ld$.find(root,".hint.lock",0),lockLine:ld$.find(root,".lock-line",0)}};mouse={move:function(e){if(e.buttons&1){return this$.repos(e.clientX,true,true,false,mouse.alt)}else{return mouse.up(e)}},up:function(){var ref$,p,v;document.removeEventListener("mouseup",mouse.up);document.removeEventListener("mousemove",mouse.move);ref$=!mouse.alt?[this$.el.h.p,this$.val.from]:[this$.el.h.q,this$.val.to],p=ref$[0],v=ref$[1];return p.innerText=this$.label.ptr(Math.round(1e4*v)/1e4)},prepare:function(e){mouse.alt=e.target&&e.target.classList&&e.target.classList.contains("alt")?true:false;document.addEventListener("mousemove",mouse.move);return document.addEventListener("mouseup",mouse.up)}};el.p.addEventListener("mousedown",mouse.prepare);root.addEventListener("click",mouse.move);root.addEventListener("mousedown",mouse.prepare);this.prepare();return this};ldslider.prototype=import$(Object.create(Object.prototype),{on:function(n,cb){var ref$;return((ref$=this.evtHandler)[n]||(ref$[n]=[])).push(cb)},fire:function(n){var v,res$,i$,to$,ref$,len$,cb,results$=[];res$=[];for(i$=1,to$=arguments.length;i$0?ref2$:0)<(ref1$=rbox.width)?ref$:ref1$;dx=x/rbox.width;if(this.expFactor){dx=Math.pow(dx,this.expFactor)}value=this.opt.min+(this.opt.max-this.opt.min)*dx;if(this.opt.limitMax!=null){if(x>w06){value=this.opt.limitMax+(this.opt.max-this.opt.limitMax)*(x-w06)/(rbox.width-w06)}else{dx=x/w06;if(this.expFactor){dx=Math.pow(dx,this.expFactor)}value=this.opt.min+this.opt.limitMax*dx}}}else{value=v}value=v=(ref$=(ref2$=this.opt.min+Math.round((value-this.opt.min)/this.opt.step)*this.opt.step)>(ref3$=this.opt.min)?ref2$:ref3$)<(ref1$=this.opt.max)?ref$:ref1$;this.val[label]=value;xs={};for(k in ref$=this.val){v=ref$[k];if(!this.range&&k==="to"){continue}if(this.opt.limitMax!=null){if(v>this.opt.limitMax){x=(v-this.opt.limitMax)/(this.opt.max-this.opt.limitMax)*40+60}else{if(this.expFactor){x=60*Math.pow((v-this.opt.min)/(this.opt.limitMax-this.opt.min),1/this.expFactor)}else{x=60*(v-this.opt.min)/(this.opt.limitMax-this.opt.min)}}}else{if(this.expFactor){x=100*Math.pow((v-this.opt.min)/(this.opt.max-this.opt.min),1/this.expFactor)}else{x=100*((v-this.opt.min)/(this.opt.max-this.opt.min))}}if(this.opt.limitMax!=null&&this.opt.limitHard){if(x>60){x=60}if(v>this.opt.limitMax){v=this.opt.limitMax}}this.val[k]=v;xs[k]=x}x=xs[label];v=this.val[label];left=!this.range?0:Math.min(xs.from,xs.to)+.5;width=!this.range?xs.from:Math.max(xs.from,xs.to)-left+.5;hbox=elH.getBoundingClientRect();elH.innerText=this.label.ptr(Math.round(1e4*v)/1e4);elH.style.left=100*(.01*x*rbox.width)/rbox.width+"%";elH.style.transform="translate(-50%,0)";elL.style.left=x+"%";this.el.b.fg.style.width=width+"%";this.el.b.fg.style.left=left+"%";if(v!==old&&forceNotify){this.fire("change",this.range?this.val:this.val[label])}if(this.input){return this.updateInput({now:!fromInput})}}});if(typeof module!="undefined"&&module!==null){module.exports=ldslider}else if(typeof window!="undefined"&&window!==null){window.ldSlider=window.ldslider=ldslider}function import$(obj,src){var own={}.hasOwnProperty;for(var key in src)if(own.call(src,key))obj[key]=src[key];return obj} +var ldslider;ldslider=function(opt){var root,i$,to$,i,that,handle,el,mouse,this$=this;opt==null&&(opt={});this.evtHandler={};this.opt=import$({min:0,max:100,from:0,to:0,step:1},opt);this.val={to:0,from:0};this.root=root=typeof opt.root==="string"?document.querySelector(opt.root):opt.root;if(this.root.tagName==="INPUT"){this.input=this.root;ld$.attr(this.input,"type","hidden");this.root=root=document.createElement("div");this.input.parentNode.insertBefore(this.root,this.input);this.input.classList;for(i$=0,to$=this.input.classList.length;i$\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n
\n
\n
';this.el=el={b:{fg:ld$.find(root,".fg",0)},p:ld$.find(root,".line.p",0),q:ld$.find(root,".line.p.alt",0),h:{p:ld$.find(root,".hint.p",0),q:ld$.find(root,".hint.p.alt",0),l:ld$.find(root,".hint.l",0),r:ld$.find(root,".hint.r",0),lock:ld$.find(root,".hint.lock",0),lockLine:ld$.find(root,".lock-line",0)}};mouse={move:function(e){if(e.buttons&1){return this$.repos(e.clientX,true,true,false,mouse.alt)}else{return mouse.up(e)}},up:function(){var ref$,p,v;document.removeEventListener("mouseup",mouse.up);document.removeEventListener("mousemove",mouse.move);ref$=!mouse.alt?[this$.el.h.p,this$.val.from]:[this$.el.h.q,this$.val.to],p=ref$[0],v=ref$[1];return p.innerText=this$.label.ptr(Math.round(1e4*v)/1e4)},prepare:function(e){mouse.alt=e.target&&e.target.classList&&e.target.classList.contains("alt")?true:false;document.addEventListener("mousemove",mouse.move);return document.addEventListener("mouseup",mouse.up)}};el.p.addEventListener("mousedown",mouse.prepare);root.addEventListener("click",mouse.move);root.addEventListener("mousedown",mouse.prepare);this.prepare();return this};ldslider.prototype=import$(Object.create(Object.prototype),{on:function(n,cb){var ref$;return((ref$=this.evtHandler)[n]||(ref$[n]=[])).push(cb)},fire:function(n){var v,res$,i$,to$,ref$,len$,cb,results$=[];res$=[];for(i$=1,to$=arguments.length;i$0?ref2$:0)<(ref1$=rbox.width)?ref$:ref1$;dx=x/rbox.width;if(this.expFactor){dx=Math.pow(dx,this.expFactor)}value=this.opt.min+(this.opt.max-this.opt.min)*dx;if(this.opt.limitMax!=null){if(x>w06){value=this.opt.limitMax+(this.opt.max-this.opt.limitMax)*(x-w06)/(rbox.width-w06)}else{dx=x/w06;if(this.expFactor){dx=Math.pow(dx,this.expFactor)}value=this.opt.min+this.opt.limitMax*dx}}}else{value=v}value=v=(ref$=(ref2$=this.opt.min+Math.round((value-this.opt.min)/this.opt.step)*this.opt.step)>(ref3$=this.opt.min)?ref2$:ref3$)<(ref1$=this.opt.max)?ref$:ref1$;this.val[label]=value;xs={};for(k in ref$=this.val){v=ref$[k];if(!this.range&&k==="to"){continue}if(this.opt.limitMax!=null){if(v>this.opt.limitMax){x=(v-this.opt.limitMax)/(this.opt.max-this.opt.limitMax)*40+60}else{if(this.expFactor){x=60*Math.pow((v-this.opt.min)/(this.opt.limitMax-this.opt.min),1/this.expFactor)}else{x=60*(v-this.opt.min)/(this.opt.limitMax-this.opt.min)}}}else{if(this.expFactor){x=100*Math.pow((v-this.opt.min)/(this.opt.max-this.opt.min),1/this.expFactor)}else{x=100*((v-this.opt.min)/(this.opt.max-this.opt.min))}}if(this.opt.limitMax!=null&&this.opt.limitHard){if(x>60){x=60}if(v>this.opt.limitMax){v=this.opt.limitMax}}this.val[k]=v;xs[k]=x}x=xs[label];v=this.val[label];left=!this.range?0:Math.min(xs.from,xs.to)+.5;width=!this.range?xs.from:Math.max(xs.from,xs.to)-left+.5;hbox=elH.getBoundingClientRect();elH.innerText=this.label.ptr(Math.round(1e4*v)/1e4);elH.style.left=100*(.01*x*rbox.width)/rbox.width+"%";elH.style.transform="translate(-50%,0)";elL.style.left=x+"%";this.el.b.fg.style.width=width+"%";this.el.b.fg.style.left=left+"%";if(v!==old&&forceNotify){this.fire("change",this.range?this.val:this.val[label])}if(this.input){return this.updateInput({now:!fromInput})}}});if(typeof module!="undefined"&&module!==null){module.exports=ldslider}else if(typeof window!="undefined"&&window!==null){window.ldSlider=window.ldslider=ldslider}function import$(obj,src){var own={}.hasOwnProperty;for(var key in src)if(own.call(src,key))obj[key]=src[key];return obj}