ui: fix for custom constrained offering params range check (#3545)

This PR fixes range check in VM deployment wizard while using custom constrained offering.
Existing code was failing while checking user input value in the form for CPU cores and RAM size when minimum and maximum value vary in digit count.
Also, while re-selecting offerings slider position was not restored to minimum value. THis has been fixed with changes.

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
This commit is contained in:
Abhishek Kumar 2019-08-07 18:38:22 +05:30 committed by Rohit Yadav
parent 5dc982d8ba
commit a10e539dd6
1 changed files with 6 additions and 4 deletions

View File

@ -636,8 +636,8 @@
$step.find('.custom-slider-container').show();
var setupSlider = function(sliderClassName, minVal, maxVal) {
$step.find('.custom-slider-container .' + sliderClassName + ' .size.min span').html(minVal);
$step.find('.custom-slider-container .' + sliderClassName + ' input[type=text]').val(minVal);
$step.find('.custom-slider-container .' + sliderClassName + ' .size.max span').html(maxVal);
$step.find('.custom-slider-container .' + sliderClassName + ' input[type=text]').val(minVal);
$step.find('.custom-slider-container .' + sliderClassName + ' .slider').each(function() {
var $slider = $(this);
$slider.slider({
@ -651,20 +651,22 @@
});
$step.find('.custom-slider-container .' + sliderClassName + ' input[type=text]').bind('change', function() {
var val = $step.find('.custom-slider-container .' + sliderClassName + ' input[type=text]').val();
var val = parseInt($(this).val(), 10);
if (val < minVal || val > maxVal) {
cloudStack.dialog.notice({ message: $.validator.format(_l('message.validate.range'), [minVal, maxVal]) });
}
if (val < minVal) {
val = minVal;
$step.find('.custom-slider-container .' + sliderClassName + ' input[type=text]').val(val);
$(this).val(val);
}
if(val > maxVal) {
val = maxVal;
$step.find('.custom-slider-container .' + sliderClassName + ' input[type=text]').val(val);
$(this).val(val);
}
$step.find('span.custom-slider-container .' + sliderClassName).html(_s(val));
$step.find('.custom-slider-container .' + sliderClassName + ' span.ui-slider-handle').css('left', (((val-minVal)/(maxVal-minVal))*100)+'%');
});
$step.find('.custom-slider-container .' + sliderClassName + ' span.ui-slider-handle').css('left', '0%');
}
setupSlider('slider-cpu-cores', minCpuNumber, maxCpuNumber);
setupSlider('slider-memory-mb', minMemory, maxMemory);