From b4878c8abe9bbe09772e8167e274d024cb96728c Mon Sep 17 00:00:00 2001 From: rudolfkoenig <> Date: Sun, 27 May 2018 11:07:33 +0000 Subject: [PATCH] fhemdoc_modular.js: fix it vor usage within FHEM (Forum #87975) git-svn-id: https://svn.fhem.de/fhem/trunk@16786 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/www/pgm2/fhemdoc_modular.js | 6 +- fhem/www/pgm2/fhemdoc_static.js | 235 ------------------------------- 2 files changed, 3 insertions(+), 238 deletions(-) delete mode 100644 fhem/www/pgm2/fhemdoc_static.js diff --git a/fhem/www/pgm2/fhemdoc_modular.js b/fhem/www/pgm2/fhemdoc_modular.js index 818abd2aa..a61fbbeee 100644 --- a/fhem/www/pgm2/fhemdoc_modular.js +++ b/fhem/www/pgm2/fhemdoc_modular.js @@ -10,10 +10,10 @@ var fd_otherSrc = { "usb":"autocreate", "createlog":"autocreate" }; function fd_status(txt) { + var errmsg = $("#errmsg"); if(!$(errmsg).length) { - $('#menu').append(''); + $('#menu').append(''); errmsg = $("#errmsg"); } if(txt == "") @@ -94,7 +94,7 @@ loadOneDoc(mname, lang) if(fd_loadedHash[mname] && fd_loadedHash[mname] == lang) return done(false, false); - fd_fC(fd_mode=="FHEM" ? "help "+mname+" "+langC : + fd_fC(fd_mode=="FHEM" ? "help "+mname+" "+lang : "/cref"+(lang=="EN" ? "":"_"+lang)+"/"+mname+".cref", function(ret){ if(ret.indexOf("") != 0 || ret.indexOf("No help found") == 0) diff --git a/fhem/www/pgm2/fhemdoc_static.js b/fhem/www/pgm2/fhemdoc_static.js deleted file mode 100644 index e59498a0b..000000000 --- a/fhem/www/pgm2/fhemdoc_static.js +++ /dev/null @@ -1,235 +0,0 @@ -"use strict"; -// $Id$ - -var fd_loadedHash={}, fd_loadedList=[], fd_all={}, fd_allCnt, fd_progress=0, - fd_lang, fd_offsets=[], fd_scrolled=0, fd_modLinks={}, csrfToken="X"; - - -function -fd_status(txt) -{ - var errmsg = $("#errmsg"); - if(!$(errmsg).length) { - $('#menuScrollArea').append('
'); - errmsg = $("#errmsg"); - } - if(txt == "") - $(errmsg).remove(); - else - $(errmsg).html(txt); -} - -function -fd_fC(fn, callback) -{ - console.log("fd_fC:"+fn); - var p = location.pathname; - var cmd = p.substr(0,p.indexOf('/doc'))+'?cmd='+fn+csrfToken+'&XHR=1'; - $.ajax({ - url:cmd, method:'POST', cache:false, success:callback, - error:function(xhr, status, err) { - if(xhr.status == 400 && csrfToken) { - csrfToken = ""; - fd_csrfRefresh(function(){fd_fC(fn, callback)}); - } else { - console.log("FAIL ERR:"+xhr.status+" STAT:"+status); - } - } - }); -} - -function -loadOneDoc(mname, lang) -{ - var origLink = mname; - - function - done(err, calc) - { - if(fd_progress) { - fd_status(fd_progress+" / "+fd_allCnt); - if(++fd_progress > fd_allCnt) { - fd_progress = 0; - setTimeout(calcOffsets,100); // Firefox returns wrong offsets - fd_status(""); - } - } else { - if(calc) - setTimeout(calcOffsets,100); - if(!err) - setTimeout(function(){location.href = "#"+origLink;}, 100); - } - } - - if(fd_modLinks[mname]) - mname = fd_modLinks[mname]; - if(fd_loadedHash[mname] && fd_loadedHash[mname] == lang) - return done(false, false); - - fd_fC("help "+mname+" "+lang, function(ret){ - //console.log(mname+" "+lang+" => "+ret.length); - if(ret.indexOf("") != 0 || ret.indexOf("No help found") == 0) - return done(true, false); - ret = ret.replace(/<\/?html>/g,''); - ret = ret.replace(/Keine deutsche Hilfe gefunden!/,''); - ret = '
'+ret+'
'; - ret = ret.replace(/target="_blank"/g, ''); // revert help URL rewrite - ret = ret.replace(/href=".*?commandref.*?.html#/g, 'href="#'); - - if(fd_loadedHash[mname]) - $("div#FD_"+mname).remove(); - - if(!fd_loadedHash[mname]) - fd_loadedList.push(mname); - fd_loadedHash[mname] = lang; - fd_loadedList.sort(); - var idx=0; - while(fd_loadedList[idx] != mname) - idx++; - var toIns = "perl"; - if(idx < fd_loadedList.length-1) - toIns = fd_loadedList[idx+1]; - console.log("insert "+mname+" before "+toIns); - $(ret).insertBefore("a[name="+toIns+"]"); - addAHooks("div#FD_"+mname); - return done(false, true); - }); -} - -function -addAHooks(el) -{ - $(el).find("a[href]").each(function(){ - var href = $(this).attr("href"); - if(!href || href.indexOf("#") != 0) - return; - href = href.substr(1); - if(fd_modLinks[href] && !fd_loadedHash[href]) { - $(this).click(function(){ - $("a[href=#"+href+"]").unbind('click'); - loadOneDoc(href, fd_lang); - }); - } - }); -} - -function -calcOffsets() -{ - fd_offsets=[]; - for(var i1=0; i1= viewTop && viewBottom > fd_offsets[idx]+30) - break; - idx++; - } - - if(idx >= fd_offsets.length) { - $("a#otherLang").hide(); - - } else { - var mname = fd_loadedList[idx]; - var l1 = fd_loadedHash[mname], l2 = (l1=="EN" ? "DE" : "EN"); - $("a#otherLang span.mod").html(mname); - $("a#otherLang span[lang="+l1+"]").hide(); - $("a#otherLang span[lang="+l2+"]").show(); - $("a#otherLang").show(); - } -} - -function -loadOtherLang() -{ - var mname = $("a#otherLang span.mod").html(); - loadOneDoc(mname, fd_loadedHash[mname]=="EN" ? "DE" : "EN"); -} - -function -fd_csrfRefresh(callback) -{ - console.log("fd_csrfRefresh"); - $.ajax({ - url:location.pathname.replace(/docs.*/,'')+"?XHR=1", - success: function(data, textStatus, request){ - csrfToken = request.getResponseHeader('x-fhem-csrftoken'); - csrfToken = csrfToken ? ("&fwcsrf="+csrfToken) : ""; - if(callback) - callback(); - } - }); -} - -$(document).ready(function(){ - var p = location.pathname; - fd_lang = p.substring(p.indexOf("commandref")+11,p.indexOf(".html")); - if(!fd_lang || fd_lang == '.') - fd_lang = "EN"; - - $("div#modLinks").each(function(){ - var a1 = $(this).html().split(" "); - for(var i1=0; i1