From ee6dea3257a408af62c4d914f3417c2ef968cfc9 Mon Sep 17 00:00:00 2001 From: jeevanSF3855 <116075351+jeevanSF3855@users.noreply.github.com> Date: Tue, 23 Dec 2025 16:50:17 +0530 Subject: [PATCH 1/9] bug(REPORT-480045): resolved the localization issue --- src/common/index.js | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/common/index.js b/src/common/index.js index d82f4f0..64bdbae 100644 --- a/src/common/index.js +++ b/src/common/index.js @@ -79,9 +79,29 @@ export async function updataSample(sampleData, isReportViewer) { let html = await fetchFile(`src/controls/${dirName}/${sampleData.routerPath}/index.html`); let js = await fetchFile(`src/controls/${dirName}/${sampleData.routerPath}/index.js`); demo.innerHTML = html; + await loadScriptsFromHTML(demo); eval(js); } +async function loadScriptsFromHTML(container) { + debugger + let scriptTags = container.querySelectorAll('script'); + if (scriptTags && scriptTags.length > 0) { + for (let index = 0; index < scriptTags.length; index++) { + let existingScript = document.head.querySelector(`script[src="${scriptTags[index].src}"]`); + if (!existingScript) { + let newScript = document.createElement('script'); + newScript.src = scriptTags[index].src; + await new Promise((resolve, reject) => { + newScript.onload = resolve; + newScript.onerror = reject; + document.head.appendChild(newScript); + }); + } + } + } +} + function onResize() { setReportsHeight(); updateOverlay(); From 6c67571e2e2352ad5576fd4805a7fe36521bd022 Mon Sep 17 00:00:00 2001 From: jeevanSF3855 <116075351+jeevanSF3855@users.noreply.github.com> Date: Tue, 23 Dec 2025 19:50:33 +0530 Subject: [PATCH 2/9] bug(REPORT-480045): resolved the localization issue --- src/common/index.js | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/src/common/index.js b/src/common/index.js index 64bdbae..344a4b3 100644 --- a/src/common/index.js +++ b/src/common/index.js @@ -30,6 +30,7 @@ import { let header,sidebar; let reportViewer = 'report-viewer'; let reportDesigner = 'report-designer'; +let lastUpdatedScripts = []; document.addEventListener('DOMContentLoaded', onDOMContentLoaded, false); @@ -78,13 +79,20 @@ export async function updataSample(sampleData, isReportViewer) { let demo = document.getElementsByTagName("ej-sample")[0]; let html = await fetchFile(`src/controls/${dirName}/${sampleData.routerPath}/index.html`); let js = await fetchFile(`src/controls/${dirName}/${sampleData.routerPath}/index.js`); - demo.innerHTML = html; - await loadScriptsFromHTML(demo); + let tags = new DOMParser().parseFromString(html, 'text/html'); + let container = tags.querySelector('div'); + demo.innerHTML = container ? container.outerHTML : ''; + await loadScriptsFromHTML(tags); eval(js); } async function loadScriptsFromHTML(container) { - debugger + if (lastUpdatedScripts && lastUpdatedScripts.length > 0) { + removeScriptsFromHTML(lastUpdatedScripts); + lastUpdatedScripts = []; + } + + if (!container) return; let scriptTags = container.querySelectorAll('script'); if (scriptTags && scriptTags.length > 0) { for (let index = 0; index < scriptTags.length; index++) { @@ -96,12 +104,24 @@ async function loadScriptsFromHTML(container) { newScript.onload = resolve; newScript.onerror = reject; document.head.appendChild(newScript); + lastUpdatedScripts.push(newScript.src); }); } } } } +function removeScriptsFromHTML(scriptList) { + if (scriptList && scriptList.length > 0) { + for (let index = 0; index < scriptList.length; index++) { + let targetTag = scriptList[index]; + if (targetTag && targetTag.parentNode) { + targetTag.parentNode.removeChild(targetTag); + } + } + } +} + function onResize() { setReportsHeight(); updateOverlay(); From 4d2ecbbb27877de2f6ae8368859ce4361b61d6f7 Mon Sep 17 00:00:00 2001 From: jeevanSF3855 <116075351+jeevanSF3855@users.noreply.github.com> Date: Tue, 23 Dec 2025 20:05:00 +0530 Subject: [PATCH 3/9] bug(REPORT-480045): resolved the localization issue --- src/common/index.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/common/index.js b/src/common/index.js index 344a4b3..3c7fba0 100644 --- a/src/common/index.js +++ b/src/common/index.js @@ -114,9 +114,10 @@ async function loadScriptsFromHTML(container) { function removeScriptsFromHTML(scriptList) { if (scriptList && scriptList.length > 0) { for (let index = 0; index < scriptList.length; index++) { - let targetTag = scriptList[index]; - if (targetTag && targetTag.parentNode) { - targetTag.parentNode.removeChild(targetTag); + let selector = `head script[src="${CSS.escape(scriptList[index])}"]`; + let targetTag = document.querySelector(selector); + if (targetTag && targetTag.parentNode === document.head) { + targetTag.remove(); } } } From 840d196e8fc004ea81969aba34ceefa3a00f31f4 Mon Sep 17 00:00:00 2001 From: jeevanSF3855 <116075351+jeevanSF3855@users.noreply.github.com> Date: Wed, 7 Jan 2026 18:51:01 +0530 Subject: [PATCH 4/9] bug(REPORT-480045): modified the dynamic page updation and moved the server integration fix --- src/common/index.js | 75 ++++++++----------- .../server-integration/index.js | 11 +-- 2 files changed, 38 insertions(+), 48 deletions(-) diff --git a/src/common/index.js b/src/common/index.js index 3c7fba0..e6ca6fe 100644 --- a/src/common/index.js +++ b/src/common/index.js @@ -30,7 +30,7 @@ import { let header,sidebar; let reportViewer = 'report-viewer'; let reportDesigner = 'report-designer'; -let lastUpdatedScripts = []; +let loadedScriptSrcs = new Set(); document.addEventListener('DOMContentLoaded', onDOMContentLoaded, false); @@ -74,53 +74,42 @@ export function updateData(sampleData, isReportViewer) { updateMetaData(sampleData); setReportsHeight(); } + export async function updataSample(sampleData, isReportViewer) { let dirName = isReportViewer ? reportViewer : reportDesigner; let demo = document.getElementsByTagName("ej-sample")[0]; - let html = await fetchFile(`src/controls/${dirName}/${sampleData.routerPath}/index.html`); - let js = await fetchFile(`src/controls/${dirName}/${sampleData.routerPath}/index.js`); - let tags = new DOMParser().parseFromString(html, 'text/html'); - let container = tags.querySelector('div'); - demo.innerHTML = container ? container.outerHTML : ''; - await loadScriptsFromHTML(tags); - eval(js); -} - -async function loadScriptsFromHTML(container) { - if (lastUpdatedScripts && lastUpdatedScripts.length > 0) { - removeScriptsFromHTML(lastUpdatedScripts); - lastUpdatedScripts = []; - } - - if (!container) return; - let scriptTags = container.querySelectorAll('script'); - if (scriptTags && scriptTags.length > 0) { - for (let index = 0; index < scriptTags.length; index++) { - let existingScript = document.head.querySelector(`script[src="${scriptTags[index].src}"]`); - if (!existingScript) { - let newScript = document.createElement('script'); - newScript.src = scriptTags[index].src; - await new Promise((resolve, reject) => { - newScript.onload = resolve; - newScript.onerror = reject; - document.head.appendChild(newScript); - lastUpdatedScripts.push(newScript.src); - }); - } - } - } -} - -function removeScriptsFromHTML(scriptList) { - if (scriptList && scriptList.length > 0) { - for (let index = 0; index < scriptList.length; index++) { - let selector = `head script[src="${CSS.escape(scriptList[index])}"]`; - let targetTag = document.querySelector(selector); - if (targetTag && targetTag.parentNode === document.head) { - targetTag.remove(); - } + let [html, js] = await Promise.all([ + fetchFile(`src/controls/${dirName}/${sampleData.routerPath}/index.html`), + fetchFile(`src/controls/${dirName}/${sampleData.routerPath}/index.js`) + ]); + demo.replaceChildren(); + let doc = document.implementation.createHTMLDocument(''); + let wrapper = doc.createElement('div'); + wrapper.innerHTML = html; + let nodes = Array.from(wrapper.childNodes); + nodes.forEach(node => { + if (node.nodeType === Node.ELEMENT_NODE && node.tagName === 'SCRIPT') return; + demo.appendChild(document.importNode(node, true)); + }); + let scripts = wrapper.querySelectorAll('script'); + for (let oldScript of scripts) { + let newScript = document.createElement('script'); + for (let attr of oldScript.attributes) newScript.setAttribute(attr.name, attr.value); + + if (oldScript.src && !loadedScriptSrcs.has(oldScript.src)) { + loadedScriptSrcs.add(oldScript.src); + await new Promise((resolve, reject) => { + newScript.addEventListener('load', resolve, { once: true }); + newScript.addEventListener('error', reject, { once: true }); + demo.appendChild(newScript); + }); + } else { + if (!newScript.hasAttribute('type')) newScript.type = 'text/javascript'; + newScript.text = oldScript.textContent || ''; + demo.appendChild(newScript); } } + eval(js); } function onResize() { diff --git a/src/controls/report-designer/server-integration/index.js b/src/controls/report-designer/server-integration/index.js index 6092fe4..8c3fbd7 100644 --- a/src/controls/report-designer/server-integration/index.js +++ b/src/controls/report-designer/server-integration/index.js @@ -17,13 +17,13 @@ $(function () { $(window).bind('beforeunload', $.proxy(windowUnload, this)); var dataValue = ""; var apiRequest = new Object({ - password: "demo", - userid: "guest@boldreports.com" + password: "HdEW_Y9EC[$bCtg", + userid: "demo@boldreports.com" }); $.ajax({ type: "POST", - url: "https://on-premise-demo.boldreports.com/reporting/api/site/site1/get-user-key", + url: "https://adhoc.boldreports.com/reporting/api/site/site1/get-user-key", data: apiRequest, success: function (data) { dataValue = data.Token; @@ -31,7 +31,8 @@ $(function () { $("#designer").boldReportDesigner( { - serviceUrl: "https://on-premise-demo.boldreports.com/reporting/reportservice/api/Designer", + serviceUrl: "https://adhoc.boldreports.com/reporting/reportservice/api/Designer", + reportServerUrl: "https://adhoc.boldreports.com/reporting/api/site/site1", serviceAuthorizationToken: token.token_type + " " + token.access_token, ajaxBeforeLoad: "onAjaxRequest" }); @@ -41,6 +42,6 @@ $(function () { function onAjaxRequest(args) { args.headers.push({ - Key: 'serverurl', Value: 'https://on-premise-demo.boldreports.com/reporting/api/site/site1' + Key: 'serverurl', Value: 'https://adhoc.boldreports.com/reporting/api/site/site1' }); } \ No newline at end of file From 6989aec9bd22926e1bf828c832297a8c5462e3c0 Mon Sep 17 00:00:00 2001 From: jeevanSF3855 <116075351+jeevanSF3855@users.noreply.github.com> Date: Fri, 9 Jan 2026 13:26:09 +0530 Subject: [PATCH 5/9] bug(REPORT-480045): removed the password --- src/controls/report-designer/server-integration/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/controls/report-designer/server-integration/index.js b/src/controls/report-designer/server-integration/index.js index 8c3fbd7..d6c7b03 100644 --- a/src/controls/report-designer/server-integration/index.js +++ b/src/controls/report-designer/server-integration/index.js @@ -17,7 +17,7 @@ $(function () { $(window).bind('beforeunload', $.proxy(windowUnload, this)); var dataValue = ""; var apiRequest = new Object({ - password: "HdEW_Y9EC[$bCtg", + password: "", userid: "demo@boldreports.com" }); From e3b7d5f00cf30ba7df646e7ee1e5ccac39bbecc5 Mon Sep 17 00:00:00 2001 From: jeevanSF3855 <116075351+jeevanSF3855@users.noreply.github.com> Date: Fri, 9 Jan 2026 17:28:49 +0530 Subject: [PATCH 6/9] bug(REPORT-480045): added the toast message --- .../server-integration/index.js | 33 ++++++++++++++----- 1 file changed, 25 insertions(+), 8 deletions(-) diff --git a/src/controls/report-designer/server-integration/index.js b/src/controls/report-designer/server-integration/index.js index d6c7b03..62c118f 100644 --- a/src/controls/report-designer/server-integration/index.js +++ b/src/controls/report-designer/server-integration/index.js @@ -13,17 +13,15 @@ function windowUnload(args) { } $(function () { + renderMessage(); $(document.body).bind('submit', $.proxy(formSubmit, this)); $(window).bind('beforeunload', $.proxy(windowUnload, this)); var dataValue = ""; - var apiRequest = new Object({ - password: "", - userid: "demo@boldreports.com" - }); + var apiRequest = new Object({ password: "", userid: "" }); $.ajax({ type: "POST", - url: "https://adhoc.boldreports.com/reporting/api/site/site1/get-user-key", + url: "https://{your-report-server-domain}/reporting/api/site/site1/get-user-key", data: apiRequest, success: function (data) { dataValue = data.Token; @@ -31,8 +29,8 @@ $(function () { $("#designer").boldReportDesigner( { - serviceUrl: "https://adhoc.boldreports.com/reporting/reportservice/api/Designer", - reportServerUrl: "https://adhoc.boldreports.com/reporting/api/site/site1", + serviceUrl: "https://{your-report-server-domain}/reporting/reportservice/api/Designer", + reportServerUrl: "https://{your-report-server-domain}/reporting/api/site/site1", serviceAuthorizationToken: token.token_type + " " + token.access_token, ajaxBeforeLoad: "onAjaxRequest" }); @@ -40,8 +38,27 @@ $(function () { }); }); +function renderMessage() { + let demo = document.getElementsByTagName("ej-sample")[0]; + let toastObj = new ejs.notifications.Toast({ + cssClass: 'e-toast-info', + timeOut: 10000, + width: '320px', + target: document.body, + position: { X: 'Right', Y: 'Top' }, + content: 'To run this sample, configure your on-premises server URL and service URL, and provide valid user credentials.', + animation: { + hide: { effect: 'SlideRightOut' }, + show: { effect: 'SlideRightIn' } + } + + }); + toastObj.appendTo(demo); + toastObj.show(); +} + function onAjaxRequest(args) { args.headers.push({ - Key: 'serverurl', Value: 'https://adhoc.boldreports.com/reporting/api/site/site1' + Key: 'serverurl', Value: 'https://{your-report-server-domain}/reporting/api/site/site1' }); } \ No newline at end of file From fedcdc4b1c14f07509a3258c6c326585e5a3ca01 Mon Sep 17 00:00:00 2001 From: jeevanSF3855 <116075351+jeevanSF3855@users.noreply.github.com> Date: Fri, 9 Jan 2026 17:32:00 +0530 Subject: [PATCH 7/9] bug(REPORT-480045): removed the spaces --- src/controls/report-designer/server-integration/index.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/controls/report-designer/server-integration/index.js b/src/controls/report-designer/server-integration/index.js index 62c118f..266778f 100644 --- a/src/controls/report-designer/server-integration/index.js +++ b/src/controls/report-designer/server-integration/index.js @@ -51,7 +51,6 @@ function renderMessage() { hide: { effect: 'SlideRightOut' }, show: { effect: 'SlideRightIn' } } - }); toastObj.appendTo(demo); toastObj.show(); From 457cf0c706aa5883609cf748fd6f5655267fdd5a Mon Sep 17 00:00:00 2001 From: jeevanSF3855 <116075351+jeevanSF3855@users.noreply.github.com> Date: Mon, 12 Jan 2026 12:32:00 +0530 Subject: [PATCH 8/9] bug(REPORT-480045): added the error message --- .../server-integration/index.js | 25 ++++++++----------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/src/controls/report-designer/server-integration/index.js b/src/controls/report-designer/server-integration/index.js index 266778f..238e366 100644 --- a/src/controls/report-designer/server-integration/index.js +++ b/src/controls/report-designer/server-integration/index.js @@ -40,20 +40,17 @@ $(function () { function renderMessage() { let demo = document.getElementsByTagName("ej-sample")[0]; - let toastObj = new ejs.notifications.Toast({ - cssClass: 'e-toast-info', - timeOut: 10000, - width: '320px', - target: document.body, - position: { X: 'Right', Y: 'Top' }, - content: 'To run this sample, configure your on-premises server URL and service URL, and provide valid user credentials.', - animation: { - hide: { effect: 'SlideRightOut' }, - show: { effect: 'SlideRightIn' } - } - }); - toastObj.appendTo(demo); - toastObj.show(); + let container = document.createElement('div'); + container.style.display = 'flex'; + container.style.alignItems = 'center'; + container.style.justifyContent = 'center'; + container.style.height = '100%'; + + let textNode = document.createElement('span'); + textNode.textContent = 'To run this sample, configure your on-premises server URL and valid user credentials.'; + textNode.style.zIndex = '9999'; + container.append(textNode); + demo.append(container); } function onAjaxRequest(args) { From a8050d0b75102a85cb634d9d6708b0ac25ab9123 Mon Sep 17 00:00:00 2001 From: jeevanSF3855 <116075351+jeevanSF3855@users.noreply.github.com> Date: Mon, 12 Jan 2026 12:52:42 +0530 Subject: [PATCH 9/9] bug(REPORT-480045): removed the z index --- src/controls/report-designer/server-integration/index.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/controls/report-designer/server-integration/index.js b/src/controls/report-designer/server-integration/index.js index 238e366..12709ab 100644 --- a/src/controls/report-designer/server-integration/index.js +++ b/src/controls/report-designer/server-integration/index.js @@ -41,14 +41,13 @@ $(function () { function renderMessage() { let demo = document.getElementsByTagName("ej-sample")[0]; let container = document.createElement('div'); + container.style.height = '100%'; container.style.display = 'flex'; container.style.alignItems = 'center'; container.style.justifyContent = 'center'; - container.style.height = '100%'; let textNode = document.createElement('span'); textNode.textContent = 'To run this sample, configure your on-premises server URL and valid user credentials.'; - textNode.style.zIndex = '9999'; container.append(textNode); demo.append(container); }