Files
HowBadIsMyBatch/docs/UrlUtils.js
Frank Knoll c302dedd05 refactoring
2024-07-14 20:40:25 +02:00

39 lines
1.2 KiB
JavaScript

class UrlUtils {
static isSearchParamYES(urlParams, urlSearchParam) {
return UrlUtils.#getSearchParam(urlParams, urlSearchParam, 'NO').toUpperCase() == 'YES';
}
static getSearchParamOfCurrentUrl(urlSearchParam) {
return UrlUtils.#getSearchParam(
new URLSearchParams(window.location.search),
urlSearchParam,
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, urlSearchParam, defaultValue) {
return urlParams.has(urlSearchParam) ?
urlParams.get(urlSearchParam) :
defaultValue;
}
static #setSearchParam(url, nameOfSearchParam, valueOfSearchParam) {
url.searchParams.set(nameOfSearchParam, valueOfSearchParam);
window.history.replaceState(null, "", url);
}
}