forked from uncloud/uncloud
47 lines
1.7 KiB
JavaScript
47 lines
1.7 KiB
JavaScript
(function($) {
|
|
"use strict"; // Start of use strict
|
|
|
|
$(document).ready(function() {
|
|
function fetch_pricing() {
|
|
var url = '/pricing/' + $('#pricing_name').val() + '/calculate/';
|
|
var cores = $('#cores').val();
|
|
var memory = $('#memory').val();
|
|
var storage = $('#storage').val();
|
|
$.ajax({
|
|
type: 'GET',
|
|
url: url,
|
|
data: { cores: cores, memory: memory, storage: storage},
|
|
dataType: 'json',
|
|
success: function (data) {
|
|
if (data && data['subtotal']) {
|
|
$('#subtotal').text(data['subtotal']);
|
|
$('#total').text(data['total']);
|
|
}
|
|
}
|
|
});
|
|
};
|
|
|
|
function incrementValue(e) {
|
|
var valueElement = $(e.target).parent().parent().find('input');
|
|
var step = $(valueElement).attr('step');
|
|
var min = parseInt($(valueElement).attr('min'));
|
|
var max = parseInt($(valueElement).attr('max'));
|
|
var new_value = 0;
|
|
if (e.data.inc == 1) {
|
|
new_value = Math.min(parseInt($(valueElement).val()) + parseInt(step) * e.data.inc, max);
|
|
} else {
|
|
new_value = Math.max(parseInt($(valueElement).val()) + parseInt(step) * e.data.inc, min);
|
|
}
|
|
$(valueElement).val(new_value);
|
|
fetch_pricing();
|
|
return false;
|
|
};
|
|
if ($('#pricing_name') != undefined) {
|
|
fetch_pricing();
|
|
}
|
|
|
|
$('.fa-plus-circle.right').bind('click', {inc: 1}, incrementValue);
|
|
|
|
$('.fa-minus-circle.left').bind('click', {inc: -1}, incrementValue);
|
|
});
|
|
})(jQuery);
|