MediaWiki:SmoothiesDebtCalculator.js: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
| Line 13: | Line 13: | ||
return Number(value.slice(0,-1)) * 1000000000; | return Number(value.slice(0,-1)) * 1000000000; | ||
} | } | ||
if (value.endsWith("m")) { | if (value.endsWith("m")) { | ||
return Number(value.slice(0,-1)) * 1000000; | return Number(value.slice(0,-1)) * 1000000; | ||
} | } | ||
if (value.endsWith("k")) { | if (value.endsWith("k")) { | ||
return Number(value.slice(0,-1)) * 1000; | return Number(value.slice(0,-1)) * 1000; | ||
} | } | ||
return Number(value) || 0; | return Number(value) || 0; | ||
} | } | ||
| Line 63: | Line 67: | ||
} | } | ||
| Line 69: | Line 74: | ||
let | let pkp = document.getElementById("pkp-inputs"); | ||
" | let dp = document.getElementById("dp-inputs"); | ||
); | let credits = document.getElementById("credits-inputs"); | ||
if(! | if(!pkp || !dp || !credits) { | ||
return; | |||
} | |||
pkp.innerHTML = ` | |||
< | <label>Amount</label> | ||
<input id="pkp-amount" value="0"> | |||
`; | |||
dp.innerHTML = ` | |||
</ | <label>Trade Price (PKP)</label> | ||
<input id="dp-price" value="0"> | |||
<label>Amount</label> | |||
<input id="dp-amount" value="0"> | |||
`; | |||
credits.innerHTML = ` | |||
<label> | <label>Trade Price (PKP)</label> | ||
<input id=" | <input id="credits-price" value="0"> | ||
</ | <label>Amount</label> | ||
<input id="credits-amount" value="0"> | |||
`; | |||
document | |||
.querySelectorAll(".debt-item input") | |||
.forEach(function(input){ | |||
input.addEventListener( | |||
"input", | |||
calculateDebt | |||
); | |||
}); | }); | ||
Revision as of 11:01, 18 July 2026
(function () {
function parseAmount(value) {
value = value
.toLowerCase()
.replace(/,/g,"")
.trim();
if (value.endsWith("b")) {
return Number(value.slice(0,-1)) * 1000000000;
}
if (value.endsWith("m")) {
return Number(value.slice(0,-1)) * 1000000;
}
if (value.endsWith("k")) {
return Number(value.slice(0,-1)) * 1000;
}
return Number(value) || 0;
}
function calculateDebt() {
let pkp =
parseAmount(
document.getElementById("pkp-amount").value
);
let dp =
parseAmount(
document.getElementById("dp-price").value
)
*
parseAmount(
document.getElementById("dp-amount").value
);
let credits =
parseAmount(
document.getElementById("credits-price").value
)
*
parseAmount(
document.getElementById("credits-amount").value
);
let total = pkp + dp + credits;
document.getElementById("total").innerHTML =
Math.floor(total).toLocaleString() + " PKP";
}
function createCalculator(){
let pkp = document.getElementById("pkp-inputs");
let dp = document.getElementById("dp-inputs");
let credits = document.getElementById("credits-inputs");
if(!pkp || !dp || !credits) {
return;
}
pkp.innerHTML = `
<label>Amount</label>
<input id="pkp-amount" value="0">
`;
dp.innerHTML = `
<label>Trade Price (PKP)</label>
<input id="dp-price" value="0">
<label>Amount</label>
<input id="dp-amount" value="0">
`;
credits.innerHTML = `
<label>Trade Price (PKP)</label>
<input id="credits-price" value="0">
<label>Amount</label>
<input id="credits-amount" value="0">
`;
document
.querySelectorAll(".debt-item input")
.forEach(function(input){
input.addEventListener(
"input",
calculateDebt
);
});
}
mw.hook("wikipage.content").add(function(){
createCalculator();
});
})();