Files
HowBadIsMyBatch/docs/UrlUtils.js
Frank Knoll a8ec099c00 refactoring
2024-07-14 02:11:41 +02:00

39 lines
1.2 KiB
JavaScript

class UrlUtils {
static isSearchParamYES(urlParams, searchParam) {
return UrlUtils.#getSearchParam(urlParams, searchParam, 'NO').toUpperCase() == 'YES';
}
static getSearchParamOfCurrentUrl(searchParam) {
return UrlUtils.#getSearchParam(
new URLSearchParams(window.location.search),
searchParam,
null)
}
static setSearchParamOfCurrentUrl(nameOfSearchParam, valueOfSearchParam) {
UrlUtils.#setSearchParam(
new URL(window.location.href),
nameOfSearchParam,
valueOfSearchParam);
}
static downloadUrlAsFilename(url, filename) {
const a = document.createElement('a');
a.setAttribute('href', url);
a.setAttribute('download', filename);
a.click();
}
static #getSearchParam(urlParams, searchParam, defaultValue) {
return urlParams.has(searchParam) ?
urlParams.get(searchParam) :
defaultValue;
}
static #setSearchParam(url, nameOfSearchParam, valueOfSearchParam) {
url.searchParams.set(nameOfSearchParam, valueOfSearchParam);
window.history.replaceState(null, "", url);
}
}