diff options
author | Olivier Hallot <olivier.hallot@libreoffice.org> | 2018-04-16 19:16:05 -0300 |
---|---|---|
committer | Olivier Hallot <olivier.hallot@libreoffice.org> | 2018-04-17 04:38:13 +0200 |
commit | 22691f35eea6bf031fe271790d9b19093a12f8f4 (patch) | |
tree | 872f860becda12ce0cb8d83bc1502146937a7a81 /help3xsl/help2.js | |
parent | 7809c5f562f2adb28f36f3f5625e757f238a8d5f (diff) |
Fix index in sidebar
The last commit of online_transform.xsl instrpduced a bug in
index search on the left. This one fixes it.
Change-Id: I8055389a324d1fc5fde90ac2b76ff6f0a4a42493
Reviewed-on: https://gerrit.libreoffice.org/53011
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org>
Diffstat (limited to 'help3xsl/help2.js')
-rw-r--r-- | help3xsl/help2.js | 123 |
1 files changed, 123 insertions, 0 deletions
diff --git a/help3xsl/help2.js b/help3xsl/help2.js new file mode 100644 index 0000000000..0e7b9d3325 --- /dev/null +++ b/help3xsl/help2.js @@ -0,0 +1,123 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ +// Used to set Application in caseinline=APP +function setApplSpan(SpanID) { + var module = getParameterByName("DbPAR"); + if (module === null) { + module = "WRITER"; + } + var y = document.getElementById(SpanID).getElementsByTagName("SPAN"); + var n = y.length; + var foundSystem = false; + for (i = 0; i < n; i++) { + if (y[i].getAttribute("id") === null){ + continue; + } + else if( y[i].getAttribute("id").startsWith(module)){ + y[i].removeAttribute("hidden"); + foundSystem=true; + } + } + for (i = 0; i < n; i++) { + if (y[i].getAttribute("id") === null){ + continue; + } + else if( y[i].getAttribute("id").startsWith("default")){ + if(!foundSystem){ + y[i].removeAttribute("hidden"); + } + } + } +} +// Used to set system in case, caseinline=SYSTEM +function setSystemSpan(spanID) { + var system = getParameterByName("System"); + // if no System in URL, get browser system + if (system === null) { + system = getSystem(); + } + var y = document.getElementById(spanID).getElementsByTagName("SPAN"); + var n = y.length; + var foundSystem = false; + for (i = 0; i < n; i++) { + if (y[i].getAttribute("id") === null){ + continue; + } + else if( y[i].getAttribute("id").startsWith(system)){ + y[i].removeAttribute("hidden"); + foundSystem=true; + } + } + for (i = 0; i < n; i++) { + if (y[i].getAttribute("id") === null){ + continue; + } + else if( y[i].getAttribute("id").startsWith("default")){ + if(!foundSystem){ + y[i].removeAttribute("hidden"); + } + } + } +} +/* add &DbPAR= and &System= to the links in DisplayArea div */ +/* skip for object files */ +function fixURL(module, system) { + var itemlink = document.getElementById("DisplayArea").getElementsByTagName("a"); + var pSystem = (system === null) ? getSystem() : system; + var pAppl = (module === null) ? "WRITER" : module; + var n = itemlink.length; + for (var i = 0; i < n; i++) { + if (itemlink[i].getAttribute("class") != "objectfiles"){ + setURLParam(itemlink[i], pSystem, pAppl); + }; + } +} +//Set the params inside URL +function setURLParam(itemlink, pSystem, pAppl) { + var href = itemlink.getAttribute("href"); + if (href !== null) { + // skip external links + if (!href.startsWith("http")) { + // handle bookmark. + if (href.lastIndexOf('#') != -1) { + var postf = href.substring(href.lastIndexOf('#'), href.length); + var pref = href.substring(0, href.lastIndexOf('#')); + itemlink.setAttribute("href", pref + "?" + '&DbPAR=' + pAppl + '&System=' + pSystem + postf); + } else { + itemlink.setAttribute("href", href + "?" + '&DbPAR=' + pAppl + '&System=' + pSystem); + } + } + } +} + +function getSystem() { + var system = "Unknown OS"; + if (navigator.appVersion.indexOf("Win") != -1) system = "WIN"; + if (navigator.appVersion.indexOf("Mac") != -1) system = "MAC"; + if (navigator.appVersion.indexOf("X11") != -1) system = "UNIX"; + if (navigator.appVersion.indexOf("Linux") != -1) system = "UNIX"; + return system; +} + +function getParameterByName(name, url) { + if (!url) { + url = window.location.href; + } + name = name.replace(/[\[\]]/g, "\\$&"); + var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"); + var results = regex.exec(url); + if (!results) { + return null; + } + if (!results[2]) { + return ''; + } + return decodeURIComponent(results[2].replace(/\+/g, " ")); +} +/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */ |