The problem is related to the call made to obtain the scripts to execute after having reloaded the page: dojo.query(“script”, node).
If the browser supports the function document.querySelectorAll (like FF 3.2 but not FF 3), it is called by dojo.query and returns an object of type StaticNodeList, which does not implement the function push.
Hence, it is necessary to convert the StaticNodeList into one of type dojo.NodeList, the one expected by the xsp client script.
This can be achieved using the call dojo._filterQueryResult, which takes as parameters a list and an optional filter function,returning a dojo.NodeList. If the filter function is not passed, the function returns all the elements of the StaticNodeList as a NodeList.
In terms of code, to apply the fix one must:
Edit the file xspClientDojo.js located in the directory data/domino/js/dojo-1.1.1/ibm/xsp/widget/layout, under the Domino installation folder.
Search the statement
var _10f=dojo.query(“script”, node);
Insert the following statement after the semicolon:
if (!_10f.push)_10f=dojo._filterQueryResult(_10f);
Save and close the file, empty the browser cache and eventually restart the server.
Does anyone know if and when this will be fixed or if there is a fix out there. Being able to do partial refreshes was a major plus in xpages and not being able to do this is a showstopper.
The problem is related to the call made to obtain the scripts to execute after having reloaded the page: dojo.query(“script”, node).
If the browser supports the function document.querySelectorAll (like FF 3.2 but not FF 3), it is called by dojo.query and returns an object of type StaticNodeList, which does not implement the function push.
Hence, it is necessary to convert the StaticNodeList into one of type dojo.NodeList, the one expected by the xsp client script.
This can be achieved using the call dojo._filterQueryResult, which takes as parameters a list and an optional filter function,returning a dojo.NodeList. If the filter function is not passed, the function returns all the elements of the StaticNodeList as a NodeList.
In terms of code, to apply the fix one must:
Edit the file xspClientDojo.js located in the directory data/domino/js/dojo-1.1.1/ibm/xsp/widget/layout, under the Domino installation folder.
Search the statement
var _10f=dojo.query(“script”, node);
Insert the following statement after the semicolon:
if (!_10f.push)_10f=dojo._filterQueryResult(_10f);
Save and close the file, empty the browser cache and eventually restart the server.