57 lines
1.9 KiB
JavaScript
57 lines
1.9 KiB
JavaScript
// NibblePoker - HTML Input Utils
|
|
// Author: Herwin Bozet (@NibblePoker)
|
|
// License: Public Domain (This code)
|
|
|
|
function postProcessNumber(desiredCount, min = null, max = null) {
|
|
if (desiredCount === null) {
|
|
desiredCount = 1;
|
|
}
|
|
|
|
if (typeof min === 'number') {
|
|
if (desiredCount < min) {
|
|
desiredCount = min;
|
|
}
|
|
}
|
|
if (typeof max === 'number') {
|
|
if (desiredCount > max) {
|
|
desiredCount = max;
|
|
}
|
|
}
|
|
|
|
return desiredCount;
|
|
}
|
|
|
|
/**
|
|
* Retrieves the integer number from an `HTMLInputElement`
|
|
* @param eInput {HTMLInputElement|HTMLSelectElement} The `HTMLInputElement` from which the value will be retrieved.
|
|
* @param min {number|null} If given, sets a minimum the value can have when returned.
|
|
* @param max {number|null} If given, sets a maximum the value can have when returned.
|
|
* @returns {number|NaN} The value from the given `HTMLInputElement`, or `1` if no valid one was given.
|
|
*/
|
|
export function getInputCount(eInput, min = null, max = null) {
|
|
let desiredCount = null;
|
|
try {
|
|
desiredCount = parseInt(eInput.value);
|
|
} catch (e) {
|
|
console.error(e);
|
|
}
|
|
return postProcessNumber(desiredCount, min, max);
|
|
}
|
|
|
|
/**
|
|
* Retrieves the float number from an `HTMLInputElement`
|
|
* @param eInput {HTMLInputElement|HTMLSelectElement} The `HTMLInputElement` from which the value will be retrieved.
|
|
* @param min {number|null} If given, sets a minimum the value can have when returned.
|
|
* @param max {number|null} If given, sets a maximum the value can have when returned.
|
|
* @returns {number|NaN} The value from the given `HTMLInputElement`, or `1` if no valid one was given.
|
|
*/
|
|
export function getInputNumber(eInput, min = null, max = null) {
|
|
let desiredCount = null;
|
|
try {
|
|
desiredCount = parseFloat(eInput.value);
|
|
} catch (e) {
|
|
console.error(e);
|
|
}
|
|
return postProcessNumber(desiredCount, min, max);
|
|
}
|