75 lines
2 KiB
JavaScript
75 lines
2 KiB
JavaScript
(function($){
|
|
"use strict"; // Start of use strict
|
|
|
|
var cardPricing = {
|
|
'cpu': {
|
|
'id': 'coreValue',
|
|
'value': 1,
|
|
'min': 1,
|
|
'max': 48,
|
|
'interval': 1
|
|
},
|
|
'ram': {
|
|
'id': 'ramValue',
|
|
'value': 2,
|
|
'min': 1,
|
|
'max': 200,
|
|
'interval': 1
|
|
},
|
|
'storage': {
|
|
'id': 'storageValue',
|
|
'value': 10,
|
|
'min': 10,
|
|
'max': 2000,
|
|
'interval': 10
|
|
}
|
|
};
|
|
|
|
function _initPricing() {
|
|
_fetchPricing();
|
|
|
|
$('.fa-minus.left').click(function(event) {
|
|
var data = $(this).data('minus');
|
|
|
|
if (cardPricing[data].value > cardPricing[data].min) {
|
|
cardPricing[data].value = Number(cardPricing[data].value) - cardPricing[data].interval;
|
|
}
|
|
_fetchPricing();
|
|
});
|
|
$('.fa-plus.right').click(function(event) {
|
|
var data = $(this).data('plus');
|
|
if (cardPricing[data].value < cardPricing[data].max) {
|
|
cardPricing[data].value = Number(cardPricing[data].value) + cardPricing[data].interval;
|
|
}
|
|
_fetchPricing();
|
|
});
|
|
|
|
$('.input-price').change(function() {
|
|
var data = $(this).attr("name");
|
|
cardPricing[data].value = $('input[name=' + data + ']').val();
|
|
_fetchPricing();
|
|
});
|
|
}
|
|
|
|
function _fetchPricing() {
|
|
Object.keys(cardPricing).map(function(element) {
|
|
$('input[name=' + element + ']').val(cardPricing[element].value);
|
|
});
|
|
_calcPricing();
|
|
}
|
|
|
|
function _calcPricing() {
|
|
var total = (cardPricing['cpu'].value * 5) + (2 * cardPricing['ram'].value) + (0.6 * cardPricing['storage'].value);
|
|
total = parseFloat(total.toFixed(2));
|
|
|
|
$("#total").text(total);
|
|
$('input[name=total]').val(total);
|
|
}
|
|
|
|
$(document).ready(function() {
|
|
_initPricing();
|
|
});
|
|
|
|
})(jQuery);
|
|
|
|
|