parent
e6e3a172a5
commit
e577289490
44
index.html
44
index.html
|
@ -43,8 +43,6 @@
|
|||
|
||||
<label for="denominator">Denominator</label>
|
||||
<input type="number" id="denominator" min="-2147483647" max="2147483647" />
|
||||
|
||||
<button type="button" id="submit">Simplify</button>
|
||||
</fieldset>
|
||||
</form>
|
||||
</section>
|
||||
|
@ -64,7 +62,7 @@
|
|||
<a href="https://git.fwdekker.com/FWDekker/simplify-fractions/src/branch/master/LICENSE">MIT License</a>.
|
||||
Source code available on <a href="https://git.fwdekker.com/FWDekker/simplify-fractions/">git</a>.
|
||||
|
||||
<div style="float: right;">v1.0.12</div>
|
||||
<div style="float: right;">v1.1.0</div>
|
||||
</section>
|
||||
</footer>
|
||||
</main>
|
||||
|
@ -172,7 +170,6 @@
|
|||
doAfterLoad(() => {
|
||||
const numeratorInput = $("#numerator");
|
||||
const denominatorInput = $("#denominator");
|
||||
const submitButton = $("#submit");
|
||||
const outputField = $("#out");
|
||||
|
||||
|
||||
|
@ -180,17 +177,16 @@
|
|||
* Returns `undefined` if the inputs are valid, or a tuple consisting of the invalid element and an explanation
|
||||
* of its invalidity otherwise.
|
||||
*
|
||||
* @param numerator {string} the numerator value
|
||||
* @param denominator {string} the denominator value
|
||||
* @returns {(HTMLElement|string)[]|undefined} `undefined` if the inputs are valid, or a tuple consisting of the
|
||||
* invalid element and an explanation of its invalidity otherwise
|
||||
*/
|
||||
const validateInputs = () => {
|
||||
let numerator = numeratorInput.value;
|
||||
let denominator = denominatorInput.value;
|
||||
|
||||
const validateInputs = (numerator, denominator) => {
|
||||
if (numerator === "")
|
||||
return [numeratorInput, "Numerator must not be empty."];
|
||||
return [numeratorInput, ""];
|
||||
if (denominator === "")
|
||||
return [denominatorInput, "Denominator must not be empty."];
|
||||
return [denominatorInput, ""];
|
||||
if (!isInt(numerator))
|
||||
return [numeratorInput, "Numerator must be an integer."];
|
||||
if (!isInt(denominator))
|
||||
|
@ -203,13 +199,13 @@
|
|||
|
||||
/**
|
||||
* Reads the inputs and tries to output the simplified fraction.
|
||||
*
|
||||
* Errors are handled and displayed where appropriate.
|
||||
*/
|
||||
const outputSimplifiedFraction = () => {
|
||||
const validationInfo = validateInputs();
|
||||
let numerator = numeratorInput.value;
|
||||
let denominator = denominatorInput.value;
|
||||
|
||||
const validationInfo = validateInputs(numerator, denominator);
|
||||
if (validationInfo !== undefined) {
|
||||
validationInfo[0].select();
|
||||
outputField.innerText = validationInfo[1];
|
||||
return;
|
||||
}
|
||||
|
@ -221,25 +217,9 @@
|
|||
};
|
||||
|
||||
|
||||
submitButton.onclick = () => outputSimplifiedFraction();
|
||||
numeratorInput.addEventListener("input", () => outputSimplifiedFraction());
|
||||
|
||||
numeratorInput.addEventListener("keydown", event => {
|
||||
if (event.key === "Enter") {
|
||||
if (denominatorInput.value === "") {
|
||||
denominatorInput.select();
|
||||
} else {
|
||||
outputSimplifiedFraction();
|
||||
numeratorInput.select();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
denominatorInput.addEventListener("keydown", event => {
|
||||
if (event.key === "Enter") {
|
||||
outputSimplifiedFraction();
|
||||
denominatorInput.select();
|
||||
}
|
||||
});
|
||||
denominatorInput.addEventListener("input", () => outputSimplifiedFraction());
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
|
|
Loading…
Reference in New Issue