Gracefully handle lookup errors in resolveDjangoUrl

This commit is contained in:
Daniel Albers
2024-07-03 13:45:33 +02:00
parent 17d34c5ca7
commit 818ca0b2e4

View File

@@ -242,17 +242,22 @@ export const ResolveUrlMixin = {
} }
export function resolveDjangoUrl(url, params = null) { export function resolveDjangoUrl(url, params = null) {
let fun = window.Urls[url];
if (typeof fun !== 'function') {
console.error(`window.Urls[${url}] is not a function: ${fun}`);
return
}
if (params == null) { if (params == null) {
return window.Urls[url]() return fun()
} else if (typeof params != "object") { } else if (typeof params != "object") {
return window.Urls[url](params) return fun(params)
} else if (typeof params == "object") { } else if (typeof params == "object") {
if (params.length === 1) { if (params.length === 1) {
return window.Urls[url](params) return fun(params)
} else if (params.length === 2) { } else if (params.length === 2) {
return window.Urls[url](params[0], params[1]) return fun(params[0], params[1])
} else if (params.length === 3) { } else if (params.length === 3) {
return window.Urls[url](params[0], params[1], params[2]) return fun(params[0], params[1], params[2])
} }
} }
} }
@@ -774,4 +779,4 @@ export const formFunctions = {
} }
return form return form
}, },
} }