From 5147908d41161c79c5c92e4e080d4f321656f2dd Mon Sep 17 00:00:00 2001 From: Leonardo Christino <leomilho@gmail.com> Date: Tue, 23 Jan 2024 17:13:33 +0100 Subject: [PATCH] fix(url): sync saveID as a URL query param --- libs/shared/lib/data-access/api/url.ts | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 libs/shared/lib/data-access/api/url.ts diff --git a/libs/shared/lib/data-access/api/url.ts b/libs/shared/lib/data-access/api/url.ts new file mode 100644 index 000000000..0f841a7b9 --- /dev/null +++ b/libs/shared/lib/data-access/api/url.ts @@ -0,0 +1,24 @@ +export enum URLParams { + saveState = 'saveState', +} + +export function getParam(param: URLParams) { + const query = new URLSearchParams(window.location.search); + return query.get(param); +} + +export function setParam(param: URLParams, value: string | undefined) { + const query = new URLSearchParams(window.location.search); + if (!value) { + deleteParam(param); + } else { + query.set(param, value); + history.pushState(null, '', '?' + query.toString()); + } +} + +export function deleteParam(param: URLParams) { + const query = new URLSearchParams(window.location.search); + query.delete(param); + history.pushState(null, '', '?' + query.toString()); +} -- GitLab