Focal Point Banner
Community Center Education Summit Technical Support User Groups
Let's Get Social!

Facebook Twitter LinkedIn YouTube
Focal Point    Focal Point Forums  Hop To Forum Categories  WebFOCUS/FOCUS Forum on Focal Point     [CLOSED] Trigger a control reload when using RIA theme
Go
New
Search
Notify
Tools
Reply
  
[CLOSED] Trigger a control reload when using RIA theme
 Login/Join
 
Guru
posted
Hi Team,

I have text box that is dynamically loaded from a stored procedure. The stored procedure was created as a master file, so I was able to load the text box dynamically using the HTML composer GUI. The stored procedure returns a number that increments each time it is run. Next, I have a button where I've defined an onclick event that does this:

UpdateData();

This reloads the page, and that is enough to increment the counter in my text box. I end up with a button next to a text box, and every time the button is pressed, the text box increments. Now that I've built this POC, I want to integrate it into a production launch page.

My launch page has a RIA theme applied, which I understand invokes the Bindows framework. I really love the look of the Ocean Rounded theme, and have used it on all my launch pages to date. What I didn't anticipate is that I've inadvertently lost the ability to use the UpdateData() function, and I have traced it back to turning on a RIA theme. Hmm. My theory is that Bindows has replaced the javascript library files that contain UpdateData().

I grabbed the Bindows manual, and poked through it, and learned enough to know that I have a lot to learn.

In the meantime, while I continue to research, perhaps someone already has an answer for me. I'm looking for some javascript code that will reload / refresh a specific control. It will have to be RIA theme compatible, which I'm pretty sure means it needs to use a function within Bindows.

Cheers,

Joey

This message has been edited. Last edited by: Kerry,


-WebFOCUS 8.2.01 on Windows
 
Posts: 319 | Location: Los Angeles, CA | Registered: November 15, 2005Reply With QuoteReport This Post
Expert
posted Hide Post
How was your UpdateData function being called ?


Waz...

Prod:WebFOCUS 7.6.10/8.1.04Upgrade:WebFOCUS 8.2.07OS:LinuxOutputs:HTML, PDF, Excel, PPT
In Focus since 1984
Pity the lost knowledge of an old programmer!

 
Posts: 6325 | Location: 33°49'23.0"S, 151°11'41.0"E | Registered: October 31, 2006Reply With QuoteReport This Post
Guru
posted Hide Post
Hi Waz,

I drag and dropped a button, clicked the events tab, drilled into onclick, and typed UpdateDate(); in the function that was created.

Thank you for your interest in my issue.

Cheers,

Joey
 
Posts: 319 | Location: Los Angeles, CA | Registered: November 15, 2005Reply With QuoteReport This Post
Expert
posted Hide Post
I'm intrieged as to why the onclick event had been changed or has your JS lib been removed ?

Is there a Js error ?


Waz...

Prod:WebFOCUS 7.6.10/8.1.04Upgrade:WebFOCUS 8.2.07OS:LinuxOutputs:HTML, PDF, Excel, PPT
In Focus since 1984
Pity the lost knowledge of an old programmer!

 
Posts: 6325 | Location: 33°49'23.0"S, 151°11'41.0"E | Registered: October 31, 2006Reply With QuoteReport This Post
Guru
posted Hide Post
Hi Waz,

There's no js error, it simply does not do anything when UpdateData(); is called post Bindows enablement.

I did a side by side code compare of before RIA and after. Here's the changes:

Before RIA:
function window_onload() {
 
UpdateData();
 
// TODO: Add your event handler code here
//add onInitialUpdate() function to make changes before initial run of the reports
}
//End function window_onload  


After RIA:
  
//Begin function window_onload
function window_onload() {
 
UpdateData();
 
removeStyleFromMainCSS();
application.addEventListener('resourcesready', onBindowsReady);
application.start('/ibi_apps/bindows/', '/ibi_html/javaassist/ibi/html/js/Inline.xml');
 
 
// TODO: Add your event handler code here
//add onInitialUpdate() function to make changes before initial run of the reports
}
//End function window_onload


