From cda442a3b91253a7dc222ae3402b04769e6edc93 Mon Sep 17 00:00:00 2001 From: pbochynski Date: Fri, 29 Nov 2024 18:31:50 +0100 Subject: [PATCH] In-app link --- examples/web-component-ext/script.js | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/examples/web-component-ext/script.js b/examples/web-component-ext/script.js index 2d96ca11db..463ab5025d 100644 --- a/examples/web-component-ext/script.js +++ b/examples/web-component-ext/script.js @@ -305,12 +305,27 @@ function proxyFetch(url, options = {}) { let proxyUrl = baseUrl + `?url=${url}`; return fetch(proxyUrl, options); } + +function createLink(text, href) { + const a = document.createElement('a'); + const handler = (e) => { + e.preventDefault(); + window.history.pushState({}, '', href); + window.dispatchEvent(new PopStateEvent('popstate')); + } + a.addEventListener('click', handler); + a.href = href; + a.innerHTML = text; + return a; +} + function instancesList(instances) { let list = document.createElement('ul'); for (let instance of instances) { - // li contains instance name and namespace and button to delete instance let li = document.createElement('li'); - li.innerHTML = `${instance.metadata.name} (${instance.metadata.namespace})`; + let link = createLink(`${instance.metadata.name} (${instance.metadata.namespace})`, + `namespaces/${instance.metadata.namespace}/serviceinstances/${instance.metadata.name}`); + li.appendChild(link); let deleteBtn = document.createElement('ui5-button'); deleteBtn.setAttribute('icon', 'delete'); deleteBtn.onclick = async () => {