summaryrefslogtreecommitdiff
path: root/help3xsl/help.js
diff options
context:
space:
mode:
authorOlivier Hallot <olivier.hallot@libreoffice.org>2017-06-20 00:04:54 -0300
committerOlivier Hallot <olivier.hallot@edx.srv.br>2017-06-25 01:55:11 +0200
commit181b72469b27cc2f711525838463e98a0920161c (patch)
tree671e2cc4f601c6237fb00a95944a0b062ac5b2b2 /help3xsl/help.js
parentbd033eb897b7c43f1f6e8c35cc50d4a73ace84af (diff)
Help-in-browser: several improvements
* tabs for Contents/Index/Search * product version (6.0, 5.3, 5.2, etc...) * capable to receive URL from LibreOffice help call (need to change help url in sfx2/: protocol://<host>/index.html?<params> Change-Id: I2244336ea47cdb923884ae97b9f4a586d85ec706 Reviewed-on: https://gerrit.libreoffice.org/39227 Reviewed-by: Olivier Hallot <olivier.hallot@edx.srv.br> Tested-by: Olivier Hallot <olivier.hallot@edx.srv.br>
Diffstat (limited to 'help3xsl/help.js')
-rw-r--r--help3xsl/help.js110
1 files changed, 110 insertions, 0 deletions
diff --git a/help3xsl/help.js b/help3xsl/help.js
new file mode 100644
index 0000000000..982f4bc8e1
--- /dev/null
+++ b/help3xsl/help.js
@@ -0,0 +1,110 @@
+/* -*- 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 Apllication in caseinlie=APP
+function setModule(module){
+ if (module == null){module="SHARED"}
+ document.getElementById("bookmark"+module).hidden=false;
+ var itemspan = document.getElementsByTagName("span");
+ var n = itemspan.length;
+ for (var i = 0; i < n; i++){
+ if (itemspan[i].getAttribute("value") == module){
+ itemspan[i].removeAttribute("hidden");
+ }
+ }
+}
+
+// Used to set system in caseinline=SYSTEM
+function setSystem(system){
+ var itemspan = document.getElementsByTagName("span");
+ if (system == null){system="WIN"}
+ var n = itemspan.length;
+ for (var i = 0; i < n; i++){
+ if (itemspan[i].getAttribute("value") == system){
+ itemspan[i].removeAttribute("hidden");
+ }
+ }
+}
+/* add &DbPAR= and &System= to the links in DisplayArea div */
+function fixURL(module, system){
+ var itemlink = document.getElementById("DisplayArea").getElementsByTagName("a");
+ var pSystem = (system == null) ? "WIN" : system;
+ var pAppl = (module == null) ? "SHARED" : module;
+ var n = itemlink.length;
+ var item;
+ for (var i = 0; i<n; i++) {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);
+ }
+ }
+ }
+}
+// Set System change buttons
+function setSystemURLButton (module) {
+ if (module == null){module="SHARED"}
+ var button = document.getElementById("lin").getElementsByTagName("a");
+ setURLParam(button[0],'UNIX', module);
+ button = document.getElementById("win").getElementsByTagName("a");
+ setURLParam(button[0],'WIN', module);
+ button = document.getElementById("mac").getElementsByTagName("a");
+ setURLParam(button[0],'MAC', module);
+}
+
+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, " "));
+}
+
+var debouncer = null;
+$(document).ready(function() {
+ $('#search-bar').keyup(function() {
+ if (debouncer) {
+ clearTimeout(debouncer);
+ }
+ debouncer = setTimeout(function(){
+ if ($('#search-bar').val()) {
+ $("#BottomLeft ul a:not(:contains('" + $('#search-bar').val() + "'))" ).parent().hide();
+ $("#BottomLeft ul a:contains('" + $('#search-bar').val() + "')" ).parent().show();
+ }
+ else {
+ $("#BottomLeft ul li" ).show();
+ }
+ }, 200);
+ });
+});
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */