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