X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/eadb2e4a0005b89cb2ca1977bb6f53652e911249..3556e5483957f8479c5747e36c626e91a655cc21:/src/common/url.ts diff --git a/src/common/url.ts b/src/common/url.ts index 6223485e..6d66778a 100644 --- a/src/common/url.ts +++ b/src/common/url.ts @@ -3,7 +3,7 @@ // SPDX-License-Identifier: AGPL-3.0 export function getUrlParameter(search: string, name: string) { - const safeName = name.replace(/[\[]/, '\\[').replace(/[\]]/, '\\]'); + const safeName = name.replace(/[[]/, '\\[').replace(/[\]]/, '\\]'); const regex = new RegExp('[\\?&]' + safeName + '=([^&#]*)'); const results = regex.exec(search); return results === null ? '' : decodeURIComponent(results[1].replace(/\+/g, ' ')); @@ -18,9 +18,18 @@ export function normalizeURLPath(url: string) { return u.toString(); } -export const escapeHashIfRequired = (name: string, defaultTransformation?: Function) => - name.indexOf('#') > -1 ? - encodeURIComponent(name) : - defaultTransformation ? - defaultTransformation(name) : - name; \ No newline at end of file +export const customEncodeURI = (path: string) => { + try { + return path.split('/').map(encodeURIComponent).join('/'); + } catch(e) {} + + return path; +}; + +export const customDecodeURI = (path: string) => { + try { + return path.split('%2F').map(decodeURIComponent).join('%2F'); + } catch(e) {} + + return path; +};