Files
HowBadIsMyBatch/docs/UIUtils.js
Frank Knoll 1aba82ce24 refactoring
2024-07-14 01:27:22 +02:00

54 lines
1.4 KiB
JavaScript

class UIUtils {
static show(element) {
element.style.display = "block";
}
static hide(element) {
element.style.display = "none";
}
static disableButton(button) {
button.disabled = true;
}
static enableButton(button) {
button.disabled = false;
}
static instantiateTemplate(templateId) {
return document.getElementById(templateId).content.firstElementChild.cloneNode(true);
}
static clear(container) {
container.replaceChildren();
}
static getSelectedOption(selectElement) {
return selectElement.options[selectElement.selectedIndex];
}
static getSearchParam(urlParams, searchParam, defaultValue) {
return urlParams.has(searchParam) ?
urlParams.get(searchParam) :
defaultValue;
}
static isSearchParamYES(urlParams, searchParam) {
return UIUtils.getSearchParam(urlParams, searchParam, 'NO').toUpperCase() == 'YES';
}
static setSearchParamOfCurrentUrl(nameOfSearchParam, valueOfSearchParam) {
const url = new URL(window.location.href);
url.searchParams.set(nameOfSearchParam, valueOfSearchParam);
window.history.replaceState(null, "", url);
}
static downloadUrlAsFilename(url, filename) {
const a = document.createElement('a');
a.setAttribute('href', url);
a.setAttribute('download', filename);
a.click();
}
}