So, the HTML composer invokes UpdateData(); before turning on the Bindows framework.

Next, there's some changes right before the BODY tag.

Before RIA:
  
 
<SCRIPT for=window type=text/javascript eventname="onload">window.onload = function() { window_onload(); }</SCRIPT>



After RIA:
 
<SCRIPT for=window type=text/javascript eventname="onload">window.onload = function() { window_onload(); }</SCRIPT>
 
<SCRIPT id=IBI_BIAPP_JS type=text/javascript src="/ibi_apps/bindows/js/application.js"></SCRIPT>
<LINK id=IBI_BIMAIN_CSS rel=stylesheet type=text/css href="/ibi_apps/bindows/css/bimain.css">
<SCRIPT id=IBI_BindowsReady type=text/javascript>
function onBindowsReady() {
firstTimeBindowsSettings();
document.body.setAttribute('id', 'bodyElement');
var ic = new IbInlineComponent('bodyElement');
application.getWindow().add( ic );
var dataIsland = document.getElementById('bindows_dataIsland');
if(!dataIsland) return;
var ctrls = null;
if(dataIsland.XMLDocument)
  ctrls = dataIsland.XMLDocument.documentElement.selectSingleNode('//Ctrls');
else
{
  var xmlDom = new DOMParser().parseFromString(dataIsland.innerHTML, 'text/xml');
  var nodes = xmlDom.evaluate('//Ctrls', xmlDom, null, 0, null);
  if(nodes)
    ctrls = nodes.iterateNext();
}
application._xmlResourceParser = new BiXmlResourceParser;
application._xmlResourceParser.setRootNode( ctrls );
application._xmlResourceParser.processChildNodes( ic, ctrls );
finishFirstTime();
};
</SCRIPT>
  


I see that the Bindows functions are very different than the old style js libraries.

The rest of the code seems to be the same, after a cursory glance.

I am sure, absolutely sure, that there's some bindows function that will selectively reload my text box, if only I knew what it was.

Cheers,

Joey

This message has been edited. Last edited by: Moogle,
 
Posts: 319 | Location: Los Angeles, CA | Registered: November 15, 2005Reply With QuoteReport This Post
Expert
posted Hide Post
I don't have experience with bindows.

But I would have thought that your call would still work, as it is first in the onload call.

Unless one of the bindows setups kill it off.

Perhaps there is a bindows forum that could give you pointers on how to integrate your js call.

This message has been edited. Last edited by: Waz,


Waz...

Prod:WebFOCUS 7.6.10/8.1.04Upgrade:WebFOCUS 8.2.07OS:LinuxOutputs:HTML, PDF, Excel, PPT
In Focus since 1984
Pity the lost knowledge of an old programmer!

 
Posts: 6325 | Location: 33°49'23.0"S, 151°11'41.0"E | Registered: October 31, 2006Reply With QuoteReport This Post
Member
posted Hide Post
Hi Moogle,
Calling UpdateData() is not a recommended practice as this is not exposed in our API and as a result, future changes by our Developers may cause your work on the non-RIA page to stop working.
Please open a case with CSS and we will look into providing a solution for your issue.

Best Regards,


Lisa Scipio
Product Manager
Information Builders, Inc.
 
Posts: 8 | Registered: October 01, 2012Reply With QuoteReport This Post
Guru
posted Hide Post
Thank you, Lisa. I'll open a case.

Cheers,

Joey
 
Posts: 319 | Location: Los Angeles, CA | Registered: November 15, 2005Reply With QuoteReport This Post
Platinum Member
posted Hide Post
You might try deleting the item entirely and recreating it. Sometimes i find that works best (and quicker) with the RIA themes

Geoffrey


809 DevStudio, MRE, Report Caster , Report Library
Output: Excel PDF, HTML
 
Posts: 171 | Registered: April 28, 2008Reply With QuoteReport This Post
  Powered by Social Strata  
 

Focal Point    Focal Point Forums  Hop To Forum Categories  WebFOCUS/FOCUS Forum on Focal Point     [CLOSED] Trigger a control reload when using RIA theme

Copyright © 1996-2018 Information Builders, leaders in enterprise business intelligence.