Just copy the code into address bar with javascript: or copy it into console
Last active
October 17, 2023 18:48
-
-
Save arieffikhrie/e6053b17639e857c5fb8bbb0794ed5f9 to your computer and use it in GitHub Desktop.
uber fare calculator
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(function($){ | |
var currentCur = 'MYR'; | |
var tripsTable = $('#trips-table'); | |
var fareColHeader = tripsTable.find('thead tr th:nth-child(4)'); | |
var fareColHeaderSum = fareColHeader.find('.af-faresum'); | |
if ( fareColHeaderSum.length === 0 ){ | |
fareColHeaderSum = $('<span class="af-faresum">(<span class="af-faresumval">' + currentCur +'0.00</span>)</span>'); | |
} | |
fareColHeader.append(fareColHeaderSum); | |
var fareCol = tripsTable.find('tbody tr td:nth-child(4)'); | |
var convertCurrencyToNumber = function(value, currency){ | |
if ( typeof value !== 'string' ){ | |
return 0.00; | |
} | |
if ( typeof currency === 'undefined' || currency === '' ){ | |
currency = 'MYR'; | |
} | |
value = value.trim(); | |
if ( value === currency + 'NaN' ){ | |
return 0.00; | |
} | |
return parseFloat(value.replace(currency, '' )); | |
}; | |
fareCol.each(function(item, i){ | |
var elem = $(this); | |
var checkbox = elem.children('.af-checkwrapper'); | |
if ( checkbox.length === 0 ){ | |
checkbox = $('<div class="af-checkwrapper"><input type="checkbox" /></div>'); | |
elem.append(checkbox); | |
} | |
}).promise().done(function(){ | |
tripsTable.off('change', '.af-checkwrapper input'); | |
tripsTable.on('change', '.af-checkwrapper input', function(){ | |
var elem = $(this); | |
var elemTd = elem.closest('td'); | |
var itemText = elemTd.text(); | |
var itemVal = convertCurrencyToNumber(itemText); | |
var currentSumDom = fareColHeaderSum.find('.af-faresumval'); | |
var currentSumText = currentSumDom.text(); | |
var currentSumVal = convertCurrencyToNumber(currentSumText); | |
if ( elem.prop('checked') ){ | |
currentSumVal = currentSumVal + itemVal; | |
} else { | |
currentSumVal = currentSumVal - itemVal; | |
} | |
currentSumDom.text(currentCur + Number(currentSumVal).toFixed(2)); | |
}); | |
}); | |
})(jQuery); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
!function(e){var a="MYR",t=e("#trips-table"),n=t.find("thead tr th:nth-child(4)"),r=n.find(".af-faresum");0===r.length&&(r=e('<span class="af-faresum">(<span class="af-faresumval">'+a+"0.00</span>)</span>")),n.append(r);var c=t.find("tbody tr td:nth-child(4)"),p=function(e,a){return"string"!=typeof e?0:(("undefined"==typeof a||""===a)&&(a="MYR"),e=e.trim(),e===a+"NaN"?0:parseFloat(e.replace(a,"")))};c.each(function(a,t){var n=e(this),r=n.children(".af-checkwrapper");0===r.length&&(r=e('<div class="af-checkwrapper"><input type="checkbox" /></div>'),n.append(r))}).promise().done(function(){t.off("change",".af-checkwrapper input"),t.on("change",".af-checkwrapper input",function(){var t=e(this),n=t.closest("td"),c=n.text(),f=p(c),i=r.find(".af-faresumval"),s=i.text(),d=p(s);t.prop("checked")?d+=f:d-=f,i.text(a+Number(d).toFixed(2))})})}(jQuery); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
(function($){
');var currentCur = 'MYR';
var tripsTable = $('#trips-table');
var fareColHeader = tripsTable.find('thead tr th:nth-child(4)');
var fareColHeaderSum = fareColHeader.find('.af-faresum');
if ( fareColHeaderSum.length === 0 ){
fareColHeaderSum = $('(' + currentCur +'0.00)');
}
fareColHeader.append(fareColHeaderSum);
var fareCol = tripsTable.find('tbody tr td:nth-child(4)');
var convertCurrencyToNumber = function(value, currency){
if ( typeof value !== 'string' ){
return 0.00;
}
if ( typeof currency === 'undefined' || currency === '' ){
currency = 'MYR';
}
value = value.trim();
if ( value === currency + 'NaN' ){
return 0.00;
}
return parseFloat(value.replace(currency, '' ));
};
fareCol.each(function(item, i){
var elem = $(this);
var checkbox = elem.children('.af-checkwrapper');
if ( checkbox.length === 0 ){
checkbox = $('
elem.append(checkbox);
}
}).promise().done(function(){
tripsTable.off('change', '.af-checkwrapper input');
tripsTable.on('change', '.af-checkwrapper input', function(){
var elem = $(this);
var elemTd = elem.closest('td');
var itemText = elemTd.text();
var itemVal = convertCurrencyToNumber(itemText);
var currentSumDom = fareColHeaderSum.find('.af-faresumval');
var currentSumText = currentSumDom.text();
var currentSumVal = convertCurrencyToNumber(currentSumText);
if ( elem.prop('checked') ){
currentSumVal = currentSumVal + itemVal;
} else {
currentSumVal = currentSumVal - itemVal;
}
currentSumDom.text(currentCur + Number(currentSumVal).toFixed(2));
});
});
})(jQuery);