source/help.js | 61 ++++++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 43 insertions(+), 18 deletions(-)
New commits: commit bfe8593e120f83c936dc91fd40ece2e98c04603c Author: Jan Holesovsky <[email protected]> Date: Thu Dec 22 21:25:00 2016 +0100 help.js: Chrome returns 0 when using the local files. Note: help.js works in Chrome only when you run it with --allow-file-access-from-files. diff --git a/source/help.js b/source/help.js index b97721e..eac85ba 100644 --- a/source/help.js +++ b/source/help.js @@ -81,7 +81,7 @@ function displayXML(xml, xsl, urlVars, moduleName, language, system) { loadXMLDoc(fileName, function() { var xmlDoc = this.responseXML; - if (this.status == 200 && xmlDoc != null) { + if (xmlDoc != null) { var resultDocument = xsltProcessor.transformToFragment(xmlDoc, document); $("#DisplayArea").html($(resultDocument).find('#DisplayArea').html()); $("#TopRight").html('<p class="bug">Contents displayed is: ' + fileName + '</p>'); @@ -108,10 +108,10 @@ function displayResult(file, moduleName, language, system) { var xsl = this.responseXML; // load the actual XHP file - if (this.status == 200 && xsl != null) { + if (xsl != null) { loadXMLDoc(file, function(){ var xml = this.responseXML; - if (this.status == 200 && xml != null) { + if (xml != null) { displayXML(xml, xsl, getUrlVars(file), moduleName, language, system); } else { commit 805e50ccdd54fc1604316e8335d1b4c21ed39a9a Author: Jan Holesovsky <[email protected]> Date: Thu Dec 22 19:03:52 2016 +0100 help.js: Use the async XMLHttpRequest. diff --git a/source/help.js b/source/help.js index 5d7d5f7..b97721e 100644 --- a/source/help.js +++ b/source/help.js @@ -7,7 +7,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -function loadXMLDoc(filename) +function loadXMLDoc(filename, handler) { if (window.ActiveXObject) { @@ -18,13 +18,13 @@ function loadXMLDoc(filename) xhttp = new XMLHttpRequest(); } - xhttp.open("GET", filename, false); + xhttp.open("GET", filename); + xhttp.onload = handler; try { xhttp.responseType = "msxml-document" } catch(err) {} // Helping IE11 - xhttp.send(""); - return xhttp.responseXML; + xhttp.send(); } function getParameterByName(name, url) { @@ -47,14 +47,10 @@ function getParameterByName(name, url) { return decodeURIComponent(results[2].replace(/\+/g, " ")); } -function displayResult(file, moduleName, language, system) -{ - var xml = loadXMLDoc(file); - var xsl = loadXMLDoc('online_transform.xsl'); +function displayXML(xml, xsl, urlVars, moduleName, language, system) { var xsltProcessor; var resultDocument; var bookmarkHTML; - var urlVars = getUrlVars(file); var module = urlVars["DbPAR"]; moduleName = moduleName || module; var language = urlVars["Language"]; @@ -80,12 +76,22 @@ function displayResult(file, moduleName, language, system) $(document).on('click', '#BottomLeft a, #DisplayArea a', function(e) { e.preventDefault(); $('#search-bar').val(''); - var xml = loadXMLDoc($(this).attr('href')); - var resultDocument = xsltProcessor.transformToFragment(xml, document); - $("#DisplayArea").html($(resultDocument).find('#DisplayArea').html()); - $("#TopRight").html('<p class="bug">Contents displayed is: '+$(this).attr('href')+'</p>'); - return false; + + var fileName = $(this).attr('href'); + + loadXMLDoc(fileName, function() { + var xmlDoc = this.responseXML; + if (this.status == 200 && xmlDoc != null) { + var resultDocument = xsltProcessor.transformToFragment(xmlDoc, document); + $("#DisplayArea").html($(resultDocument).find('#DisplayArea').html()); + $("#TopRight").html('<p class="bug">Contents displayed is: ' + fileName + '</p>'); + } + else { + console.log('Cannot load ' + fileName); + } }); + return false; + }); xsltProcessor.importStylesheet(xsl); resultDocument = xsltProcessor.transformToFragment(xml, document); @@ -96,6 +102,29 @@ function displayResult(file, moduleName, language, system) } } +function displayResult(file, moduleName, language, system) { + // load the XSLT + loadXMLDoc('online_transform.xsl', function() { + var xsl = this.responseXML; + + // load the actual XHP file + if (this.status == 200 && xsl != null) { + loadXMLDoc(file, function(){ + var xml = this.responseXML; + if (this.status == 200 && xml != null) { + displayXML(xml, xsl, getUrlVars(file), moduleName, language, system); + } + else { + console.log('Cannot load ' + file); + } + }); + } + else { + console.log('Cannot load online_transform.xsl'); + } + }); +} + var debouncer = null; $(document).ready(function() { $('#search-bar').keyup(function() { commit 76df8c42a30d1dd3a6bd015a28d36325d4798174 Author: Jan Holesovsky <[email protected]> Date: Thu Dec 22 18:29:20 2016 +0100 help.js: Remove a param that is always '1'. diff --git a/source/help.js b/source/help.js index 7cc7157..5d7d5f7 100644 --- a/source/help.js +++ b/source/help.js @@ -7,7 +7,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -function loadXMLDoc(filename, response) +function loadXMLDoc(filename) { if (window.ActiveXObject) { @@ -24,11 +24,7 @@ function loadXMLDoc(filename, response) } catch(err) {} // Helping IE11 xhttp.send(""); - if (response == 1) { - return xhttp.responseXML; - } - - return xhttp.responseText; + return xhttp.responseXML; } function getParameterByName(name, url) { @@ -53,8 +49,8 @@ function getParameterByName(name, url) { function displayResult(file, moduleName, language, system) { - var xml = loadXMLDoc(file, 1); - var xsl = loadXMLDoc('online_transform.xsl', 1); + var xml = loadXMLDoc(file); + var xsl = loadXMLDoc('online_transform.xsl'); var xsltProcessor; var resultDocument; var bookmarkHTML; @@ -84,7 +80,7 @@ function displayResult(file, moduleName, language, system) $(document).on('click', '#BottomLeft a, #DisplayArea a', function(e) { e.preventDefault(); $('#search-bar').val(''); - var xml = loadXMLDoc($(this).attr('href'), 1); + var xml = loadXMLDoc($(this).attr('href')); var resultDocument = xsltProcessor.transformToFragment(xml, document); $("#DisplayArea").html($(resultDocument).find('#DisplayArea').html()); $("#TopRight").html('<p class="bug">Contents displayed is: '+$(this).attr('href')+'</p>'); _______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
