Commit a97b40af authored by Valentin Hervieu's avatar Valentin Hervieu

fix(floor label): Fix the floor label that was not being shown.

This has been broken by previous commit that adds the RTL support.
parent 1542cfb2
/*! angularjs-slider - v2.9.0 -
(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-02-28 */
2016-02-29 */
rzslider {
position: relative;
display: inline-block;
......
This diff is collapsed.
/*! angularjs-slider - v2.9.0 - (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-02-28 */
/*! angularjs-slider - v2.9.0 - (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-02-29 */
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[disabled]{cursor:not-allowed}rzslider[disabled] .rz-pointer{cursor:not-allowed;background-color:#d8e0f3}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;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;height:0;padding:0 11px;margin:0;list-style:none;box-sizing:border-box;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}rzslider .rz-ticks .tick{width:10px;height:10px;text-align:center;cursor:pointer;background:#d8e0f3;border-radius:50%}rzslider .rz-ticks .tick.selected{background:#0db9f0}rzslider .rz-ticks .tick .tick-value{position:absolute;top:-30px;transform:translate(-50%,0)}rzslider.vertical{position:relative;width:4px;height:100%;padding:0;margin:0 20px;vertical-align:baseline}rzslider.vertical .rz-base{width:100%;height:100%;padding:0}rzslider.vertical .rz-bar-wrapper{top:auto;left:0;width:32px;height:100%;padding:0 0 0 16px;margin:0 0 0 -16px}rzslider.vertical .rz-bar{bottom:0;left:auto;width:4px;height:100%}rzslider.vertical .rz-pointer{top:auto;bottom:0;left:-14px!important}rzslider.vertical .rz-bubble{bottom:0;left:16px!important;margin-left:3px}rzslider.vertical .rz-bubble.rz-selection{top:auto;left:16px!important}rzslider.vertical .rz-ticks{top:0;left:-3px;z-index:1;width:0;height:100%;padding:11px 0;-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}rzslider.vertical .rz-ticks .tick{vertical-align:middle}rzslider.vertical .rz-ticks .tick .tick-value{top:auto;right:-30px;transform:translate(0,-28%)}
\ No newline at end of file
This diff is collapsed.
......@@ -803,19 +803,6 @@
return false;
},
/**
* Update position of the ceiling label
*
* @returns {undefined}
*/
updateCeilLab: function() {
this.translateFn(this.maxValue, this.ceilLab, 'ceil');
var position = this.options.rightToLeft ? 0 : this.barDimension - this.ceilLab.rzsd;
this.setPosition(this.ceilLab, position);
//need to explicitly set to 0 for switching between rtl and ltr in demo
this.getDimension(this.ceilLab);
},
/**
* Update position of the floor label
*
......@@ -823,54 +810,21 @@
*/
updateFloorLab: function() {
this.translateFn(this.minValue, this.flrLab, 'floor');
var position = this.options.rightToLeft ? 0 : this.barDimension - this.flrLab.rzsd;
this.setPosition(this.flrLab, position);
this.getDimension(this.flrLab);
var position = this.options.rightToLeft ? this.barDimension - this.flrLab.rzsd : 0;
this.setPosition(this.flrLab, position);
},
/**
* Call the onStart callback if defined
* The callback call is wrapped in a $evalAsync to ensure that its result will be applied to the scope.
*
* @returns {undefined}
*/
callOnStart: function() {
if (this.options.onStart) {
var self = this;
this.scope.$evalAsync(function() {
self.options.onStart(self.options.id, self.scope.rzSliderModel, self.scope.rzSliderHigh);
});
}
},
/**
* Call the onChange callback if defined
* The callback call is wrapped in a $evalAsync to ensure that its result will be applied to the scope.
*
* @returns {undefined}
*/
callOnChange: function() {
if (this.options.onChange) {
var self = this;
this.scope.$evalAsync(function() {
self.options.onChange(self.options.id, self.scope.rzSliderModel, self.scope.rzSliderHigh);
});
}
},
/**
* Call the onEnd callback if defined
* The callback call is wrapped in a $evalAsync to ensure that its result will be applied to the scope.
* Update position of the ceiling label
*
* @returns {undefined}
*/
callOnEnd: function() {
if (this.options.onEnd) {
var self = this;
this.scope.$evalAsync(function() {
self.options.onEnd(self.options.id, self.scope.rzSliderModel, self.scope.rzSliderHigh);
});
}
updateCeilLab: function() {
this.translateFn(this.maxValue, this.ceilLab, 'ceil');
this.getDimension(this.ceilLab);
var position = this.options.rightToLeft ? 0 : this.barDimension - this.ceilLab.rzsd;
this.setPosition(this.ceilLab, position);
},
/**
......@@ -941,7 +895,7 @@
updateHighHandle: function(newOffset) {
this.setPosition(this.maxH, newOffset);
this.translateFn(this.scope.rzSliderHigh, this.maxLab, 'high');
this.setPosition(this.maxLab, this.getHandleLabelPos("maxLab", newOffset));
this.setPosition(this.maxLab, this.getHandleLabelPos('maxLab', newOffset));
if (this.options.getPointerColor) {
var pointercolor = this.getPointerColor('max');
......@@ -1811,6 +1765,51 @@
this.scope.$apply();
this.callOnChange();
this.internalChange = false;
},
/**
* Call the onStart callback if defined
* The callback call is wrapped in a $evalAsync to ensure that its result will be applied to the scope.
*
* @returns {undefined}
*/
callOnStart: function() {
if (this.options.onStart) {
var self = this;
this.scope.$evalAsync(function() {
self.options.onStart(self.options.id, self.scope.rzSliderModel, self.scope.rzSliderHigh);
});
}
},
/**
* Call the onChange callback if defined
* The callback call is wrapped in a $evalAsync to ensure that its result will be applied to the scope.
*
* @returns {undefined}
*/
callOnChange: function() {
if (this.options.onChange) {
var self = this;
this.scope.$evalAsync(function() {
self.options.onChange(self.options.id, self.scope.rzSliderModel, self.scope.rzSliderHigh);
});
}
},
/**
* Call the onEnd callback if defined
* The callback call is wrapped in a $evalAsync to ensure that its result will be applied to the scope.
*
* @returns {undefined}
*/
callOnEnd: function() {
if (this.options.onEnd) {
var self = this;
this.scope.$evalAsync(function() {
self.options.onEnd(self.options.id, self.scope.rzSliderModel, self.scope.rzSliderHigh);
});
}
}
};
......
(function() {
"use strict";
describe('Single slider initialisation - ', function() {
var helper,
RzSliderOptions,
$rootScope,
$timeout;
beforeEach(module('test-helper'));
beforeEach(inject(function(TestHelper, _RzSliderOptions_, _$rootScope_, _$timeout_) {
helper = TestHelper;
RzSliderOptions = _RzSliderOptions_;
$rootScope = _$rootScope_;
$timeout = _$timeout_;
}));
afterEach(function() {
helper.clean();
});
it('should display floor and ceil labels when handle is at the middle', function() {
var sliderConf = {
value: 50,
options: {
floor: 0,
ceil: 100
}
};
helper.createSlider(sliderConf);
expect(helper.slider.flrLab.css('opacity')).to.equal('1');
expect(helper.slider.ceilLab.css('opacity')).to.equal('1');
});
it('should hide floor and display ceil labels when handle is at min', function() {
var sliderConf = {
value: 0,
options: {
floor: 0,
ceil: 100
}
};
helper.createSlider(sliderConf);
expect(helper.slider.flrLab.css('opacity')).to.equal('0');
expect(helper.slider.ceilLab.css('opacity')).to.equal('1');
});
it('should show floor and hide ceil labels when handle is at max', function() {
var sliderConf = {
value: 100,
options: {
floor: 0,
ceil: 100
}
};
helper.createSlider(sliderConf);
expect(helper.slider.flrLab.css('opacity')).to.equal('1');
expect(helper.slider.ceilLab.css('opacity')).to.equal('0');
});
it('should display floor and ceil labels when handle is at the middle for RTL slider', function() {
var sliderConf = {
value: 50,
options: {
floor: 0,
ceil: 100,
rightToLeft: true
}
};
helper.createSlider(sliderConf);
expect(helper.slider.flrLab.css('opacity')).to.equal('1');
expect(helper.slider.ceilLab.css('opacity')).to.equal('1');
});
it('should hide floor and display ceil labels when handle is at min for RTL slider', function() {
var sliderConf = {
value: 0,
options: {
floor: 0,
ceil: 100,
rightToLeft: true
}
};
helper.createSlider(sliderConf);
expect(helper.slider.flrLab.css('opacity')).to.equal('0');
expect(helper.slider.ceilLab.css('opacity')).to.equal('1');
});
it('should show floor and hide ceil labels when handle is at max for RTL slider', function() {
var sliderConf = {
value: 100,
options: {
floor: 0,
ceil: 100,
rightToLeft: true
}
};
helper.createSlider(sliderConf);
expect(helper.slider.flrLab.css('opacity')).to.equal('1');
expect(helper.slider.ceilLab.css('opacity')).to.equal('0');
});
it('should hide floor and ceil labels when minHandle is at min and maxHandle at max for range slider', function() {
var sliderConf = {
min: 0,
max: 100,
options: {
floor: 0,
ceil: 100
}
};
helper.createRangeSlider(sliderConf);
expect(helper.slider.flrLab.css('opacity')).to.equal('0');
expect(helper.slider.ceilLab.css('opacity')).to.equal('0');
});
it('should hide floor and ceil labels when minHandle is at min and maxHandle at max for range RTL slider', function() {
var sliderConf = {
min: 0,
max: 100,
options: {
floor: 0,
ceil: 100,
rightToLeft: true
}
};
helper.createRangeSlider(sliderConf);
expect(helper.slider.flrLab.css('opacity')).to.equal('0');
expect(helper.slider.ceilLab.css('opacity')).to.equal('0');
});
});
}());
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