Commit 62d857d1 authored by Dmitry Krekota's avatar Dmitry Krekota Committed by Valentin Hervieu

Add Math.round for positions and dimensions (#454)

* Add Math.round for transform position
parent e2f720ae
......@@ -977,7 +977,7 @@
var tick = {
selected: self.isTickSelected(value),
style: {
transform: translate + '(' + position + 'px)'
transform: translate + '(' + Math.round(position) + 'px)'
}
};
if (tick.selected && self.options.getSelectionBarColor) {
......@@ -1414,7 +1414,7 @@
setPosition: function(elem, pos) {
elem.rzsp = pos;
var css = {};
css[this.positionProperty] = pos + 'px';
css[this.positionProperty] = Math.round(pos) + 'px';
elem.css(css);
return pos;
},
......@@ -1444,7 +1444,7 @@
setDimension: function(elem, dim) {
elem.rzsd = dim;
var css = {};
css[this.dimensionProperty] = dim + 'px';
css[this.dimensionProperty] = Math.round(dim) + 'px';
elem.css(css);
return dim;
},
......
<<<<<<< HEAD
/*! angularjs-slider - v5.8.5 - (c) Rafal Zajac <rzajac@gmail.com>, Valentin Hervieu <valentin@hervieu.me>, Jussi Saarivirta <jusasi@gmail.com>, Angelin Sirbu <angelin.sirbu@gmail.com> - https://github.com/angular-slider/angularjs-slider - 2016-11-08 */
=======
/*! angularjs-slider - v5.8.6 - (c) Rafal Zajac <rzajac@gmail.com>, Valentin Hervieu <valentin@hervieu.me>, Jussi Saarivirta <jusasi@gmail.com>, Angelin Sirbu <angelin.sirbu@gmail.com> - https://github.com/angular-slider/angularjs-slider - 2016-11-08 */
>>>>>>> e2f720aee84a4bac5d6d0dfec04a8a3b9a77fa56
.rzslider{position:relative;display:inline-block;width:100%;height:4px;margin:35px 0 15px 0;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.rzslider.with-legend{margin-bottom:40px}.rzslider[disabled]{cursor:not-allowed}.rzslider[disabled] .rz-pointer{cursor:not-allowed;background-color:#d8e0f3}.rzslider[disabled] .rz-bar-wrapper.rz-draggable{cursor:not-allowed}.rzslider[disabled] .rz-bar.rz-selection{background:#8b91a2}.rzslider[disabled] .rz-ticks .rz-tick{cursor:not-allowed}.rzslider[disabled] .rz-ticks .rz-tick.rz-selected{background:#8b91a2}.rzslider span{position:absolute;display:inline-block;white-space:nowrap}.rzslider .rz-base{width:100%;height:100%;padding:0}.rzslider .rz-bar-wrapper{left:0;z-index:1;width:100%;height:32px;padding-top:16px;margin-top:-16px;box-sizing:border-box}.rzslider .rz-bar-wrapper.rz-draggable{cursor:move}.rzslider .rz-bar{left:0;z-index:1;width:100%;height:4px;background:#d8e0f3;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}.rzslider .rz-bar.rz-selection{z-index:2;background:#0db9f0;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}.rzslider .rz-pointer{top:-14px;z-index:3;width:32px;height:32px;cursor:pointer;background-color:#0db9f0;-webkit-border-radius:16px;-moz-border-radius:16px;border-radius:16px}.rzslider .rz-pointer:after{position:absolute;top:12px;left:12px;width:8px;height:8px;background:#fff;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;content:''}.rzslider .rz-pointer:hover:after{background-color:#fff}.rzslider .rz-pointer.rz-active{z-index:4}.rzslider .rz-pointer.rz-active:after{background-color:#451aff}.rzslider .rz-bubble{bottom:16px;padding:1px 3px;color:#55637d;cursor:default}.rzslider .rz-bubble.rz-selection{top:16px}.rzslider .rz-bubble.rz-limit{color:#55637d}.rzslider .rz-ticks{position:absolute;top:-3px;left:0;z-index:1;width:100%;height:0;margin:0;list-style:none;box-sizing:border-box}.rzslider .rz-ticks .rz-tick{position:absolute;top:0;left:0;width:10px;height:10px;margin-left:11px;text-align:center;cursor:pointer;background:#d8e0f3;border-radius:50%}.rzslider .rz-ticks .rz-tick.rz-selected{background:#0db9f0}.rzslider .rz-ticks .rz-tick .rz-tick-value{position:absolute;top:-30px;transform:translate(-50%,0)}.rzslider .rz-ticks .rz-tick .rz-tick-legend{position:absolute;top:24px;max-width:50px;white-space:normal;transform:translate(-50%,0)}.rzslider .rz-ticks.rz-ticks-values-under .rz-tick-value{top:initial;bottom:-32px}.rzslider.rz-vertical{position:relative;width:4px;height:100%;padding:0;margin:0 20px;vertical-align:baseline}.rzslider.rz-vertical .rz-base{width:100%;height:100%;padding:0}.rzslider.rz-vertical .rz-bar-wrapper{top:auto;left:0;width:32px;height:100%;padding:0 0 0 16px;margin:0 0 0 -16px}.rzslider.rz-vertical .rz-bar{bottom:0;left:auto;width:4px;height:100%}.rzslider.rz-vertical .rz-pointer{top:auto;bottom:0;left:-14px!important}.rzslider.rz-vertical .rz-bubble{bottom:0;left:16px!important;margin-left:3px}.rzslider.rz-vertical .rz-bubble.rz-selection{top:auto;left:16px!important}.rzslider.rz-vertical .rz-ticks{top:0;left:-3px;z-index:1;width:0;height:100%}.rzslider.rz-vertical .rz-ticks .rz-tick{margin-top:11px;margin-left:auto;vertical-align:middle}.rzslider.rz-vertical .rz-ticks .rz-tick .rz-tick-value{top:initial;left:24px;transform:translate(0,-28%)}.rzslider.rz-vertical .rz-ticks .rz-tick .rz-tick-legend{top:initial;right:24px;max-width:none;white-space:nowrap;transform:translate(0,-28%)}.rzslider.rz-vertical .rz-ticks.rz-ticks-values-under .rz-tick-value{right:24px;bottom:initial;left:initial}
\ No newline at end of file
This diff is collapsed.
......@@ -981,7 +981,7 @@
var tick = {
selected: self.isTickSelected(value),
style: {
transform: translate + '(' + position + 'px)'
transform: translate + '(' + Math.round(position) + 'px)'
}
};
if (tick.selected && self.options.getSelectionBarColor) {
......@@ -1418,7 +1418,7 @@
setPosition: function(elem, pos) {
elem.rzsp = pos;
var css = {};
css[this.positionProperty] = pos + 'px';
css[this.positionProperty] = Math.round(pos) + 'px';
elem.css(css);
return pos;
},
......@@ -1448,7 +1448,7 @@
setDimension: function(elem, dim) {
elem.rzsd = dim;
var css = {};
css[this.dimensionProperty] = dim + 'px';
css[this.dimensionProperty] = Math.round(dim) + 'px';
elem.css(css);
return dim;
},
......
......@@ -187,8 +187,8 @@
it('should a working positionTrackingBar', function() {
var newMin = 50,
newMax = 90,
minposition = helper.slider.valueToPosition(newMin),
maxposition = helper.slider.valueToPosition(newMax);
minposition = Math.round(helper.slider.valueToPosition(newMin)),
maxposition = Math.round(helper.slider.valueToPosition(newMax));
helper.slider.positionTrackingBar(newMin, newMax, minposition, maxposition);
expect(helper.scope.slider.min).to.equal(50);
......@@ -411,8 +411,8 @@
it('should a working positionTrackingBar', function() {
var newMin = 50,
newMax = 90,
minposition = helper.slider.valueToPosition(newMin),
maxposition = helper.slider.valueToPosition(newMax);
minposition = Math.round(helper.slider.valueToPosition(newMin)),
maxposition = Math.round(helper.slider.valueToPosition(newMax));
helper.slider.positionTrackingBar(newMin, newMax, minposition, maxposition);
expect(helper.scope.slider.min).to.equal(50);
......
......@@ -356,7 +356,7 @@
}
};
helper.createSlider(sliderConf);
var expectedDimension = helper.slider.valueToPosition(2) + helper.slider.handleHalfDim;
var expectedDimension = Math.round(helper.slider.valueToPosition(2)) + helper.slider.handleHalfDim;
expect(helper.slider.selBar.css('width')).to.equal(expectedDimension + 'px');
expect(helper.slider.selBar.css('left')).to.equal('0px');
});
......@@ -375,7 +375,7 @@
actualDimension = Math.floor(helper.slider.selBar[0].getBoundingClientRect().width);
expect(actualDimension).to.equal(expectedDimension);
var expectedPosition = helper.slider.valueToPosition(2) + helper.slider.handleHalfDim;
var expectedPosition = Math.round(helper.slider.valueToPosition(2)) + helper.slider.handleHalfDim;
expect(helper.slider.selBar.css('left')).to.equal(expectedPosition + 'px');
});
......@@ -389,8 +389,8 @@
}
};
helper.createSlider(sliderConf);
var expectedDimension = helper.slider.valueToPosition(5),
expectedPosition = helper.slider.valueToPosition(10) + helper.slider.handleHalfDim;
var expectedDimension = Math.round(helper.slider.valueToPosition(5)),
expectedPosition = Math.round(helper.slider.valueToPosition(10)) + helper.slider.handleHalfDim;
expect(helper.slider.selBar.css('width')).to.equal(expectedDimension + 'px');
expect(helper.slider.selBar.css('left')).to.equal(expectedPosition + 'px');
});
......@@ -405,11 +405,11 @@
}
};
helper.createSlider(sliderConf);
var expectedDimension = Math.floor(helper.slider.valueToPosition(7)),
actualDimension = Math.floor(helper.slider.selBar[0].getBoundingClientRect().width);
var expectedDimension = Math.round(helper.slider.valueToPosition(7)),
actualDimension = Math.round(helper.slider.selBar[0].getBoundingClientRect().width);
expect(actualDimension).to.equal(expectedDimension);
var expectedPosition = helper.slider.valueToPosition(3) + helper.slider.handleHalfDim;
var expectedPosition = Math.round(helper.slider.valueToPosition(3)) + helper.slider.handleHalfDim;
expect(helper.slider.selBar.css('left')).to.equal(expectedPosition + 'px');
});
......@@ -512,11 +512,11 @@
};
helper.createRangeSlider(sliderConf);
var expectedDimension = Math.floor(helper.slider.valueToPosition(6)),
actualDimension = Math.floor(helper.slider.selBar[0].getBoundingClientRect().width);
var expectedDimension = Math.round(helper.slider.valueToPosition(6)),
actualDimension = helper.slider.selBar[0].getBoundingClientRect().width;
expect(actualDimension).to.equal(expectedDimension);
var expectedPosition = helper.slider.valueToPosition(2) + helper.slider.handleHalfDim;
var expectedPosition = Math.round(helper.slider.valueToPosition(2)) + helper.slider.handleHalfDim;
expect(helper.slider.selBar.css('left')).to.equal(expectedPosition + 'px');
});
......@@ -752,8 +752,8 @@
};
helper.createRangeSlider(sliderConf);
expect(helper.slider.minLab.css('left')).to.equal('-' + (helper.slider.minLab.rzsd / 2 - helper.slider.handleHalfDim) + 'px');
expect(helper.slider.maxLab.css('left')).to.equal((helper.slider.barDimension - (helper.slider.maxLab.rzsd / 2 + helper.slider.handleHalfDim)) + 'px');
expect(helper.slider.minLab.css('left')).to.equal('-' + Math.round(helper.slider.minLab.rzsd / 2 - helper.slider.handleHalfDim) + 'px');
expect(helper.slider.maxLab.css('left')).to.equal(Math.round((helper.slider.barDimension - (helper.slider.maxLab.rzsd / 2 + helper.slider.handleHalfDim))) + 'px');
sliderConf.max = 100000001;
helper.createRangeSlider(sliderConf);
......@@ -1124,10 +1124,10 @@
}
};
helper.createSlider(sliderConf);
var expectedDimension = Math.floor(helper.slider.valueToPosition(8) + helper.slider.handleHalfDim),
actualDimension = Math.floor(helper.slider.selBar[0].getBoundingClientRect().width);
var expectedDimension = Math.round(helper.slider.valueToPosition(8) + helper.slider.handleHalfDim),
actualDimension = Math.round(helper.slider.selBar[0].getBoundingClientRect().width);
expect(actualDimension).to.equal(expectedDimension);
expect(helper.slider.selBar.css('left')).to.equal(helper.slider.valueToPosition(2) + helper.slider.handleHalfDim + 'px');
expect(helper.slider.selBar.css('left')).to.equal(Math.round(helper.slider.valueToPosition(2)) + helper.slider.handleHalfDim + 'px');
});
it('should set the correct dimension/position for selection bar for single slider with showSelectionBarEnd=true', function() {
......@@ -1158,8 +1158,8 @@
}
};
helper.createSlider(sliderConf);
var expectedDimension = helper.slider.valueToPosition(15),
expectedPosition = helper.slider.valueToPosition(15) + helper.slider.handleHalfDim;
var expectedDimension = Math.round(helper.slider.valueToPosition(15)),
expectedPosition = Math.round(helper.slider.valueToPosition(15)) + helper.slider.handleHalfDim;
expect(helper.slider.selBar.css('width')).to.equal(expectedDimension + 'px');
expect(helper.slider.selBar.css('left')).to.equal(expectedPosition + 'px');
});
......@@ -1175,9 +1175,9 @@
}
};
helper.createSlider(sliderConf);
var expectedDimension = Math.floor(helper.slider.valueToPosition(13)),
actualDimension = Math.floor(helper.slider.selBar[0].getBoundingClientRect().width),
expectedPosition = helper.slider.valueToPosition(10) + helper.slider.handleHalfDim;
var expectedDimension = Math.round(helper.slider.valueToPosition(13)),
actualDimension = helper.slider.selBar[0].getBoundingClientRect().width,
expectedPosition = Math.round(helper.slider.valueToPosition(10)) + helper.slider.handleHalfDim;
expect(actualDimension).to.equal(expectedDimension);
expect(helper.slider.selBar.css('left')).to.equal(expectedPosition + 'px');
});
......@@ -1217,11 +1217,11 @@
};
helper.createRangeSlider(sliderConf);
var expectedDimension = Math.floor(helper.slider.valueToPosition(6)),
actualDimension = Math.floor(helper.slider.selBar[0].getBoundingClientRect().width);
var expectedDimension = Math.round(helper.slider.valueToPosition(6)),
actualDimension = helper.slider.selBar[0].getBoundingClientRect().width;
expect(actualDimension).to.equal(expectedDimension);
var expectedPosition = helper.slider.valueToPosition(2) + helper.slider.handleHalfDim;
var expectedPosition = Math.round(helper.slider.valueToPosition(2)) + helper.slider.handleHalfDim;
expect(helper.slider.selBar.css('left')).to.equal(expectedPosition + 'px');
});
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment